ExEnterCriticalRegionAndAcquireFastMutexUnsafe
NTSTATUS __fastcall ExEnterCriticalRegionAndAcquireFastMutexUnsafe(INT64 a1){
_ETHREAD *CurrentThread;
_ETHREAD *v3;
_BYTE *v4;
_BYTE *v5;
CurrentThread = (_ETHREAD *)KeGetCurrentThread();
--CurrentThread->Tcb.KernelApcDisable;
v3 = (_ETHREAD *)KeGetCurrentThread();
v4 = KeAbPreAcquire((VOID *)a1, 0i64, 0i64);
v5 = v4;
if( !_interlockedbittestandreset((volatile signed __int32 *)a1, 0) )
ExpAcquireFastMutexContended((_FAST_MUTEX *)a1, v4);
if( v5 )
v5[26] |= 1u;
*(_QWORD *)(a1 + 8) = v3;
return(int)v4;
}Referenced by:
No references.