Function at 0x4b4610
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x24
push ebx
push esi
push edi
mov ebx, ecx
call dword [sym.imp.user32.dll_ReleaseCapture]
mov eax, dword [0x6b4264]
mov esi, dword [sym.imp.user32.dll_KillTimer]
xor edi, edi
cmp eax, edi
mov dword [ebx + 0x68], edi
mov dword [ebx + 0xa34], edi
je 0x4b4648
push eax
push edi
call esi
mov dword [0x6b4264], edi
mov ecx, dword [ebx + 0x9b0]
cmp ecx, 3
jne 0x4b4795
push 0x12
call dword [sym.imp.user32.dll_GetKeyState]
shr eax, 0xf
and eax, 1
mov eax, edi
sete al
push eax
mov eax, ebx
call fcn.004b1fc0
cmp eax, edi
mov dword [esp + 0x18], eax
jl 0x4b496f
cmp dword [ebx + 0x9a8], edi
jle 0x4b4694
push edi
mov ecx, ebx
call fcn.0055f497
mov dword [esp + 0x10], eax
jmp 0x4b4698
mov dword [esp + 0x10], edi
cmp dword [ebx + 0x9a4], edi
jle 0x4b46af
push 1
mov ecx, ebx
call fcn.0055f497
mov dword [esp + 0x14], eax
jmp 0x4b46b3
mov dword [esp + 0x14], edi
fld qword [ebx + 0x998]
fst qword [esp + 0x20]
fild dword [esp + 0x18]
fmul qword [0x655a80]
fst qword [ebx + 0x998]
fild dword [ebp + 0xc]
fmul st(1)
fdiv st(2)
call fcn.005a3c30
fimul dword [ebp + 0x10]
mov edi, eax
fdivrp st(1)
call fcn.005a3c30
mov dword [esp + 0x1c], eax
mov eax, ebx
call fcn.004b1d80
mov esi, dword [ebx + 0x9a8]
test esi, esi
jle 0x4b472a
fild dword [esp + 0x10]
fdiv qword [esp + 0x20]
fmul qword [ebx + 0x998]
call fcn.005a3c30
sub eax, dword [ebp + 0xc]
add eax, edi
cmp eax, esi
jle 0x4b4718
mov eax, esi
test eax, eax
jge 0x4b471e
xor eax, eax
push 1
push eax
push 0
mov ecx, ebx
call fcn.0055f467
mov esi, dword [ebx + 0x9a4]
test esi, esi
jle 0x4b4766
fild dword [esp + 0x14]
fdiv qword [esp + 0x20]
fmul qword [ebx + 0x998]
call fcn.005a3c30
sub eax, dword [ebp + 0x10]
add eax, dword [esp + 0x1c]
cmp eax, esi
jle 0x4b4754
mov eax, esi
test eax, eax
jge 0x4b475a
xor eax, eax
push 1
push eax
push 1
mov ecx, ebx
call fcn.0055f467
mov eax, ebx
call fcn.004b1d80
mov edx, dword [ebx]
mov eax, dword [edx + 0x170]
push 1
mov ecx, ebx
call eax
mov ecx, dword [ebx + 0x20]
push 0x105
push 0
push 0
push ecx
call dword [sym.imp.user32.dll_RedrawWindow]
xor edi, edi
jmp 0x4b496f
cmp ecx, 0xa
jne 0x4b47ac
mov edx, dword [ebx + 0xa80]
mov eax, dword [ebx + 0x20]
push edx
push eax
call esi
jmp 0x4b496f
cmp dword [ebx + 0x9ac], edi
jne 0x4b495b
mov eax, ebx
call fcn.004b5ed0
test eax, eax
jbe 0x4b495b
cmp dword [ebx + 0xa30], edi
jne 0x4b495b
cmp ecx, 7
je 0x4b480e
cmp ecx, 0xc
je 0x4b480e
cmp ecx, 0xd
je 0x4b480e
cmp ecx, 0xe
je 0x4b480e
cmp ecx, 0xf
je 0x4b480e
cmp ecx, 0x10
je 0x4b480e
cmp ecx, 0x11
je 0x4b480e
cmp ecx, 0x13
je 0x4b480e
cmp ecx, 0xb
je 0x4b480e
cmp ecx, 0x12
je 0x4b480e
cmp ecx, 0x14
jne 0x4b495b
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 0x10]
lea edi, [ebx + 0xa18]
mov esi, ebx
mov dword [esp + 0x18], edi
mov dword [edi], ecx
mov dword [edi + 4], edx
call fcn.004b2650
call fcn.004b24b0
mov eax, dword [ebx + 0x9b0]
cmp eax, 0x13
jne 0x4b486e
mov eax, dword [edi + 4]
mov ecx, dword [edi]
push eax
push ecx
lea edx, [ebx + 0x74]
push edx
call fcn.00410d20
mov ecx, eax
xor eax, eax
call fcn.004b51c0
mov ecx, dword [ebx + 0x9b8]
xor eax, eax
call fcn.004b51d0
mov eax, dword [ebx]
mov edx, dword [eax + 0x174]
mov ecx, ebx
call edx
jmp 0x4b4891
cmp eax, 0x14
jne 0x4b48ab
mov eax, dword [edi + 4]
push 0
push ecx
mov ecx, dword [edi]
push eax
push ecx
lea edx, [ebx + 0x74]
push edx
call fcn.00410d20
add esp, 4
push eax
mov eax, ebx
call fcn.004b5290
mov ecx, dword [ebx + 0x9b4]
mov eax, dword [ebx]
mov edx, dword [eax + 0x13c]
push ecx
mov ecx, ebx
call edx
xor edi, edi
jmp 0x4b496f
mov eax, dword [ebx + 0xa20]
mov ecx, dword [ebx + 0xa24]
mov edx, dword [ebx + 0xa28]
mov dword [esp + 0x20], eax
mov eax, dword [ebx + 0xa2c]
lea esi, [esp + 0x20]
mov edi, ebx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], eax
call fcn.004b2690
mov edi, esi
mov esi, ebx
call fcn.004b2560
push 1
mov eax, edi
call fcn.004b6fc0
test eax, eax
je 0x4b497c
mov edx, dword [ebx]
mov eax, dword [edx + 0x168]
mov ecx, ebx
call eax
mov esi, dword [esp + 0x18]
push esi
push ebx
call fcn.004b4090
mov ecx, dword [esi + 4]
mov edx, dword [esi]
mov eax, dword [ebx + 0xa04]
push ecx
mov ecx, dword [ebx + 0xa00]
push edx
push eax
push ecx
mov esi, ebx
call fcn.004b7490
mov eax, 1
mov ecx, ebx
call fcn.004b6b10
mov edx, dword [ebx + 0x20]
push 0x101
push 0
push 0
push edx
call dword [sym.imp.user32.dll_RedrawWindow]
mov eax, dword [0x6b53e4]
push 0
push eax
call fcn.004b6d30
xor edi, edi
jmp 0x4b496f
cmp ecx, 5
jne 0x4b496f
mov ecx, dword [0x6b53e4]
push edi
push ecx
mov esi, ebx
call fcn.004b6d30
mov ecx, ebx
mov dword [ebx + 0xa30], edi
call fcn.00560640
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc