GetBaseTypeSize
NTSTATUS __fastcall GetBaseTypeSize(INT16 a1){
unsigned int v1;
NTSTATUS result;
unsigned int v3;
unsigned int v4;
unsigned int v5;
unsigned int v6;
unsigned int v7;
unsigned int v8;
unsigned int v9;
unsigned int v10;
unsigned int v11;
v1 = a1 & 0xFFF;
result = 1;
if( v1 <= 0xF )
{
if( v1 == 15 )
return 8;
if( v1 > 0xA )
{
v6 = v1 - 11;
if( !v6 )
return 8;
v7 = v6 - 1;
if( !v7 )
return 16;
v8 = v7 - 1;
if( !v8 )
return 16;
if( v8 == 1 )
return 8;
}
else
{
if( v1 == 10 )
return 4;
if( v1 > 5 )
{
if( v1 > 7 )
return 8;
return 4;
}
if( v1 >= 4 )
return 2;
if( v1 > 1 )
return result;
}
return 0;
}
if( v1 > 0x15 )
{
v9 = v1 - 22;
if( v9 )
{
v10 = v9 - 1;
if( v10 )
{
v11 = v10 - 1;
if( v11 )
goto LABEL_26;
}
}
return 4;
}
if( v1 == 21 )
return 20;
v3 = v1 - 16;
if( !v3 )
return 8;
v4 = v3 - 1;
if( !v4 )
return result;
v5 = v4 - 1;
if( !v5 )
return 2;
v11 = v5 - 1;
if( v11 )
{
LABEL_26:
if( v11 != 1 )
return 0;
return 2;
}
return result;
}Referenced by:
PnpValidatePropertyData