// File: /workspace/github_c_makefile_star2_O0/jsummers[P]deark/src/../foreign/miniz-c.h
// Function: tdefl_compress_normal
static mz_bool tdefl_compress_normal(tdefl_compressor *d)
{
    const mz_uint8 *pSrc = d->m_pSrc;
    size_t src_buf_left = d->m_src_buf_left;
    tdefl_flush flush = d->m_flush;

    while ((src_buf_left) || ((flush) && (d->m_lookahead_size)))
    {
        mz_uint len_to_move, cur_match_dist, cur_match_len, cur_pos;
        /* Update dictionary and hash chains. Keeps the lookahead size equal to TDEFL_MAX_MATCH_LEN. */
        if ((d->m_lookahead_size + d->m_dict_size) >= (TDEFL_MIN_MATCH_LEN - 1))
        {
            mz_uint dst_pos = (d->m_lookahead_pos + d->m_lookahead_size) & TDEFL_LZ_DICT_SIZE_MASK, ins_pos = d->m_lookahead_pos + d->m_lookahead_size - 2;
            mz_uint hash = (d->m_dict[ins_pos & TDEFL_LZ_DICT_SIZE_MASK] << TDEFL_LZ_HASH_SHIFT) ^ d->m_dict[(ins_pos + 1) & TDEFL_LZ_DICT_SIZE_MASK];
            mz_uint num_bytes_to_process = (mz_uint)MZ_MIN(src_buf_left, TDEFL_MAX_MATCH_LEN - d->m_lookahead_size);
            const mz_uint8 *pSrc_end = pSrc ? pSrc + num_bytes_to_process : NULL;
            src_buf_left -= num_bytes_to_process;
            d->m_lookahead_size += num_bytes_to_process;
            while (pSrc != pSrc_end)
            {
                mz_uint8 c = *pSrc++;
                d->m_dict[dst_pos] = c;
                if (dst_pos < (TDEFL_MAX_MATCH_LEN - 1))
                    d->m_dict[TDEFL_LZ_DICT_SIZE + dst_pos] = c;
                hash = ((hash << TDEFL_LZ_HASH_SHIFT) ^ c) & (TDEFL_LZ_HASH_SIZE - 1);
                d->m_next[ins_pos & TDEFL_LZ_DICT_SIZE_MASK] = d->m_hash[hash];
                d->m_hash[hash] = (mz_uint16)(ins_pos);
                dst_pos = (dst_pos + 1) & TDEFL_LZ_DICT_SIZE_MASK;
                ins_pos++;
            }
        }
        else
        {
            while ((src_buf_left) && (d->m_lookahead_size < TDEFL_MAX_MATCH_LEN))
            {
                mz_uint8 c = *pSrc++;
                mz_uint dst_pos = (d->m_lookahead_pos + d->m_lookahead_size) & TDEFL_LZ_DICT_SIZE_MASK;
                src_buf_left--;
                d->m_dict[dst_pos] = c;
                if (dst_pos < (TDEFL_MAX_MATCH_LEN - 1))
                    d->m_dict[TDEFL_LZ_DICT_SIZE + dst_pos] = c;
                if ((++d->m_lookahead_size + d->m_dict_size) >= TDEFL_MIN_MATCH_LEN)
                {
                    mz_uint ins_pos = d->m_lookahead_pos + (d->m_lookahead_size - 1) - 2;
                    mz_uint hash = ((d->m_dict[ins_pos & TDEFL_LZ_DICT_SIZE_MASK] << (TDEFL_LZ_HASH_SHIFT * 2)) ^ (d->m_dict[(ins_pos + 1) & TDEFL_LZ_DICT_SIZE_MASK] << TDEFL_LZ_HASH_SHIFT) ^ c) & (TDEFL_LZ_HASH_SIZE - 1);
                    d->m_next[ins_pos & TDEFL_LZ_DICT_SIZE_MASK] = d->m_hash[hash];
                    d->m_hash[hash] = (mz_uint16)(ins_pos);
                }
            }
        }
        d->m_dict_size = MZ_MIN(TDEFL_LZ_DICT_SIZE - d->m_lookahead_size, d->m_dict_size);
        if ((!flush) && (d->m_lookahead_size < TDEFL_MAX_MATCH_LEN))
            break;

        /* Simple lazy/greedy parsing state machine. */
        len_to_move = 1;
        cur_match_dist = 0;
        cur_match_len = d->m_saved_match_len ? d->m_saved_match_len : (TDEFL_MIN_MATCH_LEN - 1);
        cur_pos = d->m_lookahead_pos & TDEFL_LZ_DICT_SIZE_MASK;
        if (d->m_flags & (TDEFL_RLE_MATCHES | TDEFL_FORCE_ALL_RAW_BLOCKS))
        {
            if ((d->m_dict_size) && (!(d->m_flags & TDEFL_FORCE_ALL_RAW_BLOCKS)))
            {
                mz_uint8 c = d->m_dict[(cur_pos - 1) & TDEFL_LZ_DICT_SIZE_MASK];
                cur_match_len = 0;
                while (cur_match_len < d->m_lookahead_size)
                {
                    if (d->m_dict[cur_pos + cur_match_len] != c)
                        break;
                    cur_match_len++;
                }
                if (cur_match_len < TDEFL_MIN_MATCH_LEN)
                    cur_match_len = 0;
                else
                    cur_match_dist = 1;
            }
        }
        else
        {
            tdefl_find_match(d, d->m_lookahead_pos, d->m_dict_size, d->m_lookahead_size, &cur_match_dist, &cur_match_len);
        }
        if (((cur_match_len == TDEFL_MIN_MATCH_LEN) && (cur_match_dist >= 8U * 1024U)) || (cur_pos == cur_match_dist) || ((d->m_flags & TDEFL_FILTER_MATCHES) && (cur_match_len <= 5)))
        {
            cur_match_dist = cur_match_len = 0;
        }
        if (d->m_saved_match_len)
        {
            if (cur_match_len > d->m_saved_match_len)
            {
                tdefl_record_literal(d, (mz_uint8)d->m_saved_lit);
                if (cur_match_len >= 128)
                {
                    tdefl_record_match(d, cur_match_len, cur_match_dist);
                    d->m_saved_match_len = 0;
                    len_to_move = cur_match_len;
                }
                else
                {
                    d->m_saved_lit = d->m_dict[cur_pos];
                    d->m_saved_match_dist = cur_match_dist;
                    d->m_saved_match_len = cur_match_len;
                }
            }
            else
            {
                tdefl_record_match(d, d->m_saved_match_len, d->m_saved_match_dist);
                len_to_move = d->m_saved_match_len - 1;
                d->m_saved_match_len = 0;
            }
        }
        else if (!cur_match_dist)
            tdefl_record_literal(d, d->m_dict[MZ_MIN(cur_pos, sizeof(d->m_dict) - 1)]);
        else if ((d->m_greedy_parsing) || (d->m_flags & TDEFL_RLE_MATCHES) || (cur_match_len >= 128))
        {
            tdefl_record_match(d, cur_match_len, cur_match_dist);
            len_to_move = cur_match_len;
        }
        else
        {
            d->m_saved_lit = d->m_dict[MZ_MIN(cur_pos, sizeof(d->m_dict) - 1)];
            d->m_saved_match_dist = cur_match_dist;
            d->m_saved_match_len = cur_match_len;
        }
        /* Move the lookahead forward by len_to_move bytes. */
        d->m_lookahead_pos += len_to_move;
        MZ_ASSERT(d->m_lookahead_size >= len_to_move);
        d->m_lookahead_size -= len_to_move;
        d->m_dict_size = MZ_MIN(d->m_dict_size + len_to_move, (mz_uint)TDEFL_LZ_DICT_SIZE);
        /* Check if it's time to flush the current LZ codes to the internal output buffer. */
        if ((d->m_pLZ_code_buf > &d->m_lz_code_buf[TDEFL_LZ_CODE_BUF_SIZE - 8]) ||
            ((d->m_total_lz_bytes > 31 * 1024) && (((((mz_uint)(d->m_pLZ_code_buf - d->m_lz_code_buf) * 115) >> 7) >= d->m_total_lz_bytes) || (d->m_flags & TDEFL_FORCE_ALL_RAW_BLOCKS))))
        {
            int n;
            d->m_pSrc = pSrc;
            d->m_src_buf_left = src_buf_left;
            if ((n = tdefl_flush_block(d, 0)) != 0)
                return (n < 0) ? MZ_FALSE : MZ_TRUE;
        }
    }

    d->m_pSrc = pSrc;
    d->m_src_buf_left = src_buf_left;
    return MZ_TRUE;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x1c0, %rsp            # imm = 0x1C0
movq %rdi, -0xd8(%rbp)
movq -0xd8(%rbp), %rax
movq 0xb0(%rax), %rax
movq %rax, -0xe0(%rbp)
movq -0xd8(%rbp), %rax
movq 0xb8(%rax), %rax
movq %rax, -0xe8(%rbp)
movq -0xd8(%rbp), %rax
movl 0xa8(%rax), %eax
movl %eax, -0xec(%rbp)
movb $0x1, %al
cmpq $0x0, -0xe8(%rbp)
movb %al, -0x131(%rbp)
jne 0x194c72
xorl %eax, %eax
cmpl $0x0, -0xec(%rbp)
movb %al, -0x132(%rbp)
je 0x194c66
movq -0xd8(%rbp), %rax
cmpl $0x0, 0x28(%rax)
setne %al
movb %al, -0x132(%rbp)
movb -0x132(%rbp), %al
movb %al, -0x131(%rbp)
movb -0x131(%rbp), %al
testb $0x1, %al
jne 0x194c81
jmp 0x196111
movq -0xd8(%rbp), %rax
movl 0x28(%rax), %eax
movq -0xd8(%rbp), %rcx
addl 0x2c(%rcx), %eax
cmpl $0x2, %eax
jb 0x194eef
movq -0xd8(%rbp), %rax
movl 0x24(%rax), %eax
movq -0xd8(%rbp), %rcx
addl 0x28(%rcx), %eax
andl $0x7fff, %eax           # imm = 0x7FFF
movl %eax, -0x100(%rbp)
movq -0xd8(%rbp), %rax
movl 0x24(%rax), %eax
movq -0xd8(%rbp), %rcx
addl 0x28(%rcx), %eax
subl $0x2, %eax
movl %eax, -0x104(%rbp)
movq -0xd8(%rbp), %rax
movl -0x104(%rbp), %ecx
andl $0x7fff, %ecx           # imm = 0x7FFF
movl %ecx, %ecx
movzbl 0xc8(%rax,%rcx), %eax
shll $0x5, %eax
movq -0xd8(%rbp), %rcx
movl -0x104(%rbp), %edx
addl $0x1, %edx
andl $0x7fff, %edx           # imm = 0x7FFF
movl %edx, %edx
movzbl 0xc8(%rcx,%rdx), %ecx
xorl %ecx, %eax
movl %eax, -0x108(%rbp)
movq -0xe8(%rbp), %rax
movq -0xd8(%rbp), %rdx
movl $0x102, %ecx            # imm = 0x102
subl 0x28(%rdx), %ecx
movl %ecx, %ecx
cmpq %rcx, %rax
jae 0x194d4f
movq -0xe8(%rbp), %rax
movq %rax, -0x140(%rbp)
jmp 0x194d67
movq -0xd8(%rbp), %rcx
movl $0x102, %eax            # imm = 0x102
subl 0x28(%rcx), %eax
movl %eax, %eax
movq %rax, -0x140(%rbp)
movq -0x140(%rbp), %rax
movl %eax, -0x10c(%rbp)
cmpq $0x0, -0xe0(%rbp)
je 0x194d97
movq -0xe0(%rbp), %rax
movl -0x10c(%rbp), %ecx
addq %rcx, %rax
movq %rax, -0x148(%rbp)
jmp 0x194da2
xorl %eax, %eax
movq %rax, -0x148(%rbp)
jmp 0x194da2
movq -0x148(%rbp), %rax
movq %rax, -0x118(%rbp)
movl -0x10c(%rbp), %eax
movl %eax, %ecx
movq -0xe8(%rbp), %rax
subq %rcx, %rax
movq %rax, -0xe8(%rbp)
movl -0x10c(%rbp), %ecx
movq -0xd8(%rbp), %rax
addl 0x28(%rax), %ecx
movl %ecx, 0x28(%rax)
movq -0xe0(%rbp), %rax
cmpq -0x118(%rbp), %rax
je 0x194eea
movq -0xe0(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0xe0(%rbp)
movb (%rax), %al
movb %al, -0x119(%rbp)
movb -0x119(%rbp), %dl
movq -0xd8(%rbp), %rax
movl -0x100(%rbp), %ecx
movb %dl, 0xc8(%rax,%rcx)
cmpl $0x101, -0x100(%rbp)    # imm = 0x101
jae 0x194e55
movb -0x119(%rbp), %dl
movq -0xd8(%rbp), %rax
movl -0x100(%rbp), %ecx
addl $0x8000, %ecx           # imm = 0x8000
movl %ecx, %ecx
movb %dl, 0xc8(%rax,%rcx)
movl -0x108(%rbp), %eax
shll $0x5, %eax
movzbl -0x119(%rbp), %ecx
xorl %ecx, %eax
andl $0x7fff, %eax           # imm = 0x7FFF
movl %eax, -0x108(%rbp)
movq -0xd8(%rbp), %rax
movl -0x108(%rbp), %ecx
movw 0x292aa(%rax,%rcx,2), %dx
movq -0xd8(%rbp), %rax
movl -0x104(%rbp), %ecx
andl $0x7fff, %ecx           # imm = 0x7FFF
movl %ecx, %ecx
movw %dx, 0x192aa(%rax,%rcx,2)
movl -0x104(%rbp), %eax
movw %ax, %dx
movq -0xd8(%rbp), %rax
movl -0x108(%rbp), %ecx
movw %dx, 0x292aa(%rax,%rcx,2)
movl -0x100(%rbp), %eax
addl $0x1, %eax
andl $0x7fff, %eax           # imm = 0x7FFF
movl %eax, -0x100(%rbp)
movl -0x104(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x104(%rbp)
jmp 0x194ddc
jmp 0x1950b4
jmp 0x194ef1
xorl %eax, %eax
cmpq $0x0, -0xe8(%rbp)
movb %al, -0x149(%rbp)
je 0x194f1a
movq -0xd8(%rbp), %rax
cmpl $0x102, 0x28(%rax)      # imm = 0x102
setb %al
movb %al, -0x149(%rbp)
movb -0x149(%rbp), %al
testb $0x1, %al
jne 0x194f29
jmp 0x1950b2
movq -0xe0(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0xe0(%rbp)
movb (%rax), %al
movb %al, -0x11a(%rbp)
movq -0xd8(%rbp), %rax
movl 0x24(%rax), %eax
movq -0xd8(%rbp), %rcx
addl 0x28(%rcx), %eax
andl $0x7fff, %eax           # imm = 0x7FFF
movl %eax, -0x120(%rbp)
movq -0xe8(%rbp), %rax
addq $-0x1, %rax
movq %rax, -0xe8(%rbp)
movb -0x11a(%rbp), %dl
movq -0xd8(%rbp), %rax
movl -0x120(%rbp), %ecx
movb %dl, 0xc8(%rax,%rcx)
cmpl $0x101, -0x120(%rbp)    # imm = 0x101
jae 0x194fbf
movb -0x11a(%rbp), %dl
movq -0xd8(%rbp), %rax
movl -0x120(%rbp), %ecx
addl $0x8000, %ecx           # imm = 0x8000
movl %ecx, %ecx
movb %dl, 0xc8(%rax,%rcx)
movq -0xd8(%rbp), %rcx
movl 0x28(%rcx), %eax
addl $0x1, %eax
movl %eax, 0x28(%rcx)
movq -0xd8(%rbp), %rcx
addl 0x2c(%rcx), %eax
cmpl $0x3, %eax
jb 0x1950ad
movq -0xd8(%rbp), %rax
movl 0x24(%rax), %eax
movq -0xd8(%rbp), %rcx
movl 0x28(%rcx), %ecx
subl $0x1, %ecx
addl %ecx, %eax
subl $0x2, %eax
movl %eax, -0x124(%rbp)
movq -0xd8(%rbp), %rax
movl -0x124(%rbp), %ecx
andl $0x7fff, %ecx           # imm = 0x7FFF
movl %ecx, %ecx
movzbl 0xc8(%rax,%rcx), %eax
shll $0xa, %eax
movq -0xd8(%rbp), %rcx
movl -0x124(%rbp), %edx
addl $0x1, %edx
andl $0x7fff, %edx           # imm = 0x7FFF
movl %edx, %edx
movzbl 0xc8(%rcx,%rdx), %ecx
shll $0x5, %ecx
xorl %ecx, %eax
movzbl -0x11a(%rbp), %ecx
xorl %ecx, %eax
andl $0x7fff, %eax           # imm = 0x7FFF
movl %eax, -0x128(%rbp)
movq -0xd8(%rbp), %rax
movl -0x128(%rbp), %ecx
movw 0x292aa(%rax,%rcx,2), %dx
movq -0xd8(%rbp), %rax
movl -0x124(%rbp), %ecx
andl $0x7fff, %ecx           # imm = 0x7FFF
movl %ecx, %ecx
movw %dx, 0x192aa(%rax,%rcx,2)
movl -0x124(%rbp), %eax
movw %ax, %dx
movq -0xd8(%rbp), %rax
movl -0x128(%rbp), %ecx
movw %dx, 0x292aa(%rax,%rcx,2)
jmp 0x194ef1
jmp 0x1950b4
movq -0xd8(%rbp), %rcx
movl $0x8000, %eax           # imm = 0x8000
subl 0x28(%rcx), %eax
movq -0xd8(%rbp), %rcx
cmpl 0x2c(%rcx), %eax
jae 0x1950e6
movq -0xd8(%rbp), %rcx
movl $0x8000, %eax           # imm = 0x8000
subl 0x28(%rcx), %eax
movl %eax, -0x150(%rbp)
jmp 0x1950f6
movq -0xd8(%rbp), %rax
movl 0x2c(%rax), %eax
movl %eax, -0x150(%rbp)
movl -0x150(%rbp), %ecx
movq -0xd8(%rbp), %rax
movl %ecx, 0x2c(%rax)
cmpl $0x0, -0xec(%rbp)
jne 0x195124
movq -0xd8(%rbp), %rax
cmpl $0x102, 0x28(%rax)      # imm = 0x102
jae 0x195124
jmp 0x196111
movl $0x1, -0xf0(%rbp)
movl $0x0, -0xf4(%rbp)
movq -0xd8(%rbp), %rax
cmpl $0x0, 0x68(%rax)
je 0x195157
movq -0xd8(%rbp), %rax
movl 0x68(%rax), %eax
movl %eax, -0x154(%rbp)
jmp 0x195164
movl $0x2, %eax
movl %eax, -0x154(%rbp)
jmp 0x195164
movl -0x154(%rbp), %eax
movl %eax, -0xf8(%rbp)
movq -0xd8(%rbp), %rax
movl 0x24(%rax), %eax
andl $0x7fff, %eax           # imm = 0x7FFF
movl %eax, -0xfc(%rbp)
movq -0xd8(%rbp), %rax
movl 0x10(%rax), %eax
andl $0x90000, %eax          # imm = 0x90000
cmpl $0x0, %eax
je 0x195268
movq -0xd8(%rbp), %rax
cmpl $0x0, 0x2c(%rax)
je 0x195263
movq -0xd8(%rbp), %rax
movl 0x10(%rax), %eax
andl $0x80000, %eax          # imm = 0x80000
cmpl $0x0, %eax
jne 0x195263
movq -0xd8(%rbp), %rax
movl -0xfc(%rbp), %ecx
subl $0x1, %ecx
andl $0x7fff, %ecx           # imm = 0x7FFF
movl %ecx, %ecx
movb 0xc8(%rax,%rcx), %al
movb %al, -0x129(%rbp)
movl $0x0, -0xf8(%rbp)
movl -0xf8(%rbp), %eax
movq -0xd8(%rbp), %rcx
cmpl 0x28(%rcx), %eax
jae 0x195242
movq -0xd8(%rbp), %rax
movl -0xfc(%rbp), %ecx
addl -0xf8(%rbp), %ecx
movl %ecx, %ecx
movzbl 0xc8(%rax,%rcx), %eax
movzbl -0x129(%rbp), %ecx
cmpl %ecx, %eax
je 0x195231
jmp 0x195242
movl -0xf8(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xf8(%rbp)
jmp 0x1951f5
cmpl $0x3, -0xf8(%rbp)
jae 0x195257
movl $0x0, -0xf8(%rbp)
jmp 0x195261
movl $0x1, -0xf4(%rbp)
jmp 0x195263
jmp 0x1956a7
movq -0xd8(%rbp), %rsi
movq -0xd8(%rbp), %rax
movl 0x24(%rax), %edx
movq -0xd8(%rbp), %rax
movl 0x2c(%rax), %ecx
movq -0xd8(%rbp), %rax
movl 0x28(%rax), %eax
movq %rsi, -0x70(%rbp)
movl %edx, -0x74(%rbp)
movl %ecx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
leaq -0xf4(%rbp), %rax
movq %rax, -0x88(%rbp)
leaq -0xf8(%rbp), %rax
movq %rax, -0x90(%rbp)
movl -0x74(%rbp), %eax
andl $0x7fff, %eax           # imm = 0x7FFF
movl %eax, -0x98(%rbp)
movq -0x90(%rbp), %rax
movl (%rax), %eax
movl %eax, -0x9c(%rbp)
movl -0x98(%rbp), %eax
movl %eax, -0xa0(%rbp)
movq -0x70(%rbp), %rax
cmpl $0x20, -0x9c(%rbp)
setae %cl
andb $0x1, %cl
movzbl %cl, %ecx
movslq %ecx, %rcx
movl 0x14(%rax,%rcx,4), %eax
movl %eax, -0xac(%rbp)
movq -0x70(%rbp), %rax
addq $0xc8, %rax
movl -0x98(%rbp), %ecx
addq %rcx, %rax
movq %rax, -0xb8(%rbp)
movq -0x70(%rbp), %rax
movl -0x98(%rbp), %ecx
addl -0x9c(%rbp), %ecx
movl %ecx, %ecx
movb 0xc8(%rax,%rcx), %al
movb %al, -0xc9(%rbp)
movq -0x70(%rbp), %rax
movl -0x98(%rbp), %ecx
addl -0x9c(%rbp), %ecx
subl $0x1, %ecx
movl %ecx, %ecx
movb 0xc8(%rax,%rcx), %al
movb %al, -0xca(%rbp)
cmpl $0x102, -0x7c(%rbp)     # imm = 0x102
ja 0x195371
movl -0x7c(%rbp), %eax
cmpl -0x9c(%rbp), %eax
jbe 0x195390
jmp 0x195395
leaq 0x43e62(%rip), %rdi     # 0x1d91da
leaq 0x43cef(%rip), %rsi     # 0x1d906e
movl $0x5cf, %edx            # imm = 0x5CF
leaq 0x43e74(%rip), %rcx     # 0x1d91ff
callq 0x19120
jmp 0x1956a5
jmp 0x195397
jmp 0x195399
movl -0xac(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0xac(%rbp)
cmpl $0x0, %eax
jne 0x1953b2
jmp 0x1956a5
movq -0x70(%rbp), %rax
movl -0xa0(%rbp), %ecx
movzwl 0x192aa(%rax,%rcx,2), %eax
movl %eax, -0xa4(%rbp)
cmpl $0x0, -0xa4(%rbp)
je 0x1953ea
movl -0x74(%rbp), %eax
subl -0xa4(%rbp), %eax
movzwl %ax, %eax
movl %eax, -0x94(%rbp)
cmpl -0x78(%rbp), %eax
jbe 0x1953ef
jmp 0x1956a5
movl -0xa4(%rbp), %eax
andl $0x7fff, %eax           # imm = 0x7FFF
movl %eax, -0xa0(%rbp)
movq -0x70(%rbp), %rax
movl -0xa0(%rbp), %ecx
addl -0x9c(%rbp), %ecx
movl %ecx, %ecx
movzbl 0xc8(%rax,%rcx), %eax
movzbl -0xc9(%rbp), %ecx
cmpl %ecx, %eax
jne 0x195452
movq -0x70(%rbp), %rax
movl -0xa0(%rbp), %ecx
addl -0x9c(%rbp), %ecx
subl $0x1, %ecx
movl %ecx, %ecx
movzbl 0xc8(%rax,%rcx), %eax
movzbl -0xca(%rbp), %ecx
cmpl %ecx, %eax
jne 0x195452
jmp 0x195594
movq -0x70(%rbp), %rax
movl -0xa0(%rbp), %ecx
movzwl 0x192aa(%rax,%rcx,2), %eax
movl %eax, -0xa4(%rbp)
cmpl $0x0, -0xa4(%rbp)
je 0x19548a
movl -0x74(%rbp), %eax
subl -0xa4(%rbp), %eax
movzwl %ax, %eax
movl %eax, -0x94(%rbp)
cmpl -0x78(%rbp), %eax
jbe 0x19548f
jmp 0x1956a5
movl -0xa4(%rbp), %eax
andl $0x7fff, %eax           # imm = 0x7FFF
movl %eax, -0xa0(%rbp)
movq -0x70(%rbp), %rax
movl -0xa0(%rbp), %ecx
addl -0x9c(%rbp), %ecx
movl %ecx, %ecx
movzbl 0xc8(%rax,%rcx), %eax
movzbl -0xc9(%rbp), %ecx
cmpl %ecx, %eax
jne 0x1954f2
movq -0x70(%rbp), %rax
movl -0xa0(%rbp), %ecx
addl -0x9c(%rbp), %ecx
subl $0x1, %ecx
movl %ecx, %ecx
movzbl 0xc8(%rax,%rcx), %eax
movzbl -0xca(%rbp), %ecx
cmpl %ecx, %eax
jne 0x1954f2
jmp 0x195594
movq -0x70(%rbp), %rax
movl -0xa0(%rbp), %ecx
movzwl 0x192aa(%rax,%rcx,2), %eax
movl %eax, -0xa4(%rbp)
cmpl $0x0, -0xa4(%rbp)
je 0x19552a
movl -0x74(%rbp), %eax
subl -0xa4(%rbp), %eax
movzwl %ax, %eax
movl %eax, -0x94(%rbp)
cmpl -0x78(%rbp), %eax
jbe 0x19552f
jmp 0x1956a5
movl -0xa4(%rbp), %eax
andl $0x7fff, %eax           # imm = 0x7FFF
movl %eax, -0xa0(%rbp)
movq -0x70(%rbp), %rax
movl -0xa0(%rbp), %ecx
addl -0x9c(%rbp), %ecx
movl %ecx, %ecx
movzbl 0xc8(%rax,%rcx), %eax
movzbl -0xc9(%rbp), %ecx
cmpl %ecx, %eax
jne 0x19558f
movq -0x70(%rbp), %rax
movl -0xa0(%rbp), %ecx
addl -0x9c(%rbp), %ecx
subl $0x1, %ecx
movl %ecx, %ecx
movzbl 0xc8(%rax,%rcx), %eax
movzbl -0xca(%rbp), %ecx
cmpl %ecx, %eax
jne 0x19558f
jmp 0x195594
jmp 0x195399
cmpl $0x0, -0x94(%rbp)
jne 0x1955a2
jmp 0x1956a5
movq -0xb8(%rbp), %rax
movq %rax, -0xc0(%rbp)
movq -0x70(%rbp), %rax
addq $0xc8, %rax
movl -0xa0(%rbp), %ecx
addq %rcx, %rax
movq %rax, -0xc8(%rbp)
movl $0x0, -0xa8(%rbp)
movl -0xa8(%rbp), %eax
cmpl -0x7c(%rbp), %eax
jae 0x195626
movq -0xc0(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0xc0(%rbp)
movzbl (%rax), %eax
movq -0xc8(%rbp), %rcx
movq %rcx, %rdx
addq $0x1, %rdx
movq %rdx, -0xc8(%rbp)
movzbl (%rcx), %ecx
cmpl %ecx, %eax
je 0x195615
jmp 0x195626
movl -0xa8(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xa8(%rbp)
jmp 0x1955d4
movl -0xa8(%rbp), %eax
cmpl -0x9c(%rbp), %eax
jbe 0x1956a0
movl -0x94(%rbp), %ecx
movq -0x88(%rbp), %rax
movl %ecx, (%rax)
movl -0xa8(%rbp), %eax
movl %eax, -0x9c(%rbp)
movq -0x90(%rbp), %rcx
movl %eax, (%rcx)
cmpl -0x7c(%rbp), %eax
jne 0x19565f
jmp 0x1956a5
movq -0x70(%rbp), %rax
movl -0x98(%rbp), %ecx
addl -0x9c(%rbp), %ecx
movl %ecx, %ecx
movb 0xc8(%rax,%rcx), %al
movb %al, -0xc9(%rbp)
movq -0x70(%rbp), %rax
movl -0x98(%rbp), %ecx
addl -0x9c(%rbp), %ecx
subl $0x1, %ecx
movl %ecx, %ecx
movb 0xc8(%rax,%rcx), %al
movb %al, -0xca(%rbp)
jmp 0x195397
jmp 0x1956a7
cmpl $0x3, -0xf8(%rbp)
jne 0x1956bc
cmpl $0x2000, -0xf4(%rbp)    # imm = 0x2000
jae 0x1956e7
movl -0xfc(%rbp), %eax
cmpl -0xf4(%rbp), %eax
je 0x1956e7
movq -0xd8(%rbp), %rax
movl 0x10(%rax), %eax
andl $0x20000, %eax          # imm = 0x20000
cmpl $0x0, %eax
je 0x1956fb
cmpl $0x5, -0xf8(%rbp)
ja 0x1956fb
movl $0x0, -0xf8(%rbp)
movl $0x0, -0xf4(%rbp)
movq -0xd8(%rbp), %rax
cmpl $0x0, 0x68(%rax)
je 0x195bf6
movl -0xf8(%rbp), %eax
movq -0xd8(%rbp), %rcx
cmpl 0x68(%rcx), %eax
jbe 0x195a02
movq -0xd8(%rbp), %rcx
movq -0xd8(%rbp), %rax
movl 0x6c(%rax), %eax
movq %rcx, -0x50(%rbp)
movb %al, -0x51(%rbp)
movq -0x50(%rbp), %rax
movl 0x54(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x54(%rax)
movb -0x51(%rbp), %cl
movq -0x50(%rbp), %rdx
movq 0x30(%rdx), %rax
movq %rax, %rsi
addq $0x1, %rsi
movq %rsi, 0x30(%rdx)
movb %cl, (%rax)
movq -0x50(%rbp), %rax
movq 0x38(%rax), %rax
movzbl (%rax), %eax
sarl %eax
movb %al, %cl
movq -0x50(%rbp), %rax
movq 0x38(%rax), %rax
movb %cl, (%rax)
movq -0x50(%rbp), %rcx
movl 0x50(%rcx), %eax
addl $-0x1, %eax
movl %eax, 0x50(%rcx)
cmpl $0x0, %eax
jne 0x1957b0
movq -0x50(%rbp), %rax
movl $0x8, 0x50(%rax)
movq -0x50(%rbp), %rax
movq 0x30(%rax), %rcx
movq %rcx, %rdx
addq $0x1, %rdx
movq %rdx, 0x30(%rax)
movq -0x50(%rbp), %rax
movq %rcx, 0x38(%rax)
movq -0x50(%rbp), %rax
movzbl -0x51(%rbp), %ecx
movw 0x81ca(%rax,%rcx,2), %dx
addw $0x1, %dx
movw %dx, 0x81ca(%rax,%rcx,2)
cmpl $0x80, -0xf8(%rbp)
jb 0x1959be
movq -0xd8(%rbp), %rdx
movl -0xf8(%rbp), %ecx
movl -0xf4(%rbp), %eax
movq %rdx, -0x8(%rbp)
movl %ecx, -0xc(%rbp)
movl %eax, -0x10(%rbp)
cmpl $0x3, -0xc(%rbp)
jb 0x1958ac
cmpl $0x1, -0x10(%rbp)
jb 0x1958ac
cmpl $0x8000, -0x10(%rbp)    # imm = 0x8000
ja 0x1958ac
movl -0xc(%rbp), %ecx
movq -0x8(%rbp), %rax
addl 0x54(%rax), %ecx
movl %ecx, 0x54(%rax)
movl -0xc(%rbp), %eax
subl $0x3, %eax
movb %al, %cl
movq -0x8(%rbp), %rax
movq 0x30(%rax), %rax
movb %cl, (%rax)
movl -0x10(%rbp), %eax
subl $0x1, %eax
movl %eax, -0x10(%rbp)
movl -0x10(%rbp), %eax
andl $0xff, %eax
movb %al, %cl
movq -0x8(%rbp), %rax
movq 0x30(%rax), %rax
movb %cl, 0x1(%rax)
movl -0x10(%rbp), %eax
shrl $0x8, %eax
movb %al, %cl
movq -0x8(%rbp), %rax
movq 0x30(%rax), %rax
movb %cl, 0x2(%rax)
movq -0x8(%rbp), %rax
movq 0x30(%rax), %rcx
addq $0x3, %rcx
movq %rcx, 0x30(%rax)
movq -0x8(%rbp), %rax
movq 0x38(%rax), %rax
movzbl (%rax), %eax
sarl %eax
orl $0x80, %eax
movb %al, %cl
movq -0x8(%rbp), %rax
movq 0x38(%rax), %rax
movb %cl, (%rax)
movq -0x8(%rbp), %rcx
movl 0x50(%rcx), %eax
addl $-0x1, %eax
movl %eax, 0x50(%rcx)
cmpl $0x0, %eax
je 0x1958cb
jmp 0x1958f1
leaq 0x439a7(%rip), %rdi     # 0x1d925a
leaq 0x437b4(%rip), %rsi     # 0x1d906e
movl $0x6c0, %edx            # imm = 0x6C0
leaq 0x439f2(%rip), %rcx     # 0x1d92b8
callq 0x19120
movq -0x8(%rbp), %rax
movl $0x8, 0x50(%rax)
movq -0x8(%rbp), %rax
movq 0x30(%rax), %rcx
movq %rcx, %rdx
addq $0x1, %rdx
movq %rdx, 0x30(%rax)
movq -0x8(%rbp), %rax
movq %rcx, 0x38(%rax)
movl -0x10(%rbp), %eax
andl $0x1ff, %eax            # imm = 0x1FF
movl %eax, %eax
movl %eax, %ecx
leaq 0x42e6c(%rip), %rax     # 0x1d8770
movzbl (%rax,%rcx), %eax
movl %eax, -0x14(%rbp)
movl -0x10(%rbp), %eax
shrl $0x8, %eax
andl $0x7f, %eax
movl %eax, %eax
movl %eax, %ecx
leaq 0x43051(%rip), %rax     # 0x1d8970
movzbl (%rax,%rcx), %eax
movl %eax, -0x18(%rbp)
movq -0x8(%rbp), %rax
addq $0x81ca, %rax           # imm = 0x81CA
addq $0x240, %rax            # imm = 0x240
movq %rax, -0x160(%rbp)
cmpl $0x200, -0x10(%rbp)     # imm = 0x200
jae 0x195951
movl -0x14(%rbp), %eax
movl %eax, -0x164(%rbp)
jmp 0x19595a
movl -0x18(%rbp), %eax
movl %eax, -0x164(%rbp)
movq -0x160(%rbp), %rax
movl -0x164(%rbp), %ecx
movl %ecx, %ecx
movw (%rax,%rcx,2), %dx
addw $0x1, %dx
movw %dx, (%rax,%rcx,2)
movq -0x8(%rbp), %rax
movl -0xc(%rbp), %ecx
subl $0x3, %ecx
movl %ecx, %ecx
movl %ecx, %edx
leaq 0x43066(%rip), %rcx     # 0x1d89f0
movzwl (%rcx,%rdx,2), %ecx
movw 0x81ca(%rax,%rcx,2), %dx
addw $0x1, %dx
movw %dx, 0x81ca(%rax,%rcx,2)
movq -0xd8(%rbp), %rax
movl $0x0, 0x68(%rax)
movl -0xf8(%rbp), %eax
movl %eax, -0xf0(%rbp)
jmp 0x1959fd
movq -0xd8(%rbp), %rax
movl -0xfc(%rbp), %ecx
movzbl 0xc8(%rax,%rcx), %ecx
movq -0xd8(%rbp), %rax
movl %ecx, 0x6c(%rax)
movl -0xf4(%rbp), %ecx
movq -0xd8(%rbp), %rax
movl %ecx, 0x64(%rax)
movl -0xf8(%rbp), %ecx
movq -0xd8(%rbp), %rax
movl %ecx, 0x68(%rax)
jmp 0x195bf1
movq -0xd8(%rbp), %rdx
movq -0xd8(%rbp), %rax
movl 0x68(%rax), %ecx
movq -0xd8(%rbp), %rax
movl 0x64(%rax), %eax
movq %rdx, -0x20(%rbp)
movl %ecx, -0x24(%rbp)
movl %eax, -0x28(%rbp)
cmpl $0x3, -0x24(%rbp)
jb 0x195ada
cmpl $0x1, -0x28(%rbp)
jb 0x195ada
cmpl $0x8000, -0x28(%rbp)    # imm = 0x8000
ja 0x195ada
movl -0x24(%rbp), %ecx
movq -0x20(%rbp), %rax
addl 0x54(%rax), %ecx
movl %ecx, 0x54(%rax)
movl -0x24(%rbp), %eax
subl $0x3, %eax
movb %al, %cl
movq -0x20(%rbp), %rax
movq 0x30(%rax), %rax
movb %cl, (%rax)
movl -0x28(%rbp), %eax
subl $0x1, %eax
movl %eax, -0x28(%rbp)
movl -0x28(%rbp), %eax
andl $0xff, %eax
movb %al, %cl
movq -0x20(%rbp), %rax
movq 0x30(%rax), %rax
movb %cl, 0x1(%rax)
movl -0x28(%rbp), %eax
shrl $0x8, %eax
movb %al, %cl
movq -0x20(%rbp), %rax
movq 0x30(%rax), %rax
movb %cl, 0x2(%rax)
movq -0x20(%rbp), %rax
movq 0x30(%rax), %rcx
addq $0x3, %rcx
movq %rcx, 0x30(%rax)
movq -0x20(%rbp), %rax
movq 0x38(%rax), %rax
movzbl (%rax), %eax
sarl %eax
orl $0x80, %eax
movb %al, %cl
movq -0x20(%rbp), %rax
movq 0x38(%rax), %rax
movb %cl, (%rax)
movq -0x20(%rbp), %rcx
movl 0x50(%rcx), %eax
addl $-0x1, %eax
movl %eax, 0x50(%rcx)
cmpl $0x0, %eax
je 0x195af9
jmp 0x195b1f
leaq 0x43779(%rip), %rdi     # 0x1d925a
leaq 0x43586(%rip), %rsi     # 0x1d906e
movl $0x6c0, %edx            # imm = 0x6C0
leaq 0x437c4(%rip), %rcx     # 0x1d92b8
callq 0x19120
movq -0x20(%rbp), %rax
movl $0x8, 0x50(%rax)
movq -0x20(%rbp), %rax
movq 0x30(%rax), %rcx
movq %rcx, %rdx
addq $0x1, %rdx
movq %rdx, 0x30(%rax)
movq -0x20(%rbp), %rax
movq %rcx, 0x38(%rax)
movl -0x28(%rbp), %eax
andl $0x1ff, %eax            # imm = 0x1FF
movl %eax, %eax
movl %eax, %ecx
leaq 0x42c3e(%rip), %rax     # 0x1d8770
movzbl (%rax,%rcx), %eax
movl %eax, -0x2c(%rbp)
movl -0x28(%rbp), %eax
shrl $0x8, %eax
andl $0x7f, %eax
movl %eax, %eax
movl %eax, %ecx
leaq 0x42e23(%rip), %rax     # 0x1d8970
movzbl (%rax,%rcx), %eax
movl %eax, -0x30(%rbp)
movq -0x20(%rbp), %rax
addq $0x81ca, %rax           # imm = 0x81CA
addq $0x240, %rax            # imm = 0x240
movq %rax, -0x170(%rbp)
cmpl $0x200, -0x28(%rbp)     # imm = 0x200
jae 0x195b7f
movl -0x2c(%rbp), %eax
movl %eax, -0x174(%rbp)
jmp 0x195b88
movl -0x30(%rbp), %eax
movl %eax, -0x174(%rbp)
movq -0x170(%rbp), %rax
movl -0x174(%rbp), %ecx
movl %ecx, %ecx
movw (%rax,%rcx,2), %dx
addw $0x1, %dx
movw %dx, (%rax,%rcx,2)
movq -0x20(%rbp), %rax
movl -0x24(%rbp), %ecx
subl $0x3, %ecx
movl %ecx, %ecx
movl %ecx, %edx
leaq 0x42e38(%rip), %rcx     # 0x1d89f0
movzwl (%rcx,%rdx,2), %ecx
movw 0x81ca(%rax,%rcx,2), %dx
addw $0x1, %dx
movw %dx, 0x81ca(%rax,%rcx,2)
movq -0xd8(%rbp), %rax
movl 0x68(%rax), %eax
subl $0x1, %eax
movl %eax, -0xf0(%rbp)
movq -0xd8(%rbp), %rax
movl $0x0, 0x68(%rax)
jmp 0x195f8a
cmpl $0x0, -0xf4(%rbp)
jne 0x195d06
movq -0xd8(%rbp), %rax
movq %rax, -0x188(%rbp)
movq -0xd8(%rbp), %rax
addq $0xc8, %rax
movq %rax, -0x180(%rbp)
movl -0xfc(%rbp), %eax
cmpq $0x8100, %rax           # imm = 0x8100
jae 0x195c42
movl -0xfc(%rbp), %eax
movq %rax, -0x190(%rbp)
jmp 0x195c50
movl $0x8100, %eax           # imm = 0x8100
movq %rax, -0x190(%rbp)
jmp 0x195c50
movq -0x188(%rbp), %rcx
movq -0x180(%rbp), %rax
movq -0x190(%rbp), %rdx
movb (%rax,%rdx), %al
movq %rcx, -0x60(%rbp)
movb %al, -0x61(%rbp)
movq -0x60(%rbp), %rax
movl 0x54(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x54(%rax)
movb -0x61(%rbp), %cl
movq -0x60(%rbp), %rdx
movq 0x30(%rdx), %rax
movq %rax, %rsi
addq $0x1, %rsi
movq %rsi, 0x30(%rdx)
movb %cl, (%rax)
movq -0x60(%rbp), %rax
movq 0x38(%rax), %rax
movzbl (%rax), %eax
sarl %eax
movb %al, %cl
movq -0x60(%rbp), %rax
movq 0x38(%rax), %rax
movb %cl, (%rax)
movq -0x60(%rbp), %rcx
movl 0x50(%rcx), %eax
addl $-0x1, %eax
movl %eax, 0x50(%rcx)
cmpl $0x0, %eax
jne 0x195ce5
movq -0x60(%rbp), %rax
movl $0x8, 0x50(%rax)
movq -0x60(%rbp), %rax
movq 0x30(%rax), %rcx
movq %rcx, %rdx
addq $0x1, %rdx
movq %rdx, 0x30(%rax)
movq -0x60(%rbp), %rax
movq %rcx, 0x38(%rax)
movq -0x60(%rbp), %rax
movzbl -0x61(%rbp), %ecx
movw 0x81ca(%rax,%rcx,2), %dx
addw $0x1, %dx
movw %dx, 0x81ca(%rax,%rcx,2)
jmp 0x195f88
movq -0xd8(%rbp), %rax
cmpl $0x0, 0x1c(%rax)
jne 0x195d37
movq -0xd8(%rbp), %rax
movl 0x10(%rax), %eax
andl $0x10000, %eax          # imm = 0x10000
cmpl $0x0, %eax
jne 0x195d37
cmpl $0x80, -0xf8(%rbp)
jb 0x195f0b
movq -0xd8(%rbp), %rdx
movl -0xf8(%rbp), %ecx
movl -0xf4(%rbp), %eax
movq %rdx, -0x38(%rbp)
movl %ecx, -0x3c(%rbp)
movl %eax, -0x40(%rbp)
cmpl $0x3, -0x3c(%rbp)
jb 0x195e07
cmpl $0x1, -0x40(%rbp)
jb 0x195e07
cmpl $0x8000, -0x40(%rbp)    # imm = 0x8000
ja 0x195e07
movl -0x3c(%rbp), %ecx
movq -0x38(%rbp), %rax
addl 0x54(%rax), %ecx
movl %ecx, 0x54(%rax)
movl -0x3c(%rbp), %eax
subl $0x3, %eax
movb %al, %cl
movq -0x38(%rbp), %rax
movq 0x30(%rax), %rax
movb %cl, (%rax)
movl -0x40(%rbp), %eax
subl $0x1, %eax
movl %eax, -0x40(%rbp)
movl -0x40(%rbp), %eax
andl $0xff, %eax
movb %al, %cl
movq -0x38(%rbp), %rax
movq 0x30(%rax), %rax
movb %cl, 0x1(%rax)
movl -0x40(%rbp), %eax
shrl $0x8, %eax
movb %al, %cl
movq -0x38(%rbp), %rax
movq 0x30(%rax), %rax
movb %cl, 0x2(%rax)
movq -0x38(%rbp), %rax
movq 0x30(%rax), %rcx
addq $0x3, %rcx
movq %rcx, 0x30(%rax)
movq -0x38(%rbp), %rax
movq 0x38(%rax), %rax
movzbl (%rax), %eax
sarl %eax
orl $0x80, %eax
movb %al, %cl
movq -0x38(%rbp), %rax
movq 0x38(%rax), %rax
movb %cl, (%rax)
movq -0x38(%rbp), %rcx
movl 0x50(%rcx), %eax
addl $-0x1, %eax
movl %eax, 0x50(%rcx)
cmpl $0x0, %eax
je 0x195e26
jmp 0x195e4c
leaq 0x4344c(%rip), %rdi     # 0x1d925a
leaq 0x43259(%rip), %rsi     # 0x1d906e
movl $0x6c0, %edx            # imm = 0x6C0
leaq 0x43497(%rip), %rcx     # 0x1d92b8
callq 0x19120
movq -0x38(%rbp), %rax
movl $0x8, 0x50(%rax)
movq -0x38(%rbp), %rax
movq 0x30(%rax), %rcx
movq %rcx, %rdx
addq $0x1, %rdx
movq %rdx, 0x30(%rax)
movq -0x38(%rbp), %rax
movq %rcx, 0x38(%rax)
movl -0x40(%rbp), %eax
andl $0x1ff, %eax            # imm = 0x1FF
movl %eax, %eax
movl %eax, %ecx
leaq 0x42911(%rip), %rax     # 0x1d8770
movzbl (%rax,%rcx), %eax
movl %eax, -0x44(%rbp)
movl -0x40(%rbp), %eax
shrl $0x8, %eax
andl $0x7f, %eax
movl %eax, %eax
movl %eax, %ecx
leaq 0x42af6(%rip), %rax     # 0x1d8970
movzbl (%rax,%rcx), %eax
movl %eax, -0x48(%rbp)
movq -0x38(%rbp), %rax
addq $0x81ca, %rax           # imm = 0x81CA
addq $0x240, %rax            # imm = 0x240
movq %rax, -0x198(%rbp)
cmpl $0x200, -0x40(%rbp)     # imm = 0x200
jae 0x195eac
movl -0x44(%rbp), %eax
movl %eax, -0x19c(%rbp)
jmp 0x195eb5
movl -0x48(%rbp), %eax
movl %eax, -0x19c(%rbp)
movq -0x198(%rbp), %rax
movl -0x19c(%rbp), %ecx
movl %ecx, %ecx
movw (%rax,%rcx,2), %dx
addw $0x1, %dx
movw %dx, (%rax,%rcx,2)
movq -0x38(%rbp), %rax
movl -0x3c(%rbp), %ecx
subl $0x3, %ecx
movl %ecx, %ecx
movl %ecx, %edx
leaq 0x42b0b(%rip), %rcx     # 0x1d89f0
movzwl (%rcx,%rdx,2), %ecx
movw 0x81ca(%rax,%rcx,2), %dx
addw $0x1, %dx
movw %dx, 0x81ca(%rax,%rcx,2)
movl -0xf8(%rbp), %eax
movl %eax, -0xf0(%rbp)
jmp 0x195f86
movq -0xd8(%rbp), %rax
addq $0xc8, %rax
movq %rax, -0x1a8(%rbp)
movl -0xfc(%rbp), %eax
cmpq $0x8100, %rax           # imm = 0x8100
jae 0x195f3c
movl -0xfc(%rbp), %eax
movq %rax, -0x1b0(%rbp)
jmp 0x195f4a
movl $0x8100, %eax           # imm = 0x8100
movq %rax, -0x1b0(%rbp)
jmp 0x195f4a
movq -0x1a8(%rbp), %rax
movq -0x1b0(%rbp), %rcx
movzbl (%rax,%rcx), %ecx
movq -0xd8(%rbp), %rax
movl %ecx, 0x6c(%rax)
movl -0xf4(%rbp), %ecx
movq -0xd8(%rbp), %rax
movl %ecx, 0x64(%rax)
movl -0xf8(%rbp), %ecx
movq -0xd8(%rbp), %rax
movl %ecx, 0x68(%rax)
jmp 0x195f88
jmp 0x195f8a
movl -0xf0(%rbp), %ecx
movq -0xd8(%rbp), %rax
addl 0x24(%rax), %ecx
movl %ecx, 0x24(%rax)
movq -0xd8(%rbp), %rax
movl 0x28(%rax), %eax
cmpl -0xf0(%rbp), %eax
jb 0x195fb1
jmp 0x195fd0
leaq 0x431cd(%rip), %rdi     # 0x1d9185
leaq 0x430af(%rip), %rsi     # 0x1d906e
movl $0x755, %edx            # imm = 0x755
leaq 0x431dd(%rip), %rcx     # 0x1d91a8
callq 0x19120
movl -0xf0(%rbp), %edx
movq -0xd8(%rbp), %rax
movl 0x28(%rax), %ecx
subl %edx, %ecx
movl %ecx, 0x28(%rax)
movq -0xd8(%rbp), %rax
movl 0x2c(%rax), %eax
addl -0xf0(%rbp), %eax
cmpl $0x8000, %eax           # imm = 0x8000
jae 0x196014
movq -0xd8(%rbp), %rax
movl 0x2c(%rax), %eax
addl -0xf0(%rbp), %eax
movl %eax, -0x1b4(%rbp)
jmp 0x196021
movl $0x8000, %eax           # imm = 0x8000
movl %eax, -0x1b4(%rbp)
jmp 0x196021
movl -0x1b4(%rbp), %ecx
movq -0xd8(%rbp), %rax
movl %ecx, 0x2c(%rax)
movq -0xd8(%rbp), %rax
movq 0x30(%rax), %rax
movq -0xd8(%rbp), %rcx
addq $0x92aa, %rcx           # imm = 0x92AA
addq $0xfff8, %rcx           # imm = 0xFFF8
cmpq %rcx, %rax
ja 0x1960ac
movq -0xd8(%rbp), %rax
cmpl $0x7c00, 0x54(%rax)     # imm = 0x7C00
jbe 0x19610c
movq -0xd8(%rbp), %rax
movq 0x30(%rax), %rax
movq -0xd8(%rbp), %rcx
addq $0x92aa, %rcx           # imm = 0x92AA
subq %rcx, %rax
imull $0x73, %eax, %eax
shrl $0x7, %eax
movq -0xd8(%rbp), %rcx
cmpl 0x54(%rcx), %eax
jae 0x1960ac
movq -0xd8(%rbp), %rax
movl 0x10(%rax), %eax
andl $0x80000, %eax          # imm = 0x80000
cmpl $0x0, %eax
je 0x19610c
movq -0xe0(%rbp), %rcx
movq -0xd8(%rbp), %rax
movq %rcx, 0xb0(%rax)
movq -0xe8(%rbp), %rcx
movq -0xd8(%rbp), %rax
movq %rcx, 0xb8(%rax)
movq -0xd8(%rbp), %rdi
xorl %esi, %esi
callq 0x196160
movl %eax, -0x130(%rbp)
cmpl $0x0, %eax
je 0x19610a
movl -0x130(%rbp), %edx
movl $0x1, %eax
xorl %ecx, %ecx
cmpl $0x0, %edx
cmovll %ecx, %eax
movl %eax, -0xd0(%rbp)
jmp 0x196145
jmp 0x19610c
jmp 0x194c2f
movq -0xe0(%rbp), %rcx
movq -0xd8(%rbp), %rax
movq %rcx, 0xb0(%rax)
movq -0xe8(%rbp), %rcx
movq -0xd8(%rbp), %rax
movq %rcx, 0xb8(%rax)
movl $0x1, -0xd0(%rbp)
movl -0xd0(%rbp), %eax
addq $0x1c0, %rsp            # imm = 0x1C0
popq %rbp
retq
nopw %cs:(%rax,%rax)