#define NULL ((void *)0)
typedef unsigned long size_t; // Customize by platform.
typedef long intptr_t;
typedef unsigned long uintptr_t;
typedef long scalar_t__; // Either arithmetic or pointer type.
/* By default, we understand bool (as a convenience). */
typedef int bool;
#define false 0
#define true 1

/* Forward declarations */

/* Type definitions */

/* Variables and functions */
int /*<<< orphan*/ xx_prt(int, unsigned int, unsigned int, char *, int, ...);
void process_opcode(int addr, unsigned int ii, unsigned int arg) {
  switch (ii) {
  case 0x00:
    xx_prt(addr, ii, arg, ("CLRA"), 0);
    break;
  case 0x01:
    xx_prt(addr, ii, arg, ("SKMBZ"), 1, (0));
    break;
  case 0x02:
    xx_prt(addr, ii, arg, ("XOR"), 0);
    break;
  case 0x03:
    xx_prt(addr, ii, arg, ("SKMBZ"), 1, (2));
    break;
  case 0x04:
    xx_prt(addr, ii, arg, ("XIS"), 1, (0));
    break;
  case 0x05:
    xx_prt(addr, ii, arg, ("LD"), 1, (0));
    break;
  case 0x06:
    xx_prt(addr, ii, arg, ("X"), 1, (0));
    break;
  case 0x07:
    xx_prt(addr, ii, arg, ("XDS"), 1, (0));
    break;
  case 0x08:
  case 0x09:
  case 0x0A:
  case 0x0B:
  case 0x0C:
  case 0x0D:
  case 0x0E:
  case 0x0F:
    xx_prt(addr, ii, arg, ("LBI"), 2, ((ii >> 4) & 0x3),
           ((((ii & 0xF) + 1) % 16)));
    break;
  case 0x10:
    xx_prt(addr, ii, arg, ("CASC"), 0);
    break;
  case 0x11:
    xx_prt(addr, ii, arg, ("SKMBZ"), 1, (1));
    break;
  case 0x12:
    xx_prt(addr, ii, arg, ("XABR"), 0);
    break;
  case 0x13:
    xx_prt(addr, ii, arg, ("SKMBZ"), 1, (3));
    break;
  case 0x14:
    xx_prt(addr, ii, arg, ("XIS"), 1, (1));
    break;
  case 0x15:
    xx_prt(addr, ii, arg, ("LD"), 1, (1));
    break;
  case 0x16:
    xx_prt(addr, ii, arg, ("X"), 1, (1));
    break;
  case 0x17:
    xx_prt(addr, ii, arg, ("XDS"), 1, (1));
    break;
  case 0x18:
  case 0x19:
  case 0x1A:
  case 0x1B:
  case 0x1C:
  case 0x1D:
  case 0x1E:
  case 0x1F:
    xx_prt(addr, ii, arg, ("LBI"), 2, ((ii >> 4) & 0x3),
           ((((ii & 0xF) + 1) % 16)));
    break;
  case 0x20:
    xx_prt(addr, ii, arg, ("SKC"), 0);
    break;
  case 0x21:
    xx_prt(addr, ii, arg, ("SKE"), 0);
    break;
  case 0x22:
    xx_prt(addr, ii, arg, ("SC"), 0);
    break;
  case 0x23:
    if ((arg & 0xC0) == 0) {
      xx_prt(addr, ii, arg, ("LDD"), 2, ((arg >> 4) & 0x3), (arg & 0xF));
    } else if ((arg & 0xC0) == 0x80) {
      xx_prt(addr, ii, arg, ("XAD"), 2, ((arg >> 4) & 0x3), (arg & 0xF));
    } else {
      xx_prt(addr, ii, arg, ("DB"), 201, (0x23));
      xx_prt(addr, ii, arg, ("DB"), 201, (arg));
    }
    break;
  case 0x24:
    xx_prt(addr, ii, arg, ("XIS"), 1, (2));
    break;
  case 0x25:
    xx_prt(addr, ii, arg, ("LD"), 1, (2));
    break;
  case 0x26:
    xx_prt(addr, ii, arg, ("X"), 1, (2));
    break;
  case 0x27:
    xx_prt(addr, ii, arg, ("XDS"), 1, (2));
    break;
  case 0x28:
  case 0x29:
  case 0x2A:
  case 0x2B:
  case 0x2C:
  case 0x2D:
  case 0x2E:
  case 0x2F:
    xx_prt(addr, ii, arg, ("LBI"), 2, ((ii >> 4) & 0x3),
           ((((ii & 0xF) + 1) % 16)));
    break;
  case 0x30:
    xx_prt(addr, ii, arg, ("ASC"), 0);
    break;
  case 0x31:
    xx_prt(addr, ii, arg, ("ADD"), 0);
    break;
  case 0x32:
    xx_prt(addr, ii, arg, ("RC"), 0);
    break;
  case 0x33:
    switch (arg) {
    case 0x01:
      xx_prt(addr, ii, arg, ("SKGBZ"), 1, (0));
      break;
    case 0x03:
      xx_prt(addr, ii, arg, ("SKGBZ"), 1, (2));
      break;
    case 0x11:
      xx_prt(addr, ii, arg, ("SKGBZ"), 1, (1));
      break;
    case 0x13:
      xx_prt(addr, ii, arg, ("SKGBZ"), 1, (3));
      break;
    case 0x21:
      xx_prt(addr, ii, arg, ("SKGZ"), 0);
      break;
    case 0x28:
      xx_prt(addr, ii, arg, ("ININ"), 0);
      break;
    case 0x29:
      xx_prt(addr, ii, arg, ("INIL"), 0);
      break;
    case 0x2A:
      xx_prt(addr, ii, arg, ("ING"), 0);
      break;
    case 0x2C:
      xx_prt(addr, ii, arg, ("CQMA"), 0);
      break;
    case 0x3C:
      xx_prt(addr, ii, arg, ("CAMQ"), 0);
      break;
    case 0x2E:
      xx_prt(addr, ii, arg, ("INL"), 0);
      break;
    case 0x3E:
      xx_prt(addr, ii, arg, ("OBD"), 0);
      break;
    case 0x3A:
      xx_prt(addr, ii, arg, ("OMG"), 0);
      break;
    default:
      if (arg >= 0x50 && arg <= 0x5F) {
        xx_prt(addr, ii, arg, ("OGI"), 1, (arg & 0xF));
      } else if (arg >= 0x60 && arg <= 0x6F) {
        xx_prt(addr, ii, arg, ("LEI"), 1, (arg & 0xF));
      } else if (arg >= 0x80 && arg <= 0xBF) {
        unsigned short d = (arg & 0xF);
        if (d >= 1 && d <= 8)
          xx_prt(addr, ii, arg, ("LBI"), 2, ((arg >> 4) & 0x3), (d));
        else {
          xx_prt(addr, ii, arg, ("DB"), 201, (0x33));
          xx_prt(addr, ii, arg, ("DB"), 201, (arg));
        }
      } else {
        xx_prt(addr, ii, arg, ("DB"), 201, (0x33));
        xx_prt(addr, ii, arg, ("DB"), 201, (arg));
      }
    }
    break;
  case 0x34:
    xx_prt(addr, ii, arg, ("XIS"), 1, (3));
    break;
  case 0x35:
    xx_prt(addr, ii, arg, ("LD"), 1, (3));
    break;
  case 0x36:
    xx_prt(addr, ii, arg, ("X"), 1, (3));
    break;
  case 0x37:
    xx_prt(addr, ii, arg, ("XDS"), 1, (3));
    break;
  case 0x38:
  case 0x39:
  case 0x3A:
  case 0x3B:
  case 0x3C:
  case 0x3D:
  case 0x3E:
  case 0x3F:
    xx_prt(addr, ii, arg, ("LBI"), 2, ((ii >> 4) & 0x3),
           ((((ii & 0xF) + 1) % 16)));
    break;
  case 0x40:
    xx_prt(addr, ii, arg, ("COMP"), 0);
    break;
  case 0x41:
    xx_prt(addr, ii, arg, ("SKT"), 0);
    break;
  case 0x42:
    xx_prt(addr, ii, arg, ("RMB"), 1, (2));
    break;
  case 0x43:
    xx_prt(addr, ii, arg, ("RMB"), 1, (3));
    break;
  case 0x44:
    xx_prt(addr, ii, arg, ("NOP"), 0);
    break;
  case 0x45:
    xx_prt(addr, ii, arg, ("RMB"), 1, (1));
    break;
  case 0x46:
    xx_prt(addr, ii, arg, ("SMB"), 1, (2));
    break;
  case 0x47:
    xx_prt(addr, ii, arg, ("SMB"), 1, (1));
    break;
  case 0x48:
    xx_prt(addr, ii, arg, ("RET"), 0);
    break;
  case 0x49:
    xx_prt(addr, ii, arg, ("RETSK"), 0);
    break;
  case 0x4A:
    xx_prt(addr, ii, arg, ("ADT"), 0);
    break;
  case 0x4B:
    xx_prt(addr, ii, arg, ("SMB"), 1, (3));
    break;
  case 0x4C:
    xx_prt(addr, ii, arg, ("RMB"), 1, (0));
    break;
  case 0x4D:
    xx_prt(addr, ii, arg, ("SMB"), 1, (0));
    break;
  case 0x4E:
    xx_prt(addr, ii, arg, ("CBA"), 0);
    break;
  case 0x4F:
    xx_prt(addr, ii, arg, ("XAS"), 0);
    break;
  case 0x50:
    xx_prt(addr, ii, arg, ("CAB"), 0);
    break;
  case 0x51:
  case 0x52:
  case 0x53:
  case 0x54:
  case 0x55:
  case 0x56:
  case 0x57:
  case 0x58:
  case 0x59:
  case 0x5A:
  case 0x5B:
  case 0x5C:
  case 0x5D:
  case 0x5E:
  case 0x5F:
    xx_prt(addr, ii, arg, ("AISC"), 1, (ii & 0xF));
    break;
  case 0x60:
  case 0x61:
  case 0x62:
  case 0x63:
    xx_prt(addr, ii, arg, ("JMP"), 100, ((ii & 0x3)), (arg));
    break;
  case 0x68:
  case 0x69:
  case 0x6A:
  case 0x6B:
    xx_prt(addr, ii, arg, ("JSR"), 100, ((ii & 0x3)), (arg));
    break;
  case 0x70:
  case 0x71:
  case 0x72:
  case 0x73:
  case 0x74:
  case 0x75:
  case 0x76:
  case 0x77:
  case 0x78:
  case 0x79:
  case 0x7A:
  case 0x7B:
  case 0x7C:
  case 0x7D:
  case 0x7E:
  case 0x7F:
    xx_prt(addr, ii, arg, ("STII"), 201, (ii & 0xF));
    break;
  case 0xBF:
    xx_prt(addr, ii, arg, ("LQID"), 0);
    break;
  case 0xFF:
    xx_prt(addr, ii, arg, ("JID"), 0);
    break;
  default:
    if (ii >= 0x80 && ii <= 0xFE) {
      unsigned int pnum;
      pnum = (addr >> 6);
      if ((pnum == 2) || (pnum == 3))
        xx_prt(addr, ii, arg, ("JP"), 100, (0), (ii));
      else {
        if (ii >= 0x80 && ii <= 0xBE)
          xx_prt(addr, ii, arg, ("JSRP"), 100, (0), (ii));
        else
          xx_prt(addr, ii, arg, ("JP"), 100, (0), ((pnum << 6) + (ii & 0x3F)));
      }
    } else
      xx_prt(addr, ii, arg, ("DB"), 201, (ii));
  }
}


