Function at 0x180002b90
Capabilities:
Log keystrokes via polling

Disassembly:
push rsi
sub rsp, 0xf0
mov rax, qword [0x180011010]
xor rax, rsp
mov qword [rsp + 0x68], rax
cmp byte [0x180011050], 0
mov rsi, rcx
mov qword [rsp + 0x40], r8
mov dword [0x1800118f8], 0
jne 0x180002bca
xor al, al
jmp 0x180002fba
movss xmm1, dword [0x180013d14]
mov rdx, r8
movss xmm0, dword [0x180013d10]
mov qword [rsp + 0x108], rbx
mov qword [rsp + 0xe8], rbp
movaps xmmword [rsp + 0xd0], xmm6
unpcklps xmm0, xmm1
movaps xmmword [rsp + 0xa0], xmm9
movq rcx, xmm0
movaps xmmword [rsp + 0x80], xmm11
call fcn.1800027b0
mov rbp, 0xffffffffffffffff
movzx ebx, al
cmp dword [0x180011048], ebp
je 0x180002c3a
lea ecx, [rbp + 2]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x180002c3a
mov dword [0x180011048], ebp
movzx eax, byte [0x180011797]
xorps xmm6, xmm6
movss xmm9, dword [rsp + 0x44]
movss xmm11, dword [rsp + 0x40]
test al, al
je 0x180002c71
mov ecx, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x180002d60
movzx eax, byte [0x180011797]
test bl, bl
jne 0x180002c88
movss xmm0, dword [0x180013d60]
ucomiss xmm0, xmm6
jp 0x180002c88
je 0x180002d59
test al, al
jne 0x180002d59
cmp byte [0x1800117e8], 0
movsxd rax, dword [0x1800118f8]
je 0x180002d35
lea rcx, [0x1800117f0]
cmp byte [rax + rcx], 0
jne 0x180002cb5
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 [0x180013d60]
ucomiss xmm0, xmm6
cvtdq2ps xmm2, xmm2
cvtdq2ps xmm1, xmm1
subss xmm2, xmm9
subss xmm1, xmm11
jp 0x180002d13
jne 0x180002d13
movaps xmm0, xmm1
movaps xmm3, xmm2
subss xmm0, dword [0x180013d10]
subss xmm3, dword [0x180013d14]
movss dword [0x180013d60], xmm0
movss dword [0x180013d64], xmm3
jmp 0x180002d1b
movss xmm3, dword [0x180013d64]
subss xmm1, xmm0
subss xmm2, xmm3
movss dword [0x180013d10], xmm1
movss dword [0x180013d14], xmm2
jmp 0x180002d60
cmp rax, 0x100
jae 0x180002fd0
lea rcx, [0x1800117f0]
mov qword [0x180013d60], 0
mov byte [rax + rcx], 0
jmp 0x180002d60
mov byte [0x180011797], 0
comiss xmm9, xmm6
mov qword [rsp + 0xe0], rdi
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 [0x18000e864]
movaps xmmword [rsp + 0x90], xmm10
movss xmm10, dword [0x180013d14]
movaps xmmword [rsp + 0x70], xmm12
movups xmm12, xmmword [0x18000e820]
movss dword [0x180013d9c], xmm10
movss dword [0x180013d98], xmm1
jbe 0x180002e5a
movaps xmm0, xmm1
movss dword [rsp + 0x38], xmm1
addss xmm0, xmm11
movss dword [rsp + 0x30], xmm0
nop dword [rax]
mov rcx, qword [0x1800117e0]
lea rax, [rsp + 0x50]
movaps xmm0, xmm10
movdqa xmmword [rsp + 0x50], xmm12
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 0x180002e10
movss xmm1, dword [0x180013d10]
movups xmm9, xmmword [0x18000e760]
movss xmm10, dword [0x180013d14]
movaps xmm0, xmm1
movss xmm7, dword [0x18000e8c4]
addss xmm0, xmm11
movaps xmm12, xmmword [rsp + 0x70]
movss dword [rsp + 0x30], xmm1
movss dword [rsp + 0x38], xmm0
nop word [rax + rax]
mov rcx, qword [0x1800117e0]
lea rax, [rsp + 0x50]
movaps xmm0, xmm6
movdqa xmmword [rsp + 0x50], xmm9
addss xmm0, xmm10
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 0x180002ea0
movss xmm0, dword [0x1800118fc]
mov rdi, rbp
mulss xmm11, dword [0x18000e860]
addss xmm0, xmm7
movss xmm6, dword [0x180013d14]
movaps xmm10, xmmword [rsp + 0x90]
movaps xmm8, xmmword [rsp + 0xb0]
addss xmm6, dword [0x18000e8ac]
addss xmm11, dword [0x180013d10]
movaps xmm7, xmmword [rsp + 0xc0]
movss dword [0x1800118fc], xmm0
nop dword [rax]
inc rdi
cmp byte [rsi + rdi], 0
jne 0x180002f40
inc rdi
mov eax, 2
mul rdi
cmovo rax, rbp
mov rcx, rax
call fcn.18000bc04
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]
movaps xmm0, xmm11
mov rcx, rbx
unpcklps xmm0, xmm6
movq rdx, xmm0
call fcn.180002950
mov rdi, qword [rsp + 0xe0]
mov al, 1
movaps xmm9, xmmword [rsp + 0xa0]
movaps xmm6, xmmword [rsp + 0xd0]
mov rbp, qword [rsp + 0xe8]
mov rbx, qword [rsp + 0x108]
movaps xmm11, xmmword [rsp + 0x80]
mov rcx, qword [rsp + 0x68]
xor rcx, rsp
call fcn.18000b820
add rsp, 0xf0
pop rsi
ret
call fcn.18000ba2c
int3