Function at 0x1800682d0
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
push rbp
push rbx
push rdi
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0xe8
movaps xmmword [rax - 0x58], xmm7
lea rcx, [rbp + 0x77]
movss xmm7, dword [0x180174c84]
mov qword [rax - 0x28], r12
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x68], xmm8
movss xmm8, dword [0x180277708]
mulss xmm8, xmm7
movaps xmmword [rax - 0x78], xmm9
movaps xmmword [rax - 0x88], xmm10
movaps xmm10, xmm8
addss xmm10, dword [0x1802776fc]
addss xmm8, dword [0x180277700]
call qword [sym.imp.USER32.dll_GetCursorPos]
movss xmm6, dword [0x180277708]
xor r15d, r15d
test eax, eax
je 0x180068442
movd xmm2, dword [rbp + 0x77]
movaps xmm1, xmm6
mulss xmm1, xmm7
movaps xmm0, xmm10
cvtdq2ps xmm2, xmm2
subss xmm0, xmm1
comiss xmm2, xmm0
jb 0x180068442
movaps xmm0, xmm1
addss xmm0, xmm10
comiss xmm2, xmm0
ja 0x180068442
movd xmm2, dword [rbp + 0x7b]
movaps xmm0, xmm8
cvtdq2ps xmm2, xmm2
subss xmm0, xmm1
comiss xmm2, xmm0
jb 0x180068442
addss xmm1, xmm8
comiss xmm2, xmm1
ja 0x180068442
lea ecx, [r15 + 1]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x18006843a
cmp byte [0x180286be4], r15b
je 0x18006843a
mov eax, dword [0x180286e50]
movss xmm6, dword [0x180277708]
test eax, eax
jne 0x180068401
movd xmm0, dword [rbp + 0x77]
movaps xmm2, xmm6
movd xmm1, dword [rbp + 0x7b]
mulss xmm2, xmm7
cvtdq2ps xmm0, xmm0
cvtdq2ps xmm1, xmm1
subss xmm0, xmm2
subss xmm1, xmm2
movss dword [0x1802776fc], xmm0
movss dword [0x180277700], xmm1
jmp 0x180068450
cmp eax, 1
jne 0x180068448
movd xmm0, dword [rbp + 0x77]
movaps xmm2, xmm6
movd xmm1, dword [rbp + 0x7b]
mulss xmm2, xmm7
cvtdq2ps xmm0, xmm0
cvtdq2ps xmm1, xmm1
subss xmm0, xmm2
subss xmm1, xmm2
movss dword [0x1802776fc], xmm0
movss dword [0x180277700], xmm1
jmp 0x180068a31
movss xmm6, dword [0x180277708]
mov eax, dword [0x180286e50]
test eax, eax
jne 0x180068a28
movaps xmm0, xmmword [0x1801755f0]
lea rcx, [rbp - 0x69]
movaps xmmword [rbp - 0x69], xmm0
call fcn.1800a2ed0
mov rbx, qword [0x1802ad3f8]
mov r12d, eax
movss dword [rbp + 0x67], xmm10
movss dword [rbp + 0x6b], xmm8
test eax, 0xff000000
je 0x180068ab0
comiss xmm6, xmm7
jb 0x180068ab0
xor r9d, r9d
mov qword [rsp + 0x128], rsi
movaps xmm2, xmm6
mov dword [rsp + 0x20], 0x30
lea rdx, [rbp + 0x67]
mov rcx, rbx
call fcn.1800bbcb0
dec dword [rbx + 0x78]
mov esi, dword [rbx + 0x78]
mov rdi, qword [rbx + 0x80]
cmp esi, 3
jl 0x180068a1a
test byte [rbx + 0x30], 4
mov rcx, rbx
mov rax, qword [rbx + 0x38]
movaps xmmword [rsp + 0x70], xmm11
movaps xmmword [rsp + 0x60], xmm12
movss xmm11, dword [rax]
movss xmm12, dword [rax + 4]
je 0x180068972
mov eax, r12d
mov qword [rsp + 0xd8], r13
and eax, 0xffffff
mov qword [rsp + 0xd0], r14
mov dword [rbp + 0x67], eax
lea edx, [rsi*8 - 6]
lea eax, [rsi + rsi]
movaps xmmword [rsp + 0x50], xmm13
movss xmm13, dword [rbx + 0xc0]
mov r8d, eax
add edx, esi
mov dword [rbp + 0x6f], eax
call fcn.1800ba570
mov r13d, dword [rbx + 0x34]
mov r8d, 2
nop dword [rax]
mov rax, qword [rbx + 0x50]
movzx edx, r8w
add dx, dx
inc r8d
add dx, r13w
mov word [rax], r13w
mov rax, qword [rbx + 0x50]
lea ecx, [rdx - 2]
mov word [rax + 2], cx
mov rax, qword [rbx + 0x50]
mov word [rax + 4], dx
add qword [rbx + 0x50], 6
cmp r8d, esi
jl 0x180068540
mov r14, qword [rbx + 0x38]
cmp esi, dword [r14 + 0x34]
jle 0x1800685c9
mov rcx, qword [r14 + 0x38]
test rcx, rcx
je 0x18006859e
mov rax, qword [0x180286e98]
test rax, rax
je 0x180068598
dec dword [rax + 0xf4]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rax, qword [0x180286e98]
test rax, rax
je 0x1800685b0
inc dword [rax + 0xf4]
movsxd rax, esi
lea rcx, [rax*8]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov qword [r14 + 0x38], rax
mov dword [r14 + 0x34], esi
mov rax, qword [rbx + 0x38]
mov rdx, r15
movss xmm4, dword [0x180175ac0]
xorps xmm5, xmm5
movsxd r10, esi
mov r9, qword [rax + 0x38]
lea eax, [rsi - 1]
cmp r10, 4
jl 0x180068758
cdqe
lea r15, [r10 - 3]
mov rcx, r9
mov r14d, 0xc
sub rcx, rdi
sub r14, rdi
lea r8, [rax*8]
lea rax, [rdi + 0xc]
movss xmm2, dword [rax - 0xc]
movss xmm3, dword [rax - 8]
subss xmm2, dword [rdi + r8]
subss xmm3, dword [rdi + r8 + 4]
movaps xmm0, xmm2
movaps xmm1, xmm3
mulss xmm0, xmm2
mulss xmm1, xmm3
addss xmm1, xmm0
comiss xmm1, xmm5
jbe 0x18006864d
movaps xmm0, xmm1
rsqrtss xmm1, xmm1
mulss xmm2, xmm1
mulss xmm3, xmm1
movss dword [r9 + r8], xmm3
xorps xmm2, xmm4
movss dword [r9 + r8 + 4], xmm2
movss xmm2, dword [rax - 4]
movss xmm3, dword [rax]
subss xmm2, dword [rax - 0xc]
subss xmm3, dword [rax - 8]
movaps xmm0, xmm2
movaps xmm1, xmm3
mulss xmm0, xmm2
mulss xmm1, xmm3
addss xmm1, xmm0
comiss xmm1, xmm5
jbe 0x180068696
movaps xmm0, xmm1
rsqrtss xmm1, xmm1
mulss xmm2, xmm1
mulss xmm3, xmm1
movss dword [rcx + rax - 0xc], xmm3
xorps xmm2, xmm4
movss dword [rcx + rax - 8], xmm2
movss xmm2, dword [rax + 4]
movss xmm3, dword [rax + 8]
subss xmm2, dword [rax - 4]
subss xmm3, dword [rax]
movaps xmm0, xmm2
movaps xmm1, xmm3
mulss xmm0, xmm2
mulss xmm1, xmm3
addss xmm1, xmm0
comiss xmm1, xmm5
jbe 0x1800686de
movaps xmm0, xmm1
rsqrtss xmm1, xmm1
mulss xmm2, xmm1
mulss xmm3, xmm1
movss dword [rcx + rax - 4], xmm3
xorps xmm2, xmm4
movss dword [rax + rcx], xmm2
movss xmm2, dword [rax + 0xc]
movss xmm3, dword [rax + 0x10]
subss xmm2, dword [rax + 4]
subss xmm3, dword [rax + 8]
movaps xmm0, xmm2
movaps xmm1, xmm3
mulss xmm0, xmm2
mulss xmm1, xmm3
addss xmm1, xmm0
comiss xmm1, xmm5
jbe 0x180068726
movaps xmm0, xmm1
rsqrtss xmm1, xmm1
mulss xmm2, xmm1
mulss xmm3, xmm1
movss dword [rcx + rax + 4], xmm3
lea r11, [rdx + 3]
xorps xmm2, xmm4
lea r8, [r14 + rax]
movss dword [rcx + rax + 8], xmm2
add rdx, 4
add rax, 0x20
cmp rdx, r15
jl 0x180068610
cmp rdx, r10
jl 0x180068761
xor r15d, r15d
jmp 0x1800687cd
test esi, esi
jle 0x1800687cd
movsxd r11, eax
jmp 0x180068764
xor r15d, r15d
lea rax, [r11*8]
sub r10, rdx
lea rcx, [rdi + rdx*8]
movss xmm2, dword [rcx]
movss xmm3, dword [rcx + 4]
subss xmm2, dword [rax + rdi]
subss xmm3, dword [rax + rdi + 4]
movaps xmm0, xmm2
movaps xmm1, xmm3
mulss xmm0, xmm2
mulss xmm1, xmm3
addss xmm1, xmm0
comiss xmm1, xmm5
jbe 0x1800687ad
movaps xmm0, xmm1
rsqrtss xmm1, xmm1
mulss xmm2, xmm1
mulss xmm3, xmm1
movss dword [rax + r9], xmm3
xorps xmm2, xmm4
movss dword [rax + r9 + 4], xmm2
mov rax, rcx
sub rax, rdi
add rcx, 8
sub r10, 1
jne 0x180068773
movss xmm6, dword [0x180174c28]
lea r11, [rdi + 4]
movss xmm9, dword [0x180174b18]
lea r10d, [rsi - 1]
movss xmm4, dword [0x180174db4]
mov r14, r9
movss xmm5, dword [0x180175218]
sub r14, rdi
mov edi, dword [rbp + 0x67]
mulss xmm13, xmm7
nop dword [rax]
nop dword [rax + rax]
movss xmm1, dword [r11 + r14 - 4]
movss xmm0, dword [r11 + r14]
movsxd rax, r10d
addss xmm1, dword [r9 + rax*8]
addss xmm0, dword [r9 + rax*8 + 4]
movaps xmm2, xmm1
mulss xmm1, xmm1
movaps xmm3, xmm0
mulss xmm2, xmm7
mulss xmm0, xmm0
mulss xmm3, xmm7
addss xmm1, xmm0
mulss xmm1, xmm6
comiss xmm1, xmm9
jbe 0x180068864
movaps xmm0, xmm4
divss xmm0, xmm1
minss xmm0, xmm5
mulss xmm2, xmm0
mulss xmm3, xmm0
movss xmm0, dword [r11 - 4]
add r10w, r10w
mov rax, qword [rbx + 0x48]
movzx r8d, r15w
mulss xmm2, xmm13
add r8w, r8w
lea ecx, [r10 + r13]
mulss xmm3, xmm13
subss xmm0, xmm2
lea edx, [r8 + r13]
movss dword [rax], xmm0
movss xmm1, dword [r11]
mov rax, qword [rbx + 0x48]
subss xmm1, xmm3
movss dword [rax + 4], xmm1
mov rax, qword [rbx + 0x48]
movss dword [rax + 8], xmm11
movss dword [rax + 0xc], xmm12
mov rax, qword [rbx + 0x48]
mov dword [rax + 0x10], r12d
addss xmm2, dword [r11 - 4]
mov rax, qword [rbx + 0x48]
movss dword [rax + 0x14], xmm2
addss xmm3, dword [r11]
mov rax, qword [rbx + 0x48]
add r11, 8
movss dword [rax + 0x18], xmm3
mov rax, qword [rbx + 0x48]
movss dword [rax + 0x1c], xmm11
movss dword [rax + 0x20], xmm12
mov rax, qword [rbx + 0x48]
mov dword [rax + 0x24], edi
mov rax, qword [rbx + 0x50]
add qword [rbx + 0x48], 0x28
mov word [rax], dx
mov rax, qword [rbx + 0x50]
mov word [rax + 2], cx
lea ecx, [r13 + 1]
mov rax, qword [rbx + 0x50]
add r10w, cx
add r8w, cx
mov word [rax + 4], r10w
mov rax, qword [rbx + 0x50]
mov word [rax + 6], r10w
mov r10d, r15d
mov rax, qword [rbx + 0x50]
inc r15d
mov word [rax + 8], r8w
mov rax, qword [rbx + 0x50]
mov word [rax + 0xa], dx
add qword [rbx + 0x50], 0xc
cmp r15d, esi
jl 0x180068810
movzx eax, word [rbp + 0x6f]
add dword [rbx + 0x34], eax
movaps xmm13, xmmword [rsp + 0x50]
xor r15d, r15d
mov r14, qword [rsp + 0xd0]
mov r13, qword [rsp + 0xd8]
jmp 0x180068a0e
lea eax, [rsi - 2]
mov r8d, esi
lea edx, [rax + rax*2]
call fcn.1800ba570
mov rcx, rsi
nop dword [rax]
nop word [rax + rax]
mov rax, qword [rbx + 0x48]
movsd xmm0, qword [rdi]
lea rdi, [rdi + 8]
movsd qword [rax], xmm0
mov rax, qword [rbx + 0x48]
movss dword [rax + 8], xmm11
movss dword [rax + 0xc], xmm12
mov rax, qword [rbx + 0x48]
mov dword [rax + 0x10], r12d
add qword [rbx + 0x48], 0x14
sub rcx, 1
jne 0x180068990
mov r8d, 2
nop dword [rax]
mov rcx, qword [rbx + 0x50]
movzx eax, word [rbx + 0x34]
mov word [rcx], ax
lea ecx, [r8 - 1]
add cx, word [rbx + 0x34]
mov rax, qword [rbx + 0x50]
mov word [rax + 2], cx
movzx ecx, r8w
mov rax, qword [rbx + 0x50]
inc r8d
add cx, word [rbx + 0x34]
mov word [rax + 4], cx
add qword [rbx + 0x50], 6
cmp r8d, esi
jl 0x1800689d0
movzx eax, si
add dword [rbx + 0x34], eax
movaps xmm11, xmmword [rsp + 0x70]
movaps xmm12, xmmword [rsp + 0x60]
mov rsi, qword [rsp + 0x128]
mov dword [rbx + 0x78], r15d
jmp 0x180068aa1
cmp eax, 1
jne 0x180068ab0
movaps xmm0, xmmword [0x1801755f0]
lea rcx, [rbp - 0x69]
movaps xmmword [rbp - 0x69], xmm0
movaps xmm2, xmm8
subss xmm2, xmm6
movaps xmm1, xmm10
subss xmm1, xmm6
mulss xmm6, dword [0x1801750d0]
movaps xmm0, xmm6
movss dword [rbp + 0x73], xmm2
addss xmm0, xmm1
movss dword [rbp + 0x6f], xmm1
addss xmm6, xmm2
movss dword [rbp + 0x67], xmm0
movss dword [rbp + 0x6b], xmm6
call fcn.1800a2ed0
mov rcx, qword [0x1802ad3f8]
lea r8, [rbp + 0x67]
xorps xmm0, xmm0
mov dword [rsp + 0x28], r15d
mov r9d, eax
movss dword [rsp + 0x20], xmm0
lea rdx, [rbp + 0x6f]
call fcn.1800bcc90
movss xmm6, dword [0x180277708]
nop dword [rax]
mulss xmm6, dword [0x180174b9c]
lea rax, [rbp - 0x69]
mov qword [rsp + 0x38], rax
movaps xmm0, xmmword [0x1801759a0]
movaps xmm2, xmm8
movaps xmmword [rbp - 0x69], xmm0
movaps xmm0, xmm10
movaps xmm1, xmm6
subss xmm0, xmm6
addss xmm1, xmm8
movaps xmm3, xmm6
addss xmm3, xmm10
subss xmm2, xmm6
movss dword [rsp + 0x30], xmm1
movss dword [rsp + 0x28], xmm0
movss dword [rsp + 0x20], xmm1
movaps xmm1, xmm10
call fcn.1800241a0
movaps xmm0, xmmword [0x180175620]
lea rcx, [rbp - 0x69]
movups xmmword [rbp - 0x69], xmm0
xorps xmm6, xmm6
call fcn.1800a2ed0
mov ecx, eax
xorps xmm9, xmm9
movdqa xmmword [rbp - 0x69], xmm6
cvtsi2ss xmm9, rcx
lea rcx, [rbp - 0x69]
call fcn.1800a2ed0
mov rbx, qword [0x1802ad3f8]
mov edi, eax
mov r12, qword [rsp + 0xe0]
movss dword [rbp + 0x67], xmm10
movss dword [rbp + 0x6b], xmm8
test eax, 0xff000000
je 0x180068bc0
movss xmm2, dword [0x180277708]
comiss xmm2, xmm7
jb 0x180068bc0
subss xmm2, xmm7
mov dword [rsp + 0x20], 0x30
xor r9d, r9d
lea rdx, [rbp + 0x67]
mov rcx, rbx
call fcn.1800bbcb0
mov r8d, dword [rbx + 0x78]
mov r9d, edi
mov rdx, qword [rbx + 0x80]
dec r8d
movss dword [rsp + 0x28], xmm9
mov rcx, rbx
mov dword [rbx + 0x78], r8d
mov dword [rsp + 0x20], 1
call fcn.1800ba7e0
mov dword [rbx + 0x78], r15d
mov rbx, qword [0x1802ad3f8]
nop word [rax + rax]
movaps xmm0, xmmword [0x180175a60]
lea rcx, [rbp - 0x69]
movups xmmword [rbp - 0x69], xmm0
call fcn.1800a2ed0
mov ecx, eax
xorps xmm7, xmm7
movdqa xmmword [rbp - 0x69], xmm6
cvtsi2ss xmm7, rcx
lea rcx, [rbp - 0x69]
call fcn.1800a2ed0
mov edi, eax
movaps xmm9, xmmword [rsp + 0x90]
movaps xmm6, xmmword [rsp + 0xc0]
movss dword [rbp + 0x67], xmm10
movaps xmm10, xmmword [rsp + 0x80]
movss dword [rbp + 0x6b], xmm8
movaps xmm8, xmmword [rsp + 0xa0]
test eax, 0xff000000
je 0x180068c72
movss xmm2, dword [0x18017510c]
lea rdx, [rbp + 0x67]
xor r9d, r9d
mov dword [rsp + 0x20], 0x30
mov rcx, rbx
call fcn.1800bbcb0
mov r8d, dword [rbx + 0x78]
mov r9d, edi
mov rdx, qword [rbx + 0x80]
dec r8d
movss dword [rsp + 0x28], xmm7
mov rcx, rbx
mov dword [rbx + 0x78], r8d
mov dword [rsp + 0x20], 1
call fcn.1800ba7e0
mov dword [rbx + 0x78], r15d
movaps xmm7, xmmword [rsp + 0xb0]
add rsp, 0xe8
pop r15
pop rdi
pop rbx
pop rbp
ret