Function at 0x18002de30
Capabilities:
Hash data using fnv

Disassembly:
push rsi
push rdi
push r12
push r13
push r15
sub rsp, 0x50
mov rsi, qword [rcx + 8]
mov r13, r8
mov r15, qword [rcx + 0x10]
mov r9, rdx
mov r12, qword [rdx + 8]
add r15, rsi
add r12, rsi
mov qword [rsp + 0x30], r8
mov qword [rsp + 0x28], rdx
mov rdi, rcx
mov qword [rsp + 0x20], r15
cmp rsi, r15
jge 0x18002e256
mov qword [rsp + 0x90], rbx
lea r10, [0x1800818f0]
mov qword [rsp + 0x48], rbp
mov r11d, 0x102
mov qword [rsp + 0x40], r14
nop
mov rcx, qword [r9 + 0x38]
mov r8, qword [r9 + 0x40]
cmp rcx, r8
je 0x18002debd
nop dword [rax]
mov rax, qword [rcx]
cmp rsi, rax
jl 0x18002deb4
mov rdx, qword [rcx + 8]
add rax, rdx
cmp rsi, rax
jl 0x18002debf
add rcx, 0x10
cmp rcx, r8
jne 0x18002dea0
xor edx, edx
mov rbx, qword [rdi + 0x10]
mov r14, r12
mov rax, qword [rdi + 0x20]
cmp rdx, rbx
cmovle rbx, rdx
shl r14, 4
test rbx, rbx
jne 0x18002e0af
mov rbx, qword [r14 + rax]
inc rbx
cmp rsi, r15
jge 0x18002e0a4
nop
mov rax, qword [r9 + 0x38]
mov r8, qword [r9 + 0x40]
cmp rax, r8
je 0x18002df28
nop dword [rax]
mov rcx, qword [rax]
cmp rsi, rcx
jl 0x18002df14
mov rdx, qword [rax + 8]
add rcx, rdx
cmp rsi, rcx
jl 0x18002df1f
add rax, 0x10
cmp rax, r8
jne 0x18002df00
jmp 0x18002df28
test rdx, rdx
jne 0x18002e0a4
mov rax, qword [rdi + 0x20]
movabs r9, 0x100000001b3
movabs rdx, 0xcbf29ce484222325
mov rbp, qword [r14 + rax]
mov rax, qword [rdi + 0x40]
mov rcx, rbp
shr rcx, 8
movzx r8d, cl
movzx ecx, bpl
xor rcx, rdx
imul rcx, r9
xor r8, rcx
mov rcx, rbp
imul r8, r9
shr rcx, 0x10
movzx edx, cl
mov rcx, rbp
xor r8, rdx
shr rcx, 0x18
imul r8, r9
movzx edx, cl
mov rcx, rbp
xor r8, rdx
shr rcx, 0x20
imul r8, r9
movzx edx, cl
mov rcx, rbp
xor r8, rdx
shr rcx, 0x28
imul r8, r9
movzx edx, cl
mov rcx, rbp
xor r8, rdx
shr rcx, 0x30
imul r8, r9
movzx edx, cl
mov rcx, rbp
xor r8, rdx
shr rcx, 0x38
mov rdx, qword [rdi + 0x68]
imul r8, r9
xor r8, rcx
imul r8, r9
and rdx, r8
shl rdx, 4
add rdx, qword [rdi + 0x50]
mov rcx, qword [rdx + 8]
cmp rcx, rax
jne 0x18002dfe5
mov edx, dword [rdi + 0x18]
jmp 0x18002e01f
mov rdx, qword [rdx]
cmp rbp, qword [rcx + 0x10]
je 0x18002dfff
nop
cmp rcx, rdx
je 0x18002dfe0
mov rcx, qword [rcx + 8]
cmp rbp, qword [rcx + 0x10]
jne 0x18002dff0
mov edx, dword [rdi + 0x18]
test rcx, rcx
cmove rcx, rax
cmp rcx, rax
je 0x18002e01f
cmp edx, 0x82
mov eax, 0x404
cmove eax, r11d
mov edx, eax
movsxd rcx, dword [rdi]
mov r8, rbp
movsxd r9, edx
mov edx, 0x9a2
mov rcx, qword [r10 + rcx*8]
call qword [0x1800818e8]
cmp byte [r13 + 0xc], 0
je 0x18002e07f
cmp byte [r13 + 6], 0
jne 0x18002e07f
cmp rbx, rbp
jge 0x18002e07b
lea r15, [0x1800818f0]
movsxd rcx, dword [rdi]
mov r8, rbx
mov r9d, dword [rdi + 0x18]
mov edx, 0x9a2
and r9d, 0xf
mov rcx, qword [r15 + rcx*8]
call qword [0x1800818e8]
inc rbx
cmp rbx, rbp
jl 0x18002e051
mov r15, qword [rsp + 0x20]
lea rbx, [rbp + 1]
mov r9, qword [rsp + 0x28]
lea r10, [0x1800818f0]
inc rsi
inc r12
add r14, 0x10
mov r11d, 0x102
cmp rsi, r15
jl 0x18002def0
dec rsi
dec r12
jmp 0x18002e223
mov r8, qword [rax + r14]
mov edx, 0x9a2
movsxd rax, dword [rdi]
lea rcx, [r10 + rax*8]
mov rcx, qword [r10 + rax*8]
cmp rbx, 1
jne 0x18002e0da
mov r9d, 0x808
call qword [0x1800818e8]
jmp 0x18002e223
mov r9d, 0x1008
call qword [0x1800818e8]
mov rbp, qword [rdi + 0x20]
lea rax, [rbx - 1]
lea rcx, [rax + r12]
add rsi, rax
inc r12
mov qword [rsp + 0x38], rsi
mov rbx, qword [r14 + rbp]
inc rbx
cmp r12, rcx
jge 0x18002e1bc
mov r14, r12
lea rsi, [0x1800818f0]
shl r14, 4
mov r15, rcx
sub r15, r12
mov r12, rcx
nop dword [rax]
nop dword [rax + rax]
mov rax, qword [rdi + 0x20]
mov r9d, 0x2008
movsxd rcx, dword [rdi]
mov edx, 0x9a2
mov rbp, qword [r14 + rax]
mov rcx, qword [rsi + rcx*8]
mov r8, rbp
call qword [0x1800818e8]
cmp byte [r13 + 0xc], 0
je 0x18002e1a4
cmp byte [r13 + 6], 0
jne 0x18002e1a4
cmp rbx, rbp
jge 0x18002e1a0
lea r13, [0x1800818f0]
nop dword [rax]
movsxd rcx, dword [rdi]
mov r9d, 8
mov r8, rbx
mov edx, 0x9a2
mov rcx, qword [r13 + rcx*8]
call qword [0x1800818e8]
inc rbx
cmp rbx, rbp
jl 0x18002e170
mov r13, qword [rsp + 0x30]
lea rsi, [0x1800818f0]
lea rbx, [rbp + 1]
add r14, 0x10
sub r15, 1
jne 0x18002e130
mov rbp, qword [rdi + 0x20]
mov rsi, qword [rsp + 0x38]
mov r15, qword [rsp + 0x20]
movsxd rcx, dword [rdi]
lea r14, [0x1800818f0]
mov rax, r12
mov r9d, 0x4008
add rax, rax
mov edx, 0x9a2
mov rcx, qword [r14 + rcx*8]
mov rbp, qword [rbp + rax*8]
mov r8, rbp
call qword [0x1800818e8]
cmp byte [r13 + 0xc], 0
je 0x18002e223
cmp byte [r13 + 6], 0
jne 0x18002e223
cmp rbx, rbp
jge 0x18002e223
nop dword [rax]
movsxd rcx, dword [rdi]
mov r9d, 8
mov r8, rbx
mov edx, 0x9a2
mov rcx, qword [r14 + rcx*8]
call qword [0x1800818e8]
inc rbx
cmp rbx, rbp
jl 0x18002e200
mov r9, qword [rsp + 0x28]
lea r10, [0x1800818f0]
inc rsi
inc r12
mov r11d, 0x102
cmp rsi, r15
jl 0x18002de90
mov r14, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x90]
add rsp, 0x50
pop r15
pop r13
pop r12
pop rdi
pop rsi
ret