Function at 0x415ed4
Capabilities:
Log keystrokes via polling

Disassembly:
mov ecx, dword [0x48b11c]
cmp ecx, 0xfffffffe
jne 0x415ee2
xor eax, eax
ret
mov eax, dword [0x48b124]
mov edx, dword [0x48b120]
push ebx
xor ebx, ebx
push esi
or esi, 0xffffffff
inc ebx
cmp eax, 0x106
push edi
jg 0x415f65
cmp eax, 0xfe
jl 0x415f65
cmp edx, 0xc
jg 0x415f65
cmp edx, 3
jl 0x415f65
xor edi, edi
cmp ecx, esi
jne 0x415f3c
push edi
push 0x9c80
push 0x111
push dword [0x4924ec]
call dword [sym.imp.USER32.dll_SendMessageA]
push edi
push esi
push esi
push esi
call fcn.00449bec
mov dword [0x48b10c], edi
jmp 0x415f53
test byte [0x48b118], bl
je 0x415f56
push ebx
push esi
push esi
push esi
mov dword [0x48b10c], ebx
call fcn.00449bec
add esp, 0x10
cmp dword [0x48b11c], edi
je 0x415f81
mov eax, ebx
jmp 0x41616a
xor edi, edi
cmp dword [0x48b10c], edi
je 0x415f81
push edi
push esi
push esi
push esi
mov dword [0x48b10c], edi
call fcn.00449bec
add esp, 0x10
mov eax, dword [0x48b124]
cmp eax, 0xfd
push ebp
mov ebp, dword [sym.imp.USER32.dll_GetAsyncKeyState]
jg 0x41600e
cmp eax, 0xf4
jl 0x41600e
mov eax, dword [0x48b120]
cmp eax, 0xc
jg 0x41600e
cmp eax, 3
jl 0x41600e
cmp dword [0x48b11c], esi
jne 0x415fe5
push 0x10
call ebp
and ax, 0x8000
neg ax
push 6
push dword [0x4924ec]
sbb eax, eax
neg eax
mov dword [0x48b128], eax
call dword [sym.imp.USER32.dll_ShowWindow]
push esi
push esi
push edi
push esi
call fcn.00449bec
mov dword [0x48b104], edi
jmp 0x415ffc
test byte [0x48b118], bl
je 0x415fff
push esi
push esi
push ebx
push esi
mov dword [0x48b104], ebx
call fcn.00449bec
add esp, 0x10
cmp dword [0x48b11c], edi
je 0x416028
mov eax, ebx
jmp 0x416169
cmp dword [0x48b104], edi
je 0x416028
push esi
push esi
push edi
push esi
mov dword [0x48b104], edi
call fcn.00449bec
add esp, 0x10
mov eax, dword [0x48b124]
cmp eax, 0x110
jg 0x4160be
cmp eax, 0x108
jl 0x4160be
mov eax, dword [0x48b120]
cmp eax, 0xc
jg 0x4160be
cmp eax, 3
jl 0x4160be
cmp dword [0x48b11c], esi
jne 0x416097
push esi
push edi
push esi
push esi
mov dword [0x48b108], edi
call fcn.00449bec
add esp, 0x10
push 0x10
call ebp
test ah, ah
jns 0x416089
push edi
push 0x9d42
push 0x111
push dword [0x4924ec]
call dword [sym.imp.USER32.dll_SendMessageA]
jmp 0x4160b1
mov ecx, dword [0x49257c]
push ebx
call fcn.00455ff4
jmp 0x4160b1
test byte [0x48b118], bl
je 0x4160b1
push esi
push ebx
push esi
push esi
mov dword [0x48b108], ebx
call fcn.00449bec
add esp, 0x10
cmp dword [0x48b11c], edi
je 0x4160d8
jmp 0x416007
cmp dword [0x48b108], edi
je 0x4160d8
push esi
push edi
push esi
push esi
mov dword [0x48b108], edi
call fcn.00449bec
add esp, 0x10
mov eax, dword [0x48b124]
cmp eax, 0x11
jg 0x41613c
cmp eax, 5
jl 0x41613c
mov eax, dword [0x48b120]
cmp eax, 0xd
jg 0x41613c
cmp eax, 3
jl 0x41613c
test byte [0x48b118], bl
je 0x41612f
cmp dword [0x48b100], edi
jne 0x41612f
push edi
push 0x9b
push 0x29a
push dword [0x4924ec]
call dword [sym.imp.USER32.dll_SetTimer]
push esi
push esi
push esi
push ebx
mov dword [0x48b100], ebx
call fcn.00449bec
add esp, 0x10
cmp dword [0x48b11c], edi
je 0x416167
jmp 0x416007
cmp dword [0x48b100], edi
je 0x416167
push 0x29a
push dword [0x4924ec]
call dword [sym.imp.USER32.dll_KillTimer]
push esi
push esi
push esi
push edi
mov dword [0x48b100], edi
call fcn.00449bec
add esp, 0x10
xor eax, eax
pop ebp
pop edi
pop esi
pop ebx
ret