Function at 0x45dd90
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x4c
push ebx
push esi
mov esi, ecx
push edi
mov edx, dword [esi + 4]
test edx, edx
je 0x45de6b
cmp byte [edx + 0x1c], 0
je 0x45debf
mov eax, dword [edx + 0x24]
cmp eax, 0x40
jb 0x45e060
mov edi, dword [edx + 0x20]
mov ecx, 0x5a4d
cmp word [edi], cx
jne 0x45dedc
mov ecx, dword [edi + 0x3c]
cmp ecx, eax
ja 0x45e041
sub eax, ecx
cmp eax, 0xf8
jb 0x45e041
add edi, ecx
mov dword [esp + 0x14], edi
cmp dword [edi], 0x4550
jne 0x45df2e
mov eax, 0x10b
cmp word [edi + 0x18], ax
jne 0x45df80
movzx ecx, word [edi + 0x14]
xor eax, eax
add ecx, edi
xor ebx, ebx
mov dword [esp + 0x10], ecx
cmp ax, word [edi + 6]
jae 0x45de4e
mov edx, dword [esi + 0xc]
mov edi, dword [esp + 0x10]
movzx eax, bx
lea eax, [eax + eax*4]
mov ecx, dword [ecx + eax*8 + 0x2c]
mov eax, dword [edi + eax*8 + 0x28]
mov edi, dword [esp + 0x14]
add eax, ecx
mov ecx, dword [esp + 0x10]
cmp edx, eax
cmovb edx, eax
inc ebx
mov dword [esi + 0xc], edx
cmp bx, word [edi + 6]
jb 0x45de20
mov edx, dword [esi + 4]
cmp byte [edx + 4], 0
je 0x45dfd2
mov eax, dword [esi + 0xc]
cmp eax, dword [edx + 0x10]
ja 0x45dfef
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea eax, [esp + 0x18]
mov dword [esp + 0x18], 0x45334131
push eax
lea ecx, [esp + 0x30]
mov dword [esp + 0x20], 0x42373532
mov dword [esp + 0x24], 0x1a
call fcn.00412370
push eax
lea ecx, [esp + 0x48]
call fcn.004123a0
call fcn.0045ea90
push str.file_handle_is_null
push 0x57
lea ecx, [esp + 0x34]
call fcn.0043e0b0
push 0x5057bc
lea eax, [esp + 0x30]
push eax
call fcn.004a0209
push str.Unable_to_retrieve_pointer_of_the_unmapped_view_
lea ecx, [esp + 0x30]
call fcn.0043e080
push 0x5057bc
lea eax, [esp + 0x30]
push eax
call fcn.004a0209
lea eax, [esp + 0x18]
mov dword [esp + 0x18], 0x45334131
push eax
lea ecx, [esp + 0x30]
mov dword [esp + 0x20], 0x42373532
mov dword [esp + 0x24], 0x21
call fcn.00412370
push eax
lea ecx, [esp + 0x48]
call fcn.004123a0
call fcn.0045eb40
push str.Missing_DOS_signature.
lea ecx, [esp + 0x30]
call fcn.0044c4d0
push 0x505c04
lea eax, [esp + 0x30]
push eax
call fcn.004a0209
lea eax, [esp + 0x18]
mov dword [esp + 0x18], 0x45334131
push eax
lea ecx, [esp + 0x30]
mov dword [esp + 0x20], 0x42373532
mov dword [esp + 0x24], 0x27
call fcn.00412370
push eax
lea ecx, [esp + 0x48]
call fcn.004123a0
call fcn.0045ebf0
push str.Missing_NT_signature.
lea ecx, [esp + 0x30]
call fcn.0044c4d0
push 0x505c04
lea eax, [esp + 0x30]
push eax
call fcn.004a0209
lea eax, [esp + 0x18]
mov dword [esp + 0x18], 0x45334131
push eax
lea ecx, [esp + 0x30]
mov dword [esp + 0x20], 0x42373532
mov dword [esp + 0x24], 0x2c
call fcn.00412370
push eax
lea ecx, [esp + 0x48]
call fcn.004123a0
call fcn.0045eca0
push str.Exe_file_is_not_32_bit.
lea ecx, [esp + 0x30]
call fcn.0044c4d0
push 0x505c04
lea eax, [esp + 0x30]
push eax
call fcn.004a0209
push str.Unable_to_retrieve_size_of_uninitialized_mapping_
lea ecx, [esp + 0x30]
call fcn.0043e080
push 0x5057bc
lea eax, [esp + 0x30]
push eax
call fcn.004a0209
lea eax, [esp + 0x18]
mov dword [esp + 0x18], 0x45334131
push eax
lea ecx, [esp + 0x30]
mov dword [esp + 0x20], 0x42373532
mov dword [esp + 0x24], 0x37
call fcn.00412370
push eax
lea ecx, [esp + 0x48]
call fcn.004123a0
call fcn.0045ed50
push str.Payload_starts_behind_file_end.
lea ecx, [esp + 0x30]
call fcn.0044c4d0
push 0x505c04
lea eax, [esp + 0x30]
push eax
call fcn.004a0209
push str.Unable_to_read_outside_of_the_mapped_view_
push 5
lea ecx, [esp + 0x34]
call fcn.0043e0b0
push 0x5057bc
lea eax, [esp + 0x30]
push eax
call fcn.004a0209
push str.Unable_to_read_outside_of_the_mapped_view_
push 5
lea ecx, [esp + 0x20]
call fcn.0043e0b0
push 0x5057bc
lea eax, [esp + 0x1c]
push eax
call fcn.004a0209
int3