Function at 0x10049340
Capabilities:
Hash data using djb2

Disassembly:
sub esp, 0x3c
push ebx
push ebp
mov ebp, edx
push esi
cmp dword [ebp], 1
push edi
mov dword [esp + 0x1c], ebp
mov ebx, ecx
jne 0x1004940e
cmp byte [ebp + 0x14], 6
jne 0x10376fff
mov edi, dword [ebp + 0xc]
mov esi, dword [ebp + 8]
lea eax, [edi + 1]
push eax
call sym.php5.dll__emalloc
lea edx, [esi + edi]
add esp, 4
mov dword [esp + 0x24], eax
mov ecx, eax
cmp esi, edx
jae 0x10049397
movzx eax, byte [esi]
inc esi
mov al, byte [eax + 0x10545478]
mov byte [ecx], al
inc ecx
cmp esi, edx
jb 0x10049382
mov eax, dword [esp + 0x24]
mov byte [ecx], 0
cmp dword [ebp + 0xc], 0xb
je 0x100497ec
mov esi, dword [0x10660270]
mov edi, dword [esp + 0x24]
cmp dword [esi], 0
je 0x10377013
test edi, edi
je 0x1004940e
mov eax, dword [sym.php5.dll_zend_block_interruptions]
test eax, eax
jne 0x100499f7
mov edx, dword [edi - 8]
add edi, 0xfffffff8
and edx, 0xfffffffc
cmp edx, 0x110
jae 0x10377021
cmp dword [esi + 0x4c], 0x20000
jae 0x10377021
mov eax, edx
shr eax, 3
sub eax, 2
lea ecx, [esi + eax*4]
mov eax, dword [ecx + 0x50]
mov dword [edi + 8], eax
mov dword [ecx + 0x50], edi
add dword [esi + 0x4c], edx
mov eax, dword [sym.php5.dll_zend_unblock_interruptions]
test eax, eax
jne 0x100499fe
cmp dword [ebx], 1
jne 0x1004976f
mov eax, dword [ebx + 0xc]
mov esi, dword [ebx + 8]
cmp eax, 4
je 0x10049756
cmp eax, 6
je 0x100497be
mov ecx, ebx
call fcn.10049a30
movq xmm0, qword [ebx]
mov edi, dword [0x10668f98]
movq qword [esp + 0x28], xmm0
movq xmm0, qword [ebx + 8]
mov esi, dword [edi + 0x28]
movq qword [esp + 0x30], xmm0
movq xmm0, qword [ebx + 0x10]
movq qword [esp + 0x38], xmm0
movq xmm0, qword [ebx + 0x18]
lea eax, [esi + 1]
mov dword [edi + 0x28], eax
mov edx, dword [0x1066908c]
movq qword [esp + 0x40], xmm0
cmp esi, edx
jae 0x100499bf
mov eax, dword [edi + 0x24]
lea ecx, [esi*8]
sub ecx, esi
xorps xmm0, xmm0
lea ebx, [eax + ecx*4]
movq qword [ebx], xmm0
movq qword [ebx + 8], xmm0
movq qword [ebx + 0x10], xmm0
mov dword [ebx + 0x18], 0
mov eax, dword [0x10668f94]
mov dword [ebx + 0x14], eax
mov byte [ebx + 0x1b], 8
cmp dword [esp + 0x28], 1
mov byte [ebx + 0x18], 0x71
mov ecx, dword [0x106690a0]
mov dword [ebx + 0xc], ecx
jne 0x10049793
mov byte [ebx + 0x19], 1
mov ecx, dword [0x10668f98]
lea edx, [esp + 0x30]
call fcn.10049cb0
mov dword [ebx + 4], eax
cmp dword [ebp], 1
jne 0x100498be
mov byte [ebx + 0x1a], 1
mov edi, dword [0x10668f98]
add ebp, 8
mov esi, dword [edi + 0x78]
mov dword [esp + 0x24], esi
test esi, esi
jle 0x10049515
mov ecx, dword [edi + 0x74]
lea eax, [esi - 1]
lea eax, [eax + eax*2]
lea eax, [ecx + eax*8]
cmp eax, ebp
je 0x10377516
lea eax, [esi + 1]
mov dword [edi + 0x78], eax
mov ecx, dword [0x10669094]
cmp esi, ecx
jge 0x10049864
mov al, byte [ebp + 0xc]
cmp al, 6
jne 0x1037752e
mov eax, dword [ebp + 4]
push 1
inc eax
push eax
push dword [ebp]
call dword [sym.php5.dll_zend_new_interned_string]
add esp, 0xc
mov dword [ebp], eax
mov eax, dword [edi + 0x74]
movq xmm0, qword [ebp]
lea ecx, [esi + esi*2]
movq qword [eax + ecx*8], xmm0
movq xmm0, qword [ebp + 8]
movq qword [eax + ecx*8 + 8], xmm0
mov eax, dword [edi + 0x74]
mov dword [eax + ecx*8 + 8], 2
mov eax, dword [edi + 0x74]
mov byte [eax + ecx*8 + 0xd], 1
mov eax, dword [edi + 0x74]
mov dword [eax + ecx*8 + 0x10], 0
mov eax, dword [edi + 0x74]
mov dword [eax + ecx*8 + 0x14], 0xffffffff
mov esi, dword [ebp + 4]
mov edi, dword [ebp]
lea eax, [esi + 1]
push eax
call sym.php5.dll__emalloc
lea edx, [edi + esi]
add esp, 4
mov dword [esp + 0x20], eax
mov ecx, eax
cmp edi, edx
jae 0x100495c1
lea ecx, [ecx]
movzx eax, byte [edi]
inc edi
mov al, byte [eax + 0x10545478]
mov byte [ecx], al
inc ecx
cmp edi, edx
jb 0x100495b0
mov byte [ecx], 0
mov esi, dword [0x10668f98]
mov ebp, dword [ebp + 4]
mov edi, dword [esi + 0x78]
mov dword [esp + 0x2c], ebp
lea eax, [edi + 1]
mov dword [esi + 0x78], eax
mov ecx, dword [0x10669094]
mov byte [esp + 0x34], 6
cmp edi, ecx
jge 0x10049891
push 1
lea eax, [ebp + 1]
push eax
push dword [esp + 0x28]
call dword [sym.php5.dll_zend_new_interned_string]
mov dword [esp + 0x34], eax
mov eax, dword [esi + 0x74]
movq xmm0, qword [esp + 0x34]
lea ecx, [edi + edi*2]
shl ecx, 3
add esp, 0xc
movq qword [eax + ecx], xmm0
movq xmm0, qword [esp + 0x30]
movq qword [eax + ecx + 8], xmm0
mov eax, dword [esi + 0x74]
mov dword [eax + ecx + 8], 2
mov eax, dword [esi + 0x74]
mov byte [eax + ecx + 0xd], 1
mov eax, dword [esi + 0x74]
mov dword [ecx + eax + 0x10], 0
mov eax, dword [esi + 0x74]
mov dword [ecx + eax + 0x14], 0xffffffff
mov eax, dword [0x10668f98]
mov edi, dword [eax + 0x74]
add edi, ecx
mov dword [esp + 0x1c], edi
mov esi, dword [edi]
cmp esi, dword [0x106690c0]
jae 0x100498d9
cmp esi, dword [0x106690bc]
jb 0x100498d9
mov edx, dword [esi - 0x24]
mov eax, dword [esp + 0x24]
mov dword [edi + 0x10], edx
cmp byte [ebx + 0x19], 1
mov dword [ebx + 8], eax
lea edx, [eax + eax*2]
mov eax, dword [0x10668f98]
mov ecx, dword [eax + 0x74]
mov eax, dword [eax + 0x80]
mov dword [ecx + edx*8 + 0x14], eax
mov eax, dword [0x10668f98]
jne 0x100497a3
inc dword [eax + 0x80]
mov eax, dword [0x10668f98]
test byte [eax + 0xc], 0x10
jne 0x1037753b
mov eax, dword [0x10668f88]
xorps xmm0, xmm0
mov dword [esp + 0x28], 0
movq qword [esp + 0x2c], xmm0
cmp dword [0x10668f84], eax
jge 0x103775ec
push 0xc
call sym.php5.dll__emalloc
mov ecx, dword [0x10668f84]
mov edx, dword [0x10668f8c]
movq xmm0, qword [esp + 0x2c]
mov dword [edx + ecx*4], eax
mov ecx, dword [0x10668f84]
mov eax, dword [0x10668f8c]
add esp, 4
mov ecx, dword [eax + ecx*4]
mov eax, dword [esp + 0x30]
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
inc dword [0x10668f84]
mov eax, dword [0x106690a0]
mov ecx, dword [0x10668f98]
inc eax
mov dword [0x106690a0], eax
cmp eax, dword [ecx + 0x38]
ja 0x1004974b
test byte [0x1066904c], 1
jne 0x1037761a
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x3c
ret
mov dword [ecx + 0x38], eax
mov ecx, dword [0x10668f98]
jmp 0x10049731
push 4
push str.self
push esi
call dword [sym.imp.MSVCR110.dll__strnicmp]
add esp, 0xc
test eax, eax
jne 0x1004942f
mov edx, ebx
lea ecx, [esp + 0x28]
call fcn.100491d0
mov ecx, dword [0x10668f98]
call fcn.10009fe0
mov ecx, dword [esp + 0x40]
mov ebx, eax
mov dword [ebx + 0x10], ecx
jmp 0x100494b1
mov al, byte [esp + 0x28]
mov byte [ebx + 0x19], al
mov eax, dword [esp + 0x30]
jmp 0x100494dc
add dword [eax + 0x80], 2
mov eax, dword [0x10668f98]
test byte [eax + 0xc], 0x10
je 0x100496bb
jmp 0x1037757f
mov edi, dword [sym.imp.MSVCR110.dll__strnicmp]
push 6
push str.parent
push esi
call edi
add esp, 0xc
test eax, eax
je 0x1004976f
push 6
push 0x10546bac
push esi
call edi
add esp, 0xc
test eax, eax
jne 0x1004942f
jmp 0x1004976f
mov ecx, eax
mov edx, str.__construct
mov esi, 7
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x10049809
add ecx, 4
add edx, 4
sub esi, 4
jae 0x100497f8
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x100499ed
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x100499ed
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x100499ed
cmp esi, 0xffffffff
je 0x1004983c
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x100499ed
xor eax, eax
test eax, eax
jne 0x100493a4
cmp byte [ebp + 0x14], 3
lea eax, [ebp + 8]
jbe 0x10049858
push eax
call sym.php5.dll__zval_dtor_func
add esp, 4
mov dword [ebp], 8
jmp 0x100493a4
mov eax, esi
sub eax, ecx
and eax, 0xfffffff0
add eax, 0x10
add eax, ecx
mov dword [0x10669094], eax
lea eax, [eax + eax*2]
push 0
shl eax, 3
push eax
push dword [edi + 0x74]
call sym.php5.dll__erealloc
add esp, 0xc
mov dword [edi + 0x74], eax
jmp 0x10049529
mov eax, edi
sub eax, ecx
and eax, 0xfffffff0
add eax, 0x10
add eax, ecx
mov dword [0x10669094], eax
lea eax, [eax + eax*2]
push 0
shl eax, 3
push eax
push dword [esi + 0x74]
call sym.php5.dll__erealloc
add esp, 0xc
mov dword [esi + 0x74], eax
jmp 0x100495ed
mov al, byte [ebp]
mov byte [ebx + 0x1a], al
cmp dword [ebp], 1
je 0x103775d9
mov eax, dword [ebp + 8]
mov dword [ebx + 8], eax
jmp 0x100496bb
mov ebp, dword [edi + 4]
inc ebp
mov edx, 0x1505
cmp ebp, 8
jb switch.0x10049966
mov eax, ebp
shr eax, 3
mov edi, eax
movsx eax, byte [esi]
mov ecx, edx
shl ecx, 5
add ecx, edx
add ecx, eax
movsx eax, byte [esi + 1]
mov edx, ecx
shl edx, 5
add edx, ecx
add edx, eax
movsx eax, byte [esi + 2]
mov ecx, edx
shl ecx, 5
add ecx, edx
add ecx, eax
movsx eax, byte [esi + 3]
mov edx, ecx
shl edx, 5
add edx, ecx
add edx, eax
movsx eax, byte [esi + 4]
mov ecx, edx
shl ecx, 5
add ecx, edx
add ecx, eax
movsx eax, byte [esi + 5]
mov edx, ecx
shl edx, 5
add edx, ecx
add edx, eax
movsx eax, byte [esi + 6]
mov ecx, edx
shl ecx, 5
add ecx, edx
add ecx, eax
movsx eax, byte [esi + 7]
mov edx, ecx
shl edx, 5
add edx, ecx
add edx, eax
add esi, 8
sub ebp, 8
dec edi
jne 0x100498f2
mov edi, dword [esp + 0x1c]
jmp dword [ebp*4 + 0x10049a08]
mov eax, edx
shl edx, 5
add edx, eax
movsx eax, byte [esi]
add edx, eax
inc esi
mov eax, edx
shl edx, 5
add edx, eax
movsx eax, byte [esi]
add edx, eax
inc esi
mov eax, edx
shl edx, 5
add edx, eax
movsx eax, byte [esi]
add edx, eax
inc esi
mov eax, edx
shl edx, 5
add edx, eax
movsx eax, byte [esi]
add edx, eax
inc esi
mov eax, edx
shl edx, 5
add edx, eax
movsx eax, byte [esi]
add edx, eax
inc esi
mov eax, edx
shl edx, 5
add edx, eax
movsx eax, byte [esi]
add edx, eax
jmp 0x10049678
test byte [edi + 0xc], 0x10
jne 0x103774f9
shl edx, 2
mov ecx, edi
mov dword [0x1066908c], edx
call fcn.10052680
jmp 0x1004947e
mov eax, edx
shl edx, 5
add edx, eax
movsx eax, byte [esi]
add edx, eax
inc esi
jmp case.0x10049966.5
sbb eax, eax
or eax, 1
jmp 0x1004983e
call eax
jmp 0x100493c8
call eax
jmp 0x1004940e
push str.Method_name_must_be_a_string
push 0x40
call sym.php5.dll_zend_error
add esp, 8
jmp 0x10049363
mov eax, dword [esi + 8]
push edi
call eax
add esp, 4
jmp 0x1004940e
sub dword [esi + 0x34], edx
mov eax, dword [edx + edi]
lea ecx, [edx + edi]
mov dword [esp + 0x18], ecx
test al, 1
jne 0x1037723e
mov eax, dword [ecx + 8]
mov dword [esp + 0x14], eax
mov eax, dword [ecx + 0xc]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x14]
cmp eax, ecx
jne 0x103770fd
cmp dword [esp + 0x20], ecx
jne 0x1037708e
xor eax, eax
cmp dword [ecx + 0x18], eax
setne al
add eax, 5
lea eax, [ecx + eax*4]
mov dword [esp + 0x24], eax
mov eax, dword [eax]
mov dword [esp + 0x14], eax
test eax, eax
jne 0x103770c6
mov eax, dword [ecx]
mov dword [esp + 0x24], eax
bsr eax, dword [esp + 0x24]
mov ebp, dword [ecx + 0x10]
mov dword [esp + 0x20], eax
cmp dword [ebp], ecx
je 0x10377093
call fcn.10318a70
call fcn.10318a70
add eax, 0x74
mov dword [ebp], 0
mov ebp, dword [esp + 0x1c]
lea eax, [esi + eax*4]
cmp dword [ecx + 0x10], eax
jne 0x1037723c
mov ecx, dword [esp + 0x20]
mov eax, 1
shl eax, cl
mov ecx, dword [esp + 0x18]
not eax
and dword [esi + 0x14], eax
jmp 0x1037723c
mov ecx, dword [esp + 0x14]
mov ebp, dword [esp + 0x24]
xor eax, eax
cmp dword [ecx + 0x18], eax
setne al
lea eax, [ecx + eax*4]
mov ecx, dword [eax + 0x14]
test ecx, ecx
je 0x103770e9
mov dword [esp + 0x14], ecx
lea ebp, [eax + 0x14]
jmp 0x103770ce
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
mov dword [ebp], 0
jmp 0x1037719a
cmp dword [eax + 0xc], ecx
jne 0x1037708e
mov eax, dword [esp + 0x20]
cmp dword [eax + 8], ecx
mov eax, dword [esp + 0x14]
jne 0x1037708e
mov ecx, dword [esp + 0x20]
mov dword [eax + 0xc], ecx
mov dword [ecx + 8], eax
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx]
mov dword [esp + 0x24], eax
cmp eax, 0x110
mov eax, dword [esp + 0x14]
jae 0x1037717f
cmp eax, dword [esp + 0x20]
jne 0x1037723c
mov eax, dword [esp + 0x24]
shr eax, 3
sub eax, 2
mov dword [esp + 0x24], eax
mov ecx, dword [esp + 0x24]
mov eax, dword [esi + eax*8 + 0xd0]
cmp eax, dword [esi + ecx*8 + 0xd4]
mov ecx, dword [esp + 0x18]
jne 0x1037723c
mov ecx, dword [esp + 0x24]
mov eax, 1
shl eax, cl
mov ecx, dword [esp + 0x18]
not eax
and dword [esi + 0x10], eax
jmp 0x1037723c
cmp dword [ecx + 0x10], 1
jne 0x10377190
dec dword [esi + 0x258]
jmp 0x1037723c
cmp dword [ecx + 0x10], 0
je 0x1037723c
mov ebp, dword [ecx + 0x10]
cmp dword [ebp], ecx
je 0x103771a7
call fcn.10318a70
mov dword [ebp], eax
mov eax, dword [ecx + 0x10]
mov ecx, dword [esp + 0x14]
mov ebp, dword [esp + 0x14]
mov dword [ecx + 0x10], eax
mov ecx, dword [esp + 0x18]
add ebp, 0x14
mov eax, dword [ecx + 0x14]
mov ecx, eax
mov dword [ebp], ecx
test ecx, ecx
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x24], eax
mov dword [esp + 0x20], ebp
je 0x103771f6
mov eax, dword [eax + 0x10]
mov ecx, dword [esp + 0x24]
cmp dword [eax], ecx
je 0x103771e7
call fcn.10318a70
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
mov dword [eax + 0x10], ecx
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx + 0x18]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x14]
add eax, 0x18
mov dword [esp + 0x20], eax
mov ebp, eax
mov eax, dword [esp + 0x24]
mov dword [ebp], eax
mov ebp, dword [esp + 0x1c]
test eax, eax
je 0x1037723c
mov eax, dword [eax + 0x10]
mov ecx, dword [esp + 0x24]
cmp dword [eax], ecx
mov ecx, dword [esp + 0x18]
je 0x1037722d
call fcn.10318a70
mov eax, dword [esp + 0x24]
mov ebp, dword [esp + 0x20]
mov dword [eax + 0x10], ebp
mov ebp, dword [esp + 0x1c]
add edx, dword [ecx]
mov eax, dword [edi + 4]
test al, 1
jne 0x103773da
and eax, 0xfffffffc
sub edi, eax
mov ecx, dword [edi + 8]
mov eax, dword [edi + 0xc]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x20], eax
cmp ecx, edi
jne 0x103772f3
cmp eax, edi
je 0x1037726d
call fcn.10318a70
xor eax, eax
cmp dword [edi + 0x18], eax
setne al
add eax, 5
mov ecx, dword [edi + eax*4]
lea eax, [edi + eax*4]
mov dword [esp + 0x20], eax
test ecx, ecx
jne 0x103772c8
mov eax, dword [edi]
mov dword [esp + 0x24], eax
bsr eax, dword [esp + 0x24]
mov ecx, eax
mov eax, dword [edi + 0x10]
cmp dword [eax], edi
je 0x1037729f
call fcn.10318a70
mov dword [eax], 0
lea eax, [esi + 0x1d0]
lea eax, [eax + ecx*4]
cmp dword [edi + 0x10], eax
jne 0x103773d8
mov eax, 1
shl eax, cl
not eax
and dword [esi + 0x14], eax
jmp 0x103773d8
mov ebp, dword [esp + 0x20]
xor eax, eax
cmp dword [ecx + 0x18], eax
setne al
cmp dword [ecx + eax*4 + 0x14], 0
lea eax, [ecx + eax*4]
je 0x103772e6
mov ecx, dword [eax + 0x14]
lea ebp, [eax + 0x14]
jmp 0x103772cc
mov dword [esp + 0x24], ecx
mov dword [ebp], 0
jmp 0x10377365
cmp dword [ecx + 0xc], edi
jne 0x1037708e
cmp dword [eax + 8], edi
jne 0x1037708e
mov dword [ecx + 0xc], eax
mov dword [eax + 8], ecx
mov eax, dword [edi]
cmp eax, 0x110
jae 0x10377351
cmp ecx, dword [esp + 0x20]
jne 0x103773d8
shr eax, 3
sub eax, 2
mov dword [esp + 0x24], eax
mov ecx, dword [esp + 0x24]
mov eax, dword [esi + eax*8 + 0xd0]
cmp eax, dword [esi + ecx*8 + 0xd4]
jne 0x103773d8
mov eax, 1
shl eax, cl
not eax
and dword [esi + 0x10], eax
jmp 0x103773d8
mov eax, dword [edi + 0x10]
cmp eax, 1
jne 0x10377361
dec dword [esi + 0x258]
jmp 0x103773d8
test eax, eax
je 0x103773d8
mov eax, dword [edi + 0x10]
cmp dword [eax], edi
je 0x10377371
call fcn.10318a70
mov ebp, dword [esp + 0x1c]
mov dword [eax], ecx
mov eax, dword [edi + 0x10]
mov dword [ecx + 0x10], eax
mov eax, dword [edi + 0x14]
mov dword [esp + 0x20], eax
mov dword [ecx + 0x14], eax
test eax, eax
je 0x103773ad
mov eax, dword [eax + 0x10]
mov ecx, dword [esp + 0x20]
cmp dword [eax], ecx
mov ecx, dword [esp + 0x24]
je 0x1037739f
call fcn.10318a70
mov eax, dword [esp + 0x20]
lea ebp, [ecx + 0x14]
mov dword [eax + 0x10], ebp
mov ebp, dword [esp + 0x1c]
mov eax, dword [edi + 0x18]
add ecx, 0x18
mov dword [esp + 0x24], eax
mov dword [esp + 0x20], ecx
mov dword [ecx], eax
test eax, eax
je 0x103773d8
mov eax, dword [eax + 0x10]
mov ecx, dword [esp + 0x24]
cmp dword [eax], ecx
je 0x103773d1
call fcn.10318a70
mov eax, dword [esp + 0x20]
mov dword [ecx + 0x10], eax
add edx, dword [edi]
cmp dword [edi + 4], 3
jne 0x103773f9
mov eax, dword [edx + edi]
and eax, 3
cmp al, 3
jne 0x103773f9
lea edx, [edi - 8]
mov ecx, esi
call fcn.10043340
jmp 0x103774e7
mov dword [edi], edx
mov dword [edx + edi + 4], edx
mov edx, dword [edi]
mov dword [esp + 0x24], edx
cmp edx, 0x110
jb 0x103774b0
bsr eax, dword [esp + 0x24]
mov dword [esp + 0x20], eax
add eax, 0x74
mov dword [edi + 0x18], 0
lea ecx, [esi + eax*4]
mov dword [edi + 0x14], 0
mov eax, dword [ecx]
mov dword [esp + 0x24], eax
test eax, eax
jne 0x10377456
mov dword [ecx], edi
mov dword [edi + 0x10], ecx
mov ecx, dword [esp + 0x20]
mov eax, 1
shl eax, cl
mov dword [edi + 0xc], edi
mov dword [edi + 8], edi
or dword [esi + 0x14], eax
jmp 0x103774e7
mov ecx, 0x20
sub ecx, dword [esp + 0x20]
mov esi, edx
shl esi, cl
cmp dword [eax], edx
je 0x10377487
mov ecx, dword [esp + 0x24]
mov eax, esi
shr eax, 0x1f
lea ecx, [ecx + eax*4]
mov eax, dword [ecx + 0x14]
add ecx, 0x14
mov dword [esp + 0x24], eax
test eax, eax
je 0x103774a3
add esi, esi
cmp dword [eax], edx
jne 0x10377467
mov eax, dword [eax + 0xc]
mov ecx, dword [esp + 0x24]
mov dword [eax + 8], edi
mov dword [ecx + 0xc], edi
mov dword [edi + 0xc], eax
mov dword [edi + 8], ecx
mov dword [edi + 0x10], 0
jmp 0x103774e7
mov dword [ecx], edi
mov dword [edi + 0x10], ecx
mov dword [edi + 0xc], edi
mov dword [edi + 8], edi
jmp 0x103774e7
shr edx, 3
sub edx, 2
lea ecx, [esi + 0xc8]
lea ecx, [ecx + edx*8]
mov dword [esp + 0x24], ecx
cmp dword [ecx + 8], ecx
jne 0x103774d8
mov ecx, edx
mov eax, 1
shl eax, cl
mov ecx, dword [esp + 0x24]
or dword [esi + 0x10], eax
mov eax, dword [ecx + 0xc]
mov dword [edi + 8], ecx
mov dword [edi + 0xc], eax
mov dword [eax + 8], edi
mov dword [ecx + 0xc], edi
mov eax, dword [sym.php5.dll_zend_unblock_interruptions]
test eax, eax
je 0x1004940e
jmp 0x100499fe
push str.Ran_out_of_opcode_space__nYou_should_probably_consider_writing_this_huge_script_into_a_file__n
call dword [sym.php5.dll_zend_printf]
add esp, 4
push 0x1b5
push str.Zendzend_opcode.c
call sym.php5.dll__zend_bailout
lea eax, [esi + esi*2]
cmp dword [ecx + eax*8 - 4], 0xffffffff
jne 0x10049515
dec esi
mov dword [esp + 0x24], esi
jmp 0x1004958e
cmp al, 8
jne 0x1004954a
jmp 0x10049534
mov ecx, dword [eax + 0x7c]
test ecx, ecx
je 0x100496bb
mov eax, dword [eax + 0x80]
push 0
shl eax, 2
push eax
push ecx
call sym.php5.dll__erealloc
mov ecx, dword [0x10668f98]
add esp, 0xc
mov dword [ecx + 0x7c], eax
mov eax, dword [0x10668f98]
mov ecx, dword [eax + 0x80]
mov eax, dword [eax + 0x7c]
mov dword [eax + ecx*4 - 4], 0
jmp 0x100496bb
mov ecx, dword [eax + 0x7c]
test ecx, ecx
je 0x100496bb
mov eax, dword [eax + 0x80]
push 0
shl eax, 2
push eax
push ecx
call sym.php5.dll__erealloc
mov ecx, dword [0x10668f98]
add esp, 0xc
mov dword [ecx + 0x7c], eax
mov eax, dword [0x10668f98]
mov ecx, dword [eax + 0x80]
mov eax, dword [eax + 0x7c]
mov dword [eax + ecx*4 - 4], 0
mov eax, dword [0x10668f98]
mov ecx, dword [eax + 0x80]
mov eax, dword [eax + 0x7c]
mov dword [eax + ecx*4 - 8], 0
jmp 0x100496bb
mov ecx, dword [0x10668f98]
lea edx, [ebp + 8]
call fcn.10008bd0
jmp 0x100498d1
add eax, 0x40
mov dword [0x10668f88], eax
push 0
shl eax, 2
push eax
push dword [0x10668f8c]
call sym.php5.dll__erealloc
add esp, 0xc
mov dword [0x10668f8c], eax
test eax, eax
je 0x1004971b
jmp 0x100496dd
call fcn.10009fe0
mov word [eax + 0x18], 0x866
mov byte [eax + 0x1a], 8
jmp 0x1004973e