PopDirectedDripsQueryEnabledMitigations

INT64 PopDirectedDripsQueryEnabledMitigations(void){
  INT64 v0; 
  WCHAR v1; 
  char v2; 
  char v3; 
  INT64 v4; 
  INT64 result; 
  unsigned int v6; 
  int Ps4Support; 
  INT64 enabled; 
  unsigned int v9; 
  v9 = 0;
  v2 = 0;
  v3 = 0;
  v4 = v0;
  result = PopDirectedDripsQueryRegistryValues(v0, &v9, v1);
  v6 = v9;
  if( (v9 & 1) != 0 )
  {
    v2 = 1;
    v6 = v9 & 0xFFFFFFFE;
  }
  if( (v6 & 2) != 0 )
  {
    v3 = 1;
    v6 &= ~2u;
  }
  if( (v6 & 8) == 0 )
  {
    Ps4Support = PopDirectedDripsQueryPs4Support();
    if( Ps4Support == 1 )
    {
      v3 = 1;
    }
    else if( Ps4Support )
    {
      v3 = 0;
    }
    LODWORD(enabled) = 0;
    wil_details_FeatureReporting_ReportUsageToService(
      &Feature_DirectedFx__private_reporting,
      0x12F004Eui64,
      0i64,
      0i64,
      (FEATURE_LOGGED_TRAITS *)&Feature_PdttSupport_logged_traits,
      enabled);
  }
  if( v2 )
    v6 |= 1u;
  if( v3 )
    v6 |= 2u;
  *(_DWORD *)(v4 + 48) = v6;
  return result;
}

Referenced by:

PopDirectedDripsEngage
PopDirectedDripsInitializePhase3