Function at 0x1800237d0
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 0x180023bf6
mov qword [rsp + 0x90], rbx
lea r10, [0x1800805c0]
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 0x18002385d
nop dword [rax]
mov rax, qword [rcx]
cmp rsi, rax
jl 0x180023854
mov rdx, qword [rcx + 8]
add rax, rdx
cmp rsi, rax
jl 0x18002385f
add rcx, 0x10
cmp rcx, r8
jne 0x180023840
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 0x180023a4f
mov rbx, qword [r14 + rax]
inc rbx
cmp rsi, r15
jge 0x180023a44
nop
mov rax, qword [r9 + 0x38]
mov r8, qword [r9 + 0x40]
cmp rax, r8
je 0x1800238c8
nop dword [rax]
mov rcx, qword [rax]
cmp rsi, rcx
jl 0x1800238b4
mov rdx, qword [rax + 8]
add rcx, rdx
cmp rsi, rcx
jl 0x1800238bf
add rax, 0x10
cmp rax, r8
jne 0x1800238a0
jmp 0x1800238c8
test rdx, rdx
jne 0x180023a44
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 0x180023985
mov edx, dword [rdi + 0x18]
jmp 0x1800239bf
mov rdx, qword [rdx]
cmp rbp, qword [rcx + 0x10]
je 0x18002399f
nop
cmp rcx, rdx
je 0x180023980
mov rcx, qword [rcx + 8]
cmp rbp, qword [rcx + 0x10]
jne 0x180023990
mov edx, dword [rdi + 0x18]
test rcx, rcx
cmove rcx, rax
cmp rcx, rax
je 0x1800239bf
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 [0x1800805a8]
cmp byte [r13 + 0xc], 0
je 0x180023a1f
cmp byte [r13 + 6], 0
jne 0x180023a1f
cmp rbx, rbp
jge 0x180023a1b
lea r15, [0x1800805c0]
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 [0x1800805a8]
inc rbx
cmp rbx, rbp
jl 0x1800239f1
mov r15, qword [rsp + 0x20]
lea rbx, [rbp + 1]
mov r9, qword [rsp + 0x28]
lea r10, [0x1800805c0]
inc rsi
inc r12
add r14, 0x10
mov r11d, 0x102
cmp rsi, r15
jl 0x180023890
dec rsi
dec r12
jmp 0x180023bc3
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 0x180023a7a
mov r9d, 0x808
call qword [0x1800805a8]
jmp 0x180023bc3
mov r9d, 0x1008
call qword [0x1800805a8]
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 0x180023b5c
mov r14, r12
lea rsi, [0x1800805c0]
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 [0x1800805a8]
cmp byte [r13 + 0xc], 0
je 0x180023b44
cmp byte [r13 + 6], 0
jne 0x180023b44
cmp rbx, rbp
jge 0x180023b40
lea r13, [0x1800805c0]
nop dword [rax]
movsxd rcx, dword [rdi]
mov r9d, 8
mov r8, rbx
mov edx, 0x9a2
mov rcx, qword [r13 + rcx*8]
call qword [0x1800805a8]
inc rbx
cmp rbx, rbp
jl 0x180023b10
mov r13, qword [rsp + 0x30]
lea rsi, [0x1800805c0]
lea rbx, [rbp + 1]
add r14, 0x10
sub r15, 1
jne 0x180023ad0
mov rbp, qword [rdi + 0x20]
mov rsi, qword [rsp + 0x38]
mov r15, qword [rsp + 0x20]
movsxd rcx, dword [rdi]
lea r14, [0x1800805c0]
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 [0x1800805a8]
cmp byte [r13 + 0xc], 0
je 0x180023bc3
cmp byte [r13 + 6], 0
jne 0x180023bc3
cmp rbx, rbp
jge 0x180023bc3
nop dword [rax]
movsxd rcx, dword [rdi]
mov r9d, 8
mov r8, rbx
mov edx, 0x9a2
mov rcx, qword [r14 + rcx*8]
call qword [0x1800805a8]
inc rbx
cmp rbx, rbp
jl 0x180023ba0
mov r9, qword [rsp + 0x28]
lea r10, [0x1800805c0]
inc rsi
inc r12
mov r11d, 0x102
cmp rsi, r15
jl 0x180023830
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