// File: /workspace/github_c_makefile_star2_O3/samtools[P]htslib/htscodecs/htscodecs/fqzcomp_qual.c
// Function: fqz_compress
char *fqz_compress(int vers, fqz_slice *s, char *in, size_t uncomp_size,
                   size_t *comp_size, int strat, fqz_gparams *gp) {
    if (uncomp_size > INT_MAX) {
        *comp_size = 0;
        return NULL;
    }

    return (char *)compress_block_fqz2f(vers, strat, s, (unsigned char *)in,
                                        uncomp_size, comp_size, gp);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x1af8, %rsp           # imm = 0x1AF8
movq %r8, %r13
movq %rdx, 0x88(%rsp)
movq %rcx, 0x48(%rsp)
movq %rcx, %rax
shrq $0x1f, %rax
je 0x5cf1b
movq $0x0, (%r13)
jmp 0x5f59b
movq %rsi, %r12
movq 0x1b30(%rsp), %rax
testq %rax, %rax
movq %rsi, 0x70(%rsp)
je 0x5cf7a
leaq 0x10(%rax), %rcx
movq %rcx, 0xe8(%rsp)
movl 0xc(%rax), %r15d
movq %rax, 0x40(%rsp)
movq 0x48(%rsp), %rbp
testl %r15d, %r15d
je 0x5d179
xorl %eax, %eax
movl %r15d, %edx
movl %r15d, %ecx
incl %eax
sarl %ecx
cmpl $0x1, %edx
movl %ecx, %edx
ja 0x5cf5b
xorps %xmm0, %xmm0
cvtsi2sd %eax, %xmm0
mulsd 0x3eb3b(%rip), %xmm0    # 0x9bab0
jmp 0x5d17d
movl %r9d, %ebp
movl %edi, %r15d
leaq 0x3ebf9(%rip), %rsi     # 0x9bb80
leaq 0x15d0(%rsp), %rdi
movl $0x100, %edx            # imm = 0x100
callq 0x43c0
leaq 0x140(%rsp), %rdi
movl $0x400, %edx            # imm = 0x400
xorl %esi, %esi
callq 0x4260
cmpl $0x4, %ebp
movl $0x4, %r12d
cmovll %ebp, %r12d
leaq 0x16d8(%rsp), %r14
movl $0x418, %edx            # imm = 0x418
movq %r14, %rdi
xorl %esi, %esi
callq 0x4260
movl $0x5, (%r14)
movl $0x1, %edi
movl $0x1c64, %esi           # imm = 0x1C64
callq 0x4300
movq %r14, 0x40(%rsp)
movq %rax, 0x418(%r14)
testq %rax, %rax
je 0x5f59b
movq %rax, %rbx
movq $0x1, 0x16e0(%rsp)
movl $0x2, %r14d
cmpl $0x3, %r15d
jne 0x5d028
movl $0x4, 0x16dc(%rsp)
movl $0x6, %r14d
movslq %r12d, %rax
leaq (%rax,%rax,2), %rax
shlq $0x4, %rax
leaq 0x3ec46(%rip), %rcx     # 0x9bc80
movl (%rax,%rcx), %edx
movl 0x4(%rax,%rcx), %esi
movl %edx, 0x1c(%rbx)
movl %esi, 0x1c48(%rbx)
movl 0x8(%rax,%rcx), %edx
movl %edx, 0x24(%rbx)
movl 0xc(%rax,%rcx), %edx
movl %edx, 0x1c4c(%rbx)
movl 0x10(%rax,%rcx), %edx
movl %edx, 0x2c(%rbx)
movl 0x14(%rax,%rcx), %edx
movl %edx, 0x1c50(%rbx)
movl 0x1c(%rax,%rcx), %edx
movl %edx, 0x38(%rbx)
movl 0x20(%rax,%rcx), %edx
movl %edx, 0x28(%rbx)
movl 0x24(%rax,%rcx), %edx
movl %edx, 0x30(%rbx)
movq 0x28(%rax,%rcx), %rax
movq %rax, 0x1c5c(%rbx)
movq 0x70(%rsp), %r12
movl (%r12), %ecx
testl %ecx, %ecx
je 0x5d0f2
movq 0x8(%r12), %rax
xorl %edx, %edx
xorl %edi, %edi
movl (%rax,%rdx,4), %esi
addq %rdi, %rsi
cmpq 0x48(%rsp), %rsi
jbe 0x5d0c4
movq 0x48(%rsp), %rsi
subq %rdi, %rsi
movl %esi, (%rax,%rdx,4)
movl (%r12), %ecx
movl %esi, %esi
addq %rdi, %rsi
incq %rdx
movslq %ecx, %r8
movq %rsi, %rdi
cmpq %r8, %rdx
jb 0x5d0a3
testl %ecx, %ecx
setle %dl
cmpq %rsi, 0x48(%rsp)
setbe %dil
orb %dl, %dil
jne 0x5d0f2
movq 0x48(%rsp), %rdx
subl %esi, %edx
movl %ecx, %ecx
addl %edx, -0x4(%rax,%rcx,4)
leaq 0x140(%rsp), %r8
movq %r12, %rdi
movq 0x88(%rsp), %rsi
movq 0x48(%rsp), %rdx
movq %rbx, %rcx
movl $0xffffffff, %r9d       # imm = 0xFFFFFFFF
callq 0x5c004
movl 0x40(%rbx), %edx
xorl %eax, %eax
cmpl $0x8, %edx
jg 0x5d12d
leal (%rdx,%rdx), %ecx
xorl %eax, %eax
cmpl 0x3c(%rbx), %ecx
setl %al
movl %eax, 0x10(%rbx)
movq 0x8(%r12), %rax
movslq (%r12), %rcx
movl $0x1, %esi
cmpq $0x2, %rcx
jb 0x5d156
movl (%rax), %edi
cmpl %edi, (%rax,%rsi,4)
jne 0x5d156
incq %rsi
cmpq %rsi, %rcx
jne 0x5d146
movq %rcx, %rsi
xorl %edi, %edi
cmpq %rcx, %rsi
sete %dil
movl %edi, 0x14(%rbx)
movb $0x0, 0x18(%rbx)
cmpl $0x3, %ebp
jle 0x5d2b7
movq 0x48(%rsp), %rbp
jmp 0x5d3fc
pxor %xmm0, %xmm0
movq 0x40(%rsp), %rax
movq 0x418(%rax), %rcx
xorl %eax, %eax
movq %rcx, 0x20(%rsp)
cmpl $0x0, 0x14(%rcx)
sete %al
leaq 0x3e982(%rip), %rcx     # 0x9bb20
addsd (%rcx,%rax,8), %xmm0
cvtsi2sdl (%r12), %xmm1
cvtsi2sd %rbp, %xmm2
mulsd %xmm0, %xmm1
addsd %xmm1, %xmm2
mulsd 0x3e8fa(%rip), %xmm2    # 0x9bab8
addsd 0x3772a(%rip), %xmm2    # 0x948f0
cvttsd2si %xmm2, %rax
movq %rax, %rcx
sarq $0x3f, %rcx
subsd 0x38536(%rip), %xmm2    # 0x95710
cvttsd2si %xmm2, %r12
andq %rcx, %r12
orq %rax, %r12
movq %r12, %rdi
callq 0x4680
testq %rax, %rax
je 0x5f59b
movq %rax, %r14
movq %rax, %rbx
movq %r12, 0x38(%rsp)
cmpq $0x4, %r12
jg 0x5d27d
movq $-0x1, %rdx
xorl %ecx, %ecx
movl %ebp, %esi
movl %ebp, %eax
shrl $0x7, %eax
incq %rdx
addq $0x7, %rcx
cmpl $0x7f, %esi
movl %eax, %esi
ja 0x5d214
movq 0x38(%rsp), %rsi
leaq (,%rsi,8), %rax
subq %rsi, %rax
xorl %edi, %edi
cmpq %rcx, %rax
jl 0x5d6c0
addq $-0x7, %rcx
cmpq $0x4, %rdx
movl $0x4, %eax
cmovbq %rdx, %rax
incq %rax
xorl %edi, %edi
movl %ebp, %edx
shrl %cl, %edx
xorl %esi, %esi
testl %ecx, %ecx
setne %sil
andl $0x7f, %edx
shll $0x7, %esi
orl %edx, %esi
movb %sil, (%rbx,%rdi)
incq %rdi
addl $-0x7, %ecx
cmpl %edi, %eax
jne 0x5d256
jmp 0x5d6c0
cmpq $0x7f, %rbp
ja 0x5d290
movb %bpl, (%rbx)
movl $0x1, %edi
jmp 0x5d6c0
movl %ebp, %eax
cmpq $0x3fff, %rbp           # imm = 0x3FFF
ja 0x5d37d
shrl $0x7, %eax
orb $-0x80, %al
movb %al, (%rbx)
movl %ebp, %eax
andb $0x7f, %al
movb %al, 0x1(%rbx)
movl $0x2, %edi
jmp 0x5d6c0
cmpl $0x0, 0x1c4c(%rbx)
movq 0x48(%rsp), %rbp
jns 0x5d34e
movl (%rax), %eax
cvtsi2sd %rax, %xmm0
movb 0x24(%rbx), %cl
movl $0x1, %eax
shll %cl, %eax
movl $0x1, %ebp
cvtsi2sd %eax, %xmm1
divsd %xmm1, %xmm0
callq 0x4390
divsd 0x3e7b4(%rip), %xmm0    # 0x9baa8
addsd 0x35d24(%rip), %xmm0    # 0x93020
xorl %eax, %eax
xorpd %xmm1, %xmm1
ucomisd %xmm0, %xmm1
ja 0x5d340
movq 0x8(%r12), %rax
movl (%rax), %eax
xorps %xmm0, %xmm0
cvtsi2sd %rax, %xmm0
movb 0x24(%rbx), %cl
shll %cl, %ebp
xorps %xmm1, %xmm1
cvtsi2sd %ebp, %xmm1
divsd %xmm1, %xmm0
callq 0x4390
divsd 0x3e774(%rip), %xmm0    # 0x9baa8
addsd 0x35ce4(%rip), %xmm0    # 0x93020
cvttsd2si %xmm0, %eax
movl %eax, 0x1c4c(%rbx)
movl 0x40(%rbx), %edx
movq 0x48(%rsp), %rbp
cmpl $0x4, %edx
jg 0x5d3ac
movl $0x2, 0x1c48(%rbx)
cmpq $0x4c4b3f, %rbp         # imm = 0x4C4B3F
ja 0x5d3fc
movl $0x2, 0x24(%rbx)
movl $0x5, 0x1c4c(%rbx)
jmp 0x5d3dc
cmpq $0x1fffff, %rbp         # imm = 0x1FFFFF
ja 0x5d65d
shrl $0xe, %eax
orb $-0x80, %al
movb %al, (%rbx)
movl %ebp, %eax
shrl $0x7, %eax
orb $-0x80, %al
movb %al, 0x1(%rbx)
movl %ebp, %eax
andb $0x7f, %al
movb %al, 0x2(%rbx)
movl $0x3, %edi
jmp 0x5d6c0
cmpl $0x8, %edx
ja 0x5d3dc
movl 0x1c(%rbx), %eax
cmpl $0x9, %eax
movl $0x9, %ecx
cmovbl %eax, %ecx
movl %ecx, 0x1c(%rbx)
movl $0x3, 0x1c48(%rbx)
cmpq $0x4c4b3f, %rbp         # imm = 0x4C4B3F
ja 0x5d3fc
movl $0x6, 0x1c(%rbx)
cmpq $0x493df, %rbp          # imm = 0x493DF
ja 0x5d3fc
movl 0x1c48(%rbx), %eax
movl %eax, 0x1c(%rbx)
movl $0x2, 0x2c(%rbx)
movl $0x2, %eax
jmp 0x5d3ff
movl 0x2c(%rbx), %eax
leaq 0x16e8(%rsp), %rcx
movq %rcx, 0xe8(%rsp)
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
movl %eax, %ecx
shll %cl, %esi
notl %esi
movd %esi, %xmm0
pshufd $0x0, %xmm0, %xmm0      # xmm0 = xmm0[0,0,0,0]
xorl %ecx, %ecx
movdqa 0x15d0(%rsp,%rcx,4), %xmm1
movdqa %xmm0, %xmm2
pcmpgtd %xmm1, %xmm2
pand %xmm2, %xmm1
pandn %xmm0, %xmm2
por %xmm1, %xmm2
movdqa %xmm2, 0x15d0(%rsp,%rcx,4)
addq $0x4, %rcx
cmpq $0x40, %rcx
jne 0x5d425
movl 0x10(%rbx), %esi
testl %esi, %esi
je 0x5d492
xorl %ecx, %ecx
xorl %edi, %edi
xorl %r8d, %r8d
cmpl $0x0, 0x140(%rsp,%rdi,4)
setne %r8b
movl $0x7fffffff, %r9d       # imm = 0x7FFFFFFF
cmovnel %ecx, %r9d
addl %r8d, %ecx
movl %r9d, 0x48(%rbx,%rdi,4)
incq %rdi
cmpq $0x100, %rdi            # imm = 0x100
jne 0x5d460
movl %edx, 0x3c(%rbx)
jmp 0x5d4c5
movl $0xff, 0x40(%rbx)
movdqa 0x3d7af(%rip), %xmm0    # 0x9ac50
xorl %ecx, %ecx
movdqa 0x3d7b5(%rip), %xmm1    # 0x9ac60
movdqu %xmm0, 0x48(%rbx,%rcx,4)
addq $0x4, %rcx
paddd %xmm1, %xmm0
cmpq $0x100, %rcx            # imm = 0x100
jne 0x5d4ab
movl 0x3c(%rbx), %edx
xorl %ecx, %ecx
testl %edx, %edx
cmovgl %edx, %ecx
movl %ecx, 0x1ae8(%rsp)
movl 0x1c(%rbx), %ecx
testl %ecx, %ecx
je 0x5d506
movdqa 0x3d76e(%rip), %xmm0    # 0x9ac50
xorl %edx, %edx
movdqa 0x3d774(%rip), %xmm1    # 0x9ac60
movdqu %xmm0, 0x448(%rbx,%rdx,4)
addq $0x4, %rdx
paddd %xmm1, %xmm0
cmpq $0x100, %rdx            # imm = 0x100
jne 0x5d4ec
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
shll %cl, %edx
notl %edx
movl %edx, 0x1c58(%rbx)
movl 0x24(%rbx), %edx
testl %edx, %edx
je 0x5d551
movl %edx, %ecx
shll %cl, %edi
notl %edi
xorl %r8d, %r8d
movb 0x1c4c(%rbx), %cl
movq %r8, %r9
shrq %cl, %r9
cmpq %rdi, %r9
cmoval %edi, %r9d
movl %r9d, 0x848(%rbx,%r8,4)
incq %r8
cmpq $0x400, %r8             # imm = 0x400
jne 0x5d52a
testl %eax, %eax
je 0x5d58e
xorl %edi, %edi
movl $0x3f, %r8d
movb 0x1c50(%rbx), %cl
movq %rdi, %r9
shrq %cl, %r9
cmpq $0x3f, %r9
cmovaeq %r8, %r9
movl %r9d, %ecx
movl 0x15d0(%rsp,%rcx,4), %ecx
movl %ecx, 0x1848(%rbx,%rdi,4)
incq %rdi
cmpq $0x100, %rdi            # imm = 0x100
jne 0x5d55d
xorl %ecx, %ecx
testl %esi, %esi
setne %cl
xorl %esi, %esi
testl %edx, %edx
setne 0x1a(%rbx)
setne %sil
xorl %edx, %edx
testl %eax, %eax
setne %dl
setne 0x19(%rbx)
xorl %eax, %eax
cmpb $0x0, 0x18(%rbx)
setne %al
shll $0x7, %eax
shll $0x6, %edx
shll $0x5, %esi
xorl %edi, %edi
cmpl $0x0, 0x14(%rbx)
setne %dil
xorl %r8d, %r8d
cmpl $0x0, 0xc(%rbx)
setne %r8b
shll $0x4, %ecx
orl %edx, %ecx
orl %esi, %ecx
orl %eax, %ecx
xorl %eax, %eax
cmpl $0x0, 0x8(%rbx)
setne %al
leal (%rcx,%rax,8), %eax
leal (%rax,%rdi,4), %eax
leal (%rax,%r8,2), %eax
movl %eax, 0x4(%rbx)
movl $0x0, 0x16e4(%rsp)
je 0x5d64a
movl $0x1, 0x16e4(%rsp)
movl %r14d, 0x16dc(%rsp)
movslq (%r12), %rax
testq %rax, %rax
je 0x5d652
movq 0x10(%r12), %rcx
xorl %r15d, %r15d
xorl %edx, %edx
movl %r15d, %esi
movzwl 0x2(%rcx,%rdx,4), %r15d
cmpl %r15d, %esi
cmoval %esi, %r15d
incq %rdx
cmpq %rdx, %rax
jne 0x5d625
movl %r15d, 0x16e4(%rsp)
jmp 0x5cf4a
xorl %r15d, %r15d
jmp 0x5cf4a
movl $0x1, %r15d
jmp 0x5cf4a
cmpq $0xfffffff, %rbp        # imm = 0xFFFFFFF
ja 0x5d68f
shrl $0x15, %eax
orb $-0x80, %al
movb %al, (%rbx)
movl %ebp, %eax
shrl $0xe, %eax
orb $-0x80, %al
movb %al, 0x1(%rbx)
movl %ebp, %eax
shrl $0x7, %eax
orb $-0x80, %al
movb %al, 0x2(%rbx)
movl %ebp, %eax
andb $0x7f, %al
movb %al, 0x3(%rbx)
movl $0x4, %edi
jmp 0x5d6c0
shrl $0x1c, %eax
orb $-0x80, %al
movb %al, (%rbx)
movl %ebp, %eax
shrl $0x15, %eax
orb $-0x80, %al
movb %al, 0x1(%rbx)
movl %ebp, %eax
shrl $0xe, %eax
orb $-0x80, %al
movb %al, 0x2(%rbx)
movl %ebp, %eax
shrl $0x7, %eax
orb $-0x80, %al
movb %al, 0x3(%rbx)
movl %ebp, %eax
andb $0x7f, %al
movb %al, 0x4(%rbx)
movl $0x5, %edi
movslq %edi, %rcx
leaq (%r14,%rcx), %rbp
movq 0x40(%rsp), %rdx
movb (%rdx), %al
movb %al, (%rbx,%rcx)
movl 0x4(%rdx), %eax
movb %al, 0x1(%rbx,%rcx)
movl $0x2, %ecx
testb $0x1, %al
je 0x5d6f1
movq 0x40(%rsp), %rcx
movb 0x8(%rcx), %cl
movb %cl, 0x2(%rbp)
movl $0x3, %ecx
testb $0x2, %al
movq %rdi, 0x10(%rsp)
je 0x5d726
movq %rcx, %r12
movl %r12d, %eax
leaq (%rax,%rbp), %rdi
incq %rdi
movb %r15b, -0x1(%rdi)
movq 0xe8(%rsp), %rsi
movl $0x100, %edx            # imm = 0x100
callq 0x61279
addl %eax, %r12d
incl %r12d
movq %r12, %rcx
movq 0x20(%rsp), %r9
movq %r14, 0xe0(%rsp)
movq %rbx, 0xd8(%rsp)
movq %r13, 0x108(%rsp)
movq 0x40(%rsp), %rax
movslq 0x8(%rax), %rdx
movq %rdx, 0x60(%rsp)
testq %rdx, %rdx
jle 0x5d8b3
leaq 0x48(%r9), %r14
xorl %r12d, %r12d
movq %rcx, %r13
imulq $0x1c64, %r12, %r15     # imm = 0x1C64
movq %r13, 0x30(%rsp)
movslq %r13d, %rax
movb (%r9,%r15), %cl
movb %cl, (%rbp,%rax)
movb 0x1(%r9,%r15), %cl
movb %cl, 0x1(%rbp,%rax)
movb 0x4(%r9,%r15), %cl
movb %cl, 0x2(%rbp,%rax)
movb 0x3c(%r9,%r15), %cl
movb %cl, 0x3(%rbp,%rax)
movl 0x1c(%r9,%r15), %ecx
shll $0x4, %ecx
orl 0x1c48(%r9,%r15), %ecx
movb %cl, 0x4(%rbp,%rax)
movl 0x20(%r9,%r15), %ecx
shll $0x4, %ecx
orl 0x38(%r9,%r15), %ecx
movb %cl, 0x5(%rbp,%rax)
movl 0x28(%r9,%r15), %ecx
shll $0x4, %ecx
orl 0x30(%r9,%r15), %ecx
leaq (%rax,%rbp), %r13
movb %cl, 0x6(%rbp,%rax)
cmpl $0x0, 0x10(%r9,%r15)
je 0x5d800
movl $0x7, %ebx
xorl %eax, %eax
cmpl $0x7fffffff, (%r14,%rax,4) # imm = 0x7FFFFFFF
je 0x5d7f3
movslq %ebx, %rcx
incl %ebx
movb %al, (%r13,%rcx)
incq %rax
cmpq $0x100, %rax            # imm = 0x100
jne 0x5d7df
jmp 0x5d805
movl $0x7, %ebx
addq %r9, %r15
cmpl $0x0, 0x1c(%r15)
je 0x5d835
cmpb $0x0, 0x18(%r15)
je 0x5d835
movslq %ebx, %rbx
leaq (%rbx,%r13), %rdi
leaq 0x448(%r15), %rsi
movl $0x100, %edx            # imm = 0x100
callq 0x61279
movq 0x20(%rsp), %r9
addl %eax, %ebx
cmpl $0x0, 0x24(%r15)
je 0x5d862
cmpb $0x0, 0x1a(%r15)
je 0x5d862
movslq %ebx, %rbx
leaq (%rbx,%r13), %rdi
leaq 0x848(%r15), %rsi
movl $0x400, %edx            # imm = 0x400
callq 0x61279
movq 0x20(%rsp), %r9
addl %eax, %ebx
cmpl $0x0, 0x2c(%r15)
je 0x5d894
cmpb $0x0, 0x19(%r15)
je 0x5d894
movslq %ebx, %rbx
addq %rbx, %r13
addq $0x1848, %r15           # imm = 0x1848
movq %r13, %rdi
movq %r15, %rsi
movl $0x100, %edx            # imm = 0x100
callq 0x61279
movq 0x20(%rsp), %r9
addl %eax, %ebx
movq 0x30(%rsp), %r13
addl %ebx, %r13d
incq %r12
addq $0x1c64, %r14           # imm = 0x1C64
cmpq 0x60(%rsp), %r12
jne 0x5d764
jmp 0x5d8b6
movq %rcx, %r13
cmpl $0x0, 0x60(%rsp)
movq 0x70(%rsp), %r12
movq 0x40(%rsp), %rbx
movq 0x48(%rsp), %r15
movq 0x38(%rsp), %r14
je 0x5d95f
leaq 0x848(%r9), %rax
leaq 0x1848(%r9), %rcx
xorl %edx, %edx
movl $0x1c64, %esi           # imm = 0x1C64
imulq $0x1c64, %rdx, %r8      # imm = 0x1C64
leaq (%r9,%r8), %rdi
movss 0x28(%r9,%r8), %xmm1
xorpd %xmm0, %xmm0
movss %xmm1, %xmm0            # xmm0 = xmm1[0],xmm0[1,2,3]
xorl %r8d, %r8d
movdqu (%rax,%r8,4), %xmm1
pslld %xmm0, %xmm1
movdqu %xmm1, (%rax,%r8,4)
addq $0x4, %r8
cmpq $0x400, %r8             # imm = 0x400
jne 0x5d907
movss 0x30(%rdi), %xmm1
xorps %xmm0, %xmm0
movss %xmm1, %xmm0            # xmm0 = xmm1[0],xmm0[1,2,3]
xorl %edi, %edi
movdqu (%rcx,%rdi,4), %xmm1
pslld %xmm0, %xmm1
movdqu %xmm1, (%rcx,%rdi,4)
addq $0x4, %rdi
cmpq $0x100, %rdi            # imm = 0x100
jne 0x5d932
incq %rdx
movslq 0x8(%rbx), %rdi
addq %rsi, %rax
addq %rsi, %rcx
cmpq %rdi, %rdx
jb 0x5d8ea
leaq 0x140(%rsp), %rdi
movq %rbx, %rsi
callq 0x61070
testl %eax, %eax
js 0x5f59b
addl 0x10(%rsp), %r13d
movslq %r13d, %r11
testq %r15, %r15
je 0x5d9fe
movl 0x4(%rbx), %eax
andl $0x4, %eax
je 0x5d9fe
xorl %eax, %eax
xorl %ecx, %ecx
movslq (%r12), %rdx
decq %rdx
cmpq %rdx, %rax
jge 0x5d9a6
movq 0x8(%r12), %rdx
movl (%rdx,%rax,4), %edx
jmp 0x5d9ab
movl %r15d, %edx
subl %ecx, %edx
movq 0x10(%r12), %rsi
testb $0x10, (%rsi,%rax,4)
je 0x5d9f0
cmpl $0x2, %edx
jl 0x5d9f0
movq 0x88(%rsp), %rsi
addq %rcx, %rsi
movl %edx, %edi
addq $-0x2, %rdi
xorl %r8d, %r8d
movb (%rsi,%r8), %r9b
movb 0x1(%rsi,%rdi), %r10b
movb %r10b, (%rsi,%r8)
movb %r9b, 0x1(%rsi,%rdi)
incq %r8
leaq -0x1(%rdi), %r9
cmpq %rdi, %r8
movq %r9, %rdi
jl 0x5d9cf
movslq %edx, %rdx
addq %rdx, %rcx
incq %rax
cmpq %r15, %rcx
jb 0x5d990
movq 0xe0(%rsp), %rax
addq %rax, %r14
movq %r14, 0x38(%rsp)
addq %r11, %rax
testq %r15, %r15
movq %rax, 0xe0(%rsp)
movq %r11, 0x118(%rsp)
je 0x5f5c5
movq 0x418(%rbx), %rcx
movq %rcx, 0xc0(%rsp)
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
movq $0x0, 0x78(%rsp)
xorl %ecx, %ecx
movq $0x0, 0xd0(%rsp)
xorl %r14d, %r14d
xorl %r13d, %r13d
movl $0x0, 0x30(%rsp)
xorl %r10d, %r10d
xorl %r8d, %r8d
xorl %r9d, %r9d
movq %rax, %r11
movslq (%r12), %rax
cmpq %rax, %rcx
jge 0x5f5b3
movq 0x8(%r12), %rax
cmpl $0x0, (%rax,%rcx,4)
je 0x5f5b3
movq 0xc0(%rsp), %rax
cmpl $0x0, 0x8(%rax)
movq %rcx, 0x90(%rsp)
jne 0x5dabc
movq 0x40(%rsp), %rax
movl 0x4(%rax), %eax
xorl %edi, %edi
testb $0x1, %al
jne 0x5dabc
movl %r13d, %r12d
movq 0x40(%rsp), %r13
jmp 0x5dc58
movq %r14, 0x20(%rsp)
movq 0x10(%r12), %rax
movl (%rax,%rcx,4), %edx
shrl $0x10, %edx
xorl %r12d, %r12d
leaq 0x11a8(%rsp), %r14
cmpw %dx, 0x11aa(%rsp)
je 0x5daf8
xorl %r12d, %r12d
movq %r14, %rax
movzwl (%r14), %ecx
addq $0x4, %r14
addl %ecx, %r12d
cmpw %dx, 0x6(%rax)
jne 0x5dae4
movl %edx, 0x6c(%rsp)
movzwl (%r14), %ecx
movl 0x11a0(%rsp), %esi
movl %ebp, %eax
xorl %edx, %edx
divl %esi
movl %eax, %r15d
imull %eax, %r12d
imull %ecx, %r15d
addl %r13d, %r12d
adcl $0x0, %r9d
cmpl $0xffffff, %r15d        # imm = 0xFFFFFF
ja 0x5dbc9
movl %r9d, %eax
movl %r9d, %ecx
movq 0x40(%rsp), %r13
cmpl $0xff000000, %r12d      # imm = 0xFF000000
jb 0x5db49
testl %ecx, %ecx
jne 0x5db49
incl %r10d
jmp 0x5db96
movl %r10d, %edx
movq 0x38(%rsp), %rsi
subq %r11, %rsi
cmpq %rdx, %rsi
jle 0x5db9e
addl %r8d, %eax
leaq 0x1(%r11), %rdi
movb %al, (%r11)
testl %r10d, %r10d
je 0x5db84
decb %r9b
movzbl %r9b, %esi
movq %r11, %rbx
movq %r10, %rbp
callq 0x4260
decl %ebp
leaq (%rbx,%rbp), %rdi
addq $0x2, %rdi
movl %r12d, %r8d
shrl $0x18, %r8d
xorl %r9d, %r9d
movq %rdi, %r11
xorl %r10d, %r10d
xorl %eax, %eax
shll $0x8, %r12d
xorl %ecx, %ecx
jmp 0x5dba6
movl $0xffffffff, 0x30(%rsp) # imm = 0xFFFFFFFF
movl %r15d, %ebp
shll $0x8, %ebp
cmpl $0x10000, %r15d         # imm = 0x10000
movl %ebp, %r15d
jb 0x5db37
movzwl (%r14), %ecx
movl 0x11a0(%rsp), %esi
jmp 0x5dbd1
movl %r15d, %ebp
movq 0x40(%rsp), %r13
addl $0x10, %ecx
movw %cx, (%r14)
addl $0x10, %esi
movl %esi, 0x11a0(%rsp)
cmpl $0xfff0, %esi           # imm = 0xFFF0
movl 0x6c(%rsp), %edi
jb 0x5dc37
movl $0x0, 0x11a0(%rsp)
movzwl 0x11a8(%rsp), %eax
testw %ax, %ax
je 0x5dc37
xorl %ecx, %ecx
leaq 0x11ac(%rsp), %rdx
movzwl %ax, %esi
shrl %esi
subl %esi, %eax
movw %ax, -0x4(%rdx)
movzwl %ax, %eax
addl %eax, %ecx
movzwl (%rdx), %eax
addq $0x4, %rdx
testw %ax, %ax
jne 0x5dc10
movl %ecx, 0x11a0(%rsp)
movzwl (%r14), %ecx
cmpw -0x4(%r14), %cx
jbe 0x5dc4f
movq -0x4(%r14), %xmm0
pshufd $0xe1, %xmm0, %xmm0     # xmm0 = xmm0[1,0,2,3]
movq %xmm0, -0x4(%r14)
movl 0x4(%r13), %eax
movq 0x20(%rsp), %r14
movl %edi, %ecx
testb $0x2, %al
je 0x5dc6b
movl %edi, %eax
movq 0xe8(%rsp), %rcx
movl (%rcx,%rax,4), %ecx
movq 0x418(%r13), %rsi
movslq %ecx, %rax
imulq $0x1c64, %rax, %rbx     # imm = 0x1C64
movq 0x70(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x90(%rsp), %rcx
movl (%rax,%rcx,4), %edx
movq %rsi, 0x60(%rsp)
movq %rbx, 0x18(%rsp)
cmpl $0x0, 0x14(%rsi,%rbx)
setne %al
testb %al, %r14b
movl %edi, 0x6c(%rsp)
movq %rdx, 0x20(%rsp)
jne 0x5e282
movzbl %dl, %eax
xorl %r14d, %r14d
leaq 0x150(%rsp), %r15
cmpw %ax, 0x152(%rsp)
je 0x5dce3
xorl %r14d, %r14d
movq %r15, %rcx
movzwl (%r15), %edx
addq $0x4, %r15
addl %edx, %r14d
cmpw %ax, 0x6(%rcx)
jne 0x5dccf
movzwl (%r15), %ecx
movl 0x148(%rsp), %esi
movl %ebp, %eax
xorl %edx, %edx
divl %esi
movl %eax, %ebp
imull %eax, %r14d
imull %ecx, %ebp
addl %r12d, %r14d
adcl $0x0, %r9d
cmpl $0xffffff, %ebp         # imm = 0xFFFFFF
ja 0x5dda2
movl %r9d, %ecx
movl %r9d, %esi
cmpl $0xff000000, %r14d      # imm = 0xFF000000
jb 0x5dd28
testl %esi, %esi
jne 0x5dd28
incl %r10d
jmp 0x5dd76
movl %r10d, %edx
movq 0x38(%rsp), %rax
subq %r11, %rax
cmpq %rdx, %rax
jle 0x5dd7e
addl %r8d, %ecx
leaq 0x1(%r11), %rdi
movb %cl, (%r11)
testl %r10d, %r10d
je 0x5dd64
decb %r9b
movzbl %r9b, %esi
movq %r11, %rbx
movq %r10, %r12
callq 0x4260
decl %r12d
leaq (%rbx,%r12), %rdi
addq $0x2, %rdi
movl %r14d, %r8d
shrl $0x18, %r8d
xorl %r9d, %r9d
movq %rdi, %r11
xorl %r10d, %r10d
xorl %ecx, %ecx
shll $0x8, %r14d
xorl %esi, %esi
jmp 0x5dd86
movl $0xffffffff, 0x30(%rsp) # imm = 0xFFFFFFFF
movl %ebp, %eax
shll $0x8, %eax
cmpl $0x10000, %ebp          # imm = 0x10000
movl %eax, %ebp
jb 0x5dd16
movzwl (%r15), %ecx
movl 0x148(%rsp), %esi
jmp 0x5dda4
movl %ebp, %eax
addl $0x10, %ecx
movw %cx, (%r15)
addl $0x10, %esi
movl %esi, 0x148(%rsp)
cmpl $0xfff0, %esi           # imm = 0xFFF0
jb 0x5de06
movl $0x0, 0x148(%rsp)
movzwl 0x150(%rsp), %edx
testw %dx, %dx
je 0x5de06
xorl %ecx, %ecx
leaq 0x154(%rsp), %rsi
movzwl %dx, %edi
shrl %edi
subl %edi, %edx
movw %dx, -0x4(%rsi)
movzwl %dx, %edx
addl %edx, %ecx
movzwl (%rsi), %edx
addq $0x4, %rsi
testw %dx, %dx
jne 0x5dddf
movl %ecx, 0x148(%rsp)
movzwl (%r15), %ecx
cmpw -0x4(%r15), %cx
jbe 0x5de1e
movq -0x4(%r15), %xmm0
pshufd $0xe1, %xmm0, %xmm0     # xmm0 = xmm0[1,0,2,3]
movq %xmm0, -0x4(%r15)
movzwl 0x20(%rsp), %ecx
shrl $0x8, %ecx
xorl %r15d, %r15d
leaq 0x560(%rsp), %r12
cmpw %cx, 0x562(%rsp)
je 0x5de53
xorl %r15d, %r15d
movq %r12, %rdx
movzwl (%r12), %esi
addq $0x4, %r12
addl %esi, %r15d
cmpw %cx, 0x6(%rdx)
jne 0x5de3e
movzwl (%r12), %ecx
movl 0x558(%rsp), %esi
xorl %edx, %edx
divl %esi
movl %eax, %ebp
imull %eax, %r15d
imull %ecx, %ebp
addl %r14d, %r15d
adcl $0x0, %r9d
cmpl $0xffffff, %ebp         # imm = 0xFFFFFF
ja 0x5df12
movl %r9d, %ecx
movl %r9d, %esi
cmpl $0xff000000, %r15d      # imm = 0xFF000000
jb 0x5de97
testl %esi, %esi
jne 0x5de97
incl %r10d
jmp 0x5dee5
movl %r10d, %edx
movq 0x38(%rsp), %rax
subq %r11, %rax
cmpq %rdx, %rax
jle 0x5deed
addl %r8d, %ecx
leaq 0x1(%r11), %rdi
movb %cl, (%r11)
testl %r10d, %r10d
je 0x5ded3
decb %r9b
movzbl %r9b, %esi
movq %r11, %rbx
movq %r10, %r14
callq 0x4260
decl %r14d
leaq (%rbx,%r14), %rdi
addq $0x2, %rdi
movl %r15d, %r8d
shrl $0x18, %r8d
xorl %r9d, %r9d
movq %rdi, %r11
xorl %r10d, %r10d
xorl %ecx, %ecx
shll $0x8, %r15d
xorl %esi, %esi
jmp 0x5def5
movl $0xffffffff, 0x30(%rsp) # imm = 0xFFFFFFFF
movl %ebp, %eax
shll $0x8, %eax
cmpl $0x10000, %ebp          # imm = 0x10000
movl %eax, %ebp
jb 0x5de85
movzwl (%r12), %ecx
movl 0x558(%rsp), %esi
jmp 0x5df14
movl %ebp, %eax
addl $0x10, %ecx
movw %cx, (%r12)
addl $0x10, %esi
movl %esi, 0x558(%rsp)
cmpl $0xfff0, %esi           # imm = 0xFFF0
jb 0x5df78
movl $0x0, 0x558(%rsp)
movzwl 0x560(%rsp), %edx
testw %dx, %dx
je 0x5df78
xorl %ecx, %ecx
leaq 0x564(%rsp), %rsi
movzwl %dx, %edi
shrl %edi
subl %edi, %edx
movw %dx, -0x4(%rsi)
movzwl %dx, %edx
addl %edx, %ecx
movzwl (%rsi), %edx
addq $0x4, %rsi
testw %dx, %dx
jne 0x5df50
movl %ecx, 0x558(%rsp)
movzwl (%r12), %ecx
cmpw -0x4(%r12), %cx
jbe 0x5df93
movq -0x4(%r12), %xmm0
pshufd $0xe1, %xmm0, %xmm0     # xmm0 = xmm0[1,0,2,3]
movq %xmm0, -0x4(%r12)
movq 0x20(%rsp), %rcx
shrl $0x10, %ecx
movzbl %cl, %ecx
xorl %r14d, %r14d
leaq 0x970(%rsp), %r12
cmpw %cx, 0x972(%rsp)
je 0x5dfcb
xorl %r14d, %r14d
movq %r12, %rdx
movzwl (%r12), %esi
addq $0x4, %r12
addl %esi, %r14d
cmpw %cx, 0x6(%rdx)
jne 0x5dfb6
movzwl (%r12), %ecx
movl 0x968(%rsp), %esi
xorl %edx, %edx
divl %esi
movl %eax, %ebp
imull %eax, %r14d
imull %ecx, %ebp
addl %r15d, %r14d
adcl $0x0, %r9d
cmpl $0xffffff, %ebp         # imm = 0xFFFFFF
ja 0x5e08a
movl %r9d, %ecx
movl %r9d, %esi
cmpl $0xff000000, %r14d      # imm = 0xFF000000
jb 0x5e00f
testl %esi, %esi
jne 0x5e00f
incl %r10d
jmp 0x5e05d
movl %r10d, %edx
movq 0x38(%rsp), %rax
subq %r11, %rax
cmpq %rdx, %rax
jle 0x5e065
addl %r8d, %ecx
leaq 0x1(%r11), %rdi
movb %cl, (%r11)
testl %r10d, %r10d
je 0x5e04b
decb %r9b
movzbl %r9b, %esi
movq %r11, %rbx
movq %r10, %r15
callq 0x4260
decl %r15d
leaq (%rbx,%r15), %rdi
addq $0x2, %rdi
movl %r14d, %r8d
shrl $0x18, %r8d
xorl %r9d, %r9d
movq %rdi, %r11
xorl %r10d, %r10d
xorl %ecx, %ecx
shll $0x8, %r14d
xorl %esi, %esi
jmp 0x5e06d
movl $0xffffffff, 0x30(%rsp) # imm = 0xFFFFFFFF
movl %ebp, %eax
shll $0x8, %eax
cmpl $0x10000, %ebp          # imm = 0x10000
movl %eax, %ebp
jb 0x5dffd
movzwl (%r12), %ecx
movl 0x968(%rsp), %esi
jmp 0x5e08c
movl %ebp, %eax
addl $0x10, %ecx
movw %cx, (%r12)
addl $0x10, %esi
movl %esi, 0x968(%rsp)
cmpl $0xfff0, %esi           # imm = 0xFFF0
jb 0x5e0f0
movl $0x0, 0x968(%rsp)
movzwl 0x970(%rsp), %edx
testw %dx, %dx
je 0x5e0f0
xorl %ecx, %ecx
leaq 0x974(%rsp), %rsi
movzwl %dx, %edi
shrl %edi
subl %edi, %edx
movw %dx, -0x4(%rsi)
movzwl %dx, %edx
addl %edx, %ecx
movzwl (%rsi), %edx
addq $0x4, %rsi
testw %dx, %dx
jne 0x5e0c8
movl %ecx, 0x968(%rsp)
movzwl (%r12), %ecx
cmpw -0x4(%r12), %cx
jbe 0x5e10b
movq -0x4(%r12), %xmm0
pshufd $0xe1, %xmm0, %xmm0     # xmm0 = xmm0[1,0,2,3]
movq %xmm0, -0x4(%r12)
movq 0x20(%rsp), %rcx
shrl $0x18, %ecx
xorl %r12d, %r12d
leaq 0xd80(%rsp), %rbx
cmpw %cx, 0xd82(%rsp)
je 0x5e13e
xorl %r12d, %r12d
movq %rbx, %rdx
movzwl (%rbx), %esi
addq $0x4, %rbx
addl %esi, %r12d
cmpw %cx, 0x6(%rdx)
jne 0x5e12b
movzwl (%rbx), %ecx
movl 0xd78(%rsp), %esi
xorl %edx, %edx
divl %esi
movl %eax, %r15d
imull %eax, %r12d
imull %ecx, %r15d
addl %r14d, %r12d
adcl $0x0, %r9d
cmpl $0xffffff, %r15d        # imm = 0xFFFFFF
ja 0x5e202
movl %r9d, %eax
movl %r9d, %ecx
cmpl $0xff000000, %r12d      # imm = 0xFF000000
jb 0x5e183
testl %ecx, %ecx
jne 0x5e183
incl %r10d
jmp 0x5e1d0
movl %r10d, %edx
movq 0x38(%rsp), %rsi
subq %r11, %rsi
cmpq %rdx, %rsi
jle 0x5e1d8
addl %r8d, %eax
leaq 0x1(%r11), %rdi
movb %al, (%r11)
testl %r10d, %r10d
je 0x5e1be
decb %r9b
movzbl %r9b, %esi
movq %r11, %r14
movq %r10, %rbp
callq 0x4260
decl %ebp
leaq (%r14,%rbp), %rdi
addq $0x2, %rdi
movl %r12d, %r8d
shrl $0x18, %r8d
xorl %r9d, %r9d
movq %rdi, %r11
xorl %r10d, %r10d
xorl %eax, %eax
shll $0x8, %r12d
xorl %ecx, %ecx
jmp 0x5e1e0
movl $0xffffffff, 0x30(%rsp) # imm = 0xFFFFFFFF
movl %r15d, %ebp
shll $0x8, %ebp
cmpl $0x10000, %r15d         # imm = 0x10000
movl %ebp, %r15d
jb 0x5e171
movzwl (%rbx), %ecx
movl 0xd78(%rsp), %esi
jmp 0x5e205
movl %r15d, %ebp
addl $0x10, %ecx
movw %cx, (%rbx)
addl $0x10, %esi
movl %esi, 0xd78(%rsp)
cmpl $0xfff0, %esi           # imm = 0xFFF0
jb 0x5e265
movl $0x0, 0xd78(%rsp)
movzwl 0xd80(%rsp), %eax
testw %ax, %ax
je 0x5e265
xorl %ecx, %ecx
leaq 0xd84(%rsp), %rdx
movzwl %ax, %esi
shrl %esi
subl %esi, %eax
movw %ax, -0x4(%rdx)
movzwl %ax, %eax
addl %eax, %ecx
movzwl (%rdx), %eax
addq $0x4, %rdx
testw %ax, %ax
jne 0x5e23f
movl %ecx, 0xd78(%rsp)
movzwl (%rbx), %ecx
cmpw -0x4(%rbx), %cx
jbe 0x5e27a
movq -0x4(%rbx), %xmm0
pshufd $0xe1, %xmm0, %xmm0     # xmm0 = xmm0[1,0,2,3]
movq %xmm0, -0x4(%rbx)
movq 0x90(%rsp), %rcx
movl %r8d, 0x10(%rsp)
testb $0x4, 0x4(%r13)
jne 0x5e29b
movl %r12d, %r13d
movq 0x78(%rsp), %r8
jmp 0x5e431
movq 0x70(%rsp), %rax
movq 0x10(%rax), %rax
movzwl (%rax,%rcx,4), %eax
shrl $0x4, %eax
andl $0x1, %eax
xorl %r13d, %r13d
leaq 0x1190(%rsp), %rbx
cmpw %ax, 0x1192(%rsp)
movq 0x38(%rsp), %r14
movq 0x78(%rsp), %r8
je 0x5e2e3
xorl %r13d, %r13d
movq %rbx, %rcx
movzwl (%rbx), %edx
addq $0x4, %rbx
addl %edx, %r13d
cmpw %ax, 0x6(%rcx)
jne 0x5e2d0
movzwl (%rbx), %ecx
movl 0x1188(%rsp), %esi
movl %ebp, %eax
xorl %edx, %edx
divl %esi
movl %eax, %r15d
imull %eax, %r13d
imull %ecx, %r15d
addl %r12d, %r13d
adcl $0x0, %r9d
cmpl $0xffffff, %r15d        # imm = 0xFFFFFF
ja 0x5e3b9
movl %r9d, %eax
movl %r9d, %ecx
cmpl $0xff000000, %r13d      # imm = 0xFF000000
jb 0x5e32a
testl %ecx, %ecx
jne 0x5e32a
incl %r10d
jmp 0x5e387
movl %r10d, %edx
movq %r14, %rsi
subq %r11, %rsi
cmpq %rdx, %rsi
jle 0x5e38f
addl 0x10(%rsp), %eax
leaq 0x1(%r11), %rdi
movb %al, (%r11)
testl %r10d, %r10d
je 0x5e372
decb %r9b
movzbl %r9b, %esi
movl %r13d, %r12d
movq %r11, %r13
movq %r10, %rbp
callq 0x4260
decl %ebp
leaq 0x2(,%rbp), %rdi
addq %r13, %rdi
movl %r12d, %r13d
movq 0x78(%rsp), %r8
movl %r13d, %eax
shrl $0x18, %eax
movl %eax, 0x10(%rsp)
xorl %r9d, %r9d
movq %rdi, %r11
xorl %r10d, %r10d
xorl %eax, %eax
shll $0x8, %r13d
xorl %ecx, %ecx
jmp 0x5e397
movl $0xffffffff, 0x30(%rsp) # imm = 0xFFFFFFFF
movl %r15d, %ebp
shll $0x8, %ebp
cmpl $0x10000, %r15d         # imm = 0x10000
movl %ebp, %r15d
jb 0x5e318
movzwl (%rbx), %ecx
movl 0x1188(%rsp), %esi
jmp 0x5e3bc
movl %r15d, %ebp
addl $0x10, %ecx
movw %cx, (%rbx)
addl $0x10, %esi
movl %esi, 0x1188(%rsp)
cmpl $0xfff0, %esi           # imm = 0xFFF0
jb 0x5e41c
movl $0x0, 0x1188(%rsp)
movzwl 0x1190(%rsp), %eax
testw %ax, %ax
je 0x5e41c
xorl %ecx, %ecx
leaq 0x1194(%rsp), %rdx
movzwl %ax, %esi
shrl %esi
subl %esi, %eax
movw %ax, -0x4(%rdx)
movzwl %ax, %eax
addl %eax, %ecx
movzwl (%rdx), %eax
addq $0x4, %rdx
testw %ax, %ax
jne 0x5e3f6
movl %ecx, 0x1188(%rsp)
movzwl (%rbx), %ecx
cmpw -0x4(%rbx), %cx
jbe 0x5e431
movq -0x4(%rbx), %xmm0
pshufd $0xe1, %xmm0, %xmm0     # xmm0 = xmm0[1,0,2,3]
movq %xmm0, -0x4(%rbx)
movq 0x60(%rsp), %rcx
addq 0x18(%rsp), %rcx
movzwl (%rcx), %eax
movl %eax, 0x58(%rsp)
cmpl $0x0, 0xc(%rcx)
je 0x5e4a1
testq %r8, %r8
setne %al
movq 0xd0(%rsp), %rdx
cmpl %edx, 0x20(%rsp)
sete %cl
testb %cl, %al
je 0x5e4b8
movl %r9d, %r12d
movq %r10, %r15
movq %r11, %rbx
movq 0x88(%rsp), %rax
leaq (%rax,%r8), %rsi
movl %edx, %eax
movq %rsi, %rdi
subq %rax, %rdi
movslq %edx, %rdx
callq 0x44d0
movzwl 0x15ba(%rsp), %ecx
testl %eax, %eax
je 0x5f401
movq %rbx, %r11
movq %r15, %r10
movl %r12d, %r9d
jmp 0x5e4c0
movl 0x10(%rsp), %r8d
movq 0xd0(%rsp), %rax
movq 0x20(%rsp), %rdx
jmp 0x5e638
movzwl 0x15ba(%rsp), %ecx
movl 0x10(%rsp), %r8d
movl %r13d, %edi
xorl %r13d, %r13d
leaq 0x15b8(%rsp), %r14
testw %cx, %cx
je 0x5e4eb
movzwl (%r14), %eax
addl %eax, %r13d
cmpw $0x0, 0x6(%r14)
leaq 0x4(%r14), %r14
jne 0x5e4d8
movzwl (%r14), %ecx
movl 0x15b0(%rsp), %esi
movl %ebp, %eax
xorl %edx, %edx
divl %esi
movl %eax, %r15d
imull %eax, %r13d
imull %ecx, %r15d
addl %edi, %r13d
adcl $0x0, %r9d
cmpl $0xffffff, %r15d        # imm = 0xFFFFFF
ja 0x5e5b4
movl %r9d, %eax
movl %r9d, %ecx
cmpl $0xff000000, %r13d      # imm = 0xFF000000
jb 0x5e533
testl %ecx, %ecx
jne 0x5e533
incl %r10d
jmp 0x5e581
movl %r10d, %edx
movq 0x38(%rsp), %rsi
subq %r11, %rsi
cmpq %rdx, %rsi
jle 0x5e589
addl %r8d, %eax
leaq 0x1(%r11), %rdi
movb %al, (%r11)
testl %r10d, %r10d
je 0x5e56f
decb %r9b
movzbl %r9b, %esi
movq %r11, %rbx
movq %r10, %r12
callq 0x4260
decl %r12d
leaq (%rbx,%r12), %rdi
addq $0x2, %rdi
movl %r13d, %r8d
shrl $0x18, %r8d
xorl %r9d, %r9d
movq %rdi, %r11
xorl %r10d, %r10d
xorl %eax, %eax
shll $0x8, %r13d
xorl %ecx, %ecx
jmp 0x5e591
movl $0xffffffff, 0x30(%rsp) # imm = 0xFFFFFFFF
movl %r15d, %ebp
shll $0x8, %ebp
cmpl $0x10000, %r15d         # imm = 0x10000
movl %ebp, %r15d
jb 0x5e521
movzwl (%r14), %ecx
movl 0x15b0(%rsp), %esi
jmp 0x5e5b7
movl %r15d, %ebp
addl $0x10, %ecx
movw %cx, (%r14)
addl $0x10, %esi
movl %esi, 0x15b0(%rsp)
cmpl $0xfff0, %esi           # imm = 0xFFF0
jb 0x5e619
movl $0x0, 0x15b0(%rsp)
movzwl 0x15b8(%rsp), %eax
testw %ax, %ax
je 0x5e619
xorl %ecx, %ecx
leaq 0x15bc(%rsp), %rdx
movzwl %ax, %esi
shrl %esi
subl %esi, %eax
movw %ax, -0x4(%rdx)
movzwl %ax, %eax
addl %eax, %ecx
movzwl (%rdx), %eax
addq $0x4, %rdx
testw %ax, %ax
jne 0x5e5f2
movl %ecx, 0x15b0(%rsp)
movzwl (%r14), %ecx
cmpw -0x4(%r14), %cx
jbe 0x5e631
movq -0x4(%r14), %xmm0
pshufd $0xe1, %xmm0, %xmm0     # xmm0 = xmm0[1,0,2,3]
movq %xmm0, -0x4(%r14)
movq 0x20(%rsp), %rdx
movl %edx, %eax
movq %rax, 0xd0(%rsp)
cmpl $0x4, %edx
jb 0x5f085
movl %r8d, 0x10(%rsp)
movq 0x78(%rsp), %rcx
leaq 0x4(%rcx), %rax
movq %rax, 0x120(%rsp)
movq 0x88(%rsp), %rax
addq %rcx, %rax
movq %rax, 0xf0(%rsp)
movl %edx, %esi
andl $-0x4, %esi
decl %esi
xorl %eax, %eax
movq $-0x1, %r8
xorl %ebx, %ebx
movl $0x0, 0x68(%rsp)
movq %rsi, 0x100(%rsp)
movl %r9d, 0x2c(%rsp)
movq %rax, 0x60(%rsp)
movq 0x120(%rsp), %rax
addq %r8, %rax
cmpq 0x48(%rsp), %rax
movq %r11, 0x18(%rsp)
jae 0x5f0b6
movq %r10, 0xa0(%rsp)
movq 0x140(%rsp), %r11
movl 0x58(%rsp), %eax
imulq $0x410, %rax, %rax      # imm = 0x410
movq %rax, 0x110(%rsp)
leaq (%r11,%rax), %r15
addq $0x8, %r15
movq %r11, 0x98(%rsp)
movl -0x8(%r15), %eax
movl %eax, 0xcc(%rsp)
movq 0xc0(%rsp), %r14
movb 0x1c48(%r14), %cl
movb %cl, 0x54(%rsp)
movl 0x68(%rsp), %eax
shll %cl, %eax
movq 0xf0(%rsp), %rcx
movzbl 0x1(%rcx,%r8), %ecx
movzbl 0x48(%r14,%rcx,4), %edi
addl 0x448(%r14,%rdi,4), %eax
movl $0x3ff, %ecx            # imm = 0x3FF
cmpl %ecx, %edx
movl $0x3ff, %r9d            # imm = 0x3FF
cmovbl %edx, %r9d
movl $0xff, %ecx
cmpl %ecx, %ebx
movl $0xff, %r10d
cmovbl %ebx, %r10d
movl 0x1c58(%r14), %ecx
movl %ecx, 0x80(%rsp)
movq %rdx, %rsi
movq %rdx, 0x20(%rsp)
movq %r8, %r12
movq %r8, 0xb8(%rsp)
movl %ecx, %r8d
andl %eax, %r8d
movb 0x20(%r14), %cl
movb %cl, 0xf(%rsp)
shll %cl, %r8d
addl 0x848(%r14,%r9,4), %r8d
movb 0x38(%r14), %cl
addl 0x1848(%r14,%r10,4), %r8d
movl 0x6c(%rsp), %edx
shll %cl, %edx
addl %edx, %r8d
xorl %r9d, %r9d
cmpl %edi, 0x60(%rsp)
setne %r9b
addl %ebx, %r9d
leal -0x1(%rsi), %r10d
movl $0xffff, %ecx           # imm = 0xFFFF
andl %ecx, %r8d
imulq $0x410, %r8, %rcx       # imm = 0x410
movq %rcx, 0xf8(%rsp)
movl (%r11,%rcx), %ecx
movq 0xf0(%rsp), %rsi
movzbl 0x2(%rsi,%r12), %ecx
movl 0x48(%r14,%rcx,4), %r8d
movq %r8, 0x128(%rsp)
movb 0x54(%rsp), %r12b
movl %r12d, %ecx
shll %cl, %eax
movl $0xff, %ecx
andl %ecx, %r8d
addl 0x448(%r14,%r8,4), %eax
movl $0x3ff, %r11d           # imm = 0x3FF
cmpl %r11d, %r10d
cmovael %r11d, %r10d
cmpl %ecx, %r9d
movl $0xff, %r11d
cmovbl %r9d, %r11d
movl %eax, %ebx
andl 0x80(%rsp), %ebx
movb 0xf(%rsp), %cl
shll %cl, %ebx
movl 0x848(%r14,%r10,4), %ecx
addl %edx, %ecx
addl 0x1848(%r14,%r11,4), %ecx
addl %ebx, %ecx
xorl %r10d, %r10d
cmpl %r8d, %edi
setne %r10b
addl %r9d, %r10d
movl $0xffff, %r9d           # imm = 0xFFFF
andl %r9d, %ecx
imulq $0x410, %rcx, %rcx      # imm = 0x410
movq %rcx, 0xa8(%rsp)
movq 0x98(%rsp), %r9
movl (%r9,%rcx), %ecx
movq 0xb8(%rsp), %rcx
movzbl 0x3(%rsi,%rcx), %ecx
movl 0x48(%r14,%rcx,4), %r9d
movq %r9, 0x130(%rsp)
movl $0xff, %esi
andl %esi, %r9d
movl %r12d, %ecx
shll %cl, %eax
addl 0x448(%r14,%r9,4), %eax
movq 0x20(%rsp), %rcx
addl $-0x2, %ecx
movl $0x3ff, %r11d           # imm = 0x3FF
cmpl %r11d, %ecx
cmovael %r11d, %ecx
cmpl %esi, %r10d
movl $0xff, %r11d
cmovbl %r10d, %r11d
movl 0x848(%r14,%rcx,4), %ebx
movl %edx, 0x58(%rsp)
addl %edx, %ebx
addl 0x1848(%r14,%r11,4), %ebx
movl %eax, %r11d
movl 0x80(%rsp), %r12d
andl %r12d, %r11d
movb 0xf(%rsp), %sil
movl %esi, %ecx
shll %cl, %r11d
addl %r11d, %ebx
xorl %edx, %edx
cmpl %r9d, %r8d
setne %dl
addl %r10d, %edx
movl $0xffff, %ecx           # imm = 0xFFFF
andl %ecx, %ebx
imulq $0x410, %rbx, %rcx      # imm = 0x410
movq %rcx, 0xb0(%rsp)
movq 0x98(%rsp), %r8
movl (%r8,%rcx), %ecx
movq 0xb8(%rsp), %rcx
movq 0xf0(%rsp), %r8
movzbl 0x4(%r8,%rcx), %ecx
movl 0x48(%r14,%rcx,4), %r11d
movb 0x54(%rsp), %cl
shll %cl, %eax
movl %r11d, %r10d
movl $0xff, %r8d
andl %r8d, %r10d
addl 0x448(%r14,%r10,4), %eax
movq 0x20(%rsp), %rcx
leal -0x3(%rcx), %ebx
movl $0x3ff, %ecx            # imm = 0x3FF
cmpl %ecx, %ebx
cmovael %ecx, %ebx
cmpl %r8d, %edx
movl $0xff, %r8d
movl %edx, 0x54(%rsp)
cmovbl %edx, %r8d
movl %eax, 0x68(%rsp)
movl %r12d, %edx
andl %eax, %edx
movl %esi, %ecx
shll %cl, %edx
movl %edx, 0x80(%rsp)
movq %r10, 0x60(%rsp)
cmpl %r10d, %r9d
setne %al
xorl %r14d, %r14d
cmpw %di, 0x2(%r15)
movb %al, 0xf(%rsp)
movq %r11, 0x138(%rsp)
jne 0x5e9bd
movq 0x18(%rsp), %r11
movq 0xa0(%rsp), %r10
movl 0x2c(%rsp), %r9d
jmp 0x5e9e6
xorl %r14d, %r14d
movl 0x2c(%rsp), %r9d
movq %r15, %rcx
movzwl (%r15), %edx
addq $0x4, %r15
addl %edx, %r14d
cmpw %di, 0x6(%rcx)
jne 0x5e9c5
movq 0x18(%rsp), %r11
movq 0xa0(%rsp), %r10
movl 0xcc(%rsp), %esi
movq 0xc0(%rsp), %rcx
movl 0x58(%rsp), %eax
addl 0x848(%rcx,%rbx,4), %eax
addl 0x1848(%rcx,%r8,4), %eax
movl %eax, 0x58(%rsp)
movq 0x98(%rsp), %rax
movq 0x110(%rsp), %rcx
addq %rcx, %rax
movq %rax, 0xa0(%rsp)
movzwl (%r15), %ecx
movl %ebp, %eax
xorl %edx, %edx
divl %esi
movl %eax, %ebp
imull %eax, %r14d
imull %ecx, %ebp
addl %r13d, %r14d
adcl $0x0, %r9d
cmpl $0xffffff, %ebp         # imm = 0xFFFFFF
ja 0x5eaea
movl %r9d, %ecx
movl %r9d, %esi
movq 0x38(%rsp), %r13
movl 0x10(%rsp), %r8d
cmpl $0xff000000, %r14d      # imm = 0xFF000000
jb 0x5ea6f
testl %esi, %esi
jne 0x5ea6f
incl %r10d
jmp 0x5eabb
movl %r10d, %edx
movq %r13, %rax
subq %r11, %rax
cmpq %rdx, %rax
jle 0x5eac3
addl %r8d, %ecx
leaq 0x1(%r11), %rdi
movb %cl, (%r11)
testl %r10d, %r10d
je 0x5eaa9
decb %r9b
movzbl %r9b, %esi
movq %r11, %rbx
movq %r10, %r12
callq 0x4260
decl %r12d
leaq (%rbx,%r12), %rdi
addq $0x2, %rdi
movl %r14d, %r8d
shrl $0x18, %r8d
xorl %r9d, %r9d
movq %rdi, %r11
xorl %r10d, %r10d
xorl %ecx, %ecx
shll $0x8, %r14d
xorl %esi, %esi
jmp 0x5eacb
movl $0xffffffff, 0x30(%rsp) # imm = 0xFFFFFFFF
movl %ebp, %eax
shll $0x8, %eax
cmpl $0x10000, %ebp          # imm = 0x10000
movl %eax, %ebp
jb 0x5ea5d
movzwl (%r15), %ecx
movq 0xa0(%rsp), %rbx
movl (%rbx), %esi
jmp 0x5eafe
movl %ebp, %eax
movq 0x38(%rsp), %r13
movl 0x10(%rsp), %r8d
movq 0xa0(%rsp), %rbx
addl $0x10, %ecx
movw %cx, (%r15)
addl $0x10, %esi
movl %esi, (%rbx)
cmpl $0xfff0, %esi           # imm = 0xFFF0
jb 0x5eb5c
movl $0x0, (%rbx)
movzwl 0x8(%rbx), %edx
testw %dx, %dx
je 0x5eb5c
movq 0x98(%rsp), %rcx
movq 0x110(%rsp), %rsi
addq %rcx, %rsi
addq $0xc, %rsi
xorl %ecx, %ecx
movzwl %dx, %edi
shrl %edi
subl %edi, %edx
movw %dx, -0x4(%rsi)
movzwl %dx, %edx
addl %edx, %ecx
movzwl (%rsi), %edx
addq $0x4, %rsi
testw %dx, %dx
jne 0x5eb3a
movl %ecx, (%rbx)
movzwl (%r15), %ecx
cmpw -0x4(%r15), %cx
jbe 0x5eb74
movq -0x4(%r15), %xmm0
pshufd $0xe1, %xmm0, %xmm0     # xmm0 = xmm0[1,0,2,3]
movq %xmm0, -0x4(%r15)
movq 0x140(%rsp), %rdi
movzbl 0x128(%rsp), %ecx
movq 0xf8(%rsp), %rdx
leaq (%rdi,%rdx), %r15
addq $0x8, %r15
xorl %ebx, %ebx
cmpw %cx, 0x2(%r15)
je 0x5ebb2
xorl %ebx, %ebx
movq %r15, %rdx
movzwl (%r15), %esi
addq $0x4, %r15
addl %esi, %ebx
cmpw %cx, 0x6(%rdx)
jne 0x5eb9f
movq 0xf8(%rsp), %rcx
movq %rdi, 0x10(%rsp)
leaq (%rdi,%rcx), %rdx
movzwl (%r15), %ecx
movq %rdx, 0x18(%rsp)
movl (%rdx), %esi
xorl %edx, %edx
divl %esi
movl %eax, %ebp
imull %eax, %ebx
imull %ecx, %ebp
addl %r14d, %ebx
adcl $0x0, %r9d
cmpl $0xffffff, %ebp         # imm = 0xFFFFFF
ja 0x5ec7c
movl %r9d, %ecx
movl %r9d, %esi
cmpl $0xff000000, %ebx       # imm = 0xFF000000
jb 0x5ec04
testl %esi, %esi
jne 0x5ec04
incl %r10d
jmp 0x5ec50
movl %r10d, %edx
movq %r13, %rax
subq %r11, %rax
cmpq %rdx, %rax
jle 0x5ec57
addl %r8d, %ecx
leaq 0x1(%r11), %rdi
movb %cl, (%r11)
testl %r10d, %r10d
je 0x5ec3e
decb %r9b
movzbl %r9b, %esi
movq %r11, %r14
movq %r10, %r12
callq 0x4260
decl %r12d
leaq (%r14,%r12), %rdi
addq $0x2, %rdi
movl %ebx, %r8d
shrl $0x18, %r8d
xorl %r9d, %r9d
movq %rdi, %r11
xorl %r10d, %r10d
xorl %ecx, %ecx
shll $0x8, %ebx
xorl %esi, %esi
jmp 0x5ec5f
movl $0xffffffff, 0x30(%rsp) # imm = 0xFFFFFFFF
movl %ebp, %eax
shll $0x8, %eax
cmpl $0x10000, %ebp          # imm = 0x10000
movl %eax, %ebp
jb 0x5ebf3
movzwl (%r15), %ecx
movq 0x18(%rsp), %r14
movl (%r14), %esi
jmp 0x5ec83
movl %ebp, %eax
movq 0x18(%rsp), %r14
addl $0x10, %ecx
movw %cx, (%r15)
addl $0x10, %esi
movl %esi, (%r14)
cmpl $0xfff0, %esi           # imm = 0xFFF0
movq 0x10(%rsp), %rsi
jb 0x5ece2
movl $0x0, (%r14)
movzwl 0x8(%r14), %edx
testw %dx, %dx
je 0x5ece2
movq 0xf8(%rsp), %rcx
addq %rcx, %rsi
addq $0xc, %rsi
xorl %ecx, %ecx
movzwl %dx, %edi
shrl %edi
subl %edi, %edx
movw %dx, -0x4(%rsi)
movzwl %dx, %edx
addl %edx, %ecx
movzwl (%rsi), %edx
addq $0x4, %rsi
testw %dx, %dx
jne 0x5ecbf
movl %ecx, (%r14)
movzwl (%r15), %ecx
cmpw -0x4(%r15), %cx
jbe 0x5ecfa
movq -0x4(%r15), %xmm0
pshufd $0xe1, %xmm0, %xmm0     # xmm0 = xmm0[1,0,2,3]
movq %xmm0, -0x4(%r15)
movq 0x140(%rsp), %rdi
movzbl 0x130(%rsp), %ecx
movq 0xa8(%rsp), %rdx
leaq (%rdi,%rdx), %r15
addq $0x8, %r15
xorl %r14d, %r14d
cmpw %cx, 0x2(%r15)
je 0x5ed3b
xorl %r14d, %r14d
movq %r15, %rdx
movzwl (%r15), %esi
addq $0x4, %r15
addl %esi, %r14d
cmpw %cx, 0x6(%rdx)
jne 0x5ed27
movq 0xa8(%rsp), %rcx
movq %rdi, 0x10(%rsp)
leaq (%rdi,%rcx), %rdx
movzwl (%r15), %ecx
movq %rdx, 0x18(%rsp)
movl (%rdx), %esi
xorl %edx, %edx
divl %esi
movl %eax, %ebp
imull %eax, %r14d
imull %ecx, %ebp
addl %ebx, %r14d
adcl $0x0, %r9d
cmpl $0xffffff, %ebp         # imm = 0xFFFFFF
ja 0x5ee07
movl %r9d, %ecx
movl %r9d, %esi
cmpl $0xff000000, %r14d      # imm = 0xFF000000
jb 0x5ed8f
testl %esi, %esi
jne 0x5ed8f
incl %r10d
jmp 0x5eddb
movl %r10d, %edx
movq %r13, %rax
subq %r11, %rax
cmpq %rdx, %rax
jle 0x5ede3
addl %r8d, %ecx
leaq 0x1(%r11), %rdi
movb %cl, (%r11)
testl %r10d, %r10d
je 0x5edc9
decb %r9b
movzbl %r9b, %esi
movq %r11, %rbx
movq %r10, %r12
callq 0x4260
decl %r12d
leaq (%rbx,%r12), %rdi
addq $0x2, %rdi
movl %r14d, %r8d
shrl $0x18, %r8d
xorl %r9d, %r9d
movq %rdi, %r11
xorl %r10d, %r10d
xorl %ecx, %ecx
shll $0x8, %r14d
xorl %esi, %esi
jmp 0x5edeb
movl $0xffffffff, 0x30(%rsp) # imm = 0xFFFFFFFF
movl %ebp, %eax
shll $0x8, %eax
cmpl $0x10000, %ebp          # imm = 0x10000
movl %eax, %ebp
jb 0x5ed7d
movzwl (%r15), %ecx
movq 0x18(%rsp), %rbx
movl (%rbx), %esi
jmp 0x5ee0e
movl %ebp, %eax
movq 0x18(%rsp), %rbx
addl $0x10, %ecx
movw %cx, (%r15)
addl $0x10, %esi
movl %esi, (%rbx)
cmpl $0xfff0, %esi           # imm = 0xFFF0
movq 0x10(%rsp), %rsi
jb 0x5ee69
movl $0x0, (%rbx)
movzwl 0x8(%rbx), %edx
testw %dx, %dx
je 0x5ee69
movq 0xa8(%rsp), %rcx
addq %rcx, %rsi
addq $0xc, %rsi
xorl %ecx, %ecx
movzwl %dx, %edi
shrl %edi
subl %edi, %edx
movw %dx, -0x4(%rsi)
movzwl %dx, %edx
addl %edx, %ecx
movzwl (%rsi), %edx
addq $0x4, %rsi
testw %dx, %dx
jne 0x5ee47
movl %ecx, (%rbx)
movzwl (%r15), %ecx
cmpw -0x4(%r15), %cx
jbe 0x5ee81
movq -0x4(%r15), %xmm0
pshufd $0xe1, %xmm0, %xmm0     # xmm0 = xmm0[1,0,2,3]
movq %xmm0, -0x4(%r15)
movq 0x140(%rsp), %rdi
movzbl 0x138(%rsp), %ecx
movq 0xb0(%rsp), %rdx
leaq (%rdi,%rdx), %r12
addq $0x8, %r12
xorl %r13d, %r13d
cmpw %cx, 0x2(%r12)
je 0x5eec4
xorl %r13d, %r13d
movq %r12, %rdx
movzwl (%r12), %esi
addq $0x4, %r12
addl %esi, %r13d
cmpw %cx, 0x6(%rdx)
jne 0x5eeaf
movq 0xb0(%rsp), %rcx
movq %rdi, 0x18(%rsp)
leaq (%rdi,%rcx), %rdx
movzwl (%r12), %ecx
movq %rdx, 0x10(%rsp)
movl (%rdx), %esi
xorl %edx, %edx
divl %esi
movl %eax, %r15d
imull %eax, %r13d
imull %ecx, %r15d
addl %r14d, %r13d
adcl $0x0, %r9d
cmpl $0xffffff, %r15d        # imm = 0xFFFFFF
ja 0x5ef9e
movl %r9d, %eax
movl %r9d, %ecx
cmpl $0xff000000, %r13d      # imm = 0xFF000000
jb 0x5ef1c
testl %ecx, %ecx
jne 0x5ef1c
incl %r10d
jmp 0x5ef6a
movl %r10d, %edx
movq 0x38(%rsp), %rsi
subq %r11, %rsi
cmpq %rdx, %rsi
jle 0x5ef72
addl %r8d, %eax
leaq 0x1(%r11), %rdi
movb %al, (%r11)
testl %r10d, %r10d
je 0x5ef58
decb %r9b
movzbl %r9b, %esi
movq %r11, %rbx
movq %r10, %r14
callq 0x4260
decl %r14d
leaq (%rbx,%r14), %rdi
addq $0x2, %rdi
movl %r13d, %r8d
shrl $0x18, %r8d
xorl %r9d, %r9d
movq %rdi, %r11
xorl %r10d, %r10d
xorl %eax, %eax
shll $0x8, %r13d
xorl %ecx, %ecx
jmp 0x5ef7a
movl $0xffffffff, 0x30(%rsp) # imm = 0xFFFFFFFF
movl %r15d, %ebp
shll $0x8, %ebp
cmpl $0x10000, %r15d         # imm = 0x10000
movl %ebp, %r15d
jb 0x5ef0a
movzwl (%r12), %ecx
movq 0x10(%rsp), %rbx
movl (%rbx), %esi
jmp 0x5efa6
movl %r15d, %ebp
movq 0x10(%rsp), %rbx
addl $0x10, %ecx
movw %cx, (%r12)
addl $0x10, %esi
movl %esi, (%rbx)
cmpl $0xfff0, %esi           # imm = 0xFFF0
jb 0x5f003
movl $0x0, (%rbx)
movzwl 0x8(%rbx), %eax
testw %ax, %ax
je 0x5f003
movq 0xb0(%rsp), %rcx
movq 0x18(%rsp), %rdx
addq %rcx, %rdx
addq $0xc, %rdx
xorl %ecx, %ecx
movzwl %ax, %esi
shrl %esi
subl %esi, %eax
movw %ax, -0x4(%rdx)
movzwl %ax, %eax
addl %eax, %ecx
movzwl (%rdx), %eax
addq $0x4, %rdx
testw %ax, %ax
jne 0x5efe0
movl %ecx, (%rbx)
movzwl (%r12), %ecx
movl %r8d, 0x10(%rsp)
cmpw -0x4(%r12), %cx
jbe 0x5f023
movq -0x4(%r12), %xmm0
pshufd $0xe1, %xmm0, %xmm0     # xmm0 = xmm0[1,0,2,3]
movq %xmm0, -0x4(%r12)
movq 0xb8(%rsp), %r8
addq $0x4, %r8
movl 0x58(%rsp), %ecx
addl 0x80(%rsp), %ecx
xorl %eax, %eax
movb 0xf(%rsp), %dl
movb %dl, %al
movl 0x54(%rsp), %ebx
addl %eax, %ebx
movq 0x20(%rsp), %rdx
addl $-0x4, %edx
movl $0xffff, %eax           # imm = 0xFFFF
andl %eax, %ecx
movl %ecx, 0x58(%rsp)
cmpl $0x3, %edx
movq 0x100(%rsp), %rsi
movq 0x60(%rsp), %rax
ja 0x5e694
movq %r11, 0x18(%rsp)
movl %ebx, %r11d
movl %r9d, 0x2c(%rsp)
movl 0x10(%rsp), %r8d
jmp 0x5f0a8
movq %r11, 0x18(%rsp)
movl %r9d, 0x2c(%rsp)
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
movl $0x0, 0x68(%rsp)
xorl %r11d, %r11d
movq $0x0, 0x60(%rsp)
testl %edx, %edx
movl 0x58(%rsp), %r9d
jne 0x5f0c6
jmp 0x5f3bb
movl %ebx, %r11d
movl %r8d, %esi
movl 0x10(%rsp), %r8d
movl 0x58(%rsp), %r9d
movq 0x88(%rsp), %rax
movq 0x78(%rsp), %rcx
addq %rcx, %rax
movq %rax, 0xa8(%rsp)
movq %rsi, %rcx
movslq %ecx, %rcx
movq %rdx, %rdi
movl %r8d, 0x10(%rsp)
movq 0x60(%rsp), %rax
movl %eax, %r15d
movq 0x140(%rsp), %rdx
movl %r9d, %eax
imulq $0x410, %rax, %rax      # imm = 0x410
movq %rdx, 0x58(%rsp)
movq %rax, 0x80(%rsp)
leaq (%rdx,%rax), %r14
addq $0x8, %r14
movl -0x8(%r14), %esi
movq %rcx, 0x100(%rsp)
movq 0xa8(%rsp), %rax
movzbl 0x1(%rax,%rcx), %eax
movq 0xc0(%rsp), %r9
movb 0x1c48(%r9), %cl
movl 0x68(%rsp), %ebx
shll %cl, %ebx
movzbl 0x48(%r9,%rax,4), %r8d
addl 0x448(%r9,%r8,4), %ebx
movl $0x3ff, %eax            # imm = 0x3FF
cmpl %eax, %edi
movl $0x3ff, %edx            # imm = 0x3FF
movq %rdi, 0x20(%rsp)
cmovbl %edi, %edx
movl $0xff, %eax
cmpl %eax, %r11d
movl $0xff, %edi
movl %r11d, 0x54(%rsp)
cmovbl %r11d, %edi
movl 0x1c58(%r9), %r11d
movl %ebx, 0x68(%rsp)
andl %ebx, %r11d
movb 0x20(%r9), %cl
movb 0x38(%r9), %al
shll %cl, %r11d
movl 0x6c(%rsp), %r9d
movl %eax, %ecx
shll %cl, %r9d
movl %r9d, 0xb8(%rsp)
cmpl %r8d, %r15d
setne 0xb0(%rsp)
xorl %ebx, %ebx
cmpw %r8w, 0x2(%r14)
movq %r8, 0x60(%rsp)
jne 0x5f1d6
movl 0x2c(%rsp), %r12d
movl 0x10(%rsp), %r8d
movq 0x18(%rsp), %r9
jmp 0x5f1fb
xorl %ebx, %ebx
movl 0x2c(%rsp), %r12d
movq 0x18(%rsp), %r9
movq %r14, %rax
movzwl (%r14), %ecx
addq $0x4, %r14
addl %ecx, %ebx
cmpw %r8w, 0x6(%rax)
jne 0x5f1e2
movl 0x10(%rsp), %r8d
movq 0xc0(%rsp), %rax
addl 0x848(%rax,%rdx,4), %r11d
addl 0x1848(%rax,%rdi,4), %r11d
movl %r11d, 0x98(%rsp)
movq 0x58(%rsp), %rax
movq 0x80(%rsp), %rcx
addq %rcx, %rax
movq %rax, 0x18(%rsp)
movzwl (%r14), %ecx
movl %ebp, %eax
xorl %edx, %edx
divl %esi
movl %eax, %r15d
imull %eax, %ebx
imull %ecx, %r15d
addl %r13d, %ebx
adcl $0x0, %r12d
cmpl $0xffffff, %r15d        # imm = 0xFFFFFF
ja 0x5f2f1
movl %r12d, %eax
movl %r12d, %ecx
movq 0x38(%rsp), %r13
cmpl $0xff000000, %ebx       # imm = 0xFF000000
jb 0x5f274
testl %ecx, %ecx
jne 0x5f274
incl %r10d
jmp 0x5f2c0
movl %r10d, %edx
movq %r13, %rsi
subq %r9, %rsi
cmpq %rdx, %rsi
jle 0x5f2c7
addl %r8d, %eax
leaq 0x1(%r9), %rdi
movb %al, (%r9)
testl %r10d, %r10d
je 0x5f2ae
decb %r12b
movzbl %r12b, %esi
movq %r9, %rbp
movq %r10, %r12
callq 0x4260
decl %r12d
leaq (%r12,%rbp), %rdi
addq $0x2, %rdi
movl %ebx, %r8d
shrl $0x18, %r8d
xorl %r12d, %r12d
movq %rdi, %r9
xorl %r10d, %r10d
xorl %eax, %eax
shll $0x8, %ebx
xorl %ecx, %ecx
jmp 0x5f2cf
movl $0xffffffff, 0x30(%rsp) # imm = 0xFFFFFFFF
movl %r15d, %ebp
shll $0x8, %ebp
cmpl $0x10000, %r15d         # imm = 0x10000
movl %ebp, %r15d
jb 0x5f263
movzwl (%r14), %ecx
movq 0x18(%rsp), %rdi
movl (%rdi), %esi
movl %ebx, %r13d
jmp 0x5f2fc
movl %r15d, %ebp
movl %ebx, %r13d
movq 0x18(%rsp), %rdi
addl $0x10, %ecx
movw %cx, (%r14)
addl $0x10, %esi
movl %esi, (%rdi)
cmpl $0xfff0, %esi           # imm = 0xFFF0
jb 0x5f357
movl $0x0, (%rdi)
movzwl 0x8(%rdi), %eax
testw %ax, %ax
je 0x5f357
movq 0x58(%rsp), %rcx
movq 0x80(%rsp), %rdx
addq %rcx, %rdx
addq $0xc, %rdx
xorl %ecx, %ecx
movzwl %ax, %esi
shrl %esi
subl %esi, %eax
movw %ax, -0x4(%rdx)
movzwl %ax, %eax
addl %eax, %ecx
movzwl (%rdx), %eax
addq $0x4, %rdx
testw %ax, %ax
jne 0x5f335
movl %ecx, (%rdi)
movzwl (%r14), %ecx
movq %r9, 0x18(%rsp)
cmpw -0x4(%r14), %cx
jbe 0x5f374
movq -0x4(%r14), %xmm0
pshufd $0xe1, %xmm0, %xmm0     # xmm0 = xmm0[1,0,2,3]
movq %xmm0, -0x4(%r14)
movl %r12d, 0x2c(%rsp)
movq 0x100(%rsp), %rcx
incq %rcx
movl 0x98(%rsp), %eax
addl 0xb8(%rsp), %eax
xorl %edx, %edx
movb 0xb0(%rsp), %sil
movb %sil, %dl
movl 0x54(%rsp), %r11d
addl %edx, %r11d
movzwl %ax, %r9d
movq 0x20(%rsp), %rdi
decl %edi
jne 0x5f0e7
movq %rcx, %rsi
movq 0x70(%rsp), %r12
movq 0x90(%rsp), %rcx
movl 0x2c(%rsp), %r9d
movq 0x18(%rsp), %r11
incq %rcx
movslq %esi, %rax
movq %rcx, %rdx
movq 0x78(%rsp), %rcx
addq %rax, %rcx
incq %rcx
movb $0x1, %r14b
movq %rcx, 0x78(%rsp)
cmpq 0x48(%rsp), %rcx
movq %rdx, %rcx
jb 0x5da6f
jmp 0x5f5de
movl %r13d, %edi
xorl %r13d, %r13d
leaq 0x15b8(%rsp), %r14
cmpw $0x1, %cx
movq %rbx, %r11
movq %r15, %r10
movl %r12d, %r9d
movl 0x10(%rsp), %r8d
movq 0x70(%rsp), %r12
je 0x5f43e
xorl %r13d, %r13d
movzwl (%r14), %eax
addl %eax, %r13d
cmpw $0x1, 0x6(%r14)
leaq 0x4(%r14), %r14
jne 0x5f42b
movzwl (%r14), %ecx
movl 0x15b0(%rsp), %esi
movl %ebp, %eax
xorl %edx, %edx
divl %esi
movl %eax, %r15d
imull %eax, %r13d
imull %ecx, %r15d
addl %edi, %r13d
adcl $0x0, %r9d
cmpl $0xffffff, %r15d        # imm = 0xFFFFFF
ja 0x5f506
movl %r9d, %eax
movl %r9d, %ecx
cmpl $0xff000000, %r13d      # imm = 0xFF000000
jb 0x5f486
testl %ecx, %ecx
jne 0x5f486
incl %r10d
jmp 0x5f4d3
movl %r10d, %edx
movq 0x38(%rsp), %rsi
subq %r11, %rsi
cmpq %rdx, %rsi
jle 0x5f4db
addl %r8d, %eax
leaq 0x1(%r11), %rdi
movb %al, (%r11)
testl %r10d, %r10d
je 0x5f4c1
decb %r9b
movzbl %r9b, %esi
movq %r11, %rbx
movq %r10, %rbp
callq 0x4260
decl %ebp
leaq (%rbx,%rbp), %rdi
addq $0x2, %rdi
movl %r13d, %r8d
shrl $0x18, %r8d
xorl %r9d, %r9d
movq %rdi, %r11
xorl %r10d, %r10d
xorl %eax, %eax
shll $0x8, %r13d
xorl %ecx, %ecx
jmp 0x5f4e3
movl $0xffffffff, 0x30(%rsp) # imm = 0xFFFFFFFF
movl %r15d, %ebp
shll $0x8, %ebp
cmpl $0x10000, %r15d         # imm = 0x10000
movl %ebp, %r15d
jb 0x5f474
movzwl (%r14), %ecx
movl 0x15b0(%rsp), %esi
jmp 0x5f509
movl %r15d, %ebp
addl $0x10, %ecx
movw %cx, (%r14)
addl $0x10, %esi
movl %esi, 0x15b0(%rsp)
cmpl $0xfff0, %esi           # imm = 0xFFF0
jb 0x5f56b
movl $0x0, 0x15b0(%rsp)
movzwl 0x15b8(%rsp), %eax
testw %ax, %ax
je 0x5f56b
xorl %ecx, %ecx
leaq 0x15bc(%rsp), %rdx
movzwl %ax, %esi
shrl %esi
subl %esi, %eax
movw %ax, -0x4(%rdx)
movzwl %ax, %eax
addl %eax, %ecx
movzwl (%rdx), %eax
addq $0x4, %rdx
testw %ax, %ax
jne 0x5f544
movl %ecx, 0x15b0(%rsp)
movzwl (%r14), %ecx
cmpw -0x4(%r14), %cx
jbe 0x5f583
movq -0x4(%r14), %xmm0
pshufd $0xe1, %xmm0, %xmm0     # xmm0 = xmm0[1,0,2,3]
movq %xmm0, -0x4(%r14)
movq 0xd0(%rsp), %rax
leal -0x1(%rax), %esi
movq 0x90(%rsp), %rcx
jmp 0x5f3d2
xorl %r15d, %r15d
movq %r15, %rax
addq $0x1af8, %rsp           # imm = 0x1AF8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq 0xd8(%rsp), %rdi
callq 0x45c0
jmp 0x5f67a
xorl %r9d, %r9d
movq %rax, %r11
xorl %r8d, %r8d
xorl %r10d, %r10d
movl $0x0, 0x30(%rsp)
xorl %r13d, %r13d
jmp 0x5f5e8
shrl $0x1f, 0x30(%rsp)
movq 0x48(%rsp), %r15
movl $0x5, %ebx
movl %r10d, %r10d
cmpl $0xff000000, %r13d      # imm = 0xFF000000
jb 0x5f603
testl %r9d, %r9d
jne 0x5f603
incl %r10d
jmp 0x5f64c
movq 0x38(%rsp), %rax
subq %r11, %rax
cmpq %r10, %rax
jle 0x5f65e
addl %r9d, %r8d
leaq 0x1(%r11), %rdi
movb %r8b, (%r11)
testq %r10, %r10
je 0x5f63f
decb %r9b
movzbl %r9b, %esi
movq %r10, %rdx
movq %r11, %r14
movq %r10, %rbp
callq 0x4260
leal -0x1(%rbp), %eax
leaq (%r14,%rax), %rdi
addq $0x2, %rdi
movl %r13d, %r8d
shrl $0x18, %r8d
xorl %r10d, %r10d
movq %rdi, %r11
shll $0x8, %r13d
xorl %r9d, %r9d
decl %ebx
jne 0x5f5ed
cmpb $0x0, 0x30(%rsp)
je 0x5f6ba
movq 0xd8(%rsp), %rdi
callq 0x45c0
movq 0x108(%rsp), %rax
movq $0x0, (%rax)
xorl %r15d, %r15d
movq 0x1b30(%rsp), %rbx
movq 0x40(%rsp), %r14
movq 0x140(%rsp), %rdi
callq 0x7e26a
testq %rbx, %rbx
jne 0x5f59e
movq 0x418(%r14), %rdi
testq %rdi, %rdi
je 0x5f59e
callq 0x45c0
jmp 0x5f59e
testq %r15, %r15
movq 0x40(%rsp), %r14
je 0x5f73f
movl 0x4(%r14), %eax
andl $0x4, %eax
je 0x5f73f
xorl %eax, %eax
xorl %ecx, %ecx
movslq (%r12), %rdx
decq %rdx
cmpq %rdx, %rax
jge 0x5f6e7
movq 0x8(%r12), %rdx
movl (%rdx,%rax,4), %edx
jmp 0x5f6ec
movl %r15d, %edx
subl %ecx, %edx
movq 0x10(%r12), %rsi
testb $0x10, (%rsi,%rax,4)
je 0x5f731
cmpl $0x2, %edx
jl 0x5f731
movq 0x88(%rsp), %rsi
addq %rcx, %rsi
movl %edx, %edi
addq $-0x2, %rdi
xorl %r8d, %r8d
movb (%rsi,%r8), %r9b
movb 0x1(%rsi,%rdi), %r10b
movb %r10b, (%rsi,%r8)
movb %r9b, 0x1(%rsi,%rdi)
incq %r8
leaq -0x1(%rdi), %r9
cmpq %rdi, %r8
movq %r9, %rdi
jl 0x5f710
movslq %edx, %rdx
addq %rdx, %rcx
incq %rax
cmpq %r15, %rcx
jb 0x5f6d1
cmpl $0x0, (%r12)
movq 0x1b30(%rsp), %rbx
movq 0x108(%rsp), %rsi
jle 0x5f770
movq 0x10(%r12), %rax
xorl %ecx, %ecx
movzwl (%rax,%rcx,4), %edx
movl %edx, (%rax,%rcx,4)
incq %rcx
movslq (%r12), %rdx
cmpq %rdx, %rcx
jl 0x5f75d
movq 0x118(%rsp), %rax
subq 0xe0(%rsp), %rax
addq %r11, %rax
movq %rax, (%rsi)
movq 0xd8(%rsp), %r15
jmp 0x5f68a