// File: dsharlet[P]array/test/array.cpp
// Function: nda::test_array_construct_from_bounds_body()
TEST(array_construct_from_bounds) {
  // Illustrate creating an array from incompatible compile-time
  // shapes using bounds().
  using SrcShape = shape<dense_dim<>, dim<>>;
  using DstShape = shape<dim<>, dense_dim<>>;  // dense_dim is swapped.

  SrcShape src_shape({-1, 10}, {2, 5, /*stride =*/100});
  auto src = array<int, SrcShape>(src_shape);
  auto dst = array<int, DstShape>(src.bounds());

  // min and extent are preserved.
  ASSERT_EQ(src.dim<0>().min(), dst.dim<0>().min());
  ASSERT_EQ(src.dim<0>().extent(), dst.dim<0>().extent());
  ASSERT_EQ(src.dim<1>().min(), dst.dim<1>().min());
  ASSERT_EQ(src.dim<1>().extent(), dst.dim<1>().extent());
  // Ensure that `dst` did not inherit the strides of its parent and is
  // created compact.
  ASSERT(!src.is_compact());
  ASSERT(dst.is_compact());
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xf80, %rsp            # imm = 0xF80
leaq -0x148(%rbp), %rdi
movq %rdi, -0xd20(%rbp)
movq $-0x1, %rsi
movl $0xa, %edx
movl $0x1, %ecx
callq 0x16d70
leaq -0x160(%rbp), %rdi
movq %rdi, -0xd18(%rbp)
movl $0x2, %esi
movl $0x5, %edx
movl $0x64, %ecx
callq 0x10c60
movq -0xd20(%rbp), %rsi
movq -0xd18(%rbp), %rdx
leaq -0x130(%rbp), %rdi
movq %rdi, -0xd10(%rbp)
callq 0x349d0
movq -0xd10(%rbp), %rsi
leaq -0x1b0(%rbp), %rdi
movq %rdi, -0xd08(%rbp)
callq 0x34420
movq -0xd08(%rbp), %rsi
leaq -0x260(%rbp), %rdi
callq 0x34a20
jmp 0x21061
leaq -0x230(%rbp), %rdi
leaq -0x260(%rbp), %rsi
callq 0x34a50
jmp 0x21076
leaq -0x200(%rbp), %rdi
leaq -0x230(%rbp), %rsi
callq 0x34a90
jmp 0x2108b
leaq -0x1b0(%rbp), %rdi
callq 0x34b20
movq %rax, -0xd28(%rbp)
jmp 0x210a0
movq -0xd28(%rbp), %rax
movq %rax, -0xc8(%rbp)
movq -0xc8(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x40(%rbp), %rax
movq (%rax), %rax
movq %rax, -0xd30(%rbp)
leaq -0x200(%rbp), %rdi
callq 0x34b40
movq %rax, -0xd38(%rbp)
jmp 0x210dc
movq -0xd38(%rbp), %rax
movq %rax, -0xd0(%rbp)
movq -0xd0(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x38(%rbp), %rax
movq (%rax), %rax
movq %rax, -0xd40(%rbp)
movq -0xd40(%rbp), %rcx
movq -0xd30(%rbp), %rax
subq %rcx, %rax
sete %al
movb %al, -0xd49(%rbp)
leaq -0x421(%rbp), %rdi
movq %rdi, -0xd48(%rbp)
callq 0x33b0
movq -0xd48(%rbp), %rdx
leaq 0x1bd0ca(%rip), %rsi    # 0x1de208
leaq -0x420(%rbp), %rdi
callq 0x10a90
jmp 0x2114c
movb -0xd49(%rbp), %al
movzbl %al, %esi
andl $0x1, %esi
leaq -0x400(%rbp), %rdi
leaq -0x420(%rbp), %rdx
callq 0x10f80
jmp 0x2116d
leaq 0x1bb671(%rip), %rsi    # 0x1dc7e5
leaq -0x400(%rbp), %rdi
callq 0x34320
movq %rax, -0xd58(%rbp)
jmp 0x21189
movq -0xd58(%rbp), %rdi
leaq 0x1bd09a(%rip), %rsi    # 0x1de231
callq 0x34b60
movq %rax, -0xd60(%rbp)
jmp 0x211a5
movq -0xd60(%rbp), %rdi
leaq 0x1bf5f9(%rip), %rsi    # 0x1e07ac
callq 0x34320
movq %rax, -0xd68(%rbp)
jmp 0x211c1
leaq -0x1b0(%rbp), %rdi
callq 0x34b20
movq %rax, -0xd70(%rbp)
jmp 0x211d6
movq -0xd70(%rbp), %rax
movq %rax, -0xd8(%rbp)
movq -0xd8(%rbp), %rax
movq %rax, -0x30(%rbp)
movq -0x30(%rbp), %rax
movq (%rax), %rax
movq %rax, -0xd78(%rbp)
movq -0xd68(%rbp), %rdi
movq -0xd78(%rbp), %rax
movq %rax, -0x430(%rbp)
leaq -0x430(%rbp), %rsi
callq 0x34510
movq %rax, -0xd80(%rbp)
jmp 0x21227
movq -0xd80(%rbp), %rdi
leaq 0x1bb5b0(%rip), %rsi    # 0x1dc7e5
callq 0x34320
movq %rax, -0xd88(%rbp)
jmp 0x21243
movq -0xd88(%rbp), %rdi
leaq 0x1bcfcd(%rip), %rsi    # 0x1de21e
callq 0x34b60
movq %rax, -0xd90(%rbp)
jmp 0x2125f
movq -0xd90(%rbp), %rdi
leaq 0x1bf53f(%rip), %rsi    # 0x1e07ac
callq 0x34320
movq %rax, -0xd98(%rbp)
jmp 0x2127b
leaq -0x200(%rbp), %rdi
callq 0x34b40
movq %rax, -0xda0(%rbp)
jmp 0x21290
movq -0xda0(%rbp), %rax
movq %rax, -0xe0(%rbp)
movq -0xe0(%rbp), %rax
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
movq (%rax), %rax
movq %rax, -0xda8(%rbp)
movq -0xd98(%rbp), %rdi
movq -0xda8(%rbp), %rax
movq %rax, -0x438(%rbp)
leaq -0x438(%rbp), %rsi
callq 0x34510
movq %rax, -0xdb0(%rbp)
jmp 0x212e1
movq -0xdb0(%rbp), %rdi
leaq 0x1d518c(%rip), %rsi    # 0x1f647b
callq 0x34320
jmp 0x212f6
leaq -0x400(%rbp), %rdi
callq 0x10ff0
jmp 0x21304
leaq -0x420(%rbp), %rdi
callq 0x3100
leaq -0x421(%rbp), %rdi
callq 0x3290
leaq -0x1b0(%rbp), %rdi
callq 0x34b20
movq %rax, -0xdb8(%rbp)
jmp 0x21331
movq -0xdb8(%rbp), %rax
movq %rax, -0x88(%rbp)
movq -0x88(%rbp), %rax
addq $0x8, %rax
movq %rax, -0x80(%rbp)
movq -0x80(%rbp), %rax
movq (%rax), %rax
movq %rax, -0xdc0(%rbp)
leaq -0x200(%rbp), %rdi
callq 0x34b40
movq %rax, -0xdc8(%rbp)
jmp 0x21371
movq -0xdc8(%rbp), %rax
movq %rax, -0x90(%rbp)
movq -0x90(%rbp), %rax
addq $0x8, %rax
movq %rax, -0x78(%rbp)
movq -0x78(%rbp), %rax
movq (%rax), %rax
movq %rax, -0xdd0(%rbp)
movq -0xdd0(%rbp), %rcx
movq -0xdc0(%rbp), %rax
subq %rcx, %rax
sete %al
movb %al, -0xdd9(%rbp)
leaq -0x5e9(%rbp), %rdi
movq %rdi, -0xdd8(%rbp)
callq 0x33b0
movq -0xdd8(%rbp), %rdx
leaq 0x1bce6d(%rip), %rsi    # 0x1de244
leaq -0x5e8(%rbp), %rdi
callq 0x10a90
jmp 0x213e5
movb -0xdd9(%rbp), %al
movzbl %al, %esi
andl $0x1, %esi
leaq -0x5c8(%rbp), %rdi
leaq -0x5e8(%rbp), %rdx
callq 0x10f80
jmp 0x21406
leaq 0x1bb3d8(%rip), %rsi    # 0x1dc7e5
leaq -0x5c8(%rbp), %rdi
callq 0x34320
movq %rax, -0xde8(%rbp)
jmp 0x21422
movq -0xde8(%rbp), %rdi
leaq 0x1bce43(%rip), %rsi    # 0x1de273
callq 0x34ba0
movq %rax, -0xdf0(%rbp)
jmp 0x2143e
movq -0xdf0(%rbp), %rdi
leaq 0x1bf360(%rip), %rsi    # 0x1e07ac
callq 0x34320
movq %rax, -0xdf8(%rbp)
jmp 0x2145a
leaq -0x1b0(%rbp), %rdi
callq 0x34b20
movq %rax, -0xe00(%rbp)
jmp 0x2146f
movq -0xe00(%rbp), %rax
movq %rax, -0x98(%rbp)
movq -0x98(%rbp), %rax
addq $0x8, %rax
movq %rax, -0x70(%rbp)
movq -0x70(%rbp), %rax
movq (%rax), %rax
movq %rax, -0xe08(%rbp)
movq -0xdf8(%rbp), %rdi
movq -0xe08(%rbp), %rax
movq %rax, -0x5f8(%rbp)
leaq -0x5f8(%rbp), %rsi
callq 0x34510
movq %rax, -0xe10(%rbp)
jmp 0x214c4
movq -0xe10(%rbp), %rdi
leaq 0x1bb313(%rip), %rsi    # 0x1dc7e5
callq 0x34320
movq %rax, -0xe18(%rbp)
jmp 0x214e0
movq -0xe18(%rbp), %rdi
leaq 0x1bcd6f(%rip), %rsi    # 0x1de25d
callq 0x34ba0
movq %rax, -0xe20(%rbp)
jmp 0x214fc
movq -0xe20(%rbp), %rdi
leaq 0x1bf2a2(%rip), %rsi    # 0x1e07ac
callq 0x34320
movq %rax, -0xe28(%rbp)
jmp 0x21518
leaq -0x200(%rbp), %rdi
callq 0x34b40
movq %rax, -0xe30(%rbp)
jmp 0x2152d
movq -0xe30(%rbp), %rax
movq %rax, -0xa0(%rbp)
movq -0xa0(%rbp), %rax
addq $0x8, %rax
movq %rax, -0x68(%rbp)
movq -0x68(%rbp), %rax
movq (%rax), %rax
movq %rax, -0xe38(%rbp)
movq -0xe28(%rbp), %rdi
movq -0xe38(%rbp), %rax
movq %rax, -0x600(%rbp)
leaq -0x600(%rbp), %rsi
callq 0x34510
movq %rax, -0xe40(%rbp)
jmp 0x21582
movq -0xe40(%rbp), %rdi
leaq 0x1d4eeb(%rip), %rsi    # 0x1f647b
callq 0x34320
jmp 0x21597
leaq -0x5c8(%rbp), %rdi
callq 0x10ff0
jmp 0x215a5
leaq -0x5e8(%rbp), %rdi
callq 0x3100
leaq -0x5e9(%rbp), %rdi
callq 0x3290
leaq -0x1b0(%rbp), %rdi
callq 0x34be0
movq %rax, -0xe48(%rbp)
jmp 0x215d2
movq -0xe48(%rbp), %rax
movq %rax, -0xe8(%rbp)
movq -0xe8(%rbp), %rax
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
movq (%rax), %rax
movq %rax, -0xe50(%rbp)
leaq -0x200(%rbp), %rdi
callq 0x34c00
movq %rax, -0xe58(%rbp)
jmp 0x2160e
movq -0xe58(%rbp), %rax
movq %rax, -0xf0(%rbp)
movq -0xf0(%rbp), %rax
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rax
movq (%rax), %rax
movq %rax, -0xe60(%rbp)
movq -0xe60(%rbp), %rcx
movq -0xe50(%rbp), %rax
subq %rcx, %rax
sete %al
movb %al, -0xe69(%rbp)
leaq -0x7b1(%rbp), %rdi
movq %rdi, -0xe68(%rbp)
callq 0x33b0
movq -0xe68(%rbp), %rdx
leaq 0x1bcc19(%rip), %rsi    # 0x1de289
leaq -0x7b0(%rbp), %rdi
callq 0x10a90
jmp 0x2167e
movb -0xe69(%rbp), %al
movzbl %al, %esi
andl $0x1, %esi
leaq -0x790(%rbp), %rdi
leaq -0x7b0(%rbp), %rdx
callq 0x10f80
jmp 0x2169f
leaq 0x1bb13f(%rip), %rsi    # 0x1dc7e5
leaq -0x790(%rbp), %rdi
callq 0x34320
movq %rax, -0xe78(%rbp)
jmp 0x216bb
movq -0xe78(%rbp), %rdi
leaq 0x1bcbe9(%rip), %rsi    # 0x1de2b2
callq 0x34b60
movq %rax, -0xe80(%rbp)
jmp 0x216d7
movq -0xe80(%rbp), %rdi
leaq 0x1bf0c7(%rip), %rsi    # 0x1e07ac
callq 0x34320
movq %rax, -0xe88(%rbp)
jmp 0x216f3
leaq -0x1b0(%rbp), %rdi
callq 0x34be0
movq %rax, -0xe90(%rbp)
jmp 0x21708
movq -0xe90(%rbp), %rax
movq %rax, -0xf8(%rbp)
movq -0xf8(%rbp), %rax
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq (%rax), %rax
movq %rax, -0xe98(%rbp)
movq -0xe88(%rbp), %rdi
movq -0xe98(%rbp), %rax
movq %rax, -0x7c0(%rbp)
leaq -0x7c0(%rbp), %rsi
callq 0x34510
movq %rax, -0xea0(%rbp)
jmp 0x21759
movq -0xea0(%rbp), %rdi
leaq 0x1bb07e(%rip), %rsi    # 0x1dc7e5
callq 0x34320
movq %rax, -0xea8(%rbp)
jmp 0x21775
movq -0xea8(%rbp), %rdi
leaq 0x1bcb1c(%rip), %rsi    # 0x1de29f
callq 0x34b60
movq %rax, -0xeb0(%rbp)
jmp 0x21791
movq -0xeb0(%rbp), %rdi
leaq 0x1bf00d(%rip), %rsi    # 0x1e07ac
callq 0x34320
movq %rax, -0xeb8(%rbp)
jmp 0x217ad
leaq -0x200(%rbp), %rdi
callq 0x34c00
movq %rax, -0xec0(%rbp)
jmp 0x217c2
movq -0xec0(%rbp), %rax
movq %rax, -0x100(%rbp)
movq -0x100(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rax
movq %rax, -0xec8(%rbp)
movq -0xeb8(%rbp), %rdi
movq -0xec8(%rbp), %rax
movq %rax, -0x7c8(%rbp)
leaq -0x7c8(%rbp), %rsi
callq 0x34510
movq %rax, -0xed0(%rbp)
jmp 0x21813
movq -0xed0(%rbp), %rdi
leaq 0x1d4c5a(%rip), %rsi    # 0x1f647b
callq 0x34320
jmp 0x21828
leaq -0x790(%rbp), %rdi
callq 0x10ff0
jmp 0x21836
leaq -0x7b0(%rbp), %rdi
callq 0x3100
leaq -0x7b1(%rbp), %rdi
callq 0x3290
leaq -0x1b0(%rbp), %rdi
callq 0x34be0
movq %rax, -0xed8(%rbp)
jmp 0x21863
movq -0xed8(%rbp), %rax
movq %rax, -0xa8(%rbp)
movq -0xa8(%rbp), %rax
addq $0x8, %rax
movq %rax, -0x60(%rbp)
movq -0x60(%rbp), %rax
movq (%rax), %rax
movq %rax, -0xee0(%rbp)
leaq -0x200(%rbp), %rdi
callq 0x34c00
movq %rax, -0xee8(%rbp)
jmp 0x218a3
movq -0xee8(%rbp), %rax
movq %rax, -0xb0(%rbp)
movq -0xb0(%rbp), %rax
addq $0x8, %rax
movq %rax, -0x58(%rbp)
movq -0x58(%rbp), %rax
movq (%rax), %rax
movq %rax, -0xef0(%rbp)
movq -0xef0(%rbp), %rcx
movq -0xee0(%rbp), %rax
subq %rcx, %rax
sete %al
movb %al, -0xef9(%rbp)
leaq -0x979(%rbp), %rdi
movq %rdi, -0xef8(%rbp)
callq 0x33b0
movq -0xef8(%rbp), %rdx
leaq 0x1bc9bc(%rip), %rsi    # 0x1de2c5
leaq -0x978(%rbp), %rdi
callq 0x10a90
jmp 0x21917
movb -0xef9(%rbp), %al
movzbl %al, %esi
andl $0x1, %esi
leaq -0x958(%rbp), %rdi
leaq -0x978(%rbp), %rdx
callq 0x10f80
jmp 0x21938
leaq 0x1baea6(%rip), %rsi    # 0x1dc7e5
leaq -0x958(%rbp), %rdi
callq 0x34320
movq %rax, -0xf08(%rbp)
jmp 0x21954
movq -0xf08(%rbp), %rdi
leaq 0x1bc992(%rip), %rsi    # 0x1de2f4
callq 0x34ba0
movq %rax, -0xf10(%rbp)
jmp 0x21970
movq -0xf10(%rbp), %rdi
leaq 0x1bee2e(%rip), %rsi    # 0x1e07ac
callq 0x34320
movq %rax, -0xf18(%rbp)
jmp 0x2198c
leaq -0x1b0(%rbp), %rdi
callq 0x34be0
movq %rax, -0xf20(%rbp)
jmp 0x219a1
movq -0xf20(%rbp), %rax
movq %rax, -0xb8(%rbp)
movq -0xb8(%rbp), %rax
addq $0x8, %rax
movq %rax, -0x50(%rbp)
movq -0x50(%rbp), %rax
movq (%rax), %rax
movq %rax, -0xf28(%rbp)
movq -0xf18(%rbp), %rdi
movq -0xf28(%rbp), %rax
movq %rax, -0x988(%rbp)
leaq -0x988(%rbp), %rsi
callq 0x34510
movq %rax, -0xf30(%rbp)
jmp 0x219f6
movq -0xf30(%rbp), %rdi
leaq 0x1bade1(%rip), %rsi    # 0x1dc7e5
callq 0x34320
movq %rax, -0xf38(%rbp)
jmp 0x21a12
movq -0xf38(%rbp), %rdi
leaq 0x1bc8be(%rip), %rsi    # 0x1de2de
callq 0x34ba0
movq %rax, -0xf40(%rbp)
jmp 0x21a2e
movq -0xf40(%rbp), %rdi
leaq 0x1bed70(%rip), %rsi    # 0x1e07ac
callq 0x34320
movq %rax, -0xf48(%rbp)
jmp 0x21a4a
leaq -0x200(%rbp), %rdi
callq 0x34c00
movq %rax, -0xf50(%rbp)
jmp 0x21a5f
movq -0xf50(%rbp), %rax
movq %rax, -0xc0(%rbp)
movq -0xc0(%rbp), %rax
addq $0x8, %rax
movq %rax, -0x48(%rbp)
movq -0x48(%rbp), %rax
movq (%rax), %rax
movq %rax, -0xf58(%rbp)
movq -0xf48(%rbp), %rdi
movq -0xf58(%rbp), %rax
movq %rax, -0x990(%rbp)
leaq -0x990(%rbp), %rsi
callq 0x34510
movq %rax, -0xf60(%rbp)
jmp 0x21ab4
movq -0xf60(%rbp), %rdi
leaq 0x1d49b9(%rip), %rsi    # 0x1f647b
callq 0x34320
jmp 0x21ac9
leaq -0x958(%rbp), %rdi
callq 0x10ff0
jmp 0x21ad7
leaq -0x978(%rbp), %rdi
callq 0x3100
leaq -0x979(%rbp), %rdi
callq 0x3290
leaq -0x1b0(%rbp), %rdi
callq 0x34c20
movb %al, -0xf61(%rbp)
jmp 0x21b03
movb -0xf61(%rbp), %al
xorb $0x1, %al
movb %al, -0xf71(%rbp)
leaq -0xb41(%rbp), %rdi
movq %rdi, -0xf70(%rbp)
callq 0x33b0
movq -0xf70(%rbp), %rdx
leaq 0x1bc7d8(%rip), %rsi    # 0x1de30a
leaq -0xb40(%rbp), %rdi
callq 0x10a90
jmp 0x21b40
movb -0xf71(%rbp), %al
movzbl %al, %esi
andl $0x1, %esi
leaq -0xb20(%rbp), %rdi
leaq -0xb40(%rbp), %rdx
callq 0x10f80
jmp 0x21b61
leaq -0xb20(%rbp), %rdi
callq 0x10ff0
jmp 0x21b6f
leaq -0xb40(%rbp), %rdi
callq 0x3100
leaq -0xb41(%rbp), %rdi
callq 0x3290
leaq -0x200(%rbp), %rdi
callq 0x34c50
movb %al, -0xf72(%rbp)
jmp 0x21b9b
leaq -0xcf9(%rbp), %rdi
movq %rdi, -0xf80(%rbp)
callq 0x33b0
movq -0xf80(%rbp), %rdx
leaq 0x1bc760(%rip), %rsi    # 0x1de31c
leaq -0xcf8(%rbp), %rdi
callq 0x10a90
jmp 0x21bca
movb -0xf72(%rbp), %al
movzbl %al, %esi
andl $0x1, %esi
leaq -0xcd8(%rbp), %rdi
leaq -0xcf8(%rbp), %rdx
callq 0x10f80
jmp 0x21beb
leaq -0xcd8(%rbp), %rdi
callq 0x10ff0
jmp 0x21bf9
leaq -0xcf8(%rbp), %rdi
callq 0x3100
leaq -0xcf9(%rbp), %rdi
callq 0x3290
leaq -0x200(%rbp), %rdi
callq 0x34c80
leaq -0x1b0(%rbp), %rdi
callq 0x34950
addq $0xf80, %rsp            # imm = 0xF80
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x268(%rbp)
movl %eax, -0x26c(%rbp)
jmp 0x21e83
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x268(%rbp)
movl %eax, -0x26c(%rbp)
jmp 0x21e77
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x268(%rbp)
movl %eax, -0x26c(%rbp)
jmp 0x21cb6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x268(%rbp)
movl %eax, -0x26c(%rbp)
jmp 0x21caa
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x268(%rbp)
movl %eax, -0x26c(%rbp)
leaq -0x400(%rbp), %rdi
callq 0x10ff0
jmp 0x21ca8
jmp 0x21caa
leaq -0x420(%rbp), %rdi
callq 0x3100
leaq -0x421(%rbp), %rdi
callq 0x3290
jmp 0x21e77
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x268(%rbp)
movl %eax, -0x26c(%rbp)
jmp 0x21d1d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x268(%rbp)
movl %eax, -0x26c(%rbp)
jmp 0x21d11
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x268(%rbp)
movl %eax, -0x26c(%rbp)
leaq -0x5c8(%rbp), %rdi
callq 0x10ff0
jmp 0x21d0f
jmp 0x21d11
leaq -0x5e8(%rbp), %rdi
callq 0x3100
leaq -0x5e9(%rbp), %rdi
callq 0x3290
jmp 0x21e77
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x268(%rbp)
movl %eax, -0x26c(%rbp)
jmp 0x21d84
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x268(%rbp)
movl %eax, -0x26c(%rbp)
jmp 0x21d78
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x268(%rbp)
movl %eax, -0x26c(%rbp)
leaq -0x790(%rbp), %rdi
callq 0x10ff0
jmp 0x21d76
jmp 0x21d78
leaq -0x7b0(%rbp), %rdi
callq 0x3100
leaq -0x7b1(%rbp), %rdi
callq 0x3290
jmp 0x21e77
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x268(%rbp)
movl %eax, -0x26c(%rbp)
jmp 0x21deb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x268(%rbp)
movl %eax, -0x26c(%rbp)
jmp 0x21ddf
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x268(%rbp)
movl %eax, -0x26c(%rbp)
leaq -0x958(%rbp), %rdi
callq 0x10ff0
jmp 0x21ddd
jmp 0x21ddf
leaq -0x978(%rbp), %rdi
callq 0x3100
leaq -0x979(%rbp), %rdi
callq 0x3290
jmp 0x21e77
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x268(%rbp)
movl %eax, -0x26c(%rbp)
jmp 0x21e2b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x268(%rbp)
movl %eax, -0x26c(%rbp)
leaq -0xb40(%rbp), %rdi
callq 0x3100
leaq -0xb41(%rbp), %rdi
callq 0x3290
jmp 0x21e77
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x268(%rbp)
movl %eax, -0x26c(%rbp)
jmp 0x21e6b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x268(%rbp)
movl %eax, -0x26c(%rbp)
leaq -0xcf8(%rbp), %rdi
callq 0x3100
leaq -0xcf9(%rbp), %rdi
callq 0x3290
leaq -0x200(%rbp), %rdi
callq 0x34c80
leaq -0x1b0(%rbp), %rdi
callq 0x34950
movq -0x268(%rbp), %rdi
callq 0x33a0
movq %rax, %rdi
callq 0x116d0
nopw %cs:(%rax,%rax)