Function at 0x6add1b36
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
or esi, 0xffffffff
push ebx
sub esp, 0x3c
mov ebx, dword [ebp + 8]
mov dword [ebp - 0x1c], 0
mov edx, dword [ebx + 0x24]
mov eax, dword [edx + 0x10]
cmp byte [eax], 0x3c
jne 0x6add1dd7
cmp byte [eax + 1], 0x21
jne 0x6add1dd7
cmp byte [eax + 2], 0x45
jne 0x6add1dd7
cmp byte [eax + 3], 0x4c
jne 0x6add1dd7
cmp byte [eax + 4], 0x45
jne 0x6add1dd7
cmp byte [eax + 5], 0x4d
jne 0x6add1dd7
cmp byte [eax + 6], 0x45
jne 0x6add1dd7
cmp byte [eax + 7], 0x4e
jne 0x6add1dd7
cmp byte [eax + 8], 0x54
jne 0x6add1dd7
mov edi, dword [edx + 0x38]
lea ecx, [eax + 9]
add dword [ebx + 0xc8], 9
add dword [edx + 0x20], 9
mov dword [edx + 0x10], ecx
cmp byte [eax + 9], 0
mov dword [ebp - 0x2c], edi
jne 0x6add1bd8
mov dword [esp + 4], 0xfa
mov dword [esp], edx
call fcn.6adf7c41
mov dword [esp], ebx
call fcn.6adcf12f
test eax, eax
jne 0x6add1bf6
mov dword [esp + 8], str.Space_required_after_ELEMENT_n
mov dword [esp + 4], 0x41
jmp 0x6add1c14
mov dword [esp], ebx
call fcn.6adcaf76
mov edi, eax
test eax, eax
jne 0x6add1c24
mov dword [esp + 8], str.xmlParseElementDecl:_no_name_for_Element_n
mov dword [esp + 4], 0x44
mov dword [esp], ebx
or esi, 0xffffffff
call fcn.6adc7095
jmp 0x6add1dd7
mov dword [esp], ebx
call fcn.6adcf12f
test eax, eax
jne 0x6add1c48
mov dword [esp + 8], str.Space_required_after_the_element_name_n
mov dword [esp + 4], 0x41
mov dword [esp], ebx
call fcn.6adc7095
mov edx, dword [ebx + 0x24]
mov eax, dword [edx + 0x10]
mov cl, byte [eax]
cmp cl, 0x45
jne 0x6add1c99
cmp byte [eax + 1], 0x4d
jne 0x6add1d1a
cmp byte [eax + 2], 0x50
jne 0x6add1d1a
cmp byte [eax + 3], 0x54
jne 0x6add1d1a
cmp byte [eax + 4], 0x59
jne 0x6add1d1a
lea ecx, [eax + 5]
add dword [ebx + 0xc8], 5
mov esi, 1
add dword [edx + 0x20], 5
mov dword [edx + 0x10], ecx
cmp byte [eax + 5], 0
jmp 0x6add1cc4
cmp cl, 0x41
jne 0x6add1cd8
cmp byte [eax + 1], 0x4e
jne 0x6add1d1a
cmp byte [eax + 2], 0x59
jne 0x6add1d1a
lea ecx, [eax + 3]
add dword [ebx + 0xc8], 3
mov esi, 2
add dword [edx + 0x20], 3
mov dword [edx + 0x10], ecx
cmp byte [eax + 3], 0
jne 0x6add1d2f
mov dword [esp + 4], 0xfa
mov dword [esp], edx
call fcn.6adf7c41
jmp 0x6add1d2f
cmp cl, 0x28
jne 0x6add1cf4
lea eax, [ebp - 0x1c]
mov dword [esp + 4], edi
mov dword [esp + 8], eax
mov dword [esp], ebx
call fcn.6add1a41
mov esi, eax
jmp 0x6add1d2f
cmp cl, 0x25
jne 0x6add1d1a
cmp dword [ebx + 0x60], 0
jne 0x6add1d1a
cmp dword [ebx + 0x28], 1
jne 0x6add1d1a
mov dword [esp + 8], str.PEReference:_forbidden_within_markup_decl_in_internal_subset_n
mov dword [esp + 4], 0x15
jmp 0x6add1c14
mov dword [esp + 8], str.xmlParseElementDecl:_EMPTY__ANY_or___expected_n
mov dword [esp + 4], 0x36
jmp 0x6add1c14
mov dword [esp], ebx
call fcn.6adcf12f
mov eax, dword [ebx + 0x24]
mov edx, dword [eax + 0x10]
cmp byte [edx], 0x3e
je 0x6add1d55
mov eax, ebx
xor ecx, ecx
mov edx, 0x49
call fcn.6adc6dbd
mov eax, dword [ebp - 0x1c]
jmp 0x6add1dc4
mov ecx, dword [ebp - 0x2c]
cmp dword [eax + 0x38], ecx
je 0x6add1d75
mov dword [esp + 8], str.Element_declaration_doesnt_start_and_stop_in_the_same_entity_n
mov dword [esp + 4], 0x5a
mov dword [esp], ebx
call fcn.6adc7095
mov dword [esp], ebx
call fcn.6adf7dd1
mov edx, dword [ebx]
mov eax, dword [ebp - 0x1c]
test edx, edx
je 0x6add1dc4
cmp dword [ebx + 0xd4], 0
jne 0x6add1dc4
mov edx, dword [edx + 0x24]
test edx, edx
je 0x6add1dc4
test eax, eax
je 0x6add1da1
mov dword [eax + 0x14], 0
mov dword [esp + 0xc], eax
mov dword [esp + 8], esi
mov dword [esp + 4], edi
mov eax, dword [ebx + 4]
mov dword [esp], eax
call edx
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x6add1dd7
cmp dword [eax + 0x14], 0
jne 0x6add1dd7
jmp 0x6add1dc8
test eax, eax
je 0x6add1dd7
mov dword [esp + 4], eax
mov eax, dword [ebx + 8]
mov dword [esp], eax
call fcn.6ade8794
add esp, 0x3c
mov eax, esi
pop ebx
pop esi
pop edi
pop ebp
ret