Function at 0x10032cf0
Capabilities:
Hash data using djb2
Terminate process

Disassembly:
sub esp, 0xc
push ebx
mov ebx, dword [esp + 0x14]
push ebp
cmp dword [ebx + 4], 0
push esi
push edi
je 0x10032f78
mov ebp, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
mov eax, ebp
mov edi, ecx
mov esi, 0x1505
cmp ebp, 8
jb switch.0x10032da8
shr ebp, 3
mov ebx, eax
movsx eax, byte [edi]
mov ecx, esi
shl ecx, 5
add ecx, esi
add ecx, eax
movsx eax, byte [edi + 1]
mov edx, ecx
shl edx, 5
add edx, ecx
add edx, eax
movsx eax, byte [edi + 2]
mov ecx, edx
shl ecx, 5
add ecx, edx
add ecx, eax
movsx eax, byte [edi + 3]
mov edx, ecx
shl edx, 5
add edx, ecx
add edx, eax
movsx eax, byte [edi + 4]
mov ecx, edx
shl ecx, 5
add ecx, edx
add ecx, eax
movsx eax, byte [edi + 5]
mov edx, ecx
shl edx, 5
add edx, ecx
add edx, eax
movsx eax, byte [edi + 6]
mov ecx, edx
shl ecx, 5
add ecx, edx
add ecx, eax
movsx eax, byte [edi + 7]
mov esi, ecx
shl esi, 5
add esi, ecx
add esi, eax
add edi, 8
sub ebx, 8
dec ebp
jne 0x10032d24
mov ebp, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x14], ebx
mov ebx, dword [esp + 0x20]
mov eax, dword [esp + 0x14]
jmp dword [eax*4 + 0x10033254]
mov eax, esi
shl esi, 5
add esi, eax
movsx eax, byte [edi]
add esi, eax
inc edi
mov eax, esi
shl esi, 5
add esi, eax
movsx eax, byte [edi]
add esi, eax
inc edi
mov eax, esi
shl esi, 5
add esi, eax
movsx eax, byte [edi]
add esi, eax
inc edi
mov eax, esi
shl esi, 5
add esi, eax
movsx eax, byte [edi]
add esi, eax
inc edi
mov eax, esi
shl esi, 5
add esi, eax
movsx eax, byte [edi]
add esi, eax
inc edi
mov eax, esi
shl esi, 5
add esi, eax
movsx eax, byte [edi]
add esi, eax
mov eax, esi
and eax, dword [ebx + 4]
lea edx, [eax*4]
mov eax, dword [ebx + 0x1c]
mov dword [esp + 0x18], edx
mov edi, dword [edx + eax]
test edi, edi
jne 0x10032f00
cmp ecx, dword [0x106690c0]
jb 0x10032f28
cmp byte [ebx + 0x24], 0
lea eax, [ebp + 0x24]
push eax
jne 0x10033188
call sym.php5.dll__emalloc
add esp, 4
mov edi, eax
mov ecx, dword [esp + 0x24]
push ebp
lea eax, [edi + 0x24]
push ecx
push eax
mov dword [edi + 0x20], eax
call sub.MSVCR110.dll_memcpy
add esp, 0xc
mov dword [edi + 4], ebp
mov ebp, dword [esp + 0x30]
cmp ebp, 4
jne 0x10033125
mov eax, dword [esp + 0x2c]
lea ecx, [edi + 0xc]
mov eax, dword [eax]
mov dword [ecx], eax
mov dword [edi + 8], ecx
mov dword [edi], esi
mov eax, dword [ebx + 0x1c]
mov esi, dword [esp + 0x18]
mov eax, dword [esi + eax]
mov dword [edi + 0x18], eax
mov dword [edi + 0x1c], 0
test eax, eax
jne 0x10032f20
mov ecx, dword [esp + 0x34]
test ecx, ecx
jne 0x10032ff0
mov eax, dword [sym.php5.dll_zend_block_interruptions]
test eax, eax
jne 0x10033246
mov eax, dword [ebx + 0x18]
mov dword [edi + 0x14], eax
mov dword [edi + 0x10], 0
mov eax, dword [ebx + 0x18]
test eax, eax
je 0x10032f68
mov dword [eax + 0x10], edi
cmp dword [ebx + 0x10], 0
mov dword [ebx + 0x18], edi
je 0x10032f70
mov eax, dword [ebx + 0x1c]
mov dword [esi + eax], edi
mov eax, dword [sym.php5.dll_zend_unblock_interruptions]
test eax, eax
jne 0x1003324d
inc dword [ebx + 8]
mov eax, dword [ebx + 8]
cmp eax, dword [ebx]
ja 0x1003310d
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xc
ret
mov edx, dword [edi + 0x20]
cmp edx, ecx
je 0x100330a3
cmp dword [edi], esi
je 0x10032ffa
mov edi, dword [edi + 0x18]
test edi, edi
je 0x10032e1a
jmp 0x10032f00
mov dword [eax + 0x1c], edi
jmp 0x10032e8f
cmp ecx, dword [0x106690bc]
jb 0x10032e26
cmp byte [ebx + 0x24], 0
push 0x24
jne 0x100331ec
call sym.php5.dll__emalloc
add esp, 4
mov edi, eax
mov ecx, dword [esp + 0x24]
mov dword [edi + 0x20], ecx
jmp 0x10032e53
mov eax, esi
shl esi, 5
add esi, eax
movsx eax, byte [edi]
add esi, eax
inc edi
jmp case.0x10032da8.6
mov dword [ebx + 0x14], edi
jmp 0x10032ec3
mov dword [ebx + 0x10], edi
jmp 0x10032ed0
cmp byte [ebx + 0x24], 0
jne 0x100331bd
mov eax, dword [sym.php5.dll_zend_block_interruptions]
mov edi, dword [ebx]
test eax, eax
jne 0x1003321c
xor eax, eax
mov ecx, edi
shld eax, ecx, 2
shl ecx, 2
test eax, eax
jne 0x10397a47
cmp ecx, 0xffffffff
ja 0x10397a47
push ecx
call sym.php5.dll__emalloc
mov esi, eax
add esp, 4
test esi, esi
je 0x10397a62
lea eax, [edi*4]
push eax
push 0
push esi
call sub.MSVCR110.dll_memset
mov eax, dword [sym.php5.dll_zend_unblock_interruptions]
add esp, 0xc
test eax, eax
jne 0x10033223
mov edi, esi
mov eax, dword [ebx]
dec eax
mov dword [ebx + 0x1c], edi
mov dword [ebx + 4], eax
jmp 0x10032d05
mov eax, dword [edi + 8]
mov dword [ecx], eax
jmp 0x10032e9b
cmp dword [edi + 4], ebp
jne 0x10032f13
mov eax, ebp
sub eax, 4
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], eax
jb 0x10033035
mov ebx, dword [esp + 0x10]
mov eax, dword [edx]
cmp eax, dword [ebx]
mov ebx, dword [esp + 0x20]
jne 0x1003303a
mov eax, dword [esp + 0x14]
add dword [esp + 0x10], 4
add edx, 4
sub eax, 4
mov dword [esp + 0x14], eax
jae 0x10033012
cmp eax, 0xfffffffc
je 0x10033099
mov ecx, dword [esp + 0x10]
mov al, byte [edx]
cmp al, byte [ecx]
mov ecx, dword [esp + 0x24]
jne 0x10033235
cmp dword [esp + 0x14], 0xfffffffd
je 0x10033099
mov ebp, dword [esp + 0x10]
mov al, byte [edx + 1]
cmp al, byte [ebp + 1]
mov ebp, dword [esp + 0x28]
jne 0x10033235
cmp dword [esp + 0x14], 0xfffffffe
je 0x10033099
mov ebx, dword [esp + 0x10]
mov al, byte [edx + 2]
cmp al, byte [ebx + 2]
mov ebx, dword [esp + 0x20]
jne 0x10033235
cmp dword [esp + 0x14], 0xffffffff
je 0x10033099
mov al, byte [edx + 3]
mov edx, dword [esp + 0x10]
cmp al, byte [edx + 3]
jne 0x10033235
xor eax, eax
test eax, eax
jne 0x10032f13
test byte [esp + 0x38], 2
jne 0x100331b2
mov eax, dword [sym.php5.dll_zend_block_interruptions]
test eax, eax
jne 0x1003323f
mov eax, dword [ebx + 0x20]
test eax, eax
je 0x100330ca
push dword [edi + 8]
call eax
add esp, 4
mov esi, dword [esp + 0x30]
mov eax, dword [edi + 8]
cmp esi, 4
jne 0x10033151
lea esi, [edi + 0xc]
cmp eax, esi
jne 0x10397a74
mov eax, dword [esp + 0x2c]
mov eax, dword [eax]
mov dword [esi], eax
mov dword [edi + 8], esi
mov ecx, dword [esp + 0x34]
test ecx, ecx
jne 0x1003311e
mov eax, dword [sym.php5.dll_zend_unblock_interruptions]
test eax, eax
je 0x10032ef1
call eax
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xc
ret
mov ecx, ebx
call fcn.100341c0
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xc
ret
mov eax, dword [edi + 8]
mov dword [ecx], eax
jmp 0x100330f4
cmp byte [ebx + 0x24], 0
push ebp
jne 0x100331a0
call sym.php5.dll__emalloc
add esp, 4
push ebp
push dword [esp + 0x30]
mov dword [edi + 8], eax
push eax
call sub.MSVCR110.dll_memcpy
add esp, 0xc
mov dword [edi + 0xc], 0
jmp 0x10032e71
lea ebp, [edi + 0xc]
cmp eax, ebp
je 0x10397a96
cmp byte [ebx + 0x24], 0
jne 0x10033204
push 0
push esi
push eax
call sym.php5.dll__erealloc
add esp, 0xc
push esi
push dword [esp + 0x30]
mov dword [edi + 8], eax
push eax
call sub.MSVCR110.dll_memcpy
add esp, 0xc
jmp 0x100330ec
call dword [sym.imp.MSVCR110.dll_malloc]
mov edi, eax
add esp, 4
test edi, edi
jne 0x10032e3e
jmp 0x10397aaa
call dword [sym.imp.MSVCR110.dll_malloc]
add esp, 4
test eax, eax
jne 0x10033134
jmp 0x10397aaa
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0xc
ret
mov esi, dword [ebx]
push 0
push 4
push esi
call sym.php5.dll__safe_malloc
lea ecx, [esi*4]
push ecx
mov edi, eax
push 0
push edi
call sub.MSVCR110.dll_memset
mov eax, dword [ebx]
add esp, 0x18
dec eax
mov dword [ebx + 0x1c], edi
mov dword [ebx + 4], eax
jmp 0x10032d05
call dword [sym.imp.MSVCR110.dll_malloc]
mov edi, eax
add esp, 4
test edi, edi
jne 0x10032f4a
jmp 0x10397aaa
push esi
push eax
call dword [sym.imp.MSVCR110.dll_realloc]
add esp, 8
test eax, eax
jne 0x10033172
jmp 0x10397aaa
call eax
jmp 0x10032f91
call eax
mov eax, dword [ebx]
mov edi, esi
dec eax
mov dword [ebx + 0x1c], edi
mov dword [ebx + 4], eax
jmp 0x10032d05
sbb eax, eax
or eax, 1
jmp 0x1003309b
call eax
jmp 0x100330bb
call eax
jmp 0x10032ea8
call eax
jmp 0x10032ee3
push 0
push 4
push edi
push str.Possible_integer_overflow_in_memory_allocation___zu___zu___zu_
push 1
call sym.php5.dll_zend_error
add esp, 0x14
xor ecx, ecx
jmp 0x10032fad
mov eax, dword [sym.php5.dll_zend_unblock_interruptions]
test eax, eax
je 0x10397a6d
call eax
xor edi, edi
jmp 0x10032fe2
cmp byte [ebx + 0x24], 0
push eax
je 0x10397a89
call dword [sym.imp.MSVCR110.dll_free]
add esp, 4
jmp 0x100330e1
call sym.php5.dll__efree
add esp, 4
jmp 0x100330e1
cmp byte [ebx + 0x24], 0
push esi
je 0x10397aca
call dword [sym.imp.MSVCR110.dll_malloc]
add esp, 4
test eax, eax
jne 0x10397ad2
push str.Out_of_memory_n
call dword [sym.imp.MSVCR110.dll___iob_func]
add eax, 0x40
push eax
call dword [sym.imp.MSVCR110.dll_fprintf]
add esp, 8
push 1
call dword [sym.imp.MSVCR110.dll_exit]
call sym.php5.dll__emalloc
add esp, 4
mov dword [ebp], 0
jmp 0x10033172