Function at 0x14002e888
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.14002e804
mov r10, rax
test rax, rax
je 0x14002eaaf
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 0x14002eaaf
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 0x14002e91e
imul eax, eax, 0x21
add r9, r12
add eax, ecx
movzx ecx, byte [r9]
test ecx, ecx
jne 0x14002e916
cmp eax, edi
je 0x14002e937
add dx, r12w
movzx eax, dx
cmp eax, dword [r11 + 0x18]
jb 0x14002e8f8
test r8, r8
je 0x14002eaaf
movzx ecx, bx
movzx eax, cx
cmp byte [rax + r8], 0xe9
je 0x14002e9a9
cmp byte [rax + r8], 0xc3
je 0x14002eaaf
cmp byte [rax + r8], 0x4c
jne 0x14002e985
cmp byte [rax + r8 + 1], 0x8b
jne 0x14002e985
cmp byte [rax + r8 + 2], 0xd1
jne 0x14002e985
cmp byte [rax + r8 + 3], 0xb8
jne 0x14002e985
cmp byte [rax + r8 + 6], bl
jne 0x14002e985
cmp byte [rax + r8 + 7], bl
je 0x14002e995
add cx, r12w
cmp cx, 0x20
jae 0x14002eaaf
jmp 0x14002e943
movzx edx, byte [rax + r8 + 5]
movzx eax, byte [rax + r8 + 4]
shl edx, 8
jmp 0x14002ea71
mov r11d, dword [r11 + 0x14]
movzx edi, r12w
cmp r11d, r12d
jb 0x14002eaaf
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 0x14002e9fe
cmp byte [rax], 0x4c
jne 0x14002e9fe
cmp byte [rax + 1], 0x8b
jne 0x14002e9fe
cmp byte [rax + 2], 0xd1
jne 0x14002e9fe
cmp byte [rax + 3], 0xb8
jne 0x14002e9fe
cmp byte [rax + 6], bl
jne 0x14002e9fe
cmp byte [rax + 7], bl
je 0x14002ea49
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 0x14002ea3b
cmp byte [rdx], 0x4c
jne 0x14002ea3b
cmp byte [rdx + 1], 0x8b
jne 0x14002ea3b
cmp byte [rdx + 2], 0xd1
jne 0x14002ea3b
cmp byte [rdx + 3], 0xb8
jne 0x14002ea3b
cmp byte [rdx + 6], bl
jne 0x14002ea3b
cmp byte [rdx + 7], bl
je 0x14002ea58
add di, r12w
movzx edx, di
cmp edx, r11d
ja 0x14002eaaf
jmp 0x14002e9cd
lea rcx, [r9 + r8]
movzx eax, di
movzx edx, byte [rcx + 4]
sub edx, eax
jmp 0x14002ea65
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 0x14002eaaf
movzx r9d, bx
movzx ecx, r9w
add rcx, r8
cmp byte [rcx], 0xf
jne 0x14002ea93
cmp byte [rcx + 1], 5
jne 0x14002ea93
cmp byte [rcx + 2], 0xc3
je 0x14002eaa0
add r9w, r12w
cmp r9w, 0x20
jae 0x14002eaaf
jmp 0x14002ea7b
test rcx, rcx
je 0x14002eaaf
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