Function at 0x14004f840
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
push rdi
sub rsp, 0x90
movaps xmmword [rax - 0x18], xmm6
movaps xmmword [rax - 0x28], xmm7
movaps xmmword [rax - 0x38], xmm8
movaps xmmword [rax - 0x48], xmm9
call fcn.14004f360
xor r8d, r8d
lea rcx, [rsp + 0x30]
mov rdx, rax
mov rdi, rax
call fcn.14004c220
mov ecx, dword [rsp + 0x38]
lea rdx, [rsp + 0x40]
movsd xmm0, qword [rsp + 0x30]
mov dword [rsp + 0x48], ecx
lea rcx, [rsp + 0xa0]
movsd qword [rsp + 0x40], xmm0
call fcn.14004c040
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetSystemMetrics]
movss xmm6, dword [rsp + 0xa4]
mov ecx, 1
sub eax, 5
cdq
sub eax, edx
sar eax, 1
mov ebx, eax
cvtps2pd xmm6, xmm6
call qword [sym.imp.USER32.dll_GetSystemMetrics]
movsd xmm9, qword [0x1400b6688]
sub eax, 5
cdq
sub eax, edx
sar eax, 1
movd xmm1, eax
cvtdq2pd xmm1, xmm1
subsd xmm6, xmm1
movaps xmm1, xmm9
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
movaps xmm6, xmm0
movd xmm1, ebx
movss xmm0, dword [rsp + 0xa0]
cvtdq2pd xmm1, xmm1
cvtps2pd xmm0, xmm0
subsd xmm0, xmm1
movaps xmm1, xmm9
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
addsd xmm6, xmm0
xorps xmm1, xmm1
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm6
ucomiss xmm1, xmm0
ja 0x14004f933
xorps xmm8, xmm8
sqrtss xmm8, xmm0
jmp 0x14004f93c
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movaps xmm8, xmm0
mov rcx, qword [0x140142ec0]
lea rdx, [rdi + 0x90]
xor ebx, ebx
lea r8, [rsp + 0x40]
mov qword [rsp + 0x20], rbx
lea r9d, [rbx + 0xc]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov rdx, qword [0x140141e00]
lea r9d, [rbx + 0xc]
mov rcx, qword [0x140142ec0]
lea r8, [rsp + 0x30]
movss xmm7, dword [rsp + 0x40]
add rdx, 0x90
movss xmm6, dword [rsp + 0x44]
mov qword [rsp + 0x20], rbx
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
movss xmm0, dword [rsp + 0x34]
movaps xmm1, xmm9
movss xmm2, dword [rsp + 0x30]
subss xmm0, xmm6
subss xmm2, xmm7
cvtps2pd xmm6, xmm0
cvtps2pd xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
movaps xmm7, xmm0
movaps xmm1, xmm9
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
addsd xmm7, xmm0
movaps xmm1, xmm9
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
addsd xmm7, xmm0
xorps xmm1, xmm1
ucomisd xmm1, xmm7
ja 0x14004f9ed
xorps xmm6, xmm6
sqrtsd xmm6, xmm7
jmp 0x14004f9f8
movaps xmm0, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrt
movaps xmm6, xmm0
cmp byte [0x14014264c], bl
mulsd xmm6, qword [0x1400b6650]
je 0x14004fa2b
xor edx, edx
mov qword [rsp + 0x20], rbx
xor r9d, r9d
xor r8d, r8d
lea ecx, [rdx + 4]
call qword [sym.imp.USER32.dll_mouse_event]
mov qword [0x140141e40], rbx
mov byte [0x14014264c], bl
movss xmm0, dword [0x1400ee408]
xorps xmm1, xmm1
cvtps2pd xmm0, xmm0
cvtss2sd xmm1, xmm8
addsd xmm0, qword [0x1400b6638]
comisd xmm0, xmm1
jb 0x14004faae
movsd xmm0, qword [0x1400b66d0]
comisd xmm0, xmm6
jb 0x14004fa98
mov ecx, dword [0x140142638]
call qword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x14004faae
xor edx, edx
mov byte [0x14014264c], 1
xor r9d, r9d
mov qword [0x140141e40], rdi
xor r8d, r8d
mov qword [rsp + 0x20], rbx
lea ecx, [rdx + 2]
call qword [sym.imp.USER32.dll_mouse_event]
mov byte [0x14014264c], 1
jmp 0x14004faae
xor edx, edx
mov qword [rsp + 0x20], rbx
xor r9d, r9d
xor r8d, r8d
lea ecx, [rdx + 4]
call qword [sym.imp.USER32.dll_mouse_event]
movaps xmm7, xmmword [rsp + 0x70]
lea r11, [rsp + 0x90]
mov rbx, qword [r11 + 0x18]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
mov rsp, r11
pop rdi
ret