// File: tomfunkhouser[P]gaps/pkgs/png/pngread.c
// Function: png_read_info
void PNGAPI
png_read_info(png_structp png_ptr, png_infop info_ptr)
{
   png_debug(1, "in png_read_info");
 
   if (png_ptr == NULL || info_ptr == NULL)
      return;
 
   /* If we haven't checked all of the PNG signature bytes, do so now. */
   if (png_ptr->sig_bytes < 8)
   {
      png_size_t num_checked = png_ptr->sig_bytes,
                 num_to_check = 8 - num_checked;

#ifdef PNG_IO_STATE_SUPPORTED
      png_ptr->io_state = PNG_IO_READING | PNG_IO_SIGNATURE;
#endif

      png_read_data(png_ptr, &(info_ptr->signature[num_checked]), num_to_check);
      png_ptr->sig_bytes = 8;

      if (png_sig_cmp(info_ptr->signature, num_checked, num_to_check))
      {
         if (num_checked < 4 &&
             png_sig_cmp(info_ptr->signature, num_checked, num_to_check - 4))
            png_error(png_ptr, "Not a PNG file");
         else
            png_error(png_ptr, "PNG file corrupted by ASCII conversion");
      }
      if (num_checked < 3)
         png_ptr->mode |= PNG_HAVE_PNG_SIGNATURE;
   }

   for (;;)
   {
      PNG_IHDR;
      PNG_IDAT;
      PNG_IEND;
      PNG_PLTE;
#ifdef PNG_READ_bKGD_SUPPORTED
      PNG_bKGD;
#endif
#ifdef PNG_READ_cHRM_SUPPORTED
      PNG_cHRM;
#endif
#ifdef PNG_READ_gAMA_SUPPORTED
      PNG_gAMA;
#endif
#ifdef PNG_READ_hIST_SUPPORTED
      PNG_hIST;
#endif
#ifdef PNG_READ_iCCP_SUPPORTED
      PNG_iCCP;
#endif
#ifdef PNG_READ_iTXt_SUPPORTED
      PNG_iTXt;
#endif
#ifdef PNG_READ_oFFs_SUPPORTED
      PNG_oFFs;
#endif
#ifdef PNG_READ_pCAL_SUPPORTED
      PNG_pCAL;
#endif
#ifdef PNG_READ_pHYs_SUPPORTED
      PNG_pHYs;
#endif
#ifdef PNG_READ_sBIT_SUPPORTED
      PNG_sBIT;
#endif
#ifdef PNG_READ_sCAL_SUPPORTED
      PNG_sCAL;
#endif
#ifdef PNG_READ_sPLT_SUPPORTED
      PNG_sPLT;
#endif
#ifdef PNG_READ_sRGB_SUPPORTED
      PNG_sRGB;
#endif
#ifdef PNG_READ_tEXt_SUPPORTED
      PNG_tEXt;
#endif
#ifdef PNG_READ_tIME_SUPPORTED
      PNG_tIME;
#endif
#ifdef PNG_READ_tRNS_SUPPORTED
      PNG_tRNS;
#endif
#ifdef PNG_READ_zTXt_SUPPORTED
      PNG_zTXt;
#endif
      png_uint_32 length = png_read_chunk_header(png_ptr);
      PNG_CONST png_bytep chunk_name = png_ptr->chunk_name;

      /* This should be a binary subdivision search or a hash for
       * matching the chunk name rather than a linear search.
       */
      if (!png_memcmp(chunk_name, png_IDAT, 4))
        if (png_ptr->mode & PNG_AFTER_IDAT)
          png_ptr->mode |= PNG_HAVE_CHUNK_AFTER_IDAT;

      if (!png_memcmp(chunk_name, png_IHDR, 4))
         png_handle_IHDR(png_ptr, info_ptr, length);
      else if (!png_memcmp(chunk_name, png_IEND, 4))
         png_handle_IEND(png_ptr, info_ptr, length);
#ifdef PNG_HANDLE_AS_UNKNOWN_SUPPORTED
      else if (png_handle_as_unknown(png_ptr, chunk_name))
      {
         if (!png_memcmp(chunk_name, png_IDAT, 4))
            png_ptr->mode |= PNG_HAVE_IDAT;
         png_handle_unknown(png_ptr, info_ptr, length);
         if (!png_memcmp(chunk_name, png_PLTE, 4))
            png_ptr->mode |= PNG_HAVE_PLTE;
         else if (!png_memcmp(chunk_name, png_IDAT, 4))
         {
            if (!(png_ptr->mode & PNG_HAVE_IHDR))
               png_error(png_ptr, "Missing IHDR before IDAT");
            else if (png_ptr->color_type == PNG_COLOR_TYPE_PALETTE &&
                     !(png_ptr->mode & PNG_HAVE_PLTE))
               png_error(png_ptr, "Missing PLTE before IDAT");
            break;
         }
      }
#endif
      else if (!png_memcmp(chunk_name, png_PLTE, 4))
         png_handle_PLTE(png_ptr, info_ptr, length);
      else if (!png_memcmp(chunk_name, png_IDAT, 4))
      {
         if (!(png_ptr->mode & PNG_HAVE_IHDR))
            png_error(png_ptr, "Missing IHDR before IDAT");
         else if (png_ptr->color_type == PNG_COLOR_TYPE_PALETTE &&
                  !(png_ptr->mode & PNG_HAVE_PLTE))
            png_error(png_ptr, "Missing PLTE before IDAT");

         png_ptr->idat_size = length;
         png_ptr->mode |= PNG_HAVE_IDAT;
         break;
      }
#ifdef PNG_READ_bKGD_SUPPORTED
      else if (!png_memcmp(chunk_name, png_bKGD, 4))
         png_handle_bKGD(png_ptr, info_ptr, length);
#endif
#ifdef PNG_READ_cHRM_SUPPORTED
      else if (!png_memcmp(chunk_name, png_cHRM, 4))
         png_handle_cHRM(png_ptr, info_ptr, length);
#endif
#ifdef PNG_READ_gAMA_SUPPORTED
      else if (!png_memcmp(chunk_name, png_gAMA, 4))
         png_handle_gAMA(png_ptr, info_ptr, length);
#endif
#ifdef PNG_READ_hIST_SUPPORTED
      else if (!png_memcmp(chunk_name, png_hIST, 4))
         png_handle_hIST(png_ptr, info_ptr, length);
#endif
#ifdef PNG_READ_oFFs_SUPPORTED
      else if (!png_memcmp(chunk_name, png_oFFs, 4))
         png_handle_oFFs(png_ptr, info_ptr, length);
#endif
#ifdef PNG_READ_pCAL_SUPPORTED
      else if (!png_memcmp(chunk_name, png_pCAL, 4))
         png_handle_pCAL(png_ptr, info_ptr, length);
#endif
#ifdef PNG_READ_sCAL_SUPPORTED
      else if (!png_memcmp(chunk_name, png_sCAL, 4))
         png_handle_sCAL(png_ptr, info_ptr, length);
#endif
#ifdef PNG_READ_pHYs_SUPPORTED
      else if (!png_memcmp(chunk_name, png_pHYs, 4))
         png_handle_pHYs(png_ptr, info_ptr, length);
#endif
#ifdef PNG_READ_sBIT_SUPPORTED
      else if (!png_memcmp(chunk_name, png_sBIT, 4))
         png_handle_sBIT(png_ptr, info_ptr, length);
#endif
#ifdef PNG_READ_sRGB_SUPPORTED
      else if (!png_memcmp(chunk_name, png_sRGB, 4))
         png_handle_sRGB(png_ptr, info_ptr, length);
#endif
#ifdef PNG_READ_iCCP_SUPPORTED
      else if (!png_memcmp(chunk_name, png_iCCP, 4))
         png_handle_iCCP(png_ptr, info_ptr, length);
#endif
#ifdef PNG_READ_sPLT_SUPPORTED
      else if (!png_memcmp(chunk_name, png_sPLT, 4))
         png_handle_sPLT(png_ptr, info_ptr, length);
#endif
#ifdef PNG_READ_tEXt_SUPPORTED
      else if (!png_memcmp(chunk_name, png_tEXt, 4))
         png_handle_tEXt(png_ptr, info_ptr, length);
#endif
#ifdef PNG_READ_tIME_SUPPORTED
      else if (!png_memcmp(chunk_name, png_tIME, 4))
         png_handle_tIME(png_ptr, info_ptr, length);
#endif
#ifdef PNG_READ_tRNS_SUPPORTED
      else if (!png_memcmp(chunk_name, png_tRNS, 4))
         png_handle_tRNS(png_ptr, info_ptr, length);
#endif
#ifdef PNG_READ_zTXt_SUPPORTED
      else if (!png_memcmp(chunk_name, png_zTXt, 4))
         png_handle_zTXt(png_ptr, info_ptr, length);
#endif
#ifdef PNG_READ_iTXt_SUPPORTED
      else if (!png_memcmp(chunk_name, png_iTXt, 4))
         png_handle_iTXt(png_ptr, info_ptr, length);
#endif
      else
         png_handle_unknown(png_ptr, info_ptr, length);
   }
}

