Function at 0x1800e39c0
Capabilities:
Hash data using djb2

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rdx
push rbp
push rdi
push r14
lea rbp, [rax - 0x5f]
sub rsp, 0xe0
mov qword [rbp + 0x37], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x18], rsi
mov rdi, r8
mov rbx, rdx
mov rsi, rcx
xor r14d, r14d
mov dword [rbp - 0x59], r14d
lea rcx, [rbp - 0x49]
call fcn.1800a04b0
nop
mov r8, rbx
lea rdx, [rbp - 0x79]
lea rcx, [rbp - 0x49]
call fcn.1800a39b0
nop
mov r9d, 0x1505
lea rcx, [rbp - 0x79]
cmp qword [rbp - 0x61], 0x10
cmovae rcx, qword [rbp - 0x79]
lea rdx, [rbp - 0x79]
cmovae rdx, qword [rbp - 0x79]
mov rax, qword [rbp - 0x69]
add rax, rdx
mov r8, rax
sub r8, rcx
cmp rcx, rax
cmova r8, r14
test r8, r8
je 0x1800e3a68
mov rdx, rcx
neg rdx
nop dword [rax]
imul r9, r9, 0x21
movsx rax, byte [rcx]
add r9, rax
lea rcx, [rcx + 1]
lea rax, [rdx + rcx]
cmp rax, r8
jne 0x1800e3a50
mov rdx, rdi
shl rdx, 0x20
or rdx, rdi
xor rdx, r9
movabs rcx, 0x9ddfea08eb382d69
imul rdx, rcx
mov rax, rdx
shr rax, 0x2f
xor rdx, rax
xor rdx, r9
imul rdx, rcx
mov rax, rdx
shr rax, 0x2f
xor rdx, rax
imul rdx, rcx
mov rcx, rsi
call fcn.1800e3cd0
nop
mov rax, qword [rbp - 0x61]
cmp rax, 0x10
jb 0x1800e3b05
inc rax
mov rcx, qword [rbp - 0x79]
cmp rax, 0x1000
jb 0x1800e3b00
test cl, 0x1f
je 0x1800e3ad0
call qword [0x18019dbe8]
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x1800e3ae0
call qword [0x18019dbe8]
int3
sub rcx, rax
cmp rcx, 8
jae 0x1800e3af0
call qword [0x18019dbe8]
int3
cmp rcx, 0x27
jbe 0x1800e3afd
call qword [0x18019dbe8]
int3
mov rcx, rax
call fcn.18017ab90
mov qword [rbp - 0x61], 0xf
mov qword [rbp - 0x69], r14
mov byte [rbp - 0x79], 0
lea rax, vtable.std::wstring_convert_class_std::codecvt_utf8_wchar_t__1114111__0___wchar_t__class_std::allocator_wchar_t___class_std::allocator_char__.0
mov qword [rbp - 0x49], rax
movabs rdi, 0x7fffffffffffffff
mov rax, qword [rbp + 0xf]
cmp rax, 8
jb 0x1800e3b94
inc rax
mov rcx, qword [rbp - 9]
cmp rax, rdi
jbe 0x1800e3b47
call qword [0x18019dbe8]
int3
add rax, rax
cmp rax, 0x1000
jb 0x1800e3b8f
test byte [rbp - 9], 0x1f
je 0x1800e3b5f
call qword [0x18019dbe8]
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x1800e3b6f
call qword [0x18019dbe8]
int3
sub rcx, rax
cmp rcx, 8
jae 0x1800e3b7f
call qword [0x18019dbe8]
int3
cmp rcx, 0x27
jbe 0x1800e3b8c
call qword [0x18019dbe8]
int3
mov rcx, rax
call fcn.18017ab90
mov qword [rbp + 0xf], 7
mov qword [rbp + 7], r14
mov word [rbp - 9], r14w
mov rax, qword [rbp - 0x11]
cmp rax, 0x10
jb 0x1800e3bff
inc rax
mov rcx, qword [rbp - 0x29]
cmp rax, 0x1000
jb 0x1800e3bfa
test cl, 0x1f
je 0x1800e3bca
call qword [0x18019dbe8]
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x1800e3bda
call qword [0x18019dbe8]
int3
sub rcx, rax
cmp rcx, 8
jae 0x1800e3bea
call qword [0x18019dbe8]
int3
cmp rcx, 0x27
jbe 0x1800e3bf7
call qword [0x18019dbe8]
int3
mov rcx, rax
call fcn.18017ab90
mov qword [rbp - 0x11], 0xf
mov qword [rbp - 0x19], r14
mov byte [rbp - 0x29], 0
mov rcx, qword [rbp - 0x31]
test rcx, rcx
je 0x1800e3c32
mov rax, qword [rcx]
call qword [rax + 0x10]
test rax, rax
je 0x1800e3c32
mov r8, qword [rax]
mov edx, 1
mov rcx, rax
call qword [r8]
nop
mov rax, qword [rbx + 0x18]
cmp rax, 8
jb 0x1800e3c9a
inc rax
mov rcx, qword [rbx]
cmp rax, rdi
jbe 0x1800e3c4e
call qword [0x18019dbe8]
int3
add rax, rax
cmp rax, 0x1000
jb 0x1800e3c95
test cl, 0x1f
je 0x1800e3c65
call qword [0x18019dbe8]
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x1800e3c75
call qword [0x18019dbe8]
int3
sub rcx, rax
cmp rcx, 8
jae 0x1800e3c85
call qword [0x18019dbe8]
int3
cmp rcx, 0x27
jbe 0x1800e3c92
call qword [0x18019dbe8]
int3
mov rcx, rax
call fcn.18017ab90
mov qword [rbx + 0x18], 7
mov qword [rbx + 0x10], r14
cmp qword [rbx + 0x18], 8
jb 0x1800e3cb0
mov rbx, qword [rbx]
mov word [rbx], r14w
mov rax, rsi
lea r11, [rsp + 0xe0]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x30]
mov rsp, r11
pop r14
pop rdi
pop rbp
ret