// File: /workspace/github_c_makefile_star2_O2/stetre[P]moonnuklear/src/./nuklear/nuklear.h
// Function: nk_button_color
NK_API nk_bool
nk_button_color(struct nk_context *ctx, struct nk_color color)
{
    struct nk_window *win;
    struct nk_panel *layout;
    const struct nk_input *in;
    struct nk_style_button button;

    int ret = 0;
    struct nk_rect bounds;
    struct nk_rect content;
    enum nk_widget_layout_states state;

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

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

    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;

    button = ctx->style.button;
    button.normal = nk_style_item_color(color);
    button.hover = nk_style_item_color(color);
    button.active = nk_style_item_color(color);
    ret = nk_do_button(&ctx->last_widget_state, &win->buffer, bounds,
                &button, in, ctx->button_behavior, &content);
    nk_draw_button(&win->buffer, &bounds, ctx->last_widget_state, &button);
    return ret;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0xf8, %rsp
movl %esi, %ebp
movq %rdi, %rbx
testq %rdi, %rdi
jne 0x42ea3
movq 0x42172(%rip), %r14     # 0x84ff0
movq (%r14), %rdi
leaq 0x26e84(%rip), %rsi     # 0x69d0c
leaq 0x26e9b(%rip), %rdx     # 0x69d2a
movl $0x5fce, %ecx           # imm = 0x5FCE
xorl %eax, %eax
callq 0x12ea0
movq (%r14), %rdi
callq 0x13960
movq 0x4780(%rbx), %r14
testq %r14, %r14
jne 0x42ee2
movq 0x4213a(%rip), %r14     # 0x84ff0
movq (%r14), %rdi
leaq 0x26e4c(%rip), %rsi     # 0x69d0c
leaq 0x26e63(%rip), %rdx     # 0x69d2a
movl $0x5fcf, %ecx           # imm = 0x5FCF
xorl %eax, %eax
callq 0x12ea0
movq (%r14), %rdi
callq 0x13960
movq 0x4780(%rbx), %r14
cmpq $0x0, 0xa8(%r14)
jne 0x42f2b
movq 0x420fd(%rip), %r14     # 0x84ff0
movq (%r14), %rdi
leaq 0x26e0f(%rip), %rsi     # 0x69d0c
leaq 0x26e26(%rip), %rdx     # 0x69d2a
xorl %r15d, %r15d
movl $0x5fd0, %ecx           # imm = 0x5FD0
xorl %eax, %eax
callq 0x12ea0
movq (%r14), %rdi
callq 0x13960
movq 0x4780(%rbx), %r14
testq %r14, %r14
je 0x42ff1
movq 0xa8(%r14), %r12
testq %r12, %r12
je 0x42f62
movq %rsp, %rdi
movq %rbx, %rsi
callq 0x12990
movl %eax, %r15d
testl %eax, %eax
je 0x42ff1
cmpl $0x1, %r15d
jne 0x42f6a
xorl %r15d, %r15d
testb $0x10, 0x5(%r12)
cmoveq %rbx, %r15
jmp 0x42f6d
xorl %r15d, %r15d
jmp 0x42ff1
xorl %r15d, %r15d
leaq 0x1d0(%rbx), %rsi
leaq 0x20(%rsp), %r12
movl $0xd8, %edx
movq %r12, %rdi
callq 0x13150
andl $0x0, (%r12)
movl %ebp, 0x8(%r12)
andl $0x0, 0x28(%r12)
movl %ebp, 0x30(%r12)
andl $0x0, 0x50(%r12)
movl %ebp, 0x58(%r12)
leaq 0x2598(%rbx), %rdi
addq $0x68, %r14
movl 0x259c(%rbx), %r8d
movq %rsp, %r13
movsd (%r13), %xmm0
movsd 0x8(%r13), %xmm1
leaq 0x10(%rsp), %r9
movq %r14, %rsi
movq %r12, %rdx
movq %r15, %rcx
callq 0x43006
movl %eax, %r15d
movl 0x2598(%rbx), %edx
movq %r14, %rdi
movq %r13, %rsi
movq %r12, %rcx
callq 0x43162
movl %r15d, %eax
addq $0xf8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq