EmpEvaluateParseNodeMapping
char __fastcall EmpEvaluateParseNodeMapping(
unsigned int *a1,
int a2,
__int64 a3,
unsigned int a4,
__int64 a5,
unsigned int a6,
__int64 a7,
unsigned int a8,
_QWORD *a9,
unsigned int a10,
_DWORD *a11,
unsigned int a12,
_QWORD *a13,
unsigned int a14){
char v14;
_QWORD *v17;
unsigned int v18;
unsigned int *v19;
__int64 v20;
_DWORD *v21;
unsigned int v22;
__int64 v23;
_QWORD *v24;
unsigned int v25;
__int64 v26;
v14 = 0;
if( a1 && a2 == a10 + a12 + a14 )
{
v17 = a9;
if( a9 && (v18 = 0, a10) )
{
v19 = a1;
while( 1 )
{
v20 = *v19;
if( (unsigned int)v20 >= a4 )
break;
++v18;
*v17 = *(_QWORD *)(a3 + 8 * v20);
++v19;
++v17;
if( v18 >= a10 )
goto LABEL_8;
}
}
else
{
LABEL_8:
v21 = a11;
if( a11 && (v22 = 0, a12) )
{
while( 1 )
{
v23 = a1[v22 + a10];
if( (unsigned int)v23 >= a6 )
break;
++v22;
*v21++ = *(_DWORD *)(a5 + 4 * v23);
if( v22 >= a12 )
goto LABEL_12;
}
}
else
{
LABEL_12:
v24 = a13;
if( a13 && (v25 = 0, a14) )
{
while( 1 )
{
v26 = a1[a10 + a12 + v25];
if( (unsigned int)v26 >= a8 )
break;
++v25;
*v24++ = *(_QWORD *)(a7 + 8 * v26);
if( v25 >= a14 )
return 1;
}
}
else
{
return 1;
}
}
}
}
return v14;
}Referenced by:
EmpEvaluateNodeLink