PspValidateEnvironmentBlock
NTSTATUS __stdcall PspValidateEnvironmentBlock(WCHAR *Environment, UINT64 *EnvironmentSize){
UINT64 v2;
char v3;
WCHAR v5;
unsigned __int64 v6;
__int64 v7;
char v8;
v2 = *EnvironmentSize;
v3 = 0;
if( !*Environment )
{
v2 -= 2i64;
++Environment;
}
if( !v2 )
return -1073741811;
do
{
v5 = *Environment;
v6 = 0i64;
++Environment;
v7 = 0i64;
v8 = 0;
v2 -= 2i64;
if( v2 )
{
do
{
if( !v5 )
break;
if( v5 == 61 )
{
++v6;
if( !v7 )
v8 = 1;
}
v5 = *Environment;
++v7;
++Environment;
v2 -= 2i64;
}
while( v2 );
if( v7 )
goto LABEL_16;
}
if( v5 )
{
LABEL_16:
if( !v6 || v8 && v6 < 2 )
return -1073741811;
}
else
{
if( v2 )
{
*EnvironmentSize -= v2;
v2 = 0i64;
}
v3 = 1;
}
}
while( v2 );
if( v3 )
return 0;
else
return -1073741811;
}Referenced by:
PspCaptureUserProcessParameters