HalpBlkPoPerformPpmOperationForMsr
UINT64 __fastcall HalpBlkPoPerformPpmOperationForMsr(INT64 a1){
int v2;
__int64 v3;
unsigned __int64 v4;
unsigned int v5;
UINT64 result;
v2 = *(_DWORD *)(a1 + 12) - 1;
if( v2 )
{
if( v2 == 1 )
{
v3 = *(_QWORD *)(a1 + 24);
v4 = *(_QWORD *)(a1 + 32);
v5 = *(_DWORD *)(a1 + 20);
if( v3 )
v4 = __readmsr(v5) & v3 | ~v3 & v4;
result = v4;
__writemsr(v5, v4);
}
else
{
__debugbreak();
}
}
else
{
result = __readmsr(*(_DWORD *)(a1 + 20));
*(_QWORD *)(a1 + 24) = result;
}
return result;
}Referenced by:
HalpBlkPoPerformPpmOperation