Function at 0x180007680
Capabilities:
Check for unmoving mouse cursor
Encode data using xor
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.180063a20
sub rsp, rax
movaps xmmword [rsp + 0x1440], xmm6
mov rax, qword [0x18007d010]
xor rax, rsp
mov qword [rbp + 0x1330], rax
xor r12d, r12d
cmp byte [0x18007f138], r12b
je 0x1800075ac
call fcn.180011030
test al, al
je 0x1800075ac
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
mov ecx, dword [0x18007f03c]
test ecx, ecx
jne 0x180006ecd
mov ecx, r14d
mov dword [0x18007f03c], ecx
mov esi, 0x270
mov edi, 1
mov r13d, 0x80000000
movss xmm6, dword [0x180070414]
cmp byte [0x18007d05c], r12b
je 0x180007392
mov eax, r14d
sub eax, ecx
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movaps xmm0, xmm6
divss xmm0, dword [0x18007d064]
comiss xmm0, xmm1
ja 0x1800075ac
mov ecx, edi
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x18000738c
lea ecx, [rdi + 1]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x1800075ac
mov rbx, qword [0x18007f028]
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 [0x18006f908]
mov dword [rsp + 0x28], eax
movzx eax, word [0x18006f90c]
mov word [rsp + 0x2c], ax
movzx eax, byte [0x18006f90e]
mov byte [rsp + 0x2e], al
mov byte [rsp + 0x2f], r12b
lea r8, [rsp + 0x20]
lea rdx, [rbp - 0x80]
call fcn.18000f0f0
mov rcx, qword [rax]
mov r10, qword [0x18007f1b0]
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.180062980
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.180062980
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 [0x18007f1c8], 0
jne 0x180007040
call fcn.180007a40
mov rax, qword [0x18007f168]
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x40], r15
mov qword [rsp + 0x68], rbx
mov rdx, qword [rsp + 0x38]
cmp rdx, 0x10
jb 0x18000709b
inc rdx
mov rcx, qword [rsp + 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180007091
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180007091
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180062d44
mov r15, qword [rsp + 0x40]
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x38], 0xf
mov byte [rsp + 0x20], 0
mov rbx, qword [0x18007f1c0]
lea rcx, [rsp + 0x40]
call qword [r15]
mov rcx, qword [0x18007f1b0]
mov rdx, qword [rcx]
mov r9, qword [rdx + 0x2f8]
mov r8, rbx
mov rdx, rax
call r9
mov r15, rax
test rax, rax
jne 0x1800070e6
xor bl, bl
jmp 0x180007175
mov rcx, qword [0x18007f1b0]
mov rax, qword [rcx]
mov r8, qword [rax + 0xf8]
mov rdx, r15
call r8
mov rbx, rax
test rax, rax
je 0x180007175
mov rcx, qword [0x18007f1b0]
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 0x180007136
xor bl, bl
jmp 0x180007175
mov rcx, qword [0x18007f1b0]
mov rax, qword [rcx]
mov r9, qword [rax + 0x488]
mov rdx, rbx
call r9
mov rdx, rax
test rax, rax
jne 0x180007159
xor bl, bl
jmp 0x180007175
mov rcx, qword [0x18007f1b0]
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.180005a10
mov edx, 0x48
mov rcx, qword [rsp + 0x58]
call fcn.180062d44
mov r8, qword [rsp + 0x48]
mov r8, qword [r8 + 8]
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x48]
call fcn.180005ad0
mov edx, 0x48
mov rcx, qword [rsp + 0x48]
call fcn.180062d44
test bl, bl
jne 0x1800075ac
cmp byte [0x18007d04e], bl
je 0x1800071e0
call fcn.180011750
test al, al
je 0x1800075ac
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 [0x18007f140]
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 [0x18007f140]
call qword [sym.imp.USER32.dll_SendMessageA]
mov dword [0x18007f03c], 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
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 0x180007251
mov dword [rbp - 0x60], esi
mov ecx, dword [0x18007d910]
mov edx, dword [0x18007d058]
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 0x180007321
lea r8, [rbp - 0x58]
mov r9, rsi
nop
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 0x1800072b0
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 0x180007369
lea ebx, [rcx + 1]
lea rcx, [rbp - 0x60]
call fcn.1800076d0
mov r15d, ebx
mov r8d, eax
imul r8, r15
cmp r8d, ebx
jae 0x180007365
mov eax, ebx
neg eax
xor edx, edx
div ebx
mov ebx, edx
cmp r8d, edx
jae 0x180007365
nop dword [rax + rax]
lea rcx, [rbp - 0x60]
call fcn.1800076d0
mov r8d, eax
imul r8, r15
cmp r8d, ebx
jb 0x180007350
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 [0x18007d064], xmm0
mov ecx, dword [0x18007f03c]
cmp byte [0x18007d054], 0
je 0x1800075ac
mov eax, r14d
sub eax, ecx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm6, dword [0x18007d060]
comiss xmm6, xmm0
ja 0x1800075ac
cmp byte [0x18007d908], 0
je 0x1800073d2
call fcn.180011930
test al, al
je 0x1800075ac
mov ecx, 2
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1800075ac
mov ecx, edi
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x1800075ac
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 [0x18007f140]
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 [0x18007f140]
call qword [sym.imp.USER32.dll_SendMessageA]
mov dword [0x18007f03c], 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 dword [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 0x180007470
mov dword [rbp - 0x60], esi
mov ecx, dword [0x18007d90c]
mov edx, dword [0x18007d050]
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 0x180007541
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 0x1800074d0
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 0x180007589
lea ebx, [rcx + 1]
lea rcx, [rbp - 0x60]
call fcn.1800076d0
mov edi, ebx
mov r8d, eax
imul r8, rdi
cmp r8d, ebx
jae 0x180007585
mov eax, ebx
neg eax
xor edx, edx
div ebx
mov ebx, edx
cmp r8d, edx
jae 0x180007585
nop word [rax + rax]
lea rcx, [rbp - 0x60]
call fcn.1800076d0
mov r8d, eax
imul r8, rdi
cmp r8d, ebx
jb 0x180007570
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 [0x18007d060], xmm0
mov rcx, qword [rbp + 0x1330]
xor rcx, rsp
call fcn.180062840
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 0x180006e30