HalpConsumeLowMemory

VOID __fastcall HalpConsumeLowMemory(INT64 a1){
  INT64 v1; 
  __int64 v2; 
  unsigned __int64 v3; 
  __int64 v4; 
  unsigned __int64 v5; 
  unsigned __int64 v6; 
  __int64 *v7; 
  __int64 **v8; 
  v1 = a1 + 32;
  v2 = *(_QWORD *)(a1 + 32);
  if( v2 != a1 + 32 )
  {
    do
    {
      v3 = *(int *)(v2 + 16);
      if( (unsigned int)v3 > 0x23 || (v4 = 0xBC4400048i64, !_bittest64(&v4, v3)) )
      {
        v5 = *(_QWORD *)(v2 + 24);
        if( v5 < 0x100 )
        {
          v6 = v5 + *(_QWORD *)(v2 + 32);
          if( v6 > 0x100 )
          {
            v7 = &(*HalpAllocationDescriptorArray)[5 * (unsigned int)HalpUsedAllocDescriptors++];
            v7[3] = 256i64;
            v7[4] = v6 - 256;
            *((_DWORD *)v7 + 4) = *(_DWORD *)(v2 + 16);
            v8 = *(__int64 ***)(v2 + 8);
            if( *v8 != (__int64 *)v2 )
              __fastfail(3u);
            v7[1] = (__int64)v8;
            *v7 = v2;
            *v8 = v7;
            *(_QWORD *)(v2 + 8) = v7;
            *(_QWORD *)(v2 + 32) = 256i64 - *(_QWORD *)(v2 + 24);
          }
          *(_DWORD *)(v2 + 16) = 26;
        }
      }
      v2 = *(_QWORD *)v2;
    }
    while( v2 != v1 );
  }
}

Referenced by:

HalpMmInitSystem