// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonnuklear/src/./nuklear/nuklear.h
// Function: nk_draw_slider
NK_LIB void
nk_draw_slider(struct nk_command_buffer *out, nk_flags state,
    const struct nk_style_slider *style, const struct nk_rect *bounds,
    const struct nk_rect *visual_cursor, float min, float value, float max)
{
    struct nk_rect fill;
    struct nk_rect bar;
    const struct nk_style_item *background;

    /* select correct slider images/colors */
    struct nk_color bar_color;
    const struct nk_style_item *cursor;

    NK_UNUSED(min);
    NK_UNUSED(max);
    NK_UNUSED(value);

    if (state & NK_WIDGET_STATE_ACTIVED) {
        background = &style->active;
        bar_color = style->bar_active;
        cursor = &style->cursor_active;
    } else if (state & NK_WIDGET_STATE_HOVER) {
        background = &style->hover;
        bar_color = style->bar_hover;
        cursor = &style->cursor_hover;
    } else {
        background = &style->normal;
        bar_color = style->bar_normal;
        cursor = &style->cursor_normal;
    }

    /* calculate slider background bar */
    bar.x = bounds->x;
    bar.y = (visual_cursor->y + visual_cursor->h/2) - bounds->h/12;
    bar.w = bounds->w;
    bar.h = bounds->h/6;

    /* filled background bar style */
    fill.w = (visual_cursor->x + (visual_cursor->w/2.0f)) - bar.x;
    fill.x = bar.x;
    fill.y = bar.y;
    fill.h = bar.h;

    /* draw background */
    switch(background->type) {
        case NK_STYLE_ITEM_IMAGE:
            nk_draw_image(out, *bounds, &background->data.image, nk_rgb_factor(nk_white, style->color_factor));
            break;
        case NK_STYLE_ITEM_NINE_SLICE:
            nk_draw_nine_slice(out, *bounds, &background->data.slice, nk_rgb_factor(nk_white, style->color_factor));
            break;
        case NK_STYLE_ITEM_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(style->border_color, style->color_factor));
            break;
    }

    /* draw slider bar */
    nk_fill_rect(out, bar, style->rounding, nk_rgb_factor(bar_color, style->color_factor));
    nk_fill_rect(out, fill, style->rounding, nk_rgb_factor(style->bar_filled, style->color_factor));

    /* draw cursor */
    if (cursor->type == NK_STYLE_ITEM_IMAGE)
        nk_draw_image(out, *visual_cursor, &cursor->data.image, nk_rgb_factor(nk_white, style->color_factor));
    else
        nk_fill_circle(out, *visual_cursor, nk_rgb_factor(cursor->data.color, style->color_factor));
}

