Function at 0x140007630
Capabilities:
Log keystrokes via polling

Disassembly:
push rbx
push r14
sub rsp, 0x28
cmp qword [rcx + 0x1ec], 0
mov r14, rdx
mov rbx, rcx
je 0x1400076a9
mov rcx, qword [rcx + 0x40]
call qword [sym.imp.USER32.dll_GetParent]
mov rcx, rax
call fcn.14001e168
test rax, rax
je 0x1400076a9
call qword [sym.imp.USER32.dll_GetFocus]
mov rcx, rax
call fcn.14001e168
cmp rax, rbx
jne 0x1400076a9
mov rcx, qword [rbx + 0x40]
call qword [sym.imp.USER32.dll_GetParent]
mov rcx, rax
call fcn.14001e168
mov rdx, qword [rbx + 0x1ec]
mov r8, r14
mov rcx, qword [rax + 0x40]
call qword [sym.imp.USER32.dll_TranslateAcceleratorA]
test eax, eax
je 0x1400076a9
mov eax, 1
add rsp, 0x28
pop r14
pop rbx
ret
cmp dword [r14 + 8], 0x100
mov qword [rsp + 0x40], rbp
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x58], r12
mov qword [rsp + 0x20], r15
jne 0x1400078e0
cmp qword [r14 + 0x10], 9
jne 0x1400078c1
mov ecx, 0x11
call qword [sym.imp.USER32.dll_GetKeyState]
mov ecx, 0xffffff00
and ax, cx
cmp ax, cx
je 0x1400078c1
mov rcx, qword [rbx + 0x40]
xor r9d, r9d
xor r8d, r8d
mov edx, 0x1004
call qword [sym.imp.USER32.dll_SendMessageA]
mov rcx, rbx
mov rdi, rax
call fcn.1400075c0
mov esi, eax
mov rax, qword [rbx + 0x170]
test rax, rax
je 0x140007757
mov rax, qword [rax + 0x10]
test rax, rax
je 0x140007757
mov rcx, qword [r14]
cmp qword [rax + 0x40], rcx
jne 0x140007757
mov r9, qword [r14 + 0x18]
mov r8, qword [r14 + 0x10]
mov edx, dword [r14 + 8]
mov rcx, qword [rbx + 0x40]
call qword [sym.imp.USER32.dll_PostMessageA]
mov eax, 1
jmp 0x1400078eb
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetDim
call qword [sym.imp.USER32.dll_GetKeyState]
sar ax, 8
cmp ax, 0xffff
sete bpl
xor r15d, r15d
cmp ax, 0xffff
je 0x1400077ad
test edi, edi
jne 0x1400077af
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x2d0]
test eax, eax
je 0x1400078e0
mov rcx, qword [rbx + 0x40]
xor r9d, r9d
xor r8d, r8d
mov edx, 0x1004
call qword [sym.imp.USER32.dll_SendMessageA]
mov edi, eax
mov dword [rbx + 0x1a0], r15d
test edi, edi
jle 0x1400078e0
test esi, esi
jle 0x1400078e0
or r12d, 0xffffffff
mov ecx, dword [rbx + 0x19c]
test ecx, ecx
js 0x14000780e
mov eax, dword [rbx + 0x1a0]
test eax, eax
js 0x14000780e
cmp ecx, edi
jge 0x140007802
cmp eax, esi
jge 0x140007802
test bpl, bpl
mov r8d, 1
cmovne r8d, r12d
lea edx, [r8 + rax]
mov dword [rbx + 0x1a0], edx
test edx, edx
js 0x1400077fc
cmp edx, esi
jl 0x14000782e
lea eax, [r8 + rcx]
jmp 0x140007818
test bpl, bpl
lea eax, [rdi - 1]
cmove eax, r15d
jmp 0x14000781b
test bpl, bpl
lea eax, [rdi - 1]
cmove eax, r15d
test bpl, bpl
mov dword [rbx + 0x19c], eax
lea eax, [rsi - 1]
cmove eax, r15d
mov dword [rbx + 0x1a0], eax
cmp dword [rbx + 0x1e8], r15d
je 0x14000788b
mov ecx, dword [rbx + 0x19c]
lea eax, [rdi - 1]
cmp ecx, eax
jne 0x14000784c
cmp dword [rbx + 0x1a0], esi
jge 0x140007850
cmp ecx, edi
jl 0x14000788b
mov edx, 1
mov rcx, rbx
call fcn.140007360
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x2d0]
test eax, eax
je 0x1400078d9
mov rcx, qword [rbx + 0x40]
xor r9d, r9d
xor r8d, r8d
mov edx, 0x1004
call qword [sym.imp.USER32.dll_SendMessageA]
mov edi, eax
mov dword [rbx + 0x1a0], r15d
mov edx, dword [rbx + 0x19c]
test edx, edx
js 0x1400078e0
cmp edx, edi
jge 0x1400078e0
mov r8d, dword [rbx + 0x1a0]
test r8d, r8d
js 0x1400078e0
cmp r8d, esi
jge 0x1400078e0
mov rcx, rbx
call fcn.140006f10
test eax, eax
je 0x1400077c1
mov eax, 1
jmp 0x1400078eb
cmp qword [r14 + 0x10], 0x2e
jne 0x1400078e0
cmp dword [rbx + 0x1d0], 0
je 0x1400078e0
mov rcx, rbx
call fcn.140007ec0
mov eax, 1
jmp 0x1400078eb
mov rdx, r14
mov rcx, rbx
call fcn.140021598
mov r12, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x40]
mov r15, qword [rsp + 0x20]
add rsp, 0x28
pop r14
pop rbx
ret