Function at 0x1400a67fc
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x70
mov rax, qword [0x140267930]
xor rax, rsp
mov qword [rbp - 8], rax
mov rdi, rcx
mov rbx, rdx
mov ecx, 0x11
call qword [sym.imp.USER32.dll_GetKeyState]
xor r13d, r13d
mov esi, 1
test ax, ax
js 0x1400a6c29
mov rdx, rbx
lea rcx, str.CPaneFrameWnd
call fcn.14002cf78
mov r14, rax
mov rax, qword [rdi + 0x308]
test rax, rax
je 0x1400a6870
cmp dword [rax + 0xc], r13d
je 0x1400a6870
mov r12d, esi
cmp dword [rax + 8], r13d
jne 0x1400a6873
mov r12d, r13d
test r14, r14
je 0x1400a6c29
mov rcx, qword [rbx + 0x40]
lea rdx, [rbp - 0x28]
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x28], xmm0
call qword [sym.imp.USER32.dll_GetWindowRect]
mov rax, qword [r14]
mov rcx, r14
mov rax, qword [rax + 0x2e0]
call qword [case.0x14007c61a.0]
lea r8, [rbp - 0x18]
mov dword [rbp - 0x18], eax
lea rdx, [rbp - 0x28]
mov dword [rbp - 0x14], eax
lea rcx, vtable.CGlobalUtils.0
mov dword [rbp - 0x10], eax
mov dword [rbp - 0xc], eax
call fcn.140118304
mov r9d, dword [rbp - 0x24]
xor edx, edx
mov r8d, dword [rbp - 0x28]
mov rcx, r14
mov dword [rsp + 0x30], 0x15
mov dword [rsp + 0x28], r13d
mov dword [rsp + 0x20], r13d
call fcn.140019ad0
lea rcx, [rbp - 0x18]
mov qword [rbp - 0x18], r13
call qword [sym.imp.USER32.dll_GetCursorPos]
mov rax, qword [r14]
mov rcx, r14
mov rax, qword [rax + 0x350]
call qword [case.0x14007c61a.0]
mov rdx, rax
lea rcx, str.CPane
call fcn.14002cf78
mov r15, rax
test rax, rax
je 0x1400a695c
test r12d, r12d
jne 0x1400a6a39
mov rcx, qword [rax]
mov rax, qword [rcx + 0x380]
mov rcx, r15
call qword [case.0x14007c61a.0]
test al, 0x40
je 0x1400a6a39
lea rdx, str.0___
mov rcx, r15
call fcn.14002d018
test eax, eax
je 0x1400a6a39
mov rax, qword [rdi]
mov r9d, esi
mov rdx, qword [rbp - 0x18]
mov r8, r14
mov rcx, rdi
mov rax, qword [rax + 0x28]
call qword [case.0x14007c61a.0]
mov r13, rax
test rax, rax
je 0x1400a6a36
mov rcx, qword [rax + 0x130]
call fcn.14000ffe0
mov rcx, qword [r14 + 0x130]
mov rbx, rax
call fcn.14000ffe0
cmp rbx, rax
jne 0x1400a6a36
mov rdx, r13
lea rcx, str.8V__
call fcn.14002cf78
xor r12d, r12d
mov rbx, rax
test rax, rax
je 0x1400a6c29
mov rcx, qword [rdi + 0x1f8]
lea r15, [rdi + 0x200]
test rcx, rcx
jne 0x1400a69e8
call fcn.1401b9f0c
mov dword [r15], eax
mov qword [rdi + 0x1f8], rbx
jmp 0x1400a69f1
cmp rcx, rbx
jne 0x1400a6c29
call fcn.1401b9f0c
sub eax, dword [r15]
cmp eax, dword [0x1402668fc]
jle 0x1400a6c29
mov rax, qword [rbx]
mov r8d, esi
mov rdx, r14
mov rcx, rbx
mov rax, qword [rax + 0x490]
call qword [case.0x14007c61a.0]
mov ebx, eax
call fcn.1401b9f0c
mov dword [r15], eax
mov eax, ebx
mov qword [rdi + 0x1f8], r12
jmp 0x1400a6c2b
xor r13d, r13d
mov qword [rdi + 0x1f8], r13
test r15, r15
je 0x1400a6c29
mov rax, qword [r15]
mov rcx, r15
mov rax, qword [rax + 0x330]
call qword [case.0x14007c61a.0]
test eax, 0xf000
je 0x1400a6c29
mov rax, qword [r15]
lea r8, [rbp - 0x28]
mov edx, dword [0x140266904]
mov rcx, r15
mov qword [rbp - 0x28], r13
mov rax, qword [rax + 0x568]
call qword [case.0x14007c61a.0]
mov rcx, qword [rbp - 0x28]
mov ebx, eax
cmp r15, rcx
cmove ebx, r13d
test rcx, rcx
jne 0x1400a6aa3
cmp ebx, 2
jne 0x1400a6b50
test r12d, r12d
jne 0x1400a6b50
test rcx, rcx
je 0x1400a6ac4
lea rdx, str.CDockSite
call fcn.14002d018
mov rcx, qword [rbp - 0x28]
mov r13d, eax
mov dword [rbp - 0x30], r13d
test rcx, rcx
je 0x1400a6adf
lea rdx, str.0___
call fcn.14002d018
mov rcx, qword [rbp - 0x28]
jmp 0x1400a6ae1
mov eax, esi
test r13d, r13d
jne 0x1400a6aed
xor r13d, r13d
test eax, eax
je 0x1400a6b50
mov r13d, dword [0x1402668fc]
xor eax, eax
cmp dword [rbp - 0x30], eax
cmovne r13d, dword [0x1402668f8]
cmp qword [rdi + 0x1f0], rcx
jne 0x1400a6b12
cmp ebx, dword [rdi + 0x204]
je 0x1400a6b39
call fcn.1401b9f0c
mov dword [rdi + 0x200], eax
mov edx, r13d
mov rax, qword [rbp - 0x28]
mov rcx, r14
mov qword [rdi + 0x1f0], rax
mov dword [rdi + 0x204], ebx
call fcn.1400a234c
call fcn.1401b9f0c
sub eax, dword [rdi + 0x200]
cmp eax, r13d
jl 0x1400a6c29
xor r13d, r13d
mov qword [rdi + 0x1f0], r13
call fcn.1401b9f0c
mov rcx, r14
mov dword [rdi + 0x200], eax
mov dword [rdi + 0x204], r13d
call fcn.14009d88c
cmp ebx, esi
jne 0x1400a6bbc
mov r8, qword [rbp - 0x28]
test r8, r8
je 0x1400a6c0f
mov rax, qword [r14]
mov r9d, esi
xor r8d, r8d
xor edx, edx
mov rcx, r14
mov rax, qword [rax + 0x320]
call qword [case.0x14007c61a.0]
mov rax, qword [r15]
mov rcx, r15
mov rdx, qword [rbp - 0x28]
mov rax, qword [rax + 0x540]
call qword [case.0x14007c61a.0]
test eax, eax
je 0x1400a6c0b
xor eax, eax
jmp 0x1400a6c2b
cmp ebx, 2
jne 0x1400a6bce
test r12d, r12d
jne 0x1400a6c0b
mov r8, qword [rbp - 0x28]
mov edx, esi
jmp 0x1400a6c11
cmp ebx, 3
jne 0x1400a6c0b
test r12d, r12d
jne 0x1400a6c0b
mov rax, qword [r14]
lea edx, [rbx - 1]
mov r8, qword [rbp - 0x28]
mov r9d, esi
mov rcx, r14
mov rax, qword [rax + 0x320]
call qword [case.0x14007c61a.0]
xor edx, edx
mov rcx, rdi
mov esi, eax
mov rax, qword [rdi]
mov rax, qword [rax + 0x70]
call qword [case.0x14007c61a.0]
jmp 0x1400a6c29
mov r8, qword [rbp - 0x28]
xor edx, edx
mov rax, qword [r14]
mov r9d, esi
mov rcx, r14
mov rax, qword [rax + 0x320]
call qword [case.0x14007c61a.0]
mov esi, eax
mov eax, esi
mov rcx, qword [rbp - 8]
xor rcx, rsp
call fcn.1401aaa90
mov rbx, qword [rsp + 0xc0]
add rsp, 0x70
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret