Function at 0x40f280
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x4c
mov eax, dword [esp + 0x68]
mov esi, dword [esp + 0x60]
mov ebx, dword [esp + 0x64]
cmp eax, 0xc
jle 0x40f62f
movzx eax, byte [0x434a45]
mov ebp, dword [esi]
mov edx, dword [str._..._]
mov ecx, dword [0x434a3d]
mov edi, dword [0x434a41]
cmp ebp, 0x3ff
mov dword [ebx], edx
mov dword [ebx + 4], ecx
mov dword [ebx + 8], edi
mov byte [ebx + 0xc], al
ja 0x40f2fd
lea edx, [ebp + ebp*2]
lea eax, [esp + 0x3c]
lea edi, [esp + 0x38]
mov dword [esp + 8], 0xd
lea ecx, [ebp + edx*4 + 0x42e3a0]
mov dword [esp + 4], edi
mov dword [esp], eax
mov dword [esp + 0xc], ecx
call sym.__gfortran_string_trim
mov ebp, dword [esp + 0x3c]
test ebp, ebp
jg 0x40f305
add esp, 0x4c
pop ebx
pop esi
pop edi
pop ebp
ret
mov edx, dword [esp + 0x38]
mov dword [esp], edx
call sym._free
mov esi, dword [esi]
test esi, esi
js 0x40f657
cmp esi, 0x3ff
jg 0x40f677
lea ecx, [esi + esi*2]
lea edi, [esi + ecx*4]
lea eax, [edi + 0x42e3a0]
mov ebp, dword [edi + 0x42e3a0]
movzx ecx, byte [eax + 0xc]
mov edx, dword [eax + 4]
mov esi, dword [eax + 8]
mov dword [ebx], ebp
mov dword [ebx + 4], edx
mov dword [ebx + 8], esi
mov byte [ebx + 0xc], cl
mov dword [esp + 4], ebx
mov dword [esp], 0xd
call sym.__gfortran_string_len_trim
cmp eax, 0xd
jg 0x40f697
test eax, eax
mov esi, 0
cmovns esi, eax
lea edi, [esi + 1]
mov dword [esp], edi
mov dword [esp + 0x2c], edi
call sym._malloc
mov ebp, eax
mov dword [esp + 4], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], ebx
add esi, 2
mov dword [esp + 0xc], 0x434518
mov dword [esp + 8], 1
mov dword [esp], eax
call sym.__gfortran_concat_string
mov dword [esp], esi
call sym._malloc
mov edx, dword [esp + 0x2c]
mov dword [esp + 4], eax
mov edi, eax
mov dword [esp + 0x14], 0x433ae6
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], ebp
mov dword [esp], esi
mov dword [esp + 8], edx
call sym.__gfortran_concat_string
mov dword [esp], ebp
call sym._free
cmp esi, 0xd
mov edx, 0xd
cmovbe edx, esi
cmp edx, 4
jb 0x40f500
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 0x40f512
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 0x40f512
test ecx, ecx
je 0x40f4b3
cmp ecx, 1
je 0x40f4a3
cmp ecx, 2
je 0x40f499
cmp ecx, 3
je 0x40f48f
cmp ecx, 4
je 0x40f485
cmp ecx, 5
je 0x40f47b
cmp ecx, 6
je 0x40f471
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 0x40f512
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 0x40f4b3
jmp 0x40f512
test edx, edx
je 0x40f512
movzx ecx, byte [edi]
test dl, 2
mov byte [ebx], cl
jne 0x40f620
cmp esi, 0xc
jle 0x40f530
mov dword [esp + 0x60], edi
add esp, 0x4c
pop ebx
pop esi
pop edi
pop ebp
jmp sym._free
mov edx, 0xd
add ebx, esi
mov ebp, 0x20202020
sub edx, esi
cmp edx, 4
jae 0x40f560
test edx, edx
je 0x40f517
test dl, 2
mov byte [ebx], 0x20
je 0x40f517
mov eax, 0x2020
mov word [ebx + edx - 2], ax
jmp 0x40f517
lea esi, [ebx + 4]
mov dword [ebx], 0x20202020
mov dword [ebx + edx - 4], 0x20202020
and esi, 0xfffffffc
sub ebx, esi
add edx, ebx
and edx, 0xfffffffc
cmp edx, 4
jb 0x40f517
lea ebx, [edx - 1]
mov eax, 4
mov ecx, edx
mov dword [esi], 0x20202020
shr ebx, 2
and ebx, 7
cmp eax, edx
jae 0x40f517
test ebx, ebx
je 0x40f5f4
cmp ebx, 1
je 0x40f5e6
cmp ebx, 2
je 0x40f5e0
cmp ebx, 3
je 0x40f5da
cmp ebx, 4
je 0x40f5d4
cmp ebx, 5
je 0x40f5ce
cmp ebx, 6
je 0x40f5c8
mov dword [esi + 4], ebp
mov eax, 8
mov dword [esi + eax], ebp
add eax, 4
mov dword [esi + eax], ebp
add eax, 4
mov dword [esi + eax], ebp
add eax, 4
mov dword [esi + eax], ebp
add eax, 4
mov dword [esi + eax], ebp
add eax, 4
mov dword [esi + eax], ebp
add eax, 4
cmp eax, ecx
jae 0x40f517
mov dword [esi + eax], ebp
mov dword [esi + eax + 4], ebp
mov dword [esi + eax + 8], ebp
mov dword [esi + eax + 0xc], ebp
mov dword [esi + eax + 0x10], ebp
mov dword [esi + eax + 0x14], ebp
mov dword [esi + eax + 0x18], ebp
mov dword [esi + eax + 0x1c], ebp
add eax, 0x20
cmp eax, ecx
jb 0x40f5f4
jmp 0x40f517
movzx ebp, word [edi + edx - 2]
mov word [ebx + edx - 2], bp
jmp 0x40f512
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_18_of_file_C:JTSDK64_Tools_tmpwsjtxlib77bitpackjt77.f90
call sym.__gfortran_runtime_error_at
mov dword [esp + 0xc], 0
mov dword [esp + 8], esi
mov dword [esp + 4], str.Index__ld_of_dimension_1_of_array_calls10_below_lower_bound_of__ld
mov dword [esp], str.At_line_25_of_file_C:JTSDK64_Tools_tmpwsjtxlib77bitpackjt77.f90
call sym.__gfortran_runtime_error_at
mov dword [esp + 0xc], 0x3ff
mov dword [esp + 8], esi
mov dword [esp + 4], str.Index__ld_of_dimension_1_of_array_calls10_above_upper_bound_of__ld
mov dword [esp], str.At_line_25_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_26_of_file_C:JTSDK64_Tools_tmpwsjtxlib77bitpackjt77.f90
call sym.__gfortran_runtime_error_at
mov esi, esi
lea edi, [edi]