// File: /workspace/github_cpp_makefile_star2_O2/Ciaxur[P]yagb-emu/src/CPU.cc
// Function: CPU::dump(std::ostream&, bool, char)
void CPU::dump(std::ostream &out, bool isHeader, char endChar) {
  // Store Default Formatting
  std::ios init(nullptr);
  init.copyfmt(out);

  if (isHeader) out << "== REGISTERS ==\n";
  out << std::setfill('0') << std::uppercase << std::hex << "  A: " << std::setw(2) << (int)reg.A << endChar;
  out << std::uppercase << std::hex << "  B: " << std::setw(2) << (int)reg.B << endChar;
  out << std::uppercase << std::hex << "  C: " << std::setw(2) << (int)reg.C << endChar;
  out << std::uppercase << std::hex << "  D: " << std::setw(2) << (int)reg.D << endChar;
  out << std::uppercase << std::hex << "  E: " << std::setw(2) << (int)reg.E << endChar;
  out << std::uppercase << std::hex << "  F: " << std::setw(2) << (int)reg.F << endChar;
  out << std::uppercase << std::hex << "  H: " << std::setw(2) << (int)reg.H << endChar;
  out << std::uppercase << std::hex << "  L: " << std::setw(2) << (int)reg.L << endChar;
  out << std::uppercase << std::hex << "  HL: " << std::setw(4) << (int)((reg.H << 8) | reg.L) << endChar;
  out << std::uppercase << std::hex << "  SP: " << std::setw(4) << SP << endChar;
  out << std::uppercase << std::hex << "  PC: " << std::setw(4) << PC << endChar;

  if (isHeader) out << "\n== STATES ==\n";
  out << std::uppercase << std::hex << "  IME: " << IME << endChar;
  out << std::uppercase << std::hex << "  LY: " << (int)ppu->LY << endChar;
  out << std::uppercase << std::hex << "  LY[0xFF44]: " << (int)memory.memory[0xFF44] << endChar;
  out << std::uppercase << std::hex << "  LCDC [0xFF40]: " << (int)memory.memory[0xFF40] << endChar;
  out << std::uppercase << std::hex << "    " << std::bitset<8>(memory.memory[0xFF40]) << endChar << endChar;
  out << std::uppercase << std::hex << "  STAT [0xFF41]: " << (int)memory.memory[0xFF41] << endChar;
  out << std::uppercase << std::hex << "    " << std::bitset<8>(memory.memory[0xFF41]) << endChar << endChar;

  out << std::uppercase << std::hex << "  IE [0xFFFF]: " << (int)memory.memory[0xFFFF] << endChar;
  out << std::uppercase << std::hex << "    " << std::bitset<8>(memory.memory[0xFFFF]) << endChar << endChar;
  out << std::uppercase << std::hex << "  IF [0xFF0F]: " << (int)memory.memory[0xFF0F] << endChar;
  out << std::uppercase << std::hex << "    " << std::bitset<8>(memory.memory[0xFF0F]) << endChar << endChar;

  out << std::uppercase << std::dec << "  FRAME: " << ppu->currentFrame << endChar;
  out << std::uppercase << std::hex << "  HALTED: " << halted << endChar;
  out << std::uppercase << std::hex << "  RUNNING: " << running << endChar;

  if (isHeader) out << "\n== FLAGS ==\n";
  out << std::uppercase << std::hex << "  Z: " << ((reg.F & 0x80) >> 7) << endChar;
  out << std::uppercase << std::hex << "  N: " << ((reg.F & 0x40) >> 6) << endChar;
  out << std::uppercase << std::hex << "  H: " << ((reg.F & 0x20) >> 5) << endChar;
  out << std::uppercase << std::hex << "  C: " << ((reg.F & 0x10) >> 4) << endChar;

  // Revert Formatting Back
  out.copyfmt(init);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x118, %rsp            # imm = 0x118
movl %ecx, %r15d
movl %edx, %r12d
movq %rsi, %rbx
movq %rdi, %r14
leaq -0x138(%rbp), %r13
movq %r13, %rdi
xorl %esi, %esi
callq 0xc630
movq (%rbx), %rax
movq -0x18(%rax), %rsi
addq %rbx, %rsi
movq %r13, %rdi
callq 0xc260
testb %r12b, %r12b
je 0x23797
leaq 0x748e3(%rip), %rsi     # 0x98072
movq %rbx, %rdi
callq 0xc520
pushq $0x30
popq %rsi
movq %rbx, %rdi
callq 0xc680
movq (%rax), %rcx
movq -0x18(%rcx), %rdx
orl $0x4000, 0x18(%rax,%rdx) # imm = 0x4000
movq -0x18(%rcx), %rcx
movl 0x18(%rax,%rcx), %edx
andl $-0x4b, %edx
orl $0x8, %edx
movl %edx, 0x18(%rax,%rcx)
leaq 0x748b9(%rip), %rsi     # 0x98083
movq %rax, %rdi
callq 0xc520
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movq $0x2, 0x10(%rax,%rcx)
movzbl 0x118(%r14), %esi
movq %rax, %rdi
callq 0xc280
movsbl %r15b, %r15d
movq %rax, %rdi
movl %r15d, %esi
callq 0xc590
movq (%rbx), %rax
movq -0x18(%rax), %rcx
orl $0x4000, 0x18(%rbx,%rcx) # imm = 0x4000
movq -0x18(%rax), %rax
movl 0x18(%rbx,%rax), %ecx
andl $-0x4b, %ecx
orl $0x8, %ecx
movl %ecx, 0x18(%rbx,%rax)
leaq 0x74860(%rip), %rsi     # 0x98089
movq %rbx, %rdi
callq 0xc520
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movq $0x2, 0x10(%rax,%rcx)
movzbl 0x119(%r14), %esi
movq %rax, %rdi
callq 0xc280
movq %rax, %rdi
movl %r15d, %esi
callq 0xc590
movq (%rbx), %rax
movq -0x18(%rax), %rcx
orl $0x4000, 0x18(%rbx,%rcx) # imm = 0x4000
movq -0x18(%rax), %rax
movl 0x18(%rbx,%rax), %ecx
andl $-0x4b, %ecx
orl $0x8, %ecx
movl %ecx, 0x18(%rbx,%rax)
leaq 0x7480b(%rip), %rsi     # 0x9808f
movq %rbx, %rdi
callq 0xc520
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movq $0x2, 0x10(%rax,%rcx)
movzbl 0x11a(%r14), %esi
movq %rax, %rdi
callq 0xc280
movq %rax, %rdi
movl %r15d, %esi
callq 0xc590
movq (%rbx), %rax
movq -0x18(%rax), %rcx
orl $0x4000, 0x18(%rbx,%rcx) # imm = 0x4000
movq -0x18(%rax), %rax
movl 0x18(%rbx,%rax), %ecx
andl $-0x4b, %ecx
orl $0x8, %ecx
movl %ecx, 0x18(%rbx,%rax)
leaq 0x747b6(%rip), %rsi     # 0x98095
movq %rbx, %rdi
callq 0xc520
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movq $0x2, 0x10(%rax,%rcx)
movzbl 0x11b(%r14), %esi
movq %rax, %rdi
callq 0xc280
movq %rax, %rdi
movl %r15d, %esi
callq 0xc590
movq (%rbx), %rax
movq -0x18(%rax), %rcx
orl $0x4000, 0x18(%rbx,%rcx) # imm = 0x4000
movq -0x18(%rax), %rax
movl 0x18(%rbx,%rax), %ecx
andl $-0x4b, %ecx
orl $0x8, %ecx
movl %ecx, 0x18(%rbx,%rax)
leaq 0x74761(%rip), %rsi     # 0x9809b
movq %rbx, %rdi
callq 0xc520
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movq $0x2, 0x10(%rax,%rcx)
movzbl 0x11c(%r14), %esi
movq %rax, %rdi
callq 0xc280
movq %rax, %rdi
movl %r15d, %esi
callq 0xc590
movq (%rbx), %rax
movq -0x18(%rax), %rcx
orl $0x4000, 0x18(%rbx,%rcx) # imm = 0x4000
movq -0x18(%rax), %rax
movl 0x18(%rbx,%rax), %ecx
andl $-0x4b, %ecx
orl $0x8, %ecx
movl %ecx, 0x18(%rbx,%rax)
leaq 0x7470c(%rip), %rsi     # 0x980a1
movq %rbx, %rdi
callq 0xc520
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movq $0x2, 0x10(%rax,%rcx)
movzbl 0x11d(%r14), %esi
movq %rax, %rdi
callq 0xc280
movq %rax, %rdi
movl %r15d, %esi
callq 0xc590
movq (%rbx), %rax
movq -0x18(%rax), %rcx
orl $0x4000, 0x18(%rbx,%rcx) # imm = 0x4000
movq -0x18(%rax), %rax
movl 0x18(%rbx,%rax), %ecx
andl $-0x4b, %ecx
orl $0x8, %ecx
movl %ecx, 0x18(%rbx,%rax)
leaq 0x746b7(%rip), %rsi     # 0x980a7
movq %rbx, %rdi
callq 0xc520
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movq $0x2, 0x10(%rax,%rcx)
movzbl 0x11e(%r14), %esi
movq %rax, %rdi
callq 0xc280
movq %rax, %rdi
movl %r15d, %esi
callq 0xc590
movq (%rbx), %rax
movq -0x18(%rax), %rcx
orl $0x4000, 0x18(%rbx,%rcx) # imm = 0x4000
movq -0x18(%rax), %rax
movl 0x18(%rbx,%rax), %ecx
andl $-0x4b, %ecx
orl $0x8, %ecx
movl %ecx, 0x18(%rbx,%rax)
leaq 0x74662(%rip), %rsi     # 0x980ad
movq %rbx, %rdi
callq 0xc520
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movq $0x2, 0x10(%rax,%rcx)
movzbl 0x11f(%r14), %esi
movq %rax, %rdi
callq 0xc280
movq %rax, %rdi
movl %r15d, %esi
callq 0xc590
movq (%rbx), %rax
movq -0x18(%rax), %rcx
orl $0x4000, 0x18(%rbx,%rcx) # imm = 0x4000
movq -0x18(%rax), %rax
movl 0x18(%rbx,%rax), %ecx
andl $-0x4b, %ecx
orl $0x8, %ecx
movl %ecx, 0x18(%rbx,%rax)
leaq 0x7460d(%rip), %rsi     # 0x980b3
movq %rbx, %rdi
callq 0xc520
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movq $0x4, 0x10(%rax,%rcx)
movzwl 0x11e(%r14), %ecx
rolw $0x8, %cx
movzwl %cx, %esi
movq %rax, %rdi
callq 0xc280
movq %rax, %rdi
movl %r15d, %esi
callq 0xc590
movq (%rbx), %rax
movq -0x18(%rax), %rcx
orl $0x4000, 0x18(%rbx,%rcx) # imm = 0x4000
movq -0x18(%rax), %rax
movl 0x18(%rbx,%rax), %ecx
andl $-0x4b, %ecx
orl $0x8, %ecx
movl %ecx, 0x18(%rbx,%rax)
leaq 0x745b2(%rip), %rsi     # 0x980ba
movq %rbx, %rdi
callq 0xc520
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movq $0x4, 0x10(%rax,%rcx)
movzwl 0x12e(%r14), %esi
movq %rax, %rdi
callq 0xc290
movq %rax, %rdi
movl %r15d, %esi
callq 0xc590
movq (%rbx), %rax
movq -0x18(%rax), %rcx
orl $0x4000, 0x18(%rbx,%rcx) # imm = 0x4000
movq -0x18(%rax), %rax
movl 0x18(%rbx,%rax), %ecx
andl $-0x4b, %ecx
orl $0x8, %ecx
movl %ecx, 0x18(%rbx,%rax)
leaq 0x7455e(%rip), %rsi     # 0x980c1
movq %rbx, %rdi
callq 0xc520
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movq $0x4, 0x10(%rax,%rcx)
movzwl 0x12c(%r14), %esi
movq %rax, %rdi
callq 0xc290
movq %rax, %rdi
movl %r15d, %esi
callq 0xc590
testb %r12b, %r12b
je 0x23baa
leaq 0x74526(%rip), %rsi     # 0x980c8
movq %rbx, %rdi
callq 0xc520
movq (%rbx), %rax
movq -0x18(%rax), %rcx
orl $0x4000, 0x18(%rbx,%rcx) # imm = 0x4000
movq -0x18(%rax), %rax
movl 0x18(%rbx,%rax), %ecx
andl $-0x4b, %ecx
orl $0x8, %ecx
movl %ecx, 0x18(%rbx,%rax)
leaq 0x74505(%rip), %rsi     # 0x980d7
movq %rbx, %rdi
callq 0xc520
movzbl 0x128(%r14), %esi
movq %rax, %rdi
callq 0xc3c0
movq %rax, %rdi
movl %r15d, %esi
callq 0xc590
movq (%rbx), %rax
movq -0x18(%rax), %rcx
orl $0x4000, 0x18(%rbx,%rcx) # imm = 0x4000
movq -0x18(%rax), %rax
movl 0x18(%rbx,%rax), %ecx
andl $-0x4b, %ecx
orl $0x8, %ecx
movl %ecx, 0x18(%rbx,%rax)
leaq 0x744c2(%rip), %rsi     # 0x980df
movq %rbx, %rdi
callq 0xc520
movq (%r14), %rcx
movzbl 0x20(%rcx), %esi
movq %rax, %rdi
callq 0xc280
movq %rax, %rdi
movl %r15d, %esi
callq 0xc590
movq (%rbx), %rax
movq -0x18(%rax), %rcx
orl $0x4000, 0x18(%rbx,%rcx) # imm = 0x4000
movq -0x18(%rax), %rax
movl 0x18(%rbx,%rax), %ecx
andl $-0x4b, %ecx
orl $0x8, %ecx
movl %ecx, 0x18(%rbx,%rax)
leaq 0x7447f(%rip), %rsi     # 0x980e6
movq %rbx, %rdi
callq 0xc520
movzbl 0x10094(%r14), %esi
movq %rax, %rdi
callq 0xc280
movq %rax, %rdi
movl %r15d, %esi
callq 0xc590
movq (%rbx), %rax
movq -0x18(%rax), %rcx
orl $0x4000, 0x18(%rbx,%rcx) # imm = 0x4000
movq -0x18(%rax), %rax
movl 0x18(%rbx,%rax), %ecx
andl $-0x4b, %ecx
orl $0x8, %ecx
movl %ecx, 0x18(%rbx,%rax)
leaq 0x74443(%rip), %rsi     # 0x980f5
movq %rbx, %rdi
callq 0xc520
movzbl 0x10090(%r14), %esi
movq %rax, %rdi
callq 0xc280
movq %rax, %rdi
movl %r15d, %esi
callq 0xc590
movq (%rbx), %rax
movq -0x18(%rax), %rcx
orl $0x4000, 0x18(%rbx,%rcx) # imm = 0x4000
movq -0x18(%rax), %rax
movl 0x18(%rbx,%rax), %ecx
andl $-0x4b, %ecx
orl $0x8, %ecx
movl %ecx, 0x18(%rbx,%rax)
leaq 0x7c530(%rip), %rsi     # 0xa022d
movq %rbx, %rdi
callq 0xc520
movzbl 0x10090(%r14), %ecx
leaq -0x30(%rbp), %rsi
movq %rcx, (%rsi)
movq %rax, %rdi
callq 0x2d140
movq %rax, %rdi
movl %r15d, %esi
callq 0xc590
movq %rax, %rdi
movl %r15d, %esi
callq 0xc590
movq (%rbx), %rax
movq -0x18(%rax), %rcx
orl $0x4000, 0x18(%rbx,%rcx) # imm = 0x4000
movq -0x18(%rax), %rax
movl 0x18(%rbx,%rax), %ecx
andl $-0x4b, %ecx
orl $0x8, %ecx
movl %ecx, 0x18(%rbx,%rax)
leaq 0x743ad(%rip), %rsi     # 0x98107
movq %rbx, %rdi
callq 0xc520
movzbl 0x10091(%r14), %esi
movq %rax, %rdi
callq 0xc280
movq %rax, %rdi
movl %r15d, %esi
callq 0xc590
movq (%rbx), %rax
movq -0x18(%rax), %rcx
orl $0x4000, 0x18(%rbx,%rcx) # imm = 0x4000
movq -0x18(%rax), %rax
movl 0x18(%rbx,%rax), %ecx
andl $-0x4b, %ecx
orl $0x8, %ecx
movl %ecx, 0x18(%rbx,%rax)
leaq 0x7c488(%rip), %rsi     # 0xa022d
movq %rbx, %rdi
callq 0xc520
movzbl 0x10091(%r14), %ecx
leaq -0x30(%rbp), %rsi
movq %rcx, (%rsi)
movq %rax, %rdi
callq 0x2d140
movq %rax, %rdi
movl %r15d, %esi
callq 0xc590
movq %rax, %rdi
movl %r15d, %esi
callq 0xc590
movq (%rbx), %rax
movq -0x18(%rax), %rcx
orl $0x4000, 0x18(%rbx,%rcx) # imm = 0x4000
movq -0x18(%rax), %rax
movl 0x18(%rbx,%rax), %ecx
andl $-0x4b, %ecx
orl $0x8, %ecx
movl %ecx, 0x18(%rbx,%rax)
leaq 0x74317(%rip), %rsi     # 0x98119
movq %rbx, %rdi
callq 0xc520
movzbl 0x1014f(%r14), %esi
movq %rax, %rdi
callq 0xc280
movq %rax, %rdi
movl %r15d, %esi
callq 0xc590
movq (%rbx), %rax
movq -0x18(%rax), %rcx
orl $0x4000, 0x18(%rbx,%rcx) # imm = 0x4000
movq -0x18(%rax), %rax
movl 0x18(%rbx,%rax), %ecx
andl $-0x4b, %ecx
orl $0x8, %ecx
movl %ecx, 0x18(%rbx,%rax)
leaq 0x7c3e0(%rip), %rsi     # 0xa022d
movq %rbx, %rdi
callq 0xc520
movzbl 0x1014f(%r14), %ecx
leaq -0x30(%rbp), %rsi
movq %rcx, (%rsi)
movq %rax, %rdi
callq 0x2d140
movq %rax, %rdi
movl %r15d, %esi
callq 0xc590
movq %rax, %rdi
movl %r15d, %esi
callq 0xc590
movq (%rbx), %rax
movq -0x18(%rax), %rcx
orl $0x4000, 0x18(%rbx,%rcx) # imm = 0x4000
movq -0x18(%rax), %rax
movl 0x18(%rbx,%rax), %ecx
andl $-0x4b, %ecx
orl $0x8, %ecx
movl %ecx, 0x18(%rbx,%rax)
leaq 0x7427f(%rip), %rsi     # 0x98129
movq %rbx, %rdi
callq 0xc520
movzbl 0x1005f(%r14), %esi
movq %rax, %rdi
callq 0xc280
movq %rax, %rdi
movl %r15d, %esi
callq 0xc590
movq (%rbx), %rax
movq -0x18(%rax), %rcx
orl $0x4000, 0x18(%rbx,%rcx) # imm = 0x4000
movq -0x18(%rax), %rax
movl 0x18(%rbx,%rax), %ecx
andl $-0x4b, %ecx
orl $0x8, %ecx
movl %ecx, 0x18(%rbx,%rax)
leaq 0x7c338(%rip), %rsi     # 0xa022d
movq %rbx, %rdi
callq 0xc520
movzbl 0x1005f(%r14), %ecx
leaq -0x30(%rbp), %rsi
movq %rcx, (%rsi)
movq %rax, %rdi
callq 0x2d140
movq %rax, %rdi
movl %r15d, %esi
callq 0xc590
movq %rax, %rdi
movl %r15d, %esi
callq 0xc590
movq (%rbx), %rax
movq -0x18(%rax), %rcx
orl $0x4000, 0x18(%rbx,%rcx) # imm = 0x4000
movq -0x18(%rax), %rax
movl 0x18(%rbx,%rax), %ecx
andl $-0x4b, %ecx
orl $0x2, %ecx
movl %ecx, 0x18(%rbx,%rax)
leaq 0x741e7(%rip), %rsi     # 0x98139
movq %rbx, %rdi
callq 0xc520
movq (%r14), %rcx
movq 0x8(%rcx), %rsi
movq %rax, %rdi
callq 0xc490
movq %rax, %rdi
movl %r15d, %esi
callq 0xc590
movq (%rbx), %rax
movq -0x18(%rax), %rcx
orl $0x4000, 0x18(%rbx,%rcx) # imm = 0x4000
movq -0x18(%rax), %rax
movl 0x18(%rbx,%rax), %ecx
andl $-0x4b, %ecx
orl $0x8, %ecx
movl %ecx, 0x18(%rbx,%rax)
leaq 0x741a7(%rip), %rsi     # 0x98143
movq %rbx, %rdi
callq 0xc520
movzbl 0x12a(%r14), %esi
movq %rax, %rdi
callq 0xc3c0
movq %rax, %rdi
movl %r15d, %esi
callq 0xc590
movq (%rbx), %rax
movq -0x18(%rax), %rcx
orl $0x4000, 0x18(%rbx,%rcx) # imm = 0x4000
movq -0x18(%rax), %rax
movl 0x18(%rbx,%rax), %ecx
andl $-0x4b, %ecx
orl $0x8, %ecx
movl %ecx, 0x18(%rbx,%rax)
leaq 0x74167(%rip), %rsi     # 0x9814e
movq %rbx, %rdi
callq 0xc520
movzbl 0x12b(%r14), %esi
movq %rax, %rdi
callq 0xc3c0
movq %rax, %rdi
movl %r15d, %esi
callq 0xc590
testb %r12b, %r12b
je 0x2401e
leaq 0x74144(%rip), %rsi     # 0x9815a
movq %rbx, %rdi
callq 0xc520
movq (%rbx), %rax
movq -0x18(%rax), %rcx
orl $0x4000, 0x18(%rbx,%rcx) # imm = 0x4000
movq -0x18(%rax), %rax
movl 0x18(%rbx,%rax), %ecx
andl $-0x4b, %ecx
orl $0x8, %ecx
movl %ecx, 0x18(%rbx,%rax)
leaq 0x74122(%rip), %rsi     # 0x98168
movq %rbx, %rdi
callq 0xc520
movzbl 0x11d(%r14), %esi
shrl $0x7, %esi
movq %rax, %rdi
callq 0xc280
movq %rax, %rdi
movl %r15d, %esi
callq 0xc590
movq (%rbx), %rax
movq -0x18(%rax), %rcx
orl $0x4000, 0x18(%rbx,%rcx) # imm = 0x4000
movq -0x18(%rax), %rax
movl 0x18(%rbx,%rax), %ecx
andl $-0x4b, %ecx
orl $0x8, %ecx
movl %ecx, 0x18(%rbx,%rax)
leaq 0x740da(%rip), %rsi     # 0x9816e
movq %rbx, %rdi
callq 0xc520
movzbl 0x11d(%r14), %esi
shrl $0x6, %esi
andl $0x1, %esi
movq %rax, %rdi
callq 0xc280
movq %rax, %rdi
movl %r15d, %esi
callq 0xc590
movq (%rbx), %rax
movq -0x18(%rax), %rcx
orl $0x4000, 0x18(%rbx,%rcx) # imm = 0x4000
movq -0x18(%rax), %rax
movl 0x18(%rbx,%rax), %ecx
andl $-0x4b, %ecx
orl $0x8, %ecx
movl %ecx, 0x18(%rbx,%rax)
leaq 0x73fc2(%rip), %rsi     # 0x980a7
movq %rbx, %rdi
callq 0xc520
movzbl 0x11d(%r14), %esi
shrl $0x5, %esi
andl $0x1, %esi
movq %rax, %rdi
callq 0xc280
movq %rax, %rdi
movl %r15d, %esi
callq 0xc590
movq (%rbx), %rax
movq -0x18(%rax), %rcx
orl $0x4000, 0x18(%rbx,%rcx) # imm = 0x4000
movq -0x18(%rax), %rax
movl 0x18(%rbx,%rax), %ecx
andl $-0x4b, %ecx
orl $0x8, %ecx
movl %ecx, 0x18(%rbx,%rax)
leaq 0x73f59(%rip), %rsi     # 0x9808f
movq %rbx, %rdi
callq 0xc520
movzbl 0x11d(%r14), %esi
shrl $0x4, %esi
andl $0x1, %esi
movq %rax, %rdi
callq 0xc280
movq %rax, %rdi
movl %r15d, %esi
callq 0xc590
movq (%rbx), %rax
addq -0x18(%rax), %rbx
leaq -0x138(%rbp), %rsi
movq %rbx, %rdi
callq 0xc260
leaq -0x138(%rbp), %rdi
callq 0xc620
addq $0x118, %rsp            # imm = 0x118
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x2419b
jmp 0x2419b
jmp 0x2419b
jmp 0x2419b
movq %rax, %rbx
leaq -0x138(%rbp), %rdi
callq 0xc620
movq %rbx, %rdi
callq 0xc580