// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonnuklear/src/./nuklear/nuklear.h
// Function: nk_widget_text_wrap
NK_LIB void
nk_widget_text_wrap(struct nk_command_buffer *o, struct nk_rect b,
    const char *string, int len, const struct nk_text *t,
    const struct nk_user_font *f)
{
    float width;
    int glyphs = 0;
    int fitting = 0;
    int done = 0;
    struct nk_rect line;
    struct nk_text text;
    NK_INTERN nk_rune seperator[] = {' '};

    NK_ASSERT(o);
    NK_ASSERT(t);
    if (!o || !t) return;

    text.padding = nk_vec2(0,0);
    text.background = t->background;
    text.text = t->text;

    b.w = NK_MAX(b.w, 2 * t->padding.x);
    b.h = NK_MAX(b.h, 2 * t->padding.y);
    b.h = b.h - 2 * t->padding.y;

    line.x = b.x + t->padding.x;
    line.y = b.y + t->padding.y;
    line.w = b.w - 2 * t->padding.x;
    line.h = 2 * t->padding.y + f->height;

    fitting = nk_text_clamp(f, string, len, line.w, &glyphs, &width, seperator,NK_LEN(seperator));
    while (done < len) {
        if (!fitting || line.y + line.h >= (b.y + b.h)) break;
        nk_widget_text(o, line, &string[done], fitting, &text, NK_TEXT_LEFT, f);
        done += fitting;
        line.y += f->height + 2 * t->padding.y;
        fitting = nk_text_clamp(f, &string[done], len - done, line.w, &glyphs, &width, seperator,NK_LEN(seperator));
    }
}

