ExpSetSystemTime

void __fastcall ExpSetSystemTime(char a1, char a2, int a3, union _LARGE_INTEGER a4, __int64 *a5){
  union _LARGE_INTEGER LocalTime; 
  struct _TIME_FIELDS TimeFields; 
  union _LARGE_INTEGER SystemTime; 
  SystemTime = a4;
  LocalTime.QuadPart = 0i64;
  TimeFields = 0i64;
  if( ExpRealTimeIsUniversal )
    LocalTime = a4;
  else
    ExSystemTimeToLocalTime(&SystemTime, &LocalTime);
  KeSetSystemTime(&SystemTime, (_LARGE_INTEGER *)a5, a2 != 0 ? 3 : 0);
  if( a1 )
  {
    ExpRefreshTimeZoneInformation();
    if( !ExpSystemIsInCmosMode )
    {
      if( ExpRealTimeIsUniversal )
        LocalTime = SystemTime;
      else
        ExSystemTimeToLocalTime(&SystemTime, &LocalTime);
      RtlTimeToTimeFields(&LocalTime, &TimeFields);
      HalSetRealTimeClock(&TimeFields);
    }
  }
  PoNotifySystemTimeSet(&SystemTime, (LARGE_INTEGER *)a5, (unsigned int)a3);
}

Referenced by:

ExUpdateSystemTimeFromCmos
NtSetSystemTime