BYTE *__fastcall PipSmBiosFindStruct(CHAR a1, CHAR a2, BYTE *a3, INT64 a4){
BYTE *v4;
BYTE *v5;
BYTE *i;
v4 = &a3[(unsigned int)a4 - 2];
while( 1 )
{
v5 = 0i64;
if( a3 >= v4 )
break;
if( *a3 == a1 )
{
v5 = a3;
if( *a3 != 2 || a3 + 14 <= &a3[a3[1]] && a3[13] == a2 )
break;
}
for( i = &a3[a3[1]]; i < v4 && *(_WORD *)i; ++i )
;
a3 = i + 2;
}
return v5;
}