Function at 0x140016b70
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
lea rbp, [rax - 0x5f]
sub rsp, 0xe0
movaps xmmword [rax - 0x18], xmm6
movaps xmmword [rax - 0x28], xmm7
movaps xmmword [rax - 0x38], xmm8
movaps xmmword [rax - 0x48], xmm9
movaps xmmword [rax - 0x58], xmm10
mov rax, qword [0x1400bb010]
xor rax, rsp
mov qword [rbp - 9], rax
xor esi, esi
mov rcx, qword [0x14022e9a8]
test rcx, rcx
je 0x140016bf1
cmp dword [0x14022e9a0], esi
je 0x140016bf1
mov qword [rsp + 0x20], rsi
lea r9d, [rsi + 8]
lea r8, [rbp - 0x29]
mov rdx, qword [0x14022f7b0]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov rcx, qword [0x14022e9a8]
test eax, eax
je 0x140016bf1
mov rdx, qword [rbp - 0x29]
jmp 0x140016bf8
mov rdx, rsi
mov qword [rbp - 0x29], rdx
test rcx, rcx
je 0x140016c28
cmp dword [0x14022e9a0], esi
je 0x140016c28
add rdx, 8
mov qword [rsp + 0x20], rsi
mov r9d, 8
lea r8, [rbp - 0x39]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
test eax, eax
je 0x140016c28
mov rbx, qword [rbp - 0x39]
jmp 0x140016c2f
mov rbx, rsi
mov qword [rbp - 0x39], rbx
test rbx, rbx
je 0x140017040
cmp byte [0x14022fba0], sil
je 0x140017040
mov ecx, dword [0x14022fbb4]
test ecx, ecx
jne 0x140016c57
mov dword [0x14022f510], esi
jmp 0x140016cb2
cmp ecx, 1
jne 0x140016c68
mov dword [0x14022f510], 7
jmp 0x140016cb2
cmp ecx, 2
jne 0x140016c79
mov dword [0x14022f510], 6
jmp 0x140016cb2
cmp ecx, 3
jne 0x140016c8a
mov dword [0x14022f510], 5
jmp 0x140016cb2
cmp ecx, 4
jne 0x140016c9b
mov dword [0x14022f510], 3
jmp 0x140016cb2
mov eax, dword [0x14022f510]
mov edx, 4
cmp ecx, 5
cmove eax, edx
mov dword [0x14022f510], eax
lea rcx, [0x14022f710]
call fcn.140016700
mov rdi, rax
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov ecx, 1
call qword [sym.imp.USER32.dll_GetSystemMetrics]
test rdi, rdi
je 0x140017040
mov rcx, qword [0x14022e9a8]
test rcx, rcx
je 0x140016d18
cmp dword [0x14022e9a0], esi
je 0x140016d18
lea rdx, [rbx + 0x90]
mov qword [rsp + 0x20], rsi
mov r9d, 0xc
lea r8, [rbp - 0x29]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov rcx, qword [0x14022e9a8]
test eax, eax
jne 0x140016d1c
mov qword [rbp - 0x29], rsi
test rcx, rcx
je 0x140016d49
cmp dword [0x14022e9a0], esi
je 0x140016d49
lea rdx, [rdi + 0x90]
mov qword [rsp + 0x20], rsi
mov r9d, 0xc
lea r8, [rbp - 0x19]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
test eax, eax
jne 0x140016d4d
mov qword [rbp - 0x19], rsi
movss xmm1, dword [rbp - 0x21]
subss xmm1, dword [rbp - 0x11]
movss xmm0, dword [rbp - 0x25]
subss xmm0, dword [rbp - 0x15]
movss xmm2, dword [rbp - 0x29]
subss xmm2, dword [rbp - 0x19]
mulss xmm2, xmm2
mulss xmm0, xmm0
addss xmm2, xmm0
mulss xmm1, xmm1
addss xmm2, xmm1
xorps xmm0, xmm0
ucomiss xmm0, xmm2
ja 0x140016d90
xorps xmm0, xmm0
sqrtss xmm0, xmm2
jmp 0x140016d98
movaps xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
xorps xmm1, xmm1
cvtss2sd xmm1, xmm0
movd xmm0, dword [0x14022fbac]
cvtdq2pd xmm0, xmm0
comisd xmm0, xmm1
jb 0x140017040
mov r8d, dword [0x14022f510]
mov rdx, rdi
lea rcx, [rbp - 0x39]
call fcn.14000d8a0
movsd xmm0, qword [rbp - 0x39]
movsd qword [rbp - 0x49], xmm0
mov eax, dword [rbp - 0x31]
mov dword [rbp - 0x41], eax
lea r8, [rbp - 0x49]
lea rdx, [rbp - 0x39]
lea rcx, [0x14022f710]
call fcn.140016480
movss xmm10, dword [0x14022fba8]
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetSystemMetrics]
cdq
sub eax, edx
sar eax, 1
mov ebx, eax
mov ecx, 1
call qword [sym.imp.USER32.dll_GetSystemMetrics]
cdq
sub eax, edx
sar eax, 1
mov edi, eax
movss xmm9, dword [rbp - 0x35]
cvtps2pd xmm0, xmm9
movd xmm1, eax
cvtdq2pd xmm1, xmm1
subsd xmm0, xmm1
movsd xmm1, qword [0x1400aa388]
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
movaps xmm7, xmm0
movss xmm8, dword [rbp - 0x39]
cvtps2pd xmm0, xmm8
movd xmm2, ebx
cvtdq2pd xmm2, xmm2
subsd xmm0, xmm2
movsd xmm1, qword [0x1400aa388]
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
addsd xmm7, xmm0
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm7
xorps xmm1, xmm1
ucomiss xmm1, xmm0
ja 0x140016e7b
xorps xmm4, xmm4
sqrtss xmm4, xmm0
jmp 0x140016e83
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movaps xmm4, xmm0
xorps xmm2, xmm2
xorps xmm7, xmm7
xorps xmm6, xmm6
movss xmm5, dword [0x1400aaab0]
ucomiss xmm8, xmm2
jp 0x140016e9c
je 0x140016ef1
movd xmm3, ebx
cvtdq2ps xmm3, xmm3
comiss xmm8, xmm3
jbe 0x140016ed2
movaps xmm7, xmm3
subss xmm7, xmm8
xorps xmm7, xmm5
divss xmm7, xmm10
movaps xmm1, xmm3
addss xmm1, xmm7
lea eax, [rbx + rbx]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
comiss xmm1, xmm0
jbe 0x140016ed2
xorps xmm7, xmm7
comiss xmm3, xmm8
jbe 0x140016ef1
movaps xmm7, xmm8
subss xmm7, xmm3
divss xmm7, xmm10
addss xmm3, xmm7
comiss xmm2, xmm3
jbe 0x140016ef1
xorps xmm7, xmm7
ucomiss xmm9, xmm2
jp 0x140016ef9
je 0x140016f4e
movd xmm3, edi
cvtdq2ps xmm3, xmm3
comiss xmm9, xmm3
jbe 0x140016f2f
movaps xmm6, xmm3
subss xmm6, xmm9
xorps xmm6, xmm5
divss xmm6, xmm10
movaps xmm1, xmm3
addss xmm1, xmm6
lea eax, [rdi + rdi]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
comiss xmm1, xmm0
jbe 0x140016f2f
xorps xmm6, xmm6
comiss xmm3, xmm9
jbe 0x140016f4e
movaps xmm6, xmm9
subss xmm6, xmm3
divss xmm6, xmm10
addss xmm3, xmm6
comiss xmm2, xmm3
jbe 0x140016f4e
xorps xmm6, xmm6
xorps xmm1, xmm1
cvtss2sd xmm1, xmm4
movd xmm0, dword [0x14022fba4]
cvtdq2pd xmm0, xmm0
addsd xmm0, qword [0x1400aa360]
comisd xmm0, xmm1
jb 0x140017040
mov ecx, dword [0x14022fbb8]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
bt ax, 0xf
jae 0x140017040
mov qword [rsp + 0x30], rsi
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x20], 3
xor r9d, r9d
mov edx, 0xc0000000
lea r8d, [r9 + 3]
lea rcx, str..Oykyo
call qword [sym.imp.KERNEL32.dll_CreateFileA]
mov rbx, rax
mov qword [rbp - 0x39], rax
cmp rax, 0xffffffffffffffff
jne 0x140016fd5
lea rdx, [0x1400a1334]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
call fcn.14000a760
nop
cmp byte [0x14022fba2], 0
je 0x140016fed
cvttss2si edx, xmm6
cvttss2si ecx, xmm7
call fcn.14000e7b0
jmp 0x140017031
cmp rbx, 0xffffffffffffffff
je 0x140017031
cvttss2si eax, xmm7
mov dword [rbp - 0x39], eax
cvttss2si eax, xmm6
mov dword [rbp - 0x35], eax
mov word [rbp - 0x31], si
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x30], rsi
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], rsi
mov r9d, 0xc
lea r8, [rbp - 0x39]
mov edx, 0x2676d8
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
nop
cmp rbx, 0xffffffffffffffff
je 0x140017040
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rbp - 9]
xor rcx, rsp
call fcn.1400996f0
lea r11, [rsp + 0xe0]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
mov rsp, r11
pop rbp
ret