Function at 0x14015d260
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x10], rdx
push rdi
sub rsp, 0x30
mov rdi, rdx
mov rbx, rcx
mov dword [rsp + 0x20], 0
xor r8d, r8d
lea edx, [r8 + 0x20]
mov rcx, rdi
call fcn.140039c30
mov eax, 1
mov dword [rsp + 0x20], eax
movzx r8d, byte [rbx]
not r8b
movzx edx, r8b
movzx ecx, dl
xor cl, byte [rbx + rax]
mov r8, rdi
cmp qword [rdi + 0x18], 0xf
jbe 0x14015d2b3
mov r8, qword [rdi]
mov byte [r8 + rax - 1], cl
movzx ecx, cl
xor ecx, edx
imul r8d, ecx, 0x1000193
movzx edx, r8b
xor dl, byte [rax + rbx + 1]
mov rcx, rdi
cmp qword [rdi + 0x18], 0xf
jbe 0x14015d2d9
mov rcx, qword [rdi]
mov byte [rcx + rax], dl
movzx ecx, dl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, r8b
xor cl, byte [rax + rbx + 2]
mov rdx, rdi
cmp qword [rdi + 0x18], 0xf
jbe 0x14015d2fe
mov rdx, qword [rdi]
mov byte [rdx + rax + 1], cl
movzx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, r8b
xor cl, byte [rax + rbx + 3]
mov rdx, rdi
cmp qword [rdi + 0x18], 0xf
jbe 0x14015d324
mov rdx, qword [rdi]
mov byte [rdx + rax + 2], cl
movzx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, r8b
xor cl, byte [rax + rbx + 4]
mov rdx, rdi
cmp qword [rdi + 0x18], 0xf
jbe 0x14015d34a
mov rdx, qword [rdi]
mov byte [rdx + rax + 3], cl
movzx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, r8b
xor cl, byte [rax + rbx + 5]
mov rdx, rdi
cmp qword [rdi + 0x18], 0xf
jbe 0x14015d370
mov rdx, qword [rdi]
mov byte [rdx + rax + 4], cl
movzx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, r8b
xor cl, byte [rax + rbx + 6]
mov rdx, rdi
cmp qword [rdi + 0x18], 0xf
jbe 0x14015d396
mov rdx, qword [rdi]
mov byte [rdx + rax + 5], cl
movzx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, r8b
xor cl, byte [rax + rbx + 7]
mov rdx, rdi
cmp qword [rdi + 0x18], 0xf
jbe 0x14015d3bc
mov rdx, qword [rdi]
mov byte [rdx + rax + 6], cl
movzx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, r8b
xor cl, byte [rax + rbx + 8]
mov rdx, rdi
cmp qword [rdi + 0x18], 0xf
jbe 0x14015d3e2
mov rdx, qword [rdi]
mov byte [rdx + rax + 7], cl
movzx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, r8b
xor cl, byte [rax + rbx + 9]
mov rdx, rdi
cmp qword [rdi + 0x18], 0xf
jbe 0x14015d408
mov rdx, qword [rdi]
mov byte [rdx + rax + 8], cl
movzx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, r8b
xor cl, byte [rax + rbx + 0xa]
mov rdx, rdi
cmp qword [rdi + 0x18], 0xf
jbe 0x14015d42e
mov rdx, qword [rdi]
mov byte [rdx + rax + 9], cl
movzx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, r8b
xor cl, byte [rax + rbx + 0xb]
mov rdx, rdi
cmp qword [rdi + 0x18], 0xf
jbe 0x14015d454
mov rdx, qword [rdi]
mov byte [rdx + rax + 0xa], cl
movzx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, r8b
xor cl, byte [rax + rbx + 0xc]
mov rdx, rdi
cmp qword [rdi + 0x18], 0xf
jbe 0x14015d47a
mov rdx, qword [rdi]
mov byte [rdx + rax + 0xb], cl
movzx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, r8b
xor cl, byte [rax + rbx + 0xd]
mov rdx, rdi
cmp qword [rdi + 0x18], 0xf
jbe 0x14015d4a0
mov rdx, qword [rdi]
mov byte [rdx + rax + 0xc], cl
movzx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, r8b
xor cl, byte [rax + rbx + 0xe]
mov rdx, rdi
cmp qword [rdi + 0x18], 0xf
jbe 0x14015d4c6
mov rdx, qword [rdi]
mov byte [rdx + rax + 0xd], cl
movzx ecx, cl
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, r8b
xor cl, byte [rax + rbx + 0xf]
mov rdx, rdi
cmp qword [rdi + 0x18], 0xf
jbe 0x14015d4ec
mov rdx, qword [rdi]
mov byte [rdx + rax + 0xe], cl
movzx ecx, cl
xor ecx, r8d
imul edx, ecx, 0x1000193
add rax, 0x10
cmp rax, 0x21
jb 0x14015d2a0
mov rax, rdi
mov rbx, qword [rsp + 0x50]
add rsp, 0x30
pop rdi
ret