Function at 0x1800018b0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r12
push r13
push r14
push r15
mov dword [rcx + 0x200], 0xa
lea r15, [0x18006bae0]
movzx r8d, byte [rdx]
lea r12, [0x180000000]
mov eax, dword [0x180080570]
lea r13, [0x18006bb08]
mov r14, rcx
mov rsi, rcx
test eax, eax
mov ebp, 1
cmove eax, ebp
shl r8d, 8
mov dword [0x180080570], eax
movzx eax, byte [rdx + 1]
or r8d, eax
movzx eax, byte [rdx + 2]
shl r8d, 8
or r8d, eax
movzx eax, byte [rdx + 3]
shl r8d, 8
or r8d, eax
mov dword [rcx], r8d
movzx eax, byte [rdx + 5]
movzx ecx, byte [rdx + 4]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 6]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 7]
shl ecx, 8
or ecx, eax
mov dword [r14 + 4], ecx
movzx eax, byte [rdx + 9]
movzx ecx, byte [rdx + 8]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0xa]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0xb]
shl ecx, 8
or ecx, eax
mov dword [r14 + 8], ecx
movzx eax, byte [rdx + 0xd]
movzx ecx, byte [rdx + 0xc]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0xe]
shl ecx, 8
or ecx, eax
movzx eax, byte [rdx + 0xf]
shl ecx, 8
or ecx, eax
mov dword [r14 + 0xc], ecx
nop dword [rax + rax]
mov edx, dword [r14 + 0xc]
mov edi, dword [r14 + 4]
mov eax, edx
shr eax, 0x10
movzx ecx, al
mov eax, edx
shr eax, 8
movzx r9d, byte [rcx + r12 + 0x6cd30]
movzx ecx, al
shl r9d, 8
movzx eax, byte [rcx + r12 + 0x6cd30]
xor r9d, eax
movzx eax, dl
shl r9d, 8
movzx eax, byte [rax + r12 + 0x6cd30]
xor r9d, eax
mov eax, edx
shr rax, 0x18
shl r9d, 8
movzx eax, byte [rax + r12 + 0x6cd30]
xor r9d, eax
xor r9d, dword [r15 - 8]
xor r9d, r8d
mov r8d, dword [r14 + 8]
xor edi, r9d
mov dword [r14 + 0x10], r9d
xor r8d, edi
mov dword [r14 + 0x14], edi
mov eax, r8d
mov dword [r14 + 0x18], r8d
xor eax, edx
mov edx, eax
shr eax, 0x10
movzx ecx, al
mov eax, edx
shr eax, 8
mov dword [r14 + 0x1c], edx
movzx r10d, byte [rcx + r12 + 0x6cd30]
movzx ecx, al
shl r10d, 8
movzx eax, byte [rcx + r12 + 0x6cd30]
xor r10d, eax
movzx eax, dl
shl r10d, 8
movzx eax, byte [rax + r12 + 0x6cd30]
xor r10d, eax
mov eax, edx
shr rax, 0x18
shl r10d, 8
movzx eax, byte [rax + r12 + 0x6cd30]
xor r10d, eax
xor r10d, dword [r15 - 4]
xor r10d, r9d
xor edi, r10d
mov dword [r14 + 0x20], r10d
mov r9d, edi
mov dword [r14 + 0x24], edi
xor r9d, r8d
mov eax, r9d
mov dword [r14 + 0x28], r9d
xor eax, edx
mov edx, eax
shr eax, 0x10
movzx ecx, al
mov eax, edx
shr eax, 8
mov dword [r14 + 0x2c], edx
movzx r11d, byte [rcx + r12 + 0x6cd30]
movzx ecx, al
shl r11d, 8
movzx eax, byte [rcx + r12 + 0x6cd30]
xor r11d, eax
movzx eax, dl
shl r11d, 8
movzx eax, byte [rax + r12 + 0x6cd30]
xor r11d, eax
mov eax, edx
shr rax, 0x18
shl r11d, 8
movzx eax, byte [rax + r12 + 0x6cd30]
xor r11d, eax
xor r11d, dword [r15]
lea r14, [r14 + 0x50]
xor r11d, r10d
xor edi, r11d
mov dword [r14 - 0x20], r11d
mov r10d, edi
mov dword [r14 - 0x1c], edi
xor r10d, r9d
xor edx, r10d
mov dword [r14 - 0x18], r10d
mov eax, edx
mov r8d, edx
shr eax, 0x10
movzx ecx, al
mov eax, edx
shr eax, 8
mov dword [r14 - 0x14], r8d
movzx ebx, byte [rcx + r12 + 0x6cd30]
movzx ecx, al
shl ebx, 8
movzx eax, byte [rcx + r12 + 0x6cd30]
xor ebx, eax
movzx eax, dl
shl ebx, 8
movzx eax, byte [rax + r12 + 0x6cd30]
xor ebx, eax
mov eax, edx
shr rax, 0x18
shl ebx, 8
movzx eax, byte [rax + r12 + 0x6cd30]
xor ebx, eax
xor ebx, dword [r15 + 4]
xor ebx, r11d
xor edi, ebx
mov dword [r14 - 0x10], ebx
mov r9d, edi
mov dword [r14 - 0xc], edi
xor r9d, r10d
xor r8d, r9d
mov dword [r14 - 8], r9d
mov edx, r8d
mov eax, r8d
shr eax, 0x10
movzx ecx, al
mov eax, edx
shr eax, 8
mov dword [r14 - 4], edx
movzx r8d, byte [rcx + r12 + 0x6cd30]
shl r8d, 8
movzx ecx, al
movzx eax, byte [rcx + r12 + 0x6cd30]
xor r8d, eax
movzx eax, dl
shl r8d, 8
movzx eax, byte [rax + r12 + 0x6cd30]
xor r8d, eax
mov eax, edx
shl r8d, 8
shr rax, 0x18
movzx eax, byte [rax + r12 + 0x6cd30]
xor r8d, eax
xor r8d, dword [r15 + 8]
add r15, 0x14
xor r8d, ebx
xor edi, r8d
mov dword [r14], r8d
mov dword [r14 + 4], edi
xor edi, r9d
xor edx, edi
mov dword [r14 + 8], edi
mov dword [r14 + 0xc], edx
cmp r15, r13
jl 0x1800019a0
cmp dword [0x180080574], 0
jne 0x180001c73
xor edx, edx
nop dword [rax]
movzx eax, byte [rdx + r12 + 0x6cd30]
lea rcx, [rax*4]
mov eax, dword [rcx + r12 + 0x6c030]
mov dword [r12 + rdx*4 + 0x80a80], eax
mov eax, dword [rcx + r12 + 0x6c430]
mov dword [r12 + rdx*4 + 0x81280], eax
mov eax, dword [rcx + r12 + 0x6bc30]
mov dword [r12 + rdx*4 + 0x80e80], eax
mov eax, dword [rcx + r12 + 0x6c930]
mov dword [r12 + rdx*4 + 0x80680], eax
inc rdx
cmp rdx, 0x100
jl 0x180001c10
mov dword [0x180080574], ebp
mov eax, dword [r14]
lea r11, [rsi + 0x100]
mov dword [r11], eax
mov eax, dword [r14 + 4]
mov dword [r11 + 4], eax
mov eax, dword [r14 + 8]
mov dword [r11 + 8], eax
mov eax, dword [r14 + 0xc]
mov dword [r11 + 0xc], eax
add r11, 0x10
lea rax, [r14 + 0x10]
cmp dword [rsi + 0x200], ebp
jle 0x180001dd9
nop dword [rax]
mov r10d, dword [rax - 0x20]
inc ebp
mov ecx, r10d
mov r8d, r10d
shr ecx, 0x10
movzx edx, cl
mov ecx, r10d
shr ecx, 8
shr r8, 0x18
mov r9d, dword [r12 + r8*4 + 0x80a80]
xor r9d, dword [r12 + rdx*4 + 0x81280]
movzx edx, cl
movzx ecx, r10b
xor r9d, dword [r12 + rdx*4 + 0x80e80]
xor r9d, dword [r12 + rcx*4 + 0x80680]
mov dword [r11], r9d
mov r10d, dword [rax - 0x1c]
mov ecx, r10d
mov r8d, r10d
shr ecx, 0x10
movzx edx, cl
mov ecx, r10d
shr ecx, 8
shr r8, 0x18
mov r9d, dword [r12 + r8*4 + 0x80a80]
xor r9d, dword [r12 + rdx*4 + 0x81280]
movzx edx, cl
movzx ecx, r10b
xor r9d, dword [r12 + rdx*4 + 0x80e80]
xor r9d, dword [r12 + rcx*4 + 0x80680]
mov dword [r11 + 4], r9d
mov r10d, dword [rax - 0x18]
mov ecx, r10d
mov r8d, r10d
shr ecx, 0x10
movzx edx, cl
mov ecx, r10d
shr ecx, 8
shr r8, 0x18
mov r9d, dword [r12 + r8*4 + 0x80a80]
xor r9d, dword [r12 + rdx*4 + 0x81280]
movzx edx, cl
movzx ecx, r10b
xor r9d, dword [r12 + rdx*4 + 0x80e80]
xor r9d, dword [r12 + rcx*4 + 0x80680]
mov dword [r11 + 8], r9d
mov r10d, dword [rax - 0x14]
add rax, 0xfffffffffffffff0
mov ecx, r10d
mov r8d, r10d
shr ecx, 0x10
movzx edx, cl
mov ecx, r10d
shr ecx, 8
shr r8, 0x18
mov r9d, dword [r12 + r8*4 + 0x80a80]
xor r9d, dword [r12 + rdx*4 + 0x81280]
movzx edx, cl
movzx ecx, r10b
xor r9d, dword [r12 + rdx*4 + 0x80e80]
xor r9d, dword [r12 + rcx*4 + 0x80680]
mov dword [r11 + 0xc], r9d
add r11, 0x10
cmp ebp, dword [rsi + 0x200]
jl 0x180001cb0
mov ecx, dword [rax - 0x20]
mov rbx, qword [rsp + 0x28]
mov rbp, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x40]
mov dword [r11], ecx
mov ecx, dword [rax - 0x1c]
mov dword [r11 + 4], ecx
mov ecx, dword [rax - 0x18]
mov dword [r11 + 8], ecx
mov ecx, dword [rax - 0x14]
mov dword [r11 + 0xc], ecx
pop r15
pop r14
pop r13
pop r12
ret