// File: demon386[P]git-store/./libs/program_options/src/value_semantic.cpp
// Function: boost::program_options::error_with_option_name::get_canonical_option_name[abi:cxx11]() const
string error_with_option_name::get_canonical_option_name() const
    {
        if (!m_substitutions.find("option")->second.length())
            return m_substitutions.find("original_token")->second;

        string original_token   = strip_prefixes(m_substitutions.find("original_token")->second);
        string option_name      = strip_prefixes(m_substitutions.find("option")->second);

        //  For long options, use option name
        if (m_option_style == command_line_style::allow_long        || 
             m_option_style == command_line_style::allow_long_disguise)
            return get_canonical_option_prefix() + option_name;

        //  For short options use first letter of original_token
        if (m_option_style && original_token.length())
            return get_canonical_option_prefix() + original_token[0];

        // no prefix
        return option_name;
    }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x1f0, %rsp            # imm = 0x1F0
movq %rdi, -0x190(%rbp)
movq %rdi, %rax
movq %rax, -0x188(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x180(%rbp)
addq $0x18, %rax
movq %rax, -0x178(%rbp)
leaq -0x39(%rbp), %rdi
movq %rdi, -0x170(%rbp)
callq 0xdb50
movq -0x170(%rbp), %rdx
leaq 0x263d6(%rip), %rsi     # 0x61dbe
leaq -0x38(%rbp), %rdi
callq 0xd8b0
jmp 0x3b9f3
movq -0x178(%rbp), %rdi
leaq -0x38(%rbp), %rsi
callq 0x20200
movq %rax, -0x198(%rbp)
jmp 0x3ba0c
movq -0x198(%rbp), %rax
movq %rax, -0x18(%rbp)
leaq -0x18(%rbp), %rdi
callq 0x20230
movq %rax, %rdi
addq $0x20, %rdi
callq 0xd9b0
cmpq $0x0, %rax
setne %al
xorb $-0x1, %al
movb %al, -0x199(%rbp)
leaq -0x38(%rbp), %rdi
callq 0xdca8
leaq -0x39(%rbp), %rdi
callq 0xd6b0
movb -0x199(%rbp), %al
testb $0x1, %al
jne 0x3ba5c
jmp 0x3bb52
movq -0x180(%rbp), %rax
addq $0x18, %rax
movq %rax, -0x1b0(%rbp)
leaq -0x79(%rbp), %rdi
movq %rdi, -0x1a8(%rbp)
callq 0xdb50
movq -0x1a8(%rbp), %rdx
leaq 0x23a9a(%rip), %rsi     # 0x5f526
leaq -0x78(%rbp), %rdi
callq 0xd8b0
jmp 0x3ba97
movq -0x1b0(%rbp), %rdi
leaq -0x78(%rbp), %rsi
callq 0x20200
movq %rax, -0x1b8(%rbp)
jmp 0x3bab0
movq -0x1b8(%rbp), %rax
movq %rax, -0x58(%rbp)
leaq -0x58(%rbp), %rdi
callq 0x20230
movq -0x190(%rbp), %rdi
movq %rax, %rsi
addq $0x20, %rsi
callq 0xd230
jmp 0x3bad9
leaq -0x78(%rbp), %rdi
callq 0xdca8
leaq -0x79(%rbp), %rdi
callq 0xd6b0
jmp 0x3be96
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x3bb13
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0x38(%rbp), %rdi
callq 0xdca8
leaq -0x39(%rbp), %rdi
callq 0xd6b0
jmp 0x3bea6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x3bb44
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0x78(%rbp), %rdi
callq 0xdca8
leaq -0x79(%rbp), %rdi
callq 0xd6b0
jmp 0x3bea6
movq -0x180(%rbp), %rax
addq $0x18, %rax
movq %rax, -0x1c8(%rbp)
leaq -0xc9(%rbp), %rdi
movq %rdi, -0x1c0(%rbp)
callq 0xdb50
movq -0x1c0(%rbp), %rdx
leaq 0x239a1(%rip), %rsi     # 0x5f526
leaq -0xc8(%rbp), %rdi
callq 0xd8b0
jmp 0x3bb93
movq -0x1c8(%rbp), %rdi
leaq -0xc8(%rbp), %rsi
callq 0x20200
movq %rax, -0x1d0(%rbp)
jmp 0x3bbaf
movq -0x1d0(%rbp), %rax
movq %rax, -0xa8(%rbp)
leaq -0xa8(%rbp), %rdi
callq 0x20230
movq %rax, %rsi
addq $0x20, %rsi
leaq -0xa0(%rbp), %rdi
callq 0x3d920
jmp 0x3bbde
leaq -0xc8(%rbp), %rdi
callq 0xdca8
leaq -0xc9(%rbp), %rdi
callq 0xd6b0
movq -0x180(%rbp), %rax
addq $0x18, %rax
movq %rax, -0x1e0(%rbp)
leaq -0x119(%rbp), %rdi
movq %rdi, -0x1d8(%rbp)
callq 0xdb50
movq -0x1d8(%rbp), %rdx
leaq 0x26195(%rip), %rsi     # 0x61dbe
leaq -0x118(%rbp), %rdi
callq 0xd8b0
jmp 0x3bc37
movq -0x1e0(%rbp), %rdi
leaq -0x118(%rbp), %rsi
callq 0x20200
movq %rax, -0x1e8(%rbp)
jmp 0x3bc53
movq -0x1e8(%rbp), %rax
movq %rax, -0xf8(%rbp)
leaq -0xf8(%rbp), %rdi
callq 0x20230
movq %rax, %rsi
addq $0x20, %rsi
leaq -0xf0(%rbp), %rdi
callq 0x3d920
jmp 0x3bc82
leaq -0x118(%rbp), %rdi
callq 0xdca8
leaq -0x119(%rbp), %rdi
callq 0xd6b0
movq -0x180(%rbp), %rax
cmpl $0x1, 0x10(%rax)
je 0x3bcbb
movq -0x180(%rbp), %rax
cmpl $0x1000, 0x10(%rax)     # imm = 0x1000
jne 0x3bda3
movq -0x180(%rbp), %rsi
leaq -0x140(%rbp), %rdi
callq 0x3b750
jmp 0x3bcd0
movq -0x190(%rbp), %rdi
leaq -0x140(%rbp), %rsi
leaq -0xf0(%rbp), %rdx
callq 0x1ea30
jmp 0x3bcec
leaq -0x140(%rbp), %rdi
callq 0xdca8
movl $0x1, -0x144(%rbp)
jmp 0x3be62
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x3bd2d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0xc8(%rbp), %rdi
callq 0xdca8
leaq -0xc9(%rbp), %rdi
callq 0xd6b0
jmp 0x3bea6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x3bd64
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0x118(%rbp), %rdi
callq 0xdca8
leaq -0x119(%rbp), %rdi
callq 0xd6b0
jmp 0x3be88
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x3be7c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0x140(%rbp), %rdi
callq 0xdca8
jmp 0x3be7c
movq -0x180(%rbp), %rax
cmpl $0x0, 0x10(%rax)
je 0x3be45
leaq -0xa0(%rbp), %rdi
callq 0xd9b0
cmpq $0x0, %rax
je 0x3be45
movq -0x180(%rbp), %rsi
leaq -0x168(%rbp), %rdi
callq 0x3b750
jmp 0x3bddb
xorl %eax, %eax
movl %eax, %esi
leaq -0xa0(%rbp), %rdi
callq 0xdc50
movq %rax, -0x1f0(%rbp)
jmp 0x3bdf4
movq -0x190(%rbp), %rdi
movq -0x1f0(%rbp), %rax
movsbl (%rax), %edx
leaq -0x168(%rbp), %rsi
callq 0x13040
jmp 0x3be13
leaq -0x168(%rbp), %rdi
callq 0xdca8
movl $0x1, -0x144(%rbp)
jmp 0x3be62
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0x168(%rbp), %rdi
callq 0xdca8
jmp 0x3be7c
movq -0x190(%rbp), %rdi
leaq -0xf0(%rbp), %rsi
callq 0xd350
movl $0x1, -0x144(%rbp)
leaq -0xf0(%rbp), %rdi
callq 0xdca8
leaq -0xa0(%rbp), %rdi
callq 0xdca8
jmp 0x3be96
leaq -0xf0(%rbp), %rdi
callq 0xdca8
leaq -0xa0(%rbp), %rdi
callq 0xdca8
jmp 0x3bea6
movq -0x188(%rbp), %rax
addq $0x1f0, %rsp            # imm = 0x1F0
popq %rbp
retq
movq -0x48(%rbp), %rdi
callq 0xdb30
nop