FsRtlReleaseHeaderMutex
VOID __stdcall FsRtlReleaseHeaderMutex(_FSRTL_EOF_LOCK *EofLock, INT64 *EofGeneration){
__int64 v2;
unsigned __int64 v3;
unsigned __int32 v4;
if( EofGeneration )
_InterlockedIncrement((volatile signed __int32 *)EofGeneration);
v2 = *(_QWORD *)(*((_QWORD *)EofLock + 3) + 48i64);
v3 = *(unsigned __int8 *)(v2 + 48);
*(_QWORD *)(v2 + 8) = 0i64;
v4 = _InterlockedCompareExchange((volatile signed __int32 *)v2, 1, 0);
if( v4 )
ExpReleaseFastMutexContended((_FAST_MUTEX *)v2, v4);
__writecr8(v3);
KeAbPostRelease((VOID *)v2);
}Referenced by:
FsRtlReleaseEofLock