XmSetLogicalResult

INT64 __fastcall XmSetLogicalResult(INT64 a1, INT64 a2){
  INT64 v2; 
  unsigned int v3; 
  INT64 result; 
  v2 = a1;
  v3 = a2;
  if( *(_DWORD *)(a1 + 124) != 22 )
    XmStoreResult(a1, (unsigned int)a2);
  result = *(_DWORD *)(v2 + 16) & 0xFFFFFFAA;
  *(_DWORD *)(v2 + 16) = *(_DWORD *)(v2 + 16) & 0xFFFFF72A | (v3 == 0 ? 0x40 : 0) | (4
                                                                                   * ((32
                                                                                     * ((v3 >> (8
                                                                                              * *(_DWORD *)(v2 + 120)
                                                                                              + 7)) & 1)) | (((*((_BYTE *)XmBitCount + (v3 & 0xF)) + *((_BYTE *)XmBitCount + ((unsigned __int8)v3 >> 4))) & 1) == 0)));
  return result;
}

Referenced by:

XmOrOp
XmTestOp
XmXorOp