Function at 0x403e2d
Capabilities:
Print debug messages
Resume thread
Suspend thread

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x2f4
or dword [esp + 8], 0xffffffff
push ebx
push esi
push edi
xor edi, edi
push 0x2c8
lea eax, [esp + 0x38]
push edi
push eax
mov dword [esp + 0x3c], edi
call sub.ntdll.dll_memset
mov esi, dword [ebp + 8]
mov eax, dword [esi]
add esp, 0xc
push 0x100000
mov dword [esp + 0x20], edi
mov dword [esp + 0x24], edi
mov edi, dword [sym.imp.KERNEL32.dll_LocalAlloc]
push 0x40
mov dword [esp + 0x2c], 0xccccfeeb
mov dword [esp + 0x20], eax
call edi
push dword [esi + 8]
mov ebx, dword [sym.imp.USER32.dll_wsprintfA]
push str.ActiveDll:_CheckPoint_ProcessInjectDll_start__pid_d
push eax
mov dword [esp + 0x18], eax
call ebx
mov esi, dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
add esp, 0xc
push dword [esp + 0xc]
call esi
push dword [esp + 0xc]
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov eax, dword [ebp + 8]
push dword [eax + 8]
xor eax, eax
call fcn.004057f9
test eax, eax
push 0x10
pop ecx
je 0x403ec8
mov dword [esp + 0x1c], ecx
test byte [esp + 0x1c], cl
jne 0x403f18
test byte [0x40c88c], 1
je 0x403f18
mov esi, dword [ebp + 8]
push 0
call fcn.00403c4c
push 0x100000
push 0x40
mov dword [esp + 0x1c], eax
call edi
push dword [esp + 0x14]
mov esi, eax
push str.ActiveDll:_CheckPoint_Wow64ProcessInjectDll64_Status:__u_n
push esi
call ebx
add esp, 0xc
push esi
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push esi
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov esi, dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
jmp 0x4040d4
push 0x100000
push 0x40
mov dword [esp + 0x38], 0x10003
call edi
push 0
push str.ActiveDll:_CheckPoint_ProcessInjectDll_Checkpoint_25_Oep_lx
push eax
mov dword [esp + 0x18], eax
call ebx
add esp, 0xc
push dword [esp + 0xc]
call esi
push dword [esp + 0xc]
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov eax, dword [ebp + 0x10]
test eax, eax
mov dword [esp + 0xc], eax
jne 0x403f8d
push 0x100000
push 0x40
call edi
push 0
push str.ActiveDll:_CheckPoint_ProcessInjectDll_Checkpoint_26_Oep_lx
push eax
mov dword [esp + 0x18], eax
call ebx
add esp, 0xc
push dword [esp + 0xc]
call esi
push dword [esp + 0xc]
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov eax, dword [ebp + 8]
push dword [eax]
call fcn.00403275
mov dword [esp + 0xc], eax
push 0x100000
push 0x40
call edi
push dword [esp + 0xc]
mov dword [esp + 0x14], eax
push str.ActiveDll:_CheckPoint_ProcessInjectDll_Checkpoint_27_Oep_lx
push eax
call ebx
add esp, 0xc
push dword [esp + 0x10]
call esi
push dword [esp + 0x10]
call dword [sym.imp.KERNEL32.dll_LocalFree]
lea eax, [esp + 0x2c]
push eax
push 4
lea eax, [esp + 0x30]
push eax
push dword [esp + 0x18]
push dword [esp + 0x28]
call dword [sym.imp.KERNEL32.dll_ReadProcessMemory]
test eax, eax
je 0x4040ad
cmp dword [esp + 0x2c], 4
jne 0x4040ad
lea eax, [esp + 0x24]
push eax
push dword [esp + 0x10]
push dword [esp + 0x20]
call fcn.00403203
test eax, eax
je 0x40409d
mov dword [esp + 0x14], 0x1770
mov eax, dword [ebp + 8]
push dword [eax + 4]
call dword [sym.imp.KERNEL32.dll_ResumeThread]
push 0x12c
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [ebp + 8]
push dword [eax + 4]
call dword [sym.imp.KERNEL32.dll_SuspendThread]
sub dword [esp + 0x14], 0x12c
lea eax, [esp + 0x30]
push eax
mov eax, dword [ebp + 8]
push dword [eax + 4]
call dword [sym.imp.KERNEL32.dll_GetThreadContext]
test eax, eax
je 0x404080
cmp dword [esp + 0x14], 0
jle 0x40405c
mov eax, dword [esp + 0xc]
cmp dword [esp + 0xe8], eax
jne 0x404008
push dword [esp + 0x1c]
push dword [ebp + 8]
call fcn.004036f4
mov dword [esp + 0x14], eax
lea eax, [esp + 0x28]
push eax
push dword [esp + 0x10]
push dword [esp + 0x20]
call fcn.00403203
jmp 0x4040d4
or dword [esp + 0x14], 0xffffffff
push 0x100000
push 0x40
mov dword [esp + 0x28], 1
call edi
push str.ActiveDll:_CheckPoint_ProcessInjectDll_Checkpoint_28
jmp 0x4040bb
push 0x100000
push 0x40
call edi
push str.ActiveDll:_CheckPoint_ProcessInjectDll_Checkpoint_29
jmp 0x4040bb
push 0x100000
push 0x40
call edi
push str.ActiveDll:_CheckPoint_ProcessInjectDll_Checkpoint_30
push eax
mov dword [esp + 0x18], eax
call ebx
pop ecx
pop ecx
push dword [esp + 0x10]
call esi
push dword [esp + 0x10]
call dword [sym.imp.KERNEL32.dll_LocalFree]
push 0x100000
push 0x40
call edi
push dword [esp + 0x14]
mov dword [esp + 0x14], eax
push str.ActiveDll:_CheckPoint_ProcessInjectDll_Checkpoint_31__Status_x
push eax
call ebx
add esp, 0xc
push dword [esp + 0x10]
call esi
push dword [esp + 0x10]
call dword [sym.imp.KERNEL32.dll_LocalFree]
cmp dword [esp + 0x14], 0xffffffff
jne 0x404111
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esp + 0x14], eax
test byte [ebp + 0xc], 4
jne 0x404123
mov eax, dword [ebp + 8]
push dword [eax + 4]
call dword [sym.imp.KERNEL32.dll_ResumeThread]
push 0x100000
push 0x40
call edi
cmp dword [esp + 0x20], 0
je 0x40413a
push str.ActiveDll:_Failed_to_Inject_a_DLL__target_process_disappeared_n
jmp 0x404159
cmp dword [esp + 0x14], 0
je 0x404154
push dword [esp + 0x14]
mov edi, eax
push str.ActiveDll:_Failed_to_Inject_a_DLL__error:__x_n
push edi
call ebx
add esp, 0xc
jmp 0x404160
push str.ActiveDll:_Finished_to_Inject_a_DLL_n
mov edi, eax
push edi
call ebx
pop ecx
pop ecx
push edi
call esi
push edi
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov eax, dword [esp + 0x14]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc