Function at 0x140176ca0
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rdx
push rdi
sub rsp, 0x30
mov rbx, rdx
mov rdi, rcx
mov dword [rsp + 0x20], 0
xor r8d, r8d
lea edx, [r8 + 0x18]
mov rcx, rbx
call fcn.140039c30
mov dword [rsp + 0x20], 1
movzx eax, byte [rdi]
not al
movzx edx, al
movzx eax, dl
xor al, byte [rdi + 1]
mov rcx, rbx
cmp qword [rbx + 0x18], 0xf
jbe 0x140176cef
mov rcx, qword [rbx]
mov byte [rcx], al
movzx eax, al
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, dl
xor al, byte [rdi + 2]
mov rcx, rbx
cmp qword [rbx + 0x18], 0xf
jbe 0x140176d0f
mov rcx, qword [rbx]
mov byte [rcx + 1], al
movzx eax, al
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, dl
xor al, byte [rdi + 3]
mov rcx, rbx
cmp qword [rbx + 0x18], 0xf
jbe 0x140176d30
mov rcx, qword [rbx]
mov byte [rcx + 2], al
movzx eax, al
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, dl
xor al, byte [rdi + 4]
mov rcx, rbx
cmp qword [rbx + 0x18], 0xf
jbe 0x140176d51
mov rcx, qword [rbx]
mov byte [rcx + 3], al
movzx eax, al
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, dl
xor al, byte [rdi + 5]
mov rcx, rbx
cmp qword [rbx + 0x18], 0xf
jbe 0x140176d72
mov rcx, qword [rbx]
mov byte [rcx + 4], al
movzx eax, al
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, dl
xor al, byte [rdi + 6]
mov rcx, rbx
cmp qword [rbx + 0x18], 0xf
jbe 0x140176d93
mov rcx, qword [rbx]
mov byte [rcx + 5], al
movzx eax, al
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, dl
xor al, byte [rdi + 7]
mov rcx, rbx
cmp qword [rbx + 0x18], 0xf
jbe 0x140176db4
mov rcx, qword [rbx]
mov byte [rcx + 6], al
movzx eax, al
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, dl
xor al, byte [rdi + 8]
mov rcx, rbx
cmp qword [rbx + 0x18], 0xf
jbe 0x140176dd5
mov rcx, qword [rbx]
mov byte [rcx + 7], al
movzx eax, al
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, dl
xor al, byte [rdi + 9]
mov rcx, rbx
cmp qword [rbx + 0x18], 0xf
jbe 0x140176df6
mov rcx, qword [rbx]
mov byte [rcx + 8], al
movzx eax, al
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, dl
xor al, byte [rdi + 0xa]
mov rcx, rbx
cmp qword [rbx + 0x18], 0xf
jbe 0x140176e17
mov rcx, qword [rbx]
mov byte [rcx + 9], al
movzx eax, al
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, dl
xor al, byte [rdi + 0xb]
mov rcx, rbx
cmp qword [rbx + 0x18], 0xf
jbe 0x140176e38
mov rcx, qword [rbx]
mov byte [rcx + 0xa], al
movzx eax, al
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, dl
xor al, byte [rdi + 0xc]
mov rcx, rbx
cmp qword [rbx + 0x18], 0xf
jbe 0x140176e59
mov rcx, qword [rbx]
mov byte [rcx + 0xb], al
movzx eax, al
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, dl
xor al, byte [rdi + 0xd]
mov rcx, rbx
cmp qword [rbx + 0x18], 0xf
jbe 0x140176e7a
mov rcx, qword [rbx]
mov byte [rcx + 0xc], al
movzx eax, al
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, dl
xor al, byte [rdi + 0xe]
mov rcx, rbx
cmp qword [rbx + 0x18], 0xf
jbe 0x140176e9b
mov rcx, qword [rbx]
mov byte [rcx + 0xd], al
movzx eax, al
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, dl
xor al, byte [rdi + 0xf]
mov rcx, rbx
cmp qword [rbx + 0x18], 0xf
jbe 0x140176ebc
mov rcx, qword [rbx]
mov byte [rcx + 0xe], al
movzx eax, al
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, dl
xor al, byte [rdi + 0x10]
mov rcx, rbx
cmp qword [rbx + 0x18], 0xf
jbe 0x140176edd
mov rcx, qword [rbx]
mov byte [rcx + 0xf], al
movzx eax, al
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, dl
xor al, byte [rdi + 0x11]
mov rcx, rbx
cmp qword [rbx + 0x18], 0xf
jbe 0x140176efe
mov rcx, qword [rbx]
mov byte [rcx + 0x10], al
movzx eax, al
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, dl
xor al, byte [rdi + 0x12]
mov rcx, rbx
cmp qword [rbx + 0x18], 0xf
jbe 0x140176f1f
mov rcx, qword [rbx]
mov byte [rcx + 0x11], al
movzx eax, al
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, dl
xor al, byte [rdi + 0x13]
mov rcx, rbx
cmp qword [rbx + 0x18], 0xf
jbe 0x140176f40
mov rcx, qword [rbx]
mov byte [rcx + 0x12], al
movzx eax, al
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, dl
xor al, byte [rdi + 0x14]
mov rcx, rbx
cmp qword [rbx + 0x18], 0xf
jbe 0x140176f61
mov rcx, qword [rbx]
mov byte [rcx + 0x13], al
movzx eax, al
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, dl
xor al, byte [rdi + 0x15]
mov rcx, rbx
cmp qword [rbx + 0x18], 0xf
jbe 0x140176f82
mov rcx, qword [rbx]
mov byte [rcx + 0x14], al
movzx eax, al
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, dl
xor al, byte [rdi + 0x16]
mov rcx, rbx
cmp qword [rbx + 0x18], 0xf
jbe 0x140176fa3
mov rcx, qword [rbx]
mov byte [rcx + 0x15], al
movzx eax, al
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, dl
xor al, byte [rdi + 0x17]
mov rcx, rbx
cmp qword [rbx + 0x18], 0xf
jbe 0x140176fc4
mov rcx, qword [rbx]
mov byte [rcx + 0x16], al
movzx eax, al
xor eax, edx
imul ecx, eax, 0x1000193
xor cl, byte [rdi + 0x18]
cmp qword [rbx + 0x18], 0xf
jbe 0x140176ff0
mov rax, qword [rbx]
mov byte [rax + 0x17], cl
mov rax, rbx
mov rbx, qword [rsp + 0x40]
add rsp, 0x30
pop rdi
ret
mov byte [rbx + 0x17], cl
mov rax, rbx
mov rbx, qword [rsp + 0x40]
add rsp, 0x30
pop rdi
ret