Function at 0x40e5e4
Capabilities:
Enumerate pe sections

Disassembly:
push ecx
push ebx
mov ebx, dword [esp + 0x10]
lea eax, [esp + 7]
push ebp
push esi
push edi
mov edi, dword [esp + 0x20]
push 1
push eax
push edi
mov byte [esp + 0x1f], 0x50
call ebx
xor ebp, ebp
mov byte [esp + 0x1f], 0x4b
inc ebp
lea eax, [esp + 0x1f]
push ebp
push eax
push edi
call ebx
push ebp
lea eax, [esp + 0x38]
mov byte [esp + 0x38], 1
push eax
push edi
call ebx
push ebp
lea eax, [esp + 0x44]
mov byte [esp + 0x44], 2
push eax
push edi
call ebx
mov esi, dword [esp + 0x48]
push ebp
mov al, byte [esi]
mov byte [esp + 0x50], al
lea eax, [esp + 0x50]
push eax
push edi
call ebx
mov al, byte [esi + 1]
mov byte [esp + 0x58], al
lea eax, [esp + 0x58]
push ebp
push eax
push edi
call ebx
mov al, byte [esi + 2]
add esp, 0x48
mov byte [esp + 0x1c], al
lea eax, [esp + 0x1c]
push ebp
push eax
push edi
call ebx
mov al, byte [esi + 3]
mov byte [esp + 0x28], al
lea eax, [esp + 0x28]
push ebp
push eax
push edi
call ebx
mov al, byte [esi + 4]
mov byte [esp + 0x34], al
lea eax, [esp + 0x34]
push ebp
push eax
push edi
call ebx
mov al, byte [esi + 5]
mov byte [esp + 0x40], al
lea eax, [esp + 0x40]
push ebp
push eax
push edi
call ebx
mov al, byte [esi + 6]
mov byte [esp + 0x4c], al
lea eax, [esp + 0x4c]
push ebp
push eax
push edi
call ebx
mov al, byte [esi + 7]
mov byte [esp + 0x58], al
lea eax, [esp + 0x58]
push ebp
push eax
push edi
call ebx
mov al, byte [esi + 8]
add esp, 0x48
mov byte [esp + 0x1c], al
lea eax, [esp + 0x1c]
push ebp
push eax
push edi
call ebx
mov eax, dword [esi + 8]
shr eax, 8
mov byte [esp + 0x28], al
lea eax, [esp + 0x28]
push ebp
push eax
push edi
call ebx
mov al, byte [esi + 0xa]
mov byte [esp + 0x34], al
lea eax, [esp + 0x34]
push ebp
push eax
push edi
call ebx
mov al, byte [esi + 0xb]
mov byte [esp + 0x40], al
lea eax, [esp + 0x40]
push ebp
push eax
push edi
call ebx
mov al, byte [esi + 0xc]
mov byte [esp + 0x4c], al
lea eax, [esp + 0x4c]
push ebp
push eax
push edi
call ebx
mov eax, dword [esi + 0xc]
shr eax, 8
mov byte [esp + 0x58], al
lea eax, [esp + 0x58]
push ebp
push eax
push edi
call ebx
mov al, byte [esi + 0xe]
add esp, 0x48
mov byte [esp + 0x1c], al
lea eax, [esp + 0x1c]
push ebp
push eax
push edi
call ebx
mov al, byte [esi + 0xf]
mov byte [esp + 0x28], al
lea eax, [esp + 0x28]
push ebp
push eax
push edi
call ebx
mov al, byte [esi + 0x10]
mov byte [esp + 0x34], al
lea eax, [esp + 0x34]
push ebp
push eax
push edi
call ebx
mov eax, dword [esi + 0x10]
shr eax, 8
mov byte [esp + 0x40], al
lea eax, [esp + 0x40]
push ebp
push eax
push edi
call ebx
mov al, byte [esi + 0x12]
mov byte [esp + 0x4c], al
lea eax, [esp + 0x4c]
push ebp
push eax
push edi
call ebx
mov al, byte [esi + 0x13]
mov byte [esp + 0x58], al
lea eax, [esp + 0x58]
push ebp
push eax
push edi
call ebx
mov al, byte [esi + 0x14]
add esp, 0x48
mov byte [esp + 0x1c], al
lea eax, [esp + 0x1c]
push ebp
push eax
push edi
call ebx
mov eax, dword [esi + 0x14]
shr eax, 8
mov byte [esp + 0x28], al
lea eax, [esp + 0x28]
push ebp
push eax
push edi
call ebx
mov al, byte [esi + 0x16]
mov byte [esp + 0x34], al
lea eax, [esp + 0x34]
push ebp
push eax
push edi
call ebx
mov al, byte [esi + 0x17]
mov byte [esp + 0x40], al
lea eax, [esp + 0x40]
push ebp
push eax
push edi
call ebx
mov al, byte [esi + 0x18]
mov byte [esp + 0x4c], al
lea eax, [esp + 0x4c]
push ebp
push eax
push edi
call ebx
mov eax, dword [esi + 0x18]
shr eax, 8
mov byte [esp + 0x58], al
lea eax, [esp + 0x58]
push ebp
push eax
push edi
call ebx
mov al, byte [esi + 0x20]
add esp, 0x48
mov byte [esp + 0x1c], al
lea eax, [esp + 0x1c]
push ebp
push eax
push edi
call ebx
mov eax, dword [esi + 0x20]
shr eax, 8
mov byte [esp + 0x28], al
lea eax, [esp + 0x28]
push ebp
push eax
push edi
call ebx
mov al, byte [esi + 0x24]
mov byte [esp + 0x34], al
push ebp
lea eax, [esp + 0x38]
push eax
push edi
call ebx
mov eax, dword [esi + 0x24]
shr eax, 8
mov byte [esp + 0x40], al
lea eax, [esp + 0x40]
push ebp
push eax
push edi
call ebx
mov al, byte [esi + 0x28]
mov byte [esp + 0x4c], al
lea eax, [esp + 0x4c]
push ebp
push eax
push edi
call ebx
mov al, byte [esi + 0x29]
mov byte [esp + 0x58], al
lea eax, [esp + 0x58]
push ebp
push eax
push edi
call ebx
mov al, byte [esi + 0x2a]
add esp, 0x48
mov byte [esp + 0x1c], al
lea eax, [esp + 0x1c]
push ebp
push eax
push edi
call ebx
mov al, byte [esi + 0x2b]
mov byte [esp + 0x28], al
lea eax, [esp + 0x28]
push ebp
push eax
push edi
call ebx
mov al, byte [esi + 0x30]
mov byte [esp + 0x34], al
lea eax, [esp + 0x34]
push ebp
push eax
push edi
call ebx
mov eax, dword [esi + 0x30]
shr eax, 8
mov byte [esp + 0x40], al
lea eax, [esp + 0x40]
push ebp
push eax
push edi
call ebx
mov al, byte [esi + 0x32]
mov byte [esp + 0x4c], al
lea eax, [esp + 0x4c]
push ebp
push eax
push edi
call ebx
mov al, byte [esi + 0x33]
mov byte [esp + 0x58], al
lea eax, [esp + 0x58]
push ebp
push eax
push edi
call ebx
mov al, byte [esi + 0x34]
add esp, 0x48
mov byte [esp + 0x1c], al
lea eax, [esp + 0x1c]
push ebp
push eax
push edi
call ebx
mov eax, dword [esi + 0x34]
shr eax, 8
mov byte [esp + 0x28], al
push ebp
lea eax, [esp + 0x2c]
push eax
push edi
call ebx
mov al, byte [esi + 0x36]
mov byte [esp + 0x34], al
lea eax, [esp + 0x34]
push ebp
push eax
push edi
call ebx
mov al, byte [esi + 0x37]
mov byte [esp + 0x40], al
lea eax, [esp + 0x40]
push ebp
push eax
push edi
call ebx
push dword [esi + 0x18]
lea eax, [esi + 0x148]
push eax
push edi
call ebx
add esp, 0x3c
cmp eax, dword [esi + 0x18]
jne 0x40e957
cmp dword [esi + 0x20], 0
je 0x40e92f
push dword [esi + 0x20]
push dword [esi + 0x140]
push edi
call ebx
add esp, 0xc
cmp eax, dword [esi + 0x20]
jne 0x40e957
cmp dword [esi + 0x24], 0
je 0x40e953
push dword [esi + 0x24]
push dword [esi + 0x144]
push edi
call ebx
add esp, 0xc
xor edx, edx
cmp eax, dword [esi + 0x24]
push 0xa
pop ecx
cmove ecx, edx
mov eax, ecx
jmp 0x40e95a
xor eax, eax
jmp 0x40e95a
push 0xa
pop eax
pop edi
pop esi
pop ebp
pop ebx
pop ecx
ret