Function at 0x180006c20
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0xf0
movaps xmmword [rax - 0x28], xmm6
movaps xmmword [rax - 0x38], xmm7
movaps xmmword [rax - 0x48], xmm8
movaps xmmword [rax - 0x58], xmm9
mov rax, qword [0x1800a7048]
xor rax, rsp
mov qword [rbp - 1], rax
mov rsi, rdx
xor r15d, r15d
cmp byte [0x1800a99b4], r15b
jne 0x180006cb2
lea r8, str.win32
xor edx, edx
mov ecx, 0xf001f
call qword [sym.imp.KERNEL32.dll_OpenFileMappingA]
mov qword [0x1800a99b8], rax
mov qword [rsp + 0x20], r15
xor r9d, r9d
xor r8d, r8d
mov edx, 0xf001f
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov qword [0x1800a99c0], rax
mov byte [0x1800a99b4], 1
jmp 0x180006cb9
mov rax, qword [0x1800a99c0]
movups xmm1, xmmword [rax + 0x4e8]
movups xmmword [rbp - 0x61], xmm1
movups xmm0, xmmword [rax + 0x4f8]
movups xmmword [rbp - 0x51], xmm0
movq rax, xmm1
test al, al
je 0x180007063
cmp byte [rbp - 0x51], r15b
je 0x180007063
shr rax, 0x20
mov ecx, eax
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
movzx ebx, ax
shr ebx, 0xf
and bl, 1
je 0x180006d58
mov rdx, qword [0x1800a9a60]
test rdx, rdx
je 0x180006d4f
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
mov rcx, rax
mov rdx, qword [0x1800a9a60]
sub rcx, rdx
xorps xmm1, xmm1
js 0x180006d28
cvtsi2ss xmm1, rcx
jmp 0x180006d3d
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm1, rax
addss xmm1, xmm1
movss xmm0, dword [rbp - 0x55]
mulss xmm0, dword [0x1800982b0]
comiss xmm1, xmm0
ja 0x180006d58
movzx eax, byte [0x1800a9a0b]
jmp 0x180006daf
mov rcx, qword [0x1800a9a70]
cmp qword [0x1800a9a68], rcx
cmovne rcx, qword [0x1800a9a68]
mov qword [0x1800a9a70], rcx
mov rcx, qword [0x1800a9a88]
cmp qword [0x1800a9a80], rcx
cmovne rcx, qword [0x1800a9a80]
mov qword [0x1800a9a88], rcx
mov rdx, r15
mov qword [0x1800a9a60], rdx
movzx eax, byte [0x1800a9a0b]
test bl, bl
cmove eax, r15d
mov byte [0x1800a9a0b], al
test rdx, rdx
jne 0x180006de1
test al, al
jne 0x18000706e
test bl, bl
je 0x18000706e
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
mov qword [0x1800a9a60], rax
mov byte [0x1800a9a0b], 1
test rax, rax
je 0x18000706e
mov rcx, rsi
call fcn.180015150
test rax, rax
je 0x18000706e
mov rcx, rsi
call fcn.180015300
test rax, rax
jne 0x18000706e
mov rcx, rsi
call fcn.1800154b0
mov r14, rax
mov rcx, rsi
call fcn.180014fa0
mov rbx, rax
mov r8, rsi
lea rdx, [rbp - 0x19]
mov rcx, rax
call fcn.180013440
mov r8, rsi
lea rdx, [rbp - 0x79]
mov rcx, rbx
call fcn.180013170
mov r8, rsi
lea rdx, [rbp - 0x31]
mov rcx, rbx
call fcn.180013710
mov rbx, rax
movsd xmm0, qword [rax + 8]
subsd xmm0, qword [rbp - 0x11]
movsd xmm6, qword [0x1800981e0]
movaps xmm1, xmm6
call fcn.18006ab10
movaps xmm7, xmm0
movsd xmm0, qword [rbx]
subsd xmm0, qword [rbp - 0x19]
movaps xmm1, xmm6
call fcn.18006ab10
addsd xmm7, xmm0
movsd xmm0, qword [rbx + 0x10]
movsd xmm8, qword [rbp - 9]
subsd xmm0, xmm8
movaps xmm1, xmm6
call fcn.18006ab10
addsd xmm7, xmm0
xorps xmm1, xmm1
ucomisd xmm1, xmm7
ja 0x180006ea9
xorps xmm0, xmm0
sqrtsd xmm0, xmm7
jmp 0x180006eb1
movaps xmm0, xmm7
call fcn.18006d778
comisd xmm0, xmmword [0x180098178]
jbe 0x18000706e
movups xmm2, xmmword [rbp - 0x79]
movups xmmword [rbp - 0x61], xmm2
movsd xmm0, qword [rbp - 0x69]
movsd qword [rbp - 0x51], xmm0
movups xmm1, xmmword [rbp - 0x19]
movups xmmword [rbp - 0x49], xmm1
movsd qword [rbp - 0x39], xmm8
mov rdx, qword [0x1800a9a70]
cmp rdx, qword [0x1800a9a78]
je 0x180006f16
movups xmmword [rdx], xmm2
movups xmm0, xmmword [rbp - 0x51]
movups xmmword [rdx + 0x10], xmm0
movups xmm1, xmmword [rbp - 0x41]
movups xmmword [rdx + 0x20], xmm1
mov rdi, qword [0x1800a9a70]
add rdi, 0x30
mov qword [0x1800a9a70], rdi
jmp 0x180006f26
lea r8, [rbp - 0x61]
call fcn.180007aa0
mov rdi, qword [0x1800a9a70]
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x19], xmm1
mov qword [rbp - 9], r15
mov rbx, qword [0x1800a9a68]
cmp rbx, rdi
je 0x18000702b
movups xmm7, xmmword [rbx + 0x18]
movsd xmm9, qword [rbx + 0x28]
movups xmm6, xmmword [rbx]
movsd xmm8, qword [rbx + 0x10]
mov r8, rsi
lea rdx, [rbp - 0x31]
mov rcx, r14
call fcn.180015cd0
mov rcx, rsi
call fcn.1800157c0
mov rdx, rsi
mov rcx, rax
call fcn.180016210
xorps xmm1, xmm1
cvtss2sd xmm1, xmm0
movaps xmm2, xmm7
subsd xmm2, qword [rbp - 0x31]
subsd xmm2, xmm7
addsd xmm2, xmm6
movaps xmm0, xmm7
subsd xmm0, xmm6
mulsd xmm0, xmm1
addsd xmm2, xmm0
movsd qword [rbp - 0x79], xmm2
unpckhpd xmm7, xmm7
movaps xmm0, xmm7
subsd xmm0, qword [rbp - 0x29]
subsd xmm0, xmm7
unpckhpd xmm6, xmm6
addsd xmm0, xmm6
subsd xmm7, xmm6
mulsd xmm7, xmm1
addsd xmm0, xmm7
movsd qword [rbp - 0x71], xmm0
movaps xmm3, xmm9
subsd xmm3, qword [rbp - 0x21]
subsd xmm3, xmm9
addsd xmm3, xmm8
subsd xmm9, xmm8
mulsd xmm9, xmm1
addsd xmm3, xmm9
movsd qword [rbp - 0x69], xmm3
mov rdx, qword [rbp - 0x11]
cmp rdx, qword [rbp - 9]
je 0x180007011
movsd qword [rdx], xmm2
movsd qword [rdx + 8], xmm0
movsd qword [rdx + 0x10], xmm3
add qword [rbp - 0x11], 0x18
jmp 0x18000701e
lea r8, [rbp - 0x79]
lea rcx, [rbp - 0x19]
call fcn.180007cd0
add rbx, 0x30
cmp rbx, rdi
jne 0x180006f42
mov rcx, qword [rbp - 0x11]
sub rcx, qword [rbp - 0x19]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov r8, rdx
shr r8, 0x3f
add r8, rdx
mov rdx, qword [rbp - 0x19]
call fcn.1800078e0
nop
lea rcx, [rbp - 0x19]
call fcn.180004920
jmp 0x18000706e
mov ecx, 5
call qword [sym.imp.KERNEL32.dll_Sleep]
mov rcx, qword [rbp - 1]
xor rcx, rsp
call fcn.18004a310
lea r11, [rsp + 0xf0]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
mov rsp, r11
pop r15
pop r14
pop rbp
ret