RtlpHpLfhBucketInitialize
INT64 __fastcall RtlpHpLfhBucketInitialize(INT64 a1, CHAR a2){
__int64 v2;
__int64 v3;
__int64 v4;
__int64 v5;
__int64 v6;
__int64 v7;
unsigned int v8;
INT64 result;
RtlpHpLfhOwnerInitialize(a1, a2, 0xFFFFFFFFi64);
if( *(_BYTE *)(v3 + 57) == (_BYTE)v5 )
*(_QWORD *)(v2 + 80) = v5;
else
*(_QWORD *)(v2 + 80) = 0i64;
v6 = (unsigned __int16)RtlpBucketBlockSizes[*(unsigned __int8 *)(v2 + 1)];
if( (((_DWORD)v6 - 1) & (unsigned int)v6) != 0 )
{
v7 = (unsigned __int16)RtlpBucketBlockSizes[*(unsigned __int8 *)(v2 + 1)];
_BitScanForward(&v8, *(unsigned __int16 *)(v3 + 60));
LOBYTE(v8) = v8 + 18;
*(_BYTE *)(v4 + 76) = v8;
result = (v6 - 1 + (1i64 << v8)) / v7;
*(_DWORD *)(v4 + 72) = result;
}
else
{
_BitScanForward((unsigned int *)&result, v6);
*(_BYTE *)(v4 + 76) = result;
}
return result;
}Referenced by:
RtlpHpLfhBucketActivate