Function at 0x40e630
Capabilities:
Enumerate pe sections
Resolve function by parsing pe exports

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x1ac
cmp dword [esp + 0x1cc], 0xc
mov ebx, dword [esp + 0x1c4]
jle 0x40ecb5
mov edx, dword [esp + 0x1c0]
mov eax, dword [esp + 0x1c8]
mov esi, dword [edx]
mov dword [eax], 1
cmp esi, 0x1f7ce7
jg 0x40e850
test esi, esi
je 0x40ebb0
cmp esi, 1
je 0x40ebe0
cmp esi, 2
je 0x40eb85
jle 0x40ead4
cmp esi, 0x3ea
jle 0x40ec10
cmp esi, 0x81fdb
jg 0x40e850
sub esi, 0x3eb
mov edi, 0xd517bc79
mov eax, esi
mul edi
mov edi, 0x59e60383
mov ecx, edx
shr ecx, 0xe
imul ebp, ecx, 0xffffb31d
add esi, ebp
mov eax, esi
mov ebp, esi
imul edi
sar ebp, 0x1f
sar edx, 8
mov edi, edx
mov edx, 0x4bda12f7
sub edi, ebp
imul eax, edi, 0xfffffd27
add esi, eax
mov eax, esi
mov ebp, esi
imul edx
sar ebp, 0x1f
sar edx, 3
sub edx, ebp
imul eax, edx, 0xffffffe5
mov ebp, edx
lea edx, [edi + 1]
add esi, eax
test edx, edx
jle 0x40ee1c
cmp edx, 0x1b
jg 0x40edfc
add edi, 0x41cc44
add ecx, 0x41cc44
mov dword [esp + 0x10], 1
mov dword [esp + 0x14], edi
lea edi, [esp + 0x3c]
mov dword [esp + 0xc], ecx
mov dword [esp + 8], 1
mov dword [esp], 2
mov dword [esp + 4], edi
call sym.__gfortran_concat_string
lea edx, [ebp + 1]
test edx, edx
jle 0x40ee1c
cmp edx, 0x1b
jg 0x40edfc
add ebp, 0x41cc44
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], edi
mov dword [esp + 0x14], ebp
lea ebp, [esp + 0x40]
mov dword [esp + 8], 2
mov dword [esp], 3
mov dword [esp + 4], ebp
call sym.__gfortran_concat_string
lea edx, [esi + 1]
test edx, edx
jle 0x40ee1c
cmp edx, 0x1b
jg 0x40edfc
add esi, 0x41cc44
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], 1
mov dword [esp + 0x14], esi
lea esi, [esp + 0x48]
mov dword [esp + 8], 3
mov dword [esp], 4
mov dword [esp + 4], esi
call sym.__gfortran_concat_string
mov ecx, dword [esp + 0x48]
mov dword [ebx + 4], 0x20202020
mov dword [ebx + 8], 0x20202020
mov byte [ebx + 0xc], 0x20
mov dword [ebx], ecx
mov dword [esp + 8], ebx
mov dword [esp + 4], 0xd
mov dword [esp], esi
call sym.__gfortran_adjustl
movzx edx, byte [esp + 0x54]
mov eax, dword [esp + 0x48]
mov edi, dword [esp + 0x4c]
mov ebp, dword [esp + 0x50]
mov dword [ebx], eax
mov dword [ebx + 4], edi
mov dword [ebx + 8], ebp
mov byte [ebx + 0xc], dl
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], 0xa
mov dword [esp + 0xc], 0x433a99
mov dword [esp + 8], 3
mov dword [esp + 4], esi
mov dword [esp], 0xd
call sym.__gfortran_concat_string
jmp 0x40eab8
lea ecx, [esi - 0x1f7ce8]
cmp ecx, 0x3fffff
jle 0x40eb64
sub esi, 0x5f7ce8
mov edi, 0x25e21621
mov eax, esi
mov ebp, esi
imul edi
sar ebp, 0x1f
sar edx, 0x14
mov ecx, edx
mov edx, 0x2a9e58e5
sub ecx, ebp
imul edi, ecx, 0xff93e0c8
add esi, edi
mov eax, esi
mov ebp, esi
imul edx
sar ebp, 0x1f
sar edx, 0xf
sub edx, ebp
imul edi, edx, 0xfffcff22
mov ebp, edx
mov edx, 0x6a8bde3d
add esi, edi
mov eax, esi
mov edi, esi
imul edx
sar edi, 0x1f
sar edx, 0xd
sub edx, edi
imul eax, edx, 0xffffb31d
mov dword [esp + 0x28], edx
mov edx, 0x59e60383
add esi, eax
mov eax, esi
mov edi, esi
imul edx
sar edi, 0x1f
sar edx, 8
sub edx, edi
imul edi, edx, 0xfffffd27
mov dword [esp + 0x2c], edx
add edi, esi
mov esi, 0x4bda12f7
mov eax, edi
imul esi
mov eax, edi
sar eax, 0x1f
sar edx, 3
mov esi, edx
sub esi, eax
lea eax, [ecx + 1]
imul edx, esi, 0xffffffe5
add edi, edx
test eax, eax
jle 0x40ed3c
cmp eax, 0x25
jg 0x40ed54
lea edx, [ebp + 1]
test edx, edx
jle 0x40ed74
cmp edx, 0x24
jg 0x40ed8c
add ebp, str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_ABCDEFGHIJKLMNOPQRSTUVWXYZ
add ecx, str._0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ
mov dword [esp + 0x10], 1
mov dword [esp + 0x14], ebp
lea ebp, [esp + 0x37]
mov dword [esp + 0xc], ecx
mov dword [esp + 8], 1
mov dword [esp], 2
mov dword [esp + 4], ebp
call sym.__gfortran_concat_string
mov ecx, dword [esp + 0x28]
add ecx, 1
test ecx, ecx
jle 0x40ede4
cmp ecx, 0xa
jg 0x40ed1c
mov eax, dword [esp + 0x28]
mov dword [esp + 0xc], ebp
lea ebp, [esp + 0x39]
mov dword [esp + 0x10], 1
mov dword [esp + 8], 2
mov dword [esp + 4], ebp
mov dword [esp], 3
add eax, str.0123456789
mov dword [esp + 0x14], eax
call sym.__gfortran_concat_string
mov ecx, dword [esp + 0x2c]
add ecx, 1
test ecx, ecx
jle 0x40ed04
cmp ecx, 0x1b
jg 0x40ec95
mov edx, dword [esp + 0x2c]
mov dword [esp + 0xc], ebp
lea ebp, [esp + 0x3c]
mov dword [esp + 0x10], 1
mov dword [esp + 8], 3
mov dword [esp + 4], ebp
mov dword [esp], 4
add edx, 0x41cc44
mov dword [esp + 0x14], edx
call sym.__gfortran_concat_string
lea ecx, [esi + 1]
test ecx, ecx
jle 0x40ed04
cmp ecx, 0x1b
jg 0x40ec95
add esi, 0x41cc44
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], ebp
mov dword [esp + 0x14], esi
lea esi, [esp + 0x40]
mov dword [esp + 8], 4
mov dword [esp], 5
mov dword [esp + 4], esi
call sym.__gfortran_concat_string
lea eax, [edi + 1]
test eax, eax
jle 0x40edac
cmp eax, 0x1b
jg 0x40edc4
add edi, 0x41cc44
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], esi
mov dword [esp + 0x14], edi
lea edi, [esp + 0x48]
mov dword [esp + 8], 5
mov dword [esp], 6
mov dword [esp + 4], edi
call sym.__gfortran_concat_string
movzx ebp, word [esp + 0x4c]
mov edx, dword [esp + 0x48]
mov ecx, 0x2020
mov dword [ebx + 6], 0x20202020
mov word [ebx + 0xa], cx
mov byte [ebx + 0xc], 0x20
mov dword [ebx], edx
mov word [ebx + 4], bp
mov dword [esp + 8], ebx
mov dword [esp + 4], 0xd
mov dword [esp], edi
call sym.__gfortran_adjustl
mov esi, dword [esp + 0x48]
mov dword [ebx], esi
mov ecx, dword [esp + 0x4c]
mov dword [ebx + 4], ecx
mov eax, dword [esp + 0x50]
mov dword [ebx + 8], eax
movzx edx, byte [esp + 0x54]
mov byte [ebx + 0xc], dl
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], str._TU_
mov dword [esp + 8], 1
mov dword [esp + 4], ebx
mov dword [esp], 0xd
call sym.__gfortran_string_index
mov dword [esp + 4], ebx
mov dword [esp], 0xd
mov ebp, eax
call sym.__gfortran_string_len_trim
cmp eax, 0xd
jg 0x40ece4
test ebp, ebp
je 0x40eb59
test eax, eax
mov esi, 0
cmovs eax, esi
cmp eax, ebp
jle 0x40eb59
movzx ecx, byte [0x434f16]
mov eax, dword [0x434f0a]
mov edx, dword [0x434f0e]
mov edi, dword [0x434f12]
mov dword [ebx], eax
mov dword [ebx + 4], edx
mov dword [ebx + 8], edi
mov byte [ebx + 0xc], cl
mov ebx, dword [esp + 0x1c8]
mov dword [ebx], 0
add esp, 0x1ac
pop ebx
pop esi
pop edi
pop ebp
ret
lea esi, [esp + 0x48]
mov dword [esp + 8], 0xd
mov dword [esp + 4], ebx
mov dword [esp + 0x48], ecx
mov dword [esp], esi
call sym.___packjt77_MOD_hash22
jmp 0x40ead4
mov esi, dword [0x434b80]
mov dword [ebx], esi
mov ecx, dword [0x434b84]
mov dword [ebx + 4], ecx
mov eax, dword [0x434b88]
mov dword [ebx + 8], eax
movzx edx, byte [0x434b8c]
mov byte [ebx + 0xc], dl
jmp 0x40ead4
mov eax, dword [str.DE___________QRZ__________CQ____________CQ__i3.3_]
mov dword [ebx], eax
mov edx, dword [0x434b6a]
mov dword [ebx + 4], edx
mov edi, dword [0x434b6e]
mov dword [ebx + 8], edi
movzx ecx, byte [0x434b72]
mov byte [ebx + 0xc], cl
jmp 0x40ead4
mov edi, dword [0x434b73]
mov dword [ebx], edi
mov ebp, dword [0x434b77]
mov dword [ebx + 4], ebp
mov esi, dword [0x434b7b]
mov dword [ebx + 8], esi
movzx ecx, byte [0x434b7f]
mov byte [ebx + 0xc], cl
jmp 0x40ead4
lea edi, [esp + 0x48]
lea ebp, [esp + 0x40]
mov dword [esp + 0x50], str.C:JTSDK64_Tools_tmpwsjtxlib77bitpackjt77.f90
mov dword [esp + 0x54], 0x304
mov dword [esp + 0x8c], ebx
sub esi, 3
mov dword [esp], edi
mov dword [esp + 0x90], 0xd
mov dword [esp + 0x78], 0
mov dword [esp + 0x4c], 0xffffffff
mov dword [esp + 0x7c], 0x434b8d
mov dword [esp + 0x80], 0xc
mov dword [esp + 0x48], 0x5000
call sym.__gfortran_st_write
mov dword [esp + 8], 4
mov dword [esp + 4], ebp
mov dword [esp], edi
mov dword [esp + 0x40], esi
call sym.__gfortran_transfer_integer_write
mov dword [esp], edi
call sym.__gfortran_st_write_done
jmp 0x40ead4
mov dword [esp + 0xc], 0x1b
mov dword [esp + 8], ecx
mov dword [esp + 4], str.Substring_out_of_bounds:_upper_bound___ld__of_c4_exceeds_string_length___ld_
mov dword [esp], str.At_line_811_of_file_C:JTSDK64_Tools_tmpwsjtxlib77bitpackjt77.f90
call sym.__gfortran_runtime_error_at
mov ebp, dword [esp + 0x1cc]
mov dword [esp + 0x10], 0xd
mov dword [esp + 8], 0x4337c3
mov dword [esp + 4], 0x433640
mov dword [esp], str.At_line_749_of_file_C:JTSDK64_Tools_tmpwsjtxlib77bitpackjt77.f90
mov dword [esp + 0xc], ebp
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_816_of_file_C:JTSDK64_Tools_tmpwsjtxlib77bitpackjt77.f90
call sym.__gfortran_runtime_error_at
mov dword [esp + 8], ecx
mov dword [esp + 4], str.Substring_out_of_bounds:_lower_bound___ld__of_c4_is_less_than_one
mov dword [esp], str.At_line_811_of_file_C:JTSDK64_Tools_tmpwsjtxlib77bitpackjt77.f90
call sym.__gfortran_runtime_error_at
mov dword [esp + 0xc], 0xa
mov dword [esp + 8], ecx
mov dword [esp + 4], str.Substring_out_of_bounds:_upper_bound___ld__of_c3_exceeds_string_length___ld_
mov dword [esp], str.At_line_811_of_file_C:JTSDK64_Tools_tmpwsjtxlib77bitpackjt77.f90
call sym.__gfortran_runtime_error_at
mov dword [esp + 8], eax
mov dword [esp + 4], str.Substring_out_of_bounds:_lower_bound___ld__of_c1_is_less_than_one
mov dword [esp], str.At_line_811_of_file_C:JTSDK64_Tools_tmpwsjtxlib77bitpackjt77.f90
call sym.__gfortran_runtime_error_at
mov dword [esp + 0xc], 0x25
mov dword [esp + 8], eax
mov dword [esp + 4], str.Substring_out_of_bounds:_upper_bound___ld__of_c1_exceeds_string_length___ld_
mov dword [esp], str.At_line_811_of_file_C:JTSDK64_Tools_tmpwsjtxlib77bitpackjt77.f90
call sym.__gfortran_runtime_error_at
mov dword [esp + 8], edx
mov dword [esp + 4], str.Substring_out_of_bounds:_lower_bound___ld__of_c2_is_less_than_one
mov dword [esp], str.At_line_811_of_file_C:JTSDK64_Tools_tmpwsjtxlib77bitpackjt77.f90
call sym.__gfortran_runtime_error_at
mov dword [esp + 0xc], 0x24
mov dword [esp + 8], edx
mov dword [esp + 4], str.Substring_out_of_bounds:_upper_bound___ld__of_c2_exceeds_string_length___ld_
mov dword [esp], str.At_line_811_of_file_C:JTSDK64_Tools_tmpwsjtxlib77bitpackjt77.f90
call sym.__gfortran_runtime_error_at
mov dword [esp + 8], eax
mov dword [esp + 4], str.Substring_out_of_bounds:_lower_bound___ld__of_c4_is_less_than_one
mov dword [esp], str.At_line_812_of_file_C:JTSDK64_Tools_tmpwsjtxlib77bitpackjt77.f90
call sym.__gfortran_runtime_error_at
mov dword [esp + 0xc], 0x1b
mov dword [esp + 8], eax
mov dword [esp + 4], str.Substring_out_of_bounds:_upper_bound___ld__of_c4_exceeds_string_length___ld_
mov dword [esp], str.At_line_812_of_file_C:JTSDK64_Tools_tmpwsjtxlib77bitpackjt77.f90
call sym.__gfortran_runtime_error_at
mov dword [esp + 8], ecx
mov dword [esp + 4], str.Substring_out_of_bounds:_lower_bound___ld__of_c3_is_less_than_one
mov dword [esp], str.At_line_811_of_file_C:JTSDK64_Tools_tmpwsjtxlib77bitpackjt77.f90
call sym.__gfortran_runtime_error_at
mov dword [esp + 0xc], 0x1b
mov dword [esp + 8], edx
mov dword [esp + 4], str.Substring_out_of_bounds:_upper_bound___ld__of_c4_exceeds_string_length___ld_
mov dword [esp], str.At_line_785_of_file_C:JTSDK64_Tools_tmpwsjtxlib77bitpackjt77.f90
call sym.__gfortran_runtime_error_at
mov dword [esp + 8], edx
mov dword [esp + 4], str.Substring_out_of_bounds:_lower_bound___ld__of_c4_is_less_than_one
mov dword [esp], str.At_line_785_of_file_C:JTSDK64_Tools_tmpwsjtxlib77bitpackjt77.f90
call sym.__gfortran_runtime_error_at
lea esi, [esi]
lea edi, [edi]