Function at 0x408990
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x1bc
cmp dword [esp + 0x1d8], 0xc
mov ebp, dword [esp + 0x1d0]
jle 0x4098e9
cmp dword [ebp], 0x30414433
mov eax, dword [esp + 0x1d4]
mov dword [eax], 0xffffffff
je 0x409084
cmp word [ebp], 0x5833
je 0x408ff1
movzx esi, word [ebp]
cmp si, word [0x433f06]
je 0x409070
cmp dword [ebp], 0x205a5251
je 0x409050
cmp si, word [str.CQ_CQ_At_line_81_of_file_C:JTSDK64_Tools_tmpwsjtxlib77bitpackjt77.f90]
je 0x4090d0
cmp si, word [0x433a99]
je 0x4090f0
cmp byte [ebp], 0x3c
je 0x4092aa
mov dword [esp + 4], ebp
mov dword [esp], 0xd
call sym.__gfortran_string_len_trim
cmp eax, 0xd
jg 0x409958
test eax, eax
mov esi, 0
cmovns esi, eax
mov dword [esp + 0x2c], esi
cmp eax, 1
jle 0x4093b0
mov ecx, dword [esp + 0x2c]
movzx ebx, byte [ebp + ecx - 1]
mov byte [esp + 0x28], bl
sub ebx, 0x30
cmp bl, 9
jbe 0x4093c0
lea esi, [ecx - 1]
cmp esi, 1
je 0x408b90
movzx edx, byte [ebp + esi - 1]
sub edx, 0x30
cmp dl, 9
jbe 0x409240
lea esi, [ecx - 2]
cmp esi, 1
je 0x408b90
movzx eax, byte [ebp + esi - 1]
sub eax, 0x30
cmp al, 9
jbe 0x409240
lea esi, [ecx - 3]
cmp esi, 1
je 0x408b90
movzx ebx, byte [ebp + esi - 1]
sub ebx, 0x30
cmp bl, 9
jbe 0x409240
lea esi, [ecx - 4]
cmp esi, 1
je 0x408b90
movzx edx, byte [ebp + esi - 1]
sub edx, 0x30
cmp dl, 9
jbe 0x409240
lea esi, [ecx - 5]
cmp esi, 1
je 0x408b90
movzx eax, byte [ebp + esi - 1]
sub eax, 0x30
cmp al, 9
jbe 0x409240
lea esi, [ecx - 6]
cmp esi, 1
je 0x408b90
movzx ebx, byte [ebp + esi - 1]
sub ebx, 0x30
cmp bl, 9
jbe 0x409240
lea esi, [ecx - 7]
cmp esi, 1
je 0x408b90
movzx edx, byte [ebp + esi - 1]
sub edx, 0x30
cmp dl, 9
jbe 0x409240
lea esi, [ecx - 8]
cmp esi, 1
je 0x408b90
movzx eax, byte [ebp + esi - 1]
sub eax, 0x30
cmp al, 9
jbe 0x409240
lea esi, [ecx - 9]
cmp esi, 1
je 0x408b90
movzx ebx, byte [ebp + esi - 1]
sub ebx, 0x30
cmp bl, 9
jbe 0x409240
lea esi, [ecx - 0xa]
cmp esi, 1
je 0x408b90
movzx edx, byte [ebp + esi - 1]
sub edx, 0x30
cmp dl, 9
jbe 0x409240
cmp ecx, 0xc
je 0x408b84
movzx ecx, byte [ebp + 1]
sub ecx, 0x30
cmp cl, 9
jbe 0x409234
mov esi, 1
lea esi, [esi]
lea eax, [esi + 1]
cmp dword [esp + 0x2c], eax
jl 0x408ce8
mov edi, 1
xor ecx, ecx
movzx edx, byte [ebp + eax - 1]
xor ebx, ebx
lea edx, [edx - 0x41]
cmp dl, 0x19
lea edx, [eax + 1]
setbe bl
cmp dword [esp + 0x2c], edx
jl 0x408cde
movzx edx, byte [ebp + eax]
sub edx, 0x41
cmp dl, 0x1a
lea edx, [eax + 2]
adc ebx, 0
cmp dword [esp + 0x2c], edx
jl 0x408cde
movzx edx, byte [ebp + eax + 1]
sub edx, 0x41
cmp dl, 0x1a
lea edx, [eax + 3]
adc ebx, 0
cmp dword [esp + 0x2c], edx
jl 0x408cde
movzx edx, byte [ebp + eax + 2]
sub edx, 0x41
cmp dl, 0x1a
lea edx, [eax + 4]
adc ebx, 0
cmp dword [esp + 0x2c], edx
jl 0x408cde
movzx edx, byte [ebp + eax + 3]
sub edx, 0x41
cmp dl, 0x1a
lea edx, [eax + 5]
adc ebx, 0
cmp dword [esp + 0x2c], edx
jl 0x408cde
movzx edx, byte [ebp + eax + 4]
sub edx, 0x41
cmp dl, 0x1a
lea edx, [eax + 6]
adc ebx, 0
cmp dword [esp + 0x2c], edx
jl 0x408cde
movzx edx, byte [ebp + eax + 5]
sub edx, 0x41
cmp dl, 0x1a
lea edx, [eax + 7]
adc ebx, 0
cmp dword [esp + 0x2c], edx
jl 0x408cde
movzx edx, byte [ebp + eax + 6]
sub edx, 0x41
cmp dl, 0x1a
lea edx, [eax + 8]
adc ebx, 0
cmp dword [esp + 0x2c], edx
jl 0x408cde
movzx edx, byte [ebp + eax + 7]
sub edx, 0x41
cmp dl, 0x1a
lea edx, [eax + 9]
adc ebx, 0
cmp dword [esp + 0x2c], edx
jl 0x408cde
movzx edx, byte [ebp + eax + 8]
sub edx, 0x41
cmp dl, 0x1a
lea edx, [eax + 0xa]
adc ebx, 0
cmp dword [esp + 0x2c], edx
jl 0x408cde
movzx edx, byte [ebp + eax + 9]
sub edx, 0x41
cmp dl, 0x1a
lea edx, [eax + 0xb]
adc ebx, 0
cmp dword [esp + 0x2c], edx
jl 0x408cde
movzx edx, byte [ebp + eax + 0xa]
sub edx, 0x41
cmp dl, 0x1a
adc ebx, 0
add eax, 0xc
cmp dword [esp + 0x2c], eax
jl 0x408cde
movzx eax, byte [ebp + 0xc]
sub eax, 0x41
cmp al, 0x1a
adc ebx, 0
mov edx, edi
test dl, dl
je 0x4093d0
lea eax, [esp + 0x44]
lea edx, [esp + 0x40]
lea ecx, [esp + 0x3c]
mov dword [esp + 0x10], 0xd
mov dword [esp], ebp
lea edi, [ebp + 1]
mov dword [esp + 0xc], eax
mov dword [esp + 8], edx
mov dword [esp + 4], ecx
call sym.___packjt77_MOD_save_hash_call
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], ebp
mov dword [esp + 8], 1
mov dword [esp + 4], 0x41c7a0
mov dword [esp], 0x26
call sym.__gfortran_string_index
mov dword [esp + 0x10], 0
mov esi, eax
mov dword [esp + 0xc], edi
sub esi, 1
mov dword [esp + 8], 1
mov dword [esp + 4], 0x41c7a0
mov dword [esp], 0x26
mov ebx, 0x26
call sym.__gfortran_string_index
mov ecx, eax
mov eax, esi
mov dword [esp + 0x10], 0
imul ebx
mov dword [esp + 8], 1
mov dword [esp + 4], 0x41c7a0
mov dword [esp], 0x26
mov esi, eax
lea eax, [ecx - 1]
mov edi, edx
cdq
add esi, eax
lea eax, [ebp + 2]
adc edi, edx
mov dword [esp + 0xc], eax
call sym.__gfortran_string_index
mov ecx, eax
mov eax, esi
mov dword [esp + 0x10], 0
imul edi, edi, 0x26
lea esi, [ecx - 1]
mov dword [esp + 8], 1
mul ebx
mov dword [esp + 4], 0x41c7a0
mov dword [esp], 0x26
add edx, edi
mov edi, esi
sar edi, 0x1f
add esi, eax
lea eax, [ebp + 3]
adc edi, edx
mov dword [esp + 0xc], eax
call sym.__gfortran_string_index
mov ecx, eax
mov eax, esi
mov dword [esp + 0x10], 0
imul edi, edi, 0x26
lea esi, [ecx - 1]
mov dword [esp + 8], 1
mul ebx
mov dword [esp + 4], 0x41c7a0
mov dword [esp], 0x26
add edx, edi
mov edi, esi
sar edi, 0x1f
add esi, eax
lea eax, [ebp + 4]
adc edi, edx
mov dword [esp + 0xc], eax
call sym.__gfortran_string_index
mov ecx, eax
mov eax, esi
mov dword [esp + 8], 1
imul edi, edi, 0x26
lea esi, [ecx - 1]
mov dword [esp + 4], 0x41c7a0
mul ebx
mov dword [esp], 0x26
mov dword [esp + 0x10], 0
add edx, edi
mov edi, esi
sar edi, 0x1f
add esi, eax
lea eax, [ebp + 5]
adc edi, edx
mov dword [esp + 0xc], eax
call sym.__gfortran_string_index
mov ecx, eax
mov eax, esi
mov dword [esp + 0x10], 0
imul edi, edi, 0x26
lea esi, [ecx - 1]
mov dword [esp + 8], 1
mul ebx
mov dword [esp + 4], 0x41c7a0
mov dword [esp], 0x26
add edx, edi
mov edi, esi
sar edi, 0x1f
add esi, eax
lea eax, [ebp + 6]
adc edi, edx
mov dword [esp + 0xc], eax
call sym.__gfortran_string_index
mov ecx, eax
mov eax, esi
mov dword [esp + 0x10], 0
imul edi, edi, 0x26
lea esi, [ecx - 1]
mov dword [esp + 8], 1
mul ebx
mov dword [esp + 4], 0x41c7a0
mov dword [esp], 0x26
add edx, edi
mov edi, esi
sar edi, 0x1f
add esi, eax
lea eax, [ebp + 7]
adc edi, edx
mov dword [esp + 0xc], eax
call sym.__gfortran_string_index
mov ecx, eax
mov eax, esi
mov dword [esp + 0x10], 0
imul edi, edi, 0x26
lea esi, [ecx - 1]
mov dword [esp + 8], 1
mul ebx
mov dword [esp + 4], 0x41c7a0
mov dword [esp], 0x26
add edx, edi
mov edi, esi
sar edi, 0x1f
add esi, eax
lea eax, [ebp + 8]
adc edi, edx
mov dword [esp + 0xc], eax
call sym.__gfortran_string_index
mov ecx, eax
mov eax, esi
mov dword [esp + 0x10], 0
imul edi, edi, 0x26
lea esi, [ecx - 1]
mov dword [esp + 8], 1
mul ebx
mov dword [esp + 4], 0x41c7a0
mov dword [esp], 0x26
add edx, edi
mov edi, esi
sar edi, 0x1f
add esi, eax
lea eax, [ebp + 9]
adc edi, edx
mov dword [esp + 0xc], eax
call sym.__gfortran_string_index
mov ecx, eax
mov eax, esi
mov dword [esp + 0x10], 0
imul edi, edi, 0x26
lea esi, [ecx - 1]
mov dword [esp + 8], 1
mul ebx
mov dword [esp + 4], 0x41c7a0
mov dword [esp], 0x26
add edx, edi
mov edi, esi
sar edi, 0x1f
add esi, eax
adc edi, edx
add ebp, 0xa
mov dword [esp + 0xc], ebp
call sym.__gfortran_string_index
mov ecx, eax
mov eax, esi
imul edi, edi, 0x26
lea esi, [ecx - 1]
mul ebx
add edx, edi
mov edi, esi
sar edi, 0x1f
add esi, eax
adc edi, edx
imul ecx, edi, 0xf4bf0973
imul eax, esi, 0xa
add ecx, eax
mov eax, 0xf4bf0973
mul esi
add edx, ecx
mov eax, edx
shr eax, 0xa
add eax, 0x1f7ce8
jmp 0x409055
movzx eax, byte [ebp + 2]
sub eax, 0x41
cmp al, 0x19
ja 0x4089d5
lea edx, [esp + 0x58]
lea edi, [ebp + 2]
mov dword [esp + 0x10], 4
mov dword [esp + 0xc], 0x433f05
mov dword [esp + 8], 1
mov dword [esp + 0x14], edi
mov dword [esp + 4], edx
mov dword [esp], 5
call sym.__gfortran_concat_string
movzx ebx, byte [esp + 0x5c]
mov ecx, dword [esp + 0x58]
mov byte [esp + 0x57], 0x20
mov dword [esp + 0x52], ecx
mov byte [esp + 0x56], bl
jmp 0x4089d5
mov eax, 1
mov ebp, dword [esp + 0x1d4]
mov dword [ebp], eax
add esp, 0x1bc
pop ebx
pop esi
pop edi
pop ebp
ret
movzx eax, byte [0x433f08]
cmp byte [ebp + 2], al
jne 0x4089e6
xor eax, eax
jmp 0x409055
lea edx, [ebp + 4]
lea ecx, [esp + 0x58]
mov dword [esp + 0x10], 3
mov dword [esp + 0xc], str.3D0QDE
mov dword [esp + 8], 3
mov dword [esp + 0x14], edx
mov dword [esp + 4], ecx
mov dword [esp], 6
call sym.__gfortran_concat_string
movzx esi, word [esp + 0x5c]
mov ebx, dword [esp + 0x58]
mov dword [esp + 0x52], ebx
mov word [esp + 0x56], si
jmp 0x4089c9
movzx edx, byte [0x433a98]
cmp byte [ebp + 2], dl
jne 0x408a00
mov eax, 2
jmp 0x409055
movzx ecx, byte [0x433a9b]
cmp byte [ebp + 2], cl
jne 0x408a0d
mov dword [esp + 4], ebp
mov dword [esp], 0xd
xor esi, esi
call sym.__gfortran_string_len_trim
cmp eax, 0xd
jg 0x409938
test eax, eax
mov edi, esi
cmovns edi, eax
lea ebx, [edi - 4]
mov dword [esp + 0x2c], edi
cmp ebx, 3
ja 0x4092a0
movzx ecx, byte [ebp + 3]
lea edx, [ecx - 0x41]
cmp dl, 0x19
setbe bl
sub ecx, 0x30
cmp cl, 9
movzx edx, bl
setbe cl
cmp eax, 4
movzx ecx, cl
je 0x409381
movzx edi, byte [ebp + 4]
lea ebx, [edi - 0x41]
cmp bl, 0x1a
lea ebx, [edi - 0x30]
adc edx, 0
cmp bl, 0xa
adc ecx, 0
cmp eax, 5
je 0x409381
movzx edi, byte [ebp + 5]
lea ebx, [edi - 0x41]
cmp bl, 0x1a
lea ebx, [edi - 0x30]
adc edx, 0
cmp bl, 0xa
adc ecx, 0
cmp eax, 6
je 0x4091a6
movzx eax, byte [ebp + 6]
lea ebx, [eax - 0x41]
cmp bl, 0x1a
adc edx, 0
sub eax, 0x30
cmp al, 0xa
adc ecx, 0
cmp ecx, 3
jne 0x409381
test edx, edx
jne 0x409381
add ebp, 3
lea esi, [esp + 0x48]
mov dword [esp + 0x60], str.C:JTSDK64_Tools_tmpwsjtxlib77bitpackjt77.f90
mov dword [esp + 0x9c], ebp
lea ebp, [esp + 0x58]
mov dword [esp + 0x64], 0x2a1
mov dword [esp + 0xa0], 3
mov dword [esp + 0x88], 0
mov dword [esp], ebp
mov dword [esp + 0x5c], 0xffffffff
mov dword [esp + 0x58], 0x4080
call sym.__gfortran_st_read
mov dword [esp + 8], 4
mov dword [esp + 4], esi
mov dword [esp], ebp
call sym.__gfortran_transfer_integer
mov dword [esp], ebp
call sym.__gfortran_st_read_done
mov eax, dword [esp + 0x48]
add eax, 3
and eax, 0xfffffff
jmp 0x409055
mov esi, 2
lea esi, [esi]
xor edi, edi
xor ebx, ebx
mov edx, 1
mov dword [esp + 0x28], edi
lea esi, [esi]
movzx eax, byte [ebp + edx - 1]
lea ecx, [eax - 0x30]
cmp cl, 0xa
adc dword [esp + 0x28], 0
sub eax, 0x41
cmp al, 0x1a
adc ebx, 0
add edx, 1
cmp esi, edx
jg 0x409250
lea edi, [esi - 2]
mov ecx, dword [esp + 0x28]
cmp edi, 1
seta al
test ebx, ebx
sete bl
or eax, ebx
mov edi, eax
lea eax, [esi + 1]
cmp eax, dword [esp + 0x2c]
jle 0x408ba4
xor ebx, ebx
jmp 0x408cde
cmp byte [ebp], 0x3c
jne 0x408a3e
lea eax, [esp + 0x3c]
lea esi, [esp + 0x44]
lea ebx, [esp + 0x40]
mov dword [esp + 0x10], 0xd
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 0xc], esi
mov dword [esp + 8], ebx
call sym.___packjt77_MOD_save_hash_call
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x433ae6
mov dword [esp + 8], 1
mov dword [esp + 4], ebp
mov dword [esp], 0xd
call sym.__gfortran_string_index
lea edx, [eax - 1]
mov edi, eax
cmp edx, 0xd
jg 0x409918
mov esi, eax
mov ecx, 0
mov ebx, 0xd
sub esi, 2
mov eax, ebx
mov dword [esp + 0x28], ebx
cmovs esi, ecx
lea ebx, [ebp + 1]
mov dword [esp], ebp
cmp esi, 0xd
cmovbe eax, esi
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
call sym._memmove
cmp edi, 0xe
mov edx, dword [esp + 0x28]
jle 0x40958e
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], ebp
mov dword [esp + 8], 1
mov dword [esp + 4], 0x41c7a0
mov dword [esp], 0x26
call sym.__gfortran_string_index
mov dword [esp + 0x10], 0
mov esi, eax
mov dword [esp + 0xc], ebx
jmp 0x408d49
sub edx, 1
cmp edx, 3
ja 0x409391
test ecx, ecx
je 0x409683
cmp byte [ebp], 0x3c
je 0x4092aa
mov dword [esp + 4], ebp
mov dword [esp], 0xd
call sym.__gfortran_string_len_trim
jmp 0x408a30
mov esi, dword [esp + 0x2c]
jmp 0x408b90
mov esi, ecx
jmp 0x409240
xor eax, eax
cmp esi, 2
setne al
add eax, 1
cmp eax, ecx
jle 0x408ce8
cmp ebx, 3
jg 0x408ce8
lea ecx, [esp + 0x3c]
lea ebx, [esp + 0x44]
lea edi, [esp + 0x40]
mov dword [esp + 0x10], 0xd
mov dword [esp], ebp
mov dword [esp + 0xc], ebx
mov dword [esp + 8], edi
mov dword [esp + 4], ecx
call sym.___packjt77_MOD_save_hash_call
cmp esi, 2
je 0x4098a2
cmp esi, 3
jne 0x409432
mov esi, dword [ebp]
movzx ebp, word [ebp + 4]
mov dword [esp + 0x52], esi
mov word [esp + 0x56], bp
lea edi, [esp + 0x52]
mov dword [esp + 0x10], 0
mov dword [esp + 8], 1
mov dword [esp + 4], 0x41cba0
mov dword [esp], 0x25
lea esi, [esp + 0x54]
mov dword [esp + 0xc], edi
lea ebp, [esp + 0x55]
call sym.__gfortran_string_index
lea ecx, [esp + 0x53]
mov dword [esp + 0x10], 0
mov dword [esp + 8], 1
mov dword [esp + 4], 0x41cb60
mov dword [esp], 0x24
mov ebx, eax
mov dword [esp + 0xc], ecx
lea ebx, [ebx - 1]
call sym.__gfortran_string_index
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], 0
mov edi, eax
mov dword [esp + 8], 1
mov dword [esp + 4], 0x41cb40
mov dword [esp], 0xa
call sym.__gfortran_string_index
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], 0
mov dword [esp + 8], 1
mov dword [esp + 4], str._ABCDEFGHIJKLMNOPQRSTUVWXYZ
mov dword [esp], 0x1b
mov dword [esp + 0x28], eax
call sym.__gfortran_string_index
lea edx, [esp + 0x56]
mov dword [esp + 8], 1
mov dword [esp + 4], str._ABCDEFGHIJKLMNOPQRSTUVWXYZ
mov dword [esp], 0x1b
mov ebp, eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], edx
lea ebp, [ebp - 1]
call sym.__gfortran_string_index
mov esi, eax
lea eax, [esp + 0x57]
mov dword [esp + 0x10], 0
mov dword [esp + 8], 1
mov dword [esp + 4], str._ABCDEFGHIJKLMNOPQRSTUVWXYZ
lea esi, [esi + esi*2 - 3]
mov dword [esp + 0xc], eax
mov dword [esp], 0x1b
call sym.__gfortran_string_index
imul edx, ebx, 0x6c1f38
lea ecx, [edi - 1]
mov ebx, dword [esp + 0x28]
imul edi, ecx, 0x300de
sub ebx, 1
imul ecx, ebx, 0x4ce3
lea ebx, [esi + esi*8]
add edx, edi
imul edi, ebp, 0x2d9
add edx, ecx
add edx, edi
add edx, ebx
lea eax, [eax + edx + 0x5f7ce7]
and eax, 0xfffffff
jmp 0x409055
sub edx, esi
lea edi, [ebp + esi]
mov esi, 0x20202020
cmp edx, 4
jae 0x4095c0
test edx, edx
je 0x409346
test dl, 2
mov byte [edi], 0x20
je 0x409346
mov word [edi + edx - 2], 0x2020
jmp 0x409346
lea ecx, [edi + 4]
mov dword [edi], 0x20202020
mov dword [edi + edx - 4], 0x20202020
and ecx, 0xfffffffc
sub edi, ecx
add edi, edx
mov eax, edi
and eax, 0xfffffffc
cmp eax, 4
jb 0x409346
lea edi, [eax - 1]
mov edx, 4
mov dword [ecx], 0x20202020
shr edi, 2
and edi, 7
cmp edx, eax
jae 0x409346
test edi, edi
je 0x409658
cmp edi, 1
je 0x40964a
cmp edi, 2
je 0x409644
cmp edi, 3
je 0x40963e
cmp edi, 4
je 0x409638
cmp edi, 5
je 0x409632
cmp edi, 6
je 0x40962c
mov dword [ecx + 4], esi
mov edx, 8
mov dword [ecx + edx], esi
add edx, 4
mov dword [ecx + edx], esi
add edx, 4
mov dword [ecx + edx], esi
add edx, 4
mov dword [ecx + edx], esi
add edx, 4
mov dword [ecx + edx], esi
add edx, 4
mov dword [ecx + edx], esi
add edx, 4
cmp edx, eax
jae 0x409346
mov dword [ecx + edx], esi
mov dword [ecx + edx + 4], esi
mov dword [ecx + edx + 8], esi
mov dword [ecx + edx + 0xc], esi
mov dword [ecx + edx + 0x10], esi
mov dword [ecx + edx + 0x14], esi
mov dword [ecx + edx + 0x18], esi
mov dword [ecx + edx + 0x1c], esi
add edx, 0x20
cmp edx, eax
jb 0x409658
jmp 0x409346
mov edi, dword [esp + 0x2c]
add ebp, 3
lea ecx, [esp + 0x4e]
sub edi, 3
je 0x4097fe
mov edx, edi
xor ebx, ebx
and edx, 7
je 0x40970f
cmp edx, 1
je 0x409700
cmp edx, 2
je 0x4096f5
cmp edx, 3
je 0x4096ea
cmp edx, 4
je 0x4096df
cmp edx, 5
je 0x4096d4
cmp edx, 6
je 0x4096c9
movzx eax, byte [ebp]
mov ebx, 1
mov byte [ecx], al
movzx edx, byte [ebp + ebx]
mov byte [ecx + ebx], dl
add ebx, 1
movzx eax, byte [ebp + ebx]
mov byte [ecx + ebx], al
add ebx, 1
movzx edx, byte [ebp + ebx]
mov byte [ecx + ebx], dl
add ebx, 1
movzx eax, byte [ebp + ebx]
mov byte [ecx + ebx], al
add ebx, 1
movzx edx, byte [ebp + ebx]
mov byte [ecx + ebx], dl
add ebx, 1
movzx eax, byte [ebp + ebx]
mov byte [ecx + ebx], al
add ebx, 1
cmp ebx, edi
jae 0x40975d
movzx edx, byte [ebp + ebx]
movzx eax, byte [ebp + ebx + 1]
mov byte [ecx + ebx], dl
mov byte [ecx + ebx + 1], al
movzx edx, byte [ebp + ebx + 2]
movzx eax, byte [ebp + ebx + 3]
mov byte [ecx + ebx + 2], dl
mov byte [ecx + ebx + 3], al
movzx edx, byte [ebp + ebx + 4]
movzx eax, byte [ebp + ebx + 5]
mov byte [ecx + ebx + 4], dl
mov byte [ecx + ebx + 5], al
movzx edx, byte [ebp + ebx + 6]
movzx eax, byte [ebp + ebx + 7]
mov byte [ecx + ebx + 6], dl
mov byte [ecx + ebx + 7], al
add ebx, 8
cmp ebx, edi
jb 0x40970f
cmp edi, 4
jne 0x4097fe
mov dword [esp + 8], ecx
lea ecx, [esp + 0x58]
mov dword [esp + 4], 4
mov edi, 0
mov dword [esp], ecx
call sym.__gfortran_adjustr
mov eax, dword [esp + 0x58]
movzx edx, al
mov ebp, eax
movzx ecx, ah
lea ebx, [edx - 0x41]
shr ebp, 0x10
sub edx, 0x40
cmp bl, 0x1a
lea ebx, [ecx - 0x41]
movzx ecx, cl
cmovae edx, edi
sub ecx, 0x40
mov edi, 0
lea edx, [edx + edx*2]
cmp bl, 0x1a
cmovae ecx, edi
mov edi, 0
lea ebx, [edx + edx*8]
mov edx, ebp
movzx ebp, dl
add ecx, ebx
lea ebx, [edx - 0x41]
sub ebp, 0x40
lea ecx, [ecx + ecx*2]
cmp bl, 0x1a
lea ebx, [ecx + ecx*8]
cmovae ebp, edi
shr eax, 0x18
lea edx, [eax - 0x41]
movzx eax, al
add ebp, ebx
sub eax, 0x40
lea ebp, [ebp + ebp*2]
cmp dl, 0x1a
cmovb esi, eax
lea edi, [ebp + ebp*8]
lea eax, [edi + esi + 0x3eb]
jmp 0x409055
mov ebp, 4
lea ebx, [ecx + edi]
sub ebp, edi
je 0x409766
mov edi, ebp
xor edx, edx
and edi, 7
je 0x40986f
cmp edi, 1
je 0x409860
cmp edi, 2
je 0x409859
cmp edi, 3
je 0x409852
cmp edi, 4
je 0x40984b
cmp edi, 5
je 0x409844
cmp edi, 6
je 0x40983d
mov byte [ebx], 0x20
mov edx, 1
mov byte [ebx + edx], 0x20
add edx, 1
mov byte [ebx + edx], 0x20
add edx, 1
mov byte [ebx + edx], 0x20
add edx, 1
mov byte [ebx + edx], 0x20
add edx, 1
mov byte [ebx + edx], 0x20
add edx, 1
mov byte [ebx + edx], 0x20
add edx, 1
cmp edx, ebp
jae 0x409766
mov byte [ebx + edx], 0x20
mov byte [ebx + edx + 1], 0x20
mov byte [ebx + edx + 2], 0x20
mov byte [ebx + edx + 3], 0x20
mov byte [ebx + edx + 4], 0x20
mov byte [ebx + edx + 5], 0x20
mov byte [ebx + edx + 6], 0x20
mov byte [ebx + edx + 7], 0x20
add edx, 8
cmp edx, ebp
jb 0x40986f
jmp 0x409766
lea edx, [esp + 0x58]
mov dword [esp + 0x14], ebp
mov dword [esp + 0x10], 5
mov dword [esp + 0xc], str._TU_
mov dword [esp + 8], 1
mov dword [esp + 4], edx
mov dword [esp], 6
call sym.__gfortran_concat_string
movzx ebx, word [esp + 0x5c]
mov eax, dword [esp + 0x58]
mov dword [esp + 0x52], eax
mov word [esp + 0x56], bx
jmp 0x409432
mov esi, dword [esp + 0x1d8]
mov dword [esp + 0x10], 0xd
mov dword [esp + 8], 0x4337c3
mov dword [esp + 4], 0x433640
mov dword [esp], str.At_line_616_of_file_C:JTSDK64_Tools_tmpwsjtxlib77bitpackjt77.f90
mov dword [esp + 0xc], esi
call sym.__gfortran_runtime_error_at
mov dword [esp + 0xc], 0xd
mov dword [esp + 8], edx
mov dword [esp + 4], str.Substring_out_of_bounds:_upper_bound___ld__of_c13_exceeds_string_length___ld_
mov dword [esp], str.At_line_697_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_663_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_705_of_file_C:JTSDK64_Tools_tmpwsjtxlib77bitpackjt77.f90
call sym.__gfortran_runtime_error_at
nop
lea esi, [esi]