Function at 0x140486460
Capabilities:
Hash data using fnv

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x58
mov rax, qword [0x140682ee8]
xor rax, rsp
mov qword [rsp + 0x50], rax
mov rax, qword [rdx + 8]
mov r15, qword [rax]
mov qword [rsp + 0x28], rax
cmp r15, rax
je 0x1404866d8
mov rsi, rcx
movabs r13, 0x6d5c2163fe8d4da3
movabs rbp, 0x100000001b3
xor edi, edi
lea rax, [fcn.140486460]
lea ebx, [rax + rax]
add ebx, 0x11c0
not ebx
mov r12d, 0x13bcdcd6
mov r14b, 1
jmp 0x140486501
mov rax, qword [r15 + 0x10]
mov qword [rsp + 0x40], rax
mov eax, dword [r15 + 0x18]
mov dword [rsp + 0x48], eax
mov rcx, rsi
lea rdx, [rsp + 0x30]
lea r8, [rsp + 0x40]
call fcn.140486730
mov r15, qword [r15]
cmp r15, qword [rsp + 0x28]
je 0x1404866d8
mov ecx, dword [0x1406976a8]
mov r8d, dword [0x14067c4b0]
mov eax, r8d
xor eax, 0x13bcdcb5
mov edx, r8d
and edx, 0x13bcdcb5
lea edx, [rax + rdx*2]
mov eax, ecx
sub eax, edx
imul eax, ecx
lea ecx, [r8 + 0x13bcdcb6]
xor edx, edx
div ecx
mov eax, r8d
xor eax, 0xe3a4da91
and r8d, 0x63a4da91
lea eax, [rax + r8*2]
add eax, 0x30180223
cmp edx, eax
mov eax, dword [0x14067c4b0]
lea ecx, [rax + 0x13bcdcb5]
xor ecx, ebx
not ecx
mov edx, 0xec43234a
sub edx, eax
and edx, ecx
or edx, ebx
cmp edx, 0xffffffff
jne 0x14048654e
movzx eax, byte [r15 + 0x10]
movabs rdx, 0xcbf29ce484222325
mov ecx, edx
not ecx
and ecx, eax
not rax
and rax, rdx
or rcx, rax
imul rcx, rbp
movzx eax, byte [r15 + 0x11]
mov rdx, rax
not rdx
mov r8, rcx
and r8, rdx
xor rdx, rcx
not rcx
mov r9, rcx
xor r9, rax
or r8, r9
not r8
and ecx, eax
or rcx, rdx
not rcx
or rcx, r8
imul rcx, rbp
movzx eax, byte [r15 + 0x12]
xor rax, rcx
imul rax, rbp
movzx ecx, byte [r15 + 0x13]
xor rcx, rax
imul rcx, rbp
movzx eax, byte [r15 + 0x14]
mov rdx, rax
not rdx
and rdx, rcx
not ecx
and ecx, eax
or rdx, rcx
mov rax, qword [0x14067c4b8]
lea rcx, [rax + r13]
imul rcx, rdx
movzx edx, byte [r15 + 0x15]
xor rdx, rcx
imul rdx, rbp
movzx ecx, byte [r15 + 0x16]
xor rcx, rdx
mov rdx, r13
xor rdx, rax
and rax, r13
lea rax, [rdx + rax*2]
imul rax, rcx
movzx ecx, byte [r15 + 0x17]
xor rcx, rax
imul rcx, rbp
mov rdx, qword [rsi + 0x30]
mov rax, rcx
not rax
xor rcx, rdx
not rdx
and rdx, rax
or rdx, rcx
not rdx
mov rcx, qword [rsi + 8]
mov r8, qword [rsi + 0x18]
mov rax, rdx
shl rax, 4
mov rax, qword [r8 + rax + 8]
cmp rax, rcx
je 0x1404864d0
add rdx, rdx
nop dword [rax + rax]
mov r9d, dword [0x1406976ac]
mov r10d, dword [0x14067c4b0]
add r10d, r12d
cmp r9d, r10d
jge 0x14048668b
test dil, dil
je 0x1404866a0
test r14b, r14b
je 0x140486670
jmp 0x140486686
mov r9, qword [r15 + 0x10]
cmp r9, qword [rax + 0x10]
je 0x1404866c3
mov rdx, qword [r8 + rdx*8]
nop
cmp rax, rdx
je 0x1404864d0
mov rax, qword [rax + 8]
cmp r9, qword [rax + 0x10]
jne 0x1404866b0
cmp rax, rcx
je 0x1404864d0
mov ecx, dword [r15 + 0x18]
add dword [rax + 0x18], ecx
jmp 0x1404864f3
mov eax, dword [0x1406976ac]
cmp eax, 0x13
jg 0x1404866f0
mov eax, dword [0x1406976ac]
cmp eax, 0x55
jl 0x140486703
nop
mov eax, dword [0x1406976a8]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x1404866f0
jmp 0x1404866e3
mov rcx, qword [rsp + 0x50]
xor rcx, rsp
call fcn.1404e9d20
nop
add rsp, 0x58
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret