HalpSetVirtualRtc
VOID __fastcall HalpSetVirtualRtc(_LARGE_INTEGER *CurrentTime){
_LARGE_INTEGER v1;
_LARGE_INTEGER v3;
LONGLONG QuadPart;
UINT64 PerformanceCounter;
__int128 v6;
_LARGE_INTEGER v7;
v6 = 0i64;
if( dword_140C49D0C != 2 )
{
if( CurrentTime )
{
QuadPart = CurrentTime->QuadPart;
v7 = *CurrentTime;
}
else
{
if( dword_140C49D0C )
return;
v3.anonymous_0.LowPart = RtlGetSystemTimePrecise();
QuadPart = v3.QuadPart;
v7 = v3;
}
RtlpTimeToTimeFields(&v7, &v6, v1);
if( (__int16)v6 > 1601 )
{
PerformanceCounter = KeQueryPerformanceCounter(0i64);
dword_140C4A3A0 = HIDWORD(PerformanceCounter);
qword_140C4A398 = PerformanceCounter;
dword_140C4A394 = v7.anonymous_0.HighPart;
qword_140C4A38C = QuadPart;
dword_140C4A388 = HIDWORD(PerformanceCounter);
qword_140C4A380 = PerformanceCounter;
if( CurrentTime )
byte_140C4A3A4 = 0;
}
}
}Referenced by:
HalCalibratePerformanceCounter
HalQueryRealTimeClock
HalSetRealTimeClock
HalpSetResumeTime