// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonnuklear/src/./nuklear/nuklear.h
// Function: nk_draw_vertex_element
NK_INTERN void
nk_draw_vertex_element(void *dst, const float *values, int value_count,
    enum nk_draw_vertex_layout_format format)
{
    int value_index;
    void *attribute = dst;
    /* if this triggers you tried to provide a color format for a value */
    NK_ASSERT(format < NK_FORMAT_COLOR_BEGIN);
    if (format >= NK_FORMAT_COLOR_BEGIN && format <= NK_FORMAT_COLOR_END) return;
    for (value_index = 0; value_index < value_count; ++value_index) {
        switch (format) {
        default: NK_ASSERT(0 && "invalid vertex layout format"); break;
        case NK_FORMAT_SCHAR: {
            char value = (char)NK_CLAMP((float)NK_SCHAR_MIN, values[value_index], (float)NK_SCHAR_MAX);
            NK_MEMCPY(attribute, &value, sizeof(value));
            attribute = (void*)((char*)attribute + sizeof(char));
        } break;
        case NK_FORMAT_SSHORT: {
            nk_short value = (nk_short)NK_CLAMP((float)NK_SSHORT_MIN, values[value_index], (float)NK_SSHORT_MAX);
            NK_MEMCPY(attribute, &value, sizeof(value));
            attribute = (void*)((char*)attribute + sizeof(value));
        } break;
        case NK_FORMAT_SINT: {
            nk_int value = (nk_int)NK_CLAMP((float)NK_SINT_MIN, values[value_index], (float)NK_SINT_MAX);
            NK_MEMCPY(attribute, &value, sizeof(value));
            attribute = (void*)((char*)attribute + sizeof(nk_int));
        } break;
        case NK_FORMAT_UCHAR: {
            unsigned char value = (unsigned char)NK_CLAMP((float)NK_UCHAR_MIN, values[value_index], (float)NK_UCHAR_MAX);
            NK_MEMCPY(attribute, &value, sizeof(value));
            attribute = (void*)((char*)attribute + sizeof(unsigned char));
        } break;
        case NK_FORMAT_USHORT: {
            nk_ushort value = (nk_ushort)NK_CLAMP((float)NK_USHORT_MIN, values[value_index], (float)NK_USHORT_MAX);
            NK_MEMCPY(attribute, &value, sizeof(value));
            attribute = (void*)((char*)attribute + sizeof(value));
            } break;
        case NK_FORMAT_UINT: {
            nk_uint value = (nk_uint)NK_CLAMP((float)NK_UINT_MIN, values[value_index], (float)NK_UINT_MAX);
            NK_MEMCPY(attribute, &value, sizeof(value));
            attribute = (void*)((char*)attribute + sizeof(nk_uint));
        } break;
        case NK_FORMAT_FLOAT:
            NK_MEMCPY(attribute, &values[value_index], sizeof(values[value_index]));
            attribute = (void*)((char*)attribute + sizeof(float));
            break;
        case NK_FORMAT_DOUBLE: {
            double value = (double)values[value_index];
            NK_MEMCPY(attribute, &value, sizeof(value));
            attribute = (void*)((char*)attribute + sizeof(double));
            } break;
        }
    }
}

