Function at 0x140013950
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
mov qword [rax + 0x20], r14
push rbp
lea rbp, [rax - 0x38]
sub rsp, 0x130
cmp byte [0x1402aa734], 0
movaps xmmword [rax - 0x18], xmm6
movaps xmmword [rax - 0x28], xmm8
movaps xmmword [rax - 0x38], xmm9
movaps xmmword [rax - 0x48], xmm10
movaps xmmword [rax - 0x58], xmm11
movaps xmmword [rax - 0x68], xmm12
je 0x1400139a6
mov ecx, dword [reloc.WS2_32.dll_getpeername]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x1400139c0
cmp byte [0x1402aa735], 0
je 0x1400139e1
mov ecx, dword [reloc.WS2_32.dll_select]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1400139e1
movups xmm0, xmmword [0x1402aa640]
lea rcx, [rbp - 0x50]
movsd xmm1, qword [0x1402aa650]
movaps xmmword [rbp - 0x50], xmm0
movsd qword [rbp - 0x40], xmm1
call fcn.14000b5c0
mov rax, qword [0x1402ab888]
lea rcx, [rsp + 0x50]
xor ebx, ebx
xor edx, edx
or dword [rax + 0x47b8], 3
mov qword [rax + 0x47c8], rbx
lea r8d, [rbx + 0x1f]
mov qword [rax + 0x47d0], rbx
mov dword [rax + 0x47bc], 1
mov dword [rax + 0x47d8], 0x44160000
mov dword [rax + 0x47dc], 0x44160000
mov dword [rax + 0x47c0], 1
movabs rax, 0xe1660555cb2f608e
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x50], rax
movabs rax, 0xf8e119f7029c1bb3
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x58], rax
movabs rax, 0x85086c02a54601c3
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rbp - 0x50], rax
movabs rax, 0xf8e119f7029c6cdc
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
movdqa xmm0, xmmword [rsp + 0x50]
mov qword [rbp - 0x48], rax
xorps xmm0, xmmword [rbp - 0x50]
movdqa xmmword [rsp + 0x50], xmm0
call fcn.140020850
mov rcx, qword [0x1402ab888]
movaps xmm0, xmmword [0x140173db0]
movups xmmword [rbp - 0x50], xmm0
mov rax, qword [rcx + 0x3ed8]
mov byte [rax + 0xb8], 1
mov rax, qword [rcx + 0x3ed8]
lea rcx, [rbp - 0x50]
movss xmm0, dword [0x1402aa788]
movaps xmm1, xmm0
mulss xmm0, dword [0x140173b3c]
movss xmm12, dword [rax + 0x20]
mulss xmm1, dword [0x140173b4c]
movaps xmm10, xmm12
mov r14, qword [rax + 0x2a0]
movss xmm11, dword [rax + 0x24]
addss xmm10, dword [rax + 0x28]
movss xmm8, dword [rax + 0x2c]
addss xmm1, xmm11
movss dword [rbp - 0x68], xmm12
movss dword [rsp + 0x60], xmm10
addss xmm0, xmm1
movss dword [rbp - 0x64], xmm1
movss dword [rsp + 0x64], xmm0
call fcn.1400173b0
xorps xmm0, xmm0
mov dword [rsp + 0x28], ebx
mov r9d, eax
movss dword [rsp + 0x20], xmm0
lea r8, [rsp + 0x60]
mov rcx, r14
lea rdx, [rbp - 0x68]
call fcn.140039750
movaps xmm0, xmmword [0x140173d70]
movss xmm2, dword [0x1402aa788]
movaps xmm1, xmm0
movups xmmword [rbp - 0x50], xmm0
movups xmmword [rsp + 0x50], xmm0
movaps xmm0, xmmword [0x140173d90]
movaps xmm1, xmm0
movss dword [rsp + 0x68], xmm10
movaps xmm1, xmm2
mulss xmm1, dword [0x140173b4c]
movups xmmword [rsp + 0x40], xmm0
movups xmmword [rbp - 0x68], xmm0
movaps xmm0, xmm2
addss xmm1, xmm11
mulss xmm0, dword [0x140173b3c]
mulss xmm2, dword [0x140173b10]
addss xmm1, xmm0
addss xmm2, xmm1
movss dword [rsp + 0x70], xmm12
lea rcx, [rbp - 0x50]
movss dword [rsp + 0x74], xmm1
movss dword [rsp + 0x6c], xmm2
call fcn.1400173b0
lea rcx, [rsp + 0x50]
mov esi, eax
call fcn.1400173b0
lea rcx, [rsp + 0x40]
mov edi, eax
call fcn.1400173b0
lea rcx, [rbp - 0x68]
mov ebx, eax
call fcn.1400173b0
mov dword [rsp + 0x30], esi
lea r8, [rsp + 0x68]
mov r9d, eax
mov dword [rsp + 0x28], edi
lea rdx, [rsp + 0x70]
mov dword [rsp + 0x20], ebx
mov rcx, r14
call fcn.140039900
cmp byte [0x1402aa7a0], 0
lea rcx, [0x1402aa760]
jne 0x140013c30
call fcn.14000ddd0
jmp 0x140013c4e
mov rax, qword [0x1402aa648]
inc rax
test rax, 0xfffffffffffffffe
jne 0x140013c49
call fcn.14000f3e0
jmp 0x140013c4e
call fcn.140010b80
movss xmm6, dword [0x1402aa788]
lea rcx, [rbp - 0x50]
movaps xmm0, xmmword [0x140173d40]
movaps xmm9, xmm11
movups xmmword [rbp - 0x50], xmm0
addss xmm9, xmm8
movaps xmm1, xmm10
movss xmm8, dword [0x140173a6c]
subss xmm1, xmm6
movaps xmm0, xmm9
subss xmm0, xmm6
movss dword [rsp + 0x78], xmm1
movaps xmm1, xmm6
addss xmm1, xmm12
movss dword [rsp + 0x7c], xmm0
movaps xmm0, xmm6
mulss xmm6, dword [0x140173ae0]
addss xmm0, xmm11
movss dword [rbp - 0x80], xmm1
addss xmm6, xmm8
movss dword [rbp - 0x7c], xmm0
call fcn.1400173b0
movss xmm0, dword [0x140173aa0]
lea r8, [rsp + 0x78]
movss dword [rsp + 0x30], xmm0
lea rdx, [rbp - 0x80]
mov r9d, eax
movss dword [rsp + 0x20], xmm6
mov rcx, r14
call fcn.140039640
movss xmm6, dword [0x1402aa788]
lea rcx, [rbp - 0x50]
movaps xmm0, xmmword [0x140173e20]
subss xmm10, xmm6
movaps xmm1, xmm6
subss xmm9, xmm6
movups xmmword [rbp - 0x50], xmm0
movaps xmm0, xmm6
addss xmm1, xmm11
mulss xmm6, dword [0x140173ae0]
addss xmm0, xmm12
movss dword [rbp - 0x78], xmm10
movss dword [rbp - 0x74], xmm9
movss dword [rbp - 0x6c], xmm1
addss xmm6, xmm8
movss dword [rbp - 0x70], xmm0
call fcn.1400173b0
movss dword [rsp + 0x30], xmm8
lea r8, [rbp - 0x78]
mov r9d, eax
movss dword [rsp + 0x20], xmm6
lea rdx, [rbp - 0x70]
mov rcx, r14
call fcn.140039640
call fcn.14000db20
lea r11, [rsp + 0x130]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
mov r14, qword [r11 + 0x28]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm8, xmmword [r11 - 0x20]
movaps xmm9, xmmword [r11 - 0x30]
movaps xmm10, xmmword [r11 - 0x40]
movaps xmm11, xmmword [r11 - 0x50]
movaps xmm12, xmmword [r11 - 0x60]
mov rsp, r11
pop rbp
jmp fcn.140022a80