Function at 0x14003d550
Capabilities:
Hash data using djb2

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x20
test rcx, rcx
je 0x14003d807
cmp dword [rcx], 0
jne 0x14003d807
mov edi, 0x1505
lea r11, [rcx + 0x10]
mov r9d, edi
lea rax, [0x1402172b4]
mov ecx, 0x72
nop
imul r9, r9, 0x21
lea rax, [rax + 1]
add r9, rcx
movsx rcx, byte [rax]
test rcx, rcx
jne 0x14003d590
mov r10, qword [r11 + 0x10]
lea r12, [0x1401c5670]
xor edx, edx
lea r8, [0x1402172b4]
mov rax, r9
mov rcx, r11
div qword [r12 + r10*8]
shl rdx, 4
add rdx, qword [r11 + 8]
call fcn.14002a1c0
test rax, rax
je 0x14003d807
mov r13, qword [rax + 0x18]
test r13, r13
je 0x14003d807
lea rdx, [0x14021730c]
mov rcx, r13
call fcn.14002c240
test rax, rax
je 0x14003d7fe
cmp dword [rax], 2
jne 0x14003d7fe
mov r8, qword [rax + 0x10]
test r8, r8
je 0x14003d7fe
cmp byte [r8], 0x4f
jne 0x14003d7ee
cmp byte [r8 + 1], 0x4b
jne 0x14003d7ee
cmp byte [r8 + 2], 0
jne 0x14003d7ee
lea rdx, [0x1402177f8]
mov rcx, r13
call fcn.14002c240
test rax, rax
je 0x14003d7e5
cmp dword [rax], 2
jne 0x14003d7e5
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x14003d7e5
mov r14, qword [0x1432bf618]
xor ebp, ebp
mov esi, 0x20000000
mov r15d, ebp
mov byte [rsp + 0x62], bpl
cmp byte [rbx], bpl
je 0x14003d6d0
nop dword [rax]
test rsi, rsi
je 0x14003d6cd
movzx ecx, byte [rbx + 1]
test cl, cl
je 0x14003d704
movzx eax, byte [rbx]
lea rdx, [rsp + 0x68]
mov byte [rsp + 0x61], cl
mov r8d, 0x10
lea rcx, [rsp + 0x60]
mov byte [rsp + 0x60], al
call qword [0x14018c468]
mov byte [r14], al
mov rax, qword [rsp + 0x68]
cmp byte [rax], bpl
jne 0x14003d6e5
add rbx, 2
inc r15
inc r14
dec rsi
cmp byte [rbx], bpl
jne 0x14003d680
cmp byte [rbx], bpl
cmove rbp, r15
test rbp, rbp
jne 0x14003d71e
lea rdx, [0x140217830]
jmp 0x14003d80e
lea r8, [rsp + 0x60]
xor ecx, ecx
lea rdx, [0x140216ce8]
call fcn.1400432a0
lea rdx, [0x140217830]
jmp 0x14003d80e
lea rdx, [0x140216cd0]
xor ecx, ecx
call fcn.1400432a0
lea rdx, [0x140217830]
jmp 0x14003d80e
test bpl, 0x1f
jne 0x14003d7d2
cmp dword [r13], 0
jne 0x14003d7c9
lea rax, [0x140216ea4]
mov ecx, 0x68
nop
imul rdi, rdi, 0x21
lea rax, [rax + 1]
add rdi, rcx
movsx rcx, byte [rax]
test rcx, rcx
jne 0x14003d740
mov r10, qword [r13 + 0x20]
lea r8, [0x140216ea4]
xor edx, edx
lea rcx, [r13 + 0x10]
mov rax, rdi
mov r9, rdi
div qword [r12 + r10*8]
shl rdx, 4
add rdx, qword [r13 + 0x18]
call fcn.14002a1c0
test rax, rax
je 0x14003d7c9
mov rcx, qword [rax + 0x18]
test rcx, rcx
je 0x14003d7c9
lea rdx, [0x1432bfc30]
call fcn.14003b420
test eax, eax
jne 0x14003d7a3
lea rdx, [0x140217898]
jmp 0x14003d80e
mov r8, rbp
lea rdx, [0x1402178b8]
mov ecx, 3
call fcn.1400432a0
shr rbp, 3
mov eax, 1
mov qword [0x14023e870], rbp
jmp 0x14003d817
lea rdx, [0x140217888]
jmp 0x14003d80e
mov r8, rbp
lea rdx, [0x140217858]
xor ecx, ecx
call fcn.1400432a0
jmp 0x14003d815
lea rdx, [0x140217808]
jmp 0x14003d80e
lea rdx, [0x140217350]
xor ecx, ecx
call fcn.1400432a0
jmp 0x14003d815
lea rdx, [0x140217330]
jmp 0x14003d80e
lea rdx, [0x1402177c0]
xor ecx, ecx
call fcn.1400432a0
xor eax, eax
mov rbx, qword [rsp + 0x70]
add rsp, 0x20
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret