// File: /workspace/github_cpp_makefile_star2_O1/dsharlet[P]array/test/shuffle.cpp
// Function: nda::internal::test_shuffle_3_of_3_body()
TEST(shuffle_3_of_3) {
  auto t = std::make_tuple(0, 1, 2);
  auto shuffled012 = shuffle<0, 1, 2>(t);
  auto shuffled021 = shuffle<0, 2, 1>(t);
  auto shuffled102 = shuffle<1, 0, 2>(t);
  auto shuffled120 = shuffle<1, 2, 0>(t);
  auto shuffled201 = shuffle<2, 0, 1>(t);
  auto shuffled210 = shuffle<2, 1, 0>(t);
  ASSERT_EQ(shuffled012, std::make_tuple(0, 1, 2));
  ASSERT_EQ(shuffled021, std::make_tuple(0, 2, 1));
  ASSERT_EQ(shuffled102, std::make_tuple(1, 0, 2));
  ASSERT_EQ(shuffled120, std::make_tuple(1, 2, 0));
  ASSERT_EQ(shuffled201, std::make_tuple(2, 0, 1));
  ASSERT_EQ(shuffled210, std::make_tuple(2, 1, 0));

  auto t0 = unshuffle<0, 1, 2>(shuffled012);
  auto t1 = unshuffle<0, 2, 1>(shuffled021);
  auto t2 = unshuffle<1, 0, 2>(shuffled102);
  auto t3 = unshuffle<1, 2, 0>(shuffled120);
  auto t4 = unshuffle<2, 0, 1>(shuffled201);
  auto t5 = unshuffle<2, 1, 0>(shuffled210);
  ASSERT_EQ(t0, t);
  ASSERT_EQ(t1, t);
  ASSERT_EQ(t2, t);
  ASSERT_EQ(t3, t);
  ASSERT_EQ(t4, t);
  ASSERT_EQ(t5, t);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x258, %rsp            # imm = 0x258
movabsq $0x100000002, %rbp      # imm = 0x100000002
movq %rbp, 0x2c(%rsp)
xorl %eax, %eax
movl %eax, 0x34(%rsp)
movq %rbp, 0xbc(%rsp)
movl %eax, 0xc4(%rsp)
movabsq $0x200000001, %r13      # imm = 0x200000001
movq %r13, 0x68(%rsp)
movl %eax, 0x70(%rsp)
movq $0x2, 0x5c(%rsp)
movl $0x1, %eax
movl %eax, 0x64(%rsp)
movabsq $0x200000000, %r12      # imm = 0x200000000
movq %r12, 0x74(%rsp)
movl %eax, 0x7c(%rsp)
movq $0x1, 0x50(%rsp)
movl $0x2, %eax
movl %eax, 0x58(%rsp)
movabsq $0x100000000, %r15      # imm = 0x100000000
movq %r15, 0x44(%rsp)
movl %eax, 0x4c(%rsp)
leaq 0x18(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x24a8d(%rip), %rsi     # 0xbe9d9
leaq 0x24aad(%rip), %rdx     # 0xbea00
leaq 0x8(%rsp), %rdi
callq 0xd0b8
leaq 0xc8(%rsp), %rdi
leaq 0x8(%rsp), %rdx
movl $0x1, %esi
callq 0xbf0a
leaq 0x76d9(%rip), %rsi      # 0xa1654
leaq 0xc8(%rsp), %rdi
callq 0x18a16
leaq 0x24a72(%rip), %rsi     # 0xbea01
movq %rax, %rdi
callq 0x56a5c
leaq 0xb38c(%rip), %rsi      # 0xa532a
movq %rax, %rdi
callq 0x18a16
movq %rax, %rbx
cmpb $0x1, 0x188(%rax)
jne 0x99fc6
movq %rbx, %rdi
addq $0x10, %rdi
leaq 0xbc(%rsp), %rsi
callq 0x9afe0
leaq 0x7687(%rip), %rsi      # 0xa1654
movq %rbx, %rdi
callq 0x18a16
leaq 0x24a0c(%rip), %rsi     # 0xbe9e8
movq %rax, %rdi
callq 0x421ec
leaq 0xb33f(%rip), %rsi      # 0xa532a
movq %rax, %rdi
callq 0x18a16
movq %rax, %rbx
movq %rbp, 0x38(%rsp)
movl $0x0, 0x40(%rsp)
cmpb $0x1, 0x188(%rax)
jne 0x9a01d
movq %rbx, %rdi
addq $0x10, %rdi
leaq 0x38(%rsp), %rsi
callq 0x9afe0
leaq 0x1e345(%rip), %rsi     # 0xb8369
movq %rbx, %rdi
callq 0x18a16
leaq 0xc8(%rsp), %rdi
callq 0xbf62
movq 0x8(%rsp), %rdi
cmpq %r14, %rdi
je 0x9a050
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x21f0
cmpl $0x0, 0x70(%rsp)
je 0x9a05b
xorl %ebx, %ebx
jmp 0x9a06e
movl 0x68(%rsp), %eax
movl 0x6c(%rsp), %ecx
xorl $0x2, %ecx
xorl $0x1, %eax
orl %ecx, %eax
sete %bl
leaq 0x8(%rsp), %rdi
movq %r14, (%rdi)
leaq 0x24990(%rip), %rsi     # 0xbea0d
leaq 0x249b0(%rip), %rdx     # 0xbea34
callq 0xd0b8
movzbl %bl, %esi
leaq 0xc8(%rsp), %rdi
leaq 0x8(%rsp), %rdx
callq 0xbf0a
leaq 0x75af(%rip), %rsi      # 0xa1654
leaq 0xc8(%rsp), %rdi
callq 0x18a16
leaq 0x2497c(%rip), %rsi     # 0xbea35
movq %rax, %rdi
callq 0x56a5c
leaq 0xb262(%rip), %rsi      # 0xa532a
movq %rax, %rdi
callq 0x18a16
movq %rax, %rbx
cmpb $0x1, 0x188(%rax)
jne 0x9a0ed
movq %rbx, %rdi
addq $0x10, %rdi
leaq 0x68(%rsp), %rsi
callq 0x9afe0
leaq 0x7560(%rip), %rsi      # 0xa1654
movq %rbx, %rdi
callq 0x18a16
leaq 0x24919(%rip), %rsi     # 0xbea1c
movq %rax, %rdi
callq 0x421ec
leaq 0xb218(%rip), %rsi      # 0xa532a
movq %rax, %rdi
callq 0x18a16
movq %rax, %rbx
movq %r13, 0x38(%rsp)
movl $0x0, 0x40(%rsp)
cmpb $0x1, 0x188(%rax)
jne 0x9a144
movq %rbx, %rdi
addq $0x10, %rdi
leaq 0x38(%rsp), %rsi
callq 0x9afe0
leaq 0x1e21e(%rip), %rsi     # 0xb8369
movq %rbx, %rdi
callq 0x18a16
leaq 0xc8(%rsp), %rdi
callq 0xbf62
movq 0x8(%rsp), %rdi
cmpq %r14, %rdi
je 0x9a177
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x21f0
cmpl $0x1, 0x64(%rsp)
jne 0x9a18e
movl 0x5c(%rsp), %eax
xorl $0x2, %eax
orl 0x60(%rsp), %eax
sete %bl
jmp 0x9a190
xorl %ebx, %ebx
leaq 0x8(%rsp), %rdi
movq %r14, (%rdi)
leaq 0x248a2(%rip), %rsi     # 0xbea41
leaq 0x248c2(%rip), %rdx     # 0xbea68
callq 0xd0b8
movzbl %bl, %esi
leaq 0xc8(%rsp), %rdi
leaq 0x8(%rsp), %rdx
callq 0xbf0a
leaq 0x748d(%rip), %rsi      # 0xa1654
leaq 0xc8(%rsp), %rdi
callq 0x18a16
leaq 0x2488e(%rip), %rsi     # 0xbea69
movq %rax, %rdi
callq 0x56a5c
leaq 0xb140(%rip), %rsi      # 0xa532a
movq %rax, %rdi
callq 0x18a16
movq %rax, %rbx
cmpb $0x1, 0x188(%rax)
jne 0x9a20f
movq %rbx, %rdi
addq $0x10, %rdi
leaq 0x5c(%rsp), %rsi
callq 0x9afe0
leaq 0x743e(%rip), %rsi      # 0xa1654
movq %rbx, %rdi
callq 0x18a16
leaq 0x2482b(%rip), %rsi     # 0xbea50
movq %rax, %rdi
callq 0x421ec
leaq 0xb0f6(%rip), %rsi      # 0xa532a
movq %rax, %rdi
callq 0x18a16
movq %rax, %rbx
movq $0x2, 0x38(%rsp)
movl $0x1, 0x40(%rsp)
cmpb $0x1, 0x188(%rax)
jne 0x9a26a
movq %rbx, %rdi
addq $0x10, %rdi
leaq 0x38(%rsp), %rsi
callq 0x9afe0
leaq 0x1e0f8(%rip), %rsi     # 0xb8369
movq %rbx, %rdi
callq 0x18a16
leaq 0xc8(%rsp), %rdi
callq 0xbf62
movq 0x8(%rsp), %rdi
cmpq %r14, %rdi
je 0x9a29d
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x21f0
cmpl $0x1, 0x7c(%rsp)
jne 0x9a2b4
movl 0x78(%rsp), %eax
xorl $0x2, %eax
orl 0x74(%rsp), %eax
sete %bl
jmp 0x9a2b6
xorl %ebx, %ebx
leaq 0x8(%rsp), %rdi
movq %r14, (%rdi)
leaq 0x247b0(%rip), %rsi     # 0xbea75
leaq 0x247d0(%rip), %rdx     # 0xbea9c
callq 0xd0b8
movzbl %bl, %esi
leaq 0xc8(%rsp), %rdi
leaq 0x8(%rsp), %rdx
callq 0xbf0a
leaq 0x7367(%rip), %rsi      # 0xa1654
leaq 0xc8(%rsp), %rdi
callq 0x18a16
leaq 0x2479c(%rip), %rsi     # 0xbea9d
movq %rax, %rdi
callq 0x56a5c
leaq 0xb01a(%rip), %rsi      # 0xa532a
movq %rax, %rdi
callq 0x18a16
movq %rax, %rbx
cmpb $0x1, 0x188(%rax)
jne 0x9a335
movq %rbx, %rdi
addq $0x10, %rdi
leaq 0x74(%rsp), %rsi
callq 0x9afe0
leaq 0x7318(%rip), %rsi      # 0xa1654
movq %rbx, %rdi
callq 0x18a16
leaq 0x24739(%rip), %rsi     # 0xbea84
movq %rax, %rdi
callq 0x421ec
leaq 0xafd0(%rip), %rsi      # 0xa532a
movq %rax, %rdi
callq 0x18a16
movq %rax, %rbx
movq %r12, 0x38(%rsp)
movl $0x1, 0x40(%rsp)
cmpb $0x1, 0x188(%rax)
jne 0x9a38c
movq %rbx, %rdi
addq $0x10, %rdi
leaq 0x38(%rsp), %rsi
callq 0x9afe0
leaq 0x1dfd6(%rip), %rsi     # 0xb8369
movq %rbx, %rdi
callq 0x18a16
leaq 0xc8(%rsp), %rdi
callq 0xbf62
movq 0x8(%rsp), %rdi
cmpq %r14, %rdi
je 0x9a3bf
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x21f0
cmpl $0x2, 0x58(%rsp)
jne 0x9a3d6
movl 0x50(%rsp), %eax
xorl $0x1, %eax
orl 0x54(%rsp), %eax
sete %bl
jmp 0x9a3d8
xorl %ebx, %ebx
leaq 0x8(%rsp), %rdi
movq %r14, (%rdi)
leaq 0x246c2(%rip), %rsi     # 0xbeaa9
leaq 0x246e2(%rip), %rdx     # 0xbead0
callq 0xd0b8
movzbl %bl, %esi
leaq 0xc8(%rsp), %rdi
leaq 0x8(%rsp), %rdx
callq 0xbf0a
leaq 0x7245(%rip), %rsi      # 0xa1654
leaq 0xc8(%rsp), %rdi
callq 0x18a16
leaq 0x246ae(%rip), %rsi     # 0xbead1
movq %rax, %rdi
callq 0x56a5c
leaq 0xaef8(%rip), %rsi      # 0xa532a
movq %rax, %rdi
callq 0x18a16
movq %rax, %rbx
cmpb $0x1, 0x188(%rax)
jne 0x9a457
movq %rbx, %rdi
addq $0x10, %rdi
leaq 0x50(%rsp), %rsi
callq 0x9afe0
leaq 0x71f6(%rip), %rsi      # 0xa1654
movq %rbx, %rdi
callq 0x18a16
leaq 0x2464b(%rip), %rsi     # 0xbeab8
movq %rax, %rdi
callq 0x421ec
leaq 0xaeae(%rip), %rsi      # 0xa532a
movq %rax, %rdi
callq 0x18a16
movq %rax, %rbx
movq $0x1, 0x38(%rsp)
movl $0x2, 0x40(%rsp)
cmpb $0x1, 0x188(%rax)
jne 0x9a4b2
movq %rbx, %rdi
addq $0x10, %rdi
leaq 0x38(%rsp), %rsi
callq 0x9afe0
leaq 0x1deb0(%rip), %rsi     # 0xb8369
movq %rbx, %rdi
callq 0x18a16
leaq 0xc8(%rsp), %rdi
callq 0xbf62
movq 0x8(%rsp), %rdi
cmpq %r14, %rdi
je 0x9a4e5
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x21f0
cmpl $0x2, 0x4c(%rsp)
jne 0x9a4fc
movl 0x48(%rsp), %eax
xorl $0x1, %eax
orl 0x44(%rsp), %eax
sete %bl
jmp 0x9a4fe
xorl %ebx, %ebx
leaq 0x8(%rsp), %rdi
movq %r14, (%rdi)
leaq 0x245d0(%rip), %rsi     # 0xbeadd
leaq 0x245f0(%rip), %rdx     # 0xbeb04
callq 0xd0b8
movzbl %bl, %esi
leaq 0xc8(%rsp), %rdi
leaq 0x8(%rsp), %rdx
callq 0xbf0a
leaq 0x711f(%rip), %rsi      # 0xa1654
leaq 0xc8(%rsp), %rdi
callq 0x18a16
leaq 0x245bc(%rip), %rsi     # 0xbeb05
movq %rax, %rdi
callq 0x56a5c
leaq 0xadd2(%rip), %rsi      # 0xa532a
movq %rax, %rdi
callq 0x18a16
movq %rax, %rbx
cmpb $0x1, 0x188(%rax)
jne 0x9a57d
movq %rbx, %rdi
addq $0x10, %rdi
leaq 0x44(%rsp), %rsi
callq 0x9afe0
leaq 0x70d0(%rip), %rsi      # 0xa1654
movq %rbx, %rdi
callq 0x18a16
leaq 0x24559(%rip), %rsi     # 0xbeaec
movq %rax, %rdi
callq 0x421ec
leaq 0xad88(%rip), %rsi      # 0xa532a
movq %rax, %rdi
callq 0x18a16
movq %rax, %rbx
movq %r15, 0x38(%rsp)
movl $0x2, 0x40(%rsp)
cmpb $0x1, 0x188(%rax)
jne 0x9a5d4
movq %rbx, %rdi
addq $0x10, %rdi
leaq 0x38(%rsp), %rsi
callq 0x9afe0
leaq 0x1dd8e(%rip), %rsi     # 0xb8369
movq %rbx, %rdi
callq 0x18a16
leaq 0xc8(%rsp), %rdi
callq 0xbf62
movq 0x8(%rsp), %rdi
cmpq %r14, %rdi
je 0x9a607
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x21f0
movl 0xc4(%rsp), %edx
movl 0xbc(%rsp), %eax
movl 0xc0(%rsp), %ecx
movl %eax, 0x38(%rsp)
movl %ecx, 0x3c(%rsp)
movl %edx, 0x40(%rsp)
movl 0x70(%rsp), %esi
movl 0x68(%rsp), %edi
movl 0x6c(%rsp), %r8d
movl %r8d, 0xa4(%rsp)
movl %edi, 0xa8(%rsp)
movl %esi, 0xac(%rsp)
movl 0x5c(%rsp), %esi
movl 0x60(%rsp), %edi
movl 0x64(%rsp), %r8d
movl %esi, 0x98(%rsp)
movl %r8d, 0x9c(%rsp)
movl %edi, 0xa0(%rsp)
movl 0x74(%rsp), %esi
movq 0x78(%rsp), %rdi
movq %rdi, 0xb0(%rsp)
movl %esi, 0xb8(%rsp)
movl 0x50(%rsp), %esi
movl 0x54(%rsp), %edi
movl 0x58(%rsp), %r8d
movl %r8d, 0x8c(%rsp)
movl %esi, 0x90(%rsp)
movl %edi, 0x94(%rsp)
movl 0x44(%rsp), %esi
movl 0x48(%rsp), %edi
movl 0x4c(%rsp), %r8d
movl %r8d, 0x80(%rsp)
movl %edi, 0x84(%rsp)
movl %esi, 0x88(%rsp)
cmpl 0x34(%rsp), %edx
jne 0x9a6e1
xorl 0x30(%rsp), %ecx
xorl 0x2c(%rsp), %eax
orl %ecx, %eax
sete %bl
jmp 0x9a6e3
xorl %ebx, %ebx
leaq 0x8(%rsp), %rdi
movq %r14, (%rdi)
leaq 0x2441f(%rip), %rsi     # 0xbeb11
leaq 0x2441f(%rip), %rdx     # 0xbeb18
callq 0xd0b8
movzbl %bl, %esi
leaq 0xc8(%rsp), %rdi
leaq 0x8(%rsp), %rdx
callq 0xbf0a
leaq 0x6f3a(%rip), %rsi      # 0xa1654
leaq 0xc8(%rsp), %rdi
callq 0x18a16
leaq 0x24099(%rip), %rsi     # 0xbe7c7
movq %rax, %rdi
callq 0x18bd6
leaq 0xabed(%rip), %rsi      # 0xa532a
movq %rax, %rdi
callq 0x18a16
movq %rax, %rbx
cmpb $0x1, 0x188(%rax)
jne 0x9a762
movq %rbx, %rdi
addq $0x10, %rdi
leaq 0x38(%rsp), %rsi
callq 0x9afe0
leaq 0x6eeb(%rip), %rsi      # 0xa1654
movq %rbx, %rdi
callq 0x18a16
leaq 0x2439f(%rip), %rsi     # 0xbeb17
movq %rax, %rdi
callq 0x18a16
leaq 0xaba3(%rip), %rsi      # 0xa532a
movq %rax, %rdi
callq 0x18a16
movq %rax, %rbx
cmpb $0x1, 0x188(%rax)
jne 0x9a7ac
movq %rbx, %rdi
addq $0x10, %rdi
leaq 0x2c(%rsp), %rsi
callq 0x9afe0
leaq 0x1dbb6(%rip), %rsi     # 0xb8369
movq %rbx, %rdi
callq 0x18a16
leaq 0xc8(%rsp), %rdi
callq 0xbf62
movq 0x8(%rsp), %rdi
cmpq %r14, %rdi
je 0x9a7df
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x21f0
movl 0xac(%rsp), %eax
cmpl 0x34(%rsp), %eax
jne 0x9a809
movl 0xa8(%rsp), %eax
xorl 0x30(%rsp), %eax
movl 0x2c(%rsp), %ecx
xorl 0xa4(%rsp), %ecx
orl %eax, %ecx
sete %bl
jmp 0x9a80b
xorl %ebx, %ebx
leaq 0x8(%rsp), %rdi
movq %r14, (%rdi)
leaq 0x242ff(%rip), %rsi     # 0xbeb19
leaq 0x242ff(%rip), %rdx     # 0xbeb20
callq 0xd0b8
movzbl %bl, %esi
leaq 0xc8(%rsp), %rdi
leaq 0x8(%rsp), %rdx
callq 0xbf0a
leaq 0x6e12(%rip), %rsi      # 0xa1654
leaq 0xc8(%rsp), %rdi
callq 0x18a16
leaq 0x23f84(%rip), %rsi     # 0xbe7da
movq %rax, %rdi
callq 0x18bd6
leaq 0xaac5(%rip), %rsi      # 0xa532a
movq %rax, %rdi
callq 0x18a16
movq %rax, %rbx
cmpb $0x1, 0x188(%rax)
jne 0x9a88d
movq %rbx, %rdi
addq $0x10, %rdi
leaq 0xa4(%rsp), %rsi
callq 0x9afe0
leaq 0x6dc0(%rip), %rsi      # 0xa1654
movq %rbx, %rdi
callq 0x18a16
leaq 0x24274(%rip), %rsi     # 0xbeb17
movq %rax, %rdi
callq 0x18a16
leaq 0xaa78(%rip), %rsi      # 0xa532a
movq %rax, %rdi
callq 0x18a16
movq %rax, %rbx
cmpb $0x1, 0x188(%rax)
jne 0x9a8d7
movq %rbx, %rdi
addq $0x10, %rdi
leaq 0x2c(%rsp), %rsi
callq 0x9afe0
leaq 0x1da8b(%rip), %rsi     # 0xb8369
movq %rbx, %rdi
callq 0x18a16
leaq 0xc8(%rsp), %rdi
callq 0xbf62
movq 0x8(%rsp), %rdi
cmpq %r14, %rdi
je 0x9a90a
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x21f0
movl 0xa0(%rsp), %eax
cmpl 0x34(%rsp), %eax
jne 0x9a934
movl 0x9c(%rsp), %eax
xorl 0x30(%rsp), %eax
movl 0x2c(%rsp), %ecx
xorl 0x98(%rsp), %ecx
orl %eax, %ecx
sete %bl
jmp 0x9a936
xorl %ebx, %ebx
leaq 0x8(%rsp), %rdi
movq %r14, (%rdi)
leaq 0x241dc(%rip), %rsi     # 0xbeb21
leaq 0x241dc(%rip), %rdx     # 0xbeb28
callq 0xd0b8
movzbl %bl, %esi
leaq 0xc8(%rsp), %rdi
leaq 0x8(%rsp), %rdx
callq 0xbf0a
leaq 0x6ce7(%rip), %rsi      # 0xa1654
leaq 0xc8(%rsp), %rdi
callq 0x18a16
leaq 0x23e6c(%rip), %rsi     # 0xbe7ed
movq %rax, %rdi
callq 0x18bd6
leaq 0xa99a(%rip), %rsi      # 0xa532a
movq %rax, %rdi
callq 0x18a16
movq %rax, %rbx
cmpb $0x1, 0x188(%rax)
jne 0x9a9b8
movq %rbx, %rdi
addq $0x10, %rdi
leaq 0x98(%rsp), %rsi
callq 0x9afe0
leaq 0x6c95(%rip), %rsi      # 0xa1654
movq %rbx, %rdi
callq 0x18a16
leaq 0x24149(%rip), %rsi     # 0xbeb17
movq %rax, %rdi
callq 0x18a16
leaq 0xa94d(%rip), %rsi      # 0xa532a
movq %rax, %rdi
callq 0x18a16
movq %rax, %rbx
cmpb $0x1, 0x188(%rax)
jne 0x9aa02
movq %rbx, %rdi
addq $0x10, %rdi
leaq 0x2c(%rsp), %rsi
callq 0x9afe0
leaq 0x1d960(%rip), %rsi     # 0xb8369
movq %rbx, %rdi
callq 0x18a16
leaq 0xc8(%rsp), %rdi
callq 0xbf62
movq 0x8(%rsp), %rdi
cmpq %r14, %rdi
je 0x9aa35
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x21f0
movl 0xb8(%rsp), %eax
cmpl 0x34(%rsp), %eax
jne 0x9aa5f
movl 0xb4(%rsp), %eax
xorl 0x30(%rsp), %eax
movl 0x2c(%rsp), %ecx
xorl 0xb0(%rsp), %ecx
orl %eax, %ecx
sete %bl
jmp 0x9aa61
xorl %ebx, %ebx
leaq 0x8(%rsp), %rdi
movq %r14, (%rdi)
leaq 0x240b9(%rip), %rsi     # 0xbeb29
leaq 0x240b9(%rip), %rdx     # 0xbeb30
callq 0xd0b8
movzbl %bl, %esi
leaq 0xc8(%rsp), %rdi
leaq 0x8(%rsp), %rdx
callq 0xbf0a
leaq 0x6bbc(%rip), %rsi      # 0xa1654
leaq 0xc8(%rsp), %rdi
callq 0x18a16
leaq 0x23edd(%rip), %rsi     # 0xbe989
movq %rax, %rdi
callq 0x18bd6
leaq 0xa86f(%rip), %rsi      # 0xa532a
movq %rax, %rdi
callq 0x18a16
movq %rax, %rbx
cmpb $0x1, 0x188(%rax)
jne 0x9aae3
movq %rbx, %rdi
addq $0x10, %rdi
leaq 0xb0(%rsp), %rsi
callq 0x9afe0
leaq 0x6b6a(%rip), %rsi      # 0xa1654
movq %rbx, %rdi
callq 0x18a16
leaq 0x2401e(%rip), %rsi     # 0xbeb17
movq %rax, %rdi
callq 0x18a16
leaq 0xa822(%rip), %rsi      # 0xa532a
movq %rax, %rdi
callq 0x18a16
movq %rax, %rbx
cmpb $0x1, 0x188(%rax)
jne 0x9ab2d
movq %rbx, %rdi
addq $0x10, %rdi
leaq 0x2c(%rsp), %rsi
callq 0x9afe0
leaq 0x1d835(%rip), %rsi     # 0xb8369
movq %rbx, %rdi
callq 0x18a16
leaq 0xc8(%rsp), %rdi
callq 0xbf62
movq 0x8(%rsp), %rdi
cmpq %r14, %rdi
je 0x9ab60
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x21f0
movl 0x94(%rsp), %eax
cmpl 0x34(%rsp), %eax
jne 0x9ab8a
movl 0x90(%rsp), %eax
xorl 0x30(%rsp), %eax
movl 0x2c(%rsp), %ecx
xorl 0x8c(%rsp), %ecx
orl %eax, %ecx
sete %bl
jmp 0x9ab8c
xorl %ebx, %ebx
leaq 0x8(%rsp), %rdi
movq %r14, (%rdi)
leaq 0x23f96(%rip), %rsi     # 0xbeb31
leaq 0x23f96(%rip), %rdx     # 0xbeb38
callq 0xd0b8
movzbl %bl, %esi
leaq 0xc8(%rsp), %rdi
leaq 0x8(%rsp), %rdx
callq 0xbf0a
leaq 0x6a91(%rip), %rsi      # 0xa1654
leaq 0xc8(%rsp), %rdi
callq 0x18a16
leaq 0x23dd1(%rip), %rsi     # 0xbe9a8
movq %rax, %rdi
callq 0x18bd6
leaq 0xa744(%rip), %rsi      # 0xa532a
movq %rax, %rdi
callq 0x18a16
movq %rax, %rbx
cmpb $0x1, 0x188(%rax)
jne 0x9ac0e
movq %rbx, %rdi
addq $0x10, %rdi
leaq 0x8c(%rsp), %rsi
callq 0x9afe0
leaq 0x6a3f(%rip), %rsi      # 0xa1654
movq %rbx, %rdi
callq 0x18a16
leaq 0x23ef3(%rip), %rsi     # 0xbeb17
movq %rax, %rdi
callq 0x18a16
leaq 0xa6f7(%rip), %rsi      # 0xa532a
movq %rax, %rdi
callq 0x18a16
movq %rax, %rbx
cmpb $0x1, 0x188(%rax)
jne 0x9ac58
movq %rbx, %rdi
addq $0x10, %rdi
leaq 0x2c(%rsp), %rsi
callq 0x9afe0
leaq 0x1d70a(%rip), %rsi     # 0xb8369
movq %rbx, %rdi
callq 0x18a16
leaq 0xc8(%rsp), %rdi
callq 0xbf62
movq 0x8(%rsp), %rdi
cmpq %r14, %rdi
je 0x9ac8b
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x21f0
movl 0x88(%rsp), %eax
cmpl 0x34(%rsp), %eax
jne 0x9acb5
movl 0x84(%rsp), %eax
xorl 0x30(%rsp), %eax
movl 0x2c(%rsp), %ecx
xorl 0x80(%rsp), %ecx
orl %eax, %ecx
sete %bl
jmp 0x9acb7
xorl %ebx, %ebx
leaq 0x8(%rsp), %rdi
movq %r14, (%rdi)
leaq 0x23e73(%rip), %rsi     # 0xbeb39
leaq 0x23e73(%rip), %rdx     # 0xbeb40
callq 0xd0b8
movzbl %bl, %esi
leaq 0xc8(%rsp), %rdi
leaq 0x8(%rsp), %rdx
callq 0xbf0a
leaq 0x6966(%rip), %rsi      # 0xa1654
leaq 0xc8(%rsp), %rdi
callq 0x18a16
leaq 0x23cc5(%rip), %rsi     # 0xbe9c7
movq %rax, %rdi
callq 0x18bd6
leaq 0xa619(%rip), %rsi      # 0xa532a
movq %rax, %rdi
callq 0x18a16
movq %rax, %rbx
cmpb $0x1, 0x188(%rax)
jne 0x9ad39
movq %rbx, %rdi
addq $0x10, %rdi
leaq 0x80(%rsp), %rsi
callq 0x9afe0
leaq 0x6914(%rip), %rsi      # 0xa1654
movq %rbx, %rdi
callq 0x18a16
leaq 0x23dc8(%rip), %rsi     # 0xbeb17
movq %rax, %rdi
callq 0x18a16
leaq 0xa5cc(%rip), %rsi      # 0xa532a
movq %rax, %rdi
callq 0x18a16
movq %rax, %rbx
cmpb $0x1, 0x188(%rax)
jne 0x9ad83
movq %rbx, %rdi
addq $0x10, %rdi
leaq 0x2c(%rsp), %rsi
callq 0x9afe0
leaq 0x1d5df(%rip), %rsi     # 0xb8369
movq %rbx, %rdi
callq 0x18a16
leaq 0xc8(%rsp), %rdi
callq 0xbf62
movq 0x8(%rsp), %rdi
cmpq %r14, %rdi
je 0x9adb6
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x21f0
addq $0x258, %rsp            # imm = 0x258
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x9adde
jmp 0x9adde
jmp 0x9adde
jmp 0x9adde
jmp 0x9adde
jmp 0x9adde
jmp 0x9adde
jmp 0x9adde
jmp 0x9adde
jmp 0x9adde
jmp 0x9adde
movq %rax, %rbx
jmp 0x9ae25
jmp 0x9ae2d
jmp 0x9ae3f
jmp 0x9ae51
jmp 0x9ae63
jmp 0x9ae75
jmp 0x9ae87
jmp 0x9ae0b
jmp 0x9ae0b
jmp 0x9ae0b
jmp 0x9ae0b
jmp 0x9ae0b
jmp 0x9ae0b
jmp 0x9ae0b
jmp 0x9ae0b
jmp 0x9ae0b
jmp 0x9ae0b
jmp 0x9ae0b
movq %rax, %rbx
movq 0x8(%rsp), %rdi
cmpq %r14, %rdi
je 0x9ae25
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x21f0
movq %rbx, %rdi
callq 0x2300
movq %rax, %rbx
leaq 0xc8(%rsp), %rdi
callq 0xbf62
jmp 0x9ae0e
movq %rax, %rbx
leaq 0xc8(%rsp), %rdi
callq 0xbf62
jmp 0x9ae0e
movq %rax, %rbx
leaq 0xc8(%rsp), %rdi
callq 0xbf62
jmp 0x9ae0e
movq %rax, %rbx
leaq 0xc8(%rsp), %rdi
callq 0xbf62
jmp 0x9ae0e
movq %rax, %rbx
leaq 0xc8(%rsp), %rdi
callq 0xbf62
jmp 0x9ae0e
movq %rax, %rbx
leaq 0xc8(%rsp), %rdi
callq 0xbf62
jmp 0x9ae0e
movq %rax, %rbx
leaq 0xc8(%rsp), %rdi
callq 0xbf62
jmp 0x9ae0e
movq %rax, %rbx
leaq 0xc8(%rsp), %rdi
callq 0xbf62
jmp 0x9ae0e
movq %rax, %rbx
leaq 0xc8(%rsp), %rdi
callq 0xbf62
jmp 0x9ae0e
movq %rax, %rbx
leaq 0xc8(%rsp), %rdi
callq 0xbf62
jmp 0x9ae0e
movq %rax, %rbx
leaq 0xc8(%rsp), %rdi
callq 0xbf62
jmp 0x9ae0e
movq %rax, %rbx
leaq 0xc8(%rsp), %rdi
callq 0xbf62
jmp 0x9ae0e
movq %rax, %rdi
callq 0xc036