PpmPerfProcCapFloorSettingCallback
INT64 __stdcall PpmPerfProcCapFloorSettingCallback(
const _GUID *SettingGuid,
UINT64 *NewValue,
UINT64 ValueLength,
PVOID Context){
unsigned int v4;
int v5;
__int64 v7;
_BOOL8 v8;
unsigned int v9;
__int64 v10;
__int64 v11;
unsigned int v12;
int v14;
GUID v15;
v4 = SettingGuid->Data4[7];
v5 = ValueLength;
v15 = GUID_PROC_CAP_BASE;
v15.Data4[7] = v4;
v7 = *(_QWORD *)&GUID_PROC_CAP_BASE.Data1 - *(_QWORD *)&SettingGuid->Data1;
if( !v7 )
v7 = *(_QWORD *)v15.Data4 - *(_QWORD *)SettingGuid->Data4;
v8 = v7 == 0;
PpmAcquireLock(&PpmPerfPolicyLock);
if( v5 != 4 || !NewValue )
goto LABEL_13;
v9 = *(_DWORD *)NewValue;
if( v9 > 0x64 )
v9 = 100;
KeGetPrcb(v4);
if( v10 )
{
v11 = *(_QWORD *)(v10 + 33136);
if( v11 )
{
if( v8 )
*(_DWORD *)(v11 + 48) = v9;
else
*(_DWORD *)(v11 + 52) = v9;
}
v12 = 0;
}
else
{
LABEL_13:
v12 = -1073741811;
}
v14 = 14;
PpmReapplyPerfPolicy(&v14);
return v12;
}Referenced by:
No references.