Function at 0x41b2c4
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
push eax
push eax
mov ebx, dword [ebp + 8]
mov dword [ebp - 0x10], 0
or edi, 0xffffffff
mov esi, dword [ebx + 0x24]
mov edx, dword [esi + 0x10]
cmp byte [edx], 0x3c
jne 0x41b5fc
cmp byte [edx + 1], 0x21
jne 0x41b5fc
cmp byte [edx + 2], 0x45
jne 0x41b5fc
cmp byte [edx + 3], 0x4c
jne 0x41b5fc
cmp byte [edx + 4], 0x45
jne 0x41b5fc
cmp byte [edx + 5], 0x4d
jne 0x41b5fc
cmp byte [edx + 6], 0x45
jne 0x41b5fc
cmp byte [edx + 7], 0x4e
jne 0x41b5fc
cmp byte [edx + 8], 0x54
jne 0x41b5fc
add dword [ebx + 0xc8], 9
add dword [esi + 0x20], 9
lea eax, [edx + 9]
mov dword [esi + 0x10], eax
cmp byte [edx + 9], 0x25
jne 0x41b356
push ebx
call fcn.00415a9f
pop edi
mov edx, dword [ebx + 0x24]
mov eax, dword [edx + 0x10]
cmp byte [eax], 0
jne 0x41b379
push 0xfa
push edx
call fcn.00434bc5
pop edx
test eax, eax
pop ecx
jg 0x41b379
push ebx
call fcn.00413e01
pop eax
mov eax, dword [ebx + 0x24]
mov eax, dword [eax + 0x10]
mov cl, byte [eax]
cmp cl, 0x20
lea eax, [ecx - 9]
setne dl
cmp al, 1
seta al
movzx eax, al
test eax, edx
je 0x41b3ad
cmp cl, 0xd
je 0x41b3ad
mov edx, 0x41
mov eax, ebx
push str.Space_required_after_ELEMENT_n
call fcn.00413393
pop edi
push ebx
call fcn.004192cb
push ebx
call fcn.00417d93
pop edx
test eax, eax
mov dword [ebp - 0x14], eax
pop ecx
jne 0x41b3e5
mov edx, 0x44
mov eax, ebx
push str.xmlParseElementDecl:_no_name_for_Element_n
call fcn.00413393
jmp 0x41b540
cmp dword [ebx + 0x28], 1
jle 0x41b3f0
push ebx
call fcn.00413e01
pop eax
mov eax, dword [ebx + 0x24]
mov eax, dword [eax + 0x10]
cmp byte [eax], 0
je 0x41b3d8
mov eax, dword [ebx + 0x24]
mov eax, dword [eax + 0x10]
mov cl, byte [eax]
cmp cl, 0x20
lea eax, [ecx - 9]
setne dl
cmp al, 1
seta al
movzx eax, al
test eax, edx
je 0x41b424
cmp cl, 0xd
je 0x41b424
mov eax, ebx
mov edx, 0x41
push str.Space_required_after_the_element_name_n
call fcn.00413393
pop eax
push ebx
call fcn.004192cb
mov ecx, dword [ebx + 0x24]
pop eax
mov edx, dword [ecx + 0x10]
cmp byte [edx], 0x45
jne 0x41b499
cmp byte [edx + 1], 0x4d
jne 0x41b499
cmp byte [edx + 2], 0x50
jne 0x41b499
cmp byte [edx + 3], 0x54
jne 0x41b499
cmp byte [edx + 4], 0x59
jne 0x41b499
add dword [ebx + 0xc8], 5
add dword [ecx + 0x20], 5
lea eax, [edx + 5]
mov dword [ecx + 0x10], eax
cmp byte [edx + 5], 0x25
jne 0x41b46c
push ebx
call fcn.00415a9f
pop edi
mov edx, dword [ebx + 0x24]
mov eax, dword [edx + 0x10]
cmp byte [eax], 0
jne 0x41b48f
push 0xfa
push edx
call fcn.00434bc5
pop edx
test eax, eax
pop ecx
jg 0x41b48f
push ebx
call fcn.00413e01
pop eax
mov edi, 1
jmp 0x41b548
mov edx, dword [ecx + 0x10]
cmp byte [edx], 0x41
jne 0x41b4f5
cmp byte [edx + 1], 0x4e
jne 0x41b4f5
cmp byte [edx + 2], 0x59
jne 0x41b4f5
add dword [ebx + 0xc8], 3
add dword [ecx + 0x20], 3
lea eax, [edx + 3]
mov dword [ecx + 0x10], eax
cmp byte [edx + 3], 0x25
jne 0x41b4cb
push ebx
call fcn.00415a9f
pop edi
mov edx, dword [ebx + 0x24]
mov eax, dword [edx + 0x10]
cmp byte [eax], 0
jne 0x41b4ee
push 0xfa
push edx
call fcn.00434bc5
pop edx
test eax, eax
pop ecx
jg 0x41b4ee
push ebx
call fcn.00413e01
pop eax
mov edi, 2
jmp 0x41b548
mov eax, dword [ecx + 0x10]
mov al, byte [eax]
cmp al, 0x28
jne 0x41b512
lea eax, [ebp - 0x10]
push eax
push dword [ebp - 0x14]
push ebx
call fcn.0041b1f6
add esp, 0xc
mov edi, eax
jmp 0x41b548
cmp al, 0x25
jne 0x41b52e
cmp dword [ebx + 0x60], 0
jne 0x41b52e
cmp dword [ebx + 0x28], 1
jne 0x41b52e
push str.PEReference:_forbidden_within_markup_decl_in_internal_subset_n
mov edx, 0x15
jmp 0x41b538
push str.xmlParseElementDecl:_EMPTY__ANY_or___expected_n
mov edx, 0x36
mov eax, ebx
call fcn.00413393
pop eax
or eax, 0xffffffff
jmp 0x41b5fe
push ebx
call fcn.004192cb
jmp 0x41b55c
cmp dword [ebx + 0x28], 1
jle 0x41b568
push ebx
call fcn.00413e01
pop eax
mov eax, dword [ebx + 0x24]
mov eax, dword [eax + 0x10]
cmp byte [eax], 0
je 0x41b550
push ebx
call fcn.004192cb
mov edx, dword [ebx + 0x24]
pop ecx
mov eax, dword [edx + 0x10]
cmp byte [eax], 0x3e
je 0x41b58b
mov eax, ebx
mov edx, 0x49
push 0
call fcn.00413119
pop eax
jmp 0x41b5ea
cmp esi, edx
je 0x41b5a1
mov edx, 0x5a
mov eax, ebx
push str.Element_declaration_doesnt_start_and_stop_in_the_same_entity_n
call fcn.00413393
pop esi
push ebx
call fcn.00434cf3
mov edx, dword [ebx]
pop ecx
test edx, edx
je 0x41b5ea
cmp dword [ebx + 0xd4], 0
jne 0x41b5ea
cmp dword [edx + 0x24], 0
je 0x41b5ea
mov eax, dword [ebp - 0x10]
test eax, eax
je 0x41b5cb
mov dword [eax + 0x14], 0
push dword [ebp - 0x10]
push edi
push dword [ebp - 0x14]
push dword [ebx + 4]
call dword [edx + 0x24]
mov eax, dword [ebp - 0x10]
add esp, 0x10
test eax, eax
je 0x41b5fc
cmp dword [eax + 0x14], 0
jne 0x41b5fc
jmp 0x41b5f1
mov eax, dword [ebp - 0x10]
test eax, eax
je 0x41b5fc
push eax
push dword [ebx + 8]
call fcn.00424332
pop eax
pop edx
mov eax, edi
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret