Function at 0x18006ec80
Capabilities:
Encode data using xor

Disassembly:
jmp 0x18006c1e0
jmp 0x18006ec80
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r12
push r14
push r15
movzx ebp, byte [rdx]
lea r12, [0x1801d66b0]
movzx r14d, byte [rdx + 4]
lea r15, [r8 + 0x10]
movzx edi, byte [rdx + 8]
mov rbx, r9
movzx esi, byte [rdx + 0xc]
shl ecx, 4
movsxd rax, ecx
movzx ecx, byte [rdx + 1]
lea rax, [r8 + rax*4]
shl ebp, 8
xor ebp, ecx
shl r14d, 8
movzx ecx, byte [rdx + 2]
mov r9d, dword [rax - 8]
shl edi, 8
shl esi, 8
shl ebp, 8
xor ebp, ecx
movzx ecx, byte [rdx + 3]
shl ebp, 8
xor ebp, ecx
movzx ecx, byte [rdx + 5]
xor ebp, dword [rax]
xor r14d, ecx
movzx ecx, byte [rdx + 6]
xor r9, rbp
shl r14d, 8
xor r14d, ecx
movzx ecx, byte [rdx + 7]
shl r14d, 8
xor r14d, ecx
movzx ecx, byte [rdx + 9]
xor r14d, dword [rax + 4]
xor edi, ecx
movzx ecx, byte [rdx + 0xa]
shl edi, 8
xor edi, ecx
movzx ecx, byte [rdx + 0xb]
shl edi, 8
xor edi, ecx
movzx ecx, byte [rdx + 0xd]
xor edi, dword [rax + 8]
xor esi, ecx
movzx ecx, byte [rdx + 0xe]
shl esi, 8
xor esi, ecx
movzx ecx, byte [rdx + 0xf]
shl esi, 8
xor esi, ecx
mov rcx, r9
xor esi, dword [rax + 0xc]
sub rax, 0x30
shr rcx, 0x10
movzx r8d, cl
mov rcx, r9
shr rcx, 8
movzx edx, cl
mov rcx, r9
shr rcx, 0x18
mov r11d, dword [r12 + r8*4 + 0x800]
xor r11d, dword [r12 + rdx*4 + 0xc00]
xor r11d, dword [r12 + rcx*4]
movzx ecx, r9b
mov r9d, dword [rax + 0x2c]
xor r9, r14
xor r11d, dword [r12 + rcx*4 + 0x400]
mov rcx, r9
shr rcx, 0x10
movzx r8d, cl
mov rcx, r9
shr rcx, 8
movzx edx, cl
mov rcx, r9
shr rcx, 0x18
mov r10d, dword [r12 + r8*4 + 0xc00]
xor r10d, dword [r12 + rdx*4 + 0x400]
xor r10d, dword [r12 + rcx*4 + 0x800]
movzx ecx, r9b
xor r10d, dword [r12 + rcx*4]
mov r9d, dword [rax + 0x20]
xor r10d, r11d
xor edi, r10d
mov ecx, r11d
shl ecx, 0x18
shr r11d, 8
add ecx, r11d
mov edx, edi
xor ecx, r10d
xor r9, rdx
xor esi, ecx
mov rcx, r9
shr rcx, 0x10
movzx r8d, cl
mov rcx, r9
shr rcx, 8
movzx edx, cl
mov rcx, r9
shr rcx, 0x18
mov r11d, dword [r12 + r8*4 + 0x800]
mov r10d, esi
xor r11d, dword [r12 + rdx*4 + 0xc00]
xor r11d, dword [r12 + rcx*4]
movzx ecx, r9b
mov r9d, dword [rax + 0x24]
xor r9, r10
xor r11d, dword [r12 + rcx*4 + 0x400]
mov rcx, r9
shr rcx, 0x10
movzx r8d, cl
mov rcx, r9
shr rcx, 8
movzx edx, cl
mov rcx, r9
shr rcx, 0x18
mov r10d, dword [r12 + r8*4 + 0xc00]
xor r10d, dword [r12 + rdx*4 + 0x400]
xor r10d, dword [r12 + rcx*4 + 0x800]
movzx ecx, r9b
xor r10d, dword [r12 + rcx*4]
mov ecx, r11d
shl ecx, 0x18
xor r10d, r11d
xor ebp, r10d
shr r11d, 8
add ecx, r11d
xor ecx, r10d
mov r10d, dword [rax + 0x1c]
xor r14d, ecx
mov ecx, dword [rax + 0x18]
xor ecx, ebp
xor r10d, r14d
mov r9d, ecx
shr rcx, 0x10
movzx r8d, cl
mov ecx, r9d
shr rcx, 8
movzx edx, cl
mov ecx, r9d
shr rcx, 0x18
mov r11d, dword [r12 + r8*4 + 0x800]
xor r11d, dword [r12 + rdx*4 + 0xc00]
xor r11d, dword [r12 + rcx*4]
movzx ecx, r9b
mov r9d, r10d
xor r11d, dword [r12 + rcx*4 + 0x400]
mov ecx, r10d
shr rcx, 0x10
movzx r8d, cl
mov ecx, r10d
shr rcx, 8
movzx edx, cl
mov ecx, r9d
mov r10d, dword [r12 + r8*4 + 0xc00]
shr rcx, 0x18
xor r10d, dword [r12 + rdx*4 + 0x400]
xor r10d, dword [r12 + rcx*4 + 0x800]
movzx ecx, r9b
xor r10d, dword [r12 + rcx*4]
xor r10d, r11d
xor edi, r10d
mov ecx, r11d
shr r11d, 8
shl ecx, 0x18
add ecx, r11d
xor ecx, r10d
mov r10d, dword [rax + 0x14]
xor esi, ecx
mov ecx, dword [rax + 0x10]
xor ecx, edi
xor r10d, esi
mov r9d, ecx
shr rcx, 0x10
movzx r8d, cl
mov ecx, r9d
shr rcx, 8
movzx edx, cl
mov ecx, r9d
shr rcx, 0x18
mov r11d, dword [r12 + r8*4 + 0x800]
xor r11d, dword [r12 + rdx*4 + 0xc00]
xor r11d, dword [r12 + rcx*4]
movzx ecx, r9b
mov r9d, r10d
xor r11d, dword [r12 + rcx*4 + 0x400]
mov ecx, r10d
shr rcx, 0x10
movzx r8d, cl
mov ecx, r10d
shr rcx, 8
movzx edx, cl
mov ecx, r9d
mov r10d, dword [r12 + r8*4 + 0xc00]
shr rcx, 0x18
xor r10d, dword [r12 + rdx*4 + 0x400]
xor r10d, dword [r12 + rcx*4 + 0x800]
movzx ecx, r9b
xor r10d, dword [r12 + rcx*4]
mov ecx, r11d
shl ecx, 0x18
xor r10d, r11d
xor ebp, r10d
shr r11d, 8
add ecx, r11d
xor ecx, r10d
mov r10d, dword [rax + 0xc]
xor r14d, ecx
mov ecx, dword [rax + 8]
xor ecx, ebp
xor r10d, r14d
mov r9d, ecx
shr rcx, 0x10
movzx r8d, cl
mov ecx, r9d
shr rcx, 8
movzx edx, cl
mov ecx, r9d
shr rcx, 0x18
mov r11d, dword [r12 + r8*4 + 0x800]
xor r11d, dword [r12 + rdx*4 + 0xc00]
xor r11d, dword [r12 + rcx*4]
movzx ecx, r9b
mov r9d, r10d
xor r11d, dword [r12 + rcx*4 + 0x400]
mov ecx, r10d
shr rcx, 0x10
movzx r8d, cl
mov ecx, r10d
shr rcx, 8
movzx edx, cl
mov ecx, r9d
mov r10d, dword [r12 + r8*4 + 0xc00]
shr rcx, 0x18
xor r10d, dword [r12 + rdx*4 + 0x400]
xor r10d, dword [r12 + rcx*4 + 0x800]
movzx ecx, r9b
xor r10d, dword [r12 + rcx*4]
mov ecx, r11d
xor r10d, r11d
shl ecx, 0x18
xor edi, r10d
shr r11d, 8
add ecx, r11d
xor ecx, r10d
mov r10d, dword [rax + 4]
xor esi, ecx
mov ecx, dword [rax]
xor ecx, edi
xor r10d, esi
mov r9d, ecx
shr rcx, 0x10
movzx r8d, cl
mov ecx, r9d
shr rcx, 8
movzx edx, cl
mov ecx, r9d
shr rcx, 0x18
mov r11d, dword [r12 + r8*4 + 0x800]
xor r11d, dword [r12 + rdx*4 + 0xc00]
xor r11d, dword [r12 + rcx*4]
movzx ecx, r9b
mov r9d, r10d
xor r11d, dword [r12 + rcx*4 + 0x400]
mov ecx, r10d
shr rcx, 0x10
movzx r8d, cl
mov ecx, r10d
shr rcx, 8
movzx edx, cl
mov ecx, r9d
mov r10d, dword [r12 + r8*4 + 0xc00]
shr rcx, 0x18
xor r10d, dword [r12 + rdx*4 + 0x400]
xor r10d, dword [r12 + rcx*4 + 0x800]
movzx ecx, r9b
xor r10d, dword [r12 + rcx*4]
mov ecx, r11d
xor r10d, r11d
shl ecx, 0x18
shr r11d, 8
xor ebp, r10d
add ecx, r11d
xor ecx, r10d
xor r14d, ecx
cmp rax, r15
je 0x18006ca74
nop dword [rax]
mov edx, dword [rax - 8]
mov r9d, dword [rax - 0x18]
and edx, ebp
mov ecx, edx
shr ecx, 0x1f
lea ecx, [rcx + rdx*2]
mov edx, dword [rax - 0x10]
xor r14d, ecx
mov ecx, dword [rax - 0xc]
or ecx, esi
mov r10d, r14d
xor edi, ecx
mov ecx, dword [rax - 4]
or ecx, r14d
and edx, edi
xor ebp, ecx
sub rax, 0x40
mov ecx, edx
mov r8d, ebp
shr ecx, 0x1f
xor r9, r8
lea ecx, [rcx + rdx*2]
xor esi, ecx
mov rcx, r9
shr rcx, 0x10
movzx r8d, cl
mov rcx, r9
shr rcx, 8
movzx edx, cl
mov rcx, r9
shr rcx, 0x18
mov r11d, dword [r12 + r8*4 + 0x800]
xor r11d, dword [r12 + rdx*4 + 0xc00]
xor r11d, dword [r12 + rcx*4]
movzx ecx, r9b
mov r9d, dword [rax + 0x2c]
xor r9, r10
xor r11d, dword [r12 + rcx*4 + 0x400]
mov rcx, r9
shr rcx, 0x10
movzx r8d, cl
mov rcx, r9
shr rcx, 8
movzx edx, cl
mov rcx, r9
shr rcx, 0x18
mov r10d, dword [r12 + r8*4 + 0xc00]
xor r10d, dword [r12 + rdx*4 + 0x400]
xor r10d, dword [r12 + rcx*4 + 0x800]
movzx ecx, r9b
mov r9d, dword [rax + 0x20]
xor r10d, dword [r12 + rcx*4]
mov ecx, r11d
shl ecx, 0x18
xor r10d, r11d
shr r11d, 8
xor edi, r10d
add ecx, r11d
mov edx, edi
xor ecx, r10d
xor r9, rdx
xor esi, ecx
mov rcx, r9
shr rcx, 0x10
movzx r8d, cl
mov rcx, r9
shr rcx, 8
movzx edx, cl
mov rcx, r9
shr rcx, 0x18
mov r11d, dword [r12 + r8*4 + 0x800]
mov r10d, esi
xor r11d, dword [r12 + rdx*4 + 0xc00]
xor r11d, dword [r12 + rcx*4]
movzx ecx, r9b
mov r9d, dword [rax + 0x24]
xor r9, r10
xor r11d, dword [r12 + rcx*4 + 0x400]
mov rcx, r9
shr rcx, 0x10
movzx r8d, cl
mov r10d, dword [r12 + r8*4 + 0xc00]
mov rcx, r9
shr rcx, 8
movzx edx, cl
mov rcx, r9
shr rcx, 0x18
xor r10d, dword [r12 + rdx*4 + 0x400]
xor r10d, dword [r12 + rcx*4 + 0x800]
movzx ecx, r9b
mov r9d, dword [rax + 0x18]
xor r10d, dword [r12 + rcx*4]
mov ecx, r11d
shl ecx, 0x18
xor r10d, r11d
shr r11d, 8
xor ebp, r10d
add ecx, r11d
mov edx, ebp
xor ecx, r10d
xor r9, rdx
mov r10d, dword [rax + 0x1c]
xor r14d, ecx
xor r10d, r14d
mov rcx, r9
shr rcx, 0x10
movzx r8d, cl
mov rcx, r9
shr rcx, 8
movzx edx, cl
mov rcx, r9
shr rcx, 0x18
mov r11d, dword [r12 + r8*4 + 0x800]
xor r11d, dword [r12 + rdx*4 + 0xc00]
xor r11d, dword [r12 + rcx*4]
movzx ecx, r9b
mov r9d, r10d
xor r11d, dword [r12 + rcx*4 + 0x400]
mov ecx, r10d
shr rcx, 0x10
movzx r8d, cl
mov ecx, r10d
shr rcx, 8
movzx edx, cl
mov ecx, r9d
mov r10d, dword [r12 + r8*4 + 0xc00]
shr rcx, 0x18
xor r10d, dword [r12 + rdx*4 + 0x400]
xor r10d, dword [r12 + rcx*4 + 0x800]
movzx ecx, r9b
xor r10d, dword [r12 + rcx*4]
mov ecx, r11d
shl ecx, 0x18
xor r10d, r11d
shr r11d, 8
xor edi, r10d
add ecx, r11d
xor ecx, r10d
mov r10d, dword [rax + 0x14]
xor esi, ecx
mov ecx, dword [rax + 0x10]
xor ecx, edi
xor r10d, esi
mov r9d, ecx
shr rcx, 0x10
movzx r8d, cl
mov ecx, r9d
shr rcx, 8
movzx edx, cl
mov ecx, r9d
shr rcx, 0x18
mov r11d, dword [r12 + r8*4 + 0x800]
xor r11d, dword [r12 + rdx*4 + 0xc00]
xor r11d, dword [r12 + rcx*4]
movzx ecx, r9b
mov r9d, r10d
xor r11d, dword [r12 + rcx*4 + 0x400]
mov ecx, r10d
shr rcx, 0x10
movzx r8d, cl
mov ecx, r10d
shr rcx, 8
movzx edx, cl
mov ecx, r9d
shr rcx, 0x18
mov r10d, dword [r12 + r8*4 + 0xc00]
xor r10d, dword [r12 + rdx*4 + 0x400]
xor r10d, dword [r12 + rcx*4 + 0x800]
movzx ecx, r9b
xor r10d, dword [r12 + rcx*4]
mov ecx, r11d
shl ecx, 0x18
xor r10d, r11d
xor ebp, r10d
shr r11d, 8
add ecx, r11d
xor ecx, r10d
mov r10d, dword [rax + 0xc]
xor r14d, ecx
mov ecx, dword [rax + 8]
xor ecx, ebp
xor r10d, r14d
mov r9d, ecx
shr rcx, 0x10
movzx r8d, cl
mov ecx, r9d
shr rcx, 8
movzx edx, cl
mov ecx, r9d
shr rcx, 0x18
mov r11d, dword [r12 + r8*4 + 0x800]
xor r11d, dword [r12 + rdx*4 + 0xc00]
xor r11d, dword [r12 + rcx*4]
movzx ecx, r9b
mov r9d, r10d
xor r11d, dword [r12 + rcx*4 + 0x400]
mov ecx, r10d
shr rcx, 0x10
movzx r8d, cl
mov ecx, r10d
shr rcx, 8
movzx edx, cl
mov ecx, r9d
mov r10d, dword [r12 + r8*4 + 0xc00]
shr rcx, 0x18
xor r10d, dword [r12 + rdx*4 + 0x400]
xor r10d, dword [r12 + rcx*4 + 0x800]
movzx ecx, r9b
xor r10d, dword [r12 + rcx*4]
mov ecx, r11d
shl ecx, 0x18
xor r10d, r11d
shr r11d, 8
xor edi, r10d
add ecx, r11d
xor ecx, r10d
mov r10d, dword [rax + 4]
xor esi, ecx
mov ecx, dword [rax]
xor ecx, edi
xor r10d, esi
mov r9d, ecx
shr rcx, 0x10
movzx r8d, cl
mov ecx, r9d
shr rcx, 8
movzx edx, cl
mov ecx, r9d
shr rcx, 0x18
mov r11d, dword [r12 + r8*4 + 0x800]
xor r11d, dword [r12 + rdx*4 + 0xc00]
xor r11d, dword [r12 + rcx*4]
movzx ecx, r9b
mov r9d, r10d
xor r11d, dword [r12 + rcx*4 + 0x400]
mov ecx, r10d
shr rcx, 0x10
movzx r8d, cl
mov ecx, r10d
shr rcx, 8
movzx edx, cl
mov r10d, dword [r12 + r8*4 + 0xc00]
xor r10d, dword [r12 + rdx*4 + 0x400]
mov ecx, r9d
shr rcx, 0x18
xor r10d, dword [r12 + rcx*4 + 0x800]
movzx ecx, r9b
xor r10d, dword [r12 + rcx*4]
mov ecx, r11d
xor r10d, r11d
shl ecx, 0x18
shr r11d, 8
xor ebp, r10d
add ecx, r11d
xor ecx, r10d
xor r14d, ecx
cmp rax, r15
jne 0x18006c670
xor edi, dword [rax - 0x10]
xor esi, dword [rax - 0xc]
xor ebp, dword [rax - 8]
xor r14d, dword [rax - 4]
mov eax, edi
shr eax, 0x18
mov byte [rbx], al
mov eax, edi
shr eax, 0x10
mov byte [rbx + 1], al
mov eax, edi
shr eax, 8
mov byte [rbx + 2], al
mov eax, esi
shr eax, 0x18
mov byte [rbx + 4], al
mov eax, esi
shr eax, 0x10
mov byte [rbx + 5], al
mov eax, esi
shr eax, 8
mov byte [rbx + 6], al
mov eax, ebp
shr eax, 0x18
mov byte [rbx + 8], al
mov eax, ebp
shr eax, 0x10
mov byte [rbx + 9], al
mov eax, ebp
shr eax, 8
mov byte [rbx + 0xa], al
mov eax, r14d
shr eax, 0x18
mov byte [rbx + 0xc], al
mov eax, r14d
shr eax, 0x10
mov byte [rbx + 0xd], al
mov eax, r14d
mov byte [rbx + 3], dil
mov rdi, qword [rsp + 0x38]
mov byte [rbx + 7], sil
mov rsi, qword [rsp + 0x30]
mov byte [rbx + 0xb], bpl
mov rbp, qword [rsp + 0x28]
shr eax, 8
mov byte [rbx + 0xe], al
mov byte [rbx + 0xf], r14b
mov rbx, qword [rsp + 0x20]
pop r15
pop r14
pop r12
ret
mov eax, 0x28
call fcn.180001055
sub rsp, rax
mov r9, rdx
mov rdx, rcx
mov ecx, dword [r8 + 0x110]
add rsp, 0x28
jmp 0x180004ea8