// File: /workspace/github_c_makefile_star2_O3/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 $0xe8, %rsp
movl %esi, %ebp
movq %rdi, %rbx
testq %rdi, %rdi
jne 0x468ca
movq 0x4074b(%rip), %r14     # 0x86ff0
movq (%r14), %rdi
leaq 0x2a4ed(%rip), %rsi     # 0x70d9c
leaq 0x2a504(%rip), %rdx     # 0x70dba
movl $0x5fce, %ecx           # imm = 0x5FCE
xorl %eax, %eax
callq 0x12d80
movq (%r14), %rdi
callq 0x13780
movq 0x4780(%rbx), %r14
testq %r14, %r14
jne 0x46909
movq 0x40713(%rip), %r14     # 0x86ff0
movq (%r14), %rdi
leaq 0x2a4b5(%rip), %rsi     # 0x70d9c
leaq 0x2a4cc(%rip), %rdx     # 0x70dba
movl $0x5fcf, %ecx           # imm = 0x5FCF
xorl %eax, %eax
callq 0x12d80
movq (%r14), %rdi
callq 0x13780
movq 0x4780(%rbx), %r14
cmpq $0x0, 0xa8(%r14)
jne 0x46952
movq 0x406d6(%rip), %r14     # 0x86ff0
movq (%r14), %rdi
leaq 0x2a478(%rip), %rsi     # 0x70d9c
leaq 0x2a48f(%rip), %rdx     # 0x70dba
xorl %r15d, %r15d
movl $0x5fd0, %ecx           # imm = 0x5FD0
xorl %eax, %eax
callq 0x12d80
movq (%r14), %rdi
callq 0x13780
movq 0x4780(%rbx), %r14
testq %r14, %r14
je 0x46a1e
movq 0xa8(%r14), %r12
testq %r12, %r12
je 0x46989
movq %rsp, %rdi
movq %rbx, %rsi
callq 0x128e0
movl %eax, %r15d
testl %eax, %eax
je 0x46a1e
cmpl $0x1, %r15d
jne 0x46991
xorl %r15d, %r15d
testb $0x10, 0x5(%r12)
cmoveq %rbx, %r15
jmp 0x46994
xorl %r15d, %r15d
jmp 0x46a1e
xorl %r15d, %r15d
leaq 0x1d0(%rbx), %rsi
leaq 0x10(%rsp), %r12
movl $0xd8, %edx
movq %r12, %rdi
callq 0x13010
xorl %eax, %eax
movl %eax, (%r12)
movl %ebp, 0x8(%r12)
movl %eax, 0x28(%r12)
movl %ebp, 0x30(%r12)
movl %eax, 0x50(%r12)
movl %ebp, 0x58(%r12)
leaq 0x2598(%rbx), %rdi
addq $0x68, %r14
movl 0x259c(%rbx), %edx
movq %rsp, %r13
movsd (%r13), %xmm0
movsd 0x8(%r13), %xmm2
movsd 0xb0(%r12), %xmm1
subps %xmm1, %xmm0
addps %xmm1, %xmm1
addps %xmm2, %xmm1
movq %r15, %rsi
callq 0x5160c
movl %eax, %r15d
movl 0x2598(%rbx), %edx
movq %r14, %rdi
movq %r13, %rsi
movq %r12, %rcx
callq 0x46b8f
movl %r15d, %eax
addq $0xe8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq