Function at 0x140031270
Capabilities:
Hash data using djb2

Disassembly:
push rbx
push rbp
push rdi
push r14
push r15
sub rsp, 0x260
mov rax, qword [0x1402376b8]
xor rax, rsp
mov qword [rsp + 0x250], rax
movzx eax, byte [rdx + 0x198]
xor r14d, r14d
imul rbx, rax, 0x748
cmp dword [0x1432aab84], r14d
mov rdi, rcx
mov dword [rsp + 0x40], r14d
jne 0x140031393
cmp dword [0x1432bf158], r14d
jne 0x140031393
cmp dword [0x1402382f4], r14d
je 0x140031393
lea r15, [0x140000000]
mov rax, 0xffffffffffffffff
lea rcx, [r15 + 0x32ab098]
add rcx, rbx
nop dword [rax]
inc rax
cmp byte [rcx + rax], r14b
jne 0x1400312f0
neg rax
mov qword [rsp + 0x28], rcx
lea r9, [r15 + 0x32aafd8]
mov edx, 0x200
sbb eax, eax
lea r8, [0x1402184b0]
and eax, 0x3a
lea rcx, [rsp + 0x50]
add r9, rbx
mov dword [rsp + 0x20], eax
call fcn.140029200
lea rax, [rsp + 0x40]
mov rcx, rdi
mov qword [rsp + 0x38], rax
lea rdx, [r15 + 0x32aad98]
mov dword [rsp + 0x30], r14d
lea r9, [0x1401c6ad0]
mov dword [rsp + 0x28], r14d
lea r8, [rsp + 0x50]
add rdx, rbx
mov dword [rsp + 0x20], r14d
call fcn.1400439e0
mov rbp, rax
test rax, rax
jne 0x1400313b4
cmp dword [rsp + 0x40], 0xffffffff
jne 0x1400316d1
cmp dword [0x1432bf3a8], r14d
mov dword [0x1402382f4], r14d
je 0x140031393
lea rdx, [0x1401c6b08]
lea ecx, [rax + 4]
call fcn.1400432a0
xor eax, eax
mov rcx, qword [rsp + 0x250]
xor rcx, rsp
call fcn.140189f20
add rsp, 0x260
pop r15
pop r14
pop rdi
pop rbp
pop rbx
ret
cmp dword [rax], r14d
jne 0x1400316b5
mov ebx, 0x1505
lea rax, [0x1401c5e6c]
mov r9d, ebx
mov ecx, 0x72
imul r9, r9, 0x21
lea rax, [rax + 1]
add r9, rcx
movsx rcx, byte [rax]
test rcx, rcx
jne 0x1400313d1
mov r10, qword [rbp + 0x20]
lea r8, [0x1401c5e6c]
xor edx, edx
lea rcx, [rbp + 0x10]
mov rax, r9
div qword [r15 + r10*8 + 0x1c5670]
shl rdx, 4
add rdx, qword [rbp + 0x18]
call fcn.14002a1c0
test rax, rax
je 0x1400316b5
mov rax, qword [rax + 0x18]
test rax, rax
je 0x1400316b5
cmp dword [rax], r14d
jne 0x1400316b5
mov qword [rsp + 0x2a0], rsi
mov r9, rbx
lea rsi, [rax + 0x10]
mov ecx, 0x64
lea rax, [0x1401c6b28]
nop dword [rax + rax]
imul r9, r9, 0x21
lea rax, [rax + 1]
add r9, rcx
movsx rcx, byte [rax]
test rcx, rcx
jne 0x140031450
mov rcx, qword [rsi + 0x10]
lea r8, [0x1401c6b28]
xor edx, edx
mov rax, r9
div qword [r15 + rcx*8 + 0x1c5670]
mov rcx, rsi
shl rdx, 4
add rdx, qword [rsi + 8]
call fcn.14002a1c0
test rax, rax
je 0x140031521
mov rax, qword [rax + 0x18]
test rax, rax
je 0x140031521
cmp dword [rax], r14d
jne 0x14003150f
lea r11, [rax + 0x10]
mov r9, rbx
lea rax, [0x1401c6b38]
mov ecx, 0x70
nop word [rax + rax]
imul r9, r9, 0x21
lea rax, [rax + 1]
add r9, rcx
movsx rcx, byte [rax]
test rcx, rcx
jne 0x1400314c0
mov r10, qword [r11 + 0x10]
lea r8, [0x1401c6b38]
xor edx, edx
mov rax, r9
mov rcx, r11
div qword [r15 + r10*8 + 0x1c5670]
shl rdx, 4
add rdx, qword [r11 + 8]
call fcn.14002a1c0
test rax, rax
jne 0x140031506
mov rax, r14
jmp 0x14003150a
mov rax, qword [rax + 0x18]
test rax, rax
je 0x140031521
cmp dword [rax], 4
jne 0x140031521
movsd xmm0, qword [rax + 0x10]
movsd qword [0x1432bf518], xmm0
mov edi, 0x6e
lea rax, [0x1401c6b48]
mov ecx, edi
mov r9, rbx
nop dword [rax]
nop word [rax + rax]
imul r9, r9, 0x21
lea rax, [rax + 1]
add r9, rcx
movsx rcx, byte [rax]
test rcx, rcx
jne 0x140031540
mov rcx, qword [rsi + 0x10]
lea r8, [0x1401c6b48]
xor edx, edx
mov rax, r9
div qword [r15 + rcx*8 + 0x1c5670]
mov rcx, rsi
shl rdx, 4
add rdx, qword [rsi + 8]
call fcn.14002a1c0
test rax, rax
je 0x14003159a
mov rax, qword [rax + 0x18]
test rax, rax
je 0x14003159a
cmp dword [rax], 3
jne 0x14003159a
mov rax, qword [rax + 0x10]
mov qword [0x1432bf410], rax
lea rax, [0x1401c6b58]
mov r9, rbx
nop dword [rax]
nop dword [rax + rax]
imul r9, r9, 0x21
lea rax, [rax + 1]
add r9, rdi
movsx rdi, byte [rax]
test rdi, rdi
jne 0x1400315b0
mov rcx, qword [rsi + 0x10]
lea r8, [0x1401c6b58]
xor edx, edx
mov rax, r9
div qword [r15 + rcx*8 + 0x1c5670]
mov rcx, rsi
shl rdx, 4
add rdx, qword [rsi + 8]
call fcn.14002a1c0
test rax, rax
je 0x140031642
mov rax, qword [rax + 0x18]
test rax, rax
je 0x140031642
cmp dword [rax], 4
jne 0x140031642
movsd xmm0, qword [rax + 0x10]
xor ecx, ecx
mulsd xmm0, qword [0x14021aac0]
movsd xmm1, qword [0x14021ab08]
comisd xmm0, xmm1
jb 0x140031633
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x140031633
movabs rax, 0x8000000000000000
mov rcx, rax
cvttsd2si rax, xmm0
add rax, rcx
mov qword [0x1432bf410], rax
lea rax, [0x1401c5eac]
mov ecx, 0x62
nop
imul rbx, rbx, 0x21
lea rax, [rax + 1]
add rbx, rcx
movsx rcx, byte [rax]
test rcx, rcx
jne 0x140031650
mov r10, qword [rsi + 0x10]
lea r8, [0x1401c5eac]
xor edx, edx
mov rax, rbx
mov r9, rbx
mov rcx, rsi
div qword [r15 + r10*8 + 0x1c5670]
shl rdx, 4
add rdx, qword [rsi + 8]
call fcn.14002a1c0
mov rsi, qword [rsp + 0x2a0]
test rax, rax
je 0x1400316b5
mov rax, qword [rax + 0x18]
test rax, rax
je 0x1400316b5
cmp dword [rax], 3
jne 0x1400316b5
mov rax, qword [rax + 0x10]
mov qword [0x1432aabf8], rax
mov rax, qword [rbp + 8]
cmp rax, 0xffffffffffffffff
je 0x1400316d1
sub rax, 1
mov qword [rbp + 8], rax
jne 0x1400316d1
mov rcx, rbp
call fcn.14002c610
mov eax, 1
jmp 0x140031395