// File: /workspace/github_cpp_makefile_star2_O1/demon386[P]git-store/./libs/program_options/src/cmdline.cpp
// Function: boost::program_options::detail::cmdline::parse_dos_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_dos_option(vector<string>& args)
    {
        vector<option> result;
        const string& tok = args[0];
        if (tok.size() >= 2 && tok[0] == '/')
        {   
            string name = "-" + tok.substr(1,1);
            string adjacent = tok.substr(2);

            option opt;
            opt.string_key = name;
            if (!adjacent.empty())
                opt.value.push_back(adjacent);
            opt.original_tokens.push_back(tok);
            result.push_back(opt);
            args.erase(args.begin());
        }
        return result;
    }

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0xa8, %rsp
movq %rdi, %rbx
xorps %xmm0, %xmm0
movups %xmm0, (%rdi)
movq $0x0, 0x10(%rdi)
movq (%rdx), %r15
cmpq $0x2, 0x8(%r15)
jb 0xdc08
movq (%r15), %rax
cmpb $0x2f, (%rax)
jne 0xdc08
movq %rdx, %r14
leaq -0xc8(%rbp), %rdi
movl $0x1, %edx
movl $0x1, %ecx
movq %r15, %rsi
callq 0xb490
leaq 0x258f3(%rip), %rcx     # 0x333af
leaq -0xc8(%rbp), %rdi
movl $0x1, %r8d
xorl %esi, %esi
xorl %edx, %edx
callq 0xb4f0
leaq -0x38(%rbp), %rsi
movq %rsi, -0x10(%rsi)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xdaf6
movq %rdx, -0x48(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x38(%rbp)
jmp 0xdafc
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0x40(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq -0xb8(%rbp), %r12
movq -0x10(%r12), %rdi
cmpq %r12, %rdi
je 0xdb29
callq 0xb430
leaq -0x68(%rbp), %rdi
movl $0x2, %edx
movq %r15, %rsi
movq $-0x1, %rcx
callq 0xb490
leaq -0xc8(%rbp), %rdi
movq %r12, (%rdi)
movq $0x0, 0x8(%rdi)
movb $0x0, 0x10(%rdi)
movl $0xffffffff, 0x20(%rdi) # imm = 0xFFFFFFFF
xorps %xmm0, %xmm0
movups %xmm0, 0x28(%rdi)
movups %xmm0, 0x38(%rdi)
movups %xmm0, 0x48(%rdi)
movw $0x0, 0x58(%rdi)
leaq -0x48(%rbp), %rsi
callq 0xb290
cmpq $0x0, -0x60(%rbp)
je 0xdb93
leaq -0x68(%rbp), %rsi
leaq -0xa0(%rbp), %rdi
callq 0xe916
leaq -0x88(%rbp), %r13
movq %r13, %rdi
movq %r15, %rsi
callq 0xe916
leaq -0xc8(%rbp), %rsi
movq %rbx, %rdi
callq 0xe8aa
movq (%r14), %rsi
movq %r14, %rdi
callq 0x11450
movq %r13, %rdi
callq 0xe51e
leaq -0xa0(%rbp), %rdi
callq 0xe51e
movq -0xc8(%rbp), %rdi
cmpq %r12, %rdi
je 0xdbe4
callq 0xb430
leaq -0x58(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xdbf6
callq 0xb430
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0xdc08
callq 0xb430
movq %rbx, %rax
addq $0xa8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0xdc39
movq %rax, %r14
jmp 0xdc5a
movq %rax, %r14
leaq -0xb8(%rbp), %rax
movq -0x10(%rax), %rdi
jmp 0xdc62
movq %rax, %r14
jmp 0xdc6c
movq %rax, %r14
leaq -0xc8(%rbp), %rdi
callq 0xe962
leaq -0x58(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0xdc5a
callq 0xb430
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0xdc6c
callq 0xb430
movq %rbx, %rdi
callq 0xe8e2
movq %r14, %rdi
callq 0xb7f0