HalpTimerCaptureCurrentAuxiliaryQpcPair
VOID __stdcall HalpTimerCaptureCurrentAuxiliaryQpcPair(UINT64 *CurrentQpcOut, UINT64 *CurrentAuxOut, UINT64 *ErrorOut){
UINT64 v3;
UINT64 QuadPart;
unsigned int v6;
UINT64 v7;
LARGE_INTEGER PerformanceCounter;
PVOID v10;
PVOID v11;
__int64 v12;
__int64 v13;
__int64 v14;
unsigned __int64 v15;
v3 = 0i64;
QuadPart = 0i64;
v6 = 0;
v7 = -1i64;
while( 1 )
{
PerformanceCounter = KeQueryPerformanceCounter(0i64);
HalpTimerGetInternalData((KDPC *)HalpAuxiliaryCounter, v10, HalpAuxiliaryCounter, v11);
v14 = (*(__int64(__fastcall **)(__int64))(v12 + 112))(v13);
v15 = *(_QWORD *)&KeQueryPerformanceCounter(0i64) - PerformanceCounter.QuadPart;
if( v15 <= HalpTimerClosestAuxiliaryQpcPair )
break;
if( v7 > v15 )
{
v3 = v14;
QuadPart = PerformanceCounter.QuadPart;
}
if( v7 <= v15 )
v15 = v7;
++v6;
v7 = v15;
if( v6 >= 0xA )
goto LABEL_10;
}
v7 = v15;
v3 = v14;
QuadPart = PerformanceCounter.QuadPart;
LABEL_10:
*CurrentQpcOut = QuadPart;
*CurrentAuxOut = v3;
*ErrorOut = v7;
}Referenced by:
HalpTimerConvertAuxiliaryCounterToPerformanceCounter
HalpTimerConvertPerformanceCounterToAuxiliaryCounter