x86 assembly (clang, -O0):
<process_opcode>:
push   %rbp
mov    %rsp,%rbp
sub    $0x30,%rsp
mov    %edi,-0x4(%rbp)
mov    %esi,-0x8(%rbp)
mov    %edx,-0xc(%rbp)
mov    -0x8(%rbp),%eax
mov    %rax,-0x20(%rbp)
sub    $0xff,%rax
ja     1dfb <process_opcode+0xceb>
mov    -0x20(%rbp),%rax
lea    0xec1(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
mov    -0x4(%rbp),%edi
mov    -0x8(%rbp),%esi
mov    -0xc(%rbp),%edx
lea    0x13a0(%rip),%rcx
xor    %r8d,%r8d
mov    $0x0,%al
call   1030 <xx_prt@plt>
jmp    1f03 <process_opcode+0xdf3>
mov    -0x4(%rbp),%edi
mov    -0x8(%rbp),%esi
mov    -0xc(%rbp),%edx
lea    0x1386(%rip),%rcx
mov    $0x1,%r8d
xor    %r9d,%r9d
mov    $0x0,%al
call   1030 <xx_prt@plt>
jmp    1f03 <process_opcode+0xdf3>
mov    -0x4(%rbp),%edi
mov    -0x8(%rbp),%esi
mov    -0xc(%rbp),%edx
lea    0x1367(%rip),%rcx
xor    %r8d,%r8d
mov    $0x0,%al
call   1030 <xx_prt@plt>
jmp    1f03 <process_opcode+0xdf3>
mov    -0x4(%rbp),%edi
mov    -0x8(%rbp),%esi
mov    -0xc(%rbp),%edx
lea    0x1342(%rip),%rcx
mov    $0x1,%r8d
mov    $0x2,%r9d
mov    $0x0,%al
call   1030 <xx_prt@plt>
jmp    1f03 <process_opcode+0xdf3>
mov    -0x4(%rbp),%edi
mov    -0x8(%rbp),%esi
mov    -0xc(%rbp),%edx
lea    0x1324(%rip),%rcx
mov    $0x1,%r8d
xor    %r9d,%r9d
mov    $0x0,%al
call   1030 <xx_prt@plt>
jmp    1f03 <process_opcode+0xdf3>
mov    -0x4(%rbp),%edi
mov    -0x8(%rbp),%esi
mov    -0xc(%rbp),%edx
lea    0x1303(%rip),%rcx
mov    $0x1,%r8d
xor    %r9d,%r9d
mov    $0x0,%al
call   1030 <xx_prt@plt>
jmp    1f03 <process_opcode+0xdf3>
mov    -0x4(%rbp),%edi
mov    -0x8(%rbp),%esi
mov    -0xc(%rbp),%edx
lea    0x12e1(%rip),%rcx
mov    $0x1,%r8d
xor    %r9d,%r9d
mov    $0x0,%al
call   1030 <xx_prt@plt>
jmp    1f03 <process_opcode+0xdf3>
mov    -0x4(%rbp),%edi
mov    -0x8(%rbp),%esi
mov    -0xc(%rbp),%edx
lea    0x12be(%rip),%rcx
mov    $0x1,%r8d
xor    %r9d,%r9d
mov    $0x0,%al
call   1030 <xx_prt@plt>
jmp    1f03 <process_opcode+0xdf3>
mov    -0x4(%rbp),%edi
mov    -0x8(%rbp),%esi
mov    -0xc(%rbp),%edx
mov    -0x8(%rbp),%r9d
shr    $0x4,%r9d
and    $0x3,%r9d
mov    -0x8(%rbp),%eax
and    $0xf,%eax
add    $0x1,%eax
and    $0xf,%eax
lea    0x1285(%rip),%rcx
mov    $0x2,%r8d
mov    %eax,(%rsp)
mov    $0x0,%al
call   1030 <xx_prt@plt>
jmp    1f03 <process_opcode+0xdf3>
mov    -0x4(%rbp),%edi
mov    -0x8(%rbp),%esi
mov    -0xc(%rbp),%edx
lea    0x1264(%rip),%rcx
xor    %r8d,%r8d
mov    $0x0,%al
call   1030 <xx_prt@plt>
jmp    1f03 <process_opcode+0xdf3>
mov    -0x4(%rbp),%edi
mov    -0x8(%rbp),%esi
mov    -0xc(%rbp),%edx
lea    0x122a(%rip),%rcx
mov    $0x1,%r9d
mov    %r9d,%r8d
mov    $0x0,%al
call   1030 <xx_prt@plt>
jmp    1f03 <process_opcode+0xdf3>
mov    -0x4(%rbp),%edi
mov    -0x8(%rbp),%esi
mov    -0xc(%rbp),%edx
lea    0x1225(%rip),%rcx
xor    %r8d,%r8d
mov    $0x0,%al
call   1030 <xx_prt@plt>
jmp    1f03 <process_opcode+0xdf3>
mov    -0x4(%rbp),%edi
mov    -0x8(%rbp),%esi
mov    -0xc(%rbp),%edx
lea    0x11e6(%rip),%rcx
mov    $0x1,%r8d
mov    $0x3,%r9d
mov    $0x0,%al
call   1030 <xx_prt@plt>
jmp    1f03 <process_opcode+0xdf3>
mov    -0x4(%rbp),%edi
mov    -0x8(%rbp),%esi
mov    -0xc(%rbp),%edx
lea    0x11c8(%rip),%rcx
mov    $0x1,%r9d
mov    %r9d,%r8d
mov    $0x0,%al
call   1030 <xx_prt@plt>
jmp    1f03 <process_opcode+0xdf3>
mov    -0x4(%rbp),%edi
mov    -0x8(%rbp),%esi
mov    -0xc(%rbp),%edx
lea    0x11a7(%rip),%rcx
mov    $0x1,%r9d
mov    %r9d,%r8d
mov    $0x0,%al
call   1030 <xx_prt@plt>
jmp    1f03 <process_opcode+0xdf3>
mov    -0x4(%rbp),%edi
mov    -0x8(%rbp),%esi
mov    -0xc(%rbp),%edx
lea    0x1185(%rip),%rcx
mov    $0x1,%r9d
mov    %r9d,%r8d
mov    $0x0,%al
call   1030 <xx_prt@plt>
jmp    1f03 <process_opcode+0xdf3>
mov    -0x4(%rbp),%edi
mov    -0x8(%rbp),%esi
mov    -0xc(%rbp),%edx
lea    0x1162(%rip),%rcx
mov    $0x1,%r9d
mov    %r9d,%r8d
mov    $0x0,%al
call   1030 <xx_prt@plt>
jmp    1f03 <process_opcode+0xdf3>
mov    -0x4(%rbp),%edi
mov    -0x8(%rbp),%esi
mov    -0xc(%rbp),%edx
mov    -0x8(%rbp),%r9d
shr    $0x4,%r9d
and    $0x3,%r9d
mov    -0x8(%rbp),%eax
and    $0xf,%eax
add    $0x1,%eax
and    $0xf,%eax
lea    0x1129(%rip),%rcx
mov    $0x2,%r8d
mov    %eax,(%rsp)
mov    $0x0,%al
call   1030 <xx_prt@plt>
jmp    1f03 <process_opcode+0xdf3>
mov    -0x4(%rbp),%edi
mov    -0x8(%rbp),%esi
mov    -0xc(%rbp),%edx
lea    0x1112(%rip),%rcx
xor    %r8d,%r8d
mov    $0x0,%al
call   1030 <xx_prt@plt>
jmp    1f03 <process_opcode+0xdf3>
mov    -0x4(%rbp),%edi
mov    -0x8(%rbp),%esi
mov    -0xc(%rbp),%edx
lea    0x10f7(%rip),%rcx
xor    %r8d,%r8d
mov    $0x0,%al
call   1030 <xx_prt@plt>
jmp    1f03 <process_opcode+0xdf3>
mov    -0x4(%rbp),%edi
mov    -0x8(%rbp),%esi
mov    -0xc(%rbp),%edx
lea    0x10cc(%rip),%rcx
xor    %r8d,%r8d
mov    $0x0,%al
call   1030 <xx_prt@plt>
jmp    1f03 <process_opcode+0xdf3>
mov    -0xc(%rbp),%eax
and    $0xc0,%eax
cmp    $0x0,%eax
jne    14a5 <process_opcode+0x395>
mov    -0x4(%rbp),%edi
mov    -0x8(%rbp),%esi
mov    -0xc(%rbp),%edx
mov    -0xc(%rbp),%r9d
shr    $0x4,%r9d
and    $0x3,%r9d
mov    -0xc(%rbp),%eax
and    $0xf,%eax
lea    0x109a(%rip),%rcx
mov    $0x2,%r8d
mov    %eax,(%rsp)
mov    $0x0,%al
call   1030 <xx_prt@plt>
jmp    1538 <process_opcode+0x428>
mov    -0xc(%rbp),%eax
and    $0xc0,%eax
cmp    $0x80,%eax
jne    14ef <process_opcode+0x3df>
mov    -0x4(%rbp),%edi
mov    -0x8(%rbp),%esi
mov    -0xc(%rbp),%edx
mov    -0xc(%rbp),%r9d
shr    $0x4,%r9d
and    $0x3,%r9d
mov    -0xc(%rbp),%eax
and    $0xf,%eax
lea    0x1054(%rip),%rcx
mov    $0x2,%r8d
mov    %eax,(%rsp)
mov    $0x0,%al
call   1030 <xx_prt@plt>
jmp    1533 <process_opcode+0x423>
mov    -0x4(%rbp),%edi
mov    -0x8(%rbp),%esi
mov    -0xc(%rbp),%edx
lea    0x1033(%rip),%rcx
mov    $0xc9,%r8d
mov    $0x23,%r9d
mov    $0x0,%al
call   1030 <xx_prt@plt>
mov    -0x4(%rbp),%edi
mov    -0x8(%rbp),%esi
mov    -0xc(%rbp),%edx
mov    -0xc(%rbp),%r9d
lea    0x100c(%rip),%rcx
mov    $0xc9,%r8d
mov    $0x0,%al
call   1030 <xx_prt@plt>
jmp    1538 <process_opcode+0x428>
jmp    1f03 <process_opcode+0xdf3>
mov    -0x4(%rbp),%edi
mov    -0x8(%rbp),%esi
mov    -0xc(%rbp),%edx
lea    0xfba(%rip),%rcx
mov    $0x1,%r8d
mov    $0x2,%r9d
mov    $0x0,%al
call   1030 <xx_prt@plt>
jmp    1f03 <process_opcode+0xdf3>
mov    -0x4(%rbp),%edi
mov    -0x8(%rbp),%esi
mov    -0xc(%rbp),%edx
lea    0xf96(%rip),%rcx
mov    $0x1,%r8d
mov    $0x2,%r9d
mov    $0x0,%al
call   1030 <xx_prt@plt>
jmp    1f03 <process_opcode+0xdf3>
mov    -0x4(%rbp),%edi
mov    -0x8(%rbp),%esi
mov    -0xc(%rbp),%edx
lea    0xf71(%rip),%rcx
mov    $0x1,%r8d
mov    $0x2,%r9d
mov    $0x0,%al
call   1030 <xx_prt@plt>
jmp    1f03 <process_opcode+0xdf3>
mov    -0x4(%rbp),%edi
mov    -0x8(%rbp),%esi
mov    -0xc(%rbp),%edx
lea    0xf4b(%rip),%rcx
mov    $0x1,%r8d
mov    $0x2,%r9d
mov    $0x0,%al
call   1030 <xx_prt@plt>
jmp    1f03 <process_opcode+0xdf3>
mov    -0x4(%rbp),%edi
mov    -0x8(%rbp),%esi
mov    -0xc(%rbp),%edx
mov    -0x8(%rbp),%r9d
shr    $0x4,%r9d
and    $0x3,%r9d
mov    -0x8(%rbp),%eax
and    $0xf,%eax
add    $0x1,%eax
and    $0xf,%eax
lea    0xf0f(%rip),%rcx
mov    $0x2,%r8d
mov    %eax,(%rsp)
mov    $0x0,%al
call   1030 <xx_prt@plt>
jmp    1f03 <process_opcode+0xdf3>
mov    -0x4(%rbp),%edi
mov    -0x8(%rbp),%esi
mov    -0xc(%rbp),%edx
lea    0xeef(%rip),%rcx
xor    %r8d,%r8d
mov    $0x0,%al
call   1030 <xx_prt@plt>
jmp    1f03 <process_opcode+0xdf3>
mov    -0x4(%rbp),%edi
mov    -0x8(%rbp),%esi
mov    -0xc(%rbp),%edx
lea    0xeec(%rip),%rcx
xor    %r8d,%r8d
mov    $0x0,%al
call   1030 <xx_prt@plt>
jmp    1f03 <process_opcode+0xdf3>
mov    -0x4(%rbp),%edi
mov    -0x8(%rbp),%esi
mov    -0xc(%rbp),%edx
lea    0xed1(%rip),%rcx
xor    %r8d,%r8d
mov    $0x0,%al
call   1030 <xx_prt@plt>
jmp    1f03 <process_opcode+0xdf3>
mov    -0xc(%rbp),%eax
add    $0xffffffff,%eax
mov    %eax,%ecx
mov    %rcx,-0x28(%rbp)
sub    $0x3d,%eax
ja     1851 <process_opcode+0x741>
mov    -0x28(%rbp),%rax
lea    0xd69(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
mov    -0x4(%rbp),%edi
mov    -0x8(%rbp),%esi
mov    -0xc(%rbp),%edx
lea    0xe8c(%rip),%rcx
mov    $0x1,%r8d
xor    %r9d,%r9d
mov    $0x0,%al
call   1030 <xx_prt@plt>
jmp    19dc <process_opcode+0x8cc>
mov    -0x4(%rbp),%edi
mov    -0x8(%rbp),%esi
mov    -0xc(%rbp),%edx
lea    0xe67(%rip),%rcx
mov    $0x1,%r8d
mov    $0x2,%r9d
mov    $0x0,%al
call   1030 <xx_prt@plt>
jmp    19dc <process_opcode+0x8cc>
mov    -0x4(%rbp),%edi
mov    -0x8(%rbp),%esi
mov    -0xc(%rbp),%edx
lea    0xe3f(%rip),%rcx
mov    $0x1,%r9d
mov    %r9d,%r8d
mov    $0x0,%al
call   1030 <xx_prt@plt>
jmp    19dc <process_opcode+0x8cc>
mov    -0x4(%rbp),%edi
mov    -0x8(%rbp),%esi
mov    -0xc(%rbp),%edx
lea    0xe1a(%rip),%rcx
mov    $0x1,%r8d
mov    $0x3,%r9d
mov    $0x0,%al
call   1030 <xx_prt@plt>
jmp    19dc <process_opcode+0x8cc>
mov    -0x4(%rbp),%edi
mov    -0x8(%rbp),%esi
mov    -0xc(%rbp),%edx
lea    0xdf8(%rip),%rcx
xor    %r8d,%r8d
mov    $0x0,%al
call   1030 <xx_prt@plt>
jmp    19dc <process_opcode+0x8cc>
mov    -0x4(%rbp),%edi
mov    -0x8(%rbp),%esi
mov    -0xc(%rbp),%edx
lea    0xdde(%rip),%rcx
xor    %r8d,%r8d
mov    $0x0,%al
call   1030 <xx_prt@plt>
jmp    19dc <process_opcode+0x8cc>
mov    -0x4(%rbp),%edi
mov    -0x8(%rbp),%esi
mov    -0xc(%rbp),%edx
lea    0xdc4(%rip),%rcx
xor    %r8d,%r8d
mov    $0x0,%al
call   1030 <xx_prt@plt>
jmp    19dc <process_opcode+0x8cc>
mov    -0x4(%rbp),%edi
mov    -0x8(%rbp),%esi
mov    -0xc(%rbp),%edx
lea    0xdaa(%rip),%rcx
xor    %r8d,%r8d
mov    $0x0,%al
call   1030 <xx_prt@plt>
jmp    19dc <process_opcode+0x8cc>
mov    -0x4(%rbp),%edi
mov    -0x8(%rbp),%esi
mov    -0xc(%rbp),%edx
lea    0xd8f(%rip),%rcx
xor    %r8d,%r8d
mov    $0x0,%al
call   1030 <xx_prt@plt>
jmp    19dc <process_opcode+0x8cc>
mov    -0x4(%rbp),%edi
mov    -0x8(%rbp),%esi
mov    -0xc(%rbp),%edx
lea    0xd75(%rip),%rcx
xor    %r8d,%r8d
mov    $0x0,%al
call   1030 <xx_prt@plt>
jmp    19dc <process_opcode+0x8cc>
mov    -0x4(%rbp),%edi
mov    -0x8(%rbp),%esi
mov    -0xc(%rbp),%edx
lea    0xd5b(%rip),%rcx
xor    %r8d,%r8d
mov    $0x0,%al
call   1030 <xx_prt@plt>
jmp    19dc <process_opcode+0x8cc>
mov    -0x4(%rbp),%edi
mov    -0x8(%rbp),%esi
mov    -0xc(%rbp),%edx
lea    0xd40(%rip),%rcx
xor    %r8d,%r8d
mov    $0x0,%al
call   1030 <xx_prt@plt>
jmp    19dc <process_opcode+0x8cc>
mov    -0x4(%rbp),%edi
mov    -0x8(%rbp),%esi
mov    -0xc(%rbp),%edx
lea    0xd25(%rip),%rcx
xor    %r8d,%r8d
mov    $0x0,%al
call   1030 <xx_prt@plt>
jmp    19dc <process_opcode+0x8cc>
cmpl   $0x50,-0xc(%rbp)
jb     188f <process_opcode+0x77f>
cmpl   $0x5f,-0xc(%rbp)
ja     188f <process_opcode+0x77f>
mov    -0x4(%rbp),%edi
mov    -0x8(%rbp),%esi
mov    -0xc(%rbp),%edx
mov    -0xc(%rbp),%r9d
and    $0xf,%r9d
lea    0xcee(%rip),%rcx
mov    $0x1,%r8d
mov    $0x0,%al
call   1030 <xx_prt@plt>
jmp    19d7 <process_opcode+0x8c7>
cmpl   $0x60,-0xc(%rbp)
jb     18cd <process_opcode+0x7bd>
cmpl   $0x6f,-0xc(%rbp)
ja     18cd <process_opcode+0x7bd>
mov    -0x4(%rbp),%edi
mov    -0x8(%rbp),%esi
mov    -0xc(%rbp),%edx
mov    -0xc(%rbp),%r9d
and    $0xf,%r9d
lea    0xcb4(%rip),%rcx
mov    $0x1,%r8d
mov    $0x0,%al
call   1030 <xx_prt@plt>
jmp    19d2 <process_opcode+0x8c2>
cmpl   $0x80,-0xc(%rbp)
jb     1989 <process_opcode+0x879>
cmpl   $0xbf,-0xc(%rbp)
ja     1989 <process_opcode+0x879>
mov    -0xc(%rbp),%eax
and    $0xf,%eax
mov    %ax,-0xe(%rbp)
movzwl -0xe(%rbp),%eax
cmp    $0x1,%eax
jl     1940 <process_opcode+0x830>
movzwl -0xe(%rbp),%eax
cmp    $0x8,%eax
jg     1940 <process_opcode+0x830>
mov    -0x4(%rbp),%edi
mov    -0x8(%rbp),%esi
mov    -0xc(%rbp),%edx
mov    -0xc(%rbp),%r9d
shr    $0x4,%r9d
and    $0x3,%r9d
movzwl -0xe(%rbp),%eax
lea    0xbe9(%rip),%rcx
mov    $0x2,%r8d
mov    %eax,(%rsp)
mov    $0x0,%al
call   1030 <xx_prt@plt>
jmp    1984 <process_opcode+0x874>
mov    -0x4(%rbp),%edi
mov    -0x8(%rbp),%esi
mov    -0xc(%rbp),%edx
lea    0xbe2(%rip),%rcx
mov    $0xc9,%r8d
mov    $0x33,%r9d
mov    $0x0,%al
call   1030 <xx_prt@plt>
mov    -0x4(%rbp),%edi
mov    -0x8(%rbp),%esi
mov    -0xc(%rbp),%edx
mov    -0xc(%rbp),%r9d
lea    0xbbb(%rip),%rcx
mov    $0xc9,%r8d
mov    $0x0,%al
call   1030 <xx_prt@plt>
jmp    19cd <process_opcode+0x8bd>
mov    -0x4(%rbp),%edi
mov    -0x8(%rbp),%esi
mov    -0xc(%rbp),%edx
lea    0xb99(%rip),%rcx
mov    $0xc9,%r8d
mov    $0x33,%r9d
mov    $0x0,%al
call   1030 <xx_prt@plt>
mov    -0x4(%rbp),%edi
mov    -0x8(%rbp),%esi
mov    -0xc(%rbp),%edx
mov    -0xc(%rbp),%r9d
lea    0xb72(%rip),%rcx
mov    $0xc9,%r8d
mov    $0x0,%al
call   1030 <xx_prt@plt>
jmp    19d2 <process_opcode+0x8c2>
jmp    19d7 <process_opcode+0x8c7>
jmp    19dc <process_opcode+0x8cc>
jmp    1f03 <process_opcode+0xdf3>
mov    -0x4(%rbp),%edi
mov    -0x8(%rbp),%esi
mov    -0xc(%rbp),%edx
lea    0xb16(%rip),%rcx
mov    $0x1,%r8d
mov    $0x3,%r9d
mov    $0x0,%al
call   1030 <xx_prt@plt>
jmp    1f03 <process_opcode+0xdf3>
mov    -0x4(%rbp),%edi
mov    -0x8(%rbp),%esi
mov    -0xc(%rbp),%edx
lea    0xaf2(%rip),%rcx
mov    $0x1,%r8d
mov    $0x3,%r9d
mov    $0x0,%al
call   1030 <xx_prt@plt>
jmp    1f03 <process_opcode+0xdf3>
mov    -0x4(%rbp),%edi
mov    -0x8(%rbp),%esi
mov    -0xc(%rbp),%edx
lea    0xacd(%rip),%rcx
mov    $0x1,%r8d
mov    $0x3,%r9d
mov    $0x0,%al
call   1030 <xx_prt@plt>
jmp    1f03 <process_opcode+0xdf3>
mov    -0x4(%rbp),%edi
mov    -0x8(%rbp),%esi
mov    -0xc(%rbp),%edx
lea    0xaa7(%rip),%rcx
mov    $0x1,%r8d
mov    $0x3,%r9d
mov    $0x0,%al
call   1030 <xx_prt@plt>
jmp    1f03 <process_opcode+0xdf3>
mov    -0x4(%rbp),%edi
mov    -0x8(%rbp),%esi
mov    -0xc(%rbp),%edx
mov    -0x8(%rbp),%r9d
shr    $0x4,%r9d
and    $0x3,%r9d
mov    -0x8(%rbp),%eax
and    $0xf,%eax
add    $0x1,%eax
and    $0xf,%eax
lea    0xa6b(%rip),%rcx
mov    $0x2,%r8d
mov    %eax,(%rsp)
mov    $0x0,%al
call   1030 <xx_prt@plt>
jmp    1f03 <process_opcode+0xdf3>
mov    -0x4(%rbp),%edi
mov    -0x8(%rbp),%esi
mov    -0xc(%rbp),%edx
lea    0xaa5(%rip),%rcx
xor    %r8d,%r8d
mov    $0x0,%al
call   1030 <xx_prt@plt>
jmp    1f03 <process_opcode+0xdf3>
mov    -0x4(%rbp),%edi
mov    -0x8(%rbp),%esi
mov    -0xc(%rbp),%edx
lea    0xa8b(%rip),%rcx
xor    %r8d,%r8d
mov    $0x0,%al
call   1030 <xx_prt@plt>
jmp    1f03 <process_opcode+0xdf3>
mov    -0x4(%rbp),%edi
mov    -0x8(%rbp),%esi
mov    -0xc(%rbp),%edx
lea    0xa70(%rip),%rcx
mov    $0x1,%r8d
mov    $0x2,%r9d
mov    $0x0,%al
call   1030 <xx_prt@plt>
jmp    1f03 <process_opcode+0xdf3>
mov    -0x4(%rbp),%edi
mov    -0x8(%rbp),%esi
mov    -0xc(%rbp),%edx
lea    0xa48(%rip),%rcx
mov    $0x1,%r8d
mov    $0x3,%r9d
mov    $0x0,%al
call   1030 <xx_prt@plt>
jmp    1f03 <process_opcode+0xdf3>
mov    -0x4(%rbp),%edi
mov    -0x8(%rbp),%esi
mov    -0xc(%rbp),%edx
lea    0xa24(%rip),%rcx
xor    %r8d,%r8d
mov    $0x0,%al
call   1030 <xx_prt@plt>
jmp    1f03 <process_opcode+0xdf3>
mov    -0x4(%rbp),%edi
mov    -0x8(%rbp),%esi
mov    -0xc(%rbp),%edx
lea    0xa01(%rip),%rcx
mov    $0x1,%r9d
mov    %r9d,%r8d
mov    $0x0,%al
call   1030 <xx_prt@plt>
jmp    1f03 <process_opcode+0xdf3>
mov    -0x4(%rbp),%edi
mov    -0x8(%rbp),%esi
mov    -0xc(%rbp),%edx
lea    0x9e4(%rip),%rcx
mov    $0x1,%r8d
mov    $0x2,%r9d
mov    $0x0,%al
call   1030 <xx_prt@plt>
jmp    1f03 <process_opcode+0xdf3>
mov    -0x4(%rbp),%edi
mov    -0x8(%rbp),%esi
mov    -0xc(%rbp),%edx
lea    0x9bc(%rip),%rcx
mov    $0x1,%r9d
mov    %r9d,%r8d
mov    $0x0,%al
call   1030 <xx_prt@plt>
jmp    1f03 <process_opcode+0xdf3>
mov    -0x4(%rbp),%edi
mov    -0x8(%rbp),%esi
mov    -0xc(%rbp),%edx
lea    0x99b(%rip),%rcx
xor    %r8d,%r8d
mov    $0x0,%al
call   1030 <xx_prt@plt>
jmp    1f03 <process_opcode+0xdf3>
mov    -0x4(%rbp),%edi
mov    -0x8(%rbp),%esi
mov    -0xc(%rbp),%edx
lea    0x980(%rip),%rcx
xor    %r8d,%r8d
mov    $0x0,%al
call   1030 <xx_prt@plt>
jmp    1f03 <process_opcode+0xdf3>
mov    -0x4(%rbp),%edi
mov    -0x8(%rbp),%esi
mov    -0xc(%rbp),%edx
lea    0x967(%rip),%rcx
xor    %r8d,%r8d
mov    $0x0,%al
call   1030 <xx_prt@plt>
jmp    1f03 <process_opcode+0xdf3>
mov    -0x4(%rbp),%edi
mov    -0x8(%rbp),%esi
mov    -0xc(%rbp),%edx
lea    0x93a(%rip),%rcx
mov    $0x1,%r8d
mov    $0x3,%r9d
mov    $0x0,%al
call   1030 <xx_prt@plt>
jmp    1f03 <process_opcode+0xdf3>
mov    -0x4(%rbp),%edi
mov    -0x8(%rbp),%esi
mov    -0xc(%rbp),%edx
lea    0x90a(%rip),%rcx
mov    $0x1,%r8d
xor    %r9d,%r9d
mov    $0x0,%al
call   1030 <xx_prt@plt>
jmp    1f03 <process_opcode+0xdf3>
mov    -0x4(%rbp),%edi
mov    -0x8(%rbp),%esi
mov    -0xc(%rbp),%edx
lea    0x8ed(%rip),%rcx
mov    $0x1,%r8d
xor    %r9d,%r9d
mov    $0x0,%al
call   1030 <xx_prt@plt>
jmp    1f03 <process_opcode+0xdf3>
mov    -0x4(%rbp),%edi
mov    -0x8(%rbp),%esi
mov    -0xc(%rbp),%edx
lea    0x8da(%rip),%rcx
xor    %r8d,%r8d
mov    $0x0,%al
call   1030 <xx_prt@plt>
jmp    1f03 <process_opcode+0xdf3>
mov    -0x4(%rbp),%edi
mov    -0x8(%rbp),%esi
mov    -0xc(%rbp),%edx
lea    0x8bf(%rip),%rcx
xor    %r8d,%r8d
mov    $0x0,%al
call   1030 <xx_prt@plt>
jmp    1f03 <process_opcode+0xdf3>
mov    -0x4(%rbp),%edi
mov    -0x8(%rbp),%esi
mov    -0xc(%rbp),%edx
lea    0x8a4(%rip),%rcx
xor    %r8d,%r8d
mov    $0x0,%al
call   1030 <xx_prt@plt>
jmp    1f03 <process_opcode+0xdf3>
mov    -0x4(%rbp),%edi
mov    -0x8(%rbp),%esi
mov    -0xc(%rbp),%edx
mov    -0x8(%rbp),%r9d
and    $0xf,%r9d
lea    0x881(%rip),%rcx
mov    $0x1,%r8d
mov    $0x0,%al
call   1030 <xx_prt@plt>
jmp    1f03 <process_opcode+0xdf3>
mov    -0x4(%rbp),%edi
mov    -0x8(%rbp),%esi
mov    -0xc(%rbp),%edx
mov    -0x8(%rbp),%r9d
and    $0x3,%r9d
mov    -0xc(%rbp),%eax
lea    0x859(%rip),%rcx
mov    $0x64,%r8d
mov    %eax,(%rsp)
mov    $0x0,%al
call   1030 <xx_prt@plt>
jmp    1f03 <process_opcode+0xdf3>
mov    -0x4(%rbp),%edi
mov    -0x8(%rbp),%esi
mov    -0xc(%rbp),%edx
mov    -0x8(%rbp),%r9d
and    $0x3,%r9d
mov    -0xc(%rbp),%eax
lea    0x82d(%rip),%rcx
mov    $0x64,%r8d
mov    %eax,(%rsp)
mov    $0x0,%al
call   1030 <xx_prt@plt>
jmp    1f03 <process_opcode+0xdf3>
mov    -0x4(%rbp),%edi
mov    -0x8(%rbp),%esi
mov    -0xc(%rbp),%edx
mov    -0x8(%rbp),%r9d
and    $0xf,%r9d
lea    0x804(%rip),%rcx
mov    $0xc9,%r8d
mov    $0x0,%al
call   1030 <xx_prt@plt>
jmp    1f03 <process_opcode+0xdf3>
mov    -0x4(%rbp),%edi
mov    -0x8(%rbp),%esi
mov    -0xc(%rbp),%edx
lea    0x7e7(%rip),%rcx
xor    %r8d,%r8d
mov    $0x0,%al
call   1030 <xx_prt@plt>
jmp    1f03 <process_opcode+0xdf3>
mov    -0x4(%rbp),%edi
mov    -0x8(%rbp),%esi
mov    -0xc(%rbp),%edx
lea    0x7cd(%rip),%rcx
xor    %r8d,%r8d
mov    $0x0,%al
call   1030 <xx_prt@plt>
jmp    1f03 <process_opcode+0xdf3>
cmpl   $0x80,-0x8(%rbp)
jb     1edd <process_opcode+0xdcd>
cmpl   $0xfe,-0x8(%rbp)
ja     1edd <process_opcode+0xdcd>
mov    -0x4(%rbp),%eax
sar    $0x6,%eax
mov    %eax,-0x14(%rbp)
cmpl   $0x2,-0x14(%rbp)
je     1e32 <process_opcode+0xd22>
cmpl   $0x3,-0x14(%rbp)
jne    1e5d <process_opcode+0xd4d>
mov    -0x4(%rbp),%edi
mov    -0x8(%rbp),%esi
mov    -0xc(%rbp),%edx
mov    -0x8(%rbp),%eax
lea    0x778(%rip),%rcx
mov    $0x64,%r8d
xor    %r9d,%r9d
mov    %eax,(%rsp)
mov    $0x0,%al
call   1030 <xx_prt@plt>
jmp    1ed8 <process_opcode+0xdc8>
cmpl   $0x80,-0x8(%rbp)
jb     1ea2 <process_opcode+0xd92>
cmpl   $0xbe,-0x8(%rbp)
ja     1ea2 <process_opcode+0xd92>
mov    -0x4(%rbp),%edi
mov    -0x8(%rbp),%esi
mov    -0xc(%rbp),%edx
mov    -0x8(%rbp),%eax
lea    0x736(%rip),%rcx
mov    $0x64,%r8d
xor    %r9d,%r9d
mov    %eax,(%rsp)
mov    $0x0,%al
call   1030 <xx_prt@plt>
jmp    1ed3 <process_opcode+0xdc3>
mov    -0x4(%rbp),%edi
mov    -0x8(%rbp),%esi
mov    -0xc(%rbp),%edx
mov    -0x14(%rbp),%eax
shl    $0x6,%eax
mov    -0x8(%rbp),%ecx
and    $0x3f,%ecx
add    %ecx,%eax
lea    0x6fd(%rip),%rcx
mov    $0x64,%r8d
xor    %r9d,%r9d
mov    %eax,(%rsp)
mov    $0x0,%al
call   1030 <xx_prt@plt>
jmp    1ed8 <process_opcode+0xdc8>
jmp    1efe <process_opcode+0xdee>
mov    -0x4(%rbp),%edi
mov    -0x8(%rbp),%esi
mov    -0xc(%rbp),%edx
mov    -0x8(%rbp),%r9d
lea    0x641(%rip),%rcx
mov    $0xc9,%r8d
mov    $0x0,%al
call   1030 <xx_prt@plt>
jmp    1f03 <process_opcode+0xdf3>
add    $0x30,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<process_opcode>:
push   %rbp
push   %r14
push   %rbx
sub    $0x10,%rsp
mov    %edx,%ebx
mov    %edi,%ebp
cmp    $0xff,%esi
ja     160c <process_opcode+0x4fc>
mov    %esi,%eax
lea    0xecf(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
mov    %esi,%r9d
shr    $0x4,%r9d
lea    0x1(%rsi),%eax
and    $0xf,%eax
mov    %eax,(%rsp)
lea    0x13c3(%rip),%rcx
mov    %ebp,%edi
mov    %ebx,%edx
mov    $0x2,%r8d
xor    %eax,%eax
call   1030 <xx_prt@plt>
add    $0x10,%rsp
pop    %rbx
pop    %r14
pop    %rbp
ret
mov    %esi,%r9d
and    $0xf,%r9d
lea    0x1436(%rip),%rcx
mov    %ebp,%edi
mov    %ebx,%edx
mov    $0xc9,%r8d
jmp    15bb <process_opcode+0x4ab>
mov    %esi,%r9d
and    $0xf,%r9d
lea    0x140c(%rip),%rcx
mov    %ebp,%edi
mov    %ebx,%edx
mov    $0x1,%r8d
jmp    15bb <process_opcode+0x4ab>
mov    %esi,%r9d
and    $0x3,%r9d
mov    %ebx,(%rsp)
lea    0x13f1(%rip),%rcx
jmp    11c9 <process_opcode+0xb9>
mov    %esi,%r9d
and    $0x3,%r9d
mov    %ebx,(%rsp)
lea    0x13e2(%rip),%rcx
mov    %ebp,%edi
mov    %ebx,%edx
mov    $0x64,%r8d
jmp    115b <process_opcode+0x4b>
lea    0x133c(%rip),%rcx
mov    %ebp,%edi
mov    $0x10,%esi
jmp    15f8 <process_opcode+0x4e8>
lea    0x130e(%rip),%rcx
mov    %ebp,%edi
mov    $0x11,%esi
jmp    15ad <process_opcode+0x49d>
lea    0x1305(%rip),%rcx
mov    %ebp,%edi
mov    $0x14,%esi
jmp    15ad <process_opcode+0x49d>
lea    0x12f6(%rip),%rcx
mov    %ebp,%edi
mov    $0x15,%esi
jmp    15ad <process_opcode+0x49d>
lea    0x12e6(%rip),%rcx
mov    %ebp,%edi
mov    $0x16,%esi
jmp    15ad <process_opcode+0x49d>
lea    0x12e7(%rip),%rcx
mov    %ebp,%edi
mov    $0x20,%esi
jmp    15f8 <process_opcode+0x4e8>
lea    0x12b9(%rip),%rcx
mov    %ebp,%edi
mov    $0x24,%esi
jmp    153e <process_opcode+0x42e>
lea    0x12ad(%rip),%rcx
mov    %ebp,%edi
mov    $0x26,%esi
jmp    153e <process_opcode+0x42e>
lea    0x129c(%rip),%rcx
mov    %ebp,%edi
mov    $0x27,%esi
jmp    153e <process_opcode+0x42e>
lea    0x12ae(%rip),%rcx
mov    %ebp,%edi
mov    $0x31,%esi
jmp    15f8 <process_opcode+0x4e8>
lea    0x129f(%rip),%rcx
mov    %ebp,%edi
mov    $0x32,%esi
jmp    15f8 <process_opcode+0x4e8>
lea    -0x1(%rbx),%eax
cmp    $0x3d,%eax
ja     16e7 <process_opcode+0x5d7>
lea    0x1147(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
lea    0x1273(%rip),%rcx
mov    %ebp,%edi
mov    $0x33,%esi
mov    $0x1,%edx
jmp    1490 <process_opcode+0x380>
lea    0x1226(%rip),%rcx
mov    %ebp,%edi
mov    $0x34,%esi
jmp    156f <process_opcode+0x45f>
lea    0x1217(%rip),%rcx
mov    %ebp,%edi
mov    $0x35,%esi
jmp    156f <process_opcode+0x45f>
lea    0x1207(%rip),%rcx
mov    %ebp,%edi
mov    $0x36,%esi
jmp    156f <process_opcode+0x45f>
lea    0x125e(%rip),%rcx
mov    %ebp,%edi
mov    $0x41,%esi
jmp    15f8 <process_opcode+0x4e8>
lea    0x124f(%rip),%rcx
mov    %ebp,%edi
mov    $0x42,%esi
jmp    153e <process_opcode+0x42e>
lea    0x123c(%rip),%rcx
mov    %ebp,%edi
mov    $0x43,%esi
jmp    156f <process_opcode+0x45f>
lea    0x122d(%rip),%rcx
mov    %ebp,%edi
mov    $0x44,%esi
jmp    15f8 <process_opcode+0x4e8>
lea    0x121e(%rip),%rcx
mov    %ebp,%edi
mov    $0x46,%esi
jmp    153e <process_opcode+0x42e>
lea    0x120f(%rip),%rcx
mov    %ebp,%edi
mov    $0x48,%esi
jmp    15f8 <process_opcode+0x4e8>
lea    0x11f8(%rip),%rcx
mov    %ebp,%edi
mov    $0x4b,%esi
jmp    156f <process_opcode+0x45f>
lea    0x11dd(%rip),%rcx
mov    %ebp,%edi
mov    $0x4c,%esi
jmp    148e <process_opcode+0x37e>
lea    0x11d2(%rip),%rcx
mov    %ebp,%edi
mov    $0x4d,%esi
jmp    148e <process_opcode+0x37e>
lea    0x11d5(%rip),%rcx
mov    %ebp,%edi
mov    $0x4f,%esi
jmp    15f8 <process_opcode+0x4e8>
lea    0x11c6(%rip),%rcx
mov    %ebp,%edi
mov    $0x50,%esi
jmp    15f8 <process_opcode+0x4e8>
lea    0x11c9(%rip),%rcx
mov    %ebp,%edi
mov    $0xbf,%esi
jmp    15f8 <process_opcode+0x4e8>
lea    0x11bb(%rip),%rcx
mov    %ebp,%edi
mov    $0xff,%esi
jmp    15f8 <process_opcode+0x4e8>
lea    0x10e7(%rip),%rcx
mov    %ebp,%edi
xor    %esi,%esi
jmp    15f8 <process_opcode+0x4e8>
lea    0x10dc(%rip),%rcx
mov    %ebp,%edi
mov    $0x1,%esi
jmp    148e <process_opcode+0x37e>
lea    0x10d2(%rip),%rcx
mov    %ebp,%edi
mov    $0x2,%esi
jmp    15f8 <process_opcode+0x4e8>
lea    0x10b9(%rip),%rcx
mov    %ebp,%edi
mov    $0x3,%esi
jmp    153e <process_opcode+0x42e>
lea    0x10b0(%rip),%rcx
mov    %ebp,%edi
mov    $0x4,%esi
jmp    148e <process_opcode+0x37e>
lea    0x10a4(%rip),%rcx
mov    %ebp,%edi
mov    $0x5,%esi
jmp    148e <process_opcode+0x37e>
lea    0x1097(%rip),%rcx
mov    %ebp,%edi
mov    $0x6,%esi
jmp    148e <process_opcode+0x37e>
lea    0x1089(%rip),%rcx
mov    %ebp,%edi
mov    $0x7,%esi
mov    %ebx,%edx
mov    $0x1,%r8d
xor    %r9d,%r9d
jmp    15bb <process_opcode+0x4ab>
lea    0x1078(%rip),%rcx
mov    %ebp,%edi
mov    $0x12,%esi
jmp    15f8 <process_opcode+0x4e8>
lea    0x1045(%rip),%rcx
mov    %ebp,%edi
mov    $0x13,%esi
jmp    156f <process_opcode+0x45f>
lea    0x1045(%rip),%rcx
mov    %ebp,%edi
mov    $0x17,%esi
jmp    15ad <process_opcode+0x49d>
lea    0x1048(%rip),%rcx
mov    %ebp,%edi
mov    $0x21,%esi
jmp    15f8 <process_opcode+0x4e8>
lea    0x1029(%rip),%rcx
mov    %ebp,%edi
mov    $0x22,%esi
jmp    15f8 <process_opcode+0x4e8>
mov    %ebx,%eax
and    $0xc0,%al
cmp    $0x80,%al
je     1645 <process_opcode+0x535>
test   %al,%al
jne    166b <process_opcode+0x55b>
mov    %ebx,%r9d
shr    $0x4,%r9d
and    $0x3,%r9d
mov    %ebx,%eax
and    $0xf,%eax
mov    %eax,(%rsp)
lea    0xfff(%rip),%rcx
jmp    165f <process_opcode+0x54f>
lea    0xfd4(%rip),%rcx
mov    %ebp,%edi
mov    $0x25,%esi
mov    %ebx,%edx
mov    $0x1,%r8d
mov    $0x2,%r9d
jmp    15bb <process_opcode+0x4ab>
lea    0xfc4(%rip),%rcx
mov    %ebp,%edi
mov    $0x30,%esi
jmp    15f8 <process_opcode+0x4e8>
lea    0xfa8(%rip),%rcx
mov    %ebp,%edi
mov    $0x37,%esi
mov    %ebx,%edx
mov    $0x1,%r8d
mov    $0x3,%r9d
jmp    15bb <process_opcode+0x4ab>
lea    0xfed(%rip),%rcx
mov    %ebp,%edi
mov    $0x40,%esi
jmp    15f8 <process_opcode+0x4e8>
lea    0xfe6(%rip),%rcx
mov    %ebp,%edi
mov    $0x45,%esi
jmp    15ad <process_opcode+0x49d>
lea    0xfde(%rip),%rcx
mov    %ebp,%edi
mov    $0x47,%esi
mov    %ebx,%edx
mov    $0x1,%r8d
mov    $0x1,%r9d
xor    %eax,%eax
add    $0x10,%rsp
pop    %rbx
pop    %r14
pop    %rbp
jmp    1030 <xx_prt@plt>
lea    0xfbb(%rip),%rcx
mov    %ebp,%edi
mov    $0x49,%esi
jmp    15f8 <process_opcode+0x4e8>
lea    0xfb1(%rip),%rcx
mov    %ebp,%edi
mov    $0x4a,%esi
jmp    15f8 <process_opcode+0x4e8>
lea    0xfa5(%rip),%rcx
mov    %ebp,%edi
mov    $0x4e,%esi
mov    %ebx,%edx
xor    %r8d,%r8d
xor    %eax,%eax
add    $0x10,%rsp
pop    %rbx
pop    %r14
pop    %rbp
jmp    1030 <xx_prt@plt>
lea    -0x80(%rsi),%eax
cmp    $0x7e,%eax
ja     162c <process_opcode+0x51c>
mov    %ebp,%eax
and    $0xffffff80,%eax
cmp    $0x80,%eax
jne    16ab <process_opcode+0x59b>
mov    %esi,(%rsp)
jmp    16ce <process_opcode+0x5be>
lea    0xeff(%rip),%rcx
mov    %ebp,%edi
mov    %ebx,%edx
mov    $0xc9,%r8d
mov    %esi,%r9d
jmp    15bb <process_opcode+0x4ab>
mov    %ebx,%r9d
shr    $0x4,%r9d
and    $0x3,%r9d
mov    %ebx,%eax
and    $0xf,%eax
mov    %eax,(%rsp)
lea    0xecf(%rip),%rcx
mov    %ebp,%edi
mov    $0x23,%esi
jmp    1153 <process_opcode+0x43>
lea    0xec0(%rip),%r14
mov    %ebp,%edi
mov    $0x23,%esi
mov    %ebx,%edx
mov    %r14,%rcx
mov    $0xc9,%r8d
mov    $0x23,%r9d
xor    %eax,%eax
call   1030 <xx_prt@plt>
mov    %ebp,%edi
mov    $0x23,%esi
mov    %ebx,%edx
mov    %r14,%rcx
mov    $0xc9,%r8d
mov    %ebx,%r9d
jmp    15bb <process_opcode+0x4ab>
cmp    $0xbe,%esi
ja     16bf <process_opcode+0x5af>
mov    %esi,(%rsp)
lea    0xf03(%rip),%rcx
jmp    16d5 <process_opcode+0x5c5>
mov    %ebp,%eax
and    $0xffffffc0,%eax
mov    %esi,%ecx
and    $0x3f,%ecx
or     %eax,%ecx
mov    %ecx,(%rsp)
lea    0xee8(%rip),%rcx
mov    %ebp,%edi
mov    %ebx,%edx
mov    $0x64,%r8d
xor    %r9d,%r9d
jmp    115b <process_opcode+0x4b>
mov    %ebx,%eax
and    $0xfffffff0,%eax
cmp    $0x60,%eax
je     1831 <process_opcode+0x721>
cmp    $0x50,%eax
jne    184b <process_opcode+0x73b>
mov    %ebx,%r9d
and    $0xf,%r9d
lea    0xe5f(%rip),%rcx
jmp    183f <process_opcode+0x72f>
lea    0xe24(%rip),%rcx
mov    %ebp,%edi
mov    $0x33,%esi
mov    $0x3,%edx
jmp    1540 <process_opcode+0x430>
lea    0xe0c(%rip),%rcx
mov    %ebp,%edi
mov    $0x33,%esi
mov    $0x11,%edx
jmp    15af <process_opcode+0x49f>
lea    0xdf4(%rip),%rcx
mov    %ebp,%edi
mov    $0x33,%esi
mov    $0x13,%edx
jmp    1571 <process_opcode+0x461>
lea    0xde2(%rip),%rcx
mov    %ebp,%edi
mov    $0x33,%esi
mov    $0x21,%edx
jmp    15fa <process_opcode+0x4ea>
lea    0xdcf(%rip),%rcx
mov    %ebp,%edi
mov    $0x33,%esi
mov    $0x28,%edx
jmp    15fa <process_opcode+0x4ea>
lea    0xdbc(%rip),%rcx
mov    %ebp,%edi
mov    $0x33,%esi
mov    $0x29,%edx
jmp    15fa <process_opcode+0x4ea>
lea    0xda9(%rip),%rcx
mov    %ebp,%edi
mov    $0x33,%esi
mov    $0x2a,%edx
jmp    15fa <process_opcode+0x4ea>
lea    0xda7(%rip),%rcx
mov    %ebp,%edi
mov    $0x33,%esi
mov    $0x3a,%edx
jmp    15fa <process_opcode+0x4ea>
lea    0xd82(%rip),%rcx
mov    %ebp,%edi
mov    $0x33,%esi
mov    $0x3c,%edx
jmp    15fa <process_opcode+0x4ea>
lea    0xd73(%rip),%rcx
mov    %ebp,%edi
mov    $0x33,%esi
mov    $0x3e,%edx
jmp    15fa <process_opcode+0x4ea>
lea    0xd4d(%rip),%rcx
mov    %ebp,%edi
mov    $0x33,%esi
mov    $0x2c,%edx
jmp    15fa <process_opcode+0x4ea>
lea    0xd3f(%rip),%rcx
mov    %ebp,%edi
mov    $0x33,%esi
mov    $0x2e,%edx
jmp    15fa <process_opcode+0x4ea>
mov    %ebx,%r9d
and    $0xf,%r9d
lea    0xd30(%rip),%rcx
mov    %ebp,%edi
mov    $0x33,%esi
jmp    1198 <process_opcode+0x88>
mov    %ebx,%eax
and    $0xffffffc0,%eax
cmp    $0x80,%eax
jne    1885 <process_opcode+0x775>
mov    %ebx,%eax
and    $0xf,%eax
lea    -0x1(%rax),%ecx
cmp    $0x7,%ecx
ja     1885 <process_opcode+0x775>
mov    %ebx,%r9d
shr    $0x4,%r9d
and    $0x3,%r9d
mov    %eax,(%rsp)
lea    0xc9b(%rip),%rcx
mov    %ebp,%edi
mov    $0x33,%esi
jmp    1153 <process_opcode+0x43>
lea    0xca6(%rip),%r14
mov    %ebp,%edi
mov    $0x33,%esi
mov    %ebx,%edx
mov    %r14,%rcx
mov    $0xc9,%r8d
mov    $0x33,%r9d
xor    %eax,%eax
call   1030 <xx_prt@plt>
mov    %ebp,%edi
mov    $0x33,%esi
jmp    1698 <process_opcode+0x588>

LLVM IR (-O0):
@.str = [5 x i8] c"CLRA\00"
@.str.1 = [6 x i8] c"SKMBZ\00"
@.str.2 = [4 x i8] c"XOR\00"
@.str.3 = [4 x i8] c"XIS\00"
@.str.4 = [3 x i8] c"LD\00"
@.str.5 = [2 x i8] c"X\00"
@.str.6 = [4 x i8] c"XDS\00"
@.str.7 = [4 x i8] c"LBI\00"
@.str.8 = [5 x i8] c"CASC\00"
@.str.9 = [5 x i8] c"XABR\00"
@.str.10 = [4 x i8] c"SKC\00"
@.str.11 = [4 x i8] c"SKE\00"
@.str.12 = [3 x i8] c"SC\00"
@.str.13 = [4 x i8] c"LDD\00"
@.str.14 = [4 x i8] c"XAD\00"
@.str.15 = [3 x i8] c"DB\00"
@.str.16 = [4 x i8] c"ASC\00"
@.str.17 = [4 x i8] c"ADD\00"
@.str.18 = [3 x i8] c"RC\00"
@.str.19 = [6 x i8] c"SKGBZ\00"
@.str.20 = [5 x i8] c"SKGZ\00"
@.str.21 = [5 x i8] c"ININ\00"
@.str.22 = [5 x i8] c"INIL\00"
@.str.23 = [4 x i8] c"ING\00"
@.str.24 = [5 x i8] c"CQMA\00"
@.str.25 = [5 x i8] c"CAMQ\00"
@.str.26 = [4 x i8] c"INL\00"
@.str.27 = [4 x i8] c"OBD\00"
@.str.28 = [4 x i8] c"OMG\00"
@.str.29 = [4 x i8] c"OGI\00"
@.str.30 = [4 x i8] c"LEI\00"
@.str.31 = [5 x i8] c"COMP\00"
@.str.32 = [4 x i8] c"SKT\00"
@.str.33 = [4 x i8] c"RMB\00"
@.str.34 = [4 x i8] c"NOP\00"
@.str.35 = [4 x i8] c"SMB\00"
@.str.36 = [4 x i8] c"RET\00"
@.str.37 = [6 x i8] c"RETSK\00"
@.str.38 = [4 x i8] c"ADT\00"
@.str.39 = [4 x i8] c"CBA\00"
@.str.40 = [4 x i8] c"XAS\00"
@.str.41 = [4 x i8] c"CAB\00"
@.str.42 = [5 x i8] c"AISC\00"
@.str.43 = [4 x i8] c"JMP\00"
@.str.44 = [4 x i8] c"JSR\00"
@.str.45 = [5 x i8] c"STII\00"
@.str.46 = [5 x i8] c"LQID\00"
@.str.47 = [4 x i8] c"JID\00"
@.str.48 = [3 x i8] c"JP\00"
@.str.49 = [5 x i8] c"JSRP\00"
define void @process_opcode(i32 %0, i32 %1, i32 %2) {
%4 = alloca i32
%5 = alloca i32
%6 = alloca i32
%7 = alloca i16
%8 = alloca i32
store i32 %0, i32* %4
store i32 %1, i32* %5
store i32 %2, i32* %6
%9 = load i32, i32* %5
switch i32 %9, label %518 [
i32 0, label %10
i32 1, label %15
i32 2, label %20
i32 3, label %25
i32 4, label %30
i32 5, label %35
i32 6, label %40
i32 7, label %45
i32 8, label %50
i32 9, label %50
i32 10, label %50
i32 11, label %50
i32 12, label %50
i32 13, label %50
i32 14, label %50
i32 15, label %50
i32 16, label %62
i32 17, label %67
i32 18, label %72
i32 19, label %77
i32 20, label %82
i32 21, label %87
i32 22, label %92
i32 23, label %97
i32 24, label %102
i32 25, label %102
i32 26, label %102
i32 27, label %102
i32 28, label %102
i32 29, label %102
i32 30, label %102
i32 31, label %102
i32 32, label %114
i32 33, label %119
i32 34, label %124
i32 35, label %129
i32 36, label %169
i32 37, label %174
i32 38, label %179
i32 39, label %184
i32 40, label %189
i32 41, label %189
i32 42, label %189
i32 43, label %189
i32 44, label %189
i32 45, label %189
i32 46, label %189
i32 47, label %189
i32 48, label %201
i32 49, label %206
i32 50, label %211
i32 51, label %216
i32 52, label %361
i32 53, label %366
i32 54, label %371
i32 55, label %376
i32 56, label %381
i32 57, label %381
i32 58, label %381
i32 59, label %381
i32 60, label %381
i32 61, label %381
i32 62, label %381
i32 63, label %381
i32 64, label %393
i32 65, label %398
i32 66, label %403
i32 67, label %408
i32 68, label %413
i32 69, label %418
i32 70, label %423
i32 71, label %428
i32 72, label %433
i32 73, label %438
i32 74, label %443
i32 75, label %448
i32 76, label %453
i32 77, label %458
i32 78, label %463
i32 79, label %468
i32 80, label %473
i32 81, label %478
i32 82, label %478
i32 83, label %478
i32 84, label %478
i32 85, label %478
i32 86, label %478
i32 87, label %478
i32 88, label %478
i32 89, label %478
i32 90, label %478
i32 91, label %478
i32 92, label %478
i32 93, label %478
i32 94, label %478
i32 95, label %478
i32 96, label %485
i32 97, label %485
i32 98, label %485
i32 99, label %485
i32 104, label %493
i32 105, label %493
i32 106, label %493
i32 107, label %493
i32 112, label %501
i32 113, label %501
i32 114, label %501
i32 115, label %501
i32 116, label %501
i32 117, label %501
i32 118, label %501
i32 119, label %501
i32 120, label %501
i32 121, label %501
i32 122, label %501
i32 123, label %501
i32 124, label %501
i32 125, label %501
i32 126, label %501
i32 127, label %501
i32 191, label %508
i32 255, label %513
]
10: ; preds = %3
%11 = load i32, i32* %4
%12 = load i32, i32* %5
%13 = load i32, i32* %6
%14 = call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %11, i32 %12, i32 %13, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str, i64 0, i64 0), i32 0)
br label %569
15: ; preds = %3
%16 = load i32, i32* %4
%17 = load i32, i32* %5
%18 = load i32, i32* %6
%19 = call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %16, i32 %17, i32 %18, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.1, i64 0, i64 0), i32 1, i32 0)
br label %569
20: ; preds = %3
%21 = load i32, i32* %4
%22 = load i32, i32* %5
%23 = load i32, i32* %6
%24 = call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %21, i32 %22, i32 %23, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.2, i64 0, i64 0), i32 0)
br label %569
25: ; preds = %3
%26 = load i32, i32* %4
%27 = load i32, i32* %5
%28 = load i32, i32* %6
%29 = call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %26, i32 %27, i32 %28, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.1, i64 0, i64 0), i32 1, i32 2)
br label %569
30: ; preds = %3
%31 = load i32, i32* %4
%32 = load i32, i32* %5
%33 = load i32, i32* %6
%34 = call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %31, i32 %32, i32 %33, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.3, i64 0, i64 0), i32 1, i32 0)
br label %569
35: ; preds = %3
%36 = load i32, i32* %4
%37 = load i32, i32* %5
%38 = load i32, i32* %6
%39 = call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %36, i32 %37, i32 %38, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.4, i64 0, i64 0), i32 1, i32 0)
br label %569
40: ; preds = %3
%41 = load i32, i32* %4
%42 = load i32, i32* %5
%43 = load i32, i32* %6
%44 = call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %41, i32 %42, i32 %43, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.5, i64 0, i64 0), i32 1, i32 0)
br label %569
45: ; preds = %3
%46 = load i32, i32* %4
%47 = load i32, i32* %5
%48 = load i32, i32* %6
%49 = call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %46, i32 %47, i32 %48, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.6, i64 0, i64 0), i32 1, i32 0)
br label %569
50: ; preds = %3, %3, %3, %3, %3, %3, %3, %3
%51 = load i32, i32* %4
%52 = load i32, i32* %5
%53 = load i32, i32* %6
%54 = load i32, i32* %5
%55 = lshr i32 %54, 4
%56 = and i32 %55, 3
%57 = load i32, i32* %5
%58 = and i32 %57, 15
%59 = add i32 %58, 1
%60 = urem i32 %59, 16
%61 = call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %51, i32 %52, i32 %53, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.7, i64 0, i64 0), i32 2, i32 %56, i32 %60)
br label %569
62: ; preds = %3
%63 = load i32, i32* %4
%64 = load i32, i32* %5
%65 = load i32, i32* %6
%66 = call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %63, i32 %64, i32 %65, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.8, i64 0, i64 0), i32 0)
br label %569
67: ; preds = %3
%68 = load i32, i32* %4
%69 = load i32, i32* %5
%70 = load i32, i32* %6
%71 = call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %68, i32 %69, i32 %70, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.1, i64 0, i64 0), i32 1, i32 1)
br label %569
72: ; preds = %3
%73 = load i32, i32* %4
%74 = load i32, i32* %5
%75 = load i32, i32* %6
%76 = call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %73, i32 %74, i32 %75, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.9, i64 0, i64 0), i32 0)
br label %569
77: ; preds = %3
%78 = load i32, i32* %4
%79 = load i32, i32* %5
%80 = load i32, i32* %6
%81 = call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %78, i32 %79, i32 %80, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.1, i64 0, i64 0), i32 1, i32 3)
br label %569
82: ; preds = %3
%83 = load i32, i32* %4
%84 = load i32, i32* %5
%85 = load i32, i32* %6
%86 = call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %83, i32 %84, i32 %85, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.3, i64 0, i64 0), i32 1, i32 1)
br label %569
87: ; preds = %3
%88 = load i32, i32* %4
%89 = load i32, i32* %5
%90 = load i32, i32* %6
%91 = call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %88, i32 %89, i32 %90, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.4, i64 0, i64 0), i32 1, i32 1)
br label %569
92: ; preds = %3
%93 = load i32, i32* %4
%94 = load i32, i32* %5
%95 = load i32, i32* %6
%96 = call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %93, i32 %94, i32 %95, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.5, i64 0, i64 0), i32 1, i32 1)
br label %569
97: ; preds = %3
%98 = load i32, i32* %4
%99 = load i32, i32* %5
%100 = load i32, i32* %6
%101 = call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %98, i32 %99, i32 %100, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.6, i64 0, i64 0), i32 1, i32 1)
br label %569
102: ; preds = %3, %3, %3, %3, %3, %3, %3, %3
%103 = load i32, i32* %4
%104 = load i32, i32* %5
%105 = load i32, i32* %6
%106 = load i32, i32* %5
%107 = lshr i32 %106, 4
%108 = and i32 %107, 3
%109 = load i32, i32* %5
%110 = and i32 %109, 15
%111 = add i32 %110, 1
%112 = urem i32 %111, 16
%113 = call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %103, i32 %104, i32 %105, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.7, i64 0, i64 0), i32 2, i32 %108, i32 %112)
br label %569
114: ; preds = %3
%115 = load i32, i32* %4
%116 = load i32, i32* %5
%117 = load i32, i32* %6
%118 = call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %115, i32 %116, i32 %117, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.10, i64 0, i64 0), i32 0)
br label %569
119: ; preds = %3
%120 = load i32, i32* %4
%121 = load i32, i32* %5
%122 = load i32, i32* %6
%123 = call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %120, i32 %121, i32 %122, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.11, i64 0, i64 0), i32 0)
br label %569
124: ; preds = %3
%125 = load i32, i32* %4
%126 = load i32, i32* %5
%127 = load i32, i32* %6
%128 = call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %125, i32 %126, i32 %127, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.12, i64 0, i64 0), i32 0)
br label %569
129: ; preds = %3
%130 = load i32, i32* %6
%131 = and i32 %130, 192
%132 = icmp eq i32 %131, 0
br i1 %132, label %133, label %143
133: ; preds = %129
%134 = load i32, i32* %4
%135 = load i32, i32* %5
%136 = load i32, i32* %6
%137 = load i32, i32* %6
%138 = lshr i32 %137, 4
%139 = and i32 %138, 3
%140 = load i32, i32* %6
%141 = and i32 %140, 15
%142 = call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %134, i32 %135, i32 %136, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.13, i64 0, i64 0), i32 2, i32 %139, i32 %141)
br label %168
143: ; preds = %129
%144 = load i32, i32* %6
%145 = and i32 %144, 192
%146 = icmp eq i32 %145, 128
br i1 %146, label %147, label %157
147: ; preds = %143
%148 = load i32, i32* %4
%149 = load i32, i32* %5
%150 = load i32, i32* %6
%151 = load i32, i32* %6
%152 = lshr i32 %151, 4
%153 = and i32 %152, 3
%154 = load i32, i32* %6
%155 = and i32 %154, 15
%156 = call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %148, i32 %149, i32 %150, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.14, i64 0, i64 0), i32 2, i32 %153, i32 %155)
br label %167
157: ; preds = %143
%158 = load i32, i32* %4
%159 = load i32, i32* %5
%160 = load i32, i32* %6
%161 = call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %158, i32 %159, i32 %160, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.15, i64 0, i64 0), i32 201, i32 35)
%162 = load i32, i32* %4
%163 = load i32, i32* %5
%164 = load i32, i32* %6
%165 = load i32, i32* %6
%166 = call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %162, i32 %163, i32 %164, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.15, i64 0, i64 0), i32 201, i32 %165)
br label %167
167: ; preds = %157, %147
br label %168
168: ; preds = %167, %133
br label %569
169: ; preds = %3
%170 = load i32, i32* %4
%171 = load i32, i32* %5
%172 = load i32, i32* %6
%173 = call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %170, i32 %171, i32 %172, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.3, i64 0, i64 0), i32 1, i32 2)
br label %569
174: ; preds = %3
%175 = load i32, i32* %4
%176 = load i32, i32* %5
%177 = load i32, i32* %6
%178 = call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %175, i32 %176, i32 %177, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.4, i64 0, i64 0), i32 1, i32 2)
br label %569
179: ; preds = %3
%180 = load i32, i32* %4
%181 = load i32, i32* %5
%182 = load i32, i32* %6
%183 = call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %180, i32 %181, i32 %182, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.5, i64 0, i64 0), i32 1, i32 2)
br label %569
184: ; preds = %3
%185 = load i32, i32* %4
%186 = load i32, i32* %5
%187 = load i32, i32* %6
%188 = call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %185, i32 %186, i32 %187, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.6, i64 0, i64 0), i32 1, i32 2)
br label %569
189: ; preds = %3, %3, %3, %3, %3, %3, %3, %3
%190 = load i32, i32* %4
%191 = load i32, i32* %5
%192 = load i32, i32* %6
%193 = load i32, i32* %5
%194 = lshr i32 %193, 4
%195 = and i32 %194, 3
%196 = load i32, i32* %5
%197 = and i32 %196, 15
%198 = add i32 %197, 1
%199 = urem i32 %198, 16
%200 = call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %190, i32 %191, i32 %192, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.7, i64 0, i64 0), i32 2, i32 %195, i32 %199)
br label %569
201: ; preds = %3
%202 = load i32, i32* %4
%203 = load i32, i32* %5
%204 = load i32, i32* %6
%205 = call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %202, i32 %203, i32 %204, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.16, i64 0, i64 0), i32 0)
br label %569
206: ; preds = %3
%207 = load i32, i32* %4
%208 = load i32, i32* %5
%209 = load i32, i32* %6
%210 = call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %207, i32 %208, i32 %209, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.17, i64 0, i64 0), i32 0)
br label %569
211: ; preds = %3
%212 = load i32, i32* %4
%213 = load i32, i32* %5
%214 = load i32, i32* %6
%215 = call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %212, i32 %213, i32 %214, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.18, i64 0, i64 0), i32 0)
br label %569
216: ; preds = %3
%217 = load i32, i32* %6
switch i32 %217, label %283 [
i32 1, label %218
i32 3, label %223
i32 17, label %228
i32 19, label %233
i32 33, label %238
i32 40, label %243
i32 41, label %248
i32 42, label %253
i32 44, label %258
i32 60, label %263
i32 46, label %268
i32 62, label %273
i32 58, label %278
]
218: ; preds = %216
%219 = load i32, i32* %4
%220 = load i32, i32* %5
%221 = load i32, i32* %6
%222 = call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %219, i32 %220, i32 %221, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.19, i64 0, i64 0), i32 1, i32 0)
br label %360
223: ; preds = %216
%224 = load i32, i32* %4
%225 = load i32, i32* %5
%226 = load i32, i32* %6
%227 = call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %224, i32 %225, i32 %226, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.19, i64 0, i64 0), i32 1, i32 2)
br label %360
228: ; preds = %216
%229 = load i32, i32* %4
%230 = load i32, i32* %5
%231 = load i32, i32* %6
%232 = call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %229, i32 %230, i32 %231, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.19, i64 0, i64 0), i32 1, i32 1)
br label %360
233: ; preds = %216
%234 = load i32, i32* %4
%235 = load i32, i32* %5
%236 = load i32, i32* %6
%237 = call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %234, i32 %235, i32 %236, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.19, i64 0, i64 0), i32 1, i32 3)
br label %360
238: ; preds = %216
%239 = load i32, i32* %4
%240 = load i32, i32* %5
%241 = load i32, i32* %6
%242 = call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %239, i32 %240, i32 %241, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.20, i64 0, i64 0), i32 0)
br label %360
243: ; preds = %216
%244 = load i32, i32* %4
%245 = load i32, i32* %5
%246 = load i32, i32* %6
%247 = call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %244, i32 %245, i32 %246, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.21, i64 0, i64 0), i32 0)
br label %360
248: ; preds = %216
%249 = load i32, i32* %4
%250 = load i32, i32* %5
%251 = load i32, i32* %6
%252 = call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %249, i32 %250, i32 %251, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.22, i64 0, i64 0), i32 0)
br label %360
253: ; preds = %216
%254 = load i32, i32* %4
%255 = load i32, i32* %5
%256 = load i32, i32* %6
%257 = call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %254, i32 %255, i32 %256, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.23, i64 0, i64 0), i32 0)
br label %360
258: ; preds = %216
%259 = load i32, i32* %4
%260 = load i32, i32* %5
%261 = load i32, i32* %6
%262 = call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %259, i32 %260, i32 %261, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.24, i64 0, i64 0), i32 0)
br label %360
263: ; preds = %216
%264 = load i32, i32* %4
%265 = load i32, i32* %5
%266 = load i32, i32* %6
%267 = call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %264, i32 %265, i32 %266, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.25, i64 0, i64 0), i32 0)
br label %360
268: ; preds = %216
%269 = load i32, i32* %4
%270 = load i32, i32* %5
%271 = load i32, i32* %6
%272 = call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %269, i32 %270, i32 %271, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.26, i64 0, i64 0), i32 0)
br label %360
273: ; preds = %216
%274 = load i32, i32* %4
%275 = load i32, i32* %5
%276 = load i32, i32* %6
%277 = call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %274, i32 %275, i32 %276, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.27, i64 0, i64 0), i32 0)
br label %360
278: ; preds = %216
%279 = load i32, i32* %4
%280 = load i32, i32* %5
%281 = load i32, i32* %6
%282 = call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %279, i32 %280, i32 %281, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.28, i64 0, i64 0), i32 0)
br label %360
283: ; preds = %216
%284 = load i32, i32* %6
%285 = icmp uge i32 %284, 80
br i1 %285, label %286, label %296
286: ; preds = %283
%287 = load i32, i32* %6
%288 = icmp ule i32 %287, 95
br i1 %288, label %289, label %296
289: ; preds = %286
%290 = load i32, i32* %4
%291 = load i32, i32* %5
%292 = load i32, i32* %6
%293 = load i32, i32* %6
%294 = and i32 %293, 15
%295 = call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %290, i32 %291, i32 %292, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.29, i64 0, i64 0), i32 1, i32 %294)
br label %359
296: ; preds = %286, %283
%297 = load i32, i32* %6
%298 = icmp uge i32 %297, 96
br i1 %298, label %299, label %309
299: ; preds = %296
%300 = load i32, i32* %6
%301 = icmp ule i32 %300, 111
br i1 %301, label %302, label %309
302: ; preds = %299
%303 = load i32, i32* %4
%304 = load i32, i32* %5
%305 = load i32, i32* %6
%306 = load i32, i32* %6
%307 = and i32 %306, 15
%308 = call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %303, i32 %304, i32 %305, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.30, i64 0, i64 0), i32 1, i32 %307)
br label %358
309: ; preds = %299, %296
%310 = load i32, i32* %6
%311 = icmp uge i32 %310, 128
br i1 %311, label %312, label %347
312: ; preds = %309
%313 = load i32, i32* %6
%314 = icmp ule i32 %313, 191
br i1 %314, label %315, label %347
315: ; preds = %312
%316 = load i32, i32* %6
%317 = and i32 %316, 15
%318 = trunc i32 %317 to i16
store i16 %318, i16* %7
%319 = load i16, i16* %7
%320 = zext i16 %319 to i32
%321 = icmp sge i32 %320, 1
br i1 %321, label %322, label %336
322: ; preds = %315
%323 = load i16, i16* %7
%324 = zext i16 %323 to i32
%325 = icmp sle i32 %324, 8
br i1 %325, label %326, label %336
326: ; preds = %322
%327 = load i32, i32* %4
%328 = load i32, i32* %5
%329 = load i32, i32* %6
%330 = load i32, i32* %6
%331 = lshr i32 %330, 4
%332 = and i32 %331, 3
%333 = load i16, i16* %7
%334 = zext i16 %333 to i32
%335 = call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %327, i32 %328, i32 %329, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.7, i64 0, i64 0), i32 2, i32 %332, i32 %334)
br label %346
336: ; preds = %322, %315
%337 = load i32, i32* %4
%338 = load i32, i32* %5
%339 = load i32, i32* %6
%340 = call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %337, i32 %338, i32 %339, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.15, i64 0, i64 0), i32 201, i32 51)
%341 = load i32, i32* %4
%342 = load i32, i32* %5
%343 = load i32, i32* %6
%344 = load i32, i32* %6
%345 = call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %341, i32 %342, i32 %343, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.15, i64 0, i64 0), i32 201, i32 %344)
br label %346
346: ; preds = %336, %326
br label %357
347: ; preds = %312, %309
%348 = load i32, i32* %4
%349 = load i32, i32* %5
%350 = load i32, i32* %6
%351 = call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %348, i32 %349, i32 %350, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.15, i64 0, i64 0), i32 201, i32 51)
%352 = load i32, i32* %4
%353 = load i32, i32* %5
%354 = load i32, i32* %6
%355 = load i32, i32* %6
%356 = call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %352, i32 %353, i32 %354, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.15, i64 0, i64 0), i32 201, i32 %355)
br label %357
357: ; preds = %347, %346
br label %358
358: ; preds = %357, %302
br label %359
359: ; preds = %358, %289
br label %360
360: ; preds = %359, %278, %273, %268, %263, %258, %253, %248, %243, %238, %233, %228, %223, %218
br label %569
361: ; preds = %3
%362 = load i32, i32* %4
%363 = load i32, i32* %5
%364 = load i32, i32* %6
%365 = call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %362, i32 %363, i32 %364, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.3, i64 0, i64 0), i32 1, i32 3)
br label %569
366: ; preds = %3
%367 = load i32, i32* %4
%368 = load i32, i32* %5
%369 = load i32, i32* %6
%370 = call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %367, i32 %368, i32 %369, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.4, i64 0, i64 0), i32 1, i32 3)
br label %569
371: ; preds = %3
%372 = load i32, i32* %4
%373 = load i32, i32* %5
%374 = load i32, i32* %6
%375 = call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %372, i32 %373, i32 %374, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.5, i64 0, i64 0), i32 1, i32 3)
br label %569
376: ; preds = %3
%377 = load i32, i32* %4
%378 = load i32, i32* %5
%379 = load i32, i32* %6
%380 = call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %377, i32 %378, i32 %379, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.6, i64 0, i64 0), i32 1, i32 3)
br label %569
381: ; preds = %3, %3, %3, %3, %3, %3, %3, %3
%382 = load i32, i32* %4
%383 = load i32, i32* %5
%384 = load i32, i32* %6
%385 = load i32, i32* %5
%386 = lshr i32 %385, 4
%387 = and i32 %386, 3
%388 = load i32, i32* %5
%389 = and i32 %388, 15
%390 = add i32 %389, 1
%391 = urem i32 %390, 16
%392 = call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %382, i32 %383, i32 %384, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.7, i64 0, i64 0), i32 2, i32 %387, i32 %391)
br label %569
393: ; preds = %3
%394 = load i32, i32* %4
%395 = load i32, i32* %5
%396 = load i32, i32* %6
%397 = call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %394, i32 %395, i32 %396, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.31, i64 0, i64 0), i32 0)
br label %569
398: ; preds = %3
%399 = load i32, i32* %4
%400 = load i32, i32* %5
%401 = load i32, i32* %6
%402 = call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %399, i32 %400, i32 %401, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.32, i64 0, i64 0), i32 0)
br label %569
403: ; preds = %3
%404 = load i32, i32* %4
%405 = load i32, i32* %5
%406 = load i32, i32* %6
%407 = call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %404, i32 %405, i32 %406, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.33, i64 0, i64 0), i32 1, i32 2)
br label %569
408: ; preds = %3
%409 = load i32, i32* %4
%410 = load i32, i32* %5
%411 = load i32, i32* %6
%412 = call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %409, i32 %410, i32 %411, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.33, i64 0, i64 0), i32 1, i32 3)
br label %569
413: ; preds = %3
%414 = load i32, i32* %4
%415 = load i32, i32* %5
%416 = load i32, i32* %6
%417 = call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %414, i32 %415, i32 %416, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.34, i64 0, i64 0), i32 0)
br label %569
418: ; preds = %3
%419 = load i32, i32* %4
%420 = load i32, i32* %5
%421 = load i32, i32* %6
%422 = call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %419, i32 %420, i32 %421, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.33, i64 0, i64 0), i32 1, i32 1)
br label %569
423: ; preds = %3
%424 = load i32, i32* %4
%425 = load i32, i32* %5
%426 = load i32, i32* %6
%427 = call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %424, i32 %425, i32 %426, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.35, i64 0, i64 0), i32 1, i32 2)
br label %569
428: ; preds = %3
%429 = load i32, i32* %4
%430 = load i32, i32* %5
%431 = load i32, i32* %6
%432 = call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %429, i32 %430, i32 %431, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.35, i64 0, i64 0), i32 1, i32 1)
br label %569
433: ; preds = %3
%434 = load i32, i32* %4
%435 = load i32, i32* %5
%436 = load i32, i32* %6
%437 = call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %434, i32 %435, i32 %436, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.36, i64 0, i64 0), i32 0)
br label %569
438: ; preds = %3
%439 = load i32, i32* %4
%440 = load i32, i32* %5
%441 = load i32, i32* %6
%442 = call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %439, i32 %440, i32 %441, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.37, i64 0, i64 0), i32 0)
br label %569
443: ; preds = %3
%444 = load i32, i32* %4
%445 = load i32, i32* %5
%446 = load i32, i32* %6
%447 = call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %444, i32 %445, i32 %446, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.38, i64 0, i64 0), i32 0)
br label %569
448: ; preds = %3
%449 = load i32, i32* %4
%450 = load i32, i32* %5
%451 = load i32, i32* %6
%452 = call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %449, i32 %450, i32 %451, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.35, i64 0, i64 0), i32 1, i32 3)
br label %569
453: ; preds = %3
%454 = load i32, i32* %4
%455 = load i32, i32* %5
%456 = load i32, i32* %6
%457 = call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %454, i32 %455, i32 %456, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.33, i64 0, i64 0), i32 1, i32 0)
br label %569
458: ; preds = %3
%459 = load i32, i32* %4
%460 = load i32, i32* %5
%461 = load i32, i32* %6
%462 = call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %459, i32 %460, i32 %461, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.35, i64 0, i64 0), i32 1, i32 0)
br label %569
463: ; preds = %3
%464 = load i32, i32* %4
%465 = load i32, i32* %5
%466 = load i32, i32* %6
%467 = call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %464, i32 %465, i32 %466, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.39, i64 0, i64 0), i32 0)
br label %569
468: ; preds = %3
%469 = load i32, i32* %4
%470 = load i32, i32* %5
%471 = load i32, i32* %6
%472 = call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %469, i32 %470, i32 %471, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.40, i64 0, i64 0), i32 0)
br label %569
473: ; preds = %3
%474 = load i32, i32* %4
%475 = load i32, i32* %5
%476 = load i32, i32* %6
%477 = call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %474, i32 %475, i32 %476, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.41, i64 0, i64 0), i32 0)
br label %569
478: ; preds = %3, %3, %3, %3, %3, %3, %3, %3, %3, %3, %3, %3, %3, %3, %3
%479 = load i32, i32* %4
%480 = load i32, i32* %5
%481 = load i32, i32* %6
%482 = load i32, i32* %5
%483 = and i32 %482, 15
%484 = call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %479, i32 %480, i32 %481, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.42, i64 0, i64 0), i32 1, i32 %483)
br label %569
485: ; preds = %3, %3, %3, %3
%486 = load i32, i32* %4
%487 = load i32, i32* %5
%488 = load i32, i32* %6
%489 = load i32, i32* %5
%490 = and i32 %489, 3
%491 = load i32, i32* %6
%492 = call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %486, i32 %487, i32 %488, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.43, i64 0, i64 0), i32 100, i32 %490, i32 %491)
br label %569
493: ; preds = %3, %3, %3, %3
%494 = load i32, i32* %4
%495 = load i32, i32* %5
%496 = load i32, i32* %6
%497 = load i32, i32* %5
%498 = and i32 %497, 3
%499 = load i32, i32* %6
%500 = call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %494, i32 %495, i32 %496, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.44, i64 0, i64 0), i32 100, i32 %498, i32 %499)
br label %569
501: ; preds = %3, %3, %3, %3, %3, %3, %3, %3, %3, %3, %3, %3, %3, %3, %3, %3
%502 = load i32, i32* %4
%503 = load i32, i32* %5
%504 = load i32, i32* %6
%505 = load i32, i32* %5
%506 = and i32 %505, 15
%507 = call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %502, i32 %503, i32 %504, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.45, i64 0, i64 0), i32 201, i32 %506)
br label %569
508: ; preds = %3
%509 = load i32, i32* %4
%510 = load i32, i32* %5
%511 = load i32, i32* %6
%512 = call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %509, i32 %510, i32 %511, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.46, i64 0, i64 0), i32 0)
br label %569
513: ; preds = %3
%514 = load i32, i32* %4
%515 = load i32, i32* %5
%516 = load i32, i32* %6
%517 = call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %514, i32 %515, i32 %516, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.47, i64 0, i64 0), i32 0)
br label %569
518: ; preds = %3
%519 = load i32, i32* %5
%520 = icmp uge i32 %519, 128
br i1 %520, label %521, label %562
521: ; preds = %518
%522 = load i32, i32* %5
%523 = icmp ule i32 %522, 254
br i1 %523, label %524, label %562
524: ; preds = %521
%525 = load i32, i32* %4
%526 = ashr i32 %525, 6
store i32 %526, i32* %8
%527 = load i32, i32* %8
%528 = icmp eq i32 %527, 2
br i1 %528, label %532, label %529
529: ; preds = %524
%530 = load i32, i32* %8
%531 = icmp eq i32 %530, 3
br i1 %531, label %532, label %538
532: ; preds = %529, %524
%533 = load i32, i32* %4
%534 = load i32, i32* %5
%535 = load i32, i32* %6
%536 = load i32, i32* %5
%537 = call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %533, i32 %534, i32 %535, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.48, i64 0, i64 0), i32 100, i32 0, i32 %536)
br label %561
538: ; preds = %529
%539 = load i32, i32* %5
%540 = icmp uge i32 %539, 128
br i1 %540, label %541, label %550
541: ; preds = %538
%542 = load i32, i32* %5
%543 = icmp ule i32 %542, 190
br i1 %543, label %544, label %550
544: ; preds = %541
%545 = load i32, i32* %4
%546 = load i32, i32* %5
%547 = load i32, i32* %6
%548 = load i32, i32* %5
%549 = call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %545, i32 %546, i32 %547, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.49, i64 0, i64 0), i32 100, i32 0, i32 %548)
br label %560
550: ; preds = %541, %538
%551 = load i32, i32* %4
%552 = load i32, i32* %5
%553 = load i32, i32* %6
%554 = load i32, i32* %8
%555 = shl i32 %554, 6
%556 = load i32, i32* %5
%557 = and i32 %556, 63
%558 = add i32 %555, %557
%559 = call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %551, i32 %552, i32 %553, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.48, i64 0, i64 0), i32 100, i32 0, i32 %558)
br label %560
560: ; preds = %550, %544
br label %561
561: ; preds = %560, %532
br label %568
562: ; preds = %521, %518
%563 = load i32, i32* %4
%564 = load i32, i32* %5
%565 = load i32, i32* %6
%566 = load i32, i32* %5
%567 = call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %563, i32 %564, i32 %565, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.15, i64 0, i64 0), i32 201, i32 %566)
br label %568
568: ; preds = %562, %561
br label %569
569: ; preds = %568, %513, %508, %501, %493, %485, %478, %473, %468, %463, %458, %453, %448, %443, %438, %433, %428, %423, %418, %413, %408, %403, %398, %393, %381, %376, %371, %366, %361, %360, %211, %206, %201, %189, %184, %179, %174, %169, %168, %124, %119, %114, %102, %97, %92, %87, %82, %77, %72, %67, %62, %50, %45, %40, %35, %30, %25, %20, %15, %10
ret void
}

