Function at 0x1028c74
Capabilities:
Log keystrokes via polling

Disassembly:
push 0x38
mov eax, 0x104d9fd
call fcn.01001e26
mov esi, ecx
mov eax, dword [ebp + 0x14]
xor edi, edi
inc edi
mov dword [eax], edi
push dword [esi + 0x78]
lea ecx, [ebp - 0x10]
call fcn.0102864d
lea eax, [ebp - 0x28]
push eax
push dword [esi + 4]
xor ebx, ebx
mov dword [ebp - 4], ebx
call dword [sym.imp.USER32.dll_GetClientRect]
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax]
lea edx, [ebp - 0x28]
push edx
push dword [esi + 4]
lea edx, [esi + 0x38]
push ebx
push edx
push ebx
push 0xfffffffffffffffc
push eax
call dword [ecx + 0x2c]
push dword [esi + 0x78]
lea ecx, [ebp + 0x14]
call fcn.01028676
mov eax, dword [ebp + 0x14]
mov byte [ebp - 4], 1
mov dword [ebp - 0x14], edi
cmp eax, ebx
je 0x1028f45
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 0x10]
mov dword [ebp - 0x40], ecx
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x38], edx
cmp cx, 8
je 0x1028d18
cmp cx, 0xd
je 0x1028d18
cmp cx, 0x10
je 0x1028d18
cmp cx, 0x11
je 0x1028d18
mov ecx, dword [eax]
lea edx, [ebp - 0x44]
push edx
push eax
call dword [ecx + 0x14]
mov dword [ebp - 0x14], eax
jmp 0x1028f30
mov dword [ebp + 0x10], ebx
mov dword [ebp + 8], ebx
mov esi, dword [esi + 0x84]
mov eax, dword [esi]
lea ecx, [ebp + 0x10]
push ecx
push esi
mov byte [ebp - 4], 3
call dword [eax + 0x28]
cmp eax, ebx
mov dword [ebp - 0x14], eax
jge 0x1028d7f
push dword [ebp + 8]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [ebp + 0x10]
mov byte [ebp - 4], 1
cmp eax, ebx
je 0x1028d53
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp + 0x14]
mov byte [ebp - 4], bl
cmp eax, ebx
je 0x1028d63
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x10]
or dword [ebp - 4], 0xffffffff
cmp eax, ebx
je 0x1028d74
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x14]
call fcn.010019b0
ret 0x10
mov eax, dword [ebp + 0x10]
cmp eax, ebx
je 0x1028f16
mov ecx, dword [eax]
lea edx, [ebp + 8]
push edx
push eax
call dword [ecx + 0x38]
mov esi, eax
cmp esi, ebx
jge 0x1028dd9
push dword [ebp + 8]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [ebp + 0x10]
mov byte [ebp - 4], 1
cmp eax, ebx
je 0x1028db4
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp + 0x14]
mov byte [ebp - 4], bl
cmp eax, ebx
je 0x1028dc4
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x10]
or dword [ebp - 4], 0xffffffff
cmp eax, ebx
je 0x1028dd5
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, esi
jmp 0x1028d77
lea ecx, [ebp + 8]
call fcn.01027d8e
push 0x101fd08
push dword [ebp + 8]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x1028ed4
mov eax, dword [ebp + 0x14]
mov ecx, dword [eax]
lea edx, [ebp - 0x44]
push edx
push eax
call dword [ecx + 0x14]
mov dword [ebp - 0x14], ebx
mov dword [ebp + 0xc], ebx
lea eax, [ebp + 0x10]
push eax
lea ecx, [ebp + 0xc]
mov byte [ebp - 4], 5
call fcn.01028a02
cmp dword [ebp + 0xc], ebx
je 0x1028e7a
mov esi, dword [sym.imp.USER32.dll_GetKeyState]
push 0xa0
call esi
test ax, ax
jge 0x1028e46
push 0xa2
call esi
test ax, ax
jge 0x1028e46
push 0x101fd00
jmp 0x1028e63
push 0xa1
call esi
test ax, ax
jge 0x1028e7a
push 0xa3
call esi
test ax, ax
jge 0x1028e7a
push 0x101fcf8
lea ecx, [ebp - 0x14]
call fcn.010066bb
push dword [ebp - 0x14]
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x134]
mov eax, dword [ebp + 0xc]
mov byte [ebp - 4], 4
cmp eax, ebx
je 0x1028e8b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push dword [ebp - 0x14]
mov esi, dword [sym.imp.OLEAUT32.dll_SysStringLen]
call esi
push dword [ebp + 8]
call esi
mov eax, dword [ebp + 0x10]
mov byte [ebp - 4], 1
cmp eax, ebx
je 0x1028eac
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp + 0x14]
mov byte [ebp - 4], bl
cmp eax, ebx
je 0x1028ebc
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x10]
or dword [ebp - 4], 0xffffffff
cmp eax, ebx
je 0x1028ecd
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
xor eax, eax
jmp 0x1028d77
push dword [ebp + 8]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [ebp + 0x10]
mov byte [ebp - 4], 1
cmp eax, ebx
je 0x1028eee
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp + 0x14]
mov byte [ebp - 4], bl
cmp eax, ebx
je 0x1028efe
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x10]
or dword [ebp - 4], 0xffffffff
cmp eax, ebx
je 0x1028f0f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, edi
jmp 0x1028d77
push dword [ebp + 8]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [ebp + 0x10]
mov byte [ebp - 4], 1
cmp eax, ebx
je 0x1028f30
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
cmp dword [ebp - 0x14], ebx
je 0x1028eac
cmp dword [ebp - 0x14], edi
jne 0x1028d53
mov eax, dword [ebp + 0x14]
movzx ecx, word [ebp + 0xc]
cmp ecx, 9
je 0x1028f57
cmp ecx, 0x75
jne 0x1028d56
mov ecx, dword [0x105b0ac]
lea eax, [ebp - 0x18]
push eax
call fcn.01006915
mov byte [ebp - 4], 6
cmp dword [ebp - 0x14], ebx
je 0x1028f89
lea ecx, [ebp - 0x18]
call fcn.01001d0f
push ebx
push ebx
add eax, 4
push 0x900
push dword [eax]
call dword [sym.imp.USER32.dll_SendMessageW]
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 1
call fcn.01001cb1
jmp 0x1028eac