Function at 0x407b4e
Capabilities:
Check for time delay via gettickcount
Get common file path
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffca4
push ebx
push esi
push edi
mov esi, 0x42559c
cmp dword [0x424418], 0
jne 0x407b72
mov eax, 1
jmp 0x407e5e
mov edx, dword [0x424418]
add edx, 3
mov dword [0x42ea90], edx
push dword [0x42ea90]
push 4
call fcn.00420724
add esp, 8
mov dword [0x42ea94], eax
push 0
push esi
call sub.USER32.dll_FindWindowA
mov dword [0x42ea98], eax
push dword [0x42ea98]
call sub.USER32.dll_SetFocus
push 1
push dword [0x42ea98]
call sub.USER32.dll_ShowWindow
push dword [0x42ea98]
call sub.USER32.dll_UpdateWindow
lea ecx, [esi + 8]
push ecx
call sub.KERNEL32.DLL_GlobalAddAtomA
mov ebx, eax
movzx eax, bx
movzx edx, bx
shl edx, 0x10
or eax, edx
push eax
mov ecx, dword [0x42e784]
push dword [ecx + 0x30]
push 0x3e0
push 0xffffffffffffffff
call sub.USER32.dll_SendMessageA
push ebx
call sub.KERNEL32.DLL_GlobalDeleteAtom
push 0x4240b2
push 0x424080
lea eax, [esi + 0x10]
push eax
lea edx, [ebp - 0x12c]
push edx
call fcn.0041e5ec
add esp, 0x10
lea ecx, [ebp - 0x12c]
push ecx
mov eax, dword [0x42e784]
push dword [eax + 0x30]
push dword [0x42ea98]
call fcn.00407aff
add esp, 0xc
mov edx, dword [0x42ea94]
mov dword [edx], eax
push 0x424080
lea ecx, [esi + 0x27]
push ecx
lea eax, [ebp - 0x12c]
push eax
call fcn.0041e5ec
add esp, 0xc
lea edx, [ebp - 0x12c]
push edx
mov ecx, dword [0x42e784]
push dword [ecx + 0x30]
push dword [0x42ea98]
call fcn.00407aff
add esp, 0xc
mov edx, dword [0x42ea94]
mov dword [edx + 4], eax
push 0x104
lea eax, [ebp - 0x230]
push eax
call sub.KERNEL32.DLL_GetWindowsDirectoryA
xor ebx, ebx
jmp 0x407d54
imul eax, ebx, 0x8b
add eax, dword [0x42441c]
add eax, 0x37
push eax
push 0x42e88c
lea edx, [esi + 0x3a]
push edx
lea ecx, [ebp - 0x35c]
push ecx
call fcn.0041e5ec
add esp, 0x10
push 0x20
push 0x42e88c
call fcn.0041ab64
pop ecx
lea edx, [ebp - 0x35b]
add eax, edx
push eax
call fcn.0041aae0
add esp, 8
test eax, eax
je 0x407cde
mov byte [eax], 0
push 0
lea eax, [ebp - 0x35c]
push eax
call fcn.0041d4dc
add esp, 8
test eax, eax
jne 0x407d53
imul ecx, ebx, 0x8b
add ecx, dword [0x42441c]
add ecx, 0x55
push ecx
imul eax, ebx, 0x8b
add eax, dword [0x42441c]
add eax, 0x37
push eax
push 0x42e88c
lea edx, [esi + 0x40]
push edx
lea ecx, [ebp - 0x12c]
push ecx
call fcn.0041e5ec
add esp, 0x14
lea eax, [ebp - 0x12c]
push eax
mov edx, dword [0x42e784]
push dword [edx + 0x30]
push dword [0x42ea98]
call fcn.00407aff
add esp, 0xc
mov ecx, dword [0x42ea94]
mov dword [ecx + ebx*4 + 8], eax
inc ebx
cmp ebx, dword [0x424418]
jl 0x407c91
push 0x28
call fcn.00409299
pop ecx
push eax
push 0x4241ae
push 0x42e88c
push 0x42417c
lea eax, [ebp - 0x230]
push eax
lea edx, [esi + 0x55]
push edx
lea ecx, [ebp - 0x12c]
push ecx
call fcn.0041e5ec
add esp, 0x1c
lea eax, [ebp - 0x12c]
push eax
mov edx, dword [0x42e784]
push dword [edx + 0x30]
push dword [0x42ea98]
call fcn.00407aff
add esp, 0xc
mov ecx, dword [0x42ea94]
mov edx, dword [0x424418]
mov dword [ecx + edx*4 + 8], eax
push 0
mov eax, dword [0x42e784]
push dword [eax + 0x30]
push 0x3e1
push dword [0x42ea98]
call sub.USER32.dll_PostMessageA
call sub.KERNEL32.DLL_GetTickCount
mov esi, eax
push dword [0x438460]
call fcn.0040d740
pop ecx
mov edi, 1
xor ebx, ebx
jmp 0x407e04
mov eax, dword [0x42ea94]
cmp dword [eax + ebx*4], 0
je 0x407e03
xor edi, edi
inc ebx
cmp ebx, dword [0x42ea90]
jl 0x407df6
call sub.KERNEL32.DLL_GetTickCount
sub eax, esi
cmp eax, 0x1388
ja 0x407e1e
test edi, edi
je 0x407de1
call sub.KERNEL32.DLL_GetTickCount
mov esi, eax
call sub.KERNEL32.DLL_GetTickCount
sub eax, esi
cmp eax, 0x3e8
jb 0x407e25
push dword [0x42ea94]
call fcn.00420d58
pop ecx
mov eax, dword [0x42e784]
push dword [eax + 0x30]
call sub.USER32.dll_SetFocus
mov edx, dword [0x42e784]
push edx
mov ecx, dword [edx]
call dword [ecx + 0x44]
pop ecx
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret