PfpRpControlRequest

NTSTATUS __stdcall PfpRpControlRequest(_SUPERFETCH_INFORMATION *Info, INT8 PreviousMode){
  UINT64 v3; 
  int v4; 
  INT64 a2; 
  __int128 v7[2]; 
  __int64 v8; 

  a2 = 0i64;
  memset(v7, 0, sizeof(v7));
  v8 = 0i64;
  if( (dword_140C50130[0] & 1) == 0 )
    return -1073741696;
  v3 = (unsigned int)Info[6];
  if( (unsigned int)v3 < 0x18 )
    return -1073741306;
  v4 = PfpRpControlRequestCopy(
         *((PF_ROBUSTNESS_CONTROL **)Info + 2),
         v3,
         (PF_ROBUSTNESS_CONTROL **)&a2,
         (PF_ROBUSTNESS_CONTROL *)v7,
         PreviousMode);
  if( v4 >= 0 )
  {
    if( (unsigned int)PfpRpControlRequestVerify((_DWORD *)a2) )
      v4 = -1073741701;
    else
      v4 = PfpRpControlRequestPerform((PFPRP_CONTEXT *)&RpContext, (PF_ROBUSTNESS_CONTROL *)a2);
  }
  if( a2 && (__int128 *)a2 != v7 )
    ExFreePoolWithTag((PVOID)a2, 0);
  return v4;
}

Referenced by:

PfSetSuperfetchInformation