Function at 0x10303af0
Capabilities:
Parse credit card information

Disassembly:
sub esp, 0x40
mov eax, dword [0x106499c8]
xor eax, esp
mov dword [esp + 0x3c], eax
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x4c]
push ebx
push ebp
mov ebp, dword [esp + 0x58]
xor ebx, ebx
push edi
mov edi, dword [esp + 0x54]
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], edx
mov dword [esp + 0x1c], 0
cmp dword [0x1065fdb8], ebx
jne 0x10303b38
call sym.php5.dll_xmlSchemaInitTypes
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
test ecx, ecx
jne 0x10303b51
pop edi
pop ebp
or eax, 0xffffffff
pop ebx
mov ecx, dword [esp + 0x3c]
xor ecx, esp
call fcn.10311bec
add esp, 0x40
ret
push esi
test edi, edi
mov esi, 0x1053ac9c
cmovne esi, edi
test edx, edx
je 0x10303b62
mov dword [edx], ebx
cmp dword [esp + 0x64], ebx
jne 0x10303ba4
test esi, esi
je 0x10303ba4
mov eax, dword [ecx + 0x58]
cmp eax, 1
je 0x10303ba4
cmp eax, 0x2d
je 0x10303ba4
cmp eax, 0x2e
je 0x10303ba4
push esi
cmp eax, 2
jne 0x10303b8b
call fcn.10306320
jmp 0x10303b90
call sym.php5.dll_xmlSchemaCollapseString
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
add esp, 4
test eax, eax
mov dword [esp + 0x20], eax
cmovne esi, eax
mov edi, dword [ecx + 0x58]
cmp edi, 0x2e
ja case.default.0x10303bb7
movzx eax, byte [edi + 0x10305230]
jmp dword [eax*4 + 0x103051c0]
cmp dword [esp + 0x74], ebx
je 0x10305196
test edx, edx
je 0x10305196
push 0x2e
call fcn.103036f0
mov edi, eax
add esp, 4
test edi, edi
je case.0x10303bb7.0
push esi
call sym.php5.dll_xmlStrdup
mov ecx, dword [esp + 0x14]
mov dword [edi + 8], eax
add esp, 4
mov dword [ecx], edi
jmp 0x10305196
mov edx, dword [esp + 0x68]
cmp dword [esp + 0x6c], ebx
jne 0x10303c6f
mov eax, esi
cmp edx, 2
jne 0x10303c37
mov cl, byte [esi]
test cl, cl
je 0x10303c6f
cmp cl, 0xd
je 0x103041a1
cmp cl, 0xa
je 0x103041a1
cmp cl, 9
je 0x103041a1
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x10303c12
jmp 0x10303c6f
cmp edx, 3
jne 0x10303c6f
cmp byte [esi], bl
je 0x10303c6f
mov cl, byte [eax]
cmp cl, 0xd
je 0x103041a1
cmp cl, 0xa
je 0x103041a1
cmp cl, 9
je 0x103041a1
inc eax
cmp cl, 0x20
jne 0x10303c6b
cmp byte [eax], cl
je 0x103041a1
cmp byte [eax], bl
jne 0x10303c40
cmp dword [esp + 0x74], ebx
je 0x10305196
mov ebx, dword [esp + 0x10]
test ebx, ebx
je 0x10305196
cmp dword [esp + 0x70], 0
je 0x10303cd1
cmp edx, 3
jne 0x10303caa
push esi
call sym.php5.dll_xmlSchemaCollapseString
add esp, 4
test eax, eax
mov dword [esp + 0x20], eax
cmovne esi, eax
push 1
jmp 0x10304ab0
cmp edx, 2
jne 0x10303cc8
push esi
call fcn.10306320
add esp, 4
test eax, eax
mov dword [esp + 0x20], eax
cmovne esi, eax
push 1
jmp 0x10304ab0
mov eax, dword [esp + 0x20]
test eax, eax
cmovne esi, eax
push 1
jmp 0x10304ab0
cmp dword [esp + 0x6c], ebx
je 0x10303d07
cmp dword [esp + 0x70], ebx
je 0x10303d30
cmp dword [esp + 0x68], 3
push esi
jne 0x10303cf3
call sym.php5.dll_xmlSchemaCollapseString
jmp 0x10303cf8
call fcn.10306320
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
je 0x10303d30
mov esi, eax
jmp 0x10303d30
mov al, byte [esi]
mov ecx, esi
test al, al
je 0x10303d30
nop
cmp al, 0xd
je 0x103041a1
cmp al, 0xa
je 0x103041a1
cmp al, 9
je 0x103041a1
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x10303d10
mov ebx, dword [esp + 0x10]
test ebx, ebx
je 0x10305196
push 2
jmp 0x10304ab0
lea edi, [esp + 0x30]
test esi, esi
je 0x103041a1
cmp byte [esi], bl
je 0x103041a1
cmp dword [esp + 0x6c], ebx
je 0x10303d75
lea ecx, [ecx]
mov al, byte [esi]
cmp al, 0x20
je 0x10303d72
cmp al, 9
jb 0x10303d6e
cmp al, 0xa
jbe 0x10303d72
cmp al, 0xd
jne 0x10303d75
inc esi
jmp 0x10303d60
mov al, byte [esi]
mov dword [esp + 0x18], ebx
cmp al, 0x2d
jne 0x10303d89
mov dword [esp + 0x18], 1
jmp 0x10303d8d
cmp al, 0x2b
jne 0x10303d8e
inc esi
mov al, byte [esi]
test al, al
je 0x103041a1
xor ebx, ebx
or ebp, 0xffffffff
xor ecx, ecx
cmp al, 0x30
jne 0x10303dac
lea ecx, [ebx + 1]
inc esi
cmp byte [esi], 0x30
je 0x10303da6
cmp byte [esi], bl
je 0x10303df0
mov al, byte [esi]
cmp al, 0x30
jb 0x10303dc6
cmp al, 0x39
ja 0x10303dc6
mov byte [edi], al
inc ebx
inc edi
inc esi
cmp ebx, 0x18
jb 0x10303db0
jmp 0x10303df0
cmp byte [esi], 0x2e
jne 0x10303df0
inc esi
mov ebp, ebx
mov edi, edi
mov al, byte [esi]
cmp al, 0x30
jb 0x10303de4
cmp al, 0x39
ja 0x10303de4
mov byte [edi], al
inc ebx
inc edi
inc esi
cmp ebx, 0x18
jb 0x10303dd0
test ebx, ebx
jne 0x10303df0
test ecx, ecx
je 0x103041a1
cmp dword [esp + 0x6c], 0
je 0x10303e0c
mov al, byte [esi]
cmp al, 0x20
je 0x10303e09
cmp al, 9
jb 0x10303e05
cmp al, 0xa
jbe 0x10303e09
cmp al, 0xd
jne 0x10303e0c
inc esi
jmp 0x10303df7
cmp byte [esi], 0
jne 0x103041a1
test edx, edx
je 0x10305196
push 3
call fcn.103036f0
mov esi, eax
add esp, 4
test esi, esi
je 0x10305196
test ebx, ebx
je 0x10303e74
cmp ebp, 0xffffffff
je 0x10303e4c
cmp ebx, ebp
je 0x10303e4c
mov edi, edi
cmp byte [edi - 1], 0x30
jne 0x10303e4c
dec ebx
dec edi
cmp ebx, ebp
jne 0x10303e40
test ebx, ebx
je 0x10303e74
lea eax, [esp + 0x30]
mov dword [esp + 0x14], eax
lea eax, [esi + 0x10]
push eax
lea eax, [esi + 0xc]
push eax
lea eax, [esi + 8]
push eax
lea eax, [esp + 0x20]
push eax
mov byte [edi], 0
call fcn.10303800
add esp, 0x10
mov eax, dword [esi + 0x18]
xor eax, dword [esp + 0x18]
and eax, 1
xor dword [esi + 0x18], eax
test ebx, ebx
jne 0x10303e94
mov ecx, dword [esp + 0x10]
mov byte [esi + 0x19], 1
mov dword [ecx], esi
jmp 0x10305196
mov byte [esi + 0x19], bl
cmp ebp, 0xffffffff
jne 0x10303eae
mov ecx, dword [esp + 0x10]
and dword [esi + 0x18], 0xffffff01
mov dword [ecx], esi
jmp 0x10305196
mov ecx, dword [esp + 0x10]
sub ebx, ebp
add ebx, ebx
xor ebx, dword [esi + 0x18]
and ebx, 0xfe
xor dword [esi + 0x18], ebx
mov dword [ecx], esi
jmp 0x10305196
push dword [esp + 0x6c]
push edx
push esi
push edi
call fcn.103052c0
add esp, 0x10
mov ebx, eax
mov eax, dword [esp + 0x20]
test eax, eax
je 0x10303eec
push eax
call dword [sym.php5.dll_xmlFree]
add esp, 4
pop esi
pop edi
pop ebp
mov eax, ebx
pop ebx
mov ecx, dword [esp + 0x3c]
xor ecx, esp
call fcn.10311bec
add esp, 0x40
ret
push dword [esp + 0x6c]
push edx
push esi
push ecx
call fcn.103058b0
jmp 0x10303ed5
mov ebp, dword [esp + 0x6c]
xor ebx, ebx
xor edx, edx
xor edi, edi
mov eax, esi
test ebp, ebp
je 0x10303f39
nop
mov cl, byte [eax]
cmp cl, 0x20
je 0x10303f36
cmp cl, 9
jb 0x10303f31
cmp cl, 0xa
jbe 0x10303f36
cmp cl, 0xd
jne 0x10303f39
inc eax
jmp 0x10303f20
mov cl, byte [eax]
cmp cl, 0x4e
jne 0x10303fc4
cmp byte [eax + 1], 0x61
jne 0x10303fc4
cmp byte [eax + 2], cl
jne 0x10303fc4
cmp byte [eax + 3], dl
jne 0x103041a1
mov ebx, dword [esp + 0x10]
test ebx, ebx
je 0x10305196
mov eax, dword [esp + 0x14]
cmp eax, dword [0x1065fdf4]
jne 0x10303fa2
push 0xd
call fcn.103036f0
add esp, 4
test eax, eax
je 0x10303f96
movsd xmm0, qword [sym.php5.dll_xmlXPathNAN]
cvtpd2ps xmm0, xmm0
mov dword [ebx], eax
movss dword [eax + 8], xmm0
jmp 0x10305196
push 0
call sym.php5.dll_xmlSchemaFreeValue
jmp 0x10304569
push 0xe
call fcn.103036f0
add esp, 4
test eax, eax
je 0x10303f96
movsd xmm0, qword [sym.php5.dll_xmlXPathNAN]
movsd qword [eax + 8], xmm0
mov dword [ebx], eax
jmp 0x10305196
cmp cl, 0x2d
jne 0x10303fcf
mov ebx, 1
inc eax
mov cl, byte [eax]
cmp cl, 0x49
jne 0x10304093
cmp byte [eax + 1], 0x4e
jne 0x10304093
cmp byte [eax + 2], 0x46
jne 0x10304093
cmp byte [eax + 3], dl
jne 0x103041a1
mov esi, dword [esp + 0x10]
test esi, esi
je 0x10305196
mov eax, dword [esp + 0x14]
cmp eax, dword [0x1065fdf4]
jne 0x10304055
push 0xd
call fcn.103036f0
add esp, 4
test eax, eax
je 0x10303f96
test ebx, ebx
je 0x1030403d
movsd xmm0, qword [sym.php5.dll_xmlXPathNINF]
cvtpd2ps xmm0, xmm0
mov dword [esi], eax
movss dword [eax + 8], xmm0
jmp 0x10305196
movsd xmm0, qword [sym.php5.dll_xmlXPathPINF]
cvtpd2ps xmm0, xmm0
mov dword [esi], eax
movss dword [eax + 8], xmm0
jmp 0x10305196
push 0xe
call fcn.103036f0
add esp, 4
test eax, eax
je 0x10303f96
test ebx, ebx
je 0x1030407f
movsd xmm0, qword [sym.php5.dll_xmlXPathNINF]
movsd qword [eax + 8], xmm0
mov dword [esi], eax
jmp 0x10305196
movsd xmm0, qword [sym.php5.dll_xmlXPathPINF]
movsd qword [eax + 8], xmm0
mov dword [esi], eax
jmp 0x10305196
test ebx, ebx
jne 0x1030409d
cmp cl, 0x2b
jne 0x1030409d
inc eax
mov cl, byte [eax]
test cl, cl
je 0x103041a1
cmp cl, 0x2b
je 0x103041a1
cmp cl, 0x2d
je 0x103041a1
cmp cl, 0x30
jb 0x103040cf
mov edi, edi
cmp cl, 0x39
ja 0x103040cf
mov cl, byte [eax + 1]
inc eax
inc edx
cmp cl, 0x30
jae 0x103040c0
cmp byte [eax], 0x2e
jne 0x103040ef
mov cl, byte [eax + 1]
inc eax
cmp cl, 0x30
jb 0x103040ef
lea ecx, [ecx]
cmp cl, 0x39
ja 0x103040ef
mov cl, byte [eax + 1]
inc eax
inc edi
cmp cl, 0x30
jae 0x103040e0
test edx, edx
jne 0x103040fb
test edi, edi
je 0x103041a1
mov cl, byte [eax]
cmp cl, 0x65
je 0x10304107
cmp cl, 0x45
jne 0x1030412e
mov cl, byte [eax + 1]
inc eax
cmp cl, 0x2d
je 0x10304115
cmp cl, 0x2b
jne 0x10304116
inc eax
mov cl, byte [eax]
cmp cl, 0x30
jb 0x1030412e
lea ecx, [ecx]
cmp cl, 0x39
ja 0x1030412e
mov cl, byte [eax + 1]
inc eax
cmp cl, 0x30
jae 0x10304120
test ebp, ebp
je 0x1030414b
mov cl, byte [eax]
cmp cl, 0x20
je 0x10304148
cmp cl, 9
jb 0x10304143
cmp cl, 0xa
jbe 0x10304148
cmp cl, 0xd
jne 0x1030414b
inc eax
jmp 0x10304132
cmp byte [eax], 0
jne 0x103041a1
mov ebx, dword [esp + 0x10]
test ebx, ebx
je 0x10305196
mov eax, dword [esp + 0x14]
cmp eax, dword [0x1065fdf4]
jne 0x103041cb
push 0xd
call fcn.103036f0
mov edi, eax
add esp, 4
test edi, edi
je case.0x10303bb7.0
lea ecx, [edi + 8]
push ecx
push 0x10534d40
push esi
call dword [sym.imp.MSVCR110.dll_sscanf]
add esp, 0xc
cmp eax, 1
je 0x10304ace
push edi
call sym.php5.dll_xmlSchemaFreeValue
add esp, 4
mov eax, dword [esp + 0x20]
test eax, eax
je 0x103041b3
push eax
call dword [sym.php5.dll_xmlFree]
add esp, 4
pop esi
pop edi
pop ebp
mov eax, 1
pop ebx
mov ecx, dword [esp + 0x3c]
xor ecx, esp
call fcn.10311bec
add esp, 0x40
ret
push 0xe
call fcn.103036f0
mov edi, eax
add esp, 4
test edi, edi
je case.0x10303bb7.0
lea ecx, [edi + 8]
push ecx
push 0x10534d44
push esi
call dword [sym.imp.MSVCR110.dll_sscanf]
add esp, 0xc
cmp eax, 1
jne 0x10304198
mov dword [ebx], edi
jmp 0x10305196
cmp dword [esp + 0x6c], ebx
je 0x103042c3
mov al, byte [esi]
cmp al, 0x20
je 0x1030421a
cmp al, 9
jb 0x10304216
cmp al, 0xa
jbe 0x1030421a
cmp al, 0xd
jne 0x1030421d
inc esi
jmp 0x10304208
mov al, byte [esi]
cmp al, 0x30
jne 0x10304228
xor edi, edi
inc esi
jmp 0x1030429c
cmp al, 0x31
jne 0x10304234
mov edi, 1
inc esi
jmp 0x1030429c
cmp al, 0x74
jne 0x10304263
mov al, byte [esi + 1]
cmp al, 0x72
jne 0x103041a1
mov al, byte [esi + 2]
cmp al, 0x75
jne 0x103041a1
mov al, byte [esi + 3]
add esi, 4
cmp al, 0x65
jne 0x103041a1
mov edi, 1
jmp 0x1030429c
cmp al, 0x66
jne 0x103041a1
mov al, byte [esi + 1]
cmp al, 0x61
jne 0x103041a1
mov al, byte [esi + 2]
cmp al, 0x6c
jne 0x103041a1
mov al, byte [esi + 3]
cmp al, 0x73
jne 0x103041a1
mov al, byte [esi + 4]
add esi, 5
cmp al, 0x65
jne 0x103041a1
xor edi, edi
cmp byte [esi], bl
je 0x1030433b
mov al, byte [esi]
cmp al, 0x20
je 0x103042b6
cmp al, 9
jb 0x103042b2
cmp al, 0xa
jbe 0x103042b6
cmp al, 0xd
jne 0x103042b9
inc esi
jmp 0x103042a4
cmp byte [esi], bl
jne 0x103041a1
jmp 0x1030433b
mov al, byte [esi]
cmp al, 0x30
jne 0x103042ce
cmp byte [esi + 1], bl
je 0x10304339
cmp al, 0x31
jne 0x103042de
cmp byte [esi + 1], bl
jne 0x103042de
mov edi, 1
jmp 0x1030433b
cmp al, 0x74
jne 0x10304300
cmp byte [esi + 1], 0x72
jne 0x10304300
cmp byte [esi + 2], 0x75
jne 0x10304300
cmp byte [esi + 3], 0x65
jne 0x10304300
cmp byte [esi + 4], bl
jne 0x10304300
mov edi, 1
jmp 0x1030433b
cmp al, 0x66
jne 0x103041a1
cmp byte [esi + 1], 0x61
jne 0x103041a1
cmp byte [esi + 2], 0x6c
jne 0x103041a1
cmp byte [esi + 3], 0x73
jne 0x103041a1
cmp byte [esi + 4], 0x65
jne 0x103041a1
cmp byte [esi + 5], bl
jne 0x103041a1
xor edi, edi
test edx, edx
je 0x10305196
push 0xf
call fcn.103036f0
add esp, 4
test eax, eax
je case.0x10303bb7.0
mov dword [eax + 8], edi
jmp 0x10305190
mov eax, esi
cmp dword [esp + 0x6c], ebx
jne 0x103043aa
cmp byte [esi], bl
je 0x103043aa
lea esp, [esp]
mov cl, byte [eax]
cmp cl, 0xd
je 0x103041a1
cmp cl, 0xa
je 0x103041a1
cmp cl, 9
je 0x103041a1
inc eax
cmp cl, 0x20
jne 0x103043a6
mov cl, byte [eax]
test cl, cl
je 0x103041a1
cmp cl, 0x20
je 0x103041a1
cmp byte [eax], bl
jne 0x10304370
test edx, edx
je 0x10305196
push 0x10
jmp 0x10303bd2
cmp dword [esp + 0x6c], ebx
je 0x103043d1
push esi
call sym.php5.dll_xmlSchemaCollapseString
add esp, 4
test eax, eax
mov dword [esp + 0x20], eax
cmovne esi, eax
push esi
call sym.php5.dll_xmlCheckLanguageID
add esp, 4
cmp eax, 1
jne 0x103041a1
mov ebx, dword [esp + 0x10]
test ebx, ebx
je 0x10305196
push 0x11
jmp 0x10304ab0
push 1
push esi
call sym.php5.dll_xmlValidateNMToken
add esp, 8
test eax, eax
jne 0x103041a1
mov ebx, dword [esp + 0x10]
test ebx, ebx
je 0x10305196
push 0x12
jmp 0x10304ab0
push ebp
push edx
push esi
push dword [0x1065fe70]
call fcn.10303990
xor ebx, ebx
add esp, 0x10
test eax, eax
setle bl
jmp case.default.0x10303bb7
push 1
push esi
call sym.php5.dll_xmlValidateName
mov ebx, eax
add esp, 8
test ebx, ebx
jne case.default.0x10303bb7
mov edi, dword [esp + 0x10]
test edi, edi
je case.default.0x10303bb7
test esi, esi
je case.default.0x10303bb7
push 0x14
call fcn.103036f0
mov ebp, eax
add esp, 4
test ebp, ebp
je case.0x10303bb7.0
mov cl, byte [esi]
cmp cl, 0x20
je 0x1030448c
cmp cl, 9
jb 0x10304487
cmp cl, 0xa
jbe 0x1030448c
cmp cl, 0xd
jne 0x1030448f
inc esi
jmp 0x10304476
mov al, byte [esi]
mov ecx, esi
test al, al
je 0x103044af
cmp al, 0x20
je 0x103044af
cmp al, 9
jb 0x103044a3
cmp al, 0xa
jbe 0x103044af
cmp al, 0xd
je 0x103044af
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x10304497
sub ecx, esi
push ecx
push esi
call sym.php5.dll_xmlStrndup
mov dword [ebp + 8], eax
add esp, 8
mov dword [edi], ebp
jmp case.default.0x10303bb7
xor eax, eax
push 1
push esi
mov dword [esp + 0x20], eax
xor edi, edi
call sym.php5.dll_xmlValidateQName
mov ebx, eax
add esp, 8
test ebx, ebx
jne case.default.0x10303bb7
test ebp, ebp
je 0x10304546
lea eax, [esp + 0x14]
push eax
push esi
call sym.php5.dll_xmlSplitQName2
push dword [esp + 0x1c]
mov edi, eax
push ebp
push dword [ebp + 0x20]
call sym.php5.dll_xmlSearchNs
add esp, 0x14
test eax, eax
jne 0x1030452d
mov eax, dword [esp + 0x14]
test eax, eax
je 0x10304546
push eax
call dword [sym.php5.dll_xmlFree]
add esp, 4
test edi, edi
je 0x103041a1
push edi
call dword [sym.php5.dll_xmlFree]
jmp 0x1030419e
mov eax, dword [eax + 8]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x14]
test eax, eax
je 0x10304546
push eax
call dword [sym.php5.dll_xmlFree]
add esp, 4
mov ecx, dword [esp + 0x10]
test ecx, ecx
je 0x103045c8
push 0x15
call fcn.103036f0
mov ebp, eax
add esp, 4
test ebp, ebp
jne 0x10304594
test edi, edi
je case.0x10303bb7.0
push edi
call dword [sym.php5.dll_xmlFree]
add esp, 4
mov eax, dword [esp + 0x20]
test eax, eax
je 0x1030457e
push eax
call dword [sym.php5.dll_xmlFree]
add esp, 4
pop esi
pop edi
pop ebp
or eax, 0xffffffff
pop ebx
mov ecx, dword [esp + 0x3c]
xor ecx, esp
call fcn.10311bec
add esp, 0x40
ret
test edi, edi
je 0x1030459d
mov dword [ebp + 8], edi
jmp 0x103045a9
push esi
call sym.php5.dll_xmlStrdup
add esp, 4
mov dword [ebp + 8], eax
mov eax, dword [esp + 0x18]
test eax, eax
je 0x103045bd
push eax
call sym.php5.dll_xmlStrdup
add esp, 4
mov dword [ebp + 0xc], eax
mov eax, dword [esp + 0x10]
mov dword [eax], ebp
jmp case.default.0x10303bb7
test edi, edi
je case.default.0x10303bb7
push edi
call dword [sym.php5.dll_xmlFree]
add esp, 4
jmp case.default.0x10303bb7
push 1
push esi
call sym.php5.dll_xmlValidateNCName
mov ebx, eax
add esp, 8
test ebx, ebx
jne case.default.0x10303bb7
mov ebp, dword [esp + 0x10]
test ebp, ebp
je case.default.0x10303bb7
push 0x16
call fcn.103036f0
mov edi, eax
add esp, 4
test edi, edi
je case.0x10303bb7.0
push esi
call sym.php5.dll_xmlStrdup
mov dword [edi + 8], eax
add esp, 4
mov dword [ebp], edi
jmp case.default.0x10303bb7
push 1
push esi
call sym.php5.dll_xmlValidateNCName
mov ebx, eax
add esp, 8
test ebx, ebx
jne case.default.0x10303bb7
cmp dword [esp + 0x10], eax
je 0x10304669
push 0x17
call fcn.103036f0
mov edi, eax
add esp, 4
test edi, edi
je case.0x10303bb7.0
push esi
call sym.php5.dll_xmlStrdup
mov dword [edi + 8], eax
mov eax, dword [esp + 0x14]
add esp, 4
mov dword [eax], edi
test ebp, ebp
je case.default.0x10303bb7
cmp dword [ebp + 4], 2
jne case.default.0x10303bb7
cmp dword [ebp + 0x28], 2
je case.default.0x10303bb7
push esi
call fcn.10303910
add esp, 4
mov edi, eax
push ebp
test edi, edi
je 0x103046ae
push edi
push dword [ebp + 0x20]
push 0
call sym.php5.dll_xmlAddID
push edi
mov esi, eax
call dword [sym.php5.dll_xmlFree]
add esp, 0x14
jmp 0x103046be
push esi
push dword [ebp + 0x20]
push 0
call sym.php5.dll_xmlAddID
add esp, 0x10
mov esi, eax
test esi, esi
jne 0x103046ca
lea ebx, [esi + 2]
jmp case.default.0x10303bb7
mov dword [ebp + 0x28], 2
jmp case.default.0x10303bb7
push 1
push esi
call sym.php5.dll_xmlValidateNCName
mov ebx, eax
add esp, 8
test ebx, ebx
jne case.default.0x10303bb7
cmp dword [esp + 0x10], eax
je 0x10304717
push 0x18
call fcn.103036f0
mov edi, eax
add esp, 4
test edi, edi
je case.0x10303bb7.0
push esi
call sym.php5.dll_xmlStrdup
mov dword [edi + 8], eax
mov eax, dword [esp + 0x14]
add esp, 4
mov dword [eax], edi
test ebp, ebp
je case.default.0x10303bb7
cmp dword [ebp + 4], 2
jne case.default.0x10303bb7
push esi
call fcn.10303910
add esp, 4
mov edi, eax
push ebp
test edi, edi
je 0x1030475a
push edi
push dword [ebp + 0x20]
push 0
call sym.php5.dll_xmlAddRef
push edi
call dword [sym.php5.dll_xmlFree]
add esp, 0x14
mov dword [ebp + 0x28], 3
jmp case.default.0x10303bb7
push esi
push dword [ebp + 0x20]
push 0
call sym.php5.dll_xmlAddRef
add esp, 0x10
mov dword [ebp + 0x28], 3
jmp case.default.0x10303bb7
push ebp
push edx
push esi
push dword [0x1065fe5c]
call fcn.10303990
add esp, 0x10
test eax, eax
jns 0x10304793
mov ebx, 2
jmp case.default.0x10303bb7
xor ebx, ebx
test ebp, ebp
je case.default.0x10303bb7
cmp dword [ebp + 4], 2
jne case.default.0x10303bb7
mov dword [ebp + 0x28], 4
jmp case.default.0x10303bb7
push 1
push esi
call sym.php5.dll_xmlValidateNCName
add esp, 8
mov ebx, eax
test ebp, ebp
je 0x10304863
cmp dword [ebp + 0x20], 0
je 0x10304863
test ebx, ebx
jne case.default.0x10303bb7
push esi
call fcn.10303910
mov edi, eax
add esp, 4
test edi, edi
je 0x10304800
push edi
push dword [ebp + 0x20]
call sym.php5.dll_xmlGetDocEntity
push edi
mov esi, eax
call dword [sym.php5.dll_xmlFree]
add esp, 0xc
jmp 0x1030480e
push esi
push dword [ebp + 0x20]
call sym.php5.dll_xmlGetDocEntity
add esp, 8
mov esi, eax
test esi, esi
je 0x10304859
cmp dword [esi + 0x30], 3
jne 0x10304859
cmp dword [esp + 0x10], 0
je 0x10304843
call sym.php5.dll___xmlGenericErrorContext
mov esi, eax
call sym.php5.dll___xmlGenericError
mov eax, dword [eax]
push 0xb0f
push str...xmlschemastypes.c
push str.Unimplemented_block_at__s:_d_n
push dword [esi]
call eax
add esp, 0x10
cmp dword [ebp + 4], 2
jne case.default.0x10303bb7
mov dword [ebp + 0x28], 5
jmp case.default.0x10303bb7
mov ebx, 4
jmp case.default.0x10303bb7
mov ebx, 3
jmp case.default.0x10303bb7
test ebp, ebp
je 0x103048ad
cmp dword [ebp + 0x20], ebx
je 0x103048ad
push ebp
push edx
push esi
push dword [0x1065fe64]
call fcn.10303990
add esp, 0x10
test eax, eax
jg 0x10304895
mov ebx, 1
jmp case.default.0x10303bb7
xor ebx, ebx
cmp dword [ebp + 4], 2
jne case.default.0x10303bb7
mov dword [ebp + 0x28], 6
jmp case.default.0x10303bb7
mov eax, dword [esp + 0x20]
test eax, eax
je 0x103048bf
push eax
call dword [sym.php5.dll_xmlFree]
add esp, 4
pop esi
pop edi
pop ebp
mov eax, 3
pop ebx
mov ecx, dword [esp + 0x3c]
xor ecx, esp
call fcn.10311bec
add esp, 0x40
ret
xor eax, eax
push 1
push esi
mov dword [esp + 0x1c], eax
xor edi, edi
call sym.php5.dll_xmlValidateQName
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x10304969
test ebp, ebp
je 0x10304863
lea eax, [esp + 0x18]
push eax
push esi
call sym.php5.dll_xmlSplitQName2
mov edi, eax
mov eax, dword [esp + 0x20]
add esp, 8
test eax, eax
je 0x1030493d
push eax
push ebp
push dword [ebp + 0x20]
call sym.php5.dll_xmlSearchNs
mov ecx, dword [esp + 0x1c]
add esp, 0xc
test eax, eax
jne 0x1030492a
lea ebx, [eax + 1]
jmp 0x10304941
test ecx, ecx
je 0x10304941
push dword [eax + 8]
call sym.php5.dll_xmlStrdup
add esp, 4
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0x10]
test edi, edi
je 0x10304957
test ecx, ecx
je 0x1030494d
test ebx, ebx
je 0x10304957
push edi
call dword [sym.php5.dll_xmlFree]
add esp, 4
mov eax, dword [esp + 0x18]
test eax, eax
je 0x10304969
push eax
call dword [sym.php5.dll_xmlFree]
add esp, 4
test ebp, ebp
je 0x10304863
mov eax, dword [ebp + 0x20]
test eax, eax
je 0x10304863
test ebx, ebx
jne case.default.0x10303bb7
push esi
push eax
push ebx
call sym.php5.dll_xmlValidateNotationUse
add esp, 0xc
cmp eax, 1
jne 0x1030488b
cmp dword [esp + 0x10], ebx
je case.default.0x10303bb7
push 0x1c
call fcn.103036f0
mov ebp, eax
add esp, 4
test ebp, ebp
je 0x103049e1
test edi, edi
je 0x103049bb
mov dword [ebp + 8], edi
jmp 0x103049c7
push esi
call sym.php5.dll_xmlStrdup
add esp, 4
mov dword [ebp + 8], eax
mov eax, dword [esp + 0x14]
test eax, eax
je 0x103045bd
mov dword [ebp + 0xc], eax
mov eax, dword [esp + 0x10]
mov dword [eax], ebp
jmp case.default.0x10303bb7
test edi, edi
je 0x103049ef
push edi
call dword [sym.php5.dll_xmlFree]
add esp, 4
mov eax, dword [esp + 0x14]
test eax, eax
je case.0x10303bb7.0
push eax
jmp 0x10304563
cmp byte [esi], bl
je 0x10304aa2
cmp dword [esp + 0x6c], ebx
je 0x10304a21
push esi
call sym.php5.dll_xmlSchemaCollapseString
add esp, 4
test eax, eax
mov dword [esp + 0x20], eax
cmovne esi, eax
push esi
call sym.php5.dll_xmlStrdup
mov ebx, eax
add esp, 4
cmp byte [ebx], 0
mov edx, ebx
je 0x10304a7f
mov cl, byte [edx]
cmp cl, 0x20
jb 0x10304a76
cmp cl, 0x7f
jae 0x10304a76
cmp cl, 0x20
je 0x10304a76
cmp cl, 0x3c
je 0x10304a76
cmp cl, 0x3e
je 0x10304a76
cmp cl, 0x22
je 0x10304a76
cmp cl, 0x7b
je 0x10304a76
cmp cl, 0x7d
je 0x10304a76
cmp cl, 0x7c
je 0x10304a76
cmp cl, 0x5c
je 0x10304a76
cmp cl, 0x5e
je 0x10304a76
cmp cl, 0x60
je 0x10304a76
cmp cl, 0x27
jne 0x10304a79
mov byte [edx], 0x5f
inc edx
cmp byte [edx], 0
jne 0x10304a33
push ebx
call sym.php5.dll_xmlParseURI
push ebx
mov edi, eax
call dword [sym.php5.dll_xmlFree]
add esp, 8
test edi, edi
je 0x103041a1
push edi
call sym.php5.dll_xmlFreeURI
add esp, 4
mov ebx, dword [esp + 0x10]
test ebx, ebx
je 0x10305196
push 0x1d
call fcn.103036f0
mov edi, eax
add esp, 4
test edi, edi
je case.0x10303bb7.0
push esi
call sym.php5.dll_xmlStrdup
add esp, 4
mov dword [edi + 8], eax
mov dword [ebx], edi
jmp 0x10305196
xor edi, edi
test esi, esi
je 0x103041a1
mov ecx, dword [esp + 0x6c]
test ecx, ecx
je 0x10304afc
mov al, byte [esi]
cmp al, 0x20
je 0x10304af9
cmp al, 9
jb 0x10304af5
cmp al, 0xa
jbe 0x10304af9
cmp al, 0xd
jne 0x10304afc
inc esi
jmp 0x10304ae7
mov ebx, esi
mov edi, edi
mov al, byte [esi]
cmp al, 0x30
jb 0x10304b0a
cmp al, 0x39
jbe 0x10304b1a
cmp al, 0x41
jb 0x10304b12
cmp al, 0x46
jbe 0x10304b1a
cmp al, 0x61
jb 0x10304b1e
cmp al, 0x66
ja 0x10304b1e
inc edi
inc esi
jmp 0x10304b00
test ecx, ecx
je 0x10304b37
mov al, byte [esi]
cmp al, 0x20
je 0x10304b34
cmp al, 9
jb 0x10304b30
cmp al, 0xa
jbe 0x10304b34
cmp al, 0xd
jne 0x10304b37
inc esi
jmp 0x10304b22
cmp byte [esi], 0
jne 0x103041a1
mov eax, edi
and eax, reloc.WS2_32.dll_accept
jns 0x10304b4e
dec eax
or eax, 0xfffffffe
inc eax
jne 0x103041a1
test edx, edx
je 0x10305196
push 0x2b
call fcn.103036f0
mov esi, eax
add esp, 4
test esi, esi
je case.0x10303bb7.0
push edi
push ebx
call sym.php5.dll_xmlStrndup
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x10304b9f
push str.allocating_hexbin_data
push eax
push ebp
push 2
push 0xf
call fcn.10261340
push esi
call dword [sym.php5.dll_xmlFree]
add esp, 0x18
jmp 0x103041a1
mov eax, edi
cdq
sub eax, edx
mov edx, eax
sar edx, 1
mov ecx, ebx
test edi, edi
jle 0x10304bc0
mov edi, edi
mov al, byte [ecx]
dec edi
cmp al, 0x61
jb 0x10304bbb
sub al, 0x20
mov byte [ecx], al
inc ecx
test edi, edi
jg 0x10304bb0
mov eax, dword [esp + 0x10]
mov dword [esi + 8], ebx
mov dword [esi + 0xc], edx
mov dword [eax], esi
jmp 0x10305196
xor eax, eax
xor ebx, ebx
mov edi, esi
mov dword [esp + 0x1c], eax
test esi, esi
je 0x103041a1
mov al, byte [esi]
test al, al
je 0x10304c0d
lea esp, [esp]
push eax
call fcn.102fe4b0
add esp, 4
test eax, eax
js 0x10304c03
cmp eax, 0x40
jge 0x10304c0d
inc ebx
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x10304bf0
jmp 0x10304c3a
mov al, byte [edi]
test al, al
je 0x10304c3a
push eax
call fcn.102fe4b0
add esp, 4
test eax, eax
js 0x10304c29
cmp eax, 0x40
jl 0x103041a1
cmp eax, 0x40
jne 0x10304c32
inc dword [esp + 0x1c]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x10304c13
mov eax, ebx
cdq
and edx, 3
add eax, edx
sar eax, 2
lea eax, [eax + eax*2]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x10304c6d
mov eax, ebx
and eax, reloc.WS2_32.dll_closesocket
jns 0x10304c62
dec eax
or eax, 0xfffffffc
inc eax
jne 0x103041a1
jmp 0x10304cfa
cmp eax, 1
jne 0x10304cb3
mov eax, ebx
and eax, reloc.WS2_32.dll_closesocket
jns 0x10304c80
dec eax
or eax, 0xfffffffc
inc eax
cmp eax, 3
jne 0x103041a1
movzx eax, byte [edi]
push eax
call fcn.102fe4b0
add esp, 4
test eax, eax
js 0x10304c9e
cmp eax, 0x3f
jle 0x10304ca1
dec edi
jmp 0x10304c89
test eax, 0xffffffc3
jne 0x103041a1
add dword [esp + 0x14], 2
jmp 0x10304cfa
cmp eax, 2
jne 0x103041a1
mov eax, ebx
and eax, reloc.WS2_32.dll_closesocket
jns 0x10304cca
dec eax
or eax, 0xfffffffc
inc eax
cmp eax, 2
jne 0x103041a1
movzx eax, byte [edi]
push eax
call fcn.102fe4b0
add esp, 4
test eax, eax
js 0x10304ce8
cmp eax, 0x3f
jle 0x10304ceb
dec edi
jmp 0x10304cd3
test eax, 0xffffffcf
jne 0x103041a1
inc dword [esp + 0x14]
cmp dword [esp + 0x10], 0
je 0x10305196
push 0x2c
call fcn.103036f0
add esp, 4
mov dword [esp + 0x18], eax
test eax, eax
je case.0x10303bb7.0
mov ecx, dword [esp + 0x1c]
inc ecx
add ecx, ebx
push ecx
call dword [sym.php5.dll_xmlMallocAtomic]
mov edi, eax
add esp, 4
test edi, edi
jne 0x10304d55
push str.allocating_base64_data
push eax
push ebp
push 2
push 0xf
call fcn.10261340
mov ebp, dword [esp + 0x2c]
push ebp
call dword [sym.php5.dll_xmlFree]
add esp, 0x18
jmp 0x103041a1
mov ebp, dword [esp + 0x18]
mov dword [ebp + 8], edi
cmp byte [esi], 0
je 0x10304d79
mov bl, byte [esi]
push ebx
call fcn.102fe4b0
add esp, 4
test eax, eax
js 0x10304d73
mov byte [edi], bl
inc edi
inc esi
cmp byte [esi], 0
jne 0x10304d61
mov eax, dword [esp + 0x14]
mov byte [edi], 0
mov dword [ebp + 0xc], eax
mov eax, dword [esp + 0x10]
mov dword [eax], ebp
jmp 0x10305196
mov dword [esp + 0x1c], esi
mov dword [esp + 0x14], ebx
test esi, esi
je 0x103041a1
mov ebx, dword [esp + 0x6c]
test ebx, ebx
je 0x10304dbf
mov al, byte [esi]
cmp al, 0x20
je 0x10304db8
cmp al, 9
jb 0x10304db4
cmp al, 0xa
jbe 0x10304db8
cmp al, 0xd
jne 0x10304dbf
inc esi
mov dword [esp + 0x1c], esi
jmp 0x10304da6
mov al, byte [esi]
cmp al, 0x2d
jne 0x10304dcf
mov dword [esp + 0x14], 1
jmp 0x10304dd3
cmp al, 0x2b
jne 0x10304dd8
inc esi
mov dword [esp + 0x1c], esi
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0x30]
push eax
lea eax, [esp + 0x30]
push eax
lea eax, [esp + 0x28]
push eax
call fcn.10303800
add esp, 0x10
mov dword [esp + 0x18], eax
test eax, eax
js 0x103041a1
mov ecx, dword [esp + 0x1c]
test ebx, ebx
je 0x10304e1d
mov al, byte [ecx]
cmp al, 0x20
je 0x10304e1a
cmp al, 9
jb 0x10304e16
cmp al, 0xa
jbe 0x10304e1a
cmp al, 0xd
jne 0x10304e1d
inc ecx
jmp 0x10304e08
cmp byte [ecx], 0
jne 0x103041a1
mov esi, dword [esp + 0x24]
mov ebx, dword [esp + 0x2c]
mov ebp, dword [esp + 0x28]
cmp edi, 0x1f
jne 0x10304e57
cmp dword [esp + 0x14], 0
jne 0x10304ea9
test esi, esi
jne 0x103041a1
test ebx, ebx
jne 0x103041a1
test ebp, ebp
je 0x10304ea9
jmp 0x103041a1
cmp edi, 0x22
jne 0x10304e63
cmp dword [esp + 0x14], 1
jmp 0x10304e6d
cmp edi, 0x20
jne 0x10304e85
cmp dword [esp + 0x14], 0
je 0x103041a1
test esi, esi
jne 0x10304ea9
test ebx, ebx
jne 0x10304ea9
test ebp, ebp
je 0x103041a1
jmp 0x10304ea9
cmp edi, 0x21
jne 0x10304ea9
cmp dword [esp + 0x14], 1
jne 0x10304ea9
test esi, esi
jne 0x103041a1
test ebx, ebx
jne 0x103041a1
test ebp, ebp
jne 0x103041a1
cmp dword [esp + 0x10], 0
je 0x10305196
push edi
call fcn.103036f0
mov ecx, eax
add esp, 4
test ecx, ecx
je 0x10305196
mov eax, dword [esp + 0x18]
test eax, eax
mov edx, 1
cmove eax, edx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x18], eax
mov eax, dword [ecx + 0x18]
and eax, 0xffffff00
and edx, 1
or eax, edx
mov dword [ecx + 0x18], eax
mov eax, dword [esp + 0x18]
mov byte [ecx + 0x19], al
mov eax, dword [esp + 0x10]
mov dword [ecx + 8], ebp
mov dword [ecx + 0xc], ebx
mov dword [ecx + 0x10], esi
mov dword [eax], ecx
jmp 0x10305196
xor edi, edi
mov dword [esp + 0x1c], esi
test esi, esi
je 0x103041a1
mov al, byte [esi]
cmp al, 0x2d
jne 0x10304f23
mov edi, 1
jmp 0x10304f27
cmp al, 0x2b
jne 0x10304f2e
lea eax, [esi + 1]
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x2c]
push eax
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x30]
push eax
lea eax, [esp + 0x28]
push eax
call fcn.10303800
add esp, 0x10
mov dword [esp + 0x18], eax
test eax, eax
js 0x103041a1
mov ecx, dword [esp + 0x1c]
cmp byte [ecx], bl
jne 0x103041a1
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 0x28]
mov ecx, dword [eax + 0x58]
mov ebp, dword [esp + 0x2c]
mov ebx, dword [esp + 0x24]
cmp ecx, 0x25
jne 0x10304fc1
cmp ebp, 0x39a
jb 0x10305053
ja 0x103041a1
cmp ebx, 0x2028830
jb 0x10305053
ja 0x103041a1
test edi, edi
jne 0x10304fad
cmp esi, 0x343cfff
jmp 0x1030504d
cmp edi, 1
jne 0x10305053
cmp esi, 0x343d000
jmp 0x1030504d
cmp ecx, 0x23
jne 0x10304ff6
test ebp, ebp
jne 0x103041a1
cmp ebx, 0x15
jb 0x10305053
ja 0x103041a1
test edi, edi
jne 0x10304fe9
cmp esi, 0x2d48aff
jmp 0x1030504d
cmp edi, 1
jne 0x10305053
cmp esi, 0x2d48b00
jmp 0x1030504d
cmp ecx, 0x27
jne 0x10305024
test ebx, ebx
jne 0x103041a1
test ebp, ebp
jne 0x103041a1
cmp edi, 1
jne 0x10305018
cmp esi, 0x8000
jmp 0x1030504d
test edi, edi
jne 0x10305053
cmp esi, 0x7fff
jmp 0x1030504d
cmp ecx, 0x29
jne 0x10305053
test ebx, ebx
jne 0x103041a1
test ebp, ebp
jne 0x103041a1
cmp edi, 1
jne 0x10305046
cmp esi, 0x80
jmp 0x1030504d
test edi, edi
jne 0x10305053
cmp esi, 0x7f
ja 0x103041a1
cmp dword [esp + 0x10], 0
je 0x10305196
push ecx
call fcn.103036f0
add esp, 4
test eax, eax
je 0x10305196
mov ecx, dword [eax + 0x18]
and ecx, 0xffffff00
and edi, 1
or ecx, edi
mov dword [eax + 0x18], ecx
mov ecx, dword [esp + 0x18]
mov dword [eax + 8], esi
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebp
jmp 0x1030518d
mov dword [esp + 0x18], esi
test esi, esi
je 0x103041a1
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x30]
push eax
lea eax, [esp + 0x2c]
push eax
lea eax, [esp + 0x24]
push eax
call fcn.10303800
add esp, 0x10
mov dword [esp + 0x14], eax
test eax, eax
js 0x103041a1
mov ecx, dword [esp + 0x18]
cmp byte [ecx], bl
jne 0x103041a1
mov ebx, dword [esp + 0x28]
mov esi, dword [esp + 0x2c]
mov ebp, dword [esp + 0x24]
cmp edi, 0x26
jne 0x10305107
cmp ebx, 0x734
jb 0x10305165
ja 0x103041a1
cmp esi, 0x4051061
jb 0x10305165
ja 0x103041a1
cmp ebp, 0x91beff
jmp 0x1030515f
cmp edi, 0x24
jne 0x10305127
test ebx, ebx
jne 0x103041a1
cmp esi, 0x2a
jb 0x10305165
ja 0x103041a1
cmp ebp, 0x5a915ff
jmp 0x1030515f
cmp edi, 0x28
jne 0x10305144
test esi, esi
jne 0x103041a1
test ebx, ebx
jne 0x103041a1
cmp ebp, 0xffff
jmp 0x1030515f
cmp edi, 0x2a
jne 0x10305165
test esi, esi
jne 0x103041a1
test ebx, ebx
jne 0x103041a1
cmp ebp, 0xff
ja 0x103041a1
cmp dword [esp + 0x10], 0
je 0x10305196
push edi
call fcn.103036f0
add esp, 4
test eax, eax
je 0x10305196
and dword [eax + 0x18], 0xffffff00
mov ecx, dword [esp + 0x14]
mov dword [eax + 8], ebp
mov dword [eax + 0xc], esi
mov dword [eax + 0x10], ebx
mov byte [eax + 0x19], cl
mov ecx, dword [esp + 0x10]
mov dword [ecx], eax
mov eax, dword [esp + 0x20]
test eax, eax
je 0x103051a8
push eax
call dword [sym.php5.dll_xmlFree]
add esp, 4
mov ecx, dword [esp + 0x4c]
pop esi
pop edi
pop ebp
pop ebx
xor ecx, esp
xor eax, eax
call fcn.10311bec
add esp, 0x40
ret