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

Disassembly:
mov qword [rsp + 0x10], rbx
push rdi
sub rsp, 0x30
mov rdi, qword [rcx]
test rdi, rdi
je 0x180071739
mov rcx, qword [rdi + 0x10]
test rcx, rcx
je 0x180071739
mov rax, qword [rdi + 0x38]
shr rax, 3
cmp rax, rcx
jbe 0x1800716bc
mov rdx, qword [rdi + 8]
mov r8, rdx
mov rdx, qword [rdx]
mov rcx, rdi
mov rbx, qword [rsp + 0x48]
add rsp, 0x30
pop rdi
jmp 0x180071cb0
mov rcx, qword [rdi + 8]
mov rax, qword [rcx + 8]
mov qword [rax], 0
mov rcx, qword [rcx]
test rcx, rcx
je 0x180071706
mov rbx, qword [rcx]
add rcx, 0x10
call fcn.180004130
nop
mov ecx, 4
call fcn.180096120
mov dword [rax], 0xa
mov edx, 4
mov rcx, rax
call fcn.18009659c
nop
mov rcx, rbx
test rbx, rbx
jne 0x1800716d3
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 + 0x20], rax
lea r8, [rsp + 0x20]
mov rdx, qword [rdi + 0x20]
mov rcx, qword [rdi + 0x18]
call fcn.180073360
nop
mov rbx, qword [rsp + 0x48]
add rsp, 0x30
pop rdi
ret
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
mov rsi, r8
mov r14, rdx
mov rbp, rcx
cmp rdx, r8
je 0x180071ea0
mov rax, qword [rcx + 8]
mov qword [rsp + 0x28], rax
mov r10, qword [rcx + 0x18]
mov qword [rsp + 0x38], r10
mov rax, qword [rdx + 8]
mov qword [rsp + 0x20], rax
mov rbx, rdx
lea r8, [rdx + 0x10]
mov r9, qword [r8 + 0x10]
cmp qword [r8 + 0x18], 0xf
jbe 0x180071d0e
mov r8, qword [r8]
movabs rdx, 0xcbf29ce484222325
xor ecx, ecx
movabs r11, 0x100000001b3
test r9, r9
je 0x180071d44
nop dword [rax]
movzx eax, byte [r8 + rcx]
xor rdx, rax
imul rdx, r11
inc rcx
cmp rcx, r9
jb 0x180071d30
mov rax, qword [rbp + 0x30]
and rax, rdx
shl rax, 4
lea r15, [rax + r10]
add rax, 8
add rax, r10
mov qword [rsp + 0x30], rax
mov r12, qword [r15]
mov r13, qword [rax]
nop word [rax + rax]
mov rdi, rbx
mov rcx, rbx
mov rbx, qword [rbx]
add rcx, 0x10
call fcn.180004130
nop
mov ecx, 4
call fcn.180096120
mov dword [rax], 0xa
mov edx, 4
mov rcx, rax
call fcn.18009659c
nop
dec qword [rbp + 0x10]
cmp rdi, r13
je 0x180071dc0
cmp rbx, rsi
jne 0x180071d70
cmp r12, r14
jne 0x180071e94
mov qword [r15], rbx
jmp 0x180071e94
mov r13, qword [rsp + 0x28]
cmp r12, r14
jne 0x180071dd2
mov qword [r15], r13
mov rax, r13
jmp 0x180071dd7
mov rax, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x30]
mov qword [rcx], rax
cmp rbx, rsi
je 0x180071e94
nop dword [rax + rax]
lea r8, [rbx + 0x10]
mov r9, qword [r8 + 0x10]
cmp qword [r8 + 0x18], 0xf
jbe 0x180071e02
mov r8, qword [r8]
movabs rcx, 0xcbf29ce484222325
xor edx, edx
test r9, r9
je 0x180071e39
movabs r13, 0x100000001b3
nop dword [rax]
movzx eax, byte [r8 + rdx]
xor rcx, rax
imul rcx, r13
inc rdx
cmp rdx, r9
jb 0x180071e20
mov r13, qword [rsp + 0x28]
and rcx, qword [rbp + 0x30]
add rcx, rcx
mov rax, qword [rsp + 0x38]
lea r12, [rax + rcx*8]
lea r15, [rax + rcx*8]
mov r14, qword [r15 + 8]
mov rdi, rbx
mov rcx, rbx
mov rbx, qword [rbx]
add rcx, 0x10
call fcn.180004130
nop
mov ecx, 4
call fcn.180096120
mov dword [rax], 0xa
mov edx, 4
mov rcx, rax
call fcn.18009659c
nop
dec qword [rbp + 0x10]
cmp rdi, r14
je 0x180071ec1
cmp rbx, rsi
jne 0x180071e51
mov qword [r12], rbx
mov rax, qword [rsp + 0x20]
mov qword [rax], rbx
mov qword [rbx + 8], rax
mov rax, rsi
lea r11, [rsp + 0x40]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
mov qword [r12], r13
mov qword [r15 + 8], r13
cmp rbx, rsi
jne 0x180071df0
jmp 0x180071e94