VOID __fastcall ExReleasePushLockSharedEx(INT64 *P2, UINT64 P1){
char v3;
v3 = P1;
if( (P1 & 0xFFFFFFFC) != 0 )
KeBugCheckEx(0x152u, (unsigned int)P1, (ULONG_PTR)P2, 0i64, 0i64);
if( _InterlockedCompareExchange64(P2, 0i64, 17i64) != 17 )
ExfReleasePushLockShared(P2);
if( (v3 & 2) == 0 )
KeAbPostRelease(P2);
}