Function at 0x14000a5a0
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, 0x40
mov rbx, rcx
mov ecx, 0x18
call fcn.1400108cc
xor esi, esi
mov rdi, rax
mov qword [rax], rsi
lea ecx, [rsi + 0xe]
mov qword [rax + 8], rsi
mov qword [rax + 0x10], rsi
call fcn.1400108cc
mov qword [rdi], rax
lea r9d, [rsi + 2]
mov r11d, 1
lea r8, [rbx + 2]
mov r14d, r9d
mov r15d, 3
lea rcx, [rax + 0xe]
mov r12d, 4
mov qword [rdi + 0x10], rcx
mov ebp, 5
xor ecx, ecx
mov r13d, 6
mov qword [rax], rcx
sub r11, rbx
mov dword [rax + 8], ecx
sub r14, rbx
mov word [rax + 0xc], cx
sub r15, rbx
add rax, 0xe
sub r12, rbx
mov qword [rdi + 8], rax
sub rbp, rbx
mov eax, 7
sub r13, rbx
sub rax, rbx
mov rcx, 0xfffffffffffffffe
mov qword [rsp + 0x88], rax
mov r10, rbx
mov eax, 8
not r10
sub rax, rbx
mov qword [rsp + 0x90], rax
mov eax, 9
sub rax, rbx
mov qword [rsp + 0x98], rax
mov eax, 0xa
sub rax, rbx
mov qword [rsp + 0x20], rax
mov eax, 0xb
sub rax, rbx
sub rcx, rbx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x30], rcx
movabs rax, 0x1648d50fc3201165
nop dword [rax + rax]
mul rsi
add rcx, r8
mov rax, rsi
sub rax, rdx
shr rax, 1
add rax, rdx
movzx edx, byte [r8 - 2]
shr rax, 8
imul rax, rax, 0x1d7
sub rsi, rax
lea rax, str.eOyWaxblmvFAeOQruhPKhFajpqLwIjegNMwEbNKZovvtfDqngOacWdaVlNoSarMJHoECJFkPGjyZrYVlMtxBVnQIRAmEwEHHsfZSoeeGqOdIJkzFGiEGfsLAzqdzSKCQhBCgcNyHSHoCIBUjZiKLT_kPhnTTIaybuwoYvDmdguvcRPFZiAvTSkjPWrcruOPZDcJOXnihAvlUlqseNsLbFWZJSJWRcraEnqDeecUalsWhqiZIDWeyNjozRgHD_TSEgKITS_XkzCGIkzMArMsbHXjwfyICZdWwFtkcCdYQliSwytyvNSRKVEZaaDQRAkYcotEjaKtDDwNWOFByiKrMawNSIdRWbWBMMTaGoTIIfhjTTO_YlcWwcecLltodSLhIGtlAZbTASdRNLdGXouAUxokfzuKEXkuRtUfqVhkBjmDMCWVjNOBeuAjXJNhuesKsqYhmiMZfvegePwnyiHuUkG
xor dl, byte [rsi + rax]
movabs rsi, 0x1648d50fc3201165
mov rax, qword [rdi]
mov byte [rcx + rax], dl
mov rax, rsi
movsxd rcx, r9d
dec rcx
mul rcx
mov rax, rcx
sub rax, rdx
shr rax, 1
add rax, rdx
movzx edx, byte [r8 - 1]
shr rax, 8
imul rax, rax, 0x1d7
sub rcx, rax
lea rax, str.eOyWaxblmvFAeOQruhPKhFajpqLwIjegNMwEbNKZovvtfDqngOacWdaVlNoSarMJHoECJFkPGjyZrYVlMtxBVnQIRAmEwEHHsfZSoeeGqOdIJkzFGiEGfsLAzqdzSKCQhBCgcNyHSHoCIBUjZiKLT_kPhnTTIaybuwoYvDmdguvcRPFZiAvTSkjPWrcruOPZDcJOXnihAvlUlqseNsLbFWZJSJWRcraEnqDeecUalsWhqiZIDWeyNjozRgHD_TSEgKITS_XkzCGIkzMArMsbHXjwfyICZdWwFtkcCdYQliSwytyvNSRKVEZaaDQRAkYcotEjaKtDDwNWOFByiKrMawNSIdRWbWBMMTaGoTIIfhjTTO_YlcWwcecLltodSLhIGtlAZbTASdRNLdGXouAUxokfzuKEXkuRtUfqVhkBjmDMCWVjNOBeuAjXJNhuesKsqYhmiMZfvegePwnyiHuUkG
xor dl, byte [rcx + rax]
lea rcx, [r10 + r8]
mov rax, qword [rdi]
mov byte [rcx + rax], dl
mov rax, rsi
movsxd rcx, r9d
mul rcx
mov rax, rcx
sub rax, rdx
shr rax, 1
add rax, rdx
movzx edx, byte [r8]
shr rax, 8
imul rax, rax, 0x1d7
sub rcx, rax
lea rax, str.eOyWaxblmvFAeOQruhPKhFajpqLwIjegNMwEbNKZovvtfDqngOacWdaVlNoSarMJHoECJFkPGjyZrYVlMtxBVnQIRAmEwEHHsfZSoeeGqOdIJkzFGiEGfsLAzqdzSKCQhBCgcNyHSHoCIBUjZiKLT_kPhnTTIaybuwoYvDmdguvcRPFZiAvTSkjPWrcruOPZDcJOXnihAvlUlqseNsLbFWZJSJWRcraEnqDeecUalsWhqiZIDWeyNjozRgHD_TSEgKITS_XkzCGIkzMArMsbHXjwfyICZdWwFtkcCdYQliSwytyvNSRKVEZaaDQRAkYcotEjaKtDDwNWOFByiKrMawNSIdRWbWBMMTaGoTIIfhjTTO_YlcWwcecLltodSLhIGtlAZbTASdRNLdGXouAUxokfzuKEXkuRtUfqVhkBjmDMCWVjNOBeuAjXJNhuesKsqYhmiMZfvegePwnyiHuUkG
xor dl, byte [rcx + rax]
mov rcx, r8
mov rax, qword [rdi]
sub rcx, rbx
mov byte [rcx + rax], dl
mov rax, rsi
movsxd rcx, r9d
inc rcx
mul rcx
mov rax, rcx
sub rax, rdx
shr rax, 1
add rax, rdx
movzx edx, byte [r8 + 1]
shr rax, 8
imul rax, rax, 0x1d7
sub rcx, rax
lea rax, str.eOyWaxblmvFAeOQruhPKhFajpqLwIjegNMwEbNKZovvtfDqngOacWdaVlNoSarMJHoECJFkPGjyZrYVlMtxBVnQIRAmEwEHHsfZSoeeGqOdIJkzFGiEGfsLAzqdzSKCQhBCgcNyHSHoCIBUjZiKLT_kPhnTTIaybuwoYvDmdguvcRPFZiAvTSkjPWrcruOPZDcJOXnihAvlUlqseNsLbFWZJSJWRcraEnqDeecUalsWhqiZIDWeyNjozRgHD_TSEgKITS_XkzCGIkzMArMsbHXjwfyICZdWwFtkcCdYQliSwytyvNSRKVEZaaDQRAkYcotEjaKtDDwNWOFByiKrMawNSIdRWbWBMMTaGoTIIfhjTTO_YlcWwcecLltodSLhIGtlAZbTASdRNLdGXouAUxokfzuKEXkuRtUfqVhkBjmDMCWVjNOBeuAjXJNhuesKsqYhmiMZfvegePwnyiHuUkG
xor dl, byte [rcx + rax]
lea rcx, [r11 + r8]
mov rax, qword [rdi]
mov byte [rcx + rax], dl
mov rax, rsi
movsxd rcx, r9d
add rcx, 2
mul rcx
mov rax, rcx
sub rax, rdx
shr rax, 1
add rax, rdx
movzx edx, byte [r8 + 2]
shr rax, 8
imul rax, rax, 0x1d7
sub rcx, rax
lea rax, str.eOyWaxblmvFAeOQruhPKhFajpqLwIjegNMwEbNKZovvtfDqngOacWdaVlNoSarMJHoECJFkPGjyZrYVlMtxBVnQIRAmEwEHHsfZSoeeGqOdIJkzFGiEGfsLAzqdzSKCQhBCgcNyHSHoCIBUjZiKLT_kPhnTTIaybuwoYvDmdguvcRPFZiAvTSkjPWrcruOPZDcJOXnihAvlUlqseNsLbFWZJSJWRcraEnqDeecUalsWhqiZIDWeyNjozRgHD_TSEgKITS_XkzCGIkzMArMsbHXjwfyICZdWwFtkcCdYQliSwytyvNSRKVEZaaDQRAkYcotEjaKtDDwNWOFByiKrMawNSIdRWbWBMMTaGoTIIfhjTTO_YlcWwcecLltodSLhIGtlAZbTASdRNLdGXouAUxokfzuKEXkuRtUfqVhkBjmDMCWVjNOBeuAjXJNhuesKsqYhmiMZfvegePwnyiHuUkG
xor dl, byte [rcx + rax]
lea rcx, [r14 + r8]
mov rax, qword [rdi]
mov byte [rcx + rax], dl
mov rax, rsi
movsxd rcx, r9d
add rcx, 3
mul rcx
mov rax, rcx
sub rax, rdx
shr rax, 1
add rax, rdx
movzx edx, byte [r8 + 3]
shr rax, 8
imul rax, rax, 0x1d7
sub rcx, rax
lea rax, str.eOyWaxblmvFAeOQruhPKhFajpqLwIjegNMwEbNKZovvtfDqngOacWdaVlNoSarMJHoECJFkPGjyZrYVlMtxBVnQIRAmEwEHHsfZSoeeGqOdIJkzFGiEGfsLAzqdzSKCQhBCgcNyHSHoCIBUjZiKLT_kPhnTTIaybuwoYvDmdguvcRPFZiAvTSkjPWrcruOPZDcJOXnihAvlUlqseNsLbFWZJSJWRcraEnqDeecUalsWhqiZIDWeyNjozRgHD_TSEgKITS_XkzCGIkzMArMsbHXjwfyICZdWwFtkcCdYQliSwytyvNSRKVEZaaDQRAkYcotEjaKtDDwNWOFByiKrMawNSIdRWbWBMMTaGoTIIfhjTTO_YlcWwcecLltodSLhIGtlAZbTASdRNLdGXouAUxokfzuKEXkuRtUfqVhkBjmDMCWVjNOBeuAjXJNhuesKsqYhmiMZfvegePwnyiHuUkG
xor dl, byte [rcx + rax]
lea rcx, [r15 + r8]
mov rax, qword [rdi]
mov byte [rcx + rax], dl
mov rax, rsi
movsxd rcx, r9d
add rcx, 4
mul rcx
mov rax, rcx
sub rax, rdx
shr rax, 1
add rax, rdx
movzx edx, byte [r8 + 4]
shr rax, 8
imul rax, rax, 0x1d7
sub rcx, rax
lea rax, str.eOyWaxblmvFAeOQruhPKhFajpqLwIjegNMwEbNKZovvtfDqngOacWdaVlNoSarMJHoECJFkPGjyZrYVlMtxBVnQIRAmEwEHHsfZSoeeGqOdIJkzFGiEGfsLAzqdzSKCQhBCgcNyHSHoCIBUjZiKLT_kPhnTTIaybuwoYvDmdguvcRPFZiAvTSkjPWrcruOPZDcJOXnihAvlUlqseNsLbFWZJSJWRcraEnqDeecUalsWhqiZIDWeyNjozRgHD_TSEgKITS_XkzCGIkzMArMsbHXjwfyICZdWwFtkcCdYQliSwytyvNSRKVEZaaDQRAkYcotEjaKtDDwNWOFByiKrMawNSIdRWbWBMMTaGoTIIfhjTTO_YlcWwcecLltodSLhIGtlAZbTASdRNLdGXouAUxokfzuKEXkuRtUfqVhkBjmDMCWVjNOBeuAjXJNhuesKsqYhmiMZfvegePwnyiHuUkG
xor dl, byte [rcx + rax]
lea rcx, [r12 + r8]
mov rax, qword [rdi]
mov byte [rcx + rax], dl
mov rax, rsi
movsxd rcx, r9d
add rcx, 5
mul rcx
mov rax, rcx
sub rax, rdx
shr rax, 1
add rax, rdx
movzx edx, byte [r8 + 5]
shr rax, 8
imul rax, rax, 0x1d7
sub rcx, rax
lea rax, str.eOyWaxblmvFAeOQruhPKhFajpqLwIjegNMwEbNKZovvtfDqngOacWdaVlNoSarMJHoECJFkPGjyZrYVlMtxBVnQIRAmEwEHHsfZSoeeGqOdIJkzFGiEGfsLAzqdzSKCQhBCgcNyHSHoCIBUjZiKLT_kPhnTTIaybuwoYvDmdguvcRPFZiAvTSkjPWrcruOPZDcJOXnihAvlUlqseNsLbFWZJSJWRcraEnqDeecUalsWhqiZIDWeyNjozRgHD_TSEgKITS_XkzCGIkzMArMsbHXjwfyICZdWwFtkcCdYQliSwytyvNSRKVEZaaDQRAkYcotEjaKtDDwNWOFByiKrMawNSIdRWbWBMMTaGoTIIfhjTTO_YlcWwcecLltodSLhIGtlAZbTASdRNLdGXouAUxokfzuKEXkuRtUfqVhkBjmDMCWVjNOBeuAjXJNhuesKsqYhmiMZfvegePwnyiHuUkG
xor dl, byte [rcx + rax]
lea rcx, [r8 + rbp]
mov rax, qword [rdi]
mov byte [rcx + rax], dl
mov rax, rsi
movsxd rcx, r9d
add rcx, 6
mul rcx
mov rax, rcx
sub rax, rdx
shr rax, 1
add rax, rdx
movzx edx, byte [r8 + 6]
shr rax, 8
imul rax, rax, 0x1d7
sub rcx, rax
lea rax, str.eOyWaxblmvFAeOQruhPKhFajpqLwIjegNMwEbNKZovvtfDqngOacWdaVlNoSarMJHoECJFkPGjyZrYVlMtxBVnQIRAmEwEHHsfZSoeeGqOdIJkzFGiEGfsLAzqdzSKCQhBCgcNyHSHoCIBUjZiKLT_kPhnTTIaybuwoYvDmdguvcRPFZiAvTSkjPWrcruOPZDcJOXnihAvlUlqseNsLbFWZJSJWRcraEnqDeecUalsWhqiZIDWeyNjozRgHD_TSEgKITS_XkzCGIkzMArMsbHXjwfyICZdWwFtkcCdYQliSwytyvNSRKVEZaaDQRAkYcotEjaKtDDwNWOFByiKrMawNSIdRWbWBMMTaGoTIIfhjTTO_YlcWwcecLltodSLhIGtlAZbTASdRNLdGXouAUxokfzuKEXkuRtUfqVhkBjmDMCWVjNOBeuAjXJNhuesKsqYhmiMZfvegePwnyiHuUkG
xor dl, byte [rcx + rax]
lea rcx, [r8 + r13]
mov rax, qword [rdi]
mov byte [rcx + rax], dl
mov rax, rsi
movsxd rcx, r9d
add rcx, 7
mul rcx
mov rax, rcx
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 8
imul rax, rax, 0x1d7
sub rcx, rax
movzx edx, byte [r8 + 7]
lea rax, str.eOyWaxblmvFAeOQruhPKhFajpqLwIjegNMwEbNKZovvtfDqngOacWdaVlNoSarMJHoECJFkPGjyZrYVlMtxBVnQIRAmEwEHHsfZSoeeGqOdIJkzFGiEGfsLAzqdzSKCQhBCgcNyHSHoCIBUjZiKLT_kPhnTTIaybuwoYvDmdguvcRPFZiAvTSkjPWrcruOPZDcJOXnihAvlUlqseNsLbFWZJSJWRcraEnqDeecUalsWhqiZIDWeyNjozRgHD_TSEgKITS_XkzCGIkzMArMsbHXjwfyICZdWwFtkcCdYQliSwytyvNSRKVEZaaDQRAkYcotEjaKtDDwNWOFByiKrMawNSIdRWbWBMMTaGoTIIfhjTTO_YlcWwcecLltodSLhIGtlAZbTASdRNLdGXouAUxokfzuKEXkuRtUfqVhkBjmDMCWVjNOBeuAjXJNhuesKsqYhmiMZfvegePwnyiHuUkG
xor dl, byte [rcx + rax]
mov rax, qword [rdi]
mov rcx, qword [rsp + 0x88]
add rcx, r8
mov byte [rcx + rax], dl
mov rax, rsi
movsxd rcx, r9d
add rcx, 8
mul rcx
mov rax, rcx
sub rax, rdx
shr rax, 1
add rax, rdx
movzx edx, byte [r8 + 8]
shr rax, 8
imul rax, rax, 0x1d7
sub rcx, rax
lea rax, str.eOyWaxblmvFAeOQruhPKhFajpqLwIjegNMwEbNKZovvtfDqngOacWdaVlNoSarMJHoECJFkPGjyZrYVlMtxBVnQIRAmEwEHHsfZSoeeGqOdIJkzFGiEGfsLAzqdzSKCQhBCgcNyHSHoCIBUjZiKLT_kPhnTTIaybuwoYvDmdguvcRPFZiAvTSkjPWrcruOPZDcJOXnihAvlUlqseNsLbFWZJSJWRcraEnqDeecUalsWhqiZIDWeyNjozRgHD_TSEgKITS_XkzCGIkzMArMsbHXjwfyICZdWwFtkcCdYQliSwytyvNSRKVEZaaDQRAkYcotEjaKtDDwNWOFByiKrMawNSIdRWbWBMMTaGoTIIfhjTTO_YlcWwcecLltodSLhIGtlAZbTASdRNLdGXouAUxokfzuKEXkuRtUfqVhkBjmDMCWVjNOBeuAjXJNhuesKsqYhmiMZfvegePwnyiHuUkG
xor dl, byte [rcx + rax]
mov rax, qword [rdi]
mov rcx, qword [rsp + 0x90]
add rcx, r8
mov byte [rcx + rax], dl
mov rax, rsi
movsxd rcx, r9d
add rcx, 9
mul rcx
mov rax, rcx
sub rax, rdx
shr rax, 1
add rax, rdx
movzx edx, byte [r8 + 9]
shr rax, 8
imul rax, rax, 0x1d7
sub rcx, rax
lea rax, str.eOyWaxblmvFAeOQruhPKhFajpqLwIjegNMwEbNKZovvtfDqngOacWdaVlNoSarMJHoECJFkPGjyZrYVlMtxBVnQIRAmEwEHHsfZSoeeGqOdIJkzFGiEGfsLAzqdzSKCQhBCgcNyHSHoCIBUjZiKLT_kPhnTTIaybuwoYvDmdguvcRPFZiAvTSkjPWrcruOPZDcJOXnihAvlUlqseNsLbFWZJSJWRcraEnqDeecUalsWhqiZIDWeyNjozRgHD_TSEgKITS_XkzCGIkzMArMsbHXjwfyICZdWwFtkcCdYQliSwytyvNSRKVEZaaDQRAkYcotEjaKtDDwNWOFByiKrMawNSIdRWbWBMMTaGoTIIfhjTTO_YlcWwcecLltodSLhIGtlAZbTASdRNLdGXouAUxokfzuKEXkuRtUfqVhkBjmDMCWVjNOBeuAjXJNhuesKsqYhmiMZfvegePwnyiHuUkG
xor dl, byte [rcx + rax]
mov rax, qword [rdi]
mov rcx, qword [rsp + 0x98]
add rcx, r8
mov byte [rcx + rax], dl
mov rax, rsi
movsxd rcx, r9d
add rcx, 0xa
mul rcx
mov rax, rcx
sub rax, rdx
shr rax, 1
add rax, rdx
movzx edx, byte [r8 + 0xa]
shr rax, 8
imul rax, rax, 0x1d7
sub rcx, rax
lea rax, str.eOyWaxblmvFAeOQruhPKhFajpqLwIjegNMwEbNKZovvtfDqngOacWdaVlNoSarMJHoECJFkPGjyZrYVlMtxBVnQIRAmEwEHHsfZSoeeGqOdIJkzFGiEGfsLAzqdzSKCQhBCgcNyHSHoCIBUjZiKLT_kPhnTTIaybuwoYvDmdguvcRPFZiAvTSkjPWrcruOPZDcJOXnihAvlUlqseNsLbFWZJSJWRcraEnqDeecUalsWhqiZIDWeyNjozRgHD_TSEgKITS_XkzCGIkzMArMsbHXjwfyICZdWwFtkcCdYQliSwytyvNSRKVEZaaDQRAkYcotEjaKtDDwNWOFByiKrMawNSIdRWbWBMMTaGoTIIfhjTTO_YlcWwcecLltodSLhIGtlAZbTASdRNLdGXouAUxokfzuKEXkuRtUfqVhkBjmDMCWVjNOBeuAjXJNhuesKsqYhmiMZfvegePwnyiHuUkG
xor dl, byte [rcx + rax]
mov rax, qword [rdi]
mov rcx, qword [rsp + 0x20]
add rcx, r8
mov byte [rcx + rax], dl
mov rax, rsi
movsxd rcx, r9d
add r9d, 0xe
add rcx, 0xb
mul rcx
mov rax, rcx
sub rax, rdx
shr rax, 1
add rax, rdx
movzx edx, byte [r8 + 0xb]
shr rax, 8
imul rax, rax, 0x1d7
sub rcx, rax
lea rax, str.eOyWaxblmvFAeOQruhPKhFajpqLwIjegNMwEbNKZovvtfDqngOacWdaVlNoSarMJHoECJFkPGjyZrYVlMtxBVnQIRAmEwEHHsfZSoeeGqOdIJkzFGiEGfsLAzqdzSKCQhBCgcNyHSHoCIBUjZiKLT_kPhnTTIaybuwoYvDmdguvcRPFZiAvTSkjPWrcruOPZDcJOXnihAvlUlqseNsLbFWZJSJWRcraEnqDeecUalsWhqiZIDWeyNjozRgHD_TSEgKITS_XkzCGIkzMArMsbHXjwfyICZdWwFtkcCdYQliSwytyvNSRKVEZaaDQRAkYcotEjaKtDDwNWOFByiKrMawNSIdRWbWBMMTaGoTIIfhjTTO_YlcWwcecLltodSLhIGtlAZbTASdRNLdGXouAUxokfzuKEXkuRtUfqVhkBjmDMCWVjNOBeuAjXJNhuesKsqYhmiMZfvegePwnyiHuUkG
xor dl, byte [rcx + rax]
mov rcx, qword [rsp + 0x28]
mov rax, qword [rdi]
add rcx, r8
add r8, 0xe
mov byte [rcx + rax], dl
mov rcx, qword [rsp + 0x30]
lea eax, [r9 - 2]
movsxd rsi, eax
movabs rax, 0x1648d50fc3201165
cmp rsi, 0xe
jb 0x14000a6a0
mov rbx, qword [rsp + 0x80]
mov rax, rdi
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret