Function at 0x140005fb0
Capabilities:
Hash data using djb2

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rbp
push rsi
push rdi
push r13
push r14
push r15
sub rsp, 0x70
mov r14, qword [rsp + 0xd0]
mov ebx, ecx
mov rdi, rdx
mov rsi, r8
mov r8d, 0x10
mov rbp, r9
mov rcx, qword [r14 + 8]
mov rdx, qword [rcx + 0x10]
add rcx, 0x18
call fcn.140008e00
mov r9, qword [rsp + 0xc8]
mov r8d, 4
movups xmm0, xmmword [r9]
movups xmmword [rax], xmm0
mov rcx, qword [r14 + 0x10]
mov rdx, qword [rcx + 0x10]
add rcx, 0x18
call fcn.140008e00
mov r8d, 0x10
mov dword [rax], ebx
mov rcx, qword [r14 + 0x10]
mov rdx, qword [rcx + 0x10]
add rcx, 0x18
call fcn.140008e00
movups xmm0, xmmword [rdi]
mov r8d, 0x10
movups xmmword [rax], xmm0
mov rcx, qword [r14 + 0x10]
mov rdx, qword [rcx + 0x10]
add rcx, 0x18
call fcn.140008e00
movups xmm0, xmmword [rsi]
mov r8d, 0x10
movups xmmword [rax], xmm0
mov rcx, qword [r14 + 0x10]
mov rdx, qword [rcx + 0x10]
add rcx, 0x18
call fcn.140008e00
movups xmm0, xmmword [rbp]
mov r13, qword [rsp + 0xc0]
mov r15, qword [rsp + 0xd8]
movups xmmword [rax], xmm0
mov edi, dword [r13 + 0x40]
mov dword [rsp + 0xa0], edi
movups xmm0, xmmword [r14 + 0x10]
movups xmm1, xmmword [r14 + 0x20]
movups xmmword [rsp + 0x50], xmm0
movups xmmword [rsp + 0x60], xmm1
test r15, r15
jne 0x1400060a8
xor eax, eax
jmp 0x1400060ac
mov eax, dword [r15 + 0x28]
mov rcx, qword [r14 + 0x10]
lea ebx, [rax + rdi]
mov r8d, 4
mov qword [rsp + 0xa8], r12
mov rdx, qword [rcx + 0x10]
add rcx, 0x18
call fcn.140008e00
lea rdx, [rsp + 0x20]
mov dword [rax], ebx
mov rcx, qword [r14 + 0x18]
mov eax, dword [rcx]
mov dword [rsp + 0x20], eax
mov rax, qword [rcx + 0x20]
mov rcx, qword [r14 + 0x10]
mov qword [rsp + 0x28], rax
movaps xmm0, xmmword [rsp + 0x20]
movdqa xmmword [rsp + 0x20], xmm0
call fcn.140008870
mov rsi, 0xffffffffffffffff
test edi, edi
jle 0x1400061f6
mov r12, qword [rsp + 0x60]
xor ebx, ebx
mov r14, qword [rsp + 0x58]
mov r15d, ebx
add r13, 0x44
nop
movsxd rcx, dword [r13]
lea rdx, [rsp + 0x30]
add rcx, r13
mov eax, ebx
sub eax, dword [r13]
neg eax
sbb rax, rax
and rcx, rax
mov eax, dword [r12]
mov dword [rsp + 0x20], eax
mov rax, qword [r12 + 0x20]
mov qword [rsp + 0x28], rax
movaps xmm0, xmmword [rsp + 0x20]
lea rbp, [rcx + r15*8]
mov rcx, r14
movdqa xmmword [rsp + 0x30], xmm0
call fcn.140008870
movsxd rdi, dword [rbp]
mov eax, ebx
sub eax, dword [rbp]
add rdi, rbp
neg eax
mov rbx, rsi
sbb rax, rax
and rdi, rax
nop word [rax + rax]
cmp byte [rdi + rbx + 1], 0
lea rbx, [rbx + 1]
jne 0x140006180
mov rdx, qword [r12 + 0x10]
lea r8, [rbx + 1]
lea rcx, [r12 + 0x18]
call fcn.140008e00
lea r8, [rbx + 1]
mov rdx, rdi
mov rcx, rax
call fcn.14004fbf0
mov rdx, qword [r14 + 0x10]
lea rcx, [r14 + 0x18]
mov ebx, dword [rbp + 4]
mov r8d, 4
call fcn.140008e00
movsxd rcx, dword [rsp + 0xa0]
inc r15
mov dword [rax], ebx
mov ebx, 0
cmp r15, rcx
jl 0x140006120
mov r14, qword [rsp + 0xd0]
mov r15, qword [rsp + 0xd8]
mov r13, qword [rsp + 0xc0]
test r15, r15
je 0x1400062d0
movsxd r12, dword [r15 + 0x28]
test r12, r12
jle 0x1400062d0
xor ebp, ebp
nop
mov rcx, qword [r14 + 0x20]
lea rdx, [rsp + 0x30]
mov eax, dword [rcx]
mov dword [rsp + 0x20], eax
mov rax, qword [rcx + 0x20]
mov rcx, qword [r14 + 0x18]
mov qword [rsp + 0x28], rax
movaps xmm0, xmmword [rsp + 0x20]
movdqa xmmword [rsp + 0x30], xmm0
call fcn.140008870
mov rax, qword [r15 + 0x20]
mov rbx, rsi
mov rdx, qword [r14 + 0x20]
mov edi, dword [rax + rbp*4]
add rdi, qword [r15 + 8]
nop
cmp byte [rdi + rbx + 1], 0
lea rbx, [rbx + 1]
jne 0x140006250
lea rcx, [rdx + 0x18]
mov rdx, qword [rdx + 0x10]
lea r8, [rbx + 1]
call fcn.140008e00
lea r8, [rbx + 1]
mov rdx, rdi
mov rcx, rax
call fcn.14004fbf0
movzx ecx, byte [rdi]
lea rdx, [rdi + 1]
mov eax, 0x1505
test ecx, ecx
je 0x1400062a1
nop dword [rax + rax]
imul eax, eax, 0x21
lea rdx, [rdx + 1]
add eax, ecx
movzx ecx, byte [rdx - 1]
test ecx, ecx
jne 0x140006290
mov rcx, qword [r14 + 0x18]
test eax, eax
mov ebx, 1
mov r8d, 4
cmovne ebx, eax
mov rdx, qword [rcx + 0x10]
add rcx, 0x18
call fcn.140008e00
inc rbp
mov dword [rax], ebx
cmp rbp, r12
jl 0x140006210
mov rcx, qword [r14 + 0x10]
mov r8d, 4
mov rdx, qword [rcx + 0x10]
add rcx, 0x18
call fcn.140008e00
xor r15d, r15d
lea rdx, [rsp + 0x30]
mov dword [rax], r15d
mov rcx, qword [r14 + 0x18]
mov eax, dword [rcx]
mov dword [rsp + 0x20], eax
mov rax, qword [rcx + 0x20]
mov rcx, qword [r14 + 0x10]
mov qword [rsp + 0x28], rax
movaps xmm0, xmmword [rsp + 0x20]
movdqa xmmword [rsp + 0x30], xmm0
call fcn.140008870
movsxd rax, dword [r13]
movzx edi, byte [rsp + 0xe0]
add rax, r13
cmp dword [r13], r15d
mov r12, qword [rsp + 0xa8]
cmove rax, r15
test rax, rax
je 0x1400063bd
test dil, dil
je 0x1400063bd
mov rcx, qword [r14 + 0x20]
lea rdx, [rsp + 0x30]
mov eax, dword [rcx]
mov dword [rsp + 0x20], eax
mov rax, qword [rcx + 0x20]
mov rcx, qword [r14 + 0x10]
mov qword [rsp + 0x28], rax
movaps xmm0, xmmword [rsp + 0x20]
movdqa xmmword [rsp + 0x30], xmm0
call fcn.140008870
movsxd rbx, dword [r13]
mov eax, r15d
sub eax, dword [r13]
add rbx, r13
mov rdx, qword [r14 + 0x20]
neg eax
sbb rax, rax
and rbx, rax
nop dword [rax]
cmp byte [rbx + rsi + 1], r15b
lea rsi, [rsi + 1]
jne 0x140006390
lea rcx, [rdx + 0x18]
mov rdx, qword [rdx + 0x10]
lea r8, [rsi + 1]
call fcn.140008e00
lea r8, [rsi + 1]
mov rdx, rbx
mov rcx, rax
call fcn.14004fbf0
jmp 0x1400063d7
mov rcx, qword [r14 + 0x10]
mov r8d, 4
mov rdx, qword [rcx + 0x10]
add rcx, 0x18
call fcn.140008e00
mov dword [rax], r15d
cmp dword [r13 + 4], r15d
je 0x14000646b
test dil, dil
je 0x14000646b
mov rcx, qword [r14 + 0x10]
mov r8d, 4
mov ebx, dword [r13 + 4]
mov rdx, qword [rcx + 0x10]
add rcx, 0x18
call fcn.140008e00
lea rdx, [rsp + 0x30]
mov dword [rax], ebx
mov rcx, qword [r14 + 0x28]
mov eax, dword [rcx]
mov dword [rsp + 0x20], eax
mov rax, qword [rcx + 0x20]
mov rcx, qword [r14 + 0x10]
mov qword [rsp + 0x28], rax
movaps xmm0, xmmword [rsp + 0x20]
movdqa xmmword [rsp + 0x30], xmm0
call fcn.140008870
mov rcx, qword [r14 + 0x28]
lea rdi, [r13 + 8]
movsxd rbp, dword [r13 + 4]
movsxd rbx, dword [rdi]
mov r8, rbp
mov esi, dword [rdi]
mov rdx, qword [rcx + 0x10]
add rcx, 0x18
call fcn.140008e00
test esi, esi
lea rdx, [rdi + rbx]
mov r8, rbp
mov rcx, rax
cmove rdx, r15
call fcn.14004fbf0
jmp 0x14000649f
mov rcx, qword [r14 + 0x10]
mov r8d, 4
mov rdx, qword [rcx + 0x10]
add rcx, 0x18
call fcn.140008e00
mov r8d, 4
mov dword [rax], r15d
mov rcx, qword [r14 + 0x10]
mov rdx, qword [rcx + 0x10]
add rcx, 0x18
call fcn.140008e00
mov dword [rax], r15d
lea r11, [rsp + 0x70]
mov rbx, qword [r11 + 0x40]
mov rbp, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop rdi
pop rsi
ret