Function at 0x4058e0
Capabilities:
Accept command line arguments
Enumerate pe sections
Get file system object information
Parse pe header

Disassembly:
push ebp
push esp
pop ebp
sub esp, 0x364
push esi
push edi
lea edi, [ebp - 0x364]
mov ecx, 0xd9
mov eax, 0xcccccccc
rep stosd dword es:[edi], eax
call fcn.00407570
call fcn.00407570
call fcn.00407570
call fcn.00407570
call fcn.00407570
call fcn.00407570
call fcn.00407570
call fcn.00407570
push esp
pop esi
push 0
push 0x44d870
push 0
push 0
push 0x44d870
call dword [sym.imp.ole32.dll_CoCreateInstance]
cmp esi, esp
call fcn.00407340
call fcn.00407570
call fcn.00407570
call fcn.00407570
call fcn.00407570
call fcn.00407570
call fcn.00407570
push 0x44
push 0
lea eax, [ebp - 0x54]
push eax
call fcn.00408840
add esp, 0xc
call fcn.00407570
call fcn.00407570
mov dword [ebp - 0x54], 0x44
mov dword [ebp - 0x340], 0x10007
call fcn.00407570
call fcn.00407570
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 4], ecx
call fcn.00407570
call fcn.00407570
mov edx, dword [ebp - 4]
movzx eax, word [edx]
cmp eax, 0x5a4d
je 0x4059bb
sub eax, eax
jmp 0x405ea3
call fcn.00407570
call fcn.00407570
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0xc]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 8], edx
mov eax, dword [ebp - 8]
cmp dword [eax], 0x4550
je 0x4059e3
sub eax, eax
jmp 0x405ea3
call fcn.00407570
call fcn.00407570
call fcn.00407570
call fcn.00407570
push esp
pop esi
push 0
push 0
push 0
push 0
push 0
call dword [sym.imp.SHELL32.dll_SHGetFileInfoA]
cmp esi, esp
call fcn.00407340
push esp
pop esi
lea ecx, [ebp - 0x6c]
push ecx
lea edx, [ebp - 0x54]
push edx
push 0
push 0
push 4
push 0
push 0
push 0
push esp
pop edi
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
cmp edi, esp
call fcn.00407340
push eax
mov eax, dword [ebp + 8]
push eax
call dword [0x45d298]
cmp esi, esp
call fcn.00407340
test eax, eax
jne 0x405a52
xor eax, eax
jmp 0x405ea3
call fcn.00407570
call fcn.00407570
push esp
pop esi
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
cmp esi, esp
call fcn.00407340
mov dword [ebp - 0x348], 0
call fcn.00407570
call fcn.00407570
push esp
pop esi
push 0x45b0b4
mov ecx, dword [0x45d25c]
push ecx
call dword [0x45d2b0]
cmp esi, esp
call fcn.00407340
mov dword [ebp - 0x348], eax
push esp
pop esi
push 0
push 0
push 0
push 0
push 0
call dword [sym.imp.SHELL32.dll_SHGetFileInfoA]
cmp esi, esp
call fcn.00407340
call fcn.00407570
call fcn.00407570
push esp
pop esi
mov edx, dword [ebp - 8]
mov eax, dword [edx + 0x34]
push eax
mov ecx, dword [ebp - 0x6c]
push ecx
call dword [ebp - 0x348]
cmp esi, esp
call fcn.00407340
push esp
pop esi
push 0
push 0x44d870
push 0
push 0
push 0x44d870
call dword [sym.imp.ole32.dll_CoCreateInstance]
cmp esi, esp
call fcn.00407340
call fcn.00407570
call fcn.00407570
push esp
pop esi
push 0x40
push 0x3000
mov edx, dword [ebp - 8]
mov eax, dword [edx + 0x50]
push eax
mov ecx, dword [ebp - 8]
mov edx, dword [ecx + 0x34]
push edx
mov eax, dword [ebp - 0x6c]
push eax
call dword [0x45d294]
cmp esi, esp
call fcn.00407340
test eax, eax
jne 0x405b3b
sub eax, eax
jmp 0x405ea3
xor ecx, ecx
jne 0x405a10
call fcn.00407570
call fcn.00407570
call fcn.00407570
call fcn.00407570
mov dword [ebp - 0x350], 0
push esp
pop esi
push 3
push 0
push 0
push 0xffffffffffffffff
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp esi, esp
call fcn.00407340
push esp
pop esi
lea edx, [ebp - 0x350]
push edx
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 0x54]
push ecx
mov edx, dword [ebp + 0xc]
push edx
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 0x34]
push ecx
mov edx, dword [ebp - 0x6c]
push edx
call dword [0x45d29c]
cmp esi, esp
call fcn.00407340
call fcn.00407570
call fcn.00407570
cmp dword [ebp - 0x350], 0
jne 0x405bbe
sub eax, eax
jmp 0x405ea3
push esp
pop esi
push 0
push 0x44d870
push 0
push 0
push 0x44d870
call dword [sym.imp.ole32.dll_CoCreateInstance]
cmp esi, esp
call fcn.00407340
call fcn.00407570
call fcn.00407570
mov dword [ebp - 0x358], 0
jmp 0x405c02
mov eax, dword [ebp - 0x358]
add eax, 1
mov dword [ebp - 0x358], eax
mov ecx, dword [ebp - 8]
movzx edx, word [ecx + 6]
cmp dword [ebp - 0x358], edx
jge 0x405c96
call fcn.00407570
call fcn.00407570
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x3c]
mov edx, dword [ebp - 0x358]
imul edx, edx, 0x28
add edx, dword [ebp + 0xc]
lea eax, [edx + ecx + 0xf8]
mov dword [ebp - 0xc], eax
call fcn.00407570
call fcn.00407570
push esp
pop esi
push 0
push 0
push 0
push 0
push 0
call dword [sym.imp.SHELL32.dll_SHGetFileInfoA]
cmp esi, esp
call fcn.00407340
push esp
pop esi
push 0
mov ecx, dword [ebp - 0xc]
mov edx, dword [ecx + 0x10]
push edx
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp + 0xc]
add ecx, dword [eax + 0x14]
push ecx
mov edx, dword [ebp - 8]
mov eax, dword [edx + 0x34]
mov ecx, dword [ebp - 0xc]
add eax, dword [ecx + 0xc]
push eax
mov edx, dword [ebp - 0x6c]
push edx
call dword [0x45d29c]
cmp esi, esp
call fcn.00407340
jmp 0x405bf3
call fcn.00407570
call fcn.00407570
mov dword [ebp - 0x35c], 0
call fcn.00407570
call fcn.00407570
push esp
pop esi
push 0
push 0
push 0
push 0
push 0
call dword [sym.imp.SHELL32.dll_SHGetFileInfoA]
cmp esi, esp
call fcn.00407340
push esp
pop esi
push 0
push 0x44d870
push 0
push 0
push 0x44d870
call dword [sym.imp.ole32.dll_CoCreateInstance]
cmp esi, esp
call fcn.00407340
push esp
pop esi
push 0x45b0e4
mov eax, dword [0x45d25c]
push eax
call dword [0x45d2b0]
cmp esi, esp
call fcn.00407340
mov dword [ebp - 0x35c], eax
call fcn.00407570
call fcn.00407570
push esp
pop esi
lea ecx, [ebp - 0x340]
push ecx
mov edx, dword [ebp - 0x68]
push edx
call dword [ebp - 0x35c]
cmp esi, esp
call fcn.00407340
call fcn.00407570
call fcn.00407570
push esp
pop esi
push 0
push 0
push 0
push 0
push 0
call dword [sym.imp.SHELL32.dll_SHGetFileInfoA]
cmp esi, esp
call fcn.00407340
push esp
pop esi
push 0
push 4
mov eax, dword [ebp - 8]
add eax, 0x34
push eax
mov ecx, dword [ebp - 0x29c]
add ecx, 8
push ecx
mov edx, dword [ebp - 0x6c]
push edx
call dword [0x45d29c]
cmp esi, esp
call fcn.00407340
call fcn.00407570
call fcn.00407570
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 0x34]
mov edx, dword [ebp - 8]
add ecx, dword [edx + 0x28]
mov dword [ebp - 0x290], ecx
call fcn.00407570
call fcn.00407570
mov dword [ebp - 0x360], 0
call fcn.00407570
call fcn.00407570
push esp
pop esi
push 0x45b0f8
mov eax, dword [0x45d25c]
push eax
call dword [0x45d2b0]
cmp esi, esp
call fcn.00407340
mov dword [ebp - 0x360], eax
call fcn.00407570
call fcn.00407570
push esp
pop esi
push 3
push 0
push 0
push 0xffffffffffffffff
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp esi, esp
call fcn.00407340
push esp
pop esi
lea ecx, [ebp - 0x340]
push ecx
mov edx, dword [ebp - 0x68]
push edx
call dword [ebp - 0x360]
cmp esi, esp
call fcn.00407340
call fcn.00407570
call fcn.00407570
mov dword [ebp - 0x364], 0
call fcn.00407570
call fcn.00407570
push esp
pop esi
push 0x45b10c
mov eax, dword [0x45d25c]
push eax
call dword [0x45d2b0]
cmp esi, esp
call fcn.00407340
mov dword [ebp - 0x364], eax
call fcn.00407570
call fcn.00407570
push esp
pop esi
push 0
mov ecx, dword [ebp - 0x68]
push ecx
call dword [ebp - 0x364]
cmp esi, esp
call fcn.00407340
call fcn.00407570
call fcn.00407570
mov edx, dword [ebp - 0x6c]
push edx
call fcn.004064e0
add esp, 4
call fcn.00407570
call fcn.00407570
push esp
pop esi
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
cmp esi, esp
call fcn.00407340
nop
nop
push 1
pop eax
push edx
push ebp
pop ecx
push eax
lea edx, [0x405ec8]
call fcn.00407370
pop eax
pop edx
pop edi
pop esi
add esp, 0x364
cmp ebp, esp
call fcn.00407340
push ebp
pop esp
pop ebp
ret