// File: /workspace/github_c_makefile_star2_O0/patriciogonzalezvivo[P]tprint/include/std/stb_image.h
// Function: stbi__YCbCr_to_RGB_row(unsigned char*, unsigned char const*, unsigned char const*, unsigned char const*, int, int)
static void stbi__YCbCr_to_RGB_row(stbi_uc *out, const stbi_uc *y, const stbi_uc *pcb, const stbi_uc *pcr, int count, int step)
{
   int i;
   for (i=0; i < count; ++i) {
      int y_fixed = (y[i] << 20) + (1<<19); // rounding
      int r,g,b;
      int cr = pcr[i] - 128;
      int cb = pcb[i] - 128;
      r = y_fixed +  cr* float2fixed(1.40200f);
      g = y_fixed + (cr*-float2fixed(0.71414f)) + ((cb*-float2fixed(0.34414f)) & 0xffff0000);
      b = y_fixed                               +   cb* float2fixed(1.77200f);
      r >>= 20;
      g >>= 20;
      b >>= 20;
      if ((unsigned) r > 255) { if (r < 0) r = 0; else r = 255; }
      if ((unsigned) g > 255) { if (g < 0) g = 0; else g = 255; }
      if ((unsigned) b > 255) { if (b < 0) b = 0; else b = 255; }
      out[0] = (stbi_uc)r;
      out[1] = (stbi_uc)g;
      out[2] = (stbi_uc)b;
      out[3] = 255;
      out += step;
   }
}

// Assembly:
movq %rdi, -0x8(%rsp)
movq %rsi, -0x10(%rsp)
movq %rdx, -0x18(%rsp)
movq %rcx, -0x20(%rsp)
movl %r8d, -0x24(%rsp)
movl %r9d, -0x28(%rsp)
movl $0x0, -0x2c(%rsp)
movl -0x2c(%rsp), %eax
cmpl -0x24(%rsp), %eax
jge 0x20458
movq -0x10(%rsp), %rax
movslq -0x2c(%rsp), %rcx
movzbl (%rax,%rcx), %eax
shll $0x14, %eax
addl $0x80000, %eax          # imm = 0x80000
movl %eax, -0x30(%rsp)
movq -0x20(%rsp), %rax
movslq -0x2c(%rsp), %rcx
movzbl (%rax,%rcx), %eax
subl $0x80, %eax
movl %eax, -0x40(%rsp)
movq -0x18(%rsp), %rax
movslq -0x2c(%rsp), %rcx
movzbl (%rax,%rcx), %eax
subl $0x80, %eax
movl %eax, -0x44(%rsp)
movl -0x30(%rsp), %eax
imull $0x166f00, -0x40(%rsp), %ecx # imm = 0x166F00
addl %ecx, %eax
movl %eax, -0x34(%rsp)
movl -0x30(%rsp), %eax
imull $0xfff49300, -0x40(%rsp), %ecx # imm = 0xFFF49300
addl %ecx, %eax
imull $0xfffa7e00, -0x44(%rsp), %ecx # imm = 0xFFFA7E00
andl $0xffff0000, %ecx       # imm = 0xFFFF0000
addl %ecx, %eax
movl %eax, -0x38(%rsp)
movl -0x30(%rsp), %eax
imull $0x1c5a00, -0x44(%rsp), %ecx # imm = 0x1C5A00
addl %ecx, %eax
movl %eax, -0x3c(%rsp)
movl -0x34(%rsp), %eax
sarl $0x14, %eax
movl %eax, -0x34(%rsp)
movl -0x38(%rsp), %eax
sarl $0x14, %eax
movl %eax, -0x38(%rsp)
movl -0x3c(%rsp), %eax
sarl $0x14, %eax
movl %eax, -0x3c(%rsp)
cmpl $0xff, -0x34(%rsp)
jbe 0x203b8
cmpl $0x0, -0x34(%rsp)
jge 0x203ae
movl $0x0, -0x34(%rsp)
jmp 0x203b6
movl $0xff, -0x34(%rsp)
jmp 0x203b8
cmpl $0xff, -0x38(%rsp)
jbe 0x203dd
cmpl $0x0, -0x38(%rsp)
jge 0x203d3
movl $0x0, -0x38(%rsp)
jmp 0x203db
movl $0xff, -0x38(%rsp)
jmp 0x203dd
cmpl $0xff, -0x3c(%rsp)
jbe 0x20402
cmpl $0x0, -0x3c(%rsp)
jge 0x203f8
movl $0x0, -0x3c(%rsp)
jmp 0x20400
movl $0xff, -0x3c(%rsp)
jmp 0x20402
movl -0x34(%rsp), %eax
movb %al, %cl
movq -0x8(%rsp), %rax
movb %cl, (%rax)
movl -0x38(%rsp), %eax
movb %al, %cl
movq -0x8(%rsp), %rax
movb %cl, 0x1(%rax)
movl -0x3c(%rsp), %eax
movb %al, %cl
movq -0x8(%rsp), %rax
movb %cl, 0x2(%rax)
movq -0x8(%rsp), %rax
movb $-0x1, 0x3(%rax)
movl -0x28(%rsp), %ecx
movq -0x8(%rsp), %rax
movslq %ecx, %rcx
addq %rcx, %rax
movq %rax, -0x8(%rsp)
movl -0x2c(%rsp), %eax
addl $0x1, %eax
movl %eax, -0x2c(%rsp)
jmp 0x202d6
retq
nopl (%rax)