Function at 0x180094b00
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, [rsp - 0x60]
sub rsp, 0x160
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
movaps xmmword [rax - 0xa8], xmm13
movaps xmmword [rax - 0xb8], xmm14
movaps xmmword [rax - 0xc8], xmm15
mov rax, qword [0x180407040]
xor rax, rsp
mov qword [rbp - 0x48], rax
mov r13, rcx
xor r15d, r15d
mov dword [rsp + 0x34], r15d
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 0x180094b9a
imul rbx, rax, 0x64
jmp 0x180094bb6
cqo
idiv rbx
imul rcx, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
lea rbx, [rax + rcx]
cmp byte [0x18042094a], r15b
jne 0x180094c03
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_time_l1_1_0.dll__time64]
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_srand]
mov dword [0x180420c40], r15d
mov edx, 5
xor ecx, ecx
call fcn.180095a80
mov dword [0x180420c48], eax
mov edx, 0xa
lea ecx, [rdx - 4]
call fcn.180095a80
mov dword [0x180420c4c], eax
mov byte [0x18042094a], 1
mov rcx, rbx
sub rcx, qword [0x180420b38]
movabs rax, 0x431bde82d7b634db
imul rcx
mov r14, rdx
sar r14, 0x12
mov rax, r14
shr rax, 0x3f
add r14, rax
cmp byte [r13 + 8], r15b
je 0x180095569
cmp byte [0x1804210fa], r15b
jne 0x180095569
mov ecx, 1
call qword [sym.imp.USER32.dll_GetKeyState]
bt ax, 0xf
jae 0x180095569
cmp byte [r13 + 0x20], r15b
jne 0x180095569
lea rdx, [rsp + 0x58]
mov rcx, qword [0x180422b00]
call fcn.18006dcf0
cmp qword [rax + 8], r15
je 0x180094c84
cmp byte [r13 + 0x39], r15b
jne 0x180094c84
mov sil, 1
jmp 0x180094c87
xor sil, sil
mov edi, r15d
cmp byte [rsp + 0x68], 0
je 0x180094cb8
cmp qword [0x180420930], 0
je 0x180094cb8
mov rdx, qword [rsp + 0x60]
test rdx, rdx
je 0x180094cb8
mov rcx, qword [rsp + 0x58]
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
call r8
nop
test sil, sil
jne 0x180095569
cmp byte [r13 + 0x30], sil
je 0x180094d04
lea rcx, [0x18041f690]
cmp qword [0x18041f6a8], 0x10
cmovae rcx, qword [0x18041f690]
mov qword [rsp + 0x20], 0xa
lea r9, str.item.sword
mov rdx, qword [0x18041f6a0]
call fcn.18006b780
cmp rax, 0xffffffffffffffff
je 0x180095569
cmp byte [r13 + 0x31], 0
je 0x180094e02
lea rdx, [rbp - 0x80]
mov rcx, qword [0x180422b00]
call fcn.18006dc00
nop
mov dword [rsp + 0x34], 2
lea rdx, [rsp + 0x58]
mov rcx, rax
call fcn.18006fa80
mov qword [rsp + 0x70], rax
mov dword [rsp + 0x34], 6
mov r12, qword [0x180420930]
xorps xmm0, xmm0
movups xmmword [rsp + 0x38], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x48], xmm1
mov r8d, 5
lea rdx, str.BLOCK
lea rcx, [rsp + 0x38]
call fcn.180003f70
nop
mov dword [rsp + 0x34], 0xe
lea rdx, [rsp + 0x38]
lea rcx, [0x180422a00]
call fcn.18007bba0
mov rdi, rax
mov rdx, r12
lea rcx, [0x180422a00]
call fcn.18007b9c0
mov rcx, qword [r12]
mov r9, qword [rcx + 0x488]
mov r8, rdi
mov rdx, rax
mov rcx, r12
call r9
mov rsi, rax
mov qword [rbp - 0x60], r12
mov byte [rbp - 0x50], 0
mov qword [rbp - 0x58], rax
mov edi, 0x3e
mov dword [rsp + 0x34], edi
mov rax, qword [rsp + 0x70]
mov rdx, qword [rax + 8]
cmp rdx, rsi
je 0x180094dfb
test rdx, rdx
je 0x180094e0a
test rsi, rsi
je 0x180094e0a
mov rcx, qword [rax]
mov rax, qword [rcx]
mov r9, qword [rax + 0xc0]
mov r8, rsi
call r9
cmp al, 1
jne 0x180094e0a
mov byte [rsp + 0x30], 1
jmp 0x180094e0f
mov rsi, qword [rbp - 0x58]
mov r12, qword [rbp - 0x60]
mov byte [rsp + 0x30], 0
test dil, 0x10
je 0x180094e46
and edi, 0xffffffef
mov dword [rsp + 0x34], edi
cmp byte [rbp - 0x50], 0
je 0x180094e46
cmp qword [0x180420930], 0
je 0x180094e46
test rsi, rsi
je 0x180094e46
mov rax, qword [r12]
mov r8, qword [rax + 0xb0]
mov rdx, rsi
mov rcx, r12
call r8
nop
test dil, 8
je 0x180094ea2
and edi, 0xfffffff7
mov rdx, qword [rsp + 0x50]
cmp rdx, 0x10
jb 0x180094e8f
inc rdx
mov rcx, qword [rsp + 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180094e8a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180094e8a
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1800ad85c
movdqa xmm0, xmmword [0x1803f50e0]
movdqu xmmword [rsp + 0x48], xmm0
mov byte [rsp + 0x38], 0
test dil, 4
je 0x180094ee1
and edi, 0xfffffffb
mov dword [rsp + 0x34], edi
cmp byte [rsp + 0x68], 0
je 0x180094ee1
cmp qword [0x180420930], 0
je 0x180094ee1
mov rdx, qword [rsp + 0x60]
test rdx, rdx
je 0x180094ee1
mov rcx, qword [rsp + 0x58]
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
call r8
mov qword [rsp + 0x60], r15
test dil, 2
je 0x180094f12
cmp byte [rbp - 0x70], 0
je 0x180094f12
cmp qword [0x180420930], 0
je 0x180094f12
mov rdx, qword [rbp - 0x78]
test rdx, rdx
je 0x180094f12
mov rcx, qword [rbp - 0x80]
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
call r8
nop
cmp byte [rsp + 0x30], 0
jne 0x180095569
mov r8d, dword [r13 + 0x24]
mov eax, 0x3e8
cdq
idiv r8d
movsxd rcx, eax
cmp r14, rcx
jl 0x180095569
movd xmm0, r8d
cvtdq2ps xmm0, xmm0
movaps xmm1, xmm0
addss xmm1, dword [0x1803f4ec8]
subss xmm0, dword [0x1803f4f18]
call fcn.180095be0
movss xmm1, dword [0x1803f5004]
mulss xmm0, xmm1
divss xmm1, xmm0
cvttss2si r12d, xmm1
movsd xmm15, qword [0x1803f4eb0]
mov eax, dword [0x180420c40]
cmp eax, dword [0x180420c48]
je 0x180094f94
cmp eax, dword [0x180420c4c]
je 0x180094f94
cmp eax, 5
je 0x180094f94
cmp eax, 0xa
jne 0x180094fc8
movsd xmm1, qword [0x1803f4ed0]
movaps xmm0, xmm15
call fcn.180095ce0
mov eax, dword [r13 + 0x24]
cdq
sub eax, edx
sar eax, 1
ucomisd xmm0, xmm15
jp 0x180094fbc
jne 0x180094fbc
sub r12d, eax
jmp 0x180094fbf
add r12d, eax
mov eax, dword [0x180420c40]
cmp eax, 0xa
jle 0x18009500c
mov dword [0x180420c40], r15d
movss xmm1, dword [0x1803f4f5c]
xorps xmm0, xmm0
call fcn.180095be0
cvttss2si eax, xmm0
mov dword [0x180420c48], eax
movss xmm1, dword [0x1803f4f74]
movss xmm0, dword [0x1803f4f64]
call fcn.180095be0
cvttss2si eax, xmm0
mov dword [0x180420c4c], eax
jmp 0x180095014
inc eax
mov dword [0x180420c40], eax
mov dword [rsp + 0x34], r12d
mov rdx, qword [0x180420fe0]
cmp rdx, qword [0x180420fe8]
je 0x180095040
mov dword [rdx], r12d
mov rdi, qword [0x180420fe0]
add rdi, 4
mov qword [0x180420fe0], rdi
jmp 0x180095058
lea r8, [rsp + 0x34]
lea rcx, [0x180420fd8]
call fcn.180095e00
mov rdi, qword [0x180420fe0]
mov rax, rdi
mov rsi, qword [0x180420fd8]
sub rax, rsi
sar rax, 2
mov r8, rdi
mov r9, rdi
cmp rax, 0xa
jbe 0x1800950a6
lea rdx, [rsi + 4]
sub rdi, rdx
mov r8, rdi
mov rcx, rsi
call sub.VCRUNTIME140.dll_memmove
mov rdi, qword [0x180420fe0]
add rdi, 0xfffffffffffffffc
mov qword [0x180420fe0], rdi
mov r8, rdi
mov r9, rdi
mov rsi, qword [0x180420fd8]
sub r8, rsi
sar r8, 2
movsd xmm11, qword [0x1803f4ed8]
cmp r8, 0xa
jb 0x18009528a
call fcn.180094a00
xorps xmm13, xmm13
xorps xmm2, xmm2
mov rax, rsi
cmp rsi, r9
je 0x1800950fd
nop dword [rax]
nop dword [rax + rax]
movd xmm1, dword [rax]
cvtdq2pd xmm1, xmm1
subsd xmm1, xmm0
mulsd xmm1, xmm1
addsd xmm2, xmm1
add rax, 4
cmp rax, r9
jne 0x1800950e0
xorps xmm8, xmm8
test r8, r8
js 0x18009510d
cvtsi2sd xmm8, r8
jmp 0x180095124
mov rax, r8
shr rax, 1
and r8d, 1
or rax, r8
cvtsi2sd xmm8, rax
addsd xmm8, xmm8
divsd xmm2, xmm8
xorps xmm0, xmm0
ucomisd xmm0, xmm2
ja 0x18009513d
xorps xmm14, xmm14
sqrtsd xmm14, xmm2
jmp 0x180095149
movaps xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrt
movaps xmm14, xmm0
call fcn.180094a00
movaps xmm9, xmm0
call fcn.180094a70
movaps xmm7, xmm13
mov r14, rsi
cmp rsi, rdi
je 0x1800951a8
xorps xmm1, xmm1
ucomisd xmm1, xmm0
ja 0x180095175
xorps xmm6, xmm6
sqrtsd xmm6, xmm0
jmp 0x180095180
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrt
movaps xmm6, xmm0
nop dword [rax]
movd xmm0, dword [r14]
cvtdq2pd xmm0, xmm0
subsd xmm0, xmm9
divsd xmm0, xmm6
movaps xmm1, xmm11
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
addsd xmm7, xmm0
add r14, 4
cmp r14, rdi
jne 0x180095180
divsd xmm7, xmm8
call fcn.180094a00
movaps xmm12, xmm0
call fcn.180094a70
movaps xmm6, xmm13
cmp rsi, rdi
je 0x180095218
xorps xmm1, xmm1
ucomisd xmm1, xmm0
ja 0x1800951d8
xorps xmm9, xmm9
sqrtsd xmm9, xmm0
jmp 0x1800951e1
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrt
movaps xmm9, xmm0
movsd xmm10, qword [0x1803f4ee8]
nop word [rax + rax]
movd xmm0, dword [rsi]
cvtdq2pd xmm0, xmm0
subsd xmm0, xmm12
divsd xmm0, xmm9
movaps xmm1, xmm10
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
addsd xmm6, xmm0
add rsi, 4
cmp rsi, rdi
jne 0x1800951f0
divsd xmm6, xmm8
subsd xmm6, xmm11
call fcn.180094a70
movsd xmm3, qword [0x1803f4e98]
comisd xmm3, xmm14
jbe 0x18009528a
comisd xmm13, xmm7
jbe 0x18009528a
comisd xmm11, xmm6
jbe 0x18009528a
movsd xmm1, qword [0x1803f4ef0]
comisd xmm1, xmm0
jbe 0x18009528a
mov eax, dword [r13 + 0x24]
cdq
sub eax, edx
sar eax, 1
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mov eax, dword [r13 + 0x24]
cdq
sub eax, edx
sar eax, 1
neg eax
movd xmm0, eax
cvtdq2ps xmm0, xmm0
call fcn.180095be0
movd xmm1, r12d
cvtdq2ps xmm1, xmm1
addss xmm1, xmm0
cvttss2si r12d, xmm1
movsxd rax, r12d
imul rcx, rax, 0xf4240
add rcx, rbx
mov qword [0x180420b38], rcx
mov qword [rsp + 0x78], r15
lea rcx, [rsp + 0x78]
call qword [sym.imp.USER32.dll_GetCursorPos]
movzx r9d, word [rsp + 0x7c]
shl r9d, 0x10
movzx eax, word [rsp + 0x78]
or r9, rax
mov edx, 0x201
mov r8d, 1
mov rcx, qword [0x180421100]
call qword [sym.imp.USER32.dll_PostMessageA]
movzx r9d, word [rsp + 0x7c]
shl r9d, 0x10
movzx eax, word [rsp + 0x78]
or r9, rax
mov edx, 0x202
mov r8d, 1
mov rcx, qword [0x180421100]
call qword [sym.imp.USER32.dll_PostMessageA]
movaps xmm1, xmm11
movaps xmm0, xmm15
call fcn.180095ce0
cvttsd2si eax, xmm0
cmp byte [r13 + 0x38], 0
je 0x180095333
cmp eax, 1
jne 0x180095333
lea ecx, [rax + 1]
call qword [sym.imp.USER32.dll_GetKeyState]
bt ax, 0xf
jb 0x18009550e
cmp byte [r13 + 0x32], 0
je 0x180095569
movsd xmm1, qword [0x1803f4f38]
movaps xmm0, xmm15
call fcn.180095ce0
cvttsd2si eax, xmm0
cmp byte [0x18042094b], 0
je 0x180095367
cmp eax, dword [r13 + 0x34]
jge 0x180095367
mov r14b, 1
jmp 0x18009536a
xor r14b, r14b
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x60], xmm0
mov qword [rbp - 0x50], rax
mov rdx, qword [0x180420930]
lea rcx, [rbp - 0x60]
call fcn.18006d800
nop
xorps xmm0, xmm0
movups xmmword [rbp - 0x80], xmm0
movups xmmword [rbp - 0x70], xmm0
mov rsi, qword [rbp - 0x58]
test rsi, rsi
jne 0x1800953bf
mov rdi, qword [rbp - 0x60]
mov rbx, rdi
mov qword [rbp - 0x78], rbx
mov byte [rbp - 0x68], sil
mov qword [rbp - 0x70], r15
lea rax, vtable.EntityPlayerSP.0
mov qword [rbp - 0x80], rax
jmp 0x180095480
movups xmmword [rsp + 0x38], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x48], xmm1
mov r8d, 9
lea rdx, str.thePlayer
lea rcx, [rsp + 0x38]
call fcn.180003f70
nop
lea rdx, [rsp + 0x38]
lea rcx, [0x1804211d0]
call fcn.18007bba0
mov rdi, qword [rbp - 0x60]
mov rcx, qword [rdi]
mov r9, qword [rcx + 0x2f8]
mov r8, rax
mov rdx, rsi
mov rcx, rdi
call r9
mov r15, rax
mov rbx, rdi
mov qword [rbp - 0x78], rbx
mov byte [rbp - 0x68], 0
mov qword [rbp - 0x70], rax
lea rax, vtable.EntityPlayerSP.0
mov qword [rbp - 0x80], rax
mov rdx, qword [rsp + 0x50]
cmp rdx, 0x10
jb 0x18009546d
inc rdx
mov rcx, qword [rsp + 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180095468
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180095468
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1800ad85c
movdqa xmm0, xmmword [0x1803f50e0]
movdqu xmmword [rsp + 0x48], xmm0
mov byte [rsp + 0x38], 0
test r14b, r14b
je 0x1800954b4
lea rcx, [rbp - 0x80]
call fcn.18006ed80
test al, al
je 0x1800954ac
lea rcx, [rbp - 0x80]
call fcn.18006ee50
test al, al
je 0x1800954ac
mov r14b, 1
mov r15, qword [rbp - 0x70]
mov rbx, qword [rbp - 0x78]
jmp 0x1800954b7
mov r15, qword [rbp - 0x70]
mov rbx, qword [rbp - 0x78]
xor r14b, r14b
cmp byte [rbp - 0x68], 0
je 0x1800954e0
cmp qword [0x180420930], 0
je 0x1800954e0
test r15, r15
je 0x1800954e0
mov rax, qword [rbx]
mov r8, qword [rax + 0xb0]
mov rdx, r15
mov rcx, rbx
call r8
nop
cmp byte [rbp - 0x50], 0
je 0x180095509
cmp qword [0x180420930], 0
je 0x180095509
test rsi, rsi
je 0x180095509
mov rax, qword [rdi]
mov r8, qword [rax + 0xb0]
mov rdx, rsi
mov rcx, rdi
call r8
nop
test r14b, r14b
je 0x180095569
movzx r9d, word [rsp + 0x7c]
shl r9d, 0x10
movzx eax, word [rsp + 0x78]
or r9, rax
mov edx, 0x204
mov r8d, 1
mov rcx, qword [0x180421100]
call qword [sym.imp.USER32.dll_PostMessageA]
movzx r9d, word [rsp + 0x7c]
shl r9d, 0x10
movzx eax, word [rsp + 0x78]
or r9, rax
mov edx, 0x205
mov r8d, 1
mov rcx, qword [0x180421100]
call qword [sym.imp.USER32.dll_PostMessageA]
mov byte [0x18042094b], 0
mov rcx, qword [rbp - 0x48]
xor rcx, rsp
call fcn.1800ad110
lea r11, [rsp + 0x160]
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]
movaps xmm13, xmmword [r11 - 0x80]
movaps xmm14, xmmword [r11 - 0x90]
movaps xmm15, xmmword [r11 - 0xa0]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret