HalpHvTimerArm
INT64 __fastcall HalpHvTimerArm(INT64 a1, INT64 a2, UINT64 a3){
INT64 Counter;
int v5;
_BOOL8 v7;
unsigned __int64 v8;
v5 = a2;
if( (_DWORD)a2 == 3 )
{
Counter = HalpHvCounterQueryCounter();
a3 += Counter;
}
LODWORD(Counter) = *((_DWORD *)KeGetPcr() + 105);
v7 = v5 == 2;
if( v7 != ((*(_QWORD *)(a1 + 24 * Counter) >> 1) & 1i64) )
{
v8 = *(_QWORD *)(a1 + 24 * Counter) & 0xFFFFFFFFFFFFFFFCui64 | (2 * v7);
*(_QWORD *)(a1 + 24 * Counter) = v8;
__writemsr(0x400000B0u, v8);
}
__writemsr(0x400000B1u, a3);
return 0i64;
}Referenced by:
No references.