// File: /workspace/github_cpp_makefile_star2_O2/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 %r12
pushq %rbx
subq $0x238, %rsp            # imm = 0x238
xorl %eax, %eax
leaq 0xf(%rsp), %rcx
movb %al, (%rcx)
movb %al, 0xe(%rsp)
leaq 0x130(%rsp), %rsi
movq $0x1, 0x8(%rsi)
movq %rcx, (%rsi)
leaq 0x6917(%rip), %rbx      # 0x3422c
movq %rbx, 0x18(%rsi)
leaq 0x6918(%rip), %r12      # 0x34238
movq %r12, 0x10(%rsi)
leaq 0x80(%rsp), %rcx
movl $0x1, (%rcx)
leaq 0x29ab0(%rip), %rdx     # 0x573e9
leaq 0x150(%rsp), %r15
movq %r15, %rdi
callq 0x32ff6
leaq 0x1c0(%rsp), %r14
leaq 0x110(%rsp), %rsi
movq $0x1, 0x8(%rsi)
leaq 0xe(%rsp), %rax
movq %rax, (%rsi)
movq %rbx, 0x18(%rsi)
movq %r12, 0x10(%rsi)
leaq 0xe8(%rsp), %rcx
movl $0x1, (%rcx)
leaq 0x29a6c(%rip), %rdx     # 0x573f2
movq %r14, %rdi
callq 0x32ff6
leaq 0x110(%rsp), %rdi
callq 0x1367e
leaq 0x130(%rsp), %rdi
callq 0x1367e
leaq 0x2be2a(%rip), %rsi     # 0x597d9
leaq 0xe8(%rsp), %rdi
callq 0x2488e
leaq 0xe8(%rsp), %rdx
movq 0x8(%rdx), %rcx
xorps %xmm0, %xmm0
leaq 0x80(%rsp), %r8
movaps %xmm0, (%r8)
andq $0x0, 0x10(%r8)
leaq 0xc8(%rsp), %rdi
leaq 0x150(%rsp), %rsi
callq 0x33094
leaq 0x80(%rsp), %rdi
callq 0x1cc42
movb 0xf(%rsp), %al
leaq 0x68(%rsp), %r14
movb %al, -0x8(%r14)
andq $0x0, (%r14)
testb %al, %al
jne 0x2da9d
leaq 0x30(%rsp), %rdi
callq 0x3d5f6
leaq 0x299c2(%rip), %rdx     # 0x573ea
leaq 0x286e0(%rip), %rcx     # 0x5610f
leaq 0x286df(%rip), %r8      # 0x56115
leaq 0x80(%rsp), %rdi
leaq 0x60(%rsp), %rsi
callq 0x399e5
movq 0x80(%rsp), %r8
leaq 0x2b893(%rip), %rdx     # 0x592ea
leaq 0x18(%rsp), %rdi
pushq $0x1
popq %rsi
pushq $0x15
popq %rcx
callq 0x3b5b6
leaq 0x18(%rsp), %rdi
leaq 0x30(%rsp), %rsi
callq 0x39b08
leaq 0x18(%rsp), %rdi
callq 0x3b616
leaq 0x80(%rsp), %rdi
callq 0xdbe8
movq 0x30(%rsp), %rdi
testq %rdi, %rdi
je 0x2da9d
movq (%rdi), %rax
callq *0x8(%rax)
movq %r14, %rdi
callq 0x13646
movb 0xe(%rsp), %al
leaq 0x68(%rsp), %r14
movb %al, -0x8(%r14)
andq $0x0, (%r14)
testb %al, %al
jne 0x2db44
leaq 0x30(%rsp), %rdi
callq 0x3d5f6
leaq 0x29924(%rip), %rdx     # 0x573f3
leaq 0x28639(%rip), %rcx     # 0x5610f
leaq 0x28638(%rip), %r8      # 0x56115
leaq 0x80(%rsp), %rdi
leaq 0x60(%rsp), %rsi
callq 0x399e5
movq 0x80(%rsp), %r8
leaq 0x2b7ec(%rip), %rdx     # 0x592ea
leaq 0x18(%rsp), %rdi
pushq $0x1
popq %rsi
pushq $0x16
popq %rcx
callq 0x3b5b6
leaq 0x18(%rsp), %rdi
leaq 0x30(%rsp), %rsi
callq 0x39b08
leaq 0x18(%rsp), %rdi
callq 0x3b616
leaq 0x80(%rsp), %rdi
callq 0xdbe8
movq 0x30(%rsp), %rdi
testq %rdi, %rdi
je 0x2db44
movq (%rdi), %rax
callq *0x8(%rax)
movq %r14, %rdi
callq 0x13646
leaq 0x60(%rsp), %rcx
andl $0x0, (%rcx)
leaq 0x2f1ed(%rip), %rsi     # 0x5cd48
leaq 0x2b7d4(%rip), %rdx     # 0x59336
leaq 0x80(%rsp), %rdi
leaq 0xe8(%rsp), %r8
callq 0x13a52
cmpb $0x0, 0x80(%rsp)
jne 0x2dbe4
leaq 0x60(%rsp), %rdi
callq 0x3d5f6
movq 0x88(%rsp), %rax
testq %rax, %rax
je 0x2db9d
movq (%rax), %r8
jmp 0x2dba4
leaq 0x2b4c6(%rip), %r8      # 0x5906a
leaq 0x2b73f(%rip), %rdx     # 0x592ea
leaq 0x30(%rsp), %rdi
pushq $0x1
popq %rsi
pushq $0x17
popq %rcx
callq 0x3b5b6
leaq 0x30(%rsp), %rdi
leaq 0x60(%rsp), %rsi
callq 0x39b08
leaq 0x30(%rsp), %rdi
callq 0x3b616
movq 0x60(%rsp), %rdi
testq %rdi, %rdi
je 0x2dbe4
movq (%rdi), %rax
callq *0x8(%rax)
leaq 0x88(%rsp), %rdi
callq 0x13646
movq 0xf0(%rsp), %rax
movq (%rax), %r8
leaq 0x2a488(%rip), %rsi     # 0x5808b
leaq 0x2b734(%rip), %rdx     # 0x5933e
leaq 0x80(%rsp), %rdi
xorl %ecx, %ecx
callq 0x2494e
cmpb $0x0, 0x80(%rsp)
jne 0x2dc86
leaq 0x60(%rsp), %rdi
callq 0x3d5f6
movq 0x88(%rsp), %rax
testq %rax, %rax
je 0x2dc3f
movq (%rax), %r8
jmp 0x2dc46
leaq 0x2b424(%rip), %r8      # 0x5906a
leaq 0x2b69d(%rip), %rdx     # 0x592ea
leaq 0x30(%rsp), %rdi
pushq $0x1
popq %rsi
pushq $0x18
popq %rcx
callq 0x3b5b6
leaq 0x30(%rsp), %rdi
leaq 0x60(%rsp), %rsi
callq 0x39b08
leaq 0x30(%rsp), %rdi
callq 0x3b616
movq 0x60(%rsp), %rdi
testq %rdi, %rdi
je 0x2dc86
movq (%rdi), %rax
callq *0x8(%rax)
leaq 0x88(%rsp), %rdi
callq 0x13646
movb 0xc8(%rsp), %al
leaq 0x68(%rsp), %r14
movb %al, -0x8(%r14)
andq $0x0, (%r14)
testb %al, %al
je 0x2dda3
movq %r14, %rdi
callq 0x13646
leaq 0x2972b(%rip), %rsi     # 0x573e9
leaq 0x80(%rsp), %rdi
leaq 0x10(%rsp), %rdx
callq 0x1337a
leaq 0xa0(%rsp), %rdi
leaq 0x29713(%rip), %rsi     # 0x573f2
leaq 0x28(%rsp), %rdx
callq 0x1337a
leaq 0x60(%rsp), %rdi
leaq 0x80(%rsp), %rsi
pushq $0x2
popq %rdx
leaq 0x5f(%rsp), %rcx
callq 0x1cc08
movq 0xd0(%rsp), %rsi
movq 0xd8(%rsp), %rdx
leaq 0x30(%rsp), %rdi
leaq 0x5e(%rsp), %rcx
callq 0x332f6
leaq 0x2b621(%rip), %rsi     # 0x5934a
leaq 0x2b630(%rip), %rdx     # 0x59360
leaq 0x18(%rsp), %rdi
leaq 0x60(%rsp), %rcx
leaq 0x30(%rsp), %r8
callq 0x1f395
leaq 0x30(%rsp), %rdi
callq 0x1cc42
leaq 0x60(%rsp), %rdi
callq 0x1cc42
pushq $0x20
popq %rbx
leaq (%rsp,%rbx), %rdi
addq $0x80, %rdi
callq 0xdbe8
addq $-0x20, %rbx
cmpq $-0x20, %rbx
jne 0x2dd5b
cmpb $0x0, 0x18(%rsp)
jne 0x2de83
leaq 0x80(%rsp), %rdi
callq 0x3d5f6
movq 0x20(%rsp), %rax
testq %rax, %rax
je 0x2de36
movq (%rax), %r8
jmp 0x2de3d
leaq 0x30(%rsp), %rdi
callq 0x3d5f6
leaq 0x2b593(%rip), %rdx     # 0x59347
leaq 0x28354(%rip), %rcx     # 0x5610f
leaq 0x28353(%rip), %r8      # 0x56115
leaq 0x80(%rsp), %rdi
leaq 0x60(%rsp), %rsi
callq 0x399e5
movq 0x80(%rsp), %r8
leaq 0x2b507(%rip), %rdx     # 0x592ea
leaq 0x18(%rsp), %rdi
pushq $0x2
popq %rsi
pushq $0x19
popq %rcx
callq 0x3b5b6
leaq 0x18(%rsp), %rdi
leaq 0x30(%rsp), %rsi
callq 0x39b08
leaq 0x18(%rsp), %rdi
callq 0x3b616
leaq 0x80(%rsp), %rdi
callq 0xdbe8
movq 0x30(%rsp), %rdi
testq %rdi, %rdi
je 0x2de29
movq (%rdi), %rax
callq *0x8(%rax)
movq %r14, %rdi
callq 0x13646
jmp 0x2e2aa
leaq 0x2b22d(%rip), %r8      # 0x5906a
leaq 0x2b4a6(%rip), %rdx     # 0x592ea
leaq 0x60(%rsp), %rdi
pushq $0x1
popq %rsi
pushq $0x1a
popq %rcx
callq 0x3b5b6
leaq 0x60(%rsp), %rdi
leaq 0x80(%rsp), %rsi
callq 0x39b08
leaq 0x60(%rsp), %rdi
callq 0x3b616
movq 0x80(%rsp), %rdi
testq %rdi, %rdi
je 0x2de83
movq (%rdi), %rax
callq *0x8(%rax)
leaq 0x20(%rsp), %rdi
callq 0x13646
xorl %eax, %eax
movb %al, 0xe(%rsp)
movb %al, 0xf(%rsp)
leaq 0x2ba99(%rip), %rsi     # 0x59937
leaq 0x80(%rsp), %rdi
callq 0x2488e
leaq 0x80(%rsp), %rdx
movq 0x8(%rdx), %rcx
xorps %xmm0, %xmm0
leaq 0x30(%rsp), %r8
movaps %xmm0, (%r8)
andq $0x0, 0x10(%r8)
leaq 0x60(%rsp), %rdi
leaq 0x150(%rsp), %rsi
callq 0x33094
leaq 0x30(%rsp), %rdi
callq 0x1cc42
movb 0xf(%rsp), %al
movl %eax, %ecx
xorb $0x1, %cl
leaq 0x20(%rsp), %r14
movb %cl, -0x8(%r14)
andq $0x0, (%r14)
testb %al, %al
je 0x2df7b
leaq 0x10(%rsp), %rdi
callq 0x3d5f6
leaq 0x294db(%rip), %rdx     # 0x573ea
leaq 0x281ff(%rip), %rcx     # 0x56115
leaq 0x281f2(%rip), %r8      # 0x5610f
leaq 0x30(%rsp), %rdi
leaq 0x18(%rsp), %rsi
callq 0x399e5
movq 0x30(%rsp), %r8
leaq 0x2b3b2(%rip), %rdx     # 0x592ea
leaq 0x28(%rsp), %rdi
pushq $0x1
popq %rsi
pushq $0x1f
popq %rcx
callq 0x3b5b6
leaq 0x28(%rsp), %rdi
leaq 0x10(%rsp), %rsi
callq 0x39b08
leaq 0x28(%rsp), %rdi
callq 0x3b616
leaq 0x30(%rsp), %rdi
callq 0xdbe8
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
je 0x2df7b
movq (%rdi), %rax
callq *0x8(%rax)
movq %r14, %rdi
callq 0x13646
movb 0xe(%rsp), %al
movl %eax, %ecx
xorb $0x1, %cl
leaq 0x20(%rsp), %r14
movb %cl, -0x8(%r14)
andq $0x0, (%r14)
testb %al, %al
je 0x2e01a
leaq 0x10(%rsp), %rdi
callq 0x3d5f6
leaq 0x29445(%rip), %rdx     # 0x573f3
leaq 0x28160(%rip), %rcx     # 0x56115
leaq 0x28153(%rip), %r8      # 0x5610f
leaq 0x30(%rsp), %rdi
leaq 0x18(%rsp), %rsi
callq 0x399e5
movq 0x30(%rsp), %r8
leaq 0x2b313(%rip), %rdx     # 0x592ea
leaq 0x28(%rsp), %rdi
pushq $0x1
popq %rsi
pushq $0x20
popq %rcx
callq 0x3b5b6
leaq 0x28(%rsp), %rdi
leaq 0x10(%rsp), %rsi
callq 0x39b08
leaq 0x28(%rsp), %rdi
callq 0x3b616
leaq 0x30(%rsp), %rdi
callq 0xdbe8
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
je 0x2e01a
movq (%rdi), %rax
callq *0x8(%rax)
movq %r14, %rdi
callq 0x13646
leaq 0x18(%rsp), %rcx
movl $0x1, (%rcx)
leaq 0x2a00b(%rip), %rsi     # 0x5803f
leaq 0x2b345(%rip), %rdx     # 0x59380
leaq 0x30(%rsp), %rdi
leaq 0x80(%rsp), %r8
callq 0x13a52
cmpb $0x0, 0x30(%rsp)
jne 0x2e0b4
leaq 0x18(%rsp), %rdi
callq 0x3d5f6
movq 0x38(%rsp), %rax
testq %rax, %rax
je 0x2e06d
movq (%rax), %r8
jmp 0x2e074
leaq 0x2aff6(%rip), %r8      # 0x5906a
leaq 0x2b26f(%rip), %rdx     # 0x592ea
leaq 0x10(%rsp), %rdi
pushq $0x1
popq %rsi
pushq $0x21
popq %rcx
callq 0x3b5b6
leaq 0x10(%rsp), %rdi
leaq 0x18(%rsp), %rsi
callq 0x39b08
leaq 0x10(%rsp), %rdi
callq 0x3b616
movq 0x18(%rsp), %rdi
testq %rdi, %rdi
je 0x2e0b4
movq (%rdi), %rax
callq *0x8(%rax)
leaq 0x38(%rsp), %rdi
callq 0x13646
leaq 0x29336(%rip), %rsi     # 0x573fb
leaq 0x30(%rsp), %rdi
pushq $0x2
popq %rdx
callq 0x1cc63
movq 0x88(%rsp), %r8
leaq 0x2b2a7(%rip), %rsi     # 0x59388
leaq 0x2b2a6(%rip), %rdx     # 0x5938e
leaq 0x18(%rsp), %rdi
leaq 0x30(%rsp), %rcx
callq 0x253bd
leaq 0x30(%rsp), %rdi
callq 0xdbe8
cmpb $0x0, 0x18(%rsp)
jne 0x2e168
leaq 0x30(%rsp), %rdi
callq 0x3d5f6
movq 0x20(%rsp), %rax
testq %rax, %rax
je 0x2e121
movq (%rax), %r8
jmp 0x2e128
leaq 0x2af42(%rip), %r8      # 0x5906a
leaq 0x2b1bb(%rip), %rdx     # 0x592ea
leaq 0x10(%rsp), %rdi
pushq $0x1
popq %rsi
pushq $0x22
popq %rcx
callq 0x3b5b6
leaq 0x10(%rsp), %rdi
leaq 0x30(%rsp), %rsi
callq 0x39b08
leaq 0x10(%rsp), %rdi
callq 0x3b616
movq 0x30(%rsp), %rdi
testq %rdi, %rdi
je 0x2e168
movq (%rdi), %rax
callq *0x8(%rax)
leaq 0x20(%rsp), %rbx
movq %rbx, %rdi
callq 0x13646
movb 0x60(%rsp), %al
movb %al, -0x8(%rbx)
leaq 0x20(%rsp), %r14
andq $0x0, (%r14)
testb %al, %al
je 0x2e20e
movq %r14, %rdi
callq 0x13646
leaq 0x20(%rsp), %r14
andq $0x0, (%r14)
movq 0x68(%rsp), %rax
cmpq 0x70(%rsp), %rax
sete -0x8(%r14)
je 0x2e28b
leaq 0x10(%rsp), %rdi
callq 0x3d5f6
leaq 0x2b1d6(%rip), %rdx     # 0x5939a
leaq 0x27f44(%rip), %rcx     # 0x5610f
leaq 0x27f43(%rip), %r8      # 0x56115
leaq 0x30(%rsp), %rdi
leaq 0x18(%rsp), %rsi
callq 0x399e5
movq 0x30(%rsp), %r8
leaq 0x2b0fd(%rip), %rdx     # 0x592ea
leaq 0x28(%rsp), %rdi
pushq $0x1
popq %rsi
pushq $0x24
popq %rcx
callq 0x3b5b6
leaq 0x28(%rsp), %rdi
leaq 0x10(%rsp), %rsi
callq 0x39b08
jmp 0x2e267
leaq 0x10(%rsp), %rdi
callq 0x3d5f6
leaq 0x2b178(%rip), %rdx     # 0x59397
leaq 0x27ee9(%rip), %rcx     # 0x5610f
leaq 0x27ee8(%rip), %r8      # 0x56115
leaq 0x30(%rsp), %rdi
leaq 0x18(%rsp), %rsi
callq 0x399e5
movq 0x30(%rsp), %r8
leaq 0x2b0a2(%rip), %rdx     # 0x592ea
leaq 0x28(%rsp), %rdi
pushq $0x2
popq %rsi
pushq $0x23
popq %rcx
callq 0x3b5b6
leaq 0x28(%rsp), %rdi
leaq 0x10(%rsp), %rsi
callq 0x39b08
leaq 0x28(%rsp), %rdi
callq 0x3b616
leaq 0x30(%rsp), %rdi
callq 0xdbe8
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
je 0x2e28b
movq (%rdi), %rax
callq *0x8(%rax)
movq %r14, %rdi
callq 0x13646
leaq 0x60(%rsp), %rdi
callq 0x34214
leaq 0x90(%rsp), %rdi
callq 0x25080
leaq 0xc8(%rsp), %rdi
callq 0x34214
leaq 0xf8(%rsp), %rdi
callq 0x25080
pushq $0x70
popq %rbx
leaq (%rsp,%rbx), %rdi
addq $0x150, %rdi            # imm = 0x150
callq 0x1cbe0
addq $-0x70, %rbx
cmpq $-0x70, %rbx
jne 0x2e2c7
addq $0x238, %rsp            # imm = 0x238
popq %rbx
popq %r12
popq %r14
popq %r15
retq
jmp 0x2e3b1
jmp 0x2e3c2
jmp 0x2e3d1
jmp 0x2e3e6
jmp 0x2e3b1
jmp 0x2e3c2
jmp 0x2e3d1
movq %rax, %rbx
leaq 0x10(%rsp), %rdi
callq 0x3b616
jmp 0x2e32a
jmp 0x2e3e6
movq %rax, %rbx
movq 0x30(%rsp), %rdi
testq %rdi, %rdi
je 0x2e33f
movq (%rdi), %rax
callq *0x8(%rax)
jmp 0x2e33f
movq %rax, %rbx
leaq 0x20(%rsp), %rdi
jmp 0x2e3ec
movq %rax, %rbx
leaq 0x10(%rsp), %rdi
callq 0x3b616
jmp 0x2e35b
movq %rax, %rbx
movq 0x18(%rsp), %rdi
testq %rdi, %rdi
je 0x2e370
movq (%rdi), %rax
callq *0x8(%rax)
jmp 0x2e370
movq %rax, %rbx
leaq 0x38(%rsp), %rdi
jmp 0x2e3ec
movq %rax, %rbx
leaq 0x60(%rsp), %rdi
callq 0x3b616
jmp 0x2e389
movq %rax, %rbx
movq 0x80(%rsp), %rdi
testq %rdi, %rdi
je 0x2e3a1
movq (%rdi), %rax
callq *0x8(%rax)
jmp 0x2e3a1
movq %rax, %rbx
leaq 0x20(%rsp), %rdi
jmp 0x2e51e
jmp 0x2e3b1
jmp 0x2e3c2
jmp 0x2e3d1
movq %rax, %rbx
leaq 0x28(%rsp), %rdi
callq 0x3b616
jmp 0x2e3c5
jmp 0x2e3e6
movq %rax, %rbx
leaq 0x30(%rsp), %rdi
callq 0xdbe8
jmp 0x2e3d4
movq %rax, %rbx
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
je 0x2e3e9
movq (%rdi), %rax
callq *0x8(%rax)
jmp 0x2e3e9
movq %rax, %rbx
movq %r14, %rdi
callq 0x13646
leaq 0x60(%rsp), %rdi
callq 0x34214
leaq 0x90(%rsp), %rdi
callq 0x25080
jmp 0x2e52a
movq %rax, %rbx
leaq 0x30(%rsp), %rdi
callq 0xdbe8
jmp 0x2e3f1
jmp 0x2e41e
movq %rax, %rbx
jmp 0x2e3f1
movq %rax, %rbx
leaq 0x30(%rsp), %rdi
callq 0x1cc42
jmp 0x2e3fb
jmp 0x2e527
movq %rax, %rbx
leaq 0x30(%rsp), %rdi
callq 0x1cc42
jmp 0x2e44e
jmp 0x2e4e0
movq %rax, %rbx
leaq 0x60(%rsp), %rdi
callq 0x1cc42
jmp 0x2e462
jmp 0x2e4f1
movq %rax, %rbx
pushq $0x20
popq %r14
leaq (%rsp,%r14), %rdi
addq $0x80, %rdi
callq 0xdbe8
addq $-0x20, %r14
cmpq $-0x20, %r14
jne 0x2e466
jmp 0x2e52a
jmp 0x2e503
movq %rax, %rbx
leaq 0x80(%rsp), %rdi
callq 0xdbe8
jmp 0x2e52a
jmp 0x2e4a9
jmp 0x2e518
jmp 0x2e527
jmp 0x2e4b8
jmp 0x2e4cd
movq %rax, %rbx
leaq 0x30(%rsp), %rdi
callq 0x3b616
jmp 0x2e4bb
movq %rax, %rbx
movq 0x60(%rsp), %rdi
testq %rdi, %rdi
je 0x2e4d0
movq (%rdi), %rax
callq *0x8(%rax)
jmp 0x2e4d0
movq %rax, %rbx
leaq 0x88(%rsp), %rdi
jmp 0x2e51e
jmp 0x2e4e0
jmp 0x2e4f1
jmp 0x2e503
movq %rax, %rbx
leaq 0x18(%rsp), %rdi
callq 0x3b616
jmp 0x2e4f4
jmp 0x2e518
movq %rax, %rbx
leaq 0x80(%rsp), %rdi
callq 0xdbe8
jmp 0x2e506
movq %rax, %rbx
movq 0x30(%rsp), %rdi
testq %rdi, %rdi
je 0x2e51b
movq (%rdi), %rax
callq *0x8(%rax)
jmp 0x2e51b
movq %rax, %rbx
movq %r14, %rdi
callq 0x13646
jmp 0x2e52a
jmp 0x2e527
movq %rax, %rbx
leaq 0xc8(%rsp), %rdi
callq 0x34214
leaq 0xf8(%rsp), %rdi
callq 0x25080
pushq $0x70
popq %r14
leaq (%rsp,%r14), %rdi
addq $0x150, %rdi            # imm = 0x150
callq 0x1cbe0
addq $-0x70, %r14
cmpq $-0x70, %r14
jne 0x2e548
movq %rbx, %rdi
callq 0xdaa0
movq %rax, %rbx
leaq 0x80(%rsp), %rdi
callq 0x1cc42
jmp 0x2e537
movq %rax, %rbx
jmp 0x2e544
movq %rax, %rbx
leaq 0x110(%rsp), %rdi
callq 0x1367e
jmp 0x2e599
movq %rax, %rbx
movq %r15, %r14
leaq 0x130(%rsp), %rdi
callq 0x1367e
cmpq %r14, %r15
je 0x2e562
leaq 0x150(%rsp), %r15
addq $-0x70, %r14
movq %r14, %rdi
callq 0x1cbe0
cmpq %r15, %r14
jne 0x2e5b3
jmp 0x2e562