// Assembly:
subq $0x88, %rsp
movlpd %xmm0, 0x78(%rsp)
movlpd %xmm1, 0x80(%rsp)
movq %rdi, 0x70(%rsp)
movq %rsi, 0x68(%rsp)
movl %edx, 0x64(%rsp)
movq %rcx, 0x58(%rsp)
movq %r8, 0x50(%rsp)
movl $0x0, 0x48(%rsp)
movl $0x0, 0x44(%rsp)
movl $0x0, 0x40(%rsp)
cmpq $0x0, 0x70(%rsp)
jne 0x67321
movq 0x5dcfb(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
leaq 0x4a0a1(%rip), %rsi     # 0xb13a0
leaq 0x4a0b8(%rip), %rdx     # 0xb13be
movl $0x5c01, %ecx           # imm = 0x5C01
movb $0x0, %al
callq 0x13ec0
movq 0x5dcd7(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
callq 0x149a0
jmp 0x67323
jmp 0x67325
cmpq $0x0, 0x58(%rsp)
jne 0x67360
movq 0x5dcbc(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
leaq 0x4a062(%rip), %rsi     # 0xb13a0
leaq 0x4a079(%rip), %rdx     # 0xb13be
movl $0x5c02, %ecx           # imm = 0x5C02
movb $0x0, %al
callq 0x13ec0
movq 0x5dc98(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
callq 0x149a0
jmp 0x67362
cmpq $0x0, 0x70(%rsp)
je 0x67372
cmpq $0x0, 0x58(%rsp)
jne 0x67377
jmp 0x67609
xorps %xmm1, %xmm1
movaps %xmm1, %xmm0
callq 0x13460
movlpd %xmm0, 0x18(%rsp)
movq 0x18(%rsp), %rax
movq %rax, 0x20(%rsp)
movq 0x58(%rsp), %rax
movl 0x8(%rax), %eax
movl %eax, 0x28(%rsp)
movq 0x58(%rsp), %rax
movl 0xc(%rax), %eax
movl %eax, 0x2c(%rsp)
movss 0x80(%rsp), %xmm1
movq 0x58(%rsp), %rax
movss 0x46124(%rip), %xmm0    # 0xad4e4
mulss (%rax), %xmm0
ucomiss %xmm1, %xmm0
jbe 0x673e2
movq 0x58(%rsp), %rax
movss 0x4610e(%rip), %xmm0    # 0xad4e4
mulss (%rax), %xmm0
movss %xmm0, 0x14(%rsp)
jmp 0x673f1
movss 0x80(%rsp), %xmm0
movss %xmm0, 0x14(%rsp)
movss 0x14(%rsp), %xmm0
movss %xmm0, 0x80(%rsp)
movss 0x84(%rsp), %xmm1
movq 0x58(%rsp), %rax
movss 0x460ce(%rip), %xmm0    # 0xad4e4
mulss 0x4(%rax), %xmm0
ucomiss %xmm1, %xmm0
jbe 0x6743a
movq 0x58(%rsp), %rax
movss 0x460b7(%rip), %xmm0    # 0xad4e4
mulss 0x4(%rax), %xmm0
movss %xmm0, 0x10(%rsp)
jmp 0x67449
movss 0x84(%rsp), %xmm0
movss %xmm0, 0x10(%rsp)
movss 0x10(%rsp), %xmm0
movss %xmm0, 0x84(%rsp)
movss 0x84(%rsp), %xmm0
movq 0x58(%rsp), %rax
movss 0x4(%rax), %xmm1
addss %xmm1, %xmm1
subss %xmm1, %xmm0
movss %xmm0, 0x84(%rsp)
movss 0x78(%rsp), %xmm0
movq 0x58(%rsp), %rax
addss (%rax), %xmm0
movss %xmm0, 0x30(%rsp)
movss 0x7c(%rsp), %xmm0
movq 0x58(%rsp), %rax
addss 0x4(%rax), %xmm0
movss %xmm0, 0x34(%rsp)
movss 0x80(%rsp), %xmm0
movq 0x58(%rsp), %rax
movss (%rax), %xmm1
addss %xmm1, %xmm1
subss %xmm1, %xmm0
movss %xmm0, 0x38(%rsp)
movq 0x58(%rsp), %rax
movss 0x4(%rax), %xmm0
movq 0x50(%rsp), %rax
movss 0x8(%rax), %xmm1
addss %xmm0, %xmm0
addss %xmm1, %xmm0
movss %xmm0, 0x3c(%rsp)
movq 0x50(%rsp), %rdi
movq 0x68(%rsp), %rsi
movl 0x64(%rsp), %edx
movss 0x38(%rsp), %xmm0
leaq 0x48(%rsp), %rcx
leaq 0x4c(%rsp), %r8
leaq 0x5ee52(%rip), %r9      # 0xc6360
movl $0x1, (%rsp)
callq 0x34a20
movl %eax, 0x44(%rsp)
movl 0x40(%rsp), %eax
cmpl 0x64(%rsp), %eax
jge 0x67609
cmpl $0x0, 0x44(%rsp)
je 0x67553
movss 0x34(%rsp), %xmm0
addss 0x3c(%rsp), %xmm0
movss 0x7c(%rsp), %xmm1
addss 0x84(%rsp), %xmm1
ucomiss %xmm1, %xmm0
jb 0x67558
jmp 0x67609
movq 0x70(%rsp), %rdi
movq 0x68(%rsp), %rsi
movslq 0x40(%rsp), %rax
addq %rax, %rsi
movl 0x44(%rsp), %edx
movq 0x50(%rsp), %r9
movsd 0x30(%rsp), %xmm0
movsd 0x38(%rsp), %xmm1
leaq 0x20(%rsp), %rcx
movl $0x11, %r8d
callq 0x66ac0
movl 0x44(%rsp), %eax
addl 0x40(%rsp), %eax
movl %eax, 0x40(%rsp)
movq 0x50(%rsp), %rax
movss 0x8(%rax), %xmm1
movq 0x58(%rsp), %rax
movss 0x4(%rax), %xmm0
addss %xmm0, %xmm0
addss %xmm1, %xmm0
addss 0x34(%rsp), %xmm0
movss %xmm0, 0x34(%rsp)
movq 0x50(%rsp), %rdi
movq 0x68(%rsp), %rsi
movslq 0x40(%rsp), %rax
addq %rax, %rsi
movl 0x64(%rsp), %edx
subl 0x40(%rsp), %edx
movss 0x38(%rsp), %xmm0
leaq 0x48(%rsp), %rcx
leaq 0x4c(%rsp), %r8
leaq 0x5ed6c(%rip), %r9      # 0xc6360
movl $0x1, (%rsp)
callq 0x34a20
movl %eax, 0x44(%rsp)
jmp 0x6751e
addq $0x88, %rsp
retq
nopw %cs:(%rax,%rax)