Function at 0x18006e4c0
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, 0xf0
mov rax, qword [0x1800d1eb0]
xor rax, rsp
mov qword [rsp + 0xe0], rax
mov rdi, rcx
mov qword [rsp + 0x40], r8
mov rbx, rdx
lea rcx, [rsp + 0x50]
xor edx, edx
mov r8d, SysAllocStringByteLen
call fcn.18007e840
movzx eax, byte [rbx + 1]
movzx r11d, byte [rbx]
movzx ecx, byte [rbx + 4]
shl r11d, 8
lea r13, [rsp + 0x50]
or r11d, eax
movzx eax, byte [rbx + 2]
shl ecx, 8
shl r11d, 8
sub r13, rdi
lea r14, [rsp + 0x54]
or r11d, eax
movzx eax, byte [rbx + 3]
sub r14, rdi
shl r11d, 8
lea r15, [rsp + 0x60]
mov qword [rsp + 0x28], 8
or r11d, eax
movzx eax, byte [rbx + 5]
sub r15, rdi
or ecx, eax
movzx eax, byte [rbx + 6]
mov dword [rsp + 0x50], r11d
shl ecx, 8
lea r11, [rsp + 0x58]
or ecx, eax
movzx eax, byte [rbx + 7]
sub r11, rdi
shl ecx, 8
mov qword [rsp + 0x38], r11
or ecx, eax
movzx eax, byte [rbx + 9]
mov dword [rsp + 0x54], ecx
movzx ecx, byte [rbx + 8]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 0xa]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 0xb]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 0xd]
mov dword [rsp + 0x58], ecx
movzx ecx, byte [rbx + 0xc]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 0xe]
shl ecx, 8
or ecx, eax
movzx eax, byte [rbx + 0xf]
lea rbx, [rdi + 8]
shl ecx, 8
mov qword [rsp + 0x20], rbx
or ecx, eax
lea rax, [rsp + 0x5c]
sub rax, rdi
mov dword [rsp + 0x5c], ecx
mov qword [rsp + 0x48], rax
lea rax, [rsp + 0x64]
mov r12, qword [rsp + 0x48]
sub rax, rdi
lea rdi, [0x1800a4620]
mov qword [rsp + 0x30], rax
nop word [rax + rax]
mov rax, qword [rsp + 0x20]
mov ebx, dword [r14 + rbx - 8]
mov ebp, dword [r14 + rax]
mov esi, dword [r13 + rax]
mov r9d, dword [rax - 8]
xor r9d, ebp
xor r9d, esi
xor r9d, ebx
mov eax, r9d
mov ecx, r9d
mov edx, r9d
shr eax, 0x18
shr ecx, 0x10
shr edx, 8
movzx eax, al
movzx r10d, byte [rax + rdi]
movzx eax, cl
movzx ecx, byte [rax + rdi]
shl r10d, 8
movzx eax, dl
movzx edx, byte [rax + rdi]
or r10d, ecx
movzx eax, r9b
movzx r9d, byte [rax + rdi]
shl r10d, 8
or r10d, edx
shl r10d, 8
or r10d, r9d
mov eax, r10d
mov edi, r10d
ror edi, 0xe
rol eax, 0xa
xor edi, eax
mov eax, r10d
ror eax, 8
xor edi, eax
mov eax, r10d
rol eax, 2
xor edi, eax
mov rax, qword [rsp + 0x20]
xor edi, dword [r13 + rax - 8]
mov r9d, dword [rax - 4]
xor edi, r10d
lea r10, [0x1800a4620]
mov dword [r11 + rax], edi
xor r9d, edi
xor r9d, ebp
xor r9d, esi
mov eax, r9d
mov ecx, r9d
mov edx, r9d
shr eax, 0x18
shr ecx, 0x10
shr edx, 8
movzx eax, al
movzx r8d, byte [rax + r10]
movzx eax, cl
movzx ecx, byte [rax + r10]
movzx eax, dl
movzx edx, byte [rax + r10]
movzx eax, r9b
movzx r9d, byte [rax + r10]
mov r10d, r8d
shl r10d, 8
or r10d, ecx
shl r10d, 8
or r10d, edx
shl r10d, 8
or r10d, r9d
mov r11d, r10d
mov eax, r10d
ror r11d, 0xe
rol eax, 0xa
xor r11d, eax
mov eax, r10d
ror eax, 8
xor r11d, eax
mov eax, r10d
rol eax, 2
xor r11d, eax
xor r11d, ebx
mov rbx, qword [rsp + 0x20]
xor r11d, r10d
lea r10, [0x1800a4620]
mov r9d, dword [rbx]
mov dword [r12 + rbx], r11d
xor r9d, r11d
xor r9d, ebp
xor r9d, edi
mov eax, r9d
mov ecx, r9d
mov edx, r9d
shr eax, 0x18
shr ecx, 0x10
shr edx, 8
movzx eax, al
movzx r8d, byte [rax + r10]
movzx eax, cl
movzx ecx, byte [rax + r10]
movzx eax, dl
movzx edx, byte [rax + r10]
movzx eax, r9b
movzx r9d, byte [rax + r10]
mov r10d, r8d
shl r10d, 8
or r10d, ecx
shl r10d, 8
or r10d, edx
shl r10d, 8
or r10d, r9d
mov r9d, dword [rbx + 4]
mov eax, r10d
mov ecx, r10d
ror ecx, 0xe
rol eax, 0xa
xor ecx, eax
mov eax, r10d
ror eax, 8
xor ecx, eax
mov eax, r10d
rol eax, 2
xor ecx, eax
xor ecx, esi
xor ecx, r10d
xor r9d, ecx
mov dword [r15 + rbx], ecx
xor r9d, edi
lea rdi, [0x1800a4620]
xor r9d, r11d
mov eax, r9d
mov ecx, r9d
mov edx, r9d
shr eax, 0x18
shr ecx, 0x10
shr edx, 8
movzx eax, al
movzx r10d, byte [rax + rdi]
movzx eax, cl
movzx ecx, byte [rax + rdi]
shl r10d, 8
movzx eax, dl
movzx edx, byte [rax + rdi]
or r10d, ecx
movzx eax, r9b
movzx r9d, byte [rax + rdi]
shl r10d, 8
or r10d, edx
shl r10d, 8
or r10d, r9d
mov ecx, r10d
mov eax, r10d
ror ecx, 0xe
rol eax, 0xa
xor ecx, eax
mov eax, r10d
ror eax, 8
xor ecx, eax
mov eax, r10d
rol eax, 2
xor ecx, eax
xor ecx, ebp
xor ecx, r10d
mov rax, qword [rsp + 0x30]
mov r11, qword [rsp + 0x38]
add rbx, 0x10
dec qword [rsp + 0x28]
mov dword [rax + rbx - 0x10], ecx
mov qword [rsp + 0x20], rbx
jne 0x18006e600
mov r12, qword [rsp + 0x40]
mov ecx, dword [rsp + 0xdc]
mov eax, ecx
shr eax, 0x18
mov byte [r12], al
mov eax, ecx
shr ecx, 8
shr eax, 0x10
mov byte [r12 + 2], cl
mov ecx, dword [rsp + 0xd8]
mov byte [r12 + 1], al
movzx eax, byte [rsp + 0xdc]
mov byte [r12 + 3], al
mov eax, ecx
shr eax, 0x18
mov byte [r12 + 4], al
mov eax, ecx
shr ecx, 8
shr eax, 0x10
mov byte [r12 + 6], cl
mov ecx, dword [rsp + 0xd4]
mov byte [r12 + 5], al
movzx eax, byte [rsp + 0xd8]
mov byte [r12 + 7], al
mov eax, ecx
shr eax, 0x18
mov byte [r12 + 8], al
mov eax, ecx
shr ecx, 8
shr eax, 0x10
mov byte [r12 + 0xa], cl
mov ecx, dword [rsp + 0xd0]
mov byte [r12 + 9], al
movzx eax, byte [rsp + 0xd4]
mov byte [r12 + 0xb], al
mov eax, ecx
shr eax, 0x18
mov byte [r12 + 0xc], al
mov eax, ecx
shr eax, 0x10
shr ecx, 8
mov byte [r12 + 0xd], al
movzx eax, byte [rsp + 0xd0]
mov byte [r12 + 0xe], cl
mov byte [r12 + 0xf], al
mov rcx, qword [rsp + 0xe0]
xor rcx, rsp
call fcn.18007a7c0
mov rbx, qword [rsp + 0x130]
add rsp, 0xf0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret