Function at 0x48edd8
Capabilities:
Log keystrokes via polling

Disassembly:
push 0x44
mov eax, 0x527384
call fcn.00505e40
mov esi, ecx
lea eax, [esi + 0x294]
cmp byte [eax], 0
je 0x48edf4
mov byte [eax], 0
cmp dword [esi + 0x328], 0
je 0x48f13a
mov eax, dword [esi]
call dword [eax + 0x174]
push eax
mov ecx, 0x576e64
call fcn.004a6484
mov dword [ebp - 0x10], eax
test eax, eax
jne 0x48ee28
cmp dword [0x576e68], eax
jne 0x48ee28
call fcn.00411d36
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.0048c7eb
mov ebx, eax
cmp dword [ebp + 8], edi
jne 0x48ee71
mov eax, edi
sub eax, 8
je 0x48f086
dec eax
je 0x48ef0a
sub eax, 0xa
je 0x48ee7d
mov eax, dword [esi]
push edi
mov ecx, esi
call dword [eax + 0x35c]
mov ecx, esi
call fcn.0040b9ab
jmp 0x48f148
push esi
call fcn.00416329
mov edi, eax
pop ecx
test edi, edi
je 0x48eefb
push edi
push 0x532e68
call fcn.0041989f
pop ecx
pop ecx
test eax, eax
je 0x48eea8
mov edx, dword [eax]
push esi
mov ecx, eax
call dword [edx + 0x1ec]
jmp 0x48eef3
push edi
push 0x5328f8
call fcn.0041989f
pop ecx
pop ecx
test eax, eax
je 0x48eec6
mov edx, dword [eax]
push esi
mov ecx, eax
call dword [edx + 0x1cc]
jmp 0x48eef3
push edi
push 0x536e4c
call fcn.0041989f
pop ecx
pop ecx
test eax, eax
jne 0x48eee8
push edi
push 0x536abc
call fcn.0041989f
pop ecx
pop ecx
test eax, eax
je 0x48eefb
mov edx, dword [eax]
push esi
mov ecx, eax
call dword [edx + 0x1e4]
test eax, eax
je 0x48ee71
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x2b8]
jmp 0x48ee71
push 0x11
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x48f02f
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x31c]
test eax, eax
je 0x48f02f
mov ecx, dword [esi + 0x78]
xor edi, edi
push edi
call fcn.004553d7
cmp dword [esi + 0x2c4], edi
jne 0x48efc7
push 0xa
lea ecx, [ebp - 0x50]
call fcn.00478486
lea eax, [ebp - 0x50]
push eax
mov ecx, ebx
mov dword [ebp - 4], edi
call fcn.0047dd50
mov eax, dword [ebp - 0x4c]
mov dword [ebp + 8], eax
cmp eax, edi
je 0x48efb9
lea eax, [ebp + 8]
push eax
lea ecx, [ebp - 0x50]
call fcn.00416342
push dword [eax]
push 0x5767a4
call fcn.0041989f
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 0x48efb1
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 0x48ef66
xor edi, edi
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x50]
call fcn.004784ae
jmp 0x48efee
mov ecx, dword [esi + 0x2fc]
mov eax, dword [ecx]
call dword [eax + 0x178]
push eax
push 0x54346c
call fcn.0041989f
pop ecx
pop ecx
cmp eax, edi
je 0x48efee
push edi
mov ecx, eax
call fcn.004ac36e
mov ecx, dword [esi + 0x78]
push 1
call fcn.004553d7
push dword [esi + 0x78]
push 0x535484
call fcn.0041989f
pop ecx
pop ecx
cmp eax, edi
je 0x48f017
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 0x48f148
mov eax, dword [ebp - 0x10]
test eax, eax
je 0x48f148
test ebx, ebx
je 0x48f148
mov edi, dword [eax + 0x11c]
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x16c]
test edi, eax
je 0x48f148
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 0x48f148
cmp dword [0x57cdb8], 0
je 0x48f148
push 8
mov ecx, esi
call fcn.0048e792
mov edi, eax
test edi, edi
je 0x48f148
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.004103a4
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.004103e5
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.00408051
test eax, 0x400000
je 0x48f10b
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 0x48f148
and dword [edi + 0x14], 0
push edi
mov ecx, esi
call fcn.0048e351
jmp 0x48f148
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00455536
call fcn.00505f18
ret 0xc