Function at 0x180002530
Capabilities:
Log keystrokes via polling

Disassembly:
push rsi
sub rsp, 0xe0
mov rax, qword [0x180012010]
xor rax, rsp
mov qword [rsp + 0x68], rax
cmp byte [0x180012038], 0
mov rsi, rcx
mov qword [rsp + 0x40], r8
mov dword [0x1800128d4], 0
jne 0x18000256a
xor al, al
jmp 0x180002915
movss xmm0, dword [0x180014cfc]
mov rdx, r8
movss xmm1, dword [0x180014cf8]
mov qword [rsp + 0xf8], rbx
movaps xmmword [rsp + 0xd0], xmm6
unpcklps xmm1, xmm0
movaps xmmword [rsp + 0x90], xmm10
movq rcx, xmm1
movaps xmmword [rsp + 0x80], xmm11
call fcn.1800023b0
movzx ecx, byte [0x180012762]
movzx ebx, al
movss xmm10, dword [rsp + 0x44]
xorps xmm6, xmm6
movss xmm11, dword [rsp + 0x40]
test cl, cl
je 0x1800025e6
mov ecx, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x1800026d4
movzx ecx, byte [0x180012762]
test bl, bl
jne 0x1800025fd
movss xmm0, dword [0x180014d08]
ucomiss xmm0, xmm6
jp 0x1800025fd
je 0x1800026cd
test cl, cl
jne 0x1800026cd
cmp byte [0x1800127c0], cl
movsxd rax, dword [0x1800128d4]
je 0x1800026a9
lea rcx, [0x1800127d0]
cmp byte [rax + rcx], 0
jne 0x180002629
mov byte [rax + rcx], 1
lea rcx, [rsp + 0x60]
call qword [sym.imp.USER32.dll_GetCursorPos]
movd xmm2, dword [rsp + 0x64]
movd xmm1, dword [rsp + 0x60]
movss xmm0, dword [0x180014d08]
ucomiss xmm0, xmm6
cvtdq2ps xmm2, xmm2
cvtdq2ps xmm1, xmm1
subss xmm2, xmm10
subss xmm1, xmm11
jp 0x180002687
jne 0x180002687
movaps xmm0, xmm1
movaps xmm3, xmm2
subss xmm0, dword [0x180014cf8]
subss xmm3, dword [0x180014cfc]
movss dword [0x180014d08], xmm0
movss dword [0x180014d0c], xmm3
jmp 0x18000268f
movss xmm3, dword [0x180014d0c]
subss xmm1, xmm0
subss xmm2, xmm3
movss dword [0x180014cf8], xmm1
movss dword [0x180014cfc], xmm2
jmp 0x1800026dc
cmp rax, 0x100
jae 0x18000292b
lea rcx, [0x1800127d0]
mov qword [0x180014d08], 0
mov byte [rax + rcx], 0
jmp 0x1800026d4
mov byte [0x180012762], 0
movss xmm1, dword [0x180014cf8]
comiss xmm10, xmm6
mov qword [rsp + 0x108], rdi
mov dword [0x1800128d0], 0
mov dword [0x1800128d8], 0
mov qword [0x180014d58], 0
mov qword [0x180014d68], 0
mov qword [0x180014d50], 0
movaps xmmword [rsp + 0xc0], xmm7
xorps xmm7, xmm7
movaps xmmword [rsp + 0xb0], xmm8
movss xmm8, dword [0x18000f474]
movaps xmmword [rsp + 0xa0], xmm9
movss xmm9, dword [0x180014cfc]
movaps xmmword [rsp + 0x70], xmm12
movups xmm12, xmmword [0x18000f450]
movss dword [0x180014dac], xmm9
movss dword [0x180014da8], xmm1
jbe 0x1800027cc
movaps xmm0, xmm1
movss dword [rsp + 0x38], xmm1
addss xmm0, xmm11
movss dword [rsp + 0x30], xmm0
movaps xmm0, xmm9
movdqa xmmword [rsp + 0x50], xmm12
addss xmm0, xmm7
movaps xmm3, xmm8
lea rax, [rsp + 0x50]
mov qword [rsp + 0x20], rax
movss dword [rsp + 0x34], xmm0
mov r8, qword [rsp + 0x30]
movss dword [rsp + 0x3c], xmm0
mov rdx, qword [rsp + 0x38]
call fcn.180001930
addss xmm7, xmm8
comiss xmm10, xmm7
ja 0x180002781
movss xmm1, dword [0x180014cf8]
movups xmm9, xmmword [0x1800127a8]
movss xmm10, dword [0x180014cfc]
movaps xmm0, xmm1
movss xmm7, dword [0x18000f49c]
addss xmm0, xmm11
movaps xmm12, xmmword [rsp + 0x70]
movss dword [rsp + 0x30], xmm1
movss dword [rsp + 0x38], xmm0
nop
movaps xmm0, xmm10
movdqa xmmword [rsp + 0x50], xmm9
addss xmm0, xmm6
movaps xmm3, xmm8
lea rax, [rsp + 0x50]
mov qword [rsp + 0x20], rax
movss dword [rsp + 0x3c], xmm0
mov r8, qword [rsp + 0x38]
movss dword [rsp + 0x34], xmm0
mov rdx, qword [rsp + 0x30]
call fcn.180001930
addss xmm6, xmm8
comiss xmm7, xmm6
ja 0x180002800
movss xmm0, dword [0x1800128d8]
mov rcx, 0xffffffffffffffff
mulss xmm11, dword [0x18000f470]
addss xmm0, xmm7
mov rdi, rcx
movss xmm6, dword [0x180014cfc]
movaps xmm9, xmmword [rsp + 0xa0]
movaps xmm8, xmmword [rsp + 0xb0]
addss xmm6, dword [0x18000f48c]
addss xmm11, dword [0x180014cf8]
movaps xmm7, xmmword [rsp + 0xc0]
movss dword [0x1800128d8], xmm0
nop dword [rax]
inc rdi
cmp byte [rsi + rdi], 0
jne 0x1800028a0
inc rdi
mov eax, 2
mul rdi
cmovo rax, rcx
mov rcx, rax
call fcn.180009578
mov r8, rdi
mov rdx, rsi
mov rcx, rax
mov rbx, rax
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_mbstowcs]
subss xmm6, dword [0x18000f488]
movaps xmm1, xmm11
mov rcx, rbx
movaps xmm2, xmm6
call fcn.180002450
mov rdi, qword [rsp + 0x108]
mov al, 1
movaps xmm10, xmmword [rsp + 0x90]
movaps xmm6, xmmword [rsp + 0xd0]
mov rbx, qword [rsp + 0xf8]
movaps xmm11, xmmword [rsp + 0x80]
mov rcx, qword [rsp + 0x68]
xor rcx, rsp
call fcn.180009010
add rsp, 0xe0
pop rsi
ret
call fcn.1800093a0
int3