Function at 0x512640
Capabilities:
Hash data using fnv

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x512ebe
push rbp
mov rbp, rsp
sub rsp, 0x10
mov qword [rsp + 0x20], rax
xor ecx, ecx
movabs rdx, 0xcbf29ce484222325
jmp 0x51266f
lea rax, [rsi + 0x10]
inc rcx
mov rdx, rdi
cmp rbx, rcx
jle 0x512a1b
mov rsi, rax
mov rdi, qword [rax]
nop
test rdi, rdi
je 0x512a48
mov r8d, dword [rdi + 0x10]
mov r9, qword [rax + 8]
cmp r8d, 0x854f63b7
ja 0x512860
nop
cmp r8d, 0x5272f85c
ja 0x512767
cmp r8d, 0x7e34ced
ja 0x51270b
cmp r8d, 0x778cdb8
jne 0x5126e0
lea r8, [0x00592240]
cmp rdi, r8
jne 0x512a48
mov rdi, qword [r9]
mov r9, qword [r9 + 8]
xor eax, eax
jmp 0x512ea0
cmp r8d, 0x7e34ced
jne 0x512a48
lea r8, [0x005911c0]
cmp rdi, r8
jne 0x512a48
mov rdi, qword [r9]
mov r9, qword [r9 + 8]
xor eax, eax
jmp 0x512e36
cmp r8d, 0x38dfc0a9
jne 0x512740
lea r8, [0x00591300]
nop dword [rax + rax]
cmp rdi, r8
jne 0x512a48
mov rdi, qword [r9]
mov r9, qword [r9 + 8]
xor eax, eax
jmp 0x512de8
cmp r8d, 0x5272f85c
jne 0x512a48
lea r8, [0x00592500]
cmp rdi, r8
jne 0x512a48
mov rdi, qword [r9]
xor eax, eax
jmp 0x512dc4
cmp r8d, 0x6bed3cfa
ja 0x5127c7
cmp r8d, 0x64fd0d3c
jne 0x5127a0
lea r8, [0x005925c0]
cmp rdi, r8
jne 0x512a48
mov rdi, qword [r9]
xor eax, eax
jmp 0x512d89
cmp r8d, 0x6bed3cfa
jne 0x512a48
lea r8, [0x00592440]
cmp rdi, r8
jne 0x512a48
mov edi, dword [r9]
xor eax, eax
jmp 0x512d4e
cmp r8d, 0x6d0f0857
jne 0x512800
lea r8, [0x00591980]
nop word [rax + rax]
cmp rdi, r8
jne 0x512a48
mov rdi, qword [r9]
mov r9, qword [r9 + 8]
xor eax, eax
jmp 0x512ce8
cmp r8d, 0x81044065
jne 0x512827
lea r8, [0x00591200]
cmp rdi, r8
jne 0x512a48
mov rdi, qword [r9]
mov r9, qword [r9 + 8]
xor eax, eax
jmp 0x512cc7
cmp r8d, 0x854f63b7
jne 0x512a48
lea r8, [0x00591500]
nop dword [rax + rax]
cmp rdi, r8
jne 0x512a48
mov rdi, qword [r9]
mov r9, qword [r9 + 8]
xor eax, eax
jmp 0x512c62
cmp r8d, 0x99d6dd43
ja 0x512933
cmp r8d, 0x95738979
ja 0x5128e0
cmp r8d, 0x8fc52ddb
jne 0x5128a0
lea r8, [0x00592640]
cmp rdi, r8
jne 0x512a48
mov rdi, qword [r9]
xor eax, eax
jmp 0x512c40
cmp r8d, 0x95738979
jne 0x512a48
lea r8, [0x00592580]
cmp rdi, r8
jne 0x512a48
movzx edi, byte [r9]
xor rdi, rdx
nop
movabs rdx, 0x100000001b3
imul rdi, rdx
jmp 0x512665
cmp r8d, 0x99777383
jne 0x512907
lea r8, [0x00591a80]
cmp rdi, r8
jne 0x512a48
mov rdi, qword [r9]
mov r9, qword [r9 + 8]
xor eax, eax
jmp 0x512bd2
cmp r8d, 0x99d6dd43
jne 0x512a48
lea r8, [0x00592480]
nop dword [rax + rax]
cmp rdi, r8
jne 0x512a48
mov rdi, qword [r9]
xor eax, eax
jmp 0x512bb0
cmp r8d, 0xcb735792
ja 0x512993
nop dword [rax]
cmp r8d, 0xbe66ff1c
jne 0x512967
lea r8, [0x00591a40]
cmp rdi, r8
jne 0x512a48
mov rdi, qword [r9]
mov r9, qword [r9 + 8]
xor eax, eax
jmp 0x512b49
cmp r8d, 0xcb735792
jne 0x512a48
lea r8, [0x005923c0]
nop dword [rax + rax]
cmp rdi, r8
jne 0x512a48
mov rdi, qword [r9]
xor eax, eax
jmp 0x512b27
cmp r8d, 0xd83fe3b3
jne 0x5129c0
lea r8, [0x00591240]
cmp rdi, r8
jne 0x512a48
mov rdi, qword [r9]
mov r9, qword [r9 + 8]
xor eax, eax
jmp 0x512ac0
cmp r8d, 0xe8fe0eb5
jne 0x5129e5
lea r8, [0x00591a00]
cmp rdi, r8
jne 0x512a48
mov rdi, qword [r9]
mov r9, qword [r9 + 8]
xor eax, eax
nop
jmp 0x512a6c
cmp r8d, 0xe927f9e3
jne 0x512a48
lea r8, [0x00592540]
cmp rdi, r8
jne 0x512a48
mov edi, dword [r9]
xor eax, eax
nop
jmp 0x512a40
lea r8, [0x00592580]
mov rdi, rdx
movabs rdx, 0x100000001b3
jmp 0x512665
mov rax, rdx
add rsp, 0x10
pop rbp
ret
movzx r9d, dil
xor rdx, r9
inc rax
shr edi, 8
movabs r9, 0x100000001b3
imul rdx, r9
nop
cmp rax, 4
jl 0x512a24
jmp 0x512a02
call fcn.005130e0
call fcn.00409e20
mov rbx, rax
lea rax, [0x00592240]
nop dword [rax]
call fcn.00434280
lea rdi, [r10 + 0x10]
inc rax
cmp rax, r9
jge 0x512a82
mov r10, rdi
mov r11, qword [rdi]
mov rdi, qword [rdi + 8]
xor r12d, r12d
nop
jmp 0x512ab4
lea r8, [0x00592580]
mov rdi, rdx
movabs rdx, 0x100000001b3
jmp 0x512665
movzx r13d, byte [r12 + r11]
xor rdx, r13
inc r12
movabs r13, 0x100000001b3
imul rdx, r13
cmp r12, rdi
jl 0x512a9b
jmp 0x512a65
inc rax
nop
cmp rax, r9
jge 0x512ace
mov r10d, dword [rdi + rax*4]
xor r11d, r11d
jmp 0x512b03
lea r8, [0x00592580]
mov rdi, rdx
movabs rdx, 0x100000001b3
jmp 0x512665
movzx r12d, r10b
xor rdx, r12
inc r11
shr r10d, 8
movabs r12, 0x100000001b3
imul rdx, r12
cmp r11, 4
jl 0x512ae7
jmp 0x512abb
movzx r9d, dil
xor rdx, r9
inc rax
shr rdi, 8
movabs r9, 0x100000001b3
imul rdx, r9
cmp rax, 8
jl 0x512b0b
lea r8, [0x00592580]
mov rdi, rdx
movabs rdx, 0x100000001b3
jmp 0x512665
inc rax
cmp rax, r9
jge 0x512b57
mov r10, qword [rdi + rax*8]
xor r11d, r11d
jmp 0x512b8c
lea r8, [0x00592580]
mov rdi, rdx
movabs rdx, 0x100000001b3
jmp 0x512665
movzx r12d, r10b
xor rdx, r12
inc r11
shr r10, 8
movabs r12, 0x100000001b3
imul rdx, r12
cmp r11, 8
jl 0x512b70
jmp 0x512b46
movzx r9d, dil
xor rdx, r9
inc rax
shr rdi, 8
movabs r9, 0x100000001b3
imul rdx, r9
cmp rax, 8
jl 0x512b94
lea r8, [0x00592580]
mov rdi, rdx
movabs rdx, 0x100000001b3
jmp 0x512665
inc rax
cmp rax, r9
jge 0x512be2
mov r10, qword [rdi + rax*8]
xor r11d, r11d
nop
jmp 0x512c17
lea r8, [0x00592580]
mov rdi, rdx
movabs rdx, 0x100000001b3
jmp 0x512665
movzx r12d, r10b
xor rdx, r12
inc r11
shr r10, 8
movabs r12, 0x100000001b3
imul rdx, r12
cmp r11, 8
jl 0x512bfb
jmp 0x512bcf
movzx r9d, dil
xor rdx, r9
inc rax
shr rdi, 8
movabs r9, 0x100000001b3
imul rdx, r9
nop dword [rax + rax]
cmp rax, 8
jl 0x512c1f
lea r8, [0x00592580]
mov rdi, rdx
movabs rdx, 0x100000001b3
jmp 0x512665
inc rax
cmp rax, r9
jge 0x512c70
mov r10, qword [rdi + rax*8]
xor r11d, r11d
jmp 0x512ca5
lea r8, [0x00592580]
mov rdi, rdx
movabs rdx, 0x100000001b3
jmp 0x512665
movzx r12d, r10b
xor rdx, r12
inc r11
shr r10, 8
movabs r12, 0x100000001b3
imul rdx, r12
cmp r11, 8
jl 0x512c89
jmp 0x512c5f
movzx r10d, byte [rax + rdi]
xor rdx, r10
inc rax
nop
movabs r10, 0x100000001b3
imul rdx, r10
cmp rax, r9
jl 0x512cad
lea r8, [0x00592580]
mov rdi, rdx
movabs rdx, 0x100000001b3
jmp 0x512665
inc rax
cmp rax, r9
jge 0x512cf6
mov r10, qword [rdi + rax*8]
xor r11d, r11d
jmp 0x512d2b
lea r8, [0x00592580]
mov rdi, rdx
movabs rdx, 0x100000001b3
jmp 0x512665
movzx r12d, r10b
xor rdx, r12
inc r11
shr r10, 8
movabs r12, 0x100000001b3
imul rdx, r12
cmp r11, 8
jl 0x512d0f
jmp 0x512ce5
movzx r9d, dil
xor rdx, r9
inc rax
shr edi, 8
movabs r9, 0x100000001b3
imul rdx, r9
cmp rax, 4
jl 0x512d33
lea r8, [0x00592580]
mov rdi, rdx
movabs rdx, 0x100000001b3
jmp 0x512665
movzx r9d, dil
xor rdx, r9
inc rax
shr rdi, 8
movabs r9, 0x100000001b3
imul rdx, r9
cmp rax, 8
jl 0x512d6d
lea r8, [0x00592580]
mov rdi, rdx
movabs rdx, 0x100000001b3
jmp 0x512665
movzx r9d, dil
xor rdx, r9
inc rax
shr rdi, 8
movabs r9, 0x100000001b3
imul rdx, r9
cmp rax, 8
jl 0x512da8
lea r8, [0x00592580]
mov rdi, rdx
movabs rdx, 0x100000001b3
nop
jmp 0x512665
inc rax
cmp rax, r9
jge 0x512df6
mov r10d, dword [rdi + rax*4]
xor r11d, r11d
jmp 0x512e2b
lea r8, [0x00592580]
mov rdi, rdx
movabs rdx, 0x100000001b3
jmp 0x512665
movzx r12d, r10b
xor rdx, r12
inc r11
shr r10d, 8
movabs r12, 0x100000001b3
imul rdx, r12
cmp r11, 4
jl 0x512e0f
jmp 0x512de5
inc rax
cmp rax, r9
jge 0x512e44
mov r10, qword [rdi + rax*8]
xor r11d, r11d
jmp 0x512e79
lea r8, [0x00592580]
mov rdi, rdx
movabs rdx, 0x100000001b3
jmp 0x512665
movzx r12d, r10b
xor rdx, r12
inc r11
shr r10, 8
movabs r12, 0x100000001b3
imul rdx, r12
cmp r11, 8
jl 0x512e5d
nop
jmp 0x512e33
movzx r10d, byte [rax + rdi]
xor rdx, r10
inc rax
movabs r10, 0x100000001b3
imul rdx, r10
nop dword [rax + rax]
cmp rax, r9
jl 0x512e82
lea r8, [0x00592580]
mov rdi, rdx
movabs rdx, 0x100000001b3
jmp 0x512665
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
call fcn.0045ec40
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
jmp fcn.00512640