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

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x4c
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x40], edx
mov esi, edx
xor edx, edx
jmp 0x49b9b6
test edx, edx
je 0x49a6e1
mov dword [esp], edx
mov dword [ebp - 0x44], edx
call sym.evasi0n_gui.exe_xmlUnlinkNode
mov edx, dword [ebp - 0x44]
mov dword [esp], edx
call sym.evasi0n_gui.exe_xmlFreeNode
mov eax, dword [esi + 4]
cmp eax, 1
jne 0x49b929
mov eax, dword [esi + 0x24]
test eax, eax
je 0x49a70f
mov dword [esp + 4], str.http:__relaxng.org_ns_structure_1.0
mov eax, dword [eax + 8]
mov dword [esp], eax
call sym.evasi0n_gui.exe_xmlStrEqual
test eax, eax
jne 0x49a79a
mov eax, dword [esi + 0x14]
mov edx, esi
test eax, eax
je 0x49b99f
cmp dword [eax + 4], 1
jne 0x49b99f
mov dword [esp + 4], 0x691974
mov eax, dword [eax + 8]
mov dword [esp], eax
call sym.evasi0n_gui.exe_xmlStrEqual
test eax, eax
jne 0x49a777
mov dword [esp + 4], 0x6925e3
mov eax, dword [esi + 0x14]
mov eax, dword [eax + 8]
mov dword [esp], eax
call sym.evasi0n_gui.exe_xmlStrEqual
test eax, eax
jne 0x49a777
mov dword [esp + 4], str.param
mov eax, dword [esi + 0x14]
mov eax, dword [eax + 8]
mov dword [esp], eax
call sym.evasi0n_gui.exe_xmlStrEqual
mov edx, esi
test eax, eax
je 0x49b99f
mov dword [esp + 8], 0
mov eax, dword [esi + 0x14]
mov eax, dword [eax + 8]
mov dword [esp + 4], eax
mov dword [esp], str.element__s_doesnt_allow_foreign_elements_n
mov ecx, 0x40b
jmp 0x49af23
mov ebx, dword [esi + 0x2c]
jmp 0x49aa5f
mov eax, dword [ebx + 0x18]
mov dword [ebp - 0x34], eax
mov eax, dword [ebx + 0x24]
test eax, eax
je 0x49a7ca
mov dword [esp + 4], str.http:__relaxng.org_ns_structure_1.0
mov eax, dword [eax + 8]
mov dword [esp], eax
call sym.evasi0n_gui.exe_xmlStrEqual
test eax, eax
je 0x49aa5c
mov dword [esp + 4], 0x691974
mov eax, dword [ebx + 8]
mov dword [esp], eax
call sym.evasi0n_gui.exe_xmlStrEqual
test eax, eax
je 0x49a85a
mov dword [esp + 4], 0x69261a
mov eax, dword [esi + 8]
mov dword [esp], eax
call sym.evasi0n_gui.exe_xmlStrEqual
test eax, eax
jne 0x49aa5c
mov dword [esp + 4], 0x692622
mov eax, dword [esi + 8]
mov dword [esp], eax
call sym.evasi0n_gui.exe_xmlStrEqual
test eax, eax
jne 0x49aa5c
mov dword [esp + 4], str.mh_execute_header
mov eax, dword [esi + 8]
mov dword [esp], eax
call sym.evasi0n_gui.exe_xmlStrEqual
test eax, eax
jne 0x49aa5c
mov dword [esp + 4], str.parentRef
mov eax, dword [esi + 8]
mov dword [esp], eax
call sym.evasi0n_gui.exe_xmlStrEqual
test eax, eax
jne 0x49aa5c
mov dword [esp + 4], str.param
jmp 0x49a8f1
mov dword [esp + 4], 0x69265d
mov eax, dword [ebx + 8]
mov dword [esp], eax
call sym.evasi0n_gui.exe_xmlStrEqual
test eax, eax
je 0x49a896
mov dword [esp + 4], 0x6925e3
mov eax, dword [esi + 8]
mov dword [esp], eax
call sym.evasi0n_gui.exe_xmlStrEqual
test eax, eax
jne 0x49aa5c
mov dword [esp + 4], 0x692662
jmp 0x49a90c
mov dword [esp + 4], 0x692667
mov eax, dword [ebx + 8]
mov dword [esp], eax
call sym.evasi0n_gui.exe_xmlStrEqual
test eax, eax
je 0x49a8d2
mov dword [esp + 4], str.externalRef
mov eax, dword [esi + 8]
mov dword [esp], eax
call sym.evasi0n_gui.exe_xmlStrEqual
test eax, eax
jne 0x49aa5c
mov dword [esp + 4], 0x6925d3
jmp 0x49a90c
mov dword [esp + 4], str.combine
mov eax, dword [ebx + 8]
mov dword [esp], eax
call sym.evasi0n_gui.exe_xmlStrEqual
test eax, eax
je 0x49a93e
mov dword [esp + 4], str.start
mov eax, dword [esi + 8]
mov dword [esp], eax
call sym.evasi0n_gui.exe_xmlStrEqual
test eax, eax
jne 0x49aa5c
mov dword [esp + 4], str.define
mov eax, dword [esi + 8]
mov dword [esp], eax
call sym.evasi0n_gui.exe_xmlStrEqual
test eax, eax
jne 0x49aa5c
mov eax, dword [esi + 8]
mov dword [esp + 8], eax
mov eax, dword [ebx + 8]
mov dword [esp + 4], eax
mov dword [esp], str.Attribute__s_is_not_allowed_on__s_n
mov ecx, 0x40a
jmp 0x49aa52
mov dword [esp + 4], str.datatypeLibrary
mov eax, dword [ebx + 8]
mov dword [esp], eax
call sym.evasi0n_gui.exe_xmlStrEqual
test eax, eax
je 0x49aa21
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 sym.evasi0n_gui.exe_xmlNodeListGetString
mov edi, eax
test eax, eax
je 0x49aa5c
cmp byte [eax], 0
je 0x49aa16
mov dword [esp], eax
call sym.evasi0n_gui.exe_xmlParseURI
mov dword [ebp - 0x30], eax
test eax, eax
jne 0x49a9b8
mov dword [esp + 8], edi
mov eax, dword [ebx + 8]
mov dword [esp + 4], eax
mov dword [esp], str.Attribute__s_contains_invalid_URI__s_n
mov ecx, 0x41a
mov edx, esi
mov eax, dword [ebp - 0x2c]
call fcn.00494547
jmp 0x49aa16
mov edx, dword [ebp - 0x30]
cmp dword [edx], 0
jne 0x49a9e1
mov dword [esp + 8], edi
mov eax, dword [ebx + 8]
mov dword [esp + 4], eax
mov dword [esp], str.Attribute__s_URI__s_is_not_absolute_n
mov ecx, 0x45e
mov edx, esi
mov eax, dword [ebp - 0x2c]
call fcn.00494547
mov ecx, dword [ebp - 0x30]
cmp dword [ecx + 0x20], 0
je 0x49aa0b
mov dword [esp + 8], edi
mov eax, dword [ebx + 8]
mov dword [esp + 4], eax
mov dword [esp], str.Attribute__s_URI__s_has_a_fragment_ID_n
mov ecx, 0x45d
mov edx, esi
mov eax, dword [ebp - 0x2c]
call fcn.00494547
mov eax, dword [ebp - 0x30]
mov dword [esp], eax
call sym.evasi0n_gui.exe_xmlFreeURI
mov dword [esp], edi
call dword [sym.evasi0n_gui.exe_xmlFree]
jmp 0x49aa5c
mov dword [esp + 4], 0x6919ef
mov eax, dword [ebx + 8]
mov dword [esp], eax
call sym.evasi0n_gui.exe_xmlStrEqual
test eax, eax
jne 0x49aa5c
mov eax, dword [esi + 8]
mov dword [esp + 8], eax
mov eax, dword [ebx + 8]
mov dword [esp + 4], eax
mov dword [esp], str.Unknown_attribute__s_on__s_n
mov ecx, 0x459
mov edx, esi
mov eax, dword [ebp - 0x2c]
call fcn.00494547
mov ebx, dword [ebp - 0x34]
test ebx, ebx
jne 0x49a7a2
mov dword [esp + 4], str.externalRef
mov eax, dword [esi + 8]
mov dword [esp], eax
call sym.evasi0n_gui.exe_xmlStrEqual
test eax, eax
je 0x49aed6
mov dword [esp + 4], 0x6919ef
mov dword [esp], esi
call sym.evasi0n_gui.exe_xmlGetProp
mov dword [ebp - 0x30], eax
test eax, eax
jne 0x49aac4
mov ebx, dword [esi + 0x14]
jmp 0x49aab5
mov dword [esp + 4], 0x6919ef
mov dword [esp], ebx
call sym.evasi0n_gui.exe_xmlGetProp
test eax, eax
jne 0x49aac1
mov ebx, dword [ebx + 0x14]
test ebx, ebx
je 0x49aac4
cmp dword [ebx + 4], 1
je 0x49aa9e
jmp 0x49aac4
mov dword [ebp - 0x30], eax
mov dword [esp + 4], 0x692667
mov dword [esp], esi
call sym.evasi0n_gui.exe_xmlGetProp
mov edi, eax
test eax, eax
jne 0x49ab1f
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], str.xmlRelaxNGParse:_externalRef_has_no_href_attribute_n
mov ecx, 0x41c
mov edx, esi
mov eax, dword [ebp - 0x2c]
call fcn.00494547
mov edx, esi
cmp dword [ebp - 0x30], 0
je 0x49b99f
mov edx, dword [ebp - 0x30]
mov dword [esp], edx
call dword [sym.evasi0n_gui.exe_xmlFree]
mov edx, esi
jmp 0x49b99f
mov dword [esp], eax
call sym.evasi0n_gui.exe_xmlParseURI
mov ebx, eax
test eax, eax
jne 0x49ab6a
mov dword [esp + 8], 0
mov dword [esp + 4], edi
mov dword [esp], str.Incorrect_URI_for_externalRef__s_n
mov ecx, 0x411
mov edx, esi
mov eax, dword [ebp - 0x2c]
call fcn.00494547
cmp dword [ebp - 0x30], 0
je 0x49b411
mov ecx, dword [ebp - 0x30]
mov dword [esp], ecx
call dword [sym.evasi0n_gui.exe_xmlFree]
jmp 0x49b411
cmp dword [eax + 0x20], 0
je 0x49abb1
mov dword [esp + 8], 0
mov dword [esp + 4], edi
mov dword [esp], str.Fragment_forbidden_in_URI_for_externalRef__s_n
mov ecx, 0x411
mov edx, esi
mov eax, dword [ebp - 0x2c]
call fcn.00494547
cmp dword [ebp - 0x30], 0
je 0x49aba4
mov eax, dword [ebp - 0x30]
mov dword [esp], eax
call dword [sym.evasi0n_gui.exe_xmlFree]
mov dword [esp], ebx
call sym.evasi0n_gui.exe_xmlFreeURI
jmp 0x49b411
mov dword [esp], eax
call sym.evasi0n_gui.exe_xmlFreeURI
mov dword [esp + 4], esi
mov eax, dword [esi + 0x20]
mov dword [esp], eax
call sym.evasi0n_gui.exe_xmlNodeGetBase
mov ebx, eax
mov dword [esp + 4], eax
mov dword [esp], edi
call sym.evasi0n_gui.exe_xmlBuildURI
mov dword [ebp - 0x34], eax
test eax, eax
jne 0x49ac2c
mov dword [esp + 8], 0
mov dword [esp + 4], edi
mov dword [esp], str.Failed_to_compute_URL_for_externalRef__s_n
mov ecx, 0x411
mov edx, esi
mov eax, dword [ebp - 0x2c]
call fcn.00494547
cmp dword [ebp - 0x30], 0
je 0x49ac11
mov edx, dword [ebp - 0x30]
mov dword [esp], edx
call dword [sym.evasi0n_gui.exe_xmlFree]
mov dword [esp], edi
call dword [sym.evasi0n_gui.exe_xmlFree]
mov edx, esi
test ebx, ebx
je 0x49b99f
mov dword [esp], ebx
jmp 0x49ab12
mov dword [esp], edi
call dword [sym.evasi0n_gui.exe_xmlFree]
test ebx, ebx
je 0x49ac42
mov dword [esp], ebx
call dword [sym.evasi0n_gui.exe_xmlFree]
xor ebx, ebx
mov edi, dword [ebp - 0x2c]
jmp 0x49ac83
mov ecx, dword [ebp - 0x34]
mov dword [esp + 4], ecx
mov eax, dword [edi + 0x6c]
mov eax, dword [eax + ebx*4]
mov eax, dword [eax + 4]
mov dword [esp], eax
call sym.evasi0n_gui.exe_xmlStrEqual
test eax, eax
je 0x49ac82
mov dword [esp + 8], 0
mov edi, dword [ebp - 0x34]
mov dword [esp + 4], edi
mov dword [esp], str.Detected_an_externalRef_recursion_for__s_n
mov ecx, 0x409
jmp 0x49acc5
inc ebx
cmp ebx, dword [edi + 0x64]
jl 0x49ac49
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x34]
mov dword [esp], eax
call sym.evasi0n_gui.exe_xmlReadFile
mov dword [ebp - 0x38], eax
test eax, eax
jne 0x49acd4
mov dword [esp + 8], 0
mov edx, dword [ebp - 0x34]
mov dword [esp + 4], edx
mov dword [esp], str.xmlRelaxNG:_could_not_load__s_n
mov ecx, 0x429
xor edx, edx
mov eax, dword [ebp - 0x2c]
call fcn.00494547
jmp 0x49ae74
mov dword [esp], 0x18
call dword [sym.evasi0n_gui.exe_xmlMalloc]
mov ebx, eax
test eax, eax
jne 0x49ad1d
mov dword [esp + 8], 0
mov ecx, dword [ebp - 0x34]
mov dword [esp + 4], ecx
mov dword [esp], str.xmlRelaxNG:_allocate_memory_for_doc__s_n
mov ecx, 2
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x2c]
call fcn.00494547
mov edi, dword [ebp - 0x38]
mov dword [esp], edi
call sym.evasi0n_gui.exe_xmlFreeDoc
jmp 0x49ae74
mov ecx, 6
xor eax, eax
mov edi, ebx
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x38]
mov dword [ebx + 8], eax
mov edx, dword [ebp - 0x34]
mov dword [esp], edx
call sym.evasi0n_gui.exe_xmlStrdup
mov dword [ebx + 4], eax
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ecx + 0x3c]
mov dword [ebx], eax
mov dword [ebx + 0x14], 1
mov dword [ecx + 0x3c], ebx
cmp dword [ebp - 0x30], 0
je 0x49ad90
mov edi, dword [ebp - 0x38]
mov dword [esp], edi
call sym.evasi0n_gui.exe_xmlDocGetRootElement
mov edi, eax
test eax, eax
je 0x49ad90
mov dword [esp + 4], 0x6919ef
mov dword [esp], eax
call sym.evasi0n_gui.exe_xmlHasProp
test eax, eax
jne 0x49ad90
mov eax, dword [ebp - 0x30]
mov dword [esp + 8], eax
mov dword [esp + 4], 0x6919ef
mov dword [esp], edi
call sym.evasi0n_gui.exe_xmlSetProp
mov edx, dword [ebp - 0x2c]
cmp dword [edx + 0x6c], 0
jne 0x49adc7
mov dword [edx + 0x68], 4
mov dword [edx + 0x64], 0
mov dword [esp], 0x10
call dword [sym.evasi0n_gui.exe_xmlMalloc]
mov ecx, dword [ebp - 0x2c]
mov dword [ecx + 0x6c], eax
test eax, eax
jne 0x49adc7
mov edx, str.adding_document_n
mov eax, ecx
jmp 0x49adf9
mov edi, dword [ebp - 0x2c]
mov eax, dword [edi + 0x68]
cmp dword [edi + 0x64], eax
jl 0x49ae00
lea edx, [eax + eax]
mov dword [edi + 0x68], edx
shl eax, 3
mov dword [esp + 4], eax
mov eax, dword [edi + 0x6c]
mov dword [esp], eax
call dword [sym.evasi0n_gui.exe_xmlRealloc]
mov dword [edi + 0x6c], eax
test eax, eax
jne 0x49ae00
mov edx, str.adding_document_n
mov eax, edi
call fcn.004941d8
jmp 0x49ae17
mov eax, dword [ebp - 0x2c]
mov edx, dword [eax + 0x64]
mov ecx, eax
mov eax, dword [eax + 0x6c]
mov dword [eax + edx*4], ebx
mov dword [ecx + 0x60], ebx
lea eax, [edx + 1]
mov dword [ecx + 0x64], eax
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x2c]
call fcn.0049ba13
test eax, eax
jne 0x49ae32
mov edi, dword [ebp - 0x2c]
mov dword [edi + 0x60], 0
jmp 0x49ae74
mov eax, dword [ebp - 0x2c]
mov edx, dword [eax + 0x64]
test edx, edx
jle 0x49b9da
lea ecx, [edx - 1]
mov dword [eax + 0x64], ecx
test ecx, ecx
je 0x49ae58
mov edi, eax
mov eax, dword [eax + 0x6c]
mov eax, dword [eax + edx*4 - 8]
mov dword [edi + 0x60], eax
jmp 0x49ae62
mov eax, dword [ebp - 0x2c]
mov dword [eax + 0x60], 0
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 0x6c]
mov dword [eax + ecx*4], 0
jmp 0x49b9da
mov dword [esp + 8], 0
mov ecx, dword [ebp - 0x34]
mov dword [esp + 4], ecx
mov dword [esp], str.Failed_to_load_externalRef__s_n
mov ecx, 0x408
mov edx, esi
mov eax, dword [ebp - 0x2c]
call fcn.00494547
cmp dword [ebp - 0x30], 0
je 0x49aeab
mov edi, dword [ebp - 0x30]
mov dword [esp], edi
call dword [sym.evasi0n_gui.exe_xmlFree]
mov eax, dword [ebp - 0x34]
mov dword [esp], eax
jmp 0x49ab12
mov edx, dword [ebp - 0x30]
mov dword [esp], edx
call dword [sym.evasi0n_gui.exe_xmlFree]
mov ecx, dword [ebp - 0x34]
mov dword [esp], ecx
call dword [sym.evasi0n_gui.exe_xmlFree]
mov dword [esi + 0x34], ebx
jmp 0x49b867
mov dword [esp + 4], 0x6925d3
mov eax, dword [esi + 8]
mov dword [esp], eax
call sym.evasi0n_gui.exe_xmlStrEqual
test eax, eax
je 0x49b430
mov dword [esp + 4], 0x692667
mov dword [esp], esi
call sym.evasi0n_gui.exe_xmlGetProp
mov ebx, eax
test eax, eax
jne 0x49af32
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.00494547
jmp 0x49ab18
mov dword [esp + 4], esi
mov eax, dword [esi + 0x20]
mov dword [esp], eax
call sym.evasi0n_gui.exe_xmlNodeGetBase
mov edi, eax
mov dword [esp + 4], eax
mov dword [esp], ebx
call sym.evasi0n_gui.exe_xmlBuildURI
mov dword [ebp - 0x34], eax
test eax, eax
jne 0x49af90
mov dword [esp + 8], 0
mov dword [esp + 4], ebx
mov dword [esp], str.Failed_to_compute_URL_for_include__s_n
mov ecx, 0x411
mov edx, esi
mov eax, dword [ebp - 0x2c]
call fcn.00494547
mov dword [esp], ebx
call dword [sym.evasi0n_gui.exe_xmlFree]
mov edx, esi
test edi, edi
jne 0x49b411
jmp 0x49b99f
mov dword [esp], ebx
call dword [sym.evasi0n_gui.exe_xmlFree]
test edi, edi
je 0x49afa6
mov dword [esp], edi
call dword [sym.evasi0n_gui.exe_xmlFree]
mov dword [esp + 4], 0x6919ef
mov dword [esp], esi
call sym.evasi0n_gui.exe_xmlGetProp
mov dword [ebp - 0x38], eax
test eax, eax
jne 0x49afe8
mov ebx, dword [esi + 0x14]
jmp 0x49afd9
mov dword [esp + 4], 0x6919ef
mov dword [esp], ebx
call sym.evasi0n_gui.exe_xmlGetProp
test eax, eax
jne 0x49afe5
mov ebx, dword [ebx + 0x14]
test ebx, ebx
je 0x49afe8
cmp dword [ebx + 4], 1
je 0x49afc2
jmp 0x49afe8
mov dword [ebp - 0x38], eax
xor ebx, ebx
mov edi, dword [ebp - 0x2c]
jmp 0x49b02b
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 sym.evasi0n_gui.exe_xmlStrEqual
test eax, eax
je 0x49b02a
mov dword [esp + 8], 0
mov edx, dword [ebp - 0x34]
mov dword [esp + 4], edx
mov dword [esp], str.Detected_an_Include_recursion_for__s_n
mov ecx, 0x414
xor edx, edx
jmp 0x49b06f
inc ebx
cmp ebx, dword [edi + 0x74]
jl 0x49afef
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov ecx, dword [ebp - 0x34]
mov dword [esp], ecx
call sym.evasi0n_gui.exe_xmlReadFile
mov dword [ebp - 0x3c], eax
test eax, eax
jne 0x49b083
mov dword [esp + 8], 0
mov edi, dword [ebp - 0x34]
mov dword [esp + 4], edi
mov dword [esp], str.xmlRelaxNG:_could_not_load__s_n
mov ecx, 0x429
mov edx, esi
mov eax, dword [ebp - 0x2c]
call fcn.00494547
mov dword [ebp - 0x30], 0
jmp 0x49b3d4
mov dword [esp], 0x14
call dword [sym.evasi0n_gui.exe_xmlMalloc]
mov dword [ebp - 0x30], eax
test eax, eax
jne 0x49b0b4
mov edx, str.allocating_include_n
mov eax, dword [ebp - 0x2c]
call fcn.004941d8
mov eax, dword [ebp - 0x3c]
mov dword [esp], eax
call sym.evasi0n_gui.exe_xmlFreeDoc
jmp 0x49b3d4
xor eax, eax
mov edi, dword [ebp - 0x30]
mov ecx, 5
rep stosd dword es:[edi], eax
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x30]
mov dword [edx + 8], ecx
mov edi, dword [ebp - 0x34]
mov dword [esp], edi
call sym.evasi0n_gui.exe_xmlStrdup
mov edx, dword [ebp - 0x30]
mov dword [edx + 4], eax
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ecx + 0x40]
mov dword [edx], eax
mov dword [ecx + 0x40], edx
cmp dword [ebp - 0x38], 0
je 0x49b127
mov edi, dword [ebp - 0x3c]
mov dword [esp], edi
call sym.evasi0n_gui.exe_xmlDocGetRootElement
mov ebx, eax
test eax, eax
je 0x49b127
mov dword [esp + 4], 0x6919ef
mov dword [esp], eax
call sym.evasi0n_gui.exe_xmlHasProp
test eax, eax
jne 0x49b127
mov eax, dword [ebp - 0x38]
mov dword [esp + 8], eax
mov dword [esp + 4], 0x6919ef
mov dword [esp], ebx
call sym.evasi0n_gui.exe_xmlSetProp
mov edx, dword [ebp - 0x2c]
cmp dword [edx + 0x7c], 0
jne 0x49b15e
mov dword [edx + 0x78], 4
mov dword [edx + 0x74], 0
mov dword [esp], 0x10
call dword [sym.evasi0n_gui.exe_xmlMalloc]
mov ecx, dword [ebp - 0x2c]
mov dword [ecx + 0x7c], eax
test eax, eax
jne 0x49b15e
mov edx, str.allocating_include_n
mov eax, ecx
jmp 0x49b190
mov edi, dword [ebp - 0x2c]
mov eax, dword [edi + 0x78]
cmp dword [edi + 0x74], eax
jl 0x49b197
lea edx, [eax + eax]
mov dword [edi + 0x78], edx
shl eax, 3
mov dword [esp + 4], eax
mov eax, dword [edi + 0x7c]
mov dword [esp], eax
call dword [sym.evasi0n_gui.exe_xmlRealloc]
mov dword [edi + 0x7c], eax
test eax, eax
jne 0x49b197
mov edx, str.allocating_include_n
mov eax, edi
call fcn.004941d8
jmp 0x49b1af
mov eax, dword [ebp - 0x2c]
mov edx, dword [eax + 0x74]
mov ecx, eax
mov eax, dword [eax + 0x7c]
mov edi, dword [ebp - 0x30]
mov dword [eax + edx*4], edi
mov dword [ecx + 0x70], edi
inc edx
mov dword [ecx + 0x74], edx
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x2c]
call fcn.0049ba13
mov ecx, eax
test eax, eax
jne 0x49b1cf
mov eax, dword [ebp - 0x2c]
mov dword [eax + 0x70], 0
jmp 0x49b077
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 0x74]
test eax, eax
jle 0x49b208
lea ebx, [eax - 1]
mov dword [edx + 0x74], ebx
test ebx, ebx
je 0x49b1f1
mov edi, edx
mov edx, dword [edx + 0x7c]
mov eax, dword [edx + eax*4 - 8]
mov dword [edi + 0x70], eax
jmp 0x49b1fb
mov eax, dword [ebp - 0x2c]
mov dword [eax + 0x70], 0
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 0x7c]
mov dword [eax + ebx*4], 0
mov dword [esp], ecx
call sym.evasi0n_gui.exe_xmlDocGetRootElement
mov edi, eax
test eax, eax
jne 0x49b236
mov dword [esp + 8], 0
mov ecx, dword [ebp - 0x34]
mov dword [esp + 4], ecx
mov dword [esp], str.xmlRelaxNG:_included_document_is_empty__s_n
mov ecx, 0x3fe
jmp 0x49b06d
cmp dword [eax + 0x24], 0
je 0x49b26d
mov dword [esp + 4], str.grammar
mov eax, dword [eax + 8]
mov dword [esp], eax
call sym.evasi0n_gui.exe_xmlStrEqual
test eax, eax
je 0x49b26d
mov dword [esp + 4], str.http:__relaxng.org_ns_structure_1.0
mov eax, dword [edi + 0x24]
mov eax, dword [eax + 8]
mov dword [esp], eax
call sym.evasi0n_gui.exe_xmlStrEqual
test eax, eax
jne 0x49b28d
mov dword [esp + 8], 0
mov edi, dword [ebp - 0x34]
mov dword [esp + 4], edi
mov dword [esp], str.xmlRelaxNG:_included_document__s_root_is_not_a_grammar_n
mov ecx, 0x40e
jmp 0x49b06d
mov ebx, dword [esi + 0xc]
jmp 0x49b3cc
cmp dword [ebx + 0x24], 0
je 0x49b2fe
mov dword [esp + 4], str.start
mov eax, dword [ebx + 8]
mov dword [esp], eax
call sym.evasi0n_gui.exe_xmlStrEqual
test eax, eax
je 0x49b2fe
mov dword [esp + 4], str.http:__relaxng.org_ns_structure_1.0
mov eax, dword [ebx + 0x24]
mov eax, dword [eax + 8]
mov dword [esp], eax
call sym.evasi0n_gui.exe_xmlStrEqual
test eax, eax
je 0x49b2fe
mov edx, dword [edi + 0xc]
xor ecx, ecx
mov eax, dword [ebp - 0x2c]
call fcn.0049a508
test eax, eax
jne 0x49b3c9
mov dword [esp + 8], 0
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov dword [esp], str.xmlRelaxNG:_include__s_has_a_start_but_not_the_included_grammar_n
mov ecx, 0x453
jmp 0x49b373
cmp dword [ebx + 0x24], 0
je 0x49b3c9
mov dword [esp + 4], str.define
mov eax, dword [ebx + 8]
mov dword [esp], eax
call sym.evasi0n_gui.exe_xmlStrEqual
test eax, eax
je 0x49b3c9
mov dword [esp + 4], str.http:__relaxng.org_ns_structure_1.0
mov eax, dword [ebx + 0x24]
mov eax, dword [eax + 8]
mov dword [esp], eax
call sym.evasi0n_gui.exe_xmlStrEqual
test eax, eax
je 0x49b3c9
mov dword [esp + 4], 0x691974
mov dword [esp], ebx
call sym.evasi0n_gui.exe_xmlGetProp
mov dword [ebp - 0x3c], eax
test eax, eax
jne 0x49b37f
mov dword [esp + 8], 0
mov edx, dword [ebp - 0x34]
mov dword [esp + 4], edx
mov dword [esp], str.xmlRelaxNG:_include__s_has_define_without_name_n
mov ecx, 0x41d
mov edx, esi
mov eax, dword [ebp - 0x2c]
call fcn.00494547
jmp 0x49b3c9
mov eax, dword [ebp - 0x3c]
call fcn.00493a27
mov edx, dword [edi + 0xc]
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x2c]
call fcn.0049a508
test eax, eax
jne 0x49b3bd
mov ecx, dword [ebp - 0x3c]
mov dword [esp + 8], ecx
mov eax, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov dword [esp], str.xmlRelaxNG:_include__s_has_a_define__s_but_not_the_included_grammar_n
mov ecx, 0x3f5
mov edx, esi
mov eax, dword [ebp - 0x2c]
call fcn.00494547
mov edx, dword [ebp - 0x3c]
mov dword [esp], edx
call dword [sym.evasi0n_gui.exe_xmlFree]
mov ebx, dword [ebx + 0x18]
test ebx, ebx
jne 0x49b295
cmp dword [ebp - 0x38], 0
je 0x49b3e6
mov ecx, dword [ebp - 0x38]
mov dword [esp], ecx
call dword [sym.evasi0n_gui.exe_xmlFree]
cmp dword [ebp - 0x30], 0
jne 0x49b419
mov dword [esp + 8], 0
mov edi, dword [ebp - 0x34]
mov dword [esp + 4], edi
mov dword [esp], str.Failed_to_load_include__s_n
mov ecx, 0x413
mov edx, esi
mov eax, dword [ebp - 0x2c]
call fcn.00494547
mov dword [esp], edi
jmp 0x49ab12
mov eax, dword [ebp - 0x34]
mov dword [esp], eax
call dword [sym.evasi0n_gui.exe_xmlFree]
mov edx, dword [ebp - 0x30]
mov dword [esi + 0x34], edx
jmp 0x49b867
mov dword [esp + 4], 0x69261a
mov eax, dword [esi + 8]
mov dword [esp], eax
call sym.evasi0n_gui.exe_xmlStrEqual
test eax, eax
jne 0x49b462
mov dword [esp + 4], 0x692622
mov eax, dword [esi + 8]
mov dword [esp], eax
call sym.evasi0n_gui.exe_xmlStrEqual
test eax, eax
je 0x49b5a3
mov dword [esp + 4], 0x691974
mov dword [esp], esi
call sym.evasi0n_gui.exe_xmlGetProp
mov ebx, eax
test eax, eax
je 0x49b867
cmp dword [esi + 0xc], 0
jne 0x49b4a5
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x691974
mov eax, dword [esi + 0x24]
mov dword [esp + 4], eax
mov dword [esp], esi
call sym.evasi0n_gui.exe_xmlNewChild
mov edi, eax
test eax, eax
jne 0x49b516
jmp 0x49b4f2
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x691974
mov eax, dword [esi + 0x24]
mov dword [esp + 4], eax
mov eax, dword [esi + 0x20]
mov dword [esp], eax
call sym.evasi0n_gui.exe_xmlNewDocNode
mov edi, eax
test eax, eax
je 0x49b4f2
mov dword [esp + 4], eax
mov eax, dword [esi + 0xc]
mov dword [esp], eax
call sym.evasi0n_gui.exe_xmlAddPrevSibling
mov dword [esp], ebx
call sym.evasi0n_gui.exe_xmlNewText
mov dword [esp + 4], eax
mov dword [esp], edi
call sym.evasi0n_gui.exe_xmlAddChild
jmp 0x49b516
mov dword [esp + 8], 0
mov dword [esp + 4], ebx
mov dword [esp], str.Failed_to_create_a_name__s_element_n
mov ecx, 0x3f0
mov edx, esi
mov eax, dword [ebp - 0x2c]
call fcn.00494547
xor edi, edi
mov dword [esp + 4], 0x691974
mov dword [esp], esi
call sym.evasi0n_gui.exe_xmlUnsetProp
mov dword [esp], ebx
call dword [sym.evasi0n_gui.exe_xmlFree]
mov dword [esp + 4], 0x6919ef
mov dword [esp], esi
call sym.evasi0n_gui.exe_xmlGetProp
mov ebx, eax
test eax, eax
je 0x49b56b
test edi, edi
je 0x49b55d
mov dword [esp + 8], eax
mov dword [esp + 4], 0x6919ef
mov dword [esp], edi
call sym.evasi0n_gui.exe_xmlSetProp
mov dword [esp], ebx
call dword [sym.evasi0n_gui.exe_xmlFree]
jmp 0x49b867
mov dword [esp + 4], 0x692622
mov eax, dword [esi + 8]
mov dword [esp], eax
call sym.evasi0n_gui.exe_xmlStrEqual
test eax, eax
je 0x49b867
mov dword [esp + 8], 0x691284
mov dword [esp + 4], 0x6919ef
mov dword [esp], edi
call sym.evasi0n_gui.exe_xmlSetProp
jmp 0x49b867
mov dword [esp + 4], 0x691974
mov eax, dword [esi + 8]
mov dword [esp], eax
call sym.evasi0n_gui.exe_xmlStrEqual
test eax, eax
jne 0x49b5ec
mov dword [esp + 4], str.nsName
mov eax, dword [esi + 8]
mov dword [esp], eax
call sym.evasi0n_gui.exe_xmlStrEqual
test eax, eax
jne 0x49b5ec
mov dword [esp + 4], 0x6925e3
mov eax, dword [esi + 8]
mov dword [esp], eax
call sym.evasi0n_gui.exe_xmlStrEqual
test eax, eax
je 0x49b755
mov dword [esp + 4], 0x6919ef
mov dword [esp], esi
call sym.evasi0n_gui.exe_xmlHasProp
test eax, eax
jne 0x49b644
mov ebx, dword [esi + 0x14]
jmp 0x49b622
mov dword [esp + 4], 0x6919ef
mov dword [esp], ebx
call sym.evasi0n_gui.exe_xmlGetProp
mov edi, eax
test eax, eax
jne 0x49b9e9
mov ebx, dword [ebx + 0x14]
test ebx, ebx
je 0x49b62c
cmp dword [ebx + 4], 1
je 0x49b605
mov dword [esp + 8], 0x691284
mov dword [esp + 4], 0x6919ef
mov dword [esp], esi
call sym.evasi0n_gui.exe_xmlSetProp
mov dword [esp + 4], 0x691974
mov eax, dword [esi + 8]
mov dword [esp], eax
call sym.evasi0n_gui.exe_xmlStrEqual
test eax, eax
je 0x49b708
mov dword [esp], esi
call sym.evasi0n_gui.exe_xmlNodeGetContent
mov edi, eax
test eax, eax
je 0x49b708
lea ecx, [ebp - 0x1c]
mov dword [esp + 4], ecx
mov dword [esp], eax
call sym.evasi0n_gui.exe_xmlSplitQName2
mov ebx, eax
test eax, eax
je 0x49b6ff
mov eax, dword [ebp - 0x1c]
mov dword [esp + 8], eax
mov dword [esp + 4], esi
mov eax, dword [esi + 0x20]
mov dword [esp], eax
call sym.evasi0n_gui.exe_xmlSearchNs
test eax, eax
jne 0x49b6c7
mov dword [esp + 8], 0
mov eax, dword [ebp - 0x1c]
mov dword [esp + 4], eax
mov dword [esp], str.xmlRelaxNGParse:_no_namespace_for_prefix__s_n
mov ecx, 0x449
mov edx, esi
mov eax, dword [ebp - 0x2c]
call fcn.00494547
jmp 0x49b6ea
mov eax, dword [eax + 8]
mov dword [esp + 8], eax
mov dword [esp + 4], 0x6919ef
mov dword [esp], esi
call sym.evasi0n_gui.exe_xmlSetProp
mov dword [esp + 4], ebx
mov dword [esp], esi
call sym.evasi0n_gui.exe_xmlNodeSetContent
mov dword [esp], ebx
call dword [sym.evasi0n_gui.exe_xmlFree]
mov eax, dword [ebp - 0x1c]
mov dword [esp], eax
call dword [sym.evasi0n_gui.exe_xmlFree]
mov dword [esp], edi
call dword [sym.evasi0n_gui.exe_xmlFree]
mov dword [esp + 4], str.nsName
mov eax, dword [esi + 8]
mov dword [esp], eax
call sym.evasi0n_gui.exe_xmlStrEqual
test eax, eax
je 0x49b867
mov edi, dword [ebp - 0x2c]
test byte [edi + 0x21], 2
je 0x49b867
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, edi
jmp 0x49b862
mov dword [esp + 4], str.except
mov eax, dword [esi + 8]
mov dword [esp], eax
call sym.evasi0n_gui.exe_xmlStrEqual
test eax, eax
je 0x49b7fc
cmp esi, dword [ebp - 0x40]
je 0x49b7fc
mov eax, dword [ebp - 0x2c]
mov ebx, dword [eax + 0x20]
mov eax, dword [esi + 0x14]
test eax, eax
je 0x49b7b9
mov dword [esp + 4], str.anyName
mov eax, dword [eax + 8]
mov dword [esp], eax
call sym.evasi0n_gui.exe_xmlStrEqual
test eax, eax
je 0x49b7b9
mov edx, dword [ebp - 0x2c]
or dword [edx + 0x20], 0x100
mov edx, esi
mov eax, dword [ebp - 0x2c]
call fcn.0049a6af
mov ecx, dword [ebp - 0x2c]
mov dword [ecx + 0x20], ebx
jmp 0x49b7f5
mov eax, dword [esi + 0x14]
test eax, eax
je 0x49b867
mov dword [esp + 4], str.nsName
mov eax, dword [eax + 8]
mov dword [esp], eax
call sym.evasi0n_gui.exe_xmlStrEqual
test eax, eax
je 0x49b867
mov edi, dword [ebp - 0x2c]
or dword [edi + 0x20], 0x200
mov edx, esi
mov eax, edi
call fcn.0049a6af
mov dword [edi + 0x20], ebx
xor edx, edx
jmp 0x49b99f
mov dword [esp + 4], str.anyName
mov eax, dword [esi + 8]
mov dword [esp], eax
call sym.evasi0n_gui.exe_xmlStrEqual
test eax, eax
je 0x49b867
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 0x20]
test ah, 1
je 0x49b83c
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 0x49b85d
test ah, 2
je 0x49b867
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.00494547
mov dword [esp + 4], 0x692b10
mov eax, dword [esi + 8]
mov dword [esp], eax
call sym.evasi0n_gui.exe_xmlStrEqual
xor edx, edx
test eax, eax
je 0x49b986
mov dword [esp + 4], 0x6919ef
mov dword [esp], esi
call sym.evasi0n_gui.exe_xmlGetProp
mov edi, eax
mov ebx, dword [esi + 0xc]
mov dword [ebp - 0x30], esi
jmp 0x49b8ed
test edi, edi
je 0x49b8ca
mov dword [esp + 4], 0x6919ef
mov dword [esp], ebx
call sym.evasi0n_gui.exe_xmlHasProp
test eax, eax
jne 0x49b8ca
mov dword [esp + 8], edi
mov dword [esp + 4], 0x6919ef
mov dword [esp], ebx
call sym.evasi0n_gui.exe_xmlSetProp
mov ecx, dword [ebx + 0x18]
mov dword [ebp - 0x34], ecx
mov dword [esp], ebx
call sym.evasi0n_gui.exe_xmlUnlinkNode
mov dword [esp + 4], ebx
mov eax, dword [ebp - 0x30]
mov dword [esp], eax
call sym.evasi0n_gui.exe_xmlAddNextSibling
mov dword [ebp - 0x30], eax
mov ebx, dword [ebp - 0x34]
test ebx, ebx
jne 0x49b89e
test edi, edi
je 0x49b8fe
mov dword [esp], edi
call dword [sym.evasi0n_gui.exe_xmlFree]
mov ecx, dword [esi + 0x30]
mov edx, esi
test ecx, ecx
je 0x49b99f
mov eax, dword [esi + 0x14]
add eax, 0x30
jmp 0x49b915
mov eax, edx
mov edx, dword [eax]
test edx, edx
jne 0x49b913
mov dword [eax], ecx
mov dword [esi + 0x30], 0
jmp 0x49ab18
sub eax, 3
mov edx, esi
cmp eax, 1
ja 0x49b99f
mov eax, dword [esi + 0x28]
call fcn.004939c7
xor edx, edx
test eax, eax
je 0x49b986
mov eax, dword [esi + 0x14]
mov edx, esi
cmp dword [eax + 4], 1
jne 0x49b99f
mov dword [esp + 4], 0x6925e3
mov eax, dword [eax + 8]
mov dword [esp], eax
call sym.evasi0n_gui.exe_xmlStrEqual
xor edx, edx
test eax, eax
jne 0x49b986
mov dword [esp + 4], str.param
mov eax, dword [esi + 0x14]
mov eax, dword [eax + 8]
mov dword [esp], eax
call sym.evasi0n_gui.exe_xmlStrEqual
xor edx, edx
test eax, eax
sete dl
neg edx
and edx, esi
mov eax, dword [esi + 0xc]
test eax, eax
je 0x49b99f
mov ecx, dword [eax + 4]
cmp ecx, 5
je 0x49b99f
cmp ecx, 0x11
je 0x49b99f
cmp ecx, 6
jne 0x49b9b4
mov eax, dword [esi + 0x18]
test eax, eax
jne 0x49b9b4
mov esi, dword [esi + 0x14]
test esi, esi
je 0x49b9be
cmp esi, dword [ebp - 0x40]
jne 0x49b99f
jmp 0x49b9be
mov esi, eax
test esi, esi
jne 0x49a6c7
test edx, edx
je 0x49ba0b
mov dword [esp], edx
mov dword [ebp - 0x44], edx
call sym.evasi0n_gui.exe_xmlUnlinkNode
mov edx, dword [ebp - 0x44]
mov dword [esp], edx
call sym.evasi0n_gui.exe_xmlFreeNode
jmp 0x49ba0b
cmp dword [ebp - 0x30], 0
jne 0x49aeb6
jmp 0x49aec2
mov dword [esp + 8], eax
mov dword [esp + 4], 0x6919ef
mov dword [esp], esi
call sym.evasi0n_gui.exe_xmlSetProp
mov dword [esp], edi
call dword [sym.evasi0n_gui.exe_xmlFree]
jmp 0x49b644
add esp, 0x4c
pop ebx
pop esi
pop edi
leave
ret