// File: /workspace/github_c_makefile_star2_O3/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 %rbx
subq $0x70, %rsp
testq %rdi, %rdi
je 0x27e4e
movl %esi, %ebx
cmpl $0x1000000, %esi        # imm = 0x1000000
setb %al
xorps %xmm7, %xmm7
ucomiss %xmm6, %xmm7
setae %cl
orb %al, %cl
jne 0x27e48
cmpl $0x0, 0x18(%rdi)
je 0x27d93
movss 0x8(%rdi), %xmm7
ucomiss %xmm7, %xmm0
jb 0x27d32
movss 0x10(%rdi), %xmm8
addss %xmm7, %xmm8
ucomiss %xmm0, %xmm8
jbe 0x27d32
movss 0xc(%rdi), %xmm8
ucomiss %xmm8, %xmm1
jb 0x27d32
addss 0x14(%rdi), %xmm8
ucomiss %xmm1, %xmm8
ja 0x27d93
ucomiss %xmm7, %xmm2
jb 0x27d60
movss 0x10(%rdi), %xmm8
addss %xmm7, %xmm8
ucomiss %xmm2, %xmm8
jbe 0x27d60
movss 0xc(%rdi), %xmm8
ucomiss %xmm8, %xmm3
jb 0x27d60
addss 0x14(%rdi), %xmm8
ucomiss %xmm3, %xmm8
ja 0x27d93
ucomiss %xmm7, %xmm4
jb 0x27e48
addss 0x10(%rdi), %xmm7
ucomiss %xmm4, %xmm7
jbe 0x27e48
movss 0xc(%rdi), %xmm7
ucomiss %xmm7, %xmm5
jb 0x27e48
addss 0x14(%rdi), %xmm7
ucomiss %xmm5, %xmm7
jbe 0x27e48
movl $0x28, %edx
movl $0xb, %esi
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 0x27250
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 0x27e48
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 0x45797(%rip), %xmm1    # 0x6d5a0
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
retq
movq 0x5f19b(%rip), %rbx     # 0x86ff0
movq (%rbx), %rdi
leaq 0x48f3d(%rip), %rsi     # 0x70d9c
leaq 0x48f54(%rip), %rdx     # 0x70dba
movl $0x2401, %ecx           # imm = 0x2401
xorl %eax, %eax
callq 0x12d80
movq (%rbx), %rdi
addq $0x70, %rsp
popq %rbx
jmp 0x13780