Function at 0x18000e5c0
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 - 0x1550]
mov eax, 0x1650
call fcn.180084af0
sub rsp, rax
movaps xmmword [rsp + 0x1640], xmm6
movaps xmmword [rsp + 0x1630], xmm7
movaps xmmword [rsp + 0x1620], xmm8
movaps xmmword [rsp + 0x1610], xmm9
movaps xmmword [rsp + 0x1600], xmm10
movaps xmmword [rsp + 0x15f0], xmm11
movaps xmmword [rsp + 0x15e0], xmm12
movaps xmmword [rsp + 0x15d0], xmm13
movaps xmmword [rsp + 0x15c0], xmm14
movaps xmmword [rsp + 0x15b0], xmm15
mov rax, qword [0x1800a9010]
xor rax, rsp
mov qword [rbp + 0x14a0], rax
mov r13, rcx
xor r14d, r14d
mov dword [rsp + 0x34], r14d
cmp byte [rcx + 0x30], r14b
je 0x180010644
cmp byte [0x1800ac610], r14b
jne 0x180010644
call fcn.180002400
mov rcx, rax
call fcn.180002a90
test al, al
je 0x180010644
mov rax, qword [0x1800ac618]
mov rdx, qword [rax]
mov rcx, qword [0x1800ac608]
mov rax, qword [rcx]
mov r9, qword [rax + 0x2f8]
mov r8, qword [0x1800ac840]
call r9
mov rcx, qword [0x1800ac608]
mov rdx, qword [rcx]
mov r9, qword [rdx + 0xc0]
xor r8d, r8d
mov rdx, rax
call r9
test al, al
je 0x180010644
call fcn.180002400
mov rdx, qword [rax + 0xa0]
test rdx, rdx
je 0x18000e702
mov rcx, qword [0x1800ac608]
mov rax, qword [rcx]
mov r8, qword [rax + 0xa8]
call r8
mov qword [rbp + 0xe8], rax
jmp 0x18000e709
mov qword [rbp + 0xe8], r14
mov rax, qword [0x1800ac618]
mov rcx, qword [rax + 8]
mov rdx, qword [rcx]
test rdx, rdx
je 0x18000e73f
mov rcx, qword [0x1800ac608]
mov rax, qword [rcx]
mov r8, qword [rax + 0xa8]
call r8
mov rsi, rax
mov qword [rbp + 0xd0], rax
mov rbx, rax
jmp 0x18000e74a
xor esi, esi
mov qword [rbp + 0xd0], rsi
xor ebx, ebx
mov rcx, qword [0x1800ac608]
mov rax, qword [rcx]
mov r9, qword [rax + 0x338]
mov r8, qword [0x1800ac8f0]
mov rdx, rsi
call r9
xorps xmm9, xmm9
cvtsd2ss xmm9, xmm0
movss dword [rsp + 0x38], xmm9
mov rcx, qword [0x1800ac608]
mov rax, qword [rcx]
mov r9, qword [rax + 0x338]
mov r8, qword [0x1800ac8f8]
mov rdx, rsi
call r9
xorps xmm6, xmm6
cvtsd2ss xmm6, xmm0
mov rcx, qword [0x1800ac608]
mov rax, qword [rcx]
mov r9, qword [rax + 0x338]
mov r8, qword [0x1800ac878]
mov rdx, rsi
call r9
xorps xmm7, xmm7
cvtsd2ss xmm7, xmm0
movss dword [rsp + 0x3c], xmm7
xorps xmm14, xmm14
test rbx, rbx
je 0x18000e82f
mov rcx, qword [0x1800ac608]
mov rax, qword [rcx]
mov r9, qword [rax + 0xc0]
xor r8d, r8d
mov rdx, rsi
call r9
test al, al
jne 0x18000e82f
mov rcx, qword [0x1800ac608]
mov rax, qword [rcx]
mov r9, qword [rax + 0x330]
mov r8, qword [0x1800ac880]
mov rdx, rsi
call r9
xorps xmm1, xmm1
cvtss2sd xmm1, xmm0
mulsd xmm1, qword [0x180098e28]
cvtps2pd xmm0, xmm6
addsd xmm1, xmm0
cvtpd2ps xmm6, xmm1
movss dword [rsp + 0x58], xmm6
jmp 0x18000e862
cvtps2pd xmm1, xmm14
mulsd xmm1, qword [0x180098e28]
cvtps2pd xmm0, xmm6
addsd xmm1, xmm0
cvtpd2ps xmm0, xmm1
movss dword [rsp + 0x58], xmm0
movss dword [rsp + 0x38], xmm9
movss dword [rsp + 0x3c], xmm7
test rbx, rbx
je 0x18000e921
mov rcx, qword [0x1800ac608]
mov rax, qword [rcx]
mov r9, qword [rax + 0xc0]
xor r8d, r8d
mov rdx, rsi
call r9
test al, al
jne 0x18000e921
test rsi, rsi
je 0x18000e8cd
mov rcx, qword [0x1800ac608]
mov rax, qword [rcx]
mov r9, qword [rax + 0xc0]
xor r8d, r8d
mov rdx, rsi
call r9
test al, al
jne 0x18000e8cd
mov rcx, qword [0x1800ac608]
mov rax, qword [rcx]
mov r9, qword [rax + 0x330]
mov r8, qword [0x1800ac888]
mov rdx, rsi
call r9
movss dword [rsp + 0x44], xmm0
jmp 0x18000e8d4
movss dword [rsp + 0x44], xmm14
test rsi, rsi
je 0x18000e91b
mov rcx, qword [0x1800ac608]
mov rax, qword [rcx]
mov r9, qword [rax + 0xc0]
xor r8d, r8d
mov rdx, rsi
call r9
test al, al
jne 0x18000e91b
mov rcx, qword [0x1800ac608]
mov rax, qword [rcx]
mov r9, qword [rax + 0x330]
mov r8, qword [0x1800ac930]
mov rdx, rsi
call r9
movaps xmm10, xmm0
jmp 0x18000e933
xorps xmm10, xmm10
jmp 0x18000e933
movss xmm6, dword [0x180098f90]
movss dword [rsp + 0x44], xmm6
movaps xmm10, xmm6
movss dword [rsp + 0x30], xmm10
xor edi, edi
mov qword [rbp + 0xd8], rdi
movss xmm13, dword [0x180098f8c]
movss xmm15, dword [0x180098f4c]
movss dword [rsp + 0x40], xmm13
movss xmm0, dword [r13 + 0x40]
movss dword [rsp + 0x50], xmm0
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0xf0], xmm0
mov qword [rbp + 0x100], rax
lea rdx, [rbp + 0xf0]
lea rcx, [rbp + 0xe8]
call fcn.180010c20
nop
mov r12, qword [rbp + 0xf0]
cmp r12, qword [rbp + 0xf8]
je 0x1800105d8
movss xmm12, dword [0x180099240]
movsd xmm7, qword [0x180098dc8]
movss xmm11, dword [0x180098f2c]
nop dword [rax]
mov rdx, qword [r12]
test rdx, rdx
je 0x18000e9ec
mov rcx, qword [0x1800ac608]
mov rax, qword [rcx]
mov r8, qword [rax + 0xa8]
call r8
mov rbx, rax
mov qword [rbp + 0xc8], rax
mov r15, rax
jmp 0x18000e9f8
xor ebx, ebx
mov qword [rbp + 0xc8], rbx
xor r15d, r15d
test r15, r15
je 0x18000f8f1
mov rcx, qword [0x1800ac608]
mov rax, qword [rcx]
mov r9, qword [rax + 0xc0]
xor r8d, r8d
mov rdx, rbx
call r9
test al, al
jne 0x18000f8f1
call fcn.180018770
cmp byte [rax + 0x30], 0
je 0x18000f28f
mov rcx, qword [0x1800ac608]
mov rax, qword [rcx]
mov r9, qword [rax + 0xc0]
xor r8d, r8d
mov rdx, rbx
call r9
test al, al
jne 0x18000ef28
lea rdx, [rbp + 0x88]
lea rcx, [rbp + 0xc8]
call fcn.18007bb10
nop
or r14d, 1
mov dword [rsp + 0x34], r14d
mov rcx, rax
cmp qword [rax + 0x18], 0x10
jb 0x18000ea7e
mov rcx, qword [rax]
cmp qword [rax + 0x10], 9
jb 0x18000eaa4
mov r8d, 9
lea rdx, [0x1800941a8]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
sete al
test al, al
jne 0x18000ef21
mov rbx, qword [rbp + 0xc8]
test rbx, rbx
je 0x18000eb51
mov rcx, qword [0x1800ac608]
mov rax, qword [rcx]
mov r9, qword [rax + 0xc0]
xor r8d, r8d
mov rdx, rbx
call r9
test al, al
jne 0x18000eb51
mov rcx, qword [0x1800ac608]
mov rax, qword [rcx]
mov r9, qword [rax + 0x300]
mov r8, qword [0x1800ac8d0]
mov rdx, rbx
call r9
test al, al
jne 0x18000eb51
mov rcx, qword [0x1800ac608]
mov rax, qword [rcx]
mov r9, qword [rax + 0xc0]
xor r8d, r8d
mov rdx, rbx
call r9
test al, al
jne 0x18000eb2c
mov r8, qword [0x1800ac8a0]
mov rdx, rbx
mov rcx, qword [0x1800ac608]
call fcn.180023f20
test al, al
je 0x18000eb51
lea rdx, [rbp + 0x68]
lea rcx, [rbp + 0xc8]
call fcn.18007bb10
nop
or r14d, 2
mov dword [rsp + 0x34], r14d
cmp qword [rax + 0x10], 2
jae 0x18000ef21
lea rdx, [rbp + 0x48]
lea rcx, [rbp + 0xc8]
call fcn.18007bb10
nop
or r14d, 4
mov dword [rsp + 0x34], r14d
mov r15, rax
cmp qword [rax + 0x18], 0x10
jb 0x18000eb78
mov r15, qword [rax]
mov r8, qword [rax + 0x10]
cmp r8, 1
jb 0x18000ebd4
lea rbx, [r15 + r8]
mov edx, 0x5d
mov rcx, r15
call sub.VCRUNTIME140.dll_memchr
test rax, rax
je 0x18000ebd4
cmp byte [rax], 0x5d
jne 0x18000eba1
xor ecx, ecx
jmp 0x18000eba6
sbb ecx, ecx
or ecx, 1
test ecx, ecx
je 0x18000ebc7
inc rax
mov r8, rbx
sub r8, rax
mov edx, 0x5d
mov rcx, rax
call sub.VCRUNTIME140.dll_memchr
test rax, rax
jne 0x18000eb98
jmp 0x18000ebd4
sub rax, r15
cmp rax, 0xffffffffffffffff
jne 0x18000ef21
lea rdx, [rbp + 0x28]
lea rcx, [rbp + 0xc8]
call fcn.18007bb10
nop
or r14d, 8
mov dword [rsp + 0x34], r14d
mov r15, rax
cmp qword [rax + 0x18], 0x10
jb 0x18000ebfb
mov r15, qword [rax]
mov r8, qword [rax + 0x10]
cmp r8, 1
jb 0x18000ec5c
lea rbx, [r8 + r15]
mov edx, 0x5b
mov rcx, r15
call sub.VCRUNTIME140.dll_memchr
test rax, rax
je 0x18000ec5c
nop dword [rax + rax]
cmp byte [rax], 0x5b
jne 0x18000ec29
xor ecx, ecx
jmp 0x18000ec2e
sbb ecx, ecx
or ecx, 1
test ecx, ecx
je 0x18000ec4f
inc rax
mov r8, rbx
sub r8, rax
mov edx, 0x5b
mov rcx, rax
call sub.VCRUNTIME140.dll_memchr
test rax, rax
jne 0x18000ec20
jmp 0x18000ec5c
sub rax, r15
cmp rax, 0xffffffffffffffff
jne 0x18000ef21
lea rdx, [rbp + 8]
lea rcx, [rbp + 0xc8]
call fcn.18007bb10
nop
or r14d, 0x10
mov dword [rsp + 0x34], r14d
mov r15, rax
cmp qword [rax + 0x18], 0x10
jb 0x18000ec83
mov r15, qword [rax]
mov r8, qword [rax + 0x10]
cmp r8, 1
jb 0x18000ecdf
lea rbx, [r8 + r15]
mov edx, 0x2d
mov rcx, r15
call sub.VCRUNTIME140.dll_memchr
test rax, rax
je 0x18000ecdf
cmp byte [rax], 0x2d
jne 0x18000ecac
xor ecx, ecx
jmp 0x18000ecb1
sbb ecx, ecx
or ecx, 1
test ecx, ecx
je 0x18000ecd2
inc rax
mov r8, rbx
sub r8, rax
mov edx, 0x2d
mov rcx, rax
call sub.VCRUNTIME140.dll_memchr
test rax, rax
jne 0x18000eca3
jmp 0x18000ecdf
sub rax, r15
cmp rax, 0xffffffffffffffff
jne 0x18000ef21
lea rdx, [rbp - 0x18]
lea rcx, [rbp + 0xc8]
call fcn.18007bb10
nop
or r14d, 0x20
mov dword [rsp + 0x34], r14d
mov r15, rax
cmp qword [rax + 0x18], 0x10
jb 0x18000ed06
mov r15, qword [rax]
mov r8, qword [rax + 0x10]
cmp r8, 1
jb 0x18000ed62
lea rbx, [r8 + r15]
mov edx, 0x3a
mov rcx, r15
call sub.VCRUNTIME140.dll_memchr
test rax, rax
je 0x18000ed62
cmp byte [rax], 0x3a
jne 0x18000ed2f
xor ecx, ecx
jmp 0x18000ed34
sbb ecx, ecx
or ecx, 1
test ecx, ecx
je 0x18000ed55
inc rax
mov r8, rbx
sub r8, rax
mov edx, 0x3a
mov rcx, rax
call sub.VCRUNTIME140.dll_memchr
test rax, rax
jne 0x18000ed26
jmp 0x18000ed62
sub rax, r15
cmp rax, 0xffffffffffffffff
jne 0x18000ef21
lea rdx, [rbp - 0x38]
lea rcx, [rbp + 0xc8]
call fcn.18007bb10
nop
or r14d, 0x40
mov dword [rsp + 0x34], r14d
mov r15, rax
cmp qword [rax + 0x18], 0x10
jb 0x18000ed89
mov r15, qword [rax]
mov r8, qword [rax + 0x10]
cmp r8, 1
jb 0x18000edec
lea rbx, [r8 + r15]
mov edx, 0x2b
mov rcx, r15
call sub.VCRUNTIME140.dll_memchr
test rax, rax
je 0x18000edec
nop dword [rax]
cmp byte [rax], 0x2b
jne 0x18000edb9
xor ecx, ecx
jmp 0x18000edbe
sbb ecx, ecx
or ecx, 1
test ecx, ecx
je 0x18000eddf
inc rax
mov r8, rbx
sub r8, rax
mov edx, 0x2b
mov rcx, rax
call sub.VCRUNTIME140.dll_memchr
test rax, rax
jne 0x18000edb0
jmp 0x18000edec
sub rax, r15
cmp rax, 0xffffffffffffffff
jne 0x18000ef21
lea rdx, [rbp - 0x58]
lea rcx, [rbp + 0xc8]
call fcn.18007bb10
nop
bts r14d, 7
mov dword [rsp + 0x34], r14d
mov r15, rax
cmp qword [rax + 0x18], 0x10
jb 0x18000ee14
mov r15, qword [rax]
mov rcx, qword [rax + 0x10]
cmp rcx, 3
jb 0x18000ee89
lea rbx, [rcx + r15]
lea r8, [rbx - 2]
sub r8, r15
mov edx, 0x63
mov rcx, r15
call sub.VCRUNTIME140.dll_memchr
test rax, rax
je 0x18000ee89
nop dword [rax + rax]
cmp byte [rax], 0x63
jne 0x18000ee55
cmp byte [rax + 1], 0x69
jne 0x18000ee55
cmp byte [rax + 2], 0x74
jne 0x18000ee55
xor ecx, ecx
jmp 0x18000ee5a
sbb ecx, ecx
or ecx, 1
test ecx, ecx
je 0x18000ee7c
inc rax
lea r8, [rbx - 2]
sub r8, rax
mov edx, 0x63
mov rcx, rax
call sub.VCRUNTIME140.dll_memchr
test rax, rax
jne 0x18000ee40
jmp 0x18000ee89
sub rax, r15
cmp rax, 0xffffffffffffffff
jne 0x18000ef21
lea rdx, [rbp - 0x78]
lea rcx, [rbp + 0xc8]
call fcn.18007bb10
bts r14d, 8
mov r15, rax
cmp qword [rax + 0x18], 0x10
jb 0x18000eeab
mov r15, qword [rax]
mov rcx, qword [rax + 0x10]
cmp rcx, 3
jb 0x18000ef0c
lea rbx, [rcx + r15]
lea r8, [rbx - 2]
sub r8, r15
mov edx, 0x6e
mov rcx, r15
call sub.VCRUNTIME140.dll_memchr
test rax, rax
je 0x18000ef0c
cmp byte [rax], 0x6e
jne 0x18000eee7
cmp byte [rax + 1], 0x70
jne 0x18000eee7
cmp byte [rax + 2], 0x63
jne 0x18000eee7
xor ecx, ecx
jmp 0x18000eeec
sbb ecx, ecx
or ecx, 1
test ecx, ecx
je 0x18000ef18
inc rax
lea r8, [rbx - 2]
sub r8, rax
mov edx, 0x6e
mov rcx, rax
call sub.VCRUNTIME140.dll_memchr
test rax, rax
jne 0x18000eed2
xor r15b, r15b
mov rbx, qword [rbp + 0xc8]
jmp 0x18000ef2b
sub rax, r15
cmp rax, 0xffffffffffffffff
je 0x18000ef0c
mov rbx, qword [rbp + 0xc8]
mov r15b, 1
bt r14d, 8
jae 0x18000ef86
btr r14d, 8
mov rdx, qword [rbp - 0x60]
cmp rdx, 0x10
jb 0x18000ef72
inc rdx
mov rcx, qword [rbp - 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000ef6d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000fa75
call fcn.180083e14
mov qword [rbp - 0x68], 0
mov qword [rbp - 0x60], 0xf
mov byte [rbp - 0x78], 0
test r14b, r14b
jns 0x18000efdf
btr r14d, 7
mov rdx, qword [rbp - 0x40]
cmp rdx, 0x10
jb 0x18000efcb
inc rdx
mov rcx, qword [rbp - 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000efc6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000fa7c
call fcn.180083e14
mov qword [rbp - 0x48], 0
mov qword [rbp - 0x40], 0xf
mov byte [rbp - 0x58], 0
test r14b, 0x40
je 0x18000f038
and r14d, 0xffffffbf
mov rdx, qword [rbp - 0x20]
cmp rdx, 0x10
jb 0x18000f024
inc rdx
mov rcx, qword [rbp - 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000f01f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000fa83
call fcn.180083e14
mov qword [rbp - 0x28], 0
mov qword [rbp - 0x20], 0xf
mov byte [rbp - 0x38], 0
test r14b, 0x20
je 0x18000f091
and r14d, 0xffffffdf
mov rdx, qword [rbp]
cmp rdx, 0x10
jb 0x18000f07d
inc rdx
mov rcx, qword [rbp - 0x18]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000f078
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000fa8a
call fcn.180083e14
mov qword [rbp - 8], 0
mov qword [rbp], 0xf
mov byte [rbp - 0x18], 0
test r14b, 0x10
je 0x18000f0ea
and r14d, 0xffffffef
mov rdx, qword [rbp + 0x20]
cmp rdx, 0x10
jb 0x18000f0d6
inc rdx
mov rcx, qword [rbp + 8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000f0d1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000fa91
call fcn.180083e14
mov qword [rbp + 0x18], 0
mov qword [rbp + 0x20], 0xf
mov byte [rbp + 8], 0
test r14b, 8
je 0x18000f143
and r14d, 0xfffffff7
mov rdx, qword [rbp + 0x40]
cmp rdx, 0x10
jb 0x18000f12f
inc rdx
mov rcx, qword [rbp + 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000f12a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000fa98
call fcn.180083e14
mov qword [rbp + 0x38], 0
mov qword [rbp + 0x40], 0xf
mov byte [rbp + 0x28], 0
test r14b, 4
je 0x18000f19c
and r14d, 0xfffffffb
mov rdx, qword [rbp + 0x60]
cmp rdx, 0x10
jb 0x18000f188
inc rdx
mov rcx, qword [rbp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000f183
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000fa9f
call fcn.180083e14
mov qword [rbp + 0x58], 0
mov qword [rbp + 0x60], 0xf
mov byte [rbp + 0x48], 0
test r14b, 2
je 0x18000f1fb
and r14d, 0xfffffffd
mov rdx, qword [rbp + 0x80]
cmp rdx, 0x10
jb 0x18000f1e4
inc rdx
mov rcx, qword [rbp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000f1df
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000faa6
call fcn.180083e14
mov qword [rbp + 0x78], 0
mov qword [rbp + 0x80], 0xf
mov byte [rbp + 0x68], 0
test r14b, 1
je 0x18000f263
and r14d, 0xfffffffe
mov rdx, qword [rbp + 0xa0]
cmp rdx, 0x10
jb 0x18000f246
inc rdx
mov rcx, qword [rbp + 0x88]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000f241
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000faad
call fcn.180083e14
mov qword [rbp + 0x98], 0
mov qword [rbp + 0xa0], 0xf
mov byte [rbp + 0x88], 0
test r15b, r15b
je 0x18000f28f
mov rcx, qword [0x1800ac608]
test rcx, rcx
je 0x18000f28a
test rbx, rbx
je 0x18000f28a
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
mov rdx, rbx
call r8
nop
jmp 0x18000f913
call fcn.18001b650
cmp byte [rax + 0x30], 0
je 0x18000f308
call fcn.18001b650
mov qword [rbp + 0xe0], 0
test rbx, rbx
je 0x18000f2c8
mov rcx, qword [0x1800ac608]
mov rax, qword [rcx]
mov r8, qword [rax + 0xa8]
mov rdx, rbx
call r8
jmp 0x18000f2ca
xor eax, eax
mov qword [rbp + 0xe0], rax
lea rdx, [rbp + 0xe0]
call fcn.18000d920
test al, al
je 0x18000f308
mov rcx, qword [0x1800ac608]
test rcx, rcx
je 0x18000f303
test rbx, rbx
je 0x18000f303
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
mov rdx, rbx
call r8
nop
jmp 0x18000f913
lea rdx, [rbp + 0xa8]
lea rcx, [rbp + 0xc8]
call fcn.18007bb10
mov rdx, qword [rbp + 0xc0]
cmp rdx, 0x10
jb 0x18000f35c
inc rdx
mov rcx, qword [rbp + 0xa8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000f357
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18000fab4
call fcn.180083e14
mov rcx, qword [0x1800ac608]
mov rax, qword [rcx]
mov r9, qword [rax + 0xc0]
mov rbx, qword [rbp + 0xc8]
mov r8, rbx
mov rdx, rsi
call r9
test al, al
jne 0x18000f8cd
mov r9, rbx
mov r8, qword [0x1800ac778]
mov rdx, rsi
mov rcx, qword [0x1800ac608]
call fcn.180023f20
test al, al
jne 0x18000f3c9
mov rcx, qword [0x1800ac608]
test rcx, rcx
je 0x18000f3c4
test rbx, rbx
je 0x18000f3c4
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
mov rdx, rbx
call r8
nop
jmp 0x18000f913
test rdi, rdi
je 0x18000f40c
mov rcx, qword [0x1800ac608]
mov rax, qword [rcx]
mov r9, qword [rax + 0xc0]
xor r8d, r8d
mov rdx, rdi
call r9
test al, al
jne 0x18000f40c
mov rcx, qword [0x1800ac608]
mov rax, qword [rcx]
mov r9, qword [rax + 0x330]
mov r8, qword [0x1800ac880]
mov rdx, rdi
call r9
jmp 0x18000f410
movaps xmm0, xmm14
cvtss2sd xmm0, xmm0
subsd xmm0, xmm7
xorps xmm8, xmm8
cvtsd2ss xmm8, xmm0
mov rcx, qword [0x1800ac608]
mov rax, qword [rcx]
mov r9, qword [rax + 0x338]
mov r8, qword [0x1800ac8f0]
mov rdx, rbx
call r9
xorps xmm7, xmm7
cvtsd2ss xmm7, xmm0
mov rcx, qword [0x1800ac608]
mov rax, qword [rcx]
mov r9, qword [rax + 0x338]
mov r8, qword [0x1800ac8f8]
mov rdx, rbx
call r9
xorps xmm6, xmm6
cvtsd2ss xmm6, xmm0
mov rcx, qword [0x1800ac608]
mov rax, qword [rcx]
mov r9, qword [rax + 0x338]
mov r8, qword [0x1800ac878]
mov rdx, rbx
call r9
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
addss xmm1, xmm14
addss xmm8, xmm6
addss xmm7, xmm14
subss xmm7, xmm9
cvtps2pd xmm6, xmm7
subss xmm8, dword [rsp + 0x58]
cvtps2pd xmm9, xmm8
subss xmm1, dword [rsp + 0x3c]
cvtps2pd xmm8, xmm1
movaps xmm2, xmm8
mulsd xmm2, xmm8
movaps xmm0, xmm6
mulsd xmm0, xmm6
addsd xmm2, xmm0
xorps xmm0, xmm0
ucomisd xmm0, xmm2
ja 0x18000f4df
sqrtpd xmm7, xmm2
jmp 0x18000f4ea
movaps xmm0, xmm2
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, xmm11
cvtps2pd xmm3, xmm2
divsd xmm3, qword [0x180098e70]
cvtpd2ps xmm6, xmm3
subss xmm6, dword [0x180098f08]
movaps xmm1, xmm7
movaps xmm0, xmm9
call sub.api_ms_win_crt_math_l1_1_0.dll_atan2
xorps xmm0, xmmword [0x180099230]
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
mulss xmm1, xmm11
cvtps2pd xmm2, xmm1
divsd xmm2, qword [0x180098e70]
cvtpd2ps xmm0, xmm2
movss xmm3, dword [rsp + 0x44]
xorps xmm3, xmm12
xorps xmm6, xmm12
subss xmm3, xmm6
movaps xmm1, xmm10
xorps xmm1, xmm12
xorps xmm0, xmm12
subss xmm1, xmm0
movaps xmm0, xmm3
unpcklps xmm0, xmm1
movq rcx, xmm0
call fcn.180083260
mov qword [rbp - 0x80], rax
movss xmm11, dword [rbp - 0x80]
comiss xmm14, xmm11
jbe 0x18000f58d
xorps xmm11, xmm12
mov rcx, qword [0x1800ac608]
mov rax, qword [rcx]
mov r9, qword [rax + 0x338]
mov r8, qword [0x1800ac8f0]
mov rdx, rbx
call r9
mov rcx, qword [0x1800ac608]
mov rax, qword [rcx]
mov r9, qword [rax + 0x338]
mov r8, qword [0x1800ac8f8]
mov rdx, rbx
call r9
mov rcx, qword [0x1800ac608]
mov rax, qword [rcx]
mov r9, qword [rax + 0x338]
mov r8, qword [0x1800ac878]
mov rdx, rbx
call r9
mov rcx, qword [0x1800ac608]
mov rax, qword [rcx]
mov r9, qword [rax + 0x338]
mov r8, qword [0x1800ac8f0]
mov rdx, rsi
call r9
xorps xmm10, xmm10
cvtsd2ss xmm10, xmm0
mov rcx, qword [0x1800ac608]
mov rax, qword [rcx]
mov r9, qword [rax + 0x338]
mov r8, qword [0x1800ac8f8]
mov rdx, rsi
call r9
xorps xmm9, xmm9
cvtsd2ss xmm9, xmm0
mov rcx, qword [0x1800ac608]
mov rax, qword [rcx]
mov r9, qword [rax + 0x338]
mov r8, qword [0x1800ac878]
mov rdx, rsi
call r9
xorps xmm7, xmm7
cvtsd2ss xmm7, xmm0
mov rcx, qword [0x1800ac608]
mov rax, qword [rcx]
mov r9, qword [rax + 0x338]
mov r8, qword [0x1800ac8f0]
mov rdx, rbx
call r9
xorps xmm8, xmm8
cvtsd2ss xmm8, xmm0
mov rcx, qword [0x1800ac608]
mov rax, qword [rcx]
mov r9, qword [rax + 0x338]
mov r8, qword [0x1800ac8f8]
mov rdx, rbx
call r9
xorps xmm6, xmm6
cvtsd2ss xmm6, xmm0
mov rcx, qword [0x1800ac608]
mov rax, qword [rcx]
mov r9, qword [rax + 0x338]
mov r8, qword [0x1800ac878]
mov rdx, rbx
call r9
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
subss xmm7, xmm1
subss xmm9, xmm6
cvtps2pd xmm0, xmm7
movsd xmm1, qword [0x180098e60]
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
movaps xmm7, xmm0
cvtps2pd xmm0, xmm9
movsd xmm1, qword [0x180098e60]
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
movaps xmm6, xmm0
subss xmm10, xmm8
cvtps2pd xmm0, xmm10
movsd xmm1, qword [0x180098e60]
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 0x18000f728
sqrtsd xmm0, xmm0
jmp 0x18000f72d
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrt
xorps xmm6, xmm6
cvtsd2ss xmm6, xmm0
movaps xmm1, xmm11
andps xmm1, xmmword [0x180099220]
movss xmm0, dword [r13 + 0x58]
comiss xmm0, xmm1
jb 0x18000f8ae
movss xmm0, dword [rsp + 0x50]
comiss xmm0, xmm6
jb 0x18000f8ae
mov r8, qword [0x1800ac7b0]
mov rdx, rbx
mov rcx, qword [0x1800ac608]
call fcn.18000bf30
movaps xmm7, xmm0
mov ecx, dword [r13 + 0x54]
sub ecx, 1
je 0x18000f850
cmp ecx, 1
je 0x18000f7ef
comiss xmm13, xmm6
jbe 0x18000f8ae
test rdi, rdi
je 0x18000f7ae
mov rcx, qword [0x1800ac608]
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
mov rdx, rdi
call r8
test rbx, rbx
je 0x18000f7dd
mov rcx, qword [0x1800ac608]
mov rax, qword [rcx]
mov r8, qword [rax + 0xa8]
mov rdx, rbx
call r8
mov rdi, rax
mov qword [rbp + 0xd8], rax
movaps xmm13, xmm6
jmp 0x18000f8ae
xor edi, edi
mov qword [rbp + 0xd8], rdi
movaps xmm13, xmm6
jmp 0x18000f8ae
comiss xmm15, xmm11
jbe 0x18000f8ae
test rdi, rdi
je 0x18000f815
mov rcx, qword [0x1800ac608]
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
mov rdx, rdi
call r8
test rbx, rbx
je 0x18000f841
mov rcx, qword [0x1800ac608]
mov rax, qword [rcx]
mov r8, qword [rax + 0xa8]
mov rdx, rbx
call r8
mov rdi, rax
mov qword [rbp + 0xd8], rax
movaps xmm15, xmm11
jmp 0x18000f8ae
xor edi, edi
mov qword [rbp + 0xd8], rdi
movaps xmm15, xmm11
jmp 0x18000f8ae
movss xmm6, dword [rsp + 0x40]
comiss xmm6, xmm7
jbe 0x18000f8ae
test rdi, rdi
je 0x18000f877
mov rcx, qword [0x1800ac608]
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
mov rdx, rdi
call r8
test rbx, rbx
je 0x18000f89f
mov rcx, qword [0x1800ac608]
mov rax, qword [rcx]
mov r8, qword [rax + 0xa8]
mov rdx, rbx
call r8
mov rdi, rax
mov qword [rbp + 0xd8], rax
jmp 0x18000f8a8
xor edi, edi
mov qword [rbp + 0xd8], rdi
movss dword [rsp + 0x40], xmm7
movsd xmm7, qword [0x180098dc8]
movss xmm9, dword [rsp + 0x38]
movss xmm11, dword [0x180098f2c]
movss xmm10, dword [rsp + 0x30]
mov rcx, qword [0x1800ac608]
test rcx, rcx
je 0x18000f8ef
test rbx, rbx
je 0x18000f8ef
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
mov rdx, rbx
call r8
nop
jmp 0x18000f913
mov rcx, qword [0x1800ac608]
test rcx, rcx
je 0x18000f913
test r15, r15
je 0x18000f913
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
mov rdx, rbx
call r8
nop
add r12, 8
cmp r12, qword [rbp + 0xf8]
jne 0x18000e9c0
test rdi, rdi
je 0x1800105d8
test dword [r13 + 0x34], 0xfffffffd
jne 0x1800100db
mov rcx, qword [0x1800ac608]
mov rax, qword [rcx]
mov r9, qword [rax + 0x338]
mov r8, qword [0x1800ac8f0]
mov rdx, rdi
call r9
xorps xmm14, xmm14
cvtsd2ss xmm14, xmm0
movss dword [rsp + 0x50], xmm14
mov rcx, qword [0x1800ac608]
mov rax, qword [rcx]
mov r9, qword [rax + 0x338]
mov r8, qword [0x1800ac8f8]
mov rdx, rdi
call r9
xorps xmm8, xmm8
cvtsd2ss xmm8, xmm0
movss dword [rsp + 0x40], xmm8
mov rcx, qword [0x1800ac608]
mov rax, qword [rcx]
mov r9, qword [rax + 0x338]
mov r8, qword [0x1800ac878]
mov rdx, rdi
call r9
xorps xmm6, xmm6
cvtsd2ss xmm6, xmm0
movss dword [rsp + 0x34], xmm6
mov rcx, qword [0x1800ac608]
mov rax, qword [rcx]
mov r9, qword [rax + 0x338]
mov r8, qword [0x1800ac918]
mov rdx, rdi
call r9
xorps xmm13, xmm13
cvtsd2ss xmm13, xmm0
mov rcx, qword [0x1800ac608]
mov rax, qword [rcx]
mov r9, qword [rax + 0x338]
mov r8, qword [0x1800ac910]
mov rdx, rdi
call r9
xorps xmm10, xmm10
cvtsd2ss xmm10, xmm0
mov rcx, qword [0x1800ac608]
mov rax, qword [rcx]
mov r9, qword [rax + 0x338]
mov r8, qword [0x1800ac8c8]
mov rdx, rdi
call r9
xorps xmm9, xmm9
cvtsd2ss xmm9, xmm0
mov rcx, qword [0x1800ac608]
mov rax, qword [rcx]
mov r9, qword [rax + 0xc0]
xor r8d, r8d
mov rdx, rdi
call r9
test al, al
jne 0x18000fabb
mov rcx, qword [0x1800ac608]
mov rax, qword [rcx]
mov r9, qword [rax + 0x330]
mov r8, qword [0x1800ac880]
mov rdx, rdi
call r9
jmp 0x18000fabe
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
xorps xmm0, xmm0
xorps xmm1, xmm1
cvtss2sd xmm0, xmm0
subsd xmm0, xmm7
xorps xmm11, xmm11
cvtsd2ss xmm11, xmm0
addss xmm6, xmm1
movss dword [rsp + 0x78], xmm6
movaps xmm7, xmm11
addss xmm7, xmm8
movss dword [rbp - 0x80], xmm7
movaps xmm8, xmm14
addss xmm8, xmm1
movss dword [rbp + 0xc8], xmm8
movaps xmm12, xmm9
addss xmm12, xmm1
addss xmm11, xmm10
movaps xmm15, xmm13
addss xmm15, xmm1
movaps xmm0, xmm14
subss xmm0, dword [rsp + 0x38]
cvtps2pd xmm14, xmm0
movss xmm1, dword [rsp + 0x40]
subss xmm1, dword [rsp + 0x58]
cvtps2pd xmm0, xmm1
movsd qword [rsp + 0x48], xmm0
movss xmm0, dword [rsp + 0x34]
subss xmm0, dword [rsp + 0x3c]
cvtps2pd xmm0, xmm0
movsd qword [rsp + 0x60], xmm0
movaps xmm1, xmm0
mulsd xmm1, xmm0
movaps xmm0, xmm14
mulsd xmm0, xmm14
addsd xmm1, xmm0
xorps xmm0, xmm0
ucomisd xmm0, xmm1
ja 0x18000fb6e
sqrtpd xmm0, xmm1
jmp 0x18000fb76
movaps xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrt
movsd qword [rsp + 0x70], xmm0
movaps xmm1, xmm14
movsd xmm0, qword [rsp + 0x60]
call sub.api_ms_win_crt_math_l1_1_0.dll_atan2
xorps xmm2, xmm2
cvtsd2ss xmm2, xmm0
mulss xmm2, dword [0x180098f2c]
cvtps2pd xmm3, xmm2
divsd xmm3, qword [0x180098e70]
cvtpd2ps xmm14, xmm3
subss xmm14, dword [0x180098f08]
movsd xmm1, qword [rsp + 0x70]
movsd xmm0, qword [rsp + 0x48]
call sub.api_ms_win_crt_math_l1_1_0.dll_atan2
xorps xmm0, xmmword [0x180099230]
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
mulss xmm1, dword [0x180098f2c]
cvtps2pd xmm2, xmm1
divsd xmm2, qword [0x180098e70]
cvtpd2ps xmm0, xmm2
movss dword [rsp + 0x70], xmm0
movaps xmm0, xmm8
subss xmm0, dword [rsp + 0x38]
cvtps2pd xmm8, xmm0
movaps xmm1, xmm7
subss xmm1, dword [rsp + 0x58]
cvtps2pd xmm0, xmm1
movsd qword [rsp + 0x48], xmm0
movaps xmm0, xmm6
subss xmm0, dword [rsp + 0x3c]
cvtps2pd xmm6, xmm0
movaps xmm1, xmm6
mulsd xmm1, xmm6
movaps xmm0, xmm8
mulsd xmm0, xmm8
addsd xmm1, xmm0
xorps xmm0, xmm0
ucomisd xmm0, xmm1
ja 0x18000fc3e
sqrtpd xmm7, xmm1
jmp 0x18000fc49
movaps xmm0, xmm1
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 [0x180098f2c]
cvtps2pd xmm3, xmm2
divsd xmm3, qword [0x180098e70]
cvtpd2ps xmm6, xmm3
subss xmm6, dword [0x180098f08]
movaps xmm1, xmm7
movsd xmm0, qword [rsp + 0x48]
call sub.api_ms_win_crt_math_l1_1_0.dll_atan2
xorps xmm0, xmmword [0x180099230]
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
mulss xmm1, dword [0x180098f2c]
cvtps2pd xmm2, xmm1
divsd xmm2, qword [0x180098e70]
cvtpd2ps xmm0, xmm2
movss dword [rsp + 0x3c], xmm0
movss xmm8, dword [rsp + 0x44]
movss xmm2, dword [0x180099240]
xorps xmm8, xmm2
movss xmm7, dword [rsp + 0x30]
xorps xmm7, xmm2
xorps xmm6, xmm2
movaps xmm1, xmm8
subss xmm1, xmm6
xorps xmm0, xmm2
movaps xmm2, xmm7
subss xmm2, xmm0
unpcklps xmm1, xmm2
movq rcx, xmm1
call fcn.180083260
mov qword [rsp + 0x58], rax
xorps xmm14, xmmword [0x180099240]
subss xmm8, xmm14
movss xmm6, dword [rsp + 0x70]
movaps xmm0, xmm6
xorps xmm0, xmmword [0x180099240]
subss xmm7, xmm0
movaps xmm1, xmm8
unpcklps xmm1, xmm7
movq rcx, xmm1
call fcn.180083260
mov qword [rsp + 0x48], rax
movss xmm7, dword [rsp + 0x58]
xorps xmm14, xmm14
addss xmm7, xmm14
addss xmm7, dword [rsp + 0x44]
call fcn.180002400
movsd xmm0, qword [rax + 0x84]
movsd qword [rsp + 0x60], xmm0
mov ebx, dword [rax + 0x8c]
call fcn.180002400
movss xmm4, dword [rax + 0x90]
movss xmm8, dword [rsp + 0x30]
comiss xmm8, xmm6
ja 0x18000fee6
movss xmm0, dword [rsp + 0x3c]
comiss xmm0, xmm8
ja 0x18000fee6
movd xmm1, ebx
subss xmm1, xmm9
movss xmm0, dword [rsp + 0x64]
subss xmm0, xmm10
subss xmm9, dword [rsp + 0x34]
subss xmm10, dword [rsp + 0x40]
mulss xmm9, xmm4
mulss xmm10, xmm4
addss xmm9, xmm1
addss xmm10, xmm0
movaps xmm1, xmm13
subss xmm1, dword [rsp + 0x50]
mulss xmm1, xmm4
movss xmm0, dword [rsp + 0x60]
subss xmm0, xmm13
addss xmm1, xmm0
movss dword [r13 + 0x48], xmm1
movss dword [r13 + 0x4c], xmm10
movss dword [r13 + 0x50], xmm9
mov eax, dword [r13 + 0x34]
test eax, eax
jne 0x18000fe6f
addss xmm8, xmm14
test rsi, rsi
je 0x1800100db
mov rcx, qword [0x1800ac608]
mov rax, qword [rcx]
mov r9, qword [rax + 0xc0]
xor r8d, r8d
mov rdx, rsi
call r9
test al, al
jne 0x1800100db
mov rcx, qword [0x1800ac608]
mov rax, qword [rcx]
mov r9, qword [rax + 0x378]
movaps xmm3, xmm7
mov r8, qword [0x1800ac888]
mov rdx, rsi
call r9
mov rcx, qword [0x1800ac608]
mov rax, qword [rcx]
mov r9, qword [rax + 0x378]
movaps xmm3, xmm8
mov r8, qword [0x1800ac930]
mov rdx, rsi
call r9
jmp 0x1800100db
cmp eax, 2
jne 0x1800100db
test rsi, rsi
je 0x18000fed1
mov rcx, qword [0x1800ac608]
mov rax, qword [rcx]
mov r9, qword [rax + 0xc0]
xor r8d, r8d
mov rdx, rsi
call r9
test al, al
jne 0x18000fed1
mov rcx, qword [0x1800ac608]
mov rax, qword [rcx]
mov r9, qword [rax + 0x300]
mov r8, qword [0x1800ac8c0]
mov rdx, rsi
call r9
test al, al
setne al
addss xmm8, xmm14
movaps xmm3, xmm8
lea rdx, [rsp + 0x48]
jmp 0x1800100c0
xor al, al
addss xmm8, xmm14
movaps xmm3, xmm8
lea rdx, [rsp + 0x48]
jmp 0x1800100c0
movaps xmm1, xmm8
addss xmm1, dword [rsp + 0x4c]
movaps xmm6, xmm8
addss xmm6, dword [rsp + 0x5c]
movaps xmm0, xmm8
subss xmm0, xmm1
andps xmm0, xmmword [0x180099220]
subss xmm8, xmm6
andps xmm8, xmmword [0x180099220]
movd xmm3, ebx
movss xmm2, dword [rsp + 0x64]
mov eax, 8
subss xmm3, xmm14
comiss xmm0, xmm8
movaps xmm0, xmm4
jbe 0x18000ff85
subss xmm2, dword [0x180098d28]
subss xmm3, xmm12
subss xmm2, xmm11
subss xmm12, dword [rsp + 0x78]
subss xmm11, dword [rbp - 0x80]
mulss xmm0, xmm12
movaps xmm1, xmm4
mulss xmm1, xmm11
addss xmm3, xmm0
addss xmm2, xmm1
movaps xmm1, xmm15
subss xmm1, dword [rbp + 0xc8]
movss xmm0, dword [rsp + 0x60]
subss xmm0, xmm14
subss xmm0, xmm15
jmp 0x18000ffd7
movaps xmm6, xmm1
subss xmm2, dword [0x180098d30]
subss xmm3, xmm9
subss xmm2, xmm10
subss xmm9, dword [rsp + 0x34]
subss xmm10, dword [rsp + 0x40]
mulss xmm0, xmm9
movaps xmm1, xmm4
mulss xmm1, xmm10
addss xmm3, xmm0
addss xmm2, xmm1
movaps xmm1, xmm13
subss xmm1, dword [rsp + 0x50]
movss xmm0, dword [rsp + 0x60]
subss xmm0, xmm14
subss xmm0, xmm13
mulss xmm1, xmm4
addss xmm1, xmm0
movss dword [r13 + 0x48], xmm1
movss dword [r13 + 0x4c], xmm2
movss dword [rax + r13 + 0x48], xmm3
mov eax, dword [r13 + 0x34]
test eax, eax
jne 0x180010069
test rsi, rsi
je 0x1800100db
mov rcx, qword [0x1800ac608]
mov rax, qword [rcx]
mov r9, qword [rax + 0xc0]
xor r8d, r8d
mov rdx, rsi
call r9
test al, al
jne 0x1800100db
mov rcx, qword [0x1800ac608]
mov rax, qword [rcx]
mov r9, qword [rax + 0x378]
movaps xmm3, xmm7
mov r8, qword [0x1800ac888]
mov rdx, rsi
call r9
mov rcx, qword [0x1800ac608]
mov rax, qword [rcx]
mov r9, qword [rax + 0x378]
movaps xmm3, xmm6
mov r8, qword [0x1800ac930]
mov rdx, rsi
call r9
jmp 0x1800100db
cmp eax, 2
jne 0x1800100db
test rsi, rsi
je 0x1800100b6
mov rcx, qword [0x1800ac608]
mov rax, qword [rcx]
mov r9, qword [rax + 0xc0]
xor r8d, r8d
mov rdx, rsi
call r9
test al, al
jne 0x1800100b6
mov rcx, qword [0x1800ac608]
mov rax, qword [rcx]
mov r9, qword [rax + 0x300]
mov r8, qword [0x1800ac8c0]
mov rdx, rsi
call r9
test al, al
setne al
jmp 0x1800100b8
xor al, al
movaps xmm3, xmm6
lea rdx, [rsp + 0x60]
mov byte [rsp + 0x20], al
movaps xmm2, xmm7
call fcn.18007b860
mov rdx, rax
lea rcx, [rbp + 0xd0]
call fcn.18007b250
mov ebx, 1
cmp byte [r13 + 0x46], 0
je 0x18001014a
mov rcx, qword [0x1800ac608]
mov rax, qword [rcx]
mov r9, qword [rax + 0x330]
mov r8, qword [0x1800ac7a8]
mov rdx, rsi
call r9
ucomiss xmm0, xmm14
jp 0x18001010d
je 0x18001014a
call fcn.18007ae20
xorps xmm1, xmm1
cvtss2sd xmm1, xmm0
mulsd xmm1, qword [0x180098e38]
cvtpd2ps xmm1, xmm1
lea rcx, [rbp + 0xd0]
call fcn.18007aee0
mov r9d, ebx
mov r8, qword [0x1800ac870]
mov rdx, rsi
mov rcx, qword [0x1800ac608]
call fcn.180023920
inc dword [0x1800ab61c]
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 eax, dword [0x1800ab618]
test eax, eax
jne 0x18001018a
mov eax, r14d
mov dword [0x1800ab618], eax
mov ecx, r14d
sub ecx, eax
mov eax, 0x3e8
cdq
idiv dword [0x1800a9044]
cmp ecx, eax
jge 0x1800101f5
lea rcx, [rbp + 0xf0]
call fcn.180010b10
nop
mov rcx, qword [0x1800ac608]
test rcx, rcx
je 0x1800101cf
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
mov rdx, rdi
call r8
mov rcx, qword [0x1800ac608]
test rcx, rcx
je 0x1800101f0
test rsi, rsi
je 0x1800101f0
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
mov rdx, rsi
call r8
mov rcx, qword [0x1800ac608]
jmp 0x180010625
mov eax, dword [r13 + 0x34]
test eax, eax
jne 0x180010270
lea rcx, [rbp + 0xc8]
call qword [sym.imp.USER32.dll_GetCursorPos]
call fcn.180002400
mov byte [rax + 0x9c], bl
movzx r9d, word [rbp + 0xcc]
shl r9d, 0x10
movzx eax, word [rbp + 0xc8]
or r9, rax
mov r8, rbx
mov edx, 0x201
mov rcx, qword [0x1800ac638]
call qword [sym.imp.USER32.dll_SendMessageA]
movzx r9d, word [rbp + 0xcc]
shl r9d, 0x10
movzx eax, word [rbp + 0xc8]
or r9, rax
xor r8d, r8d
mov edx, 0x202
mov rcx, qword [0x1800ac638]
call qword [sym.imp.USER32.dll_SendMessageA]
jmp 0x180010392
dec eax
cmp eax, ebx
ja 0x180010392
cmp byte [r13 + 0x45], 0
je 0x18001035b
mov eax, dword [r13 + 0xb8]
test eax, eax
jne 0x1800102f8
lea rcx, [rbp + 0xc8]
call qword [sym.imp.USER32.dll_GetCursorPos]
movzx r9d, word [rbp + 0xcc]
shl r9d, 0x10
movzx eax, word [rbp + 0xc8]
or r9, rax
mov edx, 0x204
mov r8d, 2
mov rcx, qword [0x1800ac638]
call qword [sym.imp.USER32.dll_SendMessageA]
movzx r9d, word [rbp + 0xcc]
shl r9d, 0x10
movzx eax, word [rbp + 0xc8]
or r9, rax
xor r8d, r8d
mov edx, 0x205
mov rcx, qword [0x1800ac638]
call qword [sym.imp.USER32.dll_SendMessageA]
jmp 0x18001035b
cmp eax, ebx
jne 0x180010339
lea rcx, [rbp + 0xe0]
call qword [sym.imp.USER32.dll_GetCursorPos]
movzx r9d, word [rbp + 0xe4]
shl r9d, 0x10
movzx eax, word [rbp + 0xe0]
or r9, rax
mov edx, 0x204
mov r8d, 2
mov rcx, qword [0x1800ac638]
call qword [sym.imp.USER32.dll_SendMessageA]
jmp 0x18001035b
cmp eax, 2
jne 0x18001035b
mov rax, qword [0x1800ac618]
mov r8, qword [0x1800ac838]
mov rdx, qword [rax]
mov rcx, qword [0x1800ac608]
call fcn.180023920
mov r8, qword [0x1800ac7a0]
mov rdx, rsi
mov rcx, qword [0x1800ac608]
call fcn.180023920
call fcn.180002400
mov byte [rax + 0x9c], bl
mov r8, rdi
lea rdx, [rbp + 0xd0]
call fcn.18007abb0
mov rsi, qword [rbp + 0xd0]
cmp byte [r13 + 0x45], bl
jne 0x180010489
cmp dword [r13 + 0x34], 0
jne 0x180010489
lea rcx, [rbp + 0xc8]
call qword [sym.imp.USER32.dll_GetCursorPos]
movzx r9d, word [rbp + 0xcc]
shl r9d, 0x10
movzx eax, word [rbp + 0xc8]
or r9, rax
mov edx, 0x204
mov r8d, 2
mov rcx, qword [0x1800ac638]
call qword [sym.imp.USER32.dll_SendMessageA]
movzx r9d, word [rbp + 0xcc]
shl r9d, 0x10
movzx eax, word [rbp + 0xc8]
or r9, rax
xor r8d, r8d
mov edx, 0x205
mov rcx, qword [0x1800ac638]
call qword [sym.imp.USER32.dll_SendMessageA]
call fcn.180002400
mov rcx, rax
call fcn.180002a90
test al, al
je 0x180010489
mov rax, qword [0x1800ac618]
mov r15, qword [rax + 8]
mov rcx, qword [0x1800ac608]
mov rax, qword [rcx]
mov r9, qword [rax + 0x330]
mov r8, qword [0x1800ac7a8]
mov rdx, qword [r15]
call r9
ucomiss xmm0, xmm14
jp 0x180010475
jne 0x180010475
mov rcx, qword [0x1800ac608]
mov rax, qword [rcx]
mov r9, qword [rax + 0x330]
mov r8, qword [0x1800ac798]
mov rdx, qword [r15]
call r9
ucomiss xmm0, xmm14
jp 0x180010475
je 0x180010489
movss xmm1, dword [0x180098d1c]
lea rcx, [rbp + 0xd0]
call fcn.18007aee0
mov dword [0x1800ab618], r14d
call qword [sym.imp.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_]
mov dword [rbp + 0x1494], 0xffffffff
mov dword [rbp + 0x114], eax
nop word [rax + rax]
mov ecx, eax
shr ecx, 0x1e
xor ecx, eax
imul eax, ecx, 0x6c078965
add eax, ebx
mov dword [rbp + rbx*4 + 0x114], eax
inc rbx
cmp rbx, 0x270
jb 0x1800104b0
mov dword [rbp + 0x110], 0x270
cvttss2si edx, dword [r13 + 0x38]
cvttss2si ecx, dword [r13 + 0x3c]
lea eax, [rcx - 0x80000000]
mov r12d, 0x80000000
lea r15d, [rcx + r12]
cmp ecx, r12d
cmovae r15d, eax
lea eax, [rdx - 0x80000000]
lea ecx, [rdx + r12]
cmp edx, r12d
cmovae ecx, eax
sub ecx, r15d
cmp ecx, 0xffffffff
jne 0x180010527
lea rcx, [rbp + 0x110]
call fcn.180005d70
mov ecx, eax
jmp 0x18001056b
lea ebx, [rcx + 1]
lea rcx, [rbp + 0x110]
call fcn.180005d70
mov r14d, ebx
mov ecx, eax
imul rcx, r14
cmp ecx, ebx
jae 0x180010567
mov eax, ebx
neg eax
xor edx, edx
div ebx
mov ebx, edx
cmp ecx, edx
jae 0x180010567
lea rcx, [rbp + 0x110]
call fcn.180005d70
mov ecx, eax
imul rcx, r14
cmp ecx, ebx
jb 0x180010551
shr rcx, 0x20
lea edx, [r15 + rcx]
lea eax, [rdx + r12]
lea ecx, [rdx - 0x80000000]
cmp edx, r12d
cmovae ecx, eax
mov dword [0x1800a9044], ecx
lea rcx, [rbp + 0xf0]
call fcn.180010b10
nop
mov rcx, qword [0x1800ac608]
test rcx, rcx
je 0x1800105b5
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
mov rdx, rdi
call r8
mov rcx, qword [0x1800ac608]
test rcx, rcx
je 0x1800105d6
test rsi, rsi
je 0x1800105d6
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
mov rdx, rsi
call r8
mov rcx, qword [0x1800ac608]
jmp 0x180010625
mov dword [r13 + 0x48], 0x7fc00000
mov dword [r13 + 0x4c], 0x7fc00000
mov dword [r13 + 0x50], 0x7fc00000
lea rcx, [rbp + 0xf0]
call fcn.180010b10
nop
mov rcx, qword [0x1800ac608]
test rcx, rcx
je 0x180010625
test rsi, rsi
je 0x180010625
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
mov rdx, rsi
call r8
mov rcx, qword [0x1800ac608]
test rcx, rcx
je 0x180010644
mov rdx, qword [rbp + 0xe8]
test rdx, rdx
je 0x180010644
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
call r8
nop
mov rcx, qword [rbp + 0x14a0]
xor rcx, rsp
call fcn.180083910
lea r11, [rsp + 0x1650]
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