// File: dsharlet[P]array/test/shape.cpp
// Function: nda::test_shape_2d_negative_stride_body()
TEST(shape_2d_negative_stride) {
  dense_dim<> x(0, 10);
  dim<> y(0, 5, -x.extent());
  shape<dense_dim<>, dim<>> s(x, y);
  index_t flat_min = s[s.min()];
  index_t flat_max = flat_min;
  for (int i : y) {
    for (int j : x) {
      ASSERT_EQ(s(j, i), i * -x.extent() + j);
      flat_min = std::min(s(j, i), flat_min);
      flat_max = std::max(s(j, i), flat_max);
    }
  }
  ASSERT_EQ(s.size(), 50);
  ASSERT_EQ(s.flat_extent(), 50);
  ASSERT_EQ(s.flat_min(), flat_min);
  ASSERT_EQ(s.flat_max(), flat_max);

  shape_of_rank<3> s2(10, 5, {0, 3, -1});
  s2.resolve();
  ASSERT_EQ(s2.x().stride(), 3);
  ASSERT_EQ(s2.y().stride(), 30);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x1130, %rsp           # imm = 0x1130
leaq -0xc8(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
movl $0xa, %edx
movl $0x1, %ecx
callq 0x16d70
leaq -0xc8(%rbp), %rax
movq %rax, -0x60(%rbp)
movq -0x60(%rbp), %rax
addq $0x8, %rax
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rax
xorl %ecx, %ecx
subq (%rax), %rcx
leaq -0xe0(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
movl $0x5, %edx
callq 0x10c60
leaq -0x110(%rbp), %rdi
leaq -0xc8(%rbp), %rsi
leaq -0xe0(%rbp), %rdx
callq 0x349d0
leaq -0x128(%rbp), %rdi
leaq -0x110(%rbp), %rsi
callq 0x3dd10
leaq -0x110(%rbp), %rdi
leaq -0x128(%rbp), %rsi
callq 0x4a4e0
movq %rax, -0x118(%rbp)
movq -0x118(%rbp), %rax
movq %rax, -0x130(%rbp)
leaq -0xe0(%rbp), %rax
movq %rax, -0x138(%rbp)
movq -0x138(%rbp), %rdi
callq 0x366c0
movq %rax, -0x140(%rbp)
movq -0x138(%rbp), %rdi
callq 0x366f0
movq %rax, -0x148(%rbp)
leaq -0x140(%rbp), %rax
movq %rax, -0x98(%rbp)
leaq -0x148(%rbp), %rax
movq %rax, -0xa0(%rbp)
movq -0x98(%rbp), %rax
movq (%rax), %rax
movq -0xa0(%rbp), %rcx
cmpq (%rcx), %rax
je 0x17a568
leaq -0x140(%rbp), %rax
movq %rax, -0x88(%rbp)
movq -0x88(%rbp), %rax
movq (%rax), %rax
movl %eax, -0x14c(%rbp)
leaq -0xc8(%rbp), %rax
movq %rax, -0x158(%rbp)
movq -0x158(%rbp), %rdi
callq 0x366c0
movq %rax, -0x160(%rbp)
movq -0x158(%rbp), %rdi
callq 0x366f0
movq %rax, -0x168(%rbp)
leaq -0x160(%rbp), %rax
movq %rax, -0xa8(%rbp)
leaq -0x168(%rbp), %rax
movq %rax, -0xb0(%rbp)
movq -0xa8(%rbp), %rax
movq (%rax), %rax
movq -0xb0(%rbp), %rcx
cmpq (%rcx), %rax
je 0x17a548
leaq -0x160(%rbp), %rax
movq %rax, -0x90(%rbp)
movq -0x90(%rbp), %rax
movl (%rax), %eax
movl %eax, -0x16c(%rbp)
movl -0x16c(%rbp), %esi
movl -0x14c(%rbp), %edx
leaq -0x110(%rbp), %rdi
callq 0x404d0
movslq -0x14c(%rbp), %rcx
leaq -0xc8(%rbp), %rdx
movq %rdx, -0x68(%rbp)
movq -0x68(%rbp), %rdx
addq $0x8, %rdx
movq %rdx, -0x10(%rbp)
movq -0x10(%rbp), %rdx
movq (%rdx), %rdx
negq %rdx
imulq %rdx, %rcx
movslq -0x16c(%rbp), %rdx
addq %rdx, %rcx
subq %rcx, %rax
sete %al
movb %al, -0xe91(%rbp)
leaq -0x321(%rbp), %rdi
movq %rdi, -0xe90(%rbp)
callq 0x33b0
movq -0xe90(%rbp), %rdx
leaq 0x81090(%rip), %rsi     # 0x1fb309
leaq -0x320(%rbp), %rdi
callq 0x10a90
jmp 0x17a287
movb -0xe91(%rbp), %al
movzbl %al, %esi
andl $0x1, %esi
leaq -0x300(%rbp), %rdi
leaq -0x320(%rbp), %rdx
callq 0x10f80
jmp 0x17a2a8
leaq 0x62536(%rip), %rsi     # 0x1dc7e5
leaq -0x300(%rbp), %rdi
callq 0x34320
movq %rax, -0xea0(%rbp)
jmp 0x17a2c4
movq -0xea0(%rbp), %rdi
leaq 0x81016(%rip), %rsi     # 0x1fb2e8
callq 0x34600
movq %rax, -0xea8(%rbp)
jmp 0x17a2e0
movq -0xea8(%rbp), %rdi
leaq 0x664be(%rip), %rsi     # 0x1e07ac
callq 0x34320
movq %rax, -0xeb0(%rbp)
jmp 0x17a2fc
movl -0x16c(%rbp), %esi
movl -0x14c(%rbp), %edx
leaq -0x110(%rbp), %rdi
callq 0x404d0
movq %rax, -0xeb8(%rbp)
jmp 0x17a31d
movq -0xeb0(%rbp), %rdi
movq -0xeb8(%rbp), %rax
movq %rax, -0x340(%rbp)
leaq -0x340(%rbp), %rsi
callq 0x34510
movq %rax, -0xec0(%rbp)
jmp 0x17a347
movq -0xec0(%rbp), %rdi
leaq 0x62490(%rip), %rsi     # 0x1dc7e5
callq 0x34320
movq %rax, -0xec8(%rbp)
jmp 0x17a363
movq -0xec8(%rbp), %rdi
leaq 0x80fa3(%rip), %rsi     # 0x1fb314
callq 0x35580
movq %rax, -0xed0(%rbp)
jmp 0x17a37f
movq -0xed0(%rbp), %rdi
leaq 0x6641f(%rip), %rsi     # 0x1e07ac
callq 0x34320
movq %rax, -0xed8(%rbp)
jmp 0x17a39b
movslq -0x14c(%rbp), %rax
movq %rax, -0xee8(%rbp)
leaq -0xc8(%rbp), %rax
movq %rax, -0x70(%rbp)
movq -0x70(%rbp), %rax
addq $0x8, %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rax
movq %rax, -0xee0(%rbp)
movq -0xed8(%rbp), %rdi
movq -0xee8(%rbp), %rax
movq -0xee0(%rbp), %rcx
negq %rcx
imulq %rcx, %rax
movslq -0x16c(%rbp), %rcx
addq %rcx, %rax
movq %rax, -0x348(%rbp)
leaq -0x348(%rbp), %rsi
callq 0x34510
movq %rax, -0xef0(%rbp)
jmp 0x17a410
movq -0xef0(%rbp), %rdi
leaq 0x7c05d(%rip), %rsi     # 0x1f647b
callq 0x34320
jmp 0x17a425
leaq -0x300(%rbp), %rdi
callq 0x10ff0
jmp 0x17a433
leaq -0x320(%rbp), %rdi
callq 0x3100
leaq -0x321(%rbp), %rdi
callq 0x3290
movl -0x16c(%rbp), %esi
movl -0x14c(%rbp), %edx
leaq -0x110(%rbp), %rdi
callq 0x404d0
movq %rax, -0x350(%rbp)
leaq -0x350(%rbp), %rdi
leaq -0x118(%rbp), %rsi
callq 0x18a130
movq (%rax), %rax
movq %rax, -0x118(%rbp)
movl -0x16c(%rbp), %esi
movl -0x14c(%rbp), %edx
leaq -0x110(%rbp), %rdi
callq 0x404d0
movq %rax, -0x358(%rbp)
leaq -0x358(%rbp), %rdi
leaq -0x130(%rbp), %rsi
callq 0x18a170
movq (%rax), %rax
movq %rax, -0x130(%rbp)
leaq -0x160(%rbp), %rax
movq %rax, -0x78(%rbp)
movq -0x78(%rbp), %rax
movq (%rax), %rcx
addq $0x1, %rcx
movq %rcx, (%rax)
jmp 0x17a1ab
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x330(%rbp)
movl %eax, -0x334(%rbp)
jmp 0x17a537
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x330(%rbp)
movl %eax, -0x334(%rbp)
jmp 0x17a52b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x330(%rbp)
movl %eax, -0x334(%rbp)
leaq -0x300(%rbp), %rdi
callq 0x10ff0
jmp 0x17a529
jmp 0x17a52b
leaq -0x320(%rbp), %rdi
callq 0x3100
leaq -0x321(%rbp), %rdi
callq 0x3290
jmp 0x17b2f0
jmp 0x17a54a
leaq -0x140(%rbp), %rax
movq %rax, -0x80(%rbp)
movq -0x80(%rbp), %rax
movq (%rax), %rcx
addq $0x1, %rcx
movq %rcx, (%rax)
jmp 0x17a123
leaq -0x110(%rbp), %rdi
callq 0x3d480
subq $0x32, %rax
sete %al
movb %al, -0xef9(%rbp)
leaq -0x509(%rbp), %rdi
movq %rdi, -0xef8(%rbp)
callq 0x33b0
movq -0xef8(%rbp), %rdx
leaq 0x80d86(%rip), %rsi     # 0x1fb328
leaq -0x508(%rbp), %rdi
callq 0x10a90
jmp 0x17a5b0
movb -0xef9(%rbp), %al
movzbl %al, %esi
andl $0x1, %esi
leaq -0x4e8(%rbp), %rdi
leaq -0x508(%rbp), %rdx
callq 0x10f80
jmp 0x17a5d1
leaq 0x6220d(%rip), %rsi     # 0x1dc7e5
leaq -0x4e8(%rbp), %rdi
callq 0x34320
movq %rax, -0xf08(%rbp)
jmp 0x17a5ed
movq -0xf08(%rbp), %rdi
leaq 0x80c71(%rip), %rsi     # 0x1fb26c
callq 0x36600
movq %rax, -0xf10(%rbp)
jmp 0x17a609
movq -0xf10(%rbp), %rdi
leaq 0x66195(%rip), %rsi     # 0x1e07ac
callq 0x34320
movq %rax, -0xf18(%rbp)
jmp 0x17a625
leaq -0x110(%rbp), %rdi
callq 0x3d480
movq %rax, -0xf20(%rbp)
jmp 0x17a63a
movq -0xf18(%rbp), %rdi
movq -0xf20(%rbp), %rax
movq %rax, -0x518(%rbp)
leaq -0x518(%rbp), %rsi
callq 0x355c0
movq %rax, -0xf28(%rbp)
jmp 0x17a664
movq -0xf28(%rbp), %rdi
leaq 0x62173(%rip), %rsi     # 0x1dc7e5
callq 0x34320
movq %rax, -0xf30(%rbp)
jmp 0x17a680
movq -0xf30(%rbp), %rdi
leaq 0x80ca6(%rip), %rsi     # 0x1fb334
callq 0x34840
movq %rax, -0xf38(%rbp)
jmp 0x17a69c
movq -0xf38(%rbp), %rdi
leaq 0x66102(%rip), %rsi     # 0x1e07ac
callq 0x34320
movq %rax, -0xf40(%rbp)
jmp 0x17a6b8
movq -0xf40(%rbp), %rdi
movl $0x32, -0x51c(%rbp)
leaq -0x51c(%rbp), %rsi
callq 0x343a0
movq %rax, -0xf48(%rbp)
jmp 0x17a6de
movq -0xf48(%rbp), %rdi
leaq 0x7bd8f(%rip), %rsi     # 0x1f647b
callq 0x34320
jmp 0x17a6f3
leaq -0x4e8(%rbp), %rdi
callq 0x10ff0
jmp 0x17a701
leaq -0x508(%rbp), %rdi
callq 0x3100
leaq -0x509(%rbp), %rdi
callq 0x3290
leaq -0x110(%rbp), %rdi
callq 0x3ccc0
subq $0x32, %rax
sete %al
movb %al, -0xf51(%rbp)
leaq -0x6d1(%rbp), %rdi
movq %rdi, -0xf50(%rbp)
callq 0x33b0
movq -0xf50(%rbp), %rdx
leaq 0x80be4(%rip), %rsi     # 0x1fb337
leaq -0x6d0(%rbp), %rdi
callq 0x10a90
jmp 0x17a761
movb -0xf51(%rbp), %al
movzbl %al, %esi
andl $0x1, %esi
leaq -0x6b0(%rbp), %rdi
leaq -0x6d0(%rbp), %rdx
callq 0x10f80
jmp 0x17a782
leaq 0x6205c(%rip), %rsi     # 0x1dc7e5
leaq -0x6b0(%rbp), %rdi
callq 0x34320
movq %rax, -0xf60(%rbp)
jmp 0x17a79e
movq -0xf60(%rbp), %rdi
leaq 0x80aa2(%rip), %rsi     # 0x1fb24e
callq 0x969a0
movq %rax, -0xf68(%rbp)
jmp 0x17a7ba
movq -0xf68(%rbp), %rdi
leaq 0x65fe4(%rip), %rsi     # 0x1e07ac
callq 0x34320
movq %rax, -0xf70(%rbp)
jmp 0x17a7d6
leaq -0x110(%rbp), %rdi
callq 0x3ccc0
movq %rax, -0xf78(%rbp)
jmp 0x17a7eb
movq -0xf70(%rbp), %rdi
movq -0xf78(%rbp), %rax
movq %rax, -0x6e0(%rbp)
leaq -0x6e0(%rbp), %rsi
callq 0x355c0
movq %rax, -0xf80(%rbp)
jmp 0x17a815
movq -0xf80(%rbp), %rdi
leaq 0x61fc2(%rip), %rsi     # 0x1dc7e5
callq 0x34320
movq %rax, -0xf88(%rbp)
jmp 0x17a831
movq -0xf88(%rbp), %rdi
leaq 0x80af5(%rip), %rsi     # 0x1fb334
callq 0x34840
movq %rax, -0xf90(%rbp)
jmp 0x17a84d
movq -0xf90(%rbp), %rdi
leaq 0x65f51(%rip), %rsi     # 0x1e07ac
callq 0x34320
movq %rax, -0xf98(%rbp)
jmp 0x17a869
movq -0xf98(%rbp), %rdi
movl $0x32, -0x6e4(%rbp)
leaq -0x6e4(%rbp), %rsi
callq 0x343a0
movq %rax, -0xfa0(%rbp)
jmp 0x17a88f
movq -0xfa0(%rbp), %rdi
leaq 0x7bbde(%rip), %rsi     # 0x1f647b
callq 0x34320
jmp 0x17a8a4
leaq -0x6b0(%rbp), %rdi
callq 0x10ff0
jmp 0x17a8b2
leaq -0x6d0(%rbp), %rdi
callq 0x3100
leaq -0x6d1(%rbp), %rdi
callq 0x3290
leaq -0x110(%rbp), %rdi
callq 0x3cd20
movq -0x118(%rbp), %rcx
subq %rcx, %rax
sete %al
movb %al, -0xfa9(%rbp)
leaq -0x899(%rbp), %rdi
movq %rdi, -0xfa8(%rbp)
callq 0x33b0
movq -0xfa8(%rbp), %rdx
leaq 0x80a43(%rip), %rsi     # 0x1fb34d
leaq -0x898(%rbp), %rdi
callq 0x10a90
jmp 0x17a918
movb -0xfa9(%rbp), %al
movzbl %al, %esi
andl $0x1, %esi
leaq -0x878(%rbp), %rdi
leaq -0x898(%rbp), %rdx
callq 0x10f80
jmp 0x17a939
leaq 0x61ea5(%rip), %rsi     # 0x1dc7e5
leaq -0x878(%rbp), %rdi
callq 0x34320
movq %rax, -0xfb8(%rbp)
jmp 0x17a955
movq -0xfb8(%rbp), %rdi
leaq 0x80a03(%rip), %rsi     # 0x1fb366
callq 0x346f0
movq %rax, -0xfc0(%rbp)
jmp 0x17a971
movq -0xfc0(%rbp), %rdi
leaq 0x65e2d(%rip), %rsi     # 0x1e07ac
callq 0x34320
movq %rax, -0xfc8(%rbp)
jmp 0x17a98d
leaq -0x110(%rbp), %rdi
callq 0x3cd20
movq %rax, -0xfd0(%rbp)
jmp 0x17a9a2
movq -0xfc8(%rbp), %rdi
movq -0xfd0(%rbp), %rax
movq %rax, -0x8a8(%rbp)
leaq -0x8a8(%rbp), %rsi
callq 0x34510
movq %rax, -0xfd8(%rbp)
jmp 0x17a9cc
movq -0xfd8(%rbp), %rdi
leaq 0x61e0b(%rip), %rsi     # 0x1dc7e5
callq 0x34320
movq %rax, -0xfe0(%rbp)
jmp 0x17a9e8
movq -0xfe0(%rbp), %rdi
leaq 0x80967(%rip), %rsi     # 0x1fb35d
callq 0x36600
movq %rax, -0xfe8(%rbp)
jmp 0x17aa04
movq -0xfe8(%rbp), %rdi
leaq 0x65d9a(%rip), %rsi     # 0x1e07ac
callq 0x34320
movq %rax, -0xff0(%rbp)
jmp 0x17aa20
movq -0xff0(%rbp), %rdi
leaq -0x118(%rbp), %rsi
callq 0x34510
movq %rax, -0xff8(%rbp)
jmp 0x17aa3c
movq -0xff8(%rbp), %rdi
leaq 0x7ba31(%rip), %rsi     # 0x1f647b
callq 0x34320
jmp 0x17aa51
leaq -0x878(%rbp), %rdi
callq 0x10ff0
jmp 0x17aa5f
leaq -0x898(%rbp), %rdi
callq 0x3100
leaq -0x899(%rbp), %rdi
callq 0x3290
leaq -0x110(%rbp), %rdi
callq 0x3d1c0
movq -0x130(%rbp), %rcx
subq %rcx, %rax
sete %al
movb %al, -0x1001(%rbp)
leaq -0xa59(%rbp), %rdi
movq %rdi, -0x1000(%rbp)
callq 0x33b0
movq -0x1000(%rbp), %rdx
leaq 0x808bc(%rip), %rsi     # 0x1fb373
leaq -0xa58(%rbp), %rdi
callq 0x10a90
jmp 0x17aac5
movb -0x1001(%rbp), %al
movzbl %al, %esi
andl $0x1, %esi
leaq -0xa38(%rbp), %rdi
leaq -0xa58(%rbp), %rdx
callq 0x10f80
jmp 0x17aae6
leaq 0x61cf8(%rip), %rsi     # 0x1dc7e5
leaq -0xa38(%rbp), %rdi
callq 0x34320
movq %rax, -0x1010(%rbp)
jmp 0x17ab02
movq -0x1010(%rbp), %rdi
leaq 0x8087c(%rip), %rsi     # 0x1fb38c
callq 0x346f0
movq %rax, -0x1018(%rbp)
jmp 0x17ab1e
movq -0x1018(%rbp), %rdi
leaq 0x65c80(%rip), %rsi     # 0x1e07ac
callq 0x34320
movq %rax, -0x1020(%rbp)
jmp 0x17ab3a
leaq -0x110(%rbp), %rdi
callq 0x3d1c0
movq %rax, -0x1028(%rbp)
jmp 0x17ab4f
movq -0x1020(%rbp), %rdi
movq -0x1028(%rbp), %rax
movq %rax, -0xa68(%rbp)
leaq -0xa68(%rbp), %rsi
callq 0x34510
movq %rax, -0x1030(%rbp)
jmp 0x17ab79
movq -0x1030(%rbp), %rdi
leaq 0x61c5e(%rip), %rsi     # 0x1dc7e5
callq 0x34320
movq %rax, -0x1038(%rbp)
jmp 0x17ab95
movq -0x1038(%rbp), %rdi
leaq 0x807e0(%rip), %rsi     # 0x1fb383
callq 0x36600
movq %rax, -0x1040(%rbp)
jmp 0x17abb1
movq -0x1040(%rbp), %rdi
leaq 0x65bed(%rip), %rsi     # 0x1e07ac
callq 0x34320
movq %rax, -0x1048(%rbp)
jmp 0x17abcd
movq -0x1048(%rbp), %rdi
leaq -0x130(%rbp), %rsi
callq 0x34510
movq %rax, -0x1050(%rbp)
jmp 0x17abe9
movq -0x1050(%rbp), %rdi
leaq 0x7b884(%rip), %rsi     # 0x1f647b
callq 0x34320
jmp 0x17abfe
leaq -0xa38(%rbp), %rdi
callq 0x10ff0
jmp 0x17ac0c
leaq -0xa58(%rbp), %rdi
callq 0x3100
leaq -0xa59(%rbp), %rdi
callq 0x3290
leaq -0xac8(%rbp), %rdi
movq %rdi, -0x1080(%rbp)
movl $0xa, %esi
callq 0x10c20
leaq -0xae0(%rbp), %rdi
movq %rdi, -0x1078(%rbp)
movl $0x5, %esi
callq 0x10c20
xorl %eax, %eax
movl %eax, %esi
leaq -0xaf8(%rbp), %rdi
movq %rdi, -0x1070(%rbp)
movl $0x3, %edx
movq $-0x1, %rcx
callq 0x10c60
movq -0x1080(%rbp), %rsi
movq -0x1078(%rbp), %rdx
movq -0x1070(%rbp), %rcx
leaq -0xab0(%rbp), %rdi
movq %rdi, -0x1068(%rbp)
callq 0x36640
movq -0x1068(%rbp), %rdi
callq 0x378e0
movq -0x1068(%rbp), %rdi
callq 0x36ef0
movq %rax, -0x40(%rbp)
movq -0x40(%rbp), %rax
addq $0x10, %rax
movq %rax, -0x38(%rbp)
movq -0x38(%rbp), %rax
movq (%rax), %rax
subq $0x3, %rax
sete %al
movb %al, -0x1059(%rbp)
leaq -0xca9(%rbp), %rdi
movq %rdi, -0x1058(%rbp)
callq 0x33b0
movq -0x1058(%rbp), %rdx
leaq 0x8069d(%rip), %rsi     # 0x1fb399
leaq -0xca8(%rbp), %rdi
callq 0x10a90
jmp 0x17ad0a
movb -0x1059(%rbp), %al
movzbl %al, %esi
andl $0x1, %esi
leaq -0xc88(%rbp), %rdi
leaq -0xca8(%rbp), %rdx
callq 0x10f80
jmp 0x17ad2b
leaq 0x61ab3(%rip), %rsi     # 0x1dc7e5
leaq -0xc88(%rbp), %rdi
callq 0x34320
movq %rax, -0x1088(%rbp)
jmp 0x17ad47
movq -0x1088(%rbp), %rdi
leaq 0x80659(%rip), %rsi     # 0x1fb3ae
callq 0x969a0
movq %rax, -0x1090(%rbp)
jmp 0x17ad63
movq -0x1090(%rbp), %rdi
leaq 0x65a3b(%rip), %rsi     # 0x1e07ac
callq 0x34320
movq %rax, -0x1098(%rbp)
jmp 0x17ad7f
leaq -0xab0(%rbp), %rdi
callq 0x36ef0
movq %rax, -0x10a0(%rbp)
jmp 0x17ad94
movq -0x10a0(%rbp), %rax
movq %rax, -0x48(%rbp)
movq -0x48(%rbp), %rax
addq $0x10, %rax
movq %rax, -0x30(%rbp)
movq -0x30(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x10a8(%rbp)
movq -0x1098(%rbp), %rdi
movq -0x10a8(%rbp), %rax
movq %rax, -0xcb8(%rbp)
leaq -0xcb8(%rbp), %rsi
callq 0x34510
movq %rax, -0x10b0(%rbp)
jmp 0x17ade3
movq -0x10b0(%rbp), %rdi
leaq 0x619f4(%rip), %rsi     # 0x1dc7e5
callq 0x34320
movq %rax, -0x10b8(%rbp)
jmp 0x17adff
movq -0x10b8(%rbp), %rdi
leaq 0x6c44d(%rip), %rsi     # 0x1e725a
callq 0x34320
movq %rax, -0x10c0(%rbp)
jmp 0x17ae1b
movq -0x10c0(%rbp), %rdi
leaq 0x65983(%rip), %rsi     # 0x1e07ac
callq 0x34320
movq %rax, -0x10c8(%rbp)
jmp 0x17ae37
movq -0x10c8(%rbp), %rdi
movl $0x3, -0xcbc(%rbp)
leaq -0xcbc(%rbp), %rsi
callq 0x343a0
movq %rax, -0x10d0(%rbp)
jmp 0x17ae5d
movq -0x10d0(%rbp), %rdi
leaq 0x7b610(%rip), %rsi     # 0x1f647b
callq 0x34320
jmp 0x17ae72
leaq -0xc88(%rbp), %rdi
callq 0x10ff0
jmp 0x17ae80
leaq -0xca8(%rbp), %rdi
callq 0x3100
leaq -0xca9(%rbp), %rdi
callq 0x3290
leaq -0xab0(%rbp), %rdi
callq 0x36f10
movq %rax, -0x50(%rbp)
movq -0x50(%rbp), %rax
addq $0x10, %rax
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
movq (%rax), %rax
subq $0x1e, %rax
sete %al
movb %al, -0x10d9(%rbp)
leaq -0xe71(%rbp), %rdi
movq %rdi, -0x10d8(%rbp)
callq 0x33b0
movq -0x10d8(%rbp), %rdx
leaq 0x804d5(%rip), %rsi     # 0x1fb3be
leaq -0xe70(%rbp), %rdi
callq 0x10a90
jmp 0x17aef7
movb -0x10d9(%rbp), %al
movzbl %al, %esi
andl $0x1, %esi
leaq -0xe50(%rbp), %rdi
leaq -0xe70(%rbp), %rdx
callq 0x10f80
jmp 0x17af18
leaq 0x618c6(%rip), %rsi     # 0x1dc7e5
leaq -0xe50(%rbp), %rdi
callq 0x34320
movq %rax, -0x10e8(%rbp)
jmp 0x17af34
movq -0x10e8(%rbp), %rdi
leaq 0x80492(%rip), %rsi     # 0x1fb3d4
callq 0x969a0
movq %rax, -0x10f0(%rbp)
jmp 0x17af50
movq -0x10f0(%rbp), %rdi
leaq 0x6584e(%rip), %rsi     # 0x1e07ac
callq 0x34320
movq %rax, -0x10f8(%rbp)
jmp 0x17af6c
leaq -0xab0(%rbp), %rdi
callq 0x36f10
movq %rax, -0x1100(%rbp)
jmp 0x17af81
movq -0x1100(%rbp), %rax
movq %rax, -0x58(%rbp)
movq -0x58(%rbp), %rax
addq $0x10, %rax
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x1108(%rbp)
movq -0x10f8(%rbp), %rdi
movq -0x1108(%rbp), %rax
movq %rax, -0xe80(%rbp)
leaq -0xe80(%rbp), %rsi
callq 0x34510
movq %rax, -0x1110(%rbp)
jmp 0x17afd0
movq -0x1110(%rbp), %rdi
leaq 0x61807(%rip), %rsi     # 0x1dc7e5
callq 0x34320
movq %rax, -0x1118(%rbp)
jmp 0x17afec
movq -0x1118(%rbp), %rdi
leaq 0x803d7(%rip), %rsi     # 0x1fb3d1
callq 0x34840
movq %rax, -0x1120(%rbp)
jmp 0x17b008
movq -0x1120(%rbp), %rdi
leaq 0x65796(%rip), %rsi     # 0x1e07ac
callq 0x34320
movq %rax, -0x1128(%rbp)
jmp 0x17b024
movq -0x1128(%rbp), %rdi
movl $0x1e, -0xe84(%rbp)
leaq -0xe84(%rbp), %rsi
callq 0x343a0
movq %rax, -0x1130(%rbp)
jmp 0x17b04a
movq -0x1130(%rbp), %rdi
leaq 0x7b423(%rip), %rsi     # 0x1f647b
callq 0x34320
jmp 0x17b05f
leaq -0xe50(%rbp), %rdi
callq 0x10ff0
jmp 0x17b06d
leaq -0xe70(%rbp), %rdi
callq 0x3100
leaq -0xe71(%rbp), %rdi
callq 0x3290
addq $0x1130, %rsp           # imm = 0x1130
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x330(%rbp)
movl %eax, -0x334(%rbp)
jmp 0x17b0e4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x330(%rbp)
movl %eax, -0x334(%rbp)
jmp 0x17b0d8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x330(%rbp)
movl %eax, -0x334(%rbp)
leaq -0x4e8(%rbp), %rdi
callq 0x10ff0
jmp 0x17b0d6
jmp 0x17b0d8
leaq -0x508(%rbp), %rdi
callq 0x3100
leaq -0x509(%rbp), %rdi
callq 0x3290
jmp 0x17b2f0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x330(%rbp)
movl %eax, -0x334(%rbp)
jmp 0x17b14b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x330(%rbp)
movl %eax, -0x334(%rbp)
jmp 0x17b13f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x330(%rbp)
movl %eax, -0x334(%rbp)
leaq -0x6b0(%rbp), %rdi
callq 0x10ff0
jmp 0x17b13d
jmp 0x17b13f
leaq -0x6d0(%rbp), %rdi
callq 0x3100
leaq -0x6d1(%rbp), %rdi
callq 0x3290
jmp 0x17b2f0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x330(%rbp)
movl %eax, -0x334(%rbp)
jmp 0x17b1b2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x330(%rbp)
movl %eax, -0x334(%rbp)
jmp 0x17b1a6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x330(%rbp)
movl %eax, -0x334(%rbp)
leaq -0x878(%rbp), %rdi
callq 0x10ff0
jmp 0x17b1a4
jmp 0x17b1a6
leaq -0x898(%rbp), %rdi
callq 0x3100
leaq -0x899(%rbp), %rdi
callq 0x3290
jmp 0x17b2f0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x330(%rbp)
movl %eax, -0x334(%rbp)
jmp 0x17b219
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x330(%rbp)
movl %eax, -0x334(%rbp)
jmp 0x17b20d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x330(%rbp)
movl %eax, -0x334(%rbp)
leaq -0xa38(%rbp), %rdi
callq 0x10ff0
jmp 0x17b20b
jmp 0x17b20d
leaq -0xa58(%rbp), %rdi
callq 0x3100
leaq -0xa59(%rbp), %rdi
callq 0x3290
jmp 0x17b2f0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x330(%rbp)
movl %eax, -0x334(%rbp)
jmp 0x17b280
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x330(%rbp)
movl %eax, -0x334(%rbp)
jmp 0x17b274
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x330(%rbp)
movl %eax, -0x334(%rbp)
leaq -0xc88(%rbp), %rdi
callq 0x10ff0
jmp 0x17b272
jmp 0x17b274
leaq -0xca8(%rbp), %rdi
callq 0x3100
leaq -0xca9(%rbp), %rdi
callq 0x3290
jmp 0x17b2f0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x330(%rbp)
movl %eax, -0x334(%rbp)
jmp 0x17b2e4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x330(%rbp)
movl %eax, -0x334(%rbp)
jmp 0x17b2d8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x330(%rbp)
movl %eax, -0x334(%rbp)
leaq -0xe50(%rbp), %rdi
callq 0x10ff0
jmp 0x17b2d6
jmp 0x17b2d8
leaq -0xe70(%rbp), %rdi
callq 0x3100
leaq -0xe71(%rbp), %rdi
callq 0x3290
movq -0x330(%rbp), %rdi
callq 0x33a0
movq %rax, %rdi
callq 0x116d0
nopw %cs:(%rax,%rax)