Function at 0x14002b180
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 0x14002b1d8
movabs rax, 0xffffffffffffff0
and rax, 0xfffffffffffffff0
call fcn.14004c200
sub rsp, rax
xor edx, edx
lea rcx, [rsp + 0x20]
call fcn.14004e520
xor r12d, r12d
mov eax, r12d
mov qword [rbp + 0x60], rax
cmp qword [rbp + 0x570], rax
jbe 0x14002baf5
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 0x14002b2d5
cmp rsi, rdx
ja 0x14002bb6b
mov rcx, rsi
shl rcx, 4
cmp rcx, 0x1000
jb 0x14002b29f
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x14002bb65
mov rcx, rax
call fcn.14004ba64
test rax, rax
je 0x14002bb09
movzx r9d, byte [rbp]
lea r14, [rax + 0x27]
mov r8, qword [rbp + 0x578]
and r14, 0xffffffffffffffe0
mov qword [r14 - 8], rax
jmp 0x14002b2bd
test rcx, rcx
je 0x14002b2ba
call fcn.14004ba64
movzx r9d, byte [rbp]
mov r14, rax
mov r8, qword [rbp + 0x578]
jmp 0x14002b2bd
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 0x14002b2dd
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 0x14002b80d
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.14002aed0
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 0x14002b360
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 0x14002b729
test sil, sil
je 0x14002b4c9
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 0x14002b3cf
mov dword [rbx], edx
mov qword [rbx + 8], r15
add rbx, 0x10
jmp 0x14002b4c1
mov rax, rbx
mov r12, rbx
sub rax, r14
sub r12, r14
sar rax, 4
movabs r9, 0xfffffffffffffff
cmp rax, r9
je 0x14002bb6b
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 0x14002b41a
mov rsi, r9
jmp 0x14002b42a
mov rsi, rdx
shr rsi, 1
add rsi, rdx
cmp rsi, r8
cmovb rsi, r8
mov rdx, rsi
call fcn.14002caf0
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.14004dd10
test r14, r14
je 0x14002b492
sub rdi, r14
and rdi, 0xfffffffffffffff0
cmp rdi, 0x1000
jb 0x14002b487
mov rcx, qword [r14 - 8]
add rdi, 0x27
sub r14, rcx
lea rax, [r14 - 8]
cmp rax, 0x1f
ja 0x14002bb09
mov r14, rcx
mov rdx, rdi
mov rcx, r14
call fcn.14004ba4c
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 0x14002b4d0
movsxd rcx, dword [r13]
mov rdx, r15
add rcx, r13
cmp dword [r13], 0
cmove rcx, r12
call fcn.1400592c4
test eax, eax
jne 0x14002b6aa
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 0x14002b6b7
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 0x14002b567
mov rax, 0xffffffffffffffff
nop word [rax + rax]
inc rax
cmp byte [r15 + rax], 0
jne 0x14002b580
sub rsi, rax
cmp rbx, rdi
je 0x14002b5a9
mov dword [rbx], esi
mov qword [rbx + 8], rdx
add rbx, 0x10
mov qword [rbp + 0x20], rbx
mov qword [rbp + 8], r8
jmp 0x14002b6b3
mov rax, rbx
mov r12, rbx
sub rax, r14
sub r12, r14
sar rax, 4
movabs r9, 0xfffffffffffffff
cmp rax, r9
je 0x14002bb6b
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 0x14002b5f4
mov r15, r9
jmp 0x14002b604
mov r15, rdx
shr r15, 1
add r15, rdx
cmp r15, r8
cmovb r15, r8
mov rdx, r15
call fcn.14002caf0
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.14004dd10
test r14, r14
je 0x14002b66d
sub rdi, r14
and rdi, 0xfffffffffffffff0
cmp rdi, 0x1000
jb 0x14002b662
mov rcx, qword [r14 - 8]
add rdi, 0x27
sub r14, rcx
lea rax, [r14 - 8]
cmp rax, 0x1f
ja 0x14002bb09
mov r14, rcx
mov rdx, rdi
mov rcx, r14
call fcn.14004ba4c
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 0x14002b6ae
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 0x14002b330
test r9b, r9b
je 0x14002b80d
test dl, dl
jne 0x14002b80d
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.140013ae0
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.1400107f0
mov dword [rax], ebx
jmp 0x14002b7c8
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 0x14002b763
inc rcx
test eax, eax
jne 0x14002b750
test edx, edx
je 0x14002b791
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.140013ae0
mov rdx, qword [rbp + 0x560]
mov r8d, 1
mov rcx, qword [rbp + 0x558]
mov ebx, dword [r13 + 4]
call fcn.1400107f0
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.140013ae0
test r14, r14
je 0x14002b9d5
sub rdi, r14
and rdi, 0xfffffffffffffff0
cmp rdi, 0x1000
jb 0x14002b7fd
mov rcx, qword [r14 - 8]
add rdi, 0x27
sub r14, rcx
lea rax, [r14 - 8]
cmp rax, 0x1f
ja 0x14002bb09
mov r14, rcx
mov rdx, rdi
mov rcx, r14
call fcn.14004ba4c
jmp 0x14002b9d5
mov rdx, r15
lea rcx, [rbp + 0x70]
call fcn.140040600
lea rdx, [rbp + 0x70]
lea rcx, [rbp + 0x300]
call fcn.140040970
movzx edx, byte [rbp + 0x300]
lea r9, [rbp + 0x301]
mov r8d, 0x1505
test edx, edx
je 0x14002b870
nop dword [rax]
nop word [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 0x14002b850
mov rax, qword [rbp + 0x550]
test r8d, r8d
mov r15d, 1
cmovne r15d, r8d
cmp dword [rax + 8], 0
je 0x14002b98d
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 + 0x3c]
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 + 0x3c]
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 + 0x38]
lea rsi, [rdx + rax*8]
cmp rbx, rsi
je 0x14002b95c
cmp r15d, dword [rbx + 4]
jne 0x14002b91c
movsxd rcx, dword [rbx]
lea rdx, [rbp + 0x300]
add rcx, rbx
cmp dword [rbx], 0
cmove rcx, r9
call fcn.140059400
test eax, eax
je 0x14002b922
xor r9d, r9d
add rbx, 8
jmp 0x14002b8f1
mov rdx, qword [rbp + 0x560]
mov r8d, 1
mov rcx, qword [rbp + 0x558]
call fcn.1400107f0
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.140013ae0
mov al, 1
mov byte [rbp + 2], al
jmp 0x14002b960
movzx eax, byte [rbp + 2]
mov rcx, qword [rbp + 0x550]
inc r12d
add r13, 0xb0
mov r9d, 0
cmp r12d, dword [rcx + 8]
jne 0x14002b8a0
mov rdi, qword [rbp + 0x28]
mov r14, qword [rbp + 0x10]
test al, al
jne 0x14002b996
cmp byte [rbp + 0x580], 0
jne 0x14002b9f9
test r14, r14
je 0x14002b9d2
sub rdi, r14
and rdi, 0xfffffffffffffff0
cmp rdi, 0x1000
jb 0x14002b9c7
mov rcx, qword [r14 - 8]
add rdi, 0x27
sub r14, rcx
lea rax, [r14 - 8]
cmp rax, 0x1f
ja 0x14002bb09
mov r14, rcx
mov rdx, rdi
mov rcx, r14
call fcn.14004ba4c
xor r12d, r12d
mov rax, qword [rbp + 0x60]
inc rax
mov qword [rbp + 0x60], rax
cmp rax, qword [rbp + 0x570]
jae 0x14002baf5
mov rbx, qword [rbp + 0x568]
jmp 0x14002b207
lea rcx, [rbp + 0x70]
call fcn.14002c4e0
lea rdx, str.unable_to_map
lea rcx, [rbp + 0x80]
call fcn.14002cf80
mov rdx, qword [rbp + 0x40]
mov rcx, rax
call fcn.14002cf80
mov rcx, rax
lea rdx, str._to_any_named_node_or_input_output_file
call fcn.14002cf80
lea rcx, [rbp + 0x18]
call fcn.14002c760
test al, al
jne 0x14002bb47
lea rdx, [rbp + 0x550]
lea rcx, [rbp + 0x18]
call fcn.14002c770
lea rdx, [rbp + 0x570]
lea rcx, [rbp + 0x18]
mov r8, qword [rax]
call fcn.14002c780
mov rdx, r8
mov rcx, qword [rax]
call fcn.14002d1b0
lea rdx, str._nmaybe_you_meant:_n
lea rcx, [rbp + 0x80]
call fcn.14002cf80
lea rcx, [rbp + 0x18]
call fcn.14002c750
cmp rax, 1
je 0x14002bb0f
xor edi, edi
mov ebx, edi
nop word [rax + rax]
lea rdx, [0x14008b71c]
lea rcx, [rbp + 0x80]
call fcn.14002cf80
mov rdx, rbx
lea rcx, [rbp + 0x18]
mov r8, rax
call fcn.14002c740
mov rcx, r8
mov rdx, qword [rax + 8]
call fcn.14002cf80
mov rcx, rax
lea rdx, str._n_EWIDS
call fcn.14002cf80
inc edi
lea rcx, [rbp + 0x18]
movsxd rbx, edi
call fcn.14002c750
dec rax
cmp rbx, rax
jae 0x14002bb0f
jmp 0x14002baa0
lea rsp, [rbp + 0x508]
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.14005689c
int3
lea rdx, [0x14008b71c]
lea rcx, [rbp + 0x80]
call fcn.14002cf80
lea rcx, [rbp + 0x18]
mov r8, rax
call fcn.14002c750
lea rcx, [rbp + 0x18]
lea rdx, [rax - 1]
call fcn.14002c740
mov rcx, r8
mov rdx, qword [rax + 8]
call fcn.14002cf80
lea rdx, [rbp + 0x18]
lea rcx, [rbp + 0x70]
call fcn.14002c430
mov rcx, rax
call fcn.1400032d0
mov rcx, rax
call fcn.1400139e0
int3
call fcn.1400138d0
int3
call fcn.14002cad0
int3