Function at 0x1400d32bc
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r14
push r15
mov rbp, rsp
sub rsp, 0x70
mov rax, qword [0x1402e3910]
xor rax, rsp
mov qword [rbp - 0x10], rax
mov rsi, rcx
xor r15d, r15d
lea rcx, [rbp - 0x50]
mov qword [rbp - 0x50], r15
mov rbx, r8
mov r14d, edx
call qword [sym.imp.USER32.dll_GetCursorPos]
mov rax, qword [rsi]
mov rdi, qword [rax + 0x370]
mov rcx, rdi
call fcn.1401cb730
mov rcx, rsi
call rdi
test al, 1
je 0x1400d3541
cmp byte [rsi + 0x210], r15b
jne 0x1400d333b
call qword [sym.imp.USER32.dll_GetCapture]
mov rcx, rax
call fcn.14003a2e0
cmp rax, rsi
je 0x1400d3371
cmp byte [rsi + 0x210], r15b
je 0x1400d334e
call qword [sym.imp.USER32.dll_GetCapture]
mov rcx, rax
call fcn.14003a2e0
cmp rax, rsi
jne 0x1400d3371
mov ecx, 0x17
call qword [sym.imp.USER32.dll_GetSystemMetrics]
neg eax
sbb ecx, ecx
neg ecx
inc ecx
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
mov ecx, 0x8000
test cx, ax
jne 0x1400d338e
cmp dword [rsi + 0x4d8], r15d
jne 0x1400d338e
call qword [sym.imp.USER32.dll_ReleaseCapture]
mov byte [rsi + 0x210], r15b
mov byte [rsi + 0x408], r15b
cmp byte [rsi + 0x408], r15b
je 0x1400d3575
mov rcx, qword [rsi + 0x40]
lea rdx, [rbp - 0x20]
mov qword [rbp - 0x20], r15
mov qword [rbp - 0x18], r15
call qword [sym.imp.USER32.dll_GetWindowRect]
cmp byte [rsi + 0x409], r15b
jne 0x1400d33d4
mov rdx, qword [rbp - 0x50]
lea rcx, [rbp - 0x20]
call qword [sym.imp.USER32.dll_PtInRect]
cmp eax, 1
sete al
mov byte [rsi + 0x409], al
mov rax, qword [rsi + 0x240]
lea rdx, [rbp - 0x48]
mov ecx, dword [rbp - 0x50]
sub ecx, eax
shr rax, 0x20
mov dword [rbp - 0x30], ecx
mov ecx, dword [rbp - 0x4c]
sub ecx, eax
mov rax, qword [rbp - 0x50]
mov qword [rsi + 0x240], rax
mov rax, qword [rsi + 0x208]
mov dword [rbp - 0x2c], ecx
mov rcx, qword [rsi + 0x40]
mov qword [rbp - 0x48], rax
call qword [sym.imp.USER32.dll_ClientToScreen]
mov rax, qword [rbp - 0x48]
mov rcx, rsi
mov ebx, dword [rbp - 0x50]
mov edi, dword [rbp - 0x4c]
sub ebx, eax
mov rdx, qword [rbp - 0x30]
shr rax, 0x20
sub edi, eax
call fcn.1400a0ff8
mov ecx, ebx
call fcn.1401d8adc
cmp eax, dword [0x1402f1e68]
jg 0x1400d3453
mov ecx, edi
call fcn.1401d8adc
cmp eax, dword [0x1402f1e6c]
jle 0x1400d35a2
cmp byte [rsi + 0x409], r15b
je 0x1400d35a2
mov rax, qword [rsi]
mov rbx, qword [rax + 0x2d8]
mov rcx, rbx
call fcn.1401cb730
mov rcx, rsi
call rbx
test eax, eax
je 0x1400d34cc
mov rcx, qword [rsi + 0x40]
call qword [sym.imp.USER32.dll_GetParent]
mov rcx, rax
call fcn.14003a2e0
mov rdx, rax
lea rcx, str.CMFCBaseTabCtrl
call fcn.140041a20
mov rdi, rax
test rax, rax
je 0x1400d3537
mov rcx, qword [rax]
mov rbx, qword [rcx + 0x340]
mov rcx, rbx
call fcn.1401cb730
xor r9d, r9d
or r8d, 0xffffffff
mov rcx, rdi
lea edx, [r9 + 1]
call rbx
jmp 0x1400d3537
mov rax, qword [rsi]
movups xmm0, xmmword [rsi + 0x2c0]
mov rbx, qword [rax + 0x3f8]
mov rcx, rbx
movdqu xmmword [rbp - 0x30], xmm0
call fcn.1401cb730
mov r9b, 1
lea rdx, [rbp - 0x30]
mov r8d, 1
mov rcx, rsi
call rbx
mov rax, qword [rsi]
mov rbx, qword [rax + 0x338]
mov rcx, rbx
call fcn.1401cb730
mov rcx, rsi
call rbx
mov rdx, rax
lea rcx, vtable.CGlobalUtils.0
call fcn.1400589a8
xor r9d, r9d
lea rcx, vtable.CGlobalUtils.0
xor r8d, r8d
mov rdx, rax
call fcn.140058854
mov word [rsi + 0x408], r15w
jmp 0x1400d35a2
mov rax, qword [rsi]
mov rdi, qword [rax + 0x370]
mov rcx, rdi
call fcn.1401cb730
mov rcx, rsi
call rdi
test al, 2
je 0x1400d3575
cmp byte [rsi + 0x408], r15b
je 0x1400d3575
mov r8, rbx
mov edx, r14d
mov rcx, rsi
call fcn.14009f970
jmp 0x1400d35a2
mov rcx, qword [rsi + 0x40]
lea rdx, [rbp - 0x40]
mov qword [rbp - 0x40], rbx
call qword [sym.imp.USER32.dll_ClientToScreen]
mov rax, qword [rsi]
mov rbx, qword [rax + 0x710]
mov rcx, rbx
call fcn.1401cb730
mov rdx, qword [rbp - 0x40]
mov rcx, rsi
call rbx
mov rcx, qword [rbp - 0x10]
xor rcx, rsp
call fcn.1401cb100
mov rbx, qword [rsp + 0xb0]
add rsp, 0x70
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret