VrpUnlockJobContextExclusive
VOID __fastcall VrpUnlockJobContextExclusive(INT64 a1){
void *v1;
char v2;
v1 = (void *)(a1 + 16);
v2 = _InterlockedExchangeAdd64((volatile signed __int64 *)(a1 + 16), 0xFFFFFFFFFFFFFFFFui64);
if( (v2 & 2) != 0 && (v2 & 4) == 0 )
ExfTryToWakePushLock((volatile INT64 *)(a1 + 16));
KeAbPostRelease(v1);
KeLeaveCriticalRegionThread((__int64)KeGetCurrentThread());
}Referenced by:
VrpHandleIoctlCreateMultipleNamespaceNodes
VrpHandleIoctlCreateNamespaceNode
VrpHandleIoctlInitializeJobForVreg
VrpHandleIoctlLoadDifferencingHive
VrpHandleIoctlUnloadDynamicallyLoadedHives