// Assembly:
subq $0x148, %rsp            # imm = 0x148
movq %rdi, 0x140(%rsp)
movl %esi, 0x13c(%rsp)
movq %rdx, 0x130(%rsp)
movq %rcx, 0x128(%rsp)
movq %r8, 0x120(%rsp)
movss %xmm0, 0x11c(%rsp)
movss %xmm1, 0x118(%rsp)
movss %xmm2, 0x114(%rsp)
movl 0x13c(%rsp), %eax
andl $0x20, %eax
cmpl $0x0, %eax
je 0x8aa7c
movq 0x130(%rsp), %rax
addq $0x50, %rax
movq %rax, 0xe8(%rsp)
movq 0x130(%rsp), %rax
movl 0x84(%rax), %eax
movl %eax, 0xe4(%rsp)
movq 0x130(%rsp), %rax
addq $0xe0, %rax
movq %rax, 0xd8(%rsp)
jmp 0x8ab06
movl 0x13c(%rsp), %eax
andl $0x10, %eax
cmpl $0x0, %eax
je 0x8aacc
movq 0x130(%rsp), %rax
addq $0x28, %rax
movq %rax, 0xe8(%rsp)
movq 0x130(%rsp), %rax
movl 0x80(%rax), %eax
movl %eax, 0xe4(%rsp)
movq 0x130(%rsp), %rax
addq $0xb8, %rax
movq %rax, 0xd8(%rsp)
jmp 0x8ab04
movq 0x130(%rsp), %rax
movq %rax, 0xe8(%rsp)
movq 0x130(%rsp), %rax
movl 0x7c(%rax), %eax
movl %eax, 0xe4(%rsp)
movq 0x130(%rsp), %rax
addq $0x90, %rax
movq %rax, 0xd8(%rsp)
jmp 0x8ab06
movq 0x128(%rsp), %rax
movss (%rax), %xmm0
movss %xmm0, 0xf4(%rsp)
movq 0x120(%rsp), %rax
movss 0x4(%rax), %xmm0
movss 0xc(%rax), %xmm1
movss 0x229df(%rip), %xmm2    # 0xad514
mulss %xmm2, %xmm1
addss %xmm1, %xmm0
movq 0x128(%rsp), %rax
movss 0xc(%rax), %xmm1
movss 0x22a5a(%rip), %xmm3    # 0xad5ac
divss %xmm3, %xmm1
addss %xmm1, %xmm0
movss %xmm0, 0xf8(%rsp)
movq 0x128(%rsp), %rax
movss 0x8(%rax), %xmm0
movss %xmm0, 0xfc(%rsp)
movq 0x128(%rsp), %rax
movss 0xc(%rax), %xmm0
movss 0x22972(%rip), %xmm1    # 0xad500
divss %xmm1, %xmm0
movss %xmm0, 0x100(%rsp)
movq 0x120(%rsp), %rax
movss (%rax), %xmm0
movss 0x8(%rax), %xmm1
mulss %xmm2, %xmm1
addss %xmm1, %xmm0
movss 0xf4(%rsp), %xmm1
subss %xmm1, %xmm0
movss %xmm0, 0x10c(%rsp)
movss 0xf4(%rsp), %xmm0
movss %xmm0, 0x104(%rsp)
movss 0xf8(%rsp), %xmm0
movss %xmm0, 0x108(%rsp)
movss 0x100(%rsp), %xmm0
movss %xmm0, 0x110(%rsp)
movq 0xe8(%rsp), %rax
movl (%rax), %eax
movl %eax, 0xb4(%rsp)
testl %eax, %eax
je 0x8ad52
jmp 0x8ac1b
movl 0xb4(%rsp), %eax
subl $0x1, %eax
je 0x8ac3e
jmp 0x8ac29
movl 0xb4(%rsp), %eax
subl $0x2, %eax
je 0x8acc8
jmp 0x8ae4a
movq 0x140(%rsp), %rax
movq %rax, 0x98(%rsp)
movq 0x128(%rsp), %rax
movq %rax, 0xa8(%rsp)
movq 0xe8(%rsp), %rax
addq $0x8, %rax
movq %rax, 0xa0(%rsp)
movq 0x130(%rsp), %rax
movss 0x12c(%rax), %xmm0
movl 0x26628(%rip), %edi     # 0xb12b0
callq 0x15100
movq 0x98(%rsp), %rdi
movq 0xa0(%rsp), %rsi
movl %eax, %ecx
movq 0xa8(%rsp), %rax
movl %ecx, 0xd4(%rsp)
movsd (%rax), %xmm0
movsd 0x8(%rax), %xmm1
movl 0xd4(%rsp), %edx
callq 0x14690
jmp 0x8ae4a
movq 0x140(%rsp), %rax
movq %rax, 0x80(%rsp)
movq 0x128(%rsp), %rax
movq %rax, 0x90(%rsp)
movq 0xe8(%rsp), %rax
addq $0x8, %rax
movq %rax, 0x88(%rsp)
movq 0x130(%rsp), %rax
movss 0x12c(%rax), %xmm0
movl 0x2659e(%rip), %edi     # 0xb12b0
callq 0x15100
movq 0x80(%rsp), %rdi
movq 0x88(%rsp), %rsi
movl %eax, %ecx
movq 0x90(%rsp), %rax
movl %ecx, 0xd0(%rsp)
movsd (%rax), %xmm0
movsd 0x8(%rax), %xmm1
movl 0xd0(%rsp), %edx
callq 0x152a0
jmp 0x8ae4a
movq 0x140(%rsp), %rax
movq %rax, 0x50(%rsp)
movq 0x128(%rsp), %rax
movq %rax, 0x60(%rsp)
movq 0x130(%rsp), %rcx
movq 0xe8(%rsp), %rax
movss 0x10c(%rcx), %xmm0
movss %xmm0, 0x5c(%rsp)
movss 0x12c(%rcx), %xmm0
movl 0x8(%rax), %edi
callq 0x15100
movq 0x50(%rsp), %rdi
movss 0x5c(%rsp), %xmm2
movl %eax, %ecx
movq 0x60(%rsp), %rax
movl %ecx, 0xcc(%rsp)
movsd (%rax), %xmm0
movsd 0x8(%rax), %xmm1
movl 0xcc(%rsp), %esi
callq 0x13f10
movq 0x140(%rsp), %rax
movq %rax, 0x68(%rsp)
movq 0x128(%rsp), %rax
movq %rax, 0x78(%rsp)
movq 0x130(%rsp), %rax
movss 0x10c(%rax), %xmm0
movss %xmm0, 0x70(%rsp)
movss 0x108(%rax), %xmm0
movss %xmm0, 0x74(%rsp)
movss 0x12c(%rax), %xmm0
movl 0x78(%rax), %edi
callq 0x15100
movq 0x68(%rsp), %rdi
movss 0x70(%rsp), %xmm2
movss 0x74(%rsp), %xmm3
movl %eax, %ecx
movq 0x78(%rsp), %rax
movl %ecx, 0xc8(%rsp)
movsd (%rax), %xmm0
movsd 0x8(%rax), %xmm1
movl 0xc8(%rsp), %esi
callq 0x13070
movq 0x140(%rsp), %rax
movq %rax, 0x30(%rsp)
movq 0x130(%rsp), %rax
movss 0x10c(%rax), %xmm0
movss %xmm0, 0x3c(%rsp)
movss 0x12c(%rax), %xmm0
movl 0xe4(%rsp), %edi
callq 0x15100
movq 0x30(%rsp), %rdi
movss 0x3c(%rsp), %xmm2
movl %eax, 0xc4(%rsp)
movsd 0xf4(%rsp), %xmm0
movsd 0xfc(%rsp), %xmm1
movl 0xc4(%rsp), %esi
callq 0x13f10
movq 0x140(%rsp), %rax
movq %rax, 0x40(%rsp)
movq 0x130(%rsp), %rax
movss 0x10c(%rax), %xmm0
movss %xmm0, 0x4c(%rsp)
movss 0x12c(%rax), %xmm0
movl 0x88(%rax), %edi
callq 0x15100
movq 0x40(%rsp), %rdi
movss 0x4c(%rsp), %xmm2
movl %eax, 0xc0(%rsp)
movsd 0x104(%rsp), %xmm0
movsd 0x10c(%rsp), %xmm1
movl 0xc0(%rsp), %esi
callq 0x13f10
movq 0xd8(%rsp), %rax
cmpl $0x1, (%rax)
jne 0x8af99
movq 0x140(%rsp), %rax
movq %rax, 0x18(%rsp)
movq 0x120(%rsp), %rax
movq %rax, 0x28(%rsp)
movq 0xd8(%rsp), %rax
addq $0x8, %rax
movq %rax, 0x20(%rsp)
movq 0x130(%rsp), %rax
movss 0x12c(%rax), %xmm0
movl 0x2634b(%rip), %edi     # 0xb12b0
callq 0x15100
movq 0x18(%rsp), %rdi
movq 0x20(%rsp), %rsi
movl %eax, %ecx
movq 0x28(%rsp), %rax
movl %ecx, 0xbc(%rsp)
movsd (%rax), %xmm0
movsd 0x8(%rax), %xmm1
movl 0xbc(%rsp), %edx
callq 0x14690
jmp 0x8affb
movq 0x140(%rsp), %rax
movq %rax, 0x8(%rsp)
movq 0x120(%rsp), %rax
movq %rax, 0x10(%rsp)
movq 0xd8(%rsp), %rax
movq 0x130(%rsp), %rcx
movss 0x12c(%rcx), %xmm0
movl 0x8(%rax), %edi
callq 0x15100
movq 0x8(%rsp), %rdi
movl %eax, %ecx
movq 0x10(%rsp), %rax
movl %ecx, 0xb8(%rsp)
movsd (%rax), %xmm0
movsd 0x8(%rax), %xmm1
movl 0xb8(%rsp), %esi
callq 0x15030
addq $0x148, %rsp            # imm = 0x148
retq
nopw %cs:(%rax,%rax)