// File: /workspace/github_cpp_makefile_star2_O3/VinGarcia[P]Simple-Iterator-Template/tests.cpp
// Function: main
int main() {
  myClass c1;
  c1.vec.push_back(1.0);
  c1.vec.push_back(2.0);
  c1.vec.push_back(3.0);

  std::cout << std::endl;
  std::cout << "mutable iterator:" << std::endl;
  for (float& val : c1) {
    std::cout << val << " "; // val1 val2 val3
  }
  std::cout << std::endl;

  std::cout << std::endl;
  std::cout << "const iterator:" << std::endl;
  const myClass& c2 = c1;
  for (const float& val : c2) {
    std::cout << val << " "; // val1 val2 val3
  }
  std::cout << std::endl;

  std::cout << std::endl;
  std::cout << "reversed iterator:" << std::endl;
  for (auto it = c1.rbegin(); it != c1.rend(); ++it) {
    std::cout << *it << " "; // val3 val2 val1
  }
  std::cout << std::endl;

  std::cout << std::endl;
  std::cout << "reversed const iterator:" << std::endl;
  for (auto it = c2.rbegin(); it != c2.rend(); ++it) {
    std::cout << *it << " "; // val3 val2 val1
  }
  std::cout << std::endl;

  myClass_rvalue c1_rvalue;
  c1_rvalue.vec.push_back(1.0);
  c1_rvalue.vec.push_back(2.0);
  c1_rvalue.vec.push_back(3.0);
  const myClass_rvalue& c2_rvalue = c1_rvalue;

  std::cout << std::endl;
  std::cout << "rvalue mutable iterator:" << std::endl;
  for (auto it = c1_rvalue.begin(); it != c1_rvalue.end(); ++it) {
    float val = *it;
    std::cout << val << " "; // val3 val2 val1
  }
  std::cout << std::endl;

  std::cout << std::endl;
  std::cout << "rvalue const iterator:" << std::endl;
  for (auto it = c2_rvalue.begin(); it != c2_rvalue.end(); ++it) {
    float val = *it;
    std::cout << val << " "; // val3 val2 val1
  }
  std::cout << std::endl;

  std::cout << std::endl;
  std::cout << "rvalue reversed mutable iterator:" << std::endl;
  for (auto it = c1_rvalue.rbegin(); it != c1_rvalue.rend(); ++it) {
    float val = *it;
    std::cout << val << " "; // val3 val2 val1
  }
  std::cout << std::endl;

  std::cout << std::endl;
  std::cout << "rvalue reversed const iterator:" << std::endl;
  for (auto it = c2_rvalue.rbegin(); it != c2_rvalue.rend(); ++it) {
    float val = *it;
    std::cout << val << " "; // val3 val2 val1
  }
  std::cout << std::endl;
  std::cout << std::endl;

  // Testing copy-constructor and copy-assignment between
  // const_iterators and iterators:
  myClass::const_iterator it1 = c1.end();
  ASSERT(it1 == c2.end());
  myClass::const_iterator it2;
  it1 = c1.begin();
  ASSERT(it1 != c2.end());
  it2 = c1.begin();
  ASSERT(it2 == c2.begin());

  // Testing comparisons between const and normal iterators:
  ASSERT(it2 == c2.begin());
  ASSERT((it2 != c2.begin()) == 0);
  ASSERT(c2.begin() == it2);
  ASSERT((c2.begin() != it2) == 0);

  // Testing operators++ pre and post-fixed:
  ASSERT(*c1.begin() == 1);
  ASSERT(*(++c1.begin()) == 2);
  ASSERT(*(c1.begin()++) == 1);

  // Testing operators++ pre and post-fixed for const classes:
  ASSERT(*c2.begin() == 1);
  ASSERT(*(++c2.begin()) == 2);
  ASSERT(*(c2.begin()++) == 1);

  return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x58, %rsp
xorps %xmm0, %xmm0
leaq -0x60(%rbp), %rdi
movaps %xmm0, (%rdi)
movq $0x0, 0x10(%rdi)
leaq -0x80(%rbp), %rdx
movl $0x3f800000, (%rdx)     # imm = 0x3F800000
xorl %esi, %esi
callq 0x1d8e
movq -0x58(%rbp), %rsi
movq -0x50(%rbp), %rax
movl $0x40000000, -0x80(%rbp) # imm = 0x40000000
cmpq %rax, %rsi
je 0x1314
movl $0x40000000, (%rsi)     # imm = 0x40000000
addq $0x4, %rsi
movq %rsi, -0x58(%rbp)
jmp 0x1329
leaq -0x60(%rbp), %rdi
leaq -0x80(%rbp), %rdx
callq 0x1d8e
movq -0x58(%rbp), %rsi
movq -0x50(%rbp), %rax
movl $0x40400000, -0x80(%rbp) # imm = 0x40400000
cmpq %rax, %rsi
je 0x1345
movl $0x40400000, (%rsi)     # imm = 0x40400000
addq $0x4, %rsi
movq %rsi, -0x58(%rbp)
jmp 0x1352
leaq -0x60(%rbp), %rdi
leaq -0x80(%rbp), %rdx
callq 0x1d8e
movq 0x2c7f(%rip), %rdi      # 0x3fd8
movq (%rdi), %rax
addq -0x18(%rax), %rdi
movl $0xa, %esi
callq 0x10e0
movsbl %al, %esi
movq 0x2c64(%rip), %rdi      # 0x3fd8
callq 0x1030
movq %rax, %rdi
callq 0x1080
movq 0x2c50(%rip), %rbx      # 0x3fd8
leaq 0xcd6(%rip), %rsi       # 0x2065
movl $0x11, %edx
movq %rbx, %rdi
callq 0x1100
movq (%rbx), %rax
addq -0x18(%rax), %rbx
movq %rbx, %rdi
movl $0xa, %esi
callq 0x10e0
movsbl %al, %esi
movq 0x2c1e(%rip), %rbx      # 0x3fd8
movq %rbx, %rdi
callq 0x1030
movq %rax, %rdi
callq 0x1080
movabsq $0x3fffffffc, %rcx      # imm = 0x3FFFFFFFC
movq -0x58(%rbp), %rax
subq -0x60(%rbp), %rax
testq %rcx, %rax
je 0x1426
shrq $0x2, %rax
movl %eax, %r13d
xorl %r12d, %r12d
movq 0x2be6(%rip), %r14      # 0x3fd8
leaq 0xc17(%rip), %r15       # 0x2010
movq -0x60(%rbp), %rax
xorps %xmm0, %xmm0
cvtss2sd (%rax,%r12,4), %xmm0
movq %r14, %rdi
callq 0x1120
movl $0x1, %edx
movq %rax, %rdi
movq %r15, %rsi
callq 0x1100
incq %r12
cmpq %r12, %r13
jne 0x13f9
movq (%rbx), %rax
addq -0x18(%rax), %rbx
movq %rbx, %rdi
movl $0xa, %esi
callq 0x10e0
movsbl %al, %esi
movq 0x2b94(%rip), %rbx      # 0x3fd8
movq %rbx, %rdi
callq 0x1030
movq %rax, %rdi
callq 0x1080
movq (%rbx), %rax
addq -0x18(%rax), %rbx
movq %rbx, %rdi
movl $0xa, %esi
callq 0x10e0
movsbl %al, %esi
movq 0x2b66(%rip), %rdi      # 0x3fd8
callq 0x1030
movq %rax, %rdi
callq 0x1080
movq 0x2b52(%rip), %rbx      # 0x3fd8
leaq 0xbfa(%rip), %rsi       # 0x2087
movl $0xf, %edx
movq %rbx, %rdi
callq 0x1100
movq (%rbx), %rax
addq -0x18(%rax), %rbx
movq %rbx, %rdi
movl $0xa, %esi
callq 0x10e0
movsbl %al, %esi
movq 0x2b20(%rip), %rbx      # 0x3fd8
movq %rbx, %rdi
callq 0x1030
movq %rax, %rdi
callq 0x1080
movq -0x58(%rbp), %rax
subq -0x60(%rbp), %rax
movabsq $0x3fffffffc, %rcx      # imm = 0x3FFFFFFFC
testq %rcx, %rax
je 0x1524
shrq $0x2, %rax
movl %eax, %r13d
xorl %r12d, %r12d
movq 0x2ae8(%rip), %r14      # 0x3fd8
leaq 0xb19(%rip), %r15       # 0x2010
movq -0x60(%rbp), %rax
xorps %xmm0, %xmm0
cvtss2sd (%rax,%r12,4), %xmm0
movq %r14, %rdi
callq 0x1120
movl $0x1, %edx
movq %rax, %rdi
movq %r15, %rsi
callq 0x1100
incq %r12
cmpq %r12, %r13
jne 0x14f7
movq (%rbx), %rax
addq -0x18(%rax), %rbx
movq %rbx, %rdi
movl $0xa, %esi
callq 0x10e0
movsbl %al, %esi
movq 0x2a96(%rip), %rbx      # 0x3fd8
movq %rbx, %rdi
callq 0x1030
movq %rax, %rdi
callq 0x1080
movq (%rbx), %rax
addq -0x18(%rax), %rbx
movq %rbx, %rdi
movl $0xa, %esi
callq 0x10e0
movsbl %al, %esi
movq 0x2a68(%rip), %rdi      # 0x3fd8
callq 0x1030
movq %rax, %rdi
callq 0x1080
movq 0x2a54(%rip), %rbx      # 0x3fd8
leaq 0xa87(%rip), %rsi       # 0x2012
movl $0x12, %edx
movq %rbx, %rdi
callq 0x1100
movq (%rbx), %rax
addq -0x18(%rax), %rbx
movq %rbx, %rdi
movl $0xa, %esi
callq 0x10e0
movsbl %al, %esi
movq 0x2a22(%rip), %rdi      # 0x3fd8
callq 0x1030
movq %rax, %rdi
callq 0x1080
movq -0x58(%rbp), %rax
subq -0x60(%rbp), %rax
shrq $0x2, %rax
movslq %eax, %r15
movq 0x29ff(%rip), %rbx      # 0x3fd8
leaq 0xa30(%rip), %r14       # 0x2010
subq $0x1, %r15
jb 0x160d
movq -0x60(%rbp), %rax
xorps %xmm0, %xmm0
cvtss2sd (%rax,%r15,4), %xmm0
movq %rbx, %rdi
callq 0x1120
movl $0x1, %edx
movq %rax, %rdi
movq %r14, %rsi
callq 0x1100
jmp 0x15e0
movq (%rbx), %rax
addq -0x18(%rax), %rbx
movq %rbx, %rdi
movl $0xa, %esi
callq 0x10e0
movsbl %al, %esi
movq 0x29ad(%rip), %rbx      # 0x3fd8
movq %rbx, %rdi
callq 0x1030
movq %rax, %rdi
callq 0x1080
movq (%rbx), %rax
addq -0x18(%rax), %rbx
movq %rbx, %rdi
movl $0xa, %esi
callq 0x10e0
movsbl %al, %esi
movq 0x297f(%rip), %rdi      # 0x3fd8
callq 0x1030
movq %rax, %rdi
callq 0x1080
movq 0x296b(%rip), %rbx      # 0x3fd8
leaq 0xa0a(%rip), %rsi       # 0x207e
movl $0x18, %edx
movq %rbx, %rdi
callq 0x1100
movq (%rbx), %rax
addq -0x18(%rax), %rbx
movq %rbx, %rdi
movl $0xa, %esi
callq 0x10e0
movsbl %al, %esi
movq 0x2939(%rip), %rdi      # 0x3fd8
callq 0x1030
movq %rax, %rdi
callq 0x1080
movq -0x58(%rbp), %rax
subq -0x60(%rbp), %rax
shrq $0x2, %rax
movslq %eax, %r15
movq 0x2916(%rip), %rbx      # 0x3fd8
leaq 0x947(%rip), %r14       # 0x2010
subq $0x1, %r15
jb 0x16f6
movq -0x60(%rbp), %rax
xorps %xmm0, %xmm0
cvtss2sd (%rax,%r15,4), %xmm0
movq %rbx, %rdi
callq 0x1120
movl $0x1, %edx
movq %rax, %rdi
movq %r14, %rsi
callq 0x1100
jmp 0x16c9
movq (%rbx), %rax
addq -0x18(%rax), %rbx
movq %rbx, %rdi
movl $0xa, %esi
callq 0x10e0
movsbl %al, %esi
movq 0x28c4(%rip), %rbx      # 0x3fd8
movq %rbx, %rdi
callq 0x1030
movq %rax, %rdi
callq 0x1080
xorps %xmm0, %xmm0
leaq -0x40(%rbp), %rdi
movaps %xmm0, (%rdi)
movq $0x0, 0x10(%rdi)
leaq -0x80(%rbp), %rdx
movl $0x3f800000, (%rdx)     # imm = 0x3F800000
xorl %esi, %esi
callq 0x1d8e
movq -0x38(%rbp), %rsi
movq -0x30(%rbp), %rax
movl $0x40000000, -0x80(%rbp) # imm = 0x40000000
cmpq %rax, %rsi
movabsq $0x3fffffffc, %r12      # imm = 0x3FFFFFFFC
je 0x1775
movl $0x40000000, (%rsi)     # imm = 0x40000000
addq $0x4, %rsi
movq %rsi, -0x38(%rbp)
jmp 0x178a
leaq -0x40(%rbp), %rdi
leaq -0x80(%rbp), %rdx
callq 0x1d8e
movq -0x38(%rbp), %rsi
movq -0x30(%rbp), %rax
movl $0x40400000, -0x80(%rbp) # imm = 0x40400000
cmpq %rax, %rsi
je 0x17a6
movl $0x40400000, (%rsi)     # imm = 0x40400000
addq $0x4, %rsi
movq %rsi, -0x38(%rbp)
jmp 0x17b3
leaq -0x40(%rbp), %rdi
leaq -0x80(%rbp), %rdx
callq 0x1d8e
movq (%rbx), %rax
addq -0x18(%rax), %rbx
movq %rbx, %rdi
movl $0xa, %esi
callq 0x10e0
movsbl %al, %esi
movq 0x2807(%rip), %rdi      # 0x3fd8
callq 0x1030
movq %rax, %rdi
callq 0x1080
movq 0x27f3(%rip), %rbx      # 0x3fd8
leaq 0x839(%rip), %rsi       # 0x2025
movl $0x18, %edx
movq %rbx, %rdi
callq 0x1100
movq (%rbx), %rax
addq -0x18(%rax), %rbx
movq %rbx, %rdi
movl $0xa, %esi
callq 0x10e0
movsbl %al, %esi
movq 0x27c1(%rip), %rbx      # 0x3fd8
movq %rbx, %rdi
callq 0x1030
movq %rax, %rdi
callq 0x1080
movq -0x40(%rbp), %rax
movq -0x38(%rbp), %rcx
subq %rax, %rcx
testq %r12, %rcx
je 0x188b
xorl %r13d, %r13d
movq 0x2797(%rip), %r14      # 0x3fd8
leaq 0x7c8(%rip), %r15       # 0x2010
movss (%rax,%r13,4), %xmm0
addss 0x7ae(%rip), %xmm0      # 0x2004
cvtss2sd %xmm0, %xmm0
movq %r14, %rdi
callq 0x1120
movl $0x1, %edx
movq %rax, %rdi
movq %r15, %rsi
callq 0x1100
incq %r13
movq -0x40(%rbp), %rax
movq -0x38(%rbp), %rcx
subq %rax, %rcx
shrq $0x2, %rcx
movl %ecx, %ecx
cmpq %rcx, %r13
jne 0x1848
movq (%rbx), %rax
addq -0x18(%rax), %rbx
movq %rbx, %rdi
movl $0xa, %esi
callq 0x10e0
movsbl %al, %esi
movq 0x272f(%rip), %rbx      # 0x3fd8
movq %rbx, %rdi
callq 0x1030
movq %rax, %rdi
callq 0x1080
movq (%rbx), %rax
addq -0x18(%rax), %rbx
movq %rbx, %rdi
movl $0xa, %esi
callq 0x10e0
movsbl %al, %esi
movq 0x2701(%rip), %rdi      # 0x3fd8
callq 0x1030
movq %rax, %rdi
callq 0x1080
movq 0x26ed(%rip), %rbx      # 0x3fd8
leaq 0x74c(%rip), %rsi       # 0x203e
movl $0x16, %edx
movq %rbx, %rdi
callq 0x1100
movq (%rbx), %rax
addq -0x18(%rax), %rbx
movq %rbx, %rdi
movl $0xa, %esi
callq 0x10e0
movsbl %al, %esi
movq 0x26bb(%rip), %rbx      # 0x3fd8
movq %rbx, %rdi
callq 0x1030
movq %rax, %rdi
callq 0x1080
movq -0x40(%rbp), %rax
movq -0x38(%rbp), %rcx
subq %rax, %rcx
testq %r12, %rcx
je 0x1991
xorl %r13d, %r13d
movq 0x2691(%rip), %r14      # 0x3fd8
leaq 0x6c2(%rip), %r15       # 0x2010
movss (%rax,%r13,4), %xmm0
addss 0x6a8(%rip), %xmm0      # 0x2004
cvtss2sd %xmm0, %xmm0
movq %r14, %rdi
callq 0x1120
movl $0x1, %edx
movq %rax, %rdi
movq %r15, %rsi
callq 0x1100
incq %r13
movq -0x40(%rbp), %rax
movq -0x38(%rbp), %rcx
subq %rax, %rcx
shrq $0x2, %rcx
movl %ecx, %ecx
cmpq %rcx, %r13
jne 0x194e
movq (%rbx), %rax
addq -0x18(%rax), %rbx
movq %rbx, %rdi
movl $0xa, %esi
callq 0x10e0
movsbl %al, %esi
movq 0x2629(%rip), %rbx      # 0x3fd8
movq %rbx, %rdi
callq 0x1030
movq %rax, %rdi
callq 0x1080
movq (%rbx), %rax
addq -0x18(%rax), %rbx
movq %rbx, %rdi
movl $0xa, %esi
callq 0x10e0
movsbl %al, %esi
movq 0x25fb(%rip), %rdi      # 0x3fd8
callq 0x1030
movq %rax, %rdi
callq 0x1080
movq 0x25e7(%rip), %rbx      # 0x3fd8
leaq 0x65d(%rip), %rsi       # 0x2055
movl $0x21, %edx
movq %rbx, %rdi
callq 0x1100
movq (%rbx), %rax
addq -0x18(%rax), %rbx
movq %rbx, %rdi
movl $0xa, %esi
callq 0x10e0
movsbl %al, %esi
movq 0x25b5(%rip), %rdi      # 0x3fd8
callq 0x1030
movq %rax, %rdi
callq 0x1080
movq -0x38(%rbp), %rax
subq -0x40(%rbp), %rax
shrq $0x2, %rax
movslq %eax, %r15
movq 0x2592(%rip), %rbx      # 0x3fd8
leaq 0x5c3(%rip), %r14       # 0x2010
subq $0x1, %r15
jb 0x1a83
movq -0x40(%rbp), %rax
movss (%rax,%r15,4), %xmm0
addss 0x59f(%rip), %xmm0      # 0x2004
cvtss2sd %xmm0, %xmm0
movq %rbx, %rdi
callq 0x1120
movl $0x1, %edx
movq %rax, %rdi
movq %r14, %rsi
callq 0x1100
jmp 0x1a4d
movq (%rbx), %rax
addq -0x18(%rax), %rbx
movq %rbx, %rdi
movl $0xa, %esi
callq 0x10e0
movsbl %al, %esi
movq 0x2537(%rip), %rbx      # 0x3fd8
movq %rbx, %rdi
callq 0x1030
movq %rax, %rdi
callq 0x1080
movq (%rbx), %rax
addq -0x18(%rax), %rbx
movq %rbx, %rdi
movl $0xa, %esi
callq 0x10e0
movsbl %al, %esi
movq 0x2509(%rip), %rdi      # 0x3fd8
callq 0x1030
movq %rax, %rdi
callq 0x1080
movq 0x24f5(%rip), %rbx      # 0x3fd8
leaq 0x58d(%rip), %rsi       # 0x2077
movl $0x1f, %edx
movq %rbx, %rdi
callq 0x1100
movq (%rbx), %rax
addq -0x18(%rax), %rbx
movq %rbx, %rdi
movl $0xa, %esi
callq 0x10e0
movsbl %al, %esi
movq 0x24c3(%rip), %rdi      # 0x3fd8
callq 0x1030
movq %rax, %rdi
callq 0x1080
movq -0x38(%rbp), %rax
subq -0x40(%rbp), %rax
shrq $0x2, %rax
movslq %eax, %r15
movq 0x24a0(%rip), %rbx      # 0x3fd8
leaq 0x4d1(%rip), %r14       # 0x2010
subq $0x1, %r15
jb 0x1b75
movq -0x40(%rbp), %rax
movss (%rax,%r15,4), %xmm0
addss 0x4ad(%rip), %xmm0      # 0x2004
cvtss2sd %xmm0, %xmm0
movq %rbx, %rdi
callq 0x1120
movl $0x1, %edx
movq %rax, %rdi
movq %r14, %rsi
callq 0x1100
jmp 0x1b3f
movq (%rbx), %rax
addq -0x18(%rax), %rbx
movq %rbx, %rdi
movl $0xa, %esi
callq 0x10e0
movsbl %al, %esi
movq 0x2445(%rip), %rbx      # 0x3fd8
movq %rbx, %rdi
callq 0x1030
movq %rax, %rdi
callq 0x1080
movq (%rbx), %rax
addq -0x18(%rax), %rbx
movq %rbx, %rdi
movl $0xa, %esi
callq 0x10e0
movsbl %al, %esi
movq 0x2417(%rip), %rdi      # 0x3fd8
callq 0x1030
movq %rax, %rdi
callq 0x1080
movq -0x60(%rbp), %rdi
movq -0x58(%rbp), %rax
subq %rdi, %rax
testq %r12, %rax
je 0x1c3d
movss (%rdi), %xmm0
ucomiss 0x41f(%rip), %xmm0      # 0x2008
jne 0x1c7a
jp 0x1c7a
movss 0x4(%rdi), %xmm0
ucomiss 0x40b(%rip), %xmm0      # 0x200c
jne 0x1cb7
jp 0x1cb7
movq -0x40(%rbp), %rax
testq %rax, %rax
je 0x1c27
movq %rax, %rdi
callq 0x10d0
movq -0x60(%rbp), %rdi
testq %rdi, %rdi
je 0x1c2c
callq 0x10d0
xorl %eax, %eax
addq $0x58, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq -0x70(%rbp), %r14
movq %r14, -0x10(%r14)
leaq 0x452(%rip), %rsi       # 0x209e
leaq 0x474(%rip), %rdx       # 0x20c7
leaq -0x80(%rbp), %rdi
callq 0x1eca
movq -0x80(%rbp), %rsi
movq -0x78(%rbp), %rdx
movq 0x236d(%rip), %rdi      # 0x3fd8
callq 0x1100
movq %rax, %rdi
callq 0x1050
jmp 0x1cf2
leaq -0x70(%rbp), %r14
movq %r14, -0x10(%r14)
leaq 0x43f(%rip), %rsi       # 0x20c8
leaq 0x462(%rip), %rdx       # 0x20f2
leaq -0x80(%rbp), %rdi
callq 0x1eca
movq -0x80(%rbp), %rsi
movq -0x78(%rbp), %rdx
movq 0x2330(%rip), %rdi      # 0x3fd8
callq 0x1100
movq %rax, %rdi
callq 0x1050
jmp 0x1cf2
leaq -0x70(%rbp), %r14
movq %r14, -0x10(%r14)
leaq 0x42d(%rip), %rsi       # 0x20f3
leaq 0x454(%rip), %rdx       # 0x2121
leaq -0x80(%rbp), %rdi
callq 0x1eca
movq -0x80(%rbp), %rsi
movq -0x78(%rbp), %rdx
movq 0x22f3(%rip), %rdi      # 0x3fd8
callq 0x1100
movq %rax, %rdi
callq 0x1050
movq -0x80(%rbp), %rdi
cmpq %r14, %rdi
je 0x1d00
callq 0x10d0
movl $0x8, %edi
callq 0x1060
leaq 0x386(%rip), %rcx       # 0x2097
movq %rcx, (%rax)
movq 0x22ad(%rip), %rsi      # 0x3fc8
movq %rax, %rdi
xorl %edx, %edx
callq 0x1140
jmp 0x1d2b
jmp 0x1d60
jmp 0x1d2b
movq %rax, %rbx
movq -0x80(%rbp), %rdi
cmpq %r14, %rdi
je 0x1d63
callq 0x10d0
jmp 0x1d63
jmp 0x1d60
jmp 0x1d60
jmp 0x1d75
jmp 0x1d75
jmp 0x1d60
jmp 0x1d60
jmp 0x1d60
jmp 0x1d60
jmp 0x1d75
jmp 0x1d75
jmp 0x1d75
jmp 0x1d60
jmp 0x1d60
jmp 0x1d75
jmp 0x1d75
jmp 0x1d60
jmp 0x1d60
movq %rax, %rbx
movq -0x40(%rbp), %rdi
testq %rdi, %rdi
je 0x1d78
callq 0x10d0
jmp 0x1d78
jmp 0x1d75
movq %rax, %rbx
movq -0x60(%rbp), %rdi
testq %rdi, %rdi
je 0x1d86
callq 0x10d0
movq %rbx, %rdi
callq 0x1150