PopFxAcpiValidateParameters
CHAR __fastcall PopFxAcpiValidateParameters(INT64 a1){
CHAR v1;
unsigned __int16 **v3;
unsigned __int64 v4;
int v5;
int v6;
int v7;
bool v8;
bool v9;
unsigned __int16 *v10;
__int64 v11;
unsigned __int16 *v12;
__int64 v13;
v1 = 0;
if( !a1 )
return v1;
v3 = *(unsigned __int16 ***)(a1 + 16);
v4 = *(_QWORD *)(a1 + 24);
if( !v3 || !v4 )
return v1;
v5 = *(_DWORD *)a1 - 1;
if( !v5 )
{
if( v4 >= 0x18 )
{
v12 = *v3;
if( *v3 )
{
if( *((_QWORD *)v12 + 1) )
{
v13 = *v12;
if( (unsigned int)v13 >= 4 )
return v12[1] >= (unsigned __int64)(v13 + 2);
}
}
}
return v1;
}
v6 = v5 - 1;
if( !v6 )
{
v9 = v4 < 0x10;
LABEL_12:
if( v9 )
return v1;
v10 = *v3;
if( !*v3 )
return v1;
if( !*((_QWORD *)v10 + 1) )
return v1;
v11 = *v10;
if( (unsigned int)v11 < 4 )
return v1;
v8 = v10[1] < (unsigned __int64)(v11 + 2);
goto LABEL_17;
}
v7 = v6 - 1;
if( !v7 )
{
v9 = v4 < 0x28;
goto LABEL_12;
}
if( v7 != 1 )
{
if( (*(_DWORD *)(*(_QWORD *)(a1 + 8) + 824i64) & 4) != 0 )
return 1;
return v1;
}
v8 = v4 < 0x10;
LABEL_17:
if( !v8 )
return 1;
return v1;
}Referenced by:
PopFxAcpiDispatchNotification