PfpRpControlRequestPerform

INT64 __fastcall PfpRpControlRequestPerform(struct EX_RUNDOWN_REF *a1, INT64 a2){
  struct _EX_RUNDOWN_REF *v2; 
  unsigned int v5; 
  unsigned int v6; 
  v2 = a1 + 17;
  if( !ExAcquireRundownProtection(a1 + 17) )
    return(unsigned int)-1073741696;
  if( *(_WORD *)(a2 + 2) )
  {
    if( *(_WORD *)(a2 + 2) != 1 )
    {
      v6 = -1073741811;
      goto LABEL_5;
    }
    v5 = PfpRpControlRequestReset((INT64)a1);
  }
  else
  {
    v5 = PfpRpControlRequestUpdate((INT64)a1, (_DWORD *)a2);
  }
  v6 = v5;
LABEL_5:
  ExReleaseRundownProtection(v2);
  return v6;
}

Referenced by:

PfpRpControlRequest