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