Function at 0x4058a4
Capabilities:
Check for time delay via gettickcount
Create process on windows
Delete file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc5c
push ebx
push esi
lea eax, [ebp - 0xc5c]
push edi
push eax
push str.INSTALL.EXE
push dword [0x410db0]
call fcn.004041aa
cmp dword [0x410b6c], 0
mov ebx, dword [sym.imp.KERNEL32.dll_lstrcpyA]
lea eax, [ebp - 0xb57]
push eax
lea eax, [ebp - 0x520]
push eax
je 0x4058f9
call ebx
lea eax, [ebp - 0x520]
push 0x40f45c
push eax
call fcn.0040718a
jmp 0x4058fb
call ebx
lea eax, [ebp - 0x520]
push eax
lea eax, [ebp - 0x830]
push dword [ebp + 8]
push eax
call fcn.00406fbf
lea eax, [ebp - 0x830]
push eax
call fcn.00406eab
push dword [0x410d98]
lea eax, [ebp - 0x418]
push eax
call ebx
mov esi, dword [sym.imp.KERNEL32.dll_lstrcatA]
mov edi, 0x40f204
lea eax, [ebp - 0x418]
push edi
push eax
call esi
cmp dword [0x410b7c], 0
je 0x405958
lea eax, [ebp - 0x418]
push str.__z1
push eax
call esi
cmp dword [0x410ecc], 0
je 0x405968
push str.__cx
jmp 0x40596d
push 0x40f448
lea eax, [ebp - 0x418]
push eax
call esi
lea eax, [ebp - 0x418]
push 0x40f444
push eax
call esi
push dword [ebp + 8]
lea eax, [ebp - 0x108]
push eax
call ebx
lea eax, [ebp - 0x108]
push eax
call fcn.00406eab
lea eax, [ebp - 0x108]
push eax
lea eax, [ebp - 0x418]
push eax
call esi
lea eax, [ebp - 0x418]
push edi
push eax
call esi
lea eax, [ebp - 0x418]
push str.__x1_
push eax
call esi
push dword [0x410da0]
lea eax, [ebp - 0x418]
push eax
call esi
lea eax, [ebp - 0x418]
push 0x40f438
push eax
call esi
push dword [0x410ef0]
mov edi, dword [sym.imp.USER32.dll_wsprintfA]
lea eax, [ebp - 0x108]
push str.__q1_04x
push eax
call edi
add esp, 0xc
lea eax, [ebp - 0x108]
push eax
lea eax, [ebp - 0x418]
push eax
call esi
cmp dword [0x410b90], 0
je 0x405aa6
cmp dword [0x410b94], 0
jne 0x405a46
lea eax, [ebp - 0x418]
push 0x40f428
push eax
call esi
mov eax, dword [0x410ee4]
cmp byte [eax], 0
je 0x405a46
push eax
lea eax, [ebp - 0x418]
push eax
call esi
cmp dword [0x410b98], 0
jne 0x405a76
mov eax, dword [0x410eec]
cmp byte [eax], 0
je 0x405a76
lea eax, [ebp - 0x418]
push str.__m1
push eax
call esi
push dword [0x410eec]
lea eax, [ebp - 0x418]
push eax
call esi
cmp dword [0x410b9c], 0
jne 0x405aa6
mov eax, dword [0x410ed0]
cmp byte [eax], 0
je 0x405aa6
lea eax, [ebp - 0x418]
push str.__m2
push eax
call esi
push dword [0x410ed0]
lea eax, [ebp - 0x418]
push eax
call esi
lea eax, [ebp - 0x418]
push eax
call fcn.0040667b
lea eax, [ebp - 0x418]
push eax
push dword [ebp + 8]
call fcn.00406d64
lea eax, [ebp - 0xa40]
push eax
call fcn.004069b5
lea eax, [ebp - 0x938]
push eax
call fcn.00406b10
add esp, 0x14
cmp dword [0x410b6c], 0
lea eax, [ebp - 0x830]
push eax
je 0x405b05
push dword [0x410edc]
lea eax, [ebp - 0x108]
push str._s__s
push eax
call edi
add esp, 0x10
jmp 0x405b0e
lea eax, [ebp - 0x108]
push eax
call ebx
mov esi, dword [sym.imp.KERNEL32.dll_WinExec]
lea eax, [ebp - 0x108]
push 1
push eax
call esi
mov edi, eax
cmp edi, 0x20
jae 0x405b85
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call esi
lea ebx, [eax + 0x7d0]
call esi
cmp eax, ebx
jb 0x405b34
xor ebx, ebx
cmp edi, ebx
push ebx
jne 0x405b48
push 0x1b9c
jmp 0x405b4d
push 0x1b96
call fcn.00405ea1
mov esi, dword [sym.imp.KERNEL32.dll_DeleteFileA]
pop ecx
pop ecx
lea eax, [ebp - 0xa40]
push eax
call esi
lea eax, [ebp - 0x938]
push eax
call esi
cmp dword [ebp + 0xc], ebx
je 0x405b81
push dword [0x410b6c]
push dword [ebp + 8]
call fcn.00406762
pop ecx
pop ecx
xor eax, eax
jmp 0x405bdb
cmp dword [0x410ed8], 0
jne 0x405bd8
push dword [0x410ee8]
lea eax, [ebp - 0x830]
push dword [0x410da0]
push eax
call fcn.00406fbf
lea eax, [ebp - 0x830]
push eax
call fcn.00406e74
test eax, eax
je 0x405bc3
lea eax, [ebp - 0x830]
push 1
push eax
call esi
jmp 0x405bd8
cmp dword [0x40f214], 0
je 0x405bd8
push dword [0x410ed4]
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
push 1
pop eax
pop edi
pop esi
pop ebx
leave
ret