Function at 0x140008580
Capabilities:
Encode data using xor

Disassembly:
xor eax, eax
mov r8, rcx
xorps xmm0, xmm0
movups xmmword [rcx], xmm0
mov word [rcx + 0x10], ax
mov byte [rcx + 0x12], al
add rcx, 0x12
lea rax, [rdx + 0x12]
cmp r8, rax
ja 0x1400085c2
cmp rcx, rdx
jb 0x1400085c2
mov rax, r8
sub rdx, r8
mov r9d, 0x13
movzx ecx, byte [rdx + rax]
mov byte [rax], cl
lea rax, [rax + 1]
sub r9, 1
jne 0x1400085b0
jmp 0x1400085da
movzx eax, word [rdx + 0x10]
movups xmm0, xmmword [rdx]
movups xmmword [r8], xmm0
mov word [r8 + 0x10], ax
movzx eax, byte [rdx + 0x12]
mov byte [r8 + 0x12], al
xor r9d, r9d
lea r10, [r8 + 2]
lea r11, str.cwKFumFWP
nop dword [rax + rax]
mov ecx, r9d
mov eax, 0x38e38e39
imul r9d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*8]
sub ecx, eax
movsxd rax, ecx
lea ecx, [r9 + 1]
movzx eax, byte [rax + r11]
xor byte [r10 - 2], al
mov eax, 0x38e38e39
imul ecx
mov ecx, r9d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*8]
sub ecx, eax
lea eax, [rcx + 1]
cdqe
lea ecx, [r9 + 2]
movzx eax, byte [rax + r11]
xor byte [r10 - 1], al
mov eax, 0x38e38e39
imul ecx
mov ecx, r9d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*8]
sub ecx, eax
lea eax, [rcx + 2]
cdqe
lea ecx, [r9 + 3]
movzx eax, byte [rax + r11]
xor byte [r10], al
mov eax, 0x38e38e39
imul ecx
mov ecx, r9d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*8]
sub ecx, eax
lea eax, [rcx + 3]
cdqe
lea ecx, [r9 + 4]
movzx eax, byte [rax + r11]
xor byte [r10 + 1], al
mov eax, 0x38e38e39
imul ecx
mov ecx, r9d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*8]
sub ecx, eax
lea eax, [rcx + 4]
cdqe
lea ecx, [r9 + 5]
movzx eax, byte [rax + r11]
xor byte [r10 + 2], al
mov eax, 0x38e38e39
imul ecx
mov ecx, r9d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*8]
sub ecx, eax
lea eax, [rcx + 5]
cdqe
movzx eax, byte [rax + r11]
xor byte [r10 + 3], al
lea ecx, [r9 + 6]
mov eax, 0x38e38e39
imul ecx
mov ecx, r9d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*8]
sub ecx, eax
lea eax, [rcx + 6]
cdqe
lea ecx, [r9 + 7]
movzx eax, byte [rax + r11]
xor byte [r10 + 4], al
mov eax, 0x38e38e39
imul ecx
mov ecx, r9d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*8]
sub ecx, eax
lea eax, [rcx + 7]
cdqe
lea ecx, [r9 + 8]
movzx eax, byte [rax + r11]
xor byte [r10 + 5], al
mov eax, 0x38e38e39
imul ecx
mov ecx, r9d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*8]
sub ecx, eax
lea eax, [rcx + 8]
cdqe
lea ecx, [r9 + 9]
movzx eax, byte [rax + r11]
xor byte [r10 + 6], al
mov eax, 0x38e38e39
imul ecx
mov ecx, 1
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
sub ecx, edx
lea eax, [r9 + rcx*8]
add eax, ecx
lea ecx, [r9 + 0xa]
cdqe
movzx eax, byte [rax + r11]
xor byte [r10 + 7], al
mov eax, 0x38e38e39
imul ecx
mov ecx, r9d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*8]
sub ecx, eax
lea eax, [rcx + 0xa]
cdqe
lea ecx, [r9 + 0xb]
movzx eax, byte [rax + r11]
xor byte [r10 + 8], al
mov eax, 0x38e38e39
imul ecx
mov ecx, r9d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*8]
sub ecx, eax
lea eax, [rcx + 0xb]
cdqe
lea ecx, [r9 + 0xc]
movzx eax, byte [rax + r11]
xor byte [r10 + 9], al
mov eax, 0x38e38e39
imul ecx
mov ecx, r9d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*8]
sub ecx, eax
lea eax, [rcx + 0xc]
cdqe
lea ecx, [r9 + 0xd]
movzx eax, byte [rax + r11]
xor byte [r10 + 0xa], al
mov eax, 0x38e38e39
imul ecx
mov ecx, r9d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*8]
sub ecx, eax
lea eax, [rcx + 0xd]
cdqe
lea ecx, [r9 + 0xe]
movzx eax, byte [rax + r11]
xor byte [r10 + 0xb], al
mov eax, 0x38e38e39
imul ecx
mov ecx, r9d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*8]
sub ecx, eax
lea eax, [rcx + 0xe]
cdqe
lea ecx, [r9 + 0xf]
movzx eax, byte [rax + r11]
xor byte [r10 + 0xc], al
mov eax, 0x38e38e39
imul ecx
mov ecx, r9d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*8]
sub ecx, eax
lea eax, [rcx + 0xf]
cdqe
lea ecx, [r9 + 0x10]
movzx eax, byte [rax + r11]
xor byte [r10 + 0xd], al
mov eax, 0x38e38e39
imul ecx
mov ecx, r9d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*8]
sub ecx, eax
lea eax, [rcx + 0x10]
cdqe
lea ecx, [r9 + 0x11]
movzx eax, byte [rax + r11]
xor byte [r10 + 0xe], al
mov eax, 0x38e38e39
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*8]
mov ecx, r9d
sub ecx, eax
lea r10, [r10 + 0x13]
lea eax, [rcx + 0x11]
cdqe
lea ecx, [r9 + 0x12]
movzx eax, byte [rax + r11]
xor byte [r10 - 4], al
mov eax, 0x38e38e39
imul ecx
mov ecx, 2
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
sub ecx, edx
lea eax, [r9 + rcx*8]
add r9d, 0x13
add eax, ecx
cdqe
movzx eax, byte [rax + r11]
xor byte [r10 - 3], al
cmp r9d, 0x13
jb 0x1400085f0
mov rax, r8
ret