// File: /workspace/github_cpp_makefile_star2_O3/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 0xaf397(%rip), %xmm0    # 0xe71e8
movups %xmm0, 0x120(%r14)
movups 0xaf398(%rip), %xmm0    # 0xe71f8
movups %xmm0, 0x130(%r14)
movups 0xaf399(%rip), %xmm0    # 0xe7208
movups %xmm0, 0x140(%r14)
movq %r14, %rdi
callq 0x4008a
movq %r14, %rdi
callq 0x401b0
leaq 0xaf432(%rip), %r12     # 0xe72c0
movq %r15, (%r12)
leaq 0xaf42f(%rip), %rbp     # 0xe72c8
movq %r15, (%rbp)
leaq 0xaf42c(%rip), %r13     # 0xe72d0
movq %r15, (%r13)
leaq 0xaf429(%rip), %rax     # 0xe72d8
movq %r15, (%rax)
leaq 0xaf427(%rip), %rax     # 0xe72e0
movq %r15, (%rax)
leaq 0xaf425(%rip), %rax     # 0xe72e8
movq %r15, (%rax)
movups 0xaf31b(%rip), %xmm0    # 0xe71e8
leaq 0x1e0(%rsp), %rsi
movaps %xmm0, (%rsi)
movups 0xaf319(%rip), %xmm0    # 0xe71f8
movaps %xmm0, 0x10(%rsi)
movups 0xaf31e(%rip), %xmm0    # 0xe7208
movaps %xmm0, 0x20(%rsi)
movq %r14, %rdi
callq 0x4654a
movq (%r12), %r12
movq (%rbp), %r14
movq (%r13), %r15
leaq 0x10(%rsp), %rbp
movq %rbp, -0x10(%rbp)
leaq 0x700e7(%rip), %rsi     # 0xa7ff9
leaq 0x70103(%rip), %rdx     # 0xa801c
movq %rsp, %rdi
callq 0xd14c
addq %r12, %r14
xorl %esi, %esi
addq %r15, %r14
sete %sil
leaq 0x20(%rsp), %rdi
movq %rsp, %rdx
callq 0xbf80
leaq 0xaf37f(%rip), %r12     # 0xe72c0
leaq 0x6b73c(%rip), %rsi     # 0xa3684
leaq 0x20(%rsp), %rdi
callq 0x18fba
leaq 0x75a21(%rip), %rsi     # 0xad97a
movq %rax, %rdi
callq 0x3f5a4
leaq 0x6f2ee(%rip), %rsi     # 0xa7256
movq %rax, %rdi
callq 0x18fba
movq %rax, %r14
cmpb $0x1, 0x188(%rax)
jne 0x37f9a
movq (%r12), %rsi
leaq 0xaf341(%rip), %rax     # 0xe72c8
addq (%rax), %rsi
addq (%r13), %rsi
movq %r14, %rdi
addq $0x10, %rdi
callq 0x2110
leaq 0x6b6e3(%rip), %rsi     # 0xa3684
movq %r14, %rdi
callq 0x18fba
leaq 0x6cf6f(%rip), %rsi     # 0xa4f1f
movq %rax, %rdi
callq 0x18fba
leaq 0x6f297(%rip), %rsi     # 0xa7256
movq %rax, %rdi
callq 0x18fba
movq %rax, %r14
cmpb $0x1, 0x188(%rax)
jne 0x37fe1
movq %r14, %rdi
addq $0x10, %rdi
xorl %esi, %esi
callq 0x22f0
leaq 0x822b1(%rip), %rsi     # 0xba299
movq %r14, %rdi
callq 0x18fba
leaq 0x20(%rsp), %rdi
callq 0xbfd8
movq (%rsp), %rdi
cmpq %rbp, %rdi
je 0x38010
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x21f0
movq (%r13), %r14
leaq 0xaf2c5(%rip), %rax     # 0xe72e0
movq (%rax), %r15
movq %rsp, %rdi
movq %rbp, (%rdi)
leaq 0x73cea(%rip), %rsi     # 0xabd15
leaq 0x73d01(%rip), %rdx     # 0xabd33
callq 0xd14c
xorl %esi, %esi
addq %r14, %r15
sete %sil
leaq 0x20(%rsp), %rdi
movq %rsp, %rdx
callq 0xbf80
leaq 0x6b630(%rip), %rsi     # 0xa3684
leaq 0x20(%rsp), %rdi
callq 0x18fba
leaq 0x73ccf(%rip), %rsi     # 0xabd34
movq %rax, %rdi
callq 0x421f8
leaq 0x6f1e2(%rip), %rsi     # 0xa7256
movq %rax, %rdi
callq 0x18fba
movq %rax, %r14
cmpb $0x1, 0x188(%rax)
jne 0x380a2
movq (%r13), %rsi
leaq 0xaf24d(%rip), %rax     # 0xe72e0
addq (%rax), %rsi
movq %r14, %rdi
addq $0x10, %rdi
callq 0x2110
leaq 0x6b5db(%rip), %rsi     # 0xa3684
movq %r14, %rdi
callq 0x18fba
leaq 0x6ce67(%rip), %rsi     # 0xa4f1f
movq %rax, %rdi
callq 0x18fba
leaq 0x6f18f(%rip), %rsi     # 0xa7256
movq %rax, %rdi
callq 0x18fba
movq %rax, %r14
cmpb $0x1, 0x188(%rax)
jne 0x380e9
movq %r14, %rdi
addq $0x10, %rdi
xorl %esi, %esi
callq 0x22f0
leaq 0x821a9(%rip), %rsi     # 0xba299
movq %r14, %rdi
callq 0x18fba
leaq 0x20(%rsp), %rdi
callq 0xbfd8
movq (%rsp), %rdi
cmpq %rbp, %rdi
je 0x38118
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x21f0
leaq 0xaf1c9(%rip), %rax     # 0xe72e8
movq (%rax), %r14
movq %rsp, %rdi
movq %rbp, (%rdi)
leaq 0x7565c(%rip), %rsi     # 0xad78b
leaq 0x75675(%rip), %rdx     # 0xad7ab
callq 0xd14c
xorl %esi, %esi
testq %r14, %r14
sete %sil
leaq 0x20(%rsp), %rdi
movq %rsp, %rdx
callq 0xbf80
leaq 0x6b52c(%rip), %rsi     # 0xa3684
leaq 0x20(%rsp), %rdi
callq 0x18fba
leaq 0x6ff4c(%rip), %rsi     # 0xa80b5
movq %rax, %rdi
callq 0x3f614
leaq 0x6f0de(%rip), %rsi     # 0xa7256
movq %rax, %rdi
callq 0x18fba
movq %rax, %r14
cmpb $0x1, 0x188(%rax)
jne 0x381a2
movq %r14, %rdi
addq $0x10, %rdi
leaq 0xaf14e(%rip), %rax     # 0xe72e8
movq (%rax), %rsi
callq 0x2110
leaq 0x6b4db(%rip), %rsi     # 0xa3684
movq %r14, %rdi
callq 0x18fba
leaq 0x6cd67(%rip), %rsi     # 0xa4f1f
movq %rax, %rdi
callq 0x18fba
leaq 0x6f08f(%rip), %rsi     # 0xa7256
movq %rax, %rdi
callq 0x18fba
movq %rax, %r14
cmpb $0x1, 0x188(%rax)
jne 0x381e9
movq %r14, %rdi
addq $0x10, %rdi
xorl %esi, %esi
callq 0x22f0
leaq 0x820a9(%rip), %rsi     # 0xba299
movq %r14, %rdi
callq 0x18fba
leaq 0x20(%rsp), %rdi
callq 0xbfd8
movq (%rsp), %rdi
cmpq %rbp, %rdi
je 0x38218
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x21f0
xorl %eax, %eax
movq %rax, (%r12)
leaq 0xaf0a3(%rip), %r15     # 0xe72c8
movq %rax, (%r15)
movq %rax, (%r13)
leaq 0xaf0a5(%rip), %rcx     # 0xe72d8
movq %rax, (%rcx)
leaq 0xaf0a3(%rip), %rcx     # 0xe72e0
movq %rax, (%rcx)
leaq 0xaf0a1(%rip), %rcx     # 0xe72e8
movq %rax, (%rcx)
movups 0xaefc7(%rip), %xmm0    # 0xe7218
leaq 0x1b0(%rsp), %rsi
movaps %xmm0, (%rsi)
movups 0xaefc5(%rip), %xmm0    # 0xe7228
movaps %xmm0, 0x10(%rsi)
movups 0xaefca(%rip), %xmm0    # 0xe7238
movaps %xmm0, 0x20(%rsi)
leaq 0x218(%rsp), %rdi
callq 0x4654a
testb %bl, %bl
je 0x38633
movq (%r12), %r14
movq (%r15), %rbx
movq (%r13), %r15
movq 0xaef9f(%rip), %rbp     # 0xe7238
movq 0xaef80(%rip), %r12     # 0xe7220
movq %rsp, %rdi
leaq 0x10(%rsp), %rax
movq %rax, (%rdi)
leaq 0x73b40(%rip), %rsi     # 0xabdf2
leaq 0x73b73(%rip), %rdx     # 0xabe2c
callq 0xd14c
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 0xbf80
leaq 0x6b391(%rip), %rsi     # 0xa3684
leaq 0x20(%rsp), %rdi
callq 0x18fba
leaq 0xaefbc(%rip), %r14     # 0xe72c0
leaq 0x7566f(%rip), %rsi     # 0xad97a
movq %rax, %rdi
callq 0x3f5a4
leaq 0x6ef3c(%rip), %rsi     # 0xa7256
movq %rax, %rdi
callq 0x18fba
movq %rax, %rbx
cmpb $0x1, 0x188(%rax)
jne 0x3834b
movq (%r14), %rsi
leaq 0xaef90(%rip), %rax     # 0xe72c8
addq (%rax), %rsi
addq (%r13), %rsi
movq %rbx, %rdi
addq $0x10, %rdi
callq 0x2110
leaq 0x6b332(%rip), %rsi     # 0xa3684
movq %rbx, %rdi
callq 0x18fba
leaq 0x73b5d(%rip), %rsi     # 0xabebe
movq %rax, %rdi
callq 0x42c5e
leaq 0x6eee6(%rip), %rsi     # 0xa7256
movq %rax, %rdi
callq 0x18fba
movq %rax, %rbx
cmpb $0x1, 0x188(%rax)
jne 0x383a8
movq 0xaeead(%rip), %rax     # 0xe7238
imulq 0xaee8d(%rip), %rax     # 0xe7220
xorl %esi, %esi
testq %rax, %rax
cmovgq %rax, %rsi
movq %rbx, %rdi
addq $0x10, %rdi
callq 0x2110
leaq 0x81eea(%rip), %rsi     # 0xba299
movq %rbx, %rdi
callq 0x18fba
leaq 0x20(%rsp), %rdi
callq 0xbfd8
movq (%rsp), %rdi
cmpq %rbp, %rdi
je 0x383d7
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x21f0
movq (%r13), %r14
leaq 0xaeefe(%rip), %rax     # 0xe72e0
movq (%rax), %rbx
movq 0xaee4c(%rip), %r12     # 0xe7238
movq 0xaee2d(%rip), %r15     # 0xe7220
movq %rsp, %rdi
movq %rbp, (%rdi)
leaq 0x753ac(%rip), %rsi     # 0xad7ac
leaq 0x753da(%rip), %rdx     # 0xad7e1
callq 0xd14c
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 0xbf80
leaq 0x6b24b(%rip), %rsi     # 0xa3684
leaq 0x20(%rsp), %rdi
callq 0x18fba
leaq 0x738ea(%rip), %rsi     # 0xabd34
movq %rax, %rdi
callq 0x421f8
leaq 0x6edfd(%rip), %rsi     # 0xa7256
movq %rax, %rdi
callq 0x18fba
movq %rax, %rbx
cmpb $0x1, 0x188(%rax)
jne 0x38487
movq (%r13), %rsi
leaq 0xaee68(%rip), %rax     # 0xe72e0
addq (%rax), %rsi
movq %rbx, %rdi
addq $0x10, %rdi
callq 0x2110
leaq 0x6b1f6(%rip), %rsi     # 0xa3684
movq %rbx, %rdi
callq 0x18fba
leaq 0x73a21(%rip), %rsi     # 0xabebe
movq %rax, %rdi
callq 0x42c5e
leaq 0x6edaa(%rip), %rsi     # 0xa7256
movq %rax, %rdi
callq 0x18fba
movq %rax, %rbx
cmpb $0x1, 0x188(%rax)
jne 0x384e4
movq 0xaed71(%rip), %rax     # 0xe7238
imulq 0xaed51(%rip), %rax     # 0xe7220
xorl %esi, %esi
testq %rax, %rax
cmovgq %rax, %rsi
movq %rbx, %rdi
addq $0x10, %rdi
callq 0x2110
leaq 0x81dae(%rip), %rsi     # 0xba299
movq %rbx, %rdi
callq 0x18fba
leaq 0x20(%rsp), %rdi
callq 0xbfd8
movq (%rsp), %rdi
cmpq %rbp, %rdi
je 0x38513
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x21f0
leaq 0xaedce(%rip), %rax     # 0xe72e8
movq (%rax), %rbx
movq 0xaece4(%rip), %r15     # 0xe7208
movq 0xaecc5(%rip), %r14     # 0xe71f0
movq %rsp, %rdi
movq %rbp, (%rdi)
leaq 0x6fb48(%rip), %rsi     # 0xa8080
leaq 0x6fb75(%rip), %rdx     # 0xa80b4
callq 0xd14c
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 0xbf80
leaq 0x6b116(%rip), %rsi     # 0xa3684
leaq 0x20(%rsp), %rdi
callq 0x18fba
leaq 0x6fb36(%rip), %rsi     # 0xa80b5
movq %rax, %rdi
callq 0x3f614
leaq 0x6ecc8(%rip), %rsi     # 0xa7256
movq %rax, %rdi
callq 0x18fba
movq %rax, %rbx
cmpb $0x1, 0x188(%rax)
jne 0x385b8
movq %rbx, %rdi
addq $0x10, %rdi
leaq 0xaed38(%rip), %rax     # 0xe72e8
movq (%rax), %rsi
callq 0x2110
leaq 0x6b0c5(%rip), %rsi     # 0xa3684
movq %rbx, %rdi
callq 0x18fba
leaq 0x737d5(%rip), %rsi     # 0xabda3
movq %rax, %rdi
callq 0x19222
leaq 0x6ec79(%rip), %rsi     # 0xa7256
movq %rax, %rdi
callq 0x18fba
movq %rax, %rbx
cmpb $0x1, 0x188(%rax)
jne 0x38615
movq 0xaec10(%rip), %rax     # 0xe7208
imulq 0xaebf0(%rip), %rax     # 0xe71f0
xorl %esi, %esi
testq %rax, %rax
cmovgq %rax, %rsi
movq %rbx, %rdi
addq $0x10, %rdi
callq 0x2110
leaq 0x81c7d(%rip), %rsi     # 0xba299
movq %rbx, %rdi
callq 0x18fba
leaq 0x20(%rsp), %rdi
callq 0xbfd8
jmp 0x38a1b
movq (%r12), %r14
movq (%r15), %rbx
movq (%r13), %r15
movq 0xaebf3(%rip), %rbp     # 0xe7238
movq 0xaebd4(%rip), %r12     # 0xe7220
movq %rsp, %rdi
leaq 0x10(%rsp), %rax
movq %rax, (%rdi)
leaq 0x75184(%rip), %rsi     # 0xad7e2
leaq 0x751bb(%rip), %rdx     # 0xad820
callq 0xd14c
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 0xbf80
leaq 0x6afe2(%rip), %rsi     # 0xa3684
leaq 0x20(%rsp), %rdi
callq 0x18fba
leaq 0xaec0d(%rip), %r14     # 0xe72c0
leaq 0x752c0(%rip), %rsi     # 0xad97a
movq %rax, %rdi
callq 0x3f5a4
leaq 0x6eb8d(%rip), %rsi     # 0xa7256
movq %rax, %rdi
callq 0x18fba
movq %rax, %rbx
cmpb $0x1, 0x188(%rax)
jne 0x386fa
movq (%r14), %rsi
leaq 0xaebe1(%rip), %rax     # 0xe72c8
addq (%rax), %rsi
addq (%r13), %rsi
movq %rbx, %rdi
addq $0x10, %rdi
callq 0x2110
leaq 0x6af83(%rip), %rsi     # 0xa3684
movq %rbx, %rdi
callq 0x18fba
leaq 0x7512e(%rip), %rsi     # 0xad83e
movq %rax, %rdi
callq 0x46308
leaq 0x6eb37(%rip), %rsi     # 0xa7256
movq %rax, %rdi
callq 0x18fba
movq %rax, %rbx
cmpb $0x1, 0x188(%rax)
jne 0x3875a
movq 0xaeafe(%rip), %rax     # 0xe7238
imulq 0xaeade(%rip), %rax     # 0xe7220
xorl %esi, %esi
testq %rax, %rax
cmovgq %rax, %rsi
addq %rsi, %rsi
movq %rbx, %rdi
addq $0x10, %rdi
callq 0x2110
leaq 0x81b38(%rip), %rsi     # 0xba299
movq %rbx, %rdi
callq 0x18fba
leaq 0x20(%rsp), %rdi
callq 0xbfd8
movq (%rsp), %rdi
cmpq %rbp, %rdi
je 0x38789
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x21f0
movq (%r13), %r14
leaq 0xaeb4c(%rip), %rax     # 0xe72e0
movq (%rax), %rbx
movq 0xaea9a(%rip), %r12     # 0xe7238
movq 0xaea7b(%rip), %r15     # 0xe7220
movq %rsp, %rdi
movq %rbp, (%rdi)
leaq 0x7506f(%rip), %rsi     # 0xad821
leaq 0x750a1(%rip), %rdx     # 0xad85a
callq 0xd14c
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 0xbf80
leaq 0x6ae96(%rip), %rsi     # 0xa3684
leaq 0x20(%rsp), %rdi
callq 0x18fba
leaq 0x73535(%rip), %rsi     # 0xabd34
movq %rax, %rdi
callq 0x421f8
leaq 0x6ea48(%rip), %rsi     # 0xa7256
movq %rax, %rdi
callq 0x18fba
movq %rax, %rbx
cmpb $0x1, 0x188(%rax)
jne 0x3883c
movq (%r13), %rsi
leaq 0xaeab3(%rip), %rax     # 0xe72e0
addq (%rax), %rsi
movq %rbx, %rdi
addq $0x10, %rdi
callq 0x2110
leaq 0x6ae41(%rip), %rsi     # 0xa3684
movq %rbx, %rdi
callq 0x18fba
leaq 0x74fec(%rip), %rsi     # 0xad83e
movq %rax, %rdi
callq 0x46308
leaq 0x6e9f5(%rip), %rsi     # 0xa7256
movq %rax, %rdi
callq 0x18fba
movq %rax, %rbx
cmpb $0x1, 0x188(%rax)
jne 0x3889c
movq 0xae9bc(%rip), %rax     # 0xe7238
imulq 0xae99c(%rip), %rax     # 0xe7220
xorl %esi, %esi
testq %rax, %rax
cmovgq %rax, %rsi
addq %rsi, %rsi
movq %rbx, %rdi
addq $0x10, %rdi
callq 0x2110
leaq 0x819f6(%rip), %rsi     # 0xba299
movq %rbx, %rdi
callq 0x18fba
leaq 0x20(%rsp), %rdi
callq 0xbfd8
movq (%rsp), %rdi
cmpq %rbp, %rdi
je 0x388cb
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x21f0
leaq 0xaea16(%rip), %rax     # 0xe72e8
movq (%rax), %rbx
movq 0xae92c(%rip), %r15     # 0xe7208
movq 0xae90d(%rip), %r14     # 0xe71f0
movq 0xae94e(%rip), %r13     # 0xe7238
movq 0xae92f(%rip), %r12     # 0xe7220
movq %rsp, %rdi
movq %rbp, (%rdi)
leaq 0x73589(%rip), %rsi     # 0xabe87
leaq 0x735d1(%rip), %rdx     # 0xabed6
callq 0xd14c
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 0xbf80
leaq 0x6ad42(%rip), %rsi     # 0xa3684
leaq 0x20(%rsp), %rdi
callq 0x18fba
leaq 0x6f762(%rip), %rsi     # 0xa80b5
movq %rax, %rdi
callq 0x3f614
leaq 0x6e8f4(%rip), %rsi     # 0xa7256
movq %rax, %rdi
callq 0x18fba
movq %rax, %rbx
cmpb $0x1, 0x188(%rax)
jne 0x3898c
movq %rbx, %rdi
addq $0x10, %rdi
leaq 0xae964(%rip), %rax     # 0xe72e8
movq (%rax), %rsi
callq 0x2110
leaq 0x6acf1(%rip), %rsi     # 0xa3684
movq %rbx, %rdi
callq 0x18fba
leaq 0x73504(%rip), %rsi     # 0xabea6
movq %rax, %rdi
callq 0x43d48
leaq 0x6e8a5(%rip), %rsi     # 0xa7256
movq %rax, %rdi
callq 0x18fba
movq %rax, %rbx
cmpb $0x1, 0x188(%rax)
jne 0x38a02
movq 0xae83c(%rip), %rax     # 0xe7208
imulq 0xae81c(%rip), %rax     # 0xe71f0
xorl %ecx, %ecx
testq %rax, %rax
cmovleq %rcx, %rax
movq 0xae854(%rip), %rsi     # 0xe7238
imulq 0xae834(%rip), %rsi     # 0xe7220
testq %rsi, %rsi
cmovleq %rcx, %rsi
addq %rax, %rsi
movq %rbx, %rdi
addq $0x10, %rdi
callq 0x2110
leaq 0x81890(%rip), %rsi     # 0xba299
movq %rbx, %rdi
callq 0x18fba
leaq 0x20(%rsp), %rdi
callq 0xbfd8
movq (%rsp), %rdi
cmpq %rbp, %rdi
je 0x38a31
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x21f0
leaq 0x218(%rsp), %rdi
callq 0x402e8
addq $0x368, %rsp            # imm = 0x368
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x38ae5
jmp 0x38ae5
jmp 0x38ae5
jmp 0x38ae5
jmp 0x38ae5
jmp 0x38ae5
jmp 0x38af3
jmp 0x38b02
jmp 0x38aa2
jmp 0x38ab4
jmp 0x38ac3
jmp 0x38ad2
jmp 0x38b6e
jmp 0x38aea
jmp 0x38aea
jmp 0x38aea
jmp 0x38aea
jmp 0x38aea
jmp 0x38aea
jmp 0x38ae5
jmp 0x38ae5
jmp 0x38ae5
jmp 0x38aa2
jmp 0x38ab4
jmp 0x38ac3
jmp 0x38ad2
jmp 0x38b2f
jmp 0x38b11
jmp 0x38b20
movq %rax, %rbx
leaq 0x20(%rsp), %rdi
callq 0xbfd8
jmp 0x38b3c
movq %rax, %rbx
leaq 0x20(%rsp), %rdi
callq 0xbfd8
jmp 0x38b3c
movq %rax, %rbx
leaq 0x20(%rsp), %rdi
callq 0xbfd8
jmp 0x38b3c
movq %rax, %rbx
leaq 0x20(%rsp), %rdi
callq 0xbfd8
jmp 0x38b3c
jmp 0x38aea
jmp 0x38aea
movq %rax, %rbx
jmp 0x38b57
movq %rax, %rbx
jmp 0x38b3c
jmp 0x38b11
jmp 0x38b20
movq %rax, %rbx
leaq 0x20(%rsp), %rdi
callq 0xbfd8
jmp 0x38b3c
movq %rax, %rbx
leaq 0x20(%rsp), %rdi
callq 0xbfd8
jmp 0x38b3c
movq %rax, %rbx
leaq 0x20(%rsp), %rdi
callq 0xbfd8
jmp 0x38b3c
movq %rax, %rbx
leaq 0x20(%rsp), %rdi
callq 0xbfd8
jmp 0x38b3c
movq %rax, %rbx
leaq 0x20(%rsp), %rdi
callq 0xbfd8
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x38b57
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x21f0
leaq 0x218(%rsp), %rdi
callq 0x402e8
movq %rbx, %rdi
callq 0x2300
jmp 0x38b6e
movq %rax, %rdi
callq 0xc0a9