Function at 0x14000a8f0
Capabilities:
Log keystrokes via polling

Disassembly:
push rbx
sub rsp, 0x90
mov rdx, qword [rcx + 0x180]
mov rbx, rcx
movss xmm2, dword [0x1401b9b1c]
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.140018a00
cmp byte [0x14029717d], 0
je 0x14000ab7f
cmp byte [0x14029722e], 0
jne 0x14000ab7f
cmp byte [0x1402971a6], 0
jne 0x14000ab7f
movaps xmmword [rsp + 0x80], xmm6
mov ecx, 0x57
movaps xmmword [rsp + 0x30], xmm11
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
movsd xmm11, qword [0x1401b9b38]
test ax, ax
jns 0x14000a9e5
movss xmm0, dword [rbx + 0x164]
cvtps2pd xmm0, xmm0
mulsd xmm0, xmm11
call fcn.140173da0
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.140173da0
xorps xmm9, xmm9
cvtsd2ss xmm9, xmm0
movaps xmm0, xmm6
addss xmm9, xmm8
call fcn.140170230
xorps xmm10, xmm10
cvtsd2ss xmm10, xmm0
addss xmm10, xmm8
mov ecx, 0x53
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x14000aa4d
movss xmm0, dword [rbx + 0x164]
cvtps2pd xmm0, xmm0
mulsd xmm0, xmm11
call fcn.140173da0
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.140173da0
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movaps xmm0, xmm6
subss xmm9, xmm1
call fcn.140170230
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
subss xmm10, xmm1
mov ecx, 0x41
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x14000aa95
movss xmm6, dword [rbx + 0x168]
cvtps2pd xmm6, xmm6
mulsd xmm6, xmm11
movaps xmm0, xmm6
call fcn.140170230
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movaps xmm0, xmm6
subss xmm9, xmm1
call fcn.140173da0
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
addss xmm10, xmm1
mov ecx, 0x44
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x14000aadd
movss xmm6, dword [rbx + 0x168]
cvtps2pd xmm6, xmm6
mulsd xmm6, xmm11
movaps xmm0, xmm6
call fcn.140170230
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movaps xmm0, xmm6
addss xmm9, xmm1
call fcn.140173da0
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 [0x1401b9e9c]
movaps xmm11, xmmword [rsp + 0x30]
test ax, ax
jns 0x14000aaff
addss xmm7, xmm6
mov ecx, reloc.WS2_32.dll_recvfrom
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x14000ab17
addss xmm7, dword [0x1401b9b1c]
ucomiss xmm9, xmm8
jp 0x14000ab2f
jne 0x14000ab2f
ucomiss xmm7, xmm8
jp 0x14000ab2f
jne 0x14000ab2f
ucomiss xmm10, xmm8
jp 0x14000ab2f
je 0x14000ab77
movss xmm1, dword [0x1401dde8c]
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.14000a830
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