VOID __stdcall VrpUnlockDiffHiveEntry(INT64 a1){
VOID *v1;
char v2;
v1 = (VOID *)(a1 + 24);
v2 = _InterlockedExchangeAdd64((volatile signed __int64 *)(a1 + 24), 0xFFFFFFFFFFFFFFFFui64);
if( (v2 & 2) != 0 && (v2 & 4) == 0 )
ExfTryToWakePushLock((_EX_PUSH_LOCK *)(a1 + 24));
KeAbPostRelease(v1);
KeLeaveCriticalRegionThread(KeGetCurrentThread());
}