Function at 0x401d70
Capabilities:
Create thread
Inject thread
Terminate process

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x406746
mov eax, dword fs:[0]
push eax
sub esp, 0xe8
mov eax, dword [0x40b040]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, edx
mov esi, ecx
mov eax, dword [ebp + 8]
push 4
push 0x3000
push 0x208
push 0
push esi
mov dword [ebp - 0xc4], eax
call dword [sym.imp.KERNEL32.dll_VirtualAllocEx]
mov edi, eax
test edi, edi
je 0x401df2
mov ecx, ebx
lea edx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x401dd0
sub ecx, edx
sar ecx, 1
push 0
lea ecx, [ecx*2 + 2]
push ecx
push ebx
push edi
push esi
call dword [sym.imp.KERNEL32.dll_WriteProcessMemory]
push 0
push 0
push edi
push dword [sym.imp.KERNEL32.dll_LoadLibraryW]
push 0
push 0
push esi
call dword [sym.imp.KERNEL32.dll_CreateRemoteThread]
mov ebx, eax
test ebx, ebx
je 0x401f0a
push 0xffffffffffffffff
push ebx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push ecx
lea ecx, [ebp - 0xc0]
call fcn.00401f80
push dword [ebp - 0xc4]
lea ecx, [ebp - 0xf4]
call fcn.00404360
mov edx, eax
mov dword [ebp - 4], 0
lea ecx, [ebp - 0xdc]
call fcn.00404490
sub esp, 8
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xc0]
push eax
call fcn.00403210
lea ecx, [ebp - 0xdc]
call fcn.00403a80
lea ecx, [ebp - 0xf4]
mov byte [ebp - 4], 4
call fcn.00403a80
push 0x404540
mov edx, str.The_DLL_has_been_injected_successfully_
lea ecx, [ebp - 0xc0]
call fcn.00404130
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______thiscall_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::operator___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t_______cdecl___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t_____]
lea ecx, [ebp - 0xc0]
call fcn.00403160
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t___std::wcout]
mov edx, str.Injected_successfully_completed.
push 0x404540
call fcn.00404130
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______thiscall_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::operator___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t_______cdecl___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t_____]
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t___std::wcout]
mov edx, 0x407464
call fcn.00404130
mov ecx, 4
call fcn.004017f0
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t___std::wcout]
mov edx, str.Press_any_key_to_exit...
push 0x404540
call fcn.00404130
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______thiscall_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::operator___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t_______cdecl___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t_____]
call dword [sym.imp.api_ms_win_crt_conio_l1_1_0.dll__getch]
push 0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
push 0x8000
push 0
push edi
push esi
call dword [sym.imp.KERNEL32.dll_VirtualFreeEx]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004055c4
mov esp, ebp
pop ebp
ret