// File: /workspace/github_c_makefile_star2_O3/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 $0x108, %rsp            # imm = 0x108
movq %rdx, %r13
movq %rsi, %r14
movq %rdi, %r12
movq (%rdi), %rbx
movl (%rbx), %ebp
bswapl %ebp
movb 0x4(%rbx), %al
movb %al, 0x27(%rsp)
movl $0x100000, %edi         # imm = 0x100000
movl $0x8, %esi
callq 0x1120
movq %rax, 0xc0(%rsp)
movl $0x100000, %edi         # imm = 0x100000
movl $0x8, %esi
callq 0x1120
movq %rax, 0xb8(%rsp)
movl $0x10000, %edi          # imm = 0x10000
movl $0x4, %esi
callq 0x1120
movq %rax, 0xb0(%rsp)
movq %r14, 0xa0(%rsp)
movl %ebp, 0xcc(%rsp)
cmpl %ebp, 0x8(%r14)
jae 0x9716
movl 0x5(%rbx), %eax
bswapl %eax
movl %eax, 0x8(%rsp)
leaq 0x280010(%r13), %rax
movq %rax, 0x50(%rsp)
leaq 0x2a0616(%r13), %rax
movq %rax, 0x98(%rsp)
leaq 0x10(%r13), %rax
movq %rax, 0x58(%rsp)
leaq 0x280017(%r13), %rax
movq %rax, 0xe8(%rsp)
leaq 0x280016(%r13), %rax
movq %rax, 0xe0(%rsp)
leaq 0x280019(%r13), %rax
movq %rax, 0xd8(%rsp)
leaq 0x2a0619(%r13), %rax
movq %rax, 0xd0(%rsp)
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
movl $0x9, %eax
pshufd $0xf5, 0x3d01(%rip), %xmm0 # xmm0 = mem[1,1,3,3]
movdqa %xmm0, 0xf0(%rsp)
movl $0x0, 0xac(%rsp)
movl %ecx, 0xc(%rsp)
movq $0x0, (%rsp)
movq %r13, 0x88(%rsp)
movq %r12, 0x28(%rsp)
movl 0x8(%r12), %ecx
imulq $0x51eb851f, %rcx, %rcx # imm = 0x51EB851F
shrq $0x25, %rcx
incl %ecx
movq %rax, 0x18(%rsp)
xorl %edx, %edx
divl %ecx
cmpl %eax, 0xac(%rsp)
jb 0x7c8a
movq %r13, %rdi
callq 0x6d8b
pxor %xmm0, %xmm0
movdqa %xmm0, 0x70(%rsp)
movdqa %xmm0, 0x60(%rsp)
movzwl (%r13), %r15d
cmpq $0x0, 0x200010(%r13,%r15,8)
movq %rax, 0x10(%rsp)
jne 0x749e
movq 0x2a0818(%r13), %r12
movq 0x8(%r12), %rdi
testq %rdi, %rdi
jne 0x7479
movl $0x81808, %edi          # imm = 0x81808
callq 0x1180
movq %rax, %rdi
movq (%r12), %rax
movq %rax, (%rdi)
movq $0x0, 0x8(%rdi)
leaq 0x20e(%rdi), %rax
xorl %ecx, %ecx
movq %rcx, %xmm0
pshufd $0x44, %xmm0, %xmm0     # xmm0 = xmm0[0,1,0,1]
por 0x3c0f(%rip), %xmm0     # 0xb020
pxor 0x3c17(%rip), %xmm0     # 0xb030
movdqa 0x3c1f(%rip), %xmm1     # 0xb040
pcmpgtd %xmm0, %xmm1
pshufd $0xf5, %xmm0, %xmm0     # xmm0 = xmm0[1,1,3,3]
pcmpeqd 0xf0(%rsp), %xmm0
pand %xmm1, %xmm0
movd %xmm0, %edx
testb $0x1, %dl
je 0x744a
leaq -0x206(%rax), %rdx
movq %rdx, (%rax)
pextrw $0x4, %xmm0, %edx
testb $0x1, %dl
je 0x745b
movq %rax, 0x206(%rax)
addq $0x2, %rcx
addq $0x40c, %rax            # imm = 0x40C
cmpq $0x400, %rcx            # imm = 0x400
jne 0x73ff
movq %rdi, (%r12)
addq $0x81602, %rdi          # imm = 0x81602
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 0x10(%rsp), %rax
movq %r13, %rdi
movq %rax, %rsi
callq 0x6f86
movq %rax, %rcx
movzwl (%rax), %r10d
movzwl 0x2(%rax), %edi
leal (%rdi,%r10), %r8d
movl 0x8(%rsp), %esi
subl (%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, 0x38(%rsp)
cmpl %r10d, %eax
movq %r10, 0x90(%rsp)
jae 0x7588
imull %r10d, %ebp
movq 0x18(%rsp), %r15
movslq %r15d, %r15
movq 0x28(%rsp), %r12
movq 0x10(%rsp), %rsi
movq (%rsp), %rdx
leal (%rdx,%rbp), %eax
xorl %edx, %eax
cmpl $0x1000000, %eax        # imm = 0x1000000
jb 0x7526
cmpl $0xffff, %ebp           # imm = 0xFFFF
ja 0x754f
movq (%rsp), %rax
negl %eax
movzwl %ax, %ebp
movq (%r12), %rax
movzbl (%rax,%r15), %eax
incq %r15
movl 0x8(%rsp), %edx
shll $0x8, %edx
orl %eax, %edx
movl %edx, 0x8(%rsp)
shll $0x8, %ebp
movq (%rsp), %rax
shll $0x8, %eax
movq %rax, (%rsp)
jmp 0x7505
leal 0x23(%r10), %eax
movw %ax, (%rcx)
movzwl %ax, %edx
cmpl $0x3e81, %edx           # imm = 0x3E81
jb 0x7576
movd %eax, %xmm0
pinsrw $0x1, %edi, %xmm0
pavgw 0x3b4e(%rip), %xmm0     # 0xb0c0
movd %xmm0, (%rcx)
cmpb $0x1, 0xe(%rsi)
jne 0x773e
movb 0x10(%rsi), %dl
jmp 0x768d
movq 0x18(%rsp), %r15
movslq %r15d, %r15
movl %ebp, %eax
imull %r10d, %eax
addl (%rsp), %eax
imull %edi, %ebp
movq %rax, (%rsp)
movq 0x28(%rsp), %r12
movq 0x10(%rsp), %r8
movq (%rsp), %rdx
leal (%rdx,%rbp), %eax
xorl %edx, %eax
cmpl $0x1000000, %eax        # imm = 0x1000000
jb 0x75cb
cmpl $0xffff, %ebp           # imm = 0xFFFF
ja 0x75f4
movq (%rsp), %rax
negl %eax
movzwl %ax, %ebp
movq (%r12), %rax
movzbl (%rax,%r15), %eax
incq %r15
movl 0x8(%rsp), %edx
shll $0x8, %edx
orl %eax, %edx
movl %edx, 0x8(%rsp)
shll $0x8, %ebp
movq (%rsp), %rax
shll $0x8, %eax
movq %rax, (%rsp)
jmp 0x75aa
addl $0x23, %edi
movw %di, 0x2(%rcx)
movzwl %di, %eax
cmpl $0x3e81, %eax           # imm = 0x3E81
jb 0x7616
leal 0x1(%r10), %edx
shrl %edx
movw %dx, (%rcx)
incl %eax
shrl %eax
movw %ax, 0x2(%rcx)
movzbl 0xe(%r8), %eax
testq %rax, %rax
je 0x7657
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 0x7622
cmpl $0x42, %eax
jne 0x7657
movzbl 0x93(%r8), %eax
subw %ax, 0xc(%r8)
movl $0x82, %edx
jmp 0x7668
incb %al
movb %al, 0xe(%r8)
movzbl %al, %eax
leaq -0x2(,%rax,2), %rdx
leaq 0x10(%r8), %rsi
movq %r8, %rdi
addq $0x12, %rdi
callq 0x11e0
movq 0x10(%rsp), %rsi
movb $0x0, 0x11(%rsi)
movl 0xc(%rsp), %edx
movq 0x90(%rsp), %r10
movl (%r13), %eax
cmpl %r10d, 0x38(%rsp)
movq %r15, 0x18(%rsp)
jae 0x76c2
shll $0x8, %eax
movzbl %dl, %ebx
movl %eax, %ecx
shrl $0xe, %ecx
andl $0x3ff00, %eax          # imm = 0x3FF00
orl %ebx, %eax
xorl %ecx, %eax
movq 0x58(%rsp), %rcx
prefetcht0 (%rcx,%rax,8)
movl %edx, %r15d
jmp 0x83cd
movzwl %ax, %eax
movq 0x200010(%r13,%rax,8), %r9
movzbl 0x6(%r9), %ecx
movl $0x1, %eax
shll %cl, %eax
movzwl 0x2(%r9), %r10d
testq %r10, %r10
movl %edx, 0xc(%rsp)
je 0x77c9
xorl %edx, %edx
xorl %r8d, %r8d
movdqa 0x3997(%rip), %xmm8     # 0xb090
pcmpeqd %xmm9, %xmm9
movdqa 0x3999(%rip), %xmm10    # 0xb0a0
movdqa 0x3970(%rip), %xmm11    # 0xb080
movzbl 0x6(%r9,%rdx,2), %esi
movl %esi, %edi
shrl $0x5, %edi
movl 0x60(%rsp,%rdi,4), %edi
btl %esi, %edi
jae 0x7728
xorl %esi, %esi
jmp 0x772e
movzbl 0x7(%r9,%rdx,2), %esi
addl %esi, %r8d
incq %rdx
cmpq %rdx, %r10
jne 0x7710
jmp 0x77ec
movq %r15, 0x18(%rsp)
movb 0x11(%rsi), %r15b
movzbl %r15b, %r12d
leal 0x6(%r12), %edi
shrl %edi
movzwl 0xc(%rsi), %eax
addw %di, %ax
movl 0x8(%rsp), %ecx
subl (%rsp), %ecx
movzwl %ax, %esi
xorl %r8d, %r8d
movl %ebp, %eax
xorl %edx, %edx
divl %esi
movl %eax, %ebx
movl %ecx, %eax
xorl %edx, %edx
divl %ebx
movzwl %ax, %eax
leal (%rdi,%r12), %ecx
cmpl %eax, %ecx
ja 0x77c1
movq 0x10(%rsp), %rdx
leaq 0x10(%rdx), %rsi
xorl %edx, %edx
xorl %r8d, %r8d
movzbl %r15b, %r9d
addl %r9d, %r8d
movzwl %r8w, %r13d
addl %edi, %r13d
movb 0x3(%rsi,%rdx), %r15b
movzbl %r15b, %r12d
leal (%r12,%r13), %r9d
addq $0x2, %rdx
cmpl %eax, %r9d
jbe 0x778d
cmpl %eax, %ecx
jbe 0x7931
movq 0x88(%rsp), %r13
addl %edi, %r12d
jmp 0x7962
xorl %r8d, %r8d
movdqa 0x38bb(%rip), %xmm8     # 0xb090
pcmpeqd %xmm9, %xmm9
movdqa 0x38bd(%rip), %xmm10    # 0xb0a0
movdqa 0x3894(%rip), %xmm11    # 0xb080
movl %ecx, 0x30(%rsp)
movl %ecx, %edx
shrl $0x5, %edx
andl 0x60(%rsp,%rdx,4), %eax
movb 0x7(%r9), %cl
movb %cl, 0x40(%rsp)
movzbl %cl, %r12d
movzwl 0x4(%r9), %esi
cmpw $0x1, %si
adcl $0x0, %esi
testl %eax, %eax
movl $0x0, %r11d
cmovel %r12d, %r11d
movl %esi, %r15d
movl $0xffff, %ecx           # imm = 0xFFFF
andl %ecx, %r15d
addl %r11d, %r8d
addl %esi, %r8d
movl 0x8(%rsp), %edi
subl (%rsp), %edi
andl %ecx, %r8d
movl %ebp, %eax
xorl %edx, %edx
divl %r8d
movl %eax, %ebx
movl %edi, %eax
xorl %edx, %edx
divl %ebx
subl %r15d, %r8d
andl %ecx, %eax
cmpl %eax, %r8d
jle 0x7864
leal (%r11,%r11), %esi
cmpl %eax, %esi
jbe 0x78cf
xorl %edx, %edx
movl 0x30(%rsp), %edi
jmp 0x7921
testq %r10, %r10
je 0x7887
xorl %edx, %edx
movzbl 0x6(%r9,%rdx,2), %ecx
movl $0x1, %edi
shll %cl, %edi
shrl $0x5, %ecx
orl %edi, 0x60(%rsp,%rcx,4)
incq %rdx
cmpq %rdx, %r10
jne 0x786b
addl %r10d, %r10d
movb 0x40(%rsp), %cl
movb %cl, 0x7(%r9,%r10)
movzwl (%r13), %ecx
movq 0x200010(%r13,%rcx,8), %rcx
movb 0x6(%rcx), %dl
movb %dl, 0x6(%rcx,%r10)
movzwl (%r13), %ecx
movq 0x200010(%r13,%rcx,8), %rcx
movb $0x0, 0x7(%rcx)
incw 0x2(%r9)
movl %r8d, %edx
movq 0x28(%rsp), %r12
movl 0xc(%rsp), %edi
jmp 0x7a2e
xorl %ecx, %ecx
movl %r11d, %edi
xorl %edx, %edx
movb 0x9(%r9,%rcx), %r10b
movzbl %r10b, %r12d
movzbl 0x8(%r9,%rcx), %ebp
movl %ebp, %r10d
shrl $0x5, %r10d
movl 0x60(%rsp,%r10,4), %r10d
movl %ebp, %r15d
btl %ebp, %r10d
movl %r12d, %r10d
jae 0x7900
xorl %r10d, %r10d
addl %edi, %edx
movzwl %dx, %ebp
addl %r11d, %ebp
addl %r10d, %ebp
addq $0x2, %rcx
movl %r10d, %edi
cmpl %eax, %ebp
jbe 0x78d6
cmpl %eax, %esi
jbe 0x79d4
movl %r15d, %edi
addl %r11d, %r12d
movl %r12d, %esi
movq 0x28(%rsp), %r12
jmp 0x7a2e
movq 0x10(%rsp), %rbp
movb 0x10(%rbp,%rdx), %r14b
movq %rbp, %rdi
addq $0x12, %rdi
callq 0x11e0
movq 0x90(%rsp), %r10
movb %r14b, 0x10(%rbp)
movb %r15b, 0x11(%rbp)
movl %r13d, %r8d
movq 0x88(%rsp), %r13
movzwl %r8w, %eax
imull %ebx, %eax
addl (%rsp), %eax
imull %ebx, %r12d
movl %r12d, %ebp
movq %rax, (%rsp)
movq 0x28(%rsp), %r12
movq 0x18(%rsp), %r15
movq 0x10(%rsp), %rsi
movq (%rsp), %rcx
leal (%rcx,%rbp), %eax
xorl %ecx, %eax
cmpl $0x1000000, %eax        # imm = 0x1000000
jb 0x79ab
cmpl $0xffff, %ebp           # imm = 0xFFFF
ja 0x7580
movq (%rsp), %rax
negl %eax
movzwl %ax, %ebp
movq (%r12), %rax
movzbl (%rax,%r15), %eax
incq %r15
movl 0x8(%rsp), %ecx
shll $0x8, %ecx
orl %eax, %ecx
movl %ecx, 0x8(%rsp)
shll $0x8, %ebp
movq (%rsp), %rax
shll $0x8, %eax
movq %rax, (%rsp)
jmp 0x7986
movb 0x40(%rsp), %sil
movb %sil, 0x7(%r9,%rcx)
movzwl (%r13), %esi
movq 0x200010(%r13,%rsi,8), %rsi
movb %r12b, 0x7(%rsi)
movzwl (%r13), %esi
movq 0x200010(%r13,%rsi,8), %rsi
movb 0x6(%rsi,%rcx), %dil
movb 0x6(%rsi), %r9b
movb %r9b, 0x6(%rsi,%rcx)
movzwl (%r13), %ecx
movq 0x200010(%r13,%rcx,8), %rcx
movb %dil, 0x6(%rcx)
movzwl %r11w, %ecx
addl %edx, %ecx
movl %r12d, %esi
movl %ecx, %edx
movq 0x28(%rsp), %r12
movl %r15d, %edi
movzwl %dx, %ecx
imull %ebx, %ecx
addl (%rsp), %ecx
movzwl %si, %ebp
imull %ebx, %ebp
movq 0x18(%rsp), %rdx
movslq %edx, %rdx
movq %rcx, (%rsp)
movq (%rsp), %rsi
leal (%rsi,%rbp), %ecx
xorl %esi, %ecx
cmpl $0x1000000, %ecx        # imm = 0x1000000
jb 0x7a6b
cmpl $0xffff, %ebp           # imm = 0xFFFF
ja 0x7a8f
movq (%rsp), %rcx
negl %ecx
movzwl %cx, %ebp
movq (%r12), %rcx
movzbl (%rcx,%rdx), %ecx
incq %rdx
movl 0x8(%rsp), %esi
shll $0x8, %esi
orl %ecx, %esi
movl %esi, 0x8(%rsp)
shll $0x8, %ebp
movq (%rsp), %rcx
shll $0x8, %ecx
jmp 0x7a45
movl (%r13), %ecx
cmpl %eax, %r8d
movq %rdx, 0x18(%rsp)
jle 0x7ac2
movl %ecx, %eax
shll $0x8, %eax
movzbl %dil, %ebx
movl %eax, %edx
shrl $0xe, %edx
andl $0x3ff00, %eax          # imm = 0x3FF00
orl %ebx, %eax
xorl %edx, %eax
movq 0x58(%rsp), %rdx
prefetcht0 (%rdx,%rax,8)
jmp 0x8306
movzbl %cl, %eax
imulq $0x206, %rax, %rbx      # imm = 0x206
movq 0x50(%rsp), %r11
movzbl 0x6(%r11,%rbx), %r9d
movl $0x1, %eax
movl %r9d, %ecx
shll %cl, %eax
movzwl 0x2(%r11,%rbx), %r10d
testq %r10, %r10
movl %edi, 0xc(%rsp)
je 0x7b28
movq 0xe8(%rsp), %rcx
addq %rbx, %rcx
xorl %edx, %edx
xorl %r8d, %r8d
movzbl -0x1(%rcx,%rdx,2), %esi
movl %esi, %edi
shrl $0x5, %edi
movl 0x60(%rsp,%rdi,4), %edi
btl %esi, %edi
jae 0x7b17
xorl %esi, %esi
jmp 0x7b1b
movzbl (%rcx,%rdx,2), %esi
addl %esi, %r8d
incq %rdx
cmpq %rdx, %r10
jne 0x7b00
jmp 0x7b2b
xorl %r8d, %r8d
leaq (%r11,%rbx), %r14
movl %r9d, 0x40(%rsp)
movl %r9d, %ecx
shrl $0x5, %ecx
andl 0x60(%rsp,%rcx,4), %eax
movb 0x7(%r11,%rbx), %cl
movb %cl, 0x30(%rsp)
movzbl %cl, %r11d
movzwl 0x4(%r14), %esi
cmpw $0x1, %si
adcl $0x0, %esi
testl %eax, %eax
movl $0x0, %r12d
cmovel %r11d, %r12d
movl %esi, %r15d
movl $0xffff, %edi           # imm = 0xFFFF
andl %edi, %r15d
addl %r12d, %r8d
addl %esi, %r8d
movl 0x8(%rsp), %ecx
subl (%rsp), %ecx
andl %edi, %r8d
movl %ebp, %eax
xorl %edx, %edx
divl %r8d
movl %eax, %r9d
subl %r15d, %r8d
movl %ecx, %eax
xorl %edx, %edx
divl %r9d
andl %edi, %eax
cmpl %eax, %r8d
jle 0x7bac
leal (%r12,%r12), %edi
cmpl %eax, %edi
jbe 0x7c11
xorl %ecx, %ecx
movl 0x40(%rsp), %edi
jmp 0x7c7d
testq %r10, %r10
je 0x7bdb
movq 0xe0(%rsp), %rcx
leaq (%rcx,%rbx), %rdx
xorl %r11d, %r11d
movzbl (%rdx,%r11,2), %ecx
movl $0x1, %ebp
shll %cl, %ebp
shrl $0x5, %ecx
orl %ebp, 0x60(%rsp,%rcx,4)
incq %r11
cmpq %r11, %r10
jne 0x7bc0
movb 0x30(%rsp), %cl
movb %cl, 0x7(%r14,%r10,2)
movl 0x40(%rsp), %ecx
movb %cl, 0x6(%r14,%r10,2)
movq 0x50(%rsp), %rcx
movb $0x0, 0x7(%rcx,%rbx)
leal 0x1(%r10), %ecx
movw %cx, 0x2(%r14)
movl %r8d, %ecx
movq 0x28(%rsp), %r12
movl 0xc(%rsp), %edi
jmp 0x7ce8
movl %r9d, 0xc(%rsp)
movq 0x50(%rsp), %rcx
leaq (%rcx,%rbx), %r14
addq $0x6, %r14
movq 0xd8(%rsp), %rcx
leaq (%rcx,%rbx), %rsi
xorl %ecx, %ecx
movl %r12d, %r10d
movb (%rsi), %r11b
movzbl %r11b, %r11d
movzbl -0x1(%rsi), %edx
movl %edx, %r15d
shrl $0x5, %r15d
movl 0x60(%rsp,%r15,4), %ebp
movl %edx, %r9d
btl %edx, %ebp
movl %r11d, %ebp
jae 0x7c58
xorl %ebp, %ebp
addl %r10d, %ecx
movzwl %cx, %r15d
addl %r12d, %r15d
addl %ebp, %r15d
addq $0x2, %rsi
movl %ebp, %r10d
cmpl %eax, %r15d
jbe 0x7c34
cmpl %eax, %edi
jbe 0x7cb5
movl %r9d, %edi
movl 0xc(%rsp), %r9d
addl %r12d, %r11d
movl %r11d, %esi
movq 0x28(%rsp), %r12
jmp 0x7ce8
movl %eax, %r12d
movq 0x6364(%rip), %rax      # 0xdff8
movq (%rax), %rdi
leaq 0x3432(%rip), %rsi      # 0xb0d0
movl %r12d, %edx
xorl %eax, %eax
callq 0x1140
movl %r12d, 0xac(%rsp)
jmp 0x7394
movb 0x30(%rsp), %dl
movb %dl, -0x2(%rsi)
movq 0x50(%rsp), %rdi
movb %r11b, 0x7(%rdi,%rbx)
movb (%r14), %dil
movb %dil, -0x3(%rsi)
movl %r9d, %edi
movb %dil, (%r14)
movzwl %r12w, %edx
addl %ecx, %edx
movl %r11d, %esi
movl %edx, %ecx
movq 0x28(%rsp), %r12
movl 0xc(%rsp), %r9d
movzwl %cx, %ecx
imull %r9d, %ecx
addl (%rsp), %ecx
movzwl %si, %ebp
imull %r9d, %ebp
movq %rcx, (%rsp)
movq 0x18(%rsp), %rdx
movq (%rsp), %rsi
leal (%rsi,%rbp), %ecx
xorl %esi, %ecx
cmpl $0x1000000, %ecx        # imm = 0x1000000
jb 0x7d24
cmpl $0xffff, %ebp           # imm = 0xFFFF
ja 0x7d4c
movq (%rsp), %rcx
negl %ecx
movzwl %cx, %ebp
movq (%r12), %rcx
movzbl (%rcx,%rdx), %ecx
incq %rdx
movl 0x8(%rsp), %esi
shll $0x8, %esi
orl %ecx, %esi
movl %esi, 0x8(%rsp)
shll $0x8, %ebp
movq (%rsp), %rcx
shll $0x8, %ecx
movq %rcx, (%rsp)
jmp 0x7d02
movq %rdx, 0x18(%rsp)
cmpl %eax, %r8d
jle 0x7d7f
movl (%r13), %ecx
movl %ecx, %eax
shll $0x8, %eax
movzbl %dil, %ebx
movl %eax, %edx
shrl $0xe, %edx
andl $0x3ff00, %eax          # imm = 0x3FF00
orl %ebx, %eax
xorl %edx, %eax
movq 0x58(%rsp), %rdx
prefetcht0 (%rdx,%rax,8)
jmp 0x822b
movzbl 0x2a0616(%r13), %ecx
movl $0x1, %eax
shll %cl, %eax
movzwl 0x2a0612(%r13), %r10d
testq %r10, %r10
movl %edi, 0xc(%rsp)
je 0x7dd5
xorl %esi, %esi
xorl %r9d, %r9d
movzbl 0x2a0616(%r13,%rsi,2), %edx
movl %edx, %edi
shrl $0x5, %edi
movl 0x60(%rsp,%rdi,4), %edi
btl %edx, %edi
jae 0x7dbf
xorl %edx, %edx
jmp 0x7dc8
movzbl 0x2a0617(%r13,%rsi,2), %edx
addl %edx, %r9d
incq %rsi
cmpq %rsi, %r10
jne 0x7da4
jmp 0x7dd8
xorl %r9d, %r9d
movl %ecx, 0x40(%rsp)
shrl $0x5, %ecx
andl 0x60(%rsp,%rcx,4), %eax
movb 0x2a0617(%r13), %cl
movq %rcx, %rbx
movzbl %cl, %r11d
movzwl 0x2a0614(%r13), %r8d
cmpw $0x1, %r8w
adcl $0x0, %r8d
testl %eax, %eax
movl $0x0, %r12d
cmovel %r11d, %r12d
movl %r8d, %r15d
movl $0xffff, %esi           # imm = 0xFFFF
andl %esi, %r15d
addl %r12d, %r9d
addl %r8d, %r9d
movl 0x8(%rsp), %ecx
subl (%rsp), %ecx
andl %esi, %r9d
movl %ebp, %eax
xorl %edx, %edx
divl %r9d
movl %eax, %edi
movl %ecx, %eax
xorl %edx, %edx
divl %edi
subl %r15d, %r9d
andl %esi, %eax
cmpl %eax, %r9d
jle 0x7e58
leal (%r12,%r12), %edx
xorl %ecx, %ecx
cmpl %eax, %edx
jbe 0x7eb8
movq %rbx, %r10
movl 0x40(%rsp), %edx
jmp 0x7f16
testq %r10, %r10
movq 0x98(%rsp), %r15
je 0x7e85
xorl %edx, %edx
movzbl (%r15,%rdx,2), %ecx
movl $0x1, %r11d
shll %cl, %r11d
shrl $0x5, %ecx
orl %r11d, 0x60(%rsp,%rcx,4)
incq %rdx
cmpq %rdx, %r10
jne 0x7e67
movb %bl, 0x2a0617(%r13,%r10,2)
movl 0x40(%rsp), %ecx
movb %cl, 0x2a0616(%r13,%r10,2)
movb $0x0, 0x2a0617(%r13)
leal 0x1(%r10), %ecx
movw %cx, 0x2a0612(%r13)
xorl %r10d, %r10d
movl %r9d, %ecx
jmp 0x7f53
movq 0xd0(%rsp), %r8
movl %r12d, %ebp
movb (%r8), %r10b
movzbl %r10b, %r11d
movzbl -0x1(%r8), %esi
movl %esi, %r15d
shrl $0x5, %r15d
movl 0x60(%rsp,%r15,4), %r15d
movl %esi, 0xc(%rsp)
btl %esi, %r15d
movl %r11d, %r15d
jae 0x7eeb
xorl %r15d, %r15d
addl %ebp, %ecx
movzwl %cx, %r13d
addl %r12d, %r13d
addl %r15d, %r13d
addq $0x2, %r8
movl %r15d, %ebp
cmpl %eax, %r13d
jbe 0x7ec3
cmpl %eax, %edx
jbe 0x7f22
movl 0xc(%rsp), %edx
movq 0x88(%rsp), %r13
movq %rbx, %r10
addl %r12d, %r11d
movl %edx, 0xc(%rsp)
movl %r11d, %r8d
jmp 0x7f53
movb %bl, -0x2(%r8)
movq 0x88(%rsp), %r13
movb %r11b, 0x2a0617(%r13)
movl 0x40(%rsp), %edx
movb %dl, -0x3(%r8)
movl 0xc(%rsp), %edx
movb %dl, 0x2a0616(%r13)
movzwl %r12w, %edx
addl %ecx, %edx
movl %r11d, %r8d
movl %edx, %ecx
movq 0x28(%rsp), %r12
movzwl %cx, %ecx
imull %edi, %ecx
addl (%rsp), %ecx
movzwl %r8w, %ebp
imull %edi, %ebp
movq %rcx, (%rsp)
movq 0x18(%rsp), %rsi
movl 0xc(%rsp), %edi
movq (%rsp), %rdx
leal (%rdx,%rbp), %ecx
xorl %edx, %ecx
cmpl $0x1000000, %ecx        # imm = 0x1000000
jb 0x7f97
cmpl $0xffff, %ebp           # imm = 0xFFFF
ja 0x7fbf
movq (%rsp), %rcx
negl %ecx
movzwl %cx, %ebp
movq (%r12), %rcx
movzbl (%rcx,%rsi), %ecx
incq %rsi
movl 0x8(%rsp), %edx
shll $0x8, %edx
orl %ecx, %edx
movl %edx, 0x8(%rsp)
shll $0x8, %ebp
movq (%rsp), %rcx
shll $0x8, %ecx
movq %rcx, (%rsp)
jmp 0x7f75
cmpl %eax, %r9d
jg 0x8106
movq %rsi, %r8
pxor %xmm0, %xmm0
xorl %eax, %eax
movdqa 0x3077(%rip), %xmm1     # 0xb050
movl %eax, %ecx
shrl $0x5, %ecx
movd 0x60(%rsp,%rcx,4), %xmm2
movdqa %xmm1, %xmm3
pand %xmm8, %xmm3
pxor %xmm9, %xmm2
pshufd $0x0, %xmm2, %xmm4      # xmm4 = xmm2[0,0,0,0]
pshufd $0xee, %xmm3, %xmm5     # xmm5 = xmm3[2,3,2,3]
pshuflw $0xfe, %xmm5, %xmm6     # xmm6 = xmm5[2,3,3,3,4,5,6,7]
movdqa %xmm4, %xmm7
psrld %xmm6, %xmm7
pshuflw $0x54, %xmm5, %xmm5     # xmm5 = xmm5[0,1,1,1,4,5,6,7]
movdqa %xmm4, %xmm6
psrld %xmm5, %xmm6
punpckhqdq %xmm7, %xmm6    # xmm6 = xmm6[1],xmm7[1]
pshuflw $0x54, %xmm3, %xmm5     # xmm5 = xmm3[0,1,1,1,4,5,6,7]
psrld %xmm5, %xmm2
pshuflw $0xfe, %xmm3, %xmm3     # xmm3 = xmm3[2,3,3,3,4,5,6,7]
psrld %xmm3, %xmm4
punpcklqdq %xmm4, %xmm2    # xmm2 = xmm2[0],xmm4[0]
shufps $0xcc, %xmm6, %xmm2     # xmm2 = xmm2[0,3],xmm6[0,3]
pshuflw $0xe8, %xmm2, %xmm2     # xmm2 = xmm2[0,2,2,3,4,5,6,7]
pshufhw $0xe8, %xmm2, %xmm2     # xmm2 = xmm2[0,1,2,3,4,6,6,7]
pshufd $0xe8, %xmm2, %xmm2     # xmm2 = xmm2[0,2,2,3]
pand %xmm10, %xmm2
paddw %xmm2, %xmm0
addl $0x4, %eax
paddd %xmm11, %xmm1
cmpl $0x100, %eax            # imm = 0x100
jne 0x7fd9
pshufd $0x55, %xmm0, %xmm1     # xmm1 = xmm0[1,1,1,1]
paddw %xmm0, %xmm1
movdqa %xmm1, %xmm0
psrld $0x10, %xmm0
paddw %xmm1, %xmm0
pextrw $0x0, %xmm0, %edi
movl 0x8(%rsp), %ecx
subl (%rsp), %ecx
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
movl %esi, %eax
movl %edi, %edx
shrl $0x5, %edx
movl 0x60(%rsp,%rdx,4), %edx
btl %edi, %edx
sbbl $-0x1, %esi
incl %edi
cmpl %ecx, %esi
jbe 0x8096
imull %ebp, %eax
addl (%rsp), %eax
movq %rax, (%rsp)
movq %r8, %rsi
movq (%rsp), %rcx
leal (%rcx,%rbp), %eax
xorl %ecx, %eax
cmpl $0x1000000, %eax        # imm = 0x1000000
jb 0x80db
cmpl $0xffff, %ebp           # imm = 0xFFFF
ja 0x8103
movq (%rsp), %rax
negl %eax
movzwl %ax, %ebp
movq (%r12), %rax
movzbl (%rax,%rsi), %eax
incq %rsi
movl 0x8(%rsp), %ecx
shll $0x8, %ecx
orl %eax, %ecx
movl %ecx, 0x8(%rsp)
shll $0x8, %ebp
movq (%rsp), %rax
shll $0x8, %eax
movq %rax, (%rsp)
jmp 0x80ba
decb %dil
movl (%r13), %ecx
movl %ecx, %eax
shll $0x8, %eax
movzbl %dil, %ebx
movl %eax, %edx
shrl $0xe, %edx
andl $0x3ff00, %eax          # imm = 0x3FF00
orl %ebx, %eax
xorl %edx, %eax
movq 0x58(%rsp), %rdx
prefetcht0 (%rdx,%rax,8)
leal 0x1(%r10), %eax
movb %al, 0x2a0617(%r13)
movb %bl, 0x2a0616(%r13)
incw 0x2a0610(%r13)
xorl %edx, %edx
cmpb $0x2, %al
sete %dl
cmpb $0x1, %r10b
sbbw $0x0, %dx
negl %edx
addw %dx, 0x2a0614(%r13)
cmpb $-0x5, %al
movq %rsi, 0x18(%rsp)
jb 0x822b
movl %edi, %r15d
movl $0x0, 0x2a0610(%r13)
movw $0x0, 0x2a0614(%r13)
xorl %edx, %edx
xorl %ecx, %ecx
xorl %eax, %eax
movslq %edx, %rsi
movq 0x98(%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 0x81b0
incl %eax
jmp 0x81f3
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 0x8188
movzwl 0x2a0612(%r13), %eax
addl %eax, %eax
movq 0x98(%rsp), %rcx
leaq (%rcx,%rax), %rdi
movl $0x200, %edx            # imm = 0x200
subq %rax, %rdx
xorl %esi, %esi
callq 0x10e0
movzwl (%r13), %ecx
movl %r15d, %edi
movzbl %cl, %eax
imulq $0x206, %rax, %rdx      # imm = 0x206
movq 0x50(%rsp), %r8
movb 0x7(%r8,%rdx), %al
leal 0x1(%rax), %esi
movb %sil, 0x7(%r8,%rdx)
movl %edi, %r15d
movb %dil, 0x6(%r8,%rdx)
incw (%r8,%rdx)
xorl %edi, %edi
cmpb $0x2, %sil
sete %dil
cmpb $0x1, %al
sbbw $0x0, %di
negl %edi
addw %di, 0x4(%r8,%rdx)
cmpb $-0x5, %sil
jb 0x8303
leaq (%r8,%rdx), %rax
leaq (%r8,%rdx), %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 0x82b4
incl %ecx
jmp 0x82db
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 0x8294
movzwl 0x2(%rax), %eax
addl %eax, %eax
addq %rax, %rdi
movl $0x200, %edx            # imm = 0x200
subq %rax, %rdx
xorl %esi, %esi
callq 0x10e0
movzwl (%r13), %ecx
movl %r15d, %edi
movq 0x10(%rsp), %rsi
movzwl %cx, %eax
movq 0x200010(%r13,%rax,8), %rax
movb 0x7(%rax), %cl
leal 0x1(%rcx), %edx
movb %dl, 0x7(%rax)
movl %edi, %r15d
movb %dil, 0x6(%rax)
incw (%rax)
xorl %edi, %edi
cmpb $0x2, %dl
sete %dil
cmpb $0x1, %cl
sbbw $0x0, %di
negl %edi
addw %di, 0x4(%rax)
cmpb $-0x5, %dl
jb 0x83cd
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 0x837e
incl %ecx
jmp 0x83a5
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 0x835e
movzwl 0x2(%rax), %eax
addl %eax, %eax
addq %rax, %rdi
movl $0x200, %edx            # imm = 0x200
subq %rax, %rdx
xorl %esi, %esi
callq 0x10e0
movq 0x10(%rsp), %rsi
movq %r13, %rdi
movl %ebx, %edx
callq 0x710b
movl 0x38(%rsp), %eax
cmpl 0x90(%rsp), %eax
setb 0x2a0829(%r13)
movl %r15d, 0xc(%rsp)
cmpb 0x27(%rsp), %r15b
jne 0x85c6
movl (%r13), %eax
shll $0x8, %eax
orl %ebx, %eax
movl %eax, (%r13)
movq %r13, %rdi
callq 0x6d8b
pxor %xmm0, %xmm0
movdqa %xmm0, 0x70(%rsp)
movdqa %xmm0, 0x60(%rsp)
movzwl (%r13), %r15d
cmpq $0x0, 0x200010(%r13,%r15,8)
movq %rax, 0x38(%rsp)
jne 0x8516
movq 0x2a0818(%r13), %r12
movq 0x8(%r12), %rdi
testq %rdi, %rdi
jne 0x84ec
movl $0x81808, %edi          # imm = 0x81808
callq 0x1180
movq %rax, %rdi
movq (%r12), %rax
movq %rax, (%rdi)
movq $0x0, 0x8(%rdi)
leaq 0x20e(%rdi), %rax
xorl %ecx, %ecx
movq %rcx, %xmm0
pshufd $0x44, %xmm0, %xmm0     # xmm0 = xmm0[0,1,0,1]
por 0x2b9c(%rip), %xmm0     # 0xb020
pxor 0x2ba4(%rip), %xmm0     # 0xb030
movdqa 0x2bac(%rip), %xmm1     # 0xb040
pcmpgtd %xmm0, %xmm1
pshufd $0xf5, %xmm0, %xmm0     # xmm0 = xmm0[1,1,3,3]
pcmpeqd 0xf0(%rsp), %xmm0
pand %xmm1, %xmm0
movd %xmm0, %edx
testb $0x1, %dl
je 0x84bd
leaq -0x206(%rax), %rdx
movq %rdx, (%rax)
pextrw $0x4, %xmm0, %edx
testb $0x1, %dl
je 0x84ce
movq %rax, 0x206(%rax)
addq $0x2, %rcx
addq $0x40c, %rax            # imm = 0x40C
cmpq $0x400, %rcx            # imm = 0x400
jne 0x8472
movq %rdi, (%r12)
addq $0x81602, %rdi          # imm = 0x81602
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 0x28(%rsp), %r12
movq 0x38(%rsp), %rax
movq %r13, %rdi
movq %rax, %rsi
callq 0x6f86
movq %rax, %rcx
movzwl (%rax), %r10d
movzwl 0x2(%rax), %edi
leal (%rdi,%r10), %r8d
movl 0x8(%rsp), %esi
subl (%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, 0x90(%rsp)
cmpl %r10d, %eax
movq %r10, 0x40(%rsp)
jae 0x8627
imull %r10d, %ebp
movq 0x18(%rsp), %r15
movslq %r15d, %r15
movq 0x38(%rsp), %rsi
movq (%rsp), %rdx
leal (%rdx,%rbp), %eax
xorl %edx, %eax
cmpl $0x1000000, %eax        # imm = 0x1000000
jb 0x859d
cmpl $0xffff, %ebp           # imm = 0xFFFF
ja 0x868e
movq (%rsp), %rax
negl %eax
movzwl %ax, %ebp
movq (%r12), %rax
movzbl (%rax,%r15), %eax
incq %r15
movl 0x8(%rsp), %edx
shll $0x8, %edx
orl %eax, %edx
movl %edx, 0x8(%rsp)
shll $0x8, %ebp
movq (%rsp), %rax
shll $0x8, %eax
movq %rax, (%rsp)
jmp 0x8578
movq 0xa0(%rsp), %rdi
movl 0x8(%rdi), %ecx
movq (%rdi), %rax
cmpl 0xc(%rdi), %ecx
jne 0x8613
movl %ecx, %ecx
xorps %xmm0, %xmm0
cvtsi2sd %rcx, %xmm0
mulsd 0x2a1d(%rip), %xmm0     # 0xb008
addsd 0x2a1d(%rip), %xmm0     # 0xb010
cvttsd2si %xmm0, %rcx
movl %ecx, 0xc(%rdi)
movl %ecx, %esi
movq %rax, %rdi
callq 0x11b0
movq 0xa0(%rsp), %rdi
movq %rax, (%rdi)
movl 0x8(%rdi), %ecx
leal 0x1(%rcx), %edx
movl %edx, 0x8(%rdi)
movl %ecx, %ecx
movl 0xc(%rsp), %edx
movb %dl, (%rax,%rcx)
jmp 0x9602
movl %ebp, %eax
imull %r10d, %eax
addl (%rsp), %eax
imull %edi, %ebp
movq 0x18(%rsp), %r15
movslq %r15d, %r15
movq %rax, (%rsp)
movq 0x38(%rsp), %r8
movq (%rsp), %rdx
leal (%rdx,%rbp), %eax
xorl %edx, %eax
cmpl $0x1000000, %eax        # imm = 0x1000000
jb 0x8665
cmpl $0xffff, %ebp           # imm = 0xFFFF
ja 0x86cb
movq (%rsp), %rax
negl %eax
movzwl %ax, %ebp
movq (%r12), %rax
movzbl (%rax,%r15), %eax
incq %r15
movl 0x8(%rsp), %edx
shll $0x8, %edx
orl %eax, %edx
movl %edx, 0x8(%rsp)
shll $0x8, %ebp
movq (%rsp), %rax
shll $0x8, %eax
movq %rax, (%rsp)
jmp 0x8644
leal 0x23(%r10), %eax
movw %ax, (%rcx)
movzwl %ax, %edx
cmpl $0x3e81, %edx           # imm = 0x3E81
jb 0x86b5
movd %eax, %xmm0
pinsrw $0x1, %edi, %xmm0
pavgw 0x2a0f(%rip), %xmm0     # 0xb0c0
movd %xmm0, (%rcx)
cmpb $0x1, 0xe(%rsi)
jne 0x8816
movb 0x10(%rsi), %al
movl %eax, 0x10(%rsp)
jmp 0x8763
addl $0x23, %edi
movw %di, 0x2(%rcx)
movzwl %di, %eax
cmpl $0x3e81, %eax           # imm = 0x3E81
jb 0x86ed
leal 0x1(%r10), %edx
shrl %edx
movw %dx, (%rcx)
incl %eax
shrl %eax
movw %ax, 0x2(%rcx)
movzbl 0xe(%r8), %eax
testq %rax, %rax
je 0x872e
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 0x86f9
cmpl $0x42, %eax
jne 0x872e
movzbl 0x93(%r8), %eax
subw %ax, 0xc(%r8)
movl $0x82, %edx
jmp 0x873f
incb %al
movb %al, 0xe(%r8)
movzbl %al, %eax
leaq -0x2(,%rax,2), %rdx
leaq 0x10(%r8), %rsi
movq %r8, %rdi
addq $0x12, %rdi
callq 0x11e0
movq 0x38(%rsp), %rsi
movb $0x0, 0x11(%rsi)
movb $0x1, %al
movl %eax, 0x10(%rsp)
movq 0x40(%rsp), %r10
movl (%r13), %eax
cmpl %r10d, 0x90(%rsp)
movq %r15, 0x18(%rsp)
jae 0x879e
shll $0x8, %eax
movl 0x10(%rsp), %r15d
movzbl %r15b, %ebx
movl %eax, %ecx
shrl $0xe, %ecx
andl $0x3ff00, %eax          # imm = 0x3FF00
orl %ebx, %eax
xorl %ecx, %eax
movq 0x58(%rsp), %rcx
prefetcht0 (%rcx,%rax,8)
jmp 0x945f
movzwl %ax, %eax
movq 0x200010(%r13,%rax,8), %r9
movzbl 0x6(%r9), %ecx
movl $0x1, %eax
shll %cl, %eax
movzwl 0x2(%r9), %r10d
testq %r10, %r10
movdqa 0x28ca(%rip), %xmm8     # 0xb090
pcmpeqd %xmm9, %xmm9
movdqa 0x28cc(%rip), %xmm10    # 0xb0a0
movdqa 0x28a3(%rip), %xmm11    # 0xb080
je 0x88a1
xorl %edx, %edx
xorl %r8d, %r8d
movzbl 0x6(%r9,%rdx,2), %esi
movl %esi, %edi
shrl $0x5, %edi
movl 0x60(%rsp,%rdi,4), %edi
btl %esi, %edi
jae 0x8800
xorl %esi, %esi
jmp 0x8806
movzbl 0x7(%r9,%rdx,2), %esi
addl %esi, %r8d
incq %rdx
cmpq %rdx, %r10
jne 0x87e8
jmp 0x88a4
movq %r15, 0x18(%rsp)
movb 0x11(%rsi), %r15b
movzbl %r15b, %r12d
leal 0x6(%r12), %edi
shrl %edi
movzwl 0xc(%rsi), %eax
addw %di, %ax
movl 0x8(%rsp), %ecx
subl (%rsp), %ecx
movzwl %ax, %esi
xorl %r8d, %r8d
movl %ebp, %eax
xorl %edx, %edx
divl %esi
movl %eax, %ebx
movl %ecx, %eax
xorl %edx, %edx
divl %ebx
movzwl %ax, %eax
leal (%rdi,%r12), %ecx
cmpl %eax, %ecx
ja 0x8899
movq 0x38(%rsp), %rdx
leaq 0x10(%rdx), %rsi
xorl %edx, %edx
xorl %r8d, %r8d
movzbl %r15b, %r9d
addl %r9d, %r8d
movzwl %r8w, %r13d
addl %edi, %r13d
movb 0x3(%rsi,%rdx), %r15b
movzbl %r15b, %r12d
leal (%r12,%r13), %r9d
addq $0x2, %rdx
cmpl %eax, %r9d
jbe 0x8865
cmpl %eax, %ecx
jbe 0x89fa
movq 0x88(%rsp), %r13
addl %edi, %r12d
jmp 0x8a28
xorl %r8d, %r8d
movl %ecx, 0x30(%rsp)
movl %ecx, %edx
shrl $0x5, %edx
andl 0x60(%rsp,%rdx,4), %eax
movb 0x7(%r9), %sil
movzbl %sil, %r11d
movzwl 0x4(%r9), %r14d
cmpw $0x1, %r14w
adcl $0x0, %r14d
testl %eax, %eax
movl $0x0, %ebx
cmovel %r11d, %ebx
movl %r14d, %r15d
movl $0xffff, %ecx           # imm = 0xFFFF
andl %ecx, %r15d
addl %ebx, %r8d
addl %r14d, %r8d
movl 0x8(%rsp), %edi
subl (%rsp), %edi
andl %ecx, %r8d
movl %ebp, %eax
xorl %edx, %edx
divl %r8d
movl %eax, %ebp
movl %edi, %eax
xorl %edx, %edx
divl %ebp
subl %r15d, %r8d
andl %ecx, %eax
cmpl %eax, %r8d
jle 0x8919
leal (%rbx,%rbx), %edi
cmpl %eax, %edi
jbe 0x897e
xorl %edx, %edx
movl 0x30(%rsp), %r15d
jmp 0x89ef
movl %esi, %edi
testq %r10, %r10
je 0x893e
xorl %edx, %edx
movzbl 0x6(%r9,%rdx,2), %ecx
movl $0x1, %esi
shll %cl, %esi
shrl $0x5, %ecx
orl %esi, 0x60(%rsp,%rcx,4)
incq %rdx
cmpq %rdx, %r10
jne 0x8922
addl %r10d, %r10d
movb %dil, 0x7(%r9,%r10)
movzwl (%r13), %ecx
movq 0x200010(%r13,%rcx,8), %rcx
movb 0x6(%rcx), %dl
movb %dl, 0x6(%rcx,%r10)
movzwl (%r13), %ecx
movq 0x200010(%r13,%rcx,8), %rcx
movb $0x0, 0x7(%rcx)
incw 0x2(%r9)
movl %r8d, %edx
movl 0x10(%rsp), %r15d
jmp 0x8af6
movl %eax, 0x10(%rsp)
movb %sil, 0x4c(%rsp)
movl %ebp, 0x30(%rsp)
xorl %ecx, %ecx
movq %rbx, %rax
movl %ebx, %r10d
xorl %edx, %edx
movb 0x9(%r9,%rcx), %r11b
movzbl %r11b, %r11d
movzbl 0x8(%r9,%rcx), %ebx
movl %ebx, %r15d
shrl $0x5, %r15d
movl 0x60(%rsp,%r15,4), %ebp
movl %ebx, %esi
btl %ebx, %ebp
movl %r11d, %ebp
jae 0x89bc
xorl %ebp, %ebp
addl %r10d, %edx
movzwl %dx, %r15d
addl %eax, %r15d
addl %ebp, %r15d
addq $0x2, %rcx
movl %ebp, %r10d
cmpl 0x10(%rsp), %r15d
jbe 0x8995
cmpl 0x10(%rsp), %edi
jbe 0x8a9a
movl %esi, %r15d
movl 0x30(%rsp), %ebp
movq %rax, %rbx
movl 0x10(%rsp), %eax
addl %ebx, %r11d
movl %r11d, %r14d
jmp 0x8af6
movq 0x38(%rsp), %rbp
movb 0x10(%rbp,%rdx), %r14b
movq %rbp, %rdi
addq $0x12, %rdi
callq 0x11e0
movq 0x40(%rsp), %r10
movb %r14b, 0x10(%rbp)
movb %r15b, 0x11(%rbp)
movl %r13d, %r8d
movq 0x88(%rsp), %r13
movzwl %r8w, %eax
imull %ebx, %eax
addl (%rsp), %eax
imull %ebx, %r12d
movl %r12d, %ebp
movq %rax, (%rsp)
movq 0x28(%rsp), %r12
movq 0x18(%rsp), %r15
movq 0x38(%rsp), %rsi
movq (%rsp), %rcx
leal (%rcx,%rbp), %eax
xorl %ecx, %eax
cmpl $0x1000000, %eax        # imm = 0x1000000
jb 0x8a71
cmpl $0xffff, %ebp           # imm = 0xFFFF
ja 0x86bf
movq (%rsp), %rax
negl %eax
movzwl %ax, %ebp
movq (%r12), %rax
movzbl (%rax,%r15), %eax
incq %r15
movl 0x8(%rsp), %ecx
shll $0x8, %ecx
orl %eax, %ecx
movl %ecx, 0x8(%rsp)
shll $0x8, %ebp
movq (%rsp), %rax
shll $0x8, %eax
movq %rax, (%rsp)
jmp 0x8a4c
movb 0x4c(%rsp), %dil
movb %dil, 0x7(%r9,%rcx)
movzwl (%r13), %edi
movq 0x200010(%r13,%rdi,8), %rdi
movb %r11b, 0x7(%rdi)
movzwl (%r13), %edi
movq 0x200010(%r13,%rdi,8), %rdi
movb 0x6(%rdi,%rcx), %r9b
movb 0x6(%rdi), %r10b
movb %r10b, 0x6(%rdi,%rcx)
movzwl (%r13), %ecx
movq 0x200010(%r13,%rcx,8), %rcx
movb %r9b, 0x6(%rcx)
movzwl %ax, %ecx
addl %edx, %ecx
movl %r11d, %r14d
movl %ecx, %edx
movl %esi, %r15d
movl 0x30(%rsp), %ebp
movl 0x10(%rsp), %eax
movzwl %dx, %ecx
imull %ebp, %ecx
addl (%rsp), %ecx
movl %ebp, %edx
movzwl %r14w, %ebp
imull %edx, %ebp
movq 0x18(%rsp), %rsi
movslq %esi, %rsi
movq %rcx, (%rsp)
movq (%rsp), %rdx
leal (%rdx,%rbp), %ecx
xorl %edx, %ecx
cmpl $0x1000000, %ecx        # imm = 0x1000000
jb 0x8b36
cmpl $0xffff, %ebp           # imm = 0xFFFF
ja 0x8b5a
movq (%rsp), %rcx
negl %ecx
movzwl %cx, %ebp
movq (%r12), %rcx
movzbl (%rcx,%rsi), %ecx
incq %rsi
movl 0x8(%rsp), %edx
shll $0x8, %edx
orl %ecx, %edx
movl %edx, 0x8(%rsp)
shll $0x8, %ebp
movq (%rsp), %rcx
shll $0x8, %ecx
jmp 0x8b10
movl (%r13), %ecx
cmpl %eax, %r8d
movq %rsi, 0x18(%rsp)
jle 0x8b8d
movl %ecx, %eax
shll $0x8, %eax
movzbl %r15b, %ebx
movl %eax, %edx
shrl $0xe, %edx
andl $0x3ff00, %eax          # imm = 0x3FF00
orl %ebx, %eax
xorl %edx, %eax
movq 0x58(%rsp), %rdx
prefetcht0 (%rdx,%rax,8)
jmp 0x939b
movzbl %cl, %eax
imulq $0x206, %rax, %rbx      # imm = 0x206
movq 0x50(%rsp), %rdx
movzbl 0x6(%rdx,%rbx), %r9d
movl $0x1, %eax
movl %r9d, %ecx
shll %cl, %eax
movzwl 0x2(%rdx,%rbx), %r10d
testq %r10, %r10
je 0x8bef
movq 0xe8(%rsp), %rcx
addq %rbx, %rcx
xorl %edx, %edx
xorl %r8d, %r8d
movzbl -0x1(%rcx,%rdx,2), %esi
movl %esi, %edi
shrl $0x5, %edi
movl 0x60(%rsp,%rdi,4), %edi
btl %esi, %edi
jae 0x8bde
xorl %esi, %esi
jmp 0x8be2
movzbl (%rcx,%rdx,2), %esi
addl %esi, %r8d
incq %rdx
cmpq %rdx, %r10
jne 0x8bc7
jmp 0x8bf2
xorl %r8d, %r8d
movl %r15d, 0x10(%rsp)
movq 0x50(%rsp), %rdx
leaq (%rdx,%rbx), %r14
movl %r9d, 0x30(%rsp)
movl %r9d, %ecx
shrl $0x5, %ecx
andl 0x60(%rsp,%rcx,4), %eax
movb 0x7(%rdx,%rbx), %cl
movb %cl, 0x4c(%rsp)
movzbl %cl, %esi
movzwl 0x4(%r14), %edi
cmpw $0x1, %di
adcl $0x0, %edi
testl %eax, %eax
movl $0x0, %r11d
cmovel %esi, %r11d
movl %edi, %r15d
movl $0xffff, %r9d           # imm = 0xFFFF
andl %r9d, %r15d
addl %r11d, %r8d
addl %edi, %r8d
movl 0x8(%rsp), %ecx
subl (%rsp), %ecx
andl %r9d, %r8d
movl %ebp, %eax
xorl %edx, %edx
divl %r8d
movl %eax, %ebp
subl %r15d, %r8d
movl %ecx, %eax
xorl %edx, %edx
divl %ebp
andl %r9d, %eax
cmpl %eax, %r8d
jle 0x8c7d
leal (%r11,%r11), %r10d
cmpl %eax, %r10d
jbe 0x8cdf
xorl %ecx, %ecx
movl 0x30(%rsp), %r15d
jmp 0x8d51
testq %r10, %r10
je 0x8cad
movq 0xe0(%rsp), %rcx
leaq (%rcx,%rbx), %rdx
xorl %esi, %esi
movzbl (%rdx,%rsi,2), %ecx
movl $0x1, %r11d
shll %cl, %r11d
shrl $0x5, %ecx
orl %r11d, 0x60(%rsp,%rcx,4)
incq %rsi
cmpq %rsi, %r10
jne 0x8c90
movb 0x4c(%rsp), %cl
movb %cl, 0x7(%r14,%r10,2)
movl 0x30(%rsp), %ecx
movb %cl, 0x6(%r14,%r10,2)
movq 0x50(%rsp), %rcx
movb $0x0, 0x7(%rcx,%rbx)
leal 0x1(%r10), %ecx
movw %cx, 0x2(%r14)
movl %r8d, %ecx
movl 0x10(%rsp), %r15d
jmp 0x8d87
movl %ebp, 0x10(%rsp)
movq 0x50(%rsp), %rcx
leaq (%rcx,%rbx), %r14
addq $0x6, %r14
movq 0xd8(%rsp), %rcx
leaq (%rcx,%rbx), %rdi
xorl %ecx, %ecx
movl %r11d, %ebp
movb (%rdi), %sil
movzbl %sil, %esi
movzbl -0x1(%rdi), %r9d
movl %r9d, %r15d
shrl $0x5, %r15d
movl 0x60(%rsp,%r15,4), %r15d
movl %r9d, %edx
btl %r9d, %r15d
movl %esi, %r15d
jae 0x8d28
xorl %r15d, %r15d
addl %ebp, %ecx
movzwl %cx, %r12d
addl %r11d, %r12d
addl %r15d, %r12d
addq $0x2, %rdi
movl %r15d, %ebp
cmpl %eax, %r12d
jbe 0x8d01
cmpl %eax, %r10d
movl 0x10(%rsp), %ebp
jbe 0x8d58
movl %edx, %r15d
movq 0x28(%rsp), %r12
addl %r11d, %esi
movl %esi, %edi
jmp 0x8d87
movb 0x4c(%rsp), %r9b
movb %r9b, -0x2(%rdi)
movq 0x50(%rsp), %r10
movb %sil, 0x7(%r10,%rbx)
movb (%r14), %r9b
movb %r9b, -0x3(%rdi)
movl %edx, %r15d
movb %r15b, (%r14)
movzwl %r11w, %edx
addl %ecx, %edx
movl %esi, %edi
movl %edx, %ecx
movq 0x28(%rsp), %r12
movzwl %cx, %ecx
imull %ebp, %ecx
addl (%rsp), %ecx
movl %ebp, %edx
movzwl %di, %ebp
imull %edx, %ebp
movq %rcx, (%rsp)
movq 0x18(%rsp), %rdx
movq (%rsp), %rsi
leal (%rsi,%rbp), %ecx
xorl %esi, %ecx
cmpl $0x1000000, %ecx        # imm = 0x1000000
jb 0x8dc3
cmpl $0xffff, %ebp           # imm = 0xFFFF
ja 0x8deb
movq (%rsp), %rcx
negl %ecx
movzwl %cx, %ebp
movq (%r12), %rcx
movzbl (%rcx,%rdx), %ecx
incq %rdx
movl 0x8(%rsp), %esi
shll $0x8, %esi
orl %ecx, %esi
movl %esi, 0x8(%rsp)
shll $0x8, %ebp
movq (%rsp), %rcx
shll $0x8, %ecx
movq %rcx, (%rsp)
jmp 0x8da1
cmpl %eax, %r8d
movq %rdx, 0x18(%rsp)
jle 0x8e1e
movl (%r13), %ecx
movl %ecx, %eax
shll $0x8, %eax
movzbl %r15b, %ebx
movl %eax, %edx
shrl $0xe, %edx
andl $0x3ff00, %eax          # imm = 0x3FF00
orl %ebx, %eax
xorl %edx, %eax
movq 0x58(%rsp), %rdx
prefetcht0 (%rdx,%rax,8)
jmp 0x92c6
movzbl 0x2a0616(%r13), %ebx
movl $0x1, %eax
movl %ebx, %ecx
shll %cl, %eax
movzwl 0x2a0612(%r13), %r10d
testq %r10, %r10
je 0x8e72
xorl %ecx, %ecx
xorl %r9d, %r9d
movzbl 0x2a0616(%r13,%rcx,2), %edx
movl %edx, %esi
shrl $0x5, %esi
movl 0x60(%rsp,%rsi,4), %esi
btl %edx, %esi
jae 0x8e5c
xorl %edx, %edx
jmp 0x8e65
movzbl 0x2a0617(%r13,%rcx,2), %edx
addl %edx, %r9d
incq %rcx
cmpq %rcx, %r10
jne 0x8e41
jmp 0x8e75
xorl %r9d, %r9d
movl %r15d, 0x10(%rsp)
movl %ebx, %ecx
shrl $0x5, %ecx
andl 0x60(%rsp,%rcx,4), %eax
movb 0x2a0617(%r13), %cl
movq %rcx, 0x30(%rsp)
movzbl %cl, %r11d
movzwl 0x2a0614(%r13), %esi
cmpw $0x1, %si
adcl $0x0, %esi
testl %eax, %eax
movl $0x0, %r8d
cmovel %r11d, %r8d
movl %esi, %r15d
movl $0xffff, %edi           # imm = 0xFFFF
andl %edi, %r15d
addl %r8d, %r9d
addl %esi, %r9d
movl 0x8(%rsp), %ecx
subl (%rsp), %ecx
andl %edi, %r9d
movl %ebp, %eax
xorl %edx, %edx
divl %r9d
movl %eax, %ebp
movl %ecx, %eax
xorl %edx, %edx
divl %ebp
subl %r15d, %r9d
andl %edi, %eax
cmpl %eax, %r9d
jle 0x8ef1
leal (%r8,%r8), %edx
cmpl %eax, %edx
jbe 0x8f57
xorl %ecx, %ecx
jmp 0x8fb8
testq %r10, %r10
movq 0x98(%rsp), %r11
je 0x8f1e
xorl %edx, %edx
movzbl (%r11,%rdx,2), %ecx
movl $0x1, %r8d
shll %cl, %r8d
shrl $0x5, %ecx
orl %r8d, 0x60(%rsp,%rcx,4)
incq %rdx
cmpq %rdx, %r10
jne 0x8f00
movq 0x30(%rsp), %rcx
movb %cl, 0x2a0617(%r13,%r10,2)
movb %bl, 0x2a0616(%r13,%r10,2)
movb $0x0, 0x2a0617(%r13)
leal 0x1(%r10), %ecx
movw %cx, 0x2a0612(%r13)
xorl %r10d, %r10d
movl %r9d, %ecx
movl 0x10(%rsp), %r15d
jmp 0x8ff8
movl %ebp, 0x10(%rsp)
movl %ebx, 0x4c(%rsp)
xorl %ecx, %ecx
movq 0xd0(%rsp), %rsi
movl %r8d, %ebp
movb (%rsi), %r10b
movzbl %r10b, %r11d
movzbl -0x1(%rsi), %ebx
movl %ebx, %r15d
shrl $0x5, %r15d
movl 0x60(%rsp,%r15,4), %r15d
movl %ebx, %edi
btl %ebx, %r15d
movl %r11d, %r15d
jae 0x8f91
xorl %r15d, %r15d
addl %ebp, %ecx
movzwl %cx, %r12d
addl %r8d, %r12d
addl %r15d, %r12d
addq $0x2, %rsi
movl %r15d, %ebp
cmpl %eax, %r12d
jbe 0x8f6c
cmpl %eax, %edx
movl 0x10(%rsp), %ebp
jbe 0x8fc8
movl %edi, %ebx
movq 0x28(%rsp), %r12
movq 0x30(%rsp), %r10
addl %r8d, %r11d
movl %ebx, %r15d
movl %r11d, %esi
jmp 0x8ff8
movq 0x30(%rsp), %rdx
movb %dl, -0x2(%rsi)
movb %r11b, 0x2a0617(%r13)
movl 0x4c(%rsp), %edx
movb %dl, -0x3(%rsi)
movl %edi, %r15d
movb %r15b, 0x2a0616(%r13)
movzwl %r8w, %edx
addl %ecx, %edx
movl %edx, %ecx
movl %r11d, %esi
movq 0x28(%rsp), %r12
movzwl %cx, %ecx
imull %ebp, %ecx
addl (%rsp), %ecx
movl %ebp, %edx
movzwl %si, %ebp
imull %edx, %ebp
movq %rcx, (%rsp)
movq 0x18(%rsp), %rsi
movq (%rsp), %rdx
leal (%rdx,%rbp), %ecx
xorl %edx, %ecx
cmpl $0x1000000, %ecx        # imm = 0x1000000
jb 0x9034
cmpl $0xffff, %ebp           # imm = 0xFFFF
ja 0x905c
movq (%rsp), %rcx
negl %ecx
movzwl %cx, %ebp
movq (%r12), %rcx
movzbl (%rcx,%rsi), %ecx
incq %rsi
movl 0x8(%rsp), %edx
shll $0x8, %edx
orl %ecx, %edx
movl %edx, 0x8(%rsp)
shll $0x8, %ebp
movq (%rsp), %rcx
shll $0x8, %ecx
movq %rcx, (%rsp)
jmp 0x9012
cmpl %eax, %r9d
jg 0x91a7
movq %rsi, %r8
pxor %xmm0, %xmm0
xorl %eax, %eax
movdqa 0x1fda(%rip), %xmm1     # 0xb050
movl %eax, %ecx
shrl $0x5, %ecx
movd 0x60(%rsp,%rcx,4), %xmm2
movdqa %xmm1, %xmm3
pand %xmm8, %xmm3
pxor %xmm9, %xmm2
pshufd $0x0, %xmm2, %xmm4      # xmm4 = xmm2[0,0,0,0]
pshufd $0xee, %xmm3, %xmm5     # xmm5 = xmm3[2,3,2,3]
pshuflw $0xfe, %xmm5, %xmm6     # xmm6 = xmm5[2,3,3,3,4,5,6,7]
movdqa %xmm4, %xmm7
psrld %xmm6, %xmm7
pshuflw $0x54, %xmm5, %xmm5     # xmm5 = xmm5[0,1,1,1,4,5,6,7]
movdqa %xmm4, %xmm6
psrld %xmm5, %xmm6
punpckhqdq %xmm7, %xmm6    # xmm6 = xmm6[1],xmm7[1]
pshuflw $0x54, %xmm3, %xmm5     # xmm5 = xmm3[0,1,1,1,4,5,6,7]
psrld %xmm5, %xmm2
pshuflw $0xfe, %xmm3, %xmm3     # xmm3 = xmm3[2,3,3,3,4,5,6,7]
psrld %xmm3, %xmm4
punpcklqdq %xmm4, %xmm2    # xmm2 = xmm2[0],xmm4[0]
shufps $0xcc, %xmm6, %xmm2     # xmm2 = xmm2[0,3],xmm6[0,3]
pshuflw $0xe8, %xmm2, %xmm2     # xmm2 = xmm2[0,2,2,3,4,5,6,7]
pshufhw $0xe8, %xmm2, %xmm2     # xmm2 = xmm2[0,1,2,3,4,6,6,7]
pshufd $0xe8, %xmm2, %xmm2     # xmm2 = xmm2[0,2,2,3]
pand %xmm10, %xmm2
paddw %xmm2, %xmm0
addl $0x4, %eax
paddd %xmm11, %xmm1
cmpl $0x100, %eax            # imm = 0x100
jne 0x9076
pshufd $0x55, %xmm0, %xmm1     # xmm1 = xmm0[1,1,1,1]
paddw %xmm0, %xmm1
movdqa %xmm1, %xmm0
psrld $0x10, %xmm0
paddw %xmm1, %xmm0
pextrw $0x0, %xmm0, %edi
movl 0x8(%rsp), %ecx
subl (%rsp), %ecx
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 %r15d, %r15d
movl %esi, %eax
movl %r15d, %edx
shrl $0x5, %edx
movl 0x60(%rsp,%rdx,4), %edx
btl %r15d, %edx
sbbl $-0x1, %esi
incl %r15d
cmpl %ecx, %esi
jbe 0x9134
imull %ebp, %eax
addl (%rsp), %eax
movq %rax, (%rsp)
movq %r8, %rsi
movq (%rsp), %rcx
leal (%rcx,%rbp), %eax
xorl %ecx, %eax
cmpl $0x1000000, %eax        # imm = 0x1000000
jb 0x917c
cmpl $0xffff, %ebp           # imm = 0xFFFF
ja 0x91a4
movq (%rsp), %rax
negl %eax
movzwl %ax, %ebp
movq (%r12), %rax
movzbl (%rax,%rsi), %eax
incq %rsi
movl 0x8(%rsp), %ecx
shll $0x8, %ecx
orl %eax, %ecx
movl %ecx, 0x8(%rsp)
shll $0x8, %ebp
movq (%rsp), %rax
shll $0x8, %eax
movq %rax, (%rsp)
jmp 0x915b
decb %r15b
movl (%r13), %ecx
movl %ecx, %eax
shll $0x8, %eax
movzbl %r15b, %ebx
movl %eax, %edx
shrl $0xe, %edx
andl $0x3ff00, %eax          # imm = 0x3FF00
orl %ebx, %eax
xorl %edx, %eax
movq 0x58(%rsp), %rdx
prefetcht0 (%rdx,%rax,8)
leal 0x1(%r10), %eax
movb %al, 0x2a0617(%r13)
movb %bl, 0x2a0616(%r13)
incw 0x2a0610(%r13)
xorl %edx, %edx
cmpb $0x2, %al
sete %dl
cmpb $0x1, %r10b
sbbw $0x0, %dx
negl %edx
addw %dx, 0x2a0614(%r13)
cmpb $-0x5, %al
movq %rsi, 0x18(%rsp)
jb 0x92c6
movl $0x0, 0x2a0610(%r13)
movw $0x0, 0x2a0614(%r13)
xorl %edx, %edx
xorl %ecx, %ecx
xorl %eax, %eax
movslq %edx, %rsi
movq 0x98(%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 0x924e
incl %eax
jmp 0x9291
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 0x9226
movzwl 0x2a0612(%r13), %eax
addl %eax, %eax
movq 0x98(%rsp), %rcx
leaq (%rcx,%rax), %rdi
movl $0x200, %edx            # imm = 0x200
subq %rax, %rdx
xorl %esi, %esi
callq 0x10e0
movzwl (%r13), %ecx
movzbl %cl, %eax
imulq $0x206, %rax, %rdx      # imm = 0x206
movq 0x50(%rsp), %r8
movb 0x7(%r8,%rdx), %al
leal 0x1(%rax), %esi
movb %sil, 0x7(%r8,%rdx)
movb %r15b, 0x6(%r8,%rdx)
incw (%r8,%rdx)
xorl %edi, %edi
cmpb $0x2, %sil
sete %dil
cmpb $0x1, %al
sbbw $0x0, %di
negl %edi
addw %di, 0x4(%r8,%rdx)
cmpb $-0x5, %sil
jb 0x939b
leaq (%r8,%rdx), %rax
leaq (%r8,%rdx), %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 0x934c
incl %ecx
jmp 0x9373
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 0x932c
movzwl 0x2(%rax), %eax
addl %eax, %eax
addq %rax, %rdi
movl $0x200, %edx            # imm = 0x200
subq %rax, %rdx
xorl %esi, %esi
callq 0x10e0
movzwl (%r13), %ecx
movq 0x38(%rsp), %rsi
movzwl %cx, %eax
movq 0x200010(%r13,%rax,8), %rax
movb 0x7(%rax), %cl
leal 0x1(%rcx), %edx
movb %dl, 0x7(%rax)
movb %r15b, 0x6(%rax)
incw (%rax)
xorl %edi, %edi
cmpb $0x2, %dl
sete %dil
cmpb $0x1, %cl
sbbw $0x0, %di
negl %edi
addw %di, 0x4(%rax)
cmpb $-0x5, %dl
jb 0x945f
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 0x9410
incl %ecx
jmp 0x9437
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 0x93f0
movzwl 0x2(%rax), %eax
addl %eax, %eax
addq %rax, %rdi
movl $0x200, %edx            # imm = 0x200
subq %rax, %rdx
xorl %esi, %esi
callq 0x10e0
movq 0x38(%rsp), %rsi
movq %r13, %rdi
movl %ebx, %edx
callq 0x710b
movl 0x90(%rsp), %eax
cmpl 0x40(%rsp), %eax
setb 0x2a0829(%r13)
testb %r15b, %r15b
je 0x95a6
movl %r15d, 0x10(%rsp)
movq 0xa0(%rsp), %rdi
movq (%rdi), %rcx
movl 0x8(%rdi), %edx
movl -0x4(%rcx,%rdx), %eax
movq -0x8(%rcx,%rdx), %rcx
movq %rcx, %rdx
shrq $0x16, %rdx
movq %rcx, %rsi
shrq $0x2c, %rsi
xorl %esi, %edx
movl %ecx, %esi
xorl %edx, %esi
andl $0xfffff, %esi          # imm = 0xFFFFF
movq 0xc0(%rsp), %rdx
movq (%rdx,%rsi,8), %r15
movq %r15, %rdx
shrq $0x20, %rdx
cmpl %eax, %edx
sete %dl
testl %r15d, %r15d
setne %sil
testb %sil, %dl
jne 0x9524
shrq $0x30, %rcx
movq 0xb0(%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 0xb8(%rsp), %rdx
movq (%rdx,%rsi,8), %rdx
movq %rdx, %rsi
shrq $0x20, %rsi
testl %edx, %edx
movl %ecx, %r15d
cmovnel %edx, %r15d
cmpl %eax, %esi
cmovnel %ecx, %r15d
testl %ebx, %ebx
je 0x958b
movl %ebx, %r13d
movq (%rdi), %rax
movl %r15d, %ecx
movb (%rax,%rcx), %r12b
movl 0x8(%rdi), %ecx
cmpl 0xc(%rdi), %ecx
jne 0x9577
movl %ecx, %ecx
xorps %xmm0, %xmm0
cvtsi2sd %rcx, %xmm0
mulsd 0x1ab9(%rip), %xmm0     # 0xb008
addsd 0x1ab9(%rip), %xmm0     # 0xb010
cvttsd2si %xmm0, %rcx
movl %ecx, 0xc(%rdi)
movl %ecx, %esi
movq %rax, %rdi
callq 0x11b0
movq 0xa0(%rsp), %rdi
movq %rax, (%rdi)
movl 0x8(%rdi), %ecx
leal 0x1(%rcx), %edx
movl %edx, 0x8(%rdi)
movl %ecx, %ecx
movb %r12b, (%rax,%rcx)
incl %r15d
decq %r13
jne 0x952b
movq 0x88(%rsp), %r13
movb $0x0, 0x2a0829(%r13)
movq 0x28(%rsp), %r12
movl 0x10(%rsp), %ebx
jmp 0x9604
movq 0xa0(%rsp), %rdi
movl 0x8(%rdi), %ecx
movq (%rdi), %rax
cmpl 0xc(%rdi), %ecx
jne 0x95f3
movl %ecx, %ecx
xorps %xmm0, %xmm0
cvtsi2sd %rcx, %xmm0
mulsd 0x1a3d(%rip), %xmm0     # 0xb008
addsd 0x1a3d(%rip), %xmm0     # 0xb010
cvttsd2si %xmm0, %rcx
movl %ecx, 0xc(%rdi)
movl %ecx, %esi
movq %rax, %rdi
callq 0x11b0
movq 0xa0(%rsp), %rdi
movq %rax, (%rdi)
movl 0x8(%rdi), %ecx
leal 0x1(%rcx), %edx
movl %edx, 0x8(%rdi)
movl %ecx, %ecx
movb 0x27(%rsp), %dl
movb %dl, (%rax,%rcx)
movb $0x1, %bl
movq (%rdi), %r14
movl 0x8(%rdi), %ecx
movl (%r13), %edx
movzbl %bl, %edi
movl %ecx, %esi
subl %edi, %esi
cmpl $0xc, %esi
jb 0x96ea
movl -0x4(%r14,%rsi), %edi
movl %edi, %r8d
shrl $0x6, %r8d
movl %edi, %r9d
shrl $0xc, %r9d
xorl %r8d, %r9d
xorl %edi, %r9d
shlq $0x20, %rdi
orq %rsi, %rdi
movq -0x8(%r14,%rsi), %r8
movq %r8, %r10
shrq $0x16, %r10
movq %r8, %r11
shrq $0x2c, %r11
xorl %r11d, %r10d
movl %r8d, %r11d
xorl %r10d, %r11d
movq %r13, %r12
movl $0xfffff, %r13d         # imm = 0xFFFFF
andl %r13d, %r11d
movq %rbp, %rax
movq 0xc0(%rsp), %rbp
movq %rdi, (%rbp,%r11,8)
andl %r13d, %r9d
movq 0xb8(%rsp), %r11
movq %rdi, (%r11,%r9,8)
shrq $0x30, %r8
movq 0xb0(%rsp), %r15
movl %esi, (%r15,%r8,4)
movq -0x7(%r14,%rsi), %rdi
movq %rdi, %r8
shrq $0x16, %r8
movq %rdi, %r9
shrq $0x2c, %r9
xorl %r9d, %r8d
movl %edi, %r10d
xorl %r8d, %r10d
andl %r13d, %r10d
prefetcht0 (%rbp,%r10,8)
movq %rax, %rbp
movq %rdi, %r8
shrq $0x20, %r8
movq %rdi, %r10
shrq $0x26, %r10
xorl %r9d, %r10d
xorl %r8d, %r10d
andl %r13d, %r10d
movq %r12, %r13
movq 0x28(%rsp), %r12
prefetcht0 (%r11,%r10,8)
shrq $0x30, %rdi
prefetcht0 (%r15,%rdi,4)
shll $0x8, %edx
movl %edx, (%r13)
movzbl (%r14,%rsi), %esi
orl %esi, %edx
movl %edx, (%r13)
decb %bl
jne 0x960e
cmpl 0xcc(%rsp), %ecx
movq 0x18(%rsp), %rax
jb 0x736c
movq 0xc0(%rsp), %rdi
callq 0x1030
movq 0xb8(%rsp), %rdi
callq 0x1030
movq 0xb0(%rsp), %rdi
callq 0x1030
xorl %eax, %eax
addq $0x108, %rsp            # imm = 0x108
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
nopl (%rax)