// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonnuklear/src/./nuklear/nuklear.h
// Function: nk_selectable_text
NK_API nk_bool
nk_selectable_text(struct nk_context *ctx, const char *str, int len,
    nk_flags align, nk_bool *value)
{
    struct nk_window *win;
    struct nk_panel *layout;
    const struct nk_input *in;
    const struct nk_style *style;

    enum nk_widget_layout_states state;
    struct nk_rect bounds;

    NK_ASSERT(ctx);
    NK_ASSERT(value);
    NK_ASSERT(ctx->current);
    NK_ASSERT(ctx->current->layout);
    if (!ctx || !ctx->current || !ctx->current->layout || !value)
        return 0;

    win = ctx->current;
    layout = win->layout;
    style = &ctx->style;

    state = nk_widget(&bounds, ctx);
    if (!state) return 0;
    in = (state == NK_WIDGET_ROM || state == NK_WIDGET_DISABLED || layout->flags & NK_WINDOW_ROM) ? 0 : &ctx->input;
    return nk_do_selectable(&ctx->last_widget_state, &win->buffer, bounds,
                str, len, align, value, &style->selectable, in, style->font);
}

// Assembly:
pushq %rbx
subq $0x80, %rsp
movq %rdi, 0x70(%rsp)
movq %rsi, 0x68(%rsp)
movl %edx, 0x64(%rsp)
movl %ecx, 0x60(%rsp)
movq %r8, 0x58(%rsp)
cmpq $0x0, 0x70(%rsp)
jne 0x6c6ba
movq 0x58962(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
leaq 0x44d08(%rip), %rsi     # 0xb13a0
leaq 0x44d1f(%rip), %rdx     # 0xb13be
movl $0x630d, %ecx           # imm = 0x630D
movb $0x0, %al
callq 0x13ec0
movq 0x5893e(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
callq 0x149a0
jmp 0x6c6bc
jmp 0x6c6be
cmpq $0x0, 0x58(%rsp)
jne 0x6c6f9
movq 0x58923(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
leaq 0x44cc9(%rip), %rsi     # 0xb13a0
leaq 0x44ce0(%rip), %rdx     # 0xb13be
movl $0x630e, %ecx           # imm = 0x630E
movb $0x0, %al
callq 0x13ec0
movq 0x588ff(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
callq 0x149a0
jmp 0x6c6fb
jmp 0x6c6fd
movq 0x70(%rsp), %rax
cmpq $0x0, 0x4780(%rax)
jne 0x6c73f
movq 0x588dd(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
leaq 0x44c83(%rip), %rsi     # 0xb13a0
leaq 0x44c9a(%rip), %rdx     # 0xb13be
movl $0x630f, %ecx           # imm = 0x630F
movb $0x0, %al
callq 0x13ec0
movq 0x588b9(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
callq 0x149a0
jmp 0x6c741
jmp 0x6c743
movq 0x70(%rsp), %rax
movq 0x4780(%rax), %rax
cmpq $0x0, 0xa8(%rax)
jne 0x6c78c
movq 0x58890(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
leaq 0x44c36(%rip), %rsi     # 0xb13a0
leaq 0x44c4d(%rip), %rdx     # 0xb13be
movl $0x6310, %ecx           # imm = 0x6310
movb $0x0, %al
callq 0x13ec0
movq 0x5886c(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
callq 0x149a0
jmp 0x6c78e
cmpq $0x0, 0x70(%rsp)
je 0x6c7c3
movq 0x70(%rsp), %rax
cmpq $0x0, 0x4780(%rax)
je 0x6c7c3
movq 0x70(%rsp), %rax
movq 0x4780(%rax), %rax
cmpq $0x0, 0xa8(%rax)
je 0x6c7c3
cmpq $0x0, 0x58(%rsp)
jne 0x6c7d0
movl $0x0, 0x7c(%rsp)
jmp 0x6c8c8
movq 0x70(%rsp), %rax
movq 0x4780(%rax), %rax
movq %rax, 0x50(%rsp)
movq 0x50(%rsp), %rax
movq 0xa8(%rax), %rax
movq %rax, 0x48(%rsp)
movq 0x70(%rsp), %rax
addq $0x168, %rax            # imm = 0x168
movq %rax, 0x38(%rsp)
movq 0x70(%rsp), %rsi
leaq 0x24(%rsp), %rdi
callq 0x139c0
movl %eax, 0x34(%rsp)
cmpl $0x0, 0x34(%rsp)
jne 0x6c829
movl $0x0, 0x7c(%rsp)
jmp 0x6c8c8
cmpl $0x2, 0x34(%rsp)
je 0x6c849
cmpl $0x3, 0x34(%rsp)
je 0x6c849
movq 0x48(%rsp), %rax
movl 0x4(%rax), %eax
andl $0x1000, %eax           # imm = 0x1000
cmpl $0x0, %eax
je 0x6c852
xorl %eax, %eax
movq %rax, 0x18(%rsp)
jmp 0x6c85c
movq 0x70(%rsp), %rax
movq %rax, 0x18(%rsp)
movq 0x18(%rsp), %rax
movq %rax, 0x40(%rsp)
movq 0x70(%rsp), %rdi
addq $0x2598, %rdi           # imm = 0x2598
movq 0x50(%rsp), %rsi
addq $0x68, %rsi
movq 0x68(%rsp), %rdx
movl 0x64(%rsp), %ecx
movl 0x60(%rsp), %r8d
movq 0x58(%rsp), %r9
movq 0x38(%rsp), %rax
movq %rax, %r10
addq $0x530, %r10            # imm = 0x530
movq 0x40(%rsp), %r11
movq (%rax), %rbx
movsd 0x24(%rsp), %xmm0
movsd 0x2c(%rsp), %xmm1
movq %rsp, %rax
movq %rbx, 0x10(%rax)
movq %r11, 0x8(%rax)
movq %r10, (%rax)
callq 0x6c8e0
movl %eax, 0x7c(%rsp)
movl 0x7c(%rsp), %eax
addq $0x80, %rsp
popq %rbx
retq
nopw %cs:(%rax,%rax)