Function at 0x140109fc0
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0x48
mov rax, qword [rsp + 0x58]
cmp dword [rax + 8], 0x100
jne 0x14010a307
xor edx, edx
mov rcx, qword [rsp + 0x50]
call fcn.14011e2a0
mov qword [rsp + 0x20], rax
cmp qword [rsp + 0x20], 0
je 0x14010a00d
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x50]
call fcn.1401423a0
jmp 0x14010a316
mov rcx, qword [rsp + 0x50]
call fcn.1401183d0
mov dword [rsp + 0x28], eax
mov rax, qword [rsp + 0x50]
cmp dword [rax + 0x1318], 0
je 0x14010a03e
mov rax, qword [rsp + 0x50]
mov ecx, dword [rax + 0x1344]
mov eax, dword [rsp + 0x28]
sub eax, ecx
mov dword [rsp + 0x28], eax
mov rax, qword [rsp + 0x50]
cmp dword [rax + 0x10bc], 0
jl 0x14010a307
mov rcx, qword [rsp + 0x50]
mov eax, dword [rsp + 0x28]
cmp dword [rcx + 0x10bc], eax
jge 0x14010a307
mov rax, qword [rsp + 0x50]
mov eax, dword [rax + 0x10bc]
mov dword [rsp + 0x2c], eax
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 0x10]
mov dword [rsp + 0x34], eax
cmp dword [rsp + 0x34], 9
jne 0x14010a0ae
mov ecx, reloc.WS2_32.dll_recv
call qword [sym.imp.USER32.dll_GetKeyState]
cwde
and eax, 0x80
test eax, eax
je 0x14010a0a6
mov dword [rsp + 0x34], 0x25
jmp 0x14010a0ae
mov dword [rsp + 0x34], 0x27
mov rcx, qword [rsp + 0x50]
call sub.mfc90u.dll_CRichEditView::GetContextMenu
and eax, 0x400000
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0
je 0x14010a0e8
cmp dword [rsp + 0x34], 0x25
jne 0x14010a0d9
mov dword [rsp + 0x34], 0x27
jmp 0x14010a0e8
cmp dword [rsp + 0x34], 0x27
jne 0x14010a0e8
mov dword [rsp + 0x34], 0x25
mov eax, dword [rsp + 0x34]
mov dword [rsp + 0x38], eax
cmp dword [rsp + 0x38], 0xd
je 0x14010a291
cmp dword [rsp + 0x38], 0x1b
je 0x14010a124
cmp dword [rsp + 0x38], 0x25
je 0x14010a1df
cmp dword [rsp + 0x38], 0x27
je 0x14010a159
cmp dword [rsp + 0x38], 0x28
je 0x14010a265
jmp 0x14010a2e0
mov rax, qword [rsp + 0x50]
mov rax, qword [rax]
mov rcx, qword [rsp + 0x50]
call qword [rax + CDockBar::Create]
mov rax, qword [rsp + 0x50]
mov rax, qword [rax]
mov rcx, qword [rsp + 0x50]
call qword [rax + CHotKeyCtrl::Create]
mov dword [0x1404e6654], 0
jmp 0x14010a307
mov rax, qword [rsp + 0x50]
mov ecx, dword [rax + 0x10bc]
add ecx, 1
mov rax, qword [rsp + 0x50]
mov dword [rax + COleDispatchImpl::Invoke], ecx
mov rcx, qword [rsp + 0x50]
mov eax, dword [rsp + 0x28]
cmp dword [rcx + 0x10bc], eax
jl 0x14010a192
mov rax, qword [rsp + 0x50]
mov dword [rax + COleDispatchImpl::Invoke], 0
mov edx, dword [rsp + 0x2c]
mov rcx, qword [rsp + 0x50]
call fcn.140110f20
mov r11, qword [rsp + 0x50]
mov edx, dword [r11 + 0x10bc]
mov rcx, qword [rsp + 0x50]
call fcn.140110f20
mov rcx, qword [rsp + 0x50]
mov rcx, qword [rcx + 0x40]
call qword [sym.imp.USER32.dll_UpdateWindow]
mov rax, qword [rsp + 0x50]
mov edx, dword [rax + 0x10bc]
mov rcx, qword [rsp + 0x50]
call fcn.140123170
jmp 0x14010a307
mov rax, qword [rsp + 0x50]
mov ecx, dword [rax + 0x10bc]
sub ecx, 1
mov rax, qword [rsp + 0x50]
mov dword [rax + COleDispatchImpl::Invoke], ecx
mov rax, qword [rsp + 0x50]
cmp dword [rax + 0x10bc], 0
jge 0x14010a218
mov ecx, dword [rsp + 0x28]
sub ecx, 1
mov rax, qword [rsp + 0x50]
mov dword [rax + COleDispatchImpl::Invoke], ecx
mov edx, dword [rsp + 0x2c]
mov rcx, qword [rsp + 0x50]
call fcn.140110f20
mov r11, qword [rsp + 0x50]
mov edx, dword [r11 + 0x10bc]
mov rcx, qword [rsp + 0x50]
call fcn.140110f20
mov rcx, qword [rsp + 0x50]
mov rcx, qword [rcx + 0x40]
call qword [sym.imp.USER32.dll_UpdateWindow]
mov rax, qword [rsp + 0x50]
mov edx, dword [rax + 0x10bc]
mov rcx, qword [rsp + 0x50]
call fcn.140123170
jmp 0x14010a307
mov rax, qword [rsp + 0x50]
mov edx, dword [rax + 0x10bc]
mov rcx, qword [rsp + 0x50]
call fcn.140110eb0
mov rdx, rax
mov rcx, qword [rsp + 0x50]
call fcn.14011e150
mov eax, 1
jmp 0x14010a316
mov rax, qword [rsp + 0x50]
mov edx, dword [rax + 0x10bc]
mov rcx, qword [rsp + 0x50]
call fcn.140110eb0
mov rdx, rax
mov rcx, qword [rsp + 0x50]
call fcn.14011e150
test eax, eax
jne 0x14010a2d9
mov rax, qword [rsp + 0x50]
mov edx, dword [rax + 0x10bc]
mov rcx, qword [rsp + 0x50]
call fcn.140110eb0
mov rdx, rax
mov rcx, qword [rsp + 0x50]
call fcn.14011e210
mov eax, 1
jmp 0x14010a316
mov r8, qword [rsp + 0x50]
mov r8, qword [r8]
mov rax, qword [rsp + 0x58]
mov edx, dword [rax + 0x10]
mov rcx, qword [rsp + 0x50]
call qword [r8 + CPagerCtrl::CreateEx]
test eax, eax
je 0x14010a307
mov eax, 1
jmp 0x14010a316
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x50]
call fcn.1401185b0
add rsp, 0x48
ret