Function at 0x6082e8
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffc4
push ebx
push esi
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x24]
mov eax, dword [eax]
mov edx, eax
cmp edx, 0x101
jg 0x608324
je 0x6084f0
sub edx, 7
je 0x60834d
dec edx
je 0x608363
sub edx, 0xf8
je 0x6084d8
jmp 0x6085d7
sub edx, 0x102
je 0x6084c0
add edx, 0xfffffffe
sub edx, 2
jb 0x608508
sub edx, 0xfe
je 0x60845d
jmp 0x6085d7
mov eax, dword [ebp - 0x20]
call fcn.00607c14
mov si, 0xffe7
call fcn.00403ef4
jmp 0x6085d7
xor eax, eax
push ebp
push 0x608456
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x20]
cmp byte [eax + 0x2c], 0
je 0x608399
push ebp
call fcn.006082a4
pop ecx
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 0x20]
mov edx, dword [eax]
call dword [edx + 0x140]
call fcn.00404634
jmp 0x608763
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 0x20]
mov edx, dword [0x5de5f0]
call fcn.00403e84
test al, al
je 0x608437
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 0x20]
call fcn.00456c34
mov ebx, eax
call sub.user32.dll_GetFocus
cmp ebx, eax
jne 0x6083d7
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 0x20]
call fcn.00456c34
mov ebx, eax
jmp 0x6083e4
call sub.user32.dll_GetFocus
push eax
call sub.user32.dll_GetParent
mov ebx, eax
mov eax, ebx
call fcn.0044d250
mov edx, dword [0x5de5f0]
call fcn.00403e84
test al, al
jne 0x608402
push ebx
call sub.user32.dll_GetParent
mov ebx, eax
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 0x20]
call fcn.00456c34
cmp ebx, eax
je 0x608437
push ebp
call fcn.006082a4
pop ecx
push ebp
call fcn.00608278
pop ecx
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 0x20]
mov edx, dword [eax]
call dword [edx + 0x140]
call fcn.00404634
jmp 0x608763
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x6085d7
mov eax, dword [ebp - 0x20]
call fcn.00607c14
mov si, 0xffe6
call fcn.00403ef4
ret
lea edx, [ebp - 0x2c]
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 8]
call fcn.00408338
push 1
lea eax, [ebp - 0x2c]
push eax
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 0x20]
call fcn.00456c34
push eax
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 0x30]
push eax
call sub.user32.dll_MapWindowPoints
mov dx, word [ebp - 0x28]
mov ax, word [ebp - 0x2c]
call fcn.0040836c
push eax
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 4]
push eax
mov eax, dword [ebp - 0x24]
mov eax, dword [eax]
push eax
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 0x20]
call fcn.00456c34
push eax
call sub.user32.dll_SendMessageA
mov edx, dword [ebp - 0x24]
mov dword [edx + 0xc], eax
jmp 0x608763
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x20]
call fcn.00607d48
test al, al
jne 0x608763
jmp 0x6085d7
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x20]
call fcn.00607d18
test al, al
jne 0x608763
jmp 0x6085d7
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x20]
call fcn.00607d78
test al, al
jne 0x608763
jmp 0x6085d7
mov edx, dword [ebp - 0x24]
cmp eax, 0x104
jne 0x60851a
mov eax, dword [ebp - 0x20]
inc dword [eax + 0x34]
jmp 0x60852d
mov eax, dword [ebp - 0x20]
cmp dword [eax + 0x34], 0
je 0x608763
mov eax, dword [ebp - 0x20]
dec dword [eax + 0x34]
mov eax, dword [ebp - 0x24]
cmp dword [eax + 4], 0x12
jne 0x608545
mov eax, dword [ebp - 0x24]
cmp dword [eax], 0x105
jne 0x6085d7
mov eax, dword [ebp - 0x20]
xor edx, edx
mov dword [eax + 0x34], edx
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 0x20]
mov edx, dword [eax]
call dword [edx + 0x140]
mov eax, dword [ebp - 0x24]
cmp dword [eax + 4], 0x79
jne 0x608574
push 0x10
call sub.user32.dll_GetAsyncKeyState
test ax, ax
jl 0x608763
mov eax, dword [ebp - 0x24]
cmp dword [eax + 4], 0x12
jne 0x608584
mov byte [0x65d5f9], 1
mov byte [0x65d5fa], 1
xor eax, eax
push ebp
push 0x6085d0
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 8]
push eax
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 4]
push eax
push 0
call fcn.005e5ffc
dec eax
jne 0x6085bb
call fcn.00404634
jmp 0x608763
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x6085d7
mov byte [0x65d5fa], 0
ret
mov eax, dword [ebp - 0x24]
cmp dword [eax], 0x100
jne 0x60868b
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 4]
sub eax, 9
je 0x608648
sub eax, 4
je 0x6085ff
sub eax, 0xe
jne 0x60867f
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 0x20]
xor edx, edx
mov ecx, dword [eax]
call dword [ecx + 0x130]
push ebp
call fcn.00608278
pop ecx
mov eax, dword [ebp - 0x24]
cmp dword [eax + 4], 0x1b
jne 0x608635
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 0x20]
mov edx, dword [ebp - 0x20]
mov ecx, dword [eax]
call dword [ecx + 0x13c]
jmp 0x608763
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 0x20]
mov edx, dword [eax]
call dword [edx + 0x140]
jmp 0x608763
push ebp
call fcn.00608278
pop ecx
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 8]
push eax
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 4]
push eax
mov eax, dword [ebp - 0x24]
mov eax, dword [eax]
push eax
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 0x20]
call fcn.00456c34
push eax
call sub.user32.dll_SendMessageA
mov edx, dword [ebp - 0x24]
mov dword [edx + 0xc], eax
jmp 0x608763
push ebp
call fcn.006082a4
pop ecx
jmp 0x608763
mov eax, dword [ebp - 0x24]
mov eax, dword [eax]
cmp eax, 0x200
jb 0x60870f
mov edx, dword [ebp - 0x24]
cmp eax, 0x20a
ja 0x60870f
lea edx, [ebp - 0x2c]
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 8]
call fcn.00408338
push 1
lea eax, [ebp - 0x2c]
push eax
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 0x20]
call fcn.00456c34
push eax
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 0x30]
push eax
call sub.user32.dll_MapWindowPoints
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
lea edx, [ebp - 0x3c]
mov eax, dword [ebp - 0x20]
call fcn.00607c1c
lea eax, [ebp - 0x3c]
push eax
call sub.user32.dll_PtInRect
test eax, eax
jne 0x60870f
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
lea ecx, [ebp - 0x3c]
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 0x20]
mov edx, dword [ebp - 0x20]
call fcn.005f772c
lea eax, [ebp - 0x3c]
push eax
call sub.user32.dll_PtInRect
test eax, eax
jne 0x608763
mov eax, dword [ebp - 0x24]
cmp dword [eax], 2
jne 0x608724
xor edx, edx
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax]
call dword [ecx + 0xac]
push ebp
call fcn.006082a4
pop ecx
mov eax, dword [ebp - 0x24]
cmp dword [eax], 2
jne 0x608763
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 0x38]
push eax
push 0xfffffffffffffffc
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 0x30]
push eax
call sub.user32.dll_SetWindowLongA
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 0x28]
call fcn.0042ab0c
mov eax, dword [ebp - 0x20]
xor edx, edx
mov dword [eax + 0x28], edx
mov eax, dword [ebp - 0x20]
xor edx, edx
mov dword [eax + 0x30], edx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret