@echo off

if not exist %1\etc mkdir %1\etc
if not exist %1\bin mkdir %1\bin
if not exist %1\dll mkdir %1\dll

if %3 == NONE goto label0
if not exist %3\protocol mkdir %3\protocol
if not exist %3\bin mkdir %3\bin

:label0
if exist %epfifiledir%\tcpbak\protocol copy %epfifiledir%\tcpbak\protocol %1\etc > nul 2> nul
if not errorlevel 1 goto label1
echo copy %epfifiledir%\tmpdefer\protocol %1\etc >> %2:\os2\system\epfidefi.cmd
echo del %epfifiledir%\tmpdefer\protocol >> %2:\os2\system\epfidefi.cmd
copy %epfifiledir%\tcpbak\protocol %epfifiledir%\tmpdefer > nul 2> nul

:label1
if exist %epfifiledir%\tcpbak\services copy %epfifiledir%\tcpbak\services %1\etc > nul 2> nul
if not errorlevel 1 goto label2
echo copy %epfifiledir%\tmpdefer\services %1\etc >> %2:\os2\system\epfidefi.cmd
echo del %epfifiledir%\tmpdefer\services >> %2:\os2\system\epfidefi.cmd
copy %epfifiledir%\tcpbak\services %epfifiledir%\tmpdefer > nul 2> nul

:label2
if exist %epfifiledir%\tcpbak\cntrl.exe copy %epfifiledir%\tcpbak\cntrl.exe %1\bin > nul 2> nul
if not errorlevel 1 goto label3
echo copy %epfifiledir%\tmpdefer\cntrl.exe %1\bin >> %2:\os2\system\epfidefi.cmd
echo del %epfifiledir%\tmpdefer\cntrl.exe >> %2:\os2\system\epfidefi.cmd
copy %epfifiledir%\tcpbak\cntrl.exe %epfifiledir%\tmpdefer > nul 2> nul

:label3
if exist %epfifiledir%\tcpbak\ifconfig.exe copy %epfifiledir%\tcpbak\ifconfig.exe %1\bin > nul 2> nul
if not errorlevel 1 goto label4
echo copy %epfifiledir%\tmpdefer\ifconfig.exe %1\bin >> %2:\os2\system\epfidefi.cmd
echo del %epfifiledir%\tmpdefer\ifconfig.exe >> %2:\os2\system\epfidefi.cmd
copy %epfifiledir%\tcpbak\ifconfig.exe %epfifiledir%\tmpdefer > nul 2> nul

:label4
if exist %epfifiledir%\tcpbak\ping.exe copy %epfifiledir%\tcpbak\ping.exe %1\bin > nul 2> nul
if not errorlevel 1 goto label5
echo copy %epfifiledir%\tmpdefer\ping.exe %1\bin >> %2:\os2\system\epfidefi.cmd
echo del %epfifiledir%\tmpdefer\ping.exe >> %2:\os2\system\epfidefi.cmd
copy %epfifiledir%\tcpbak\ping.exe %epfifiledir%\tmpdefer > nul 2> nul

:label5
if exist %epfifiledir%\tcpbak\route.exe copy %epfifiledir%\tcpbak\route.exe %1\bin > nul 2> nul
if not errorlevel 1 goto label6
echo copy %epfifiledir%\tmpdefer\route.exe %1\bin >> %2:\os2\system\epfidefi.cmd
echo del %epfifiledir%\tmpdefer\route.exe >> %2:\os2\system\epfidefi.cmd
copy %epfifiledir%\tcpbak\route.exe %epfifiledir%\tmpdefer > nul 2> nul

:label6
if exist %epfifiledir%\tcpbak\netstat.exe copy %epfifiledir%\tcpbak\netstat.exe %1\bin > nul 2> nul
if not errorlevel 1 goto label7
echo copy %epfifiledir%\tmpdefer\netstat.exe %1\bin >> %2:\os2\system\epfidefi.cmd
echo del %epfifiledir%\tmpdefer\netstat.exe >> %2:\os2\system\epfidefi.cmd
copy %epfifiledir%\tcpbak\netstat.exe %epfifiledir%\tmpdefer > nul 2> nul

