Function at 0x1800042b0
Capabilities:
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 - 0x1360]
mov eax, 0x1460
call fcn.1800491a0
sub rsp, rax
movaps xmmword [rsp + 0x1450], xmm6
movaps xmmword [rsp + 0x1440], xmm7
movaps xmmword [rsp + 0x1430], xmm8
movaps xmmword [rsp + 0x1420], xmm9
movaps xmmword [rsp + 0x1410], xmm10
mov rax, qword [0x180059040]
xor rax, rsp
mov qword [rbp + 0x1300], rax
mov ecx, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x180004d44
cmp byte [0x1800a4291], 0
je 0x180004d44
mov rcx, qword [0x1800a4268]
call fcn.180007c30
test al, al
jne 0x180004d44
mov rdi, qword [0x1800a4268]
mov rcx, rdi
call fcn.180007a20
mov rsi, rax
mov rbx, qword [rdi]
mov rcx, rdi
call fcn.180007940
mov rcx, qword [rbx]
mov r10, qword [rcx + 0x2f0]
lea r9, str.Lnet_minecraft_client_settings_GameSettings_
lea r8, str.gameSettings
mov rdx, rax
mov rcx, rbx
call r10
mov r10, qword [rdi]
mov rcx, qword [r10]
mov r9, qword [rcx + 0x2f8]
mov r8, rax
mov rdx, rsi
mov rcx, r10
call r9
mov rbx, rax
mov rcx, qword [rdi]
mov rax, qword [rcx]
mov r8, qword [rax + 0xb8]
mov rdx, rsi
call r8
mov ecx, 0x10
call fcn.180047f80
mov r15, rax
mov qword [rsp + 0x20], rax
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov rcx, qword [0x1800a4298]
mov qword [rax], rcx
mov r9, qword [0x1800a4298]
mov qword [rax + 8], rbx
mov qword [rsp + 0x68], rax
mov rcx, qword [0x1800a3aa0]
cmp qword [rcx + 8], 0
je 0x180004d22
mov rcx, qword [0x1800a3aa8]
cmp qword [rcx + 8], 0
je 0x180004d22
cmp byte [0x1800a4292], 0
je 0x18000447a
mov rax, qword [r9]
mov r8, qword [rax + 0xf8]
mov rdx, rbx
mov rcx, r9
call r8
mov r11, qword [r15]
mov rcx, qword [r11]
mov r10, qword [rcx + 0x2f0]
lea r9, [0x18004a80c]
lea r8, str.fovSetting
mov rdx, rax
mov rcx, r11
call r10
mov r10, qword [r15]
mov rcx, qword [r10]
mov r9, qword [rcx + 0x330]
mov r8, rax
mov rdx, qword [r15 + 8]
mov rcx, r10
call r9
movss dword [0x1800a3a50], xmm0
mov rcx, qword [0x1800a3aa8]
movsd xmm8, qword [0x180050c70]
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x28], xmm1
lea rdx, [rsp + 0x48]
call fcn.180006e70
nop
mov r13, qword [rsp + 0x50]
mov r12d, 0xffffffff
mov rcx, qword [rsp + 0x48]
cmp rcx, r13
je 0x1800046f8
lea r14, [rcx + 8]
movsd xmm9, qword [0x180050c60]
nop dword [rax]
xorps xmm0, xmm0
movups xmmword [rsp + 0x38], xmm0
mov rax, qword [r14]
test rax, rax
je 0x1800044d4
lock inc dword [rax + 8]
mov rsi, qword [r14 - 8]
mov qword [rsp + 0x38], rsi
mov rdi, qword [r14]
mov qword [rsp + 0x40], rdi
mov rax, qword [0x1800a3aa0]
mov r8, qword [rax + 8]
mov rcx, qword [0x1800a4298]
mov rax, qword [rcx]
mov r9, qword [rax + 0xc0]
mov rdx, qword [rsi + 8]
call r9
test al, al
jne 0x1800046a1
mov r15, qword [0x1800a3aa0]
mov rdx, qword [r15 + 8]
test rdx, rdx
je 0x180004580
mov rcx, qword [r15]
mov rax, qword [rcx]
mov r8, qword [rax + 0xf8]
call r8
mov rbx, rax
mov r11, qword [r15]
mov rcx, qword [r11]
mov r10, qword [rcx + 0x108]
lea r9, [0x18004ac28]
lea r8, str.isInvisible
mov rdx, rax
mov rcx, r11
call r10
mov r8, rax
mov rdx, qword [r15 + 8]
mov rcx, qword [r15]
call fcn.180006e10
mov rcx, qword [r15]
mov rax, qword [rcx]
mov r8, qword [rax + 0xb8]
mov rdx, rbx
call r8
mov r15, qword [0x1800a3aa0]
mov rcx, r15
call fcn.180007230
movaps xmm7, xmm0
mov rcx, rsi
call fcn.180007230
subsd xmm7, xmm0
mov rcx, qword [0x1800a3aa0]
call fcn.1800070f0
movaps xmm6, xmm0
mov rcx, rsi
call fcn.1800070f0
subsd xmm6, xmm0
movaps xmm1, xmm9
movaps xmm0, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
movaps xmm7, xmm0
movaps xmm1, xmm9
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
addsd xmm7, xmm0
xorps xmm1, xmm1
ucomisd xmm1, xmm7
ja 0x1800045e0
sqrtsd xmm7, xmm7
jmp 0x1800045eb
movaps xmm0, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrt
movaps xmm7, xmm0
mov rcx, qword [0x1800a3aa0]
call fcn.180007190
movaps xmm6, xmm0
mov rcx, rsi
call fcn.180007190
subsd xmm6, xmm0
movaps xmm1, xmm9
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
movaps xmm6, xmm0
movaps xmm1, xmm9
movaps xmm0, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
addsd xmm6, xmm0
xorps xmm1, xmm1
ucomisd xmm1, xmm6
ja 0x180004634
sqrtsd xmm6, xmm6
jmp 0x18000463f
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrt
movaps xmm6, xmm0
comisd xmm8, xmm6
jbe 0x1800046a1
test rdi, rdi
je 0x180004659
lock inc dword [rdi + 8]
mov rdi, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x38]
mov qword [rsp + 0x28], rsi
mov rbx, qword [rsp + 0x30]
mov qword [rsp + 0x30], rdi
test rbx, rbx
je 0x18000469d
mov eax, r12d
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x180004698
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, r12d
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x180004698
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
mov rdi, qword [rsp + 0x40]
movaps xmm8, xmm6
test rdi, rdi
je 0x1800046d8
mov eax, r12d
lock xadd dword [rdi + 8], eax
cmp eax, 1
jne 0x1800046d8
mov rbx, qword [rsp + 0x40]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, r12d
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x1800046d8
mov rcx, qword [rsp + 0x40]
mov rax, qword [rcx]
call qword [rax + 8]
add r14, 0x10
lea rax, [r14 - 8]
cmp rax, r13
jne 0x1800044c0
mov r13, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x48]
mov r15, qword [rsp + 0x20]
test rcx, rcx
je 0x180004743
mov rdx, r13
call fcn.180004ef0
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x48]
sub rdx, rcx
and rdx, 0xfffffffffffffff0
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000473e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18000473e
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180048334
lea rdx, [rsp + 0x48]
mov rcx, qword [0x1800a3aa0]
call fcn.1800072d0
nop
mov rsi, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x48]
cmp byte [0x1800a42a0], 0
je 0x180004865
lea rcx, [rsp + 0x48]
cmp rsi, 0xf
cmova rcx, rdi
mov rbx, qword [rsp + 0x58]
cmp rbx, 0xe
jne 0x18000479b
mov r8, rbx
lea rdx, str.item.swordIron
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x180004865
lea rcx, [rsp + 0x48]
cmp rsi, 0xf
cmova rcx, rdi
cmp rbx, 0xe
jne 0x1800047c5
mov r8, rbx
lea rdx, str.item.swordWood
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x180004865
lea rcx, [rsp + 0x48]
cmp rsi, 0xf
cmova rcx, rdi
cmp rbx, 0xf
jne 0x1800047eb
mov r8, rbx
lea rdx, str.item.swordStone
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x180004865
lea rcx, [rsp + 0x48]
cmp rsi, 0xf
cmova rcx, rdi
cmp rbx, 0x11
jne 0x180004811
mov r8, rbx
lea rdx, str.item.swordDiamond
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x180004865
lea rcx, [rsp + 0x48]
cmp rsi, 0xf
cmova rcx, rdi
cmp rbx, 0xe
jne 0x180004837
mov r8, rbx
lea rdx, str.item.swordGold
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x180004865
lea rcx, [rsp + 0x48]
cmp rsi, 0xf
cmova rcx, rdi
cmp rbx, 0xf
jne 0x180004cab
mov r8, rbx
lea rdx, str.item.fishingRod
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x180004cab
cmp qword [rsp + 0x28], 0
je 0x180004cab
mov r14, qword [0x1800a3aa0]
mov rdx, qword [r14 + 8]
xorps xmm9, xmm9
test rdx, rdx
jne 0x18000488b
xorps xmm10, xmm10
jmp 0x1800048fa
mov rcx, qword [r14]
mov rax, qword [rcx]
mov r8, qword [rax + 0xf8]
call r8
mov rbx, rax
mov r11, qword [r14]
mov rcx, qword [r11]
mov r10, qword [rcx + 0x2f0]
lea r9, [0x18004a80c]
lea r8, str.rotationYaw
mov rdx, rax
mov rcx, r11
call r10
mov r10, qword [r14]
mov rcx, qword [r10]
mov r9, qword [rcx + 0x330]
mov r8, rax
mov rdx, qword [r14 + 8]
mov rcx, r10
call r9
movaps xmm10, xmm0
mov rcx, qword [r14]
mov rax, qword [rcx]
mov r8, qword [rax + 0xb8]
mov rdx, rbx
call r8
mov r14, qword [0x1800a3aa0]
mov rdx, qword [r14 + 8]
test rdx, rdx
je 0x180004967
mov rcx, qword [r14]
mov rax, qword [rcx]
mov r8, qword [rax + 0xf8]
call r8
mov rbx, rax
mov r11, qword [r14]
mov rcx, qword [r11]
mov r10, qword [rcx + 0x2f0]
lea r9, [0x18004a80c]
lea r8, str.rotationPitch
mov rdx, rax
mov rcx, r11
call r10
mov r10, qword [r14]
mov rcx, qword [r10]
mov r9, qword [rcx + 0x330]
mov r8, rax
mov rdx, qword [r14 + 8]
mov rcx, r10
call r9
mov rcx, qword [r14]
mov rax, qword [rcx]
mov r8, qword [rax + 0xb8]
mov rdx, rbx
call r8
mov rbx, qword [rsp + 0x28]
mov rcx, rbx
call fcn.180007230
movaps xmm8, xmm0
mov rcx, rbx
call fcn.180007190
mov rcx, rbx
call fcn.1800070f0
movaps xmm7, xmm0
mov rcx, qword [0x1800a3aa0]
call fcn.180007230
movaps xmm6, xmm0
mov rcx, qword [0x1800a3aa0]
call fcn.180007190
mov rcx, qword [0x1800a3aa0]
call fcn.1800070f0
subsd xmm7, xmm0
subsd xmm8, xmm6
movaps xmm1, xmm7
movaps xmm0, xmm8
call sub.api_ms_win_crt_math_l1_1_0.dll_atan2
mulsd xmm0, qword [0x180050ca8]
divsd xmm0, qword [0x180050c68]
subsd xmm0, qword [0x180050c90]
cvtsd2ss xmm0, xmm0
movaps xmm1, xmm10
subss xmm1, xmm0
xorps xmm1, xmmword [0x180051160]
movaps xmm6, xmm1
movss xmm4, dword [0x180050e20]
movss xmm2, dword [0x180050d88]
comiss xmm1, xmm2
jb 0x180004a19
nop word [rax + rax]
addss xmm6, xmm4
comiss xmm6, xmm2
jae 0x180004a10
movss xmm0, dword [0x180050e1c]
movss xmm3, dword [0x180050dac]
comiss xmm0, xmm6
jbe 0x180004a39
nop
addss xmm6, xmm3
comiss xmm0, xmm6
ja 0x180004a30
comiss xmm1, xmm2
jb 0x180004a49
nop
addss xmm1, xmm4
comiss xmm1, xmm2
jae 0x180004a40
comiss xmm0, xmm1
jbe 0x180004a59
nop
addss xmm1, xmm3
comiss xmm0, xmm1
ja 0x180004a50
andps xmm1, xmmword [0x180051150]
movd xmm0, dword [0x1800a3a28]
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm1
jb 0x180004cab
call qword [sym.imp.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_]
mov dword [rbp + 0x12f4], 0xffffffff
mov dword [rsp + 0x74], eax
mov edx, 1
mov r9d, 0x270
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 [rsp + rdx*4 + 0x74], eax
inc rdx
cmp rdx, r9
jb 0x180004aa0
mov dword [rsp + 0x70], r9d
movd xmm2, dword [0x1800a3a24]
cvtdq2ps xmm2, xmm2
movaps xmm3, xmm2
addss xmm3, dword [0x180050cb0]
subss xmm2, dword [0x180050cb0]
movss xmm0, dword [0x180050c14]
lea r8, [rsp + 0x78]
nop dword [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 0x180004af0
mov eax, dword [rsp + 0x70]
mov ecx, dword [rsp + rax*4 + 0x74]
mov eax, ecx
shr eax, 0xb
and eax, dword [rbp + 0x12f4]
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 eax, ecx
shr eax, 0x12
xor eax, ecx
xorps xmm1, xmm1
cvtsi2ss xmm1, rax
subss xmm1, xmm9
mulss xmm1, xmm0
addss xmm1, xmm9
mulss xmm0, dword [0x180050de0]
divss xmm1, xmm0
subss xmm3, xmm2
mulss xmm1, xmm3
addss xmm1, xmm2
movss xmm0, dword [0x180050d6c]
divss xmm0, xmm1
divss xmm6, xmm0
xorps xmm1, xmm1
cvtss2sd xmm1, xmm6
mulsd xmm1, qword [0x180050c30]
xorps xmm0, xmm0
cvtss2sd xmm0, xmm10
addsd xmm1, xmm0
cvtpd2ps xmm6, xmm1
mov r14, qword [0x1800a3aa0]
mov rdx, qword [r14 + 8]
test rdx, rdx
je 0x180004c2e
mov rcx, qword [r14]
mov rax, qword [rcx]
mov r9, qword [rax + 0xf8]
call r9
mov rbx, rax
mov r11, qword [r14]
mov rcx, qword [r11]
mov r10, qword [rcx + 0x2f0]
lea r9, [0x18004a80c]
lea r8, str.rotationYaw
mov rdx, rax
mov rcx, r11
call r10
mov rcx, qword [r14]
mov rdx, qword [rcx]
mov r9, qword [rdx + 0x378]
movaps xmm3, xmm6
mov r8, rax
mov rdx, qword [r14 + 8]
call r9
mov rcx, qword [r14]
mov rax, qword [rcx]
mov r8, qword [rax + 0xb8]
mov rdx, rbx
call r8
mov ecx, 1
call qword [sym.imp.KERNEL32.dll_Sleep]
mov r14, qword [0x1800a3aa0]
mov rdx, qword [r14 + 8]
test rdx, rdx
je 0x180004cab
mov rcx, qword [r14]
mov rax, qword [rcx]
mov r8, qword [rax + 0xf8]
call r8
mov rbx, rax
mov rcx, qword [r14]
mov rdx, qword [rcx]
mov r10, qword [rdx + 0x2f0]
lea r9, [0x18004a80c]
lea r8, str.prevRotationYaw
mov rdx, rax
call r10
mov rcx, qword [r14]
mov rdx, qword [rcx]
mov r9, qword [rdx + 0x378]
movaps xmm3, xmm6
mov r8, rax
mov rdx, qword [r14 + 8]
call r9
mov rcx, qword [r14]
mov rax, qword [rcx]
mov r8, qword [rax + 0xb8]
mov rdx, rbx
call r8
nop
cmp rsi, 0xf
jbe 0x180004ce6
lea rdx, [rsi + 1]
mov rax, rdi
cmp rdx, 0x1000
jb 0x180004cdd
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180004cdd
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, rdi
call fcn.180048334
nop
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x180004d22
mov eax, r12d
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x180004d22
mov rbx, qword [rsp + 0x30]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
lock xadd dword [rbx + 0xc], r12d
cmp r12d, 1
jne 0x180004d22
mov rcx, qword [rsp + 0x30]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rcx, qword [r15]
mov rax, qword [rcx]
mov r8, qword [rax + 0xb8]
mov rdx, qword [r15 + 8]
call r8
nop
mov edx, 0x10
mov rcx, r15
call fcn.180048334
mov rcx, qword [rbp + 0x1300]
xor rcx, rsp
call fcn.180047f60
lea r11, [rsp + 0x1460]
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]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret