Function at 0x14031d210
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 0x20], rbx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x40
mov rbx, rdx
mov rsi, rcx
xor r12d, r12d
mov dword [rbp - 0x20], r12d
mov qword [rcx], r12
mov qword [rcx + 8], r12
mov qword [rcx + 0x10], r12
mov dword [rbp - 0x20], 1
mov rcx, qword [rdx + 8]
sub rcx, qword [rdx]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov qword [rbp + 0x48], rdx
je 0x14031d292
movabs rax, 0xaaaaaaaaaaaaaaa
cmp rdx, rax
ja 0x14031d497
lea rdx, [rbp + 0x48]
mov rcx, rsi
call fcn.14031c980
mov rdi, qword [rbx]
mov r15, qword [rbx + 8]
mov qword [rbp + 0x50], r15
cmp rdi, r15
je 0x14031d470
movabs r13, 0x100000001b3
movabs rcx, 0x3fffffffffffffff
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x18], xmm0
mov r10, r12
mov qword [rbp - 8], r12
mov rax, qword [rdi + 8]
sub rax, qword [rdi]
mov qword [rbp + 0x48], rax
je 0x14031d2f0
cmp rax, rcx
ja 0x14031d48b
lea rdx, [rbp + 0x48]
lea rcx, [rbp - 0x18]
call fcn.14031c910
mov r10, qword [rbp - 8]
mov r14, qword [rdi + 8]
mov rbx, qword [rdi]
mov r9, qword [rbp - 0x10]
cmp rbx, r14
je 0x14031d3f1
movabs r15, 0xcbf29ce484222325
nop
movzx edx, byte [rbx]
mov r8d, edx
mov dword [rbp + 0x48], r8d
xor rdx, r15
imul rdx, r13
mov eax, r8d
shr rax, 8
xor rdx, rax
imul rdx, r13
mov eax, r8d
shr rax, 0x10
xor rdx, rax
imul rdx, r13
mov eax, r8d
shr rax, 0x18
xor rdx, rax
imul rdx, r13
mov rcx, qword [0x14042b4e0]
and rcx, rdx
shl rcx, 4
add rcx, qword [0x14042b4c8]
mov rax, qword [rcx + 8]
mov rdx, qword [0x14042b4b8]
cmp rax, rdx
je 0x14031d391
mov rcx, qword [rcx]
cmp r8d, dword [rax + 0x10]
je 0x14031d394
nop dword [rax]
cmp rax, rcx
je 0x14031d391
mov rax, qword [rax + 8]
cmp r8d, dword [rax + 0x10]
jne 0x14031d380
jmp 0x14031d394
mov rax, r12
test rax, rax
je 0x14031d3b7
cmp rax, rdx
je 0x14031d3b7
lea r8, [rax + 0x14]
cmp r9, r10
je 0x14031d3cd
mov eax, dword [r8]
mov dword [r9], eax
add r9, 4
mov qword [rbp - 0x10], r9
jmp 0x14031d3e1
cmp r9, r10
je 0x14031d3c9
mov dword [r9], r8d
add r9, 4
mov qword [rbp - 0x10], r9
jmp 0x14031d3e1
lea r8, [rbp + 0x48]
mov rdx, r9
lea rcx, [rbp - 0x18]
call fcn.14031c2b0
mov r9, qword [rbp - 0x10]
mov r10, qword [rbp - 8]
inc rbx
cmp rbx, r14
jne 0x14031d310
mov r15, qword [rbp + 0x50]
mov rdx, qword [rsi + 8]
cmp rdx, qword [rsi + 0x10]
je 0x14031d41a
mov rcx, rdx
mov rdx, r12
mov rax, qword [rbp - 0x18]
mov r8, r12
mov qword [rcx], rax
mov qword [rcx + 8], r9
mov qword [rcx + 0x10], r10
add qword [rsi + 8], 0x18
jmp 0x14031d42e
lea r8, [rbp - 0x18]
mov rcx, rsi
call fcn.140313800
mov rdx, qword [rbp - 8]
mov r8, qword [rbp - 0x18]
test r8, r8
je 0x14031d463
sub rdx, r8
and rdx, 0xfffffffffffffffc
mov rax, r8
cmp rdx, 0x1000
jb 0x14031d45b
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14031d491
mov rcx, r8
call fcn.1403506b8
add rdi, 0x18
cmp rdi, r15
jne 0x14031d2b0
mov rax, rsi
mov rbx, qword [rsp + 0x98]
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.1403166c0
nop
call fcn.1403574bc
int3
call fcn.1403166c0
int3