Function at 0x180002910
Capabilities:
Log keystrokes via polling

Disassembly:
push rdi
sub rsp, 0xe0
mov rax, qword [0x180011010]
xor rax, rsp
mov qword [rsp + 0x68], rax
cmp byte [0x180011050], 0
mov rdi, rcx
mov qword [rsp + 0x40], r8
mov dword [0x1800118f8], 0
jne 0x18000294a
xor al, al
jmp 0x180002ce6
movss xmm0, dword [0x180013d14]
mov rdx, r8
movss xmm1, dword [0x180013d10]
mov qword [rsp + 0xf8], rbx
movaps xmmword [rsp + 0xd0], xmm6
unpcklps xmm1, xmm0
movaps xmmword [rsp + 0xa0], xmm9
movq rcx, xmm1
movaps xmmword [rsp + 0x70], xmm12
call fcn.180002530
cmp dword [0x180011048], 0xffffffff
movzx ebx, al
je 0x1800029af
mov ecx, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x1800029af
mov dword [0x180011048], 0xffffffff
movzx eax, byte [0x180011797]
xorps xmm6, xmm6
movss xmm9, dword [rsp + 0x44]
movss xmm12, dword [rsp + 0x40]
test al, al
je 0x1800029e6
mov ecx, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x180002ad5
movzx eax, byte [0x180011797]
test bl, bl
jne 0x1800029fd
movss xmm0, dword [0x180013d60]
ucomiss xmm0, xmm6
jp 0x1800029fd
je 0x180002ace
test al, al
jne 0x180002ace
cmp byte [0x1800117e8], 0
movsxd rax, dword [0x1800118f8]
je 0x180002aaa
lea rcx, [0x1800117f0]
cmp byte [rax + rcx], 0
jne 0x180002a2a
mov byte [rax + rcx], 1
lea rcx, [rsp + 0x60]
call qword [sym.imp.USER32.dll_GetCursorPos]
movd xmm1, dword [rsp + 0x60]
movd xmm2, dword [rsp + 0x64]
movss xmm0, dword [0x180013d60]
ucomiss xmm0, xmm6
cvtdq2ps xmm1, xmm1
cvtdq2ps xmm2, xmm2
subss xmm1, xmm12
subss xmm2, xmm9
jp 0x180002a88
jne 0x180002a88
movaps xmm0, xmm1
movaps xmm3, xmm2
subss xmm0, dword [0x180013d10]
subss xmm3, dword [0x180013d14]
movss dword [0x180013d60], xmm0
movss dword [0x180013d64], xmm3
jmp 0x180002a90
movss xmm3, dword [0x180013d64]
subss xmm1, xmm0
subss xmm2, xmm3
movss dword [0x180013d10], xmm1
movss dword [0x180013d14], xmm2
jmp 0x180002ad5
cmp rax, 0x100
jae 0x180002cfc
lea rcx, [0x1800117f0]
mov qword [0x180013d60], 0
mov byte [rax + rcx], 0
jmp 0x180002ad5
mov byte [0x180011797], 0
comiss xmm9, xmm6
mov dword [0x1800118f4], 0
mov dword [0x1800118fc], 0
mov qword [0x180013d70], 0
mov qword [0x180013d80], 0
mov qword [0x180013d68], 0
movss xmm1, dword [0x180013d10]
movaps xmmword [rsp + 0xc0], xmm7
xorps xmm7, xmm7
movaps xmmword [rsp + 0xb0], xmm8
movss xmm8, dword [0x18000e68c]
movaps xmmword [rsp + 0x90], xmm10
movss xmm10, dword [0x180013d14]
movaps xmmword [rsp + 0x80], xmm11
movups xmm11, xmmword [0x18000e648]
movss dword [0x180013d9c], xmm10
movss dword [0x180013d98], xmm1
jbe 0x180002bca
movaps xmm0, xmm1
movss dword [rsp + 0x38], xmm1
addss xmm0, xmm12
movss dword [rsp + 0x30], xmm0
nop dword [rax]
mov rcx, qword [0x1800117e0]
lea rax, [rsp + 0x50]
movaps xmm0, xmm10
movdqa xmmword [rsp + 0x50], xmm11
addss xmm0, xmm7
mov qword [rsp + 0x20], rax
movaps xmm3, xmm8
movss dword [rsp + 0x34], xmm0
mov r8, qword [rsp + 0x30]
movss dword [rsp + 0x3c], xmm0
mov rdx, qword [rsp + 0x38]
call fcn.180001820
addss xmm7, xmm8
comiss xmm9, xmm7
ja 0x180002b80
movss xmm1, dword [0x180013d10]
movups xmm9, xmmword [0x18000e588]
movss xmm10, dword [0x180013d14]
movaps xmm0, xmm1
movss xmm7, dword [0x18000e6ec]
addss xmm0, xmm12
movaps xmm11, xmmword [rsp + 0x80]
movss dword [rsp + 0x30], xmm1
movss dword [rsp + 0x38], xmm0
nop dword [rax + rax]
mov rcx, qword [0x1800117e0]
lea rax, [rsp + 0x50]
movaps xmm0, xmm10
movdqa xmmword [rsp + 0x50], xmm9
addss xmm0, xmm6
mov qword [rsp + 0x20], rax
movaps xmm3, xmm8
movss dword [rsp + 0x3c], xmm0
mov r8, qword [rsp + 0x38]
movss dword [rsp + 0x34], xmm0
mov rdx, qword [rsp + 0x30]
call fcn.180001820
addss xmm6, xmm8
comiss xmm7, xmm6
ja 0x180002c10
movss xmm0, dword [0x1800118fc]
mov rcx, rdi
mulss xmm12, dword [0x18000e688]
addss xmm0, xmm7
movss xmm6, dword [0x180013d14]
movaps xmm10, xmmword [rsp + 0x90]
movaps xmm8, xmmword [rsp + 0xb0]
addss xmm12, dword [0x180013d10]
addss xmm6, dword [0x18000e6d4]
movss dword [0x1800118fc], xmm0
call fcn.180002490
movaps xmm0, xmm12
mov rcx, rax
unpcklps xmm0, xmm6
movq rdx, xmm0
call fcn.1800026d0
movaps xmm7, xmmword [rsp + 0xc0]
mov al, 1
movaps xmm9, xmmword [rsp + 0xa0]
movaps xmm6, xmmword [rsp + 0xd0]
mov rbx, qword [rsp + 0xf8]
movaps xmm12, xmmword [rsp + 0x70]
mov rcx, qword [rsp + 0x68]
xor rcx, rsp
call fcn.18000b310
add rsp, 0xe0
pop rdi
ret
call fcn.18000b51c
int3