Function at 0x14002dadc
Capabilities:
Hash data using djb2
Resolve function by parsing pe exports

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push r12
push r14
push r15
sub rsp, 0x20
mov r14, rdx
mov edi, ecx
xor ebx, ebx
call fcn.14002da58
mov r10, rax
test rax, rax
je 0x14002dd03
movsxd rax, dword [rax + 0x3c]
movzx edx, bx
mov r11d, dword [rax + r10 + 0x88]
add r11, r10
mov ebp, dword [r11 + 0x1c]
mov esi, dword [r11 + 0x20]
add rbp, r10
mov r15d, dword [r11 + 0x24]
add rsi, r10
add r15, r10
cmp dword [r11 + 0x18], ebx
jbe 0x14002dd03
xor edi, 0x41424344
lea r12d, [rbx + 1]
movzx ecx, dx
movzx eax, word [r15 + rcx*2]
mov r9d, dword [rsi + rcx*4]
mov r8d, dword [rbp + rax*4]
mov eax, 0x1505
add r8, r10
add r9, r10
jmp 0x14002db72
imul eax, eax, 0x21
add r9, r12
add eax, ecx
movzx ecx, byte [r9]
test ecx, ecx
jne 0x14002db6a
cmp eax, edi
je 0x14002db8b
add dx, r12w
movzx eax, dx
cmp eax, dword [r11 + 0x18]
jb 0x14002db4c
test r8, r8
je 0x14002dd03
movzx ecx, bx
movzx eax, cx
cmp byte [rax + r8], 0xe9
je 0x14002dbfd
cmp byte [rax + r8], 0xc3
je 0x14002dd03
cmp byte [rax + r8], 0x4c
jne 0x14002dbd9
cmp byte [rax + r8 + 1], 0x8b
jne 0x14002dbd9
cmp byte [rax + r8 + 2], 0xd1
jne 0x14002dbd9
cmp byte [rax + r8 + 3], 0xb8
jne 0x14002dbd9
cmp byte [rax + r8 + 6], bl
jne 0x14002dbd9
cmp byte [rax + r8 + 7], bl
je 0x14002dbe9
add cx, r12w
cmp cx, 0x20
jae 0x14002dd03
jmp 0x14002db97
movzx edx, byte [rax + r8 + 5]
movzx eax, byte [rax + r8 + 4]
shl edx, 8
jmp 0x14002dcc5
mov r11d, dword [r11 + 0x14]
movzx edi, r12w
cmp r11d, r12d
jb 0x14002dd03
lea eax, [r11 - 1]
mov edx, r12d
movzx eax, word [r15 + rax*2]
mov esi, dword [rbp + rax*4]
add rsi, r10
mov eax, edx
shl eax, 5
mov r9d, eax
add rax, r8
cmp rax, rsi
jae 0x14002dc52
cmp byte [rax], 0x4c
jne 0x14002dc52
cmp byte [rax + 1], 0x8b
jne 0x14002dc52
cmp byte [rax + 2], 0xd1
jne 0x14002dc52
cmp byte [rax + 3], 0xb8
jne 0x14002dc52
cmp byte [rax + 6], bl
jne 0x14002dc52
cmp byte [rax + 7], bl
je 0x14002dc9d
movzx eax, word [r15]
neg edx
shl edx, 5
movsxd r9, edx
mov ecx, dword [rbp + rax*4]
add rcx, r10
lea rdx, [r9 + r8]
cmp rdx, rcx
jbe 0x14002dc8f
cmp byte [rdx], 0x4c
jne 0x14002dc8f
cmp byte [rdx + 1], 0x8b
jne 0x14002dc8f
cmp byte [rdx + 2], 0xd1
jne 0x14002dc8f
cmp byte [rdx + 3], 0xb8
jne 0x14002dc8f
cmp byte [rdx + 6], bl
jne 0x14002dc8f
cmp byte [rdx + 7], bl
je 0x14002dcac
add di, r12w
movzx edx, di
cmp edx, r11d
ja 0x14002dd03
jmp 0x14002dc21
lea rcx, [r9 + r8]
movzx eax, di
movzx edx, byte [rcx + 4]
sub edx, eax
jmp 0x14002dcb9
lea rcx, [r9 + r8]
movzx eax, di
movzx edx, byte [rcx + 4]
add edx, eax
movzx eax, byte [r9 + r8 + 5]
mov r8, rcx
shl eax, 8
or edx, eax
test edx, edx
je 0x14002dd03
movzx r9d, bx
movzx ecx, r9w
add rcx, r8
cmp byte [rcx], 0xf
jne 0x14002dce7
cmp byte [rcx + 1], 5
jne 0x14002dce7
cmp byte [rcx + 2], 0xc3
je 0x14002dcf4
add r9w, r12w
cmp r9w, 0x20
jae 0x14002dd03
jmp 0x14002dccf
test rcx, rcx
je 0x14002dd03
mov qword [r14 + 8], rcx
mov ebx, r12d
mov dword [r14], edx
mov rbp, qword [rsp + 0x48]
mov eax, ebx
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x58]
add rsp, 0x20
pop r15
pop r14
pop r12
ret