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

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x44
mov esi, edx
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x1c], 0
test edx, edx
je 0x45531f
cmp dword [ebp - 0x1c], 0
je 0x4542b0
push dword [ebp - 0x1c]
call fcn.004081e6
push dword [ebp - 0x1c]
call fcn.004086e0
pop ebx
mov dword [ebp - 0x1c], 0
pop edi
mov eax, dword [esi + 4]
cmp eax, 1
jne 0x455263
cmp dword [esi + 0x24], 0
je 0x4542d9
push dword [0x58b664]
mov eax, dword [esi + 0x24]
push dword [eax + 8]
call fcn.00433ea9
pop edx
test eax, eax
pop ecx
jne 0x454358
mov eax, dword [esi + 0x14]
test eax, eax
je 0x4552b1
cmp dword [eax + 4], 1
jne 0x4552b1
push 0x5e5009
mov eax, dword [esi + 0x14]
push dword [eax + 8]
call fcn.00433ea9
pop ebx
test eax, eax
pop edi
jne 0x454334
push 0x5e5059
mov eax, dword [esi + 0x14]
push dword [eax + 8]
call fcn.00433ea9
pop edx
test eax, eax
pop ecx
jne 0x454334
push 0x5e50c7
mov eax, dword [esi + 0x14]
push dword [eax + 8]
call fcn.00433ea9
pop ebx
test eax, eax
pop edi
je 0x4552b1
push 0
mov edx, esi
mov eax, dword [esi + 0x14]
push dword [eax + 8]
mov eax, dword [ebp - 0x14]
push str.element__s_doesnt_allow_foreign_elements_n
push 0x40b
call fcn.0044e2ba
add esp, 0x10
jmp 0x4552b1
mov edi, dword [esi + 0x2c]
test edi, edi
je 0x4545ab
mov eax, dword [edi + 0x18]
mov dword [ebp - 0x20], eax
cmp dword [edi + 0x24], 0
je 0x45438a
push dword [0x58b664]
mov eax, dword [edi + 0x24]
push dword [eax + 8]
call fcn.00433ea9
pop edx
test eax, eax
pop ecx
je 0x4545a3
push 0x5e5009
push dword [edi + 8]
call fcn.00433ea9
pop ecx
test eax, eax
pop ebx
je 0x454400
push 0x5e5048
push dword [esi + 8]
call fcn.00433ea9
pop ebx
test eax, eax
pop edx
jne 0x4545a3
push 0x5e5064
push dword [esi + 8]
call fcn.00433ea9
pop edx
test eax, eax
pop ecx
jne 0x4545a3
push 0x5e5072
push dword [esi + 8]
call fcn.00433ea9
pop ecx
test eax, eax
pop ebx
jne 0x4545a3
push str.parentRef
push dword [esi + 8]
call fcn.00433ea9
pop ebx
test eax, eax
pop edx
jne 0x4545a3
push 0x5e50c7
jmp 0x45447a
push 0x5e65d6
push dword [edi + 8]
call fcn.00433ea9
pop edx
test eax, eax
pop ecx
je 0x454431
push 0x5e5059
push dword [esi + 8]
call fcn.00433ea9
pop ecx
test eax, eax
pop ebx
jne 0x4545a3
push 0x5e5968
jmp 0x454491
push 0x5e6ca1
push dword [edi + 8]
call fcn.00433ea9
pop ebx
test eax, eax
pop edx
je 0x454462
push str.externalRef
push dword [esi + 8]
call fcn.00433ea9
pop edx
test eax, eax
pop ecx
jne 0x4545a3
push 0x5e500e
jmp 0x454491
push str.combine
push dword [edi + 8]
call fcn.00433ea9
pop ecx
test eax, eax
pop ebx
je 0x4544b8
push 0x5e4ffc
push dword [esi + 8]
call fcn.00433ea9
pop ebx
test eax, eax
pop edx
jne 0x4545a3
push str.define
push dword [esi + 8]
call fcn.00433ea9
pop edx
test eax, eax
pop ecx
jne 0x4545a3
push dword [esi + 8]
push dword [edi + 8]
push str.Attribute__s_is_not_allowed_on__s_n
push 0x40a
jmp 0x454596
push str.datatypeLibrary
push dword [edi + 8]
call fcn.00433ea9
pop ecx
test eax, eax
pop ebx
je 0x454573
push 1
push dword [edi + 0xc]
push dword [esi + 0x20]
call fcn.00408313
add esp, 0xc
mov ebx, eax
test eax, eax
je 0x4545a3
cmp byte [eax], 0
je 0x454569
push eax
call fcn.00412651
pop edx
test eax, eax
mov dword [ebp - 0x24], eax
jne 0x454519
push ebx
mov edx, esi
push dword [edi + 8]
mov eax, dword [ebp - 0x14]
push str.Attribute__s_contains_invalid_URI__s_n
push 0x41a
call fcn.0044e2ba
add esp, 0x10
jmp 0x454569
mov edx, dword [ebp - 0x24]
cmp dword [edx], 0
jne 0x45453c
push ebx
mov edx, esi
push dword [edi + 8]
mov eax, dword [ebp - 0x14]
push str.Attribute__s_URI__s_is_not_absolute_n
push 0x45e
call fcn.0044e2ba
add esp, 0x10
mov ecx, dword [ebp - 0x24]
cmp dword [ecx + 0x20], 0
je 0x454560
push ebx
mov edx, esi
push dword [edi + 8]
mov eax, dword [ebp - 0x14]
push str.Attribute__s_URI__s_has_a_fragment_ID_n
push 0x45d
call fcn.0044e2ba
add esp, 0x10
push dword [ebp - 0x24]
call fcn.00410841
pop edi
push ebx
call dword [0x58b640]
pop ecx
jmp 0x4545a3
push 0x5e5b42
push dword [edi + 8]
call fcn.00433ea9
pop ebx
test eax, eax
pop edx
jne 0x4545a3
push dword [esi + 8]
push dword [edi + 8]
push str.Unknown_attribute__s_on__s_n
push 0x459
mov edx, esi
mov eax, dword [ebp - 0x14]
call fcn.0044e2ba
add esp, 0x10
mov edi, dword [ebp - 0x20]
jmp 0x45435b
push str.externalRef
push dword [esi + 8]
call fcn.00433ea9
pop edx
test eax, eax
pop ecx
je 0x454979
push 0x5e5b42
push esi
call fcn.0040c685
pop ebx
test eax, eax
pop edi
mov dword [ebp - 0x28], eax
jne 0x4545fc
mov ebx, dword [esi + 0x14]
jmp 0x4545f8
cmp dword [ebx + 4], 1
jne 0x4545fc
push 0x5e5b42
push ebx
call fcn.0040c685
pop edx
test eax, eax
pop ecx
mov dword [ebp - 0x28], eax
jne 0x4545fc
mov ebx, dword [ebx + 0x14]
test ebx, ebx
jne 0x4545db
push 0x5e6ca1
push esi
call fcn.0040c685
pop ebx
mov edi, eax
pop eax
test edi, edi
jne 0x454639
push 0
mov edx, esi
push 0
mov eax, dword [ebp - 0x14]
push str.xmlRelaxNGParse:_externalRef_has_no_href_attribute_n
push 0x41c
call fcn.0044e2ba
add esp, 0x10
cmp dword [ebp - 0x28], 0
je 0x4552b1
push dword [ebp - 0x28]
jmp 0x454671
push edi
call fcn.00412651
pop ecx
mov ebx, eax
test eax, eax
jne 0x45467d
push 0
mov edx, esi
push edi
mov eax, dword [ebp - 0x14]
push str.Incorrect_URI_for_externalRef__s_n
push 0x411
call fcn.0044e2ba
add esp, 0x10
cmp dword [ebp - 0x28], 0
je 0x454670
push dword [ebp - 0x28]
call dword [0x58b640]
pop edx
push edi
call dword [0x58b640]
pop eax
jmp 0x4552b1
cmp dword [eax + 0x20], 0
je 0x4546b5
push 0
mov edx, esi
push edi
mov eax, dword [ebp - 0x14]
push str.Fragment_forbidden_in_URI_for_externalRef__s_n
push 0x411
call fcn.0044e2ba
add esp, 0x10
cmp dword [ebp - 0x28], 0
je 0x4546ad
push dword [ebp - 0x28]
call dword [0x58b640]
pop eax
push ebx
call fcn.00410841
jmp 0x45466f
push eax
call fcn.00410841
push esi
push dword [esi + 0x20]
call fcn.0040c6a3
mov ebx, eax
push eax
push edi
call fcn.004126cd
add esp, 0x14
test eax, eax
mov dword [ebp - 0x2c], eax
jne 0x454717
push 0
mov edx, esi
push edi
mov eax, dword [ebp - 0x14]
push str.Failed_to_compute_URL_for_externalRef__s_n
push 0x411
call fcn.0044e2ba
add esp, 0x10
cmp dword [ebp - 0x28], 0
je 0x454701
push dword [ebp - 0x28]
call dword [0x58b640]
pop eax
push edi
call dword [0x58b640]
pop eax
test ebx, ebx
je 0x4552b1
push ebx
jmp 0x454671
push edi
call dword [0x58b640]
pop eax
test ebx, ebx
je 0x45472b
push ebx
call dword [0x58b640]
pop eax
mov eax, dword [ebp - 0x14]
xor ebx, ebx
cmp dword [eax + 0x64], 0
jle 0x45475d
push dword [ebp - 0x2c]
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0x6c]
mov eax, dword [eax + ebx*4]
push dword [eax + 4]
call fcn.00433ea9
pop ecx
test eax, eax
pop edi
jne 0x4548e4
mov ecx, dword [ebp - 0x14]
inc ebx
cmp ebx, dword [ecx + 0x64]
jl 0x454736
push 0
push 0
push dword [ebp - 0x2c]
call fcn.0042351f
add esp, 0xc
test eax, eax
mov dword [ebp - 0x34], eax
jne 0x454787
push 0
push dword [ebp - 0x2c]
push str.xmlRelaxNG:_could_not_load__s_n
push 0x429
jmp 0x4548f3
push 0x14
call dword [0x58b63c]
pop edx
test eax, eax
mov dword [ebp - 0x30], eax
jne 0x4547bf
push 0
mov edx, dword [ebp - 0x34]
push dword [ebp - 0x2c]
mov eax, dword [ebp - 0x14]
push str.xmlRelaxNG:_allocate_memory_for_doc__s_n
push 2
call fcn.0044e2ba
add esp, 0x10
push dword [ebp - 0x34]
call fcn.00408977
pop edi
jmp 0x454923
cld
xor eax, eax
mov edi, dword [ebp - 0x30]
mov ecx, 5
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x30]
mov edx, dword [ebp - 0x34]
mov dword [eax + 8], edx
push dword [ebp - 0x2c]
call fcn.00433dc4
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x14]
pop ebx
mov dword [ecx + 4], eax
mov eax, dword [edx + 0x3c]
mov dword [ecx], eax
mov dword [edx + 0x3c], ecx
cmp dword [ebp - 0x28], 0
je 0x454826
push dword [ebp - 0x34]
call fcn.00409801
pop ecx
mov ebx, eax
test eax, eax
je 0x454826
push 0x5e5b42
push eax
call fcn.0040c5ee
pop edi
test eax, eax
pop edx
jne 0x454826
push dword [ebp - 0x28]
push 0x5e5b42
push ebx
call fcn.0040c8f9
add esp, 0xc
mov ecx, dword [ebp - 0x14]
cmp dword [ecx + 0x6c], 0
jne 0x454850
mov dword [ecx + 0x68], 4
mov dword [ecx + 0x64], 0
push 0x10
call dword [0x58b63c]
mov edx, dword [ebp - 0x14]
pop ebx
test eax, eax
mov dword [edx + 0x6c], eax
je 0x45487e
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0x68]
cmp dword [ecx + 0x64], edx
jl 0x45488d
lea eax, [edx + edx]
mov dword [ecx + 0x68], eax
lea eax, [edx*8]
push eax
push dword [ecx + 0x6c]
call dword [0x58b634]
pop edx
mov edx, dword [ebp - 0x14]
pop ecx
test eax, eax
mov dword [edx + 0x6c], eax
jne 0x45488d
mov edx, str.adding_document_n
mov eax, dword [ebp - 0x14]
call fcn.0044e1bc
jmp 0x4548a6
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx + 0x64]
mov edx, dword [ecx + 0x6c]
mov ecx, dword [ebp - 0x30]
mov dword [edx + eax*4], ecx
mov edx, dword [ebp - 0x14]
inc eax
mov dword [edx + 0x60], ecx
mov dword [edx + 0x64], eax
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x14]
call fcn.00455327
test eax, eax
jne 0x4548c1
mov ecx, dword [ebp - 0x14]
mov dword [ecx + 0x60], 0
jmp 0x454923
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0x64]
test eax, eax
jle 0x45491c
mov ecx, dword [ebp - 0x14]
lea edx, [eax - 1]
test edx, edx
mov dword [ecx + 0x64], edx
jle 0x454902
mov eax, dword [ecx + 0x6c]
mov eax, dword [eax + edx*4 - 4]
mov dword [ecx + 0x60], eax
jmp 0x45490c
push 0
push dword [ebp - 0x2c]
push str.Detected_an_externalRef_recursion_for__s_n
push 0x409
xor edx, edx
mov eax, dword [ebp - 0x14]
call fcn.0044e2ba
add esp, 0x10
jmp 0x454923
mov eax, dword [ebp - 0x14]
mov dword [eax + 0x60], 0
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0x64]
mov eax, dword [ecx + 0x6c]
mov dword [eax + edx*4], 0
mov edi, dword [ebp - 0x30]
test edi, edi
jne 0x454961
push 0
mov edx, esi
push dword [ebp - 0x2c]
mov eax, dword [ebp - 0x14]
push str.Failed_to_load_externalRef__s_n
push 0x408
call fcn.0044e2ba
add esp, 0x10
cmp dword [ebp - 0x28], 0
je 0x45494f
push dword [ebp - 0x28]
call dword [0x58b640]
pop eax
push dword [ebp - 0x2c]
call dword [0x58b640]
pop eax
mov dword [ebp - 0x1c], esi
jmp 0x4552db
cmp dword [ebp - 0x28], 0
je 0x454971
push dword [ebp - 0x28]
call dword [0x58b640]
pop eax
push dword [ebp - 0x2c]
jmp 0x454e18
push 0x5e500e
push dword [esi + 8]
call fcn.00433ea9
pop ecx
test eax, eax
pop ebx
je 0x454e26
push 0x5e6ca1
push esi
call fcn.0040c685
mov ebx, eax
pop eax
test ebx, ebx
pop edx
jne 0x4549c6
mov edx, esi
mov eax, dword [ebp - 0x14]
push 0
push 0
push str.xmlRelaxNGParse:_include_has_no_href_attribute_n
push 0x41c
call fcn.0044e2ba
add esp, 0x10
mov dword [ebp - 0x1c], esi
jmp 0x4552db
push esi
push dword [esi + 0x20]
call fcn.0040c6a3
mov edi, eax
push eax
push ebx
call fcn.004126cd
add esp, 0x10
test eax, eax
mov dword [ebp - 0x3c], eax
jne 0x454a11
push 0
mov eax, dword [ebp - 0x14]
push ebx
mov edx, esi
push str.Failed_to_compute_URL_for_include__s_n
push 0x411
call fcn.0044e2ba
add esp, 0x10
push ebx
call dword [0x58b640]
pop eax
test edi, edi
je 0x4552b1
jmp 0x454670
push ebx
call dword [0x58b640]
pop eax
test edi, edi
je 0x454a25
push edi
call dword [0x58b640]
pop eax
push 0x5e5b42
push esi
call fcn.0040c685
pop ebx
test eax, eax
pop edi
mov dword [ebp - 0x38], eax
jne 0x454a5f
mov ebx, dword [esi + 0x14]
jmp 0x454a5b
cmp dword [ebx + 4], 1
jne 0x454a5f
push 0x5e5b42
push ebx
call fcn.0040c685
pop edx
test eax, eax
pop ecx
mov dword [ebp - 0x38], eax
jne 0x454a5f
mov ebx, dword [ebx + 0x14]
test ebx, ebx
jne 0x454a3e
mov eax, dword [ebp - 0x14]
xor ebx, ebx
cmp dword [eax + 0x74], 0
jle 0x454a91
push dword [ebp - 0x3c]
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0x7c]
mov eax, dword [eax + ebx*4]
push dword [eax + 4]
call fcn.00433ea9
pop ecx
test eax, eax
pop edi
jne 0x454c8c
mov ecx, dword [ebp - 0x14]
inc ebx
cmp ebx, dword [ecx + 0x74]
jl 0x454a6a
push 0
push 0
push dword [ebp - 0x3c]
call fcn.0042351f
add esp, 0xc
mov ebx, eax
test eax, eax
jne 0x454aba
push 0
push dword [ebp - 0x3c]
push str.xmlRelaxNG:_could_not_load__s_n
push 0x429
jmp 0x454c88
push 0x14
call dword [0x58b63c]
pop edx
test eax, eax
mov dword [ebp - 0x40], eax
jne 0x454ae3
mov eax, dword [ebp - 0x14]
mov edx, str.allocating_include_n
call fcn.0044e1bc
push ebx
call fcn.00408977
pop eax
jmp 0x454ca8
cld
xor eax, eax
mov edi, dword [ebp - 0x40]
mov ecx, 5
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x40]
mov dword [eax + 8], ebx
push dword [ebp - 0x3c]
call fcn.00433dc4
mov edx, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x14]
pop edi
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 0x454b48
push ebx
call fcn.00409801
pop ecx
test eax, eax
mov dword [ebp - 0x44], eax
je 0x454b48
push 0x5e5b42
push eax
call fcn.0040c5ee
pop edi
test eax, eax
pop edx
jne 0x454b48
push dword [ebp - 0x38]
push 0x5e5b42
push dword [ebp - 0x44]
call fcn.0040c8f9
add esp, 0xc
mov eax, dword [ebp - 0x14]
cmp dword [eax + 0x7c], 0
jne 0x454b72
mov dword [eax + 0x78], 4
mov dword [eax + 0x74], 0
push 0x10
call dword [0x58b63c]
mov edx, dword [ebp - 0x14]
pop ecx
test eax, eax
mov dword [edx + 0x7c], eax
je 0x454ba0
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0x78]
cmp dword [ecx + 0x74], edx
jl 0x454baf
lea eax, [edx + edx]
mov dword [ecx + 0x78], eax
lea eax, [edx*8]
push eax
push dword [ecx + 0x7c]
call dword [0x58b634]
pop edi
pop edx
mov edx, dword [ebp - 0x14]
test eax, eax
mov dword [edx + 0x7c], eax
jne 0x454baf
mov edx, str.allocating_include_n
mov eax, dword [ebp - 0x14]
call fcn.0044e1bc
jmp 0x454bc8
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx + 0x74]
mov edx, dword [ecx + 0x7c]
mov ecx, dword [ebp - 0x40]
mov dword [edx + eax*4], ecx
mov edx, dword [ebp - 0x14]
inc eax
mov dword [edx + 0x70], ecx
mov dword [edx + 0x74], eax
mov edx, ebx
mov eax, dword [ebp - 0x14]
call fcn.00455327
mov ebx, eax
test eax, eax
jne 0x454be7
mov ecx, dword [ebp - 0x14]
mov dword [ecx + 0x70], 0
jmp 0x454ca8
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0x74]
test eax, eax
jle 0x454c24
mov ecx, dword [ebp - 0x14]
lea edx, [eax - 1]
test edx, edx
mov dword [ecx + 0x74], edx
jle 0x454c0a
mov eax, dword [ecx + 0x7c]
mov eax, dword [eax + edx*4 - 4]
mov dword [ecx + 0x70], eax
jmp 0x454c14
mov eax, dword [ebp - 0x14]
mov dword [eax + 0x70], 0
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0x74]
mov eax, dword [ecx + 0x7c]
mov dword [eax + edx*4], 0
push ebx
call fcn.00409801
pop ebx
test eax, eax
mov dword [ebp - 0x44], eax
jne 0x454c43
push 0
push dword [ebp - 0x3c]
push str.xmlRelaxNG:_included_document_is_empty__s_n
push 0x3fe
jmp 0x454c88
mov eax, dword [ebp - 0x44]
cmp dword [eax + 0x24], 0
je 0x454c79
push str.grammar
push dword [eax + 8]
call fcn.00433ea9
pop edx
test eax, eax
pop ecx
je 0x454c79
push dword [0x58b664]
mov edx, dword [ebp - 0x44]
mov eax, dword [edx + 0x24]
push dword [eax + 8]
call fcn.00433ea9
pop ebx
test eax, eax
pop edi
jne 0x454caf
push 0
push dword [ebp - 0x3c]
push str.xmlRelaxNG:_included_document__s_root_is_not_a_grammar_n
push 0x40e
mov edx, esi
jmp 0x454c9d
push 0
xor edx, edx
push dword [ebp - 0x3c]
push str.Detected_an_Include_recursion_for__s_n
push 0x414
mov eax, dword [ebp - 0x14]
call fcn.0044e2ba
add esp, 0x10
xor edi, edi
jmp 0x454dd4
mov edi, dword [esi + 0xc]
test edi, edi
je 0x454dd1
cmp dword [edi + 0x24], 0
je 0x454d18
push 0x5e4ffc
push dword [edi + 8]
call fcn.00433ea9
pop edx
test eax, eax
pop ecx
je 0x454d18
push dword [0x58b664]
mov eax, dword [edi + 0x24]
push dword [eax + 8]
call fcn.00433ea9
pop ecx
test eax, eax
pop ebx
je 0x454d18
mov ecx, dword [ebp - 0x44]
push 0
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x14]
push dword [ecx + 0xc]
call fcn.0044ed42
pop ebx
test eax, eax
pop edx
jne 0x454dc9
push 0
push dword [ebp - 0x3c]
push str.xmlRelaxNG:_include__s_has_a_start_but_not_the_included_grammar_n
push 0x453
jmp 0x454d7a
test edi, edi
je 0x454dc9
cmp dword [edi + 0x24], 0
je 0x454dc9
push str.define
push dword [edi + 8]
call fcn.00433ea9
pop edx
test eax, eax
pop ecx
je 0x454dc9
push dword [0x58b664]
mov eax, dword [edi + 0x24]
push dword [eax + 8]
call fcn.00433ea9
pop ecx
test eax, eax
pop ebx
je 0x454dc9
push 0x5e5009
push edi
call fcn.0040c685
pop ebx
test eax, eax
pop edx
mov ebx, eax
jne 0x454d89
push 0
push dword [ebp - 0x3c]
push str.xmlRelaxNG:_include__s_has_define_without_name_n
push 0x41d
mov edx, esi
mov eax, dword [ebp - 0x14]
call fcn.0044e2ba
add esp, 0x10
jmp 0x454dc9
call fcn.0044ec66
mov eax, dword [ebp - 0x44]
push ebx
mov edx, dword [ebp - 0x3c]
push dword [eax + 0xc]
mov eax, dword [ebp - 0x14]
call fcn.0044ed42
pop edx
test eax, eax
pop ecx
jne 0x454dc1
push ebx
mov edx, esi
push dword [ebp - 0x3c]
mov eax, dword [ebp - 0x14]
push str.xmlRelaxNG:_include__s_has_a_define__s_but_not_the_included_grammar_n
push 0x3f5
call fcn.0044e2ba
add esp, 0x10
push ebx
call dword [0x58b640]
pop ebx
mov edi, dword [edi + 0x18]
jmp 0x454cb2
mov edi, dword [ebp - 0x40]
cmp dword [ebp - 0x38], 0
je 0x454de4
push dword [ebp - 0x38]
call dword [0x58b640]
pop ecx
test edi, edi
jne 0x454e15
push 0
mov edx, esi
push dword [ebp - 0x3c]
mov eax, dword [ebp - 0x14]
push str.Failed_to_load_include__s_n
push 0x413
call fcn.0044e2ba
push dword [ebp - 0x3c]
call dword [0x58b640]
add esp, 0x14
mov dword [ebp - 0x1c], esi
jmp 0x4552db
push dword [ebp - 0x3c]
call dword [0x58b640]
mov dword [esi + 0x34], edi
jmp 0x454f26
push 0x5e5048
push dword [esi + 8]
call fcn.00433ea9
pop edi
test eax, eax
pop edx
jne 0x454e50
push 0x5e5064
push dword [esi + 8]
call fcn.00433ea9
pop ecx
test eax, eax
pop ebx
je 0x454f5d
push 0x5e5009
mov dword [ebp - 0x48], 0
push esi
call fcn.0040c685
mov edi, eax
pop eax
test edi, edi
pop edx
je 0x4551b9
cmp dword [esi + 0xc], 0
jne 0x454e8b
push edi
push 0x5e5009
push dword [esi + 0x24]
push esi
call fcn.0040b6e4
add esp, 0x10
mov dword [ebp - 0x48], eax
jmp 0x454ec2
push 0
push 0x5e5009
push dword [esi + 0x24]
push dword [esi + 0x20]
call fcn.0040b665
add esp, 0x10
mov ebx, eax
test eax, eax
je 0x454ec8
push eax
push dword [esi + 0xc]
call fcn.0040b517
push edi
call fcn.00408d3a
push eax
push ebx
call fcn.0040a640
mov dword [ebp - 0x48], ebx
add esp, 0x14
cmp dword [ebp - 0x48], 0
jne 0x454ee2
push 0
mov edx, esi
push edi
mov eax, dword [ebp - 0x14]
push str.Failed_to_create_a_name__s_element_n
push 0x3f0
call fcn.0044e2ba
add esp, 0x10
push 0x5e5009
push esi
call fcn.0040c88c
push edi
call dword [0x58b640]
push 0x5e5b42
push esi
call fcn.0040c685
add esp, 0x14
mov ebx, eax
test eax, eax
je 0x454f2c
cmp dword [ebp - 0x48], 0
je 0x454f1f
push eax
push 0x5e5b42
push dword [ebp - 0x48]
call fcn.0040c8f9
add esp, 0xc
push ebx
call dword [0x58b640]
pop edi
jmp 0x4551b9
push 0x5e5064
push dword [esi + 8]
call fcn.00433ea9
pop ecx
test eax, eax
pop ebx
je 0x4551b9
push 0x5e5128
push 0x5e5b42
push dword [ebp - 0x48]
call fcn.0040c8f9
add esp, 0xc
jmp 0x4551b9
push 0x5e5009
push dword [esi + 8]
call fcn.00433ea9
pop edi
test eax, eax
pop edx
jne 0x454f9a
push str.nsName
push dword [esi + 8]
call fcn.00433ea9
pop ecx
test eax, eax
pop ebx
jne 0x454f9a
push 0x5e5059
push dword [esi + 8]
call fcn.00433ea9
pop edi
test eax, eax
pop edx
je 0x4550cb
push 0x5e5b42
push esi
call fcn.0040c5ee
pop ecx
test eax, eax
pop ebx
jne 0x454ffb
mov ebx, dword [esi + 0x14]
jmp 0x454fcc
cmp dword [ebx + 4], 1
jne 0x454fd0
push 0x5e5b42
push ebx
call fcn.0040c685
mov edi, eax
pop eax
test edi, edi
pop edx
jne 0x454fe5
mov ebx, dword [ebx + 0x14]
test ebx, ebx
jne 0x454fb0
push 0x5e5128
push 0x5e5b42
push esi
call fcn.0040c8f9
add esp, 0xc
jmp 0x454ffb
push edi
push 0x5e5b42
push esi
call fcn.0040c8f9
push edi
call dword [0x58b640]
add esp, 0x10
push 0x5e5009
push dword [esi + 8]
call fcn.00433ea9
pop ebx
test eax, eax
pop edi
je 0x455094
push esi
call fcn.0040cef8
pop ecx
mov edi, eax
test eax, eax
je 0x455094
lea eax, [ebp - 0x10]
push eax
push edi
call fcn.00406e01
mov ebx, eax
pop eax
test ebx, ebx
pop edx
je 0x45508c
push dword [ebp - 0x10]
push esi
push dword [esi + 0x20]
call fcn.00409b74
add esp, 0xc
test eax, eax
jne 0x455062
push 0
mov edx, esi
push dword [ebp - 0x10]
mov eax, dword [ebp - 0x14]
push str.xmlRelaxNGParse:_no_namespace_for_prefix__s_n
push 0x449
call fcn.0044e2ba
add esp, 0x10
jmp 0x45507a
push dword [eax + 8]
push 0x5e5b42
push esi
call fcn.0040c8f9
push ebx
push esi
call fcn.0040b420
add esp, 0x14
push ebx
call dword [0x58b640]
push dword [ebp - 0x10]
call dword [0x58b640]
pop ebx
pop eax
push edi
call dword [0x58b640]
pop ecx
push str.nsName
push dword [esi + 8]
call fcn.00433ea9
pop edi
test eax, eax
pop edx
je 0x4551b9
mov edx, dword [ebp - 0x14]
test byte [edx + 0x21], 2
je 0x4551b9
push 0
push 0
push str.Found_nsName_except__nsName_forbidden_construct_n
push 0x43d
jmp 0x4551ac
push str.except
push dword [esi + 8]
call fcn.00433ea9
pop ecx
test eax, eax
pop ebx
je 0x45516b
cmp esi, dword [ebp - 0x18]
je 0x45516b
mov ecx, dword [ebp - 0x14]
cmp dword [esi + 0x14], 0
mov ebx, dword [ecx + 0x20]
je 0x4551b9
push str.anyName
mov eax, dword [esi + 0x14]
push dword [eax + 8]
call fcn.00433ea9
pop edi
test eax, eax
pop edx
je 0x45512d
mov eax, dword [ebp - 0x14]
mov edx, esi
or dword [eax + 0x20], 0x100
call fcn.00454271
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x20], ebx
jmp 0x4552db
cmp dword [esi + 0x14], 0
je 0x4551b9
push str.nsName
mov eax, dword [esi + 0x14]
push dword [eax + 8]
call fcn.00433ea9
pop edx
test eax, eax
pop ecx
je 0x4551b9
mov ecx, dword [ebp - 0x14]
mov edx, esi
mov eax, ecx
or dword [ecx + 0x20], 0x200
call fcn.00454271
mov eax, dword [ebp - 0x14]
mov dword [eax + 0x20], ebx
jmp 0x4552db
push str.anyName
push dword [esi + 8]
call fcn.00433ea9
pop ebx
test eax, eax
pop edi
je 0x4551b9
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0x20]
test ah, 1
je 0x455199
push 0
push 0
push str.Found_anyName_except__anyName_forbidden_construct_n
push 0x42a
jmp 0x4551ac
test ah, 2
je 0x4551b9
push 0
push 0
push str.Found_nsName_except__anyName_forbidden_construct_n
push 0x43c
mov edx, esi
mov eax, dword [ebp - 0x14]
call fcn.0044e2ba
add esp, 0x10
push 0x5e7151
push dword [esi + 8]
call fcn.00433ea9
pop edx
test eax, eax
pop ecx
je 0x4552b6
push 0x5e5b42
push esi
call fcn.0040c685
pop ebx
mov edi, dword [esi + 0xc]
mov dword [ebp - 0x50], esi
mov dword [ebp - 0x4c], eax
pop eax
test edi, edi
je 0x45522e
cmp dword [ebp - 0x4c], 0
je 0x455212
push 0x5e5b42
push edi
call fcn.0040c5ee
pop edx
test eax, eax
pop ecx
jne 0x455212
push dword [ebp - 0x4c]
push 0x5e5b42
push edi
call fcn.0040c8f9
add esp, 0xc
mov ebx, dword [edi + 0x18]
push edi
call fcn.004081e6
push edi
push dword [ebp - 0x50]
call fcn.0040ab73
mov edi, ebx
add esp, 0xc
mov dword [ebp - 0x50], eax
jmp 0x4551e6
cmp dword [ebp - 0x4c], 0
je 0x45523e
push dword [ebp - 0x4c]
call dword [0x58b640]
pop edi
mov ecx, dword [esi + 0x30]
test ecx, ecx
je 0x4552b1
mov eax, dword [esi + 0x14]
cmp dword [eax + 0x30], 0
lea edx, [eax + 0x30]
je 0x455258
mov edx, dword [edx]
cmp dword [edx], 0
jmp 0x45524f
mov dword [edx], ecx
mov dword [esi + 0x30], 0
jmp 0x4552b1
sub eax, 3
cmp eax, 1
ja 0x4552b1
mov eax, dword [esi + 0x28]
call fcn.00450321
test eax, eax
je 0x4552b6
mov eax, dword [esi + 0x14]
cmp dword [eax + 4], 1
jne 0x4552b1
push 0x5e5059
mov eax, dword [esi + 0x14]
push dword [eax + 8]
call fcn.00433ea9
pop ecx
test eax, eax
pop ebx
jne 0x4552b6
push 0x5e50c7
mov eax, dword [esi + 0x14]
push dword [eax + 8]
call fcn.00433ea9
pop edi
test eax, eax
pop edx
jne 0x4552b6
mov dword [ebp - 0x1c], esi
jmp 0x4552b6
mov dword [ebp - 0x1c], esi
jmp 0x4552db
mov ebx, dword [esi + 0xc]
test ebx, ebx
je 0x4552db
mov ecx, dword [ebx + 4]
cmp ecx, 0x11
setne dl
xor eax, eax
cmp ecx, 5
setne al
test eax, edx
je 0x4552db
cmp ecx, 6
je 0x4552db
mov esi, ebx
jmp 0x4552ff
mov eax, dword [esi + 0x18]
test eax, eax
je 0x4552e6
mov esi, eax
jmp 0x4552ff
mov esi, dword [esi + 0x14]
test esi, esi
je 0x455307
cmp esi, dword [ebp - 0x18]
je 0x455307
mov eax, dword [esi + 0x18]
test eax, eax
jne 0x4552e2
test esi, esi
jne 0x4552e6
jmp 0x455307
test esi, esi
jne 0x454291
cmp dword [ebp - 0x1c], 0
je 0x45531f
push dword [ebp - 0x1c]
call fcn.004081e6
push dword [ebp - 0x1c]
call fcn.004086e0
pop ebx
pop esi
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret