// File: /workspace/github_c_makefile_star2_O3/patriciogonzalezvivo[P]tprint/include/std/stb_image.h
// Function: stbi__tga_test(stbi__context*)
static int stbi__tga_test(stbi__context *s)
{
   int res;
   int sz;
   stbi__get8(s);      //   discard Offset
   sz = stbi__get8(s);   //   color type
   if ( sz > 1 ) return 0;   //   only RGB or indexed allowed
   sz = stbi__get8(s);   //   image type
   if ( (sz != 1) && (sz != 2) && (sz != 3) && (sz != 9) && (sz != 10) && (sz != 11) ) return 0;   //   only RGB or grey allowed, +/- RLE
   stbi__get16be(s);      //   discard palette start
   stbi__get16be(s);      //   discard palette length
   stbi__get8(s);         //   discard bits per palette color entry
   stbi__get16be(s);      //   discard x origin
   stbi__get16be(s);      //   discard y origin
   if ( stbi__get16be(s) < 1 ) return 0;      //   test width
   if ( stbi__get16be(s) < 1 ) return 0;      //   test height
   sz = stbi__get8(s);   //   bits per pixel
   if ( (sz != 8) && (sz != 16) && (sz != 24) && (sz != 32) )
      res = 0;
   else
      res = 1;
   stbi__rewind(s);
   return res;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
pushq %rax
movq %rdi, %rbx
movq 0xb8(%rdi), %rax
movq 0xc0(%rdi), %r14
cmpq %r14, %rax
jae 0x183fa
incq %rax
jmp 0x18436
cmpl $0x0, 0x30(%rbx)
je 0x1843d
movq 0x28(%rbx), %rdi
leaq 0x38(%rbx), %r14
movl 0x34(%rbx), %edx
movq %r14, %rsi
callq *0x10(%rbx)
testl %eax, %eax
je 0x1841c
cltq
addq %rax, %r14
jmp 0x1842b
movl $0x0, 0x30(%rbx)
leaq 0x39(%rbx), %r14
movb $0x0, 0x38(%rbx)
movq %r14, 0xc0(%rbx)
leaq 0x39(%rbx), %rax
movq %rax, 0xb8(%rbx)
cmpq %r14, %rax
jae 0x18454
leaq 0x1(%rax), %rdx
movq %rdx, 0xb8(%rbx)
movb (%rax), %cl
movq %rdx, %rax
jmp 0x1849d
cmpl $0x0, 0x30(%rbx)
je 0x184a2
movq 0x28(%rbx), %rdi
leaq 0x38(%rbx), %r15
movl 0x34(%rbx), %edx
movq %r15, %rsi
callq *0x10(%rbx)
testl %eax, %eax
je 0x1847a
movslq %eax, %r14
addq %r15, %r14
movb (%r15), %cl
jmp 0x1848b
movl $0x0, 0x30(%rbx)
leaq 0x39(%rbx), %r14
movb $0x0, 0x38(%rbx)
xorl %ecx, %ecx
movq %r14, 0xc0(%rbx)
leaq 0x39(%rbx), %rax
movq %rax, 0xb8(%rbx)
cmpb $0x1, %cl
ja 0x184dc
cmpq %r14, %rax
jae 0x184b6
leaq 0x1(%rax), %rcx
movq %rcx, 0xb8(%rbx)
movb (%rax), %al
jmp 0x18506
cmpl $0x0, 0x30(%rbx)
je 0x184dc
movq 0x28(%rbx), %rdi
leaq 0x38(%rbx), %r14
movl 0x34(%rbx), %edx
movq %r14, %rsi
callq *0x10(%rbx)
testl %eax, %eax
je 0x184e3
movslq %eax, %rcx
addq %r14, %rcx
movb (%r14), %al
jmp 0x184f4
xorl %ebp, %ebp
jmp 0x18621
movl $0x0, 0x30(%rbx)
leaq 0x39(%rbx), %rcx
movb $0x0, 0x38(%rbx)
xorl %eax, %eax
movq %rcx, 0xc0(%rbx)
leaq 0x39(%rbx), %rcx
movq %rcx, 0xb8(%rbx)
andb $-0x9, %al
addb $-0x4, %al
xorl %ebp, %ebp
cmpb $-0x3, %al
jb 0x18621
movq %rbx, %rdi
callq 0x1a2af
movq %rbx, %rdi
callq 0x1a2af
movq 0xb8(%rbx), %rax
cmpq 0xc0(%rbx), %rax
jae 0x18539
incq %rax
jmp 0x18575
cmpl $0x0, 0x30(%rbx)
je 0x1857c
movq 0x28(%rbx), %rdi
leaq 0x38(%rbx), %r14
movl 0x34(%rbx), %edx
movq %r14, %rsi
callq *0x10(%rbx)
testl %eax, %eax
je 0x1855b
cltq
addq %rax, %r14
jmp 0x1856a
movl $0x0, 0x30(%rbx)
leaq 0x39(%rbx), %r14
movb $0x0, 0x38(%rbx)
movq %r14, 0xc0(%rbx)
leaq 0x39(%rbx), %rax
movq %rax, 0xb8(%rbx)
movq %rbx, %rdi
callq 0x1a2af
movq %rbx, %rdi
callq 0x1a2af
movq %rbx, %rdi
callq 0x1a2af
testl %eax, %eax
je 0x18621
movq %rbx, %rdi
callq 0x1a2af
testl %eax, %eax
je 0x18621
movq 0xb8(%rbx), %rax
cmpq 0xc0(%rbx), %rax
jae 0x185c7
leaq 0x1(%rax), %rcx
movq %rcx, 0xb8(%rbx)
movb (%rax), %al
jmp 0x18609
cmpl $0x0, 0x30(%rbx)
je 0x185ed
movq 0x28(%rbx), %rdi
leaq 0x38(%rbx), %r14
movl 0x34(%rbx), %edx
movq %r14, %rsi
callq *0x10(%rbx)
testl %eax, %eax
je 0x185f1
movslq %eax, %rcx
addq %r14, %rcx
movb (%r14), %al
jmp 0x18602
xorl %eax, %eax
jmp 0x18609
movl $0x0, 0x30(%rbx)
leaq 0x39(%rbx), %rcx
movb $0x0, 0x38(%rbx)
xorl %eax, %eax
movq %rcx, 0xc0(%rbx)
addb $-0x8, %al
xorl %ebp, %ebp
testb $-0x19, %al
sete %bpl
movq 0xc8(%rbx), %rax
movq %rax, 0xb8(%rbx)
movl %ebp, %eax
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq