Function at 0x7ff7aa5a0c30
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x37]
sub rsp, 0xf0
mov rax, qword [0x7ff7aa74f840]
xor rax, rsp
mov qword [rbp + 0x27], rax
lea r13, [0x7ff7aa71fd18]
xor r12d, r12d
nop dword [rax]
cmp byte [0x7ff7aa7e99ef], 0
jne 0x7ff7aa5a11e2
cmp byte [0x7ff7aa7e9984], 0
je 0x7ff7aa5a11e2
cmp byte [0x7ff7aa7e8af8], 0
je 0x7ff7aa5a11e2
lea rdx, [0x7ff7aa71fd68]
xor ecx, ecx
call qword [sym.imp.user32.dll_FindWindowA]
mov rbx, rax
call qword [sym.imp.user32.dll_GetForegroundWindow]
cmp rax, rbx
jne 0x7ff7aa5a11e2
lea rcx, [rbp + 0x17]
call qword [sym.imp.user32.dll_GetCursorPos]
lea rdx, [0x7ff7aa71fd68]
xor ecx, ecx
call qword [sym.imp.user32.dll_FindWindowA]
mov rcx, rax
lea rdx, [rbp + 0x17]
call qword [sym.imp.user32.dll_ScreenToClient]
mov qword [rbp - 0x39], r13
mov r8, qword [0x7ff7aa7eaaa0]
mov qword [rbp - 0x31], r8
mov qword [rbp - 0x49], r13
mov rbx, qword [0x7ff7aa7eaaa8]
mov qword [rbp - 0x41], rbx
mov qword [rbp - 0x59], r13
mov rsi, qword [0x7ff7aa7eaab8]
mov qword [rbp - 0x51], rsi
mov qword [rbp - 0x69], r13
mov r14, qword [0x7ff7aa7eaa90]
mov qword [rbp - 0x61], r14
mov qword [rbp - 0x79], r13
mov r15, qword [0x7ff7aa7eaa88]
mov qword [rbp - 0x71], r15
mov qword [rsp + 0x30], r13
mov rdi, qword [0x7ff7aa7eaa98]
mov qword [rsp + 0x38], rdi
test r8, r8
je 0x7ff7aa5a11c4
test rbx, rbx
je 0x7ff7aa5a11c4
test rsi, rsi
je 0x7ff7aa5a11c4
test r14, r14
je 0x7ff7aa5a11c4
test r15, r15
je 0x7ff7aa5a11c4
test rdi, rdi
je 0x7ff7aa5a11c4
mov rax, qword [rbp + 0x17]
lea ecx, [rax - 2]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mov edx, dword [rbp + 0x1b]
lea ecx, [rdx - 2]
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
lea rcx, [r8 + 0x108]
unpcklps xmm0, xmm1
movsd qword [rbp + 0x1f], xmm0
test rcx, rcx
je 0x7ff7aa5a0df0
mov qword [rbp - 0x21], r12
mov qword [rbp - 1], r12
mov qword [rbp + 0xb], r12
mov qword [rbp - 0x19], rcx
mov dword [rbp + 7], 0x11120008
lea rax, [rbp + 0x1f]
mov qword [rbp - 0x11], rax
mov qword [rbp - 9], 8
mov eax, dword [0x7ff7aa7ebb50]
mov qword [rbp - 0x29], rax
mov qword [rsp + 0x20], r12
xor r9d, r9d
lea r8, [rbp - 0x29]
mov edx, 0x22f3a434
xor ecx, ecx
call qword [0x7ff7aa7ebb48]
mov rax, qword [rbp + 0x17]
mov edx, dword [rbp + 0x1b]
add eax, 0xfffffff6
movd xmm0, eax
cvtdq2ps xmm0, xmm0
lea eax, [rdx - 0xa]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
lea rax, [rdi + 0x108]
unpcklps xmm0, xmm1
movsd qword [rbp + 0x1f], xmm0
test rax, rax
je 0x7ff7aa5a0e62
mov qword [rbp - 0x21], r12
mov qword [rbp - 1], r12
mov qword [rbp + 0xb], r12
mov qword [rbp - 0x19], rax
mov dword [rbp + 7], 0x11120008
lea rax, [rbp + 0x1f]
mov qword [rbp - 0x11], rax
mov qword [rbp - 9], 8
mov eax, dword [0x7ff7aa7ebb50]
mov qword [rbp - 0x29], rax
mov qword [rsp + 0x20], r12
xor r9d, r9d
lea r8, [rbp - 0x29]
mov edx, 0x22f3a434
xor ecx, ecx
call qword [0x7ff7aa7ebb48]
mov ecx, 2
call qword [sym.imp.user32.dll_GetAsyncKeyState]
mov edx, dword [rbp + 0x1b]
test ax, ax
mov rax, qword [rbp + 0x17]
lea ecx, [rax - 1]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
je 0x7ff7aa5a0ff0
lea ecx, [rdx - 0xe]
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
lea rcx, [rbx + 0x108]
unpcklps xmm0, xmm1
movsd qword [rbp + 0x1f], xmm0
test rcx, rcx
je 0x7ff7aa5a0ef6
mov qword [rbp - 0x21], r12
mov qword [rbp - 1], r12
mov qword [rbp + 0xb], r12
mov qword [rbp - 0x19], rcx
mov dword [rbp + 7], 0x11120008
lea rax, [rbp + 0x1f]
mov qword [rbp - 0x11], rax
mov qword [rbp - 9], 8
mov eax, dword [0x7ff7aa7ebb50]
mov qword [rbp - 0x29], rax
mov qword [rsp + 0x20], r12
xor r9d, r9d
lea r8, [rbp - 0x29]
mov edx, 0x22f3a434
xor ecx, ecx
call qword [0x7ff7aa7ebb48]
mov rax, qword [rbp + 0x17]
mov edx, dword [rbp + 0x1b]
lea ecx, [rax - 1]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
lea ecx, [rdx + 4]
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
lea rcx, [rsi + 0x108]
unpcklps xmm0, xmm1
movsd qword [rbp + 0x1f], xmm0
test rcx, rcx
je 0x7ff7aa5a0f6f
mov qword [rbp - 0x21], r12
mov qword [rbp - 1], r12
mov qword [rbp + 0xb], r12
mov qword [rbp - 0x19], rcx
mov dword [rbp + 7], 0x11120008
lea rax, [rbp + 0x1f]
mov qword [rbp - 0x11], rax
mov qword [rbp - 9], 8
mov eax, dword [0x7ff7aa7ebb50]
mov qword [rbp - 0x29], rax
mov qword [rsp + 0x20], r12
xor r9d, r9d
lea r8, [rbp - 0x29]
mov edx, 0x22f3a434
xor ecx, ecx
call qword [0x7ff7aa7ebb48]
mov rax, qword [rbp + 0x17]
mov edx, dword [rbp + 0x1b]
lea ecx, [rax - 0xe]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
lea ecx, [rdx - 1]
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
lea rcx, [r14 + 0x108]
unpcklps xmm0, xmm1
movsd qword [rbp + 0x1f], xmm0
test rcx, rcx
je 0x7ff7aa5a0fe8
mov qword [rbp - 0x21], r12
mov qword [rbp - 1], r12
mov qword [rbp + 0xb], r12
mov qword [rbp - 0x19], rcx
mov dword [rbp + 7], 0x11120008
lea rax, [rbp + 0x1f]
mov qword [rbp - 0x11], rax
mov qword [rbp - 9], 8
mov eax, dword [0x7ff7aa7ebb50]
mov qword [rbp - 0x29], rax
mov qword [rsp + 0x20], r12
xor r9d, r9d
lea r8, [rbp - 0x29]
mov edx, 0x22f3a434
xor ecx, ecx
call qword [0x7ff7aa7ebb48]
mov rax, qword [rbp + 0x17]
mov edx, dword [rbp + 0x1b]
add eax, 4
jmp 0x7ff7aa5a1154
lea ecx, [rdx - 0x14]
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
lea rcx, [rbx + 0x108]
unpcklps xmm0, xmm1
movsd qword [rbp + 0x1f], xmm0
test rcx, rcx
je 0x7ff7aa5a105f
mov qword [rbp - 0x21], r12
mov qword [rbp - 1], r12
mov qword [rbp + 0xb], r12
mov qword [rbp - 0x19], rcx
mov dword [rbp + 7], 0x11120008
lea rax, [rbp + 0x1f]
mov qword [rbp - 0x11], rax
mov qword [rbp - 9], 8
mov eax, dword [0x7ff7aa7ebb50]
mov qword [rbp - 0x29], rax
mov qword [rsp + 0x20], r12
xor r9d, r9d
lea r8, [rbp - 0x29]
mov edx, 0x22f3a434
xor ecx, ecx
call qword [0x7ff7aa7ebb48]
mov rax, qword [rbp + 0x17]
mov edx, dword [rbp + 0x1b]
lea ecx, [rax - 1]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
lea ecx, [rdx + 0xa]
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
lea rcx, [rsi + 0x108]
unpcklps xmm0, xmm1
movsd qword [rbp + 0x1f], xmm0
test rcx, rcx
je 0x7ff7aa5a10d8
mov qword [rbp - 0x21], r12
mov qword [rbp - 1], r12
mov qword [rbp + 0xb], r12
mov qword [rbp - 0x19], rcx
mov dword [rbp + 7], 0x11120008
lea rax, [rbp + 0x1f]
mov qword [rbp - 0x11], rax
mov qword [rbp - 9], 8
mov eax, dword [0x7ff7aa7ebb50]
mov qword [rbp - 0x29], rax
mov qword [rsp + 0x20], r12
xor r9d, r9d
lea r8, [rbp - 0x29]
mov edx, 0x22f3a434
xor ecx, ecx
call qword [0x7ff7aa7ebb48]
mov rax, qword [rbp + 0x17]
mov edx, dword [rbp + 0x1b]
lea ecx, [rax - 0x14]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
lea ecx, [rdx - 1]
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
lea rcx, [r14 + 0x108]
unpcklps xmm0, xmm1
movsd qword [rbp + 0x1f], xmm0
test rcx, rcx
je 0x7ff7aa5a1151
mov qword [rbp - 0x21], r12
mov qword [rbp - 1], r12
mov qword [rbp + 0xb], r12
mov qword [rbp - 0x19], rcx
mov dword [rbp + 7], 0x11120008
lea rax, [rbp + 0x1f]
mov qword [rbp - 0x11], rax
mov qword [rbp - 9], 8
mov eax, dword [0x7ff7aa7ebb50]
mov qword [rbp - 0x29], rax
mov qword [rsp + 0x20], r12
xor r9d, r9d
lea r8, [rbp - 0x29]
mov edx, 0x22f3a434
xor ecx, ecx
call qword [0x7ff7aa7ebb48]
mov rax, qword [rbp + 0x17]
mov edx, dword [rbp + 0x1b]
add eax, 0xa
movd xmm0, eax
lea eax, [rdx - 1]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
cvtdq2ps xmm0, xmm0
lea rax, [r15 + 0x108]
unpcklps xmm0, xmm1
test rax, rax
movsd qword [rbp + 0x1f], xmm0
je 0x7ff7aa5a11c4
mov qword [rbp - 0x19], rax
lea rax, [rbp + 0x1f]
mov qword [rbp - 0x11], rax
mov eax, dword [0x7ff7aa7ebb50]
mov qword [rsp + 0x20], r12
mov qword [rbp - 0x21], r12
mov qword [rbp - 1], r12
mov qword [rbp + 0xb], r12
mov dword [rbp + 7], 0x11120008
mov qword [rbp - 9], 8
mov qword [rbp - 0x29], rax
xor r9d, r9d
lea r8, [rbp - 0x29]
mov edx, 0x22f3a434
xor ecx, ecx
call qword [0x7ff7aa7ebb48]
nop
mov qword [rsp + 0x30], r13
mov qword [rbp - 0x79], r13
mov qword [rbp - 0x69], r13
mov qword [rbp - 0x59], r13
mov qword [rbp - 0x49], r13
mov qword [rbp - 0x39], r13
jmp 0x7ff7aa5a0c70
mov ecx, 1
call qword [sym.imp.kernel32.dll_Sleep]
jmp 0x7ff7aa5a0c70