Function at 0x49435d
Capabilities:
Log keystrokes via polling

Disassembly:
push 0x44
mov eax, 0x52e14d
call fcn.0050ea1b
mov esi, ecx
lea eax, [esi + 0x294]
cmp byte [eax], 0
je 0x494379
mov byte [eax], 0
cmp dword [esi + 0x328], 0
je 0x4946bf
mov eax, dword [esi]
call dword [eax + 0x174]
push eax
mov ecx, 0x57de78
call fcn.004abb65
mov dword [ebp - 0x10], eax
test eax, eax
jne 0x4943ad
cmp dword [0x57de7c], eax
jne 0x4943ad
call fcn.0040ec64
mov eax, dword [esi + 0x324]
mov edi, dword [esi + 0x328]
mov dword [ebp + 8], eax
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x36c]
mov ecx, esi
call fcn.00491d4f
mov ebx, eax
cmp dword [ebp + 8], edi
jne 0x4943f6
mov eax, edi
sub eax, 8
je 0x49460b
dec eax
je 0x49448f
sub eax, 0xa
je 0x494402
mov eax, dword [esi]
push edi
mov ecx, esi
call dword [eax + 0x35c]
mov ecx, esi
call fcn.0041378a
jmp 0x4946cd
push esi
call fcn.0041999a
mov edi, eax
pop ecx
test edi, edi
je 0x494480
push edi
push 0x53cc18
call fcn.0041ff22
pop ecx
pop ecx
test eax, eax
je 0x49442d
mov edx, dword [eax]
push esi
mov ecx, eax
call dword [edx + 0x1ec]
jmp 0x494478
push edi
push 0x53c6ac
call fcn.0041ff22
pop ecx
pop ecx
test eax, eax
je 0x49444b
mov edx, dword [eax]
push esi
mov ecx, eax
call dword [edx + 0x1cc]
jmp 0x494478
push edi
push 0x53fe84
call fcn.0041ff22
pop ecx
pop ecx
test eax, eax
jne 0x49446d
push edi
push 0x53faf4
call fcn.0041ff22
pop ecx
pop ecx
test eax, eax
je 0x494480
mov edx, dword [eax]
push esi
mov ecx, eax
call dword [edx + 0x1e4]
test eax, eax
je 0x4943f6
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x2b8]
jmp 0x4943f6
push 0x11
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x4945b4
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x31c]
test eax, eax
je 0x4945b4
mov ecx, dword [esi + 0x78]
xor edi, edi
push edi
call fcn.00457c7a
cmp dword [esi + 0x2c4], edi
jne 0x49454c
push 0xa
lea ecx, [ebp - 0x50]
call fcn.0047a55c
lea eax, [ebp - 0x50]
push eax
mov ecx, ebx
mov dword [ebp - 4], edi
call fcn.004832b5
mov eax, dword [ebp - 0x4c]
mov dword [ebp + 8], eax
cmp eax, edi
je 0x49453e
lea eax, [ebp + 8]
push eax
lea ecx, [ebp - 0x50]
call fcn.0049b09c
push dword [eax]
push 0x57d7b8
call fcn.0041ff22
mov edi, eax
mov eax, dword [edi]
pop ecx
pop ecx
mov ecx, edi
mov dword [ebp - 0x10], edi
call dword [eax + 0x31c]
test eax, eax
je 0x494536
mov edi, dword [edi]
mov eax, dword [ebx]
push 0
push 0
mov ecx, ebx
add edi, 0x344
call dword [eax + 0x16c]
mov ecx, dword [ebp - 0x10]
push eax
push 1
call dword [edi]
cmp dword [ebp + 8], 0
jne 0x4944eb
xor edi, edi
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x50]
call fcn.0047a584
jmp 0x494573
mov ecx, dword [esi + 0x2fc]
mov eax, dword [ecx]
call dword [eax + 0x178]
push eax
push 0x54afcc
call fcn.0041ff22
pop ecx
pop ecx
cmp eax, edi
je 0x494573
push edi
mov ecx, eax
call fcn.004b1a5c
mov ecx, dword [esi + 0x78]
push 1
call fcn.00457c7a
push dword [esi + 0x78]
push 0x543b30
call fcn.0041ff22
pop ecx
pop ecx
cmp eax, edi
je 0x49459c
mov edx, dword [eax]
push 1
mov ecx, eax
call dword [edx + 0x150]
mov eax, dword [esi + 0x78]
push 0x181
push edi
push edi
push dword [eax + 0x20]
call dword [sym.imp.USER32.dll_RedrawWindow]
jmp 0x4946cd
mov eax, dword [ebp - 0x10]
test eax, eax
je 0x4946cd
test ebx, ebx
je 0x4946cd
mov edi, dword [eax + 0x11c]
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x16c]
test edi, eax
je 0x4946cd
mov edi, dword [esi]
mov eax, dword [ebx]
push 1
push 0
mov ecx, ebx
add edi, 0x344
call dword [eax + 0x16c]
push eax
xor eax, eax
cmp dword [esi + 0x2c4], eax
mov ecx, esi
sete al
push eax
call dword [edi]
jmp 0x4946cd
cmp dword [0x585eb8], 0
je 0x4946cd
push 8
mov ecx, esi
call fcn.00493d17
mov edi, eax
test edi, edi
je 0x4946cd
mov eax, dword [edi]
lea ecx, [ebp - 0x24]
push ecx
mov ecx, edi
call dword [eax + 0xc]
lea eax, [ebp - 0x34]
push eax
push dword [esi + 0x20]
call dword [sym.imp.USER32.dll_GetWindowRect]
lea eax, [ebp - 0x34]
push eax
mov ecx, esi
call fcn.0041e6bf
push dword [ebp - 0x30]
lea eax, [ebp - 0x24]
push dword [ebp - 0x34]
push eax
call dword [sym.imp.USER32.dll_OffsetRect]
lea eax, [ebp - 0x24]
push eax
mov ecx, esi
call fcn.0041e700
mov dword [edi + 0x14], 1
mov eax, dword [ebp - 0x18]
mov ebx, dword [ebp - 0x24]
inc eax
mov ecx, esi
mov dword [ebp - 0x10], eax
call fcn.0041742f
test eax, 0x400000
je 0x494690
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x24]
add ebx, eax
mov eax, dword [esi + 0x20]
push dword [ebp - 0x10]
mov dword [ebp + 8], eax
mov eax, dword [esi]
push ebx
mov ecx, esi
call dword [eax + 0x2c0]
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x4946cd
and dword [edi + 0x14], 0
push edi
mov ecx, esi
call fcn.004938d6
jmp 0x4946cd
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00457de7
call fcn.0050eaf3
ret 0xc