XmMulOp
INT64 __fastcall XmMulOp(_DWORD *a1){
unsigned int v1;
int v2;
__int64 v3;
int v4;
bool v5;
INT64 result;
unsigned int v7;
INT64 v8;
__int64 v9;
_WORD *v10;
INT64 v11;
__int64 v12;
int v13;
INT64 v14;
v1 = a1[26] * a1[27];
v2 = a1[30];
v14 = (unsigned int)a1[26] * (unsigned __int64)(unsigned int)a1[27];
if( v2 )
{
if( v2 == 3 )
{
XmStoreResult((INT64)a1, v1);
*(_QWORD *)(v11 + 88) = v12;
XmStoreResult(v11, HIDWORD(v14));
v5 = v13 == 0;
}
else
{
XmStoreResult((INT64)a1, (unsigned __int16)v1);
*(_QWORD *)(v8 + 88) = v9;
XmStoreResult(v8, HIWORD(v7));
v5 = *v10 == (unsigned __int16)v4;
}
}
else
{
a1[30] = 1;
XmStoreResult((INT64)a1, v1);
v5 = *(_BYTE *)(v3 + 25) == (unsigned __int8)v4;
}
LOBYTE(v4) = !v5;
result = (v4 << 11) | v4 & 0xFFFFF7FF | *(_DWORD *)(v3 + 16) & 0xFFFFF7FE;
*(_DWORD *)(v3 + 16) = result;
return result;
}Referenced by:
No references.