Function at 0x18013f1e0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x1b0
mov rax, qword [0x1802cd010]
xor rax, rsp
mov qword [rsp + 0x1a0], rax
mov r14, r9
mov rbx, r8
mov rdi, qword [rsp + 0x200]
xor edx, edx
mov r8d, 0x178
lea rcx, [rsp + 0x20]
call sub.VCRUNTIME140.dll_memset
lea rcx, [rsp + 0x20]
call fcn.18002a040
nop
mov eax, dword [rbx + 0x558]
cmp eax, 0x10
ja 0x18013f53a
mov ecx, dword [rbx + 0x554]
xor r12d, r12d
test ecx, ecx
jne 0x18013f449
cmp dword [rbx + 0x550], r12d
jne 0x18013f28f
cmp eax, 0xc
jne 0x18013f28f
movsd xmm0, qword [rbx + 0x540]
movsd qword [rbx + 0x520], xmm0
mov eax, dword [rbx + 0x548]
mov dword [rbx + 0x528], eax
mov dword [rbx + 0x52c], 0x1000000
jmp 0x18013f41d
mov edx, r12d
test eax, eax
je 0x18013f2d8
mov ecx, edx
movzx eax, byte [rcx + rbx + 0x540]
xor byte [rcx + rbx + 0x510], al
inc edx
mov eax, dword [rbx + 0x558]
cmp edx, eax
jb 0x18013f296
test eax, eax
je 0x18013f2d8
cdqe
shl rax, 3
add qword [rbx + 0x560], rax
lea rdx, [rbx + 0x510]
lea r8, [rsp + 0x20]
mov rcx, rbx
call fcn.180140ee0
xor eax, eax
mov qword [rbx + 0x540], rax
movzx ecx, byte [rbx + 0x567]
mov byte [rbx + 0x548], cl
movzx edx, byte [rbx + 0x566]
mov byte [rbx + 0x549], dl
movzx r8d, byte [rbx + 0x565]
mov byte [rbx + 0x54a], r8b
movzx r9d, byte [rbx + 0x564]
mov byte [rbx + 0x54b], r9b
movzx r10d, byte [rbx + 0x563]
mov byte [rbx + 0x54c], r10b
movzx r11d, byte [rbx + 0x562]
mov byte [rbx + 0x54d], r11b
movzx edi, byte [rbx + 0x561]
mov byte [rbx + 0x54e], dil
movzx esi, byte [rbx + 0x560]
mov byte [rbx + 0x54f], sil
movzx eax, byte [rbx + 0x540]
xor byte [rbx + 0x510], al
movzx eax, byte [rbx + 0x541]
xor byte [rbx + 0x511], al
movzx eax, byte [rbx + 0x542]
xor byte [rbx + 0x512], al
movzx eax, byte [rbx + 0x543]
xor byte [rbx + 0x513], al
movzx eax, byte [rbx + 0x544]
xor byte [rbx + 0x514], al
movzx eax, byte [rbx + 0x545]
xor byte [rbx + 0x515], al
movzx eax, byte [rbx + 0x546]
xor byte [rbx + 0x516], al
movzx eax, byte [rbx + 0x547]
xor byte [rbx + 0x517], al
xor byte [rbx + 0x518], cl
xor byte [rbx + 0x519], dl
xor byte [rbx + 0x51a], r8b
xor byte [rbx + 0x51b], r9b
xor byte [rbx + 0x51c], r10b
xor byte [rbx + 0x51d], r11b
xor byte [rbx + 0x51e], dil
xor byte [rbx + 0x51f], sil
lea r8, [rsp + 0x20]
lea rdx, [rbx + 0x510]
mov rcx, rbx
call fcn.180140ee0
movups xmm0, xmmword [rbx + 0x510]
movups xmmword [rbx + 0x520], xmm0
xorps xmm1, xmm1
movups xmmword [rbx + 0x510], xmm1
movups xmm0, xmmword [rbx + 0x520]
movups xmmword [rbx + 0x530], xmm0
xorps xmm1, xmm1
movups xmmword [rbx + 0x540], xmm1
mov qword [rbx + 0x554], 1
mov qword [rbx + 0x560], r12
jmp 0x18013f45b
cmp ecx, 1
jne 0x18013f531
cmp eax, 0x10
jge 0x18013f531
lea rcx, [r14 + 0x80]
call fcn.18001f920
mov rsi, rax
lea rcx, [r14 + 0x80]
call fcn.18001fd80
mov r15d, eax
mov edi, r12d
cmp dword [rbx + 0x558], r12d
jne 0x18013f4d2
mov r14d, eax
and r14d, 0xfffffff0
jbe 0x18013f4cd
nop
mov rcx, qword [rdi + rsi]
xor qword [rbx + 0x510], rcx
lea eax, [rdi + 8]
mov rax, qword [rax + rsi]
xor qword [rbx + 0x518], rax
lea r8, [rsp + 0x20]
lea rdx, [rbx + 0x510]
mov rcx, rbx
call fcn.180140ee0
sub qword [rbx + 0x560], 0xffffffffffffff80
add edi, 0x10
cmp edi, r14d
jb 0x18013f490
mov eax, edi
add rsi, rax
cmp edi, r15d
jae 0x18013f52d
sub r15d, edi
mov edi, r15d
nop dword [rax]
movsxd rcx, dword [rbx + 0x558]
movzx eax, byte [rsi]
xor byte [rcx + rbx + 0x510], al
lea rsi, [rsi + 1]
inc dword [rbx + 0x558]
cmp dword [rbx + 0x558], 0x10
jne 0x18013f527
lea rdx, [rbx + 0x510]
lea r8, [rsp + 0x20]
mov rcx, rbx
call fcn.180140ee0
mov dword [rbx + 0x558], r12d
sub qword [rbx + 0x560], 0xffffffffffffff80
sub rdi, 1
jne 0x18013f4e0
mov bl, 1
jmp 0x18013f54c
lea rdx, str.Internal_error_2
jmp 0x18013f541
lea rdx, str.Internal_error.
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x28]
xor bl, bl
lea rcx, [rsp + 0x20]
call fcn.18002a130
movzx eax, bl
mov rcx, qword [rsp + 0x1a0]
xor rcx, rsp
call fcn.180009610
lea r11, [rsp + 0x1b0]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret