RtlpHpLfhBucketUpdateStats
BOOL __fastcall RtlpHpLfhBucketUpdateStats(INT64 a1, INT64 a2, INT64 a3){
unsigned __int64 v3;
int v4;
__int64 v6;
unsigned __int64 v7;
unsigned __int64 v8;
v3 = (unsigned __int64)(unsigned int)(a2 + 15) >> 4;
v4 = a3;
v6 = *((unsigned __int8 *)RtlpLfhBucketIndexMap + v3);
if( (*(_QWORD *)(a1 + 8 * v6 + 128) & 1) != 0 )
{
v7 = RtlpLfhBucketUsageUpdate(a1, *((unsigned __int8 *)RtlpLfhBucketIndexMap + v3), a3);
if( v4 )
{
v8 = v7 >> 16;
if( (v8 & 0x1F) > 0x10 || (unsigned __int16)v8 > 0xFF00u )
RtlpHpLfhBucketActivate(a1, (unsigned int)v6);
}
}
return(*(_QWORD *)(a1 + 8 * v6 + 128) & 1) == 0;
}Referenced by:
ExAllocateHeapPool
ExFreeHeapPool
RtlpHpLfhContextAllocate
RtlpHpSegFree