MiLimitLoaderBlockHighMemory

VOID __stdcall MiLimitLoaderBlockHighMemory(_LOADER_PARAMETER_BLOCK *LoaderBlock, UINT64 HighestPhysicalPage){
  _LIST_ENTRY *p_MemoryDescriptorListHead; 
  _LIST_ENTRY *Flink; 
  unsigned __int64 v4; 
  __int64 v6; 
  _LIST_ENTRY *Blink; 
  unsigned __int64 Flink_low; 
  __int64 v9; 
  _LIST_ENTRY *v10; 
  _LIST_ENTRY *v11; 

  p_MemoryDescriptorListHead = &LoaderBlock->MemoryDescriptorListHead;
  Flink = LoaderBlock->MemoryDescriptorListHead.Flink;
  v4 = (unsigned __int64)KeFeatureBits & 0x2000000000i64;
  while( Flink != p_MemoryDescriptorListHead )
  {
    Flink_low = LODWORD(Flink[1].Flink);
    if( v4 )
      goto LABEL_7;
    if( (_DWORD)Flink_low != 38 )
    {
      if( (_DWORD)Flink_low == 39 )
      {
        Flink_low = 2i64;
        LODWORD(Flink[1].Flink) = 2;
      }
LABEL_7:
      if( (unsigned int)(Flink_low - 30) <= 2 || (_DWORD)Flink_low == 6 )
        goto LABEL_4;
      goto LABEL_9;
    }
    Flink_low = 24i64;
    LODWORD(Flink[1].Flink) = 24;
LABEL_9:
    if( (unsigned int)Flink_low > 0x28 || (v6 = 0x1C400C00008i64, !_bittest64(&v6, Flink_low)) )
    {
      Blink = Flink[1].Blink;
      if( (unsigned __int64)Blink + (unsigned __int64)Flink[2].Flink > HighestPhysicalPage )
      {
        if( (unsigned int)Flink_low > 0x23 || (v9 = 0xA01000134i64, !_bittest64(&v9, Flink_low)) )
          KeBugCheckEx(0x1Au, (PVOID)0x3030308, (PVOID)HighestPhysicalPage, Blink, Flink[2].Flink);
        if( (unsigned __int64)Blink < HighestPhysicalPage )
        {
          Flink[2].Flink = (_LIST_ENTRY *)(HighestPhysicalPage - (_QWORD)Blink);
        }
        else
        {
          v10 = Flink->Flink;
          if( Flink->Flink->Blink != Flink || (v11 = Flink->Blink, v11->Flink != Flink) )
            __fastfail(3u);
          v11->Flink = v10;
          v10->Blink = v11;
        }
      }
    }
LABEL_4:
    Flink = Flink->Flink;
  }
}

Referenced by:

MiMemoryLicense