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

Disassembly:
mov eax, 0x45cdbf
call fcn.0044d930
sub esp, 0xc
push ebx
mov ebx, dword [ebp + 0x1c]
push esi
xor esi, esi
mov dword [ebp - 0x10], ecx
cmp ebx, esi
je 0x425e27
movzx ecx, word [ebx + 0xe]
xor eax, eax
mov word [ebx + 0x14], ax
movzx eax, word [ebx + 0xc]
cmp ax, cx
mov dword [ebx + 0x10], esi
movzx eax, ax
ja 0x425e10
movzx eax, cx
push ebx
mov word [ebx + 0xe], ax
call fcn.00425a10
pop ecx
test al, al
je 0x425e27
xor eax, eax
inc eax
jmp 0x426055
cmp dword [ebp + 0xc], esi
jge 0x425e51
mov ecx, dword [ebp - 0x10]
call fcn.00408e71
test al, al
je 0x425e41
mov dword [ebp + 0xc], 1
jmp 0x425e51
cmp dword [ebp + 0xc], 0xfffffffe
mov dword [ebp + 0xc], 2
je 0x425e51
mov dword [ebp + 0xc], esi
push edi
lea ecx, [ebp - 0x18]
call fcn.0042d4ca
mov dword [ebp - 4], esi
mov edi, dword [ebp + 8]
cmp edi, 0xffffffff
je 0x425e70
mov eax, 0xffc91180
cmp edi, eax
jb 0x425e70
mov edi, eax
cmp dword [ebp + 0x14], 2
jge 0x425e7a
mov byte [ebp + 0x18], 0
mov dword [ebp + 0x1c], esi
mov dword [ebp + 8], esi
cmp ebx, esi
je 0x425e94
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp + 0x1c], edi
movzx edi, word [ebx + 0xc]
mov dword [ebp + 8], eax
cmp dword [ebp + 0xc], 0
je 0x425f4e
mov ecx, dword [ebp - 0x10]
call fcn.00425a7b
test al, al
je 0x425ff2
xor esi, esi
cmp ebx, esi
je 0x425ec9
cmp byte [ebx + 9], 0
je 0x425ec9
push ebx
call fcn.00425a10
pop ecx
test al, al
jne 0x425ff7
cmp edi, esi
jne 0x425ed2
cmp dword [ebp + 0x14], esi
je 0x425f3c
push edi
lea ecx, [ebp - 0x18]
call fcn.0042d524
cmp byte [ebp + 0x18], 0
mov edi, eax
je 0x425f0d
push 0xa
pop eax
cmp edi, eax
jae 0x425eec
mov eax, edi
push 1
push eax
push 1
push dword [ebp + 0x10]
push dword [ebp + 0x14]
call dword [sym.imp.KERNEL32.dll_WaitForMultipleObjectsEx]
mov esi, eax
cmp esi, 0x102
jne 0x425f72
test edi, edi
jne 0x425e9e
jmp 0x425f44
xor eax, eax
cmp dword [ebp + 0xc], 2
push 2
setne al
dec eax
and eax, 0xfffffa41
add eax, 0x5ff
push eax
push edi
push dword [ebp + 0x10]
push dword [ebp + 0x14]
call dword [sym.imp.USER32.dll_MsgWaitForMultipleObjectsEx]
mov esi, eax
cmp esi, dword [ebp + 0x14]
je 0x425e9e
cmp esi, 0x102
jne 0x425f72
cmp dword [ebp + 0x14], 0
jne 0x425f72
xor esi, esi
jmp 0x425f72
cmp dword [ebp + 0x14], 0
push 1
push edi
je 0x425f6a
movzx eax, byte [ebp + 0x18]
push eax
push dword [ebp + 0x10]
push dword [ebp + 0x14]
call dword [sym.imp.KERNEL32.dll_WaitForMultipleObjectsEx]
jmp 0x425f70
call dword [sym.imp.KERNEL32.dll_SleepEx]
mov esi, eax
lea ecx, [ebp - 0x18]
call fcn.0042d502
test al, al
je 0x425f86
mov ecx, dword [ebp - 0x10]
call fcn.00420980
cmp esi, 0xffffffff
je 0x425ffc
cmp esi, 0xc0
jne 0x425fa9
push edi
lea ecx, [ebp - 0x18]
call fcn.0042d524
mov edi, eax
test edi, edi
jne 0x425e94
add esi, 0x42
test ebx, ebx
je 0x426006
push ebx
call fcn.00425a10
pop ecx
test al, al
jne 0x425ff7
cmp dword [ebp + 0x1c], 0xffffffff
je 0x425fcc
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [ebp + 8]
cmp eax, dword [ebp + 0x1c]
jae 0x426001
movzx eax, word [ebx + 0xc]
movzx edi, word [ebx + 0xe]
inc eax
cmp eax, edi
jge 0x425fdb
mov edi, eax
movzx eax, word [ebx + 0x14]
mov word [ebx + 0xc], di
cmp edi, eax
ja 0x425e94
mov edi, eax
jmp 0x425e94
push 0xfffffffffffffffe
pop esi
jmp 0x426046
xor esi, esi
inc esi
jmp 0x426046
or esi, 0xffffffff
jmp 0x426046
mov esi, 0x102
mov edi, 0x80
cmp esi, edi
jb 0x426024
mov eax, dword [ebp + 0x14]
sub eax, 0xffffff80
cmp esi, eax
jae 0x426024
push edi
call dword [sym.imp.KERNEL32.dll_SetLastError]
sub esi, edi
jmp 0x42602c
push 0
call dword [sym.imp.KERNEL32.dll_SetLastError]
test esi, esi
je 0x426045
cmp esi, dword [ebp + 0x14]
jb 0x426045
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x18]
call fcn.0042d4e9
xor eax, eax
jmp 0x426054
inc esi
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x18]
call fcn.0042d4e9
mov eax, esi
pop edi
mov ecx, dword [ebp - 0xc]
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret 0x18