_WORD *__fastcall XmPushaOp(INT64 a1){
unsigned int v2;
UINT16 *v3;
_WORD *result;
int v5;
*(_DWORD *)(a1 + 120) = *(_BYTE *)(a1 + 138) != 0 ? 3 : 1;
v2 = 0;
v5 = *(_DWORD *)(a1 + 40);
do
{
if( v2 == 4 )
v3 = (UINT16 *)&v5;
else
v3 = (UINT16 *)(a1 + 4 * (v2 + 6i64));
XmSetSourceValue(a1, v3);
result = XmPushStack(a1, *(unsigned int *)(a1 + 108));
++v2;
}
while( v2 <= 7 );
return result;
}