Function at 0x1400aa8a0
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
mov qword [rax + 0x20], r14
push rbp
lea rbp, [rax - 0x158]
sub rsp, 0x250
movaps xmmword [rax - 0x18], xmm6
mov rax, qword [0x140152040]
xor rax, rsp
mov qword [rbp + 0x130], rax
lea rcx, [0x1402563a8]
call qword [sym.imp.MSVCP140.dll__Mtx_lock]
test eax, eax
je 0x1400aa8f4
mov ecx, 5
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
int3
cmp dword [0x1402563f4], 0x7fffffff
jne 0x1400aa916
mov dword [0x1402563f4], 0x7ffffffe
mov ecx, 6
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
int3
mov rbx, qword [0x1402563f8]
mov rdi, qword [0x140256400]
cmp rbx, rdi
je 0x1400aa952
nop dword [rax]
mov rcx, rbx
call fcn.1400f4e20
add rbx, 0x188
cmp rbx, rdi
jne 0x1400aa930
mov rdi, qword [0x1402563f8]
mov qword [0x140256400], rdi
xor edx, edx
mov r8d, 0x188
lea rcx, [rbp - 0x80]
call sub.VCRUNTIME140.dll_memset
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x80], xmm0
xor r14d, r14d
mov qword [rbp - 0x70], r14
movups xmmword [rbp - 0x50], xmm0
movups xmmword [rbp - 0x40], xmm0
movups xmmword [rbp - 0x30], xmm0
movdqu xmmword [rbp - 0x60], xmm0
mov dword [rbp - 0x20], 0xffffffff
mov dword [rbp - 0x68], 2
mov dword [rbp - 0x1c], r14d
mov dword [rbp - 0x18], 1
mov dword [rbp - 0x14], 2
mov dword [rbp - 0x10], 0x16d
movabs rax, 0x64656d616e6e55
mov qword [rbp - 0xc], rax
xor edx, edx
mov r8d, 0xf8
lea rcx, [rbp - 4]
call sub.VCRUNTIME140.dll_memset
mov byte [rbp + 0xf4], 1
mov qword [rbp + 0xf8], r14
mov word [rbp + 0x100], r14w
mov byte [rbp + 0x102], 1
lea r8, [rbp - 0x80]
mov rdx, rdi
cmp rdi, qword [0x140256408]
je 0x1400aaa08
call fcn.140107a10
add qword [0x140256400], 0x188
jmp 0x1400aaa15
lea rcx, [0x1402563f8]
call fcn.140102850
nop
lea rcx, [rbp - 0x80]
call fcn.1400f4e20
movups xmm0, xmmword [str.xWCPMeF]
movups xmmword [rsp + 0x20], xmm0
movups xmm1, xmmword [0x1401347c0]
movups xmmword [rsp + 0x30], xmm1
movups xmm0, xmmword [0x1401347d0]
movups xmmword [rsp + 0x40], xmm0
movzx eax, byte [0x1401347e0]
mov byte [rsp + 0x50], al
mov ecx, r14d
cmp dword [0x140152090], 2
jl 0x1400aab84
movdqa xmm4, xmmword [0x140138f00]
movdqa xmm3, xmmword [0x140138ff0]
movdqa xmm5, xmmword [str.7777]
movdqa xmm0, xmmword [0x140139010]
movdqa xmmword [rsp + 0x60], xmm0
lea rdx, [rsp + 0x24]
movdqa xmm6, xmmword [0x140138fb0]
mov r8d, dword [rsp + 0x60]
nop word [rax + 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, 1
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, 1
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, 0x30
jl 0x1400aaaa0
cmp ecx, 0x31
jge 0x1400aabbb
movsxd rax, ecx
lea r8, [rsp + 0x20]
add r8, rax
nop
mov eax, 0x94f2095
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul edx, eax, 0x37
movzx eax, cl
sub al, dl
add al, 0x35
xor byte [r8], al
inc ecx
lea r8, [r8 + 1]
cmp ecx, 0x31
jl 0x1400aab90
xorps xmm0, xmm0
movups xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x70], r14
mov qword [rsp + 0x78], r14
lea rax, [rsp + 0x20]
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [rax + r8], 0
jne 0x1400aabe0
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x60]
call fcn.140079f10
nop
lea rdx, [rsp + 0x60]
mov rdi, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x78]
cmp rsi, 0xf
cmova rdx, rdi
mov r8, qword [rsp + 0x70]
inc r8
mov rcx, qword [0x1402563f8]
add rcx, 0x74
call sub.VCRUNTIME140.dll_memcpy
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x80], xmm0
mov qword [rbp - 0x70], r14
xorps xmm1, xmm1
movups xmmword [rbp - 0x50], xmm1
movups xmmword [rbp - 0x40], xmm1
movups xmmword [rbp - 0x30], xmm1
movdqu xmmword [rbp - 0x60], xmm0
mov dword [rbp - 0x20], 0xffffffff
mov dword [rbp - 0x68], 2
mov dword [rbp - 0x1c], r14d
mov byte [rbp - 0x18], 0
movdqu xmmword [rbp - 0x10], xmm0
mov qword [rbp], r14
mov word [rbp + 8], 0
mov qword [rbp + 0xc], 2
mov dword [rbp + 0x14], 1
mov byte [rbp + 0x18], 0
mov rbx, qword [0x1402563f8]
mov rdx, qword [rbx + 8]
lea r8, [rbp - 0x80]
cmp rdx, qword [rbx + 0x10]
je 0x1400aaca5
call fcn.140103e30
add qword [rbx + 8], 0xa0
jmp 0x1400aacae
mov rcx, rbx
call fcn.140103f40
nop
lea rcx, [rbp - 0x10]
call fcn.1400f1850
mov rcx, qword [rbp - 0x80]
test rcx, rcx
je 0x1400aacf8
mov rdx, qword [rbp - 0x70]
sub rdx, rcx
and rdx, 0xfffffffffffffff0
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400aacf3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400aacf3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1401101a0
mov rax, qword [0x1402563f8]
mov rbx, qword [rax]
mov byte [rsp + 0x20], 0
xorps xmm0, xmm0
movups xmmword [rsp + 0x28], xmm0
movdqa xmm6, xmmword [0x140138dd0]
movdqu xmmword [rsp + 0x38], xmm6
mov byte [rsp + 0x28], 0
mov dword [rsp + 0x24], 0x48
lea rdx, [rbp + 0x110]
lea rcx, [rsp + 0x20]
call fcn.1400844b0
mov rdx, rax
lea rcx, [rsp + 0x28]
call fcn.1400f4460
lea rcx, [rbp + 0x110]
call fcn.1400955d0
nop
mov rdx, qword [rbx + 0x78]
cmp rdx, qword [rbx + 0x80]
je 0x1400aada3
movzx eax, byte [rsp + 0x20]
mov byte [rdx], al
mov eax, dword [rsp + 0x24]
mov dword [rdx + 4], eax
xorps xmm0, xmm0
movups xmmword [rdx + 8], xmm0
mov qword [rdx + 0x18], r14
mov qword [rdx + 0x20], r14
movups xmm0, xmmword [rsp + 0x28]
movups xmmword [rdx + 8], xmm0
movups xmm1, xmmword [rsp + 0x38]
movups xmmword [rdx + 0x18], xmm1
movdqu xmmword [rsp + 0x38], xmm6
mov byte [rsp + 0x28], 0
add qword [rbx + 0x78], 0x28
jmp 0x1400aadb2
lea r8, [rsp + 0x20]
lea rcx, [rbx + 0x70]
call fcn.1401043c0
nop
lea rcx, [rsp + 0x28]
call fcn.1400955d0
lea rcx, [0x1402563a8]
call qword [sym.imp.MSVCP140.dll__Mtx_unlock]
nop
cmp rsi, 0xf
jbe 0x1400aae04
lea rdx, [rsi + 1]
mov rax, rdi
cmp rdx, 0x1000
jb 0x1400aadfc
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400aadfc
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, rdi
call fcn.1401101a0
mov rcx, qword [rbp + 0x130]
xor rcx, rsp
call fcn.14010fe20
lea r11, [rsp + 0x250]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
mov r14, qword [r11 + 0x28]
movaps xmm6, xmmword [r11 - 0x10]
mov rsp, r11
pop rbp
ret