WheapPfaReset
VOID __stdcall WheapPfaReset(){
_BYTE *v0;
_BYTE *v1;
_QWORD *v2;
_QWORD **v3;
_QWORD *v4;
_QWORD *v5;
v0 = KeAbPreAcquire((char *)&stru_140CF2E80 + 6400, 0i64, 0i64);
v1 = v0;
if( _interlockedbittestandset64((volatile signed __int32 *)&stru_140CF2E80 + 1600, 0i64) )
ExfAcquirePushLockExclusiveEx((_EX_PUSH_LOCK *)&stru_140CF2E80 + 800, v0, (char *)&stru_140CF2E80 + 6400);
if( v1 )
v1[26] |= 1u;
WheapApplyPolicyChanges();
v2 = (_QWORD *)*(&stru_140CF2E80 + 801);
while( v2 != (_QWORD *)((char *)&stru_140CF2E80 + 6408) )
{
v3 = (_QWORD **)*v2;
v4 = v2;
v2 = v3;
if( v3[1] != v4 || (v5 = (_QWORD *)v4[1], (_QWORD *)*v5 != v4) )
__fastfail(3u);
*v5 = v3;
v3[1] = v5;
ExFreePoolWithTag(v4, 0x61656857u);
}
if( (_InterlockedExchangeAdd64((_QWORD *)&stru_140CF2E80 + 800, 0xFFFFFFFFFFFFFFFFui64) & 6) == 2 )
ExfTryToWakePushLock((_EX_PUSH_LOCK *)&stru_140CF2E80 + 800);
KeAbPostRelease((char *)&stru_140CF2E80 + 6400);
}Referenced by:
WheapCommitPolicy