// File: halfflat[P]tinyopt/test/test_maybe.cc
// Function: maybe_conditional_apply_arg_Test::TestBody()
TEST(maybe, conditional_apply_arg) {
    int c = 0;
    auto f = [&c](int n) { c += n; };

    EXPECT_TRUE(f << maybe<int>(22));
    EXPECT_EQ(22, c);

    EXPECT_FALSE(f << maybe<int>());
    EXPECT_EQ(22, c);

    EXPECT_TRUE(f << maybe<double>(-7));
    EXPECT_EQ(15, c);

    c = 100;
    auto g = [&c](int n) { c += n; return n+1; };

    auto r1 = g << maybe<int>(10);
    ASSERT_TRUE(r1);
    EXPECT_EQ(11, r1.value());
    EXPECT_EQ(110, c);

    auto r2 = g << maybe<int>();
    EXPECT_FALSE(r2);
    EXPECT_EQ(110, c);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x390, %rsp            # imm = 0x390
movq %rdi, -0x8(%rbp)
movl $0x0, -0xc(%rbp)
leaq -0xc(%rbp), %rax
movq %rax, -0x18(%rbp)
movl $0x16, -0x38(%rbp)
leaq -0x34(%rbp), %rdi
movq %rdi, -0x2e0(%rbp)
leaq -0x38(%rbp), %rsi
callq 0x20020
movq -0x2e0(%rbp), %rdx
leaq -0x29(%rbp), %rdi
leaq -0x18(%rbp), %rsi
callq 0x287b0
jmp 0x2774f
xorl %eax, %eax
movl %eax, %edx
leaq -0x28(%rbp), %rdi
leaq -0x29(%rbp), %rsi
callq 0x29220
jmp 0x27762
leaq -0x34(%rbp), %rdi
callq 0x1d710
leaq -0x28(%rbp), %rdi
callq 0x1d4e0
movb %al, -0x2e1(%rbp)
jmp 0x2777c
movb -0x2e1(%rbp), %al
testb $0x1, %al
jne 0x27788
jmp 0x277b8
jmp 0x27880
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x34(%rbp), %rdi
callq 0x1d710
jmp 0x2879a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x278e4
leaq -0x50(%rbp), %rdi
callq 0x84210
jmp 0x277c3
leaq 0xa15a8(%rip), %rdx     # 0xc8d72
leaq 0xa0c7e(%rip), %rcx     # 0xc844f
leaq 0xa0c7d(%rip), %r8      # 0xc8455
leaq -0x78(%rbp), %rdi
leaq -0x28(%rbp), %rsi
callq 0x7d210
jmp 0x277e7
leaq -0x78(%rbp), %rdi
callq 0x102c0
movq %rax, %r8
leaq 0xa1391(%rip), %rdx     # 0xc8b8b
leaq -0x58(%rbp), %rdi
movl $0x1, %esi
movl $0x75, %ecx
callq 0x80580
jmp 0x2780f
leaq -0x58(%rbp), %rdi
leaq -0x50(%rbp), %rsi
callq 0x7d370
jmp 0x2781e
leaq -0x58(%rbp), %rdi
callq 0x80600
leaq -0x78(%rbp), %rdi
callq 0x10fc8
leaq -0x50(%rbp), %rdi
callq 0x1d500
jmp 0x27880
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x27875
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x2786c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x58(%rbp), %rdi
callq 0x80600
leaq -0x78(%rbp), %rdi
callq 0x10fc8
leaq -0x50(%rbp), %rdi
callq 0x1d500
jmp 0x278e4
leaq -0x28(%rbp), %rdi
callq 0x1d520
movl $0x16, -0x8c(%rbp)
leaq 0xa1514(%rip), %rsi     # 0xc8dae
leaq 0xa86f8(%rip), %rdx     # 0xcff99
leaq -0x88(%rbp), %rdi
movq %rdi, -0x2f0(%rbp)
leaq -0x8c(%rbp), %rcx
leaq -0xc(%rbp), %r8
callq 0x1d5d0
movq -0x2f0(%rbp), %rdi
callq 0x1d4e0
movb %al, -0x2e2(%rbp)
jmp 0x278d3
movb -0x2e2(%rbp), %al
testb $0x1, %al
jne 0x278df
jmp 0x27903
jmp 0x279b2
leaq -0x28(%rbp), %rdi
callq 0x1d520
jmp 0x2879a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x27a48
leaq -0x98(%rbp), %rdi
callq 0x84210
jmp 0x27911
leaq -0x88(%rbp), %rdi
callq 0x1d620
movq %rax, -0x2f8(%rbp)
jmp 0x27926
movq -0x2f8(%rbp), %r8
leaq 0xa1257(%rip), %rdx     # 0xc8b8b
leaq -0xa0(%rbp), %rdi
movl $0x1, %esi
movl $0x76, %ecx
callq 0x80580
jmp 0x2794c
leaq -0xa0(%rbp), %rdi
leaq -0x98(%rbp), %rsi
callq 0x7d370
jmp 0x27961
leaq -0xa0(%rbp), %rdi
callq 0x80600
leaq -0x98(%rbp), %rdi
callq 0x1d500
jmp 0x279b2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x279a1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0xa0(%rbp), %rdi
callq 0x80600
leaq -0x98(%rbp), %rdi
callq 0x1d500
jmp 0x27a48
leaq -0x88(%rbp), %rdi
callq 0x1d520
leaq -0xbc(%rbp), %rdi
movq %rdi, -0x300(%rbp)
callq 0x1d640
movq -0x300(%rbp), %rdx
leaq -0xb2(%rbp), %rdi
leaq -0x18(%rbp), %rsi
callq 0x287b0
jmp 0x279ea
leaq -0xb2(%rbp), %rdi
callq 0x20d30
xorb $0x1, %al
movb %al, -0xb1(%rbp)
xorl %eax, %eax
movl %eax, %edx
leaq -0xb0(%rbp), %rdi
leaq -0xb1(%rbp), %rsi
callq 0x1d4a0
jmp 0x27a17
leaq -0xbc(%rbp), %rdi
callq 0x1d710
leaq -0xb0(%rbp), %rdi
callq 0x1d4e0
movb %al, -0x301(%rbp)
jmp 0x27a37
movb -0x301(%rbp), %al
testb $0x1, %al
jne 0x27a43
jmp 0x27a87
jmp 0x27b76
leaq -0x88(%rbp), %rdi
callq 0x1d520
jmp 0x2879a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0xbc(%rbp), %rdi
callq 0x1d710
jmp 0x2879a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x27bdd
leaq -0xc8(%rbp), %rdi
callq 0x84210
jmp 0x27a95
leaq 0xa12ea(%rip), %rdx     # 0xc8d86
leaq 0xa09b2(%rip), %rcx     # 0xc8455
leaq 0xa09a5(%rip), %r8      # 0xc844f
leaq -0xf0(%rbp), %rdi
leaq -0xb0(%rbp), %rsi
callq 0x7d210
jmp 0x27abf
leaq -0xf0(%rbp), %rdi
callq 0x102c0
movq %rax, %r8
leaq 0xa10b6(%rip), %rdx     # 0xc8b8b
leaq -0xd0(%rbp), %rdi
movl $0x1, %esi
movl $0x78, %ecx
callq 0x80580
jmp 0x27aed
leaq -0xd0(%rbp), %rdi
leaq -0xc8(%rbp), %rsi
callq 0x7d370
jmp 0x27b02
leaq -0xd0(%rbp), %rdi
callq 0x80600
leaq -0xf0(%rbp), %rdi
callq 0x10fc8
leaq -0xc8(%rbp), %rdi
callq 0x1d500
jmp 0x27b76
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x27b68
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x27b5c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0xd0(%rbp), %rdi
callq 0x80600
leaq -0xf0(%rbp), %rdi
callq 0x10fc8
leaq -0xc8(%rbp), %rdi
callq 0x1d500
jmp 0x27bdd
leaq -0xb0(%rbp), %rdi
callq 0x1d520
movl $0x16, -0x104(%rbp)
leaq 0xa121b(%rip), %rsi     # 0xc8dae
leaq 0xa83ff(%rip), %rdx     # 0xcff99
leaq -0x100(%rbp), %rdi
movq %rdi, -0x310(%rbp)
leaq -0x104(%rbp), %rcx
leaq -0xc(%rbp), %r8
callq 0x1d5d0
movq -0x310(%rbp), %rdi
callq 0x1d4e0
movb %al, -0x302(%rbp)
jmp 0x27bcc
movb -0x302(%rbp), %al
testb $0x1, %al
jne 0x27bd8
jmp 0x27bff
jmp 0x27cae
leaq -0xb0(%rbp), %rdi
callq 0x1d520
jmp 0x2879a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x27d48
leaq -0x110(%rbp), %rdi
callq 0x84210
jmp 0x27c0d
leaq -0x100(%rbp), %rdi
callq 0x1d620
movq %rax, -0x318(%rbp)
jmp 0x27c22
movq -0x318(%rbp), %r8
leaq 0xa0f5b(%rip), %rdx     # 0xc8b8b
leaq -0x118(%rbp), %rdi
movl $0x1, %esi
movl $0x79, %ecx
callq 0x80580
jmp 0x27c48
leaq -0x118(%rbp), %rdi
leaq -0x110(%rbp), %rsi
callq 0x7d370
jmp 0x27c5d
leaq -0x118(%rbp), %rdi
callq 0x80600
leaq -0x110(%rbp), %rdi
callq 0x1d500
jmp 0x27cae
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x27c9d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x118(%rbp), %rdi
callq 0x80600
leaq -0x110(%rbp), %rdi
callq 0x1d500
jmp 0x27d48
leaq -0x100(%rbp), %rdi
callq 0x1d520
movabsq $-0x3fe4000000000000, %rax # imm = 0xC01C000000000000
movq %rax, -0x148(%rbp)
leaq -0x140(%rbp), %rdi
movq %rdi, -0x320(%rbp)
leaq -0x148(%rbp), %rsi
callq 0x21dc0
movq -0x320(%rbp), %rdx
leaq -0x129(%rbp), %rdi
leaq -0x18(%rbp), %rsi
callq 0x28830
jmp 0x27cfe
xorl %eax, %eax
movl %eax, %edx
leaq -0x128(%rbp), %rdi
leaq -0x129(%rbp), %rsi
callq 0x29220
jmp 0x27d17
leaq -0x140(%rbp), %rdi
callq 0x21450
leaq -0x128(%rbp), %rdi
callq 0x1d4e0
movb %al, -0x321(%rbp)
jmp 0x27d37
movb -0x321(%rbp), %al
testb $0x1, %al
jne 0x27d43
jmp 0x27d87
jmp 0x27e76
leaq -0x100(%rbp), %rdi
callq 0x1d520
jmp 0x2879a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x140(%rbp), %rdi
callq 0x21450
jmp 0x2879a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x27edd
leaq -0x150(%rbp), %rdi
callq 0x84210
jmp 0x27d95
leaq 0xa1015(%rip), %rdx     # 0xc8db1
leaq 0xa06ac(%rip), %rcx     # 0xc844f
leaq 0xa06ab(%rip), %r8      # 0xc8455
leaq -0x178(%rbp), %rdi
leaq -0x128(%rbp), %rsi
callq 0x7d210
jmp 0x27dbf
leaq -0x178(%rbp), %rdi
callq 0x102c0
movq %rax, %r8
leaq 0xa0db6(%rip), %rdx     # 0xc8b8b
leaq -0x158(%rbp), %rdi
movl $0x1, %esi
movl $0x7b, %ecx
callq 0x80580
jmp 0x27ded
leaq -0x158(%rbp), %rdi
leaq -0x150(%rbp), %rsi
callq 0x7d370
jmp 0x27e02
leaq -0x158(%rbp), %rdi
callq 0x80600
leaq -0x178(%rbp), %rdi
callq 0x10fc8
leaq -0x150(%rbp), %rdi
callq 0x1d500
jmp 0x27e76
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x27e68
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x27e5c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x158(%rbp), %rdi
callq 0x80600
leaq -0x178(%rbp), %rdi
callq 0x10fc8
leaq -0x150(%rbp), %rdi
callq 0x1d500
jmp 0x27edd
leaq -0x128(%rbp), %rdi
callq 0x1d520
movl $0xf, -0x18c(%rbp)
leaq 0xa0f35(%rip), %rsi     # 0xc8dc8
leaq 0xa80ff(%rip), %rdx     # 0xcff99
leaq -0x188(%rbp), %rdi
movq %rdi, -0x330(%rbp)
leaq -0x18c(%rbp), %rcx
leaq -0xc(%rbp), %r8
callq 0x1d5d0
movq -0x330(%rbp), %rdi
callq 0x1d4e0
movb %al, -0x322(%rbp)
jmp 0x27ecc
movb -0x322(%rbp), %al
testb $0x1, %al
jne 0x27ed8
jmp 0x27eff
jmp 0x27fae
leaq -0x128(%rbp), %rdi
callq 0x1d520
jmp 0x2879a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x28056
leaq -0x198(%rbp), %rdi
callq 0x84210
jmp 0x27f0d
leaq -0x188(%rbp), %rdi
callq 0x1d620
movq %rax, -0x338(%rbp)
jmp 0x27f22
movq -0x338(%rbp), %r8
leaq 0xa0c5b(%rip), %rdx     # 0xc8b8b
leaq -0x1a0(%rbp), %rdi
movl $0x1, %esi
movl $0x7c, %ecx
callq 0x80580
jmp 0x27f48
leaq -0x1a0(%rbp), %rdi
leaq -0x198(%rbp), %rsi
callq 0x7d370
jmp 0x27f5d
leaq -0x1a0(%rbp), %rdi
callq 0x80600
leaq -0x198(%rbp), %rdi
callq 0x1d500
jmp 0x27fae
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x27f9d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x1a0(%rbp), %rdi
callq 0x80600
leaq -0x198(%rbp), %rdi
callq 0x1d500
jmp 0x28056
leaq -0x188(%rbp), %rdi
callq 0x1d520
movl $0x64, -0xc(%rbp)
leaq -0xc(%rbp), %rax
movq %rax, -0x1a8(%rbp)
movl $0xa, -0x1bc(%rbp)
leaq -0x1b8(%rbp), %rdi
movq %rdi, -0x340(%rbp)
leaq -0x1bc(%rbp), %rsi
callq 0x20020
movq -0x340(%rbp), %rdx
leaq -0x1b0(%rbp), %rdi
leaq -0x1a8(%rbp), %rsi
callq 0x288b0
jmp 0x2800c
leaq -0x1b8(%rbp), %rdi
callq 0x1d710
xorl %eax, %eax
movl %eax, %edx
leaq -0x1d0(%rbp), %rdi
leaq -0x1b0(%rbp), %rsi
callq 0x1d6b0
jmp 0x28031
leaq -0x1d0(%rbp), %rdi
callq 0x1d4e0
movb %al, -0x341(%rbp)
jmp 0x28045
movb -0x341(%rbp), %al
testb $0x1, %al
jne 0x28051
jmp 0x280a6
jmp 0x281a2
leaq -0x188(%rbp), %rdi
callq 0x1d520
jmp 0x2879a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x1b8(%rbp), %rdi
callq 0x1d710
jmp 0x2879a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x2878e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x28236
leaq -0x1d8(%rbp), %rdi
callq 0x84210
jmp 0x280b4
leaq 0xa0d10(%rip), %rdx     # 0xc8dcb
leaq 0xa038d(%rip), %rcx     # 0xc844f
leaq 0xa038c(%rip), %r8      # 0xc8455
leaq -0x200(%rbp), %rdi
leaq -0x1d0(%rbp), %rsi
callq 0x7d210
jmp 0x280de
leaq -0x200(%rbp), %rdi
callq 0x102c0
movq %rax, %r8
leaq 0xa0a97(%rip), %rdx     # 0xc8b8b
leaq -0x1e0(%rbp), %rdi
movl $0x2, %esi
movl $0x82, %ecx
callq 0x80580
jmp 0x2810c
leaq -0x1e0(%rbp), %rdi
leaq -0x1d8(%rbp), %rsi
callq 0x7d370
jmp 0x28121
leaq -0x1e0(%rbp), %rdi
callq 0x80600
leaq -0x200(%rbp), %rdi
callq 0x10fc8
leaq -0x1d8(%rbp), %rdi
callq 0x1d500
movl $0x1, -0x204(%rbp)
jmp 0x281ac
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x28191
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x28185
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x1e0(%rbp), %rdi
callq 0x80600
leaq -0x200(%rbp), %rdi
callq 0x10fc8
leaq -0x1d8(%rbp), %rdi
callq 0x1d500
jmp 0x28236
movl $0x0, -0x204(%rbp)
leaq -0x1d0(%rbp), %rdi
callq 0x1d520
movl -0x204(%rbp), %eax
testl %eax, %eax
jne 0x28761
jmp 0x281c8
movl $0xb, -0x21c(%rbp)
leaq -0x1b0(%rbp), %rdi
callq 0x296c0
movq %rax, -0x350(%rbp)
jmp 0x281e7
movq -0x350(%rbp), %r8
leaq 0xa0bd9(%rip), %rsi     # 0xc8dce
leaq 0xa0bd5(%rip), %rdx     # 0xc8dd1
leaq -0x218(%rbp), %rdi
leaq -0x21c(%rbp), %rcx
callq 0x1d5d0
jmp 0x28211
leaq -0x218(%rbp), %rdi
callq 0x1d4e0
movb %al, -0x351(%rbp)
jmp 0x28225
movb -0x351(%rbp), %al
testb $0x1, %al
jne 0x28231
jmp 0x28258
jmp 0x28304
leaq -0x1d0(%rbp), %rdi
callq 0x1d520
jmp 0x2878e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x28366
leaq -0x228(%rbp), %rdi
callq 0x84210
jmp 0x28266
leaq -0x218(%rbp), %rdi
callq 0x1d620
movq %rax, -0x360(%rbp)
jmp 0x2827b
movq -0x360(%rbp), %r8
leaq 0xa0902(%rip), %rdx     # 0xc8b8b
leaq -0x230(%rbp), %rdi
movl $0x1, %esi
movl $0x83, %ecx
callq 0x80580
jmp 0x282a1
leaq -0x230(%rbp), %rdi
leaq -0x228(%rbp), %rsi
callq 0x7d370
jmp 0x282b6
leaq -0x230(%rbp), %rdi
callq 0x80600
leaq -0x228(%rbp), %rdi
callq 0x1d500
jmp 0x28304
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x282f6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x230(%rbp), %rdi
callq 0x80600
leaq -0x228(%rbp), %rdi
callq 0x1d500
jmp 0x28366
leaq -0x218(%rbp), %rdi
callq 0x1d520
movl $0x6e, -0x244(%rbp)
leaq 0xa0abb(%rip), %rsi     # 0xc8ddc
leaq 0xa7c71(%rip), %rdx     # 0xcff99
leaq -0x240(%rbp), %rdi
leaq -0x244(%rbp), %rcx
leaq -0xc(%rbp), %r8
callq 0x1d5d0
jmp 0x28341
leaq -0x240(%rbp), %rdi
callq 0x1d4e0
movb %al, -0x361(%rbp)
jmp 0x28355
movb -0x361(%rbp), %al
testb $0x1, %al
jne 0x28361
jmp 0x28388
jmp 0x28437
leaq -0x218(%rbp), %rdi
callq 0x1d520
jmp 0x2878e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x284d0
leaq -0x250(%rbp), %rdi
callq 0x84210
jmp 0x28396
leaq -0x240(%rbp), %rdi
callq 0x1d620
movq %rax, -0x370(%rbp)
jmp 0x283ab
movq -0x370(%rbp), %r8
leaq 0xa07d2(%rip), %rdx     # 0xc8b8b
leaq -0x258(%rbp), %rdi
movl $0x1, %esi
movl $0x84, %ecx
callq 0x80580
jmp 0x283d1
leaq -0x258(%rbp), %rdi
leaq -0x250(%rbp), %rsi
callq 0x7d370
jmp 0x283e6
leaq -0x258(%rbp), %rdi
callq 0x80600
leaq -0x250(%rbp), %rdi
callq 0x1d500
jmp 0x28437
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x28426
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x258(%rbp), %rdi
callq 0x80600
leaq -0x250(%rbp), %rdi
callq 0x1d500
jmp 0x284d0
leaq -0x240(%rbp), %rdi
callq 0x1d520
leaq -0x268(%rbp), %rdi
movq %rdi, -0x378(%rbp)
callq 0x1d640
movq -0x378(%rbp), %rdx
leaq -0x260(%rbp), %rdi
leaq -0x1a8(%rbp), %rsi
callq 0x288b0
jmp 0x28472
leaq -0x268(%rbp), %rdi
callq 0x1d710
leaq -0x260(%rbp), %rdi
callq 0x1d690
xorb $0x1, %al
movb %al, -0x279(%rbp)
xorl %eax, %eax
movl %eax, %edx
leaq -0x278(%rbp), %rdi
leaq -0x279(%rbp), %rsi
callq 0x1d4a0
jmp 0x284ab
leaq -0x278(%rbp), %rdi
callq 0x1d4e0
movb %al, -0x379(%rbp)
jmp 0x284bf
movb -0x379(%rbp), %al
testb $0x1, %al
jne 0x284cb
jmp 0x28520
jmp 0x2860f
leaq -0x240(%rbp), %rdi
callq 0x1d520
jmp 0x2878e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x268(%rbp), %rdi
callq 0x1d710
jmp 0x2878e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x28782
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x28671
leaq -0x288(%rbp), %rdi
callq 0x84210
jmp 0x2852e
leaq 0xa08ab(%rip), %rdx     # 0xc8de0
leaq 0x9ff19(%rip), %rcx     # 0xc8455
leaq 0x9ff0c(%rip), %r8      # 0xc844f
leaq -0x2b0(%rbp), %rdi
leaq -0x278(%rbp), %rsi
callq 0x7d210
jmp 0x28558
leaq -0x2b0(%rbp), %rdi
callq 0x102c0
movq %rax, %r8
leaq 0xa061d(%rip), %rdx     # 0xc8b8b
leaq -0x290(%rbp), %rdi
movl $0x1, %esi
movl $0x87, %ecx
callq 0x80580
jmp 0x28586
leaq -0x290(%rbp), %rdi
leaq -0x288(%rbp), %rsi
callq 0x7d370
jmp 0x2859b
leaq -0x290(%rbp), %rdi
callq 0x80600
leaq -0x2b0(%rbp), %rdi
callq 0x10fc8
leaq -0x288(%rbp), %rdi
callq 0x1d500
jmp 0x2860f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x28601
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x285f5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x290(%rbp), %rdi
callq 0x80600
leaq -0x2b0(%rbp), %rdi
callq 0x10fc8
leaq -0x288(%rbp), %rdi
callq 0x1d500
jmp 0x28671
leaq -0x278(%rbp), %rdi
callq 0x1d520
movl $0x6e, -0x2c4(%rbp)
leaq 0xa07b0(%rip), %rsi     # 0xc8ddc
leaq 0xa7966(%rip), %rdx     # 0xcff99
leaq -0x2c0(%rbp), %rdi
leaq -0x2c4(%rbp), %rcx
leaq -0xc(%rbp), %r8
callq 0x1d5d0
jmp 0x2864c
leaq -0x2c0(%rbp), %rdi
callq 0x1d4e0
movb %al, -0x37a(%rbp)
jmp 0x28660
movb -0x37a(%rbp), %al
testb $0x1, %al
jne 0x2866c
jmp 0x28693
jmp 0x2873f
leaq -0x278(%rbp), %rdi
callq 0x1d520
jmp 0x28782
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x28776
leaq -0x2d0(%rbp), %rdi
callq 0x84210
jmp 0x286a1
leaq -0x2c0(%rbp), %rdi
callq 0x1d620
movq %rax, -0x388(%rbp)
jmp 0x286b6
movq -0x388(%rbp), %r8
leaq 0xa04c7(%rip), %rdx     # 0xc8b8b
leaq -0x2d8(%rbp), %rdi
movl $0x1, %esi
movl $0x88, %ecx
callq 0x80580
jmp 0x286dc
leaq -0x2d8(%rbp), %rdi
leaq -0x2d0(%rbp), %rsi
callq 0x7d370
jmp 0x286f1
leaq -0x2d8(%rbp), %rdi
callq 0x80600
leaq -0x2d0(%rbp), %rdi
callq 0x1d500
jmp 0x2873f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x28731
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x2d8(%rbp), %rdi
callq 0x80600
leaq -0x2d0(%rbp), %rdi
callq 0x1d500
jmp 0x28776
leaq -0x2c0(%rbp), %rdi
callq 0x1d520
leaq -0x260(%rbp), %rdi
callq 0x1d710
movl $0x0, -0x204(%rbp)
leaq -0x1b0(%rbp), %rdi
callq 0x1d710
addq $0x390, %rsp            # imm = 0x390
popq %rbp
retq
leaq -0x2c0(%rbp), %rdi
callq 0x1d520
leaq -0x260(%rbp), %rdi
callq 0x1d710
leaq -0x1b0(%rbp), %rdi
callq 0x1d710
movq -0x40(%rbp), %rdi
callq 0x10e00
nopw %cs:(%rax,%rax)