Function at 0x180009500
Capabilities:
Encode data using xor
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 - 0x37]
sub rsp, 0xb0
mov rax, qword [0x1800a2038]
xor rax, rsp
mov qword [rbp + 0x2f], rax
mov rdi, rcx
xor r14d, r14d
call fcn.18001a310
mov rsi, rax
xor r9d, r9d
lea r8, [rbp + 0x27]
xor edx, edx
lea rbx, [0x1800a3548]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_InitOnceBeginInitialize]
test eax, eax
jne 0x180009564
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_abort]
int3
cmp dword [rbp + 0x27], r14d
je 0x1800095d1
mov qword [rbp + 7], rbx
mov dword [rbp + 0xf], 4
movsxd rax, dword [rsi + 0x10]
test eax, eax
jle 0x1800095bb
lea rcx, [rax + rax*8]
mov rax, qword [rdi]
lea rax, [rax + rcx*8]
mov r8d, dword [rax + 0x40]
mov rcx, rax
cmp qword [rax + 0x18], 0x10
jb 0x180009599
mov rcx, qword [rax]
mov rax, qword [rax + 0x10]
mov qword [rbp - 0x49], rcx
mov qword [rbp - 0x41], rax
movaps xmm0, xmmword [rbp - 0x49]
movdqa xmmword [rbp - 0x49], xmm0
lea rdx, [rbp - 0x49]
mov rcx, rdi
call fcn.180007790
nop
xor r8d, r8d
xor edx, edx
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_InitOnceComplete]
test eax, eax
je 0x180009d3a
mov rcx, qword [0x1800a2058]
call fcn.180019600
movsxd r8, dword [rax + 0x20]
mov rdx, qword [rax + 0x18]
xorps xmm0, xmm0
movups xmmword [rbp - 0x19], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 9], xmm1
lea rcx, [rbp - 0x19]
call fcn.180004f80
lea rcx, [rbp - 0x19]
mov r8, qword [rbp - 0x19]
mov r9, qword [rbp - 1]
cmp r9, 0x10
cmovae rcx, r8
movabs r13, 0xcbf29ce484222325
mov r15, r13
mov rdx, qword [rbp - 9]
add rdx, rcx
movabs r12, 0x100000001b3
cmp rcx, rdx
je 0x180009653
nop dword [rax]
nop dword [rax + rax]
movsx rax, byte [rcx]
xor r15, rax
imul r15, r12
inc rcx
cmp rcx, rdx
jne 0x180009640
cmp r9, 0x10
jb 0x18000968d
lea rdx, [r9 + 1]
mov rax, r8
cmp rdx, 0x1000
jb 0x180009685
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180009685
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, r8
call fcn.180066ab0
xor edx, edx
mov ecx, 0x21d
lea r8d, [rdx + 1]
call fcn.18003ba00
test al, al
je 0x18000974a
mov edx, 0x20f
mov r9, qword [0x1800a3410]
mov rcx, r9
call fcn.18003b310
cmp byte [rax], 0
je 0x18000974a
cmp byte [r9 + 0x403c], 0
jne 0x18000974a
mov r14, qword [rdi + 0x20]
mov rbx, qword [rdi + 0x18]
cmp rbx, r14
je 0x180009707
nop dword [rax]
mov rcx, qword [0x1800a2058]
call fcn.180019600
mov ecx, dword [rax + 0x38]
cmp qword [rbx], r15
jne 0x1800096fe
cmp dword [rbx + 8], ecx
jg 0x1800096fe
cmp dword [rbx + 0xc], ecx
jge 0x180009707
add rbx, 0x28
cmp rbx, r14
jne 0x1800096e0
cmp rbx, qword [rdi + 0x20]
je 0x180009747
mov rcx, qword [0x1800a2058]
call fcn.180019600
mov r9, rax
mov r8, qword [rbx + 0x18]
sub r8, qword [rbx + 0x10]
sar r8, 5
movsx eax, byte [rax + 0x9c]
inc eax
cdqe
xor edx, edx
div r8
mov byte [r9 + 0x9c], dl
mov rcx, r9
call fcn.1800194a0
xor r14d, r14d
xor edx, edx
lea r8d, [rdx + 1]
mov ecx, dword [rsi + 0x14]
call fcn.18003ba00
test al, al
je 0x18000978d
mov eax, dword [rsi + 0x10]
sub eax, 1
cmovs eax, r14d
mov dword [rsi + 0x10], eax
cdqe
lea rcx, [rax + rax*8]
mov rax, qword [rdi]
lea rax, [rax + rcx*8]
mov r8d, dword [rax + 0x40]
mov rdx, rax
cmp qword [rax + 0x18], 0x10
jb 0x180009787
mov rdx, qword [rax]
mov qword [rbp - 0x49], rdx
jmp 0x1800097f2
xor edx, edx
lea r8d, [rdx + 1]
mov ecx, dword [rsi + 0x18]
call fcn.18003ba00
test al, al
je 0x180009817
mov rcx, qword [rdi + 8]
sub rcx, qword [rdi]
movabs rax, 0xe38e38e38e38e39
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
dec edx
mov eax, dword [rsi + 0x10]
inc eax
cmp edx, eax
cmovl eax, edx
mov dword [rsi + 0x10], eax
cdqe
lea rcx, [rax + rax*8]
mov rax, qword [rdi]
lea rax, [rax + rcx*8]
mov r8d, dword [rax + 0x40]
mov rcx, rax
cmp qword [rax + 0x18], 0x10
jb 0x1800097ee
mov rcx, qword [rax]
mov qword [rbp - 0x49], rcx
mov rax, qword [rax + 0x10]
mov qword [rbp - 0x41], rax
movaps xmm0, xmmword [rbp - 0x49]
movdqa xmmword [rbp + 7], xmm0
lea rdx, [rbp + 7]
mov rcx, rdi
call fcn.180007790
mov rcx, rsi
call fcn.18001ae10
mov rcx, qword [0x1800a2058]
call fcn.180019600
mov rcx, qword [rax + 8]
cmp qword [rax], rcx
je 0x1800098d1
mov rcx, r13
lea rdx, str.Viego
lea r8, [0x18008cfe5]
movsx rax, byte [rdx]
xor rcx, rax
imul rcx, r12
inc rdx
cmp rdx, r8
jne 0x180009841
cmp r15, rcx
je 0x1800098d1
mov rcx, r13
lea rdx, str.Sylas
lea r8, [0x18008cfed]
nop word [rax + rax]
movsx rax, byte [rdx]
xor rcx, rax
imul rcx, r12
inc rdx
cmp rdx, r8
jne 0x180009870
cmp r15, rcx
je 0x1800098d1
mov rcx, qword [0x1800a2058]
call fcn.180019600
mov rbx, qword [rax]
mov rcx, qword [0x1800a2058]
call fcn.180019600
mov eax, dword [rax + 0x38]
cmp dword [rbx + 0x20], eax
je 0x1800098d1
mov rcx, qword [0x1800a2058]
call fcn.180019600
mov ecx, dword [rax + 0x38]
mov dword [rbx + 0x20], ecx
mov rcx, qword [0x1800a2058]
call fcn.180019600
mov rcx, rax
call fcn.1800194a0
mov rax, qword [0x1800a2068]
mov rsi, qword [rax + 8]
movsxd rcx, dword [rax + 0x10]
lea r14, [rsi + rcx*8]
lea rdx, [0x180001008]
cmp rsi, r14
je 0x180009c5b
mov rdi, qword [rsi]
mov rcx, rdi
call fcn.180019600
movsxd r8, dword [rax + 0x20]
mov rdx, qword [rax + 0x18]
xorps xmm0, xmm0
movups xmmword [rbp - 0x39], xmm0
xor eax, eax
mov qword [rbp - 0x29], rax
mov qword [rbp - 0x21], rax
lea rcx, [rbp - 0x39]
call fcn.180004f80
lea rcx, [rbp - 0x39]
mov r8, qword [rbp - 0x39]
mov r9, qword [rbp - 0x21]
cmp r9, 0x10
cmovae rcx, r8
mov rbx, r13
mov rdx, qword [rbp - 0x29]
add rdx, rcx
cmp rcx, rdx
je 0x180009963
nop dword [rax]
nop dword [rax + rax]
movsx rax, byte [rcx]
xor rbx, rax
imul rbx, r12
inc rcx
cmp rcx, rdx
jne 0x180009950
cmp r9, 0x10
jb 0x18000999a
lea rdx, [r9 + 1]
mov rax, r8
cmp rdx, 0x1000
jb 0x180009992
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180009d33
mov rcx, r8
call fcn.180066ab0
lea rax, [0x180001008]
mov qword [rbp + 7], rax
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
add rax, 0x2047d0
mov qword [rbp + 0xf], rax
xor eax, eax
mov qword [rbp + 0x17], rax
mov qword [rsp + 0x28], rax
lea rax, [rbp + 7]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, rdi
call fcn.180062110
mov r10, rax
mov rcx, qword [0x1800a2058]
cmp rax, rcx
jne 0x180009b67
mov r9, r13
lea r8, str.TestCubeRender10Vision
lea rax, [0x18008d006]
nop
movsx rdx, byte [r8]
xor r9, rdx
imul r9, r12
inc r8
cmp r8, rax
jne 0x180009a00
cmp rbx, r9
jne 0x180009ab4
mov r8, r13
lea rdx, str.Yone
lea r13, [0x18008d00c]
nop dword [rax]
movsx rax, byte [rdx]
xor r8, rax
imul r8, r12
inc rdx
cmp rdx, r13
jne 0x180009a30
movabs r13, 0xcbf29ce484222325
cmp r15, r8
jne 0x180009ab4
call fcn.180019600
mov ebx, dword [rax + 0x38]
cmp ebx, 0xffffffff
je 0x180009c47
mov rcx, rdi
call fcn.180019600
cmp dword [rax + 0x38], ebx
je 0x180009c47
mov dword [rax + 0x38], ebx
mov rcx, qword [rax]
cmp rcx, qword [rax + 8]
je 0x180009a84
mov qword [rax + 8], rcx
lea rcx, str.Yone
mov qword [rbp - 0x49], rcx
mov qword [rbp - 0x41], 4
movaps xmm0, xmmword [rbp - 0x49]
movdqa xmmword [rbp + 7], xmm0
mov r8d, ebx
lea rdx, [rbp + 7]
mov rcx, rax
call fcn.180019510
jmp 0x180009c47
movabs rax, 0x7f73a69ceda64da3
cmp rbx, rax
je 0x180009c47
movabs rax, 0x55aadd3b0beb052
cmp rbx, rax
je 0x180009c47
movabs rax, 0x539155572cdb8205
cmp rbx, rax
je 0x180009c47
movabs rax, 0x6d7e58c4baab42d7
cmp rbx, rax
je 0x180009c47
movabs rax, 0x72bc2cf6078ed975
cmp rbx, rax
je 0x180009c47
movabs rax, 0x8a3cbaf0c0c9ab30
cmp rbx, rax
je 0x180009c47
movabs rax, 0xb352e0e8a63ba445
cmp rbx, rax
je 0x180009c47
movabs rax, 0xf1748cc7ff49f360
cmp rbx, rax
je 0x180009c47
movabs rax, 0xf9b091d6f2614d04
cmp rbx, rax
je 0x180009c47
mov rcx, r10
jmp 0x180009c37
movabs rax, 0x5e579f75baa13802
cmp r15, rax
je 0x180009bf5
movabs rax, 0x8630d2c653f7b189
cmp r15, rax
je 0x180009bc5
movabs rax, 0xb21aee8ca2c5af62
cmp r15, rax
jne 0x180009c47
mov r8, r13
lea rdx, str.KindredWolf
lea r13, [0x18008cc13]
nop dword [rax]
movsx rax, byte [rdx]
xor r8, rax
imul r8, r12
inc rdx
cmp rdx, r13
jne 0x180009bb0
jmp 0x180009c23
mov r8, r13
lea rdx, str.NunuSnowball
lea r13, [0x18008cc24]
nop word [rax + rax]
movsx rax, byte [rdx]
xor r8, rax
imul r8, r12
inc rdx
cmp rdx, r13
jne 0x180009be0
jmp 0x180009c23
mov r8, r13
lea rdx, str.QuinnValor
lea r13, [0x18008cc32]
nop word [rax + rax]
movsx rax, byte [rdx]
xor r8, rax
imul r8, r12
inc rdx
cmp rdx, r13
jne 0x180009c10
cmp rbx, r8
movabs r13, 0xcbf29ce484222325
sete al
test al, al
je 0x180009c47
call fcn.180019600
mov edx, dword [rax + 0x38]
mov rcx, rdi
call fcn.1800076b0
add rsi, 8
cmp rsi, r14
jne 0x1800098f4
lea rdx, [0x180001008]
mov rax, qword [0x1800a2070]
mov rbx, qword [rax + 8]
movsxd rcx, dword [rax + 0x10]
lea r14, [rbx + rcx*8]
cmp rbx, r14
je 0x180009d06
nop word [rax + rax]
mov rsi, qword [rbx]
mov qword [rbp + 7], rdx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
add rax, 0x2047d0
mov qword [rbp + 0xf], rax
xor eax, eax
mov qword [rbp + 0x17], rax
mov qword [rsp + 0x28], rax
lea rax, [rbp + 7]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, rsi
call fcn.180062110
mov rdi, qword [0x1800a2058]
cmp rax, rdi
jne 0x180009cf2
mov edx, 0x400
mov rcx, rdi
call fcn.180019a80
lea r8, [rdi + 0x3608]
mov edx, 0x38
test al, al
cmovne rdx, r8
mov edx, dword [rdx]
mov rcx, rsi
call fcn.1800076b0
add rbx, 8
cmp rbx, r14
lea rdx, [0x180001008]
jne 0x180009c80
mov rcx, qword [rbp + 0x2f]
xor rcx, rsp
call fcn.180066640
lea r11, [rsp + 0xb0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180066320
int3