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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x1dc
mov ebx, dword [esp + 0x1f4]
lea eax, [esp + 0x4c]
lea edx, [esp + 0x5c]
mov dword [esp + 0x10], 6
mov dword [esp + 0xc], 0xd
lea edi, [esp + 0x62]
mov dword [esp + 8], eax
mov dword [esp + 4], edx
mov dword [esp], ebx
lea esi, [ebx + 0xd]
call sym._chkcall_
lea ecx, [esp + 0x50]
mov dword [esp + 0x10], 6
mov dword [esp + 0xc], 0xd
mov dword [esp + 4], edi
mov dword [esp], esi
mov dword [esp + 8], ecx
call sym._chkcall_
movzx ebp, word [ebx]
cmp bp, word [0x433f06]
je 0x40a402
cmp bp, word [0x433a99]
je 0x40a2e0
cmp bp, word [str.CQ_CQ_At_line_81_of_file_C:JTSDK64_Tools_tmpwsjtxlib77bitpackjt77.f90]
je 0x40a420
cmp dword [ebx], 0x205a5251
je 0x40a2ec
movzx edi, byte [ebx]
movzx ebp, byte [ebx + 0xd]
mov eax, edi
cmp al, 0x3c
je 0x40a301
nop
mov edx, ebp
cmp dl, 0x3c
je 0x40a380
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x40a2cf
mov edx, dword [esp + 0x50]
test edx, edx
jne 0x40a435
add esp, 0x1dc
pop ebx
pop esi
pop edi
pop ebp
ret
movzx edx, byte [0x433a9b]
cmp byte [ebx + 2], dl
jne 0x40a28d
mov dword [esp + 0x4c], 1
movzx edi, byte [ebx]
movzx ebp, byte [ebx + 0xd]
mov eax, edi
cmp al, 0x3c
jne 0x40a2b0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x433ae6
mov dword [esp + 8], 1
mov dword [esp + 4], ebx
mov dword [esp], 0xd
call sym.__gfortran_string_index
cmp eax, 4
jle 0x40a2b0
mov ecx, ebp
mov dword [esp + 0x4c], 1
cmp cl, 0x3c
je 0x40a380
mov edi, dword [esp + 0x50]
test edi, edi
je 0x40a2cf
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], str._At_line_1142_of_file_C:JTSDK64_Tools_tmpwsjtxlib77bitpackjt77.f90
mov dword [esp + 8], 1
mov dword [esp + 4], esi
mov dword [esp], 0xd
call sym.__gfortran_string_index
test eax, eax
jg 0x40a2cf
jmp 0x40a447
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x433ae6
mov dword [esp + 8], 1
mov dword [esp + 4], esi
mov dword [esp], 0xd
call sym.__gfortran_string_index
cmp eax, 4
jle 0x40a2bb
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x50], 1
test eax, eax
je 0x40a2cf
mov edx, edi
cmp dl, 0x3c
je 0x40ac10
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], str._At_line_1142_of_file_C:JTSDK64_Tools_tmpwsjtxlib77bitpackjt77.f90
mov dword [esp + 8], 1
mov dword [esp + 4], ebx
mov dword [esp], 0xd
call sym.__gfortran_string_index
test eax, eax
jg 0x40a2cf
jmp 0x40a447
movzx eax, byte [0x433f08]
cmp byte [ebx + 2], al
jne 0x40a284
mov dword [esp + 0x4c], 1
jmp 0x40a2f4
movzx ecx, byte [0x433a98]
cmp byte [ebx + 2], cl
jne 0x40a29a
jmp 0x40a2ec
mov ecx, edi
cmp cl, 0x3c
je 0x40ac10
mov ecx, ebp
cmp cl, 0x3c
je 0x40a3d0
mov ebp, dword [esp + 0x1f0]
mov edi, dword [ebp]
cmp edi, 2
je 0x40aa20
test edi, edi
jle 0x40ae0e
cmp edi, 0x13
jg 0x40adee
sub edi, 1
lea eax, [edi + edi*2]
lea ebp, [edi + eax*4]
lea eax, [esp + 0x68]
lea edi, [esp + 0x78]
add ebp, ebx
mov dword [esp + 0x24], eax
movzx edx, byte [ebp]
movzx ecx, word [ebp]
mov ebp, dword [ebp]
mov dword [esp + 0xc], edi
mov dword [esp + 8], 4
mov dword [esp + 4], eax
mov byte [esp + 0x28], dl
lea edx, [esp + 0x58]
mov word [esp + 0x36], cx
mov dword [esp + 0x78], ebp
mov dword [esp], edx
call sym.__gfortran_string_trim
mov ecx, dword [esp + 0x58]
cmp ecx, 4
je 0x40aa62
test ecx, ecx
jg 0x40ac80
mov ebp, dword [esp + 0x1f0]
mov eax, dword [ebp]
test eax, eax
jle 0x40ae2e
cmp eax, 0x13
jg 0x40ae4e
sub eax, 1
lea edx, [eax + eax*2]
lea ecx, [eax + edx*4]
movzx edx, byte [esp + 0x28]
cmp dl, 0x2b
je 0x40aac1
cmp dl, 0x2d
je 0x40aac1
cmp word [esp + 0x36], 0x2b52
je 0x40a5a3
cmp word [esp + 0x36], 0x2d52
je 0x40a5a3
lea ebp, [ebx + ecx]
mov dword [esp + 0xc], 0x433cfd
mov dword [esp + 8], 3
mov dword [esp], 0xd
mov dword [esp + 0x28], ecx
mov dword [esp + 4], ebp
call sym.__gfortran_compare_string
test eax, eax
mov ecx, dword [esp + 0x28]
je 0x40a5a3
mov dword [esp + 0xc], 0x433d00
mov dword [esp + 8], 4
mov dword [esp + 4], ebp
mov dword [esp], 0xd
call sym.__gfortran_compare_string
test eax, eax
mov ecx, dword [esp + 0x28]
je 0x40a5a3
mov dword [esp + 0xc], 0x433d04
mov dword [esp + 8], 2
mov dword [esp + 4], ebp
mov dword [esp], 0xd
call sym.__gfortran_compare_string
test eax, eax
mov ecx, dword [esp + 0x28]
jne 0x40a2cf
cmp word [esp + 0x36], 0x2b52
je 0x40ab95
cmp word [esp + 0x36], 0x2d52
je 0x40ab95
lea ebp, [ebx + ecx]
mov dword [esp + 0xc], 0x433cfd
mov dword [esp + 8], 3
mov dword [esp], 0xd
mov dword [esp + 4], ebp
call sym.__gfortran_compare_string
test eax, eax
jne 0x40ac90
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 2
nop
lea esi, [esi]
mov dword [esp + 0x14], str._TU_
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 0xd
mov dword [esp + 4], edi
mov dword [esp], 0xe
call sym.__gfortran_concat_string
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], str._P__R
mov dword [esp + 8], 3
mov dword [esp + 4], edi
mov dword [esp], 0xe
call sym.__gfortran_string_index
mov dword [esp + 0x14], str._TU_
mov dword [esp + 0x10], 1
mov ebp, eax
mov dword [esp + 0xc], esi
mov dword [esp + 8], 0xd
mov dword [esp + 4], edi
mov dword [esp], 0xe
call sym.__gfortran_concat_string
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], str._P__R
mov dword [esp + 8], 3
mov dword [esp + 4], edi
mov dword [esp], 0xe
call sym.__gfortran_string_index
mov edx, dword [esp + 0x1f0]
mov dword [esp + 0x28], eax
mov eax, dword [edx]
lea ecx, [eax - 2]
cmp ecx, 1
jbe 0x40abdc
cmp eax, 4
je 0x40abd0
mov eax, dword [esp + 0x5c]
movzx ecx, word [esp + 0x60]
mov edx, 0x2020
cmp word [0x433a99], ax
mov dword [esp + 0x6e], 0x20202020
mov word [esp + 0x72], dx
mov byte [esp + 0x74], 0x20
mov dword [esp + 0x68], eax
mov word [esp + 0x6c], cx
je 0x40ab63
cmp byte [ebx], 0x3c
je 0x40ab74
mov edx, dword [esp + 0x24]
mov dword [esp + 8], 0xd
mov dword [esp + 4], 0x43ade8
mov dword [esp], edx
call sym.___packjt77_MOD_pack28
movzx ecx, word [esp + 0x66]
cmp byte [ebx + 0xd], 0x3c
mov edx, 0x2020
mov eax, dword [esp + 0x62]
mov dword [esp + 0x6e], 0x20202020
mov word [esp + 0x72], dx
mov byte [esp + 0x74], 0x20
mov dword [esp + 0x68], eax
mov word [esp + 0x6c], cx
jne 0x40a773
mov eax, dword [ebx + 0xd]
mov ecx, dword [ebx + 0x11]
mov edx, dword [ebx + 0x15]
mov dword [esp + 0x68], eax
movzx eax, byte [ebx + 0x19]
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x70], edx
mov byte [esp + 0x74], al
mov ecx, dword [esp + 0x24]
mov dword [esp + 8], 0xd
mov dword [esp + 4], 0x43ade4
mov dword [esp], ecx
call sym.___packjt77_MOD_pack28
mov dword [esp + 0x14], str._TU_
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 0xd
mov dword [esp + 4], edi
mov dword [esp], 0xe
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 0
call sym.__gfortran_concat_string
cmp ebp, 3
jg 0x40a7fd
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x43420e
mov dword [esp + 8], 3
mov dword [esp + 4], edi
mov dword [esp], 0xe
call sym.__gfortran_string_index
cmp eax, 3
jle 0x40a805
mov dword [esp + 0x3c], 1
mov dword [esp + 0x14], str._TU_
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], esi
mov dword [esp + 8], 0xd
mov dword [esp + 4], edi
mov dword [esp], 0xe
call sym.__gfortran_concat_string
cmp dword [esp + 0x28], 3
jg 0x40a865
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x43420e
mov dword [esp + 8], 3
mov dword [esp + 4], edi
mov dword [esp], 0xe
call sym.__gfortran_string_index
cmp eax, 3
jle 0x40a86d
mov dword [esp + 0x40], 1
mov esi, dword [esp + 0x1f0]
mov ebp, dword [esi]
test ebp, ebp
jle 0x40ae8e
cmp ebp, 0x13
jg 0x40ae6e
sub ebp, 1
lea ecx, [esp + 0x58]
lea edx, [ebp + ebp*2]
lea eax, [ebp + edx*4]
lea ebp, [esp + 0x54]
mov esi, dword [ebx + eax]
mov dword [esp + 0xc], edi
mov dword [esp + 8], 4
mov dword [esp + 4], ecx
mov dword [esp], ebp
mov dword [esp + 0x78], esi
call sym.__gfortran_string_trim
mov edx, dword [esp + 0x54]
cmp edx, 4
je 0x40ac45
test edx, edx
jg 0x40ac70
mov ebx, dword [esp + 0x48]
add ebx, 0x7e90
mov dword [esp + 0x38], ebx
mov ecx, dword [esp + 0x1f0]
cmp dword [ecx], 2
jne 0x40a8f8
mov dword [esp + 0x44], 0
mov dword [esp + 0x38], 0x7e91
mov edx, dword [esp + 0x200]
mov dword [esp], edi
lea esi, [esp + 0x40]
mov dword [esp + 0x80], str.C:JTSDK64_Tools_tmpwsjtxlib77bitpackjt77.f90
mov dword [esp + 0x84], 0x4b7
lea ebx, [esp + 0x44]
mov dword [esp + 0xc0], 0x4d
mov dword [esp + 0xa8], 0
lea ebp, [esp + 0x38]
mov dword [esp + 0xbc], edx
mov dword [esp + 0x7c], 0xffffffff
mov dword [esp + 0xac], 0x43425d
mov dword [esp + 0xb0], 0x1d
mov dword [esp + 0x78], 0x5000
call sym.__gfortran_st_write
mov dword [esp], edi
mov dword [esp + 8], 4
mov dword [esp + 4], 0x43ade8
call sym.__gfortran_transfer_integer_write
lea eax, [esp + 0x3c]
mov dword [esp], edi
mov dword [esp + 8], 4
mov dword [esp + 4], eax
call sym.__gfortran_transfer_integer_write
mov dword [esp], edi
mov dword [esp + 8], 4
mov dword [esp + 4], 0x43ade4
call sym.__gfortran_transfer_integer_write
mov dword [esp + 4], esi
mov dword [esp], edi
mov dword [esp + 8], 4
call sym.__gfortran_transfer_integer_write
mov dword [esp + 4], ebx
mov dword [esp], edi
mov dword [esp + 8], 4
call sym.__gfortran_transfer_integer_write
mov dword [esp + 4], ebp
mov dword [esp], edi
mov dword [esp + 8], 4
call sym.__gfortran_transfer_integer_write
mov ecx, dword [esp + 0x1f8]
mov dword [esp], edi
mov dword [esp + 8], 4
mov dword [esp + 4], ecx
call sym.__gfortran_transfer_integer_write
mov dword [esp], edi
call sym.__gfortran_st_write_done
add esp, 0x1dc
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], str._At_line_1142_of_file_C:JTSDK64_Tools_tmpwsjtxlib77bitpackjt77.f90
mov dword [esp + 8], 1
mov dword [esp + 4], esi
mov dword [esp], 0xd
call sym.__gfortran_string_index
cmp eax, 1
jg 0x40a2cf
lea ecx, [esp + 0x68]
lea edi, [esp + 0x78]
mov dword [esp + 0x24], ecx
jmp 0x40a600
lea eax, [ebp - 0x41]
xor ecx, ecx
cmp al, 0x11
jbe 0x40accd
mov ebp, dword [esp + 0x68]
mov dword [esp + 0x2c], ecx
mov dword [esp], ebp
call sym._free
mov ecx, dword [esp + 0x1f0]
mov edx, dword [esp + 0x2c]
mov eax, dword [ecx]
test eax, eax
jle 0x40ae2e
cmp eax, 0x13
jg 0x40ae4e
sub eax, 1
test edx, edx
lea ebp, [eax + eax*2]
lea ecx, [eax + ebp*4]
je 0x40a4ef
movzx eax, byte [esp + 0x28]
sub eax, 0x2b
and eax, 0xfd
jne 0x40a5a3
lea ecx, [ebx + ecx]
mov dword [esp + 0x44], 0
mov dword [esp + 0x80], str.C:JTSDK64_Tools_tmpwsjtxlib77bitpackjt77.f90
mov dword [esp + 0x84], 0x47d
mov dword [esp + 0xc0], 0xd
mov dword [esp + 0xbc], ecx
mov dword [esp], edi
mov dword [esp + 0xa8], 0
mov dword [esp + 0x7c], 0xffffffff
mov dword [esp + 0x78], 0x4084
call sym.__gfortran_st_read
lea edx, [esp + 0x48]
mov dword [esp + 8], 4
mov dword [esp], edi
mov dword [esp + 4], edx
call sym.__gfortran_transfer_integer
mov dword [esp], edi
call sym.__gfortran_st_read_done
mov ecx, dword [esp + 0x78]
and ecx, 3
cmp ecx, 1
je 0x40a2cf
mov ebp, dword [esp + 0x48]
lea edx, [ebp + 0x32]
lea eax, [ebp + 0x65]
cmp edx, 0x14
cmovae eax, ebp
add eax, 0x23
mov dword [esp + 0x48], eax
jmp 0x40a600
movzx eax, byte [0x433a9b]
cmp byte [esp + 0x6a], al
jne 0x40a702
mov ecx, dword [ebx]
mov edx, dword [ebx + 4]
mov eax, dword [ebx + 8]
mov dword [esp + 0x68], ecx
movzx ecx, byte [ebx + 0xc]
mov dword [esp + 0x6c], edx
mov dword [esp + 0x70], eax
mov byte [esp + 0x74], cl
jmp 0x40a70b
lea eax, [ebx + ecx + 1]
mov dword [esp + 0x44], 1
mov dword [esp + 0x80], str.C:JTSDK64_Tools_tmpwsjtxlib77bitpackjt77.f90
mov dword [esp + 0x84], 0x482
mov dword [esp + 0xc0], 0xc
mov dword [esp + 0xbc], eax
jmp 0x40aaf4
cmp word [ebx + 0x1a], 0x2052
jne 0x40a6cc
mov edx, dword [esp + 0x1fc]
cmp ebp, 3
mov eax, dword [esp + 0x1f8]
mov dword [edx], 0
jg 0x40ac62
cmp dword [esp + 0x28], 3
jg 0x40ac62
mov dword [eax], 1
jmp 0x40a6cc
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], str._At_line_1142_of_file_C:JTSDK64_Tools_tmpwsjtxlib77bitpackjt77.f90
mov dword [esp + 8], 1
mov dword [esp + 4], esi
mov dword [esp], 0xd
call sym.__gfortran_string_index
test eax, eax
jg 0x40a2cf
jmp 0x40a440
lea ecx, [esi - 0x41]
mov eax, dword [esp + 0x58]
cmp cl, 0x11
jbe 0x40ad00
mov dword [esp], eax
call sym._free
jmp 0x40a8ce
mov dword [eax], 2
jmp 0x40a6cc
mov eax, dword [esp + 0x58]
jmp 0x40ac55
xor ecx, ecx
jmp 0x40aa6f
mov dword [esp + 0xc], 0x433d00
mov dword [esp + 8], 4
mov dword [esp + 4], ebp
mov dword [esp], 0xd
call sym.__gfortran_compare_string
test eax, eax
jne 0x40adb1
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 3
jmp 0x40a600
mov edx, ebp
movzx eax, dh
sub eax, 0x41
cmp al, 0x11
ja 0x40aa6f
shr edx, 0x10
sub edx, 0x30
cmp dl, 9
ja 0x40aa6f
mov eax, ebp
xor ecx, ecx
shr eax, 0x18
sub eax, 0x30
cmp al, 9
setbe cl
jmp 0x40aa6f
mov edx, esi
movzx ecx, dh
lea edx, [ecx - 0x41]
mov byte [esp + 0x24], cl
cmp dl, 0x11
ja 0x40ac55
mov ebp, esi
shr ebp, 0x10
lea ecx, [ebp - 0x30]
mov dword [esp + 0x28], ebp
cmp cl, 9
ja 0x40ac55
mov ebp, esi
shr ebp, 0x18
lea edx, [ebp - 0x30]
cmp dl, 9
ja 0x40ac55
mov dword [esp], eax
add ebx, 0x1a
call sym._free
mov dword [esp + 0xc], str.R__2_b28.28_b1__b1_b15.15_b3.3_
mov dword [esp + 8], 2
mov dword [esp + 4], ebx
mov dword [esp], 0xd
mov dword [esp + 0x44], 0
call sym.__gfortran_compare_string
test eax, eax
jne 0x40ad7a
mov dword [esp + 0x44], 1
movzx ecx, byte [esp + 0x24]
mov eax, esi
movzx esi, al
movzx eax, byte [esp + 0x28]
sub esi, 0x41
imul ebx, esi, 0x708
sub ecx, 0x41
lea esi, [eax + eax*4 - 0xf0]
imul edx, ecx, 0x64
add ebx, edx
lea ebx, [ebx + esi*2]
lea ebp, [ebp + ebx - 0x30]
mov dword [esp + 0x38], ebp
jmp 0x40a8dc
mov dword [esp + 0xc], 0x433d04
mov dword [esp + 8], 2
mov dword [esp + 4], ebp
mov dword [esp], 0xd
call sym.__gfortran_compare_string
test eax, eax
jne 0x40a600
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 4
jmp 0x40a600
mov dword [esp + 0xc], 0x13
mov dword [esp + 8], edi
mov dword [esp + 4], str.Index__ld_of_dimension_1_of_array_w_above_upper_bound_of__ld
mov dword [esp], 0x43417c
call sym.__gfortran_runtime_error_at
mov dword [esp + 0xc], 1
mov dword [esp + 8], edi
mov dword [esp + 4], str.Index__ld_of_dimension_1_of_array_w_below_lower_bound_of__ld
mov dword [esp], 0x43417c
call sym.__gfortran_runtime_error_at
mov dword [esp + 0xc], 1
mov dword [esp + 8], eax
mov dword [esp + 4], str.Index__ld_of_dimension_1_of_array_w_below_lower_bound_of__ld
mov dword [esp], str.At_line_1145_of_file_C:JTSDK64_Tools_tmpwsjtxlib77bitpackjt77.f90
call sym.__gfortran_runtime_error_at
mov dword [esp + 0xc], 0x13
mov dword [esp + 8], eax
mov dword [esp + 4], str.Index__ld_of_dimension_1_of_array_w_above_upper_bound_of__ld
mov dword [esp], str.At_line_1145_of_file_C:JTSDK64_Tools_tmpwsjtxlib77bitpackjt77.f90
call sym.__gfortran_runtime_error_at
mov dword [esp + 0xc], 0x13
mov dword [esp + 8], ebp
mov dword [esp + 4], str.Index__ld_of_dimension_1_of_array_w_above_upper_bound_of__ld
mov dword [esp], str.At_line_1190_of_file_C:JTSDK64_Tools_tmpwsjtxlib77bitpackjt77.f90
call sym.__gfortran_runtime_error_at
mov dword [esp + 0xc], 1
mov dword [esp + 8], ebp
mov dword [esp + 4], str.Index__ld_of_dimension_1_of_array_w_below_lower_bound_of__ld
mov dword [esp], str.At_line_1190_of_file_C:JTSDK64_Tools_tmpwsjtxlib77bitpackjt77.f90
call sym.__gfortran_runtime_error_at
nop