// File: /workspace/github_cpp_makefile_star2_O2/halfflat[P]tinyopt/test/test_state.cc
// Function: state_match_compact_Test::TestBody()
TEST(state, match_compact) {
    to::key k("key", to::key::compact);

    {
        mockargs M("key\0value\0rest\0");
        to::state s(M.argc, M.argv);

        auto mmr = s.match_option(k);
        ASSERT_TRUE(mmr);
        EXPECT_EQ("value"s, mmr->argument);
        EXPECT_EQ(2, mmr->shift);
        EXPECT_EQ(0, mmr->offset);

        s.consume(*mmr);
        EXPECT_EQ("rest"s, M.argv[0]);
    }

    {
        mockargs M("key\0value\0rest\0");
        to::state s(M.argc, M.argv);

        auto mmr = s.match_flag(k);
        ASSERT_TRUE(mmr);
        EXPECT_EQ(nullptr, mmr->argument);
        EXPECT_EQ(1, mmr->shift);
        EXPECT_EQ(0, mmr->offset);

        s.consume(*mmr);
        EXPECT_EQ("value"s, M.argv[0]);
    }

    {
        mockargs M("key=value\0rest\0");
        to::state s(M.argc, M.argv);

        auto mmr = s.match_option(k);
        ASSERT_TRUE(mmr);
        EXPECT_EQ("=value"s, mmr->argument);
        EXPECT_EQ(1, mmr->shift);
        EXPECT_EQ(0, mmr->offset);

        s.consume(*mmr);
        EXPECT_EQ("rest"s, M.argv[0]);
    }

    {
        mockargs M("key=value\0rest\0");
        to::state s(M.argc, M.argv);

        auto mmr = s.match_flag(k);
        ASSERT_TRUE(mmr);
        EXPECT_EQ(nullptr, mmr->argument);
        EXPECT_EQ(0, mmr->shift);
        EXPECT_EQ(3, mmr->offset);

        s.consume(*mmr);
        EXPECT_EQ("key=value"s, M.argv[0]);
        EXPECT_EQ("=value"s, M.argv[0]+s.optoff);
    }

    {
        mockargs M("keyvalue\0rest\0");
        to::state s(M.argc, M.argv);

        auto mmr = s.match_option(k);
        ASSERT_TRUE(mmr);
        EXPECT_EQ("value"s, mmr->argument);
        EXPECT_EQ(1, mmr->shift);
        EXPECT_EQ(0, mmr->offset);

        s.consume(*mmr);
        EXPECT_EQ("rest"s, M.argv[0]+s.optoff);
    }
}

