Function at 0x14000ec60
Capabilities:
Encode data using xor

Disassembly:
mov r11, rsp
push rbx
push rsi
push r12
push r14
push r15
sub rsp, 0xa0
mov r8, qword [rsp + 0xf0]
mov eax, 0xc2b2ae3d
mov qword [rsp], rax
mov r14, rdx
movabs rax, 0xc2b2ae3d27d4eb4f
movaps xmmword [r11 - 0x38], xmm6
mov qword [rsp + 0x10], rax
movabs r12, 0x9e3779b185ebca87
movabs rax, 0x165667b19e3779f9
mov qword [r11 + 0x10], rdi
mov qword [rsp + 0x18], rax
lea r10, [r8 - 0x40]
movdqa xmm4, xmmword [rsp + 0x10]
lea rsi, [r9 + r8]
movabs rax, 0x85ebca77c2b2ae63
shr r10, 3
mov qword [rsp + 0x20], rax
mov rdi, r10
mov eax, 0x85ebca77
shl rdi, 6
mov qword [rsp + 0x28], rax
mov r15, rcx
movdqa xmm5, xmmword [rsp + 0x20]
movabs rax, 0x27d4eb2f165667c5
mov qword [rsp + 0x30], rax
mov eax, 0x9e3779b1
mov qword [rsp + 0x38], rax
lea rax, [rdx - 1]
movdqa xmm6, xmmword [rsp + 0x30]
xor edx, edx
div rdi
mov qword [rsp + 8], r12
movdqa xmm3, xmmword [rsp]
mov rbx, rax
test rax, rax
je 0x14000ef18
mov qword [r11 + 8], rbp
mov rbp, rax
movaps xmmword [r11 - 0x48], xmm7
movdqa xmm7, xmmword [0x140310200]
movaps xmmword [r11 - 0x58], xmm8
movdqu xmm8, xmmword [rsi - 0x40]
movaps xmmword [r11 - 0x68], xmm9
movdqu xmm9, xmmword [rsi - 0x30]
movaps xmmword [r11 - 0x78], xmm10
lea r11, [rcx + 0x10]
movdqu xmm10, xmmword [rsi - 0x20]
movaps xmmword [rsp + 0x40], xmm11
movdqu xmm11, xmmword [rsi - 0x10]
nop word [rax + rax]
lea rdx, [r9 + 0x20]
test r10, r10
je 0x14000ee49
mov rcx, rdx
mov rax, r11
mov r8, r10
nop word [rax + rax]
prefetcht0 byte [rax + 0x170]
movdqu xmm2, xmmword [rax - 0x10]
lea rax, [rax + 0x40]
movdqu xmm0, xmmword [rcx - 0x20]
lea rcx, [rcx + 8]
xorps xmm0, xmm2
pshufd xmm1, xmm0, 0x31
pmuludq xmm1, xmm0
pshufd xmm0, xmm2, 0x4e
paddq xmm0, xmm3
movdqu xmm2, xmmword [rcx - 0x18]
movdqa xmm3, xmm1
paddq xmm3, xmm0
movdqu xmm0, xmmword [rax - 0x40]
xorps xmm2, xmm0
pshufd xmm0, xmm0, 0x4e
pshufd xmm1, xmm2, 0x31
paddq xmm4, xmm0
pmuludq xmm1, xmm2
movdqu xmm0, xmmword [rax - 0x30]
movdqu xmm2, xmmword [rcx - 8]
paddq xmm4, xmm1
xorps xmm2, xmm0
pshufd xmm0, xmm0, 0x4e
pshufd xmm1, xmm2, 0x31
paddq xmm5, xmm0
pmuludq xmm1, xmm2
movdqu xmm0, xmmword [rax - 0x20]
movdqu xmm2, xmmword [rcx + 8]
paddq xmm5, xmm1
xorps xmm2, xmm0
pshufd xmm0, xmm0, 0x4e
pshufd xmm1, xmm2, 0x31
paddq xmm6, xmm0
pmuludq xmm1, xmm2
paddq xmm6, xmm1
sub r8, 1
jne 0x14000eda0
movdqa xmm0, xmm3
add r11, rdi
psrlq xmm0, 0x2f
xorps xmm0, xmm3
xorps xmm0, xmm8
pshufd xmm3, xmm0, 0x31
pmuludq xmm0, xmm7
pmuludq xmm3, xmm7
psllq xmm3, 0x20
paddq xmm3, xmm0
movdqa xmm0, xmm4
psrlq xmm0, 0x2f
xorps xmm0, xmm4
xorps xmm0, xmm9
pshufd xmm4, xmm0, 0x31
pmuludq xmm0, xmm7
pmuludq xmm4, xmm7
psllq xmm4, 0x20
paddq xmm4, xmm0
movdqa xmm0, xmm5
psrlq xmm0, 0x2f
xorps xmm0, xmm5
xorps xmm0, xmm10
pshufd xmm5, xmm0, 0x31
pmuludq xmm0, xmm7
pmuludq xmm5, xmm7
psllq xmm5, 0x20
paddq xmm5, xmm0
movdqa xmm0, xmm6
psrlq xmm0, 0x2f
xorps xmm0, xmm6
xorps xmm0, xmm11
pshufd xmm6, xmm0, 0x31
pmuludq xmm6, xmm7
pmuludq xmm0, xmm7
psllq xmm6, 0x20
paddq xmm6, xmm0
sub rbp, 1
jne 0x14000ed80
movaps xmm11, xmmword [rsp + 0x40]
movaps xmm10, xmmword [rsp + 0x50]
movaps xmm9, xmmword [rsp + 0x60]
movaps xmm8, xmmword [rsp + 0x70]
movaps xmm7, xmmword [rsp + 0x80]
mov rbp, qword [rsp + 0xd0]
jmp 0x14000ef1c
lea rdx, [r9 + 0x20]
imul rbx, rdi
mov rdi, qword [rsp + 0xd8]
mov rcx, r14
sub rcx, rbx
dec rcx
shr rcx, 6
test rcx, rcx
je 0x14000eff9
lea rax, [r15 + 0x10]
add rax, rbx
nop word [rax + rax]
prefetcht0 byte [rax + 0x170]
movdqu xmm2, xmmword [rax - 0x10]
lea rax, [rax + 0x40]
movdqu xmm0, xmmword [rdx - 0x20]
lea rdx, [rdx + 8]
xorps xmm0, xmm2
pshufd xmm1, xmm0, 0x31
pmuludq xmm1, xmm0
pshufd xmm0, xmm2, 0x4e
paddq xmm0, xmm3
movdqu xmm2, xmmword [rdx - 0x18]
movdqa xmm3, xmm1
paddq xmm3, xmm0
movdqu xmm0, xmmword [rax - 0x40]
xorps xmm2, xmm0
pshufd xmm0, xmm0, 0x4e
pshufd xmm1, xmm2, 0x31
paddq xmm4, xmm0
pmuludq xmm1, xmm2
movdqu xmm0, xmmword [rax - 0x30]
movdqu xmm2, xmmword [rdx - 8]
paddq xmm4, xmm1
xorps xmm2, xmm0
pshufd xmm0, xmm0, 0x4e
pshufd xmm1, xmm2, 0x31
paddq xmm5, xmm0
pmuludq xmm1, xmm2
movdqu xmm0, xmmword [rax - 0x20]
movdqu xmm2, xmmword [rdx + 8]
paddq xmm5, xmm1
xorps xmm2, xmm0
pshufd xmm0, xmm0, 0x4e
pshufd xmm1, xmm2, 0x31
paddq xmm6, xmm0
pmuludq xmm1, xmm2
paddq xmm6, xmm1
sub rcx, 1
jne 0x14000ef50
movdqu xmm1, xmmword [r15 + r14 - 0x40]
movdqu xmm0, xmmword [rsi - 0x47]
xorps xmm0, xmm1
pshufd xmm2, xmm0, 0x31
pmuludq xmm2, xmm0
pshufd xmm0, xmm1, 0x4e
movdqu xmm1, xmmword [rsi - 0x37]
paddq xmm0, xmm3
paddq xmm2, xmm0
movdqu xmm0, xmmword [r15 + r14 - 0x30]
movq rcx, xmm2
xor rcx, qword [r9 + 0xb]
xorps xmm1, xmm0
pshufd xmm3, xmm0, 0x4e
pshufd xmm0, xmm1, 0x31
paddq xmm3, xmm4
pmuludq xmm0, xmm1
movdqu xmm1, xmmword [rsi - 0x27]
paddq xmm3, xmm0
movdqu xmm0, xmmword [r15 + r14 - 0x20]
xorps xmm1, xmm0
pshufd xmm4, xmm0, 0x4e
paddq xmm4, xmm5
pshufd xmm0, xmm1, 0x31
pmuludq xmm0, xmm1
movdqu xmm1, xmmword [rsi - 0x17]
paddq xmm4, xmm0
movdqu xmm0, xmmword [r15 + r14 - 0x10]
imul r14, r12
pshufd xmm5, xmm0, 0x4e
xorps xmm1, xmm0
paddq xmm5, xmm6
pshufd xmm0, xmm1, 0x31
movaps xmm6, xmmword [rsp + 0x90]
pmuludq xmm0, xmm1
paddq xmm5, xmm0
movdqa xmm0, xmm2
psrldq xmm0, 8
movq rax, xmm0
movdqa xmm0, xmm3
xor rax, qword [r9 + 0x13]
mul rcx
psrldq xmm0, 8
movq rcx, xmm3
xor rcx, qword [r9 + 0x1b]
xor rax, rdx
add r14, rax
movq rax, xmm0
xor rax, qword [r9 + 0x23]
movdqa xmm0, xmm4
mul rcx
psrldq xmm0, 8
movq rcx, xmm4
xor rcx, qword [r9 + 0x2b]
xor rax, rdx
add r14, rax
movq rax, xmm0
xor rax, qword [r9 + 0x33]
movdqa xmm0, xmm5
mul rcx
psrldq xmm0, 8
movq rcx, xmm0
xor rax, rdx
mov rdx, qword [r9 + 0x3b]
add r14, rax
mov rax, qword [r9 + 0x43]
xor rax, rcx
movq rcx, xmm5
xor rdx, rcx
mul rdx
xor rax, rdx
add r14, rax
movabs rax, 0x165667919e3779f9
mov rcx, r14
shr rcx, 0x25
xor rcx, r14
imul rcx, rax
mov rax, rcx
shr rax, 0x20
xor rax, rcx
add rsp, 0xa0
pop r15
pop r14
pop r12
pop rsi
pop rbx
ret