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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
mov qword [rsp + 0x20], r14
push rbp
lea rbp, [rsp - 0x57]
sub rsp, 0xe0
mov rax, qword [0x18021d4c0]
xor rax, rsp
mov qword [rbp + 0x47], rax
mov esi, 0xf
xor r14d, r14d
movabs rbx, 0xcbf29ce484222325
movabs rdi, 0x100000001b3
cmp qword [0x18027a188], r14
jne 0x18015cb33
xorps xmm0, xmm0
movups xmmword [rbp - 0x69], xmm0
mov r9d, 0xd
mov qword [rbp - 0x59], r9
mov qword [rbp - 0x51], rsi
movsd xmm1, qword [str.ui_fill_color]
movsd qword [rbp - 0x69], xmm1
mov ecx, dword [0x1801f4ef0]
mov dword [rbp - 0x61], ecx
movzx eax, byte [0x1801f4ef4]
mov byte [rbp - 0x5d], al
mov byte [rbp - 0x5c], r14b
mov qword [rbp - 0x19], r14
movups xmmword [rbp - 0x11], xmm0
mov qword [rbp + 7], rsi
mov byte [rbp - 0x11], r14b
mov qword [rbp + 0xf], r14
mov qword [rbp - 1], r9
movsd qword [rbp - 0x11], xmm1
mov dword [rbp - 9], ecx
mov byte [rbp - 5], al
mov byte [rbp - 4], r14b
mov rdx, rbx
lea r8, [rbp - 0x11]
lea rcx, [rbp - 0x11]
add rcx, r9
cmp r8, rcx
je 0x18015cae3
nop dword [rax + rax]
imul rdx, rdi
movsx rax, byte [r8]
xor rdx, rax
inc r8
cmp r8, rcx
jne 0x18015cad0
mov qword [rbp - 0x19], rdx
lea rcx, [rbp - 0x19]
call fcn.180152d20
mov qword [0x18027a188], rax
mov rdx, qword [rbp + 7]
cmp rdx, 0xf
jbe 0x18015cb33
inc rdx
mov rcx, qword [rbp - 0x11]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18015cb2d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18015cd3e
call fcn.18016eee0
nop
cmp qword [0x18027a180], 0
jne 0x18015cc23
xorps xmm0, xmm0
movups xmmword [rbp - 0x69], xmm0
mov r9d, 0xb
mov qword [rbp - 0x59], r9
mov qword [rbp - 0x51], rsi
movsd xmm1, qword [str.ui_textured]
movsd qword [rbp - 0x69], xmm1
movzx ecx, word [0x1801f4f00]
mov word [rbp - 0x61], cx
movzx eax, byte [0x1801f4f02]
mov byte [rbp - 0x5f], al
mov byte [rbp - 0x5e], 0
mov qword [rbp + 0x17], r14
movups xmmword [rbp + 0x1f], xmm0
mov qword [rbp + 0x37], rsi
mov byte [rbp + 0x1f], 0
mov qword [rbp + 0x3f], r14
mov qword [rbp + 0x2f], r9
movsd qword [rbp + 0x1f], xmm1
mov word [rbp + 0x27], cx
mov byte [rbp + 0x29], al
mov byte [rbp + 0x2a], 0
mov rdx, rbx
lea r8, [rbp + 0x1f]
lea rcx, [rbp + 0x1f]
add rcx, r9
cmp r8, rcx
je 0x18015cbd3
nop word [rax + rax]
imul rdx, rdi
movsx rax, byte [r8]
xor rdx, rax
inc r8
cmp r8, rcx
jne 0x18015cbc0
mov qword [rbp + 0x17], rdx
lea rcx, [rbp + 0x17]
call fcn.180152d20
mov qword [0x18027a180], rax
mov rdx, qword [rbp + 0x37]
cmp rdx, 0xf
jbe 0x18015cc23
inc rdx
mov rcx, qword [rbp + 0x1f]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18015cc1d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18015cd44
call fcn.18016eee0
nop
cmp qword [0x18027a190], 0
jne 0x18015cd0f
xorps xmm0, xmm0
movups xmmword [rbp - 0x69], xmm0
mov qword [rbp - 0x59], rsi
mov qword [rbp - 0x51], rsi
movsd xmm1, qword [str.particles_alpha]
movsd qword [rbp - 0x69], xmm1
mov edx, dword [0x1801f4ee0]
mov dword [rbp - 0x61], edx
movzx ecx, word [0x1801f4ee4]
mov word [rbp - 0x5d], cx
movzx eax, byte [0x1801f4ee6]
mov byte [rbp - 0x5b], al
mov byte [rbp - 0x5a], 0
mov qword [rbp - 0x49], r14
movups xmmword [rbp - 0x41], xmm0
mov qword [rbp - 0x29], rsi
mov byte [rbp - 0x41], 0
mov qword [rbp - 0x21], r14
mov qword [rbp - 0x31], rsi
movsd qword [rbp - 0x41], xmm1
mov dword [rbp - 0x39], edx
mov word [rbp - 0x35], cx
mov byte [rbp - 0x33], al
mov byte [rbp - 0x32], 0
lea rdx, [rbp - 0x41]
lea rcx, [rbp - 0x41]
add rcx, rsi
cmp rdx, rcx
je 0x18015ccc3
nop word [rax + rax]
imul rbx, rdi
movsx rax, byte [rdx]
xor rbx, rax
inc rdx
cmp rdx, rcx
jne 0x18015ccb0
mov qword [rbp - 0x49], rbx
lea rcx, [rbp - 0x49]
call fcn.180152d20
mov qword [0x18027a190], rax
mov rdx, qword [rbp - 0x29]
cmp rdx, 0xf
jbe 0x18015cd0f
inc rdx
mov rcx, qword [rbp - 0x41]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18015cd09
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18015cd38
call fcn.18016eee0
nop
mov rcx, qword [rbp + 0x47]
xor rcx, rsp
call fcn.18016e8b0
lea r11, [rsp + 0xe0]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
mov r14, qword [r11 + 0x28]
mov rsp, r11
pop rbp
ret
call fcn.180181a88
nop
call fcn.180181a88
nop
call fcn.180181a88
int3