VOID __stdcall ExReleasePushLockSharedEx(_EX_PUSH_LOCK *PushLock, UINT64 Flags){
char v3;
v3 = Flags;
if( (Flags & 0xFFFFFFFC) != 0 )
KeBugCheckEx(0x152u, (PVOID)(unsigned int)Flags, PushLock, 0i64, 0i64);
if( _InterlockedCompareExchange64(&PushLock->_bf_0, 0i64, 17i64) != 17 )
ExfReleasePushLockShared(PushLock);
if( (v3 & 2) == 0 )
KeAbPostRelease(PushLock);
}