Function at 0x1401e28d0
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, 0x1a0
mov rax, qword [0x1403291e8]
xor rax, rsp
mov qword [rsp + 0x190], rax
mov rbp, r9
mov rbx, r8
mov rdi, qword [rsp + 0x1f0]
xor edx, edx
mov r8d, 0x170
lea rcx, [rsp + 0x20]
call sub.VCRUNTIME140.dll_memset
lea rcx, [rsp + 0x20]
call fcn.1400a26e0
nop
mov ecx, dword [rbx + 0x558]
cmp ecx, 0x10
ja 0x1401e2c2a
mov edx, dword [rbx + 0x554]
xor r12d, r12d
test edx, edx
jne 0x1401e2b45
cmp dword [rbx + 0x550], r12d
jne 0x1401e2986
cmp ecx, 0xc
jne 0x1401e2986
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
lea r14, [rbx + 0x510]
jmp 0x1401e2b19
mov edx, r12d
test ecx, ecx
je 0x1401e29da
nop dword [rax]
mov ecx, edx
movzx eax, byte [rcx + rbx + 0x540]
xor byte [rcx + rbx + 0x510], al
inc edx
mov ecx, dword [rbx + 0x558]
cmp edx, ecx
jb 0x1401e2990
test ecx, ecx
je 0x1401e29da
movsxd rcx, ecx
mov rax, qword [rbx + 0x560]
lea rcx, [rax + rcx*8]
mov qword [rbx + 0x560], rcx
lea rdx, [rbx + 0x510]
lea r8, [rsp + 0x20]
mov rcx, rbx
call fcn.1401e4670
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
lea r14, [rbx + 0x510]
movzx eax, byte [rbx + 0x540]
xor byte [r14], 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]
mov rdx, r14
mov rcx, rbx
call fcn.1401e4670
movups xmm0, xmmword [r14]
movups xmmword [rbx + 0x520], xmm0
xorps xmm1, xmm1
movups xmmword [r14], 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 0x1401e2b5e
lea r14, [rbx + 0x510]
cmp edx, 1
jne 0x1401e2c21
cmp ecx, 0x10
jge 0x1401e2c21
lea rcx, [rbp + 0x80]
call fcn.1400910b0
mov rsi, rax
lea rcx, [rbp + 0x80]
call fcn.1400913e0
mov r15d, eax
mov edi, r12d
cmp dword [rbx + 0x558], r12d
jne 0x1401e2bc9
mov ebp, eax
and ebp, 0xfffffff0
jbe 0x1401e2bc4
nop
mov rcx, qword [rdi + rsi]
xor qword [r14], rcx
lea eax, [rdi + 8]
mov rax, qword [rax + rsi]
xor qword [rbx + 0x518], rax
lea r8, [rsp + 0x20]
mov rdx, r14
mov rcx, rbx
call fcn.1401e4670
sub qword [rbx + 0x560], 0xffffffffffffff80
add edi, 0x10
cmp edi, ebp
jb 0x1401e2b90
mov eax, edi
add rsi, rax
cmp edi, r15d
jae 0x1401e2c1d
sub r15d, edi
mov edi, r15d
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 0x1401e2c17
lea r8, [rsp + 0x20]
mov rdx, r14
mov rcx, rbx
call fcn.1401e4670
mov dword [rbx + 0x558], r12d
sub qword [rbx + 0x560], 0xffffffffffffff80
sub rdi, 1
jne 0x1401e2bd4
mov bl, 1
jmp 0x1401e2c3c
lea rdx, str.Internal_error_2
jmp 0x1401e2c31
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.1400a2710
movzx eax, bl
mov rcx, qword [rsp + 0x190]
xor rcx, rsp
call fcn.1401feb70
lea r11, [rsp + 0x1a0]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret