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

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x5c
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x5c], edx
test edx, edx
je 0x4bcf6b
mov edi, edx
xor ebx, ebx
test ebx, ebx
je 0x4bcf1f
sub esp, 0xc
push ebx
call fcn.00441b40
mov dword [esp], ebx
call fcn.00444b00
add esp, 0x10
mov eax, dword [edi + 4]
cmp eax, 1
je 0x4bcfa0
sub eax, 3
cmp eax, 1
jbe 0x4bcf73
mov ebx, edi
mov eax, dword [edi + 0x18]
test eax, eax
je 0x4bcf4c
mov edi, eax
jmp 0x4bcf07
cmp edi, dword [ebp - 0x5c]
je 0x4bcf53
mov eax, dword [edi + 0x18]
test eax, eax
jne 0x4bcf38
mov edi, dword [edi + 0x14]
test edi, edi
jne 0x4bcf40
test ebx, ebx
je 0x4bcf6b
sub esp, 0xc
push ebx
call fcn.00441b40
mov dword [esp], ebx
call fcn.00444b00
add esp, 0x10
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [edi + 0x28]
call fcn.004b6820
test eax, eax
jne 0x4bd3ce
xor ebx, ebx
mov eax, dword [edi + 0xc]
test eax, eax
je 0x4bcf31
mov edx, dword [eax + 4]
cmp edx, 0x11
je 0x4bcf31
cmp edx, 5
je 0x4bcf31
cmp edx, 6
jne 0x4bcf38
jmp 0x4bcf31
mov eax, dword [edi + 0x24]
test eax, eax
je 0x4bd168
mov ebx, dword [str.http:__relaxng.org_ns_structure_1.0]
push esi
push esi
push ebx
mov ecx, dword [eax + 8]
push ecx
call fcn.004832e0
add esp, 0x10
test eax, eax
je 0x4bd168
mov ebx, dword [edi + 0x2c]
test ebx, ebx
jne 0x4bcffa
jmp 0x4bd0a9
push eax
push eax
push 0x54060b
mov ecx, dword [edi + 8]
push ecx
call fcn.004832e0
add esp, 0x10
test eax, eax
je 0x4bd202
nop
test esi, esi
je 0x4bd0a9
mov ebx, esi
mov eax, dword [ebx + 0x24]
mov esi, dword [ebx + 0x18]
test eax, eax
je 0x4bd01d
mov edx, dword [str.http:__relaxng.org_ns_structure_1.0]
push ecx
push ecx
push edx
mov eax, dword [eax + 8]
push eax
call fcn.004832e0
add esp, 0x10
test eax, eax
je 0x4bcff0
push eax
push eax
push 0x5405bf
mov eax, dword [ebx + 8]
push eax
call fcn.004832e0
add esp, 0x10
test eax, eax
jne 0x4bcfd4
push ecx
push ecx
push str.type
mov edx, dword [ebx + 8]
push edx
call fcn.004832e0
add esp, 0x10
test eax, eax
je 0x4bd1c0
push eax
push eax
push str.value
mov eax, dword [edi + 8]
push eax
call fcn.004832e0
add esp, 0x10
test eax, eax
jne 0x4bcff0
push eax
push eax
push str.data
mov eax, dword [edi + 8]
push eax
call fcn.004832e0
add esp, 0x10
test eax, eax
jne 0x4bcff0
push ecx
mov ecx, 0x40a
mov edx, dword [edi + 8]
push edx
mov edx, edi
mov eax, dword [ebx + 8]
push eax
mov eax, dword [ebp - 0x58]
push str.Attribute__s_is_not_allowed_on__s_n
call fcn.004b6fd0
add esp, 0x10
test esi, esi
jne 0x4bcff8
push eax
push eax
push str.externalRef
mov eax, dword [edi + 8]
push eax
call fcn.004832e0
add esp, 0x10
test eax, eax
je 0x4bd2a2
push eax
push eax
push 0x5406fb
push edi
call fcn.00443b70
add esp, 0x10
mov dword [ebp - 0x54], eax
test eax, eax
je 0x4bd790
push eax
push eax
push str.href
push edi
call fcn.00443b70
add esp, 0x10
mov esi, eax
test eax, eax
je 0x4bd754
sub esp, 0xc
push eax
call fcn.004ce2a0
add esp, 0x10
mov ebx, eax
test eax, eax
je 0x4bdbe1
mov eax, dword [eax + 0x20]
test eax, eax
je 0x4bd94c
mov ecx, 0x411
push eax
mov edx, edi
mov eax, dword [ebp - 0x58]
push 0
push esi
push str.Fragment_forbidden_in_URI_for_externalRef__s_n
call fcn.004b6fd0
mov eax, dword [ebp - 0x54]
add esp, 0x10
test eax, eax
je 0x4bd14c
sub esp, 0xc
mov eax, dword [ebp - 0x54]
push eax
call dword [0x519080]
add esp, 0x10
sub esp, 0xc
push ebx
call fcn.004cb250
mov dword [esp], esi
mov ebx, edi
call dword [0x519080]
add esp, 0x10
jmp 0x4bcf31
mov eax, dword [edi + 0x14]
test eax, eax
je 0x4bcf2f
cmp dword [eax + 4], 1
jne 0x4bcf2f
push edx
push edx
push 0x5405bf
mov eax, dword [eax + 8]
push eax
call fcn.004832e0
add esp, 0x10
test eax, eax
je 0x4bd64d
push esi
push 0
mov eax, dword [edi + 0x14]
mov ecx, 0x40b
mov edx, edi
mov ebx, dword [eax + 8]
mov eax, dword [ebp - 0x58]
push ebx
push str.element__s_doesnt_allow_foreign_elements_n
call fcn.004b6fd0
add esp, 0x10
jmp 0x4bcf2f
push eax
push eax
push str.href
mov eax, dword [ebx + 8]
push eax
call fcn.004832e0
add esp, 0x10
test eax, eax
je 0x4bd260
push eax
push eax
push str.externalRef
mov ecx, dword [edi + 8]
push ecx
call fcn.004832e0
add esp, 0x10
test eax, eax
jne 0x4bcff0
push edx
push edx
push str.include
jmp 0x4bd06d
push edx
push edx
push 0x540613
mov eax, dword [edi + 8]
push eax
call fcn.004832e0
add esp, 0x10
test eax, eax
jne 0x4bcff0
push eax
push eax
push 0x54061d
mov eax, dword [edi + 8]
push eax
call fcn.004832e0
add esp, 0x10
test eax, eax
jne 0x4bcff0
push eax
push eax
push str.parentRef
mov eax, dword [edi + 8]
push eax
call fcn.004832e0
add esp, 0x10
test eax, eax
jne 0x4bcff0
push eax
push eax
push str.param
jmp 0x4bd282
push eax
push eax
push str.combine
mov eax, dword [ebx + 8]
push eax
call fcn.004832e0
add esp, 0x10
test eax, eax
je 0x4bd420
push eax
push eax
push str.start
mov eax, dword [edi + 8]
push eax
call fcn.004832e0
add esp, 0x10
test eax, eax
jne 0x4bcff0
push eax
push eax
push str.define
jmp 0x4bd06d
push eax
push eax
push str.include
mov eax, dword [edi + 8]
push eax
call fcn.004832e0
add esp, 0x10
test eax, eax
je 0x4bd477
push eax
push eax
push str.href
push edi
call fcn.00443b70
add esp, 0x10
mov ebx, eax
test eax, eax
je 0x4bda58
push esi
push esi
push edi
mov ecx, dword [edi + 0x20]
push ecx
call fcn.00443ba0
mov esi, eax
pop eax
pop edx
push esi
push ebx
call fcn.004cd9c0
add esp, 0x10
mov dword [ebp - 0x4c], eax
test eax, eax
je 0x4bdba3
sub esp, 0xc
push ebx
call dword [0x519080]
add esp, 0x10
test esi, esi
je 0x4bd31a
sub esp, 0xc
push esi
call dword [0x519080]
add esp, 0x10
push eax
push eax
push 0x5406fb
push edi
call fcn.00443b70
add esp, 0x10
mov esi, eax
test eax, eax
je 0x4bdc57
mov ebx, dword [ebp - 0x58]
mov eax, dword [ebx + 0x74]
test eax, eax
jle 0x4bd7d1
xor ebx, ebx
jmp 0x4bd353
mov ecx, dword [ebp - 0x58]
inc ebx
cmp dword [ecx + 0x74], ebx
jle 0x4bd7d1
mov edx, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x4c]
push eax
push eax
push ecx
mov eax, dword [edx + 0x7c]
mov eax, dword [eax + ebx*4]
mov edx, dword [eax + 4]
push edx
call fcn.004832e0
add esp, 0x10
test eax, eax
je 0x4bd346
push eax
mov eax, dword [ebp - 0x4c]
push 0
mov ecx, 0x414
push eax
xor edx, edx
push str.Detected_an_Include_recursion_for__s_n
mov eax, dword [ebp - 0x58]
call fcn.004b6fd0
mov dword [ebp - 0x48], 0
add esp, 0x10
test esi, esi
je 0x4bd3a8
sub esp, 0xc
push esi
call dword [0x519080]
add esp, 0x10
mov edx, dword [ebp - 0x48]
test edx, edx
je 0x4bdc27
sub esp, 0xc
mov eax, dword [ebp - 0x4c]
push eax
call dword [0x519080]
mov ecx, dword [ebp - 0x48]
add esp, 0x10
mov dword [edi + 0x34], ecx
jmp 0x4bd552
mov eax, dword [edi + 0x14]
cmp dword [eax + 4], 1
jne 0x4bcf2f
push edx
push edx
push str.value
mov esi, dword [eax + 8]
push esi
call fcn.004832e0
add esp, 0x10
test eax, eax
jne 0x4bcf83
push ebx
push ebx
push str.param
mov ebx, edi
mov eax, dword [edi + 0x14]
mov ecx, dword [eax + 8]
push ecx
call fcn.004832e0
add esp, 0x10
test eax, eax
je 0x4bcf85
jmp 0x4bcf83
push eax
push eax
push str.datatypeLibrary
mov eax, dword [ebx + 8]
push eax
call fcn.004832e0
add esp, 0x10
test eax, eax
je 0x4bd60d
push eax
push 1
mov eax, dword [ebx + 0xc]
push eax
mov eax, dword [edi + 0x20]
push eax
call fcn.00442f00
add esp, 0x10
mov dword [ebp - 0x34], eax
test eax, eax
je 0x4bcff0
cmp byte [eax], 0
jne 0x4bdb41
sub esp, 0xc
mov eax, dword [ebp - 0x34]
push eax
call dword [0x519080]
add esp, 0x10
jmp 0x4bcff0
push eax
push eax
push 0x54060b
mov esi, dword [edi + 8]
push esi
call fcn.004832e0
add esp, 0x10
test eax, eax
je 0x4bd68e
push edx
push edx
push 0x5405bf
push edi
call fcn.00443b70
add esp, 0x10
mov esi, eax
test eax, eax
je 0x4bd552
mov eax, dword [edi + 0xc]
test eax, eax
je 0x4bdafc
push 0
push 0x5405bf
mov eax, dword [edi + 0x24]
push eax
mov eax, dword [edi + 0x20]
push eax
call fcn.00445b80
add esp, 0x10
mov ebx, eax
test eax, eax
je 0x4bdb1a
push eax
push eax
push ebx
mov eax, dword [edi + 0xc]
push eax
call fcn.004459a0
mov dword [esp], esi
call fcn.0043ea10
pop edx
pop ecx
push eax
push ebx
call fcn.00444d20
mov dword [ebp - 0x44], ebx
add esp, 0x10
push ecx
push ecx
push 0x5405bf
push edi
call fcn.00444920
mov dword [esp], esi
call dword [0x519080]
pop eax
pop edx
push 0x5406fb
push edi
call fcn.00443b70
add esp, 0x10
mov ebx, eax
test eax, eax
je 0x4bde30
mov eax, dword [ebp - 0x44]
test eax, eax
je 0x4bd545
push eax
mov eax, dword [ebp - 0x44]
push ebx
push 0x5406fb
push eax
call fcn.004445e0
add esp, 0x10
sub esp, 0xc
push ebx
call dword [0x519080]
add esp, 0x10
push eax
push eax
push 0x540b26
mov eax, dword [edi + 8]
push eax
call fcn.004832e0
add esp, 0x10
test eax, eax
je 0x4bcf83
push eax
push eax
push 0x5406fb
push edi
call fcn.00443b70
mov esi, dword [edi + 0xc]
add esp, 0x10
mov dword [ebp - 0x40], eax
test esi, esi
je 0x4bd5cd
mov dword [ebp - 0x3c], edi
mov eax, dword [ebp - 0x40]
test eax, eax
je 0x4bd5a9
push eax
push eax
push 0x5406fb
push esi
call fcn.004418b0
add esp, 0x10
test eax, eax
je 0x4bda40
sub esp, 0xc
mov ebx, dword [esi + 0x18]
push esi
call fcn.00441b40
pop eax
pop edx
push esi
mov esi, dword [ebp - 0x3c]
push esi
call fcn.00445350
mov esi, ebx
add esp, 0x10
mov dword [ebp - 0x3c], eax
test ebx, ebx
jne 0x4bd58a
mov ebx, dword [ebp - 0x40]
test ebx, ebx
je 0x4bd5e4
sub esp, 0xc
mov ecx, dword [ebp - 0x40]
push ecx
call dword [0x519080]
add esp, 0x10
mov ecx, dword [edi + 0x30]
test ecx, ecx
je 0x4bcf2f
mov edx, dword [edi + 0x14]
add edx, 0x30
jmp 0x4bd5f9
mov edx, eax
mov eax, dword [edx]
test eax, eax
jne 0x4bd5f7
mov dword [edx], ecx
mov dword [edi + 0x30], 0
jmp 0x4bcf2f
push eax
push eax
push 0x5406fb
mov eax, dword [ebx + 8]
push eax
call fcn.004832e0
add esp, 0x10
test eax, eax
jne 0x4bcff0
push eax
mov eax, dword [ebp - 0x58]
mov ecx, dword [edi + 8]
push ecx
mov ecx, 0x459
mov edx, dword [ebx + 8]
push edx
mov edx, edi
push str.Unknown_attribute__s_on__s_n
call fcn.004b6fd0
add esp, 0x10
jmp 0x4bcff0
push eax
push eax
push str.value
mov eax, dword [edi + 0x14]
mov eax, dword [eax + 8]
push eax
call fcn.004832e0
add esp, 0x10
test eax, eax
jne 0x4bd198
push eax
push eax
push str.param
mov eax, dword [edi + 0x14]
mov eax, dword [eax + 8]
push eax
call fcn.004832e0
add esp, 0x10
test eax, eax
je 0x4bcf2f
jmp 0x4bd198
push ebx
push ebx
push 0x540613
mov ecx, dword [edi + 8]
push ecx
call fcn.004832e0
add esp, 0x10
test eax, eax
jne 0x4bd492
push edx
push edx
push 0x5405bf
mov eax, dword [edi + 8]
push eax
call fcn.004832e0
add esp, 0x10
test eax, eax
jne 0x4bd6db
push eax
push eax
push str.nsName
mov eax, dword [edi + 8]
push eax
call fcn.004832e0
add esp, 0x10
test eax, eax
je 0x4bdf93
push eax
push eax
push 0x5406fb
push edi
call fcn.004418b0
add esp, 0x10
test eax, eax
je 0x4bdf1e
push edx
push edx
push 0x5405bf
mov eax, dword [edi + 8]
push eax
call fcn.004832e0
add esp, 0x10
test eax, eax
jne 0x4bde7d
push eax
push eax
push str.nsName
mov eax, dword [edi + 8]
push eax
call fcn.004832e0
add esp, 0x10
test eax, eax
je 0x4bd552
mov eax, dword [ebp - 0x58]
test byte [eax + 0x21], 2
je 0x4bd552
mov ecx, 0x43d
mov edx, edi
push esi
push 0
push 0
push str.Found_nsName_except__nsName_forbidden_construct_n
call fcn.004b6fd0
add esp, 0x10
jmp 0x4bd552
mov ecx, 0x41c
push eax
mov edx, edi
mov eax, dword [ebp - 0x58]
push 0
push 0
push str.xmlRelaxNGParse:_externalRef_has_no_href_attribute_n
call fcn.004b6fd0
mov esi, dword [ebp - 0x54]
add esp, 0x10
test esi, esi
je 0x4bcf2f
sub esp, 0xc
mov ebx, dword [ebp - 0x54]
push ebx
call dword [0x519080]
add esp, 0x10
jmp 0x4bcf2f
mov ebx, dword [edi + 0x14]
test ebx, ebx
jne 0x4bd7c6
jmp 0x4bd0df
push eax
push eax
push 0x5406fb
push ebx
call fcn.00443b70
add esp, 0x10
mov dword [ebp - 0x54], eax
test eax, eax
jne 0x4bd0df
mov ebx, dword [ebx + 0x14]
test ebx, ebx
je 0x4bd0df
cmp dword [ebx + 4], 1
je 0x4bd7a0
jmp 0x4bd0df
push eax
mov eax, dword [ebp - 0x4c]
push 0
push 0
push eax
call fcn.004611b0
add esp, 0x10
mov dword [ebp - 0x28], eax
test eax, eax
je 0x4bde67
sub esp, 0xc
push 0x14
call dword [0x519084]
add esp, 0x10
mov dword [ebp - 0x24], eax
test eax, eax
je 0x4bdad4
mov ebx, dword [ebp - 0x24]
sub esp, 0xc
mov dword [ebp - 0x48], ebx
mov dword [ebx], 0
mov dword [ebx + 4], 0
mov dword [ebx + 0xc], 0
mov dword [ebx + 0x10], 0
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x4c]
mov dword [ebx + 8], eax
push ecx
call fcn.00483c60
mov edx, dword [ebp - 0x58]
mov dword [ebx + 4], eax
mov eax, dword [edx + 0x40]
mov dword [ebx], eax
add esp, 0x10
mov dword [edx + 0x40], ebx
test esi, esi
je 0x4bd87b
sub esp, 0xc
mov edx, dword [ebp - 0x28]
push edx
call fcn.0043d970
add esp, 0x10
mov ebx, eax
test eax, eax
je 0x4bd87b
push eax
push eax
push 0x5406fb
push ebx
call fcn.004418b0
add esp, 0x10
test eax, eax
je 0x4be2bf
mov ecx, dword [ebp - 0x58]
mov eax, dword [ecx + 0x7c]
test eax, eax
je 0x4be220
mov eax, dword [ebp - 0x58]
mov edx, dword [eax + 0x78]
cmp dword [eax + 0x74], edx
jge 0x4bddea
mov eax, dword [ebp - 0x58]
mov ebx, dword [ebp - 0x24]
mov ecx, eax
mov edx, dword [eax + 0x74]
mov eax, dword [eax + 0x7c]
mov dword [eax + edx*4], ebx
mov eax, dword [ecx + 0x74]
inc eax
mov dword [ecx + 0x70], ebx
mov dword [ecx + 0x74], eax
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x58]
call fcn.004be470
mov ecx, eax
test eax, eax
je 0x4bdf08
mov edx, dword [ebp - 0x58]
mov eax, dword [edx + 0x74]
test eax, eax
jle 0x4bd8f7
dec eax
mov dword [edx + 0x74], eax
test eax, eax
je 0x4bdf63
mov ebx, edx
mov edx, dword [edx + 0x7c]
mov eax, dword [edx + eax*4 - 4]
mov dword [ebx + 0x70], eax
mov ebx, dword [ebp - 0x58]
mov eax, dword [ebx + 0x74]
mov dword [edx + eax*4], 0
sub esp, 0xc
push ecx
call fcn.0043d970
add esp, 0x10
mov dword [ebp - 0x20], eax
test eax, eax
je 0x4be2a9
mov eax, dword [ebp - 0x20]
mov edx, dword [eax + 0x24]
test edx, edx
je 0x4bd922
cmp dword [eax + 4], 1
je 0x4be073
push eax
mov eax, dword [ebp - 0x4c]
push 0
mov ecx, 0x40e
push eax
push str.xmlRelaxNG:_included_document__s_root_is_not_a_grammar_n
mov edx, edi
mov eax, dword [ebp - 0x58]
call fcn.004b6fd0
add esp, 0x10
mov dword [ebp - 0x48], 0
jmp 0x4bd397
sub esp, 0xc
push ebx
call fcn.004cb250
pop ebx
pop eax
push edi
mov ecx, dword [edi + 0x20]
push ecx
call fcn.00443ba0
mov ebx, eax
pop eax
pop edx
push ebx
push esi
call fcn.004cd9c0
add esp, 0x10
mov dword [ebp - 0x50], eax
test eax, eax
je 0x4bda7b
sub esp, 0xc
push esi
call dword [0x519080]
add esp, 0x10
test ebx, ebx
je 0x4bd998
sub esp, 0xc
push ebx
call dword [0x519080]
add esp, 0x10
mov ecx, dword [ebp - 0x58]
mov eax, dword [ecx + 0x64]
test eax, eax
jle 0x4bdc93
xor ebx, ebx
jmp 0x4bd9b7
mov ecx, dword [ebp - 0x58]
inc ebx
cmp dword [ecx + 0x64], ebx
jle 0x4bdc93
mov edx, dword [ebp - 0x58]
push eax
push eax
mov eax, dword [ebp - 0x50]
push eax
mov eax, dword [edx + 0x6c]
mov eax, dword [eax + ebx*4]
mov eax, dword [eax + 4]
push eax
call fcn.004832e0
add esp, 0x10
test eax, eax
je 0x4bd9aa
mov esi, dword [ebp - 0x50]
mov ecx, 0x409
push eax
xor edx, edx
push 0
mov eax, dword [ebp - 0x58]
push esi
push str.Detected_an_externalRef_recursion_for__s_n
call fcn.004b6fd0
add esp, 0x10
mov eax, dword [ebp - 0x50]
mov ecx, 0x408
push edx
mov edx, edi
push 0
push eax
mov eax, dword [ebp - 0x58]
push str.Failed_to_load_externalRef__s_n
call fcn.004b6fd0
mov eax, dword [ebp - 0x54]
add esp, 0x10
test eax, eax
je 0x4bda29
sub esp, 0xc
mov ecx, dword [ebp - 0x54]
push ecx
call dword [0x519080]
add esp, 0x10
sub esp, 0xc
mov edx, dword [ebp - 0x50]
mov ebx, edi
push edx
call dword [0x519080]
add esp, 0x10
jmp 0x4bcf31
mov ecx, dword [ebp - 0x40]
push ebx
push ecx
push 0x5406fb
push esi
call fcn.004445e0
add esp, 0x10
jmp 0x4bd5a9
mov ecx, 0x41c
push eax
mov edx, edi
mov eax, dword [ebp - 0x58]
push 0
push 0
push str.xmlRelaxNGParse:_include_has_no_href_attribute_n
call fcn.004b6fd0
mov ebx, edi
add esp, 0x10
jmp 0x4bcf31
mov edx, edi
push ecx
mov eax, dword [ebp - 0x58]
mov ecx, 0x411
push 0
push esi
push str.Failed_to_compute_URL_for_externalRef__s_n
call fcn.004b6fd0
mov edx, dword [ebp - 0x54]
add esp, 0x10
test edx, edx
je 0x4bdaad
sub esp, 0xc
mov eax, dword [ebp - 0x54]
push eax
call dword [0x519080]
add esp, 0x10
sub esp, 0xc
push esi
call dword [0x519080]
add esp, 0x10
test ebx, ebx
je 0x4bcf2f
sub esp, 0xc
push ebx
call dword [0x519080]
add esp, 0x10
jmp 0x4bcf2f
mov edx, str.allocating_include_n
mov eax, dword [ebp - 0x58]
call fcn.004b7920
sub esp, 0xc
mov ebx, dword [ebp - 0x28]
push ebx
call fcn.00444080
add esp, 0x10
mov dword [ebp - 0x48], 0
jmp 0x4bd397
push esi
push 0x5405bf
mov eax, dword [edi + 0x24]
push eax
push edi
call fcn.00445c20
add esp, 0x10
mov dword [ebp - 0x44], eax
test eax, eax
jne 0x4bd4fb
mov ecx, 0x3f0
mov edx, edi
mov eax, dword [ebp - 0x58]
push ebx
push 0
push esi
push str.Failed_to_create_a_name__s_element_n
call fcn.004b6fd0
add esp, 0x10
mov dword [ebp - 0x44], 0
jmp 0x4bd4fb
sub esp, 0xc
push eax
call fcn.004ce2a0
add esp, 0x10
mov dword [ebp - 0x38], eax
test eax, eax
je 0x4be284
mov eax, dword [ebp - 0x38]
mov eax, dword [eax]
test eax, eax
je 0x4be25f
mov edx, dword [ebp - 0x38]
mov eax, dword [edx + 0x20]
test eax, eax
je 0x4bdb8f
mov edx, dword [ebp - 0x34]
push ecx
push edx
mov ecx, 0x45d
mov eax, dword [ebx + 8]
mov edx, edi
push eax
mov eax, dword [ebp - 0x58]
push str.Attribute__s_URI__s_has_a_fragment_ID_n
call fcn.004b6fd0
add esp, 0x10
sub esp, 0xc
mov eax, dword [ebp - 0x38]
push eax
call fcn.004cb250
add esp, 0x10
jmp 0x4bd462
mov ecx, 0x411
push eax
mov edx, edi
push 0
mov eax, dword [ebp - 0x58]
push ebx
push str.Failed_to_compute_URL_for_include__s_n
call fcn.004b6fd0
mov dword [esp], ebx
call dword [0x519080]
add esp, 0x10
test esi, esi
je 0x4bcf2f
sub esp, 0xc
push esi
call dword [0x519080]
add esp, 0x10
jmp 0x4bcf2f
mov edx, edi
push ecx
mov eax, dword [ebp - 0x58]
mov ecx, 0x411
push 0
push esi
push str.Incorrect_URI_for_externalRef__s_n
call fcn.004b6fd0
mov edx, dword [ebp - 0x54]
add esp, 0x10
test edx, edx
je 0x4bdc13
sub esp, 0xc
mov eax, dword [ebp - 0x54]
push eax
call dword [0x519080]
add esp, 0x10
sub esp, 0xc
mov ebx, edi
push esi
call dword [0x519080]
add esp, 0x10
jmp 0x4bcf31
push eax
mov eax, dword [ebp - 0x4c]
push 0
mov ecx, 0x413
push eax
mov edx, edi
mov eax, dword [ebp - 0x58]
push str.Failed_to_load_include__s_n
call fcn.004b6fd0
pop eax
mov eax, dword [ebp - 0x4c]
mov ebx, edi
push eax
call dword [0x519080]
add esp, 0x10
jmp 0x4bcf31
mov ebx, dword [edi + 0x14]
test ebx, ebx
jne 0x4bdc88
jmp 0x4bd334
push eax
push eax
push 0x5406fb
push ebx
call fcn.00443b70
add esp, 0x10
mov esi, eax
test eax, eax
jne 0x4bd334
mov ebx, dword [ebx + 0x14]
test ebx, ebx
je 0x4bd334
cmp dword [ebx + 4], 1
je 0x4bdc63
jmp 0x4bd334
mov ecx, dword [ebp - 0x50]
push ebx
push 0
push 0
push ecx
call fcn.004611b0
add esp, 0x10
mov dword [ebp - 0x30], eax
test eax, eax
je 0x4be050
sub esp, 0xc
push 0x18
call dword [0x519084]
add esp, 0x10
mov esi, eax
test eax, eax
je 0x4be1f2
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0
sub esp, 0xc
mov ebx, dword [ebp - 0x30]
mov dword [eax + 8], ebx
mov eax, dword [ebp - 0x50]
push eax
call fcn.00483c60
mov edx, dword [ebp - 0x58]
mov dword [esi + 4], eax
mov ecx, dword [ebp - 0x54]
add esp, 0x10
mov eax, dword [edx + 0x3c]
mov dword [esi + 0x14], 1
mov dword [esi], eax
test ecx, ecx
mov dword [edx + 0x3c], esi
je 0x4bdd44
sub esp, 0xc
push ebx
call fcn.0043d970
add esp, 0x10
mov ebx, eax
test eax, eax
je 0x4bdd44
push edx
push edx
push 0x5406fb
push eax
call fcn.004418b0
add esp, 0x10
test eax, eax
je 0x4be315
mov ecx, dword [ebp - 0x58]
mov eax, dword [ecx + 0x6c]
test eax, eax
je 0x4be2e6
mov eax, dword [ebp - 0x58]
mov edx, dword [eax + 0x68]
cmp dword [eax + 0x64], edx
jge 0x4be1b3
mov eax, dword [ebp - 0x58]
mov ecx, eax
mov edx, dword [eax + 0x64]
mov eax, dword [eax + 0x6c]
mov dword [eax + edx*4], esi
mov eax, dword [ecx + 0x64]
inc eax
mov dword [ecx + 0x60], esi
mov dword [ecx + 0x64], eax
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x58]
call fcn.004be470
test eax, eax
je 0x4be250
mov edx, dword [ebp - 0x58]
mov eax, dword [edx + 0x64]
test eax, eax
jle 0x4bddbb
dec eax
mov dword [edx + 0x64], eax
test eax, eax
je 0x4be2d4
mov ecx, edx
mov edx, dword [edx + 0x6c]
mov eax, dword [edx + eax*4 - 4]
mov dword [ecx + 0x60], eax
mov ecx, dword [ebp - 0x58]
mov eax, dword [ecx + 0x64]
mov dword [edx + eax*4], 0
mov ebx, dword [ebp - 0x54]
test ebx, ebx
je 0x4bddd2
sub esp, 0xc
mov eax, dword [ebp - 0x54]
push eax
call dword [0x519080]
add esp, 0x10
sub esp, 0xc
mov eax, dword [ebp - 0x50]
push eax
call dword [0x519080]
add esp, 0x10
mov dword [edi + 0x34], esi
jmp 0x4bd552
mov ecx, dword [ebp - 0x58]
lea eax, [edx + edx]
mov dword [ecx + 0x78], eax
push eax
push eax
lea eax, [edx*8]
push eax
mov eax, dword [ecx + 0x7c]
push eax
call dword [0x51908c]
mov ebx, dword [ebp - 0x58]
add esp, 0x10
test eax, eax
mov dword [ebx + 0x7c], eax
jne 0x4bd898
mov edx, str.allocating_include_n
mov eax, ebx
call fcn.004b7920
jmp 0x4bd8b3
push eax
push eax
push 0x540613
mov esi, dword [edi + 8]
push esi
call fcn.004832e0
add esp, 0x10
test eax, eax
je 0x4bd552
mov ecx, dword [ebp - 0x44]
push ebx
push 0x53fc1c
push 0x5406fb
push ecx
call fcn.004445e0
add esp, 0x10
jmp 0x4bd552
push eax
mov eax, dword [ebp - 0x4c]
push 0
mov ecx, 0x429
push eax
push str.xmlRelaxNG:_could_not_load__s_n
jmp 0x4bd933
sub esp, 0xc
push edi
call fcn.00443df0
add esp, 0x10
mov esi, eax
test eax, eax
je 0x4bd70e
lea ebx, [ebp - 0x10]
push eax
push eax
push ebx
push esi
call fcn.00441800
add esp, 0x10
mov ebx, eax
test eax, eax
je 0x4bdef6
push eax
mov eax, dword [ebp - 0x10]
push eax
push edi
mov eax, dword [edi + 0x20]
push eax
call fcn.0043e660
add esp, 0x10
test eax, eax
je 0x4be32d
push edx
mov ecx, dword [eax + 8]
push ecx
push 0x5406fb
push edi
call fcn.004445e0
pop eax
pop edx
push ebx
push edi
call fcn.00445890
add esp, 0x10
sub esp, 0xc
push ebx
call dword [0x519080]
pop eax
mov eax, dword [ebp - 0x10]
push eax
call dword [0x519080]
add esp, 0x10
sub esp, 0xc
push esi
call dword [0x519080]
add esp, 0x10
jmp 0x4bd70e
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x48], 0
mov dword [eax + 0x70], 0
jmp 0x4bd397
mov ebx, dword [edi + 0x14]
test ebx, ebx
jne 0x4bdf44
jmp 0x4bdf4a
push esi
push esi
push 0x5406fb
push ebx
call fcn.00443b70
add esp, 0x10
mov esi, eax
test eax, eax
jne 0x4bdf75
mov ebx, dword [ebx + 0x14]
test ebx, ebx
je 0x4bdf4a
cmp dword [ebx + 4], 1
je 0x4bdf27
push ebx
push 0x53fc1c
push 0x5406fb
push edi
call fcn.004445e0
add esp, 0x10
jmp 0x4bd6f3
mov eax, dword [ebp - 0x58]
mov edx, dword [eax + 0x7c]
mov dword [eax + 0x70], 0
jmp 0x4bd8ea
push ecx
push eax
push 0x5406fb
push edi
call fcn.004445e0
mov dword [esp], esi
call dword [0x519080]
add esp, 0x10
jmp 0x4bd6f3
push eax
push eax
push str.value
mov eax, dword [edi + 8]
push eax
call fcn.004832e0
add esp, 0x10
test eax, eax
jne 0x4bd6db
push ebx
push ebx
push str.except
mov ecx, dword [edi + 8]
push ecx
call fcn.004832e0
add esp, 0x10
test eax, eax
je 0x4be350
cmp edi, dword [ebp - 0x5c]
je 0x4be350
mov edx, dword [ebp - 0x58]
mov eax, dword [edi + 0x14]
test eax, eax
mov ebx, dword [edx + 0x20]
je 0x4bd552
push edx
push edx
push str.anyName
mov eax, dword [eax + 8]
push eax
call fcn.004832e0
add esp, 0x10
test eax, eax
jne 0x4be3a0
mov eax, dword [edi + 0x14]
test eax, eax
je 0x4bd552
push edx
push edx
push str.nsName
mov eax, dword [eax + 8]
push eax
call fcn.004832e0
add esp, 0x10
test eax, eax
je 0x4bd552
mov edx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x58]
mov esi, dword [edx + 0x20]
or esi, 0x200
mov dword [edx + 0x20], esi
mov edx, edi
call fcn.004bcef0
mov ecx, dword [ebp - 0x58]
mov dword [ecx + 0x20], ebx
xor ebx, ebx
jmp 0x4bcf31
mov eax, dword [ebp - 0x50]
mov ecx, 0x429
push edx
xor edx, edx
push 0
push eax
mov eax, dword [ebp - 0x58]
push str.xmlRelaxNG:_could_not_load__s_n
call fcn.004b6fd0
add esp, 0x10
jmp 0x4bd9f4
push ebx
push ebx
push str.grammar
mov ecx, dword [eax + 8]
push ecx
call fcn.004832e0
add esp, 0x10
test eax, eax
je 0x4bd922
mov eax, dword [str.http:__relaxng.org_ns_structure_1.0]
push edx
push edx
mov edx, dword [ebp - 0x20]
push eax
mov eax, dword [edx + 0x24]
mov eax, dword [eax + 8]
push eax
call fcn.004832e0
add esp, 0x10
test eax, eax
je 0x4bd922
mov ecx, dword [edi + 0xc]
mov dword [ebp - 0x2c], ecx
test ecx, ecx
jne 0x4be0d1
jmp 0x4bd397
mov edx, dword [ebp - 0x2c]
mov edx, dword [edx + 0x18]
mov dword [ebp - 0x2c], edx
test edx, edx
je 0x4bd397
mov ebx, dword [ebp - 0x2c]
mov eax, dword [ebx + 0x24]
test eax, eax
je 0x4be0c0
cmp dword [ebx + 4], 1
jne 0x4be0c0
push eax
push eax
push str.start
mov ecx, dword [ebx + 8]
push ecx
call fcn.004832e0
add esp, 0x10
test eax, eax
jne 0x4be408
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 0x24]
test eax, eax
je 0x4be0c0
cmp dword [edx + 4], 1
jne 0x4be0c0
push eax
push eax
push str.define
mov ebx, dword [edx + 8]
push ebx
call fcn.004832e0
add esp, 0x10
test eax, eax
je 0x4be0c0
mov edx, dword [str.http:__relaxng.org_ns_structure_1.0]
push ecx
push ecx
mov ecx, dword [ebp - 0x2c]
push edx
mov eax, dword [ecx + 0x24]
mov eax, dword [eax + 8]
push eax
call fcn.004832e0
add esp, 0x10
test eax, eax
je 0x4be0c0
push eax
push eax
mov eax, dword [ebp - 0x2c]
push 0x5405bf
push eax
call fcn.00443b70
add esp, 0x10
mov ebx, eax
test eax, eax
je 0x4be3e5
call fcn.004b6ce0
mov eax, dword [ebp - 0x20]
sub esp, 0xc
mov ecx, dword [eax + 0xc]
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x58]
push ebx
call fcn.004bccf0
add esp, 0x10
test eax, eax
jne 0x4be1a1
mov ecx, dword [ebp - 0x4c]
mov edx, edi
push eax
mov eax, dword [ebp - 0x58]
push ebx
push ecx
mov ecx, 0x3f5
push str.xmlRelaxNG:_include__s_has_a_define__s_but_not_the_included_grammar_n
call fcn.004b6fd0
add esp, 0x10
sub esp, 0xc
push ebx
call dword [0x519080]
add esp, 0x10
jmp 0x4be0c0
mov ecx, dword [ebp - 0x58]
lea eax, [edx + edx]
mov dword [ecx + 0x68], eax
push eax
push eax
lea eax, [edx*8]
push eax
mov eax, dword [ecx + 0x6c]
push eax
call dword [0x51908c]
mov ebx, dword [ebp - 0x58]
add esp, 0x10
test eax, eax
mov dword [ebx + 0x6c], eax
jne 0x4bdd61
mov edx, str.adding_document_n
mov eax, ebx
call fcn.004b7920
jmp 0x4bdd79
push eax
mov eax, dword [ebp - 0x50]
push 0
mov ecx, 2
push eax
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x58]
push str.xmlRelaxNG:_allocate_memory_for_doc__s_n
call fcn.004b6fd0
pop eax
mov eax, dword [ebp - 0x30]
push eax
call fcn.00444080
add esp, 0x10
jmp 0x4bd9f4
sub esp, 0xc
mov dword [ecx + 0x78], 4
mov dword [ecx + 0x74], 0
push 0x10
call dword [0x519084]
mov ebx, dword [ebp - 0x58]
add esp, 0x10
test eax, eax
mov dword [ebx + 0x7c], eax
jne 0x4bd889
jmp 0x4bde18
mov ebx, dword [ebp - 0x58]
mov dword [ebx + 0x60], 0
jmp 0x4bd9f4
push eax
mov eax, dword [ebp - 0x34]
push eax
mov ecx, 0x45e
mov eax, dword [ebx + 8]
mov edx, edi
push eax
mov eax, dword [ebp - 0x58]
push str.Attribute__s_URI__s_is_not_absolute_n
call fcn.004b6fd0
add esp, 0x10
jmp 0x4bdb65
mov edx, dword [ebp - 0x34]
push ecx
push edx
mov ecx, 0x41a
mov eax, dword [ebx + 8]
mov edx, edi
push eax
mov eax, dword [ebp - 0x58]
push str.Attribute__s_contains_invalid_URI__s_n
call fcn.004b6fd0
add esp, 0x10
jmp 0x4bd462
mov ecx, dword [ebp - 0x4c]
push ebx
push 0
push ecx
mov ecx, 0x3fe
push str.xmlRelaxNG:_included_document_is_empty__s_n
jmp 0x4bd933
push eax
push esi
push 0x5406fb
push ebx
call fcn.004445e0
add esp, 0x10
jmp 0x4bd87b
mov ebx, dword [ebp - 0x58]
mov edx, dword [ebx + 0x6c]
mov dword [ebx + 0x60], 0
jmp 0x4bddae
sub esp, 0xc
mov dword [ecx + 0x68], 4
mov dword [ecx + 0x64], 0
push 0x10
call dword [0x519084]
mov ebx, dword [ebp - 0x58]
add esp, 0x10
test eax, eax
mov dword [ebx + 0x6c], eax
jne 0x4bdd52
jmp 0x4be1e1
push eax
mov eax, dword [ebp - 0x54]
push eax
push 0x5406fb
push ebx
call fcn.004445e0
add esp, 0x10
jmp 0x4bdd44
mov ecx, dword [ebp - 0x10]
mov edx, edi
push eax
mov eax, dword [ebp - 0x58]
push 0
push ecx
mov ecx, 0x449
push str.xmlRelaxNGParse:_no_namespace_for_prefix__s_n
call fcn.004b6fd0
add esp, 0x10
jmp 0x4bdede
push ebx
push ebx
push str.anyName
mov ecx, dword [edi + 8]
push ecx
call fcn.004832e0
add esp, 0x10
test eax, eax
je 0x4bd552
mov ebx, dword [ebp - 0x58]
mov eax, dword [ebx + 0x20]
test ah, 1
jne 0x4be3c5
test ah, 2
je 0x4bd552
mov ecx, 0x43c
push eax
mov edx, edi
mov eax, dword [ebp - 0x58]
push 0
push 0
push str.Found_nsName_except__anyName_forbidden_construct_n
call fcn.004b6fd0
add esp, 0x10
jmp 0x4bd552
mov ecx, dword [ebp - 0x58]
mov edx, edi
mov eax, ecx
mov esi, dword [ecx + 0x20]
or esi, 0x100
mov dword [ecx + 0x20], esi
call fcn.004bcef0
mov eax, dword [ebp - 0x58]
mov dword [eax + 0x20], ebx
xor ebx, ebx
jmp 0x4bcf31
mov ecx, 0x42a
push edx
mov eax, ebx
mov edx, edi
push 0
push 0
push str.Found_anyName_except__anyName_forbidden_construct_n
call fcn.004b6fd0
add esp, 0x10
jmp 0x4bd552
push eax
mov eax, dword [ebp - 0x4c]
push 0
mov ecx, 0x41d
push eax
mov edx, edi
mov eax, dword [ebp - 0x58]
push str.xmlRelaxNG:_include__s_has_define_without_name_n
call fcn.004b6fd0
add esp, 0x10
jmp 0x4be0c0
mov eax, dword [str.http:__relaxng.org_ns_structure_1.0]
push edx
push edx
push eax
mov eax, dword [ebx + 0x24]
mov eax, dword [eax + 8]
push eax
call fcn.004832e0
add esp, 0x10
test eax, eax
je 0x4be0fc
mov eax, dword [ebp - 0x20]
sub esp, 0xc
mov edx, dword [ebp - 0x4c]
mov ecx, dword [eax + 0xc]
mov eax, dword [ebp - 0x58]
push 0
call fcn.004bccf0
add esp, 0x10
test eax, eax
jne 0x4be0c0
push eax
mov eax, dword [ebp - 0x4c]
push 0
mov ecx, 0x453
push eax
mov edx, edi
mov eax, dword [ebp - 0x58]
push str.xmlRelaxNG:_include__s_has_a_start_but_not_the_included_grammar_n
call fcn.004b6fd0
add esp, 0x10
jmp 0x4be0c0