Function at 0x180097900
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
push rbp
push rdi
push r14
lea rbp, [rax - 0x38]
sub rsp, 0x120
movaps xmmword [rax - 0x28], xmm6
movaps xmmword [rax - 0x38], xmm8
movaps xmmword [rax - 0x48], xmm9
mov rax, qword [0x180118028]
xor rax, rsp
mov qword [rbp - 0x20], rax
mov rbx, rcx
xor edi, edi
mov dword [rsp + 0x20], edi
movzx eax, byte [rcx + 8]
mov byte [0x18011a285], al
mov ecx, dword [rcx + 0xc]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
bt ax, 0xf
jae 0x1800979af
mov dword [rsp + 0x78], 0x18
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x7c], xmm0
mov dword [rbp - 0x74], eax
lea rcx, [rsp + 0x78]
call qword [sym.imp.USER32.dll_GetCursorInfo]
test eax, eax
je 0x18009798f
mov rax, qword [rbp - 0x80]
add rax, 0xffffffffffff3caf
cmp rax, 0xc34e
jbe 0x1800979af
cmp byte [0x18011ab40], dil
jne 0x1800979af
mov cl, 1
cmp byte [0x18011abab], dil
jne 0x1800979b1
cmp byte [rbx + 8], dil
sete al
mov byte [rbx + 8], al
jmp 0x1800979b1
xor cl, cl
mov byte [0x18011abab], cl
cmp byte [rbx + 8], dil
je 0x180097e12
mov ecx, dword [0x180119e14]
mov rax, qword gs:[0x58]
mov r8d, 4
mov rdx, qword [rax + rcx*8]
mov eax, dword [r8 + rdx]
cmp dword [0x18011f028], eax
jle 0x180097a59
lea rcx, [0x18011f028]
call fcn.1800aeeb8
cmp dword [0x18011f028], 0xffffffff
jne 0x180097a59
mov qword [0x18011f030], rdi
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 0x180097a20
imul rax, rax, 0x64
jmp 0x180097a3b
cqo
idiv rbx
imul r8, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
add rax, r8
mov qword [0x18011f030], rax
mov qword [0x18011f038], 1
lea rcx, [0x18011f028]
call fcn.1800aee58
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 0x180097a77
imul r8, rax, 0x64
jmp 0x180097a92
cqo
idiv rbx
imul r8, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
add r8, rax
mov rcx, r8
sub rcx, qword [0x18011f030]
movabs rax, 0x431bde82d7b634db
imul rcx
sar rdx, 0x12
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp rdx, qword [0x18011f038]
je 0x180097ad7
mov ecx, 1
mov r9d, 0xff
cmovl ecx, r9d
test cl, cl
js 0x180097e12
mov qword [0x18011f030], r8
xorps xmm0, xmm0
movups xmmword [rbp - 0x60], xmm0
lea rcx, [rbp - 0x60]
call fcn.180068460
nop
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x50], xmm0
mov qword [rbp - 0x40], rax
lea rdx, [rbp - 0x50]
lea rcx, [rbp - 0x60]
call fcn.1800685a0
nop
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x38], xmm0
mov qword [rbp - 0x28], rax
lea rdx, [rbp - 0x38]
lea rcx, [rbp - 0x60]
call fcn.180068740
nop
xorps xmm0, xmm0
movups xmmword [rbp - 0x70], xmm0
lea rdx, [rbp - 0x70]
lea rcx, [rbp - 0x50]
call fcn.18006a6e0
nop
lea rcx, [rbp - 0x50]
call fcn.18006a610
mov r14d, eax
lea rcx, [rbp - 0x70]
call fcn.18006b9d0
movaps xmm6, xmm0
lea rcx, [rbp - 0x70]
call fcn.18006b760
subss xmm6, xmm0
mulss xmm6, dword [0x180103c7c]
lea rcx, [rbp - 0x70]
call fcn.18006b760
movaps xmm9, xmm0
addss xmm9, xmm6
lea rcx, [rbp - 0x70]
call fcn.18006b690
movaps xmm8, xmm0
lea rcx, [rbp - 0x70]
call fcn.18006b830
movaps xmm6, xmm0
lea rcx, [rbp - 0x70]
call fcn.18006b5c0
subss xmm6, xmm0
mulss xmm6, dword [0x180103c7c]
lea rcx, [rbp - 0x70]
call fcn.18006b5c0
addss xmm0, xmm6
movss dword [rsp + 0x28], xmm0
movss dword [rsp + 0x30], xmm9
subss xmm8, dword [0x180103c48]
movss dword [rsp + 0x2c], xmm8
xorps xmm0, xmm0
movups xmmword [rsp + 0x78], xmm0
lea r8, [rsp + 0x28]
lea rdx, [rsp + 0x78]
lea rcx, [rbp - 0x38]
call fcn.18006c960
nop
xorps xmm0, xmm0
movups xmmword [rsp + 0x38], xmm0
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x50], rdi
mov r8d, 0x1c
lea rdx, str.net_minecraft_block_BlockAir
lea rcx, [rsp + 0x38]
call fcn.1800655d0
nop
mov dword [rsp + 0x20], 1
xorps xmm0, xmm0
movups xmmword [rsp + 0x58], xmm0
movdqa xmm1, xmmword [0x180104080]
movdqu xmmword [rsp + 0x68], xmm1
mov byte [rsp + 0x58], 0
lea rdx, [rsp + 0x38]
cmp qword [rsp + 0x50], 0x10
cmovae rdx, qword [rsp + 0x38]
mov r8, qword [rsp + 0x48]
lea rcx, [rsp + 0x58]
call fcn.180073cf0
nop
mov dword [rsp + 0x20], 3
mov rdx, qword [0x18011ab38]
lea rcx, [rsp + 0x58]
call fcn.180078970
mov rbx, qword [rsp + 0x78]
mov rsi, qword [rbp - 0x80]
test rsi, rsi
je 0x180097cbc
mov r8, qword [rax]
test r8, r8
je 0x180097cbc
mov rax, qword [rbx]
mov r9, qword [rax + 0x100]
mov rdx, rsi
mov rcx, rbx
call r9
cmp al, 1
jne 0x180097cbc
lea rcx, [rbp - 0x50]
call fcn.18006a3a0
test al, al
je 0x180097cbc
cmp r14d, dword [0x18011a288]
je 0x180097cbc
mov dil, 1
jmp 0x180097cbf
xor dil, dil
mov rdx, qword [rsp + 0x70]
cmp rdx, 0x10
jb 0x180097d00
inc rdx
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180097cfa
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180097cfa
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1800af594
nop
mov rdx, qword [rsp + 0x50]
cmp rdx, 0x10
jb 0x180097d40
inc rdx
mov rcx, qword [rsp + 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180097d3b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180097d3b
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1800af594
test dil, dil
je 0x180097d4e
lea rcx, [rbp - 0x50]
call fcn.18006b020
mov dword [0x18011a288], r14d
mov rax, qword [0x18011ab38]
test rax, rax
je 0x180097d80
test rsi, rsi
je 0x180097d80
mov rax, qword [rbx]
mov r8, qword [rax + 0xb0]
mov rdx, rsi
mov rcx, rbx
call r8
mov rax, qword [0x18011ab38]
test rax, rax
je 0x180097da6
mov rdx, qword [rbp - 0x68]
test rdx, rdx
je 0x180097da6
mov rcx, qword [rbp - 0x70]
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
call r8
mov rax, qword [0x18011ab38]
test rax, rax
je 0x180097dcc
mov rdx, qword [rbp - 0x28]
test rdx, rdx
je 0x180097dcc
mov rcx, qword [rbp - 0x30]
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
call r8
mov rax, qword [0x18011ab38]
test rax, rax
je 0x180097df2
mov rdx, qword [rbp - 0x40]
test rdx, rdx
je 0x180097df2
mov rcx, qword [rbp - 0x48]
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
call r8
mov rax, qword [0x18011ab38]
test rax, rax
je 0x180097e12
mov rdx, qword [rbp - 0x58]
test rdx, rdx
je 0x180097e12
mov rcx, qword [rbp - 0x60]
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
call r8
nop
mov rcx, qword [rbp - 0x20]
xor rcx, rsp
call fcn.1800aed10
lea r11, [rsp + 0x120]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm8, xmmword [r11 - 0x20]
movaps xmm9, xmmword [r11 - 0x30]
mov rsp, r11
pop r14
pop rdi
pop rbp
ret