Function at 0x4c13bf
Capabilities:
Check for time delay via gettickcount
Check for unmoving mouse cursor
Log keystrokes via polling

Disassembly:
push 0x10c
mov eax, 0x511ce5
call fcn.004f41e2
mov edi, ecx
mov esi, dword [ebp + 0xc]
xor ecx, ecx
cmp esi, 0xffffffff
jne 0x4c13f8
push dword [ebp + 0x14]
push dword [ebp + 0x10]
call fcn.004e6ac5
mov esi, dword [edi]
pop ecx
pop ecx
push 1
push 0
push edx
push eax
mov ecx, edi
call dword [esi + 0x40]
mov esi, eax
xor ecx, ecx
mov ebx, dword [ebp + 8]
mov eax, ebx
sub eax, 0x20
je 0x4c1734
sub eax, 0x1e0
je 0x4c16f4
sub eax, 1
je 0x4c15d7
sub eax, 1
je 0x4c15c1
sub eax, 1
je 0x4c1437
dec eax
sub eax, 1
je 0x4c1437
sub eax, 3
jne 0x4c1708
cmp ebx, 0x203
jne 0x4c1450
mov eax, dword [0x5a23ec]
cmp dword [eax + 0x110c4], ecx
je 0x4c1708
test esi, esi
js 0x4c1708
lea ecx, [ebp - 0x118]
call fcn.004d840a
xor eax, eax
mov dword [ebp - 4], eax
mov dword [ebp - 0x108], eax
mov dword [ebp - 0x104], eax
lea eax, [ebp - 0x108]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
lea eax, [ebp - 0x118]
mov ecx, edi
push eax
push esi
call fcn.004c0f00
test al, al
je 0x4c14e8
push 0x11
call dword [sym.imp.USER32.dll_GetKeyState]
cwde
cmp ebx, 0x203
jne 0x4c156d
mov eax, dword [0x5a23ec]
mov eax, dword [eax + 0x110c4]
sub eax, 1
je 0x4c1546
sub eax, 1
je 0x4c1532
sub eax, 1
je 0x4c152b
sub eax, 1
je 0x4c150b
sub eax, 1
je 0x4c14fd
sub eax, 1
jne 0x4c14e8
mov ecx, dword [ebp - 0x114]
call fcn.004de78b
mov ecx, eax
call fcn.00485dab
mov esi, 0x8000
lea ecx, [ebp - 0x118]
call fcn.004d84a5
jmp 0x4c170d
push dword [ebp - 0x114]
call fcn.004d6067
pop ecx
jmp 0x4c14e8
push 0xabdc
mov ecx, dword [0x5a22a0]
push dword [ebp - 0x114]
push 0
mov ecx, dword [ecx + 0x3e60]
call fcn.00459824
jmp 0x4c14e8
push 0xabd2
jmp 0x4c1510
mov ecx, dword [ebp - 0x114]
call fcn.004de78b
mov ecx, eax
call fcn.00483eaa
jmp 0x4c14e8
mov eax, dword [0x5a22a0]
mov ecx, 0x200
or word [eax + 0x3ebc], cx
mov ecx, dword [0x5a22a0]
lea ecx, [ecx + 0x180]
call fcn.0042a1e6
jmp 0x4c14e8
mov esi, 0x8000
cmp ebx, 0x205
jne 0x4c15aa
test esi, eax
jne 0x4c15aa
mov ecx, dword [0x5a22a0]
push 0
push 0
push dword [ebp - 0x104]
mov ecx, dword [ecx + 0x3e60]
push dword [ebp - 0x108]
push dword [ebp - 0x114]
call fcn.0045c3b3
jmp 0x4c14ed
mov ecx, dword [ebp - 0x114]
call fcn.004de78b
mov ecx, eax
call fcn.00483eaa
jmp 0x4c14ed
cmp dword [edi + 0x448], ecx
je 0x4c1708
push 0x202
jmp 0x4c1701
mov ebx, dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp dword [edi + 0x45c], ecx
je 0x4c1634
call ebx
sub eax, dword [edi + 0x45c]
cmp eax, 0xc8
ja 0x4c1634
push str.Tab_LeftClick_was_skipped__mn_LastChangeTick_
push 0x78
lea eax, [ebp - 0x100]
push eax
call fcn.00401a0b
mov ecx, dword [0x5a23ec]
push 1
call fcn.004673c5
test eax, eax
je 0x4c1708
push 1
lea eax, [ebp - 0x100]
push 1
push eax
call fcn.00421c79
add esp, 0xc
jmp 0x4c1708
lea eax, [edi + 0x450]
mov dword [edi + 0x448], 1
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x34]
cmp eax, esi
je 0x4c16ea
push dword [edi + 0x458]
inc eax
push eax
lea eax, [esi + 1]
push eax
lea eax, [ebp - 0x100]
push str.Tab_was_LeftClicked_Tab_i_OldTab_i_InSelChange_i
push eax
call fcn.00403213
mov ecx, dword [0x5a23ec]
add esp, 0x14
push 1
call fcn.004673c5
test eax, eax
je 0x4c169e
push 1
lea eax, [ebp - 0x100]
push 1
push eax
call fcn.00421c79
add esp, 0xc
cmp dword [edi + 0x458], 0
jne 0x4c16b3
push 0
push esi
mov ecx, edi
call fcn.004c0f00
jmp 0x4c16ea
push str.Tab_LeftClick_was_skipped__mn_InSelChange_
push 0x78
lea eax, [ebp - 0x100]
push eax
call fcn.00401a0b
mov ecx, dword [0x5a23ec]
push 1
call fcn.004673c5
test eax, eax
je 0x4c16ea
push 1
lea eax, [ebp - 0x100]
push 1
push eax
call fcn.00421c79
add esp, 0xc
call ebx
mov dword [edi + 0x45c], eax
jmp 0x4c1708
cmp dword [edi + 0x448], ecx
je 0x4c1708
push 0x200
mov ecx, edi
call fcn.004c0c6c
mov esi, 0x8000
cmp dword [edi + 0x448], 0
je 0x4c172a
push 1
call dword [sym.imp.USER32.dll_GetKeyState]
test si, ax
jne 0x4c172a
mov ecx, edi
call fcn.004c0edc
xor eax, eax
call fcn.004f418c
ret 0x10
cmp dword [edi + 0x448], ecx
je 0x4c172a
push 1
call dword [sym.imp.USER32.dll_GetKeyState]
mov ecx, 0x8000
test cx, ax
je 0x4c1723
xor eax, eax
cmp dword [edi + 0x44c], eax
je 0x4c172a
mov dword [ebp - 0x108], eax
mov dword [ebp - 0x104], eax
lea eax, [ebp - 0x108]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
mov eax, dword [ebp - 0x108]
sub eax, dword [edi + 0x450]
cdq
xor eax, edx
sub eax, edx
cmp eax, 5
jle 0x4c172a
push dword [edi + 0x44c]
call dword [sym.imp.USER32.dll_SetCursor]
cmp dword [edi + 0x448], 1
jne 0x4c17a6
mov dword [edi + 0x448], 2
xor eax, eax
inc eax
jmp 0x4c172c