Function at 0x58ea20
Capabilities:
Enumerate pe sections

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x2c]
cmp eax, dword [ecx + 8]
jbe 0x58f1ee
sub esp, 0xac
lea edi, [esp + 0xbc]
xor eax, eax
call fcn.00465fe9
lea edi, [esp + 0x90]
call fcn.00465fe9
mov ecx, dword [esp + 0xb4]
cmp ecx, 0xa
jl 0x58edff
mov edx, dword [esp + 0xb0]
movzx ebx, byte [edx + 1]
movzx ebp, byte [edx]
shl ebp, 8
or ebx, ebp
mov word [esp + 0x90], bx
lea ebx, [ecx - 2]
cmp ebx, 1
jbe 0x58f1e1
lea ebx, [ecx - 4]
movzx ebp, byte [edx + 3]
movzx esi, byte [edx + 2]
shl esi, 8
or ebp, esi
cmp ebx, 1
jbe 0x58f1d5
movzx ebx, byte [edx + 5]
movzx esi, byte [edx + 4]
shl esi, 8
or ebx, esi
mov word [esp + 0x9c], bx
lea ebx, [ecx - 6]
cmp ebx, 1
jbe 0x58f1c9
movzx ebx, byte [edx + 7]
movzx esi, byte [edx + 6]
shl esi, 8
or ebx, esi
mov word [esp + 0x9e], bx
lea ebx, [ecx - 8]
cmp ebx, 1
jbe 0x58f1bd
movzx ebx, bp
movzx ebp, byte [edx + 9]
movzx esi, byte [edx + 8]
shl esi, 8
or ebp, esi
test ebx, ebx
je 0x58eb72
cmp ecx, ebx
jl 0x58ed33
mov word [esp + 0x30], bp
mov eax, dword [esp + 0xb8]
sub eax, ebx
mov esi, eax
neg eax
sar eax, 0x1f
and eax, ebx
add eax, edx
mov dword [esp], eax
sub ecx, ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], esi
call fcn.00582790
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], ecx
test edx, edx
jne 0x58eca3
xor eax, eax
mov ecx, dword [esp + 0xb4]
mov edx, dword [esp + 0xb0]
movzx ebp, word [esp + 0x30]
movzx ebx, bp
mov ebp, ebx
shl ebx, 1
add ebx, 0xa
cmp ecx, ebx
jl 0x58ebd7
mov dword [esp + 0x40], ebp
mov dword [esp + 0x3c], ebx
lea eax, [0x6c1560]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ebp
call fcn.0044bce0
mov eax, dword [esp + 0xc]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0xa4], eax
mov dword [esp + 0xa8], eax
mov ecx, dword [esp + 0xb4]
mov edx, dword [esp + 0xb8]
mov ebx, dword [esp + 0xb0]
xor ebp, ebp
jmp 0x58eeaf
mov dword [esp + 0x58], 0
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], 0
mov dword [esp + 0x64], 0
mov dword [esp], ebx
call fcn.00409720
mov eax, dword [esp + 4]
lea ecx, [0x69b600]
mov dword [esp + 0x58], ecx
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp], eax
call fcn.00409720
mov eax, dword [esp + 4]
lea ecx, [0x69b600]
mov dword [esp + 0x60], ecx
mov dword [esp + 0x64], eax
lea eax, [0x70482c]
mov dword [esp], eax
mov dword [esp + 4], 0x36
lea eax, [esp + 0x58]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004cde70
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x4c], ecx
lea edi, [esp + 0xbc]
lea esi, [esp + 0x90]
call fcn.004664ba
mov dword [esp + 0xd8], 0
mov dword [esp + 0xdc], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0xe0], eax
add esp, 0xac
ret
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 0
test ebx, ebx
je 0x58ecba
mov ebx, dword [ebx + 4]
mov dword [esp + 0x50], ebx
mov dword [esp + 0x54], ebp
lea eax, [0x6f8bbd]
mov dword [esp], eax
mov dword [esp + 4], 0x18
lea eax, [esp + 0x50]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004cde70
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x4c], ecx
lea edi, [esp + 0xbc]
lea esi, [esp + 0x90]
call fcn.004664ba
mov dword [esp + 0xd8], 0
mov dword [esp + 0xdc], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0xe0], eax
add esp, 0xac
ret
mov dword [esp + 0x58], 0
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], 0
mov dword [esp + 0x64], 0
mov dword [esp], ebx
call fcn.00409720
mov eax, dword [esp + 4]
lea ecx, [0x69b600]
mov dword [esp + 0x58], ecx
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp], eax
call fcn.00409720
mov eax, dword [esp + 4]
lea ecx, [0x69b600]
mov dword [esp + 0x60], ecx
mov dword [esp + 0x64], eax
lea eax, [0x70482c]
mov dword [esp], eax
mov dword [esp + 4], 0x36
lea eax, [esp + 0x58]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004cde70
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x4c], ecx
lea edi, [esp + 0xbc]
lea esi, [esp + 0x90]
call fcn.004664ba
mov dword [esp + 0xd8], 0
mov dword [esp + 0xdc], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0xe0], eax
add esp, 0xac
ret
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 0
mov dword [esp], ecx
call fcn.00409720
mov eax, dword [esp + 4]
lea ecx, [0x69b600]
mov dword [esp + 0x50], ecx
mov dword [esp + 0x54], eax
lea eax, [0x704862]
mov dword [esp], eax
mov dword [esp + 4], 0x36
lea eax, [esp + 0x50]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004cde70
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x4c], ecx
lea edi, [esp + 0xbc]
lea esi, [esp + 0x90]
call fcn.004664ba
mov dword [esp + 0xd8], 0
mov dword [esp + 0xdc], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0xe0], eax
add esp, 0xac
ret
lea ebp, [esi + 1]
mov ecx, dword [esp + 0xb8]
mov ecx, edx
mov edx, dword [esp + 0xb8]
mov ebx, edi
cmp ebp, eax
jge 0x58f16c
mov esi, ebp
shl ebp, 1
mov edi, ebx
lea ebx, [ebp + 0xa]
cmp ecx, ebx
jb 0x58f1b6
sub edx, ebp
add edx, 0xfffffff6
neg edx
sar edx, 0x1f
and ebx, edx
mov edx, ecx
sub ecx, ebp
add ecx, 0xfffffff6
cmp ecx, 1
jbe 0x58f1ac
movzx ebp, byte [edi + ebx + 1]
movzx ebx, byte [edi + ebx]
shl ebx, 8
or ebp, ebx
movzx ebx, bp
test ebx, ebx
je 0x58ee9a
cmp edx, ebx
jl 0x58f0a0
mov dword [esp + 0x38], esi
xor eax, eax
lea edi, [esp + 0x68]
call fcn.00465feb
mov ecx, dword [esp + 0xb8]
sub ecx, ebx
mov esi, ecx
neg ecx
sar ecx, 0x1f
and ecx, ebx
mov ebp, dword [esp + 0xb0]
add ecx, ebp
movzx ebp, word [esp + 0x9c]
mov word [esp + 0x32], bp
movzx ebp, word [esp + 0x9e]
mov dword [esp], ecx
sub edx, ebx
mov dword [esp + 4], edx
mov dword [esp + 8], esi
movzx edx, word [esp + 0x32]
mov word [esp + 0xc], dx
mov word [esp + 0xe], bp
call fcn.0058f990
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x34], ecx
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x2c]
lea edi, [esp + 0x68]
lea esi, [esp + 0x10]
call fcn.004664ce
lea edi, [esp + 0x7c]
lea esi, [esp + 0x68]
call fcn.004664ce
mov ecx, dword [esp + 0xa4]
mov ebp, dword [esp + 0xa0]
mov eax, dword [esp + 0x38]
cmp eax, ecx
jae 0x58f1a7
lea ecx, [eax + eax*4]
lea edi, [ebp + ecx*4]
mov ecx, dword [0x1eaa9f0]
test ecx, ecx
jne 0x58efc1
lea esi, [esp + 0x7c]
call fcn.004664ce
jmp 0x58efef
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], edx
lea eax, [0x6c1560]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x7c]
mov dword [esp + 8], eax
call fcn.004115f0
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x48]
mov ebx, dword [esp + 0x44]
mov ebp, dword [esp + 0x34]
test ebp, ebp
jne 0x58f010
mov edx, dword [esp + 0xb4]
mov esi, eax
mov edi, dword [esp + 0xb0]
mov eax, dword [esp + 0x40]
jmp 0x58ee9a
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 0
test edx, edx
je 0x58f027
mov edx, dword [edx + 4]
mov dword [esp + 0x50], edx
mov dword [esp + 0x54], ebx
lea eax, [0x6f8bbd]
mov dword [esp], eax
mov dword [esp + 4], 0x18
lea eax, [esp + 0x50]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004cde70
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x4c], ecx
lea edi, [esp + 0xbc]
lea esi, [esp + 0x90]
call fcn.004664ba
mov dword [esp + 0xd8], 0
mov dword [esp + 0xdc], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0xe0], eax
add esp, 0xac
ret
mov dword [esp + 0x58], 0
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], 0
mov dword [esp + 0x64], 0
mov dword [esp], ebx
call fcn.00409720
mov eax, dword [esp + 4]
lea ecx, [0x69b600]
mov dword [esp + 0x58], ecx
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0xb4]
mov dword [esp], eax
call fcn.00409720
mov eax, dword [esp + 4]
lea ecx, [0x69b600]
mov dword [esp + 0x60], ecx
mov dword [esp + 0x64], eax
lea eax, [0x70482c]
mov dword [esp], eax
mov dword [esp + 4], 0x36
lea eax, [esp + 0x58]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004cde70
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x4c], ecx
lea edi, [esp + 0xbc]
lea esi, [esp + 0x90]
call fcn.004664ba
mov dword [esp + 0xd8], 0
mov dword [esp + 0xdc], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0xe0], eax
add esp, 0xac
ret
lea edi, [esp + 0xbc]
lea esi, [esp + 0x90]
call fcn.004664ba
mov eax, dword [esp + 0x3c]
mov dword [esp + 0xd8], eax
mov dword [esp + 0xdc], 0
mov dword [esp + 0xe0], 0
add esp, 0xac
ret
call fcn.00465e00
mov eax, 1
call fcn.00465e00
mov eax, ebx
call fcn.00465e60
mov eax, 1
mov ecx, ebx
call fcn.00465e00
mov eax, 1
mov ecx, ebx
call fcn.00465e00
mov eax, 1
mov ecx, ebx
call fcn.00465e00
mov eax, 1
mov ecx, ebx
call fcn.00465e00
nop
call fcn.004649b0
jmp fcn.0058ea20