Function at 0x1400674f0
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 - 0x38]
sub rsp, 0x110
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
movaps xmmword [rax - 0x78], xmm10
movaps xmmword [rax - 0x88], xmm11
movaps xmmword [rax - 0x98], xmm12
mov rax, qword [0x1400a4010]
xor rax, rsp
mov qword [rbp - 0x68], rax
mov ecx, 0x23
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x140067ca0
xor r14d, r14d
movabs r12, 0x7ffffffffff0bdbe
movabs r15, 0x7fffffffffffffff
movabs r13, 0x7fffffffff67697e
xorps xmm12, xmm12
mov qword [rsp + 0x60], r14
mov eax, dword [0x1400a4ebc]
mov qword [rsp + 0x50], 8
lea r8, [rsp + 0x38]
mov edx, 0x45
mov dword [rsp + 0x38], eax
cmp byte [0x1400a4f3a], 0
je 0x140067a89
mov rax, qword [0x1400a4ff0]
add rax, 0x158
mov qword [rsp + 0x48], rax
lea rax, [rsp + 0x60]
mov qword [rsp + 0x40], rax
call fcn.14004bf30
mov rbx, qword [rsp + 0x60]
cmp rbx, 0x1000000
jbe 0x140067bd8
xor eax, eax
mov qword [rbp - 0x78], rax
mov dword [rbp - 0x70], eax
mov eax, dword [0x1400a4ebc]
mov dword [rsp + 0x38], eax
mov rax, qword [0x1400a4f70]
add rax, 0x268
mov qword [rsp + 0x48], rax
lea rax, [rbp - 0x78]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x50], 0xc
lea r8, [rsp + 0x38]
mov edx, 0x45
call fcn.14004bf30
mov dword [rsp + 0x74], 0
mov eax, dword [0x1400a4ebc]
mov dword [rsp + 0x38], eax
mov rax, qword [0x1400a4f70]
add rax, 0xd0
mov qword [rsp + 0x48], rax
lea rax, [rsp + 0x74]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x50], 4
lea r8, [rsp + 0x38]
mov edx, 0x45
call fcn.14004bf30
mov dword [rsp + 0x78], 0
mov eax, dword [0x1400a4ebc]
mov dword [rsp + 0x38], eax
mov rax, qword [0x1400a4f70]
add rax, 0xdc
mov qword [rsp + 0x48], rax
lea rax, [rsp + 0x78]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x50], 4
lea r8, [rsp + 0x38]
mov edx, 0x45
call fcn.14004bf30
mov dword [rsp + 0x60], 0
mov eax, dword [0x1400a4ebc]
mov dword [rsp + 0x38], eax
mov rax, qword [0x1400a4f70]
add rax, 0xe8
mov qword [rsp + 0x48], rax
lea rax, [rsp + 0x60]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x50], 4
lea r8, [rsp + 0x38]
mov edx, 0x45
call fcn.14004bf30
mov dword [rsp + 0x68], 0
mov eax, dword [0x1400a4ebc]
mov dword [rsp + 0x38], eax
mov rax, qword [0x1400a4f70]
add rax, 0xd8
mov qword [rsp + 0x48], rax
lea rax, [rsp + 0x68]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x50], 4
lea r8, [rsp + 0x38]
mov edx, 0x45
call fcn.14004bf30
mov dword [rsp + 0x6c], 0
mov eax, dword [0x1400a4ebc]
mov dword [rsp + 0x38], eax
mov rax, qword [0x1400a4f70]
add rax, 0xe4
mov qword [rsp + 0x48], rax
lea rax, [rsp + 0x6c]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x50], 4
lea r8, [rsp + 0x38]
mov edx, 0x45
call fcn.14004bf30
mov dword [rsp + 0x70], 0
mov eax, dword [0x1400a4ebc]
mov dword [rsp + 0x38], eax
mov rax, qword [0x1400a4f70]
add rax, 0xf0
mov qword [rsp + 0x48], rax
lea rax, [rsp + 0x70]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x50], 4
lea r8, [rsp + 0x38]
mov edx, 0x45
call fcn.14004bf30
mov qword [rbp - 0x80], r14
mov eax, dword [0x1400a4ebc]
mov dword [rsp + 0x38], eax
lea rax, [rbx + 0x1c8]
mov qword [rsp + 0x48], rax
lea rax, [rbp - 0x80]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x50], 8
lea r8, [rsp + 0x38]
mov edx, 0x45
call fcn.14004bf30
mov qword [rsp + 0x58], r14
mov eax, dword [0x1400a4ebc]
mov dword [rsp + 0x38], eax
mov rax, qword [rbp - 0x80]
add rax, 0x18
mov qword [rsp + 0x48], rax
lea rax, [rsp + 0x58]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x50], 8
lea r8, [rsp + 0x38]
mov edx, 0x45
call fcn.14004bf30
mov qword [rbp - 0x80], r14
mov eax, dword [0x1400a4ebc]
mov dword [rsp + 0x38], eax
mov rax, qword [rsp + 0x58]
sub rax, 0xffffffffffffff80
mov qword [rsp + 0x48], rax
lea rax, [rbp - 0x80]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x50], 8
lea r8, [rsp + 0x38]
mov edx, 0x45
call fcn.14004bf30
mov qword [rsp + 0x58], r14
mov eax, dword [0x1400a4ebc]
mov dword [rsp + 0x38], eax
mov rax, qword [rbp - 0x80]
add rax, 0x40
mov qword [rsp + 0x48], rax
lea rax, [rsp + 0x58]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x50], 8
lea r8, [rsp + 0x38]
mov edx, 0x45
call fcn.14004bf30
mov rcx, qword [0x1400a4fd8]
cmp qword [rsp + 0x58], 0x1000000
cmova rcx, qword [rsp + 0x58]
mov qword [0x1400a4fd8], rcx
mov ecx, 0x57
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
movzx ebx, ax
mov ecx, 0x41
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
movzx edi, ax
mov ecx, 0x53
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
movzx esi, ax
mov ecx, 0x44
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
movss xmm5, dword [0x1400a40bc]
movss xmm9, dword [rsp + 0x68]
movss xmm10, dword [rsp + 0x6c]
movss xmm11, dword [rsp + 0x70]
cmp byte [0x1400a4d89], 0
jne 0x14006793e
test bx, bx
jne 0x140067956
test di, di
jne 0x140067951
test si, si
jne 0x140067951
test ax, ax
je 0x140067bd8
test bx, bx
je 0x1400679ac
movaps xmm0, xmm9
mulss xmm0, xmm5
movss xmm2, dword [0x1400a6428]
subss xmm2, xmm0
movss dword [0x1400a6428], xmm2
movaps xmm1, xmm10
mulss xmm1, xmm5
movss xmm3, dword [0x1400a642c]
subss xmm3, xmm1
movss dword [0x1400a642c], xmm3
movaps xmm0, xmm11
mulss xmm0, xmm5
movss xmm4, dword [0x1400a6430]
subss xmm4, xmm0
movss dword [0x1400a6430], xmm4
jmp 0x1400679c4
movss xmm4, dword [0x1400a6430]
movss xmm3, dword [0x1400a642c]
movss xmm2, dword [0x1400a6428]
movss xmm6, dword [rsp + 0x74]
movss xmm7, dword [rsp + 0x78]
movss xmm8, dword [rsp + 0x60]
test di, di
je 0x140067a16
movaps xmm0, xmm6
mulss xmm0, xmm5
subss xmm2, xmm0
movss dword [0x1400a6428], xmm2
movaps xmm1, xmm7
mulss xmm1, xmm5
subss xmm3, xmm1
movss dword [0x1400a642c], xmm3
movaps xmm0, xmm8
mulss xmm0, xmm5
subss xmm4, xmm0
movss dword [0x1400a6430], xmm4
test si, si
je 0x140067a51
mulss xmm9, xmm5
addss xmm2, xmm9
movss dword [0x1400a6428], xmm2
mulss xmm10, xmm5
addss xmm3, xmm10
movss dword [0x1400a642c], xmm3
mulss xmm11, xmm5
addss xmm4, xmm11
movss dword [0x1400a6430], xmm4
test ax, ax
je 0x140067bd8
mulss xmm6, xmm5
addss xmm2, xmm6
mulss xmm7, xmm5
addss xmm3, xmm7
movss dword [0x1400a642c], xmm3
mulss xmm8, xmm5
addss xmm4, xmm8
movss dword [0x1400a6430], xmm4
jmp 0x140067bd0
mov rcx, qword [0x1400a4f88]
add rcx, 0x298
mov qword [rsp + 0x48], rcx
lea rax, [rsp + 0x60]
mov qword [rsp + 0x40], rax
call fcn.14004bf30
cmp qword [rsp + 0x60], 0x1000000
jbe 0x140067bd8
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x48], r14
mov qword [rsp + 0x50], 0xf
mov r8d, 0x10
lea rdx, str.HumanoidRootPart
lea rcx, [rsp + 0x38]
call fcn.14004b910
lea r8, [rsp + 0x38]
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x60]
call fcn.140063110
mov rax, qword [rsp + 0x30]
cmp rax, 0x1000000
jbe 0x140067bd8
mov qword [rsp + 0x58], r14
mov ecx, dword [0x1400a4ebc]
mov dword [rsp + 0x38], ecx
add rax, 0x158
mov qword [rsp + 0x48], rax
lea rax, [rsp + 0x58]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x50], 8
lea r8, [rsp + 0x38]
mov edx, 0x45
call fcn.14004bf30
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x140067bd8
xor eax, eax
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x28], eax
mov eax, dword [0x1400a4ebc]
mov dword [rsp + 0x38], eax
lea rax, [rcx + 0x140]
mov qword [rsp + 0x48], rax
lea rax, [rsp + 0x20]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x50], 0xc
lea r8, [rsp + 0x38]
mov edx, 0x45
call fcn.14004bf30
movss xmm2, dword [rsp + 0x20]
ucomiss xmm2, xmm12
jp 0x140067ba4
je 0x140067bd8
movss xmm1, dword [rsp + 0x24]
ucomiss xmm1, xmm12
jp 0x140067bb2
je 0x140067bd8
movss xmm0, dword [rsp + 0x28]
ucomiss xmm0, xmm12
jp 0x140067bc0
je 0x140067bd8
movss dword [0x1400a642c], xmm1
movss dword [0x1400a6430], xmm0
movss dword [0x1400a6428], xmm2
cmp byte [0x1400a4f3a], 0
je 0x140067c2f
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 0x140067bff
imul rax, rax, 0x64
jmp 0x140067c1d
cqo
idiv rbx
mov rcx, rax
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
imul rcx, rcx, 0x3b9aca00
add rax, rcx
cmp rax, r12
jg 0x140067c7d
add rax, 0xf4240
mov qword [rsp + 0x58], rax
jmp 0x140067c82
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 0x140067c4d
imul rax, rax, 0x64
jmp 0x140067c6b
cqo
idiv rbx
mov rcx, rax
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
imul rcx, rcx, 0x3b9aca00
add rax, rcx
cmp rax, r13
jg 0x140067c7d
add rax, 0x989680
mov qword [rsp + 0x58], rax
jmp 0x140067c82
mov qword [rsp + 0x58], r15
lea rcx, [rsp + 0x58]
call fcn.140058cf0
mov ecx, 0x23
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x140067581
mov rcx, qword [rbp - 0x68]
xor rcx, rsp
call fcn.14006ca20
lea r11, [rsp + 0x110]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
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]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret