// File: /workspace/github_c_makefile_star2_O0/zhiyb[P]png2tlg/./stb_image.h
// Function: stbi__gif_header(stbi__context*, stbi__gif*, int*, int)
static int stbi__gif_header(stbi__context *s, stbi__gif *g, int *comp, int is_info)
{
   stbi_uc version;
   if (stbi__get8(s) != 'G' || stbi__get8(s) != 'I' || stbi__get8(s) != 'F' || stbi__get8(s) != '8')
      return stbi__err("not GIF", "Corrupt GIF");

   version = stbi__get8(s);
   if (version != '7' && version != '9')    return stbi__err("not GIF", "Corrupt GIF");
   if (stbi__get8(s) != 'a')                return stbi__err("not GIF", "Corrupt GIF");

   stbi__g_failure_reason = "";
   g->w = stbi__get16le(s);
   g->h = stbi__get16le(s);
   g->flags = stbi__get8(s);
   g->bgindex = stbi__get8(s);
   g->ratio = stbi__get8(s);
   g->transparent = -1;

   if (comp != 0) *comp = 4;  // can't actually tell whether it's 3 or 4 until we parse the comments

   if (is_info) return 1;

   if (g->flags & 0x80)
      stbi__gif_parse_colortable(s,g->pal, 2 << (g->flags & 7), -1);

   return 1;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movl %ecx, -0x24(%rbp)
movq -0x10(%rbp), %rdi
callq 0x12e60
movzbl %al, %eax
cmpl $0x47, %eax
jne 0x1b6fb
movq -0x10(%rbp), %rdi
callq 0x12e60
movzbl %al, %eax
cmpl $0x49, %eax
jne 0x1b6fb
movq -0x10(%rbp), %rdi
callq 0x12e60
movzbl %al, %eax
cmpl $0x46, %eax
jne 0x1b6fb
movq -0x10(%rbp), %rdi
callq 0x12e60
movzbl %al, %eax
cmpl $0x38, %eax
je 0x1b70f
leaq 0x5824(%rip), %rdi      # 0x20f26
callq 0x2680
movl %eax, -0x4(%rbp)
jmp 0x1b83a
movq -0x10(%rbp), %rdi
callq 0x12e60
movb %al, -0x25(%rbp)
movzbl -0x25(%rbp), %eax
cmpl $0x37, %eax
je 0x1b741
movzbl -0x25(%rbp), %eax
cmpl $0x39, %eax
je 0x1b741
leaq 0x57f2(%rip), %rdi      # 0x20f26
callq 0x2680
movl %eax, -0x4(%rbp)
jmp 0x1b83a
movq -0x10(%rbp), %rdi
callq 0x12e60
movzbl %al, %eax
cmpl $0x61, %eax
je 0x1b766
leaq 0x57cd(%rip), %rdi      # 0x20f26
callq 0x2680
movl %eax, -0x4(%rbp)
jmp 0x1b83a
leaq 0x5bb8(%rip), %rax      # 0x21325
movq %rax, 0xabc4(%rip)      # 0x26338
movq -0x10(%rbp), %rdi
callq 0x1a7d0
movl %eax, %ecx
movq -0x18(%rbp), %rax
movl %ecx, (%rax)
movq -0x10(%rbp), %rdi
callq 0x1a7d0
movl %eax, %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x4(%rax)
movq -0x10(%rbp), %rdi
callq 0x12e60
movzbl %al, %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x20(%rax)
movq -0x10(%rbp), %rdi
callq 0x12e60
movzbl %al, %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x24(%rax)
movq -0x10(%rbp), %rdi
callq 0x12e60
movzbl %al, %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x28(%rax)
movq -0x18(%rbp), %rax
movl $0xffffffff, 0x2c(%rax) # imm = 0xFFFFFFFF
cmpq $0x0, -0x20(%rbp)
je 0x1b7ec
movq -0x20(%rbp), %rax
movl $0x4, (%rax)
cmpl $0x0, -0x24(%rbp)
je 0x1b7fb
movl $0x1, -0x4(%rbp)
jmp 0x1b83a
movq -0x18(%rbp), %rax
movl 0x20(%rax), %eax
andl $0x80, %eax
cmpl $0x0, %eax
je 0x1b833
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
addq $0x34, %rsi
movq -0x18(%rbp), %rax
movl 0x20(%rax), %ecx
andl $0x7, %ecx
movl $0x2, %edx
shll %cl, %edx
movl $0xffffffff, %ecx       # imm = 0xFFFFFFFF
callq 0x1b850
movl $0x1, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x30, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)