// Assembly:
subq $0x98, %rsp
movq %rdi, 0x90(%rsp)
movq %rsi, 0x88(%rsp)
cmpq $0x0, 0x90(%rsp)
je 0x100c0d
cmpq $0x0, 0x88(%rsp)
jne 0x100c12
jmp 0x1015dd
movq 0x90(%rsp), %rax
movzbl 0x254(%rax), %eax
cmpl $0x8, %eax
jge 0x100d42
movq 0x90(%rsp), %rax
movzbl 0x254(%rax), %eax
movq %rax, 0x80(%rsp)
movl $0x8, %eax
subq 0x80(%rsp), %rax
movq %rax, 0x78(%rsp)
movq 0x90(%rsp), %rax
movl $0x11, 0x490(%rax)
movq 0x90(%rsp), %rdi
movq 0x88(%rsp), %rsi
addq $0x2c, %rsi
addq 0x80(%rsp), %rsi
movq 0x78(%rsp), %rdx
callq 0x103570
movq 0x90(%rsp), %rax
movb $0x8, 0x254(%rax)
movq 0x88(%rsp), %rdi
addq $0x2c, %rdi
movq 0x80(%rsp), %rsi
movq 0x78(%rsp), %rdx
callq 0xfb590
cmpl $0x0, %eax
je 0x100d1b
cmpq $0x4, 0x80(%rsp)
jae 0x100d05
movq 0x88(%rsp), %rdi
addq $0x2c, %rdi
movq 0x80(%rsp), %rsi
movq 0x78(%rsp), %rdx
subq $0x4, %rdx
callq 0xfb590
cmpl $0x0, %eax
je 0x100d05
movq 0x90(%rsp), %rdi
leaq 0x3847f(%rip), %rsi     # 0x13917d
callq 0x113860
jmp 0x100d19
movq 0x90(%rsp), %rdi
leaq 0x38478(%rip), %rsi     # 0x13918c
callq 0x113860
jmp 0x100d1b
cmpq $0x3, 0x80(%rsp)
jae 0x100d40
movq 0x90(%rsp), %rax
movl 0x11c(%rax), %ecx
orl $0x1000, %ecx           # imm = 0x1000
movl %ecx, 0x11c(%rax)
jmp 0x100d42
jmp 0x100d44
movl 0x3e4e2(%rip), %eax     # 0x13f22c
movl %eax, 0x73(%rsp)
movb 0x3e4dc(%rip), %al      # 0x13f230
movb %al, 0x77(%rsp)
movl 0x3848c(%rip), %eax     # 0x1391ea
movl %eax, 0x6e(%rsp)
movb 0x38486(%rip), %al      # 0x1391ee
movb %al, 0x72(%rsp)
movl 0x38441(%rip), %eax     # 0x1391b3
movl %eax, 0x69(%rsp)
movb 0x3843b(%rip), %al      # 0x1391b7
movb %al, 0x6d(%rsp)
movl 0x3e4d2(%rip), %eax     # 0x13f258
movl %eax, 0x64(%rsp)
movb 0x3e4cc(%rip), %al      # 0x13f25c
movb %al, 0x68(%rsp)
movl 0x3eb82(%rip), %eax     # 0x13f91c
movl %eax, 0x5f(%rsp)
movb 0x3eb7c(%rip), %al      # 0x13f920
movb %al, 0x63(%rsp)
movl 0x3e73d(%rip), %eax     # 0x13f4eb
movl %eax, 0x5a(%rsp)
movb 0x3e737(%rip), %al      # 0x13f4ef
movb %al, 0x5e(%rsp)
movl 0x3e597(%rip), %eax     # 0x13f359
movl %eax, 0x55(%rsp)
movb 0x3e591(%rip), %al      # 0x13f35d
movb %al, 0x59(%rsp)
movl 0x3ebe2(%rip), %eax     # 0x13f9b8
movl %eax, 0x50(%rsp)
movb 0x3ebdc(%rip), %al      # 0x13f9bc
movb %al, 0x54(%rsp)
movl 0x3e866(%rip), %eax     # 0x13f650
movl %eax, 0x4b(%rsp)
movb 0x3e860(%rip), %al      # 0x13f654
movb %al, 0x4f(%rsp)
movl 0x3f08b(%rip), %eax     # 0x13fe89
movl %eax, 0x46(%rsp)
movb 0x3f085(%rip), %al      # 0x13fe8d
movb %al, 0x4a(%rsp)
movl 0x3ec52(%rip), %eax     # 0x13fa64
movl %eax, 0x41(%rsp)
movb 0x3ec4c(%rip), %al      # 0x13fa68
movb %al, 0x45(%rsp)
movl 0x3eca0(%rip), %eax     # 0x13fac6
movl %eax, 0x3c(%rsp)
movb 0x3ec9a(%rip), %al      # 0x13faca
movb %al, 0x40(%rsp)
movl 0x3ebc8(%rip), %eax     # 0x13fa02
movl %eax, 0x37(%rsp)
movb 0x3ebc2(%rip), %al      # 0x13fa06
movb %al, 0x3b(%rsp)
movl 0x3e5f2(%rip), %eax     # 0x13f440
movl %eax, 0x32(%rsp)
movb 0x3e5ec(%rip), %al      # 0x13f444
movb %al, 0x36(%rsp)
movl 0x3ed45(%rip), %eax     # 0x13fba7
movl %eax, 0x2d(%rsp)
movb 0x3ed3f(%rip), %al      # 0x13fbab
movb %al, 0x31(%rsp)
movl 0x3e921(%rip), %eax     # 0x13f797
movl %eax, 0x28(%rsp)
movb 0x3e91b(%rip), %al      # 0x13f79b
movb %al, 0x2c(%rsp)
movl 0x3e71b(%rip), %eax     # 0x13f5a5
movl %eax, 0x23(%rsp)
movb 0x3e715(%rip), %al      # 0x13f5a9
movb %al, 0x27(%rsp)
movl 0x3ee55(%rip), %eax     # 0x13fcf3
movl %eax, 0x1e(%rsp)
movb 0x3ee4f(%rip), %al      # 0x13fcf7
movb %al, 0x22(%rsp)
movl 0x38306(%rip), %eax     # 0x1391b8
movl %eax, 0x19(%rsp)
movb 0x38300(%rip), %al      # 0x1391bc
movb %al, 0x1d(%rsp)
movl 0x3e9cb(%rip), %eax     # 0x13f891
movl %eax, 0x14(%rsp)
movb 0x3e9c5(%rip), %al      # 0x13f895
movb %al, 0x18(%rsp)
movl 0x3eec5(%rip), %eax     # 0x13fd9f
movl %eax, 0xf(%rsp)
movb 0x3eebf(%rip), %al      # 0x13fda3
movb %al, 0x13(%rsp)
movq 0x90(%rsp), %rdi
callq 0x122970
movl %eax, 0x8(%rsp)
movq 0x90(%rsp), %rax
addq $0x244, %rax            # imm = 0x244
movq %rax, (%rsp)
movq (%rsp), %rax
leaq 0x6e(%rsp), %rcx
movl (%rcx), %ecx
movl (%rax), %eax
subl %ecx, %eax
setne %al
movzbl %al, %eax
cmpl $0x0, %eax
jne 0x100f57
movq 0x90(%rsp), %rax
movl 0x11c(%rax), %eax
andl $0x8, %eax
cmpl $0x0, %eax
je 0x100f55
movq 0x90(%rsp), %rax
movl 0x11c(%rax), %ecx
orl $0x2000, %ecx           # imm = 0x2000
movl %ecx, 0x11c(%rax)
jmp 0x100f57
movq (%rsp), %rax
leaq 0x73(%rsp), %rcx
movl (%rcx), %ecx
movl (%rax), %eax
subl %ecx, %eax
setne %al
movzbl %al, %eax
cmpl $0x0, %eax
jne 0x100f8f
movq 0x90(%rsp), %rdi
movq 0x88(%rsp), %rsi
movl 0x8(%rsp), %edx
callq 0x1232e0
jmp 0x1015d8
movq (%rsp), %rax
leaq 0x69(%rsp), %rcx
movl (%rcx), %ecx
movl (%rax), %eax
subl %ecx, %eax
setne %al
movzbl %al, %eax
cmpl $0x0, %eax
jne 0x100fc7
movq 0x90(%rsp), %rdi
movq 0x88(%rsp), %rsi
movl 0x8(%rsp), %edx
callq 0x123870
jmp 0x1015d6
movq 0x90(%rsp), %rdi
movq (%rsp), %rsi
callq 0xfc3e0
cmpl $0x0, %eax
je 0x1010f3
movq (%rsp), %rax
leaq 0x6e(%rsp), %rcx
movl (%rcx), %ecx
movl (%rax), %eax
subl %ecx, %eax
setne %al
movzbl %al, %eax
cmpl $0x0, %eax
jne 0x101012
movq 0x90(%rsp), %rax
movl 0x11c(%rax), %ecx
orl $0x4, %ecx
movl %ecx, 0x11c(%rax)
movq 0x90(%rsp), %rdi
movq 0x88(%rsp), %rsi
movl 0x8(%rsp), %edx
callq 0x1275d0
movq (%rsp), %rax
leaq 0x64(%rsp), %rcx
movl (%rcx), %ecx
movl (%rax), %eax
subl %ecx, %eax
setne %al
movzbl %al, %eax
cmpl $0x0, %eax
jne 0x101061
movq 0x90(%rsp), %rax
movl 0x11c(%rax), %ecx
orl $0x2, %ecx
movl %ecx, 0x11c(%rax)
jmp 0x1010ee
movq (%rsp), %rax
leaq 0x6e(%rsp), %rcx
movl (%rcx), %ecx
movl (%rax), %eax
subl %ecx, %eax
setne %al
movzbl %al, %eax
cmpl $0x0, %eax
jne 0x1010ec
movq 0x90(%rsp), %rax
movl 0x11c(%rax), %eax
andl $0x1, %eax
cmpl $0x0, %eax
jne 0x1010a7
movq 0x90(%rsp), %rdi
leaq 0x3811d(%rip), %rsi     # 0x1391bd
callq 0x113860
jmp 0x1010e7
movq 0x90(%rsp), %rax
movzbl 0x24e(%rax), %eax
cmpl $0x3, %eax
jne 0x1010e5
movq 0x90(%rsp), %rax
movl 0x11c(%rax), %eax
andl $0x2, %eax
cmpl $0x0, %eax
jne 0x1010e5
movq 0x90(%rsp), %rdi
leaq 0x380f6(%rip), %rsi     # 0x1391d6
callq 0x113860
jmp 0x1010e7
jmp 0x1015dd
jmp 0x1010ee
jmp 0x1015d4
movq (%rsp), %rax
leaq 0x64(%rsp), %rcx
movl (%rcx), %ecx
movl (%rax), %eax
subl %ecx, %eax
setne %al
movzbl %al, %eax
cmpl $0x0, %eax
jne 0x10112b
movq 0x90(%rsp), %rdi
movq 0x88(%rsp), %rsi
movl 0x8(%rsp), %edx
callq 0x123560
jmp 0x1015d2
movq (%rsp), %rax
leaq 0x6e(%rsp), %rcx
movl (%rcx), %ecx
movl (%rax), %eax
subl %ecx, %eax
setne %al
movzbl %al, %eax
cmpl $0x0, %eax
jne 0x1011e3
movq 0x90(%rsp), %rax
movl 0x11c(%rax), %eax
andl $0x1, %eax
cmpl $0x0, %eax
jne 0x101175
movq 0x90(%rsp), %rdi
leaq 0x3804f(%rip), %rsi     # 0x1391bd
callq 0x113860
jmp 0x1011b5
movq 0x90(%rsp), %rax
movzbl 0x24e(%rax), %eax
cmpl $0x3, %eax
jne 0x1011b3
movq 0x90(%rsp), %rax
movl 0x11c(%rax), %eax
andl $0x2, %eax
cmpl $0x0, %eax
jne 0x1011b3
movq 0x90(%rsp), %rdi
leaq 0x38028(%rip), %rsi     # 0x1391d6
callq 0x113860
jmp 0x1011b5
movl 0x8(%rsp), %ecx
movq 0x90(%rsp), %rax
movl %ecx, 0x230(%rax)
movq 0x90(%rsp), %rax
movl 0x11c(%rax), %ecx
orl $0x4, %ecx
movl %ecx, 0x11c(%rax)
jmp 0x1015dd
movq (%rsp), %rax
leaq 0x5f(%rsp), %rcx
movl (%rcx), %ecx
movl (%rax), %eax
subl %ecx, %eax
setne %al
movzbl %al, %eax
cmpl $0x0, %eax
jne 0x10121b
movq 0x90(%rsp), %rdi
movq 0x88(%rsp), %rsi
movl 0x8(%rsp), %edx
callq 0x125540
jmp 0x1015ce
movq (%rsp), %rax
leaq 0x5a(%rsp), %rcx
movl (%rcx), %ecx
movl (%rax), %eax
subl %ecx, %eax
setne %al
movzbl %al, %eax
cmpl $0x0, %eax
jne 0x101253
movq 0x90(%rsp), %rdi
movq 0x88(%rsp), %rsi
movl 0x8(%rsp), %edx
callq 0x123d90
jmp 0x1015cc
movq (%rsp), %rax
leaq 0x55(%rsp), %rcx
movl (%rcx), %ecx
movl (%rax), %eax
subl %ecx, %eax
setne %al
movzbl %al, %eax
cmpl $0x0, %eax
jne 0x10128b
movq 0x90(%rsp), %rdi
movq 0x88(%rsp), %rsi
movl 0x8(%rsp), %edx
callq 0x123910
jmp 0x1015ca
movq (%rsp), %rax
leaq 0x50(%rsp), %rcx
movl (%rcx), %ecx
movl (%rax), %eax
subl %ecx, %eax
setne %al
movzbl %al, %eax
cmpl $0x0, %eax
jne 0x1012c3
movq 0x90(%rsp), %rdi
movq 0x88(%rsp), %rsi
movl 0x8(%rsp), %edx
callq 0x1258a0
jmp 0x1015c8
movq (%rsp), %rax
leaq 0x41(%rsp), %rcx
movl (%rcx), %ecx
movl (%rax), %eax
subl %ecx, %eax
setne %al
movzbl %al, %eax
cmpl $0x0, %eax
jne 0x1012fb
movq 0x90(%rsp), %rdi
movq 0x88(%rsp), %rsi
movl 0x8(%rsp), %edx
callq 0x125c50
jmp 0x1015c6
movq (%rsp), %rax
leaq 0x3c(%rsp), %rcx
movl (%rcx), %ecx
movl (%rax), %eax
subl %ecx, %eax
setne %al
movzbl %al, %eax
cmpl $0x0, %eax
jne 0x101333
movq 0x90(%rsp), %rdi
movq 0x88(%rsp), %rsi
movl 0x8(%rsp), %edx
callq 0x125e70
jmp 0x1015c4
movq (%rsp), %rax
leaq 0x2d(%rsp), %rcx
movl (%rcx), %ecx
movl (%rax), %eax
subl %ecx, %eax
setne %al
movzbl %al, %eax
cmpl $0x0, %eax
jne 0x10136b
movq 0x90(%rsp), %rdi
movq 0x88(%rsp), %rsi
movl 0x8(%rsp), %edx
callq 0x126470
jmp 0x1015c2
movq (%rsp), %rax
leaq 0x37(%rsp), %rcx
movl (%rcx), %ecx
movl (%rax), %eax
subl %ecx, %eax
setne %al
movzbl %al, %eax
cmpl $0x0, %eax
jne 0x1013a3
movq 0x90(%rsp), %rdi
movq 0x88(%rsp), %rsi
movl 0x8(%rsp), %edx
callq 0x125ad0
jmp 0x1015c0
movq (%rsp), %rax
leaq 0x32(%rsp), %rcx
movl (%rcx), %ecx
movl (%rax), %eax
subl %ecx, %eax
setne %al
movzbl %al, %eax
cmpl $0x0, %eax
jne 0x1013db
movq 0x90(%rsp), %rdi
movq 0x88(%rsp), %rsi
movl 0x8(%rsp), %edx
callq 0x123b50
jmp 0x1015be
movq (%rsp), %rax
leaq 0x23(%rsp), %rcx
movl (%rcx), %ecx
movl (%rax), %eax
subl %ecx, %eax
setne %al
movzbl %al, %eax
cmpl $0x0, %eax
jne 0x101413
movq 0x90(%rsp), %rdi
movq 0x88(%rsp), %rsi
movl 0x8(%rsp), %edx
callq 0x1243c0
jmp 0x1015bc
movq (%rsp), %rax
leaq 0x4b(%rsp), %rcx
movl (%rcx), %ecx
movl (%rax), %eax
subl %ecx, %eax
setne %al
movzbl %al, %eax
cmpl $0x0, %eax
jne 0x10144b
movq 0x90(%rsp), %rdi
movq 0x88(%rsp), %rsi
movl 0x8(%rsp), %edx
callq 0x124710
jmp 0x1015ba
movq (%rsp), %rax
leaq 0x28(%rsp), %rcx
movl (%rcx), %ecx
movl (%rax), %eax
subl %ecx, %eax
setne %al
movzbl %al, %eax
cmpl $0x0, %eax
jne 0x101483
movq 0x90(%rsp), %rdi
movq 0x88(%rsp), %rsi
movl 0x8(%rsp), %edx
callq 0x124bf0
jmp 0x1015b8
movq (%rsp), %rax
leaq 0x1e(%rsp), %rcx
movl (%rcx), %ecx
movl (%rax), %eax
subl %ecx, %eax
setne %al
movzbl %al, %eax
cmpl $0x0, %eax
jne 0x1014bb
movq 0x90(%rsp), %rdi
movq 0x88(%rsp), %rsi
movl 0x8(%rsp), %edx
callq 0x126960
jmp 0x1015b6
movq (%rsp), %rax
leaq 0x19(%rsp), %rcx
movl (%rcx), %ecx
movl (%rax), %eax
subl %ecx, %eax
setne %al
movzbl %al, %eax
cmpl $0x0, %eax
jne 0x1014f3
movq 0x90(%rsp), %rdi
movq 0x88(%rsp), %rsi
movl 0x8(%rsp), %edx
callq 0x126810
jmp 0x1015b4
movq (%rsp), %rax
leaq 0x14(%rsp), %rcx
movl (%rcx), %ecx
movl (%rax), %eax
subl %ecx, %eax
setne %al
movzbl %al, %eax
cmpl $0x0, %eax
jne 0x10152b
movq 0x90(%rsp), %rdi
movq 0x88(%rsp), %rsi
movl 0x8(%rsp), %edx
callq 0x125140
jmp 0x1015b2
movq (%rsp), %rax
leaq 0xf(%rsp), %rcx
movl (%rcx), %ecx
movl (%rax), %eax
subl %ecx, %eax
setne %al
movzbl %al, %eax
cmpl $0x0, %eax
jne 0x101560
movq 0x90(%rsp), %rdi
movq 0x88(%rsp), %rsi
movl 0x8(%rsp), %edx
callq 0x126c90
jmp 0x1015b0
movq (%rsp), %rax
leaq 0x46(%rsp), %rcx
movl (%rcx), %ecx
movl (%rax), %eax
subl %ecx, %eax
setne %al
movzbl %al, %eax
cmpl $0x0, %eax
jne 0x101595
movq 0x90(%rsp), %rdi
movq 0x88(%rsp), %rsi
movl 0x8(%rsp), %edx
callq 0x127070
jmp 0x1015ae
movq 0x90(%rsp), %rdi
movq 0x88(%rsp), %rsi
movl 0x8(%rsp), %edx
callq 0x1275d0
jmp 0x1015b0
jmp 0x1015b2
jmp 0x1015b4
jmp 0x1015b6
jmp 0x1015b8
jmp 0x1015ba
jmp 0x1015bc
jmp 0x1015be
jmp 0x1015c0
jmp 0x1015c2
jmp 0x1015c4
jmp 0x1015c6
jmp 0x1015c8
jmp 0x1015ca
jmp 0x1015cc
jmp 0x1015ce
jmp 0x1015d0
jmp 0x1015d2
jmp 0x1015d4
jmp 0x1015d6
jmp 0x1015d8
jmp 0x100d44
addq $0x98, %rsp
retq
nopw %cs:(%rax,%rax)