Function at 0x4f894e
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
push edi
cmp dword [0x559980], 0
je 0x4f8969
push dword [ebp + 8]
call sub.USER32.dll_GetParent
mov ebx, eax
jmp 0x4f896c
mov ebx, dword [ebp + 8]
push 0x461
push ebx
call sub.USER32.dll_GetDlgItem
mov esi, eax
call sub.USER32.dll_GetFocus
cmp esi, eax
jne 0x4f8989
xor eax, eax
jmp 0x4f8cb3
push 0x569f83
push 0x3e7
push 0xd
push 0x480
push ebx
call sub.USER32.dll_SendDlgItemMessageA
cmp byte [0x569f83], 0
je 0x4f89cf
push 0x2a
push 0x569f83
call fcn.00539518
add esp, 8
test eax, eax
jne 0x4f89cf
push 0x3f
push 0x569f83
call fcn.00539518
add esp, 8
test eax, eax
je 0x4f89d6
xor eax, eax
jmp 0x4f8cb3
push 0x5850dc
push 0x64
push 0xd
push 0x98
push dword [ebp + 8]
call sub.USER32.dll_SendDlgItemMessageA
mov byte [0x5850dc], 0
push 0x569b9c
push 0x64
push 0xd
push 0x98
push dword [ebp + 8]
call sub.USER32.dll_SendDlgItemMessageA
mov esi, 0x569b9c
jmp 0x4f8a11
inc esi
cmp byte [esi], 0x20
je 0x4f8a10
cmp byte [esi], 0
je 0x4f8a65
push esi
mov edi, esi
mov esi, 0x5850dc
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop esi
push 0x5850dc
call fcn.005395b8
pop ecx
mov edi, eax
dec edi
lea eax, [edi + 0x5850dc]
jmp 0x4f8a5c
mov byte [eax], 0
dec edi
dec eax
test edi, edi
jle 0x4f8a65
cmp byte [eax], 0x20
je 0x4f8a57
cmp byte [0x5850dc], 0
jne 0x4f8a92
push 0x98
push dword [ebp + 8]
call sub.USER32.dll_GetDlgItem
push eax
call sub.USER32.dll_SetFocus
push 0
call fcn.0041c2be
mov eax, 1
jmp 0x4f8cb3
push 0x90
push dword [ebp + 8]
call sub.USER32.dll_IsDlgButtonChecked
test eax, eax
je 0x4f8aaf
mov dword [0x559654], 1
jmp 0x4f8ab7
xor edx, edx
mov dword [0x559654], edx
push 0x97
push dword [ebp + 8]
call sub.USER32.dll_IsDlgButtonChecked
test eax, eax
je 0x4f8ad4
mov dword [0x559650], 1
jmp 0x4f8adc
xor ecx, ecx
mov dword [0x559650], ecx
push 0x92
push dword [ebp + 8]
call sub.USER32.dll_IsDlgButtonChecked
test eax, eax
je 0x4f8af9
mov dword [0x559664], 1
jmp 0x4f8b00
xor eax, eax
mov dword [0x559664], eax
mov byte [0x5852c0], 0
cmp dword [0x559980], 0
je 0x4f8b6e
xor edi, edi
mov esi, dword [0x588243]
jmp 0x4f8b63
push esi
call fcn.005395b8
pop ecx
mov ebx, eax
add ebx, esi
inc ebx
test edi, edi
jne 0x4f8b38
cmp byte [ebx], 0
je 0x4f8b38
mov edi, 1
mov esi, ebx
jmp 0x4f8b63
cmp byte [0x5852c0], 0
je 0x4f8b53
push 0x559a17
push 0x5852c0
call fcn.005394dc
add esp, 8
push esi
push 0x5852c0
call fcn.005394dc
add esp, 8
mov esi, ebx
test esi, esi
je 0x4f8bde
cmp byte [esi], 0
jne 0x4f8b1a
jmp 0x4f8bde
xor edi, edi
mov esi, dword [0x588243]
jmp 0x4f8bd5
mov ebx, esi
jmp 0x4f8b7d
inc ebx
mov al, byte [ebx]
test al, al
je 0x4f8b87
cmp al, 0x20
jne 0x4f8b7c
cmp byte [ebx], 0
je 0x4f8b91
mov byte [ebx], 0
jmp 0x4f8b93
xor ebx, ebx
test edi, edi
jne 0x4f8ba5
test ebx, ebx
je 0x4f8ba5
mov edi, 1
lea esi, [ebx + 1]
jmp 0x4f8bd5
cmp byte [0x5852c0], 0
je 0x4f8bc0
push 0x559a1a
push 0x5852c0
call fcn.005394dc
add esp, 8
push esi
push 0x5852c0
call fcn.005394dc
add esp, 8
test ebx, ebx
je 0x4f8bde
lea esi, [ebx + 1]
test esi, esi
je 0x4f8bde
cmp byte [esi], 0
jne 0x4f8b78
cmp byte [0x5852c0], 0
jne 0x4f8c04
push 0x460
push dword [ebp + 8]
call sub.USER32.dll_GetDlgItem
push eax
call sub.USER32.dll_SetFocus
mov eax, 1
jmp 0x4f8cb3
push 0x12
call sub.USER32.dll_GetKeyState
test ax, ax
jge 0x4f8c47
push 0x53
call sub.USER32.dll_GetKeyState
test ax, ax
jl 0x4f8c47
push 9
push 0x5852c0
call fcn.00539518
add esp, 8
test eax, eax
jne 0x4f8c40
push 0
push 0x57c4a0
push 0x5852c0
call fcn.004fda12
mov eax, 1
jmp 0x4f8cb3
push 0
push 0
push 0x147
push 0x9a
push dword [ebp + 8]
call sub.USER32.dll_SendDlgItemMessageA
cmp eax, 0xffffffff
jne 0x4f8c64
xor eax, eax
mov dword [0x559658], 0x200
test eax, eax
jle 0x4f8c85
mov edx, dword [0x559658]
add edx, edx
mov dword [0x559658], edx
dec eax
test eax, eax
jg 0x4f8c72
cmp dword [0x559658], 0x200
jge 0x4f8c9b
mov dword [0x559658], 0x200
cmp dword [0x559658], 0x2000
jle 0x4f8cb1
mov dword [0x559658], 0x2000
xor eax, eax
pop edi
pop esi
pop ebx
pop ebp
ret 4