Function at 0x14000db50
Capabilities:
Hash data using djb2

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r12
push r14
push r15
sub rsp, 0x20
xor edi, edi
lea r14, str.example.txt
mov r15d, r8d
mov rbp, rcx
mov ebx, edi
test rcx, rcx
je 0x14000dd21
test r8d, 0x840
jne 0x14000dc88
mov eax, r8d
and eax, 0x1800
je 0x14000dbbd
cmp eax, 0x800
je 0x14000dbb6
cmp eax, 0x1000
jne 0x14000dd21
lea esi, [rdi + 4]
jmp 0x14000dbbf
mov esi, 2
jmp 0x14000dbbf
mov esi, edi
mov ecx, 0x20
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov rbx, rax
test rax, rax
je 0x14000dd21
mov ecx, 0xc
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov qword [rbx], rax
mov rcx, rax
test rax, rax
je 0x14000dd18
vmovsd xmm0, qword [str.example.txt]
vmovsd qword [rax], xmm0
movzx eax, word [0x140019428]
mov word [rcx + 8], ax
movzx eax, byte [0x14001942a]
mov byte [rcx + 0xa], al
mov rax, qword [rbx]
mov byte [rax + 0xb], dil
mov word [rbx + 8], 0xb
mov dword [rbx + 0xc], edi
mov qword [rbx + 0x10], rdi
mov dword [rbx + 0x18], edi
test esi, esi
je 0x14000dc3f
mov edx, esi
mov rcx, rbx
call fcn.14000b7d0
cmp eax, 5
je 0x14000dd05
cmp dword [rbx + 0xc], edi
jne 0x14000dc4e
xor edx, edx
mov rcx, rbx
call fcn.14000b7d0
cmp dword [rbx + 0xc], 4
jne 0x14000dc7c
mov r14, qword [rbx + 0x10]
test r14, r14
jne 0x14000dc88
movzx edx, word [rbx + 8]
lea r8, [rbx + 0x18]
mov rcx, qword [rbx]
xor r9d, r9d
call fcn.14000b910
mov r14, rax
mov qword [rbx + 0x10], rax
test rax, rax
jmp 0x14000dc82
mov r14, qword [rbx]
test r14, r14
je 0x14000dd05
test r15b, 0xc3
je 0x14000dd47
mov r12, qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcmp]
test r15b, 1
cmovne r12, qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__stricmp]
cmp qword [rbp + 0x48], rdi
jbe 0x14000dd00
nop dword [rax + rax]
xor r9d, r9d
mov r8d, r15d
mov rdx, rdi
mov rcx, rbp
call fcn.140009370
mov rsi, rax
test rax, rax
je 0x14000dcf7
test r15b, 2
je 0x14000dce6
mov edx, 0x2f
mov rcx, rax
call qword [sym.imp.VCRUNTIME140.dll_strrchr]
test rax, rax
je 0x14000dce6
lea rsi, [rax + 1]
mov rdx, rsi
mov rcx, r14
call r12
test eax, eax
je 0x14000de05
inc rdi
cmp rdi, qword [rbp + 0x48]
jb 0x14000dcb0
test rbx, rbx
je 0x14000dd21
mov rcx, qword [rbx]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, qword [rbx + 0x10]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rax, 0xffffffffffffffff
mov rbx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x58]
add rsp, 0x20
pop r15
pop r14
pop r12
ret
mov r8, qword [rbp + 0x70]
test r8, r8
je 0x14000ddfe
test r14, r14
je 0x14000ddfe
cmp qword [r8 + 8], rdi
jbe 0x14000ddfe
movzx ecx, byte [r14]
mov rdx, r14
mov eax, 0x1505
test cl, cl
je 0x14000dd95
nop word [rax + rax]
imul rax, rax, 0x21
movzx ecx, cl
lea rdx, [rdx + 1]
add rax, rcx
movzx ecx, byte [rdx]
test cl, cl
jne 0x14000dd80
xor edx, edx
div dword [r8]
mov rax, qword [r8 + 0x10]
mov r9, qword [rax + rdx*8]
test r9, r9
je 0x14000ddfe
nop word [rax + rax]
mov r8, qword [r9]
mov rax, r14
sub r8, r14
nop dword [rax]
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x14000ddd3
inc rax
test ecx, ecx
jne 0x14000ddc0
test edx, edx
je 0x14000dde2
mov r9, qword [r9 + 0x18]
test r9, r9
jne 0x14000ddb0
jmp 0x14000ddfe
test r15b, 8
je 0x14000ddf4
mov rdi, qword [r9 + 8]
cmp rdi, 0xffffffffffffffff
je 0x14000ddfe
jmp 0x14000de05
mov rdi, qword [r9 + 0x10]
cmp rdi, 0xffffffffffffffff
jne 0x14000de05
mov rdi, 0xffffffffffffffff
test rbx, rbx
je 0x14000de26
mov rcx, qword [rbx]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, qword [rbx + 0x10]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rax, rdi
jmp 0x14000dd28