// File: /workspace/github_cpp_makefile_star2_O1/demon386[P]git-store/./libs/program_options/src/cmdline.cpp
// Function: boost::program_options::detail::cmdline::parse_disguised_long_option(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>>&)
vector<option> 
    cmdline::parse_disguised_long_option(vector<string>& args)
    {
        const string& tok = args[0];
        if (tok.size() >= 2 && 
            ((tok[0] == '-' && tok[1] != '-') ||
             ((m_style & allow_slash_for_short) && tok[0] == '/')))            
        {
            try
            {
                if (m_desc->find_nothrow(tok.substr(1, tok.find('=')-1), 
                                         is_style_active(allow_guessing),
                                         is_style_active(long_case_insensitive),
                                         is_style_active(short_case_insensitive)))
                {
                    args[0].insert(0, "-");
                    if (args[0][1] == '/')
                        args[0][1] = '-';
                    return parse_long_option(args);
                }
            } 
            catch(error_with_option_name& e)
            {
                // add context and rethrow
                e.add_context(tok, tok, get_canonical_option_prefix());
                throw;
            }
        }
        return vector<option>();
    }

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x28, %rsp
movq %rdi, %r15
movq (%rdx), %rbx
cmpq $0x2, 0x8(%rbx)
jb 0xd49b
movq %rdx, %r12
movq %rsi, %r14
movq (%rbx), %rcx
movb (%rcx), %al
cmpb $0x2d, %al
jne 0xd3df
cmpb $0x2d, 0x1(%rcx)
jne 0xd3f4
cmpb $0x2f, %al
jne 0xd49b
movl 0x18(%r14), %eax
andl $0x8, %eax
je 0xd49b
movq 0x20(%r14), %r13
movq %rbx, %rdi
movl $0x3d, %esi
xorl %edx, %edx
callq 0xb5c0
leaq -0x1(%rax), %rcx
leaq -0x48(%rbp), %rdi
movl $0x1, %edx
movq %rbx, %rsi
callq 0xb490
movl 0x18(%r14), %r8d
movl %r8d, %edx
shrl $0x9, %edx
andl $0x1, %edx
movl %r8d, %ecx
shrl $0xa, %ecx
andl $0x1, %ecx
shrl $0xb, %r8d
andl $0x1, %r8d
leaq -0x48(%rbp), %rsi
movq %r13, %rdi
callq 0x16486
movq %rax, %r13
leaq -0x38(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xd45b
callq 0xb430
testq %r13, %r13
je 0xd49b
movq (%r12), %rdi
leaq 0x25f44(%rip), %rcx     # 0x333af
movl $0x1, %r8d
xorl %esi, %esi
xorl %edx, %edx
callq 0xb4f0
movq (%r12), %rax
movq (%rax), %rax
cmpb $0x2f, 0x1(%rax)
jne 0xd48b
movb $0x2d, 0x1(%rax)
movq %r15, %rdi
movq %r14, %rsi
movq %r12, %rdx
callq 0xd096
jmp 0xd4aa
xorps %xmm0, %xmm0
movups %xmm0, (%r15)
movq $0x0, 0x10(%r15)
movq %r15, %rax
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rdx, %r12
movq %rax, %r15
leaq -0x38(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xd4de
callq 0xb430
jmp 0xd4de
jmp 0xd4d8
movq %rdx, %r12
movq %rax, %r15
cmpl $0x1, %r12d
jne 0xd54a
movq %r15, %rdi
callq 0xb1e0
movq %rax, %r15
movl 0x18(%r14), %eax
movl $0x1, %r14d
testb $0x1, %al
jne 0xd522
movl $0x1000, %r14d          # imm = 0x1000
btl $0xc, %eax
jb 0xd522
notl %eax
movl $0x4, %r14d
testb $0x6, %al
je 0xd522
xorl %r14d, %r14d
testb $0xa, %al
sete %r14b
shll $0x3, %r14d
movq (%r15), %rax
movq %r15, %rdi
movq %rbx, %rsi
callq *0x18(%rax)
movq %r15, %rdi
movq %rbx, %rsi
callq 0xf106
movl %r14d, 0x10(%r15)
callq 0xb680
movq %rax, %r15
callq 0xb780
movq %r15, %rdi
callq 0xb7f0
movq %rax, %rdi
callq 0xe997