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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffc8
push ebx
push esi
push edi
xor edx, edx
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x38], edx
mov ebx, eax
xor eax, eax
push ebp
push 0x48aba0
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x20]
push eax
mov eax, dword [ebx + 0xc8]
call fcn.004490f8
push eax
call sub.user32.dll_GetWindowRect
mov eax, dword [ebp - 0x1c]
neg eax
push eax
mov eax, dword [ebp - 0x20]
neg eax
push eax
lea eax, [ebp - 0x20]
push eax
call sub.user32.dll_OffsetRect
mov eax, dword [ebx + 0xec]
cmp eax, dword [ebp - 0x18]
jne 0x48a869
mov eax, dword [ebx + 0xf0]
cmp eax, dword [ebp - 0x14]
je 0x48ab85
call sub.kernel32.dll_GetTickCount
mov edi, eax
mov eax, dword [ebp - 0x18]
mov dword [ebx + 0xec], eax
mov eax, dword [ebp - 0x14]
mov dword [ebx + 0xf0], eax
cmp byte [ebx + 0xc0], 0
je 0x48a897
mov eax, dword [ebx + 0xc4]
push eax
call sub.gdi32.dll_DeleteObject
mov eax, dword [ebp - 0x14]
sub eax, dword [ebx + 0x8c]
push eax
mov eax, dword [ebp - 0x18]
sub eax, dword [ebx + 0x88]
push eax
mov eax, dword [ebx + 0x84]
push eax
mov eax, dword [ebx + 0x80]
push eax
call sub.gdi32.dll_CreateRectRgn
mov dword [ebx + 0xc4], eax
mov eax, dword [ebx + 0xc8]
cmp byte [eax + 0x229], 0
je 0x48ab33
mov dl, 1
mov eax, dword [0x420760]
call fcn.00426a08
mov esi, eax
mov eax, dword [ebp - 0x14]
push eax
lea eax, [ebp - 0x30]
push eax
mov ecx, dword [ebx + 0x80]
xor edx, edx
xor eax, eax
call fcn.00416830
mov edx, dword [ebp - 0x28]
mov eax, esi
mov ecx, dword [eax]
call dword [ecx + 0x40]
mov edx, dword [ebp - 0x24]
mov eax, esi
mov ecx, dword [eax]
call dword [ecx + 0x34]
mov eax, esi
call fcn.00426fd0
call fcn.00422620
push eax
lea ecx, [ebp - 0x30]
mov edx, 1
mov eax, ebx
call fcn.0048a710
push 0xff00ff
push 1
push 1
push 1
xor ecx, ecx
xor edx, edx
mov eax, esi
call fcn.0048b64c
mov dword [ebp - 4], eax
mov eax, dword [ebp - 0x14]
push eax
lea eax, [ebp - 0x30]
push eax
mov ecx, dword [ebx + 0x88]
xor edx, edx
xor eax, eax
call fcn.00416830
mov edx, dword [ebp - 0x28]
mov eax, esi
mov ecx, dword [eax]
call dword [ecx + 0x40]
mov edx, dword [ebp - 0x24]
mov eax, esi
mov ecx, dword [eax]
call dword [ecx + 0x34]
mov eax, esi
call fcn.00426fd0
call fcn.00422620
push eax
lea ecx, [ebp - 0x30]
mov edx, 2
mov eax, ebx
call fcn.0048a710
push 0xff00ff
push 1
push 1
push 1
mov edx, dword [ebp - 0x18]
sub edx, dword [ebx + 0x88]
xor ecx, ecx
mov eax, esi
call fcn.0048b64c
mov dword [ebp - 8], eax
mov eax, dword [ebx + 0x8c]
push eax
lea eax, [ebp - 0x30]
push eax
mov ecx, dword [ebp - 0x18]
sub ecx, dword [ebx + 0x80]
sub ecx, dword [ebx + 0x88]
xor edx, edx
xor eax, eax
call fcn.00416830
mov edx, dword [ebp - 0x28]
mov eax, esi
mov ecx, dword [eax]
call dword [ecx + 0x40]
mov edx, dword [ebp - 0x24]
mov eax, esi
mov ecx, dword [eax]
call dword [ecx + 0x34]
mov eax, esi
call fcn.00426fd0
call fcn.00422620
push eax
lea ecx, [ebp - 0x30]
mov edx, 4
mov eax, ebx
call fcn.0048a710
mov eax, dword [ebx + 0x8c]
cmp eax, 1
jle 0x48aa2c
push 0xff00ff
push 1
push 1
push 1
mov ecx, dword [ebp - 0x14]
sub ecx, eax
mov edx, dword [ebx + 0x80]
mov eax, esi
call fcn.0048b64c
mov dword [ebp - 0x10], eax
jmp 0x48aa4c
mov edx, dword [ebp - 0x14]
push edx
mov ecx, dword [ebp - 0x18]
sub ecx, dword [ebx + 0x88]
push ecx
sub edx, eax
push edx
mov eax, dword [ebx + 0x80]
push eax
call sub.gdi32.dll_CreateRectRgn
mov dword [ebp - 0x10], eax
mov eax, dword [ebx + 0x84]
push eax
lea eax, [ebp - 0x30]
push eax
mov ecx, dword [ebp - 0x18]
sub ecx, dword [ebx + 0x80]
sub ecx, dword [ebx + 0x88]
xor edx, edx
xor eax, eax
call fcn.00416830
mov edx, dword [ebp - 0x28]
mov eax, esi
mov ecx, dword [eax]
call dword [ecx + 0x40]
mov edx, dword [ebp - 0x24]
mov eax, esi
mov ecx, dword [eax]
call dword [ecx + 0x34]
mov eax, esi
call fcn.00426fd0
call fcn.00422620
push eax
lea ecx, [ebp - 0x30]
mov edx, 3
mov eax, ebx
call fcn.0048a710
push 0xff00ff
push 1
push 1
push 1
xor ecx, ecx
mov edx, dword [ebx + 0x80]
mov eax, esi
call fcn.0048b64c
mov dword [ebp - 0xc], eax
push 2
mov eax, dword [ebp - 8]
push eax
mov eax, dword [ebp - 4]
push eax
mov eax, dword [ebp - 4]
push eax
call sub.gdi32.dll_CombineRgn
push 2
mov eax, dword [ebp - 0x10]
push eax
mov eax, dword [ebp - 0xc]
push eax
mov eax, dword [ebp - 0xc]
push eax
call sub.gdi32.dll_CombineRgn
push 2
mov eax, dword [ebp - 4]
push eax
mov eax, dword [ebp - 0xc]
push eax
mov eax, dword [ebp - 0xc]
push eax
call sub.gdi32.dll_CombineRgn
push 2
mov edx, dword [ebp - 0xc]
push edx
mov eax, dword [ebx + 0xc4]
push eax
push eax
call sub.gdi32.dll_CombineRgn
mov eax, dword [ebp - 4]
push eax
call sub.gdi32.dll_DeleteObject
mov eax, dword [ebp - 8]
push eax
call sub.gdi32.dll_DeleteObject
mov eax, dword [ebp - 0xc]
push eax
call sub.gdi32.dll_DeleteObject
mov eax, dword [ebp - 0x10]
push eax
call sub.gdi32.dll_DeleteObject
mov eax, esi
call fcn.004031e4
push 0xffffffffffffffff
mov eax, dword [ebx + 0xc4]
push eax
mov eax, dword [ebx + 0xc8]
call fcn.004490f8
push eax
call sub.user32.dll_SetWindowRgn
mov byte [ebx + 0xc0], 1
call sub.kernel32.dll_GetTickCount
sub eax, edi
mov edi, eax
mov eax, edi
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x38]
call fcn.00408618
mov ecx, dword [ebp - 0x38]
lea eax, [ebp - 0x34]
mov edx, 0x48abb8
call fcn.004042c4
mov edx, dword [ebp - 0x34]
mov eax, ebx
call fcn.00488f80
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x48aba7
lea eax, [ebp - 0x38]
mov edx, 2
call fcn.00403fdc
ret