Function at 0x10005c70
Capabilities:
Hash data using djb2

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
mov eax, dword [0x106499c8]
xor eax, ebp
mov dword [ebp - 4], eax
mov ecx, dword [ebp + 0x14]
push ebx
xor ebx, ebx
push esi
push edi
mov dword [ebp - 0x10], ebx
test ecx, ecx
je 0x103a2e26
mov eax, dword [ecx]
mov edi, dword [ecx + 0x10]
mov dword [ebp - 0xc], eax
mov esi, dword [ebp + 8]
mov eax, dword [esi + 8]
cmp dword [ebp + 0x10], eax
je 0x10005cf4
mov ebx, dword [ebp + 0x10]
lea ecx, [ebp - 0x10]
push ecx
push edi
lea eax, [ebx + 1]
push eax
push dword [ebp - 0xc]
lea eax, [esi + 0x18]
push eax
call sym.php5.dll_zend_hash_quick_find
add esp, 0x14
cmp eax, 0xffffffff
je 0x103a2f35
mov ebx, dword [ebp - 0x10]
test dword [ebx + 0xc], 0x100
je 0x10005d32
cmp dword [ebp + 0x14], 0
je 0x103a3126
mov eax, ebx
lea esp, [ebp - 0x20]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10311bec
leave
ret
cmp dword [esi + 0xa4], ebx
je 0x10005ca6
push eax
push dword [esi + 4]
call sym.php5.dll_zend_str_tolower_dup
push dword [ebp + 0x10]
mov dword [ebp - 0x14], eax
push dword [ebp - 0xc]
push eax
call sub.MSVCR110.dll_memcmp
add esp, 0x14
test eax, eax
je 0x103a2f0d
push dword [ebp - 0x14]
call sym.php5.dll__efree
pop ecx
test ebx, ebx
je 0x10005ca6
jmp 0x10005ccd
test dword [ebx + 0xc], 0x400
jne 0x10005d6a
test dword [ebx + 0xc], 0x200
je 0x10005cd6
mov eax, dword [ebx + 0x10]
test eax, eax
jne 0x10005d90
mov eax, dword [ebx + 8]
mov edi, dword [0x10669254]
push edi
push eax
call sym.php5.dll_zend_check_protected
pop ecx
pop ecx
test eax, eax
jne 0x10005cd6
jmp 0x103a3094
mov eax, dword [0x10669254]
mov dword [ebp - 0x10], ebx
test eax, eax
je 0x103a3058
cmp dword [ebx + 8], eax
jne 0x10005d95
mov ecx, ebx
test ecx, ecx
je 0x103a3058
mov ebx, ecx
jmp 0x10005cd6
mov eax, dword [eax + 8]
jmp 0x10005d4e
mov ecx, dword [eax + 0xc]
jmp 0x103a300e
mov esi, dword [ebp + 0x10]
lea eax, [esi + 1]
cmp eax, 0x8000
jle 0x103a2e45
push eax
mov byte [ebp - 5], 1
call sym.php5.dll__emalloc
mov edi, eax
pop ecx
mov dword [ebp - 0xc], edi
jmp 0x103a2e52
mov byte [ebp - 5], bl
call fcn.10312260
mov edi, esp
mov dword [ebp - 0xc], esp
push esi
push dword [ebp + 0xc]
push edi
call sym.php5.dll_zend_str_tolower_copy
lea edx, [esi + 1]
add esp, 0xc
mov ecx, edi
mov edi, 0x1505
cmp edx, 8
jb switch.0x103a2ec3
mov esi, edx
shr esi, 3
movsx eax, byte [ecx]
imul edi, edi, 0x21
add edi, eax
movsx eax, byte [ecx + 1]
imul edi, edi, 0x21
add edi, eax
movsx eax, byte [ecx + 2]
imul edi, edi, 0x21
add edi, eax
movsx eax, byte [ecx + 3]
imul edi, edi, 0x21
add edi, eax
movsx eax, byte [ecx + 4]
imul edi, edi, 0x21
add edi, eax
movsx eax, byte [ecx + 5]
imul edi, edi, 0x21
add edi, eax
movsx eax, byte [ecx + 6]
imul edi, edi, 0x21
add edi, eax
movsx eax, byte [ecx + 7]
imul edi, edi, 0x21
add edi, eax
add ecx, 8
sub edx, 8
dec esi
jne 0x103a2e73
jmp dword [edx*4 + 0x103a313e]
movsx eax, byte [ecx]
imul edi, edi, 0x21
add edi, eax
inc ecx
movsx eax, byte [ecx]
imul edi, edi, 0x21
add edi, eax
inc ecx
movsx eax, byte [ecx]
imul edi, edi, 0x21
add edi, eax
inc ecx
movsx eax, byte [ecx]
imul edi, edi, 0x21
add edi, eax
inc ecx
movsx eax, byte [ecx]
imul edi, edi, 0x21
add edi, eax
inc ecx
movsx eax, byte [ecx]
imul edi, edi, 0x21
add edi, eax
inc ecx
movsx eax, byte [ecx]
imul edi, edi, 0x21
add edi, eax
jmp 0x10005c9b
mov esi, dword [esi + 0xa4]
push 2
push 0x10620d98
push dword [esi + 4]
call sub.MSVCR110.dll_memcmp
add esp, 0xc
test eax, eax
cmovne ebx, esi
mov esi, dword [ebp + 8]
mov dword [ebp - 0x10], ebx
jmp 0x10005d1f
cmp dword [ebp + 0x14], 0
jne 0x103a2f4a
cmp byte [ebp - 5], 0
je 0x103a2f4a
push dword [ebp - 0xc]
call sym.php5.dll__efree
pop ecx
xor edi, edi
cmp dword [esi + 0xc0], edi
je 0x103a2fde
mov ecx, dword [0x1066925c]
test ecx, ecx
je 0x103a2fde
mov eax, dword [ecx + 4]
cmp dword [eax + 0x48], edi
je 0x103a2fde
push ecx
call sym.php5.dll_zend_get_class_entry
push edi
push esi
push eax
call sym.php5.dll_instanceof_function_ex
add esp, 0x10
test al, al
je 0x103a2fde
push 0x28
call sym.php5.dll__emalloc
mov edi, eax
pop ecx
mov byte [edi], 1
cmp byte [esi], 1
jne 0x103a2f99
mov eax, dword [esi + 0x128]
jmp 0x103a2f9b
xor eax, eax
mov dword [edi + 0x20], sym.php5.dll_zend_std_call_user_call
mov dword [edi + 0xc], 0x200000
jmp 0x103a2fbb
xor eax, eax
mov dword [edi + 0x20], sym.php5.dll_zend_std_callstatic_user_call
mov dword [edi + 0xc], 0x200101
and dword [edi + 0x1c], 0
mov dword [edi + 8], esi
and dword [edi + 0x14], 0
push ebx
push dword [ebp + 0xc]
mov dword [edi + 0x24], eax
call sym.php5.dll__estrndup
pop ecx
mov dword [edi + 4], eax
pop ecx
mov eax, edi
jmp 0x10005ce2
cmp dword [esi + 0xc4], edi
je 0x103a3000
push 0x28
call sym.php5.dll__emalloc
mov edi, eax
pop ecx
mov byte [edi], 1
cmp byte [esi], 1
jne 0x103a2fab
mov eax, dword [esi + 0x128]
jmp 0x103a2fad
xor eax, eax
jmp 0x10005ce2
cmp ecx, eax
je 0x103a3014
mov ecx, dword [ecx + 0xc]
test ecx, ecx
jne 0x103a3007
jmp 0x103a3051
mov eax, dword [ebp + 0x10]
lea edx, [ebp - 0x10]
push edx
inc eax
push edi
push eax
push dword [ebp - 0xc]
lea eax, [ecx + 0x18]
push eax
call sym.php5.dll_zend_hash_quick_find
add esp, 0x14
test eax, eax
jne 0x103a304c
mov ecx, dword [ebp - 0x10]
test dword [ecx + 0xc], 0x400
je 0x103a304c
mov eax, dword [0x10669254]
cmp dword [ecx + 8], eax
jne 0x103a3051
jmp 0x10005d81
mov eax, dword [0x10669254]
xor ecx, ecx
jmp 0x10005d81
xor edi, edi
cmp dword [esi + 0xc4], edi
je 0x103a3086
push 0x28
call sym.php5.dll__emalloc
mov ebx, eax
pop ecx
mov byte [ebx], 1
cmp byte [esi], 1
jne 0x103a307c
mov eax, dword [esi + 0x128]
jmp 0x103a307e
mov eax, edi
mov dword [ebx + 0x1c], edi
mov dword [ebx + 0x14], edi
jmp 0x103a30c1
mov ecx, 0x1053ac9c
test eax, eax
je 0x103a30f8
mov edx, dword [eax + 4]
jmp 0x103a30fa
cmp dword [esi + 0xc4], 0
je 0x103a30ea
push 0x28
call sym.php5.dll__emalloc
mov ebx, eax
pop ecx
mov byte [ebx], 1
cmp byte [esi], 1
jne 0x103a30b7
mov eax, dword [esi + 0x128]
jmp 0x103a30b9
xor eax, eax
and dword [ebx + 0x1c], 0
and dword [ebx + 0x14], 0
push dword [ebp + 0x10]
mov dword [ebx + 0x20], sym.php5.dll_zend_std_callstatic_user_call
push dword [ebp + 0xc]
mov dword [ebx + 0x24], eax
mov dword [ebx + 8], esi
mov dword [ebx + 0xc], 0x200101
call sym.php5.dll__estrndup
pop ecx
pop ecx
mov dword [ebx + 4], eax
jmp 0x10005cd6
mov ecx, 0x1053ac9c
test edi, edi
je 0x103a30f8
mov edx, dword [edi + 4]
jmp 0x103a30fa
mov edx, ecx
mov eax, dword [ebx + 8]
test eax, eax
je 0x103a3104
mov ecx, dword [eax + 4]
push edx
push dword [ebp + 0xc]
push ecx
mov ecx, dword [ebx + 0xc]
call fcn.1031d460
push eax
push str.Call_to__s_method__s::_s___from_context__s
push 1
call sym.php5.dll_zend_error
add esp, 0x18
jmp 0x10005cd6
cmp byte [ebp - 5], 0
je 0x10005ce0
push dword [ebp - 0xc]
call sym.php5.dll__efree
pop ecx
jmp 0x10005ce0