Function at 0x46a001
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 0x46b0af
cmp dword [ebp - 0x1c], 0
je 0x46a040
push dword [ebp - 0x1c]
call fcn.0041df76
push dword [ebp - 0x1c]
call fcn.0041e470
pop ebx
mov dword [ebp - 0x1c], 0
pop edi
mov eax, dword [esi + 4]
cmp eax, 1
jne 0x46aff3
cmp dword [esi + 0x24], 0
je 0x46a069
push dword [0x4fa904]
mov eax, dword [esi + 0x24]
push dword [eax + 8]
call fcn.00449c39
pop edx
test eax, eax
pop ecx
jne 0x46a0e8
mov eax, dword [esi + 0x14]
test eax, eax
je 0x46b041
cmp dword [eax + 4], 1
jne 0x46b041
push 0x645e89
mov eax, dword [esi + 0x14]
push dword [eax + 8]
call fcn.00449c39
pop ebx
test eax, eax
pop edi
jne 0x46a0c4
push 0x645ed9
mov eax, dword [esi + 0x14]
push dword [eax + 8]
call fcn.00449c39
pop edx
test eax, eax
pop ecx
jne 0x46a0c4
push 0x645f47
mov eax, dword [esi + 0x14]
push dword [eax + 8]
call fcn.00449c39
pop ebx
test eax, eax
pop edi
je 0x46b041
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.0046404a
add esp, 0x10
jmp 0x46b041
mov edi, dword [esi + 0x2c]
test edi, edi
je 0x46a33b
mov eax, dword [edi + 0x18]
mov dword [ebp - 0x20], eax
cmp dword [edi + 0x24], 0
je 0x46a11a
push dword [0x4fa904]
mov eax, dword [edi + 0x24]
push dword [eax + 8]
call fcn.00449c39
pop edx
test eax, eax
pop ecx
je 0x46a333
push 0x645e89
push dword [edi + 8]
call fcn.00449c39
pop ecx
test eax, eax
pop ebx
je 0x46a190
push 0x645ec8
push dword [esi + 8]
call fcn.00449c39
pop ebx
test eax, eax
pop edx
jne 0x46a333
push 0x645ee4
push dword [esi + 8]
call fcn.00449c39
pop edx
test eax, eax
pop ecx
jne 0x46a333
push 0x645ef2
push dword [esi + 8]
call fcn.00449c39
pop ecx
test eax, eax
pop ebx
jne 0x46a333
push str.parentRef
push dword [esi + 8]
call fcn.00449c39
pop ebx
test eax, eax
pop edx
jne 0x46a333
push 0x645f47
jmp 0x46a20a
push 0x647456
push dword [edi + 8]
call fcn.00449c39
pop edx
test eax, eax
pop ecx
je 0x46a1c1
push 0x645ed9
push dword [esi + 8]
call fcn.00449c39
pop ecx
test eax, eax
pop ebx
jne 0x46a333
push 0x6467e8
jmp 0x46a221
push 0x647b21
push dword [edi + 8]
call fcn.00449c39
pop ebx
test eax, eax
pop edx
je 0x46a1f2
push str.externalRef
push dword [esi + 8]
call fcn.00449c39
pop edx
test eax, eax
pop ecx
jne 0x46a333
push 0x645e8e
jmp 0x46a221
push str.combine
push dword [edi + 8]
call fcn.00449c39
pop ecx
test eax, eax
pop ebx
je 0x46a248
push 0x645e7c
push dword [esi + 8]
call fcn.00449c39
pop ebx
test eax, eax
pop edx
jne 0x46a333
push str.define
push dword [esi + 8]
call fcn.00449c39
pop edx
test eax, eax
pop ecx
jne 0x46a333
push dword [esi + 8]
push dword [edi + 8]
push str.Attribute__s_is_not_allowed_on__s_n
push 0x40a
jmp 0x46a326
push str.datatypeLibrary
push dword [edi + 8]
call fcn.00449c39
pop ecx
test eax, eax
pop ebx
je 0x46a303
push 1
push dword [edi + 0xc]
push dword [esi + 0x20]
call fcn.0041e0a3
add esp, 0xc
mov ebx, eax
test eax, eax
je 0x46a333
cmp byte [eax], 0
je 0x46a2f9
push eax
call fcn.004283e1
pop edx
test eax, eax
mov dword [ebp - 0x24], eax
jne 0x46a2a9
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.0046404a
add esp, 0x10
jmp 0x46a2f9
mov edx, dword [ebp - 0x24]
cmp dword [edx], 0
jne 0x46a2cc
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.0046404a
add esp, 0x10
mov ecx, dword [ebp - 0x24]
cmp dword [ecx + 0x20], 0
je 0x46a2f0
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.0046404a
add esp, 0x10
push dword [ebp - 0x24]
call fcn.004265d1
pop edi
push ebx
call dword [0x4fa8e0]
pop ecx
jmp 0x46a333
push 0x6469c2
push dword [edi + 8]
call fcn.00449c39
pop ebx
test eax, eax
pop edx
jne 0x46a333
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.0046404a
add esp, 0x10
mov edi, dword [ebp - 0x20]
jmp 0x46a0eb
push str.externalRef
push dword [esi + 8]
call fcn.00449c39
pop edx
test eax, eax
pop ecx
je 0x46a709
push 0x6469c2
push esi
call fcn.00422415
pop ebx
test eax, eax
pop edi
mov dword [ebp - 0x28], eax
jne 0x46a38c
mov ebx, dword [esi + 0x14]
jmp 0x46a388
cmp dword [ebx + 4], 1
jne 0x46a38c
push 0x6469c2
push ebx
call fcn.00422415
pop edx
test eax, eax
pop ecx
mov dword [ebp - 0x28], eax
jne 0x46a38c
mov ebx, dword [ebx + 0x14]
test ebx, ebx
jne 0x46a36b
push 0x647b21
push esi
call fcn.00422415
pop ebx
mov edi, eax
pop eax
test edi, edi
jne 0x46a3c9
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.0046404a
add esp, 0x10
cmp dword [ebp - 0x28], 0
je 0x46b041
push dword [ebp - 0x28]
jmp 0x46a401
push edi
call fcn.004283e1
pop ecx
mov ebx, eax
test eax, eax
jne 0x46a40d
push 0
mov edx, esi
push edi
mov eax, dword [ebp - 0x14]
push str.Incorrect_URI_for_externalRef__s_n
push 0x411
call fcn.0046404a
add esp, 0x10
cmp dword [ebp - 0x28], 0
je 0x46a400
push dword [ebp - 0x28]
call dword [0x4fa8e0]
pop edx
push edi
call dword [0x4fa8e0]
pop eax
jmp 0x46b041
cmp dword [eax + 0x20], 0
je 0x46a445
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.0046404a
add esp, 0x10
cmp dword [ebp - 0x28], 0
je 0x46a43d
push dword [ebp - 0x28]
call dword [0x4fa8e0]
pop eax
push ebx
call fcn.004265d1
jmp 0x46a3ff
push eax
call fcn.004265d1
push esi
push dword [esi + 0x20]
call fcn.00422433
mov ebx, eax
push eax
push edi
call fcn.0042845d
add esp, 0x14
test eax, eax
mov dword [ebp - 0x2c], eax
jne 0x46a4a7
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.0046404a
add esp, 0x10
cmp dword [ebp - 0x28], 0
je 0x46a491
push dword [ebp - 0x28]
call dword [0x4fa8e0]
pop eax
push edi
call dword [0x4fa8e0]
pop eax
test ebx, ebx
je 0x46b041
push ebx
jmp 0x46a401
push edi
call dword [0x4fa8e0]
pop eax
test ebx, ebx
je 0x46a4bb
push ebx
call dword [0x4fa8e0]
pop eax
mov eax, dword [ebp - 0x14]
xor ebx, ebx
cmp dword [eax + 0x64], 0
jle 0x46a4ed
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.00449c39
pop ecx
test eax, eax
pop edi
jne 0x46a674
mov ecx, dword [ebp - 0x14]
inc ebx
cmp ebx, dword [ecx + 0x64]
jl 0x46a4c6
push 0
push 0
push dword [ebp - 0x2c]
call fcn.004392af
add esp, 0xc
test eax, eax
mov dword [ebp - 0x34], eax
jne 0x46a517
push 0
push dword [ebp - 0x2c]
push str.xmlRelaxNG:_could_not_load__s_n
push 0x429
jmp 0x46a683
push 0x14
call dword [0x4fa8dc]
pop edx
test eax, eax
mov dword [ebp - 0x30], eax
jne 0x46a54f
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.0046404a
add esp, 0x10
push dword [ebp - 0x34]
call fcn.0041e707
pop edi
jmp 0x46a6b3
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.00449b54
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 0x46a5b6
push dword [ebp - 0x34]
call fcn.0041f591
pop ecx
mov ebx, eax
test eax, eax
je 0x46a5b6
push 0x6469c2
push eax
call fcn.0042237e
pop edi
test eax, eax
pop edx
jne 0x46a5b6
push dword [ebp - 0x28]
push 0x6469c2
push ebx
call fcn.00422689
add esp, 0xc
mov ecx, dword [ebp - 0x14]
cmp dword [ecx + 0x6c], 0
jne 0x46a5e0
mov dword [ecx + 0x68], 4
mov dword [ecx + 0x64], 0
push 0x10
call dword [0x4fa8dc]
mov edx, dword [ebp - 0x14]
pop ebx
test eax, eax
mov dword [edx + 0x6c], eax
je 0x46a60e
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0x68]
cmp dword [ecx + 0x64], edx
jl 0x46a61d
lea eax, [edx + edx]
mov dword [ecx + 0x68], eax
lea eax, [edx*8]
push eax
push dword [ecx + 0x6c]
call dword [0x4fa8d4]
pop edx
mov edx, dword [ebp - 0x14]
pop ecx
test eax, eax
mov dword [edx + 0x6c], eax
jne 0x46a61d
mov edx, str.adding_document_n
mov eax, dword [ebp - 0x14]
call fcn.00463f4c
jmp 0x46a636
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.0046b0b7
test eax, eax
jne 0x46a651
mov ecx, dword [ebp - 0x14]
mov dword [ecx + 0x60], 0
jmp 0x46a6b3
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0x64]
test eax, eax
jle 0x46a6ac
mov ecx, dword [ebp - 0x14]
lea edx, [eax - 1]
test edx, edx
mov dword [ecx + 0x64], edx
jle 0x46a692
mov eax, dword [ecx + 0x6c]
mov eax, dword [eax + edx*4 - 4]
mov dword [ecx + 0x60], eax
jmp 0x46a69c
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.0046404a
add esp, 0x10
jmp 0x46a6b3
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 0x46a6f1
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.0046404a
add esp, 0x10
cmp dword [ebp - 0x28], 0
je 0x46a6df
push dword [ebp - 0x28]
call dword [0x4fa8e0]
pop eax
push dword [ebp - 0x2c]
call dword [0x4fa8e0]
pop eax
mov dword [ebp - 0x1c], esi
jmp 0x46b06b
cmp dword [ebp - 0x28], 0
je 0x46a701
push dword [ebp - 0x28]
call dword [0x4fa8e0]
pop eax
push dword [ebp - 0x2c]
jmp 0x46aba8
push 0x645e8e
push dword [esi + 8]
call fcn.00449c39
pop ecx
test eax, eax
pop ebx
je 0x46abb6
push 0x647b21
push esi
call fcn.00422415
mov ebx, eax
pop eax
test ebx, ebx
pop edx
jne 0x46a756
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.0046404a
add esp, 0x10
mov dword [ebp - 0x1c], esi
jmp 0x46b06b
push esi
push dword [esi + 0x20]
call fcn.00422433
mov edi, eax
push eax
push ebx
call fcn.0042845d
add esp, 0x10
test eax, eax
mov dword [ebp - 0x3c], eax
jne 0x46a7a1
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.0046404a
add esp, 0x10
push ebx
call dword [0x4fa8e0]
pop eax
test edi, edi
je 0x46b041
jmp 0x46a400
push ebx
call dword [0x4fa8e0]
pop eax
test edi, edi
je 0x46a7b5
push edi
call dword [0x4fa8e0]
pop eax
push 0x6469c2
push esi
call fcn.00422415
pop ebx
test eax, eax
pop edi
mov dword [ebp - 0x38], eax
jne 0x46a7ef
mov ebx, dword [esi + 0x14]
jmp 0x46a7eb
cmp dword [ebx + 4], 1
jne 0x46a7ef
push 0x6469c2
push ebx
call fcn.00422415
pop edx
test eax, eax
pop ecx
mov dword [ebp - 0x38], eax
jne 0x46a7ef
mov ebx, dword [ebx + 0x14]
test ebx, ebx
jne 0x46a7ce
mov eax, dword [ebp - 0x14]
xor ebx, ebx
cmp dword [eax + 0x74], 0
jle 0x46a821
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.00449c39
pop ecx
test eax, eax
pop edi
jne 0x46aa1c
mov ecx, dword [ebp - 0x14]
inc ebx
cmp ebx, dword [ecx + 0x74]
jl 0x46a7fa
push 0
push 0
push dword [ebp - 0x3c]
call fcn.004392af
add esp, 0xc
mov ebx, eax
test eax, eax
jne 0x46a84a
push 0
push dword [ebp - 0x3c]
push str.xmlRelaxNG:_could_not_load__s_n
push 0x429
jmp 0x46aa18
push 0x14
call dword [0x4fa8dc]
pop edx
test eax, eax
mov dword [ebp - 0x40], eax
jne 0x46a873
mov eax, dword [ebp - 0x14]
mov edx, str.allocating_include_n
call fcn.00463f4c
push ebx
call fcn.0041e707
pop eax
jmp 0x46aa38
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.00449b54
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 0x46a8d8
push ebx
call fcn.0041f591
pop ecx
test eax, eax
mov dword [ebp - 0x44], eax
je 0x46a8d8
push 0x6469c2
push eax
call fcn.0042237e
pop edi
test eax, eax
pop edx
jne 0x46a8d8
push dword [ebp - 0x38]
push 0x6469c2
push dword [ebp - 0x44]
call fcn.00422689
add esp, 0xc
mov eax, dword [ebp - 0x14]
cmp dword [eax + 0x7c], 0
jne 0x46a902
mov dword [eax + 0x78], 4
mov dword [eax + 0x74], 0
push 0x10
call dword [0x4fa8dc]
mov edx, dword [ebp - 0x14]
pop ecx
test eax, eax
mov dword [edx + 0x7c], eax
je 0x46a930
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + 0x78]
cmp dword [ecx + 0x74], edx
jl 0x46a93f
lea eax, [edx + edx]
mov dword [ecx + 0x78], eax
lea eax, [edx*8]
push eax
push dword [ecx + 0x7c]
call dword [0x4fa8d4]
pop edi
pop edx
mov edx, dword [ebp - 0x14]
test eax, eax
mov dword [edx + 0x7c], eax
jne 0x46a93f
mov edx, str.allocating_include_n
mov eax, dword [ebp - 0x14]
call fcn.00463f4c
jmp 0x46a958
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.0046b0b7
mov ebx, eax
test eax, eax
jne 0x46a977
mov ecx, dword [ebp - 0x14]
mov dword [ecx + 0x70], 0
jmp 0x46aa38
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0x74]
test eax, eax
jle 0x46a9b4
mov ecx, dword [ebp - 0x14]
lea edx, [eax - 1]
test edx, edx
mov dword [ecx + 0x74], edx
jle 0x46a99a
mov eax, dword [ecx + 0x7c]
mov eax, dword [eax + edx*4 - 4]
mov dword [ecx + 0x70], eax
jmp 0x46a9a4
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.0041f591
pop ebx
test eax, eax
mov dword [ebp - 0x44], eax
jne 0x46a9d3
push 0
push dword [ebp - 0x3c]
push str.xmlRelaxNG:_included_document_is_empty__s_n
push 0x3fe
jmp 0x46aa18
mov eax, dword [ebp - 0x44]
cmp dword [eax + 0x24], 0
je 0x46aa09
push str.grammar
push dword [eax + 8]
call fcn.00449c39
pop edx
test eax, eax
pop ecx
je 0x46aa09
push dword [0x4fa904]
mov edx, dword [ebp - 0x44]
mov eax, dword [edx + 0x24]
push dword [eax + 8]
call fcn.00449c39
pop ebx
test eax, eax
pop edi
jne 0x46aa3f
push 0
push dword [ebp - 0x3c]
push str.xmlRelaxNG:_included_document__s_root_is_not_a_grammar_n
push 0x40e
mov edx, esi
jmp 0x46aa2d
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.0046404a
add esp, 0x10
xor edi, edi
jmp 0x46ab64
mov edi, dword [esi + 0xc]
test edi, edi
je 0x46ab61
cmp dword [edi + 0x24], 0
je 0x46aaa8
push 0x645e7c
push dword [edi + 8]
call fcn.00449c39
pop edx
test eax, eax
pop ecx
je 0x46aaa8
push dword [0x4fa904]
mov eax, dword [edi + 0x24]
push dword [eax + 8]
call fcn.00449c39
pop ecx
test eax, eax
pop ebx
je 0x46aaa8
mov ecx, dword [ebp - 0x44]
push 0
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x14]
push dword [ecx + 0xc]
call fcn.00464ad2
pop ebx
test eax, eax
pop edx
jne 0x46ab59
push 0
push dword [ebp - 0x3c]
push str.xmlRelaxNG:_include__s_has_a_start_but_not_the_included_grammar_n
push 0x453
jmp 0x46ab0a
test edi, edi
je 0x46ab59
cmp dword [edi + 0x24], 0
je 0x46ab59
push str.define
push dword [edi + 8]
call fcn.00449c39
pop edx
test eax, eax
pop ecx
je 0x46ab59
push dword [0x4fa904]
mov eax, dword [edi + 0x24]
push dword [eax + 8]
call fcn.00449c39
pop ecx
test eax, eax
pop ebx
je 0x46ab59
push 0x645e89
push edi
call fcn.00422415
pop ebx
test eax, eax
pop edx
mov ebx, eax
jne 0x46ab19
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.0046404a
add esp, 0x10
jmp 0x46ab59
call fcn.004649f6
mov eax, dword [ebp - 0x44]
push ebx
mov edx, dword [ebp - 0x3c]
push dword [eax + 0xc]
mov eax, dword [ebp - 0x14]
call fcn.00464ad2
pop edx
test eax, eax
pop ecx
jne 0x46ab51
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.0046404a
add esp, 0x10
push ebx
call dword [0x4fa8e0]
pop ebx
mov edi, dword [edi + 0x18]
jmp 0x46aa42
mov edi, dword [ebp - 0x40]
cmp dword [ebp - 0x38], 0
je 0x46ab74
push dword [ebp - 0x38]
call dword [0x4fa8e0]
pop ecx
test edi, edi
jne 0x46aba5
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.0046404a
push dword [ebp - 0x3c]
call dword [0x4fa8e0]
add esp, 0x14
mov dword [ebp - 0x1c], esi
jmp 0x46b06b
push dword [ebp - 0x3c]
call dword [0x4fa8e0]
mov dword [esi + 0x34], edi
jmp 0x46acb6
push 0x645ec8
push dword [esi + 8]
call fcn.00449c39
pop edi
test eax, eax
pop edx
jne 0x46abe0
push 0x645ee4
push dword [esi + 8]
call fcn.00449c39
pop ecx
test eax, eax
pop ebx
je 0x46aced
push 0x645e89
mov dword [ebp - 0x48], 0
push esi
call fcn.00422415
mov edi, eax
pop eax
test edi, edi
pop edx
je 0x46af49
cmp dword [esi + 0xc], 0
jne 0x46ac1b
push edi
push 0x645e89
push dword [esi + 0x24]
push esi
call fcn.00421474
add esp, 0x10
mov dword [ebp - 0x48], eax
jmp 0x46ac52
push 0
push 0x645e89
push dword [esi + 0x24]
push dword [esi + 0x20]
call fcn.004213f5
add esp, 0x10
mov ebx, eax
test eax, eax
je 0x46ac58
push eax
push dword [esi + 0xc]
call fcn.004212a7
push edi
call fcn.0041eaca
push eax
push ebx
call fcn.004203d0
mov dword [ebp - 0x48], ebx
add esp, 0x14
cmp dword [ebp - 0x48], 0
jne 0x46ac72
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.0046404a
add esp, 0x10
push 0x645e89
push esi
call fcn.0042261c
push edi
call dword [0x4fa8e0]
push 0x6469c2
push esi
call fcn.00422415
add esp, 0x14
mov ebx, eax
test eax, eax
je 0x46acbc
cmp dword [ebp - 0x48], 0
je 0x46acaf
push eax
push 0x6469c2
push dword [ebp - 0x48]
call fcn.00422689
add esp, 0xc
push ebx
call dword [0x4fa8e0]
pop edi
jmp 0x46af49
push 0x645ee4
push dword [esi + 8]
call fcn.00449c39
pop ecx
test eax, eax
pop ebx
je 0x46af49
push 0x645fa8
push 0x6469c2
push dword [ebp - 0x48]
call fcn.00422689
add esp, 0xc
jmp 0x46af49
push 0x645e89
push dword [esi + 8]
call fcn.00449c39
pop edi
test eax, eax
pop edx
jne 0x46ad2a
push str.nsName
push dword [esi + 8]
call fcn.00449c39
pop ecx
test eax, eax
pop ebx
jne 0x46ad2a
push 0x645ed9
push dword [esi + 8]
call fcn.00449c39
pop edi
test eax, eax
pop edx
je 0x46ae5b
push 0x6469c2
push esi
call fcn.0042237e
pop ecx
test eax, eax
pop ebx
jne 0x46ad8b
mov ebx, dword [esi + 0x14]
jmp 0x46ad5c
cmp dword [ebx + 4], 1
jne 0x46ad60
push 0x6469c2
push ebx
call fcn.00422415
mov edi, eax
pop eax
test edi, edi
pop edx
jne 0x46ad75
mov ebx, dword [ebx + 0x14]
test ebx, ebx
jne 0x46ad40
push 0x645fa8
push 0x6469c2
push esi
call fcn.00422689
add esp, 0xc
jmp 0x46ad8b
push edi
push 0x6469c2
push esi
call fcn.00422689
push edi
call dword [0x4fa8e0]
add esp, 0x10
push 0x645e89
push dword [esi + 8]
call fcn.00449c39
pop ebx
test eax, eax
pop edi
je 0x46ae24
push esi
call fcn.00422c88
pop ecx
mov edi, eax
test eax, eax
je 0x46ae24
lea eax, [ebp - 0x10]
push eax
push edi
call fcn.0041cb91
mov ebx, eax
pop eax
test ebx, ebx
pop edx
je 0x46ae1c
push dword [ebp - 0x10]
push esi
push dword [esi + 0x20]
call fcn.0041f904
add esp, 0xc
test eax, eax
jne 0x46adf2
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.0046404a
add esp, 0x10
jmp 0x46ae0a
push dword [eax + 8]
push 0x6469c2
push esi
call fcn.00422689
push ebx
push esi
call fcn.004211b0
add esp, 0x14
push ebx
call dword [0x4fa8e0]
push dword [ebp - 0x10]
call dword [0x4fa8e0]
pop ebx
pop eax
push edi
call dword [0x4fa8e0]
pop ecx
push str.nsName
push dword [esi + 8]
call fcn.00449c39
pop edi
test eax, eax
pop edx
je 0x46af49
mov edx, dword [ebp - 0x14]
test byte [edx + 0x21], 2
je 0x46af49
push 0
push 0
push str.Found_nsName_except__nsName_forbidden_construct_n
push 0x43d
jmp 0x46af3c
push str.except
push dword [esi + 8]
call fcn.00449c39
pop ecx
test eax, eax
pop ebx
je 0x46aefb
cmp esi, dword [ebp - 0x18]
je 0x46aefb
mov ecx, dword [ebp - 0x14]
cmp dword [esi + 0x14], 0
mov ebx, dword [ecx + 0x20]
je 0x46af49
push str.anyName
mov eax, dword [esi + 0x14]
push dword [eax + 8]
call fcn.00449c39
pop edi
test eax, eax
pop edx
je 0x46aebd
mov eax, dword [ebp - 0x14]
mov edx, esi
or dword [eax + 0x20], 0x100
call fcn.0046a001
mov edx, dword [ebp - 0x14]
mov dword [edx + 0x20], ebx
jmp 0x46b06b
cmp dword [esi + 0x14], 0
je 0x46af49
push str.nsName
mov eax, dword [esi + 0x14]
push dword [eax + 8]
call fcn.00449c39
pop edx
test eax, eax
pop ecx
je 0x46af49
mov ecx, dword [ebp - 0x14]
mov edx, esi
mov eax, ecx
or dword [ecx + 0x20], 0x200
call fcn.0046a001
mov eax, dword [ebp - 0x14]
mov dword [eax + 0x20], ebx
jmp 0x46b06b
push str.anyName
push dword [esi + 8]
call fcn.00449c39
pop ebx
test eax, eax
pop edi
je 0x46af49
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0x20]
test ah, 1
je 0x46af29
push 0
push 0
push str.Found_anyName_except__anyName_forbidden_construct_n
push 0x42a
jmp 0x46af3c
test ah, 2
je 0x46af49
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.0046404a
add esp, 0x10
push 0x647fd1
push dword [esi + 8]
call fcn.00449c39
pop edx
test eax, eax
pop ecx
je 0x46b046
push 0x6469c2
push esi
call fcn.00422415
pop ebx
mov edi, dword [esi + 0xc]
mov dword [ebp - 0x50], esi
mov dword [ebp - 0x4c], eax
pop eax
test edi, edi
je 0x46afbe
cmp dword [ebp - 0x4c], 0
je 0x46afa2
push 0x6469c2
push edi
call fcn.0042237e
pop edx
test eax, eax
pop ecx
jne 0x46afa2
push dword [ebp - 0x4c]
push 0x6469c2
push edi
call fcn.00422689
add esp, 0xc
mov ebx, dword [edi + 0x18]
push edi
call fcn.0041df76
push edi
push dword [ebp - 0x50]
call fcn.00420903
mov edi, ebx
add esp, 0xc
mov dword [ebp - 0x50], eax
jmp 0x46af76
cmp dword [ebp - 0x4c], 0
je 0x46afce
push dword [ebp - 0x4c]
call dword [0x4fa8e0]
pop edi
mov ecx, dword [esi + 0x30]
test ecx, ecx
je 0x46b041
mov eax, dword [esi + 0x14]
cmp dword [eax + 0x30], 0
lea edx, [eax + 0x30]
je 0x46afe8
mov edx, dword [edx]
cmp dword [edx], 0
jmp 0x46afdf
mov dword [edx], ecx
mov dword [esi + 0x30], 0
jmp 0x46b041
sub eax, 3
cmp eax, 1
ja 0x46b041
mov eax, dword [esi + 0x28]
call fcn.004660b1
test eax, eax
je 0x46b046
mov eax, dword [esi + 0x14]
cmp dword [eax + 4], 1
jne 0x46b041
push 0x645ed9
mov eax, dword [esi + 0x14]
push dword [eax + 8]
call fcn.00449c39
pop ecx
test eax, eax
pop ebx
jne 0x46b046
push 0x645f47
mov eax, dword [esi + 0x14]
push dword [eax + 8]
call fcn.00449c39
pop edi
test eax, eax
pop edx
jne 0x46b046
mov dword [ebp - 0x1c], esi
jmp 0x46b046
mov dword [ebp - 0x1c], esi
jmp 0x46b06b
mov ebx, dword [esi + 0xc]
test ebx, ebx
je 0x46b06b
mov ecx, dword [ebx + 4]
cmp ecx, 0x11
setne dl
xor eax, eax
cmp ecx, 5
setne al
test eax, edx
je 0x46b06b
cmp ecx, 6
je 0x46b06b
mov esi, ebx
jmp 0x46b08f
mov eax, dword [esi + 0x18]
test eax, eax
je 0x46b076
mov esi, eax
jmp 0x46b08f
mov esi, dword [esi + 0x14]
test esi, esi
je 0x46b097
cmp esi, dword [ebp - 0x18]
je 0x46b097
mov eax, dword [esi + 0x18]
test eax, eax
jne 0x46b072
test esi, esi
jne 0x46b076
jmp 0x46b097
test esi, esi
jne 0x46a021
cmp dword [ebp - 0x1c], 0
je 0x46b0af
push dword [ebp - 0x1c]
call fcn.0041df76
push dword [ebp - 0x1c]
call fcn.0041e470
pop ebx
pop esi
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret