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