Function at 0x140004a60
Capabilities:
Encode data using xor

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