// File: /workspace/github_c_makefile_star2_O0/mrkite[P]regs/src/disasm.cc
// Function: Disassembler::printInst[abi:cxx11](std::shared_ptr<Inst>)
std::string Disassembler::printInst(std::shared_ptr<Inst> inst) {
  std::string args;
  std::string comment;

  if (inst->type == Special) {
    return inst->name;
  }
  switch (inst->operType) {
    case Opr::None:
      break;
    case Opr::Imm8:
      args = "#" + hex(inst->oper, 2);
      break;
    case Opr::Imm16:
      args = "#" + hex(inst->oper, 4);
      if (inst->prevWord && inst->oper) {
        comment = checkDW(inst->oper, inst->prevWord);
      }
      break;
    case Opr::Abs:
      args = hex(inst->oper, 6);
      break;
    case Opr::AbsB:
      args = "B:" + hex(inst->oper, 4);
      comment += lookup(inst->oper);
      break;
    case Opr::AbsD:
      args = "D:" + hex(inst->oper, 2);
      break;
    case Opr::AbsX:
      args = hex(inst->oper, 6) + ", x";
      break;
    case Opr::AbsXB:
      args = "B:" + hex(inst->oper, 4) + ", x";
      comment += lookup(inst->oper);
      break;
    case Opr::AbsXD:
      args = "D:" + hex(inst->oper, 2) + ", x";
      break;
    case Opr::AbsY:
      args = hex(inst->oper, 6) + ", y";
      break;
    case Opr::AbsYB:
      args = "B:" + hex(inst->oper, 4) + ", y";
      comment += lookup(inst->oper);
      break;
    case Opr::AbsYD:
      args = "D:" + hex(inst->oper, 2) + ", y";
      break;
    case Opr::AbsS:
      args = hex(inst->oper, 2) + ", s";
      break;
    case Opr::Ind:
      args = "(" + hex(inst->oper, 6) + ")";
      break;
    case Opr::IndB:
      args = "(B:" + hex(inst->oper, 4) + ")";
      comment += lookup(inst->oper);
      break;
    case Opr::IndD:
      args = "(D:" + hex(inst->oper, 2) + ")";
      break;
    case Opr::IndX:
      args = "(" + hex(inst->oper, 6) + ", x)";
      break;
    case Opr::IndXB:
      args = "(B:" + hex(inst->oper, 4) + ", x)";
      comment += lookup(inst->oper);
      break;
    case Opr::IndXD:
      args = "(D:" + hex(inst->oper, 2) + ")";
      break;
    case Opr::IndY:
      args = "(D:" + hex(inst->oper, 2) + "), y";
      break;
    case Opr::IndL:
      args = "[D:" + hex(inst->oper, 2) + "]";
      break;
    case Opr::IndLY:
      args = "[D:" + hex(inst->oper, 2) + "], y";
      break;
    case Opr::IndS:
      args = "(" + hex(inst->oper, 2) + ", s), y";
      break;
    case Opr::Bank:
      args = hex(inst->oper >> 8, 2) + ", " + hex(inst->oper & 0xff, 2);
      break;
  }
  if (inst->flags & IsEmuChanged) {
    if (inst->flags & IsEmu) {
      comment += " 8-bit mode";
    } else {
      comment += " 16-bit mode";
    }
  }
  if (inst->flags & IsM8Changed) {
    if (inst->flags & IsM8) {
      comment += " a.b";
    } else {
      comment += " a.w";
    }
  }
  if (inst->flags & IsX8Changed) {
    if (inst->flags & IsX8) {
      comment += " x.b";
    } else {
      comment += " x.w";
    }
  }
  std::string r = inst->name;
  while (r.length() < 8) {
    r += " ";
  }
  r += args;
  if (!comment.empty()) {
    while (r.length() < 20) {
      r += " ";
    }
    r += "; " + comment;
  }
  return r;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x950, %rsp            # imm = 0x950
movq %rdx, -0x8f8(%rbp)
movq %rdi, -0x910(%rbp)
movq %rdi, %rax
movq %rax, -0x908(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x900(%rbp)
leaq -0x38(%rbp), %rdi
callq 0x6420
leaq -0x58(%rbp), %rdi
callq 0x6420
movq -0x8f8(%rbp), %rdi
callq 0x1dc20
movzwl 0x20(%rax), %eax
cmpl $0x5, %eax
jne 0x1bf3b
movq -0x8f8(%rbp), %rdi
callq 0x1dc20
movq -0x910(%rbp), %rdi
movq %rax, %rsi
callq 0x6170
jmp 0x1bf1e
movl $0x1, -0x68(%rbp)
jmp 0x1d50b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
jmp 0x1d52d
movq -0x8f8(%rbp), %rdi
callq 0x1dc20
movl 0x24(%rax), %eax
movq %rax, -0x918(%rbp)
subq $0x17, %rax
ja 0x1d2c4
movq -0x918(%rbp), %rax
leaq 0x1e417(%rip), %rcx     # 0x3a380
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
jmp 0x1d2c4
movq -0x8f8(%rbp), %rdi
callq 0x1dc20
movq -0x900(%rbp), %rsi
movl 0x28(%rax), %edx
leaq -0xa8(%rbp), %rdi
movl $0x2, %ecx
callq 0x1bbc0
jmp 0x1bfa0
leaq 0x1e5b8(%rip), %rsi     # 0x3a55f
leaq -0x88(%rbp), %rdi
leaq -0xa8(%rbp), %rdx
callq 0x1d8c0
jmp 0x1bfbc
leaq -0x38(%rbp), %rdi
leaq -0x88(%rbp), %rsi
callq 0x6390
leaq -0x88(%rbp), %rdi
callq 0x61e0
leaq -0xa8(%rbp), %rdi
callq 0x61e0
jmp 0x1d2c4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
leaq -0xa8(%rbp), %rdi
callq 0x61e0
jmp 0x1d52d
movq -0x8f8(%rbp), %rdi
callq 0x1dc20
movq -0x900(%rbp), %rsi
movl 0x28(%rax), %edx
leaq -0xe8(%rbp), %rdi
movl $0x4, %ecx
callq 0x1bbc0
jmp 0x1c02f
leaq 0x1e529(%rip), %rsi     # 0x3a55f
leaq -0xc8(%rbp), %rdi
leaq -0xe8(%rbp), %rdx
callq 0x1d8c0
jmp 0x1c04b
leaq -0x38(%rbp), %rdi
leaq -0xc8(%rbp), %rsi
callq 0x6390
leaq -0xc8(%rbp), %rdi
callq 0x61e0
leaq -0xe8(%rbp), %rdi
callq 0x61e0
movq -0x8f8(%rbp), %rdi
callq 0x1dc20
cmpw $0x0, 0x30(%rax)
je 0x1c118
movq -0x8f8(%rbp), %rdi
callq 0x1dc20
cmpl $0x0, 0x28(%rax)
je 0x1c118
movq -0x8f8(%rbp), %rdi
callq 0x1dc20
movq -0x8f8(%rbp), %rdi
movzwl 0x28(%rax), %eax
movl %eax, -0x91c(%rbp)
callq 0x1dc20
movq -0x900(%rbp), %rsi
movl -0x91c(%rbp), %edx
movzwl 0x30(%rax), %ecx
leaq -0x108(%rbp), %rdi
callq 0x1d550
jmp 0x1c0dd
leaq -0x58(%rbp), %rdi
leaq -0x108(%rbp), %rsi
callq 0x6390
leaq -0x108(%rbp), %rdi
callq 0x61e0
jmp 0x1c118
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
leaq -0xe8(%rbp), %rdi
callq 0x61e0
jmp 0x1d52d
jmp 0x1d2c4
movq -0x8f8(%rbp), %rdi
callq 0x1dc20
movq -0x900(%rbp), %rsi
movl 0x28(%rax), %edx
leaq -0x128(%rbp), %rdi
movl $0x6, %ecx
callq 0x1bbc0
jmp 0x1c146
leaq -0x38(%rbp), %rdi
leaq -0x128(%rbp), %rsi
callq 0x6390
leaq -0x128(%rbp), %rdi
callq 0x61e0
jmp 0x1d2c4
movq -0x8f8(%rbp), %rdi
callq 0x1dc20
movq -0x900(%rbp), %rsi
movl 0x28(%rax), %edx
leaq -0x168(%rbp), %rdi
movl $0x4, %ecx
callq 0x1bbc0
jmp 0x1c190
leaq 0x1e3d5(%rip), %rsi     # 0x3a56c
leaq -0x148(%rbp), %rdi
leaq -0x168(%rbp), %rdx
callq 0x1d8c0
jmp 0x1c1ac
leaq -0x38(%rbp), %rdi
leaq -0x148(%rbp), %rsi
movq %rsi, -0x928(%rbp)
callq 0x6390
movq -0x928(%rbp), %rdi
callq 0x61e0
leaq -0x168(%rbp), %rdi
callq 0x61e0
movq -0x8f8(%rbp), %rdi
callq 0x1dc20
movq -0x900(%rbp), %rsi
movzwl 0x28(%rax), %edx
leaq -0x188(%rbp), %rdi
callq 0x1d630
jmp 0x1c200
leaq -0x58(%rbp), %rdi
leaq -0x188(%rbp), %rsi
callq 0x63c0
jmp 0x1c212
leaq -0x188(%rbp), %rdi
callq 0x61e0
jmp 0x1d2c4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
leaq -0x168(%rbp), %rdi
callq 0x61e0
jmp 0x1d52d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
leaq -0x188(%rbp), %rdi
callq 0x61e0
jmp 0x1d52d
movq -0x8f8(%rbp), %rdi
callq 0x1dc20
movq -0x900(%rbp), %rsi
movl 0x28(%rax), %edx
leaq -0x1c8(%rbp), %rdi
movl $0x2, %ecx
callq 0x1bbc0
jmp 0x1c286
leaq 0x1e2e3(%rip), %rsi     # 0x3a570
leaq -0x1a8(%rbp), %rdi
leaq -0x1c8(%rbp), %rdx
callq 0x1d8c0
jmp 0x1c2a2
leaq -0x38(%rbp), %rdi
leaq -0x1a8(%rbp), %rsi
callq 0x6390
leaq -0x1a8(%rbp), %rdi
callq 0x61e0
leaq -0x1c8(%rbp), %rdi
callq 0x61e0
jmp 0x1d2c4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
leaq -0x1c8(%rbp), %rdi
callq 0x61e0
jmp 0x1d52d
movq -0x8f8(%rbp), %rdi
callq 0x1dc20
movq -0x900(%rbp), %rsi
movl 0x28(%rax), %edx
leaq -0x208(%rbp), %rdi
movl $0x6, %ecx
callq 0x1bbc0
jmp 0x1c315
leaq 0x1e245(%rip), %rdx     # 0x3a561
leaq -0x1e8(%rbp), %rdi
leaq -0x208(%rbp), %rsi
callq 0x1dc60
jmp 0x1c331
leaq -0x38(%rbp), %rdi
leaq -0x1e8(%rbp), %rsi
callq 0x6390
leaq -0x1e8(%rbp), %rdi
callq 0x61e0
leaq -0x208(%rbp), %rdi
callq 0x61e0
jmp 0x1d2c4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
leaq -0x208(%rbp), %rdi
callq 0x61e0
jmp 0x1d52d
movq -0x8f8(%rbp), %rdi
callq 0x1dc20
movq -0x900(%rbp), %rsi
movl 0x28(%rax), %edx
leaq -0x268(%rbp), %rdi
movl $0x4, %ecx
callq 0x1bbc0
jmp 0x1c3a4
leaq 0x1e1c1(%rip), %rsi     # 0x3a56c
leaq -0x248(%rbp), %rdi
leaq -0x268(%rbp), %rdx
callq 0x1d8c0
jmp 0x1c3c0
leaq 0x1e19a(%rip), %rdx     # 0x3a561
leaq -0x228(%rbp), %rdi
leaq -0x248(%rbp), %rsi
callq 0x1dc60
jmp 0x1c3dc
leaq -0x38(%rbp), %rdi
leaq -0x228(%rbp), %rsi
movq %rsi, -0x930(%rbp)
callq 0x6390
movq -0x930(%rbp), %rdi
callq 0x61e0
leaq -0x248(%rbp), %rdi
callq 0x61e0
leaq -0x268(%rbp), %rdi
callq 0x61e0
movq -0x8f8(%rbp), %rdi
callq 0x1dc20
movq -0x900(%rbp), %rsi
movzwl 0x28(%rax), %edx
leaq -0x288(%rbp), %rdi
callq 0x1d630
jmp 0x1c43c
leaq -0x58(%rbp), %rdi
leaq -0x288(%rbp), %rsi
callq 0x63c0
jmp 0x1c44e
leaq -0x288(%rbp), %rdi
callq 0x61e0
jmp 0x1d2c4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
jmp 0x1c485
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
leaq -0x248(%rbp), %rdi
callq 0x61e0
leaq -0x268(%rbp), %rdi
callq 0x61e0
jmp 0x1d52d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
leaq -0x288(%rbp), %rdi
callq 0x61e0
jmp 0x1d52d
movq -0x8f8(%rbp), %rdi
callq 0x1dc20
movq -0x900(%rbp), %rsi
movl 0x28(%rax), %edx
leaq -0x2e8(%rbp), %rdi
movl $0x2, %ecx
callq 0x1bbc0
jmp 0x1c4dc
leaq 0x1e08d(%rip), %rsi     # 0x3a570
leaq -0x2c8(%rbp), %rdi
leaq -0x2e8(%rbp), %rdx
callq 0x1d8c0
jmp 0x1c4f8
leaq 0x1e062(%rip), %rdx     # 0x3a561
leaq -0x2a8(%rbp), %rdi
leaq -0x2c8(%rbp), %rsi
callq 0x1dc60
jmp 0x1c514
leaq -0x38(%rbp), %rdi
leaq -0x2a8(%rbp), %rsi
callq 0x6390
leaq -0x2a8(%rbp), %rdi
callq 0x61e0
leaq -0x2c8(%rbp), %rdi
callq 0x61e0
leaq -0x2e8(%rbp), %rdi
callq 0x61e0
jmp 0x1d2c4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
jmp 0x1c573
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
leaq -0x2c8(%rbp), %rdi
callq 0x61e0
leaq -0x2e8(%rbp), %rdi
callq 0x61e0
jmp 0x1d52d
movq -0x8f8(%rbp), %rdi
callq 0x1dc20
movq -0x900(%rbp), %rsi
movl 0x28(%rax), %edx
leaq -0x328(%rbp), %rdi
movl $0x6, %ecx
callq 0x1bbc0
jmp 0x1c5ad
leaq 0x1dfd1(%rip), %rdx     # 0x3a585
leaq -0x308(%rbp), %rdi
leaq -0x328(%rbp), %rsi
callq 0x1dc60
jmp 0x1c5c9
leaq -0x38(%rbp), %rdi
leaq -0x308(%rbp), %rsi
callq 0x6390
leaq -0x308(%rbp), %rdi
callq 0x61e0
leaq -0x328(%rbp), %rdi
callq 0x61e0
jmp 0x1d2c4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
leaq -0x328(%rbp), %rdi
callq 0x61e0
jmp 0x1d52d
movq -0x8f8(%rbp), %rdi
callq 0x1dc20
movq -0x900(%rbp), %rsi
movl 0x28(%rax), %edx
leaq -0x388(%rbp), %rdi
movl $0x4, %ecx
callq 0x1bbc0
jmp 0x1c63c
leaq 0x1df29(%rip), %rsi     # 0x3a56c
leaq -0x368(%rbp), %rdi
leaq -0x388(%rbp), %rdx
callq 0x1d8c0
jmp 0x1c658
leaq 0x1df26(%rip), %rdx     # 0x3a585
leaq -0x348(%rbp), %rdi
leaq -0x368(%rbp), %rsi
callq 0x1dc60
jmp 0x1c674
leaq -0x38(%rbp), %rdi
leaq -0x348(%rbp), %rsi
movq %rsi, -0x938(%rbp)
callq 0x6390
movq -0x938(%rbp), %rdi
callq 0x61e0
leaq -0x368(%rbp), %rdi
callq 0x61e0
leaq -0x388(%rbp), %rdi
callq 0x61e0
movq -0x8f8(%rbp), %rdi
callq 0x1dc20
movq -0x900(%rbp), %rsi
movzwl 0x28(%rax), %edx
leaq -0x3a8(%rbp), %rdi
callq 0x1d630
jmp 0x1c6d4
leaq -0x58(%rbp), %rdi
leaq -0x3a8(%rbp), %rsi
callq 0x63c0
jmp 0x1c6e6
leaq -0x3a8(%rbp), %rdi
callq 0x61e0
jmp 0x1d2c4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
jmp 0x1c71d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
leaq -0x368(%rbp), %rdi
callq 0x61e0
leaq -0x388(%rbp), %rdi
callq 0x61e0
jmp 0x1d52d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
leaq -0x3a8(%rbp), %rdi
callq 0x61e0
jmp 0x1d52d
movq -0x8f8(%rbp), %rdi
callq 0x1dc20
movq -0x900(%rbp), %rsi
movl 0x28(%rax), %edx
leaq -0x408(%rbp), %rdi
movl $0x2, %ecx
callq 0x1bbc0
jmp 0x1c774
leaq 0x1ddf5(%rip), %rsi     # 0x3a570
leaq -0x3e8(%rbp), %rdi
leaq -0x408(%rbp), %rdx
callq 0x1d8c0
jmp 0x1c790
leaq 0x1ddee(%rip), %rdx     # 0x3a585
leaq -0x3c8(%rbp), %rdi
leaq -0x3e8(%rbp), %rsi
callq 0x1dc60
jmp 0x1c7ac
leaq -0x38(%rbp), %rdi
leaq -0x3c8(%rbp), %rsi
callq 0x6390
leaq -0x3c8(%rbp), %rdi
callq 0x61e0
leaq -0x3e8(%rbp), %rdi
callq 0x61e0
leaq -0x408(%rbp), %rdi
callq 0x61e0
jmp 0x1d2c4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
jmp 0x1c80b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
leaq -0x3e8(%rbp), %rdi
callq 0x61e0
leaq -0x408(%rbp), %rdi
callq 0x61e0
jmp 0x1d52d
movq -0x8f8(%rbp), %rdi
callq 0x1dc20
movq -0x900(%rbp), %rsi
movl 0x28(%rax), %edx
leaq -0x448(%rbp), %rdi
movl $0x2, %ecx
callq 0x1bbc0
jmp 0x1c845
leaq 0x1dd19(%rip), %rdx     # 0x3a565
leaq -0x428(%rbp), %rdi
leaq -0x448(%rbp), %rsi
callq 0x1dc60
jmp 0x1c861
leaq -0x38(%rbp), %rdi
leaq -0x428(%rbp), %rsi
callq 0x6390
leaq -0x428(%rbp), %rdi
callq 0x61e0
leaq -0x448(%rbp), %rdi
callq 0x61e0
jmp 0x1d2c4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
leaq -0x448(%rbp), %rdi
callq 0x61e0
jmp 0x1d52d
movq -0x8f8(%rbp), %rdi
callq 0x1dc20
movq -0x900(%rbp), %rsi
movl 0x28(%rax), %edx
leaq -0x4a8(%rbp), %rdi
movl $0x6, %ecx
callq 0x1bbc0
jmp 0x1c8d4
leaq 0x1dc8e(%rip), %rsi     # 0x3a569
leaq -0x488(%rbp), %rdi
leaq -0x4a8(%rbp), %rdx
callq 0x1d8c0
jmp 0x1c8f0
leaq 0x1e5c4(%rip), %rdx     # 0x3aebb
leaq -0x468(%rbp), %rdi
leaq -0x488(%rbp), %rsi
callq 0x1dc60
jmp 0x1c90c
leaq -0x38(%rbp), %rdi
leaq -0x468(%rbp), %rsi
callq 0x6390
leaq -0x468(%rbp), %rdi
callq 0x61e0
leaq -0x488(%rbp), %rdi
callq 0x61e0
leaq -0x4a8(%rbp), %rdi
callq 0x61e0
jmp 0x1d2c4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
jmp 0x1c96b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
leaq -0x488(%rbp), %rdi
callq 0x61e0
leaq -0x4a8(%rbp), %rdi
callq 0x61e0
jmp 0x1d52d
movq -0x8f8(%rbp), %rdi
callq 0x1dc20
movq -0x900(%rbp), %rsi
movl 0x28(%rax), %edx
leaq -0x508(%rbp), %rdi
movl $0x4, %ecx
callq 0x1bbc0
jmp 0x1c9a5
leaq 0x1dbbf(%rip), %rsi     # 0x3a56b
leaq -0x4e8(%rbp), %rdi
leaq -0x508(%rbp), %rdx
callq 0x1d8c0
jmp 0x1c9c1
leaq 0x1e4f3(%rip), %rdx     # 0x3aebb
leaq -0x4c8(%rbp), %rdi
leaq -0x4e8(%rbp), %rsi
callq 0x1dc60
jmp 0x1c9dd
leaq -0x38(%rbp), %rdi
leaq -0x4c8(%rbp), %rsi
movq %rsi, -0x940(%rbp)
callq 0x6390
movq -0x940(%rbp), %rdi
callq 0x61e0
leaq -0x4e8(%rbp), %rdi
callq 0x61e0
leaq -0x508(%rbp), %rdi
callq 0x61e0
movq -0x8f8(%rbp), %rdi
callq 0x1dc20
movq -0x900(%rbp), %rsi
movzwl 0x28(%rax), %edx
leaq -0x528(%rbp), %rdi
callq 0x1d630
jmp 0x1ca3d
leaq -0x58(%rbp), %rdi
leaq -0x528(%rbp), %rsi
callq 0x63c0
jmp 0x1ca4f
leaq -0x528(%rbp), %rdi
callq 0x61e0
jmp 0x1d2c4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
jmp 0x1ca86
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
leaq -0x4e8(%rbp), %rdi
callq 0x61e0
leaq -0x508(%rbp), %rdi
callq 0x61e0
jmp 0x1d52d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
leaq -0x528(%rbp), %rdi
callq 0x61e0
jmp 0x1d52d
movq -0x8f8(%rbp), %rdi
callq 0x1dc20
movq -0x900(%rbp), %rsi
movl 0x28(%rax), %edx
leaq -0x588(%rbp), %rdi
movl $0x2, %ecx
callq 0x1bbc0
jmp 0x1cadd
leaq 0x1da8b(%rip), %rsi     # 0x3a56f
leaq -0x568(%rbp), %rdi
leaq -0x588(%rbp), %rdx
callq 0x1d8c0
jmp 0x1caf9
leaq 0x1e3bb(%rip), %rdx     # 0x3aebb
leaq -0x548(%rbp), %rdi
leaq -0x568(%rbp), %rsi
callq 0x1dc60
jmp 0x1cb15
leaq -0x38(%rbp), %rdi
leaq -0x548(%rbp), %rsi
callq 0x6390
leaq -0x548(%rbp), %rdi
callq 0x61e0
leaq -0x568(%rbp), %rdi
callq 0x61e0
leaq -0x588(%rbp), %rdi
callq 0x61e0
jmp 0x1d2c4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
jmp 0x1cb74
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
leaq -0x568(%rbp), %rdi
callq 0x61e0
leaq -0x588(%rbp), %rdi
callq 0x61e0
jmp 0x1d52d
movq -0x8f8(%rbp), %rdi
callq 0x1dc20
movq -0x900(%rbp), %rsi
movl 0x28(%rax), %edx
leaq -0x5e8(%rbp), %rdi
movl $0x6, %ecx
callq 0x1bbc0
jmp 0x1cbae
leaq 0x1d9b4(%rip), %rsi     # 0x3a569
leaq -0x5c8(%rbp), %rdi
leaq -0x5e8(%rbp), %rdx
callq 0x1d8c0
jmp 0x1cbca
leaq 0x1d9a2(%rip), %rdx     # 0x3a573
leaq -0x5a8(%rbp), %rdi
leaq -0x5c8(%rbp), %rsi
callq 0x1dc60
jmp 0x1cbe6
leaq -0x38(%rbp), %rdi
leaq -0x5a8(%rbp), %rsi
callq 0x6390
leaq -0x5a8(%rbp), %rdi
callq 0x61e0
leaq -0x5c8(%rbp), %rdi
callq 0x61e0
leaq -0x5e8(%rbp), %rdi
callq 0x61e0
jmp 0x1d2c4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
jmp 0x1cc45
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
leaq -0x5c8(%rbp), %rdi
callq 0x61e0
leaq -0x5e8(%rbp), %rdi
callq 0x61e0
jmp 0x1d52d
movq -0x8f8(%rbp), %rdi
callq 0x1dc20
movq -0x900(%rbp), %rsi
movl 0x28(%rax), %edx
leaq -0x648(%rbp), %rdi
movl $0x4, %ecx
callq 0x1bbc0
jmp 0x1cc7f
leaq 0x1d8e5(%rip), %rsi     # 0x3a56b
leaq -0x628(%rbp), %rdi
leaq -0x648(%rbp), %rdx
callq 0x1d8c0
jmp 0x1cc9b
leaq 0x1d8d1(%rip), %rdx     # 0x3a573
leaq -0x608(%rbp), %rdi
leaq -0x628(%rbp), %rsi
callq 0x1dc60
jmp 0x1ccb7
leaq -0x38(%rbp), %rdi
leaq -0x608(%rbp), %rsi
movq %rsi, -0x948(%rbp)
callq 0x6390
movq -0x948(%rbp), %rdi
callq 0x61e0
leaq -0x628(%rbp), %rdi
callq 0x61e0
leaq -0x648(%rbp), %rdi
callq 0x61e0
movq -0x8f8(%rbp), %rdi
callq 0x1dc20
movq -0x900(%rbp), %rsi
movzwl 0x28(%rax), %edx
leaq -0x668(%rbp), %rdi
callq 0x1d630
jmp 0x1cd17
leaq -0x58(%rbp), %rdi
leaq -0x668(%rbp), %rsi
callq 0x63c0
jmp 0x1cd29
leaq -0x668(%rbp), %rdi
callq 0x61e0
jmp 0x1d2c4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
jmp 0x1cd60
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
leaq -0x628(%rbp), %rdi
callq 0x61e0
leaq -0x648(%rbp), %rdi
callq 0x61e0
jmp 0x1d52d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
leaq -0x668(%rbp), %rdi
callq 0x61e0
jmp 0x1d52d
movq -0x8f8(%rbp), %rdi
callq 0x1dc20
movq -0x900(%rbp), %rsi
movl 0x28(%rax), %edx
leaq -0x6c8(%rbp), %rdi
movl $0x2, %ecx
callq 0x1bbc0
jmp 0x1cdb7
leaq 0x1d7b1(%rip), %rsi     # 0x3a56f
leaq -0x6a8(%rbp), %rdi
leaq -0x6c8(%rbp), %rdx
callq 0x1d8c0
jmp 0x1cdd3
leaq 0x1e0e1(%rip), %rdx     # 0x3aebb
leaq -0x688(%rbp), %rdi
leaq -0x6a8(%rbp), %rsi
callq 0x1dc60
jmp 0x1cdef
leaq -0x38(%rbp), %rdi
leaq -0x688(%rbp), %rsi
callq 0x6390
leaq -0x688(%rbp), %rdi
callq 0x61e0
leaq -0x6a8(%rbp), %rdi
callq 0x61e0
leaq -0x6c8(%rbp), %rdi
callq 0x61e0
jmp 0x1d2c4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
jmp 0x1ce4e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
leaq -0x6a8(%rbp), %rdi
callq 0x61e0
leaq -0x6c8(%rbp), %rdi
callq 0x61e0
jmp 0x1d52d
movq -0x8f8(%rbp), %rdi
callq 0x1dc20
movq -0x900(%rbp), %rsi
movl 0x28(%rax), %edx
leaq -0x728(%rbp), %rdi
movl $0x2, %ecx
callq 0x1bbc0
jmp 0x1ce88
leaq 0x1d6e0(%rip), %rsi     # 0x3a56f
leaq -0x708(%rbp), %rdi
leaq -0x728(%rbp), %rdx
callq 0x1d8c0
jmp 0x1cea4
leaq 0x1d6d9(%rip), %rdx     # 0x3a584
leaq -0x6e8(%rbp), %rdi
leaq -0x708(%rbp), %rsi
callq 0x1dc60
jmp 0x1cec0
leaq -0x38(%rbp), %rdi
leaq -0x6e8(%rbp), %rsi
callq 0x6390
leaq -0x6e8(%rbp), %rdi
callq 0x61e0
leaq -0x708(%rbp), %rdi
callq 0x61e0
leaq -0x728(%rbp), %rdi
callq 0x61e0
jmp 0x1d2c4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
jmp 0x1cf1f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
leaq -0x708(%rbp), %rdi
callq 0x61e0
leaq -0x728(%rbp), %rdi
callq 0x61e0
jmp 0x1d52d
movq -0x8f8(%rbp), %rdi
callq 0x1dc20
movq -0x900(%rbp), %rsi
movl 0x28(%rax), %edx
leaq -0x788(%rbp), %rdi
movl $0x2, %ecx
callq 0x1bbc0
jmp 0x1cf59
leaq 0x1d618(%rip), %rsi     # 0x3a578
leaq -0x768(%rbp), %rdi
leaq -0x788(%rbp), %rdx
callq 0x1d8c0
jmp 0x1cf75
leaq 0x1dc31(%rip), %rdx     # 0x3abad
leaq -0x748(%rbp), %rdi
leaq -0x768(%rbp), %rsi
callq 0x1dc60
jmp 0x1cf91
leaq -0x38(%rbp), %rdi
leaq -0x748(%rbp), %rsi
callq 0x6390
leaq -0x748(%rbp), %rdi
callq 0x61e0
leaq -0x768(%rbp), %rdi
callq 0x61e0
leaq -0x788(%rbp), %rdi
callq 0x61e0
jmp 0x1d2c4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
jmp 0x1cff0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
leaq -0x768(%rbp), %rdi
callq 0x61e0
leaq -0x788(%rbp), %rdi
callq 0x61e0
jmp 0x1d52d
movq -0x8f8(%rbp), %rdi
callq 0x1dc20
movq -0x900(%rbp), %rsi
movl 0x28(%rax), %edx
leaq -0x7e8(%rbp), %rdi
movl $0x2, %ecx
callq 0x1bbc0
jmp 0x1d02a
leaq 0x1d547(%rip), %rsi     # 0x3a578
leaq -0x7c8(%rbp), %rdi
leaq -0x7e8(%rbp), %rdx
callq 0x1d8c0
jmp 0x1d046
leaq 0x1d52f(%rip), %rdx     # 0x3a57c
leaq -0x7a8(%rbp), %rdi
leaq -0x7c8(%rbp), %rsi
callq 0x1dc60
jmp 0x1d062
leaq -0x38(%rbp), %rdi
leaq -0x7a8(%rbp), %rsi
callq 0x6390
leaq -0x7a8(%rbp), %rdi
callq 0x61e0
leaq -0x7c8(%rbp), %rdi
callq 0x61e0
leaq -0x7e8(%rbp), %rdi
callq 0x61e0
jmp 0x1d2c4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
jmp 0x1d0c1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
leaq -0x7c8(%rbp), %rdi
callq 0x61e0
leaq -0x7e8(%rbp), %rdi
callq 0x61e0
jmp 0x1d52d
movq -0x8f8(%rbp), %rdi
callq 0x1dc20
movq -0x900(%rbp), %rsi
movl 0x28(%rax), %edx
leaq -0x848(%rbp), %rdi
movl $0x2, %ecx
callq 0x1bbc0
jmp 0x1d0fb
leaq 0x1d467(%rip), %rsi     # 0x3a569
leaq -0x828(%rbp), %rdi
leaq -0x848(%rbp), %rdx
callq 0x1d8c0
jmp 0x1d117
leaq 0x1d463(%rip), %rdx     # 0x3a581
leaq -0x808(%rbp), %rdi
leaq -0x828(%rbp), %rsi
callq 0x1dc60
jmp 0x1d133
leaq -0x38(%rbp), %rdi
leaq -0x808(%rbp), %rsi
callq 0x6390
leaq -0x808(%rbp), %rdi
callq 0x61e0
leaq -0x828(%rbp), %rdi
callq 0x61e0
leaq -0x848(%rbp), %rdi
callq 0x61e0
jmp 0x1d2c4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
jmp 0x1d192
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
leaq -0x828(%rbp), %rdi
callq 0x61e0
leaq -0x848(%rbp), %rdi
callq 0x61e0
jmp 0x1d52d
movq -0x8f8(%rbp), %rdi
callq 0x1dc20
movq -0x900(%rbp), %rsi
movl 0x28(%rax), %edx
shrl $0x8, %edx
leaq -0x8a8(%rbp), %rdi
movl $0x2, %ecx
callq 0x1bbc0
jmp 0x1d1cf
leaq 0x1d3b3(%rip), %rdx     # 0x3a589
leaq -0x888(%rbp), %rdi
leaq -0x8a8(%rbp), %rsi
callq 0x1dc60
jmp 0x1d1eb
movq -0x8f8(%rbp), %rdi
callq 0x1dc20
movq -0x900(%rbp), %rsi
movzbl 0x28(%rax), %edx
leaq -0x8c8(%rbp), %rdi
movl $0x2, %ecx
callq 0x1bbc0
jmp 0x1d215
leaq -0x868(%rbp), %rdi
leaq -0x888(%rbp), %rsi
leaq -0x8c8(%rbp), %rdx
callq 0x1dcb0
jmp 0x1d231
leaq -0x38(%rbp), %rdi
leaq -0x868(%rbp), %rsi
callq 0x6390
leaq -0x868(%rbp), %rdi
callq 0x61e0
leaq -0x8c8(%rbp), %rdi
callq 0x61e0
leaq -0x888(%rbp), %rdi
callq 0x61e0
leaq -0x8a8(%rbp), %rdi
callq 0x61e0
jmp 0x1d2c4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
jmp 0x1d2b3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
jmp 0x1d2a7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
leaq -0x8c8(%rbp), %rdi
callq 0x61e0
leaq -0x888(%rbp), %rdi
callq 0x61e0
leaq -0x8a8(%rbp), %rdi
callq 0x61e0
jmp 0x1d52d
movq -0x8f8(%rbp), %rdi
callq 0x1dc20
movl 0x2c(%rax), %eax
andl $0x2000, %eax           # imm = 0x2000
cmpl $0x0, %eax
je 0x1d320
movq -0x8f8(%rbp), %rdi
callq 0x1dc20
movl 0x2c(%rax), %eax
andl $0x100, %eax            # imm = 0x100
cmpl $0x0, %eax
je 0x1d30a
leaq 0x1d28f(%rip), %rsi     # 0x3a58c
leaq -0x58(%rbp), %rdi
callq 0x62e0
jmp 0x1d308
jmp 0x1d31e
leaq 0x1d287(%rip), %rsi     # 0x3a598
leaq -0x58(%rbp), %rdi
callq 0x62e0
jmp 0x1d31c
jmp 0x1d31e
jmp 0x1d320
movq -0x8f8(%rbp), %rdi
callq 0x1dc20
movl 0x2c(%rax), %eax
andl $0x400, %eax            # imm = 0x400
cmpl $0x0, %eax
je 0x1d37a
movq -0x8f8(%rbp), %rdi
callq 0x1dc20
movl 0x2c(%rax), %eax
andl $0x20, %eax
cmpl $0x0, %eax
je 0x1d364
leaq 0x1d24e(%rip), %rsi     # 0x3a5a5
leaq -0x58(%rbp), %rdi
callq 0x62e0
jmp 0x1d362
jmp 0x1d378
leaq 0x1d23f(%rip), %rsi     # 0x3a5aa
leaq -0x58(%rbp), %rdi
callq 0x62e0
jmp 0x1d376
jmp 0x1d378
jmp 0x1d37a
movq -0x8f8(%rbp), %rdi
callq 0x1dc20
movl 0x2c(%rax), %eax
andl $0x200, %eax            # imm = 0x200
cmpl $0x0, %eax
je 0x1d3d4
movq -0x8f8(%rbp), %rdi
callq 0x1dc20
movl 0x2c(%rax), %eax
andl $0x10, %eax
cmpl $0x0, %eax
je 0x1d3be
leaq 0x1d1fe(%rip), %rsi     # 0x3a5af
leaq -0x58(%rbp), %rdi
callq 0x62e0
jmp 0x1d3bc
jmp 0x1d3d2
leaq 0x1d1ef(%rip), %rsi     # 0x3a5b4
leaq -0x58(%rbp), %rdi
callq 0x62e0
jmp 0x1d3d0
jmp 0x1d3d2
jmp 0x1d3d4
movq -0x8f8(%rbp), %rdi
movb $0x0, -0x8c9(%rbp)
callq 0x1dc20
movq -0x910(%rbp), %rdi
movq %rax, %rsi
callq 0x6170
jmp 0x1d3f8
jmp 0x1d3fa
movq -0x910(%rbp), %rdi
callq 0x6480
cmpq $0x8, %rax
jae 0x1d434
movq -0x910(%rbp), %rdi
leaq 0x1da6e(%rip), %rsi     # 0x3ae88
callq 0x62e0
jmp 0x1d421
jmp 0x1d3fa
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
jmp 0x1d4fd
movq -0x910(%rbp), %rdi
leaq -0x38(%rbp), %rsi
callq 0x63c0
jmp 0x1d446
leaq -0x58(%rbp), %rdi
callq 0x6510
testb $0x1, %al
jne 0x1d4d8
jmp 0x1d459
movq -0x910(%rbp), %rdi
callq 0x6480
cmpq $0x14, %rax
jae 0x1d482
movq -0x910(%rbp), %rdi
leaq 0x1da0f(%rip), %rsi     # 0x3ae88
callq 0x62e0
jmp 0x1d480
jmp 0x1d459
leaq 0x1d130(%rip), %rsi     # 0x3a5b9
leaq -0x8f0(%rbp), %rdi
leaq -0x58(%rbp), %rdx
callq 0x1dd80
jmp 0x1d49b
movq -0x910(%rbp), %rdi
leaq -0x8f0(%rbp), %rsi
callq 0x63c0
jmp 0x1d4b0
leaq -0x8f0(%rbp), %rdi
callq 0x61e0
jmp 0x1d4d8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
leaq -0x8f0(%rbp), %rdi
callq 0x61e0
jmp 0x1d4fd
movb $0x1, -0x8c9(%rbp)
movl $0x1, -0x68(%rbp)
testb $0x1, -0x8c9(%rbp)
jne 0x1d4fb
movq -0x910(%rbp), %rdi
callq 0x61e0
jmp 0x1d50b
movq -0x910(%rbp), %rdi
callq 0x61e0
jmp 0x1d52d
leaq -0x58(%rbp), %rdi
callq 0x61e0
leaq -0x38(%rbp), %rdi
callq 0x61e0
movq -0x908(%rbp), %rax
addq $0x950, %rsp            # imm = 0x950
popq %rbp
retq
leaq -0x58(%rbp), %rdi
callq 0x61e0
leaq -0x38(%rbp), %rdi
callq 0x61e0
movq -0x60(%rbp), %rdi
callq 0x6540
nopl (%rax,%rax)