Function at 0x40e150
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x3c
mov eax, dword [esp + 0x58]
mov edx, dword [esp + 0x50]
mov ebx, dword [esp + 0x54]
cmp eax, 0xc
jle 0x40e5da
movzx eax, byte [0x434a45]
mov ebp, dword [0x43ade0]
mov ecx, dword [str._..._]
mov esi, dword [0x434a3d]
mov edi, dword [0x434a41]
test ebp, ebp
mov dword [ebx], ecx
mov dword [ebx + 4], esi
mov dword [ebx + 8], edi
mov byte [ebx + 0xc], al
jle 0x40e283
mov ecx, dword [edx]
cmp dword [0x41d100], ecx
je 0x40e5d0
mov edx, 1
lea esi, [edx + 1]
cmp ebp, esi
jl 0x40e283
cmp esi, 0x3e9
je 0x40e4e0
cmp dword [esi*4 + 0x41d0fc], ecx
je 0x40e290
lea edi, [esi + 1]
mov edx, esi
cmp ebp, edi
jl 0x40e283
cmp dword [edi*4 + 0x41d0fc], ecx
je 0x40e290
lea eax, [edi + 1]
mov edx, edi
cmp ebp, eax
jl 0x40e283
cmp dword [eax*4 + 0x41d0fc], ecx
je 0x40e290
lea edi, [esi + 3]
lea edx, [esi + 2]
cmp ebp, edi
jl 0x40e283
cmp dword [edi*4 + 0x41d0fc], ecx
je 0x40e290
lea eax, [esi + 4]
mov edx, edi
cmp ebp, eax
jl 0x40e283
cmp dword [eax*4 + 0x41d0fc], ecx
je 0x40e290
lea edi, [esi + 5]
mov edx, eax
cmp ebp, edi
jl 0x40e283
cmp dword [edi*4 + 0x41d0fc], ecx
je 0x40e290
lea eax, [esi + 6]
mov edx, edi
cmp ebp, eax
jl 0x40e283
cmp dword [eax*4 + 0x41d0fc], ecx
je 0x40e290
lea edi, [esi + 7]
mov edx, eax
cmp ebp, edi
jl 0x40e283
cmp dword [edi*4 + 0x41d0fc], ecx
je 0x40e290
add esi, 8
mov edx, edi
cmp ebp, esi
jl 0x40e283
cmp dword [esi*4 + 0x41d0fc], ecx
je 0x40e290
mov edx, esi
lea esi, [edx + 1]
cmp ebp, esi
jge 0x40e1bc
add esp, 0x3c
pop ebx
pop esi
pop edi
pop ebp
ret
lea ebp, [edx + edx*2]
lea ecx, [edx + ebp*4 + 0x41e0c0]
movzx edx, byte [ecx + 0xc]
mov esi, dword [ecx]
mov eax, dword [ecx + 4]
mov edi, dword [ecx + 8]
mov dword [ebx], esi
mov dword [ebx + 4], eax
mov dword [ebx + 8], edi
mov byte [ebx + 0xc], dl
mov dword [esp + 4], ebx
mov dword [esp], 0xd
call sym.__gfortran_string_len_trim
cmp eax, 0xd
jg 0x40e602
test eax, eax
mov esi, 0
cmovns esi, eax
lea ebp, [esi + 1]
mov dword [esp], ebp
mov dword [esp + 0x2c], ebp
call sym._malloc
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x10], esi
add esi, 2
mov dword [esp + 4], eax
mov dword [esp + 0x14], ebx
mov ebp, eax
mov dword [esp + 0xc], 0x434518
mov dword [esp + 8], 1
mov dword [esp], ecx
call sym.__gfortran_concat_string
mov dword [esp], esi
call sym._malloc
mov edi, eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x14], 0x433ae6
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], ebp
mov dword [esp + 4], edi
mov dword [esp], esi
mov dword [esp + 8], eax
call sym.__gfortran_concat_string
mov dword [esp], ebp
call sym._free
cmp esi, 0xd
mov edx, 0xd
cmovbe edx, esi
cmp edx, 4
jae 0x40e380
test edx, edx
jne 0x40e4c0
cmp esi, 0xc
jle 0x40e481
mov dword [esp + 0x50], edi
add esp, 0x3c
pop ebx
pop esi
pop edi
pop ebp
jmp sym._free
mov eax, dword [edi]
mov ebp, edi
mov dword [ebx], eax
mov ecx, dword [edi + edx - 4]
lea eax, [ebx + 4]
and eax, 0xfffffffc
mov dword [ebx + edx - 4], ecx
mov ecx, ebx
sub ecx, eax
add edx, ecx
sub ebp, ecx
and edx, 0xfffffffc
cmp edx, 4
jb 0x40e362
mov dword [esp + 0x2c], edx
lea ecx, [edx - 1]
mov edx, dword [ebp]
shr ecx, 2
mov dword [eax], edx
and ecx, 7
mov edx, 4
cmp edx, dword [esp + 0x2c]
jae 0x40e362
test ecx, ecx
je 0x40e434
cmp ecx, 1
je 0x40e420
cmp ecx, 2
je 0x40e416
cmp ecx, 3
je 0x40e40c
cmp ecx, 4
je 0x40e402
cmp ecx, 5
je 0x40e3f8
cmp ecx, 6
je 0x40e3ee
mov ecx, dword [ebp + 4]
mov edx, 8
mov dword [eax + 4], ecx
mov ecx, dword [ebp + edx]
mov dword [eax + edx], ecx
add edx, 4
mov ecx, dword [ebp + edx]
mov dword [eax + edx], ecx
add edx, 4
mov ecx, dword [ebp + edx]
mov dword [eax + edx], ecx
add edx, 4
mov ecx, dword [ebp + edx]
mov dword [eax + edx], ecx
add edx, 4
mov ecx, dword [ebp + edx]
mov dword [eax + edx], ecx
add edx, 4
mov ecx, dword [ebp + edx]
mov dword [eax + edx], ecx
add edx, 4
cmp edx, dword [esp + 0x2c]
jae 0x40e362
mov ecx, dword [ebp + edx]
mov dword [eax + edx], ecx
mov ecx, dword [ebp + edx + 4]
mov dword [eax + edx + 4], ecx
mov ecx, dword [ebp + edx + 8]
mov dword [eax + edx + 8], ecx
mov ecx, dword [ebp + edx + 0xc]
mov dword [eax + edx + 0xc], ecx
mov ecx, dword [ebp + edx + 0x10]
mov dword [eax + edx + 0x10], ecx
mov ecx, dword [ebp + edx + 0x14]
mov dword [eax + edx + 0x14], ecx
mov ecx, dword [ebp + edx + 0x18]
mov dword [eax + edx + 0x18], ecx
mov ecx, dword [ebp + edx + 0x1c]
mov dword [eax + edx + 0x1c], ecx
add edx, 0x20
cmp edx, dword [esp + 0x2c]
jb 0x40e434
jmp 0x40e362
mov eax, 0xd
add ebx, esi
mov ebp, 0x20202020
sub eax, esi
cmp eax, 4
jae 0x40e504
test eax, eax
je 0x40e36b
test al, 2
mov byte [ebx], 0x20
je 0x40e36b
mov edx, 0x2020
mov word [ebx + eax - 2], dx
jmp 0x40e36b
movzx ecx, byte [edi]
test dl, 2
mov byte [ebx], cl
je 0x40e362
movzx ebp, word [edi + edx - 2]
mov word [ebx + edx - 2], bp
jmp 0x40e362
mov dword [esp + 0xc], 0x3e8
mov dword [esp + 8], 0x3e9
mov dword [esp + 4], str.Index__ld_of_dimension_1_of_array_ihash22_above_upper_bound_of__ld
mov dword [esp], str.At_line_53_of_file_C:JTSDK64_Tools_tmpwsjtxlib77bitpackjt77.f90
call sym.__gfortran_runtime_error_at
lea esi, [ebx + 4]
mov dword [ebx], 0x20202020
mov dword [ebx + eax - 4], 0x20202020
and esi, 0xfffffffc
sub ebx, esi
add eax, ebx
and eax, 0xfffffffc
cmp eax, 4
jb 0x40e36b
lea ebx, [eax - 1]
mov edx, 4
mov ecx, eax
mov dword [esi], 0x20202020
shr ebx, 2
and ebx, 7
cmp edx, eax
jae 0x40e36b
test ebx, ebx
je 0x40e59c
cmp ebx, 1
je 0x40e58e
cmp ebx, 2
je 0x40e588
cmp ebx, 3
je 0x40e582
cmp ebx, 4
je 0x40e57c
cmp ebx, 5
je 0x40e576
cmp ebx, 6
je 0x40e570
mov dword [esi + 4], ebp
mov edx, 8
mov dword [esi + edx], ebp
add edx, 4
mov dword [esi + edx], ebp
add edx, 4
mov dword [esi + edx], ebp
add edx, 4
mov dword [esi + edx], ebp
add edx, 4
mov dword [esi + edx], ebp
add edx, 4
mov dword [esi + edx], ebp
add edx, 4
cmp edx, ecx
jae 0x40e36b
mov dword [esi + edx], ebp
mov dword [esi + edx + 4], ebp
mov dword [esi + edx + 8], ebp
mov dword [esi + edx + 0xc], ebp
mov dword [esi + edx + 0x10], ebp
mov dword [esi + edx + 0x14], ebp
mov dword [esi + edx + 0x18], ebp
mov dword [esi + edx + 0x1c], ebp
add edx, 0x20
cmp edx, ecx
jb 0x40e59c
jmp 0x40e36b
mov ecx, 0x41e0c0
jmp 0x40e29a
mov dword [esp + 0x10], 0xd
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x4337c3
mov dword [esp + 4], 0x433640
mov dword [esp], str.At_line_47_of_file_C:JTSDK64_Tools_tmpwsjtxlib77bitpackjt77.f90
call sym.__gfortran_runtime_error_at
mov dword [esp + 0xc], 0xd
mov dword [esp + 8], eax
mov dword [esp + 4], str.Substring_out_of_bounds:_upper_bound___ld__of_c13_exceeds_string_length___ld_
mov dword [esp], str.At_line_55_of_file_C:JTSDK64_Tools_tmpwsjtxlib77bitpackjt77.f90
call sym.__gfortran_runtime_error_at
lea esi, [esi]
lea edi, [edi]