Function at 0x46fc7d
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
push ebx
push edi
push esi
push eax
mov ebx, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
lea esi, [esp + 3]
mov byte [esi], 0x50
xor ebp, ebp
inc ebp
push ebp
push esi
push ebx
call edi
add esp, 0xc
mov byte [esi], 0x4b
push ebp
push esi
push ebx
call edi
add esp, 0xc
mov byte [esi], 1
push ebp
push esi
push ebx
call edi
add esp, 0xc
mov byte [esi], 2
push ebp
push esi
push ebx
call edi
add esp, 0xc
mov ebx, dword [esp + 0x18]
mov al, byte [ebx]
mov byte [esi], al
push ebp
push esi
mov eax, dword [esp + 0x28]
push eax
call edi
add esp, 0xc
mov al, byte [ebx + 1]
mov byte [esi], al
push ebp
push esi
mov ebp, dword [esp + 0x28]
push ebp
call edi
add esp, 0xc
mov al, byte [ebx + 2]
mov byte [esi], al
xor eax, eax
inc eax
push eax
push esi
push ebp
call edi
add esp, 0xc
mov al, byte [ebx + 3]
mov byte [esi], al
xor eax, eax
inc eax
push eax
push esi
push ebp
call edi
add esp, 0xc
mov al, byte [ebx + 4]
mov byte [esi], al
xor eax, eax
inc eax
push eax
push esi
push ebp
call edi
add esp, 0xc
mov al, byte [ebx + 5]
mov byte [esi], al
xor eax, eax
inc eax
push eax
push esi
push ebp
call edi
add esp, 0xc
mov al, byte [ebx + 6]
mov byte [esi], al
xor eax, eax
inc eax
push eax
push esi
push ebp
call edi
add esp, 0xc
mov al, byte [ebx + 7]
mov byte [esi], al
xor eax, eax
inc eax
push eax
push esi
push ebp
call edi
add esp, 0xc
mov al, byte [ebx + 8]
mov byte [esi], al
xor eax, eax
inc eax
push eax
push esi
push ebp
call edi
add esp, 0xc
mov al, byte [ebx + 9]
mov byte [esi], al
xor eax, eax
inc eax
push eax
push esi
push ebp
call edi
add esp, 0xc
mov al, byte [ebx + 0xa]
mov byte [esi], al
xor eax, eax
inc eax
push eax
push esi
push ebp
call edi
add esp, 0xc
mov al, byte [ebx + 0xb]
mov byte [esi], al
xor eax, eax
inc eax
push eax
push esi
push ebp
call edi
add esp, 0xc
mov al, byte [ebx + 0xc]
mov byte [esi], al
xor eax, eax
inc eax
push eax
push esi
push ebp
call edi
add esp, 0xc
mov al, byte [ebx + 0xd]
mov byte [esi], al
xor eax, eax
inc eax
push eax
push esi
push ebp
call edi
add esp, 0xc
mov al, byte [ebx + 0xe]
mov byte [esi], al
xor eax, eax
inc eax
push eax
push esi
push ebp
call edi
add esp, 0xc
mov al, byte [ebx + 0xf]
mov byte [esi], al
xor eax, eax
inc eax
push eax
push esi
push ebp
call edi
add esp, 0xc
mov al, byte [ebx + 0x10]
mov byte [esi], al
xor eax, eax
inc eax
push eax
push esi
push ebp
call edi
add esp, 0xc
mov al, byte [ebx + 0x11]
mov byte [esi], al
xor eax, eax
inc eax
push eax
push esi
push ebp
call edi
add esp, 0xc
mov al, byte [ebx + 0x12]
mov byte [esi], al
xor eax, eax
inc eax
push eax
push esi
push ebp
call edi
add esp, 0xc
mov al, byte [ebx + 0x13]
mov byte [esi], al
xor eax, eax
inc eax
push eax
push esi
push ebp
call edi
add esp, 0xc
mov al, byte [ebx + 0x14]
mov byte [esi], al
xor eax, eax
inc eax
push eax
push esi
push ebp
call edi
add esp, 0xc
mov al, byte [ebx + 0x15]
mov byte [esi], al
xor eax, eax
inc eax
push eax
push esi
push ebp
call edi
add esp, 0xc
mov al, byte [ebx + 0x16]
mov byte [esi], al
xor eax, eax
inc eax
push eax
push esi
push ebp
call edi
add esp, 0xc
mov al, byte [ebx + 0x17]
mov byte [esi], al
xor eax, eax
inc eax
push eax
push esi
push ebp
call edi
add esp, 0xc
mov al, byte [ebx + 0x18]
mov byte [esi], al
xor eax, eax
inc eax
push eax
push esi
push ebp
call edi
add esp, 0xc
mov al, byte [ebx + 0x19]
mov byte [esi], al
xor eax, eax
inc eax
push eax
push esi
push ebp
call edi
add esp, 0xc
mov al, byte [ebx + 0x20]
mov byte [esi], al
xor eax, eax
inc eax
push eax
push esi
push ebp
call edi
add esp, 0xc
mov al, byte [ebx + 0x21]
mov byte [esi], al
xor eax, eax
inc eax
push eax
push esi
push ebp
call edi
add esp, 0xc
mov al, byte [ebx + 0x24]
mov byte [esi], al
xor eax, eax
inc eax
push eax
push esi
push ebp
call edi
add esp, 0xc
mov al, byte [ebx + 0x25]
mov byte [esi], al
xor eax, eax
inc eax
push eax
push esi
push ebp
call edi
add esp, 0xc
mov al, byte [ebx + 0x28]
mov byte [esi], al
xor eax, eax
inc eax
push eax
push esi
push ebp
call edi
add esp, 0xc
mov al, byte [ebx + 0x29]
mov byte [esi], al
xor eax, eax
inc eax
push eax
push esi
push ebp
call edi
add esp, 0xc
mov al, byte [ebx + 0x2a]
mov byte [esi], al
xor eax, eax
inc eax
push eax
push esi
push ebp
call edi
add esp, 0xc
mov al, byte [ebx + 0x2b]
mov byte [esi], al
xor eax, eax
inc eax
push eax
push esi
push ebp
call edi
add esp, 0xc
mov al, byte [ebx + 0x30]
mov byte [esi], al
xor eax, eax
inc eax
push eax
push esi
push ebp
call edi
add esp, 0xc
mov al, byte [ebx + 0x31]
mov byte [esi], al
xor eax, eax
inc eax
push eax
push esi
push ebp
call edi
add esp, 0xc
mov al, byte [ebx + 0x32]
mov byte [esi], al
xor eax, eax
inc eax
push eax
push esi
push ebp
call edi
add esp, 0xc
mov al, byte [ebx + 0x33]
mov byte [esi], al
xor eax, eax
inc eax
push eax
push esi
push ebp
call edi
add esp, 0xc
mov al, byte [ebx + 0x34]
mov byte [esi], al
xor eax, eax
inc eax
push eax
push esi
push ebp
call edi
add esp, 0xc
mov al, byte [ebx + 0x35]
mov byte [esi], al
xor ebx, ebx
inc ebx
push ebx
push esi
push ebp
call edi
add esp, 0xc
mov eax, dword [esp + 0x18]
mov al, byte [eax + 0x36]
mov byte [esi], al
push ebx
push esi
push ebp
call edi
mov edx, edi
add esp, 0xc
mov ecx, dword [esp + 0x18]
mov al, byte [ecx + 0x37]
mov byte [esi], al
push ebx
mov edi, ebp
mov ebp, edx
mov ebx, ecx
push esi
push edi
call edx
add esp, 0xc
lea eax, [ebx + 0x148]
push dword [ebx + 0x18]
push eax
push edi
call ebp
add esp, 0xc
mov esi, 0xa
cmp eax, dword [ebx + 0x18]
jne 0x46ffba
mov eax, dword [ebx + 0x20]
test eax, eax
je 0x46ff9f
push eax
push dword [ebx + 0x140]
push edi
call ebp
add esp, 0xc
cmp eax, dword [ebx + 0x20]
jne 0x46ffba
mov eax, dword [ebx + 0x24]
test eax, eax
je 0x46ffb8
push eax
push dword [ebx + 0x144]
push edi
call ebp
add esp, 0xc
cmp eax, dword [ebx + 0x24]
jne 0x46ffba
xor esi, esi
mov eax, esi
add esp, 4
pop esi
pop edi
pop ebx
pop ebp
ret