Function at 0x49d72f
Capabilities:
Log keystrokes via polling

Disassembly:
push 0x44
mov eax, 0x53970e
call fcn.00518281
mov esi, ecx
lea eax, [esi + 0x294]
cmp byte [eax], 0
je 0x49d74b
mov byte [eax], 0
cmp dword [esi + 0x328], 0
je 0x49da91
mov eax, dword [esi]
call dword [eax + 0x174]
push eax
mov ecx, 0x58ae70
call fcn.004b4f30
mov dword [ebp - 0x10], eax
test eax, eax
jne 0x49d77f
cmp dword [0x58ae74], eax
jne 0x49d77f
call fcn.0041861c
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.0049b14e
mov ebx, eax
cmp dword [ebp + 8], edi
jne 0x49d7c8
mov eax, edi
sub eax, 8
je 0x49d9dd
dec eax
je 0x49d861
sub eax, 0xa
je 0x49d7d4
mov eax, dword [esi]
push edi
mov ecx, esi
call dword [eax + 0x35c]
mov ecx, esi
call fcn.0041d044
jmp 0x49da9f
push esi
call fcn.00422da8
mov edi, eax
pop ecx
test edi, edi
je 0x49d852
push edi
push 0x548338
call fcn.0042947d
pop ecx
pop ecx
test eax, eax
je 0x49d7ff
mov edx, dword [eax]
push esi
mov ecx, eax
call dword [edx + 0x1ec]
jmp 0x49d84a
push edi
push 0x547dcc
call fcn.0042947d
pop ecx
pop ecx
test eax, eax
je 0x49d81d
mov edx, dword [eax]
push esi
mov ecx, eax
call dword [edx + 0x1cc]
jmp 0x49d84a
push edi
push 0x54b5d4
call fcn.0042947d
pop ecx
pop ecx
test eax, eax
jne 0x49d83f
push edi
push 0x54b244
call fcn.0042947d
pop ecx
pop ecx
test eax, eax
je 0x49d852
mov edx, dword [eax]
push esi
mov ecx, eax
call dword [edx + 0x1e4]
test eax, eax
je 0x49d7c8
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x2b8]
jmp 0x49d7c8
push 0x11
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x49d986
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x31c]
test eax, eax
je 0x49d986
mov ecx, dword [esi + 0x78]
xor edi, edi
push edi
call fcn.00461149
cmp dword [esi + 0x2c4], edi
jne 0x49d91e
push 0xa
lea ecx, [ebp - 0x50]
call fcn.004838fb
lea eax, [ebp - 0x50]
push eax
mov ecx, ebx
mov dword [ebp - 4], edi
call fcn.0048c6e4
mov eax, dword [ebp - 0x4c]
mov dword [ebp + 8], eax
cmp eax, edi
je 0x49d910
lea eax, [ebp + 8]
push eax
lea ecx, [ebp - 0x50]
call fcn.00422dc1
push dword [eax]
push 0x58a7b0
call fcn.0042947d
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 0x49d908
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 0x49d8bd
xor edi, edi
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x50]
call fcn.00483923
jmp 0x49d945
mov ecx, dword [esi + 0x2fc]
mov eax, dword [ecx]
call dword [eax + 0x178]
push eax
push 0x556704
call fcn.0042947d
pop ecx
pop ecx
cmp eax, edi
je 0x49d945
push edi
mov ecx, eax
call fcn.004bae17
mov ecx, dword [esi + 0x78]
push 1
call fcn.00461149
push dword [esi + 0x78]
push 0x54f280
call fcn.0042947d
pop ecx
pop ecx
cmp eax, edi
je 0x49d96e
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 0x49da9f
mov eax, dword [ebp - 0x10]
test eax, eax
je 0x49da9f
test ebx, ebx
je 0x49da9f
mov edi, dword [eax + 0x11c]
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x16c]
test edi, eax
je 0x49da9f
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 0x49da9f
cmp dword [0x592ed8], 0
je 0x49da9f
push 8
mov ecx, esi
call fcn.0049d0e9
mov edi, eax
test edi, edi
je 0x49da9f
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.00427c3c
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.00427c7d
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.00420ce7
test eax, 0x400000
je 0x49da62
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 0x49da9f
and dword [edi + 0x14], 0
push edi
mov ecx, esi
call fcn.0049cca8
jmp 0x49da9f
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.004612a3
call fcn.00518359
ret 0xc