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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x10024
call fcn.004b5860
push ebx
push esi
mov dword [esp + 0xc], edx
mov edx, 0x4dc740
push edi
mov edi, dword [ebp + 0x14]
call fcn.004868a0
mov esi, eax
test esi, esi
jne 0x4866b8
push dword [0x4e9d80]
mov ecx, 0x4e9e50
push eax
push 9
push eax
push str.No_StatusBar.
call fcn.0040ca20
neg eax
sbb eax, eax
and eax, 0x80000000
add eax, 0xa0000000
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp edi, 1
mov eax, 0x32
mov ebx, 1
cmovge eax, edi
cmp dword [esp + 0x10], ebx
mov dword [esp + 0x2c], eax
mov edi, ebx
cmovge edi, dword [esp + 0x10]
lea eax, [esp + 0x20]
push eax
push 0x7d0
push 2
push 0
push 0
push 0x406
push esi
call dword [sym.imp.USER32.dll_SendMessageTimeoutW]
test eax, eax
je 0x48675d
cmp edi, dword [esp + 0x20]
jle 0x486713
mov eax, dword [ebp + 0xc]
neg eax
sbb eax, eax
and eax, 2
or eax, 0xa00a0000
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea eax, [esp + 0x24]
push eax
push esi
call dword [sym.imp.USER32.dll_GetWindowThreadProcessId]
push dword [esp + 0x24]
push 0
push 0x38
call dword [sym.imp.KERNEL32.DLL_OpenProcess]
mov dword [esp + 0x18], eax
test eax, eax
je 0x48675d
push 4
push 0x3000
push 0x10000
push 0
push eax
call dword [sym.imp.KERNEL32.DLL_VirtualAllocEx]
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x486769
mov edi, dword [esp + 0x18]
push edi
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
mov eax, 0xa0070000
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea eax, [edi - 1]
mov dword [esp + 0x10], eax
xor eax, eax
mov word [esp + 0x30], ax
call dword [sym.imp.KERNEL32.DLL_GetTickCount]
mov edi, dword [esp + 0x18]
mov dword [esp + 0x28], eax
lea eax, [esp + 0x14]
push eax
push 0x7d0
push 2
push 0
push dword [esp + 0x20]
push 0x40c
push esi
call dword [sym.imp.USER32.dll_SendMessageTimeoutW]
test eax, eax
je 0x486814
mov eax, 0x7fff
cmp word [esp + 0x14], ax
ja 0x48685a
lea eax, [esp + 0x14]
push eax
push 0x7d0
push 2
push dword [esp + 0x28]
push dword [esp + 0x20]
push 0x40d
push esi
call dword [sym.imp.USER32.dll_SendMessageTimeoutW]
test eax, eax
je 0x486814
movzx eax, word [esp + 0x14]
push 0
lea eax, [eax*2 + 2]
push eax
lea eax, [esp + 0x38]
push eax
push dword [esp + 0x28]
push edi
call dword [sym.imp.KERNEL32.DLL_ReadProcessMemory]
test eax, eax
je 0x486853
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x48685a
mov edx, eax
lea ecx, [esp + 0x30]
call fcn.00485120
test al, al
jne 0x48688e
cmp dword [ebp + 0xc], 0
je 0x48685a
push esi
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x486897
cmp dword [ebp + 0x10], 0
jl 0x486843
call dword [sym.imp.KERNEL32.DLL_GetTickCount]
mov ecx, dword [esp + 0x28]
add ecx, dword [ebp + 0x10]
mov edi, dword [esp + 0x18]
sub ecx, eax
cmp ecx, 5
jle 0x486897
mov ecx, dword [esp + 0x2c]
mov edx, ebx
call fcn.00401600
jmp 0x486785
xor eax, eax
mov word [esp + 0x30], ax
push 0x8000
push 0
push dword [esp + 0x24]
push edi
call dword [sym.imp.KERNEL32.DLL_VirtualFreeEx]
push edi
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
mov ecx, dword [ebp + 8]
test ecx, ecx
je 0x48688e
lea eax, [esp + 0x30]
push eax
call fcn.00421c30
test al, al
mov ecx, 0xa00e0001
cmove ebx, ecx
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret