Whatever that is, it is very badly written. Evidently somebody's first attempt at a piece of Windows/DOS malware. Whoever wrote it wasn't particularly experienced with C.
It takes a command-line parameter. But the author has not specified that main takes any arguments, so I would imagine that the compiler would complain about the usage of argv[0] in the code!
The passed-in argument is apparently the path to a 'virus' of some description and attempts to 'infect' all files in the current directory with said virus by overwriting the original file with the virus file.
As rstanley pointed out, this code will not compile. Not even on the original Borland compiler that it was originally written for. I won't go into the specifics of the code too much as rstanley has that covered.
The usage of conio.h clearly shows that it WAS written for an ancient version of Borland turbo C/C++. The old Borland compilers predate the standards for C/C++, which is probably why whoever created this was using 'void main()', rather than 'int main()'. So either this code is very old, or whoever wrote it did not know any better - more on that shortly!
The proliferation of global variables also clearly indicates that whoever wrote this is a newbie. All of those variables should have been declared inside main. There is no need for global variables in this code at all. Global variables are almost always a bad idea, unless they are global constants! Indiscriminate use of global variables can lead to a lot of tricky bugs in code.
Also, rather than reading the 'virus' to the buffer multiple times; a more experienced programmer would read the 'virus' file into the buffer once and then simply write out the buffer to each file listed in the loop..... No need to read the source file multiple times. Terribly inefficient!
As for the origin of this code:
Sadly various so-called 'education' establishments in countries like India, Pakistan and some African countries still insist on using ancient, outdated Borland compilers to teach C/C++. Quite why is beyond me, but there seems to be a generation of coders in these countries who are still learning to use terribly outdated practices on an equally outdated compiler.
I see homework questions from students in these places all the time, using code containing non-standard, Borland-specific extensions/libraries and other outdated, pre-standard conventions in their code. I really don't understand why their teachers cannot update their curriculum and their systems to use something more up to date like gcc/mingw with a free IDE like Code::Blocks or Codelite, or even ::shudder:: Visual Studio Express. But that's a rant for another day!
The badly worded output/message in the code:
"TIME TAKED ..."
clearly shows that the original author of the code is either partially literate, or more likely that english is a second language to them.
So I'd guess that this code originated from an Indian or Pakistani programming newbie, as most recent posts I've seen containing ancient Borland code have originated from there.
The bottom line is: This is very badly written code, it is incomplete. And if you do manage to fix it and run it, it will trash whatever files you have in the directory it is ran in by overwriting them all with another file. It's certainly not something you want to be learning C from. If anything, it is an example of how NOT to write a C program!
Incidentally, in Linux you could use a shell-script one-liner using common CLI tools to do what this C program is attempting to do. I won't tell you what it is though as somebody might misuse it, or accidentally trash their own files. And I wouldn't want to be responsible for causing that!