Function at 0x42dab0
Capabilities:
Check for time delay via gettickcount
Print debug messages

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x6f8a11
mov eax, dword fs:[0]
push eax
sub esp, 0x474
mov eax, dword [0x7ca418]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov edi, dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, esi
mov dword [ebp - 0x47c], eax
call fcn.0042d9f0
cmp dword [esi + 0xa0], 0
jne 0x42db06
xor al, al
jmp 0x42dd63
mov eax, dword [esi + 0x74]
call eax
mov dword [esi + 0xa4], eax
test eax, eax
je 0x42daff
push edi
lea ecx, [ebp - 0x428]
call fcn.00420940
lea eax, [ebp - 0x428]
mov dword [ebp - 4], 0
push eax
lea eax, [ebp - 0x440]
push eax
call fcn.0045f706
add esp, 8
mov eax, dword [ebp - 0x414]
mov byte [ebp - 4], 2
cmp eax, 8
jb 0x42db60
inc eax
lea ecx, [ebp - 0x428]
push eax
push dword [ebp - 0x428]
call fcn.00420ba0
xor eax, eax
mov dword [ebp - 0x414], 7
cmp dword [ebp - 0x42c], 0x10
mov word [ebp - 0x428], ax
lea eax, [ebp - 0x440]
cmovae eax, dword [ebp - 0x440]
push eax
push dword [esi + 0xa4]
mov eax, dword [esi]
mov dword [ebp - 0x418], 0
call eax
add esp, 8
test eax, eax
jne 0x42dbaa
xor bl, bl
jmp 0x42dd43
lea eax, [esi + 0xb0]
push eax
lea eax, [ebp - 0x458]
push eax
call fcn.0045f706
cmp dword [ebp - 0x444], 0x10
lea eax, [ebp - 0x458]
push 0
cmovae eax, dword [ebp - 0x458]
push 2
push 0
push 0
push eax
push dword [esi + 0xa4]
mov eax, dword [esi + 0x18]
push dword [esi + 0xa0]
mov byte [ebp - 4], 3
call eax
mov ebx, eax
add esp, 0x24
mov dword [ebp - 0x474], ebx
test ebx, ebx
jne 0x42dc05
xor bl, bl
jmp 0x42dd38
mov eax, dword [esi + 0x1c]
push ebx
call eax
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
add esp, 4
imul eax, dword [ebp + 0xc], 0x3e8
mov dword [ebp - 0x480], eax
mov eax, dword [esi + 0x20]
push ebx
call eax
push dword [ebp - 0x474]
mov ecx, dword [esi + 0x24]
mov ebx, eax
call ecx
add esp, 8
mov ecx, esi
fstp dword [ebp - 0x478]
push dword [ebp - 0x474]
call fcn.0042df10
test eax, eax
jne 0x42dc55
push 0x7d0
call edi
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [ebp - 0x47c]
cmp eax, dword [ebp - 0x480]
jge 0x42dd1e
push 0x400
lea eax, [ebp - 0x410]
push 0
push eax
call fcn.004ea000
add esp, 0xc
lea eax, [ebp - 0x470]
mov ecx, esi
push ebx
push eax
call fcn.0042dd90
cmp dword [eax + 0x14], 0x10
jb 0x42dc9a
mov eax, dword [eax]
movss xmm0, dword [ebp - 0x478]
sub esp, 8
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push eax
push str.state___s_download_percent___02f___n
lea eax, [ebp - 0x410]
push 0x400
push eax
call fcn.0042f640
mov eax, dword [ebp - 0x45c]
add esp, 0x18
cmp eax, 0x10
jb 0x42dce5
inc eax
lea ecx, [ebp - 0x470]
push eax
push dword [ebp - 0x470]
call fcn.0042f550
lea eax, [ebp - 0x410]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push 0x2710
call edi
movss xmm0, dword [ebp - 0x478]
movsd xmm1, qword [0x70d380]
mov ebx, dword [ebp - 0x474]
cvtps2pd xmm0, xmm0
comisd xmm1, xmm0
ja 0x42dc21
jmp 0x42dd26
movsd xmm1, qword [0x70d380]
movss xmm0, dword [ebp - 0x478]
cvtps2pd xmm0, xmm0
comisd xmm0, xmm1
setae bl
lea ecx, [ebp - 0x458]
call fcn.0042d5d0
mov ecx, dword [ebp - 0x42c]
cmp ecx, 0x10
jb 0x42dd61
inc ecx
push ecx
push dword [ebp - 0x440]
lea ecx, [ebp - 0x440]
call fcn.0042f550
mov al, bl
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004584a2
mov esp, ebp
pop ebp
ret 8