// File: halfflat[P]tinyopt/test/test_parse.cc
// Function: parse_custom_parser_Test::TestBody()
TEST(parse, custom_parser) {
    auto custom = [](const char* s) -> to::maybe<bool> {
        if (!std::strcmp("no", s)) return false;
        if (!std::strcmp("yes", s)) return true;
        return to::nothing;
    };

    {
        mockargs M("-s\0yes\0");
        char** arg = M.argv;

        auto r = to::parse<bool>(arg, custom, "-s");
        ASSERT_TRUE(r);
        ASSERT_EQ(true, *r);
        ASSERT_EQ(M.argv+2, arg);
    }

    {
        mockargs M("-s\0no\0");
        char** arg = M.argv;

        auto r = to::parse<bool>(arg, custom, "-s");
        ASSERT_TRUE(r);
        ASSERT_EQ(false, *r);
        ASSERT_EQ(M.argv+2, arg);
    }

    {
        mockargs M("-s\0what?\0");
        char** arg = M.argv;

        EXPECT_THROW(to::parse<bool>(arg, custom, "-s"), to::option_parse_error);
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x330, %rsp            # imm = 0x330
movq %rdi, -0x8(%rbp)
leaq 0x78d01(%rip), %rsi     # 0xcab57
leaq -0x38(%rbp), %rdi
callq 0x4bfe0
movq -0x30(%rbp), %rax
movq %rax, -0x40(%rbp)
leaq 0x7885f(%rip), %rsi     # 0xca6cd
leaq -0x70(%rbp), %rdi
callq 0x38290
jmp 0x51e79
leaq -0x42(%rbp), %rdi
leaq -0x40(%rbp), %rsi
leaq -0x9(%rbp), %rdx
leaq -0x70(%rbp), %rcx
callq 0x52c30
jmp 0x51e90
leaq -0x70(%rbp), %rdi
callq 0x384f0
xorl %eax, %eax
movl %eax, %edx
leaq -0x90(%rbp), %rdi
leaq -0x42(%rbp), %rsi
callq 0x53640
jmp 0x51eaf
leaq -0x90(%rbp), %rdi
callq 0x1d4e0
movb %al, -0x2d1(%rbp)
jmp 0x51ec3
movb -0x2d1(%rbp), %al
testb $0x1, %al
jne 0x51ecf
jmp 0x51f21
jmp 0x5201d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
jmp 0x523d9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
leaq -0x70(%rbp), %rdi
callq 0x384f0
jmp 0x523d9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
jmp 0x523d0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
jmp 0x5209e
leaq -0x98(%rbp), %rdi
callq 0x84210
jmp 0x51f2f
leaq 0x787ab(%rip), %rdx     # 0xca6e1
leaq 0x76512(%rip), %rcx     # 0xc844f
leaq 0x76511(%rip), %r8      # 0xc8455
leaq -0xc0(%rbp), %rdi
leaq -0x90(%rbp), %rsi
callq 0x7d210
jmp 0x51f59
leaq -0xc0(%rbp), %rdi
callq 0x102c0
movq %rax, %r8
leaq 0x78710(%rip), %rdx     # 0xca67f
leaq -0xa0(%rbp), %rdi
movl $0x2, %esi
movl $0x74, %ecx
callq 0x80580
jmp 0x51f87
leaq -0xa0(%rbp), %rdi
leaq -0x98(%rbp), %rsi
callq 0x7d370
jmp 0x51f9c
leaq -0xa0(%rbp), %rdi
callq 0x80600
leaq -0xc0(%rbp), %rdi
callq 0x10fc8
leaq -0x98(%rbp), %rdi
callq 0x1d500
movl $0x1, -0xc4(%rbp)
jmp 0x52027
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
jmp 0x5200c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
jmp 0x52000
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
leaq -0xa0(%rbp), %rdi
callq 0x80600
leaq -0xc0(%rbp), %rdi
callq 0x10fc8
leaq -0x98(%rbp), %rdi
callq 0x1d500
jmp 0x5209e
movl $0x0, -0xc4(%rbp)
leaq -0x90(%rbp), %rdi
callq 0x1d520
movl -0xc4(%rbp), %eax
testl %eax, %eax
jne 0x52301
jmp 0x52043
movb $0x1, -0xd9(%rbp)
leaq -0x42(%rbp), %rdi
callq 0x42360
movq %rax, %r8
leaq 0x763f8(%rip), %rsi     # 0xc8455
leaq 0x7867c(%rip), %rdx     # 0xca6e0
leaq -0xd8(%rbp), %rdi
leaq -0xd9(%rbp), %rcx
callq 0x53680
jmp 0x52079
leaq -0xd8(%rbp), %rdi
callq 0x1d4e0
movb %al, -0x2d2(%rbp)
jmp 0x5208d
movb -0x2d2(%rbp), %al
testb $0x1, %al
jne 0x52099
jmp 0x520c0
jmp 0x52179
leaq -0x90(%rbp), %rdi
callq 0x1d520
jmp 0x523d0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
jmp 0x521fa
leaq -0xe8(%rbp), %rdi
callq 0x84210
jmp 0x520ce
leaq -0xd8(%rbp), %rdi
callq 0x1d620
movq %rax, -0x2e0(%rbp)
jmp 0x520e3
movq -0x2e0(%rbp), %r8
leaq 0x7858e(%rip), %rdx     # 0xca67f
leaq -0xf0(%rbp), %rdi
movl $0x2, %esi
movl $0x75, %ecx
callq 0x80580
jmp 0x52109
leaq -0xf0(%rbp), %rdi
leaq -0xe8(%rbp), %rsi
callq 0x7d370
jmp 0x5211e
leaq -0xf0(%rbp), %rdi
callq 0x80600
leaq -0xe8(%rbp), %rdi
callq 0x1d500
movl $0x1, -0xc4(%rbp)
jmp 0x52183
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
jmp 0x52168
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
leaq -0xf0(%rbp), %rdi
callq 0x80600
leaq -0xe8(%rbp), %rdi
callq 0x1d500
jmp 0x521fa
movl $0x0, -0xc4(%rbp)
leaq -0xd8(%rbp), %rdi
callq 0x1d520
movl -0xc4(%rbp), %eax
testl %eax, %eax
jne 0x52301
jmp 0x5219f
movq -0x30(%rbp), %rax
addq $0x10, %rax
movq %rax, -0x108(%rbp)
leaq 0x7852e(%rip), %rsi     # 0xca6e3
leaq 0x774c9(%rip), %rdx     # 0xc9685
leaq -0x100(%rbp), %rdi
leaq -0x108(%rbp), %rcx
leaq -0x40(%rbp), %r8
callq 0x53440
jmp 0x521d5
leaq -0x100(%rbp), %rdi
callq 0x1d4e0
movb %al, -0x2e1(%rbp)
jmp 0x521e9
movb -0x2e1(%rbp), %al
testb $0x1, %al
jne 0x521f5
jmp 0x5221c
jmp 0x522d5
leaq -0xd8(%rbp), %rdi
callq 0x1d520
jmp 0x523d0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
jmp 0x523c4
leaq -0x110(%rbp), %rdi
callq 0x84210
jmp 0x5222a
leaq -0x100(%rbp), %rdi
callq 0x1d620
movq %rax, -0x2f0(%rbp)
jmp 0x5223f
movq -0x2f0(%rbp), %r8
leaq 0x78432(%rip), %rdx     # 0xca67f
leaq -0x118(%rbp), %rdi
movl $0x2, %esi
movl $0x76, %ecx
callq 0x80580
jmp 0x52265
leaq -0x118(%rbp), %rdi
leaq -0x110(%rbp), %rsi
callq 0x7d370
jmp 0x5227a
leaq -0x118(%rbp), %rdi
callq 0x80600
leaq -0x110(%rbp), %rdi
callq 0x1d500
movl $0x1, -0xc4(%rbp)
jmp 0x522df
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
jmp 0x522c4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
leaq -0x118(%rbp), %rdi
callq 0x80600
leaq -0x110(%rbp), %rdi
callq 0x1d500
jmp 0x523c4
movl $0x0, -0xc4(%rbp)
leaq -0x100(%rbp), %rdi
callq 0x1d520
movl -0xc4(%rbp), %eax
testl %eax, %eax
jne 0x52301
jmp 0x522f7
movl $0x0, -0xc4(%rbp)
leaq -0x42(%rbp), %rdi
callq 0x423a0
leaq -0x38(%rbp), %rdi
callq 0x4c380
movl -0xc4(%rbp), %eax
testl %eax, %eax
je 0x52324
jmp 0x5231f
jmp 0x52bf4
leaq 0x78883(%rip), %rsi     # 0xcabae
leaq -0x140(%rbp), %rdi
callq 0x4bfe0
movq -0x138(%rbp), %rax
movq %rax, -0x148(%rbp)
leaq 0x78381(%rip), %rsi     # 0xca6cd
leaq -0x178(%rbp), %rdi
callq 0x38290
jmp 0x5235a
leaq -0x14a(%rbp), %rdi
leaq -0x148(%rbp), %rsi
leaq -0x9(%rbp), %rdx
leaq -0x178(%rbp), %rcx
callq 0x52c30
jmp 0x5237a
leaq -0x178(%rbp), %rdi
callq 0x384f0
xorl %eax, %eax
movl %eax, %edx
leaq -0x188(%rbp), %rdi
leaq -0x14a(%rbp), %rsi
callq 0x53640
jmp 0x5239f
leaq -0x188(%rbp), %rdi
callq 0x1d4e0
movb %al, -0x2f1(%rbp)
jmp 0x523b3
movb -0x2f1(%rbp), %al
testb $0x1, %al
jne 0x523bf
jmp 0x52437
jmp 0x52533
leaq -0x100(%rbp), %rdi
callq 0x1d520
leaq -0x42(%rbp), %rdi
callq 0x423a0
leaq -0x38(%rbp), %rdi
callq 0x4c380
jmp 0x52c15
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
jmp 0x5293e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
leaq -0x178(%rbp), %rdi
callq 0x384f0
jmp 0x5293e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
jmp 0x52932
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
jmp 0x525b7
leaq -0x190(%rbp), %rdi
callq 0x84210
jmp 0x52445
leaq 0x78295(%rip), %rdx     # 0xca6e1
leaq 0x75ffc(%rip), %rcx     # 0xc844f
leaq 0x75ffb(%rip), %r8      # 0xc8455
leaq -0x1b8(%rbp), %rdi
leaq -0x188(%rbp), %rsi
callq 0x7d210
jmp 0x5246f
leaq -0x1b8(%rbp), %rdi
callq 0x102c0
movq %rax, %r8
leaq 0x781fa(%rip), %rdx     # 0xca67f
leaq -0x198(%rbp), %rdi
movl $0x2, %esi
movl $0x7e, %ecx
callq 0x80580
jmp 0x5249d
leaq -0x198(%rbp), %rdi
leaq -0x190(%rbp), %rsi
callq 0x7d370
jmp 0x524b2
leaq -0x198(%rbp), %rdi
callq 0x80600
leaq -0x1b8(%rbp), %rdi
callq 0x10fc8
leaq -0x190(%rbp), %rdi
callq 0x1d500
movl $0x1, -0xc4(%rbp)
jmp 0x5253d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
jmp 0x52522
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
jmp 0x52516
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
leaq -0x198(%rbp), %rdi
callq 0x80600
leaq -0x1b8(%rbp), %rdi
callq 0x10fc8
leaq -0x190(%rbp), %rdi
callq 0x1d500
jmp 0x525b7
movl $0x0, -0xc4(%rbp)
leaq -0x188(%rbp), %rdi
callq 0x1d520
movl -0xc4(%rbp), %eax
testl %eax, %eax
jne 0x52820
jmp 0x52559
movb $0x0, -0x1c9(%rbp)
leaq -0x14a(%rbp), %rdi
callq 0x42360
movq %rax, %r8
leaq 0x75ed9(%rip), %rsi     # 0xc844f
leaq 0x78163(%rip), %rdx     # 0xca6e0
leaq -0x1c8(%rbp), %rdi
leaq -0x1c9(%rbp), %rcx
callq 0x53680
jmp 0x52592
leaq -0x1c8(%rbp), %rdi
callq 0x1d4e0
movb %al, -0x2f2(%rbp)
jmp 0x525a6
movb -0x2f2(%rbp), %al
testb $0x1, %al
jne 0x525b2
jmp 0x525d9
jmp 0x52692
leaq -0x188(%rbp), %rdi
callq 0x1d520
jmp 0x52932
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
jmp 0x52719
leaq -0x1d8(%rbp), %rdi
callq 0x84210
jmp 0x525e7
leaq -0x1c8(%rbp), %rdi
callq 0x1d620
movq %rax, -0x300(%rbp)
jmp 0x525fc
movq -0x300(%rbp), %r8
leaq 0x78075(%rip), %rdx     # 0xca67f
leaq -0x1e0(%rbp), %rdi
movl $0x2, %esi
movl $0x7f, %ecx
callq 0x80580
jmp 0x52622
leaq -0x1e0(%rbp), %rdi
leaq -0x1d8(%rbp), %rsi
callq 0x7d370
jmp 0x52637
leaq -0x1e0(%rbp), %rdi
callq 0x80600
leaq -0x1d8(%rbp), %rdi
callq 0x1d500
movl $0x1, -0xc4(%rbp)
jmp 0x5269c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
jmp 0x52681
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
leaq -0x1e0(%rbp), %rdi
callq 0x80600
leaq -0x1d8(%rbp), %rdi
callq 0x1d500
jmp 0x52719
movl $0x0, -0xc4(%rbp)
leaq -0x1c8(%rbp), %rdi
callq 0x1d520
movl -0xc4(%rbp), %eax
testl %eax, %eax
jne 0x52820
jmp 0x526b8
movq -0x138(%rbp), %rax
addq $0x10, %rax
movq %rax, -0x1f8(%rbp)
leaq 0x78012(%rip), %rsi     # 0xca6e3
leaq 0x76fad(%rip), %rdx     # 0xc9685
leaq -0x1f0(%rbp), %rdi
leaq -0x1f8(%rbp), %rcx
leaq -0x148(%rbp), %r8
callq 0x53440
jmp 0x526f4
leaq -0x1f0(%rbp), %rdi
callq 0x1d4e0
movb %al, -0x301(%rbp)
jmp 0x52708
movb -0x301(%rbp), %al
testb $0x1, %al
jne 0x52714
jmp 0x5273b
jmp 0x527f4
leaq -0x1c8(%rbp), %rdi
callq 0x1d520
jmp 0x52932
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
jmp 0x52926
leaq -0x200(%rbp), %rdi
callq 0x84210
jmp 0x52749
leaq -0x1f0(%rbp), %rdi
callq 0x1d620
movq %rax, -0x310(%rbp)
jmp 0x5275e
movq -0x310(%rbp), %r8
leaq 0x77f13(%rip), %rdx     # 0xca67f
leaq -0x208(%rbp), %rdi
movl $0x2, %esi
movl $0x80, %ecx
callq 0x80580
jmp 0x52784
leaq -0x208(%rbp), %rdi
leaq -0x200(%rbp), %rsi
callq 0x7d370
jmp 0x52799
leaq -0x208(%rbp), %rdi
callq 0x80600
leaq -0x200(%rbp), %rdi
callq 0x1d500
movl $0x1, -0xc4(%rbp)
jmp 0x527fe
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
jmp 0x527e3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
leaq -0x208(%rbp), %rdi
callq 0x80600
leaq -0x200(%rbp), %rdi
callq 0x1d500
jmp 0x52926
movl $0x0, -0xc4(%rbp)
leaq -0x1f0(%rbp), %rdi
callq 0x1d520
movl -0xc4(%rbp), %eax
testl %eax, %eax
jne 0x52820
jmp 0x52816
movl $0x0, -0xc4(%rbp)
leaq -0x14a(%rbp), %rdi
callq 0x423a0
leaq -0x140(%rbp), %rdi
callq 0x4c380
movl -0xc4(%rbp), %eax
testl %eax, %eax
je 0x52849
jmp 0x52844
jmp 0x52bf4
leaq 0x78365(%rip), %rsi     # 0xcabb5
leaq -0x230(%rbp), %rdi
callq 0x4bfe0
movq -0x228(%rbp), %rax
movq %rax, -0x238(%rbp)
xorps %xmm0, %xmm0
movaps %xmm0, -0x250(%rbp)
movaps %xmm0, -0x260(%rbp)
leaq -0x260(%rbp), %rdi
movq %rdi, -0x320(%rbp)
callq 0x39af0
movq -0x320(%rbp), %rdi
callq 0x39b10
movb %al, -0x311(%rbp)
jmp 0x528a2
movb -0x311(%rbp), %al
testb $0x1, %al
jne 0x528b1
jmp 0x52b3b
movb $0x0, -0x261(%rbp)
callq 0x841d0
movb %al, -0x321(%rbp)
jmp 0x528c5
movb -0x321(%rbp), %al
testb $0x1, %al
jne 0x528d4
jmp 0x52adf
leaq 0x77df2(%rip), %rsi     # 0xca6cd
leaq -0x290(%rbp), %rdi
callq 0x38290
jmp 0x528e9
leaq -0x263(%rbp), %rdi
leaq -0x238(%rbp), %rsi
leaq -0x9(%rbp), %rdx
leaq -0x290(%rbp), %rcx
callq 0x52c30
jmp 0x52909
leaq -0x263(%rbp), %rdi
callq 0x423a0
leaq -0x290(%rbp), %rdi
callq 0x384f0
jmp 0x52ae1
leaq -0x1f0(%rbp), %rdi
callq 0x1d520
leaq -0x14a(%rbp), %rdi
callq 0x423a0
leaq -0x140(%rbp), %rdi
callq 0x4c380
jmp 0x52c15
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
jmp 0x52bfd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
jmp 0x52986
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
leaq -0x290(%rbp), %rdi
callq 0x384f0
movl -0x7c(%rbp), %eax
movl %eax, -0x328(%rbp)
movl $0x3, %ecx
cmpl %ecx, %eax
jne 0x529df
movq -0x78(%rbp), %rdi
callq 0x102b0
movq %rax, -0x2c0(%rbp)
movb $0x1, -0x261(%rbp)
callq 0x10d40
jmp 0x529b6
jmp 0x529b8
testb $0x1, -0x261(%rbp)
jne 0x52b36
leaq 0x780f6(%rip), %rsi     # 0xcaac2
leaq -0x260(%rbp), %rdi
callq 0x10b40
jmp 0x529da
jmp 0x52b3d
movl -0x328(%rbp), %eax
movl $0x2, %ecx
cmpl %ecx, %eax
jne 0x52ab0
movq -0x78(%rbp), %rdi
callq 0x102b0
movq %rax, -0x298(%rbp)
leaq 0x78043(%rip), %rsi     # 0xcaa4c
leaq -0x260(%rbp), %rdi
callq 0x10b40
jmp 0x52a17
movq -0x298(%rbp), %rax
movq (%rax), %rax
movq -0x8(%rax), %rsi
leaq -0x2b8(%rbp), %rdi
callq 0x39c70
jmp 0x52a33
leaq -0x260(%rbp), %rdi
leaq -0x2b8(%rbp), %rsi
callq 0x10a70
jmp 0x52a48
leaq -0x2b8(%rbp), %rdi
callq 0x10fc8
leaq 0x7d6a6(%rip), %rsi     # 0xd0101
leaq -0x260(%rbp), %rdi
callq 0x10700
jmp 0x52a69
movq -0x298(%rbp), %rdi
movq (%rdi), %rax
movq 0x10(%rax), %rax
callq *%rax
movq %rax, %rsi
leaq -0x260(%rbp), %rdi
callq 0x10700
jmp 0x52a8a
leaq 0x76ff1(%rip), %rsi     # 0xc9a82
leaq -0x260(%rbp), %rdi
callq 0x10700
jmp 0x52a9f
movl $0x2, -0xc4(%rbp)
callq 0x10d40
jmp 0x52b28
movq -0x78(%rbp), %rdi
callq 0x102b0
leaq 0x77f05(%rip), %rsi     # 0xca9c5
leaq -0x260(%rbp), %rdi
callq 0x10b40
jmp 0x52ace
movl $0x2, -0xc4(%rbp)
callq 0x10d40
jmp 0x52af9
jmp 0x52ae1
jmp 0x529b8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
callq 0x10d40
jmp 0x52afb
jmp 0x52b3d
jmp 0x52bfd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
jmp 0x52b2a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
leaq -0x2b8(%rbp), %rdi
callq 0x10fc8
jmp 0x52b2a
jmp 0x52b3d
callq 0x10d40
jmp 0x52b31
jmp 0x52bfd
jmp 0x52bdc
jmp 0x52b3d
leaq -0x2c8(%rbp), %rdi
callq 0x84210
jmp 0x52b4b
leaq -0x260(%rbp), %rdi
callq 0x102c0
movq %rax, %r8
leaq 0x77b1e(%rip), %rdx     # 0xca67f
leaq -0x2d0(%rbp), %rdi
movl $0x1, %esi
movl $0x87, %ecx
callq 0x80580
jmp 0x52b79
leaq -0x2d0(%rbp), %rdi
leaq -0x2c8(%rbp), %rsi
callq 0x7d370
jmp 0x52b8e
leaq -0x2d0(%rbp), %rdi
callq 0x80600
leaq -0x2c8(%rbp), %rdi
callq 0x1d500
jmp 0x52bdc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
jmp 0x52bce
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
leaq -0x2d0(%rbp), %rdi
callq 0x80600
leaq -0x2c8(%rbp), %rdi
callq 0x1d500
jmp 0x52bfd
leaq -0x260(%rbp), %rdi
callq 0x39ed0
leaq -0x230(%rbp), %rdi
callq 0x4c380
addq $0x330, %rsp            # imm = 0x330
popq %rbp
retq
leaq -0x260(%rbp), %rdi
callq 0x39ed0
leaq -0x230(%rbp), %rdi
callq 0x4c380
movq -0x78(%rbp), %rdi
callq 0x10e00
movq %rax, %rdi
callq 0x1dfc0
nopw %cs:(%rax,%rax)