XmRclOp
_WORD *__fastcall XmRclOp(_DWORD *a1){
int v1;
char v2;
unsigned int v3;
unsigned int v4;
int v5;
unsigned int v6;
int v7;
_WORD *result;
__int64 v9;
unsigned __int8 v10;
v1 = a1[30];
v2 = 8 * v1 + 7;
v3 = a1[26];
v4 = (a1[27] & 0x1Fu) % (8 * v1 + 9);
v5 = a1[4] & 1;
v6 = v4;
if( v4 )
{
if( v4 == 1 )
a1[4] ^= ((unsigned __int16)a1[4] ^ (unsigned __int16)(((unsigned __int16)(v3 >> v2) ^ (unsigned __int16)(v3 >> (v2 - 1))) << 11)) & 0x800;
do
{
v7 = v3 >> v2;
v3 = v5 | (((1 << v2) - 1) | (1 << v2)) & (2 * v3);
v5 = v7;
--v6;
}
while( v6 );
}
result = XmStoreResult((INT64)a1, v3);
*(_DWORD *)(v9 + 16) ^= (v10 ^ (unsigned __int8)*(_DWORD *)(v9 + 16)) & 1;
return result;
}Referenced by:
No references.