Function at 0x49944f
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 0x49a756
test edx, edx
je 0x499481
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 0x49a6c9
mov eax, dword [esi + 0x24]
test eax, eax
je 0x4994af
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 0x49953a
mov eax, dword [esi + 0x14]
mov edx, esi
test eax, eax
je 0x49a73f
cmp dword [eax + 4], 1
jne 0x49a73f
mov dword [esp + 4], 0x675034
mov eax, dword [eax + 8]
mov dword [esp], eax
call sym.evasi0n_gui.exe_xmlStrEqual
test eax, eax
jne 0x499517
mov dword [esp + 4], 0x675ca3
mov eax, dword [esi + 0x14]
mov eax, dword [eax + 8]
mov dword [esp], eax
call sym.evasi0n_gui.exe_xmlStrEqual
test eax, eax
jne 0x499517
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 0x49a73f
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 0x499cc3
mov ebx, dword [esi + 0x2c]
jmp 0x4997ff
mov eax, dword [ebx + 0x18]
mov dword [ebp - 0x34], eax
mov eax, dword [ebx + 0x24]
test eax, eax
je 0x49956a
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 0x4997fc
mov dword [esp + 4], 0x675034
mov eax, dword [ebx + 8]
mov dword [esp], eax
call sym.evasi0n_gui.exe_xmlStrEqual
test eax, eax
je 0x4995fa
mov dword [esp + 4], 0x675cda
mov eax, dword [esi + 8]
mov dword [esp], eax
call sym.evasi0n_gui.exe_xmlStrEqual
test eax, eax
jne 0x4997fc
mov dword [esp + 4], 0x675ce2
mov eax, dword [esi + 8]
mov dword [esp], eax
call sym.evasi0n_gui.exe_xmlStrEqual
test eax, eax
jne 0x4997fc
mov dword [esp + 4], 0x675cec
mov eax, dword [esi + 8]
mov dword [esp], eax
call sym.evasi0n_gui.exe_xmlStrEqual
test eax, eax
jne 0x4997fc
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 0x4997fc
mov dword [esp + 4], str.param
jmp 0x499691
mov dword [esp + 4], 0x675d1d
mov eax, dword [ebx + 8]
mov dword [esp], eax
call sym.evasi0n_gui.exe_xmlStrEqual
test eax, eax
je 0x499636
mov dword [esp + 4], 0x675ca3
mov eax, dword [esi + 8]
mov dword [esp], eax
call sym.evasi0n_gui.exe_xmlStrEqual
test eax, eax
jne 0x4997fc
mov dword [esp + 4], 0x675d22
jmp 0x4996ac
mov dword [esp + 4], 0x675d27
mov eax, dword [ebx + 8]
mov dword [esp], eax
call sym.evasi0n_gui.exe_xmlStrEqual
test eax, eax
je 0x499672
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 0x4997fc
mov dword [esp + 4], 0x675c93
jmp 0x4996ac
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 0x4996de
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 0x4997fc
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 0x4997fc
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 0x4997f2
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 0x4997c1
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 0x4997fc
cmp byte [eax], 0
je 0x4997b6
mov dword [esp], eax
call sym.evasi0n_gui.exe_xmlParseURI
mov dword [ebp - 0x30], eax
test eax, eax
jne 0x499758
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.004932e7
jmp 0x4997b6
mov edx, dword [ebp - 0x30]
cmp dword [edx], 0
jne 0x499781
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.004932e7
mov ecx, dword [ebp - 0x30]
cmp dword [ecx + 0x20], 0
je 0x4997ab
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.004932e7
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 0x4997fc
mov dword [esp + 4], 0x6750af
mov eax, dword [ebx + 8]
mov dword [esp], eax
call sym.evasi0n_gui.exe_xmlStrEqual
test eax, eax
jne 0x4997fc
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.004932e7
mov ebx, dword [ebp - 0x34]
test ebx, ebx
jne 0x499542
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 0x499c76
mov dword [esp + 4], 0x6750af
mov dword [esp], esi
call sym.evasi0n_gui.exe_xmlGetProp
mov dword [ebp - 0x30], eax
test eax, eax
jne 0x499864
mov ebx, dword [esi + 0x14]
jmp 0x499855
mov dword [esp + 4], 0x6750af
mov dword [esp], ebx
call sym.evasi0n_gui.exe_xmlGetProp
test eax, eax
jne 0x499861
mov ebx, dword [ebx + 0x14]
test ebx, ebx
je 0x499864
cmp dword [ebx + 4], 1
je 0x49983e
jmp 0x499864
mov dword [ebp - 0x30], eax
mov dword [esp + 4], 0x675d27
mov dword [esp], esi
call sym.evasi0n_gui.exe_xmlGetProp
mov edi, eax
test eax, eax
jne 0x4998bf
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.004932e7
mov edx, esi
cmp dword [ebp - 0x30], 0
je 0x49a73f
mov edx, dword [ebp - 0x30]
mov dword [esp], edx
call dword [sym.evasi0n_gui.exe_xmlFree]
mov edx, esi
jmp 0x49a73f
mov dword [esp], eax
call sym.evasi0n_gui.exe_xmlParseURI
mov ebx, eax
test eax, eax
jne 0x49990a
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.004932e7
cmp dword [ebp - 0x30], 0
je 0x49a1b1
mov ecx, dword [ebp - 0x30]
mov dword [esp], ecx
call dword [sym.evasi0n_gui.exe_xmlFree]
jmp 0x49a1b1
cmp dword [eax + 0x20], 0
je 0x499951
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.004932e7
cmp dword [ebp - 0x30], 0
je 0x499944
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 0x49a1b1
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 0x4999cc
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.004932e7
cmp dword [ebp - 0x30], 0
je 0x4999b1
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 0x49a73f
mov dword [esp], ebx
jmp 0x4998b2
mov dword [esp], edi
call dword [sym.evasi0n_gui.exe_xmlFree]
test ebx, ebx
je 0x4999e2
mov dword [esp], ebx
call dword [sym.evasi0n_gui.exe_xmlFree]
xor ebx, ebx
mov edi, dword [ebp - 0x2c]
jmp 0x499a23
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 0x499a22
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 0x499a65
inc ebx
cmp ebx, dword [edi + 0x64]
jl 0x4999e9
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 0x499a74
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.004932e7
jmp 0x499c14
mov dword [esp], 0x18
call dword [sym.evasi0n_gui.exe_xmlMalloc]
mov ebx, eax
test eax, eax
jne 0x499abd
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.004932e7
mov edi, dword [ebp - 0x38]
mov dword [esp], edi
call sym.evasi0n_gui.exe_xmlFreeDoc
jmp 0x499c14
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 0x499b30
mov edi, dword [ebp - 0x38]
mov dword [esp], edi
call sym.evasi0n_gui.exe_xmlDocGetRootElement
mov edi, eax
test eax, eax
je 0x499b30
mov dword [esp + 4], 0x6750af
mov dword [esp], eax
call sym.evasi0n_gui.exe_xmlHasProp
test eax, eax
jne 0x499b30
mov eax, dword [ebp - 0x30]
mov dword [esp + 8], eax
mov dword [esp + 4], 0x6750af
mov dword [esp], edi
call sym.evasi0n_gui.exe_xmlSetProp
mov edx, dword [ebp - 0x2c]
cmp dword [edx + 0x6c], 0
jne 0x499b67
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 0x499b67
mov edx, str.adding_document_n
mov eax, ecx
jmp 0x499b99
mov edi, dword [ebp - 0x2c]
mov eax, dword [edi + 0x68]
cmp dword [edi + 0x64], eax
jl 0x499ba0
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 0x499ba0
mov edx, str.adding_document_n
mov eax, edi
call fcn.00492f78
jmp 0x499bb7
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.0049a7b3
test eax, eax
jne 0x499bd2
mov edi, dword [ebp - 0x2c]
mov dword [edi + 0x60], 0
jmp 0x499c14
mov eax, dword [ebp - 0x2c]
mov edx, dword [eax + 0x64]
test edx, edx
jle 0x49a77a
lea ecx, [edx - 1]
mov dword [eax + 0x64], ecx
test ecx, ecx
je 0x499bf8
mov edi, eax
mov eax, dword [eax + 0x6c]
mov eax, dword [eax + edx*4 - 8]
mov dword [edi + 0x60], eax
jmp 0x499c02
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 0x49a77a
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.004932e7
cmp dword [ebp - 0x30], 0
je 0x499c4b
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 0x4998b2
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 0x49a607
mov dword [esp + 4], 0x675c93
mov eax, dword [esi + 8]
mov dword [esp], eax
call sym.evasi0n_gui.exe_xmlStrEqual
test eax, eax
je 0x49a1d0
mov dword [esp + 4], 0x675d27
mov dword [esp], esi
call sym.evasi0n_gui.exe_xmlGetProp
mov ebx, eax
test eax, eax
jne 0x499cd2
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.004932e7
jmp 0x4998b8
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 0x499d30
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.004932e7
mov dword [esp], ebx
call dword [sym.evasi0n_gui.exe_xmlFree]
mov edx, esi
test edi, edi
jne 0x49a1b1
jmp 0x49a73f
mov dword [esp], ebx
call dword [sym.evasi0n_gui.exe_xmlFree]
test edi, edi
je 0x499d46
mov dword [esp], edi
call dword [sym.evasi0n_gui.exe_xmlFree]
mov dword [esp + 4], 0x6750af
mov dword [esp], esi
call sym.evasi0n_gui.exe_xmlGetProp
mov dword [ebp - 0x38], eax
test eax, eax
jne 0x499d88
mov ebx, dword [esi + 0x14]
jmp 0x499d79
mov dword [esp + 4], 0x6750af
mov dword [esp], ebx
call sym.evasi0n_gui.exe_xmlGetProp
test eax, eax
jne 0x499d85
mov ebx, dword [ebx + 0x14]
test ebx, ebx
je 0x499d88
cmp dword [ebx + 4], 1
je 0x499d62
jmp 0x499d88
mov dword [ebp - 0x38], eax
xor ebx, ebx
mov edi, dword [ebp - 0x2c]
jmp 0x499dcb
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 0x499dca
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 0x499e0f
inc ebx
cmp ebx, dword [edi + 0x74]
jl 0x499d8f
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 0x499e23
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.004932e7
mov dword [ebp - 0x30], 0
jmp 0x49a174
mov dword [esp], 0x14
call dword [sym.evasi0n_gui.exe_xmlMalloc]
mov dword [ebp - 0x30], eax
test eax, eax
jne 0x499e54
mov edx, str.allocating_include_n
mov eax, dword [ebp - 0x2c]
call fcn.00492f78
mov eax, dword [ebp - 0x3c]
mov dword [esp], eax
call sym.evasi0n_gui.exe_xmlFreeDoc
jmp 0x49a174
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 0x499ec7
mov edi, dword [ebp - 0x3c]
mov dword [esp], edi
call sym.evasi0n_gui.exe_xmlDocGetRootElement
mov ebx, eax
test eax, eax
je 0x499ec7
mov dword [esp + 4], 0x6750af
mov dword [esp], eax
call sym.evasi0n_gui.exe_xmlHasProp
test eax, eax
jne 0x499ec7
mov eax, dword [ebp - 0x38]
mov dword [esp + 8], eax
mov dword [esp + 4], 0x6750af
mov dword [esp], ebx
call sym.evasi0n_gui.exe_xmlSetProp
mov edx, dword [ebp - 0x2c]
cmp dword [edx + 0x7c], 0
jne 0x499efe
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 0x499efe
mov edx, str.allocating_include_n
mov eax, ecx
jmp 0x499f30
mov edi, dword [ebp - 0x2c]
mov eax, dword [edi + 0x78]
cmp dword [edi + 0x74], eax
jl 0x499f37
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 0x499f37
mov edx, str.allocating_include_n
mov eax, edi
call fcn.00492f78
jmp 0x499f4f
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.0049a7b3
mov ecx, eax
test eax, eax
jne 0x499f6f
mov eax, dword [ebp - 0x2c]
mov dword [eax + 0x70], 0
jmp 0x499e17
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 0x74]
test eax, eax
jle 0x499fa8
lea ebx, [eax - 1]
mov dword [edx + 0x74], ebx
test ebx, ebx
je 0x499f91
mov edi, edx
mov edx, dword [edx + 0x7c]
mov eax, dword [edx + eax*4 - 8]
mov dword [edi + 0x70], eax
jmp 0x499f9b
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 0x499fd6
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 0x499e0d
cmp dword [eax + 0x24], 0
je 0x49a00d
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 0x49a00d
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 0x49a02d
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 0x499e0d
mov ebx, dword [esi + 0xc]
jmp 0x49a16c
cmp dword [ebx + 0x24], 0
je 0x49a09e
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 0x49a09e
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 0x49a09e
mov edx, dword [edi + 0xc]
xor ecx, ecx
mov eax, dword [ebp - 0x2c]
call fcn.004992a8
test eax, eax
jne 0x49a169
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 0x49a113
cmp dword [ebx + 0x24], 0
je 0x49a169
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 0x49a169
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 0x49a169
mov dword [esp + 4], 0x675034
mov dword [esp], ebx
call sym.evasi0n_gui.exe_xmlGetProp
mov dword [ebp - 0x3c], eax
test eax, eax
jne 0x49a11f
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.004932e7
jmp 0x49a169
mov eax, dword [ebp - 0x3c]
call fcn.004927c7
mov edx, dword [edi + 0xc]
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x2c]
call fcn.004992a8
test eax, eax
jne 0x49a15d
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.004932e7
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 0x49a035
cmp dword [ebp - 0x38], 0
je 0x49a186
mov ecx, dword [ebp - 0x38]
mov dword [esp], ecx
call dword [sym.evasi0n_gui.exe_xmlFree]
cmp dword [ebp - 0x30], 0
jne 0x49a1b9
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.004932e7
mov dword [esp], edi
jmp 0x4998b2
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 0x49a607
mov dword [esp + 4], 0x675cda
mov eax, dword [esi + 8]
mov dword [esp], eax
call sym.evasi0n_gui.exe_xmlStrEqual
test eax, eax
jne 0x49a202
mov dword [esp + 4], 0x675ce2
mov eax, dword [esi + 8]
mov dword [esp], eax
call sym.evasi0n_gui.exe_xmlStrEqual
test eax, eax
je 0x49a343
mov dword [esp + 4], 0x675034
mov dword [esp], esi
call sym.evasi0n_gui.exe_xmlGetProp
mov ebx, eax
test eax, eax
je 0x49a607
cmp dword [esi + 0xc], 0
jne 0x49a245
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x675034
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 0x49a2b6
jmp 0x49a292
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x675034
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 0x49a292
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 0x49a2b6
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.004932e7
xor edi, edi
mov dword [esp + 4], 0x675034
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], 0x6750af
mov dword [esp], esi
call sym.evasi0n_gui.exe_xmlGetProp
mov ebx, eax
test eax, eax
je 0x49a30b
test edi, edi
je 0x49a2fd
mov dword [esp + 8], eax
mov dword [esp + 4], 0x6750af
mov dword [esp], edi
call sym.evasi0n_gui.exe_xmlSetProp
mov dword [esp], ebx
call dword [sym.evasi0n_gui.exe_xmlFree]
jmp 0x49a607
mov dword [esp + 4], 0x675ce2
mov eax, dword [esi + 8]
mov dword [esp], eax
call sym.evasi0n_gui.exe_xmlStrEqual
test eax, eax
je 0x49a607
mov dword [esp + 8], 0x674944
mov dword [esp + 4], 0x6750af
mov dword [esp], edi
call sym.evasi0n_gui.exe_xmlSetProp
jmp 0x49a607
mov dword [esp + 4], 0x675034
mov eax, dword [esi + 8]
mov dword [esp], eax
call sym.evasi0n_gui.exe_xmlStrEqual
test eax, eax
jne 0x49a38c
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 0x49a38c
mov dword [esp + 4], 0x675ca3
mov eax, dword [esi + 8]
mov dword [esp], eax
call sym.evasi0n_gui.exe_xmlStrEqual
test eax, eax
je 0x49a4f5
mov dword [esp + 4], 0x6750af
mov dword [esp], esi
call sym.evasi0n_gui.exe_xmlHasProp
test eax, eax
jne 0x49a3e4
mov ebx, dword [esi + 0x14]
jmp 0x49a3c2
mov dword [esp + 4], 0x6750af
mov dword [esp], ebx
call sym.evasi0n_gui.exe_xmlGetProp
mov edi, eax
test eax, eax
jne 0x49a789
mov ebx, dword [ebx + 0x14]
test ebx, ebx
je 0x49a3cc
cmp dword [ebx + 4], 1
je 0x49a3a5
mov dword [esp + 8], 0x674944
mov dword [esp + 4], 0x6750af
mov dword [esp], esi
call sym.evasi0n_gui.exe_xmlSetProp
mov dword [esp + 4], 0x675034
mov eax, dword [esi + 8]
mov dword [esp], eax
call sym.evasi0n_gui.exe_xmlStrEqual
test eax, eax
je 0x49a4a8
mov dword [esp], esi
call sym.evasi0n_gui.exe_xmlNodeGetContent
mov edi, eax
test eax, eax
je 0x49a4a8
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 0x49a49f
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 0x49a467
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.004932e7
jmp 0x49a48a
mov eax, dword [eax + 8]
mov dword [esp + 8], eax
mov dword [esp + 4], 0x6750af
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 0x49a607
mov edi, dword [ebp - 0x2c]
test byte [edi + 0x21], 2
je 0x49a607
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 0x49a602
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 0x49a59c
cmp esi, dword [ebp - 0x40]
je 0x49a59c
mov eax, dword [ebp - 0x2c]
mov ebx, dword [eax + 0x20]
mov eax, dword [esi + 0x14]
test eax, eax
je 0x49a559
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 0x49a559
mov edx, dword [ebp - 0x2c]
or dword [edx + 0x20], 0x100
mov edx, esi
mov eax, dword [ebp - 0x2c]
call fcn.0049944f
mov ecx, dword [ebp - 0x2c]
mov dword [ecx + 0x20], ebx
jmp 0x49a595
mov eax, dword [esi + 0x14]
test eax, eax
je 0x49a607
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 0x49a607
mov edi, dword [ebp - 0x2c]
or dword [edi + 0x20], 0x200
mov edx, esi
mov eax, edi
call fcn.0049944f
mov dword [edi + 0x20], ebx
xor edx, edx
jmp 0x49a73f
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 0x49a607
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 0x20]
test ah, 1
je 0x49a5dc
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 0x49a5fd
test ah, 2
je 0x49a607
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.004932e7
mov dword [esp + 4], 0x6761d0
mov eax, dword [esi + 8]
mov dword [esp], eax
call sym.evasi0n_gui.exe_xmlStrEqual
xor edx, edx
test eax, eax
je 0x49a726
mov dword [esp + 4], 0x6750af
mov dword [esp], esi
call sym.evasi0n_gui.exe_xmlGetProp
mov edi, eax
mov ebx, dword [esi + 0xc]
mov dword [ebp - 0x30], esi
jmp 0x49a68d
test edi, edi
je 0x49a66a
mov dword [esp + 4], 0x6750af
mov dword [esp], ebx
call sym.evasi0n_gui.exe_xmlHasProp
test eax, eax
jne 0x49a66a
mov dword [esp + 8], edi
mov dword [esp + 4], 0x6750af
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 0x49a63e
test edi, edi
je 0x49a69e
mov dword [esp], edi
call dword [sym.evasi0n_gui.exe_xmlFree]
mov ecx, dword [esi + 0x30]
mov edx, esi
test ecx, ecx
je 0x49a73f
mov eax, dword [esi + 0x14]
add eax, 0x30
jmp 0x49a6b5
mov eax, edx
mov edx, dword [eax]
test edx, edx
jne 0x49a6b3
mov dword [eax], ecx
mov dword [esi + 0x30], 0
jmp 0x4998b8
sub eax, 3
mov edx, esi
cmp eax, 1
ja 0x49a73f
mov eax, dword [esi + 0x28]
call fcn.00492767
xor edx, edx
test eax, eax
je 0x49a726
mov eax, dword [esi + 0x14]
mov edx, esi
cmp dword [eax + 4], 1
jne 0x49a73f
mov dword [esp + 4], 0x675ca3
mov eax, dword [eax + 8]
mov dword [esp], eax
call sym.evasi0n_gui.exe_xmlStrEqual
xor edx, edx
test eax, eax
jne 0x49a726
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 0x49a73f
mov ecx, dword [eax + 4]
cmp ecx, 5
je 0x49a73f
cmp ecx, 0x11
je 0x49a73f
cmp ecx, 6
jne 0x49a754
mov eax, dword [esi + 0x18]
test eax, eax
jne 0x49a754
mov esi, dword [esi + 0x14]
test esi, esi
je 0x49a75e
cmp esi, dword [ebp - 0x40]
jne 0x49a73f
jmp 0x49a75e
mov esi, eax
test esi, esi
jne 0x499467
test edx, edx
je 0x49a7ab
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 0x49a7ab
cmp dword [ebp - 0x30], 0
jne 0x499c56
jmp 0x499c62
mov dword [esp + 8], eax
mov dword [esp + 4], 0x6750af
mov dword [esp], esi
call sym.evasi0n_gui.exe_xmlSetProp
mov dword [esp], edi
call dword [sym.evasi0n_gui.exe_xmlFree]
jmp 0x49a3e4
add esp, 0x4c
pop ebx
pop esi
pop edi
leave
ret