Function at 0x140025ab0
Capabilities:
Hash data using djb2

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x50
mov rbx, r8
mov r15, rdx
mov rbp, rcx
mov edi, 0x1505
mov rdx, qword [r8]
movzx eax, word [rdx]
test ax, ax
je 0x140025af6
nop dword [rax + rax]
imul rdi, rdi, 0x21
movzx eax, ax
add rdi, rax
lea rdx, [rdx + 2]
movzx eax, word [rdx]
test ax, ax
jne 0x140025ae0
mov r9, rdi
lea rdx, [rsp + 0x30]
call fcn.14001fa80
mov rcx, qword [rsp + 0x38]
test rcx, rcx
je 0x140025b1a
mov qword [r15], rcx
mov byte [r15 + 8], 0
jmp 0x140025d62
movabs rax, 0x7ffffffffffffff
cmp qword [rbp + 0x10], rax
jne 0x140025b38
lea rcx, str.unordered_map_set_too_long
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_]
int3
lea r12, [rbp + 8]
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x48], 0
lfence
mov ecx, 0x20
call fcn.140067450
mov rsi, rax
mov qword [rsp + 0x48], rax
mov rdx, rbx
lea rcx, [rax + 0x10]
call fcn.14001e3b0
mov rcx, qword [rbx + 8]
mov qword [rsi + 0x18], rcx
mov r9, qword [rbp + 0x10]
lea rcx, [r9 + 1]
movss xmm3, dword [rbp]
xorps xmm0, xmm0
test rcx, rcx
js 0x140025b8f
cvtsi2ss xmm0, rcx
jmp 0x140025ba4
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
mov rbx, qword [rbp + 0x38]
xorps xmm2, xmm2
test rbx, rbx
js 0x140025bb7
cvtsi2ss xmm2, rbx
jmp 0x140025bcf
mov rcx, rbx
shr rcx, 1
mov rax, rbx
and eax, 1
or rcx, rax
cvtsi2ss xmm2, rcx
addss xmm2, xmm2
movaps xmm1, xmm0
divss xmm1, xmm2
comiss xmm1, xmm3
seta al
test al, al
je 0x140025d06
divss xmm0, xmm3
call sub.api_ms_win_crt_math_l1_1_0.dll_ceilf
xor ecx, ecx
movss xmm1, dword [0x1400772d8]
comiss xmm0, xmm1
jb 0x140025c12
subss xmm0, xmm1
comiss xmm0, xmm1
jae 0x140025c12
movabs rax, 0x8000000000000000
mov rcx, rax
cvttss2si rax, xmm0
add rax, rcx
mov ecx, 8
cmp rax, rcx
cmova rcx, rax
cmp rbx, rcx
jae 0x140025c44
cmp rbx, 0x200
jae 0x140025c41
lea rbx, [rbx*8]
cmp rbx, rcx
jae 0x140025c44
mov rbx, rcx
mov rdx, rbx
mov rcx, rbp
call fcn.14001ba10
mov rax, qword [rbp + 0x30]
and rax, rdi
add rax, rax
mov rdx, qword [rbp + 0x18]
mov r8, qword [rdx + rax*8 + 8]
mov rcx, qword [r12]
cmp r8, rcx
jne 0x140025c7e
mov qword [rsp + 0x20], rcx
mov qword [rsp + 0x28], 0
jmp 0x140025cf7
mov r9, qword [rdx + rax*8]
mov r10, qword [rsi + 0x10]
lea r11, [0x140074380]
nop dword [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 0x140025cc6
add rax, 2
test cx, cx
jne 0x140025cb0
xor eax, eax
jmp 0x140025ccb
sbb eax, eax
or eax, 1
test eax, eax
je 0x140025cea
cmp r8, r9
je 0x140025cda
mov r8, qword [r8 + 8]
jmp 0x140025c90
mov qword [rsp + 0x20], r8
mov qword [rsp + 0x28], 0
jmp 0x140025cf7
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 r9, qword [rbp + 0x10]
mov rdx, qword [rsp + 0x30]
mov r8, qword [rdx + 8]
lea rax, [r9 + 1]
mov qword [rbp + 0x10], rax
mov qword [rsi], rdx
mov qword [rsi + 8], r8
mov qword [r8], rsi
mov qword [rdx + 8], rsi
mov rcx, qword [rbp + 0x18]
mov rax, qword [rbp + 0x30]
and rax, rdi
add rax, rax
mov r9, qword [rcx + rax*8]
cmp r9, qword [r12]
jne 0x140025d43
mov qword [rcx + rax*8], rsi
jmp 0x140025d55
cmp r9, rdx
jne 0x140025d4e
mov qword [rcx + rax*8], rsi
jmp 0x140025d5a
cmp qword [rcx + rax*8 + 8], r8
jne 0x140025d5a
mov qword [rcx + rax*8 + 8], rsi
mov qword [r15], rsi
mov byte [r15 + 8], 1
mov rax, r15
add rsp, 0x50
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret