Function at 0x18000bc70
Capabilities:
Check for unmoving mouse cursor
Generate random numbers using a mersenne twister
Log keystrokes via polling

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1350]
mov eax, 0x1450
call fcn.1800648d0
sub rsp, rax
movaps xmmword [rsp + 0x1440], xmm6
mov rax, qword [0x180082010]
xor rax, rsp
mov qword [rbp + 0x1330], rax
xor r12d, r12d
cmp byte [0x180097fe3], r12b
je 0x18000c3fc
call fcn.1800162c0
test al, al
je 0x18000c3fc
call qword [sym.imp.MSVCP140.dll__Xtime_get_ticks]
mov rcx, rax
movabs rax, 0x346dc5d63886594b
imul rcx
mov r14, rdx
sar r14, 0xb
mov rax, r14
shr rax, 0x3f
add r14, rax
cmp dword [0x180098050], r12d
jne 0x18000bd0a
mov dword [0x180098050], r14d
mov esi, 0x270
mov edi, 1
mov r13d, 0x80000000
movss xmm6, dword [0x1800743f0]
cmp byte [0x18008207d], r12b
je 0x18000c1dc
lea ecx, [rdi + 1]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x18000c3fc
mov eax, r14d
sub eax, dword [0x180098050]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movaps xmm0, xmm6
divss xmm0, dword [0x1800820b4]
comiss xmm0, xmm1
ja 0x18000c3fc
mov ecx, edi
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x18000c1dc
mov rbx, qword [0x180098018]
lea rcx, [rbx + 0x18]
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
mov qword [rsp + 0x30], 0xf
mov qword [rsp + 0x38], 0xf
movsd xmm0, qword [str.objectMouseOver]
movsd qword [rsp + 0x20], xmm0
mov eax, dword [0x180073708]
mov dword [rsp + 0x28], eax
movzx eax, word [0x18007370c]
mov word [rsp + 0x2c], ax
movzx eax, byte [0x18007370e]
mov byte [rsp + 0x2e], al
mov byte [rsp + 0x2f], r12b
lea r8, [rsp + 0x20]
lea rdx, [rbp - 0x80]
call fcn.1800149d0
mov rcx, qword [rax]
mov r10, qword [0x180098038]
mov rax, qword [r10]
mov r9, qword [rax + 0x2f8]
mov r8, qword [rcx + 0x40]
mov rdx, qword [rbx + 0x28]
mov rcx, r10
call r9
mov rbx, rax
lea rax, vtable.IClass.0
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x50], r12
lea ecx, [rdi + 0x47]
call fcn.180063700
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rax + 0x10], rax
mov word [rax + 0x18], 0x101
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x58], r12
mov qword [rsp + 0x60], r12
lea ecx, [rdi + 0x47]
call fcn.180063700
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rax + 0x10], rax
mov word [rax + 0x18], 0x101
mov qword [rsp + 0x58], rax
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x68], xmm0
lea r15, vtable.CMovingObjectPosition.0
mov qword [rsp + 0x40], r15
cmp byte [0x180098220], 0
jne 0x18000be81
call fcn.18000ce40
mov rax, qword [0x180098160]
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x40], r15
mov qword [rsp + 0x68], rbx
mov rdx, qword [rsp + 0x38]
cmp rdx, 0x10
jb 0x18000bedc
inc rdx
mov rcx, qword [rsp + 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000bed2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18000bed2
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180063ac4
mov r15, qword [rsp + 0x40]
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x38], 0xf
mov byte [rsp + 0x20], 0
mov rbx, qword [0x180098218]
lea rcx, [rsp + 0x40]
call qword [r15]
mov rcx, qword [0x180098038]
mov rdx, qword [rcx]
mov r9, qword [rdx + 0x2f8]
mov r8, rbx
mov rdx, rax
call r9
mov r15, rax
test rax, rax
jne 0x18000bf27
xor bl, bl
jmp 0x18000bfb6
mov rcx, qword [0x180098038]
mov rax, qword [rcx]
mov r8, qword [rax + 0xf8]
mov rdx, r15
call r8
mov rbx, rax
test rax, rax
je 0x18000bfb6
mov rcx, qword [0x180098038]
mov rax, qword [rcx]
mov r10, qword [rax + 0x480]
lea r9, str.Lnet_minecraft_util_MovingObjectPosition_MovingObjectType_
lea r8, str.BLOCK
mov rdx, rbx
call r10
mov r8, rax
test rax, rax
jne 0x18000bf77
xor bl, bl
jmp 0x18000bfb6
mov rcx, qword [0x180098038]
mov rax, qword [rcx]
mov r9, qword [rax + 0x488]
mov rdx, rbx
call r9
mov rdx, rax
test rax, rax
jne 0x18000bf9a
xor bl, bl
jmp 0x18000bfb6
mov rcx, qword [0x180098038]
mov rax, qword [rcx]
mov r9, qword [rax + 0xc0]
mov r8, r15
call r9
test al, al
setne bl
mov r8, qword [rsp + 0x58]
mov r8, qword [r8 + 8]
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0x58]
call fcn.1800073d0
mov edx, 0x48
mov rcx, qword [rsp + 0x58]
call fcn.180063ac4
mov r8, qword [rsp + 0x48]
mov r8, qword [r8 + 8]
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x48]
call fcn.180007540
mov edx, 0x48
mov rcx, qword [rsp + 0x48]
call fcn.180063ac4
test bl, bl
jne 0x18000c3fc
cmp byte [0x18008205b], bl
je 0x18000c021
call fcn.180016e80
test al, al
je 0x18000c3fc
lea rcx, [rbp - 0x70]
call qword [sym.imp.USER32.dll_GetCursorPos]
movzx r9d, word [rbp - 0x6c]
shl r9d, 0x10
movzx eax, word [rbp - 0x70]
or r9, rax
mov r8, rdi
mov edx, 0x201
mov rcx, qword [0x180098138]
call qword [sym.imp.USER32.dll_SendMessageA]
movzx r9d, word [rbp - 0x6c]
shl r9d, 0x10
movzx eax, word [rbp - 0x70]
or r9, rax
xor r8d, r8d
mov edx, 0x202
mov rcx, qword [0x180098138]
call qword [sym.imp.USER32.dll_SendMessageA]
mov dword [0x180098050], r14d
call qword [sym.imp.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_]
mov dword [rbp + 0x1324], 0xffffffff
mov dword [rbp - 0x5c], eax
mov rdx, rdi
nop dword [rax]
nop word [rax + rax]
mov ecx, eax
shr ecx, 0x1e
xor ecx, eax
imul eax, ecx, 0x6c078965
add eax, edx
mov dword [rbp + rdx*4 - 0x5c], eax
inc rdx
cmp rdx, rsi
jb 0x18000c0a0
mov dword [rbp - 0x60], esi
mov ecx, dword [0x180082090]
mov edx, dword [0x180082074]
lea eax, [rcx - 0x80000000]
lea r12d, [rcx + r13]
cmp ecx, r13d
cmovae r12d, eax
lea eax, [rdx - 0x80000000]
lea ecx, [rdx + r13]
cmp edx, r13d
cmovae ecx, eax
sub ecx, r12d
cmp ecx, 0xffffffff
jne 0x18000c171
lea r8, [rbp - 0x58]
mov r9, rsi
nop word [rax + rax]
mov edx, dword [r8 - 4]
xor edx, dword [r8]
btr edx, 0x1f
xor edx, dword [r8 - 4]
mov eax, edx
and al, 1
neg al
sbb ecx, ecx
and ecx, 0x9908b0df
shr edx, 1
xor ecx, edx
xor ecx, dword [r8 + 0x630]
mov dword [r8 + 0x9bc], ecx
lea r8, [r8 + 4]
sub r9, 1
jne 0x18000c100
mov eax, dword [rbp - 0x60]
mov ecx, dword [rbp + rax*4 - 0x5c]
mov eax, ecx
shr eax, 0xb
and eax, dword [rbp + 0x1324]
xor ecx, eax
mov eax, ecx
and eax, 0xff3a58ad
shl eax, 7
xor ecx, eax
mov eax, ecx
and eax, 0xffffdf8c
shl eax, 0xf
xor ecx, eax
mov r8d, ecx
shr r8d, 0x12
xor r8d, ecx
jmp 0x18000c1b9
lea ebx, [rcx + 1]
lea rcx, [rbp - 0x60]
call fcn.18000c520
mov r15d, ebx
mov r8d, eax
imul r8, r15
cmp r8d, ebx
jae 0x18000c1b5
mov eax, ebx
neg eax
xor edx, edx
div ebx
mov ebx, edx
cmp r8d, edx
jae 0x18000c1b5
nop dword [rax + rax]
lea rcx, [rbp - 0x60]
call fcn.18000c520
mov r8d, eax
imul r8, r15
cmp r8d, ebx
jb 0x18000c1a0
shr r8, 0x20
lea edx, [r8 + r12]
lea eax, [rdx + r13]
lea ecx, [rdx - 0x80000000]
cmp edx, r13d
cmovae ecx, eax
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
movss dword [0x1800820b4], xmm0
cmp byte [0x180082070], 0
je 0x18000c3fc
mov ecx, edi
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x18000c3fc
mov eax, r14d
sub eax, dword [0x180098050]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm6, dword [0x1800820b0]
comiss xmm6, xmm0
ja 0x18000c3fc
cmp byte [0x180082085], 0
je 0x18000c231
call fcn.180017060
test al, al
je 0x18000c3fc
mov ecx, 2
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x18000c3fc
lea rcx, [rbp - 0x70]
call qword [sym.imp.USER32.dll_GetCursorPos]
movzx r9d, word [rbp - 0x6c]
shl r9d, 0x10
movzx eax, word [rbp - 0x70]
or r9, rax
mov edx, 0x204
mov r8d, 2
mov rcx, qword [0x180098138]
call qword [sym.imp.USER32.dll_SendMessageA]
movzx r9d, word [rbp - 0x6c]
shl r9d, 0x10
movzx eax, word [rbp - 0x70]
or r9, rax
xor r8d, r8d
mov edx, 0x205
mov rcx, qword [0x180098138]
call qword [sym.imp.USER32.dll_SendMessageA]
mov dword [0x180098050], r14d
call qword [sym.imp.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_]
mov dword [rbp + 0x1324], 0xffffffff
mov dword [rbp - 0x5c], eax
nop word [rax + rax]
mov ecx, eax
shr ecx, 0x1e
xor ecx, eax
imul eax, ecx, 0x6c078965
add eax, edi
mov dword [rbp + rdi*4 - 0x5c], eax
inc rdi
cmp rdi, rsi
jb 0x18000c2c0
mov dword [rbp - 0x60], esi
mov ecx, dword [0x180082088]
mov edx, dword [0x180082068]
lea eax, [rcx - 0x80000000]
lea r14d, [rcx + r13]
cmp ecx, r13d
cmovae r14d, eax
lea eax, [rdx - 0x80000000]
lea ecx, [rdx + r13]
cmp edx, r13d
cmovae ecx, eax
sub ecx, r14d
cmp ecx, 0xffffffff
jne 0x18000c391
lea r8, [rbp - 0x58]
nop word [rax + rax]
mov edx, dword [r8 - 4]
xor edx, dword [r8]
btr edx, 0x1f
xor edx, dword [r8 - 4]
mov eax, edx
and al, 1
neg al
sbb ecx, ecx
and ecx, 0x9908b0df
xor ecx, dword [r8 + 0x630]
shr edx, 1
xor ecx, edx
mov dword [r8 + 0x9bc], ecx
lea r8, [r8 + 4]
sub rsi, 1
jne 0x18000c320
mov eax, dword [rbp - 0x60]
mov ecx, dword [rbp + rax*4 - 0x5c]
mov eax, ecx
shr eax, 0xb
and eax, dword [rbp + 0x1324]
xor ecx, eax
mov eax, ecx
and eax, 0xff3a58ad
shl eax, 7
xor ecx, eax
mov eax, ecx
and eax, 0xffffdf8c
shl eax, 0xf
xor ecx, eax
mov r8d, ecx
shr r8d, 0x12
xor r8d, ecx
jmp 0x18000c3d9
lea ebx, [rcx + 1]
lea rcx, [rbp - 0x60]
call fcn.18000c520
mov edi, ebx
mov r8d, eax
imul r8, rdi
cmp r8d, ebx
jae 0x18000c3d5
mov eax, ebx
neg eax
xor edx, edx
div ebx
mov ebx, edx
cmp r8d, edx
jae 0x18000c3d5
nop word [rax + rax]
lea rcx, [rbp - 0x60]
call fcn.18000c520
mov r8d, eax
imul r8, rdi
cmp r8d, ebx
jb 0x18000c3c0
shr r8, 0x20
lea edx, [r14 + r8]
lea eax, [rdx + r13]
lea ecx, [rdx - 0x80000000]
cmp edx, r13d
cmovae ecx, eax
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
movss dword [0x1800820b0], xmm0
mov rcx, qword [rbp + 0x1330]
xor rcx, rsp
call fcn.1800636e0
lea r11, [rsp + 0x1450]
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
jmp 0x18000bc70