KiComputeNewSystemTime
UINT64 __stdcall KiComputeNewSystemTime(UINT64 QpcTimeStamp){
unsigned __int128 v1;
UINT64 v2;
*((_QWORD *)&v1 + 1) = 0i64;
if( QpcTimeStamp > KUSER_SHARED_DATA.BaselineSystemTimeQpc )
{
v2 = QpcTimeStamp - KUSER_SHARED_DATA.BaselineSystemTimeQpc;
if( KUSER_SHARED_DATA.QpcSystemTimeIncrementShift )
v2 <<= KUSER_SHARED_DATA.QpcSystemTimeIncrementShift;
v1 = v2 * (unsigned __int128)KUSER_SHARED_DATA.QpcSystemTimeIncrement;
qword_140C50468 += v1;
if( qword_140C50468 < (unsigned __int64)v1 )
++*((_QWORD *)&v1 + 1);
}
return *((_QWORD *)&v1 + 1) + *(_QWORD *)&KUSER_SHARED_DATA.SystemTime.LowPart;
}Referenced by:
KiUpdateSystemTime
KiUpdateTimeAssist