// File: /workspace/github_cpp_makefile_star2_O1/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 %r13
pushq %r12
pushq %rbx
subq $0x220, %rsp            # imm = 0x220
xorl %eax, %eax
leaq 0x7(%rsp), %rcx
movb %al, (%rcx)
movb %al, 0x6(%rsp)
xorps %xmm0, %xmm0
leaq 0x120(%rsp), %rsi
movaps %xmm0, (%rsi)
movaps %xmm0, 0x10(%rsi)
movq %rcx, (%rsi)
movb $0x1, 0x8(%rsi)
leaq 0x8a93(%rip), %rbx      # 0x3e8a8
movq %rbx, 0x18(%rsi)
leaq 0x8a94(%rip), %r15      # 0x3e8b4
movq %r15, 0x10(%rsi)
leaq 0x70(%rsp), %rcx
movl $0x1, (%rcx)
leaq 0x39543(%rip), %rdx     # 0x6f379
leaq 0x140(%rsp), %r14
movq %r14, %rdi
callq 0x3d1ba
leaq 0x1b0(%rsp), %r14
leaq 0x100(%rsp), %rsi
xorps %xmm0, %xmm0
movaps %xmm0, (%rsi)
movaps %xmm0, 0x10(%rsi)
leaq 0x6(%rsp), %rax
movq %rax, (%rsi)
movb $0x1, 0x8(%rsi)
movq %rbx, 0x18(%rsi)
movq %r15, 0x10(%rsi)
leaq 0xd8(%rsp), %rcx
movl $0x1, (%rcx)
leaq 0x394f9(%rip), %rdx     # 0x6f382
movq %r14, %rdi
callq 0x3d1ba
movq 0x110(%rsp), %rax
testq %rax, %rax
je 0x35eb0
leaq 0x100(%rsp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
movq 0x130(%rsp), %rax
testq %rax, %rax
je 0x35ecf
leaq 0x120(%rsp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
leaq 0x3b891(%rip), %rsi     # 0x71767
leaq 0xd8(%rsp), %rdi
callq 0x2a408
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 0x3d2c3
leaq 0x70(%rsp), %rdi
callq 0x20fca
movb 0x7(%rsp), %al
leaq 0x58(%rsp), %r14
movb %al, -0x8(%r14)
movq $0x0, (%r14)
testb %al, %al
jne 0x35fd6
leaq 0x20(%rsp), %rdi
callq 0x4e2e8
leaq 0x3942b(%rip), %rdx     # 0x6f37a
leaq 0x381b0(%rip), %rcx     # 0x6e106
leaq 0x381af(%rip), %r8      # 0x6e10c
leaq 0x70(%rsp), %rdi
leaq 0x50(%rsp), %rsi
callq 0x48021
movq 0x70(%rsp), %r8
leaq 0x3b300(%rip), %rdx     # 0x71278
leaq 0x10(%rsp), %rdi
movl $0x1, %esi
movl $0x15, %ecx
callq 0x4a84c
leaq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rsi
callq 0x481aa
leaq 0x10(%rsp), %rdi
callq 0x4a8b8
leaq 0x80(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x35fc6
movq 0x80(%rsp), %rsi
incq %rsi
callq 0xd530
movq 0x20(%rsp), %rdi
testq %rdi, %rdi
je 0x35fd6
movq (%rdi), %rax
callq *0x8(%rax)
movq 0x58(%rsp), %rsi
testq %rsi, %rsi
je 0x35fe8
movq %r14, %rdi
callq 0x156d0
movb 0x6(%rsp), %al
leaq 0x58(%rsp), %r14
movb %al, -0x8(%r14)
movq $0x0, (%r14)
testb %al, %al
jne 0x3609c
leaq 0x20(%rsp), %rdi
callq 0x4e2e8
leaq 0x3936e(%rip), %rdx     # 0x6f383
leaq 0x380ea(%rip), %rcx     # 0x6e106
leaq 0x380e9(%rip), %r8      # 0x6e10c
leaq 0x70(%rsp), %rdi
leaq 0x50(%rsp), %rsi
callq 0x48021
movq 0x70(%rsp), %r8
leaq 0x3b23a(%rip), %rdx     # 0x71278
leaq 0x10(%rsp), %rdi
movl $0x1, %esi
movl $0x16, %ecx
callq 0x4a84c
leaq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rsi
callq 0x481aa
leaq 0x10(%rsp), %rdi
callq 0x4a8b8
leaq 0x80(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x3608c
movq 0x80(%rsp), %rsi
incq %rsi
callq 0xd530
movq 0x20(%rsp), %rdi
testq %rdi, %rdi
je 0x3609c
movq (%rdi), %rax
callq *0x8(%rax)
movq 0x58(%rsp), %rsi
testq %rsi, %rsi
je 0x360ae
movq %r14, %rdi
callq 0x156d0
leaq 0x50(%rsp), %rcx
movl $0x0, (%rcx)
leaq 0x3ec38(%rip), %rsi     # 0x74cf8
leaq 0x3b1fd(%rip), %rdx     # 0x712c4
leaq 0x70(%rsp), %rdi
leaq 0xd8(%rsp), %r8
callq 0x15aba
cmpb $0x0, 0x70(%rsp)
jne 0x36144
leaq 0x50(%rsp), %rdi
callq 0x4e2e8
movq 0x78(%rsp), %rax
testq %rax, %rax
je 0x360f9
movq (%rax), %r8
jmp 0x36100
leaq 0x3aef8(%rip), %r8      # 0x70ff8
leaq 0x3b171(%rip), %rdx     # 0x71278
leaq 0x20(%rsp), %rdi
movl $0x1, %esi
movl $0x17, %ecx
callq 0x4a84c
leaq 0x20(%rsp), %rdi
leaq 0x50(%rsp), %rsi
callq 0x481aa
leaq 0x20(%rsp), %rdi
callq 0x4a8b8
movq 0x50(%rsp), %rdi
testq %rdi, %rdi
je 0x36144
movq (%rdi), %rax
callq *0x8(%rax)
movq 0x78(%rsp), %rsi
testq %rsi, %rsi
je 0x36158
leaq 0x78(%rsp), %rdi
callq 0x156d0
movq 0xe0(%rsp), %rax
movq (%rax), %rax
leaq 0x50(%rsp), %r8
movq %rax, (%r8)
leaq 0x20(%rsp), %rcx
movq $0x0, (%rcx)
leaq 0x39e98(%rip), %rsi     # 0x70016
leaq 0x3b147(%rip), %rdx     # 0x712cc
leaq 0x70(%rsp), %rdi
callq 0x2abde
cmpb $0x0, 0x70(%rsp)
jne 0x361fa
leaq 0x50(%rsp), %rdi
callq 0x4e2e8
movq 0x78(%rsp), %rax
testq %rax, %rax
je 0x361af
movq (%rax), %r8
jmp 0x361b6
leaq 0x3ae42(%rip), %r8      # 0x70ff8
leaq 0x3b0bb(%rip), %rdx     # 0x71278
leaq 0x20(%rsp), %rdi
movl $0x1, %esi
movl $0x18, %ecx
callq 0x4a84c
leaq 0x20(%rsp), %rdi
leaq 0x50(%rsp), %rsi
callq 0x481aa
leaq 0x20(%rsp), %rdi
callq 0x4a8b8
movq 0x50(%rsp), %rdi
testq %rdi, %rdi
je 0x361fa
movq (%rdi), %rax
callq *0x8(%rax)
movq 0x78(%rsp), %rsi
testq %rsi, %rsi
je 0x3620e
leaq 0x78(%rsp), %rdi
callq 0x156d0
movb 0xb8(%rsp), %al
movb %al, 0x50(%rsp)
movq $0x0, 0x58(%rsp)
testb %al, %al
je 0x3633c
leaq 0x80(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x3913c(%rip), %rsi     # 0x6f379
leaq 0x39137(%rip), %rdx     # 0x6f37b
leaq 0x70(%rsp), %r15
movq %r15, %rdi
callq 0x15892
leaq 0x90(%rsp), %r14
leaq 0xa0(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x39115(%rip), %rsi     # 0x6f382
leaq 0x39110(%rip), %rdx     # 0x6f384
movq %r14, %rdi
callq 0x15892
leaq 0x50(%rsp), %rdi
leaq 0x70(%rsp), %rsi
leaq 0x8(%rsp), %rcx
movl $0x2, %edx
callq 0x20f82
movq 0xc0(%rsp), %rsi
movq 0xc8(%rsp), %rdx
leaq 0x20(%rsp), %rdi
leaq 0x48(%rsp), %rcx
callq 0x3d5c0
leaq 0x3b01d(%rip), %rsi     # 0x712d8
leaq 0x3b02c(%rip), %rdx     # 0x712ee
leaq 0x10(%rsp), %rdi
leaq 0x50(%rsp), %rcx
leaq 0x20(%rsp), %r8
callq 0x24081
leaq 0x20(%rsp), %rdi
callq 0x20fca
leaq 0x50(%rsp), %rdi
callq 0x20fca
movq $-0x40, %rbx
movq -0x10(%r12), %rdi
cmpq %rdi, %r12
je 0x36307
movq (%r12), %rsi
incq %rsi
callq 0xd530
addq $-0x20, %r12
addq $0x20, %rbx
jne 0x362f1
cmpb $0x0, 0x10(%rsp)
jne 0x3643f
leaq 0x70(%rsp), %rdi
callq 0x4e2e8
movq 0x18(%rsp), %rax
testq %rax, %rax
je 0x363f4
movq (%rax), %r8
jmp 0x363fb
leaq 0x58(%rsp), %r14
leaq 0x20(%rsp), %rdi
callq 0x4e2e8
leaq 0x3af83(%rip), %rdx     # 0x712d5
leaq 0x37dad(%rip), %rcx     # 0x6e106
leaq 0x37dac(%rip), %r8      # 0x6e10c
leaq 0x70(%rsp), %rdi
leaq 0x50(%rsp), %rsi
callq 0x48021
movq 0x70(%rsp), %r8
leaq 0x3aefd(%rip), %rdx     # 0x71278
leaq 0x10(%rsp), %rdi
movl $0x2, %esi
movl $0x19, %ecx
callq 0x4a84c
leaq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rsi
callq 0x481aa
leaq 0x10(%rsp), %rdi
callq 0x4a8b8
leaq 0x80(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x363c9
movq 0x80(%rsp), %rsi
incq %rsi
callq 0xd530
movq 0x20(%rsp), %rdi
testq %rdi, %rdi
je 0x363d9
movq (%rdi), %rax
callq *0x8(%rax)
movq 0x58(%rsp), %rsi
testq %rsi, %rsi
je 0x36918
movq %r14, %rdi
callq 0x156d0
jmp 0x36918
leaq 0x3abfd(%rip), %r8      # 0x70ff8
leaq 0x3ae76(%rip), %rdx     # 0x71278
leaq 0x50(%rsp), %rdi
movl $0x1, %esi
movl $0x1a, %ecx
callq 0x4a84c
leaq 0x50(%rsp), %rdi
leaq 0x70(%rsp), %rsi
callq 0x481aa
leaq 0x50(%rsp), %rdi
callq 0x4a8b8
movq 0x70(%rsp), %rdi
testq %rdi, %rdi
je 0x3643f
movq (%rdi), %rax
callq *0x8(%rax)
movq 0x18(%rsp), %rsi
testq %rsi, %rsi
je 0x36453
leaq 0x18(%rsp), %rdi
callq 0x156d0
xorl %eax, %eax
movb %al, 0x6(%rsp)
movb %al, 0x7(%rsp)
leaq 0x3b461(%rip), %rsi     # 0x718c5
leaq 0x70(%rsp), %rdi
callq 0x2a408
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 0x3d2c3
leaq 0x20(%rsp), %rdi
callq 0x20fca
movb 0x7(%rsp), %al
movl %eax, %ecx
xorb $0x1, %cl
leaq 0x18(%rsp), %r14
movb %cl, -0x8(%r14)
movq $0x0, (%r14)
testb %al, %al
je 0x3655a
leaq 0x8(%rsp), %rdi
callq 0x4e2e8
leaq 0x38ea1(%rip), %rdx     # 0x6f37a
leaq 0x37c2c(%rip), %rcx     # 0x6e10c
leaq 0x37c1f(%rip), %r8      # 0x6e106
leaq 0x20(%rsp), %rdi
leaq 0x10(%rsp), %rsi
callq 0x48021
movq 0x20(%rsp), %r8
leaq 0x3ad76(%rip), %rdx     # 0x71278
leaq 0x48(%rsp), %rdi
movl $0x1, %esi
movl $0x1f, %ecx
callq 0x4a84c
leaq 0x48(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x481aa
leaq 0x48(%rsp), %rdi
callq 0x4a8b8
leaq 0x30(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x3654a
movq 0x30(%rsp), %rsi
incq %rsi
callq 0xd530
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x3655a
movq (%rdi), %rax
callq *0x8(%rax)
movq 0x18(%rsp), %rsi
testq %rsi, %rsi
je 0x3656c
movq %r14, %rdi
callq 0x156d0
movb 0x6(%rsp), %al
movl %eax, %ecx
xorb $0x1, %cl
leaq 0x18(%rsp), %r14
movb %cl, -0x8(%r14)
movq $0x0, (%r14)
testb %al, %al
je 0x3661f
leaq 0x8(%rsp), %rdi
callq 0x4e2e8
leaq 0x38de5(%rip), %rdx     # 0x6f383
leaq 0x37b67(%rip), %rcx     # 0x6e10c
leaq 0x37b5a(%rip), %r8      # 0x6e106
leaq 0x20(%rsp), %rdi
leaq 0x10(%rsp), %rsi
callq 0x48021
movq 0x20(%rsp), %r8
leaq 0x3acb1(%rip), %rdx     # 0x71278
leaq 0x48(%rsp), %rdi
movl $0x1, %esi
movl $0x20, %ecx
callq 0x4a84c
leaq 0x48(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x481aa
leaq 0x48(%rsp), %rdi
callq 0x4a8b8
leaq 0x30(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x3660f
movq 0x30(%rsp), %rsi
incq %rsi
callq 0xd530
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x3661f
movq (%rdi), %rax
callq *0x8(%rax)
movq 0x18(%rsp), %rsi
testq %rsi, %rsi
je 0x36631
movq %r14, %rdi
callq 0x156d0
leaq 0x10(%rsp), %rcx
movl $0x1, (%rcx)
leaq 0x3998c(%rip), %rsi     # 0x6ffcf
leaq 0x3acc4(%rip), %rdx     # 0x7130e
leaq 0x20(%rsp), %rdi
leaq 0x70(%rsp), %r8
callq 0x15aba
cmpb $0x0, 0x20(%rsp)
jne 0x366c4
leaq 0x10(%rsp), %rdi
callq 0x4e2e8
movq 0x28(%rsp), %rax
testq %rax, %rax
je 0x36679
movq (%rax), %r8
jmp 0x36680
leaq 0x3a978(%rip), %r8      # 0x70ff8
leaq 0x3abf1(%rip), %rdx     # 0x71278
leaq 0x8(%rsp), %rdi
movl $0x1, %esi
movl $0x21, %ecx
callq 0x4a84c
leaq 0x8(%rsp), %rdi
leaq 0x10(%rsp), %rsi
callq 0x481aa
leaq 0x8(%rsp), %rdi
callq 0x4a8b8
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
je 0x366c4
movq (%rdi), %rax
callq *0x8(%rax)
movq 0x28(%rsp), %rsi
testq %rsi, %rsi
je 0x366d8
leaq 0x28(%rsp), %rdi
callq 0x156d0
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 0x3ac16(%rip), %rsi     # 0x71316
leaq 0x3ac15(%rip), %rdx     # 0x7131c
leaq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rcx
callq 0x2afb4
movq 0x20(%rsp), %rdi
cmpq %r15, %rdi
je 0x3672d
movq 0x30(%rsp), %rsi
incq %rsi
callq 0xd530
cmpb $0x0, 0x10(%rsp)
jne 0x36798
leaq 0x20(%rsp), %rdi
callq 0x4e2e8
movq 0x18(%rsp), %rax
testq %rax, %rax
je 0x3674d
movq (%rax), %r8
jmp 0x36754
leaq 0x3a8a4(%rip), %r8      # 0x70ff8
leaq 0x3ab1d(%rip), %rdx     # 0x71278
leaq 0x8(%rsp), %rdi
movl $0x1, %esi
movl $0x22, %ecx
callq 0x4a84c
leaq 0x8(%rsp), %rdi
leaq 0x20(%rsp), %rsi
callq 0x481aa
leaq 0x8(%rsp), %rdi
callq 0x4a8b8
movq 0x20(%rsp), %rdi
testq %rdi, %rdi
je 0x36798
movq (%rdi), %rax
callq *0x8(%rax)
movq 0x18(%rsp), %rsi
testq %rsi, %rsi
je 0x367ac
leaq 0x18(%rsp), %rdi
callq 0x156d0
movb 0x50(%rsp), %al
movb %al, 0x10(%rsp)
movq $0x0, 0x18(%rsp)
testb %al, %al
je 0x36845
movq 0x58(%rsp), %rax
leaq 0x18(%rsp), %r14
cmpq 0x60(%rsp), %rax
sete -0x8(%r14)
movq $0x0, (%r14)
je 0x368d8
leaq 0x8(%rsp), %rdi
callq 0x4e2e8
leaq 0x3ab31(%rip), %rdx     # 0x71328
leaq 0x37908(%rip), %rcx     # 0x6e106
leaq 0x37907(%rip), %r8      # 0x6e10c
leaq 0x20(%rsp), %rdi
leaq 0x10(%rsp), %rsi
callq 0x48021
movq 0x20(%rsp), %r8
leaq 0x3aa58(%rip), %rdx     # 0x71278
leaq 0x48(%rsp), %rdi
movl $0x1, %esi
movl $0x24, %ecx
callq 0x4a84c
leaq 0x48(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x481aa
jmp 0x368a7
leaq 0x18(%rsp), %r14
leaq 0x8(%rsp), %rdi
callq 0x4e2e8
leaq 0x3aaca(%rip), %rdx     # 0x71325
leaq 0x378a4(%rip), %rcx     # 0x6e106
leaq 0x378a3(%rip), %r8      # 0x6e10c
leaq 0x20(%rsp), %rdi
leaq 0x10(%rsp), %rsi
callq 0x48021
movq 0x20(%rsp), %r8
leaq 0x3a9f4(%rip), %rdx     # 0x71278
leaq 0x48(%rsp), %rdi
movl $0x2, %esi
movl $0x23, %ecx
callq 0x4a84c
leaq 0x48(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x481aa
leaq 0x48(%rsp), %rdi
callq 0x4a8b8
movq 0x20(%rsp), %rdi
cmpq %r15, %rdi
je 0x368c8
movq 0x30(%rsp), %rsi
incq %rsi
callq 0xd530
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x368d8
movq (%rdi), %rax
callq *0x8(%rax)
movq 0x18(%rsp), %rsi
testq %rsi, %rsi
je 0x368ea
movq %r14, %rdi
callq 0x156d0
cmpb $0x1, 0x50(%rsp)
jne 0x368fb
leaq 0x58(%rsp), %rdi
callq 0x20fca
movq 0x80(%rsp), %rdi
testq %rdi, %rdi
je 0x36918
movq 0x90(%rsp), %rsi
subq %rdi, %rsi
callq 0xd530
cmpb $0x1, 0xb8(%rsp)
jne 0x3692f
leaq 0xc0(%rsp), %rdi
callq 0x20fca
movq 0xe8(%rsp), %rdi
testq %rdi, %rdi
je 0x3694c
movq 0xf8(%rsp), %rsi
subq %rdi, %rsi
callq 0xd530
movl $0xe0, %r14d
leaq (%rsp,%r14), %rdi
addq $0x120, %rdi            # imm = 0x120
callq 0x21caa
leaq (%rsp,%r14), %rdi
addq $0x108, %rdi            # imm = 0x108
callq 0x21cda
leaq (%rsp,%r14), %rbx
addq $0xf0, %rbx
movq %rbx, %rdi
callq 0x21d0a
movq -0x10(%rbx), %rax
testq %rax, %rax
je 0x369a3
leaq (%rsp,%r14), %rdi
addq $0xd0, %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
addq $-0x70, %r14
jne 0x36952
addq $0x220, %rsp            # imm = 0x220
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
retq
jmp 0x369c8
jmp 0x369d7
jmp 0x36b24
jmp 0x36b42
movq %rax, %rbx
leaq 0x48(%rsp), %rdi
callq 0x4a8b8
jmp 0x369da
movq %rax, %rbx
movq 0x20(%rsp), %rdi
cmpq %r15, %rdi
jne 0x36b15
jmp 0x36b27
jmp 0x36b24
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x4a8b8
jmp 0x36a09
jmp 0x36b42
movq %rax, %rbx
movq 0x20(%rsp), %rdi
testq %rdi, %rdi
je 0x36a19
movq (%rdi), %rax
callq *0x8(%rax)
movq $0x0, 0x20(%rsp)
jmp 0x36a27
movq %rax, %rbx
movq 0x18(%rsp), %rsi
testq %rsi, %rsi
je 0x36a3b
leaq 0x18(%rsp), %rdi
callq 0x156d0
movq $0x0, 0x18(%rsp)
jmp 0x36b57
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x4a8b8
jmp 0x36a5b
movq %rax, %rbx
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
je 0x36a6b
movq (%rdi), %rax
callq *0x8(%rax)
movq $0x0, 0x10(%rsp)
jmp 0x36a79
movq %rax, %rbx
movq 0x28(%rsp), %rsi
testq %rsi, %rsi
je 0x36a8d
leaq 0x28(%rsp), %rdi
callq 0x156d0
movq $0x0, 0x28(%rsp)
jmp 0x36b57
movq %rax, %rbx
leaq 0x50(%rsp), %rdi
callq 0x4a8b8
jmp 0x36aad
movq %rax, %rbx
movq 0x70(%rsp), %rdi
testq %rdi, %rdi
je 0x36abd
movq (%rdi), %rax
callq *0x8(%rax)
movq $0x0, 0x70(%rsp)
jmp 0x36acb
movq %rax, %rbx
movq 0x18(%rsp), %rsi
testq %rsi, %rsi
je 0x36adf
leaq 0x18(%rsp), %rdi
callq 0x156d0
movq $0x0, 0x18(%rsp)
jmp 0x36d52
jmp 0x36af3
jmp 0x36b04
jmp 0x36b24
movq %rax, %rbx
leaq 0x48(%rsp), %rdi
callq 0x4a8b8
jmp 0x36b07
jmp 0x36b42
movq %rax, %rbx
leaq 0x30(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x36b27
movq 0x30(%rsp), %rsi
incq %rsi
callq 0xd530
jmp 0x36b27
movq %rax, %rbx
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x36b37
movq (%rdi), %rax
callq *0x8(%rax)
movq $0x0, 0x8(%rsp)
jmp 0x36b45
movq %rax, %rbx
movq 0x18(%rsp), %rsi
testq %rsi, %rsi
je 0x36b57
movq %r14, %rdi
callq 0x156d0
cmpb $0x1, 0x50(%rsp)
jne 0x36b68
leaq 0x58(%rsp), %rdi
callq 0x20fca
movb $0x0, 0x50(%rsp)
movq 0x80(%rsp), %rdi
testq %rdi, %rdi
je 0x36d52
movq 0x90(%rsp), %rsi
subq %rdi, %rsi
callq 0xd530
jmp 0x36d52
movq %rax, %rbx
movq 0x20(%rsp), %rdi
cmpq %r15, %rdi
je 0x36b57
movq 0x30(%rsp), %rsi
incq %rsi
callq 0xd530
jmp 0x36b57
movq %rax, %rbx
jmp 0x36b57
movq %rax, %rbx
leaq 0x20(%rsp), %rdi
callq 0x20fca
jmp 0x36b6d
jmp 0x36d4f
movq %rax, %rbx
leaq 0x20(%rsp), %rdi
callq 0x20fca
jmp 0x36bdf
jmp 0x36cd7
movq %rax, %rbx
leaq 0x50(%rsp), %rdi
callq 0x20fca
jmp 0x36bf3
jmp 0x36ce8
movq %rax, %rbx
xorl %r13d, %r13d
movq 0x90(%rsp,%r13), %rdi
leaq (%r12,%r13), %rax
cmpq %rdi, %rax
je 0x36c12
movq (%rax), %rsi
incq %rsi
callq 0xd530
addq $-0x20, %r13
cmpq $-0x40, %r13
jne 0x36bf6
movb $0x1, %al
jmp 0x36c3b
jmp 0x36d0e
movq %rax, %rbx
xorl %eax, %eax
jmp 0x36c3b
jmp 0x36c7f
jmp 0x36d2c
movq %rax, %rbx
xorl %eax, %eax
movq %r15, %r14
cmpq %r14, %r15
sete %cl
orb %al, %cl
jne 0x36d52
addq $-0x10, %r14
leaq 0x70(%rsp), %r15
movq -0x10(%r14), %rdi
cmpq %rdi, %r14
je 0x36c66
movq (%r14), %rsi
incq %rsi
callq 0xd530
leaq -0x20(%r14), %rax
addq $-0x10, %r14
cmpq %r15, %r14
movq %rax, %r14
jne 0x36c52
jmp 0x36d52
jmp 0x36c8e
jmp 0x36cac
movq %rax, %rbx
leaq 0x20(%rsp), %rdi
callq 0x4a8b8
jmp 0x36c91
movq %rax, %rbx
movq 0x50(%rsp), %rdi
testq %rdi, %rdi
je 0x36ca1
movq (%rdi), %rax
callq *0x8(%rax)
movq $0x0, 0x50(%rsp)
jmp 0x36caf
movq %rax, %rbx
movq 0x78(%rsp), %rsi
testq %rsi, %rsi
je 0x36cc3
leaq 0x78(%rsp), %rdi
callq 0x156d0
movq $0x0, 0x78(%rsp)
jmp 0x36d52
jmp 0x36cd7
jmp 0x36ce8
jmp 0x36d0e
movq %rax, %rbx
leaq 0x10(%rsp), %rdi
callq 0x4a8b8
jmp 0x36ceb
jmp 0x36d2c
movq %rax, %rbx
leaq 0x80(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x36d11
movq 0x80(%rsp), %rsi
incq %rsi
callq 0xd530
jmp 0x36d11
movq %rax, %rbx
movq 0x20(%rsp), %rdi
testq %rdi, %rdi
je 0x36d21
movq (%rdi), %rax
callq *0x8(%rax)
movq $0x0, 0x20(%rsp)
jmp 0x36d2f
movq %rax, %rbx
movq 0x58(%rsp), %rsi
testq %rsi, %rsi
je 0x36d52
movq %r14, %rdi
callq 0x156d0
jmp 0x36d52
jmp 0x36e37
jmp 0x36e37
jmp 0x36d4f
movq %rax, %rbx
cmpb $0x1, 0xb8(%rsp)
jne 0x36d69
leaq 0xc0(%rsp), %rdi
callq 0x20fca
movb $0x0, 0xb8(%rsp)
movq 0xe8(%rsp), %rdi
testq %rdi, %rdi
je 0x36d8e
movq 0xf8(%rsp), %rsi
subq %rdi, %rsi
callq 0xd530
movl $0x70, %r14d
leaq (%rsp,%r14), %rdi
addq $0x140, %rdi            # imm = 0x140
callq 0x20f42
addq $-0x70, %r14
cmpq $-0x70, %r14
jne 0x36d94
movq %rbx, %rdi
callq 0xda70
movq %rax, %rbx
leaq 0x70(%rsp), %rdi
callq 0x20fca
jmp 0x36d71
movq %rax, %rbx
jmp 0x36d8e
movq %rax, %rbx
movq 0x110(%rsp), %rax
testq %rax, %rax
je 0x36df3
leaq 0x100(%rsp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
jmp 0x36df3
jmp 0x36e37
movq %rax, %rbx
movq 0x130(%rsp), %rax
testq %rax, %rax
je 0x36e12
leaq 0x120(%rsp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
leaq 0x140(%rsp), %r15
cmpq %r14, %r15
je 0x36dae
addq $-0x70, %r14
movq %r14, %rdi
callq 0x20f42
cmpq %r15, %r14
jne 0x36e1f
jmp 0x36dae
jmp 0x36e37
movq %rax, %rdi
callq 0x15674
nop