Function at 0x10002fd0
Capabilities:
Hash data using djb2

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push ecx
mov ecx, dword [ebp + 0x18]
push ebx
mov ebx, dword [ebp + 0xc]
push esi
push edi
mov edi, dword [ebp + 8]
test ecx, ecx
je 0x103a315e
mov eax, dword [0x10669244]
mov esi, dword [ecx + 0x14]
mov eax, dword [eax + 0x7c]
cmp dword [eax + esi*4], edi
jne 0x10003028
mov esi, dword [eax + esi*4 + 4]
mov dword [esp + 0xc], esi
test esi, esi
je 0x1000302c
mov ecx, dword [edi + 0x70]
test ecx, ecx
je 0x103a3233
mov eax, dword [esi + 0x10]
lea eax, [ecx + eax*4]
cmp dword [eax], 0
je 0x103a3233
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
xor esi, esi
jmp 0x10002fff
mov ecx, dword [ecx + 0x10]
mov eax, dword [ebp + 0x10]
lea edx, [esp + 0xc]
push edx
push ecx
inc eax
push eax
lea eax, [edi + 0x40]
push ebx
push eax
call sym.php5.dll_zend_hash_quick_find
add esp, 0x14
cmp eax, 0xffffffff
je 0x103a3233
mov esi, dword [esp + 0xc]
mov ecx, dword [esi]
mov eax, ecx
and eax, 0x700
cmp eax, 0x200
jne 0x100030bb
push dword [0x10669254]
push dword [esi + 0x1c]
call sym.php5.dll_zend_check_protected
pop ecx
pop ecx
mov ecx, dword [esi]
test eax, eax
je 0x103a3212
test cl, 1
je 0x103a3233
push edi
call sym.php5.dll_zend_update_class_constants
mov edx, dword [ebp + 0x18]
pop ecx
test edx, edx
je 0x10003007
mov eax, dword [0x10669244]
mov ecx, dword [edx + 0x14]
mov eax, dword [eax + 0x7c]
mov dword [eax + ecx*4], edi
mov eax, dword [0x10669244]
mov ecx, dword [edx + 0x14]
mov eax, dword [eax + 0x7c]
mov dword [eax + ecx*4 + 4], esi
jmp 0x10003007
cmp eax, 0x100
je 0x100030e1
cmp eax, 0x400
jne 0x103a3212
mov eax, dword [0x10669254]
cmp edi, eax
je 0x10003076
cmp dword [esi + 0x1c], eax
jne 0x103a3212
jmp 0x10003076
xor eax, eax
inc eax
jmp 0x10003076
mov esi, dword [ebp + 0x10]
inc esi
mov edx, ebx
mov ecx, 0x1505
cmp esi, 8
jb switch.0x103a31c8
mov eax, esi
shr eax, 3
mov edi, eax
movsx eax, byte [edx]
imul ecx, ecx, 0x21
add ecx, eax
movsx eax, byte [edx + 1]
imul ecx, ecx, 0x21
add ecx, eax
movsx eax, byte [edx + 2]
imul ecx, ecx, 0x21
add ecx, eax
movsx eax, byte [edx + 3]
imul ecx, ecx, 0x21
add ecx, eax
movsx eax, byte [edx + 4]
imul ecx, ecx, 0x21
add ecx, eax
movsx eax, byte [edx + 5]
imul ecx, ecx, 0x21
add ecx, eax
movsx eax, byte [edx + 6]
imul ecx, ecx, 0x21
add ecx, eax
movsx eax, byte [edx + 7]
imul ecx, ecx, 0x21
add ecx, eax
add edx, 8
sub esi, 8
dec edi
jne 0x103a3175
mov edi, dword [ebp + 8]
jmp dword [esi*4 + 0x103a3256]
movsx eax, byte [edx]
imul ecx, ecx, 0x21
add ecx, eax
inc edx
movsx eax, byte [edx]
imul ecx, ecx, 0x21
add ecx, eax
inc edx
movsx eax, byte [edx]
imul ecx, ecx, 0x21
add ecx, eax
inc edx
movsx eax, byte [edx]
imul ecx, ecx, 0x21
add ecx, eax
inc edx
movsx eax, byte [edx]
imul ecx, ecx, 0x21
add ecx, eax
inc edx
movsx eax, byte [edx]
imul ecx, ecx, 0x21
add ecx, eax
inc edx
movsx eax, byte [edx]
imul ecx, ecx, 0x21
add ecx, eax
jmp 0x1000302f
cmp byte [ebp + 0x14], 0
jne 0x103a324c
push ebx
push dword [edi + 4]
call fcn.1031d460
push eax
push str.Cannot_access__s_property__s::__s
push 1
call sym.php5.dll_zend_error
add esp, 0x14
jmp 0x103a324c
cmp byte [ebp + 0x14], 0
jne 0x103a324c
push ebx
push dword [edi + 4]
push str.Access_to_undeclared_static_property:__s::__s
push 1
call sym.php5.dll_zend_error
add esp, 0x10
xor eax, eax
jmp 0x10003021