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