// File: /workspace/github_cpp_makefile_star2_O3/halfflat[P]tinyopt/test/test_run.cc
// Function: run_flags_Test::TestBody()
TEST(run, flags) {
    bool a = false, b = false;
    to::option opts[] = {
        { to::set(a), "-a", to::flag },
        { to::set(b), "-b", to::flag }
    };

    mockargs M1("-a\0-b\0");
    auto r1 = to::run(opts, M1.argc, M1.argv);
    EXPECT_TRUE(a);
    EXPECT_TRUE(b);
    EXPECT_EQ(0, M1.argc);
    EXPECT_EQ(nullptr, *M1.argv);
    ASSERT_TRUE(r1);
    EXPECT_EQ((svector{"-a", "-b"}), svector(r1->begin(), r1->end()));

    a = b = false;
    mockargs M2("-c\0");
    auto r2 = to::run(opts, M2.argc, M2.argv);
    EXPECT_FALSE(a);
    EXPECT_FALSE(b);
    EXPECT_EQ(1, M2.argc);
    EXPECT_EQ("-c"s, *M2.argv);
    ASSERT_TRUE(r2);
    EXPECT_TRUE(r2->empty());
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x220, %rsp            # imm = 0x220
xorl %eax, %eax
leaq 0x7(%rsp), %rcx
movb %al, (%rcx)
movb %al, 0x6(%rsp)
leaq 0x120(%rsp), %rsi
movq $0x1, 0x8(%rsi)
movq %rcx, (%rsi)
leaq 0x8629(%rip), %rbx      # 0x3d248
movq %rbx, 0x18(%rsi)
leaq 0x862a(%rip), %r15      # 0x3d254
movq %r15, 0x10(%rsi)
leaq 0x70(%rsp), %rcx
movl $0x1, (%rcx)
leaq 0x3837c(%rip), %rdx     # 0x6cfbc
leaq 0x140(%rsp), %r14
movq %r14, %rdi
callq 0x3bbc4
leaq 0x1b0(%rsp), %r14
leaq 0x100(%rsp), %rsi
movq $0x1, 0x8(%rsi)
leaq 0x6(%rsp), %rax
movq %rax, (%rsi)
movq %rbx, 0x18(%rsi)
movq %r15, 0x10(%rsi)
leaq 0xd8(%rsp), %rcx
movl $0x1, (%rcx)
leaq 0x38338(%rip), %rdx     # 0x6cfc5
movq %r14, %rdi
callq 0x3bbc4
movq 0x110(%rsp), %rax
testq %rax, %rax
je 0x34cb4
leaq 0x100(%rsp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
movq 0x130(%rsp), %rax
testq %rax, %rax
je 0x34cd3
leaq 0x120(%rsp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
leaq 0x3aa7b(%rip), %rsi     # 0x6f755
leaq 0xd8(%rsp), %rdi
callq 0x29a42
leaq 0xd8(%rsp), %rdx
movq 0x8(%rdx), %rcx
xorps %xmm0, %xmm0
leaq 0x70(%rsp), %r8
movaps %xmm0, (%r8)
movq $0x0, 0x10(%r8)
leaq 0xb8(%rsp), %rdi
leaq 0x140(%rsp), %rsi
callq 0x3bccd
leaq 0x70(%rsp), %rdi
callq 0x20770
movb 0x7(%rsp), %al
movb %al, 0x50(%rsp)
movq $0x0, 0x58(%rsp)
testb %al, %al
jne 0x34dee
leaq 0x58(%rsp), %r14
leaq 0x20(%rsp), %rdi
callq 0x4ca86
leaq 0x38268(%rip), %rdx     # 0x6cfbd
leaq 0x373aa(%rip), %rcx     # 0x6c106
leaq 0x373a9(%rip), %r8      # 0x6c10c
leaq 0x70(%rsp), %rdi
leaq 0x50(%rsp), %rsi
callq 0x46893
movq 0x70(%rsp), %r8
leaq 0x3a4e8(%rip), %rdx     # 0x6f266
leaq 0x8(%rsp), %rdi
movl $0x1, %esi
movl $0x15, %ecx
callq 0x4902a
leaq 0x8(%rsp), %rdi
leaq 0x20(%rsp), %rsi
callq 0x46a1c
leaq 0x8(%rsp), %rdi
callq 0x49096
leaq 0x80(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x34dcc
movq 0x80(%rsp), %rsi
incq %rsi
callq 0xd530
movq 0x20(%rsp), %rdi
testq %rdi, %rdi
je 0x34ddc
movq (%rdi), %rax
callq *0x8(%rax)
movq 0x58(%rsp), %rsi
testq %rsi, %rsi
je 0x34dee
movq %r14, %rdi
callq 0x153ca
movb 0x6(%rsp), %al
movb %al, 0x50(%rsp)
movq $0x0, 0x58(%rsp)
testb %al, %al
jne 0x34eb6
leaq 0x58(%rsp), %r14
leaq 0x20(%rsp), %rdi
callq 0x4ca86
leaq 0x381a9(%rip), %rdx     # 0x6cfc6
leaq 0x372e2(%rip), %rcx     # 0x6c106
leaq 0x372e1(%rip), %r8      # 0x6c10c
leaq 0x70(%rsp), %rdi
leaq 0x50(%rsp), %rsi
callq 0x46893
movq 0x70(%rsp), %r8
leaq 0x3a420(%rip), %rdx     # 0x6f266
leaq 0x8(%rsp), %rdi
movl $0x1, %esi
movl $0x16, %ecx
callq 0x4902a
leaq 0x8(%rsp), %rdi
leaq 0x20(%rsp), %rsi
callq 0x46a1c
leaq 0x8(%rsp), %rdi
callq 0x49096
leaq 0x80(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x34e94
movq 0x80(%rsp), %rsi
incq %rsi
callq 0xd530
movq 0x20(%rsp), %rdi
testq %rdi, %rdi
je 0x34ea4
movq (%rdi), %rax
callq *0x8(%rax)
movq 0x58(%rsp), %rsi
testq %rsi, %rsi
je 0x34eb6
movq %r14, %rdi
callq 0x153ca
leaq 0x50(%rsp), %rcx
movl $0x0, (%rcx)
leaq 0x3de40(%rip), %rsi     # 0x72d08
leaq 0x3a3e3(%rip), %rdx     # 0x6f2b2
leaq 0x70(%rsp), %rdi
leaq 0xd8(%rsp), %r8
callq 0x157b7
cmpb $0x0, 0x70(%rsp)
jne 0x34f4c
leaq 0x50(%rsp), %rdi
callq 0x4ca86
movq 0x78(%rsp), %rax
testq %rax, %rax
je 0x34f01
movq (%rax), %r8
jmp 0x34f08
leaq 0x3a0cd(%rip), %r8      # 0x6efd5
leaq 0x3a357(%rip), %rdx     # 0x6f266
leaq 0x20(%rsp), %rdi
movl $0x1, %esi
movl $0x17, %ecx
callq 0x4902a
leaq 0x20(%rsp), %rdi
leaq 0x50(%rsp), %rsi
callq 0x46a1c
leaq 0x20(%rsp), %rdi
callq 0x49096
movq 0x50(%rsp), %rdi
testq %rdi, %rdi
je 0x34f4c
movq (%rdi), %rax
callq *0x8(%rax)
movq 0x78(%rsp), %rsi
testq %rsi, %rsi
je 0x34f60
leaq 0x78(%rsp), %rdi
callq 0x153ca
movq 0xe0(%rsp), %rax
movq (%rax), %rax
leaq 0x50(%rsp), %r8
movq %rax, (%r8)
leaq 0x20(%rsp), %rcx
movq $0x0, (%rcx)
leaq 0x39070(%rip), %rsi     # 0x6dff6
leaq 0x3a32d(%rip), %rdx     # 0x6f2ba
leaq 0x70(%rsp), %rdi
callq 0x2a206
cmpb $0x0, 0x70(%rsp)
jne 0x35002
leaq 0x50(%rsp), %rdi
callq 0x4ca86
movq 0x78(%rsp), %rax
testq %rax, %rax
je 0x34fb7
movq (%rax), %r8
jmp 0x34fbe
leaq 0x3a017(%rip), %r8      # 0x6efd5
leaq 0x3a2a1(%rip), %rdx     # 0x6f266
leaq 0x20(%rsp), %rdi
movl $0x1, %esi
movl $0x18, %ecx
callq 0x4902a
leaq 0x20(%rsp), %rdi
leaq 0x50(%rsp), %rsi
callq 0x46a1c
leaq 0x20(%rsp), %rdi
callq 0x49096
movq 0x50(%rsp), %rdi
testq %rdi, %rdi
je 0x35002
movq (%rdi), %rax
callq *0x8(%rax)
movq 0x78(%rsp), %rsi
testq %rsi, %rsi
je 0x35016
leaq 0x78(%rsp), %rdi
callq 0x153ca
movb 0xb8(%rsp), %al
movb %al, 0x50(%rsp)
movq $0x0, 0x58(%rsp)
testb %al, %al
je 0x3513b
leaq 0x80(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x37f77(%rip), %rsi     # 0x6cfbc
leaq 0x37f72(%rip), %rdx     # 0x6cfbe
leaq 0x70(%rsp), %rdi
callq 0x1558a
leaq 0x90(%rsp), %rdi
leaq 0xa0(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x37f54(%rip), %rsi     # 0x6cfc5
leaq 0x37f4f(%rip), %rdx     # 0x6cfc7
callq 0x1558a
leaq 0x50(%rsp), %rdi
leaq 0x70(%rsp), %rsi
leaq 0x18(%rsp), %rcx
movl $0x2, %edx
callq 0x20728
movq 0xc0(%rsp), %rsi
movq 0xc8(%rsp), %rdx
leaq 0x20(%rsp), %rdi
leaq 0x48(%rsp), %rcx
callq 0x3bfb0
leaq 0x3a20a(%rip), %rsi     # 0x6f2c6
leaq 0x3a219(%rip), %rdx     # 0x6f2dc
leaq 0x8(%rsp), %rdi
leaq 0x50(%rsp), %rcx
leaq 0x20(%rsp), %r8
callq 0x237a7
leaq 0x20(%rsp), %rdi
callq 0x20770
leaq 0x50(%rsp), %rdi
callq 0x20770
movq $-0x40, %rbx
movq -0x10(%r14), %rdi
cmpq %rdi, %r14
je 0x35106
movq (%r14), %rsi
incq %rsi
callq 0xd530
addq $-0x20, %r14
addq $0x20, %rbx
jne 0x350f2
cmpb $0x0, 0x8(%rsp)
jne 0x3523e
leaq 0x70(%rsp), %rdi
callq 0x4ca86
movq 0x10(%rsp), %rax
testq %rax, %rax
je 0x351f3
movq (%rax), %r8
jmp 0x351fa
leaq 0x58(%rsp), %r14
leaq 0x20(%rsp), %rdi
callq 0x4ca86
leaq 0x3a172(%rip), %rdx     # 0x6f2c3
leaq 0x36fae(%rip), %rcx     # 0x6c106
leaq 0x36fad(%rip), %r8      # 0x6c10c
leaq 0x70(%rsp), %rdi
leaq 0x50(%rsp), %rsi
callq 0x46893
movq 0x70(%rsp), %r8
leaq 0x3a0ec(%rip), %rdx     # 0x6f266
leaq 0x8(%rsp), %rdi
movl $0x2, %esi
movl $0x19, %ecx
callq 0x4902a
leaq 0x8(%rsp), %rdi
leaq 0x20(%rsp), %rsi
callq 0x46a1c
leaq 0x8(%rsp), %rdi
callq 0x49096
leaq 0x80(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x351c8
movq 0x80(%rsp), %rsi
incq %rsi
callq 0xd530
movq 0x20(%rsp), %rdi
testq %rdi, %rdi
je 0x351d8
movq (%rdi), %rax
callq *0x8(%rax)
movq 0x58(%rsp), %rsi
testq %rsi, %rsi
je 0x3571d
movq %r14, %rdi
callq 0x153ca
jmp 0x3571d
leaq 0x39ddb(%rip), %r8      # 0x6efd5
leaq 0x3a065(%rip), %rdx     # 0x6f266
leaq 0x50(%rsp), %rdi
movl $0x1, %esi
movl $0x1a, %ecx
callq 0x4902a
leaq 0x50(%rsp), %rdi
leaq 0x70(%rsp), %rsi
callq 0x46a1c
leaq 0x50(%rsp), %rdi
callq 0x49096
movq 0x70(%rsp), %rdi
testq %rdi, %rdi
je 0x3523e
movq (%rdi), %rax
callq *0x8(%rax)
movq 0x10(%rsp), %rsi
testq %rsi, %rsi
je 0x35252
leaq 0x10(%rsp), %rdi
callq 0x153ca
xorl %eax, %eax
movb %al, 0x6(%rsp)
movb %al, 0x7(%rsp)
leaq 0x3a650(%rip), %rsi     # 0x6f8b3
leaq 0x70(%rsp), %rdi
callq 0x29a42
leaq 0x70(%rsp), %rdx
movq 0x8(%rdx), %rcx
xorps %xmm0, %xmm0
leaq 0x20(%rsp), %r8
movaps %xmm0, (%r8)
movq $0x0, 0x10(%r8)
leaq 0x50(%rsp), %rdi
leaq 0x140(%rsp), %rsi
callq 0x3bccd
leaq 0x20(%rsp), %rdi
callq 0x20770
movb 0x7(%rsp), %al
movl %eax, %ecx
xorb $0x1, %cl
movb %cl, 0x8(%rsp)
movq $0x0, 0x10(%rsp)
testb %al, %al
je 0x3536d
leaq 0x10(%rsp), %r14
leaq 0x18(%rsp), %rdi
callq 0x4ca86
leaq 0x37ce3(%rip), %rdx     # 0x6cfbd
leaq 0x36e2b(%rip), %rcx     # 0x6c10c
leaq 0x36e1e(%rip), %r8      # 0x6c106
leaq 0x20(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x46893
movq 0x20(%rsp), %r8
leaq 0x39f63(%rip), %rdx     # 0x6f266
leaq 0x48(%rsp), %rdi
movl $0x1, %esi
movl $0x1f, %ecx
callq 0x4902a
leaq 0x48(%rsp), %rdi
leaq 0x18(%rsp), %rsi
callq 0x46a1c
leaq 0x48(%rsp), %rdi
callq 0x49096
leaq 0x30(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x3534b
movq 0x30(%rsp), %rsi
incq %rsi
callq 0xd530
movq 0x18(%rsp), %rdi
testq %rdi, %rdi
je 0x3535b
movq (%rdi), %rax
callq *0x8(%rax)
movq 0x10(%rsp), %rsi
testq %rsi, %rsi
je 0x3536d
movq %r14, %rdi
callq 0x153ca
movb 0x6(%rsp), %al
movl %eax, %ecx
xorb $0x1, %cl
movb %cl, 0x8(%rsp)
movq $0x0, 0x10(%rsp)
testb %al, %al
je 0x35434
leaq 0x10(%rsp), %r14
leaq 0x18(%rsp), %rdi
callq 0x4ca86
leaq 0x37c25(%rip), %rdx     # 0x6cfc6
leaq 0x36d64(%rip), %rcx     # 0x6c10c
leaq 0x36d57(%rip), %r8      # 0x6c106
leaq 0x20(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x46893
movq 0x20(%rsp), %r8
leaq 0x39e9c(%rip), %rdx     # 0x6f266
leaq 0x48(%rsp), %rdi
movl $0x1, %esi
movl $0x20, %ecx
callq 0x4902a
leaq 0x48(%rsp), %rdi
leaq 0x18(%rsp), %rsi
callq 0x46a1c
leaq 0x48(%rsp), %rdi
callq 0x49096
leaq 0x30(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x35412
movq 0x30(%rsp), %rsi
incq %rsi
callq 0xd530
movq 0x18(%rsp), %rdi
testq %rdi, %rdi
je 0x35422
movq (%rdi), %rax
callq *0x8(%rax)
movq 0x10(%rsp), %rsi
testq %rsi, %rsi
je 0x35434
movq %r14, %rdi
callq 0x153ca
leaq 0x8(%rsp), %rcx
movl $0x1, (%rcx)
leaq 0x38b69(%rip), %rsi     # 0x6dfaf
leaq 0x39eaf(%rip), %rdx     # 0x6f2fc
leaq 0x20(%rsp), %rdi
leaq 0x70(%rsp), %r8
callq 0x157b7
cmpb $0x0, 0x20(%rsp)
jne 0x354c7
leaq 0x8(%rsp), %rdi
callq 0x4ca86
movq 0x28(%rsp), %rax
testq %rax, %rax
je 0x3547c
movq (%rax), %r8
jmp 0x35483
leaq 0x39b52(%rip), %r8      # 0x6efd5
leaq 0x39ddc(%rip), %rdx     # 0x6f266
leaq 0x18(%rsp), %rdi
movl $0x1, %esi
movl $0x21, %ecx
callq 0x4902a
leaq 0x18(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x46a1c
leaq 0x18(%rsp), %rdi
callq 0x49096
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x354c7
movq (%rdi), %rax
callq *0x8(%rax)
movq 0x28(%rsp), %rsi
testq %rsi, %rsi
je 0x354db
leaq 0x28(%rsp), %rdi
callq 0x153ca
leaq 0x30(%rsp), %r15
movq %r15, -0x10(%r15)
movw $0x632d, (%r15)         # imm = 0x632D
movq $0x2, -0x8(%r15)
movb $0x0, 0x2(%r15)
movq 0x78(%rsp), %r8
leaq 0x39e01(%rip), %rsi     # 0x6f304
leaq 0x39e00(%rip), %rdx     # 0x6f30a
leaq 0x8(%rsp), %rdi
leaq 0x20(%rsp), %rcx
callq 0x2a5dc
movq 0x20(%rsp), %rdi
cmpq %r15, %rdi
je 0x35530
movq 0x30(%rsp), %rsi
incq %rsi
callq 0xd530
cmpb $0x0, 0x8(%rsp)
jne 0x3559b
leaq 0x20(%rsp), %rdi
callq 0x4ca86
movq 0x10(%rsp), %rax
testq %rax, %rax
je 0x35550
movq (%rax), %r8
jmp 0x35557
leaq 0x39a7e(%rip), %r8      # 0x6efd5
leaq 0x39d08(%rip), %rdx     # 0x6f266
leaq 0x18(%rsp), %rdi
movl $0x1, %esi
movl $0x22, %ecx
callq 0x4902a
leaq 0x18(%rsp), %rdi
leaq 0x20(%rsp), %rsi
callq 0x46a1c
leaq 0x18(%rsp), %rdi
callq 0x49096
movq 0x20(%rsp), %rdi
testq %rdi, %rdi
je 0x3559b
movq (%rdi), %rax
callq *0x8(%rax)
movq 0x10(%rsp), %rsi
testq %rsi, %rsi
je 0x355af
leaq 0x10(%rsp), %rdi
callq 0x153ca
movb 0x50(%rsp), %al
movb %al, 0x8(%rsp)
movq $0x0, 0x10(%rsp)
testb %al, %al
je 0x3564a
movq 0x58(%rsp), %rax
cmpq 0x60(%rsp), %rax
sete 0x8(%rsp)
movq $0x0, 0x10(%rsp)
je 0x356ef
leaq 0x10(%rsp), %r14
leaq 0x18(%rsp), %rdi
callq 0x4ca86
leaq 0x39d1a(%rip), %rdx     # 0x6f316
leaq 0x36b03(%rip), %rcx     # 0x6c106
leaq 0x36b02(%rip), %r8      # 0x6c10c
leaq 0x20(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x46893
movq 0x20(%rsp), %r8
leaq 0x39c41(%rip), %rdx     # 0x6f266
leaq 0x48(%rsp), %rdi
movl $0x1, %esi
movl $0x24, %ecx
callq 0x4902a
leaq 0x48(%rsp), %rdi
leaq 0x18(%rsp), %rsi
callq 0x46a1c
jmp 0x356ac
leaq 0x10(%rsp), %r14
leaq 0x18(%rsp), %rdi
callq 0x4ca86
leaq 0x39cb3(%rip), %rdx     # 0x6f313
leaq 0x36a9f(%rip), %rcx     # 0x6c106
leaq 0x36a9e(%rip), %r8      # 0x6c10c
leaq 0x20(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x46893
movq 0x20(%rsp), %r8
leaq 0x39bdd(%rip), %rdx     # 0x6f266
leaq 0x48(%rsp), %rdi
movl $0x2, %esi
movl $0x23, %ecx
callq 0x4902a
leaq 0x48(%rsp), %rdi
leaq 0x18(%rsp), %rsi
callq 0x46a1c
leaq 0x48(%rsp), %rdi
callq 0x49096
movq 0x20(%rsp), %rdi
cmpq %r15, %rdi
je 0x356cd
movq 0x30(%rsp), %rsi
incq %rsi
callq 0xd530
movq 0x18(%rsp), %rdi
testq %rdi, %rdi
je 0x356dd
movq (%rdi), %rax
callq *0x8(%rax)
movq 0x10(%rsp), %rsi
testq %rsi, %rsi
je 0x356ef
movq %r14, %rdi
callq 0x153ca
cmpb $0x1, 0x50(%rsp)
jne 0x35700
leaq 0x58(%rsp), %rdi
callq 0x20770
movq 0x80(%rsp), %rdi
testq %rdi, %rdi
je 0x3571d
movq 0x90(%rsp), %rsi
subq %rdi, %rsi
callq 0xd530
cmpb $0x1, 0xb8(%rsp)
jne 0x35734
leaq 0xc0(%rsp), %rdi
callq 0x20770
movq 0xe8(%rsp), %rdi
testq %rdi, %rdi
je 0x35751
movq 0xf8(%rsp), %rsi
subq %rdi, %rsi
callq 0xd530
movl $0xe0, %r14d
leaq (%rsp,%r14), %rdi
addq $0x120, %rdi            # imm = 0x120
callq 0x2145a
leaq (%rsp,%r14), %rdi
addq $0x108, %rdi            # imm = 0x108
callq 0x2148a
leaq (%rsp,%r14), %rbx
addq $0xf0, %rbx
movq %rbx, %rdi
callq 0x214ba
movq -0x10(%rbx), %rax
testq %rax, %rax
je 0x357a8
leaq (%rsp,%r14), %rdi
addq $0xd0, %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
addq $-0x70, %r14
jne 0x35757
addq $0x220, %rsp            # imm = 0x220
popq %rbx
popq %r14
popq %r15
retq
jmp 0x357c9
jmp 0x357d8
jmp 0x358ec
jmp 0x35901
movq %rax, %rbx
leaq 0x48(%rsp), %rdi
callq 0x49096
jmp 0x357db
movq %rax, %rbx
movq 0x20(%rsp), %rdi
cmpq %r15, %rdi
jne 0x358dd
jmp 0x358ef
jmp 0x358ec
movq %rax, %rbx
leaq 0x18(%rsp), %rdi
callq 0x49096
jmp 0x3580a
jmp 0x35901
movq %rax, %rbx
movq 0x20(%rsp), %rdi
testq %rdi, %rdi
je 0x3581f
movq (%rdi), %rax
callq *0x8(%rax)
jmp 0x3581f
movq %rax, %rbx
movq 0x10(%rsp), %rsi
testq %rsi, %rsi
je 0x35916
leaq 0x10(%rsp), %rdi
jmp 0x35911
movq %rax, %rbx
leaq 0x18(%rsp), %rdi
callq 0x49096
jmp 0x35849
movq %rax, %rbx
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x3585e
movq (%rdi), %rax
callq *0x8(%rax)
jmp 0x3585e
movq %rax, %rbx
movq 0x28(%rsp), %rsi
testq %rsi, %rsi
je 0x35916
leaq 0x28(%rsp), %rdi
jmp 0x35911
movq %rax, %rbx
leaq 0x50(%rsp), %rdi
callq 0x49096
jmp 0x35888
movq %rax, %rbx
movq 0x70(%rsp), %rdi
testq %rdi, %rdi
je 0x3589d
movq (%rdi), %rax
callq *0x8(%rax)
jmp 0x3589d
movq %rax, %rbx
movq 0x10(%rsp), %rsi
testq %rsi, %rsi
je 0x35abc
leaq 0x10(%rsp), %rdi
jmp 0x35aa6
jmp 0x358bb
jmp 0x358cc
jmp 0x358ec
movq %rax, %rbx
leaq 0x48(%rsp), %rdi
callq 0x49096
jmp 0x358cf
jmp 0x35901
movq %rax, %rbx
leaq 0x30(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x358ef
movq 0x30(%rsp), %rsi
incq %rsi
callq 0xd530
jmp 0x358ef
movq %rax, %rbx
movq 0x18(%rsp), %rdi
testq %rdi, %rdi
je 0x35904
movq (%rdi), %rax
callq *0x8(%rax)
jmp 0x35904
movq %rax, %rbx
movq 0x10(%rsp), %rsi
testq %rsi, %rsi
je 0x35916
movq %r14, %rdi
callq 0x153ca
cmpb $0x1, 0x50(%rsp)
jne 0x35927
leaq 0x58(%rsp), %rdi
callq 0x20770
movq 0x80(%rsp), %rdi
testq %rdi, %rdi
je 0x35abc
movq 0x90(%rsp), %rsi
subq %rdi, %rsi
callq 0xd530
jmp 0x35abc
movq %rax, %rbx
movq 0x20(%rsp), %rdi
cmpq %r15, %rdi
je 0x35916
movq 0x30(%rsp), %rsi
incq %rsi
callq 0xd530
jmp 0x35916
movq %rax, %rbx
jmp 0x35916
movq %rax, %rbx
leaq 0x20(%rsp), %rdi
jmp 0x35922
jmp 0x35ab9
movq %rax, %rbx
leaq 0x20(%rsp), %rdi
callq 0x20770
jmp 0x35994
jmp 0x35a4a
movq %rax, %rbx
leaq 0x50(%rsp), %rdi
callq 0x20770
jmp 0x359a8
jmp 0x35a5b
movq %rax, %rbx
xorl %r15d, %r15d
movq 0x90(%rsp,%r15), %rdi
leaq (%r14,%r15), %rax
cmpq %rdi, %rax
je 0x359c7
movq (%rax), %rsi
incq %rsi
callq 0xd530
addq $-0x20, %r15
cmpq $-0x40, %r15
jne 0x359ab
jmp 0x35abc
jmp 0x35a81
movq %rax, %rbx
movq 0x70(%rsp), %rdi
cmpq %r15, %rdi
je 0x35abc
movq 0x80(%rsp), %rsi
incq %rsi
jmp 0x35943
jmp 0x35a0c
jmp 0x35a96
jmp 0x35ab9
jmp 0x35a1b
jmp 0x35a30
movq %rax, %rbx
leaq 0x20(%rsp), %rdi
callq 0x49096
jmp 0x35a1e
movq %rax, %rbx
movq 0x50(%rsp), %rdi
testq %rdi, %rdi
je 0x35a33
movq (%rdi), %rax
callq *0x8(%rax)
jmp 0x35a33
movq %rax, %rbx
movq 0x78(%rsp), %rsi
testq %rsi, %rsi
je 0x35abc
leaq 0x78(%rsp), %rdi
jmp 0x35aa6
jmp 0x35a4a
jmp 0x35a5b
jmp 0x35a81
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x49096
jmp 0x35a5e
jmp 0x35a96
movq %rax, %rbx
leaq 0x80(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x35a84
movq 0x80(%rsp), %rsi
incq %rsi
callq 0xd530
jmp 0x35a84
movq %rax, %rbx
movq 0x20(%rsp), %rdi
testq %rdi, %rdi
je 0x35a99
movq (%rdi), %rax
callq *0x8(%rax)
jmp 0x35a99
movq %rax, %rbx
movq 0x58(%rsp), %rsi
testq %rsi, %rsi
je 0x35abc
movq %r14, %rdi
callq 0x153ca
jmp 0x35abc
jmp 0x35b91
jmp 0x35b91
jmp 0x35ab9
movq %rax, %rbx
cmpb $0x1, 0xb8(%rsp)
jne 0x35ad3
leaq 0xc0(%rsp), %rdi
callq 0x20770
movq 0xe8(%rsp), %rdi
testq %rdi, %rdi
je 0x35af0
movq 0xf8(%rsp), %rsi
subq %rdi, %rsi
callq 0xd530
movl $0x70, %r14d
leaq (%rsp,%r14), %rdi
addq $0x140, %rdi            # imm = 0x140
callq 0x206e8
addq $-0x70, %r14
cmpq $-0x70, %r14
jne 0x35af6
movq %rbx, %rdi
callq 0xda70
movq %rax, %rbx
leaq 0x70(%rsp), %rdi
jmp 0x35ace
movq %rax, %rbx
jmp 0x35af0
movq %rax, %rbx
movq 0x110(%rsp), %rax
testq %rax, %rax
je 0x35b50
leaq 0x100(%rsp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
jmp 0x35b50
jmp 0x35b91
movq %rax, %rbx
movq 0x130(%rsp), %rax
testq %rax, %rax
je 0x35b6f
leaq 0x120(%rsp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
leaq 0x140(%rsp), %r15
cmpq %r14, %r15
je 0x35b10
addq $-0x70, %r14
movq %r14, %rdi
callq 0x206e8
cmpq %r15, %r14
jne 0x35b7c
jmp 0x35b10
jmp 0x35b91
movq %rax, %rdi
callq 0x1536f
nop