Function at 0x180098cb0
Capabilities:
Generate random numbers using a mersenne twister
Log keystrokes via polling

Disassembly:
mov qword [rsp + 0x20], rsi
push rbp
lea rbp, [rsp - 0x1340]
mov eax, 0x1440
call fcn.1800cf8f0
sub rsp, rax
mov rax, qword [0x180106040]
xor rax, rsp
mov qword [rbp + 0x1310], rax
cmp byte [rcx + 0x48], 0
mov rsi, rcx
je 0x180099229
cmp byte [0x1801d5220], 0
jne 0x180099229
mov rax, qword [0x1801d4b80]
mov r8, qword [0x1801d4cd0]
mov qword [rsp + 0x1450], rbx
mov rbx, qword [0x1801d4b38]
mov rdx, qword [rax]
mov rcx, rbx
mov rax, qword [rbx]
mov r9, qword [rax + 0x2f8]
call r9
mov rdx, qword [rbx]
xor r8d, r8d
mov rcx, rbx
mov r9, qword [rdx + 0xc0]
mov rdx, rax
call r9
test al, al
je 0x180099221
xor eax, eax
mov qword [rsp + 0x1458], rdi
xorps xmm0, xmm0
movaps xmmword [rsp + 0x1430], xmm6
lea rdx, str.net.minecraft.item.ItemBlock
movaps xmmword [rsp + 0x1420], xmm7
lea rcx, [rsp + 0x40]
mov qword [rsp + 0x50], rax
lea r8d, [rax + 0x1c]
mov qword [rsp + 0x58], rax
movups xmmword [rsp + 0x40], xmm0
call fcn.1800449e0
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x40]
call fcn.1800b5790
mov rcx, qword [0x1801d4b80]
lea rdx, [rsp + 0x30]
inc dword [0x1801d4890]
mov rbx, qword [0x1801d4b38]
mov rdi, qword [rcx + 0x10]
mov rcx, qword [rcx + 8]
call fcn.1800b4180
lea rdx, [rsp + 0x60]
movss xmm7, dword [rax + 8]
mov rax, qword [0x1801d4b80]
cvtps2pd xmm7, xmm7
mov rcx, qword [rax + 8]
call fcn.1800b4180
lea rdx, [rsp + 0x6c]
movss xmm0, dword [rax + 4]
subss xmm0, dword [0x1800e7e5c]
mov rax, qword [0x1801d4b80]
mov rcx, qword [rax + 8]
cvtps2pd xmm6, xmm0
call fcn.1800b4180
mov qword [rsp + 0x20], rbx
mov rcx, rdi
movss xmm1, dword [rax]
movaps xmm3, xmm7
movaps xmm2, xmm6
cvtps2pd xmm1, xmm1
call fcn.1800ca3a0
mov rcx, qword [0x1801d4b80]
mov rcx, qword [rcx + 8]
test al, al
je 0x180098e29
mov dl, 1
jmp 0x180098e2b
xor edx, edx
call fcn.1800b3be0
mov rax, qword [rsi + 0x70]
cmp qword [rax + 8], 0
je 0x180098ff2
mov rcx, qword [0x1801d4b80]
lea rdx, [rsp + 0x6c]
mov rbx, qword [0x1801d4b38]
mov rdi, qword [rcx + 0x10]
mov rcx, qword [rcx + 8]
call fcn.1800b4180
lea rdx, [rsp + 0x60]
movss xmm7, dword [rax + 8]
mov rax, qword [0x1801d4b80]
cvtps2pd xmm7, xmm7
mov rcx, qword [rax + 8]
call fcn.1800b4180
lea rdx, [rsp + 0x30]
movss xmm6, dword [rax + 4]
mov rax, qword [0x1801d4b80]
cvtps2pd xmm6, xmm6
mov rcx, qword [rax + 8]
subsd xmm6, qword [0x1800e7ed8]
call fcn.1800b4180
movaps xmm3, xmm7
mov qword [rsp + 0x20], rbx
movaps xmm2, xmm6
mov rcx, rdi
movss xmm1, dword [rax]
cvtps2pd xmm1, xmm1
call fcn.1800ca3a0
test al, al
jne 0x180098ff2
mov ecx, 0x20
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x180098ff2
mov rax, qword [0x1801d4b80]
mov rcx, qword [rax + 8]
mov eax, dword [0x1801d4890]
and eax, 0x80000001
jge 0x180098ef6
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
jne 0x180098f04
movsd xmm0, qword [0x1800e7e80]
jmp 0x180098f0c
movsd xmm0, qword [0x1800e7ea0]
mov r8, qword [0x1801d4b38]
lea rdx, [rsp + 0x30]
cvtpd2ps xmm0, xmm0
mov dword [rsp + 0x30], 0
mov dword [rsp + 0x38], 0
xorps xmm6, xmm6
movss dword [rsp + 0x34], xmm0
call fcn.1800b4410
mov rax, qword [0x1801d4b80]
mov rbx, qword [0x1801d4b38]
mov rdi, qword [rax + 8]
mov rdx, qword [rdi]
test rdx, rdx
je 0x180098f84
mov rax, qword [rbx]
xor r8d, r8d
mov rcx, rbx
mov r9, qword [rax + 0xc0]
call r9
test al, al
jne 0x180098f84
mov rax, qword [rbx]
mov r9b, 1
mov r8, qword [0x1801d4d50]
mov rcx, rbx
mov rdx, qword [rdi]
call qword [rax + 0x348]
mov rax, qword [0x1801d4b80]
mov rbx, qword [0x1801d4b38]
mov rdi, qword [rax + 8]
mov rdx, qword [rdi]
test rdx, rdx
je 0x180098fd2
mov rax, qword [rbx]
xor r8d, r8d
mov rcx, rbx
mov r9, qword [rax + 0xc0]
call r9
test al, al
jne 0x180098fd2
mov rax, qword [rbx]
mov rcx, rbx
mov r8, qword [0x1801d4c48]
mov rdx, qword [rdi]
mov r9, qword [rax + 0x330]
call r9
movaps xmm6, xmm0
movss xmm1, dword [0x1800e80c0]
mov r8, rbx
unpcklps xmm6, xmm1
mov rcx, rdi
movq rdx, xmm6
call fcn.1800b4990
jmp 0x1800990d5
mov rax, qword [0x1801d4b80]
mov rbx, qword [0x1801d4b38]
mov qword [rsp + 0x1460], r14
mov rsi, qword [rax + 8]
mov rdx, qword [rsi]
test rdx, rdx
je 0x18009904a
mov rax, qword [rbx]
xor r8d, r8d
mov rcx, rbx
mov r9, qword [rax + 0xc0]
call r9
test al, al
jne 0x18009904a
mov rax, qword [rbx]
mov rcx, rbx
mov r8, qword [0x1801d4c48]
mov rdx, qword [rsi]
mov r9, qword [rax + 0x330]
call r9
movaps xmm6, xmm0
jmp 0x18009904d
xorps xmm6, xmm6
mov rax, qword [0x1801d4b80]
mov rdi, qword [0x1801d4b38]
mov r14, qword [rax + 8]
mov rdx, qword [r14]
test rdx, rdx
je 0x18009909f
mov rax, qword [rdi]
xor r8d, r8d
mov rcx, rdi
mov r9, qword [rax + 0xc0]
call r9
test al, al
jne 0x18009909f
mov rax, qword [rdi]
mov rcx, rdi
mov r8, qword [0x1801d4d50]
mov rdx, qword [r14]
mov r9, qword [rax + 0x300]
call r9
test al, al
setne cl
jmp 0x1800990a1
xor cl, cl
test cl, cl
mov eax, 0x4b
mov edx, 0x50
movaps xmm0, xmm6
cmovne eax, edx
mov r8, rbx
mov rcx, rsi
movd xmm1, eax
cvtdq2ps xmm1, xmm1
unpcklps xmm0, xmm1
movq rdx, xmm0
call fcn.1800b4990
mov r14, qword [rsp + 0x1460]
call qword [sym.imp.MSVCP140.dll__Xtime_get_ticks]
movaps xmm7, xmmword [rsp + 0x1420]
mov rcx, rax
movaps xmm6, xmmword [rsp + 0x1430]
movabs rax, 0x346dc5d63886594b
mov rdi, qword [rsp + 0x1458]
imul rcx
mov rbx, rdx
sar rbx, 0xb
mov rax, rbx
shr rax, 0x3f
add rbx, rax
mov eax, dword [0x1801d4894]
test eax, eax
jne 0x180099126
mov eax, ebx
mov dword [0x1801d4894], ebx
mov ecx, ebx
sub ecx, eax
mov eax, 0x3e8
cdq
idiv dword [0x180110c54]
cmp ecx, eax
jl 0x180099221
lea rcx, [rsp + 0x78]
call qword [sym.imp.USER32.dll_GetCursorPos]
movzx r9d, word [rsp + 0x7c]
mov edx, 0x204
movzx eax, word [rsp + 0x78]
mov r8d, 2
mov rcx, qword [0x1801d5228]
shl r9d, 0x10
or r9, rax
call qword [sym.imp.USER32.dll_SendMessageA]
movzx r9d, word [rsp + 0x7c]
xor r8d, r8d
movzx eax, word [rsp + 0x78]
mov edx, 0x205
mov rcx, qword [0x1801d5228]
shl r9d, 0x10
or r9, rax
call qword [sym.imp.USER32.dll_SendMessageA]
mov dword [0x1801d4894], ebx
call qword [sym.imp.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_]
mov dword [rbp + 0x1304], 0xffffffff
mov edx, 1
mov dword [rbp - 0x7c], eax
nop dword [rax + rax]
mov ecx, eax
shr ecx, 0x1e
xor ecx, eax
imul eax, ecx, 0x6c078965
add eax, edx
mov dword [rbp + rdx*4 - 0x7c], eax
inc rdx
cmp rdx, 0x270
jb 0x1800991c0
lea rcx, [rbp - 0x80]
mov dword [rbp - 0x80], 0x270
call fcn.1800788d0
mov ecx, eax
imul rax, rcx, 7
cmp eax, 3
ja 0x180099214
nop word [rax + rax]
lea rcx, [rbp - 0x80]
call fcn.1800788d0
mov ecx, eax
imul rax, rcx, 7
cmp eax, 4
jb 0x180099200
shr rax, 0x20
add eax, 8
mov dword [0x180110c54], eax
mov rbx, qword [rsp + 0x1450]
mov rcx, qword [rbp + 0x1310]
xor rcx, rsp
call fcn.1800caa50
mov rsi, qword [rsp + 0x1468]
add rsp, 0x1440
pop rbp
ret
mov rcx, qword [rcx + 8]
jmp 0x180098cb0