LLVM IR (-O2):
@.str = [5 x i8] c"CLRA\00"
@.str.1 = [6 x i8] c"SKMBZ\00"
@.str.2 = [4 x i8] c"XOR\00"
@.str.3 = [4 x i8] c"XIS\00"
@.str.4 = [3 x i8] c"LD\00"
@.str.5 = [2 x i8] c"X\00"
@.str.6 = [4 x i8] c"XDS\00"
@.str.7 = [4 x i8] c"LBI\00"
@.str.8 = [5 x i8] c"CASC\00"
@.str.9 = [5 x i8] c"XABR\00"
@.str.10 = [4 x i8] c"SKC\00"
@.str.11 = [4 x i8] c"SKE\00"
@.str.12 = [3 x i8] c"SC\00"
@.str.13 = [4 x i8] c"LDD\00"
@.str.14 = [4 x i8] c"XAD\00"
@.str.15 = [3 x i8] c"DB\00"
@.str.16 = [4 x i8] c"ASC\00"
@.str.17 = [4 x i8] c"ADD\00"
@.str.18 = [3 x i8] c"RC\00"
@.str.19 = [6 x i8] c"SKGBZ\00"
@.str.20 = [5 x i8] c"SKGZ\00"
@.str.21 = [5 x i8] c"ININ\00"
@.str.22 = [5 x i8] c"INIL\00"
@.str.23 = [4 x i8] c"ING\00"
@.str.24 = [5 x i8] c"CQMA\00"
@.str.25 = [5 x i8] c"CAMQ\00"
@.str.26 = [4 x i8] c"INL\00"
@.str.27 = [4 x i8] c"OBD\00"
@.str.28 = [4 x i8] c"OMG\00"
@.str.29 = [4 x i8] c"OGI\00"
@.str.30 = [4 x i8] c"LEI\00"
@.str.31 = [5 x i8] c"COMP\00"
@.str.32 = [4 x i8] c"SKT\00"
@.str.33 = [4 x i8] c"RMB\00"
@.str.34 = [4 x i8] c"NOP\00"
@.str.35 = [4 x i8] c"SMB\00"
@.str.36 = [4 x i8] c"RET\00"
@.str.37 = [6 x i8] c"RETSK\00"
@.str.38 = [4 x i8] c"ADT\00"
@.str.39 = [4 x i8] c"CBA\00"
@.str.40 = [4 x i8] c"XAS\00"
@.str.41 = [4 x i8] c"CAB\00"
@.str.42 = [5 x i8] c"AISC\00"
@.str.43 = [4 x i8] c"JMP\00"
@.str.44 = [4 x i8] c"JSR\00"
@.str.45 = [5 x i8] c"STII\00"
@.str.46 = [5 x i8] c"LQID\00"
@.str.47 = [4 x i8] c"JID\00"
@.str.48 = [3 x i8] c"JP\00"
@.str.49 = [5 x i8] c"JSRP\00"
define void @process_opcode(i32 %0, i32 %1, i32 %2) {
switch i32 %1, label %202 [
i32 0, label %4
i32 1, label %6
i32 2, label %8
i32 3, label %10
i32 4, label %12
i32 5, label %14
i32 6, label %16
i32 7, label %18
i32 8, label %20
i32 9, label %20
i32 10, label %20
i32 11, label %20
i32 12, label %20
i32 13, label %20
i32 14, label %20
i32 15, label %20
i32 16, label %25
i32 17, label %27
i32 18, label %29
i32 19, label %31
i32 20, label %33
i32 21, label %35
i32 22, label %37
i32 23, label %39
i32 24, label %41
i32 25, label %41
i32 26, label %41
i32 27, label %41
i32 28, label %41
i32 29, label %41
i32 30, label %41
i32 31, label %41
i32 32, label %46
i32 33, label %48
i32 34, label %50
i32 35, label %52
i32 36, label %68
i32 37, label %70
i32 38, label %72
i32 39, label %74
i32 40, label %76
i32 41, label %76
i32 42, label %76
i32 43, label %76
i32 44, label %76
i32 45, label %76
i32 46, label %76
i32 47, label %76
i32 48, label %81
i32 49, label %83
i32 50, label %85
i32 51, label %87
i32 52, label %139
i32 53, label %141
i32 54, label %143
i32 55, label %145
i32 56, label %147
i32 57, label %147
i32 58, label %147
i32 59, label %147
i32 60, label %147
i32 61, label %147
i32 62, label %147
i32 63, label %147
i32 64, label %152
i32 65, label %154
i32 66, label %156
i32 67, label %158
i32 68, label %160
i32 69, label %162
i32 70, label %164
i32 71, label %166
i32 72, label %168
i32 73, label %170
i32 74, label %172
i32 75, label %174
i32 76, label %176
i32 77, label %178
i32 78, label %180
i32 79, label %182
i32 80, label %184
i32 81, label %186
i32 82, label %186
i32 83, label %186
i32 84, label %186
i32 85, label %186
i32 86, label %186
i32 87, label %186
i32 88, label %186
i32 89, label %186
i32 90, label %186
i32 91, label %186
i32 92, label %186
i32 93, label %186
i32 94, label %186
i32 95, label %186
i32 96, label %189
i32 97, label %189
i32 98, label %189
i32 99, label %189
i32 104, label %192
i32 105, label %192
i32 106, label %192
i32 107, label %192
i32 112, label %195
i32 113, label %195
i32 114, label %195
i32 115, label %195
i32 116, label %195
i32 117, label %195
i32 118, label %195
i32 119, label %195
i32 120, label %195
i32 121, label %195
i32 122, label %195
i32 123, label %195
i32 124, label %195
i32 125, label %195
i32 126, label %195
i32 127, label %195
i32 191, label %198
i32 255, label %200
]
4: ; preds = %3
%5 = tail call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %0, i32 0, i32 %2, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str, i64 0, i64 0), i32 0)
br label %221
6: ; preds = %3
%7 = tail call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %0, i32 1, i32 %2, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.1, i64 0, i64 0), i32 1, i32 0)
br label %221
8: ; preds = %3
%9 = tail call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %0, i32 2, i32 %2, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.2, i64 0, i64 0), i32 0)
br label %221
10: ; preds = %3
%11 = tail call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %0, i32 3, i32 %2, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.1, i64 0, i64 0), i32 1, i32 2)
br label %221
12: ; preds = %3
%13 = tail call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %0, i32 4, i32 %2, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.3, i64 0, i64 0), i32 1, i32 0)
br label %221
14: ; preds = %3
%15 = tail call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %0, i32 5, i32 %2, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.4, i64 0, i64 0), i32 1, i32 0)
br label %221
16: ; preds = %3
%17 = tail call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %0, i32 6, i32 %2, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.5, i64 0, i64 0), i32 1, i32 0)
br label %221
18: ; preds = %3
%19 = tail call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %0, i32 7, i32 %2, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.6, i64 0, i64 0), i32 1, i32 0)
br label %221
20: ; preds = %3, %3, %3, %3, %3, %3, %3, %3
%21 = lshr i32 %1, 4
%22 = add nuw nsw i32 %1, 1
%23 = and i32 %22, 15
%24 = tail call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %0, i32 %1, i32 %2, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.7, i64 0, i64 0), i32 2, i32 %21, i32 %23)
br label %221
25: ; preds = %3
%26 = tail call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %0, i32 16, i32 %2, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.8, i64 0, i64 0), i32 0)
br label %221
27: ; preds = %3
%28 = tail call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %0, i32 17, i32 %2, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.1, i64 0, i64 0), i32 1, i32 1)
br label %221
29: ; preds = %3
%30 = tail call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %0, i32 18, i32 %2, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.9, i64 0, i64 0), i32 0)
br label %221
31: ; preds = %3
%32 = tail call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %0, i32 19, i32 %2, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.1, i64 0, i64 0), i32 1, i32 3)
br label %221
33: ; preds = %3
%34 = tail call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %0, i32 20, i32 %2, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.3, i64 0, i64 0), i32 1, i32 1)
br label %221
35: ; preds = %3
%36 = tail call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %0, i32 21, i32 %2, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.4, i64 0, i64 0), i32 1, i32 1)
br label %221
37: ; preds = %3
%38 = tail call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %0, i32 22, i32 %2, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.5, i64 0, i64 0), i32 1, i32 1)
br label %221
39: ; preds = %3
%40 = tail call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %0, i32 23, i32 %2, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.6, i64 0, i64 0), i32 1, i32 1)
br label %221
41: ; preds = %3, %3, %3, %3, %3, %3, %3, %3
%42 = lshr i32 %1, 4
%43 = add nuw nsw i32 %1, 1
%44 = and i32 %43, 15
%45 = tail call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %0, i32 %1, i32 %2, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.7, i64 0, i64 0), i32 2, i32 %42, i32 %44)
br label %221
46: ; preds = %3
%47 = tail call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %0, i32 32, i32 %2, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.10, i64 0, i64 0), i32 0)
br label %221
48: ; preds = %3
%49 = tail call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %0, i32 33, i32 %2, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.11, i64 0, i64 0), i32 0)
br label %221
50: ; preds = %3
%51 = tail call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %0, i32 34, i32 %2, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.12, i64 0, i64 0), i32 0)
br label %221
52: ; preds = %3
%53 = trunc i32 %2 to i8
%54 = and i8 %53, -64
switch i8 %54, label %65 [
i8 0, label %55
i8 -128, label %60
]
55: ; preds = %52
%56 = lshr i32 %2, 4
%57 = and i32 %56, 3
%58 = and i32 %2, 15
%59 = tail call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %0, i32 35, i32 %2, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.13, i64 0, i64 0), i32 2, i32 %57, i32 %58)
br label %221
60: ; preds = %52
%61 = lshr i32 %2, 4
%62 = and i32 %61, 3
%63 = and i32 %2, 15
%64 = tail call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %0, i32 35, i32 %2, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.14, i64 0, i64 0), i32 2, i32 %62, i32 %63)
br label %221
65: ; preds = %52
%66 = tail call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %0, i32 35, i32 %2, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.15, i64 0, i64 0), i32 201, i32 35)
%67 = tail call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %0, i32 35, i32 %2, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.15, i64 0, i64 0), i32 201, i32 %2)
br label %221
68: ; preds = %3
%69 = tail call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %0, i32 36, i32 %2, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.3, i64 0, i64 0), i32 1, i32 2)
br label %221
70: ; preds = %3
%71 = tail call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %0, i32 37, i32 %2, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.4, i64 0, i64 0), i32 1, i32 2)
br label %221
72: ; preds = %3
%73 = tail call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %0, i32 38, i32 %2, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.5, i64 0, i64 0), i32 1, i32 2)
br label %221
74: ; preds = %3
%75 = tail call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %0, i32 39, i32 %2, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.6, i64 0, i64 0), i32 1, i32 2)
br label %221
76: ; preds = %3, %3, %3, %3, %3, %3, %3, %3
%77 = lshr i32 %1, 4
%78 = add nuw nsw i32 %1, 1
%79 = and i32 %78, 15
%80 = tail call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %0, i32 %1, i32 %2, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.7, i64 0, i64 0), i32 2, i32 %77, i32 %79)
br label %221
81: ; preds = %3
%82 = tail call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %0, i32 48, i32 %2, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.16, i64 0, i64 0), i32 0)
br label %221
83: ; preds = %3
%84 = tail call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %0, i32 49, i32 %2, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.17, i64 0, i64 0), i32 0)
br label %221
85: ; preds = %3
%86 = tail call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %0, i32 50, i32 %2, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.18, i64 0, i64 0), i32 0)
br label %221
87: ; preds = %3
switch i32 %2, label %114 [
i32 1, label %88
i32 3, label %90
i32 17, label %92
i32 19, label %94
i32 33, label %96
i32 40, label %98
i32 41, label %100
i32 42, label %102
i32 44, label %104
i32 60, label %106
i32 46, label %108
i32 62, label %110
i32 58, label %112
]
88: ; preds = %87
%89 = tail call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %0, i32 51, i32 1, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.19, i64 0, i64 0), i32 1, i32 0)
br label %221
90: ; preds = %87
%91 = tail call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %0, i32 51, i32 3, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.19, i64 0, i64 0), i32 1, i32 2)
br label %221
92: ; preds = %87
%93 = tail call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %0, i32 51, i32 17, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.19, i64 0, i64 0), i32 1, i32 1)
br label %221
94: ; preds = %87
%95 = tail call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %0, i32 51, i32 19, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.19, i64 0, i64 0), i32 1, i32 3)
br label %221
96: ; preds = %87
%97 = tail call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %0, i32 51, i32 33, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.20, i64 0, i64 0), i32 0)
br label %221
98: ; preds = %87
%99 = tail call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %0, i32 51, i32 40, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.21, i64 0, i64 0), i32 0)
br label %221
100: ; preds = %87
%101 = tail call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %0, i32 51, i32 41, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.22, i64 0, i64 0), i32 0)
br label %221
102: ; preds = %87
%103 = tail call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %0, i32 51, i32 42, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.23, i64 0, i64 0), i32 0)
br label %221
104: ; preds = %87
%105 = tail call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %0, i32 51, i32 44, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.24, i64 0, i64 0), i32 0)
br label %221
106: ; preds = %87
%107 = tail call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %0, i32 51, i32 60, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.25, i64 0, i64 0), i32 0)
br label %221
108: ; preds = %87
%109 = tail call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %0, i32 51, i32 46, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.26, i64 0, i64 0), i32 0)
br label %221
110: ; preds = %87
%111 = tail call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %0, i32 51, i32 62, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.27, i64 0, i64 0), i32 0)
br label %221
112: ; preds = %87
%113 = tail call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %0, i32 51, i32 58, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.28, i64 0, i64 0), i32 0)
br label %221
114: ; preds = %87
%115 = and i32 %2, -16
switch i32 %115, label %122 [
i32 80, label %116
i32 96, label %119
]
116: ; preds = %114
%117 = and i32 %2, 15
%118 = tail call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %0, i32 51, i32 %2, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.29, i64 0, i64 0), i32 1, i32 %117)
br label %221
119: ; preds = %114
%120 = and i32 %2, 15
%121 = tail call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %0, i32 51, i32 %2, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.30, i64 0, i64 0), i32 1, i32 %120)
br label %221
122: ; preds = %114
%123 = and i32 %2, -64
%124 = icmp eq i32 %123, 128
br i1 %124, label %125, label %136
125: ; preds = %122
%126 = and i32 %2, 15
%127 = add nsw i32 %126, -1
%128 = icmp ult i32 %127, 8
br i1 %128, label %129, label %133
129: ; preds = %125
%130 = lshr i32 %2, 4
%131 = and i32 %130, 3
%132 = tail call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %0, i32 51, i32 %2, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.7, i64 0, i64 0), i32 2, i32 %131, i32 %126)
br label %221
133: ; preds = %125
%134 = tail call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %0, i32 51, i32 %2, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.15, i64 0, i64 0), i32 201, i32 51)
%135 = tail call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %0, i32 51, i32 %2, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.15, i64 0, i64 0), i32 201, i32 %2)
br label %221
136: ; preds = %122
%137 = tail call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %0, i32 51, i32 %2, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.15, i64 0, i64 0), i32 201, i32 51)
%138 = tail call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %0, i32 51, i32 %2, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.15, i64 0, i64 0), i32 201, i32 %2)
br label %221
139: ; preds = %3
%140 = tail call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %0, i32 52, i32 %2, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.3, i64 0, i64 0), i32 1, i32 3)
br label %221
141: ; preds = %3
%142 = tail call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %0, i32 53, i32 %2, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.4, i64 0, i64 0), i32 1, i32 3)
br label %221
143: ; preds = %3
%144 = tail call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %0, i32 54, i32 %2, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str.5, i64 0, i64 0), i32 1, i32 3)
br label %221
145: ; preds = %3
%146 = tail call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %0, i32 55, i32 %2, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.6, i64 0, i64 0), i32 1, i32 3)
br label %221
147: ; preds = %3, %3, %3, %3, %3, %3, %3, %3
%148 = lshr i32 %1, 4
%149 = add nuw nsw i32 %1, 1
%150 = and i32 %149, 15
%151 = tail call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %0, i32 %1, i32 %2, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.7, i64 0, i64 0), i32 2, i32 %148, i32 %150)
br label %221
152: ; preds = %3
%153 = tail call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %0, i32 64, i32 %2, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.31, i64 0, i64 0), i32 0)
br label %221
154: ; preds = %3
%155 = tail call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %0, i32 65, i32 %2, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.32, i64 0, i64 0), i32 0)
br label %221
156: ; preds = %3
%157 = tail call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %0, i32 66, i32 %2, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.33, i64 0, i64 0), i32 1, i32 2)
br label %221
158: ; preds = %3
%159 = tail call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %0, i32 67, i32 %2, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.33, i64 0, i64 0), i32 1, i32 3)
br label %221
160: ; preds = %3
%161 = tail call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %0, i32 68, i32 %2, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.34, i64 0, i64 0), i32 0)
br label %221
162: ; preds = %3
%163 = tail call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %0, i32 69, i32 %2, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.33, i64 0, i64 0), i32 1, i32 1)
br label %221
164: ; preds = %3
%165 = tail call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %0, i32 70, i32 %2, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.35, i64 0, i64 0), i32 1, i32 2)
br label %221
166: ; preds = %3
%167 = tail call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %0, i32 71, i32 %2, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.35, i64 0, i64 0), i32 1, i32 1)
br label %221
168: ; preds = %3
%169 = tail call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %0, i32 72, i32 %2, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.36, i64 0, i64 0), i32 0)
br label %221
170: ; preds = %3
%171 = tail call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %0, i32 73, i32 %2, i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str.37, i64 0, i64 0), i32 0)
br label %221
172: ; preds = %3
%173 = tail call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %0, i32 74, i32 %2, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.38, i64 0, i64 0), i32 0)
br label %221
174: ; preds = %3
%175 = tail call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %0, i32 75, i32 %2, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.35, i64 0, i64 0), i32 1, i32 3)
br label %221
176: ; preds = %3
%177 = tail call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %0, i32 76, i32 %2, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.33, i64 0, i64 0), i32 1, i32 0)
br label %221
178: ; preds = %3
%179 = tail call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %0, i32 77, i32 %2, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.35, i64 0, i64 0), i32 1, i32 0)
br label %221
180: ; preds = %3
%181 = tail call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %0, i32 78, i32 %2, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.39, i64 0, i64 0), i32 0)
br label %221
182: ; preds = %3
%183 = tail call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %0, i32 79, i32 %2, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.40, i64 0, i64 0), i32 0)
br label %221
184: ; preds = %3
%185 = tail call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %0, i32 80, i32 %2, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.41, i64 0, i64 0), i32 0)
br label %221
186: ; preds = %3, %3, %3, %3, %3, %3, %3, %3, %3, %3, %3, %3, %3, %3, %3
%187 = and i32 %1, 15
%188 = tail call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %0, i32 %1, i32 %2, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.42, i64 0, i64 0), i32 1, i32 %187)
br label %221
189: ; preds = %3, %3, %3, %3
%190 = and i32 %1, 3
%191 = tail call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %0, i32 %1, i32 %2, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.43, i64 0, i64 0), i32 100, i32 %190, i32 %2)
br label %221
192: ; preds = %3, %3, %3, %3
%193 = and i32 %1, 3
%194 = tail call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %0, i32 %1, i32 %2, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.44, i64 0, i64 0), i32 100, i32 %193, i32 %2)
br label %221
195: ; preds = %3, %3, %3, %3, %3, %3, %3, %3, %3, %3, %3, %3, %3, %3, %3, %3
%196 = and i32 %1, 15
%197 = tail call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %0, i32 %1, i32 %2, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.45, i64 0, i64 0), i32 201, i32 %196)
br label %221
198: ; preds = %3
%199 = tail call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %0, i32 191, i32 %2, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.46, i64 0, i64 0), i32 0)
br label %221
200: ; preds = %3
%201 = tail call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %0, i32 255, i32 %2, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str.47, i64 0, i64 0), i32 0)
br label %221
202: ; preds = %3
%203 = add i32 %1, -128
%204 = icmp ult i32 %203, 127
br i1 %204, label %205, label %219
205: ; preds = %202
%206 = and i32 %0, -64
%207 = and i32 %0, -128
%208 = icmp eq i32 %207, 128
br i1 %208, label %209, label %211
209: ; preds = %205
%210 = tail call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %0, i32 %1, i32 %2, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.48, i64 0, i64 0), i32 100, i32 0, i32 %1)
br label %221
211: ; preds = %205
%212 = icmp ult i32 %1, 191
br i1 %212, label %213, label %215
213: ; preds = %211
%214 = tail call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %0, i32 %1, i32 %2, i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.49, i64 0, i64 0), i32 100, i32 0, i32 %1)
br label %221
215: ; preds = %211
%216 = and i32 %1, 63
%217 = or i32 %216, %206
%218 = tail call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %0, i32 %1, i32 %2, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.48, i64 0, i64 0), i32 100, i32 0, i32 %217)
br label %221
219: ; preds = %202
%220 = tail call i32 (i32, i32, i32, i8*, i32, ...) @xx_prt(i32 %0, i32 %1, i32 %2, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.15, i64 0, i64 0), i32 201, i32 %1)
br label %221
221: ; preds = %209, %215, %213, %129, %133, %219, %88, %90, %92, %94, %96, %98, %100, %102, %104, %106, %108, %110, %112, %119, %136, %116, %55, %65, %60, %200, %198, %195, %192, %189, %186, %184, %182, %180, %178, %176, %174, %172, %170, %168, %166, %164, %162, %160, %158, %156, %154, %152, %147, %145, %143, %141, %139, %85, %83, %81, %76, %74, %72, %70, %68, %50, %48, %46, %41, %39, %37, %35, %33, %31, %29, %27, %25, %20, %18, %16, %14, %12, %10, %8, %6, %4
ret void
}