// File: /workspace/github_cpp_makefile_star2_O3/dsharlet[P]array/test/array.cpp
// Function: nda::test_array_default_constructor_body()
TEST(array_default_constructor) {
  // GCC 9.3 struggles to disambiguate this, clang is fine.
  dense_array<int, 1> a(dense_shape<1>{10});
  for (int x = 0; x < 10; x++) {
    ASSERT_EQ(a(x), 0);
  }

  dense_array<int, 2> b({7, 3});
  ASSERT_EQ(b.width(), 7);
  ASSERT_EQ(b.height(), 3);
  for (int y = 0; y < 3; y++) {
    for (int x = 0; x < 7; x++) {
      ASSERT_EQ(b(x, y), 0);
    }
  }

  dense_array<int, 3> c({5, 9, 3});
  ASSERT_EQ(c.width(), 5);
  ASSERT_EQ(c.height(), 9);
  ASSERT_EQ(c.channels(), 3);
  for (int z = 0; z < 3; z++) {
    for (int y = 0; y < 9; y++) {
      for (int x = 0; x < 5; x++) {
        ASSERT_EQ(c(x, y, z), 0);
      }
    }
  }

  array<int, shape<dim<>, dim<>>> sparse({{-2, 5, 2}, {4, 10, 20}});
  ASSERT_EQ(sparse.rows(), 5);
  ASSERT_EQ(sparse.columns(), 10);
  for (int y = 4; y < 14; y++) {
    for (int x = -2; x < 3; x++) {
      ASSERT_EQ(sparse(x, y), 0);
    }
  }

  sparse.clear();
  ASSERT(sparse.empty());
  sparse.clear();
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x498, %rsp            # imm = 0x498
movabsq $-0x8000000000000000, %rax # imm = 0x8000000000000000
leaq 0x178(%rsp), %rbx
movq $0x0, (%rbx)
movl $0xa, %r14d
movq %r14, 0x8(%rbx)
movq %rax, 0x10(%rbx)
xorl %ebp, %ebp
xorl %edi, %edi
movq %rbx, %rsi
callq 0xd133
xorps %xmm0, %xmm0
leaq 0xf0(%rsp), %r15
movups %xmm0, 0x8(%r15)
movups %xmm0, 0x18(%r15)
movq %r14, 0x28(%r15)
movq %r15, %rdi
callq 0x1d09a
movq %r15, %rdi
callq 0x1d0ea
leaq 0x88(%rsp), %r12
leaq 0x94188(%rip), %r13     # 0xa3684
leaq 0x97d53(%rip), %r14     # 0xa7256
movq 0x108(%rsp), %rax
movq 0x110(%rsp), %rcx
shlq $0x2, %rcx
subq %rcx, %rax
movl (%rax,%rbp,4), %r15d
leaq 0x98(%rsp), %rax
movq %rax, 0x88(%rsp)
movq %r12, %rdi
leaq 0x95662(%rip), %rsi     # 0xa4b9a
leaq 0x95664(%rip), %rdx     # 0xa4ba3
callq 0xd14c
xorl %esi, %esi
testl %r15d, %r15d
sete %sil
movq %rbx, %rdi
movq %r12, %rdx
callq 0xbf80
movq %rbx, %rdi
movq %r13, %rsi
callq 0x18fba
movq %rax, %rdi
leaq 0x95637(%rip), %rsi     # 0xa4ba4
callq 0x18ff2
movq %rax, %rdi
movq %r14, %rsi
callq 0x18fba
movq %rax, %r15
cmpb $0x1, 0x188(%rax)
jne 0xf5af
movq 0x108(%rsp), %rax
movq 0x110(%rsp), %rcx
shlq $0x2, %rcx
subq %rcx, %rax
movq %r15, %rdi
addq $0x10, %rdi
movl (%rax,%rbp,4), %esi
callq 0x22f0
movq %r15, %rdi
movq %r13, %rsi
callq 0x18fba
movq %rax, %rdi
leaq 0x9595b(%rip), %rsi     # 0xa4f1f
callq 0x18fba
movq %rax, %rdi
movq %r14, %rsi
callq 0x18fba
movq %rax, %r15
cmpb $0x1, 0x188(%rax)
jne 0xf5ee
movq %r15, %rdi
addq $0x10, %rdi
xorl %esi, %esi
callq 0x22f0
movq %r15, %rdi
leaq 0xaaca1(%rip), %rsi     # 0xba299
callq 0x18fba
movq %rbx, %rdi
callq 0xbfd8
movq 0x88(%rsp), %rdi
leaq 0x98(%rsp), %rax
cmpq %rax, %rdi
je 0xf62a
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x21f0
incq %rbp
cmpq $0xa, %rbp
jne 0xf503
leaq 0x178(%rsp), %rsi
movq $0x0, (%rsi)
movq $0x7, 0x8(%rsi)
movabsq $-0x8000000000000000, %rbx # imm = 0x8000000000000000
movq %rbx, 0x10(%rsi)
xorl %edi, %edi
callq 0xd133
xorps %xmm0, %xmm0
leaq 0x128(%rsp), %rdi
movups %xmm0, 0x8(%rdi)
movups %xmm0, 0x18(%rdi)
movq $0x3, 0x28(%rdi)
movq %rbx, 0x30(%rdi)
movq $0x0, 0x38(%rdi)
movq $0x7, 0x40(%rdi)
callq 0x1c6ce
leaq 0x128(%rsp), %rdi
callq 0x1c796
movq 0x168(%rsp), %rbx
leaq 0x88(%rsp), %rdi
leaq 0x98(%rsp), %rax
movq %rax, (%rdi)
leaq 0x954e3(%rip), %rsi     # 0xa4ba9
leaq 0x954ea(%rip), %rdx     # 0xa4bb7
callq 0xd14c
xorl %esi, %esi
cmpq $0x7, %rbx
sete %sil
leaq 0x178(%rsp), %rdi
leaq 0x88(%rsp), %rdx
callq 0xbf80
leaq 0x93f8c(%rip), %rsi     # 0xa3684
leaq 0x178(%rsp), %rdi
callq 0x18fba
leaq 0x954ac(%rip), %rsi     # 0xa4bb8
movq %rax, %rdi
callq 0x1902a
leaq 0x97b3b(%rip), %rsi     # 0xa7256
movq %rax, %rdi
callq 0x18fba
movq %rax, %rbx
cmpb $0x1, 0x188(%rax)
jne 0xf743
movq 0x168(%rsp), %rsi
movq %rbx, %rdi
addq $0x10, %rdi
callq 0x21b0
leaq 0x93f3a(%rip), %rsi     # 0xa3684
movq %rbx, %rdi
callq 0x18fba
leaq 0x9545d(%rip), %rsi     # 0xa4bb6
movq %rax, %rdi
callq 0x18fba
leaq 0x97aee(%rip), %rsi     # 0xa7256
movq %rax, %rdi
callq 0x18fba
movq %rax, %rbx
cmpb $0x1, 0x188(%rax)
jne 0xf78d
movq %rbx, %rdi
addq $0x10, %rdi
movl $0x7, %esi
callq 0x22f0
leaq 0xaab05(%rip), %rsi     # 0xba299
movq %rbx, %rdi
callq 0x18fba
leaq 0x178(%rsp), %rdi
callq 0xbfd8
movq 0x88(%rsp), %rdi
leaq 0x98(%rsp), %rax
cmpq %rax, %rdi
je 0xf7ce
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x21f0
movq 0x150(%rsp), %rbx
leaq 0x88(%rsp), %rdi
leaq 0x98(%rsp), %rax
movq %rax, (%rdi)
leaq 0x953d2(%rip), %rsi     # 0xa4bc2
leaq 0x953da(%rip), %rdx     # 0xa4bd1
callq 0xd14c
xorl %esi, %esi
cmpq $0x3, %rbx
sete %sil
leaq 0x178(%rsp), %rdi
leaq 0x88(%rsp), %rdx
callq 0xbf80
leaq 0x93e62(%rip), %rsi     # 0xa3684
leaq 0x178(%rsp), %rdi
callq 0x18fba
leaq 0x9539c(%rip), %rsi     # 0xa4bd2
movq %rax, %rdi
callq 0x19062
leaq 0x97a11(%rip), %rsi     # 0xa7256
movq %rax, %rdi
callq 0x18fba
movq %rax, %rbx
cmpb $0x1, 0x188(%rax)
jne 0xf86d
movq 0x150(%rsp), %rsi
movq %rbx, %rdi
addq $0x10, %rdi
callq 0x21b0
leaq 0x93e10(%rip), %rsi     # 0xa3684
movq %rbx, %rdi
callq 0x18fba
leaq 0x9e0d6(%rip), %rsi     # 0xad959
movq %rax, %rdi
callq 0x18fba
leaq 0x979c4(%rip), %rsi     # 0xa7256
movq %rax, %rdi
callq 0x18fba
movq %rax, %rbx
cmpb $0x1, 0x188(%rax)
jne 0xf8b7
movq %rbx, %rdi
addq $0x10, %rdi
movl $0x3, %esi
callq 0x22f0
leaq 0xaa9db(%rip), %rsi     # 0xba299
movq %rbx, %rdi
callq 0x18fba
leaq 0x178(%rsp), %rdi
callq 0xbfd8
movq 0x88(%rsp), %rdi
leaq 0x98(%rsp), %rax
cmpq %rax, %rdi
je 0xf8f8
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x21f0
movq $0x0, (%rsp)
leaq 0x88(%rsp), %rbx
leaq 0x178(%rsp), %r12
leaq 0x93d6d(%rip), %r13     # 0xa3684
leaq 0x97938(%rip), %r15     # 0xa7256
xorl %edx, %edx
movq %r13, %rbp
movq (%rsp), %rax
subq 0x148(%rsp), %rax
imulq 0x158(%rsp), %rax
movq 0x160(%rsp), %rcx
shlq $0x2, %rax
shlq $0x2, %rcx
subq %rcx, %rax
addq 0x140(%rsp), %rax
movq %rdx, 0x8(%rsp)
movl (%rax,%rdx,4), %r14d
leaq 0x98(%rsp), %rax
movq %rax, 0x88(%rsp)
movq %rbx, %r13
movq %rbx, %rdi
leaq 0x95264(%rip), %rsi     # 0xa4bdd
leaq 0x95269(%rip), %rdx     # 0xa4be9
callq 0xd14c
xorl %esi, %esi
testl %r14d, %r14d
sete %sil
movq %r12, %rdi
movq %r13, %rbx
movq %r13, %rdx
callq 0xbf80
movq %rbp, %r13
movq %r12, %rdi
movq %rbp, %rsi
callq 0x18fba
movq %rax, %rdi
leaq 0x95236(%rip), %rsi     # 0xa4bea
callq 0x1909a
movq %rax, %rdi
movq %r15, %rsi
callq 0x18fba
movq %rax, %r14
cmpb $0x1, 0x188(%rax)
jne 0xfa14
movq (%rsp), %rax
subq 0x148(%rsp), %rax
movq 0x160(%rsp), %rcx
imulq 0x158(%rsp), %rax
shlq $0x2, %rax
shlq $0x2, %rcx
subq %rcx, %rax
addq 0x140(%rsp), %rax
movq %r14, %rdi
addq $0x10, %rdi
movq 0x8(%rsp), %rcx
movl (%rax,%rcx,4), %esi
callq 0x22f0
movq %r14, %rdi
movq %r13, %rsi
callq 0x18fba
movq %rax, %rdi
leaq 0x954f6(%rip), %rsi     # 0xa4f1f
callq 0x18fba
movq %rax, %rdi
movq %r15, %rsi
callq 0x18fba
movq %rax, %r14
cmpb $0x1, 0x188(%rax)
jne 0xfa53
movq %r14, %rdi
addq $0x10, %rdi
xorl %esi, %esi
callq 0x22f0
movq %r14, %rdi
leaq 0xaa83c(%rip), %rsi     # 0xba299
callq 0x18fba
movq %r12, %rdi
callq 0xbfd8
movq 0x88(%rsp), %rdi
leaq 0x98(%rsp), %rax
cmpq %rax, %rdi
je 0xfa8f
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x21f0
movq 0x8(%rsp), %rdx
incq %rdx
cmpq $0x7, %rdx
jne 0xf920
movq (%rsp), %rcx
incq %rcx
movq %rcx, (%rsp)
cmpq $0x3, %rcx
jne 0xf91e
leaq 0x178(%rsp), %rsi
movq $0x0, (%rsi)
movq $0x5, 0x8(%rsi)
movabsq $-0x8000000000000000, %rbx # imm = 0x8000000000000000
movq %rbx, 0x10(%rsi)
xorl %edi, %edi
callq 0xd133
xorps %xmm0, %xmm0
leaq 0x88(%rsp), %rdi
movups %xmm0, 0x8(%rdi)
movups %xmm0, 0x18(%rdi)
movq $0x3, 0x28(%rdi)
movq %rbx, 0x30(%rdi)
xorl %eax, %eax
movq %rax, 0x38(%rdi)
movq $0x9, 0x40(%rdi)
movq %rbx, 0x48(%rdi)
movq %rax, 0x50(%rdi)
movq $0x5, 0x58(%rdi)
callq 0xc30a
leaq 0x88(%rsp), %rdi
callq 0xc412
movq 0xe0(%rsp), %rbx
leaq 0x40(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x950a9(%rip), %rsi     # 0xa4bf2
leaq 0x950b0(%rip), %rdx     # 0xa4c00
leaq 0x30(%rsp), %rdi
callq 0xd14c
xorl %esi, %esi
cmpq $0x5, %rbx
sete %sil
leaq 0x178(%rsp), %rdi
leaq 0x30(%rsp), %rdx
callq 0xbf80
leaq 0x93b07(%rip), %rsi     # 0xa3684
leaq 0x178(%rsp), %rdi
callq 0x18fba
leaq 0x95070(%rip), %rsi     # 0xa4c01
movq %rax, %rdi
callq 0x1902a
leaq 0x976b6(%rip), %rsi     # 0xa7256
movq %rax, %rdi
callq 0x18fba
movq %rax, %rbx
cmpb $0x1, 0x188(%rax)
jne 0xfbc8
movq 0xe0(%rsp), %rsi
movq %rbx, %rdi
addq $0x10, %rdi
callq 0x21b0
leaq 0x93ab5(%rip), %rsi     # 0xa3684
movq %rbx, %rdi
callq 0x18fba
leaq 0x9566a(%rip), %rsi     # 0xa5248
movq %rax, %rdi
callq 0x18fba
leaq 0x97669(%rip), %rsi     # 0xa7256
movq %rax, %rdi
callq 0x18fba
movq %rax, %rbx
cmpb $0x1, 0x188(%rax)
jne 0xfc12
movq %rbx, %rdi
addq $0x10, %rdi
movl $0x5, %esi
callq 0x22f0
leaq 0xaa680(%rip), %rsi     # 0xba299
movq %rbx, %rdi
callq 0x18fba
leaq 0x178(%rsp), %rdi
callq 0xbfd8
movq 0x30(%rsp), %rdi
leaq 0x40(%rsp), %rax
cmpq %rax, %rdi
je 0xfc4a
movq 0x40(%rsp), %rsi
incq %rsi
callq 0x21f0
movq 0xc8(%rsp), %rbx
leaq 0x30(%rsp), %rdi
leaq 0x40(%rsp), %rax
movq %rax, (%rdi)
leaq 0x94fa5(%rip), %rsi     # 0xa4c0b
leaq 0x94fad(%rip), %rdx     # 0xa4c1a
callq 0xd14c
xorl %esi, %esi
cmpq $0x9, %rbx
sete %sil
leaq 0x178(%rsp), %rdi
leaq 0x30(%rsp), %rdx
callq 0xbf80
leaq 0x939ef(%rip), %rsi     # 0xa3684
leaq 0x178(%rsp), %rdi
callq 0x18fba
leaq 0x94f72(%rip), %rsi     # 0xa4c1b
movq %rax, %rdi
callq 0x19062
leaq 0x9759e(%rip), %rsi     # 0xa7256
movq %rax, %rdi
callq 0x18fba
movq %rax, %rbx
cmpb $0x1, 0x188(%rax)
jne 0xfce0
movq 0xc8(%rsp), %rsi
movq %rbx, %rdi
addq $0x10, %rdi
callq 0x21b0
leaq 0x9399d(%rip), %rsi     # 0xa3684
movq %rbx, %rdi
callq 0x18fba
leaq 0x94f23(%rip), %rsi     # 0xa4c19
movq %rax, %rdi
callq 0x18fba
leaq 0x97551(%rip), %rsi     # 0xa7256
movq %rax, %rdi
callq 0x18fba
movq %rax, %rbx
cmpb $0x1, 0x188(%rax)
jne 0xfd2a
movq %rbx, %rdi
addq $0x10, %rdi
movl $0x9, %esi
callq 0x22f0
leaq 0xaa568(%rip), %rsi     # 0xba299
movq %rbx, %rdi
callq 0x18fba
leaq 0x178(%rsp), %rdi
callq 0xbfd8
movq 0x30(%rsp), %rdi
leaq 0x40(%rsp), %rax
cmpq %rax, %rdi
je 0xfd62
movq 0x40(%rsp), %rsi
incq %rsi
callq 0x21f0
movq 0xb0(%rsp), %rbx
leaq 0x30(%rsp), %rdi
leaq 0x40(%rsp), %rax
movq %rax, (%rdi)
leaq 0x94ea8(%rip), %rsi     # 0xa4c26
leaq 0x94eb2(%rip), %rdx     # 0xa4c37
callq 0xd14c
xorl %esi, %esi
cmpq $0x3, %rbx
sete %sil
leaq 0x178(%rsp), %rdi
leaq 0x30(%rsp), %rdx
callq 0xbf80
leaq 0x938d7(%rip), %rsi     # 0xa3684
leaq 0x178(%rsp), %rdi
callq 0x18fba
leaq 0x94e77(%rip), %rsi     # 0xa4c38
movq %rax, %rdi
callq 0x190d2
leaq 0x97486(%rip), %rsi     # 0xa7256
movq %rax, %rdi
callq 0x18fba
movq %rax, %rbx
cmpb $0x1, 0x188(%rax)
jne 0xfdf8
movq 0xb0(%rsp), %rsi
movq %rbx, %rdi
addq $0x10, %rdi
callq 0x21b0
leaq 0x93885(%rip), %rsi     # 0xa3684
movq %rbx, %rdi
callq 0x18fba
leaq 0x9db4b(%rip), %rsi     # 0xad959
movq %rax, %rdi
callq 0x18fba
leaq 0x97439(%rip), %rsi     # 0xa7256
movq %rax, %rdi
callq 0x18fba
movq %rax, %rbx
cmpb $0x1, 0x188(%rax)
jne 0xfe42
movq %rbx, %rdi
addq $0x10, %rdi
movl $0x3, %esi
callq 0x22f0
leaq 0xaa450(%rip), %rsi     # 0xba299
movq %rbx, %rdi
callq 0x18fba
leaq 0x178(%rsp), %rdi
callq 0xbfd8
movq 0x30(%rsp), %rdi
leaq 0x40(%rsp), %rax
cmpq %rax, %rdi
je 0xfe7a
movq 0x40(%rsp), %rsi
incq %rsi
callq 0x21f0
movq $0x0, 0x80(%rsp)
leaq 0x30(%rsp), %rbx
leaq 0x178(%rsp), %r13
leaq 0x937ea(%rip), %r14     # 0xa3684
leaq 0x973b5(%rip), %rbp     # 0xa7256
movq $0x0, (%rsp)
xorl %esi, %esi
movq %r14, %r12
movq 0x80(%rsp), %rax
subq 0xa8(%rsp), %rax
movq 0xd8(%rsp), %rcx
imulq 0xb8(%rsp), %rax
movq (%rsp), %rdx
subq 0xc0(%rsp), %rdx
imulq 0xd0(%rsp), %rdx
shlq $0x2, %rdx
leaq (%rdx,%rax,4), %rax
shlq $0x2, %rcx
subq %rcx, %rax
addq 0xa0(%rsp), %rax
movq %rsi, 0x8(%rsp)
movl (%rax,%rsi,4), %r15d
leaq 0x40(%rsp), %rax
movq %rax, 0x30(%rsp)
movq %rbx, %r14
movq %rbx, %rdi
leaq 0x94d2a(%rip), %rsi     # 0xa4c45
leaq 0x94d32(%rip), %rdx     # 0xa4c54
callq 0xd14c
xorl %esi, %esi
testl %r15d, %r15d
sete %sil
movq %r13, %rdi
movq %r14, %rbx
movq %r14, %rdx
callq 0xbf80
movq %r12, %r14
movq %r13, %rdi
movq %r12, %rsi
callq 0x18fba
movq %rax, %rdi
leaq 0x94cff(%rip), %rsi     # 0xa4c55
callq 0x19062
movq %rax, %rdi
movq %rbp, %rsi
callq 0x18fba
movq %rax, %r15
cmpb $0x1, 0x188(%rax)
jne 0xffd3
movq 0x80(%rsp), %rax
subq 0xa8(%rsp), %rax
imulq 0xb8(%rsp), %rax
movq 0xd8(%rsp), %rcx
movq (%rsp), %rdx
subq 0xc0(%rsp), %rdx
imulq 0xd0(%rsp), %rdx
shlq $0x2, %rdx
leaq (%rdx,%rax,4), %rax
shlq $0x2, %rcx
subq %rcx, %rax
addq 0xa0(%rsp), %rax
movq %r15, %rdi
addq $0x10, %rdi
movq 0x8(%rsp), %rcx
movl (%rax,%rcx,4), %esi
callq 0x22f0
movq %r15, %rdi
movq %r14, %rsi
callq 0x18fba
movq %rax, %rdi
leaq 0x94f37(%rip), %rsi     # 0xa4f1f
callq 0x18fba
movq %rax, %rdi
movq %rbp, %rsi
callq 0x18fba
movq %rax, %r15
cmpb $0x1, 0x188(%rax)
jne 0x10012
movq %r15, %rdi
addq $0x10, %rdi
xorl %esi, %esi
callq 0x22f0
movq %r15, %rdi
leaq 0xaa27d(%rip), %rsi     # 0xba299
callq 0x18fba
movq %r13, %rdi
callq 0xbfd8
movq 0x30(%rsp), %rdi
leaq 0x40(%rsp), %rax
cmpq %rax, %rdi
je 0x10045
movq 0x40(%rsp), %rsi
incq %rsi
callq 0x21f0
movq 0x8(%rsp), %rsi
incq %rsi
cmpq $0x5, %rsi
jne 0xfeab
movq (%rsp), %rcx
incq %rcx
movq %rcx, (%rsp)
cmpq $0x9, %rcx
jne 0xfea9
movq 0x80(%rsp), %rcx
incq %rcx
movq %rcx, 0x80(%rsp)
cmpq $0x3, %rcx
jne 0xfea1
xorps %xmm0, %xmm0
leaq 0x30(%rsp), %rdi
movups %xmm0, 0x8(%rdi)
movq $0x0, 0x18(%rdi)
movq $0x4, 0x20(%rdi)
movq $0xa, 0x28(%rdi)
movq $0x14, 0x30(%rdi)
movq $-0x2, 0x38(%rdi)
movq $0x5, 0x40(%rdi)
movq $0x2, 0x48(%rdi)
callq 0xe236
leaq 0x30(%rsp), %rdi
callq 0xe334
movq 0x70(%rsp), %rbx
leaq 0x20(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x94b6f(%rip), %rsi     # 0xa4c60
leaq 0x94b7a(%rip), %rdx     # 0xa4c72
leaq 0x10(%rsp), %rdi
callq 0xd14c
xorl %esi, %esi
cmpq $0x5, %rbx
sete %sil
leaq 0x178(%rsp), %rdi
leaq 0x10(%rsp), %rdx
callq 0xbf80
leaq 0x9355f(%rip), %rsi     # 0xa3684
leaq 0x178(%rsp), %rdi
callq 0x18fba
leaq 0x94b3a(%rip), %rsi     # 0xa4c73
movq %rax, %rdi
callq 0x1910a
leaq 0x9710e(%rip), %rsi     # 0xa7256
movq %rax, %rdi
callq 0x18fba
movq %rax, %rbx
cmpb $0x1, 0x188(%rax)
jne 0x1016d
movq 0x70(%rsp), %rsi
movq %rbx, %rdi
addq $0x10, %rdi
callq 0x21b0
leaq 0x93510(%rip), %rsi     # 0xa3684
movq %rbx, %rdi
callq 0x18fba
leaq 0x950c5(%rip), %rsi     # 0xa5248
movq %rax, %rdi
callq 0x18fba
leaq 0x970c4(%rip), %rsi     # 0xa7256
movq %rax, %rdi
callq 0x18fba
movq %rax, %rbx
cmpb $0x1, 0x188(%rax)
jne 0x101b7
movq %rbx, %rdi
addq $0x10, %rdi
movl $0x5, %esi
callq 0x22f0
leaq 0xaa0db(%rip), %rsi     # 0xba299
movq %rbx, %rdi
callq 0x18fba
leaq 0x178(%rsp), %rdi
callq 0xbfd8
movq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rax
cmpq %rax, %rdi
je 0x101ef
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x21f0
movq 0x58(%rsp), %rbx
leaq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rax
movq %rax, (%rdi)
leaq 0x94a79(%rip), %rsi     # 0xa4c81
leaq 0x94a88(%rip), %rdx     # 0xa4c97
callq 0xd14c
xorl %esi, %esi
cmpq $0xa, %rbx
sete %sil
leaq 0x178(%rsp), %rdi
leaq 0x10(%rsp), %rdx
callq 0xbf80
leaq 0x9344d(%rip), %rsi     # 0xa3684
leaq 0x178(%rsp), %rdi
callq 0x18fba
leaq 0x94a4d(%rip), %rsi     # 0xa4c98
movq %rax, %rdi
callq 0x19142
leaq 0x96ffc(%rip), %rsi     # 0xa7256
movq %rax, %rdi
callq 0x18fba
movq %rax, %rbx
cmpb $0x1, 0x188(%rax)
jne 0x1027f
movq 0x58(%rsp), %rsi
movq %rbx, %rdi
addq $0x10, %rdi
callq 0x21b0
leaq 0x933fe(%rip), %rsi     # 0xa3684
movq %rbx, %rdi
callq 0x18fba
leaq 0x94a00(%rip), %rsi     # 0xa4c95
movq %rax, %rdi
callq 0x1917a
leaq 0x96fb2(%rip), %rsi     # 0xa7256
movq %rax, %rdi
callq 0x18fba
movq %rax, %rbx
cmpb $0x1, 0x188(%rax)
jne 0x102c9
movq %rbx, %rdi
addq $0x10, %rdi
movl $0xa, %esi
callq 0x22f0
leaq 0xa9fc9(%rip), %rsi     # 0xba299
movq %rbx, %rdi
callq 0x18fba
leaq 0x178(%rsp), %rdi
callq 0xbfd8
movq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rax
cmpq %rax, %rdi
je 0x10301
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x21f0
movl $0x4, %eax
movq %rax, (%rsp)
leaq 0x10(%rsp), %rbx
leaq 0x178(%rsp), %r12
leaq 0x93366(%rip), %r13     # 0xa3684
leaq 0x96f31(%rip), %r15     # 0xa7256
movq $-0x2, %rax
movq %r13, %rbp
movq %rax, 0x8(%rsp)
subq 0x68(%rsp), %rax
imulq 0x78(%rsp), %rax
movq (%rsp), %rcx
subq 0x50(%rsp), %rcx
imulq 0x60(%rsp), %rcx
shlq $0x2, %rcx
addq 0x48(%rsp), %rcx
movl (%rcx,%rax,4), %r14d
leaq 0x20(%rsp), %rax
movq %rax, 0x10(%rsp)
movq %rbx, %r13
movq %rbx, %rdi
leaq 0x94937(%rip), %rsi     # 0xa4ca9
leaq 0x94941(%rip), %rdx     # 0xa4cba
callq 0xd14c
xorl %esi, %esi
testl %r14d, %r14d
sete %sil
movq %r12, %rdi
movq %r13, %rbx
movq %r13, %rdx
callq 0xbf80
movq %rbp, %r13
movq %r12, %rdi
movq %rbp, %rsi
callq 0x18fba
movq %rax, %rdi
leaq 0x9490e(%rip), %rsi     # 0xa4cbb
callq 0x190d2
movq %rax, %rdi
movq %r15, %rsi
callq 0x18fba
movq %rax, %r14
cmpb $0x1, 0x188(%rax)
jne 0x10400
movq (%rsp), %rax
subq 0x50(%rsp), %rax
imulq 0x60(%rsp), %rax
shlq $0x2, %rax
addq 0x48(%rsp), %rax
movq 0x8(%rsp), %rcx
subq 0x68(%rsp), %rcx
imulq 0x78(%rsp), %rcx
movq %r14, %rdi
addq $0x10, %rdi
movl (%rax,%rcx,4), %esi
callq 0x22f0
movq %r14, %rdi
movq %r13, %rsi
callq 0x18fba
movq %rax, %rdi
leaq 0x94b0a(%rip), %rsi     # 0xa4f1f
callq 0x18fba
movq %rax, %rdi
movq %r15, %rsi
callq 0x18fba
movq %rax, %r14
cmpb $0x1, 0x188(%rax)
jne 0x1043f
movq %r14, %rdi
addq $0x10, %rdi
xorl %esi, %esi
callq 0x22f0
movq %r14, %rdi
leaq 0xa9e50(%rip), %rsi     # 0xba299
callq 0x18fba
movq %r12, %rdi
callq 0xbfd8
movq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rax
cmpq %rax, %rdi
je 0x10472
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x21f0
movq 0x8(%rsp), %rax
incq %rax
cmpq $0x3, %rax
jne 0x1032c
movq (%rsp), %rax
incq %rax
movq %rax, (%rsp)
cmpq $0xe, %rax
jne 0x10325
leaq 0x30(%rsp), %rdi
callq 0x191b2
movq 0x58(%rsp), %r14
movq 0x70(%rsp), %r15
leaq 0x188(%rsp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x94808(%rip), %rsi     # 0xa4cc8
leaq 0x9480f(%rip), %rdx     # 0xa4cd6
leaq 0x178(%rsp), %rdi
callq 0xd14c
imulq %r15, %r14
xorl %esi, %esi
testq %r14, %r14
setle %sil
leaq 0x308(%rsp), %rdi
leaq 0x178(%rsp), %rdx
callq 0xbf80
leaq 0x308(%rsp), %rdi
callq 0xbfd8
movq 0x178(%rsp), %rdi
cmpq %rbx, %rdi
je 0x10520
movq 0x188(%rsp), %rsi
incq %rsi
callq 0x21f0
leaq 0x30(%rsp), %rdi
callq 0x191b2
leaq 0x30(%rsp), %rdi
callq 0xe84a
leaq 0x88(%rsp), %rdi
callq 0xd206
leaq 0x128(%rsp), %rdi
callq 0x1d1c4
cmpq $0x0, 0x108(%rsp)
je 0x10589
xorps %xmm0, %xmm0
leaq 0xf0(%rsp), %rax
movups %xmm0, 0x18(%rax)
movq $0x0, 0x28(%rax)
movq 0xf8(%rsp), %rdi
movq 0x100(%rsp), %rsi
shlq $0x2, %rsi
callq 0x21f0
addq $0x498, %rsp            # imm = 0x498
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x10854
jmp 0x10854
jmp 0x10854
jmp 0x1072c
jmp 0x1072c
jmp 0x1072c
jmp 0x107bb
jmp 0x107bb
jmp 0x107bb
jmp 0x10731
jmp 0x10731
jmp 0x1063b
jmp 0x10650
movq %rax, %r14
movq 0x178(%rsp), %rdi
cmpq %rbx, %rdi
je 0x10773
movq 0x188(%rsp), %rsi
jmp 0x1076b
jmp 0x1072c
jmp 0x1073b
jmp 0x1073b
jmp 0x107bb
jmp 0x10676
jmp 0x1068b
jmp 0x106a0
jmp 0x106b5
jmp 0x106ca
jmp 0x107c2
jmp 0x107c2
jmp 0x107c2
jmp 0x10742
jmp 0x10742
jmp 0x1063b
jmp 0x10650
movq %rax, %r14
leaq 0x178(%rsp), %rdi
callq 0xbfd8
jmp 0x10757
movq %rax, %r14
leaq 0x178(%rsp), %rdi
callq 0xbfd8
jmp 0x10757
jmp 0x10676
jmp 0x1068b
jmp 0x106a0
jmp 0x10731
jmp 0x106b5
jmp 0x106ca
jmp 0x106df
movq %rax, %r14
leaq 0x178(%rsp), %rdi
callq 0xbfd8
jmp 0x107d7
movq %rax, %r14
leaq 0x178(%rsp), %rdi
callq 0xbfd8
jmp 0x107d7
movq %rax, %r14
leaq 0x178(%rsp), %rdi
callq 0xbfd8
jmp 0x107d7
movq %rax, %r14
leaq 0x178(%rsp), %rdi
callq 0xbfd8
jmp 0x10794
movq %rax, %r14
leaq 0x178(%rsp), %rdi
callq 0xbfd8
jmp 0x10794
movq %rax, %r14
jmp 0x1080d
jmp 0x106ee
movq %rax, %r14
jmp 0x106fe
movq %rax, %r14
leaq 0x178(%rsp), %rdi
callq 0xbfd8
movq 0x88(%rsp), %rdi
leaq 0x98(%rsp), %rax
cmpq %rax, %rdi
je 0x1080d
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x21f0
jmp 0x1080d
movq %rax, %r14
jmp 0x10773
movq %rax, %r14
jmp 0x10800
jmp 0x10747
movq %rax, %r14
jmp 0x10757
jmp 0x10784
movq %rax, %r14
jmp 0x10794
movq %rax, %r14
leaq 0x178(%rsp), %rdi
callq 0xbfd8
movq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rax
cmpq %rax, %rdi
je 0x10773
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x21f0
leaq 0x30(%rsp), %rdi
callq 0xe84a
jmp 0x107f3
jmp 0x10854
movq %rax, %r14
leaq 0x178(%rsp), %rdi
callq 0xbfd8
movq 0x88(%rsp), %rdi
leaq 0x98(%rsp), %rax
cmpq %rax, %rdi
je 0x10800
movq 0x98(%rsp), %rsi
incq %rsi
callq 0x21f0
jmp 0x10800
movq %rax, %r14
jmp 0x107f3
jmp 0x107c7
movq %rax, %r14
jmp 0x107d7
movq %rax, %r14
leaq 0x178(%rsp), %rdi
callq 0xbfd8
movq 0x30(%rsp), %rdi
leaq 0x40(%rsp), %rax
cmpq %rax, %rdi
je 0x107f3
movq 0x40(%rsp), %rsi
incq %rsi
callq 0x21f0
leaq 0x88(%rsp), %rdi
callq 0xd206
leaq 0x128(%rsp), %rdi
callq 0x1d1c4
cmpq $0x0, 0x108(%rsp)
je 0x10848
xorps %xmm0, %xmm0
leaq 0xf0(%rsp), %rax
movups %xmm0, 0x18(%rax)
movq $0x0, 0x28(%rax)
movq 0xf8(%rsp), %rdi
movq 0x100(%rsp), %rsi
shlq $0x2, %rsi
callq 0x21f0
movq %r14, %rdi
callq 0x2300
jmp 0x10854
jmp 0x10854
movq %rax, %rdi
callq 0xc0a9