// File: /workspace/github_cpp_makefile_star2_O3/ChanTsune[P]py_string/example.cpp
// Function: main
int main(int argc, char const *argv[])
{
  using namespace std;
  // string multiplication
  py::string multiplication = "hello world!";

  std::cout << multiplication * 2 << std::endl;
  // hello world!hello world!

  // Subscript operator
  py::string Subscript_operator = "0123456789";

  cout << Subscript_operator[0] << endl;

  cout << Subscript_operator[-1] << endl; // last element

  cout << Subscript_operator[-3] << endl; // third element from the back (7)

  // string slice
  py::string slice = "0123456789";

  cout << slice.slice(0, 20, 2) << endl;
  cout << slice.slice(0, 20, -2) << endl;
  cout << slice[{ 4, py::nullopt }] << endl;

  // string format
  py::string format = "{} is {} than {}";

  cout << format.format(3, "bigger", 1) << endl;

  cout << format.format(2, "smaller", 4) << endl;

  py::string format2 = "{0} is {1} as {0}";

  cout << format2.format(2, "same") << endl;

  // string replace

  py::string replace = "1+2-3";

  cout << replace.pyreplace("-", "=");
  // 1+2=3

  // string split
  py::string split = "12,3,4-2,2,3";
  std::deque<py::string> slist; // std::vector is also acceptable

  split.split(slist, ",");

  for (auto &&s : slist) {
    cout << s << endl;
  }
  // Check ASCII character string
  py::string ascii = "Hello World!";
  cout << std::boolalpha << ascii.isascii() << endl;

  py::string not_ascii = "ハローワールド！";
  cout << std::boolalpha << not_ascii.isascii() << endl;

  // translate
  py::string tstr = "text abc so cool.";
  auto table = py::string::maketrans("abcd", "ABCD", ".");
  std::unordered_map<char, py::string> _t;
  _t['.'] = "!!";
  _t['s'] = "";
  _t['o'] = "O";

  auto table2 = py::string::maketrans(_t);

  cout << tstr.translate(table) << endl;

  cout << tstr.translate(table2) << endl;

  return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x358, %rsp            # imm = 0x358
leaq -0x190(%rbp), %r15
movq %r15, -0x10(%r15)
leaq 0x178d8(%rip), %rsi     # 0x1c15a
leaq 0x178dd(%rip), %rdx     # 0x1c166
leaq -0x1a0(%rbp), %rbx
movq %rbx, %rdi
callq 0x641a
leaq -0x80(%rbp), %rdi
movl $0x2, %edx
movq %rbx, %rsi
callq 0x59a0
movq -0x80(%rbp), %rsi
movq -0x78(%rbp), %rdx
movq 0x20708(%rip), %rdi     # 0x24fc0
callq 0x4350
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x42b0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x4200
leaq -0x70(%rbp), %r14
movq -0x10(%r14), %rdi
cmpq %r14, %rdi
je 0x4900
movq -0x70(%rbp), %rsi
incq %rsi
callq 0x42d0
leaq -0xb0(%rbp), %r12
movq %r12, -0x10(%r12)
leaq 0x17854(%rip), %rsi     # 0x1c167
leaq 0x17857(%rip), %rdx     # 0x1c171
leaq -0xc0(%rbp), %rdi
callq 0x641a
movq -0xc0(%rbp), %rax
movb (%rax), %al
leaq -0x80(%rbp), %rsi
movb %al, (%rsi)
movq 0x20684(%rip), %rdi     # 0x24fc0
movl $0x1, %edx
callq 0x4350
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x42b0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x4200
movq -0xc0(%rbp), %rax
movq -0xb8(%rbp), %rcx
movb -0x1(%rax,%rcx), %al
leaq -0x80(%rbp), %rsi
movb %al, (%rsi)
movq 0x20631(%rip), %rdi     # 0x24fc0
movl $0x1, %edx
callq 0x4350
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x42b0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x4200
movq -0xc0(%rbp), %rax
movq -0xb8(%rbp), %rcx
movb -0x3(%rax,%rcx), %al
leaq -0x80(%rbp), %rsi
movb %al, (%rsi)
movq 0x205de(%rip), %rdi     # 0x24fc0
movl $0x1, %edx
callq 0x4350
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x42b0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x4200
leaq -0xf0(%rbp), %r13
movq %r13, -0x10(%r13)
leaq 0x1773f(%rip), %rsi     # 0x1c167
leaq 0x17742(%rip), %rdx     # 0x1c171
leaq -0x100(%rbp), %rdi
callq 0x641a
leaq -0x80(%rbp), %rdi
leaq -0x100(%rbp), %rsi
movabsq $0x100000000, %rdx      # imm = 0x100000000
movabsq $0x100000014, %rcx      # imm = 0x100000014
movabsq $0x100000002, %r8       # imm = 0x100000002
callq 0x5a38
movq -0x80(%rbp), %rsi
movq -0x78(%rbp), %rdx
movq 0x20548(%rip), %rdi     # 0x24fc0
callq 0x4350
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x42b0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x4200
movq -0x80(%rbp), %rdi
cmpq %r14, %rdi
je 0x4abc
movq -0x70(%rbp), %rsi
incq %rsi
callq 0x42d0
leaq -0x80(%rbp), %rdi
leaq -0x100(%rbp), %rsi
movabsq $0x100000000, %rdx      # imm = 0x100000000
movabsq $0x100000014, %rcx      # imm = 0x100000014
movabsq $0x1fffffffe, %r8       # imm = 0x1FFFFFFFE
callq 0x5a38
movq -0x80(%rbp), %rsi
movq -0x78(%rbp), %rdx
movq 0x204c7(%rip), %rdi     # 0x24fc0
callq 0x4350
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x42b0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x4200
movq -0x80(%rbp), %rdi
cmpq %r14, %rdi
je 0x4b3d
movq -0x70(%rbp), %rsi
incq %rsi
callq 0x42d0
leaq -0x348(%rbp), %rdx
movl $0x4, (%rdx)
movb $0x1, 0x4(%rdx)
movb $0x0, 0xc(%rdx)
leaq -0x80(%rbp), %rdi
leaq -0x100(%rbp), %rsi
movl $0x2, %ecx
callq 0x5bbc
movq -0x80(%rbp), %rsi
movq -0x78(%rbp), %rdx
movq 0x2044a(%rip), %rdi     # 0x24fc0
callq 0x4350
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x42b0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x4200
movq -0x80(%rbp), %rdi
cmpq %r14, %rdi
je 0x4bba
movq -0x70(%rbp), %rsi
incq %rsi
callq 0x42d0
leaq -0xd0(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x175a6(%rip), %rsi     # 0x1c172
leaq 0x175af(%rip), %rdx     # 0x1c182
leaq -0xe0(%rbp), %rdi
callq 0x641a
leaq 0x1759d(%rip), %rcx     # 0x1c183
leaq -0x80(%rbp), %rdi
leaq -0xe0(%rbp), %rsi
movl $0x3, %edx
movl $0x1, %r8d
callq 0x5c7c
movq -0x80(%rbp), %rsi
movq -0x78(%rbp), %rdx
movq 0x203b0(%rip), %rdi     # 0x24fc0
callq 0x4350
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x42b0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x4200
movq -0x80(%rbp), %rdi
cmpq %r14, %rdi
je 0x4c54
movq -0x70(%rbp), %rsi
incq %rsi
callq 0x42d0
leaq 0x1752f(%rip), %rcx     # 0x1c18a
leaq -0x80(%rbp), %rdi
leaq -0xe0(%rbp), %rsi
movl $0x2, %edx
movl $0x4, %r8d
callq 0x5c7c
movq -0x80(%rbp), %rsi
movq -0x78(%rbp), %rdx
movq 0x2033b(%rip), %rdi     # 0x24fc0
callq 0x4350
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x42b0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x4200
movq -0x80(%rbp), %rdi
cmpq %r14, %rdi
je 0x4cc9
movq -0x70(%rbp), %rsi
incq %rsi
callq 0x42d0
leaq -0x170(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x174b7(%rip), %rsi     # 0x1c192
leaq 0x174c1(%rip), %rdx     # 0x1c1a3
leaq -0x180(%rbp), %rdi
callq 0x641a
leaq 0x174af(%rip), %rcx     # 0x1c1a4
leaq -0x80(%rbp), %rdi
leaq -0x180(%rbp), %rsi
movl $0x2, %edx
callq 0x5e10
movq -0x80(%rbp), %rsi
movq -0x78(%rbp), %rdx
movq 0x202a7(%rip), %rdi     # 0x24fc0
callq 0x4350
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x42b0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x4200
movq -0x80(%rbp), %rdi
cmpq %r14, %rdi
je 0x4d5d
movq -0x70(%rbp), %rsi
incq %rsi
callq 0x42d0
leaq -0x150(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x1743a(%rip), %rsi     # 0x1c1a9
leaq 0x17438(%rip), %rdx     # 0x1c1ae
leaq -0x160(%rbp), %rdi
callq 0x641a
leaq -0x290(%rbp), %r15
movq %r15, -0x10(%r15)
leaq 0x1741b(%rip), %rsi     # 0x1c1af
leaq 0x17415(%rip), %rdx     # 0x1c1b0
leaq -0x2a0(%rbp), %rdi
callq 0x641a
leaq -0x270(%rbp), %r12
movq %r12, -0x10(%r12)
leaq 0x173f7(%rip), %rsi     # 0x1c1b1
leaq 0x173f1(%rip), %rdx     # 0x1c1b2
leaq -0x280(%rbp), %rdi
callq 0x641a
leaq -0x80(%rbp), %rdi
leaq -0x160(%rbp), %rsi
leaq -0x2a0(%rbp), %rdx
leaq -0x280(%rbp), %rcx
movq $-0x1, %r8
callq 0x5f9a
movq -0x80(%rbp), %rsi
movq -0x78(%rbp), %rdx
movq 0x201bf(%rip), %rdi     # 0x24fc0
callq 0x4350
movq -0x80(%rbp), %rdi
cmpq %r14, %rdi
je 0x4e1b
movq -0x70(%rbp), %rsi
incq %rsi
callq 0x42d0
movq -0x280(%rbp), %rdi
cmpq %r12, %rdi
je 0x4e36
movq -0x270(%rbp), %rsi
incq %rsi
callq 0x42d0
movq -0x2a0(%rbp), %rdi
cmpq %r15, %rdi
je 0x4e51
movq -0x290(%rbp), %rsi
incq %rsi
callq 0x42d0
leaq -0x130(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x17350(%rip), %rsi     # 0x1c1b3
leaq 0x17355(%rip), %rdx     # 0x1c1bf
leaq -0x140(%rbp), %rdi
callq 0x641a
xorps %xmm0, %xmm0
leaq -0x80(%rbp), %rdi
movaps %xmm0, 0x40(%rdi)
movaps %xmm0, 0x30(%rdi)
movaps %xmm0, 0x20(%rdi)
movaps %xmm0, 0x10(%rdi)
movaps %xmm0, (%rdi)
xorl %esi, %esi
callq 0x64c6
leaq -0x250(%rbp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x17317(%rip), %rsi     # 0x1c1c0
leaq 0x17311(%rip), %rdx     # 0x1c1c1
leaq -0x260(%rbp), %rdi
callq 0x641a
leaq -0x140(%rbp), %rdi
leaq -0x80(%rbp), %rsi
leaq -0x260(%rbp), %rdx
movq $-0x1, %rcx
callq 0x6088
movq -0x260(%rbp), %rdi
cmpq %rbx, %rdi
je 0x4ef5
movq -0x250(%rbp), %rsi
incq %rsi
callq 0x42d0
movq -0x70(%rbp), %r12
movq -0x50(%rbp), %r13
cmpq %r13, %r12
je 0x4f67
movq -0x60(%rbp), %r14
movq -0x58(%rbp), %rbx
movq (%r12), %rsi
movq 0x8(%r12), %rdx
movq 0x200a6(%rip), %rdi     # 0x24fc0
callq 0x4350
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x42b0
movsbl %al, %esi
movq %r15, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x4200
addq $0x20, %r12
cmpq %r14, %r12
jne 0x4f62
movq 0x8(%rbx), %r12
addq $0x8, %rbx
leaq 0x200(%r12), %r14
cmpq %r13, %r12
jne 0x4f0a
leaq -0x1d0(%rbp), %r13
movq %r13, -0x10(%r13)
leaq 0x17249(%rip), %rsi     # 0x1c1c2
leaq 0x1724e(%rip), %rdx     # 0x1c1ce
leaq -0x1e0(%rbp), %rdi
callq 0x641a
movq 0x2002d(%rip), %rcx     # 0x24fc0
movq (%rcx), %rax
movq -0x18(%rax), %rax
orl $0x1, 0x18(%rcx,%rax)
movq -0x1d8(%rbp), %rax
testq %rax, %rax
je 0x4fce
movq -0x1e0(%rbp), %rdx
decq %rax
xorl %esi, %esi
cmpb $0x0, (%rdx,%rsi)
setns %cl
js 0x4fd0
leaq 0x1(%rsi), %rdi
cmpq %rsi, %rax
movq %rdi, %rsi
jne 0x4fb7
jmp 0x4fd0
movb $0x1, %cl
movzbl %cl, %esi
movq 0x1ffe6(%rip), %rbx     # 0x24fc0
movq %rbx, %rdi
callq 0x44c0
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x42b0
movsbl %al, %esi
movq %r14, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x4200
leaq -0x110(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x171b1(%rip), %rsi     # 0x1c1cf
leaq 0x171c2(%rip), %rdx     # 0x1c1e7
leaq -0x120(%rbp), %rdi
callq 0x641a
movq (%rbx), %rax
movq -0x18(%rax), %rax
orl $0x1, 0x18(%rbx,%rax)
movq -0x118(%rbp), %rax
testq %rax, %rax
je 0x506c
movq -0x120(%rbp), %rdx
decq %rax
xorl %esi, %esi
cmpb $0x0, (%rdx,%rsi)
setns %cl
js 0x506e
leaq 0x1(%rsi), %rdi
cmpq %rsi, %rax
movq %rdi, %rsi
jne 0x5055
jmp 0x506e
movb $0x1, %cl
movzbl %cl, %esi
movq 0x1ff48(%rip), %rdi     # 0x24fc0
callq 0x44c0
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x42b0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x4200
leaq -0x1b0(%rbp), %r14
movq %r14, -0x10(%r14)
leaq 0x1712f(%rip), %rsi     # 0x1c1e8
leaq 0x17139(%rip), %rdx     # 0x1c1f9
leaq -0x1c0(%rbp), %rdi
callq 0x641a
leaq -0x230(%rbp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x1711c(%rip), %rsi     # 0x1c1fa
leaq 0x17119(%rip), %rdx     # 0x1c1fe
leaq -0x240(%rbp), %rdi
callq 0x641a
leaq -0x210(%rbp), %r12
movq %r12, -0x10(%r12)
leaq 0x170fb(%rip), %rsi     # 0x1c1ff
leaq 0x170f8(%rip), %rdx     # 0x1c203
leaq -0x220(%rbp), %rdi
callq 0x641a
leaq -0x1f0(%rbp), %r15
movq %r15, -0x10(%r15)
leaq 0x17429(%rip), %rsi     # 0x1c552
leaq 0x17423(%rip), %rdx     # 0x1c553
leaq -0x200(%rbp), %rdi
callq 0x641a
leaq -0x348(%rbp), %rdi
leaq -0x240(%rbp), %rsi
leaq -0x220(%rbp), %rdx
leaq -0x200(%rbp), %rcx
callq 0x6224
movq -0x200(%rbp), %rdi
cmpq %r15, %rdi
je 0x5178
movq -0x1f0(%rbp), %rsi
incq %rsi
callq 0x42d0
movq -0x220(%rbp), %rdi
cmpq %r12, %rdi
je 0x5193
movq -0x210(%rbp), %rsi
incq %rsi
callq 0x42d0
movq -0x240(%rbp), %rdi
cmpq %rbx, %rdi
je 0x51ae
movq -0x230(%rbp), %rsi
incq %rsi
callq 0x42d0
leaq -0x2a8(%rbp), %rax
movq %rax, -0x30(%rax)
movq $0x1, -0x28(%rax)
xorps %xmm0, %xmm0
movups %xmm0, -0x20(%rax)
movl $0x3f800000, -0x10(%rax) # imm = 0x3F800000
movups %xmm0, -0x8(%rax)
leaq -0x310(%rbp), %rsi
movb $0x2e, (%rsi)
leaq -0x2d8(%rbp), %rdi
callq 0x1b18e
movq 0x8(%rax), %rdx
leaq 0x17010(%rip), %rcx     # 0x1c204
movl $0x2, %r8d
movq %rax, %rdi
xorl %esi, %esi
callq 0x4460
leaq -0x310(%rbp), %rsi
movb $0x73, (%rsi)
leaq -0x2d8(%rbp), %rdi
callq 0x1b18e
movq 0x8(%rax), %rdx
leaq 0x17052(%rip), %rcx     # 0x1c277
movq %rax, %rdi
xorl %esi, %esi
xorl %r8d, %r8d
callq 0x4460
leaq -0x310(%rbp), %rsi
movb $0x6f, (%rsi)
leaq -0x2d8(%rbp), %rdi
callq 0x1b18e
movq 0x8(%rax), %rdx
leaq 0x1755e(%rip), %rcx     # 0x1c7b1
movl $0x1, %r8d
movq %rax, %rdi
xorl %esi, %esi
callq 0x4460
leaq -0x2b8(%rbp), %rax
xorl %ecx, %ecx
leaq -0x380(%rbp), %rdi
movq %rcx, (%rdi)
movq -0x18(%rax), %rdx
movq -0x8(%rax), %rsi
movq %rdx, 0x8(%rdi)
movq %rcx, 0x10(%rdi)
movq %rsi, 0x18(%rdi)
movups (%rax), %xmm0
movups %xmm0, 0x20(%rdi)
movq %rcx, 0x30(%rdi)
leaq -0xa0(%rbp), %rdx
movq %rdi, (%rdx)
leaq -0x2d8(%rbp), %rsi
callq 0x6652
leaq -0x310(%rbp), %rdi
leaq -0x380(%rbp), %rsi
callq 0x1b272
leaq -0x380(%rbp), %rdi
callq 0x6946
leaq -0xa0(%rbp), %rdi
leaq -0x1c0(%rbp), %rsi
leaq -0x348(%rbp), %rdx
callq 0x6328
movq -0xa0(%rbp), %rsi
movq -0x98(%rbp), %rdx
movq 0x1fcc7(%rip), %rdi     # 0x24fc0
callq 0x4350
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x42b0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x4200
leaq -0x90(%rbp), %r12
movq -0x10(%r12), %rdi
cmpq %r12, %rdi
je 0x5348
movq -0x90(%rbp), %rsi
incq %rsi
callq 0x42d0
leaq -0xa0(%rbp), %rdi
leaq -0x1c0(%rbp), %rsi
leaq -0x310(%rbp), %rdx
callq 0x6328
movq -0xa0(%rbp), %rsi
movq -0x98(%rbp), %rdx
movq 0x1fc49(%rip), %rdi     # 0x24fc0
callq 0x4350
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x42b0
movsbl %al, %esi
movq %rbx, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x4200
movq -0xa0(%rbp), %rdi
cmpq %r12, %rdi
je 0x53c1
movq -0x90(%rbp), %rsi
incq %rsi
callq 0x42d0
leaq -0x310(%rbp), %rdi
callq 0x6946
leaq -0x2d8(%rbp), %rdi
callq 0x6946
leaq -0x348(%rbp), %rdi
callq 0x6946
movq -0x1c0(%rbp), %rdi
cmpq %r14, %rdi
je 0x5400
movq -0x1b0(%rbp), %rsi
incq %rsi
callq 0x42d0
movq -0x120(%rbp), %rdi
leaq -0x110(%rbp), %rax
cmpq %rax, %rdi
leaq -0x190(%rbp), %rbx
leaq -0xb0(%rbp), %r14
leaq -0xf0(%rbp), %r15
leaq -0x150(%rbp), %r12
je 0x543e
movq -0x110(%rbp), %rsi
incq %rsi
callq 0x42d0
movq -0x1e0(%rbp), %rdi
cmpq %r13, %rdi
je 0x5459
movq -0x1d0(%rbp), %rsi
incq %rsi
callq 0x42d0
leaq -0x80(%rbp), %rdi
callq 0x63cc
movq -0x140(%rbp), %rdi
leaq -0x130(%rbp), %rax
cmpq %rax, %rdi
je 0x5484
movq -0x130(%rbp), %rsi
incq %rsi
callq 0x42d0
movq -0x160(%rbp), %rdi
cmpq %r12, %rdi
je 0x549f
movq -0x150(%rbp), %rsi
incq %rsi
callq 0x42d0
movq -0x180(%rbp), %rdi
leaq -0x170(%rbp), %rax
cmpq %rax, %rdi
je 0x54c1
movq -0x170(%rbp), %rsi
incq %rsi
callq 0x42d0
movq -0xe0(%rbp), %rdi
leaq -0xd0(%rbp), %rax
cmpq %rax, %rdi
je 0x54e3
movq -0xd0(%rbp), %rsi
incq %rsi
callq 0x42d0
movq -0x100(%rbp), %rdi
cmpq %r15, %rdi
je 0x54fe
movq -0xf0(%rbp), %rsi
incq %rsi
callq 0x42d0
movq -0xc0(%rbp), %rdi
cmpq %r14, %rdi
je 0x5519
movq -0xb0(%rbp), %rsi
incq %rsi
callq 0x42d0
movq -0x1a0(%rbp), %rdi
cmpq %rbx, %rdi
je 0x5534
movq -0x190(%rbp), %rsi
incq %rsi
callq 0x42d0
xorl %eax, %eax
addq $0x358, %rsp            # imm = 0x358
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x554a
movq %rax, -0x30(%rbp)
jmp 0x56f2
movq %rax, -0x30(%rbp)
leaq -0x380(%rbp), %rdi
jmp 0x56f9
jmp 0x56b7
movq %rax, -0x30(%rbp)
movq -0x200(%rbp), %rdi
cmpq %r15, %rdi
je 0x558d
movq -0x1f0(%rbp), %rsi
incq %rsi
callq 0x42d0
jmp 0x558d
movq %rax, -0x30(%rbp)
movq -0x220(%rbp), %rdi
cmpq %r12, %rdi
je 0x55ae
movq -0x210(%rbp), %rsi
incq %rsi
callq 0x42d0
jmp 0x55ae
movq %rax, -0x30(%rbp)
movq -0x240(%rbp), %rdi
cmpq %rbx, %rdi
je 0x5716
movq -0x230(%rbp), %rsi
incq %rsi
callq 0x42d0
jmp 0x5716
movq %rax, -0x30(%rbp)
jmp 0x5716
jmp 0x5733
jmp 0x575b
jmp 0x5802
movq %rax, -0x30(%rbp)
movq -0x260(%rbp), %rdi
cmpq %rbx, %rdi
je 0x5806
movq -0x250(%rbp), %rsi
jmp 0x5776
jmp 0x5802
movq %rax, -0x30(%rbp)
jmp 0x580f
jmp 0x5676
movq %rax, -0x30(%rbp)
movq -0x80(%rbp), %rdi
cmpq %r14, %rdi
je 0x5639
movq -0x70(%rbp), %rsi
incq %rsi
callq 0x42d0
jmp 0x5639
movq %rax, -0x30(%rbp)
movq -0x280(%rbp), %rdi
cmpq %r12, %rdi
je 0x565a
movq -0x270(%rbp), %rsi
incq %rsi
callq 0x42d0
jmp 0x565a
movq %rax, -0x30(%rbp)
movq -0x2a0(%rbp), %rdi
cmpq %r15, %rdi
je 0x5831
movq -0x290(%rbp), %rsi
jmp 0x5829
movq %rax, -0x30(%rbp)
jmp 0x5831
jmp 0x5681
movq %rax, -0x30(%rbp)
jmp 0x5853
jmp 0x568e
jmp 0x568e
movq %rax, %rbx
jmp 0x588e
jmp 0x569c
jmp 0x569c
jmp 0x569c
movq %rax, %rbx
jmp 0x58b0
jmp 0x57fa
jmp 0x56ab
movq %rax, %rbx
jmp 0x58e6
jmp 0x56b7
jmp 0x56b7
movq %rax, -0x30(%rbp)
jmp 0x56fe
movq %rax, -0x30(%rbp)
movq -0xa0(%rbp), %rdi
cmpq %r12, %rdi
jne 0x56e3
jmp 0x56f2
movq %rax, -0x30(%rbp)
leaq -0x90(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x56f2
movq -0x90(%rbp), %rsi
incq %rsi
callq 0x42d0
leaq -0x310(%rbp), %rdi
callq 0x6946
leaq -0x2d8(%rbp), %rdi
callq 0x6946
leaq -0x348(%rbp), %rdi
callq 0x6946
movq -0x1c0(%rbp), %rdi
cmpq %r14, %rdi
je 0x5737
movq -0x1b0(%rbp), %rsi
incq %rsi
callq 0x42d0
jmp 0x5737
movq %rax, -0x30(%rbp)
movq -0x120(%rbp), %rdi
leaq -0x110(%rbp), %rax
cmpq %rax, %rdi
je 0x575f
movq -0x110(%rbp), %rsi
incq %rsi
callq 0x42d0
jmp 0x575f
movq %rax, -0x30(%rbp)
movq -0x1e0(%rbp), %rdi
cmpq %r13, %rdi
je 0x5806
movq -0x1d0(%rbp), %rsi
incq %rsi
callq 0x42d0
jmp 0x5806
movq %rax, -0x30(%rbp)
movq -0x80(%rbp), %rdi
cmpq %r14, %rdi
je 0x5853
movq -0x70(%rbp), %rsi
jmp 0x584b
jmp 0x579f
movq %rax, %rbx
movq -0x80(%rbp), %rdi
cmpq %r14, %rdi
je 0x588e
movq -0x70(%rbp), %rsi
incq %rsi
callq 0x42d0
jmp 0x588e
jmp 0x57c4
jmp 0x57c4
movq %rax, %rbx
movq -0x80(%rbp), %rdi
cmpq %r14, %rdi
je 0x58b0
movq -0x70(%rbp), %rsi
jmp 0x58a8
movq %rax, %rbx
leaq -0x70(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x58e6
movq -0x70(%rbp), %rsi
jmp 0x58de
movq %rax, %rbx
jmp 0x58cb
movq %rax, -0x30(%rbp)
leaq -0x80(%rbp), %rdi
callq 0x63cc
movq -0x140(%rbp), %rdi
leaq -0x130(%rbp), %rax
cmpq %rax, %rdi
je 0x5831
movq -0x130(%rbp), %rsi
incq %rsi
callq 0x42d0
movq -0x160(%rbp), %rdi
leaq -0x150(%rbp), %rax
cmpq %rax, %rdi
je 0x5853
movq -0x150(%rbp), %rsi
incq %rsi
callq 0x42d0
movq -0x180(%rbp), %rdi
leaq -0x170(%rbp), %rax
cmpq %rax, %rdi
je 0x5875
movq -0x170(%rbp), %rsi
incq %rsi
callq 0x42d0
leaq -0x190(%rbp), %r15
leaq -0xb0(%rbp), %r12
leaq -0xf0(%rbp), %r13
movq -0x30(%rbp), %rbx
leaq -0xd0(%rbp), %rax
movq -0xe0(%rbp), %rdi
cmpq %rax, %rdi
je 0x58b0
movq -0xd0(%rbp), %rsi
incq %rsi
callq 0x42d0
movq -0x100(%rbp), %rdi
cmpq %r13, %rdi
je 0x58cb
movq -0xf0(%rbp), %rsi
incq %rsi
callq 0x42d0
movq -0xc0(%rbp), %rdi
cmpq %r12, %rdi
je 0x58e6
movq -0xb0(%rbp), %rsi
incq %rsi
callq 0x42d0
movq -0x1a0(%rbp), %rdi
cmpq %r15, %rdi
je 0x5901
movq -0x190(%rbp), %rsi
incq %rsi
callq 0x42d0
movq %rbx, %rdi
callq 0x4510
nop