Function at 0x1402dd0b0
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
vmovups xmmword [rsp + 0x20], xmm6
mov r10, qword [rcx + 0x10]
lea rsi, [0x140381dc0]
mov rdi, qword [rcx + 8]
mov r15, qword [rsi + r10*8]
mov r12, rcx
mov r13, rdx
vmovq xmm6, r8
mov r14, r9
lea rbp, [rcx + 0x18]
cmp qword [rcx], r15
jae 0x1402dd1c0
movsx rdx, byte [r13]
test rdx, rdx
je 0x1402dd3b9
mov r11, r13
mov esi, 0x1505
nop word [rax + rax]
mov rax, rsi
inc r11
shl rax, 5
add rsi, rax
add rsi, rdx
movsx rdx, byte [r11]
test rdx, rdx
jne 0x1402dd110
mov rax, rsi
xor edx, edx
div r15
shl rdx, 4
add rdi, rdx
mov rbx, qword [rdi]
cmp rbp, rbx
jne 0x1402dd15e
jmp 0x1402dd330
cmp rbx, qword [rdi + 8]
je 0x1402dd340
mov rbx, qword [rbx + 8]
mov r10, qword [rbx - 8]
cmp rsi, r10
jne 0x1402dd150
lea rcx, [rbx + 0x20]
mov rdx, r13
call sym.strcmp
test eax, eax
jne 0x1402dd150
mov rcx, qword [rbx + 0x10]
test rcx, rcx
je 0x1402dd197
mov rax, qword [rcx + 8]
cmp rax, 0xffffffffffffffff
je 0x1402dd197
dec rax
mov qword [rcx + 8], rax
je 0x1402dd3ab
mov qword [rbx + 0x10], r14
xor eax, eax
vmovups xmm6, xmmword [rsp + 0x20]
add rsp, 0x38
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, rdi
call sym.jsonp_free
mov rax, qword [r12 + 0x10]
inc rax
mov rbx, qword [rsi + rax*8]
mov qword [r12 + 0x10], rax
mov rcx, rbx
shl rcx, 4
call sym.jsonp_malloc
mov rdi, rax
mov qword [r12 + 8], rax
test rax, rax
je 0x1402dd3f4
mov r10, qword [r12 + 0x10]
vpbroadcastq xmm1, rbp
mov r15, qword [rsi + r10*8]
test r15, r15
je 0x1402dd29a
lea rax, [r15 - 1]
cmp rax, 2
jbe 0x1402dd3ed
mov rdx, r15
vpbroadcastq zmm2, rbp
mov rax, rdi
shr rdx, 2
shl rdx, 6
add rdx, rdi
nop word cs:[rax + rax]
nop
vmovdqu64 zmmword [rax], zmm2
add rax, 0x40
cmp rax, rdx
jne 0x1402dd240
mov rax, r15
and rax, 0xfffffffffffffffc
test r15b, 3
je 0x1402dd320
mov rdx, r15
sub rdx, rax
cmp rdx, 1
je 0x1402dd28e
mov rcx, rax
vpbroadcastq ymm2, rbp
shl rcx, 4
vmovdqu ymmword [rdi + rcx], ymm2
test dl, 1
je 0x1402dd320
and rdx, 0xfffffffffffffffe
add rax, rdx
shl rax, 4
vmovdqu xmmword [rdi + rax], xmm1
vzeroupper
mov r8, qword [r12 + 0x20]
vmovdqu xmmword [r12 + 0x18], xmm1
cmp r8, rbp
jne 0x1402dd2d5
jmp 0x1402dd0f4
mov r9, qword [rax]
vmovq xmm3, r9
vpinsrq xmm1, xmm3, rax, 1
vmovdqu xmmword [rcx], xmm1
mov qword [r9 + 8], rcx
mov qword [rax], rcx
mov qword [rdx], rcx
cmp r8, rbp
je 0x1402dd0f4
mov rcx, r8
xor edx, edx
mov r8, qword [r8 + 8]
mov rax, qword [rcx - 8]
div rbx
shl rdx, 4
add rdx, rdi
mov rax, qword [rdx]
cmp rax, rbp
jne 0x1402dd2b0
cmp qword [rdx + 8], rbp
jne 0x1402dd2b0
mov rax, qword [r12 + 0x18]
vmovq xmm5, rax
vpinsrq xmm1, xmm5, rbp, 1
vmovdqu xmmword [rcx], xmm1
mov qword [rax + 8], rcx
mov qword [r12 + 0x18], rcx
mov qword [rdx + 8], rcx
jmp 0x1402dd2c9
vzeroupper
jmp 0x1402dd29a
cmp rbp, qword [rdi + 8]
jne 0x1402dd162
nop word [rax + rax]
mov rcx, r13
call sym.strlen
lea rcx, [rax + 0x29]
call sym.jsonp_malloc
mov rbx, rax
test rax, rax
je 0x1402dd3f4
mov rdx, r13
mov qword [rax], rsi
vmovq qword [rax + 0x20], xmm6
lea rcx, [rax + 0x28]
call sym.strcpy
lea rax, [rbx + 8]
mov qword [rbx + 0x18], r14
mov rdx, qword [rdi]
mov qword [rbx + 8], rax
cmp rdx, rbp
je 0x1402dd3c3
mov rcx, qword [rdx]
vmovq xmm4, rcx
vpinsrq xmm0, xmm4, rdx, 1
vmovdqu xmmword [rbx + 8], xmm0
mov qword [rcx + 8], rax
mov qword [rdx], rax
mov qword [rdi], rax
inc qword [r12]
jmp 0x1402dd19b
call sym.json_delete
mov qword [rbx + 0x10], r14
jmp 0x1402dd19b
mov esi, 0x1505
jmp 0x1402dd129
cmp qword [rdi + 8], rbp
jne 0x1402dd385
mov rdx, qword [r12 + 0x18]
vmovq xmm5, rdx
vpinsrq xmm0, xmm5, rbp, 1
vmovdqu xmmword [rbx + 8], xmm0
mov qword [rdx + 8], rax
mov qword [r12 + 0x18], rax
mov qword [rdi + 8], rax
jmp 0x1402dd39f
xor eax, eax
jmp 0x1402dd260
mov eax, 0xffffffff
jmp 0x1402dd19d