HalpDmaInitDiscard
NTSTATUS __stdcall HalpDmaInitDiscard(_LOADER_PARAMETER_BLOCK *LoaderBlock){
_LIST_ENTRY *i;
unsigned __int64 Flink_low;
__int64 v3;
qword_140C00AD0 = (__int64)HaliGetDmaAdapter;
off_140C00908[0] = (__int64(__fastcall *)())HalpDmaLinkDeviceObjectByToken;
off_140C00910 = (__int64(__fastcall *)())HalpDmaCheckAdapterToken;
off_140C005F0[0] = (__int64(__fastcall *)())HalpAllocateMapRegisters;
off_140C00858[0] = (__int64(__fastcall *)())HalpDmaFreeCrashDumpRegisters;
for( i = LoaderBlock->MemoryDescriptorListHead.Flink; i != &LoaderBlock->MemoryDescriptorListHead; i = i->Flink )
{
Flink_low = SLODWORD(i[1].Flink);
if( (unsigned int)Flink_low <= 0x25 )
{
v3 = 0x2BC0400048i64;
if( _bittest64(&v3, Flink_low) )
continue;
}
if( ((__int64)((__int64)i[1].Blink + (unsigned __int64)i[2].Flink) << 12) - 1 > (unsigned __int64)qword_140C4BA18 )
qword_140C4BA18 = ((__int64)((__int64)i[1].Blink + (unsigned __int64)i[2].Flink) << 12) - 1;
}
HalpDmaInitMemory((INT64)LoaderBlock);
return 0;
}Referenced by:
HalpDmaInitSystem