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