PpmDisableProfile

VOID __stdcall PpmDisableProfile(VOID *Context){
  UINT8 v2; 
  char v3; 
  __int64 v4; 
  __int64 v5; 
  __int64 v6; 
  __int64 v7; 

  PpmAcquireLock((_PPM_LOCK *)((char *)&stru_140C23628 + 1048));
  v2 = *((_BYTE *)Context + 8);
  *((_DWORD *)Context + 7) &= ~1u;
  v3 = 1;
  PpmResetProfileSettings((_POP_PPM_PROFILE *)Context);
  v4 = *(_QWORD *)((char *)Context + 12) - *(_QWORD *)&GUID_POWER_POLICY_PROFILE_LOW_POWER.Data1;
  if( !v4 )
    v4 = *(_QWORD *)((char *)Context + 20) - *(_QWORD *)GUID_POWER_POLICY_PROFILE_LOW_POWER.Data4;
  if( !v4 )
  {
    PpmLowPowerProfile = 0i64;
    goto LABEL_18;
  }
  v5 = *(_QWORD *)((char *)Context + 12) - *(_QWORD *)&GUID_POWER_POLICY_PROFILE_BACKGROUND.Data1;
  if( !v5 )
    v5 = *(_QWORD *)((char *)Context + 20) - *(_QWORD *)GUID_POWER_POLICY_PROFILE_BACKGROUND.Data4;
  if( !v5 )
  {
    PpmBackgroundProfile = 0i64;
LABEL_17:
    PpmReinitializeHeteroEngine(1);
    v3 = 0;
    goto LABEL_18;
  }
  v6 = *(_QWORD *)((char *)Context + 12) - *(_QWORD *)&GUID_POWER_POLICY_PROFILE_ENTRY_LEVEL_PERF.Data1;
  if( !v6 )
    v6 = *(_QWORD *)((char *)Context + 20) - *(_QWORD *)GUID_POWER_POLICY_PROFILE_ENTRY_LEVEL_PERF.Data4;
  if( !v6 )
  {
    PpmEntryLevelPerfProfile = 0i64;
    goto LABEL_17;
  }
  v7 = *(_QWORD *)((char *)Context + 12) - *(_QWORD *)&GUID_POWER_POLICY_PROFILE_QOS_MULTIMEDIA.Data1;
  if( !v7 )
    v7 = *(_QWORD *)((char *)Context + 20) - *(_QWORD *)GUID_POWER_POLICY_PROFILE_QOS_MULTIMEDIA.Data4;
  if( !v7 )
  {
    PpmMultimediaQosProfile = 0i64;
    goto LABEL_17;
  }
LABEL_18:
  PpmEventTraceProfileEnable(v2, 0);
  if( v3 )
    PpmReleaseLock((INT64 *)&stru_140C23628 + 131);
}

Referenced by:

PdcPoPpmResetProfile