Function at 0x7ff698f83b10
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x58]
sub rsp, 0x130
movaps xmmword [rax - 0x38], xmm6
mov rax, qword [0x7ff69902b080]
xor rax, rsp
mov qword [rbp + 0x10], rax
xor r12d, r12d
mov ebx, r12d
mov dword [rsp + 0x50], ebx
lea r13, [0x7ff699015048]
movsd xmm6, qword [0x7ff699015758]
nop
cmp byte [0x7ff699056309], 0
je 0x7ff698f83b92
movd xmm0, dword [0x7ff69905630c]
cvtdq2ps xmm0, xmm0
cvtps2pd xmm1, xmm0
divsd xmm1, xmm6
cvtpd2ps xmm2, xmm1
mov rdx, qword [0x7ff6990562c0]
add rdx, 0x284
call fcn.7ff698f70570
cmp byte [0x7ff699056308], 0
je 0x7ff698f83c63
mov rdx, qword [0x7ff6990562e8]
test rdx, rdx
je 0x7ff698f83b60
add rdx, 0xc8
call fcn.7ff698f80a30
test rax, rax
je 0x7ff698f83b60
lea rdx, [rax + 0x258]
call fcn.7ff698f80a30
mov rdi, rax
test rax, rax
je 0x7ff698f83b60
movsd xmm0, qword [0x7ff699014798]
movsd qword [rsp + 0x40], xmm0
movzx ecx, byte [0x7ff6990147a0]
mov byte [rsp + 0x40], 0x48
xor byte [rsp + 0x41], 0x3a
xor byte [rsp + 0x42], 0x3b
xor byte [rsp + 0x43], 0x3c
xor byte [rsp + 0x44], 0x3d
xor byte [rsp + 0x45], 0x3e
xor byte [rsp + 0x46], 0x3f
xor byte [rsp + 0x47], 0x40
xor cl, 0x41
mov byte [rsp + 0x48], cl
xorps xmm0, xmm0
movups xmmword [rbp - 0x58], xmm0
mov qword [rbp - 0x48], r12
mov qword [rbp - 0x40], r12
lea rax, [rsp + 0x40]
mov r8, 0xffffffffffffffff
nop
inc r8
cmp byte [rax + r8], 0
jne 0x7ff698f83c30
lea rdx, [rsp + 0x40]
lea rcx, [rbp - 0x58]
call fcn.7ff698f3fda0
lea r8, [rbp - 0x58]
mov rdx, rdi
call fcn.7ff698f801c0
lea rdx, [rax + 0x2e4]
xorps xmm2, xmm2
call fcn.7ff698f70570
cmp byte [0x7ff69905630b], 0
je 0x7ff698f83f4b
mov rdx, qword [0x7ff6990562e8]
test rdx, rdx
je 0x7ff698f83b60
add rdx, 0xc8
call fcn.7ff698f80a30
test rax, rax
je 0x7ff698f83b60
lea rdx, [rax + 0x258]
call fcn.7ff698f80a30
test rax, rax
je 0x7ff698f83b60
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x58], xmm1
mov qword [rbp - 0x48], r12
or ebx, 8
mov dword [rsp + 0x50], ebx
lea rdx, [rax + 0x50]
call fcn.7ff698f80a30
mov rbx, rax
test rax, rax
je 0x7ff698f83d28
lea rdx, [rax + 8]
call fcn.7ff698f80a30
mov rdi, rax
mov rdx, rbx
call fcn.7ff698f80a30
mov rbx, rax
cmp rax, rdi
jae 0x7ff698f83d28
nop word [rax + rax]
mov rdx, rbx
call fcn.7ff698f80a30
mov qword [rsp + 0x58], rax
mov rdx, qword [rbp - 0x50]
cmp rdx, qword [rbp - 0x48]
je 0x7ff698f83d11
mov qword [rdx], rax
add qword [rbp - 0x50], 8
jmp 0x7ff698f83d1f
lea r8, [rsp + 0x58]
lea rcx, [rbp - 0x58]
call fcn.7ff698f6c960
add rbx, 0x10
cmp rbx, rdi
jb 0x7ff698f83cf0
mov ebx, r12d
mov rsi, qword [rbp - 0x58]
mov r15, qword [rbp - 0x50]
cmp rsi, r15
je 0x7ff698f83f12
nop dword [rax]
mov r14, qword [rsi]
test r14, r14
je 0x7ff698f83f01
mov r8, r14
lea rdx, [rbp - 0x30]
call fcn.7ff698f80590
nop
or ebx, 1
mov dword [rsp + 0x50], ebx
mov rcx, qword [rax + 0x10]
cmp qword [rax + 0x18], 0xf
jbe 0x7ff698f83d6e
mov rax, qword [rax]
cmp rcx, 8
jne 0x7ff698f83d8e
mov r8, rcx
lea rdx, [0x7ff699015038]
mov rcx, rax
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x7ff698f83e22
mov r8, r14
lea rdx, [rbp - 0x80]
call fcn.7ff698f80590
nop
or ebx, 2
mov dword [rsp + 0x50], ebx
mov rcx, qword [rax + 0x10]
cmp qword [rax + 0x18], 0xf
jbe 0x7ff698f83db0
mov rax, qword [rax]
cmp rcx, 8
jne 0x7ff698f83dcc
mov r8, rcx
lea rdx, [0x7ff699015050]
mov rcx, rax
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x7ff698f83e22
mov r8, r14
lea rdx, [rsp + 0x60]
call fcn.7ff698f80590
mov rdx, rax
or ebx, 4
mov rax, qword [rax + 0x10]
cmp qword [rdx + 0x18], 0xf
jbe 0x7ff698f83ded
mov rdx, qword [rdx]
cmp rax, 4
jne 0x7ff698f83e27
mov rcx, r12
nop word [rax + rax]
movzx eax, byte [rdx + rcx]
inc rcx
cmp al, byte [rcx + r13 - 1]
jne 0x7ff698f83e19
cmp rcx, 4
jne 0x7ff698f83e00
mov eax, r12d
jmp 0x7ff698f83e1e
sbb eax, eax
or eax, 1
test eax, eax
jne 0x7ff698f83e27
mov dil, 1
jmp 0x7ff698f83e2a
xor dil, dil
test bl, 4
je 0x7ff698f83e3d
and ebx, 0xfffffffb
lea rcx, [rsp + 0x60]
call fcn.7ff698f3d390
nop
test bl, 2
je 0x7ff698f83e4f
and ebx, 0xfffffffd
lea rcx, [rbp - 0x80]
call fcn.7ff698f3d390
nop
test bl, 1
je 0x7ff698f83e60
and ebx, 0xfffffffe
lea rcx, [rbp - 0x30]
call fcn.7ff698f3d390
test dil, dil
je 0x7ff698f83f01
lea rdx, [r14 + 0x158]
call fcn.7ff698f80a30
mov qword [rbp - 0x28], r12
mov qword [rbp - 8], r12
add rax, 0x2e3
mov qword [rbp - 0x20], rax
lea rax, [rbp - 0x60]
mov qword [rbp - 0x18], rax
mov qword [rbp - 0x10], 1
movsxd rax, dword [0x7ff699056340]
mov qword [rbp - 0x30], rax
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], 0x40
lea rax, [rbp - 0x30]
mov qword [rsp + 0x20], rax
mov r9d, 0x40
lea r8, [rbp - 0x30]
mov edx, 0x22025c
mov rcx, qword [0x7ff699056330]
call qword [sym.imp.kernel32.dll_DeviceIoControl]
cmp qword [rbp - 8], 1
jne 0x7ff698f83f01
cmp byte [rbp - 0x60], 0
je 0x7ff698f83f01
lea rdx, [r14 + 0x158]
call fcn.7ff698f80a30
lea rdx, [rax + 0x2e3]
xorps xmm2, xmm2
call fcn.7ff698f70570
add rsi, 8
cmp rsi, r15
jne 0x7ff698f83d40
mov rsi, qword [rbp - 0x58]
test rsi, rsi
je 0x7ff698f83f4b
mov rdx, qword [rbp - 0x48]
sub rdx, rsi
and rdx, 0xfffffffffffffff8
mov rax, rsi
cmp rdx, 0x1000
jb 0x7ff698f83f43
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x7ff698f83f5b
mov rcx, rsi
call fcn.7ff698fe9f20
mov ecx, 0x24
call qword [sym.imp.user32.dll_GetAsyncKeyState]
jmp 0x7ff698f83b60
call qword [sym.imp.ucrtbase.dll__invalid_parameter_noinfo_noreturn]
int3