Function at 0x140003b70
Capabilities:
Hash data using djb2

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r14
sub rsp, 0x20
mov r10, rcx
mov r9d, 0x1505
call fcn.140001030
movsx ebx, al
call fcn.140001040
movsx edx, al
imul ebx, edx
call fcn.140001070
mov r11d, dword [rsp + 0x40]
xor r14d, r14d
movsx esi, al
lea eax, [rbx + rbx*4]
lea edi, [rsi + rax*2]
lea ebp, [rsi + rbx*4]
nop word [rax + rax]
movsx eax, byte [0x14002ca3a]
movd xmm1, eax
movsx eax, byte [0x14002ca3c]
cvtdq2pd xmm1, xmm1
movd xmm0, eax
mov rax, r14
cmp word [r10], ax
cvtdq2pd xmm0, xmm0
setne al
xor edx, edx
addsd xmm0, xmm0
subsd xmm1, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm1, xmm0
movsd qword [rsp + 0x40], xmm1
movsx eax, byte [0x14002ca39]
movsx ecx, byte [0x14002ca38]
add eax, edi
div ecx
movsx ecx, byte [0x14002ca3b]
cmp eax, ecx
je 0x140003c61
call fcn.140001050
movsx edx, al
movsx eax, byte [0x14002dde8]
imul edx, eax
lea r8d, [rdx + rdx*8]
call fcn.140001080
movsx ecx, al
sub r8d, ecx
call fcn.140001060
movsx ecx, al
add r8d, ecx
movsx ecx, byte [0x14002ca3c]
add ecx, r8d
je 0x140003c61
mov r11d, 4
jmp 0x140003cb6
movsx eax, byte [0x14002ca39]
lea edx, [rbx + rbx*2]
movsx ecx, byte [0x14002ca38]
add eax, esi
lea eax, [rax + rdx*2]
xor edx, edx
div ecx
movsx ecx, byte [0x14002ca3b]
cmp eax, ecx
je 0x140003cb6
movsx eax, byte [0x14002ca39]
xor edx, edx
movsx ecx, byte [0x14002ca38]
add eax, edi
div ecx
movsx ecx, byte [0x14002ca3b]
xorps xmm0, xmm0
sub eax, ecx
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x40]
cvttsd2si r11d, xmm0
movsx eax, byte [0x14002ca39]
xor edx, edx
movsx ecx, byte [0x14002ca38]
add eax, ebp
div ecx
movsx ecx, byte [0x14002ca3b]
sub eax, ecx
imul eax, r11d
test eax, eax
je 0x140003cef
movzx eax, word [r10]
add r10, 2
imul r9d, r9d, 0x21
add r9d, eax
jmp 0x140003bc0
movsx eax, byte [0x14002ca39]
xor edx, edx
movsx ecx, byte [0x14002ca38]
add eax, ebx
add eax, esi
xorps xmm2, xmm2
div ecx
movsx ecx, byte [0x14002ca3b]
xor edx, edx
sub eax, ecx
cvtsi2sd xmm2, rax
movsx eax, byte [0x14002ca3a]
movd xmm1, eax
movsx eax, byte [0x14002ca3c]
cvtdq2pd xmm1, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x40], xmm1
movsx eax, byte [0x14002ca39]
movsx ecx, byte [0x14002ca38]
add eax, edi
div ecx
movsx ecx, byte [0x14002ca3b]
cmp eax, ecx
je 0x140003da1
call fcn.140001050
movsx edx, al
movsx eax, byte [0x14002dde8]
imul edx, eax
lea r8d, [rdx + rdx*8]
call fcn.140001080
movsx ecx, al
sub r8d, ecx
call fcn.140001060
movsx ecx, al
add r8d, ecx
movsx ecx, byte [0x14002ca3c]
add ecx, r8d
jne 0x140003e3c
call fcn.140001040
movsx edx, al
call fcn.140001030
movsx ecx, al
imul edx, ecx
lea edx, [rdx + rdx*2]
call fcn.140001070
movsx ecx, al
lea eax, [rcx + rdx*2]
movsx ecx, byte [0x14002ca39]
add eax, ecx
xor edx, edx
movsx ecx, byte [0x14002ca38]
div ecx
movsx ecx, byte [0x14002ca3b]
cmp eax, ecx
je 0x140003e33
call fcn.140001040
movsx edx, al
call fcn.140001030
movsx ecx, al
imul edx, ecx
lea edx, [rdx + rdx*4]
call fcn.140001070
movsx ecx, al
xorps xmm0, xmm0
lea eax, [rcx + rdx*2]
movsx ecx, byte [0x14002ca39]
add eax, ecx
xor edx, edx
movsx ecx, byte [0x14002ca38]
div ecx
movsx ecx, byte [0x14002ca3b]
sub eax, ecx
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x40]
cvttsd2si eax, xmm0
jmp 0x140003e37
mov eax, dword [rsp + 0x40]
cmp r14d, eax
jge 0x140003e3f
mov eax, r9d
mov rbx, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x50]
add rsp, 0x20
pop r14
pop rdi
pop rsi
ret