// File: jimmiebergmann[P]fbx-file/miniz.c
// Function: tdefl_start_dynamic_block(tdefl_compressor*)
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 0x1ea10
movq -0x8(%rbp), %rdi
movl $0x1, %esi
movl $0x20, %edx
movl $0xf, %ecx
xorl %r8d, %r8d
callq 0x1ea10
movl $0x11e, -0xc(%rbp)      # imm = 0x11E
cmpl $0x101, -0xc(%rbp)      # imm = 0x101
jle 0x1d40d
movq -0x8(%rbp), %rax
movl -0xc(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
cmpb $0x0, 0x8f4a(%rax,%rcx)
je 0x1d400
jmp 0x1d40d
jmp 0x1d402
movl -0xc(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0xc(%rbp)
jmp 0x1d3de
movl $0x1e, -0x10(%rbp)
cmpl $0x1, -0x10(%rbp)
jle 0x1d440
movq -0x8(%rbp), %rax
movl -0x10(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
cmpb $0x0, 0x906a(%rax,%rcx)
je 0x1d433
jmp 0x1d440
jmp 0x1d435
movl -0x10(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x10(%rbp)
jmp 0x1d414
leaq -0x170(%rbp), %rdi
movq -0x8(%rbp), %rsi
addq $0x8f4a, %rsi           # imm = 0x8F4A
movslq -0xc(%rbp), %rdx
callq 0x3280
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 0x3280
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 0x3190
movl $0x0, -0x18(%rbp)
movl -0x18(%rbp), %eax
cmpl -0x1c(%rbp), %eax
jae 0x1d9de
movl -0x18(%rbp), %eax
movb -0x170(%rbp,%rax), %al
movb %al, -0x2b2(%rbp)
cmpb $0x0, -0x2b2(%rbp)
jne 0x1d6cc
cmpl $0x0, -0x28(%rbp)
je 0x1d5ae
cmpl $0x3, -0x28(%rbp)
jae 0x1d55a
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 0x1d558
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 0x1d52c
jmp 0x1d5a7
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 0x1d6c7
cmpl $0x0, -0x24(%rbp)
je 0x1d6c5
cmpl $0x3, -0x24(%rbp)
jae 0x1d61a
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 0x1d615
movl -0x20(%rbp), %eax
movl %eax, %ecx
addl $0x1, %ecx
movl %ecx, -0x20(%rbp)
movl %eax, %eax
movb $0x0, -0x2b0(%rbp,%rax)
jmp 0x1d5ee
jmp 0x1d6be
cmpl $0xa, -0x24(%rbp)
ja 0x1d66f
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 0x1d6bc
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 0x1d6be
movl $0x0, -0x24(%rbp)
jmp 0x1d6c7
jmp 0x1d9c4
cmpl $0x0, -0x24(%rbp)
je 0x1d7cf
cmpl $0x3, -0x24(%rbp)
jae 0x1d724
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 0x1d71f
movl -0x20(%rbp), %eax
movl %eax, %ecx
addl $0x1, %ecx
movl %ecx, -0x20(%rbp)
movl %eax, %eax
movb $0x0, -0x2b0(%rbp,%rax)
jmp 0x1d6f8
jmp 0x1d7c8
cmpl $0xa, -0x24(%rbp)
ja 0x1d779
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 0x1d7c6
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 0x1d7c8
movl $0x0, -0x24(%rbp)
movzbl -0x2b2(%rbp), %eax
movzbl -0x2b1(%rbp), %ecx
cmpl %ecx, %eax
je 0x1d8ee
cmpl $0x0, -0x28(%rbp)
je 0x1d8a3
cmpl $0x3, -0x28(%rbp)
jae 0x1d84f
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 0x1d84d
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 0x1d821
jmp 0x1d89c
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 0x1d9c2
movl -0x28(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x28(%rbp)
cmpl $0x6, %eax
jne 0x1d9c0
cmpl $0x0, -0x28(%rbp)
je 0x1d9be
cmpl $0x3, -0x28(%rbp)
jae 0x1d96a
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 0x1d968
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 0x1d93c
jmp 0x1d9b7
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 0x1d9c0
jmp 0x1d9c2
jmp 0x1d9c4
movb -0x2b2(%rbp), %al
movb %al, -0x2b1(%rbp)
movl -0x18(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x18(%rbp)
jmp 0x1d4c7
cmpl $0x0, -0x28(%rbp)
je 0x1daab
cmpl $0x0, -0x28(%rbp)
je 0x1daa6
cmpl $0x3, -0x28(%rbp)
jae 0x1da52
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 0x1da50
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 0x1da24
jmp 0x1da9f
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 0x1dbb0
cmpl $0x0, -0x24(%rbp)
je 0x1dbae
cmpl $0x3, -0x24(%rbp)
jae 0x1db03
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 0x1dafe
movl -0x20(%rbp), %eax
movl %eax, %ecx
addl $0x1, %ecx
movl %ecx, -0x20(%rbp)
movl %eax, %eax
movb $0x0, -0x2b0(%rbp,%rax)
jmp 0x1dad7
jmp 0x1dba7
cmpl $0xa, -0x24(%rbp)
ja 0x1db58
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 0x1dba5
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 0x1dba7
movl $0x0, -0x24(%rbp)
jmp 0x1dbb0
movq -0x8(%rbp), %rdi
movl $0x2, %esi
movl $0x13, %edx
movl $0x7, %ecx
xorl %r8d, %r8d
callq 0x1ea10
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 0x1dbfd
jmp 0x1dc1c
leaq 0x18dcb(%rip), %rdi     # 0x369cf
leaq 0x18513(%rip), %rsi     # 0x3611e
movl $0x3ef, %edx            # imm = 0x3EF
leaq 0x18e2d(%rip), %rcx     # 0x36a44
callq 0x31d0
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 0x1dc9d
movq -0x8(%rbp), %rax
movq 0x40(%rax), %rax
movq -0x8(%rbp), %rcx
cmpq 0x48(%rcx), %rax
jae 0x1dc81
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 0x1dc47
jmp 0x1dc9f
jmp 0x1dca1
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 0x1dcd7
jmp 0x1dcf6
leaq 0x18cf1(%rip), %rdi     # 0x369cf
leaq 0x18439(%rip), %rsi     # 0x3611e
movl $0x3f1, %edx            # imm = 0x3F1
leaq 0x18d53(%rip), %rcx     # 0x36a44
callq 0x31d0
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 0x1dd77
movq -0x8(%rbp), %rax
movq 0x40(%rax), %rax
movq -0x8(%rbp), %rcx
cmpq 0x48(%rcx), %rax
jae 0x1dd5b
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 0x1dd21
jmp 0x1dd79
jmp 0x1dd7b
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 0x1ddaf
jmp 0x1ddce
leaq 0x18c19(%rip), %rdi     # 0x369cf
leaq 0x18361(%rip), %rsi     # 0x3611e
movl $0x3f2, %edx            # imm = 0x3F2
leaq 0x18c7b(%rip), %rcx     # 0x36a44
callq 0x31d0
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 0x1de4f
movq -0x8(%rbp), %rax
movq 0x40(%rax), %rax
movq -0x8(%rbp), %rcx
cmpq 0x48(%rcx), %rax
jae 0x1de33
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 0x1ddf9
jmp 0x1de51
movl $0x12, -0x14(%rbp)
cmpl $0x0, -0x14(%rbp)
jl 0x1de8a
movq -0x8(%rbp), %rax
movslq -0x14(%rbp), %rdx
leaq 0x27543(%rip), %rcx     # 0x453b0
movzbl (%rcx,%rdx), %ecx
cmpb $0x0, 0x918a(%rax,%rcx)
je 0x1de7d
jmp 0x1de8a
jmp 0x1de7f
movl -0x14(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x14(%rbp)
jmp 0x1de58
movl -0x14(%rbp), %ecx
addl $0x1, %ecx
movl $0x4, %eax
cmpl %ecx, %eax
jle 0x1dea6
movl $0x4, %eax
movl %eax, -0x2f4(%rbp)
jmp 0x1deb2
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 0x1deef
jmp 0x1df0e
leaq 0x18ad9(%rip), %rdi     # 0x369cf
leaq 0x18221(%rip), %rsi     # 0x3611e
movl $0x3f8, %edx            # imm = 0x3F8
leaq 0x18b3b(%rip), %rcx     # 0x36a44
callq 0x31d0
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 0x1df8f
movq -0x8(%rbp), %rax
movq 0x40(%rax), %rax
movq -0x8(%rbp), %rcx
cmpq 0x48(%rcx), %rax
jae 0x1df73
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 0x1df39
jmp 0x1df91
movl $0x0, -0x18(%rbp)
movl -0x18(%rbp), %eax
cmpl -0x14(%rbp), %eax
jge 0x1e0a2
jmp 0x1dfa6
movq -0x8(%rbp), %rax
movl -0x18(%rbp), %ecx
movl %ecx, %edx
leaq 0x273fa(%rip), %rcx     # 0x453b0
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 0x1dff0
jmp 0x1e00f
leaq 0x189d8(%rip), %rdi     # 0x369cf
leaq 0x18120(%rip), %rsi     # 0x3611e
movl $0x3fa, %edx            # imm = 0x3FA
leaq 0x18a3a(%rip), %rcx     # 0x36a44
callq 0x31d0
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 0x1e090
movq -0x8(%rbp), %rax
movq 0x40(%rax), %rax
movq -0x8(%rbp), %rcx
cmpq 0x48(%rcx), %rax
jae 0x1e074
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 0x1e03a
jmp 0x1e092
jmp 0x1e094
movl -0x18(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x18(%rbp)
jmp 0x1df98
movl $0x0, -0x2c(%rbp)
movl -0x2c(%rbp), %eax
cmpl -0x20(%rbp), %eax
jae 0x1e2fb
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 0x1e0db
jmp 0x1e0fa
leaq 0x18995(%rip), %rdi     # 0x36a77
leaq 0x18035(%rip), %rsi     # 0x3611e
movl $0x3ff, %edx            # imm = 0x3FF
leaq 0x1894f(%rip), %rcx     # 0x36a44
callq 0x31d0
jmp 0x1e0fc
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 0x1e14a
jmp 0x1e169
leaq 0x1887e(%rip), %rdi     # 0x369cf
leaq 0x17fc6(%rip), %rsi     # 0x3611e
movl $0x400, %edx            # imm = 0x400
leaq 0x188e0(%rip), %rcx     # 0x36a44
callq 0x31d0
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 0x1e1ea
movq -0x8(%rbp), %rax
movq 0x40(%rax), %rax
movq -0x8(%rbp), %rcx
cmpq 0x48(%rcx), %rax
jae 0x1e1ce
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 0x1e194
jmp 0x1e1ec
cmpl $0x10, -0x2e0(%rbp)
jb 0x1e2f6
jmp 0x1e1fb
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 0x17f5a(%rip), %rax     # 0x36184
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 0x1e252
jmp 0x1e271
leaq 0x18776(%rip), %rdi     # 0x369cf
leaq 0x17ebe(%rip), %rsi     # 0x3611e
movl $0x402, %edx            # imm = 0x402
leaq 0x187d8(%rip), %rcx     # 0x36a44
callq 0x31d0
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 0x1e2f2
movq -0x8(%rbp), %rax
movq 0x40(%rax), %rax
movq -0x8(%rbp), %rcx
cmpq 0x48(%rcx), %rax
jae 0x1e2d6
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 0x1e29c
jmp 0x1e2f4
jmp 0x1e2f6
jmp 0x1e0a9
addq $0x300, %rsp            # imm = 0x300
popq %rbp
retq
nopw %cs:(%rax,%rax)