// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonnuklear/src/./nuklear/nuklear.h
// Function: nk_draw_property
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;
    }

    text.text = nk_rgb_factor(text.text, style->color_factor);

    /* draw background */
    switch(background->type) {
        case NK_STYLE_ITEM_IMAGE:
            text.background = nk_rgba(0, 0, 0, 0);
            nk_draw_image(out, *bounds, &background->data.image, nk_rgb_factor(nk_white, style->color_factor));
            break;
        case NK_STYLE_ITEM_NINE_SLICE:
            text.background = nk_rgba(0, 0, 0, 0);
            nk_draw_nine_slice(out, *bounds, &background->data.slice, nk_rgb_factor(nk_white, style->color_factor));
            break;
        case NK_STYLE_ITEM_COLOR:
            text.background = background->data.color;
            nk_fill_rect(out, *bounds, style->rounding, nk_rgb_factor(background->data.color, style->color_factor));
            nk_stroke_rect(out, *bounds, style->rounding, style->border, nk_rgb_factor(background->data.color, style->color_factor));
            break;
    }

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

// Assembly:
subq $0xd8, %rsp
movq 0xe8(%rsp), %rax
movl 0xe0(%rsp), %eax
movq %rdi, 0xd0(%rsp)
movq %rsi, 0xc8(%rsp)
movq %rdx, 0xc0(%rsp)
movq %rcx, 0xb8(%rsp)
movl %r8d, 0xb4(%rsp)
movq %r9, 0xa8(%rsp)
movl 0xb4(%rsp), %eax
andl $0x20, %eax
cmpl $0x0, %eax
je 0x90320
movq 0xc8(%rsp), %rax
addq $0x50, %rax
movq %rax, 0x90(%rsp)
movq 0xc8(%rsp), %rax
movl 0x84(%rax), %eax
movl %eax, 0xa4(%rsp)
jmp 0x9037e
movl 0xb4(%rsp), %eax
andl $0x10, %eax
cmpl $0x0, %eax
je 0x9035a
movq 0xc8(%rsp), %rax
addq $0x28, %rax
movq %rax, 0x90(%rsp)
movq 0xc8(%rsp), %rax
movl 0x80(%rax), %eax
movl %eax, 0xa4(%rsp)
jmp 0x9037c
movq 0xc8(%rsp), %rax
movq %rax, 0x90(%rsp)
movq 0xc8(%rsp), %rax
movl 0x7c(%rax), %eax
movl %eax, 0xa4(%rsp)
jmp 0x9037e
movq 0xc8(%rsp), %rax
movss 0xa0(%rax), %xmm0
movl 0xa4(%rsp), %edi
callq 0x15100
movl %eax, 0x8c(%rsp)
movl 0x8c(%rsp), %eax
movl %eax, 0xa4(%rsp)
movq 0x90(%rsp), %rax
movl (%rax), %eax
movl %eax, 0x68(%rsp)
testl %eax, %eax
je 0x90512
jmp 0x903c7
movl 0x68(%rsp), %eax
subl $0x1, %eax
je 0x903e4
jmp 0x903d2
movl 0x68(%rsp), %eax
subl $0x2, %eax
je 0x9047e
jmp 0x90618
xorl %ecx, %ecx
movl %ecx, %edi
movl %ecx, %esi
movl %ecx, %edx
callq 0x14680
movl %eax, 0x88(%rsp)
movl 0x88(%rsp), %eax
movl %eax, 0xa0(%rsp)
movq 0xd0(%rsp), %rax
movq %rax, 0x50(%rsp)
movq 0xc0(%rsp), %rax
movq %rax, 0x60(%rsp)
movq 0x90(%rsp), %rax
addq $0x8, %rax
movq %rax, 0x58(%rsp)
movq 0xc8(%rsp), %rax
movss 0xa0(%rax), %xmm0
movl 0x20e69(%rip), %edi     # 0xb12b0
callq 0x15100
movq 0x50(%rsp), %rdi
movq 0x58(%rsp), %rsi
movl %eax, %ecx
movq 0x60(%rsp), %rax
movl %ecx, 0x84(%rsp)
movsd (%rax), %xmm0
movsd 0x8(%rax), %xmm1
movl 0x84(%rsp), %edx
callq 0x14690
jmp 0x90618
xorl %ecx, %ecx
movl %ecx, %edi
movl %ecx, %esi
movl %ecx, %edx
callq 0x14680
movl %eax, 0x80(%rsp)
movl 0x80(%rsp), %eax
movl %eax, 0xa0(%rsp)
movq 0xd0(%rsp), %rax
movq %rax, 0x38(%rsp)
movq 0xc0(%rsp), %rax
movq %rax, 0x48(%rsp)
movq 0x90(%rsp), %rax
addq $0x8, %rax
movq %rax, 0x40(%rsp)
movq 0xc8(%rsp), %rax
movss 0xa0(%rax), %xmm0
movl 0x20dcf(%rip), %edi     # 0xb12b0
callq 0x15100
movq 0x38(%rsp), %rdi
movq 0x40(%rsp), %rsi
movl %eax, %ecx
movq 0x48(%rsp), %rax
movl %ecx, 0x7c(%rsp)
movsd (%rax), %xmm0
movsd 0x8(%rax), %xmm1
movl 0x7c(%rsp), %edx
callq 0x152a0
jmp 0x90618
movq 0x90(%rsp), %rax
movl 0x8(%rax), %eax
movl %eax, 0xa0(%rsp)
movq 0xd0(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0xc0(%rsp), %rax
movq %rax, 0x18(%rsp)
movq 0xc8(%rsp), %rcx
movq 0x90(%rsp), %rax
movss 0x94(%rcx), %xmm0
movss %xmm0, 0x14(%rsp)
movss 0xa0(%rcx), %xmm0
movl 0x8(%rax), %edi
callq 0x15100
movq 0x8(%rsp), %rdi
movss 0x14(%rsp), %xmm2
movl %eax, %ecx
movq 0x18(%rsp), %rax
movl %ecx, 0x78(%rsp)
movsd (%rax), %xmm0
movsd 0x8(%rax), %xmm1
movl 0x78(%rsp), %esi
callq 0x13f10
movq 0xd0(%rsp), %rax
movq %rax, 0x20(%rsp)
movq 0xc0(%rsp), %rax
movq %rax, 0x30(%rsp)
movq 0xc8(%rsp), %rcx
movss 0x90(%rcx), %xmm0
movss %xmm0, 0x2c(%rsp)
movss 0x94(%rcx), %xmm0
movss %xmm0, 0x28(%rsp)
movq 0x90(%rsp), %rax
movss 0xa0(%rcx), %xmm0
movl 0x8(%rax), %edi
callq 0x15100
movq 0x20(%rsp), %rdi
movss 0x28(%rsp), %xmm2
movss 0x2c(%rsp), %xmm3
movl %eax, %ecx
movq 0x30(%rsp), %rax
movl %ecx, 0x74(%rsp)
movsd (%rax), %xmm0
movsd 0x8(%rax), %xmm1
movl 0x74(%rsp), %esi
callq 0x13070
xorps %xmm1, %xmm1
movaps %xmm1, %xmm0
callq 0x13460
movlpd %xmm0, 0x6c(%rsp)
movq 0x6c(%rsp), %rax
movq %rax, 0x98(%rsp)
movq 0xd0(%rsp), %rdi
movq 0xb8(%rsp), %rax
movq 0xa8(%rsp), %rsi
movl 0xe0(%rsp), %edx
movq 0xe8(%rsp), %r9
movsd (%rax), %xmm0
movsd 0x8(%rax), %xmm1
leaq 0x98(%rsp), %rcx
movl $0x12, %r8d
callq 0x66ac0
addq $0xd8, %rsp
retq
nopw %cs:(%rax,%rax)