Function at 0x4e54da
Capabilities:
Log keystrokes via polling

Disassembly:
push 0x4c
mov eax, 0x58ec82
call fcn.005664ab
mov ebx, ecx
cmp byte [ebx + 0x2c8], 0
je 0x4e54f8
mov byte [ebx + 0x2c8], 0
cmp dword [ebx + 0x35c], 0
je 0x4e592c
mov eax, dword [ebx]
mov esi, dword [eax + 0x19c]
mov ecx, esi
call dword [0x5959e4]
mov ecx, ebx
call esi
push eax
mov ecx, 0x5ec904
call fcn.004d6bf5
mov dword [ebp - 0x3c], eax
test eax, eax
jne 0x4e5537
cmp dword [0x5ec908], eax
je 0x4e5942
mov eax, dword [ebx + 0x35c]
mov edi, dword [ebx + 0x358]
mov dword [ebp - 0x38], eax
mov eax, dword [ebx]
mov esi, dword [eax + 0x38c]
mov ecx, esi
call dword [0x5959e4]
mov ecx, ebx
call esi
mov ecx, ebx
call fcn.004e484c
mov edx, dword [ebp - 0x38]
mov esi, eax
mov dword [ebp - 0x34], esi
cmp edi, edx
jne 0x4e559b
mov ecx, edx
sub ecx, 8
je 0x4e5855
sub ecx, 1
je 0x4e5654
sub ecx, 0xa
je 0x4e55a7
mov eax, dword [ebx]
push edx
mov esi, dword [eax + 0x37c]
mov ecx, esi
call dword [0x5959e4]
mov ecx, ebx
call esi
mov ecx, ebx
call fcn.00429b84
jmp 0x4e593a
mov esi, dword [0x5f4978]
test esi, esi
jne 0x4e55be
mov ecx, ebx
call fcn.0042a3de
mov esi, eax
test esi, esi
je 0x4e563b
push esi
push 0x599d40
call fcn.00427316
mov edi, eax
pop ecx
pop ecx
test edi, edi
je 0x4e55db
mov ecx, dword [edi]
mov esi, dword [ecx + 0x218]
jmp 0x4e5626
push esi
push 0x59a350
call fcn.00427316
mov edi, eax
pop ecx
pop ecx
test edi, edi
je 0x4e55f8
mov ecx, dword [edi]
mov esi, dword [ecx + 0x1f8]
jmp 0x4e5626
push esi
push 0x5a2a18
call fcn.00427316
mov edi, eax
pop ecx
pop ecx
test edi, edi
jne 0x4e561e
push esi
push 0x5a2dd0
call fcn.00427316
mov edi, eax
pop ecx
pop ecx
test edi, edi
je 0x4e563b
mov ecx, dword [edi]
mov esi, dword [ecx + 0x210]
push ebx
mov ecx, esi
call dword [0x5959e4]
mov ecx, edi
call esi
test eax, eax
je 0x4e559b
mov eax, dword [ebx]
mov esi, dword [eax + 0x2dc]
mov ecx, esi
call dword [0x5959e4]
mov ecx, ebx
call esi
jmp 0x4e559b
push 0x11
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x4e57dd
mov eax, dword [ebx]
mov esi, dword [eax + 0x340]
mov ecx, esi
call dword [0x5959e4]
mov ecx, ebx
call esi
test eax, eax
je 0x4e57da
mov eax, dword [ebx + 0xa4]
xor esi, esi
push esi
push esi
push 0xb
push dword [eax + 0x20]
call dword [sym.imp.USER32.dll_SendMessageW]
cmp dword [ebx + 0x2f8], esi
jne 0x4e5746
push 0xa
lea ecx, [ebp - 0x58]
call fcn.00489e66
mov ecx, dword [ebp - 0x34]
lea eax, [ebp - 0x58]
push eax
mov dword [ebp - 4], esi
call fcn.004df216
mov eax, dword [ebp - 0x54]
jmp 0x4e5734
mov ecx, eax
test eax, eax
je 0x4e5942
push dword [ecx + 8]
mov eax, dword [eax]
push 0x5ec94c
mov dword [ebp - 0x3c], eax
call fcn.00427316
mov edi, eax
pop ecx
pop ecx
mov dword [ebp - 0x38], edi
mov ecx, dword [edi]
mov esi, dword [ecx + 0x340]
mov ecx, esi
call dword [0x5959e4]
mov ecx, edi
call esi
test eax, eax
je 0x4e5731
mov eax, dword [ebp - 0x34]
mov edi, dword [edi]
push 0
push 0
mov eax, dword [eax]
mov esi, dword [eax + 0x194]
mov ecx, esi
call dword [0x5959e4]
mov ecx, dword [ebp - 0x34]
call esi
mov ecx, dword [edi + 0x368]
push eax
push 1
call dword [0x5959e4]
mov ecx, dword [ebp - 0x38]
call dword [edi + 0x368]
mov eax, dword [ebp - 0x3c]
test eax, eax
jne 0x4e56c0
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x58]
call fcn.00489e8c
jmp 0x4e577a
mov edi, dword [ebx + 0x330]
mov eax, dword [edi]
mov esi, dword [eax + 0x1a0]
mov ecx, esi
call dword [0x5959e4]
mov ecx, edi
call esi
push eax
push 0x5ab6e0
call fcn.00427316
pop ecx
pop ecx
test eax, eax
je 0x4e577a
push 0
mov ecx, eax
call fcn.004eafb6
mov eax, dword [ebx + 0xa4]
push 0
push 1
push 0xb
push dword [eax + 0x20]
call dword [sym.imp.USER32.dll_SendMessageW]
push dword [ebx + 0xa4]
push 0x597f70
call fcn.00427316
mov edi, eax
pop ecx
pop ecx
test edi, edi
je 0x4e57bd
mov ecx, dword [edi]
push 1
mov esi, dword [ecx + 0x178]
mov ecx, esi
call dword [0x5959e4]
mov ecx, edi
call esi
mov eax, dword [ebx + 0xa4]
push 0x181
push 0
push 0
push dword [eax + 0x20]
call dword [sym.imp.USER32.dll_RedrawWindow]
jmp 0x4e593a
mov esi, dword [ebp - 0x34]
mov edi, dword [ebp - 0x3c]
test edi, edi
je 0x4e593a
test esi, esi
je 0x4e593a
mov eax, dword [esi]
mov esi, dword [eax + 0x194]
mov ecx, esi
call dword [0x5959e4]
mov ecx, dword [ebp - 0x34]
call esi
test dword [edi + 0x11c], eax
je 0x4e593a
mov eax, dword [ebp - 0x34]
mov edi, dword [ebx]
push 1
push 0
mov eax, dword [eax]
mov esi, dword [eax + 0x194]
mov ecx, esi
call dword [0x5959e4]
mov ecx, dword [ebp - 0x34]
call esi
mov ecx, dword [edi + 0x368]
push eax
xor eax, eax
cmp dword [ebx + 0x2f8], eax
sete al
push eax
call dword [0x5959e4]
mov ecx, ebx
call dword [edi + 0x368]
jmp 0x4e593a
cmp dword [0x5f49a0], 0
je 0x4e593a
push 8
mov ecx, ebx
call fcn.004e4795
mov edi, eax
mov dword [ebp - 0x38], edi
test edi, edi
je 0x4e593a
mov ecx, dword [edi]
lea eax, [ebp - 0x30]
push eax
mov esi, dword [ecx + 0xc]
mov ecx, esi
call dword [0x5959e4]
mov ecx, edi
call esi
xor eax, eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x20]
push eax
push dword [ebx + 0x20]
call dword [sym.imp.USER32.dll_GetWindowRect]
lea eax, [ebp - 0x20]
mov ecx, ebx
push eax
call fcn.0046d01c
push dword [ebp - 0x1c]
lea eax, [ebp - 0x30]
push dword [ebp - 0x20]
push eax
call dword [sym.imp.USER32.dll_OffsetRect]
lea eax, [ebp - 0x30]
mov ecx, ebx
push eax
call fcn.0046c982
mov dword [edi + 0x14], 1
mov ecx, ebx
mov eax, dword [ebp - 0x24]
mov esi, dword [ebp - 0x30]
inc eax
mov dword [ebp - 0x3c], eax
call fcn.0045e8de
test eax, 0x400000
je 0x4e58f5
mov eax, dword [ebp - 0x28]
sub eax, dword [ebp - 0x30]
add esi, eax
mov eax, dword [ebx]
push dword [ebp - 0x3c]
mov edi, dword [ebx + 0x20]
push esi
mov esi, dword [eax + 0x2e4]
mov ecx, esi
call dword [0x5959e4]
mov ecx, ebx
call esi
push edi
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x4e593a
mov eax, dword [ebp - 0x38]
mov ecx, ebx
push eax
and dword [eax + 0x14], 0
call fcn.004e6dec
jmp 0x4e593a
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.004ac257
call fcn.00566455
ret 0xc
call fcn.00426872
int3