// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonnuklear/src/./nuklear/nuklear.h
// Function: nk_combo
NK_API int
nk_combo(struct nk_context *ctx, const char **items, int count,
    int selected, int item_height, struct nk_vec2 size)
{
    int i = 0;
    int max_height;
    struct nk_vec2 item_spacing;
    struct nk_vec2 window_padding;

    NK_ASSERT(ctx);
    NK_ASSERT(items);
    NK_ASSERT(ctx->current);
    if (!ctx || !items ||!count)
        return selected;

    item_spacing = ctx->style.window.spacing;
    window_padding = nk_panel_get_padding(&ctx->style, ctx->current->layout->type);
    max_height = count * item_height + count * (int)item_spacing.y;
    max_height += (int)item_spacing.y * 2 + (int)window_padding.y * 2;
    size.y = NK_MIN(size.y, (float)max_height);
    if (nk_combo_begin_label(ctx, items[selected], size)) {
        nk_layout_row_dynamic(ctx, (float)item_height, 1);
        for (i = 0; i < count; ++i) {
            if (nk_combo_item_label(ctx, items[i], NK_TEXT_LEFT))
                selected = i;
        }
        nk_combo_end(ctx);
    }
    return selected;
}

// Assembly:
subq $0x58, %rsp
movlpd %xmm0, 0x4c(%rsp)
movq %rdi, 0x40(%rsp)
movq %rsi, 0x38(%rsp)
movl %edx, 0x34(%rsp)
movl %ecx, 0x30(%rsp)
movl %r8d, 0x2c(%rsp)
movl $0x0, 0x28(%rsp)
cmpq $0x0, 0x40(%rsp)
jne 0x7b9c4
movq 0x49658(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
leaq 0x359fe(%rip), %rsi     # 0xb13a0
leaq 0x35a15(%rip), %rdx     # 0xb13be
movl $0x7487, %ecx           # imm = 0x7487
movb $0x0, %al
callq 0x13ec0
movq 0x49634(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
callq 0x149a0
jmp 0x7b9c6
jmp 0x7b9c8
cmpq $0x0, 0x38(%rsp)
jne 0x7ba03
movq 0x49619(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
leaq 0x359bf(%rip), %rsi     # 0xb13a0
leaq 0x359d6(%rip), %rdx     # 0xb13be
movl $0x7488, %ecx           # imm = 0x7488
movb $0x0, %al
callq 0x13ec0
movq 0x495f5(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
callq 0x149a0
jmp 0x7ba05
jmp 0x7ba07
movq 0x40(%rsp), %rax
cmpq $0x0, 0x4780(%rax)
jne 0x7ba49
movq 0x495d3(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
leaq 0x35979(%rip), %rsi     # 0xb13a0
leaq 0x35990(%rip), %rdx     # 0xb13be
movl $0x7489, %ecx           # imm = 0x7489
movb $0x0, %al
callq 0x13ec0
movq 0x495af(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
callq 0x149a0
jmp 0x7ba4b
cmpq $0x0, 0x40(%rsp)
je 0x7ba62
cmpq $0x0, 0x38(%rsp)
je 0x7ba62
cmpl $0x0, 0x34(%rsp)
jne 0x7ba6f
movl 0x30(%rsp), %eax
movl %eax, 0x54(%rsp)
jmp 0x7bbb6
movq 0x40(%rsp), %rax
movq 0x24b4(%rax), %rax
movq %rax, 0x18(%rsp)
movq 0x40(%rsp), %rax
movq %rax, %rdi
addq $0x168, %rdi            # imm = 0x168
movq 0x4780(%rax), %rax
movq 0xa8(%rax), %rax
movl (%rax), %esi
callq 0x5d770
movlpd %xmm0, 0x8(%rsp)
movq 0x8(%rsp), %rax
movq %rax, 0x10(%rsp)
movl 0x34(%rsp), %eax
imull 0x2c(%rsp), %eax
movl 0x34(%rsp), %ecx
cvttss2si 0x1c(%rsp), %edx
imull %edx, %ecx
addl %ecx, %eax
movl %eax, 0x24(%rsp)
cvttss2si 0x1c(%rsp), %eax
shll %eax
cvttss2si 0x14(%rsp), %ecx
shll %ecx
addl %ecx, %eax
addl 0x24(%rsp), %eax
movl %eax, 0x24(%rsp)
movss 0x50(%rsp), %xmm1
cvtsi2ssl 0x24(%rsp), %xmm0
ucomiss %xmm1, %xmm0
jbe 0x7bb09
movss 0x50(%rsp), %xmm0
movss %xmm0, 0x4(%rsp)
jmp 0x7bb15
cvtsi2ssl 0x24(%rsp), %xmm0
movss %xmm0, 0x4(%rsp)
movss 0x4(%rsp), %xmm0
movss %xmm0, 0x50(%rsp)
movq 0x40(%rsp), %rdi
movq 0x38(%rsp), %rax
movslq 0x30(%rsp), %rcx
movq (%rax,%rcx,8), %rsi
movsd 0x4c(%rsp), %xmm0
callq 0x13250
cmpl $0x0, %eax
je 0x7bbae
movq 0x40(%rsp), %rdi
cvtsi2ssl 0x2c(%rsp), %xmm0
movl $0x1, %esi
callq 0x13f60
movl $0x0, 0x28(%rsp)
movl 0x28(%rsp), %eax
cmpl 0x34(%rsp), %eax
jge 0x7bba4
movq 0x40(%rsp), %rdi
movq 0x38(%rsp), %rax
movslq 0x28(%rsp), %rcx
movq (%rax,%rcx,8), %rsi
movl $0x11, %edx
callq 0x14650
cmpl $0x0, %eax
je 0x7bb95
movl 0x28(%rsp), %eax
movl %eax, 0x30(%rsp)
jmp 0x7bb97
movl 0x28(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x28(%rsp)
jmp 0x7bb61
movq 0x40(%rsp), %rdi
callq 0x150f0
movl 0x30(%rsp), %eax
movl %eax, 0x54(%rsp)
movl 0x54(%rsp), %eax
addq $0x58, %rsp
retq
nop