Function at 0x18009bdd0
Capabilities:
Check for unmoving mouse cursor
Encode data using xor
Generate random numbers using a mersenne twister

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1560]
mov eax, 0x1660
call fcn.1800cf8f0
sub rsp, rax
movaps xmmword [rsp + 0x1650], xmm6
movaps xmmword [rsp + 0x1640], xmm7
movaps xmmword [rsp + 0x1630], xmm8
movaps xmmword [rsp + 0x1620], xmm9
movaps xmmword [rsp + 0x1610], xmm10
movaps xmmword [rsp + 0x1600], xmm11
movaps xmmword [rsp + 0x15f0], xmm12
movaps xmmword [rsp + 0x15e0], xmm13
movaps xmmword [rsp + 0x15d0], xmm14
movaps xmmword [rsp + 0x15c0], xmm15
mov rax, qword [0x180106040]
xor rax, rsp
mov qword [rbp + 0x14b0], rax
mov r13, rcx
xor ebx, ebx
cmp byte [rcx + 0x48], bl
je 0x18009d32e
cmp byte [0x1801d5220], bl
jne 0x18009d32e
call fcn.18004cdf0
mov rcx, rax
call fcn.18004d5f0
test al, al
je 0x18009d32e
mov rdi, qword [0x1801d4b38]
mov rax, qword [0x1801d4b80]
mov rdx, qword [rax]
mov rax, qword [rdi]
mov r9, qword [rax + 0x2f8]
mov r8, qword [0x1801d4cd0]
mov rcx, rdi
call r9
mov rdx, qword [rdi]
mov r9, qword [rdx + 0xc0]
xor r8d, r8d
mov rdx, rax
mov rcx, rdi
call r9
test al, al
je 0x18009d32e
call fcn.18004cdf0
mov rdx, qword [rax + 0xa0]
test rdx, rdx
je 0x18009bf06
mov rcx, qword [0x1801d4b38]
mov rax, qword [rcx]
mov r8, qword [rax + 0xa8]
call r8
mov qword [rbp + 0x38], rax
jmp 0x18009bf0a
mov qword [rbp + 0x38], rbx
xorps xmm0, xmm0
movups xmmword [rbp + 0xe0], xmm0
movups xmmword [rbp + 0xf0], xmm0
movups xmmword [rbp + 0x100], xmm0
movups xmmword [rbp + 0x110], xmm0
mov rax, qword [0x1801d4b80]
mov rdi, qword [rax + 8]
mov rdx, rdi
lea rcx, [rbp + 0xe0]
call fcn.18004f880
mov rax, qword [rdi + 0x38]
mov qword [rbp + 0x118], rax
lea rdx, [rsp + 0x38]
lea rcx, [rbp + 0xe0]
call fcn.1800b42f0
xorps xmm11, xmm11
mov r12, qword [rbp + 0xe0]
test r12, r12
je 0x18009bffd
mov rcx, qword [0x1801d4b38]
mov rax, qword [rcx]
mov r9, qword [rax + 0xc0]
xor r8d, r8d
mov rdx, r12
call r9
test al, al
jne 0x18009bffd
mov rdi, qword [0x1801d4b38]
mov rax, qword [rdi]
mov r9, qword [rax + 0xc0]
xor r8d, r8d
mov rdx, r12
mov rcx, rdi
call r9
test al, al
jne 0x18009bfe4
mov rax, qword [rdi]
mov r9, qword [rax + 0x330]
mov r8, qword [0x1801d4c48]
mov rdx, r12
mov rcx, rdi
call r9
movss dword [rsp + 0x30], xmm0
lea rcx, [rbp + 0xe0]
call fcn.1800b4860
movaps xmm10, xmm0
jmp 0x18009c00f
movss dword [rsp + 0x30], xmm11
lea rcx, [rbp + 0xe0]
call fcn.1800b4860
movaps xmm10, xmm0
jmp 0x18009c00f
movss xmm6, dword [0x1800e8170]
movss dword [rsp + 0x30], xmm6
movaps xmm10, xmm6
movss dword [rsp + 0x4c], xmm10
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x40], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x50], xmm1
movups xmmword [rbp + 0x60], xmm0
movsd qword [rbp + 0x70], xmm0
movss xmm13, dword [0x1800e816c]
movss xmm14, dword [0x1800e8128]
movaps xmm15, xmm13
mov rax, qword [r13 + 0x70]
movss xmm0, dword [rax + 8]
movss dword [rsp + 0x48], xmm0
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0xb0], xmm0
mov qword [rbp + 0xc0], rax
lea rdx, [rbp + 0xb0]
lea rcx, [rbp + 0x38]
call fcn.18004e2e0
nop
mov rax, qword [rbp + 0xb0]
mov qword [rbp + 0x28], rax
cmp rax, qword [rbp + 0xb8]
je 0x18009d2bc
movss xmm12, dword [0x1800e8520]
movsd xmm6, qword [0x1800e7e80]
mov r14, qword [rbp + 0x40]
nop word [rax + rax]
xorps xmm0, xmm0
xor ecx, ecx
movups xmmword [rbp + 0x78], xmm0
movups xmmword [rbp + 0x88], xmm0
movups xmmword [rbp + 0x98], xmm0
mov qword [rbp + 0xa8], rcx
mov rdx, rax
lea rcx, [rbp + 0x78]
call fcn.18004f880
nop
mov rsi, qword [rbp + 0x78]
test rsi, rsi
je 0x18009c6a2
mov rcx, qword [0x1801d4b38]
mov rax, qword [rcx]
mov r9, qword [rax + 0xc0]
xor r8d, r8d
mov rdx, rsi
call r9
test al, al
jne 0x18009c6a2
call fcn.1800a1810
cmp byte [rax + 0x48], 0
je 0x18009c15c
call fcn.1800a1810
mov rdi, rax
lea rdx, [rbp + 0x78]
lea rcx, [rbp - 0x48]
call fcn.18004f880
lea rdx, [rbp - 0x48]
mov rcx, rdi
call fcn.18009ac80
test al, al
je 0x18009c15c
mov rcx, qword [0x1801d4b38]
test rcx, rcx
je 0x18009c157
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
mov rdx, rsi
call r8
nop
jmp 0x18009c6c4
call fcn.1800a2b60
cmp byte [rax + 0x48], 0
je 0x18009c1a8
call fcn.1800a2b60
lea rdx, [rbp + 0x78]
lea rcx, [rbp - 0x10]
call fcn.18004f880
lea rdx, [rbp - 0x10]
call fcn.18009af60
test al, al
je 0x18009c1a8
mov rcx, qword [0x1801d4b38]
test rcx, rcx
je 0x18009c1a3
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
mov rdx, rsi
call r8
nop
jmp 0x18009c6c4
lea rdx, [rbp - 0x68]
call fcn.1800b4120
lea rcx, [rbp - 0x68]
call fcn.180041ed0
mov rcx, qword [0x1801d4b38]
mov rax, qword [rcx]
mov r9, qword [rax + 0xc0]
mov r15, qword [rbp + 0x78]
mov r8, r15
mov rdx, r12
call r9
test al, al
jne 0x18009c67e
mov rdi, qword [0x1801d4b38]
cmp dword [0x1801cc364], 7
jne 0x18009c20e
mov rax, qword [rdi]
mov r9, qword [rax + 0x100]
mov r8, qword [0x1801d4e28]
mov rdx, r15
mov rcx, rdi
call r9
test al, al
je 0x18009c227
mov r9, r15
mov r8, qword [0x1801d4c58]
mov rdx, r12
mov rcx, rdi
call fcn.1800ab5e0
test al, al
jne 0x18009c24e
mov rcx, qword [0x1801d4b38]
test rcx, rcx
je 0x18009c249
test r15, r15
je 0x18009c249
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
mov rdx, r15
call r8
nop
jmp 0x18009c6c4
mov rdi, qword [0x1801d4b38]
cmp dword [0x1801cc364], 7
jne 0x18009c2a2
test r14, r14
je 0x18009c29c
mov rax, qword [rdi]
mov r9, qword [rax + 0xc0]
xor r8d, r8d
mov rdx, r14
mov rcx, rdi
call r9
test al, al
jne 0x18009c29c
mov rax, qword [rdi]
mov r9, qword [rax + 0x330]
mov r8, qword [0x1801d5050]
mov rdx, r14
mov rcx, rdi
call r9
movaps xmm6, xmm0
jmp 0x18009c307
movaps xmm6, xmm11
jmp 0x18009c307
test r14, r14
je 0x18009c2f4
mov rax, qword [rdi]
mov r9, qword [rax + 0xc0]
xor r8d, r8d
mov rdx, r14
mov rcx, rdi
call r9
test al, al
jne 0x18009c2f4
mov rdx, r14
mov rcx, rdi
cmp dword [0x1801cc364], 7
jne 0x18009c2de
mov r8, qword [0x1801d5000]
call fcn.18009a550
jmp 0x18009c2f8
mov rax, qword [rdi]
mov r9, qword [rax + 0x330]
mov r8, qword [0x1801d4c28]
call r9
jmp 0x18009c2f8
movaps xmm0, xmm11
cvtss2sd xmm0, xmm0
subsd xmm0, xmm6
xorps xmm6, xmm6
cvtsd2ss xmm6, xmm0
lea rdx, [rsp + 0x58]
lea rcx, [rbp + 0x78]
call fcn.1800b4180
movss xmm1, dword [rax + 8]
addss xmm1, xmm11
addss xmm6, dword [rax + 4]
movss xmm0, dword [rax]
addss xmm0, xmm11
subss xmm0, dword [rsp + 0x38]
cvtps2pd xmm8, xmm0
subss xmm6, dword [rsp + 0x3c]
xorps xmm9, xmm9
cvtss2sd xmm9, xmm6
subss xmm1, dword [rsp + 0x40]
cvtps2pd xmm6, xmm1
movaps xmm2, xmm6
mulsd xmm2, xmm6
movaps xmm0, xmm8
mulsd xmm0, xmm8
addsd xmm2, xmm0
xorps xmm0, xmm0
ucomisd xmm0, xmm2
ja 0x18009c372
sqrtpd xmm7, xmm2
jmp 0x18009c37d
movaps xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrt
movaps xmm7, xmm0
movaps xmm1, xmm8
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_atan2
xorps xmm2, xmm2
cvtsd2ss xmm2, xmm0
mulss xmm2, dword [0x1800e80fc]
cvtps2pd xmm3, xmm2
divsd xmm3, qword [0x1800e7ef8]
cvtpd2ps xmm6, xmm3
subss xmm6, dword [0x1800e80c0]
movaps xmm1, xmm7
movaps xmm0, xmm9
call sub.api_ms_win_crt_math_l1_1_0.dll_atan2
xorps xmm0, xmmword [0x1800e8510]
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
mulss xmm1, dword [0x1800e80fc]
cvtps2pd xmm2, xmm1
divsd xmm2, qword [0x1800e7ef8]
cvtpd2ps xmm0, xmm2
movss xmm3, dword [rsp + 0x30]
xorps xmm3, xmm12
xorps xmm6, xmm12
subss xmm3, xmm6
movaps xmm1, xmm10
xorps xmm1, xmm12
xorps xmm0, xmm12
subss xmm1, xmm0
unpcklps xmm3, xmm1
movq rcx, xmm3
call fcn.1800ca1c0
mov qword [rbp + 0x30], rax
movss xmm8, dword [rbp + 0x30]
comiss xmm11, xmm8
jbe 0x18009c423
xorps xmm8, xmm12
lea rdx, [rbp + 0xc8]
lea rcx, [rbp + 0x78]
call fcn.1800b4180
lea rdx, [rsp + 0x7c]
lea rcx, [rbp + 0xe0]
call fcn.1800b4180
mov rsi, rax
lea rdx, [rbp - 0x78]
lea rcx, [rbp + 0x78]
call fcn.1800b4180
mov rdi, rax
movss xmm0, dword [rsi + 8]
subss xmm0, dword [rax + 8]
movss xmm6, dword [rsi + 4]
subss xmm6, dword [rax + 4]
cvtps2pd xmm0, xmm0
movsd xmm9, qword [0x1800e7ef0]
movaps xmm1, xmm9
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
movaps xmm7, xmm0
cvtps2pd xmm0, xmm6
movaps xmm1, xmm9
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
movaps xmm6, xmm0
movss xmm1, dword [rsi]
subss xmm1, dword [rdi]
cvtps2pd xmm0, xmm1
movaps xmm1, xmm9
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
addsd xmm0, xmm6
addsd xmm0, xmm7
xorps xmm1, xmm1
ucomisd xmm1, xmm0
ja 0x18009c4bd
sqrtsd xmm0, xmm0
jmp 0x18009c4c2
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrt
xorps xmm6, xmm6
cvtsd2ss xmm6, xmm0
mov rax, qword [r13 + 0x88]
movss xmm1, dword [rax + 8]
movaps xmm0, xmm8
andps xmm0, xmmword [0x1800e8500]
comiss xmm1, xmm0
jb 0x18009c676
movss xmm0, dword [rsp + 0x48]
comiss xmm0, xmm6
jb 0x18009c676
mov r8, qword [0x1801d4fb8]
mov rdx, r15
mov rcx, qword [0x1801d4b38]
call fcn.18009a550
movaps xmm7, xmm0
mov rcx, qword [r13 + 0xa8]
mov edx, dword [rcx + 8]
sub edx, 1
je 0x18009c5e7
cmp edx, 1
je 0x18009c58b
comiss xmm13, xmm6
jbe 0x18009c676
test r14, r14
je 0x18009c54f
mov rcx, qword [0x1801d4b38]
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
mov rdx, r14
call r8
test r15, r15
je 0x18009c57b
mov rcx, qword [0x1801d4b38]
mov rax, qword [rcx]
mov r8, qword [rax + 0xa8]
mov rdx, r15
call r8
mov r14, rax
mov qword [rbp + 0x40], rax
movaps xmm13, xmm6
jmp 0x18009c63d
mov r14, rbx
mov qword [rbp + 0x40], rbx
movaps xmm13, xmm6
jmp 0x18009c63d
comiss xmm14, xmm8
jbe 0x18009c676
test r14, r14
je 0x18009c5b1
mov rcx, qword [0x1801d4b38]
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
mov rdx, r14
call r8
test r15, r15
je 0x18009c5da
mov rcx, qword [0x1801d4b38]
mov rax, qword [rcx]
mov r8, qword [rax + 0xa8]
mov rdx, r15
call r8
mov r14, rax
mov qword [rbp + 0x40], rax
movaps xmm14, xmm8
jmp 0x18009c63d
mov r14, rbx
mov qword [rbp + 0x40], rbx
movaps xmm14, xmm8
jmp 0x18009c63d
comiss xmm15, xmm7
jbe 0x18009c676
test r14, r14
je 0x18009c60d
mov rcx, qword [0x1801d4b38]
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
mov rdx, r14
call r8
test r15, r15
je 0x18009c632
mov rcx, qword [0x1801d4b38]
mov rax, qword [rcx]
mov r8, qword [rax + 0xa8]
mov rdx, r15
call r8
mov r14, rax
mov qword [rbp + 0x40], rax
jmp 0x18009c639
mov r14, rbx
mov qword [rbp + 0x40], rbx
movaps xmm15, xmm7
mov rax, qword [rbp + 0x80]
mov qword [rbp + 0x48], rax
mov rax, qword [rbp + 0x88]
movups xmm0, xmmword [rbp + 0x98]
mov qword [rbp + 0x50], rax
movups xmmword [rbp + 0x60], xmm0
mov rax, qword [rbp + 0x90]
movsd xmm0, qword [rbp + 0xa8]
mov qword [rbp + 0x58], rax
movsd qword [rbp + 0x70], xmm0
movsd xmm6, qword [0x1800e7e80]
mov rcx, qword [0x1801d4b38]
test rcx, rcx
je 0x18009c6a0
test r15, r15
je 0x18009c6a0
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
mov rdx, r15
call r8
nop
jmp 0x18009c6c4
mov rcx, qword [0x1801d4b38]
test rcx, rcx
je 0x18009c6c4
test rsi, rsi
je 0x18009c6c4
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
mov rdx, rsi
call r8
nop
mov rax, qword [rbp + 0x28]
add rax, 0x38
mov qword [rbp + 0x28], rax
cmp rax, qword [rbp + 0xb8]
jne 0x18009c0b0
test r14, r14
je 0x18009d2bc
mov rax, qword [r13 + 0xa0]
cmp dword [rax + 8], 0
jne 0x18009ccfd
lea rdx, [rsp + 0x58]
lea rcx, [rbp + 0x40]
call fcn.1800b4180
mov rdi, qword [0x1801d4b38]
mov rax, qword [rdi]
mov r9, qword [rax + 0x338]
mov r8, qword [0x1801d4f38]
mov rdx, r14
mov rcx, rdi
call r9
xorps xmm14, xmm14
cvtsd2ss xmm14, xmm0
mov rax, qword [rdi]
mov r9, qword [rax + 0x338]
mov r8, qword [0x1801d4f28]
mov rdx, r14
mov rcx, rdi
call r9
xorps xmm9, xmm9
cvtsd2ss xmm9, xmm0
mov rax, qword [rdi]
mov r9, qword [rax + 0x338]
mov r8, qword [0x1801d4d78]
mov rdx, r14
mov rcx, rdi
call r9
xorps xmm10, xmm10
cvtsd2ss xmm10, xmm0
mov rdi, qword [0x1801d4b38]
mov rax, qword [rdi]
mov r9, qword [rax + 0xc0]
xor r8d, r8d
mov rdx, r14
mov rcx, rdi
call r9
test al, al
jne 0x18009c7c9
mov rdx, r14
mov rcx, rdi
cmp dword [0x1801cc364], 7
jne 0x18009c7b3
mov r8, qword [0x1801d5000]
call fcn.18009a550
jmp 0x18009c7cd
mov rax, qword [rdi]
mov r9, qword [rax + 0x330]
mov r8, qword [0x1801d4c28]
call r9
jmp 0x18009c7cd
movaps xmm0, xmm11
cvtss2sd xmm0, xmm0
subsd xmm0, xmm6
xorps xmm12, xmm12
cvtsd2ss xmm12, xmm0
movss xmm15, dword [rsp + 0x60]
movaps xmm7, xmm15
addss xmm7, xmm11
movss dword [rsp + 0x78], xmm7
movss xmm1, dword [rsp + 0x5c]
movaps xmm8, xmm1
addss xmm8, xmm12
movss dword [rbp + 0xc8], xmm8
movss xmm0, dword [rsp + 0x58]
movaps xmm2, xmm0
addss xmm2, xmm11
movss dword [rsp + 0x48], xmm2
movaps xmm13, xmm10
addss xmm13, xmm11
addss xmm12, xmm9
movaps xmm2, xmm14
addss xmm2, xmm11
movss dword [rbp + 0x28], xmm2
subss xmm0, dword [rsp + 0x38]
cvtps2pd xmm2, xmm0
movsd qword [rbp + 0x30], xmm2
subss xmm1, dword [rsp + 0x3c]
cvtps2pd xmm0, xmm1
movsd qword [rsp + 0x50], xmm0
movaps xmm0, xmm15
subss xmm0, dword [rsp + 0x40]
cvtps2pd xmm0, xmm0
movsd qword [rsp + 0x70], xmm0
movaps xmm1, xmm0
mulsd xmm1, xmm0
movaps xmm0, xmm2
mulsd xmm0, xmm2
addsd xmm1, xmm0
xorps xmm0, xmm0
ucomisd xmm0, xmm1
ja 0x18009c88d
sqrtpd xmm6, xmm1
jmp 0x18009c89d
movaps xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrt
movaps xmm6, xmm0
movsd xmm2, qword [rbp + 0x30]
movaps xmm1, xmm2
movsd xmm0, qword [rsp + 0x70]
call sub.api_ms_win_crt_math_l1_1_0.dll_atan2
xorps xmm2, xmm2
cvtsd2ss xmm2, xmm0
mulss xmm2, dword [0x1800e80fc]
cvtps2pd xmm3, xmm2
divsd xmm3, qword [0x1800e7ef8]
cvtpd2ps xmm0, xmm3
subss xmm0, dword [0x1800e80c0]
movss dword [rsp + 0x68], xmm0
movaps xmm1, xmm6
movsd xmm0, qword [rsp + 0x50]
call sub.api_ms_win_crt_math_l1_1_0.dll_atan2
xorps xmm0, xmmword [0x1800e8510]
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
mulss xmm1, dword [0x1800e80fc]
cvtps2pd xmm2, xmm1
divsd xmm2, qword [0x1800e7ef8]
cvtpd2ps xmm0, xmm2
movss dword [rsp + 0x50], xmm0
movss xmm0, dword [rsp + 0x48]
subss xmm0, dword [rsp + 0x38]
cvtps2pd xmm6, xmm0
movaps xmm1, xmm8
subss xmm1, dword [rsp + 0x3c]
cvtps2pd xmm0, xmm1
movsd qword [rbp + 0x30], xmm0
movaps xmm0, xmm7
subss xmm0, dword [rsp + 0x40]
cvtps2pd xmm8, xmm0
movaps xmm1, xmm8
mulsd xmm1, xmm8
movaps xmm0, xmm6
mulsd xmm0, xmm6
addsd xmm1, xmm0
xorps xmm0, xmm0
ucomisd xmm0, xmm1
ja 0x18009c961
sqrtpd xmm7, xmm1
jmp 0x18009c96c
movaps xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrt
movaps xmm7, xmm0
movaps xmm1, xmm6
movaps xmm0, xmm8
call sub.api_ms_win_crt_math_l1_1_0.dll_atan2
xorps xmm2, xmm2
cvtsd2ss xmm2, xmm0
mulss xmm2, dword [0x1800e80fc]
cvtps2pd xmm3, xmm2
divsd xmm3, qword [0x1800e7ef8]
cvtpd2ps xmm6, xmm3
subss xmm6, dword [0x1800e80c0]
movaps xmm1, xmm7
movsd xmm0, qword [rbp + 0x30]
call sub.api_ms_win_crt_math_l1_1_0.dll_atan2
xorps xmm0, xmmword [0x1800e8510]
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
mulss xmm1, dword [0x1800e80fc]
cvtps2pd xmm2, xmm1
divsd xmm2, qword [0x1800e7ef8]
cvtpd2ps xmm0, xmm2
movss dword [rsp + 0x70], xmm0
movss xmm8, dword [rsp + 0x30]
movss xmm1, dword [0x1800e8520]
xorps xmm8, xmm1
movss xmm7, dword [rsp + 0x4c]
xorps xmm7, xmm1
xorps xmm6, xmm1
movaps xmm2, xmm8
subss xmm2, xmm6
xorps xmm0, xmm1
movaps xmm1, xmm7
subss xmm1, xmm0
unpcklps xmm2, xmm1
movq rcx, xmm2
call fcn.1800ca1c0
mov qword [rbp + 0x30], rax
movss xmm0, dword [rsp + 0x68]
xorps xmm0, xmmword [0x1800e8520]
subss xmm8, xmm0
movss xmm6, dword [rsp + 0x50]
movaps xmm0, xmm6
xorps xmm0, xmmword [0x1800e8520]
subss xmm7, xmm0
unpcklps xmm8, xmm7
movq rcx, xmm8
call fcn.1800ca1c0
mov qword [rsp + 0x50], rax
movss xmm7, dword [rbp + 0x30]
addss xmm7, xmm11
addss xmm7, dword [rsp + 0x30]
call fcn.18004cdf0
movsd xmm0, qword [rax + 0x84]
movsd qword [rsp + 0x38], xmm0
mov edi, dword [rax + 0x8c]
call fcn.18004cdf0
movss xmm4, dword [rax + 0x90]
movss xmm8, dword [rsp + 0x4c]
comiss xmm8, xmm6
ja 0x18009cb6d
movss xmm0, dword [rsp + 0x70]
comiss xmm0, xmm8
ja 0x18009cb6d
movd xmm3, edi
subss xmm3, xmm10
movss xmm2, dword [rsp + 0x3c]
subss xmm2, xmm9
subss xmm10, xmm15
subss xmm9, dword [rsp + 0x5c]
mulss xmm10, xmm4
mulss xmm9, xmm4
movaps xmm1, xmm14
subss xmm1, dword [rsp + 0x58]
mulss xmm1, xmm4
movss xmm0, dword [rsp + 0x38]
subss xmm0, xmm14
addss xmm1, xmm0
movss dword [r13 + 0xb4], xmm1
addss xmm9, xmm2
movss dword [r13 + 0xb8], xmm9
addss xmm10, xmm3
movss dword [r13 + 0xbc], xmm10
addss xmm8, xmm11
mov rdi, qword [0x1801d4b38]
test r12, r12
je 0x18009ccfd
mov rax, qword [rdi]
mov r9, qword [rax + 0xc0]
xor r8d, r8d
mov rdx, r12
mov rcx, rdi
call r9
test al, al
jne 0x18009ccfd
mov rax, qword [rdi]
mov r9, qword [rax + 0x378]
movaps xmm3, xmm7
mov r8, qword [0x1801d4c48]
mov rdx, r12
mov rcx, rdi
call r9
movaps xmm3, xmm8
jmp 0x18009cce3
movaps xmm1, xmm8
addss xmm1, dword [rsp + 0x54]
movaps xmm6, xmm8
addss xmm6, dword [rbp + 0x34]
movaps xmm0, xmm8
subss xmm0, xmm1
movss xmm2, dword [0x1800e8500]
andps xmm0, xmm2
subss xmm8, xmm6
andps xmm8, xmm2
mov eax, 8
mov r8, r13
mov ecx, 0xb8
mov r9, r13
lea edx, [rcx - 4]
comiss xmm0, xmm8
jbe 0x18009cc1f
movd xmm1, edi
subss xmm1, xmm11
movss xmm0, dword [rsp + 0x3c]
subss xmm0, dword [0x1800e7de4]
subss xmm1, xmm13
subss xmm0, xmm12
subss xmm13, dword [rsp + 0x78]
subss xmm12, dword [rbp + 0xc8]
movaps xmm2, xmm4
mulss xmm2, xmm13
movaps xmm9, xmm4
mulss xmm9, xmm12
addss xmm2, xmm1
addss xmm9, xmm0
movss xmm3, dword [rbp + 0x28]
movaps xmm1, xmm3
subss xmm1, dword [rsp + 0x48]
movss xmm0, dword [rsp + 0x38]
subss xmm0, xmm11
subss xmm0, xmm3
jmp 0x18009cc7f
movaps xmm6, xmm1
movd xmm2, edi
subss xmm2, xmm11
movss xmm1, dword [rsp + 0x3c]
subss xmm1, dword [0x1800e7de8]
subss xmm2, xmm10
subss xmm1, xmm9
subss xmm10, xmm15
subss xmm9, dword [rsp + 0x5c]
movaps xmm0, xmm4
mulss xmm0, xmm10
mulss xmm9, xmm4
addss xmm2, xmm0
addss xmm9, xmm1
movaps xmm1, xmm14
subss xmm1, dword [rsp + 0x58]
movss xmm0, dword [rsp + 0x38]
subss xmm0, xmm11
subss xmm0, xmm14
mulss xmm1, xmm4
addss xmm1, xmm0
movss dword [r9 + rdx], xmm1
movss dword [rcx + r8], xmm9
movss dword [rax + r13 + 0xb4], xmm2
mov rdi, qword [0x1801d4b38]
test r12, r12
je 0x18009ccfd
mov rax, qword [rdi]
mov r9, qword [rax + 0xc0]
xor r8d, r8d
mov rdx, r12
mov rcx, rdi
call r9
test al, al
jne 0x18009ccfd
mov rax, qword [rdi]
mov r9, qword [rax + 0x378]
movaps xmm3, xmm7
mov r8, qword [0x1801d4c48]
mov rdx, r12
mov rcx, rdi
call r9
movaps xmm3, xmm6
mov rax, qword [rdi]
mov r8, qword [0x1801d4f60]
mov rdx, r12
mov rcx, rdi
mov r9, qword [rax + 0x378]
call r9
test r14, r14
jne 0x18009cd3c
lea rcx, [rbp + 0xb0]
call fcn.18004dee0
nop
mov rcx, qword [0x1801d4b38]
test rcx, rcx
je 0x18009cd37
test r12, r12
je 0x18009cd37
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
mov rdx, r12
call r8
mov rcx, qword [0x1801d4b38]
jmp 0x18009d312
mov rax, qword [r13 + 0x90]
mov edi, 1
cmp qword [rax + 8], 0
je 0x18009cd8e
mov rcx, qword [0x1801d4b38]
mov rax, qword [rcx]
mov r9, qword [rax + 0x330]
mov r8, qword [0x1801d4fa8]
mov rdx, r12
call r9
ucomiss xmm0, xmm11
jp 0x18009cd75
je 0x18009cd8e
mov r9d, edi
mov r8, qword [0x1801d4c18]
mov rdx, r12
mov rcx, qword [0x1801d4b38]
call fcn.1800ab610
call qword [sym.imp.MSVCP140.dll__Xtime_get_ticks]
mov rcx, rax
movabs rax, 0x346dc5d63886594b
imul rcx
mov rsi, rdx
sar rsi, 0xb
mov rax, rsi
shr rax, 0x3f
add rsi, rax
mov eax, dword [0x1801d4898]
test eax, eax
jne 0x18009cdc7
mov eax, esi
mov dword [0x1801d4898], eax
mov ecx, esi
sub ecx, eax
mov eax, 0x3e8
cdq
idiv dword [0x180110c5c]
cmp ecx, eax
jge 0x18009ce31
lea rcx, [rbp + 0xb0]
call fcn.18004dee0
nop
mov rcx, qword [0x1801d4b38]
test rcx, rcx
je 0x18009ce0b
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
mov rdx, r14
call r8
mov rcx, qword [0x1801d4b38]
test rcx, rcx
je 0x18009ce2c
test r12, r12
je 0x18009ce2c
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
mov rdx, r12
call r8
mov rcx, qword [0x1801d4b38]
jmp 0x18009d312
mov rax, qword [r13 + 0xa0]
mov ecx, dword [rax + 8]
test ecx, ecx
jne 0x18009cea4
lea rcx, [rbp + 0x28]
call qword [sym.imp.USER32.dll_GetCursorPos]
call fcn.18004cdf0
mov byte [rax + 0x9c], dil
movzx r9d, word [rbp + 0x2c]
shl r9d, 0x10
movzx eax, word [rbp + 0x28]
or r9, rax
mov r8, rdi
mov edx, 0x201
mov rcx, qword [0x1801d5228]
call qword [sym.imp.USER32.dll_SendMessageA]
movzx r9d, word [rbp + 0x2c]
shl r9d, 0x10
movzx eax, word [rbp + 0x28]
or r9, rax
xor r8d, r8d
mov edx, 0x202
mov rcx, qword [0x1801d5228]
call qword [sym.imp.USER32.dll_SendMessageA]
jmp 0x18009cf79
cmp ecx, edi
jne 0x18009cf79
lea rcx, [rbp + 0xc8]
call qword [sym.imp.USER32.dll_GetCursorPos]
mov r8, qword [0x1801d4eb0]
mov rdx, r12
mov rcx, qword [0x1801d4b38]
call fcn.1800ab610
mov r15, qword [0x1801d4b38]
mov rax, qword [0x1801d4b80]
mov rdx, qword [rax]
mov rax, qword [r15]
mov r9, qword [rax + 0x2f8]
mov r8, qword [0x1801d4f10]
mov rcx, r15
call r9
mov qword [rbp + 0x30], rax
test rax, rax
je 0x18009cf38
mov rcx, qword [0x1801d4b38]
mov rdx, qword [rcx]
mov r8, qword [rdx + 0xa8]
mov rdx, rax
call r8
mov rbx, rax
mov qword [rbp + 0x28], rax
mov rcx, qword [0x1801d4b38]
mov rdx, qword [rcx]
mov r8, qword [rdx + 0xb8]
mov rdx, qword [rbp + 0x30]
call r8
jmp 0x18009cf3c
mov qword [rbp + 0x28], rbx
mov qword [rsp + 0x20], r14
mov r9, r12
mov r8, qword [0x1801d4f98]
mov rdx, rbx
mov rcx, r15
call fcn.1800ab610
nop
mov rcx, qword [0x1801d4b38]
test rcx, rcx
je 0x18009cf79
test rbx, rbx
je 0x18009cf79
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
mov rdx, rbx
call r8
nop
mov rax, qword [r13 + 0x98]
cmp qword [rax + 8], 0
je 0x18009d0e3
mov rax, qword [r13 + 0xa0]
mov ecx, dword [rax + 8]
test ecx, ecx
jne 0x18009d0ac
lea rcx, [rbp + 0x28]
call qword [sym.imp.USER32.dll_GetCursorPos]
mov r8, qword [0x1801d4fb8]
mov rdx, r14
mov rcx, qword [0x1801d4b38]
call fcn.18009a550
movaps xmm1, xmm0
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___float____ptr64]
lea rdx, [0x1800478c0]
mov rcx, rax
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
movzx r9d, word [rbp + 0x2c]
shl r9d, 0x10
movzx eax, word [rbp + 0x28]
or r9, rax
mov edx, 0x204
mov r8d, 2
mov rcx, qword [0x1801d5228]
call qword [sym.imp.USER32.dll_SendMessageA]
movzx r9d, word [rbp + 0x2c]
shl r9d, 0x10
movzx eax, word [rbp + 0x28]
or r9, rax
xor r8d, r8d
mov edx, 0x205
mov rcx, qword [0x1801d5228]
call qword [sym.imp.USER32.dll_SendMessageA]
call fcn.18004cdf0
mov rcx, rax
call fcn.18004d5f0
test al, al
je 0x18009d0e3
mov rax, qword [0x1801d4b80]
mov rbx, qword [rax + 8]
mov rcx, qword [0x1801d4b38]
mov rax, qword [rcx]
mov r9, qword [rax + 0x330]
mov r8, qword [0x1801d4fa8]
mov rdx, qword [rbx]
call r9
ucomiss xmm0, xmm11
jp 0x18009d096
jne 0x18009d096
mov rcx, qword [0x1801d4b38]
mov rax, qword [rcx]
mov r9, qword [rax + 0x330]
mov r8, qword [0x1801d4df0]
mov rdx, qword [rbx]
call r9
ucomiss xmm0, xmm11
jp 0x18009d096
je 0x18009d0e3
movss xmm1, dword [0x1800e7dd8]
lea rcx, [rbp + 0xe0]
call fcn.1800b3cc0
jmp 0x18009d0e3
cmp ecx, 1
jne 0x18009d0e3
lea rcx, [rbp + 0x30]
call qword [sym.imp.USER32.dll_GetCursorPos]
movzx r9d, word [rbp + 0x34]
shl r9d, 0x10
movzx eax, word [rbp + 0x30]
or r9, rax
mov edx, 0x204
mov r8d, 2
mov rcx, qword [0x1801d5228]
call qword [sym.imp.USER32.dll_SendMessageA]
mov dword [0x1801d4898], esi
call qword [sym.imp.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_]
mov dword [rbp + 0x14a4], 0xffffffff
mov dword [rbp + 0x124], eax
mov r9d, 0x270
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 + 0x124], eax
inc rdi
cmp rdi, r9
jb 0x18009d110
mov dword [rbp + 0x120], r9d
mov rax, qword [r13 + 0x80]
cvttss2si edx, dword [rax + 8]
mov rax, qword [r13 + 0x78]
cvttss2si ecx, dword [rax + 8]
lea eax, [rcx - 0x80000000]
mov r15d, 0x80000000
lea esi, [rcx + r15]
cmp ecx, r15d
cmovae esi, eax
lea eax, [rdx - 0x80000000]
lea ecx, [rdx + r15]
cmp edx, r15d
cmovae ecx, eax
sub ecx, esi
cmp ecx, 0xffffffff
jne 0x18009d207
lea r8, [rbp + 0x128]
nop dword [rax]
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 r9, 1
jne 0x18009d190
mov eax, dword [rbp + 0x120]
mov ecx, dword [rbp + rax*4 + 0x124]
mov eax, ecx
shr eax, 0xb
and eax, dword [rbp + 0x14a4]
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 0x18009d24f
lea ebx, [rcx + 1]
lea rcx, [rbp + 0x120]
call fcn.1800788d0
mov edi, ebx
mov r8d, eax
imul r8, rdi
cmp r8d, ebx
jae 0x18009d24b
mov eax, ebx
neg eax
xor edx, edx
div ebx
mov ebx, edx
cmp r8d, edx
jae 0x18009d24b
lea rcx, [rbp + 0x120]
call fcn.1800788d0
mov r8d, eax
imul r8, rdi
cmp r8d, ebx
jb 0x18009d233
shr r8, 0x20
lea edx, [rsi + r8]
lea eax, [rdx + r15]
lea ecx, [rdx - 0x80000000]
cmp edx, r15d
cmovae ecx, eax
mov dword [0x180110c5c], ecx
lea rcx, [rbp + 0xb0]
call fcn.18004dee0
nop
mov rcx, qword [0x1801d4b38]
test rcx, rcx
je 0x18009d299
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
mov rdx, r14
call r8
mov rcx, qword [0x1801d4b38]
test rcx, rcx
je 0x18009d2ba
test r12, r12
je 0x18009d2ba
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
mov rdx, r12
call r8
mov rcx, qword [0x1801d4b38]
jmp 0x18009d312
mov dword [r13 + 0xb4], 0x7fc00000
mov dword [r13 + 0xb8], 0x7fc00000
mov dword [r13 + 0xbc], 0x7fc00000
lea rcx, [rbp + 0xb0]
call fcn.18004dee0
nop
mov rcx, qword [0x1801d4b38]
test rcx, rcx
je 0x18009d312
test r12, r12
je 0x18009d312
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
mov rdx, r12
call r8
mov rcx, qword [0x1801d4b38]
test rcx, rcx
je 0x18009d32e
mov rdx, qword [rbp + 0x38]
test rdx, rdx
je 0x18009d32e
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
call r8
nop
mov rcx, qword [rbp + 0x14b0]
xor rcx, rsp
call fcn.1800caa50
lea r11, [rsp + 0x1660]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
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