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

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x4c
mov esi, edx
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x40], edx
xor ebx, ebx
jmp 0x4a17d3
test ebx, ebx
je 0x4a04da
mov dword [esp], ebx
call fcn.004487fe
mov dword [esp], ebx
call fcn.0044c4b4
mov eax, dword [esi + 4]
cmp eax, 1
jne 0x4a172a
mov eax, dword [esi + 0x24]
test eax, eax
je 0x4a050a
mov edx, dword [str.http:__relaxng.org_ns_structure_1.0]
mov dword [esp + 4], edx
mov eax, dword [eax + 8]
mov dword [esp], eax
call fcn.00478cd0
test eax, eax
jne 0x4a0591
mov eax, dword [esi + 0x14]
test eax, eax
je 0x4a17ad
cmp dword [eax + 4], 1
jne 0x4a17ad
mov dword [esp + 4], 0x65e7aa
mov eax, dword [eax + 8]
mov dword [esp], eax
call fcn.00478cd0
test eax, eax
jne 0x4a056e
mov dword [esp + 4], 0x65e7bf
mov eax, dword [esi + 0x14]
mov eax, dword [eax + 8]
mov dword [esp], eax
call fcn.00478cd0
test eax, eax
jne 0x4a056e
mov dword [esp + 4], 0x65e7c5
mov eax, dword [esi + 0x14]
mov eax, dword [eax + 8]
mov dword [esp], eax
call fcn.00478cd0
test eax, eax
je 0x4a17ad
mov dword [esp + 8], 0
mov ecx, 0x40b
mov eax, dword [esi + 0x14]
mov eax, dword [eax + 8]
mov dword [esp], str.element__s_doesnt_allow_foreign_elements_n
mov dword [esp + 4], eax
jmp 0x4a0d01
mov ebx, dword [esi + 0x2c]
jmp 0x4a0858
mov ecx, dword [ebx + 0x18]
mov eax, dword [ebx + 0x24]
mov dword [ebp - 0x34], ecx
test eax, eax
je 0x4a05c3
mov edx, dword [str.http:__relaxng.org_ns_structure_1.0]
mov dword [esp + 4], edx
mov eax, dword [eax + 8]
mov dword [esp], eax
call fcn.00478cd0
test eax, eax
je 0x4a0855
mov dword [esp + 4], 0x65e7aa
mov eax, dword [ebx + 8]
mov dword [esp], eax
call fcn.00478cd0
test eax, eax
je 0x4a0653
mov dword [esp + 4], 0x65e7f6
mov eax, dword [esi + 8]
mov dword [esp], eax
call fcn.00478cd0
test eax, eax
jne 0x4a0855
mov dword [esp + 4], 0x65e7fe
mov eax, dword [esi + 8]
mov dword [esp], eax
call fcn.00478cd0
test eax, eax
jne 0x4a0855
mov dword [esp + 4], 0x65e808
mov eax, dword [esi + 8]
mov dword [esp], eax
call fcn.00478cd0
test eax, eax
jne 0x4a0855
mov dword [esp + 4], str.parentRef
mov eax, dword [esi + 8]
mov dword [esp], eax
call fcn.00478cd0
test eax, eax
jne 0x4a0855
mov dword [esp + 4], 0x65e7c5
jmp 0x4a06ea
mov dword [esp + 4], 0x65e839
mov eax, dword [ebx + 8]
mov dword [esp], eax
call fcn.00478cd0
test eax, eax
je 0x4a068f
mov dword [esp + 4], 0x65e7bf
mov eax, dword [esi + 8]
mov dword [esp], eax
call fcn.00478cd0
test eax, eax
jne 0x4a0855
mov dword [esp + 4], 0x65e83e
jmp 0x4a0705
mov dword [esp + 4], 0x65e843
mov eax, dword [ebx + 8]
mov dword [esp], eax
call fcn.00478cd0
test eax, eax
je 0x4a06cb
mov dword [esp + 4], str.externalRef
mov eax, dword [esi + 8]
mov dword [esp], eax
call fcn.00478cd0
test eax, eax
jne 0x4a0855
mov dword [esp + 4], 0x65e7af
jmp 0x4a0705
mov dword [esp + 4], str.combine
mov eax, dword [ebx + 8]
mov dword [esp], eax
call fcn.00478cd0
test eax, eax
je 0x4a0737
mov dword [esp + 4], 0x65e79d
mov eax, dword [esi + 8]
mov dword [esp], eax
call fcn.00478cd0
test eax, eax
jne 0x4a0855
mov dword [esp + 4], str.define
mov eax, dword [esi + 8]
mov dword [esp], eax
call fcn.00478cd0
test eax, eax
jne 0x4a0855
mov eax, dword [esi + 8]
mov ecx, 0x40a
mov dword [esp + 8], eax
mov eax, dword [ebx + 8]
mov dword [esp], str.Attribute__s_is_not_allowed_on__s_n
mov dword [esp + 4], eax
jmp 0x4a084b
mov dword [esp + 4], str.datatypeLibrary
mov eax, dword [ebx + 8]
mov dword [esp], eax
call fcn.00478cd0
test eax, eax
je 0x4a081a
mov dword [esp + 8], 1
mov eax, dword [ebx + 0xc]
mov dword [esp + 4], eax
mov eax, dword [esi + 0x20]
mov dword [esp], eax
call fcn.0044b1fb
mov edi, eax
test eax, eax
je 0x4a0855
cmp byte [eax], 0
je 0x4a080f
mov dword [esp], eax
call fcn.00454601
mov dword [ebp - 0x30], eax
test eax, eax
jne 0x4a07b1
mov dword [esp + 8], edi
mov ecx, 0x41a
mov eax, dword [ebx + 8]
mov edx, esi
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x2c]
mov dword [esp], str.Attribute__s_contains_invalid_URI__s_n
call fcn.0049ea14
jmp 0x4a080f
mov ecx, dword [ebp - 0x30]
cmp dword [ecx], 0
jne 0x4a07da
mov dword [esp + 8], edi
mov ecx, 0x45e
mov eax, dword [ebx + 8]
mov edx, esi
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x2c]
mov dword [esp], str.Attribute__s_URI__s_is_not_absolute_n
call fcn.0049ea14
mov eax, dword [ebp - 0x30]
cmp dword [eax + 0x20], 0
je 0x4a0804
mov dword [esp + 8], edi
mov ecx, 0x45d
mov eax, dword [ebx + 8]
mov edx, esi
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x2c]
mov dword [esp], str.Attribute__s_URI__s_has_a_fragment_ID_n
call fcn.0049ea14
mov edx, dword [ebp - 0x30]
mov dword [esp], edx
call fcn.00452071
mov dword [esp], edi
call dword [0x5dd270]
jmp 0x4a0855
mov dword [esp + 4], 0x65e8de
mov eax, dword [ebx + 8]
mov dword [esp], eax
call fcn.00478cd0
test eax, eax
jne 0x4a0855
mov eax, dword [esi + 8]
mov ecx, 0x459
mov dword [esp + 8], eax
mov eax, dword [ebx + 8]
mov dword [esp], str.Unknown_attribute__s_on__s_n
mov dword [esp + 4], eax
mov edx, esi
mov eax, dword [ebp - 0x2c]
call fcn.0049ea14
mov ebx, dword [ebp - 0x34]
test ebx, ebx
jne 0x4a0599
mov dword [esp + 4], str.externalRef
mov eax, dword [esi + 8]
mov dword [esp], eax
call fcn.00478cd0
test eax, eax
je 0x4a0cb4
mov dword [esp + 4], 0x65e8de
mov dword [esp], esi
call fcn.0044bb1b
mov dword [ebp - 0x30], eax
test eax, eax
jne 0x4a08bb
mov ebx, dword [esi + 0x14]
jmp 0x4a08ae
mov dword [esp + 4], 0x65e8de
mov dword [esp], ebx
call fcn.0044bb1b
test eax, eax
jne 0x4a08b8
mov ebx, dword [ebx + 0x14]
test ebx, ebx
je 0x4a08b8
cmp dword [ebx + 4], 1
je 0x4a0897
mov dword [ebp - 0x30], eax
mov dword [esp + 4], 0x65e843
mov dword [esp], esi
call fcn.0044bb1b
mov edi, eax
test eax, eax
jne 0x4a0909
mov ecx, 0x41c
mov edx, esi
mov eax, dword [ebp - 0x2c]
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], str.xmlRelaxNGParse:_externalRef_has_no_href_attribute_n
call fcn.0049ea14
cmp dword [ebp - 0x30], 0
je 0x4a17ad
mov ecx, dword [ebp - 0x30]
jmp 0x4a0a13
mov dword [esp], eax
call fcn.00454601
mov ebx, eax
test eax, eax
jne 0x4a0959
mov ecx, 0x411
mov edx, esi
mov eax, dword [ebp - 0x2c]
mov dword [esp + 8], 0
mov dword [esp + 4], edi
mov dword [esp], str.Incorrect_URI_for_externalRef__s_n
call fcn.0049ea14
cmp dword [ebp - 0x30], 0
je 0x4a094b
mov ebx, dword [ebp - 0x30]
mov dword [esp], ebx
call dword [0x5dd270]
mov dword [esp], edi
call dword [0x5dd270]
jmp 0x4a17ad
cmp dword [eax + 0x20], 0
je 0x4a099d
mov ecx, 0x411
mov edx, esi
mov eax, dword [ebp - 0x2c]
mov dword [esp + 8], 0
mov dword [esp + 4], edi
mov dword [esp], str.Fragment_forbidden_in_URI_for_externalRef__s_n
call fcn.0049ea14
cmp dword [ebp - 0x30], 0
je 0x4a0993
mov eax, dword [ebp - 0x30]
mov dword [esp], eax
call dword [0x5dd270]
mov dword [esp], ebx
call fcn.00452071
jmp 0x4a094b
mov dword [esp], eax
call fcn.00452071
mov dword [esp + 4], esi
mov eax, dword [esi + 0x20]
mov dword [esp], eax
call fcn.0044bb3f
mov dword [esp], edi
mov dword [ebp - 0x34], eax
mov dword [esp + 4], eax
call fcn.00454847
mov ebx, eax
test eax, eax
jne 0x4a0a1b
mov ecx, 0x411
mov edx, esi
mov eax, dword [ebp - 0x2c]
mov dword [esp + 8], 0
mov dword [esp + 4], edi
mov dword [esp], str.Failed_to_compute_URL_for_externalRef__s_n
call fcn.0049ea14
cmp dword [ebp - 0x30], 0
je 0x4a09fd
mov edx, dword [ebp - 0x30]
mov dword [esp], edx
call dword [0x5dd270]
mov dword [esp], edi
call dword [0x5dd270]
cmp dword [ebp - 0x34], 0
je 0x4a17ad
mov ecx, dword [ebp - 0x34]
mov dword [esp], ecx
jmp 0x4a094e
mov dword [esp], edi
call dword [0x5dd270]
cmp dword [ebp - 0x34], 0
je 0x4a0a36
mov eax, dword [ebp - 0x34]
mov dword [esp], eax
call dword [0x5dd270]
xor edi, edi
jmp 0x4a0a71
mov edx, dword [ebp - 0x2c]
mov dword [esp + 4], ebx
mov eax, dword [edx + 0x6c]
mov eax, dword [eax + edi*4]
mov eax, dword [eax + 4]
mov dword [esp], eax
call fcn.00478cd0
test eax, eax
je 0x4a0a70
mov dword [esp + 8], 0
mov dword [esp + 4], ebx
mov dword [esp], str.Detected_an_externalRef_recursion_for__s_n
mov ecx, 0x409
jmp 0x4a0ab0
inc edi
mov ecx, dword [ebp - 0x2c]
cmp edi, dword [ecx + 0x64]
jl 0x4a0a3a
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], ebx
call fcn.004642ef
mov dword [ebp - 0x38], eax
test eax, eax
jne 0x4a0abf
mov dword [esp + 8], 0
mov dword [esp + 4], ebx
mov dword [esp], str.xmlRelaxNG:_could_not_load__s_n
mov ecx, 0x429
xor edx, edx
mov eax, dword [ebp - 0x2c]
call fcn.0049ea14
jmp 0x4a0c57
mov dword [esp], 0x14
call dword [0x5dd274]
mov dword [ebp - 0x34], eax
test eax, eax
jne 0x4a0b06
mov eax, dword [ebp - 0x2c]
mov ecx, 2
mov edx, dword [ebp - 0x38]
mov dword [esp + 8], 0
mov dword [esp + 4], ebx
mov dword [esp], str.xmlRelaxNG:_allocate_memory_for_doc__s_n
call fcn.0049ea14
mov eax, dword [ebp - 0x38]
mov dword [esp], eax
call fcn.0044bf7f
jmp 0x4a0c57
xor eax, eax
mov edi, dword [ebp - 0x34]
mov ecx, 5
rep stosd dword es:[edi], eax
mov edx, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x38]
mov dword [edx + 8], ecx
mov dword [esp], ebx
call fcn.004794a2
mov edx, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x2c]
mov dword [edx + 4], eax
mov eax, dword [ecx + 0x3c]
mov dword [edx], eax
mov dword [ecx + 0x3c], edx
cmp dword [ebp - 0x30], 0
je 0x4a0b76
mov eax, dword [ebp - 0x38]
mov dword [esp], eax
call fcn.004489c7
mov edi, eax
test eax, eax
je 0x4a0b76
mov dword [esp + 4], 0x65e8de
mov dword [esp], eax
call fcn.0044ba80
test eax, eax
jne 0x4a0b76
mov edx, dword [ebp - 0x30]
mov dword [esp + 4], 0x65e8de
mov dword [esp + 8], edx
mov dword [esp], edi
call fcn.0044d2a0
mov ecx, dword [ebp - 0x2c]
cmp dword [ecx + 0x6c], 0
jne 0x4a0ba4
mov dword [ecx + 0x68], 4
mov dword [ecx + 0x64], 0
mov dword [esp], 0x10
call dword [0x5dd274]
mov edx, dword [ebp - 0x2c]
test eax, eax
mov dword [edx + 0x6c], eax
je 0x4a0bd2
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ecx + 0x68]
cmp dword [ecx + 0x64], eax
jl 0x4a0be1
lea edx, [eax + eax]
shl eax, 3
mov dword [ecx + 0x68], edx
mov dword [esp + 4], eax
mov eax, dword [ecx + 0x6c]
mov dword [esp], eax
call dword [0x5dd27c]
mov edx, dword [ebp - 0x2c]
test eax, eax
mov dword [edx + 0x6c], eax
jne 0x4a0be1
mov edx, str.adding_document_n
mov eax, dword [ebp - 0x2c]
call fcn.0049e64a
jmp 0x4a0bf9
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ecx + 0x64]
mov eax, dword [ecx + 0x6c]
mov ecx, dword [ebp - 0x34]
mov dword [eax + edx*4], ecx
mov eax, dword [ebp - 0x2c]
inc dword [eax + 0x64]
mov dword [eax + 0x60], ecx
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x2c]
call fcn.004a1808
test eax, eax
jne 0x4a0c14
mov edx, dword [ebp - 0x2c]
mov dword [edx + 0x60], 0
jmp 0x4a0c57
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ecx + 0x64]
test edx, edx
jle 0x4a17f1
lea eax, [edx - 1]
mov dword [ecx + 0x64], eax
test eax, eax
je 0x4a0c38
mov eax, dword [ecx + 0x6c]
mov eax, dword [eax + edx*4 - 8]
mov dword [ecx + 0x60], eax
jmp 0x4a0c42
mov eax, dword [ebp - 0x2c]
mov dword [eax + 0x60], 0
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ecx + 0x64]
mov eax, dword [ecx + 0x6c]
mov dword [eax + edx*4], 0
jmp 0x4a17f1
mov ecx, 0x408
mov edx, esi
mov eax, dword [ebp - 0x2c]
mov dword [esp + 8], 0
mov dword [esp + 4], ebx
mov dword [esp], str.Failed_to_load_externalRef__s_n
call fcn.0049ea14
cmp dword [ebp - 0x30], 0
je 0x4a11fc
mov eax, dword [ebp - 0x30]
mov dword [esp], eax
call dword [0x5dd270]
jmp 0x4a11fc
mov edx, dword [ebp - 0x30]
mov dword [esp], edx
call dword [0x5dd270]
mov dword [esp], ebx
call dword [0x5dd270]
mov ecx, dword [ebp - 0x34]
mov dword [esi + 0x34], ecx
jmp 0x4a166e
mov dword [esp + 4], 0x65e7af
mov eax, dword [esi + 8]
mov dword [esp], eax
call fcn.00478cd0
test eax, eax
je 0x4a121b
mov dword [esp + 4], 0x65e843
mov dword [esp], esi
call fcn.0044bb1b
mov ebx, eax
test eax, eax
jne 0x4a0d10
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], str.xmlRelaxNGParse:_include_has_no_href_attribute_n
mov ecx, 0x41c
mov edx, esi
mov eax, dword [ebp - 0x2c]
call fcn.0049ea14
jmp 0x4a17ad
mov dword [esp + 4], esi
mov eax, dword [esi + 0x20]
mov dword [esp], eax
call fcn.0044bb3f
mov dword [esp], ebx
mov edi, eax
mov dword [esp + 4], eax
call fcn.00454847
mov dword [ebp - 0x34], eax
test eax, eax
jne 0x4a0d6c
mov ecx, 0x411
mov edx, esi
mov eax, dword [ebp - 0x2c]
mov dword [esp + 8], 0
mov dword [esp + 4], ebx
mov dword [esp], str.Failed_to_compute_URL_for_include__s_n
call fcn.0049ea14
mov dword [esp], ebx
call dword [0x5dd270]
test edi, edi
jne 0x4a094b
jmp 0x4a17ad
mov dword [esp], ebx
call dword [0x5dd270]
test edi, edi
je 0x4a0d82
mov dword [esp], edi
call dword [0x5dd270]
mov dword [esp + 4], 0x65e8de
mov dword [esp], esi
call fcn.0044bb1b
mov dword [ebp - 0x38], eax
test eax, eax
jne 0x4a0dc2
mov ebx, dword [esi + 0x14]
jmp 0x4a0db5
mov dword [esp + 4], 0x65e8de
mov dword [esp], ebx
call fcn.0044bb1b
test eax, eax
jne 0x4a0dbf
mov ebx, dword [ebx + 0x14]
test ebx, ebx
je 0x4a0dbf
cmp dword [ebx + 4], 1
je 0x4a0d9e
mov dword [ebp - 0x38], eax
xor ebx, ebx
mov edi, dword [ebp - 0x2c]
jmp 0x4a0e05
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [edi + 0x7c]
mov eax, dword [eax + ebx*4]
mov eax, dword [eax + 4]
mov dword [esp], eax
call fcn.00478cd0
test eax, eax
je 0x4a0e04
mov edx, dword [ebp - 0x34]
mov dword [esp + 8], 0
mov dword [esp + 4], edx
mov dword [esp], str.Detected_an_Include_recursion_for__s_n
mov ecx, 0x414
xor edx, edx
jmp 0x4a0e49
inc ebx
cmp ebx, dword [edi + 0x74]
jl 0x4a0dc9
mov ecx, dword [ebp - 0x34]
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], ecx
call fcn.004642ef
mov dword [ebp - 0x3c], eax
test eax, eax
jne 0x4a0e5d
mov ebx, dword [ebp - 0x34]
mov dword [esp + 8], 0
mov dword [esp + 4], ebx
mov dword [esp], str.xmlRelaxNG:_could_not_load__s_n
mov ecx, 0x429
mov edx, esi
mov eax, dword [ebp - 0x2c]
call fcn.0049ea14
mov dword [ebp - 0x30], 0
jmp 0x4a11bf
mov dword [esp], 0x14
call dword [0x5dd274]
mov dword [ebp - 0x30], eax
test eax, eax
jne 0x4a0e8e
mov eax, dword [ebp - 0x2c]
mov edx, str.allocating_include_n
call fcn.0049e64a
mov eax, dword [ebp - 0x3c]
mov dword [esp], eax
call fcn.0044bf7f
jmp 0x4a11bf
xor eax, eax
mov edi, dword [ebp - 0x30]
mov ecx, 5
rep stosd dword es:[edi], eax
mov edx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x3c]
mov ebx, dword [ebp - 0x34]
mov dword [edx + 8], ecx
mov dword [esp], ebx
call fcn.004794a2
mov edx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x2c]
mov dword [edx + 4], eax
mov eax, dword [ecx + 0x40]
mov dword [edx], eax
mov dword [ecx + 0x40], edx
cmp dword [ebp - 0x38], 0
je 0x4a0f01
mov ebx, dword [ebp - 0x3c]
mov dword [esp], ebx
call fcn.004489c7
mov ebx, eax
test eax, eax
je 0x4a0f01
mov dword [esp + 4], 0x65e8de
mov dword [esp], eax
call fcn.0044ba80
test eax, eax
jne 0x4a0f01
mov eax, dword [ebp - 0x38]
mov dword [esp + 4], 0x65e8de
mov dword [esp + 8], eax
mov dword [esp], ebx
call fcn.0044d2a0
mov edx, dword [ebp - 0x2c]
cmp dword [edx + 0x7c], 0
jne 0x4a0f38
mov dword [edx + 0x78], 4
mov dword [edx + 0x74], 0
mov dword [esp], 0x10
call dword [0x5dd274]
mov ecx, dword [ebp - 0x2c]
test eax, eax
mov dword [ecx + 0x7c], eax
jne 0x4a0f38
mov edx, str.allocating_include_n
mov eax, ecx
jmp 0x4a0f6a
mov ebx, dword [ebp - 0x2c]
mov eax, dword [ebx + 0x78]
cmp dword [ebx + 0x74], eax
jl 0x4a0f71
lea edx, [eax + eax]
shl eax, 3
mov dword [ebx + 0x78], edx
mov dword [esp + 4], eax
mov eax, dword [ebx + 0x7c]
mov dword [esp], eax
call dword [0x5dd27c]
mov dword [ebx + 0x7c], eax
test eax, eax
jne 0x4a0f71
mov edx, str.allocating_include_n
mov eax, ebx
call fcn.0049e64a
jmp 0x4a0f88
mov eax, dword [ebp - 0x2c]
mov ebx, dword [ebp - 0x30]
mov ecx, eax
mov edx, dword [eax + 0x74]
mov eax, dword [eax + 0x7c]
inc dword [ecx + 0x74]
mov dword [eax + edx*4], ebx
mov dword [ecx + 0x70], ebx
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x2c]
call fcn.004a1808
mov ecx, eax
test eax, eax
jne 0x4a0fa8
mov eax, dword [ebp - 0x2c]
mov dword [eax + 0x70], 0
jmp 0x4a0e51
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 0x74]
test eax, eax
jle 0x4a0fe5
mov ebx, dword [ebp - 0x2c]
lea edx, [eax - 1]
test edx, edx
mov dword [ebx + 0x74], edx
je 0x4a0fcb
mov edx, dword [ebx + 0x7c]
mov eax, dword [edx + eax*4 - 8]
mov dword [ebx + 0x70], eax
jmp 0x4a0fd5
mov eax, dword [ebp - 0x2c]
mov dword [eax + 0x70], 0
mov ebx, dword [ebp - 0x2c]
mov edx, dword [ebx + 0x74]
mov eax, dword [ebx + 0x7c]
mov dword [eax + edx*4], 0
mov dword [esp], ecx
call fcn.004489c7
mov edi, eax
test eax, eax
jne 0x4a1013
mov eax, dword [ebp - 0x34]
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov dword [esp], str.xmlRelaxNG:_included_document_is_empty__s_n
mov ecx, 0x3fe
jmp 0x4a0e47
cmp dword [eax + 0x24], 0
je 0x4a104c
mov dword [esp + 4], str.grammar
mov eax, dword [eax + 8]
mov dword [esp], eax
call fcn.00478cd0
test eax, eax
je 0x4a104c
mov edx, dword [str.http:__relaxng.org_ns_structure_1.0]
mov dword [esp + 4], edx
mov eax, dword [edi + 0x24]
mov eax, dword [eax + 8]
mov dword [esp], eax
call fcn.00478cd0
test eax, eax
jne 0x4a106c
mov ecx, dword [ebp - 0x34]
mov dword [esp + 8], 0
mov dword [esp + 4], ecx
mov dword [esp], str.xmlRelaxNG:_included_document__s_root_is_not_a_grammar_n
mov ecx, 0x40e
jmp 0x4a0e47
mov ebx, dword [esi + 0xc]
mov dword [ebp - 0x3c], esi
jmp 0x4a11b4
cmp dword [ebx + 0x24], 0
je 0x4a10e9
mov dword [esp + 4], 0x65e79d
mov eax, dword [ebx + 8]
mov dword [esp], eax
call fcn.00478cd0
test eax, eax
je 0x4a10e9
mov eax, dword [str.http:__relaxng.org_ns_structure_1.0]
mov dword [esp + 4], eax
mov eax, dword [ebx + 0x24]
mov eax, dword [eax + 8]
mov dword [esp], eax
call fcn.00478cd0
test eax, eax
je 0x4a10e9
mov ecx, dword [edi + 0xc]
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x2c]
mov dword [esp], 0
call fcn.004a0305
test eax, eax
jne 0x4a11b1
mov edx, dword [ebp - 0x34]
mov dword [esp + 8], 0
mov dword [esp + 4], edx
mov dword [esp], str.xmlRelaxNG:_include__s_has_a_start_but_not_the_included_grammar_n
mov ecx, 0x453
jmp 0x4a115f
cmp dword [ebx + 0x24], 0
je 0x4a11b1
mov dword [esp + 4], str.define
mov eax, dword [ebx + 8]
mov dword [esp], eax
call fcn.00478cd0
test eax, eax
je 0x4a11b1
mov ecx, dword [str.http:__relaxng.org_ns_structure_1.0]
mov dword [esp + 4], ecx
mov eax, dword [ebx + 0x24]
mov eax, dword [eax + 8]
mov dword [esp], eax
call fcn.00478cd0
test eax, eax
je 0x4a11b1
mov dword [esp + 4], 0x65e7aa
mov dword [esp], ebx
call fcn.0044bb1b
mov esi, eax
test eax, eax
jne 0x4a116c
mov eax, dword [ebp - 0x34]
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov dword [esp], str.xmlRelaxNG:_include__s_has_define_without_name_n
mov ecx, 0x41d
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x2c]
call fcn.0049ea14
jmp 0x4a11b1
call fcn.0049dcd6
mov ecx, dword [edi + 0xc]
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x2c]
mov dword [esp], esi
call fcn.004a0305
test eax, eax
jne 0x4a11a8
mov edx, dword [ebp - 0x34]
mov ecx, 0x3f5
mov dword [esp + 4], edx
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x3c]
mov dword [esp + 8], esi
mov dword [esp], str.xmlRelaxNG:_include__s_has_a_define__s_but_not_the_included_grammar_n
call fcn.0049ea14
mov dword [esp], esi
call dword [0x5dd270]
mov ebx, dword [ebx + 0x18]
test ebx, ebx
jne 0x4a1077
mov esi, dword [ebp - 0x3c]
cmp dword [ebp - 0x38], 0
je 0x4a11d1
mov ecx, dword [ebp - 0x38]
mov dword [esp], ecx
call dword [0x5dd270]
cmp dword [ebp - 0x30], 0
jne 0x4a1204
mov ebx, dword [ebp - 0x34]
mov ecx, 0x413
mov edx, esi
mov eax, dword [ebp - 0x2c]
mov dword [esp + 8], 0
mov dword [esp + 4], ebx
mov dword [esp], str.Failed_to_load_include__s_n
call fcn.0049ea14
mov dword [esp], ebx
jmp 0x4a094e
mov eax, dword [ebp - 0x34]
mov dword [esp], eax
call dword [0x5dd270]
mov edx, dword [ebp - 0x30]
mov dword [esi + 0x34], edx
jmp 0x4a166e
mov dword [esp + 4], 0x65e7f6
mov eax, dword [esi + 8]
mov dword [esp], eax
call fcn.00478cd0
test eax, eax
jne 0x4a124d
mov dword [esp + 4], 0x65e7fe
mov eax, dword [esi + 8]
mov dword [esp], eax
call fcn.00478cd0
test eax, eax
je 0x4a138e
mov dword [esp + 4], 0x65e7aa
mov dword [esp], esi
call fcn.0044bb1b
mov ebx, eax
test eax, eax
je 0x4a166e
cmp dword [esi + 0xc], 0
jne 0x4a1290
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x65e7aa
mov eax, dword [esi + 0x24]
mov dword [esp], esi
mov dword [esp + 4], eax
call fcn.0044d6f2
mov edi, eax
test eax, eax
jne 0x4a1301
jmp 0x4a12dd
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x65e7aa
mov eax, dword [esi + 0x24]
mov dword [esp + 4], eax
mov eax, dword [esi + 0x20]
mov dword [esp], eax
call fcn.0044d65f
mov edi, eax
test eax, eax
je 0x4a12dd
mov dword [esp + 4], eax
mov eax, dword [esi + 0xc]
mov dword [esp], eax
call fcn.0044e721
mov dword [esp], ebx
call fcn.00449641
mov dword [esp], edi
mov dword [esp + 4], eax
call fcn.0044c79f
jmp 0x4a1301
mov ecx, 0x3f0
mov edx, esi
mov eax, dword [ebp - 0x2c]
mov dword [esp + 8], 0
mov dword [esp + 4], ebx
mov dword [esp], str.Failed_to_create_a_name__s_element_n
call fcn.0049ea14
xor edi, edi
mov dword [esp + 4], 0x65e7aa
mov dword [esp], esi
call fcn.0044c345
mov dword [esp], ebx
call dword [0x5dd270]
mov dword [esp + 4], 0x65e8de
mov dword [esp], esi
call fcn.0044bb1b
mov ebx, eax
test eax, eax
je 0x4a1356
test edi, edi
je 0x4a1348
mov dword [esp + 8], eax
mov dword [esp + 4], 0x65e8de
mov dword [esp], edi
call fcn.0044d2a0
mov dword [esp], ebx
call dword [0x5dd270]
jmp 0x4a166e
mov dword [esp + 4], 0x65e7fe
mov eax, dword [esi + 8]
mov dword [esp], eax
call fcn.00478cd0
test eax, eax
je 0x4a166e
mov dword [esp + 8], 0x65e042
mov dword [esp + 4], 0x65e8de
mov dword [esp], edi
call fcn.0044d2a0
jmp 0x4a166e
mov dword [esp + 4], 0x65e7aa
mov eax, dword [esi + 8]
mov dword [esp], eax
call fcn.00478cd0
test eax, eax
jne 0x4a13d7
mov dword [esp + 4], str.nsName
mov eax, dword [esi + 8]
mov dword [esp], eax
call fcn.00478cd0
test eax, eax
jne 0x4a13d7
mov dword [esp + 4], 0x65e7bf
mov eax, dword [esi + 8]
mov dword [esp], eax
call fcn.00478cd0
test eax, eax
je 0x4a155b
mov dword [esp + 4], 0x65e8de
mov dword [esp], esi
call fcn.0044ba80
test eax, eax
jne 0x4a144a
mov ebx, dword [esi + 0x14]
jmp 0x4a1409
mov dword [esp + 4], 0x65e8de
mov dword [esp], ebx
call fcn.0044bb1b
mov edi, eax
test eax, eax
jne 0x4a142d
mov ebx, dword [ebx + 0x14]
test ebx, ebx
je 0x4a1413
cmp dword [ebx + 4], 1
je 0x4a13f0
mov dword [esp + 8], 0x65e042
mov dword [esp + 4], 0x65e8de
mov dword [esp], esi
call fcn.0044d2a0
jmp 0x4a144a
mov dword [esp + 8], eax
mov dword [esp + 4], 0x65e8de
mov dword [esp], esi
call fcn.0044d2a0
mov dword [esp], edi
call dword [0x5dd270]
mov dword [esp + 4], 0x65e7aa
mov eax, dword [esi + 8]
mov dword [esp], eax
call fcn.00478cd0
test eax, eax
je 0x4a150e
mov dword [esp], esi
call fcn.0044b36d
mov edi, eax
test eax, eax
je 0x4a150e
lea ecx, [ebp - 0x1c]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0044b9ef
mov ebx, eax
test eax, eax
je 0x4a1505
mov eax, dword [ebp - 0x1c]
mov dword [esp + 4], esi
mov dword [esp + 8], eax
mov eax, dword [esi + 0x20]
mov dword [esp], eax
call fcn.00449352
test eax, eax
jne 0x4a14cd
mov eax, dword [ebp - 0x1c]
mov ecx, 0x449
mov dword [esp + 4], eax
mov edx, esi
mov eax, dword [ebp - 0x2c]
mov dword [esp + 8], 0
mov dword [esp], str.xmlRelaxNGParse:_no_namespace_for_prefix__s_n
call fcn.0049ea14
jmp 0x4a14f0
mov eax, dword [eax + 8]
mov dword [esp + 4], 0x65e8de
mov dword [esp + 8], eax
mov dword [esp], esi
call fcn.0044d2a0
mov dword [esp + 4], ebx
mov dword [esp], esi
call fcn.0044d4f5
mov dword [esp], ebx
call dword [0x5dd270]
mov eax, dword [ebp - 0x1c]
mov dword [esp], eax
call dword [0x5dd270]
mov dword [esp], edi
call dword [0x5dd270]
mov dword [esp + 4], str.nsName
mov eax, dword [esi + 8]
mov dword [esp], eax
call fcn.00478cd0
test eax, eax
je 0x4a166e
mov ebx, dword [ebp - 0x2c]
test byte [ebx + 0x21], 2
je 0x4a166e
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], str.Found_nsName_except__nsName_forbidden_construct_n
mov ecx, 0x43d
mov edx, esi
mov eax, ebx
jmp 0x4a1669
mov dword [esp + 4], str.except
mov eax, dword [esi + 8]
mov dword [esp], eax
call fcn.00478cd0
test eax, eax
je 0x4a1603
cmp esi, dword [ebp - 0x40]
je 0x4a1603
mov eax, dword [ebp - 0x2c]
mov ebx, dword [eax + 0x20]
mov eax, dword [esi + 0x14]
test eax, eax
je 0x4a15bf
mov dword [esp + 4], str.anyName
mov eax, dword [eax + 8]
mov dword [esp], eax
call fcn.00478cd0
test eax, eax
je 0x4a15bf
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
or dword [edx + 0x20], 0x100
mov edx, esi
call fcn.004a04ae
mov ecx, dword [ebp - 0x2c]
mov dword [ecx + 0x20], ebx
jmp 0x4a15fc
mov eax, dword [esi + 0x14]
test eax, eax
je 0x4a166e
mov dword [esp + 4], str.nsName
mov eax, dword [eax + 8]
mov dword [esp], eax
call fcn.00478cd0
test eax, eax
je 0x4a166e
mov eax, dword [ebp - 0x2c]
mov edx, esi
or dword [eax + 0x20], 0x200
call fcn.004a04ae
mov edx, dword [ebp - 0x2c]
mov dword [edx + 0x20], ebx
xor ebx, ebx
jmp 0x4a17af
mov dword [esp + 4], str.anyName
mov eax, dword [esi + 8]
mov dword [esp], eax
call fcn.00478cd0
test eax, eax
je 0x4a166e
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ecx + 0x20]
test ah, 1
je 0x4a1643
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], str.Found_anyName_except__anyName_forbidden_construct_n
mov ecx, 0x42a
jmp 0x4a1664
test ah, 2
je 0x4a166e
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], str.Found_nsName_except__anyName_forbidden_construct_n
mov ecx, 0x43c
mov edx, esi
mov eax, dword [ebp - 0x2c]
call fcn.0049ea14
mov dword [esp + 4], 0x65ed0d
mov eax, dword [esi + 8]
mov dword [esp], eax
call fcn.00478cd0
test eax, eax
je 0x4a1790
mov dword [esp + 4], 0x65e8de
mov dword [esp], esi
call fcn.0044bb1b
mov ebx, dword [esi + 0xc]
mov edi, eax
mov dword [ebp - 0x30], esi
jmp 0x4a16f2
test edi, edi
je 0x4a16cf
mov dword [esp + 4], 0x65e8de
mov dword [esp], ebx
call fcn.0044ba80
test eax, eax
jne 0x4a16cf
mov dword [esp + 8], edi
mov dword [esp + 4], 0x65e8de
mov dword [esp], ebx
call fcn.0044d2a0
mov eax, dword [ebx + 0x18]
mov dword [esp], ebx
mov dword [ebp - 0x34], eax
call fcn.004487fe
mov edx, dword [ebp - 0x30]
mov dword [esp + 4], ebx
mov dword [esp], edx
call fcn.0044cb01
mov ebx, dword [ebp - 0x34]
mov dword [ebp - 0x30], eax
test ebx, ebx
jne 0x4a16a3
test edi, edi
je 0x4a1703
mov dword [esp], edi
call dword [0x5dd270]
mov edx, dword [esi + 0x30]
test edx, edx
je 0x4a17ad
mov eax, dword [esi + 0x14]
add eax, 0x30
mov ecx, eax
mov eax, dword [eax]
test eax, eax
jne 0x4a1714
mov dword [ecx], edx
mov dword [esi + 0x30], 0
jmp 0x4a17ad
sub eax, 3
cmp eax, 1
ja 0x4a17ad
mov eax, dword [esi + 0x28]
test eax, eax
jne 0x4a174e
jmp 0x4a1754
lea ecx, [edx - 9]
cmp cl, 1
jbe 0x4a174d
cmp dl, 0x20
je 0x4a174d
cmp dl, 0xd
jne 0x4a1790
inc eax
mov dl, byte [eax]
test dl, dl
jne 0x4a173b
mov eax, dword [esi + 0x14]
cmp dword [eax + 4], 1
jne 0x4a17ad
mov dword [esp + 4], 0x65e7bf
mov eax, dword [eax + 8]
mov dword [esp], eax
call fcn.00478cd0
test eax, eax
jne 0x4a1790
mov dword [esp + 4], 0x65e7c5
mov ebx, esi
mov eax, dword [esi + 0x14]
mov eax, dword [eax + 8]
mov dword [esp], eax
call fcn.00478cd0
test eax, eax
je 0x4a1792
xor ebx, ebx
mov eax, dword [esi + 0xc]
test eax, eax
je 0x4a17af
mov edx, dword [eax + 4]
cmp edx, 5
je 0x4a17af
cmp edx, 0x11
je 0x4a17af
cmp edx, 6
jne 0x4a17d1
jmp 0x4a17af
mov ebx, esi
mov edx, dword [esi + 0x18]
test edx, edx
jne 0x4a17cf
mov esi, dword [esi + 0x14]
test esi, esi
jne 0x4a17c1
xor eax, eax
jmp 0x4a17d1
cmp esi, dword [ebp - 0x40]
je 0x4a17cf
mov eax, dword [esi + 0x18]
test eax, eax
je 0x4a17b6
jmp 0x4a17d1
mov eax, edx
mov esi, eax
test esi, esi
jne 0x4a04c6
test ebx, ebx
je 0x4a1800
mov dword [esp], ebx
call fcn.004487fe
mov dword [esp], ebx
call fcn.0044c4b4
jmp 0x4a1800
cmp dword [ebp - 0x30], 0
jne 0x4a0c94
jmp 0x4a0ca0
add esp, 0x4c
pop ebx
pop esi
pop edi
pop ebp
ret