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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
test byte [0x50dc14], 1
push ebx
push esi
mov esi, dword [sym.imp.KERNEL32.dll_lstrlenW]
push edi
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], 0
mov byte [ebp - 1], 0
mov dword [ebp - 0x10], 0xffffffff
jne 0x46f0f0
or dword [0x50dc14], 1
push str._percent
call esi
mov dword [0x50dc10], eax
test byte [0x50dc14], 2
jne 0x46f10c
or dword [0x50dc14], 2
push str.Completed:
call esi
mov dword [0x50dc0c], eax
cmp word [0x50dbec], 0
jne 0x46f167
mov edi, dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
push 0xf
push 0x50dbee
push 0xffffffffffffffff
push 0x4dc250
push 0
mov eax, 0x20
push 0
mov word [0x50dbec], ax
call edi
push 0x10
push 0x50dbcc
push 0xffffffffffffffff
push 0x4dc244
push 0
push 0
call edi
push 0x50dbec
call esi
push str.Completed:
mov dword [0x50dbc8], eax
call esi
mov dword [0x50dbc4], eax
mov ebx, dword [ebp + 8]
movzx eax, word [ebx]
cmp ax, 0x20
jne 0x46f1b1
movzx ecx, word [ebx + 2]
cmp cx, 0x30
jb 0x46f18f
cmp cx, 0x39
ja 0x46f18f
mov dword [ebp - 8], 1
jmp 0x46f32c
cmp cx, 0x20
jne 0x46f1b1
movzx ecx, word [ebx + 4]
cmp cx, 0x30
jb 0x46f1b1
cmp cx, 0x39
ja 0x46f1b1
mov dword [ebp - 8], 2
jmp 0x46f32c
cmp ax, 0x30
jb 0x46f1c1
cmp ax, 0x39
jbe 0x46f32c
mov ecx, dword [0x50dbc4]
push ecx
push 0x50dbcc
push ebx
call fcn.004b19ad
add esp, 0xc
test eax, eax
jne 0x46f1e1
mov eax, dword [0x50dbc4]
jmp 0x46f1ff
mov edx, dword [0x50dc0c]
push edx
push str.Completed:
push ebx
call fcn.004b19ad
add esp, 0xc
test eax, eax
jne 0x46f228
mov eax, dword [0x50dc0c]
cmp word [ebx + eax*2], 0x20
mov dword [ebp - 8], eax
mov ecx, eax
jne 0x46f211
lea ecx, [eax + 1]
mov dword [ebp - 8], ecx
cmp word [ebx + ecx*2], 0x20
jne 0x46f21c
inc ecx
mov dword [ebp - 8], ecx
mov byte [ebp - 1], 1
test ecx, ecx
jne 0x46f32c
mov eax, dword [ebp - 0xc]
test eax, eax
jne 0x46f236
mov eax, 4
jmp 0x46f23c
mov eax, dword [eax + 0x1b2c]
dec eax
cmp eax, 3
jle 0x46f252
cmp word [ebx + eax*2], 0x20
jne 0x46f24f
dec eax
cmp eax, 3
jg 0x46f242
cmp eax, 3
jl 0x46f32c
cmp word [ebx + eax*2], 0x25
jne 0x46f32c
movzx ecx, word [ebx + eax*2 - 2]
cmp cx, 0x30
jb 0x46f32c
cmp cx, 0x39
ja 0x46f32c
dec eax
mov edx, eax
test eax, eax
jle 0x46f29e
lea ecx, [ebx + eax*2 - 2]
movzx esi, word [ecx]
cmp si, 0x30
jb 0x46f29e
cmp si, 0x39
ja 0x46f29e
dec edx
sub ecx, 2
test edx, edx
jg 0x46f287
mov ecx, eax
sub ecx, edx
cmp ecx, 2
jg 0x46f2f9
cmp edx, 2
jl 0x46f2f9
cmp word [ebx + edx*2 - 2], 0x2e
jne 0x46f2f9
lea ecx, [edx - 1]
test ecx, ecx
jle 0x46f2d9
lea esi, [ebx + ecx*2 - 2]
nop
movzx edi, word [esi]
cmp di, 0x30
jb 0x46f2d7
cmp di, 0x39
ja 0x46f2d7
dec ecx
sub esi, 2
test ecx, ecx
jg 0x46f2c0
test ecx, ecx
jl 0x46f2f9
sub edx, ecx
cmp edx, 3
jle 0x46f2ee
cmp edx, 4
jg 0x46f313
cmp word [ebx + ecx*2], 0x31
jne 0x46f313
mov eax, ecx
mov dword [ebp - 8], ecx
mov byte [ebp - 1], 1
jmp 0x46f313
mov ecx, edx
sub ecx, eax
cmp ecx, 2
jle 0x46f30e
cmp ecx, 3
jg 0x46f313
cmp word [ebx + edx*2], 0x31
jne 0x46f313
mov eax, edx
mov dword [ebp - 8], edx
test eax, eax
jl 0x46f32c
cmp word [ebx + eax*2], 0x3e
je 0x46f325
sub eax, 1
jns 0x46f317
jmp 0x46f32c
mov dword [ebp - 8], 0
mov edx, dword [ebp - 8]
movzx eax, word [ebx + edx*2]
cmp ax, 0x30
jb 0x46f4ea
cmp ax, 0x39
ja 0x46f4ea
mov ecx, edx
movzx eax, word [ebx + ecx*2 + 2]
lea edi, [ebx + ecx*2 + 2]
cmp ax, 0x30
jb 0x46f3ee
cmp ax, 0x39
ja 0x46f3ee
movzx eax, word [ebx + ecx*2 + 4]
cmp ax, 0x30
jb 0x46f3ee
cmp ax, 0x39
ja 0x46f3ee
movzx eax, word [ebx + ecx*2 + 6]
lea esi, [ebx + ecx*2 + 6]
cmp ax, 0x25
je 0x46f3ca
cmp byte [ebp - 1], 0
je 0x46f396
cmp ax, 0x2e
je 0x46f3ca
mov eax, dword [0x50dc10]
push eax
push str._percent
push esi
call fcn.004b19ad
add esp, 0xc
test eax, eax
je 0x46f3c7
mov ecx, dword [0x50dbc8]
push ecx
push 0x50dbec
push esi
call fcn.004b19ad
add esp, 0xc
test eax, eax
jne 0x46f3ee
mov ecx, dword [ebp - 8]
mov dx, word [ebx + ecx*2]
imul dx, dx, 0xa
add dx, word [edi]
mov eax, 0x14d0
imul dx, dx, 0xa
add dx, word [ebx + ecx*2 + 4]
sub dx, ax
movzx esi, dx
jmp 0x46f4bc
movzx eax, word [edi]
cmp ax, 0x30
jb 0x46f467
cmp ax, 0x39
ja 0x46f467
mov ecx, dword [ebp - 8]
movzx eax, word [ebx + ecx*2 + 4]
lea esi, [ebx + ecx*2 + 4]
cmp ax, 0x25
je 0x46f44c
cmp byte [ebp - 1], 0
je 0x46f41b
cmp ax, 0x2e
je 0x46f44c
mov edx, dword [0x50dc10]
push edx
push str._percent
push esi
call fcn.004b19ad
add esp, 0xc
test eax, eax
je 0x46f44c
mov eax, dword [0x50dbc8]
push eax
push 0x50dbec
push esi
call fcn.004b19ad
add esp, 0xc
test eax, eax
jne 0x46f467
mov ecx, dword [ebp - 8]
mov dx, word [ebx + ecx*2]
imul dx, dx, 0xa
add dx, word [edi]
mov eax, 0x210
sub dx, ax
movzx esi, dx
jmp 0x46f4bc
movzx eax, word [edi]
cmp ax, 0x25
je 0x46f4ae
cmp byte [ebp - 1], 0
je 0x46f47c
cmp ax, 0x2e
je 0x46f4ae
mov ecx, dword [0x50dc10]
push ecx
push str._percent
push edi
call fcn.004b19ad
add esp, 0xc
test eax, eax
je 0x46f4ae
mov edx, dword [0x50dbc8]
push edx
push 0x50dbec
push edi
call fcn.004b19ad
add esp, 0xc
test eax, eax
jne 0x46f4ea
mov eax, dword [ebp - 8]
mov cx, word [ebx + eax*2]
sub cx, 0x30
movzx esi, cx
cmp si, 0xffff
je 0x46f4ed
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx + 0x4c]
mov dword [edx + 0x372c], eax
mov eax, dword [ecx + 0x4c]
mov word [eax + 0x372a], si
pop edi
mov ax, si
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov esi, dword [ebp - 0x10]
mov ecx, dword [ebp - 0xc]
mov edi, dword [ecx + 0x4c]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [edi + 0x372c]
cmp eax, 0x5dc
jae 0x46f50d
movzx esi, word [edi + 0x3728]
or edx, 0xffffffff
mov word [edi + 0x372a], dx
pop edi
mov ax, si
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4