HvIsRangeDirty
BOOL __stdcall HvIsRangeDirty(INT64 a1, INT64 a2, UINT64 a3){
unsigned int v3;
unsigned int v4;
_EX_PUSH_LOCK *v6;
UINT8 v7;
v3 = a3;
v4 = a2;
if( (*(_DWORD *)(a1 + 160) & 1) != 0 || (int)a2 < 0 )
return 1;
v6 = (_EX_PUSH_LOCK *)(a1 + 80);
ExAcquirePushLockExclusiveEx((_EX_PUSH_LOCK *)(a1 + 80), 0i64);
v7 = RtlAreBitsClear((_RTL_BITMAP *)(a1 + 88), v4 >> 9, v3);
if( (_InterlockedExchangeAdd64(&v6->_bf_0, 0xFFFFFFFFFFFFFFFFui64) & 6) == 2 )
ExfTryToWakePushLock(v6);
KeAbPostRelease(v6);
return v7 == 0;
}Referenced by:
HvpRemapAndEnlistHiveBins