HalpDmaInitDiscard
NTSTATUS __stdcall HalpDmaInitDiscard(_LOADER_PARAMETER_BLOCK *LoaderBlock){
__int64 **i;
unsigned __int64 v2;
__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 = (__int64 **)*((_QWORD *)LoaderBlock + 4); i != (__int64 **)((char *)LoaderBlock + 32); i = (__int64 **)*i )
{
v2 = *((int *)i + 4);
if( (unsigned int)v2 <= 0x25 )
{
v3 = 0x2BC0400048i64;
if( _bittest64(&v3, v2) )
continue;
}
if( (((__int64)i[4] + (__int64)i[3]) << 12) - 1 > (unsigned __int64)HalpMaximumPhysicalMemoryAddress )
HalpMaximumPhysicalMemoryAddress = (((__int64)i[4] + (_QWORD)i[3]) << 12) - 1;
}
HalpDmaInitMemory((INT64)LoaderBlock);
return 0;
}Referenced by:
HalpDmaInitSystem