XmShlOp
_WORD *__fastcall XmShlOp(_DWORD *a1){
int v1;
unsigned int v3;
int v4;
char v5;
unsigned int v6;
int v7;
unsigned int v8;
unsigned int v9;
char v10;
unsigned int v11;
v1 = a1[30];
v3 = a1[26];
v4 = a1[27];
v5 = 8 * v1 + 7;
if( v4 )
{
v6 = v3 ^ (v3 >> 1);
v7 = v3 << v4;
if( v1 == 3 )
{
v9 = v6 >> 30;
LOBYTE(v11) = v3 >> (32 - v4);
v3 <<= v4;
}
else
{
v8 = v3;
if( v1 == 1 )
{
v9 = v6 >> 14;
v10 = 16;
v3 = (unsigned __int16)v7;
}
else
{
v9 = v6 >> 6;
v10 = 8;
v3 = (unsigned __int8)v7;
}
v11 = v8 >> (v10 - v4);
}
a1[4] = v11 & 1 | a1[4] & 0xFFFFF73A | (v3 == 0 ? 0x40 : 0) | (4
* ((32 * ((16 * (v9 & 1)) | (v3 >> v5) & 1)) | (((*((_BYTE *)XmBitCount + (v3 & 0xF)) + *((_BYTE *)XmBitCount + ((unsigned __int8)v3 >> 4))) & 1) == 0)));
}
return XmStoreResult((INT64)a1, v3);
}Referenced by:
No references.