PpmGetPolicyAction

INT64 __fastcall PpmGetPolicyAction(INT64 *a1, INT64 *a2){
  INT64 result; 
  int v3; 
  bool v4; 
  result = *a1;
  if( (*a1 & 0x38000000700i64) != 0 )
  {
    if( (result & 0x100) != 0 )
      *(_DWORD *)a2 |= 0x200u;
    if( (result & 0x400) != 0 )
      *(_DWORD *)a2 |= 0x40u;
    if( (result & 0x200) != 0 )
      *(_DWORD *)a2 |= 0x20u;
    if( (result & 0x10000000000i64) != 0 )
      *(_DWORD *)a2 |= 0x82u;
    if( (result & 0x8000000000i64) != 0 )
    {
      v3 = *(_DWORD *)a2 | 0x100;
      v4 = PpmPerfAutonomousActivityWindowViaPerfControl == 0;
      *(_DWORD *)a2 = v3;
      if( !v4 )
        *(_DWORD *)a2 = v3 | 2;
    }
    if( (result & 0x20000000000i64) != 0 )
      *(_DWORD *)a2 |= 0x400u;
  }
  if( (result & 0x4000000000i64) != 0 && PpmPerfEppViaPerfControl )
    *(_DWORD *)a2 |= 2u;
  if( (result & 0xCC54000000EC0i64) != 0 )
    *(_DWORD *)a2 |= 2u;
  if( (result & 0x180000000000i64) != 0 )
    *(_DWORD *)a2 |= 0x1000u;
  if( (result & 0x10000000030000i64) != 0 )
    *(_DWORD *)a2 |= 0xCu;
  if( (result & 0xC40000030DC0i64) != 0 )
    *(_DWORD *)a2 |= 8u;
  if( (result & 0x2000D8000000i64) != 0 )
    *(_DWORD *)a2 |= 1u;
  if( (result & 0x1000) != 0 )
    *(_DWORD *)a2 |= 0x10u;
  return result;
}

Referenced by:

PpmCompareAndApplyPolicySettings
PpmSetProfilePolicySetting