// File: 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
subq $0x130, %rsp            # imm = 0x130
movq %rdi, -0x120(%rbp)
movq %rdi, %rax
movq %rax, -0x118(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movb $0x0, -0x19(%rbp)
callq 0x12450
movq -0x18(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x12820
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rdi
callq 0xd430
cmpq $0x2, %rax
jb 0x10f2c
movq -0x28(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0xd6d0
movsbl (%rax), %eax
cmpl $0x2f, %eax
jne 0x10f2c
movq -0x28(%rbp), %rsi
leaq -0x68(%rbp), %rdi
movl $0x1, %ecx
movq %rcx, %rdx
callq 0xd650
jmp 0x10d85
leaq 0x4f5ed(%rip), %rsi     # 0x60379
leaq -0x48(%rbp), %rdi
leaq -0x68(%rbp), %rdx
callq 0x130d0
jmp 0x10d9b
leaq -0x68(%rbp), %rdi
callq 0xdca8
movq -0x28(%rbp), %rsi
leaq -0x98(%rbp), %rdi
movl $0x2, %edx
movq $-0x1, %rcx
callq 0xd650
jmp 0x10dc2
leaq -0xf8(%rbp), %rdi
callq 0x12760
jmp 0x10dd0
leaq -0xf8(%rbp), %rdi
leaq -0x48(%rbp), %rsi
callq 0xd060
jmp 0x10de2
leaq -0x98(%rbp), %rdi
callq 0xdab0
testb $0x1, %al
jne 0x10e77
leaq -0xd0(%rbp), %rdi
leaq -0x98(%rbp), %rsi
callq 0x127b0
jmp 0x10e0b
jmp 0x10e77
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
jmp 0x10f52
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
leaq -0x68(%rbp), %rdi
callq 0xdca8
jmp 0x10f52
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
jmp 0x10f21
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
jmp 0x10f15
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
leaq -0xf8(%rbp), %rdi
callq 0x12920
jmp 0x10f15
leaq -0xb8(%rbp), %rdi
movq -0x28(%rbp), %rsi
callq 0x127b0
jmp 0x10e89
movq -0x120(%rbp), %rdi
leaq -0xf8(%rbp), %rsi
callq 0x12690
jmp 0x10e9e
movq -0x18(%rbp), %rdi
movq %rdi, -0x130(%rbp)
callq 0x128b0
movq %rax, -0x108(%rbp)
leaq -0x100(%rbp), %rdi
leaq -0x108(%rbp), %rsi
callq 0x128e0
movq -0x130(%rbp), %rdi
movq -0x100(%rbp), %rsi
callq 0x12840
movq %rax, -0x128(%rbp)
jmp 0x10ee4
movq -0x128(%rbp), %rax
movq %rax, -0x110(%rbp)
leaq -0xf8(%rbp), %rdi
callq 0x12920
leaq -0x98(%rbp), %rdi
callq 0xdca8
leaq -0x48(%rbp), %rdi
callq 0xdca8
jmp 0x10f2c
leaq -0x98(%rbp), %rdi
callq 0xdca8
leaq -0x48(%rbp), %rdi
callq 0xdca8
jmp 0x10f52
movb $0x1, -0x19(%rbp)
testb $0x1, -0x19(%rbp)
jne 0x10f42
movq -0x120(%rbp), %rdi
callq 0x12700
movq -0x118(%rbp), %rax
addq $0x130, %rsp            # imm = 0x130
popq %rbp
retq
movq -0x120(%rbp), %rdi
callq 0x12700
movq -0x70(%rbp), %rdi
callq 0xdb30
nopw (%rax,%rax)