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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
mov qword [rsp + 8], rcx
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x60
vmovaps xmmword [rsp + 0x50], xmm6
mov rbp, r9
mov r12, r8
mov r13, rdx
cmp byte [0x180273001], 0
je 0x18016f914
mov ecx, dword [0x180265dfc]
mov rax, qword gs:[0x58]
mov edx, 4
mov rax, qword [rax + rcx*8]
mov eax, dword [rdx + rax]
cmp dword [0x180278d70], eax
jle 0x18016f735
lea rcx, [0x180278d70]
call fcn.1801b3c6c
cmp dword [0x180278d70], 0xffffffff
jne 0x18016f735
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], 0
mov qword [rsp + 0x48], 0xf
mov ecx, 0x20
call fcn.1801b3ce4
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x40], 0x1e
mov qword [rsp + 0x48], 0x1f
vmovups xmm0, xmmword [str.IVModelRender_DrawModelExecute]
vmovups xmmword [rax], xmm0
vmovsd xmm0, qword [0x180233f68]
vmovsd qword [rax + 0x10], xmm0
mov ecx, dword [0x180233f70]
mov dword [rax + 0x18], ecx
movzx ecx, word [0x180233f74]
mov word [rax + 0x1c], cx
mov byte [rax + 0x1e], 0
lea r8, [rsp + 0x30]
lea rdx, [rsp + 0x20]
call fcn.1800eb590
mov rcx, qword [rax]
mov rax, qword [rcx + 0x30]
mov qword [0x180278d88], rax
mov rdx, qword [rsp + 0x48]
cmp rdx, 0xf
jbe 0x18016f729
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18016f723
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18016f723
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1801b3bbc
nop
lea rcx, [0x180278d70]
call fcn.1801b3c00
mov rcx, qword [0x180267708]
mov rax, qword [rcx]
call qword [rax + 0x320]
mov r15, rax
cmp qword [0x180278d88], 0
je 0x18016f914
test rax, rax
je 0x18016f914
mov rbx, qword [0x180272f78]
cmp rbx, qword [0x180272f80]
je 0x18016f8c1
lea r14, [rbx + 0x20]
nop word [rax + rax]
mov rdx, rbx
cmp qword [r14 - 8], 0xf
jbe 0x18016f78d
mov rdx, qword [rbx]
mov rcx, 0xffffffffffffffff
mov r9d, 0x811c9dc5
nop word [rax + rax]
inc rcx
cmp byte [rdx + rcx], 0
jne 0x18016f7a0
xor r8d, r8d
test rcx, rcx
je 0x18016f7c8
movsx eax, byte [r8 + rdx]
xor eax, r9d
imul r9d, eax, 0x1000193
inc r8
cmp r8, rcx
jb 0x18016f7b1
mov edx, r9d
call fcn.180180700
mov rdi, rax
xor sil, sil
test rax, rax
je 0x18016f823
mov rcx, qword [rax]
mov r10, qword [rcx + 0x58]
xor r9d, r9d
lea r8, [rsp + 0x90]
lea rdx, str._invertcull
mov rcx, rax
call r10
cmp byte [rsp + 0x90], sil
je 0x18016f823
test rax, rax
je 0x18016f823
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0xd0]
movzx esi, sil
test eax, eax
mov eax, 1
cmovne esi, eax
mov r8d, dword [r14]
mov rdx, rdi
call fcn.180180580
mov rcx, qword [0x180267760]
mov rax, qword [rcx]
xor r8d, r8d
mov rdx, rdi
call qword [rax + 8]
test sil, sil
je 0x18016f893
mov rax, qword [r15]
xor edx, edx
cmp byte [0x180267d60], dl
sete dl
mov rcx, r15
call qword [rax + 0x140]
mov rax, qword [0x180278d88]
mov r10, qword [rax]
mov r9, rbp
mov r8, r12
mov rdx, r13
mov rcx, qword [0x180267760]
call r10
mov rax, qword [r15]
xor edx, edx
cmp byte [0x180267d60], dl
setne dl
mov rcx, r15
call qword [rax + 0x140]
jmp 0x18016f8ac
mov r9, rbp
mov r8, r12
mov rdx, r13
mov rcx, qword [0x180267760]
mov rax, qword [0x180278d88]
call qword [rax]
add rbx, 0x28
add r14, 0x28
cmp rbx, qword [0x180272f80]
jne 0x18016f780
mov rcx, qword [0x1802676d8]
vmovss xmm6, dword [0x18023bc20]
vmovss dword [rsp + 0x20], xmm6
vmovss dword [rsp + 0x24], xmm6
vmovss dword [rsp + 0x28], xmm6
mov rax, qword [rcx]
lea rdx, [rsp + 0x20]
call qword [rax + 0x30]
mov rcx, qword [0x1802676d8]
mov rax, qword [rcx]
vmovaps xmm1, xmm6
call qword [rax + 0x20]
mov rcx, qword [0x180267760]
mov rax, qword [rcx]
xor r8d, r8d
xor edx, edx
call qword [rax + 8]
mov al, 1
jmp 0x18016f916
xor al, al
lea r11, [rsp + 0x60]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
vmovaps xmm6, xmmword [rsp + 0x50]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret