// File: dsharlet[P]array/test/array_lifetime.cpp
// Function: void nda::test_swap_lifetime<std::allocator<nda::lifetime_counter>>(bool)
void test_swap_lifetime(bool alloc_movable = true) {
  lifetime_array<Alloc> a(lifetime_shape);
  lifetime_array<Alloc> b({static_cast<index_t>(lifetime_shape.size()), 1});
  lifetime_counter::reset();
  swap(a, b);
  if (alloc_movable) {
    ASSERT_EQ(lifetime_counter::constructs(), 0);
    ASSERT_EQ(lifetime_counter::assigns(), 0);
    ASSERT_EQ(lifetime_counter::copies(), 0);
    ASSERT_EQ(lifetime_counter::moves(), 0);
  } else {
    ASSERT_EQ(lifetime_counter::default_constructs, 0);
    ASSERT_EQ(lifetime_counter::copy_constructs, 0);
    ASSERT_EQ(lifetime_counter::moves(), lifetime_shape.size() * 3);
  }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xfc0, %rsp            # imm = 0xFC0
movb %dil, %al
andb $0x1, %al
movb %al, -0x1(%rbp)
leaq 0x21a0fe(%rip), %rsi    # 0x292258
movq %rsi, -0xd50(%rbp)
leaq -0x58(%rbp), %rdi
callq 0x7f7e0
movq -0xd50(%rbp), %rdi
callq 0x1a900
movq %rax, -0xd48(%rbp)
jmp 0x7817f
movq -0xd48(%rbp), %rsi
leaq -0xd8(%rbp), %rdi
movl $0x1, %edx
callq 0x8b950
jmp 0x78199
leaq -0xa8(%rbp), %rdi
leaq -0xd8(%rbp), %rsi
callq 0x7f7e0
jmp 0x781ae
callq 0x7f630
leaq -0x58(%rbp), %rdi
leaq -0xa8(%rbp), %rsi
callq 0x8b990
jmp 0x781c5
testb $0x1, -0x1(%rbp)
je 0x78a26
callq 0x7f730
testq %rax, %rax
sete %al
movb %al, -0xd59(%rbp)
leaq -0x299(%rbp), %rdi
movq %rdi, -0xd58(%rbp)
callq 0x33b0
movq -0xd58(%rbp), %rdx
leaq 0x169621(%rip), %rsi    # 0x1e1822
leaq -0x298(%rbp), %rdi
callq 0x10a90
jmp 0x7820f
movb -0xd59(%rbp), %al
movzbl %al, %esi
andl $0x1, %esi
leaq -0x278(%rbp), %rdi
leaq -0x298(%rbp), %rdx
callq 0x10f80
jmp 0x78230
leaq 0x1645ae(%rip), %rsi    # 0x1dc7e5
leaq -0x278(%rbp), %rdi
callq 0x34320
movq %rax, -0xd68(%rbp)
jmp 0x7824c
movq -0xd68(%rbp), %rdi
leaq 0x16f021(%rip), %rsi    # 0x1e727b
callq 0x7f760
movq %rax, -0xd70(%rbp)
jmp 0x78268
movq -0xd70(%rbp), %rdi
leaq 0x168536(%rip), %rsi    # 0x1e07ac
callq 0x34320
movq %rax, -0xd78(%rbp)
jmp 0x78284
callq 0x7f730
movq -0xd78(%rbp), %rdi
movq %rax, -0x2a8(%rbp)
leaq -0x2a8(%rbp), %rsi
callq 0x355c0
movq %rax, -0xd80(%rbp)
jmp 0x782ac
movq -0xd80(%rbp), %rdi
leaq 0x16452b(%rip), %rsi    # 0x1dc7e5
callq 0x34320
movq %rax, -0xd88(%rbp)
jmp 0x782c8
movq -0xd88(%rbp), %rdi
leaq 0x16615e(%rip), %rsi    # 0x1de434
callq 0x34320
movq %rax, -0xd90(%rbp)
jmp 0x782e4
movq -0xd90(%rbp), %rdi
leaq 0x1684ba(%rip), %rsi    # 0x1e07ac
callq 0x34320
movq %rax, -0xd98(%rbp)
jmp 0x78300
movq -0xd98(%rbp), %rdi
movl $0x0, -0x2ac(%rbp)
leaq -0x2ac(%rbp), %rsi
callq 0x343a0
movq %rax, -0xda0(%rbp)
jmp 0x78326
movq -0xda0(%rbp), %rdi
leaq 0x17e147(%rip), %rsi    # 0x1f647b
callq 0x34320
jmp 0x7833b
leaq -0x278(%rbp), %rdi
callq 0x10ff0
jmp 0x78349
leaq -0x298(%rbp), %rdi
callq 0x3100
leaq -0x299(%rbp), %rdi
callq 0x3290
callq 0x8b9c0
movq %rax, -0xda8(%rbp)
jmp 0x7836f
movq -0xda8(%rbp), %rax
testq %rax, %rax
sete %al
movb %al, -0xdb1(%rbp)
leaq -0x461(%rbp), %rdi
movq %rdi, -0xdb0(%rbp)
callq 0x33b0
movq -0xdb0(%rbp), %rdx
leaq 0x16edb9(%rip), %rsi    # 0x1e715c
leaq -0x460(%rbp), %rdi
callq 0x10a90
jmp 0x783b1
movb -0xdb1(%rbp), %al
movzbl %al, %esi
andl $0x1, %esi
leaq -0x440(%rbp), %rdi
leaq -0x460(%rbp), %rdx
callq 0x10f80
jmp 0x783d2
leaq 0x16440c(%rip), %rsi    # 0x1dc7e5
leaq -0x440(%rbp), %rdi
callq 0x34320
movq %rax, -0xdc0(%rbp)
jmp 0x783ee
movq -0xdc0(%rbp), %rdi
leaq 0x16ed81(%rip), %rsi    # 0x1e717d
callq 0x7f8f0
movq %rax, -0xdc8(%rbp)
jmp 0x7840a
movq -0xdc8(%rbp), %rdi
leaq 0x168394(%rip), %rsi    # 0x1e07ac
callq 0x34320
movq %rax, -0xdd0(%rbp)
jmp 0x78426
callq 0x8b9c0
movq %rax, -0xdd8(%rbp)
jmp 0x78434
movq -0xdd0(%rbp), %rdi
movq -0xdd8(%rbp), %rax
movq %rax, -0x470(%rbp)
leaq -0x470(%rbp), %rsi
callq 0x355c0
movq %rax, -0xde0(%rbp)
jmp 0x7845e
movq -0xde0(%rbp), %rdi
leaq 0x164379(%rip), %rsi    # 0x1dc7e5
callq 0x34320
movq %rax, -0xde8(%rbp)
jmp 0x7847a
movq -0xde8(%rbp), %rdi
leaq 0x165fac(%rip), %rsi    # 0x1de434
callq 0x34320
movq %rax, -0xdf0(%rbp)
jmp 0x78496
movq -0xdf0(%rbp), %rdi
leaq 0x168308(%rip), %rsi    # 0x1e07ac
callq 0x34320
movq %rax, -0xdf8(%rbp)
jmp 0x784b2
movq -0xdf8(%rbp), %rdi
movl $0x0, -0x474(%rbp)
leaq -0x474(%rbp), %rsi
callq 0x343a0
movq %rax, -0xe00(%rbp)
jmp 0x784d8
movq -0xe00(%rbp), %rdi
leaq 0x17df95(%rip), %rsi    # 0x1f647b
callq 0x34320
jmp 0x784ed
leaq -0x440(%rbp), %rdi
callq 0x10ff0
jmp 0x784fb
leaq -0x460(%rbp), %rdi
callq 0x3100
leaq -0x461(%rbp), %rdi
callq 0x3290
callq 0x8b9e0
movq %rax, -0xe08(%rbp)
jmp 0x78521
movq -0xe08(%rbp), %rax
testq %rax, %rax
sete %al
movb %al, -0xe11(%rbp)
leaq -0x629(%rbp), %rdi
movq %rdi, -0xe10(%rbp)
callq 0x33b0
movq -0xe10(%rbp), %rdx
leaq 0x16ec44(%rip), %rsi    # 0x1e7199
leaq -0x628(%rbp), %rdi
callq 0x10a90
jmp 0x78563
movb -0xe11(%rbp), %al
movzbl %al, %esi
andl $0x1, %esi
leaq -0x608(%rbp), %rdi
leaq -0x628(%rbp), %rdx
callq 0x10f80
jmp 0x78584
leaq 0x16425a(%rip), %rsi    # 0x1dc7e5
leaq -0x608(%rbp), %rdi
callq 0x34320
movq %rax, -0xe20(%rbp)
jmp 0x785a0
movq -0xe20(%rbp), %rdi
leaq 0x16ec0b(%rip), %rsi    # 0x1e71b9
callq 0x35600
movq %rax, -0xe28(%rbp)
jmp 0x785bc
movq -0xe28(%rbp), %rdi
leaq 0x1681e2(%rip), %rsi    # 0x1e07ac
callq 0x34320
movq %rax, -0xe30(%rbp)
jmp 0x785d8
callq 0x8b9e0
movq %rax, -0xe38(%rbp)
jmp 0x785e6
movq -0xe30(%rbp), %rdi
movq -0xe38(%rbp), %rax
movq %rax, -0x638(%rbp)
leaq -0x638(%rbp), %rsi
callq 0x355c0
movq %rax, -0xe40(%rbp)
jmp 0x78610
movq -0xe40(%rbp), %rdi
leaq 0x1641c7(%rip), %rsi    # 0x1dc7e5
callq 0x34320
movq %rax, -0xe48(%rbp)
jmp 0x7862c
movq -0xe48(%rbp), %rdi
leaq 0x165dfa(%rip), %rsi    # 0x1de434
callq 0x34320
movq %rax, -0xe50(%rbp)
jmp 0x78648
movq -0xe50(%rbp), %rdi
leaq 0x168156(%rip), %rsi    # 0x1e07ac
callq 0x34320
movq %rax, -0xe58(%rbp)
jmp 0x78664
movq -0xe58(%rbp), %rdi
movl $0x0, -0x63c(%rbp)
leaq -0x63c(%rbp), %rsi
callq 0x343a0
movq %rax, -0xe60(%rbp)
jmp 0x7868a
movq -0xe60(%rbp), %rdi
leaq 0x17dde3(%rip), %rsi    # 0x1f647b
callq 0x34320
jmp 0x7869f
leaq -0x608(%rbp), %rdi
callq 0x10ff0
jmp 0x786ad
leaq -0x628(%rbp), %rdi
callq 0x3100
leaq -0x629(%rbp), %rdi
callq 0x3290
callq 0x880e0
testq %rax, %rax
sete %al
movb %al, -0xe69(%rbp)
leaq -0x7f1(%rbp), %rdi
movq %rdi, -0xe68(%rbp)
callq 0x33b0
movq -0xe68(%rbp), %rdx
leaq 0x16cf1f(%rip), %rsi    # 0x1e5616
leaq -0x7f0(%rbp), %rdi
callq 0x10a90
jmp 0x78705
movb -0xe69(%rbp), %al
movzbl %al, %esi
andl $0x1, %esi
leaq -0x7d0(%rbp), %rdi
leaq -0x7f0(%rbp), %rdx
callq 0x10f80
jmp 0x78726
leaq 0x1640b8(%rip), %rsi    # 0x1dc7e5
leaq -0x7d0(%rbp), %rdi
callq 0x34320
movq %rax, -0xe78(%rbp)
jmp 0x78742
movq -0xe78(%rbp), %rdi
leaq 0x16cee5(%rip), %rsi    # 0x1e5635
callq 0x85670
movq %rax, -0xe80(%rbp)
jmp 0x7875e
movq -0xe80(%rbp), %rdi
leaq 0x168040(%rip), %rsi    # 0x1e07ac
callq 0x34320
movq %rax, -0xe88(%rbp)
jmp 0x7877a
callq 0x880e0
movq -0xe88(%rbp), %rdi
movq %rax, -0x800(%rbp)
leaq -0x800(%rbp), %rsi
callq 0x355c0
movq %rax, -0xe90(%rbp)
jmp 0x787a2
movq -0xe90(%rbp), %rdi
leaq 0x164035(%rip), %rsi    # 0x1dc7e5
callq 0x34320
movq %rax, -0xe98(%rbp)
jmp 0x787be
movq -0xe98(%rbp), %rdi
leaq 0x165c68(%rip), %rsi    # 0x1de434
callq 0x34320
movq %rax, -0xea0(%rbp)
jmp 0x787da
movq -0xea0(%rbp), %rdi
leaq 0x167fc4(%rip), %rsi    # 0x1e07ac
callq 0x34320
movq %rax, -0xea8(%rbp)
jmp 0x787f6
movq -0xea8(%rbp), %rdi
movl $0x0, -0x804(%rbp)
leaq -0x804(%rbp), %rsi
callq 0x343a0
movq %rax, -0xeb0(%rbp)
jmp 0x7881c
movq -0xeb0(%rbp), %rdi
leaq 0x17dc51(%rip), %rsi    # 0x1f647b
callq 0x34320
jmp 0x78831
leaq -0x7d0(%rbp), %rdi
callq 0x10ff0
jmp 0x7883f
leaq -0x7f0(%rbp), %rdi
callq 0x3100
leaq -0x7f1(%rbp), %rdi
callq 0x3290
jmp 0x79050
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xe0(%rbp)
movl %eax, -0xe4(%rbp)
jmp 0x7907a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xe0(%rbp)
movl %eax, -0xe4(%rbp)
jmp 0x7906e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xe0(%rbp)
movl %eax, -0xe4(%rbp)
jmp 0x788e0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xe0(%rbp)
movl %eax, -0xe4(%rbp)
jmp 0x788d4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xe0(%rbp)
movl %eax, -0xe4(%rbp)
leaq -0x278(%rbp), %rdi
callq 0x10ff0
jmp 0x788d2
jmp 0x788d4
leaq -0x298(%rbp), %rdi
callq 0x3100
leaq -0x299(%rbp), %rdi
callq 0x3290
jmp 0x7906e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xe0(%rbp)
movl %eax, -0xe4(%rbp)
jmp 0x78947
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xe0(%rbp)
movl %eax, -0xe4(%rbp)
jmp 0x7893b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xe0(%rbp)
movl %eax, -0xe4(%rbp)
leaq -0x440(%rbp), %rdi
callq 0x10ff0
jmp 0x78939
jmp 0x7893b
leaq -0x460(%rbp), %rdi
callq 0x3100
leaq -0x461(%rbp), %rdi
callq 0x3290
jmp 0x7906e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xe0(%rbp)
movl %eax, -0xe4(%rbp)
jmp 0x789ae
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xe0(%rbp)
movl %eax, -0xe4(%rbp)
jmp 0x789a2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xe0(%rbp)
movl %eax, -0xe4(%rbp)
leaq -0x608(%rbp), %rdi
callq 0x10ff0
jmp 0x789a0
jmp 0x789a2
leaq -0x628(%rbp), %rdi
callq 0x3100
leaq -0x629(%rbp), %rdi
callq 0x3290
jmp 0x7906e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xe0(%rbp)
movl %eax, -0xe4(%rbp)
jmp 0x78a15
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xe0(%rbp)
movl %eax, -0xe4(%rbp)
jmp 0x78a09
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xe0(%rbp)
movl %eax, -0xe4(%rbp)
leaq -0x7d0(%rbp), %rdi
callq 0x10ff0
jmp 0x78a07
jmp 0x78a09
leaq -0x7f0(%rbp), %rdi
callq 0x3100
leaq -0x7f1(%rbp), %rdi
callq 0x3290
jmp 0x7906e
leaq 0x219903(%rip), %rax    # 0x292330
movq (%rax), %rax
testq %rax, %rax
sete %al
movb %al, -0xeb9(%rbp)
leaq -0x9b9(%rbp), %rdi
movq %rdi, -0xeb8(%rbp)
callq 0x33b0
movq -0xeb8(%rbp), %rdx
leaq 0x16e777(%rip), %rsi    # 0x1e71d4
leaq -0x9b8(%rbp), %rdi
callq 0x10a90
jmp 0x78a6b
movb -0xeb9(%rbp), %al
movzbl %al, %esi
andl $0x1, %esi
leaq -0x998(%rbp), %rdi
leaq -0x9b8(%rbp), %rdx
callq 0x10f80
jmp 0x78a8c
leaq 0x163d52(%rip), %rsi    # 0x1dc7e5
leaq -0x998(%rbp), %rdi
callq 0x34320
movq %rax, -0xec8(%rbp)
jmp 0x78aa8
movq -0xec8(%rbp), %rdi
leaq 0x168dce(%rip), %rsi    # 0x1e1884
callq 0x7f8b0
movq %rax, -0xed0(%rbp)
jmp 0x78ac4
movq -0xed0(%rbp), %rdi
leaq 0x167cda(%rip), %rsi    # 0x1e07ac
callq 0x34320
movq %rax, -0xed8(%rbp)
jmp 0x78ae0
movq -0xed8(%rbp), %rdi
leaq 0x219842(%rip), %rsi    # 0x292330
callq 0x355c0
movq %rax, -0xee0(%rbp)
jmp 0x78afc
movq -0xee0(%rbp), %rdi
leaq 0x163cdb(%rip), %rsi    # 0x1dc7e5
callq 0x34320
movq %rax, -0xee8(%rbp)
jmp 0x78b18
movq -0xee8(%rbp), %rdi
leaq 0x16590e(%rip), %rsi    # 0x1de434
callq 0x34320
movq %rax, -0xef0(%rbp)
jmp 0x78b34
movq -0xef0(%rbp), %rdi
leaq 0x167c6a(%rip), %rsi    # 0x1e07ac
callq 0x34320
movq %rax, -0xef8(%rbp)
jmp 0x78b50
movq -0xef8(%rbp), %rdi
movl $0x0, -0x9c0(%rbp)
leaq -0x9c0(%rbp), %rsi
callq 0x343a0
movq %rax, -0xf00(%rbp)
jmp 0x78b76
movq -0xf00(%rbp), %rdi
leaq 0x17d8f7(%rip), %rsi    # 0x1f647b
callq 0x34320
jmp 0x78b8b
leaq -0x998(%rbp), %rdi
callq 0x10ff0
jmp 0x78b99
leaq -0x9b8(%rbp), %rdi
callq 0x3100
leaq -0x9b9(%rbp), %rdi
callq 0x3290
leaq 0x219780(%rip), %rax    # 0x292338
movq (%rax), %rax
testq %rax, %rax
sete %al
movb %al, -0xf09(%rbp)
leaq -0xb71(%rbp), %rdi
movq %rdi, -0xf08(%rbp)
callq 0x33b0
movq -0xf08(%rbp), %rdx
leaq 0x16e616(%rip), %rsi    # 0x1e71fe
leaq -0xb70(%rbp), %rdi
callq 0x10a90
jmp 0x78bf6
movb -0xf09(%rbp), %al
movzbl %al, %esi
andl $0x1, %esi
leaq -0xb50(%rbp), %rdi
leaq -0xb70(%rbp), %rdx
callq 0x10f80
jmp 0x78c17
leaq 0x163bc7(%rip), %rsi    # 0x1dc7e5
leaq -0xb50(%rbp), %rdi
callq 0x34320
movq %rax, -0xf18(%rbp)
jmp 0x78c33
movq -0xf18(%rbp), %rdi
leaq 0x16b3d3(%rip), %rsi    # 0x1e4014
callq 0x85630
movq %rax, -0xf20(%rbp)
jmp 0x78c4f
movq -0xf20(%rbp), %rdi
leaq 0x167b4f(%rip), %rsi    # 0x1e07ac
callq 0x34320
movq %rax, -0xf28(%rbp)
jmp 0x78c6b
movq -0xf28(%rbp), %rdi
leaq 0x2196bf(%rip), %rsi    # 0x292338
callq 0x355c0
movq %rax, -0xf30(%rbp)
jmp 0x78c87
movq -0xf30(%rbp), %rdi
leaq 0x163b50(%rip), %rsi    # 0x1dc7e5
callq 0x34320
movq %rax, -0xf38(%rbp)
jmp 0x78ca3
movq -0xf38(%rbp), %rdi
leaq 0x165783(%rip), %rsi    # 0x1de434
callq 0x34320
movq %rax, -0xf40(%rbp)
jmp 0x78cbf
movq -0xf40(%rbp), %rdi
leaq 0x167adf(%rip), %rsi    # 0x1e07ac
callq 0x34320
movq %rax, -0xf48(%rbp)
jmp 0x78cdb
movq -0xf48(%rbp), %rdi
movl $0x0, -0xb78(%rbp)
leaq -0xb78(%rbp), %rsi
callq 0x343a0
movq %rax, -0xf50(%rbp)
jmp 0x78d01
movq -0xf50(%rbp), %rdi
leaq 0x17d76c(%rip), %rsi    # 0x1f647b
callq 0x34320
jmp 0x78d16
leaq -0xb50(%rbp), %rdi
callq 0x10ff0
jmp 0x78d24
leaq -0xb70(%rbp), %rdi
callq 0x3100
leaq -0xb71(%rbp), %rdi
callq 0x3290
callq 0x880e0
movq %rax, -0xf60(%rbp)
leaq 0x219509(%rip), %rdi    # 0x292258
callq 0x1a900
movq %rax, -0xf58(%rbp)
jmp 0x78d5d
movq -0xf60(%rbp), %rax
movq -0xf58(%rbp), %rcx
leaq (%rcx,%rcx,2), %rcx
subq %rcx, %rax
sete %al
movb %al, -0xf69(%rbp)
leaq -0xd29(%rbp), %rdi
movq %rdi, -0xf68(%rbp)
callq 0x33b0
movq -0xf68(%rbp), %rdx
leaq 0x16e489(%rip), %rsi    # 0x1e7225
leaq -0xd28(%rbp), %rdi
callq 0x10a90
jmp 0x78daa
movb -0xf69(%rbp), %al
movzbl %al, %esi
andl $0x1, %esi
leaq -0xd08(%rbp), %rdi
leaq -0xd28(%rbp), %rdx
callq 0x10f80
jmp 0x78dcb
leaq 0x163a13(%rip), %rsi    # 0x1dc7e5
leaq -0xd08(%rbp), %rdi
callq 0x34320
movq %rax, -0xf78(%rbp)
jmp 0x78de7
movq -0xf78(%rbp), %rdi
leaq 0x16c840(%rip), %rsi    # 0x1e5635
callq 0x85670
movq %rax, -0xf80(%rbp)
jmp 0x78e03
movq -0xf80(%rbp), %rdi
leaq 0x16799b(%rip), %rsi    # 0x1e07ac
callq 0x34320
movq %rax, -0xf88(%rbp)
jmp 0x78e1f
callq 0x880e0
movq -0xf88(%rbp), %rdi
movq %rax, -0xd38(%rbp)
leaq -0xd38(%rbp), %rsi
callq 0x355c0
movq %rax, -0xf90(%rbp)
jmp 0x78e47
movq -0xf90(%rbp), %rdi
leaq 0x163990(%rip), %rsi    # 0x1dc7e5
callq 0x34320
movq %rax, -0xf98(%rbp)
jmp 0x78e63
movq -0xf98(%rbp), %rdi
leaq 0x16e3d1(%rip), %rsi    # 0x1e7242
callq 0x85670
movq %rax, -0xfa0(%rbp)
jmp 0x78e7f
movq -0xfa0(%rbp), %rdi
leaq 0x16791f(%rip), %rsi    # 0x1e07ac
callq 0x34320
movq %rax, -0xfa8(%rbp)
jmp 0x78e9b
leaq 0x2193b6(%rip), %rdi    # 0x292258
callq 0x1a900
movq %rax, -0xfb0(%rbp)
jmp 0x78eb0
movq -0xfa8(%rbp), %rdi
movq -0xfb0(%rbp), %rax
leaq (%rax,%rax,2), %rax
movq %rax, -0xd40(%rbp)
leaq -0xd40(%rbp), %rsi
callq 0x355c0
movq %rax, -0xfb8(%rbp)
jmp 0x78ede
movq -0xfb8(%rbp), %rdi
leaq 0x17d58f(%rip), %rsi    # 0x1f647b
callq 0x34320
jmp 0x78ef3
leaq -0xd08(%rbp), %rdi
callq 0x10ff0
jmp 0x78f01
leaq -0xd28(%rbp), %rdi
callq 0x3100
leaq -0xd29(%rbp), %rdi
callq 0x3290
jmp 0x79050
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xe0(%rbp)
movl %eax, -0xe4(%rbp)
jmp 0x78f74
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xe0(%rbp)
movl %eax, -0xe4(%rbp)
jmp 0x78f68
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xe0(%rbp)
movl %eax, -0xe4(%rbp)
leaq -0x998(%rbp), %rdi
callq 0x10ff0
jmp 0x78f66
jmp 0x78f68
leaq -0x9b8(%rbp), %rdi
callq 0x3100
leaq -0x9b9(%rbp), %rdi
callq 0x3290
jmp 0x7906e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xe0(%rbp)
movl %eax, -0xe4(%rbp)
jmp 0x78fdb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xe0(%rbp)
movl %eax, -0xe4(%rbp)
jmp 0x78fcf
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xe0(%rbp)
movl %eax, -0xe4(%rbp)
leaq -0xb50(%rbp), %rdi
callq 0x10ff0
jmp 0x78fcd
jmp 0x78fcf
leaq -0xb70(%rbp), %rdi
callq 0x3100
leaq -0xb71(%rbp), %rdi
callq 0x3290
jmp 0x7906e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xe0(%rbp)
movl %eax, -0xe4(%rbp)
jmp 0x79042
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xe0(%rbp)
movl %eax, -0xe4(%rbp)
jmp 0x79036
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xe0(%rbp)
movl %eax, -0xe4(%rbp)
leaq -0xd08(%rbp), %rdi
callq 0x10ff0
jmp 0x79034
jmp 0x79036
leaq -0xd28(%rbp), %rdi
callq 0x3100
leaq -0xd29(%rbp), %rdi
callq 0x3290
jmp 0x7906e
leaq -0xa8(%rbp), %rdi
callq 0x7f870
leaq -0x58(%rbp), %rdi
callq 0x7f870
addq $0xfc0, %rsp            # imm = 0xFC0
popq %rbp
retq
leaq -0xa8(%rbp), %rdi
callq 0x7f870
leaq -0x58(%rbp), %rdi
callq 0x7f870
movq -0xe0(%rbp), %rdi
callq 0x33a0
movq %rax, %rdi
callq 0x116d0
nopw (%rax,%rax)