PfpQueryScenarioInformation

__int64 __fastcall PfpQueryScenarioInformation(__int64 a1, char a2, _DWORD *a3){
  unsigned int v6; 
  _OWORD *v7; 
  unsigned __int64 v8; 
  _OWORD *v9; 
  INT64 a2a[2]; 
  __int128 v12; 
  if( *(_DWORD *)(a1 + 24) == 32 )
  {
    v6 = 0;
    if( a2 && (*(_QWORD *)(a1 + 16) & 7) != 0 )
      ExRaiseDatatypeMisalignment();
    v7 = *(_OWORD **)(a1 + 16);
    *(_OWORD *)a2a = *v7;
    v12 = v7[1];
    if( LODWORD(a2a[0]) == 4 )
    {
      PfpScenCtxQueryScenarioInformation((volatile INT64 *)&qword_140C50020, (INT64)a2a);
      if( a2 )
      {
        v8 = *(_QWORD *)(a1 + 16);
        if( (v8 & 7) != 0 )
          ExRaiseDatatypeMisalignment();
        if( v8 >= 0x7FFFFFFF0000i64 )
          v8 = 0x7FFFFFFF0000i64;
        *(_BYTE *)v8 = *(_BYTE *)v8;
        *(_BYTE *)(v8 + 31) = *(_BYTE *)(v8 + 31);
      }
      v9 = *(_OWORD **)(a1 + 16);
      *v9 = *(_OWORD *)a2a;
      v9[1] = v12;
      *a3 = 32;
    }
    else
    {
      return(unsigned int)-1073741811;
    }
  }
  else
  {
    return(unsigned int)-1073741306;
  }
  return v6;
}

Referenced by:

PfQuerySuperfetchInformation