// File: /workspace/github_c_makefile_star2_O2/stetre[P]moonnuklear/src/./nuklear/nuklear.h
// Function: nk_stroke_triangle
NK_API void
nk_stroke_triangle(struct nk_command_buffer *b, float x0, float y0, float x1,
    float y1, float x2, float y2, float line_thickness, struct nk_color c)
{
    struct nk_command_triangle *cmd;
    NK_ASSERT(b);
    if (!b || c.a == 0 || line_thickness <= 0) return;
    if (b->use_clipping) {
        const struct nk_rect *clip = &b->clip;
        if (!NK_INBOX(x0, y0, clip->x, clip->y, clip->w, clip->h) &&
            !NK_INBOX(x1, y1, clip->x, clip->y, clip->w, clip->h) &&
            !NK_INBOX(x2, y2, clip->x, clip->y, clip->w, clip->h))
            return;
    }

    cmd = (struct nk_command_triangle*)
        nk_command_buffer_push(b, NK_COMMAND_TRIANGLE, sizeof(*cmd));
    if (!cmd) return;
    cmd->line_thickness = (unsigned short)line_thickness;
    cmd->a.x = (short)x0;
    cmd->a.y = (short)y0;
    cmd->b.x = (short)x1;
    cmd->b.y = (short)y1;
    cmd->c.x = (short)x2;
    cmd->c.y = (short)y2;
    cmd->color = c;
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x70, %rsp
movl %esi, %ebx
movq %rdi, %r14
testq %rdi, %rdi
jne 0x2653f
movq 0x5eb1e(%rip), %r15     # 0x84ff0
movq (%r15), %rdi
leaq 0x43830(%rip), %rsi     # 0x69d0c
leaq 0x43847(%rip), %rdx     # 0x69d2a
movl $0x2401, %ecx           # imm = 0x2401
xorl %eax, %eax
movss %xmm5, 0xc(%rsp)
movaps %xmm4, 0x60(%rsp)
movaps %xmm3, 0x50(%rsp)
movaps %xmm6, 0x40(%rsp)
movaps %xmm1, 0x30(%rsp)
movaps %xmm0, 0x20(%rsp)
movaps %xmm2, 0x10(%rsp)
callq 0x12ea0
movq (%r15), %rdi
callq 0x13960
movaps 0x10(%rsp), %xmm2
movaps 0x20(%rsp), %xmm0
movaps 0x30(%rsp), %xmm1
movaps 0x40(%rsp), %xmm6
movaps 0x50(%rsp), %xmm3
movaps 0x60(%rsp), %xmm4
movss 0xc(%rsp), %xmm5
xorps %xmm7, %xmm7
ucomiss %xmm6, %xmm7
jae 0x266b7
testq %r14, %r14
je 0x266b7
cmpl $0x1000000, %ebx        # imm = 0x1000000
jb 0x266b7
cmpl $0x0, 0x18(%r14)
je 0x26603
movss 0x8(%r14), %xmm7
ucomiss %xmm7, %xmm0
jb 0x2659f
movss 0x10(%r14), %xmm8
addss %xmm7, %xmm8
ucomiss %xmm0, %xmm8
jbe 0x2659f
movss 0xc(%r14), %xmm8
ucomiss %xmm8, %xmm1
jb 0x2659f
addss 0x14(%r14), %xmm8
ucomiss %xmm1, %xmm8
ja 0x26603
ucomiss %xmm7, %xmm2
jb 0x265cd
movss 0x10(%r14), %xmm8
addss %xmm7, %xmm8
ucomiss %xmm2, %xmm8
jbe 0x265cd
movss 0xc(%r14), %xmm8
ucomiss %xmm8, %xmm3
jb 0x265cd
addss 0x14(%r14), %xmm8
ucomiss %xmm3, %xmm8
ja 0x26603
ucomiss %xmm7, %xmm4
jb 0x266b7
addss 0x10(%r14), %xmm7
ucomiss %xmm4, %xmm7
jbe 0x266b7
movss 0xc(%r14), %xmm7
ucomiss %xmm7, %xmm5
jb 0x266b7
addss 0x14(%r14), %xmm7
ucomiss %xmm5, %xmm7
jbe 0x266b7
pushq $0xb
popq %rsi
pushq $0x28
popq %rdx
movq %r14, %rdi
movss %xmm5, 0xc(%rsp)
movaps %xmm4, 0x60(%rsp)
movaps %xmm3, 0x50(%rsp)
movaps %xmm6, 0x40(%rsp)
movaps %xmm1, 0x30(%rsp)
movaps %xmm0, 0x20(%rsp)
movaps %xmm2, 0x10(%rsp)
callq 0x25a51
movaps 0x10(%rsp), %xmm6
movaps 0x20(%rsp), %xmm2
movaps 0x30(%rsp), %xmm1
movaps 0x40(%rsp), %xmm0
movaps 0x50(%rsp), %xmm5
movaps 0x60(%rsp), %xmm4
movss 0xc(%rsp), %xmm3
testq %rax, %rax
je 0x266b7
movl %ebx, %ecx
shrl $0x18, %ecx
unpcklps %xmm6, %xmm1            # xmm1 = xmm1[0],xmm6[0],xmm1[1],xmm6[1]
unpcklps %xmm2, %xmm0            # xmm0 = xmm0[0],xmm2[0],xmm0[1],xmm2[1]
movlhps %xmm1, %xmm0            # xmm0 = xmm0[0],xmm1[0]
cvttps2dq %xmm0, %xmm0
movdqa 0x3ff28(%rip), %xmm1    # 0x665a0
movdqa %xmm1, %xmm2
pandn %xmm0, %xmm2
packssdw %xmm0, %xmm0
pand %xmm1, %xmm0
por %xmm2, %xmm0
movq %xmm0, 0x10(%rax)
unpcklps %xmm4, %xmm5            # xmm5 = xmm5[0],xmm4[0],xmm5[1],xmm4[1]
cvttps2dq %xmm5, %xmm0
pshuflw $0xe8, %xmm0, %xmm0     # xmm0 = xmm0[0,2,2,3,4,5,6,7]
movd %xmm0, 0x18(%rax)
cvttss2si %xmm3, %edx
movw %dx, 0x1c(%rax)
movw %bx, 0x1e(%rax)
shrl $0x10, %ebx
movb %bl, 0x20(%rax)
movb %cl, 0x21(%rax)
addq $0x70, %rsp
popq %rbx
popq %r14
popq %r15
retq