// File: /workspace/github_c_makefile_star2_O0/space222[P]silo/./nuklear.h
// Function: nk_draw_property(nk_command_buffer*, nk_style_property const*, nk_rect const*, nk_rect const*, unsigned int, char const*, int, nk_user_font const*)
NK_LIB void
nk_draw_property(struct nk_command_buffer *out, const struct nk_style_property *style,
    const struct nk_rect *bounds, const struct nk_rect *label, nk_flags state,
    const char *name, int len, const struct nk_user_font *font)
{
    struct nk_text text;
    const struct nk_style_item *background;

    /* select correct background and text color */
    if (state & NK_WIDGET_STATE_ACTIVED) {
        background = &style->active;
        text.text = style->label_active;
    } else if (state & NK_WIDGET_STATE_HOVER) {
        background = &style->hover;
        text.text = style->label_hover;
    } else {
        background = &style->normal;
        text.text = style->label_normal;
    }

    /* draw background */
    if (background->type == NK_STYLE_ITEM_IMAGE) {
        nk_draw_image(out, *bounds, &background->data.image, nk_white);
        text.background = nk_rgba(0,0,0,0);
    } else {
        text.background = background->data.color;
        nk_fill_rect(out, *bounds, style->rounding, background->data.color);
        nk_stroke_rect(out, *bounds, style->rounding, style->border, background->data.color);
    }

    /* draw label */
    text.padding = nk_vec2(0,0);
    nk_widget_text(out, *label, name, len, &text, NK_TEXT_CENTERED, font);
}

// Assembly:
subq $0xb8, %rsp
movq 0xc8(%rsp), %rax
movl 0xc0(%rsp), %eax
movq %rdi, 0xb0(%rsp)
movq %rsi, 0xa8(%rsp)
movq %rdx, 0xa0(%rsp)
movq %rcx, 0x98(%rsp)
movl %r8d, 0x94(%rsp)
movq %r9, 0x88(%rsp)
movl 0x94(%rsp), %eax
andl $0x20, %eax
cmpl $0x0, %eax
je 0x4296a
movq 0xa8(%rsp), %rax
addq $0x40, %rax
movq %rax, 0x70(%rsp)
movq 0xa8(%rsp), %rax
movl 0x6c(%rax), %eax
movl %eax, 0x84(%rsp)
jmp 0x429bf
movl 0x94(%rsp), %eax
andl $0x10, %eax
cmpl $0x0, %eax
je 0x4299e
movq 0xa8(%rsp), %rax
addq $0x20, %rax
movq %rax, 0x70(%rsp)
movq 0xa8(%rsp), %rax
movl 0x68(%rax), %eax
movl %eax, 0x84(%rsp)
jmp 0x429bd
movq 0xa8(%rsp), %rax
movq %rax, 0x70(%rsp)
movq 0xa8(%rsp), %rax
movl 0x64(%rax), %eax
movl %eax, 0x84(%rsp)
jmp 0x429bf
movq 0x70(%rsp), %rax
cmpl $0x1, (%rax)
jne 0x42a28
movq 0xb0(%rsp), %rdi
movq 0xa0(%rsp), %rax
movups (%rax), %xmm0
movaps %xmm0, 0x60(%rsp)
movq 0x70(%rsp), %rsi
addq $0x8, %rsi
movl $0xffffffff, 0x5c(%rsp) # imm = 0xFFFFFFFF
movsd 0x60(%rsp), %xmm0
movsd 0x68(%rsp), %xmm1
movl 0x5c(%rsp), %edx
callq 0xc3c0
xorl %ecx, %ecx
movl %ecx, %edi
movl %ecx, %esi
movl %ecx, %edx
callq 0x57b0
movl %eax, 0x58(%rsp)
movl 0x58(%rsp), %eax
movl %eax, 0x80(%rsp)
jmp 0x42ac8
movq 0x70(%rsp), %rax
movl 0x8(%rax), %eax
movl %eax, 0x80(%rsp)
movq 0xb0(%rsp), %rdi
movq 0xa0(%rsp), %rax
movups (%rax), %xmm0
movaps %xmm0, 0x40(%rsp)
movq 0xa8(%rsp), %rax
movss 0x7c(%rax), %xmm2
movq 0x70(%rsp), %rax
movl 0x8(%rax), %eax
movl %eax, 0x3c(%rsp)
movsd 0x40(%rsp), %xmm0
movsd 0x48(%rsp), %xmm1
movl 0x3c(%rsp), %esi
callq 0xb130
movq 0xb0(%rsp), %rdi
movq 0xa0(%rsp), %rax
movups (%rax), %xmm0
movaps %xmm0, 0x20(%rsp)
movq 0xa8(%rsp), %rax
movss 0x78(%rax), %xmm3
movss 0x7c(%rax), %xmm2
movq 0x70(%rsp), %rax
movl 0x8(%rax), %eax
movl %eax, 0x1c(%rsp)
movsd 0x20(%rsp), %xmm0
movsd 0x28(%rsp), %xmm1
movl 0x1c(%rsp), %esi
callq 0xaf00
xorps %xmm1, %xmm1
movaps %xmm1, %xmm0
callq 0x41b0
movlpd %xmm0, 0x14(%rsp)
movq 0x14(%rsp), %rax
movq %rax, 0x78(%rsp)
movq 0xb0(%rsp), %rdi
movq 0x98(%rsp), %rax
movups (%rax), %xmm0
movaps %xmm0, (%rsp)
movq 0x88(%rsp), %rsi
movl 0xc0(%rsp), %edx
movq 0xc8(%rsp), %r9
movsd (%rsp), %xmm0
movsd 0x8(%rsp), %xmm1
leaq 0x78(%rsp), %rcx
movl $0x12, %r8d
callq 0x24820
addq $0xb8, %rsp
retq
nopw %cs:(%rax,%rax)