KeAcquireGuardedMutex

VOID __stdcall KeAcquireGuardedMutex(FAST_MUTEX *Mutex){
  _BYTE *v2; 
  _BYTE *v3; 
  unsigned __int8 CurrentIrql; 
  LODWORD(v2) = KeAbPreAcquire(Mutex, 0i64, 0i64);
  v3 = v2;
  CurrentIrql = KeGetCurrentIrql();
  __writecr8(1ui64);
  if( !_interlockedbittestandreset(&Mutex->Count, 0) )
    ExpAcquireFastMutexContended(Mutex, v2);
  if( v3 )
    v3[26] |= 1u;
  Mutex->Owner = KeGetCurrentThread();
  Mutex->OldIrql = CurrentIrql;
}

Referenced by:

IoRegisterPlugPlayNotification
PiUEventHandleVetoEvent
PnpDeviceEventWorker
PnpNotifyTargetDeviceChange
PnpProcessAssignResources
PopGracefulShutdown
PopRequestShutdownWait