Function at 0x447e90
Capabilities:
Parse pe header

Disassembly:
push ecx
push ebx
push ebp
push esi
mov esi, dword [esp + 0x14]
or ebx, 0xffffffff
push edi
xor edi, edi
mov dword [esp + 0x10], edi
mov ecx, dword [esi + 0x24]
mov dword [esp + 0x18], ecx
mov eax, dword [ecx + 0x10]
cmp byte [eax], 0x3c
jne 0x4481c0
cmp byte [eax + 1], 0x21
jne 0x4481c0
cmp byte [eax + 2], 0x45
jne 0x4481c0
cmp byte [eax + 3], 0x4c
jne 0x4481c0
cmp byte [eax + 4], 0x45
jne 0x4481c0
cmp byte [eax + 5], 0x4d
jne 0x4481c0
cmp byte [eax + 6], 0x45
jne 0x4481c0
cmp byte [eax + 7], 0x4e
jne 0x4481c0
cmp byte [eax + 8], 0x54
jne 0x4481c0
add dword [esi + 0xc8], 9
add dword [ecx + 0x10], 9
mov eax, dword [esi + 0x24]
add dword [eax + 0x20], 9
mov ecx, dword [esi + 0x24]
mov eax, dword [ecx + 0x10]
cmp byte [eax], 0x25
jne 0x447f2e
push esi
call sym.KomManager.exe_xmlParserHandlePEReference
mov ecx, dword [esi + 0x24]
add esp, 4
mov eax, dword [ecx + 0x10]
cmp byte [eax], 0
jne 0x447f51
push 0xfa
push ecx
call sym.KomManager.exe_xmlParserInputGrow
add esp, 8
test eax, eax
jg 0x447f51
push esi
call sym.KomManager.exe_xmlPopInput
add esp, 4
mov eax, dword [esi + 0x24]
mov eax, dword [eax + 0x10]
mov al, byte [eax]
cmp al, 0x20
je 0x447f82
cmp al, 9
jb 0x447f65
cmp al, 0xa
jbe 0x447f82
cmp al, 0xd
je 0x447f82
push str.Space_required_after_ELEMENT_n
push 0x41
push esi
call fcn.0044e250
add esp, 0xc
or eax, 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
pop ecx
ret
push esi
call sym.KomManager.exe_xmlSkipBlankChars
push esi
call sym.KomManager.exe_xmlParseName
mov ebp, eax
add esp, 8
test ebp, ebp
jne 0x447fb0
push str.xmlParseElementDecl:_no_name_for_Element_n
push 0x44
push esi
call fcn.0044e250
add esp, 0xc
or eax, 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
pop ecx
ret
mov ecx, dword [esi + 0x24]
mov eax, dword [ecx + 0x10]
cmp byte [eax], 0
jne 0x447fda
nop dword [eax + eax]
cmp dword [esi + 0x28], 1
jle 0x447fda
push esi
call sym.KomManager.exe_xmlPopInput
mov ecx, dword [esi + 0x24]
add esp, 4
mov eax, dword [ecx + 0x10]
cmp byte [eax], 0
je 0x447fc0
mov eax, dword [ecx + 0x10]
mov al, byte [eax]
cmp al, 0x20
je 0x447fff
cmp al, 9
jb 0x447feb
cmp al, 0xa
jbe 0x447fff
cmp al, 0xd
je 0x447fff
push str.Space_required_after_the_element_name_n
push 0x41
push esi
call fcn.0044e250
add esp, 0xc
push esi
call sym.KomManager.exe_xmlSkipBlankChars
mov edx, dword [esi + 0x24]
add esp, 4
mov eax, dword [edx + 0x10]
mov cl, byte [eax]
cmp cl, 0x45
jne 0x448083
cmp byte [eax + 1], 0x4d
jne 0x448083
cmp byte [eax + 2], 0x50
jne 0x448083
cmp byte [eax + 3], 0x54
jne 0x448083
cmp byte [eax + 4], 0x59
jne 0x448083
add dword [esi + 0xc8], 5
add dword [edx + 0x10], 5
mov eax, dword [esi + 0x24]
add dword [eax + 0x20], 5
mov ecx, dword [esi + 0x24]
mov eax, dword [ecx + 0x10]
cmp byte [eax], 0x25
jne 0x448056
push esi
call sym.KomManager.exe_xmlParserHandlePEReference
mov ecx, dword [esi + 0x24]
add esp, 4
mov eax, dword [ecx + 0x10]
cmp byte [eax], 0
jne 0x448079
push 0xfa
push ecx
call sym.KomManager.exe_xmlParserInputGrow
add esp, 8
test eax, eax
jg 0x448079
push esi
call sym.KomManager.exe_xmlPopInput
add esp, 4
mov ebx, 1
jmp 0x448105
cmp cl, 0x41
jne 0x4480e7
cmp byte [eax + 1], 0x4e
jne 0x4480e7
cmp byte [eax + 2], 0x59
jne 0x4480e7
add dword [esi + 0xc8], 3
add dword [edx + 0x10], 3
mov eax, dword [esi + 0x24]
add dword [eax + 0x20], 3
mov ecx, dword [esi + 0x24]
mov eax, dword [ecx + 0x10]
cmp byte [eax], 0x25
jne 0x4480bd
push esi
call sym.KomManager.exe_xmlParserHandlePEReference
mov ecx, dword [esi + 0x24]
add esp, 4
mov eax, dword [ecx + 0x10]
cmp byte [eax], 0
jne 0x4480e0
push 0xfa
push ecx
call sym.KomManager.exe_xmlParserInputGrow
add esp, 8
test eax, eax
jg 0x4480e0
push esi
call sym.KomManager.exe_xmlPopInput
add esp, 4
mov ebx, 2
jmp 0x448105
cmp cl, 0x28
jne 0x448235
lea eax, [esp + 0x10]
push eax
push ebp
push esi
call sym.KomManager.exe_xmlParseElementContentDecl
mov edi, dword [esp + 0x1c]
add esp, 0xc
mov ebx, eax
push esi
call sym.KomManager.exe_xmlSkipBlankChars
mov ecx, dword [esi + 0x24]
add esp, 4
mov ecx, dword [ecx + 0x10]
cmp byte [ecx], 0
jne 0x44813a
nop dword [eax]
cmp dword [esi + 0x28], 1
jle 0x44813a
push esi
call sym.KomManager.exe_xmlPopInput
mov eax, dword [esi + 0x24]
add esp, 4
mov eax, dword [eax + 0x10]
cmp byte [eax], 0
je 0x448120
push esi
call sym.KomManager.exe_xmlSkipBlankChars
mov ecx, dword [esi + 0x24]
add esp, 4
mov eax, dword [ecx + 0x10]
cmp byte [eax], 0x3e
je 0x4481c8
cmp dword [esi + 0xd4], 0
je 0x448160
cmp dword [esi + 0xac], 0xffffffff
je 0x4481b0
push str.expected__
push 0x66cb04
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 3
push 0x49
push 1
push 0
push esi
push 0
push 0
push 0
mov dword [esi + 0x54], 0x49
call sym.KomManager.exe___xmlRaiseError
add esp, 0x44
mov dword [esi + 0xc], 0
cmp dword [esi + 0x120], 0
jne 0x4481b0
mov dword [esi + 0xd4], 1
test edi, edi
je 0x4481c0
push edi
push dword [esi + 8]
call sym.KomManager.exe_xmlFreeDocElementContent
add esp, 8
pop edi
pop esi
pop ebp
mov eax, ebx
pop ebx
pop ecx
ret
cmp dword [esp + 0x18], ecx
je 0x4481de
push str.Element_declaration_doesnt_start_and_stop_in_the_same_entity_n
push 0x5a
push esi
call fcn.0044e250
add esp, 0xc
push esi
call sym.KomManager.exe_xmlNextChar
mov eax, dword [esi]
add esp, 4
test eax, eax
je 0x4481b0
cmp dword [esi + 0xd4], 0
jne 0x4481b0
cmp dword [eax + 0x24], 0
je 0x4481b0
test edi, edi
je 0x448209
mov dword [edi + 0x14], 0
mov eax, dword [esi]
mov eax, dword [eax + 0x24]
push edi
push ebx
push ebp
push dword [esi + 4]
call eax
add esp, 0x10
test edi, edi
je 0x4481c0
cmp dword [edi + 0x14], 0
jne 0x4481c0
push edi
push dword [esi + 8]
call sym.KomManager.exe_xmlFreeDocElementContent
add esp, 8
mov eax, ebx
pop edi
pop esi
pop ebp
pop ebx
pop ecx
ret
cmp cl, 0x25
jne 0x448263
cmp dword [esi + 0x60], edi
jne 0x448263
cmp dword [esi + 0x28], 1
jne 0x448263
mov ecx, str.PEReference:_forbidden_within_markup_decl_in_internal_subset_n
mov eax, 0x15
push ecx
push eax
push esi
call fcn.0044e250
add esp, 0xc
or eax, 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
pop ecx
ret
mov ecx, str.xmlParseElementDecl:_EMPTY__ANY_or___expected_n
mov eax, 0x36
push ecx
push eax
push esi
call fcn.0044e250
add esp, 0xc
or eax, 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
pop ecx
ret