Function at 0x14005103c
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x20], rsi
mov qword [rax + 0x18], r8
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x60
mov rbp, rcx
mov rcx, r9
mov rdi, r9
mov rsi, rdx
call qword [sym.imp.USER32.dll_SetRectEmpty]
mov ecx, 0x11
call qword [sym.imp.USER32.dll_GetKeyState]
xor r14d, r14d
cmp ax, r14w
jl 0x14005134f
mov rbx, qword [rbp]
lea r15, str.CPaneFrameWnd
mov rdx, rsi
mov rcx, r15
mov dword [rsp + 0x44], r14d
mov dword [rsp + 0x40], r14d
call fcn.1400580b0
mov rdx, qword [rsp + 0xa0]
lea r9d, [r14 + 1]
mov r8, rax
mov rcx, rbp
call qword [rbx + 0x28]
mov r12, qword [rsp + 0xb8]
mov r13, qword [rsp + 0xb0]
cmp rax, r14
je 0x140051107
mov r10, qword [rax]
mov r8, qword [rsp + 0xa0]
mov r9, rdi
mov rdx, rsi
mov rcx, rax
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r13
call qword [r10 + 0x330]
mov rcx, rdi
call qword [sym.imp.USER32.dll_IsRectEmpty]
cmp eax, r14d
je 0x14005134f
mov rax, qword [rbp + 0x308]
cmp rax, r14
je 0x14005114a
cmp dword [rax + 0xc], r14d
je 0x14005114a
cmp dword [rax + 8], r14d
je 0x14005114a
mov rdx, rsi
mov rcx, r15
call fcn.1400580b0
mov rcx, rax
mov rdx, qword [rax]
call qword [rdx + 0x300]
lea rcx, str.CBasePane
mov rdx, rax
call fcn.1400580b0
mov r11, rax
jmp 0x14005114d
mov r11, r14
mov rax, qword [rbp]
mov r8d, dword [0x14024a9b0]
mov rdx, qword [rsp + 0xa0]
mov qword [rsp + 0x30], r11
mov r9b, 1
mov rcx, rbp
mov dword [rsp + 0x28], 1
mov qword [rsp + 0x20], r14
call qword [rax + 0x20]
lea rcx, str.CDockablePane
mov rdx, rax
call fcn.1400580b0
mov rbx, rax
cmp rax, r14
je 0x140051205
mov rcx, rax
call fcn.140113544
cmp rax, r14
je 0x140051205
mov rdx, r15
mov rcx, rsi
call fcn.14005807c
cmp eax, r14d
je 0x1400511d3
mov rdx, rsi
mov rcx, r15
call fcn.1400580b0
mov r8, qword [rbx]
mov rcx, rbx
mov rdx, rax
call qword [r8 + 0x628]
cmp eax, r14d
je 0x14005134f
mov rcx, rbx
call fcn.140113544
mov r8, qword [rsp + 0xa0]
mov r9, rdi
mov r10, qword [rax]
mov rdx, rsi
mov rcx, rax
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r13
call qword [r10 + 0x4e8]
jmp 0x14005134f
mov rdx, qword [rsp + 0xa0]
lea r9, [rsp + 0x44]
lea r8, [rsp + 0x40]
mov rcx, rbp
call fcn.14004fb5c
mov qword [r12], r14
cmp eax, r14d
je 0x14005134f
mov rdx, r15
mov rcx, rsi
call fcn.14005807c
cmp eax, r14d
je 0x140051269
mov rdx, rsi
mov rcx, r15
call fcn.1400580b0
mov rcx, rax
mov rdx, qword [rax]
call qword [rdx + 0x300]
lea rcx, str.CPane
mov rdx, rax
call fcn.1400580b0
cmp rax, r14
je 0x1400512a2
jmp 0x14005128c
lea rdx, str.CDockablePane
mov rcx, rsi
call fcn.14005807c
cmp eax, r14d
je 0x1400512a2
lea rcx, str.CDockablePane
mov rdx, rsi
call fcn.1400580b0
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x2e0]
test dword [rsp + 0x40], eax
je 0x14005134f
mov rcx, qword [rsi + 0x40]
lea rdx, [rsp + 0x48]
call qword [sym.imp.USER32.dll_GetWindowRect]
cmp dword [rsp + 0x44], r14d
lea rax, [rbp + 0x1d8]
lea rcx, [rbp + 0x1c8]
cmovne rcx, rax
movdqu xmm0, xmmword [rcx]
movdqu xmmword [rdi], xmm0
mov rcx, qword [rbp + 0x1b0]
call fcn.14000fdf4
mov r8d, dword [rsp + 0x40]
and eax, 0x400000
cmp r8d, 0x1000
je 0x14005137d
cmp r8d, 0x2000
je 0x14005136d
cmp r8d, 0x4000
je 0x14005131e
cmp r8d, 0x8000
jne 0x140051330
mov eax, dword [rdi + 0xc]
sub eax, dword [rsp + 0x54]
add eax, dword [rsp + 0x4c]
mov dword [rdi + 4], eax
jmp 0x140051330
cmp eax, r14d
je 0x140051382
mov eax, dword [rdi]
sub eax, dword [rsp + 0x48]
add eax, dword [rsp + 0x50]
mov dword [rdi + 8], eax
mov rax, qword [rbp]
mov rdx, rdi
mov rcx, rbp
call qword [rax + reloc.OLEAUT32.dll_VariantTimeToSystemTime]
mov rcx, qword [rbp + 0x1b0]
mov rdx, rdi
call fcn.140027d40
lea r11, [rsp + 0x60]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
mov eax, dword [rdi + 4]
sub eax, dword [rsp + 0x4c]
add eax, dword [rsp + 0x54]
mov dword [rdi + 0xc], eax
jmp 0x140051330
cmp eax, r14d
je 0x140051323
mov eax, dword [rdi + 8]
sub eax, dword [rsp + 0x50]
add eax, dword [rsp + 0x48]
mov dword [rdi], eax
jmp 0x140051330