Function at 0x1400198d0
Capabilities:
Hash data using djb2

Disassembly:
mov qword [rsp + 0x20], rbp
push rdi
push r12
push r13
push r15
xor r9b, r9b
mov r13, rdx
mov rdi, rcx
test rdx, rdx
je 0x140019953
test rcx, rcx
je 0x140019953
cmp byte [rcx], 0x7f
jne 0x140019953
cmp byte [rcx + 1], 0x45
jne 0x140019953
cmp byte [rcx + 2], 0x4c
jne 0x140019953
cmp byte [rcx + 3], 0x46
jne 0x140019953
cmp word [rcx + 0x12], 0x3e
jne 0x140019953
cmp word [rcx + 0x10], 3
jne 0x140019953
cmp word [rcx + 0x36], 0x38
jne 0x140019953
mov r11, qword [rcx + 0x20]
xor ebp, ebp
movzx r10d, word [rcx + 0x38]
add r11, rcx
mov r15d, ebp
mov r8d, ebp
mov r12d, ebp
mov edx, ebp
test r10, r10
je 0x140019953
mov ecx, ebp
mov rax, r11
nop
cmp dword [rax], 2
je 0x140019962
inc edx
inc rcx
add rax, 0x38
cmp rcx, r10
jl 0x140019940
xor eax, eax
mov rbp, qword [rsp + 0x40]
pop r15
pop r13
pop r12
pop rdi
ret
movsxd rax, edx
imul rcx, rax, 0x38
mov rcx, qword [rcx + r11 + 0x10]
add rcx, rdi
je 0x140019953
mov rax, qword [rcx]
test rax, rax
je 0x140019953
nop dword [rax + rax]
sub rax, 4
je 0x1400199ab
sub rax, 1
je 0x1400199a5
sub rax, 1
je 0x14001999f
cmp rax, 0x6ffffeef
jne 0x1400199b2
mov r9b, 1
jmp 0x1400199ae
mov r15, qword [rcx + 8]
jmp 0x1400199b2
mov r12, qword [rcx + 8]
jmp 0x1400199b2
xor r9b, r9b
mov r8, qword [rcx + 8]
mov rax, qword [rcx + 0x10]
add rcx, 0x10
test rax, rax
jne 0x140019980
test r15, r15
je 0x140019953
test r8, r8
je 0x140019953
test r12, r12
je 0x140019953
movzx eax, byte [r13]
test r9b, r9b
mov qword [rsp + 0x28], rbx
mov rcx, r13
mov qword [rsp + 0x30], rsi
mov r9d, 0x1505
mov qword [rsp + 0x38], r14
je 0x140019aac
test al, al
je 0x140019a15
nop dword [rax + rax]
imul r9d, r9d, 0x21
lea rcx, [rcx + 1]
movzx eax, al
add r9d, eax
movzx eax, byte [rcx]
test al, al
jne 0x140019a00
mov ecx, dword [r8]
xor edx, edx
mov eax, dword [r8 + 8]
mov esi, dword [r8 + 4]
lea r8, [r8 + rax*8]
mov eax, r9d
div ecx
lea r8, [r8 + 0x10]
lea r14, [r8 + rcx*4]
mov r10d, dword [r8 + rdx*4]
cmp r10d, esi
jb 0x140019b22
or r9d, 1
nop dword [rax]
nop dword [rax + rax]
mov eax, r10d
sub eax, esi
mov r11d, dword [r14 + rax*4]
mov eax, r11d
or eax, 1
cmp eax, r9d
jne 0x140019a97
mov ebx, r10d
lea rax, [rbx + rbx*2]
mov r8d, dword [r15 + rax*8]
mov rax, r13
add r8, r12
sub r8, r13
nop dword [rax + rax]
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x140019a93
inc rax
test ecx, ecx
jne 0x140019a80
test edx, edx
je 0x140019aa6
test r11b, 1
jne 0x140019b22
inc r10d
jmp 0x140019a50
lea rax, [rbx + rbx*2]
jmp 0x140019b1a
test al, al
je 0x140019ac5
imul r9d, r9d, 0x21
lea rcx, [rcx + 1]
movzx eax, al
add r9d, eax
movzx eax, byte [rcx]
test al, al
jne 0x140019ab0
mov ecx, dword [r8]
xor edx, edx
mov eax, r9d
div ecx
lea r10, [r8 + rcx*4]
mov eax, dword [r8 + rdx*4 + 8]
test eax, eax
je 0x140019b22
nop dword [rax]
mov r9d, eax
lea rax, [r9 + r9*2]
mov r8d, dword [r15 + rax*8]
mov rax, r13
add r8, r12
sub r8, r13
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x140019b07
inc rax
test ecx, ecx
jne 0x140019af4
test edx, edx
je 0x140019b16
mov eax, dword [r10 + r9*4 + 8]
test eax, eax
jne 0x140019ae0
jmp 0x140019b22
lea rax, [r9 + r9*2]
mov rbp, qword [r15 + rax*8 + 8]
add rbp, rdi
mov r14, qword [rsp + 0x38]
mov rax, rbp
mov rbp, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x28]
pop r15
pop r13
pop r12
pop rdi
ret