Function at 0x1400bf2e0
Capabilities:
Hash data using djb2

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x38
mov rbx, qword [r9]
mov qword [rsp + 0x88], rdx
mov r12, rcx
mov rdi, r8
mov qword [rsp + 0x98], r9
test r8, r8
je 0x1400bf6ef
mov rdx, qword [r8 + 0x18]
test rdx, rdx
jne 0x1400bf6ef
lea rax, [0x140163f70]
cmp qword [r8 + 8], rax
je 0x1400bf335
and dword [r8 + 0x20], 0xfffffffe
mov qword [r8 + 8], rax
movzx eax, byte [rbx]
cmp al, 0xa
je 0x1400bf478
test al, al
je 0x1400bf713
mov rbp, qword [0x14019f160]
xor r14d, r14d
movabs rsi, 0xdffffffeffffe9ff
nop dword [rax]
movsx edx, byte [rbx]
mov eax, edx
cmp dl, 0x20
je 0x1400bf4b0
cmp edx, 9
je 0x1400bf4b0
sub eax, 0xb
cmp al, 2
jbe 0x1400bf4b0
test r14, r14
je 0x1400bf5c8
mov rax, qword [rbp]
mov dword [r14 + 0x18], 0x1505
mov qword [r14 + 0x20], rax
movsx eax, byte [rbx]
cmp al, 0x2d
je 0x1400bf588
cmp al, 0x21
je 0x1400bf5a8
cmp al, 0x23
je 0x1400bf528
mov rcx, rbx
mov rbx, rcx
test al, al
je 0x1400bf528
cmp al, 0x3d
jbe 0x1400bf4ea
nop dword [rax]
lea edx, [rax - 0xb]
and edx, 0xfd
jne 0x1400bf4c0
cmp rcx, rbx
je 0x1400bf4fd
nop dword [rax + rax]
mov r8, rbx
mov rdx, rcx
sub r8, rcx
mov rcx, qword [rsp + 0x88]
call fcn.140104030
mov qword [r14 + 0x10], rax
test rax, rax
je 0x1400bf64c
cmp byte [rbx], 0x3d
je 0x1400bf5f0
test r12, r12
je 0x1400bf42f
mov rax, qword [rbp]
cmp qword [r14 + 0x20], rax
je 0x1400bf660
lea r8, [0x1401496a0]
mov rdx, r14
mov rcx, rdi
call fcn.140128510
test eax, eax
jns 0x1400bf44a
cmp eax, 0xfffffffc
jne 0x1400bf49e
xor r14d, r14d
movzx eax, byte [rbx]
test al, al
je 0x1400bf45c
cmp al, 0xa
jne 0x1400bf360
test r14, r14
jne 0x1400bf528
mov rdx, qword [rdi + 0x18]
cmp al, 0xd
je 0x1400bf478
cmp al, 0xa
jne 0x1400bf488
nop dword [rax]
movzx eax, byte [rbx + 1]
add rbx, 1
cmp al, 0xa
je 0x1400bf478
cmp al, 0xd
je 0x1400bf478
mov rax, qword [rsp + 0x98]
mov qword [rax], rbx
test rdx, rdx
je 0x1400bf726
xor eax, eax
add rsp, 0x38
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
add rbx, 1
jmp 0x1400bf360
mov r8d, dword [r14 + 0x18]
add rbx, 1
mov edx, r8d
shl edx, 5
add edx, r8d
add eax, edx
mov dword [r14 + 0x18], eax
movsx eax, byte [rbx]
test al, al
je 0x1400bf3df
cmp al, 0x3d
ja 0x1400bf3d0
bt rsi, rax
jb 0x1400bf3d0
cmp rcx, rbx
jne 0x1400bf3f0
movzx eax, byte [rbx]
test al, al
je 0x1400bf528
nop dword [rax]
lea edx, [rax - 9]
cmp dl, 4
jbe 0x1400bf44d
cmp al, 0x20
je 0x1400bf44d
movzx eax, byte [rbx + 1]
add rbx, 1
test al, al
jne 0x1400bf508
mov rax, qword [0x14019f130]
mov qword [r14 + 0x10], 0
mov rcx, r14
mov qword [r14 + 0x20], 0
call qword [rax + 0x10]
movzx eax, byte [rbx]
mov rdx, qword [rdi + 0x18]
cmp al, 0xa
je 0x1400bf469
test al, al
jne 0x1400bf568
jmp 0x1400bf469
cmp al, 0xa
je 0x1400bf469
movzx eax, byte [rbx + 1]
add rbx, 1
test al, al
jne 0x1400bf560
cmp al, 0xd
jne 0x1400bf46d
jmp 0x1400bf478
mov rax, qword [0x14019f150]
lea rcx, [rbx + 1]
mov rax, qword [rax]
mov qword [r14 + 0x20], rax
movsx eax, byte [rbx + 1]
jmp 0x1400bf3b9
mov rax, qword [0x14019f170]
lea rcx, [rbx + 1]
mov rax, qword [rax]
mov qword [r14 + 0x20], rax
movsx eax, byte [rbx + 1]
jmp 0x1400bf3b9
mov edx, 0x28
mov ecx, 1
call fcn.1400bc480
mov r14, rax
test rax, rax
je 0x1400bf64c
lock add dword [rax], 1
jmp 0x1400bf38b
movzx eax, byte [rbx + 1]
lea rcx, [rbx + 1]
mov rbx, rcx
test al, al
jne 0x1400bf618
jmp 0x1400bf41c
cmp al, 0x20
je 0x1400bf620
movzx eax, byte [rbx + 1]
add rbx, 1
test al, al
je 0x1400bf620
lea edx, [rax - 9]
cmp dl, 4
ja 0x1400bf608
cmp rcx, rbx
jae 0x1400bf41c
mov r8, rbx
mov rdx, rcx
sub r8, rcx
mov rcx, qword [rsp + 0x88]
call fcn.140104030
mov qword [r14 + 0x20], rax
test rax, rax
jne 0x1400bf41c
mov eax, 0xffffffff
jmp 0x1400bf49e
mov rdx, qword [r14 + 0x10]
mov rcx, r12
call fcn.1400c0020
mov r15, rax
test rax, rax
je 0x1400bf42f
xor eax, eax
xor r13d, r13d
cmp qword [r15 + 0x40], 0
jne 0x1400bf6a1
jmp 0x1400bf42f
lea eax, [r13 + 1]
mov r13, rax
cmp rax, qword [r15 + 0x40]
jae 0x1400bf42f
mov rdx, qword [r15 + 0x38]
mov rdx, qword [rdx + rax*8]
lock add dword [rdx], 1
lea r8, [0x1401496a0]
mov rcx, rdi
call fcn.140128510
test eax, eax
jns 0x1400bf690
cmp eax, 0xfffffffc
je 0x1400bf690
mov rdx, qword [0x14019f130]
mov dword [rsp + 0x2c], eax
mov rcx, r14
mov qword [r14 + 0x10], 0
mov qword [r14 + 0x20], 0
call qword [rdx + 0x10]
mov eax, dword [rsp + 0x2c]
jmp 0x1400bf49e
lea r9, str.assigns___assigns__length
lea r8, [0x140193b9d]
mov ecx, 3
lea rdx, [0x140193bae]
call fcn.1400da2e0
jmp 0x1400bf64c
cmp al, 0xa
je 0x1400bf478
mov rax, qword [rsp + 0x98]
mov qword [rax], rbx
mov eax, 0xfffffffd
jmp 0x1400bf49e