Function at 0x1801c6350
Capabilities:
Encode data using xor

Disassembly:
push rbx
push r15
sub rsp, 0x38
mov eax, dword [r8 + 0x550]
mov r15, r9
mov rbx, r8
cmp eax, 0x10
ja 0x1801c66b7
mov ecx, dword [r8 + 0x54c]
mov qword [rsp + 0x50], rbp
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0x60], rdi
mov qword [rsp + 0x28], r13
xor r13d, r13d
mov qword [rsp + 0x20], r14
mov r14, qword [rsp + 0x70]
test ecx, ecx
jne 0x1801c6597
cmp dword [r8 + 0x548], r13d
jne 0x1801c63dc
cmp eax, 0xc
jne 0x1801c63dc
movsd xmm0, qword [r8 + 0x538]
mov eax, dword [r8 + 0x540]
movsd qword [r8 + 0x518], xmm0
mov dword [r8 + 0x520], eax
mov dword [r8 + 0x524], 0x1000000
jmp 0x1801c656b
mov edx, r13d
test eax, eax
je 0x1801c6428
mov eax, edx
inc edx
lea rcx, [r8 + rax]
movzx eax, byte [rax + r8 + 0x538]
xor byte [rcx + 0x508], al
mov eax, dword [r8 + 0x550]
cmp edx, eax
jb 0x1801c63e3
test eax, eax
je 0x1801c6428
cdqe
lea rdx, [r8 + 0x508]
shl rax, 3
mov rcx, rbx
add qword [r8 + 0x558], rax
mov r8, r14
call fcn.1801c8210
xor eax, eax
mov qword [rbx + 0x538], rax
movzx ecx, byte [rbx + 0x55f]
movzx eax, byte [rbx + 0x538]
mov byte [rbx + 0x540], cl
movzx edx, byte [rbx + 0x55e]
mov byte [rbx + 0x541], dl
movzx r8d, byte [rbx + 0x55d]
mov byte [rbx + 0x542], r8b
movzx r9d, byte [rbx + 0x55c]
mov byte [rbx + 0x543], r9b
movzx r10d, byte [rbx + 0x55b]
mov byte [rbx + 0x544], r10b
movzx r11d, byte [rbx + 0x55a]
mov byte [rbx + 0x545], r11b
movzx edi, byte [rbx + 0x559]
mov byte [rbx + 0x546], dil
movzx esi, byte [rbx + 0x558]
xor byte [rbx + 0x508], al
movzx eax, byte [rbx + 0x539]
xor byte [rbx + 0x509], al
movzx eax, byte [rbx + 0x53a]
xor byte [rbx + 0x50a], al
movzx eax, byte [rbx + 0x53b]
xor byte [rbx + 0x50b], al
movzx eax, byte [rbx + 0x53c]
xor byte [rbx + 0x50c], al
movzx eax, byte [rbx + 0x53d]
xor byte [rbx + 0x50d], al
movzx eax, byte [rbx + 0x53e]
xor byte [rbx + 0x50e], al
movzx eax, byte [rbx + 0x53f]
xor byte [rbx + 0x510], cl
mov rcx, rbx
xor byte [rbx + 0x511], dl
lea rdx, [rbx + 0x508]
xor byte [rbx + 0x512], r8b
mov r8, r14
xor byte [rbx + 0x50f], al
xor byte [rbx + 0x513], r9b
xor byte [rbx + 0x514], r10b
xor byte [rbx + 0x515], r11b
xor byte [rbx + 0x516], dil
xor byte [rbx + 0x517], sil
mov byte [rbx + 0x547], sil
call fcn.1801c8210
movups xmm0, xmmword [rbx + 0x508]
xorps xmm1, xmm1
movups xmmword [rbx + 0x518], xmm0
movups xmmword [rbx + 0x508], xmm1
movups xmm0, xmmword [rbx + 0x518]
xorps xmm1, xmm1
movups xmmword [rbx + 0x528], xmm0
movups xmmword [rbx + 0x538], xmm1
mov qword [rbx + 0x54c], 1
mov qword [rbx + 0x558], r13
jmp 0x1801c65a9
cmp ecx, 1
jne 0x1801c66a3
cmp eax, 0x10
jge 0x1801c66a3
lea rcx, [r15 + 0x80]
mov qword [rsp + 0x30], r12
call fcn.1800bdfb0
lea rcx, [r15 + 0x80]
mov rsi, rax
call fcn.1800be430
mov r12d, eax
mov edi, r13d
cmp dword [rbx + 0x550], r13d
jne 0x1801c6621
mov r15d, eax
and r15d, 0xfffffff0
jbe 0x1801c661c
mov rcx, qword [rdi + rsi]
lea eax, [rdi + 8]
xor qword [rbx + 0x508], rcx
lea rdx, [rbx + 0x508]
mov rax, qword [rax + rsi]
mov r8, r14
xor qword [rbx + 0x510], rax
mov rcx, rbx
call fcn.1801c8210
sub qword [rbx + 0x558], 0xffffffffffffff80
add edi, 0x10
cmp edi, r15d
jb 0x1801c65e1
mov eax, edi
add rsi, rax
cmp edi, r12d
jae 0x1801c667b
sub r12d, edi
mov edi, r12d
nop dword [rax]
movzx eax, byte [rsi]
lea rsi, [rsi + 1]
movsxd rcx, dword [rbx + 0x550]
xor byte [rcx + rbx + 0x508], al
inc dword [rbx + 0x550]
cmp dword [rbx + 0x550], 0x10
jne 0x1801c6675
mov r8, r14
lea rdx, [rbx + 0x508]
mov rcx, rbx
call fcn.1801c8210
sub qword [rbx + 0x558], 0xffffffffffffff80
mov dword [rbx + 0x550], r13d
sub rdi, 1
jne 0x1801c6630
mov r12, qword [rsp + 0x30]
mov al, 1
mov r13, qword [rsp + 0x28]
mov rdi, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x50]
mov r14, qword [rsp + 0x20]
add rsp, 0x38
pop r15
pop rbx
ret
mov rax, qword [r14]
lea rdx, str.Internal_error_2
mov rcx, r14
call qword [rax + 0x28]
xor al, al
jmp 0x1801c6682
mov rcx, qword [rsp + 0x70]
lea rdx, str.Internal_error.
mov rax, qword [rcx]
call qword [rax + 0x28]
xor al, al
add rsp, 0x38
pop r15
pop rbx
ret