Function at 0x58c560
Capabilities:
Enumerate pe sections

Disassembly:
push ebx
mov ebx, dword [esp + 0x10]
push ebp
mov ebp, dword [esp + 0x10]
push esi
push edi
cmp ebp, 0xb
ja case.default.0x58c575
jmp dword [ebp*4 + 0x58c7ec]
pop edi
mov ecx, 0x10
mov dword [ebx + 0xc], 0
pop esi
mov dword [ebx], 0
mov eax, 0x401
pop ebp
mov word [ecx + ebx], ax
pop ebx
ret
pop edi
mov ecx, 0x10
mov eax, 1
pop esi
pop ebp
mov word [ecx + ebx], ax
pop ebx
ret
mov eax, dword [esp + 0x14]
mov ecx, 0x10
pop edi
pop esi
pop ebp
movsx eax, byte [eax]
cdq
mov dword [ebx], eax
mov eax, 4
mov dword [ebx + 4], edx
mov word [ecx + ebx], ax
pop ebx
ret
mov ecx, dword [esp + 0x14]
pop edi
pop esi
pop ebp
movsx eax, byte [ecx]
movzx ecx, byte [ecx + 1]
shl eax, 8
or eax, ecx
mov ecx, 0x10
cdq
mov dword [ebx], eax
mov eax, 4
mov dword [ebx + 4], edx
mov word [ecx + ebx], ax
pop ebx
ret
mov edx, dword [esp + 0x14]
pop edi
pop esi
pop ebp
movzx eax, byte [edx + 1]
movsx ecx, byte [edx]
shl eax, 8
shl ecx, 0x10
or eax, ecx
movzx ecx, byte [edx + 2]
or eax, ecx
mov ecx, 0x10
cdq
mov dword [ebx], eax
mov eax, 4
mov dword [ebx + 4], edx
mov word [ecx + ebx], ax
pop ebx
ret
mov edx, dword [esp + 0x14]
pop edi
pop esi
pop ebp
movzx eax, byte [edx + 1]
movzx ecx, byte [edx + 2]
shl eax, 8
or eax, ecx
movsx ecx, byte [edx]
shl eax, 8
shl ecx, 0x18
or eax, ecx
movzx ecx, byte [edx + 3]
or eax, ecx
mov ecx, 0x10
cdq
mov dword [ebx], eax
mov eax, 4
mov dword [ebx + 4], edx
mov word [ecx + ebx], ax
pop ebx
ret
mov ecx, dword [esp + 0x14]
movzx eax, byte [ecx + 2]
cdq
mov esi, eax
mov edi, edx
movzx eax, byte [ecx + 3]
shld edi, esi, 8
cdq
shl esi, 8
or edi, edx
or esi, eax
movzx eax, byte [ecx + 4]
shld edi, esi, 8
cdq
shl esi, 8
or edi, edx
or esi, eax
movzx eax, byte [ecx + 5]
shld edi, esi, 8
cdq
shl esi, 8
or edi, edx
or esi, eax
movsx eax, byte [ecx]
movzx ecx, byte [ecx + 1]
shl eax, 8
or eax, ecx
add esi, 0
cdq
mov ecx, 0x10
adc edi, eax
mov dword [ebx], esi
mov dword [ebx + 4], edi
mov eax, 4
pop edi
pop esi
pop ebp
mov word [ecx + ebx], ax
pop ebx
ret
mov edi, dword [esp + 0x14]
movzx eax, byte [edi]
cdq
mov esi, eax
mov ecx, edx
movzx eax, byte [edi + 1]
shld ecx, esi, 8
cdq
or ecx, edx
shl esi, 8
or esi, eax
movzx eax, byte [edi + 2]
shld ecx, esi, 8
cdq
or ecx, edx
shl esi, 8
or esi, eax
movzx eax, byte [edi + 3]
shld ecx, esi, 8
cdq
shl esi, 8
or esi, eax
movzx eax, byte [edi + 4]
cdq
mov dword [esp + 0x18], esi
mov ecx, eax
movzx eax, byte [edi + 5]
mov esi, edx
shld esi, ecx, 8
cdq
shl ecx, 8
or esi, edx
or ecx, eax
movzx eax, byte [edi + 6]
shld esi, ecx, 8
cdq
shl ecx, 8
or esi, edx
or ecx, eax
movzx eax, byte [edi + 7]
shld esi, ecx, 8
cdq
shl ecx, 8
or esi, edx
or ecx, eax
xor edx, edx
mov eax, dword [esp + 0x18]
add edx, ecx
mov dword [ebx], edx
adc eax, esi
mov dword [ebx + 4], eax
cmp ebp, 6
jne 0x58c76d
pop edi
mov ecx, 0x10
mov eax, 4
pop esi
movzx eax, ax
pop ebp
mov word [ecx + ebx], ax
pop ebx
ret
mov ecx, eax
and ecx, 0x7ff00000
cmp ecx, 0x7ff00000
jne 0x58c78b
and eax, 0xfffff
or edx, eax
mov eax, 1
jne 0x58c790
mov eax, 8
pop edi
mov ecx, 0x10
movzx eax, ax
pop esi
movzx eax, ax
pop ebp
mov word [ecx + ebx], ax
pop ebx
ret
lea eax, [ebp - 8]
mov dword [ebx + 4], 0
pop edi
mov dword [ebx], eax
mov ecx, 0x10
pop esi
mov eax, 4
pop ebp
mov word [ecx + ebx], ax
pop ebx
ret
mov eax, dword [esp + 0x14]
mov ecx, 0x10
mov dword [ebx + 8], eax
lea eax, [ebp - 0xc]
and ebp, 1
shr eax, 1
pop edi
mov dword [ebx + 0xc], eax
pop esi
movzx eax, word [ebp*2 + 0x6162e4]
pop ebp
mov word [ecx + ebx], ax
pop ebx
ret