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

Disassembly:
sub esp, 0x4c
push ebx
mov ebx, dword [esp + 0x54]
push ebp
mov ebp, dword [esp + 0x64]
push esi
push edi
mov edi, dword [esp + 0x64]
mov esi, ecx
cmp edi, 0x203
ja 0x45b3b9
cmp edi, 0x203
je 0x45b376
cmp edi, 0x113
ja 0x45b2f4
je 0x45b2de
cmp edi, 5
je 0x45b2a6
cmp edi, 0xf
je 0x45b271
cmp edi, 0x14
jne case.0x45b3da.518
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x4c
ret 0x10
mov edi, dword [esp + 0x60]
lea eax, [esp + 0x1c]
push eax
push edi
call dword [sym.imp.user32.dll_BeginPaint]
mov edx, dword [esi]
push eax
lea eax, [esp + 0x20]
mov ecx, esi
push eax
call dword [edx + 0xc]
lea ecx, [esp + 0x1c]
push ecx
push edi
call dword [sym.imp.user32.dll_EndPaint]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x4c
ret 0x10
cmp dword [esp + 0x68], 1
je 0x45b591
mov ecx, esi
call fcn.0045deb0
mov eax, dword [esi + 0x30]
test eax, eax
je 0x45b591
mov edx, dword [esp + 0x60]
push 0
push 0
push edx
call dword [sym.imp.user32.dll_InvalidateRect]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x4c
ret 0x10
mov ecx, dword [esp + 0x68]
mov eax, dword [esi]
push ecx
mov ecx, esi
call dword [eax + 0x1c]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x4c
ret 0x10
mov eax, edi
sub eax, 0x200
je 0x45b351
dec eax
je 0x45b32c
dec eax
jne case.0x45b3da.518
mov eax, dword [esp + 0x6c]
mov edi, dword [esp + 0x68]
movsx ecx, ax
mov edx, dword [esi]
push edi
shr eax, 0x10
movsx eax, ax
push eax
push ecx
mov ecx, esi
call dword [edx + 0x18]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x4c
ret 0x10
mov eax, dword [esp + 0x6c]
mov edi, dword [esp + 0x68]
movsx ecx, ax
mov edx, dword [esi]
push edi
shr eax, 0x10
movsx eax, ax
push eax
push ecx
mov ecx, esi
call dword [edx + 0x14]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x4c
ret 0x10
mov eax, dword [esp + 0x6c]
mov edi, dword [esp + 0x68]
movsx ecx, ax
mov edx, dword [esi]
push edi
shr eax, 0x10
movsx eax, ax
push eax
push ecx
mov ecx, esi
call dword [edx + 0x10]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x4c
ret 0x10
push 0xfffffffffffffff4
push ebx
mov dword [esp + 0x18], ebx
call dword [sym.imp.user32.dll_GetWindowLongA]
mov edx, dword [esi + 0x4c]
lea ecx, [esp + 0x10]
push ecx
push eax
push 0x4e
push edx
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], 0xfffffffd
call dword [sym.imp.user32.dll_SendMessageA]
mov eax, dword [esp + 0x68]
push ebp
push eax
push edi
push ebx
call dword [sym.imp.user32.dll_DefWindowProcA]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x4c
ret 0x10
cmp edi, 0x30f
ja 0x45b4c3
je 0x45b582
lea eax, [edi - 0x204]
cmp eax, 4
ja case.0x45b3da.518
jmp dword [eax*4 + 0x45b5a0]
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x60]
push eax
push ecx
push 0x200
push edx
call dword [sym.imp.user32.dll_SendMessageA]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x4c
ret 0x10
push 0xfffffffffffffff4
push ebx
mov dword [esp + 0x18], ebx
call dword [sym.imp.user32.dll_GetWindowLongA]
mov edx, dword [esi + 0x4c]
mov esi, dword [sym.imp.user32.dll_SendMessageA]
lea ecx, [esp + 0x10]
mov dword [esp + 0x14], eax
push ecx
push eax
push 0x4e
push edx
mov dword [esp + 0x28], 0xfffffffb
call esi
mov eax, dword [esp + 0x68]
push ebp
push eax
push 0x200
push ebx
call esi
mov eax, dword [esp + 0x68]
push ebp
push eax
push edi
push ebx
call dword [sym.imp.user32.dll_DefWindowProcA]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x4c
ret 0x10
mov edi, dword [esp + 0x6c]
mov ebx, dword [esp + 0x60]
movsx ecx, di
mov edx, edi
mov dword [esp + 0x10], ecx
shr edx, 0x10
movsx eax, dx
lea ecx, [esp + 0x10]
mov dword [esp + 0x14], eax
push ecx
push ebx
call dword [sym.imp.user32.dll_ClientToScreen]
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
mov ecx, dword [esi + 0x4c]
and edx, 0xffff
mov esi, dword [sym.imp.user32.dll_SendMessageA]
and eax, 0xffff
shl edx, 0x10
or edx, eax
push edx
push ebx
push 0x7b
push ecx
call esi
mov edx, dword [esp + 0x68]
push edi
push edx
push 0x200
push ebx
call esi
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x4c
ret 0x10
mov eax, edi
sub eax, 0x311
je 0x45b582
sub eax, 0xef
je 0x45b524
dec eax
je 0x45b4f2
mov eax, dword [esp + 0x68]
push ebp
push eax
push edi
push ebx
call dword [sym.imp.user32.dll_DefWindowProcA]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x4c
ret 0x10
mov eax, dword [esi + 0x718]
test eax, eax
je 0x45b591
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x68]
push ecx
mov ecx, dword [esi + 0x71c]
push edx
push ecx
push eax
call dword [sym.imp.user32.dll_SendMessageA]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x4c
ret 0x10
mov edi, dword [sym.imp.kernel32.dll_GetTickCount]
call edi
mov edx, dword [esp + 0x68]
push 1
push edx
mov ecx, esi
mov ebx, eax
call fcn.0045d440
mov ebp, eax
call edi
sub eax, ebx
cmp eax, 0x1e
jbe 0x45b55a
mov eax, dword [esi + 0x6d8]
dec eax
cmp eax, 1
jge 0x45b563
mov eax, 1
jmp 0x45b563
jae 0x45b569
mov eax, dword [esi + 0x6d8]
inc eax
mov dword [esi + 0x6d8], eax
mov eax, dword [esi + 0x708]
push eax
call dword [sym.imp.kernel32.dll_SetEvent]
pop edi
mov eax, ebp
pop esi
pop ebp
pop ebx
add esp, 0x4c
ret 0x10
mov ecx, dword [esp + 0x60]
push 0
push 0
push ecx
call dword [sym.imp.user32.dll_InvalidateRect]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x4c
ret 0x10