// File: /workspace/github_cpp_makefile_star2_O1/dsharlet[P]array/test/array_lifetime.cpp
// Function: void nda::test_reshape_lifetime<nda::auto_allocator<nda::lifetime_counter, 256ul, 1ul, std::allocator<nda::lifetime_counter>>>(bool)
void test_reshape_lifetime(bool alloc_movable = true) {
  lifetime_array<Alloc> default_init(lifetime_shape);
  {
    lifetime_counter::reset();
    // No-op test case.
    default_init.reshape(lifetime_shape);
    ASSERT_EQ(lifetime_counter::constructs(), 0);
    ASSERT_EQ(lifetime_counter::moves(), 0);
    ASSERT_EQ(lifetime_counter::destructs, 0);
  }
  {
    lifetime_counter::reset();
    default_init.reshape(lifetime_subshape);
    if (alloc_movable) {
      ASSERT_EQ(lifetime_counter::constructs(), lifetime_subshape.size());
      ASSERT_EQ(lifetime_counter::moves(), lifetime_subshape.size());
      ASSERT_EQ(lifetime_counter::destructs, lifetime_shape.size());
    } else {
      ASSERT_EQ(lifetime_counter::constructs(), lifetime_subshape.size() * 2);
      ASSERT_EQ(lifetime_counter::moves(), lifetime_subshape.size() * 2);
      ASSERT_EQ(lifetime_counter::destructs, lifetime_shape.size() + lifetime_subshape.size());
    }
  }
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x368, %rsp            # imm = 0x368
movl %edi, %ebx
leaq 0x218(%rsp), %r14
movb $0x0, 0x100(%r14)
xorps %xmm0, %xmm0
movups %xmm0, 0x108(%r14)
xorl %r15d, %r15d
movq %r15, 0x118(%r14)
movups 0xadd42(%rip), %xmm0    # 0xe51e8
movups %xmm0, 0x120(%r14)
movups 0xadd43(%rip), %xmm0    # 0xe51f8
movups %xmm0, 0x130(%r14)
movups 0xadd44(%rip), %xmm0    # 0xe5208
movups %xmm0, 0x140(%r14)
movq %r14, %rdi
callq 0x3f6ba
movq %r14, %rdi
callq 0x3f7be
leaq 0xadddd(%rip), %r12     # 0xe52c0
movq %r15, (%r12)
leaq 0xaddda(%rip), %rbp     # 0xe52c8
movq %r15, (%rbp)
leaq 0xaddd7(%rip), %r13     # 0xe52d0
movq %r15, (%r13)
leaq 0xaddd4(%rip), %rax     # 0xe52d8
movq %r15, (%rax)
leaq 0xaddd2(%rip), %rax     # 0xe52e0
movq %r15, (%rax)
leaq 0xaddd0(%rip), %rax     # 0xe52e8
movq %r15, (%rax)
movups 0xadcc6(%rip), %xmm0    # 0xe51e8
leaq 0x1e0(%rsp), %rsi
movaps %xmm0, (%rsi)
movups 0xadcc4(%rip), %xmm0    # 0xe51f8
movaps %xmm0, 0x10(%rsi)
movups 0xadcc9(%rip), %xmm0    # 0xe5208
movaps %xmm0, 0x20(%rsi)
movq %r14, %rdi
callq 0x45b0c
movq (%r12), %r12
movq (%rbp), %r14
movq (%r13), %r15
leaq 0x10(%rsp), %rbp
movq %rbp, -0x10(%rbp)
leaq 0x6ec82(%rip), %rsi     # 0xa61e9
leaq 0x6ec9e(%rip), %rdx     # 0xa620c
movq %rsp, %rdi
callq 0xd0b8
addq %r12, %r14
xorl %esi, %esi
addq %r15, %r14
sete %sil
leaq 0x20(%rsp), %rdi
movq %rsp, %rdx
callq 0xbf0a
leaq 0xadd2a(%rip), %r12     # 0xe52c0
leaq 0x6a0b7(%rip), %rsi     # 0xa1654
leaq 0x20(%rsp), %rdi
callq 0x18a16
leaq 0x745bc(%rip), %rsi     # 0xabb6a
movq %rax, %rdi
callq 0x3ebfa
leaq 0x6dd6d(%rip), %rsi     # 0xa532a
movq %rax, %rdi
callq 0x18a16
movq %rax, %r14
cmpb $0x1, 0x188(%rax)
jne 0x375ef
movq (%r12), %rsi
leaq 0xadcec(%rip), %rax     # 0xe52c8
addq (%rax), %rsi
addq (%r13), %rsi
movq %r14, %rdi
addq $0x10, %rdi
callq 0x2110
leaq 0x6a05e(%rip), %rsi     # 0xa1654
movq %r14, %rdi
callq 0x18a16
leaq 0x6b8d2(%rip), %rsi     # 0xa2ed7
movq %rax, %rdi
callq 0x18a16
leaq 0x6dd16(%rip), %rsi     # 0xa532a
movq %rax, %rdi
callq 0x18a16
movq %rax, %r14
cmpb $0x1, 0x188(%rax)
jne 0x37636
movq %r14, %rdi
addq $0x10, %rdi
xorl %esi, %esi
callq 0x22f0
leaq 0x80d2c(%rip), %rsi     # 0xb8369
movq %r14, %rdi
callq 0x18a16
leaq 0x20(%rsp), %rdi
callq 0xbf62
movq (%rsp), %rdi
cmpq %rbp, %rdi
je 0x37665
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x21f0
movq (%r13), %r14
leaq 0xadc70(%rip), %rax     # 0xe52e0
movq (%rax), %r15
movq %rsp, %rdi
movq %rbp, (%rdi)
leaq 0x72885(%rip), %rsi     # 0xa9f05
leaq 0x7289c(%rip), %rdx     # 0xa9f23
callq 0xd0b8
xorl %esi, %esi
addq %r14, %r15
sete %sil
leaq 0x20(%rsp), %rdi
movq %rsp, %rdx
callq 0xbf0a
leaq 0x69fab(%rip), %rsi     # 0xa1654
leaq 0x20(%rsp), %rdi
callq 0x18a16
leaq 0x7286a(%rip), %rsi     # 0xa9f24
movq %rax, %rdi
callq 0x41786
leaq 0x6dc61(%rip), %rsi     # 0xa532a
movq %rax, %rdi
callq 0x18a16
movq %rax, %r14
cmpb $0x1, 0x188(%rax)
jne 0x376f7
movq (%r13), %rsi
leaq 0xadbf8(%rip), %rax     # 0xe52e0
addq (%rax), %rsi
movq %r14, %rdi
addq $0x10, %rdi
callq 0x2110
leaq 0x69f56(%rip), %rsi     # 0xa1654
movq %r14, %rdi
callq 0x18a16
leaq 0x6b7ca(%rip), %rsi     # 0xa2ed7
movq %rax, %rdi
callq 0x18a16
leaq 0x6dc0e(%rip), %rsi     # 0xa532a
movq %rax, %rdi
callq 0x18a16
movq %rax, %r14
cmpb $0x1, 0x188(%rax)
jne 0x3773e
movq %r14, %rdi
addq $0x10, %rdi
xorl %esi, %esi
callq 0x22f0
leaq 0x80c24(%rip), %rsi     # 0xb8369
movq %r14, %rdi
callq 0x18a16
leaq 0x20(%rsp), %rdi
callq 0xbf62
movq (%rsp), %rdi
cmpq %rbp, %rdi
je 0x3776d
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x21f0
leaq 0xadb74(%rip), %rax     # 0xe52e8
movq (%rax), %r14
movq %rsp, %rdi
movq %rbp, (%rdi)
leaq 0x741f7(%rip), %rsi     # 0xab97b
leaq 0x74210(%rip), %rdx     # 0xab99b
callq 0xd0b8
xorl %esi, %esi
testq %r14, %r14
sete %sil
leaq 0x20(%rsp), %rdi
movq %rsp, %rdx
callq 0xbf0a
leaq 0x69ea7(%rip), %rsi     # 0xa1654
leaq 0x20(%rsp), %rdi
callq 0x18a16
leaq 0x6eae7(%rip), %rsi     # 0xa62a5
movq %rax, %rdi
callq 0x3ec6a
leaq 0x6db5d(%rip), %rsi     # 0xa532a
movq %rax, %rdi
callq 0x18a16
movq %rax, %r14
cmpb $0x1, 0x188(%rax)
jne 0x377f7
movq %r14, %rdi
addq $0x10, %rdi
leaq 0xadaf9(%rip), %rax     # 0xe52e8
movq (%rax), %rsi
callq 0x2110
leaq 0x69e56(%rip), %rsi     # 0xa1654
movq %r14, %rdi
callq 0x18a16
leaq 0x6b6ca(%rip), %rsi     # 0xa2ed7
movq %rax, %rdi
callq 0x18a16
leaq 0x6db0e(%rip), %rsi     # 0xa532a
movq %rax, %rdi
callq 0x18a16
movq %rax, %r14
cmpb $0x1, 0x188(%rax)
jne 0x3783e
movq %r14, %rdi
addq $0x10, %rdi
xorl %esi, %esi
callq 0x22f0
leaq 0x80b24(%rip), %rsi     # 0xb8369
movq %r14, %rdi
callq 0x18a16
leaq 0x20(%rsp), %rdi
callq 0xbf62
movq (%rsp), %rdi
cmpq %rbp, %rdi
je 0x3786d
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x21f0
xorl %eax, %eax
movq %rax, (%r12)
leaq 0xada4e(%rip), %r15     # 0xe52c8
movq %rax, (%r15)
movq %rax, (%r13)
leaq 0xada50(%rip), %rcx     # 0xe52d8
movq %rax, (%rcx)
leaq 0xada4e(%rip), %rcx     # 0xe52e0
movq %rax, (%rcx)
leaq 0xada4c(%rip), %rcx     # 0xe52e8
movq %rax, (%rcx)
movups 0xad972(%rip), %xmm0    # 0xe5218
leaq 0x1b0(%rsp), %rsi
movaps %xmm0, (%rsi)
movups 0xad970(%rip), %xmm0    # 0xe5228
movaps %xmm0, 0x10(%rsi)
movups 0xad975(%rip), %xmm0    # 0xe5238
movaps %xmm0, 0x20(%rsi)
leaq 0x218(%rsp), %rdi
callq 0x45b0c
testb %bl, %bl
je 0x37c88
movq (%r12), %r14
movq (%r15), %rbx
movq (%r13), %r15
movq 0xad94a(%rip), %rbp     # 0xe5238
movq 0xad92b(%rip), %r12     # 0xe5220
movq %rsp, %rdi
leaq 0x10(%rsp), %rax
movq %rax, (%rdi)
leaq 0x726db(%rip), %rsi     # 0xa9fe2
leaq 0x7270e(%rip), %rdx     # 0xaa01c
callq 0xd0b8
imulq %rbp, %r12
xorl %eax, %eax
testq %r12, %r12
cmovgq %r12, %rax
addq %r14, %rbx
addq %r15, %rbx
xorl %esi, %esi
cmpq %rax, %rbx
sete %sil
leaq 0x20(%rsp), %rdi
movq %rsp, %rdx
leaq 0x10(%rsp), %rbp
callq 0xbf0a
leaq 0x69d0c(%rip), %rsi     # 0xa1654
leaq 0x20(%rsp), %rdi
callq 0x18a16
leaq 0xad967(%rip), %r14     # 0xe52c0
leaq 0x7420a(%rip), %rsi     # 0xabb6a
movq %rax, %rdi
callq 0x3ebfa
leaq 0x6d9bb(%rip), %rsi     # 0xa532a
movq %rax, %rdi
callq 0x18a16
movq %rax, %rbx
cmpb $0x1, 0x188(%rax)
jne 0x379a0
movq (%r14), %rsi
leaq 0xad93b(%rip), %rax     # 0xe52c8
addq (%rax), %rsi
addq (%r13), %rsi
movq %rbx, %rdi
addq $0x10, %rdi
callq 0x2110
leaq 0x69cad(%rip), %rsi     # 0xa1654
movq %rbx, %rdi
callq 0x18a16
leaq 0x726f8(%rip), %rsi     # 0xaa0ae
movq %rax, %rdi
callq 0x421ec
leaq 0x6d965(%rip), %rsi     # 0xa532a
movq %rax, %rdi
callq 0x18a16
movq %rax, %rbx
cmpb $0x1, 0x188(%rax)
jne 0x379fd
movq 0xad858(%rip), %rax     # 0xe5238
imulq 0xad838(%rip), %rax     # 0xe5220
xorl %esi, %esi
testq %rax, %rax
cmovgq %rax, %rsi
movq %rbx, %rdi
addq $0x10, %rdi
callq 0x2110
leaq 0x80965(%rip), %rsi     # 0xb8369
movq %rbx, %rdi
callq 0x18a16
leaq 0x20(%rsp), %rdi
callq 0xbf62
movq (%rsp), %rdi
cmpq %rbp, %rdi
je 0x37a2c
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x21f0
movq (%r13), %r14
leaq 0xad8a9(%rip), %rax     # 0xe52e0
movq (%rax), %rbx
movq 0xad7f7(%rip), %r12     # 0xe5238
movq 0xad7d8(%rip), %r15     # 0xe5220
movq %rsp, %rdi
movq %rbp, (%rdi)
leaq 0x73f47(%rip), %rsi     # 0xab99c
leaq 0x73f75(%rip), %rdx     # 0xab9d1
callq 0xd0b8
imulq %r12, %r15
xorl %eax, %eax
testq %r15, %r15
cmovgq %r15, %rax
addq %r14, %rbx
xorl %esi, %esi
cmpq %rax, %rbx
sete %sil
leaq 0x20(%rsp), %rdi
movq %rsp, %rdx
callq 0xbf0a
leaq 0x69bc6(%rip), %rsi     # 0xa1654
leaq 0x20(%rsp), %rdi
callq 0x18a16
leaq 0x72485(%rip), %rsi     # 0xa9f24
movq %rax, %rdi
callq 0x41786
leaq 0x6d87c(%rip), %rsi     # 0xa532a
movq %rax, %rdi
callq 0x18a16
movq %rax, %rbx
cmpb $0x1, 0x188(%rax)
jne 0x37adc
movq (%r13), %rsi
leaq 0xad813(%rip), %rax     # 0xe52e0
addq (%rax), %rsi
movq %rbx, %rdi
addq $0x10, %rdi
callq 0x2110
leaq 0x69b71(%rip), %rsi     # 0xa1654
movq %rbx, %rdi
callq 0x18a16
leaq 0x725bc(%rip), %rsi     # 0xaa0ae
movq %rax, %rdi
callq 0x421ec
leaq 0x6d829(%rip), %rsi     # 0xa532a
movq %rax, %rdi
callq 0x18a16
movq %rax, %rbx
cmpb $0x1, 0x188(%rax)
jne 0x37b39
movq 0xad71c(%rip), %rax     # 0xe5238
imulq 0xad6fc(%rip), %rax     # 0xe5220
xorl %esi, %esi
testq %rax, %rax
cmovgq %rax, %rsi
movq %rbx, %rdi
addq $0x10, %rdi
callq 0x2110
leaq 0x80829(%rip), %rsi     # 0xb8369
movq %rbx, %rdi
callq 0x18a16
leaq 0x20(%rsp), %rdi
callq 0xbf62
movq (%rsp), %rdi
cmpq %rbp, %rdi
je 0x37b68
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x21f0
leaq 0xad779(%rip), %rax     # 0xe52e8
movq (%rax), %rbx
movq 0xad68f(%rip), %r15     # 0xe5208
movq 0xad670(%rip), %r14     # 0xe51f0
movq %rsp, %rdi
movq %rbp, (%rdi)
leaq 0x6e6e3(%rip), %rsi     # 0xa6270
leaq 0x6e710(%rip), %rdx     # 0xa62a4
callq 0xd0b8
imulq %r15, %r14
xorl %eax, %eax
testq %r14, %r14
cmovgq %r14, %rax
xorl %esi, %esi
cmpq %rax, %rbx
sete %sil
leaq 0x20(%rsp), %rdi
movq %rsp, %rdx
callq 0xbf0a
leaq 0x69a91(%rip), %rsi     # 0xa1654
leaq 0x20(%rsp), %rdi
callq 0x18a16
leaq 0x6e6d1(%rip), %rsi     # 0xa62a5
movq %rax, %rdi
callq 0x3ec6a
leaq 0x6d747(%rip), %rsi     # 0xa532a
movq %rax, %rdi
callq 0x18a16
movq %rax, %rbx
cmpb $0x1, 0x188(%rax)
jne 0x37c0d
movq %rbx, %rdi
addq $0x10, %rdi
leaq 0xad6e3(%rip), %rax     # 0xe52e8
movq (%rax), %rsi
callq 0x2110
leaq 0x69a40(%rip), %rsi     # 0xa1654
movq %rbx, %rdi
callq 0x18a16
leaq 0x72370(%rip), %rsi     # 0xa9f93
movq %rax, %rdi
callq 0x18c7e
leaq 0x6d6f8(%rip), %rsi     # 0xa532a
movq %rax, %rdi
callq 0x18a16
movq %rax, %rbx
cmpb $0x1, 0x188(%rax)
jne 0x37c6a
movq 0xad5bb(%rip), %rax     # 0xe5208
imulq 0xad59b(%rip), %rax     # 0xe51f0
xorl %esi, %esi
testq %rax, %rax
cmovgq %rax, %rsi
movq %rbx, %rdi
addq $0x10, %rdi
callq 0x2110
leaq 0x806f8(%rip), %rsi     # 0xb8369
movq %rbx, %rdi
callq 0x18a16
leaq 0x20(%rsp), %rdi
callq 0xbf62
jmp 0x38070
movq (%r12), %r14
movq (%r15), %rbx
movq (%r13), %r15
movq 0xad59e(%rip), %rbp     # 0xe5238
movq 0xad57f(%rip), %r12     # 0xe5220
movq %rsp, %rdi
leaq 0x10(%rsp), %rax
movq %rax, (%rdi)
leaq 0x73d1f(%rip), %rsi     # 0xab9d2
leaq 0x73d56(%rip), %rdx     # 0xaba10
callq 0xd0b8
imulq %rbp, %r12
xorl %eax, %eax
testq %r12, %r12
cmovgq %r12, %rax
addq %r14, %rbx
addq %r15, %rbx
addq %rax, %rax
xorl %esi, %esi
cmpq %rax, %rbx
sete %sil
leaq 0x20(%rsp), %rdi
movq %rsp, %rdx
leaq 0x10(%rsp), %rbp
callq 0xbf0a
leaq 0x6995d(%rip), %rsi     # 0xa1654
leaq 0x20(%rsp), %rdi
callq 0x18a16
leaq 0xad5b8(%rip), %r14     # 0xe52c0
leaq 0x73e5b(%rip), %rsi     # 0xabb6a
movq %rax, %rdi
callq 0x3ebfa
leaq 0x6d60c(%rip), %rsi     # 0xa532a
movq %rax, %rdi
callq 0x18a16
movq %rax, %rbx
cmpb $0x1, 0x188(%rax)
jne 0x37d4f
movq (%r14), %rsi
leaq 0xad58c(%rip), %rax     # 0xe52c8
addq (%rax), %rsi
addq (%r13), %rsi
movq %rbx, %rdi
addq $0x10, %rdi
callq 0x2110
leaq 0x698fe(%rip), %rsi     # 0xa1654
movq %rbx, %rdi
callq 0x18a16
leaq 0x73cc9(%rip), %rsi     # 0xaba2e
movq %rax, %rdi
callq 0x458ca
leaq 0x6d5b6(%rip), %rsi     # 0xa532a
movq %rax, %rdi
callq 0x18a16
movq %rax, %rbx
cmpb $0x1, 0x188(%rax)
jne 0x37daf
movq 0xad4a9(%rip), %rax     # 0xe5238
imulq 0xad489(%rip), %rax     # 0xe5220
xorl %esi, %esi
testq %rax, %rax
cmovgq %rax, %rsi
addq %rsi, %rsi
movq %rbx, %rdi
addq $0x10, %rdi
callq 0x2110
leaq 0x805b3(%rip), %rsi     # 0xb8369
movq %rbx, %rdi
callq 0x18a16
leaq 0x20(%rsp), %rdi
callq 0xbf62
movq (%rsp), %rdi
cmpq %rbp, %rdi
je 0x37dde
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x21f0
movq (%r13), %r14
leaq 0xad4f7(%rip), %rax     # 0xe52e0
movq (%rax), %rbx
movq 0xad445(%rip), %r12     # 0xe5238
movq 0xad426(%rip), %r15     # 0xe5220
movq %rsp, %rdi
movq %rbp, (%rdi)
leaq 0x73c0a(%rip), %rsi     # 0xaba11
leaq 0x73c3c(%rip), %rdx     # 0xaba4a
callq 0xd0b8
imulq %r12, %r15
xorl %eax, %eax
testq %r15, %r15
cmovgq %r15, %rax
addq %r14, %rbx
addq %rax, %rax
xorl %esi, %esi
cmpq %rax, %rbx
sete %sil
leaq 0x20(%rsp), %rdi
movq %rsp, %rdx
callq 0xbf0a
leaq 0x69811(%rip), %rsi     # 0xa1654
leaq 0x20(%rsp), %rdi
callq 0x18a16
leaq 0x720d0(%rip), %rsi     # 0xa9f24
movq %rax, %rdi
callq 0x41786
leaq 0x6d4c7(%rip), %rsi     # 0xa532a
movq %rax, %rdi
callq 0x18a16
movq %rax, %rbx
cmpb $0x1, 0x188(%rax)
jne 0x37e91
movq (%r13), %rsi
leaq 0xad45e(%rip), %rax     # 0xe52e0
addq (%rax), %rsi
movq %rbx, %rdi
addq $0x10, %rdi
callq 0x2110
leaq 0x697bc(%rip), %rsi     # 0xa1654
movq %rbx, %rdi
callq 0x18a16
leaq 0x73b87(%rip), %rsi     # 0xaba2e
movq %rax, %rdi
callq 0x458ca
leaq 0x6d474(%rip), %rsi     # 0xa532a
movq %rax, %rdi
callq 0x18a16
movq %rax, %rbx
cmpb $0x1, 0x188(%rax)
jne 0x37ef1
movq 0xad367(%rip), %rax     # 0xe5238
imulq 0xad347(%rip), %rax     # 0xe5220
xorl %esi, %esi
testq %rax, %rax
cmovgq %rax, %rsi
addq %rsi, %rsi
movq %rbx, %rdi
addq $0x10, %rdi
callq 0x2110
leaq 0x80471(%rip), %rsi     # 0xb8369
movq %rbx, %rdi
callq 0x18a16
leaq 0x20(%rsp), %rdi
callq 0xbf62
movq (%rsp), %rdi
cmpq %rbp, %rdi
je 0x37f20
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x21f0
leaq 0xad3c1(%rip), %rax     # 0xe52e8
movq (%rax), %rbx
movq 0xad2d7(%rip), %r15     # 0xe5208
movq 0xad2b8(%rip), %r14     # 0xe51f0
movq 0xad2f9(%rip), %r13     # 0xe5238
movq 0xad2da(%rip), %r12     # 0xe5220
movq %rsp, %rdi
movq %rbp, (%rdi)
leaq 0x72124(%rip), %rsi     # 0xaa077
leaq 0x7216c(%rip), %rdx     # 0xaa0c6
callq 0xd0b8
imulq %r13, %r12
xorl %eax, %eax
testq %r12, %r12
cmovleq %rax, %r12
imulq %r15, %r14
testq %r14, %r14
cmovleq %rax, %r14
addq %r12, %r14
xorl %esi, %esi
cmpq %r14, %rbx
sete %sil
leaq 0x20(%rsp), %rdi
movq %rsp, %rdx
callq 0xbf0a
leaq 0x696bd(%rip), %rsi     # 0xa1654
leaq 0x20(%rsp), %rdi
callq 0x18a16
leaq 0x6e2fd(%rip), %rsi     # 0xa62a5
movq %rax, %rdi
callq 0x3ec6a
leaq 0x6d373(%rip), %rsi     # 0xa532a
movq %rax, %rdi
callq 0x18a16
movq %rax, %rbx
cmpb $0x1, 0x188(%rax)
jne 0x37fe1
movq %rbx, %rdi
addq $0x10, %rdi
leaq 0xad30f(%rip), %rax     # 0xe52e8
movq (%rax), %rsi
callq 0x2110
leaq 0x6966c(%rip), %rsi     # 0xa1654
movq %rbx, %rdi
callq 0x18a16
leaq 0x7209f(%rip), %rsi     # 0xaa096
movq %rax, %rdi
callq 0x432d6
leaq 0x6d324(%rip), %rsi     # 0xa532a
movq %rax, %rdi
callq 0x18a16
movq %rax, %rbx
cmpb $0x1, 0x188(%rax)
jne 0x38057
movq 0xad1e7(%rip), %rax     # 0xe5208
imulq 0xad1c7(%rip), %rax     # 0xe51f0
xorl %ecx, %ecx
testq %rax, %rax
cmovleq %rcx, %rax
movq 0xad1ff(%rip), %rsi     # 0xe5238
imulq 0xad1df(%rip), %rsi     # 0xe5220
testq %rsi, %rsi
cmovleq %rcx, %rsi
addq %rax, %rsi
movq %rbx, %rdi
addq $0x10, %rdi
callq 0x2110
leaq 0x8030b(%rip), %rsi     # 0xb8369
movq %rbx, %rdi
callq 0x18a16
leaq 0x20(%rsp), %rdi
callq 0xbf62
movq (%rsp), %rdi
cmpq %rbp, %rdi
je 0x38086
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x21f0
leaq 0x218(%rsp), %rdi
callq 0x3f8f6
addq $0x368, %rsp            # imm = 0x368
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x3813a
jmp 0x3813a
jmp 0x3813a
jmp 0x3813a
jmp 0x3813a
jmp 0x3813a
jmp 0x38148
jmp 0x38157
jmp 0x380f7
jmp 0x38109
jmp 0x38118
jmp 0x38127
jmp 0x381c3
jmp 0x3813f
jmp 0x3813f
jmp 0x3813f
jmp 0x3813f
jmp 0x3813f
jmp 0x3813f
jmp 0x3813a
jmp 0x3813a
jmp 0x3813a
jmp 0x380f7
jmp 0x38109
jmp 0x38118
jmp 0x38127
jmp 0x38184
jmp 0x38166
jmp 0x38175
movq %rax, %rbx
leaq 0x20(%rsp), %rdi
callq 0xbf62
jmp 0x38191
movq %rax, %rbx
leaq 0x20(%rsp), %rdi
callq 0xbf62
jmp 0x38191
movq %rax, %rbx
leaq 0x20(%rsp), %rdi
callq 0xbf62
jmp 0x38191
movq %rax, %rbx
leaq 0x20(%rsp), %rdi
callq 0xbf62
jmp 0x38191
jmp 0x3813f
jmp 0x3813f
movq %rax, %rbx
jmp 0x381ac
movq %rax, %rbx
jmp 0x38191
jmp 0x38166
jmp 0x38175
movq %rax, %rbx
leaq 0x20(%rsp), %rdi
callq 0xbf62
jmp 0x38191
movq %rax, %rbx
leaq 0x20(%rsp), %rdi
callq 0xbf62
jmp 0x38191
movq %rax, %rbx
leaq 0x20(%rsp), %rdi
callq 0xbf62
jmp 0x38191
movq %rax, %rbx
leaq 0x20(%rsp), %rdi
callq 0xbf62
jmp 0x38191
movq %rax, %rbx
leaq 0x20(%rsp), %rdi
callq 0xbf62
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x381ac
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x21f0
leaq 0x218(%rsp), %rdi
callq 0x3f8f6
movq %rbx, %rdi
callq 0x2300
jmp 0x381c3
movq %rax, %rdi
callq 0xc036