Function at 0x1400014e0
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 0x20], rsi
push rbp
push r14
push r15
lea rbp, [rsp - 0x47]
sub rsp, 0xe0
movaps xmmword [rsp + 0x90], xmm10
mov rax, qword [0x14005e040]
xor rax, rsp
mov qword [rbp - 0x29], rax
cmp byte [0x14005fd82], 1
movss xmm10, dword [0x14005e0c8]
mov r15, qword [0x14005fd38]
mov r14, qword [0x14005fd20]
jne 0x14000154c
movzx eax, byte [0x14005e0cc]
test al, al
je 0x140001593
cmp al, 1
jne 0x14000154c
mov ecx, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x140001593
xor esi, esi
lea rdx, [r15 + 0x3fb5447]
lea r8, [0x14005e0d4]
mov qword [rsp + 0x20], rsi
mov rcx, r14
lea r9d, [rsi + 4]
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
lea rdx, [r15 + 0x3fb5454]
mov qword [rsp + 0x20], rsi
lea r9d, [rsi + 4]
mov rcx, r14
lea r8, [0x14005e0c4]
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
jmp 0x140001d1e
mov rdx, qword [0x14005fe20]
xor esi, esi
sub rdx, qword [0x14005fe18]
xorps xmm0, xmm0
mov qword [rsp + 0x100], rbx
mov qword [rsp + 0x108], rdi
mov qword [rsp + 0x110], r12
movaps xmmword [rsp + 0xd0], xmm6
movaps xmmword [rsp + 0xc0], xmm7
sar rdx, 2
movaps xmmword [rsp + 0xb0], xmm8
movaps xmmword [rsp + 0xa0], xmm9
mov qword [rbp - 0x59], rsi
movdqu xmmword [rbp - 0x69], xmm0
test rdx, rdx
je 0x140001627
lea rcx, [rbp - 0x69]
call fcn.140001e90
mov rdx, qword [0x14005fe18]
mov rbx, qword [0x14005fe20]
mov rdi, qword [rbp - 0x69]
sub rbx, rdx
mov r8, rbx
mov rcx, rdi
call sub.VCRUNTIME140.dll_memmove
sar rbx, 2
lea rax, [rdi + rbx*4]
mov qword [rbp - 0x61], rax
lea r9, [rbp - 0x69]
mov r8, r14
mov edx, 0x5a741d8
mov rcx, r15
call fcn.140002530
mov r9d, 4
mov qword [0x14005fd10], rax
lea r8, [0x14005fcf0]
mov qword [rsp + 0x20], rsi
mov rdx, rax
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov rdx, qword [0x14005fd10]
lea r8, [0x14005fcfc]
add rdx, 4
mov qword [rsp + 0x20], rsi
mov r9d, 4
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov rdx, qword [0x14005fd10]
lea r8, [0x14005fcf8]
add rdx, 8
mov qword [rsp + 0x20], rsi
mov r9d, 4
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov rax, qword [0x14005fd10]
mov r12d, 0x80
movss xmm6, dword [0x1400549b4]
add rax, 0xffffffffffffffe0
movsd xmm9, qword [0x1400548c0]
mov rdi, rsi
movss xmm8, dword [0x140054934]
mov ebx, r12d
movss xmm7, dword [0x140054880]
mov qword [0x14005fd08], rax
nop dword [rax]
lea rdx, [rax + 0x18]
mov qword [rsp + 0x20], rsi
mov r9d, 4
lea r8, [0x14005fce0]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
movss xmm1, dword [0x14005fce0]
cvtps2pd xmm0, xmm1
comisd xmm0, xmm9
jbe 0x14000182a
comiss xmm8, xmm1
jbe 0x14000182a
ucomiss xmm1, xmm7
jp 0x140001736
je 0x140001743
cmp byte [0x14005e0cd], sil
jne 0x14000182a
mov rdx, qword [0x14005fd08]
lea r8, [0x14005fd18]
mov r9d, 4
mov qword [rsp + 0x20], rsi
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov rdx, qword [0x14005fd08]
lea r8, [0x14005fce4]
add rdx, 4
mov qword [rsp + 0x20], rsi
mov r9d, 4
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov rdx, qword [0x14005fd08]
lea r8, [0x14005fcec]
add rdx, 8
mov qword [rsp + 0x20], rsi
mov r9d, 4
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
movss xmm0, dword [0x14005fcec]
subss xmm0, dword [0x14005fcf8]
movss xmm1, dword [0x14005fd18]
movss xmm2, dword [0x14005fce4]
subss xmm2, dword [0x14005fcfc]
subss xmm1, dword [0x14005fcf0]
mulss xmm0, xmm0
mulss xmm2, xmm2
mulss xmm1, xmm1
addss xmm2, xmm1
addss xmm2, xmm0
xorps xmm0, xmm0
ucomiss xmm0, xmm2
ja 0x140001806
xorps xmm0, xmm0
sqrtss xmm0, xmm2
jmp 0x14000180e
movaps xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
comiss xmm6, xmm0
movss dword [0x14005fce8], xmm0
jbe 0x14000182a
mov rax, qword [0x14005fd08]
movaps xmm6, xmm0
mov rdi, rax
jmp 0x140001831
mov rax, qword [0x14005fd08]
sub rax, 0x20
mov qword [0x14005fd08], rax
sub rbx, 1
jne 0x1400016f0
mov rax, qword [0x14005fd10]
add rax, 0x20
mov qword [0x14005fd08], rax
nop dword [rax + rax]
lea rdx, [rax + 0x18]
mov qword [rsp + 0x20], rsi
mov r9d, 4
lea r8, [0x14005fce0]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
movss xmm1, dword [0x14005fce0]
cvtps2pd xmm0, xmm1
comisd xmm0, xmm9
jbe 0x14000199a
comiss xmm8, xmm1
jbe 0x14000199a
ucomiss xmm1, xmm7
jp 0x1400018a6
je 0x1400018b3
cmp byte [0x14005e0cd], sil
jne 0x14000199a
mov rdx, qword [0x14005fd08]
lea r8, [0x14005fd18]
mov r9d, 4
mov qword [rsp + 0x20], rsi
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov rdx, qword [0x14005fd08]
lea r8, [0x14005fce4]
add rdx, 4
mov qword [rsp + 0x20], rsi
mov r9d, 4
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov rdx, qword [0x14005fd08]
lea r8, [0x14005fcec]
add rdx, 8
mov qword [rsp + 0x20], rsi
mov r9d, 4
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
movss xmm0, dword [0x14005fcec]
subss xmm0, dword [0x14005fcf8]
movss xmm1, dword [0x14005fd18]
movss xmm2, dword [0x14005fce4]
subss xmm2, dword [0x14005fcfc]
subss xmm1, dword [0x14005fcf0]
mulss xmm0, xmm0
mulss xmm2, xmm2
mulss xmm1, xmm1
addss xmm2, xmm1
addss xmm2, xmm0
xorps xmm0, xmm0
ucomiss xmm0, xmm2
ja 0x140001976
xorps xmm0, xmm0
sqrtss xmm0, xmm2
jmp 0x14000197e
movaps xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
comiss xmm6, xmm0
movss dword [0x14005fce8], xmm0
jbe 0x14000199a
mov rax, qword [0x14005fd08]
movaps xmm6, xmm0
mov rdi, rax
jmp 0x1400019a1
mov rax, qword [0x14005fd08]
add rax, 0x20
mov qword [0x14005fd08], rax
sub r12, 1
jne 0x140001860
mov r12, qword [rsp + 0x110]
lea r8, [rbp - 0x49]
mov r9d, 4
mov qword [rsp + 0x20], rsi
mov rdx, rdi
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
lea rdx, [rdi + 4]
mov qword [rsp + 0x20], rsi
mov r9d, 4
lea r8, [rbp - 0x45]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
lea rdx, [rdi + 8]
mov qword [rsp + 0x20], rsi
mov r9d, 4
lea r8, [rbp - 0x41]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
movss xmm0, dword [rbp - 0x41]
subss xmm0, dword [0x14005fcf8]
movss xmm1, dword [rbp - 0x49]
movss xmm2, dword [rbp - 0x45]
subss xmm2, dword [0x14005fcfc]
subss xmm1, dword [0x14005fcf0]
mulss xmm0, xmm0
mulss xmm2, xmm2
mulss xmm1, xmm1
addss xmm2, xmm1
addss xmm2, xmm0
xorps xmm0, xmm0
ucomiss xmm0, xmm2
ja 0x140001a5d
xorps xmm0, xmm0
sqrtss xmm0, xmm2
jmp 0x140001a65
movaps xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
comiss xmm0, xmm10
lea rdx, [r15 + 0x3fb5447]
mov qword [rsp + 0x20], rsi
mov r9d, 4
mov rcx, r14
movss dword [0x14005fce8], xmm0
jbe 0x140001aa8
lea r8, [0x14005e0d4]
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
lea r8, [0x14005e0c4]
lea rdx, [r15 + 0x3fb5454]
jmp 0x140001cd8
lea r8, [0x14005e0d0]
movaps xmmword [rsp + 0x80], xmm12
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
mov r9d, 4
mov qword [rsp + 0x20], rsi
lea r8, [0x14005e0d0]
mov rcx, r14
lea rdx, [r15 + 0x3fb5454]
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
movss xmm8, dword [rbp - 0x49]
movss xmm6, dword [rbp - 0x41]
subss xmm8, dword [0x14005fcf0]
subss xmm6, dword [0x14005fcf8]
movss xmm10, dword [rbp - 0x45]
subss xmm10, dword [0x14005fcfc]
movaps xmm0, xmm8
andps xmm0, xmmword [0x140054a70]
movaps xmm1, xmm6
andps xmm1, xmmword [0x140054a70]
divss xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_atanf
xorps xmm12, xmm12
movaps xmm7, xmm0
comiss xmm12, xmm6
jbe 0x140001b4d
movsd xmm1, qword [0x1400548e8]
xorps xmm0, xmm0
cvtss2sd xmm0, xmm7
subsd xmm1, xmm0
cvtpd2ps xmm7, xmm1
comiss xmm8, xmm12
jbe 0x140001b5a
xorps xmm7, xmmword [0x140054aa0]
mulss xmm6, xmm6
xorps xmm0, xmm0
mulss xmm8, xmm8
movaps xmm9, xmm10
andps xmm9, xmmword [0x140054a70]
addss xmm6, xmm8
ucomiss xmm0, xmm6
ja 0x140001b85
xorps xmm0, xmm0
sqrtss xmm0, xmm6
jmp 0x140001b8d
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
divss xmm9, xmm0
movaps xmm0, xmm9
call sub.api_ms_win_crt_math_l1_1_0.dll_atanf
comiss xmm10, xmm12
movaps xmm12, xmmword [rsp + 0x80]
jbe 0x140001bb1
xorps xmm0, xmmword [0x140054aa0]
mov rdx, qword [0x14005fe38]
xorps xmm1, xmm1
sub rdx, qword [0x14005fe30]
cvtss2sd xmm0, xmm0
sar rdx, 2
mov qword [rbp - 0x59], rsi
cvtss2sd xmm1, xmm7
mulsd xmm0, qword [0x140054908]
mulsd xmm1, qword [0x140054908]
cvtsd2ss xmm0, xmm0
movss dword [rbp - 0x31], xmm0
cvtpd2ps xmm0, xmm1
movss dword [rbp - 0x39], xmm0
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x69], xmm0
test rdx, rdx
je 0x140001c36
lea rcx, [rbp - 0x69]
call fcn.140001e90
mov rdx, qword [0x14005fe30]
mov rbx, qword [0x14005fe38]
mov rdi, qword [rbp - 0x69]
sub rbx, rdx
mov r8, rbx
mov rcx, rdi
call sub.VCRUNTIME140.dll_memmove
sar rbx, 2
lea rax, [rdi + rbx*4]
mov qword [rbp - 0x61], rax
lea r9, [rbp - 0x69]
mov r8, r14
mov edx, 0x5a741d8
mov rcx, r15
call fcn.140002530
mov rdx, rax
mov qword [rsp + 0x20], rsi
mov r9d, 4
lea r8, [rbp - 0x39]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
mov rdx, qword [0x14005fe50]
xorps xmm0, xmm0
sub rdx, qword [0x14005fe48]
sar rdx, 2
mov qword [rbp - 0x59], rsi
movdqu xmmword [rbp - 0x69], xmm0
test rdx, rdx
je 0x140001cbd
lea rcx, [rbp - 0x69]
call fcn.140001e90
mov rdx, qword [0x14005fe48]
mov rbx, qword [0x14005fe50]
mov rdi, qword [rbp - 0x69]
sub rbx, rdx
mov r8, rbx
mov rcx, rdi
call sub.VCRUNTIME140.dll_memmove
sar rbx, 2
lea rax, [rdi + rbx*4]
mov qword [rbp - 0x61], rax
lea r9, [rbp - 0x69]
mov r8, r14
mov edx, 0x5a741d8
mov rcx, r15
call fcn.140002530
mov rdx, rax
lea r8, [rbp - 0x31]
mov r9d, 4
mov qword [rsp + 0x20], rsi
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
movaps xmm8, xmmword [rsp + 0xb0]
movaps xmm7, xmmword [rsp + 0xc0]
movaps xmm6, xmmword [rsp + 0xd0]
mov rdi, qword [rsp + 0x108]
mov rbx, qword [rsp + 0x100]
movaps xmm9, xmmword [rsp + 0xa0]
mov rcx, qword [rbp - 0x29]
xor rcx, rsp
call fcn.1400436c0
lea r11, [rsp + 0xe0]
mov rsi, qword [r11 + 0x38]
movaps xmm10, xmmword [r11 - 0x50]
mov rsp, r11
pop r15
pop r14
pop rbp
ret