// File: Alcaro[P]bridges/arlib/deps/miniz.c
// Function: tdefl_start_dynamic_block
static void tdefl_start_dynamic_block(tdefl_compressor *d)
{
  int num_lit_codes, num_dist_codes, num_bit_lengths; mz_uint i, total_code_sizes_to_pack, num_packed_code_sizes, rle_z_count, rle_repeat_count, packed_code_sizes_index;
  mz_uint8 code_sizes_to_pack[TDEFL_MAX_HUFF_SYMBOLS_0 + TDEFL_MAX_HUFF_SYMBOLS_1], packed_code_sizes[TDEFL_MAX_HUFF_SYMBOLS_0 + TDEFL_MAX_HUFF_SYMBOLS_1], prev_code_size = 0xFF;

  d->m_huff_count[0][256] = 1;

  tdefl_optimize_huffman_table(d, 0, TDEFL_MAX_HUFF_SYMBOLS_0, 15, MZ_FALSE);
  tdefl_optimize_huffman_table(d, 1, TDEFL_MAX_HUFF_SYMBOLS_1, 15, MZ_FALSE);

  for (num_lit_codes = 286; num_lit_codes > 257; num_lit_codes--) if (d->m_huff_code_sizes[0][num_lit_codes - 1]) break;
  for (num_dist_codes = 30; num_dist_codes > 1; num_dist_codes--) if (d->m_huff_code_sizes[1][num_dist_codes - 1]) break;

  memcpy(code_sizes_to_pack, &d->m_huff_code_sizes[0][0], num_lit_codes);
  memcpy(code_sizes_to_pack + num_lit_codes, &d->m_huff_code_sizes[1][0], num_dist_codes);
  total_code_sizes_to_pack = num_lit_codes + num_dist_codes; num_packed_code_sizes = 0; rle_z_count = 0; rle_repeat_count = 0;

  memset(&d->m_huff_count[2][0], 0, sizeof(d->m_huff_count[2][0]) * TDEFL_MAX_HUFF_SYMBOLS_2);
  for (i = 0; i < total_code_sizes_to_pack; i++)
  {
    mz_uint8 code_size = code_sizes_to_pack[i];
    if (!code_size)
    {
      TDEFL_RLE_PREV_CODE_SIZE();
      if (++rle_z_count == 138) { TDEFL_RLE_ZERO_CODE_SIZE(); }
    }
    else
    {
      TDEFL_RLE_ZERO_CODE_SIZE();
      if (code_size != prev_code_size)
      {
        TDEFL_RLE_PREV_CODE_SIZE();
        d->m_huff_count[2][code_size] = (mz_uint16)(d->m_huff_count[2][code_size] + 1); packed_code_sizes[num_packed_code_sizes++] = code_size;
      }
      else if (++rle_repeat_count == 6)
      {
        TDEFL_RLE_PREV_CODE_SIZE();
      }
    }
    prev_code_size = code_size;
  }
  if (rle_repeat_count) { TDEFL_RLE_PREV_CODE_SIZE(); } else { TDEFL_RLE_ZERO_CODE_SIZE(); }

  tdefl_optimize_huffman_table(d, 2, TDEFL_MAX_HUFF_SYMBOLS_2, 7, MZ_FALSE);

  TDEFL_PUT_BITS(2, 2);

  TDEFL_PUT_BITS(num_lit_codes - 257, 5);
  TDEFL_PUT_BITS(num_dist_codes - 1, 5);

  for (num_bit_lengths = 18; num_bit_lengths >= 0; num_bit_lengths--) if (d->m_huff_code_sizes[2][s_tdefl_packed_code_size_syms_swizzle[num_bit_lengths]]) break;
  num_bit_lengths = MZ_MAX(4, (num_bit_lengths + 1)); TDEFL_PUT_BITS(num_bit_lengths - 4, 4);
  for (i = 0; (int)i < num_bit_lengths; i++) TDEFL_PUT_BITS(d->m_huff_code_sizes[2][s_tdefl_packed_code_size_syms_swizzle[i]], 3);

  for (packed_code_sizes_index = 0; packed_code_sizes_index < num_packed_code_sizes; )
  {
    mz_uint code = packed_code_sizes[packed_code_sizes_index++]; MZ_ASSERT(code < TDEFL_MAX_HUFF_SYMBOLS_2);
    TDEFL_PUT_BITS(d->m_huff_codes[2][code], d->m_huff_code_sizes[2][code]);
    if (code >= 16) TDEFL_PUT_BITS(packed_code_sizes[packed_code_sizes_index++], "\02\03\07"[code - 16]);
  }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x300, %rsp            # imm = 0x300
movq %rdi, -0x8(%rbp)
movb $-0x1, -0x2b1(%rbp)
movq -0x8(%rbp), %rax
movw $0x1, 0x83ca(%rax)
movq -0x8(%rbp), %rdi
xorl %r8d, %r8d
movl $0x120, %edx            # imm = 0x120
movl $0xf, %ecx
movl %r8d, %esi
callq 0x61bb0
movq -0x8(%rbp), %rdi
movl $0x1, %esi
movl $0x20, %edx
movl $0xf, %ecx
xorl %r8d, %r8d
callq 0x61bb0
movl $0x11e, -0xc(%rbp)      # imm = 0x11E
cmpl $0x101, -0xc(%rbp)      # imm = 0x101
jle 0x6059d
movq -0x8(%rbp), %rax
movl -0xc(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
cmpb $0x0, 0x8f4a(%rax,%rcx)
je 0x60590
jmp 0x6059d
jmp 0x60592
movl -0xc(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0xc(%rbp)
jmp 0x6056e
movl $0x1e, -0x10(%rbp)
cmpl $0x1, -0x10(%rbp)
jle 0x605d0
movq -0x8(%rbp), %rax
movl -0x10(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
cmpb $0x0, 0x906a(%rax,%rcx)
je 0x605c3
jmp 0x605d0
jmp 0x605c5
movl -0x10(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x10(%rbp)
jmp 0x605a4
leaq -0x170(%rbp), %rdi
movq -0x8(%rbp), %rsi
addq $0x8f4a, %rsi           # imm = 0x8F4A
movslq -0xc(%rbp), %rdx
callq 0x4280
leaq -0x170(%rbp), %rdi
movslq -0xc(%rbp), %rax
addq %rax, %rdi
movq -0x8(%rbp), %rsi
addq $0x8f4a, %rsi           # imm = 0x8F4A
addq $0x120, %rsi            # imm = 0x120
movslq -0x10(%rbp), %rdx
callq 0x4280
movl -0xc(%rbp), %eax
addl -0x10(%rbp), %eax
movl %eax, -0x1c(%rbp)
movl $0x0, -0x20(%rbp)
movl $0x0, -0x24(%rbp)
movl $0x0, -0x28(%rbp)
movq -0x8(%rbp), %rdi
addq $0x81ca, %rdi           # imm = 0x81CA
addq $0x480, %rdi            # imm = 0x480
xorl %esi, %esi
movl $0x26, %edx
callq 0x4170
movl $0x0, -0x18(%rbp)
movl -0x18(%rbp), %eax
cmpl -0x1c(%rbp), %eax
jae 0x60b6e
movl -0x18(%rbp), %eax
movb -0x170(%rbp,%rax), %al
movb %al, -0x2b2(%rbp)
cmpb $0x0, -0x2b2(%rbp)
jne 0x6085c
cmpl $0x0, -0x28(%rbp)
je 0x6073e
cmpl $0x3, -0x28(%rbp)
jae 0x606ea
movq -0x8(%rbp), %rax
movzbl -0x2b1(%rbp), %ecx
movzwl 0x864a(%rax,%rcx,2), %eax
addl -0x28(%rbp), %eax
movw %ax, %dx
movq -0x8(%rbp), %rax
movzbl -0x2b1(%rbp), %ecx
movw %dx, 0x864a(%rax,%rcx,2)
movl -0x28(%rbp), %eax
movl %eax, %ecx
addl $-0x1, %ecx
movl %ecx, -0x28(%rbp)
cmpl $0x0, %eax
je 0x606e8
movb -0x2b1(%rbp), %cl
movl -0x20(%rbp), %eax
movl %eax, %edx
addl $0x1, %edx
movl %edx, -0x20(%rbp)
movl %eax, %eax
movb %cl, -0x2b0(%rbp,%rax)
jmp 0x606bc
jmp 0x60737
movq -0x8(%rbp), %rax
movzwl 0x866a(%rax), %eax
addl $0x1, %eax
movw %ax, %cx
movq -0x8(%rbp), %rax
movw %cx, 0x866a(%rax)
movl -0x20(%rbp), %eax
movl %eax, %ecx
addl $0x1, %ecx
movl %ecx, -0x20(%rbp)
movl %eax, %eax
movb $0x10, -0x2b0(%rbp,%rax)
movl -0x28(%rbp), %eax
subl $0x3, %eax
movb %al, %cl
movl -0x20(%rbp), %eax
movl %eax, %edx
addl $0x1, %edx
movl %edx, -0x20(%rbp)
movl %eax, %eax
movb %cl, -0x2b0(%rbp,%rax)
movl $0x0, -0x28(%rbp)
movl -0x24(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x24(%rbp)
cmpl $0x8a, %eax
jne 0x60857
cmpl $0x0, -0x24(%rbp)
je 0x60855
cmpl $0x3, -0x24(%rbp)
jae 0x607aa
movq -0x8(%rbp), %rax
movzwl 0x864a(%rax), %eax
addl -0x24(%rbp), %eax
movw %ax, %cx
movq -0x8(%rbp), %rax
movw %cx, 0x864a(%rax)
movl -0x24(%rbp), %eax
movl %eax, %ecx
addl $-0x1, %ecx
movl %ecx, -0x24(%rbp)
cmpl $0x0, %eax
je 0x607a5
movl -0x20(%rbp), %eax
movl %eax, %ecx
addl $0x1, %ecx
movl %ecx, -0x20(%rbp)
movl %eax, %eax
movb $0x0, -0x2b0(%rbp,%rax)
jmp 0x6077e
jmp 0x6084e
cmpl $0xa, -0x24(%rbp)
ja 0x607ff
movq -0x8(%rbp), %rax
movzwl 0x866c(%rax), %eax
addl $0x1, %eax
movw %ax, %cx
movq -0x8(%rbp), %rax
movw %cx, 0x866c(%rax)
movl -0x20(%rbp), %eax
movl %eax, %ecx
addl $0x1, %ecx
movl %ecx, -0x20(%rbp)
movl %eax, %eax
movb $0x11, -0x2b0(%rbp,%rax)
movl -0x24(%rbp), %eax
subl $0x3, %eax
movb %al, %cl
movl -0x20(%rbp), %eax
movl %eax, %edx
addl $0x1, %edx
movl %edx, -0x20(%rbp)
movl %eax, %eax
movb %cl, -0x2b0(%rbp,%rax)
jmp 0x6084c
movq -0x8(%rbp), %rax
movzwl 0x866e(%rax), %eax
addl $0x1, %eax
movw %ax, %cx
movq -0x8(%rbp), %rax
movw %cx, 0x866e(%rax)
movl -0x20(%rbp), %eax
movl %eax, %ecx
addl $0x1, %ecx
movl %ecx, -0x20(%rbp)
movl %eax, %eax
movb $0x12, -0x2b0(%rbp,%rax)
movl -0x24(%rbp), %eax
subl $0xb, %eax
movb %al, %cl
movl -0x20(%rbp), %eax
movl %eax, %edx
addl $0x1, %edx
movl %edx, -0x20(%rbp)
movl %eax, %eax
movb %cl, -0x2b0(%rbp,%rax)
jmp 0x6084e
movl $0x0, -0x24(%rbp)
jmp 0x60857
jmp 0x60b54
cmpl $0x0, -0x24(%rbp)
je 0x6095f
cmpl $0x3, -0x24(%rbp)
jae 0x608b4
movq -0x8(%rbp), %rax
movzwl 0x864a(%rax), %eax
addl -0x24(%rbp), %eax
movw %ax, %cx
movq -0x8(%rbp), %rax
movw %cx, 0x864a(%rax)
movl -0x24(%rbp), %eax
movl %eax, %ecx
addl $-0x1, %ecx
movl %ecx, -0x24(%rbp)
cmpl $0x0, %eax
je 0x608af
movl -0x20(%rbp), %eax
movl %eax, %ecx
addl $0x1, %ecx
movl %ecx, -0x20(%rbp)
movl %eax, %eax
movb $0x0, -0x2b0(%rbp,%rax)
jmp 0x60888
jmp 0x60958
cmpl $0xa, -0x24(%rbp)
ja 0x60909
movq -0x8(%rbp), %rax
movzwl 0x866c(%rax), %eax
addl $0x1, %eax
movw %ax, %cx
movq -0x8(%rbp), %rax
movw %cx, 0x866c(%rax)
movl -0x20(%rbp), %eax
movl %eax, %ecx
addl $0x1, %ecx
movl %ecx, -0x20(%rbp)
movl %eax, %eax
movb $0x11, -0x2b0(%rbp,%rax)
movl -0x24(%rbp), %eax
subl $0x3, %eax
movb %al, %cl
movl -0x20(%rbp), %eax
movl %eax, %edx
addl $0x1, %edx
movl %edx, -0x20(%rbp)
movl %eax, %eax
movb %cl, -0x2b0(%rbp,%rax)
jmp 0x60956
movq -0x8(%rbp), %rax
movzwl 0x866e(%rax), %eax
addl $0x1, %eax
movw %ax, %cx
movq -0x8(%rbp), %rax
movw %cx, 0x866e(%rax)
movl -0x20(%rbp), %eax
movl %eax, %ecx
addl $0x1, %ecx
movl %ecx, -0x20(%rbp)
movl %eax, %eax
movb $0x12, -0x2b0(%rbp,%rax)
movl -0x24(%rbp), %eax
subl $0xb, %eax
movb %al, %cl
movl -0x20(%rbp), %eax
movl %eax, %edx
addl $0x1, %edx
movl %edx, -0x20(%rbp)
movl %eax, %eax
movb %cl, -0x2b0(%rbp,%rax)
jmp 0x60958
movl $0x0, -0x24(%rbp)
movzbl -0x2b2(%rbp), %eax
movzbl -0x2b1(%rbp), %ecx
cmpl %ecx, %eax
je 0x60a7e
cmpl $0x0, -0x28(%rbp)
je 0x60a33
cmpl $0x3, -0x28(%rbp)
jae 0x609df
movq -0x8(%rbp), %rax
movzbl -0x2b1(%rbp), %ecx
movzwl 0x864a(%rax,%rcx,2), %eax
addl -0x28(%rbp), %eax
movw %ax, %dx
movq -0x8(%rbp), %rax
movzbl -0x2b1(%rbp), %ecx
movw %dx, 0x864a(%rax,%rcx,2)
movl -0x28(%rbp), %eax
movl %eax, %ecx
addl $-0x1, %ecx
movl %ecx, -0x28(%rbp)
cmpl $0x0, %eax
je 0x609dd
movb -0x2b1(%rbp), %cl
movl -0x20(%rbp), %eax
movl %eax, %edx
addl $0x1, %edx
movl %edx, -0x20(%rbp)
movl %eax, %eax
movb %cl, -0x2b0(%rbp,%rax)
jmp 0x609b1
jmp 0x60a2c
movq -0x8(%rbp), %rax
movzwl 0x866a(%rax), %eax
addl $0x1, %eax
movw %ax, %cx
movq -0x8(%rbp), %rax
movw %cx, 0x866a(%rax)
movl -0x20(%rbp), %eax
movl %eax, %ecx
addl $0x1, %ecx
movl %ecx, -0x20(%rbp)
movl %eax, %eax
movb $0x10, -0x2b0(%rbp,%rax)
movl -0x28(%rbp), %eax
subl $0x3, %eax
movb %al, %cl
movl -0x20(%rbp), %eax
movl %eax, %edx
addl $0x1, %edx
movl %edx, -0x20(%rbp)
movl %eax, %eax
movb %cl, -0x2b0(%rbp,%rax)
movl $0x0, -0x28(%rbp)
movq -0x8(%rbp), %rax
movzbl -0x2b2(%rbp), %ecx
movzwl 0x864a(%rax,%rcx,2), %eax
addl $0x1, %eax
movw %ax, %dx
movq -0x8(%rbp), %rax
movzbl -0x2b2(%rbp), %ecx
movw %dx, 0x864a(%rax,%rcx,2)
movb -0x2b2(%rbp), %cl
movl -0x20(%rbp), %eax
movl %eax, %edx
addl $0x1, %edx
movl %edx, -0x20(%rbp)
movl %eax, %eax
movb %cl, -0x2b0(%rbp,%rax)
jmp 0x60b52
movl -0x28(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x28(%rbp)
cmpl $0x6, %eax
jne 0x60b50
cmpl $0x0, -0x28(%rbp)
je 0x60b4e
cmpl $0x3, -0x28(%rbp)
jae 0x60afa
movq -0x8(%rbp), %rax
movzbl -0x2b1(%rbp), %ecx
movzwl 0x864a(%rax,%rcx,2), %eax
addl -0x28(%rbp), %eax
movw %ax, %dx
movq -0x8(%rbp), %rax
movzbl -0x2b1(%rbp), %ecx
movw %dx, 0x864a(%rax,%rcx,2)
movl -0x28(%rbp), %eax
movl %eax, %ecx
addl $-0x1, %ecx
movl %ecx, -0x28(%rbp)
cmpl $0x0, %eax
je 0x60af8
movb -0x2b1(%rbp), %cl
movl -0x20(%rbp), %eax
movl %eax, %edx
addl $0x1, %edx
movl %edx, -0x20(%rbp)
movl %eax, %eax
movb %cl, -0x2b0(%rbp,%rax)
jmp 0x60acc
jmp 0x60b47
movq -0x8(%rbp), %rax
movzwl 0x866a(%rax), %eax
addl $0x1, %eax
movw %ax, %cx
movq -0x8(%rbp), %rax
movw %cx, 0x866a(%rax)
movl -0x20(%rbp), %eax
movl %eax, %ecx
addl $0x1, %ecx
movl %ecx, -0x20(%rbp)
movl %eax, %eax
movb $0x10, -0x2b0(%rbp,%rax)
movl -0x28(%rbp), %eax
subl $0x3, %eax
movb %al, %cl
movl -0x20(%rbp), %eax
movl %eax, %edx
addl $0x1, %edx
movl %edx, -0x20(%rbp)
movl %eax, %eax
movb %cl, -0x2b0(%rbp,%rax)
movl $0x0, -0x28(%rbp)
jmp 0x60b50
jmp 0x60b52
jmp 0x60b54
movb -0x2b2(%rbp), %al
movb %al, -0x2b1(%rbp)
movl -0x18(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x18(%rbp)
jmp 0x60657
cmpl $0x0, -0x28(%rbp)
je 0x60c3b
cmpl $0x0, -0x28(%rbp)
je 0x60c36
cmpl $0x3, -0x28(%rbp)
jae 0x60be2
movq -0x8(%rbp), %rax
movzbl -0x2b1(%rbp), %ecx
movzwl 0x864a(%rax,%rcx,2), %eax
addl -0x28(%rbp), %eax
movw %ax, %dx
movq -0x8(%rbp), %rax
movzbl -0x2b1(%rbp), %ecx
movw %dx, 0x864a(%rax,%rcx,2)
movl -0x28(%rbp), %eax
movl %eax, %ecx
addl $-0x1, %ecx
movl %ecx, -0x28(%rbp)
cmpl $0x0, %eax
je 0x60be0
movb -0x2b1(%rbp), %cl
movl -0x20(%rbp), %eax
movl %eax, %edx
addl $0x1, %edx
movl %edx, -0x20(%rbp)
movl %eax, %eax
movb %cl, -0x2b0(%rbp,%rax)
jmp 0x60bb4
jmp 0x60c2f
movq -0x8(%rbp), %rax
movzwl 0x866a(%rax), %eax
addl $0x1, %eax
movw %ax, %cx
movq -0x8(%rbp), %rax
movw %cx, 0x866a(%rax)
movl -0x20(%rbp), %eax
movl %eax, %ecx
addl $0x1, %ecx
movl %ecx, -0x20(%rbp)
movl %eax, %eax
movb $0x10, -0x2b0(%rbp,%rax)
movl -0x28(%rbp), %eax
subl $0x3, %eax
movb %al, %cl
movl -0x20(%rbp), %eax
movl %eax, %edx
addl $0x1, %edx
movl %edx, -0x20(%rbp)
movl %eax, %eax
movb %cl, -0x2b0(%rbp,%rax)
movl $0x0, -0x28(%rbp)
jmp 0x60d40
cmpl $0x0, -0x24(%rbp)
je 0x60d3e
cmpl $0x3, -0x24(%rbp)
jae 0x60c93
movq -0x8(%rbp), %rax
movzwl 0x864a(%rax), %eax
addl -0x24(%rbp), %eax
movw %ax, %cx
movq -0x8(%rbp), %rax
movw %cx, 0x864a(%rax)
movl -0x24(%rbp), %eax
movl %eax, %ecx
addl $-0x1, %ecx
movl %ecx, -0x24(%rbp)
cmpl $0x0, %eax
je 0x60c8e
movl -0x20(%rbp), %eax
movl %eax, %ecx
addl $0x1, %ecx
movl %ecx, -0x20(%rbp)
movl %eax, %eax
movb $0x0, -0x2b0(%rbp,%rax)
jmp 0x60c67
jmp 0x60d37
cmpl $0xa, -0x24(%rbp)
ja 0x60ce8
movq -0x8(%rbp), %rax
movzwl 0x866c(%rax), %eax
addl $0x1, %eax
movw %ax, %cx
movq -0x8(%rbp), %rax
movw %cx, 0x866c(%rax)
movl -0x20(%rbp), %eax
movl %eax, %ecx
addl $0x1, %ecx
movl %ecx, -0x20(%rbp)
movl %eax, %eax
movb $0x11, -0x2b0(%rbp,%rax)
movl -0x24(%rbp), %eax
subl $0x3, %eax
movb %al, %cl
movl -0x20(%rbp), %eax
movl %eax, %edx
addl $0x1, %edx
movl %edx, -0x20(%rbp)
movl %eax, %eax
movb %cl, -0x2b0(%rbp,%rax)
jmp 0x60d35
movq -0x8(%rbp), %rax
movzwl 0x866e(%rax), %eax
addl $0x1, %eax
movw %ax, %cx
movq -0x8(%rbp), %rax
movw %cx, 0x866e(%rax)
movl -0x20(%rbp), %eax
movl %eax, %ecx
addl $0x1, %ecx
movl %ecx, -0x20(%rbp)
movl %eax, %eax
movb $0x12, -0x2b0(%rbp,%rax)
movl -0x24(%rbp), %eax
subl $0xb, %eax
movb %al, %cl
movl -0x20(%rbp), %eax
movl %eax, %edx
addl $0x1, %edx
movl %edx, -0x20(%rbp)
movl %eax, %eax
movb %cl, -0x2b0(%rbp,%rax)
jmp 0x60d37
movl $0x0, -0x24(%rbp)
jmp 0x60d40
movq -0x8(%rbp), %rdi
movl $0x2, %esi
movl $0x13, %edx
movl $0x7, %ecx
xorl %r8d, %r8d
callq 0x61bb0
movl $0x2, -0x2b8(%rbp)
movl $0x2, -0x2bc(%rbp)
movl -0x2b8(%rbp), %eax
movl -0x2bc(%rbp), %ecx
movl $0x1, %edx
shll %cl, %edx
movl %edx, %ecx
subl $0x1, %ecx
cmpl %ecx, %eax
ja 0x60d8d
jmp 0x60dac
leaq 0xa52c(%rip), %rdi      # 0x6b2c0
leaq 0xa241(%rip), %rsi      # 0x6afdc
movl $0x207, %edx            # imm = 0x207
leaq 0xa58e(%rip), %rcx      # 0x6b335
callq 0x4200
movl -0x2b8(%rbp), %eax
movq -0x8(%rbp), %rcx
movl 0x5c(%rcx), %ecx
shll %cl, %eax
movl %eax, %ecx
movq -0x8(%rbp), %rax
orl 0x60(%rax), %ecx
movl %ecx, 0x60(%rax)
movl -0x2bc(%rbp), %ecx
movq -0x8(%rbp), %rax
addl 0x5c(%rax), %ecx
movl %ecx, 0x5c(%rax)
movq -0x8(%rbp), %rax
cmpl $0x8, 0x5c(%rax)
jb 0x60e2d
movq -0x8(%rbp), %rax
movq 0x40(%rax), %rax
movq -0x8(%rbp), %rcx
cmpq 0x48(%rcx), %rax
jae 0x60e11
movq -0x8(%rbp), %rax
movl 0x60(%rax), %eax
movb %al, %cl
movq -0x8(%rbp), %rdx
movq 0x40(%rdx), %rax
movq %rax, %rsi
addq $0x1, %rsi
movq %rsi, 0x40(%rdx)
movb %cl, (%rax)
movq -0x8(%rbp), %rax
movl 0x60(%rax), %ecx
shrl $0x8, %ecx
movl %ecx, 0x60(%rax)
movq -0x8(%rbp), %rax
movl 0x5c(%rax), %ecx
subl $0x8, %ecx
movl %ecx, 0x5c(%rax)
jmp 0x60dd7
jmp 0x60e2f
jmp 0x60e31
movl -0xc(%rbp), %eax
subl $0x101, %eax            # imm = 0x101
movl %eax, -0x2c0(%rbp)
movl $0x5, -0x2c4(%rbp)
movl -0x2c0(%rbp), %eax
movl -0x2c4(%rbp), %ecx
movl $0x1, %edx
shll %cl, %edx
movl %edx, %ecx
subl $0x1, %ecx
cmpl %ecx, %eax
ja 0x60e67
jmp 0x60e86
leaq 0xa452(%rip), %rdi      # 0x6b2c0
leaq 0xa167(%rip), %rsi      # 0x6afdc
movl $0x209, %edx            # imm = 0x209
leaq 0xa4b4(%rip), %rcx      # 0x6b335
callq 0x4200
movl -0x2c0(%rbp), %eax
movq -0x8(%rbp), %rcx
movl 0x5c(%rcx), %ecx
shll %cl, %eax
movl %eax, %ecx
movq -0x8(%rbp), %rax
orl 0x60(%rax), %ecx
movl %ecx, 0x60(%rax)
movl -0x2c4(%rbp), %ecx
movq -0x8(%rbp), %rax
addl 0x5c(%rax), %ecx
movl %ecx, 0x5c(%rax)
movq -0x8(%rbp), %rax
cmpl $0x8, 0x5c(%rax)
jb 0x60f07
movq -0x8(%rbp), %rax
movq 0x40(%rax), %rax
movq -0x8(%rbp), %rcx
cmpq 0x48(%rcx), %rax
jae 0x60eeb
movq -0x8(%rbp), %rax
movl 0x60(%rax), %eax
movb %al, %cl
movq -0x8(%rbp), %rdx
movq 0x40(%rdx), %rax
movq %rax, %rsi
addq $0x1, %rsi
movq %rsi, 0x40(%rdx)
movb %cl, (%rax)
movq -0x8(%rbp), %rax
movl 0x60(%rax), %ecx
shrl $0x8, %ecx
movl %ecx, 0x60(%rax)
movq -0x8(%rbp), %rax
movl 0x5c(%rax), %ecx
subl $0x8, %ecx
movl %ecx, 0x5c(%rax)
jmp 0x60eb1
jmp 0x60f09
jmp 0x60f0b
movl -0x10(%rbp), %eax
subl $0x1, %eax
movl %eax, -0x2c8(%rbp)
movl $0x5, -0x2cc(%rbp)
movl -0x2c8(%rbp), %eax
movl -0x2cc(%rbp), %ecx
movl $0x1, %edx
shll %cl, %edx
movl %edx, %ecx
subl $0x1, %ecx
cmpl %ecx, %eax
ja 0x60f3f
jmp 0x60f5e
leaq 0xa37a(%rip), %rdi      # 0x6b2c0
leaq 0xa08f(%rip), %rsi      # 0x6afdc
movl $0x20a, %edx            # imm = 0x20A
leaq 0xa3dc(%rip), %rcx      # 0x6b335
callq 0x4200
movl -0x2c8(%rbp), %eax
movq -0x8(%rbp), %rcx
movl 0x5c(%rcx), %ecx
shll %cl, %eax
movl %eax, %ecx
movq -0x8(%rbp), %rax
orl 0x60(%rax), %ecx
movl %ecx, 0x60(%rax)
movl -0x2cc(%rbp), %ecx
movq -0x8(%rbp), %rax
addl 0x5c(%rax), %ecx
movl %ecx, 0x5c(%rax)
movq -0x8(%rbp), %rax
cmpl $0x8, 0x5c(%rax)
jb 0x60fdf
movq -0x8(%rbp), %rax
movq 0x40(%rax), %rax
movq -0x8(%rbp), %rcx
cmpq 0x48(%rcx), %rax
jae 0x60fc3
movq -0x8(%rbp), %rax
movl 0x60(%rax), %eax
movb %al, %cl
movq -0x8(%rbp), %rdx
movq 0x40(%rdx), %rax
movq %rax, %rsi
addq $0x1, %rsi
movq %rsi, 0x40(%rdx)
movb %cl, (%rax)
movq -0x8(%rbp), %rax
movl 0x60(%rax), %ecx
shrl $0x8, %ecx
movl %ecx, 0x60(%rax)
movq -0x8(%rbp), %rax
movl 0x5c(%rax), %ecx
subl $0x8, %ecx
movl %ecx, 0x5c(%rax)
jmp 0x60f89
jmp 0x60fe1
movl $0x12, -0x14(%rbp)
cmpl $0x0, -0x14(%rbp)
jl 0x6101a
movq -0x8(%rbp), %rax
movslq -0x14(%rbp), %rdx
leaq 0x202d3(%rip), %rcx     # 0x812d0
movzbl (%rcx,%rdx), %ecx
cmpb $0x0, 0x918a(%rax,%rcx)
je 0x6100d
jmp 0x6101a
jmp 0x6100f
movl -0x14(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x14(%rbp)
jmp 0x60fe8
movl -0x14(%rbp), %ecx
addl $0x1, %ecx
movl $0x4, %eax
cmpl %ecx, %eax
jle 0x61036
movl $0x4, %eax
movl %eax, -0x2f4(%rbp)
jmp 0x61042
movl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x2f4(%rbp)
movl -0x2f4(%rbp), %eax
movl %eax, -0x14(%rbp)
movl -0x14(%rbp), %eax
subl $0x4, %eax
movl %eax, -0x2d0(%rbp)
movl $0x4, -0x2d4(%rbp)
movl -0x2d0(%rbp), %eax
movl -0x2d4(%rbp), %ecx
movl $0x1, %edx
shll %cl, %edx
movl %edx, %ecx
subl $0x1, %ecx
cmpl %ecx, %eax
ja 0x6107f
jmp 0x6109e
leaq 0xa23a(%rip), %rdi      # 0x6b2c0
leaq 0x9f4f(%rip), %rsi      # 0x6afdc
movl $0x20d, %edx            # imm = 0x20D
leaq 0xa29c(%rip), %rcx      # 0x6b335
callq 0x4200
movl -0x2d0(%rbp), %eax
movq -0x8(%rbp), %rcx
movl 0x5c(%rcx), %ecx
shll %cl, %eax
movl %eax, %ecx
movq -0x8(%rbp), %rax
orl 0x60(%rax), %ecx
movl %ecx, 0x60(%rax)
movl -0x2d4(%rbp), %ecx
movq -0x8(%rbp), %rax
addl 0x5c(%rax), %ecx
movl %ecx, 0x5c(%rax)
movq -0x8(%rbp), %rax
cmpl $0x8, 0x5c(%rax)
jb 0x6111f
movq -0x8(%rbp), %rax
movq 0x40(%rax), %rax
movq -0x8(%rbp), %rcx
cmpq 0x48(%rcx), %rax
jae 0x61103
movq -0x8(%rbp), %rax
movl 0x60(%rax), %eax
movb %al, %cl
movq -0x8(%rbp), %rdx
movq 0x40(%rdx), %rax
movq %rax, %rsi
addq $0x1, %rsi
movq %rsi, 0x40(%rdx)
movb %cl, (%rax)
movq -0x8(%rbp), %rax
movl 0x60(%rax), %ecx
shrl $0x8, %ecx
movl %ecx, 0x60(%rax)
movq -0x8(%rbp), %rax
movl 0x5c(%rax), %ecx
subl $0x8, %ecx
movl %ecx, 0x5c(%rax)
jmp 0x610c9
jmp 0x61121
movl $0x0, -0x18(%rbp)
movl -0x18(%rbp), %eax
cmpl -0x14(%rbp), %eax
jge 0x61232
jmp 0x61136
movq -0x8(%rbp), %rax
movl -0x18(%rbp), %ecx
movl %ecx, %edx
leaq 0x2018a(%rip), %rcx     # 0x812d0
movzbl (%rcx,%rdx), %ecx
movzbl 0x918a(%rax,%rcx), %eax
movl %eax, -0x2d8(%rbp)
movl $0x3, -0x2dc(%rbp)
movl -0x2d8(%rbp), %eax
movl -0x2dc(%rbp), %ecx
movl $0x1, %edx
shll %cl, %edx
movl %edx, %ecx
subl $0x1, %ecx
cmpl %ecx, %eax
ja 0x61180
jmp 0x6119f
leaq 0xa139(%rip), %rdi      # 0x6b2c0
leaq 0x9e4e(%rip), %rsi      # 0x6afdc
movl $0x20e, %edx            # imm = 0x20E
leaq 0xa19b(%rip), %rcx      # 0x6b335
callq 0x4200
movl -0x2d8(%rbp), %eax
movq -0x8(%rbp), %rcx
movl 0x5c(%rcx), %ecx
shll %cl, %eax
movl %eax, %ecx
movq -0x8(%rbp), %rax
orl 0x60(%rax), %ecx
movl %ecx, 0x60(%rax)
movl -0x2dc(%rbp), %ecx
movq -0x8(%rbp), %rax
addl 0x5c(%rax), %ecx
movl %ecx, 0x5c(%rax)
movq -0x8(%rbp), %rax
cmpl $0x8, 0x5c(%rax)
jb 0x61220
movq -0x8(%rbp), %rax
movq 0x40(%rax), %rax
movq -0x8(%rbp), %rcx
cmpq 0x48(%rcx), %rax
jae 0x61204
movq -0x8(%rbp), %rax
movl 0x60(%rax), %eax
movb %al, %cl
movq -0x8(%rbp), %rdx
movq 0x40(%rdx), %rax
movq %rax, %rsi
addq $0x1, %rsi
movq %rsi, 0x40(%rdx)
movb %cl, (%rax)
movq -0x8(%rbp), %rax
movl 0x60(%rax), %ecx
shrl $0x8, %ecx
movl %ecx, 0x60(%rax)
movq -0x8(%rbp), %rax
movl 0x5c(%rax), %ecx
subl $0x8, %ecx
movl %ecx, 0x5c(%rax)
jmp 0x611ca
jmp 0x61222
jmp 0x61224
movl -0x18(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x18(%rbp)
jmp 0x61128
movl $0x0, -0x2c(%rbp)
movl -0x2c(%rbp), %eax
cmpl -0x20(%rbp), %eax
jae 0x6148b
movl -0x2c(%rbp), %eax
movl %eax, %ecx
addl $0x1, %ecx
movl %ecx, -0x2c(%rbp)
movl %eax, %eax
movzbl -0x2b0(%rbp,%rax), %eax
movl %eax, -0x2e0(%rbp)
cmpl $0x13, -0x2e0(%rbp)
jae 0x6126b
jmp 0x6128a
leaq 0xa0f6(%rip), %rdi      # 0x6b368
leaq 0x9d63(%rip), %rsi      # 0x6afdc
movl $0x212, %edx            # imm = 0x212
leaq 0xa0b0(%rip), %rcx      # 0x6b335
callq 0x4200
jmp 0x6128c
movq -0x8(%rbp), %rax
movl -0x2e0(%rbp), %ecx
movzwl 0x8d0a(%rax,%rcx,2), %eax
movl %eax, -0x2e4(%rbp)
movq -0x8(%rbp), %rax
movl -0x2e0(%rbp), %ecx
movzbl 0x918a(%rax,%rcx), %eax
movl %eax, -0x2e8(%rbp)
movl -0x2e4(%rbp), %eax
movl -0x2e8(%rbp), %ecx
movl $0x1, %edx
shll %cl, %edx
movl %edx, %ecx
subl $0x1, %ecx
cmpl %ecx, %eax
ja 0x612da
jmp 0x612f9
leaq 0x9fdf(%rip), %rdi      # 0x6b2c0
leaq 0x9cf4(%rip), %rsi      # 0x6afdc
movl $0x213, %edx            # imm = 0x213
leaq 0xa041(%rip), %rcx      # 0x6b335
callq 0x4200
movl -0x2e4(%rbp), %eax
movq -0x8(%rbp), %rcx
movl 0x5c(%rcx), %ecx
shll %cl, %eax
movl %eax, %ecx
movq -0x8(%rbp), %rax
orl 0x60(%rax), %ecx
movl %ecx, 0x60(%rax)
movl -0x2e8(%rbp), %ecx
movq -0x8(%rbp), %rax
addl 0x5c(%rax), %ecx
movl %ecx, 0x5c(%rax)
movq -0x8(%rbp), %rax
cmpl $0x8, 0x5c(%rax)
jb 0x6137a
movq -0x8(%rbp), %rax
movq 0x40(%rax), %rax
movq -0x8(%rbp), %rcx
cmpq 0x48(%rcx), %rax
jae 0x6135e
movq -0x8(%rbp), %rax
movl 0x60(%rax), %eax
movb %al, %cl
movq -0x8(%rbp), %rdx
movq 0x40(%rdx), %rax
movq %rax, %rsi
addq $0x1, %rsi
movq %rsi, 0x40(%rdx)
movb %cl, (%rax)
movq -0x8(%rbp), %rax
movl 0x60(%rax), %ecx
shrl $0x8, %ecx
movl %ecx, 0x60(%rax)
movq -0x8(%rbp), %rax
movl 0x5c(%rax), %ecx
subl $0x8, %ecx
movl %ecx, 0x5c(%rax)
jmp 0x61324
jmp 0x6137c
cmpl $0x10, -0x2e0(%rbp)
jb 0x61486
jmp 0x6138b
movl -0x2c(%rbp), %eax
movl %eax, %ecx
addl $0x1, %ecx
movl %ecx, -0x2c(%rbp)
movl %eax, %eax
movzbl -0x2b0(%rbp,%rax), %eax
movl %eax, -0x2ec(%rbp)
movl -0x2e0(%rbp), %eax
subl $0x10, %eax
movl %eax, %eax
movl %eax, %ecx
leaq 0x9fce(%rip), %rax      # 0x6b388
movsbl (%rax,%rcx), %eax
movl %eax, -0x2f0(%rbp)
movl -0x2ec(%rbp), %eax
movl -0x2f0(%rbp), %ecx
movl $0x1, %edx
shll %cl, %edx
movl %edx, %ecx
subl $0x1, %ecx
cmpl %ecx, %eax
ja 0x613e2
jmp 0x61401
leaq 0x9ed7(%rip), %rdi      # 0x6b2c0
leaq 0x9bec(%rip), %rsi      # 0x6afdc
movl $0x214, %edx            # imm = 0x214
leaq 0x9f39(%rip), %rcx      # 0x6b335
callq 0x4200
movl -0x2ec(%rbp), %eax
movq -0x8(%rbp), %rcx
movl 0x5c(%rcx), %ecx
shll %cl, %eax
movl %eax, %ecx
movq -0x8(%rbp), %rax
orl 0x60(%rax), %ecx
movl %ecx, 0x60(%rax)
movl -0x2f0(%rbp), %ecx
movq -0x8(%rbp), %rax
addl 0x5c(%rax), %ecx
movl %ecx, 0x5c(%rax)
movq -0x8(%rbp), %rax
cmpl $0x8, 0x5c(%rax)
jb 0x61482
movq -0x8(%rbp), %rax
movq 0x40(%rax), %rax
movq -0x8(%rbp), %rcx
cmpq 0x48(%rcx), %rax
jae 0x61466
movq -0x8(%rbp), %rax
movl 0x60(%rax), %eax
movb %al, %cl
movq -0x8(%rbp), %rdx
movq 0x40(%rdx), %rax
movq %rax, %rsi
addq $0x1, %rsi
movq %rsi, 0x40(%rdx)
movb %cl, (%rax)
movq -0x8(%rbp), %rax
movl 0x60(%rax), %ecx
shrl $0x8, %ecx
movl %ecx, 0x60(%rax)
movq -0x8(%rbp), %rax
movl 0x5c(%rax), %ecx
subl $0x8, %ecx
movl %ecx, 0x5c(%rax)
jmp 0x6142c
jmp 0x61484
jmp 0x61486
jmp 0x61239
addq $0x300, %rsp            # imm = 0x300
popq %rbp
retq
nopw %cs:(%rax,%rax)