Function at 0x180014400
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
movups xmm0, xmmword [rdx + 0x80]
lea r11, [rcx + 2]
mov rbx, rcx
movsd xmm1, qword [rdx + 0x90]
mov esi, 4
movups xmmword [rsp], xmm0
mov rdi, qword [rsp]
sub rdx, rcx
mov rcx, qword [rsp + 8]
movsd qword [rsp + 0x10], xmm1
mov r10, qword [rsp + 0x10]
nop word [rax + rax]
imul r10, r10
add rcx, rdi
add r10, rcx
mov r9, r10
shl r10, 0x20
shr r9, 0x20
or r9, r10
lea r8, [rcx + rdi]
movzx eax, r9w
lea rcx, [r8 + rdi]
xor ax, word [r11 + rdx - 2]
imul r9, r9
mov word [r11 - 2], ax
add r9, r8
lea r8, [rcx + rdi]
mov r10, r9
shl r9, 0x20
shr r10, 0x20
or r10, r9
movzx eax, r10w
xor ax, word [r11 + rdx]
imul r10, r10
mov word [r11], ax
add r10, rcx
lea rcx, [r8 + rdi]
mov r9, r10
shl r10, 0x20
shr r9, 0x20
or r9, r10
movzx eax, r9w
xor ax, word [rdx + r11 + 2]
imul r9, r9
mov word [r11 + 2], ax
add r9, r8
lea r8, [rcx + rdi]
mov r10, r9
shl r9, 0x20
shr r10, 0x20
or r10, r9
movzx eax, r10w
xor ax, word [rdx + r11 + 4]
imul r10, r10
mov word [r11 + 4], ax
add r10, rcx
lea rcx, [r8 + rdi]
mov r9, r10
shl r10, 0x20
shr r9, 0x20
or r9, r10
movzx eax, r9w
xor ax, word [rdx + r11 + 6]
imul r9, r9
mov word [r11 + 6], ax
add r9, r8
lea r8, [rdi + rcx]
mov r10, r9
shl r9, 0x20
shr r10, 0x20
or r10, r9
movzx eax, r10w
xor ax, word [rdx + r11 + 8]
imul r10, r10
mov word [r11 + 8], ax
add r10, rcx
lea rcx, [r8 + rdi]
mov r9, r10
shl r10, 0x20
shr r9, 0x20
or r9, r10
movzx eax, r9w
xor ax, word [rdx + r11 + 0xa]
imul r9, r9
mov word [r11 + 0xa], ax
add r9, r8
mov r10, r9
shl r9, 0x20
shr r10, 0x20
or r10, r9
movzx eax, r10w
xor ax, word [r11 + rdx + 0xc]
mov word [r11 + 0xc], ax
imul r10, r10
lea r8, [rcx + rdi]
add r10, rcx
lea r11, [r11 + 0x20]
mov r9, r10
lea rcx, [r8 + rdi]
shl r10, 0x20
shr r9, 0x20
or r9, r10
movzx eax, r9w
xor ax, word [r11 + rdx - 0x12]
imul r9, r9
mov word [r11 - 0x12], ax
add r9, r8
lea r8, [rcx + rdi]
mov r10, r9
shl r9, 0x20
shr r10, 0x20
or r10, r9
movzx eax, r10w
xor ax, word [r11 + rdx - 0x10]
imul r10, r10
mov word [r11 - 0x10], ax
add r10, rcx
lea rcx, [r8 + rdi]
mov r9, r10
shl r10, 0x20
shr r9, 0x20
or r9, r10
movzx eax, r9w
xor ax, word [r11 + rdx - 0xe]
mov word [r11 - 0xe], ax
imul r9, r9
add r9, r8
lea r8, [rcx + rdi]
mov r10, r9
shl r9, 0x20
shr r10, 0x20
or r10, r9
movzx eax, r10w
xor ax, word [r11 + rdx - 0xc]
imul r10, r10
mov word [r11 - 0xc], ax
add r10, rcx
lea rcx, [r8 + rdi]
mov r9, r10
shl r10, 0x20
shr r9, 0x20
or r9, r10
movzx eax, r9w
xor ax, word [r11 + rdx - 0xa]
mov word [r11 - 0xa], ax
imul r9, r9
add r9, r8
mov r10, r9
shl r9, 0x20
shr r10, 0x20
or r10, r9
movzx eax, r10w
xor ax, word [r11 + rdx - 8]
imul r10, r10
mov word [r11 - 8], ax
add r10, rcx
add rcx, rdi
mov r8, r10
shl r10, 0x20
shr r8, 0x20
or r8, r10
movzx eax, r8w
xor ax, word [r11 + rdx - 6]
imul r8, r8
mov word [r11 - 6], ax
add r8, rcx
mov r10, r8
shl r8, 0x20
shr r10, 0x20
or r10, r8
movzx eax, r10w
xor ax, word [r11 + rdx - 4]
mov word [r11 - 4], ax
sub rsi, 1
jne 0x180014450
mov rsi, qword [rsp + 0x38]
xor eax, eax
mov word [rbx + 0x80], ax
mov rax, rbx
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret