// File: /workspace/github_c_makefile_star2_O0/bluecmd[P]fst-example/gtkwave/lz4.c
// Function: LZ4_compress_fast_continue
int LZ4_compress_fast_continue (LZ4_stream_t* LZ4_stream, const char* source, char* dest, int inputSize, int maxOutputSize, int acceleration)
{
    LZ4_stream_t_internal* streamPtr = (LZ4_stream_t_internal*)LZ4_stream;
    const BYTE* const dictEnd = streamPtr->dictionary + streamPtr->dictSize;

    const BYTE* smallest = (const BYTE*) source;
    if (streamPtr->initCheck) return 0;   /* Uninitialized structure detected */
    if ((streamPtr->dictSize>0) && (smallest>dictEnd)) smallest = dictEnd;
    LZ4_renormDictT(streamPtr, smallest);
    if (acceleration < 1) acceleration = ACCELERATION_DEFAULT;

    /* Check overlapping input/dictionary space */
    {
        const BYTE* sourceEnd = (const BYTE*) source + inputSize;
        if ((sourceEnd > streamPtr->dictionary) && (sourceEnd < dictEnd))
        {
            streamPtr->dictSize = (U32)(dictEnd - sourceEnd);
            if (streamPtr->dictSize > 64 KB) streamPtr->dictSize = 64 KB;
            if (streamPtr->dictSize < 4) streamPtr->dictSize = 0;
            streamPtr->dictionary = dictEnd - streamPtr->dictSize;
        }
    }

    /* prefix mode : source data follows dictionary */
    if (dictEnd == (const BYTE*)source)
    {
        int result;
        if ((streamPtr->dictSize < 64 KB) && (streamPtr->dictSize < streamPtr->currentOffset))
            result = LZ4_compress_generic(LZ4_stream, source, dest, inputSize, maxOutputSize, limitedOutput, byU32, withPrefix64k, dictSmall, acceleration);
        else
            result = LZ4_compress_generic(LZ4_stream, source, dest, inputSize, maxOutputSize, limitedOutput, byU32, withPrefix64k, noDictIssue, acceleration);
        streamPtr->dictSize += (U32)inputSize;
        streamPtr->currentOffset += (U32)inputSize;
        return result;
    }

    /* external dictionary mode */
    {
        int result;
        if ((streamPtr->dictSize < 64 KB) && (streamPtr->dictSize < streamPtr->currentOffset))
            result = LZ4_compress_generic(LZ4_stream, source, dest, inputSize, maxOutputSize, limitedOutput, byU32, usingExtDict, dictSmall, acceleration);
        else
            result = LZ4_compress_generic(LZ4_stream, source, dest, inputSize, maxOutputSize, limitedOutput, byU32, usingExtDict, noDictIssue, acceleration);
        streamPtr->dictionary = (const BYTE*)source;
        streamPtr->dictSize = (U32)inputSize;
        streamPtr->currentOffset += (U32)inputSize;
        return result;
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x540, %rsp            # imm = 0x540
movq %rdi, -0x450(%rbp)
movq %rsi, -0x458(%rbp)
movq %rdx, -0x460(%rbp)
movl %ecx, -0x464(%rbp)
movl %r8d, -0x468(%rbp)
movl %r9d, -0x46c(%rbp)
movq -0x450(%rbp), %rax
movq %rax, -0x478(%rbp)
movq -0x478(%rbp), %rax
movq 0x4008(%rax), %rax
movq -0x478(%rbp), %rcx
movl 0x4018(%rcx), %ecx
addq %rcx, %rax
movq %rax, -0x480(%rbp)
movq -0x458(%rbp), %rax
movq %rax, -0x488(%rbp)
movq -0x478(%rbp), %rax
cmpl $0x0, 0x4004(%rax)
je 0x17df4
movl $0x0, -0x444(%rbp)
jmp 0x1b0c1
movq -0x478(%rbp), %rax
cmpl $0x0, 0x4018(%rax)
jbe 0x17e22
movq -0x488(%rbp), %rax
cmpq -0x480(%rbp), %rax
jbe 0x17e22
movq -0x480(%rbp), %rax
movq %rax, -0x488(%rbp)
movq -0x478(%rbp), %rdi
movq -0x488(%rbp), %rsi
callq 0x1b0d0
cmpl $0x1, -0x46c(%rbp)
jge 0x17e48
movl $0x1, -0x46c(%rbp)
movq -0x458(%rbp), %rax
movslq -0x464(%rbp), %rcx
addq %rcx, %rax
movq %rax, -0x490(%rbp)
movq -0x490(%rbp), %rax
movq -0x478(%rbp), %rcx
cmpq 0x4008(%rcx), %rax
jbe 0x17f20
movq -0x490(%rbp), %rax
cmpq -0x480(%rbp), %rax
jae 0x17f20
movq -0x480(%rbp), %rax
movq -0x490(%rbp), %rcx
subq %rcx, %rax
movl %eax, %ecx
movq -0x478(%rbp), %rax
movl %ecx, 0x4018(%rax)
movq -0x478(%rbp), %rax
cmpl $0x10000, 0x4018(%rax)  # imm = 0x10000
jbe 0x17ed3
movq -0x478(%rbp), %rax
movl $0x10000, 0x4018(%rax)  # imm = 0x10000
movq -0x478(%rbp), %rax
cmpl $0x4, 0x4018(%rax)
jae 0x17ef4
movq -0x478(%rbp), %rax
movl $0x0, 0x4018(%rax)
movq -0x480(%rbp), %rcx
movq -0x478(%rbp), %rax
movl 0x4018(%rax), %eax
movl %eax, %edx
xorl %eax, %eax
subq %rdx, %rax
addq %rax, %rcx
movq -0x478(%rbp), %rax
movq %rcx, 0x4008(%rax)
movq -0x480(%rbp), %rax
cmpq -0x458(%rbp), %rax
jne 0x1971c
movq -0x478(%rbp), %rax
cmpl $0x10000, 0x4018(%rax)  # imm = 0x10000
jae 0x18a4b
movq -0x478(%rbp), %rax
movl 0x4018(%rax), %eax
movq -0x478(%rbp), %rcx
cmpl 0x4000(%rcx), %eax
jae 0x18a4b
movq -0x450(%rbp), %r8
movq -0x458(%rbp), %rdi
movq -0x460(%rbp), %rsi
movl -0x464(%rbp), %edx
movl -0x468(%rbp), %ecx
movl -0x46c(%rbp), %eax
movq %r8, -0x10(%rbp)
movq %rdi, -0x18(%rbp)
movq %rsi, -0x20(%rbp)
movl %edx, -0x24(%rbp)
movl %ecx, -0x28(%rbp)
movl $0x1, -0x2c(%rbp)
movl $0x1, -0x30(%rbp)
movl $0x1, -0x34(%rbp)
movl $0x1, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x48(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x50(%rbp)
movq -0x50(%rbp), %rax
movq -0x48(%rbp), %rcx
movl 0x4018(%rcx), %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
addq %rcx, %rax
movq %rax, -0x68(%rbp)
movq -0x48(%rbp), %rax
movq 0x4008(%rax), %rax
movq %rax, -0x70(%rbp)
movq -0x70(%rbp), %rax
movq -0x48(%rbp), %rcx
movl 0x4018(%rcx), %ecx
addq %rcx, %rax
movq %rax, -0x78(%rbp)
movq -0x78(%rbp), %rax
movq -0x18(%rbp), %rcx
subq %rcx, %rax
movq %rax, -0x80(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x88(%rbp)
movq -0x50(%rbp), %rax
movslq -0x24(%rbp), %rcx
addq %rcx, %rax
movq %rax, -0x90(%rbp)
movq -0x90(%rbp), %rax
addq $-0xc, %rax
movq %rax, -0x98(%rbp)
movq -0x90(%rbp), %rax
addq $-0x5, %rax
movq %rax, -0xa0(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0xa8(%rbp)
movq -0xa8(%rbp), %rax
movslq -0x28(%rbp), %rcx
addq %rcx, %rax
movq %rax, -0xb0(%rbp)
movq $0x0, -0xc0(%rbp)
cmpl $0x7e000000, -0x24(%rbp) # imm = 0x7E000000
jbe 0x180a3
movl $0x0, -0x4(%rbp)
jmp 0x18a3d
movl -0x34(%rbp), %eax
movl %eax, -0x49c(%rbp)
testl %eax, %eax
je 0x180cc
jmp 0x180b2
movl -0x49c(%rbp), %eax
subl $0x1, %eax
je 0x180e0
jmp 0x180bf
movl -0x49c(%rbp), %eax
subl $0x2, %eax
je 0x1811a
jmp 0x180ce
jmp 0x180ce
movq -0x18(%rbp), %rax
movq %rax, -0x58(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x60(%rbp)
jmp 0x1813e
movq -0x18(%rbp), %rax
movq -0x48(%rbp), %rcx
movl 0x4000(%rcx), %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
addq %rcx, %rax
movq %rax, -0x58(%rbp)
movq -0x18(%rbp), %rax
movq -0x48(%rbp), %rcx
movl 0x4018(%rcx), %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
addq %rcx, %rax
movq %rax, -0x60(%rbp)
jmp 0x1813e
movq -0x18(%rbp), %rax
movq -0x48(%rbp), %rcx
movl 0x4000(%rcx), %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
addq %rcx, %rax
movq %rax, -0x58(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x60(%rbp)
cmpl $0x2, -0x30(%rbp)
jne 0x18159
cmpl $0x1000b, -0x24(%rbp)   # imm = 0x1000B
jl 0x18159
movl $0x0, -0x4(%rbp)
jmp 0x18a3d
cmpl $0xd, -0x24(%rbp)
jge 0x18164
jmp 0x188ca
movq -0x50(%rbp), %rdi
movq -0x10(%rbp), %rsi
movl -0x30(%rbp), %edx
movq -0x58(%rbp), %rcx
callq 0x17d10
movq -0x50(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x50(%rbp)
movq -0x50(%rbp), %rdi
movl -0x30(%rbp), %esi
callq 0x282d0
movl %eax, -0xb4(%rbp)
movq -0x50(%rbp), %rax
movq %rax, -0xd8(%rbp)
movl $0x1, -0xdc(%rbp)
movl -0x3c(%rbp), %eax
shll $0x6, %eax
movl %eax, -0xe0(%rbp)
movl -0xb4(%rbp), %eax
movl %eax, -0xe4(%rbp)
movq -0xd8(%rbp), %rax
movq %rax, -0x50(%rbp)
movl -0xdc(%rbp), %ecx
movq -0xd8(%rbp), %rax
movl %ecx, %ecx
addq %rcx, %rax
movq %rax, -0xd8(%rbp)
movl -0xe0(%rbp), %eax
movl %eax, %ecx
addl $0x1, %ecx
movl %ecx, -0xe0(%rbp)
shrl $0x6, %eax
movl %eax, -0xdc(%rbp)
movq -0xd8(%rbp), %rax
cmpq -0x98(%rbp), %rax
seta %al
testb $0x1, %al
jne 0x18218
jmp 0x1821d
jmp 0x188ca
movl -0xe4(%rbp), %edi
movq -0x10(%rbp), %rsi
movl -0x30(%rbp), %edx
movq -0x58(%rbp), %rcx
callq 0x28300
movq %rax, -0xc8(%rbp)
cmpl $0x2, -0x34(%rbp)
jne 0x18277
movq -0xc8(%rbp), %rax
cmpq -0x18(%rbp), %rax
jae 0x18262
movq -0x80(%rbp), %rax
movq %rax, -0xc0(%rbp)
movq -0x70(%rbp), %rax
movq %rax, -0x60(%rbp)
jmp 0x18275
movq $0x0, -0xc0(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x60(%rbp)
jmp 0x18277
movq -0xd8(%rbp), %rdi
movl -0x30(%rbp), %esi
callq 0x282d0
movl %eax, -0xb4(%rbp)
movq -0x50(%rbp), %rdi
movl -0xe4(%rbp), %esi
movq -0x10(%rbp), %rdx
movl -0x30(%rbp), %ecx
movq -0x58(%rbp), %r8
callq 0x28380
cmpl $0x1, -0x38(%rbp)
jne 0x182c3
movq -0xc8(%rbp), %rcx
movb $0x1, %al
cmpq -0x68(%rbp), %rcx
movb %al, -0x49d(%rbp)
jb 0x1831e
jmp 0x182c5
jmp 0x182c5
cmpl $0x2, -0x30(%rbp)
jne 0x182cd
jmp 0x182e9
movq -0xc8(%rbp), %rcx
addq $0xffff, %rcx           # imm = 0xFFFF
movb $0x1, %al
cmpq -0x50(%rbp), %rcx
movb %al, -0x49d(%rbp)
jb 0x1831e
movq -0xc8(%rbp), %rdi
addq -0xc0(%rbp), %rdi
callq 0x28420
movl %eax, -0x4a4(%rbp)
movq -0x50(%rbp), %rdi
callq 0x28420
movl %eax, %ecx
movl -0x4a4(%rbp), %eax
cmpl %ecx, %eax
setne %al
movb %al, -0x49d(%rbp)
movb -0x49d(%rbp), %al
testb $0x1, %al
jne 0x181b7
jmp 0x1832e
movq -0x50(%rbp), %rcx
xorl %eax, %eax
cmpq -0x88(%rbp), %rcx
movb %al, -0x4a5(%rbp)
jbe 0x18388
movq -0xc8(%rbp), %rcx
addq -0xc0(%rbp), %rcx
xorl %eax, %eax
cmpq -0x60(%rbp), %rcx
movb %al, -0x4a5(%rbp)
jbe 0x18388
movq -0x50(%rbp), %rax
movzbl -0x1(%rax), %eax
movq -0xc8(%rbp), %rcx
movq -0xc0(%rbp), %rdx
subq $0x1, %rdx
movzbl (%rcx,%rdx), %ecx
cmpl %ecx, %eax
sete %al
movb %al, -0x4a5(%rbp)
movb -0x4a5(%rbp), %al
testb $0x1, %al
jne 0x18394
jmp 0x183b7
movq -0x50(%rbp), %rax
addq $-0x1, %rax
movq %rax, -0x50(%rbp)
movq -0xc8(%rbp), %rax
addq $-0x1, %rax
movq %rax, -0xc8(%rbp)
jmp 0x1832e
movq -0x50(%rbp), %rax
movq -0x88(%rbp), %rcx
subq %rcx, %rax
movl %eax, -0xe8(%rbp)
movq -0xa8(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0xa8(%rbp)
movq %rax, -0xd0(%rbp)
cmpl $0x0, -0x2c(%rbp)
je 0x18441
movq -0xa8(%rbp), %rax
movl -0xe8(%rbp), %ecx
addq %rcx, %rax
addq $0x8, %rax
movq %rax, -0x4b0(%rbp)
movl -0xe8(%rbp), %eax
movl $0xff, %ecx
xorl %edx, %edx
divl %ecx
movl %eax, %ecx
movq -0x4b0(%rbp), %rax
movl %ecx, %ecx
addq %rcx, %rax
cmpq -0xb0(%rbp), %rax
seta %al
testb $0x1, %al
jne 0x18435
jmp 0x18441
movl $0x0, -0x4(%rbp)
jmp 0x18a3d
cmpl $0xf, -0xe8(%rbp)
jb 0x184bb
movl -0xe8(%rbp), %eax
subl $0xf, %eax
movl %eax, -0xec(%rbp)
movq -0xd0(%rbp), %rax
movb $-0x10, (%rax)
cmpl $0xff, -0xec(%rbp)
jl 0x1849a
movq -0xa8(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0xa8(%rbp)
movb $-0x1, (%rax)
movl -0xec(%rbp), %eax
subl $0xff, %eax
movl %eax, -0xec(%rbp)
jmp 0x18463
movl -0xec(%rbp), %eax
movb %al, %cl
movq -0xa8(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0xa8(%rbp)
movb %cl, (%rax)
jmp 0x184cf
movl -0xe8(%rbp), %eax
shll $0x4, %eax
movb %al, %cl
movq -0xd0(%rbp), %rax
movb %cl, (%rax)
movq -0xa8(%rbp), %rdi
movq -0x88(%rbp), %rsi
movq -0xa8(%rbp), %rdx
movl -0xe8(%rbp), %eax
addq %rax, %rdx
callq 0x28440
movl -0xe8(%rbp), %ecx
movq -0xa8(%rbp), %rax
movl %ecx, %ecx
addq %rcx, %rax
movq %rax, -0xa8(%rbp)
movq -0xa8(%rbp), %rdi
movq -0x50(%rbp), %rax
movq -0xc8(%rbp), %rcx
subq %rcx, %rax
movzwl %ax, %esi
callq 0x284b0
movq -0xa8(%rbp), %rax
addq $0x2, %rax
movq %rax, -0xa8(%rbp)
cmpl $0x2, -0x34(%rbp)
jne 0x1862a
movq -0x60(%rbp), %rax
cmpq -0x70(%rbp), %rax
jne 0x1862a
movq -0xc0(%rbp), %rax
addq -0xc8(%rbp), %rax
movq %rax, -0xc8(%rbp)
movq -0x50(%rbp), %rax
movq -0x78(%rbp), %rcx
movq -0xc8(%rbp), %rdx
subq %rdx, %rcx
addq %rcx, %rax
movq %rax, -0xf8(%rbp)
movq -0xf8(%rbp), %rax
cmpq -0xa0(%rbp), %rax
jbe 0x185a1
movq -0xa0(%rbp), %rax
movq %rax, -0xf8(%rbp)
movq -0x50(%rbp), %rdi
addq $0x4, %rdi
movq -0xc8(%rbp), %rsi
addq $0x4, %rsi
movq -0xf8(%rbp), %rdx
callq 0x28510
movl %eax, -0xf0(%rbp)
movl -0xf0(%rbp), %ecx
addl $0x4, %ecx
movq -0x50(%rbp), %rax
movl %ecx, %ecx
addq %rcx, %rax
movq %rax, -0x50(%rbp)
movq -0x50(%rbp), %rax
cmpq -0xf8(%rbp), %rax
jne 0x18628
movq -0x50(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0xa0(%rbp), %rdx
callq 0x28510
movl %eax, -0xfc(%rbp)
movl -0xfc(%rbp), %eax
addl -0xf0(%rbp), %eax
movl %eax, -0xf0(%rbp)
movl -0xfc(%rbp), %ecx
movq -0x50(%rbp), %rax
movl %ecx, %ecx
addq %rcx, %rax
movq %rax, -0x50(%rbp)
jmp 0x18665
movq -0x50(%rbp), %rdi
addq $0x4, %rdi
movq -0xc8(%rbp), %rsi
addq $0x4, %rsi
movq -0xa0(%rbp), %rdx
callq 0x28510
movl %eax, -0xf0(%rbp)
movl -0xf0(%rbp), %ecx
addl $0x4, %ecx
movq -0x50(%rbp), %rax
movl %ecx, %ecx
addq %rcx, %rax
movq %rax, -0x50(%rbp)
cmpl $0x0, -0x2c(%rbp)
je 0x186a0
movq -0xa8(%rbp), %rax
addq $0x6, %rax
movl -0xf0(%rbp), %ecx
shrl $0x8, %ecx
movl %ecx, %ecx
addq %rcx, %rax
cmpq -0xb0(%rbp), %rax
seta %al
testb $0x1, %al
jne 0x18694
jmp 0x186a0
movl $0x0, -0x4(%rbp)
jmp 0x18a3d
cmpl $0xf, -0xf0(%rbp)
jb 0x18770
movq -0xd0(%rbp), %rax
movzbl (%rax), %ecx
addl $0xf, %ecx
movb %cl, (%rax)
movl -0xf0(%rbp), %eax
subl $0xf, %eax
movl %eax, -0xf0(%rbp)
cmpl $0x1fe, -0xf0(%rbp)     # imm = 0x1FE
jb 0x1871a
movq -0xa8(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0xa8(%rbp)
movb $-0x1, (%rax)
movq -0xa8(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0xa8(%rbp)
movb $-0x1, (%rax)
movl -0xf0(%rbp), %eax
subl $0x1fe, %eax            # imm = 0x1FE
movl %eax, -0xf0(%rbp)
jmp 0x186cb
cmpl $0xff, -0xf0(%rbp)
jb 0x1874f
movl -0xf0(%rbp), %eax
subl $0xff, %eax
movl %eax, -0xf0(%rbp)
movq -0xa8(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0xa8(%rbp)
movb $-0x1, (%rax)
movl -0xf0(%rbp), %eax
movb %al, %cl
movq -0xa8(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0xa8(%rbp)
movb %cl, (%rax)
jmp 0x18787
movl -0xf0(%rbp), %eax
movzbl %al, %edx
movq -0xd0(%rbp), %rax
movzbl (%rax), %ecx
addl %edx, %ecx
movb %cl, (%rax)
movq -0x50(%rbp), %rax
movq %rax, -0x88(%rbp)
movq -0x50(%rbp), %rax
cmpq -0x98(%rbp), %rax
jbe 0x187a4
jmp 0x188ca
movq -0x50(%rbp), %rdi
addq $-0x2, %rdi
movq -0x10(%rbp), %rsi
movl -0x30(%rbp), %edx
movq -0x58(%rbp), %rcx
callq 0x17d10
movq -0x50(%rbp), %rdi
movq -0x10(%rbp), %rsi
movl -0x30(%rbp), %edx
movq -0x58(%rbp), %rcx
callq 0x286b0
movq %rax, -0xc8(%rbp)
cmpl $0x2, -0x34(%rbp)
jne 0x18814
movq -0xc8(%rbp), %rax
cmpq -0x18(%rbp), %rax
jae 0x187ff
movq -0x80(%rbp), %rax
movq %rax, -0xc0(%rbp)
movq -0x70(%rbp), %rax
movq %rax, -0x60(%rbp)
jmp 0x18812
movq $0x0, -0xc0(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x60(%rbp)
jmp 0x18814
movq -0x50(%rbp), %rdi
movq -0x10(%rbp), %rsi
movl -0x30(%rbp), %edx
movq -0x58(%rbp), %rcx
callq 0x17d10
cmpl $0x1, -0x38(%rbp)
jne 0x1883d
movq -0xc8(%rbp), %rax
cmpq -0x68(%rbp), %rax
jae 0x1883f
jmp 0x188ab
jmp 0x1883f
movq -0xc8(%rbp), %rax
addq $0xffff, %rax           # imm = 0xFFFF
cmpq -0x50(%rbp), %rax
jb 0x188ab
movq -0xc8(%rbp), %rdi
addq -0xc0(%rbp), %rdi
callq 0x28420
movl %eax, -0x4b4(%rbp)
movq -0x50(%rbp), %rdi
callq 0x28420
movl %eax, %ecx
movl -0x4b4(%rbp), %eax
cmpl %ecx, %eax
jne 0x188ab
movq -0xa8(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0xa8(%rbp)
movq %rax, -0xd0(%rbp)
movq -0xd0(%rbp), %rax
movb $0x0, (%rax)
jmp 0x1850b
movq -0x50(%rbp), %rdi
addq $0x1, %rdi
movq %rdi, -0x50(%rbp)
movl -0x30(%rbp), %esi
callq 0x282d0
movl %eax, -0xb4(%rbp)
jmp 0x18196
movq -0x90(%rbp), %rax
movq -0x88(%rbp), %rcx
subq %rcx, %rax
movq %rax, -0x108(%rbp)
cmpl $0x0, -0x2c(%rbp)
je 0x18944
movq -0xa8(%rbp), %rax
movq -0x20(%rbp), %rcx
subq %rcx, %rax
addq -0x108(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x4c0(%rbp)
movq -0x108(%rbp), %rax
addq $0xff, %rax
subq $0xf, %rax
movl $0xff, %ecx
xorl %edx, %edx
divq %rcx
movq %rax, %rcx
movq -0x4c0(%rbp), %rax
addq %rcx, %rax
movl -0x28(%rbp), %ecx
cmpq %rcx, %rax
jbe 0x18944
movl $0x0, -0x4(%rbp)
jmp 0x18a3d
cmpq $0xf, -0x108(%rbp)
jb 0x189d9
movq -0x108(%rbp), %rax
subq $0xf, %rax
movq %rax, -0x110(%rbp)
movq -0xa8(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0xa8(%rbp)
movb $-0x10, (%rax)
cmpq $0xff, -0x110(%rbp)
jb 0x189b7
movq -0xa8(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0xa8(%rbp)
movb $-0x1, (%rax)
movq -0x110(%rbp), %rax
subq $0xff, %rax
movq %rax, -0x110(%rbp)
jmp 0x1897c
movq -0x110(%rbp), %rax
movb %al, %cl
movq -0xa8(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0xa8(%rbp)
movb %cl, (%rax)
jmp 0x189fd
movq -0x108(%rbp), %rax
shlq $0x4, %rax
movb %al, %cl
movq -0xa8(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0xa8(%rbp)
movb %cl, (%rax)
movq -0xa8(%rbp), %rdi
movq -0x88(%rbp), %rsi
movq -0x108(%rbp), %rdx
callq 0x2250
movq -0x108(%rbp), %rax
addq -0xa8(%rbp), %rax
movq %rax, -0xa8(%rbp)
movq -0xa8(%rbp), %rax
movq -0x20(%rbp), %rcx
subq %rcx, %rax
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
movl %eax, -0x494(%rbp)
jmp 0x196d9
movq -0x450(%rbp), %r8
movq -0x458(%rbp), %rdi
movq -0x460(%rbp), %rsi
movl -0x464(%rbp), %edx
movl -0x468(%rbp), %ecx
movl -0x46c(%rbp), %eax
movq %r8, -0x120(%rbp)
movq %rdi, -0x128(%rbp)
movq %rsi, -0x130(%rbp)
movl %edx, -0x134(%rbp)
movl %ecx, -0x138(%rbp)
movl $0x1, -0x13c(%rbp)
movl $0x1, -0x140(%rbp)
movl $0x1, -0x144(%rbp)
movl $0x0, -0x148(%rbp)
movl %eax, -0x14c(%rbp)
movq -0x120(%rbp), %rax
movq %rax, -0x158(%rbp)
movq -0x128(%rbp), %rax
movq %rax, -0x160(%rbp)
movq -0x160(%rbp), %rax
movq -0x158(%rbp), %rcx
movl 0x4018(%rcx), %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
addq %rcx, %rax
movq %rax, -0x178(%rbp)
movq -0x158(%rbp), %rax
movq 0x4008(%rax), %rax
movq %rax, -0x180(%rbp)
movq -0x180(%rbp), %rax
movq -0x158(%rbp), %rcx
movl 0x4018(%rcx), %ecx
addq %rcx, %rax
movq %rax, -0x188(%rbp)
movq -0x188(%rbp), %rax
movq -0x128(%rbp), %rcx
subq %rcx, %rax
movq %rax, -0x190(%rbp)
movq -0x128(%rbp), %rax
movq %rax, -0x198(%rbp)
movq -0x160(%rbp), %rax
movslq -0x134(%rbp), %rcx
addq %rcx, %rax
movq %rax, -0x1a0(%rbp)
movq -0x1a0(%rbp), %rax
addq $-0xc, %rax
movq %rax, -0x1a8(%rbp)
movq -0x1a0(%rbp), %rax
addq $-0x5, %rax
movq %rax, -0x1b0(%rbp)
movq -0x130(%rbp), %rax
movq %rax, -0x1b8(%rbp)
movq -0x1b8(%rbp), %rax
movslq -0x138(%rbp), %rcx
addq %rcx, %rax
movq %rax, -0x1c0(%rbp)
movq $0x0, -0x1d0(%rbp)
cmpl $0x7e000000, -0x134(%rbp) # imm = 0x7E000000
jbe 0x18be3
movl $0x0, -0x114(%rbp)
jmp 0x196cd
movl -0x144(%rbp), %eax
movl %eax, -0x4c4(%rbp)
testl %eax, %eax
je 0x18c0f
jmp 0x18bf5
movl -0x4c4(%rbp), %eax
subl $0x1, %eax
je 0x18c2f
jmp 0x18c02
movl -0x4c4(%rbp), %eax
subl $0x2, %eax
je 0x18c7b
jmp 0x18c11
jmp 0x18c11
movq -0x128(%rbp), %rax
movq %rax, -0x168(%rbp)
movq -0x128(%rbp), %rax
movq %rax, -0x170(%rbp)
jmp 0x18cae
movq -0x128(%rbp), %rax
movq -0x158(%rbp), %rcx
movl 0x4000(%rcx), %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
addq %rcx, %rax
movq %rax, -0x168(%rbp)
movq -0x128(%rbp), %rax
movq -0x158(%rbp), %rcx
movl 0x4018(%rcx), %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
addq %rcx, %rax
movq %rax, -0x170(%rbp)
jmp 0x18cae
movq -0x128(%rbp), %rax
movq -0x158(%rbp), %rcx
movl 0x4000(%rcx), %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
addq %rcx, %rax
movq %rax, -0x168(%rbp)
movq -0x128(%rbp), %rax
movq %rax, -0x170(%rbp)
cmpl $0x2, -0x140(%rbp)
jne 0x18cd2
cmpl $0x1000b, -0x134(%rbp)  # imm = 0x1000B
jl 0x18cd2
movl $0x0, -0x114(%rbp)
jmp 0x196cd
cmpl $0xd, -0x134(%rbp)
jge 0x18ce0
jmp 0x19548
movq -0x160(%rbp), %rdi
movq -0x120(%rbp), %rsi
movl -0x140(%rbp), %edx
movq -0x168(%rbp), %rcx
callq 0x17d10
movq -0x160(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x160(%rbp)
movq -0x160(%rbp), %rdi
movl -0x140(%rbp), %esi
callq 0x282d0
movl %eax, -0x1c4(%rbp)
movq -0x160(%rbp), %rax
movq %rax, -0x1e8(%rbp)
movl $0x1, -0x1ec(%rbp)
movl -0x14c(%rbp), %eax
shll $0x6, %eax
movl %eax, -0x1f0(%rbp)
movl -0x1c4(%rbp), %eax
movl %eax, -0x1f4(%rbp)
movq -0x1e8(%rbp), %rax
movq %rax, -0x160(%rbp)
movl -0x1ec(%rbp), %ecx
movq -0x1e8(%rbp), %rax
movl %ecx, %ecx
addq %rcx, %rax
movq %rax, -0x1e8(%rbp)
movl -0x1f0(%rbp), %eax
movl %eax, %ecx
addl $0x1, %ecx
movl %ecx, -0x1f0(%rbp)
shrl $0x6, %eax
movl %eax, -0x1ec(%rbp)
movq -0x1e8(%rbp), %rax
cmpq -0x1a8(%rbp), %rax
seta %al
testb $0x1, %al
jne 0x18db5
jmp 0x18dba
jmp 0x19548
movl -0x1f4(%rbp), %edi
movq -0x120(%rbp), %rsi
movl -0x140(%rbp), %edx
movq -0x168(%rbp), %rcx
callq 0x28300
movq %rax, -0x1d8(%rbp)
cmpl $0x2, -0x144(%rbp)
jne 0x18e32
movq -0x1d8(%rbp), %rax
cmpq -0x128(%rbp), %rax
jae 0x18e17
movq -0x190(%rbp), %rax
movq %rax, -0x1d0(%rbp)
movq -0x180(%rbp), %rax
movq %rax, -0x170(%rbp)
jmp 0x18e30
movq $0x0, -0x1d0(%rbp)
movq -0x128(%rbp), %rax
movq %rax, -0x170(%rbp)
jmp 0x18e32
movq -0x1e8(%rbp), %rdi
movl -0x140(%rbp), %esi
callq 0x282d0
movl %eax, -0x1c4(%rbp)
movq -0x160(%rbp), %rdi
movl -0x1f4(%rbp), %esi
movq -0x120(%rbp), %rdx
movl -0x140(%rbp), %ecx
movq -0x168(%rbp), %r8
callq 0x28380
cmpl $0x1, -0x148(%rbp)
jne 0x18e93
movq -0x1d8(%rbp), %rcx
movb $0x1, %al
cmpq -0x178(%rbp), %rcx
movb %al, -0x4c5(%rbp)
jb 0x18ef7
jmp 0x18e95
jmp 0x18e95
cmpl $0x2, -0x140(%rbp)
jne 0x18ea0
jmp 0x18ebf
movq -0x1d8(%rbp), %rcx
addq $0xffff, %rcx           # imm = 0xFFFF
movb $0x1, %al
cmpq -0x160(%rbp), %rcx
movb %al, -0x4c5(%rbp)
jb 0x18ef7
movq -0x1d8(%rbp), %rdi
addq -0x1d0(%rbp), %rdi
callq 0x28420
movl %eax, -0x4cc(%rbp)
movq -0x160(%rbp), %rdi
callq 0x28420
movl %eax, %ecx
movl -0x4cc(%rbp), %eax
cmpl %ecx, %eax
setne %al
movb %al, -0x4c5(%rbp)
movb -0x4c5(%rbp), %al
testb $0x1, %al
jne 0x18d51
jmp 0x18f07
movq -0x160(%rbp), %rcx
xorl %eax, %eax
cmpq -0x198(%rbp), %rcx
movb %al, -0x4cd(%rbp)
jbe 0x18f6a
movq -0x1d8(%rbp), %rcx
addq -0x1d0(%rbp), %rcx
xorl %eax, %eax
cmpq -0x170(%rbp), %rcx
movb %al, -0x4cd(%rbp)
jbe 0x18f6a
movq -0x160(%rbp), %rax
movzbl -0x1(%rax), %eax
movq -0x1d8(%rbp), %rcx
movq -0x1d0(%rbp), %rdx
subq $0x1, %rdx
movzbl (%rcx,%rdx), %ecx
cmpl %ecx, %eax
sete %al
movb %al, -0x4cd(%rbp)
movb -0x4cd(%rbp), %al
testb $0x1, %al
jne 0x18f76
jmp 0x18f9f
movq -0x160(%rbp), %rax
addq $-0x1, %rax
movq %rax, -0x160(%rbp)
movq -0x1d8(%rbp), %rax
addq $-0x1, %rax
movq %rax, -0x1d8(%rbp)
jmp 0x18f07
movq -0x160(%rbp), %rax
movq -0x198(%rbp), %rcx
subq %rcx, %rax
movl %eax, -0x1f8(%rbp)
movq -0x1b8(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x1b8(%rbp)
movq %rax, -0x1e0(%rbp)
cmpl $0x0, -0x13c(%rbp)
je 0x19032
movq -0x1b8(%rbp), %rax
movl -0x1f8(%rbp), %ecx
addq %rcx, %rax
addq $0x8, %rax
movq %rax, -0x4d8(%rbp)
movl -0x1f8(%rbp), %eax
movl $0xff, %ecx
xorl %edx, %edx
divl %ecx
movl %eax, %ecx
movq -0x4d8(%rbp), %rax
movl %ecx, %ecx
addq %rcx, %rax
cmpq -0x1c0(%rbp), %rax
seta %al
testb $0x1, %al
jne 0x19023
jmp 0x19032
movl $0x0, -0x114(%rbp)
jmp 0x196cd
cmpl $0xf, -0x1f8(%rbp)
jb 0x190ac
movl -0x1f8(%rbp), %eax
subl $0xf, %eax
movl %eax, -0x1fc(%rbp)
movq -0x1e0(%rbp), %rax
movb $-0x10, (%rax)
cmpl $0xff, -0x1fc(%rbp)
jl 0x1908b
movq -0x1b8(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x1b8(%rbp)
movb $-0x1, (%rax)
movl -0x1fc(%rbp), %eax
subl $0xff, %eax
movl %eax, -0x1fc(%rbp)
jmp 0x19054
movl -0x1fc(%rbp), %eax
movb %al, %cl
movq -0x1b8(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x1b8(%rbp)
movb %cl, (%rax)
jmp 0x190c0
movl -0x1f8(%rbp), %eax
shll $0x4, %eax
movb %al, %cl
movq -0x1e0(%rbp), %rax
movb %cl, (%rax)
movq -0x1b8(%rbp), %rdi
movq -0x198(%rbp), %rsi
movq -0x1b8(%rbp), %rdx
movl -0x1f8(%rbp), %eax
addq %rax, %rdx
callq 0x28440
movl -0x1f8(%rbp), %ecx
movq -0x1b8(%rbp), %rax
movl %ecx, %ecx
addq %rcx, %rax
movq %rax, -0x1b8(%rbp)
movq -0x1b8(%rbp), %rdi
movq -0x160(%rbp), %rax
movq -0x1d8(%rbp), %rcx
subq %rcx, %rax
movzwl %ax, %esi
callq 0x284b0
movq -0x1b8(%rbp), %rax
addq $0x2, %rax
movq %rax, -0x1b8(%rbp)
cmpl $0x2, -0x144(%rbp)
jne 0x19245
movq -0x170(%rbp), %rax
cmpq -0x180(%rbp), %rax
jne 0x19245
movq -0x1d0(%rbp), %rax
addq -0x1d8(%rbp), %rax
movq %rax, -0x1d8(%rbp)
movq -0x160(%rbp), %rax
movq -0x188(%rbp), %rcx
movq -0x1d8(%rbp), %rdx
subq %rdx, %rcx
addq %rcx, %rax
movq %rax, -0x208(%rbp)
movq -0x208(%rbp), %rax
cmpq -0x1b0(%rbp), %rax
jbe 0x191a4
movq -0x1b0(%rbp), %rax
movq %rax, -0x208(%rbp)
movq -0x160(%rbp), %rdi
addq $0x4, %rdi
movq -0x1d8(%rbp), %rsi
addq $0x4, %rsi
movq -0x208(%rbp), %rdx
callq 0x28510
movl %eax, -0x200(%rbp)
movl -0x200(%rbp), %ecx
addl $0x4, %ecx
movq -0x160(%rbp), %rax
movl %ecx, %ecx
addq %rcx, %rax
movq %rax, -0x160(%rbp)
movq -0x160(%rbp), %rax
cmpq -0x208(%rbp), %rax
jne 0x19243
movq -0x160(%rbp), %rdi
movq -0x128(%rbp), %rsi
movq -0x1b0(%rbp), %rdx
callq 0x28510
movl %eax, -0x20c(%rbp)
movl -0x20c(%rbp), %eax
addl -0x200(%rbp), %eax
movl %eax, -0x200(%rbp)
movl -0x20c(%rbp), %ecx
movq -0x160(%rbp), %rax
movl %ecx, %ecx
addq %rcx, %rax
movq %rax, -0x160(%rbp)
jmp 0x19289
movq -0x160(%rbp), %rdi
addq $0x4, %rdi
movq -0x1d8(%rbp), %rsi
addq $0x4, %rsi
movq -0x1b0(%rbp), %rdx
callq 0x28510
movl %eax, -0x200(%rbp)
movl -0x200(%rbp), %ecx
addl $0x4, %ecx
movq -0x160(%rbp), %rax
movl %ecx, %ecx
addq %rcx, %rax
movq %rax, -0x160(%rbp)
cmpl $0x0, -0x13c(%rbp)
je 0x192ca
movq -0x1b8(%rbp), %rax
addq $0x6, %rax
movl -0x200(%rbp), %ecx
shrl $0x8, %ecx
movl %ecx, %ecx
addq %rcx, %rax
cmpq -0x1c0(%rbp), %rax
seta %al
testb $0x1, %al
jne 0x192bb
jmp 0x192ca
movl $0x0, -0x114(%rbp)
jmp 0x196cd
cmpl $0xf, -0x200(%rbp)
jb 0x1939a
movq -0x1e0(%rbp), %rax
movzbl (%rax), %ecx
addl $0xf, %ecx
movb %cl, (%rax)
movl -0x200(%rbp), %eax
subl $0xf, %eax
movl %eax, -0x200(%rbp)
cmpl $0x1fe, -0x200(%rbp)    # imm = 0x1FE
jb 0x19344
movq -0x1b8(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x1b8(%rbp)
movb $-0x1, (%rax)
movq -0x1b8(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x1b8(%rbp)
movb $-0x1, (%rax)
movl -0x200(%rbp), %eax
subl $0x1fe, %eax            # imm = 0x1FE
movl %eax, -0x200(%rbp)
jmp 0x192f5
cmpl $0xff, -0x200(%rbp)
jb 0x19379
movl -0x200(%rbp), %eax
subl $0xff, %eax
movl %eax, -0x200(%rbp)
movq -0x1b8(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x1b8(%rbp)
movb $-0x1, (%rax)
movl -0x200(%rbp), %eax
movb %al, %cl
movq -0x1b8(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x1b8(%rbp)
movb %cl, (%rax)
jmp 0x193b1
movl -0x200(%rbp), %eax
movzbl %al, %edx
movq -0x1e0(%rbp), %rax
movzbl (%rax), %ecx
addl %edx, %ecx
movb %cl, (%rax)
movq -0x160(%rbp), %rax
movq %rax, -0x198(%rbp)
movq -0x160(%rbp), %rax
cmpq -0x1a8(%rbp), %rax
jbe 0x193d4
jmp 0x19548
movq -0x160(%rbp), %rdi
addq $-0x2, %rdi
movq -0x120(%rbp), %rsi
movl -0x140(%rbp), %edx
movq -0x168(%rbp), %rcx
callq 0x17d10
movq -0x160(%rbp), %rdi
movq -0x120(%rbp), %rsi
movl -0x140(%rbp), %edx
movq -0x168(%rbp), %rcx
callq 0x286b0
movq %rax, -0x1d8(%rbp)
cmpl $0x2, -0x144(%rbp)
jne 0x19471
movq -0x1d8(%rbp), %rax
cmpq -0x128(%rbp), %rax
jae 0x19456
movq -0x190(%rbp), %rax
movq %rax, -0x1d0(%rbp)
movq -0x180(%rbp), %rax
movq %rax, -0x170(%rbp)
jmp 0x1946f
movq $0x0, -0x1d0(%rbp)
movq -0x128(%rbp), %rax
movq %rax, -0x170(%rbp)
jmp 0x19471
movq -0x160(%rbp), %rdi
movq -0x120(%rbp), %rsi
movl -0x140(%rbp), %edx
movq -0x168(%rbp), %rcx
callq 0x17d10
cmpl $0x1, -0x148(%rbp)
jne 0x194ac
movq -0x1d8(%rbp), %rax
cmpq -0x178(%rbp), %rax
jae 0x194ae
jmp 0x19520
jmp 0x194ae
movq -0x1d8(%rbp), %rax
addq $0xffff, %rax           # imm = 0xFFFF
cmpq -0x160(%rbp), %rax
jb 0x19520
movq -0x1d8(%rbp), %rdi
addq -0x1d0(%rbp), %rdi
callq 0x28420
movl %eax, -0x4dc(%rbp)
movq -0x160(%rbp), %rdi
callq 0x28420
movl %eax, %ecx
movl -0x4dc(%rbp), %eax
cmpl %ecx, %eax
jne 0x19520
movq -0x1b8(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x1b8(%rbp)
movq %rax, -0x1e0(%rbp)
movq -0x1e0(%rbp), %rax
movb $0x0, (%rax)
jmp 0x190fc
movq -0x160(%rbp), %rdi
addq $0x1, %rdi
movq %rdi, -0x160(%rbp)
movl -0x140(%rbp), %esi
callq 0x282d0
movl %eax, -0x1c4(%rbp)
jmp 0x18d2a
movq -0x1a0(%rbp), %rax
movq -0x198(%rbp), %rcx
subq %rcx, %rax
movq %rax, -0x218(%rbp)
cmpl $0x0, -0x13c(%rbp)
je 0x195ce
movq -0x1b8(%rbp), %rax
movq -0x130(%rbp), %rcx
subq %rcx, %rax
addq -0x218(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x4e8(%rbp)
movq -0x218(%rbp), %rax
addq $0xff, %rax
subq $0xf, %rax
movl $0xff, %ecx
xorl %edx, %edx
divq %rcx
movq %rax, %rcx
movq -0x4e8(%rbp), %rax
addq %rcx, %rax
movl -0x138(%rbp), %ecx
cmpq %rcx, %rax
jbe 0x195ce
movl $0x0, -0x114(%rbp)
jmp 0x196cd
cmpq $0xf, -0x218(%rbp)
jb 0x19663
movq -0x218(%rbp), %rax
subq $0xf, %rax
movq %rax, -0x220(%rbp)
movq -0x1b8(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x1b8(%rbp)
movb $-0x10, (%rax)
cmpq $0xff, -0x220(%rbp)
jb 0x19641
movq -0x1b8(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x1b8(%rbp)
movb $-0x1, (%rax)
movq -0x220(%rbp), %rax
subq $0xff, %rax
movq %rax, -0x220(%rbp)
jmp 0x19606
movq -0x220(%rbp), %rax
movb %al, %cl
movq -0x1b8(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x1b8(%rbp)
movb %cl, (%rax)
jmp 0x19687
movq -0x218(%rbp), %rax
shlq $0x4, %rax
movb %al, %cl
movq -0x1b8(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x1b8(%rbp)
movb %cl, (%rax)
movq -0x1b8(%rbp), %rdi
movq -0x198(%rbp), %rsi
movq -0x218(%rbp), %rdx
callq 0x2250
movq -0x218(%rbp), %rax
addq -0x1b8(%rbp), %rax
movq %rax, -0x1b8(%rbp)
movq -0x1b8(%rbp), %rax
movq -0x130(%rbp), %rcx
subq %rcx, %rax
movl %eax, -0x114(%rbp)
movl -0x114(%rbp), %eax
movl %eax, -0x494(%rbp)
movl -0x464(%rbp), %ecx
movq -0x478(%rbp), %rax
addl 0x4018(%rax), %ecx
movl %ecx, 0x4018(%rax)
movl -0x464(%rbp), %ecx
movq -0x478(%rbp), %rax
addl 0x4000(%rax), %ecx
movl %ecx, 0x4000(%rax)
movl -0x494(%rbp), %eax
movl %eax, -0x444(%rbp)
jmp 0x1b0c1
movq -0x478(%rbp), %rax
cmpl $0x10000, 0x4018(%rax)  # imm = 0x10000
jae 0x1a3e6
movq -0x478(%rbp), %rax
movl 0x4018(%rax), %eax
movq -0x478(%rbp), %rcx
cmpl 0x4000(%rcx), %eax
jae 0x1a3e6
movq -0x450(%rbp), %r8
movq -0x458(%rbp), %rdi
movq -0x460(%rbp), %rsi
movl -0x464(%rbp), %edx
movl -0x468(%rbp), %ecx
movl -0x46c(%rbp), %eax
movq %r8, -0x230(%rbp)
movq %rdi, -0x238(%rbp)
movq %rsi, -0x240(%rbp)
movl %edx, -0x244(%rbp)
movl %ecx, -0x248(%rbp)
movl $0x1, -0x24c(%rbp)
movl $0x1, -0x250(%rbp)
movl $0x2, -0x254(%rbp)
movl $0x1, -0x258(%rbp)
movl %eax, -0x25c(%rbp)
movq -0x230(%rbp), %rax
movq %rax, -0x268(%rbp)
movq -0x238(%rbp), %rax
movq %rax, -0x270(%rbp)
movq -0x270(%rbp), %rax
movq -0x268(%rbp), %rcx
movl 0x4018(%rcx), %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
addq %rcx, %rax
movq %rax, -0x288(%rbp)
movq -0x268(%rbp), %rax
movq 0x4008(%rax), %rax
movq %rax, -0x290(%rbp)
movq -0x290(%rbp), %rax
movq -0x268(%rbp), %rcx
movl 0x4018(%rcx), %ecx
addq %rcx, %rax
movq %rax, -0x298(%rbp)
movq -0x298(%rbp), %rax
movq -0x238(%rbp), %rcx
subq %rcx, %rax
movq %rax, -0x2a0(%rbp)
movq -0x238(%rbp), %rax
movq %rax, -0x2a8(%rbp)
movq -0x270(%rbp), %rax
movslq -0x244(%rbp), %rcx
addq %rcx, %rax
movq %rax, -0x2b0(%rbp)
movq -0x2b0(%rbp), %rax
addq $-0xc, %rax
movq %rax, -0x2b8(%rbp)
movq -0x2b0(%rbp), %rax
addq $-0x5, %rax
movq %rax, -0x2c0(%rbp)
movq -0x240(%rbp), %rax
movq %rax, -0x2c8(%rbp)
movq -0x2c8(%rbp), %rax
movslq -0x248(%rbp), %rcx
addq %rcx, %rax
movq %rax, -0x2d0(%rbp)
movq $0x0, -0x2e0(%rbp)
cmpl $0x7e000000, -0x244(%rbp) # imm = 0x7E000000
jbe 0x198eb
movl $0x0, -0x224(%rbp)
jmp 0x1a3d5
movl -0x254(%rbp), %eax
movl %eax, -0x4ec(%rbp)
testl %eax, %eax
je 0x19917
jmp 0x198fd
movl -0x4ec(%rbp), %eax
subl $0x1, %eax
je 0x19937
jmp 0x1990a
movl -0x4ec(%rbp), %eax
subl $0x2, %eax
je 0x19983
jmp 0x19919
jmp 0x19919
movq -0x238(%rbp), %rax
movq %rax, -0x278(%rbp)
movq -0x238(%rbp), %rax
movq %rax, -0x280(%rbp)
jmp 0x199b6
movq -0x238(%rbp), %rax
movq -0x268(%rbp), %rcx
movl 0x4000(%rcx), %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
addq %rcx, %rax
movq %rax, -0x278(%rbp)
movq -0x238(%rbp), %rax
movq -0x268(%rbp), %rcx
movl 0x4018(%rcx), %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
addq %rcx, %rax
movq %rax, -0x280(%rbp)
jmp 0x199b6
movq -0x238(%rbp), %rax
movq -0x268(%rbp), %rcx
movl 0x4000(%rcx), %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
addq %rcx, %rax
movq %rax, -0x278(%rbp)
movq -0x238(%rbp), %rax
movq %rax, -0x280(%rbp)
cmpl $0x2, -0x250(%rbp)
jne 0x199da
cmpl $0x1000b, -0x244(%rbp)  # imm = 0x1000B
jl 0x199da
movl $0x0, -0x224(%rbp)
jmp 0x1a3d5
cmpl $0xd, -0x244(%rbp)
jge 0x199e8
jmp 0x1a250
movq -0x270(%rbp), %rdi
movq -0x230(%rbp), %rsi
movl -0x250(%rbp), %edx
movq -0x278(%rbp), %rcx
callq 0x17d10
movq -0x270(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x270(%rbp)
movq -0x270(%rbp), %rdi
movl -0x250(%rbp), %esi
callq 0x282d0
movl %eax, -0x2d4(%rbp)
movq -0x270(%rbp), %rax
movq %rax, -0x2f8(%rbp)
movl $0x1, -0x2fc(%rbp)
movl -0x25c(%rbp), %eax
shll $0x6, %eax
movl %eax, -0x300(%rbp)
movl -0x2d4(%rbp), %eax
movl %eax, -0x304(%rbp)
movq -0x2f8(%rbp), %rax
movq %rax, -0x270(%rbp)
movl -0x2fc(%rbp), %ecx
movq -0x2f8(%rbp), %rax
movl %ecx, %ecx
addq %rcx, %rax
movq %rax, -0x2f8(%rbp)
movl -0x300(%rbp), %eax
movl %eax, %ecx
addl $0x1, %ecx
movl %ecx, -0x300(%rbp)
shrl $0x6, %eax
movl %eax, -0x2fc(%rbp)
movq -0x2f8(%rbp), %rax
cmpq -0x2b8(%rbp), %rax
seta %al
testb $0x1, %al
jne 0x19abd
jmp 0x19ac2
jmp 0x1a250
movl -0x304(%rbp), %edi
movq -0x230(%rbp), %rsi
movl -0x250(%rbp), %edx
movq -0x278(%rbp), %rcx
callq 0x28300
movq %rax, -0x2e8(%rbp)
cmpl $0x2, -0x254(%rbp)
jne 0x19b3a
movq -0x2e8(%rbp), %rax
cmpq -0x238(%rbp), %rax
jae 0x19b1f
movq -0x2a0(%rbp), %rax
movq %rax, -0x2e0(%rbp)
movq -0x290(%rbp), %rax
movq %rax, -0x280(%rbp)
jmp 0x19b38
movq $0x0, -0x2e0(%rbp)
movq -0x238(%rbp), %rax
movq %rax, -0x280(%rbp)
jmp 0x19b3a
movq -0x2f8(%rbp), %rdi
movl -0x250(%rbp), %esi
callq 0x282d0
movl %eax, -0x2d4(%rbp)
movq -0x270(%rbp), %rdi
movl -0x304(%rbp), %esi
movq -0x230(%rbp), %rdx
movl -0x250(%rbp), %ecx
movq -0x278(%rbp), %r8
callq 0x28380
cmpl $0x1, -0x258(%rbp)
jne 0x19b9b
movq -0x2e8(%rbp), %rcx
movb $0x1, %al
cmpq -0x288(%rbp), %rcx
movb %al, -0x4ed(%rbp)
jb 0x19bff
jmp 0x19b9d
jmp 0x19b9d
cmpl $0x2, -0x250(%rbp)
jne 0x19ba8
jmp 0x19bc7
movq -0x2e8(%rbp), %rcx
addq $0xffff, %rcx           # imm = 0xFFFF
movb $0x1, %al
cmpq -0x270(%rbp), %rcx
movb %al, -0x4ed(%rbp)
jb 0x19bff
movq -0x2e8(%rbp), %rdi
addq -0x2e0(%rbp), %rdi
callq 0x28420
movl %eax, -0x4f4(%rbp)
movq -0x270(%rbp), %rdi
callq 0x28420
movl %eax, %ecx
movl -0x4f4(%rbp), %eax
cmpl %ecx, %eax
setne %al
movb %al, -0x4ed(%rbp)
movb -0x4ed(%rbp), %al
testb $0x1, %al
jne 0x19a59
jmp 0x19c0f
movq -0x270(%rbp), %rcx
xorl %eax, %eax
cmpq -0x2a8(%rbp), %rcx
movb %al, -0x4f5(%rbp)
jbe 0x19c72
movq -0x2e8(%rbp), %rcx
addq -0x2e0(%rbp), %rcx
xorl %eax, %eax
cmpq -0x280(%rbp), %rcx
movb %al, -0x4f5(%rbp)
jbe 0x19c72
movq -0x270(%rbp), %rax
movzbl -0x1(%rax), %eax
movq -0x2e8(%rbp), %rcx
movq -0x2e0(%rbp), %rdx
subq $0x1, %rdx
movzbl (%rcx,%rdx), %ecx
cmpl %ecx, %eax
sete %al
movb %al, -0x4f5(%rbp)
movb -0x4f5(%rbp), %al
testb $0x1, %al
jne 0x19c7e
jmp 0x19ca7
movq -0x270(%rbp), %rax
addq $-0x1, %rax
movq %rax, -0x270(%rbp)
movq -0x2e8(%rbp), %rax
addq $-0x1, %rax
movq %rax, -0x2e8(%rbp)
jmp 0x19c0f
movq -0x270(%rbp), %rax
movq -0x2a8(%rbp), %rcx
subq %rcx, %rax
movl %eax, -0x308(%rbp)
movq -0x2c8(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x2c8(%rbp)
movq %rax, -0x2f0(%rbp)
cmpl $0x0, -0x24c(%rbp)
je 0x19d3a
movq -0x2c8(%rbp), %rax
movl -0x308(%rbp), %ecx
addq %rcx, %rax
addq $0x8, %rax
movq %rax, -0x500(%rbp)
movl -0x308(%rbp), %eax
movl $0xff, %ecx
xorl %edx, %edx
divl %ecx
movl %eax, %ecx
movq -0x500(%rbp), %rax
movl %ecx, %ecx
addq %rcx, %rax
cmpq -0x2d0(%rbp), %rax
seta %al
testb $0x1, %al
jne 0x19d2b
jmp 0x19d3a
movl $0x0, -0x224(%rbp)
jmp 0x1a3d5
cmpl $0xf, -0x308(%rbp)
jb 0x19db4
movl -0x308(%rbp), %eax
subl $0xf, %eax
movl %eax, -0x30c(%rbp)
movq -0x2f0(%rbp), %rax
movb $-0x10, (%rax)
cmpl $0xff, -0x30c(%rbp)
jl 0x19d93
movq -0x2c8(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x2c8(%rbp)
movb $-0x1, (%rax)
movl -0x30c(%rbp), %eax
subl $0xff, %eax
movl %eax, -0x30c(%rbp)
jmp 0x19d5c
movl -0x30c(%rbp), %eax
movb %al, %cl
movq -0x2c8(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x2c8(%rbp)
movb %cl, (%rax)
jmp 0x19dc8
movl -0x308(%rbp), %eax
shll $0x4, %eax
movb %al, %cl
movq -0x2f0(%rbp), %rax
movb %cl, (%rax)
movq -0x2c8(%rbp), %rdi
movq -0x2a8(%rbp), %rsi
movq -0x2c8(%rbp), %rdx
movl -0x308(%rbp), %eax
addq %rax, %rdx
callq 0x28440
movl -0x308(%rbp), %ecx
movq -0x2c8(%rbp), %rax
movl %ecx, %ecx
addq %rcx, %rax
movq %rax, -0x2c8(%rbp)
movq -0x2c8(%rbp), %rdi
movq -0x270(%rbp), %rax
movq -0x2e8(%rbp), %rcx
subq %rcx, %rax
movzwl %ax, %esi
callq 0x284b0
movq -0x2c8(%rbp), %rax
addq $0x2, %rax
movq %rax, -0x2c8(%rbp)
cmpl $0x2, -0x254(%rbp)
jne 0x19f4d
movq -0x280(%rbp), %rax
cmpq -0x290(%rbp), %rax
jne 0x19f4d
movq -0x2e0(%rbp), %rax
addq -0x2e8(%rbp), %rax
movq %rax, -0x2e8(%rbp)
movq -0x270(%rbp), %rax
movq -0x298(%rbp), %rcx
movq -0x2e8(%rbp), %rdx
subq %rdx, %rcx
addq %rcx, %rax
movq %rax, -0x318(%rbp)
movq -0x318(%rbp), %rax
cmpq -0x2c0(%rbp), %rax
jbe 0x19eac
movq -0x2c0(%rbp), %rax
movq %rax, -0x318(%rbp)
movq -0x270(%rbp), %rdi
addq $0x4, %rdi
movq -0x2e8(%rbp), %rsi
addq $0x4, %rsi
movq -0x318(%rbp), %rdx
callq 0x28510
movl %eax, -0x310(%rbp)
movl -0x310(%rbp), %ecx
addl $0x4, %ecx
movq -0x270(%rbp), %rax
movl %ecx, %ecx
addq %rcx, %rax
movq %rax, -0x270(%rbp)
movq -0x270(%rbp), %rax
cmpq -0x318(%rbp), %rax
jne 0x19f4b
movq -0x270(%rbp), %rdi
movq -0x238(%rbp), %rsi
movq -0x2c0(%rbp), %rdx
callq 0x28510
movl %eax, -0x31c(%rbp)
movl -0x31c(%rbp), %eax
addl -0x310(%rbp), %eax
movl %eax, -0x310(%rbp)
movl -0x31c(%rbp), %ecx
movq -0x270(%rbp), %rax
movl %ecx, %ecx
addq %rcx, %rax
movq %rax, -0x270(%rbp)
jmp 0x19f91
movq -0x270(%rbp), %rdi
addq $0x4, %rdi
movq -0x2e8(%rbp), %rsi
addq $0x4, %rsi
movq -0x2c0(%rbp), %rdx
callq 0x28510
movl %eax, -0x310(%rbp)
movl -0x310(%rbp), %ecx
addl $0x4, %ecx
movq -0x270(%rbp), %rax
movl %ecx, %ecx
addq %rcx, %rax
movq %rax, -0x270(%rbp)
cmpl $0x0, -0x24c(%rbp)
je 0x19fd2
movq -0x2c8(%rbp), %rax
addq $0x6, %rax
movl -0x310(%rbp), %ecx
shrl $0x8, %ecx
movl %ecx, %ecx
addq %rcx, %rax
cmpq -0x2d0(%rbp), %rax
seta %al
testb $0x1, %al
jne 0x19fc3
jmp 0x19fd2
movl $0x0, -0x224(%rbp)
jmp 0x1a3d5
cmpl $0xf, -0x310(%rbp)
jb 0x1a0a2
movq -0x2f0(%rbp), %rax
movzbl (%rax), %ecx
addl $0xf, %ecx
movb %cl, (%rax)
movl -0x310(%rbp), %eax
subl $0xf, %eax
movl %eax, -0x310(%rbp)
cmpl $0x1fe, -0x310(%rbp)    # imm = 0x1FE
jb 0x1a04c
movq -0x2c8(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x2c8(%rbp)
movb $-0x1, (%rax)
movq -0x2c8(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x2c8(%rbp)
movb $-0x1, (%rax)
movl -0x310(%rbp), %eax
subl $0x1fe, %eax            # imm = 0x1FE
movl %eax, -0x310(%rbp)
jmp 0x19ffd
cmpl $0xff, -0x310(%rbp)
jb 0x1a081
movl -0x310(%rbp), %eax
subl $0xff, %eax
movl %eax, -0x310(%rbp)
movq -0x2c8(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x2c8(%rbp)
movb $-0x1, (%rax)
movl -0x310(%rbp), %eax
movb %al, %cl
movq -0x2c8(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x2c8(%rbp)
movb %cl, (%rax)
jmp 0x1a0b9
movl -0x310(%rbp), %eax
movzbl %al, %edx
movq -0x2f0(%rbp), %rax
movzbl (%rax), %ecx
addl %edx, %ecx
movb %cl, (%rax)
movq -0x270(%rbp), %rax
movq %rax, -0x2a8(%rbp)
movq -0x270(%rbp), %rax
cmpq -0x2b8(%rbp), %rax
jbe 0x1a0dc
jmp 0x1a250
movq -0x270(%rbp), %rdi
addq $-0x2, %rdi
movq -0x230(%rbp), %rsi
movl -0x250(%rbp), %edx
movq -0x278(%rbp), %rcx
callq 0x17d10
movq -0x270(%rbp), %rdi
movq -0x230(%rbp), %rsi
movl -0x250(%rbp), %edx
movq -0x278(%rbp), %rcx
callq 0x286b0
movq %rax, -0x2e8(%rbp)
cmpl $0x2, -0x254(%rbp)
jne 0x1a179
movq -0x2e8(%rbp), %rax
cmpq -0x238(%rbp), %rax
jae 0x1a15e
movq -0x2a0(%rbp), %rax
movq %rax, -0x2e0(%rbp)
movq -0x290(%rbp), %rax
movq %rax, -0x280(%rbp)
jmp 0x1a177
movq $0x0, -0x2e0(%rbp)
movq -0x238(%rbp), %rax
movq %rax, -0x280(%rbp)
jmp 0x1a179
movq -0x270(%rbp), %rdi
movq -0x230(%rbp), %rsi
movl -0x250(%rbp), %edx
movq -0x278(%rbp), %rcx
callq 0x17d10
cmpl $0x1, -0x258(%rbp)
jne 0x1a1b4
movq -0x2e8(%rbp), %rax
cmpq -0x288(%rbp), %rax
jae 0x1a1b6
jmp 0x1a228
jmp 0x1a1b6
movq -0x2e8(%rbp), %rax
addq $0xffff, %rax           # imm = 0xFFFF
cmpq -0x270(%rbp), %rax
jb 0x1a228
movq -0x2e8(%rbp), %rdi
addq -0x2e0(%rbp), %rdi
callq 0x28420
movl %eax, -0x504(%rbp)
movq -0x270(%rbp), %rdi
callq 0x28420
movl %eax, %ecx
movl -0x504(%rbp), %eax
cmpl %ecx, %eax
jne 0x1a228
movq -0x2c8(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x2c8(%rbp)
movq %rax, -0x2f0(%rbp)
movq -0x2f0(%rbp), %rax
movb $0x0, (%rax)
jmp 0x19e04
movq -0x270(%rbp), %rdi
addq $0x1, %rdi
movq %rdi, -0x270(%rbp)
movl -0x250(%rbp), %esi
callq 0x282d0
movl %eax, -0x2d4(%rbp)
jmp 0x19a32
movq -0x2b0(%rbp), %rax
movq -0x2a8(%rbp), %rcx
subq %rcx, %rax
movq %rax, -0x328(%rbp)
cmpl $0x0, -0x24c(%rbp)
je 0x1a2d6
movq -0x2c8(%rbp), %rax
movq -0x240(%rbp), %rcx
subq %rcx, %rax
addq -0x328(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x510(%rbp)
movq -0x328(%rbp), %rax
addq $0xff, %rax
subq $0xf, %rax
movl $0xff, %ecx
xorl %edx, %edx
divq %rcx
movq %rax, %rcx
movq -0x510(%rbp), %rax
addq %rcx, %rax
movl -0x248(%rbp), %ecx
cmpq %rcx, %rax
jbe 0x1a2d6
movl $0x0, -0x224(%rbp)
jmp 0x1a3d5
cmpq $0xf, -0x328(%rbp)
jb 0x1a36b
movq -0x328(%rbp), %rax
subq $0xf, %rax
movq %rax, -0x330(%rbp)
movq -0x2c8(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x2c8(%rbp)
movb $-0x10, (%rax)
cmpq $0xff, -0x330(%rbp)
jb 0x1a349
movq -0x2c8(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x2c8(%rbp)
movb $-0x1, (%rax)
movq -0x330(%rbp), %rax
subq $0xff, %rax
movq %rax, -0x330(%rbp)
jmp 0x1a30e
movq -0x330(%rbp), %rax
movb %al, %cl
movq -0x2c8(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x2c8(%rbp)
movb %cl, (%rax)
jmp 0x1a38f
movq -0x328(%rbp), %rax
shlq $0x4, %rax
movb %al, %cl
movq -0x2c8(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x2c8(%rbp)
movb %cl, (%rax)
movq -0x2c8(%rbp), %rdi
movq -0x2a8(%rbp), %rsi
movq -0x328(%rbp), %rdx
callq 0x2250
movq -0x328(%rbp), %rax
addq -0x2c8(%rbp), %rax
movq %rax, -0x2c8(%rbp)
movq -0x2c8(%rbp), %rax
movq -0x240(%rbp), %rcx
subq %rcx, %rax
movl %eax, -0x224(%rbp)
movl -0x224(%rbp), %eax
movl %eax, -0x498(%rbp)
jmp 0x1b074
movq -0x450(%rbp), %r8
movq -0x458(%rbp), %rdi
movq -0x460(%rbp), %rsi
movl -0x464(%rbp), %edx
movl -0x468(%rbp), %ecx
movl -0x46c(%rbp), %eax
movq %r8, -0x340(%rbp)
movq %rdi, -0x348(%rbp)
movq %rsi, -0x350(%rbp)
movl %edx, -0x354(%rbp)
movl %ecx, -0x358(%rbp)
movl $0x1, -0x35c(%rbp)
movl $0x1, -0x360(%rbp)
movl $0x2, -0x364(%rbp)
movl $0x0, -0x368(%rbp)
movl %eax, -0x36c(%rbp)
movq -0x340(%rbp), %rax
movq %rax, -0x378(%rbp)
movq -0x348(%rbp), %rax
movq %rax, -0x380(%rbp)
movq -0x380(%rbp), %rax
movq -0x378(%rbp), %rcx
movl 0x4018(%rcx), %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
addq %rcx, %rax
movq %rax, -0x398(%rbp)
movq -0x378(%rbp), %rax
movq 0x4008(%rax), %rax
movq %rax, -0x3a0(%rbp)
movq -0x3a0(%rbp), %rax
movq -0x378(%rbp), %rcx
movl 0x4018(%rcx), %ecx
addq %rcx, %rax
movq %rax, -0x3a8(%rbp)
movq -0x3a8(%rbp), %rax
movq -0x348(%rbp), %rcx
subq %rcx, %rax
movq %rax, -0x3b0(%rbp)
movq -0x348(%rbp), %rax
movq %rax, -0x3b8(%rbp)
movq -0x380(%rbp), %rax
movslq -0x354(%rbp), %rcx
addq %rcx, %rax
movq %rax, -0x3c0(%rbp)
movq -0x3c0(%rbp), %rax
addq $-0xc, %rax
movq %rax, -0x3c8(%rbp)
movq -0x3c0(%rbp), %rax
addq $-0x5, %rax
movq %rax, -0x3d0(%rbp)
movq -0x350(%rbp), %rax
movq %rax, -0x3d8(%rbp)
movq -0x3d8(%rbp), %rax
movslq -0x358(%rbp), %rcx
addq %rcx, %rax
movq %rax, -0x3e0(%rbp)
movq $0x0, -0x3f0(%rbp)
cmpl $0x7e000000, -0x354(%rbp) # imm = 0x7E000000
jbe 0x1a57e
movl $0x0, -0x334(%rbp)
jmp 0x1b068
movl -0x364(%rbp), %eax
movl %eax, -0x514(%rbp)
testl %eax, %eax
je 0x1a5aa
jmp 0x1a590
movl -0x514(%rbp), %eax
subl $0x1, %eax
je 0x1a5ca
jmp 0x1a59d
movl -0x514(%rbp), %eax
subl $0x2, %eax
je 0x1a616
jmp 0x1a5ac
jmp 0x1a5ac
movq -0x348(%rbp), %rax
movq %rax, -0x388(%rbp)
movq -0x348(%rbp), %rax
movq %rax, -0x390(%rbp)
jmp 0x1a649
movq -0x348(%rbp), %rax
movq -0x378(%rbp), %rcx
movl 0x4000(%rcx), %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
addq %rcx, %rax
movq %rax, -0x388(%rbp)
movq -0x348(%rbp), %rax
movq -0x378(%rbp), %rcx
movl 0x4018(%rcx), %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
addq %rcx, %rax
movq %rax, -0x390(%rbp)
jmp 0x1a649
movq -0x348(%rbp), %rax
movq -0x378(%rbp), %rcx
movl 0x4000(%rcx), %ecx
movl %ecx, %edx
xorl %ecx, %ecx
subq %rdx, %rcx
addq %rcx, %rax
movq %rax, -0x388(%rbp)
movq -0x348(%rbp), %rax
movq %rax, -0x390(%rbp)
cmpl $0x2, -0x360(%rbp)
jne 0x1a66d
cmpl $0x1000b, -0x354(%rbp)  # imm = 0x1000B
jl 0x1a66d
movl $0x0, -0x334(%rbp)
jmp 0x1b068
cmpl $0xd, -0x354(%rbp)
jge 0x1a67b
jmp 0x1aee3
movq -0x380(%rbp), %rdi
movq -0x340(%rbp), %rsi
movl -0x360(%rbp), %edx
movq -0x388(%rbp), %rcx
callq 0x17d10
movq -0x380(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x380(%rbp)
movq -0x380(%rbp), %rdi
movl -0x360(%rbp), %esi
callq 0x282d0
movl %eax, -0x3e4(%rbp)
movq -0x380(%rbp), %rax
movq %rax, -0x408(%rbp)
movl $0x1, -0x40c(%rbp)
movl -0x36c(%rbp), %eax
shll $0x6, %eax
movl %eax, -0x410(%rbp)
movl -0x3e4(%rbp), %eax
movl %eax, -0x414(%rbp)
movq -0x408(%rbp), %rax
movq %rax, -0x380(%rbp)
movl -0x40c(%rbp), %ecx
movq -0x408(%rbp), %rax
movl %ecx, %ecx
addq %rcx, %rax
movq %rax, -0x408(%rbp)
movl -0x410(%rbp), %eax
movl %eax, %ecx
addl $0x1, %ecx
movl %ecx, -0x410(%rbp)
shrl $0x6, %eax
movl %eax, -0x40c(%rbp)
movq -0x408(%rbp), %rax
cmpq -0x3c8(%rbp), %rax
seta %al
testb $0x1, %al
jne 0x1a750
jmp 0x1a755
jmp 0x1aee3
movl -0x414(%rbp), %edi
movq -0x340(%rbp), %rsi
movl -0x360(%rbp), %edx
movq -0x388(%rbp), %rcx
callq 0x28300
movq %rax, -0x3f8(%rbp)
cmpl $0x2, -0x364(%rbp)
jne 0x1a7cd
movq -0x3f8(%rbp), %rax
cmpq -0x348(%rbp), %rax
jae 0x1a7b2
movq -0x3b0(%rbp), %rax
movq %rax, -0x3f0(%rbp)
movq -0x3a0(%rbp), %rax
movq %rax, -0x390(%rbp)
jmp 0x1a7cb
movq $0x0, -0x3f0(%rbp)
movq -0x348(%rbp), %rax
movq %rax, -0x390(%rbp)
jmp 0x1a7cd
movq -0x408(%rbp), %rdi
movl -0x360(%rbp), %esi
callq 0x282d0
movl %eax, -0x3e4(%rbp)
movq -0x380(%rbp), %rdi
movl -0x414(%rbp), %esi
movq -0x340(%rbp), %rdx
movl -0x360(%rbp), %ecx
movq -0x388(%rbp), %r8
callq 0x28380
cmpl $0x1, -0x368(%rbp)
jne 0x1a82e
movq -0x3f8(%rbp), %rcx
movb $0x1, %al
cmpq -0x398(%rbp), %rcx
movb %al, -0x515(%rbp)
jb 0x1a892
jmp 0x1a830
jmp 0x1a830
cmpl $0x2, -0x360(%rbp)
jne 0x1a83b
jmp 0x1a85a
movq -0x3f8(%rbp), %rcx
addq $0xffff, %rcx           # imm = 0xFFFF
movb $0x1, %al
cmpq -0x380(%rbp), %rcx
movb %al, -0x515(%rbp)
jb 0x1a892
movq -0x3f8(%rbp), %rdi
addq -0x3f0(%rbp), %rdi
callq 0x28420
movl %eax, -0x51c(%rbp)
movq -0x380(%rbp), %rdi
callq 0x28420
movl %eax, %ecx
movl -0x51c(%rbp), %eax
cmpl %ecx, %eax
setne %al
movb %al, -0x515(%rbp)
movb -0x515(%rbp), %al
testb $0x1, %al
jne 0x1a6ec
jmp 0x1a8a2
movq -0x380(%rbp), %rcx
xorl %eax, %eax
cmpq -0x3b8(%rbp), %rcx
movb %al, -0x51d(%rbp)
jbe 0x1a905
movq -0x3f8(%rbp), %rcx
addq -0x3f0(%rbp), %rcx
xorl %eax, %eax
cmpq -0x390(%rbp), %rcx
movb %al, -0x51d(%rbp)
jbe 0x1a905
movq -0x380(%rbp), %rax
movzbl -0x1(%rax), %eax
movq -0x3f8(%rbp), %rcx
movq -0x3f0(%rbp), %rdx
subq $0x1, %rdx
movzbl (%rcx,%rdx), %ecx
cmpl %ecx, %eax
sete %al
movb %al, -0x51d(%rbp)
movb -0x51d(%rbp), %al
testb $0x1, %al
jne 0x1a911
jmp 0x1a93a
movq -0x380(%rbp), %rax
addq $-0x1, %rax
movq %rax, -0x380(%rbp)
movq -0x3f8(%rbp), %rax
addq $-0x1, %rax
movq %rax, -0x3f8(%rbp)
jmp 0x1a8a2
movq -0x380(%rbp), %rax
movq -0x3b8(%rbp), %rcx
subq %rcx, %rax
movl %eax, -0x418(%rbp)
movq -0x3d8(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x3d8(%rbp)
movq %rax, -0x400(%rbp)
cmpl $0x0, -0x35c(%rbp)
je 0x1a9cd
movq -0x3d8(%rbp), %rax
movl -0x418(%rbp), %ecx
addq %rcx, %rax
addq $0x8, %rax
movq %rax, -0x528(%rbp)
movl -0x418(%rbp), %eax
movl $0xff, %ecx
xorl %edx, %edx
divl %ecx
movl %eax, %ecx
movq -0x528(%rbp), %rax
movl %ecx, %ecx
addq %rcx, %rax
cmpq -0x3e0(%rbp), %rax
seta %al
testb $0x1, %al
jne 0x1a9be
jmp 0x1a9cd
movl $0x0, -0x334(%rbp)
jmp 0x1b068
cmpl $0xf, -0x418(%rbp)
jb 0x1aa47
movl -0x418(%rbp), %eax
subl $0xf, %eax
movl %eax, -0x41c(%rbp)
movq -0x400(%rbp), %rax
movb $-0x10, (%rax)
cmpl $0xff, -0x41c(%rbp)
jl 0x1aa26
movq -0x3d8(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x3d8(%rbp)
movb $-0x1, (%rax)
movl -0x41c(%rbp), %eax
subl $0xff, %eax
movl %eax, -0x41c(%rbp)
jmp 0x1a9ef
movl -0x41c(%rbp), %eax
movb %al, %cl
movq -0x3d8(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x3d8(%rbp)
movb %cl, (%rax)
jmp 0x1aa5b
movl -0x418(%rbp), %eax
shll $0x4, %eax
movb %al, %cl
movq -0x400(%rbp), %rax
movb %cl, (%rax)
movq -0x3d8(%rbp), %rdi
movq -0x3b8(%rbp), %rsi
movq -0x3d8(%rbp), %rdx
movl -0x418(%rbp), %eax
addq %rax, %rdx
callq 0x28440
movl -0x418(%rbp), %ecx
movq -0x3d8(%rbp), %rax
movl %ecx, %ecx
addq %rcx, %rax
movq %rax, -0x3d8(%rbp)
movq -0x3d8(%rbp), %rdi
movq -0x380(%rbp), %rax
movq -0x3f8(%rbp), %rcx
subq %rcx, %rax
movzwl %ax, %esi
callq 0x284b0
movq -0x3d8(%rbp), %rax
addq $0x2, %rax
movq %rax, -0x3d8(%rbp)
cmpl $0x2, -0x364(%rbp)
jne 0x1abe0
movq -0x390(%rbp), %rax
cmpq -0x3a0(%rbp), %rax
jne 0x1abe0
movq -0x3f0(%rbp), %rax
addq -0x3f8(%rbp), %rax
movq %rax, -0x3f8(%rbp)
movq -0x380(%rbp), %rax
movq -0x3a8(%rbp), %rcx
movq -0x3f8(%rbp), %rdx
subq %rdx, %rcx
addq %rcx, %rax
movq %rax, -0x428(%rbp)
movq -0x428(%rbp), %rax
cmpq -0x3d0(%rbp), %rax
jbe 0x1ab3f
movq -0x3d0(%rbp), %rax
movq %rax, -0x428(%rbp)
movq -0x380(%rbp), %rdi
addq $0x4, %rdi
movq -0x3f8(%rbp), %rsi
addq $0x4, %rsi
movq -0x428(%rbp), %rdx
callq 0x28510
movl %eax, -0x420(%rbp)
movl -0x420(%rbp), %ecx
addl $0x4, %ecx
movq -0x380(%rbp), %rax
movl %ecx, %ecx
addq %rcx, %rax
movq %rax, -0x380(%rbp)
movq -0x380(%rbp), %rax
cmpq -0x428(%rbp), %rax
jne 0x1abde
movq -0x380(%rbp), %rdi
movq -0x348(%rbp), %rsi
movq -0x3d0(%rbp), %rdx
callq 0x28510
movl %eax, -0x42c(%rbp)
movl -0x42c(%rbp), %eax
addl -0x420(%rbp), %eax
movl %eax, -0x420(%rbp)
movl -0x42c(%rbp), %ecx
movq -0x380(%rbp), %rax
movl %ecx, %ecx
addq %rcx, %rax
movq %rax, -0x380(%rbp)
jmp 0x1ac24
movq -0x380(%rbp), %rdi
addq $0x4, %rdi
movq -0x3f8(%rbp), %rsi
addq $0x4, %rsi
movq -0x3d0(%rbp), %rdx
callq 0x28510
movl %eax, -0x420(%rbp)
movl -0x420(%rbp), %ecx
addl $0x4, %ecx
movq -0x380(%rbp), %rax
movl %ecx, %ecx
addq %rcx, %rax
movq %rax, -0x380(%rbp)
cmpl $0x0, -0x35c(%rbp)
je 0x1ac65
movq -0x3d8(%rbp), %rax
addq $0x6, %rax
movl -0x420(%rbp), %ecx
shrl $0x8, %ecx
movl %ecx, %ecx
addq %rcx, %rax
cmpq -0x3e0(%rbp), %rax
seta %al
testb $0x1, %al
jne 0x1ac56
jmp 0x1ac65
movl $0x0, -0x334(%rbp)
jmp 0x1b068
cmpl $0xf, -0x420(%rbp)
jb 0x1ad35
movq -0x400(%rbp), %rax
movzbl (%rax), %ecx
addl $0xf, %ecx
movb %cl, (%rax)
movl -0x420(%rbp), %eax
subl $0xf, %eax
movl %eax, -0x420(%rbp)
cmpl $0x1fe, -0x420(%rbp)    # imm = 0x1FE
jb 0x1acdf
movq -0x3d8(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x3d8(%rbp)
movb $-0x1, (%rax)
movq -0x3d8(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x3d8(%rbp)
movb $-0x1, (%rax)
movl -0x420(%rbp), %eax
subl $0x1fe, %eax            # imm = 0x1FE
movl %eax, -0x420(%rbp)
jmp 0x1ac90
cmpl $0xff, -0x420(%rbp)
jb 0x1ad14
movl -0x420(%rbp), %eax
subl $0xff, %eax
movl %eax, -0x420(%rbp)
movq -0x3d8(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x3d8(%rbp)
movb $-0x1, (%rax)
movl -0x420(%rbp), %eax
movb %al, %cl
movq -0x3d8(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x3d8(%rbp)
movb %cl, (%rax)
jmp 0x1ad4c
movl -0x420(%rbp), %eax
movzbl %al, %edx
movq -0x400(%rbp), %rax
movzbl (%rax), %ecx
addl %edx, %ecx
movb %cl, (%rax)
movq -0x380(%rbp), %rax
movq %rax, -0x3b8(%rbp)
movq -0x380(%rbp), %rax
cmpq -0x3c8(%rbp), %rax
jbe 0x1ad6f
jmp 0x1aee3
movq -0x380(%rbp), %rdi
addq $-0x2, %rdi
movq -0x340(%rbp), %rsi
movl -0x360(%rbp), %edx
movq -0x388(%rbp), %rcx
callq 0x17d10
movq -0x380(%rbp), %rdi
movq -0x340(%rbp), %rsi
movl -0x360(%rbp), %edx
movq -0x388(%rbp), %rcx
callq 0x286b0
movq %rax, -0x3f8(%rbp)
cmpl $0x2, -0x364(%rbp)
jne 0x1ae0c
movq -0x3f8(%rbp), %rax
cmpq -0x348(%rbp), %rax
jae 0x1adf1
movq -0x3b0(%rbp), %rax
movq %rax, -0x3f0(%rbp)
movq -0x3a0(%rbp), %rax
movq %rax, -0x390(%rbp)
jmp 0x1ae0a
movq $0x0, -0x3f0(%rbp)
movq -0x348(%rbp), %rax
movq %rax, -0x390(%rbp)
jmp 0x1ae0c
movq -0x380(%rbp), %rdi
movq -0x340(%rbp), %rsi
movl -0x360(%rbp), %edx
movq -0x388(%rbp), %rcx
callq 0x17d10
cmpl $0x1, -0x368(%rbp)
jne 0x1ae47
movq -0x3f8(%rbp), %rax
cmpq -0x398(%rbp), %rax
jae 0x1ae49
jmp 0x1aebb
jmp 0x1ae49
movq -0x3f8(%rbp), %rax
addq $0xffff, %rax           # imm = 0xFFFF
cmpq -0x380(%rbp), %rax
jb 0x1aebb
movq -0x3f8(%rbp), %rdi
addq -0x3f0(%rbp), %rdi
callq 0x28420
movl %eax, -0x52c(%rbp)
movq -0x380(%rbp), %rdi
callq 0x28420
movl %eax, %ecx
movl -0x52c(%rbp), %eax
cmpl %ecx, %eax
jne 0x1aebb
movq -0x3d8(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x3d8(%rbp)
movq %rax, -0x400(%rbp)
movq -0x400(%rbp), %rax
movb $0x0, (%rax)
jmp 0x1aa97
movq -0x380(%rbp), %rdi
addq $0x1, %rdi
movq %rdi, -0x380(%rbp)
movl -0x360(%rbp), %esi
callq 0x282d0
movl %eax, -0x3e4(%rbp)
jmp 0x1a6c5
movq -0x3c0(%rbp), %rax
movq -0x3b8(%rbp), %rcx
subq %rcx, %rax
movq %rax, -0x438(%rbp)
cmpl $0x0, -0x35c(%rbp)
je 0x1af69
movq -0x3d8(%rbp), %rax
movq -0x350(%rbp), %rcx
subq %rcx, %rax
addq -0x438(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x538(%rbp)
movq -0x438(%rbp), %rax
addq $0xff, %rax
subq $0xf, %rax
movl $0xff, %ecx
xorl %edx, %edx
divq %rcx
movq %rax, %rcx
movq -0x538(%rbp), %rax
addq %rcx, %rax
movl -0x358(%rbp), %ecx
cmpq %rcx, %rax
jbe 0x1af69
movl $0x0, -0x334(%rbp)
jmp 0x1b068
cmpq $0xf, -0x438(%rbp)
jb 0x1affe
movq -0x438(%rbp), %rax
subq $0xf, %rax
movq %rax, -0x440(%rbp)
movq -0x3d8(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x3d8(%rbp)
movb $-0x10, (%rax)
cmpq $0xff, -0x440(%rbp)
jb 0x1afdc
movq -0x3d8(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x3d8(%rbp)
movb $-0x1, (%rax)
movq -0x440(%rbp), %rax
subq $0xff, %rax
movq %rax, -0x440(%rbp)
jmp 0x1afa1
movq -0x440(%rbp), %rax
movb %al, %cl
movq -0x3d8(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x3d8(%rbp)
movb %cl, (%rax)
jmp 0x1b022
movq -0x438(%rbp), %rax
shlq $0x4, %rax
movb %al, %cl
movq -0x3d8(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x3d8(%rbp)
movb %cl, (%rax)
movq -0x3d8(%rbp), %rdi
movq -0x3b8(%rbp), %rsi
movq -0x438(%rbp), %rdx
callq 0x2250
movq -0x438(%rbp), %rax
addq -0x3d8(%rbp), %rax
movq %rax, -0x3d8(%rbp)
movq -0x3d8(%rbp), %rax
movq -0x350(%rbp), %rcx
subq %rcx, %rax
movl %eax, -0x334(%rbp)
movl -0x334(%rbp), %eax
movl %eax, -0x498(%rbp)
movq -0x458(%rbp), %rcx
movq -0x478(%rbp), %rax
movq %rcx, 0x4008(%rax)
movl -0x464(%rbp), %ecx
movq -0x478(%rbp), %rax
movl %ecx, 0x4018(%rax)
movl -0x464(%rbp), %ecx
movq -0x478(%rbp), %rax
addl 0x4000(%rax), %ecx
movl %ecx, 0x4000(%rax)
movl -0x498(%rbp), %eax
movl %eax, -0x444(%rbp)
movl -0x444(%rbp), %eax
addq $0x540, %rsp            # imm = 0x540
popq %rbp
retq