// File: halfflat[P]tinyopt/test/test_run.cc
// Function: run_end_of_options_Test::TestBody()
TEST(run, end_of_options) {
    std::string a, b;
    to::option opts[] = {
        { a, "-a" },
        { b, "-b" }
    };

    mockargs M1("-a\0foo\0--\0-b\0bar\0");
    auto r1 = to::run(opts, M1.argc, M1.argv);
    EXPECT_EQ("foo"s, a);
    EXPECT_EQ(""s, b);
    EXPECT_EQ(2, M1.argc);
    EXPECT_TRUE(r1);

    // '--' can still be an argument to an option, however;
    a = b = "";
    mockargs M2("-a\0--\0foo\0-b\0bar\0");
    auto r2 = to::run(opts, M2.argc, M2.argv);
    EXPECT_EQ("--"s, a);
    EXPECT_EQ("bar"s, b);
    EXPECT_EQ(1, M2.argc); // 1 unmatched argument 'foo'
    EXPECT_EQ("foo"s, *M2.argv);
    EXPECT_TRUE(r2);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x560, %rsp            # imm = 0x560
movq %rdi, -0x8(%rbp)
leaq -0x28(%rbp), %rdi
movq %rdi, -0x470(%rbp)
callq 0x10b60
leaq -0x48(%rbp), %rdi
callq 0x10b60
movq -0x470(%rbp), %rsi
movb $0x1, -0x189(%rbp)
leaq -0x130(%rbp), %rax
movq %rax, -0x138(%rbp)
leaq -0x158(%rbp), %rdi
callq 0x38df0
jmp 0x66fe2
leaq 0x62697(%rip), %rdx     # 0xc9680
leaq -0x130(%rbp), %rdi
leaq -0x158(%rbp), %rsi
callq 0x6e640
jmp 0x66ffe
leaq -0xc0(%rbp), %rax
movq %rax, -0x478(%rbp)
movq %rax, -0x138(%rbp)
leaq -0x188(%rbp), %rdi
leaq -0x48(%rbp), %rsi
callq 0x38df0
jmp 0x67025
movq -0x478(%rbp), %rdi
leaq 0x62656(%rip), %rdx     # 0xc9689
leaq -0x188(%rbp), %rsi
callq 0x6e640
jmp 0x67041
movb $0x0, -0x189(%rbp)
leaq -0x188(%rbp), %rdi
callq 0x1d540
leaq -0x158(%rbp), %rdi
callq 0x1d540
leaq 0x64a2e(%rip), %rsi     # 0xcba95
leaq -0x1b8(%rbp), %rdi
callq 0x4bfe0
jmp 0x67075
movq -0x1b0(%rbp), %rax
movq %rax, -0x488(%rbp)
xorps %xmm0, %xmm0
movaps %xmm0, -0x1f0(%rbp)
movq $0x0, -0x1e0(%rbp)
leaq -0x1f0(%rbp), %rdi
movq %rdi, -0x480(%rbp)
callq 0x611a0
movq -0x488(%rbp), %rcx
movq -0x480(%rbp), %r8
leaq -0x1d8(%rbp), %rdi
leaq -0x130(%rbp), %rsi
leaq -0x1b8(%rbp), %rdx
callq 0x6e040
jmp 0x670d5
leaq -0x1f0(%rbp), %rdi
callq 0x61330
leaq 0x6135a(%rip), %rsi     # 0xc8442
leaq -0x220(%rbp), %rdi
movl $0x3, %edx
callq 0x39200
jmp 0x670fb
leaq 0x64595(%rip), %rsi     # 0xcb697
leaq 0x62578(%rip), %rdx     # 0xc9681
leaq -0x200(%rbp), %rdi
leaq -0x220(%rbp), %rcx
leaq -0x28(%rbp), %r8
callq 0x391b0
jmp 0x67122
leaq -0x220(%rbp), %rdi
callq 0x10fc8
leaq -0x200(%rbp), %rdi
callq 0x1d4e0
movb %al, -0x489(%rbp)
jmp 0x67142
movb -0x489(%rbp), %al
testb $0x1, %al
jne 0x67151
jmp 0x67290
jmp 0x67348
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
jmp 0x671a8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
jmp 0x6719c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
leaq -0x188(%rbp), %rdi
callq 0x1d540
leaq -0x158(%rbp), %rdi
callq 0x1d540
testb $0x1, -0x189(%rbp)
jne 0x671b3
jmp 0x67200
movq -0x138(%rbp), %rax
leaq -0x130(%rbp), %rcx
cmpq %rax, %rcx
movq %rax, -0x498(%rbp)
je 0x671fe
movq -0x498(%rbp), %rdi
addq $-0x70, %rdi
movq %rdi, -0x4a0(%rbp)
callq 0x38ed0
movq -0x4a0(%rbp), %rax
leaq -0x130(%rbp), %rcx
cmpq %rcx, %rax
movq %rax, -0x498(%rbp)
jne 0x671cd
jmp 0x67200
jmp 0x680dd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
jmp 0x6808f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
leaq -0x1f0(%rbp), %rdi
callq 0x61330
jmp 0x68083
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
jmp 0x68077
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
leaq -0x220(%rbp), %rdi
callq 0x10fc8
jmp 0x68077
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
jmp 0x673c5
leaq -0x228(%rbp), %rdi
callq 0x84210
jmp 0x6729e
leaq -0x200(%rbp), %rdi
callq 0x1d620
movq %rax, -0x4a8(%rbp)
jmp 0x672b3
movq -0x4a8(%rbp), %r8
leaq 0x642d9(%rip), %rdx     # 0xcb59a
leaq -0x230(%rbp), %rdi
movl $0x1, %esi
movl $0x53, %ecx
callq 0x80580
jmp 0x672d9
leaq -0x230(%rbp), %rdi
leaq -0x228(%rbp), %rsi
callq 0x7d370
jmp 0x672ee
leaq -0x230(%rbp), %rdi
callq 0x80600
leaq -0x228(%rbp), %rdi
callq 0x1d500
jmp 0x67348
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
jmp 0x6733a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
leaq -0x230(%rbp), %rdi
callq 0x80600
leaq -0x228(%rbp), %rdi
callq 0x1d500
jmp 0x673c5
leaq -0x200(%rbp), %rdi
callq 0x1d520
leaq 0x63fac(%rip), %rsi     # 0xcb307
xorl %eax, %eax
movl %eax, %edx
leaq -0x260(%rbp), %rdi
callq 0x39200
jmp 0x6736d
leaq 0x625c1(%rip), %rsi     # 0xc9935
leaq 0x6230f(%rip), %rdx     # 0xc968a
leaq -0x240(%rbp), %rdi
leaq -0x260(%rbp), %rcx
leaq -0x48(%rbp), %r8
callq 0x391b0
jmp 0x67394
leaq -0x260(%rbp), %rdi
callq 0x10fc8
leaq -0x240(%rbp), %rdi
callq 0x1d4e0
movb %al, -0x4a9(%rbp)
jmp 0x673b4
movb -0x4a9(%rbp), %al
testb $0x1, %al
jne 0x673c0
jmp 0x67410
jmp 0x674c8
leaq -0x200(%rbp), %rdi
callq 0x1d520
jmp 0x68077
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
leaq -0x260(%rbp), %rdi
callq 0x10fc8
jmp 0x68077
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
jmp 0x6752d
leaq -0x268(%rbp), %rdi
callq 0x84210
jmp 0x6741e
leaq -0x240(%rbp), %rdi
callq 0x1d620
movq %rax, -0x4b8(%rbp)
jmp 0x67433
movq -0x4b8(%rbp), %r8
leaq 0x64159(%rip), %rdx     # 0xcb59a
leaq -0x270(%rbp), %rdi
movl $0x1, %esi
movl $0x54, %ecx
callq 0x80580
jmp 0x67459
leaq -0x270(%rbp), %rdi
leaq -0x268(%rbp), %rsi
callq 0x7d370
jmp 0x6746e
leaq -0x270(%rbp), %rdi
callq 0x80600
leaq -0x268(%rbp), %rdi
callq 0x1d500
jmp 0x674c8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
jmp 0x674ba
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
leaq -0x270(%rbp), %rdi
callq 0x80600
leaq -0x268(%rbp), %rdi
callq 0x1d500
jmp 0x6752d
leaq -0x240(%rbp), %rdi
callq 0x1d520
movl $0x2, -0x284(%rbp)
leaq 0x62de1(%rip), %rsi     # 0xca2c6
leaq 0x640fa(%rip), %rdx     # 0xcb5e6
leaq -0x280(%rbp), %rdi
leaq -0x284(%rbp), %rcx
leaq -0x1b8(%rbp), %r8
callq 0x1d5d0
jmp 0x67508
leaq -0x280(%rbp), %rdi
callq 0x1d4e0
movb %al, -0x4b9(%rbp)
jmp 0x6751c
movb -0x4b9(%rbp), %al
testb $0x1, %al
jne 0x67528
jmp 0x67555
jmp 0x6760d
leaq -0x240(%rbp), %rdi
callq 0x1d520
jmp 0x68077
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
jmp 0x67657
leaq -0x290(%rbp), %rdi
callq 0x84210
jmp 0x67563
leaq -0x280(%rbp), %rdi
callq 0x1d620
movq %rax, -0x4c8(%rbp)
jmp 0x67578
movq -0x4c8(%rbp), %r8
leaq 0x64014(%rip), %rdx     # 0xcb59a
leaq -0x298(%rbp), %rdi
movl $0x1, %esi
movl $0x55, %ecx
callq 0x80580
jmp 0x6759e
leaq -0x298(%rbp), %rdi
leaq -0x290(%rbp), %rsi
callq 0x7d370
jmp 0x675b3
leaq -0x298(%rbp), %rdi
callq 0x80600
leaq -0x290(%rbp), %rdi
callq 0x1d500
jmp 0x6760d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
jmp 0x675ff
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
leaq -0x298(%rbp), %rdi
callq 0x80600
leaq -0x290(%rbp), %rdi
callq 0x1d500
jmp 0x67657
leaq -0x280(%rbp), %rdi
callq 0x1d520
xorl %eax, %eax
movl %eax, %edx
leaq -0x2a8(%rbp), %rdi
leaq -0x1d8(%rbp), %rsi
callq 0x6e4b0
jmp 0x67632
leaq -0x2a8(%rbp), %rdi
callq 0x1d4e0
movb %al, -0x4c9(%rbp)
jmp 0x67646
movb -0x4c9(%rbp), %al
testb $0x1, %al
jne 0x67652
jmp 0x6767f
jmp 0x67783
leaq -0x280(%rbp), %rdi
callq 0x1d520
jmp 0x68077
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
jmp 0x678b0
leaq -0x2b0(%rbp), %rdi
callq 0x84210
jmp 0x6768d
leaq 0x61737(%rip), %rdx     # 0xc8dcb
leaq 0x60db4(%rip), %rcx     # 0xc844f
leaq 0x60db3(%rip), %r8      # 0xc8455
leaq -0x2d8(%rbp), %rdi
leaq -0x2a8(%rbp), %rsi
callq 0x7d210
jmp 0x676b7
leaq -0x2d8(%rbp), %rdi
callq 0x102c0
movq %rax, %r8
leaq 0x63ecd(%rip), %rdx     # 0xcb59a
leaq -0x2b8(%rbp), %rdi
movl $0x1, %esi
movl $0x56, %ecx
callq 0x80580
jmp 0x676e5
leaq -0x2b8(%rbp), %rdi
leaq -0x2b0(%rbp), %rsi
callq 0x7d370
jmp 0x676fa
leaq -0x2b8(%rbp), %rdi
callq 0x80600
leaq -0x2d8(%rbp), %rdi
callq 0x10fc8
leaq -0x2b0(%rbp), %rdi
callq 0x1d500
jmp 0x67783
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
jmp 0x67772
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
jmp 0x67766
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
leaq -0x2b8(%rbp), %rdi
callq 0x80600
leaq -0x2d8(%rbp), %rdi
callq 0x10fc8
leaq -0x2b0(%rbp), %rdi
callq 0x1d500
jmp 0x678b0
leaq -0x2a8(%rbp), %rdi
callq 0x1d520
leaq 0x63b71(%rip), %rsi     # 0xcb307
leaq -0x48(%rbp), %rdi
callq 0x10b40
movq %rax, -0x4d8(%rbp)
jmp 0x677a8
movq -0x4d8(%rbp), %rsi
leaq -0x28(%rbp), %rdi
callq 0x10070
jmp 0x677ba
leaq 0x642e6(%rip), %rsi     # 0xcbaa7
leaq -0x300(%rbp), %rdi
callq 0x4bfe0
jmp 0x677cf
movq -0x2f8(%rbp), %rax
movq %rax, -0x4e8(%rbp)
xorps %xmm0, %xmm0
movaps %xmm0, -0x340(%rbp)
movq $0x0, -0x330(%rbp)
leaq -0x340(%rbp), %rdi
movq %rdi, -0x4e0(%rbp)
callq 0x611a0
movq -0x4e8(%rbp), %rcx
movq -0x4e0(%rbp), %r8
leaq -0x320(%rbp), %rdi
leaq -0x130(%rbp), %rsi
leaq -0x300(%rbp), %rdx
callq 0x6e040
jmp 0x6782f
leaq -0x340(%rbp), %rdi
callq 0x61330
leaq 0x67c56(%rip), %rsi     # 0xcf498
leaq -0x370(%rbp), %rdi
movl $0x2, %edx
callq 0x39200
jmp 0x67855
leaq 0x63e42(%rip), %rsi     # 0xcb69e
leaq 0x61e1e(%rip), %rdx     # 0xc9681
leaq -0x350(%rbp), %rdi
leaq -0x370(%rbp), %rcx
leaq -0x28(%rbp), %r8
callq 0x391b0
jmp 0x6787c
leaq -0x370(%rbp), %rdi
callq 0x10fc8
leaq -0x350(%rbp), %rdi
callq 0x1d4e0
movb %al, -0x4e9(%rbp)
jmp 0x6789c
movb -0x4e9(%rbp), %al
testb $0x1, %al
jne 0x678ab
jmp 0x67935
jmp 0x679ed
leaq -0x2a8(%rbp), %rdi
callq 0x1d520
jmp 0x68077
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
leaq -0x340(%rbp), %rdi
callq 0x61330
jmp 0x6806b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
jmp 0x6805f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
leaq -0x370(%rbp), %rdi
callq 0x10fc8
jmp 0x6805f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
jmp 0x67a6b
leaq -0x378(%rbp), %rdi
callq 0x84210
jmp 0x67943
leaq -0x350(%rbp), %rdi
callq 0x1d620
movq %rax, -0x4f8(%rbp)
jmp 0x67958
movq -0x4f8(%rbp), %r8
leaq 0x63c34(%rip), %rdx     # 0xcb59a
leaq -0x380(%rbp), %rdi
movl $0x1, %esi
movl $0x5c, %ecx
callq 0x80580
jmp 0x6797e
leaq -0x380(%rbp), %rdi
leaq -0x378(%rbp), %rsi
callq 0x7d370
jmp 0x67993
leaq -0x380(%rbp), %rdi
callq 0x80600
leaq -0x378(%rbp), %rdi
callq 0x1d500
jmp 0x679ed
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
jmp 0x679df
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
leaq -0x380(%rbp), %rdi
callq 0x80600
leaq -0x378(%rbp), %rdi
callq 0x1d500
jmp 0x67a6b
leaq -0x350(%rbp), %rdi
callq 0x1d520
leaq 0x63cab(%rip), %rsi     # 0xcb6ab
leaq -0x3b0(%rbp), %rdi
movl $0x3, %edx
callq 0x39200
jmp 0x67a13
leaq 0x63c8a(%rip), %rsi     # 0xcb6a4
leaq 0x61c69(%rip), %rdx     # 0xc968a
leaq -0x390(%rbp), %rdi
leaq -0x3b0(%rbp), %rcx
leaq -0x48(%rbp), %r8
callq 0x391b0
jmp 0x67a3a
leaq -0x3b0(%rbp), %rdi
callq 0x10fc8
leaq -0x390(%rbp), %rdi
callq 0x1d4e0
movb %al, -0x4f9(%rbp)
jmp 0x67a5a
movb -0x4f9(%rbp), %al
testb $0x1, %al
jne 0x67a66
jmp 0x67ab6
jmp 0x67b6e
leaq -0x350(%rbp), %rdi
callq 0x1d520
jmp 0x6805f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
leaq -0x3b0(%rbp), %rdi
callq 0x10fc8
jmp 0x6805f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
jmp 0x67bd3
leaq -0x3b8(%rbp), %rdi
callq 0x84210
jmp 0x67ac4
leaq -0x390(%rbp), %rdi
callq 0x1d620
movq %rax, -0x508(%rbp)
jmp 0x67ad9
movq -0x508(%rbp), %r8
leaq 0x63ab3(%rip), %rdx     # 0xcb59a
leaq -0x3c0(%rbp), %rdi
movl $0x1, %esi
movl $0x5d, %ecx
callq 0x80580
jmp 0x67aff
leaq -0x3c0(%rbp), %rdi
leaq -0x3b8(%rbp), %rsi
callq 0x7d370
jmp 0x67b14
leaq -0x3c0(%rbp), %rdi
callq 0x80600
leaq -0x3b8(%rbp), %rdi
callq 0x1d500
jmp 0x67b6e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
jmp 0x67b60
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
leaq -0x3c0(%rbp), %rdi
callq 0x80600
leaq -0x3b8(%rbp), %rdi
callq 0x1d500
jmp 0x67bd3
leaq -0x390(%rbp), %rdi
callq 0x1d520
movl $0x1, -0x3d4(%rbp)
leaq 0x6274b(%rip), %rsi     # 0xca2d6
leaq 0x63a9b(%rip), %rdx     # 0xcb62d
leaq -0x3d0(%rbp), %rdi
leaq -0x3d4(%rbp), %rcx
leaq -0x300(%rbp), %r8
callq 0x1d5d0
jmp 0x67bae
leaq -0x3d0(%rbp), %rdi
callq 0x1d4e0
movb %al, -0x509(%rbp)
jmp 0x67bc2
movb -0x509(%rbp), %al
testb $0x1, %al
jne 0x67bce
jmp 0x67bfb
jmp 0x67cb6
leaq -0x390(%rbp), %rdi
callq 0x1d520
jmp 0x6805f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
jmp 0x67d37
leaq -0x3e0(%rbp), %rdi
callq 0x84210
jmp 0x67c09
leaq -0x3d0(%rbp), %rdi
callq 0x1d620
movq %rax, -0x518(%rbp)
jmp 0x67c1e
movq -0x518(%rbp), %r8
leaq 0x6396e(%rip), %rdx     # 0xcb59a
leaq -0x3e8(%rbp), %rdi
movl $0x1, %esi
movl $0x5e, %ecx
callq 0x80580
jmp 0x67c44
leaq -0x3e8(%rbp), %rdi
leaq -0x3e0(%rbp), %rsi
callq 0x7d370
jmp 0x67c59
leaq -0x3e8(%rbp), %rdi
callq 0x80600
leaq -0x3e0(%rbp), %rdi
callq 0x1d500
jmp 0x67cb6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
jmp 0x67ca5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
leaq -0x3e8(%rbp), %rdi
callq 0x80600
leaq -0x3e0(%rbp), %rdi
callq 0x1d500
jmp 0x67d37
leaq -0x3d0(%rbp), %rdi
callq 0x1d520
leaq 0x60779(%rip), %rsi     # 0xc8442
leaq -0x418(%rbp), %rdi
movl $0x3, %edx
callq 0x39200
jmp 0x67cdc
movq -0x2f8(%rbp), %r8
leaq 0x639ad(%rip), %rsi     # 0xcb697
leaq 0x6394a(%rip), %rdx     # 0xcb63b
leaq -0x3f8(%rbp), %rdi
leaq -0x418(%rbp), %rcx
callq 0x4c850
jmp 0x67d06
leaq -0x418(%rbp), %rdi
callq 0x10fc8
leaq -0x3f8(%rbp), %rdi
callq 0x1d4e0
movb %al, -0x519(%rbp)
jmp 0x67d26
movb -0x519(%rbp), %al
testb $0x1, %al
jne 0x67d32
jmp 0x67d82
jmp 0x67e3a
leaq -0x3d0(%rbp), %rdi
callq 0x1d520
jmp 0x6805f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
leaq -0x418(%rbp), %rdi
callq 0x10fc8
jmp 0x6805f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
jmp 0x67e84
leaq -0x420(%rbp), %rdi
callq 0x84210
jmp 0x67d90
leaq -0x3f8(%rbp), %rdi
callq 0x1d620
movq %rax, -0x528(%rbp)
jmp 0x67da5
movq -0x528(%rbp), %r8
leaq 0x637e7(%rip), %rdx     # 0xcb59a
leaq -0x428(%rbp), %rdi
movl $0x1, %esi
movl $0x5f, %ecx
callq 0x80580
jmp 0x67dcb
leaq -0x428(%rbp), %rdi
leaq -0x420(%rbp), %rsi
callq 0x7d370
jmp 0x67de0
leaq -0x428(%rbp), %rdi
callq 0x80600
leaq -0x420(%rbp), %rdi
callq 0x1d500
jmp 0x67e3a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
jmp 0x67e2c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
leaq -0x428(%rbp), %rdi
callq 0x80600
leaq -0x420(%rbp), %rdi
callq 0x1d500
jmp 0x67e84
leaq -0x3f8(%rbp), %rdi
callq 0x1d520
xorl %eax, %eax
movl %eax, %edx
leaq -0x438(%rbp), %rdi
leaq -0x320(%rbp), %rsi
callq 0x6e4b0
jmp 0x67e5f
leaq -0x438(%rbp), %rdi
callq 0x1d4e0
movb %al, -0x529(%rbp)
jmp 0x67e73
movb -0x529(%rbp), %al
testb $0x1, %al
jne 0x67e7f
jmp 0x67eac
jmp 0x67fb0
leaq -0x3f8(%rbp), %rdi
callq 0x1d520
jmp 0x6805f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
jmp 0x68053
leaq -0x440(%rbp), %rdi
callq 0x84210
jmp 0x67eba
leaq 0x60f1f(%rip), %rdx     # 0xc8de0
leaq 0x60587(%rip), %rcx     # 0xc844f
leaq 0x60586(%rip), %r8      # 0xc8455
leaq -0x468(%rbp), %rdi
leaq -0x438(%rbp), %rsi
callq 0x7d210
jmp 0x67ee4
leaq -0x468(%rbp), %rdi
callq 0x102c0
movq %rax, %r8
leaq 0x636a0(%rip), %rdx     # 0xcb59a
leaq -0x448(%rbp), %rdi
movl $0x1, %esi
movl $0x60, %ecx
callq 0x80580
jmp 0x67f12
leaq -0x448(%rbp), %rdi
leaq -0x440(%rbp), %rsi
callq 0x7d370
jmp 0x67f27
leaq -0x448(%rbp), %rdi
callq 0x80600
leaq -0x468(%rbp), %rdi
callq 0x10fc8
leaq -0x440(%rbp), %rdi
callq 0x1d500
jmp 0x67fb0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
jmp 0x67f9f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
jmp 0x67f93
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x160(%rbp)
movl %eax, -0x164(%rbp)
leaq -0x448(%rbp), %rdi
callq 0x80600
leaq -0x468(%rbp), %rdi
callq 0x10fc8
leaq -0x440(%rbp), %rdi
callq 0x1d500
jmp 0x68053
leaq -0x438(%rbp), %rdi
callq 0x1d520
leaq -0x320(%rbp), %rdi
callq 0x6e5d0
leaq -0x300(%rbp), %rdi
callq 0x4c380
leaq -0x1d8(%rbp), %rdi
callq 0x6e5d0
leaq -0x1b8(%rbp), %rdi
callq 0x4c380
leaq -0x130(%rbp), %rax
movq %rax, -0x540(%rbp)
addq $0xe0, %rax
movq %rax, -0x538(%rbp)
movq -0x538(%rbp), %rdi
addq $-0x70, %rdi
movq %rdi, -0x548(%rbp)
callq 0x38ed0
movq -0x540(%rbp), %rcx
movq -0x548(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x538(%rbp)
jne 0x68007
leaq -0x48(%rbp), %rdi
callq 0x10fc8
leaq -0x28(%rbp), %rdi
callq 0x10fc8
addq $0x560, %rsp            # imm = 0x560
popq %rbp
retq
leaq -0x438(%rbp), %rdi
callq 0x1d520
leaq -0x320(%rbp), %rdi
callq 0x6e5d0
leaq -0x300(%rbp), %rdi
callq 0x4c380
leaq -0x1d8(%rbp), %rdi
callq 0x6e5d0
leaq -0x1b8(%rbp), %rdi
callq 0x4c380
leaq -0x130(%rbp), %rax
movq %rax, -0x558(%rbp)
addq $0xe0, %rax
movq %rax, -0x550(%rbp)
movq -0x550(%rbp), %rdi
addq $-0x70, %rdi
movq %rdi, -0x560(%rbp)
callq 0x38ed0
movq -0x558(%rbp), %rcx
movq -0x560(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x550(%rbp)
jne 0x680aa
jmp 0x680dd
leaq -0x48(%rbp), %rdi
callq 0x10fc8
leaq -0x28(%rbp), %rdi
callq 0x10fc8
movq -0x160(%rbp), %rdi
callq 0x10e00
nopl (%rax,%rax)