UINT8 *__fastcall ViLookupThunkArray(UINT8 **a1, INT64 a2, INT64 a3){
INT64 v5;
int v6;
int v7;
UINT8 *result;
while( 1 )
{
result = *a1;
if( !*a1 )
break;
v5 = a3 - (_QWORD)result;
do
{
v6 = result[v5];
v7 = *result - v6;
if( v7 )
break;
++result;
}
while( v6 );
if( !v7 )
return a1[1];
a1 = (UINT8 **)((char *)a1 + a2);
}
return result;
}