Function at 0x1401f20a0
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
mov qword [rsp + 8], rcx
push rbp
push rdi
push r12
push r14
push r15
mov rbp, rsp
sub rsp, 0x50
cmp byte [rdx + 0x43], 0
mov r15, rdx
mov r12, rcx
je 0x1401f20d9
mov r14, qword [rdx + 0x60]
test r14, r14
jne 0x1401f20dd
mov r14, qword [rdx + 0x28]
jmp 0x1401f20dd
mov r14, qword [rdx + 0x50]
mov rsi, qword [rdx + 0x10]
cmp qword [rsi + 0x18], 0x10
jb 0x1401f20eb
mov rsi, qword [rsi]
xor edi, edi
mov ebx, edi
test rsi, rsi
je 0x1401f2109
mov rbx, 0xffffffffffffffff
nop dword [rax + rax]
inc rbx
cmp byte [rsi + rbx], dil
jne 0x1401f2100
mov rcx, qword [rcx + 0x80]
lea r8, [rbp - 0x20]
lea rdx, [rbp - 0x30]
mov qword [rsp + 0x88], r13
mov qword [rbp - 0x20], r14
mov qword [rbp - 0x18], rsi
mov qword [rbp - 0x10], rbx
mov qword [rbp - 8], r15
call fcn.1401ed630
cmp byte [rbp - 0x28], dil
jne 0x1401f221d
mov r13, qword [r12 + 0x80]
lea r8, [rbx + rsi]
mov rdx, rdi
mov rcx, rsi
cmp rsi, r8
jae 0x1401f2173
nop word [rax + rax]
movsx rax, byte [rcx]
lea rdx, [rdx + rdx*4]
add rdx, rax
inc rcx
cmp rcx, r8
jb 0x1401f2160
mov rax, qword [r13 + 0x18]
imul rcx, r14, 0x1000193
xor rcx, rdx
and rcx, qword [r13 + 0x30]
add rcx, rcx
mov rdi, qword [rax + rcx*8 + 8]
cmp rdi, qword [r13 + 8]
je 0x1401f21f7
mov r12, qword [rax + rcx*8]
cmp r14, qword [rdi + 0x10]
jne 0x1401f21d1
movups xmm0, xmmword [rdi + 0x18]
movaps xmmword [rbp - 0x30], xmm0
psrldq xmm0, 8
movq rax, xmm0
cmp rbx, rax
jne 0x1401f21d1
mov rdx, qword [rbp - 0x30]
cmp rsi, rdx
je 0x1401f21dc
test rbx, rbx
jle 0x1401f21dc
mov r8, rbx
mov rcx, rsi
call fcn.1403229e0
test eax, eax
je 0x1401f21dc
cmp rdi, r12
je 0x1401f21f3
mov rdi, qword [rdi + 8]
jmp 0x1401f2197
test rdi, rdi
je 0x1401f21f3
mov r12, qword [rbp + 0x30]
cmp rdi, qword [r13 + 8]
je 0x1401f21f7
mov rax, qword [rdi + 0x28]
xor edi, edi
jmp 0x1401f21fb
mov r12, qword [rbp + 0x30]
xor edi, edi
mov eax, edi
lea rcx, [r12 + 0x40]
mov qword [rbp - 0x20], r14
lea r8, [rbp - 0x20]
mov qword [rbp - 0x18], rsi
lea rdx, [rbp - 0x30]
mov qword [rbp - 0x10], rbx
mov qword [rbp - 8], rax
call fcn.1401ed630
mov rsi, qword [r15 + 0x18]
cmp qword [rsi + 0x18], 0x10
jb 0x1401f222b
mov rsi, qword [rsi]
mov rbx, rdi
test rsi, rsi
je 0x1401f2249
mov rbx, 0xffffffffffffffff
nop word [rax + rax]
inc rbx
cmp byte [rsi + rbx], 0
jne 0x1401f2240
mov rcx, qword [r12 + 0xd0]
lea r8, [rbp - 0x20]
lea rdx, [rbp - 0x30]
mov qword [rbp - 0x20], r14
mov qword [rbp - 0x18], rsi
mov qword [rbp - 0x10], rbx
mov qword [rbp - 8], r15
call fcn.1401ed630
cmp byte [rbp - 0x28], 0
jne 0x1401f2344
mov r13, qword [r12 + 0xd0]
lea r8, [rbx + rsi]
mov rdx, rdi
mov rcx, rsi
cmp rsi, r8
jae 0x1401f22a3
nop
movsx rax, byte [rcx]
lea rdx, [rdx + rdx*4]
add rdx, rax
inc rcx
cmp rcx, r8
jb 0x1401f2290
mov rax, qword [r13 + 0x18]
imul rcx, r14, 0x1000193
xor rcx, rdx
and rcx, qword [r13 + 0x30]
add rcx, rcx
mov rdi, qword [rax + rcx*8 + 8]
cmp rdi, qword [r13 + 8]
je 0x1401f231d
mov r15, qword [rax + rcx*8]
cmp r14, qword [rdi + 0x10]
jne 0x1401f2301
movups xmm0, xmmword [rdi + 0x18]
movaps xmmword [rbp - 0x30], xmm0
psrldq xmm0, 8
movq rax, xmm0
cmp rbx, rax
jne 0x1401f2301
mov rdx, qword [rbp - 0x30]
cmp rsi, rdx
je 0x1401f230c
test rbx, rbx
jle 0x1401f230c
mov r8, rbx
mov rcx, rsi
call fcn.1403229e0
test eax, eax
je 0x1401f230c
cmp rdi, r15
je 0x1401f231d
mov rdi, qword [rdi + 8]
jmp 0x1401f22c7
test rdi, rdi
je 0x1401f231d
cmp rdi, qword [r13 + 8]
je 0x1401f231d
mov rax, qword [rdi + 0x28]
jmp 0x1401f231f
xor eax, eax
lea rcx, [r12 + 0x90]
mov qword [rbp - 0x20], r14
lea r8, [rbp - 0x20]
mov qword [rbp - 0x18], rsi
lea rdx, [rbp - 0x30]
mov qword [rbp - 0x10], rbx
mov qword [rbp - 8], rax
call fcn.1401ed630
mov r13, qword [rsp + 0x88]
lea r11, [rsp + 0x50]
mov rbx, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret