RtlpLfhIncrementDataSlot
INT64 __stdcall RtlpLfhIncrementDataSlot(){
_ETHREAD *CurrentThread;
unsigned __int16 v1;
__int16 v2;
__int16 v3;
CurrentThread = (_ETHREAD *)KeGetCurrentThread();
v1 = (unsigned __int8)*((_WORD *)CurrentThread + 787);
if( v1 == HIBYTE(*((_WORD *)CurrentThread + 787)) )
{
v2 = ExGenRandom(1i64);
v3 = (v2 << 8) | (unsigned __int8)(v2 + 1);
}
else
{
v3 = (unsigned __int8)(*((_WORD *)CurrentThread + 787) ^ (v1 + 1)) ^ *((_WORD *)CurrentThread + 787);
}
*((_WORD *)CurrentThread + 787) = v3;
return v1;
}Referenced by:
RtlpHpLfhSlotAllocate