HalpSetVirtualRtc

INT64 __fastcall HalpSetVirtualRtc(LARGE_INTEGER *CurrentTime){
  LARGE_INTEGER v1; 
  INT64 result; 
  LARGE_INTEGER v4; 
  __int128 v5; 
  LARGE_INTEGER v6; 
  result = (unsigned int)SystemPowerPhase;
  v5 = 0i64;
  if( SystemPowerPhase == 2 )
    goto LABEL_9;
  if( CurrentTime )
  {
    v4 = *CurrentTime;
    v6 = *CurrentTime;
  }
  else
  {
    if( SystemPowerPhase )
    {
LABEL_9:
      LOBYTE(result) = 0;
      return result;
    }
    v4.QuadPart = RtlGetSystemTimePrecise();
    v6 = v4;
  }
  RtlpTimeToTimeFields(&v6, &v5, v1);
  result = 1601i64;
  if( (__int16)v5 <= 1601 )
    goto LABEL_9;
  result = KeQueryPerformanceCounter(0i64).QuadPart;
  dword_140C4A3A0 = HIDWORD(result);
  qword_140C4A398 = result;
  dword_140C4A394 = v6.HighPart;
  qword_140C4A38C = v4.QuadPart;
  dword_140C4A388 = HIDWORD(result);
  VrtcTime = result;
  if( CurrentTime )
    HalpVrtcTimeStale = 0;
  LOBYTE(result) = 1;
  return result;
}

Referenced by:

HalCalibratePerformanceCounter
HalQueryRealTimeClock
HalSetRealTimeClock
HalpSetResumeTime