// File: myint[P]optparse/./optparse.h
// Function: optparse::detail::str_format(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, unsigned long, unsigned long, bool)
static std::string str_format(const std::string &s, size_t pre, size_t len, bool indent_first = true)
        {
            std::stringstream ss;
            std::string p;
            if (indent_first)
            {
                p = std::string(pre, ' ');
            }

            size_t pos = 0, linestart = 0;
            size_t line = 0;
            while (true)
            {
                bool wrap = false;

                size_t new_pos = s.find_first_of(" \n\t", pos);
                if (new_pos == std::string::npos)
                {
                    break;
                }

                if (s[new_pos] == '\n')
                {
                    pos = new_pos + 1;
                    wrap = true;
                }

                if (line == 1)
                {
                    p = std::string(pre, ' ');
                }

                if (wrap or new_pos + pre > linestart + len)
                {
                    ss << p << s.substr(linestart, pos - linestart - 1) << std::endl;
                    linestart = pos;
                    line++;
                }

                pos = new_pos + 1;
            }

            ss << p << s.substr(linestart) << std::endl;
            return ss.str();
        }

// Assembly:
subq $0x2f8, %rsp            # imm = 0x2F8
movq %rdi, 0x50(%rsp)
movb %r8b, %al
movq %rdi, %r8
movq %r8, 0x58(%rsp)
movq %rdi, 0x2f0(%rsp)
movq %rsi, 0x2e8(%rsp)
movq %rdx, 0x2e0(%rsp)
movq %rcx, 0x2d8(%rsp)
andb $0x1, %al
movb %al, 0x2d7(%rsp)
leaq 0x148(%rsp), %rdi
callq 0x4260
leaq 0x128(%rsp), %rdi
callq 0x4460
jmp 0xba8c
testb $0x1, 0x2d7(%rsp)
je 0xbb72
movq 0x2e0(%rsp), %rax
movq %rax, 0x40(%rsp)
leaq 0xf7(%rsp), %rdi
movq %rdi, 0x48(%rsp)
callq 0x4580
movq 0x40(%rsp), %rsi
movq 0x48(%rsp), %rcx
leaq 0xf8(%rsp), %rdi
movl $0x20, %edx
callq 0x4230
jmp 0xbad7
leaq 0x128(%rsp), %rdi
leaq 0xf8(%rsp), %rsi
callq 0x4040
jmp 0xbaee
leaq 0xf8(%rsp), %rdi
callq 0x4618
jmp 0xbafd
leaq 0xf7(%rsp), %rdi
callq 0x4390
jmp 0xbb72
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x120(%rsp)
movl %eax, 0x11c(%rsp)
jmp 0xbf0f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x120(%rsp)
movl %eax, 0x11c(%rsp)
jmp 0xbb60
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x120(%rsp)
movl %eax, 0x11c(%rsp)
leaq 0xf8(%rsp), %rdi
callq 0x4618
jmp 0xbb5e
jmp 0xbb60
leaq 0xf7(%rsp), %rdi
callq 0x4390
jmp 0xbefe
movq $0x0, 0xe8(%rsp)
movq $0x0, 0xe0(%rsp)
movq $0x0, 0xd8(%rsp)
jmp 0xbb98
movb $0x0, 0xd7(%rsp)
movq 0x2e8(%rsp), %rdi
movq 0xe8(%rsp), %rdx
leaq 0x15fab(%rip), %rsi     # 0x21b62
callq 0x4190
movq %rax, 0x38(%rsp)
jmp 0xbbc3
movq 0x38(%rsp), %rax
movq %rax, 0xc8(%rsp)
cmpq $-0x1, 0xc8(%rsp)
jne 0xbbf9
jmp 0xbe2d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x120(%rsp)
movl %eax, 0x11c(%rsp)
jmp 0xbefe
movq 0x2e8(%rsp), %rdi
movq 0xc8(%rsp), %rsi
callq 0x43a0
movq %rax, 0x30(%rsp)
jmp 0xbc15
movq 0x30(%rsp), %rax
movsbl (%rax), %eax
cmpl $0xa, %eax
jne 0xbc3e
movq 0xc8(%rsp), %rax
addq $0x1, %rax
movq %rax, 0xe8(%rsp)
movb $0x1, 0xd7(%rsp)
cmpq $0x1, 0xd8(%rsp)
jne 0xbd0c
movq 0x2e0(%rsp), %rax
movq %rax, 0x20(%rsp)
leaq 0xa7(%rsp), %rdi
movq %rdi, 0x28(%rsp)
callq 0x4580
movq 0x20(%rsp), %rsi
movq 0x28(%rsp), %rcx
leaq 0xa8(%rsp), %rdi
movl $0x20, %edx
callq 0x4230
jmp 0xbc8a
leaq 0x128(%rsp), %rdi
leaq 0xa8(%rsp), %rsi
callq 0x4040
jmp 0xbca1
leaq 0xa8(%rsp), %rdi
callq 0x4618
jmp 0xbcb0
leaq 0xa7(%rsp), %rdi
callq 0x4390
jmp 0xbd0c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x120(%rsp)
movl %eax, 0x11c(%rsp)
jmp 0xbcfa
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x120(%rsp)
movl %eax, 0x11c(%rsp)
leaq 0xa8(%rsp), %rdi
callq 0x4618
jmp 0xbcf8
jmp 0xbcfa
leaq 0xa7(%rsp), %rdi
callq 0x4390
jmp 0xbefe
testb $0x1, 0xd7(%rsp)
jne 0xbd3f
movq 0xc8(%rsp), %rax
addq 0x2e0(%rsp), %rax
movq 0xe0(%rsp), %rcx
addq 0x2d8(%rsp), %rcx
cmpq %rcx, %rax
jbe 0xbe14
leaq 0x158(%rsp), %rdi
leaq 0x128(%rsp), %rsi
callq 0x42f0
movq %rax, 0x18(%rsp)
jmp 0xbd5b
movq 0x2e8(%rsp), %rsi
movq 0xe0(%rsp), %rdx
movq 0xe8(%rsp), %rax
movq %rdx, %rcx
notq %rcx
addq %rax, %rcx
leaq 0x80(%rsp), %rdi
callq 0x4360
jmp 0xbd8b
movq 0x18(%rsp), %rdi
leaq 0x80(%rsp), %rsi
callq 0x42f0
movq %rax, 0x10(%rsp)
jmp 0xbda4
movq 0x10(%rsp), %rdi
movq 0x211e0(%rip), %rsi     # 0x2cf90
callq 0x4380
jmp 0xbdb7
leaq 0x80(%rsp), %rdi
callq 0x4618
jmp 0xbdc6
movq 0xe8(%rsp), %rax
movq %rax, 0xe0(%rsp)
movq 0xd8(%rsp), %rax
addq $0x1, %rax
movq %rax, 0xd8(%rsp)
jmp 0xbe14
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x120(%rsp)
movl %eax, 0x11c(%rsp)
leaq 0x80(%rsp), %rdi
callq 0x4618
jmp 0xbe0f
jmp 0xbefe
movq 0xc8(%rsp), %rax
addq $0x1, %rax
movq %rax, 0xe8(%rsp)
jmp 0xbb96
leaq 0x158(%rsp), %rdi
leaq 0x128(%rsp), %rsi
callq 0x42f0
movq %rax, 0x8(%rsp)
jmp 0xbe49
movq 0x2e8(%rsp), %rsi
movq 0xe0(%rsp), %rdx
leaq 0x60(%rsp), %rdi
movq $-0x1, %rcx
callq 0x4360
jmp 0xbe6c
movq 0x8(%rsp), %rdi
leaq 0x60(%rsp), %rsi
callq 0x42f0
movq %rax, (%rsp)
jmp 0xbe81
movq (%rsp), %rdi
movq 0x21104(%rip), %rsi     # 0x2cf90
callq 0x4380
jmp 0xbe93
leaq 0x60(%rsp), %rdi
callq 0x4618
jmp 0xbe9f
movq 0x50(%rsp), %rdi
leaq 0x148(%rsp), %rsi
callq 0x4320
jmp 0xbeb3
leaq 0x128(%rsp), %rdi
callq 0x4618
jmp 0xbee4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x120(%rsp)
movl %eax, 0x11c(%rsp)
leaq 0x60(%rsp), %rdi
callq 0x4618
jmp 0xbee2
jmp 0xbefe
leaq 0x148(%rsp), %rdi
callq 0x4290
movq 0x58(%rsp), %rax
addq $0x2f8, %rsp            # imm = 0x2F8
retq
leaq 0x128(%rsp), %rdi
callq 0x4618
jmp 0xbf0d
jmp 0xbf0f
leaq 0x148(%rsp), %rdi
callq 0x4290
jmp 0xbf1e
jmp 0xbf20
movq 0x120(%rsp), %rdi
callq 0x4570
movq %rax, %rdi
callq 0xcc60
nopw %cs:(%rax,%rax)