HalpVpptStop
VOID __stdcall HalpVpptStop(PVOID TimerData){
void *v2;
void *v3;
PVOID *v4;
PVOID *v5;
bool v6;
__int64 v7;
__int64 v8;
unsigned __int64 v9;
byte_140C4A478 = HalpAcquireHighLevelLock(&qword_140C4A470);
if( *((_BYTE *)TimerData + 24) )
{
v4 = *(PVOID **)TimerData;
v5 = (PVOID *)*((_QWORD *)TimerData + 1);
v6 = HalpVpptQueue == (_QWORD)TimerData;
if( *(PVOID *)(*(_QWORD *)TimerData + 8i64) != TimerData || *v5 != TimerData )
__fastfail(3u);
*v5 = v4;
v4[1] = v5;
if( v5 == v4 )
{
HalpTimerGetInternalData((KDPC *)HalpVpptPhysicalTimer, (PVOID)HalpVpptPhysicalTimer, v2, v3);
(*(void(__fastcall **)(__int64))(v7 + 136))(v8);
}
else if( v6 )
{
HalpVpptUpdatePhysicalTimer();
}
}
*((_DWORD *)TimerData + 5) = 0;
*((_BYTE *)TimerData + 24) = 0;
v9 = (unsigned __int8)byte_140C4A478;
KxReleaseSpinLock(&qword_140C4A470);
__writecr8(v9);
}Referenced by:
No references.