// File: 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
subq $0xc0, %rsp
movq %rdi, -0x70(%rbp)
movq %rdi, %rax
movq %rax, -0x68(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x60(%rbp)
movq -0x18(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x12820
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rdi
callq 0xd430
cmpq $0x2, %rax
jb 0x1063f
movq -0x20(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0xd6d0
movsbl (%rax), %eax
cmpl $0x2d, %eax
jne 0x10419
movq -0x20(%rbp), %rdi
movl $0x1, %esi
callq 0xd6d0
movsbl (%rax), %eax
cmpl $0x2d, %eax
jne 0x10445
movq -0x60(%rbp), %rax
movl 0x18(%rax), %eax
andl $0x8, %eax
cmpl $0x0, %eax
je 0x1063f
movq -0x20(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0xd6d0
movsbl (%rax), %eax
cmpl $0x2f, %eax
jne 0x1063f
movq -0x60(%rbp), %rax
movq 0x20(%rax), %rax
movq %rax, -0x80(%rbp)
movq -0x20(%rbp), %rdi
movq %rdi, -0x78(%rbp)
xorl %eax, %eax
movl %eax, %edx
movl $0x3d, %esi
callq 0xd850
movq -0x78(%rbp), %rsi
movq %rax, %rcx
decq %rcx
leaq -0x40(%rbp), %rdi
movl $0x1, %edx
callq 0xd650
jmp 0x10481
movq -0x60(%rbp), %rdi
movl $0x200, %esi            # imm = 0x200
callq 0xeb90
movq -0x60(%rbp), %rdi
movb %al, -0x8a(%rbp)
movl $0x400, %esi            # imm = 0x400
callq 0xeb90
movq -0x60(%rbp), %rdi
movb %al, -0x89(%rbp)
movl $0x800, %esi            # imm = 0x800
callq 0xeb90
movb -0x8a(%rbp), %dl
movb -0x89(%rbp), %cl
movq -0x80(%rbp), %rdi
movzbl %dl, %edx
movzbl %cl, %ecx
movzbl %al, %r8d
leaq -0x40(%rbp), %rsi
callq 0x25300
movq %rax, -0x88(%rbp)
jmp 0x104e3
leaq -0x40(%rbp), %rdi
callq 0xdca8
movq -0x88(%rbp), %rax
cmpq $0x0, %rax
je 0x10626
movq -0x18(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
movq %rsi, -0x98(%rbp)
callq 0x12820
movq -0x98(%rbp), %rsi
movq %rax, %rdi
leaq 0x4fe57(%rip), %rdx     # 0x60379
callq 0xd110
jmp 0x10529
movq -0x18(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x12820
movq %rax, %rdi
movl $0x1, %esi
callq 0xdc50
movq %rax, -0xa0(%rbp)
jmp 0x1054c
movq -0xa0(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x2f, %eax
jne 0x10611
movq -0x18(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x12820
movq %rax, %rdi
movl $0x1, %esi
callq 0xdc50
movq %rax, -0xa8(%rbp)
jmp 0x10582
movq -0xa8(%rbp), %rax
movb $0x2d, (%rax)
jmp 0x10611
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x105b4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0x40(%rbp), %rdi
callq 0xdca8
movl -0x4c(%rbp), %eax
movl $0x1, %ecx
cmpl %ecx, %eax
jne 0x10665
movq -0x48(%rbp), %rdi
callq 0xd200
movq -0x60(%rbp), %rdi
movq %rax, -0x58(%rbp)
movq -0x58(%rbp), %rax
movq %rax, -0xb8(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0xb0(%rbp)
callq 0xec00
movq -0xb8(%rbp), %rdi
movq -0xb0(%rbp), %rdx
movl %eax, %ecx
movq %rdx, %rsi
callq 0x12960
jmp 0x1060a
callq 0xd990
jmp 0x10676
movq -0x60(%rbp), %rsi
movq -0x70(%rbp), %rdi
movq -0x18(%rbp), %rdx
callq 0x10040
jmp 0x10624
jmp 0x10658
jmp 0x1063d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
callq 0xda90
jmp 0x1063b
jmp 0x10665
jmp 0x1063f
movq -0x70(%rbp), %rdi
xorl %esi, %esi
movl $0x18, %edx
callq 0xd310
movq -0x70(%rbp), %rdi
callq 0x12450
movq -0x68(%rbp), %rax
addq $0xc0, %rsp
popq %rbp
retq
movq -0x48(%rbp), %rdi
callq 0xdb30
movq %rax, %rdi
callq 0x129b0
nopw %cs:(%rax,%rax)