Function at 0x1400077e0
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 0x140007859
mov rcx, qword [rcx + 0x40]
call qword [sym.imp.USER32.dll_GetParent]
mov rcx, rax
call fcn.140026500
test rax, rax
je 0x140007859
call qword [sym.imp.USER32.dll_GetFocus]
mov rcx, rax
call fcn.140026500
cmp rax, rbx
jne 0x140007859
mov rcx, qword [rbx + 0x40]
call qword [sym.imp.USER32.dll_GetParent]
mov rcx, rax
call fcn.140026500
mov rdx, qword [rbx + 0x1ec]
mov r8, r14
mov rcx, qword [rax + 0x40]
call qword [sym.imp.USER32.dll_TranslateAcceleratorA]
test eax, eax
je 0x140007859
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 0x140007a90
cmp qword [r14 + 0x10], 9
jne 0x140007a71
mov ecx, 0x11
call qword [sym.imp.USER32.dll_GetKeyState]
mov ecx, 0xffffff00
and ax, cx
cmp ax, cx
je 0x140007a71
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.140007770
mov esi, eax
mov rax, qword [rbx + 0x170]
test rax, rax
je 0x140007907
mov rax, qword [rax + 0x10]
test rax, rax
je 0x140007907
mov rcx, qword [r14]
cmp qword [rax + 0x40], rcx
jne 0x140007907
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 0x140007a9b
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 0x14000795d
test edi, edi
jne 0x14000795f
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x2d0]
test eax, eax
je 0x140007a90
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 0x140007a90
test esi, esi
jle 0x140007a90
or r12d, 0xffffffff
mov ecx, dword [rbx + 0x19c]
test ecx, ecx
js 0x1400079be
mov eax, dword [rbx + 0x1a0]
test eax, eax
js 0x1400079be
cmp ecx, edi
jge 0x1400079b2
cmp eax, esi
jge 0x1400079b2
test bpl, bpl
mov r8d, 1
cmovne r8d, r12d
lea edx, [r8 + rax]
mov dword [rbx + 0x1a0], edx
test edx, edx
js 0x1400079ac
cmp edx, esi
jl 0x1400079de
lea eax, [r8 + rcx]
jmp 0x1400079c8
test bpl, bpl
lea eax, [rdi - 1]
cmove eax, r15d
jmp 0x1400079cb
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 0x140007a3b
mov ecx, dword [rbx + 0x19c]
lea eax, [rdi - 1]
cmp ecx, eax
jne 0x1400079fc
cmp dword [rbx + 0x1a0], esi
jge 0x140007a00
cmp ecx, edi
jl 0x140007a3b
mov edx, 1
mov rcx, rbx
call fcn.140007510
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x2d0]
test eax, eax
je 0x140007a89
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 0x140007a90
cmp edx, edi
jge 0x140007a90
mov r8d, dword [rbx + 0x1a0]
test r8d, r8d
js 0x140007a90
cmp r8d, esi
jge 0x140007a90
mov rcx, rbx
call fcn.1400070c0
test eax, eax
je 0x140007971
mov eax, 1
jmp 0x140007a9b
cmp qword [r14 + 0x10], 0x2e
jne 0x140007a90
cmp dword [rbx + 0x1d0], 0
je 0x140007a90
mov rcx, rbx
call fcn.140008070
mov eax, 1
jmp 0x140007a9b
mov rdx, r14
mov rcx, rbx
call fcn.140029920
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