Function at 0x18016fbe0
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], rbx
mov qword [rax + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0xe8]
sub rsp, 0x1b0
movaps xmmword [rax - 0x48], xmm6
mov rsi, rdx
xor r14d, r14d
mov rcx, qword [0x1802983b0]
movabs r15, 0x7fffffffffffffff
mov rax, r15
sub rax, rcx
cmp rax, 0xa
jb 0x1801702b0
lea r12, [0x1802983a0]
mov r9, r12
cmp qword [0x1802983b8], 0xf
cmova r9, qword [0x1802983a0]
mov qword [rsp + 0x30], 0xa
lea rax, str.Materials
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp + 0x60]
call fcn.180103fd0
nop
mov r8d, 1
lea rdx, [0x1802579f0]
lea rcx, [rbp + 0x60]
call fcn.1800ae730
xorps xmm0, xmm0
movups xmmword [rbp - 0x60], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x50], xmm1
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x60], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x50], xmm1
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], 0xf
mov byte [rax], r14b
mov rdx, rsi
cmp qword [rsi + 0x18], 0xf
jbe 0x18016fcbd
mov rdx, qword [rsi]
mov r8, qword [rsi + 0x10]
lea rcx, [rbp - 0x60]
call fcn.1800ae730
xorps xmm0, xmm0
movups xmmword [rbp - 0x80], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x70], xmm1
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x80], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x70], xmm1
mov qword [rax + 0x18], 0xf
mov qword [rax + 0x10], r14
mov byte [rax], 0
mov r8d, 4
lea rdx, str..vmt
lea rcx, [rbp - 0x80]
call fcn.1800ae730
xorps xmm0, xmm0
movups xmmword [rsp + 0x60], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x70], xmm1
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x60], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x70], xmm1
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
lea rdx, [rsp + 0x60]
lea rcx, [rbp + 0x40]
call fcn.180101820
nop
lea rcx, [rbp + 0x40]
call fcn.1800f1470
movzx ebx, al
lea rcx, [rbp + 0x40]
call fcn.1800ffdb0
nop
mov rdx, qword [rsp + 0x78]
cmp rdx, 0xf
jbe 0x18016fda0
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18016fd9b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801702b6
call fcn.180199c38
movdqa xmm6, xmmword [0x1802635c0]
movdqu xmmword [rsp + 0x70], xmm6
mov byte [rsp + 0x60], 0
mov rdx, qword [rbp - 0x68]
cmp rdx, 0xf
jbe 0x18016fdee
inc rdx
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18016fde9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801702bc
call fcn.180199c38
movdqu xmmword [rbp - 0x70], xmm6
mov byte [rbp - 0x80], 0
mov rdx, qword [rbp - 0x48]
cmp rdx, 0xf
jbe 0x18016fe32
inc rdx
mov rcx, qword [rbp - 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18016fe2d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801702c2
call fcn.180199c38
movdqu xmmword [rbp - 0x50], xmm6
mov byte [rbp - 0x60], 0
lea rcx, [rbp + 0x60]
call fcn.18009a190
test bl, bl
je 0x180170280
mov r8, qword [rsi + 0x10]
mov rdx, rsi
cmp qword [rsi + 0x18], 0xf
jbe 0x18016fe5d
mov rdx, qword [rsi]
movabs rdi, 0xcbf29ce484222325
mov r9, rdi
mov rcx, r14
movabs r13, 0x100000001b3
test r8, r8
je 0x18016fe93
nop dword [rax]
movzx eax, byte [rdx + rcx]
xor r9, rax
imul r9, r13
inc rcx
cmp rcx, r8
jb 0x18016fe80
mov r8, rsi
lea rdx, [rsp + 0x40]
lea rcx, [0x180297a70]
call fcn.18009dcd0
mov rcx, qword [rax + 8]
mov r8, qword [0x180297a78]
mov rbx, r8
test rcx, rcx
cmovne rbx, rcx
cmp rbx, r8
je 0x18016ff9f
cmp byte [rbx + 0x58], 0
jne 0x180170280
mov rcx, qword [rbx + 0x30]
test rcx, rcx
je 0x18016fef6
mov rax, qword [rcx]
call qword [rax + 0x68]
mov rcx, qword [rbx + 0x30]
mov rax, qword [rcx]
call qword [rax + 0x190]
mov qword [rbx + 0x30], r14
mov r8, qword [0x180297a78]
mov r9, qword [rbx + 0x20]
lea rdx, [rbx + 0x10]
cmp qword [rbx + 0x28], 0xf
jbe 0x18016ff09
mov rdx, qword [rbx + 0x10]
xor ecx, ecx
test r9, r9
je 0x18016ff23
movzx eax, byte [rdx + rcx]
xor rdi, rax
imul rdi, r13
inc rcx
cmp rcx, r9
jb 0x18016ff10
mov rdx, qword [0x180297aa0]
and rdx, rdi
shl rdx, 4
add rdx, qword [0x180297a88]
mov rax, qword [rdx]
cmp qword [rdx + 8], rbx
jne 0x18016ff59
cmp rax, rbx
jne 0x18016ff4f
mov qword [rdx], r8
mov qword [rdx + 8], r8
jmp 0x18016ff64
mov r8, qword [rbx + 8]
mov qword [rdx + 8], r8
jmp 0x18016ff64
cmp rax, rbx
jne 0x18016ff64
mov rax, qword [rbx]
mov qword [rdx], rax
mov rdx, qword [rbx]
dec qword [0x180297a80]
mov rax, qword [rbx + 8]
mov qword [rax], rdx
mov rax, qword [rbx + 8]
mov qword [rdx + 8], rax
lea rcx, [rbx + 0x38]
call fcn.18009a190
lea rcx, [rbx + 0x10]
call fcn.18009a190
mov edx, 0x60
mov rcx, rbx
call fcn.180199c38
xor r14d, r14d
mov rax, qword [0x1802983b0]
sub r15, rax
cmp r15, 0xa
jb 0x1801702c8
cmp qword [0x1802983b8], 0xf
cmova r12, qword [0x1802983a0]
mov qword [rsp + 0x30], 0xa
lea rcx, str.Materials
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rax
mov r9, r12
lea rcx, [rbp + 0x80]
call fcn.180103fd0
nop
mov r8d, 1
lea rdx, [0x1802579f0]
lea rcx, [rbp + 0x80]
call fcn.1800ae730
xorps xmm0, xmm0
movups xmmword [rbp], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x10], xmm1
movups xmm0, xmmword [rax]
movups xmmword [rbp], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x10], xmm1
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
mov rdx, rsi
cmp qword [rsi + 0x18], 0xf
jbe 0x180170040
mov rdx, qword [rsi]
mov r8, qword [rsi + 0x10]
lea rcx, [rbp]
call fcn.1800ae730
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x10], xmm1
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x20], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x10], xmm1
mov qword [rax + 0x18], 0xf
mov qword [rax + 0x10], r14
mov byte [rax], 0
mov r8d, 4
lea rdx, str..vmt
lea rcx, [rbp - 0x20]
call fcn.1800ae730
xorps xmm0, xmm0
movups xmmword [rbp - 0x40], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x30], xmm1
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x40], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x30], xmm1
mov qword [rax + 0x10], r14
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
lea rdx, [rbp - 0x40]
lea rcx, [rbp + 0x20]
call fcn.180101820
nop
lea rcx, [rbp + 0x20]
cmp qword [rbp + 0x38], 7
cmova rcx, qword [rbp + 0x20]
call fcn.18019c690
mov rdx, rax
shr rax, 0x20
test eax, eax
jne 0x1801702ce
lea rcx, [rbp + 0x20]
call fcn.1800ffdb0
nop
mov rdx, qword [rbp - 0x28]
cmp rdx, 0xf
jbe 0x180170132
inc rdx
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18017012d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801702e3
call fcn.180199c38
movdqu xmmword [rbp - 0x30], xmm6
mov byte [rbp - 0x40], 0
mov rdx, qword [rbp - 8]
cmp rdx, 0xf
jbe 0x180170176
inc rdx
mov rcx, qword [rbp - 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180170171
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801702e9
call fcn.180199c38
movdqu xmmword [rbp - 0x10], xmm6
mov byte [rbp - 0x20], 0
mov rdx, qword [rbp + 0x18]
cmp rdx, 0xf
jbe 0x1801701ba
inc rdx
mov rcx, qword [rbp]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1801701b5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801702aa
call fcn.180199c38
movdqu xmmword [rbp + 0x10], xmm6
mov byte [rbp], 0
lea rcx, [rbp + 0x80]
call fcn.18009a190
mov rdx, rsi
lea rcx, [rsp + 0x40]
call fcn.180099e50
lea rdx, [0x1802a38f0]
lea rcx, [rsp + 0x40]
call fcn.1801702f0
lea rdx, [0x1802a3650]
lea rcx, [rsp + 0x40]
call fcn.1801702f0
lea rdx, [0x1802a2a70]
lea rcx, [rsp + 0x40]
call fcn.1801702f0
lea rdx, [0x1802a27d0]
lea rcx, [rsp + 0x40]
call fcn.1801702f0
lea rdx, [0x1802a4070]
lea rcx, [rsp + 0x40]
call fcn.1801702f0
lea rdx, [0x1802a3d50]
lea rcx, [rsp + 0x40]
call fcn.1801702f0
lea rdx, [0x1802a30f0]
lea rcx, [rsp + 0x40]
call fcn.1801702f0
lea rdx, [0x1802a3bb0]
lea rcx, [rsp + 0x40]
call fcn.1801702f0
lea rdx, [0x1802a34b0]
lea rcx, [rsp + 0x40]
call fcn.1801702f0
lea rcx, [rsp + 0x40]
call fcn.18009a190
nop
mov rcx, rsi
mov rbx, qword [rsp + 0x200]
movaps xmm6, xmmword [rsp + 0x1a0]
add rsp, 0x1b0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
jmp fcn.18009a190
call fcn.1801afdbc
nop
call fcn.180072ac0
nop
call fcn.1801afdbc
nop
call fcn.1801afdbc
nop
call fcn.1801afdbc
nop
call fcn.180072ac0
nop
shr rdx, 0x20
lea r8, [rbp + 0x20]
lea rcx, str.remove
call fcn.1800f1340
nop
call fcn.1801afdbc
nop
call fcn.1801afdbc
int3