// File: halfflat[P]tinyopt/test/test_parse.cc
// Function: parse_flag_Test::TestBody()
TEST(parse, flag) {
    {
        mockargs M("-s\0end\0");
        char** arg = M.argv;

        auto r = to::parse(arg, "-s", "--long");
        ASSERT_TRUE(r);
        ASSERT_EQ(M.argv+1, arg);
    }

    {
        mockargs M("--s\0end\0");
        char** arg = M.argv;
        auto r = to::parse(arg, "-s", "--long");

        ASSERT_FALSE(r);
        ASSERT_EQ(M.argv, arg);
    }

    {
        mockargs M("--long\0end\0");
        char** arg = M.argv;
        auto r = to::parse(arg, "-s", "--long");

        ASSERT_TRUE(r);
        ASSERT_EQ(M.argv+1, arg);
    }

    {
        mockargs M("-long\0end\0");
        char** arg = M.argv;
        auto r = to::parse(arg, "-s", "--long");

        ASSERT_FALSE(r);
        ASSERT_EQ(M.argv, arg);
    }

    {
        mockargs M("--xyz\0end\0");
        char** arg = M.argv;
        auto r = to::parse(arg, "-s", "--long");

        ASSERT_FALSE(r);
        ASSERT_EQ(M.argv, arg);
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x460, %rsp            # imm = 0x460
movq %rdi, -0x8(%rbp)
leaq 0x7b461(%rip), %rsi     # 0xcab47
leaq -0x30(%rbp), %rdi
callq 0x4bfe0
movq -0x28(%rbp), %rax
movq %rax, -0x38(%rbp)
leaq 0x7afcf(%rip), %rsi     # 0xca6cd
leaq -0x68(%rbp), %rdi
callq 0x38290
jmp 0x4f709
leaq 0x79ea7(%rip), %rcx     # 0xc95b7
leaq -0x39(%rbp), %rdi
leaq -0x38(%rbp), %rsi
leaq -0x68(%rbp), %rdx
callq 0x531b0
jmp 0x4f723
leaq -0x68(%rbp), %rdi
callq 0x384f0
xorl %eax, %eax
movl %eax, %edx
leaq -0x88(%rbp), %rdi
leaq -0x39(%rbp), %rsi
callq 0x29220
jmp 0x4f742
leaq -0x88(%rbp), %rdi
callq 0x1d4e0
movb %al, -0x409(%rbp)
jmp 0x4f756
movb -0x409(%rbp), %al
testb $0x1, %al
jne 0x4f762
jmp 0x4f7a3
jmp 0x4f89f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
jmp 0x4fb04
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
leaq -0x68(%rbp), %rdi
callq 0x384f0
jmp 0x4fb04
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
jmp 0x4f920
leaq -0x90(%rbp), %rdi
callq 0x84210
jmp 0x4f7b1
leaq 0x7af29(%rip), %rdx     # 0xca6e1
leaq 0x78c90(%rip), %rcx     # 0xc844f
leaq 0x78c8f(%rip), %r8      # 0xc8455
leaq -0xb8(%rbp), %rdi
leaq -0x88(%rbp), %rsi
callq 0x7d210
jmp 0x4f7db
leaq -0xb8(%rbp), %rdi
callq 0x102c0
movq %rax, %r8
leaq 0x7ae8e(%rip), %rdx     # 0xca67f
leaq -0x98(%rbp), %rdi
movl $0x2, %esi
movl $0x12, %ecx
callq 0x80580
jmp 0x4f809
leaq -0x98(%rbp), %rdi
leaq -0x90(%rbp), %rsi
callq 0x7d370
jmp 0x4f81e
leaq -0x98(%rbp), %rdi
callq 0x80600
leaq -0xb8(%rbp), %rdi
callq 0x10fc8
leaq -0x90(%rbp), %rdi
callq 0x1d500
movl $0x1, -0xbc(%rbp)
jmp 0x4f8a9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
jmp 0x4f88e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
jmp 0x4f882
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
leaq -0x98(%rbp), %rdi
callq 0x80600
leaq -0xb8(%rbp), %rdi
callq 0x10fc8
leaq -0x90(%rbp), %rdi
callq 0x1d500
jmp 0x4f920
movl $0x0, -0xbc(%rbp)
leaq -0x88(%rbp), %rdi
callq 0x1d520
movl -0xbc(%rbp), %eax
testl %eax, %eax
jne 0x4fa27
jmp 0x4f8c5
movq -0x28(%rbp), %rax
addq $0x8, %rax
movq %rax, -0xd8(%rbp)
leaq 0x7adf5(%rip), %rsi     # 0xca6d0
leaq 0x79da3(%rip), %rdx     # 0xc9685
leaq -0xd0(%rbp), %rdi
leaq -0xd8(%rbp), %rcx
leaq -0x38(%rbp), %r8
callq 0x53440
jmp 0x4f8fb
leaq -0xd0(%rbp), %rdi
callq 0x1d4e0
movb %al, -0x40a(%rbp)
jmp 0x4f90f
movb -0x40a(%rbp), %al
testb $0x1, %al
jne 0x4f91b
jmp 0x4f942
jmp 0x4f9fb
leaq -0x88(%rbp), %rdi
callq 0x1d520
jmp 0x4fb04
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
jmp 0x4faf8
leaq -0xe0(%rbp), %rdi
callq 0x84210
jmp 0x4f950
leaq -0xd0(%rbp), %rdi
callq 0x1d620
movq %rax, -0x418(%rbp)
jmp 0x4f965
movq -0x418(%rbp), %r8
leaq 0x7ad0c(%rip), %rdx     # 0xca67f
leaq -0xe8(%rbp), %rdi
movl $0x2, %esi
movl $0x13, %ecx
callq 0x80580
jmp 0x4f98b
leaq -0xe8(%rbp), %rdi
leaq -0xe0(%rbp), %rsi
callq 0x7d370
jmp 0x4f9a0
leaq -0xe8(%rbp), %rdi
callq 0x80600
leaq -0xe0(%rbp), %rdi
callq 0x1d500
movl $0x1, -0xbc(%rbp)
jmp 0x4fa05
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
jmp 0x4f9ea
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
leaq -0xe8(%rbp), %rdi
callq 0x80600
leaq -0xe0(%rbp), %rdi
callq 0x1d500
jmp 0x4faf8
movl $0x0, -0xbc(%rbp)
leaq -0xd0(%rbp), %rdi
callq 0x1d520
movl -0xbc(%rbp), %eax
testl %eax, %eax
jne 0x4fa27
jmp 0x4fa1d
movl $0x0, -0xbc(%rbp)
leaq -0x30(%rbp), %rdi
callq 0x4c380
movl -0xbc(%rbp), %eax
testl %eax, %eax
je 0x4fa41
jmp 0x4fa3c
jmp 0x508bf
leaq 0x7b117(%rip), %rsi     # 0xcab5f
leaq -0x110(%rbp), %rdi
callq 0x4bfe0
movq -0x108(%rbp), %rax
movq %rax, -0x118(%rbp)
leaq 0x7ac64(%rip), %rsi     # 0xca6cd
leaq -0x148(%rbp), %rdi
callq 0x38290
jmp 0x4fa77
leaq 0x79b39(%rip), %rcx     # 0xc95b7
leaq -0x119(%rbp), %rdi
leaq -0x118(%rbp), %rsi
leaq -0x148(%rbp), %rdx
callq 0x531b0
jmp 0x4fa9a
leaq -0x148(%rbp), %rdi
callq 0x384f0
leaq -0x119(%rbp), %rdi
callq 0x20d30
xorb $0x1, %al
movb %al, -0x159(%rbp)
xorl %eax, %eax
movl %eax, %edx
leaq -0x158(%rbp), %rdi
leaq -0x159(%rbp), %rsi
callq 0x1d4a0
jmp 0x4fad3
leaq -0x158(%rbp), %rdi
callq 0x1d4e0
movb %al, -0x419(%rbp)
jmp 0x4fae7
movb -0x419(%rbp), %al
testb $0x1, %al
jne 0x4faf3
jmp 0x4fb51
jmp 0x4fc4a
leaq -0xd0(%rbp), %rdi
callq 0x1d520
leaq -0x30(%rbp), %rdi
callq 0x4c380
jmp 0x508e0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
jmp 0x4fe92
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
leaq -0x148(%rbp), %rdi
callq 0x384f0
jmp 0x4fe92
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
jmp 0x4fcbf
leaq -0x168(%rbp), %rdi
callq 0x84210
jmp 0x4fb5f
leaq 0x7ab7b(%rip), %rdx     # 0xca6e1
leaq 0x788e8(%rip), %rcx     # 0xc8455
leaq 0x788db(%rip), %r8      # 0xc844f
leaq -0x190(%rbp), %rdi
leaq -0x158(%rbp), %rsi
callq 0x7d210
jmp 0x4fb89
leaq -0x190(%rbp), %rdi
callq 0x102c0
movq %rax, %r8
leaq 0x7aae0(%rip), %rdx     # 0xca67f
leaq -0x170(%rbp), %rdi
movl $0x2, %esi
movl $0x1b, %ecx
callq 0x80580
jmp 0x4fbb7
leaq -0x170(%rbp), %rdi
leaq -0x168(%rbp), %rsi
callq 0x7d370
jmp 0x4fbcc
leaq -0x170(%rbp), %rdi
callq 0x80600
leaq -0x190(%rbp), %rdi
callq 0x10fc8
leaq -0x168(%rbp), %rdi
callq 0x1d500
movl $0x1, -0xbc(%rbp)
jmp 0x4fc54
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
jmp 0x4fc3c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
jmp 0x4fc30
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
leaq -0x170(%rbp), %rdi
callq 0x80600
leaq -0x190(%rbp), %rdi
callq 0x10fc8
leaq -0x168(%rbp), %rdi
callq 0x1d500
jmp 0x4fcbf
movl $0x0, -0xbc(%rbp)
leaq -0x158(%rbp), %rdi
callq 0x1d520
movl -0xbc(%rbp), %eax
testl %eax, %eax
jne 0x4fdc6
jmp 0x4fc70
leaq -0x108(%rbp), %rcx
leaq 0x7aa5b(%rip), %rsi     # 0xca6d9
leaq 0x79a00(%rip), %rdx     # 0xc9685
leaq -0x1a0(%rbp), %rdi
leaq -0x118(%rbp), %r8
callq 0x53440
jmp 0x4fc9a
leaq -0x1a0(%rbp), %rdi
callq 0x1d4e0
movb %al, -0x41a(%rbp)
jmp 0x4fcae
movb -0x41a(%rbp), %al
testb $0x1, %al
jne 0x4fcba
jmp 0x4fce1
jmp 0x4fd9a
leaq -0x158(%rbp), %rdi
callq 0x1d520
jmp 0x4fe92
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
jmp 0x4fe86
leaq -0x1a8(%rbp), %rdi
callq 0x84210
jmp 0x4fcef
leaq -0x1a0(%rbp), %rdi
callq 0x1d620
movq %rax, -0x428(%rbp)
jmp 0x4fd04
movq -0x428(%rbp), %r8
leaq 0x7a96d(%rip), %rdx     # 0xca67f
leaq -0x1b0(%rbp), %rdi
movl $0x2, %esi
movl $0x1c, %ecx
callq 0x80580
jmp 0x4fd2a
leaq -0x1b0(%rbp), %rdi
leaq -0x1a8(%rbp), %rsi
callq 0x7d370
jmp 0x4fd3f
leaq -0x1b0(%rbp), %rdi
callq 0x80600
leaq -0x1a8(%rbp), %rdi
callq 0x1d500
movl $0x1, -0xbc(%rbp)
jmp 0x4fda4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
jmp 0x4fd89
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
leaq -0x1b0(%rbp), %rdi
callq 0x80600
leaq -0x1a8(%rbp), %rdi
callq 0x1d500
jmp 0x4fe86
movl $0x0, -0xbc(%rbp)
leaq -0x1a0(%rbp), %rdi
callq 0x1d520
movl -0xbc(%rbp), %eax
testl %eax, %eax
jne 0x4fdc6
jmp 0x4fdbc
movl $0x0, -0xbc(%rbp)
leaq -0x110(%rbp), %rdi
callq 0x4c380
movl -0xbc(%rbp), %eax
testl %eax, %eax
je 0x4fde3
jmp 0x4fdde
jmp 0x508bf
leaq 0x7ad7e(%rip), %rsi     # 0xcab68
leaq -0x1d8(%rbp), %rdi
callq 0x4bfe0
movq -0x1d0(%rbp), %rax
movq %rax, -0x1e0(%rbp)
leaq 0x7a8c2(%rip), %rsi     # 0xca6cd
leaq -0x210(%rbp), %rdi
callq 0x38290
jmp 0x4fe19
leaq 0x79797(%rip), %rcx     # 0xc95b7
leaq -0x1e1(%rbp), %rdi
leaq -0x1e0(%rbp), %rsi
leaq -0x210(%rbp), %rdx
callq 0x531b0
jmp 0x4fe3c
leaq -0x210(%rbp), %rdi
callq 0x384f0
xorl %eax, %eax
movl %eax, %edx
leaq -0x220(%rbp), %rdi
leaq -0x1e1(%rbp), %rsi
callq 0x29220
jmp 0x4fe61
leaq -0x220(%rbp), %rdi
callq 0x1d4e0
movb %al, -0x429(%rbp)
jmp 0x4fe75
movb -0x429(%rbp), %al
testb $0x1, %al
jne 0x4fe81
jmp 0x4fee2
jmp 0x4ffde
leaq -0x1a0(%rbp), %rdi
callq 0x1d520
leaq -0x110(%rbp), %rdi
callq 0x4c380
jmp 0x508e0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
jmp 0x5024c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
leaq -0x210(%rbp), %rdi
callq 0x384f0
jmp 0x5024c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
jmp 0x50065
leaq -0x228(%rbp), %rdi
callq 0x84210
jmp 0x4fef0
leaq 0x7a7ea(%rip), %rdx     # 0xca6e1
leaq 0x78551(%rip), %rcx     # 0xc844f
leaq 0x78550(%rip), %r8      # 0xc8455
leaq -0x250(%rbp), %rdi
leaq -0x220(%rbp), %rsi
callq 0x7d210
jmp 0x4ff1a
leaq -0x250(%rbp), %rdi
callq 0x102c0
movq %rax, %r8
leaq 0x7a74f(%rip), %rdx     # 0xca67f
leaq -0x230(%rbp), %rdi
movl $0x2, %esi
movl $0x24, %ecx
callq 0x80580
jmp 0x4ff48
leaq -0x230(%rbp), %rdi
leaq -0x228(%rbp), %rsi
callq 0x7d370
jmp 0x4ff5d
leaq -0x230(%rbp), %rdi
callq 0x80600
leaq -0x250(%rbp), %rdi
callq 0x10fc8
leaq -0x228(%rbp), %rdi
callq 0x1d500
movl $0x1, -0xbc(%rbp)
jmp 0x4ffe8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
jmp 0x4ffcd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
jmp 0x4ffc1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
leaq -0x230(%rbp), %rdi
callq 0x80600
leaq -0x250(%rbp), %rdi
callq 0x10fc8
leaq -0x228(%rbp), %rdi
callq 0x1d500
jmp 0x50065
movl $0x0, -0xbc(%rbp)
leaq -0x220(%rbp), %rdi
callq 0x1d520
movl -0xbc(%rbp), %eax
testl %eax, %eax
jne 0x5016c
jmp 0x50004
movq -0x1d0(%rbp), %rax
addq $0x8, %rax
movq %rax, -0x268(%rbp)
leaq 0x7a6b3(%rip), %rsi     # 0xca6d0
leaq 0x79661(%rip), %rdx     # 0xc9685
leaq -0x260(%rbp), %rdi
leaq -0x268(%rbp), %rcx
leaq -0x1e0(%rbp), %r8
callq 0x53440
jmp 0x50040
leaq -0x260(%rbp), %rdi
callq 0x1d4e0
movb %al, -0x42a(%rbp)
jmp 0x50054
movb -0x42a(%rbp), %al
testb $0x1, %al
jne 0x50060
jmp 0x50087
jmp 0x50140
leaq -0x220(%rbp), %rdi
callq 0x1d520
jmp 0x5024c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
jmp 0x50240
leaq -0x270(%rbp), %rdi
callq 0x84210
jmp 0x50095
leaq -0x260(%rbp), %rdi
callq 0x1d620
movq %rax, -0x438(%rbp)
jmp 0x500aa
movq -0x438(%rbp), %r8
leaq 0x7a5c7(%rip), %rdx     # 0xca67f
leaq -0x278(%rbp), %rdi
movl $0x2, %esi
movl $0x25, %ecx
callq 0x80580
jmp 0x500d0
leaq -0x278(%rbp), %rdi
leaq -0x270(%rbp), %rsi
callq 0x7d370
jmp 0x500e5
leaq -0x278(%rbp), %rdi
callq 0x80600
leaq -0x270(%rbp), %rdi
callq 0x1d500
movl $0x1, -0xbc(%rbp)
jmp 0x5014a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
jmp 0x5012f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
leaq -0x278(%rbp), %rdi
callq 0x80600
leaq -0x270(%rbp), %rdi
callq 0x1d500
jmp 0x50240
movl $0x0, -0xbc(%rbp)
leaq -0x260(%rbp), %rdi
callq 0x1d520
movl -0xbc(%rbp), %eax
testl %eax, %eax
jne 0x5016c
jmp 0x50162
movl $0x0, -0xbc(%rbp)
leaq -0x1d8(%rbp), %rdi
callq 0x4c380
movl -0xbc(%rbp), %eax
testl %eax, %eax
je 0x50189
jmp 0x50184
jmp 0x508bf
leaq 0x7a9e4(%rip), %rsi     # 0xcab74
leaq -0x2a0(%rbp), %rdi
callq 0x4bfe0
movq -0x298(%rbp), %rax
movq %rax, -0x2a8(%rbp)
leaq 0x7a51c(%rip), %rsi     # 0xca6cd
leaq -0x2d8(%rbp), %rdi
callq 0x38290
jmp 0x501bf
leaq 0x793f1(%rip), %rcx     # 0xc95b7
leaq -0x2a9(%rbp), %rdi
leaq -0x2a8(%rbp), %rsi
leaq -0x2d8(%rbp), %rdx
callq 0x531b0
jmp 0x501e2
leaq -0x2d8(%rbp), %rdi
callq 0x384f0
leaq -0x2a9(%rbp), %rdi
callq 0x20d30
xorb $0x1, %al
movb %al, -0x2e9(%rbp)
xorl %eax, %eax
movl %eax, %edx
leaq -0x2e8(%rbp), %rdi
leaq -0x2e9(%rbp), %rsi
callq 0x1d4a0
jmp 0x5021b
leaq -0x2e8(%rbp), %rdi
callq 0x1d4e0
movb %al, -0x439(%rbp)
jmp 0x5022f
movb -0x439(%rbp), %al
testb $0x1, %al
jne 0x5023b
jmp 0x5029c
jmp 0x50395
leaq -0x260(%rbp), %rdi
callq 0x1d520
leaq -0x1d8(%rbp), %rdi
callq 0x4c380
jmp 0x508e0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
jmp 0x505f1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
leaq -0x2d8(%rbp), %rdi
callq 0x384f0
jmp 0x505f1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
jmp 0x5040a
leaq -0x2f8(%rbp), %rdi
callq 0x84210
jmp 0x502aa
leaq 0x7a430(%rip), %rdx     # 0xca6e1
leaq 0x7819d(%rip), %rcx     # 0xc8455
leaq 0x78190(%rip), %r8      # 0xc844f
leaq -0x320(%rbp), %rdi
leaq -0x2e8(%rbp), %rsi
callq 0x7d210
jmp 0x502d4
leaq -0x320(%rbp), %rdi
callq 0x102c0
movq %rax, %r8
leaq 0x7a395(%rip), %rdx     # 0xca67f
leaq -0x300(%rbp), %rdi
movl $0x2, %esi
movl $0x2d, %ecx
callq 0x80580
jmp 0x50302
leaq -0x300(%rbp), %rdi
leaq -0x2f8(%rbp), %rsi
callq 0x7d370
jmp 0x50317
leaq -0x300(%rbp), %rdi
callq 0x80600
leaq -0x320(%rbp), %rdi
callq 0x10fc8
leaq -0x2f8(%rbp), %rdi
callq 0x1d500
movl $0x1, -0xbc(%rbp)
jmp 0x5039f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
jmp 0x50387
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
jmp 0x5037b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
leaq -0x300(%rbp), %rdi
callq 0x80600
leaq -0x320(%rbp), %rdi
callq 0x10fc8
leaq -0x2f8(%rbp), %rdi
callq 0x1d500
jmp 0x5040a
movl $0x0, -0xbc(%rbp)
leaq -0x2e8(%rbp), %rdi
callq 0x1d520
movl -0xbc(%rbp), %eax
testl %eax, %eax
jne 0x50511
jmp 0x503bb
leaq -0x298(%rbp), %rcx
leaq 0x7a310(%rip), %rsi     # 0xca6d9
leaq 0x792b5(%rip), %rdx     # 0xc9685
leaq -0x330(%rbp), %rdi
leaq -0x2a8(%rbp), %r8
callq 0x53440
jmp 0x503e5
leaq -0x330(%rbp), %rdi
callq 0x1d4e0
movb %al, -0x43a(%rbp)
jmp 0x503f9
movb -0x43a(%rbp), %al
testb $0x1, %al
jne 0x50405
jmp 0x5042c
jmp 0x504e5
leaq -0x2e8(%rbp), %rdi
callq 0x1d520
jmp 0x505f1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
jmp 0x505e5
leaq -0x338(%rbp), %rdi
callq 0x84210
jmp 0x5043a
leaq -0x330(%rbp), %rdi
callq 0x1d620
movq %rax, -0x448(%rbp)
jmp 0x5044f
movq -0x448(%rbp), %r8
leaq 0x7a222(%rip), %rdx     # 0xca67f
leaq -0x340(%rbp), %rdi
movl $0x2, %esi
movl $0x2e, %ecx
callq 0x80580
jmp 0x50475
leaq -0x340(%rbp), %rdi
leaq -0x338(%rbp), %rsi
callq 0x7d370
jmp 0x5048a
leaq -0x340(%rbp), %rdi
callq 0x80600
leaq -0x338(%rbp), %rdi
callq 0x1d500
movl $0x1, -0xbc(%rbp)
jmp 0x504ef
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
jmp 0x504d4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
leaq -0x340(%rbp), %rdi
callq 0x80600
leaq -0x338(%rbp), %rdi
callq 0x1d500
jmp 0x505e5
movl $0x0, -0xbc(%rbp)
leaq -0x330(%rbp), %rdi
callq 0x1d520
movl -0xbc(%rbp), %eax
testl %eax, %eax
jne 0x50511
jmp 0x50507
movl $0x0, -0xbc(%rbp)
leaq -0x2a0(%rbp), %rdi
callq 0x4c380
movl -0xbc(%rbp), %eax
testl %eax, %eax
je 0x5052e
jmp 0x50529
jmp 0x508bf
leaq 0x7a64a(%rip), %rsi     # 0xcab7f
leaq -0x368(%rbp), %rdi
callq 0x4bfe0
movq -0x360(%rbp), %rax
movq %rax, -0x370(%rbp)
leaq 0x7a177(%rip), %rsi     # 0xca6cd
leaq -0x3a0(%rbp), %rdi
callq 0x38290
jmp 0x50564
leaq 0x7904c(%rip), %rcx     # 0xc95b7
leaq -0x371(%rbp), %rdi
leaq -0x370(%rbp), %rsi
leaq -0x3a0(%rbp), %rdx
callq 0x531b0
jmp 0x50587
leaq -0x3a0(%rbp), %rdi
callq 0x384f0
leaq -0x371(%rbp), %rdi
callq 0x20d30
xorb $0x1, %al
movb %al, -0x3b1(%rbp)
xorl %eax, %eax
movl %eax, %edx
leaq -0x3b0(%rbp), %rdi
leaq -0x3b1(%rbp), %rsi
callq 0x1d4a0
jmp 0x505c0
leaq -0x3b0(%rbp), %rdi
callq 0x1d4e0
movb %al, -0x449(%rbp)
jmp 0x505d4
movb -0x449(%rbp), %al
testb $0x1, %al
jne 0x505e0
jmp 0x50641
jmp 0x5073a
leaq -0x330(%rbp), %rdi
callq 0x1d520
leaq -0x2a0(%rbp), %rdi
callq 0x4c380
jmp 0x508e0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
jmp 0x508d4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
leaq -0x3a0(%rbp), %rdi
callq 0x384f0
jmp 0x508d4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
jmp 0x507af
leaq -0x3c0(%rbp), %rdi
callq 0x84210
jmp 0x5064f
leaq 0x7a08b(%rip), %rdx     # 0xca6e1
leaq 0x77df8(%rip), %rcx     # 0xc8455
leaq 0x77deb(%rip), %r8      # 0xc844f
leaq -0x3e8(%rbp), %rdi
leaq -0x3b0(%rbp), %rsi
callq 0x7d210
jmp 0x50679
leaq -0x3e8(%rbp), %rdi
callq 0x102c0
movq %rax, %r8
leaq 0x79ff0(%rip), %rdx     # 0xca67f
leaq -0x3c8(%rbp), %rdi
movl $0x2, %esi
movl $0x36, %ecx
callq 0x80580
jmp 0x506a7
leaq -0x3c8(%rbp), %rdi
leaq -0x3c0(%rbp), %rsi
callq 0x7d370
jmp 0x506bc
leaq -0x3c8(%rbp), %rdi
callq 0x80600
leaq -0x3e8(%rbp), %rdi
callq 0x10fc8
leaq -0x3c0(%rbp), %rdi
callq 0x1d500
movl $0x1, -0xbc(%rbp)
jmp 0x50744
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
jmp 0x5072c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
jmp 0x50720
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
leaq -0x3c8(%rbp), %rdi
callq 0x80600
leaq -0x3e8(%rbp), %rdi
callq 0x10fc8
leaq -0x3c0(%rbp), %rdi
callq 0x1d500
jmp 0x507af
movl $0x0, -0xbc(%rbp)
leaq -0x3b0(%rbp), %rdi
callq 0x1d520
movl -0xbc(%rbp), %eax
testl %eax, %eax
jne 0x508b3
jmp 0x50760
leaq -0x360(%rbp), %rcx
leaq 0x79f6b(%rip), %rsi     # 0xca6d9
leaq 0x78f10(%rip), %rdx     # 0xc9685
leaq -0x3f8(%rbp), %rdi
leaq -0x370(%rbp), %r8
callq 0x53440
jmp 0x5078a
leaq -0x3f8(%rbp), %rdi
callq 0x1d4e0
movb %al, -0x44a(%rbp)
jmp 0x5079e
movb -0x44a(%rbp), %al
testb $0x1, %al
jne 0x507aa
jmp 0x507d1
jmp 0x50887
leaq -0x3b0(%rbp), %rdi
callq 0x1d520
jmp 0x508d4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
jmp 0x508c8
leaq -0x400(%rbp), %rdi
callq 0x84210
jmp 0x507df
leaq -0x3f8(%rbp), %rdi
callq 0x1d620
movq %rax, -0x458(%rbp)
jmp 0x507f4
movq -0x458(%rbp), %r8
leaq 0x79e7d(%rip), %rdx     # 0xca67f
leaq -0x408(%rbp), %rdi
movl $0x2, %esi
movl $0x37, %ecx
callq 0x80580
jmp 0x5081a
leaq -0x408(%rbp), %rdi
leaq -0x400(%rbp), %rsi
callq 0x7d370
jmp 0x5082f
leaq -0x408(%rbp), %rdi
callq 0x80600
leaq -0x400(%rbp), %rdi
callq 0x1d500
movl $0x1, -0xbc(%rbp)
jmp 0x50891
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
jmp 0x50879
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
leaq -0x408(%rbp), %rdi
callq 0x80600
leaq -0x400(%rbp), %rdi
callq 0x1d500
jmp 0x508c8
movl $0x0, -0xbc(%rbp)
leaq -0x3f8(%rbp), %rdi
callq 0x1d520
movl -0xbc(%rbp), %eax
testl %eax, %eax
jne 0x508b3
jmp 0x508a9
movl $0x0, -0xbc(%rbp)
leaq -0x368(%rbp), %rdi
callq 0x4c380
addq $0x460, %rsp            # imm = 0x460
popq %rbp
retq
leaq -0x3f8(%rbp), %rdi
callq 0x1d520
leaq -0x368(%rbp), %rdi
callq 0x4c380
movq -0x70(%rbp), %rdi
callq 0x10e00
nopl (%rax)