Function at 0x14003ad30
Capabilities:
Hash data using fnv

Disassembly:
push rbx
push r12
push r13
push r14
sub rsp, 0x38
mov r14, rcx
movzx r8d, dl
movabs r12, 0x100000001b3
mov eax, edx
shr eax, 8
movabs r13, 0xcbf29ce484222325
xor r8, r13
movzx ecx, al
imul r8, r12
mov eax, edx
xor r8, rcx
shr eax, 0x10
imul r8, r12
movzx ecx, al
xor r8, rcx
mov eax, edx
mov rcx, qword [r14 + 0x48]
imul r8, r12
shr rax, 0x18
xor r8, rax
mov rax, qword [r14 + 0x58]
imul r8, r12
and r8, qword [r14 + 0x70]
add r8, r8
mov rbx, qword [rax + r8*8 + 8]
cmp rbx, rcx
je 0x14003b085
mov rax, qword [rax + r8*8]
cmp edx, dword [rbx + 0x10]
je 0x14003adc2
nop
cmp rbx, rax
je 0x14003b085
mov rbx, qword [rbx + 8]
cmp edx, dword [rbx + 0x10]
jne 0x14003adb0
test rbx, rbx
cmove rbx, rcx
cmp rbx, rcx
je 0x14003b085
lea r8, [rbx + 0x18]
mov qword [rsp + 0x68], rbp
lea rdx, [rsp + 0x20]
mov rcx, r14
call fcn.14003b930
mov rbp, qword [rsp + 0x20]
cmp rbp, qword [r14 + 8]
je 0x14003b080
mov r8d, dword [rbx + 0x20]
mov eax, r8d
mov qword [rsp + 0x78], rdi
shr eax, 8
movzx edx, al
movzx eax, r8b
xor rax, r13
imul rax, r12
xor rdx, rax
mov eax, r8d
imul rdx, r12
shr eax, 0x10
movzx ecx, al
mov eax, r8d
xor rdx, rcx
shr rax, 0x18
mov rcx, qword [rbp + 0x20]
imul rdx, r12
xor rdx, rax
mov rax, qword [rbp + 0x30]
imul rdx, r12
and rdx, qword [rbp + 0x48]
add rdx, rdx
mov rdi, qword [rax + rdx*8 + 8]
cmp rdi, rcx
je 0x14003b07b
mov rax, qword [rax + rdx*8]
cmp r8d, dword [rdi + 0x10]
je 0x14003ae73
cmp rdi, rax
je 0x14003b07b
mov rdi, qword [rdi + 8]
cmp r8d, dword [rdi + 0x10]
jne 0x14003ae60
test rdi, rdi
cmove rdi, rcx
cmp rdi, rcx
je 0x14003b07b
mov rax, qword [rdi + 0x18]
mov qword [rsp + 0x70], rsi
mov rsi, qword [rax]
cmp rsi, rax
je 0x14003b076
mov r8, qword [rbx + 0x28]
nop dword [rax]
mov rdx, qword [rsi]
lea rcx, [rsi + 0x10]
cmp rcx, r8
je 0x14003aeb9
mov rsi, rdx
cmp rdx, rax
jne 0x14003aea0
jmp 0x14003b076
mov rax, qword [rsi + 8]
mov qword [rsp + 0x30], r15
lea r15, [rsi + 0x10]
mov qword [rax], rdx
mov rcx, qword [rsi]
mov rax, qword [rsi + 8]
mov qword [rcx + 8], rax
dec qword [rdi + 0x20]
mov rcx, qword [r15 + 0x38]
test rcx, rcx
je 0x14003aef5
mov rax, qword [rcx]
cmp rcx, r15
setne dl
call qword [rax + 0x20]
mov qword [r15 + 0x38], 0
mov edx, 0x50
mov rcx, rsi
call fcn.14004f3ac
cmp qword [rdi + 0x20], 0
mov r15, qword [rsp + 0x30]
jne 0x14003afeb
mov r8d, dword [rbx + 0x20]
mov r10, qword [rbp + 0x30]
mov eax, r8d
shr eax, 8
movzx edx, al
movzx eax, r8b
xor rax, r13
imul rax, r12
xor rdx, rax
mov eax, r8d
imul rdx, r12
shr eax, 0x10
movzx ecx, al
mov eax, r8d
xor rdx, rcx
shr rax, 0x18
mov rcx, qword [rbp + 0x20]
imul rdx, r12
xor rdx, rax
imul rdx, r12
and rdx, qword [rbp + 0x48]
mov r9, rdx
add r9, r9
mov r11, qword [r10 + r9*8 + 8]
mov rdi, r11
cmp r11, rcx
je 0x14003afeb
mov rax, qword [r10 + r9*8]
cmp r8d, dword [r11 + 0x10]
je 0x14003af87
cmp rdi, rax
je 0x14003afeb
mov rdi, qword [rdi + 8]
cmp r8d, dword [rdi + 0x10]
jne 0x14003af78
test rdi, rdi
je 0x14003afeb
add rdx, rdx
mov rax, qword [r10 + rdx*8]
cmp r11, rdi
jne 0x14003afb3
cmp rax, rdi
jne 0x14003afa8
mov qword [r10 + rdx*8], rcx
mov qword [r10 + r9*8 + 8], rcx
jmp 0x14003afbf
mov rcx, qword [rdi + 8]
mov qword [r10 + r9*8 + 8], rcx
jmp 0x14003afbf
cmp rax, rdi
jne 0x14003afbf
mov rax, qword [rdi]
mov qword [r10 + rdx*8], rax
mov rcx, qword [rdi]
dec qword [rbp + 0x28]
mov rax, qword [rdi + 8]
mov qword [rax], rcx
mov rax, qword [rdi + 8]
mov qword [rcx + 8], rax
lea rcx, [rdi + 0x18]
call fcn.14003b7a0
mov edx, 0x28
mov rcx, rdi
call fcn.14004f3ac
movzx eax, byte [rbx + 0x11]
movzx edx, byte [rbx + 0x10]
xor rdx, r13
imul rdx, r12
xor rdx, rax
movzx eax, byte [rbx + 0x12]
imul rdx, r12
xor rdx, rax
movzx eax, byte [rbx + 0x13]
imul rdx, r12
xor rdx, rax
imul rdx, r12
and rdx, qword [r14 + 0x70]
shl rdx, 4
add rdx, qword [r14 + 0x58]
mov rax, qword [rdx]
cmp qword [rdx + 8], rbx
jne 0x14003b048
cmp rax, rbx
jne 0x14003b03e
mov rax, qword [r14 + 0x48]
mov qword [rdx], rax
mov qword [rdx + 8], rax
jmp 0x14003b053
mov rax, qword [rbx + 8]
mov qword [rdx + 8], rax
jmp 0x14003b053
cmp rax, rbx
jne 0x14003b053
mov rax, qword [rbx]
mov qword [rdx], rax
mov rcx, qword [rbx]
mov edx, 0x30
dec qword [r14 + 0x50]
mov rax, qword [rbx + 8]
mov qword [rax], rcx
mov rax, qword [rbx + 8]
mov qword [rcx + 8], rax
mov rcx, rbx
call fcn.14004f3ac
mov rsi, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x78]
mov rbp, qword [rsp + 0x68]
add rsp, 0x38
pop r14
pop r13
pop r12
pop rbx
ret