FsRtlPrivateRemoveLock
__int64 __fastcall FsRtlPrivateRemoveLock(__int64 a1, __int64 a2, char a3){
int v3;
_RTL_SPLAY_LINKS **v4;
RTL_SPLAY_LINKS *v5;
bool v7;
RTL_SPLAY_LINKS *v8;
INT64 v10;
v3 = *(_DWORD *)(a2 + 20);
v4 = (_RTL_SPLAY_LINKS **)(a2 + 8);
v5 = *(RTL_SPLAY_LINKS **)(a2 + 32);
v7 = *(_BYTE *)(a2 + 16) == 0;
v8 = *(RTL_SPLAY_LINKS **)(a2 + 24);
LODWORD(v10) = v3;
if( v7 )
return FsRtlFastUnlockSingleShared(a1, (__int64)v8, (unsigned __int64 *)a2, v4, v5, v3, 0i64, 1, a3);
else
return FsRtlFastUnlockSingleExclusive(a1, v8, (LARGE_INTEGER *)a2, v4, v5, v10, 0i64, 1, a3);
}Referenced by:
FsRtlPrivateCheckWaitingLocks
FsRtlPrivateLock