// File: tomfunkhouser[P]gaps/pkgs/png/pngrtran.c
// Function: png_do_read_filler
void /* PRIVATE */
png_do_read_filler(png_row_infop row_info, png_bytep row,
   png_uint_32 filler, png_uint_32 flags)
{
   png_uint_32 i;
   png_uint_32 row_width = row_info->width;

   png_byte hi_filler = (png_byte)((filler>>8) & 0xff);
   png_byte lo_filler = (png_byte)(filler & 0xff);

   png_debug(1, "in png_do_read_filler");

   if (
       row_info->color_type == PNG_COLOR_TYPE_GRAY)
   {
      if (row_info->bit_depth == 8)
      {
         /* This changes the data from G to GX */
         if (flags & PNG_FLAG_FILLER_AFTER)
         {
            png_bytep sp = row + (png_size_t)row_width;
            png_bytep dp =  sp + (png_size_t)row_width;
            for (i = 1; i < row_width; i++)
            {
               *(--dp) = lo_filler;
               *(--dp) = *(--sp);
            }
            *(--dp) = lo_filler;
            row_info->channels = 2;
            row_info->pixel_depth = 16;
            row_info->rowbytes = row_width * 2;
         }
      /* This changes the data from G to XG */
         else
         {
            png_bytep sp = row + (png_size_t)row_width;
            png_bytep dp = sp  + (png_size_t)row_width;
            for (i = 0; i < row_width; i++)
            {
               *(--dp) = *(--sp);
               *(--dp) = lo_filler;
            }
            row_info->channels = 2;
            row_info->pixel_depth = 16;
            row_info->rowbytes = row_width * 2;
         }
      }
      else if (row_info->bit_depth == 16)
      {
         /* This changes the data from GG to GGXX */
         if (flags & PNG_FLAG_FILLER_AFTER)
         {
            png_bytep sp = row + (png_size_t)row_width * 2;
            png_bytep dp = sp  + (png_size_t)row_width * 2;
            for (i = 1; i < row_width; i++)
            {
               *(--dp) = hi_filler;
               *(--dp) = lo_filler;
               *(--dp) = *(--sp);
               *(--dp) = *(--sp);
            }
            *(--dp) = hi_filler;
            *(--dp) = lo_filler;
            row_info->channels = 2;
            row_info->pixel_depth = 32;
            row_info->rowbytes = row_width * 4;
         }
         /* This changes the data from GG to XXGG */
         else
         {
            png_bytep sp = row + (png_size_t)row_width * 2;
            png_bytep dp = sp  + (png_size_t)row_width * 2;
            for (i = 0; i < row_width; i++)
            {
               *(--dp) = *(--sp);
               *(--dp) = *(--sp);
               *(--dp) = hi_filler;
               *(--dp) = lo_filler;
            }
            row_info->channels = 2;
            row_info->pixel_depth = 32;
            row_info->rowbytes = row_width * 4;
         }
      }
   } /* COLOR_TYPE == GRAY */
   else if (row_info->color_type == PNG_COLOR_TYPE_RGB)
   {
      if (row_info->bit_depth == 8)
      {
         /* This changes the data from RGB to RGBX */
         if (flags & PNG_FLAG_FILLER_AFTER)
         {
            png_bytep sp = row + (png_size_t)row_width * 3;
            png_bytep dp = sp  + (png_size_t)row_width;
            for (i = 1; i < row_width; i++)
            {
               *(--dp) = lo_filler;
               *(--dp) = *(--sp);
               *(--dp) = *(--sp);
               *(--dp) = *(--sp);
            }
            *(--dp) = lo_filler;
            row_info->channels = 4;
            row_info->pixel_depth = 32;
            row_info->rowbytes = row_width * 4;
         }
      /* This changes the data from RGB to XRGB */
         else
         {
            png_bytep sp = row + (png_size_t)row_width * 3;
            png_bytep dp = sp + (png_size_t)row_width;
            for (i = 0; i < row_width; i++)
            {
               *(--dp) = *(--sp);
               *(--dp) = *(--sp);
               *(--dp) = *(--sp);
               *(--dp) = lo_filler;
            }
            row_info->channels = 4;
            row_info->pixel_depth = 32;
            row_info->rowbytes = row_width * 4;
         }
      }
      else if (row_info->bit_depth == 16)
      {
         /* This changes the data from RRGGBB to RRGGBBXX */
         if (flags & PNG_FLAG_FILLER_AFTER)
         {
            png_bytep sp = row + (png_size_t)row_width * 6;
            png_bytep dp = sp  + (png_size_t)row_width * 2;
            for (i = 1; i < row_width; i++)
            {
               *(--dp) = hi_filler;
               *(--dp) = lo_filler;
               *(--dp) = *(--sp);
               *(--dp) = *(--sp);
               *(--dp) = *(--sp);
               *(--dp) = *(--sp);
               *(--dp) = *(--sp);
               *(--dp) = *(--sp);
            }
            *(--dp) = hi_filler;
            *(--dp) = lo_filler;
            row_info->channels = 4;
            row_info->pixel_depth = 64;
            row_info->rowbytes = row_width * 8;
         }
         /* This changes the data from RRGGBB to XXRRGGBB */
         else
         {
            png_bytep sp = row + (png_size_t)row_width * 6;
            png_bytep dp = sp  + (png_size_t)row_width * 2;
            for (i = 0; i < row_width; i++)
            {
               *(--dp) = *(--sp);
               *(--dp) = *(--sp);
               *(--dp) = *(--sp);
               *(--dp) = *(--sp);
               *(--dp) = *(--sp);
               *(--dp) = *(--sp);
               *(--dp) = hi_filler;
               *(--dp) = lo_filler;
            }
            row_info->channels = 4;
            row_info->pixel_depth = 64;
            row_info->rowbytes = row_width * 8;
         }
      }
   } /* COLOR_TYPE == RGB */
}

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq %rsi, 0x18(%rsp)
movl %edx, 0x14(%rsp)
movl %ecx, 0x10(%rsp)
movq 0x20(%rsp), %rax
movl (%rax), %eax
movl %eax, 0x8(%rsp)
movl 0x14(%rsp), %eax
shrl $0x8, %eax
andl $0xff, %eax
movb %al, 0x7(%rsp)
movl 0x14(%rsp), %eax
andl $0xff, %eax
movb %al, 0x6(%rsp)
movq 0x20(%rsp), %rax
movzbl 0x10(%rax), %eax
cmpl $0x0, %eax
jne 0x110dfc
movq 0x20(%rsp), %rax
movzbl 0x11(%rax), %eax
cmpl $0x8, %eax
jne 0x110bb2
movl 0x10(%rsp), %eax
andl $0x80, %eax
cmpl $0x0, %eax
je 0x110b07
movq 0x18(%rsp), %rax
movl 0x8(%rsp), %ecx
addq %rcx, %rax
movq %rax, -0x8(%rsp)
movq -0x8(%rsp), %rax
movl 0x8(%rsp), %ecx
addq %rcx, %rax
movq %rax, -0x10(%rsp)
movl $0x1, 0xc(%rsp)
movl 0xc(%rsp), %eax
cmpl 0x8(%rsp), %eax
jae 0x110ac5
movb 0x6(%rsp), %cl
movq -0x10(%rsp), %rax
movq %rax, %rdx
addq $-0x1, %rdx
movq %rdx, -0x10(%rsp)
movb %cl, -0x1(%rax)
movq -0x8(%rsp), %rax
movq %rax, %rcx
addq $-0x1, %rcx
movq %rcx, -0x8(%rsp)
movb -0x1(%rax), %cl
movq -0x10(%rsp), %rax
movq %rax, %rdx
addq $-0x1, %rdx
movq %rdx, -0x10(%rsp)
movb %cl, -0x1(%rax)
movl 0xc(%rsp), %eax
addl $0x1, %eax
movl %eax, 0xc(%rsp)
jmp 0x110a6e
movb 0x6(%rsp), %cl
movq -0x10(%rsp), %rax
movq %rax, %rdx
addq $-0x1, %rdx
movq %rdx, -0x10(%rsp)
movb %cl, -0x1(%rax)
movq 0x20(%rsp), %rax
movb $0x2, 0x12(%rax)
movq 0x20(%rsp), %rax
movb $0x10, 0x13(%rax)
movl 0x8(%rsp), %eax
shll %eax
movl %eax, %eax
movl %eax, %ecx
movq 0x20(%rsp), %rax
movq %rcx, 0x8(%rax)
jmp 0x110bad
movq 0x18(%rsp), %rax
movl 0x8(%rsp), %ecx
addq %rcx, %rax
movq %rax, -0x18(%rsp)
movq -0x18(%rsp), %rax
movl 0x8(%rsp), %ecx
addq %rcx, %rax
movq %rax, -0x20(%rsp)
movl $0x0, 0xc(%rsp)
movl 0xc(%rsp), %eax
cmpl 0x8(%rsp), %eax
jae 0x110b88
movq -0x18(%rsp), %rax
movq %rax, %rcx
addq $-0x1, %rcx
movq %rcx, -0x18(%rsp)
movb -0x1(%rax), %cl
movq -0x20(%rsp), %rax
movq %rax, %rdx
addq $-0x1, %rdx
movq %rdx, -0x20(%rsp)
movb %cl, -0x1(%rax)
movb 0x6(%rsp), %cl
movq -0x20(%rsp), %rax
movq %rax, %rdx
addq $-0x1, %rdx
movq %rdx, -0x20(%rsp)
movb %cl, -0x1(%rax)
movl 0xc(%rsp), %eax
addl $0x1, %eax
movl %eax, 0xc(%rsp)
jmp 0x110b31
movq 0x20(%rsp), %rax
movb $0x2, 0x12(%rax)
movq 0x20(%rsp), %rax
movb $0x10, 0x13(%rax)
movl 0x8(%rsp), %eax
shll %eax
movl %eax, %eax
movl %eax, %ecx
movq 0x20(%rsp), %rax
movq %rcx, 0x8(%rax)
jmp 0x110df7
movq 0x20(%rsp), %rax
movzbl 0x11(%rax), %eax
cmpl $0x10, %eax
jne 0x110df5
movl 0x10(%rsp), %eax
andl $0x80, %eax
cmpl $0x0, %eax
je 0x110cff
movq 0x18(%rsp), %rax
movl 0x8(%rsp), %ecx
shlq %rcx
addq %rcx, %rax
movq %rax, -0x28(%rsp)
movq -0x28(%rsp), %rax
movl 0x8(%rsp), %ecx
shlq %rcx
addq %rcx, %rax
movq %rax, -0x30(%rsp)
movl $0x1, 0xc(%rsp)
movl 0xc(%rsp), %eax
cmpl 0x8(%rsp), %eax
jae 0x110ca4
movb 0x7(%rsp), %cl
movq -0x30(%rsp), %rax
movq %rax, %rdx
addq $-0x1, %rdx
movq %rdx, -0x30(%rsp)
movb %cl, -0x1(%rax)
movb 0x6(%rsp), %cl
movq -0x30(%rsp), %rax
movq %rax, %rdx
addq $-0x1, %rdx
movq %rdx, -0x30(%rsp)
movb %cl, -0x1(%rax)
movq -0x28(%rsp), %rax
movq %rax, %rcx
addq $-0x1, %rcx
movq %rcx, -0x28(%rsp)
movb -0x1(%rax), %cl
movq -0x30(%rsp), %rax
movq %rax, %rdx
addq $-0x1, %rdx
movq %rdx, -0x30(%rsp)
movb %cl, -0x1(%rax)
movq -0x28(%rsp), %rax
movq %rax, %rcx
addq $-0x1, %rcx
movq %rcx, -0x28(%rsp)
movb -0x1(%rax), %cl
movq -0x30(%rsp), %rax
movq %rax, %rdx
addq $-0x1, %rdx
movq %rdx, -0x30(%rsp)
movb %cl, -0x1(%rax)
movl 0xc(%rsp), %eax
addl $0x1, %eax
movl %eax, 0xc(%rsp)
jmp 0x110c06
movb 0x7(%rsp), %cl
movq -0x30(%rsp), %rax
movq %rax, %rdx
addq $-0x1, %rdx
movq %rdx, -0x30(%rsp)
movb %cl, -0x1(%rax)
movb 0x6(%rsp), %cl
movq -0x30(%rsp), %rax
movq %rax, %rdx
addq $-0x1, %rdx
movq %rdx, -0x30(%rsp)
movb %cl, -0x1(%rax)
movq 0x20(%rsp), %rax
movb $0x2, 0x12(%rax)
movq 0x20(%rsp), %rax
movb $0x20, 0x13(%rax)
movl 0x8(%rsp), %eax
shll $0x2, %eax
movl %eax, %eax
movl %eax, %ecx
movq 0x20(%rsp), %rax
movq %rcx, 0x8(%rax)
jmp 0x110df3
movq 0x18(%rsp), %rax
movl 0x8(%rsp), %ecx
shlq %rcx
addq %rcx, %rax
movq %rax, -0x38(%rsp)
movq -0x38(%rsp), %rax
movl 0x8(%rsp), %ecx
shlq %rcx
addq %rcx, %rax
movq %rax, -0x40(%rsp)
movl $0x0, 0xc(%rsp)
movl 0xc(%rsp), %eax
cmpl 0x8(%rsp), %eax
jae 0x110dcd
movq -0x38(%rsp), %rax
movq %rax, %rcx
addq $-0x1, %rcx
movq %rcx, -0x38(%rsp)
movb -0x1(%rax), %cl
movq -0x40(%rsp), %rax
movq %rax, %rdx
addq $-0x1, %rdx
movq %rdx, -0x40(%rsp)
movb %cl, -0x1(%rax)
movq -0x38(%rsp), %rax
movq %rax, %rcx
addq $-0x1, %rcx
movq %rcx, -0x38(%rsp)
movb -0x1(%rax), %cl
movq -0x40(%rsp), %rax
movq %rax, %rdx
addq $-0x1, %rdx
movq %rdx, -0x40(%rsp)
movb %cl, -0x1(%rax)
movb 0x7(%rsp), %cl
movq -0x40(%rsp), %rax
movq %rax, %rdx
addq $-0x1, %rdx
movq %rdx, -0x40(%rsp)
movb %cl, -0x1(%rax)
movb 0x6(%rsp), %cl
movq -0x40(%rsp), %rax
movq %rax, %rdx
addq $-0x1, %rdx
movq %rdx, -0x40(%rsp)
movb %cl, -0x1(%rax)
movl 0xc(%rsp), %eax
addl $0x1, %eax
movl %eax, 0xc(%rsp)
jmp 0x110d2f
movq 0x20(%rsp), %rax
movb $0x2, 0x12(%rax)
movq 0x20(%rsp), %rax
movb $0x20, 0x13(%rax)
movl 0x8(%rsp), %eax
shll $0x2, %eax
movl %eax, %eax
movl %eax, %ecx
movq 0x20(%rsp), %rax
movq %rcx, 0x8(%rax)
jmp 0x110df5
jmp 0x110df7
jmp 0x1113e3
movq 0x20(%rsp), %rax
movzbl 0x10(%rax), %eax
cmpl $0x2, %eax
jne 0x1113e1
movq 0x20(%rsp), %rax
movzbl 0x11(%rax), %eax
cmpl $0x8, %eax
jne 0x111058
movl 0x10(%rsp), %eax
andl $0x80, %eax
cmpl $0x0, %eax
je 0x110f51
movq 0x18(%rsp), %rax
movl 0x8(%rsp), %ecx
imulq $0x3, %rcx, %rcx
addq %rcx, %rax
movq %rax, -0x48(%rsp)
movq -0x48(%rsp), %rax
movl 0x8(%rsp), %ecx
addq %rcx, %rax
movq %rax, -0x50(%rsp)
movl $0x1, 0xc(%rsp)
movl 0xc(%rsp), %eax
cmpl 0x8(%rsp), %eax
jae 0x110f0e
movb 0x6(%rsp), %cl
movq -0x50(%rsp), %rax
movq %rax, %rdx
addq $-0x1, %rdx
movq %rdx, -0x50(%rsp)
movb %cl, -0x1(%rax)
movq -0x48(%rsp), %rax
movq %rax, %rcx
addq $-0x1, %rcx
movq %rcx, -0x48(%rsp)
movb -0x1(%rax), %cl
movq -0x50(%rsp), %rax
movq %rax, %rdx
addq $-0x1, %rdx
movq %rdx, -0x50(%rsp)
movb %cl, -0x1(%rax)
movq -0x48(%rsp), %rax
movq %rax, %rcx
addq $-0x1, %rcx
movq %rcx, -0x48(%rsp)
movb -0x1(%rax), %cl
movq -0x50(%rsp), %rax
movq %rax, %rdx
addq $-0x1, %rdx
movq %rdx, -0x50(%rsp)
movb %cl, -0x1(%rax)
movq -0x48(%rsp), %rax
movq %rax, %rcx
addq $-0x1, %rcx
movq %rcx, -0x48(%rsp)
movb -0x1(%rax), %cl
movq -0x50(%rsp), %rax
movq %rax, %rdx
addq $-0x1, %rdx
movq %rdx, -0x50(%rsp)
movb %cl, -0x1(%rax)
movl 0xc(%rsp), %eax
addl $0x1, %eax
movl %eax, 0xc(%rsp)
jmp 0x110e60
movb 0x6(%rsp), %cl
movq -0x50(%rsp), %rax
movq %rax, %rdx
addq $-0x1, %rdx
movq %rdx, -0x50(%rsp)
movb %cl, -0x1(%rax)
movq 0x20(%rsp), %rax
movb $0x4, 0x12(%rax)
movq 0x20(%rsp), %rax
movb $0x20, 0x13(%rax)
movl 0x8(%rsp), %eax
shll $0x2, %eax
movl %eax, %eax
movl %eax, %ecx
movq 0x20(%rsp), %rax
movq %rcx, 0x8(%rax)
jmp 0x111053
movq 0x18(%rsp), %rax
movl 0x8(%rsp), %ecx
imulq $0x3, %rcx, %rcx
addq %rcx, %rax
movq %rax, -0x58(%rsp)
movq -0x58(%rsp), %rax
movl 0x8(%rsp), %ecx
addq %rcx, %rax
movq %rax, -0x60(%rsp)
movl $0x0, 0xc(%rsp)
movl 0xc(%rsp), %eax
cmpl 0x8(%rsp), %eax
jae 0x11102d
movq -0x58(%rsp), %rax
movq %rax, %rcx
addq $-0x1, %rcx
movq %rcx, -0x58(%rsp)
movb -0x1(%rax), %cl
movq -0x60(%rsp), %rax
movq %rax, %rdx
addq $-0x1, %rdx
movq %rdx, -0x60(%rsp)
movb %cl, -0x1(%rax)
movq -0x58(%rsp), %rax
movq %rax, %rcx
addq $-0x1, %rcx
movq %rcx, -0x58(%rsp)
movb -0x1(%rax), %cl
movq -0x60(%rsp), %rax
movq %rax, %rdx
addq $-0x1, %rdx
movq %rdx, -0x60(%rsp)
movb %cl, -0x1(%rax)
movq -0x58(%rsp), %rax
movq %rax, %rcx
addq $-0x1, %rcx
movq %rcx, -0x58(%rsp)
movb -0x1(%rax), %cl
movq -0x60(%rsp), %rax
movq %rax, %rdx
addq $-0x1, %rdx
movq %rdx, -0x60(%rsp)
movb %cl, -0x1(%rax)
movb 0x6(%rsp), %cl
movq -0x60(%rsp), %rax
movq %rax, %rdx
addq $-0x1, %rdx
movq %rdx, -0x60(%rsp)
movb %cl, -0x1(%rax)
movl 0xc(%rsp), %eax
addl $0x1, %eax
movl %eax, 0xc(%rsp)
jmp 0x110f7f
movq 0x20(%rsp), %rax
movb $0x4, 0x12(%rax)
movq 0x20(%rsp), %rax
movb $0x20, 0x13(%rax)
movl 0x8(%rsp), %eax
shll $0x2, %eax
movl %eax, %eax
movl %eax, %ecx
movq 0x20(%rsp), %rax
movq %rcx, 0x8(%rax)
jmp 0x1113df
movq 0x20(%rsp), %rax
movzbl 0x11(%rax), %eax
cmpl $0x10, %eax
jne 0x1113dd
movl 0x10(%rsp), %eax
andl $0x80, %eax
cmpl $0x0, %eax
je 0x111246
movq 0x18(%rsp), %rax
movl 0x8(%rsp), %ecx
imulq $0x6, %rcx, %rcx
addq %rcx, %rax
movq %rax, -0x68(%rsp)
movq -0x68(%rsp), %rax
movl 0x8(%rsp), %ecx
shlq %rcx
addq %rcx, %rax
movq %rax, -0x70(%rsp)
movl $0x1, 0xc(%rsp)
movl 0xc(%rsp), %eax
cmpl 0x8(%rsp), %eax
jae 0x1111eb
movb 0x7(%rsp), %cl
movq -0x70(%rsp), %rax
movq %rax, %rdx
addq $-0x1, %rdx
movq %rdx, -0x70(%rsp)
movb %cl, -0x1(%rax)
movb 0x6(%rsp), %cl
movq -0x70(%rsp), %rax
movq %rax, %rdx
addq $-0x1, %rdx
movq %rdx, -0x70(%rsp)
movb %cl, -0x1(%rax)
movq -0x68(%rsp), %rax
movq %rax, %rcx
addq $-0x1, %rcx
movq %rcx, -0x68(%rsp)
movb -0x1(%rax), %cl
movq -0x70(%rsp), %rax
movq %rax, %rdx
addq $-0x1, %rdx
movq %rdx, -0x70(%rsp)
movb %cl, -0x1(%rax)
movq -0x68(%rsp), %rax
movq %rax, %rcx
addq $-0x1, %rcx
movq %rcx, -0x68(%rsp)
movb -0x1(%rax), %cl
movq -0x70(%rsp), %rax
movq %rax, %rdx
addq $-0x1, %rdx
movq %rdx, -0x70(%rsp)
movb %cl, -0x1(%rax)
movq -0x68(%rsp), %rax
movq %rax, %rcx
addq $-0x1, %rcx
movq %rcx, -0x68(%rsp)
movb -0x1(%rax), %cl
movq -0x70(%rsp), %rax
movq %rax, %rdx
addq $-0x1, %rdx
movq %rdx, -0x70(%rsp)
movb %cl, -0x1(%rax)
movq -0x68(%rsp), %rax
movq %rax, %rcx
addq $-0x1, %rcx
movq %rcx, -0x68(%rsp)
movb -0x1(%rax), %cl
movq -0x70(%rsp), %rax
movq %rax, %rdx
addq $-0x1, %rdx
movq %rdx, -0x70(%rsp)
movb %cl, -0x1(%rax)
movq -0x68(%rsp), %rax
movq %rax, %rcx
addq $-0x1, %rcx
movq %rcx, -0x68(%rsp)
movb -0x1(%rax), %cl
movq -0x70(%rsp), %rax
movq %rax, %rdx
addq $-0x1, %rdx
movq %rdx, -0x70(%rsp)
movb %cl, -0x1(%rax)
movq -0x68(%rsp), %rax
movq %rax, %rcx
addq $-0x1, %rcx
movq %rcx, -0x68(%rsp)
movb -0x1(%rax), %cl
movq -0x70(%rsp), %rax
movq %rax, %rdx
addq $-0x1, %rdx
movq %rdx, -0x70(%rsp)
movb %cl, -0x1(%rax)
movl 0xc(%rsp), %eax
addl $0x1, %eax
movl %eax, 0xc(%rsp)
jmp 0x1110ad
movb 0x7(%rsp), %cl
movq -0x70(%rsp), %rax
movq %rax, %rdx
addq $-0x1, %rdx
movq %rdx, -0x70(%rsp)
movb %cl, -0x1(%rax)
movb 0x6(%rsp), %cl
movq -0x70(%rsp), %rax
movq %rax, %rdx
addq $-0x1, %rdx
movq %rdx, -0x70(%rsp)
movb %cl, -0x1(%rax)
movq 0x20(%rsp), %rax
movb $0x4, 0x12(%rax)
movq 0x20(%rsp), %rax
movb $0x40, 0x13(%rax)
movl 0x8(%rsp), %eax
shll $0x3, %eax
movl %eax, %eax
movl %eax, %ecx
movq 0x20(%rsp), %rax
movq %rcx, 0x8(%rax)
jmp 0x1113db
movq 0x18(%rsp), %rax
movl 0x8(%rsp), %ecx
imulq $0x6, %rcx, %rcx
addq %rcx, %rax
movq %rax, -0x78(%rsp)
movq -0x78(%rsp), %rax
movl 0x8(%rsp), %ecx
shlq %rcx
addq %rcx, %rax
movq %rax, -0x80(%rsp)
movl $0x0, 0xc(%rsp)
movl 0xc(%rsp), %eax
cmpl 0x8(%rsp), %eax
jae 0x1113b5
movq -0x78(%rsp), %rax
movq %rax, %rcx
addq $-0x1, %rcx
movq %rcx, -0x78(%rsp)
movb -0x1(%rax), %cl
movq -0x80(%rsp), %rax
movq %rax, %rdx
addq $-0x1, %rdx
movq %rdx, -0x80(%rsp)
movb %cl, -0x1(%rax)
movq -0x78(%rsp), %rax
movq %rax, %rcx
addq $-0x1, %rcx
movq %rcx, -0x78(%rsp)
movb -0x1(%rax), %cl
movq -0x80(%rsp), %rax
movq %rax, %rdx
addq $-0x1, %rdx
movq %rdx, -0x80(%rsp)
movb %cl, -0x1(%rax)
movq -0x78(%rsp), %rax
movq %rax, %rcx
addq $-0x1, %rcx
movq %rcx, -0x78(%rsp)
movb -0x1(%rax), %cl
movq -0x80(%rsp), %rax
movq %rax, %rdx
addq $-0x1, %rdx
movq %rdx, -0x80(%rsp)
movb %cl, -0x1(%rax)
movq -0x78(%rsp), %rax
movq %rax, %rcx
addq $-0x1, %rcx
movq %rcx, -0x78(%rsp)
movb -0x1(%rax), %cl
movq -0x80(%rsp), %rax
movq %rax, %rdx
addq $-0x1, %rdx
movq %rdx, -0x80(%rsp)
movb %cl, -0x1(%rax)
movq -0x78(%rsp), %rax
movq %rax, %rcx
addq $-0x1, %rcx
movq %rcx, -0x78(%rsp)
movb -0x1(%rax), %cl
movq -0x80(%rsp), %rax
movq %rax, %rdx
addq $-0x1, %rdx
movq %rdx, -0x80(%rsp)
movb %cl, -0x1(%rax)
movq -0x78(%rsp), %rax
movq %rax, %rcx
addq $-0x1, %rcx
movq %rcx, -0x78(%rsp)
movb -0x1(%rax), %cl
movq -0x80(%rsp), %rax
movq %rax, %rdx
addq $-0x1, %rdx
movq %rdx, -0x80(%rsp)
movb %cl, -0x1(%rax)
movb 0x7(%rsp), %cl
movq -0x80(%rsp), %rax
movq %rax, %rdx
addq $-0x1, %rdx
movq %rdx, -0x80(%rsp)
movb %cl, -0x1(%rax)
movb 0x6(%rsp), %cl
movq -0x80(%rsp), %rax
movq %rax, %rdx
addq $-0x1, %rdx
movq %rdx, -0x80(%rsp)
movb %cl, -0x1(%rax)
movl 0xc(%rsp), %eax
addl $0x1, %eax
movl %eax, 0xc(%rsp)
jmp 0x111277
movq 0x20(%rsp), %rax
movb $0x4, 0x12(%rax)
movq 0x20(%rsp), %rax
movb $0x40, 0x13(%rax)
movl 0x8(%rsp), %eax
shll $0x3, %eax
movl %eax, %eax
movl %eax, %ecx
movq 0x20(%rsp), %rax
movq %rcx, 0x8(%rax)
jmp 0x1113dd
jmp 0x1113df
jmp 0x1113e1
jmp 0x1113e3
addq $0x28, %rsp
retq
nopl (%rax,%rax)