Function at 0x53f1ab
Capabilities:
Log keystrokes via polling

Disassembly:
push 0x10
mov eax, 0x67c855
call fcn.005f1490
mov edi, ecx
push 0x17
call dword [sym.imp.USER32.dll_GetSystemMetrics]
xor edx, edx
test eax, eax
setne dl
inc edx
push edx
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
js 0x53f4d1
cmp dword [edi + 0x1758], 0
jne 0x53f466
lea ecx, [ebp - 0x10]
call fcn.004026b1
and dword [ebp - 4], 0
lea ecx, [ebp - 0x10]
push 0x42bf
call fcn.00404263
test eax, eax
je 0x53f4d9
push 0x1c4
lea ebx, [edi + 0x1750]
call fcn.004399fa
pop ecx
mov dword [ebp - 0x18], eax
mov esi, dword [ebp - 0x10]
mov byte [ebp - 4], 1
test eax, eax
je 0x53f232
push 0
push esi
mov ecx, eax
call fcn.005a18a5
jmp 0x53f234
xor eax, eax
push eax
push dword [ebx + 8]
mov ecx, ebx
mov byte [ebp - 4], 0
call fcn.0050123f
and dword [ebp - 0x18], 0
cmp dword [edi + 0x1730], 0
jle 0x53f32f
mov esi, dword [ebp - 0x18]
lea eax, [edi + 0x1728]
push esi
mov ecx, eax
call fcn.00503bdf
push 0
lea ecx, [edi + 0x1764]
mov eax, dword [eax]
push eax
mov dword [ebp - 0x18], eax
call fcn.0053e4e4
test eax, eax
jne 0x53f319
mov ecx, dword [ebp - 0x18]
push 0x6a80d0
call fcn.00444538
test eax, eax
je 0x53f2b6
push 0x110
call fcn.004399fa
pop ecx
mov dword [ebp - 0x1c], eax
mov byte [ebp - 4], 2
test eax, eax
je 0x53f2b2
push 1
mov ecx, eax
call fcn.004ff650
jmp 0x53f300
xor eax, eax
jmp 0x53f300
push 0x1c4
call fcn.004399fa
pop ecx
mov dword [ebp - 0x14], eax
mov byte [ebp - 4], 3
test eax, eax
je 0x53f2f5
lea ecx, [edi + 0x1700]
push esi
call fcn.004321f2
mov ecx, dword [ebp - 0x14]
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push dword [eax]
push 0
call fcn.00502977
mov eax, dword [ebp - 0x14]
mov dword [eax], vtable.CMFCRibbonStatusBarCustomizeButton.0
jmp 0x53f2f7
xor eax, eax
mov ecx, dword [ebp - 0x18]
mov dword [eax + 0xa0], ecx
push eax
mov dword [eax + 0xec], 1
mov ecx, ebx
push dword [ebx + 8]
mov byte [ebp - 4], 0
call fcn.0050123f
inc esi
lea eax, [edi + 0x1728]
cmp esi, dword [edi + 0x1730]
jl 0x53f25d
mov esi, dword [ebp - 0x10]
cmp dword [edi + 0x1758], 1
jle 0x53f37d
cmp dword [edi + 0x1744], 0
jle 0x53f37d
push 0x110
call fcn.004399fa
pop ecx
mov dword [ebp - 0x1c], eax
mov byte [ebp - 4], 4
test eax, eax
je 0x53f362
push 1
mov ecx, eax
call fcn.004ff650
jmp 0x53f364
xor eax, eax
push eax
mov dword [eax + 0xec], 1
mov ecx, ebx
push dword [ebx + 8]
mov byte [ebp - 4], 0
call fcn.0050123f
and dword [ebp - 0x18], 0
cmp dword [edi + 0x1744], 0
jle 0x53f458
mov esi, dword [ebp - 0x18]
lea eax, [edi + 0x173c]
push esi
mov ecx, eax
call fcn.00503bdf
push 0x6a80d0
mov eax, dword [eax]
mov ecx, eax
mov dword [ebp - 0x18], eax
call fcn.00444538
test eax, eax
je 0x53f3e5
push 0x110
call fcn.004399fa
pop ecx
mov dword [ebp - 0x1c], eax
mov byte [ebp - 4], 5
test eax, eax
je 0x53f3d7
push 1
mov ecx, eax
call fcn.004ff650
mov ebx, eax
jmp 0x53f3d9
xor ebx, ebx
mov dword [ebx + 0xec], 1
jmp 0x53f42d
push 0x1c4
call fcn.004399fa
mov ebx, eax
pop ecx
mov dword [ebp - 0x14], ebx
mov byte [ebp - 4], 6
test ebx, ebx
je 0x53f422
lea ecx, [edi + 0x1714]
push esi
call fcn.004321f2
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push dword [eax]
mov ecx, ebx
push 0
call fcn.00502977
mov dword [ebx], vtable.CMFCRibbonStatusBarCustomizeButton.0
jmp 0x53f424
xor ebx, ebx
mov eax, dword [ebp - 0x18]
mov dword [ebx + 0xa0], eax
push ebx
lea ebx, [edi + 0x1750]
mov byte [ebp - 4], 0
push dword [ebx + 8]
mov ecx, ebx
call fcn.0050123f
inc esi
lea eax, [edi + 0x173c]
cmp esi, dword [edi + 0x1744]
jl 0x53f397
mov esi, dword [ebp - 0x10]
or dword [ebp - 4], 0xffffffff
lea ecx, [esi - 0x10]
call fcn.00406421
jmp 0x53f46c
lea ebx, [edi + 0x1750]
push 0x2040
call fcn.004399fa
pop ecx
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 7
test eax, eax
je 0x53f494
push 0
push ebx
push edi
mov ecx, eax
call fcn.0053488a
mov ebx, eax
jmp 0x53f496
xor ebx, ebx
and dword [ebx + 0x1f5c], 0
xor eax, eax
mov esi, dword [ebx]
inc eax
or dword [ebp - 4], 0xffffffff
push 0
push 0
mov esi, dword [esi + 0x210]
mov ecx, esi
push 0
mov dword [ebx + 0x1f50], eax
mov dword [ebx + 0x1f54], eax
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push edi
call dword [0x68dd90]
mov ecx, ebx
call esi
call fcn.005f145e
ret 0xc
call fcn.0041ee2b
int3