Function at 0x4fe1e0
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push ebx
push esi
push edi
mov edi, dword [ebp + 0xc]
mov esi, ecx
cmp edi, 0x14
jb case.0x4fe312.8
mov ebx, dword [ebp + 8]
movzx edx, word [ebx]
mov word [esi], dx
movzx eax, word [ebx + 2]
mov word [esi + 2], ax
movzx eax, word [ebx + 4]
mov word [esi + 4], ax
movzx eax, word [ebx + 6]
mov word [esi + 6], ax
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
mov dword [esi + 0x18], 0
mov dword [esi + 0x1c], 0
cmp edx, 2
je 0x4fe3ac
cmp edx, 9
je 0x4fe370
cmp edx, 1
jne 0x4fe281
cmp edi, 0x20
jb case.0x4fe312.8
mov eax, dword [ebx + 0x10]
mov dword [esi + 0x18], eax
mov dword [esi + 0x1c], 0
movzx eax, word [ebx + 0x18]
cdq
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], edx
movzx eax, word [ebx + 0x1a]
pop edi
mov dword [esi + 0xc], eax
mov eax, 0x20
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
cmp edx, 8
jne 0x4fe2fa
cmp edi, 0x28
jb case.0x4fe312.8
mov eax, dword [ebx + 0x14]
lea ecx, [edx + 0x20]
mov dword [esi + 0x10], eax
xor edx, edx
mov dword [esi + 0x14], 0
mov eax, dword [ebx + 0x18]
mov dword [esi + 0x18], eax
mov dword [esi + 0x1c], 0
movzx eax, word [ebx + 0x20]
mov dword [ebp + 0x10], eax
movzx eax, word [ebx + 0x22]
mov dword [esi + 0xc], eax
mov esi, dword [ebp + 0x10]
test esi, esi
je 0x4fe2ef
lea eax, [ecx + 0xc]
cmp eax, edi
ja case.0x4fe312.8
mov eax, dword [ecx + ebx + 8]
add ecx, 0xd
add ecx, eax
cmp ecx, edi
ja case.0x4fe312.8
cmp eax, 0x400
ja case.0x4fe312.8
inc edx
cmp edx, esi
jb 0x4fe2c3
pop edi
pop esi
mov eax, ecx
pop ebx
mov esp, ebp
pop ebp
ret 0xc
lea eax, [edx - 3]
mov ecx, 0x14
cmp eax, 0xb
ja case.0x4fe312.8
movzx eax, byte [eax + 0x4fe45c]
jmp dword [eax*4 + 0x4fe44c]
cmp edi, 0x18
jb case.0x4fe312.8
mov eax, dword [ebx + 0x14]
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], 0
lea ecx, [eax + 0x18]
cmp edi, ecx
jb case.0x4fe312.8
cmp eax, 0x40000000
ja case.0x4fe312.8
jmp case.0x4fe312.6
cmp edi, 0x18
jb case.0x4fe312.8
mov ecx, 0x18
cmp edx, 8
jb 0x4fe2ef
add ecx, 4
cmp edi, ecx
jb case.0x4fe312.8
pop edi
pop esi
mov eax, ecx
pop ebx
mov esp, ebp
pop ebp
ret 0xc
cmp edi, 0x38
jb case.0x4fe312.8
mov eax, dword [ebx + 0x10]
mov ecx, dword [ebx + 0x14]
mov dword [esi + 0x18], eax
mov dword [esi + 0x1c], ecx
mov eax, dword [ebx + 0x1c]
mov edx, dword [ebx + 0x18]
mov dword [esi + 0x10], edx
mov dword [esi + 0x14], eax
mov ecx, dword [ebx + 0x2c]
mov dword [ebp + 0xc], eax
mov dword [esi + 8], ecx
mov eax, dword [ebx + 0x30]
mov ebx, dword [ebp + 0xc]
mov dword [esi + 0xc], eax
mov dword [ebp + 8], 0x38
jmp 0x4fe3e0
cmp edi, 0x20
jb case.0x4fe312.8
mov eax, dword [ebx + 0x10]
mov dword [esi + 0x18], eax
mov dword [esi + 0x1c], 0
mov ecx, dword [ebx + 0x14]
mov dword [esi + 8], ecx
mov eax, dword [ebx + 0x18]
mov dword [esi + 0xc], eax
mov edx, dword [ebx + 0x1c]
xor ebx, ebx
mov dword [esi + 0x10], edx
mov dword [esi + 0x14], ebx
mov dword [ebp + 8], 0x20
cmp ecx, 0xffffffff
jne 0x4fe404
mov ecx, dword [ebp + 0x10]
xor eax, eax
and eax, ebx
mov ecx, dword [ecx + 0xc]
dec ecx
and ecx, edx
or ecx, eax
je 0x4fe404
mov esi, 1
mov dword [ebp + 0xc], 0
jmp 0x4fe415
xorps xmm0, xmm0
movlpd qword [ebp - 8], xmm0
mov eax, dword [ebp - 4]
mov esi, dword [ebp - 8]
mov dword [ebp + 0xc], eax
mov eax, dword [ebp + 0x10]
movzx ecx, word [eax + 0x16]
mov eax, edx
mov edx, ebx
call fcn.005a80a0
add eax, esi
adc edx, dword [ebp + 0xc]
shld edx, eax, 2
shl eax, 2
add eax, dword [ebp + 8]
adc edx, 0
test edx, edx
ja case.0x4fe312.8
jb 0x4fe443
cmp eax, edi
jbe 0x4fe443
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc