// File: meirdev[P]HexViewer/./CLI11.hpp
// Function: CLI::Formatter::make_help(CLI::App const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, CLI::AppFormatMode) const
inline std::string Formatter::make_help(const App *app, std::string name, AppFormatMode mode) const {

    // This immediately forwards to the make_expanded method. This is done this way so that subcommands can
    // have overridden formatters
    if(mode == AppFormatMode::Sub)
        return make_expanded(app);

    std::stringstream out;

    out << make_description(app);
    out << make_usage(app, name);
    out << make_positionals(app);
    out << make_groups(app, mode);
    out << make_subcommands(app, mode);
    out << make_footer(app);

    return out.str();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x300, %rsp            # imm = 0x300
movq %rcx, -0x2c0(%rbp)
movq %rdi, -0x2b8(%rbp)
movq %rdi, %rax
movq %rax, -0x2b0(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movl %r8d, -0x24(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x2a8(%rbp)
cmpl $0x2, -0x24(%rbp)
jne 0xa915
movq -0x2a8(%rbp), %rsi
movq -0x2b8(%rbp), %rdi
movq -0x18(%rbp), %rdx
movq (%rsi), %rax
callq *0x38(%rax)
jmp 0xac4d
leaq -0x1b0(%rbp), %rdi
callq 0x62e0
movq -0x2a8(%rbp), %rsi
leaq -0x1a0(%rbp), %rax
movq %rax, -0x2c8(%rbp)
movq -0x18(%rbp), %rdx
movq (%rsi), %rax
movq 0x48(%rax), %rax
leaq -0x1d0(%rbp), %rdi
callq *%rax
jmp 0xa94c
movq -0x2c8(%rbp), %rdi
leaq -0x1d0(%rbp), %rsi
callq 0x6390
jmp 0xa961
leaq -0x1d0(%rbp), %rdi
callq 0x6280
movq -0x2c0(%rbp), %rsi
leaq -0x1a0(%rbp), %rax
movq %rax, -0x2d8(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x2d0(%rbp)
leaq -0x220(%rbp), %rdi
callq 0x61d0
jmp 0xa99b
movq -0x2d0(%rbp), %rdx
movq -0x2a8(%rbp), %rsi
movq (%rsi), %rax
movq 0x50(%rax), %rax
leaq -0x200(%rbp), %rdi
leaq -0x220(%rbp), %rcx
callq *%rax
jmp 0xa9c2
movq -0x2d8(%rbp), %rdi
leaq -0x200(%rbp), %rsi
callq 0x6390
jmp 0xa9d7
leaq -0x200(%rbp), %rdi
callq 0x6280
leaq -0x220(%rbp), %rdi
callq 0x6280
movq -0x2a8(%rbp), %rsi
leaq -0x1a0(%rbp), %rax
movq %rax, -0x2e0(%rbp)
movq -0x18(%rbp), %rdx
movq (%rsi), %rax
movq 0x20(%rax), %rax
leaq -0x240(%rbp), %rdi
callq *%rax
jmp 0xaa1a
movq -0x2e0(%rbp), %rdi
leaq -0x240(%rbp), %rsi
callq 0x6390
jmp 0xaa2f
leaq -0x240(%rbp), %rdi
callq 0x6280
movq -0x2a8(%rbp), %rsi
leaq -0x1a0(%rbp), %rax
movq %rax, -0x2e8(%rbp)
movq -0x18(%rbp), %rdx
movl -0x24(%rbp), %ecx
leaq -0x260(%rbp), %rdi
callq 0x303f0
jmp 0xaa65
movq -0x2e8(%rbp), %rdi
leaq -0x260(%rbp), %rsi
callq 0x6390
jmp 0xaa7a
leaq -0x260(%rbp), %rdi
callq 0x6280
movq -0x2a8(%rbp), %rsi
leaq -0x1a0(%rbp), %rax
movq %rax, -0x2f0(%rbp)
movq -0x18(%rbp), %rdx
movl -0x24(%rbp), %ecx
movq (%rsi), %rax
movq 0x28(%rax), %rax
leaq -0x280(%rbp), %rdi
callq *%rax
jmp 0xaab4
movq -0x2f0(%rbp), %rdi
leaq -0x280(%rbp), %rsi
callq 0x6390
jmp 0xaac9
leaq -0x280(%rbp), %rdi
callq 0x6280
movq -0x2a8(%rbp), %rsi
leaq -0x1a0(%rbp), %rax
movq %rax, -0x2f8(%rbp)
movq -0x18(%rbp), %rdx
movq (%rsi), %rax
movq 0x40(%rax), %rax
leaq -0x2a0(%rbp), %rdi
callq *%rax
jmp 0xab00
movq -0x2f8(%rbp), %rdi
leaq -0x2a0(%rbp), %rsi
callq 0x6390
jmp 0xab15
leaq -0x2a0(%rbp), %rdi
callq 0x6280
movq -0x2b8(%rbp), %rdi
leaq -0x1b0(%rbp), %rsi
callq 0x63c0
jmp 0xab36
leaq -0x1b0(%rbp), %rdi
callq 0x6320
jmp 0xac4d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1d8(%rbp)
movl %eax, -0x1dc(%rbp)
jmp 0xac3f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1d8(%rbp)
movl %eax, -0x1dc(%rbp)
leaq -0x1d0(%rbp), %rdi
callq 0x6280
jmp 0xac3f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1d8(%rbp)
movl %eax, -0x1dc(%rbp)
jmp 0xabb3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1d8(%rbp)
movl %eax, -0x1dc(%rbp)
leaq -0x200(%rbp), %rdi
callq 0x6280
leaq -0x220(%rbp), %rdi
callq 0x6280
jmp 0xac3f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1d8(%rbp)
movl %eax, -0x1dc(%rbp)
leaq -0x240(%rbp), %rdi
callq 0x6280
jmp 0xac3f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1d8(%rbp)
movl %eax, -0x1dc(%rbp)
leaq -0x260(%rbp), %rdi
callq 0x6280
jmp 0xac3f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1d8(%rbp)
movl %eax, -0x1dc(%rbp)
leaq -0x280(%rbp), %rdi
callq 0x6280
jmp 0xac3f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1d8(%rbp)
movl %eax, -0x1dc(%rbp)
leaq -0x2a0(%rbp), %rdi
callq 0x6280
leaq -0x1b0(%rbp), %rdi
callq 0x6320
jmp 0xac5d
movq -0x2b0(%rbp), %rax
addq $0x300, %rsp            # imm = 0x300
popq %rbp
retq
movq -0x1d8(%rbp), %rdi
callq 0x6750
nopl (%rax)