PpmInfoTraceProfileSettings
VOID __stdcall PpmInfoTraceProfileSettings(){
_POP_PPM_PROFILE *v0;
char i;
char *v2;
_PPM_ENGINE_SETTINGS *Settings;
_PPM_ENGINE_SETTINGS *v4;
__int64 v5;
unsigned int v6;
unsigned int v7;
__int64 v8;
UINT64 SettingValueSize;
_SYSTEM_POWER_CONDITION v10;
INT64 v11;
_GUID SettingGuid;
v0 = &PpmDefaultProfile;
SettingGuid = 0i64;
for( i = 0; ; i = v10 + 1 )
{
LOBYTE(v10) = i;
v2 = (char *)&unk_140CFAB58;
Settings = v0->Settings;
v11 = 53i64;
do
{
v4 = &v0->Settings[1];
v5 = 1i64 << v2[12];
v6 = 0;
v7 = ((v2[13] & 4) != 0) + 1;
v8 = 0i64;
SettingGuid = *(_GUID *)*((_QWORD *)v2 - 2);
do
{
if( (v5 & Settings->ExplicitSetting[v8].Value) != 0 )
{
LODWORD(SettingValueSize) = *((_DWORD *)v2 + 2);
PpmEventTraceProfileSetting(
v0->Id,
*((INT8 **)v2 - 3),
&SettingGuid,
v6,
(UINT8 *)Settings + v6 * (unsigned int)SettingValueSize + *(_QWORD *)v2,
SettingValueSize,
0,
1u,
v10,
v11);
}
if( (v5 & v4->ExplicitSetting[v8].Value) != 0 )
{
LODWORD(SettingValueSize) = *((_DWORD *)v2 + 2);
PpmEventTraceProfileSetting(
v0->Id,
*((INT8 **)v2 - 3),
&SettingGuid,
v6,
(UINT8 *)v4 + v6 * (unsigned int)SettingValueSize + *(_QWORD *)v2,
SettingValueSize,
1,
1u,
v10,
v11);
}
++SettingGuid.Data4[7];
++v6;
++v8;
}
while( v6 < v7 );
v2 += 40;
--v11;
}
while( v11 );
if( (_BYTE)v10 == PpmProfileCount )
break;
v0 = (_POP_PPM_PROFILE *)(PpmProfiles + 5552i64 * (unsigned __int8)v10);
}
}Referenced by:
PpmEventTraceControlCallback