// File: /workspace/github_cpp_makefile_star2_O2/BU-DiSC[P]BF-Shared-Hashing/./args.hxx
// Function: args::FlagBase::GetNameString[abi:cxx11](args::HelpParams const&) const
virtual std::string GetNameString(const HelpParams &params) const override
            {
                const std::string postfix = !params.showValueName || NumberOfArguments() == 0 ? std::string() : Name();
                std::string flags;
                const auto flagStrings = matcher.GetFlagStrings();
                const bool useValueNameOnce = flagStrings.size() == 1 ? false : params.useValueNameOnce;
                for (auto it = flagStrings.begin(); it != flagStrings.end(); ++it)
                {
                    auto &flag = *it;
                    if (it != flagStrings.begin())
                    {
                        flags += ", ";
                    }

                    flags += flag.isShort ? params.shortPrefix : params.longPrefix;
                    flags += flag.str();

                    if (!postfix.empty() && (!useValueNameOnce || it + 1 == flagStrings.end()))
                    {
                        flags += flag.isShort ? params.shortSeparator : params.longSeparator;
                        flags += params.valueOpen + postfix + params.valueClose;
                    }
                }

                return flags;
            }

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x98, %rsp
movq %rdx, %r14
movq %rsi, %r15
movq %rdi, %rbx
cmpb $0x1, 0x219(%rdx)
jne 0x16cbc
movq (%r15), %rax
movq %r15, %rdi
callq *0x98(%rax)
orq %rax, %rdx
jne 0x16ccf
leaq 0x48(%rsp), %rax
movq %rax, -0x10(%rax)
andq $0x0, -0x8(%rax)
movb $0x0, (%rax)
jmp 0x16ce0
movq (%r15), %rax
leaq 0x38(%rsp), %rdi
movq %r15, %rsi
callq *0x90(%rax)
leaq 0x10(%rbx), %rax
movq %rax, (%rbx)
andq $0x0, 0x8(%rbx)
movb $0x0, 0x10(%rbx)
addq $0xa0, %r15
leaq 0x10(%rsp), %rdi
movq %r15, %rsi
callq 0x17762
movq 0x10(%rsp), %r15
movq 0x18(%rsp), %rax
movq %rax, %rcx
subq %r15, %rcx
cmpq $0x28, %rcx
setne %cl
andb 0x218(%r14), %cl
movb %cl, 0xf(%rsp)
leaq 0x220(%r14), %rcx
movq %rcx, 0x30(%rsp)
leaq 0x240(%r14), %rcx
movq %rcx, 0x28(%rsp)
leaq 0x58(%rsp), %r13
leaq 0x78(%rsp), %r12
cmpq %rax, %r15
je 0x16e23
cmpq 0x10(%rsp), %r15
je 0x16d67
movq %rbx, %rdi
leaq 0xc0b1(%rip), %rsi      # 0x22e13
callq 0x6710
movzbl (%r15), %eax
xorl $0x1, %eax
shll $0x5, %eax
leaq (%rax,%r14), %rsi
addq $0x28, %rsi
movq %rbx, %rdi
callq 0x6740
movq %r13, %rdi
movq %r15, %rsi
callq 0x17462
movq %rbx, %rdi
movq %r13, %rsi
callq 0x6740
movq %r13, %rdi
callq 0x61f0
movq 0x18(%rsp), %rax
leaq 0x28(%r15), %rbp
cmpq %rax, %rbp
setne %cl
cmpq $0x0, 0x40(%rsp)
je 0x16e1b
andb 0xf(%rsp), %cl
jne 0x16e1b
movzbl (%r15), %eax
xorl $0x1, %eax
shll $0x5, %eax
leaq (%rax,%r14), %rsi
addq $0x68, %rsi
movq %rbx, %rdi
callq 0x6740
movq %r12, %r15
movq %r12, %rdi
movq 0x30(%rsp), %rsi
leaq 0x38(%rsp), %rdx
callq 0x17343
movq %r13, %rdi
movq %r15, %rsi
movq 0x28(%rsp), %rdx
callq 0x17640
movq %rbx, %rdi
movq %r13, %rsi
callq 0x6740
movq %r13, %rdi
callq 0x61f0
movq %r12, %rdi
callq 0x61f0
movq 0x18(%rsp), %rax
movq %rbp, %r15
jmp 0x16d48
leaq 0x10(%rsp), %rdi
callq 0x177f0
leaq 0x38(%rsp), %rdi
callq 0x61f0
movq %rbx, %rax
addq $0x98, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %r14
jmp 0x16e8a
movq %rax, %r14
jmp 0x16e65
jmp 0x16e7d
movq %rax, %r14
leaq 0x58(%rsp), %rdi
callq 0x61f0
leaq 0x78(%rsp), %rdi
jmp 0x16e76
jmp 0x16e7d
movq %rax, %r14
leaq 0x58(%rsp), %rdi
callq 0x61f0
jmp 0x16e80
movq %rax, %r14
leaq 0x10(%rsp), %rdi
callq 0x177f0
movq %rbx, %rdi
callq 0x61f0
leaq 0x38(%rsp), %rdi
callq 0x61f0
movq %r14, %rdi
callq 0x66b0