Function at 0x140001070
Capabilities:
Create thread
Inject dll
Inject thread

Disassembly:
sub rsp, 0x48
cmp ecx, 2
jge 0x140001092
mov rdx, qword [rdx]
lea rcx, str._n____Usage:__s__PID_
call fcn.140001010
mov eax, 1
add rsp, 0x48
ret
mov rcx, qword [rdx + 8]
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atoi]
xor edx, edx
mov ecx, 0x1fffff
mov r8d, eax
mov dword [0x140004880], eax
call qword [sym.imp.KERNEL32.dll_OpenProcess]
mov qword [0x140004878], rax
test rax, rax
jne 0x1400010dc
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str._n____Error_while_trying_to_open_the_handle._ERROR_CODE:__ld
call fcn.140001010
mov eax, 1
add rsp, 0x48
ret
mov edx, dword [0x140004880]
lea rcx, str._n___Got_the_HANDLE_of__ld_n___0x_p_n
mov r8, rax
call fcn.140001010
mov rcx, qword [0x140004878]
xor edx, edx
mov r9d, 0x3000
mov dword [rsp + 0x20], 4
mov r8d, 0x208
call qword [sym.imp.KERNEL32.dll_VirtualAllocEx]
mov qword [0x140004848], rax
test rax, rax
jne 0x14000113e
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str._n____Error_while_trying_to_allocate_memory_for_the_DLL._ERROR_CODE:__ld
call fcn.140001010
mov eax, 1
add rsp, 0x48
ret
lea rcx, str._n___Allocated_PAGE_READWRITE_memory_for_the_DLL.
call fcn.140001010
mov rdx, qword [0x140004848]
lea r8, str.C:UsersPnTedroDesktopMalDevAcademy_notMaldevAcademyDLL_InjectionRandom_DLL.dll
mov rcx, qword [0x140004878]
mov r9d, 0x208
mov qword [rsp + 0x20], 0
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
test eax, eax
jne 0x140001196
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, str._n____Error_while_trying_to_write_the_DLL_to_allocated_memory._ERROR_CODE:__ld
call fcn.140001010
mov eax, 1
add rsp, 0x48
ret
lea rdx, str.C:UsersPnTedroDesktopMalDevAcademy_notMaldevAcademyDLL_InjectionRandom_DLL.dll
lea rcx, str._n___Wrote___S__to_process_memory.
call fcn.140001010
lea rcx, str.Kernel32
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov qword [0x140004850], rax
test rax, rax
jne 0x1400011ed
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, str._n____Error_while_trying_to_open_a_HANDLE_to_Kernel32_DLL._ERROR_CODE:__ld
mov edx, eax
call fcn.140001010
mov rcx, qword [0x140004878]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, 1
add rsp, 0x48
ret
mov rdx, rax
mov qword [rsp + 0x40], rbx
lea rcx, str._n___Got_a_HANDLE_to_Kernel32_DLL_n___0x_p_n
call fcn.140001010
mov rcx, qword [0x140004850]
lea rdx, str.LoadLibraryW
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rdx, rax
lea rcx, str._n___Got_the_address_of_LoadLibraryW___n___0x_p_n
mov rbx, rax
call fcn.140001010
mov rcx, qword [0x140004848]
lea rax, [0x140004840]
mov qword [rsp + 0x30], rax
mov r9, rbx
mov dword [rsp + 0x28], 0
xor r8d, r8d
mov qword [rsp + 0x20], rcx
xor edx, edx
mov rcx, qword [0x140004878]
call qword [sym.imp.KERNEL32.dll_CreateRemoteThread]
mov rbx, qword [rsp + 0x40]
mov qword [0x140004858], rax
test rax, rax
jne 0x14000127f
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, str._n____Error_while_creating_the_remote_thread._ERROR_CODE:__ld
jmp 0x1400011cf
mov edx, dword [0x140004840]
lea rcx, str._n___Created_the_remote_thread___ld_._n__0x_p_n
mov r8, rax
call fcn.140001010
lea rcx, str._n___Waiting_for_the_thread_to_finish_execution.
call fcn.140001010
mov rcx, qword [0x140004858]
mov edx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
lea rcx, str._n___The_thread_finished_executing..._Cleaning_up.
call fcn.140001010
mov rcx, qword [0x140004878]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [0x140004858]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
add rsp, 0x48
ret