Function at 0x140001450
Capabilities:
Create thread
Inject thread

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x50
mov dword [rbp + 0x10], ecx
mov qword [rbp + 0x18], rdx
call dbg.__main
cmp dword [rbp + 0x10], 1
jg 0x140001497
mov rax, qword [rbp + 0x18]
mov rdx, qword [rax]
mov rax, qword [0x140003008]
mov r8, rdx
mov rdx, rax
lea rax, str._s_usage:__s
mov rcx, rax
call dbg.printf
mov eax, 1
jmp 0x140001860
mov rax, qword [rbp + 0x18]
add rax, 8
mov rax, qword [rax]
mov rcx, rax
call sym.atoi
mov dword [0x140007030], eax
mov edx, dword [0x140007030]
mov rax, qword [0x140003010]
mov r8d, edx
mov rdx, rax
lea rax, str._s_trying_to_get_a_handle_to_the_process___ld__n
mov rcx, rax
call dbg.printf
mov eax, dword [0x140007030]
mov r8d, eax
mov edx, 0
mov ecx, 0x1fffff
mov rax, qword [sym.imp.KERNEL32.dll_OpenProcess]
call rax
mov qword [0x140007048], rax
mov rax, qword [0x140007048]
test rax, rax
jne 0x140001532
mov rax, qword [sym.imp.KERNEL32.dll_GetLastError]
call rax
mov edx, eax
mov rax, qword [0x140003008]
mov r8d, edx
mov rdx, rax
lea rax, str._s_Failed_to_get_a_handle_to_the_process__error___ld_
mov rcx, rax
call dbg.printf
mov eax, 1
jmp 0x140001860
mov rcx, qword [0x140007048]
mov edx, dword [0x140007030]
mov rax, qword [section..data]
mov r9, rcx
mov r8d, edx
mov rdx, rax
lea rax, str._s_got_a_handle_to_the_process____ld__n___0x_p_n
mov rcx, rax
call dbg.printf
mov rdx, qword [0x140003228]
mov rax, qword [0x140007048]
mov dword [rsp + 0x20], 4
mov r9d, 0x3000
mov r8, rdx
mov edx, 0
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_VirtualAllocEx]
call rax
mov qword [0x140007038], rax
mov rax, qword [section..data]
mov rdx, rax
lea rax, str._s_allocated_buffer_to_process_memory_w__PAGE_READWRITE_permissons_n
mov rcx, rax
call dbg.printf
mov rax, qword [0x140007038]
test rax, rax
jne 0x1400015eb
mov rax, qword [sym.imp.KERNEL32.dll_GetLastError]
call rax
mov edx, eax
mov rax, qword [0x140003008]
mov r8d, edx
mov rdx, rax
lea rax, str._s_Couldnt_create_rBuffer__error___ld_
mov rcx, rax
call dbg.printf
mov eax, 1
jmp 0x140001860
mov rcx, qword [0x140003228]
mov rdx, qword [0x140007038]
mov rax, qword [0x140007048]
mov qword [rsp + 0x20], 0
mov r9, rcx
lea r8, str.put_the_path_of_the_dll_file_in_here__Rememeber_to_use___
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
call rax
mov rax, qword [section..data]
lea r8, str.put_the_path_of_the_dll_file_in_here__Rememeber_to_use___
mov rdx, rax
lea rax, str._s_wrote___S__to_process_memory__n
mov rcx, rax
call dbg.printf
lea rax, str.Kernal32
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
call rax
mov qword [0x140007040], rax
mov rax, qword [0x140007040]
test rax, rax
jne 0x1400016a9
mov rax, qword [sym.imp.KERNEL32.dll_GetLastError]
call rax
mov edx, eax
mov rax, qword [0x140003008]
mov r8d, edx
mov rdx, rax
lea rax, str._s_Failed_to_get_handle_to_kernal32.dll_Error:__ld
mov rcx, rax
call dbg.printf
mov rax, qword [0x140007048]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_CloseHandle]
call rax
mov eax, 0
jmp 0x140001860
mov rdx, qword [0x140007040]
mov rax, qword [section..data]
mov r8, rdx
mov rdx, rax
lea rax, str._s_got_a_handle_to_Kernal32.dll_n___0x_p_n
mov rcx, rax
call dbg.printf
mov rax, qword [0x140007040]
lea rdx, str.LoadLibaryW
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
call rax
mov qword [rbp - 8], rax
mov rax, qword [section..data]
mov rdx, qword [rbp - 8]
mov r8, rdx
mov rdx, rax
lea rax, str._s_got_the_address_of_LoadLibaryW___n___x0_p_n
mov rcx, rax
call dbg.printf
mov rdx, qword [0x140007038]
mov rax, qword [0x140007048]
mov r8, qword [rbp - 8]
lea rcx, [0x140007034]
mov qword [rsp + 0x30], rcx
mov dword [rsp + 0x28], 0
mov qword [rsp + 0x20], rdx
mov r9, r8
mov r8d, 0
mov edx, 0
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_CreateRemoteThread]
call rax
mov qword [0x140007050], rax
mov rax, qword [0x140007050]
test rax, rax
jne 0x1400017a6
mov rax, qword [sym.imp.KERNEL32.dll_GetLastError]
call rax
mov edx, eax
mov rax, qword [0x140003008]
mov r8d, edx
mov rdx, rax
lea rax, str._s_Failed_to_get_handle_to_Thread_Error:__ld
mov rcx, rax
call dbg.printf
mov rax, qword [0x140007048]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_CloseHandle]
call rax
mov eax, 0
jmp 0x140001860
mov rcx, qword [0x140007050]
mov edx, dword [0x140007034]
mov rax, qword [section..data]
mov r9, rcx
mov r8d, edx
mov rdx, rax
lea rax, str._s_got_a_handle_to_the_newly_created_thread___ld__n___0x_p_n
mov rcx, rax
call dbg.printf
mov rax, qword [0x140003010]
mov rdx, rax
lea rax, str._s_waiting_for_the_thread_to_finish_execute_n
mov rcx, rax
call dbg.printf
mov rax, qword [0x140007050]
mov edx, 0xffffffff
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
call rax
mov rax, qword [section..data]
mov rdx, rax
lea rax, str._s_thread_finisheded_executing__cleaning_up..._n
mov rcx, rax
call dbg.printf
mov rax, qword [0x140007050]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_CloseHandle]
call rax
mov rax, qword [0x140007048]
mov rcx, rax
mov rax, qword [sym.imp.KERNEL32.dll_CloseHandle]
call rax
mov rax, qword [section..data]
mov rdx, rax
lea rax, str._s_Finished__See_you_Next_time_
mov rcx, rax
call dbg.printf
mov eax, 0
add rsp, 0x50
pop rbp
ret