Function at 0x404511
Capabilities:
Check for time delay via gettickcount

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x3c
push ebx
push esi
push edi
mov esi, eax
call fcn.0040d480
cdq
mov ecx, 0x35ed177
idiv ecx
mov dword [ebp - 0xc], edx
call fcn.0040d480
cdq
mov ecx, 0x1616
idiv ecx
xor ebx, ebx
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0x10]
add eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0xc]
imul eax, ecx
mov dword [ebp - 0xc], eax
cmp dword [ebp + 0xc], ebx
jne 0x4046dc
cmp dword [ebp + 8], ebx
je 0x404774
mov dword [ebp + 0xc], ebx
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x404580
push str.windows5655XP
push dword [ebp + 0xc]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp eax, ebx
je 0x404580
mov dword [ebp + 0xc], ebx
push 0xffffffffffffffff
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov dword [ebp + 0xc], ebx
mov edi, eax
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x4045ac
push str.windows5656XP
push dword [ebp + 0xc]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp eax, ebx
je 0x4045ac
mov dword [ebp + 0xc], ebx
cmp edi, ebx
jne 0x4045ff
xor eax, eax
mov byte [ebp - 4], bl
lea edi, [ebp - 3]
stosb byte es:[edi], al
mov al, byte [0x41a5e5]
mov byte [ebp - 4], al
call fcn.004037f5
sub eax, dword [esi + 0x10]
mov dword [esi + 0xc], eax
lea eax, [esi + 0x18]
push eax
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
test eax, eax
jne 0x4045e3
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp + 0xc], ebx
call edi
mov dword [ebp + 0xc], eax
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x404654
call edi
mov dword [ebp + 0xc], eax
jmp 0x404654
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str._ec_08x__wait_process_failed
mov ecx, esi
call fcn.0040438b
mov eax, dword [esi]
test byte [eax], 0x20
pop ecx
pop ecx
je 0x404631
lea ecx, [ebp - 0x1c]
call fcn.0040d151
push 0x41b64c
lea eax, [ebp - 0x1c]
push eax
call fcn.00410998
mov dword [ebp + 0xc], ebx
mov dword [ebp - 0x10], 0x161d
mov dword [ebp + 0xc], ebx
jmp 0x40464c
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x10], eax
inc dword [ebp + 0xc]
mov eax, dword [ebp + 0xc]
cmp eax, 2
jl 0x404640
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push dword [esi + 0x18]
mov ecx, esi
push str.process_exit_code:__d
call fcn.0040438b
mov dword [ebp + 0xc], ebx
mov eax, dword [ebp + 0xc]
pop ecx
pop ecx
test eax, eax
je 0x40468d
push str.windows5663XP
push dword [ebp + 0xc]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp eax, ebx
je 0x40468d
mov dword [ebp + 0xc], ebx
mov eax, dword [esi]
test byte [eax], 0x40
je 0x404774
mov esi, dword [esi + 0x18]
cmp esi, ebx
je 0x404774
lea ecx, [ebp - 0x38]
call fcn.0040d151
mov dword [ebp - 0x2c], esi
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x38], vtable.exitcode.0
mov dword [ebp + 0xc], ebx
call esi
mov dword [ebp + 0xc], eax
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x4046cf
call esi
mov dword [ebp + 0xc], eax
push 0x41b65c
lea eax, [ebp - 0x38]
jmp 0x40462b
call fcn.0040d480
cdq
mov ecx, 0x1621
idiv ecx
mov dword [ebp - 0x10], edx
mov dword [ebp + 0xc], 0x3607f32
mov eax, dword [ebp + 0xc]
test eax, eax
mov eax, dword [ebp - 0x10]
jne 0x404700
mov eax, dword [ebp + 0xc]
mov dword [ebp + 0xc], eax
mov dword [ebp + 0xc], ebx
mov eax, dword [ebp + 0xc]
add eax, 0x1622
je 0x404713
inc dword [ebp + 0xc]
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str._ec_08x__create_process_failed
mov ecx, esi
call fcn.0040438b
mov dword [ebp + 0xc], ebx
mov eax, dword [ebp + 0xc]
pop ecx
pop ecx
test eax, eax
je 0x404747
push str.windows5667XP
push dword [ebp + 0xc]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp eax, ebx
je 0x404747
mov dword [ebp + 0xc], ebx
xor eax, eax
mov byte [ebp - 8], bl
lea edi, [ebp - 7]
stosb byte es:[edi], al
mov al, byte [0x41a669]
mov byte [ebp - 8], al
mov eax, dword [esi]
test byte [eax], 0x20
je 0x404774
lea ecx, [ebp - 0x28]
call fcn.0040d151
push 0x41b64c
lea eax, [ebp - 0x28]
jmp 0x40462b
pop edi
pop esi
pop ebx
leave
ret