// File: /workspace/github_c_makefile_star2_O0/stetre[P]moonnuklear/src/./nuklear/nuklear.h
// Function: nk_draw_list_push_rect_uv
NK_INTERN void
nk_draw_list_push_rect_uv(struct nk_draw_list *list, struct nk_vec2 a,
    struct nk_vec2 c, struct nk_vec2 uva, struct nk_vec2 uvc,
    struct nk_color color)
{
    void *vtx;
    struct nk_vec2 uvb;
    struct nk_vec2 uvd;
    struct nk_vec2 b;
    struct nk_vec2 d;

    struct nk_colorf col;
    nk_draw_index *idx;
    nk_draw_index index;
    NK_ASSERT(list);
    if (!list) return;

    nk_color_fv(&col.r, color);
    uvb = nk_vec2(uvc.x, uva.y);
    uvd = nk_vec2(uva.x, uvc.y);
    b = nk_vec2(c.x, a.y);
    d = nk_vec2(a.x, c.y);

    index = (nk_draw_index)list->vertex_count;
    vtx = nk_draw_list_alloc_vertices(list, 4);
    idx = nk_draw_list_alloc_elements(list, 6);
    if (!vtx || !idx) return;

    idx[0] = (nk_draw_index)(index+0); idx[1] = (nk_draw_index)(index+1);
    idx[2] = (nk_draw_index)(index+2); idx[3] = (nk_draw_index)(index+0);
    idx[4] = (nk_draw_index)(index+2); idx[5] = (nk_draw_index)(index+3);

    vtx = nk_draw_vertex(vtx, &list->config, a, uva, col);
    vtx = nk_draw_vertex(vtx, &list->config, b, uvb, col);
    vtx = nk_draw_vertex(vtx, &list->config, c, uvc, col);
    vtx = nk_draw_vertex(vtx, &list->config, d, uvd, col);
}

// Assembly:
subq $0x98, %rsp
movlpd %xmm0, 0x90(%rsp)
movlpd %xmm1, 0x88(%rsp)
movlpd %xmm2, 0x80(%rsp)
movlpd %xmm3, 0x78(%rsp)
movl %esi, 0x74(%rsp)
movq %rdi, 0x68(%rsp)
cmpq $0x0, 0x68(%rsp)
jne 0x3a77c
movq 0x8a8a0(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
leaq 0x76c46(%rip), %rsi     # 0xb13a0
leaq 0x76c5d(%rip), %rdx     # 0xb13be
movl $0x2952, %ecx           # imm = 0x2952
movb $0x0, %al
callq 0x13ec0
movq 0x8a87c(%rip), %rax     # 0xc4ff0
movq (%rax), %rdi
callq 0x149a0
jmp 0x3a77e
cmpq $0x0, 0x68(%rsp)
jne 0x3a78b
jmp 0x3a9af
movl 0x74(%rsp), %esi
leaq 0x30(%rsp), %rdi
callq 0x13870
movss 0x78(%rsp), %xmm0
movss 0x84(%rsp), %xmm1
callq 0x13460
movlpd %xmm0, 0x1c(%rsp)
movq 0x1c(%rsp), %rax
movq %rax, 0x58(%rsp)
movss 0x80(%rsp), %xmm0
movss 0x7c(%rsp), %xmm1
callq 0x13460
movlpd %xmm0, 0x14(%rsp)
movq 0x14(%rsp), %rax
movq %rax, 0x50(%rsp)
movss 0x88(%rsp), %xmm0
movss 0x94(%rsp), %xmm1
callq 0x13460
movlpd %xmm0, 0xc(%rsp)
movq 0xc(%rsp), %rax
movq %rax, 0x48(%rsp)
movss 0x90(%rsp), %xmm0
movss 0x8c(%rsp), %xmm1
callq 0x13460
movlpd %xmm0, 0x4(%rsp)
movq 0x4(%rsp), %rax
movq %rax, 0x40(%rsp)
movq 0x68(%rsp), %rax
movl 0xcc(%rax), %eax
movw %ax, 0x26(%rsp)
movq 0x68(%rsp), %rdi
movl $0x4, %esi
callq 0x37600
movq %rax, 0x60(%rsp)
movq 0x68(%rsp), %rdi
movl $0x6, %esi
callq 0x37730
movq %rax, 0x28(%rsp)
cmpq $0x0, 0x60(%rsp)
je 0x3a877
cmpq $0x0, 0x28(%rsp)
jne 0x3a87c
jmp 0x3a9af
movw 0x26(%rsp), %cx
movq 0x28(%rsp), %rax
movw %cx, (%rax)
movzwl 0x26(%rsp), %eax
incl %eax
movw %ax, %cx
movq 0x28(%rsp), %rax
movw %cx, 0x2(%rax)
movzwl 0x26(%rsp), %eax
addl $0x2, %eax
movw %ax, %cx
movq 0x28(%rsp), %rax
movw %cx, 0x4(%rax)
movw 0x26(%rsp), %cx
movq 0x28(%rsp), %rax
movw %cx, 0x6(%rax)
movzwl 0x26(%rsp), %eax
addl $0x2, %eax
movw %ax, %cx
movq 0x28(%rsp), %rax
movw %cx, 0x8(%rax)
movzwl 0x26(%rsp), %eax
addl $0x3, %eax
movw %ax, %cx
movq 0x28(%rsp), %rax
movw %cx, 0xa(%rax)
movq 0x60(%rsp), %rdi
movq 0x68(%rsp), %rsi
addq $0x70, %rsi
movsd 0x90(%rsp), %xmm0
movsd 0x80(%rsp), %xmm1
movsd 0x30(%rsp), %xmm2
movsd 0x38(%rsp), %xmm3
callq 0x378c0
movq %rax, 0x60(%rsp)
movq 0x60(%rsp), %rdi
movq 0x68(%rsp), %rsi
addq $0x70, %rsi
movsd 0x48(%rsp), %xmm0
movsd 0x58(%rsp), %xmm1
movsd 0x30(%rsp), %xmm2
movsd 0x38(%rsp), %xmm3
callq 0x378c0
movq %rax, 0x60(%rsp)
movq 0x60(%rsp), %rdi
movq 0x68(%rsp), %rsi
addq $0x70, %rsi
movsd 0x88(%rsp), %xmm0
movsd 0x78(%rsp), %xmm1
movsd 0x30(%rsp), %xmm2
movsd 0x38(%rsp), %xmm3
callq 0x378c0
movq %rax, 0x60(%rsp)
movq 0x60(%rsp), %rdi
movq 0x68(%rsp), %rsi
addq $0x70, %rsi
movsd 0x40(%rsp), %xmm0
movsd 0x50(%rsp), %xmm1
movsd 0x30(%rsp), %xmm2
movsd 0x38(%rsp), %xmm3
callq 0x378c0
movq %rax, 0x60(%rsp)
addq $0x98, %rsp
retq
nopw (%rax,%rax)