MiHotAddBootDeferredDescriptors

VOID __stdcall MiHotAddBootDeferredDescriptors(){
  __int64 v0; 
  __int64 v1; 
  void *v2; 
  __int64 v3; 
  LARGE_INTEGER v4; 
  LARGE_INTEGER StartAddress; 
  while( 1 )
  {
    v0 = MxDeferredBootFreeDescriptorHead;
    if( (__int64 *)MxDeferredBootFreeDescriptorHead == &MxDeferredBootFreeDescriptorHead )
      break;
    if( *(__int64 **)(MxDeferredBootFreeDescriptorHead + 8) != &MxDeferredBootFreeDescriptorHead
      || (v1 = *(_QWORD *)MxDeferredBootFreeDescriptorHead,
          *(_QWORD *)(*(_QWORD *)MxDeferredBootFreeDescriptorHead + 8i64) != MxDeferredBootFreeDescriptorHead) )
    {
      __fastfail(3u);
    }
    MxDeferredBootFreeDescriptorHead = *(_QWORD *)MxDeferredBootFreeDescriptorHead;
    *(_QWORD *)(v1 + 8) = &MxDeferredBootFreeDescriptorHead;
    v2 = *(void **)(v0 + 24);
    v3 = *(_QWORD *)(v0 + 32);
    MiSearchNumaNodeTable(v2);
    StartAddress.QuadPart = (_QWORD)v2 << 12;
    v4.QuadPart = v3 << 12;
    MiAddPhysicalMemoryChunks((_MI_PARTITION *)&MiSystemPartition, &StartAddress, &v4);
  }
  MiFlags |= 0x10000000u;
}

Referenced by:

MiInitSystem