Function at 0x14001d080
Capabilities:
Log keystrokes via polling

Disassembly:
push rbx
sub rsp, 0xe0
cmp qword [0x140333478], 0
mov rbx, rcx
je 0x14001d3d6
mov rcx, qword [0x140333468]
test rcx, rcx
je 0x14001d3d6
cmp byte [0x140331e70], 0
je 0x14001d3b5
mov ecx, dword [0x140331e74]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x14001d3ae
cmp byte [0x1403337c8], 0
movaps xmmword [rsp + 0xd0], xmm6
movaps xmmword [rsp + 0xc0], xmm7
movaps xmmword [rsp + 0xb0], xmm8
movaps xmmword [rsp + 0xa0], xmm9
movaps xmmword [rsp + 0x90], xmm10
movaps xmmword [rsp + 0x80], xmm11
movaps xmmword [rsp + 0x70], xmm12
movaps xmmword [rsp + 0x60], xmm13
movaps xmmword [rsp + 0x50], xmm14
xorps xmm14, xmm14
movaps xmmword [rsp + 0x40], xmm15
jne 0x14001d157
mov rcx, qword [0x140333468]
add rcx, 0x2c
call fcn.14001d7d0
mov rcx, qword [0x140333468]
xorps xmm1, xmm1
add rcx, 0x2c
movss dword [0x1403337cc], xmm0
call fcn.14001d870
mov byte [0x1403337c8], 1
movd xmm6, dword [0x140331e78]
mov ecx, reloc.WS2_32.dll_recv
cvtdq2ps xmm6, xmm6
divss xmm6, dword [0x1402ff440]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x14001d182
mulss xmm6, dword [0x1402ff384]
movss xmm10, dword [0x140333798]
mov ecx, 0x57
movss xmm11, dword [0x14033379c]
movaps xmm8, xmm10
movss xmm7, dword [0x1403337a0]
movaps xmm12, xmm11
movaps xmm15, xmm7
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
movss xmm9, dword [rbx]
movss xmm13, dword [rbx + 4]
test ax, ax
je 0x14001d1f4
movaps xmm10, xmm9
movaps xmm11, xmm13
mulss xmm10, xmm6
mulss xmm11, xmm6
addss xmm10, xmm8
movss xmm8, dword [rbx + 8]
movaps xmm7, xmm8
mulss xmm7, xmm6
addss xmm11, xmm12
addss xmm7, xmm15
jmp 0x14001d1fa
movss xmm8, dword [rbx + 8]
mov ecx, 0x53
movss dword [rsp + 0xf8], xmm8
movaps xmm15, xmm13
movaps xmm12, xmm9
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x14001d24c
movss xmm8, dword [rsp + 0xf8]
movaps xmm0, xmm9
mulss xmm0, xmm6
movaps xmm1, xmm13
mulss xmm1, xmm6
subss xmm10, xmm0
movaps xmm0, xmm8
mulss xmm0, xmm6
subss xmm11, xmm1
subss xmm7, xmm0
mulss xmm8, xmm14
movaps xmm12, xmm13
mov ecx, 0x41
mulss xmm13, xmm14
subss xmm12, xmm8
subss xmm8, xmm9
mulss xmm9, xmm14
subss xmm9, xmm13
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
movaps xmm15, xmmword [rsp + 0x40]
movaps xmm14, xmmword [rsp + 0x50]
movaps xmm13, xmmword [rsp + 0x60]
test ax, ax
je 0x14001d2b6
movaps xmm0, xmm12
movaps xmm1, xmm8
mulss xmm0, xmm6
mulss xmm1, xmm6
subss xmm10, xmm0
movaps xmm0, xmm9
mulss xmm0, xmm6
subss xmm11, xmm1
subss xmm7, xmm0
mov ecx, 0x44
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x14001d2e4
mulss xmm12, xmm6
mulss xmm8, xmm6
mulss xmm9, xmm6
addss xmm10, xmm12
addss xmm11, xmm8
addss xmm7, xmm9
mov ecx, reloc.WLDAP32.dll_Ordinal_32
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
movaps xmm12, xmmword [rsp + 0x70]
movaps xmm9, xmmword [rsp + 0xa0]
movaps xmm8, xmmword [rsp + 0xb0]
test ax, ax
je 0x14001d310
addss xmm7, xmm6
mov ecx, 0xa2
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x14001d324
subss xmm7, xmm6
mov rcx, qword [0x140333478]
lea r8, [rsp + 0x20]
mov rbx, qword [0x140333460]
movaps xmm0, xmm10
unpcklps xmm0, xmm11
add rcx, 0x90
mov edx, ntohl
movsd qword [rsp + 0x20], xmm0
movss dword [rsp + 0x28], xmm7
call fcn.1400773f0
movaps xmm0, xmm10
movss dword [rsp + 0x38], xmm7
unpcklps xmm0, xmm11
lea rcx, [rbx + 0x50]
lea r8, [rsp + 0x30]
movsd qword [rsp + 0x30], xmm0
mov edx, ntohl
call fcn.1400773f0
movaps xmm11, xmmword [rsp + 0x80]
movaps xmm10, xmmword [rsp + 0x90]
movaps xmm7, xmmword [rsp + 0xc0]
movaps xmm6, xmmword [rsp + 0xd0]
add rsp, 0xe0
pop rbx
ret
mov rcx, qword [0x140333468]
cmp byte [0x1403337c8], 0
je 0x14001d3cf
movss xmm1, dword [0x1403337cc]
add rcx, 0x2c
call fcn.14001d870
mov byte [0x1403337c8], 0
add rsp, 0xe0
pop rbx
ret