XmSxxOp
_WORD *__fastcall XmSxxOp(INT64 a1){
unsigned int v1;
int v2;
int v3;
int v4;
int v5;
int v6;
int v7;
int v8;
unsigned int v9;
int v10;
v1 = 0;
v2 = *(_DWORD *)(a1 + 108) >> 1;
if( !v2 )
{
v10 = *(_DWORD *)(a1 + 16) >> 11;
goto LABEL_18;
}
v3 = v2 - 1;
if( !v3 )
{
v10 = *(_DWORD *)(a1 + 16);
goto LABEL_18;
}
v4 = v3 - 1;
if( !v4 )
{
v10 = *(_DWORD *)(a1 + 16) >> 6;
goto LABEL_18;
}
v5 = v4 - 1;
if( !v5 )
{
v10 = *(_DWORD *)(a1 + 16) | (*(_DWORD *)(a1 + 16) >> 6);
goto LABEL_18;
}
v6 = v5 - 1;
if( !v6 )
{
v9 = *(_DWORD *)(a1 + 16);
goto LABEL_11;
}
v7 = v6 - 1;
if( !v7 )
{
v10 = *(_DWORD *)(a1 + 16) >> 2;
goto LABEL_18;
}
v8 = v7 - 1;
if( !v8 )
{
v9 = *(_DWORD *)(a1 + 16) ^ (*(_DWORD *)(a1 + 16) >> 4);
LABEL_11:
v10 = v9 >> 7;
LABEL_18:
v1 = v10 & 1;
return XmStoreResult(a1, *(_DWORD *)(a1 + 108) & 1 ^ v1);
}
if( v8 == 1 )
v1 = (*(_DWORD *)(a1 + 16) & 0x40 | ((unsigned int)(*(_DWORD *)(a1 + 16) ^ (*(_DWORD *)(a1 + 16) >> 4)) >> 1) & 0x40) >> 6;
return XmStoreResult(a1, *(_DWORD *)(a1 + 108) & 1 ^ v1);
}Referenced by:
No references.