// File: /workspace/github_cpp_makefile_star2_O3/dsharlet[P]array/test/array.cpp
// Function: nda::test_array_fill_assign_body()
TEST(array_fill_assign) {
  dense_array<int, 1> a;
  a.assign({10}, 3);
  for (int x = 0; x < 10; x++) {
    ASSERT_EQ(a(x), 3);
  }

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

  dense_array<int, 3> c;
  c.assign({5, 9, 3}, 7);
  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), 7);
      }
    }
  }

  array<int, shape<dim<>, dim<>>> sparse;
  auto sparse_shape = make_shape(dim<>(-2, 5, 2), dim<>(4, 10));
  sparse_shape.resolve();
  ASSERT_LT(sparse_shape.size(), sparse_shape.flat_extent());

  sparse.assign(sparse_shape, 13);
  for (int y = 4; y < 14; y++) {
    for (int x = -2; x < 3; x++) {
      ASSERT_EQ(sparse(x, y), 13);
    }
  }
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x3f8, %rsp            # imm = 0x3F8
movabsq $-0x8000000000000000, %r15 # imm = 0x8000000000000000
xorps %xmm0, %xmm0
leaq 0x120(%rsp), %rbx
movups %xmm0, 0x18(%rbx)
movups %xmm0, 0x8(%rbx)
xorl %r14d, %r14d
movq %r14, 0x28(%rbx)
movq %rbx, %rdi
callq 0x1d09a
movq %rbx, %rdi
callq 0x1d0ea
leaq 0x1a8(%rsp), %rsi
movq %r14, (%rsi)
movq $0xa, 0x8(%rsi)
movq %r15, 0x10(%rsi)
xorl %edi, %edi
callq 0xd133
leaq 0x338(%rsp), %rsi
movq $0x0, (%rsi)
movq $0xa, 0x8(%rsi)
leaq 0x1a8(%rsp), %rdx
movl $0x3, (%rdx)
leaq 0x120(%rsp), %rdi
callq 0x1972a
xorl %ebp, %ebp
leaq 0x38(%rsp), %r15
leaq 0x1a8(%rsp), %r12
leaq 0x91297(%rip), %r13     # 0xa3684
leaq 0x94e62(%rip), %rbx     # 0xa7256
movq 0x138(%rsp), %rax
movq 0x140(%rsp), %rcx
shlq $0x2, %rcx
subq %rcx, %rax
movl (%rax,%rbp,4), %r14d
leaq 0x48(%rsp), %rax
movq %rax, 0x38(%rsp)
movq %r15, %rdi
leaq 0x92a28(%rip), %rsi     # 0xa4e4b
leaq 0x92a2a(%rip), %rdx     # 0xa4e54
callq 0xd14c
xorl %esi, %esi
cmpl $0x3, %r14d
sete %sil
movq %r12, %rdi
movq %r15, %rdx
callq 0xbf80
movq %r12, %rdi
movq %r13, %rsi
callq 0x18fba
movq %rax, %rdi
leaq 0x9274b(%rip), %rsi     # 0xa4ba4
callq 0x18ff2
movq %rax, %rdi
movq %rbx, %rsi
callq 0x18fba
movq %rax, %r14
cmpb $0x1, 0x188(%rax)
jne 0x1249b
movq 0x138(%rsp), %rax
movq 0x140(%rsp), %rcx
shlq $0x2, %rcx
subq %rcx, %rax
movq %r14, %rdi
addq $0x10, %rdi
movl (%rax,%rbp,4), %esi
callq 0x22f0
movq %r14, %rdi
movq %r13, %rsi
callq 0x18fba
movq %rax, %rdi
leaq 0x9b4a9(%rip), %rsi     # 0xad959
callq 0x18fba
movq %rax, %rdi
movq %rbx, %rsi
callq 0x18fba
movq %rax, %r14
cmpb $0x1, 0x188(%rax)
jne 0x124dd
movq %r14, %rdi
addq $0x10, %rdi
movl $0x3, %esi
callq 0x22f0
movq %r14, %rdi
leaq 0xa7db2(%rip), %rsi     # 0xba299
callq 0x18fba
movq %r12, %rdi
callq 0xbfd8
movq 0x38(%rsp), %rdi
leaq 0x48(%rsp), %rax
cmpq %rax, %rdi
je 0x12510
movq 0x48(%rsp), %rsi
incq %rsi
callq 0x21f0
incq %rbp
cmpq $0xa, %rbp
jne 0x123f4
xorps %xmm0, %xmm0
leaq 0x158(%rsp), %rdi
movups %xmm0, 0x18(%rdi)
movups %xmm0, 0x8(%rdi)
movq $0x0, 0x28(%rdi)
movabsq $-0x8000000000000000, %rbx # imm = 0x8000000000000000
movq %rbx, 0x30(%rdi)
movups %xmm0, 0x38(%rdi)
callq 0x1c6ce
leaq 0x158(%rsp), %rdi
callq 0x1c796
leaq 0x1a8(%rsp), %rsi
movq $0x0, (%rsi)
movq $0x7, 0x8(%rsi)
movq %rbx, 0x10(%rsi)
xorl %edi, %edi
callq 0xd133
xorl %eax, %eax
leaq 0x380(%rsp), %rsi
movq %rax, (%rsi)
movq $0x3, 0x8(%rsi)
movq %rbx, 0x10(%rsi)
movq %rax, 0x18(%rsi)
movq $0x7, 0x20(%rsi)
leaq 0x1a8(%rsp), %rdx
movl $0x5, (%rdx)
leaq 0x158(%rsp), %rdi
callq 0x197bc
movq $0x0, (%rsp)
leaq 0x38(%rsp), %rbx
leaq 0x1a8(%rsp), %r12
leaq 0x910aa(%rip), %r13     # 0xa3684
leaq 0x94c75(%rip), %r15     # 0xa7256
xorl %edx, %edx
movq %r13, %rbp
movq (%rsp), %rax
subq 0x178(%rsp), %rax
imulq 0x188(%rsp), %rax
movq 0x190(%rsp), %rcx
shlq $0x2, %rax
shlq $0x2, %rcx
subq %rcx, %rax
addq 0x170(%rsp), %rax
movq %rdx, 0x8(%rsp)
movl (%rax,%rdx,4), %r14d
leaq 0x48(%rsp), %rax
movq %rax, 0x38(%rsp)
movq %rbx, %r13
movq %rbx, %rdi
leaq 0x9281f(%rip), %rsi     # 0xa4e55
leaq 0x92824(%rip), %rdx     # 0xa4e61
callq 0xd14c
xorl %esi, %esi
cmpl $0x5, %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 0x92578(%rip), %rsi     # 0xa4bea
callq 0x1909a
movq %rax, %rdi
movq %r15, %rsi
callq 0x18fba
movq %rax, %r14
cmpb $0x1, 0x188(%rax)
jne 0x126d2
movq (%rsp), %rax
subq 0x178(%rsp), %rax
movq 0x190(%rsp), %rcx
imulq 0x188(%rsp), %rax
shlq $0x2, %rax
shlq $0x2, %rcx
subq %rcx, %rax
addq 0x170(%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 0x92b61(%rip), %rsi     # 0xa5248
callq 0x18fba
movq %rax, %rdi
movq %r15, %rsi
callq 0x18fba
movq %rax, %r14
cmpb $0x1, 0x188(%rax)
jne 0x12714
movq %r14, %rdi
addq $0x10, %rdi
movl $0x5, %esi
callq 0x22f0
movq %r14, %rdi
leaq 0xa7b7b(%rip), %rsi     # 0xba299
callq 0x18fba
movq %r12, %rdi
callq 0xbfd8
movq 0x38(%rsp), %rdi
leaq 0x48(%rsp), %rax
cmpq %rax, %rdi
je 0x12747
movq 0x48(%rsp), %rsi
incq %rsi
callq 0x21f0
movq 0x8(%rsp), %rdx
incq %rdx
cmpq $0x7, %rdx
jne 0x125e3
movq (%rsp), %rcx
incq %rcx
movq %rcx, (%rsp)
cmpq $0x3, %rcx
jne 0x125e1
xorps %xmm0, %xmm0
leaq 0x38(%rsp), %rdi
movups %xmm0, 0x18(%rdi)
movups %xmm0, 0x8(%rdi)
movq $0x0, 0x28(%rdi)
movabsq $-0x8000000000000000, %rbx # imm = 0x8000000000000000
movq %rbx, 0x30(%rdi)
movups %xmm0, 0x38(%rdi)
movq %rbx, 0x48(%rdi)
movups %xmm0, 0x50(%rdi)
callq 0xc30a
leaq 0x38(%rsp), %rdi
callq 0xc412
leaq 0x1a8(%rsp), %rsi
movq $0x0, (%rsi)
movq $0x5, 0x8(%rsi)
movq %rbx, 0x10(%rsi)
xorl %edi, %edi
callq 0xd133
xorl %eax, %eax
leaq 0x3b0(%rsp), %rsi
movq %rax, (%rsi)
movq $0x3, 0x8(%rsi)
movq %rbx, 0x10(%rsi)
movq %rax, 0x18(%rsi)
movq $0x9, 0x20(%rsi)
movq %rbx, 0x28(%rsi)
movq %rax, 0x30(%rsi)
movq $0x5, 0x38(%rsi)
leaq 0x1a8(%rsp), %rdx
movl $0x7, (%rdx)
leaq 0x38(%rsp), %rdi
callq 0x1984a
movq $0x0, 0x10(%rsp)
leaq 0xd0(%rsp), %rbp
leaq 0x1a8(%rsp), %r12
leaq 0x90e46(%rip), %rbx     # 0xa3684
leaq 0x94a11(%rip), %r13     # 0xa7256
movq $0x0, (%rsp)
xorl %esi, %esi
movq %rbx, %r15
movq 0x10(%rsp), %rax
subq 0x58(%rsp), %rax
movq 0x88(%rsp), %rcx
imulq 0x68(%rsp), %rax
movq (%rsp), %rdx
subq 0x70(%rsp), %rdx
imulq 0x80(%rsp), %rdx
shlq $0x2, %rdx
leaq (%rdx,%rax,4), %rax
shlq $0x2, %rcx
subq %rcx, %rax
addq 0x50(%rsp), %rax
movq %rsi, 0x8(%rsp)
movl (%rax,%rsi,4), %r14d
leaq 0xe0(%rsp), %rax
movq %rax, 0xd0(%rsp)
movq %rbp, %rbx
movq %rbp, %rdi
leaq 0x925ac(%rip), %rsi     # 0xa4e62
leaq 0x925b4(%rip), %rdx     # 0xa4e71
callq 0xd14c
xorl %esi, %esi
cmpl $0x7, %r14d
sete %sil
movq %r12, %rdi
movq %rbx, %rbp
movq %rbx, %rdx
callq 0xbf80
movq %r15, %rbx
movq %r12, %rdi
movq %r15, %rsi
callq 0x18fba
movq %rax, %rdi
leaq 0x92363(%rip), %rsi     # 0xa4c55
callq 0x19062
movq %rax, %rdi
movq %r13, %rsi
callq 0x18fba
movq %rax, %r14
cmpb $0x1, 0x188(%rax)
jne 0x12960
movq 0x10(%rsp), %rax
subq 0x58(%rsp), %rax
imulq 0x68(%rsp), %rax
movq 0x88(%rsp), %rcx
movq (%rsp), %rdx
subq 0x70(%rsp), %rdx
imulq 0x80(%rsp), %rdx
shlq $0x2, %rdx
leaq (%rdx,%rax,4), %rax
shlq $0x2, %rcx
subq %rcx, %rax
addq 0x50(%rsp), %rax
movq %r14, %rdi
addq $0x10, %rdi
movq 0x8(%rsp), %rcx
movl (%rax,%rcx,4), %esi
callq 0x22f0
movq %r14, %rdi
movq %rbx, %rsi
callq 0x18fba
movq %rax, %rdi
leaq 0x92241(%rip), %rsi     # 0xa4bb6
callq 0x18fba
movq %rax, %rdi
movq %r13, %rsi
callq 0x18fba
movq %rax, %r14
cmpb $0x1, 0x188(%rax)
jne 0x129a2
movq %r14, %rdi
addq $0x10, %rdi
movl $0x7, %esi
callq 0x22f0
movq %r14, %rdi
leaq 0xa78ed(%rip), %rsi     # 0xba299
callq 0x18fba
movq %r12, %rdi
callq 0xbfd8
movq 0xd0(%rsp), %rdi
leaq 0xe0(%rsp), %rax
cmpq %rax, %rdi
je 0x129de
movq 0xe0(%rsp), %rsi
incq %rsi
callq 0x21f0
movq 0x8(%rsp), %rsi
incq %rsi
cmpq $0x5, %rsi
jne 0x1284f
movq (%rsp), %rcx
incq %rcx
movq %rcx, (%rsp)
cmpq $0x9, %rcx
jne 0x1284d
movq 0x10(%rsp), %rcx
incq %rcx
movq %rcx, 0x10(%rsp)
cmpq $0x3, %rcx
jne 0x12845
xorps %xmm0, %xmm0
leaq 0xd0(%rsp), %rdi
movups %xmm0, 0x18(%rdi)
movups %xmm0, 0x8(%rdi)
movq $0x0, 0x28(%rdi)
movabsq $-0x8000000000000000, %rbx # imm = 0x8000000000000000
movq %rbx, 0x30(%rdi)
movups %xmm0, 0x38(%rdi)
movq %rbx, 0x48(%rdi)
callq 0xe236
leaq 0xd0(%rsp), %rdi
callq 0xe334
leaq 0xb8(%rsp), %rsi
movq $0x4, -0x18(%rsi)
movq $0xa, -0x10(%rsi)
movq %rbx, -0x8(%rsi)
movq $-0x2, (%rsi)
movq $0x5, 0x8(%rsi)
movq $0x2, 0x10(%rsi)
leaq 0xa0(%rsp), %rdi
movq %rdi, %rdx
callq 0xe37c
movq 0xc0(%rsp), %r14
movq 0xa8(%rsp), %rbx
movq 0xb0(%rsp), %r15
movq 0xc8(%rsp), %r12
leaq 0x28(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x923e0(%rip), %rsi     # 0xa4eb2
leaq 0x92409(%rip), %rdx     # 0xa4ee2
leaq 0x18(%rsp), %rdi
callq 0xd14c
movq %r12, %rax
negq %rax
cmovsq %r12, %rax
leaq -0x1(%r14), %rcx
imulq %rax, %rcx
movq %r15, %rax
negq %rax
cmovsq %r15, %rax
leaq -0x1(%rbx), %rdx
imulq %rax, %rdx
addq %rcx, %rdx
movq $-0x1, %rax
cmovnsq %rdx, %rax
incq %rax
imulq %r14, %rbx
xorl %ecx, %ecx
testq %rbx, %rbx
cmovgq %rbx, %rcx
xorl %esi, %esi
cmpq %rax, %rcx
setb %sil
leaq 0x1a8(%rsp), %rdi
leaq 0x18(%rsp), %rdx
callq 0xbf80
leaq 0x90b3d(%rip), %rsi     # 0xa3684
leaq 0x1a8(%rsp), %rdi
callq 0x18fba
leaq 0x92388(%rip), %rsi     # 0xa4ee3
movq %rax, %rdi
callq 0x1990c
leaq 0x946ec(%rip), %rsi     # 0xa7256
movq %rax, %rdi
callq 0x18fba
movq %rax, %rbx
cmpb $0x1, 0x188(%rax)
jne 0x12ba4
movq 0xc0(%rsp), %rax
imulq 0xa8(%rsp), %rax
xorl %esi, %esi
testq %rax, %rax
cmovgq %rax, %rsi
movq %rbx, %rdi
addq $0x10, %rdi
callq 0x2110
leaq 0x90ad9(%rip), %rsi     # 0xa3684
movq %rbx, %rdi
callq 0x18fba
leaq 0x9230e(%rip), %rsi     # 0xa4ec8
movq %rax, %rdi
callq 0x19944
leaq 0x9468d(%rip), %rsi     # 0xa7256
movq %rax, %rdi
callq 0x18fba
movq %rax, %rbx
cmpb $0x1, 0x188(%rax)
jne 0x12c3c
movq 0xc8(%rsp), %rax
movq %rax, %rcx
negq %rcx
cmovsq %rax, %rcx
movq 0xc0(%rsp), %rax
decq %rax
imulq %rcx, %rax
movq 0xa8(%rsp), %rcx
movq 0xb0(%rsp), %rdx
movq %rdx, %rsi
negq %rsi
cmovsq %rdx, %rsi
decq %rcx
imulq %rsi, %rcx
addq %rax, %rcx
movq $-0x1, %rsi
cmovnsq %rcx, %rsi
incq %rsi
movq %rbx, %rdi
addq $0x10, %rdi
callq 0x2110
leaq 0xa7656(%rip), %rsi     # 0xba299
movq %rbx, %rdi
callq 0x18fba
leaq 0x1a8(%rsp), %rdi
callq 0xbfd8
movq 0x18(%rsp), %rdi
leaq 0x28(%rsp), %rax
cmpq %rax, %rdi
je 0x12c74
movq 0x28(%rsp), %rsi
incq %rsi
callq 0x21f0
movups 0xa0(%rsp), %xmm0
movups 0xb0(%rsp), %xmm1
movups 0xc0(%rsp), %xmm2
leaq 0x350(%rsp), %rsi
movaps %xmm0, (%rsi)
movaps %xmm1, 0x10(%rsi)
movaps %xmm2, 0x20(%rsi)
leaq 0x1a8(%rsp), %rdx
movl $0xd, (%rdx)
leaq 0xd0(%rsp), %rdi
callq 0x1997c
movl $0x4, %eax
movq %rax, (%rsp)
leaq 0x18(%rsp), %rbx
leaq 0x1a8(%rsp), %r12
leaq 0x909ad(%rip), %r13     # 0xa3684
leaq 0x94578(%rip), %r15     # 0xa7256
movq $-0x2, %rax
movq %r13, %rbp
movq %rax, 0x8(%rsp)
subq 0x108(%rsp), %rax
imulq 0x118(%rsp), %rax
movq (%rsp), %rcx
subq 0xf0(%rsp), %rcx
imulq 0x100(%rsp), %rcx
shlq $0x2, %rcx
addq 0xe8(%rsp), %rcx
movl (%rcx,%rax,4), %r14d
leaq 0x28(%rsp), %rax
movq %rax, 0x18(%rsp)
movq %rbx, %r13
movq %rbx, %rdi
leaq 0x92138(%rip), %rsi     # 0xa4e72
leaq 0x92143(%rip), %rdx     # 0xa4e84
callq 0xd14c
xorl %esi, %esi
cmpl $0xd, %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 0x91f45(%rip), %rsi     # 0xa4cbb
callq 0x190d2
movq %rax, %rdi
movq %r15, %rsi
callq 0x18fba
movq %rax, %r14
cmpb $0x1, 0x188(%rax)
jne 0x12dd8
movq (%rsp), %rax
subq 0xf0(%rsp), %rax
imulq 0x100(%rsp), %rax
shlq $0x2, %rax
addq 0xe8(%rsp), %rax
movq 0x8(%rsp), %rcx
subq 0x108(%rsp), %rcx
imulq 0x118(%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 0x92095(%rip), %rsi     # 0xa4e82
callq 0x1917a
movq %rax, %rdi
movq %r15, %rsi
callq 0x18fba
movq %rax, %r14
cmpb $0x1, 0x188(%rax)
jne 0x12e1a
movq %r14, %rdi
addq $0x10, %rdi
movl $0xd, %esi
callq 0x22f0
movq %r14, %rdi
leaq 0xa7475(%rip), %rsi     # 0xba299
callq 0x18fba
movq %r12, %rdi
callq 0xbfd8
movq 0x18(%rsp), %rdi
leaq 0x28(%rsp), %rax
cmpq %rax, %rdi
je 0x12e4d
movq 0x28(%rsp), %rsi
incq %rsi
callq 0x21f0
movq 0x8(%rsp), %rax
incq %rax
cmpq $0x3, %rax
jne 0x12ce5
movq (%rsp), %rax
incq %rax
movq %rax, (%rsp)
cmpq $0xe, %rax
jne 0x12cde
leaq 0xd0(%rsp), %rdi
callq 0xe84a
leaq 0x38(%rsp), %rdi
callq 0xd206
leaq 0x158(%rsp), %rdi
callq 0x1d1c4
cmpq $0x0, 0x138(%rsp)
je 0x12ed2
xorps %xmm0, %xmm0
leaq 0x138(%rsp), %rax
movups %xmm0, (%rax)
movq $0x0, 0x10(%rax)
movq 0x128(%rsp), %rdi
movq 0x130(%rsp), %rsi
shlq $0x2, %rsi
callq 0x21f0
addq $0x3f8, %rsp            # imm = 0x3F8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x1308f
jmp 0x1308f
jmp 0x1308f
jmp 0x12f70
jmp 0x12f70
jmp 0x12f70
jmp 0x12ff9
jmp 0x12ff9
jmp 0x12f75
jmp 0x12f75
jmp 0x12f2c
jmp 0x12f2c
jmp 0x12f1a
jmp 0x12f7f
jmp 0x12ff9
jmp 0x12f75
jmp 0x12f2c
jmp 0x12f1a
movq %rax, %rbx
leaq 0x1a8(%rsp), %rdi
callq 0xbfd8
jmp 0x12f9b
movq %rax, %rbx
jmp 0x13051
jmp 0x12f3b
movq %rax, %rbx
jmp 0x12f4b
movq %rax, %rbx
leaq 0x1a8(%rsp), %rdi
callq 0xbfd8
movq 0x38(%rsp), %rdi
leaq 0x48(%rsp), %rax
cmpq %rax, %rdi
je 0x13051
movq 0x48(%rsp), %rsi
incq %rsi
callq 0x21f0
jmp 0x13051
movq %rax, %rbx
jmp 0x12fb7
movq %rax, %rbx
jmp 0x13044
jmp 0x12f8b
movq %rax, %rbx
jmp 0x12f9b
jmp 0x12fcb
movq %rax, %rbx
jmp 0x12fdb
movq %rax, %rbx
leaq 0x1a8(%rsp), %rdi
callq 0xbfd8
movq 0x18(%rsp), %rdi
leaq 0x28(%rsp), %rax
cmpq %rax, %rdi
je 0x12fb7
movq 0x28(%rsp), %rsi
incq %rsi
callq 0x21f0
leaq 0xd0(%rsp), %rdi
callq 0xe84a
jmp 0x1303a
jmp 0x1308f
movq %rax, %rbx
leaq 0x1a8(%rsp), %rdi
callq 0xbfd8
movq 0x38(%rsp), %rdi
leaq 0x48(%rsp), %rax
cmpq %rax, %rdi
je 0x13044
movq 0x48(%rsp), %rsi
incq %rsi
callq 0x21f0
jmp 0x13044
movq %rax, %rbx
jmp 0x1303a
jmp 0x13005
movq %rax, %rbx
jmp 0x13015
movq %rax, %rbx
leaq 0x1a8(%rsp), %rdi
callq 0xbfd8
movq 0xd0(%rsp), %rdi
leaq 0xe0(%rsp), %rax
cmpq %rax, %rdi
je 0x1303a
movq 0xe0(%rsp), %rsi
incq %rsi
callq 0x21f0
leaq 0x38(%rsp), %rdi
callq 0xd206
leaq 0x158(%rsp), %rdi
callq 0x1d1c4
cmpq $0x0, 0x138(%rsp)
je 0x13083
leaq 0x138(%rsp), %rax
xorps %xmm0, %xmm0
movups %xmm0, (%rax)
movq $0x0, 0x10(%rax)
movq -0x10(%rax), %rdi
movq -0x8(%rax), %rsi
shlq $0x2, %rsi
callq 0x21f0
movq %rbx, %rdi
callq 0x2300
jmp 0x1308f
jmp 0x1308f
movq %rax, %rdi
callq 0xc0a9