// File: /workspace/github_c_makefile_star2_O0/ggerganov[P]font-rasterizer/./stb_truetype.h
// Function: stbtt_GetBakedQuad
STBTT_DEF void stbtt_GetBakedQuad(const stbtt_bakedchar *chardata, int pw, int ph, int char_index, float *xpos, float *ypos, stbtt_aligned_quad *q, int opengl_fillrule)
{
   float d3d_bias = opengl_fillrule ? 0 : -0.5f;
   float ipw = 1.0f / pw, iph = 1.0f / ph;
   const stbtt_bakedchar *b = chardata + char_index;
   int round_x = STBTT_ifloor((*xpos + b->xoff) + 0.5f);
   int round_y = STBTT_ifloor((*ypos + b->yoff) + 0.5f);

   q->x0 = round_x + d3d_bias;
   q->y0 = round_y + d3d_bias;
   q->x1 = round_x + b->x1 - b->x0 + d3d_bias;
   q->y1 = round_y + b->y1 - b->y0 + d3d_bias;

   q->s0 = b->x0 * ipw;
   q->t0 = b->y0 * iph;
   q->s1 = b->x1 * ipw;
   q->t1 = b->y1 * iph;

   *xpos += b->xadvance;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movl 0x18(%rbp), %eax
movq 0x10(%rbp), %rax
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movl %edx, -0x10(%rbp)
movl %ecx, -0x14(%rbp)
movq %r8, -0x20(%rbp)
movq %r9, -0x28(%rbp)
movl 0x18(%rbp), %eax
xorps %xmm0, %xmm0
movss 0xe5d6(%rip), %xmm1     # 0x16628
movss %xmm1, -0x50(%rbp)
cmpl $0x0, %eax
movss %xmm0, -0x4c(%rbp)
jne 0x806b
movss -0x50(%rbp), %xmm0
movss %xmm0, -0x4c(%rbp)
movss -0x4c(%rbp), %xmm0
movss %xmm0, -0x2c(%rbp)
cvtsi2ssl -0xc(%rbp), %xmm1
movss 0xe59a(%rip), %xmm0     # 0x1661c
divss %xmm1, %xmm0
movss %xmm0, -0x30(%rbp)
cvtsi2ssl -0x10(%rbp), %xmm1
movss 0xe584(%rip), %xmm0     # 0x1661c
divss %xmm1, %xmm0
movss %xmm0, -0x34(%rbp)
movq -0x8(%rbp), %rax
movslq -0x14(%rbp), %rcx
imulq $0x14, %rcx, %rcx
addq %rcx, %rax
movq %rax, -0x40(%rbp)
movq -0x20(%rbp), %rax
movss (%rax), %xmm0
movq -0x40(%rbp), %rax
addss 0x8(%rax), %xmm0
movss 0xe52f(%rip), %xmm1     # 0x165fc
addss %xmm1, %xmm0
cvtss2sd %xmm0, %xmm0
callq 0x1190
cvttsd2si %xmm0, %eax
movl %eax, -0x44(%rbp)
movq -0x28(%rbp), %rax
movss (%rax), %xmm0
movq -0x40(%rbp), %rax
addss 0xc(%rax), %xmm0
movss 0xe502(%rip), %xmm1     # 0x165fc
addss %xmm1, %xmm0
cvtss2sd %xmm0, %xmm0
callq 0x1190
cvttsd2si %xmm0, %eax
movl %eax, -0x48(%rbp)
cvtsi2ssl -0x44(%rbp), %xmm0
addss -0x2c(%rbp), %xmm0
movq 0x10(%rbp), %rax
movss %xmm0, (%rax)
cvtsi2ssl -0x48(%rbp), %xmm0
addss -0x2c(%rbp), %xmm0
movq 0x10(%rbp), %rax
movss %xmm0, 0x4(%rax)
movl -0x44(%rbp), %eax
movq -0x40(%rbp), %rcx
movzwl 0x4(%rcx), %ecx
addl %ecx, %eax
movq -0x40(%rbp), %rcx
movzwl (%rcx), %ecx
subl %ecx, %eax
cvtsi2ss %eax, %xmm0
addss -0x2c(%rbp), %xmm0
movq 0x10(%rbp), %rax
movss %xmm0, 0x10(%rax)
movl -0x48(%rbp), %eax
movq -0x40(%rbp), %rcx
movzwl 0x6(%rcx), %ecx
addl %ecx, %eax
movq -0x40(%rbp), %rcx
movzwl 0x2(%rcx), %ecx
subl %ecx, %eax
cvtsi2ss %eax, %xmm0
addss -0x2c(%rbp), %xmm0
movq 0x10(%rbp), %rax
movss %xmm0, 0x14(%rax)
movq -0x40(%rbp), %rax
movzwl (%rax), %eax
cvtsi2ss %eax, %xmm0
mulss -0x30(%rbp), %xmm0
movq 0x10(%rbp), %rax
movss %xmm0, 0x8(%rax)
movq -0x40(%rbp), %rax
movzwl 0x2(%rax), %eax
cvtsi2ss %eax, %xmm0
mulss -0x34(%rbp), %xmm0
movq 0x10(%rbp), %rax
movss %xmm0, 0xc(%rax)
movq -0x40(%rbp), %rax
movzwl 0x4(%rax), %eax
cvtsi2ss %eax, %xmm0
mulss -0x30(%rbp), %xmm0
movq 0x10(%rbp), %rax
movss %xmm0, 0x18(%rax)
movq -0x40(%rbp), %rax
movzwl 0x6(%rax), %eax
cvtsi2ss %eax, %xmm0
mulss -0x34(%rbp), %xmm0
movq 0x10(%rbp), %rax
movss %xmm0, 0x1c(%rax)
movq -0x40(%rbp), %rax
movss 0x10(%rax), %xmm0
movq -0x20(%rbp), %rax
addss (%rax), %xmm0
movss %xmm0, (%rax)
addq $0x50, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)