Function at 0x140004530
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x20
mov rdi, rcx
mov ecx, 0x18
call fcn.1400108cc
xor esi, esi
mov rbx, rax
mov qword [rax], rsi
lea ecx, [rsi + 0x10]
mov qword [rax + 8], rsi
mov qword [rax + 0x10], rsi
call fcn.1400108cc
mov qword [rbx], rax
lea r8, [rdi + 4]
xorps xmm0, xmm0
mov r9d, 2
mov r10, 0xfffffffffffffffe
mov r11d, r9d
lea rcx, [rax + 0x10]
mov r14d, 4
mov qword [rbx + 0x10], rcx
mov r15d, 6
movups xmmword [rax], xmm0
add rax, 0x10
lea rcx, [0x14004a7e0]
mov r12d, 8
mov qword [rbx + 8], rax
mov ebp, 0xa
sub r10, rdi
sub r11, rdi
sub r14, rdi
sub r15, rdi
sub r12, rdi
sub rbp, rdi
mov r13, 0xfffffffffffffffc
movabs rax, 0x1648d50fc3201165
sub r13, rdi
nop dword [rax]
nop word [rax + rax]
mul rsi
mov rax, rsi
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 8
imul rax, rax, 0x1d7
sub rsi, rax
movzx eax, byte [r8 - 4]
xor al, byte [rsi + rcx]
movabs rsi, 0x1648d50fc3201165
movsx edx, al
mov rax, rsi
mov rcx, qword [rbx]
add rcx, r13
mov word [rcx + r8], dx
movsxd rcx, r9d
dec rcx
mul rcx
mov rax, rcx
sub rax, rdx
shr rax, 1
add rax, rdx
lea rdx, [0x14004a7e0]
shr rax, 8
imul rax, rax, 0x1d7
sub rcx, rax
movzx eax, byte [r8 - 2]
xor al, byte [rcx + rdx]
mov rcx, qword [rbx]
movsx edx, al
add rcx, r10
mov rax, rsi
mov word [rcx + r8], dx
movsxd rcx, r9d
mul rcx
mov rax, rcx
sub rax, rdx
shr rax, 1
add rax, rdx
lea rdx, [0x14004a7e0]
shr rax, 8
imul rax, rax, 0x1d7
sub rcx, rax
movzx eax, byte [r8]
xor al, byte [rcx + rdx]
movsx ecx, al
mov rax, qword [rbx]
sub rax, rdi
mov word [rax + r8], cx
mov rax, rsi
movsxd rcx, r9d
inc rcx
mul rcx
mov rax, rcx
sub rax, rdx
shr rax, 1
add rax, rdx
lea rdx, [0x14004a7e0]
shr rax, 8
imul rax, rax, 0x1d7
sub rcx, rax
movzx eax, byte [r8 + 2]
xor al, byte [rcx + rdx]
mov rcx, qword [rbx]
movsx edx, al
add rcx, r11
mov rax, rsi
mov word [rcx + r8], dx
movsxd rcx, r9d
add rcx, 2
mul rcx
mov rax, rcx
sub rax, rdx
shr rax, 1
add rax, rdx
lea rdx, [0x14004a7e0]
shr rax, 8
imul rax, rax, 0x1d7
sub rcx, rax
movzx eax, byte [r8 + 4]
xor al, byte [rcx + rdx]
lea r8, [r8 + 0x10]
mov rcx, qword [rbx]
movsx edx, al
add rcx, r14
mov rax, rsi
mov word [rcx + r8 - 0x10], dx
movsxd rcx, r9d
add rcx, 3
mul rcx
mov rax, rcx
sub rax, rdx
shr rax, 1
add rax, rdx
lea rdx, [0x14004a7e0]
shr rax, 8
imul rax, rax, 0x1d7
sub rcx, rax
movzx eax, byte [r8 - 0xa]
xor al, byte [rcx + rdx]
mov rcx, qword [rbx]
movsx edx, al
add rcx, r15
mov rax, rsi
mov word [rcx + r8 - 0x10], dx
movsxd rcx, r9d
add rcx, 4
mul rcx
mov rax, rcx
sub rax, rdx
shr rax, 1
add rax, rdx
lea rdx, [0x14004a7e0]
shr rax, 8
imul rax, rax, 0x1d7
sub rcx, rax
movzx eax, byte [r8 - 8]
xor al, byte [rcx + rdx]
mov rcx, qword [rbx]
movsx edx, al
add rcx, r12
mov rax, rsi
mov word [rcx + r8 - 0x10], dx
movsxd rcx, r9d
add r9d, 8
add rcx, 5
mul rcx
mov rax, rcx
sub rax, rdx
shr rax, 1
add rax, rdx
lea rdx, [0x14004a7e0]
shr rax, 8
imul rax, rax, 0x1d7
sub rcx, rax
movzx eax, byte [r8 - 6]
xor al, byte [rcx + rdx]
mov rcx, qword [rbx]
add rcx, rbp
movsx edx, al
lea eax, [r9 - 2]
movsxd rsi, eax
movabs rax, 0x1648d50fc3201165
mov word [rcx + r8 - 0x10], dx
lea rcx, [0x14004a7e0]
cmp rsi, 8
jb 0x1400045f0
mov rbp, qword [rsp + 0x58]
mov rax, rbx
mov rbx, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x60]
add rsp, 0x20
pop r15
pop r14
pop r13
pop r12
pop rdi
ret