Function at 0x140018db0
Capabilities:
Hash data using fnv

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbx
sub rsp, 0x28
mov rsi, rdx
cmp r9d, 0xffffffff
jne 0x140018dcd
mov r9d, dword [0x140286c44]
mov r11d, r8d
shr r11d, 8
mov r10d, r8d
shr r10d, 0x10
mov edx, r8d
shr edx, 0x18
mov rax, qword [rcx + 0x50]
mov rcx, qword [rcx + 0x58]
sub rcx, rax
shr rcx, 3
imul ebx, ecx, 0xc28f5c29
xor ecx, ecx
cmp r9d, ebx
jge 0x140018e9c
movsxd rcx, r9d
imul rcx, rcx, 0xc8
movzx edi, r8b
movabs r14, 0xcbf29ce484222325
xor r14, rdi
movabs rdi, 0x100000001b3
imul r14, rdi
movzx r15d, r11b
xor r15, r14
imul r15, rdi
movzx r14d, r10b
xor r14, r15
imul r14, rdi
mov r15d, edx
xor r15, r14
imul r15, rdi
and r15, qword [rax + rcx + 0x58]
mov r14, qword [rax + rcx + 0x30]
mov r12, qword [rax + rcx + 0x40]
mov rdi, r15
shl rdi, 4
mov rdi, qword [r12 + rdi + 8]
cmp rdi, r14
je 0x140018e98
cmp dword [rdi + 0x10], r8d
je 0x140018e8f
add r15, r15
mov r15, qword [r12 + r15*8]
nop word [rax + rax]
cmp rdi, r15
je 0x140018e98
mov rdi, qword [rdi + 8]
cmp dword [rdi + 0x10], r8d
jne 0x140018e80
cmp rdi, r14
jne 0x140018fe4
mov ecx, dword [rax + rcx + 8]
cmp r9d, ecx
je 0x140018f48
cmp ecx, ebx
jge 0x140018f48
movsxd rdi, ecx
imul rdi, rdi, 0xc8
movzx ebx, r8b
movabs r14, 0xcbf29ce484222325
xor r14, rbx
movabs rbx, 0x100000001b3
imul r14, rbx
movzx r15d, r11b
xor r15, r14
imul r15, rbx
movzx r12d, r10b
xor r12, r15
imul r12, rbx
mov r14d, edx
xor r14, r12
imul r14, rbx
and r14, qword [rax + rdi + 0x58]
mov rbx, qword [rax + rdi + 0x30]
mov r15, qword [rax + rdi + 0x40]
mov rdi, r14
shl rdi, 4
mov rdi, qword [r15 + rdi + 8]
cmp rdi, rbx
je 0x140018f48
cmp dword [rdi + 0x10], r8d
je 0x140018f3f
add r14, r14
mov r14, qword [r15 + r14*8]
nop word cs:[rax + rax]
cmp rdi, r14
je 0x140018f48
mov rdi, qword [rdi + 8]
cmp dword [rdi + 0x10], r8d
jne 0x140018f30
cmp rdi, rbx
jne 0x140018fe4
test r9d, r9d
je 0x140019007
test ecx, ecx
je 0x140019007
movzx ecx, r8b
movabs r9, 0xcbf29ce484222325
xor r9, rcx
movabs rcx, 0x100000001b3
imul r9, rcx
movzx r11d, r11b
xor r11, r9
imul r11, rcx
movzx r9d, r10b
xor r9, r11
imul r9, rcx
mov edx, edx
xor rdx, r9
imul rdx, rcx
and rdx, qword [rax + 0x58]
mov rcx, qword [rax + 0x30]
mov rax, qword [rax + 0x40]
mov r9, rdx
shl r9, 4
mov rdi, qword [rax + r9 + 8]
cmp rdi, rcx
je 0x140019007
cmp dword [rdi + 0x10], r8d
je 0x140018fdf
add rdx, rdx
mov rax, qword [rax + rdx*8]
nop word cs:[rax + rax]
cmp rdi, rax
je 0x140019007
mov rdi, qword [rdi + 8]
cmp dword [rdi + 0x10], r8d
jne 0x140018fd0
cmp rdi, rcx
je 0x140019007
xorps xmm0, xmm0
movups xmmword [rsi + 0x10], xmm0
movups xmmword [rsi], xmm0
mov rbx, qword [rdi + 0x28]
cmp qword [rdi + 0x30], 0x10
jb 0x14001901f
mov rdi, qword [rdi + 0x18]
test rbx, rbx
jns 0x140019028
call fcn.140003980
xorps xmm0, xmm0
movups xmmword [rsi], xmm0
mov qword [rsi + 0x10], 0
mov qword [rsi + 0x18], 0xf
jmp 0x14001909c
add rdi, 0x18
test rbx, rbx
js 0x140019002
cmp rbx, 0xf
ja 0x140019042
mov qword [rsi + 0x10], rbx
mov qword [rsi + 0x18], 0xf
movups xmm0, xmmword [rdi]
movups xmmword [rsi], xmm0
jmp 0x14001909c
mov rax, rbx
or rax, 0xf
cmp rax, 0x17
mov r14d, 0x16
cmovae r14, rax
cmp r14, 0xfff
jb 0x140019077
lea rcx, [r14 + 0x28]
call fcn.1400b605c
lea rcx, [rax + 0x27]
and rcx, 0xffffffffffffffe0
mov qword [rcx - 8], rax
jmp 0x140019083
lea rcx, [r14 + 1]
call fcn.1400b605c
mov rcx, rax
mov qword [rsi], rcx
mov qword [rsi + 0x10], rbx
mov qword [rsi + 0x18], r14
inc rbx
mov rdx, rdi
mov r8, rbx
call fcn.140159580
mov rax, rsi
add rsp, 0x28
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret