Function at 0x1009aff0
Capabilities:
Parse credit card information

Disassembly:
sub esp, 0x38
mov eax, dword [0x100ead1c]
push esi
push edi
xor edi, edi
cmp eax, edi
mov dword [esp + 0xc], edi
mov dword [esp + 8], edi
jne 0x1009b00d
call sym.libxml2.dll_xmlSchemaInitTypes
mov esi, dword [esp + 0x44]
cmp esi, edi
jne 0x1009b01e
pop edi
or eax, 0xffffffff
pop esi
add esp, 0x38
ret
push ebp
mov ebp, dword [esp + 0x4c]
cmp ebp, edi
jne 0x1009b02c
mov ebp, 0x100ba33e
mov eax, dword [esp + 0x50]
cmp eax, edi
je 0x1009b036
mov dword [eax], edi
mov eax, dword [esp + 0x58]
test eax, eax
push ebx
mov ebx, 2
jne 0x1009b07a
test ebp, ebp
je 0x1009b07a
mov eax, dword [esi + 0x58]
cmp eax, 1
je 0x1009b07a
cmp eax, 0x2d
je 0x1009b07a
cmp eax, 0x2e
je 0x1009b07a
cmp eax, ebx
push ebp
jne 0x1009b066
call sym.libxml2.dll_xmlSchemaWhiteSpaceReplace
jmp 0x1009b06b
call sym.libxml2.dll_xmlSchemaCollapseString
mov edi, eax
add esp, 4
test edi, edi
mov dword [esp + 0x14], edi
je 0x1009b07a
mov ebp, edi
mov eax, dword [esi + 0x58]
cmp eax, 0x2e
mov dword [esp + 0x1c], eax
ja case.default.0x1009b091
movzx ecx, byte [eax + 0x1009c794]
jmp dword [ecx*4 + 0x1009c724]
mov eax, dword [esp + 0x6c]
test eax, eax
je 0x1009c694
mov eax, dword [esp + 0x54]
test eax, eax
je 0x1009c694
push 0x2e
jmp 0x1009b912
mov eax, dword [esp + 0x64]
test eax, eax
mov edx, dword [esp + 0x60]
jne 0x1009b12d
cmp edx, ebx
mov ecx, ebp
jne 0x1009b0f2
mov al, byte [ebp]
test al, al
je 0x1009b12d
cmp al, 0xd
je 0x1009c703
cmp al, 0xa
je 0x1009c703
cmp al, 9
je 0x1009c703
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x1009b0d0
jmp 0x1009b12d
cmp edx, 3
jne 0x1009b12d
cmp byte [ebp], 0
je 0x1009b12d
lea ecx, [ecx]
mov al, byte [ecx]
cmp al, 0xd
je 0x1009c703
cmp al, 0xa
je 0x1009c703
cmp al, 9
je 0x1009c703
inc ecx
cmp al, 0x20
jne 0x1009b128
cmp byte [ecx], 0x20
je 0x1009c703
cmp byte [ecx], 0
jne 0x1009b100
mov eax, dword [esp + 0x6c]
test eax, eax
je 0x1009c694
mov eax, dword [esp + 0x54]
test eax, eax
je 0x1009c694
mov eax, dword [esp + 0x68]
test eax, eax
je 0x1009b17f
cmp edx, 3
jne 0x1009b161
push ebp
call sym.libxml2.dll_xmlSchemaCollapseString
add esp, 4
mov dword [esp + 0x14], eax
jmp 0x1009b179
cmp edx, 2
jne 0x1009b175
push ebp
call sym.libxml2.dll_xmlSchemaWhiteSpaceReplace
add esp, 4
mov dword [esp + 0x14], eax
jmp 0x1009b179
mov eax, dword [esp + 0x14]
test eax, eax
je 0x1009b17f
mov ebp, eax
push 1
jmp 0x1009b864
mov eax, dword [esp + 0x64]
test eax, eax
je 0x1009b1b9
mov eax, dword [esp + 0x68]
test eax, eax
je 0x1009b1e2
cmp dword [esp + 0x60], 3
push ebp
jne 0x1009b1a5
call sym.libxml2.dll_xmlSchemaCollapseString
jmp 0x1009b1aa
call sym.libxml2.dll_xmlSchemaWhiteSpaceReplace
add esp, 4
test eax, eax
mov dword [esp + 0x14], eax
je 0x1009b1e2
mov ebp, eax
jmp 0x1009b1e2
mov al, byte [ebp]
test al, al
mov ecx, ebp
je 0x1009b1e2
cmp al, 0xd
je 0x1009c703
cmp al, 0xa
je 0x1009c703
cmp al, 9
je 0x1009c703
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x1009b1c2
mov eax, dword [esp + 0x54]
test eax, eax
je 0x1009c694
push 2
jmp 0x1009b8c8
test ebp, ebp
mov eax, ebp
lea edi, [esp + 0x2c]
je 0x1009c703
cmp byte [ebp], 0
je 0x1009c703
mov esi, dword [esp + 0x64]
test esi, esi
je 0x1009b22e
mov cl, byte [eax]
cmp cl, 0x20
je 0x1009b22b
cmp cl, 9
jb 0x1009b226
cmp cl, 0xa
jbe 0x1009b22b
cmp cl, 0xd
jne 0x1009b22e
inc eax
jmp 0x1009b215
mov cl, byte [eax]
cmp cl, 0x2d
mov dword [esp + 0x4c], 0
jne 0x1009b247
mov dword [esp + 0x4c], 1
jmp 0x1009b24c
cmp cl, 0x2b
jne 0x1009b24d
inc eax
mov cl, byte [eax]
test cl, cl
je 0x1009c703
xor ebx, ebx
or ebp, 0xffffffff
xor edx, edx
cmp cl, 0x30
jne 0x1009b271
mov edx, 1
mov cl, byte [eax + 1]
inc eax
cmp cl, 0x30
je 0x1009b268
cmp byte [eax], 0
je 0x1009b2ba
mov cl, byte [eax]
cmp cl, 0x30
jb 0x1009b28f
cmp cl, 0x39
ja 0x1009b28f
inc edi
mov byte [edi - 1], cl
inc eax
inc ebx
cmp ebx, 0x18
jb 0x1009b276
jmp 0x1009b2ba
cmp byte [eax], 0x2e
jne 0x1009b2ba
inc eax
mov ebp, ebx
mov cl, byte [eax]
cmp cl, 0x30
jb 0x1009b2ae
cmp cl, 0x39
ja 0x1009b2ae
inc edi
mov byte [edi - 1], cl
inc eax
inc ebx
cmp ebx, 0x18
jb 0x1009b297
test ebx, ebx
jne 0x1009b2ba
test edx, edx
je 0x1009c703
test esi, esi
je 0x1009b2d9
mov edi, edi
mov cl, byte [eax]
cmp cl, 0x20
je 0x1009b2d6
cmp cl, 9
jb 0x1009b2d1
cmp cl, 0xa
jbe 0x1009b2d6
cmp cl, 0xd
jne 0x1009b2d9
inc eax
jmp 0x1009b2c0
cmp byte [eax], 0
jne 0x1009c703
mov eax, dword [esp + 0x54]
test eax, eax
je 0x1009c694
push 3
call fcn.10097d70
mov esi, eax
add esp, 4
test esi, esi
je 0x1009c694
test ebx, ebx
je 0x1009b344
cmp ebp, 0xffffffff
je 0x1009b31c
cmp ebx, ebp
je 0x1009b31c
nop
cmp byte [edi - 1], 0x30
jne 0x1009b31c
dec edi
dec ebx
cmp ebx, ebp
jne 0x1009b310
test ebx, ebx
je 0x1009b344
lea eax, [esi + 0x10]
push eax
lea edx, [esp + 0x30]
lea ecx, [esi + 0xc]
mov dword [esp + 0x20], edx
push ecx
lea edx, [esi + 8]
push edx
lea eax, [esp + 0x28]
push eax
mov byte [edi], 0
call fcn.1009af00
add esp, 0x10
mov ecx, dword [esi + 0x18]
mov eax, dword [esp + 0x4c]
mov edx, dword [esi + 0x18]
xor ecx, eax
and ecx, 1
xor edx, ecx
test ebx, ebx
mov dword [esi + 0x18], edx
jne 0x1009b36b
mov edx, dword [esp + 0x54]
mov byte [esi + 0x19], 1
mov dword [edx], esi
jmp 0x1009c694
cmp ebp, 0xffffffff
mov byte [esi + 0x19], bl
mov eax, dword [esi + 0x18]
jne 0x1009b389
mov edx, dword [esp + 0x54]
and eax, 0xffffff01
mov dword [esi + 0x18], eax
mov dword [edx], esi
jmp 0x1009c694
mov edx, dword [esi + 0x18]
sub ebx, ebp
shl ebx, 1
xor ebx, edx
mov edx, dword [esp + 0x54]
and ebx, 0xfe
xor eax, ebx
mov dword [esi + 0x18], eax
mov dword [edx], esi
jmp 0x1009c694
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x54]
push ecx
push edx
push ebp
push eax
call fcn.1009a2e0
add esp, 0x10
mov dword [esp + 0x10], eax
jmp case.default.0x1009b091
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x54]
push eax
push ecx
mov eax, ebp
call fcn.1009a900
add esp, 8
mov dword [esp + 0x10], eax
jmp case.default.0x1009b091
mov edi, dword [esp + 0x64]
xor esi, esi
test edi, edi
mov eax, ebp
je 0x1009b409
mov edi, edi
mov cl, byte [eax]
cmp cl, 0x20
je 0x1009b406
cmp cl, 9
jb 0x1009b401
cmp cl, 0xa
jbe 0x1009b406
cmp cl, 0xd
jne 0x1009b409
inc eax
jmp 0x1009b3f0
mov cl, byte [eax]
mov dl, 0x4e
cmp cl, dl
jne 0x1009b47f
cmp byte [eax + 1], 0x61
jne 0x1009b47f
cmp byte [eax + 2], dl
jne 0x1009b47f
mov cl, byte [eax + 3]
test cl, cl
jne 0x1009c703
mov eax, dword [esp + 0x54]
test eax, eax
je 0x1009c694
mov edx, dword [esp + 0x4c]
cmp edx, dword [0x100ead58]
jne 0x1009b45f
push 0xd
call fcn.10097d70
add esp, 4
test eax, eax
je 0x1009b527
fld qword [sym.libxml2.dll_xmlXPathNAN]
fstp dword [eax + 8]
jmp 0x1009c68e
push 0xe
call fcn.10097d70
add esp, 4
test eax, eax
je 0x1009b527
fld qword [sym.libxml2.dll_xmlXPathNAN]
fstp qword [eax + 8]
jmp 0x1009c68e
cmp cl, 0x2d
jne 0x1009b48a
mov esi, 1
inc eax
mov cl, byte [eax]
cmp cl, 0x49
jne 0x1009b536
cmp byte [eax + 1], dl
jne 0x1009b536
cmp byte [eax + 2], 0x46
jne 0x1009b536
mov cl, byte [eax + 3]
test cl, cl
jne 0x1009c703
mov eax, dword [esp + 0x54]
test eax, eax
je 0x1009c694
mov edx, dword [esp + 0x4c]
cmp edx, dword [0x100ead58]
jne 0x1009b4f9
push 0xd
call fcn.10097d70
add esp, 4
test eax, eax
je 0x1009b527
test esi, esi
je 0x1009b4eb
fld qword [sym.libxml2.dll_xmlXPathNINF]
fstp dword [eax + 8]
jmp 0x1009c68e
fld qword [sym.libxml2.dll_xmlXPathPINF]
fstp dword [eax + 8]
jmp 0x1009c68e
push 0xe
call fcn.10097d70
add esp, 4
test eax, eax
je 0x1009b527
test esi, esi
je 0x1009b519
fld qword [sym.libxml2.dll_xmlXPathNINF]
fstp qword [eax + 8]
jmp 0x1009c68e
fld qword [sym.libxml2.dll_xmlXPathPINF]
fstp qword [eax + 8]
jmp 0x1009c68e
push 0
call sym.libxml2.dll_xmlSchemaFreeValue
add esp, 4
jmp case.0x1009b091.0
test esi, esi
jne 0x1009b540
cmp cl, 0x2b
jne 0x1009b540
inc eax
mov cl, byte [eax]
test cl, cl
je 0x1009c703
cmp cl, 0x2b
je 0x1009c703
cmp cl, 0x2d
je 0x1009c703
cmp cl, 0x30
jb 0x1009b56f
cmp cl, 0x39
ja 0x1009b56f
mov cl, byte [eax + 1]
inc eax
cmp cl, 0x30
jae 0x1009b561
cmp byte [eax], 0x2e
jne 0x1009b58e
mov cl, byte [eax + 1]
inc eax
cmp cl, 0x30
jb 0x1009b58e
lea ecx, [ecx]
cmp cl, 0x39
ja 0x1009b58e
mov cl, byte [eax + 1]
inc eax
cmp cl, 0x30
jae 0x1009b580
mov cl, byte [eax]
cmp cl, 0x65
je 0x1009b59a
cmp cl, 0x45
jne 0x1009b5be
mov cl, byte [eax + 1]
inc eax
cmp cl, 0x2d
je 0x1009b5a8
cmp cl, 0x2b
jne 0x1009b5a9
inc eax
mov cl, byte [eax]
cmp cl, 0x30
jb 0x1009b5be
cmp cl, 0x39
ja 0x1009b5be
mov cl, byte [eax + 1]
inc eax
cmp cl, 0x30
jae 0x1009b5b0
test edi, edi
je 0x1009b5db
mov cl, byte [eax]
cmp cl, 0x20
je 0x1009b5d8
cmp cl, 9
jb 0x1009b5d3
cmp cl, 0xa
jbe 0x1009b5d8
cmp cl, 0xd
jne 0x1009b5db
inc eax
jmp 0x1009b5c2
cmp byte [eax], 0
jne 0x1009c703
mov eax, dword [esp + 0x54]
test eax, eax
je 0x1009c694
mov edx, dword [esp + 0x4c]
cmp edx, dword [0x100ead58]
jne 0x1009b633
push 0xd
call fcn.10097d70
mov esi, eax
add esp, 4
test esi, esi
je case.0x1009b091.0
lea eax, [esi + 8]
push eax
push 0x100d67ec
push ebp
call dword [sym.imp.msvcrt.dll_sscanf]
add esp, 0xc
cmp eax, 1
jne 0x1009b66a
mov ecx, dword [esp + 0x54]
mov dword [ecx], esi
jmp 0x1009c694
push 0xe
call fcn.10097d70
mov esi, eax
add esp, 4
test esi, esi
je case.0x1009b091.0
lea edx, [esi + 8]
push edx
push 0x100d67e8
push ebp
call dword [sym.imp.msvcrt.dll_sscanf]
add esp, 0xc
cmp eax, 1
jne 0x1009b66a
mov eax, dword [esp + 0x54]
mov dword [eax], esi
jmp 0x1009c694
push esi
call sym.libxml2.dll_xmlSchemaFreeValue
add esp, 4
jmp 0x1009c703
mov ecx, dword [esp + 0x64]
test ecx, ecx
mov eax, ebp
je 0x1009b75a
mov cl, byte [eax]
cmp cl, 0x20
je 0x1009b69c
cmp cl, 9
jb 0x1009b697
cmp cl, 0xa
jbe 0x1009b69c
cmp cl, 0xd
jne 0x1009b69f
inc eax
jmp 0x1009b686
mov cl, byte [eax]
cmp cl, 0x30
jne 0x1009b6ae
xor esi, esi
inc eax
jmp 0x1009b72a
cmp cl, 0x31
jne 0x1009b6bb
mov esi, 1
inc eax
jmp 0x1009b72a
cmp cl, 0x74
jne 0x1009b6ed
mov cl, byte [eax + 1]
inc eax
inc eax
cmp cl, 0x72
jne 0x1009c703
mov dl, byte [eax]
inc eax
cmp dl, 0x75
jne 0x1009c703
mov cl, byte [eax]
inc eax
cmp cl, 0x65
jne 0x1009c703
mov esi, 1
jmp 0x1009b72a
cmp cl, 0x66
jne 0x1009c703
mov dl, byte [eax + 1]
inc eax
inc eax
cmp dl, 0x61
jne 0x1009c703
mov cl, byte [eax]
inc eax
cmp cl, 0x6c
jne 0x1009c703
mov dl, byte [eax]
inc eax
cmp dl, 0x73
jne 0x1009c703
mov cl, byte [eax]
inc eax
cmp cl, 0x65
jne 0x1009c703
xor esi, esi
cmp byte [eax], 0
je 0x1009b7db
mov cl, byte [eax]
cmp cl, 0x20
je 0x1009b749
cmp cl, 9
jb 0x1009b744
cmp cl, 0xa
jbe 0x1009b749
cmp cl, 0xd
jne 0x1009b74c
inc eax
jmp 0x1009b733
cmp byte [eax], 0
jne 0x1009c703
jmp 0x1009b7db
mov al, byte [ebp]
cmp al, 0x30
jne 0x1009b768
mov cl, byte [ebp + 1]
test cl, cl
je 0x1009b7d9
cmp al, 0x31
jne 0x1009b77a
mov cl, byte [ebp + 1]
test cl, cl
jne 0x1009b77a
mov esi, 1
jmp 0x1009b7db
cmp al, 0x74
mov cl, 0x65
jne 0x1009b79f
cmp byte [ebp + 1], 0x72
jne 0x1009b79f
cmp byte [ebp + 2], 0x75
jne 0x1009b79f
cmp byte [ebp + 3], cl
jne 0x1009b79f
mov dl, byte [ebp + 4]
test dl, dl
jne 0x1009b79f
mov esi, 1
jmp 0x1009b7db
cmp al, 0x66
jne 0x1009c703
cmp byte [ebp + 1], 0x61
jne 0x1009c703
cmp byte [ebp + 2], 0x6c
jne 0x1009c703
cmp byte [ebp + 3], 0x73
jne 0x1009c703
cmp byte [ebp + 4], cl
jne 0x1009c703
mov al, byte [ebp + 5]
test al, al
jne 0x1009c703
xor esi, esi
mov eax, dword [esp + 0x54]
test eax, eax
je 0x1009c694
push 0xf
call fcn.10097d70
add esp, 4
test eax, eax
je case.0x1009b091.0
mov edx, dword [esp + 0x54]
mov dword [eax + 8], esi
mov dword [edx], eax
jmp 0x1009c694
mov eax, dword [esp + 0x64]
test eax, eax
mov ecx, ebp
jne 0x1009b856
cmp byte [ebp], 0
je 0x1009b856
jmp 0x1009b820
mov al, byte [ecx]
cmp al, 0xd
je 0x1009c703
cmp al, 0xa
je 0x1009c703
cmp al, 9
je 0x1009c703
inc ecx
cmp al, 0x20
jne 0x1009b851
mov al, byte [ecx]
test al, al
je 0x1009c703
cmp al, 0x20
je 0x1009c703
cmp byte [ecx], 0
jne 0x1009b820
mov eax, dword [esp + 0x54]
test eax, eax
je 0x1009c694
push 0x10
call fcn.10097d70
mov esi, eax
add esp, 4
test esi, esi
je case.0x1009b091.0
push ebp
call sym.libxml2.dll_xmlStrdup
mov dword [esi + 8], eax
mov eax, dword [esp + 0x58]
add esp, 4
mov dword [eax], esi
jmp 0x1009c694
mov eax, dword [esp + 0x64]
test eax, eax
je 0x1009b8a8
push ebp
call sym.libxml2.dll_xmlSchemaCollapseString
add esp, 4
test eax, eax
mov dword [esp + 0x14], eax
je 0x1009b8a8
mov ebp, eax
push ebp
call sym.libxml2.dll_xmlCheckLanguageID
add esp, 4
cmp eax, 1
jne 0x1009c703
mov eax, dword [esp + 0x54]
test eax, eax
je 0x1009c694
push 0x11
call fcn.10097d70
mov esi, eax
add esp, 4
test esi, esi
je case.0x1009b091.0
push ebp
call sym.libxml2.dll_xmlStrdup
mov ecx, dword [esp + 0x58]
mov dword [esi + 8], eax
add esp, 4
mov dword [ecx], esi
jmp 0x1009c694
push 1
push ebp
call sym.libxml2.dll_xmlValidateNMToken
add esp, 8
test eax, eax
jne 0x1009c703
mov eax, dword [esp + 0x54]
test eax, eax
je 0x1009c694
push 0x12
call fcn.10097d70
mov esi, eax
add esp, 4
test esi, esi
je case.0x1009b091.0
push ebp
call sym.libxml2.dll_xmlStrdup
mov edx, dword [esp + 0x58]
mov dword [esi + 8], eax
add esp, 4
mov dword [edx], esi
jmp 0x1009c694
mov eax, dword [esp + 0x58]
mov ecx, dword [0x100eadd4]
push eax
push ecx
mov ecx, dword [esp + 0x5c]
mov eax, ebp
call fcn.1009adb0
xor edx, edx
add esp, 8
test eax, eax
setle dl
mov dword [esp + 0x10], edx
jmp case.default.0x1009b091
push 1
push ebp
call sym.libxml2.dll_xmlValidateName
add esp, 8
test eax, eax
mov dword [esp + 0x10], eax
jne case.default.0x1009b091
mov eax, dword [esp + 0x54]
test eax, eax
je case.default.0x1009b091
test ebp, ebp
je case.default.0x1009b091
push 0x14
call fcn.10097d70
mov esi, eax
add esp, 4
test esi, esi
je case.0x1009b091.0
mov edx, ebp
mov al, byte [edx]
cmp al, 0x20
je 0x1009b9b8
cmp al, 9
jb 0x1009b9b4
cmp al, 0xa
jbe 0x1009b9b8
cmp al, 0xd
jne 0x1009b9bb
inc edx
jmp 0x1009b9a6
mov al, byte [edx]
test al, al
mov ecx, edx
je 0x1009b9db
cmp al, 0x20
je 0x1009b9db
cmp al, 9
jb 0x1009b9cf
cmp al, 0xa
jbe 0x1009b9db
cmp al, 0xd
je 0x1009b9db
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x1009b9c3
sub ecx, edx
push ecx
push edx
call sym.libxml2.dll_xmlStrndup
mov dword [esi + 8], eax
mov eax, dword [esp + 0x5c]
add esp, 8
mov dword [eax], esi
jmp case.default.0x1009b091
push 1
push ebp
xor ebx, ebx
xor esi, esi
call sym.libxml2.dll_xmlValidateQName
add esp, 8
test eax, eax
mov dword [esp + 0x10], eax
jne case.default.0x1009b091
mov edi, dword [esp + 0x58]
test edi, edi
je 0x1009ba79
lea ecx, [esp + 0x4c]
push ecx
push ebp
call sym.libxml2.dll_xmlSplitQName2
mov edx, dword [esp + 0x54]
push edx
mov esi, eax
mov eax, dword [edi + 0x20]
push edi
push eax
call sym.libxml2.dll_xmlSearchNs
add esp, 0x14
test eax, eax
jne 0x1009ba64
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x1009ba79
push eax
call dword [sym.libxml2.dll_xmlFree]
add esp, 4
test esi, esi
je 0x1009c703
push esi
call dword [sym.libxml2.dll_xmlFree]
add esp, 4
jmp 0x1009c703
mov ebx, dword [eax + 8]
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x1009ba79
push eax
call dword [sym.libxml2.dll_xmlFree]
add esp, 4
mov eax, dword [esp + 0x54]
test eax, eax
je 0x1009bad5
push 0x15
call fcn.10097d70
mov edi, eax
add esp, 4
test edi, edi
jne 0x1009baa8
test esi, esi
je case.0x1009b091.0
push esi
call dword [sym.libxml2.dll_xmlFree]
add esp, 4
jmp case.0x1009b091.0
test esi, esi
je 0x1009bab1
mov dword [edi + 8], esi
jmp 0x1009babd
push ebp
call sym.libxml2.dll_xmlStrdup
add esp, 4
mov dword [edi + 8], eax
test ebx, ebx
je 0x1009bacd
push ebx
call sym.libxml2.dll_xmlStrdup
add esp, 4
mov dword [edi + 0xc], eax
mov ecx, dword [esp + 0x54]
mov dword [ecx], edi
jmp case.default.0x1009b091
test esi, esi
je case.default.0x1009b091
push esi
call dword [sym.libxml2.dll_xmlFree]
add esp, 4
jmp case.default.0x1009b091
push 1
push ebp
call sym.libxml2.dll_xmlValidateNCName
add esp, 8
test eax, eax
mov dword [esp + 0x10], eax
jne case.default.0x1009b091
mov eax, dword [esp + 0x54]
test eax, eax
je case.default.0x1009b091
push 0x16
call fcn.10097d70
mov esi, eax
add esp, 4
test esi, esi
je case.0x1009b091.0
push ebp
call sym.libxml2.dll_xmlStrdup
add esp, 4
mov dword [esi + 8], eax
mov edx, dword [esp + 0x54]
mov dword [edx], esi
mov eax, dword [esp + 0x14]
test eax, eax
je 0x1009bb38
push eax
call dword [sym.libxml2.dll_xmlFree]
add esp, 4
mov eax, dword [esp + 0x10]
pop ebx
pop ebp
pop edi
pop esi
add esp, 0x38
ret
push 1
push ebp
call sym.libxml2.dll_xmlValidateNCName
add esp, 8
test eax, eax
mov dword [esp + 0x10], eax
jne case.default.0x1009b091
mov eax, dword [esp + 0x54]
test eax, eax
je 0x1009bb85
push 0x17
call fcn.10097d70
mov esi, eax
add esp, 4
test esi, esi
je case.0x1009b091.0
push ebp
call sym.libxml2.dll_xmlStrdup
mov dword [esi + 8], eax
mov eax, dword [esp + 0x58]
add esp, 4
mov dword [eax], esi
mov esi, dword [esp + 0x58]
test esi, esi
je case.default.0x1009b091
cmp dword [esi + 4], ebx
jne case.default.0x1009b091
cmp dword [esi + 0x28], ebx
je case.default.0x1009b091
mov edi, ebp
call fcn.1009aba0
mov edi, eax
test edi, edi
push esi
je 0x1009bbbf
mov ecx, dword [esi + 0x20]
push edi
push ecx
push 0
call sym.libxml2.dll_xmlAddID
push edi
mov ebx, eax
call dword [sym.libxml2.dll_xmlFree]
add esp, 0x14
jmp 0x1009bbd0
mov edx, dword [esi + 0x20]
push ebp
push edx
push 0
call sym.libxml2.dll_xmlAddID
add esp, 0x10
mov ebx, eax
test ebx, ebx
jne 0x1009bbe1
mov dword [esp + 0x10], 2
jmp case.default.0x1009b091
mov dword [esi + 0x28], 2
jmp case.default.0x1009b091
push 1
push ebp
call sym.libxml2.dll_xmlValidateNCName
add esp, 8
test eax, eax
mov dword [esp + 0x10], eax
jne case.default.0x1009b091
mov eax, dword [esp + 0x54]
test eax, eax
je 0x1009bc32
push 0x18
call fcn.10097d70
mov esi, eax
add esp, 4
test esi, esi
je case.0x1009b091.0
push ebp
call sym.libxml2.dll_xmlStrdup
mov dword [esi + 8], eax
mov eax, dword [esp + 0x58]
add esp, 4
mov dword [eax], esi
mov esi, dword [esp + 0x58]
test esi, esi
je case.default.0x1009b091
cmp dword [esi + 4], ebx
jne case.default.0x1009b091
mov edi, ebp
call fcn.1009aba0
mov edi, eax
test edi, edi
push esi
je 0x1009bc77
mov ecx, dword [esi + 0x20]
push edi
push ecx
push 0
call sym.libxml2.dll_xmlAddRef
push edi
call dword [sym.libxml2.dll_xmlFree]
add esp, 0x14
mov dword [esi + 0x28], 3
jmp case.default.0x1009b091
mov edx, dword [esi + 0x20]
push ebp
push edx
push 0
call sym.libxml2.dll_xmlAddRef
add esp, 0x10
mov dword [esi + 0x28], 3
jmp case.default.0x1009b091
mov esi, dword [esp + 0x58]
mov eax, dword [0x100eadc0]
mov ecx, dword [esp + 0x54]
push esi
push eax
mov eax, ebp
call fcn.1009adb0
add esp, 8
test eax, eax
jge 0x1009bcb8
mov dword [esp + 0x10], ebx
jmp case.default.0x1009b091
test esi, esi
mov dword [esp + 0x10], 0
je case.default.0x1009b091
cmp dword [esi + 4], ebx
jne case.default.0x1009b091
mov dword [esi + 0x28], 4
jmp case.default.0x1009b091
push 1
push ebp
call sym.libxml2.dll_xmlValidateNCName
mov ebx, dword [esp + 0x60]
add esp, 8
test ebx, ebx
mov dword [esp + 0x10], eax
je 0x1009bcfb
mov ecx, dword [ebx + 0x20]
test ecx, ecx
jne 0x1009bd08
mov dword [esp + 0x10], 3
jmp case.default.0x1009b091
test eax, eax
jne case.default.0x1009b091
mov edi, ebp
call fcn.1009aba0
mov esi, eax
test esi, esi
je 0x1009bd35
mov ecx, dword [ebx + 0x20]
push esi
push ecx
call sym.libxml2.dll_xmlGetDocEntity
push esi
mov edi, eax
call dword [sym.libxml2.dll_xmlFree]
add esp, 0xc
jmp 0x1009bd44
mov edx, dword [ebx + 0x20]
push ebp
push edx
call sym.libxml2.dll_xmlGetDocEntity
add esp, 8
mov edi, eax
test edi, edi
je 0x1009bd4e
cmp dword [edi + 0x30], 3
je 0x1009bd5b
mov dword [esp + 0x10], 4
jmp case.default.0x1009b091
mov eax, dword [esp + 0x54]
test eax, eax
je 0x1009bd86
call sym.libxml2.dll___xmlGenericError
mov esi, eax
call sym.libxml2.dll___xmlGenericErrorContext
mov eax, dword [eax]
push 0xb04
push str...xmlschemastypes.c
push str.Unimplemented_block_at__s:_d_n
push eax
call dword [esi]
add esp, 0x10
cmp dword [ebx + 4], 2
jne case.default.0x1009b091
mov dword [ebx + 0x28], 5
jmp case.default.0x1009b091
mov esi, dword [esp + 0x58]
test esi, esi
je 0x1009bdef
mov eax, dword [esi + 0x20]
test eax, eax
je 0x1009bdef
mov ecx, dword [0x100eadc8]
push esi
push ecx
mov ecx, dword [esp + 0x5c]
mov eax, ebp
call fcn.1009adb0
add esp, 8
test eax, eax
jg 0x1009bdd2
mov dword [esp + 0x10], 1
jmp case.default.0x1009b091
cmp dword [esi + 4], ebx
mov dword [esp + 0x10], 0
jne case.default.0x1009b091
mov dword [esi + 0x28], 6
jmp case.default.0x1009b091
test edi, edi
je 0x1009bdfd
push edi
call dword [sym.libxml2.dll_xmlFree]
add esp, 4
pop ebx
pop ebp
pop edi
mov eax, 3
pop esi
add esp, 0x38
ret
push 1
push ebp
xor ebx, ebx
xor edi, edi
call sym.libxml2.dll_xmlValidateQName
mov esi, dword [esp + 0x60]
add esp, 8
test eax, eax
mov dword [esp + 0x10], eax
jne 0x1009beab
test esi, esi
je 0x1009beb6
lea edx, [esp + 0x4c]
push edx
push ebp
call sym.libxml2.dll_xmlSplitQName2
mov edi, eax
mov eax, dword [esp + 0x54]
add esp, 8
test eax, eax
je 0x1009be7b
push eax
mov eax, dword [esi + 0x20]
push esi
push eax
call sym.libxml2.dll_xmlSearchNs
add esp, 0xc
test eax, eax
jne 0x1009be65
mov dword [esp + 0x10], 1
jmp 0x1009be7b
mov ecx, dword [esp + 0x54]
test ecx, ecx
je 0x1009be7b
mov ecx, dword [eax + 8]
push ecx
call sym.libxml2.dll_xmlStrdup
add esp, 4
mov ebx, eax
test edi, edi
je 0x1009be99
mov eax, dword [esp + 0x54]
test eax, eax
je 0x1009be8f
mov eax, dword [esp + 0x10]
test eax, eax
je 0x1009be99
push edi
call dword [sym.libxml2.dll_xmlFree]
add esp, 4
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x1009beab
push eax
call dword [sym.libxml2.dll_xmlFree]
add esp, 4
test esi, esi
je 0x1009beb6
mov eax, dword [esi + 0x20]
test eax, eax
jne 0x1009bec3
mov dword [esp + 0x10], 3
jmp case.default.0x1009b091
mov ecx, dword [esp + 0x10]
test ecx, ecx
jne case.default.0x1009b091
push ebp
push eax
push 0
call sym.libxml2.dll_xmlValidateNotationUse
add esp, 0xc
cmp eax, 1
jne 0x1009bdc5
mov eax, dword [esp + 0x54]
test eax, eax
mov dword [esp + 0x10], 0
je case.default.0x1009b091
push 0x1c
call fcn.10097d70
mov esi, eax
add esp, 4
test esi, esi
je 0x1009bf2d
test edi, edi
je 0x1009bf11
mov dword [esi + 8], edi
jmp 0x1009bf1d
push ebp
call sym.libxml2.dll_xmlStrdup
add esp, 4
mov dword [esi + 8], eax
test ebx, ebx
je 0x1009bb20
mov dword [esi + 0xc], ebx
jmp 0x1009bb20
test edi, edi
je 0x1009bf3b
push edi
call dword [sym.libxml2.dll_xmlFree]
add esp, 4
test ebx, ebx
je case.0x1009b091.0
push ebx
call dword [sym.libxml2.dll_xmlFree]
add esp, 4
jmp case.0x1009b091.0
cmp byte [ebp], 0
je 0x1009bff4
mov eax, dword [esp + 0x64]
test eax, eax
je 0x1009bf77
push ebp
call sym.libxml2.dll_xmlSchemaCollapseString
add esp, 4
test eax, eax
mov dword [esp + 0x14], eax
je 0x1009bf77
mov ebp, eax
push ebp
call sym.libxml2.dll_xmlStrdup
mov edi, eax
mov al, byte [edi]
add esp, 4
test al, al
mov ecx, edi
je 0x1009bfd1
lea ebx, [ebx]
mov al, byte [ecx]
cmp al, 0x20
jb 0x1009bfc6
cmp al, 0x7f
jae 0x1009bfc6
cmp al, 0x20
je 0x1009bfc6
cmp al, 0x3c
je 0x1009bfc6
cmp al, 0x3e
je 0x1009bfc6
cmp al, 0x22
je 0x1009bfc6
cmp al, 0x7b
je 0x1009bfc6
cmp al, 0x7d
je 0x1009bfc6
cmp al, 0x7c
je 0x1009bfc6
cmp al, 0x5c
je 0x1009bfc6
cmp al, 0x5e
je 0x1009bfc6
cmp al, 0x60
je 0x1009bfc6
cmp al, 0x27
jne 0x1009bfc9
mov byte [ecx], 0x5f
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x1009bf90
push edi
call sym.libxml2.dll_xmlParseURI
push edi
mov esi, eax
call dword [sym.libxml2.dll_xmlFree]
add esp, 8
test esi, esi
je 0x1009c703
push esi
call sym.libxml2.dll_xmlFreeURI
add esp, 4
mov eax, dword [esp + 0x54]
test eax, eax
je 0x1009c694
push 0x1d
jmp 0x1009b864
xor ebx, ebx
test ebp, ebp
mov ecx, ebp
je 0x1009c703
mov edx, dword [esp + 0x64]
test edx, edx
je 0x1009c035
jmp 0x1009c020
mov al, byte [ecx]
cmp al, 0x20
je 0x1009c032
cmp al, 9
jb 0x1009c02e
cmp al, 0xa
jbe 0x1009c032
cmp al, 0xd
jne 0x1009c035
inc ecx
jmp 0x1009c020
mov esi, ecx
mov al, byte [ecx]
cmp al, 0x30
jb 0x1009c041
cmp al, 0x39
jbe 0x1009c051
cmp al, 0x41
jb 0x1009c049
cmp al, 0x46
jbe 0x1009c051
cmp al, 0x61
jb 0x1009c055
cmp al, 0x66
ja 0x1009c055
inc ebx
inc ecx
jmp 0x1009c037
test edx, edx
je 0x1009c075
lea esp, [esp]
mov al, byte [ecx]
cmp al, 0x20
je 0x1009c072
cmp al, 9
jb 0x1009c06e
cmp al, 0xa
jbe 0x1009c072
cmp al, 0xd
jne 0x1009c075
inc ecx
jmp 0x1009c060
cmp byte [ecx], 0
jne 0x1009c703
mov ecx, ebx
and ecx, 0x80000001
jns 0x1009c08d
dec ecx
or ecx, 0xfffffffe
inc ecx
jne 0x1009c703
mov eax, dword [esp + 0x54]
test eax, eax
je 0x1009c694
push 0x2b
call fcn.10097d70
mov edi, eax
add esp, 4
test edi, edi
je case.0x1009b091.0
push ebx
push esi
call sym.libxml2.dll_xmlStrndup
mov esi, eax
add esp, 8
test esi, esi
jne 0x1009c0d3
mov edx, dword [esp + 0x58]
push str.allocating_hexbin_data
push eax
push edx
jmp 0x1009c27b
mov eax, ebx
cdq
sub eax, edx
sar eax, 1
test ebx, ebx
mov edx, esi
jle 0x1009c0f0
mov cl, byte [edx]
cmp cl, 0x61
jb 0x1009c0ec
sub cl, 0x20
mov byte [edx], cl
inc edx
dec ebx
jne 0x1009c0e0
mov dword [edi + 0xc], eax
mov eax, dword [esp + 0x54]
mov dword [edi + 8], esi
mov dword [eax], edi
jmp 0x1009c694
xor edi, edi
xor ebx, ebx
test ebp, ebp
mov esi, ebp
mov dword [esp + 0x1c], edi
je 0x1009c703
mov al, byte [ebp]
test al, al
je 0x1009c139
lea ebx, [ebx]
call fcn.1009a290
test eax, eax
jl 0x1009c12f
cmp eax, 0x40
jge 0x1009c139
inc ebx
mov al, byte [esi + 1]
inc esi
test al, al
jne 0x1009c120
jmp 0x1009c164
mov al, byte [esi]
test al, al
je 0x1009c164
nop
call fcn.1009a290
test eax, eax
jl 0x1009c152
cmp eax, 0x40
jl 0x1009c6ff
cmp eax, 0x40
jne 0x1009c158
inc edi
mov al, byte [esi + 1]
inc esi
test al, al
jne 0x1009c140
mov dword [esp + 0x1c], edi
mov eax, ebx
cdq
and edx, 3
add eax, edx
sar eax, 2
test edi, edi
lea ecx, [eax + eax*2]
mov dword [esp + 0x4c], ecx
jne 0x1009c194
mov edx, ebx
and edx, reloc.WSOCK32.dll_closesocket
jns 0x1009c189
dec edx
or edx, 0xfffffffc
inc edx
jne 0x1009c703
jmp 0x1009c21f
cmp edi, 1
jne 0x1009c1d7
mov eax, ebx
and eax, reloc.WSOCK32.dll_closesocket
jns 0x1009c1a7
dec eax
or eax, 0xfffffffc
inc eax
cmp eax, 3
jne 0x1009c703
mov al, byte [esi]
call fcn.1009a290
test eax, eax
jl 0x1009c1c0
cmp eax, 0x3f
jle 0x1009c1c3
dec esi
jmp 0x1009c1b0
test eax, 0xffffffc3
jne 0x1009c703
mov eax, dword [esp + 0x4c]
add eax, 2
jmp 0x1009c21b
cmp edi, 2
jne 0x1009c703
mov ecx, ebx
and ecx, reloc.WSOCK32.dll_closesocket
jns 0x1009c1ef
dec ecx
or ecx, 0xfffffffc
inc ecx
cmp ecx, 2
jne 0x1009c703
mov al, byte [esi]
call fcn.1009a290
test eax, eax
jl 0x1009c208
cmp eax, 0x3f
jle 0x1009c20b
dec esi
jmp 0x1009c1f8
test eax, 0xffffffcf
jne 0x1009c703
mov eax, dword [esp + 0x4c]
inc eax
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x54]
test eax, eax
je 0x1009c694
push 0x2c
call fcn.10097d70
mov edi, eax
add esp, 4
test edi, edi
jne 0x1009c258
mov eax, dword [esp + 0x14]
test eax, eax
je 0x1009c24d
push eax
call dword [sym.libxml2.dll_xmlFree]
add esp, 4
pop ebx
pop ebp
pop edi
or eax, 0xffffffff
pop esi
add esp, 0x38
ret
mov edx, dword [esp + 0x1c]
lea eax, [edx + ebx + 1]
push eax
call dword [sym.libxml2.dll_xmlMallocAtomic]
mov edx, eax
add esp, 4
test edx, edx
jne 0x1009c293
mov ecx, dword [esp + 0x58]
push 0x100d67a0
push eax
push ecx
push 2
push 0xf
call sym.libxml2.dll___xmlSimpleError
push edi
call dword [sym.libxml2.dll_xmlFree]
add esp, 0x18
jmp 0x1009c703
mov dword [edi + 8], edx
cmp byte [ebp], 0
mov esi, ebp
je 0x1009c2b8
mov edi, edi
mov bl, byte [esi]
mov al, bl
call fcn.1009a290
test eax, eax
jl 0x1009c2b0
mov byte [edx], bl
inc edx
mov al, byte [esi + 1]
inc esi
test al, al
jne 0x1009c2a0
mov eax, dword [esp + 0x54]
mov byte [edx], 0
mov edx, dword [esp + 0x4c]
mov dword [edi + 0xc], edx
mov dword [eax], edi
jmp 0x1009c694
test ebp, ebp
mov ecx, ebp
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x18], 0
je 0x1009c703
mov esi, dword [esp + 0x64]
test esi, esi
je 0x1009c309
jmp 0x1009c2f0
mov al, byte [ecx]
cmp al, 0x20
je 0x1009c302
cmp al, 9
jb 0x1009c2fe
cmp al, 0xa
jbe 0x1009c302
cmp al, 0xd
jne 0x1009c305
inc ecx
jmp 0x1009c2f0
mov dword [esp + 0x4c], ecx
mov al, byte [ecx]
cmp al, 0x2d
jne 0x1009c319
mov dword [esp + 0x18], 1
jmp 0x1009c31d
cmp al, 0x2b
jne 0x1009c322
inc ecx
mov dword [esp + 0x4c], ecx
lea ecx, [esp + 0x20]
push ecx
lea edx, [esp + 0x28]
push edx
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0x58]
push ecx
call fcn.1009af00
add esp, 0x10
test eax, eax
mov dword [esp + 0x10], eax
jl 0x1009c703
test esi, esi
mov ecx, dword [esp + 0x4c]
je 0x1009c367
mov al, byte [ecx]
cmp al, 0x20
je 0x1009c364
cmp al, 9
jb 0x1009c360
cmp al, 0xa
jbe 0x1009c364
cmp al, 0xd
jne 0x1009c367
inc ecx
jmp 0x1009c352
cmp byte [ecx], 0
jne 0x1009c703
mov eax, dword [esp + 0x1c]
cmp eax, 0x1f
mov esi, dword [esp + 0x20]
mov edi, dword [esp + 0x24]
mov ebx, dword [esp + 0x28]
jne 0x1009c3a6
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x1009c3f9
test esi, esi
jne 0x1009c703
test edi, edi
jne 0x1009c703
test ebx, ebx
je 0x1009c3f9
jmp 0x1009c703
cmp eax, 0x22
jne 0x1009c3c8
cmp dword [esp + 0x18], 1
je 0x1009c703
test esi, esi
jne 0x1009c3f9
test edi, edi
jne 0x1009c3f9
test ebx, ebx
je 0x1009c703
jmp 0x1009c3f9
cmp eax, 0x20
jne 0x1009c3d5
mov eax, dword [esp + 0x18]
test eax, eax
jmp 0x1009c3b0
cmp eax, 0x21
jne 0x1009c3f9
cmp dword [esp + 0x18], 1
jne 0x1009c3f9
test esi, esi
jne 0x1009c703
test edi, edi
jne 0x1009c703
test ebx, ebx
jne 0x1009c703
mov eax, dword [esp + 0x54]
test eax, eax
je 0x1009c694
mov edx, dword [esp + 0x1c]
push edx
call fcn.10097d70
add esp, 4
test eax, eax
je 0x1009c694
mov ecx, dword [esp + 0x10]
test ecx, ecx
jne 0x1009c42a
mov dword [esp + 0x10], 1
mov edx, dword [eax + 0x18]
mov ecx, dword [esp + 0x18]
and edx, 0xffffff00
and ecx, 1
or edx, ecx
mov cl, byte [esp + 0x10]
mov dword [eax + 0x18], edx
mov edx, dword [esp + 0x54]
mov dword [eax + 8], ebx
mov dword [eax + 0xc], edi
mov dword [eax + 0x10], esi
mov byte [eax + 0x19], cl
mov dword [edx], eax
jmp 0x1009c694
xor esi, esi
test ebp, ebp
mov dword [esp + 0x4c], ebp
je 0x1009c703
mov al, byte [ebp]
cmp al, 0x2d
jne 0x1009c476
mov esi, 1
jmp 0x1009c47a
cmp al, 0x2b
jne 0x1009c47f
inc ebp
mov dword [esp + 0x4c], ebp
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x24]
push ecx
lea edx, [esp + 0x30]
push edx
lea eax, [esp + 0x58]
push eax
call fcn.1009af00
add esp, 0x10
test eax, eax
mov dword [esp + 0x10], eax
jl 0x1009c703
mov ecx, dword [esp + 0x4c]
cmp byte [ecx], 0
jne 0x1009c703
mov eax, dword [esp + 0x1c]
cmp eax, 0x25
mov ebp, dword [esp + 0x28]
mov ebx, dword [esp + 0x24]
mov edi, dword [esp + 0x20]
jne 0x1009c510
cmp ebx, 0x39a
jb 0x1009c59e
ja 0x1009c703
cmp edi, 0x2028830
jb 0x1009c59e
ja 0x1009c703
test esi, esi
jne 0x1009c4fc
cmp ebp, 0x343cfff
jmp 0x1009c598
cmp esi, 1
jne 0x1009c59e
cmp ebp, 0x343d000
jmp 0x1009c598
cmp eax, 0x23
jne 0x1009c541
test ebx, ebx
jne 0x1009c703
cmp edi, 0x15
jb 0x1009c59e
ja 0x1009c703
test esi, esi
jne 0x1009c534
cmp ebp, 0x2d48aff
jmp 0x1009c598
cmp esi, 1
jne 0x1009c59e
cmp ebp, 0x2d48b00
jmp 0x1009c598
cmp eax, 0x27
jne 0x1009c56f
test edi, edi
jne 0x1009c703
test ebx, ebx
jne 0x1009c703
cmp esi, 1
jne 0x1009c563
cmp ebp, 0x8000
jmp 0x1009c598
test esi, esi
jne 0x1009c59e
cmp ebp, 0x7fff
jmp 0x1009c598
cmp eax, 0x29
jne 0x1009c59e
test edi, edi
jne 0x1009c703
test ebx, ebx
jne 0x1009c703
cmp esi, 1
jne 0x1009c591
cmp ebp, 0x80
jmp 0x1009c598
test esi, esi
jne 0x1009c59e
cmp ebp, 0x7f
ja 0x1009c703
mov eax, dword [esp + 0x54]
test eax, eax
je 0x1009c694
mov edx, dword [esp + 0x1c]
push edx
call fcn.10097d70
add esp, 4
test eax, eax
je 0x1009c694
mov ecx, dword [eax + 0x18]
and ecx, 0xffffff00
and esi, 1
mov dword [eax + 8], ebp
mov dword [eax + 0xc], edi
mov dword [eax + 0x10], ebx
or ecx, esi
jmp 0x1009c684
test ebp, ebp
mov dword [esp + 0x4c], ebp
je 0x1009c703
lea edx, [esp + 0x28]
push edx
lea eax, [esp + 0x28]
push eax
lea ecx, [esp + 0x28]
push ecx
lea edx, [esp + 0x58]
push edx
call fcn.1009af00
add esp, 0x10
test eax, eax
mov dword [esp + 0x10], eax
jl 0x1009c703
mov eax, dword [esp + 0x4c]
cmp byte [eax], 0
jne 0x1009c703
mov eax, dword [esp + 0x1c]
cmp eax, 0x26
mov edi, dword [esp + 0x28]
mov esi, dword [esp + 0x24]
mov ebx, dword [esp + 0x20]
jne 0x1009c6b0
cmp edi, 0x734
jb 0x1009c659
ja 0x1009c703
cmp esi, 0x4051061
jb 0x1009c659
ja 0x1009c703
cmp ebx, 0x91beff
ja 0x1009c703
mov eax, dword [esp + 0x54]
test eax, eax
je 0x1009c694
mov ecx, dword [esp + 0x1c]
push ecx
call fcn.10097d70
add esp, 4
test eax, eax
je 0x1009c694
mov ecx, dword [eax + 0x18]
mov dword [eax + 8], ebx
mov dword [eax + 0xc], esi
mov dword [eax + 0x10], edi
and ecx, 0xffffff00
mov dl, byte [esp + 0x10]
mov dword [eax + 0x18], ecx
mov byte [eax + 0x19], dl
mov ecx, dword [esp + 0x54]
mov dword [ecx], eax
mov eax, dword [esp + 0x14]
test eax, eax
je 0x1009c6a6
push eax
call dword [sym.libxml2.dll_xmlFree]
add esp, 4
pop ebx
pop ebp
pop edi
xor eax, eax
pop esi
add esp, 0x38
ret
cmp eax, 0x24
jne 0x1009c6c8
test edi, edi
jne 0x1009c703
cmp esi, 0x2a
jb 0x1009c659
ja 0x1009c703
cmp ebx, 0x5a915ff
jmp 0x1009c653
cmp eax, 0x28
jne 0x1009c6e0
test esi, esi
jne 0x1009c703
test edi, edi
jne 0x1009c703
cmp ebx, 0xffff
jmp 0x1009c653
cmp eax, 0x2a
jne 0x1009c659
test esi, esi
jne 0x1009c703
test edi, edi
jne 0x1009c703
cmp ebx, 0xff
jbe 0x1009c659
jmp 0x1009c703
mov dword [esp + 0x1c], edi
mov eax, dword [esp + 0x14]
test eax, eax
je 0x1009c715
push eax
call dword [sym.libxml2.dll_xmlFree]
add esp, 4
pop ebx
pop ebp
pop edi
mov eax, 1
pop esi
add esp, 0x38
ret