PpmGetPolicyAction

VOID __stdcall PpmGetPolicyAction(_PPM_POLICY_SETTINGS_MASK *SettingMask, _PPM_POLICY_ACTION_MASK *ActionMask){
  unsigned __int64 Value; 
  int v3; 
  bool v4; 

  Value = SettingMask->Value;
  if( (SettingMask->Value & 0x38000000700i64) != 0 )
  {
    if( (Value & 0x100) != 0 )
      *(_DWORD *)ActionMask |= 0x200u;
    if( (Value & 0x400) != 0 )
      *(_DWORD *)ActionMask |= 0x40u;
    if( (Value & 0x200) != 0 )
      *(_DWORD *)ActionMask |= 0x20u;
    if( (Value & 0x10000000000i64) != 0 )
      *(_DWORD *)ActionMask |= 0x82u;
    if( (Value & 0x8000000000i64) != 0 )
    {
      v3 = *(_DWORD *)ActionMask | 0x100;
      v4 = PpmPerfAutonomousActivityWindowViaPerfControl == 0;
      *ActionMask = (_PPM_POLICY_ACTION_MASK)v3;
      if( !v4 )
        *ActionMask = (_PPM_POLICY_ACTION_MASK)(v3 | 2);
    }
    if( (Value & 0x20000000000i64) != 0 )
      *(_DWORD *)ActionMask |= 0x400u;
  }
  if( (Value & 0x4000000000i64) != 0 && PpmPerfEppViaPerfControl )
    *(_DWORD *)ActionMask |= 2u;
  if( (Value & 0xCC54000000EC0i64) != 0 )
    *(_DWORD *)ActionMask |= 2u;
  if( (Value & 0x180000000000i64) != 0 )
    *(_DWORD *)ActionMask |= 0x1000u;
  if( (Value & 0x10000000030000i64) != 0 )
    *(_DWORD *)ActionMask |= 0xCu;
  if( (Value & 0xC40000030DC0i64) != 0 )
    *(_DWORD *)ActionMask |= 8u;
  if( (Value & 0x2000D8000000i64) != 0 )
    *(_DWORD *)ActionMask |= 1u;
  if( (Value & 0x1000) != 0 )
    *(_DWORD *)ActionMask |= 0x10u;
}

Referenced by:

PpmCompareAndApplyPolicySettings
PpmSetProfilePolicySetting