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

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

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

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

    {
        mockargs M("--long\0-123\0end\0");
        char** arg = M.argv;

        auto r = to::parse<int>(arg, "--long");
        ASSERT_TRUE(r);
        ASSERT_EQ(-123, *r);
        ASSERT_EQ(M.argv+2, arg);
    }

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

        EXPECT_THROW(to::parse<int>(arg, "--long"), to::missing_argument);
    }

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

        auto r = to::parse<int>(arg, "-s", "--long");
        ASSERT_FALSE(r);
        ASSERT_EQ(M.argv, arg);
    }
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x170, %rsp            # imm = 0x170
leaq 0x448b0(%rip), %rsi     # 0x7087d
leaq 0x70(%rsp), %rbx
movq %rbx, %rdi
callq 0x2a408
movq 0x8(%rbx), %rax
movq %rax, 0x60(%rsp)
leaq 0x443d6(%rip), %rsi     # 0x703c0
leaq 0x148(%rsp), %rdi
callq 0x20926
leaq 0x432b2(%rip), %rcx     # 0x6f2b0
leaq 0x38(%rsp), %rdi
leaq 0x60(%rsp), %rsi
leaq 0x148(%rsp), %rdx
callq 0x2dbb8
leaq 0x158(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x2c036
movq 0x158(%rsp), %rsi
incq %rsi
callq 0xd530
movb 0x38(%rsp), %al
movb %al, 0x40(%rsp)
movq $0x0, 0x48(%rsp)
testb %al, %al
je 0x2c0f0
leaq 0x40(%rsp), %rcx
movl $0x3, (%rcx)
leaq 0x3c(%rsp), %r8
leaq 0x44a86(%rip), %rsi     # 0x70aec
leaq 0x44366(%rip), %rdx     # 0x703d3
leaq 0x10(%rsp), %rdi
callq 0x15aba
cmpb $0x0, 0x10(%rsp)
je 0x2c196
movq 0x18(%rsp), %rsi
testq %rsi, %rsi
je 0x2c096
leaq 0x18(%rsp), %rdi
callq 0x156d0
movq 0x78(%rsp), %rax
addq $0x10, %rax
leaq 0x40(%rsp), %rcx
movq %rax, (%rcx)
leaq 0x44328(%rip), %rsi     # 0x703d6
leaq 0x432c9(%rip), %rdx     # 0x6f37e
leaq 0x10(%rsp), %rdi
leaq 0x60(%rsp), %r8
callq 0x2de44
movb 0x10(%rsp), %bl
testb %bl, %bl
jne 0x2c5a7
leaq 0x40(%rsp), %rdi
callq 0x4e2e8
movq 0x18(%rsp), %rax
testq %rax, %rax
je 0x2c55c
movq (%rax), %r8
jmp 0x2c563
leaq 0x48(%rsp), %r14
leaq 0x8(%rsp), %rdi
callq 0x4e2e8
leaq 0x442ce(%rip), %rdx     # 0x703d4
leaq 0x41ff9(%rip), %rcx     # 0x6e106
leaq 0x41ff8(%rip), %r8      # 0x6e10c
leaq 0x10(%rsp), %rdi
leaq 0x40(%rsp), %rsi
callq 0x48021
movq 0x10(%rsp), %r8
leaq 0x44243(%rip), %rdx     # 0x70372
leaq 0x68(%rsp), %rdi
movl $0x2, %esi
movl $0x41, %ecx
callq 0x4a84c
leaq 0x68(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x481aa
leaq 0x68(%rsp), %rdi
callq 0x4a8b8
leaq 0x20(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x2c177
movq 0x20(%rsp), %rsi
incq %rsi
callq 0xd530
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x2c187
movq (%rdi), %rax
callq *0x8(%rax)
movq 0x48(%rsp), %rsi
testq %rsi, %rsi
je 0x2c20e
movq %r14, %rdi
jmp 0x2c209
leaq 0x40(%rsp), %rdi
callq 0x4e2e8
movq 0x18(%rsp), %rax
testq %rax, %rax
je 0x2c1af
movq (%rax), %r8
jmp 0x2c1b6
leaq 0x44e42(%rip), %r8      # 0x70ff8
leaq 0x441b5(%rip), %rdx     # 0x70372
leaq 0x8(%rsp), %rdi
movl $0x2, %esi
movl $0x42, %ecx
callq 0x4a84c
leaq 0x8(%rsp), %rdi
leaq 0x40(%rsp), %rsi
callq 0x481aa
leaq 0x8(%rsp), %rdi
callq 0x4a8b8
movq 0x40(%rsp), %rdi
testq %rdi, %rdi
je 0x2c1fa
movq (%rdi), %rax
callq *0x8(%rax)
movq 0x18(%rsp), %rsi
testq %rsi, %rsi
je 0x2c20e
leaq 0x18(%rsp), %rdi
callq 0x156d0
xorl %ebx, %ebx
movq 0x80(%rsp), %rdi
testq %rdi, %rdi
je 0x2c22d
movq 0x90(%rsp), %rsi
subq %rdi, %rsi
callq 0xd530
testb %bl, %bl
je 0x2c9ec
leaq 0x4464b(%rip), %rsi     # 0x70887
leaq 0x70(%rsp), %rbx
movq %rbx, %rdi
callq 0x2a408
movq 0x8(%rbx), %rax
movq %rax, 0x60(%rsp)
xorps %xmm0, %xmm0
leaq 0x20(%rsp), %r15
movaps %xmm0, -0x10(%r15)
movaps %xmm0, (%r15)
movq %r15, -0x10(%r15)
movq $0x0, -0x8(%r15)
movb $0x0, (%r15)
callq 0x4e2e5
testb %al, %al
je 0x2c2d3
leaq 0x4413d(%rip), %rsi     # 0x703c0
leaq 0x120(%rsp), %rdi
callq 0x20926
leaq 0xa0(%rsp), %rdi
leaq 0x60(%rsp), %rsi
leaq 0x120(%rsp), %rdx
callq 0x2dc63
movb $0x0, 0xa0(%rsp)
leaq 0x130(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x2c2d3
movq 0x130(%rsp), %rsi
incq %rsi
callq 0xd530
leaq 0x10(%rsp), %rdi
movq 0x8(%rdi), %rdx
leaq 0x441e7(%rip), %rcx     # 0x704ca
movl $0x74, %r8d
xorl %esi, %esi
callq 0xd960
leaq 0x40(%rsp), %rdi
callq 0x4e2e8
movq 0x10(%rsp), %r8
leaq 0x4406c(%rip), %rdx     # 0x70372
leaq 0x38(%rsp), %rdi
movl $0x1, %esi
movl $0x4a, %ecx
callq 0x4a84c
leaq 0x38(%rsp), %rdi
leaq 0x40(%rsp), %rsi
callq 0x481aa
leaq 0x38(%rsp), %rdi
callq 0x4a8b8
movq 0x40(%rsp), %rdi
testq %rdi, %rdi
je 0x2c343
movq (%rdi), %rax
callq *0x8(%rax)
movq 0x10(%rsp), %rdi
cmpq %r15, %rdi
je 0x2c35a
movq 0x20(%rsp), %rsi
incq %rsi
callq 0xd530
movq 0x80(%rsp), %rdi
testq %rdi, %rdi
je 0x2c377
movq 0x90(%rsp), %rsi
subq %rdi, %rsi
callq 0xd530
leaq 0x44512(%rip), %rsi     # 0x70890
leaq 0x70(%rsp), %rbx
movq %rbx, %rdi
callq 0x2a408
movq 0x8(%rbx), %rax
movq %rax, 0x60(%rsp)
leaq 0x42f15(%rip), %rsi     # 0x6f2b0
leaq 0xf8(%rsp), %rdi
callq 0x20926
leaq 0x38(%rsp), %rdi
leaq 0x60(%rsp), %rsi
leaq 0xf8(%rsp), %rdx
callq 0x2dc63
leaq 0x108(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x2c3e0
movq 0x108(%rsp), %rsi
incq %rsi
callq 0xd530
movb 0x38(%rsp), %al
movb %al, 0x40(%rsp)
movq $0x0, 0x48(%rsp)
testb %al, %al
je 0x2c49a
leaq 0x40(%rsp), %rcx
movl $0xffffff85, (%rcx)     # imm = 0xFFFFFF85
leaq 0x3c(%rsp), %r8
leaq 0x4412f(%rip), %rsi     # 0x7053f
leaq 0x43fbc(%rip), %rdx     # 0x703d3
leaq 0x10(%rsp), %rdi
callq 0x15aba
cmpb $0x0, 0x10(%rsp)
je 0x2c543
movq 0x18(%rsp), %rsi
testq %rsi, %rsi
je 0x2c440
leaq 0x18(%rsp), %rdi
callq 0x156d0
movq 0x78(%rsp), %rax
addq $0x10, %rax
leaq 0x40(%rsp), %rcx
movq %rax, (%rcx)
leaq 0x43f7e(%rip), %rsi     # 0x703d6
leaq 0x42f1f(%rip), %rdx     # 0x6f37e
leaq 0x10(%rsp), %rdi
leaq 0x60(%rsp), %r8
callq 0x2de44
movb 0x10(%rsp), %bl
testb %bl, %bl
jne 0x2c953
leaq 0x40(%rsp), %rdi
callq 0x4e2e8
movq 0x18(%rsp), %rax
testq %rax, %rax
je 0x2c908
movq (%rax), %r8
jmp 0x2c90f
leaq 0x48(%rsp), %r14
leaq 0x8(%rsp), %rdi
callq 0x4e2e8
leaq 0x43f24(%rip), %rdx     # 0x703d4
leaq 0x41c4f(%rip), %rcx     # 0x6e106
leaq 0x41c4e(%rip), %r8      # 0x6e10c
leaq 0x10(%rsp), %rdi
leaq 0x40(%rsp), %rsi
callq 0x48021
movq 0x10(%rsp), %r8
leaq 0x43e99(%rip), %rdx     # 0x70372
leaq 0x68(%rsp), %rdi
movl $0x2, %esi
movl $0x52, %ecx
callq 0x4a84c
leaq 0x68(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x481aa
leaq 0x68(%rsp), %rdi
callq 0x4a8b8
movq 0x10(%rsp), %rdi
cmpq %r15, %rdi
je 0x2c51d
movq 0x20(%rsp), %rsi
incq %rsi
callq 0xd530
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x2c52d
movq (%rdi), %rax
callq *0x8(%rax)
movq 0x48(%rsp), %rsi
testq %rsi, %rsi
je 0x2c623
movq %r14, %rdi
jmp 0x2c61e
leaq 0x40(%rsp), %rdi
callq 0x4e2e8
movq 0x18(%rsp), %rax
testq %rax, %rax
je 0x2c5c4
movq (%rax), %r8
jmp 0x2c5cb
leaq 0x44a95(%rip), %r8      # 0x70ff8
leaq 0x43e08(%rip), %rdx     # 0x70372
leaq 0x8(%rsp), %rdi
movl $0x2, %esi
movl $0x43, %ecx
callq 0x4a84c
leaq 0x8(%rsp), %rdi
leaq 0x40(%rsp), %rsi
callq 0x481aa
leaq 0x8(%rsp), %rdi
callq 0x4a8b8
movq 0x40(%rsp), %rdi
testq %rdi, %rdi
je 0x2c5a7
movq (%rdi), %rax
callq *0x8(%rax)
movq 0x18(%rsp), %rsi
testq %rsi, %rsi
je 0x2c210
leaq 0x18(%rsp), %rdi
callq 0x156d0
jmp 0x2c210
leaq 0x44a2d(%rip), %r8      # 0x70ff8
leaq 0x43da0(%rip), %rdx     # 0x70372
leaq 0x8(%rsp), %rdi
movl $0x2, %esi
movl $0x53, %ecx
callq 0x4a84c
leaq 0x8(%rsp), %rdi
leaq 0x40(%rsp), %rsi
callq 0x481aa
leaq 0x8(%rsp), %rdi
callq 0x4a8b8
movq 0x40(%rsp), %rdi
testq %rdi, %rdi
je 0x2c60f
movq (%rdi), %rax
callq *0x8(%rax)
movq 0x18(%rsp), %rsi
testq %rsi, %rsi
je 0x2c623
leaq 0x18(%rsp), %rdi
callq 0x156d0
xorl %ebx, %ebx
movq 0x80(%rsp), %rdi
testq %rdi, %rdi
je 0x2c642
movq 0x90(%rsp), %rsi
subq %rdi, %rsi
callq 0xd530
testb %bl, %bl
je 0x2c9ec
leaq 0x441f1(%rip), %rsi     # 0x70842
leaq 0x70(%rsp), %rbx
movq %rbx, %rdi
callq 0x2a408
movq 0x8(%rbx), %rax
movq %rax, 0x60(%rsp)
xorps %xmm0, %xmm0
movaps %xmm0, 0x10(%rsp)
movaps %xmm0, 0x20(%rsp)
movq %r15, 0x10(%rsp)
movq $0x0, 0x18(%rsp)
movb $0x0, 0x20(%rsp)
callq 0x4e2e5
testb %al, %al
je 0x2c6e7
leaq 0x42c19(%rip), %rsi     # 0x6f2b0
leaq 0xd0(%rsp), %rdi
callq 0x20926
leaq 0x98(%rsp), %rdi
leaq 0x60(%rsp), %rsi
leaq 0xd0(%rsp), %rdx
callq 0x2dc63
movb $0x0, 0x98(%rsp)
leaq 0xe0(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x2c6e7
movq 0xe0(%rsp), %rsi
incq %rsi
callq 0xd530
leaq 0x10(%rsp), %rdi
movq 0x8(%rdi), %rdx
leaq 0x43f3c(%rip), %rcx     # 0x70633
movl $0x76, %r8d
xorl %esi, %esi
callq 0xd960
leaq 0x40(%rsp), %rdi
callq 0x4e2e8
movq 0x10(%rsp), %r8
leaq 0x43c58(%rip), %rdx     # 0x70372
leaq 0x38(%rsp), %rdi
movl $0x1, %esi
movl $0x5b, %ecx
callq 0x4a84c
leaq 0x38(%rsp), %rdi
leaq 0x40(%rsp), %rsi
callq 0x481aa
leaq 0x38(%rsp), %rdi
callq 0x4a8b8
movq 0x40(%rsp), %rdi
testq %rdi, %rdi
je 0x2c757
movq (%rdi), %rax
callq *0x8(%rax)
movq 0x10(%rsp), %rdi
cmpq %r15, %rdi
je 0x2c76e
movq 0x20(%rsp), %rsi
incq %rsi
callq 0xd530
movq 0x80(%rsp), %rdi
testq %rdi, %rdi
je 0x2c78b
movq 0x90(%rsp), %rsi
subq %rdi, %rsi
callq 0xd530
leaq 0x440e0(%rip), %rsi     # 0x70872
leaq 0x70(%rsp), %rbx
movq %rbx, %rdi
callq 0x2a408
movq 0x8(%rbx), %rax
movq %rax, 0x60(%rsp)
leaq 0x43c11(%rip), %rsi     # 0x703c0
leaq 0xa8(%rsp), %rdi
callq 0x20926
leaq 0x42aed(%rip), %rcx     # 0x6f2b0
leaq 0x38(%rsp), %rdi
leaq 0x60(%rsp), %rsi
leaq 0xa8(%rsp), %rdx
callq 0x2dbb8
leaq 0xb8(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x2c7fb
movq 0xb8(%rsp), %rsi
incq %rsi
callq 0xd530
movb 0x38(%rsp), %al
movl %eax, %ecx
xorb $0x1, %cl
movb %cl, 0x40(%rsp)
movq $0x0, 0x48(%rsp)
testb %al, %al
je 0x2c8c2
leaq 0x48(%rsp), %r14
leaq 0x8(%rsp), %rdi
callq 0x4e2e8
leaq 0x43ba5(%rip), %rdx     # 0x703d4
leaq 0x418d6(%rip), %rcx     # 0x6e10c
leaq 0x418c9(%rip), %r8      # 0x6e106
leaq 0x10(%rsp), %rdi
leaq 0x40(%rsp), %rsi
callq 0x48021
movq 0x10(%rsp), %r8
leaq 0x43b1a(%rip), %rdx     # 0x70372
leaq 0x68(%rsp), %rdi
movl $0x2, %esi
movl $0x63, %ecx
callq 0x4a84c
leaq 0x68(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x481aa
leaq 0x68(%rsp), %rdi
callq 0x4a8b8
movq 0x10(%rsp), %rdi
cmpq %r15, %rdi
je 0x2c89c
movq 0x20(%rsp), %rsi
incq %rsi
callq 0xd530
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x2c8ac
movq (%rdi), %rax
callq *0x8(%rax)
movq 0x48(%rsp), %rsi
testq %rsi, %rsi
je 0x2c9cf
movq %r14, %rdi
jmp 0x2c9ca
leaq 0x78(%rsp), %rcx
leaq 0x43afe(%rip), %rsi     # 0x703cc
leaq 0x42aa9(%rip), %rdx     # 0x6f37e
leaq 0x10(%rsp), %rdi
leaq 0x60(%rsp), %r8
callq 0x2de44
cmpb $0x0, 0x10(%rsp)
jne 0x2c9bb
leaq 0x40(%rsp), %rdi
callq 0x4e2e8
movq 0x18(%rsp), %rax
testq %rax, %rax
je 0x2c970
movq (%rax), %r8
jmp 0x2c977
leaq 0x446e9(%rip), %r8      # 0x70ff8
leaq 0x43a5c(%rip), %rdx     # 0x70372
leaq 0x8(%rsp), %rdi
movl $0x2, %esi
movl $0x54, %ecx
callq 0x4a84c
leaq 0x8(%rsp), %rdi
leaq 0x40(%rsp), %rsi
callq 0x481aa
leaq 0x8(%rsp), %rdi
callq 0x4a8b8
movq 0x40(%rsp), %rdi
testq %rdi, %rdi
je 0x2c953
movq (%rdi), %rax
callq *0x8(%rax)
movq 0x18(%rsp), %rsi
testq %rsi, %rsi
je 0x2c625
leaq 0x18(%rsp), %rdi
callq 0x156d0
jmp 0x2c625
leaq 0x44681(%rip), %r8      # 0x70ff8
leaq 0x439f4(%rip), %rdx     # 0x70372
leaq 0x8(%rsp), %rdi
movl $0x2, %esi
movl $0x64, %ecx
callq 0x4a84c
leaq 0x8(%rsp), %rdi
leaq 0x40(%rsp), %rsi
callq 0x481aa
leaq 0x8(%rsp), %rdi
callq 0x4a8b8
movq 0x40(%rsp), %rdi
testq %rdi, %rdi
je 0x2c9bb
movq (%rdi), %rax
callq *0x8(%rax)
movq 0x18(%rsp), %rsi
testq %rsi, %rsi
je 0x2c9cf
leaq 0x18(%rsp), %rdi
callq 0x156d0
movq 0x80(%rsp), %rdi
testq %rdi, %rdi
je 0x2c9ec
movq 0x90(%rsp), %rsi
subq %rdi, %rsi
callq 0xd530
addq $0x170, %rsp            # imm = 0x170
popq %rbx
popq %r14
popq %r15
retq
jmp 0x2cb20
jmp 0x2cb2f
jmp 0x2cb4d
jmp 0x2cb20
jmp 0x2cb2f
jmp 0x2cb4d
jmp 0x2cabc
jmp 0x2cacb
jmp 0x2cd2e
jmp 0x2cd63
jmp 0x2cd4c
movq %rdx, %r14
movq %rax, %rbx
leaq 0xe0(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x2cb7d
movq 0xe0(%rsp), %rsi
incq %rsi
callq 0xd530
jmp 0x2cb7d
jmp 0x2cb20
jmp 0x2cb2f
jmp 0x2cb4d
jmp 0x2cd63
jmp 0x2cb20
jmp 0x2cb2f
jmp 0x2cb4d
movq %rax, %rbx
leaq 0xb8(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x2cecd
movq 0xb8(%rsp), %rsi
jmp 0x2cec0
jmp 0x2ceca
jmp 0x2ccca
jmp 0x2ccd9
jmp 0x2ce90
movq %rax, %rbx
leaq 0x68(%rsp), %rdi
callq 0x4a8b8
jmp 0x2cace
movq %rax, %rbx
movq 0x10(%rsp), %rdi
cmpq %r15, %rdi
jne 0x2cd1f
jmp 0x2cd31
jmp 0x2cd2e
jmp 0x2cd4c
jmp 0x2cd63
movq %rdx, %r14
movq %rax, %rbx
leaq 0x130(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x2cd76
movq 0x130(%rsp), %rsi
incq %rsi
callq 0xd530
jmp 0x2cd76
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x4a8b8
jmp 0x2cb32
movq %rax, %rbx
movq 0x40(%rsp), %rdi
testq %rdi, %rdi
je 0x2cb42
movq (%rdi), %rax
callq *0x8(%rax)
movq $0x0, 0x40(%rsp)
jmp 0x2cb50
movq %rax, %rbx
movq 0x18(%rsp), %rsi
testq %rsi, %rsi
je 0x2cb64
leaq 0x18(%rsp), %rdi
callq 0x156d0
movq $0x0, 0x18(%rsp)
jmp 0x2cd66
jmp 0x2cd63
movq %rdx, %r14
movq %rax, %rbx
movq %rbx, %rdi
cmpl $0x4, %r14d
jne 0x2cb95
callq 0xd200
callq 0xd9e0
jmp 0x2c757
callq 0xd200
cmpl $0x2, %r14d
jne 0x2cc3a
movq %rax, %rbx
leaq 0x43a16(%rip), %rsi     # 0x705c4
leaq 0x10(%rsp), %rdi
callq 0xd800
movq (%rbx), %rax
movq -0x8(%rax), %rsi
leaq 0x40(%rsp), %rdi
callq 0x21880
movq 0x40(%rsp), %rsi
movq 0x48(%rsp), %rdx
leaq 0x10(%rsp), %rdi
callq 0xd180
leaq 0x50(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x2cbf8
movq 0x50(%rsp), %rsi
incq %rsi
callq 0xd530
leaq 0x48a18(%rip), %rsi     # 0x75617
leaq 0x10(%rsp), %rdi
callq 0xdb40
movq (%rbx), %rax
movq %rbx, %rdi
callq *0x10(%rax)
leaq 0x10(%rsp), %rdi
movq %rax, %rsi
callq 0xdb40
leaq 0x42b55(%rip), %rsi     # 0x6f77b
leaq 0x10(%rsp), %rdi
callq 0xdb40
callq 0xd9e0
jmp 0x2c704
leaq 0x43903(%rip), %rsi     # 0x70544
leaq 0x10(%rsp), %rdi
callq 0xd800
callq 0xd9e0
jmp 0x2c704
movq %rax, %rbx
callq 0xd9e0
jmp 0x2ce93
jmp 0x2ce90
movq %rax, %rbx
leaq 0x50(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x2cc91
movq 0x50(%rsp), %rsi
incq %rsi
callq 0xd530
jmp 0x2cc91
jmp 0x2cc8e
jmp 0x2ce90
movq %rax, %rbx
callq 0xd9e0
jmp 0x2ce93
jmp 0x2ce90
movq %rax, %rbx
leaq 0x108(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x2cecd
movq 0x108(%rsp), %rsi
jmp 0x2cec0
jmp 0x2ceca
movq %rax, %rbx
leaq 0x38(%rsp), %rdi
callq 0x4a8b8
jmp 0x2ccdc
movq %rax, %rbx
movq 0x40(%rsp), %rdi
testq %rdi, %rdi
je 0x2ccec
movq (%rdi), %rax
callq *0x8(%rax)
movq $0x0, 0x40(%rsp)
jmp 0x2ce93
jmp 0x2ce90
movq %rax, %rbx
leaq 0x68(%rsp), %rdi
callq 0x4a8b8
jmp 0x2cd11
movq %rax, %rbx
leaq 0x20(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x2cd31
movq 0x20(%rsp), %rsi
incq %rsi
callq 0xd530
jmp 0x2cd31
movq %rax, %rbx
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x2cd41
movq (%rdi), %rax
callq *0x8(%rax)
movq $0x0, 0x8(%rsp)
jmp 0x2cd4f
movq %rax, %rbx
movq 0x48(%rsp), %rsi
testq %rsi, %rsi
je 0x2cd66
movq %r14, %rdi
callq 0x156d0
jmp 0x2cd66
movq %rax, %rbx
movb $0x0, 0x38(%rsp)
jmp 0x2cecd
movq %rdx, %r14
movq %rax, %rbx
movq %rbx, %rdi
cmpl $0x3, %r14d
jne 0x2cd8e
callq 0xd200
callq 0xd9e0
jmp 0x2c343
callq 0xd200
cmpl $0x2, %r14d
jne 0x2ce33
movq %rax, %rbx
leaq 0x436b6(%rip), %rsi     # 0x7045d
leaq 0x10(%rsp), %rdi
callq 0xd800
movq (%rbx), %rax
movq -0x8(%rax), %rsi
leaq 0x40(%rsp), %rdi
callq 0x21880
movq 0x40(%rsp), %rsi
movq 0x48(%rsp), %rdx
leaq 0x10(%rsp), %rdi
callq 0xd180
leaq 0x50(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x2cdf1
movq 0x50(%rsp), %rsi
incq %rsi
callq 0xd530
leaq 0x4881f(%rip), %rsi     # 0x75617
leaq 0x10(%rsp), %rdi
callq 0xdb40
movq (%rbx), %rax
movq %rbx, %rdi
callq *0x10(%rax)
leaq 0x10(%rsp), %rdi
movq %rax, %rsi
callq 0xdb40
leaq 0x4295c(%rip), %rsi     # 0x6f77b
leaq 0x10(%rsp), %rdi
callq 0xdb40
callq 0xd9e0
jmp 0x2c2f0
leaq 0x435a5(%rip), %rsi     # 0x703df
leaq 0x10(%rsp), %rdi
callq 0xd800
callq 0xd9e0
jmp 0x2c2f0
movq %rax, %rbx
callq 0xd9e0
jmp 0x2ce93
jmp 0x2ce90
movq %rax, %rbx
leaq 0x50(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x2ce81
movq 0x50(%rsp), %rsi
incq %rsi
callq 0xd530
jmp 0x2ce81
jmp 0x2ce7e
jmp 0x2ce90
movq %rax, %rbx
callq 0xd9e0
jmp 0x2ce93
movq %rax, %rdi
callq 0x15674
movq %rax, %rbx
movq 0x10(%rsp), %rdi
cmpq %r15, %rdi
je 0x2cecd
movq 0x20(%rsp), %rsi
jmp 0x2cec0
movq %rax, %rbx
leaq 0x158(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x2cecd
movq 0x158(%rsp), %rsi
incq %rsi
callq 0xd530
jmp 0x2cecd
movq %rax, %rbx
movq 0x80(%rsp), %rdi
testq %rdi, %rdi
je 0x2ceea
movq 0x90(%rsp), %rsi
subq %rdi, %rsi
callq 0xd530
movq %rbx, %rdi
callq 0xda70