Function at 0x4b7040
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 [0x6bcf54]
mov esi, dword [sym.imp.user32.dll_KillTimer]
xor edi, edi
cmp eax, edi
mov dword [ebx + 0x68], edi
mov dword [ebx + 0xa2c], edi
je 0x4b7078
push eax
push edi
call esi
mov dword [0x6bcf54], edi
mov ecx, dword [ebx + 0x9b0]
cmp ecx, 3
jne 0x4b71c5
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.004b4a30
cmp eax, edi
mov dword [esp + 0x18], eax
jl 0x4b7392
cmp dword [ebx + 0x9a8], edi
jle 0x4b70c4
push edi
mov ecx, ebx
call fcn.00566e77
mov dword [esp + 0x10], eax
jmp 0x4b70c8
mov dword [esp + 0x10], edi
cmp dword [ebx + 0x9a4], edi
jle 0x4b70df
push 1
mov ecx, ebx
call fcn.00566e77
mov dword [esp + 0x14], eax
jmp 0x4b70e3
mov dword [esp + 0x14], edi
fld qword [ebx + 0x998]
fst qword [esp + 0x20]
fild dword [esp + 0x18]
fmul qword [0x65d540]
fst qword [ebx + 0x998]
fild dword [ebp + 0xc]
fmul st(1)
fdiv st(2)
call fcn.005ab4c0
fimul dword [ebp + 0x10]
mov edi, eax
fdivrp st(1)
call fcn.005ab4c0
mov dword [esp + 0x1c], eax
mov eax, ebx
call fcn.004b47f0
mov esi, dword [ebx + 0x9a8]
test esi, esi
jle 0x4b715a
fild dword [esp + 0x10]
fdiv qword [esp + 0x20]
fmul qword [ebx + 0x998]
call fcn.005ab4c0
sub eax, dword [ebp + 0xc]
add eax, edi
cmp eax, esi
jle 0x4b7148
mov eax, esi
test eax, eax
jge 0x4b714e
xor eax, eax
push 1
push eax
push 0
mov ecx, ebx
call fcn.00566e47
mov esi, dword [ebx + 0x9a4]
test esi, esi
jle 0x4b7196
fild dword [esp + 0x14]
fdiv qword [esp + 0x20]
fmul qword [ebx + 0x998]
call fcn.005ab4c0
sub eax, dword [ebp + 0x10]
add eax, dword [esp + 0x1c]
cmp eax, esi
jle 0x4b7184
mov eax, esi
test eax, eax
jge 0x4b718a
xor eax, eax
push 1
push eax
push 1
mov ecx, ebx
call fcn.00566e47
mov eax, ebx
call fcn.004b47f0
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 0x4b7392
cmp ecx, 0xa
jne 0x4b71dc
mov edx, dword [ebx + 0xa78]
mov eax, dword [ebx + 0x20]
push edx
push eax
call esi
jmp 0x4b7392
cmp dword [ebx + 0x9ac], edi
jne 0x4b7383
mov eax, ebx
call fcn.004b88f0
test eax, eax
jbe 0x4b7383
cmp dword [ebx + 0xa28], edi
jne 0x4b7383
cmp ecx, 7
je 0x4b723e
cmp ecx, 0xc
je 0x4b723e
cmp ecx, 0xd
je 0x4b723e
cmp ecx, 0xe
je 0x4b723e
cmp ecx, 0xf
je 0x4b723e
cmp ecx, 0x10
je 0x4b723e
cmp ecx, 0x11
je 0x4b723e
cmp ecx, 0x13
je 0x4b723e
cmp ecx, 0xb
je 0x4b723e
cmp ecx, 0x12
je 0x4b723e
cmp ecx, 0x14
jne 0x4b7383
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 0x10]
lea edi, [ebx + 0xa10]
mov esi, ebx
mov dword [esp + 0x18], edi
mov dword [edi], ecx
mov dword [edi + 4], edx
call fcn.004b50d0
call fcn.004b4f30
mov eax, dword [ebx + 0x9b0]
cmp eax, 0x13
jne 0x4b729e
mov eax, dword [edi + 4]
mov ecx, dword [edi]
push eax
push ecx
lea edx, [ebx + 0x74]
push edx
call fcn.00411140
mov ecx, eax
xor eax, eax
call fcn.004b7bf0
mov ecx, dword [ebx + 0x9b8]
xor eax, eax
call fcn.004b7c00
mov eax, dword [ebx]
mov edx, dword [eax + 0x174]
mov ecx, ebx
call edx
jmp 0x4b72c1
cmp eax, 0x14
jne 0x4b72db
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.00411140
add esp, 4
push eax
mov eax, ebx
call fcn.004b7cc0
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 0x4b7392
mov eax, dword [ebx + 0xa18]
mov ecx, dword [ebx + 0xa1c]
mov edx, dword [ebx + 0xa20]
mov dword [esp + 0x20], eax
mov eax, dword [ebx + 0xa24]
lea esi, [esp + 0x20]
mov edi, ebx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], eax
call fcn.004b5110
mov edi, esi
mov esi, ebx
call fcn.004b4fe0
push 1
mov eax, edi
call fcn.004b99e0
test eax, eax
je 0x4b739f
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.004b6ac0
mov ecx, dword [esi + 4]
mov edx, dword [esi]
mov eax, dword [ebx + 0x9fc]
push ecx
mov ecx, dword [ebx + 0x9f8]
push edx
push eax
push ecx
mov esi, ebx
call fcn.004b9eb0
mov eax, 1
mov ecx, ebx
call fcn.004b9530
mov edx, dword [ebx + 0x20]
push 0x101
push 0
push 0
push edx
call dword [sym.imp.user32.dll_RedrawWindow]
push 0
push 0xa
call fcn.004b9750
xor edi, edi
jmp 0x4b7392
cmp ecx, 5
jne 0x4b7392
push edi
push 0xa
mov esi, ebx
call fcn.004b9750
mov ecx, ebx
mov dword [ebx + 0xa28], edi
call fcn.00568020
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc