// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonnuklear/src/./nuklear/nuklear.h
// Function: nk_do_button
NK_LIB nk_bool
nk_do_button(nk_flags *state, struct nk_command_buffer *out, struct nk_rect r,
    const struct nk_style_button *style, const struct nk_input *in,
    enum nk_button_behavior behavior, struct nk_rect *content)
{
    struct nk_rect bounds;
    NK_ASSERT(style);
    NK_ASSERT(state);
    NK_ASSERT(out);
    if (!out || !style)
        return nk_false;

    /* calculate button content space */
    content->x = r.x + style->padding.x + style->border + style->rounding;
    content->y = r.y + style->padding.y + style->border + style->rounding;
    content->w = r.w - (2 * (style->padding.x + style->border + style->rounding));
    content->h = r.h - (2 * (style->padding.y + style->border + style->rounding));

    /* execute button behavior */
    bounds.x = r.x - style->touch_padding.x;
    bounds.y = r.y - style->touch_padding.y;
    bounds.w = r.w + 2 * style->touch_padding.x;
    bounds.h = r.h + 2 * style->touch_padding.y;
    return nk_button_behavior(state, bounds, in, behavior);
}

// Assembly:
subq $0x58, %rsp
movlpd %xmm0, 0x44(%rsp)
movlpd %xmm1, 0x4c(%rsp)
movq %rdi, 0x38(%rsp)
movq %rsi, 0x30(%rsp)
movq %rdx, 0x28(%rsp)
movq %rcx, 0x20(%rsp)
movl %r8d, 0x1c(%rsp)
movq %r9, 0x10(%rsp)
cmpq $0x0, 0x28(%rsp)
jne 0x697d9
movq 0x5b843(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
leaq 0x47be9(%rip), %rsi     # 0xb13a0
leaq 0x47c00(%rip), %rdx     # 0xb13be
movl $0x5e53, %ecx           # imm = 0x5E53
movb $0x0, %al
callq 0x13ec0
movq 0x5b81f(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
callq 0x149a0
jmp 0x697db
jmp 0x697dd
cmpq $0x0, 0x38(%rsp)
jne 0x69818
movq 0x5b804(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
leaq 0x47baa(%rip), %rsi     # 0xb13a0
leaq 0x47bc1(%rip), %rdx     # 0xb13be
movl $0x5e54, %ecx           # imm = 0x5E54
movb $0x0, %al
callq 0x13ec0
movq 0x5b7e0(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
callq 0x149a0
jmp 0x6981a
jmp 0x6981c
cmpq $0x0, 0x30(%rsp)
jne 0x69857
movq 0x5b7c5(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
leaq 0x47b6b(%rip), %rsi     # 0xb13a0
leaq 0x47b82(%rip), %rdx     # 0xb13be
movl $0x5e55, %ecx           # imm = 0x5E55
movb $0x0, %al
callq 0x13ec0
movq 0x5b7a1(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
callq 0x149a0
jmp 0x69859
cmpq $0x0, 0x30(%rsp)
je 0x69869
cmpq $0x0, 0x28(%rsp)
jne 0x69876
movl $0x0, 0x54(%rsp)
jmp 0x699fe
movss 0x44(%rsp), %xmm0
movq 0x28(%rsp), %rax
movss 0xa0(%rax), %xmm1
addss %xmm1, %xmm0
movss 0x98(%rax), %xmm2
movss 0x9c(%rax), %xmm1
addss %xmm2, %xmm0
addss %xmm1, %xmm0
movq 0x10(%rsp), %rax
movss %xmm0, (%rax)
movss 0x48(%rsp), %xmm0
movq 0x28(%rsp), %rax
movss 0xa4(%rax), %xmm1
addss %xmm1, %xmm0
movss 0x98(%rax), %xmm2
movss 0x9c(%rax), %xmm1
addss %xmm2, %xmm0
addss %xmm1, %xmm0
movq 0x10(%rsp), %rax
movss %xmm0, 0x4(%rax)
movss 0x4c(%rsp), %xmm0
movq 0x28(%rsp), %rax
movss 0xa0(%rax), %xmm1
movss 0x98(%rax), %xmm3
movss 0x9c(%rax), %xmm2
addss %xmm3, %xmm1
addss %xmm2, %xmm1
addss %xmm1, %xmm1
subss %xmm1, %xmm0
movq 0x10(%rsp), %rax
movss %xmm0, 0x8(%rax)
movss 0x50(%rsp), %xmm0
movq 0x28(%rsp), %rax
movss 0xa4(%rax), %xmm1
movss 0x98(%rax), %xmm3
movss 0x9c(%rax), %xmm2
addss %xmm3, %xmm1
addss %xmm2, %xmm1
addss %xmm1, %xmm1
subss %xmm1, %xmm0
movq 0x10(%rsp), %rax
movss %xmm0, 0xc(%rax)
movss 0x44(%rsp), %xmm0
movq 0x28(%rsp), %rax
movss 0xb0(%rax), %xmm1
subss %xmm1, %xmm0
movss %xmm0, (%rsp)
movss 0x48(%rsp), %xmm0
movq 0x28(%rsp), %rax
movss 0xb4(%rax), %xmm1
subss %xmm1, %xmm0
movss %xmm0, 0x4(%rsp)
movss 0x4c(%rsp), %xmm1
movq 0x28(%rsp), %rax
movss 0xb0(%rax), %xmm0
addss %xmm0, %xmm0
addss %xmm1, %xmm0
movss %xmm0, 0x8(%rsp)
movss 0x50(%rsp), %xmm1
movq 0x28(%rsp), %rax
movss 0xb4(%rax), %xmm0
addss %xmm0, %xmm0
addss %xmm1, %xmm0
movss %xmm0, 0xc(%rsp)
movq 0x38(%rsp), %rdi
movq 0x20(%rsp), %rsi
movl 0x1c(%rsp), %edx
movsd (%rsp), %xmm0
movsd 0x8(%rsp), %xmm1
callq 0x78060
movl %eax, 0x54(%rsp)
movl 0x54(%rsp), %eax
addq $0x58, %rsp
retq
nopw (%rax,%rax)