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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x650
mov eax, dword [0x4c07e0]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 8]
push edi
mov edi, ecx
mov dword [ebp - 0x64c], ebx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp byte [ebp + 0xc], 0
jne 0x456339
cmp eax, dword [edi + 0x145c]
jb 0x4567c9
call dword [sym.imp.KERNEL32.dll_GetTickCount]
add eax, 0x7d0
mov dword [edi + 0x145c], eax
mov ecx, dword [edi + 0xbbc]
push esi
xor esi, esi
mov dword [ebp - 0x648], esi
test ecx, ecx
jne 0x456358
cmp dword [edi + 0xbc0], esi
je 0x45639b
test ecx, ecx
je 0x45636d
mov eax, dword [edi + 0xbc0]
push 2
add eax, ecx
push eax
push 1
call dword [sym.imp.KERNEL32.dll_MulDiv]
jmp 0x456373
mov eax, dword [edi + 0xbc0]
push eax
mov eax, dword [edi + 0xc10]
sub eax, dword [edi + 0xc18]
push 0x4000
push eax
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov esi, eax
xor eax, eax
test esi, esi
cmovs esi, eax
mov dword [ebp - 0x648], esi
push 0x600
lea eax, [ebp - 0x644]
push 0
push eax
call fcn.00466b60
add esp, 0xc
test ebx, ebx
je 0x4563e1
mov ecx, ebx
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4563c0
sub ecx, edx
je 0x4563e1
push ebx
lea eax, [ebp - 0x644]
push 0x4afd60
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
mov eax, dword [edi + 0xc10]
test eax, eax
je 0x4563fe
push eax
push dword [edi + 0xc18]
push 0x64
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov edx, eax
jmp 0x456400
xor edx, edx
lea ecx, [ebp - 0x644]
lea ebx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x456410
push edx
sub ecx, ebx
lea eax, [ebp - 0x644]
add eax, ecx
push str._d__
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
mov eax, dword [edi + 0xbbc]
xorps xmm0, xmm0
add esp, 0xc
mov byte [ebp - 0x44], 0
movq qword [ebp - 0x33], xmm0
mov dword [ebp - 0x2b], 0
mov word [ebp - 0x27], 0
mov byte [ebp - 0x25], 0
movups xmmword [ebp - 0x43], xmm0
test eax, eax
jne 0x456462
mov eax, dword [edi + 0xbc0]
push 0
push eax
lea eax, [ebp - 0x44]
push eax
call fcn.00450390
lea ebx, [ebp - 0x644]
add esp, 0xc
lea ecx, [ebx + 1]
nop word [eax + eax]
mov al, byte [ebx]
inc ebx
test al, al
jne 0x456480
mov eax, 0x88888889
sub ebx, ecx
imul esi
mov ecx, 0x3c
add edx, esi
sar edx, 5
mov esi, edx
shr esi, 0x1f
add esi, edx
mov eax, esi
cdq
idiv ecx
mov ecx, esi
shl ecx, 4
sub ecx, esi
mov esi, dword [ebp - 0x648]
shl ecx, 2
sub esi, ecx
mov ecx, 0x3c
push esi
push edx
cdq
idiv ecx
lea eax, [ebp - 0x44]
push edx
push eax
lea eax, [ebp - 0x644]
add eax, ebx
push str.___s_s____dh__02dm__02ds_ETA__
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x18
cmp dword [edi + 0xc40], 2
jne 0x456668
mov eax, dword [edi + 0xbc0]
xorps xmm0, xmm0
add eax, dword [edi + 0xbbc]
shr eax, 1
push 0
push eax
lea eax, [ebp - 0x24]
mov byte [ebp - 0x24], 0
push eax
movups xmmword [ebp - 0x23], xmm0
mov dword [ebp - 0xb], 0
movq qword [ebp - 0x13], xmm0
mov word [ebp - 7], 0
mov byte [ebp - 5], 0
call fcn.00450390
mov edx, dword [ebp - 0x64c]
add esp, 0xc
mov eax, dword [edi + 0xbc0]
mov ecx, edx
add eax, dword [edi + 0xbbc]
lea esi, [ecx + 1]
test eax, 0xfffffffe
jbe 0x456580
mov al, byte [ecx]
inc ecx
test al, al
jne 0x456547
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x644]
sub ecx, esi
je 0x45656e
push edx
push str.___s______s_s
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
jmp 0x4565b2
push str.__Completed______s_s
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
jmp 0x4565b2
mov al, byte [ecx]
inc ecx
test al, al
jne 0x456580
lea eax, [ebp - 0x644]
sub ecx, esi
je 0x4565a3
push edx
push str.___s__
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
jmp 0x4565b2
push str.__Completed__
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 8
cmp dword [edi + 0xb38], 0
jbe 0x456668
lea esi, [ebp - 0x644]
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x4565c8
sub esi, ecx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
mov ebx, 0x3c
sub ecx, dword [edi + 0xb38]
mov eax, 0x10624dd3
mul ecx
shr edx, 6
mov eax, edx
xor edx, edx
div ebx
push edx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
mov eax, 0x10624dd3
sub ecx, dword [edi + 0xb38]
mul ecx
mov eax, 0x88888889
shr edx, 6
mul edx
shr edx, 5
mov eax, edx
xor edx, edx
div ebx
push edx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
mov eax, 0x10624dd3
sub ecx, dword [edi + 0xb38]
mul ecx
mov eax, 0x88888889
shr edx, 6
mul edx
mov eax, 0x88888889
shr edx, 5
mul edx
shr edx, 5
mov eax, edx
xor edx, edx
div ebx
lea eax, [ebp - 0x644]
push edx
add eax, esi
push str.____dh__02dm__02ds_Total__
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x14
mov ebx, dword [edi + 0xc34]
mov esi, dword [edi + 0xc18]
cmp ebx, esi
jbe 0x4566e1
test esi, esi
je 0x4566e1
sub ebx, esi
lea ecx, [ebp - 0x644]
imul eax, ebx, 0x64
xor edx, edx
div esi
mov edx, eax
test edx, edx
jne 0x4566b8
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x456694
imul eax, ebx, 0x3e8
sub ecx, edx
xor edx, edx
div esi
xor edx, edx
mov esi, 0xa
div esi
push edx
push str._0._d___waste
jmp 0x4566cf
lea esi, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4566c0
push edx
sub ecx, esi
push str.__d___waste
lea eax, [ebp - 0x644]
add eax, ecx
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
cmp dword [0x4c3da0], 0
je 0x45673e
lea esi, [ebp - 0x644]
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x4566f3
sub esi, ecx
mov ecx, edi
call fcn.00457820
push eax
push 0x64
push dword [edi + 0xc50]
push 0x64
call dword [sym.imp.KERNEL32.dll_MulDiv]
push eax
push dword [edi + 0xc10]
lea eax, [ebp - 0x644]
push dword [edi + 0xc34]
add eax, esi
push dword [edi + 0xc18]
push str.___Chunks:_Current:_d_Pulled:_d_Total:_d___Turbo:__d________CipherLock:_s____
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x1c
push edi
mov ecx, 0x4c6454
call fcn.00407280
mov esi, eax
cmp esi, 0xffffffff
jle 0x4567c8
mov ecx, dword [edi + 0x1448]
call fcn.00430230
push eax
push 0
push esi
mov ecx, 0x4c6454
call fcn.00416e80
mov ecx, dword [edi + 0x1448]
call fcn.00462a00
push eax
push 1
push esi
mov ecx, 0x4c6454
call fcn.00416e80
lea eax, [ebp - 0x644]
mov ecx, 0x4c6454
push eax
push 2
push esi
call fcn.00416e80
mov ecx, dword [edi + 0x1448]
call fcn.00462af0
push eax
push 3
push esi
mov ecx, 0x4c6454
call fcn.00416e80
mov ecx, dword [edi + 0x1448]
call fcn.00430260
push eax
push 4
push esi
mov ecx, 0x4c6454
call fcn.00416e80
pop esi
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop ebx
call fcn.00464e2f
mov esp, ebp
pop ebp
ret 8