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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
push ebx
push esi
push edi
push ecx
mov edi, ecx
mov ecx, esp
push str.CDlgDownLoadQ::_startProcess___start
call fcn.00428840
call fcn.0057eae0
mov eax, dword [edi + 0xb4]
add esp, 4
mov dword [edi + 0xac], 0
test eax, eax
je 0x686a53
push eax
push ecx
mov ecx, esp
push str.CDlgDownLoadQ::_startProcess___m_bDownloading:_d
call fcn.00428840
call fcn.0057eae0
add esp, 8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
cmp dword [edi + 0xb0], 0
mov dword [edi + 0xb4], 1
je 0x686a7a
mov dword [edi + 0xb0], 0
mov dword [edi + 0xa0], 0
push dword [edi + 0xa0]
push ecx
mov ecx, esp
push str.CDlgDownLoadQ::_startProcess___m_nCur:_d
call fcn.00428840
call fcn.0057eae0
mov ecx, dword [edi + 0x98]
add esp, 8
push dword [edi + 0xa0]
call fcn.00689150
mov dword [edi + 0xa0], eax
cmp eax, 0xffffffff
jne 0x686b1f
mov ecx, dword [edi + 0x98]
push 0
call fcn.00688ef0
mov ecx, dword [edi + 0x98]
or esi, 0xffffffff
push 1
sub esi, eax
call fcn.00688ef0
add eax, esi
mov dword [edi + 0xa0], eax
jns 0x686af8
push ecx
mov ecx, esp
push str.CDlgDownLoadQ::_startProcess___
call fcn.00428840
call fcn.0057eae0
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push 0
mov ecx, edi
call fcn.00684340
push ecx
mov ecx, esp
push str.CDlgDownLoadQ::_startProcess___DownCancel__
call fcn.00428840
call fcn.0057eae0
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov ecx, 0x7f7600
lea ebx, [edi + 0x50]
call fcn.00429100
push eax
call fcn.006b3230
add esp, 4
mov ecx, ebx
push eax
push dword [edi + 0xa0]
call fcn.0068cd10
push dword [ebp + 8]
mov ecx, dword [edi + 0x98]
push dword [edi + 0xa0]
call fcn.0068a7e0
test eax, eax
jne 0x686b8c
push ecx
mov ecx, esp
push str.CDlgDownLoadQ::_startProcess___StartDown__
call fcn.00428840
call fcn.0057eae0
add esp, 4
push 0
push 0
push dword [0x800d40]
push dword [edi + 4]
call dword [sym.imp.USER32.dll_PostMessageW]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [edi + 0x98]
mov dword [ebp + 8], eax
call fcn.006892c0
test eax, eax
jne 0x686c0a
mov esi, dword [sym.imp.USER32.dll_PeekMessageW]
mov ebx, dword [sym.imp.USER32.dll_DispatchMessageW]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [ebp + 8]
cmp eax, 0x7530
ja 0x686c48
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
push 1
push 0xf
push 0xf
push 0
lea eax, [ebp - 0x20]
push eax
call esi
test eax, eax
je 0x686bf8
mov edi, edi
lea eax, [ebp - 0x20]
push eax
call ebx
push 1
push 0xf
push 0xf
push 0
lea eax, [ebp - 0x20]
push eax
call esi
test eax, eax
jne 0x686be0
mov ecx, dword [edi + 0x98]
call fcn.006892c0
test eax, eax
je 0x686bb0
lea ebx, [edi + 0x50]
mov esi, dword [edi + 0xa0]
xor eax, eax
mov ecx, dword [edi + 0x98]
test esi, esi
cmovs esi, eax
call fcn.006f3f70
cdq
mov ecx, ebx
push edx
push eax
push esi
call fcn.0068d160
push 0
push 0x12c
push 0x15
push dword [edi + 4]
call dword [sym.imp.USER32.dll_SetTimer]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push ecx
mov ecx, esp
push str.CDlgDownLoadQ::_startProcess___GetRecvSize__:
call fcn.00428840
call fcn.0057eae0
add esp, 4
push 0
push 0
push dword [0x800d40]
push dword [edi + 4]
call dword [sym.imp.USER32.dll_PostMessageW]
push dword [edi + 0xa0]
mov ecx, dword [edi + 0x98]
call fcn.00688380
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4