Function at 0x1400524c0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], rbx
push rdi
sub rsp, 0x190
movaps xmmword [rsp + 0x180], xmm6
mov rax, qword [0x140083040]
xor rax, rsp
mov qword [rsp + 0x170], rax
mov rdi, rdx
mov rbx, rcx
call qword [sym.imp.VirtualizerSDK64.dll_Ordinal_1]
call qword [sym.imp.VirtualizerSDK64.dll_Ordinal_27]
xor edx, edx
mov r8d, 0x108
lea rcx, [rsp + 0x60]
call sub.VCRUNTIME140.dll_memset
movups xmm0, xmmword [0x1400780f8]
movups xmmword [rsp + 0x30], xmm0
movsd xmm0, qword [0x140078108]
movsd qword [rsp + 0x40], xmm0
cmp byte [0x14007810f], 0
je 0x14005269c
xor ecx, ecx
cmp dword [reloc.VirtualizerSDK64.dll_Ordinal_1], 2
jl 0x140052661
movdqa xmm4, xmmword [0x140078770]
movdqa xmm3, xmmword [0x140078a80]
movdqa xmm5, xmmword [0x140078790]
movdqa xmm0, xmmword [0x1400787b0]
movdqa xmmword [rsp + 0x50], xmm0
lea rdx, [rsp + 0x34]
movdqa xmm6, xmmword [0x1400787a0]
mov r8d, dword [rsp + 0x50]
nop dword [rax]
movd xmm2, ecx
pshufd xmm2, xmm2, 0
paddd xmm2, xmm4
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm3
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
andps xmm2, xmm6
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, r8d
paddb xmm2, xmm0
movd xmm0, dword [rdx - 4]
xorps xmm2, xmm0
movd dword [rdx - 4], xmm2
lea eax, [rcx + 4]
movd xmm2, eax
pshufd xmm2, xmm2, 0
paddd xmm2, xmm4
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm3
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 4
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm5
psubd xmm2, xmm0
andps xmm2, xmm6
packuswb xmm2, xmm2
packuswb xmm2, xmm2
movd xmm0, r8d
paddb xmm2, xmm0
movd xmm0, dword [rdx]
xorps xmm2, xmm0
movd dword [rdx], xmm2
add ecx, 8
lea rdx, [rdx + 8]
cmp ecx, 0x18
jl 0x140052580
jmp 0x14005269c
lea r8, [rsp + 0x30]
nop word [rax + rax]
mov eax, 0x4bda12f7
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul edx, eax, 0x36
movzx eax, cl
sub al, dl
add al, 0x32
xor byte [r8], al
inc ecx
lea r8, [r8 + 1]
cmp ecx, 0x18
jl 0x140052670
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x60]
call fcn.1400646e0
nop
mov r8, qword [rbx + 0x10]
cmp qword [rbx + 0x18], 0xf
jbe 0x1400526ba
mov rbx, qword [rbx]
mov rdx, rbx
lea rcx, [rsp + 0x60]
call fcn.140066190
mov r8, qword [rdi + 0x10]
cmp qword [rdi + 0x18], 0xf
jbe 0x1400526d5
mov rdi, qword [rdi]
mov rdx, rdi
mov rcx, rax
call fcn.140066190
lea rdx, [0x140065630]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
call qword [sym.imp.VirtualizerSDK64.dll_Ordinal_28]
call qword [sym.imp.VirtualizerSDK64.dll_Ordinal_2]
nop
mov rax, qword [rsp + 0x60]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
mov qword [rsp + rcx + 0x60], rax
mov rax, qword [rsp + 0x60]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xa8]
mov dword [rsp + rcx + 0x5c], edx
lea rcx, [rsp + 0x68]
call fcn.140064670
lea rcx, [rsp + 0x70]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::destructor_void____ptr64]
lea rcx, [rsp + 0x108]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::destructor_void____ptr64]
mov rcx, qword [rsp + 0x170]
xor rcx, rsp
call fcn.1400677c0
mov rbx, qword [rsp + 0x1b0]
movaps xmm6, xmmword [rsp + 0x180]
add rsp, 0x190
pop rdi
ret