KeSuspendClockTimerSafe

VOID __stdcall KeSuspendClockTimerSafe(){
  unsigned __int8 CurrentIrql; 
  struct _KPRCB *v1; 
  int v2; 
  struct _KPRCB *CurrentPrcb; 
  int v4; 

  if( ObGetCurrentIrql() >= 0xDu )
  {
    CurrentPrcb = KeGetCurrentPrcb();
    v4 = KiClockTimerOwner;
    if( (CurrentPrcb->PendingTickFlags & 1) != 0 )
    {
      off_140C00888[0]();
      CurrentPrcb->PendingTickFlags &= ~1u;
    }
    if( CurrentPrcb->Number == v4 )
      ++dword_140C31348;
    if( CurrentPrcb->ClockOwner )
      CurrentPrcb->ClockOwner = 0;
  }
  else
  {
    CurrentIrql = KeGetCurrentIrql();
    __writecr8(0xDui64);
    v1 = KeGetCurrentPrcb();
    v2 = KiClockTimerOwner;
    if( (v1->PendingTickFlags & 1) != 0 )
    {
      off_140C00888[0]();
      v1->PendingTickFlags &= ~1u;
    }
    if( v1->Number == v2 )
      ++dword_140C31348;
    if( v1->ClockOwner )
      v1->ClockOwner = 0;
    __writecr8(CurrentIrql);
  }
}

Referenced by:

IopLiveDumpProcessCorralStateChange
PnprQuiesceProcessorDpc
PnprQuiesceProcessors