Function at 0x180047640
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 0x10], rbx
push rdi
sub rsp, 0x20
mov rdi, rcx
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x1800476e8
mov rax, qword [rdi + 0x38]
shr rax, 3
cmp rax, rcx
jbe 0x180047683
mov rdx, qword [rdi + 8]
mov r8, rdx
mov rdx, qword [rdx]
mov rcx, rdi
mov rbx, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
jmp 0x1800477b0
mov rcx, qword [rdi + 8]
mov rax, qword [rcx + 8]
mov qword [rax], 0
mov rcx, qword [rcx]
test rcx, rcx
je 0x1800476b5
nop word [rax + rax]
mov rbx, qword [rcx]
mov edx, 0x20
call fcn.180049e70
mov rcx, rbx
test rbx, rbx
jne 0x1800476a0
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.18003c020
nop
mov rbx, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x20
mov rbp, r8
mov r14, rdx
mov rsi, rcx
cmp rdx, r8
je 0x18004798c
mov r12, qword [rcx + 8]
mov rdx, qword [rcx + 0x18]
mov qword [rsp + 0x78], rdx
mov r13, qword [r14 + 8]
mov rbx, r14
movzx ecx, byte [r14 + 0x10]
movabs rax, 0xcbf29ce484222325
xor rcx, rax
movabs r8, 0x100000001b3
imul rcx, r8
movzx eax, byte [r14 + 0x11]
xor rcx, rax
imul rcx, r8
movzx eax, byte [r14 + 0x12]
xor rcx, rax
imul rcx, r8
movzx eax, byte [r14 + 0x13]
xor rcx, rax
imul rcx, r8
movzx eax, byte [r14 + 0x14]
xor rcx, rax
imul rcx, r8
movzx eax, byte [r14 + 0x15]
xor rcx, rax
imul rcx, r8
movzx eax, byte [r14 + 0x16]
xor rcx, rax
imul rcx, r8
movzx eax, byte [r14 + 0x17]
xor rcx, rax
imul rcx, r8
mov rax, qword [rsi + 0x30]
and rax, rcx
shl rax, 4
add rax, rdx
mov qword [rsp + 0x68], rax
mov rcx, qword [rax]
mov qword [rsp + 0x70], rcx
mov r15, qword [rax + 8]
nop dword [rax]
mov rdi, rbx
mov rcx, rbx
mov rbx, qword [rbx]
mov edx, 0x20
call fcn.180049e70
dec qword [rsi + 0x10]
cmp rdi, r15
je 0x1800478b9
cmp rbx, rbp
jne 0x180047880
cmp qword [rsp + 0x70], r14
jne 0x180047984
mov rcx, qword [rsp + 0x68]
mov qword [rcx], rbx
jmp 0x180047984
mov rcx, qword [rsp + 0x68]
cmp qword [rsp + 0x70], r14
jne 0x1800478cd
mov qword [rcx], r12
mov rax, r12
jmp 0x1800478d0
mov rax, r13
mov qword [rcx + 8], rax
cmp rbx, rbp
je 0x180047984
movzx ecx, byte [rbx + 0x10]
movabs rax, 0xcbf29ce484222325
xor rcx, rax
movabs rdx, 0x100000001b3
imul rcx, rdx
movzx eax, byte [rbx + 0x11]
xor rcx, rax
imul rcx, rdx
movzx eax, byte [rbx + 0x12]
xor rcx, rax
imul rcx, rdx
movzx eax, byte [rbx + 0x13]
xor rcx, rax
imul rcx, rdx
movzx eax, byte [rbx + 0x14]
xor rcx, rax
imul rcx, rdx
movzx eax, byte [rbx + 0x15]
xor rcx, rax
imul rcx, rdx
movzx eax, byte [rbx + 0x16]
xor rcx, rax
imul rcx, rdx
movzx eax, byte [rbx + 0x17]
xor rcx, rax
imul rcx, rdx
mov r15, qword [rsi + 0x30]
and r15, rcx
shl r15, 4
add r15, qword [rsp + 0x78]
mov r14, qword [r15 + 8]
nop dword [rax]
mov rdi, rbx
mov rcx, rbx
mov rbx, qword [rbx]
mov edx, 0x20
call fcn.180049e70
dec qword [rsi + 0x10]
cmp rdi, r14
je 0x1800479a4
cmp rbx, rbp
jne 0x180047960
mov qword [r15], rbx
mov qword [r13], rbx
mov qword [rbx + 8], r13
mov rax, rbp
mov rbx, qword [rsp + 0x60]
add rsp, 0x20
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov qword [r15], r12
mov qword [r15 + 8], r12
jmp 0x1800478d4