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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x20
mov rdi, rcx
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x18017457d
mov rax, qword [rdi + 0x38]
shr rax, 3
cmp rax, rcx
jbe 0x18017450d
mov rdx, qword [rdi + 8]
mov r8, rdx
mov rdx, qword [rdx]
mov rcx, rdi
mov rbx, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
jmp 0x180175b30
mov rcx, qword [rdi + 8]
mov rax, qword [rcx + 8]
mov qword [rax], 0
mov rsi, qword [rcx]
test rsi, rsi
je 0x18017454a
mov rbx, qword [rsi]
lea rcx, [rsi + 0x10]
mov qword [rsp + 0x30], rcx
call fcn.180008a30
mov edx, 0x38
mov rcx, rsi
call fcn.1802990b4
mov rsi, rbx
test rbx, rbx
jne 0x180174524
mov rax, qword [rdi + 8]
mov qword [rax], rax
mov rax, qword [rdi + 8]
mov qword [rax + 8], rax
mov qword [rdi + 0x10], 0
mov rax, qword [rdi + 8]
mov qword [rsp + 0x30], rax
lea r8, [rsp + 0x30]
mov rdx, qword [rdi + 0x20]
mov rcx, qword [rdi + 0x18]
call fcn.1801773a0
nop
mov rbx, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
ret
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x68
mov r14, r8
mov rbp, rdx
mov r10, rcx
cmp rdx, r8
je 0x180175d61
lea r12, [rcx + 8]
mov qword [rsp + 0x28], r12
mov rax, qword [r12]
mov qword [rsp + 0xc0], rax
mov r11, qword [rcx + 0x18]
mov qword [rsp + 0x30], r11
mov qword [rsp + 0x48], r12
mov rax, qword [rdx + 8]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x50], rax
mov rsi, rdx
mov qword [rsp + 0x58], rdx
mov rax, qword [rdx + 8]
mov qword [rsp + 0x20], rax
lea r8, [rdx + 0x10]
mov r9, qword [r8 + 0x10]
cmp qword [r8 + 0x18], 0xf
jbe 0x180175bab
mov r8, qword [r8]
movabs rdx, 0xcbf29ce484222325
xor ecx, ecx
movabs rbx, 0x100000001b3
test r9, r9
je 0x180175be4
nop word [rax + rax]
movzx eax, byte [rcx + r8]
xor rdx, rax
imul rdx, rbx
inc rcx
cmp rcx, r9
jb 0x180175bd0
mov r13, qword [r10 + 0x30]
and r13, rdx
shl r13, 4
add r13, r11
mov rax, qword [r13]
mov qword [rsp + 0xb8], rax
mov rax, qword [r13 + 8]
mov qword [rsp + 0xc8], rax
nop word [rax + rax]
cmp rsi, rax
sete dil
mov rbx, rsi
mov r15, qword [rsi]
mov rsi, r15
mov qword [rsp + 0x58], r15
lea rcx, [rbx + 0x10]
mov qword [rsp + 0x40], rcx
call fcn.180008a30
mov edx, 0x38
mov rcx, rbx
call fcn.1802990b4
dec qword [r12 + 8]
test dil, dil
jne 0x180175c6e
cmp r15, r14
mov rax, qword [rsp + 0xc8]
jne 0x180175c10
cmp qword [rsp + 0xb8], rbp
jne 0x180175d55
mov qword [r13], r15
jmp 0x180175d55
cmp qword [rsp + 0xb8], rbp
jne 0x180175c86
mov rax, qword [rsp + 0xc0]
mov qword [r13], rax
jmp 0x180175c8b
mov rax, qword [rsp + 0x20]
mov qword [r13 + 8], rax
cmp r15, r14
je 0x180175d55
nop dword [rax + rax]
lea r8, [rsi + 0x10]
mov r9, qword [r8 + 0x10]
cmp qword [r8 + 0x18], 0xf
jbe 0x180175cb2
mov r8, qword [r8]
movabs rdx, 0xcbf29ce484222325
xor eax, eax
test r9, r9
je 0x180175ce9
movabs r12, 0x100000001b3
nop dword [rax]
movzx ecx, byte [rax + r8]
xor rdx, rcx
imul rdx, r12
inc rax
cmp rax, r9
jb 0x180175cd0
mov r12, qword [rsp + 0x28]
mov rax, qword [rsp + 0xb0]
mov r15, qword [rax + 0x30]
and r15, rdx
shl r15, 4
add r15, qword [rsp + 0x30]
mov r13, qword [r15 + 8]
nop word [rax + rax]
cmp rsi, r13
sete dil
mov rbx, rsi
mov rbp, qword [rsi]
mov rsi, rbp
mov qword [rsp + 0x58], rbp
lea rcx, [rbx + 0x10]
mov qword [rsp + 0xb8], rcx
call fcn.180008a30
mov edx, 0x38
mov rcx, rbx
call fcn.1802990b4
dec qword [r12 + 8]
test dil, dil
jne 0x180175d75
cmp rbp, r14
jne 0x180175d10
mov qword [r15], rbp
mov rax, qword [rsp + 0x38]
mov qword [rax], rsi
mov qword [rsi + 8], rax
mov rax, r14
add rsp, 0x68
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov rcx, qword [rsp + 0xc0]
mov qword [r15], rcx
mov qword [r15 + 8], rcx
cmp rbp, r14
jne 0x180175ca0
jmp 0x180175d55