Function at 0x140002660
Capabilities:
Hash data using djb2

Disassembly:
push rbx
sub rsp, 0x20
mov r11, rcx
test rcx, rcx
je 0x14000270f
mov r10d, 0x1505
lea r9, str.NtAddBootEntry
mov r8b, 0x4e
nop dword [rax]
nop word [rax + rax]
lea eax, [r8 - 0x20]
cmp r8b, 0x61
movzx edx, al
lea r9, [r9 + 1]
movzx eax, r8b
movzx r8d, byte [r9]
cmovb edx, eax
imul eax, r10d, 0x21
movzx ecx, dl
add ecx, eax
mov r10d, ecx
test r8b, r8b
jne 0x140002690
mov edx, ecx
mov rcx, r11
call fcn.140001ef0
xor ebx, ebx
mov r10, rax
test rax, rax
je 0x140002759
movzx edx, byte [rax]
mov r8d, ebx
cmp dl, 0xc3
je 0x14000270f
mov r9d, ebx
mov rcx, rax
cmp dl, 0x4c
jne 0x1400026fb
cmp byte [rcx + 1], 0x8b
jne 0x1400026fb
cmp byte [rcx + 2], 0xd1
jne 0x1400026fb
cmp byte [rcx + 3], 0xb8
je 0x140002717
inc r8d
movzx edx, byte [r8 + rax]
lea rcx, [r8 + rax]
mov r9d, r8d
cmp dl, 0xc3
jne 0x1400026e4
xor eax, eax
add rsp, 0x20
pop rbx
ret
mov ecx, ebx
lea rdx, [r9 + r10]
mov rax, rbx
mov r8d, 0x50f
cmp word [rdx + rax], r8w
je 0x140002740
inc ecx
inc rax
cmp rax, 0x1e
jl 0x140002726
xor eax, eax
add rsp, 0x20
pop rbx
ret
movsxd rdx, ecx
add rdx, r9
add rdx, r10
je 0x14000270f
mov rax, qword [0x140075400]
mov qword [rax + 0xf0], rdx
mov rax, qword [0x140075400]
mov r8, qword [rax + 0x30]
test r8, r8
je 0x1400027c6
lea r10, [rax + 0xfc]
mov edx, ebx
test r10, r10
je 0x1400027c6
movzx ecx, byte [r8]
cmp cl, 0xc3
je 0x1400027b4
mov r9, rbx
mov rax, r8
cmp cl, 0x4c
jne 0x1400027a1
cmp byte [rax + 1], 0x8b
jne 0x1400027a1
cmp byte [rax + 2], 0xd1
jne 0x1400027a1
cmp byte [rax + 3], 0xb8
je 0x140002b07
inc edx
movzx ecx, byte [rdx + r8]
lea rax, [rdx + r8]
mov r9d, edx
cmp cl, 0xc3
jne 0x140002786
mov rdx, r10
mov rcx, r8
call fcn.140002370
mov rax, qword [0x140075400]
mov r8, qword [rax + 0x38]
test r8, r8
je 0x140002830
lea r10, [rax + 0xfe]
mov edx, ebx
test r10, r10
je 0x140002830
movzx ecx, byte [r8]
cmp cl, 0xc3
je 0x14000281e
mov r9, rbx
mov rax, r8
nop dword [rax]
cmp cl, 0x4c
jne 0x14000280b
cmp byte [rax + 1], 0x8b
jne 0x14000280b
cmp byte [rax + 2], 0xd1
jne 0x14000280b
cmp byte [rax + 3], 0xb8
je 0x140002b23
inc edx
movzx ecx, byte [rdx + r8]
lea rax, [rdx + r8]
mov r9d, edx
cmp cl, 0xc3
jne 0x1400027f0
mov rdx, r10
mov rcx, r8
call fcn.140002370
mov rax, qword [0x140075400]
mov r8, qword [rax + 0x40]
test r8, r8
je 0x140002896
lea r10, [rax + 0x100]
mov edx, ebx
test r10, r10
je 0x140002896
movzx ecx, byte [r8]
cmp cl, 0xc3
je 0x140002884
mov r9, rbx
mov rax, r8
cmp cl, 0x4c
jne 0x140002871
cmp byte [rax + 1], 0x8b
jne 0x140002871
cmp byte [rax + 2], 0xd1
jne 0x140002871
cmp byte [rax + 3], 0xb8
je 0x140002b3f
inc edx
movzx ecx, byte [rdx + r8]
lea rax, [rdx + r8]
mov r9d, edx
cmp cl, 0xc3
jne 0x140002856
mov rdx, r10
mov rcx, r8
call fcn.140002370
mov rax, qword [0x140075400]
mov r8, qword [rax + 0x48]
test r8, r8
je 0x140002900
lea r10, [rax + 0x102]
mov edx, ebx
test r10, r10
je 0x140002900
movzx ecx, byte [r8]
cmp cl, 0xc3
je 0x1400028ee
mov r9, rbx
mov rax, r8
nop dword [rax]
cmp cl, 0x4c
jne 0x1400028db
cmp byte [rax + 1], 0x8b
jne 0x1400028db
cmp byte [rax + 2], 0xd1
jne 0x1400028db
cmp byte [rax + 3], 0xb8
je 0x140002b5b
inc edx
movzx ecx, byte [rdx + r8]
lea rax, [rdx + r8]
mov r9d, edx
cmp cl, 0xc3
jne 0x1400028c0
mov rdx, r10
mov rcx, r8
call fcn.140002370
mov rax, qword [0x140075400]
mov r8, qword [rax + 0x50]
test r8, r8
je 0x140002966
lea r10, [rax + 0x104]
mov edx, ebx
test r10, r10
je 0x140002966
movzx ecx, byte [r8]
cmp cl, 0xc3
je 0x140002954
mov r9, rbx
mov rax, r8
cmp cl, 0x4c
jne 0x140002941
cmp byte [rax + 1], 0x8b
jne 0x140002941
cmp byte [rax + 2], 0xd1
jne 0x140002941
cmp byte [rax + 3], 0xb8
je 0x140002b77
inc edx
movzx ecx, byte [rdx + r8]
lea rax, [rdx + r8]
mov r9d, edx
cmp cl, 0xc3
jne 0x140002926
mov rdx, r10
mov rcx, r8
call fcn.140002370
mov rax, qword [0x140075400]
mov r8, qword [rax + 0x58]
test r8, r8
je 0x1400029d0
lea r10, [rax + 0x106]
mov edx, ebx
test r10, r10
je 0x1400029d0
movzx ecx, byte [r8]
cmp cl, 0xc3
je 0x1400029be
mov r9, rbx
mov rax, r8
nop dword [rax]
cmp cl, 0x4c
jne 0x1400029ab
cmp byte [rax + 1], 0x8b
jne 0x1400029ab
cmp byte [rax + 2], 0xd1
jne 0x1400029ab
cmp byte [rax + 3], 0xb8
je 0x140002b93
inc edx
movzx ecx, byte [rdx + r8]
lea rax, [rdx + r8]
mov r9d, edx
cmp cl, 0xc3
jne 0x140002990
mov rdx, r10
mov rcx, r8
call fcn.140002370
mov rax, qword [0x140075400]
mov r8, qword [rax + 0x60]
test r8, r8
je 0x140002a36
lea r10, [rax + 0x108]
mov edx, ebx
test r10, r10
je 0x140002a36
movzx ecx, byte [r8]
cmp cl, 0xc3
je 0x140002a24
mov r9, rbx
mov rax, r8
cmp cl, 0x4c
jne 0x140002a11
cmp byte [rax + 1], 0x8b
jne 0x140002a11
cmp byte [rax + 2], 0xd1
jne 0x140002a11
cmp byte [rax + 3], 0xb8
je 0x140002baf
inc edx
movzx ecx, byte [rdx + r8]
lea rax, [rdx + r8]
mov r9d, edx
cmp cl, 0xc3
jne 0x1400029f6
mov rdx, r10
mov rcx, r8
call fcn.140002370
mov rax, qword [0x140075400]
mov r8, qword [rax + 0x68]
test r8, r8
je 0x140002aa0
lea r10, [rax + 0x10a]
mov edx, ebx
test r10, r10
je 0x140002aa0
movzx ecx, byte [r8]
cmp cl, 0xc3
je 0x140002a8e
mov r9, rbx
mov rax, r8
nop dword [rax]
cmp cl, 0x4c
jne 0x140002a7b
cmp byte [rax + 1], 0x8b
jne 0x140002a7b
cmp byte [rax + 2], 0xd1
jne 0x140002a7b
cmp byte [rax + 3], 0xb8
je 0x140002bcb
inc edx
movzx ecx, byte [rdx + r8]
lea rax, [rdx + r8]
mov r9d, edx
cmp cl, 0xc3
jne 0x140002a60
mov rdx, r10
mov rcx, r8
call fcn.140002370
mov rax, qword [0x140075400]
mov r8, qword [rax + 0x70]
test r8, r8
je 0x140002afc
lea r9, [rax + 0x10c]
test r9, r9
je 0x140002afc
movzx ecx, byte [r8]
cmp cl, 0xc3
je 0x140002af1
mov rdx, rbx
mov rax, r8
cmp cl, 0x4c
jne 0x140002adf
cmp byte [rax + 1], 0x8b
jne 0x140002adf
cmp byte [rax + 2], 0xd1
jne 0x140002adf
cmp byte [rax + 3], 0xb8
je 0x140002be7
inc ebx
movzx ecx, byte [rbx + r8]
lea rax, [rbx + r8]
mov edx, ebx
cmp cl, 0xc3
jne 0x140002ac4
mov rdx, r9
mov rcx, r8
call fcn.140002370
mov eax, 1
add rsp, 0x20
pop rbx
ret
movzx ecx, byte [r9 + r8 + 5]
movzx eax, byte [r9 + r8 + 4]
shl cx, 8
or cx, ax
mov word [r10], cx
jmp 0x1400027bf
movzx ecx, byte [r9 + r8 + 5]
movzx eax, byte [r9 + r8 + 4]
shl cx, 8
or cx, ax
mov word [r10], cx
jmp 0x140002829
movzx ecx, byte [r9 + r8 + 5]
movzx eax, byte [r9 + r8 + 4]
shl cx, 8
or cx, ax
mov word [r10], cx
jmp 0x14000288f
movzx ecx, byte [r9 + r8 + 5]
movzx eax, byte [r9 + r8 + 4]
shl cx, 8
or cx, ax
mov word [r10], cx
jmp 0x1400028f9
movzx ecx, byte [r9 + r8 + 5]
movzx eax, byte [r9 + r8 + 4]
shl cx, 8
or cx, ax
mov word [r10], cx
jmp 0x14000295f
movzx ecx, byte [r9 + r8 + 5]
movzx eax, byte [r9 + r8 + 4]
shl cx, 8
or cx, ax
mov word [r10], cx
jmp 0x1400029c9
movzx ecx, byte [r9 + r8 + 5]
movzx eax, byte [r9 + r8 + 4]
shl cx, 8
or cx, ax
mov word [r10], cx
jmp 0x140002a2f
movzx ecx, byte [r9 + r8 + 5]
movzx eax, byte [r9 + r8 + 4]
shl cx, 8
or cx, ax
mov word [r10], cx
jmp 0x140002a99
movzx eax, byte [rdx + r8 + 4]
movzx ecx, byte [rdx + r8 + 5]
shl cx, 8
or cx, ax
mov eax, 1
mov word [r9], cx
add rsp, 0x20
pop rbx
ret