// Assembly:
pushq %r14
pushq %rbx
subq $0xe8, %rsp
leaq 0x347de(%rip), %rsi     # 0x572cd
leaq 0xc8(%rsp), %rbx
leaq 0x60(%rsp), %rdx
movq %rbx, %rdi
callq 0x1337a
leaq 0xb0(%rsp), %rcx
movq %rcx, -0x10(%rcx)
movq (%rbx), %rdx
leaq 0xd8(%rsp), %rax
cmpq %rax, %rdx
je 0x22b3a
movq %rdx, 0xa0(%rsp)
movq 0xd8(%rsp), %rcx
movq %rcx, 0xb0(%rsp)
jmp 0x22b40
movups (%rax), %xmm0
movups %xmm0, (%rcx)
leaq 0xc8(%rsp), %rdi
movq 0x8(%rdi), %rcx
movq %rax, (%rdi)
andq $0x0, 0x8(%rdi)
movq %rcx, 0xa8(%rsp)
movb $0x0, 0x10(%rdi)
movl $0x2, 0xc0(%rsp)
callq 0xdbe8
leaq 0x356d1(%rip), %rsi     # 0x58248
leaq 0x60(%rsp), %rbx
movq %rbx, %rdi
callq 0x2488e
movq 0x68(%rsp), %rax
leaq 0x88(%rsp), %rsi
movq %rbx, (%rsi)
movq %rax, 0x8(%rsi)
andl $0x0, 0x10(%rsi)
leaq 0x48(%rsp), %rdi
leaq 0xa0(%rsp), %rdx
callq 0x24998
movb 0x48(%rsp), %al
leaq 0x18(%rsp), %r14
movb %al, -0x8(%r14)
andq $0x0, (%r14)
testb %al, %al
je 0x22c32
movq %r14, %rdi
callq 0x13646
leaq 0x354f6(%rip), %rsi     # 0x580c8
leaq 0x20(%rsp), %rdi
pushq $0x5
popq %rdx
callq 0x1cc63
leaq 0x50(%rsp), %rbx
leaq 0x35465(%rip), %rsi     # 0x58050
leaq 0x35467(%rip), %rdx     # 0x58059
leaq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rcx
movq %rbx, %r8
callq 0x25225
leaq 0x20(%rsp), %rdi
callq 0xdbe8
cmpb $0x0, 0x10(%rsp)
jne 0x22cdb
leaq 0x20(%rsp), %rdi
callq 0x3d5f6
movq 0x18(%rsp), %rax
testq %rax, %rax
je 0x22c92
movq (%rax), %r8
jmp 0x22c99
leaq 0x8(%rsp), %rdi
callq 0x3d5f6
leaq 0x35409(%rip), %rdx     # 0x5804c
leaq 0x334c5(%rip), %rcx     # 0x5610f
leaq 0x334c4(%rip), %r8      # 0x56115
leaq 0x20(%rsp), %rdi
leaq 0x10(%rsp), %rsi
callq 0x399e5
movq 0x20(%rsp), %r8
leaq 0x35308(%rip), %rdx     # 0x57f74
leaq 0x40(%rsp), %rdi
pushq $0x2
popq %rsi
movl $0xce, %ecx
callq 0x3b5b6
leaq 0x40(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x39b08
jmp 0x23af9
leaq 0x363d1(%rip), %r8      # 0x5906a
leaq 0x352d4(%rip), %rdx     # 0x57f74
leaq 0x8(%rsp), %rdi
pushq $0x1
popq %rsi
movl $0xcf, %ecx
callq 0x3b5b6
leaq 0x8(%rsp), %rdi
leaq 0x20(%rsp), %rsi
callq 0x39b08
leaq 0x8(%rsp), %rdi
callq 0x3b616
movq 0x20(%rsp), %rdi
testq %rdi, %rdi
je 0x22cdb
movq (%rdi), %rax
callq *0x8(%rax)
leaq 0x18(%rsp), %r14
movq %r14, %rdi
callq 0x13646
movl $0x2, -0x8(%r14)
leaq 0x58(%rsp), %r8
leaq 0x35333(%rip), %rsi     # 0x5802f
leaq 0x35364(%rip), %rdx     # 0x58067
leaq 0x20(%rsp), %rdi
leaq 0x10(%rsp), %rcx
callq 0x255f5
cmpb $0x0, 0x20(%rsp)
jne 0x22d7b
leaq 0x10(%rsp), %rdi
callq 0x3d5f6
movq 0x28(%rsp), %rax
testq %rax, %rax
je 0x22d32
movq (%rax), %r8
jmp 0x22d39
leaq 0x36331(%rip), %r8      # 0x5906a
leaq 0x35234(%rip), %rdx     # 0x57f74
leaq 0x8(%rsp), %rdi
pushq $0x1
popq %rsi
movl $0xd0, %ecx
callq 0x3b5b6
leaq 0x8(%rsp), %rdi
leaq 0x10(%rsp), %rsi
callq 0x39b08
leaq 0x8(%rsp), %rdi
callq 0x3b616
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
je 0x22d7b
movq (%rdi), %rax
callq *0x8(%rax)
leaq 0x28(%rsp), %rdi
callq 0x13646
leaq 0x10(%rsp), %rcx
andl $0x0, (%rcx)
leaq 0x5c(%rsp), %r8
leaq 0x39faf(%rip), %rsi     # 0x5cd48
leaq 0x352d2(%rip), %rdx     # 0x58072
leaq 0x20(%rsp), %rdi
callq 0x255f5
cmpb $0x0, 0x20(%rsp)
jne 0x22e13
leaq 0x10(%rsp), %rdi
callq 0x3d5f6
movq 0x28(%rsp), %rax
testq %rax, %rax
je 0x22dca
movq (%rax), %r8
jmp 0x22dd1
leaq 0x36299(%rip), %r8      # 0x5906a
leaq 0x3519c(%rip), %rdx     # 0x57f74
leaq 0x8(%rsp), %rdi
pushq $0x1
popq %rsi
movl $0xd1, %ecx
callq 0x3b5b6
leaq 0x8(%rsp), %rdi
leaq 0x10(%rsp), %rsi
callq 0x39b08
leaq 0x8(%rsp), %rdi
callq 0x3b616
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
je 0x22e13
movq (%rdi), %rax
callq *0x8(%rax)
leaq 0x28(%rsp), %rdi
callq 0x13646
leaq 0x88(%rsp), %rdi
movq %rbx, %rsi
callq 0x24976
leaq 0x35252(%rip), %rsi     # 0x58086
leaq 0x20(%rsp), %rdi
pushq $0x4
popq %rdx
callq 0x1cc63
movq 0x68(%rsp), %r8
leaq 0x35231(%rip), %rsi     # 0x5807e
leaq 0x3518a(%rip), %rdx     # 0x57fde
leaq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rcx
callq 0x253bd
leaq 0x20(%rsp), %rdi
callq 0xdbe8
cmpb $0x0, 0x10(%rsp)
jne 0x22ed6
leaq 0x20(%rsp), %rdi
callq 0x3d5f6
movq 0x18(%rsp), %rax
testq %rax, %rax
je 0x22e8d
movq (%rax), %r8
jmp 0x22e94
leaq 0x361d6(%rip), %r8      # 0x5906a
leaq 0x350d9(%rip), %rdx     # 0x57f74
leaq 0x8(%rsp), %rdi
pushq $0x1
popq %rsi
movl $0xd4, %ecx
callq 0x3b5b6
leaq 0x8(%rsp), %rdi
leaq 0x20(%rsp), %rsi
callq 0x39b08
leaq 0x8(%rsp), %rdi
callq 0x3b616
movq 0x20(%rsp), %rdi
testq %rdi, %rdi
je 0x22ed6
movq (%rdi), %rax
callq *0x8(%rax)
leaq 0x18(%rsp), %rdi
callq 0x13646
leaq 0x70(%rsp), %rdi
callq 0x25080
leaq 0x35357(%rip), %rsi     # 0x58248
leaq 0x60(%rsp), %rbx
movq %rbx, %rdi
callq 0x2488e
movq 0x68(%rsp), %rax
leaq 0x88(%rsp), %rsi
movq %rbx, (%rsi)
movq %rax, 0x8(%rsi)
andl $0x0, 0x10(%rsi)
leaq 0x48(%rsp), %rdi
leaq 0xa0(%rsp), %rdx
callq 0x24a92
movb 0x48(%rsp), %al
leaq 0x18(%rsp), %r14
movb %al, -0x8(%r14)
andq $0x0, (%r14)
testb %al, %al
je 0x22f88
movq %r14, %rdi
callq 0x13646
movq 0x50(%rsp), %r8
leaq 0x3513a(%rip), %rsi     # 0x5808b
leaq 0x35101(%rip), %rdx     # 0x58059
leaq 0x20(%rsp), %rdi
xorl %ecx, %ecx
callq 0x24b2c
cmpb $0x0, 0x20(%rsp)
jne 0x23031
leaq 0x10(%rsp), %rdi
callq 0x3d5f6
movq 0x28(%rsp), %rax
testq %rax, %rax
je 0x22fe8
movq (%rax), %r8
jmp 0x22fef
leaq 0x8(%rsp), %rdi
callq 0x3d5f6
leaq 0x350b3(%rip), %rdx     # 0x5804c
leaq 0x3316f(%rip), %rcx     # 0x5610f
leaq 0x3316e(%rip), %r8      # 0x56115
leaq 0x20(%rsp), %rdi
leaq 0x10(%rsp), %rsi
callq 0x399e5
movq 0x20(%rsp), %r8
leaq 0x34fb2(%rip), %rdx     # 0x57f74
leaq 0x40(%rsp), %rdi
pushq $0x2
popq %rsi
movl $0xdc, %ecx
callq 0x3b5b6
leaq 0x40(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x39b08
jmp 0x23af9
leaq 0x3607b(%rip), %r8      # 0x5906a
leaq 0x34f7e(%rip), %rdx     # 0x57f74
leaq 0x8(%rsp), %rdi
pushq $0x1
popq %rsi
movl $0xdd, %ecx
callq 0x3b5b6
leaq 0x8(%rsp), %rdi
leaq 0x10(%rsp), %rsi
callq 0x39b08
leaq 0x8(%rsp), %rdi
callq 0x3b616
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
je 0x23031
movq (%rdi), %rax
callq *0x8(%rax)
leaq 0x28(%rsp), %rdi
callq 0x13646
leaq 0x10(%rsp), %rcx
movl $0x1, (%rcx)
leaq 0x58(%rsp), %r8
leaq 0x34fed(%rip), %rsi     # 0x5803f
leaq 0x3500e(%rip), %rdx     # 0x58067
leaq 0x20(%rsp), %rdi
callq 0x255f5
cmpb $0x0, 0x20(%rsp)
jne 0x230cc
leaq 0x10(%rsp), %rdi
callq 0x3d5f6
movq 0x28(%rsp), %rax
testq %rax, %rax
je 0x23083
movq (%rax), %r8
jmp 0x2308a
leaq 0x35fe0(%rip), %r8      # 0x5906a
leaq 0x34ee3(%rip), %rdx     # 0x57f74
leaq 0x8(%rsp), %rdi
pushq $0x1
popq %rsi
movl $0xde, %ecx
callq 0x3b5b6
leaq 0x8(%rsp), %rdi
leaq 0x10(%rsp), %rsi
callq 0x39b08
leaq 0x8(%rsp), %rdi
callq 0x3b616
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
je 0x230cc
movq (%rdi), %rax
callq *0x8(%rax)
leaq 0x28(%rsp), %rdi
callq 0x13646
leaq 0x10(%rsp), %rcx
andl $0x0, (%rcx)
leaq 0x5c(%rsp), %r8
leaq 0x39c5e(%rip), %rsi     # 0x5cd48
leaq 0x34f81(%rip), %rdx     # 0x58072
leaq 0x20(%rsp), %rdi
callq 0x255f5
cmpb $0x0, 0x20(%rsp)
jne 0x23164
leaq 0x10(%rsp), %rdi
callq 0x3d5f6
movq 0x28(%rsp), %rax
testq %rax, %rax
je 0x2311b
movq (%rax), %r8
jmp 0x23122
leaq 0x35f48(%rip), %r8      # 0x5906a
leaq 0x34e4b(%rip), %rdx     # 0x57f74
leaq 0x8(%rsp), %rdi
pushq $0x1
popq %rsi
movl $0xdf, %ecx
callq 0x3b5b6
leaq 0x8(%rsp), %rdi
leaq 0x10(%rsp), %rsi
callq 0x39b08
leaq 0x8(%rsp), %rdi
callq 0x3b616
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
je 0x23164
movq (%rdi), %rax
callq *0x8(%rax)
leaq 0x50(%rsp), %rbx
leaq 0x28(%rsp), %rdi
callq 0x13646
leaq 0x88(%rsp), %rdi
movq %rbx, %rsi
callq 0x24976
leaq 0x34f3e(%rip), %rsi     # 0x580c8
leaq 0x20(%rsp), %rdi
pushq $0x5
popq %rdx
callq 0x1cc63
movq 0x68(%rsp), %r8
leaq 0x34ead(%rip), %rsi     # 0x58050
leaq 0x34e34(%rip), %rdx     # 0x57fde
leaq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rcx
callq 0x253bd
leaq 0x20(%rsp), %rdi
callq 0xdbe8
cmpb $0x0, 0x10(%rsp)
jne 0x2322c
leaq 0x20(%rsp), %rdi
callq 0x3d5f6
movq 0x18(%rsp), %rax
testq %rax, %rax
je 0x231e3
movq (%rax), %r8
jmp 0x231ea
leaq 0x35e80(%rip), %r8      # 0x5906a
leaq 0x34d83(%rip), %rdx     # 0x57f74
leaq 0x8(%rsp), %rdi
pushq $0x1
popq %rsi
movl $0xe2, %ecx
callq 0x3b5b6
leaq 0x8(%rsp), %rdi
leaq 0x20(%rsp), %rsi
callq 0x39b08
leaq 0x8(%rsp), %rdi
callq 0x3b616
movq 0x20(%rsp), %rdi
testq %rdi, %rdi
je 0x2322c
movq (%rdi), %rax
callq *0x8(%rax)
leaq 0x18(%rsp), %rdi
callq 0x13646
leaq 0x70(%rsp), %rdi
callq 0x25080
leaq 0x35011(%rip), %rsi     # 0x58258
leaq 0x60(%rsp), %rbx
movq %rbx, %rdi
callq 0x2488e
movq 0x68(%rsp), %rax
leaq 0x88(%rsp), %rsi
movq %rbx, (%rsi)
movq %rax, 0x8(%rsi)
andl $0x0, 0x10(%rsi)
leaq 0x48(%rsp), %rdi
leaq 0xa0(%rsp), %rdx
callq 0x24998
movb 0x48(%rsp), %al
leaq 0x18(%rsp), %r14
movb %al, -0x8(%r14)
andq $0x0, (%r14)
testb %al, %al
je 0x23302
movq %r14, %rdi
callq 0x13646
leaq 0x34e25(%rip), %rsi     # 0x580c7
leaq 0x20(%rsp), %rdi
pushq $0x6
popq %rdx
callq 0x1cc63
leaq 0x50(%rsp), %rbx
leaq 0x34df2(%rip), %rsi     # 0x580ad
leaq 0x34d97(%rip), %rdx     # 0x58059
leaq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rcx
movq %rbx, %r8
callq 0x25225
leaq 0x20(%rsp), %rdi
callq 0xdbe8
cmpb $0x0, 0x10(%rsp)
jne 0x233ab
leaq 0x20(%rsp), %rdi
callq 0x3d5f6
movq 0x18(%rsp), %rax
testq %rax, %rax
je 0x23362
movq (%rax), %r8
jmp 0x23369
leaq 0x8(%rsp), %rdi
callq 0x3d5f6
leaq 0x34d39(%rip), %rdx     # 0x5804c
leaq 0x32df5(%rip), %rcx     # 0x5610f
leaq 0x32df4(%rip), %r8      # 0x56115
leaq 0x20(%rsp), %rdi
leaq 0x10(%rsp), %rsi
callq 0x399e5
movq 0x20(%rsp), %r8
leaq 0x34c38(%rip), %rdx     # 0x57f74
leaq 0x40(%rsp), %rdi
pushq $0x2
popq %rsi
movl $0xea, %ecx
callq 0x3b5b6
leaq 0x40(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x39b08
jmp 0x23af9
leaq 0x35d01(%rip), %r8      # 0x5906a
leaq 0x34c04(%rip), %rdx     # 0x57f74
leaq 0x8(%rsp), %rdi
pushq $0x1
popq %rsi
movl $0xeb, %ecx
callq 0x3b5b6
leaq 0x8(%rsp), %rdi
leaq 0x20(%rsp), %rsi
callq 0x39b08
leaq 0x8(%rsp), %rdi
callq 0x3b616
movq 0x20(%rsp), %rdi
testq %rdi, %rdi
je 0x233ab
movq (%rdi), %rax
callq *0x8(%rax)
leaq 0x18(%rsp), %r14
movq %r14, %rdi
callq 0x13646
movl $0x1, -0x8(%r14)
leaq 0x58(%rsp), %r8
leaq 0x34c73(%rip), %rsi     # 0x5803f
leaq 0x34c94(%rip), %rdx     # 0x58067
leaq 0x20(%rsp), %rdi
leaq 0x10(%rsp), %rcx
callq 0x255f5
cmpb $0x0, 0x20(%rsp)
jne 0x2344b
leaq 0x10(%rsp), %rdi
callq 0x3d5f6
movq 0x28(%rsp), %rax
testq %rax, %rax
je 0x23402
movq (%rax), %r8
jmp 0x23409
leaq 0x35c61(%rip), %r8      # 0x5906a
leaq 0x34b64(%rip), %rdx     # 0x57f74
leaq 0x8(%rsp), %rdi
pushq $0x1
popq %rsi
movl $0xec, %ecx
callq 0x3b5b6
leaq 0x8(%rsp), %rdi
leaq 0x10(%rsp), %rsi
callq 0x39b08
leaq 0x8(%rsp), %rdi
callq 0x3b616
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
je 0x2344b
movq (%rdi), %rax
callq *0x8(%rax)
leaq 0x28(%rsp), %rdi
callq 0x13646
leaq 0x10(%rsp), %rcx
andl $0x0, (%rcx)
leaq 0x5c(%rsp), %r8
leaq 0x398df(%rip), %rsi     # 0x5cd48
leaq 0x34c02(%rip), %rdx     # 0x58072
leaq 0x20(%rsp), %rdi
callq 0x255f5
cmpb $0x0, 0x20(%rsp)
jne 0x234e3
leaq 0x10(%rsp), %rdi
callq 0x3d5f6
movq 0x28(%rsp), %rax
testq %rax, %rax
je 0x2349a
movq (%rax), %r8
jmp 0x234a1
leaq 0x35bc9(%rip), %r8      # 0x5906a
leaq 0x34acc(%rip), %rdx     # 0x57f74
leaq 0x8(%rsp), %rdi
pushq $0x1
popq %rsi
movl $0xed, %ecx
callq 0x3b5b6
leaq 0x8(%rsp), %rdi
leaq 0x10(%rsp), %rsi
callq 0x39b08
leaq 0x8(%rsp), %rdi
callq 0x3b616
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
je 0x234e3
movq (%rdi), %rax
callq *0x8(%rax)
leaq 0x28(%rsp), %rdi
callq 0x13646
leaq 0x88(%rsp), %rdi
movq %rbx, %rsi
callq 0x24976
leaq 0x34b82(%rip), %rsi     # 0x58086
leaq 0x20(%rsp), %rdi
pushq $0x4
popq %rdx
callq 0x1cc63
movq 0x68(%rsp), %r8
leaq 0x34b61(%rip), %rsi     # 0x5807e
leaq 0x34aba(%rip), %rdx     # 0x57fde
leaq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rcx
callq 0x253bd
leaq 0x20(%rsp), %rdi
callq 0xdbe8
cmpb $0x0, 0x10(%rsp)
jne 0x235a6
leaq 0x20(%rsp), %rdi
callq 0x3d5f6
movq 0x18(%rsp), %rax
testq %rax, %rax
je 0x2355d
movq (%rax), %r8
jmp 0x23564
leaq 0x35b06(%rip), %r8      # 0x5906a
leaq 0x34a09(%rip), %rdx     # 0x57f74
leaq 0x8(%rsp), %rdi
pushq $0x1
popq %rsi
movl $0xf0, %ecx
callq 0x3b5b6
leaq 0x8(%rsp), %rdi
leaq 0x20(%rsp), %rsi
callq 0x39b08
leaq 0x8(%rsp), %rdi
callq 0x3b616
movq 0x20(%rsp), %rdi
testq %rdi, %rdi
je 0x235a6
movq (%rdi), %rax
callq *0x8(%rax)
leaq 0x18(%rsp), %rdi
callq 0x13646
leaq 0x70(%rsp), %rdi
callq 0x25080
leaq 0x34c97(%rip), %rsi     # 0x58258
leaq 0x60(%rsp), %rbx
movq %rbx, %rdi
callq 0x2488e
movq 0x68(%rsp), %rax
leaq 0x88(%rsp), %rsi
movq %rbx, (%rsi)
movq %rax, 0x8(%rsi)
andl $0x0, 0x10(%rsi)
leaq 0x48(%rsp), %rdi
leaq 0xa0(%rsp), %rdx
callq 0x24a92
movb 0x48(%rsp), %al
leaq 0x18(%rsp), %r14
movb %al, -0x8(%r14)
andq $0x0, (%r14)
testb %al, %al
je 0x23658
movq %r14, %rdi
callq 0x13646
movq 0x50(%rsp), %r8
leaq 0x34a6a(%rip), %rsi     # 0x5808b
leaq 0x34a31(%rip), %rdx     # 0x58059
leaq 0x20(%rsp), %rdi
xorl %ecx, %ecx
callq 0x24b2c
cmpb $0x0, 0x20(%rsp)
jne 0x23701
leaq 0x10(%rsp), %rdi
callq 0x3d5f6
movq 0x28(%rsp), %rax
testq %rax, %rax
je 0x236b8
movq (%rax), %r8
jmp 0x236bf
leaq 0x8(%rsp), %rdi
callq 0x3d5f6
leaq 0x349e3(%rip), %rdx     # 0x5804c
leaq 0x32a9f(%rip), %rcx     # 0x5610f
leaq 0x32a9e(%rip), %r8      # 0x56115
leaq 0x20(%rsp), %rdi
leaq 0x10(%rsp), %rsi
callq 0x399e5
movq 0x20(%rsp), %r8
leaq 0x348e2(%rip), %rdx     # 0x57f74
leaq 0x40(%rsp), %rdi
pushq $0x2
popq %rsi
movl $0xf8, %ecx
callq 0x3b5b6
leaq 0x40(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x39b08
jmp 0x23af9
leaq 0x359ab(%rip), %r8      # 0x5906a
leaq 0x348ae(%rip), %rdx     # 0x57f74
leaq 0x8(%rsp), %rdi
pushq $0x1
popq %rsi
movl $0xf9, %ecx
callq 0x3b5b6
leaq 0x8(%rsp), %rdi
leaq 0x10(%rsp), %rsi
callq 0x39b08
leaq 0x8(%rsp), %rdi
callq 0x3b616
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
je 0x23701
movq (%rdi), %rax
callq *0x8(%rax)
leaq 0x28(%rsp), %rdi
callq 0x13646
leaq 0x10(%rsp), %rcx
andl $0x0, (%rcx)
leaq 0x58(%rsp), %r8
leaq 0x39629(%rip), %rsi     # 0x5cd48
leaq 0x34941(%rip), %rdx     # 0x58067
leaq 0x20(%rsp), %rdi
callq 0x255f5
cmpb $0x0, 0x20(%rsp)
jne 0x23799
leaq 0x10(%rsp), %rdi
callq 0x3d5f6
movq 0x28(%rsp), %rax
testq %rax, %rax
je 0x23750
movq (%rax), %r8
jmp 0x23757
leaq 0x35913(%rip), %r8      # 0x5906a
leaq 0x34816(%rip), %rdx     # 0x57f74
leaq 0x8(%rsp), %rdi
pushq $0x1
popq %rsi
movl $0xfa, %ecx
callq 0x3b5b6
leaq 0x8(%rsp), %rdi
leaq 0x10(%rsp), %rsi
callq 0x39b08
leaq 0x8(%rsp), %rdi
callq 0x3b616
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
je 0x23799
movq (%rdi), %rax
callq *0x8(%rax)
leaq 0x28(%rsp), %rdi
callq 0x13646
leaq 0x10(%rsp), %rcx
movl $0x3, (%rcx)
leaq 0x5c(%rsp), %r8
leaq 0x353a4(%rip), %rsi     # 0x58b5e
leaq 0x348b1(%rip), %rdx     # 0x58072
leaq 0x20(%rsp), %rdi
callq 0x255f5
cmpb $0x0, 0x20(%rsp)
jne 0x23834
leaq 0x10(%rsp), %rdi
callq 0x3d5f6
movq 0x28(%rsp), %rax
testq %rax, %rax
je 0x237eb
movq (%rax), %r8
jmp 0x237f2
leaq 0x35878(%rip), %r8      # 0x5906a
leaq 0x3477b(%rip), %rdx     # 0x57f74
leaq 0x8(%rsp), %rdi
pushq $0x1
popq %rsi
movl $0xfb, %ecx
callq 0x3b5b6
leaq 0x8(%rsp), %rdi
leaq 0x10(%rsp), %rsi
callq 0x39b08
leaq 0x8(%rsp), %rdi
callq 0x3b616
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
je 0x23834
movq (%rdi), %rax
callq *0x8(%rax)
leaq 0x50(%rsp), %rbx
leaq 0x28(%rsp), %rdi
callq 0x13646
leaq 0x88(%rsp), %rdi
movq %rbx, %rsi
callq 0x24976
leaq 0x3486a(%rip), %rsi     # 0x580c4
leaq 0x20(%rsp), %rdi
pushq $0x9
popq %rdx
callq 0x1cc63
movq 0x68(%rsp), %r8
leaq 0x34844(%rip), %rsi     # 0x580b7
leaq 0x34764(%rip), %rdx     # 0x57fde
leaq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rcx
callq 0x253bd
leaq 0x20(%rsp), %rdi
callq 0xdbe8
cmpb $0x0, 0x10(%rsp)
jne 0x238fc
leaq 0x20(%rsp), %rdi
callq 0x3d5f6
movq 0x18(%rsp), %rax
testq %rax, %rax
je 0x238b3
movq (%rax), %r8
jmp 0x238ba
leaq 0x357b0(%rip), %r8      # 0x5906a
leaq 0x346b3(%rip), %rdx     # 0x57f74
leaq 0x8(%rsp), %rdi
pushq $0x1
popq %rsi
movl $0xfe, %ecx
callq 0x3b5b6
leaq 0x8(%rsp), %rdi
leaq 0x20(%rsp), %rsi
callq 0x39b08
leaq 0x8(%rsp), %rdi
callq 0x3b616
movq 0x20(%rsp), %rdi
testq %rdi, %rdi
je 0x238fc
movq (%rdi), %rax
callq *0x8(%rax)
leaq 0x18(%rsp), %rdi
callq 0x13646
leaq 0x347ba(%rip), %rsi     # 0x580c7
leaq 0x20(%rsp), %rdi
pushq $0x6
popq %rdx
callq 0x1cc63
movq 0x68(%rsp), %rax
movl 0x98(%rsp), %ecx
addq (%rax), %rcx
leaq 0x8(%rsp), %r8
movq %rcx, (%r8)
leaq 0x34775(%rip), %rsi     # 0x580ad
leaq 0x346d7(%rip), %rdx     # 0x58016
leaq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rcx
callq 0x253bd
leaq 0x20(%rsp), %rdi
callq 0xdbe8
cmpb $0x0, 0x10(%rsp)
jne 0x239c1
leaq 0x20(%rsp), %rdi
callq 0x3d5f6
movq 0x18(%rsp), %rax
testq %rax, %rax
je 0x23978
movq (%rax), %r8
jmp 0x2397f
leaq 0x356eb(%rip), %r8      # 0x5906a
leaq 0x345ee(%rip), %rdx     # 0x57f74
leaq 0x8(%rsp), %rdi
pushq $0x1
popq %rsi
movl $0xff, %ecx
callq 0x3b5b6
leaq 0x8(%rsp), %rdi
leaq 0x20(%rsp), %rsi
callq 0x39b08
leaq 0x8(%rsp), %rdi
callq 0x3b616
movq 0x20(%rsp), %rdi
testq %rdi, %rdi
je 0x239c1
movq (%rdi), %rax
callq *0x8(%rax)
leaq 0x18(%rsp), %rdi
callq 0x13646
leaq 0x70(%rsp), %rdi
callq 0x25080
leaq 0x347a7(%rip), %rsi     # 0x58183
leaq 0x60(%rsp), %rbx
movq %rbx, %rdi
callq 0x2488e
movq 0x68(%rsp), %rax
leaq 0x88(%rsp), %rsi
movq %rbx, (%rsi)
movq %rax, 0x8(%rsi)
andl $0x0, 0x10(%rsi)
leaq 0x48(%rsp), %rdi
leaq 0xa0(%rsp), %rdx
callq 0x24998
movb 0x48(%rsp), %al
leaq 0x18(%rsp), %r14
movb %al, -0x8(%r14)
andq $0x0, (%r14)
testb %al, %al
je 0x23a9e
movq %r14, %rdi
callq 0x13646
leaq 0x34691(%rip), %rsi     # 0x580c8
leaq 0x20(%rsp), %rdi
pushq $0x5
popq %rdx
callq 0x1cc63
leaq 0x50(%rsp), %rbx
leaq 0x34600(%rip), %rsi     # 0x58050
leaq 0x34602(%rip), %rdx     # 0x58059
leaq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rcx
movq %rbx, %r8
callq 0x25225
leaq 0x20(%rsp), %rdi
callq 0xdbe8
cmpb $0x0, 0x10(%rsp)
jne 0x23b90
leaq 0x20(%rsp), %rdi
callq 0x3d5f6
movq 0x18(%rsp), %rax
testq %rax, %rax
je 0x23b47
movq (%rax), %r8
jmp 0x23b4e
leaq 0x8(%rsp), %rdi
callq 0x3d5f6
leaq 0x3459d(%rip), %rdx     # 0x5804c
leaq 0x32659(%rip), %rcx     # 0x5610f
leaq 0x32658(%rip), %r8      # 0x56115
leaq 0x20(%rsp), %rdi
leaq 0x10(%rsp), %rsi
callq 0x399e5
movq 0x20(%rsp), %r8
leaq 0x3449c(%rip), %rdx     # 0x57f74
leaq 0x40(%rsp), %rdi
pushq $0x2
popq %rsi
movl $0x107, %ecx            # imm = 0x107
callq 0x3b5b6
leaq 0x40(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x39b08
leaq 0x40(%rsp), %rdi
callq 0x3b616
leaq 0x20(%rsp), %rdi
callq 0xdbe8
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x23b1d
movq (%rdi), %rax
callq *0x8(%rax)
movq %r14, %rdi
callq 0x13646
leaq 0x70(%rsp), %rdi
callq 0x25080
leaq 0xa0(%rsp), %rdi
callq 0xdbe8
addq $0xe8, %rsp
popq %rbx
popq %r14
retq
leaq 0x3551c(%rip), %r8      # 0x5906a
leaq 0x3441f(%rip), %rdx     # 0x57f74
leaq 0x8(%rsp), %rdi
pushq $0x1
popq %rsi
movl $0x108, %ecx            # imm = 0x108
callq 0x3b5b6
leaq 0x8(%rsp), %rdi
leaq 0x20(%rsp), %rsi
callq 0x39b08
leaq 0x8(%rsp), %rdi
callq 0x3b616
movq 0x20(%rsp), %rdi
testq %rdi, %rdi
je 0x23b90
movq (%rdi), %rax
callq *0x8(%rax)
leaq 0x18(%rsp), %r14
movq %r14, %rdi
callq 0x13646
movl $0x1, -0x8(%r14)
leaq 0x58(%rsp), %r8
leaq 0x3448e(%rip), %rsi     # 0x5803f
leaq 0x344af(%rip), %rdx     # 0x58067
leaq 0x20(%rsp), %rdi
leaq 0x10(%rsp), %rcx
callq 0x255f5
cmpb $0x0, 0x20(%rsp)
jne 0x23c30
leaq 0x10(%rsp), %rdi
callq 0x3d5f6
movq 0x28(%rsp), %rax
testq %rax, %rax
je 0x23be7
movq (%rax), %r8
jmp 0x23bee
leaq 0x3547c(%rip), %r8      # 0x5906a
leaq 0x3437f(%rip), %rdx     # 0x57f74
leaq 0x8(%rsp), %rdi
pushq $0x1
popq %rsi
movl $0x109, %ecx            # imm = 0x109
callq 0x3b5b6
leaq 0x8(%rsp), %rdi
leaq 0x10(%rsp), %rsi
callq 0x39b08
leaq 0x8(%rsp), %rdi
callq 0x3b616
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
je 0x23c30
movq (%rdi), %rax
callq *0x8(%rax)
leaq 0x28(%rsp), %rdi
callq 0x13646
leaq 0x10(%rsp), %rcx
andl $0x0, (%rcx)
leaq 0x5c(%rsp), %r8
leaq 0x390fa(%rip), %rsi     # 0x5cd48
leaq 0x3441d(%rip), %rdx     # 0x58072
leaq 0x20(%rsp), %rdi
callq 0x255f5
cmpb $0x0, 0x20(%rsp)
jne 0x23cc8
leaq 0x10(%rsp), %rdi
callq 0x3d5f6
movq 0x28(%rsp), %rax
testq %rax, %rax
je 0x23c7f
movq (%rax), %r8
jmp 0x23c86
leaq 0x353e4(%rip), %r8      # 0x5906a
leaq 0x342e7(%rip), %rdx     # 0x57f74
leaq 0x8(%rsp), %rdi
pushq $0x1
popq %rsi
movl $0x10a, %ecx            # imm = 0x10A
callq 0x3b5b6
leaq 0x8(%rsp), %rdi
leaq 0x10(%rsp), %rsi
callq 0x39b08
leaq 0x8(%rsp), %rdi
callq 0x3b616
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
je 0x23cc8
movq (%rdi), %rax
callq *0x8(%rax)
leaq 0x28(%rsp), %rdi
callq 0x13646
leaq 0x88(%rsp), %rdi
movq %rbx, %rsi
callq 0x24976
leaq 0x3439d(%rip), %rsi     # 0x58086
leaq 0x20(%rsp), %rdi
pushq $0x4
popq %rdx
callq 0x1cc63
movq 0x68(%rsp), %rax
movl 0x98(%rsp), %ecx
addq (%rax), %rcx
leaq 0x8(%rsp), %r8
movq %rcx, (%r8)
leaq 0x3436a(%rip), %rsi     # 0x5807e
leaq 0x342fb(%rip), %rdx     # 0x58016
leaq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rcx
callq 0x253bd
leaq 0x20(%rsp), %rdi
callq 0xdbe8
cmpb $0x0, 0x10(%rsp)
jne 0x23d9d
leaq 0x20(%rsp), %rdi
callq 0x3d5f6
movq 0x18(%rsp), %rax
testq %rax, %rax
je 0x23d54
movq (%rax), %r8
jmp 0x23d5b
leaq 0x3530f(%rip), %r8      # 0x5906a
leaq 0x34212(%rip), %rdx     # 0x57f74
leaq 0x8(%rsp), %rdi
pushq $0x1
popq %rsi
movl $0x10d, %ecx            # imm = 0x10D
callq 0x3b5b6
leaq 0x8(%rsp), %rdi
leaq 0x20(%rsp), %rsi
callq 0x39b08
leaq 0x8(%rsp), %rdi
callq 0x3b616
movq 0x20(%rsp), %rdi
testq %rdi, %rdi
je 0x23d9d
movq (%rdi), %rax
callq *0x8(%rax)
leaq 0x18(%rsp), %rdi
jmp 0x23b20
jmp 0x23fae
jmp 0x23fbd
jmp 0x23fd2
jmp 0x23f7d
jmp 0x23f8c
jmp 0x23fa1
jmp 0x23f7d
jmp 0x23f8c
jmp 0x23fa1
jmp 0x23fae
jmp 0x23fbd
jmp 0x23fd2
jmp 0x2401b
jmp 0x24039
jmp 0x24039
jmp 0x24039
jmp 0x23fe8
jmp 0x23ff7
jmp 0x24006
jmp 0x2401b
jmp 0x2402a
jmp 0x24039
jmp 0x23fae
jmp 0x23fbd
jmp 0x23fd2
jmp 0x23fae
jmp 0x23fbd
jmp 0x23fd2
jmp 0x23f7d
jmp 0x23f8c
jmp 0x23fa1
jmp 0x23f7d
jmp 0x23f8c
jmp 0x23fa1
jmp 0x23f7d
jmp 0x23f8c
jmp 0x23fa1
jmp 0x24039
jmp 0x2405b
jmp 0x2401b
jmp 0x24039
jmp 0x2401b
jmp 0x24039
jmp 0x24039
jmp 0x23fe8
jmp 0x24039
jmp 0x23ff7
jmp 0x24006
jmp 0x2402a
jmp 0x24039
jmp 0x23fae
jmp 0x23fbd
jmp 0x23fd2
jmp 0x23f7d
jmp 0x23f8c
jmp 0x23fa1
jmp 0x23f7d
jmp 0x23f8c
jmp 0x23fa1
jmp 0x23fae
jmp 0x23fbd
jmp 0x23fd2
jmp 0x24039
jmp 0x2405b
jmp 0x2401b
jmp 0x24039
jmp 0x24039
jmp 0x24039
jmp 0x23fe8
jmp 0x23ff7
jmp 0x24006
jmp 0x2401b
jmp 0x2402a
jmp 0x24039
jmp 0x23fae
jmp 0x23fbd
jmp 0x23fd2
jmp 0x23f7d
jmp 0x23f8c
jmp 0x23fa1
jmp 0x23f7d
jmp 0x23f8c
jmp 0x23fa1
jmp 0x23f7d
jmp 0x23f8c
jmp 0x23fa1
jmp 0x24039
jmp 0x2405b
jmp 0x2401b
jmp 0x24039
jmp 0x24039
jmp 0x23fe8
jmp 0x24039
jmp 0x23ff7
jmp 0x24006
jmp 0x2402a
jmp 0x24039
jmp 0x23fae
jmp 0x23fbd
jmp 0x23fd2
jmp 0x23f7d
jmp 0x23f8c
jmp 0x23fa1
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x3b616
jmp 0x23f8f
movq %rax, %rbx
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
je 0x23fa4
movq (%rdi), %rax
callq *0x8(%rax)
jmp 0x23fa4
movq %rax, %rbx
leaq 0x28(%rsp), %rdi
jmp 0x24030
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x3b616
jmp 0x23fc0
movq %rax, %rbx
movq 0x20(%rsp), %rdi
testq %rdi, %rdi
je 0x23fd5
movq (%rdi), %rax
callq *0x8(%rax)
jmp 0x23fd5
movq %rax, %rbx
leaq 0x18(%rsp), %rdi
jmp 0x24030
jmp 0x24039
jmp 0x2405b
jmp 0x2401b
jmp 0x24039
jmp 0x24039
jmp 0x24039
movq %rax, %rbx
leaq 0x40(%rsp), %rdi
callq 0x3b616
jmp 0x23ffa
movq %rax, %rbx
leaq 0x20(%rsp), %rdi
callq 0xdbe8
jmp 0x24009
movq %rax, %rbx
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x2402d
movq (%rdi), %rax
callq *0x8(%rax)
jmp 0x2402d
movq %rax, %rbx
leaq 0x20(%rsp), %rdi
callq 0xdbe8
jmp 0x2403c
movq %rax, %rbx
movq %r14, %rdi
callq 0x13646
jmp 0x2403c
jmp 0x24039
movq %rax, %rbx
leaq 0x70(%rsp), %rdi
callq 0x25080
leaq 0xa0(%rsp), %rdi
callq 0xdbe8
movq %rbx, %rdi
callq 0xdaa0
movq %rax, %rbx
jmp 0x24046