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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x1bc
mov ecx, dword [esp + 0x1d4]
lea eax, [esp + 0x40]
lea edx, [esp + 0x4c]
mov dword [esp + 0x10], 6
mov dword [esp + 0xc], 0xd
lea esi, [esp + 0x44]
mov dword [esp + 8], eax
mov dword [esp + 4], edx
lea edi, [esp + 0x52]
mov dword [esp], ecx
call sym._chkcall_
mov ebx, dword [esp + 0x1d4]
mov dword [esp + 0x10], 6
mov dword [esp + 0xc], 0xd
mov dword [esp + 8], esi
mov dword [esp + 4], edi
lea ebx, [ebx + 0xd]
mov dword [esp], ebx
call sym._chkcall_
mov ebp, dword [esp + 0x40]
test ebp, ebp
je 0x40be02
mov eax, dword [esp + 0x44]
test eax, eax
je 0x40be02
mov edx, dword [esp + 0x1d0]
mov dword [esp + 0x34], 0xffffffff
mov edi, dword [edx]
lea ecx, [edi - 1]
lea esi, [ecx + ecx*2]
mov dword [esp + 0x2c], ecx
lea edx, [ecx + esi*4]
add edx, dword [esp + 0x1d4]
test edi, edi
jle 0x40c43d
cmp edi, 0x13
jg 0x40c41d
movzx ebp, word [edx]
mov ecx, 1
cmp word [str.AB_AK_AL_AR_AZ_BC_CO_CT_DE_EB_EMAENYEPAEWAGA_GH_IA_ID_IL_IN_KS_KY_LA_LAXNS_MB_MDCME_MI_MN_MO_MS_MT_NC_ND_NE_NFLNH_NL_NLINM_NNJNNYTERNTXNV_OH_OK_ONEONNONSOR_ORGPACPR_QC_RI_SB_SC_SCVSD_SDGSF_SFLSJVSK_SNJSTXSV_TN_UT_VA_VI_VT_WCFWI_WMAWNYWPAWTXWV_WWAWY_DX_PE_NB], bp
je 0x40be10
mov ebp, 0x41cc63
movzx esi, word [edx]
mov ecx, 2
cmp word [ebp], si
je 0x40c1b5
mov ecx, 3
add ebp, 3
mov dword [esp + 0x28], ebx
movzx ebx, word [edx]
cmp word [ebp], bx
je 0x40c1d0
movzx ebx, word [edx]
lea esi, [ecx + 1]
lea eax, [ebp + 3]
cmp word [ebp + 3], bx
mov ecx, esi
je 0x40c230
movzx ebp, word [edx]
lea ecx, [esi + 1]
cmp word [eax + 3], bp
je 0x40c249
movzx ebp, word [edx]
lea ecx, [esi + 2]
cmp word [eax + 6], bp
je 0x40c262
movzx ebp, word [edx]
lea ecx, [esi + 3]
cmp word [eax + 9], bp
je 0x40c27f
movzx ebp, word [edx]
lea ecx, [esi + 4]
cmp word [eax + 0xc], bp
je 0x40c29c
movzx ebp, word [edx]
lea ecx, [esi + 5]
cmp word [eax + 0xf], bp
je 0x40c2b9
movzx ebp, word [edx]
lea ecx, [esi + 6]
cmp word [eax + 0x12], bp
je 0x40c2d0
movzx ebp, word [edx]
lea ecx, [esi + 7]
cmp word [eax + 0x15], bp
je 0x40c2e2
movzx ebp, word [edx]
lea ecx, [esi + 8]
cmp word [eax + 0x18], bp
je 0x40c2f4
movzx ebp, word [edx]
lea ecx, [esi + 9]
cmp word [eax + 0x1b], bp
je 0x40c310
movzx ebp, word [edx]
lea ecx, [esi + 0xa]
cmp word [eax + 0x1e], bp
je 0x40c322
lea ecx, [esi + 0xb]
lea ebp, [eax + 0x21]
cmp ecx, 0x57
jne 0x40bd31
add esp, 0x1bc
pop ebx
pop esi
pop edi
pop ebp
ret
movzx eax, byte [edx + 2]
cmp byte [0x41cc62], al
jne 0x40bd0e
cmp edi, 5
mov dword [esp + 0x34], ecx
je 0x40c1f1
lea esi, [esi]
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x3c], 0xffffffff
test ecx, ecx
jle 0x40c4c1
cmp dword [esp + 0x2c], 0x13
jg 0x40c49d
sub edi, 2
lea ecx, [esp + 0x48]
lea esi, [esp + 0x58]
lea eax, [edi + edi*2]
mov dword [esp + 8], 0xd
mov dword [esp + 4], esi
mov dword [esp], ecx
lea ebp, [edi + eax*4]
add ebp, dword [esp + 0x1d4]
mov dword [esp + 0xc], ebp
call sym.__gfortran_string_trim
mov edi, dword [esp + 0x48]
test edi, edi
lea ebp, [edi - 1]
jle 0x40be96
mov edx, dword [esp + 0x58]
mov dword [esp], edx
call sym._free
mov eax, dword [esp + 0x1d0]
mov dword [esp + 0x60], str.C:JTSDK64_Tools_tmpwsjtxlib77bitpackjt77.f90
mov dword [esp + 0x64], 0x3b9
mov ecx, dword [eax]
lea edx, [ecx - 1]
test edx, edx
jle 0x40c47d
cmp edx, 0x13
jg 0x40c45d
cmp ebp, 0xd
jg 0x40c3bd
sub ecx, 2
mov edx, 0
mov dword [esp], esi
lea eax, [ecx + ecx*2]
mov dword [esp + 0x88], 0
mov dword [esp + 0x5c], 0xffffffff
mov dword [esp + 0x58], 0x408c
lea ecx, [ecx + eax*4]
add ecx, dword [esp + 0x1d4]
test ebp, ebp
cmovs ebp, edx
mov dword [esp + 0xa0], ebp
lea ebp, [esp + 0x3c]
mov dword [esp + 0x9c], ecx
call sym.__gfortran_st_read
mov dword [esp + 8], 4
mov dword [esp + 4], ebp
mov dword [esp], esi
call sym.__gfortran_transfer_integer
mov dword [esp], esi
call sym.__gfortran_st_read_done
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x2c], eax
sub eax, 1
cmp eax, 0x1f
mov dword [esp + 0x28], eax
ja 0x40be02
mov ecx, dword [esp + 0x1d0]
mov edx, dword [ecx]
lea eax, [edx - 1]
test eax, eax
jle 0x40c39d
cmp eax, 0x13
jg 0x40c37d
test edi, edi
jle 0x40c365
cmp edi, 0xd
jg 0x40c3fd
lea ecx, [edx - 2]
lea ebp, [ecx + ecx*2]
lea ecx, [ecx + ebp*4]
add ecx, dword [esp + 0x1d4]
movzx edi, byte [edi + ecx - 1]
sub edi, 0x41
test edx, edx
mov dword [esp + 0x38], edi
jle 0x40c3dd
cmp edx, 0x13
jg 0x40c345
lea edx, [eax + eax*2]
lea ebp, [esp + 0x48]
mov dword [esp + 8], 0xd
mov dword [esp + 4], esi
lea eax, [eax + edx*4]
add eax, dword [esp + 0x1d4]
mov dword [esp], ebp
mov dword [esp + 0xc], eax
call sym.__gfortran_string_trim
mov edi, dword [esp + 0x48]
test edi, edi
jg 0x40c334
sub edi, 2
cmp edi, 1
ja 0x40be02
mov ebp, dword [esp + 0x28]
mov edx, dword [esp + 0x1d8]
mov eax, dword [esp + 0x1dc]
cmp ebp, 0xf
mov dword [edx], 0
mov dword [esp + 0x30], ebp
mov dword [eax], 3
jle 0x40c02a
mov ecx, dword [esp + 0x2c]
mov edi, dword [esp + 0x1dc]
sub ecx, 0x11
mov dword [edi], 4
mov dword [esp + 0x30], ecx
mov edx, dword [esp + 0x1d4]
mov dword [esp + 8], 0xd
mov dword [esp + 4], 0x43ade8
mov dword [esp], edx
call sym.___packjt77_MOD_pack28
mov dword [esp], ebx
mov dword [esp + 8], 0xd
mov dword [esp + 4], 0x43ade4
call sym.___packjt77_MOD_pack28
mov ebx, dword [esp + 0x1d4]
mov dword [esp + 0x48], 0
cmp word [ebx + 0x1a], 0x2052
jne 0x40c080
mov dword [esp + 0x48], 1
mov eax, dword [esp + 0x1e0]
mov dword [esp], esi
lea ebp, [esp + 0x48]
mov dword [esp + 0x60], str.C:JTSDK64_Tools_tmpwsjtxlib77bitpackjt77.f90
mov dword [esp + 0x64], 0x3ce
lea edi, [esp + 0x30]
mov dword [esp + 0xa0], 0x4d
mov dword [esp + 0x88], 0
mov dword [esp + 0x9c], eax
mov dword [esp + 0x5c], 0xffffffff
mov dword [esp + 0x8c], str._2b28.28_b1_b4.4_b3.3_b7.7_2b3.3_
mov dword [esp + 0x90], 0x21
mov dword [esp + 0x58], 0x5000
call sym.__gfortran_st_write
mov dword [esp + 8], 4
mov dword [esp + 4], 0x43ade8
mov dword [esp], esi
call sym.__gfortran_transfer_integer_write
mov dword [esp + 8], 4
mov dword [esp + 4], 0x43ade4
mov dword [esp], esi
call sym.__gfortran_transfer_integer_write
mov dword [esp + 8], 4
mov dword [esp + 4], ebp
mov dword [esp], esi
call sym.__gfortran_transfer_integer_write
mov dword [esp + 8], 4
mov dword [esp + 4], edi
mov dword [esp], esi
call sym.__gfortran_transfer_integer_write
lea ecx, [esp + 0x38]
mov dword [esp + 8], 4
mov dword [esp], esi
mov dword [esp + 4], ecx
call sym.__gfortran_transfer_integer_write
lea edx, [esp + 0x34]
mov dword [esp + 8], 4
mov dword [esp], esi
mov dword [esp + 4], edx
call sym.__gfortran_transfer_integer_write
mov ebx, dword [esp + 0x1dc]
mov dword [esp + 8], 4
mov dword [esp], esi
mov dword [esp + 4], ebx
call sym.__gfortran_transfer_integer_write
mov eax, dword [esp + 0x1d8]
mov dword [esp + 8], 4
mov dword [esp], esi
mov dword [esp + 4], eax
call sym.__gfortran_transfer_integer_write
mov dword [esp], esi
call sym.__gfortran_st_write_done
jmp 0x40be02
movzx eax, byte [edx + 2]
cmp byte [ebp + 2], al
jne 0x40bd25
jmp 0x40be20
movzx eax, byte [edx + 2]
cmp byte [ebp + 2], al
jne 0x40bd3e
lea esi, [esi]
cmp edi, 5
mov ebx, dword [esp + 0x28]
mov dword [esp + 0x34], ecx
jne 0x40be30
mov esi, dword [esp + 0x1d4]
mov dword [esp + 0xc], 0x43458a
mov dword [esp + 8], 1
mov dword [esp], 0xd
add esi, 0x1a
mov dword [esp + 4], esi
call sym.__gfortran_compare_string
test eax, eax
jne 0x40be02
mov dword [esp + 0x3c], 0xffffffff
jmp 0x40be4f
movzx ebx, byte [edx + 2]
cmp byte [eax + 2], bl
je 0x40c1e0
movzx ebp, word [edx]
lea ecx, [esi + 1]
cmp word [eax + 3], bp
jne 0x40bd63
movzx ebx, byte [edx + 2]
cmp byte [eax + 5], bl
je 0x40c1e0
movzx ebp, word [edx]
lea ecx, [esi + 2]
cmp word [eax + 6], bp
jne 0x40bd73
movzx ebx, byte [edx + 2]
cmp byte [eax + 8], bl
je 0x40c1e0
movzx ebp, word [edx]
lea ecx, [esi + 3]
cmp word [eax + 9], bp
jne 0x40bd83
movzx ebx, byte [edx + 2]
cmp byte [eax + 0xb], bl
je 0x40c1e0
movzx ebp, word [edx]
lea ecx, [esi + 4]
cmp word [eax + 0xc], bp
jne 0x40bd93
movzx ebx, byte [edx + 2]
cmp byte [eax + 0xe], bl
je 0x40c1e0
movzx ebp, word [edx]
lea ecx, [esi + 5]
cmp word [eax + 0xf], bp
jne 0x40bda3
movzx ebx, byte [edx + 2]
cmp byte [eax + 0x11], bl
jne 0x40bda3
jmp 0x40c1e0
movzx ebx, byte [edx + 2]
cmp byte [eax + 0x14], bl
jne 0x40bdb3
jmp 0x40c1e0
movzx ebx, byte [edx + 2]
cmp byte [eax + 0x17], bl
jne 0x40bdc3
jmp 0x40c1e0
movzx ebx, byte [edx + 2]
cmp byte [eax + 0x1a], bl
jne 0x40bdd3
jmp 0x40c1e0
movzx ebx, byte [edx + 2]
cmp byte [eax + 0x1d], bl
jne 0x40bde3
jmp 0x40c1e0
movzx ebx, byte [edx + 2]
cmp byte [eax + 0x20], bl
jne 0x40bdf3
jmp 0x40c1e0
mov ecx, dword [esp + 0x58]
mov dword [esp], ecx
call sym._free
jmp 0x40bfdf
mov dword [esp + 0xc], 0x13
mov dword [esp + 8], edx
mov dword [esp + 4], str.Index__ld_of_dimension_1_of_array_w_above_upper_bound_of__ld
mov dword [esp], str.At_line_957_of_file_C:JTSDK64_Tools_tmpwsjtxlib77bitpackjt77.f90
call sym.__gfortran_runtime_error_at
mov dword [esp + 8], edi
mov dword [esp + 4], str.Substring_out_of_bounds:_lower_bound___ld__of_w_is_less_than_one
mov dword [esp], str.At_line_955_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_955_of_file_C:JTSDK64_Tools_tmpwsjtxlib77bitpackjt77.f90
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_955_of_file_C:JTSDK64_Tools_tmpwsjtxlib77bitpackjt77.f90
call sym.__gfortran_runtime_error_at
mov dword [esp + 0xc], 0xd
mov dword [esp + 8], ebp
mov dword [esp + 4], str.Substring_out_of_bounds:_upper_bound___ld__of_w_exceeds_string_length___ld_
mov dword [esp], str.At_line_953_of_file_C:JTSDK64_Tools_tmpwsjtxlib77bitpackjt77.f90
call sym.__gfortran_runtime_error_at
mov dword [esp + 0xc], 1
mov dword [esp + 8], edx
mov dword [esp + 4], str.Index__ld_of_dimension_1_of_array_w_below_lower_bound_of__ld
mov dword [esp], str.At_line_957_of_file_C:JTSDK64_Tools_tmpwsjtxlib77bitpackjt77.f90
call sym.__gfortran_runtime_error_at
mov dword [esp + 0xc], 0xd
mov dword [esp + 8], edi
mov dword [esp + 4], str.Substring_out_of_bounds:_upper_bound___ld__of_w_exceeds_string_length___ld_
mov dword [esp], str.At_line_955_of_file_C:JTSDK64_Tools_tmpwsjtxlib77bitpackjt77.f90
call sym.__gfortran_runtime_error_at
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], str.At_line_943_of_file_C:JTSDK64_Tools_tmpwsjtxlib77bitpackjt77.f90
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], str.At_line_943_of_file_C:JTSDK64_Tools_tmpwsjtxlib77bitpackjt77.f90
call sym.__gfortran_runtime_error_at
mov dword [esp + 0xc], 0x13
mov dword [esp + 8], edx
mov dword [esp + 4], str.Index__ld_of_dimension_1_of_array_w_above_upper_bound_of__ld
mov dword [esp], str.At_line_953_of_file_C:JTSDK64_Tools_tmpwsjtxlib77bitpackjt77.f90
call sym.__gfortran_runtime_error_at
mov dword [esp + 0xc], 1
mov dword [esp + 8], edx
mov dword [esp + 4], str.Index__ld_of_dimension_1_of_array_w_below_lower_bound_of__ld
mov dword [esp], str.At_line_953_of_file_C:JTSDK64_Tools_tmpwsjtxlib77bitpackjt77.f90
call sym.__gfortran_runtime_error_at
mov edi, dword [esp + 0x2c]
mov dword [esp + 0xc], 0x13
mov dword [esp + 4], str.Index__ld_of_dimension_1_of_array_w_above_upper_bound_of__ld
mov dword [esp], str.At_line_952_of_file_C:JTSDK64_Tools_tmpwsjtxlib77bitpackjt77.f90
mov dword [esp + 8], edi
call sym.__gfortran_runtime_error_at
mov edx, dword [esp + 0x2c]
mov dword [esp + 0xc], 1
mov dword [esp + 4], str.Index__ld_of_dimension_1_of_array_w_below_lower_bound_of__ld
mov dword [esp], str.At_line_952_of_file_C:JTSDK64_Tools_tmpwsjtxlib77bitpackjt77.f90
mov dword [esp + 8], edx
call sym.__gfortran_runtime_error_at
lea esi, [esi]
lea edi, [edi]