Function at 0x180003630
Capabilities:
Log keystrokes via polling

Disassembly:
sub rsp, 0x78
mov rax, qword [0x180013010]
xor rax, rsp
mov qword [rsp + 0x40], rax
cmp byte [0x180013054], 0
mov qword [rsp + 0x20], r8
mov dword [0x180014b3c], 0
jne 0x18000366f
xor al, al
mov rcx, qword [rsp + 0x40]
xor rcx, rsp
call fcn.18000acc0
add rsp, 0x78
ret
movss xmm0, dword [0x180013064]
mov rdx, r8
movss xmm1, dword [0x180013060]
unpcklps xmm1, xmm0
mov qword [rsp + 0x70], rbx
movq rcx, xmm1
movaps xmmword [rsp + 0x60], xmm6
movaps xmmword [rsp + 0x50], xmm7
call fcn.180002dd0
cmp dword [0x180013068], 0xffffffff
movzx ebx, al
je 0x1800036ce
mov ecx, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
mov edx, dword [0x180013068]
mov r8d, 0xffffffff
test ax, ax
cmove edx, r8d
mov dword [0x180013068], edx
movzx eax, byte [0x180014a2e]
xorps xmm6, xmm6
movss xmm7, dword [rsp + 0x20]
test al, al
je 0x1800036fd
mov ecx, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x1800037ec
movzx eax, byte [0x180014a2e]
test bl, bl
jne 0x180003714
movss xmm0, dword [0x180014b40]
ucomiss xmm0, xmm6
jp 0x180003714
je 0x1800037e5
test al, al
jne 0x1800037e5
cmp byte [0x180014a28], 0
movsxd rax, dword [0x180014b3c]
je 0x1800037c1
lea rcx, [0x180014a30]
cmp byte [rax + rcx], 0
jne 0x180003741
mov byte [rax + rcx], 1
lea rcx, [rsp + 0x30]
call qword [sym.imp.USER32.dll_GetCursorPos]
movd xmm0, dword [rsp + 0x30]
movd xmm1, dword [rsp + 0x34]
movss xmm2, dword [0x180014b40]
ucomiss xmm2, xmm6
cvtdq2ps xmm0, xmm0
cvtdq2ps xmm1, xmm1
subss xmm0, xmm7
subss xmm1, dword [rsp + 0x24]
jp 0x18000379f
jne 0x18000379f
movaps xmm2, xmm0
movaps xmm3, xmm1
subss xmm2, dword [0x180013060]
subss xmm3, dword [0x180013064]
movss dword [0x180014b40], xmm2
movss dword [0x180014b44], xmm3
jmp 0x1800037a7
movss xmm3, dword [0x180014b44]
subss xmm0, xmm2
subss xmm1, xmm3
movss dword [0x180013060], xmm0
movss dword [0x180013064], xmm1
jmp 0x1800037ec
cmp rax, 0x100
jae 0x180003939
lea rcx, [0x180014a30]
mov qword [0x180014b40], 0
mov byte [rax + rcx], 0
jmp 0x1800037ec
mov byte [0x180014a2e], 0
movups xmm0, xmmword [0x18000dbc0]
lea r9, [rsp + 0x30]
mov dword [0x180014b38], 0
movss xmm4, dword [0x180013060]
movaps xmm1, xmm7
movss xmm3, dword [0x180013064]
movss xmm2, dword [rsp + 0x24]
movdqa xmmword [rsp + 0x30], xmm0
movaps xmm0, xmm4
unpcklps xmm0, xmm3
movq rcx, xmm0
movss dword [0x180014a10], xmm4
movss dword [0x180014a14], xmm3
mov dword [0x180014b60], 0
mov qword [0x180014b30], 0
mov qword [0x180014a20], 0
mov qword [0x180014b50], 0
call fcn.180003320
movups xmm0, xmmword [0x18000dbb0]
lea r9, [rsp + 0x30]
movss xmm3, dword [0x180013064]
movaps xmm1, xmm7
movss xmm6, dword [0x18000e2e4]
movdqa xmmword [rsp + 0x30], xmm0
movaps xmm2, xmm6
movss xmm0, dword [0x180013060]
unpcklps xmm0, xmm3
movq rcx, xmm0
call fcn.180003320
movss xmm0, dword [0x180014b60]
mov ecx, 0x24
mulss xmm7, dword [0x18000e2a0]
addss xmm0, xmm6
movss xmm6, dword [0x180013064]
addss xmm6, dword [0x18000e2d4]
addss xmm7, dword [0x180013060]
movss dword [0x180014b60], xmm0
call fcn.18000b5b0
mov r8d, 0x12
lea rdx, str.PSOSENSE.GG___PRO
mov rcx, rax
mov rbx, rax
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_mbstowcs]
subss xmm6, dword [0x18000e2d0]
movaps xmm1, xmm7
mov rcx, rbx
movaps xmm2, xmm6
call fcn.1800030f0
movaps xmm6, xmmword [rsp + 0x60]
mov al, 1
mov rbx, qword [rsp + 0x70]
movaps xmm7, xmmword [rsp + 0x50]
mov rcx, qword [rsp + 0x40]
xor rcx, rsp
call fcn.18000acc0
add rsp, 0x78
ret
call fcn.18000b050
int3