// File: /workspace/github_cpp_makefile_star2_O2/halfflat[P]tinyopt/test/test_option.cc
// Function: option_modals_Test::TestBody()
TEST(option, modals) {
    bool a;
    to::option opts[] = {
        {a, to::when(1)},
        {a, to::when([](int k) { return k%2==0; }), to::when([](int k) { return k%3==0; })},
        {a, to::then(8)},
        {a, to::then(8), to::then([](int m) {return m+1;})},
        {a, to::when(1, 3, 5, [](int k) { return k%2==0; })}
    };

    EXPECT_TRUE(opts[0].check_mode(1));
    EXPECT_FALSE(opts[0].check_mode(0));

    EXPECT_TRUE(opts[1].check_mode(6));
    EXPECT_FALSE(opts[1].check_mode(3));
    EXPECT_FALSE(opts[1].check_mode(4));

    int mode = 0;
    opts[0].set_mode(mode);
    EXPECT_EQ(0, mode);

    mode = 0;
    opts[2].set_mode(mode);
    EXPECT_EQ(8, mode);

    mode = 0;
    opts[3].set_mode(mode);
    EXPECT_EQ(9, mode);

    EXPECT_TRUE(opts[4].check_mode(8));
    EXPECT_TRUE(opts[4].check_mode(1));
    EXPECT_TRUE(opts[4].check_mode(3));
    EXPECT_TRUE(opts[4].check_mode(5));
    EXPECT_FALSE(opts[4].check_mode(7));
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x4a8, %rsp            # imm = 0x4A8
leaq 0x250(%rsp), %rsi
andq $0x0, 0x8(%rsi)
leaq 0xbf(%rsp), %r14
movq %r14, (%rsi)
leaq 0x6712(%rip), %r12      # 0x1f60a
movq %r12, 0x18(%rsi)
leaq 0x670d(%rip), %rbx      # 0x1f610
movq %rbx, 0x10(%rsi)
xorps %xmm0, %xmm0
leaq 0x10(%rsp), %rdx
movaps %xmm0, (%rdx)
movl $0x1, (%rdx)
leaq 0x4669(%rip), %rax      # 0x1d588
movq %rax, 0x18(%rdx)
leaq 0x4666(%rip), %rax      # 0x1d590
movq %rax, 0x10(%rdx)
leaq 0x270(%rsp), %r13
movq %r13, %rdi
callq 0x1ce08
leaq 0x230(%rsp), %rsi
andq $0x0, 0x8(%rsi)
leaq 0x2e0(%rsp), %r13
movq %r14, (%rsi)
movq %r12, 0x18(%rsi)
movq %rbx, 0x10(%rsi)
leaq 0x110(%rsp), %rdx
xorps %xmm0, %xmm0
movaps %xmm0, (%rdx)
leaq 0x32fb(%rip), %rax      # 0x1c26e
movq %rax, 0x18(%rdx)
leaq 0x32f8(%rip), %rax      # 0x1c276
movq %rax, 0x10(%rdx)
leaq 0x1d0(%rsp), %rcx
movaps %xmm0, (%rcx)
leaq 0x3308(%rip), %rax      # 0x1c29c
movq %rax, 0x18(%rcx)
leaq 0x330b(%rip), %rax      # 0x1c2aa
movq %rax, 0x10(%rcx)
movq %r13, %rdi
callq 0x1cec8
leaq 0x210(%rsp), %rsi
andq $0x0, 0x8(%rsi)
leaq 0x350(%rsp), %rdi
movq %r14, (%rsi)
movq %r12, 0x18(%rsi)
movq %rbx, 0x10(%rsi)
xorps %xmm0, %xmm0
leaq 0x1b0(%rsp), %rdx
movaps %xmm0, (%rdx)
movl $0x8, (%rdx)
leaq 0x45f8(%rip), %rbp      # 0x1d5de
movq %rbp, 0x18(%rdx)
leaq 0x45f1(%rip), %r15      # 0x1d5e2
movq %r15, 0x10(%rdx)
movq %rdi, 0x108(%rsp)
callq 0x1cf8e
leaq 0x1f0(%rsp), %rsi
andq $0x0, 0x8(%rsi)
leaq 0x3c0(%rsp), %rdi
movq %r14, (%rsi)
movq %r12, 0x18(%rsi)
movq %rbx, 0x10(%rsi)
leaq 0x190(%rsp), %rdx
xorps %xmm0, %xmm0
movaps %xmm0, (%rdx)
movl $0x8, (%rdx)
movq %rbp, 0x18(%rdx)
movq %r15, 0x10(%rdx)
leaq 0x170(%rsp), %rcx
movaps %xmm0, (%rcx)
leaq 0x3280(%rip), %rax      # 0x1c2d0
movq %rax, 0x18(%rcx)
leaq 0x327b(%rip), %rax      # 0x1c2d6
movq %rax, 0x10(%rcx)
callq 0x1d04e
leaq 0x430(%rsp), %rax
movq %rax, 0x100(%rsp)
andq $0x0, 0x138(%rsp)
movq %r14, 0x130(%rsp)
movq %r12, 0x148(%rsp)
movq %rbx, 0x140(%rsp)
xorps %xmm0, %xmm0
movaps %xmm0, 0x30(%rsp)
movl $0x1, 0x30(%rsp)
leaq 0x44dc(%rip), %r12      # 0x1d588
movq %r12, 0x48(%rsp)
leaq 0x44d8(%rip), %r15      # 0x1d590
movq %r15, 0x40(%rsp)
leaq 0xe0(%rsp), %r14
movaps %xmm0, -0x20(%r14)
movl $0x3, -0x20(%r14)
movq %r12, -0x8(%r14)
movq %r15, -0x10(%r14)
movaps %xmm0, 0x70(%rsp)
movl $0x5, 0x70(%rsp)
movq %r12, 0x88(%rsp)
movq %r15, 0x80(%rsp)
movaps %xmm0, 0x90(%rsp)
leaq 0x3238(%rip), %rbx      # 0x1c33e
movq %rbx, 0xa8(%rsp)
leaq 0x3231(%rip), %rbp      # 0x1c346
movq %rbp, 0xa0(%rsp)
movaps %xmm0, (%r14)
movaps %xmm0, 0x10(%r14)
pushq $0x40
popq %rdi
callq 0xd570
leaq 0x50(%rsp), %rdx
leaq 0x80(%rsp), %rcx
movq %r12, 0x18(%rax)
movaps -0x10(%rcx), %xmm0
movups %xmm0, (%rax)
movq %r15, 0x10(%rax)
xorps %xmm0, %xmm0
movups %xmm0, (%rcx)
movq %rbx, 0x38(%rax)
movq %rdx, %rbx
movups %xmm0, 0x20(%rax)
movq %rbp, 0x30(%rax)
movups %xmm0, 0x20(%rcx)
movq %rax, 0xe0(%rsp)
leaq 0x31fa(%rip), %rax      # 0x1c36c
movq %rax, 0xf8(%rsp)
leaq 0x3221(%rip), %rax      # 0x1c3a2
movq %rax, 0xf0(%rsp)
leaq 0x70(%rsp), %rdi
callq 0x1c328
xorps %xmm0, %xmm0
movups %xmm0, 0x10(%rbx)
movups %xmm0, (%rbx)
pushq $0x40
popq %rdi
callq 0xd570
xorps %xmm0, %xmm0
movups %xmm0, (%rax)
andq $0x0, 0x10(%rax)
movq 0xd8(%rsp), %rcx
movq %rcx, 0x18(%rax)
movq 0xd0(%rsp), %rcx
testq %rcx, %rcx
je 0x191df
leaq 0xd0(%rsp), %rdx
movaps -0x10(%rdx), %xmm1
movups %xmm1, (%rax)
movq %rcx, 0x10(%rax)
movups %xmm0, (%rdx)
movups %xmm0, 0x20(%rax)
andq $0x0, 0x30(%rax)
movq 0xf8(%rsp), %rcx
movq %rcx, 0x38(%rax)
movq 0xf0(%rsp), %rcx
testq %rcx, %rcx
je 0x19221
leaq 0xf0(%rsp), %rdx
movq %rax, %rsi
addq $0x20, %rsi
movups (%r14), %xmm0
movups %xmm0, (%rsi)
movq %rcx, 0x30(%rax)
xorps %xmm0, %xmm0
movups %xmm0, (%rdx)
movq %rax, 0x50(%rsp)
leaq 0x321d(%rip), %rax      # 0x1c44a
movq %rax, 0x68(%rsp)
leaq 0x3247(%rip), %rax      # 0x1c480
movq %rax, 0x60(%rsp)
leaq 0xc0(%rsp), %rdi
callq 0x1c312
xorps %xmm0, %xmm0
movaps %xmm0, 0x150(%rsp)
movaps %xmm0, 0x160(%rsp)
pushq $0x40
popq %rdi
callq 0xd570
xorps %xmm0, %xmm0
movups %xmm0, (%rax)
andq $0x0, 0x10(%rax)
movq 0x48(%rsp), %rcx
movq %rcx, 0x18(%rax)
movq 0x40(%rsp), %rcx
testq %rcx, %rcx
je 0x1929a
leaq 0x40(%rsp), %rdx
movaps -0x10(%rdx), %xmm0
movups %xmm0, (%rax)
movq %rcx, 0x10(%rax)
xorps %xmm0, %xmm0
movups %xmm0, (%rdx)
movups %xmm0, 0x20(%rax)
andq $0x0, 0x30(%rax)
movq 0x68(%rsp), %rcx
movq %rcx, 0x38(%rax)
movq 0x60(%rsp), %rcx
testq %rcx, %rcx
je 0x192cf
leaq 0x60(%rsp), %rdx
movq %rax, %rsi
addq $0x20, %rsi
movups (%rbx), %xmm1
movups %xmm1, (%rsi)
movq %rcx, 0x30(%rax)
movups %xmm0, (%rdx)
leaq 0x150(%rsp), %r14
movq %rax, (%r14)
leaq 0x3247(%rip), %rax      # 0x1c528
movq %rax, 0x18(%r14)
leaq 0x3272(%rip), %rax      # 0x1c55e
movq %rax, 0x10(%r14)
leaq 0x30(%rsp), %rdi
callq 0x1c2fc
leaq 0x130(%rsp), %rsi
leaq 0x430(%rsp), %rbx
movq %rbx, %rdi
movq %r14, %rdx
callq 0x1ce08
leaq 0x150(%rsp), %rdi
callq 0x1367e
leaq 0x130(%rsp), %rdi
callq 0x1367e
leaq 0x170(%rsp), %rdi
callq 0x1367e
leaq 0x190(%rsp), %rdi
callq 0x1367e
leaq 0x1f0(%rsp), %rdi
callq 0x1367e
leaq 0x1b0(%rsp), %rdi
callq 0x1367e
leaq 0x210(%rsp), %rdi
callq 0x1367e
leaq 0x1d0(%rsp), %rdi
callq 0x1367e
leaq 0x110(%rsp), %rdi
callq 0x1367e
leaq 0x230(%rsp), %rdi
callq 0x1367e
leaq 0x10(%rsp), %rdi
callq 0x1367e
leaq 0x250(%rsp), %rdi
callq 0x1367e
leaq 0x270(%rsp), %rdi
pushq $0x1
popq %rsi
callq 0x1d114
leaq 0xc8(%rsp), %rbp
movb %al, -0x8(%rbp)
andq $0x0, (%rbp)
testb %al, %al
jne 0x19458
leaq 0x30(%rsp), %rdi
callq 0x3d5f6
leaq 0x3e316(%rip), %rdx     # 0x576fd
leaq 0x3cd21(%rip), %rcx     # 0x5610f
leaq 0x3cd20(%rip), %r8      # 0x56115
leaq 0x70(%rsp), %rdi
leaq 0xc0(%rsp), %rsi
callq 0x399e5
movq 0x70(%rsp), %r8
leaq 0x3debe(%rip), %rdx     # 0x572d1
leaq 0x10(%rsp), %rdi
pushq $0x1
popq %rsi
movl $0x83, %ecx
callq 0x3b5b6
leaq 0x10(%rsp), %rdi
leaq 0x30(%rsp), %rsi
callq 0x39b08
leaq 0x10(%rsp), %rdi
callq 0x3b616
leaq 0x70(%rsp), %rdi
callq 0xdbe8
movq 0x30(%rsp), %rdi
testq %rdi, %rdi
je 0x19458
movq (%rdi), %rax
callq *0x8(%rax)
movq %rbp, %rdi
callq 0x13646
leaq 0x270(%rsp), %rdi
xorl %esi, %esi
callq 0x1d114
movl %eax, %ecx
xorb $0x1, %cl
leaq 0xc8(%rsp), %rbp
movb %cl, -0x8(%rbp)
andq $0x0, (%rbp)
testb %al, %al
je 0x1950e
leaq 0x30(%rsp), %rdi
callq 0x3d5f6
leaq 0x3e276(%rip), %rdx     # 0x57713
leaq 0x3cc71(%rip), %rcx     # 0x56115
leaq 0x3cc64(%rip), %r8      # 0x5610f
leaq 0x70(%rsp), %rdi
leaq 0xc0(%rsp), %rsi
callq 0x399e5
movq 0x70(%rsp), %r8
leaq 0x3de08(%rip), %rdx     # 0x572d1
leaq 0x10(%rsp), %rdi
pushq $0x1
popq %rsi
movl $0x84, %ecx
callq 0x3b5b6
leaq 0x10(%rsp), %rdi
leaq 0x30(%rsp), %rsi
callq 0x39b08
leaq 0x10(%rsp), %rdi
callq 0x3b616
leaq 0x70(%rsp), %rdi
callq 0xdbe8
movq 0x30(%rsp), %rdi
testq %rdi, %rdi
je 0x1950e
movq (%rdi), %rax
callq *0x8(%rax)
movq %rbp, %rdi
callq 0x13646
pushq $0x6
popq %rsi
movq %r13, %rdi
callq 0x1d114
leaq 0xc8(%rsp), %rbp
movb %al, -0x8(%rbp)
andq $0x0, (%rbp)
testb %al, %al
jne 0x195bb
leaq 0x30(%rsp), %rdi
callq 0x3d5f6
leaq 0x3e1df(%rip), %rdx     # 0x57729
leaq 0x3cbbe(%rip), %rcx     # 0x5610f
leaq 0x3cbbd(%rip), %r8      # 0x56115
leaq 0x70(%rsp), %rdi
leaq 0xc0(%rsp), %rsi
callq 0x399e5
movq 0x70(%rsp), %r8
leaq 0x3dd5b(%rip), %rdx     # 0x572d1
leaq 0x10(%rsp), %rdi
pushq $0x1
popq %rsi
movl $0x86, %ecx
callq 0x3b5b6
leaq 0x10(%rsp), %rdi
leaq 0x30(%rsp), %rsi
callq 0x39b08
leaq 0x10(%rsp), %rdi
callq 0x3b616
leaq 0x70(%rsp), %rdi
callq 0xdbe8
movq 0x30(%rsp), %rdi
testq %rdi, %rdi
je 0x195bb
movq (%rdi), %rax
callq *0x8(%rax)
movq %rbp, %rdi
callq 0x13646
pushq $0x3
popq %rsi
movq %r13, %rdi
callq 0x1d114
movl %eax, %ecx
xorb $0x1, %cl
leaq 0xc8(%rsp), %rbp
movb %cl, -0x8(%rbp)
andq $0x0, (%rbp)
testb %al, %al
je 0x1966d
leaq 0x30(%rsp), %rdi
callq 0x3d5f6
leaq 0x3e143(%rip), %rdx     # 0x5773f
leaq 0x3cb12(%rip), %rcx     # 0x56115
leaq 0x3cb05(%rip), %r8      # 0x5610f
leaq 0x70(%rsp), %rdi
leaq 0xc0(%rsp), %rsi
callq 0x399e5
movq 0x70(%rsp), %r8
leaq 0x3dca9(%rip), %rdx     # 0x572d1
leaq 0x10(%rsp), %rdi
pushq $0x1
popq %rsi
movl $0x87, %ecx
callq 0x3b5b6
leaq 0x10(%rsp), %rdi
leaq 0x30(%rsp), %rsi
callq 0x39b08
leaq 0x10(%rsp), %rdi
callq 0x3b616
leaq 0x70(%rsp), %rdi
callq 0xdbe8
movq 0x30(%rsp), %rdi
testq %rdi, %rdi
je 0x1966d
movq (%rdi), %rax
callq *0x8(%rax)
movq %rbp, %rdi
callq 0x13646
pushq $0x4
popq %rsi
movq %r13, %rdi
callq 0x1d114
movl %eax, %ecx
xorb $0x1, %cl
leaq 0xc8(%rsp), %r13
movb %cl, -0x8(%r13)
andq $0x0, (%r13)
testb %al, %al
je 0x19720
leaq 0x30(%rsp), %rdi
callq 0x3d5f6
leaq 0x3e0a6(%rip), %rdx     # 0x57755
leaq 0x3ca5f(%rip), %rcx     # 0x56115
leaq 0x3ca52(%rip), %r8      # 0x5610f
leaq 0x70(%rsp), %rdi
leaq 0xc0(%rsp), %rsi
callq 0x399e5
movq 0x70(%rsp), %r8
leaq 0x3dbf6(%rip), %rdx     # 0x572d1
leaq 0x10(%rsp), %rdi
pushq $0x1
popq %rsi
movl $0x88, %ecx
callq 0x3b5b6
leaq 0x10(%rsp), %rdi
leaq 0x30(%rsp), %rsi
callq 0x39b08
leaq 0x10(%rsp), %rdi
callq 0x3b616
leaq 0x70(%rsp), %rdi
callq 0xdbe8
movq 0x30(%rsp), %rdi
testq %rdi, %rdi
je 0x19720
movq (%rdi), %rax
callq *0x8(%rax)
movq %r13, %rdi
callq 0x13646
leaq 0x110(%rsp), %rsi
andl $0x0, (%rsi)
leaq 0x270(%rsp), %rdi
callq 0x1d14a
leaq 0xc0(%rsp), %rcx
andl $0x0, (%rcx)
leaq 0x435f6(%rip), %rsi     # 0x5cd48
leaq 0x3e012(%rip), %rdx     # 0x5776b
leaq 0x70(%rsp), %rdi
leaq 0x110(%rsp), %r8
callq 0x13a52
cmpb $0x0, 0x70(%rsp)
jne 0x197dd
leaq 0xc0(%rsp), %rdi
callq 0x3d5f6
movq 0x78(%rsp), %rax
testq %rax, %rax
je 0x1978e
movq (%rax), %r8
jmp 0x19795
leaq 0x3f8d5(%rip), %r8      # 0x5906a
leaq 0x3db35(%rip), %rdx     # 0x572d1
leaq 0x30(%rsp), %rdi
pushq $0x1
popq %rsi
movl $0x8c, %ecx
callq 0x3b5b6
leaq 0x30(%rsp), %rdi
leaq 0xc0(%rsp), %rsi
callq 0x39b08
leaq 0x30(%rsp), %rdi
callq 0x3b616
movq 0xc0(%rsp), %rdi
testq %rdi, %rdi
je 0x197dd
movq (%rdi), %rax
callq *0x8(%rax)
leaq 0x78(%rsp), %rdi
callq 0x13646
leaq 0x110(%rsp), %rsi
andl $0x0, (%rsi)
leaq 0x350(%rsp), %rdi
callq 0x1d14a
leaq 0xc0(%rsp), %rcx
movl $0x8, (%rcx)
leaq 0x41e68(%rip), %rsi     # 0x5b67c
leaq 0x3df50(%rip), %rdx     # 0x5776b
leaq 0x70(%rsp), %rdi
leaq 0x110(%rsp), %r8
callq 0x13a52
cmpb $0x0, 0x70(%rsp)
jne 0x1989f
leaq 0xc0(%rsp), %rdi
callq 0x3d5f6
movq 0x78(%rsp), %rax
testq %rax, %rax
je 0x19850
movq (%rax), %r8
jmp 0x19857
leaq 0x3f813(%rip), %r8      # 0x5906a
leaq 0x3da73(%rip), %rdx     # 0x572d1
leaq 0x30(%rsp), %rdi
pushq $0x1
popq %rsi
movl $0x90, %ecx
callq 0x3b5b6
leaq 0x30(%rsp), %rdi
leaq 0xc0(%rsp), %rsi
callq 0x39b08
leaq 0x30(%rsp), %rdi
callq 0x3b616
movq 0xc0(%rsp), %rdi
testq %rdi, %rdi
je 0x1989f
movq (%rdi), %rax
callq *0x8(%rax)
leaq 0x78(%rsp), %rdi
callq 0x13646
leaq 0x110(%rsp), %rsi
andl $0x0, (%rsi)
leaq 0x3c0(%rsp), %rdi
callq 0x1d14a
leaq 0xc0(%rsp), %rcx
movl $0x9, (%rcx)
leaq 0x3de9a(%rip), %rsi     # 0x57770
leaq 0x3de8e(%rip), %rdx     # 0x5776b
leaq 0x70(%rsp), %rdi
leaq 0x110(%rsp), %r8
callq 0x13a52
cmpb $0x0, 0x70(%rsp)
jne 0x19961
leaq 0xc0(%rsp), %rdi
callq 0x3d5f6
movq 0x78(%rsp), %rax
testq %rax, %rax
je 0x19912
movq (%rax), %r8
jmp 0x19919
leaq 0x3f751(%rip), %r8      # 0x5906a
leaq 0x3d9b1(%rip), %rdx     # 0x572d1
leaq 0x30(%rsp), %rdi
pushq $0x1
popq %rsi
movl $0x94, %ecx
callq 0x3b5b6
leaq 0x30(%rsp), %rdi
leaq 0xc0(%rsp), %rsi
callq 0x39b08
leaq 0x30(%rsp), %rdi
callq 0x3b616
movq 0xc0(%rsp), %rdi
testq %rdi, %rdi
je 0x19961
movq (%rdi), %rax
callq *0x8(%rax)
leaq 0x78(%rsp), %rdi
callq 0x13646
pushq $0x8
popq %rsi
movq %rbx, %rdi
callq 0x1d114
leaq 0xc8(%rsp), %r14
movb %al, -0x8(%r14)
andq $0x0, (%r14)
testb %al, %al
jne 0x19a10
leaq 0x30(%rsp), %rdi
callq 0x3d5f6
leaq 0x3ddd3(%rip), %rdx     # 0x57772
leaq 0x3c769(%rip), %rcx     # 0x5610f
leaq 0x3c768(%rip), %r8      # 0x56115
leaq 0x70(%rsp), %rdi
leaq 0xc0(%rsp), %rsi
callq 0x399e5
movq 0x70(%rsp), %r8
leaq 0x3d906(%rip), %rdx     # 0x572d1
leaq 0x10(%rsp), %rdi
pushq $0x1
popq %rsi
movl $0x96, %ecx
callq 0x3b5b6
leaq 0x10(%rsp), %rdi
leaq 0x30(%rsp), %rsi
callq 0x39b08
leaq 0x10(%rsp), %rdi
callq 0x3b616
leaq 0x70(%rsp), %rdi
callq 0xdbe8
movq 0x30(%rsp), %rdi
testq %rdi, %rdi
je 0x19a10
movq (%rdi), %rax
callq *0x8(%rax)
movq %r14, %rdi
callq 0x13646
pushq $0x1
popq %rsi
movq %rbx, %rdi
callq 0x1d114
leaq 0xc8(%rsp), %r14
movb %al, -0x8(%r14)
andq $0x0, (%r14)
testb %al, %al
jne 0x19abd
leaq 0x30(%rsp), %rdi
callq 0x3d5f6
leaq 0x3dd3c(%rip), %rdx     # 0x57788
leaq 0x3c6bc(%rip), %rcx     # 0x5610f
leaq 0x3c6bb(%rip), %r8      # 0x56115
leaq 0x70(%rsp), %rdi
leaq 0xc0(%rsp), %rsi
callq 0x399e5
movq 0x70(%rsp), %r8
leaq 0x3d859(%rip), %rdx     # 0x572d1
leaq 0x10(%rsp), %rdi
pushq $0x1
popq %rsi
movl $0x97, %ecx
callq 0x3b5b6
leaq 0x10(%rsp), %rdi
leaq 0x30(%rsp), %rsi
callq 0x39b08
leaq 0x10(%rsp), %rdi
callq 0x3b616
leaq 0x70(%rsp), %rdi
callq 0xdbe8
movq 0x30(%rsp), %rdi
testq %rdi, %rdi
je 0x19abd
movq (%rdi), %rax
callq *0x8(%rax)
movq %r14, %rdi
callq 0x13646
pushq $0x3
popq %rsi
movq %rbx, %rdi
callq 0x1d114
leaq 0xc8(%rsp), %r14
movb %al, -0x8(%r14)
andq $0x0, (%r14)
testb %al, %al
jne 0x19b6a
leaq 0x30(%rsp), %rdi
callq 0x3d5f6
leaq 0x3dca5(%rip), %rdx     # 0x5779e
leaq 0x3c60f(%rip), %rcx     # 0x5610f
leaq 0x3c60e(%rip), %r8      # 0x56115
leaq 0x70(%rsp), %rdi
leaq 0xc0(%rsp), %rsi
callq 0x399e5
movq 0x70(%rsp), %r8
leaq 0x3d7ac(%rip), %rdx     # 0x572d1
leaq 0x10(%rsp), %rdi
pushq $0x1
popq %rsi
movl $0x98, %ecx
callq 0x3b5b6
leaq 0x10(%rsp), %rdi
leaq 0x30(%rsp), %rsi
callq 0x39b08
leaq 0x10(%rsp), %rdi
callq 0x3b616
leaq 0x70(%rsp), %rdi
callq 0xdbe8
movq 0x30(%rsp), %rdi
testq %rdi, %rdi
je 0x19b6a
movq (%rdi), %rax
callq *0x8(%rax)
movq %r14, %rdi
callq 0x13646
pushq $0x5
popq %rsi
movq %rbx, %rdi
callq 0x1d114
leaq 0xc8(%rsp), %r14
movb %al, -0x8(%r14)
andq $0x0, (%r14)
testb %al, %al
jne 0x19c17
leaq 0x30(%rsp), %rdi
callq 0x3d5f6
leaq 0x3dc0e(%rip), %rdx     # 0x577b4
leaq 0x3c562(%rip), %rcx     # 0x5610f
leaq 0x3c561(%rip), %r8      # 0x56115
leaq 0x70(%rsp), %rdi
leaq 0xc0(%rsp), %rsi
callq 0x399e5
movq 0x70(%rsp), %r8
leaq 0x3d6ff(%rip), %rdx     # 0x572d1
leaq 0x10(%rsp), %rdi
pushq $0x1
popq %rsi
movl $0x99, %ecx
callq 0x3b5b6
leaq 0x10(%rsp), %rdi
leaq 0x30(%rsp), %rsi
callq 0x39b08
leaq 0x10(%rsp), %rdi
callq 0x3b616
leaq 0x70(%rsp), %rdi
callq 0xdbe8
movq 0x30(%rsp), %rdi
testq %rdi, %rdi
je 0x19c17
movq (%rdi), %rax
callq *0x8(%rax)
movq %r14, %rdi
callq 0x13646
pushq $0x7
popq %rsi
movq %rbx, %rdi
callq 0x1d114
movl %eax, %ecx
xorb $0x1, %cl
leaq 0xc8(%rsp), %rbx
movb %cl, -0x8(%rbx)
andq $0x0, (%rbx)
testb %al, %al
je 0x19cc8
leaq 0x30(%rsp), %rdi
callq 0x3d5f6
leaq 0x3db73(%rip), %rdx     # 0x577ca
leaq 0x3c4b7(%rip), %rcx     # 0x56115
leaq 0x3c4aa(%rip), %r8      # 0x5610f
leaq 0x70(%rsp), %rdi
leaq 0xc0(%rsp), %rsi
callq 0x399e5
movq 0x70(%rsp), %r8
leaq 0x3d64e(%rip), %rdx     # 0x572d1
leaq 0x10(%rsp), %rdi
pushq $0x1
popq %rsi
movl $0x9a, %ecx
callq 0x3b5b6
leaq 0x10(%rsp), %rdi
leaq 0x30(%rsp), %rsi
callq 0x39b08
leaq 0x10(%rsp), %rdi
callq 0x3b616
leaq 0x70(%rsp), %rdi
callq 0xdbe8
movq 0x30(%rsp), %rdi
testq %rdi, %rdi
je 0x19cc8
movq (%rdi), %rax
callq *0x8(%rax)
movq %rbx, %rdi
callq 0x13646
movl $0x1c0, %ebx            # imm = 0x1C0
leaq (%rsp,%rbx), %rdi
addq $0x270, %rdi            # imm = 0x270
callq 0x1cbe0
addq $-0x70, %rbx
cmpq $-0x70, %rbx
jne 0x19cd5
addq $0x4a8, %rsp            # imm = 0x4A8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, 0x8(%rsp)
leaq 0x10(%rsp), %rdi
callq 0x3b616
jmp 0x19d17
movq %rax, 0x8(%rsp)
leaq 0x70(%rsp), %rdi
callq 0xdbe8
jmp 0x19d28
movq %rax, 0x8(%rsp)
movq 0x30(%rsp), %rdi
testq %rdi, %rdi
je 0x19d3f
movq (%rdi), %rax
callq *0x8(%rax)
jmp 0x19d3f
movq %rax, 0x8(%rsp)
movq %rbx, %rdi
jmp 0x19e87
jmp 0x19d5f
jmp 0x19d70
jmp 0x19d81
jmp 0x19d98
jmp 0x19d5f
jmp 0x19d70
jmp 0x19d81
jmp 0x19d98
jmp 0x19d5f
jmp 0x19d70
jmp 0x19d81
jmp 0x19d98
movq %rax, 0x8(%rsp)
leaq 0x10(%rsp), %rdi
callq 0x3b616
jmp 0x19d75
movq %rax, 0x8(%rsp)
leaq 0x70(%rsp), %rdi
callq 0xdbe8
jmp 0x19d86
movq %rax, 0x8(%rsp)
movq 0x30(%rsp), %rdi
testq %rdi, %rdi
je 0x19d9d
movq (%rdi), %rax
callq *0x8(%rax)
jmp 0x19d9d
movq %rax, 0x8(%rsp)
movq %r14, %rdi
jmp 0x19e87
jmp 0x19db1
jmp 0x19dc2
jmp 0x19ddc
jmp 0x19db1
jmp 0x19dc2
jmp 0x19ddc
movq %rax, 0x8(%rsp)
leaq 0x30(%rsp), %rdi
callq 0x3b616
jmp 0x19dc7
movq %rax, 0x8(%rsp)
movq 0xc0(%rsp), %rdi
testq %rdi, %rdi
je 0x19de1
movq (%rdi), %rax
callq *0x8(%rax)
jmp 0x19de1
movq %rax, 0x8(%rsp)
leaq 0x78(%rsp), %rdi
jmp 0x19e87
movq %rax, 0x8(%rsp)
leaq 0x10(%rsp), %rdi
callq 0x3b616
jmp 0x19e01
movq %rax, 0x8(%rsp)
leaq 0x70(%rsp), %rdi
callq 0xdbe8
jmp 0x19e12
movq %rax, 0x8(%rsp)
movq 0x30(%rsp), %rdi
testq %rdi, %rdi
je 0x19e29
movq (%rdi), %rax
callq *0x8(%rax)
jmp 0x19e29
movq %rax, 0x8(%rsp)
movq %r13, %rdi
jmp 0x19e87
jmp 0x19e46
jmp 0x19e57
jmp 0x19e68
jmp 0x19e7f
jmp 0x19e46
jmp 0x19e57
jmp 0x19e68
jmp 0x19e7f
jmp 0x19e46
jmp 0x19e57
jmp 0x19e68
jmp 0x19e7f
movq %rax, 0x8(%rsp)
leaq 0x10(%rsp), %rdi
callq 0x3b616
jmp 0x19e5c
movq %rax, 0x8(%rsp)
leaq 0x70(%rsp), %rdi
callq 0xdbe8
jmp 0x19e6d
movq %rax, 0x8(%rsp)
movq 0x30(%rsp), %rdi
testq %rdi, %rdi
je 0x19e84
movq (%rdi), %rax
callq *0x8(%rax)
jmp 0x19e84
movq %rax, 0x8(%rsp)
movq %rbp, %rdi
callq 0x13646
jmp 0x1a049
jmp 0x1a044
jmp 0x1a044
jmp 0x1a044
jmp 0x1a044
jmp 0x1a044
jmp 0x1a044
jmp 0x1a044
jmp 0x1a044
jmp 0x1a044
jmp 0x1a044
jmp 0x1a044
jmp 0x1a044
jmp 0x1a044
movq %rax, 0x8(%rsp)
leaq 0x150(%rsp), %rdi
jmp 0x19f44
movq %rax, 0x8(%rsp)
leaq 0x150(%rsp), %rdi
callq 0x1367e
leaq 0x30(%rsp), %rdi
callq 0x1c2fc
jmp 0x19f49
movq %rax, 0x8(%rsp)
movq %rbx, %rdi
callq 0x1367e
leaq 0xc0(%rsp), %rdi
callq 0x1c312
jmp 0x19f3f
movq %rax, 0x8(%rsp)
movq %r14, %rdi
callq 0x1367e
leaq 0x70(%rsp), %rdi
callq 0x1c328
leaq 0xc0(%rsp), %rdi
callq 0x1367e
leaq 0x30(%rsp), %rdi
callq 0x1367e
leaq 0x130(%rsp), %rdi
callq 0x1367e
jmp 0x19f6d
movq %rax, 0x8(%rsp)
leaq 0x3c0(%rsp), %r15
movq %r15, 0x100(%rsp)
leaq 0x170(%rsp), %rdi
callq 0x1367e
leaq 0x190(%rsp), %rdi
callq 0x1367e
leaq 0x1f0(%rsp), %rdi
callq 0x1367e
movq 0x100(%rsp), %rax
movq %rax, 0x108(%rsp)
leaq 0x1b0(%rsp), %rdi
callq 0x1367e
leaq 0x210(%rsp), %rdi
callq 0x1367e
movq 0x108(%rsp), %r13
leaq 0x1d0(%rsp), %rdi
callq 0x1367e
leaq 0x110(%rsp), %rdi
callq 0x1367e
leaq 0x230(%rsp), %rdi
callq 0x1367e
leaq 0x10(%rsp), %rdi
callq 0x1367e
leaq 0x250(%rsp), %rdi
callq 0x1367e
leaq 0x270(%rsp), %rax
cmpq %r13, %rax
je 0x1a068
leaq 0x270(%rsp), %rbx
addq $-0x70, %r13
movq %r13, %rdi
callq 0x1cbe0
cmpq %rbx, %r13
jne 0x1a019
jmp 0x1a068
movq %rax, 0x8(%rsp)
jmp 0x19fa4
movq %rax, 0x8(%rsp)
jmp 0x19fc6
movq %rax, 0x8(%rsp)
jmp 0x19fed
movq %rax, 0x8(%rsp)
movl $0x1c0, %ebx            # imm = 0x1C0
leaq (%rsp,%rbx), %rdi
addq $0x270, %rdi            # imm = 0x270
callq 0x1cbe0
addq $-0x70, %rbx
cmpq $-0x70, %rbx
jne 0x1a04e
movq 0x8(%rsp), %rdi
callq 0xdaa0