PfpRpControlRequest

INT64 __fastcall PfpRpControlRequest(INT64 a1, CHAR a2){
  UINT64 v3; 
  int v4; 
  PVOID P; 
  __int128 v7[2]; 
  __int64 v8; 
  P = 0i64;
  memset(v7, 0, sizeof(v7));
  v8 = 0i64;
  if( (dword_140C50130 & 1) != 0 )
  {
    v3 = *(unsigned int *)(a1 + 24);
    if( (unsigned int)v3 < 0x18 )
    {
      return(unsigned int)-1073741306;
    }
    else
    {
      v4 = PfpRpControlRequestCopy(*(__m128i **)(a1 + 16), v3, (CHAR **)&P, (CHAR *)v7, a2);
      if( v4 >= 0 )
      {
        if( (unsigned int)PfpRpControlRequestVerify(P) )
          v4 = -1073741701;
        else
          v4 = PfpRpControlRequestPerform((struct EX_RUNDOWN_REF *)&byte_140C50098, (INT64)P);
      }
      if( P && P != v7 )
        ExFreePoolWithTag(P, 0);
    }
  }
  else
  {
    return(unsigned int)-1073741696;
  }
  return(unsigned int)v4;
}

Referenced by:

PfSetSuperfetchInformation