// File: /workspace/github_c_makefile_star2_O1/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 0x474ae
movq 0x40b67(%rip), %r14     # 0x87ff0
movq (%r14), %rdi
leaq 0x2a8f9(%rip), %rsi     # 0x71d8c
leaq 0x2a910(%rip), %rdx     # 0x71daa
movl $0x5fce, %ecx           # imm = 0x5FCE
xorl %eax, %eax
callq 0x12d80
movq (%r14), %rdi
callq 0x13780
cmpq $0x0, 0x4780(%rbx)
jne 0x474e4
movq 0x40b31(%rip), %r14     # 0x87ff0
movq (%r14), %rdi
leaq 0x2a8c3(%rip), %rsi     # 0x71d8c
leaq 0x2a8da(%rip), %rdx     # 0x71daa
movl $0x5fcf, %ecx           # imm = 0x5FCF
xorl %eax, %eax
callq 0x12d80
movq (%r14), %rdi
callq 0x13780
movq 0x4780(%rbx), %rax
cmpq $0x0, 0xa8(%rax)
jne 0x47521
movq 0x40af4(%rip), %r14     # 0x87ff0
movq (%r14), %rdi
leaq 0x2a886(%rip), %rsi     # 0x71d8c
leaq 0x2a89d(%rip), %rdx     # 0x71daa
movl $0x5fd0, %ecx           # imm = 0x5FD0
xorl %eax, %eax
callq 0x12d80
movq (%r14), %rdi
callq 0x13780
xorl %r15d, %r15d
testq %rbx, %rbx
je 0x47605
movq 0x4780(%rbx), %r14
testq %r14, %r14
je 0x47605
movq 0xa8(%r14), %r12
testq %r12, %r12
je 0x47605
movq %rsp, %rdi
movq %rbx, %rsi
callq 0x128e0
movl %eax, %r15d
testl %eax, %eax
je 0x47605
cmpl $0x1, %r15d
jne 0x47578
xorl %r15d, %r15d
testb $0x10, 0x5(%r12)
cmoveq %rbx, %r15
jmp 0x4757b
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 0x521be
movl %eax, %r15d
movl 0x2598(%rbx), %edx
movq %r14, %rdi
movq %r13, %rsi
movq %r12, %rcx
callq 0x47779
movl %r15d, %eax
addq $0xe8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq