Function at 0x14002e240
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
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0xe0
movaps xmmword [rax - 0x38], xmm6
mov rax, qword [0x1401b66f8]
xor rax, rsp
mov qword [rbp + 0x17], rax
movdqa xmm0, xmmword [0x140198bd0]
movdqa xmmword [rbp - 0x69], xmm0
movdqa xmm1, xmmword [0x140198c30]
movdqa xmmword [rbp - 0x59], xmm1
movdqa xmm0, xmmword [0x140198c40]
movdqa xmmword [rbp - 0x49], xmm0
movdqa xmm1, xmmword [0x140198c50]
movdqa xmmword [rbp - 0x39], xmm1
mov dword [rbp - 0x29], 0x9f
mov dword [rbp - 0x25], 0xa4
xorps xmm0, xmm0
movdqu xmmword [rbp - 1], xmm0
xor r15d, r15d
mov qword [rbp + 0xf], r15
lea edx, [r15 + 0x12]
call fcn.14000c3e0
mov qword [rbp - 1], rax
mov qword [rbp + 7], rax
lea rbx, [rax + 0x48]
mov qword [rbp + 0xf], rbx
lea r8d, [r15 + 0x48]
lea rdx, [rbp - 0x69]
mov rcx, rax
call sub.VCRUNTIME140.dll_memmove
mov qword [rbp + 7], rbx
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x19], xmm1
mov qword [rbp - 9], r15
call fcn.14009ed80
mov rbx, qword [rbp - 0x11]
test al, al
je 0x14002e46d
mov edi, r15d
mov rax, qword [rbp + 7]
sub rax, qword [rbp - 1]
sar rax, 2
test rax, rax
je 0x14002e3cc
xorps xmm6, xmm6
nop dword [rax + rax]
mov rax, qword [rbp - 1]
movsxd rcx, dword [rax + rdi*4]
mov rax, qword [0x1401b6830]
movss xmm0, dword [rax + rcx*4]
ucomiss xmm0, xmm6
jp 0x14002e34b
je 0x14002e3b4
mov rdx, qword [0x1401b6830]
mov rax, qword [rbp - 0x19]
cmp rax, rbx
je 0x14002e37f
movss xmm1, dword [rdx + rcx*4 - 4]
movd xmm0, dword [rax]
cvtdq2ps xmm0, xmm0
ucomiss xmm0, xmm1
jp 0x14002e36f
je 0x14002e37a
add rax, 4
cmp rax, rbx
je 0x14002e37f
jmp 0x14002e361
cmp rax, rbx
jne 0x14002e3b4
cvttss2si eax, dword [rdx + rcx*4 - 4]
mov dword [rsp + 0x20], eax
cmp rbx, qword [rbp - 9]
je 0x14002e39f
mov dword [rbx], eax
mov rbx, qword [rbp - 0x11]
add rbx, 4
mov qword [rbp - 0x11], rbx
jmp 0x14002e3b4
lea r8, [rsp + 0x20]
mov rdx, rbx
lea rcx, [rbp - 0x19]
call fcn.140024f20
mov rbx, qword [rbp - 0x11]
inc rdi
mov rax, qword [rbp + 7]
sub rax, qword [rbp - 1]
sar rax, 2
cmp rdi, rax
jb 0x14002e330
mov rsi, rbx
sub rsi, qword [rbp - 0x19]
sar rsi, 2
sub esi, 1
js 0x14002e46d
movsxd rax, esi
lea rdi, [rax*4]
mov r14, rdi
nop
mov rcx, qword [rbp - 0x19]
mov ecx, dword [rcx + rdi]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
mov rcx, qword [rbp - 0x19]
test ax, ax
jne 0x14002e427
add rcx, r14
lea rdx, [rcx + 4]
mov r8, qword [rbp - 0x11]
sub r8, rdx
call sub.VCRUNTIME140.dll_memmove
mov rbx, qword [rbp - 0x11]
sub rbx, 4
mov qword [rbp - 0x11], rbx
jmp 0x14002e460
mov ecx, dword [rcx + rdi]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x14002e45c
mov qword [rsp + 0x20], 1
nop
lea rcx, [rsp + 0x20]
call fcn.14001e620
mov rcx, qword [rbp - 0x19]
mov ecx, dword [rcx + rdi]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
js 0x14002e440
mov rbx, qword [rbp - 0x11]
sub r14, 4
sub rdi, 4
sub esi, 1
jns 0x14002e3f0
mov rsi, r15
mov rax, qword [rbp + 7]
sub rax, qword [rbp - 1]
sar rax, 2
test rax, rax
je 0x14002e630
movabs r13, 0x3fffffffffffffff
movabs r14, 0x7ffffffffff0bdbf
movabs r12, 0x7fffffffffffffff
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x28], xmm0
mov qword [rbp - 0x71], r15
sub rbx, qword [rbp - 0x19]
sar rbx, 2
mov r8, r15
test rbx, rbx
je 0x14002e50c
cmp rbx, r13
ja 0x14002e70c
mov rdx, rbx
call fcn.14000c3e0
mov rdi, rax
mov qword [rsp + 0x28], rax
mov qword [rbp - 0x79], rax
lea rcx, [rax + rbx*4]
mov qword [rbp - 0x71], rcx
mov rbx, qword [rbp - 0x11]
mov rdx, qword [rbp - 0x19]
sub rbx, rdx
mov r8, rbx
mov rcx, rax
call sub.VCRUNTIME140.dll_memmove
sar rbx, 2
lea r8, [rdi + rbx*4]
mov rdx, r8
mov qword [rbp - 0x79], rdx
jmp 0x14002e510
mov rdx, qword [rbp - 0x79]
mov rax, qword [rbp - 1]
movsxd rcx, dword [rax + rsi*4]
mov rax, qword [0x1401b6830]
cvttss2si r9d, dword [rax + rcx*4 - 4]
mov rbx, qword [0x1401bb9b8]
cvttss2si eax, dword [rax + rcx*4]
test eax, eax
je 0x14002e56b
test r9d, r9d
je 0x14002e562
mov rcx, qword [rsp + 0x28]
cmp rcx, r8
je 0x14002e574
mov r8d, r9d
call fcn.14012df50
cmp rax, qword [rbp - 0x79]
je 0x14002e56f
mov eax, r15d
cmp dword [rbx + rsi*4], r15d
sete al
mov dword [rbx + rsi*4], eax
jmp 0x14002e56f
mov dword [rbx + rsi*4], 1
jmp 0x14002e56f
mov dword [rbx + rsi*4], r15d
mov rcx, qword [rsp + 0x28]
test rcx, rcx
je 0x14002e5b2
mov rax, qword [rbp - 0x71]
sub rax, rcx
sar rax, 2
lea rdx, [rax*4]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002e5ad
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002e629
call fcn.14012e950
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rbx, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
cmp rbx, 0x989680
jne 0x14002e5d0
imul rax, rax, 0x64
jmp 0x14002e5eb
cqo
idiv rbx
imul rcx, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
add rax, rcx
cmp rax, r14
jge 0x14002e5fd
add rax, 0xf4240
mov qword [rsp + 0x20], rax
jmp 0x14002e602
mov qword [rsp + 0x20], r12
lea rcx, [rsp + 0x20]
call fcn.140024100
inc rsi
mov rax, qword [rbp + 7]
sub rax, qword [rbp - 1]
sar rax, 2
cmp rsi, rax
jae 0x14002e630
mov rbx, qword [rbp - 0x11]
jmp 0x14002e4a3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov qword [rsp + 0x20], 1
lea rcx, [rsp + 0x20]
call fcn.14001e620
nop
mov rcx, qword [rbp - 0x19]
test rcx, rcx
je 0x14002e699
mov rax, qword [rbp - 9]
sub rax, rcx
sar rax, 2
lea rdx, [rax*4]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002e688
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14002e688
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14012e950
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x19], xmm0
mov qword [rbp - 9], r15
mov rcx, qword [rbp - 1]
test rcx, rcx
je 0x14002e6da
mov rdx, qword [rbp + 0xf]
sub rdx, rcx
and rdx, 0xfffffffffffffffc
mov rax, rcx
cmp rdx, 0x1000
jb 0x14002e6d5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14002e6d5
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14012e950
mov rcx, qword [rbp + 0x17]
xor rcx, rsp
call fcn.14012e5c0
lea r11, [rsp + 0xe0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.14000c360
nop
int3