:label7
if exist %epfifiledir%\tcpbak\sockets.sys copy %epfifiledir%\tcpbak\sockets.sys %1\bin > nul 2> nul
if not errorlevel 1 goto label8
echo copy %epfifiledir%\tmpdefer\sockets.sys %1\bin >> %2:\os2\system\epfidefi.cmd
echo del %epfifiledir%\tmpdefer\sockets.sys >> %2:\os2\system\epfidefi.cmd
copy %epfifiledir%\tcpbak\sockets.sys %epfifiledir%\tmpdefer > nul 2> nul

:label8
if exist %epfifiledir%\tcpbak\afos2.sys copy %epfifiledir%\tcpbak\afos2.sys %1\bin > nul 2> nul
if not errorlevel 1 goto label9
echo copy %epfifiledir%\tmpdefer\afos2.sys %1\bin >> %2:\os2\system\epfidefi.cmd
echo del %epfifiledir%\tmpdefer\afos2.sys >> %2:\os2\system\epfidefi.cmd
copy %epfifiledir%\tcpbak\afos2.sys %epfifiledir%\tmpdefer > nul 2> nul

:label9
if exist %epfifiledir%\tcpbak\ifndis.sys copy %epfifiledir%\tcpbak\ifndis.sys %1\bin > nul 2> nul
if not errorlevel 1 goto label10
echo copy %epfifiledir%\tmpdefer\ifndis.sys %1\bin >> %2:\os2\system\epfidefi.cmd
echo del %epfifiledir%\tmpdefer\ifndis.sys >> %2:\os2\system\epfidefi.cmd
copy %epfifiledir%\tcpbak\ifndis.sys %epfifiledir%\tmpdefer > nul 2> nul

:label10
if exist %epfifiledir%\tcpbak\afinet.sys copy %epfifiledir%\tcpbak\afinet.sys %1\bin > nul 2> nul
if not errorlevel 1 goto label11
echo copy %epfifiledir%\tmpdefer\afinet.sys %1\bin >> %2:\os2\system\epfidefi.cmd
echo del %epfifiledir%\tmpdefer\afinet.sys >> %2:\os2\system\epfidefi.cmd
copy %epfifiledir%\tcpbak\afinet.sys %epfifiledir%\tmpdefer > nul 2> nul

:label11
if exist %epfifiledir%\tcpbak\mptn.msg copy %epfifiledir%\tcpbak\mptn.msg %1\bin > nul 2> nul
if not errorlevel 1 goto label12
echo copy %epfifiledir%\tmpdefer\mptn.msg %1\bin >> %2:\os2\system\epfidefi.cmd
echo del %epfifiledir%\tmpdefer\mptn.msg >> %2:\os2\system\epfidefi.cmd
copy %epfifiledir%\tcpbak\mptn.msg %epfifiledir%\tmpdefer > nul 2> nul

:label12
if exist %epfifiledir%\tcpbak\tcp32dll.dll copy %epfifiledir%\tcpbak\tcp32dll.dll %1\dll > nul 2> nul
if not errorlevel 1 goto label13
echo copy %epfifiledir%\tmpdefer\tcp32dll.dll %1\dll >> %2:\os2\system\epfidefi.cmd
echo del %epfifiledir%\tmpdefer\tcp32dll.dll >> %2:\os2\system\epfidefi.cmd
copy %epfifiledir%\tcpbak\tcp32dll.dll %epfifiledir%\tmpdefer > nul 2> nul

:label13
if exist %epfifiledir%\tcpbak\so32dll.dll copy %epfifiledir%\tcpbak\so32dll.dll %1\dll > nul 2> nul
if not errorlevel 1 goto label14
echo copy %epfifiledir%\tmpdefer\so32dll.dll %1\dll >> %2:\os2\system\epfidefi.cmd
echo del %epfifiledir%\tmpdefer\so32dll.dll >> %2:\os2\system\epfidefi.cmd
copy %epfifiledir%\tcpbak\so32dll.dll %epfifiledir%\tmpdefer > nul 2> nul

