Function at 0x140050780
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 0x140050a93
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.1400577f4
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 0x14005084b
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 0x140050a93
mov rax, qword [rbp + 0x308]
cmp rax, r14
je 0x14005088e
cmp dword [rax + 0xc], r14d
je 0x14005088e
cmp dword [rax + 8], r14d
je 0x14005088e
mov rdx, rsi
mov rcx, r15
call fcn.1400577f4
mov rcx, rax
mov rdx, qword [rax]
call qword [rdx + 0x300]
lea rcx, str.CBasePane
mov rdx, rax
call fcn.1400577f4
mov r11, rax
jmp 0x140050891
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.1400577f4
mov rbx, rax
cmp rax, r14
je 0x140050949
mov rcx, rax
call fcn.140112c30
cmp rax, r14
je 0x140050949
mov rdx, r15
mov rcx, rsi
call fcn.1400577c0
cmp eax, r14d
je 0x140050917
mov rdx, rsi
mov rcx, r15
call fcn.1400577f4
mov r8, qword [rbx]
mov rcx, rbx
mov rdx, rax
call qword [r8 + 0x628]
cmp eax, r14d
je 0x140050a93
mov rcx, rbx
call fcn.140112c30
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 0x140050a93
mov rdx, qword [rsp + 0xa0]
lea r9, [rsp + 0x44]
lea r8, [rsp + 0x40]
mov rcx, rbp
call fcn.14004f284
mov qword [r12], r14
cmp eax, r14d
je 0x140050a93
mov rdx, r15
mov rcx, rsi
call fcn.1400577c0
cmp eax, r14d
je 0x1400509ad
mov rdx, rsi
mov rcx, r15
call fcn.1400577f4
mov rcx, rax
mov rdx, qword [rax]
call qword [rdx + 0x300]
lea rcx, str.CPane
mov rdx, rax
call fcn.1400577f4
cmp rax, r14
je 0x1400509e6
jmp 0x1400509d0
lea rdx, str.CDockablePane
mov rcx, rsi
call fcn.1400577c0
cmp eax, r14d
je 0x1400509e6
lea rcx, str.CDockablePane
mov rdx, rsi
call fcn.1400577f4
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x2e0]
test dword [rsp + 0x40], eax
je 0x140050a93
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.14000f8e0
mov r8d, dword [rsp + 0x40]
and eax, 0x400000
cmp r8d, 0x1000
je 0x140050ac1
cmp r8d, 0x2000
je 0x140050ab1
cmp r8d, 0x4000
je 0x140050a62
cmp r8d, 0x8000
jne 0x140050a74
mov eax, dword [rdi + 0xc]
sub eax, dword [rsp + 0x54]
add eax, dword [rsp + 0x4c]
mov dword [rdi + 4], eax
jmp 0x140050a74
cmp eax, r14d
je 0x140050ac6
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.140027488
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 0x140050a74
cmp eax, r14d
je 0x140050a67
mov eax, dword [rdi + 8]
sub eax, dword [rsp + 0x50]
add eax, dword [rsp + 0x48]
mov dword [rdi], eax
jmp 0x140050a74