Function at 0x1400480b0
Capabilities:
Hash data using djb2

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbx
push rbp
push rsi
push rdi
push r13
push r15
sub rsp, 0x38
mov r15, r8
mov rdi, rdx
mov rbp, rcx
lock inc dword [0x14009bacc]
add rcx, 8
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
mov rdx, rdi
mov rcx, rbp
call fcn.140047e40
mov r13, qword [rsp + 0x98]
xor r9d, r9d
movsxd rbx, dword [rsp + 0xa0]
mov rcx, r13
mov qword [rsp + 0x70], rax
mov rsi, rax
lea rdx, [rbx*8]
add rdx, r13
mov r8, rdx
sub r8, r13
sar r8, 3
call fcn.1400496a0
test rsi, rsi
je 0x140048157
cmp qword [rsi + 0x10], r15
jne 0x140048157
cmp dword [rsi + 0x28], ebx
jne 0x140048157
mov rcx, qword [rsi + 0x30]
movsxd rdx, dword [rsi + 0x28]
lea r8, [rcx + rdx*8]
mov rdx, r13
sub r8, rcx
call fcn.140050840
test eax, eax
je 0x140048499
xor edi, edi
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x28], r14
mov r14d, dword [rbp + 0x24]
lea r9d, [rdi + 0x40]
test r14, r14
je 0x140048187
mov eax, dword [rbp + 0x20]
xor edx, edx
shl eax, 8
div r14
cmp rax, 0xc0
jl 0x140048270
mov r13, qword [rbp + 0x10]
mov eax, r14d
mov r15, qword [rbp + 0x28]
mov ecx, r14d
shr eax, 0x10
or ecx, eax
mov eax, ecx
shr eax, 8
or ecx, eax
mov eax, ecx
shr eax, 4
or ecx, eax
mov eax, ecx
shr eax, 2
or ecx, eax
mov r12d, ecx
shr r12d, 1
or r12d, ecx
inc r12d
cmp r12, r9
cmovb r12, r9
mov rbx, r12
shl rbx, 6
lea rcx, [rbx + 8]
call fcn.14005a7bc
mov qword [rax], rbx
lock add qword [r13], rbx
lea rbx, [rax + 8]
xor edx, edx
mov rcx, rbx
lea r8, [r12*8]
call fcn.140050400
mov r11, rdi
test r14, r14
je 0x140048238
nop dword [rax + rax]
mov r9, qword [r15 + r11*8]
test r9, r9
je 0x140048230
nop dword [rax]
mov r8, qword [r9 + 0x38]
lea edx, [r12 - 1]
and edx, dword [r9]
mov rcx, qword [rbx + rdx*8]
mov qword [r9 + 0x38], rcx
mov qword [rbx + rdx*8], r9
mov r9, r8
test r8, r8
jne 0x140048210
inc r11
cmp r11, r14
jb 0x140048200
mov dword [rbp + 0x24], r12d
mov qword [rbp + 0x28], rbx
test r15, r15
je 0x14004825a
mov rax, qword [r15 - 8]
lea rcx, [r15 - 8]
neg rax
lock add qword [r13], rax
call fcn.14005a480
mov r13, qword [rsp + 0x98]
mov r9d, 0x40
mov r15, qword [rsp + 0x80]
mov r14, qword [rsp + 0x78]
mov r12d, dword [rbp + 0x24]
dec r12d
and r12d, dword [r14]
cmp rsi, 0
jne 0x1400482de
mov rbx, qword [rbp + 0x18]
mov rax, qword [rbx + 8]
mov rcx, rax
mov r8, qword [rax + 0x18]
add r8, 7
and r8, 0xfffffffffffffff8
lea rax, [r8 + 0x40]
cmp rax, qword [rcx + 0x10]
jbe 0x1400482b4
mov rdx, r9
mov rcx, rbx
call fcn.14003cf60
mov r8, rdi
mov rax, qword [rbx + 8]
lea rcx, [r8 + 0x40]
mov rsi, qword [rax + 0x28]
mov qword [rax + 0x18], rcx
add rsi, r8
mov rax, qword [rbx + 8]
mov rdx, qword [rax + 0x20]
add rdx, qword [rax + 0x18]
mov qword [rbx + 0x10], rdx
movups xmm0, xmmword [r14]
movups xmmword [rsi], xmm0
mov qword [rsi + 0x10], r15
movsxd r15, dword [rsp + 0x90]
mov dword [rsi + 0x18], r15d
mov r14, r15
mov rbx, qword [rbp + 0x18]
shl r14, 4
mov rax, qword [rbx + 8]
mov rdx, qword [rax + 0x18]
add rdx, 7
and rdx, 0xfffffffffffffff8
lea rcx, [rdx + r14]
cmp rcx, qword [rax + 0x10]
jbe 0x140048321
mov rdx, r14
mov rcx, rbx
call fcn.14003cf60
mov rdx, rdi
mov rax, qword [rbx + 8]
lea rcx, [rdx + r14]
mov r8, qword [rax + 0x28]
mov qword [rax + 0x18], rcx
add r8, rdx
mov rax, qword [rbx + 8]
mov rdx, qword [rax + 0x20]
add rdx, qword [rax + 0x18]
mov qword [rbx + 0x10], rdx
mov qword [rsi + 0x20], r8
test r15, r15
jle 0x1400483ed
mov r13, qword [rsp + 0x88]
mov rbx, rdi
mov r14, rdi
nop
mov rdx, qword [r13 + rbx*8]
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [rdx + r8], dil
jne 0x140048370
mov rcx, qword [rbp + 0x18]
call fcn.140020f90
mov rcx, qword [rsi + 0x20]
mov r8d, 0x1505
mov qword [r14 + rcx], rax
mov r9, qword [r13 + rbx*8]
movzx eax, byte [r9]
inc r9
test eax, eax
je 0x1400483c0
lea ecx, [rax - 0x41]
cmp ecx, 0x1a
lea edx, [rax + 0x20]
lea r9, [r9 + 1]
cmovb eax, edx
imul r8d, r8d, 0x21
add r8d, eax
movzx eax, byte [r9 - 1]
test eax, eax
jne 0x1400483a0
mov rax, qword [rsi + 0x20]
test r8d, r8d
mov ecx, 1
cmovne ecx, r8d
inc rbx
mov dword [rax + r14 + 8], ecx
add r14, 0x10
cmp rbx, r15
jl 0x140048360
mov r13, qword [rsp + 0x98]
movsxd r15, dword [rsp + 0xa0]
mov dword [rsi + 0x28], r15d
mov rbx, qword [rbp + 0x18]
lea r14, [r15*8]
mov rax, qword [rbx + 8]
mov rdx, qword [rax + 0x18]
add rdx, 7
and rdx, 0xfffffffffffffff8
lea rcx, [rdx + r14]
cmp rcx, qword [rax + 0x10]
jbe 0x14004842d
mov rdx, r14
mov rcx, rbx
call fcn.14003cf60
mov rdx, rdi
mov rax, qword [rbx + 8]
lea rcx, [rdx + r14]
mov r14, qword [rsp + 0x28]
mov r8, qword [rax + 0x28]
mov qword [rax + 0x18], rcx
add r8, rdx
mov rax, qword [rbx + 8]
mov rdx, qword [rax + 0x20]
add rdx, qword [rax + 0x18]
mov qword [rbx + 0x10], rdx
mov qword [rsi + 0x30], r8
test r15d, r15d
jle 0x140048475
nop
mov rax, qword [r13 + rdi*8]
mov rcx, qword [rsi + 0x30]
mov qword [rcx + rdi*8], rax
inc rdi
cmp rdi, r15
jl 0x140048460
cmp qword [rsp + 0x70], 0
jne 0x140048494
mov rax, qword [rbp + 0x28]
mov rcx, qword [rax + r12*8]
mov qword [rsi + 0x38], rcx
mov rax, qword [rbp + 0x28]
mov qword [rax + r12*8], rsi
inc dword [rbp + 0x20]
mov r12, qword [rsp + 0x30]
lea rcx, [rbp + 8]
add rsp, 0x38
pop r15
pop r13
pop rdi
pop rsi
pop rbp
pop rbx
jmp qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]