Function at 0x14002ca10
Capabilities:
Hash data using djb2

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x528
lea rbp, [rsp + 0x20]
mov eax, dword [rcx + 8]
mov rbx, r9
add eax, 0x1f
cdq
and edx, 0x1f
add eax, edx
sar eax, 5
movsxd r8, eax
shl r8, 2
lea rax, [r8 + 0xf]
cmp rax, r8
ja 0x14002ca68
movabs rax, 0xffffffffffffff0
and rax, 0xfffffffffffffff0
call fcn.14004e0f0
sub rsp, rax
xor edx, edx
lea rcx, [rsp + 0x20]
call fcn.140050400
xor r12d, r12d
mov eax, r12d
mov qword [rbp + 0x60], rax
cmp qword [rbp + 0x570], rax
jbe 0x14002d395
mov r8, qword [rbp + 0x578]
xor r9b, r9b
mov r15, qword [rbx + rax*8]
xorps xmm0, xmm0
movabs rdx, 0xfffffffffffffff
mov qword [rbp + 0x40], r15
mov byte [rbp + 2], 0
mov rdi, r12
movsxd rsi, dword [r8]
mov byte [rbp], r9b
mov byte [rbp + 1], r9b
mov qword [rbp + 8], r12
mov qword [rbp + 0x28], r12
movdqu xmmword [rbp + 0x18], xmm0
test rsi, rsi
je 0x14002cb65
cmp rsi, rdx
ja 0x14002d40b
mov rcx, rsi
shl rcx, 4
cmp rcx, 0x1000
jb 0x14002cb2f
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x14002d405
mov rcx, rax
call fcn.14004d944
test rax, rax
je 0x14002d3a9
movzx r9d, byte [rbp]
lea r14, [rax + 0x27]
mov r8, qword [rbp + 0x578]
and r14, 0xffffffffffffffe0
mov qword [r14 - 8], rax
jmp 0x14002cb4d
test rcx, rcx
je 0x14002cb4a
call fcn.14004d944
movzx r9d, byte [rbp]
mov r14, rax
mov r8, qword [rbp + 0x578]
jmp 0x14002cb4d
mov r14, r12
add rsi, rsi
mov qword [rbp + 0x18], r14
mov rbx, r14
mov qword [rbp + 0x20], rbx
lea rdi, [r14 + rsi*8]
mov qword [rbp + 0x28], rdi
jmp 0x14002cb6d
mov rbx, qword [rbp + 0x20]
mov r14, qword [rbp + 0x18]
movsxd r13, dword [r8 + 4]
lea rcx, [r8 + 4]
movsxd rdx, dword [r8 + 4]
add r13, rcx
mov eax, r12d
mov qword [rbp + 0x10], r14
sub eax, dword [rcx]
lea rcx, [r8 + 4]
neg eax
sbb rax, rax
add rdx, rcx
and r13, rax
mov eax, r12d
sub eax, dword [rcx]
neg eax
mov qword [rbp + 0x58], r13
sbb rax, rax
and rdx, rax
movsxd rax, dword [r8]
lea rax, [rdx + rax*8]
mov qword [rbp + 0x68], rax
cmp r13, rax
je 0x14002d09d
mov dword [rbp + 0x48], 4
movsxd rcx, dword [r13]
mov rdx, r15
add rcx, r13
mov byte [rbp + 4], r9b
cmp dword [r13], 0
cmove rcx, r12
call fcn.14002c760
mov edx, eax
mov dword [rbp + 0x50], eax
mov rcx, 0xffffffffffffffff
nop dword [rax + rax]
cmp byte [r15 + rcx + 1], 0
lea rcx, [rcx + 1]
jne 0x14002cbf0
lea eax, [rcx - 2]
cmp eax, 4
mov dword [rbp + 0x38], eax
lea rcx, [rbp + 0x48]
mov eax, r12d
lea r8, [rbp + 0x38]
cmovle rcx, r8
cmp dword [rcx], 0
cmovg eax, dword [rcx]
cmp edx, eax
setle sil
mov byte [rbp + 3], sil
test edx, edx
je 0x14002cfb9
test sil, sil
je 0x14002cd59
movsxd r15, dword [r13]
mov eax, r12d
sub eax, dword [r13]
add r15, r13
neg eax
sbb rax, rax
and r15, rax
cmp rbx, rdi
je 0x14002cc5f
mov dword [rbx], edx
mov qword [rbx + 8], r15
add rbx, 0x10
jmp 0x14002cd51
mov rax, rbx
mov r12, rbx
sub rax, r14
sub r12, r14
sar rax, 4
movabs r9, 0xfffffffffffffff
cmp rax, r9
je 0x14002d40b
lea r8, [rax + 1]
mov rdx, rdi
sub rdx, r14
mov qword [rbp + 0x38], r8
sar rdx, 4
mov rax, r9
mov rcx, rdx
shr rcx, 1
sub rax, rcx
cmp rdx, rax
jbe 0x14002ccaa
mov rsi, r9
jmp 0x14002ccba
mov rsi, rdx
shr rsi, 1
add rsi, rdx
cmp rsi, r8
cmovb rsi, r8
mov rdx, rsi
call fcn.14002e390
mov r13, rax
and r12, 0xfffffffffffffff0
mov eax, dword [rbp + 0x50]
sub rbx, r14
mov r8, rbx
mov rdx, r14
mov rcx, r13
mov dword [r12 + r13], eax
mov qword [r12 + r13 + 8], r15
call fcn.14004fbf0
test r14, r14
je 0x14002cd22
sub rdi, r14
and rdi, 0xfffffffffffffff0
cmp rdi, 0x1000
jb 0x14002cd17
mov rcx, qword [r14 - 8]
add rdi, 0x27
sub r14, rcx
lea rax, [r14 - 8]
cmp rax, 0x1f
ja 0x14002d3a9
mov r14, rcx
mov rdx, rdi
mov rcx, r14
call fcn.14004d934
mov rbx, qword [rbp + 0x38]
mov rdi, rsi
movzx esi, byte [rbp + 3]
mov r14, r13
shl rbx, 4
shl rdi, 4
add rbx, r13
add rdi, r13
mov qword [rbp + 0x10], r13
mov qword [rbp + 0x18], r13
xor r12d, r12d
mov r13, qword [rbp + 0x58]
mov qword [rbp + 0x28], rdi
mov r15, qword [rbp + 0x40]
mov qword [rbp + 0x20], rbx
mov r8, 0xffffffffffffffff
inc r8
cmp byte [r15 + r8], 0
jne 0x14002cd60
movsxd rcx, dword [r13]
mov rdx, r15
add rcx, r13
cmp dword [r13], 0
cmove rcx, r12
call fcn.14005b034
test eax, eax
jne 0x14002cf3a
movzx ecx, byte [rbp]
mov r8, r13
test cl, cl
mov byte [rbp + 1], cl
mov eax, ecx
movzx edx, cl
mov ecx, 1
cmove eax, ecx
cmp byte [rbp + 4], 0
movzx r9d, al
mov byte [rbp], al
cmovne r8, qword [rbp + 8]
mov qword [rbp + 8], r8
test sil, sil
jne 0x14002cf47
movsxd rdx, dword [r13]
mov eax, r12d
sub eax, dword [r13]
add rdx, r13
movsxd rcx, dword [r13]
neg eax
mov rsi, 0xffffffffffffffff
sbb rax, rax
add rcx, r13
and rdx, rax
mov eax, r12d
sub eax, dword [r13]
neg eax
mov qword [rbp + 0x50], rdx
sbb rax, rax
and rcx, rax
inc rsi
cmp byte [rcx + rsi], 0
jne 0x14002cdf7
mov rax, 0xffffffffffffffff
nop word [rax + rax]
inc rax
cmp byte [r15 + rax], 0
jne 0x14002ce10
sub rsi, rax
cmp rbx, rdi
je 0x14002ce39
mov dword [rbx], esi
mov qword [rbx + 8], rdx
add rbx, 0x10
mov qword [rbp + 0x20], rbx
mov qword [rbp + 8], r8
jmp 0x14002cf43
mov rax, rbx
mov r12, rbx
sub rax, r14
sub r12, r14
sar rax, 4
movabs r9, 0xfffffffffffffff
cmp rax, r9
je 0x14002d40b
lea r8, [rax + 1]
mov rdx, rdi
sub rdx, r14
mov qword [rbp + 0x38], r8
sar rdx, 4
mov rax, r9
mov rcx, rdx
shr rcx, 1
sub rax, rcx
cmp rdx, rax
jbe 0x14002ce84
mov r15, r9
jmp 0x14002ce94
mov r15, rdx
shr r15, 1
add r15, rdx
cmp r15, r8
cmovb r15, r8
mov rdx, r15
call fcn.14002e390
mov r13, rax
and r12, 0xfffffffffffffff0
sub rbx, r14
mov rdx, r14
mov r8, rbx
mov rcx, r13
mov dword [r12 + rax], esi
mov rax, qword [rbp + 0x50]
mov qword [r12 + r13 + 8], rax
call fcn.14004fbf0
test r14, r14
je 0x14002cefd
sub rdi, r14
and rdi, 0xfffffffffffffff0
cmp rdi, 0x1000
jb 0x14002cef2
mov rcx, qword [r14 - 8]
add rdi, 0x27
sub r14, rcx
lea rax, [r14 - 8]
cmp rax, 0x1f
ja 0x14002d3a9
mov r14, rcx
mov rdx, rdi
mov rcx, r14
call fcn.14004d934
mov rbx, qword [rbp + 0x38]
mov rdi, r15
mov r8, qword [rbp + 8]
mov r14, r13
mov r15, qword [rbp + 0x40]
shl rbx, 4
add rbx, r13
shl rdi, 4
add rdi, r13
mov qword [rbp + 0x10], r13
mov qword [rbp + 0x18], r13
xor r12d, r12d
mov r13, qword [rbp + 0x58]
mov qword [rbp + 0x20], rbx
mov qword [rbp + 0x28], rdi
mov qword [rbp + 8], r8
jmp 0x14002cf3e
mov r8, qword [rbp + 8]
movzx r9d, byte [rbp]
movzx edx, byte [rbp + 1]
add r13, 8
mov qword [rbp + 0x58], r13
cmp r13, qword [rbp + 0x68]
jne 0x14002cbc0
test r9b, r9b
je 0x14002d09d
test dl, dl
jne 0x14002d09d
movsxd r9, dword [r8]
lea rdx, str.autocompleting__s_to__s
add r9, r8
mov eax, r12d
sub eax, dword [r8]
mov ecx, 2
neg eax
mov r8, r15
sbb rax, rax
and r9, rax
call fcn.140014f80
mov rax, qword [rbp + 8]
mov r8d, 1
mov rdx, qword [rbp + 0x560]
mov rcx, qword [rbp + 0x558]
mov ebx, dword [rax + 4]
call fcn.140011d20
mov dword [rax], ebx
jmp 0x14002d058
movsxd rcx, dword [r13]
mov eax, r12d
sub eax, dword [r13]
add rcx, r13
neg eax
mov r8, r15
sbb rax, rax
and rcx, rax
sub r8, rcx
nop word [rax + rax]
movzx edx, byte [rcx]
movzx eax, byte [rcx + r8]
sub edx, eax
jne 0x14002cff3
inc rcx
test eax, eax
jne 0x14002cfe0
test edx, edx
je 0x14002d021
movsxd r9, dword [r13]
lea rdx, str.found_case_insensitive_match_for__s__mapping_to__s
add r9, r13
mov eax, r12d
sub eax, dword [r13]
mov r8, r15
neg eax
mov ecx, 4
sbb rax, rax
and r9, rax
call fcn.140014f80
mov rdx, qword [rbp + 0x560]
mov r8d, 1
mov rcx, qword [rbp + 0x558]
mov ebx, dword [r13 + 4]
call fcn.140011d20
mov r8, r15
lea rdx, str.mapped__s_to_node__d
mov ecx, 8
mov dword [rax], ebx
mov r9d, dword [r13 + 4]
call fcn.140014f80
test r14, r14
je 0x14002d275
sub rdi, r14
and rdi, 0xfffffffffffffff0
cmp rdi, 0x1000
jb 0x14002d08d
mov rcx, qword [r14 - 8]
add rdi, 0x27
sub r14, rcx
lea rax, [r14 - 8]
cmp rax, 0x1f
ja 0x14002d3a9
mov r14, rcx
mov rdx, rdi
mov rcx, r14
call fcn.14004d934
jmp 0x14002d275
mov ebx, 1
lea rcx, [rbp + 0x70]
mov r8d, ebx
mov rdx, r15
call fcn.140041d60
movzx r9d, word [rbp + 0x76]
lea rdx, [rbp + 0x70]
dec r9d
lea rcx, [rbp + 0x300]
xor r8d, r8d
call fcn.140042120
movzx edx, byte [rbp + 0x300]
lea r9, [rbp + 0x301]
mov r8d, 0x1505
test edx, edx
je 0x14002d110
nop dword [rax]
nop dword [rax + rax]
lea eax, [rdx - 0x41]
cmp eax, 0x1a
lea ecx, [rdx + 0x20]
lea r9, [r9 + 1]
cmovb edx, ecx
imul r8d, r8d, 0x21
add r8d, edx
movzx edx, byte [r9 - 1]
test edx, edx
jne 0x14002d0f0
mov rax, qword [rbp + 0x550]
test r8d, r8d
mov r15d, ebx
cmovne r15d, r8d
cmp dword [rax + 8], 0
je 0x14002d22d
mov rdi, qword [rbp + 0x40]
lea r14, [rax + 0x10]
xor r9d, r9d
mov r13d, r9d
nop dword [rax]
movsxd r8, dword [r14]
lea rcx, [r13 + 0x44]
add r8, r14
mov eax, r9d
sub eax, dword [r14]
neg eax
sbb rax, rax
and r8, rax
mov eax, r9d
add rcx, r8
sub eax, dword [rcx]
movsxd rbx, dword [rcx]
add rbx, rcx
lea rcx, [r13 + 0x44]
neg eax
sbb rax, rax
add rcx, r8
and rbx, rax
mov eax, r9d
sub eax, dword [rcx]
movsxd rdx, dword [rcx]
add rdx, rcx
neg eax
sbb rax, rax
and rdx, rax
movsxd rax, dword [r8 + r13 + 0x40]
lea rsi, [rdx + rax*8]
cmp rbx, rsi
je 0x14002d1fc
cmp r15d, dword [rbx + 4]
jne 0x14002d1bc
movsxd rcx, dword [rbx]
lea rdx, [rbp + 0x300]
add rcx, rbx
cmp dword [rbx], 0
cmove rcx, r9
call fcn.14005b170
test eax, eax
je 0x14002d1c2
xor r9d, r9d
add rbx, 8
jmp 0x14002d191
mov rdx, qword [rbp + 0x560]
mov r8d, 1
mov rcx, qword [rbp + 0x558]
call fcn.140011d20
mov r9d, r12d
lea rdx, str.mapped__s_to_node__d__based_on_output_file_
mov r8, rdi
mov ecx, 8
mov dword [rax], r12d
call fcn.140014f80
mov al, 1
mov byte [rbp + 2], al
jmp 0x14002d200
movzx eax, byte [rbp + 2]
mov rcx, qword [rbp + 0x550]
inc r12d
add r13, 0xa8
mov r9d, 0
cmp r12d, dword [rcx + 8]
jne 0x14002d140
mov rdi, qword [rbp + 0x28]
mov r14, qword [rbp + 0x10]
test al, al
jne 0x14002d236
cmp byte [rbp + 0x580], 0
jne 0x14002d299
test r14, r14
je 0x14002d272
sub rdi, r14
and rdi, 0xfffffffffffffff0
cmp rdi, 0x1000
jb 0x14002d267
mov rcx, qword [r14 - 8]
add rdi, 0x27
sub r14, rcx
lea rax, [r14 - 8]
cmp rax, 0x1f
ja 0x14002d3a9
mov r14, rcx
mov rdx, rdi
mov rcx, r14
call fcn.14004d934
xor r12d, r12d
mov rax, qword [rbp + 0x60]
inc rax
mov qword [rbp + 0x60], rax
cmp rax, qword [rbp + 0x570]
jae 0x14002d395
mov rbx, qword [rbp + 0x568]
jmp 0x14002ca97
lea rcx, [rbp + 0x70]
call fcn.14002dd80
lea rdx, str.unable_to_map
lea rcx, [rbp + 0x80]
call fcn.14002e6b0
mov rdx, qword [rbp + 0x40]
mov rcx, rax
call fcn.14002e6b0
mov rcx, rax
lea rdx, str._to_any_named_node_or_input_output_file
call fcn.14002e6b0
lea rcx, [rbp + 0x18]
call fcn.14002e000
test al, al
jne 0x14002d3e7
lea rdx, [rbp + 0x550]
lea rcx, [rbp + 0x18]
call fcn.14002e010
lea rdx, [rbp + 0x570]
lea rcx, [rbp + 0x18]
mov r8, qword [rax]
call fcn.14002e020
mov rdx, r8
mov rcx, qword [rax]
call fcn.14002e8e0
lea rdx, str._nmaybe_you_meant:_n
lea rcx, [rbp + 0x80]
call fcn.14002e6b0
lea rcx, [rbp + 0x18]
call fcn.14002dff0
cmp rax, 1
je 0x14002d3af
xor edi, edi
mov ebx, edi
nop word [rax + rax]
lea rdx, [0x14008d68c]
lea rcx, [rbp + 0x80]
call fcn.14002e6b0
mov rdx, rbx
lea rcx, [rbp + 0x18]
mov r8, rax
call fcn.14002dfe0
mov rcx, r8
mov rdx, qword [rax + 8]
call fcn.14002e6b0
mov rcx, rax
lea rdx, str._n_EWIDS
call fcn.14002e6b0
inc edi
lea rcx, [rbp + 0x18]
movsxd rbx, edi
call fcn.14002dff0
dec rax
cmp rbx, rax
jae 0x14002d3af
jmp 0x14002d340
lea rsp, [rbp + 0x508]
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.140055668
int3
lea rdx, [0x14008d68c]
lea rcx, [rbp + 0x80]
call fcn.14002e6b0
lea rcx, [rbp + 0x18]
mov r8, rax
call fcn.14002dff0
lea rcx, [rbp + 0x18]
lea rdx, [rax - 1]
call fcn.14002dfe0
mov rcx, r8
mov rdx, qword [rax + 8]
call fcn.14002e6b0
lea rdx, [rbp + 0x18]
lea rcx, [rbp + 0x70]
call fcn.14002dcd0
mov rcx, rax
call fcn.140003450
mov rcx, rax
call fcn.140014e80
int3
call fcn.140001330
int3
call fcn.14002e370
int3