Function at 0x1400352e0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r14
push r15
lea rbp, [rsp - 0x780]
sub rsp, 0x880
mov rax, qword [0x14004e040]
xor rax, rsp
mov qword [rbp + 0x770], rax
mov ebx, edx
mov r14, rcx
mov qword [rsp + 0x58], rcx
xor esi, esi
mov dword [rsp + 0x30], esi
xor edx, edx
mov r8d, 0x400
lea rcx, [rsp + 0x70]
call sub.VCRUNTIME140.dll_memset
lea rdi, [rsp + 0x70]
xor eax, eax
mov ecx, 0x400
rep stosb byte [rdi], al
mov eax, ebx
cdq
and edx, 0x3fff
add eax, edx
mov edi, eax
and eax, 0x3fff
sub eax, edx
sar edi, 0xe
mov ebx, eax
mov rdx, qword [0x14004ee10]
add rdx, 0x5b8d390
mov qword [rsp + 0x60], rsi
mov qword [rsp + 0x20], rsi
mov r15d, 8
mov r9d, r15d
lea r8, [rsp + 0x60]
mov rcx, qword [0x14004ed30]
call qword [0x14004edf8]
lea eax, [rdi*8]
movsxd rcx, eax
mov rdx, qword [rsp + 0x60]
add rdx, 0x70
add rdx, rcx
mov qword [rsp + 0x68], rsi
mov qword [rsp + 0x20], rsi
mov r9d, r15d
lea r8, [rsp + 0x68]
mov rcx, qword [0x14004ed30]
call qword [0x14004edf8]
lea eax, [rbx*8]
movsxd rdx, eax
add rdx, qword [rsp + 0x68]
mov qword [rsp + 0x60], rsi
mov qword [rsp + 0x20], rsi
mov r9d, r15d
lea r8, [rsp + 0x60]
mov rcx, qword [0x14004ed30]
call qword [0x14004edf8]
mov rdx, qword [rsp + 0x60]
add rdx, 0xc
mov qword [rsp + 0x20], rsi
mov ebx, 0x3ff
mov r9d, ebx
lea r8, [rsp + 0x70]
mov rcx, qword [0x14004ed30]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov r8d, ebx
xor edx, edx
lea rcx, [rbp + 0x371]
call sub.VCRUNTIME140.dll_memset
mov ecx, dword [0x14004ee04]
test ecx, ecx
jne 0x14003546a
mov rdx, qword [0x14004ee10]
test rdx, rdx
je 0x14003546a
add rdx, 0x5a1da78
mov dword [rsp + 0x60], esi
mov qword [rsp + 0x20], rsi
lea r9d, [rsi + 4]
lea r8, [rsp + 0x60]
mov rcx, qword [0x14004ed30]
call qword [0x14004edf8]
mov ecx, dword [rsp + 0x60]
mov dword [0x14004ee04], ecx
mov eax, 0x3e0f83e1
mul ecx
shr edx, 3
imul eax, edx, 0x21
mov r8d, ecx
sub r8d, eax
mov edi, ecx
xor edi, 0x9c677cc5
sub edi, eax
add edi, ecx
movzx edx, dil
movzx eax, dl
movsx ecx, byte [rsp + 0x70]
xor al, cl
mov byte [rbp + 0x370], al
cmp ecx, edx
je 0x1400354d8
lea rcx, [rbp + 0x370]
lea rdx, [rsp + 0x70]
lea rax, [rbp + 0x370]
sub rdx, rax
lea r9, [rbp + 0x370]
nop
inc rcx
mov eax, ecx
sub eax, r9d
add eax, r8d
add edi, eax
movzx eax, dil
xor al, byte [rcx + rdx]
mov byte [rcx], al
jne 0x1400354c0
lea rcx, [rsp + 0x70]
lea rax, [rbp + 0x370]
nop dword [rax]
nop dword [rax + rax]
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
lea rcx, [rcx + 0x80]
movups xmm1, xmmword [rax + 0x70]
movups xmmword [rcx - 0x10], xmm1
lea rax, [rax + 0x80]
sub r15, 1
jne 0x1400354f0
xorps xmm0, xmm0
movups xmmword [r14], xmm0
mov qword [r14 + 0x10], rsi
mov qword [r14 + 0x18], rsi
lea rax, [rsp + 0x70]
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [rax + r8], sil
jne 0x140035560
lea rdx, [rsp + 0x70]
mov rcx, r14
call fcn.14003b310
mov dword [rsp + 0x30], 1
xorps xmm0, xmm0
movups xmmword [rsp + 0x38], xmm0
cmp qword [r14 + 0x10], rbx
cmovb rbx, qword [r14 + 0x10]
mov r15, r14
cmp qword [r14 + 0x18], 0xf
jbe 0x14003559c
mov r15, qword [r14]
movabs rdi, 0x7fffffffffffffff
cmp rbx, rdi
ja 0x1400356e5
cmp rbx, 0xf
ja 0x1400355dd
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x50], 0xf
mov r8, rbx
mov rdx, r15
lea rcx, [rsp + 0x38]
call sub.VCRUNTIME140.dll_memcpy
mov byte [rsp + rbx + 0x38], 0
jmp 0x14003566f
mov rax, rbx
or rax, 0xf
cmp rax, rdi
jbe 0x140035616
movabs rax, 0x8000000000000000
add rax, 0x27
mov rcx, rax
call fcn.14003c3e8
test rax, rax
je 0x1400356b0
lea rsi, [rax + 0x27]
and rsi, 0xffffffffffffffe0
mov qword [rsi - 8], rax
jmp 0x14003564e
mov rdi, rax
mov ecx, 0x16
cmp rax, rcx
cmovb rdi, rcx
lea rcx, [rdi + 1]
cmp rcx, 0x1000
jb 0x140035641
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x1400356eb
jmp 0x1400355f7
test rcx, rcx
je 0x14003564e
call fcn.14003c3e8
mov rsi, rax
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x50], rdi
mov r8, rbx
mov rdx, r15
mov rcx, rsi
call sub.VCRUNTIME140.dll_memcpy
mov byte [rsi + rbx], 0
lea rdx, [rsp + 0x38]
mov rcx, r14
call fcn.14003ae90
mov rdx, qword [rsp + 0x50]
cmp rdx, 0xf
jbe 0x1400356bc
inc rdx
mov rcx, qword [rsp + 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400356b7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400356b7
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14003c1f4
mov rax, r14
mov rcx, qword [rbp + 0x770]
xor rcx, rsp
call fcn.14003bde0
mov rbx, qword [rsp + 0x8c0]
add rsp, 0x880
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret
call fcn.140033e50
int3
call fcn.140033db0
int3