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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4d84b0
mov eax, dword fs:[0]
push eax
sub esp, 0x74
mov eax, dword [0x510918]
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 esi, edx
mov ebx, ecx
push ebx
push 0
push 0x43a
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov edi, eax
mov dword [ebp - 0x80], edi
mov dword [ebp - 4], 0
test edi, edi
jne 0x406688
mov eax, dword [0x513098]
and eax, 3
cmp al, 3
jne 0x4068e9
xor eax, eax
mov dword [ebp - 0x58], 7
mov dword [ebp - 0x5c], edi
mov word [ebp - 0x6c], ax
mov byte [ebp - 0x54], al
push 0x19
push str.OpenProcess_failed._PID:
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 1
call fcn.00404c90
cmp byte [ebp - 0x54], 0
mov ecx, 0x10
mov eax, 0xa
cmovne eax, ecx
push eax
push 0x20
lea eax, [ebp - 0x50]
push eax
push ebx
call fcn.004a35ac
add esp, 0x10
cmp word [ebp - 0x50], di
jne 0x406652
xor ecx, ecx
jmp 0x40666f
lea ecx, [ebp - 0x50]
lea edx, [ecx + 2]
jmp 0x406660
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x406660
sub ecx, edx
sar ecx, 1
push ecx
lea eax, [ebp - 0x50]
push eax
lea ecx, [ebp - 0x6c]
call fcn.00404c90
lea eax, [ebp - 0x6c]
push eax
push eax
push 0x58
jmp 0x4068c9
mov ecx, ebx
call fcn.0042cc06
test al, al
jne 0x40688c
push 0x4eabd0
push str.Kernel32.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x74], eax
test eax, eax
je 0x40688c
mov ecx, dword [esi + 0x10]
push 4
push 0x1000
lea eax, [ecx*2 + 2]
push eax
push 0
push edi
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x7c], edi
call dword [sym.imp.KERNEL32.dll_VirtualAllocEx]
mov ebx, eax
mov dword [ebp - 0x78], ebx
mov byte [ebp - 4], 5
test ebx, ebx
jne 0x40677b
mov ecx, dword [0x513098]
and ecx, 3
cmp cl, 3
jne 0x4067f5
mov dword [ebp - 0x58], 7
mov dword [ebp - 0x5c], eax
mov word [ebp - 0x6c], ax
mov byte [ebp - 0x54], al
push 0x1d
push str.VirtualAllocEx_failed._size:
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 6
call fcn.00404c90
cmp byte [ebp - 0x54], bl
mov ecx, 0x10
mov eax, 0xa
cmovne eax, ecx
push eax
push 0x20
lea eax, [ebp - 0x50]
push eax
push dword [ebp - 0x70]
call fcn.004a35ac
add esp, 0x10
cmp word [ebp - 0x50], bx
jne 0x40674d
xor ecx, ecx
jmp 0x406762
lea ecx, [ebp - 0x50]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x406753
sub ecx, edx
sar ecx, 1
push ecx
lea eax, [ebp - 0x50]
push eax
lea ecx, [ebp - 0x6c]
call fcn.00404c90
lea eax, [ebp - 0x6c]
push eax
push eax
push 0x85
jmp 0x4067d5
cmp dword [esi + 0x14], 8
jb 0x406783
mov esi, dword [esi]
push 0
push dword [ebp - 0x70]
push esi
push ebx
push edi
call dword [sym.imp.KERNEL32.dll_WriteProcessMemory]
test eax, eax
jne 0x4067ff
mov eax, dword [0x513098]
and eax, 3
cmp al, 3
jne 0x4067f5
xor eax, eax
mov dword [ebp - 0x58], 7
mov dword [ebp - 0x5c], 0
mov word [ebp - 0x6c], ax
mov byte [ebp - 0x54], al
push 0x19
push str.WriteProcessMemory_failed
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 7
call fcn.00404c90
lea eax, [ebp - 0x6c]
push eax
push eax
push 0x8c
push str.Elements::CInjectDll::InjectLib
push 3
call fcn.00428590
add esp, 0x14
cmp dword [ebp - 0x58], 8
jb 0x4067f5
push dword [ebp - 0x6c]
call fcn.004a295f
add esp, 4
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
xor bl, bl
jmp 0x406874
push 0
push 0
push ebx
push dword [ebp - 0x74]
push 0
push 0
push edi
call dword [sym.imp.KERNEL32.dll_CreateRemoteThread]
mov esi, eax
mov dword [ebp - 0x74], esi
mov byte [ebp - 4], 8
test esi, esi
jne 0x406860
mov eax, dword [0x513098]
and eax, 3
cmp al, 3
jne 0x4067f5
xor eax, eax
mov dword [ebp - 0x58], 7
mov dword [ebp - 0x5c], esi
mov word [ebp - 0x6c], ax
mov byte [ebp - 0x54], al
push 0x19
push str.CreateRemoteThread_failed
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 9
call fcn.00404c90
lea eax, [ebp - 0x6c]
push eax
push eax
push 0x94
jmp 0x4067d5
push 0xffffffffffffffff
push esi
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push esi
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
mov bl, 1
call esi
mov eax, dword [ebp - 0x78]
test eax, eax
je 0x4068f1
push 0x8000
push 0
push eax
push edi
call dword [sym.imp.KERNEL32.dll_VirtualFreeEx]
jmp 0x4068f1
mov eax, dword [0x513098]
and eax, 3
cmp al, 3
jne 0x4068e9
xor eax, eax
mov dword [ebp - 0x58], 7
mov dword [ebp - 0x5c], 0
mov word [ebp - 0x6c], ax
mov byte [ebp - 0x54], al
push 0x2a
push str.Cant_GetProcAddress_function_LoadLibraryW
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 4
call fcn.00404c90
lea eax, [ebp - 0x6c]
push eax
push eax
push 0x60
push str.Elements::CInjectDll::InjectLib
push 3
call fcn.00428590
add esp, 0x14
cmp dword [ebp - 0x58], 8
jb 0x4068e9
push dword [ebp - 0x6c]
call fcn.004a295f
add esp, 4
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
xor bl, bl
test edi, edi
je 0x4068f8
push edi
call esi
mov al, bl
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.004a2964
mov esp, ebp
pop ebp
ret