Function at 0x140004910
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
mov rbx, rcx
mov ecx, 0x18
call fcn.14000d73c
xor esi, esi
mov rdi, rax
mov qword [rax], rsi
lea ecx, [rsi + 0xc]
mov qword [rax + 8], rsi
mov qword [rax + 0x10], rsi
call fcn.14000d73c
mov qword [rdi], rax
lea r10d, [rsi + 2]
mov r14d, 1
lea r9, [rbx + 2]
mov r15d, r10d
mov r12d, 3
lea rcx, [rax + 0xc]
mov ebp, 4
mov qword [rdi + 0x10], rcx
mov r13d, 5
xor ecx, ecx
sub r14, rbx
mov qword [rax], rcx
sub r15, rbx
mov dword [rax + 8], ecx
sub r12, rbx
add rax, 0xc
sub rbp, rbx
mov qword [rdi + 8], rax
sub r13, rbx
mov eax, 6
mov rcx, 0xfffffffffffffffe
sub rax, rbx
mov r11, rbx
mov qword [rsp + 0x78], rax
not r11
mov eax, 7
movabs r8, 0x948b0fcd6e9e0653
sub rax, rbx
mov qword [rsp + 0x80], rax
mov eax, 8
sub rax, rbx
mov qword [rsp + 0x88], rax
mov eax, 9
sub rax, rbx
sub rcx, rbx
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], rcx
nop
add rcx, qword [rdi]
mov rax, r8
mul rsi
mov rax, rsi
sub rax, rdx
shr rax, 1
add rax, rdx
movzx edx, byte [r9 - 2]
shr rax, 8
imul rax, rax, 0x144
sub rsi, rax
lea rax, [0x1400476c0]
xor dl, byte [rsi + rax]
mov rax, r8
mov byte [rcx + r9], dl
lea rsi, [0x1400476c0]
movsxd r8, r10d
movsxd rcx, r10d
dec rcx
mul rcx
mov rax, rcx
sub rax, rdx
shr rax, 1
add rax, rdx
movzx edx, byte [r9 - 1]
shr rax, 8
imul rax, rax, 0x144
sub rcx, rax
movabs rax, 0x948b0fcd6e9e0653
xor dl, byte [rcx + rsi]
mov rcx, qword [rdi]
add rcx, r11
mov byte [rcx + r9], dl
movzx ecx, byte [r9]
mul r8
mov rax, r8
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 8
imul rax, rax, 0x144
sub r8, rax
mov rax, qword [rdi]
sub rax, rbx
xor cl, byte [r8 + rsi]
movabs r8, 0x948b0fcd6e9e0653
mov byte [rax + r9], cl
mov rax, r8
movsxd rcx, r10d
inc rcx
mul rcx
mov rax, rcx
sub rax, rdx
shr rax, 1
add rax, rdx
movzx edx, byte [r9 + 1]
shr rax, 8
imul rax, rax, 0x144
sub rcx, rax
mov rax, r8
xor dl, byte [rcx + rsi]
mov rcx, qword [rdi]
add rcx, r14
mov byte [rcx + r9], dl
movsxd rcx, r10d
add rcx, 2
mul rcx
mov rax, rcx
sub rax, rdx
shr rax, 1
add rax, rdx
movzx edx, byte [r9 + 2]
shr rax, 8
imul rax, rax, 0x144
sub rcx, rax
xor dl, byte [rcx + rsi]
mov rcx, qword [rdi]
add rcx, r15
mov byte [rcx + r9], dl
movsxd rcx, r10d
add rcx, 3
mov rax, r8
mul rcx
mov rax, rcx
sub rax, rdx
shr rax, 1
add rax, rdx
movzx edx, byte [r9 + 3]
shr rax, 8
imul rax, rax, 0x144
sub rcx, rax
mov rax, r8
xor dl, byte [rcx + rsi]
mov rcx, qword [rdi]
add rcx, r12
mov byte [rcx + r9], dl
movsxd rcx, r10d
add rcx, 4
mul rcx
mov rax, rcx
sub rax, rdx
shr rax, 1
add rax, rdx
movzx edx, byte [r9 + 4]
shr rax, 8
imul rax, rax, 0x144
sub rcx, rax
mov rax, r8
xor dl, byte [rcx + rsi]
mov rcx, qword [rdi]
add rcx, rbp
mov byte [rcx + r9], dl
movsxd rcx, r10d
add rcx, 5
mul rcx
mov rax, rcx
sub rax, rdx
shr rax, 1
add rax, rdx
movzx edx, byte [r9 + 5]
shr rax, 8
imul rax, rax, 0x144
sub rcx, rax
mov rax, r8
xor dl, byte [rcx + rsi]
mov rcx, qword [rdi]
add rcx, r13
mov byte [rcx + r9], dl
movsxd rcx, r10d
add rcx, 6
mul rcx
mov rax, rcx
sub rax, rdx
shr rax, 1
add rax, rdx
movzx edx, byte [r9 + 6]
shr rax, 8
imul rax, rax, 0x144
sub rcx, rax
mov rax, r8
xor dl, byte [rcx + rsi]
mov rcx, qword [rsp + 0x78]
add rcx, qword [rdi]
mov byte [rcx + r9], dl
movsxd rcx, r10d
add rcx, 7
mul rcx
mov rax, rcx
sub rax, rdx
shr rax, 1
add rax, rdx
movzx edx, byte [r9 + 7]
shr rax, 8
imul rax, rax, 0x144
sub rcx, rax
mov rax, r8
xor dl, byte [rcx + rsi]
mov rcx, qword [rsp + 0x80]
add rcx, qword [rdi]
mov byte [rcx + r9], dl
movsxd rcx, r10d
add rcx, 8
mul rcx
mov rax, rcx
lea r9, [r9 + 0xc]
sub rax, rdx
shr rax, 1
add rax, rdx
movzx edx, byte [r9 - 4]
shr rax, 8
imul rax, rax, 0x144
sub rcx, rax
mov rax, r8
xor dl, byte [rcx + rsi]
mov rcx, qword [rsp + 0x88]
add rcx, qword [rdi]
mov byte [rcx + r9 - 0xc], dl
movsxd rcx, r10d
add r10d, 0xc
add rcx, 9
mul rcx
mov rax, rcx
sub rax, rdx
shr rax, 1
add rax, rdx
movzx edx, byte [r9 - 3]
shr rax, 8
imul rax, rax, 0x144
sub rcx, rax
lea eax, [r10 - 2]
xor dl, byte [rcx + rsi]
mov rcx, qword [rsp + 0x20]
add rcx, qword [rdi]
movsxd rsi, eax
mov byte [rcx + r9 - 0xc], dl
mov rcx, qword [rsp + 0x28]
cmp rsi, 0xc
jb 0x1400049f0
mov rbx, qword [rsp + 0x70]
mov rax, rdi
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret