XmSarOp
_WORD *__fastcall XmSarOp(_DWORD *a1){
int v1;
int v2;
int v3;
int v4;
v1 = a1[30];
v2 = a1[27];
v3 = a1[26];
if( v2 )
{
v4 = v3 >> (v2 - 1);
if( v1 == 3 )
{
v3 >>= v2;
}
else if( v1 == 1 )
{
v3 = (unsigned __int16)(v3 << 16 >> (v2 + 16));
}
else
{
v3 = (unsigned __int8)(v3 << 24 >> (v2 + 24));
}
a1[4] = v4 & 1 | a1[4] & 0xFFFFF73A | (v3 == 0 ? 0x40 : 0) | (4
* ((32 * ((v3 >> (8 * v1 + 7)) & 1)) | (((*((_BYTE *)XmBitCount + (v3 & 0xF)) + *((_BYTE *)XmBitCount + ((unsigned __int8)v3 >> 4))) & 1) == 0)));
}
return XmStoreResult((INT64)a1, (unsigned int)v3);
}Referenced by:
No references.