Function at 0x140016320
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rbp
lea rbp, [rsp - 0x57]
sub rsp, 0xe0
mov rax, qword [0x1400ba040]
xor rax, rsp
mov qword [rbp - 9], rax
mov rcx, qword [0x14022d9b0]
xor esi, esi
test rcx, rcx
je 0x140016388
cmp dword [0x14022d804], esi
je 0x140016388
mov rdx, qword [0x14022e7b0]
lea r8, [rbp - 0x49]
mov r9d, 8
mov qword [rsp + 0x20], rsi
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov rcx, qword [0x14022d9b0]
test eax, eax
je 0x140016388
mov rdx, qword [rbp - 0x49]
jmp 0x14001638f
mov rdx, rsi
mov qword [rbp - 0x49], rdx
test rcx, rcx
je 0x1400163bf
cmp dword [0x14022d804], esi
je 0x1400163bf
add rdx, 8
mov qword [rsp + 0x20], rsi
mov r9d, 8
lea r8, [rbp - 0x59]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
test eax, eax
je 0x1400163bf
mov rbx, qword [rbp - 0x59]
jmp 0x1400163c6
mov rbx, rsi
mov qword [rbp - 0x59], rbx
test rbx, rbx
je 0x1400167f0
cmp byte [0x14022eba0], sil
je 0x1400167f0
mov eax, dword [0x14022ebb4]
mov qword [rsp + 0xf0], rdi
test eax, eax
jne 0x1400163f6
mov dword [0x14022da18], esi
jmp 0x140016449
cmp eax, 1
jne 0x140016407
mov dword [0x14022da18], 7
jmp 0x140016449
cmp eax, 2
jne 0x140016418
mov dword [0x14022da18], 6
jmp 0x140016449
cmp eax, 3
jne 0x140016429
mov dword [0x14022da18], 5
jmp 0x140016449
cmp eax, 4
jne 0x14001643a
mov dword [0x14022da18], 3
jmp 0x140016449
cmp eax, 5
jne 0x140016449
mov dword [0x14022da18], 4
lea rcx, [0x14022e710]
call fcn.140015eb0
xor ecx, ecx
mov rdi, rax
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov ecx, 1
call qword [sym.imp.USER32.dll_GetSystemMetrics]
test rdi, rdi
je 0x1400167e8
mov rcx, qword [0x14022d9b0]
test rcx, rcx
je 0x1400164af
cmp dword [0x14022d804], esi
je 0x1400164af
lea rdx, [rbx + 0x90]
mov qword [rsp + 0x20], rsi
mov r9d, 0xc
lea r8, [rbp - 0x49]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov rcx, qword [0x14022d9b0]
test eax, eax
jne 0x1400164b3
mov qword [rbp - 0x49], rsi
test rcx, rcx
je 0x1400164e0
cmp dword [0x14022d804], esi
je 0x1400164e0
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 0x1400164e4
mov qword [rbp - 0x19], rsi
movss xmm0, dword [rbp - 0x41]
subss xmm0, dword [rbp - 0x11]
movss xmm1, dword [rbp - 0x49]
movss xmm2, dword [rbp - 0x45]
subss xmm2, dword [rbp - 0x15]
subss xmm1, dword [rbp - 0x19]
mulss xmm0, xmm0
mulss xmm2, xmm2
mulss xmm1, xmm1
addss xmm2, xmm1
addss xmm2, xmm0
xorps xmm0, xmm0
ucomiss xmm0, xmm2
ja 0x140016527
xorps xmm0, xmm0
sqrtss xmm0, xmm2
jmp 0x14001652f
movaps xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
xorps xmm1, xmm1
cvtss2sd xmm1, xmm0
movd xmm0, dword [0x14022ebac]
cvtdq2pd xmm0, xmm0
comisd xmm0, xmm1
jb 0x1400167e8
mov r8d, dword [0x14022da18]
lea rcx, [rbp - 0x59]
movaps xmmword [rsp + 0xd0], xmm6
mov rdx, rdi
movaps xmmword [rsp + 0xc0], xmm7
movaps xmmword [rsp + 0xb0], xmm8
movaps xmmword [rsp + 0xa0], xmm9
movaps xmmword [rsp + 0x90], xmm10
call fcn.14000d690
movsd xmm0, qword [rbp - 0x59]
lea r8, [rbp - 0x39]
mov eax, dword [rbp - 0x51]
lea rdx, [rbp - 0x59]
lea rcx, [0x14022e710]
movsd qword [rbp - 0x39], xmm0
mov dword [rbp - 0x31], eax
call fcn.140015c80
movss xmm10, dword [0x14022eba8]
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetSystemMetrics]
cdq
mov ecx, 1
sub eax, edx
sar eax, 1
mov ebx, eax
call qword [sym.imp.USER32.dll_GetSystemMetrics]
movss xmm8, dword [rbp - 0x55]
cdq
sub eax, edx
sar eax, 1
cvtps2pd xmm0, xmm8
mov edi, eax
movd xmm1, eax
cvtdq2pd xmm1, xmm1
subsd xmm0, xmm1
movsd xmm1, qword [0x1400a9300]
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
movss xmm9, dword [rbp - 0x59]
movaps xmm7, xmm0
movsd xmm1, qword [0x1400a9300]
movd xmm2, ebx
cvtdq2pd xmm2, xmm2
cvtps2pd xmm0, xmm9
subsd xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
addsd xmm7, xmm0
xorps xmm1, xmm1
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm7
ucomiss xmm1, xmm0
ja 0x14001663d
xorps xmm4, xmm4
sqrtss xmm4, xmm0
jmp 0x140016645
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movaps xmm4, xmm0
movss xmm5, dword [0x1400a9a50]
xorps xmm2, xmm2
ucomiss xmm9, xmm2
xorps xmm7, xmm7
xorps xmm6, xmm6
jp 0x14001665e
je 0x1400166b3
movd xmm3, ebx
cvtdq2ps xmm3, xmm3
comiss xmm9, xmm3
jbe 0x140016694
movaps xmm7, xmm3
lea eax, [rbx + rbx]
subss xmm7, xmm9
movd xmm0, eax
movaps xmm1, xmm3
cvtdq2ps xmm0, xmm0
xorps xmm7, xmm5
divss xmm7, xmm10
addss xmm1, xmm7
comiss xmm1, xmm0
jbe 0x140016694
xorps xmm7, xmm7
comiss xmm3, xmm9
jbe 0x1400166b3
movaps xmm7, xmm9
subss xmm7, xmm3
divss xmm7, xmm10
addss xmm3, xmm7
comiss xmm2, xmm3
jbe 0x1400166b3
xorps xmm7, xmm7
ucomiss xmm8, xmm2
movaps xmm9, xmmword [rsp + 0xa0]
jp 0x1400166c4
je 0x140016719
movd xmm3, edi
cvtdq2ps xmm3, xmm3
comiss xmm8, xmm3
jbe 0x1400166fa
movaps xmm6, xmm3
lea eax, [rdi + rdi]
subss xmm6, xmm8
movd xmm0, eax
movaps xmm1, xmm3
cvtdq2ps xmm0, xmm0
xorps xmm6, xmm5
divss xmm6, xmm10
addss xmm1, xmm6
comiss xmm1, xmm0
jbe 0x1400166fa
xorps xmm6, xmm6
comiss xmm3, xmm8
jbe 0x140016719
movaps xmm6, xmm8
subss xmm6, xmm3
divss xmm6, xmm10
addss xmm3, xmm6
comiss xmm2, xmm3
jbe 0x140016719
xorps xmm6, xmm6
movd xmm0, dword [0x14022eba4]
xorps xmm1, xmm1
movaps xmm10, xmmword [rsp + 0x90]
movaps xmm8, xmmword [rsp + 0xb0]
cvtdq2pd xmm0, xmm0
cvtss2sd xmm1, xmm4
addsd xmm0, qword [0x1400a92d8]
comisd xmm0, xmm1
jb 0x1400167d8
mov ecx, dword [0x14022ebb8]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x1400167d8
call qword [sym.imp.interception.dll_interception_create_context]
mov rdx, qword [sym.imp.interception.dll_interception_is_mouse]
mov r8d, 0x1000
mov rcx, rax
mov rbx, rax
call qword [sym.imp.interception.dll_interception_set_filter]
cmp byte [0x14022eba2], sil
cvttss2si eax, xmm7
cvttss2si ecx, xmm6
je 0x14001679c
mov edx, ecx
mov ecx, eax
call fcn.14000e620
jmp 0x1400167ca
mov dword [rbp - 0x2d], ecx
mov rcx, rbx
mov dword [rbp - 0x39], esi
mov word [rbp - 0x35], si
mov dword [rbp - 0x31], eax
mov dword [rbp - 0x29], esi
call qword [sym.imp.interception.dll_interception_wait]
mov r9d, 1
lea r8, [rbp - 0x39]
mov edx, eax
mov rcx, rbx
call qword [sym.imp.interception.dll_interception_send]
test rbx, rbx
je 0x1400167d8
mov rcx, rbx
call qword [sym.imp.interception.dll_interception_destroy_context]
movaps xmm6, xmmword [rsp + 0xd0]
movaps xmm7, xmmword [rsp + 0xc0]
mov rdi, qword [rsp + 0xf0]
mov rcx, qword [rbp - 9]
xor rcx, rsp
call fcn.140098830
lea r11, [rsp + 0xe0]
mov rbx, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rsp, r11
pop rbp
ret