Function at 0x406a87
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]
xor ebp, ebp
inc ebp
mov byte [esp + 0x13], 0x50
push ebp
push eax
push edi
call ebx
push ebp
lea eax, [esp + 0x23]
mov byte [esp + 0x23], 0x4b
push eax
push edi
call ebx
push ebp
lea eax, [esp + 0x38]
mov byte [esp + 0x38], 3
push eax
push edi
call ebx
push ebp
lea eax, [esp + 0x44]
mov byte [esp + 0x44], 4
push eax
push edi
call ebx
mov esi, dword [esp + 0x48]
push ebp
mov al, byte [esi + 2]
mov byte [esp + 0x50], al
lea eax, [esp + 0x50]
push eax
push edi
call ebx
mov al, byte [esi + 3]
mov byte [esp + 0x58], al
lea eax, [esp + 0x58]
push ebp
push eax
push edi
call ebx
mov al, byte [esi + 0x2c]
add esp, 0x48
mov byte [esp + 0x1c], al
lea eax, [esp + 0x1c]
push ebp
push eax
push edi
call ebx
mov al, byte [esi + 0x2d]
mov byte [esp + 0x28], al
lea eax, [esp + 0x28]
push ebp
push eax
push edi
call ebx
mov al, byte [esi + 6]
mov byte [esp + 0x34], al
lea eax, [esp + 0x34]
push ebp
push eax
push edi
call ebx
mov al, byte [esi + 7]
mov byte [esp + 0x40], al
lea eax, [esp + 0x40]
push ebp
push eax
push edi
call ebx
mov al, byte [esi + 8]
mov byte [esp + 0x4c], al
lea eax, [esp + 0x4c]
push ebp
push eax
push edi
call ebx
mov eax, dword [esi + 8]
shr eax, 8
mov byte [esp + 0x58], al
lea eax, [esp + 0x58]
push ebp
push eax
push edi
call ebx
mov al, byte [esi + 0xa]
add esp, 0x48
mov byte [esp + 0x1c], al
lea eax, [esp + 0x1c]
push ebp
push eax
push edi
call ebx
mov al, byte [esi + 0xb]
mov byte [esp + 0x28], al
lea eax, [esp + 0x28]
push ebp
push eax
push edi
call ebx
mov al, byte [esi + 0xc]
mov byte [esp + 0x34], al
lea eax, [esp + 0x34]
push ebp
push eax
push edi
call ebx
mov eax, dword [esi + 0xc]
shr eax, 8
mov byte [esp + 0x40], al
lea eax, [esp + 0x40]
push ebp
push eax
push edi
call ebx
mov al, byte [esi + 0xe]
mov byte [esp + 0x4c], al
lea eax, [esp + 0x4c]
push ebp
push eax
push edi
call ebx
mov al, byte [esi + 0xf]
mov byte [esp + 0x58], al
lea eax, [esp + 0x58]
push ebp
push eax
push edi
call ebx
mov al, byte [esi + 0x10]
add esp, 0x48
mov byte [esp + 0x1c], al
lea eax, [esp + 0x1c]
push ebp
push eax
push edi
call ebx
mov eax, dword [esi + 0x10]
shr eax, 8
mov byte [esp + 0x28], al
lea eax, [esp + 0x28]
push ebp
push eax
push edi
call ebx
mov al, byte [esi + 0x12]
mov byte [esp + 0x34], al
lea eax, [esp + 0x34]
push ebp
push eax
push edi
call ebx
mov al, byte [esi + 0x13]
mov byte [esp + 0x40], al
lea eax, [esp + 0x40]
push ebp
push eax
push edi
call ebx
mov al, byte [esi + 0x14]
mov byte [esp + 0x4c], al
lea eax, [esp + 0x4c]
push ebp
push eax
push edi
call ebx
mov eax, dword [esi + 0x14]
shr eax, 8
mov byte [esp + 0x58], al
lea eax, [esp + 0x58]
push ebp
push eax
push edi
call ebx
mov al, byte [esi + 0x16]
add esp, 0x48
mov byte [esp + 0x1c], al
lea eax, [esp + 0x1c]
push ebp
push eax
push edi
call ebx
mov al, byte [esi + 0x17]
mov byte [esp + 0x28], al
lea eax, [esp + 0x28]
push ebp
push eax
push edi
call ebx
mov al, byte [esi + 0x18]
mov byte [esp + 0x34], al
lea eax, [esp + 0x34]
push ebp
push eax
push edi
call ebx
mov eax, dword [esi + 0x18]
shr eax, 8
mov byte [esp + 0x40], al
lea eax, [esp + 0x40]
push ebp
push eax
push edi
call ebx
mov al, byte [esi + 0x1c]
mov byte [esp + 0x4c], al
lea eax, [esp + 0x4c]
push ebp
push eax
push edi
call ebx
mov eax, dword [esi + 0x1c]
shr eax, 8
mov byte [esp + 0x58], al
lea eax, [esp + 0x58]
push ebp
push eax
push edi
call ebx
add esp, 0x48
lea eax, [esi + 0x148]
push dword [esi + 0x18]
push eax
push edi
call ebx
add esp, 0xc
cmp eax, dword [esi + 0x18]
jne 0x406cd1
cmp dword [esi + 0x1c], 0
je 0x406ccd
push dword [esi + 0x1c]
push dword [esi + 0x13c]
push edi
call ebx
add esp, 0xc
xor ecx, ecx
cmp eax, dword [esi + 0x1c]
push 0xa
pop edx
cmovne ecx, edx
mov eax, ecx
jmp 0x406cd4
xor eax, eax
jmp 0x406cd4
push 0xa
pop eax
pop edi
pop esi
pop ebp
pop ebx
pop ecx
ret