// File: meirdev[P]HexViewer/./CLI11.hpp
// Function: CLI::ConfigINI::to_config(CLI::App const*, bool, bool, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>) const
inline std::string
ConfigINI::to_config(const App *app, bool default_also, bool write_description, std::string prefix) const {
    std::stringstream out;
    for(const Option *opt : app->get_options({})) {

        // Only process option with a long-name and configurable
        if(!opt->get_lnames().empty() && opt->get_configurable()) {
            std::string name = prefix + opt->get_lnames()[0];
            std::string value;

            // Non-flags
            if(opt->get_type_size() != 0) {

                // If the option was found on command line
                if(opt->count() > 0)
                    value = detail::ini_join(opt->results());

                // If the option has a default and is requested by optional argument
                else if(default_also && !opt->get_defaultval().empty())
                    value = opt->get_defaultval();
                // Flag, one passed
            } else if(opt->count() == 1) {
                value = "true";

                // Flag, multiple passed
            } else if(opt->count() > 1) {
                value = std::to_string(opt->count());

                // Flag, not present
            } else if(opt->count() == 0 && default_also) {
                value = "false";
            }

            if(!value.empty()) {
                if(write_description && opt->has_description()) {
                    if(static_cast<int>(out.tellp()) != 0) {
                        out << std::endl;
                    }
                    out << "; " << detail::fix_newlines("; ", opt->get_description()) << std::endl;
                }

                // Don't try to quote anything that is not size 1
                if(opt->get_items_expected() != 1)
                    out << name << "=" << value << std::endl;
                else
                    out << name << "=" << detail::add_quotes_if_needed(value) << std::endl;
            }
        }
    }

    for(const App *subcom : app->get_subcommands({}))
        out << to_config(subcom, default_also, write_description, prefix + subcom->get_name() + ".");

    return out.str();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x590, %rsp            # imm = 0x590
movq %r9, -0x4a8(%rbp)
movq %rdi, -0x4a0(%rbp)
movb %r8b, %al
movq %rdi, %r8
movq %r8, -0x498(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
andb $0x1, %cl
movb %cl, -0x19(%rbp)
andb $0x1, %al
movb %al, -0x1a(%rbp)
movq %r9, -0x28(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x490(%rbp)
leaq -0x1b0(%rbp), %rdi
callq 0x62e0
movq -0x18(%rbp), %rax
movq %rax, -0x488(%rbp)
leaq -0x1f0(%rbp), %rdi
movq %rdi, -0x480(%rbp)
callq 0x8560
movq -0x488(%rbp), %rsi
movq -0x480(%rbp), %rdx
leaq -0x1d0(%rbp), %rdi
callq 0x82e0
jmp 0x7822
leaq -0x1f0(%rbp), %rdi
callq 0x85a0
leaq -0x1d0(%rbp), %rax
movq %rax, -0x1b8(%rbp)
movq -0x1b8(%rbp), %rdi
callq 0x85c0
movq %rax, -0x208(%rbp)
movq -0x1b8(%rbp), %rdi
callq 0x85f0
movq %rax, -0x210(%rbp)
leaq -0x208(%rbp), %rdi
leaq -0x210(%rbp), %rsi
callq 0x8620
testb $0x1, %al
jne 0x78ad
leaq -0x1d0(%rbp), %rdi
callq 0x9110
jmp 0x7ffc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1f8(%rbp)
movl %eax, -0x1fc(%rbp)
leaq -0x1f0(%rbp), %rdi
callq 0x85a0
jmp 0x82c5
leaq -0x208(%rbp), %rdi
callq 0x8660
movq (%rax), %rax
movq %rax, -0x218(%rbp)
movq -0x218(%rbp), %rsi
leaq -0x230(%rbp), %rdi
callq 0x8680
jmp 0x78d8
leaq -0x230(%rbp), %rdi
callq 0x86b0
movb %al, %cl
xorl %eax, %eax
testb $0x1, %cl
movb %al, -0x4a9(%rbp)
jne 0x7915
movq -0x218(%rbp), %rdi
callq 0x86f0
movb %al, -0x4aa(%rbp)
jmp 0x7907
movb -0x4aa(%rbp), %al
movb %al, -0x4a9(%rbp)
jmp 0x7915
movb -0x4a9(%rbp), %al
movb %al, -0x4ab(%rbp)
leaq -0x230(%rbp), %rdi
callq 0x8710
movb -0x4ab(%rbp), %al
testb $0x1, %al
jne 0x793c
jmp 0x7fd8
movq -0x218(%rbp), %rsi
leaq -0x268(%rbp), %rdi
callq 0x8680
jmp 0x7951
xorl %eax, %eax
movl %eax, %esi
leaq -0x268(%rbp), %rdi
callq 0x87f0
movq -0x4a8(%rbp), %rsi
movq %rax, %rdx
leaq -0x250(%rbp), %rdi
callq 0x8770
jmp 0x7979
leaq -0x268(%rbp), %rdi
callq 0x8710
leaq -0x288(%rbp), %rdi
callq 0x65f0
movq -0x218(%rbp), %rdi
callq 0x8810
movl %eax, -0x4b0(%rbp)
jmp 0x79a5
movl -0x4b0(%rbp), %eax
cmpl $0x0, %eax
je 0x7b7c
movq -0x218(%rbp), %rdi
callq 0x8830
movq %rax, -0x4b8(%rbp)
jmp 0x79c9
movq -0x4b8(%rbp), %rax
cmpq $0x0, %rax
jbe 0x7acb
movq -0x218(%rbp), %rsi
leaq -0x2c0(%rbp), %rdi
callq 0x8b00
jmp 0x79ef
leaq -0x2a8(%rbp), %rdi
leaq -0x2c0(%rbp), %rsi
callq 0x8860
jmp 0x7a04
leaq -0x288(%rbp), %rdi
leaq -0x2a8(%rbp), %rsi
callq 0x6520
leaq -0x2a8(%rbp), %rdi
callq 0x6280
leaq -0x2c0(%rbp), %rdi
callq 0x8710
jmp 0x7b77
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1f8(%rbp)
movl %eax, -0x1fc(%rbp)
jmp 0x7feb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1f8(%rbp)
movl %eax, -0x1fc(%rbp)
leaq -0x230(%rbp), %rdi
callq 0x8710
jmp 0x7feb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1f8(%rbp)
movl %eax, -0x1fc(%rbp)
leaq -0x268(%rbp), %rdi
callq 0x8710
jmp 0x7feb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1f8(%rbp)
movl %eax, -0x1fc(%rbp)
jmp 0x7fbe
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1f8(%rbp)
movl %eax, -0x1fc(%rbp)
leaq -0x2c0(%rbp), %rdi
callq 0x8710
jmp 0x7fbe
movb -0x19(%rbp), %cl
movb $0x0, -0x2e1(%rbp)
xorl %eax, %eax
testb $0x1, %cl
movb %al, -0x4b9(%rbp)
je 0x7b12
movq -0x218(%rbp), %rsi
leaq -0x2e0(%rbp), %rdi
callq 0x8b40
jmp 0x7af7
movb $0x1, -0x2e1(%rbp)
leaq -0x2e0(%rbp), %rdi
callq 0x66e0
xorb $-0x1, %al
movb %al, -0x4b9(%rbp)
movb -0x4b9(%rbp), %al
movb %al, -0x4ba(%rbp)
testb $0x1, -0x2e1(%rbp)
jne 0x7b29
jmp 0x7b35
leaq -0x2e0(%rbp), %rdi
callq 0x6280
movb -0x4ba(%rbp), %al
testb $0x1, %al
jne 0x7b41
jmp 0x7b75
movq -0x218(%rbp), %rsi
leaq -0x308(%rbp), %rdi
callq 0x8b40
jmp 0x7b56
leaq -0x288(%rbp), %rdi
leaq -0x308(%rbp), %rsi
callq 0x6520
leaq -0x308(%rbp), %rdi
callq 0x6280
jmp 0x7b77
jmp 0x7c6a
movq -0x218(%rbp), %rdi
callq 0x8830
movq %rax, -0x4c8(%rbp)
jmp 0x7b91
movq -0x4c8(%rbp), %rax
cmpq $0x1, %rax
jne 0x7bb8
leaq 0x396b7(%rip), %rsi     # 0x4125c
leaq -0x288(%rbp), %rdi
callq 0x65e0
jmp 0x7bb3
jmp 0x7c68
movq -0x218(%rbp), %rdi
callq 0x8830
movq %rax, -0x4d0(%rbp)
jmp 0x7bcd
movq -0x4d0(%rbp), %rax
cmpq $0x1, %rax
jbe 0x7c25
movq -0x218(%rbp), %rdi
callq 0x8830
movq %rax, -0x4d8(%rbp)
jmp 0x7bef
movq -0x4d8(%rbp), %rsi
leaq -0x328(%rbp), %rdi
callq 0x8b80
jmp 0x7c04
leaq -0x288(%rbp), %rdi
leaq -0x328(%rbp), %rsi
callq 0x6520
leaq -0x328(%rbp), %rdi
callq 0x6280
jmp 0x7c66
movq -0x218(%rbp), %rdi
callq 0x8830
movq %rax, -0x4e0(%rbp)
jmp 0x7c3a
movq -0x4e0(%rbp), %rax
cmpq $0x0, %rax
jne 0x7c64
testb $0x1, -0x19(%rbp)
je 0x7c64
leaq 0x3960d(%rip), %rsi     # 0x41261
leaq -0x288(%rbp), %rdi
callq 0x65e0
jmp 0x7c62
jmp 0x7c64
jmp 0x7c66
jmp 0x7c68
jmp 0x7c6a
leaq -0x288(%rbp), %rdi
callq 0x66e0
testb $0x1, %al
jne 0x7fa4
testb $0x1, -0x1a(%rbp)
je 0x7e95
movq -0x218(%rbp), %rdi
callq 0x8c60
movb %al, -0x4e1(%rbp)
jmp 0x7c9c
movb -0x4e1(%rbp), %al
testb $0x1, %al
jne 0x7cab
jmp 0x7e95
leaq -0x1a0(%rbp), %rdi
callq 0x6360
movq %rdx, -0x4f8(%rbp)
movq %rax, -0x4f0(%rbp)
jmp 0x7cc7
movq -0x4f8(%rbp), %rax
movq -0x4f0(%rbp), %rcx
movq %rcx, -0x338(%rbp)
movq %rax, -0x330(%rbp)
leaq -0x338(%rbp), %rdi
callq 0x8c90
movq %rax, -0x500(%rbp)
jmp 0x7cf8
movq -0x500(%rbp), %rax
cmpl $0x0, %eax
je 0x7d1b
leaq -0x1a0(%rbp), %rdi
movq 0x56286(%rip), %rsi     # 0x5df98
callq 0x6430
jmp 0x7d19
jmp 0x7d1b
leaq -0x1a0(%rbp), %rdi
leaq 0x3953e(%rip), %rsi     # 0x41267
callq 0x63d0
movq %rax, -0x508(%rbp)
jmp 0x7d37
leaq -0x379(%rbp), %rdi
movq %rdi, -0x510(%rbp)
callq 0x6770
movq -0x510(%rbp), %rdx
leaq 0x3950f(%rip), %rsi     # 0x41267
leaq -0x378(%rbp), %rdi
callq 0x8eb0
jmp 0x7d66
movq -0x218(%rbp), %rdi
callq 0x8f60
movq %rax, -0x518(%rbp)
jmp 0x7d7b
movq -0x518(%rbp), %rsi
leaq -0x3a0(%rbp), %rdi
callq 0x61d0
jmp 0x7d90
leaq -0x358(%rbp), %rdi
leaq -0x378(%rbp), %rsi
leaq -0x3a0(%rbp), %rdx
callq 0x8cb0
jmp 0x7dac
movq -0x508(%rbp), %rdi
leaq -0x358(%rbp), %rsi
callq 0x6390
movq %rax, -0x520(%rbp)
jmp 0x7dc8
movq -0x520(%rbp), %rdi
movq 0x561c2(%rip), %rsi     # 0x5df98
callq 0x6430
jmp 0x7ddd
leaq -0x358(%rbp), %rdi
callq 0x6280
leaq -0x3a0(%rbp), %rdi
callq 0x6280
leaq -0x378(%rbp), %rdi
callq 0x6280
leaq -0x379(%rbp), %rdi
callq 0x6460
jmp 0x7e95
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1f8(%rbp)
movl %eax, -0x1fc(%rbp)
jmp 0x7e84
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1f8(%rbp)
movl %eax, -0x1fc(%rbp)
jmp 0x7e78
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1f8(%rbp)
movl %eax, -0x1fc(%rbp)
jmp 0x7e6c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1f8(%rbp)
movl %eax, -0x1fc(%rbp)
leaq -0x358(%rbp), %rdi
callq 0x6280
leaq -0x3a0(%rbp), %rdi
callq 0x6280
leaq -0x378(%rbp), %rdi
callq 0x6280
leaq -0x379(%rbp), %rdi
callq 0x6460
jmp 0x7fbe
movq -0x218(%rbp), %rdi
callq 0x8f80
movl %eax, -0x524(%rbp)
jmp 0x7ea9
movl -0x524(%rbp), %eax
cmpl $0x1, %eax
je 0x7f22
leaq -0x1a0(%rbp), %rdi
leaq -0x250(%rbp), %rsi
callq 0x6390
movq %rax, -0x530(%rbp)
jmp 0x7ed0
movq -0x530(%rbp), %rdi
leaq 0x3938c(%rip), %rsi     # 0x4126a
callq 0x63d0
movq %rax, -0x538(%rbp)
jmp 0x7eec
movq -0x538(%rbp), %rdi
leaq -0x288(%rbp), %rsi
callq 0x6390
movq %rax, -0x540(%rbp)
jmp 0x7f08
movq -0x540(%rbp), %rdi
movq 0x56082(%rip), %rsi     # 0x5df98
callq 0x6430
jmp 0x7f1d
jmp 0x7fa2
leaq -0x1a0(%rbp), %rdi
leaq -0x250(%rbp), %rsi
callq 0x6390
movq %rax, -0x548(%rbp)
jmp 0x7f3e
movq -0x548(%rbp), %rdi
leaq 0x3931e(%rip), %rsi     # 0x4126a
callq 0x63d0
movq %rax, -0x550(%rbp)
jmp 0x7f5a
leaq -0x288(%rbp), %rdi
callq 0x9000
movq %rax, -0x558(%rbp)
jmp 0x7f6f
movq -0x558(%rbp), %rsi
movq -0x550(%rbp), %rdi
callq 0x6390
movq %rax, -0x560(%rbp)
jmp 0x7f8b
movq -0x560(%rbp), %rdi
movq 0x55fff(%rip), %rsi     # 0x5df98
callq 0x6430
jmp 0x7fa0
jmp 0x7fa2
jmp 0x7fa4
leaq -0x288(%rbp), %rdi
callq 0x6280
leaq -0x250(%rbp), %rdi
callq 0x6280
jmp 0x7fd8
leaq -0x288(%rbp), %rdi
callq 0x6280
leaq -0x250(%rbp), %rdi
callq 0x6280
jmp 0x7feb
jmp 0x7fda
leaq -0x208(%rbp), %rdi
callq 0x90f0
jmp 0x7862
leaq -0x1d0(%rbp), %rdi
callq 0x9110
jmp 0x82c5
movq -0x18(%rbp), %rax
movq %rax, -0x570(%rbp)
leaq -0x3e0(%rbp), %rdi
movq %rdi, -0x568(%rbp)
callq 0x93e0
movq -0x570(%rbp), %rsi
movq -0x568(%rbp), %rdx
leaq -0x3c0(%rbp), %rdi
callq 0x9170
jmp 0x8036
leaq -0x3e0(%rbp), %rdi
callq 0x9420
leaq -0x3c0(%rbp), %rax
movq %rax, -0x3a8(%rbp)
movq -0x3a8(%rbp), %rdi
callq 0x9440
movq %rax, -0x3e8(%rbp)
movq -0x3a8(%rbp), %rdi
callq 0x9470
movq %rax, -0x3f0(%rbp)
leaq -0x3e8(%rbp), %rdi
leaq -0x3f0(%rbp), %rsi
callq 0x94a0
testb $0x1, %al
jne 0x80c1
leaq -0x3c0(%rbp), %rdi
callq 0x95f0
jmp 0x8282
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1f8(%rbp)
movl %eax, -0x1fc(%rbp)
leaq -0x3e0(%rbp), %rdi
callq 0x9420
jmp 0x82c5
leaq -0x3e8(%rbp), %rdi
callq 0x94e0
movq (%rax), %rax
movq %rax, -0x3f8(%rbp)
leaq -0x1a0(%rbp), %rax
movq %rax, -0x588(%rbp)
movq -0x3f8(%rbp), %rsi
movq %rsi, -0x580(%rbp)
movb -0x19(%rbp), %al
movb %al, -0x572(%rbp)
movb -0x1a(%rbp), %al
movb %al, -0x571(%rbp)
leaq -0x478(%rbp), %rdi
callq 0x95a0
jmp 0x8113
movq -0x4a8(%rbp), %rsi
leaq -0x458(%rbp), %rdi
leaq -0x478(%rbp), %rdx
callq 0x9550
jmp 0x812f
leaq 0x39882(%rip), %rdx     # 0x419b8
leaq -0x438(%rbp), %rdi
leaq -0x458(%rbp), %rsi
callq 0x9500
jmp 0x814b
movq -0x580(%rbp), %rdx
movq -0x490(%rbp), %rsi
movb -0x571(%rbp), %dil
movb -0x572(%rbp), %cl
movq (%rsi), %rax
movq (%rax), %rax
movzbl %cl, %ecx
andl $0x1, %ecx
movzbl %dil, %r8d
andl $0x1, %r8d
leaq -0x418(%rbp), %rdi
leaq -0x438(%rbp), %r9
callq *%rax
jmp 0x818c
movq -0x588(%rbp), %rdi
leaq -0x418(%rbp), %rsi
callq 0x6390
jmp 0x81a1
leaq -0x418(%rbp), %rdi
callq 0x6280
leaq -0x438(%rbp), %rdi
callq 0x6280
leaq -0x458(%rbp), %rdi
callq 0x6280
leaq -0x478(%rbp), %rdi
callq 0x6280
leaq -0x3e8(%rbp), %rdi
callq 0x95d0
jmp 0x8076
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1f8(%rbp)
movl %eax, -0x1fc(%rbp)
jmp 0x8274
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1f8(%rbp)
movl %eax, -0x1fc(%rbp)
jmp 0x8268
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1f8(%rbp)
movl %eax, -0x1fc(%rbp)
jmp 0x825c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1f8(%rbp)
movl %eax, -0x1fc(%rbp)
jmp 0x8250
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1f8(%rbp)
movl %eax, -0x1fc(%rbp)
leaq -0x418(%rbp), %rdi
callq 0x6280
leaq -0x438(%rbp), %rdi
callq 0x6280
leaq -0x458(%rbp), %rdi
callq 0x6280
leaq -0x478(%rbp), %rdi
callq 0x6280
leaq -0x3c0(%rbp), %rdi
callq 0x95f0
jmp 0x82c5
movq -0x4a0(%rbp), %rdi
leaq -0x1b0(%rbp), %rsi
callq 0x63c0
jmp 0x8297
leaq -0x1b0(%rbp), %rdi
callq 0x6320
movq -0x498(%rbp), %rax
addq $0x590, %rsp            # imm = 0x590
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1f8(%rbp)
movl %eax, -0x1fc(%rbp)
leaq -0x1b0(%rbp), %rdi
callq 0x6320
movq -0x1f8(%rbp), %rdi
callq 0x6750
nopl (%rax)