// File: /workspace/github_c_makefile_star2_O0/space222[P]silo/./nuklear.h
// Function: nk_selectable_text
NK_API int
nk_selectable_text(struct nk_context *ctx, const char *str, int len,
    nk_flags align, int *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 || 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 $0x90, %rsp
movq %rdi, 0x80(%rsp)
movq %rsi, 0x78(%rsp)
movl %edx, 0x74(%rsp)
movl %ecx, 0x70(%rsp)
movq %r8, 0x68(%rsp)
cmpq $0x0, 0x80(%rsp)
je 0x2868f
jmp 0x286ae
leaq 0x1fe89(%rip), %rdi     # 0x4851f
leaq 0x1cd16(%rip), %rsi     # 0x453b3
movl $0x5180, %edx           # imm = 0x5180
leaq 0x20a2f(%rip), %rcx     # 0x490d8
callq 0x20a0
cmpq $0x0, 0x68(%rsp)
je 0x286b8
jmp 0x286d7
leaq 0x20a69(%rip), %rdi     # 0x49128
leaq 0x1cced(%rip), %rsi     # 0x453b3
movl $0x5181, %edx           # imm = 0x5181
leaq 0x20a06(%rip), %rcx     # 0x490d8
callq 0x20a0
movq 0x80(%rsp), %rax
cmpq $0x0, 0x3fe8(%rax)
je 0x286eb
jmp 0x2870a
leaq 0x1e807(%rip), %rdi     # 0x46ef9
leaq 0x1ccba(%rip), %rsi     # 0x453b3
movl $0x5182, %edx           # imm = 0x5182
leaq 0x209d3(%rip), %rcx     # 0x490d8
callq 0x20a0
movq 0x80(%rsp), %rax
movq 0x3fe8(%rax), %rax
cmpq $0x0, 0xa8(%rax)
je 0x28725
jmp 0x28744
leaq 0x1e949(%rip), %rdi     # 0x47075
leaq 0x1cc80(%rip), %rsi     # 0x453b3
movl $0x5183, %edx           # imm = 0x5183
leaq 0x20999(%rip), %rcx     # 0x490d8
callq 0x20a0
cmpq $0x0, 0x80(%rsp)
je 0x28782
movq 0x80(%rsp), %rax
cmpq $0x0, 0x3fe8(%rax)
je 0x28782
movq 0x80(%rsp), %rax
movq 0x3fe8(%rax), %rax
cmpq $0x0, 0xa8(%rax)
je 0x28782
cmpq $0x0, 0x68(%rsp)
jne 0x28792
movl $0x0, 0x8c(%rsp)
jmp 0x288a2
movq 0x80(%rsp), %rax
movq 0x3fe8(%rax), %rax
movq %rax, 0x60(%rsp)
movq 0x60(%rsp), %rax
movq 0xa8(%rax), %rax
movq %rax, 0x58(%rsp)
movq 0x80(%rsp), %rax
addq $0x168, %rax            # imm = 0x168
movq %rax, 0x48(%rsp)
movq 0x80(%rsp), %rsi
leaq 0x34(%rsp), %rdi
callq 0x1cd90
movl %eax, 0x44(%rsp)
cmpl $0x0, 0x44(%rsp)
jne 0x287f7
movl $0x0, 0x8c(%rsp)
jmp 0x288a2
cmpl $0x2, 0x44(%rsp)
je 0x28810
movq 0x58(%rsp), %rax
movl 0x4(%rax), %eax
andl $0x1000, %eax           # imm = 0x1000
cmpl $0x0, %eax
je 0x28819
xorl %eax, %eax
movq %rax, 0x18(%rsp)
jmp 0x28826
movq 0x80(%rsp), %rax
movq %rax, 0x18(%rsp)
movq 0x18(%rsp), %rax
movq %rax, 0x50(%rsp)
movq 0x80(%rsp), %rdi
addq $0x1f70, %rdi           # imm = 0x1F70
movq 0x60(%rsp), %rsi
addq $0x68, %rsi
movups 0x34(%rsp), %xmm0
movaps %xmm0, 0x20(%rsp)
movq 0x78(%rsp), %rdx
movl 0x74(%rsp), %ecx
movl 0x70(%rsp), %r8d
movq 0x68(%rsp), %r9
movq 0x48(%rsp), %rax
movq %rax, %r10
addq $0x450, %r10            # imm = 0x450
movq 0x50(%rsp), %r11
movq (%rax), %rbx
movsd 0x20(%rsp), %xmm0
movsd 0x28(%rsp), %xmm1
movq %rsp, %rax
movq %rbx, 0x10(%rax)
movq %r11, 0x8(%rax)
movq %r10, (%rax)
callq 0x288c0
movl %eax, 0x8c(%rsp)
movl 0x8c(%rsp), %eax
addq $0x90, %rsp
popq %rbx
retq
nopw %cs:(%rax,%rax)