Function at 0x1801c8e10
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
mov qword [rsp + 0x10], rdx
push rdi
push r12
push r13
push r14
push r15
movzx eax, byte [rcx + 1]
movzx r9d, byte [rcx + 4]
movzx ebx, byte [rcx + 8]
movzx r11d, byte [rcx + 0xc]
movzx r10d, byte [rcx]
shl r9d, 8
shl ebx, 8
shl r11d, 8
shl r10d, 8
xor r10d, eax
movzx eax, byte [rcx + 2]
lea rsi, [0x180000000]
shl r10d, 8
mov r14, rdx
mov rdi, r8
xor r10d, eax
movzx eax, byte [rcx + 3]
shl r10d, 8
xor r10d, eax
movzx eax, byte [rcx + 5]
xor r10d, dword [r8]
xor r9d, eax
movzx eax, byte [rcx + 6]
shl r9d, 8
xor r9d, eax
movzx eax, byte [rcx + 7]
shl r9d, 8
xor r9d, eax
movzx eax, byte [rcx + 9]
xor r9d, dword [r8 + 4]
xor ebx, eax
movzx eax, byte [rcx + 0xa]
shl ebx, 8
xor ebx, eax
movzx eax, byte [rcx + 0xb]
shl ebx, 8
xor ebx, eax
movzx eax, byte [rcx + 0xd]
xor ebx, dword [r8 + 8]
xor r11d, eax
movzx eax, byte [rcx + 0xe]
shl r11d, 8
xor r11d, eax
movzx eax, byte [rcx + 0xf]
shl r11d, 8
xor r11d, eax
mov eax, r9d
xor r11d, dword [r8 + 0xc]
shr rax, 0x10
mov r8d, r10d
movzx edx, al
mov eax, ebx
mov ebp, dword [rsi + rdx*4 + 0x37f690]
shr rax, 8
movzx ecx, al
mov eax, r10d
xor ebp, dword [rsi + rcx*4 + 0x37fa90]
shr rax, 0x18
xor ebp, dword [rsi + rax*4 + 0x37f290]
movzx eax, r11b
xor ebp, dword [rsi + rax*4 + 0x37fe90]
mov eax, r11d
xor ebp, dword [rdi + 0x10]
shr rax, 8
movzx edx, al
mov eax, ebx
mov r15d, dword [rsi + rdx*4 + 0x37fa90]
shr rax, 0x10
movzx ecx, al
mov eax, r9d
xor r15d, dword [rsi + rcx*4 + 0x37f690]
shr rax, 0x18
xor r15d, dword [rsi + rax*4 + 0x37f290]
movzx eax, r10b
xor r15d, dword [rsi + rax*4 + 0x37fe90]
mov eax, r10d
xor r15d, dword [rdi + 0x14]
shr rax, 8
movzx edx, al
mov eax, r11d
shr rax, 0x10
mov edx, dword [rsi + rdx*4 + 0x37fa90]
mov r13d, dword [rdi + 0xf0]
movzx ecx, al
xor edx, dword [rsi + rcx*4 + 0x37f690]
shr r8, 0x10
shr r11, 0x18
movzx ecx, r8b
mov eax, ebx
sar r13d, 1
mov r8d, dword [rsi + rcx*4 + 0x37f690]
shr rax, 0x18
lea r12, [rdi + 0x20]
xor edx, dword [rsi + rax*4 + 0x37f290]
movzx eax, r9b
shr r9, 8
xor edx, dword [rsi + rax*4 + 0x37fe90]
movzx eax, r9b
xor r8d, dword [rsi + rax*4 + 0x37fa90]
xor edx, dword [rdi + 0x18]
movzx eax, bl
xor r8d, dword [rsi + r11*4 + 0x37f290]
xor r8d, dword [rsi + rax*4 + 0x37fe90]
xor r8d, dword [rdi + 0x1c]
dec r13d
je 0x1801c922a
lea r14, [0x180000000]
mov esi, edx
mov edi, r8d
mov r10d, ebp
mov eax, r15d
shr r10, 0x10
shr rdi, 0x18
shr rax, 0x10
mov r11d, r15d
movzx edx, al
mov eax, esi
shr r11, 8
mov ebx, dword [r14 + rdx*4 + 0x37f690]
shr rax, 8
movzx ecx, al
mov eax, ebp
xor ebx, dword [r14 + rcx*4 + 0x37fa90]
shr rax, 0x18
xor ebx, dword [r14 + rax*4 + 0x37f290]
movzx eax, r8b
xor ebx, dword [r14 + rax*4 + 0x37fe90]
mov eax, r8d
xor ebx, dword [r12]
shr rax, 8
movzx edx, al
mov eax, esi
mov r9d, dword [r14 + rdx*4 + 0x37fa90]
shr rax, 0x10
movzx ecx, al
mov eax, r15d
xor r9d, dword [r14 + rcx*4 + 0x37f690]
shr rax, 0x18
xor r9d, dword [r14 + rax*4 + 0x37f290]
movzx eax, bpl
xor r9d, dword [r14 + rax*4 + 0x37fe90]
mov eax, ebp
xor r9d, dword [r12 + 4]
shr rax, 8
movzx edx, al
mov eax, r8d
mov r8d, dword [r14 + rdx*4 + 0x37fa90]
shr rax, 0x10
movzx ecx, al
mov eax, esi
xor r8d, dword [r14 + rcx*4 + 0x37f690]
shr rax, 0x18
movzx ecx, r10b
xor r8d, dword [r14 + rax*4 + 0x37f290]
mov edx, dword [r14 + rcx*4 + 0x37f690]
movzx eax, r15b
xor r8d, dword [r14 + rax*4 + 0x37fe90]
movzx eax, r11b
mov r10d, r9d
xor edx, dword [r14 + rax*4 + 0x37fa90]
xor r8d, dword [r12 + 8]
movzx eax, sil
xor edx, dword [r14 + rdi*4 + 0x37f290]
mov r11d, r8d
mov r8d, ebx
xor edx, dword [r14 + rax*4 + 0x37fe90]
mov eax, r10d
xor edx, dword [r12 + 0xc]
shr rax, 0x10
mov r9d, edx
movzx edx, al
mov eax, r11d
mov ebp, dword [r14 + rdx*4 + 0x37f690]
shr rax, 8
movzx ecx, al
mov eax, ebx
xor ebp, dword [r14 + rcx*4 + 0x37fa90]
shr rax, 0x18
xor ebp, dword [r14 + rax*4 + 0x37f290]
movzx eax, r9b
xor ebp, dword [r14 + rax*4 + 0x37fe90]
mov eax, r9d
xor ebp, dword [r12 + 0x10]
shr rax, 8
movzx edx, al
mov eax, r11d
shr rax, 0x10
movzx ecx, al
mov r15d, dword [r14 + rdx*4 + 0x37fa90]
shr r8, 0x10
mov eax, r10d
xor r15d, dword [r14 + rcx*4 + 0x37f690]
shr rax, 0x18
add r12, 0x20
xor r15d, dword [r14 + rax*4 + 0x37f290]
movzx eax, bl
xor r15d, dword [r14 + rax*4 + 0x37fe90]
mov eax, ebx
xor r15d, dword [r12 - 0xc]
shr rax, 8
movzx edx, al
mov eax, r9d
shr r9, 0x18
mov edx, dword [r14 + rdx*4 + 0x37fa90]
shr rax, 0x10
movzx ecx, al
mov eax, r11d
xor edx, dword [r14 + rcx*4 + 0x37f690]
shr rax, 0x18
movzx ecx, r8b
xor edx, dword [r14 + rax*4 + 0x37f290]
mov r8d, dword [r14 + rcx*4 + 0x37f690]
movzx eax, r10b
xor edx, dword [r14 + rax*4 + 0x37fe90]
shr r10, 8
xor edx, dword [r12 - 8]
movzx eax, r10b
xor r8d, dword [r14 + rax*4 + 0x37fa90]
movzx eax, r11b
xor r8d, dword [r14 + r9*4 + 0x37f290]
xor r8d, dword [r14 + rax*4 + 0x37fe90]
xor r8d, dword [r12 - 4]
dec r13d
jne 0x1801c8ff1
mov r14, qword [rsp + 0x38]
lea rsi, [0x180000000]
mov r11d, edx
mov r10d, r8d
mov eax, r15d
shr rax, 0x10
mov r9d, r15d
mov r8d, ebp
movzx ecx, al
mov eax, r11d
shr rax, 8
mov edx, dword [rsi + rcx*4 + 0x37fe90]
movzx ecx, al
and edx, 0xff0000
mov eax, dword [rsi + rcx*4 + 0x37f290]
and eax, 0xff00
xor edx, eax
mov eax, ebp
shr rax, 0x18
mov ecx, dword [rsi + rax*4 + 0x37fa90]
movzx eax, r10b
movzx eax, byte [rsi + rax*4 + 0x37f690]
and ecx, 0xff000000
xor edx, ecx
xor edx, eax
xor edx, dword [r12]
mov eax, edx
mov byte [r14 + 3], dl
shr eax, 0x18
mov byte [r14], al
mov eax, edx
shr eax, 0x10
mov byte [r14 + 1], al
mov eax, edx
shr eax, 8
mov byte [r14 + 2], al
mov eax, r11d
shr rax, 0x10
movzx ecx, al
mov eax, r10d
mov edx, dword [rsi + rcx*4 + 0x37fe90]
shr rax, 8
movzx ecx, al
and edx, 0xff0000
mov eax, dword [rsi + rcx*4 + 0x37f290]
and eax, 0xff00
xor edx, eax
mov eax, r15d
shr rax, 0x18
mov eax, dword [rsi + rax*4 + 0x37fa90]
and eax, 0xff000000
xor edx, eax
movzx eax, bpl
movzx eax, byte [rsi + rax*4 + 0x37f690]
xor edx, eax
xor edx, dword [r12 + 4]
mov eax, edx
mov byte [r14 + 7], dl
shr eax, 0x18
mov byte [r14 + 4], al
mov eax, edx
shr eax, 0x10
mov byte [r14 + 5], al
mov eax, edx
shr eax, 8
mov byte [r14 + 6], al
mov eax, r10d
shr rax, 0x10
movzx ecx, al
mov eax, ebp
mov edx, dword [rsi + rcx*4 + 0x37fe90]
shr rax, 8
movzx ecx, al
and edx, 0xff0000
mov eax, dword [rsi + rcx*4 + 0x37f290]
and eax, 0xff00
xor edx, eax
mov eax, r11d
shr rax, 0x18
mov eax, dword [rsi + rax*4 + 0x37fa90]
and eax, 0xff000000
xor edx, eax
movzx eax, r15b
movzx eax, byte [rsi + rax*4 + 0x37f690]
mov rbx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x40]
xor edx, eax
shr r8, 0x10
shr r9, 8
xor edx, dword [r12 + 8]
shr r10, 0x18
mov eax, edx
mov byte [r14 + 0xb], dl
shr eax, 0x18
mov byte [r14 + 8], al
mov eax, edx
shr eax, 0x10
mov byte [r14 + 9], al
mov eax, edx
shr eax, 8
mov byte [r14 + 0xa], al
movzx eax, r8b
mov edx, dword [rsi + rax*4 + 0x37fe90]
movzx eax, r9b
mov ecx, dword [rsi + rax*4 + 0x37f290]
mov eax, dword [rsi + r10*4 + 0x37fa90]
and edx, 0xff0000
and eax, 0xff000000
and ecx, 0xff00
xor edx, ecx
xor edx, eax
movzx eax, r11b
movzx eax, byte [rsi + rax*4 + 0x37f690]
mov rsi, qword [rsp + 0x48]
xor edx, eax
xor edx, dword [r12 + 0xc]
mov eax, edx
mov byte [r14 + 0xf], dl
shr eax, 0x18
mov byte [r14 + 0xc], al
mov eax, edx
shr eax, 0x10
mov byte [r14 + 0xd], al
mov eax, edx
shr eax, 8
mov byte [r14 + 0xe], al
pop r15
pop r14
pop r13
pop r12
pop rdi
ret