Function at 0x1400516a0
Capabilities:
Hash data using fnv

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x58
lea rbp, [rsp + 0x50]
mov qword [rbp], 0xfffffffffffffffe
mov qword [rbp - 8], r9
mov r12, r8
mov qword [rbp - 0x30], rdx
mov qword [rbp - 0x28], rcx
mov rsi, qword [rbp + 0x70]
mov eax, dword [r8]
test rax, rax
je 0x1400518f7
mov rdx, rax
shr rdx, 0x18
mov ecx, eax
shr ecx, 0x10
movzx ebx, cl
movzx esi, ah
movzx edi, al
movabs rcx, 0xcbf29ce484222325
xor rcx, rdi
movabs rdi, 0x100000001b3
imul rcx, rdi
xor rcx, rsi
mov rsi, qword [rbp + 0x70]
imul rcx, rdi
xor rcx, rbx
imul rcx, rdi
xor rcx, rdx
imul rcx, rdi
and rcx, qword [rsi + 0x30]
mov rbx, qword [rsi + 0x18]
mov rdx, rcx
shl rdx, 4
mov rdx, qword [rbx + rdx + 8]
cmp rdx, qword [rsi + 8]
je 0x140051763
cmp eax, dword [rdx + 0x10]
je 0x1400518f7
add rcx, rcx
mov rcx, qword [rbx + rcx*8]
nop
cmp rdx, rcx
je 0x140051763
mov rdx, qword [rdx + 8]
cmp eax, dword [rdx + 0x10]
jne 0x140051750
jmp 0x1400518f7
lea rdx, [rbp - 0x20]
mov rcx, rsi
mov r8, r12
call fcn.140045000
mov r15, qword [rbp - 0x20]
lea rax, [r15 + 0x18]
mov rdx, qword [rbp - 8]
mov ecx, dword [rdx + 0x10]
mov dword [r15 + 0x28], ecx
movups xmm0, xmmword [rdx]
movups xmmword [r15 + 0x18], xmm0
cmp rax, rdx
je 0x1400518e6
mov r13, qword [rdx + 0x18]
mov rbx, qword [rdx + 0x20]
sub rbx, r13
mov rdi, rbx
sar rdi, 2
mov rcx, qword [r15 + 0x30]
mov rax, qword [r15 + 0x40]
sub rax, rcx
sar rax, 2
cmp rax, rdi
jae 0x1400517e2
lea r14, [r15 + 0x30]
mov rcx, r14
mov rdx, rdi
call fcn.14004abd0
mov r14, qword [r14]
mov rcx, r14
mov rdx, r13
mov r8, rbx
call fcn.14021e3b0
lea rsi, [r14 + rdi*4]
jmp 0x140051834
mov r8, qword [r15 + 0x38]
sub r8, rcx
mov rsi, r8
sar rsi, 2
mov r14, rdi
sub r14, rsi
jbe 0x140051825
mov rdx, r13
call fcn.14021e3b0
lea rdx, [rsi*4]
add rdx, r13
mov rdi, qword [r15 + 0x38]
lea r8, [r14*4]
mov rcx, rdi
call fcn.14021e3b0
lea rsi, [rdi + r14*4]
jmp 0x140051834
lea rsi, [rcx + rdi*4]
mov rdx, r13
mov r8, rbx
call fcn.14021e3b0
mov qword [r15 + 0x38], rsi
mov rax, qword [rbp - 8]
mov r13, qword [rax + 0x30]
mov rbx, qword [rax + 0x38]
sub rbx, r13
mov rdi, rbx
sar rdi, 2
mov rcx, qword [r15 + 0x48]
mov rax, qword [r15 + 0x58]
sub rax, rcx
sar rax, 2
cmp rax, rdi
jae 0x140051888
lea r14, [r15 + 0x48]
mov rcx, r14
mov rdx, rdi
call fcn.14004abd0
mov r14, qword [r14]
mov rcx, r14
mov rdx, r13
mov r8, rbx
call fcn.14021e3b0
lea rsi, [r14 + rdi*4]
jmp 0x1400518da
mov r8, qword [r15 + 0x50]
sub r8, rcx
mov rsi, r8
sar rsi, 2
mov r14, rdi
sub r14, rsi
jbe 0x1400518cb
mov rdx, r13
call fcn.14021e3b0
lea rdx, [rsi*4]
add rdx, r13
mov rdi, qword [r15 + 0x50]
lea r8, [r14*4]
mov rcx, rdi
call fcn.14021e3b0
lea rsi, [rdi + r14*4]
jmp 0x1400518da
lea rsi, [rcx + rdi*4]
mov rdx, r13
mov r8, rbx
call fcn.14021e3b0
mov qword [r15 + 0x50], rsi
mov rdx, qword [rbp - 8]
mov rsi, qword [rbp + 0x70]
movzx eax, byte [rdx + 0x4a]
mov byte [r15 + 0x62], al
movzx eax, word [rdx + 0x48]
mov word [r15 + 0x60], ax
xorps xmm0, xmm0
movaps xmmword [rbp - 0x20], xmm0
mov qword [rbp - 0x10], 0
mov rsi, qword [rsi + 8]
lea rdi, [rbp - 0x20]
mov rbx, rsi
jmp 0x14005192a
mov eax, dword [r8]
mov dword [rdx], eax
add qword [rbp - 0x18], 4
mov rbx, qword [rbx]
cmp rbx, rsi
je 0x14005194a
lea r8, [rbx + 0x10]
mov rdx, qword [rbp - 0x18]
cmp rdx, qword [rbp - 0x10]
jne 0x140051920
mov rcx, rdi
call fcn.14002f8b0
jmp 0x14005192a
mov rcx, qword [rbp - 0x28]
mov rdx, qword [rbp - 0x30]
mov r8, r12
call fcn.1400507b0
mov rcx, qword [rbp - 0x20]
test rcx, rcx
mov rdi, qword [rbp - 8]
je 0x140051998
mov rdx, qword [rbp - 0x10]
sub rdx, rcx
cmp rdx, 0x1000
jb 0x140051993
mov rax, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rax
cmp rcx, 0x20
jae 0x140051a39
add rdx, 0x27
mov rcx, rax
call fcn.140141034
mov rcx, qword [rdi + 0x30]
test rcx, rcx
je 0x1400519e0
mov rdx, qword [rdi + 0x40]
sub rdx, rcx
cmp rdx, 0x1000
jb 0x1400519c9
mov rax, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rax
cmp rcx, 0x20
jae 0x140051a39
add rdx, 0x27
mov rcx, rax
lea rsi, [rdi + 0x30]
call fcn.140141034
xorps xmm0, xmm0
movups xmmword [rsi], xmm0
mov qword [rsi + 0x10], 0
mov rcx, qword [rdi + 0x18]
test rcx, rcx
je 0x140051a28
mov rdx, qword [rdi + 0x28]
sub rdx, rcx
cmp rdx, 0x1000
jb 0x140051a11
mov rax, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rax
cmp rcx, 0x20
jae 0x140051a39
add rdx, 0x27
mov rcx, rax
add rdi, 0x18
call fcn.140141034
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], 0
add rsp, 0x58
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
call fcn.140231990
int3