Function at 0x4ca690
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2c
push ebx
push esi
push edi
push 0x11
call dword [sym.imp.USER32.dll_GetKeyState]
movzx eax, ax
xor ecx, ecx
mov cl, ah
mov dword [ebp - 0x18], ecx
push 0x10
call dword [sym.imp.USER32.dll_GetKeyState]
movzx eax, ax
xor ecx, ecx
mov cl, ah
mov dword [ebp - 0x1c], ecx
cmp dword [ebp - 0x1c], 0
je 0x4ca6e1
push 1
push 1
mov eax, 0x52cf50
add eax, 0x10
push eax
call fcn.004e43fc
add esp, 0xc
jmp 0x4ca6f6
push 0
push 1
mov eax, 0x52cf50
add eax, 0x10
push eax
call fcn.004e43fc
add esp, 0xc
mov eax, dword [ebp + 8]
cmp dword [0x52cf50], eax
je 0x4ca87d
cmp dword [0x52cf54], 0
je 0x4ca722
push 0
mov eax, dword [0x52cf54]
push eax
call fcn.004e0323
add esp, 8
push 1
mov eax, dword [ebp + 0xc]
push eax
call fcn.004e0323
add esp, 8
mov eax, dword [ebp + 8]
mov dword [0x52cf50], eax
mov eax, dword [ebp + 0xc]
mov dword [0x52cf54], eax
mov eax, dword [0x52cf50]
mov dword [ebp - 0x20], eax
jmp 0x4ca774
push 1
push 1
call fcn.004d52cc
add esp, 8
jmp 0x4ca793
push 0
push 1
call fcn.004d52cc
add esp, 8
jmp 0x4ca793
cmp dword [ebp - 0x20], 0xbbc
jl 0x4ca75e
cmp dword [ebp - 0x20], 0xbc0
jle 0x4ca74d
jmp 0x4ca75e
call fcn.004e3d0e
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x4ca851
push 5
mov eax, dword [ebp - 8]
push eax
call dword [sym.imp.USER32.dll_GetWindow]
mov dword [ebp - 0x10], eax
mov eax, dword [0x52cf50]
mov dword [ebp - 0x24], eax
jmp 0x4ca829
push 4
mov eax, dword [ebp - 0x10]
push eax
call dword [sym.imp.USER32.dll_GetWindowLongA]
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je 0x4ca81f
mov eax, dword [ebp - 4]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalLock]
mov dword [ebp - 0x14], eax
push 1
lea eax, [ebp - 0xc]
push eax
push 0
push 0
mov eax, dword [ebp - 0x14]
push eax
mov eax, dword [ebp - 0x10]
push eax
call fcn.004ae03b
add esp, 0x18
cmp dword [ebp - 0xc], 0
je 0x4ca815
mov eax, dword [ebp - 0x10]
push eax
call dword [sym.imp.USER32.dll_UpdateWindow]
mov eax, dword [ebp - 4]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
jmp 0x4ca83b
cmp dword [ebp - 0x24], 0xbb9
je 0x4ca7c1
jmp 0x4ca83b
cmp dword [ebp - 0x10], 0
je 0x4ca851
mov eax, dword [ebp - 0x10]
push eax
call fcn.004bc160
add esp, 4
cmp dword [0x52cf58], 1
je 0x4ca878
mov dword [0x52cf58], 1
mov eax, dword [0x52cf58]
push eax
push 1
call fcn.004d4fdd
add esp, 8
jmp 0x4ca8eb
cmp dword [ebp - 0x18], 0
jne 0x4ca8eb
mov eax, dword [ebp + 8]
mov dword [ebp - 0x28], eax
jmp 0x4ca8bf
cmp dword [0x52cf58], 0x20
jge 0x4ca8b5
inc dword [0x52cf58]
mov eax, dword [0x52cf58]
push eax
push 1
call fcn.004d4fdd
add esp, 8
jmp 0x4ca8eb
cmp dword [ebp - 0x28], 0xbbc
jl 0x4ca8eb
cmp dword [ebp - 0x28], 0xbbe
jle 0x4ca892
cmp dword [ebp - 0x28], 0xbc0
je 0x4ca892
jmp 0x4ca8eb
call fcn.004e3d0e
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
jne 0x4ca902
jmp 0x4caa41
push 5
mov eax, dword [ebp - 8]
push eax
call dword [sym.imp.USER32.dll_GetWindow]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jne 0x4ca920
jmp 0x4caa41
mov eax, dword [0x52cf50]
mov dword [ebp - 0x2c], eax
jmp 0x4caa15
push 4
mov eax, dword [ebp - 0x10]
push eax
call dword [sym.imp.USER32.dll_GetWindowLongA]
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je 0x4ca98b
mov eax, dword [ebp - 4]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalLock]
mov dword [ebp - 0x14], eax
push 1
lea eax, [ebp - 0xc]
push eax
push 0
push 0
mov eax, dword [ebp - 0x14]
push eax
mov eax, dword [ebp - 0x10]
push eax
call fcn.004ae03b
add esp, 0x18
cmp dword [ebp - 0xc], 0
je 0x4ca981
mov eax, dword [ebp - 0x10]
push eax
call dword [sym.imp.USER32.dll_UpdateWindow]
mov eax, dword [ebp - 4]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
jmp 0x4caa41
cmp dword [ebp - 0x18], 0
je 0x4ca9b1
mov eax, dword [0x52cf50]
push eax
mov eax, dword [ebp - 0x10]
push eax
call fcn.004140dd
add esp, 8
jmp 0x4caa0b
push 4
mov eax, dword [ebp - 0x10]
push eax
call dword [sym.imp.USER32.dll_GetWindowLongA]
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je 0x4caa0b
mov eax, dword [ebp - 4]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalLock]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
cmp dword [eax + 0xe6], 0
je 0x4caa01
push 1
lea eax, [ebp - 0xc]
push eax
push 0
push 0
mov eax, dword [ebp - 0x14]
push eax
mov eax, dword [ebp - 0x10]
push eax
call fcn.004ae03b
add esp, 0x18
mov eax, dword [ebp - 4]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
jmp 0x4caa41
cmp dword [ebp - 0x2c], 0xbb9
je 0x4ca92d
cmp dword [ebp - 0x2c], 0xbbc
jl 0x4caa41
cmp dword [ebp - 0x2c], 0xbc0
jle 0x4ca990
jmp 0x4caa41
pop edi
pop esi
pop ebx
leave
ret