XmRcrOp

VOID __stdcall XmRcrOp(){
  _DWORD *v0; 
  INT64 v1; 
  int v2; 
  int v3; 
  unsigned int v4; 
  char v5; 
  unsigned int v6; 
  int v7; 
  int v8; 
  __int64 v9; 
  int v10; 

  v1 = (INT64)v0;
  v2 = 8 * v0[30];
  v3 = v0[27];
  v4 = v0[26];
  v5 = v2 + 7;
  v6 = (v3 & 0x1Fu) % (v2 + 9);
  v7 = *(_DWORD *)(v1 + 16) & 1;
  if( v6 )
  {
    if( v6 == 1 )
      *(_DWORD *)(v1 + 16) ^= ((unsigned __int16)*(_DWORD *)(v1 + 16) ^ (unsigned __int16)(((unsigned __int16)v7 ^ (unsigned __int16)(v4 >> v5)) << 11)) & 0x800;
    do
    {
      v8 = v4 & 1;
      v4 = (v4 >> 1) | (v7 << v5);
      v7 = v8;
      --v6;
    }
    while( v6 );
  }
  XmStoreResult(v1, v4);
  *(_DWORD *)(v9 + 16) = v10 | *(_DWORD *)(v9 + 16) & 0xFFFFFFFE;
}

Referenced by:

No references.