Function at 0x58e610
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x3c
mov edx, dword [0xd42044]
mov dword [esp + 0x2c], edx
xor edx, edx
mov eax, dword [esp + 0x50]
mov edi, dword [esp + 0x54]
mov esi, dword [esp + 0x58]
movzx ebp, ax
shr eax, 0x10
mov dword [esp], eax
test edi, edi
je 0x58e811
test esi, esi
je 0x58e7db
mov eax, 0x5e6ea9af
mul esi
mov ecx, edx
shr ecx, 0xb
imul eax, ecx, 0x15b0
mov ecx, esi
sub ecx, eax
cmp ecx, 7
jbe 0x58e806
lea esi, [esi]
nop
lea edx, [ecx - 8]
mov dword [esp + 0x14], ecx
mov eax, edx
mov dword [esp + 0x18], edx
shr eax, 3
mov dword [esp + 0x1c], esi
lea eax, [edi + eax*8 + 8]
mov dword [esp + 0x10], eax
lea esi, [esi]
movzx eax, byte [edi]
movzx edx, byte [edi + 2]
add edi, 8
movzx ecx, byte [edi - 3]
add eax, ebp
movzx ebp, byte [edi - 1]
mov esi, eax
movzx eax, byte [edi - 7]
mov dword [esp + 4], esi
add eax, esi
movzx esi, byte [edi - 5]
lea ebx, [edx + eax]
movzx edx, byte [edi - 2]
add esi, ebx
mov dword [esp + 8], ebx
movzx ebx, byte [edi - 4]
mov dword [esp + 0xc], esi
add ebx, esi
mov esi, dword [esp + 4]
add ecx, ebx
add eax, esi
mov esi, dword [esp + 8]
add edx, ecx
add ebp, edx
add eax, esi
mov esi, dword [esp + 0xc]
add eax, esi
add eax, ebx
add eax, ecx
add eax, edx
add eax, ebp
add dword [esp], eax
mov eax, dword [esp + 0x10]
cmp edi, eax
jne 0x58e690
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
and edx, 0xfffffff8
add edx, 8
cmp edx, ecx
jae 0x58e800
mov ebx, dword [esp + 0x10]
movzx eax, byte [ebx]
add ebp, eax
lea eax, [edx + 1]
add dword [esp], ebp
mov edi, dword [esp]
cmp eax, ecx
jae 0x58e79d
movzx eax, byte [ebx + 1]
add ebp, eax
lea eax, [edx + 2]
add edi, ebp
mov dword [esp], edi
cmp eax, ecx
jae 0x58e79d
movzx eax, byte [ebx + 2]
add ebp, eax
lea eax, [edx + 3]
add edi, ebp
mov dword [esp], edi
cmp eax, ecx
jae 0x58e79d
movzx eax, byte [ebx + 3]
add ebp, eax
lea eax, [edx + 4]
add edi, ebp
mov dword [esp], edi
cmp eax, ecx
jae 0x58e79d
movzx eax, byte [ebx + 4]
add ebp, eax
lea eax, [edx + 5]
add edi, ebp
mov dword [esp], edi
cmp eax, ecx
jae 0x58e79d
movzx eax, byte [ebx + 5]
add ebp, eax
lea eax, [edx + 6]
add edi, ebp
mov dword [esp], edi
cmp eax, ecx
jae 0x58e79d
movzx eax, byte [ebx + 6]
add ebp, eax
lea eax, [edx + 7]
add edi, ebp
mov dword [esp], edi
cmp eax, ecx
jae 0x58e79d
movzx eax, byte [ebx + 7]
add ebp, eax
add edi, ebp
mov dword [esp], edi
mov edi, dword [esp + 0x10]
mov eax, ecx
sub eax, edx
add edi, eax
mov ebx, 0x80078071
mov eax, ebp
mul ebx
mov eax, dword [esp]
shr edx, 0xf
imul edx, edx, 0xfff1
sub ebp, edx
mul ebx
mov ebx, edx
shr ebx, 0xf
imul ebx, ebx, 0xfff1
sub dword [esp], ebx
sub esi, ecx
mov ecx, 0x15b0
jne 0x58e670
mov eax, dword [esp]
shl eax, 0x10
add eax, ebp
mov edx, dword [esp + 0x2c]
sub edx, dword [0xd42044]
jne 0x58e818
add esp, 0x3c
pop ebx
pop esi
pop edi
pop ebp
ret
mov edi, dword [esp + 0x10]
jmp 0x58e7a7
mov dword [esp + 0x10], edi
xor edx, edx
jmp 0x58e708
mov eax, 1
jmp 0x58e7e3
call fcn.00401690
nop
nop
nop
sub esp, 0x3c
mov eax, dword [0xd42044]
mov dword [esp + 0x2c], eax
xor eax, eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x10], 0xffffffff
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x40]
mov dword [esp], eax
call 0x58e870
mov edx, dword [esp + 0x2c]
sub edx, dword [0xd42044]
jne 0x58e86a
add esp, 0x3c
ret
call fcn.00401690
nop
push ebp
vpxor xmm0, xmm0, xmm0
mov ebp, esp
push edi
push esi
push ebx
and esp, 0xfffffff0
sub esp, 0x50
mov edi, dword [ebp + 0xc]
mov eax, dword [0xd42044]
mov dword [esp + 0x4c], eax
xor eax, eax
mov eax, dword [ebp + 0x10]
lea esi, [esp + 0x14]
vmovdqu xmmword [esp + 0x1c], xmm0
vmovdqu xmmword [esp + 0x2c], xmm0
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 0x14]
vmovdqu xmmword [esp + 0x3c], xmm0
mov dword [esp + 0x18], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0x20], eax
mov eax, dword [edi]
mov dword [esp + 0x24], eax
mov eax, dword [ebp + 0x18]
mov dword [esp], esi
mov dword [esp + 4], eax
call fcn.0058ee10
mov ebx, eax
test eax, eax
je 0x58e8f0
mov eax, dword [esp + 0x4c]
sub eax, dword [0xd42044]
jne 0x58e932
lea esp, [ebp - 0xc]
mov eax, ebx
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 4], 4
mov dword [esp], esi
call fcn.0058ebd0
mov ebx, eax
cmp eax, 1
je 0x58e920
mov dword [esp], esi
call fcn.0058f5c0
test ebx, ebx
mov eax, 0xfffffffb
cmove ebx, eax
jmp 0x58e8d4
mov eax, dword [esp + 0x28]
mov dword [edi], eax
mov dword [esp], esi
call fcn.0058f5c0
mov ebx, eax
jmp 0x58e8d4
call fcn.00401690
nop
nop
nop
nop
nop
nop
nop
nop
nop
sub esp, 0x2c
mov eax, dword [0xd42044]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x30]
mov dword [esp], 0
mov dword [esp + 4], eax
call fcn.0058ed80
mov edx, dword [esp + 0x1c]
sub edx, dword [0xd42044]
jne 0x58e970
add esp, 0x2c
ret
call fcn.00401690
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop