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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x410
mov eax, dword [0x4a86f0]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [sym.imp.USER32.dll_SendMessageW]
push esi
push edi
mov edi, ecx
cmp dword [edi + 4], 0
je 0x430813
push dword [edi + 0x65]
push str.UpdateBar____Step:__u
call fcn.0045f4c0
add esp, 8
push 0
push dword [edi + 0x65]
push 0x402
push dword [edi + 4]
call ebx
cmp dword [edi + 8], 0
je 0x430858
cmp dword [ebp + 8], 0
je 0x430858
mov esi, dword [edi + 0x2d]
mov eax, 0x51eb851f
mov ecx, dword [edi + 0x31]
sub ecx, esi
imul ecx, dword [edi + 0x65]
mul ecx
shr edx, 5
lea eax, [edx + esi]
push eax
push str.UpdateBar____MainStep:__u
mov dword [edi + 0x69], eax
call fcn.0045f4c0
add esp, 8
push 0
push dword [edi + 0x69]
push 0x402
push dword [edi + 8]
call ebx
cmp dword [edi + 0xc], 0
je 0x430c40
mov al, byte [edi + 0x1c]
mov byte [ebp - 0x405], al
test al, al
je 0x430ba4
mov esi, dword [edi + 0x21]
test esi, esi
je 0x430ba4
xor eax, eax
push 0x1fe
push eax
mov word [ebp - 0x404], ax
lea eax, [ebp - 0x402]
push eax
call fcn.0046a330
mov eax, dword [edi + 0x65]
add esp, 0xc
mov edx, dword [edi + 0x59]
mov ecx, dword [edi + 0x55]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x48a350]
cvtpd2ps xmm1, xmm0
movd xmm0, esi
cvtdq2pd xmm0, xmm0
shr esi, 0x1f
addsd xmm0, qword [esi*8 + 0x48a350]
cvtpd2ps xmm0, xmm0
divss xmm1, xmm0
movss dword [ebp - 0x410], xmm1
call fcn.0046c26e
cvtsd2ss xmm0, xmm0
mulss xmm0, dword [ebp - 0x410]
call fcn.0046bf60
test byte [ebp - 0x405], 1
mov esi, eax
mov dword [ebp - 0x40c], esi
je 0x430937
movss xmm0, dword [ebp - 0x410]
mulss xmm0, dword [0x48a348]
call fcn.0046bf60
push eax
push 0x48a22c
lea eax, [ebp - 0x404]
push 0x100
push eax
call fcn.0046982e
add esp, 0x10
test byte [edi + 0x1c], 2
je 0x430a2c
xor eax, eax
push 0x1fe
push eax
mov word [ebp - 0x204], ax
lea eax, [ebp - 0x202]
push eax
call fcn.0046a330
push 0
push 0
push 0
push 0x100
lea eax, [ebp - 0x204]
push eax
push 0
push esi
call fcn.0045c450
lea ecx, [ebp - 0x404]
add esp, 0x28
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x430982
sub ecx, edx
sar ecx, 1
je 0x4309ac
push 0x48a238
lea eax, [ebp - 0x404]
push 0x100
push eax
call fcn.00469454
add esp, 0xc
lea eax, [ebp - 0x204]
push eax
lea eax, [ebp - 0x404]
push 0x100
push eax
call fcn.00469454
push 0x48a240
lea eax, [ebp - 0x404]
push 0x100
push eax
call fcn.00469454
push 0
push 0
push 0
push 0x100
lea eax, [ebp - 0x204]
push eax
push dword [edi + 0x59]
push dword [edi + 0x55]
call fcn.0045c450
lea eax, [ebp - 0x204]
push eax
lea eax, [ebp - 0x404]
push 0x100
push eax
call fcn.00469454
add esp, 0x40
lea eax, [ebp - 0x404]
push dword [edi + 0x59]
push dword [edi + 0x55]
push eax
push str.UpdateBar____Size_build:__s_MaxData_I64u
call fcn.0045f4c0
add esp, 0x10
test byte [edi + 0x1c], 4
je 0x430b94
xor eax, eax
push 0x1fe
push eax
mov word [ebp - 0x204], ax
lea eax, [ebp - 0x202]
push eax
call fcn.0046a330
add esp, 0xc
cmp dword [edi + 0x85], 0
jne 0x430a74
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [edi + 0x85], eax
mov dword [edi + 0x89], esi
jmp 0x430b07
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov esi, eax
sub esi, dword [edi + 0x85]
push esi
push str.UpdateBar____ElapsedTime:__d
call fcn.0045f4c0
add esp, 8
cmp esi, 0x3e8
jb 0x430b07
mov eax, dword [ebp - 0x40c]
sub eax, dword [edi + 0x89]
push 0
push eax
push str.UpdateBar____Data:__I64u
mov dword [ebp - 0x40c], eax
call fcn.0045f4c0
push esi
push str.UpdateBar____ElapsedTime:__d
call fcn.0045f4c0
add esp, 0x14
push 0
push esi
push 0
push dword [ebp - 0x40c]
call fcn.0046d970
push 0
push 0x3e8
push edx
push eax
call fcn.0046d930
push edx
push eax
push str.UpdateBar____Debit:__I64u
mov dword [0x4ab1e0], eax
mov dword [0x4ab1e4], edx
call fcn.0045f4c0
add esp, 0xc
mov dword [edi + 0x85], 0
lea ecx, [ebp - 0x404]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x430b10
sub ecx, edx
sar ecx, 1
je 0x430b94
mov ecx, dword [0x4ab1e4]
mov eax, dword [0x4ab1e0]
test ecx, ecx
jne 0x430b34
test eax, eax
je 0x430b94
push 0
push 0
push 0
push 0x100
lea edx, [ebp - 0x204]
push edx
push ecx
push eax
call fcn.0045c450
push 0x48a238
lea eax, [ebp - 0x404]
push 0x100
push eax
call fcn.00469454
lea eax, [ebp - 0x204]
push eax
lea eax, [ebp - 0x404]
push 0x100
push eax
call fcn.00469454
push 0x48a340
lea eax, [ebp - 0x404]
push 0x100
push eax
call fcn.00469454
add esp, 0x40
lea eax, [ebp - 0x404]
push eax
push 0
push 0xc
push dword [edi + 0xc]
call ebx
cmp dword [edi + 0x10], 0
je 0x430c40
mov al, byte [edi + 0x1c]
mov byte [ebp - 0x405], al
test al, al
je 0x430c40
xor eax, eax
push 0x1fe
push eax
mov word [ebp - 0x204], ax
lea eax, [ebp - 0x202]
push eax
call fcn.0046a330
add esp, 0xc
test byte [ebp - 0x405], 1
je 0x430c30
mov eax, dword [edi + 0x69]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x48a350]
cvtpd2ps xmm0, xmm0
divss xmm0, dword [0x48a348]
mulss xmm0, dword [0x48a348]
call fcn.0046bf60
push eax
push 0x48a22c
lea eax, [ebp - 0x204]
push 0x100
push eax
call fcn.0046982e
add esp, 0x10
lea eax, [ebp - 0x204]
push eax
push 0
push 0xc
push dword [edi + 0x10]
call ebx
mov ecx, dword [edi + 0x7d]
test ecx, ecx
je 0x430c77
cmp dword [edi + 0x35], 2
je 0x430c77
cmp dword [edi + 8], 0
je 0x430c65
cmp dword [ebp + 8], 0
je 0x430c65
push 0
push dword [edi + 0x21]
push 0
push dword [edi + 0x69]
jmp 0x430c6f
push 0
push dword [edi + 0x21]
push 0
push dword [edi + 0x65]
push dword [edi]
mov eax, dword [ecx]
push ecx
call dword [eax + 0x24]
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0046984a
mov esp, ebp
pop ebp
ret 4