// File: /workspace/github_c_makefile_star2_O0/patriciogonzalezvivo[P]tprint/include/std/stb_image.h
// Function: stbi__load_main(stbi__context*, int*, int*, int*, int)
static unsigned char *stbi__load_main(stbi__context *s, int *x, int *y, int *comp, int req_comp)
{
   #ifndef STBI_NO_JPEG
   if (stbi__jpeg_test(s)) return stbi__jpeg_load(s,x,y,comp,req_comp);
   #endif
   #ifndef STBI_NO_PNG
   if (stbi__png_test(s))  return stbi__png_load(s,x,y,comp,req_comp);
   #endif
   #ifndef STBI_NO_BMP
   if (stbi__bmp_test(s))  return stbi__bmp_load(s,x,y,comp,req_comp);
   #endif
   #ifndef STBI_NO_GIF
   if (stbi__gif_test(s))  return stbi__gif_load(s,x,y,comp,req_comp);
   #endif
   #ifndef STBI_NO_PSD
   if (stbi__psd_test(s))  return stbi__psd_load(s,x,y,comp,req_comp);
   #endif
   #ifndef STBI_NO_PIC
   if (stbi__pic_test(s))  return stbi__pic_load(s,x,y,comp,req_comp);
   #endif
   #ifndef STBI_NO_PNM
   if (stbi__pnm_test(s))  return stbi__pnm_load(s,x,y,comp,req_comp);
   #endif

   #ifndef STBI_NO_HDR
   if (stbi__hdr_test(s)) {
      float *hdr = stbi__hdr_load(s, x,y,comp,req_comp);
      return stbi__hdr_to_ldr(hdr, *x, *y, req_comp ? req_comp : *comp);
   }
   #endif

   #ifndef STBI_NO_TGA
   // test tga last because it's a crappy test!
   if (stbi__tga_test(s))
      return stbi__tga_load(s,x,y,comp,req_comp);
   #endif

   return stbi__errpuc("unknown image type", "Image not of any known type, or corrupt");
}

// Assembly:
subq $0x58, %rsp
movq %rdi, 0x48(%rsp)
movq %rsi, 0x40(%rsp)
movq %rdx, 0x38(%rsp)
movq %rcx, 0x30(%rsp)
movl %r8d, 0x2c(%rsp)
movq 0x48(%rsp), %rdi
callq 0x1ca00
cmpl $0x0, %eax
je 0x1c7c4
movq 0x48(%rsp), %rdi
movq 0x40(%rsp), %rsi
movq 0x38(%rsp), %rdx
movq 0x30(%rsp), %rcx
movl 0x2c(%rsp), %r8d
callq 0x1ca60
movq %rax, 0x50(%rsp)
jmp 0x1c9e9
movq 0x48(%rsp), %rdi
callq 0x1cae0
cmpl $0x0, %eax
je 0x1c7fb
movq 0x48(%rsp), %rdi
movq 0x40(%rsp), %rsi
movq 0x38(%rsp), %rdx
movq 0x30(%rsp), %rcx
movl 0x2c(%rsp), %r8d
callq 0x1cb10
movq %rax, 0x50(%rsp)
jmp 0x1c9e9
movq 0x48(%rsp), %rdi
callq 0x1cb60
cmpl $0x0, %eax
je 0x1c832
movq 0x48(%rsp), %rdi
movq 0x40(%rsp), %rsi
movq 0x38(%rsp), %rdx
movq 0x30(%rsp), %rcx
movl 0x2c(%rsp), %r8d
callq 0x1cb90
movq %rax, 0x50(%rsp)
jmp 0x1c9e9
movq 0x48(%rsp), %rdi
callq 0x1dd70
cmpl $0x0, %eax
je 0x1c869
movq 0x48(%rsp), %rdi
movq 0x40(%rsp), %rsi
movq 0x38(%rsp), %rdx
movq 0x30(%rsp), %rcx
movl 0x2c(%rsp), %r8d
callq 0x1dda0
movq %rax, 0x50(%rsp)
jmp 0x1c9e9
movq 0x48(%rsp), %rdi
callq 0x1de70
cmpl $0x0, %eax
je 0x1c8a0
movq 0x48(%rsp), %rdi
movq 0x40(%rsp), %rsi
movq 0x38(%rsp), %rdx
movq 0x30(%rsp), %rcx
movl 0x2c(%rsp), %r8d
callq 0x1deb0
movq %rax, 0x50(%rsp)
jmp 0x1c9e9
movq 0x48(%rsp), %rdi
callq 0x1e410
cmpl $0x0, %eax
je 0x1c8d7
movq 0x48(%rsp), %rdi
movq 0x40(%rsp), %rsi
movq 0x38(%rsp), %rdx
movq 0x30(%rsp), %rcx
movl 0x2c(%rsp), %r8d
callq 0x1e440
movq %rax, 0x50(%rsp)
jmp 0x1c9e9
movq 0x48(%rsp), %rdi
callq 0x1e5f0
cmpl $0x0, %eax
je 0x1c90e
movq 0x48(%rsp), %rdi
movq 0x40(%rsp), %rsi
movq 0x38(%rsp), %rdx
movq 0x30(%rsp), %rcx
movl 0x2c(%rsp), %r8d
callq 0x1e660
movq %rax, 0x50(%rsp)
jmp 0x1c9e9
movq 0x48(%rsp), %rdi
callq 0x1aa10
cmpl $0x0, %eax
je 0x1c999
movq 0x48(%rsp), %rdi
movq 0x40(%rsp), %rsi
movq 0x38(%rsp), %rdx
movq 0x30(%rsp), %rcx
movl 0x2c(%rsp), %r8d
callq 0x1e7c0
movq %rax, 0x20(%rsp)
movq 0x20(%rsp), %rax
movq %rax, 0x10(%rsp)
movq 0x40(%rsp), %rax
movl (%rax), %eax
movl %eax, 0x18(%rsp)
movq 0x38(%rsp), %rax
movl (%rax), %eax
movl %eax, 0x1c(%rsp)
cmpl $0x0, 0x2c(%rsp)
je 0x1c971
movl 0x2c(%rsp), %eax
movl %eax, 0xc(%rsp)
jmp 0x1c97c
movq 0x30(%rsp), %rax
movl (%rax), %eax
movl %eax, 0xc(%rsp)
movl 0x1c(%rsp), %edx
movl 0x18(%rsp), %esi
movq 0x10(%rsp), %rdi
movl 0xc(%rsp), %ecx
callq 0x1ede0
movq %rax, 0x50(%rsp)
jmp 0x1c9e9
movq 0x48(%rsp), %rdi
callq 0x1f010
cmpl $0x0, %eax
je 0x1c9cd
movq 0x48(%rsp), %rdi
movq 0x40(%rsp), %rsi
movq 0x38(%rsp), %rdx
movq 0x30(%rsp), %rcx
movl 0x2c(%rsp), %r8d
callq 0x1f140
movq %rax, 0x50(%rsp)
jmp 0x1c9e9
leaq 0x11085(%rip), %rdi     # 0x2da59
callq 0x1a190
movl %eax, %ecx
xorl %eax, %eax
cmpl $0x0, %ecx
cmovneq %rax, %rax
movq %rax, 0x50(%rsp)
movq 0x50(%rsp), %rax
addq $0x58, %rsp
retq
nopw %cs:(%rax,%rax)