// File: /workspace/github_c_makefile_star2_O1/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
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0xc8, %rsp
movq %rdi, %rbx
leaq 0x78(%rsp), %r13
movq %r13, -0x10(%r13)
xorl %eax, %eax
movq %rax, -0x8(%r13)
movb %al, (%r13)
leaq 0x98(%rsp), %rbp
movq %rbp, -0x10(%rbp)
movq %rax, -0x8(%rbp)
movb %al, (%rbp)
movq (%rdx), %rax
cmpw $0x5, 0x20(%rax)
jne 0xdb24
leaq 0x10(%rbx), %rcx
movq %rcx, (%rbx)
movq (%rax), %rsi
movq 0x8(%rax), %rdx
addq %rsi, %rdx
movq %rbx, %rdi
callq 0x68c2
jmp 0xed4a
movq %rdx, %r14
movl 0x24(%rax), %ecx
decl %ecx
cmpl $0x16, %ecx
ja 0xec0c
movq %rsi, %r15
leaq 0x9881(%rip), %rdx      # 0x173c0
movslq (%rdx,%rcx,4), %rcx
addq %rdx, %rcx
jmpq *%rcx
movl 0x28(%rax), %edx
leaq 0x8(%rsp), %rdi
movq %r15, %rsi
movl $0x2, %ecx
callq 0xd890
leaq 0x9a3b(%rip), %rcx      # 0x1759f
leaq 0x8(%rsp), %rdi
movl $0x1, %r8d
xorl %esi, %esi
xorl %edx, %edx
callq 0x5250
jmp 0xe1f0
movl 0x28(%rax), %edx
leaq 0x48(%rsp), %rdi
movq %r15, %rsi
movl $0x4, %ecx
callq 0xd890
leaq 0x9a12(%rip), %rcx      # 0x175ab
leaq 0x48(%rsp), %rdi
movl $0x3, %r8d
xorl %esi, %esi
xorl %edx, %edx
callq 0x5250
leaq 0x18(%rsp), %rsi
movq %rsi, -0x10(%rsi)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xe330
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
jmp 0xe336
movl 0x28(%rax), %edx
leaq 0x48(%rsp), %rdi
movq %r15, %rsi
movl $0x2, %ecx
callq 0xd890
leaq 0x99b8(%rip), %rcx      # 0x175af
leaq 0x48(%rsp), %rdi
movl $0x3, %r8d
xorl %esi, %esi
xorl %edx, %edx
callq 0x5250
leaq 0x18(%rsp), %r15
movq %r15, -0x10(%r15)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xe38d
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
jmp 0xe394
movl 0x28(%rax), %edx
leaq 0x8(%rsp), %rdi
movq %r15, %rsi
movl $0x2, %ecx
callq 0xd890
leaq 0x9950(%rip), %rsi      # 0x175a5
leaq 0x8(%rsp), %rdi
callq 0x5430
jmp 0xe1f0
movl 0x28(%rax), %edx
leaq 0x8(%rsp), %rdi
movq %r15, %rsi
movl $0x2, %ecx
callq 0xd890
leaq 0x9930(%rip), %rcx      # 0x175b0
leaq 0x8(%rsp), %rdi
movl $0x2, %r8d
xorl %esi, %esi
xorl %edx, %edx
callq 0x5250
jmp 0xe1f0
movl 0x28(%rax), %edx
leaq 0x48(%rsp), %rdi
movq %r15, %rsi
movl $0x6, %ecx
callq 0xd890
leaq 0x98f4(%rip), %rcx      # 0x175a9
leaq 0x48(%rsp), %rdi
movl $0x1, %r8d
xorl %esi, %esi
xorl %edx, %edx
callq 0x5250
leaq 0x18(%rsp), %r15
movq %r15, -0x10(%r15)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xe3c1
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
jmp 0xe3c8
movl 0x28(%rax), %edx
leaq 0x48(%rsp), %rdi
movq %r15, %rsi
movl $0x4, %ecx
callq 0xd890
leaq 0x9899(%rip), %rcx      # 0x175ac
leaq 0x48(%rsp), %rdi
movl $0x2, %r8d
xorl %esi, %esi
xorl %edx, %edx
callq 0x5250
leaq 0x18(%rsp), %rsi
movq %rsi, -0x10(%rsi)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xe3f5
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
jmp 0xe3fb
movl 0x28(%rax), %edx
leaq 0x28(%rsp), %rdi
movq %r15, %rsi
movl $0x6, %ecx
callq 0xd890
leaq 0x68(%rsp), %rdi
leaq 0x28(%rsp), %r15
movq %r15, %rsi
callq 0x5280
movq (%r15), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
jne 0xebff
jmp 0xec0c
movl 0x28(%rax), %edx
leaq 0x48(%rsp), %rdi
movq %r15, %rsi
movl $0x6, %ecx
callq 0xd890
leaq 0x97fb(%rip), %rcx      # 0x175a9
leaq 0x48(%rsp), %rdi
movl $0x1, %r8d
xorl %esi, %esi
xorl %edx, %edx
callq 0x5250
leaq 0x18(%rsp), %r15
movq %r15, -0x10(%r15)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xe452
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
jmp 0xe459
movl 0x28(%rax), %edx
leaq 0x8(%rsp), %rdi
movq %r15, %rsi
movl $0x4, %ecx
callq 0xd890
leaq 0x97a0(%rip), %rcx      # 0x175ac
leaq 0x8(%rsp), %rdi
movl $0x2, %r8d
xorl %esi, %esi
xorl %edx, %edx
callq 0x5250
leaq 0x38(%rsp), %r12
movq %r12, -0x10(%r12)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xe486
movq %rdx, 0x28(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x38(%rsp)
jmp 0xe48e
movl 0x28(%rax), %edx
leaq 0x48(%rsp), %rdi
movq %r15, %rsi
movl $0x2, %ecx
callq 0xd890
leaq 0x9745(%rip), %rcx      # 0x175b0
leaq 0x48(%rsp), %rdi
movl $0x2, %r8d
xorl %esi, %esi
xorl %edx, %edx
callq 0x5250
leaq 0x18(%rsp), %r15
movq %r15, -0x10(%r15)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xe519
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
jmp 0xe520
movl 0x28(%rax), %edx
leaq 0x8(%rsp), %rdi
movq %r15, %rsi
movl $0x4, %ecx
callq 0xd890
leaq 0x96d6(%rip), %rcx      # 0x1759f
leaq 0x8(%rsp), %rdi
movl $0x1, %r8d
xorl %esi, %esi
xorl %edx, %edx
callq 0x5250
leaq 0x38(%rsp), %r12
movq %r12, -0x10(%r12)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xe54d
movq %rdx, 0x28(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x38(%rsp)
jmp 0xe555
movl 0x28(%rax), %edx
leaq 0x48(%rsp), %rdi
movq %r15, %rsi
movl $0x2, %ecx
callq 0xd890
leaq 0x9687(%rip), %rcx      # 0x175af
leaq 0x48(%rsp), %rdi
movl $0x3, %r8d
xorl %esi, %esi
xorl %edx, %edx
callq 0x5250
leaq 0x18(%rsp), %r15
movq %r15, -0x10(%r15)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xe5fb
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
jmp 0xe602
movl 0x28(%rax), %edx
leaq 0x48(%rsp), %rdi
movq %r15, %rsi
movl $0x2, %ecx
callq 0xd890
leaq 0x9632(%rip), %rcx      # 0x175b8
leaq 0x48(%rsp), %rdi
movl $0x3, %r8d
xorl %esi, %esi
xorl %edx, %edx
callq 0x5250
leaq 0x18(%rsp), %r15
movq %r15, -0x10(%r15)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xe62f
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
jmp 0xe636
movl 0x28(%rax), %edx
leaq 0x8(%rsp), %rdi
movq %r15, %rsi
movl $0x6, %ecx
callq 0xd890
leaq 0x95bd(%rip), %rsi      # 0x175a1
leaq 0x8(%rsp), %rdi
callq 0x5430
jmp 0xe1f0
movl 0x28(%rax), %edx
leaq 0x48(%rsp), %rdi
movq %r15, %rsi
movl $0x2, %ecx
callq 0xd890
leaq 0x959a(%rip), %rcx      # 0x175a9
leaq 0x48(%rsp), %rdi
movl $0x1, %r8d
xorl %esi, %esi
xorl %edx, %edx
callq 0x5250
leaq 0x18(%rsp), %r15
movq %r15, -0x10(%r15)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xe663
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
jmp 0xe66a
movl 0x28(%rax), %edx
leaq 0x48(%rsp), %rdi
movq %r15, %rsi
movl $0x4, %ecx
callq 0xd890
leaq 0x953e(%rip), %rcx      # 0x175ab
leaq 0x48(%rsp), %rdi
movl $0x3, %r8d
xorl %esi, %esi
xorl %edx, %edx
callq 0x5250
leaq 0x18(%rsp), %rsi
movq %rsi, -0x10(%rsi)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xe697
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
jmp 0xe69d
movl 0x28(%rax), %edx
leaq 0x48(%rsp), %rdi
movq %r15, %rsi
movl $0x4, %ecx
callq 0xd890
leaq 0x94e1(%rip), %rcx      # 0x175ac
leaq 0x48(%rsp), %rdi
movl $0x2, %r8d
xorl %esi, %esi
xorl %edx, %edx
callq 0x5250
leaq 0x18(%rsp), %r12
movq %r12, -0x10(%r12)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xe6f4
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
jmp 0xe6fc
movl 0x28(%rax), %edx
leaq 0x48(%rsp), %rdi
movq %r15, %rsi
movl $0x2, %ecx
callq 0xd890
leaq 0x9485(%rip), %rcx      # 0x175af
leaq 0x48(%rsp), %rdi
movl $0x3, %r8d
xorl %esi, %esi
xorl %edx, %edx
callq 0x5250
leaq 0x18(%rsp), %r15
movq %r15, -0x10(%r15)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xe756
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
jmp 0xe75d
movl 0x28(%rax), %edx
leaq 0x48(%rsp), %rdi
movq %r15, %rsi
movl $0x2, %ecx
callq 0xd890
leaq 0x9428(%rip), %rcx      # 0x175b0
leaq 0x48(%rsp), %rdi
movl $0x2, %r8d
xorl %esi, %esi
xorl %edx, %edx
callq 0x5250
leaq 0x18(%rsp), %r15
movq %r15, -0x10(%r15)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xe78a
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
jmp 0xe791
movl 0x28(%rax), %edx
leaq 0x8(%rsp), %rdi
movq %r15, %rsi
movl $0x6, %ecx
callq 0xd890
leaq 0x93df(%rip), %rsi      # 0x175c5
leaq 0x8(%rsp), %rdi
callq 0x5430
leaq 0x38(%rsp), %r12
movq %r12, -0x10(%r12)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xe218
movq %rdx, 0x28(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x38(%rsp)
jmp 0xe220
movups (%rcx), %xmm0
movups %xmm0, (%r12)
movq 0x8(%rax), %rdx
leaq 0x28(%rsp), %r15
movq %rdx, 0x8(%r15)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x68(%rsp), %rdi
movq %r15, %rsi
callq 0x5280
movq (%r15), %rdi
cmpq %r12, %rdi
je 0xe25e
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x5230
leaq 0x18(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xec0c
movq 0x18(%rsp), %rsi
jmp 0xec04
movl 0x28(%rax), %edx
shrl $0x8, %edx
leaq 0x48(%rsp), %rdi
movq %r15, %rsi
movl $0x2, %ecx
callq 0xd890
leaq 0x9330(%rip), %rsi      # 0x175c9
leaq 0x48(%rsp), %rdi
callq 0x5430
leaq 0x18(%rsp), %r12
movq %r12, -0x10(%r12)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xe7be
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
jmp 0xe7c6
movl 0x28(%rax), %edx
leaq 0x48(%rsp), %rdi
movq %r15, %rsi
movl $0x2, %ecx
callq 0xd890
leaq 0x92ca(%rip), %rcx      # 0x175b8
leaq 0x48(%rsp), %rdi
movl $0x3, %r8d
xorl %esi, %esi
xorl %edx, %edx
callq 0x5250
leaq 0x18(%rsp), %r15
movq %r15, -0x10(%r15)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xe85f
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
jmp 0xe866
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
leaq 0x8(%rsp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x925a(%rip), %rsi      # 0x175b3
callq 0x5430
leaq 0x38(%rsp), %r12
movq %r12, -0x10(%r12)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xe934
movq %rdx, 0x28(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x38(%rsp)
jmp 0xe93c
movups (%rcx), %xmm0
movups %xmm0, (%r15)
movq 0x8(%rax), %rdx
leaq 0x8(%rsp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x9b19(%rip), %rsi      # 0x17ed0
callq 0x5430
jmp 0xe88e
movups (%rcx), %xmm0
movups %xmm0, (%r15)
movq 0x8(%rax), %rdx
leaq 0x8(%rsp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x9ae5(%rip), %rsi      # 0x17ed0
callq 0x5430
jmp 0xe88e
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
leaq 0x8(%rsp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x91a7(%rip), %rsi      # 0x175c5
callq 0x5430
leaq 0x38(%rsp), %r12
movq %r12, -0x10(%r12)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xe9e3
movq %rdx, 0x28(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x38(%rsp)
jmp 0xe9eb
movups (%rcx), %xmm0
movups %xmm0, (%r15)
movq 0x8(%rax), %rdx
leaq 0x8(%rsp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x9137(%rip), %rsi      # 0x175b3
callq 0x5430
jmp 0xe88e
movups (%rcx), %xmm0
movups %xmm0, (%r12)
movq 0x8(%rax), %rdx
leaq 0x28(%rsp), %rsi
movq %rdx, 0x8(%rsi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x68(%rsp), %rdi
callq 0x5280
leaq 0x28(%rsp), %rax
movq (%rax), %rdi
cmpq %r12, %rdi
je 0xe4ce
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x5230
leaq 0x18(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xe4e9
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x5230
movq (%r14), %rax
movzwl 0x28(%rax), %edx
leaq 0x28(%rsp), %rdi
movq %r15, %rsi
callq 0xf0a4
movq 0x28(%rsp), %rsi
movq 0x30(%rsp), %rdx
leaq 0x88(%rsp), %rdi
callq 0x5100
jmp 0xebf5
movups (%rcx), %xmm0
movups %xmm0, (%r15)
movq 0x8(%rax), %rdx
leaq 0x8(%rsp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x905e(%rip), %rsi      # 0x175a1
callq 0x5430
jmp 0xe88e
movups (%rcx), %xmm0
movups %xmm0, (%r12)
movq 0x8(%rax), %rdx
leaq 0x28(%rsp), %rsi
movq %rdx, 0x8(%rsi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x68(%rsp), %rdi
callq 0x5280
leaq 0x28(%rsp), %rax
movq (%rax), %rdi
cmpq %r12, %rdi
je 0xe595
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x5230
leaq 0x18(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xe5b0
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x5230
movq (%r14), %rcx
movzwl 0x30(%rcx), %eax
testw %ax, %ax
je 0xec0c
movl 0x28(%rcx), %edx
testl %edx, %edx
je 0xec0c
movzwl %ax, %ecx
movzwl %dx, %edx
leaq 0x28(%rsp), %rdi
movq %r15, %rsi
callq 0xf018
leaq 0x88(%rsp), %rdi
leaq 0x28(%rsp), %r15
movq %r15, %rsi
callq 0x5280
movq (%r15), %rdi
jmp 0xebfa
movups (%rcx), %xmm0
movups %xmm0, (%r15)
movq 0x8(%rax), %rdx
leaq 0x8(%rsp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x98ab(%rip), %rsi      # 0x17ed0
callq 0x5430
jmp 0xe88e
movups (%rcx), %xmm0
movups %xmm0, (%r15)
movq 0x8(%rax), %rdx
leaq 0x8(%rsp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x8f63(%rip), %rsi      # 0x175bc
callq 0x5430
jmp 0xe88e
movups (%rcx), %xmm0
movups %xmm0, (%r15)
movq 0x8(%rax), %rdx
leaq 0x8(%rsp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x8f34(%rip), %rsi      # 0x175c1
callq 0x5430
jmp 0xe88e
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
leaq 0x8(%rsp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x9810(%rip), %rsi      # 0x17ed0
callq 0x5430
leaq 0x38(%rsp), %r12
movq %r12, -0x10(%r12)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xea92
movq %rdx, 0x28(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x38(%rsp)
jmp 0xea9a
movups (%rcx), %xmm0
movups %xmm0, (%r12)
movq 0x8(%rax), %rdx
leaq 0x8(%rsp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x8e82(%rip), %rsi      # 0x175a1
callq 0x5430
leaq 0x38(%rsp), %r12
movq %r12, -0x10(%r12)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
movq %r13, %rbp
cmpq %rcx, %rdx
je 0xeb41
movq %rdx, 0x28(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x38(%rsp)
jmp 0xeb49
movups (%rcx), %xmm0
movups %xmm0, (%r15)
movq 0x8(%rax), %rdx
leaq 0x8(%rsp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x8e44(%rip), %rsi      # 0x175c4
callq 0x5430
jmp 0xe88e
movups (%rcx), %xmm0
movups %xmm0, (%r15)
movq 0x8(%rax), %rdx
leaq 0x8(%rsp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x8e11(%rip), %rsi      # 0x175c5
callq 0x5430
jmp 0xe88e
movups (%rcx), %xmm0
movups %xmm0, (%r12)
movq 0x8(%rax), %rdx
movq %rdx, 0x10(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq (%r14), %rax
movzbl 0x28(%rax), %edx
leaq 0xa8(%rsp), %rdi
movq %r15, %rsi
movl $0x2, %ecx
callq 0xd890
movq 0x8(%rsp), %rcx
movq 0x10(%rsp), %r8
movq 0xb0(%rsp), %rdx
leaq (%rdx,%r8), %rax
movl $0xf, %esi
cmpq %r12, %rcx
je 0xe81f
movq 0x18(%rsp), %rsi
cmpq %rsi, %rax
jbe 0xe848
leaq 0xb8(%rsp), %rdi
movl $0xf, %esi
cmpq %rdi, -0x10(%rdi)
je 0xe83f
movq 0xb8(%rsp), %rsi
cmpq %rsi, %rax
jbe 0xed93
movq 0xa8(%rsp), %rsi
leaq 0x8(%rsp), %rdi
callq 0x5100
jmp 0xeda4
movups (%rcx), %xmm0
movups %xmm0, (%r15)
movq 0x8(%rax), %rdx
leaq 0x8(%rsp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x934a(%rip), %rsi      # 0x17bd3
callq 0x5430
leaq 0x38(%rsp), %r12
movq %r12, -0x10(%r12)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xe8b6
movq %rdx, 0x28(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x38(%rsp)
jmp 0xe8be
movups (%rcx), %xmm0
movups %xmm0, (%r12)
movq 0x8(%rax), %rdx
leaq 0x28(%rsp), %r15
movq %rdx, 0x8(%r15)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x68(%rsp), %rdi
movq %r15, %rsi
callq 0x5280
movq (%r15), %rdi
cmpq %r12, %rdi
je 0xe8fc
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x5230
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0xe918
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x5230
leaq 0x58(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xec0c
movq 0x58(%rsp), %rsi
jmp 0xec04
movups (%rcx), %xmm0
movups %xmm0, (%r12)
movq 0x8(%rax), %rdx
leaq 0x28(%rsp), %rsi
movq %rdx, 0x8(%rsi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x68(%rsp), %rdi
callq 0x5280
leaq 0x28(%rsp), %rax
movq (%rax), %rdi
cmpq %r12, %rdi
je 0xe97c
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x5230
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0xe998
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x5230
leaq 0x58(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xe9b3
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x5230
movq (%r14), %rax
movzwl 0x28(%rax), %edx
leaq 0x28(%rsp), %rdi
movq %r15, %rsi
callq 0xf0a4
movq 0x28(%rsp), %rsi
movq 0x30(%rsp), %rdx
leaq 0x88(%rsp), %rdi
callq 0x5100
jmp 0xebf5
movups (%rcx), %xmm0
movups %xmm0, (%r12)
movq 0x8(%rax), %rdx
leaq 0x28(%rsp), %rsi
movq %rdx, 0x8(%rsi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x68(%rsp), %rdi
callq 0x5280
leaq 0x28(%rsp), %rax
movq (%rax), %rdi
cmpq %r12, %rdi
je 0xea2b
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x5230
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0xea47
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x5230
leaq 0x58(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xea62
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x5230
movq (%r14), %rax
movzwl 0x28(%rax), %edx
leaq 0x28(%rsp), %rdi
movq %r15, %rsi
callq 0xf0a4
movq 0x28(%rsp), %rsi
movq 0x30(%rsp), %rdx
leaq 0x88(%rsp), %rdi
callq 0x5100
jmp 0xebf5
movups (%rcx), %xmm0
movups %xmm0, (%r12)
movq 0x8(%rax), %rdx
leaq 0x28(%rsp), %rsi
movq %rdx, 0x8(%rsi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x68(%rsp), %rdi
callq 0x5280
leaq 0x28(%rsp), %rax
movq (%rax), %rdi
cmpq %r12, %rdi
je 0xeada
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x5230
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0xeaf6
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x5230
leaq 0x58(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xeb11
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x5230
movq (%r14), %rax
movzwl 0x28(%rax), %edx
leaq 0x28(%rsp), %rdi
movq %r15, %rsi
callq 0xf0a4
movq 0x28(%rsp), %rsi
movq 0x30(%rsp), %rdx
leaq 0x88(%rsp), %rdi
callq 0x5100
jmp 0xebf5
movups (%rcx), %xmm0
movups %xmm0, (%r12)
movq 0x8(%rax), %rdx
leaq 0x28(%rsp), %r13
movq %rdx, 0x8(%r13)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x68(%rsp), %rdi
movq %r13, %rsi
callq 0x5280
movq (%r13), %rdi
cmpq %r12, %rdi
je 0xeb88
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x5230
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
movq %rbp, %r13
je 0xeba7
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x5230
leaq 0x58(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
leaq 0x98(%rsp), %rbp
je 0xebca
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x5230
movq (%r14), %rax
movzwl 0x28(%rax), %edx
leaq 0x28(%rsp), %rdi
movq %r15, %rsi
callq 0xf0a4
movq 0x28(%rsp), %rsi
movq 0x30(%rsp), %rdx
leaq 0x88(%rsp), %rdi
callq 0x5100
movq 0x28(%rsp), %rdi
cmpq %r12, %rdi
je 0xec0c
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x5230
movq (%r14), %rax
movl 0x2c(%rax), %eax
btl $0xd, %eax
jae 0xec3b
btl $0x8, %eax
leaq 0x89b5(%rip), %rax      # 0x175d8
leaq 0x89a2(%rip), %rsi      # 0x175cc
cmovaeq %rax, %rsi
leaq 0x88(%rsp), %rdi
callq 0x5430
movq (%r14), %rax
movl 0x2c(%rax), %eax
btl $0xa, %eax
jae 0xec68
testb $0x20, %al
leaq 0x899a(%rip), %rax      # 0x175ea
leaq 0x898e(%rip), %rsi      # 0x175e5
cmoveq %rax, %rsi
leaq 0x88(%rsp), %rdi
callq 0x5430
movq (%r14), %rax
movl 0x2c(%rax), %eax
btl $0x9, %eax
jae 0xec95
testb $0x10, %al
leaq 0x8977(%rip), %rax      # 0x175f4
leaq 0x896b(%rip), %rsi      # 0x175ef
cmoveq %rax, %rsi
leaq 0x88(%rsp), %rdi
callq 0x5430
movq (%r14), %rax
leaq 0x10(%rbx), %r15
movq %r15, (%rbx)
movq (%rax), %rsi
movq 0x8(%rax), %rdx
addq %rsi, %rdx
movq %rbx, %rdi
callq 0x68c2
leaq 0x91e5(%rip), %r14      # 0x17e9d
cmpq $0x7, 0x8(%rbx)
ja 0xeccc
movq %rbx, %rdi
movq %r14, %rsi
callq 0x5430
jmp 0xecb8
movq 0x68(%rsp), %rsi
movq 0x70(%rsp), %rdx
movq %rbx, %rdi
callq 0x5100
cmpq $0x0, 0x90(%rsp)
je 0xed4a
leaq 0x91ad(%rip), %r14      # 0x17e9d
cmpq $0x13, 0x8(%rbx)
ja 0xed04
movq %rbx, %rdi
movq %r14, %rsi
callq 0x5430
jmp 0xecf0
leaq 0x88ee(%rip), %rsi      # 0x175f9
leaq 0x28(%rsp), %rdi
leaq 0x88(%rsp), %rdx
callq 0xf1a5
movq 0x28(%rsp), %rsi
movq 0x30(%rsp), %rdx
movq %rbx, %rdi
callq 0x5100
leaq 0x38(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xed4a
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x5230
movq 0x88(%rsp), %rdi
cmpq %rbp, %rdi
je 0xed67
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x5230
movq 0x68(%rsp), %rdi
cmpq %r13, %rdi
je 0xed7e
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x5230
movq %rbx, %rax
addq $0xc8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0xa8(%rsp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x5250
leaq 0x38(%rsp), %rdx
movq %rdx, -0x10(%rdx)
movq (%rax), %rsi
leaq 0x10(%rax), %rcx
cmpq %rcx, %rsi
je 0xedc8
movq %rsi, 0x28(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x38(%rsp)
jmp 0xedce
movups (%rcx), %xmm0
movups %xmm0, (%rdx)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, 0x30(%rsp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
leaq 0x68(%rsp), %rdi
leaq 0x28(%rsp), %r15
movq %r15, %rsi
callq 0x5280
movq (%r15), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0xee17
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x5230
leaq 0xb8(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xee38
movq 0xb8(%rsp), %rsi
incq %rsi
callq 0x5230
movq 0x8(%rsp), %rdi
cmpq %r12, %rdi
jne 0xe90b
jmp 0xe918
jmp 0xefb7
jmp 0xee92
jmp 0xee92
jmp 0xee92
jmp 0xee92
movq %rax, %r14
leaq 0xb8(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xeeb8
movq 0xb8(%rsp), %rsi
incq %rsi
callq 0x5230
jmp 0xeeb8
jmp 0xefb7
jmp 0xefb7
jmp 0xefb7
jmp 0xefb7
movq %rax, %r14
movq 0x28(%rsp), %rdi
cmpq %r12, %rdi
je 0xefd4
movq 0x38(%rsp), %rsi
jmp 0xefcc
jmp 0xeed9
jmp 0xeeb5
jmp 0xeed9
jmp 0xeed9
movq %rax, %r14
movq 0x8(%rsp), %rdi
cmpq %r12, %rdi
jne 0xeefa
jmp 0xef34
jmp 0xeee8
jmp 0xeed9
jmp 0xeed9
jmp 0xeed9
jmp 0xeed9
jmp 0xefb7
jmp 0xeed9
jmp 0xeee8
jmp 0xeed9
movq %rax, %r14
movq 0x8(%rsp), %rdi
cmpq %r15, %rdi
jne 0xeefa
jmp 0xef34
movq %rax, %r14
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0xef34
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x5230
jmp 0xef34
jmp 0xef31
jmp 0xef31
jmp 0xef4d
jmp 0xef31
jmp 0xef31
jmp 0xef31
jmp 0xef31
jmp 0xef31
jmp 0xef4d
jmp 0xef31
jmp 0xef31
jmp 0xef4d
jmp 0xef31
jmp 0xef4d
jmp 0xef31
jmp 0xef31
jmp 0xef31
jmp 0xef4d
jmp 0xef4d
jmp 0xef31
movq %rax, %r14
leaq 0x58(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xefd4
movq 0x58(%rsp), %rsi
jmp 0xefcc
movq %rax, %r14
leaq 0x18(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xefd4
movq 0x18(%rsp), %rsi
jmp 0xefcc
jmp 0xefb7
jmp 0xefb7
jmp 0xefb7
jmp 0xefb7
jmp 0xefb7
jmp 0xefb7
jmp 0xefb7
jmp 0xefb7
jmp 0xefb7
jmp 0xefb7
jmp 0xefb7
jmp 0xefb7
jmp 0xefb7
jmp 0xefb7
jmp 0xefb7
jmp 0xefb7
jmp 0xefb7
jmp 0xefb7
jmp 0xefb7
jmp 0xefb7
jmp 0xefb7
jmp 0xefb7
jmp 0xefb7
movq %rax, %r14
leaq 0x38(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xefc1
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x5230
jmp 0xefc1
jmp 0xefbe
jmp 0xefbe
movq %rax, %r14
jmp 0xefd4
jmp 0xefbe
movq %rax, %r14
movq (%rbx), %rdi
cmpq %r15, %rdi
je 0xefd4
movq (%r15), %rsi
incq %rsi
callq 0x5230
movq 0x88(%rsp), %rdi
leaq 0x98(%rsp), %rax
cmpq %rax, %rdi
je 0xeff9
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x5230
movq 0x68(%rsp), %rdi
cmpq %r13, %rdi
je 0xf010
movq 0x78(%rsp), %rsi
incq %rsi
callq 0x5230
movq %r14, %rdi
callq 0x53e0