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