// File: /workspace/github_c_makefile_star2_O1/dolphinking[P]slimox/src/slimox-codec.c
// Function: slimox_decode
int slimox_decode(buf_t* ib, buf_t* ob, ppm_model_t* ppm) {
    uint32_t   size = 0;
    uint32_t   match_pos = 0;
    uint8_t    match_len = 0;
    uint8_t    c;
    int        percent = 0;
    int        pos = 0;
    int        escape;
    int        i;
    matcher_t  matcher;
    rc_coder_t coder;

    /* read output size */
    size = size * 256 + ib->m_data[pos++];
    size = size * 256 + ib->m_data[pos++];
    size = size * 256 + ib->m_data[pos++];
    size = size * 256 + ib->m_data[pos++];
    escape = ib->m_data[pos++];

    /* start decoding */
    matcher_init(&matcher);
    rc_dec_init(&coder, input = ib->m_data[pos++]);
    while(ob->m_size < size) {
        if(percent < pos / (ib->m_size / 100 + 1)) {
            percent = pos / (ib->m_size / 100 + 1);
            fprintf(stderr, "%d%%\r",percent);
        }

        match_len = 1;
        ppm_decode(ppm, &coder, &c, ;; input = ib->m_data[pos++]);

        if(c != escape) { /* literal */
            buf_append(ob, c);
        } else {
            ppm->m_context <<= 8;
            ppm->m_context |= c;
            ppm_decode(ppm, &coder, &match_len, ;; input = ib->m_data[pos++]);
            if(match_len == 0) { /* escape */
                match_len = 1;
                buf_append(ob, escape);
            } else { /* match */
                match_pos = matcher_getpos(&matcher, ob->m_data, ob->m_size);
                for(i = 0; i < match_len; i++) {
                    buf_append(ob, ob->m_data[match_pos + i]);
                }
                ppm->m_sse_last_esc = 0;
            }
        }
        while(match_len > 0) { /* update context */
            matcher_update(&matcher, ob->m_data, ob->m_size - match_len, 0);
            ppm->m_context <<= 8;
            ppm->m_context |= ob->m_data[ob->m_size - match_len];
            match_len--;
        }
    }
    matcher_free(&matcher);
    return 0;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0xc8, %rsp
movq %rdx, %r13
movq %rsi, %r14
movq %rdi, 0x30(%rsp)
movq (%rdi), %rbx
movl (%rbx), %ebp
bswapl %ebp
movb 0x4(%rbx), %al
movb %al, 0x2b(%rsp)
movl $0x100000, %edi         # imm = 0x100000
movl $0x8, %esi
callq 0x1120
movq %rax, 0xa0(%rsp)
movl $0x100000, %edi         # imm = 0x100000
movl $0x8, %esi
callq 0x1120
movq %rax, 0x98(%rsp)
movl $0x10000, %edi          # imm = 0x10000
movl $0x4, %esi
callq 0x1120
movq %rax, 0x90(%rsp)
movl %ebp, 0xac(%rsp)
cmpl %ebp, 0x8(%r14)
jae 0x8fa8
movl 0x5(%rbx), %eax
bswapl %eax
movl %eax, 0x10(%rsp)
leaq 0x280010(%r13), %rax
movq %rax, 0x50(%rsp)
leaq 0x2a0616(%r13), %rax
movq %rax, 0x38(%rsp)
leaq 0x10(%r13), %rax
movq %rax, 0xc0(%rsp)
leaq 0x280017(%r13), %rax
movq %rax, 0xb8(%rsp)
leaq 0x280016(%r13), %rax
movq %rax, 0xb0(%rsp)
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
movl $0x9, %edx
movl $0x0, 0x8c(%rsp)
movl %eax, 0x14(%rsp)
movq $0x0, 0x8(%rsp)
movq %r13, 0x48(%rsp)
movq %r14, 0x80(%rsp)
movq 0x30(%rsp), %rax
movl 0x8(%rax), %eax
imulq $0x51eb851f, %rax, %rcx # imm = 0x51EB851F
shrq $0x25, %rcx
incl %ecx
movq %rdx, 0x18(%rsp)
movl %edx, %eax
xorl %edx, %edx
divl %ecx
cmpl %eax, 0x8c(%rsp)
jb 0x81c0
movq %r13, %rdi
callq 0x6865
xorpd %xmm0, %xmm0
movapd %xmm0, 0x70(%rsp)
movapd %xmm0, 0x60(%rsp)
movzwl (%r13), %r15d
cmpq $0x0, 0x200010(%r13,%r15,8)
movq %rax, 0x20(%rsp)
jne 0x6e85
movq 0x2a0818(%r13), %r12
cmpq $0x0, 0x8(%r12)
jne 0x6e5b
movl $0x81808, %edi          # imm = 0x81808
callq 0x1190
movq (%r12), %rcx
movq %rcx, (%rax)
leaq 0x8(%rax), %rcx
movq $0x0, 0x8(%rax)
xorl %edx, %edx
leaq (%rcx,%rdx), %rsi
movq %rsi, 0x20e(%rax,%rdx)
addq $0x206, %rdx            # imm = 0x206
cmpq $0x815fa, %rdx          # imm = 0x815FA
jne 0x6e30
movq %rax, (%r12)
addq $0x81602, %rax          # imm = 0x81602
movq %rax, 0x8(%r12)
movq 0x8(%r12), %rdi
movq (%rdi), %rax
movq %rax, 0x8(%r12)
movq %rdi, 0x200010(%r13,%r15,8)
incl 0x4(%r13)
movl $0x206, %edx            # imm = 0x206
xorl %esi, %esi
callq 0x10e0
movq 0x20(%rsp), %rax
movq %r13, %rdi
movq %rax, %rsi
callq 0x69fd
movq %rax, %rcx
movzwl (%rax), %r12d
movzwl 0x2(%rax), %edi
leal (%rdi,%r12), %r8d
movl 0x10(%rsp), %esi
subl 0x8(%rsp), %esi
movl $0xffff, %r9d           # imm = 0xFFFF
andl %r9d, %r8d
movl %ebp, %eax
xorl %edx, %edx
divl %r8d
movl %eax, %ebp
movl %esi, %eax
xorl %edx, %edx
divl %ebp
andl %r9d, %eax
movl %eax, 0x5c(%rsp)
cmpl %r12d, %eax
jae 0x6f70
imull %r12d, %ebp
movq 0x18(%rsp), %rsi
movslq %esi, %rsi
movq 0x30(%rsp), %rdx
movq 0x20(%rsp), %r9
movq 0x8(%rsp), %r8
leal (%r8,%rbp), %eax
xorl %r8d, %eax
cmpl $0x1000000, %eax        # imm = 0x1000000
jb 0x6f0a
cmpl $0xffff, %ebp           # imm = 0xFFFF
ja 0x6f37
movq 0x8(%rsp), %rax
negl %eax
movzwl %ax, %ebp
movq (%rdx), %rax
movzbl (%rax,%rsi), %eax
incq %rsi
movl 0x10(%rsp), %r8d
shll $0x8, %r8d
orl %eax, %r8d
movl %r8d, 0x10(%rsp)
shll $0x8, %ebp
movq 0x8(%rsp), %rax
shll $0x8, %eax
movq %rax, 0x8(%rsp)
jmp 0x6ee5
leal 0x23(%r12), %eax
movw %ax, (%rcx)
movzwl %ax, %eax
cmpl $0x3e81, %eax           # imm = 0x3E81
jb 0x6f58
incl %eax
shrl %eax
movw %ax, (%rcx)
incl %edi
shrl %edi
movw %di, 0x2(%rcx)
cmpb $0x1, 0xe(%r9)
jne 0x7040
movb 0x10(%r9), %al
movl %eax, 0x14(%rsp)
jmp 0x70c5
movq 0x18(%rsp), %r15
movslq %r15d, %r15
movl %ebp, %eax
imull %r12d, %eax
addl 0x8(%rsp), %eax
imull %edi, %ebp
movq %rax, 0x8(%rsp)
movq 0x30(%rsp), %rdx
movq 0x20(%rsp), %r8
movq 0x8(%rsp), %rsi
leal (%rsi,%rbp), %eax
xorl %esi, %eax
cmpl $0x1000000, %eax        # imm = 0x1000000
jb 0x6fb7
cmpl $0xffff, %ebp           # imm = 0xFFFF
ja 0x6fe1
movq 0x8(%rsp), %rax
negl %eax
movzwl %ax, %ebp
movq (%rdx), %rax
movzbl (%rax,%r15), %eax
incq %r15
movl 0x10(%rsp), %esi
shll $0x8, %esi
orl %eax, %esi
movl %esi, 0x10(%rsp)
shll $0x8, %ebp
movq 0x8(%rsp), %rax
shll $0x8, %eax
movq %rax, 0x8(%rsp)
jmp 0x6f94
addl $0x23, %edi
movw %di, 0x2(%rcx)
movzwl %di, %eax
cmpl $0x3e81, %eax           # imm = 0x3E81
jb 0x7004
leal 0x1(%r12), %edx
shrl %edx
movw %dx, (%rcx)
incl %eax
shrl %eax
movw %ax, 0x2(%rcx)
movzbl 0xe(%r8), %eax
testq %rax, %rax
je 0x702c
xorl %edx, %edx
movzbl 0x10(%r8,%rdx,2), %ecx
movl $0x1, %esi
shll %cl, %esi
shrl $0x5, %ecx
orl %esi, 0x60(%rsp,%rcx,4)
incq %rdx
cmpq %rdx, %rax
jne 0x7010
cmpl $0x42, %eax
jne 0x7095
movzbl 0x93(%r8), %eax
subw %ax, 0xc(%r8)
jmp 0x709b
movq %r12, 0x40(%rsp)
movq %rsi, 0x18(%rsp)
movb 0x11(%r9), %r12b
movzbl %r12b, %r15d
leal 0x6(%r15), %esi
shrl %esi
movzwl 0xc(%r9), %eax
addw %si, %ax
movl 0x10(%rsp), %ecx
subl 0x8(%rsp), %ecx
movzwl %ax, %r8d
xorl %edi, %edi
movl %ebp, %eax
xorl %edx, %edx
divl %r8d
movl %eax, %ebx
movl %ecx, %eax
xorl %edx, %edx
divl %ebx
movzwl %ax, %eax
leal (%rsi,%r15), %ecx
cmpl %eax, %ecx
jbe 0x72aa
movl %esi, %ebp
xorl %edx, %edx
jmp 0x72d0
incb %al
movb %al, 0xe(%r8)
leaq 0x10(%r8), %rsi
movq %r8, %rdi
addq $0x12, %rdi
movzbl 0xe(%r8), %eax
leaq -0x2(,%rax,2), %rdx
callq 0x11f0
movq 0x20(%rsp), %r9
movb $0x0, 0x11(%r9)
movq %r15, %rsi
movl $0x4, %ecx
cmpl %r12d, 0x5c(%rsp)
movq %rsi, 0x18(%rsp)
jae 0x70e4
movq 0x38(%rsp), %r15
movl 0x14(%rsp), %edx
jmp 0x73c5
movzwl (%r13), %eax
movq 0x200010(%r13,%rax,8), %r15
movzbl 0x6(%r15), %ecx
movl $0x1, %eax
shll %cl, %eax
movzwl 0x2(%r15), %r9d
testq %r9, %r9
je 0x7139
xorl %edx, %edx
xorl %edi, %edi
movzbl 0x6(%r15,%rdx,2), %esi
movl %esi, %r8d
shrl $0x5, %r8d
movl 0x60(%rsp,%r8,4), %r8d
btl %esi, %r8d
jae 0x7127
xorl %esi, %esi
jmp 0x712d
movzbl 0x7(%r15,%rdx,2), %esi
addl %esi, %edi
incq %rdx
cmpq %rdx, %r9
jne 0x710b
jmp 0x713b
xorl %edi, %edi
movq %r12, 0x40(%rsp)
leaq 0x6(%r15), %r10
movb 0x7(%r15), %dl
shrl $0x5, %ecx
andl 0x60(%rsp,%rcx,4), %eax
movb %dl, 0x2c(%rsp)
movzbl %dl, %r11d
movzwl 0x4(%r15), %r8d
cmpw $0x1, %r8w
adcl $0x0, %r8d
testl %eax, %eax
movl $0x0, %eax
cmovnel %eax, %r11d
movl %r8d, %r12d
movl $0xffff, %esi           # imm = 0xFFFF
andl %esi, %r12d
addl %r11d, %edi
addl %r8d, %edi
movl 0x10(%rsp), %ecx
subl 0x8(%rsp), %ecx
andl %esi, %edi
movl %ebp, %eax
xorl %edx, %edx
divl %edi
movl %eax, %r14d
movl %ecx, %eax
xorl %edx, %edx
divl %r14d
subl %r12d, %edi
andl %esi, %eax
cmpl %eax, %edi
jle 0x723d
movb 0x7(%r15), %r9b
movzbl %r9b, %r8d
movzbl 0x6(%r15), %esi
movl %esi, %ecx
shrl $0x5, %ecx
movl 0x60(%rsp,%rcx,4), %edx
xorl %ecx, %ecx
btl %esi, %edx
movl $0x0, %r15d
cmovael %r8d, %r15d
leal (%r11,%r15), %ebp
xorl %edx, %edx
cmpl %eax, %ebp
ja 0x721f
xorl %ecx, %ecx
movb 0x3(%r10), %r9b
movzbl %r9b, %r8d
movzbl 0x2(%r10), %esi
movl %esi, %r12d
shrl $0x5, %r12d
movl 0x60(%rsp,%r12,4), %r12d
btl %esi, %r12d
movl %r8d, %r12d
jae 0x71fe
xorl %r12d, %r12d
addl %r15d, %ecx
incq %rdx
movzwl %cx, %r13d
addl %r11d, %r13d
addq $0x2, %r10
addl %r12d, %r13d
movl %r12d, %r15d
cmpl %eax, %r13d
jbe 0x71d9
movq 0x48(%rsp), %r13
cmpl %eax, %ebp
movq 0x38(%rsp), %r15
movq 0x40(%rsp), %r12
movl %esi, 0x14(%rsp)
jbe 0x72e0
addl %r11d, %r8d
jmp 0x7332
testq %r9, %r9
je 0x7262
xorl %edx, %edx
movzbl (%r10,%rdx,2), %ecx
movl $0x1, %r11d
shll %cl, %r11d
shrl $0x5, %ecx
orl %r11d, 0x60(%rsp,%rcx,4)
incq %rdx
cmpq %rdx, %r9
jne 0x7244
addl %r9d, %r9d
movb 0x2c(%rsp), %cl
movb %cl, 0x7(%r15,%r9)
movzwl (%r13), %ecx
movq 0x200010(%r13,%rcx,8), %rcx
movb 0x6(%rcx), %dl
movb %dl, 0x6(%rcx,%r9)
movzwl (%r13), %ecx
movq 0x200010(%r13,%rcx,8), %rcx
movb $0x0, 0x7(%rcx)
incw 0x2(%r15)
movl %edi, %ecx
movq 0x38(%rsp), %r15
movq 0x40(%rsp), %r12
jmp 0x7332
xorl %edx, %edx
xorl %edi, %edi
movzbl %r12b, %r8d
addl %r8d, %edi
movzwl %di, %ebp
addl %esi, %ebp
movb 0x13(%r9,%rdx), %r12b
movzbl %r12b, %r15d
leal (%r15,%rbp), %r8d
addq $0x2, %rdx
cmpl %eax, %r8d
jbe 0x72ae
cmpl %eax, %ecx
jbe 0x7a17
addl %esi, %r15d
jmp 0x7a40
movzbl %r9b, %r8d
movb 0x2c(%rsp), %sil
movb %sil, 0x1(%r10)
movzwl (%r13), %r9d
movq 0x200010(%r13,%r9,8), %r9
movb %r8b, 0x7(%r9)
movzwl (%r13), %r9d
movq 0x200010(%r13,%r9,8), %r9
movb 0x6(%r9,%rdx,2), %r10b
movb 0x6(%r9), %bpl
movb %bpl, 0x6(%r9,%rdx,2)
movzwl (%r13), %edx
movq 0x200010(%r13,%rdx,8), %rdx
movb %r10b, 0x6(%rdx)
movzwl %r11w, %edx
addl %ecx, %edx
movl %edx, %ecx
movzwl %cx, %ecx
imull %r14d, %ecx
addl 0x8(%rsp), %ecx
movzwl %r8w, %ebp
imull %r14d, %ebp
movq 0x18(%rsp), %rsi
movslq %esi, %rsi
movq %rcx, 0x8(%rsp)
movq 0x30(%rsp), %rdx
movq 0x8(%rsp), %r8
leal (%r8,%rbp), %ecx
xorl %r8d, %ecx
cmpl $0x1000000, %ecx        # imm = 0x1000000
jb 0x737d
cmpl $0xffff, %ebp           # imm = 0xFFFF
ja 0x73aa
movq 0x8(%rsp), %rcx
negl %ecx
movzwl %cx, %ebp
movq (%rdx), %rcx
movzbl (%rcx,%rsi), %ecx
incq %rsi
movl 0x10(%rsp), %r8d
shll $0x8, %r8d
orl %ecx, %r8d
movl %r8d, 0x10(%rsp)
shll $0x8, %ebp
movq 0x8(%rsp), %rcx
shll $0x8, %ecx
movq %rcx, 0x8(%rsp)
jmp 0x7357
movl $0x2, %ecx
cmpl %eax, %edi
movq %rsi, 0x18(%rsp)
jle 0x79a9
movl 0x14(%rsp), %edx
movq 0x20(%rsp), %r9
movl (%r13), %eax
shll $0x8, %eax
movl %edx, 0x14(%rsp)
movzbl %dl, %r14d
movl %eax, %edx
shrl $0xe, %edx
andl $0x3ff00, %eax          # imm = 0x3FF00
orl %r14d, %eax
xorl %edx, %eax
movq 0xc0(%rsp), %rdx
prefetcht0 (%rdx,%rax,8)
cmpl $0x4, %ecx
ja 0x76a7
movl %ecx, %eax
leaq 0x3c67(%rip), %rcx      # 0xb068
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movb 0x2a0617(%r13), %al
leal 0x1(%rax), %ecx
movb %cl, 0x2a0617(%r13)
movl 0x14(%rsp), %edx
movb %dl, 0x2a0616(%r13)
incw 0x2a0610(%r13)
xorl %edx, %edx
cmpb $0x2, %cl
sete %dl
cmpb $0x1, %al
sbbw $0x0, %dx
negl %edx
addw %dx, 0x2a0614(%r13)
cmpb $-0x5, %cl
jb 0x74fa
movl $0x0, 0x2a0610(%r13)
movw $0x0, 0x2a0614(%r13)
xorl %edx, %edx
xorl %ecx, %ecx
xorl %eax, %eax
movslq %edx, %rsi
movb 0x1(%r15,%rsi,2), %dil
movl %edi, %r8d
shrb %r8b
movslq %ecx, %rdx
movb %r8b, 0x1(%r15,%rdx,2)
cmpb $0x2, %dil
jae 0x748a
incl %eax
jmp 0x74cd
movb 0x2a0616(%r13,%rsi,2), %cl
movb %cl, 0x2a0616(%r13,%rdx,2)
incw 0x2a0612(%r13)
movzbl 0x2a0617(%r13,%rdx,2), %ecx
addw %cx, 0x2a0610(%r13)
xorl %ecx, %ecx
cmpb $0x1, 0x2a0617(%r13,%rdx,2)
sete %cl
addw %cx, 0x2a0614(%r13)
incl %edx
movl %edx, %ecx
leal (%rcx,%rax), %edx
cmpl $0x100, %edx            # imm = 0x100
jl 0x746a
movzwl 0x2a0612(%r13), %eax
addl %eax, %eax
leaq (%r15,%rax), %rdi
movl $0x200, %edx            # imm = 0x200
subq %rax, %rdx
xorl %esi, %esi
callq 0x10e0
movq 0x20(%rsp), %r9
movzbl (%r13), %eax
imulq $0x206, %rax, %rcx      # imm = 0x206
movq 0x50(%rsp), %rdi
movb 0x7(%rdi,%rcx), %al
leal 0x1(%rax), %edx
movb %dl, 0x7(%rdi,%rcx)
movl 0x14(%rsp), %esi
movb %sil, 0x6(%rdi,%rcx)
incw (%rdi,%rcx)
xorl %esi, %esi
cmpb $0x2, %dl
sete %sil
cmpb $0x1, %al
sbbw $0x0, %si
negl %esi
addw %si, 0x4(%rdi,%rcx)
cmpb $-0x5, %dl
jb 0x75d4
movq 0x50(%rsp), %rdx
leaq (%rdx,%rcx), %rax
leaq (%rdx,%rcx), %rdi
addq $0x6, %rdi
movl $0x0, (%rax)
movw $0x0, 0x4(%rax)
xorl %esi, %esi
xorl %edx, %edx
xorl %ecx, %ecx
movslq %esi, %r8
movb 0x1(%rdi,%r8,2), %r9b
movl %r9d, %r10d
shrb %r10b
movslq %edx, %rsi
movb %r10b, 0x1(%rdi,%rsi,2)
cmpb $0x2, %r9b
jae 0x7585
incl %ecx
jmp 0x75ac
movb 0x6(%rax,%r8,2), %dl
movb %dl, 0x6(%rax,%rsi,2)
incw 0x2(%rax)
movzbl 0x7(%rax,%rsi,2), %edx
addw %dx, (%rax)
xorl %edx, %edx
cmpb $0x1, 0x7(%rax,%rsi,2)
sete %dl
addw %dx, 0x4(%rax)
incl %esi
movl %esi, %edx
leal (%rdx,%rcx), %esi
cmpl $0x100, %esi            # imm = 0x100
jl 0x7565
movzwl 0x2(%rax), %eax
addl %eax, %eax
addq %rax, %rdi
movl $0x200, %edx            # imm = 0x200
subq %rax, %rdx
xorl %esi, %esi
callq 0x10e0
movq 0x20(%rsp), %r9
movzwl (%r13), %eax
movq 0x200010(%r13,%rax,8), %rax
movb 0x7(%rax), %cl
leal 0x1(%rcx), %edx
movb %dl, 0x7(%rax)
movl 0x14(%rsp), %esi
movb %sil, 0x6(%rax)
incw (%rax)
xorl %esi, %esi
cmpb $0x2, %dl
sete %sil
cmpb $0x1, %cl
sbbw $0x0, %si
negl %esi
addw %si, 0x4(%rax)
cmpb $-0x5, %dl
jb 0x7699
leaq 0x6(%rax), %rdi
movl $0x0, (%rax)
movw $0x0, 0x4(%rax)
xorl %esi, %esi
xorl %edx, %edx
xorl %ecx, %ecx
movslq %esi, %r8
movb 0x1(%rdi,%r8,2), %r9b
movl %r9d, %r10d
shrb %r10b
movslq %edx, %rsi
movb %r10b, 0x1(%rdi,%rsi,2)
cmpb $0x2, %r9b
jae 0x764a
incl %ecx
jmp 0x7671
movb 0x6(%rax,%r8,2), %dl
movb %dl, 0x6(%rax,%rsi,2)
incw 0x2(%rax)
movzbl 0x7(%rax,%rsi,2), %edx
addw %dx, (%rax)
xorl %edx, %edx
cmpb $0x1, 0x7(%rax,%rsi,2)
sete %dl
addw %dx, 0x4(%rax)
incl %esi
movl %esi, %edx
leal (%rdx,%rcx), %esi
cmpl $0x100, %esi            # imm = 0x100
jl 0x762a
movzwl 0x2(%rax), %eax
addl %eax, %eax
addq %rax, %rdi
movl $0x200, %edx            # imm = 0x200
subq %rax, %rdx
xorl %esi, %esi
callq 0x10e0
movq 0x20(%rsp), %r9
movq %r13, %rdi
movq %r9, %rsi
movl %r14d, %edx
callq 0x6b82
cmpl %r12d, 0x5c(%rsp)
setb 0x2a0829(%r13)
movl 0x14(%rsp), %eax
cmpb 0x2b(%rsp), %al
jne 0x783f
movl (%r13), %eax
shll $0x8, %eax
orl %r14d, %eax
movl %eax, (%r13)
movq %r13, %rdi
callq 0x6865
xorpd %xmm0, %xmm0
movapd %xmm0, 0x70(%rsp)
movapd %xmm0, 0x60(%rsp)
movzwl (%r13), %r15d
cmpq $0x0, 0x200010(%r13,%r15,8)
movq %rax, 0x20(%rsp)
jne 0x7784
movq 0x2a0818(%r13), %r12
cmpq $0x0, 0x8(%r12)
jne 0x775a
movl $0x81808, %edi          # imm = 0x81808
callq 0x1190
movq (%r12), %rcx
movq %rcx, (%rax)
leaq 0x8(%rax), %rcx
movq $0x0, 0x8(%rax)
xorl %edx, %edx
leaq (%rcx,%rdx), %rsi
movq %rsi, 0x20e(%rax,%rdx)
addq $0x206, %rdx            # imm = 0x206
cmpq $0x815fa, %rdx          # imm = 0x815FA
jne 0x772f
movq %rax, (%r12)
addq $0x81602, %rax          # imm = 0x81602
movq %rax, 0x8(%r12)
movq 0x8(%r12), %rdi
movq (%rdi), %rax
movq %rax, 0x8(%r12)
movq %rdi, 0x200010(%r13,%r15,8)
incl 0x4(%r13)
movl $0x206, %edx            # imm = 0x206
xorl %esi, %esi
callq 0x10e0
movq 0x20(%rsp), %rax
movq %r13, %rdi
movq %rax, %rsi
callq 0x69fd
movq %rax, %rcx
movzwl (%rax), %r15d
movzwl 0x2(%rax), %edi
leal (%rdi,%r15), %r8d
movl 0x10(%rsp), %esi
subl 0x8(%rsp), %esi
movl $0xffff, %r9d           # imm = 0xFFFF
andl %r9d, %r8d
movl %ebp, %eax
xorl %edx, %edx
divl %r8d
movl %eax, %ebp
movl %esi, %eax
xorl %edx, %edx
divl %ebp
andl %r9d, %eax
movl %eax, 0x5c(%rsp)
cmpl %r15d, %eax
movq %r15, 0x40(%rsp)
jae 0x789b
imull %r15d, %ebp
movq 0x18(%rsp), %rsi
movslq %esi, %rsi
movq 0x30(%rsp), %rdx
movq 0x20(%rsp), %r9
movq 0x8(%rsp), %r8
leal (%r8,%rbp), %eax
xorl %r8d, %eax
cmpl $0x1000000, %eax        # imm = 0x1000000
jb 0x7812
cmpl $0xffff, %ebp           # imm = 0xFFFF
ja 0x790c
movq 0x8(%rsp), %rax
negl %eax
movzwl %ax, %ebp
movq (%rdx), %rax
movzbl (%rax,%rsi), %eax
incq %rsi
movl 0x10(%rsp), %r8d
shll $0x8, %r8d
orl %eax, %r8d
movl %r8d, 0x10(%rsp)
shll $0x8, %ebp
movq 0x8(%rsp), %rax
shll $0x8, %eax
movq %rax, 0x8(%rsp)
jmp 0x77e9
movq 0x80(%rsp), %rsi
movl 0x8(%rsi), %eax
cmpl 0xc(%rsi), %eax
jne 0x7883
movl %eax, %eax
cvtsi2sd %rax, %xmm0
mulsd 0x37aa(%rip), %xmm0     # 0xb008
addsd 0x37aa(%rip), %xmm0     # 0xb010
cvttsd2si %xmm0, %rax
movl %eax, 0xc(%rsi)
movq (%rsi), %rdi
movl %eax, %esi
callq 0x11c0
movq 0x80(%rsp), %rsi
movq %rax, (%rsi)
movq (%rsi), %rax
movl 0x8(%rsi), %ecx
leal 0x1(%rcx), %edx
movl %edx, 0x8(%rsi)
movl 0x14(%rsp), %edx
movb %dl, (%rax,%rcx)
jmp 0x8e90
movl %ebp, %eax
imull %r15d, %eax
addl 0x8(%rsp), %eax
imull %edi, %ebp
movq 0x18(%rsp), %r12
movslq %r12d, %r12
movq %rax, 0x8(%rsp)
movq 0x30(%rsp), %rdx
movq 0x20(%rsp), %r8
movq 0x8(%rsp), %rsi
leal (%rsi,%rbp), %eax
xorl %esi, %eax
cmpl $0x1000000, %eax        # imm = 0x1000000
jb 0x78e2
cmpl $0xffff, %ebp           # imm = 0xFFFF
ja 0x7944
movq 0x8(%rsp), %rax
negl %eax
movzwl %ax, %ebp
movq (%rdx), %rax
movzbl (%rax,%r12), %eax
incq %r12
movl 0x10(%rsp), %esi
shll $0x8, %esi
orl %eax, %esi
movl %esi, 0x10(%rsp)
shll $0x8, %ebp
movq 0x8(%rsp), %rax
shll $0x8, %eax
movq %rax, 0x8(%rsp)
jmp 0x78bf
leal 0x23(%r15), %eax
movw %ax, (%rcx)
movzwl %ax, %eax
cmpl $0x3e81, %eax           # imm = 0x3E81
jb 0x792c
incl %eax
shrl %eax
movw %ax, (%rcx)
incl %edi
shrl %edi
movw %di, 0x2(%rcx)
cmpb $0x1, 0xe(%r9)
jne 0x7ab5
movb 0x10(%r9), %al
movl %eax, 0x2c(%rsp)
jmp 0x7b3b
addl $0x23, %edi
movw %di, 0x2(%rcx)
movzwl %di, %eax
cmpl $0x3e81, %eax           # imm = 0x3E81
jb 0x7966
leal 0x1(%r15), %edx
shrl %edx
movw %dx, (%rcx)
incl %eax
shrl %eax
movw %ax, 0x2(%rcx)
movzbl 0xe(%r8), %eax
testq %rax, %rax
je 0x798e
xorl %edx, %edx
movzbl 0x10(%r8,%rdx,2), %ecx
movl $0x1, %esi
shll %cl, %esi
shrl $0x5, %ecx
orl %esi, 0x60(%rsp,%rcx,4)
incq %rdx
cmpq %rdx, %rax
jne 0x7972
cmpl $0x42, %eax
jne 0x7b05
movzbl 0x93(%r8), %eax
subw %ax, 0xc(%r8)
jmp 0x7b0b
movzbl (%r13), %eax
imulq $0x206, %rax, %r8       # imm = 0x206
movq 0x50(%rsp), %rdx
movzbl 0x6(%rdx,%r8), %ecx
movl $0x1, %eax
shll %cl, %eax
movzwl 0x2(%rdx,%r8), %r11d
testq %r11, %r11
je 0x7bb4
movq 0xb8(%rsp), %rdx
addq %r8, %rdx
xorl %esi, %esi
xorl %edi, %edi
movzbl -0x1(%rdx,%rsi,2), %r9d
movl %r9d, %r10d
shrl $0x5, %r10d
movl 0x60(%rsp,%r10,4), %r10d
btl %r9d, %r10d
jae 0x7a02
xorl %r9d, %r9d
jmp 0x7a07
movzbl (%rdx,%rsi,2), %r9d
addl %r9d, %edi
incq %rsi
cmpq %rsi, %r11
jne 0x79e5
jmp 0x7bb6
leaq 0x10(%r9), %rsi
movb 0x10(%r9,%rdx), %r13b
addq $0x12, %r9
movq %r9, %rdi
callq 0x11f0
movq 0x20(%rsp), %r9
movb %r13b, 0x10(%r9)
movq 0x48(%rsp), %r13
movb %r12b, 0x11(%r9)
movl %ebp, %edi
movq 0x40(%rsp), %r12
movzwl %di, %eax
imull %ebx, %eax
addl 0x8(%rsp), %eax
imull %ebx, %r15d
movl %r15d, %ebp
movq %rax, 0x8(%rsp)
movq 0x30(%rsp), %rcx
movq 0x18(%rsp), %rsi
movq 0x8(%rsp), %rdx
leal (%rdx,%rbp), %eax
xorl %edx, %eax
cmpl $0x1000000, %eax        # imm = 0x1000000
jb 0x7a8c
cmpl $0xffff, %ebp           # imm = 0xFFFF
ja 0x6f63
movq 0x8(%rsp), %rax
negl %eax
movzwl %ax, %ebp
movq (%rcx), %rax
movzbl (%rax,%rsi), %eax
incq %rsi
movl 0x10(%rsp), %edx
shll $0x8, %edx
orl %eax, %edx
movl %edx, 0x10(%rsp)
shll $0x8, %ebp
movq 0x8(%rsp), %rax
shll $0x8, %eax
movq %rax, 0x8(%rsp)
jmp 0x7a65
movq %rsi, 0x18(%rsp)
movb 0x11(%r9), %r12b
movzbl %r12b, %r15d
leal 0x6(%r15), %esi
shrl %esi
movzwl 0xc(%r9), %eax
addw %si, %ax
movl 0x10(%rsp), %ecx
subl 0x8(%rsp), %ecx
movzwl %ax, %r8d
xorl %edi, %edi
movl %ebp, %eax
xorl %edx, %edx
divl %r8d
movl %eax, %ebx
movl %ecx, %eax
xorl %edx, %edx
divl %ebx
movzwl %ax, %eax
leal (%rsi,%r15), %ecx
cmpl %eax, %ecx
jbe 0x7e2a
movl %esi, %ebp
xorl %edx, %edx
jmp 0x7e50
incb %al
movb %al, 0xe(%r8)
leaq 0x10(%r8), %rsi
movq %r8, %rdi
addq $0x12, %rdi
movzbl 0xe(%r8), %eax
leaq -0x2(,%rax,2), %rdx
callq 0x11f0
movq 0x20(%rsp), %r9
movb $0x0, 0x11(%r9)
movb $0x1, %al
movl %eax, 0x2c(%rsp)
movq %r12, %rsi
movl $0x4, %ecx
cmpl %r15d, 0x5c(%rsp)
movq %rsi, 0x18(%rsp)
jae 0x7b56
movl 0x2c(%rsp), %r12d
jmp 0x8a25
movzwl (%r13), %eax
movq 0x200010(%r13,%rax,8), %r12
movzbl 0x6(%r12), %ecx
movl $0x1, %eax
shll %cl, %eax
movzwl 0x2(%r12), %r9d
testq %r9, %r9
je 0x7d1f
xorl %edx, %edx
xorl %edi, %edi
movzbl 0x6(%r12,%rdx,2), %esi
movl %esi, %r8d
shrl $0x5, %r8d
movl 0x60(%rsp,%r8,4), %r8d
btl %esi, %r8d
jae 0x7b9f
xorl %esi, %esi
jmp 0x7ba5
movzbl 0x7(%r12,%rdx,2), %esi
addl %esi, %edi
incq %rdx
cmpq %rdx, %r9
jne 0x7b83
jmp 0x7d21
xorl %edi, %edi
movq 0x50(%rsp), %rsi
leaq (%rsi,%r8), %rbx
movzbl 0x7(%rsi,%r8), %r10d
shrl $0x5, %ecx
andl 0x60(%rsp,%rcx,4), %eax
movzwl 0x4(%rbx), %r9d
cmpw $0x1, %r9w
adcl $0x0, %r9d
testl %eax, %eax
movl $0x0, %eax
cmovnel %eax, %r10d
movl %r9d, %r12d
movl $0xffff, %r15d          # imm = 0xFFFF
andl %r15d, %r12d
addl %r10d, %edi
addl %r9d, %edi
movl 0x10(%rsp), %ecx
subl 0x8(%rsp), %ecx
andl %r15d, %edi
movl %ebp, %eax
xorl %edx, %edx
divl %edi
movl %eax, %r14d
movl %ecx, %eax
xorl %edx, %edx
divl %r14d
subl %r12d, %edi
andl %r15d, %eax
cmpl %eax, %edi
jle 0x7cb8
movb 0x7(%rsi,%r8), %r11b
movzbl %r11b, %r9d
movzbl 0x6(%rsi,%r8), %ebp
movl %ebp, %ecx
shrl $0x5, %ecx
movl 0x60(%rsp,%rcx,4), %edx
xorl %ecx, %ecx
movl %ebp, 0x14(%rsp)
btl %ebp, %edx
movl $0x0, %r15d
cmovael %r9d, %r15d
leal (%r10,%r15), %ebp
leaq (%rsi,%r8), %rdx
addq $0x6, %rdx
cmpl %eax, %ebp
ja 0x7ca3
xorl %ecx, %ecx
movb 0x3(%rdx), %r11b
movzbl %r11b, %r9d
movzbl 0x2(%rdx), %esi
movl %esi, %r12d
shrl $0x5, %r12d
movl 0x60(%rsp,%r12,4), %r12d
btl %esi, %r12d
movl %r9d, %r12d
jae 0x7c81
xorl %r12d, %r12d
addl %r15d, %ecx
movzwl %cx, %r13d
addl %r10d, %r13d
addq $0x2, %rdx
addl %r12d, %r13d
movl %r12d, %r15d
cmpl %eax, %r13d
jbe 0x7c5d
movl %esi, 0x14(%rsp)
movq 0x48(%rsp), %r13
cmpl %eax, %ebp
movq 0x40(%rsp), %r12
jbe 0x7e60
addl %r10d, %r9d
jmp 0x7e90
testq %r11, %r11
je 0x7ce7
movq 0xb0(%rsp), %rcx
leaq (%rcx,%r8), %rdx
xorl %r10d, %r10d
movzbl (%rdx,%r10,2), %ecx
movl $0x1, %ebp
shll %cl, %ebp
shrl $0x5, %ecx
orl %ebp, 0x60(%rsp,%rcx,4)
incq %r10
cmpq %r10, %r11
jne 0x7ccc
movq 0x50(%rsp), %rdx
movb 0x7(%rdx,%r8), %cl
movb %cl, 0x7(%rbx,%r11,2)
movb 0x6(%rdx,%r8), %cl
movb %cl, 0x6(%rbx,%r11,2)
movb $0x0, 0x7(%rdx,%r8)
leal 0x1(%r11), %ecx
movw %cx, 0x2(%rbx)
movl %edi, %ecx
movq 0x18(%rsp), %rsi
movq 0x40(%rsp), %r12
jmp 0x7e95
xorl %edi, %edi
leaq 0x6(%r12), %r10
movb 0x7(%r12), %r15b
shrl $0x5, %ecx
andl 0x60(%rsp,%rcx,4), %eax
movzbl %r15b, %r11d
movzwl 0x4(%r12), %r8d
cmpw $0x1, %r8w
adcl $0x0, %r8d
testl %eax, %eax
movl $0x0, %eax
cmovnel %eax, %r11d
movl %r8d, %r13d
movl $0xffff, %esi           # imm = 0xFFFF
andl %esi, %r13d
addl %r11d, %edi
addl %r8d, %edi
movl 0x10(%rsp), %ecx
subl 0x8(%rsp), %ecx
andl %esi, %edi
movl %ebp, %eax
xorl %edx, %edx
divl %edi
movl %eax, %r14d
movl %ecx, %eax
xorl %edx, %edx
divl %r14d
subl %r13d, %edi
andl %esi, %eax
cmpl %eax, %edi
jle 0x7dc0
movb 0x7(%r12), %r9b
movzbl %r9b, %r8d
movzbl 0x6(%r12), %ebp
movl %ebp, %ecx
shrl $0x5, %ecx
movl 0x60(%rsp,%rcx,4), %edx
xorl %ecx, %ecx
btl %ebp, %edx
movl $0x0, %r12d
cmovael %r8d, %r12d
leal (%r11,%r12), %ebx
cmpl %eax, %ebx
jbe 0x7f77
movl %ebp, %esi
xorl %edx, %edx
jmp 0x7fbc
testq %r9, %r9
je 0x7de5
xorl %edx, %edx
movzbl (%r10,%rdx,2), %ecx
movl $0x1, %r11d
shll %cl, %r11d
shrl $0x5, %ecx
orl %r11d, 0x60(%rsp,%rcx,4)
incq %rdx
cmpq %rdx, %r9
jne 0x7dc7
addl %r9d, %r9d
movb %r15b, 0x7(%r12,%r9)
movq 0x48(%rsp), %r13
movzwl (%r13), %ecx
movq 0x200010(%r13,%rcx,8), %rcx
movb 0x6(%rcx), %dl
movb %dl, 0x6(%rcx,%r9)
movzwl (%r13), %ecx
movq 0x200010(%r13,%rcx,8), %rcx
movb $0x0, 0x7(%rcx)
incw 0x2(%r12)
movl %edi, %ecx
movl 0x2c(%rsp), %r12d
jmp 0x80bf
xorl %edx, %edx
xorl %edi, %edi
movzbl %r12b, %r8d
addl %r8d, %edi
movzwl %di, %ebp
addl %esi, %ebp
movb 0x13(%r9,%rdx), %r12b
movzbl %r12b, %r15d
leal (%r15,%rbp), %r8d
addq $0x2, %rdx
cmpl %eax, %r8d
jbe 0x7e2e
cmpl %eax, %ecx
jbe 0x7fd4
addl %esi, %r15d
jmp 0x7ffd
movzbl %r11b, %r9d
movq 0x50(%rsp), %rsi
movb 0x7(%rsi,%r8), %r11b
movb %r11b, 0x1(%rdx)
movb %r9b, 0x7(%rsi,%r8)
movb 0x6(%rsi,%r8), %r11b
movb %r11b, (%rdx)
movl 0x14(%rsp), %edx
movb %dl, 0x6(%rsi,%r8)
movzwl %r10w, %edx
addl %ecx, %edx
movl %edx, %ecx
movq 0x18(%rsp), %rsi
movzwl %cx, %ecx
imull %r14d, %ecx
addl 0x8(%rsp), %ecx
movzwl %r9w, %ebp
imull %r14d, %ebp
movq %rcx, 0x8(%rsp)
movq 0x30(%rsp), %rdx
movq 0x20(%rsp), %r9
movq 0x8(%rsp), %r8
leal (%r8,%rbp), %ecx
xorl %r8d, %ecx
cmpl $0x1000000, %ecx        # imm = 0x1000000
jb 0x7edd
cmpl $0xffff, %ebp           # imm = 0xFFFF
ja 0x7f0a
movq 0x8(%rsp), %rcx
negl %ecx
movzwl %cx, %ebp
movq (%rdx), %rcx
movzbl (%rcx,%rsi), %ecx
incq %rsi
movl 0x10(%rsp), %r8d
shll $0x8, %r8d
orl %ecx, %r8d
movl %r8d, 0x10(%rsp)
shll $0x8, %ebp
movq 0x8(%rsp), %rcx
shll $0x8, %ecx
movq %rcx, 0x8(%rsp)
jmp 0x7eb7
movl $0x1, %ecx
cmpl %eax, %edi
movq %rsi, 0x18(%rsp)
jg 0x70d6
movzbl 0x2a0616(%r13), %esi
movl $0x1, %eax
movl %esi, %ecx
shll %cl, %eax
movzwl 0x2a0612(%r13), %r15d
testq %r15, %r15
je 0x81eb
xorl %ecx, %ecx
xorl %r8d, %r8d
movzbl 0x2a0616(%r13,%rcx,2), %edx
movl %edx, %edi
shrl $0x5, %edi
movl 0x60(%rsp,%rdi,4), %edi
btl %edx, %edi
jae 0x7f5e
xorl %edx, %edx
jmp 0x7f67
movzbl 0x2a0617(%r13,%rcx,2), %edx
addl %edx, %r8d
incq %rcx
cmpq %rcx, %r15
jne 0x7f43
jmp 0x81ee
xorl %edx, %edx
xorl %ecx, %ecx
movb 0x3(%r10), %r9b
movzbl %r9b, %r8d
movzbl 0x2(%r10), %ebp
movl %ebp, %r13d
shrl $0x5, %r13d
movl 0x60(%rsp,%r13,4), %r13d
movl %ebp, %esi
btl %ebp, %r13d
movl %r8d, %r13d
jae 0x7fa2
xorl %r13d, %r13d
addl %r12d, %ecx
incq %rdx
movzwl %cx, %ebp
addl %r11d, %ebp
addq $0x2, %r10
addl %r13d, %ebp
movl %r13d, %r12d
cmpl %eax, %ebp
jbe 0x7f7b
cmpl %eax, %ebx
movq 0x48(%rsp), %r13
movl %esi, %r12d
jbe 0x8072
addl %r11d, %r8d
jmp 0x80bf
leaq 0x10(%r9), %rsi
movb 0x10(%r9,%rdx), %r13b
addq $0x12, %r9
movq %r9, %rdi
callq 0x11f0
movq 0x20(%rsp), %r9
movb %r13b, 0x10(%r9)
movq 0x48(%rsp), %r13
movb %r12b, 0x11(%r9)
movl %ebp, %edi
movzwl %di, %eax
imull %ebx, %eax
addl 0x8(%rsp), %eax
imull %ebx, %r15d
movl %r15d, %ebp
movq %rax, 0x8(%rsp)
movq 0x30(%rsp), %rcx
movq 0x18(%rsp), %rsi
movq 0x40(%rsp), %r15
movq 0x8(%rsp), %rdx
leal (%rdx,%rbp), %eax
xorl %edx, %eax
cmpl $0x1000000, %eax        # imm = 0x1000000
jb 0x8049
cmpl $0xffff, %ebp           # imm = 0xFFFF
ja 0x7937
movq 0x8(%rsp), %rax
negl %eax
movzwl %ax, %ebp
movq (%rcx), %rax
movzbl (%rax,%rsi), %eax
incq %rsi
movl 0x10(%rsp), %edx
shll $0x8, %edx
orl %eax, %edx
movl %edx, 0x10(%rsp)
shll $0x8, %ebp
movq 0x8(%rsp), %rax
shll $0x8, %eax
movq %rax, 0x8(%rsp)
jmp 0x8022
movzbl %r9b, %r8d
movb %r15b, 0x1(%r10)
movzwl (%r13), %r9d
movq 0x200010(%r13,%r9,8), %r9
movb %r8b, 0x7(%r9)
movzwl (%r13), %r9d
movq 0x200010(%r13,%r9,8), %r9
movb 0x6(%r9,%rdx,2), %r10b
movb 0x6(%r9), %bpl
movb %bpl, 0x6(%r9,%rdx,2)
movzwl (%r13), %edx
movq 0x200010(%r13,%rdx,8), %rdx
movb %r10b, 0x6(%rdx)
movzwl %r11w, %edx
addl %ecx, %edx
movl %edx, %ecx
movzwl %cx, %ecx
imull %r14d, %ecx
addl 0x8(%rsp), %ecx
movzwl %r8w, %ebp
imull %r14d, %ebp
movq 0x18(%rsp), %rsi
movslq %esi, %rsi
movq %rcx, 0x8(%rsp)
movq 0x30(%rsp), %rdx
movq 0x8(%rsp), %r8
leal (%r8,%rbp), %ecx
xorl %r8d, %ecx
cmpl $0x1000000, %ecx        # imm = 0x1000000
jb 0x810a
cmpl $0xffff, %ebp           # imm = 0xFFFF
ja 0x8137
movq 0x8(%rsp), %rcx
negl %ecx
movzwl %cx, %ebp
movq (%rdx), %rcx
movzbl (%rcx,%rsi), %ecx
incq %rsi
movl 0x10(%rsp), %r8d
shll $0x8, %r8d
orl %ecx, %r8d
movl %r8d, 0x10(%rsp)
shll $0x8, %ebp
movq 0x8(%rsp), %rcx
shll $0x8, %ecx
movq %rcx, 0x8(%rsp)
jmp 0x80e4
movl $0x2, %ecx
cmpl %eax, %edi
movq %rsi, 0x18(%rsp)
jle 0x814f
movq 0x20(%rsp), %r9
jmp 0x8a25
movzbl (%r13), %eax
imulq $0x206, %rax, %r8       # imm = 0x206
movq 0x50(%rsp), %r13
movzbl 0x6(%r13,%r8), %ecx
movl $0x1, %eax
shll %cl, %eax
movzwl 0x2(%r13,%r8), %r11d
movl %r12d, %r15d
testq %r11, %r11
je 0x82f8
movq 0xb8(%rsp), %rdx
addq %r8, %rdx
xorl %esi, %esi
xorl %edi, %edi
movzbl -0x1(%rdx,%rsi,2), %r9d
movl %r9d, %r10d
shrl $0x5, %r10d
movl 0x60(%rsp,%r10,4), %r10d
btl %r9d, %r10d
jae 0x81ab
xorl %r9d, %r9d
jmp 0x81b0
movzbl (%rdx,%rsi,2), %r9d
addl %r9d, %edi
incq %rsi
cmpq %rsi, %r11
jne 0x818e
jmp 0x82fa
movl %eax, %r12d
movq 0x5e2e(%rip), %rax      # 0xdff8
movq (%rax), %rdi
leaq 0x2ebc(%rip), %rsi      # 0xb090
movl %r12d, %edx
xorl %eax, %eax
callq 0x1150
movl %r12d, 0x8c(%rsp)
jmp 0x6dd1
xorl %r8d, %r8d
movb 0x2a0617(%r13), %r14b
movl %esi, %ecx
shrl $0x5, %ecx
andl 0x60(%rsp,%rcx,4), %eax
movzbl %r14b, %r11d
movzwl 0x2a0614(%r13), %r9d
cmpw $0x1, %r9w
adcl $0x0, %r9d
testl %eax, %eax
movl $0x0, %eax
cmovnel %eax, %r11d
movl %r9d, %r12d
movl $0xffff, %r10d          # imm = 0xFFFF
andl %r10d, %r12d
addl %r11d, %r8d
addl %r9d, %r8d
movl 0x10(%rsp), %ecx
subl 0x8(%rsp), %ecx
andl %r10d, %r8d
movl %ebp, %eax
xorl %edx, %edx
divl %r8d
movl %eax, %edi
movl %ecx, %eax
xorl %edx, %edx
divl %edi
subl %r12d, %r8d
andl %r10d, %eax
cmpl %eax, %r8d
jle 0x829d
movb 0x2a0617(%r13), %dl
movzbl %dl, %r9d
movzbl 0x2a0616(%r13), %r10d
movl %r10d, %ecx
shrl $0x5, %ecx
movl 0x60(%rsp,%rcx,4), %ebp
xorl %ecx, %ecx
movl %r10d, 0x14(%rsp)
btl %r10d, %ebp
movl $0x0, %r12d
cmovael %r9d, %r12d
leal (%r11,%r12), %ebp
cmpl %eax, %ebp
jbe 0x8406
movq 0x38(%rsp), %r15
jmp 0x8455
testq %r15, %r15
movq 0x38(%rsp), %r10
je 0x82c7
xorl %edx, %edx
movzbl (%r10,%rdx,2), %ecx
movl $0x1, %r11d
shll %cl, %r11d
shrl $0x5, %ecx
orl %r11d, 0x60(%rsp,%rcx,4)
incq %rdx
cmpq %rdx, %r15
jne 0x82a9
movb %r14b, 0x2a0617(%r13,%r15,2)
movb %sil, 0x2a0616(%r13,%r15,2)
movb $0x0, 0x2a0617(%r13)
leal 0x1(%r15), %ecx
movw %cx, 0x2a0612(%r13)
movl %r8d, %ecx
movq 0x40(%rsp), %r12
jmp 0x84eb
xorl %edi, %edi
leaq (%r8,%r13), %rbx
movzbl 0x7(%r13,%r8), %r10d
shrl $0x5, %ecx
andl 0x60(%rsp,%rcx,4), %eax
movzwl 0x4(%rbx), %r9d
cmpw $0x1, %r9w
adcl $0x0, %r9d
testl %eax, %eax
movl $0x0, %eax
cmovnel %eax, %r10d
movq %r13, %rsi
movl %r9d, %r13d
movl $0xffff, %r12d          # imm = 0xFFFF
andl %r12d, %r13d
addl %r10d, %edi
addl %r9d, %edi
movl 0x10(%rsp), %ecx
subl 0x8(%rsp), %ecx
andl %r12d, %edi
movl %ebp, %eax
xorl %edx, %edx
divl %edi
movl %eax, %r14d
movl %ecx, %eax
xorl %edx, %edx
divl %r14d
subl %r13d, %edi
andl %r12d, %eax
cmpl %eax, %edi
jle 0x83a1
movb 0x7(%rsi,%r8), %r11b
movzbl %r11b, %r9d
movzbl 0x6(%rsi,%r8), %ebp
movl %ebp, %ecx
shrl $0x5, %ecx
movl 0x60(%rsp,%rcx,4), %edx
xorl %ecx, %ecx
btl %ebp, %edx
movl $0x0, %r12d
cmovael %r9d, %r12d
leal (%r10,%r12), %ebx
cmpl %eax, %ebx
jbe 0x8466
movl %ebp, %r15d
leaq (%rsi,%r8), %rdx
addq $0x6, %rdx
jmp 0x84ae
testq %r11, %r11
je 0x83d0
movq 0xb0(%rsp), %rcx
leaq (%rcx,%r8), %rdx
xorl %r10d, %r10d
movzbl (%rdx,%r10,2), %ecx
movl $0x1, %ebp
shll %cl, %ebp
shrl $0x5, %ecx
orl %ebp, 0x60(%rsp,%rcx,4)
incq %r10
cmpq %r10, %r11
jne 0x83b5
movq 0x50(%rsp), %rdx
movb 0x7(%rdx,%r8), %cl
movb %cl, 0x7(%rbx,%r11,2)
movb 0x6(%rdx,%r8), %cl
movb %cl, 0x6(%rbx,%r11,2)
movb $0x0, 0x7(%rdx,%r8)
leal 0x1(%r11), %ecx
movw %cx, 0x2(%rbx)
movl %edi, %ecx
movq 0x48(%rsp), %r13
movl %r15d, %r12d
jmp 0x8668
xorl %ecx, %ecx
movq 0x38(%rsp), %r15
movb 0x3(%r15), %dl
movzbl %dl, %r9d
movzbl 0x2(%r15), %r10d
movl %r10d, %r13d
shrl $0x5, %r13d
movl 0x60(%rsp,%r13,4), %r13d
movl %r10d, 0x14(%rsp)
btl %r10d, %r13d
movl %r9d, %r13d
jae 0x8437
xorl %r13d, %r13d
addl %r12d, %ecx
movzwl %cx, %r10d
addl %r11d, %r10d
addq $0x2, %r15
addl %r13d, %r10d
movl %r13d, %r12d
cmpl %eax, %r10d
jbe 0x840d
movq 0x48(%rsp), %r13
cmpl %eax, %ebp
movq 0x40(%rsp), %r12
jbe 0x84c6
addl %r11d, %r9d
jmp 0x84eb
leaq (%rsi,%r8), %rdx
addq $0x6, %rdx
xorl %ecx, %ecx
movb 0x3(%rdx), %r11b
movzbl %r11b, %r9d
movzbl 0x2(%rdx), %esi
movl %esi, %r13d
shrl $0x5, %r13d
movl 0x60(%rsp,%r13,4), %r13d
movl %esi, %r15d
btl %esi, %r13d
movl %r9d, %r13d
jae 0x8497
xorl %r13d, %r13d
addl %r12d, %ecx
movzwl %cx, %ebp
addl %r10d, %ebp
addq $0x2, %rdx
addl %r13d, %ebp
movl %r13d, %r12d
cmpl %eax, %ebp
jbe 0x8470
cmpl %eax, %ebx
movq 0x48(%rsp), %r13
movl %r15d, %r12d
jbe 0x863c
addl %r10d, %r9d
jmp 0x8668
movzbl %dl, %r9d
movb %r14b, 0x1(%r15)
movb %r9b, 0x2a0617(%r13)
movb %sil, (%r15)
movl 0x14(%rsp), %edx
movb %dl, 0x2a0616(%r13)
movzwl %r11w, %edx
addl %ecx, %edx
movl %edx, %ecx
movzwl %cx, %ecx
imull %edi, %ecx
addl 0x8(%rsp), %ecx
movzwl %r9w, %ebp
imull %edi, %ebp
movq %rcx, 0x8(%rsp)
movq 0x30(%rsp), %rdx
movq 0x38(%rsp), %r15
movq 0x18(%rsp), %rsi
movq 0x20(%rsp), %r9
movq 0x8(%rsp), %rdi
leal (%rdi,%rbp), %ecx
xorl %edi, %ecx
cmpl $0x1000000, %ecx        # imm = 0x1000000
jb 0x8539
cmpl $0xffff, %ebp           # imm = 0xFFFF
ja 0x8562
movq 0x8(%rsp), %rcx
negl %ecx
movzwl %cx, %ebp
movq (%rdx), %rcx
movzbl (%rcx,%rsi), %ecx
incq %rsi
movl 0x10(%rsp), %edi
shll $0x8, %edi
orl %ecx, %edi
movl %edi, 0x10(%rsp)
shll $0x8, %ebp
movq 0x8(%rsp), %rcx
shll $0x8, %ecx
movq %rcx, 0x8(%rsp)
jmp 0x8515
xorl %ecx, %ecx
cmpl %eax, %r8d
jle 0x8573
movq %rsi, 0x18(%rsp)
jmp 0x70db
movq %rsi, %r8
xorl %ecx, %ecx
xorl %eax, %eax
movl %ecx, %edx
shrl $0x5, %edx
movl 0x60(%rsp,%rdx,4), %edx
btl %ecx, %edx
sbbw $-0x1, %ax
incl %ecx
cmpl $0x100, %ecx            # imm = 0x100
jne 0x857a
movl 0x10(%rsp), %ecx
subl 0x8(%rsp), %ecx
movzwl %ax, %edi
xorl %esi, %esi
movl %ebp, %eax
xorl %edx, %edx
divl %edi
movl %eax, %ebp
movl %ecx, %eax
xorl %edx, %edx
divl %ebp
movzwl %ax, %ecx
xorl %edi, %edi
movzwl %si, %eax
movl %edi, %edx
shrl $0x5, %edx
movl 0x60(%rsp,%rdx,4), %edx
btl %edi, %edx
movl %eax, %esi
sbbl $-0x1, %esi
incl %edi
cmpl %ecx, %esi
jbe 0x85b4
imull %ebp, %eax
addl 0x8(%rsp), %eax
movq %rax, 0x8(%rsp)
movq 0x30(%rsp), %rcx
movl %edi, %edx
movq 0x8(%rsp), %rsi
leal (%rsi,%rbp), %eax
xorl %esi, %eax
cmpl $0x1000000, %eax        # imm = 0x1000000
jb 0x8604
cmpl $0xffff, %ebp           # imm = 0xFFFF
ja 0x862e
movq 0x8(%rsp), %rax
negl %eax
movzwl %ax, %ebp
movq (%rcx), %rax
movzbl (%rax,%r8), %eax
incq %r8
movl 0x10(%rsp), %esi
shll $0x8, %esi
orl %eax, %esi
movl %esi, 0x10(%rsp)
shll $0x8, %ebp
movq 0x8(%rsp), %rax
shll $0x8, %eax
movq %rax, 0x8(%rsp)
jmp 0x85e1
movq %r8, 0x18(%rsp)
decb %dl
xorl %ecx, %ecx
jmp 0x73c5
movzbl %r11b, %r9d
movq 0x50(%rsp), %rsi
movb 0x7(%rsi,%r8), %r11b
movb %r11b, 0x1(%rdx)
movb %r9b, 0x7(%rsi,%r8)
movb 0x6(%rsi,%r8), %r11b
movb %r11b, (%rdx)
movb %r12b, 0x6(%rsi,%r8)
movzwl %r10w, %edx
addl %ecx, %edx
movl %edx, %ecx
movzwl %cx, %ecx
imull %r14d, %ecx
addl 0x8(%rsp), %ecx
movzwl %r9w, %ebp
imull %r14d, %ebp
movq %rcx, 0x8(%rsp)
movq 0x30(%rsp), %rsi
movq 0x20(%rsp), %r9
movq 0x8(%rsp), %rdx
leal (%rdx,%rbp), %ecx
xorl %edx, %ecx
cmpl $0x1000000, %ecx        # imm = 0x1000000
jb 0x86ae
cmpl $0xffff, %ebp           # imm = 0xFFFF
ja 0x86e1
movq 0x8(%rsp), %rcx
negl %ecx
movzwl %cx, %ebp
movq (%rsi), %rcx
movq 0x18(%rsp), %rdx
movzbl (%rcx,%rdx), %ecx
incq %rdx
movq %rdx, 0x18(%rsp)
movl 0x10(%rsp), %edx
shll $0x8, %edx
orl %ecx, %edx
movl %edx, 0x10(%rsp)
shll $0x8, %ebp
movq 0x8(%rsp), %rcx
shll $0x8, %ecx
movq %rcx, 0x8(%rsp)
jmp 0x868a
movl $0x1, %ecx
cmpl %eax, %edi
jg 0x8a25
movl %r12d, 0x2c(%rsp)
movzbl 0x2a0616(%r13), %r14d
movl $0x1, %eax
movl %r14d, %ecx
shll %cl, %eax
movzwl 0x2a0612(%r13), %r12d
testq %r12, %r12
je 0x8748
xorl %ecx, %ecx
xorl %r8d, %r8d
movzbl 0x2a0616(%r13,%rcx,2), %edx
movl %edx, %edi
shrl $0x5, %edi
movl 0x60(%rsp,%rdi,4), %edi
btl %edx, %edi
jae 0x8732
xorl %edx, %edx
jmp 0x873b
movzbl 0x2a0617(%r13,%rcx,2), %edx
addl %edx, %r8d
incq %rcx
cmpq %rcx, %r12
jne 0x8717
jmp 0x874b
xorl %r8d, %r8d
movb 0x2a0617(%r13), %dl
movl %r14d, %ecx
shrl $0x5, %ecx
andl 0x60(%rsp,%rcx,4), %eax
movb %dl, 0x2a(%rsp)
movzbl %dl, %r11d
movzwl 0x2a0614(%r13), %r9d
cmpw $0x1, %r9w
adcl $0x0, %r9d
testl %eax, %eax
movl $0x0, %eax
cmovnel %eax, %r11d
movl %r9d, %r10d
movl $0xffff, %edi           # imm = 0xFFFF
andl %edi, %r10d
addl %r11d, %r8d
addl %r9d, %r8d
movl 0x10(%rsp), %ecx
subl 0x8(%rsp), %ecx
andl %edi, %r8d
movl %ebp, %eax
xorl %edx, %edx
divl %r8d
movl %eax, %ebp
movl %ecx, %eax
xorl %edx, %edx
movl %ebp, %r15d
divl %ebp
subl %r10d, %r8d
andl %edi, %eax
cmpl %eax, %r8d
jle 0x87f7
movb 0x2a0617(%r13), %dl
movzbl %dl, %r9d
movzbl 0x2a0616(%r13), %edi
movl %edi, %ecx
shrl $0x5, %ecx
movl 0x60(%rsp,%rcx,4), %r10d
xorl %ecx, %ecx
btl %edi, %r10d
movl $0x0, %r10d
cmovael %r9d, %r10d
leal (%r11,%r10), %ebp
cmpl %eax, %ebp
jbe 0x8857
movq 0x38(%rsp), %r12
jmp 0x88a8
testq %r12, %r12
movq 0x38(%rsp), %r11
je 0x8821
xorl %edx, %edx
movzbl (%r11,%rdx,2), %ecx
movl $0x1, %r10d
shll %cl, %r10d
shrl $0x5, %ecx
orl %r10d, 0x60(%rsp,%rcx,4)
incq %rdx
cmpq %rdx, %r12
jne 0x8803
movb 0x2a(%rsp), %cl
movb %cl, 0x2a0617(%r13,%r12,2)
movb %r14b, 0x2a0616(%r13,%r12,2)
movb $0x0, 0x2a0617(%r13)
leal 0x1(%r12), %ecx
movw %cx, 0x2a0612(%r13)
movl %r8d, %ecx
movl 0x2c(%rsp), %r12d
jmp 0x88de
xorl %ecx, %ecx
movq 0x38(%rsp), %r12
movb 0x3(%r12), %dl
movzbl %dl, %r9d
movzbl 0x2(%r12), %esi
movl %esi, %r13d
shrl $0x5, %r13d
movl 0x60(%rsp,%r13,4), %r13d
movl %esi, %edi
btl %esi, %r13d
movl %r9d, %r13d
jae 0x8887
xorl %r13d, %r13d
addl %r10d, %ecx
movzwl %cx, %esi
addl %r11d, %esi
addq $0x2, %r12
addl %r13d, %esi
movl %r13d, %r10d
cmpl %eax, %esi
jbe 0x885e
movq 0x48(%rsp), %r13
movq 0x30(%rsp), %rsi
cmpl %eax, %ebp
jbe 0x88b4
addl %r11d, %r9d
movl %edi, %r12d
jmp 0x88de
movzbl %dl, %r9d
movb 0x2a(%rsp), %dl
movb %dl, 0x1(%r12)
movb %r9b, 0x2a0617(%r13)
movb %r14b, (%r12)
movl %edi, %r12d
movb %r12b, 0x2a0616(%r13)
movzwl %r11w, %edx
addl %ecx, %edx
movl %edx, %ecx
movzwl %cx, %ecx
imull %r15d, %ecx
addl 0x8(%rsp), %ecx
movzwl %r9w, %ebp
imull %r15d, %ebp
movq %rcx, 0x8(%rsp)
movq 0x20(%rsp), %r9
movq 0x8(%rsp), %rdx
leal (%rdx,%rbp), %ecx
xorl %edx, %ecx
cmpl $0x1000000, %ecx        # imm = 0x1000000
jb 0x891f
cmpl $0xffff, %ebp           # imm = 0xFFFF
ja 0x8952
movq 0x8(%rsp), %rcx
negl %ecx
movzwl %cx, %ebp
movq (%rsi), %rcx
movq 0x18(%rsp), %rdx
movzbl (%rcx,%rdx), %ecx
incq %rdx
movq %rdx, 0x18(%rsp)
movl 0x10(%rsp), %edx
shll $0x8, %edx
orl %ecx, %edx
movl %edx, 0x10(%rsp)
shll $0x8, %ebp
movq 0x8(%rsp), %rcx
shll $0x8, %ecx
movq %rcx, 0x8(%rsp)
jmp 0x88fb
xorl %ecx, %ecx
cmpl %eax, %r8d
jg 0x8a25
xorl %ecx, %ecx
xorl %eax, %eax
movl %ecx, %edx
shrl $0x5, %edx
movl 0x60(%rsp,%rdx,4), %edx
btl %ecx, %edx
sbbw $-0x1, %ax
incl %ecx
cmpl $0x100, %ecx            # imm = 0x100
jne 0x8961
movl 0x10(%rsp), %ecx
subl 0x8(%rsp), %ecx
movzwl %ax, %edi
xorl %esi, %esi
movl %ebp, %eax
xorl %edx, %edx
divl %edi
movl %eax, %ebp
movl %ecx, %eax
xorl %edx, %edx
divl %ebp
movzwl %ax, %ecx
xorl %r12d, %r12d
movzwl %si, %eax
movl %r12d, %edx
shrl $0x5, %edx
movl 0x60(%rsp,%rdx,4), %edx
btl %r12d, %edx
movl %eax, %esi
sbbl $-0x1, %esi
incl %r12d
cmpl %ecx, %esi
jbe 0x899c
imull %ebp, %eax
addl 0x8(%rsp), %eax
movq %rax, 0x8(%rsp)
movq 0x30(%rsp), %rcx
movq 0x18(%rsp), %rdx
movq 0x8(%rsp), %rsi
leal (%rsi,%rbp), %eax
xorl %esi, %eax
cmpl $0x1000000, %eax        # imm = 0x1000000
jb 0x89f2
cmpl $0xffff, %ebp           # imm = 0xFFFF
ja 0x8a1b
movq 0x8(%rsp), %rax
negl %eax
movzwl %ax, %ebp
movq (%rcx), %rax
movzbl (%rax,%rdx), %eax
incq %rdx
movl 0x10(%rsp), %esi
shll $0x8, %esi
orl %eax, %esi
movl %esi, 0x10(%rsp)
shll $0x8, %ebp
movq 0x8(%rsp), %rax
shll $0x8, %eax
movq %rax, 0x8(%rsp)
jmp 0x89cf
movq %rdx, 0x18(%rsp)
decb %r12b
xorl %ecx, %ecx
movl (%r13), %eax
shll $0x8, %eax
movzbl %r12b, %r14d
movl %eax, %edx
shrl $0xe, %edx
andl $0x3ff00, %eax          # imm = 0x3FF00
orl %r14d, %eax
xorl %edx, %eax
movq 0xc0(%rsp), %rdx
prefetcht0 (%rdx,%rax,8)
cmpl $0x4, %ecx
ja 0x8d01
movl %ecx, %eax
leaq 0x261f(%rip), %rcx      # 0xb07c
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movb 0x2a0617(%r13), %al
leal 0x1(%rax), %ecx
movb %cl, 0x2a0617(%r13)
movb %r12b, 0x2a0616(%r13)
incw 0x2a0610(%r13)
xorl %edx, %edx
cmpb $0x2, %cl
sete %dl
cmpb $0x1, %al
sbbw $0x0, %dx
negl %edx
addw %dx, 0x2a0614(%r13)
cmpb $-0x5, %cl
jb 0x8b5c
movl $0x0, 0x2a0610(%r13)
movw $0x0, 0x2a0614(%r13)
xorl %edx, %edx
xorl %ecx, %ecx
xorl %eax, %eax
movslq %edx, %rsi
movq 0x38(%rsp), %r9
movb 0x1(%r9,%rsi,2), %dil
movl %edi, %r8d
shrb %r8b
movslq %ecx, %rdx
movb %r8b, 0x1(%r9,%rdx,2)
cmpb $0x2, %dil
jae 0x8ae7
incl %eax
jmp 0x8b2a
movb 0x2a0616(%r13,%rsi,2), %cl
movb %cl, 0x2a0616(%r13,%rdx,2)
incw 0x2a0612(%r13)
movzbl 0x2a0617(%r13,%rdx,2), %ecx
addw %cx, 0x2a0610(%r13)
xorl %ecx, %ecx
cmpb $0x1, 0x2a0617(%r13,%rdx,2)
sete %cl
addw %cx, 0x2a0614(%r13)
incl %edx
movl %edx, %ecx
leal (%rcx,%rax), %edx
cmpl $0x100, %edx            # imm = 0x100
jl 0x8ac2
movzwl 0x2a0612(%r13), %eax
addl %eax, %eax
movq 0x38(%rsp), %rcx
leaq (%rcx,%rax), %rdi
movl $0x200, %edx            # imm = 0x200
subq %rax, %rdx
xorl %esi, %esi
callq 0x10e0
movq 0x20(%rsp), %r9
movzbl (%r13), %eax
imulq $0x206, %rax, %rcx      # imm = 0x206
movq 0x50(%rsp), %rdi
movb 0x7(%rdi,%rcx), %al
leal 0x1(%rax), %edx
movb %dl, 0x7(%rdi,%rcx)
movb %r12b, 0x6(%rdi,%rcx)
incw (%rdi,%rcx)
xorl %esi, %esi
cmpb $0x2, %dl
sete %sil
cmpb $0x1, %al
sbbw $0x0, %si
negl %esi
addw %si, 0x4(%rdi,%rcx)
cmpb $-0x5, %dl
jb 0x8c32
movq 0x50(%rsp), %rdx
leaq (%rdx,%rcx), %rax
leaq (%rdx,%rcx), %rdi
addq $0x6, %rdi
movl $0x0, (%rax)
movw $0x0, 0x4(%rax)
xorl %esi, %esi
xorl %edx, %edx
xorl %ecx, %ecx
movslq %esi, %r8
movb 0x1(%rdi,%r8,2), %r9b
movl %r9d, %r10d
shrb %r10b
movslq %edx, %rsi
movb %r10b, 0x1(%rdi,%rsi,2)
cmpb $0x2, %r9b
jae 0x8be3
incl %ecx
jmp 0x8c0a
movb 0x6(%rax,%r8,2), %dl
movb %dl, 0x6(%rax,%rsi,2)
incw 0x2(%rax)
movzbl 0x7(%rax,%rsi,2), %edx
addw %dx, (%rax)
xorl %edx, %edx
cmpb $0x1, 0x7(%rax,%rsi,2)
sete %dl
addw %dx, 0x4(%rax)
incl %esi
movl %esi, %edx
leal (%rdx,%rcx), %esi
cmpl $0x100, %esi            # imm = 0x100
jl 0x8bc3
movzwl 0x2(%rax), %eax
addl %eax, %eax
addq %rax, %rdi
movl $0x200, %edx            # imm = 0x200
subq %rax, %rdx
xorl %esi, %esi
callq 0x10e0
movq 0x20(%rsp), %r9
movzwl (%r13), %eax
movq 0x200010(%r13,%rax,8), %rax
movb 0x7(%rax), %cl
leal 0x1(%rcx), %edx
movb %dl, 0x7(%rax)
movb %r12b, 0x6(%rax)
incw (%rax)
xorl %esi, %esi
cmpb $0x2, %dl
sete %sil
cmpb $0x1, %cl
sbbw $0x0, %si
negl %esi
addw %si, 0x4(%rax)
cmpb $-0x5, %dl
jb 0x8cf3
leaq 0x6(%rax), %rdi
movl $0x0, (%rax)
movw $0x0, 0x4(%rax)
xorl %esi, %esi
xorl %edx, %edx
xorl %ecx, %ecx
movslq %esi, %r8
movb 0x1(%rdi,%r8,2), %r9b
movl %r9d, %r10d
shrb %r10b
movslq %edx, %rsi
movb %r10b, 0x1(%rdi,%rsi,2)
cmpb $0x2, %r9b
jae 0x8ca4
incl %ecx
jmp 0x8ccb
movb 0x6(%rax,%r8,2), %dl
movb %dl, 0x6(%rax,%rsi,2)
incw 0x2(%rax)
movzbl 0x7(%rax,%rsi,2), %edx
addw %dx, (%rax)
xorl %edx, %edx
cmpb $0x1, 0x7(%rax,%rsi,2)
sete %dl
addw %dx, 0x4(%rax)
incl %esi
movl %esi, %edx
leal (%rdx,%rcx), %esi
cmpl $0x100, %esi            # imm = 0x100
jl 0x8c84
movzwl 0x2(%rax), %eax
addl %eax, %eax
addq %rax, %rdi
movl $0x200, %edx            # imm = 0x200
subq %rax, %rdx
xorl %esi, %esi
callq 0x10e0
movq 0x20(%rsp), %r9
movq %r13, %rdi
movq %r9, %rsi
movl %r14d, %edx
callq 0x6b82
movq 0x40(%rsp), %rax
cmpl %eax, 0x5c(%rsp)
setb 0x2a0829(%r13)
testb %r12b, %r12b
je 0x8e39
movl %r12d, %r15d
movq 0x80(%rsp), %rax
movq (%rax), %rcx
movl 0x8(%rax), %edx
movl -0x4(%rcx,%rdx), %eax
movq -0x8(%rcx,%rdx), %rsi
movq %rsi, %rdi
shrq $0x16, %rdi
movq %rsi, %r8
shrq $0x2c, %r8
xorl %r8d, %edi
xorl %edi, %esi
andl $0xfffff, %esi          # imm = 0xFFFFF
movq 0xa0(%rsp), %rdi
movq (%rdi,%rsi,8), %r12
movq %r12, %rsi
shrq $0x20, %rsi
cmpl %eax, %esi
sete %sil
testl %r12d, %r12d
setne %dil
testb %dil, %sil
jne 0x8db9
movzwl -0x2(%rcx,%rdx), %ecx
movq 0x90(%rsp), %rdx
movl (%rdx,%rcx,4), %ecx
movl %eax, %edx
shrl $0x6, %edx
movl %eax, %esi
shrl $0xc, %esi
xorl %edx, %esi
xorl %eax, %esi
andl $0xfffff, %esi          # imm = 0xFFFFF
movq 0x98(%rsp), %rdx
movq (%rdx,%rsi,8), %rdx
movq %rdx, %rsi
shrq $0x20, %rsi
testl %edx, %edx
movl %ecx, %r12d
cmovnel %edx, %r12d
cmpl %eax, %esi
cmovnel %ecx, %r12d
cmpl $0x1, %r14d
adcl $0x0, %r14d
movq 0x80(%rsp), %rsi
movq (%rsi), %rdi
movl %r12d, %eax
movb (%rdi,%rax), %r13b
movl 0x8(%rsi), %eax
cmpl 0xc(%rsi), %eax
jne 0x8e0f
movl %eax, %eax
xorps %xmm0, %xmm0
cvtsi2sd %rax, %xmm0
mulsd 0x221b(%rip), %xmm0     # 0xb008
addsd 0x221b(%rip), %xmm0     # 0xb010
cvttsd2si %xmm0, %rax
movl %eax, 0xc(%rsi)
movl %eax, %esi
callq 0x11c0
movq 0x80(%rsp), %rsi
movq %rax, (%rsi)
movq (%rsi), %rax
movl 0x8(%rsi), %ecx
leal 0x1(%rcx), %edx
movl %edx, 0x8(%rsi)
movb %r13b, (%rax,%rcx)
incl %r12d
decq %r14
jne 0x8dc9
movq 0x48(%rsp), %r13
movb $0x0, 0x2a0829(%r13)
movl %r15d, %r14d
jmp 0x8e93
movq 0x80(%rsp), %rsi
movl 0x8(%rsi), %eax
cmpl 0xc(%rsi), %eax
jne 0x8e7d
movl %eax, %eax
cvtsi2sd %rax, %xmm0
mulsd 0x21b0(%rip), %xmm0     # 0xb008
addsd 0x21b0(%rip), %xmm0     # 0xb010
cvttsd2si %xmm0, %rax
movl %eax, 0xc(%rsi)
movq (%rsi), %rdi
movl %eax, %esi
callq 0x11c0
movq 0x80(%rsp), %rsi
movq %rax, (%rsi)
movq (%rsi), %rax
movl 0x8(%rsi), %ecx
leal 0x1(%rcx), %edx
movl %edx, 0x8(%rsi)
movb 0x2b(%rsp), %dl
movb %dl, (%rax,%rcx)
movb $0x1, %r14b
movq (%rsi), %rax
movl 0x8(%rsi), %ebx
movl (%r13), %edx
movzbl %r14b, %esi
movl %ebx, %edi
subl %esi, %edi
movl %edi, %esi
cmpl $0xc, %edi
jb 0x8f70
movl -0x4(%rax,%rsi), %r8d
movl %r8d, %r9d
shrl $0x6, %r9d
movl %r8d, %r10d
shrl $0xc, %r10d
xorl %r9d, %r10d
xorl %r8d, %r10d
shlq $0x20, %r8
orq %rsi, %r8
movq -0x8(%rax,%rsi), %r9
movq %r9, %r11
shrq $0x16, %r11
movq %r9, %r12
shrq $0x2c, %r12
xorl %r12d, %r11d
xorl %r11d, %r9d
movq %r13, %r15
movl $0xfffff, %r13d         # imm = 0xFFFFF
andl %r13d, %r9d
movq 0xa0(%rsp), %r11
movq %r8, (%r11,%r9,8)
andl %r13d, %r10d
movq 0x98(%rsp), %r12
movq %r8, (%r12,%r10,8)
movzwl -0x2(%rax,%rsi), %r8d
movq 0x90(%rsp), %r10
movl %edi, (%r10,%r8,4)
movq -0x7(%rax,%rsi), %rdi
movq %rdi, %r8
shrq $0x16, %r8
movq %rdi, %r9
shrq $0x2c, %r9
xorl %r9d, %r8d
xorl %r8d, %edi
andl %r13d, %edi
prefetcht0 (%r11,%rdi,8)
movl -0x3(%rax,%rsi), %edi
movl %edi, %r8d
shrl $0x6, %r8d
movl %edi, %r9d
shrl $0xc, %r9d
xorl %r8d, %r9d
xorl %edi, %r9d
andl %r13d, %r9d
movq %r15, %r13
prefetcht0 (%r12,%r9,8)
movzwl -0x1(%rax,%rsi), %edi
prefetcht0 (%r10,%rdi,4)
shll $0x8, %edx
movl %edx, (%r13)
movzbl (%rax,%rsi), %esi
orl %esi, %edx
movl %edx, (%r13)
decb %r14b
jne 0x8e9d
movq 0x80(%rsp), %r14
movl 0xac(%rsp), %eax
cmpl %eax, 0x8(%r14)
movq 0x18(%rsp), %rdx
jb 0x6da4
movq 0xa0(%rsp), %rdi
callq 0x1030
movq 0x98(%rsp), %rdi
callq 0x1030
movq 0x90(%rsp), %rdi
callq 0x1030
xorl %eax, %eax
addq $0xc8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
nop