Function at 0x140019c60
Capabilities:
Encode data using xor

Disassembly:
mov r11, rsp
push rsi
push rdi
push r14
sub rsp, 0x170
movaps xmmword [r11 - 0x28], xmm6
movaps xmmword [r11 - 0x38], xmm7
movaps xmmword [r11 - 0x48], xmm8
movaps xmmword [r11 - 0x58], xmm9
movaps xmmword [r11 - 0x68], xmm10
mov rax, qword [0x1400f9b40]
xor rax, rsp
mov qword [rsp + 0x100], rax
mov rdi, rdx
mov rsi, rcx
test r8, r8
jne 0x14001a14d
mov eax, 0xc2b2ae3d
mov qword [r11 + 0x20], rbx
mov qword [rsp], rax
lea r10, [rdx - 1]
movabs rax, 0xc2b2ae3d27d4eb4f
shr r10, 0xa
mov qword [rsp + 0x10], rax
movabs rax, 0x165667b19e3779f9
mov qword [rsp + 0x18], rax
movabs rax, 0x85ebca77c2b2ae63
movdqa xmm5, xmmword [rsp + 0x10]
movabs r14, 0x9e3779b185ebca87
mov qword [rsp + 0x20], rax
mov eax, 0x85ebca77
mov qword [rsp + 0x28], rax
movabs rax, 0x27d4eb2f165667c5
movdqa xmm6, xmmword [rsp + 0x20]
mov rbx, r8
mov qword [rsp + 0x30], rax
mov eax, 0x9e3779b1
mov qword [rsp + 0x38], rax
lea r9, [0x1400bb820]
movdqa xmm7, xmmword [rsp + 0x30]
mov qword [rsp + 8], r14
movdqa xmm4, xmmword [rsp]
test r10, r10
je 0x140019ef8
movdqa xmm8, xmmword [0x1400bb8b0]
movdqa xmm9, xmmword [0x1400bb8a0]
movdqa xmm10, xmmword [0x1400bb890]
movaps xmmword [r11 - 0x78], xmm11
mov r11, rcx
movdqa xmm11, xmmword [0x1400bb880]
mov rcx, r9
lea rax, [r11 + 0x10]
mov rdx, r8
nop dword [rax]
prefetcht0 byte [rax + 0x170]
movdqu xmm2, xmmword [rax - 0x10]
add rdx, 8
movdqu xmm0, xmmword [rcx - 0x20]
lea rcx, [rcx + 8]
movdqu xmm3, xmmword [rax + 0x10]
lea rax, [rax + 0x40]
xorps xmm0, xmm2
pshufd xmm1, xmm0, 0x31
pmuludq xmm1, xmm0
pshufd xmm0, xmm2, 0x4e
paddq xmm0, xmm4
movdqu xmm2, xmmword [rax - 0x40]
movdqa xmm4, xmm1
paddq xmm4, xmm0
movdqu xmm0, xmmword [rcx - 0x18]
xorps xmm0, xmm2
pshufd xmm1, xmm0, 0x31
pmuludq xmm1, xmm0
pshufd xmm0, xmm2, 0x4e
paddq xmm0, xmm5
movdqa xmm5, xmm1
movdqa xmm1, xmm3
paddq xmm5, xmm0
movdqu xmm0, xmmword [rcx - 8]
xorps xmm1, xmm0
pshufd xmm0, xmm3, 0x4e
pshufd xmm2, xmm1, 0x31
paddq xmm0, xmm6
pmuludq xmm2, xmm1
movdqu xmm1, xmmword [rax - 0x20]
movdqa xmm6, xmm2
paddq xmm6, xmm0
movdqu xmm0, xmmword [rcx + 8]
xorps xmm0, xmm1
pshufd xmm2, xmm0, 0x31
pmuludq xmm2, xmm0
pshufd xmm0, xmm1, 0x4e
paddq xmm7, xmm0
paddq xmm7, xmm2
cmp rdx, 0x80
jb 0x140019d80
movdqa xmm1, xmmword [0x1400bb970]
movdqa xmm0, xmm4
psrlq xmm0, 0x2f
inc rbx
xorps xmm0, xmm4
add r11, 0x400
xorps xmm0, xmm11
pshufd xmm4, xmm0, 0x31
pmuludq xmm0, xmm1
pmuludq xmm4, xmm1
psllq xmm4, 0x20
paddq xmm4, xmm0
movdqa xmm0, xmm5
psrlq xmm0, 0x2f
xorps xmm0, xmm5
xorps xmm0, xmm10
pshufd xmm5, xmm0, 0x31
pmuludq xmm0, xmm1
pmuludq xmm5, xmm1
psllq xmm5, 0x20
paddq xmm5, xmm0
movdqa xmm0, xmm6
psrlq xmm0, 0x2f
xorps xmm0, xmm6
xorps xmm0, xmm9
pshufd xmm6, xmm0, 0x31
pmuludq xmm0, xmm1
pmuludq xmm6, xmm1
psllq xmm6, 0x20
paddq xmm6, xmm0
movdqa xmm0, xmm7
psrlq xmm0, 0x2f
xorps xmm0, xmm7
xorps xmm0, xmm8
pshufd xmm7, xmm0, 0x31
pmuludq xmm7, xmm1
pmuludq xmm0, xmm1
psllq xmm7, 0x20
paddq xmm7, xmm0
cmp rbx, r10
jb 0x140019d72
movaps xmm11, xmmword [rsp + 0x110]
mov rbx, qword [rsp + 0x1a8]
mov rcx, rdi
shl r10, 0xa
sub rcx, r10
dec rcx
shr rcx, 6
test rcx, rcx
je 0x140019fd8
lea rax, [rsi + 0x10]
add rax, r10
prefetcht0 byte [rax + 0x170]
movdqu xmm2, xmmword [rax - 0x10]
inc r8
lea rax, [rax + 0x40]
movdqu xmm0, xmmword [r9 - 0x20]
lea r9, [r9 + 8]
xorps xmm0, xmm2
pshufd xmm1, xmm0, 0x31
pmuludq xmm1, xmm0
pshufd xmm0, xmm2, 0x4e
paddq xmm0, xmm4
movdqu xmm2, xmmword [rax - 0x40]
movdqa xmm4, xmm1
paddq xmm4, xmm0
movdqu xmm0, xmmword [r9 - 0x18]
xorps xmm0, xmm2
pshufd xmm1, xmm0, 0x31
pmuludq xmm1, xmm0
pshufd xmm0, xmm2, 0x4e
paddq xmm0, xmm5
movdqu xmm2, xmmword [rax - 0x30]
movdqa xmm5, xmm1
paddq xmm5, xmm0
movdqu xmm0, xmmword [r9 - 8]
xorps xmm0, xmm2
pshufd xmm1, xmm0, 0x31
pmuludq xmm1, xmm0
pshufd xmm0, xmm2, 0x4e
paddq xmm0, xmm6
movdqa xmm6, xmm1
paddq xmm6, xmm0
movdqu xmm1, xmmword [rax - 0x20]
movdqu xmm0, xmmword [r9 + 8]
xorps xmm0, xmm1
pshufd xmm2, xmm0, 0x31
pmuludq xmm2, xmm0
pshufd xmm0, xmm1, 0x4e
paddq xmm7, xmm0
paddq xmm7, xmm2
cmp r8, rcx
jb 0x140019f21
movdqu xmm2, xmmword [rdi + rsi - 0x40]
mov rax, qword [0x1400bb813]
movdqu xmm0, xmmword [0x1400bb879]
mov rdx, qword [0x1400bb80b]
movdqa xmm1, xmm2
xorps xmm1, xmm0
pshufd xmm0, xmm2, 0x4e
movdqu xmm2, xmmword [rdi + rsi - 0x30]
paddq xmm0, xmm4
pshufd xmm3, xmm1, 0x31
pmuludq xmm3, xmm1
movdqa xmm1, xmm2
paddq xmm3, xmm0
movdqu xmm0, xmmword [0x1400bb889]
xorps xmm1, xmm0
pshufd xmm0, xmm2, 0x4e
movdqu xmm2, xmmword [rdi + rsi - 0x20]
paddq xmm0, xmm5
pshufd xmm4, xmm1, 0x31
pmuludq xmm4, xmm1
movdqa xmm1, xmm2
paddq xmm4, xmm0
movdqu xmm0, xmmword [0x1400bb899]
xorps xmm1, xmm0
pshufd xmm0, xmm2, 0x4e
movdqu xmm2, xmmword [rdi + rsi - 0x10]
paddq xmm0, xmm6
pshufd xmm5, xmm1, 0x31
pmuludq xmm5, xmm1
movdqa xmm1, xmm2
imul rdi, r14
paddq xmm5, xmm0
movdqu xmm0, xmmword [0x1400bb8a9]
xorps xmm1, xmm0
pshufd xmm0, xmm2, 0x4e
paddq xmm0, xmm7
pshufd xmm6, xmm1, 0x31
pmuludq xmm6, xmm1
paddq xmm6, xmm0
movdqa xmm0, xmm3
psrldq xmm0, 8
movq rcx, xmm0
movdqa xmm0, xmm4
xor rax, rcx
psrldq xmm0, 8
movq rcx, xmm3
xor rdx, rcx
movq rcx, xmm0
mul rdx
movdqa xmm0, xmm5
psrldq xmm0, 8
xor rax, rdx
mov rdx, qword [0x1400bb81b]
add rdi, rax
mov rax, qword [0x1400bb823]
xor rax, rcx
movq rcx, xmm4
xor rdx, rcx
movq rcx, xmm0
mul rdx
movdqa xmm0, xmm6
psrldq xmm0, 8
xor rax, rdx
mov rdx, qword [0x1400bb82b]
add rdi, rax
mov rax, qword [0x1400bb833]
xor rax, rcx
movq rcx, xmm5
xor rdx, rcx
movq rcx, xmm0
mul rdx
xor rax, rdx
mov rdx, qword [0x1400bb83b]
add rdi, rax
mov rax, qword [0x1400bb843]
xor rax, rcx
movq rcx, xmm6
xor rdx, rcx
mul rdx
xor rax, rdx
add rdi, rax
jmp 0x14001a68e
movdqa xmm1, xmmword [0x1400bb810]
lea r10, [rdx - 1]
movdqa xmm7, xmmword [0x1400bb880]
mov rax, r8
movdqa xmm8, xmmword [0x1400bb890]
neg rax
movdqa xmm9, xmmword [0x1400bb8a0]
movq xmm2, r8
movdqa xmm10, xmmword [0x1400bb8b0]
xor r8d, r8d
movabs r14, 0x9e3779b185ebca87
shr r10, 0xa
mov qword [rsp + 8], r14
movq xmm0, rax
punpcklqdq xmm2, xmm0
mov eax, 0xc2b2ae3d
movdqa xmm0, xmmword [0x1400bb800]
paddq xmm1, xmm2
mov qword [rsp], rax
paddq xmm0, xmm2
movdqa xmm3, xmmword [rsp]
movabs rax, 0xc2b2ae3d27d4eb4f
mov qword [rsp + 0x10], rax
movabs rax, 0x165667b19e3779f9
movdqa xmmword [rsp + 0x40], xmm0
paddq xmm7, xmm2
movdqa xmm0, xmmword [0x1400bb820]
paddq xmm8, xmm2
movdqa xmmword [rsp + 0x50], xmm1
paddq xmm0, xmm2
movdqa xmm1, xmmword [0x1400bb830]
paddq xmm9, xmm2
mov qword [rsp + 0x18], rax
paddq xmm1, xmm2
movdqa xmm4, xmmword [rsp + 0x10]
movabs rax, 0x85ebca77c2b2ae63
mov qword [rsp + 0x20], rax
mov eax, 0x85ebca77
movdqa xmmword [rsp + 0x60], xmm0
paddq xmm10, xmm2
movdqa xmm0, xmmword [0x1400bb840]
mov r11d, r8d
movdqa xmmword [rsp + 0x70], xmm1
paddq xmm0, xmm2
movdqa xmm1, xmmword [0x1400bb850]
mov qword [rsp + 0x28], rax
paddq xmm1, xmm2
movdqa xmm5, xmmword [rsp + 0x20]
movabs rax, 0x27d4eb2f165667c5
mov qword [rsp + 0x30], rax
mov eax, 0x9e3779b1
movdqa xmmword [rsp + 0x80], xmm0
movdqa xmm0, xmmword [0x1400bb860]
movdqa xmmword [rsp + 0x90], xmm1
paddq xmm0, xmm2
movdqa xmm1, xmmword [0x1400bb870]
mov qword [rsp + 0x38], rax
paddq xmm1, xmm2
movdqa xmm6, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0xa0], xmm0
movdqa xmmword [rsp + 0xb0], xmm1
movdqa xmmword [rsp + 0xc0], xmm7
movdqa xmmword [rsp + 0xd0], xmm8
movdqa xmmword [rsp + 0xe0], xmm9
movdqa xmmword [rsp + 0xf0], xmm10
test r10, r10
je 0x14001a462
mov r9, rsi
mov rdx, r8
lea rcx, [rsp + 0x60]
lea rax, [r9 + 0x10]
nop
prefetcht0 byte [rax + 0x170]
movdqu xmm0, xmmword [rax - 0x10]
inc rdx
lea rax, [rax + 0x40]
movdqu xmm2, xmmword [rcx - 0x20]
lea rcx, [rcx + 8]
xorps xmm2, xmm0
pshufd xmm0, xmm0, 0x4e
pshufd xmm1, xmm2, 0x31
paddq xmm3, xmm0
pmuludq xmm1, xmm2
movdqu xmm0, xmmword [rax - 0x40]
movdqu xmm2, xmmword [rcx - 0x18]
paddq xmm3, xmm1
xorps xmm2, xmm0
pshufd xmm0, xmm0, 0x4e
pshufd xmm1, xmm2, 0x31
paddq xmm4, xmm0
pmuludq xmm1, xmm2
movdqu xmm0, xmmword [rcx - 8]
paddq xmm4, xmm1
movdqu xmm1, xmmword [rax - 0x30]
movdqa xmm2, xmm1
xorps xmm2, xmm0
pshufd xmm0, xmm1, 0x4e
pshufd xmm1, xmm2, 0x31
paddq xmm5, xmm0
pmuludq xmm1, xmm2
movdqu xmm0, xmmword [rcx + 8]
paddq xmm5, xmm1
movdqu xmm1, xmmword [rax - 0x20]
xorps xmm0, xmm1
pshufd xmm2, xmm0, 0x31
pmuludq xmm2, xmm0
pshufd xmm0, xmm1, 0x4e
paddq xmm6, xmm0
paddq xmm6, xmm2
cmp rdx, 0x10
jb 0x14001a300
movdqa xmm1, xmmword [0x1400bb970]
movdqa xmm0, xmm3
psrlq xmm0, 0x2f
inc r11
xorps xmm0, xmm3
add r9, 0x400
xorps xmm0, xmm7
pshufd xmm3, xmm0, 0x31
pmuludq xmm0, xmm1
pmuludq xmm3, xmm1
psllq xmm3, 0x20
paddq xmm3, xmm0
movdqa xmm0, xmm4
psrlq xmm0, 0x2f
xorps xmm0, xmm4
xorps xmm0, xmm8
pshufd xmm4, xmm0, 0x31
pmuludq xmm0, xmm1
pmuludq xmm4, xmm1
psllq xmm4, 0x20
paddq xmm4, xmm0
movdqa xmm0, xmm5
psrlq xmm0, 0x2f
xorps xmm0, xmm5
xorps xmm0, xmm9
pshufd xmm5, xmm0, 0x31
pmuludq xmm0, xmm1
pmuludq xmm5, xmm1
psllq xmm5, 0x20
paddq xmm5, xmm0
movdqa xmm0, xmm6
psrlq xmm0, 0x2f
xorps xmm0, xmm6
movdqa xmm6, xmm10
xorps xmm6, xmm0
pshufd xmm0, xmm6, 0x31
pmuludq xmm0, xmm1
pmuludq xmm6, xmm1
psllq xmm0, 0x20
paddq xmm6, xmm0
cmp r11, r10
jb 0x14001a2f3
shl r10, 0xa
mov rdx, rdi
sub rdx, r10
dec rdx
shr rdx, 6
test rdx, rdx
je 0x14001a537
lea rax, [rsi + 0x10]
add rax, r10
lea rcx, [rsp + 0x60]
nop dword [rax + rax]
prefetcht0 byte [rax + 0x170]
movdqu xmm0, xmmword [rax - 0x10]
inc r8
lea rax, [rax + 0x40]
movdqu xmm2, xmmword [rcx - 0x20]
lea rcx, [rcx + 8]
xorps xmm2, xmm0
pshufd xmm0, xmm0, 0x4e
pshufd xmm1, xmm2, 0x31
paddq xmm3, xmm0
pmuludq xmm1, xmm2
movdqu xmm0, xmmword [rax - 0x40]
movdqu xmm2, xmmword [rcx - 0x18]
paddq xmm3, xmm1
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 [rcx + 8]
paddq xmm5, xmm1
movdqu xmm1, xmmword [rax - 0x20]
xorps xmm0, xmm1
pshufd xmm2, xmm0, 0x31
pmuludq xmm2, xmm0
pshufd xmm0, xmm1, 0x4e
paddq xmm6, xmm0
paddq xmm6, xmm2
cmp r8, rdx
jb 0x14001a490
movdqu xmm0, xmmword [rdi + rsi - 0x40]
mov rax, qword [rsp + 0x53]
movdqu xmm1, xmmword [rsp + 0xb9]
mov rdx, qword [rsp + 0x4b]
pshufd xmm2, xmm0, 0x4e
xorps xmm1, xmm0
paddq xmm2, xmm3
pshufd xmm0, xmm1, 0x31
pmuludq xmm0, xmm1
movdqu xmm1, xmmword [rsp + 0xc9]
paddq xmm2, xmm0
movdqu xmm0, xmmword [rdi + rsi - 0x30]
xorps xmm1, xmm0
pshufd xmm3, xmm0, 0x4e
pshufd xmm0, xmm1, 0x31
paddq xmm3, xmm4
pmuludq xmm0, xmm1
movdqu xmm1, xmmword [rsp + 0xd9]
paddq xmm3, xmm0
movdqu xmm0, xmmword [rdi + rsi - 0x20]
xorps xmm1, xmm0
pshufd xmm4, xmm0, 0x4e
paddq xmm4, xmm5
pshufd xmm0, xmm1, 0x31
pmuludq xmm0, xmm1
movdqu xmm1, xmmword [rsp + 0xe9]
paddq xmm4, xmm0
movdqu xmm0, xmmword [rdi + rsi - 0x10]
imul rdi, r14
pshufd xmm5, xmm0, 0x4e
xorps xmm1, xmm0
pshufd xmm0, xmm1, 0x31
paddq xmm5, xmm6
pmuludq xmm0, xmm1
paddq xmm5, xmm0
movdqa xmm0, xmm2
psrldq xmm0, 8
movq rcx, xmm0
movdqa xmm0, xmm3
xor rax, rcx
psrldq xmm0, 8
movq rcx, xmm2
xor rdx, rcx
movq rcx, xmm0
mul rdx
movdqa xmm0, xmm4
psrldq xmm0, 8
xor rdx, rax
mov rax, qword [rsp + 0x63]
add rdi, rdx
xor rax, rcx
mov rdx, qword [rsp + 0x5b]
movq rcx, xmm3
xor rdx, rcx
movq rcx, xmm0
mul rdx
movdqa xmm0, xmm5
psrldq xmm0, 8
xor rdx, rax
mov rax, qword [rsp + 0x73]
add rdi, rdx
xor rax, rcx
mov rdx, qword [rsp + 0x6b]
movq rcx, xmm4
xor rdx, rcx
movq rcx, xmm0
mul rdx
xor rdx, rax
mov rax, qword [rsp + 0x83]
add rdi, rdx
xor rax, rcx
mov rdx, qword [rsp + 0x7b]
movq rcx, xmm5
xor rdx, rcx
mul rdx
xor rdx, rax
add rdi, rdx
movabs rax, 0x165667919e3779f9
mov rcx, rdi
shr rcx, 0x25
xor rcx, rdi
imul rcx, rax
mov rax, rcx
shr rax, 0x20
xor rax, rcx
mov rcx, qword [rsp + 0x100]
xor rcx, rsp
call fcn.14009a250
lea r11, [rsp + 0x170]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
mov rsp, r11
pop r14
pop rdi
pop rsi
ret