Function at 0x14002e2a0
Capabilities:
Hash data using djb2

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
mov r15, r8
mov rbp, rdx
mov r13, rcx
mov ebx, 0x1505
mov r10, qword [r8]
mov rcx, r10
movzx eax, word [r10]
test ax, ax
je 0x14002e2e7
imul rbx, rbx, 0x21
movzx eax, ax
add rbx, rax
lea rcx, [rcx + 2]
movzx eax, word [rcx]
test ax, ax
jne 0x14002e2d1
mov rax, rbx
and rax, qword [r13 + 0x30]
add rax, rax
mov rcx, qword [r13 + 0x18]
mov r8, qword [rcx + rax*8 + 8]
lea r12, [r13 + 8]
mov rsi, qword [r12]
lea r11, [0x140080468]
cmp r8, rsi
je 0x14002e361
mov r9, qword [rcx + rax*8]
mov rax, qword [r8 + 0x10]
mov rdx, r11
test rax, rax
cmovne rdx, rax
mov rax, r11
test r10, r10
cmovne rax, r10
sub rdx, rax
nop dword [rax]
movzx ecx, word [rax]
cmp cx, word [rax + rdx]
jne 0x14002e346
add rax, 2
test cx, cx
jne 0x14002e330
xor eax, eax
jmp 0x14002e34b
sbb eax, eax
or eax, 1
test eax, eax
je 0x14002e59e
cmp r8, r9
je 0x14002e35e
mov r8, qword [r8 + 8]
jmp 0x14002e312
mov rsi, r8
movabs rax, 0x7ffffffffffffff
cmp qword [r13 + 0x10], rax
jne 0x14002e37f
lea rcx, str.unordered_map_set_too_long
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_]
int3
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x38], 0
mov ecx, 0x20
call fcn.14003edd8
mov r14, rax
mov qword [rsp + 0x38], rax
lea rdi, [rax + 0x10]
mov qword [rsp + 0x20], rdi
xor ecx, ecx
mov qword [rdi], rcx
mov rax, qword [r15]
lea r9, [0x1400991d8]
test rax, rax
je 0x14002e3d8
mov rax, qword [rax - 0xc]
test rax, rax
je 0x14002e3d8
cmp r9, qword [rax]
jne 0x14002e3d8
mov qword [rdi], rcx
mov rax, qword [r15]
mov qword [rdi], rax
mov qword [r15], rcx
jmp 0x14002e3ea
mov rdx, r15
mov rcx, rdi
call fcn.140025c50
lea r9, [0x1400991d8]
lea rcx, [rdi + 8]
lea rdx, [r15 + 8]
xor r15d, r15d
mov qword [rcx], r15
mov rax, qword [rdx]
test rax, rax
je 0x14002e41c
mov r8, qword [rax - 0xc]
test r8, r8
je 0x14002e41c
cmp r9, qword [r8]
jne 0x14002e41c
mov qword [rcx], r15
mov rax, qword [rdx]
mov qword [rcx], rax
mov qword [rdx], r15
jmp 0x14002e422
call fcn.140025c50
nop
mov rdx, qword [r13 + 0x10]
lea rcx, [rdx + 1]
xorps xmm0, xmm0
test rcx, rcx
js 0x14002e439
cvtsi2ss xmm0, rcx
jmp 0x14002e44e
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
mov rcx, qword [r13 + 0x38]
xorps xmm1, xmm1
test rcx, rcx
js 0x14002e461
cvtsi2ss xmm1, rcx
jmp 0x14002e476
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm1, rax
addss xmm1, xmm1
divss xmm0, xmm1
comiss xmm0, dword [r13]
seta al
test al, al
je 0x14002e548
mov rcx, r13
call fcn.140031190
mov rax, rbx
and rax, qword [r13 + 0x30]
add rax, rax
mov rdx, qword [r13 + 0x18]
mov r8, qword [rdx + rax*8 + 8]
mov rcx, qword [r12]
cmp r8, rcx
jne 0x14002e4ba
mov qword [rsp + 0x20], rcx
mov qword [rsp + 0x28], r15
jmp 0x14002e534
mov r9, qword [rdx + rax*8]
mov r10, qword [rdi]
lea r11, [0x140080468]
nop dword [rax + rax]
mov rax, qword [r8 + 0x10]
mov rdx, r11
test rax, rax
cmovne rdx, rax
mov rax, r11
test r10, r10
cmovne rax, r10
sub rdx, rax
nop dword [rax + rax]
movzx ecx, word [rax]
cmp cx, word [rax + rdx]
jne 0x14002e507
add rax, 2
test cx, cx
jne 0x14002e4f0
mov eax, r15d
jmp 0x14002e50c
sbb eax, eax
or eax, 1
test eax, eax
je 0x14002e527
cmp r8, r9
je 0x14002e51b
mov r8, qword [r8 + 8]
jmp 0x14002e4d0
mov qword [rsp + 0x20], r8
mov qword [rsp + 0x28], r15
jmp 0x14002e534
mov rax, qword [r8]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], r8
movaps xmm0, xmmword [rsp + 0x20]
movdqa xmmword [rsp + 0x30], xmm0
mov rdx, qword [r13 + 0x10]
mov rsi, qword [rsp + 0x30]
mov rcx, qword [rsi + 8]
lea rax, [rdx + 1]
mov qword [r13 + 0x10], rax
mov qword [r14], rsi
mov qword [r14 + 8], rcx
mov qword [rcx], r14
mov qword [rsi + 8], r14
mov rax, qword [r13 + 0x18]
and rbx, qword [r13 + 0x30]
add rbx, rbx
mov rdx, qword [rax + rbx*8]
cmp rdx, qword [r12]
jne 0x14002e57d
mov qword [rax + rbx*8], r14
jmp 0x14002e58f
cmp rdx, rsi
jne 0x14002e588
mov qword [rax + rbx*8], r14
jmp 0x14002e594
cmp qword [rax + rbx*8 + 8], rcx
jne 0x14002e594
mov qword [rax + rbx*8 + 8], r14
mov qword [rbp], r14
mov byte [rbp + 8], 1
jmp 0x14002e5a6
mov qword [rbp], r8
mov byte [rbp + 8], 0
mov rax, rbp
mov rbx, qword [rsp + 0x98]
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret