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