Function at 0x140006fa0
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 0x140007019
mov rcx, qword [rcx + 0x40]
call qword [sym.imp.USER32.dll_GetParent]
mov rcx, rax
call fcn.1400243e0
test rax, rax
je 0x140007019
call qword [sym.imp.USER32.dll_GetFocus]
mov rcx, rax
call fcn.1400243e0
cmp rax, rbx
jne 0x140007019
mov rcx, qword [rbx + 0x40]
call qword [sym.imp.USER32.dll_GetParent]
mov rcx, rax
call fcn.1400243e0
mov rdx, qword [rbx + 0x1ec]
mov r8, r14
mov rcx, qword [rax + 0x40]
call qword [sym.imp.USER32.dll_TranslateAcceleratorA]
test eax, eax
je 0x140007019
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 0x140007250
cmp qword [r14 + 0x10], 9
jne 0x140007231
mov ecx, 0x11
call qword [sym.imp.USER32.dll_GetKeyState]
mov ecx, 0xffffff00
and ax, cx
cmp ax, cx
je 0x140007231
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.140006f30
mov esi, eax
mov rax, qword [rbx + 0x170]
test rax, rax
je 0x1400070c7
mov rax, qword [rax + 0x10]
test rax, rax
je 0x1400070c7
mov rcx, qword [r14]
cmp qword [rax + 0x40], rcx
jne 0x1400070c7
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 0x14000725b
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 0x14000711d
test edi, edi
jne 0x14000711f
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x2d0]
test eax, eax
je 0x140007250
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 0x140007250
test esi, esi
jle 0x140007250
or r12d, 0xffffffff
mov ecx, dword [rbx + 0x19c]
test ecx, ecx
js 0x14000717e
mov eax, dword [rbx + 0x1a0]
test eax, eax
js 0x14000717e
cmp ecx, edi
jge 0x140007172
cmp eax, esi
jge 0x140007172
test bpl, bpl
mov r8d, 1
cmovne r8d, r12d
lea edx, [r8 + rax]
mov dword [rbx + 0x1a0], edx
test edx, edx
js 0x14000716c
cmp edx, esi
jl 0x14000719e
lea eax, [r8 + rcx]
jmp 0x140007188
test bpl, bpl
lea eax, [rdi - 1]
cmove eax, r15d
jmp 0x14000718b
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 0x1400071fb
mov ecx, dword [rbx + 0x19c]
lea eax, [rdi - 1]
cmp ecx, eax
jne 0x1400071bc
cmp dword [rbx + 0x1a0], esi
jge 0x1400071c0
cmp ecx, edi
jl 0x1400071fb
mov edx, 1
mov rcx, rbx
call fcn.140006cd0
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x2d0]
test eax, eax
je 0x140007249
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 0x140007250
cmp edx, edi
jge 0x140007250
mov r8d, dword [rbx + 0x1a0]
test r8d, r8d
js 0x140007250
cmp r8d, esi
jge 0x140007250
mov rcx, rbx
call fcn.140006880
test eax, eax
je 0x140007131
mov eax, 1
jmp 0x14000725b
cmp qword [r14 + 0x10], 0x2e
jne 0x140007250
cmp dword [rbx + 0x1d0], 0
je 0x140007250
mov rcx, rbx
call fcn.140007830
mov eax, 1
jmp 0x14000725b
mov rdx, r14
mov rcx, rbx
call fcn.140027808
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