Function at 0x140003650
Capabilities:
Hash data using fnv

Disassembly:
push rbp
push rbx
push rsi
mov rbp, rsp
sub rsp, 0x70
mov rax, qword [0x140021008]
xor rax, rsp
mov qword [rbp - 0x10], rax
mov r8, rdx
mov qword [rbp - 0x28], rdx
mov rax, rdx
mov rsi, rcx
shr rax, 8
movabs r9, 0x100000001b3
movzx edx, al
movabs rcx, 0xcbf29ce484222325
movzx eax, r8b
xor ebx, ebx
xor rax, rcx
imul rax, r9
xor rdx, rax
mov rax, r8
imul rdx, r9
shr rax, 0x10
movzx ecx, al
mov rax, r8
xor rdx, rcx
shr rax, 0x18
imul rdx, r9
movzx ecx, al
mov rax, r8
xor rdx, rcx
shr rax, 0x20
imul rdx, r9
movzx ecx, al
mov rax, r8
xor rdx, rcx
shr rax, 0x28
imul rdx, r9
movzx ecx, al
mov rax, r8
xor rdx, rcx
shr rax, 0x30
imul rdx, r9
movzx ecx, al
mov rax, r8
xor rdx, rcx
shr rax, 0x38
mov rcx, qword [rsi + 0x40]
imul rdx, r9
xor rdx, rax
imul rdx, r9
and rcx, rdx
mov rdx, qword [rsi + 0x18]
shl rcx, 4
add rcx, qword [rsi + 0x28]
mov rax, qword [rcx + 8]
cmp rax, rdx
je 0x140003741
mov rcx, qword [rcx]
cmp r8, qword [rax + 0x10]
je 0x140003744
nop dword [rax]
cmp rax, rcx
je 0x140003741
mov rax, qword [rax + 8]
cmp r8, qword [rax + 0x10]
jne 0x140003730
jmp 0x140003744
mov rax, rbx
test rax, rax
cmove rax, rdx
cmp rax, rdx
je 0x140003759
mov rax, qword [rax + 0x18]
jmp 0x1400039fa
xor cl, cl
cmp byte [r8], 0xe9
jne 0x140003776
mov rax, qword [r8 + 1]
add r8, 5
add r8, rax
mov qword [rbp - 0x28], r8
cmp byte [r8], 0xe9
je 0x140003761
movzx eax, word [r8]
mov edx, 0x25ff
cmp ax, dx
jne 0x1400037a2
mov cl, 1
nop word [rax + rax]
mov r8, qword [r8 + 6]
mov qword [rbp - 0x28], r8
cmp word [r8], dx
je 0x140003790
movzx eax, word [r8]
mov edx, 0xb848
cmp ax, dx
jne 0x1400037c6
mov eax, 0xe0ff
cmp word [r8 + 5], ax
je 0x1400037c6
mov r8, qword [r8 + 2]
mov qword [rbp - 0x28], r8
cmp word [r8], dx
je 0x1400037b1
test cl, cl
je 0x1400037fa
nop word [rax + rax]
cmp byte [r8], 0x48
jne 0x1400037e4
cmp byte [r8 + 1], 0xff
jne 0x1400037e4
cmp byte [r8 + 2], 0x25
je 0x1400037ed
inc r8
mov qword [rbp - 0x28], r8
jmp 0x1400037d0
movsxd rax, dword [r8 + 3]
mov r8, qword [rax + r8 + 7]
mov qword [rbp - 0x28], r8
xorps xmm0, xmm0
lea rdx, [rbp - 0x50]
xor eax, eax
mov rcx, r8
movups xmmword [rbp - 0x50], xmm0
mov dword [rbp - 0x30], eax
movups xmmword [rbp - 0x40], xmm0
mov byte [rbp - 0x2c], al
call entry0
test dword [rbp - 0x2f], 0x1000
jne 0x1400039f8
movzx edx, byte [rbp - 0x50]
test dl, dl
je 0x1400039f8
movzx eax, byte [rbp - 0x43]
and al, 0xc7
cmp al, 5
je 0x1400039f8
mov r9, qword [rbp - 0x28]
lea rcx, [rdx + 0xe]
mov eax, dword [rsi + 8]
add rcx, rax
lea r10, [r9 + rdx]
mov qword [rbp - 0x1a], r10
cmp rcx, 0x100000
ja 0x1400039f8
mov qword [rsp + 0xa0], rdi
test dl, dl
je 0x140003893
nop
mov edx, dword [rsi + 8]
mov rcx, qword [rsi]
add edx, ebx
mov r8d, ebx
inc ebx
movzx eax, byte [r8 + r9]
mov byte [rdx + rcx], al
movzx edx, byte [rbp - 0x50]
cmp ebx, edx
jae 0x140003893
mov r9, qword [rbp - 0x28]
jmp 0x140003870
mov rax, qword [rsi]
movzx ecx, dl
add ecx, dword [rsi + 8]
mov byte [rcx + rax], 0xff
movzx ecx, byte [rbp - 0x50]
mov rax, qword [rsi]
inc ecx
add ecx, dword [rsi + 8]
mov byte [rcx + rax], 0x25
movzx ecx, byte [rbp - 0x50]
mov rax, qword [rsi]
add ecx, 2
add ecx, dword [rsi + 8]
mov byte [rcx + rax], 0
movzx ecx, byte [rbp - 0x50]
mov rax, qword [rsi]
add ecx, 3
add ecx, dword [rsi + 8]
mov byte [rcx + rax], 0
movzx ecx, byte [rbp - 0x50]
mov rax, qword [rsi]
add ecx, 4
add ecx, dword [rsi + 8]
mov byte [rcx + rax], 0
movzx ecx, byte [rbp - 0x50]
mov rax, qword [rsi]
add ecx, 5
add ecx, dword [rsi + 8]
mov byte [rcx + rax], 0
movzx ecx, byte [rbp - 0x50]
mov rax, qword [rsi]
add ecx, 6
add ecx, dword [rsi + 8]
mov byte [rcx + rax], r10b
movzx ecx, byte [rbp - 0x50]
mov edx, dword [rsi + 8]
add ecx, 7
add edx, ecx
movzx eax, byte [rbp - 0x19]
mov rcx, qword [rsi]
mov byte [rdx + rcx], al
movzx ecx, byte [rbp - 0x50]
mov edx, dword [rsi + 8]
add ecx, 8
movzx eax, byte [rbp - 0x18]
add edx, ecx
mov rcx, qword [rsi]
mov byte [rdx + rcx], al
movzx ecx, byte [rbp - 0x50]
mov edx, dword [rsi + 8]
add ecx, 9
movzx eax, byte [rbp - 0x17]
add edx, ecx
mov rcx, qword [rsi]
mov byte [rdx + rcx], al
movzx ecx, byte [rbp - 0x50]
mov edx, dword [rsi + 8]
add ecx, 0xa
movzx eax, byte [rbp - 0x16]
add edx, ecx
mov rcx, qword [rsi]
mov byte [rdx + rcx], al
movzx ecx, byte [rbp - 0x50]
mov edx, dword [rsi + 8]
add ecx, 0xb
movzx eax, byte [rbp - 0x15]
add edx, ecx
mov rcx, qword [rsi]
mov byte [rdx + rcx], al
movzx ecx, byte [rbp - 0x50]
mov edx, dword [rsi + 8]
add ecx, 0xc
movzx eax, byte [rbp - 0x14]
add edx, ecx
mov rcx, qword [rsi]
mov byte [rdx + rcx], al
movzx ecx, byte [rbp - 0x50]
mov edx, dword [rsi + 8]
add ecx, 0xd
add edx, ecx
mov rcx, qword [rsi]
movzx eax, byte [rbp - 0x13]
mov byte [rdx + rcx], al
lea rdx, [rbp - 0x20]
mov r8d, dword [rsi + 8]
movzx ecx, byte [rbp - 0x50]
mov edi, r8d
mov rax, qword [rsi]
add ecx, 0xe
add ecx, r8d
mov dword [rsi + 8], ecx
mov byte [rcx + rax], 0x90
mov ecx, dword [rsi + 8]
mov rax, qword [rsi]
inc ecx
mov byte [rcx + rax], 0xcc
lea rcx, [rsi + 0x10]
mov rbx, qword [rsi]
add dword [rsi + 8], 2
add rbx, r8
lea r8, [rbp - 0x28]
call fcn.140003da0
mov rcx, qword [rax]
mov qword [rcx + 0x18], rbx
mov rax, qword [rsi]
add rax, rdi
mov rdi, qword [rsp + 0xa0]
jmp 0x1400039fa
xor eax, eax
mov rcx, qword [rbp - 0x10]
xor rcx, rsp
call fcn.1400046a0
add rsp, 0x70
pop rsi
pop rbx
pop rbp
ret