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

Disassembly:
push esi
mov esi, dword [esp + 8]
push edi
xor edi, edi
cmp esi, edi
mov dword [0x441cdc], esi
je 0x40a771
cmp esi, 3
je 0x40a771
cmp esi, 1
je 0x40a6ed
cmp esi, 2
jne 0x40a78e
cmp dword [0x441cc8], edi
je 0x40a703
mov eax, dword [0x441734]
push 0x1d
push eax
call dword [sym.imp.USER32.dll_KillTimer]
mov ecx, dword [0x441734]
push edi
push 0x7d0
push 0x1d
push ecx
mov dword [0x441cc8], 1
call dword [sym.imp.USER32.dll_SetTimer]
cmp esi, 1
jne 0x40a78e
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x441ccc], eax
cmp dword [0x441cd4], edi
je 0x40a76e
cmp dword [0x441cd0], edi
je 0x40a768
mov eax, dword [0x441cd8]
cmp eax, edi
je 0x40a755
push edi
push edi
call eax
mov dword [0x441cd8], edi
mov edx, dword [0x441cd0]
push edx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov dword [0x441cd0], edi
mov dword [0x441cd4], edi
pop edi
pop esi
ret
cmp dword [0x441cc8], edi
je 0x40a78e
mov edx, dword [0x441734]
push 0x1d
push edx
mov dword [0x441cc8], edi
call dword [sym.imp.USER32.dll_KillTimer]
cmp esi, edi
je 0x40a732
cmp esi, 1
je 0x40a732
cmp esi, 2
je 0x40a7a1
cmp esi, 3
jne 0x40a76e
cmp dword [0x441cd4], edi
jne 0x40a76e
mov ecx, dword [0x441cd0]
cmp ecx, edi
jne 0x40a7ca
push str.InputHook.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov ecx, eax
cmp ecx, edi
mov dword [0x441cd0], ecx
je 0x40a76e
mov eax, dword [0x441cd8]
cmp eax, edi
jne 0x40a7e8
push str.KeybdMouseEventHook
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp eax, edi
mov dword [0x441cd8], eax
je 0x40a76e
mov ecx, dword [0x441734]
push 1
push ecx
call eax
pop edi
mov dword [0x441cd4], 1
pop esi
ret
mov eax, dword [esp + 4]
sub esp, 8
test eax, eax
jne 0x40ab53
cmp dword [0x441cdc], eax
je 0x40ac0a
add esp, 8
mov dword [esp + 4], eax
jmp 0x40a6c0
cmp eax, 1
jne 0x40ab7e
cmp dword [0x441ce0], 0
je 0x40ac0a
cmp dword [section..data], 0
je 0x40ac0a
add esp, 8
mov dword [esp + 4], eax
jmp 0x40a6c0
cmp eax, 2
jne 0x40ac54
mov eax, dword [0x441cdc]
cmp eax, 1
je 0x40ab96
cmp eax, 2
jne 0x40ac0a
lea eax, [esp]
push eax
mov dword [esp + 4], 8
call dword [sym.imp.USER32.dll_GetLastInputInfo]
test eax, eax
je 0x40ac0a
mov eax, dword [esp + 4]
cmp dword [0x441ccc], eax
jb 0x40ac28
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
mov eax, dword [0x441ccc]
cmp ecx, eax
jae 0x40abd0
mov eax, ecx
mov dword [0x441ccc], eax
sub ecx, eax
mov eax, 0x51eb851f
mul ecx
mov ecx, dword [0x441ce0]
shr edx, 5
cmp edx, ecx
jb 0x40ac0a
mov eax, dword [0x441cdc]
cmp eax, 1
jne 0x40ac0e
mov ecx, dword [0x440128]
push 2
push 0
push ecx
call fcn.0040ae40
push 2
call 0x40a6c0
add esp, 0x10
add esp, 8
ret
cmp eax, 2
jne 0x40ac0a
add ecx, 0x64
cmp edx, ecx
jb 0x40ac0a
push 3
call 0x40a6c0
add esp, 4
add esp, 8
ret
cmp dword [0x441cdc], 2
mov dword [0x441ccc], eax
jne 0x40ac0a
mov edx, dword [0x440128]
push 2
push 1
push edx
call fcn.0040ae40
push 1
call 0x40a6c0
add esp, 0x10
add esp, 8
ret
cmp eax, 3
jne 0x40ac87
mov eax, dword [0x441cdc]
cmp eax, 2
je 0x40ac68
cmp eax, 3
jne 0x40ac0a
mov eax, dword [0x440128]
push 2
push 1
push eax
call fcn.0040ae40
add esp, 0x14
mov dword [esp + 4], 1
jmp 0x40a6c0
cmp eax, 4
jne 0x40ac0a
mov eax, dword [0x441cdc]
test eax, eax
je 0x40ac0a
cmp eax, 2
je 0x40aca7
cmp eax, 3
jne 0x40acba
mov ecx, dword [0x440128]
push 2
push 1
push ecx
call fcn.0040ae40
add esp, 0xc
add esp, 8
mov dword [esp + 4], 0
jmp 0x40a6c0