NtDelayExecution

NTSTATUS __stdcall NtDelayExecution(UINT8 Alertable, _LARGE_INTEGER *DelayInterval){
  char PreviousMode; 
  NTSTATUS result; 
  _LARGE_INTEGER Interval; 

  PreviousMode = KeGetCurrentThread()->PreviousMode;
  if( PreviousMode )
  {
    if( ((unsigned __int8)DelayInterval & 3) != 0 )
      ExRaiseDatatypeMisalignment();
    Interval = *DelayInterval;
  }
  else
  {
    Interval = *DelayInterval;
  }
  KeDelayExecutionThread(PreviousMode, Alertable, &Interval);
  return result;
}

Referenced by:

LdrpInitMuiCrits