PpmReapplyPerfPolicy

VOID __stdcall PpmReapplyPerfPolicy(_PPM_POLICY_ACTION_MASK *ActionMask){
  char v2; 
  _PPM_POLICY_ACTION_MASK v3; 
  char v4; 
  char v5; 

  if( (*(_DWORD *)ActionMask & 0x1800) != 0 )
  {
    PopInitializeHeteroProcessors();
    if( (*(_DWORD *)ActionMask & 0x800) != 0 || v2 )
      *(_DWORD *)ActionMask |= 0x200Eu;
  }
  PpmUpdateProcessorPolicy(ActionMask);
  v3 = *ActionMask;
  if( (*(_DWORD *)ActionMask & 4) != 0 )
  {
    PpmParkApplyPolicy();
    v3 = *ActionMask;
  }
  if( (v3.Value & 0x10) != 0 )
  {
    PpmPerfResizeHistoryAll();
    v3 = *ActionMask;
  }
  if( (v3.Value & 8) != 0 )
  {
    PpmCheckReInit();
    v3 = *ActionMask;
  }
  v4 = 0;
  v5 = 1;
  if( (v3.Value & 2) != 0 )
  {
    v5 = 0;
    v4 = 1;
    PpmPerfUpdateDomainPolicy(0);
    v3 = *ActionMask;
  }
  if( (v3.Value & 4) != 0 )
  {
    if( v4 )
    {
      PpmAcquireLock((_PPM_LOCK *)((char *)&stru_140C23628 + 1048));
      v3 = *ActionMask;
    }
    v5 = 0;
    if( (v3.Value & 0x2000) != 0 )
    {
      PpmCheckInitProcessors(1i64);
      return;
    }
    PpmCheckApplyParkConstraints();
  }
  if( v5 )
    PpmReleaseLock((INT64 *)&stru_140C23628 + 131);
}

Referenced by:

PpmCompareAndApplyPolicySettings
PpmPerfProcCapFloorSettingCallback
PpmReinitializeHeteroEngine
PpmSetProfilePolicySetting