Function at 0x1400018f0
Capabilities:
Log keystrokes via polling

Disassembly:
push rbp
lea rbp, [rsp - 0x28b0]
mov eax, 0x29b0
call fcn.1400d34c0
sub rsp, rax
mov rax, qword [0x1401a1028]
xor rax, rsp
mov qword [rbp + 0x27f0], rax
cmp byte [0x1401a1e38], 0
je 0x140001fbd
mov ecx, dword [0x1401a1e3c]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x14000194b
mov ecx, dword [0x1401a1e08]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x140001fbd
mov qword [rsp + 0x29c8], rsi
lea rcx, [0x1401a3c00]
mov qword [rsp + 0x29d8], r12
mov qword [rsp + 0x29a8], r14
mov qword [rsp + 0x29a0], r15
movaps xmmword [rsp + 0x2990], xmm6
movaps xmmword [rsp + 0x2980], xmm7
movaps xmmword [rsp + 0x2970], xmm8
movaps xmmword [rsp + 0x2960], xmm9
movaps xmmword [rsp + 0x2950], xmm10
movaps xmmword [rsp + 0x2930], xmm12
movaps xmmword [rsp + 0x2920], xmm13
movaps xmmword [rsp + 0x2910], xmm14
call qword [sym.imp.MSVCP140.dll__Mtx_lock]
test eax, eax
jne 0x140001fd5
cmp dword [0x1401a3c4c], 0x7fffffff
je 0x140001bd0
mov r8d, 0x1400
lea rdx, [0x1401a2800]
lea rcx, [rbp - 0x10]
call sub.VCRUNTIME140.dll_memcpy
lea rcx, [0x1401a3c00]
call qword [sym.imp.MSVCP140.dll__Mtx_unlock]
xorps xmm9, xmm9
lea rcx, [rbp - 0x10]
xor r12d, r12d
movss dword [rsp + 0x34], xmm9
xorps xmm0, xmm0
movss dword [rbp - 0x4c], xmm9
xorps xmm10, xmm10
movss dword [rsp + 0x38], xmm0
xorps xmm6, xmm6
movss dword [rsp + 0x3c], xmm10
xorps xmm8, xmm8
movss dword [rsp + 0x30], xmm6
movss dword [rsp + 0x40], xmm8
xorps xmm13, xmm13
xorps xmm12, xmm12
xorps xmm14, xmm14
mov r15d, r12d
xor r14b, r14b
nop dword [rax + rax]
movups xmm7, xmmword [rcx]
movups xmm2, xmmword [rcx + 0x10]
cmp byte [rcx + 8], r12b
jne 0x140001a76
add rcx, 0x50
lea rax, [rbp + 0x13f0]
cmp rcx, rax
jne 0x140001a50
mov rsi, qword [rbp - 0x38]
jmp 0x140001baf
mov rcx, qword [0x1401a3c50]
lea r8, [rbp - 0x38]
movq rsi, xmm2
mov qword [rbp - 0x38], r12
mov r9d, 0xc
mov dword [rbp - 0x30], r12d
mov qword [rsp + 0x20], r12
lea rdx, [rsi + 0x1214]
call fcn.140050fb0
mov rcx, qword [0x1401a3c50]
lea rdx, [rsi + 0xc48]
mov r9d, 0xc
mov qword [rbp - 0x28], r12
lea r8, [rbp - 0x28]
mov dword [rbp - 0x20], r12d
mov qword [rsp + 0x20], r12
call fcn.140050fb0
movss xmm0, dword [rbp - 0x34]
lea r8, [rbp - 0x48]
movss xmm10, dword [rbp - 0x38]
mov r9d, 0xc
movss xmm8, dword [rbp - 0x30]
addss xmm0, dword [rbp - 0x24]
addss xmm10, dword [rbp - 0x28]
addss xmm8, dword [rbp - 0x20]
mov rdx, qword [0x1401a3c60]
mov rcx, qword [0x1401a3c50]
add rdx, 0x18e5740
movss dword [rsp + 0x30], xmm0
movss dword [rbp - 0x34], xmm0
movss dword [rsp + 0x3c], xmm10
movss dword [rbp - 0x38], xmm10
movss dword [rsp + 0x34], xmm8
movss dword [rbp - 0x30], xmm8
mov qword [rbp - 0x48], r12
mov dword [rbp - 0x40], r12d
mov qword [rsp + 0x20], r12
call fcn.140050fb0
mov rcx, qword [0x1401a3c50]
lea rdx, [rsi + 0x1400]
movsd xmm6, qword [rbp - 0x48]
lea r8, [rbp - 0x4c]
mov r9d, 4
mov dword [rbp - 0x4c], r12d
mov qword [rsp + 0x20], r12
call fcn.140050fb0
movss xmm8, dword [rbp - 0x40]
movaps xmm0, xmm6
mov r15d, dword [rbp - 0x4c]
shufps xmm0, xmm0, 0x55
movsd qword [rbp - 0x48], xmm6
movss xmm6, dword [rsp + 0x30]
movss dword [rsp + 0x38], xmm0
movss xmm0, dword [rbp - 0x48]
psrldq xmm7, 9
movss dword [rbp - 0x4c], xmm0
movss dword [rsp + 0x40], xmm8
movd r14d, xmm7
lea rcx, [0x1401a3c00]
call qword [sym.imp.MSVCP140.dll__Mtx_lock]
test eax, eax
jne 0x140001fd5
cmp dword [0x1401a3c4c], 0x7fffffff
jne 0x140001be6
mov ecx, 6
mov dword [0x1401a3c4c], 0x7ffffffe
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
int3
mov qword [rsp + 0x29c0], rbx
lea rdx, [0x1401a2800]
mov r8d, 0x1400
movaps xmmword [rsp + 0x2900], xmm15
lea rcx, [rbp + 0x13f0]
call sub.VCRUNTIME140.dll_memcpy
lea rcx, [0x1401a3c00]
call qword [sym.imp.MSVCP140.dll__Mtx_unlock]
movsd xmm15, qword [0x14018e760]
lea rbx, [rbp + 0x13f8]
mov qword [rsp + 0x29d0], rdi
movaps xmmword [rsp + 0x2940], xmm11
nop
cmp byte [rbx + 0x30], r12b
je 0x140001e63
cmp byte [rbx], r12b
jne 0x140001e63
movzx ecx, byte [rbx + 1]
lea eax, [rcx - 2]
cmp al, 1
ja 0x140001e63
cmp byte [0x1401a1e39], r12b
jne 0x140001c74
cmp r14b, cl
je 0x140001e63
mov eax, dword [rbx + 0x10]
dec eax
cmp eax, 0x63
ja 0x140001e63
mov rdx, qword [rbx + 8]
lea r8, [rbp - 0x28]
mov rcx, qword [0x1401a3c50]
add rdx, 0x310
mov r9d, 8
mov qword [rbp - 0x28], r12
mov qword [rsp + 0x20], r12
call fcn.140050fb0
mov rdi, qword [rbp - 0x28]
lea r8, [rbp - 0x50]
mov rcx, qword [0x1401a3c50]
mov r9d, 1
mov byte [rbp - 0x50], r12b
mov qword [rsp + 0x20], r12
lea rdx, [rdi + 0xe7]
call fcn.140050fb0
cmp byte [rbp - 0x50], r12b
jne 0x140001e63
mov rcx, qword [0x1401a3c50]
lea rdx, [rdi + 0x1e0]
mov r9d, 8
mov qword [rbp - 0x38], r12
lea r8, [rbp - 0x38]
mov qword [rsp + 0x20], r12
call fcn.140050fb0
mov eax, dword [0x1401a1e4c]
lea r8, [rbp - 0x48]
mov rcx, qword [0x1401a3c50]
mov r9d, 0xc
shl eax, 5
movsxd rdx, eax
add rdx, qword [rbp - 0x38]
mov qword [rbp - 0x48], r12
mov dword [rbp - 0x40], r12d
mov qword [rsp + 0x20], r12
call fcn.140050fb0
test r15d, r15d
je 0x140001da1
mov rcx, qword [0x1401a3c50]
lea rdx, [rsi + 0x16fc]
mov r9d, 0xc
mov qword [rsp + 0x44], r12
lea r8, [rsp + 0x44]
mov dword [rsp + 0x4c], r12d
mov qword [rsp + 0x20], r12
call fcn.140050fb0
movsd xmm0, qword [rsp + 0x44]
movss xmm14, dword [rsp + 0x4c]
movsd qword [rsp + 0x50], xmm0
movss xmm0, dword [rsp + 0x44]
movss xmm12, dword [rsp + 0x54]
mulss xmm12, dword [0x14018e758]
cvtps2pd xmm0, xmm0
mulsd xmm0, xmm15
cvtpd2ps xmm13, xmm0
movss xmm7, dword [rbp - 0x44]
movaps xmm11, xmm14
subss xmm7, xmm6
movss xmm6, dword [rbp - 0x40]
subss xmm6, dword [rsp + 0x34]
addss xmm11, xmm8
movss xmm8, dword [rbp - 0x48]
subss xmm8, xmm10
movaps xmm1, xmm7
xorps xmm6, xmmword [0x14018e990]
movaps xmm0, xmm8
call sub.api_ms_win_crt_math_l1_1_0.dll__hypotf
movaps xmm1, xmm0
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_atan2f
movss xmm2, dword [rbp - 0x4c]
movaps xmm10, xmm0
mulss xmm10, dword [0x14018e7d4]
addss xmm2, xmm13
movaps xmm1, xmm8
movaps xmm0, xmm7
subss xmm10, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_atan2f
movss xmm1, dword [rsp + 0x38]
movaps xmm6, xmm0
mulss xmm6, dword [0x14018e7d4]
addss xmm1, xmm12
movaps xmm0, xmm10
subss xmm6, xmm1
movaps xmm1, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll__hypotf
movss xmm1, dword [0x1401a1e40]
comiss xmm1, xmm0
jbe 0x140001e63
ucomiss xmm10, xmm9
movaps xmm0, xmm9
subss xmm0, xmm11
jp 0x140001e94
jne 0x140001e94
ucomiss xmm6, xmm9
jp 0x140001e94
jne 0x140001e94
ucomiss xmm0, xmm9
jp 0x140001e94
jne 0x140001e94
add rbx, 0x50
lea rcx, [rbp + 0x27f0]
lea rax, [rbx - 8]
cmp rax, rcx
je 0x140001f35
movss xmm10, dword [rsp + 0x3c]
movss xmm6, dword [rsp + 0x30]
movss xmm8, dword [rsp + 0x40]
jmp 0x140001c40
xorps xmm6, xmmword [0x14018e990]
lea rcx, [0x1401a27b0]
divss xmm6, dword [0x14018e6c4]
divss xmm10, dword [0x14018e6d0]
mulss xmm6, dword [0x14018e6cc]
mulss xmm10, dword [0x14018e6cc]
mulss xmm6, dword [0x14018e7b8]
mulss xmm10, dword [0x14018e7cc]
call qword [sym.imp.MSVCP140.dll__Mtx_lock]
test eax, eax
je 0x140001eeb
mov ecx, 5
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
int3
cmp dword [0x1401a27fc], 0x7fffffff
jne 0x140001f0d
mov ecx, 6
mov dword [0x1401a27fc], 0x7ffffffe
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
int3
xor r9d, r9d
mov qword [rsp + 0x20], r12
cvttss2si r8d, xmm10
lea ecx, [r9 + 1]
cvttss2si edx, xmm6
call qword [sym.imp.USER32.dll_mouse_event]
lea rcx, [0x1401a27b0]
call qword [sym.imp.MSVCP140.dll__Mtx_unlock]
mov rdi, qword [rsp + 0x29d0]
movaps xmm11, xmmword [rsp + 0x2940]
mov rbx, qword [rsp + 0x29c0]
movaps xmm15, xmmword [rsp + 0x2900]
movaps xmm10, xmmword [rsp + 0x2950]
movaps xmm9, xmmword [rsp + 0x2960]
movaps xmm8, xmmword [rsp + 0x2970]
movaps xmm7, xmmword [rsp + 0x2980]
movaps xmm6, xmmword [rsp + 0x2990]
mov r15, qword [rsp + 0x29a0]
mov r14, qword [rsp + 0x29a8]
mov r12, qword [rsp + 0x29d8]
movaps xmm12, xmmword [rsp + 0x2930]
mov rsi, qword [rsp + 0x29c8]
movaps xmm13, xmmword [rsp + 0x2920]
movaps xmm14, xmmword [rsp + 0x2910]
mov rcx, qword [rbp + 0x27f0]
xor rcx, rsp
call fcn.1400d2a90
add rsp, 0x29b0
pop rbp
ret
mov ecx, 5
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
int3