Function at 0x404840
Capabilities:
Query environment variable

Disassembly:
sub esp, 8
push esi
mov esi, dword [esp + 0x10]
xor eax, eax
cmp esi, 1
mov dword [esp + 4], eax
mov dword [esp + 8], eax
jg 0x40486c
mov eax, dword [esp + 0x14]
mov eax, dword [eax]
call fcn.00404630
mov eax, 1
pop esi
add esp, 8
ret
push ebx
push ebp
push edi
push 0x5093
call sub.libxml2.dll_xmlCheckVersion
mov ebp, dword [esp + 0x24]
mov ebx, 1
add esp, 4
cmp esi, ebx
jle 0x405698
lea ecx, [ecx]
mov eax, dword [ebp + ebx*4]
mov edi, 0x407b70
mov esi, eax
mov ecx, 2
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x405698
cmp byte [eax], 0x2d
jne 0x40568b
mov edi, str._debug
mov esi, eax
mov ecx, 7
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x405685
mov edi, str.__debug
mov esi, eax
mov ecx, 8
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x405685
mov edi, str._shell
mov esi, eax
mov ecx, 7
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x405673
mov edi, str.__shell
mov esi, eax
mov ecx, 8
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x405673
mov edi, str._copy
mov esi, eax
mov ecx, 6
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x40566b
mov edi, str.__copy
mov esi, eax
mov ecx, 7
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x40566b
mov edi, str._recover
mov esi, eax
mov ecx, 9
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x40564f
mov edi, str.__recover
mov esi, eax
mov ecx, 0xa
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x40564f
mov edi, str._noent
mov esi, eax
mov ecx, 7
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x4052c1
mov edi, str.__noent
mov esi, eax
mov ecx, 8
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x4052c1
mov edi, str._nsclean
mov esi, eax
mov ecx, 9
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x405643
mov edi, str.__nsclean
mov esi, eax
mov ecx, 0xa
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x405643
mov edi, str._nocdata
mov esi, eax
mov ecx, 9
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x405637
mov edi, str.__nocdata
mov esi, eax
mov ecx, 0xa
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x405637
mov edi, str._nodict
mov esi, eax
mov ecx, 8
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x40562b
mov edi, str.__nodict
mov esi, eax
mov ecx, 9
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x40562b
mov edi, str._version
mov esi, eax
mov ecx, 9
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x405615
mov edi, str.__version
mov esi, eax
mov ecx, 0xa
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x405615
mov edi, str._noout
mov esi, eax
mov ecx, 7
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x405307
mov edi, str.__noout
mov esi, eax
mov ecx, 8
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x405307
mov edi, 0x409008
mov esi, eax
mov ecx, 3
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x405608
mov edi, str._output
mov esi, eax
mov ecx, 8
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x405608
mov edi, str.__output
mov esi, eax
mov ecx, 9
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x405608
mov edi, str._htmlout
mov esi, eax
mov ecx, 9
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x4055fd
mov edi, str.__htmlout
mov esi, eax
mov ecx, 0xa
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x4055fd
mov edi, str._nowrap
mov esi, eax
mov ecx, 8
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x4055f2
mov edi, str.__nowrap
mov esi, eax
mov ecx, 9
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x4055f2
mov edi, str._html
mov esi, eax
mov ecx, 6
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x4055e7
mov edi, str.__html
mov esi, eax
mov ecx, 7
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x4055e7
mov edi, str._xmlout
mov esi, eax
mov ecx, 8
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x4055dc
mov edi, str.__xmlout
mov esi, eax
mov ecx, 9
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x4055dc
mov edi, str._loaddtd
mov esi, eax
mov ecx, 9
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x405572
mov edi, str.__loaddtd
mov esi, eax
mov ecx, 0xa
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x405572
mov edi, str._dtdattr
mov esi, eax
mov ecx, 9
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x4055b0
mov edi, str.__dtdattr
mov esi, eax
mov ecx, 0xa
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x4055b0
mov edi, str._valid
mov esi, eax
mov ecx, 7
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x405591
mov edi, str.__valid
mov esi, eax
mov ecx, 8
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x405591
mov edi, str._postvalid
mov esi, eax
mov ecx, 0xb
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x40556c
mov edi, str.__postvalid
mov esi, eax
mov ecx, 0xc
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x40556c
mov edi, str._dtdvalid
mov esi, eax
mov ecx, 0xa
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x405560
mov edi, str.__dtdvalid
mov esi, eax
mov ecx, 0xb
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x405560
mov edi, str._dtdvalidfpi
mov esi, eax
mov ecx, 0xd
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x405553
mov edi, str.__dtdvalidfpi
mov esi, eax
mov ecx, 0xe
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x405553
mov edi, str._dropdtd
mov esi, eax
mov ecx, 9
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x405548
mov edi, str.__dropdtd
mov esi, eax
mov ecx, 0xa
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x405548
mov edi, str._insert
mov esi, eax
mov ecx, 8
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x40553d
mov edi, str.__insert
mov esi, eax
mov ecx, 9
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x40553d
mov edi, str._timing
mov esi, eax
mov ecx, 8
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x405532
mov edi, str.__timing
mov esi, eax
mov ecx, 9
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x405532
mov edi, str._auto
mov esi, eax
mov ecx, 6
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x405527
mov edi, str.__auto
mov esi, eax
mov ecx, 7
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x405527
mov edi, str._repeat
mov esi, eax
mov ecx, 8
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x4054ff
mov edi, str.__repeat
mov esi, eax
mov ecx, 9
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x4054ff
mov edi, str._push
mov esi, eax
mov ecx, 6
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x4054f4
mov edi, str.__push
mov esi, eax
mov ecx, 7
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x4054f4
mov edi, str._testIO
mov esi, eax
mov ecx, 8
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x4054e9
mov edi, str.__testIO
mov esi, eax
mov ecx, 9
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x4054e9
mov edi, str._xinclude
mov esi, eax
mov ecx, 0xa
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x4054c8
mov edi, str.__xinclude
mov esi, eax
mov ecx, 0xb
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x4054c8
mov edi, str._noxincludenode
mov esi, eax
mov ecx, 0x10
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x4054a7
mov edi, str.__noxincludenode
mov esi, eax
mov ecx, 0x11
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x4054a7
mov edi, str._compress
mov esi, eax
mov ecx, 0xa
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x40548b
mov edi, str.__compress
mov esi, eax
mov ecx, 0xb
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x40548b
mov edi, str._nowarning
mov esi, eax
mov ecx, 0xb
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x405464
mov edi, str.__nowarning
mov esi, eax
mov ecx, 0xc
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x405464
mov edi, str._pedantic
mov esi, eax
mov ecx, 0xa
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x40543b
mov edi, str.__pedantic
mov esi, eax
mov ecx, 0xb
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x40543b
mov edi, str._debugent
mov esi, eax
mov ecx, 0xa
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x405425
mov edi, str.__debugent
mov esi, eax
mov ecx, 0xb
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x405425
mov edi, str._c14n
mov esi, eax
mov ecx, 6
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x405406
mov edi, str.__c14n
mov esi, eax
mov ecx, 7
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x405406
mov edi, str._exc_c14n
mov esi, eax
mov ecx, 0xa
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x4053e7
mov edi, str.__exc_c14n
mov esi, eax
mov ecx, 0xb
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x4053e7
mov edi, str._catalogs
mov esi, eax
mov ecx, 0xa
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x4053dc
mov edi, str.__catalogs
mov esi, eax
mov ecx, 0xb
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x4053dc
mov edi, str._nocatalogs
mov esi, eax
mov ecx, 0xc
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x4053d1
mov edi, str.__nocatalogs
mov esi, eax
mov ecx, 0xd
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x4053d1
mov edi, str._encode
mov esi, eax
mov ecx, 8
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x4053b0
mov edi, str.__encode
mov esi, eax
mov ecx, 9
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x4053b0
mov edi, str._noblanks
mov esi, eax
mov ecx, 0xa
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x405394
mov edi, str.__noblanks
mov esi, eax
mov ecx, 0xb
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x405394
mov edi, str._maxmem
mov esi, eax
mov ecx, 8
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x405346
mov edi, str.__maxmem
mov esi, eax
mov ecx, 9
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x405346
mov edi, str._format
mov esi, eax
mov ecx, 8
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x40531d
mov edi, str.__format
mov esi, eax
mov ecx, 9
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x40531d
mov edi, str._stream
mov esi, eax
mov ecx, 8
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x405312
mov edi, str.__stream
mov esi, eax
mov ecx, 9
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x405312
mov edi, str._walker
mov esi, eax
mov ecx, 8
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x405301
mov edi, str.__walker
mov esi, eax
mov ecx, 9
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x405301
mov edi, str._sax1
mov esi, eax
mov ecx, 6
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x4052f6
mov edi, str.__sax1
mov esi, eax
mov ecx, 7
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x4052f6
mov edi, str._sax
mov esi, eax
mov ecx, 5
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x4052eb
mov edi, str.__sax
mov esi, eax
mov ecx, 6
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x4052eb
mov edi, str._chkregister
mov esi, eax
mov ecx, 0xd
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x4052e0
mov edi, str.__chkregister
mov esi, eax
mov ecx, 0xe
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x4052e0
mov edi, str._relaxng
mov esi, eax
mov ecx, 9
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x4052b6
mov edi, str.__relaxng
mov esi, eax
mov ecx, 0xa
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x4052b6
mov edi, str._schema
mov esi, eax
mov ecx, 8
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x4052a1
mov edi, str.__schema
mov esi, eax
mov ecx, 9
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x4052a1
mov edi, str._schematron
mov esi, eax
mov ecx, 0xc
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x405286
mov edi, str.__schematron
mov esi, eax
mov ecx, 0xd
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x405286
mov edi, str._nonet
mov esi, eax
mov ecx, 7
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x405262
mov edi, str.__nonet
mov esi, eax
mov ecx, 8
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x405262
mov edi, str._nocompact
mov esi, eax
mov ecx, 0xb
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x405253
mov edi, str.__nocompact
mov esi, eax
mov ecx, 0xc
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x405253
mov edi, str._load_trace
mov esi, eax
mov ecx, 0xc
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x405248
mov edi, str.__load_trace
mov esi, eax
mov ecx, 0xd
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x405248
mov edi, str._path
mov esi, eax
mov ecx, 6
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x405239
mov edi, str.__path
mov esi, eax
mov ecx, 7
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x405239
mov edi, str._pattern
mov esi, eax
mov ecx, 9
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x405229
mov esi, eax
mov edi, str.__pattern
mov ecx, 0xa
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x4056cf
mov ecx, dword [ebp + ebx*4 + 4]
inc ebx
mov dword [0x4176cc], ecx
jmp 0x40568b
mov ecx, dword [ebp + ebx*4 + 4]
inc ebx
call section..text
jmp 0x40568b
inc dword [0x4176e0]
jmp 0x40568b
and dword [section..data], 0xfffeffff
jmp 0x40568b
mov edx, dword [section..data]
or edx, 0x800
push 0x40621a
mov dword [section..data], edx
call sub.libxml2.dll_xmlSetExternalEntityLoader
add esp, 4
jmp 0x40568b
mov eax, dword [0x417624]
mov edx, dword [ebp + ebx*4 + 4]
inc ebx
inc eax
mov dword [0x417664], edx
mov dword [0x417624], eax
jmp 0x40568b
mov eax, dword [ebp + ebx*4 + 4]
inc ebx
mov dword [0x41765c], eax
inc dword [0x417624]
jmp 0x40568b
mov ecx, dword [ebp + ebx*4 + 4]
inc ebx
mov dword [0x417654], ecx
mov ecx, dword [0x417624]
mov eax, dword [section..data]
inc ecx
or eax, 2
mov dword [0x417624], ecx
mov dword [section..data], eax
jmp 0x40568b
inc dword [0x4176c0]
jmp 0x40568b
inc dword [0x4176d8]
jmp 0x40568b
inc dword [0x4176c8]
jmp 0x40568b
inc dword [0x4176bc]
inc dword [0x41762c]
jmp 0x40568b
inc dword [0x4176b8]
jmp 0x40568b
mov esi, dword [0x417628]
mov edx, dword [0x417634]
inc esi
inc edx
push 0
mov dword [0x417628], esi
mov dword [0x417634], edx
call sub.libxml2.dll_xmlKeepBlanksDefault
add esp, 4
jmp 0x40568b
mov edx, dword [ebp + ebx*4 + 4]
push 0x417618
inc ebx
push 0x408c20
push edx
call dword [sym.imp.msvcrt.dll_sscanf]
add esp, 0xc
cmp eax, 1
jne 0x405385
push 0x401360
push 0x401300
push 0x4012a0
push 0x401290
call sub.libxml2.dll_xmlMemSetup
add esp, 0x10
jmp 0x40568b
mov dword [0x417618], 0
jmp 0x40568b
mov edx, dword [0x417628]
inc edx
push 0
mov dword [0x417628], edx
call sub.libxml2.dll_xmlKeepBlanksDefault
add esp, 4
jmp 0x40568b
mov eax, dword [ebp + ebx*4 + 4]
inc ebx
push str.DVEnc
push str.UTF_8
mov dword [0x417688], eax
call sub.libxml2.dll_xmlAddEncodingAlias
add esp, 8
jmp 0x40568b
inc dword [0x4176ac]
jmp 0x40568b
inc dword [0x4176a8]
jmp 0x40568b
mov ecx, dword [0x4176b4]
mov eax, dword [section..data]
inc ecx
or eax, 0xe
mov dword [0x4176b4], ecx
mov dword [section..data], eax
jmp 0x40568b
mov ecx, dword [0x4176b0]
mov eax, dword [section..data]
inc ecx
or eax, 0xe
mov dword [0x4176b0], ecx
mov dword [section..data], eax
jmp 0x40568b
inc dword [0x417610]
call sub.libxml2.dll___xmlParserDebugEntities
mov dword [eax], 1
jmp 0x40568b
call sub.libxml2.dll___xmlGetWarningsDefaultValue
push 1
mov dword [eax], 1
call sub.libxml2.dll_xmlPedanticParserDefault
mov eax, dword [section..data]
add esp, 4
or eax, 0x80
mov dword [section..data], eax
jmp 0x40568b
call sub.libxml2.dll___xmlGetWarningsDefaultValue
push 0
mov dword [eax], 0
call sub.libxml2.dll_xmlPedanticParserDefault
mov eax, dword [section..data]
add esp, 4
or eax, 0x40
mov dword [section..data], eax
jmp 0x40568b
mov edx, dword [0x41763c]
inc edx
push 9
mov dword [0x41763c], edx
call sub.libxml2.dll_xmlSetCompressMode
add esp, 4
jmp 0x40568b
mov ecx, dword [0x41768c]
mov eax, dword [section..data]
inc ecx
or eax, 0x8400
mov dword [0x41768c], ecx
mov dword [section..data], eax
jmp 0x40568b
mov ecx, dword [0x41768c]
mov eax, dword [section..data]
inc ecx
or eax, 0x400
mov dword [0x41768c], ecx
mov dword [section..data], eax
jmp 0x40568b
inc dword [0x417684]
jmp 0x40568b
inc dword [0x417680]
jmp 0x40568b
mov eax, dword [0x41766c]
test eax, eax
je 0x405518
lea ecx, [eax + eax*4]
shl ecx, 1
mov dword [0x41766c], ecx
jmp 0x40568b
mov dword [0x41766c], 0x64
jmp 0x40568b
inc dword [0x4176a0]
jmp 0x40568b
inc dword [0x41769c]
jmp 0x40568b
inc dword [0x417670]
jmp 0x40568b
inc dword [0x4176a4]
jmp 0x40568b
mov edx, dword [ebp + ebx*4 + 4]
inc ebx
mov dword [0x417650], edx
jmp 0x405572
mov eax, dword [ebp + ebx*4 + 4]
inc ebx
mov dword [0x41764c], eax
jmp 0x405572
inc dword [0x417648]
mov ecx, dword [0x417694]
mov eax, dword [section..data]
inc ecx
or eax, 4
mov dword [0x417694], ecx
mov dword [section..data], eax
jmp 0x40568b
mov ecx, dword [0x417644]
mov eax, dword [section..data]
inc ecx
or eax, 0x10
mov dword [0x417644], ecx
mov dword [section..data], eax
jmp 0x40568b
mov edx, dword [0x417694]
mov ecx, dword [0x417690]
mov eax, dword [section..data]
inc edx
inc ecx
or eax, 8
mov dword [0x417694], edx
mov dword [0x417690], ecx
mov dword [section..data], eax
jmp 0x40568b
inc dword [0x417678]
jmp 0x40568b
inc dword [0x417674]
jmp 0x40568b
inc dword [0x417630]
jmp 0x40568b
inc dword [0x41767c]
jmp 0x40568b
mov ecx, dword [ebp + ebx*4 + 4]
inc ebx
mov dword [0x417638], ecx
jmp 0x40568b
mov edx, dword [ebp]
push edx
call fcn.004041d0
add esp, 4
mov dword [esp + 0x14], 1
jmp 0x40568b
or dword [section..data], 0x1000
jmp 0x40568b
or dword [section..data], 0x4000
jmp 0x40568b
or dword [section..data], 0x2000
jmp 0x40568b
mov ecx, dword [0x417620]
mov eax, dword [section..data]
inc ecx
or eax, 1
mov dword [0x417620], ecx
mov dword [section..data], eax
jmp 0x40568b
inc dword [0x41761c]
jmp 0x40568b
inc dword [0x41760c]
mov dword [0x41762c], 1
jmp 0x40568b
inc dword [0x417614]
mov eax, dword [esp + 0x1c]
inc ebx
cmp ebx, eax
jl 0x404890
mov eax, dword [0x4176ac]
test eax, eax
mov ebx, dword [sym.imp.msvcrt.dll_fprintf]
mov esi, dword [sym.imp.msvcrt.dll_getenv]
jne 0x405715
mov eax, dword [0x4176a8]
test eax, eax
je 0x405715
push str.SGML_CATALOG_FILES
call esi
add esp, 4
test eax, eax
je 0x405701
push eax
call sub.libxml2.dll_xmlLoadCatalogs
add esp, 4
jmp 0x405715
mov eax, dword [ebp + ebx*4]
mov ecx, dword [sym.imp.msvcrt.dll__iob]
push eax
add ecx, 0x40
push str.Unknown_option__s_n
push ecx
call dword [sym.imp.msvcrt.dll_fprintf]
mov eax, dword [ebp]
add esp, 0xc
call fcn.00404630
pop edi
pop ebp
pop ebx
mov eax, 1
pop esi
add esp, 8
ret
mov edx, dword [sym.imp.msvcrt.dll__iob]
add edx, 0x40
push str.Variable__SGML_CATALOG_FILES_not_set_n
push edx
call ebx
add esp, 8
mov eax, dword [0x4176c8]
test eax, eax
je 0x405722
push 1
jmp 0x405724
push 2
call sub.libxml2.dll_xmlSAXDefaultVersion
mov eax, dword [0x4176c0]
add esp, 4
test eax, eax
je 0x40574c
push 0x4047f0
call sub.libxml2.dll_xmlRegisterNodeDefault
push 0x404820
call sub.libxml2.dll_xmlDeregisterNodeDefault
add esp, 8
push str.XMLLINT_INDENT
call esi
mov esi, eax
add esp, 4
test esi, esi
je 0x405763
call sub.libxml2.dll___xmlTreeIndentString
mov dword [eax], esi
call sub.libxml2.dll_xmlGetExternalEntityLoader
push 0x4010a0
mov dword [0x4176e4], eax
call sub.libxml2.dll_xmlSetExternalEntityLoader
push 1
call sub.libxml2.dll_xmlLineNumbersDefault
mov eax, dword [0x417694]
add esp, 8
test eax, eax
je 0x405792
call sub.libxml2.dll___xmlLoadExtDtdDefaultValue
or dword [eax], 2
mov eax, dword [0x417690]
test eax, eax
je 0x4057a3
call sub.libxml2.dll___xmlLoadExtDtdDefaultValue
or dword [eax], 4
mov eax, dword [0x417624]
test eax, eax
je 0x4057b6
push 1
call sub.libxml2.dll_xmlSubstituteEntitiesDefault
add esp, 4
mov eax, dword [0x417644]
test eax, eax
je 0x4057ca
call sub.libxml2.dll___xmlDoValidityCheckingDefaultValue
mov dword [eax], 1
mov eax, dword [0x41767c]
test eax, eax
je 0x40583f
mov eax, dword [0x417630]
test eax, eax
jne 0x40583f
call sub.libxml2.dll___xmlGenericError
mov esi, eax
call sub.libxml2.dll___xmlGenericErrorContext
mov eax, dword [eax]
push str.__DOCTYPE_HTML_PUBLIC_____W3C__DTD_HTML_4.0_Transitional__EN__n
push eax
call dword [esi]
call sub.libxml2.dll___xmlGenericError
mov esi, eax
call sub.libxml2.dll___xmlGenericErrorContext
mov ecx, dword [eax]
push str._t_http:__www.w3.org_TR_REC_html40_loose.dtd___n
push ecx
call dword [esi]
call sub.libxml2.dll___xmlGenericError
mov esi, eax
call sub.libxml2.dll___xmlGenericErrorContext
mov edx, dword [ebp]
mov eax, dword [eax]
push edx
push str._html__head__title__s_output__title___head__n
push eax
call dword [esi]
call sub.libxml2.dll___xmlGenericError
mov esi, eax
call sub.libxml2.dll___xmlGenericErrorContext
mov ecx, dword [ebp]
mov edx, dword [eax]
push ecx
push str._body_bgcolor_ffffff___h1_align_center___s_output__h1__n
push edx
call dword [esi]
add esp, 0x28
mov eax, dword [0x417664]
test eax, eax
mov ebp, dword [sym.imp.msvcrt.dll_clock]
je 0x405909
mov eax, dword [0x4176d8]
test eax, eax
jne 0x405909
mov eax, dword [0x4176b8]
test eax, eax
jne 0x405909
call sub.libxml2.dll___xmlLoadExtDtdDefaultValue
mov edx, dword [eax]
mov ecx, dword [section..data]
or edx, 1
mov dword [eax], edx
mov eax, dword [0x41769c]
or ecx, 4
test eax, eax
mov dword [section..data], ecx
je 0x405897
call ebp
mov dword [0x40b1ac], eax
mov eax, dword [0x417664]
push eax
call sub.libxml2.dll_xmlSchematronNewParserCtxt
mov edi, eax
push edi
call sub.libxml2.dll_xmlSchematronParse
add esp, 8
test eax, eax
mov dword [0x417668], eax
jne 0x4058ea
call sub.libxml2.dll___xmlGenericError
mov esi, eax
call sub.libxml2.dll___xmlGenericErrorContext
mov ecx, dword [0x417664]
mov edx, dword [eax]
push ecx
push str.Schematron_schema__s_failed_to_compile_n
push edx
call dword [esi]
add esp, 0xc
mov dword [0x417698], 5
mov dword [0x417664], 0
push edi
call sub.libxml2.dll_xmlSchematronFreeParserCtxt
mov eax, dword [0x41769c]
add esp, 4
test eax, eax
je 0x405909
push str.Compiling_the_schemas
call fcn.004013c0
add esp, 4
mov eax, dword [0x417654]
test eax, eax
je 0x4059cb
mov eax, dword [0x4176d8]
test eax, eax
jne 0x4059cb
mov eax, dword [0x4176b8]
test eax, eax
jne 0x4059cb
call sub.libxml2.dll___xmlLoadExtDtdDefaultValue
mov edx, dword [eax]
mov ecx, dword [section..data]
or edx, 1
mov dword [eax], edx
mov eax, dword [0x41769c]
or ecx, 4
test eax, eax
mov dword [section..data], ecx
je 0x40595b
call ebp
mov dword [0x40b1ac], eax
mov eax, dword [0x417654]
push eax
call sub.libxml2.dll_xmlRelaxNGNewParserCtxt
mov ecx, dword [sym.imp.msvcrt.dll__iob]
add ecx, 0x40
push ecx
push ebx
mov esi, eax
push ebx
push esi
call sub.libxml2.dll_xmlRelaxNGSetParserErrors
push esi
call sub.libxml2.dll_xmlRelaxNGParse
add esp, 0x18
test eax, eax
mov dword [0x417658], eax
jne 0x4059c0
call sub.libxml2.dll___xmlGenericError
mov edi, eax
call sub.libxml2.dll___xmlGenericErrorContext
mov edx, dword [0x417654]
mov eax, dword [eax]
push edx
push str.Relax_NG_schema__s_failed_to_compile_n
push eax
call dword [edi]
add esp, 0xc
mov dword [0x417698], 5
mov dword [0x417654], 0
push esi
call sub.libxml2.dll_xmlRelaxNGFreeParserCtxt
jmp 0x405a61
mov eax, dword [0x41765c]
test eax, eax
je 0x405a7a
mov eax, dword [0x4176b8]
test eax, eax
jne 0x405a7a
mov eax, dword [0x41769c]
test eax, eax
je 0x4059f5
call ebp
mov dword [0x40b1ac], eax
mov ecx, dword [0x41765c]
push ecx
call sub.libxml2.dll_xmlSchemaNewParserCtxt
mov edx, dword [sym.imp.msvcrt.dll__iob]
add edx, 0x40
push edx
push ebx
mov esi, eax
push ebx
push esi
call sub.libxml2.dll_xmlSchemaSetParserErrors
push esi
call sub.libxml2.dll_xmlSchemaParse
add esp, 0x18
test eax, eax
mov dword [0x417660], eax
jne 0x405a5b
call sub.libxml2.dll___xmlGenericError
mov edi, eax
call sub.libxml2.dll___xmlGenericErrorContext
mov ecx, dword [0x41765c]
mov edx, dword [eax]
push ecx
push str.WXS_schema__s_failed_to_compile_n
push edx
call dword [edi]
add esp, 0xc
mov dword [0x417698], 5
mov dword [0x41765c], 0
push esi
call sub.libxml2.dll_xmlSchemaFreeParserCtxt
mov eax, dword [0x41769c]
add esp, 4
test eax, eax
je 0x405a7a
push str.Compiling_the_schemas
call fcn.004013c0
add esp, 4
mov eax, dword [0x4176cc]
test eax, eax
je 0x405ad9
mov ecx, dword [0x4176bc]
test ecx, ecx
jne 0x405ad9
push 0
push 0
push 0
push eax
call sub.libxml2.dll_xmlPatterncompile
add esp, 0x10
test eax, eax
mov dword [0x4176d0], eax
jne 0x405ad9
call sub.libxml2.dll___xmlGenericError
mov esi, eax
call sub.libxml2.dll___xmlGenericErrorContext
mov ecx, dword [0x4176cc]
mov edx, dword [eax]
push ecx
push str.Pattern__s_failed_to_compile_n
push edx
call dword [esi]
add esp, 0xc
mov dword [0x417698], 7
mov dword [0x4176cc], 0
mov eax, dword [esp + 0x1c]
mov ebp, 1
cmp eax, ebp
jle 0x405e0a
mov ebx, dword [esp + 0x20]
add ebx, 4
mov eax, dword [ebx]
mov edi, str._encode
mov esi, eax
mov ecx, 8
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x405df6
mov edi, str.__encode
mov esi, eax
mov ecx, 9
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x405df6
mov edi, 0x409008
mov esi, eax
mov ecx, 3
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x405df6
mov edi, str._output
mov esi, eax
mov ecx, 8
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x405df6
mov edi, str.__output
mov esi, eax
mov ecx, 9
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x405df6
mov edi, str._dtdvalid
mov esi, eax
mov ecx, 0xa
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x405df6
mov edi, str.__dtdvalid
mov esi, eax
mov ecx, 0xb
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x405df6
mov edi, str._path
mov esi, eax
mov ecx, 6
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x405df6
mov edi, str.__path
mov esi, eax
mov ecx, 7
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x405df6
mov edi, str._dtdvalidfpi
mov esi, eax
mov ecx, 0xd
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x405df6
mov edi, str.__dtdvalidfpi
mov esi, eax
mov ecx, 0xe
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x405df6
mov edi, str._relaxng
mov esi, eax
mov ecx, 9
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x405df6
mov edi, str.__relaxng
mov esi, eax
mov ecx, 0xa
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x405df6
mov edi, str._maxmem
mov esi, eax
mov ecx, 8
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x405df6
mov edi, str.__maxmem
mov esi, eax
mov ecx, 9
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x405df6
mov edi, str._schema
mov esi, eax
mov ecx, 8
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x405df6
mov edi, str.__schema
mov esi, eax
mov ecx, 9
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x405df6
mov edi, str._schematron
mov esi, eax
mov ecx, 0xc
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x405df6
mov edi, str.__schematron
mov esi, eax
mov ecx, 0xd
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x405df6
mov edi, str._pattern
mov esi, eax
mov ecx, 9
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x405df6
mov esi, eax
mov edi, str.__pattern
mov ecx, 0xa
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x405df6
mov eax, dword [0x41769c]
test eax, eax
je 0x405cde
mov eax, dword [0x41766c]
test eax, eax
je 0x405cde
call dword [sym.imp.msvcrt.dll_clock]
mov dword [0x40b1ac], eax
mov eax, dword [ebx]
cmp byte [eax], 0x2d
jne 0x405cfb
mov edi, 0x407b70
mov esi, eax
mov ecx, 2
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x405dfa
mov ecx, dword [0x41766c]
xor edi, edi
cmp ecx, edi
je 0x405d68
xor esi, esi
cmp ecx, edi
jle 0x405dcb
mov eax, dword [0x4176b8]
test eax, eax
je 0x405d24
mov eax, dword [ebx]
push eax
call fcn.00402bf0
jmp 0x405d4c
mov eax, dword [0x4176d8]
test eax, eax
je 0x405d37
mov ecx, dword [ebx]
push ecx
call fcn.00402840
jmp 0x405d4c
test esi, esi
jne 0x405d42
call sub.libxml2.dll_xmlNewParserCtxt
mov esi, eax
mov edx, dword [ebx]
push edx
mov ecx, esi
call fcn.00403150
mov eax, dword [0x41766c]
add esp, 4
inc edi
cmp edi, eax
jl 0x405d11
test esi, esi
je 0x405dcb
push esi
call sub.libxml2.dll_xmlFreeParserCtxt
add esp, 4
jmp 0x405dcb
cmp dword [0x4176b8], edi
mov dword [0x4176c4], edi
push eax
je 0x405d7e
call fcn.00402bf0
jmp 0x405d94
cmp dword [0x4176d8], edi
je 0x405d8d
call fcn.00402840
jmp 0x405d94
xor ecx, ecx
call fcn.00403150
mov eax, dword [0x4176c0]
add esp, 4
test eax, eax
je 0x405dcb
mov eax, dword [0x4176c4]
test eax, eax
je 0x405dcb
push eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
push str.Registration_count_off:__d_n
push eax
call dword [sym.imp.msvcrt.dll_fprintf]
add esp, 0xc
mov dword [0x417698], 8
mov ecx, dword [esp + 0x10]
mov eax, dword [0x41769c]
inc ecx
test eax, eax
mov dword [esp + 0x10], ecx
je 0x405dfa
mov eax, dword [0x41766c]
test eax, eax
je 0x405dfa
push eax
push str._d_iterations
call fcn.004013c0
add esp, 8
jmp 0x405dfa
inc ebp
add ebx, 4
mov eax, dword [esp + 0x1c]
inc ebp
add ebx, 4
cmp ebp, eax
jl 0x405af1
mov eax, dword [0x4176a0]
test eax, eax
je 0x405e1f
push 0
xor ecx, ecx
call fcn.00403150
add esp, 4
mov eax, dword [0x41767c]
test eax, eax
je 0x405e4a
mov eax, dword [0x417630]
test eax, eax
jne 0x405e4a
call sub.libxml2.dll___xmlGenericError
mov esi, eax
call sub.libxml2.dll___xmlGenericErrorContext
mov ecx, dword [eax]
push str.__body___html__n
push ecx
call dword [esi]
add esp, 8
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x405e6e
mov eax, dword [0x4176a0]
test eax, eax
jne 0x405e6e
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x405e6e
mov edx, dword [esp + 0x20]
mov eax, dword [edx]
call fcn.00404630
mov eax, dword [0x417668]
test eax, eax
je 0x405e80
push eax
call sub.libxml2.dll_xmlSchematronFree
add esp, 4
mov eax, dword [0x417658]
test eax, eax
je 0x405e92
push eax
call sub.libxml2.dll_xmlRelaxNGFree
add esp, 4
mov eax, dword [0x417660]
test eax, eax
je 0x405ea4
push eax
call sub.libxml2.dll_xmlSchemaFree
add esp, 4
call sub.libxml2.dll_xmlRelaxNGCleanupTypes
mov eax, dword [0x4176d0]
test eax, eax
je 0x405ebb
push eax
call sub.libxml2.dll_xmlFreePattern
add esp, 4
call sub.libxml2.dll_xmlCleanupParser
call sub.libxml2.dll_xmlMemoryDump
mov eax, dword [0x417698]
pop edi
pop ebp
pop ebx
pop esi
add esp, 8
ret