Function at 0x140082690
Capabilities:
Encode data using xor
Hash data using murmur3

Disassembly:
mov r9, rcx
mov r11, rdx
cmp rdx, 4
jb 0x1400826dc
mov r10, rdx
shr r10, 2
imul rax, r10, 0xfffffffffffffffc
add rdx, rax
nop word [rax + rax]
imul eax, dword [r9], 0xcc9e2d51
add r9, 4
rol eax, 0xf
imul ecx, eax, 0x1b873593
xor r8d, ecx
rol r8d, 0xd
add r8d, 0xfaddaf14
lea r8d, [r8 + r8*4]
sub r10, 1
jne 0x1400826b0
xor ecx, ecx
and edx, 3
sub rdx, 1
je 0x140082705
sub rdx, 1
je 0x1400826fb
cmp rdx, 1
jne 0x14008271d
movzx ecx, byte [r9 + 2]
shl ecx, 0x10
movzx eax, byte [r9 + 1]
shl eax, 8
xor ecx, eax
movzx eax, byte [r9]
xor eax, ecx
imul ecx, eax, 0xcc9e2d51
rol ecx, 0xf
imul eax, ecx, 0x1b873593
xor r8d, eax
xor r11d, r8d
mov eax, r11d
shr eax, 0x10
xor eax, r11d
imul ecx, eax, 0x85ebca6b
mov eax, ecx
shr eax, 0xd
xor eax, ecx
imul ecx, eax, 0xc2b2ae35
mov eax, ecx
shr eax, 0x10
xor eax, ecx
ret
sub rsp, 0x78
mov rax, qword [0x14045d5f0]
xor rax, rsp
mov qword [rsp + 0x60], rax
movdqa xmm3, xmmword [0x1403afcd0]
xorps xmm2, xmm2
movdqa xmm1, xmm2
movd xmm0, r9d
pshufd xmm0, xmm0, 0
mov eax, r9d
shr eax, 0x18
lea r9, [rsp + 0x20]
punpckhbw xmm1, xmm0
mov r11d, r8d
punpcklbw xmm2, xmm0
mov r10d, 0xff
sub r10d, eax
paddw xmm2, xmm3
mov eax, r10d
movaps xmmword [rsp + 0x40], xmm2
shr eax, 7
mov r8, rdx
add al, r10b
paddw xmm3, xmm1
movsx eax, al
mov rdx, rcx
mov ecx, r11d
movaps xmmword [rsp + 0x50], xmm3
movd xmm0, eax
lea rax, [rsp + 0x30]
punpcklbw xmm0, xmm0
punpcklwd xmm0, xmm0
mov qword [rsp + 0x20], rax
lea rax, [rsp + 0x40]
pshufd xmm0, xmm0, 0
movdqa xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x28], rax
call fcn.140088690
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.1402e0100
add rsp, 0x78
ret
jmp 0x14008a8a0
jmp 0x14008a7f0
push rbx
sub rsp, 0x70
mov r11d, r8d
mov r10, rdx
mov rbx, rcx
cmp r8d, 0x10
jl 0x140083409
movaps xmmword [rsp + 0x50], xmm7
add rcx, 0x20
movaps xmmword [rsp + 0x40], xmm8
movaps xmmword [rsp + 0x30], xmm9
movaps xmmword [rsp + 0x20], xmm10
movaps xmmword [rsp + 0x10], xmm11
movdqa xmm11, xmmword [0x1403afc50]
movaps xmmword [rsp], xmm12
xorps xmm12, xmm12
movaps xmmword [rsp + 0x60], xmm6
movdqu xmm8, xmmword [r10 + 0x10]
movdqu xmm7, xmmword [r10]
movdqu xmm9, xmmword [r10 + 0x20]
movdqu xmm10, xmmword [r10 + 0x30]
movdqa xmm0, xmm8
por xmm0, xmm7
por xmm0, xmm9
por xmm0, xmm10
pand xmm0, xmm11
pcmpeqb xmm0, xmm12
pmovmskb eax, xmm0
cmp eax, 0xffff
je 0x1400833c8
movdqa xmm0, xmm8
pand xmm0, xmm7
pand xmm0, xmm9
pand xmm0, xmm10
pand xmm0, xmm11
pcmpeqb xmm0, xmm11
pmovmskb eax, xmm0
cmp eax, 0xffff
jne 0x140083266
movdqu xmmword [rbx], xmm7
movdqu xmmword [rcx - 0x10], xmm8
movdqu xmmword [rcx], xmm9
movdqu xmmword [rcx + 0x10], xmm10
jmp 0x1400833c8
movdqa xmm6, xmmword [0x1403afc40]
movdqa xmm0, xmm7
movdqu xmm4, xmmword [rbx]
movdqa xmm5, xmmword [0x1403afdc0]
movdqa xmm2, xmm6
psrld xmm0, 0x18
movdqa xmm1, xmm5
psubd xmm1, xmm0
movdqa xmm0, xmm4
movdqa xmm3, xmm1
psrlw xmm0, 8
pslld xmm3, 0x10
por xmm3, xmm1
movdqa xmm1, xmm6
pmullw xmm0, xmm3
pand xmm1, xmm4
pmullw xmm1, xmm3
pandn xmm2, xmm0
movdqa xmm0, xmm8
psrlw xmm1, 8
por xmm2, xmm1
psrld xmm0, 0x18
paddd xmm2, xmm7
movdqa xmm1, xmm5
psubd xmm1, xmm0
movdqu xmmword [rbx], xmm2
movdqu xmm4, xmmword [rcx - 0x10]
movdqa xmm3, xmm1
movdqa xmm2, xmm6
pslld xmm3, 0x10
movdqa xmm0, xmm4
por xmm3, xmm1
psrlw xmm0, 8
pmullw xmm0, xmm3
movdqa xmm1, xmm6
pand xmm1, xmm4
pmullw xmm1, xmm3
pandn xmm2, xmm0
movdqa xmm0, xmm9
psrld xmm0, 0x18
psrlw xmm1, 8
por xmm2, xmm1
movdqa xmm1, xmm5
psubd xmm1, xmm0
paddd xmm2, xmm8
movdqu xmmword [rcx - 0x10], xmm2
movdqu xmm4, xmmword [rcx]
movdqa xmm3, xmm1
movdqa xmm2, xmm6
pslld xmm3, 0x10
movdqa xmm0, xmm4
por xmm3, xmm1
psrlw xmm0, 8
pmullw xmm0, xmm3
movdqa xmm1, xmm6
pand xmm1, xmm4
pmullw xmm1, xmm3
pandn xmm2, xmm0
movdqa xmm0, xmm10
psrld xmm0, 0x18
psrlw xmm1, 8
psubd xmm5, xmm0
por xmm2, xmm1
movdqa xmm1, xmm6
paddd xmm2, xmm9
movdqu xmmword [rcx], xmm2
movdqu xmm3, xmmword [rcx + 0x10]
movdqa xmm2, xmm5
pand xmm6, xmm3
pslld xmm2, 0x10
por xmm2, xmm5
movdqa xmm0, xmm3
psrlw xmm0, 8
pmullw xmm0, xmm2
pmullw xmm6, xmm2
pandn xmm1, xmm0
psrlw xmm6, 8
por xmm1, xmm6
paddd xmm1, xmm10
movdqu xmmword [rcx + 0x10], xmm1
sub r11d, 0x10
add r10, 0x40
add rbx, 0x40
add rcx, 0x40
cmp r11d, 0x10
jge 0x1400831e1
movaps xmm12, xmmword [rsp]
movaps xmm11, xmmword [rsp + 0x10]
movaps xmm10, xmmword [rsp + 0x20]
movaps xmm9, xmmword [rsp + 0x30]
movaps xmm8, xmmword [rsp + 0x40]
movaps xmm7, xmmword [rsp + 0x50]
movaps xmm6, xmmword [rsp + 0x60]
test r11d, r11d
jle 0x14008347c
sub rbx, r10
mov eax, dword [r10]
dec r11d
test eax, 0xff000000
je 0x140083473
cmp eax, 0xff000000
jae 0x14008346f
mov r8d, dword [rbx + r10]
mov r9d, eax
shr eax, 0x18
mov ecx, r8d
shr ecx, 8
mov edx, 0x100
sub edx, eax
and ecx, 0xffff00ff
mov eax, r8d
imul ecx, edx
and eax, 0xff00ff
shr r8d, 8
imul eax, edx
and r8d, 0xff00ff
imul r8d, edx
shr eax, 8
xor eax, ecx
and eax, 0xff00ff
xor eax, r8d
add eax, r9d
mov dword [rbx + r10], eax
add r10, 4
test r11d, r11d
jg 0x140083411
add rsp, 0x70
pop rbx
ret
mov r10, rcx
test r8d, r8d
jle 0x1400834e3
sub r10, rdx
mov r11d, r8d
nop
mov r8d, dword [rdx]
lea rdx, [rdx + 4]
movzx eax, r8b
mov r9d, r8d
shr r9d, 0x18
shl r9d, 8
or r9d, eax
mov eax, r8d
shl r9d, 8
shr eax, 8
movzx ecx, al
or r9d, ecx
shr r8d, 0x10
shl r9d, 8
movzx eax, r8b
or r9d, eax
mov dword [r10 + rdx - 4], r9d
sub r11, 1
jne 0x1400834a0
ret
mov qword [rsp + 8], rdi
mov rdi, rcx
cmp r8d, 8
jl 0x14008364e
movsx eax, dx
mov ecx, r8d
shr rcx, 3
movd xmm0, eax
punpcklwd xmm0, xmm0
lea eax, [rcx*8]
pshufd xmm0, xmm0, 0
sub r8d, eax
nop
movdqu xmmword [rdi], xmm0
add rdi, 0x10
sub rcx, 1
jne 0x140083640
test r8d, r8d
jle 0x14008365c
mov ecx, r8d
movzx eax, dx
rep stosw word [rdi], ax
mov rdi, qword [rsp + 8]
ret
mov qword [rsp + 8], rdi
mov rdi, rcx
cmp r8d, 4
jl 0x1400836de
mov ecx, r8d
shr rcx, 2
movd xmm0, edx
pshufd xmm0, xmm0, 0
lea eax, [rcx*4]
sub r8d, eax
nop dword [rax + rax]
movdqu xmmword [rdi], xmm0
add rdi, 0x10
sub rcx, 1
jne 0x1400836d0
test r8d, r8d
jle 0x1400836ea
mov ecx, r8d
mov eax, edx
rep stosd dword [rdi], eax
mov rdi, qword [rsp + 8]
ret
mov qword [rsp + 8], rdi
mov rdi, rcx
cmp r8d, 2
jl 0x140083721
mov ecx, r8d
shr rcx, 1
lea eax, [rcx + rcx]
sub r8d, eax
nop word [rax + rax]
mov qword [rdi], rdx
mov qword [rdi + 8], rdx
add rdi, 0x10
sub rcx, 1
jne 0x140083710
test r8d, r8d
jle 0x14008372f
mov ecx, r8d
mov rax, rdx
rep stosq qword [rdi], rax
mov rdi, qword [rsp + 8]
ret
mov rax, rsp
push rbx
push rdi
sub rsp, 0x58
mov r10d, dword [r8]
mov rbx, r9
mov r11d, dword [r8 + 8]
mov r9d, dword [r8 + 4]
mov qword [rax + 8], rbp
mov qword [rax - 0x18], rsi
mov qword [rax - 0x20], r12
mov qword [rax - 0x28], r13
mov qword [rax - 0x30], r14
mov r14, rcx
mov ecx, dword [r8 + 0xc]
mov qword [rax - 0x38], r15
mov r15d, r10d
movaps xmmword [rax - 0x58], xmm7
sub r15d, r11d
movdqa xmm7, xmmword [0x1403afdd0]
mov eax, r10d
sub eax, dword [rsp + 0xa0]
dec eax
movsxd r12, edx
cmp eax, r15d
mov dword [rsp + 0x78], ecx
cmovge r15d, eax
xor esi, esi
mov eax, r11d
sub eax, dword [rsp + 0xa0]
sub eax, 1
cmovns esi, eax
mov eax, dword [rsp + 0x98]
lea ebp, [r10 + rax]
mov r10d, dword [rsp + 0xa8]
lea r13d, [r11 + rax]
cmp ebp, r10d
mov eax, 0x1000000
cmovg ebp, r10d
cdq
cmp r13d, r10d
cmovg r13d, r10d
idiv dword [rsp + 0x90]
movd xmm5, eax
pshufd xmm5, xmm5, 0
test r9d, r9d
jle 0x14008387c
movsxd r8, r10d
mov edx, r9d
shl r8, 2
nop
test r10d, r10d
jle 0x14008386f
mov rcx, r10
mov rdi, rbx
xor eax, eax
rep stosd dword [rdi], eax
add rbx, r8
sub rdx, 1
jne 0x140083860
mov ecx, dword [rsp + 0x78]
cmp r9d, ecx
jge 0x140083afb
mov rax, r12
movaps xmmword [rsp + 0x20], xmm6
shl rax, 2
mov r12d, ecx
mov qword [rsp + 0x80], rax
xorps xmm4, xmm4
movsxd rax, r10d
shl rax, 2
mov qword [rsp], rax
sub r12d, r9d
nop dword [rax]
movdqa xmm3, xmm4
mov r11, r14
mov rdx, r14
mov r9, rbx
test r15d, r15d
jns 0x1400838ee
mov ecx, r15d
neg ecx
nop word [rax + rax]
movd xmm0, dword [rdx]
add rdx, 4
punpcklbw xmm0, xmm4
punpcklwd xmm0, xmm4
paddd xmm0, xmm3
movdqa xmm3, xmm0
sub rcx, 1
jne 0x1400838d0
xor r8d, r8d
test r15d, r15d
jle 0x140083907
mov rdi, rbx
mov ecx, r15d
xor eax, eax
mov r8d, r15d
rep stosd dword [rdi], eax
lea r9, [rbx + r15*4]
cmp r8d, ebp
jge 0x14008397b
nop dword [rax]
cmp r8d, esi
jge 0x14008397b
movdqa xmm0, xmm3
movdqa xmm1, xmm3
pmuludq xmm0, xmm5
inc r8d
psrldq xmm1, 4
pshufd xmm2, xmm0, 8
movdqa xmm0, xmm5
psrldq xmm0, 4
pmuludq xmm1, xmm0
pshufd xmm0, xmm1, 8
punpckldq xmm2, xmm0
paddd xmm2, xmm7
psrld xmm2, 0x18
packssdw xmm2, xmm2
packuswb xmm2, xmm2
movd dword [r9], xmm2
add r9, 4
movd xmm0, dword [rdx]
add rdx, 4
punpcklbw xmm0, xmm4
punpcklwd xmm0, xmm4
paddd xmm0, xmm3
movdqa xmm3, xmm0
cmp r8d, ebp
jl 0x140083910
cmp ebp, esi
jge 0x1400839fe
movdqa xmm6, xmm5
sub rdx, r14
mov ecx, esi
psrldq xmm6, 4
sub ecx, ebp
nop
movdqa xmm1, xmm3
movdqa xmm0, xmm3
pmuludq xmm0, xmm5
psrldq xmm1, 4
pmuludq xmm1, xmm6
pshufd xmm2, xmm0, 8
pshufd xmm0, xmm1, 8
punpckldq xmm2, xmm0
paddd xmm2, xmm7
psrld xmm2, 0x18
packssdw xmm2, xmm2
packuswb xmm2, xmm2
movd dword [r9], xmm2
add r9, 4
movd xmm0, dword [r11 + rdx]
punpcklbw xmm0, xmm4
punpcklwd xmm0, xmm4
paddd xmm0, xmm3
movdqa xmm3, xmm0
movd xmm0, dword [r11]
punpcklbw xmm0, xmm4
add r11, 4
punpcklwd xmm0, xmm4
psubd xmm3, xmm0
sub rcx, 1
jne 0x140083990
mov ecx, esi
cmp esi, ebp
jge 0x140083a57
mov edx, ebp
movdqa xmm0, xmm3
pmuludq xmm0, xmm5
sub edx, esi
mov rdi, r9
movdqa xmm1, xmm3
psrldq xmm1, 4
mov ecx, edx
lea r9, [r9 + rdx*4]
pshufd xmm2, xmm0, 8
movdqa xmm0, xmm5
psrldq xmm0, 4
pmuludq xmm1, xmm0
pshufd xmm0, xmm1, 8
punpckldq xmm2, xmm0
paddd xmm2, xmm7
psrld xmm2, 0x18
packssdw xmm2, xmm2
packuswb xmm2, xmm2
movd eax, xmm2
rep stosd dword [rdi], eax
lea ecx, [rdx + rsi]
cmp ecx, r13d
jge 0x140083ac9
mov eax, r13d
movdqa xmm6, xmm5
sub eax, ecx
psrldq xmm6, 4
mov edx, eax
add ecx, eax
nop
movdqa xmm1, xmm3
lea r11, [r11 + 4]
movdqa xmm0, xmm3
psrldq xmm1, 4
pmuludq xmm0, xmm5
pmuludq xmm1, xmm6
pshufd xmm2, xmm0, 8
pshufd xmm0, xmm1, 8
punpckldq xmm2, xmm0
paddd xmm2, xmm7
psrld xmm2, 0x18
packssdw xmm2, xmm2
packuswb xmm2, xmm2
movd dword [r9], xmm2
add r9, 4
movd xmm0, dword [r11 - 4]
punpcklbw xmm0, xmm4
punpcklwd xmm0, xmm4
psubd xmm3, xmm0
sub rdx, 1
jne 0x140083a70
cmp ecx, r10d
jge 0x140083adc
mov eax, r10d
mov rdi, r9
sub eax, ecx
mov ecx, eax
xor eax, eax
rep stosd dword [rdi], eax
add r14, qword [rsp + 0x80]
add rbx, qword [rsp]
sub r12, 1
jne 0x1400838b0
mov ecx, dword [rsp + 0x78]
movaps xmm6, xmmword [rsp + 0x20]
mov eax, dword [rsp + 0xb0]
movaps xmm7, xmmword [rsp + 0x10]
mov r15, qword [rsp + 0x30]
mov r14, qword [rsp + 0x38]
mov r13, qword [rsp + 0x40]
mov r12, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x70]
cmp ecx, eax
jge 0x140083b4c
movsxd r8, r10d
shl r8, 2
sub eax, ecx
mov edx, eax
test r10d, r10d
jle 0x140083b43
mov rcx, r10
mov rdi, rbx
xor eax, eax
rep stosd dword [rdi], eax
add rbx, r8
sub rdx, 1
jne 0x140083b34
add rsp, 0x58
pop rdi
pop rbx
ret
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x20
mov r11d, dword [r8 + 8]
mov rbx, r9
mov ebp, dword [rsp + 0x98]
mov r15, rcx
mov r10d, dword [r8]
mov r12d, r10d
mov r9d, dword [r8 + 4]
sub r12d, r11d
mov r13d, dword [r8 + 0xc]
mov eax, r10d
sub eax, dword [rsp + 0x90]
dec eax
movsxd rsi, edx
cmp eax, r12d
movaps xmmword [rsp + 0x10], xmm6
movaps xmmword [rsp], xmm7
movdqa xmm7, xmmword [0x1403afdd0]
cmovge r12d, eax
xor edi, edi
mov dword [rsp + 0x68], r13d
mov eax, r11d
sub eax, dword [rsp + 0x90]
sub eax, 1
cmovns edi, eax
mov eax, dword [rsp + 0x88]
lea r14d, [r10 + rax]
cmp r14d, ebp
cmovg r14d, ebp
add eax, r11d
movsxd r11, dword [rsp + 0xa0]
cmp eax, ebp
cmovg eax, ebp
mov dword [rsp + 0x90], eax
mov eax, 0x1000000
cdq
idiv dword [rsp + 0x80]
movd xmm6, eax
pshufd xmm6, xmm6, 0
test r9d, r9d
jle 0x140083c4a
mov r8d, r9d
nop dword [rax + rax]
mov rax, rbx
test ebp, ebp
jle 0x140083c40
mov rdx, r11
mov rcx, rbp
shl rdx, 2
xor r10d, r10d
mov dword [rax], r10d
add rax, rdx
sub rcx, 1
jne 0x140083c34
add rbx, 4
sub r8, 1
jne 0x140083c20
cmp r9d, r13d
jge 0x140083f01
mov r10, rsi
xorps xmm4, xmm4
shl r10, 2
mov qword [rsp + 0x70], r10
sub r13d, r9d
nop word [rax + rax]
movdqa xmm3, xmm4
mov rsi, r15
mov rdx, r15
mov rax, rbx
test r12d, r12d
jns 0x140083cae
mov r8d, r12d
neg r8d
nop dword [rax + rax]
movd xmm0, dword [rdx]
add rdx, 4
punpcklbw xmm0, xmm4
punpcklwd xmm0, xmm4
paddd xmm0, xmm3
movdqa xmm3, xmm0
sub r8, 1
jne 0x140083c90
xor r8d, r8d
test r12d, r12d
jle 0x140083cdf
mov r9, r11
mov r8d, r12d
shl r9, 2
mov ecx, r12d
nop dword [rax]
nop word [rax + rax]
mov dword [rax], 0
add rax, r9
sub rcx, 1
jne 0x140083cd0
cmp r8d, r14d
jge 0x140083d4e
cmp r8d, edi
jge 0x140083d4e
movdqa xmm0, xmm3
movdqa xmm1, xmm3
pmuludq xmm0, xmm6
inc r8d
psrldq xmm1, 4
pshufd xmm2, xmm0, 8
movdqa xmm0, xmm6
psrldq xmm0, 4
pmuludq xmm1, xmm0
pshufd xmm0, xmm1, 8
punpckldq xmm2, xmm0
paddd xmm2, xmm7
psrld xmm2, 0x18
packssdw xmm2, xmm2
packuswb xmm2, xmm2
movd dword [rax], xmm2
lea rax, [rax + r11*4]
movd xmm0, dword [rdx]
add rdx, 4
punpcklbw xmm0, xmm4
punpcklwd xmm0, xmm4
paddd xmm0, xmm3
movdqa xmm3, xmm0
cmp r8d, r14d
jl 0x140083ce4
cmp r14d, edi
jge 0x140083dda
mov r8, r11
movdqa xmm5, xmm6
shl r8, 2
sub rdx, r15
mov r9d, edi
psrldq xmm5, 4
sub r9d, r14d
movdqa xmm1, xmm3
movdqa xmm0, xmm3
pmuludq xmm0, xmm6
psrldq xmm1, 4
pmuludq xmm1, xmm5
pshufd xmm2, xmm0, 8
pshufd xmm0, xmm1, 8
punpckldq xmm2, xmm0
paddd xmm2, xmm7
psrld xmm2, 0x18
packssdw xmm2, xmm2
packuswb xmm2, xmm2
movd dword [rax], xmm2
add rax, r8
movd xmm0, dword [rsi + rdx]
punpcklbw xmm0, xmm4
punpcklwd xmm0, xmm4
paddd xmm0, xmm3
movdqa xmm3, xmm0
movd xmm0, dword [rsi]
punpcklbw xmm0, xmm4
add rsi, 4
punpcklwd xmm0, xmm4
psubd xmm3, xmm0
sub r9, 1
jne 0x140083d70
mov r9d, edi
cmp edi, r14d
jge 0x140083e43
movdqa xmm0, xmm3
movdqa xmm1, xmm3
pmuludq xmm0, xmm6
mov r8, r11
psrldq xmm1, 4
mov ecx, r14d
shl r8, 2
sub ecx, edi
mov edx, ecx
pshufd xmm2, xmm0, 8
movdqa xmm0, xmm6
psrldq xmm0, 4
pmuludq xmm1, xmm0
lea r9d, [rcx + rdi]
pshufd xmm0, xmm1, 8
punpckldq xmm2, xmm0
paddd xmm2, xmm7
psrld xmm2, 0x18
packssdw xmm2, xmm2
packuswb xmm2, xmm2
movd dword [rax], xmm2
add rax, r8
sub rdx, 1
jne 0x140083e31
mov r10, qword [rsp + 0x70]
mov ecx, dword [rsp + 0x90]
cmp r9d, ecx
jge 0x140083ec6
sub ecx, r9d
mov r8, r11
shl r8, 2
movdqa xmm5, xmm6
add r9d, ecx
psrldq xmm5, 4
mov edx, ecx
nop word [rax + rax]
movdqa xmm1, xmm3
lea rsi, [rsi + 4]
movdqa xmm0, xmm3
psrldq xmm1, 4
pmuludq xmm0, xmm6
pmuludq xmm1, xmm5
pshufd xmm2, xmm0, 8
pshufd xmm0, xmm1, 8
punpckldq xmm2, xmm0
paddd xmm2, xmm7
psrld xmm2, 0x18
packssdw xmm2, xmm2
packuswb xmm2, xmm2
movd dword [rax], xmm2
add rax, r8
movd xmm0, dword [rsi - 4]
punpcklbw xmm0, xmm4
punpcklwd xmm0, xmm4
psubd xmm3, xmm0
sub rdx, 1
jne 0x140083e70
cmp r9d, ebp
jge 0x140083eeb
mov r8, r11
mov edx, ebp
shl r8, 2
sub edx, r9d
xor ecx, ecx
nop dword [rax]
mov dword [rax], ecx
add rax, r8
sub rdx, 1
jne 0x140083ee0
add r15, r10
add rbx, 4
sub r13, 1
jne 0x140083c70
mov r13d, dword [rsp + 0x68]
cmp r13d, r11d
jge 0x140083f3a
mov r8d, r11d
sub r8d, r13d
nop dword [rax]
mov rax, rbx
test ebp, ebp
jle 0x140083f30
mov rdx, r11
mov rcx, rbp
shl rdx, 2
xor r9d, r9d
mov dword [rax], r9d
add rax, rdx
sub rcx, 1
jne 0x140083f24
add rbx, 4
sub r8, 1
jne 0x140083f10
mov rbx, qword [rsp + 0x60]
movaps xmm6, xmmword [rsp + 0x10]
movaps xmm7, xmmword [rsp]
add rsp, 0x20
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
push rbx
push rdi
push r13
sub rsp, 0x40
mov r10d, dword [r8]
mov rbx, r9
mov r11d, dword [r8 + 8]
mov eax, r10d
sub eax, dword [rsp + 0x90]
mov r9d, dword [r8 + 4]
mov r13d, dword [r8 + 0xc]
mov qword [rsp + 0x60], rbp
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x30], r12
mov r12, rcx
mov qword [rsp + 0x28], r14
mov r14d, r10d
sub r14d, r11d
mov qword [rsp + 0x20], r15
dec eax
movsxd r15, edx
cmp eax, r14d
movaps xmmword [rsp], xmm7
movdqa xmm7, xmmword [0x1403afdd0]
cmovge r14d, eax
mov dword [rsp + 0x68], r13d
xor esi, esi
mov eax, r11d
sub eax, dword [rsp + 0x90]
sub eax, 1
cmovns esi, eax
mov eax, dword [rsp + 0x88]
lea ebp, [r10 + rax]
mov r10d, dword [rsp + 0x98]
lea r8d, [r11 + rax]
cmp ebp, r10d
mov eax, 0x1000000
cmovg ebp, r10d
cdq
cmp r8d, r10d
cmovg r8d, r10d
idiv dword [rsp + 0x80]
mov dword [rsp + 0x90], r8d
movd xmm5, eax
pshufd xmm5, xmm5, 0
test r9d, r9d
jle 0x140084070
movsxd r8, r10d
mov edx, r9d
shl r8, 2
test r10d, r10d
jle 0x140084067
mov rcx, r10
mov rdi, rbx
xor eax, eax
rep stosd dword [rdi], eax
add rbx, r8
sub rdx, 1
jne 0x140084058
cmp r9d, r13d
jge 0x1400842f7
movsxd rax, r10d
xorps xmm4, xmm4
shl rax, 2
mov qword [rsp + 0x70], rax
sub r13d, r9d
movaps xmmword [rsp + 0x10], xmm6
movdqa xmm3, xmm4
mov r11, r12
mov rdx, r12
mov r9, rbx
test r14d, r14d
jns 0x1400840d0
mov rdi, r15
mov ecx, r14d
shl rdi, 2
neg ecx
nop
movd xmm0, dword [rdx]
add rdx, rdi
punpcklbw xmm0, xmm4
punpcklwd xmm0, xmm4
paddd xmm0, xmm3
movdqa xmm3, xmm0
prefetcht0 byte [rdx]
sub rcx, 1
jne 0x1400840b0
xor r8d, r8d
test r14d, r14d
jle 0x1400840e9
mov rdi, rbx
mov ecx, r14d
xor eax, eax
mov r8d, r14d
rep stosd dword [rdi], eax
lea r9, [rbx + r14*4]
cmp r8d, ebp
jge 0x14008415e
nop
cmp r8d, esi
jge 0x14008415e
movdqa xmm0, xmm3
movdqa xmm1, xmm3
pmuludq xmm0, xmm5
psrldq xmm1, 4
pshufd xmm2, xmm0, 8
movdqa xmm0, xmm5
psrldq xmm0, 4
pmuludq xmm1, xmm0
pshufd xmm0, xmm1, 8
punpckldq xmm2, xmm0
paddd xmm2, xmm7
psrld xmm2, 0x18
packssdw xmm2, xmm2
packuswb xmm2, xmm2
movd dword [r9], xmm2
add r9, 4
movd xmm0, dword [rdx]
lea rdx, [rdx + r15*4]
punpcklbw xmm0, xmm4
punpcklwd xmm0, xmm4
paddd xmm0, xmm3
movdqa xmm3, xmm0
prefetcht0 byte [rdx]
inc r8d
cmp r8d, ebp
jl 0x1400840f0
cmp ebp, esi
jge 0x1400841f1
mov rcx, r15
movdqa xmm6, xmm5
shl rcx, 2
mov edi, esi
sub edi, ebp
psrldq xmm6, 4
nop word [rax + rax]
movdqa xmm1, xmm3
movdqa xmm0, xmm3
pmuludq xmm0, xmm5
psrldq xmm1, 4
pmuludq xmm1, xmm6
pshufd xmm2, xmm0, 8
pshufd xmm0, xmm1, 8
punpckldq xmm2, xmm0
paddd xmm2, xmm7
psrld xmm2, 0x18
packssdw xmm2, xmm2
packuswb xmm2, xmm2
movd dword [r9], xmm2
add r9, 4
movd xmm0, dword [rdx]
add rdx, rcx
punpcklbw xmm0, xmm4
prefetcht0 byte [rdx]
punpcklwd xmm0, xmm4
paddd xmm0, xmm3
movdqa xmm3, xmm0
movd xmm0, dword [r11]
punpcklbw xmm0, xmm4
add r11, rcx
punpcklwd xmm0, xmm4
psubd xmm3, xmm0
sub rdi, 1
jne 0x140084180
mov ecx, esi
cmp esi, ebp
jge 0x14008424a
mov edx, ebp
movdqa xmm0, xmm3
pmuludq xmm0, xmm5
sub edx, esi
mov rdi, r9
movdqa xmm1, xmm3
psrldq xmm1, 4
mov ecx, edx
lea r9, [r9 + rdx*4]
pshufd xmm2, xmm0, 8
movdqa xmm0, xmm5
psrldq xmm0, 4
pmuludq xmm1, xmm0
pshufd xmm0, xmm1, 8
punpckldq xmm2, xmm0
paddd xmm2, xmm7
psrld xmm2, 0x18
packssdw xmm2, xmm2
packuswb xmm2, xmm2
movd eax, xmm2
rep stosd dword [rdi], eax
lea ecx, [rsi + rdx]
mov r8d, dword [rsp + 0x90]
cmp ecx, r8d
jge 0x1400842c7
mov rdi, r15
mov eax, r8d
sub eax, ecx
shl rdi, 2
movdqa xmm6, xmm5
mov edx, eax
add ecx, eax
psrldq xmm6, 4
movdqa xmm1, xmm3
movdqa xmm0, xmm3
pmuludq xmm0, xmm5
psrldq xmm1, 4
pmuludq xmm1, xmm6
pshufd xmm2, xmm0, 8
pshufd xmm0, xmm1, 8
punpckldq xmm2, xmm0
paddd xmm2, xmm7
psrld xmm2, 0x18
packssdw xmm2, xmm2
packuswb xmm2, xmm2
movd dword [r9], xmm2
add r9, 4
movd xmm0, dword [r11]
add r11, rdi
punpcklbw xmm0, xmm4
punpcklwd xmm0, xmm4
psubd xmm3, xmm0
sub rdx, 1
jne 0x140084270
cmp ecx, r10d
jge 0x1400842da
mov eax, r10d
mov rdi, r9
sub eax, ecx
mov ecx, eax
xor eax, eax
rep stosd dword [rdi], eax
add rbx, qword [rsp + 0x70]
add r12, 4
sub r13, 1
jne 0x140084090
mov r13d, dword [rsp + 0x68]
movaps xmm6, xmmword [rsp + 0x10]
mov eax, dword [rsp + 0xa0]
movaps xmm7, xmmword [rsp]
mov r15, qword [rsp + 0x20]
mov r14, qword [rsp + 0x28]
mov r12, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
mov rbp, qword [rsp + 0x60]
cmp r13d, eax
jge 0x140084348
movsxd r8, r10d
shl r8, 2
sub eax, r13d
mov edx, eax
nop dword [rax]
test r10d, r10d
jle 0x14008433f
mov rcx, r10
mov rdi, rbx
xor eax, eax
rep stosd dword [rdi], eax
add rbx, r8
sub rdx, 1
jne 0x140084330
add rsp, 0x40
pop r13
pop rdi
pop rbx
ret
push rbx
mov r11, rdx
mov rbx, rcx
test r8d, r8d
jle 0x14008a89c
mov qword [rsp + 0x10], rdi
sub rbx, rdx
mov edi, r8d
nop dword [rax]
mov r10d, dword [r11]
lea r11, [r11 + 4]
mov eax, r10d
movzx ecx, r10b
shr eax, 0x18
imul ecx, eax
mov r8d, eax
mov eax, 0x80808081
add ecx, 0x7f
mul ecx
mov eax, r8d
shl eax, 8
shr edx, 7
movzx r9d, dl
or r9d, eax
mov eax, r10d
shr eax, 8
movzx ecx, al
mov eax, 0x80808081
imul ecx, r8d
shl r9d, 8
shr r10d, 0x10
add ecx, 0x7f
mul ecx
movzx ecx, r10b
shr edx, 7
movzx eax, dl
or r9d, eax
imul ecx, r8d
shl r9d, 8
mov eax, 0x80808081
add ecx, 0x7f
mul ecx
shr edx, 7
movzx eax, dl
or r9d, eax
mov dword [rbx + r11 - 4], r9d
sub rdi, 1
jne 0x14008a810
mov rdi, qword [rsp + 0x10]
pop rbx
ret
push rbx
mov r11, rdx
mov rbx, rcx
test r8d, r8d
jle 0x14008a94c
mov qword [rsp + 0x10], rdi
sub rbx, rdx
mov edi, r8d
nop dword [rax]
mov r8d, dword [r11]
lea r11, [r11 + 4]
mov eax, r8d
mov r10d, r8d
shr eax, 0x10
movzx ecx, al
mov eax, 0x80808081
shr r10d, 0x18
imul ecx, r10d
shr r8d, 8
add ecx, 0x7f
mul ecx
movzx ecx, r8b
mov eax, r10d
shl eax, 8
shr edx, 7
imul ecx, r10d
movzx r9d, dl
or r9d, eax
mov eax, 0x80808081
shl r9d, 8
add ecx, 0x7f
mul ecx
movzx ecx, byte [r11 - 4]
shr edx, 7
movzx eax, dl
or r9d, eax
imul ecx, r10d
shl r9d, 8
mov eax, 0x80808081
add ecx, 0x7f
mul ecx
shr edx, 7
movzx eax, dl
or r9d, eax
mov dword [rbx + r11 - 4], r9d
sub rdi, 1
jne 0x14008a8c0
mov rdi, qword [rsp + 0x10]
pop rbx
ret
mov eax, r9d
shr eax, 0x18
test eax, eax
je 0x1401a5392
cmp eax, 0xff
je case.default.0x1401a5381
jmp qword [case.0x1401a5381.0]
mov edx, r9d
jmp qword [case.0x1401a538b.0]
movsxd r8, r8d
shl r8, 2
jmp fcn.1402e2940
sub ecx, dword [rax]
add dword [rax], eax
add byte [rax], al
nop
xor dword [rax], ecx
add dword [rax], eax
add byte [rax], al
nop
xor al, 8
add dword [rax], eax
add byte [rax], al
jo 0x14045bf1b
or byte [rax + 1], al
add byte [rax], al
add byte [rax + 0x1400831], al
add byte [rax], al
add byte [rax], dl
or byte ss:[rax + 1], al
add byte [rax], al
add byte [rax + 0x1400836], ah
or byte ss:[rax + 1], al
or byte ss:[rax + 1], al
add byte [rax], al
add al, dh
or byte ss:[rax + 1], al
add byte [rax], al
add byte [rax + 0x1400826], dl
add byte [rax], al
add byte [rax + 0x1400837], ah
add byte [rax], al
add byte [rax + 0x3b], ah
invalid
cmp ecx, dword [rax]
add dword [rax], eax
add byte [rax], al
nop
invalid
or byte [rax + 1], al
add byte [rax], al
add byte [rcx], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add bh, bh
invalid
add dword [rax], eax
add byte [rax], al
invalid