PfSnParametersVerify
NTSTATUS __stdcall PfSnParametersVerify(PF_SYSTEM_PREFETCH_PARAMETERS *Parameters){
NTSTATUS v2;
int v3;
PF_SYSTEM_PREFETCH_PARAMETERS *i;
unsigned int v5;
UINT16 *v6;
int v7;
PF_SYSTEM_PREFETCH_PARAMETERS *v8;
PF_SYSTEM_PREFETCH_PARAMETERS *j;
v2 = -1073741811;
v3 = 0;
for( i = Parameters + 12; *(_WORD *)i; i = (PF_SYSTEM_PREFETCH_PARAMETERS *)((char *)i + 2) )
{
if( (unsigned int)++v3 >= 0x30 )
return v2;
}
v5 = 0;
v6 = (UINT16 *)(Parameters + 36);
while( *v6 )
{
if( towupper(*v6) == *v6 )
{
++v5;
++v6;
if( v5 < 0x80 )
continue;
}
return v2;
}
v7 = 0;
v8 = Parameters + 4;
for( j = Parameters;
(unsigned int)*j <= 2
&& (unsigned int)*(v8 - 2) <= 0x100000
&& (unsigned int)*(v8 - 1) <= 0x4000
&& (unsigned __int64)(*(_QWORD *)v8 + 6000000000i64) <= 0x165A0BBFFi64;
++j )
{
++v7;
v8 += 4;
if( v7 >= 2 )
{
if( (unsigned int)Parameters[10] <= 0x1000
&& (unsigned int)Parameters[11] <= 0x1000
&& (unsigned int)Parameters[100] < 0x20
&& (unsigned int)(Parameters[101] - 1) <= 9 )
{
return 0;
}
return v2;
}
}
return v2;
}Referenced by:
PfSnParametersRead