XmEnterOp

_WORD *__fastcall XmEnterOp(INT64 a1){
  int v2; 
  int v3; 
  _WORD *result; 
  VOID *v5; 
  unsigned int v6; 

  v2 = *(_DWORD *)(a1 + 108);
  v3 = *(_DWORD *)(a1 + 104);
  if( *(_BYTE *)(a1 + 138) )
  {
    *(_DWORD *)(a1 + 120) = 3;
    result = XmPushStack(a1, *(unsigned int *)(a1 + 44));
    v6 = *(_DWORD *)(a1 + 40);
  }
  else
  {
    *(_DWORD *)(a1 + 120) = 1;
    result = XmPushStack(a1, *(unsigned __int16 *)(a1 + 44));
    v6 = *(unsigned __int16 *)(a1 + 40);
  }
  if( v3 )
  {
    if( v3 != 1 )
      longjmp((unsigned __int64 *)(a1 + 160), (VOID *)8, v5);
    result = XmPushStack(a1, v6);
  }
  if( *(_BYTE *)(a1 + 138) )
  {
    *(_DWORD *)(a1 + 40) -= v2;
    *(_DWORD *)(a1 + 44) = v6;
  }
  else
  {
    *(_WORD *)(a1 + 40) -= v2;
    *(_WORD *)(a1 + 44) = v6;
  }
  return result;
}

Referenced by:

No references.