_WORD *__fastcall XmXchgOp(INT64 a1){
int v1;
_DWORD *v2;
v1 = *(_DWORD *)(a1 + 120);
v2 = *(_DWORD **)(a1 + 96);
if( v1 )
{
if( v1 == 3 )
*v2 = *(_DWORD *)(a1 + 104);
else
*(_WORD *)v2 = *(_WORD *)(a1 + 104);
}
else
{
*(_BYTE *)v2 = *(_BYTE *)(a1 + 104);
}
return XmStoreResult(a1, *(unsigned int *)(a1 + 108));
}