Function at 0x140003e60
Capabilities:
Hash data using djb2

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r14
push r15
sub rsp, 0x20
mov rbp, rcx
mov r10d, 0x1505
call fcn.140001030
movsx r15d, al
call fcn.140001040
movsx edx, al
imul r15d, edx
call fcn.140001070
mov ebx, dword [rsp + 0x40]
lea r11d, [r15 + r15*2]
movsx edi, al
add r11d, r11d
lea eax, [r15 + r15*4]
lea r14d, [rdi + rax*2]
nop dword [rax]
nop word [rax + rax]
movsx eax, byte [0x14002ca3a]
xor edx, edx
movzx esi, byte [rbp]
inc rbp
movd xmm1, eax
movsx eax, byte [0x14002ca3c]
cvtdq2pd xmm1, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
movd xmm0, esi
cvtdq2pd xmm0, xmm0
mulsd xmm1, xmm0
movsd qword [rsp + 0x40], xmm1
movsx eax, byte [0x14002ca39]
movsx ecx, byte [0x14002ca38]
add eax, r14d
div ecx
movsx ecx, byte [0x14002ca3b]
cmp eax, ecx
je 0x140003f62
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 0x140003f62
mov ebx, 4
lea r9d, [rdi + r11]
jmp 0x140003fb6
movsx eax, byte [0x14002ca39]
lea r9d, [rdi + r11]
movsx ecx, byte [0x14002ca38]
add eax, r9d
xor edx, edx
div ecx
movsx ecx, byte [0x14002ca3b]
cmp eax, ecx
je 0x140003fb6
movsx eax, byte [0x14002ca39]
xor edx, edx
movsx ecx, byte [0x14002ca38]
add eax, r14d
div ecx
movsx ecx, byte [0x14002ca3b]
xorps xmm0, xmm0
sub eax, ecx
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x40]
cvttsd2si ebx, xmm0
movsx eax, byte [0x14002ca39]
xor edx, edx
movsx ecx, byte [0x14002ca38]
add eax, r9d
div ecx
movsx ecx, byte [0x14002ca3b]
sub eax, ecx
imul eax, ebx
test eax, eax
je 0x140003fe7
imul r10d, r10d, 0x21
add r10d, esi
jmp 0x140003ec0
movsx eax, byte [0x14002ca39]
xor edx, edx
imul ecx, r15d, 7
xorps xmm2, xmm2
xor r11d, r11d
add ecx, edi
add eax, ecx
movsx ecx, byte [0x14002ca38]
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, r14d
div ecx
movsx ecx, byte [0x14002ca3b]
cmp eax, ecx
je 0x14000409d
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 0x140004118
movsx eax, byte [0x14002ca39]
xor edx, edx
movsx ecx, byte [0x14002ca38]
add eax, r9d
div ecx
movsx ecx, byte [0x14002ca3b]
cmp eax, ecx
je 0x14000410f
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 0x140004113
mov eax, dword [rsp + 0x40]
cmp r11d, eax
jge 0x14000411b
mov eax, r10d
mov rbx, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
add rsp, 0x20
pop r15
pop r14
pop rdi
ret