Function at 0x18010ef50
Capabilities:
Encode data using xor
Generate random numbers using a mersenne twister
Hash data using fnv

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 - 0x1400]
mov eax, 0x1500
call fcn.18020ee20
sub rsp, rax
movaps xmmword [rsp + 0x14f0], xmm6
movaps xmmword [rsp + 0x14e0], xmm7
movaps xmmword [rsp + 0x14d0], xmm8
movaps xmmword [rsp + 0x14c0], xmm9
movaps xmmword [rsp + 0x14b0], xmm10
movaps xmmword [rsp + 0x14a0], xmm11
movaps xmmword [rsp + 0x1490], xmm12
movaps xmmword [rsp + 0x1480], xmm13
movaps xmmword [rsp + 0x1470], xmm14
mov rax, qword [0x1802ec4c0]
xor rax, rsp
mov qword [rbp + 0x1360], rax
mov r14, rcx
xor ebx, ebx
mov ecx, dword [0x180342d00]
mov rax, qword gs:[0x58]
mov edx, 8
mov rax, qword [rax + rcx*8]
movabs rdi, 0xcbf29ce484222325
movabs rsi, 0x100000001b3
mov eax, dword [rdx + rax]
cmp dword [0x1803b85e0], eax
jg 0x18010fc87
mov rax, qword [0x1803b85e8]
test rax, rax
je 0x18010fbef
mov r15, qword [rax + 0x1d0]
mov r13, qword [r15]
mov qword [rsp + 0x48], r13
mov rcx, r13
call fcn.180176260
movzx r12d, al
mov byte [rsp + 0x30], al
mov r8, qword [0x1803b85e8]
mov rcx, r13
sar rcx, 8
movzx edx, cl
movzx ecx, r13b
xor rcx, rdi
imul rcx, rsi
xor rdx, rcx
imul rdx, rsi
mov rax, r13
sar rax, 0x10
movzx ecx, al
xor rdx, rcx
imul rdx, rsi
mov rax, r13
sar rax, 0x18
movzx ecx, al
xor rdx, rcx
imul rdx, rsi
mov rax, r13
sar rax, 0x20
movzx ecx, al
xor rdx, rcx
imul rdx, rsi
mov rax, r13
sar rax, 0x28
movzx ecx, al
xor rdx, rcx
imul rdx, rsi
mov rax, r13
sar rax, 0x30
movzx ecx, al
xor rdx, rcx
imul rdx, rsi
mov rax, r13
sar rax, 0x38
movzx ecx, al
xor rdx, rcx
imul rdx, rsi
mov rcx, qword [r8 + 0x1c0]
and rcx, rdx
add rcx, rcx
mov rdx, qword [r8 + 0x1a8]
mov rax, qword [rdx + rcx*8 + 8]
cmp rax, qword [r8 + 0x198]
je 0x18010f112
mov rcx, qword [rdx + rcx*8]
cmp r13, qword [rax + 0x10]
je 0x18010f115
cmp rax, rcx
je 0x18010f112
mov rax, qword [rax + 8]
cmp r13, qword [rax + 0x10]
jne 0x18010f101
jmp 0x18010f115
mov rax, rbx
xorps xmm8, xmm8
test rax, rax
jne 0x18010f2ea
call fcn.18020ca14
mov dword [rbp + 0x1354], 0xffffffff
mov dword [rbp - 0x2c], eax
mov edx, 1
nop dword [rax]
mov ecx, eax
shr ecx, 0x1e
xor ecx, eax
imul eax, ecx, 0x6c078965
add eax, edx
mov dword [rbp + rdx*4 - 0x2c], eax
inc rdx
cmp rdx, 0x270
jb 0x18010f140
mov dword [rbp - 0x30], 0x270
mov dword [rsp + 0x58], ebx
mov dword [rsp + 0x5c], 1
lea rcx, [rbp - 0x30]
call fcn.180155230
mov ecx, eax
imul rax, rcx, 0x168
cmp eax, 0xff
ja 0x18010f1a9
nop dword [rax + rax]
lea rcx, [rbp - 0x30]
call fcn.180155230
mov ecx, eax
imul rax, rcx, 0x168
cmp eax, 0x100
jb 0x18010f190
shr rax, 0x20
add eax, 0x80000000
xor eax, 0x80000000
movd xmm3, eax
cvtdq2ps xmm3, xmm3
lea rcx, [rbp - 0x30]
call fcn.180155230
mov ecx, eax
imul rax, rcx, 0x168
cmp eax, 0xff
ja 0x18010f1f0
lea rcx, [rbp - 0x30]
call fcn.180155230
mov ecx, eax
imul rax, rcx, 0x168
cmp eax, 0x100
jb 0x18010f1d7
shr rax, 0x20
add eax, 0x80000000
xor eax, 0x80000000
movd xmm2, eax
cvtdq2ps xmm2, xmm2
lea rcx, [rbp - 0x30]
call fcn.180155230
mov ecx, eax
imul rax, rcx, 0x168
cmp eax, 0xff
ja 0x18010f239
nop
lea rcx, [rbp - 0x30]
call fcn.180155230
mov ecx, eax
imul rax, rcx, 0x168
cmp eax, 0x100
jb 0x18010f220
shr rax, 0x20
add eax, 0x80000000
xor eax, 0x80000000
movd xmm0, eax
cvtdq2ps xmm0, xmm0
lea rdx, [rbp - 0x30]
lea rcx, [rsp + 0x58]
call fcn.180135d40
lea ebx, [rax*2 - 1]
lea rdx, [rbp - 0x30]
lea rcx, [rsp + 0x58]
call fcn.180135d40
lea esi, [rax*2 - 1]
lea rdx, [rbp - 0x30]
lea rcx, [rsp + 0x58]
call fcn.180135d40
lea eax, [rax*2 - 1]
test r12b, r12b
je 0x18010f298
movaps xmm1, xmm8
jmp 0x18010f2a0
movss xmm1, dword [0x1802b819c]
mov dword [rsp + 0x70], eax
mov dword [rsp + 0x74], esi
mov dword [rsp + 0x78], ebx
unpcklps xmm0, xmm2
movsd qword [rsp + 0x7c], xmm0
movss dword [rbp - 0x7c], xmm3
movss dword [rbp - 0x78], xmm1
mov rcx, qword [0x1803b85e8]
add rcx, 0x190
lea r9, [rsp + 0x70]
lea r8, [rsp + 0x48]
lea rdx, [rsp + 0x60]
call fcn.180135de0
mov r8, qword [0x1803b85e8]
xor ebx, ebx
movd xmm0, dword [0x18034de40]
cvtdq2ps xmm0, xmm0
movss xmm14, dword [0x1802b822c]
movaps xmm13, xmm14
divss xmm13, xmm0
lea rcx, [r8 + 0x190]
mov qword [rsp + 0x48], r13
lea rdx, [rsp + 0x48]
call fcn.180133d30
mov qword [rsp + 0x48], rax
movaps xmm0, xmm13
mulss xmm0, dword [0x1802b819c]
movss xmm1, dword [rax + 0x18]
subss xmm1, xmm0
movss dword [rax + 0x18], xmm1
comiss xmm8, xmm1
jb 0x18010f349
mov dword [rax + 0x18], ebx
movaps xmm1, xmm8
movsd xmm0, qword [r15 + 0x10]
mov eax, dword [r15 + 0x18]
mov dword [rsp + 0x58], eax
movaps xmm10, xmm0
shufps xmm10, xmm10, 0x55
movsd qword [rsp + 0x60], xmm0
addss xmm10, xmm1
mov rcx, qword [0x1803b85e8]
add rcx, 0x190
mov qword [rsp + 0x38], r13
lea rdx, [rsp + 0x38]
call fcn.180133d30
mov rbx, rax
mov rcx, qword [0x1803b85e8]
add rcx, 0x190
mov qword [rsp + 0x38], r13
lea rdx, [rsp + 0x38]
call fcn.180133d30
mov rsi, rax
mov r15, qword [0x1803b85e8]
add r15, 0x70
mov qword [rsp + 0x38], r15
xorps xmm0, xmm0
movups xmmword [rsp + 0x70], xmm0
mov qword [rbp - 0x80], 5
mov qword [rbp - 0x78], 0xf
mov r10d, dword [str.speed]
mov dword [rsp + 0x70], r10d
movzx r9d, byte [0x1802b1238]
mov byte [rsp + 0x74], r9b
mov byte [rsp + 0x75], 0
mov rcx, rdi
xor edx, edx
movabs r8, 0x100000001b3
movzx eax, byte [rsp + rdx + 0x70]
xor rcx, rax
imul rcx, r8
inc rdx
cmp rdx, 5
jb 0x18010f400
mov r11, qword [r15 + 0x30]
mov rax, r11
and rax, rcx
mov r12, qword [r15 + 0x18]
add rax, rax
mov rcx, qword [r12 + rax*8 + 8]
mov r15, qword [r15 + 8]
cmp rcx, r15
je 0x18010f484
mov r8, qword [r12 + rax*8]
nop dword [rax + rax]
lea rax, [rcx + 0x10]
mov rdx, qword [rax + 0x10]
cmp qword [rax + 0x18], 0xf
jbe 0x18010f452
mov rax, qword [rax]
cmp rdx, 5
jne 0x18010f463
cmp r10d, dword [rax]
jne 0x18010f463
cmp r9b, byte [rax + 4]
je 0x18010f46e
cmp rcx, r8
je 0x18010f47a
mov rcx, qword [rcx + 8]
jmp 0x18010f440
movabs r8, 0x100000001b3
jmp 0x18010f486
movabs r8, 0x100000001b3
xor ecx, ecx
mov rax, r15
test rcx, rcx
cmovne rax, rcx
mov r9, qword [rsp + 0x38]
mov r9, qword [r9 + 8]
cmp rax, r9
je 0x18010f4a4
mov rcx, qword [rax + 0x30]
jmp 0x18010f4a6
xor ecx, ecx
movss xmm12, dword [rcx + 0x28]
xorps xmm0, xmm0
movups xmmword [rbp - 0x70], xmm0
mov qword [rbp - 0x60], 4
mov qword [rbp - 0x58], 0xf
mov r10d, 0x6c756d78
mov dword [rbp - 0x70], r10d
mov byte [rbp - 0x6c], 0
mov rdx, rdi
xor ecx, ecx
nop word [rax + rax]
movzx eax, byte [rbp + rcx - 0x70]
xor rdx, rax
imul rdx, r8
inc rcx
cmp rcx, 4
jb 0x18010f4e0
and rdx, r11
add rdx, rdx
mov rcx, qword [r12 + rdx*8 + 8]
cmp rcx, r15
je 0x18010f54e
mov r8, qword [r12 + rdx*8]
nop dword [rax]
lea rax, [rcx + 0x10]
mov rdx, qword [rax + 0x10]
cmp qword [rax + 0x18], 0xf
jbe 0x18010f522
mov rax, qword [rax]
cmp rdx, 4
jne 0x18010f52d
cmp r10d, dword [rax]
je 0x18010f538
cmp rcx, r8
je 0x18010f544
mov rcx, qword [rcx + 8]
jmp 0x18010f510
movabs r8, 0x100000001b3
jmp 0x18010f550
movabs r8, 0x100000001b3
xor ecx, ecx
mov rax, r15
test rcx, rcx
cmovne rax, rcx
cmp rax, r9
je 0x18010f565
mov rcx, qword [rax + 0x30]
jmp 0x18010f567
xor ecx, ecx
movss xmm11, dword [rcx + 0x28]
xorps xmm0, xmm0
movups xmmword [rbp - 0x70], xmm0
mov qword [rbp - 0x60], 4
mov qword [rbp - 0x58], 0xf
mov r10d, 0x6c756d79
mov dword [rbp - 0x70], r10d
mov byte [rbp - 0x6c], 0
mov rcx, rdi
xor edx, edx
nop word [rax + rax]
movzx eax, byte [rbp + rdx - 0x70]
xor rcx, rax
imul rcx, r8
inc rdx
cmp rdx, 4
jb 0x18010f5a0
and r11, rcx
add r11, r11
mov rcx, qword [r12 + r11*8 + 8]
cmp rcx, r15
je 0x18010f60e
mov r8, qword [r12 + r11*8]
nop dword [rax]
lea rax, [rcx + 0x10]
mov rdx, qword [rax + 0x10]
cmp qword [rax + 0x18], 0xf
jbe 0x18010f5e2
mov rax, qword [rax]
cmp rdx, 4
jne 0x18010f5ed
cmp r10d, dword [rax]
je 0x18010f5f8
cmp rcx, r8
je 0x18010f604
mov rcx, qword [rcx + 8]
jmp 0x18010f5d0
movabs r8, 0x100000001b3
jmp 0x18010f610
movabs r8, 0x100000001b3
xor ecx, ecx
mov rax, r15
test rcx, rcx
cmovne rax, rcx
cmp rax, r9
je 0x18010f625
mov rcx, qword [rax + 0x30]
jmp 0x18010f627
xor ecx, ecx
movss xmm9, dword [rcx + 0x28]
xorps xmm0, xmm0
movups xmmword [rbp - 0x70], xmm0
mov qword [rbp - 0x60], 4
mov qword [rbp - 0x58], 0xf
mov dword [rbp - 0x70], 0x6c756d7a
mov byte [rbp - 0x6c], 0
xor ecx, ecx
movzx eax, byte [rbp + rcx - 0x70]
xor rdi, rax
imul rdi, r8
inc rcx
cmp rcx, 4
jb 0x18010f651
mov r9, rdi
lea r8, [rbp - 0x70]
lea rdx, [rsp + 0x70]
mov r12, qword [rsp + 0x38]
mov rcx, r12
call fcn.18004b0e0
mov rcx, qword [rax + 8]
test rcx, rcx
cmovne r15, rcx
cmp r15, qword [r12 + 8]
je 0x18010f697
mov rax, qword [r15 + 0x30]
jmp 0x18010f699
xor eax, eax
movss xmm7, dword [rax + 0x28]
movss xmm6, dword [0x1802b8454]
mov r15, qword [rsp + 0x48]
cmp byte [rsp + 0x30], 0
je 0x18010f6c2
movss xmm0, dword [r15 + 0x18]
comiss xmm0, xmm8
jbe 0x18010f77a
xorps xmm2, xmm2
cvtsi2ss xmm2, dword [rsi]
mulss xmm2, xmm13
mulss xmm2, xmm12
mulss xmm2, xmm11
addss xmm2, dword [rbx + 0xc]
movss dword [rbx + 0xc], xmm2
xorps xmm1, xmm1
cvtsi2ss xmm1, dword [rsi + 4]
mulss xmm1, xmm13
mulss xmm1, xmm12
mulss xmm1, xmm9
addss xmm1, dword [rbx + 0x10]
movss dword [rbx + 0x10], xmm1
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [rsi + 8]
mulss xmm0, xmm13
mulss xmm0, xmm12
mulss xmm0, xmm7
addss xmm0, dword [rbx + 0x14]
movss dword [rbx + 0x14], xmm0
comiss xmm2, xmm6
jbe 0x18010f731
subss xmm2, xmm6
movss dword [rbx + 0xc], xmm2
comiss xmm8, xmm2
jbe 0x18010f740
addss xmm2, xmm6
movss dword [rbx + 0xc], xmm2
comiss xmm1, xmm6
jbe 0x18010f74e
subss xmm1, xmm6
movss dword [rbx + 0x10], xmm1
comiss xmm8, xmm1
jbe 0x18010f75d
addss xmm1, xmm6
movss dword [rbx + 0x10], xmm1
comiss xmm0, xmm6
jbe 0x18010f76b
subss xmm0, xmm6
movss dword [rbx + 0x14], xmm0
comiss xmm8, xmm0
jbe 0x18010f77a
addss xmm0, xmm6
movss dword [rbx + 0x14], xmm0
movsd xmm0, qword [rbx + 0xc]
movsd qword [rsp + 0x48], xmm0
mov eax, dword [rbx + 0x14]
mov dword [rsp + 0x50], eax
xorps xmm0, xmm0
movups xmmword [rbp - 0x70], xmm0
movdqa xmm1, xmmword [0x1802b8610]
movdqu xmmword [rbp - 0x60], xmm1
movsd xmm0, qword [str.smoothrots]
movsd qword [rbp - 0x70], xmm0
movzx eax, word [0x1802b1310]
mov word [rbp - 0x68], ax
mov byte [rbp - 0x66], 0
lea rdx, [rbp - 0x70]
mov rcx, r12
call fcn.180044ae0
movzx edi, byte [rax + 0x28]
xorps xmm0, xmm0
movups xmmword [rbp - 0x70], xmm0
movdqa xmm1, xmmword [0x1802b8630]
movdqu xmmword [rbp - 0x60], xmm1
movsd xmm0, qword [str.preserverots]
movsd qword [rbp - 0x70], xmm0
mov eax, dword [0x1802b1228]
mov dword [rbp - 0x68], eax
mov byte [rbp - 0x64], 0
lea rdx, [rbp - 0x70]
mov rcx, r12
call fcn.180044ae0
cmp byte [rsp + 0x30], 0
je 0x18010f9ff
movss xmm0, dword [r15 + 0x18]
ucomiss xmm0, xmm8
jp 0x18010f8ec
jne 0x18010f8ec
cmp byte [rax + 0x28], 0
jne 0x18010f8ec
mov eax, dword [rsi]
test eax, eax
jne 0x18010f849
cmp dword [rsi + 4], eax
je 0x18010f8ec
cmp dword [rsi + 8], eax
je 0x18010f8ec
test dil, dil
je 0x18010f998
test eax, eax
jne 0x18010f868
cmp dword [rsi + 4], eax
je 0x18010f8ec
cmp dword [rsi + 8], eax
je 0x18010f8ec
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm13
mulss xmm0, xmm12
mulss xmm0, xmm11
addss xmm0, dword [rbx + 0xc]
movss dword [rbx + 0xc], xmm0
mov rcx, r13
call fcn.180178860
movss xmm1, dword [rbx + 0xc]
cmp qword [rax + 0x18], 0
je 0x18010f936
movd xmm0, dword [rsi + 8]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm13
mulss xmm0, xmm12
mulss xmm0, xmm7
addss xmm0, dword [rbx + 0x14]
movss dword [rbx + 0x14], xmm0
comiss xmm1, xmm6
ja 0x18010f8cb
comiss xmm8, xmm1
jbe 0x18010f8d4
xor eax, eax
mov dword [rbx + 0xc], eax
mov dword [rsi], eax
jmp 0x18010f8d6
xor eax, eax
movss xmm0, dword [rbx + 0x14]
comiss xmm0, xmm6
ja 0x18010f8e6
comiss xmm8, xmm0
jbe 0x18010f8ec
mov dword [rbx + 0x14], eax
mov dword [rsi + 8], eax
movss xmm7, dword [rsp + 0x48]
mov edx, 0x28
mov ecx, 0x15
call fcn.18018beb0
mov rcx, r13
test al, al
je 0x18010f9dc
call fcn.180178860
xorps xmm0, xmm0
cvtss2sd xmm0, xmm10
cmp qword [rax + 0x18], 0
jne 0x18010f9cd
subsd xmm0, qword [0x1802b8270]
cvtpd2ps xmm10, xmm0
jmp 0x18010fa05
movd xmm0, dword [rsi + 4]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm13
mulss xmm0, xmm12
mulss xmm0, xmm9
addss xmm0, dword [rbx + 0x10]
movss dword [rbx + 0x10], xmm0
subss xmm1, dword [0x1802b8414]
comiss xmm1, xmm6
ja 0x18010f96a
comiss xmm8, xmm1
jbe 0x18010f977
mov dword [rbx + 0xc], 0x42b40000
xor eax, eax
mov dword [rsi], eax
jmp 0x18010f979
xor eax, eax
movss xmm0, dword [rbx + 0x10]
comiss xmm0, xmm6
ja 0x18010f98d
comiss xmm8, xmm0
jbe 0x18010f8ec
mov dword [rbx + 0x10], eax
mov dword [rsi + 4], eax
jmp 0x18010f8ec
mov rcx, r13
call fcn.180178860
cmp qword [rax + 0x18], 0
je 0x18010f9b8
movaps xmm7, xmm8
mov dword [rsp + 0x50], 0
jmp 0x18010f8f2
movss xmm7, dword [0x1802b8414]
mov dword [rsp + 0x4c], 0
jmp 0x18010f8f2
subsd xmm0, qword [str.333333]
cvtpd2ps xmm10, xmm0
jmp 0x18010fa05
call fcn.180178860
cmp qword [rax + 0x18], 0
jne 0x18010fa05
xorps xmm0, xmm0
cvtss2sd xmm0, xmm10
subsd xmm0, qword [0x1802b8270]
cvtpd2ps xmm10, xmm0
jmp 0x18010fa05
movss xmm7, dword [rsp + 0x48]
movss xmm0, dword [rsp + 0x60]
movss dword [rsp + 0x38], xmm0
movss dword [rsp + 0x3c], xmm10
movss xmm1, dword [rsp + 0x58]
movss dword [rsp + 0x40], xmm1
lea r8, [rsp + 0x38]
mov rdx, r14
lea rcx, [rbp - 0x70]
call fcn.1800a5490
movups xmm0, xmmword [rax]
movups xmmword [r14], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [r14 + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [r14 + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [r14 + 0x30], xmm1
mov edx, 0x28
mov ecx, 0x15
call fcn.18018beb0
test al, al
je 0x18010fb62
mov qword [rsp + 0x38], 0x3f800000
mov dword [rsp + 0x40], 0
movss xmm6, dword [0x1802b801c]
mulss xmm7, xmm6
lea r9, [rsp + 0x38]
movaps xmm2, xmm7
mov rdx, r14
lea rcx, [rbp - 0x70]
call fcn.1800a5630
movups xmm0, xmmword [rax]
movups xmmword [r14], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [r14 + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [r14 + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [r14 + 0x30], xmm1
mov dword [rsp + 0x38], 0
mov qword [rsp + 0x3c], 0x3f800000
movss xmm2, dword [rsp + 0x4c]
mulss xmm2, xmm6
lea r9, [rsp + 0x38]
mov rdx, r14
lea rcx, [rbp - 0x70]
call fcn.1800a5630
movups xmm0, xmmword [rax]
movups xmmword [r14], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [r14 + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [r14 + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [r14 + 0x30], xmm1
mov qword [rsp + 0x38], 0
mov dword [rsp + 0x40], 0x3f800000
movss xmm2, dword [rsp + 0x50]
mulss xmm2, xmm6
lea r9, [rsp + 0x38]
mov rdx, r14
lea rcx, [rbp - 0x70]
call fcn.1800a5630
movups xmm0, xmmword [rax]
movups xmmword [r14], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [r14 + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [r14 + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [r14 + 0x30], xmm1
jmp 0x18010fbef
mov ecx, dword [0x180342d00]
mov rax, qword gs:[0x58]
mov rbx, qword [rax + rcx*8]
mov edi, 8
mov ecx, dword [rdi + rbx]
cmp dword [0x1803b85f0], ecx
jg 0x18010fd3e
mov ecx, dword [rdi + rbx]
cmp dword [0x1803b8600], ecx
jg 0x18010fc4f
movss dword [rsp + 0x20], xmm8
movaps xmm3, xmm8
movaps xmm2, xmm14
movaps xmm1, xmm7
mov rcx, r14
call qword [0x1803b8608]
movss dword [rsp + 0x20], xmm8
movaps xmm3, xmm14
movaps xmm2, xmm8
movss xmm1, dword [rsp + 0x4c]
mov rcx, r14
call qword [0x1803b8608]
movss dword [rsp + 0x20], xmm14
movaps xmm3, xmm8
movaps xmm2, xmm8
movss xmm1, dword [rsp + 0x50]
mov rcx, r14
call qword [0x1803b8608]
mov rcx, qword [rbp + 0x1360]
xor rcx, rsp
call fcn.18020e120
lea r11, [rsp + 0x1500]
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]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
lea rcx, [0x1803b8600]
call fcn.18020e800
cmp dword [0x1803b8600], 0xffffffff
jne 0x18010fb98
mov rax, qword [0x1803b85f8]
mov qword [0x1803b8608], rax
lea rcx, [0x1803b8600]
call fcn.18020e794
jmp 0x18010fb98
lea rcx, [0x1803b85e0]
call fcn.18020e800
cmp dword [0x1803b85e0], 0xffffffff
jne 0x18010f01d
xorps xmm0, xmm0
movups xmmword [rsp + 0x70], xmm0
mov qword [rbp - 0x80], 0xc
mov qword [rbp - 0x78], 0xf
movsd xmm0, qword [str.Item_Physics]
movsd qword [rsp + 0x70], xmm0
mov eax, dword [0x1802b1278]
mov dword [rsp + 0x78], eax
mov byte [rsp + 0x7c], 0
mov rcx, rdi
mov rdx, rbx
nop dword [rax + rax]
movzx eax, byte [rsp + rdx + 0x70]
xor rcx, rax
imul rcx, rsi
inc rdx
cmp rdx, 0xc
jb 0x18010fce0
mov qword [rsp + 0x48], rcx
lea rdx, [rsp + 0x48]
call fcn.180134530
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x18010fd11
lock inc dword [rcx + 8]
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
mov qword [0x1803b85e8], rcx
test rdx, rdx
je 0x18010fd2d
mov rcx, rdx
call fcn.180003820
nop
lea rcx, [0x1803b85e0]
call fcn.18020e794
jmp 0x18010f01d
lea rcx, [0x1803b85f0]
call fcn.18020e800
cmp dword [0x1803b85f0], 0xffffffff
jne 0x18010fb89
mov ecx, dword [rdi + rbx]
cmp dword [0x1803b85d0], ecx
jle 0x18010fd94
lea rcx, [0x1803b85d0]
call fcn.18020e800
cmp dword [0x1803b85d0], 0xffffffff
jne 0x18010fd94
mov edx, 0x35581ef3
call fcn.180183900
mov qword [0x1803b85d8], rax
lea rcx, [0x1803b85d0]
call fcn.18020e794
mov rax, qword [0x1803b85d8]
mov qword [0x1803b85f8], rax
lea rcx, [0x1803b85f0]
call fcn.18020e794
jmp 0x18010fb89