Function at 0x102d7140
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x58
push ebx
push ebp
push esi
mov esi, dword [esp + 0x6c]
push edi
mov eax, dword [esi + 0xc]
mov edi, dword [esp + 0x6c]
mov ebp, dword [esi + 0x18]
mov ebx, dword [edi + 0xc]
mov dword [esp + 0x4c], eax
mov eax, dword [esi + 0x10]
mov dword [esp + 0x54], eax
mov eax, dword [esi + 0x14]
mov dword [esp + 0x58], eax
mov eax, dword [esi + 0x1c]
mov dword [esp + 0x44], eax
xor eax, eax
mov dword [esp + 0x28], eax
mov eax, dword [edi + 0x10]
mov dword [esp + 0x48], ebp
mov dword [esp + 0x3c], 0
mov dword [esp + 0x34], ebx
test eax, eax
je 0x102d7a10
cmp dword [eax], 1
jne 0x102d7a10
push edi
call sym.php5.dll_valuePop
add esp, 4
mov edx, eax
mov dword [esp + 0x50], edx
test ebp, ebp
je 0x102d71e3
push ebp
push ebx
call sym.php5.dll_xmlXPathNsLookup
add esp, 8
mov dword [esp + 0x3c], eax
test eax, eax
jne 0x102d71df
push dword [esp + 0x50]
push ebx
call fcn.102da590
push 0x13
push edi
call sym.php5.dll_xmlXPathErr
add esp, 0x10
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x58
ret
mov edx, dword [esp + 0x50]
mov eax, dword [esp + 0x4c]
dec eax
mov dword [esp + 0x2c], 0x102d8410
cmp eax, 0xc
ja case.default.0x102d71f9
jmp dword [eax*4 + 0x102d7a28]
xor eax, eax
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x78]
mov ecx, sym.php5.dll_xmlXPathNextAncestor
jmp 0x102d7310
xor eax, eax
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x78]
mov ecx, sym.php5.dll_xmlXPathNextAncestorOrSelf
jmp 0x102d7310
mov ecx, sym.php5.dll_xmlXPathNextAttribute
jmp 0x102d7302
xor eax, eax
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x54]
cmp eax, 5
je 0x102d7246
cmp eax, 3
jne 0x102d7252
cmp dword [esp + 0x58], 0
mov ecx, 0x102d6bc0
je 0x102d7257
mov ecx, sym.php5.dll_xmlXPathNextChild
mov eax, dword [esp + 0x74]
mov dword [esp + 0x2c], 0x102d8620
mov dword [esp + 0x20], eax
jmp 0x102d7314
xor eax, eax
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x74]
mov ecx, sym.php5.dll_xmlXPathNextDescendant
mov dword [esp + 0x20], eax
jmp 0x102d7314
xor eax, eax
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x74]
mov ecx, sym.php5.dll_xmlXPathNextDescendantOrSelf
mov dword [esp + 0x20], eax
jmp 0x102d7314
xor eax, eax
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x74]
mov ecx, sym.php5.dll_xmlXPathNextFollowing
mov dword [esp + 0x20], eax
jmp 0x102d7314
xor eax, eax
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x74]
mov ecx, sym.php5.dll_xmlXPathNextFollowingSibling
mov dword [esp + 0x20], eax
jmp 0x102d7314
mov ecx, sym.php5.dll_xmlXPathNextNamespace
jmp 0x102d7302
xor eax, eax
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x78]
mov ecx, sym.php5.dll_xmlXPathNextParent
jmp 0x102d7310
xor eax, eax
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x78]
mov ecx, 0x102d7040
jmp 0x102d7310
xor eax, eax
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x78]
mov ecx, sym.php5.dll_xmlXPathNextPrecedingSibling
jmp 0x102d7310
mov ecx, sym.php5.dll_xmlXPathNextSelf
xor eax, eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x2c], 0x102d8620
mov dword [esp + 0x24], eax
mov dword [esp + 0x1c], ecx
test ecx, ecx
je case.default.0x102d71f9
mov eax, dword [edx + 4]
mov dword [esp + 0x60], eax
test eax, eax
je 0x102d79d9
cmp dword [eax], 0
jle 0x102d79d9
mov ecx, dword [esi + 8]
xor eax, eax
mov dword [esp + 0x10], 0
mov dword [esp + 0x40], eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x14], eax
cmp ecx, 0xffffffff
je 0x102d73a7
mov eax, dword [edi + 0x20]
mov esi, dword [eax + 8]
lea eax, [ecx + ecx*4]
lea ebp, [esi + eax*8]
lea eax, [esp + 0x10]
push eax
push ebp
push edi
mov dword [esp + 0x4c], ebp
call fcn.102d5cc0
add esp, 0xc
test eax, eax
je 0x102d73a5
mov eax, dword [ebp + 4]
cmp eax, 0xffffffff
je 0x102d7395
lea eax, [eax + eax*4]
mov dword [esp + 0x5c], 1
lea eax, [esi + eax*8]
mov dword [esp + 0x40], eax
jmp 0x102d73a7
xor eax, eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x14], 1
jmp 0x102d73a7
mov eax, ebp
cmp dword [esp + 0x7c], 0
je 0x102d73ba
mov dword [esp + 0x18], 1
test eax, eax
je 0x102d73c2
mov dword [esp + 0x18], 0
mov eax, dword [ebx + 4]
xor ebx, ebx
xor ebp, ebp
mov dword [esp + 0x64], eax
mov dword [esp + 0x70], ebx
xor edx, edx
mov esi, edi
jmp 0x102d73e0
mov edx, dword [esp + 0x30]
mov esi, dword [esp + 0x6c]
nop
mov eax, dword [esp + 0x60]
cmp edx, dword [eax]
jge 0x102d78b4
cmp dword [esi + 8], 0
jne 0x102d78b4
mov eax, dword [eax + 8]
mov ecx, dword [esp + 0x34]
mov eax, dword [eax + edx*4]
inc edx
mov dword [ecx + 4], eax
mov dword [esp + 0x30], edx
test ebp, ebp
jne 0x102d7430
push 0xc
call dword [sym.php5.dll_xmlMalloc]
mov ebp, eax
add esp, 4
test ebp, ebp
je 0x102d789f
xorps xmm0, xmm0
movq qword [ebp], xmm0
mov dword [ebp + 8], 0
xor ebx, ebx
xor edi, edi
mov dword [esp + 0x38], ebx
push edi
push esi
call dword [esp + 0x24]
mov edi, eax
add esp, 8
test edi, edi
je 0x102d7760
mov eax, dword [esp + 0x20]
test eax, eax
je 0x102d7489
mov ecx, dword [eax]
test ecx, ecx
je 0x102d7489
cmp ecx, edi
je 0x102d7760
mov edx, dword [esp + 0x28]
mov eax, edx
and eax, 0x800000ff
jns 0x102d7475
dec eax
or eax, 0xffffff00
inc eax
jne 0x102d748d
push edi
push ecx
call fcn.102cc5f0
add esp, 8
test eax, eax
jns 0x102d7760
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x24]
test eax, eax
je 0x102d74c7
mov ecx, dword [eax]
test ecx, ecx
je 0x102d74c7
cmp ecx, edi
je 0x102d7760
mov eax, edx
and eax, 0x800000ff
jns 0x102d74b3
dec eax
or eax, 0xffffff00
inc eax
jne 0x102d74c7
push ecx
push edi
call fcn.102cc5f0
add esp, 8
test eax, eax
jns 0x102d7760
mov eax, dword [esp + 0x54]
inc dword [esp + 0x28]
cmp eax, 5
ja case.0x102d74fb.5
jmp dword [eax*4 + 0x102d7a5c]
mov ecx, dword [esp + 0x58]
mov eax, dword [edi + 4]
test ecx, ecx
jne 0x102d7502
dec eax
cmp eax, 0x14
ja case.0x102d74fb.5
movzx eax, byte [eax + 0x102d7a7c]
jmp dword [eax*4 + 0x102d7a74]
cmp eax, ecx
jne 0x102d7555
cmp eax, 0x12
jne case.0x102d74fb.1
cmp dword [esp + 0x14], 0
je 0x102d7537
inc ebx
cmp ebx, dword [esp + 0x10]
jne case.0x102d74fb.5
mov eax, dword [esp + 0x34]
push edi
push dword [eax + 4]
push ebp
call sym.php5.dll_xmlXPathNodeSetAddNs
add esp, 0xc
jmp 0x102d75dd
mov eax, dword [esp + 0x34]
push edi
push dword [eax + 4]
mov dword [esp + 0x40], 1
push ebp
call sym.php5.dll_xmlXPathNodeSetAddNs
add esp, 0xc
jmp 0x102d7740
cmp ecx, 3
jne case.0x102d74fb.5
cmp eax, 4
jne case.0x102d74fb.5
jmp case.0x102d74fb.1
cmp dword [edi + 4], 7
jne case.0x102d74fb.5
mov eax, dword [esp + 0x44]
test eax, eax
je case.0x102d74fb.1
push dword [edi + 8]
push eax
jmp 0x102d75ad
mov ecx, dword [esp + 0x4c]
cmp ecx, 3
jne 0x102d7601
cmp dword [edi + 4], 2
jne case.0x102d74fb.5
cmp dword [esp + 0x48], 0
je case.0x102d74fb.1
mov eax, dword [edi + 0x24]
test eax, eax
je case.0x102d74fb.5
push dword [eax + 8]
push dword [esp + 0x40]
call sym.php5.dll_xmlStrEqual
add esp, 8
test eax, eax
je case.0x102d74fb.5
cmp dword [esp + 0x14], 0
je 0x102d7736
inc ebx
cmp ebx, dword [esp + 0x10]
jne case.0x102d74fb.5
push edi
push ebp
call sym.php5.dll_xmlXPathNodeSetAddUnique
add esp, 8
test eax, eax
jns 0x102d75e8
mov dword [esi + 8], 0xf
mov edx, dword [esp + 0x70]
test edx, edx
jne 0x102d77b0
mov ebx, ebp
mov dword [esp + 0x70], ebx
xor ebp, ebp
jmp 0x102d77c1
cmp ecx, 9
jne 0x102d762b
cmp dword [edi + 4], 0x12
jne case.0x102d74fb.5
cmp dword [esp + 0x14], 0
je 0x102d7537
inc ebx
cmp ebx, dword [esp + 0x10]
je 0x102d7521
jmp case.0x102d74fb.5
cmp dword [edi + 4], 1
jmp 0x102d758e
call sym.php5.dll___xmlGenericError
mov esi, eax
call sym.php5.dll___xmlGenericErrorContext
push 0x30a9
push str...xpath.c
push str.Unimplemented_block_at__s:_d_n
push dword [eax]
mov eax, dword [esi]
call eax
mov esi, dword [esp + 0x7c]
add esp, 0x10
jmp case.0x102d74fb.5
mov ecx, dword [esp + 0x4c]
mov eax, dword [edi + 4]
cmp ecx, 3
jne 0x102d7672
cmp eax, 2
jmp 0x102d767f
cmp ecx, 9
jne 0x102d767c
cmp eax, 0x12
jmp 0x102d767f
cmp eax, 1
jne case.0x102d74fb.5
dec eax
je 0x102d770d
dec eax
je 0x102d76d9
sub eax, 0x10
jne case.0x102d74fb.5
mov eax, dword [edi + 0xc]
test eax, eax
je case.0x102d74fb.5
mov ecx, dword [esp + 0x44]
test ecx, ecx
je case.0x102d74fb.5
push ecx
push eax
call sym.php5.dll_xmlStrEqual
add esp, 8
test eax, eax
je case.0x102d74fb.5
cmp dword [esp + 0x14], 0
je 0x102d7537
inc ebx
cmp ebx, dword [esp + 0x10]
je 0x102d7521
jmp case.0x102d74fb.5
push dword [edi + 8]
push dword [esp + 0x48]
call sym.php5.dll_xmlStrEqual
add esp, 8
test eax, eax
je case.0x102d74fb.5
cmp dword [esp + 0x48], 0
mov eax, dword [edi + 0x24]
jne 0x102d759e
test eax, eax
je case.0x102d74fb.1
cmp dword [eax + 0xc], 0
jne case.0x102d74fb.5
jmp case.0x102d74fb.1
push dword [edi + 8]
push dword [esp + 0x48]
call sym.php5.dll_xmlStrEqual
add esp, 8
test eax, eax
je case.0x102d74fb.5
cmp dword [esp + 0x48], 0
jne 0x102d759b
cmp dword [edi + 0x24], 0
jne case.0x102d74fb.5
jmp case.0x102d74fb.1
push edi
push ebp
call sym.php5.dll_xmlXPathNodeSetAddUnique
add esp, 8
test eax, eax
jns 0x102d774b
mov dword [esi + 8], 0xf
cmp dword [esp + 0x18], 0
jne 0x102d790f
cmp dword [esi + 8], 0
je 0x102d7438
cmp dword [esi + 8], 0
mov ebx, dword [esp + 0x70]
jne 0x102d78b4
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x30]
test eax, eax
je 0x102d7862
mov esi, dword [ebp]
test esi, esi
jle 0x102d73db
cmp dword [esp + 0x5c], 0
mov edi, dword [esp + 0x6c]
je 0x102d77d5
push dword [esp + 0x38]
mov ebx, dword [esp + 0x14]
push ebx
push ebx
push esi
push ebp
push eax
push edi
call fcn.102cfb70
mov ebx, dword [esp + 0x54]
add esp, 0x1c
jmp 0x102d77e6
push 0
push ebp
push edx
call dword [esp + 0x38]
add esp, 0xc
mov ebx, eax
mov dword [esp + 0x70], eax
cmp dword [esp + 0x7c], 0
jne 0x102d78b4
mov edx, dword [esp + 0x30]
jmp 0x102d73e0
mov ebx, dword [esp + 0x38]
push ebx
push esi
push ebp
push eax
push edi
call fcn.102cfec0
add esp, 0x14
cmp dword [edi + 8], 0
mov ecx, eax
jne 0x102d7964
test ecx, ecx
jne 0x102d7809
push ebx
push ebp
call fcn.102d7e90
mov ebx, dword [esp + 0x78]
add esp, 8
jmp 0x102d73d7
cmp dword [ebp], 0
mov ebx, dword [esp + 0x70]
mov edx, dword [esp + 0x30]
jle 0x102d73db
mov edx, ebx
test edx, edx
jne 0x102d783f
cmp esi, ecx
je 0x102d7835
push 1
push ebp
push ebx
call dword [esp + 0x38]
mov ebx, eax
mov dword [esp + 0x7c], ebx
jmp 0x102d7853
mov ebx, ebp
mov dword [esp + 0x70], ebx
xor ebp, ebp
jmp 0x102d7856
xor eax, eax
cmp esi, ecx
setne al
push eax
push ebp
push edx
call dword [esp + 0x38]
mov ebx, eax
mov dword [esp + 0x7c], eax
add esp, 0xc
cmp dword [esp + 0x7c], 0
jne 0x102d78b8
jmp 0x102d73d7
cmp dword [ebp], 0
jle 0x102d73e0
mov edx, dword [esp + 0x70]
test edx, edx
jne 0x102d7885
mov edx, dword [esp + 0x30]
mov ebx, ebp
mov dword [esp + 0x70], ebx
xor ebp, ebp
jmp 0x102d73e0
push 0
push ebp
push edx
call dword [esp + 0x38]
mov edx, dword [esp + 0x3c]
mov ebx, eax
add esp, 0xc
mov dword [esp + 0x70], ebx
jmp 0x102d73e0
push str.creating_nodeset_n
push 0
call fcn.102d4430
add esp, 8
xor ebp, ebp
mov dword [esp + 0x28], ebp
mov edi, dword [esp + 0x6c]
mov edx, dword [esp + 0x50]
cmp dword [edx + 8], 0
je 0x102d78e9
cmp dword [edx + 0x1c], 0
je 0x102d78e9
mov eax, dword [edi + 0x10]
mov dword [eax + 8], 1
mov ecx, dword [edi + 0x10]
mov eax, dword [edx + 0x1c]
mov dword [ecx + 0x1c], eax
mov dword [edx + 0x1c], 0
mov dword [edx + 8], 0
mov esi, dword [esp + 0x34]
push edx
push esi
call fcn.102da590
add esp, 8
test ebx, ebx
jne 0x102d79a4
test ebp, ebp
je 0x102d7975
cmp dword [ebp], ebx
jne 0x102d7975
mov ebx, ebp
jmp 0x102d79a4
mov edx, dword [esp + 0x70]
test edx, edx
jne 0x102d791d
mov ebx, ebp
xor ebp, ebp
jmp 0x102d78b4
push 0
push ebp
push edx
call dword [esp + 0x38]
add esp, 0xc
mov ebx, eax
jmp 0x102d78b4
mov dword [esp + 0x28], 0
call sym.php5.dll___xmlGenericError
mov esi, eax
call sym.php5.dll___xmlGenericErrorContext
push 0x305b
push str...xpath.c
push str.Internal_error_at__s:_d_n
push dword [eax]
mov eax, dword [esi]
call eax
mov ebx, dword [esp + 0x80]
add esp, 0x10
jmp 0x102d78b4
mov ebx, dword [esp + 0x70]
mov dword [esp + 0x28], 0
jmp 0x102d78b8
push 0xc
call dword [sym.php5.dll_xmlMalloc]
mov ebx, eax
add esp, 4
test ebx, ebx
jne 0x102d7996
push str.creating_nodeset_n
push eax
call fcn.102d4430
add esp, 8
jmp 0x102d79a4
xorps xmm0, xmm0
movq qword [ebx], xmm0
mov dword [ebx + 8], 0
test ebp, ebp
je 0x102d79b5
cmp ebp, ebx
je 0x102d79b5
push ebp
call sym.php5.dll_xmlXPathFreeNodeSet
add esp, 4
push ebx
push esi
call fcn.102cbc20
push eax
push edi
call sym.php5.dll_valuePush
mov eax, dword [esp + 0x74]
add esp, 0x10
mov dword [esi + 4], eax
mov eax, dword [esp + 0x28]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x58
ret
push edx
push ebx
call fcn.102da590
push 0
push ebx
call fcn.102cbc20
push eax
push edi
call sym.php5.dll_valuePush
add esp, 0x18
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x58
ret
push edx
push ebx
call fcn.102da590
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x58
ret
push 0xb
push edi
call sym.php5.dll_xmlXPathErr
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x58
ret