// Assembly:
subq $0x98, %rsp
movq %rdi, 0x90(%rsp)
movq %rsi, 0x88(%rsp)
movl %edx, 0x84(%rsp)
movl %ecx, 0x80(%rsp)
movq 0x90(%rsp), %rax
movq %rax, 0x70(%rsp)
cmpl $0x8, 0x80(%rsp)
jb 0x7cf2f
movq 0x480ed(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
leaq 0x34493(%rip), %rsi     # 0xb13a0
leaq 0x344aa(%rip), %rdx     # 0xb13be
movl $0x2671, %ecx           # imm = 0x2671
movb $0x0, %al
callq 0x13ec0
movq 0x480c9(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
callq 0x149a0
jmp 0x7cf31
cmpl $0x8, 0x80(%rsp)
jb 0x7cf4a
cmpl $0x12, 0x80(%rsp)
ja 0x7cf4a
jmp 0x7d5bd
movl $0x0, 0x7c(%rsp)
movl 0x7c(%rsp), %eax
cmpl 0x84(%rsp), %eax
jge 0x7d5bd
movl 0x80(%rsp), %eax
movq %rax, 0x50(%rsp)
subq $0x7, %rax
ja 0x7cf8a
movq 0x50(%rsp), %rax
leaq 0x3076b(%rip), %rcx     # 0xad6ec
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
jmp 0x7cf8c
movq 0x4805d(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
leaq 0x34403(%rip), %rsi     # 0xb13a0
leaq 0x3441a(%rip), %rdx     # 0xb13be
movl $0x2675, %ecx           # imm = 0x2675
movb $0x0, %al
callq 0x13ec0
movq 0x48039(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
callq 0x149a0
jmp 0x7d5ab
movq 0x88(%rsp), %rax
movslq 0x7c(%rsp), %rcx
movss 0x305c3(%rip), %xmm0    # 0xad59c
ucomiss (%rax,%rcx,4), %xmm0
jbe 0x7cff9
movq 0x88(%rsp), %rax
movslq 0x7c(%rsp), %rcx
movss (%rax,%rcx,4), %xmm0
movss %xmm0, 0x4c(%rsp)
jmp 0x7d009
movss 0x3059b(%rip), %xmm0    # 0xad59c
movss %xmm0, 0x4c(%rsp)
jmp 0x7d009
movss 0x4c(%rsp), %xmm1
movss 0x30589(%rip), %xmm0    # 0xad5a0
ucomiss %xmm1, %xmm0
jbe 0x7d02c
movss 0x3057c(%rip), %xmm0    # 0xad5a0
movss %xmm0, 0x48(%rsp)
jmp 0x7d07d
movq 0x88(%rsp), %rax
movslq 0x7c(%rsp), %rcx
movss 0x3055b(%rip), %xmm0    # 0xad59c
ucomiss (%rax,%rcx,4), %xmm0
jbe 0x7d061
movq 0x88(%rsp), %rax
movslq 0x7c(%rsp), %rcx
movss (%rax,%rcx,4), %xmm0
movss %xmm0, 0x44(%rsp)
jmp 0x7d071
movss 0x30533(%rip), %xmm0    # 0xad59c
movss %xmm0, 0x44(%rsp)
jmp 0x7d071
movss 0x44(%rsp), %xmm0
movss %xmm0, 0x48(%rsp)
movss 0x48(%rsp), %xmm0
cvttss2si %xmm0, %eax
movb %al, 0x6f(%rsp)
movq 0x70(%rsp), %rdi
leaq 0x6f(%rsp), %rsi
movl $0x1, %edx
callq 0x2f750
movq 0x70(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x70(%rsp)
jmp 0x7d5ab
movq 0x88(%rsp), %rax
movslq 0x7c(%rsp), %rcx
movss 0x304cd(%rip), %xmm0    # 0xad594
ucomiss (%rax,%rcx,4), %xmm0
jbe 0x7d0e7
movq 0x88(%rsp), %rax
movslq 0x7c(%rsp), %rcx
movss (%rax,%rcx,4), %xmm0
movss %xmm0, 0x40(%rsp)
jmp 0x7d0f7
movss 0x304a5(%rip), %xmm0    # 0xad594
movss %xmm0, 0x40(%rsp)
jmp 0x7d0f7
movss 0x40(%rsp), %xmm1
movss 0x30493(%rip), %xmm0    # 0xad598
ucomiss %xmm1, %xmm0
jbe 0x7d11a
movss 0x30486(%rip), %xmm0    # 0xad598
movss %xmm0, 0x3c(%rsp)
jmp 0x7d16b
movq 0x88(%rsp), %rax
movslq 0x7c(%rsp), %rcx
movss 0x30465(%rip), %xmm0    # 0xad594
ucomiss (%rax,%rcx,4), %xmm0
jbe 0x7d14f
movq 0x88(%rsp), %rax
movslq 0x7c(%rsp), %rcx
movss (%rax,%rcx,4), %xmm0
movss %xmm0, 0x38(%rsp)
jmp 0x7d15f
movss 0x3043d(%rip), %xmm0    # 0xad594
movss %xmm0, 0x38(%rsp)
jmp 0x7d15f
movss 0x38(%rsp), %xmm0
movss %xmm0, 0x3c(%rsp)
movss 0x3c(%rsp), %xmm0
cvttss2si %xmm0, %eax
movw %ax, 0x6c(%rsp)
movq 0x70(%rsp), %rdi
leaq 0x6c(%rsp), %rsi
movl $0x2, %edx
callq 0x2f750
movq 0x70(%rsp), %rax
addq $0x2, %rax
movq %rax, 0x70(%rsp)
jmp 0x7d5ab
movq 0x88(%rsp), %rax
movslq 0x7c(%rsp), %rcx
movss 0x303d6(%rip), %xmm0    # 0xad58c
ucomiss (%rax,%rcx,4), %xmm0
jbe 0x7d1d6
movq 0x88(%rsp), %rax
movslq 0x7c(%rsp), %rcx
movss (%rax,%rcx,4), %xmm0
movss %xmm0, 0x34(%rsp)
jmp 0x7d1e6
movss 0x303ae(%rip), %xmm0    # 0xad58c
movss %xmm0, 0x34(%rsp)
jmp 0x7d1e6
movss 0x34(%rsp), %xmm1
movss 0x3039c(%rip), %xmm0    # 0xad590
ucomiss %xmm1, %xmm0
jbe 0x7d209
movss 0x3038f(%rip), %xmm0    # 0xad590
movss %xmm0, 0x30(%rsp)
jmp 0x7d25a
movq 0x88(%rsp), %rax
movslq 0x7c(%rsp), %rcx
movss 0x3036e(%rip), %xmm0    # 0xad58c
ucomiss (%rax,%rcx,4), %xmm0
jbe 0x7d23e
movq 0x88(%rsp), %rax
movslq 0x7c(%rsp), %rcx
movss (%rax,%rcx,4), %xmm0
movss %xmm0, 0x2c(%rsp)
jmp 0x7d24e
movss 0x30346(%rip), %xmm0    # 0xad58c
movss %xmm0, 0x2c(%rsp)
jmp 0x7d24e
movss 0x2c(%rsp), %xmm0
movss %xmm0, 0x30(%rsp)
movss 0x30(%rsp), %xmm0
cvttss2si %xmm0, %eax
movl %eax, 0x68(%rsp)
movq 0x70(%rsp), %rdi
leaq 0x68(%rsp), %rsi
movl $0x4, %edx
callq 0x2f750
movq 0x70(%rsp), %rax
addq $0x4, %rax
movq %rax, 0x70(%rsp)
jmp 0x7d5ab
movq 0x88(%rsp), %rax
movslq 0x7c(%rsp), %rcx
movss 0x302e4(%rip), %xmm0    # 0xad588
ucomiss (%rax,%rcx,4), %xmm0
jbe 0x7d2c4
movq 0x88(%rsp), %rax
movslq 0x7c(%rsp), %rcx
movss (%rax,%rcx,4), %xmm0
movss %xmm0, 0x28(%rsp)
jmp 0x7d2d4
movss 0x302bc(%rip), %xmm0    # 0xad588
movss %xmm0, 0x28(%rsp)
jmp 0x7d2d4
movss 0x28(%rsp), %xmm1
xorps %xmm0, %xmm0
ucomiss %xmm1, %xmm0
jbe 0x7d2ed
xorps %xmm0, %xmm0
movss %xmm0, 0x24(%rsp)
jmp 0x7d33e
movq 0x88(%rsp), %rax
movslq 0x7c(%rsp), %rcx
movss 0x30286(%rip), %xmm0    # 0xad588
ucomiss (%rax,%rcx,4), %xmm0
jbe 0x7d322
movq 0x88(%rsp), %rax
movslq 0x7c(%rsp), %rcx
movss (%rax,%rcx,4), %xmm0
movss %xmm0, 0x20(%rsp)
jmp 0x7d332
movss 0x3025e(%rip), %xmm0    # 0xad588
movss %xmm0, 0x20(%rsp)
jmp 0x7d332
movss 0x20(%rsp), %xmm0
movss %xmm0, 0x24(%rsp)
movss 0x24(%rsp), %xmm0
cvttss2si %xmm0, %eax
movb %al, 0x67(%rsp)
movq 0x70(%rsp), %rdi
leaq 0x67(%rsp), %rsi
movl $0x1, %edx
callq 0x2f750
movq 0x70(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x70(%rsp)
jmp 0x7d5ab
movq 0x88(%rsp), %rax
movslq 0x7c(%rsp), %rcx
movss 0x301fc(%rip), %xmm0    # 0xad584
ucomiss (%rax,%rcx,4), %xmm0
jbe 0x7d3a8
movq 0x88(%rsp), %rax
movslq 0x7c(%rsp), %rcx
movss (%rax,%rcx,4), %xmm0
movss %xmm0, 0x1c(%rsp)
jmp 0x7d3b8
movss 0x301d4(%rip), %xmm0    # 0xad584
movss %xmm0, 0x1c(%rsp)
jmp 0x7d3b8
movss 0x1c(%rsp), %xmm1
xorps %xmm0, %xmm0
ucomiss %xmm1, %xmm0
jbe 0x7d3d1
xorps %xmm0, %xmm0
movss %xmm0, 0x18(%rsp)
jmp 0x7d422
movq 0x88(%rsp), %rax
movslq 0x7c(%rsp), %rcx
movss 0x3019e(%rip), %xmm0    # 0xad584
ucomiss (%rax,%rcx,4), %xmm0
jbe 0x7d406
movq 0x88(%rsp), %rax
movslq 0x7c(%rsp), %rcx
movss (%rax,%rcx,4), %xmm0
movss %xmm0, 0x14(%rsp)
jmp 0x7d416
movss 0x30176(%rip), %xmm0    # 0xad584
movss %xmm0, 0x14(%rsp)
jmp 0x7d416
movss 0x14(%rsp), %xmm0
movss %xmm0, 0x18(%rsp)
movss 0x18(%rsp), %xmm0
cvttss2si %xmm0, %eax
movw %ax, 0x64(%rsp)
movq 0x70(%rsp), %rdi
leaq 0x64(%rsp), %rsi
movl $0x2, %edx
callq 0x2f750
movq 0x70(%rsp), %rax
addq $0x2, %rax
movq %rax, 0x70(%rsp)
jmp 0x7d5ab
movq 0x88(%rsp), %rax
movslq 0x7c(%rsp), %rcx
movss 0x30113(%rip), %xmm0    # 0xad580
ucomiss (%rax,%rcx,4), %xmm0
jbe 0x7d48d
movq 0x88(%rsp), %rax
movslq 0x7c(%rsp), %rcx
movss (%rax,%rcx,4), %xmm0
movss %xmm0, 0x10(%rsp)
jmp 0x7d49d
movss 0x300eb(%rip), %xmm0    # 0xad580
movss %xmm0, 0x10(%rsp)
jmp 0x7d49d
movss 0x10(%rsp), %xmm1
xorps %xmm0, %xmm0
ucomiss %xmm1, %xmm0
jbe 0x7d4b6
xorps %xmm0, %xmm0
movss %xmm0, 0xc(%rsp)
jmp 0x7d507
movq 0x88(%rsp), %rax
movslq 0x7c(%rsp), %rcx
movss 0x300b5(%rip), %xmm0    # 0xad580
ucomiss (%rax,%rcx,4), %xmm0
jbe 0x7d4eb
movq 0x88(%rsp), %rax
movslq 0x7c(%rsp), %rcx
movss (%rax,%rcx,4), %xmm0
movss %xmm0, 0x8(%rsp)
jmp 0x7d4fb
movss 0x3008d(%rip), %xmm0    # 0xad580
movss %xmm0, 0x8(%rsp)
jmp 0x7d4fb
movss 0x8(%rsp), %xmm0
movss %xmm0, 0xc(%rsp)
movss 0xc(%rsp), %xmm0
cvttss2si %xmm0, %rax
movl %eax, 0x60(%rsp)
movq 0x70(%rsp), %rdi
leaq 0x60(%rsp), %rsi
movl $0x4, %edx
callq 0x2f750
movq 0x70(%rsp), %rax
addq $0x4, %rax
movq %rax, 0x70(%rsp)
jmp 0x7d5ab
movq 0x70(%rsp), %rdi
movq 0x88(%rsp), %rsi
movslq 0x7c(%rsp), %rax
shlq $0x2, %rax
addq %rax, %rsi
movl $0x4, %edx
callq 0x2f750
movq 0x70(%rsp), %rax
addq $0x4, %rax
movq %rax, 0x70(%rsp)
jmp 0x7d5ab
movq 0x88(%rsp), %rax
movslq 0x7c(%rsp), %rcx
movss (%rax,%rcx,4), %xmm0
cvtss2sd %xmm0, %xmm0
movsd %xmm0, 0x58(%rsp)
movq 0x70(%rsp), %rdi
leaq 0x58(%rsp), %rsi
movl $0x8, %edx
callq 0x2f750
movq 0x70(%rsp), %rax
addq $0x8, %rax
movq %rax, 0x70(%rsp)
jmp 0x7d5ad
movl 0x7c(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x7c(%rsp)
jmp 0x7cf52
addq $0x98, %rsp
retq
nopw %cs:(%rax,%rax)