// File: /workspace/github_c_makefile_star2_O0/zhiyb[P]png2tlg/./stb_image.h
// Function: stbi__parse_entropy_coded_data(stbi__jpeg*)
static int stbi__parse_entropy_coded_data(stbi__jpeg *z)
{
   stbi__jpeg_reset(z);
   if (!z->progressive) {
      if (z->scan_n == 1) {
         int i,j;
         STBI_SIMD_ALIGN(short, data[64]);
         int n = z->order[0];
         // non-interleaved data, we just need to process one block at a time,
         // in trivial scanline order
         // number of blocks to do just depends on how many actual "pixels" this
         // component has, independent of interleaved MCU blocking and such
         int w = (z->img_comp[n].x+7) >> 3;
         int h = (z->img_comp[n].y+7) >> 3;
         for (j=0; j < h; ++j) {
            for (i=0; i < w; ++i) {
               int ha = z->img_comp[n].ha;
               if (!stbi__jpeg_decode_block(z, data, z->huff_dc+z->img_comp[n].hd, z->huff_ac+ha, z->fast_ac[ha], n, z->dequant[z->img_comp[n].tq])) return 0;
               z->idct_block_kernel(z->img_comp[n].data+z->img_comp[n].w2*j*8+i*8, z->img_comp[n].w2, data);
               // every data block is an MCU, so countdown the restart interval
               if (--z->todo <= 0) {
                  if (z->code_bits < 24) stbi__grow_buffer_unsafe(z);
                  // if it's NOT a restart, then just bail, so we get corrupt data
                  // rather than no data
                  if (!STBI__RESTART(z->marker)) return 1;
                  stbi__jpeg_reset(z);
               }
            }
         }
         return 1;
      } else { // interleaved
         int i,j,k,x,y;
         STBI_SIMD_ALIGN(short, data[64]);
         for (j=0; j < z->img_mcu_y; ++j) {
            for (i=0; i < z->img_mcu_x; ++i) {
               // scan an interleaved mcu... process scan_n components in order
               for (k=0; k < z->scan_n; ++k) {
                  int n = z->order[k];
                  // scan out an mcu's worth of this component; that's just determined
                  // by the basic H and V specified for the component
                  for (y=0; y < z->img_comp[n].v; ++y) {
                     for (x=0; x < z->img_comp[n].h; ++x) {
                        int x2 = (i*z->img_comp[n].h + x)*8;
                        int y2 = (j*z->img_comp[n].v + y)*8;
                        int ha = z->img_comp[n].ha;
                        if (!stbi__jpeg_decode_block(z, data, z->huff_dc+z->img_comp[n].hd, z->huff_ac+ha, z->fast_ac[ha], n, z->dequant[z->img_comp[n].tq])) return 0;
                        z->idct_block_kernel(z->img_comp[n].data+z->img_comp[n].w2*y2+x2, z->img_comp[n].w2, data);
                     }
                  }
               }
               // after all interleaved components, that's an interleaved MCU,
               // so now count down the restart interval
               if (--z->todo <= 0) {
                  if (z->code_bits < 24) stbi__grow_buffer_unsafe(z);
                  if (!STBI__RESTART(z->marker)) return 1;
                  stbi__jpeg_reset(z);
               }
            }
         }
         return 1;
      }
   } else {
      if (z->scan_n == 1) {
         int i,j;
         int n = z->order[0];
         // non-interleaved data, we just need to process one block at a time,
         // in trivial scanline order
         // number of blocks to do just depends on how many actual "pixels" this
         // component has, independent of interleaved MCU blocking and such
         int w = (z->img_comp[n].x+7) >> 3;
         int h = (z->img_comp[n].y+7) >> 3;
         for (j=0; j < h; ++j) {
            for (i=0; i < w; ++i) {
               short *data = z->img_comp[n].coeff + 64 * (i + j * z->img_comp[n].coeff_w);
               if (z->spec_start == 0) {
                  if (!stbi__jpeg_decode_block_prog_dc(z, data, &z->huff_dc[z->img_comp[n].hd], n))
                     return 0;
               } else {
                  int ha = z->img_comp[n].ha;
                  if (!stbi__jpeg_decode_block_prog_ac(z, data, &z->huff_ac[ha], z->fast_ac[ha]))
                     return 0;
               }
               // every data block is an MCU, so countdown the restart interval
               if (--z->todo <= 0) {
                  if (z->code_bits < 24) stbi__grow_buffer_unsafe(z);
                  if (!STBI__RESTART(z->marker)) return 1;
                  stbi__jpeg_reset(z);
               }
            }
         }
         return 1;
      } else { // interleaved
         int i,j,k,x,y;
         for (j=0; j < z->img_mcu_y; ++j) {
            for (i=0; i < z->img_mcu_x; ++i) {
               // scan an interleaved mcu... process scan_n components in order
               for (k=0; k < z->scan_n; ++k) {
                  int n = z->order[k];
                  // scan out an mcu's worth of this component; that's just determined
                  // by the basic H and V specified for the component
                  for (y=0; y < z->img_comp[n].v; ++y) {
                     for (x=0; x < z->img_comp[n].h; ++x) {
                        int x2 = (i*z->img_comp[n].h + x);
                        int y2 = (j*z->img_comp[n].v + y);
                        short *data = z->img_comp[n].coeff + 64 * (x2 + y2 * z->img_comp[n].coeff_w);
                        if (!stbi__jpeg_decode_block_prog_dc(z, data, &z->huff_dc[z->img_comp[n].hd], n))
                           return 0;
                     }
                  }
               }
               // after all interleaved components, that's an interleaved MCU,
               // so now count down the restart interval
               if (--z->todo <= 0) {
                  if (z->code_bits < 24) stbi__grow_buffer_unsafe(z);
                  if (!STBI__RESTART(z->marker)) return 1;
                  stbi__jpeg_reset(z);
               }
            }
         }
         return 1;
      }
   }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x1c0, %rsp            # imm = 0x1C0
movq %rdi, -0x10(%rbp)
movq -0x10(%rbp), %rdi
callq 0x15ad0
movq -0x10(%rbp), %rax
cmpl $0x0, 0x4830(%rax)
jne 0x153b4
movq -0x10(%rbp), %rax
cmpl $0x1, 0x4854(%rax)
jne 0x15037
movq -0x10(%rbp), %rax
movl 0x4858(%rax), %eax
movl %eax, -0xa4(%rbp)
movq -0x10(%rbp), %rax
addq $0x46a0, %rax           # imm = 0x46A0
movslq -0xa4(%rbp), %rcx
imulq $0x60, %rcx, %rcx
addq %rcx, %rax
movl 0x1c(%rax), %eax
addl $0x7, %eax
sarl $0x3, %eax
movl %eax, -0xa8(%rbp)
movq -0x10(%rbp), %rax
addq $0x46a0, %rax           # imm = 0x46A0
movslq -0xa4(%rbp), %rcx
imulq $0x60, %rcx, %rcx
addq %rcx, %rax
movl 0x20(%rax), %eax
addl $0x7, %eax
sarl $0x3, %eax
movl %eax, -0xac(%rbp)
movl $0x0, -0x18(%rbp)
movl -0x18(%rbp), %eax
cmpl -0xac(%rbp), %eax
jge 0x1502b
movl $0x0, -0x14(%rbp)
movl -0x14(%rbp), %eax
cmpl -0xa8(%rbp), %eax
jge 0x1501b
movq -0x10(%rbp), %rax
addq $0x46a0, %rax           # imm = 0x46A0
movslq -0xa4(%rbp), %rcx
imulq $0x60, %rcx, %rcx
addq %rcx, %rax
movl 0x14(%rax), %eax
movl %eax, -0xb0(%rbp)
movq -0x10(%rbp), %rdi
leaq -0xa0(%rbp), %rsi
movq -0x10(%rbp), %rdx
addq $0x8, %rdx
movq -0x10(%rbp), %rax
addq $0x46a0, %rax           # imm = 0x46A0
movslq -0xa4(%rbp), %rcx
imulq $0x60, %rcx, %rcx
addq %rcx, %rax
movslq 0x10(%rax), %rax
imulq $0x690, %rax, %rax      # imm = 0x690
addq %rax, %rdx
movq -0x10(%rbp), %rcx
addq $0x1a48, %rcx           # imm = 0x1A48
movslq -0xb0(%rbp), %rax
imulq $0x690, %rax, %rax      # imm = 0x690
addq %rax, %rcx
movq -0x10(%rbp), %r8
addq $0x3688, %r8            # imm = 0x3688
movslq -0xb0(%rbp), %rax
shlq $0xa, %rax
addq %rax, %r8
movl -0xa4(%rbp), %r9d
movq -0x10(%rbp), %rax
addq $0x3488, %rax           # imm = 0x3488
movq -0x10(%rbp), %r10
addq $0x46a0, %r10           # imm = 0x46A0
movslq -0xa4(%rbp), %r11
imulq $0x60, %r11, %r11
addq %r11, %r10
movslq 0xc(%r10), %r10
shlq $0x7, %r10
addq %r10, %rax
movq %rax, (%rsp)
callq 0x15b90
cmpl $0x0, %eax
jne 0x14f22
movl $0x0, -0x4(%rbp)
jmp 0x158f3
movq -0x10(%rbp), %rax
movq 0x4870(%rax), %rax
movq -0x10(%rbp), %rcx
addq $0x46a0, %rcx           # imm = 0x46A0
movslq -0xa4(%rbp), %rdx
imulq $0x60, %rdx, %rdx
addq %rdx, %rcx
movq 0x30(%rcx), %rdi
movq -0x10(%rbp), %rcx
addq $0x46a0, %rcx           # imm = 0x46A0
movslq -0xa4(%rbp), %rdx
imulq $0x60, %rdx, %rdx
addq %rdx, %rcx
movl 0x24(%rcx), %ecx
imull -0x18(%rbp), %ecx
shll $0x3, %ecx
movslq %ecx, %rcx
addq %rcx, %rdi
movl -0x14(%rbp), %ecx
shll $0x3, %ecx
movslq %ecx, %rcx
addq %rcx, %rdi
movq -0x10(%rbp), %rcx
addq $0x46a0, %rcx           # imm = 0x46A0
movslq -0xa4(%rbp), %rdx
imulq $0x60, %rdx, %rdx
addq %rdx, %rcx
movl 0x24(%rcx), %esi
leaq -0xa0(%rbp), %rdx
callq *%rax
movq -0x10(%rbp), %rcx
movl 0x486c(%rcx), %eax
addl $-0x1, %eax
movl %eax, 0x486c(%rcx)
cmpl $0x0, %eax
jg 0x1500b
movq -0x10(%rbp), %rax
cmpl $0x18, 0x4824(%rax)
jge 0x14fd2
movq -0x10(%rbp), %rdi
callq 0x15e10
movq -0x10(%rbp), %rax
movzbl 0x4828(%rax), %eax
cmpl $0xd0, %eax
jl 0x14ff6
movq -0x10(%rbp), %rax
movzbl 0x4828(%rax), %eax
cmpl $0xd7, %eax
jle 0x15002
movl $0x1, -0x4(%rbp)
jmp 0x158f3
movq -0x10(%rbp), %rdi
callq 0x15ad0
jmp 0x1500d
movl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x14(%rbp)
jmp 0x14e35
jmp 0x1501d
movl -0x18(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x18(%rbp)
jmp 0x14e1f
movl $0x1, -0x4(%rbp)
jmp 0x158f3
movl $0x0, -0xb8(%rbp)
movl -0xb8(%rbp), %eax
movq -0x10(%rbp), %rcx
cmpl 0x4694(%rcx), %eax
jge 0x153a8
movl $0x0, -0xb4(%rbp)
movl -0xb4(%rbp), %eax
movq -0x10(%rbp), %rcx
cmpl 0x4690(%rcx), %eax
jge 0x15392
movl $0x0, -0xbc(%rbp)
movl -0xbc(%rbp), %eax
movq -0x10(%rbp), %rcx
cmpl 0x4854(%rcx), %eax
jge 0x15315
movq -0x10(%rbp), %rax
movslq -0xbc(%rbp), %rcx
movl 0x4858(%rax,%rcx,4), %eax
movl %eax, -0x154(%rbp)
movl $0x0, -0xc4(%rbp)
movl -0xc4(%rbp), %eax
movq -0x10(%rbp), %rcx
addq $0x46a0, %rcx           # imm = 0x46A0
movslq -0x154(%rbp), %rdx
imulq $0x60, %rdx, %rdx
addq %rdx, %rcx
cmpl 0x8(%rcx), %eax
jge 0x152ff
movl $0x0, -0xc0(%rbp)
movl -0xc0(%rbp), %eax
movq -0x10(%rbp), %rcx
addq $0x46a0, %rcx           # imm = 0x46A0
movslq -0x154(%rbp), %rdx
imulq $0x60, %rdx, %rdx
addq %rdx, %rcx
cmpl 0x4(%rcx), %eax
jge 0x152e9
movl -0xb4(%rbp), %eax
movq -0x10(%rbp), %rcx
addq $0x46a0, %rcx           # imm = 0x46A0
movslq -0x154(%rbp), %rdx
imulq $0x60, %rdx, %rdx
addq %rdx, %rcx
imull 0x4(%rcx), %eax
addl -0xc0(%rbp), %eax
shll $0x3, %eax
movl %eax, -0x158(%rbp)
movl -0xb8(%rbp), %eax
movq -0x10(%rbp), %rcx
addq $0x46a0, %rcx           # imm = 0x46A0
movslq -0x154(%rbp), %rdx
imulq $0x60, %rdx, %rdx
addq %rdx, %rcx
imull 0x8(%rcx), %eax
addl -0xc4(%rbp), %eax
shll $0x3, %eax
movl %eax, -0x15c(%rbp)
movq -0x10(%rbp), %rax
addq $0x46a0, %rax           # imm = 0x46A0
movslq -0x154(%rbp), %rcx
imulq $0x60, %rcx, %rcx
addq %rcx, %rax
movl 0x14(%rax), %eax
movl %eax, -0x160(%rbp)
movq -0x10(%rbp), %rdi
leaq -0x150(%rbp), %rsi
movq -0x10(%rbp), %rdx
addq $0x8, %rdx
movq -0x10(%rbp), %rax
addq $0x46a0, %rax           # imm = 0x46A0
movslq -0x154(%rbp), %rcx
imulq $0x60, %rcx, %rcx
addq %rcx, %rax
movslq 0x10(%rax), %rax
imulq $0x690, %rax, %rax      # imm = 0x690
addq %rax, %rdx
movq -0x10(%rbp), %rcx
addq $0x1a48, %rcx           # imm = 0x1A48
movslq -0x160(%rbp), %rax
imulq $0x690, %rax, %rax      # imm = 0x690
addq %rax, %rcx
movq -0x10(%rbp), %r8
addq $0x3688, %r8            # imm = 0x3688
movslq -0x160(%rbp), %rax
shlq $0xa, %rax
addq %rax, %r8
movl -0x154(%rbp), %r9d
movq -0x10(%rbp), %rax
addq $0x3488, %rax           # imm = 0x3488
movq -0x10(%rbp), %r10
addq $0x46a0, %r10           # imm = 0x46A0
movslq -0x154(%rbp), %r11
imulq $0x60, %r11, %r11
addq %r11, %r10
movslq 0xc(%r10), %r10
shlq $0x7, %r10
addq %r10, %rax
movq %rax, (%rsp)
callq 0x15b90
cmpl $0x0, %eax
jne 0x15255
movl $0x0, -0x4(%rbp)
jmp 0x158f3
movq -0x10(%rbp), %rax
movq 0x4870(%rax), %rax
movq -0x10(%rbp), %rcx
addq $0x46a0, %rcx           # imm = 0x46A0
movslq -0x154(%rbp), %rdx
imulq $0x60, %rdx, %rdx
addq %rdx, %rcx
movq 0x30(%rcx), %rdi
movq -0x10(%rbp), %rcx
addq $0x46a0, %rcx           # imm = 0x46A0
movslq -0x154(%rbp), %rdx
imulq $0x60, %rdx, %rdx
addq %rdx, %rcx
movl 0x24(%rcx), %ecx
imull -0x15c(%rbp), %ecx
movslq %ecx, %rcx
addq %rcx, %rdi
movslq -0x158(%rbp), %rcx
addq %rcx, %rdi
movq -0x10(%rbp), %rcx
addq $0x46a0, %rcx           # imm = 0x46A0
movslq -0x154(%rbp), %rdx
imulq $0x60, %rdx, %rdx
addq %rdx, %rcx
movl 0x24(%rcx), %esi
leaq -0x150(%rbp), %rdx
callq *%rax
movl -0xc0(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc0(%rbp)
jmp 0x150eb
jmp 0x152eb
movl -0xc4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc4(%rbp)
jmp 0x150b9
jmp 0x15301
movl -0xbc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xbc(%rbp)
jmp 0x15081
movq -0x10(%rbp), %rcx
movl 0x486c(%rcx), %eax
addl $-0x1, %eax
movl %eax, 0x486c(%rcx)
cmpl $0x0, %eax
jg 0x1537c
movq -0x10(%rbp), %rax
cmpl $0x18, 0x4824(%rax)
jge 0x15343
movq -0x10(%rbp), %rdi
callq 0x15e10
movq -0x10(%rbp), %rax
movzbl 0x4828(%rax), %eax
cmpl $0xd0, %eax
jl 0x15367
movq -0x10(%rbp), %rax
movzbl 0x4828(%rax), %eax
cmpl $0xd7, %eax
jle 0x15373
movl $0x1, -0x4(%rbp)
jmp 0x158f3
movq -0x10(%rbp), %rdi
callq 0x15ad0
jmp 0x1537e
movl -0xb4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xb4(%rbp)
jmp 0x15061
jmp 0x15394
movl -0xb8(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xb8(%rbp)
jmp 0x15041
movl $0x1, -0x4(%rbp)
jmp 0x158f3
movq -0x10(%rbp), %rax
cmpl $0x1, 0x4854(%rax)
jne 0x15631
movq -0x10(%rbp), %rax
movl 0x4858(%rax), %eax
movl %eax, -0x16c(%rbp)
movq -0x10(%rbp), %rax
addq $0x46a0, %rax           # imm = 0x46A0
movslq -0x16c(%rbp), %rcx
imulq $0x60, %rcx, %rcx
addq %rcx, %rax
movl 0x1c(%rax), %eax
addl $0x7, %eax
sarl $0x3, %eax
movl %eax, -0x170(%rbp)
movq -0x10(%rbp), %rax
addq $0x46a0, %rax           # imm = 0x46A0
movslq -0x16c(%rbp), %rcx
imulq $0x60, %rcx, %rcx
addq %rcx, %rax
movl 0x20(%rax), %eax
addl $0x7, %eax
sarl $0x3, %eax
movl %eax, -0x174(%rbp)
movl $0x0, -0x168(%rbp)
movl -0x168(%rbp), %eax
cmpl -0x174(%rbp), %eax
jge 0x15625
movl $0x0, -0x164(%rbp)
movl -0x164(%rbp), %eax
cmpl -0x170(%rbp), %eax
jge 0x1560f
movq -0x10(%rbp), %rax
addq $0x46a0, %rax           # imm = 0x46A0
movslq -0x16c(%rbp), %rcx
imulq $0x60, %rcx, %rcx
addq %rcx, %rax
movq 0x50(%rax), %rax
movl -0x164(%rbp), %ecx
movl -0x168(%rbp), %edx
movq -0x10(%rbp), %rsi
addq $0x46a0, %rsi           # imm = 0x46A0
movslq -0x16c(%rbp), %rdi
imulq $0x60, %rdi, %rdi
addq %rdi, %rsi
imull 0x58(%rsi), %edx
addl %edx, %ecx
shll $0x6, %ecx
movslq %ecx, %rcx
shlq %rcx
addq %rcx, %rax
movq %rax, -0x180(%rbp)
movq -0x10(%rbp), %rax
cmpl $0x0, 0x4834(%rax)
jne 0x15519
movq -0x10(%rbp), %rdi
movq -0x180(%rbp), %rsi
movq -0x10(%rbp), %rdx
addq $0x8, %rdx
movq -0x10(%rbp), %rax
addq $0x46a0, %rax           # imm = 0x46A0
movslq -0x16c(%rbp), %rcx
imulq $0x60, %rcx, %rcx
addq %rcx, %rax
movslq 0x10(%rax), %rax
imulq $0x690, %rax, %rax      # imm = 0x690
addq %rax, %rdx
movl -0x16c(%rbp), %ecx
callq 0x15f00
cmpl $0x0, %eax
jne 0x15517
movl $0x0, -0x4(%rbp)
jmp 0x158f3
jmp 0x15592
movq -0x10(%rbp), %rax
addq $0x46a0, %rax           # imm = 0x46A0
movslq -0x16c(%rbp), %rcx
imulq $0x60, %rcx, %rcx
addq %rcx, %rax
movl 0x14(%rax), %eax
movl %eax, -0x184(%rbp)
movq -0x10(%rbp), %rdi
movq -0x180(%rbp), %rsi
movq -0x10(%rbp), %rdx
addq $0x1a48, %rdx           # imm = 0x1A48
movslq -0x184(%rbp), %rax
imulq $0x690, %rax, %rax      # imm = 0x690
addq %rax, %rdx
movq -0x10(%rbp), %rcx
addq $0x3688, %rcx           # imm = 0x3688
movslq -0x184(%rbp), %rax
shlq $0xa, %rax
addq %rax, %rcx
callq 0x16040
cmpl $0x0, %eax
jne 0x15590
movl $0x0, -0x4(%rbp)
jmp 0x158f3
jmp 0x15592
movq -0x10(%rbp), %rcx
movl 0x486c(%rcx), %eax
addl $-0x1, %eax
movl %eax, 0x486c(%rcx)
cmpl $0x0, %eax
jg 0x155f9
movq -0x10(%rbp), %rax
cmpl $0x18, 0x4824(%rax)
jge 0x155c0
movq -0x10(%rbp), %rdi
callq 0x15e10
movq -0x10(%rbp), %rax
movzbl 0x4828(%rax), %eax
cmpl $0xd0, %eax
jl 0x155e4
movq -0x10(%rbp), %rax
movzbl 0x4828(%rax), %eax
cmpl $0xd7, %eax
jle 0x155f0
movl $0x1, -0x4(%rbp)
jmp 0x158f3
movq -0x10(%rbp), %rdi
callq 0x15ad0
jmp 0x155fb
movl -0x164(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x164(%rbp)
jmp 0x15449
jmp 0x15611
movl -0x168(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x168(%rbp)
jmp 0x1542d
movl $0x1, -0x4(%rbp)
jmp 0x158f3
movl $0x0, -0x18c(%rbp)
movl -0x18c(%rbp), %eax
movq -0x10(%rbp), %rcx
cmpl 0x4694(%rcx), %eax
jge 0x158ec
movl $0x0, -0x188(%rbp)
movl -0x188(%rbp), %eax
movq -0x10(%rbp), %rcx
cmpl 0x4690(%rcx), %eax
jge 0x158d6
movl $0x0, -0x190(%rbp)
movl -0x190(%rbp), %eax
movq -0x10(%rbp), %rcx
cmpl 0x4854(%rcx), %eax
jge 0x1585c
movq -0x10(%rbp), %rax
movslq -0x190(%rbp), %rcx
movl 0x4858(%rax,%rcx,4), %eax
movl %eax, -0x19c(%rbp)
movl $0x0, -0x198(%rbp)
movl -0x198(%rbp), %eax
movq -0x10(%rbp), %rcx
addq $0x46a0, %rcx           # imm = 0x46A0
movslq -0x19c(%rbp), %rdx
imulq $0x60, %rdx, %rdx
addq %rdx, %rcx
cmpl 0x8(%rcx), %eax
jge 0x15846
movl $0x0, -0x194(%rbp)
movl -0x194(%rbp), %eax
movq -0x10(%rbp), %rcx
addq $0x46a0, %rcx           # imm = 0x46A0
movslq -0x19c(%rbp), %rdx
imulq $0x60, %rdx, %rdx
addq %rdx, %rcx
cmpl 0x4(%rcx), %eax
jge 0x15830
movl -0x188(%rbp), %eax
movq -0x10(%rbp), %rcx
addq $0x46a0, %rcx           # imm = 0x46A0
movslq -0x19c(%rbp), %rdx
imulq $0x60, %rdx, %rdx
addq %rdx, %rcx
imull 0x4(%rcx), %eax
addl -0x194(%rbp), %eax
movl %eax, -0x1a0(%rbp)
movl -0x18c(%rbp), %eax
movq -0x10(%rbp), %rcx
addq $0x46a0, %rcx           # imm = 0x46A0
movslq -0x19c(%rbp), %rdx
imulq $0x60, %rdx, %rdx
addq %rdx, %rcx
imull 0x8(%rcx), %eax
addl -0x198(%rbp), %eax
movl %eax, -0x1a4(%rbp)
movq -0x10(%rbp), %rax
addq $0x46a0, %rax           # imm = 0x46A0
movslq -0x19c(%rbp), %rcx
imulq $0x60, %rcx, %rcx
addq %rcx, %rax
movq 0x50(%rax), %rax
movl -0x1a0(%rbp), %ecx
movl -0x1a4(%rbp), %edx
movq -0x10(%rbp), %rsi
addq $0x46a0, %rsi           # imm = 0x46A0
movslq -0x19c(%rbp), %rdi
imulq $0x60, %rdi, %rdi
addq %rdi, %rsi
imull 0x58(%rsi), %edx
addl %edx, %ecx
shll $0x6, %ecx
movslq %ecx, %rcx
shlq %rcx
addq %rcx, %rax
movq %rax, -0x1b0(%rbp)
movq -0x10(%rbp), %rdi
movq -0x1b0(%rbp), %rsi
movq -0x10(%rbp), %rdx
addq $0x8, %rdx
movq -0x10(%rbp), %rax
addq $0x46a0, %rax           # imm = 0x46A0
movslq -0x19c(%rbp), %rcx
imulq $0x60, %rcx, %rcx
addq %rcx, %rax
movslq 0x10(%rax), %rax
imulq $0x690, %rax, %rax      # imm = 0x690
addq %rax, %rdx
movl -0x19c(%rbp), %ecx
callq 0x15f00
cmpl $0x0, %eax
jne 0x1581a
movl $0x0, -0x4(%rbp)
jmp 0x158f3
jmp 0x1581c
movl -0x194(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x194(%rbp)
jmp 0x156e5
jmp 0x15832
movl -0x198(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x198(%rbp)
jmp 0x156b3
jmp 0x15848
movl -0x190(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x190(%rbp)
jmp 0x1567b
movq -0x10(%rbp), %rcx
movl 0x486c(%rcx), %eax
addl $-0x1, %eax
movl %eax, 0x486c(%rcx)
cmpl $0x0, %eax
jg 0x158c0
movq -0x10(%rbp), %rax
cmpl $0x18, 0x4824(%rax)
jge 0x1588a
movq -0x10(%rbp), %rdi
callq 0x15e10
movq -0x10(%rbp), %rax
movzbl 0x4828(%rax), %eax
cmpl $0xd0, %eax
jl 0x158ae
movq -0x10(%rbp), %rax
movzbl 0x4828(%rax), %eax
cmpl $0xd7, %eax
jle 0x158b7
movl $0x1, -0x4(%rbp)
jmp 0x158f3
movq -0x10(%rbp), %rdi
callq 0x15ad0
jmp 0x158c2
movl -0x188(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x188(%rbp)
jmp 0x1565b
jmp 0x158d8
movl -0x18c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x18c(%rbp)
jmp 0x1563b
movl $0x1, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x1c0, %rsp            # imm = 0x1C0
popq %rbp
retq
nop