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