Function at 0x140008c90
Capabilities:
Log keystrokes via polling

Disassembly:
push rbx
sub rsp, 0x90
mov rdx, qword [rcx + 0x188]
mov rbx, rcx
movss xmm2, dword [0x14018d348]
add rdx, 0x10
movaps xmmword [rsp + 0x70], xmm7
xorps xmm7, xmm7
movaps xmmword [rsp + 0x60], xmm8
xorps xmm8, xmm8
movaps xmmword [rsp + 0x50], xmm9
xorps xmm9, xmm9
movaps xmmword [rsp + 0x40], xmm10
xorps xmm10, xmm10
call fcn.14000fbb0
cmp byte [0x140264cad], 0
je 0x140008f1f
cmp byte [0x140264d35], 0
jne 0x140008f1f
cmp byte [0x140264cd6], 0
jne 0x140008f1f
movaps xmmword [rsp + 0x80], xmm6
mov ecx, 0x57
movaps xmmword [rsp + 0x30], xmm11
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
movsd xmm11, qword [0x14018d358]
test ax, ax
jns 0x140008d85
movss xmm0, dword [rbx + 0x164]
cvtps2pd xmm0, xmm0
mulsd xmm0, xmm11
call fcn.140150080
movss xmm6, dword [rbx + 0x168]
xorps xmm7, xmm7
cvtps2pd xmm6, xmm6
cvtsd2ss xmm7, xmm0
mulsd xmm6, xmm11
addss xmm7, xmm8
movaps xmm0, xmm6
call fcn.140150080
xorps xmm9, xmm9
cvtsd2ss xmm9, xmm0
movaps xmm0, xmm6
addss xmm9, xmm8
call fcn.14014c510
xorps xmm10, xmm10
cvtsd2ss xmm10, xmm0
addss xmm10, xmm8
mov ecx, 0x53
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x140008ded
movss xmm0, dword [rbx + 0x164]
cvtps2pd xmm0, xmm0
mulsd xmm0, xmm11
call fcn.140150080
movss xmm6, dword [rbx + 0x168]
xorps xmm1, xmm1
cvtps2pd xmm6, xmm6
cvtsd2ss xmm1, xmm0
mulsd xmm6, xmm11
subss xmm7, xmm1
movaps xmm0, xmm6
call fcn.140150080
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movaps xmm0, xmm6
subss xmm9, xmm1
call fcn.14014c510
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
subss xmm10, xmm1
mov ecx, 0x41
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x140008e35
movss xmm6, dword [rbx + 0x168]
cvtps2pd xmm6, xmm6
mulsd xmm6, xmm11
movaps xmm0, xmm6
call fcn.14014c510
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movaps xmm0, xmm6
subss xmm9, xmm1
call fcn.140150080
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
addss xmm10, xmm1
mov ecx, 0x44
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x140008e7d
movss xmm6, dword [rbx + 0x168]
cvtps2pd xmm6, xmm6
mulsd xmm6, xmm11
movaps xmm0, xmm6
call fcn.14014c510
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movaps xmm0, xmm6
addss xmm9, xmm1
call fcn.140150080
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
subss xmm10, xmm1
mov ecx, reloc.WLDAP32.dll_Ordinal_32
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
movss xmm6, dword [0x14018d6a4]
movaps xmm11, xmmword [rsp + 0x30]
test ax, ax
jns 0x140008e9f
addss xmm7, xmm6
mov ecx, reloc.WS2_32.dll_recvfrom
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x140008eb7
addss xmm7, dword [0x14018d348]
ucomiss xmm9, xmm8
jp 0x140008ecf
jne 0x140008ecf
ucomiss xmm7, xmm8
jp 0x140008ecf
jne 0x140008ecf
ucomiss xmm10, xmm8
jp 0x140008ecf
je 0x140008f17
movss xmm1, dword [0x1401abe30]
lea rdx, [rsp + 0x20]
movaps xmm0, xmm1
mulss xmm7, xmm6
mov rcx, rbx
mulss xmm0, xmm9
mulss xmm7, xmm1
mulss xmm1, xmm10
addss xmm0, xmm0
addss xmm7, xmm7
addss xmm1, xmm1
movss dword [rsp + 0x20], xmm0
movss dword [rsp + 0x24], xmm7
movss dword [rsp + 0x28], xmm1
call fcn.140008bd0
movaps xmm6, xmmword [rsp + 0x80]
movaps xmm7, xmmword [rsp + 0x70]
movaps xmm8, xmmword [rsp + 0x60]
movaps xmm9, xmmword [rsp + 0x50]
movaps xmm10, xmmword [rsp + 0x40]
add rsp, 0x90
pop rbx
ret