1

I am reversing an application and found that it has many calls like: for_write_int_fmt_xmit((__int64)&v1041, 9069724LL, (char *)&v707, v166);

result = for_write_seq_lis((unsigned __int64)&v46); for_dealloc_allocatable(*(void **)(retaddr - 296));

I am using ida pro however I would like to know what these functions do and their api documentation. Can anyone help me please? There are a lot of them in the application and I think they should be in one manual but failed to find

for_close
for__close_args
for__close_default
for__close_proc
for__desc_ret_item
for__key_desc_ret_item
for__desc_test_item
for__desc_zero_length_item
for__this_image_number_or_zero
for__io_return
for__issue_diagnostic
for__get_msg
for_emit_diagnostic

1

Guntram's answer identifies that these are library functions from the Intel Fortran Compiler. And as he said, they're internal functions and thus not publicly documented. However, that doesn't mean we can't find the code behind these functions.

You can download the Intel Fortran Compiler from https://software.intel.com/en-us/fortran-compilers/try-buy

You can then extract the .obj files from the IFCORE library to find the code behind the functions you listed above. For example, the code for for__key_desc_test_item() is in for_desc_item.obj in libifcore.lib:

libifcore.lib

Decompiling with Hex-Rays yields:

for__desc_test_item

0

These seem to be internal library routines from the intel fortran compiler. There is some online documentation available, which lists some for_* functions (check Language Reference/A-Z Reference in the menu, then Miscellaneous Run-Time Routines to the right), but this doesn't include your functions.

I'd assume they're used by the run time library, internally, and not documented for general use.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.