Function at 0x140053930
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x60
mov rdi, rcx
mov ecx, 0x11
mov rbx, rdx
call qword [sym.imp.USER32.dll_GetKeyState]
xor r15d, r15d
cmp ax, r15w
jge 0x140053967
lea eax, [r15 + 1]
jmp 0x140053d3b
lea rcx, str.CPaneFrameWnd
mov rdx, rbx
mov esi, 1
call fcn.14005a7e4
mov rbp, rax
mov rax, qword [rdi + 0x308]
cmp rax, r15
je 0x140053999
cmp dword [rax + 0xc], r15d
je 0x140053999
mov r13d, esi
cmp dword [rax + 8], r15d
jne 0x14005399c
mov r13d, r15d
cmp rbp, r15
je 0x140053d39
mov rcx, qword [rbx + 0x40]
lea rdx, [rsp + 0x50]
call qword [sym.imp.USER32.dll_GetWindowRect]
mov r11, qword [rbp]
mov rcx, rbp
call qword [r11 + 0x290]
lea r8, [rsp + 0x40]
lea rdx, [rsp + 0x50]
lea rcx, vtable.CGlobalUtils.0
mov dword [rsp + 0x40], eax
mov dword [rsp + 0x44], eax
mov dword [rsp + 0x48], eax
mov dword [rsp + 0x4c], eax
call fcn.1400cd194
mov r9d, dword [rsp + 0x54]
mov r8d, dword [rsp + 0x50]
mov dword [rsp + 0x30], 0x15
xor edx, edx
mov rcx, rbp
mov dword [rsp + 0x28], r15d
mov dword [rsp + 0x20], r15d
call fcn.140012814
lea rcx, [rsp + 0xb8]
call qword [sym.imp.USER32.dll_GetCursorPos]
mov r11, qword [rbp]
mov rcx, rbp
call qword [r11 + 0x300]
lea rcx, str.CPane
mov rdx, rax
call fcn.14005a7e4
mov r12, rax
cmp rax, r15
je 0x140053a76
cmp r13d, r15d
jne 0x140053b44
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x330]
test al, 0x40
je 0x140053b44
lea rdx, str.CDockablePane
mov rcx, r12
call fcn.14005a7b0
cmp eax, r15d
je 0x140053b44
mov rax, qword [rdi]
mov rdx, qword [rsp + 0xb8]
mov r9d, esi
mov r8, rbp
mov rcx, rdi
call qword [rax + 0x28]
mov r14, rax
cmp rax, r15
je 0x140053b44
mov rcx, qword [rax + 0xf0]
call fcn.14001bd38
mov rcx, qword [rbp + 0xf0]
mov rbx, rax
call fcn.14001bd38
cmp rbx, rax
jne 0x140053b44
lea rcx, str.CMultiPaneFrameWnd
mov rdx, r14
call fcn.14005a7e4
mov rbx, rax
cmp rax, r15
je 0x140053d39
cmp qword [rdi + 0x1f8], r15
jne 0x140053af3
call fcn.140187f90
mov qword [rdi + 0x1f8], rbx
mov dword [rdi + 0x200], eax
cmp qword [rdi + 0x1f8], rbx
jne 0x140053d39
call fcn.140187f90
sub eax, dword [rdi + 0x200]
cmp eax, dword [0x14024d9a4]
jle 0x140053d39
mov rax, qword [rbx]
mov r8d, esi
mov rdx, rbp
mov rcx, rbx
call qword [rax + 0x440]
mov ebx, eax
call fcn.140187f90
mov qword [rdi + 0x1f8], r15
mov dword [rdi + 0x200], eax
mov eax, ebx
jmp 0x140053d3b
mov qword [rdi + 0x1f8], r15
cmp r12, r15
je 0x140053d39
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 0x2e0]
test eax, 0xf000
je 0x140053d39
mov rax, qword [r12]
mov edx, dword [0x14024d9b0]
lea r8, [rsp + 0xb0]
mov rcx, r12
mov qword [rsp + 0xb0], r15
call qword [rax + 0x520]
mov ebx, eax
mov rax, qword [rsp + 0xb0]
cmp r12, rax
cmove ebx, r15d
cmp rax, r15
jne 0x140053bae
cmp ebx, 2
jne 0x140053c69
cmp r13d, r15d
jne 0x140053c69
cmp rax, r15
je 0x140053bd6
lea rdx, str.CDockSite
mov rcx, rax
call fcn.14005a7b0
mov r15d, eax
mov rax, qword [rsp + 0xb0]
test rax, rax
je 0x140053bf7
lea rdx, str.CDockablePane
mov rcx, rax
call fcn.14005a7b0
mov r11d, eax
mov rax, qword [rsp + 0xb0]
jmp 0x140053bfa
mov r11d, esi
test r15d, r15d
jne 0x140053c04
test r11d, r11d
je 0x140053c66
mov r14d, dword [0x14024d9a4]
test r15d, r15d
cmovne r14d, dword [0x14024d9a0]
cmp qword [rdi + 0x1f0], rax
jne 0x140053c27
cmp ebx, dword [rdi + 0x204]
je 0x140053c52
call fcn.140187f90
mov edx, r14d
mov rcx, rbp
mov dword [rdi + 0x200], eax
mov rax, qword [rsp + 0xb0]
mov dword [rdi + 0x204], ebx
mov qword [rdi + 0x1f0], rax
call fcn.1400f16d8
call fcn.140187f90
sub eax, dword [rdi + 0x200]
cmp eax, r14d
jl 0x140053d39
xor r15d, r15d
mov qword [rdi + 0x1f0], r15
call fcn.140187f90
mov rcx, rbp
mov dword [rdi + 0x200], eax
mov dword [rdi + 0x204], r15d
call fcn.1400f04c8
cmp ebx, esi
jne 0x140053cd3
mov r8, qword [rsp + 0xb0]
cmp r8, r15
je 0x140053d25
mov rax, qword [rbp]
mov r9d, esi
xor r8d, r8d
xor edx, edx
mov rcx, rbp
call qword [rax + 0x2d0]
mov r11, qword [r12]
mov rdx, qword [rsp + 0xb0]
mov rcx, r12
call qword [r11 + 0x4f8]
cmp eax, r15d
je 0x140053d1d
xor eax, eax
jmp 0x140053d3b
cmp ebx, 2
jne 0x140053ce9
cmp r13d, r15d
jne 0x140053d1d
mov r8, qword [rsp + 0xb0]
mov edx, esi
jmp 0x140053d27
cmp ebx, 3
jne 0x140053d1d
cmp r13d, r15d
jne 0x140053d1d
mov rax, qword [rbp]
mov r8, qword [rsp + 0xb0]
lea edx, [rbx - 1]
mov r9d, esi
mov rcx, rbp
call qword [rax + 0x2d0]
xor edx, edx
mov rcx, rdi
mov esi, eax
mov rax, qword [rdi]
call qword [rax + 0x70]
jmp 0x140053d39
mov r8, qword [rsp + 0xb0]
xor edx, edx
mov rax, qword [rbp]
mov r9d, esi
mov rcx, rbp
call qword [rax + 0x2d0]
mov esi, eax
mov eax, esi
mov rbx, qword [rsp + 0xa0]
add rsp, 0x60
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret