XmIntOp

CHAR __fastcall XmIntOp(INT64 a1){
  int v2; 
  unsigned int v3; 
  INT64 *v4; 
  *(_DWORD *)(a1 + 120) = *(_BYTE *)(a1 + 138) != 0 ? 3 : 1;
  v2 = *(_DWORD *)(a1 + 112);
  if( v2 == 204 )
  {
    v3 = 3;
LABEL_9:
    XmPushStack(a1, *(unsigned int *)(a1 + 16));
    XmPushStack(a1, *(unsigned __int16 *)(a1 + 58));
    XmPushStack(a1, *(unsigned int *)(a1 + 20));
    v4 = x86BiosTranslateAddress(0, 0);
    *(_WORD *)(a1 + 58) = *((_WORD *)v4 + 2 * v3 + 1);
    v2 = *((unsigned __int16 *)v4 + 2 * v3);
    *(_DWORD *)(a1 + 20) = v2;
    return v2;
  }
  if( v2 == 206 )
  {
    if( (*(_DWORD *)(a1 + 16) & 0x800) != 0 )
    {
      v3 = 4;
      goto LABEL_9;
    }
  }
  else
  {
    v3 = *(unsigned __int8 *)(a1 + 108);
    if( v3 != 66 )
    {
      if( v3 != 26 )
        goto LABEL_9;
      LOBYTE(v2) = XmExecuteInt1a(a1);
      if( !(_BYTE)v2 )
        goto LABEL_9;
    }
  }
  return v2;
}

Referenced by:

No references.