// File: /workspace/github_cpp_makefile_star2_O1/demon386[P]git-store/./libs/program_options/src/config_file.cpp
// Function: boost::program_options::detail::common_config_file_iterator::get()
void common_config_file_iterator::get()
    {
        string s;
        string::size_type n;
        bool found = false;

        while(this->getline(s)) {

            // strip '#' comments and whitespace
            if ((n = s.find('#')) != string::npos)
                s = s.substr(0, n);
            s = trim_ws(s);

            if (!s.empty()) {
                // Handle section name
                if (*s.begin() == '[' && *s.rbegin() == ']') {
                    m_prefix = s.substr(1, s.size()-2);
                    if (*m_prefix.rbegin() != '.')
                        m_prefix += '.';
                }
                else if ((n = s.find('=')) != string::npos) {

                    string name = m_prefix + trim_ws(s.substr(0, n));
                    string value = trim_ws(s.substr(n+1));

                    bool registered = allowed_option(name);
                    if (!registered && !m_allow_unregistered)
                        boost::throw_exception(unknown_option(name));

                    found = true;
                    this->value().string_key = name;
                    this->value().value.clear();
                    this->value().value.push_back(value);
                    this->value().unregistered = !registered;
                    this->value().original_tokens.clear();
                    this->value().original_tokens.push_back(name);
                    this->value().original_tokens.push_back(value);
                    break;

                } else {
                    boost::throw_exception(invalid_config_file_syntax(s, invalid_syntax::unrecognized_line));
                }
            }
        }
        if (!found)
            found_eof();
    }

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x128, %rsp            # imm = 0x128
movq %rdi, %rbx
leaq -0x58(%rbp), %rax
movq %rax, -0x10(%rax)
movq $0x0, -0x8(%rax)
movb $0x0, (%rax)
leaq 0xd0(%rdi), %r15
leaq -0x68(%rbp), %r12
leaq -0x148(%rbp), %r13
movq (%rbx), %rax
movq %rbx, %rdi
movq %r12, %rsi
callq *0x10(%rax)
movl %eax, %r14d
testb %al, %al
je 0x1310d
movq %r12, %rdi
movl $0x23, %esi
xorl %edx, %edx
callq 0xb5c0
cmpq $-0x1, %rax
je 0x12eab
movq %r13, %rdi
movq %r12, %rsi
xorl %edx, %edx
movq %rax, %rcx
callq 0xb490
movq %r12, %rdi
movq %r13, %rsi
callq 0xb560
movq -0x148(%rbp), %rdi
leaq -0x138(%rbp), %rax
cmpq %rax, %rdi
je 0x12eab
callq 0xb430
movq %r13, %rdi
movq %r12, %rsi
callq 0x1322c
movq %r12, %rdi
movq %r13, %rsi
callq 0xb560
movq -0x148(%rbp), %rdi
leaq -0x138(%rbp), %rax
cmpq %rax, %rdi
je 0x12ed9
callq 0xb430
movq -0x60(%rbp), %rcx
testq %rcx, %rcx
je 0x12e4c
movq -0x68(%rbp), %rax
cmpb $0x5b, (%rax)
jne 0x12f58
cmpb $0x5d, -0x1(%rax,%rcx)
jne 0x12f58
addq $-0x2, %rcx
movl $0x1, %edx
movq %r13, %rdi
movq %r12, %rsi
callq 0xb490
movq %r15, %rdi
movq %r13, %rsi
callq 0xb560
movq -0x148(%rbp), %rdi
leaq -0x138(%rbp), %rax
cmpq %rax, %rdi
je 0x12f2d
callq 0xb430
movq 0xd0(%rbx), %rax
movq 0xd8(%rbx), %rcx
cmpb $0x2e, -0x1(%rax,%rcx)
je 0x12e4c
movq %r15, %rdi
movl $0x2e, %esi
callq 0xb3f0
jmp 0x12e4c
leaq -0x68(%rbp), %rdi
movl $0x3d, %esi
xorl %edx, %edx
callq 0xb5c0
cmpq $-0x1, %rax
je 0x13135
movq %rax, %r15
leaq -0x88(%rbp), %rdi
leaq -0x68(%rbp), %rsi
xorl %edx, %edx
movq %rax, %rcx
callq 0xb490
leaq -0x148(%rbp), %rdi
leaq -0x88(%rbp), %rsi
callq 0x1322c
movq 0xd0(%rbx), %rcx
movq 0xd8(%rbx), %r8
leaq -0x148(%rbp), %rdi
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 0x12fdf
movq %rdx, -0x48(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x38(%rbp)
jmp 0x12fe5
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)
movq -0x148(%rbp), %rdi
leaq -0x138(%rbp), %rax
cmpq %rax, %rdi
je 0x13014
callq 0xb430
leaq -0x78(%rbp), %r13
movq -0x10(%r13), %rdi
cmpq %r13, %rdi
je 0x13026
callq 0xb430
incq %r15
leaq -0x148(%rbp), %rdi
leaq -0x68(%rbp), %rsi
movq %r15, %rdx
movq $-0x1, %rcx
callq 0xb490
leaq -0x88(%rbp), %rdi
leaq -0x148(%rbp), %rsi
callq 0x1322c
movq -0x148(%rbp), %rdi
leaq -0x138(%rbp), %rax
cmpq %rax, %rdi
je 0x1306e
callq 0xb430
leaq -0x48(%rbp), %rsi
movq %rbx, %rdi
callq 0x132ae
movl %eax, %r15d
testb %al, %al
jne 0x1308e
cmpb $0x0, 0xf0(%rbx)
je 0x13156
leaq 0x10(%rbx), %rdi
leaq -0x48(%rbp), %rsi
callq 0xb290
leaq 0x38(%rbx), %r12
movq %r12, %rdi
callq 0xeeb0
leaq -0x88(%rbp), %rsi
movq %r12, %rdi
callq 0xe916
xorb $0x1, %r15b
movb %r15b, 0x68(%rbx)
leaq 0x50(%rbx), %r15
movq %r15, %rdi
callq 0xeeb0
leaq -0x48(%rbp), %rsi
movq %r15, %rdi
callq 0xe916
leaq -0x88(%rbp), %rsi
movq %r15, %rdi
callq 0xe916
movq -0x88(%rbp), %rdi
cmpq %r13, %rdi
je 0x130f6
callq 0xb430
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x13108
callq 0xb430
testb %r14b, %r14b
jne 0x13111
movb $0x1, 0x8(%rbx)
movq -0x68(%rbp), %rdi
leaq -0x58(%rbp), %rax
cmpq %rax, %rdi
je 0x13123
callq 0xb430
addq $0x128, %rsp            # imm = 0x128
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq -0x148(%rbp), %rdi
leaq -0x68(%rbp), %rsi
movl $0x24, %edx
callq 0x13612
leaq -0x148(%rbp), %rdi
callq 0x1350d
leaq -0x148(%rbp), %rdi
leaq -0x48(%rbp), %rsi
callq 0xec2e
leaq -0x148(%rbp), %rdi
callq 0xeb41
movq %rax, %rbx
leaq -0x148(%rbp), %rdi
callq 0xedb6
jmp 0x131e4
jmp 0x131e1
movq %rax, %rbx
leaq -0x148(%rbp), %rdi
callq 0xedb6
jmp 0x13212
jmp 0x1320f
movq %rax, %rbx
movq -0x148(%rbp), %rdi
leaq -0x138(%rbp), %rax
cmpq %rax, %rdi
jne 0x131f0
jmp 0x131f5
movq %rax, %rbx
jmp 0x131f5
movq %rax, %rbx
movq -0x148(%rbp), %rdi
leaq -0x138(%rbp), %rax
cmpq %rax, %rdi
je 0x131d5
callq 0xb430
jmp 0x131d5
movq %rax, %rbx
leaq -0x78(%rbp), %rax
movq -0x10(%rax), %rdi
jmp 0x131fd
jmp 0x1320f
movq %rax, %rbx
movq -0x88(%rbp), %rdi
cmpq %r13, %rdi
je 0x131f5
callq 0xb430
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x13212
callq 0xb430
jmp 0x13212
jmp 0x1320f
jmp 0x1320f
jmp 0x1320f
movq %rax, %rbx
movq -0x68(%rbp), %rdi
leaq -0x58(%rbp), %rax
cmpq %rax, %rdi
je 0x13224
callq 0xb430
movq %rbx, %rdi
callq 0xb7f0