Function at 0x102a7040
Capabilities:
Terminate process

Disassembly:
sub esp, 0x14
push ebx
push ebp
mov ebp, dword [esp + 0x24]
push edi
push ebp
xor ebx, ebx
call sym.php5.dll_xmlParseURI
mov edi, eax
add esp, 4
mov dword [esp + 0x18], edi
test edi, edi
jne 0x102a70a0
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x2c]
mov ecx, dword [edx + 0x10]
push ebp
mov eax, dword [ecx + eax*4]
push str.invalid_value_URI__s_n
mov eax, dword [eax + 0xc]
push edi
push edi
push edi
push edi
inc dword [edx + 0x34]
push ebp
push edi
push edi
push 2
push 0x645
push 0xb
push eax
push edx
push edi
push edi
push edi
call fcn.10260ef0
add esp, 0x44
or eax, 0xffffffff
pop edi
pop ebp
pop ebx
add esp, 0x14
ret
mov eax, dword [edi + 0x20]
test eax, eax
je 0x102a70b0
mov ebx, eax
mov dword [edi + 0x20], 0
push esi
mov esi, dword [esp + 0x28]
mov eax, dword [esi + 0x10]
test eax, eax
je 0x102a70f2
mov ecx, dword [esp + 0x30]
mov eax, dword [eax + ecx*4]
test eax, eax
je 0x102a70f2
cmp dword [eax + 4], 0
je 0x102a70f2
test ebx, ebx
je 0x102a70df
push ebx
call dword [sym.php5.dll_xmlFree]
mov ecx, dword [esp + 0x34]
add esp, 4
mov eax, dword [esi + 0x10]
mov eax, dword [eax + ecx*4]
push dword [eax + 4]
call sym.php5.dll_xmlStrdup
add esp, 4
mov ebx, eax
push edi
call sym.php5.dll_xmlSaveUri
push dword [esp + 0x20]
mov edi, eax
mov dword [esp + 0x18], edi
call sym.php5.dll_xmlFreeURI
add esp, 8
test edi, edi
jne 0x102a7167
mov eax, dword [esi + 0x10]
push ebp
push str.invalid_value_URI__s_n
test eax, eax
je 0x102a7138
mov ecx, dword [esp + 0x38]
push 0x645
mov eax, dword [eax + ecx*4]
push dword [eax + 0xc]
push esi
call fcn.102a6bd0
add esp, 0x14
jmp 0x102a7201
push 0
push 0
push 0
push 0
inc dword [esi + 0x34]
push ebp
push 0
push 0
push 2
push 0x645
push 0xb
push 0
push esi
push 0
push 0
push 0
call fcn.10260ef0
add esp, 0x44
jmp 0x102a7201
mov al, byte [edi]
test al, al
je 0x102a72b9
cmp al, 0x23
je 0x102a72b9
mov eax, dword [esi]
test eax, eax
je 0x102a7193
push dword [eax + 0x48]
push edi
call sym.php5.dll_xmlStrEqual
add esp, 8
test eax, eax
jne 0x102a72b9
xor edi, edi
cmp dword [esi + 8], edi
jle 0x102a71c7
mov ebp, dword [esp + 0x10]
mov edi, edi
mov eax, dword [esi + 0x10]
mov eax, dword [eax + edi*4]
push dword [eax]
push ebp
call sym.php5.dll_xmlStrEqual
add esp, 8
test eax, eax
je 0x102a71c1
mov eax, dword [esi + 0x10]
mov eax, dword [eax + edi*4]
cmp dword [eax + 8], 0
jne 0x102a721a
inc edi
cmp edi, dword [esi + 8]
jl 0x102a71a0
mov eax, dword [esi + 0x3c]
mov dword [esp + 0x1c], eax
test ebx, ebx
je 0x102a71d8
or eax, 2
mov dword [esi + 0x3c], eax
mov edi, dword [esp + 0x10]
push edi
push esi
call fcn.102a8390
mov ebp, eax
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x24]
add esp, 8
mov dword [esi + 0x3c], eax
test ebp, ebp
jne 0x102a722c
push edi
call dword [sym.php5.dll_xmlFree]
add esp, 4
test ebx, ebx
je 0x102a720f
push ebx
call dword [sym.php5.dll_xmlFree]
add esp, 4
pop esi
pop edi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0x14
ret
mov eax, dword [esi + 0x10]
mov eax, dword [eax + edi*4]
mov edi, dword [esp + 0x10]
mov ebp, dword [eax + 8]
jmp 0x102a72bb
mov eax, dword [esi + 0x10]
mov ecx, dword [esp + 0x30]
mov eax, dword [eax + ecx*4]
mov dword [eax + 8], ebp
push dword [ebp + 0x48]
push edi
call sym.php5.dll_xmlStrEqual
add esp, 8
test eax, eax
jne 0x102a7263
push edi
call dword [sym.php5.dll_xmlFree]
push dword [ebp + 0x48]
call sym.php5.dll_xmlStrdup
mov ecx, eax
add esp, 8
mov dword [esp + 0x10], ecx
jmp 0x102a7267
mov ecx, dword [esp + 0x10]
mov edi, dword [esp + 0x30]
inc edi
cmp edi, dword [esi + 8]
jge 0x102a729f
mov eax, dword [esi + 0x10]
mov eax, dword [eax + edi*4]
push dword [eax]
push ecx
call sym.php5.dll_xmlStrEqual
add esp, 8
test eax, eax
jne 0x102a7292
mov ecx, dword [esp + 0x10]
inc edi
cmp edi, dword [esi + 8]
jl 0x102a7271
jmp 0x102a729f
mov eax, dword [esi + 0x10]
mov ecx, dword [esp + 0x30]
mov eax, dword [eax + ecx*4]
inc dword [eax + 0x18]
push ebp
push dword [esi]
push esi
call fcn.102a7fc0
mov edi, dword [esp + 0x1c]
push edi
push ebp
push esi
call fcn.102a8660
add esp, 0x18
jmp 0x102a72bf
xor ebp, ebp
mov dword [esp + 0x14], ebp
test ebx, ebx
jne 0x102a730b
mov eax, dword [esp + 0x30]
lea ebx, [eax*4]
test ebp, ebp
jne 0x102a72ea
mov eax, dword [esi]
push dword [eax + 0xc]
call sym.php5.dll_xmlCopyNodeList
mov ecx, dword [esi + 0x10]
mov ecx, dword [ebx + ecx]
mov dword [ecx + 0x10], eax
jmp 0x102a7720
push dword [ebp + 0xc]
mov dword [esp + 0x18], ebx
push ebp
push dword [esi]
push esi
call fcn.102a6420
mov ecx, dword [esi + 0x10]
add esp, 0x10
mov ecx, dword [ebx + ecx]
mov dword [ecx + 0x10], eax
jmp 0x102a75a0
push 0
test ebp, ebp
jne 0x102a7322
mov eax, dword [esi + 0x10]
mov ecx, dword [esp + 0x34]
mov eax, dword [eax + ecx*4]
push dword [eax + 0xc]
push dword [esi]
jmp 0x102a7325
push 0
push ebp
call sym.php5.dll_xmlXPtrNewContext
add esp, 0xc
mov dword [esp + 0x18], eax
test eax, eax
jne 0x102a738f
mov eax, dword [esi + 0x10]
mov ecx, dword [esp + 0x30]
push 0
mov eax, dword [eax + ecx*4]
push str.could_not_create_XPointer_context_n
mov eax, dword [eax + 0xc]
push 0
push 0
push 0
push 0
inc dword [esi + 0x34]
push 0
push 0
push 0
push 2
push 0x64c
push 0xb
push eax
push esi
push 0
push 0
push 0
call fcn.10260ef0
push edi
call dword [sym.php5.dll_xmlFree]
add esp, 0x48
push ebx
call dword [sym.php5.dll_xmlFree]
add esp, 4
or eax, 0xffffffff
pop esi
pop edi
pop ebp
pop ebx
add esp, 0x14
ret
push eax
push ebx
call sym.php5.dll_xmlXPtrEval
mov edx, eax
add esp, 8
mov dword [esp + 0x1c], edx
test edx, edx
jne 0x102a73fb
mov eax, dword [esi + 0x10]
mov ecx, dword [esp + 0x30]
push ebx
mov eax, dword [eax + ecx*4]
push str.XPointer_evaluation_failed:__s_n
mov eax, dword [eax + 0xc]
push edx
push edx
push edx
push edx
inc dword [esi + 0x34]
push ebx
push edx
push edx
push 2
push 0x64c
push 0xb
push eax
push esi
push edx
push edx
push edx
call fcn.10260ef0
push dword [esp + 0x5c]
call sym.php5.dll_xmlXPathFreeContext
add esp, 0x48
push edi
call dword [sym.php5.dll_xmlFree]
push ebx
call dword [sym.php5.dll_xmlFree]
add esp, 8
or eax, 0xffffffff
pop esi
pop edi
pop ebp
pop ebx
add esp, 0x14
ret
mov eax, dword [edx]
cmp eax, 9
ja case.0x102a740d.6
movzx eax, byte [eax + 0x102a777c]
jmp dword [eax*4 + 0x102a7770]
mov eax, dword [esi + 0x10]
mov ecx, dword [esp + 0x30]
push ebx
mov eax, dword [eax + ecx*4]
push str.XPointer_is_not_a_range:__s_n
push 0x64d
push dword [eax + 0xc]
push esi
call fcn.102a6bd0
push dword [esp + 0x2c]
call sym.php5.dll_xmlXPathFreeContext
push edi
call dword [sym.php5.dll_xmlFree]
push ebx
call dword [sym.php5.dll_xmlFree]
add esp, 0x20
or eax, 0xffffffff
pop esi
pop edi
pop ebp
pop ebx
add esp, 0x14
ret
mov eax, dword [edx + 4]
test eax, eax
je 0x102a7463
cmp dword [eax], 0
jg case.0x102a740d.6
push dword [esp + 0x18]
call sym.php5.dll_xmlXPathFreeContext
push edi
call dword [sym.php5.dll_xmlFree]
push ebx
call dword [sym.php5.dll_xmlFree]
add esp, 0xc
or eax, 0xffffffff
pop esi
pop edi
pop ebp
pop ebx
add esp, 0x14
ret
mov eax, dword [edx + 4]
mov dword [esp + 0x20], eax
test eax, eax
je 0x102a7538
cmp dword [eax], 0
jle 0x102a7538
xor edi, edi
mov ebp, eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + edi*4]
test eax, eax
je case.0x102a74be.1
mov eax, dword [eax + 4]
dec eax
cmp eax, 0x14
ja case.0x102a74be.1
movzx eax, byte [eax + 0x102a7798]
jmp dword [eax*4 + 0x102a7788]
push ebx
push str.XPointer_selects_an_attribute:__s_n
mov eax, dword [esi + 0x10]
mov ecx, dword [esp + 0x38]
push 0x64d
mov eax, dword [eax + ecx*4]
push dword [eax + 0xc]
push esi
call fcn.102a6bd0
jmp 0x102a7515
push ebx
push str.XPointer_selects_a_namespace:__s_n
jmp 0x102a74cb
mov eax, dword [esi + 0x10]
mov ecx, dword [esp + 0x30]
push ebx
mov eax, dword [eax + ecx*4]
push str.XPointer_selects_unexpected_nodes:__s_n
push 0x64d
push dword [eax + 0xc]
push esi
call fcn.102a6bd0
mov eax, dword [ebp + 8]
mov dword [eax + edi*4], 0
mov eax, dword [ebp + 8]
add esp, 0x14
mov dword [eax + edi*4], 0
inc edi
cmp edi, dword [ebp]
jl 0x102a74a4
mov ebp, dword [esp + 0x14]
mov edi, dword [esp + 0x10]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x30]
test ebp, ebp
jne 0x102a755f
lea ecx, [eax*4]
mov eax, dword [esi + 0x10]
mov dword [esp + 0x14], ecx
mov eax, dword [ecx + eax]
mov dword [eax + 0x1c], edx
mov eax, dword [esi + 0x10]
mov eax, dword [ecx + eax]
mov dword [eax + 0x10], ebp
jmp 0x102a7589
push edx
push ebp
push dword [esi]
shl eax, 2
push esi
mov dword [esp + 0x24], eax
call fcn.102a6830
mov ecx, dword [esi + 0x10]
mov edx, dword [esp + 0x24]
push dword [esp + 0x2c]
mov ecx, dword [edx + ecx]
mov dword [ecx + 0x10], eax
call sym.php5.dll_xmlXPathFreeObject
add esp, 0x14
push dword [esp + 0x18]
call sym.php5.dll_xmlXPathFreeContext
push ebx
call dword [sym.php5.dll_xmlFree]
mov ebx, dword [esp + 0x1c]
add esp, 8
test ebp, ebp
je 0x102a7723
test edi, edi
je 0x102a7723
test dword [esi + 0x3c], 0x40000
jne 0x102a7723
test dword [ebp + 0x58], 0x40000
jne 0x102a7723
mov eax, dword [esi + 0x10]
push str.http:__www.w3.org_XML_1998_namespace
mov eax, dword [ebx + eax]
push str.base
push dword [eax + 0xc]
call sym.php5.dll_xmlGetNsProp
mov ebp, eax
add esp, 0xc
test ebp, ebp
jne 0x102a7632
push dword [esi + 0x40]
push edi
call sym.php5.dll_xmlBuildRelativeURI
mov ebp, eax
add esp, 8
test ebp, ebp
jne 0x102a761f
mov eax, dword [esi + 0x10]
push edi
mov eax, dword [ebx + eax]
push str.trying_to_build_relative_URI_from__s_n
push 0x645
push dword [eax + 0xc]
push esi
call fcn.102a6bd0
add esp, 0x14
jmp 0x102a7723
push 0x2f
push ebp
call sym.php5.dll_xmlStrchr
add esp, 8
test eax, eax
je 0x102a7719
mov eax, dword [esi + 0x10]
mov eax, dword [ebx + eax]
mov edi, dword [eax + 0x10]
test edi, edi
je 0x102a7719
cmp dword [edi + 4], 1
jne 0x102a770a
push edi
push dword [edi + 0x20]
call sym.php5.dll_xmlNodeGetBase
mov ecx, eax
add esp, 8
mov dword [esp + 0x1c], ecx
test ecx, ecx
jne 0x102a7672
push ebp
push edi
call sym.php5.dll_xmlNodeSetBase
add esp, 8
jmp 0x102a770a
mov eax, dword [edi + 0x20]
push dword [eax + 0x48]
push ecx
call sym.php5.dll_xmlStrEqual
add esp, 8
test eax, eax
je 0x102a7691
push ebp
push edi
call sym.php5.dll_xmlNodeSetBase
add esp, 8
jmp 0x102a76fd
push str.http:__www.w3.org_XML_1998_namespace
push str.base
push edi
call sym.php5.dll_xmlGetNsProp
mov ebx, eax
add esp, 0xc
test ebx, ebx
je 0x102a76fd
push ebp
push ebx
call sym.php5.dll_xmlBuildURI
add esp, 8
mov dword [esp + 0x20], eax
test eax, eax
jne 0x102a76df
mov eax, dword [esi + 0x10]
mov ecx, dword [esp + 0x14]
push ebx
mov eax, dword [ecx + eax]
push str.trying_to_rebuild_base_from__s_n
push 0x645
push dword [eax + 0xc]
push esi
call fcn.102a6bd0
add esp, 0x14
jmp 0x102a76f3
push eax
push edi
call sym.php5.dll_xmlNodeSetBase
push dword [esp + 0x28]
call dword [sym.php5.dll_xmlFree]
add esp, 0xc
push ebx
call dword [sym.php5.dll_xmlFree]
add esp, 4
push dword [esp + 0x1c]
call dword [sym.php5.dll_xmlFree]
add esp, 4
mov edi, dword [edi + 0x18]
test edi, edi
jne 0x102a7643
mov ebx, dword [esp + 0x14]
push ebp
call dword [sym.php5.dll_xmlFree]
add esp, 4
mov eax, dword [esp + 0x30]
cmp eax, dword [esi + 8]
jge 0x102a7755
mov eax, dword [esi + 0x10]
mov eax, dword [ebx + eax]
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x102a7755
cmp dword [eax + 0x18], 1
jg 0x102a7755
push ecx
call sym.php5.dll_xmlFreeDoc
mov eax, dword [esi + 0x10]
add esp, 4
mov eax, dword [ebx + eax]
mov dword [eax + 8], 0
mov ebp, dword [esp + 0x10]
push ebp
call dword [sym.php5.dll_xmlFree]
add esp, 4
xor eax, eax
pop esi
pop edi
pop ebp
pop ebx
add esp, 0x14
ret