Function at 0x1403ef730
Capabilities:
Hash data using fnv

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x48
mov rax, qword [0x1405c08a0]
xor rax, rsp
mov qword [rsp + 0x40], rax
mov r14, qword [rdx + 8]
mov r15, qword [r14]
cmp r15, r14
je 0x1403efae4
mov rsi, rcx
movabs r12, 0xcbf29ce484222325
movabs rax, 0x5a0d991e0ef5307a
movabs r13, 0xc37fa2e534ca3a3
movabs rbp, 0x100000001b3
not r12
sub r13, rax
add r13, rax
xor ebx, ebx
lea rdi, [fcn.1403ef730]
jmp 0x1403ef7cf
mov rax, qword [r15 + 0x10]
mov qword [rsp + 0x30], rax
mov eax, dword [r15 + 0x18]
mov dword [rsp + 0x38], eax
mov rcx, rsi
lea rdx, [rsp + 0x20]
lea r8, [rsp + 0x30]
call fcn.1403efb10
mov r15, qword [r15]
cmp r15, r14
je 0x1403efae4
movzx eax, byte [r15 + 0x10]
mov rcx, rax
not rcx
mov rdx, r12
xor rdx, rcx
movabs r8, 0xcbf29ce484222325
and rdx, r8
xor rax, r12
and rcx, r8
or rcx, rax
not rcx
or rcx, rdx
mov rax, qword [0x1405bc3c0]
movabs rdx, 0xc37fa2e534ca3a3
add rdx, rax
imul rdx, rcx
movzx ecx, byte [r15 + 0x11]
mov r8, rcx
not r8
and r8, rdx
not edx
and edx, ecx
or r8, rdx
imul r8, rbp
movzx ecx, byte [r15 + 0x12]
mov rdx, rcx
not rdx
and rdx, r8
not r8d
and r8d, ecx
or rdx, r8
imul rdx, rbp
movzx ecx, byte [r15 + 0x13]
mov r8, rcx
not r8
mov r9, r8
xor r9, rdx
and r8, r9
or r8, rdx
not edx
not r8
and ecx, edx
or rcx, r9
not rcx
or rcx, r8
imul rcx, rbp
movzx edx, byte [r15 + 0x14]
mov r8, rdx
not r8
xor r8, rcx
not ecx
mov r9d, ecx
xor r9d, edx
not r9d
and r9d, edx
and ecx, edx
or rcx, r8
not rcx
or rcx, r9
imul rcx, rbp
movzx edx, byte [r15 + 0x15]
not rcx
mov r8d, ecx
xor r8d, edx
not r8d
and r8d, edx
not rdx
xor rcx, rdx
and rcx, rdx
or rcx, r8
add rax, r13
imul rax, rcx
movzx ecx, byte [r15 + 0x16]
not rcx
mov rdx, rcx
xor rdx, rax
and rdx, rcx
or rdx, rax
not rdx
and rcx, rax
or rcx, rdx
imul rcx, rbp
movzx eax, byte [r15 + 0x17]
xor rax, rcx
imul rax, rbp
mov rcx, qword [rsi + 0x30]
mov r8, rax
not r8
mov rdx, rcx
not rdx
mov r9, r8
xor r9, rcx
mov r10, rax
and r10, rdx
or r10, r9
not r10
xor rax, rdx
and rcx, r8
or rcx, rax
not rcx
or rcx, r10
and rdx, r8
or rdx, rcx
not rdx
mov rax, qword [rsi + 8]
mov r9, qword [rsi + 0x18]
mov rcx, rdx
shl rcx, 4
mov rcx, qword [r9 + rcx + 8]
cmp rcx, rax
je 0x1403ef7a0
mov r8, qword [r15 + 0x10]
cmp r8, qword [rcx + 0x10]
jne 0x1403efa50
mov rdx, rcx
cmp rdx, rax
je 0x1403ef7a0
nop word cs:[rax + rax]
mov eax, dword [0x1405d4034]
cmp eax, 0x4f
jle 0x1403efa36
movzx ecx, byte [r15 + 0x18]
mov r8d, dword [rdx + 0x18]
shl r8d, cl
shl r8d, cl
mov eax, r8d
shl eax, cl
mov ecx, eax
shl r8d, cl
sub eax, r8d
mov r9d, r8d
mov ecx, eax
shl r9d, cl
mov eax, r8d
sub eax, r9d
imul eax, r9d
sub eax, r8d
sub r8d, eax
add r8d, 0x7af2f883
mov ecx, r8d
xor ecx, 0x1988c54a
and r8d, 0x1988c54a
lea ecx, [rcx + r8*2]
add ecx, 0x6b844233
mov r8d, dword [0x1405bc3b8]
mov r9d, r8d
xor r9d, 0xac65a43e
and r8d, 0x2c65a43e
lea r8d, [r9 + r8*2]
mov r9d, 0x5677303b
sub r9d, eax
mov r10d, r9d
xor r10d, 0xa988cfc5
and r9d, 0x2988cfc5
lea r9d, [r10 + r9*2]
add r9d, r8d
add r9d, eax
sub eax, ecx
imul eax, ecx
add r9d, eax
mov dword [rdx + 0x18], r9d
mov eax, dword [0x1405d4030]
mov ecx, eax
not ecx
imul ecx, eax
test cl, 1
jne 0x1403ef970
mov eax, dword [r15 + 0x18]
add dword [rdx + 0x18], eax
test bl, bl
jne 0x1403ef97f
jmp 0x1403ef7c3
add rdx, rdx
mov r9, qword [r9 + rdx*8]
jmp 0x1403efa6c
mov rcx, rdx
cmp r8, r10
je 0x1403ef95a
cmp rcx, r9
je 0x1403ef7a0
test bl, bl
jne 0x1403efaa0
nop dword [rax]
mov rdx, qword [rcx + 8]
mov r10, qword [rdx + 0x10]
mov r11d, dword [0x1405d4034]
cmp r11d, 0x1b
jl 0x1403efa60
nop word cs:[rax + rax]
mov edx, dword [0x1405bc3b8]
mov r10d, edx
xor r10d, 0xac65a43f
not edx
and edx, 0x539a5bc0
or edx, r10d
not edx
lea edx, [r10 + rdx*2]
lea r10d, [rdi + rdi]
add r10d, 0x46e0
mov r11d, r10d
not r11d
xor r10d, edx
not edx
and edx, r11d
or edx, r10d
cmp edx, 0xffffffff
jne 0x1403efaa0
jmp 0x1403efa80
mov rcx, qword [rsp + 0x40]
xor rcx, rsp
call fcn.1404448f0
nop
add rsp, 0x48
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret