// File: dsharlet[P]array/test/array_lifetime.cpp
// Function: void nda::test_move_alloc_lifetime<nda::custom_alloc<std::integral_constant<bool, true>>>(bool)
void test_move_alloc_lifetime(bool alloc_movable = true) {
  {
    lifetime_array<Alloc> source(lifetime_shape);
    lifetime_counter::reset();
    lifetime_array<Alloc> move(std::move(source), Alloc());
  }
  // This should have moved the whole array if the allocator is movable.
  if (alloc_movable) {
    ASSERT_EQ(lifetime_counter::constructs(), 0);
    ASSERT_EQ(lifetime_counter::moves(), 0);
    ASSERT_EQ(lifetime_counter::destructs, lifetime_shape.size());
  } else {
    ASSERT_EQ(lifetime_counter::constructs(), lifetime_shape.size());
    ASSERT_EQ(lifetime_counter::moves(), lifetime_shape.size());
    ASSERT_EQ(lifetime_counter::destructs, lifetime_shape.size() * 2);
  }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xd80, %rsp            # imm = 0xD80
movb %dil, %al
andb $0x1, %al
movb %al, -0x1(%rbp)
leaq 0x22b2be(%rip), %rsi    # 0x292258
leaq -0x58(%rbp), %rdi
callq 0x7ffa0
callq 0x7f630
leaq -0xac(%rbp), %rdi
xorl %esi, %esi
callq 0x62250
jmp 0x66fb8
leaq -0xa8(%rbp), %rdi
leaq -0x58(%rbp), %rsi
leaq -0xac(%rbp), %rdx
callq 0x89970
jmp 0x66fd1
leaq -0xac(%rbp), %rdi
callq 0x62280
leaq -0xa8(%rbp), %rdi
callq 0x80040
leaq -0x58(%rbp), %rdi
callq 0x80040
testb $0x1, -0x1(%rbp)
je 0x6765b
callq 0x7f730
testq %rax, %rax
sete %al
movb %al, -0xb69(%rbp)
leaq -0x271(%rbp), %rdi
movq %rdi, -0xb68(%rbp)
callq 0x33b0
movq -0xb68(%rbp), %rdx
leaq 0x17a7f4(%rip), %rsi    # 0x1e1822
leaq -0x270(%rbp), %rdi
callq 0x10a90
jmp 0x6703c
movb -0xb69(%rbp), %al
movzbl %al, %esi
andl $0x1, %esi
leaq -0x250(%rbp), %rdi
leaq -0x270(%rbp), %rdx
callq 0x10f80
jmp 0x6705d
leaq 0x175781(%rip), %rsi    # 0x1dc7e5
leaq -0x250(%rbp), %rdi
callq 0x34320
movq %rax, -0xb78(%rbp)
jmp 0x67079
movq -0xb78(%rbp), %rdi
leaq 0x1801f4(%rip), %rsi    # 0x1e727b
callq 0x7f760
movq %rax, -0xb80(%rbp)
jmp 0x67095
movq -0xb80(%rbp), %rdi
leaq 0x179709(%rip), %rsi    # 0x1e07ac
callq 0x34320
movq %rax, -0xb88(%rbp)
jmp 0x670b1
callq 0x7f730
movq -0xb88(%rbp), %rdi
movq %rax, -0x280(%rbp)
leaq -0x280(%rbp), %rsi
callq 0x355c0
movq %rax, -0xb90(%rbp)
jmp 0x670d9
movq -0xb90(%rbp), %rdi
leaq 0x1756fe(%rip), %rsi    # 0x1dc7e5
callq 0x34320
movq %rax, -0xb98(%rbp)
jmp 0x670f5
movq -0xb98(%rbp), %rdi
leaq 0x177331(%rip), %rsi    # 0x1de434
callq 0x34320
movq %rax, -0xba0(%rbp)
jmp 0x67111
movq -0xba0(%rbp), %rdi
leaq 0x17968d(%rip), %rsi    # 0x1e07ac
callq 0x34320
movq %rax, -0xba8(%rbp)
jmp 0x6712d
movq -0xba8(%rbp), %rdi
movl $0x0, -0x284(%rbp)
leaq -0x284(%rbp), %rsi
callq 0x343a0
movq %rax, -0xbb0(%rbp)
jmp 0x67153
movq -0xbb0(%rbp), %rdi
leaq 0x18f31a(%rip), %rsi    # 0x1f647b
callq 0x34320
jmp 0x67168
leaq -0x250(%rbp), %rdi
callq 0x10ff0
jmp 0x67176
leaq -0x270(%rbp), %rdi
callq 0x3100
leaq -0x271(%rbp), %rdi
callq 0x3290
callq 0x880e0
testq %rax, %rax
sete %al
movb %al, -0xbb9(%rbp)
leaq -0x439(%rbp), %rdi
movq %rdi, -0xbb8(%rbp)
callq 0x33b0
movq -0xbb8(%rbp), %rdx
leaq 0x17e456(%rip), %rsi    # 0x1e5616
leaq -0x438(%rbp), %rdi
callq 0x10a90
jmp 0x671ce
movb -0xbb9(%rbp), %al
movzbl %al, %esi
andl $0x1, %esi
leaq -0x418(%rbp), %rdi
leaq -0x438(%rbp), %rdx
callq 0x10f80
jmp 0x671ef
leaq 0x1755ef(%rip), %rsi    # 0x1dc7e5
leaq -0x418(%rbp), %rdi
callq 0x34320
movq %rax, -0xbc8(%rbp)
jmp 0x6720b
movq -0xbc8(%rbp), %rdi
leaq 0x17e41c(%rip), %rsi    # 0x1e5635
callq 0x85670
movq %rax, -0xbd0(%rbp)
jmp 0x67227
movq -0xbd0(%rbp), %rdi
leaq 0x179577(%rip), %rsi    # 0x1e07ac
callq 0x34320
movq %rax, -0xbd8(%rbp)
jmp 0x67243
callq 0x880e0
movq -0xbd8(%rbp), %rdi
movq %rax, -0x448(%rbp)
leaq -0x448(%rbp), %rsi
callq 0x355c0
movq %rax, -0xbe0(%rbp)
jmp 0x6726b
movq -0xbe0(%rbp), %rdi
leaq 0x17556c(%rip), %rsi    # 0x1dc7e5
callq 0x34320
movq %rax, -0xbe8(%rbp)
jmp 0x67287
movq -0xbe8(%rbp), %rdi
leaq 0x17719f(%rip), %rsi    # 0x1de434
callq 0x34320
movq %rax, -0xbf0(%rbp)
jmp 0x672a3
movq -0xbf0(%rbp), %rdi
leaq 0x1794fb(%rip), %rsi    # 0x1e07ac
callq 0x34320
movq %rax, -0xbf8(%rbp)
jmp 0x672bf
movq -0xbf8(%rbp), %rdi
movl $0x0, -0x44c(%rbp)
leaq -0x44c(%rbp), %rsi
callq 0x343a0
movq %rax, -0xc00(%rbp)
jmp 0x672e5
movq -0xc00(%rbp), %rdi
leaq 0x18f188(%rip), %rsi    # 0x1f647b
callq 0x34320
jmp 0x672fa
leaq -0x418(%rbp), %rdi
callq 0x10ff0
jmp 0x67308
leaq -0x438(%rbp), %rdi
callq 0x3100
leaq -0x439(%rbp), %rdi
callq 0x3290
leaq 0x22b031(%rip), %rax    # 0x292358
movq (%rax), %rax
movq %rax, -0xc18(%rbp)
leaq 0x22af20(%rip), %rdi    # 0x292258
callq 0x1a900
movq %rax, %rcx
movq -0xc18(%rbp), %rax
subq %rcx, %rax
sete %al
movb %al, -0xc09(%rbp)
leaq -0x601(%rbp), %rdi
movq %rdi, -0xc08(%rbp)
callq 0x33b0
movq -0xc08(%rbp), %rdx
leaq 0x17a535(%rip), %rsi    # 0x1e18a9
leaq -0x600(%rbp), %rdi
callq 0x10a90
jmp 0x67382
movb -0xc09(%rbp), %al
movzbl %al, %esi
andl $0x1, %esi
leaq -0x5e0(%rbp), %rdi
leaq -0x600(%rbp), %rdx
callq 0x10f80
jmp 0x673a3
leaq 0x17543b(%rip), %rsi    # 0x1dc7e5
leaq -0x5e0(%rbp), %rdi
callq 0x34320
movq %rax, -0xc20(%rbp)
jmp 0x673bf
movq -0xc20(%rbp), %rdi
leaq 0x17a511(%rip), %rsi    # 0x1e18de
callq 0x7f8f0
movq %rax, -0xc28(%rbp)
jmp 0x673db
movq -0xc28(%rbp), %rdi
leaq 0x1793c3(%rip), %rsi    # 0x1e07ac
callq 0x34320
movq %rax, -0xc30(%rbp)
jmp 0x673f7
movq -0xc30(%rbp), %rdi
leaq 0x22af53(%rip), %rsi    # 0x292358
callq 0x355c0
movq %rax, -0xc38(%rbp)
jmp 0x67413
movq -0xc38(%rbp), %rdi
leaq 0x1753c4(%rip), %rsi    # 0x1dc7e5
callq 0x34320
movq %rax, -0xc40(%rbp)
jmp 0x6742f
movq -0xc40(%rbp), %rdi
leaq 0x17e267(%rip), %rsi    # 0x1e56a4
callq 0x34ba0
movq %rax, -0xc48(%rbp)
jmp 0x6744b
movq -0xc48(%rbp), %rdi
leaq 0x179353(%rip), %rsi    # 0x1e07ac
callq 0x34320
movq %rax, -0xc50(%rbp)
jmp 0x67467
leaq 0x22adea(%rip), %rdi    # 0x292258
callq 0x1a900
movq %rax, -0xc58(%rbp)
jmp 0x6747c
movq -0xc50(%rbp), %rdi
movq -0xc58(%rbp), %rax
movq %rax, -0x610(%rbp)
leaq -0x610(%rbp), %rsi
callq 0x355c0
movq %rax, -0xc60(%rbp)
jmp 0x674a6
movq -0xc60(%rbp), %rdi
leaq 0x18efc7(%rip), %rsi    # 0x1f647b
callq 0x34320
jmp 0x674bb
leaq -0x5e0(%rbp), %rdi
callq 0x10ff0
jmp 0x674c9
leaq -0x600(%rbp), %rdi
callq 0x3100
leaq -0x601(%rbp), %rdi
callq 0x3290
jmp 0x67ce6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xb8(%rbp)
movl %eax, -0xbc(%rbp)
jmp 0x67518
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xb8(%rbp)
movl %eax, -0xbc(%rbp)
leaq -0xac(%rbp), %rdi
callq 0x62280
leaq -0x58(%rbp), %rdi
callq 0x80040
jmp 0x67cef
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xb8(%rbp)
movl %eax, -0xbc(%rbp)
jmp 0x6757c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xb8(%rbp)
movl %eax, -0xbc(%rbp)
jmp 0x67570
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xb8(%rbp)
movl %eax, -0xbc(%rbp)
leaq -0x250(%rbp), %rdi
callq 0x10ff0
jmp 0x6756e
jmp 0x67570
leaq -0x270(%rbp), %rdi
callq 0x3100
leaq -0x271(%rbp), %rdi
callq 0x3290
jmp 0x67cef
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xb8(%rbp)
movl %eax, -0xbc(%rbp)
jmp 0x675e3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xb8(%rbp)
movl %eax, -0xbc(%rbp)
jmp 0x675d7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xb8(%rbp)
movl %eax, -0xbc(%rbp)
leaq -0x418(%rbp), %rdi
callq 0x10ff0
jmp 0x675d5
jmp 0x675d7
leaq -0x438(%rbp), %rdi
callq 0x3100
leaq -0x439(%rbp), %rdi
callq 0x3290
jmp 0x67cef
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xb8(%rbp)
movl %eax, -0xbc(%rbp)
jmp 0x6764a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xb8(%rbp)
movl %eax, -0xbc(%rbp)
jmp 0x6763e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xb8(%rbp)
movl %eax, -0xbc(%rbp)
leaq -0x5e0(%rbp), %rdi
callq 0x10ff0
jmp 0x6763c
jmp 0x6763e
leaq -0x600(%rbp), %rdi
callq 0x3100
leaq -0x601(%rbp), %rdi
callq 0x3290
jmp 0x67cef
callq 0x7f730
movq %rax, -0xc78(%rbp)
leaq 0x22abea(%rip), %rdi    # 0x292258
callq 0x1a900
movq %rax, %rcx
movq -0xc78(%rbp), %rax
subq %rcx, %rax
sete %al
movb %al, -0xc69(%rbp)
leaq -0x7c1(%rbp), %rdi
movq %rdi, -0xc68(%rbp)
callq 0x33b0
movq -0xc68(%rbp), %rdx
leaq 0x17dfa5(%rip), %rsi    # 0x1e564f
leaq -0x7c0(%rbp), %rdi
callq 0x10a90
jmp 0x676b8
movb -0xc69(%rbp), %al
movzbl %al, %esi
andl $0x1, %esi
leaq -0x7a0(%rbp), %rdi
leaq -0x7c0(%rbp), %rdx
callq 0x10f80
jmp 0x676d9
leaq 0x175105(%rip), %rsi    # 0x1dc7e5
leaq -0x7a0(%rbp), %rdi
callq 0x34320
movq %rax, -0xc80(%rbp)
jmp 0x676f5
movq -0xc80(%rbp), %rdi
leaq 0x17fb78(%rip), %rsi    # 0x1e727b
callq 0x7f760
movq %rax, -0xc88(%rbp)
jmp 0x67711
movq -0xc88(%rbp), %rdi
leaq 0x17908d(%rip), %rsi    # 0x1e07ac
callq 0x34320
movq %rax, -0xc90(%rbp)
jmp 0x6772d
callq 0x7f730
movq -0xc90(%rbp), %rdi
movq %rax, -0x7d0(%rbp)
leaq -0x7d0(%rbp), %rsi
callq 0x355c0
movq %rax, -0xc98(%rbp)
jmp 0x67755
movq -0xc98(%rbp), %rdi
leaq 0x175082(%rip), %rsi    # 0x1dc7e5
callq 0x34320
movq %rax, -0xca0(%rbp)
jmp 0x67771
movq -0xca0(%rbp), %rdi
leaq 0x17df25(%rip), %rsi    # 0x1e56a4
callq 0x34ba0
movq %rax, -0xca8(%rbp)
jmp 0x6778d
movq -0xca8(%rbp), %rdi
leaq 0x179011(%rip), %rsi    # 0x1e07ac
callq 0x34320
movq %rax, -0xcb0(%rbp)
jmp 0x677a9
leaq 0x22aaa8(%rip), %rdi    # 0x292258
callq 0x1a900
movq %rax, -0xcb8(%rbp)
jmp 0x677be
movq -0xcb0(%rbp), %rdi
movq -0xcb8(%rbp), %rax
movq %rax, -0x7d8(%rbp)
leaq -0x7d8(%rbp), %rsi
callq 0x355c0
movq %rax, -0xcc0(%rbp)
jmp 0x677e8
movq -0xcc0(%rbp), %rdi
leaq 0x18ec85(%rip), %rsi    # 0x1f647b
callq 0x34320
jmp 0x677fd
leaq -0x7a0(%rbp), %rdi
callq 0x10ff0
jmp 0x6780b
leaq -0x7c0(%rbp), %rdi
callq 0x3100
leaq -0x7c1(%rbp), %rdi
callq 0x3290
callq 0x880e0
movq %rax, -0xcd8(%rbp)
leaq 0x22aa22(%rip), %rdi    # 0x292258
callq 0x1a900
movq %rax, %rcx
movq -0xcd8(%rbp), %rax
subq %rcx, %rax
sete %al
movb %al, -0xcc9(%rbp)
leaq -0x989(%rbp), %rdi
movq %rdi, -0xcc8(%rbp)
callq 0x33b0
movq -0xcc8(%rbp), %rdx
leaq 0x17de15(%rip), %rsi    # 0x1e5687
leaq -0x988(%rbp), %rdi
callq 0x10a90
jmp 0x67880
movb -0xcc9(%rbp), %al
movzbl %al, %esi
andl $0x1, %esi
leaq -0x968(%rbp), %rdi
leaq -0x988(%rbp), %rdx
callq 0x10f80
jmp 0x678a1
leaq 0x174f3d(%rip), %rsi    # 0x1dc7e5
leaq -0x968(%rbp), %rdi
callq 0x34320
movq %rax, -0xce0(%rbp)
jmp 0x678bd
movq -0xce0(%rbp), %rdi
leaq 0x17dd6a(%rip), %rsi    # 0x1e5635
callq 0x85670
movq %rax, -0xce8(%rbp)
jmp 0x678d9
movq -0xce8(%rbp), %rdi
leaq 0x178ec5(%rip), %rsi    # 0x1e07ac
callq 0x34320
movq %rax, -0xcf0(%rbp)
jmp 0x678f5
callq 0x880e0
movq -0xcf0(%rbp), %rdi
movq %rax, -0x998(%rbp)
leaq -0x998(%rbp), %rsi
callq 0x355c0
movq %rax, -0xcf8(%rbp)
jmp 0x6791d
movq -0xcf8(%rbp), %rdi
leaq 0x174eba(%rip), %rsi    # 0x1dc7e5
callq 0x34320
movq %rax, -0xd00(%rbp)
jmp 0x67939
movq -0xd00(%rbp), %rdi
leaq 0x17dd5d(%rip), %rsi    # 0x1e56a4
callq 0x34ba0
movq %rax, -0xd08(%rbp)
jmp 0x67955
movq -0xd08(%rbp), %rdi
leaq 0x178e49(%rip), %rsi    # 0x1e07ac
callq 0x34320
movq %rax, -0xd10(%rbp)
jmp 0x67971
leaq 0x22a8e0(%rip), %rdi    # 0x292258
callq 0x1a900
movq %rax, -0xd18(%rbp)
jmp 0x67986
movq -0xd10(%rbp), %rdi
movq -0xd18(%rbp), %rax
movq %rax, -0x9a0(%rbp)
leaq -0x9a0(%rbp), %rsi
callq 0x355c0
movq %rax, -0xd20(%rbp)
jmp 0x679b0
movq -0xd20(%rbp), %rdi
leaq 0x18eabd(%rip), %rsi    # 0x1f647b
callq 0x34320
jmp 0x679c5
leaq -0x968(%rbp), %rdi
callq 0x10ff0
jmp 0x679d3
leaq -0x988(%rbp), %rdi
callq 0x3100
leaq -0x989(%rbp), %rdi
callq 0x3290
leaq 0x22a966(%rip), %rax    # 0x292358
movq (%rax), %rax
movq %rax, -0xd38(%rbp)
leaq 0x22a855(%rip), %rdi    # 0x292258
callq 0x1a900
movq %rax, %rcx
movq -0xd38(%rbp), %rax
addq %rcx, %rcx
subq %rcx, %rax
sete %al
movb %al, -0xd29(%rbp)
leaq -0xb51(%rbp), %rdi
movq %rdi, -0xd28(%rbp)
callq 0x33b0
movq -0xd28(%rbp), %rdx
leaq 0x17dc78(%rip), %rsi    # 0x1e56ba
leaq -0xb50(%rbp), %rdi
callq 0x10a90
jmp 0x67a50
movb -0xd29(%rbp), %al
movzbl %al, %esi
andl $0x1, %esi
leaq -0xb30(%rbp), %rdi
leaq -0xb50(%rbp), %rdx
callq 0x10f80
jmp 0x67a71
leaq 0x174d6d(%rip), %rsi    # 0x1dc7e5
leaq -0xb30(%rbp), %rdi
callq 0x34320
movq %rax, -0xd40(%rbp)
jmp 0x67a8d
movq -0xd40(%rbp), %rdi
leaq 0x179e43(%rip), %rsi    # 0x1e18de
callq 0x7f8f0
movq %rax, -0xd48(%rbp)
jmp 0x67aa9
movq -0xd48(%rbp), %rdi
leaq 0x178cf5(%rip), %rsi    # 0x1e07ac
callq 0x34320
movq %rax, -0xd50(%rbp)
jmp 0x67ac5
movq -0xd50(%rbp), %rdi
leaq 0x22a885(%rip), %rsi    # 0x292358
callq 0x355c0
movq %rax, -0xd58(%rbp)
jmp 0x67ae1
movq -0xd58(%rbp), %rdi
leaq 0x174cf6(%rip), %rsi    # 0x1dc7e5
callq 0x34320
movq %rax, -0xd60(%rbp)
jmp 0x67afd
movq -0xd60(%rbp), %rdi
leaq 0x17dbce(%rip), %rsi    # 0x1e56d9
callq 0x85670
movq %rax, -0xd68(%rbp)
jmp 0x67b19
movq -0xd68(%rbp), %rdi
leaq 0x178c85(%rip), %rsi    # 0x1e07ac
callq 0x34320
movq %rax, -0xd70(%rbp)
jmp 0x67b35
leaq 0x22a71c(%rip), %rdi    # 0x292258
callq 0x1a900
movq %rax, -0xd78(%rbp)
jmp 0x67b4a
movq -0xd70(%rbp), %rdi
movq -0xd78(%rbp), %rax
addq %rax, %rax
movq %rax, -0xb60(%rbp)
leaq -0xb60(%rbp), %rsi
callq 0x355c0
movq %rax, -0xd80(%rbp)
jmp 0x67b77
movq -0xd80(%rbp), %rdi
leaq 0x18e8f6(%rip), %rsi    # 0x1f647b
callq 0x34320
jmp 0x67b8c
leaq -0xb30(%rbp), %rdi
callq 0x10ff0
jmp 0x67b9a
leaq -0xb50(%rbp), %rdi
callq 0x3100
leaq -0xb51(%rbp), %rdi
callq 0x3290
jmp 0x67ce6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xb8(%rbp)
movl %eax, -0xbc(%rbp)
jmp 0x67c0d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xb8(%rbp)
movl %eax, -0xbc(%rbp)
jmp 0x67c01
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xb8(%rbp)
movl %eax, -0xbc(%rbp)
leaq -0x7a0(%rbp), %rdi
callq 0x10ff0
jmp 0x67bff
jmp 0x67c01
leaq -0x7c0(%rbp), %rdi
callq 0x3100
leaq -0x7c1(%rbp), %rdi
callq 0x3290
jmp 0x67cef
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xb8(%rbp)
movl %eax, -0xbc(%rbp)
jmp 0x67c74
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xb8(%rbp)
movl %eax, -0xbc(%rbp)
jmp 0x67c68
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xb8(%rbp)
movl %eax, -0xbc(%rbp)
leaq -0x968(%rbp), %rdi
callq 0x10ff0
jmp 0x67c66
jmp 0x67c68
leaq -0x988(%rbp), %rdi
callq 0x3100
leaq -0x989(%rbp), %rdi
callq 0x3290
jmp 0x67cef
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xb8(%rbp)
movl %eax, -0xbc(%rbp)
jmp 0x67cd8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xb8(%rbp)
movl %eax, -0xbc(%rbp)
jmp 0x67ccc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xb8(%rbp)
movl %eax, -0xbc(%rbp)
leaq -0xb30(%rbp), %rdi
callq 0x10ff0
jmp 0x67cca
jmp 0x67ccc
leaq -0xb50(%rbp), %rdi
callq 0x3100
leaq -0xb51(%rbp), %rdi
callq 0x3290
jmp 0x67cef
addq $0xd80, %rsp            # imm = 0xD80
popq %rbp
retq
movq -0xb8(%rbp), %rdi
callq 0x33a0
movq %rax, %rdi
callq 0x116d0
nopw %cs:(%rax,%rax)
nopl (%rax)