:label14
if exist %epfifiledir%\tcpbak\tcpipdll.dll copy %epfifiledir%\tcpbak\tcpipdll.dll %1\dll > nul 2> nul
if not errorlevel 1 goto label15
echo copy %epfifiledir%\tmpdefer\tcpipdll.dll %1\dll >> %2:\os2\system\epfidefi.cmd
echo del %epfifiledir%\tmpdefer\tcpipdll.dll >> %2:\os2\system\epfidefi.cmd
copy %epfifiledir%\tcpbak\tcpipdll.dll %epfifiledir%\tmpdefer > nul 2> nul

:label15
if exist %epfifiledir%\mptnbak\sockets.sys copy %epfifiledir%\mptnbak\sockets.sys %3\protocol > nul 2> nul
if not errorlevel 1 goto label16
echo copy %epfifiledir%\tmpdefer\sockets.sys %3\protocol >> %2:\os2\system\epfidefi.cmd
echo del %epfifiledir%\tmpdefer\sockets.sys >> %2:\os2\system\epfidefi.cmd
copy %epfifiledir%\mptnbak\sockets.sys %epfifiledir%\tmpdefer > nul 2> nul

:label16
if exist %epfifiledir%\mptnbak\afos2.sys copy %epfifiledir%\mptnbak\afos2.sys %3\protocol > nul 2> nul
if not errorlevel 1 goto label17
echo copy %epfifiledir%\tmpdefer\afos2.sys %3\protocol >> %2:\os2\system\epfidefi.cmd
echo del %epfifiledir%\tmpdefer\afos2.sys >> %2:\os2\system\epfidefi.cmd
copy %epfifiledir%\mptnbak\afos2.sys %epfifiledir%\tmpdefer > nul 2> nul

:label17
if exist %epfifiledir%\mptnbak\ifndis.sys copy %epfifiledir%\mptnbak\ifndis.sys %3\protocol > nul 2> nul
if not errorlevel 1 goto label18
echo copy %epfifiledir%\tmpdefer\ifndis.sys %3\protocol >> %2:\os2\system\epfidefi.cmd
echo del %epfifiledir%\tmpdefer\ifndis.sys >> %2:\os2\system\epfidefi.cmd
copy %epfifiledir%\mptnbak\ifndis.sys %epfifiledir%\tmpdefer > nul 2> nul

:label18
if exist %epfifiledir%\mptnbak\afinet.sys copy %epfifiledir%\mptnbak\afinet.sys %3\protocol > nul 2> nul
if not errorlevel 1 goto label19
echo copy %epfifiledir%\tmpdefer\afinet.sys %3\protocol >> %2:\os2\system\epfidefi.cmd
echo del %epfifiledir%\tmpdefer\afinet.sys >> %2:\os2\system\epfidefi.cmd
copy %epfifiledir%\mptnbak\afinet.sys %epfifiledir%\tmpdefer > nul 2> nul

:label19
if exist %epfifiledir%\mptnbak\cntrl.exe copy %epfifiledir%\mptnbak\cntrl.exe %3\bin > nul 2> nul
if not errorlevel 1 goto label20
echo copy %epfifiledir%\tmpdefer\cntrl.exe %3\bin >> %2:\os2\system\epfidefi.cmd
echo del %epfifiledir%\tmpdefer\cntrl.exe >> %2:\os2\system\epfidefi.cmd
copy %epfifiledir%\mptnbak\cntrl.exe %epfifiledir%\tmpdefer > nul 2> nul

:label20
del %epfifiledir%\tcpbak\protocol > nul 2> nul
del %epfifiledir%\tcpbak\services > nul 2> nul
del %epfifiledir%\tcpbak\*.sys    > nul 2> nul
del %epfifiledir%\tcpbak\*.exe    > nul 2> nul
del %epfifiledir%\tcpbak\*.dll    > nul 2> nul
del %epfifiledir%\tcpbak\*.msg    > nul 2> nul

rmdir %epfifiledir%\tcpbak

if not exist %epfifiledir%\mptnbak goto end
del %epfifiledir%\mptnbak\*.sys   > nul 2> nul
del %epfifiledir%\mptnbak\*.exe   > nul 2> nul
rmdir %epfifiledir%\mptnbak

:end
