NtShutdownSystem

NTSTATUS __stdcall NtShutdownSystem(_SHUTDOWN_ACTION Action){
  __int32 v1; 
  __int32 v2; 
  char PreviousMode; 
  POWER_ACTION v5; 

  if( Action == ShutdownNoReboot )
  {
    v5 = PowerActionShutdown;
    return NtSetSystemPowerState(v5, PowerSystemSleeping3, 0xC0000004ui64);
  }
  v1 = Action - 1;
  if( !v1 )
  {
    v5 = PowerActionShutdownReset;
    return NtSetSystemPowerState(v5, PowerSystemSleeping3, 0xC0000004ui64);
  }
  v2 = v1 - 1;
  if( !v2 )
  {
    v5 = PowerActionShutdownOff;
    return NtSetSystemPowerState(v5, PowerSystemSleeping3, 0xC0000004ui64);
  }
  if( v2 != 1 )
    return -1073741811;
  PreviousMode = KeGetCurrentThread()->PreviousMode;
  if( PreviousMode && !SeSinglePrivilegeCheck(*(_QWORD *)&SeShutdownPrivilege, PreviousMode) )
    return -1073741727;
  ExRebootSystemForRecovery(0);
  return -1073741823;
}

Referenced by:

No references.