Function at 0x416b50
Capabilities:
Check for time delay via gettickcount
Hide graphical window

Disassembly:
push 0xffffffffffffffff
push 0x4326e0
mov eax, dword fs:[0]
push eax
sub esp, 0x40
push ebx
push ebp
push esi
push edi
mov eax, dword [0x43ce70]
xor eax, esp
push eax
lea eax, [esp + 0x54]
mov dword fs:[0], eax
mov esi, ecx
mov edi, dword [esp + 0x6c]
mov ebp, dword [esp + 0x68]
or eax, 0xffffffff
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], eax
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x1c]
push ecx
push edi
push ebp
mov ecx, esi
call fcn.00412280
test eax, eax
je 0x416c11
mov ebx, dword [esp + 0x64]
test bl, 0xc
jne 0x416c11
mov edx, dword [esp + 0x18]
cmp dword [esi + 0xf0], edx
jne 0x416c11
mov eax, dword [esi + 0xf4]
cmp eax, dword [esp + 0x14]
jne 0x416c11
push edi
push ebp
lea ecx, [esi + 0xa8]
call fcn.0040bec0
test eax, eax
je 0x416c11
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [esi + 0x134]
cmp eax, 0x1f4
jae 0x416c11
movzx ecx, di
movzx edx, bp
shl ecx, 0x10
or ecx, edx
push ecx
push ebx
push 0x203
lea ecx, [esi + 4]
mov dword [esi + 0x134], 0
call fcn.00405c20
jmp 0x417076
mov eax, dword [esp + 0x14]
push eax
mov ecx, esi
call fcn.0040b620
mov ecx, dword [esp + 0x18]
mov ebx, eax
push ebx
push ecx
mov ecx, esi
call fcn.004158a0
test al, 8
jne 0x416cd4
mov edx, dword [esp + 0x18]
push ebx
push edx
mov ecx, esi
call fcn.00416a70
cmp eax, 6
jne 0x416c76
xor eax, eax
mov dword [esi + 0x44], eax
mov dword [esi + 0x38], eax
mov eax, dword [esi + 0x1c0]
push eax
call dword [sym.imp.USER32.dll_SetCursor]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
push 0xfffffa1d
push ecx
push edx
mov ecx, esi
call fcn.00410dc0
jmp 0x417076
push ebx
mov ebx, dword [esp + 0x1c]
push ebx
mov ecx, esi
call fcn.00416a70
cmp eax, 0xe
jne 0x416cd4
xor eax, eax
mov dword [esi + 0x44], eax
mov dword [esi + 0x38], eax
mov eax, dword [esi + 0x1c0]
push eax
call dword [sym.imp.USER32.dll_SetCursor]
test byte [esp + 0x64], 0xc
jne 0x416cbd
push ebx
mov ecx, esi
call fcn.0040df80
test eax, eax
je 0x416cbd
cmp dword [esi + 0x328], 1
ja 0x417076
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x14]
push ecx
push edx
push ebx
mov ecx, esi
call fcn.00415a50
jmp 0x417076
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [esi + 0x134], eax
mov dword [esi + 0x94], 0
call dword [sym.imp.USER32.dll_GetCapture]
cmp eax, dword [esi + 0x234]
jne 0x416cfe
call dword [sym.imp.USER32.dll_ReleaseCapture]
mov eax, dword [esi + 0x234]
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x416d1e
mov ecx, dword [esi + 0x234]
push 0
push ecx
call dword [sym.imp.USER32.dll_ShowWindow]
mov edx, dword [esi + 4]
mov ebx, dword [sym.imp.USER32.dll_GetScrollPos]
push 1
push edx
mov dword [esi + 0x38], 1
mov dword [esi + 0xa0], ebp
mov dword [esi + 0xa4], edi
mov dword [esi + 0xa8], ebp
mov dword [esi + 0xac], edi
call ebx
mov dword [esp + 0x68], eax
mov eax, dword [esi + 4]
push 0
push eax
call ebx
mov ecx, dword [esp + 0x68]
mov edx, dword [esi + 4]
push 0x3ec
add eax, ebp
add ecx, edi
push edx
mov dword [esi + 0xb0], eax
mov dword [esi + 0xb4], ecx
call dword [sym.imp.USER32.dll_KillTimer]
xor ebx, ebx
cmp dword [esi + 0x144], ebx
je 0x416d9b
mov eax, dword [esi + 0x144]
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
cmp eax, ebx
je 0x416d9b
mov dword [esi + 0x144], ebx
mov ecx, dword [esi + 4]
push 1
push ebx
push ecx
call dword [sym.imp.USER32.dll_InvalidateRect]
mov edx, dword [esi + 4]
push edx
call dword [sym.imp.USER32.dll_SetFocus]
mov eax, dword [esi + 4]
push eax
call dword [sym.imp.USER32.dll_SetCapture]
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x6c]
push edx
push edi
push ebp
mov ecx, esi
mov dword [esp + 0x78], 0xffffffff
mov dword [esp + 0x2c], ebx
call fcn.00411830
test eax, eax
je 0x416e93
mov eax, dword [0x43e3bc]
mov edx, dword [eax + 0xc]
mov ecx, 0x43e3bc
call edx
add eax, 0x10
mov dword [esp + 0x28], eax
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x4c], ebx
mov edi, dword [esp + 0x68]
cmp edi, ebx
mov dword [esp + 0x5c], ebx
jl 0x416e7d
cmp edi, dword [esi + 0x318]
jge 0x416e7d
mov eax, edi
imul eax, eax, 0x2c
add eax, dword [esi + 0x314]
lea ecx, [esp + 0x28]
push eax
call fcn.0040ac30
cmp dword [esp + 0x30], ebx
jne 0x416e70
test byte [esp + 0x1c], 1
je 0x416e70
mov eax, dword [esi + 0x1bc]
push eax
call dword [sym.imp.USER32.dll_SetCursor]
mov eax, dword [esp + 0x2c]
mov dword [esi + 0x40], 1
mov dword [esi + 0x114], edi
mov dword [esi + 0x128], eax
call dword [sym.imp.USER32.dll_GetMessagePos]
movsx ecx, ax
mov dword [esi + 0x12c], ecx
jmp 0x416e7d
mov ecx, esi
mov dword [esi + 0x108], edi
call fcn.0040c550
lea ecx, [esp + 0x28]
mov dword [esp + 0x5c], 0xffffffff
call fcn.00407d80
jmp 0x417076
or ebx, 0xffffffff
mov ecx, esi
mov dword [esi + 0x108], ebx
call fcn.0040c550
lea edx, [esp + 0x14]
push edx
lea eax, [esp + 0x1c]
push eax
push edi
push ebp
mov ecx, esi
call fcn.00412280
test eax, eax
jne 0x416ed3
mov ecx, esi
mov dword [esi + 0xdc], ebx
mov dword [esi + 0x44], 1
call fcn.0040d6c0
jmp 0x417076
mov ecx, dword [esp + 0x64]
mov edi, dword [esp + 0x18]
mov eax, ecx
and eax, 4
jne 0x416efe
test cl, 8
jne 0x416efe
mov ebx, dword [esp + 0x14]
test ebx, ebx
je 0x416f02
mov dword [esi + 0x44], 1
mov dword [esi + 0xdc], edi
jmp 0x416f02
mov ebx, dword [esp + 0x14]
test eax, eax
jne 0x416f24
test cl, 8
jne 0x416f24
push edi
mov ecx, esi
call fcn.0040df80
test eax, eax
je 0x416f20
cmp dword [esi + 0x328], 1
ja 0x416f2e
mov ecx, dword [esp + 0x64]
push ecx
push ebx
push edi
mov ecx, esi
call fcn.00415a50
push ebx
mov ecx, esi
call fcn.0040b620
mov ebp, eax
push ebp
push edi
mov ecx, esi
call fcn.004158a0
test al, 8
jne 0x417076
push ebp
push edi
mov ecx, esi
call fcn.00416a70
sub eax, 4
je 0x416fe8
sub eax, 1
je 0x416f8f
sub eax, 1
jne 0x417076
mov ecx, dword [esi + 0x1c0]
push ecx
mov dword [esi + 0x44], eax
mov dword [esi + 0x38], eax
call dword [sym.imp.USER32.dll_SetCursor]
push 0xfffffa1d
push ebx
push edi
mov ecx, esi
call fcn.00410dc0
jmp 0x417076
push ebp
push edi
lea edx, [esp + 0x28]
push edx
mov ecx, esi
mov dword [esi + 0x44], 0
call fcn.00415790
mov eax, dword [eax]
push eax
call fcn.00420b97
add esp, 4
lea ecx, [esp + 0x20]
mov ebx, eax
call fcn.00402a50
test ebx, ebx
jge 0x416fc5
push 0x433a28
jmp 0x416fd3
jle 0x416fce
push 0x43401c
jmp 0x416fd3
push 0x433a2c
push ebp
push edi
mov ecx, esi
call fcn.004093a0
mov eax, dword [esp + 0x14]
push 0xfffffa1e
push eax
jmp 0x417064
lea ecx, [esp + 0x64]
push ecx
lea edx, [esp + 0x6c]
push edx
push ebx
push edi
mov ecx, esi
mov dword [esp + 0x74], 0
call fcn.00415980
cmp dword [esp + 0x64], 0xc0c0c0
je 0x417076
push ebp
push edi
lea eax, [esp + 0x2c]
push eax
mov ecx, esi
mov dword [esi + 0x44], 0
call fcn.00415790
mov eax, dword [eax]
push eax
mov dword [esp + 0x60], 1
call fcn.00420b97
add esp, 4
test eax, eax
mov eax, 0x433a28
jg 0x417043
mov eax, 0x433a2c
push eax
push ebp
push edi
mov ecx, esi
call fcn.004093a0
lea ecx, [esp + 0x24]
mov dword [esp + 0x5c], 0xffffffff
call fcn.00402a50
push 0xfffffa1e
push ebx
push edi
mov ecx, esi
call fcn.00410dc0
push 0xffffffffffffffff
push edi
mov ecx, esi
call fcn.00413cb0
mov ecx, dword [esp + 0x54]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x4c
ret 0xc