Function at 0x1800c8b10
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
lea rbp, [rsp - 0x37a0]
mov eax, 0x38a0
call fcn.18015a490
sub rsp, rax
movaps xmmword [rsp + 0x3890], xmm6
movaps xmmword [rsp + 0x3880], xmm7
movaps xmmword [rsp + 0x3870], xmm8
movaps xmmword [rsp + 0x3860], xmm9
movaps xmmword [rsp + 0x3850], xmm10
movaps xmmword [rsp + 0x3840], xmm11
movaps xmmword [rsp + 0x3830], xmm12
mov rax, qword [0x1802e4040]
xor rax, rsp
mov qword [rbp + 0x3720], rax
mov eax, dword [reloc.WS2_32.dll_getpeername]
lea edi, [rax + rax*4]
add edi, edi
call fcn.180017790
mov rdx, rax
lea rcx, [rsp + 0x60]
call fcn.1800a86f0
nop
movzx eax, byte [0x1802e71b9]
test al, al
je 0x1800c8ed3
movss xmm7, dword [rsp + 0x6c]
movss xmm9, dword [rsp + 0x68]
movss xmm6, dword [0x180165b58]
movss xmm10, dword [0x180165b80]
cmp byte [0x1802e71ba], 0
je 0x1800c8c3e
call fcn.1800170e0
mov rbx, rax
movdqa xmm0, xmmword [0x180165cc0]
movups xmmword [rsp + 0x40], xmm0
lea rcx, [rsp + 0x40]
call fcn.180014680
movaps xmm1, xmm7
mulss xmm1, xmm6
movaps xmm0, xmm9
mulss xmm0, xmm6
movss dword [rsp + 0x30], xmm0
movss dword [rsp + 0x34], xmm1
movd xmm2, edi
cvtdq2ps xmm2, xmm2
movss dword [rsp + 0x28], xmm10
mov dword [rsp + 0x20], 0x5a
mov r9d, eax
lea rdx, [rsp + 0x30]
mov rcx, rbx
call fcn.180028ba0
movzx eax, byte [0x1802e71b9]
test al, al
je 0x1800c8ed3
mov ecx, dword [reloc.WS2_32.dll_bind]
cmp ecx, 0x3e9
jne 0x1800c8c5b
mov ecx, 1
jmp 0x1800c8c96
cmp ecx, 0x3ea
jne 0x1800c8c6a
mov ecx, 2
jmp 0x1800c8c96
cmp ecx, 0x3eb
jne 0x1800c8c79
mov ecx, 4
jmp 0x1800c8c96
cmp ecx, 0x3ec
jne 0x1800c8c88
mov ecx, 5
jmp 0x1800c8c96
mov eax, 6
cmp ecx, 0x3ed
cmove ecx, eax
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
shr eax, 0xf
test al, 1
je 0x1800c8ed3
movzx ecx, byte [0x1802e71c0]
call fcn.1800df3f0
mov rcx, qword [0x1802e6fb8]
mov rdx, qword [rcx + 8]
test rdx, rdx
je 0x1800c8ed3
test rax, rax
je 0x1800c8ed3
cmp rax, rdx
je 0x1800c8ed3
xor r8d, r8d
mov rdx, rax
lea rcx, [rsp + 0x50]
call fcn.1800bf490
movsd xmm0, qword [rsp + 0x50]
movsd qword [rsp + 0x40], xmm0
mov esi, dword [rsp + 0x58]
mov dword [rsp + 0x48], esi
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x30]
call fcn.1800dfaf0
mulss xmm9, xmm6
mulss xmm7, xmm6
movss xmm0, dword [rsp + 0x34]
cvtps2pd xmm0, xmm0
movss xmm8, dword [rsp + 0x30]
cvtps2pd xmm8, xmm8
cvtps2pd xmm1, xmm7
subsd xmm0, xmm1
movsd xmm1, qword [0x1801ada00]
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
movaps xmm7, xmm0
cvtps2pd xmm2, xmm9
subsd xmm8, xmm2
movsd xmm1, qword [0x1801ada00]
movaps xmm0, xmm8
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
addsd xmm7, xmm0
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm7
xorps xmm1, xmm1
ucomiss xmm1, xmm0
ja 0x1800c8d73
sqrtss xmm0, xmm0
jmp 0x1800c8d78
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movd xmm1, edi
cvtdq2ps xmm1, xmm1
comiss xmm1, xmm0
jbe 0x1800c8ed3
mov rcx, qword [0x1802e6fa8]
mov rax, qword [0x1802e6fd0]
mov rbx, qword [rax + rcx]
test rbx, rbx
je 0x1800c8ed3
movss xmm9, dword [0x180248558]
movsd xmm1, qword [rbx + 0x60]
movsd xmm0, qword [rbx + 0x40]
movsd qword [rsp + 0x30], xmm0
movss xmm12, dword [rbx + 0x68]
movaps xmm2, xmm12
movd xmm8, esi
subss xmm2, xmm8
movaps xmm11, xmm1
shufps xmm11, xmm11, 0x55
movsd qword [rsp + 0x40], xmm1
movaps xmm3, xmm11
movss xmm7, dword [rsp + 0x54]
subss xmm3, xmm7
movss xmm0, dword [rsp + 0x40]
movss xmm6, dword [rsp + 0x50]
subss xmm0, xmm6
mulss xmm3, xmm3
mulss xmm0, xmm0
addss xmm3, xmm0
mulss xmm2, xmm2
addss xmm3, xmm2
xorps xmm0, xmm0
ucomiss xmm0, xmm3
ja 0x1800c8e22
xorps xmm0, xmm0
sqrtss xmm0, xmm3
jmp 0x1800c8e2a
movaps xmm0, xmm3
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
subss xmm8, xmm12
divss xmm8, xmm0
subss xmm7, xmm11
divss xmm7, xmm0
subss xmm6, dword [rsp + 0x40]
divss xmm6, xmm0
movaps xmm2, xmm8
movss xmm1, dword [rbx + 0x48]
subss xmm2, xmm1
movaps xmm0, xmm7
movss xmm4, dword [rsp + 0x34]
subss xmm0, xmm4
movaps xmm3, xmm6
movss xmm5, dword [rsp + 0x30]
subss xmm3, xmm5
comiss xmm9, xmm10
jbe 0x1800c8e9a
movaps xmm6, xmm3
divss xmm6, xmm9
addss xmm6, xmm5
movaps xmm7, xmm0
divss xmm7, xmm9
addss xmm7, xmm4
movaps xmm8, xmm2
divss xmm8, xmm9
addss xmm8, xmm1
subss xmm1, dword [rbx + 0x3d8]
movss dword [rbx + 0x3d0], xmm6
movss dword [rbx + 0x3d4], xmm7
movaps xmm0, xmm8
subss xmm0, xmm1
movss dword [rbx + 0x3d8], xmm0
movaps xmm1, xmm6
unpcklps xmm1, xmm7
movsd qword [rbx + 0x40], xmm1
movss dword [rbx + 0x48], xmm8
mov rcx, qword [rbp + 0x3710]
test rcx, rcx
je 0x1800c8ee5
call fcn.18001a9b0
nop
mov rcx, qword [rbp + 0x3720]
xor rcx, rsp
call fcn.18015a430
lea r11, [rsp + 0x38a0]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
mov rsp, r11
pop rbp
ret