HalpMmAllocCtxMarkHiberPhase

VOID __stdcall HalpMmAllocCtxMarkHiberPhase(_HALP_ALLOC_CONTEXT *Context){
  _RTL_BITMAP *i; 
  unsigned __int64 SizeOfBitMap; 
  unsigned int v3; 
  char *j; 
  __int64 v5; 
  UINT64 Tag; 

  for( i = (_RTL_BITMAP *)qword_140C4B780; i != (_RTL_BITMAP *)&qword_140C4B780; i = *(_RTL_BITMAP **)&i->SizeOfBitMap )
  {
    SizeOfBitMap = i[2].SizeOfBitMap;
    v3 = 0;
    for( j = *(char **)&i[1].SizeOfBitMap; SizeOfBitMap; SizeOfBitMap -= v5 )
    {
      v5 = SizeOfBitMap;
      if( SizeOfBitMap > 0x100 )
        v5 = 256i64;
      if( !RtlAreBitsClear(i + 2, v3, (unsigned int)v5) )
      {
        LODWORD(Tag) = 1953259880;
        PoSetHiberRange(0i64, 0x10000ui64, j, 16 * v5, Tag);
      }
      v3 += v5;
      j += 16 * v5;
    }
  }
}

Referenced by:

HaliLocateHiberRanges