Function at 0x14002f7d0
Capabilities:
Hash data using djb2

Disassembly:
mov qword [rsp + 0x18], rbx
push rsi
push rdi
push r14
sub rsp, 0xa0
mov rax, qword [0x1402376b8]
xor rax, rsp
mov qword [rsp + 0x90], rax
lea r14, [0x140000000]
mov rsi, rdx
mov rdi, rcx
mov ebx, 0x1505
test rcx, rcx
je 0x14002f8a2
cmp dword [rcx], 0
jne 0x14002f8a2
lea rax, [0x1401c5d84]
mov r9d, ebx
mov ecx, 0x65
nop word [rax + rax]
imul r9, r9, 0x21
lea rax, [rax + 1]
add r9, rcx
movsx rcx, byte [rax]
test rcx, rcx
jne 0x14002f830
mov r10, qword [rdi + 0x20]
lea r8, [0x1401c5d84]
xor edx, edx
lea rcx, [rdi + 0x10]
mov rax, r9
div qword [r14 + r10*8 + 0x1c5670]
shl rdx, 4
add rdx, qword [rdi + 0x18]
call fcn.14002a1c0
test rax, rax
je 0x14002f8a2
mov rax, qword [rax + 0x18]
test rax, rax
je 0x14002f8a2
cmp dword [rax], 7
je 0x14002f8a2
lea rdx, [0x1401c6698]
mov dword [0x140238244], 0
mov ecx, 3
call fcn.1400432a0
xor eax, eax
jmp 0x14002faaf
cmp dword [rsi + 0x1d0], 0
jne 0x14002faaa
test rdi, rdi
je 0x14002faaa
cmp dword [rdi], 0
jne 0x14002faaa
lea rax, [0x1401c5c9c]
mov ecx, 0x68
nop dword [rax]
imul rbx, rbx, 0x21
lea rax, [rax + 1]
add rbx, rcx
movsx rcx, byte [rax]
test rcx, rcx
jne 0x14002f8d0
mov r10, qword [rdi + 0x20]
lea r8, [0x1401c5c9c]
xor edx, edx
lea rcx, [rdi + 0x10]
mov rax, rbx
mov r9, rbx
div qword [r14 + r10*8 + 0x1c5670]
shl rdx, 4
add rdx, qword [rdi + 0x18]
call fcn.14002a1c0
test rax, rax
je 0x14002faaa
mov rax, qword [rax + 0x18]
test rax, rax
je 0x14002faaa
cmp dword [rax], 3
jne 0x14002faaa
mov rcx, qword [rax + 0x10]
mov dword [rsi + 0x1d0], ecx
cmp dword [0x1432bf578], 0
jne 0x14002faaa
cmp ecx, dword [0x1432aeb90]
jbe 0x14002faaa
movsd xmm2, qword [0x1432bf518]
xorps xmm0, xmm0
comisd xmm2, xmm0
jbe 0x14002fa73
movq r8, xmm2
lea rdx, [0x1401c66c8]
lea rcx, [rsp + 0x50]
movups xmmword [rsp + 0x50], xmm0
movups xmmword [rsp + 0x60], xmm0
movups xmmword [rsp + 0x70], xmm0
movups xmmword [rsp + 0x80], xmm0
movups xmmword [rsp + 0x30], xmm0
movups xmmword [rsp + 0x40], xmm0
call fcn.140021430
mov rcx, qword [0x1432bf410]
test rcx, rcx
je 0x14002fa40
xorps xmm0, xmm0
js 0x14002f9ba
cvtsi2sd xmm0, rcx
jmp 0x14002f9cf
mov rax, rcx
and ecx, 1
shr rax, 1
or rax, rcx
cvtsi2sd xmm0, rax
addsd xmm0, xmm0
lea rdx, [rsp + 0x30]
call fcn.14002d410
lea rcx, [rsp + 0x50]
dec rcx
cmp byte [rcx + 1], 0
lea rcx, [rcx + 1]
jne 0x14002f9e1
mov eax, dword [0x1401c5d14]
mov dword [rcx], eax
movzx eax, word [0x1401c5d18]
mov word [rcx + 4], ax
movzx eax, byte [0x1401c5d1a]
mov byte [rcx + 6], al
lea rcx, [rsp + 0x50]
dec rcx
cmp byte [rcx + 1], 0
lea rcx, [rcx + 1]
jne 0x14002fa10
lea r8, [rsp + 0x30]
xor edx, edx
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [r8 + rdx]
mov byte [rcx + rdx], al
lea rdx, [rdx + 1]
test al, al
jne 0x14002fa30
movsxd r8, dword [0x1402382b4]
lea rax, [rsp + 0x50]
mov r9d, dword [rsi + 0x1d0]
lea rdx, [0x1401c66d8]
mov ecx, 0x10
mov qword [rsp + 0x20], rax
mov r8, qword [r14 + r8*8 + 0x1c9f10]
call fcn.1400432a0
jmp 0x14002fa9e
movsxd rax, dword [0x1402382b4]
lea rdx, [0x1401c66e8]
mov r8, qword [0x1432bf528]
mov dword [rsp + 0x20], ecx
mov ecx, 0x10
mov r9, qword [r14 + rax*8 + 0x1c9f10]
call fcn.1400432a0
mov eax, dword [rsi + 0x1d0]
mov dword [0x1432aeb90], eax
mov eax, 1
mov rcx, qword [rsp + 0x90]
xor rcx, rsp
call fcn.140189f20
mov rbx, qword [rsp + 0xd0]
add rsp, 0xa0
pop r14
pop rdi
pop rsi
ret