Function at 0x140002180
Capabilities:
Log keystrokes via polling

Disassembly:
mov r11, rsp
push rbp
push rbx
push rsi
push rdi
push r14
lea rbp, [r11 - 0x5f]
sub rsp, 0xd0
movaps xmmword [r11 - 0x38], xmm6
movaps xmmword [r11 - 0x48], xmm7
mov rax, qword [0x140079040]
xor rax, rsp
mov qword [rbp - 0x31], rax
mov rdi, rcx
mov qword [r11 + 0x10], r12
xor ecx, ecx
mov qword [r11 + 0x18], r15
call qword [sym.imp.USER32.dll_GetSystemMetrics]
cdq
mov ecx, 1
sub eax, edx
sar eax, 1
mov r14d, eax
call qword [sym.imp.USER32.dll_GetSystemMetrics]
cdq
mov rcx, rdi
sub eax, edx
sar eax, 1
mov r15d, eax
call fcn.140001b70
mov rcx, qword gs:[0x58]
mov rsi, rax
mov r12d, 4
mov rbx, qword [rcx]
mov ecx, dword [r12 + rbx]
cmp dword [0x1400ed9e8], ecx
jle 0x140002255
lea rcx, [0x1400ed9e8]
call fcn.140061f20
cmp dword [0x1400ed9e8], 0xffffffff
jne 0x140002255
mov ecx, 1
call qword [sym.imp.USER32.dll_GetSystemMetrics]
xor ecx, ecx
movd xmm6, eax
cvtdq2ps xmm6, xmm6
call qword [sym.imp.USER32.dll_GetSystemMetrics]
lea rcx, [0x1400ed9e8]
movss dword [0x1400ed9f4], xmm6
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [0x1400ed9f0], xmm0
call fcn.140061eb4
xor r9d, r9d
lea rdx, [rbp - 0x69]
mov r8, rsi
call fcn.140061a00
mov eax, dword [r12 + rbx]
cmp dword [0x1400ed9e8], eax
jle 0x1400022c2
lea rcx, [0x1400ed9e8]
call fcn.140061f20
cmp dword [0x1400ed9e8], 0xffffffff
jne 0x1400022c2
mov ecx, 1
call qword [sym.imp.USER32.dll_GetSystemMetrics]
xor ecx, ecx
movd xmm6, eax
cvtdq2ps xmm6, xmm6
call qword [sym.imp.USER32.dll_GetSystemMetrics]
lea rcx, [0x1400ed9e8]
movss dword [0x1400ed9f4], xmm6
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [0x1400ed9f0], xmm0
call fcn.140061eb4
movsd xmm0, qword [rbp - 0x69]
lea r8, [rbp - 0x49]
mov esi, dword [rbp - 0x61]
lea rdx, [rbp - 0x39]
movsd qword [rbp - 0x49], xmm0
mov dword [rbp - 0x41], esi
call fcn.140061b40
movss xmm0, dword [rbp - 0x35]
movd xmm1, r15d
cvtdq2pd xmm1, xmm1
cvtps2pd xmm0, xmm0
subsd xmm0, xmm1
movsd xmm1, qword [0x14006ee28]
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
movsd xmm1, qword [0x14006ee28]
movaps xmm7, xmm0
movss xmm0, dword [rbp - 0x39]
movd xmm2, r14d
cvtps2pd xmm0, xmm0
cvtdq2pd xmm2, xmm2
subsd xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
mov r15, qword [rsp + 0x110]
addsd xmm7, xmm0
xorps xmm0, xmm0
xorps xmm1, xmm1
cvtsd2ss xmm0, xmm7
ucomiss xmm1, xmm0
ja 0x14000234a
xorps xmm6, xmm6
sqrtss xmm6, xmm0
jmp 0x140002352
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movaps xmm6, xmm0
mov eax, dword [r12 + rbx]
xor r14d, r14d
cmp dword [0x1400ed3d0], eax
mov r12, qword [rsp + 0x108]
jle 0x140002391
lea rcx, [0x1400ed3d0]
call fcn.140061f20
cmp dword [0x1400ed3d0], 0xffffffff
jne 0x140002391
lea rcx, [0x1400ed3d0]
mov dword [0x1400ed3c8], r14d
call fcn.140061eb4
mov ecx, dword [0x1400ed3cc]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x140002605
movd xmm0, dword [rdi]
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm6
jbe 0x140002605
mov rdx, qword [0x1400ed460]
lea r8, [rbp - 0x39]
add rdx, qword [0x1400ed480]
mov r9d, 8
mov rcx, qword [0x1400ed470]
movaps xmmword [rsp + 0xa0], xmm8
movaps xmmword [rsp + 0x90], xmm9
movaps xmmword [rsp + 0x80], xmm10
movaps xmmword [rsp + 0x70], xmm11
mov qword [rsp + 0x20], r14
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov rbx, qword [rbp - 0x39]
lea r8, [rbp - 0x49]
mov rcx, qword [0x1400ed470]
mov r9d, 0xc
mov qword [rsp + 0x20], r14
lea rdx, [rbx + 0x60]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
movss xmm0, dword [rbp - 0x41]
movss xmm1, dword [rbp - 0x45]
movss xmm2, dword [rbp - 0x49]
movss xmm9, dword [rbp - 0x65]
movss xmm10, dword [rbp - 0x69]
subss xmm1, xmm9
subss xmm2, xmm10
movd xmm11, esi
subss xmm0, xmm11
mulss xmm1, xmm1
mulss xmm2, xmm2
mulss xmm0, xmm0
addss xmm2, xmm1
addss xmm2, xmm0
xorps xmm0, xmm0
ucomiss xmm0, xmm2
ja 0x140002479
xorps xmm6, xmm6
sqrtss xmm6, xmm2
jmp 0x140002484
movaps xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movaps xmm6, xmm0
mov rcx, qword [0x1400ed470]
lea r8, [rbp - 0x59]
mov r9d, 0xc
mov qword [rsp + 0x20], r14
lea rdx, [rbx + 0x3d0]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
movss xmm8, dword [rbp - 0x59]
xorps xmm1, xmm1
ucomiss xmm8, xmm1
movss xmm7, dword [rbp - 0x55]
jp 0x140002510
jne 0x140002510
ucomiss xmm7, xmm1
jp 0x140002510
jne 0x140002510
movss xmm0, dword [rbp - 0x51]
ucomiss xmm0, xmm1
jp 0x140002510
jne 0x140002510
mov rcx, qword [0x1400ed470]
lea rdx, [rbx + 0x40]
mov r9d, 0xc
mov qword [rsp + 0x20], r14
lea r8, [rbp - 0x69]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
movss xmm0, dword [rbp - 0x61]
movss xmm8, dword [rbp - 0x69]
movss xmm7, dword [rbp - 0x65]
movss dword [rbp - 0x51], xmm0
movss dword [rbp - 0x59], xmm8
movss dword [rbp - 0x55], xmm7
subss xmm10, dword [rbp - 0x49]
subss xmm9, dword [rbp - 0x45]
subss xmm11, dword [rbp - 0x41]
mov rcx, qword [0x1400ed470]
lea r8, [rbp - 0x69]
movaps xmm0, xmm8
mov qword [rsp + 0x20], r14
divss xmm10, xmm6
mov eax, 0x66666667
mov r9d, 0xc
imul dword [0x1400790bc]
subss xmm0, xmm10
divss xmm9, xmm6
sar edx, 1
mov eax, edx
inc edx
shr eax, 0x1f
add eax, edx
lea rdx, [rbx + 0x3d0]
divss xmm11, xmm6
movss xmm6, dword [rbp - 0x51]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
divss xmm0, xmm1
subss xmm8, xmm0
movaps xmm0, xmm7
subss xmm0, xmm9
movss dword [rbp - 0x69], xmm8
divss xmm0, xmm1
subss xmm7, xmm0
movaps xmm0, xmm6
subss xmm0, xmm11
movss dword [rbp - 0x65], xmm7
subss xmm6, xmm0
movss dword [rbp - 0x61], xmm6
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
mov rcx, qword [0x1400ed470]
lea rdx, [rbx + 0x40]
mov r9d, 0xc
movss dword [rbp - 0x69], xmm8
lea r8, [rbp - 0x69]
movss dword [rbp - 0x65], xmm7
movss dword [rbp - 0x61], xmm6
mov qword [rsp + 0x20], r14
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
movaps xmm11, xmmword [rsp + 0x70]
movaps xmm10, xmmword [rsp + 0x80]
movaps xmm9, xmmword [rsp + 0x90]
movaps xmm8, xmmword [rsp + 0xa0]
mov rcx, qword [rbp - 0x31]
xor rcx, rsp
call fcn.140061de0
movaps xmm6, xmmword [rsp + 0xc0]
movaps xmm7, xmmword [rsp + 0xb0]
add rsp, 0xd0
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret