Function at 0x1400960e0
Capabilities:
Hash data using fnv

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x98
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x10], 0xfffffffffffffffe
mov rdi, r9
mov r14, r8
mov rsi, rdx
mov rbx, rcx
movabs rax, 0x6e704b5152424e50
lea r15, [rbp - 0x10]
mov qword [r15], rax
mov dword [r15 + 8], 0x6b717262
lea rdx, [rbp - 0x60]
mov qword [rdx], r15
lea rax, [rbp - 4]
mov qword [rdx + 8], rax
lea rcx, [rbp - 0x50]
call fcn.1400a60e0
mov r12, qword [rdi + 0x10]
test r12, r12
je case.0x140096265.108
cmp r12, 1
je 0x140096192
cmp r12, 5
jne 0x1400961d0
mov rax, qword [rdi]
mov rcx, qword [rdi + 0x18]
cmp rcx, 0x10
mov rdx, rdi
cmovae rdx, rax
mov r8d, 0x74696877
xor r8d, dword [rdx]
movzx r9d, byte [rdx + 4]
xor r9d, 0x65
or r9d, r8d
jne 0x140096271
mov dword [r14], 0
jmp case.0x140096265.108
mov rax, qword [rdi]
mov rcx, qword [rdi + 0x18]
cmp rcx, 0x10
mov rdx, rdi
cmovae rdx, rax
movzx edx, byte [rdx]
cmp edx, 0x63
je 0x1400962f9
cmp edx, 0x2e
je 0x1400962ae
cmp edx, 0x23
jne 0x1400961d7
mov r8d, 0x100
mov rcx, rsi
xor edx, edx
call fcn.14006e2c0
jmp case.0x140096265.108
mov rax, qword [rdi]
mov rcx, qword [rdi + 0x18]
cmp rcx, 0x10
cmovae rdi, rax
movzx eax, byte [rdi]
movabs rcx, 0x4bf29ce484222325
xor rcx, rax
movabs rdx, 0x100000001b3
imul rdx, rcx
and rdx, qword [rbp - 0x20]
mov r8, qword [rbp - 0x38]
mov rcx, rdx
shl rcx, 4
mov rcx, qword [r8 + rcx + 8]
cmp rcx, qword [rbp - 0x48]
jne 0x14009623e
lea rcx, [rbp - 0x38]
call fcn.1400a6180
lea rcx, [rbp - 0x48]
call fcn.1400a61e0
nop
add rsp, 0x98
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
cmp al, byte [rcx + 0x10]
jne 0x140096293
movsx ecx, al
call fcn.140054c54
lea ecx, [rax - 0x6b]
cmp ecx, 7
ja case.default.0x140096265
lea rax, [0x1400f6718]
movsxd rcx, dword [rax + rcx*4]
add rcx, rax
jmp rcx
mov eax, 6
jmp 0x140096449
mov r8d, 0x63616c62
xor r8d, dword [rdx]
movzx edx, byte [rdx + 4]
xor edx, 0x6b
or edx, r8d
jne 0x1400961d7
mov dword [r14], 1
jmp case.0x140096265.108
add rdx, rdx
mov rdx, qword [r8 + rdx*8]
cmp rcx, rdx
je case.0x140096265.108
mov rcx, qword [rcx + 8]
cmp al, byte [rcx + 0x10]
jne 0x14009629a
jmp 0x140096243
mov byte [rbx + 0x1903], 0
mov rcx, rsi
call fcn.140002eb0
cmp dword [rsi + 0x100], 4
jne 0x14009630c
mov ecx, dword [rsi]
mov eax, dword [rsi + 0x1c]
cmp ecx, 4
jne 0x1400964e9
cmp eax, 4
jne 0x1400964e9
mov ecx, dword [rsi + 0x140]
mov dword [rsi + 0x140], 0
movabs rax, 0x5f1af3aaa504b75
jmp 0x140096326
mov eax, 1
sub eax, dword [rbx + 0x1904]
mov dword [r14], eax
jmp case.0x140096265.108
mov ecx, dword [rsi + 0x140]
mov dword [rsi + 0x140], 3
movabs rax, 0x562f296d208bec0c
movsxd rcx, ecx
mov rdx, qword [rsi + 0x128]
lea r8, [0x1400ce280]
xor rdx, qword [r8 + rcx*8]
xor ecx, ecx
cmp dword [rsi + 0x120], 1
setne cl
btr rdx, 0x3f
shl rcx, 0x3f
or rcx, rdx
xor rcx, rax
mov qword [rsi + 0x128], rcx
cmp dword [rsi + 0x104], 0x3c
jne 0x1400963cb
mov ecx, dword [rsi + 0xe0]
mov eax, dword [rsi + 0xfc]
cmp ecx, 0xc
jne 0x140096511
cmp eax, 0xc
jne 0x140096511
movsxd rax, dword [rsi + 0x144]
mov dword [rsi + 0x144], 0
mov rcx, qword [rsi + 0x128]
lea rdx, [0x1400ce300]
xor rcx, qword [rdx + rax*8]
xor eax, eax
cmp dword [rsi + 0x120], 1
setne al
btr rcx, 0x3f
shl rax, 0x3f
or rax, rcx
movabs rcx, 0x21972535ec9936dd
jmp 0x140096410
movsxd rax, dword [rsi + 0x144]
mov dword [rsi + 0x144], 3
mov rcx, qword [rsi + 0x128]
lea rdx, [0x1400ce300]
xor rcx, qword [rdx + rax*8]
xor eax, eax
cmp dword [rsi + 0x120], 1
setne al
btr rcx, 0x3f
shl rax, 0x3f
or rax, rcx
movabs rcx, 0x21c4564829a7b92
xor rcx, rax
mov qword [rsi + 0x128], rcx
jmp case.0x140096265.108
cmp eax, 0x62
jne case.0x140096265.108
mov eax, 3
jmp 0x140096449
mov eax, 4
jmp 0x140096449
mov eax, 1
jmp 0x140096449
mov eax, 2
jmp 0x140096449
mov eax, 5
movsxd rcx, dword [rbx + 0x1904]
lea rdx, [0x1400e0d00]
lea rax, [rdx + rax*8]
mov r13d, dword [rax + rcx*4]
test r13d, r13d
je case.0x140096265.108
mov rbx, r12
dec rbx
xorps xmm0, xmm0
movaps xmmword [rbp], xmm0
movaps xmmword [rbp - 0x10], xmm0
js 0x140096699
inc rdi
cmp r12, 0x10
ja 0x1400964a9
lea rcx, [rbp - 0x10]
mov qword [rcx + 0x18], 0xf
mov rdx, rdi
mov r8, rbx
call fcn.14006dc20
lea r14, [rbp + rbx - 0x10]
jmp 0x14009658a
mov rax, rbx
or rax, 0xf
cmp rax, 0x17
mov r12d, 0x16
cmovae r12, rax
cmp r12, 0xfff
jb 0x140096564
lea rcx, [r12 + 0x28]
call fcn.14003a89c
mov r14, rax
add r14, 0x27
and r14, 0xffffffffffffffe0
mov qword [r14 - 8], rax
jmp 0x140096571
cmp ecx, 4
jne 0x14009661e
mov ecx, dword [rsi + 0x140]
mov dword [rsi + 0x140], 2
movabs rax, 0x5d3b5d06f7548d85
jmp 0x140096326
cmp ecx, 0xc
jne 0x140096646
movsxd rax, dword [rsi + 0x144]
mov dword [rsi + 0x144], 2
mov rcx, qword [rsi + 0x128]
lea rdx, [0x1400ce300]
xor rcx, qword [rdx + rax*8]
xor eax, eax
cmp dword [rsi + 0x120], 1
setne al
btr rcx, 0x3f
shl rax, 0x3f
or rax, rcx
movabs rcx, 0x3b01866ba905e867
jmp 0x140096410
lea rcx, [r12 + 1]
call fcn.14003a89c
mov r14, rax
mov qword [rbp - 0x10], r14
mov qword [rbp + 8], r12
mov rcx, r14
mov rdx, rdi
mov r8, rbx
call fcn.14006dc20
add r14, rbx
mov byte [r14], 0
mov rcx, qword [rbp - 0x10]
mov rax, qword [rbp + 8]
cmp rax, 0x10
mov rdx, r15
cmovae rdx, rcx
movzx edx, byte [rdx]
lea r8d, [rdx - 0x61]
mov edi, 0x7f
cmp r8b, 7
ja 0x1400965d2
cmp rax, 0x10
cmovae r15, rcx
movzx r8d, byte [r15 + 1]
lea r9d, [r8 - 0x31]
cmp r9b, 7
ja 0x1400965d2
lea edi, [rdx + r8*8 - 0x1e9]
cmp rax, 0x10
jb 0x140096609
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x140096604
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x14009669e
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.14003a894
cmp edi, 0x7f
je case.0x140096265.108
movsxd rax, edi
mov dword [rsi + rax*4], r13d
jmp case.0x140096265.108
cmp eax, 4
jne 0x14009635d
mov ecx, dword [rsi + 0x140]
mov dword [rsi + 0x140], 1
movabs rax, 0x49a1e5942f5e4cdc
jmp 0x140096326
cmp eax, 0xc
jne case.0x140096265.108
movsxd rax, dword [rsi + 0x144]
mov dword [rsi + 0x144], 1
mov rcx, qword [rsi + 0x128]
lea rdx, [0x1400ce300]
xor rcx, qword [rdx + rax*8]
xor eax, eax
cmp dword [rsi + 0x120], 1
setne al
btr rcx, 0x3f
shl rax, 0x3f
or rax, rcx
movabs rcx, 0xa0fc3066cfd4750
jmp 0x140096410
call fcn.140080a80
call fcn.14004d508
int3