home *** CD-ROM | disk | FTP | other *** search
/ Collection of Hack-Phreak Scene Programs / cleanhpvac.zip / cleanhpvac / PWAULTP3.ZIP / PWAPRGMS.A02 / PWA95 / PWANK082.ZIP / MAIN.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1995-04-09  |  47KB  |  3,296 lines

  1. ;------------------------------------------------------------------------------
  2. ;                                                   .ss.
  3. ;                                                   `²²'
  4. ;             .,sS$Ss,,s$  .,sS$$$Ss.  .,sS$Ss,,s$ .ss.  .sSs.
  5. ;           .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
  6. ;           $$$'   .$$$' $$$²Sçsµ²' .$$$'   .$$$'.$$$' .$$$'  `$$b.
  7. ;           $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$'    ;$$$
  8. ;           `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
  9. ;                                    .sS²°$$$²²°"'       d²°'
  10. ;                                  .$$²  .$$'
  11. ;                                  $$$.,d$$'
  12. ;                                  `²S$$S²'
  13. ;------------------------------------------------------------------------------
  14. ; P.P.L.X. 2.OO                          (C)1996 - Lone Runner / AEGiS CoRP'96 
  15. ;------------------------------------------------------------------------------
  16. ; PPE 3.O1 (Encryption type I) - Analysis ON - Postprocessing ON
  17. ;------------------------------------------------------------------------------
  18.  
  19.     Boolean  BOOLEAN001
  20.     Boolean  BOOLEAN002
  21.     Boolean  BOOLEAN003
  22.     Boolean  BOOLEAN004
  23.     Boolean  BOOLEAN005
  24.     Boolean  BOOLEAN006
  25.     Boolean  BOOLEAN007
  26.     Boolean  BOOLEAN008
  27.     Boolean  BOOLEAN009
  28.     Boolean  BOOLEAN010
  29.     Boolean  BOOLEAN011
  30.     Boolean  BOOLEAN012
  31.     Boolean  BOOLEAN013
  32.     Boolean  BOOLEAN014
  33.     Boolean  BOOLEAN015
  34.     Boolean  BOOLEAN016
  35.     Boolean  BOOLEAN017
  36.     Boolean  BOOLEAN018
  37.     Boolean  BOOLEAN019
  38.     Boolean  BOOLEAN020
  39.     Boolean  BOOLEAN021
  40.     Boolean  BOOLEAN022
  41.     Boolean  BOOLEAN023
  42.     Boolean  BOOLEAN024
  43.     Boolean  BOOLEAN025
  44.     Boolean  BOOLEAN026
  45.     Boolean  BOOLEAN027
  46.     Boolean  BOOLEAN028
  47.     Boolean  BOOLEAN029
  48.     Boolean  BOOLEAN030
  49.     Boolean  BOOLEAN031
  50.     Boolean  BOOLEAN032
  51.     Boolean  BOOLEAN033
  52.     Boolean  BOOLEAN034
  53.     Boolean  BOOLEAN035
  54.     Boolean  BOOLEAN036
  55.     Boolean  BOOLEAN037
  56.     Boolean  BOOLEAN038
  57.     Boolean  BOOLEAN039
  58.     Boolean  BOOLEAN040
  59.     Boolean  BOOLEAN041
  60.     Boolean  BOOLEAN042
  61.     Boolean  BOOLEAN043
  62.     Boolean  BOOLEAN044
  63.     Boolean  BOOLEAN045
  64.     Boolean  BOOLEAN046
  65.     Boolean  BOOLEAN047
  66.     Boolean  BOOLEAN048
  67.     Date     DATE001
  68.     Date     DATE002
  69.     Integer  INTEGER001
  70.     Integer  INTEGER002
  71.     Integer  INTEGER003
  72.     Integer  INTEGER004
  73.     Integer  INTEGER005
  74.     Integer  INTEGER006
  75.     Integer  INTEGER007
  76.     Integer  INTEGER008
  77.     Integer  INTEGER009
  78.     Integer  INTEGER010
  79.     Integer  INTEGER011
  80.     Integer  INTEGER012
  81.     Integer  INTEGER013
  82.     Integer  INTEGER014
  83.     Integer  INTEGER015
  84.     Integer  INTEGER016
  85.     Integer  INTEGER017
  86.     Integer  INTEGER018
  87.     Integer  INTEGER019
  88.     Integer  INTEGER020
  89.     Integer  INTEGER021
  90.     Integer  INTEGER022
  91.     Integer  INTEGER023
  92.     Integer  INTEGER024
  93.     Integer  INTEGER025
  94.     Integer  INTEGER026
  95.     Integer  INTEGER027
  96.     Integer  INTEGER028
  97.     Integer  INTEGER029
  98.     Integer  INTEGER030
  99.     Integer  INTEGER031
  100.     Integer  INTEGER032
  101.     String   STRING001
  102.     String   STRING002
  103.     String   STRING003
  104.     String   STRING004
  105.     String   STRING005
  106.     String   STRING006
  107.     String   STRING007
  108.     String   STRING008
  109.     String   STRING009
  110.     String   STRING010
  111.     String   TSTRING011(5)
  112.     String   TSTRING012(60)
  113.     String   STRING013
  114.     String   STRING014
  115.     String   STRING015
  116.     String   STRING016
  117.     String   STRING017
  118.     String   STRING018
  119.     String   STRING019
  120.     String   STRING020
  121.     String   STRING021
  122.     String   STRING022
  123.     String   STRING023
  124.     String   STRING024
  125.     String   STRING025
  126.     String   STRING026
  127.     String   STRING027
  128.     String   STRING028
  129.     String   STRING029
  130.     String   TSTRING030(3)
  131.     String   STRING031
  132.     String   STRING032
  133.     String   STRING033
  134.     String   STRING034
  135.     String   STRING035
  136.     String   TSTRING036(10)
  137.     String   TSTRING037(10)
  138.     String   STRING038
  139.     String   STRING039
  140.     String   STRING040
  141.     String   STRING041
  142.     String   STRING042
  143.     String   STRING043
  144.     String   STRING044
  145.     String   STRING045
  146.     String   STRING046
  147.     String   STRING047
  148.     String   STRING048
  149.     String   STRING049
  150.     String   TSTRING050(15)
  151.     String   TSTRING051(15)
  152.     String   STRING052
  153.     String   STRING053
  154.     String   STRING054
  155.     String   STRING055
  156.     String   STRING056
  157.     String   STRING057
  158.     String   STRING058
  159.     String   STRING059
  160.     String   STRING060
  161.     String   STRING061
  162.     String   TSTRING062(60)
  163.     String   STRING063
  164.     String   STRING064
  165.     String   STRING065
  166.     String   STRING066
  167.     String   TSTRING067(8)
  168.     String   STRING068
  169.     String   STRING069
  170.     String   STRING070
  171.     String   STRING071
  172.     Time     TIME001
  173.     Time     TIME002
  174.     Int      INT001
  175.     Int      INT002
  176.     Int      INT003
  177.     Int      INT004
  178.     Int      INT005
  179.     Int      INT006
  180.     Int      INT007
  181.     Int      INT008
  182.     Int      INT009
  183.     Int      INT010
  184.     Int      INT011
  185.     Int      INT012
  186.     Int      TINT013(10)
  187.     Int      TINT014(10)
  188.     Int      INT015
  189.     Int      INT016
  190.     Int      INT017
  191.     Int      INT018
  192.     Int      INT019
  193.     Int      INT020
  194.     Int      INT021
  195.     Int      INT022
  196.     Int      INT023
  197.     Int      INT024
  198.     Int      INT025
  199.     Int      INT026
  200.     BigStr   TBIGSTR001(8)
  201.     Double   DOUBLE001
  202.  
  203.     INT001 = String(PCBMac("@NUMDIR@"))
  204.     STRING008 = ReadLine(PCBDat(), 46)
  205.     STRING013 = ReadLine(PCBDat(), 33)
  206.     STRING018 = PPEPath() + "graph\text"
  207.     STRING015 = PPEPath() + "nuke.cfg"
  208.     STRING031 = PPEPath() + "work\cmd" + String(PcbNode())
  209.     STRING032 = PPEPath() + "work\rest" + String(PcbNode())
  210.     If (Exist(STRING031)) Delete STRING031
  211.     TSTRING030(0) = ReadLine(STRING018, 15)
  212.     TSTRING030(1) = ReadLine(STRING018, 16)
  213.     TSTRING030(2) = ReadLine(STRING018, 17)
  214.     TSTRING030(3) = ReadLine(STRING018, 18)
  215.     STRING003 = ReadLine(STRING018, 6)
  216.     STRING005 = ReadLine(STRING018, 7)
  217.     STRING006 = ReadLine(STRING018, 8)
  218.     STRING007 = ReadLine(STRING018, 9)
  219.     Log "BlackCat NUKE started at (" + String(Time()) + ")", 0
  220.     FreshLine
  221.     PrintLn "@X07Nuke v@X0F0.82 @X07(@X0FC@X07) BlackCat 1995"
  222.     If (GetToken() == "RESTORE") Then
  223.         BOOLEAN033 = 1
  224.     Endif
  225.     STRING025 = ReadLine(STRING015, 1)
  226.     If (Upper(STRING025) == "N") Then
  227.         BOOLEAN034 = 0
  228.     Else
  229.         BOOLEAN034 = 1
  230.     Endif
  231.     Tokenize ReadLine(STRING015, 2)
  232.     INT005 = GetToken()
  233.     INT006 = GetToken()
  234.     STRING026 = ReadLine(STRING015, 3)
  235.     STRING027 = Upper(ReadLine(STRING015, 4))
  236.     STRING033 = ReadLine(STRING015, 6)
  237.     If (Upper(ReadLine(STRING015, 7)) == "YES") Then
  238.         BOOLEAN035 = 1
  239.     Else
  240.         BOOLEAN035 = 0
  241.     Endif
  242.     Gosub LABEL146
  243.     INTEGER009 = ReadLine(STRING015, 10)
  244.     If (Upper(ReadLine(STRING015, 11)) == "YES") Then
  245.         BOOLEAN036 = 1
  246.     Else
  247.         BOOLEAN036 = 0
  248.     Endif
  249.     If (Upper(ReadLine(STRING015, 12)) == "YES") Then
  250.         BOOLEAN032 = 1
  251.         STRING019 = ReadLine(STRING015, 13)
  252.     Else
  253.         BOOLEAN032 = 0
  254.     Endif
  255.     Tokenize ReadLine(STRING015, 14)
  256.     If (GetToken() == "YES") Then
  257.         BOOLEAN015 = 1
  258.     Else
  259.         BOOLEAN015 = 0
  260.     Endif
  261.     If (GetToken() == "YES") Then
  262.         BOOLEAN016 = 1
  263.     Else
  264.         BOOLEAN016 = 0
  265.     Endif
  266.     If (GetToken() == "YES") Then
  267.         INT003 = 2
  268.     Else
  269.         INT003 = 1
  270.     Endif
  271.     STRING021 = GetToken()
  272.     Select Case (STRING021)
  273.         Case "X"
  274.             GetUser
  275.             If (U_Expert) Then
  276.                 BOOLEAN037 = 1
  277.             Else
  278.                 BOOLEAN037 = 0
  279.             Endif
  280.         Case "A"
  281.             BOOLEAN037 = 1
  282.         Case Else
  283.             BOOLEAN037 = 0
  284.     End Select
  285.     If (GetToken() == "YES") Then
  286.         BOOLEAN011 = 1
  287.     Endif
  288.     If (GetToken() == "YES") Then
  289.         BOOLEAN012 = 1
  290.     Endif
  291.     If (GetToken() == "YES") Then
  292.         BOOLEAN013 = 1
  293.     Endif
  294.     If (GetToken() == "YES") Then
  295.         BOOLEAN017 = 1
  296.     Endif
  297.     STRING034 = PPEPath() + "work\bcnk" + String(CurConf()) + "." + String(PcbNode())
  298.     If (Exist(STRING034)) Then
  299.         If (Upper(ReadLine(STRING034, 1)) <> Upper(U_Name())) Then
  300.             FClose -1
  301.             Delete STRING034
  302.         Endif
  303.     Endif
  304.     BOOLEAN038 = 0
  305.     INT011 = 1
  306.     Goto LABEL005
  307.     :LABEL001
  308.     DefColor
  309.     Print STRING005
  310.     INT015 = GetX()
  311.     INT016 = GetY()
  312.     For INT012 = 1 To INT009
  313.         TINT013(INT012) = GetX()
  314.         TINT014(INT012) = GetY()
  315.         Print TSTRING036(INT012)
  316.         If (INT008 == 1) Then
  317.             If (INT012 == INT009) Then
  318.                 Print STRING007
  319.             Else
  320.                 Print STRING006
  321.             Endif
  322.         Else
  323.             AnsiPos INT015, GetY() + 1
  324.         Endif
  325.         TSTRING037(INT012) = Left(Strip(StripAtx(TSTRING036(INT012)), " "), 1)
  326.     Next
  327.     INT010 = INT011
  328.     Gosub LABEL004
  329.     Print STRING003, StripAtx(TSTRING036(INT010))
  330.     :LABEL002
  331.     STRING004 = Inkey()
  332.     Select Case (STRING004)
  333.         Case Chr(13)
  334.             DefColor
  335.             Return
  336.         Case "RIGHT", "DOWN", "."
  337.             Gosub LABEL004
  338.             Print TSTRING036(INT010)
  339.             If (INT010 == INT009) Then
  340.                 INT010 = 1
  341.             Else
  342.                 Inc INT010
  343.             Endif
  344.             Gosub LABEL004
  345.             Print STRING003, StripAtx(TSTRING036(INT010))
  346.         Case "LEFT", "UP", ","
  347.             Gosub LABEL004
  348.             Print TSTRING036(INT010)
  349.             If (INT010 == 1) Then
  350.                 INT010 = INT009
  351.             Else
  352.                 Dec INT010
  353.             Endif
  354.             Gosub LABEL004
  355.             Print STRING003, StripAtx(TSTRING036(INT010))
  356.         Case "END"
  357.             Gosub LABEL004
  358.             Print TSTRING036(INT010)
  359.             INT010 = INT009
  360.             Gosub LABEL004
  361.             Print STRING003, StripAtx(TSTRING036(INT010))
  362.         Case "HOME"
  363.             Gosub LABEL004
  364.             Print TSTRING036(INT010)
  365.             INT010 = 1
  366.             Gosub LABEL004
  367.             Print STRING003, StripAtx(TSTRING036(INT010))
  368.         Case "?"
  369.             If (BOOLEAN029) Then
  370.                 SaveScrn
  371.                 STRING014 = PPEPath() + "help\"
  372.                 If (INT010 == 1) Then
  373.                     DispFile STRING014 + "nuke", 0
  374.                     Goto LABEL003
  375.                 Endif
  376.                 If (INT010 == 2) Then
  377.                     DispFile STRING014 + "award", 0
  378.                     Goto LABEL003
  379.                 Endif
  380.                 If (INT010 == 3) Then
  381.                     DispFile STRING014 + "delete", 0
  382.                     Goto LABEL003
  383.                 Endif
  384.                 If (INT010 == 4) Then
  385.                     DispFile STRING014 + "skip", 0
  386.                     Goto LABEL003
  387.                 Endif
  388.                 If (INT010 == 5) Then
  389.                     DispFile STRING014 + "edit", 0
  390.                     Goto LABEL003
  391.                 Endif
  392.                 If (INT010 == 6) Then
  393.                     DispFile STRING014 + "free", 0
  394.                     Goto LABEL003
  395.                 Endif
  396.                 If (INT010 == 7) Then
  397.                     DispFile STRING014 + "comment", 0
  398.                     Goto LABEL003
  399.                 Endif
  400.                 If (INT010 == 8) Then
  401.                     DispFile STRING014 + "quit", 0
  402.                 Endif
  403.                 :LABEL003
  404.                 Wait
  405.                 RestScrn
  406.             Endif
  407.         Case ""
  408.             For INT012 = 1 To INT009
  409.                 If (Upper(STRING004) == Upper(TSTRING037(INT012))) Then
  410.                     Gosub LABEL004
  411.                     Print TSTRING036(INT010)
  412.                     INT010 = INT012
  413.                     Gosub LABEL004
  414.                     Print STRING003, StripAtx(TSTRING036(INT010))
  415.                     KbdStuff Chr(13)
  416.                 Endif
  417.             Next
  418.     End Select
  419.     Goto LABEL002
  420.     :LABEL004
  421.     INT017 = GetX()
  422.     If (INT017 > TINT013(INT010)) Then
  423.         Backup INT017 - TINT013(INT010)
  424.     ElseIf (INT017 < TINT013(INT010)) Then
  425.         Forward TINT013(INT010) - INT017
  426.     Endif
  427.     Return
  428.     :LABEL005
  429.     If (Exist(STRING044)) Then
  430.         PrintLn "@X0CSorry, but the nuker is being run on another node, try again later.."
  431.         End
  432.     Endif
  433.     STRING044 = PPEPath() + "running"
  434.     FCreate 1, STRING044, 1, 3
  435.     FClose 1
  436.     Gosub LABEL155
  437.     Gosub LABEL031
  438.     Gosub LABEL029
  439.     End
  440.     :LABEL006
  441.     Gosub LABEL054
  442.     If (BOOLEAN006) Then
  443.         STRING002 = ""
  444.         InputStr "@X07Enter wildcard (enter=abort)@X0C: _", STRING002, 1, 12, Mask_Pwd(), 8
  445.         If (STRING002 == "") Return
  446.     Endif
  447.     If (BOOLEAN040) Then
  448.         BOOLEAN040 = 0
  449.         Return
  450.     Endif
  451.     Gosub LABEL032
  452.     If (BOOLEAN006) Then
  453.         STRING039 = ReadLine(PPEPath() + "work\tblst", 1)
  454.         STRING040 = STRING035 + "\" + STRING039
  455.     Endif
  456.     If (BOOLEAN042) Goto LABEL007
  457.     FreshLine
  458.     If (BOOLEAN014) Then
  459.         BOOLEAN018 = 0
  460.         BOOLEAN040 = 0
  461.         Return
  462.     Endif
  463.     Print ReadLine(STRING018, 95)
  464.     Gosub LABEL068
  465.     If (INT010 == 2) Then
  466.         BOOLEAN018 = 0
  467.         BOOLEAN040 = 0
  468.         Return
  469.     Endif
  470.     Goto LABEL006
  471.     :LABEL007
  472.     Gosub LABEL078
  473.     Gosub LABEL079
  474.     If (BOOLEAN022) Goto LABEL008
  475.     STRING029 = "NONAME"
  476.     :LABEL008
  477.     Gosub LABEL061
  478.     If (BOOLEAN028) Then
  479.         If (BOOLEAN004) Goto LABEL009
  480.         FreshLine
  481.         PrintLn ReadLine(STRING018, 109)
  482.         BOOLEAN028 = 0
  483.         Goto LABEL008
  484.         :LABEL009
  485.         Gosub LABEL153
  486.         Gosub LABEL023
  487.         If (BOOLEAN040) Then
  488.             FreshLine
  489.             Newline
  490.             BOOLEAN028 = 0
  491.             BOOLEAN040 = 0
  492.             Goto LABEL008
  493.         Endif
  494.         If (BOOLEAN014) Then
  495.             Copy PPEPath() + "work\tblst", PPEPath() + "work\tbbyte"
  496.         Endif
  497.         Gosub LABEL026
  498.         Gosub LABEL035
  499.         Gosub LABEL021
  500.         BOOLEAN028 = 0
  501.         Wait
  502.         If (BOOLEAN014) Return
  503.     Endif
  504.     If (BOOLEAN021) Then
  505.         BOOLEAN021 = 0
  506.         Goto LABEL006
  507.     Endif
  508.     If (BOOLEAN025) Then
  509.         If (BOOLEAN003) Goto LABEL010
  510.         FreshLine
  511.         PrintLn ReadLine(STRING018, 110)
  512.         BOOLEAN025 = 0
  513.         Goto LABEL008
  514.         :LABEL010
  515.         Gosub LABEL153
  516.         Gosub LABEL147
  517.         If (BOOLEAN026) Then
  518.             BOOLEAN025 = 0
  519.             BOOLEAN026 = 0
  520.             FreshLine
  521.             Newline
  522.             Goto LABEL008
  523.         Endif
  524.         If (BOOLEAN014) Then
  525.             Copy PPEPath() + "work\tblst", PPEPath() + "work\tbbyte"
  526.         Endif
  527.         Gosub LABEL026
  528.         Gosub LABEL035
  529.         BOOLEAN025 = 0
  530.         Gosub LABEL022
  531.         Wait
  532.         If (BOOLEAN014) Return
  533.         Goto LABEL006
  534.     Endif
  535.     If (BOOLEAN023) Then
  536.         If (BOOLEAN002) Goto LABEL011
  537.         FreshLine
  538.         PrintLn ReadLine(STRING018, 111)
  539.         BOOLEAN023 = 0
  540.         Goto LABEL008
  541.         :LABEL011
  542.         Gosub LABEL153
  543.         Gosub LABEL115
  544.         If (BOOLEAN024) Then
  545.             BOOLEAN023 = 0
  546.             Newline
  547.             Goto LABEL008
  548.         Endif
  549.         Gosub LABEL026
  550.         Gosub LABEL035
  551.         Gosub LABEL020
  552.         BOOLEAN023 = 0
  553.         Wait
  554.         If (BOOLEAN014) Return
  555.         Goto LABEL006
  556.     Endif
  557.     If (BOOLEAN040) Then
  558.         BOOLEAN040 = 0
  559.         Return
  560.     Endif
  561.     If (BOOLEAN039) Goto LABEL012
  562.     Goto LABEL006
  563.     :LABEL012
  564.     If (BOOLEAN001) Goto LABEL013
  565.     FreshLine
  566.     PrintLn ReadLine(STRING018, 112)
  567.     BOOLEAN039 = 0
  568.     Goto LABEL008
  569.     :LABEL013
  570.     If (BOOLEAN042) Goto LABEL014
  571.     Goto LABEL006
  572.     :LABEL014
  573.     Gosub LABEL153
  574.     Gosub LABEL023
  575.     If (BOOLEAN040) Then
  576.         BOOLEAN040 = 0
  577.         Goto LABEL008
  578.     Endif
  579.     Gosub LABEL119
  580.     If (BOOLEAN040) Then
  581.         BOOLEAN040 = 0
  582.         Goto LABEL008
  583.     Endif
  584.     Gosub LABEL026
  585.     Gosub LABEL123
  586.     Gosub LABEL035
  587.     Gosub LABEL091
  588.     Gosub LABEL015
  589.     If (BOOLEAN014) Return
  590.     Goto LABEL006
  591.     Return
  592.     :LABEL015
  593.     If (BOOLEAN014) Then
  594.         STRING021 = PPEPath() + "work\tbbyte"
  595.         INTEGER001 = 1
  596.         Tokenize ReadLine(STRING021, INTEGER001)
  597.         STRING022 = GetToken()
  598.         INTEGER002 = GetToken()
  599.         Gosub LABEL131
  600.         FAppend 3, PPEPath() + "nuke.log", 1, 0
  601.         If (BOOLEAN036) Then
  602.             STRING023 = PPEPath() + "nukelst"
  603.             If (Exist(STRING023)) Goto LABEL016
  604.             FCreate 1, STRING023, 1, 0
  605.             Goto LABEL017
  606.             :LABEL016
  607.             FAppend 1, STRING023, 1, 0
  608.         Endif
  609.         :LABEL017
  610.         While (STRING022 <> "") Do
  611.             STRING024 = Left(STRING022, 12) + " " + Left(STRING029, 20) + " " + "NUKE " + " " + Left(U_Name(), 20) + " " + Left(INTEGER002, 15)
  612.             FPutLn 3, STRING024
  613.             Inc INTEGER001
  614.             If (BOOLEAN036) Then
  615.                 FPutLn 1, Upper(STRING029) + "," + String(INTEGER002) + "," + "1"
  616.             Endif
  617.             Tokenize ReadLine(STRING021, INTEGER001)
  618.             STRING022 = GetToken()
  619.             INTEGER002 = GetToken()
  620.         EndWhile
  621.         FClose 3
  622.         If (BOOLEAN036) FClose 1
  623.         Return
  624.     Endif
  625.     STRING024 = Left(STRING039, 12) + " " + Left(STRING029, 20) + " " + "NUKE " + " " + Left(U_Name(), 20) + " " + Left(INTEGER006, 15)
  626.     Gosub LABEL133
  627.     If (BOOLEAN036) Then
  628.         STRING021 = PPEPath() + "nukelst"
  629.         If (Exist(STRING021)) Goto LABEL018
  630.         FCreate 1, STRING021, 1, 0
  631.         FPutLn 1, Upper(STRING029) + "," + String(INTEGER006) + "," + "1"
  632.         Goto LABEL019
  633.         :LABEL018
  634.         FAppend 1, STRING021, 1, 0
  635.         FPutLn 1, Upper(STRING029) + "," + String(INTEGER006) + "," + "1"
  636.         :LABEL019
  637.         FClose 1
  638.     Endif
  639.     Return
  640.     :LABEL020
  641.     If (BOOLEAN014) Then
  642.         STRING021 = PPEPath() + "work\tblst"
  643.         INTEGER001 = 1
  644.         Tokenize ReadLine(STRING021, INTEGER001)
  645.         STRING022 = GetToken()
  646.         INTEGER002 = GetToken()
  647.         Gosub LABEL131
  648.         FAppend 3, PPEPath() + "nuke.log", 1, 0
  649.         While (STRING022 <> "") Do
  650.             STRING024 = Left(STRING022, 12) + " " + Left(STRING029, 20) + " " + "AWARD" + " " + Left(U_Name(), 20) + " " + Left(INTEGER006, 15)
  651.             FPutLn 3, STRING024
  652.             Inc INTEGER001
  653.             Tokenize ReadLine(STRING021, INTEGER001)
  654.             STRING022 = GetToken()
  655.             INTEGER002 = GetToken()
  656.         EndWhile
  657.         FClose 3
  658.         Return
  659.     Endif
  660.     STRING024 = Left(STRING039, 12) + " " + Left(STRING029, 20) + " " + "AWARD" + " " + Left(U_Name(), 20) + " " + Left(INTEGER006, 15)
  661.     Gosub LABEL133
  662.     Return
  663.     :LABEL021
  664.     If (BOOLEAN014) Then
  665.         STRING021 = PPEPath() + "work\tblst"
  666.         INTEGER001 = 1
  667.         Tokenize ReadLine(STRING021, INTEGER001)
  668.         STRING022 = GetToken()
  669.         INTEGER002 = GetToken()
  670.         Gosub LABEL131
  671.         FAppend 3, PPEPath() + "nuke.log", 1, 0
  672.         While (STRING022 <> "") Do
  673.             STRING024 = Left(STRING022, 12) + " " + Left(STRING029, 20) + " " + "CMT  " + " " + Left(U_Name(), 20) + " " + Left("N/A", 15)
  674.             FPutLn 3, STRING024
  675.             Inc INTEGER001
  676.             Tokenize ReadLine(STRING021, INTEGER001)
  677.             STRING022 = GetToken()
  678.         EndWhile
  679.         FClose 3
  680.         Return
  681.     Endif
  682.     STRING024 = Left(STRING039, 12) + " " + Left(STRING029, 20) + " " + "CMT  " + " " + Left(U_Name(), 20) + " " + Left("N/A", 15)
  683.     Gosub LABEL133
  684.     Return
  685.     :LABEL022
  686.     If (BOOLEAN014) Then
  687.         STRING021 = PPEPath() + "work\tblst"
  688.         INTEGER001 = 1
  689.         Tokenize ReadLine(STRING021, INTEGER001)
  690.         STRING022 = GetToken()
  691.         INTEGER002 = GetToken()
  692.         Gosub LABEL131
  693.         FAppend 3, PPEPath() + "nuke.log", 1, 0
  694.         While (STRING022 <> "") Do
  695.             STRING024 = Left(STRING022, 12) + " " + Left(STRING029, 20) + " " + "FREE " + " " + Left(U_Name(), 20) + " " + Left("N/A", 15)
  696.             FPutLn 3, STRING024
  697.             Inc INTEGER001
  698.             Tokenize ReadLine(STRING021, INTEGER001)
  699.             STRING022 = GetToken()
  700.             INTEGER002 = GetToken()
  701.         EndWhile
  702.         FClose 3
  703.         Return
  704.     Endif
  705.     STRING024 = Left(STRING039, 12) + " " + Left(STRING029, 20) + " " + "FREE " + " " + Left(U_Name(), 20) + " " + Left("N/A", 15)
  706.     Gosub LABEL133
  707.     Return
  708.     :LABEL023
  709.     TSTRING011(1) = ""
  710.     BOOLEAN040 = 0
  711.     If (BOOLEAN039) Then
  712.         STRING045 = PPEPath() + "nuke.cmt"
  713.     ElseIf (BOOLEAN023) Then
  714.         STRING045 = PPEPath() + "award.cmt"
  715.     ElseIf (BOOLEAN028) Then
  716.         STRING045 = PPEPath() + "comment.cmt"
  717.     Endif
  718.     INT019 = ReadLine(STRING045, 1)
  719.     :LABEL024
  720.     DefColor
  721.     Cls
  722.     DispFile PPEPath() + "graph\cmthdr", 1 + 4
  723.     FreshLine
  724.     STRING021 = ReadLine(STRING015, 5)
  725.     For INTEGER012 = 1 To INT019
  726.         PrintLn ReplaceStr(ReplaceStr(STRING021, "@NR@", String(INTEGER012)), "@CMT@", ReadLine(STRING045, INTEGER012 + 1))
  727.     Next
  728.     PrintLn ReplaceStr(ReplaceStr(STRING021, "@NR@", Left(String(INT019 + 1), 2)), "@CMT@", ReadLine(STRING018, 19))
  729.     DispFile PPEPath() + "graph\cmtftr", 1 + 4
  730.     FreshLine
  731.     STRING038 = ""
  732.     InputStr ReplaceStr(ReadLine(STRING018, 20), "%FILE%", Upper(STRING039)) + "_", STRING038, 1, 15, "0123456789 ", 8
  733.     FreshLine
  734.     Newline
  735.     STRING038 = LTrim(STRING038, " ")
  736.     Select Case (STRING038)
  737.         Case ""
  738.             BOOLEAN040 = 1
  739.             Return
  740.         Case String(INT019 + 1)
  741.             STRING038 = ""
  742.             Gosub LABEL025
  743.             If (BOOLEAN030) Then
  744.                 PrintLn ReadLine(STRING018, 21)
  745.                 Delay 30
  746.                 Goto LABEL024
  747.             Endif
  748.         Case Else
  749.             Tokenize STRING038
  750.             If (TokCount() > 5) Then
  751.                 PrintLn "@X0CToo many comments selected, MAX 5"
  752.                 Delay 30
  753.                 Goto LABEL024
  754.             Endif
  755.             STRING021 = GetToken()
  756.             INTEGER001 = 1
  757.             INTEGER011 = 0
  758.             While (STRING021 <> "") Do
  759.                 If ((STRING021 > INT019) || (STRING038 < 1)) Then
  760.                     PrintLn "@X0CInvalid comment entered!!"
  761.                     Delay 30
  762.                     Goto LABEL024
  763.                 Else
  764.                     TSTRING011(INTEGER001) = ReadLine(STRING045, STRING021 + 1)
  765.                     If (BOOLEAN012) Then
  766.                         INT004 = Len(TSTRING011(INTEGER001))
  767.                         If (INT004 < 44) Then
  768.                             INT004 = (44 - INT004) / 2
  769.                             TSTRING011(INTEGER001) = Space(INT004) + TSTRING011(INTEGER001)
  770.                         Endif
  771.                     Endif
  772.                 Endif
  773.                 Inc INTEGER001
  774.                 STRING021 = GetToken()
  775.             EndWhile
  776.             INTEGER011 = INTEGER001 - 1
  777.     End Select
  778.     Return
  779.     :LABEL025
  780.     TSTRING011(1) = ""
  781.     BOOLEAN030 = 0
  782.     FreshLine
  783.     DispFile PPEPath() + "graph\owncmt", 0
  784.     For INTEGER012 = 1 To 5
  785.         STRING038 = ""
  786.         Print ReplaceStr(ReadLine(STRING018, 108), "%NR%", String(INTEGER012))
  787.         InputStr "_", STRING038, 1, 40, Mask_Pwd(), 2
  788.         If ((STRING038 == "") && (INTEGER012 == 1)) Then
  789.             BOOLEAN030 = 1
  790.             Return
  791.         ElseIf (STRING038 == "") Then
  792.             INTEGER011 = INTEGER012 - 1
  793.             Return
  794.         Else
  795.             TSTRING011(INTEGER012) = STRING038
  796.         Endif
  797.         FreshLine
  798.     Next
  799.     Return
  800.     :LABEL026
  801.     FClose -1
  802.     BOOLEAN043 = 1
  803.     PrintLn "@X07Writing description message"
  804.     BOOLEAN044 = 1
  805.     If (BOOLEAN008 && BOOLEAN009) BOOLEAN044 = 0
  806.     If (BOOLEAN023) Then
  807.         FOpen 3, PPEPath() + "graph\award.msg", 0, 0
  808.         STRING047 = ReadLine(STRING018, 33)
  809.     ElseIf (BOOLEAN025) Then
  810.         FOpen 3, PPEPath() + "graph\free.msg", 0, 0
  811.         STRING047 = ReadLine(STRING018, 105)
  812.     ElseIf (BOOLEAN028) Then
  813.         FOpen 3, PPEPath() + "graph\comment.msg", 0, 0
  814.         STRING047 = ReadLine(STRING018, 106)
  815.     Else
  816.         FOpen 3, PPEPath() + "graph\nuke.msg", 0, 0
  817.         STRING047 = ReadLine(STRING018, 107)
  818.     Endif
  819.     If (BOOLEAN012) STRING047 = ""
  820.     FCreate 1, PPEPath() + "work\nkname", 1, 0
  821.     INTEGER001 = 1
  822.     If (BOOLEAN014) Then
  823.         FOpen 4, PPEPath() + "work\replst", 0, 0
  824.         If (Ferr(4)) Then
  825.             PrintLn "@X0CERROR OPENING WORK\REPLST"
  826.             Wait
  827.             End
  828.         Endif
  829.         FreshLine
  830.         FOpen 5, STRING042, 0, 0
  831.         Tokenize ReadLine(PPEPath() + "work\tbbyte", 1)
  832.         STRING021 = GetToken()
  833.         STRING021 = GetToken()
  834.     Endif
  835.     STRING046 = ""
  836.     FGet 3, STRING046
  837.     :LABEL027
  838.     If (!BOOLEAN015 && !BOOLEAN013) Then
  839.         For INTEGER012 = 1 To INTEGER011
  840.             If (BOOLEAN043) Then
  841.                 FPutLn 1, " " + STRING047 + TSTRING011(INTEGER012)
  842.                 BOOLEAN043 = 0
  843.                 Continue
  844.             Endif
  845.             FPutLn 1, Space(31) + "|" + " " + STRING047 + TSTRING011(INTEGER012)
  846.         Next
  847.     Endif
  848.     If (BOOLEAN013) Then
  849.         Gosub LABEL157
  850.     Endif
  851.     While (!Ferr(3) && (STRING046 <> "")) Do
  852.         If (BOOLEAN044) Then
  853.             STRING046 = ReplaceStr(STRING046, "@NUKER@", Mixed(U_Name()))
  854.         Else
  855.             STRING046 = ReplaceStr(STRING046, "@NUKER@", "(Anonymous)")
  856.         Endif
  857.         STRING046 = ReplaceStr(STRING046, "@NALIAS@", Mixed(U_Alias))
  858.         STRING046 = ReplaceStr(STRING046, "@NUSER@", Mixed(STRING029))
  859.         If (BOOLEAN014) Then
  860.             STRING046 = ReplaceStr(STRING046, "@BNUKED@", String(STRING021))
  861.         Else
  862.             STRING046 = ReplaceStr(STRING046, "@BNUKED@", String(INTEGER006))
  863.         Endif
  864.         If (INTEGER005 == 0) Then
  865.             STRING046 = ReplaceStr(STRING046, "@FACTOR@", "N/A")
  866.         Else
  867.             STRING046 = ReplaceStr(STRING046, "@FACTOR@", String(INTEGER005))
  868.         Endif
  869.         If (BOOLEAN017) Then
  870.             INT004 = Len(STRING046)
  871.             If (INT004 < 44) Then
  872.                 INT004 = (44 - INT004) / 2
  873.                 STRING046 = Space(INT004) + STRING046
  874.             Endif
  875.         Endif
  876.         If (BOOLEAN043) Then
  877.             FPutLn 1, " " + STRING046
  878.             BOOLEAN043 = 0
  879.         Else
  880.             FPutLn 1, Space(31) + "|" + " " + STRING046
  881.         Endif
  882.         FGet 3, STRING046
  883.     EndWhile
  884.     If (BOOLEAN015 && !BOOLEAN013) Then
  885.         For INTEGER012 = 1 To INTEGER011
  886.             If (BOOLEAN043) Then
  887.                 FPutLn 1, " " + STRING047 + TSTRING011(INTEGER012)
  888.                 BOOLEAN043 = 0
  889.                 Continue
  890.             Endif
  891.             FPutLn 1, Space(31) + "|" + " " + STRING047 + TSTRING011(INTEGER012)
  892.         Next
  893.     Endif
  894.     If (BOOLEAN039 && !BOOLEAN016) Goto LABEL028
  895.     If (BOOLEAN013) Goto LABEL028
  896.     Gosub LABEL157
  897.     :LABEL028
  898.     If (BOOLEAN013) Then
  899.         For INTEGER012 = 1 To INTEGER011
  900.             If (BOOLEAN043) Then
  901.                 FPutLn 1, " " + STRING047 + TSTRING011(INTEGER012)
  902.                 BOOLEAN043 = 0
  903.                 Continue
  904.             Endif
  905.             FPutLn 1, Space(31) + "|" + " " + STRING047 + TSTRING011(INTEGER012)
  906.         Next
  907.     Endif
  908.     If (BOOLEAN014) Then
  909.         FPutLn 1, "/EOFDESC"
  910.         Frewind 3
  911.         FGet 3, STRING046
  912.         BOOLEAN043 = 1
  913.         Inc INTEGER001
  914.         STRING021 = ReadLine(PPEPath() + "work\tbbyte", INTEGER001)
  915.         If (STRING021 <> "") Then
  916.             Tokenize STRING021
  917.             STRING021 = GetToken()
  918.             STRING021 = GetToken()
  919.             Goto LABEL027
  920.         Endif
  921.     Endif
  922.     FClose 1
  923.     FClose 3
  924.     FClose 4
  925.     FClose 5
  926.     PrintLn "@X07Description message written"
  927.     Return
  928.     :LABEL029
  929.     BOOLEAN014 = 0
  930.     BOOLEAN006 = 0
  931.     FClose -1
  932.     If (BOOLEAN037) Then
  933.         :LABEL030
  934.         DispFile PPEPath() + "graph\xmenu", 0
  935.         STRING038 = ""
  936.         FreshLine
  937.         Print "     @X07Your Selection @X08[■]"
  938.         Backup 2
  939.         While (1) Do
  940.             While ((STRING038 == "")) STRING038 = Upper(Inkey())
  941.             If (InStr("NTWZLSDEHQ", STRING038) && (Len(STRING038) == 1)) Then
  942.                 Print "@X08", STRING038
  943.                 Break
  944.                 Continue
  945.             Endif
  946.             STRING038 = ""
  947.         EndWhile
  948.         If (STRING038 == "") Goto LABEL030
  949.         If (STRING038 == "N") INTEGER014 = 1
  950.         If (STRING038 == "T") INTEGER014 = 2
  951.         If (STRING038 == "W") INTEGER014 = 3
  952.         If (STRING038 == "Z") INTEGER014 = 4
  953.         If (STRING038 == "L") INTEGER014 = 5
  954.         If (STRING038 == "S") INTEGER014 = 6
  955.         If (STRING038 == "D") INTEGER014 = 7
  956.         If (STRING038 == "E") INTEGER014 = 8
  957.         If (STRING038 == "H") INTEGER014 = 9
  958.         If (STRING038 == "Q") INTEGER014 = 10
  959.     Else
  960.         DispFile PPEPath() + "graph\menu", 1 + 4
  961.         Tokenize PPEPath() + "lb.cfg" + " " + String(1)
  962.         Gosub LABEL046
  963.     Endif
  964.     Select Case (INTEGER014)
  965.         Case 1
  966.             DefColor
  967.             Cls
  968.             Gosub LABEL006
  969.             BOOLEAN018 = 0
  970.             BOOLEAN040 = 0
  971.         Case 2
  972.             DefColor
  973.             Cls
  974.             BOOLEAN014 = 1
  975.             Gosub LABEL006
  976.             BOOLEAN018 = 0
  977.             BOOLEAN040 = 0
  978.         Case 3
  979.             DefColor
  980.             Cls
  981.             BOOLEAN014 = 1
  982.             BOOLEAN006 = 1
  983.             Gosub LABEL006
  984.             BOOLEAN018 = 0
  985.             BOOLEAN040 = 0
  986.         Case 4
  987.             Gosub LABEL075
  988.         Case 5
  989.             Gosub LABEL076
  990.         Case 6
  991.             Gosub LABEL077
  992.         Case 7
  993.             Gosub LABEL108
  994.         Case 8
  995.             Gosub LABEL109
  996.         Case 9
  997.             Call PPEPath() + "HELP\HELP.PPE"
  998.         Case 10
  999.             End
  1000.             BOOLEAN014 = 0
  1001.     End Select
  1002.     Goto LABEL029
  1003.     Return
  1004.     AnsiPos 1, 23
  1005.     STRING038 = ""
  1006.     InputStr "@X07Please enter file to nuke: ", STRING038, 1, 12, Mask_Pwd(), 8
  1007.     AnsiPos 1, 23
  1008.     ClrEol
  1009.     FreshLine
  1010.     If (STRING038 == "") Then
  1011.         End
  1012.     Endif
  1013.     STRING039 = STRING038
  1014.     Return
  1015.     :LABEL031
  1016.     STRING041 = ReadLine(PCBDat(), 31) + ".@@@"
  1017.     FOpen 1, STRING041, 0, 0
  1018.     FRead 1, INT018, 2
  1019.     FSeek 1, CurConf() * INT018 + 2 + 156, 0
  1020.     FRead 1, STRING042, 29
  1021.     FRead 1, STRING035, 26
  1022.     STRING009 = STRING042
  1023.     STRING010 = STRING035
  1024.     FreshLine
  1025.     FClose 1
  1026.     Return
  1027.     :LABEL032
  1028.     FreshLine
  1029.     BOOLEAN042 = 0
  1030.     Newline
  1031.     If (BOOLEAN006) Then
  1032.         Print ReplaceStr(ReadLine(STRING018, 1), "%FILE%", Upper(STRING002))
  1033.     Else
  1034.         Print ReplaceStr(ReadLine(STRING018, 1), "%FILE%", Upper(STRING039))
  1035.     Endif
  1036.     If (OnLocal()) SaveScrn
  1037.     If (BOOLEAN011) Then
  1038.         Gosub LABEL156
  1039.         If (BOOLEAN010) Then
  1040.             STRING021 = "find2.exe"
  1041.         Else
  1042.             STRING021 = "findnuke.exe"
  1043.         Endif
  1044.     Else
  1045.         STRING021 = "findnuke.exe"
  1046.     Endif
  1047.     If (BOOLEAN006) Then
  1048.         Shell 0, BOOLEAN041, PPEPath() + STRING021, Upper(STRING002) + " " + Upper(STRING042) + " " + PPEPath() + " " + "WILD"
  1049.     ElseIf (BOOLEAN014) Then
  1050.         Shell 0, BOOLEAN041, PPEPath() + STRING021, Upper(STRING039) + " " + Upper(STRING042) + " " + PPEPath() + " " + "YES"
  1051.     Else
  1052.         Shell 0, BOOLEAN041, PPEPath() + STRING021, Upper(STRING039) + " " + Upper(STRING042) + " " + PPEPath() + " " + "NO"
  1053.     Endif
  1054.     If (OnLocal()) RestScrn
  1055.     If (BOOLEAN041) Then
  1056.         PrintLn ReadLine(STRING018, 44)
  1057.         If (BOOLEAN006) Then
  1058.             PrintLn "@X0CNo files matching your wildcard entry were found"
  1059.             STRING002 = ""
  1060.             InputStr "@X07Enter wildcard (enter=abort)@X0C: _", STRING002, 1, 12, Mask_Pwd(), 8
  1061.             If (STRING002 == "") Return
  1062.             Goto LABEL032
  1063.             Goto LABEL033
  1064.         Endif
  1065.         If (BOOLEAN014) Then
  1066.             PrintLn "@X0CCouldn't find a file in the turbo batch entry.."
  1067.             PrintLn "@X0CPlease make sure the files are sequentially tagged."
  1068.             PrintLn "@X0Cand all in the same DIR file!!!"
  1069.             Wait
  1070.         Endif
  1071.         :LABEL033
  1072.         Return
  1073.     Endif
  1074.     PrintLn "@X0CFOUND!"
  1075.     If (BOOLEAN014) Then
  1076.         Copy PPEPath() + "work\nkname", PPEPath() + "work\replst"
  1077.     Endif
  1078.     If (BOOLEAN006) Then
  1079.         DefColor
  1080.         Cls
  1081.         StartDisp 2
  1082.         DispFile PPEPath() + "graph\turbomsg", 0
  1083.         FreshLine
  1084.         PrintLn "@X07Matching files found@X08:"
  1085.         INTEGER012 = 1
  1086.         STRING022 = PPEPath() + "work\tblst"
  1087.         STRING021 = ReadLine(STRING022, INTEGER012)
  1088.         INTEGER001 = 1
  1089.         Print "@X0F"
  1090.         While (STRING021 <> "") Do
  1091.             Print Left(STRING021, 13)
  1092.             If (INTEGER001 % 5 == 0) Newline
  1093.             Inc INTEGER001
  1094.             Inc INTEGER012
  1095.             STRING021 = ReadLine(STRING022, INTEGER012)
  1096.             If (Abort()) Break
  1097.         EndWhile
  1098.         If (Abort()) ResetDisp
  1099.         FClose -1
  1100.         StartDisp 1
  1101.         FreshLine
  1102.         Print "@X07WildCard CMD@X08? @X07"
  1103.         Gosub LABEL070
  1104.         FreshLine
  1105.         If (INT010 == 1) Then
  1106.             Goto LABEL034
  1107.         Endif
  1108.         Select Case (INT010)
  1109.             Case 2
  1110.                 Goto LABEL148
  1111.                 Wait
  1112.                 Return
  1113.             Case 3
  1114.                 STRING002 = ""
  1115.                 InputStr "@X07Enter wildcard (Enter=abort)@X0C: _", STRING002, 1, 12, Mask_Pwd(), 8
  1116.                 If (STRING002 == "") Return
  1117.                 Goto LABEL032
  1118.             Case 4
  1119.                 Return
  1120.         End Select
  1121.         :LABEL034
  1122.     Else
  1123.         If (BOOLEAN014) Then
  1124.             FreshLine
  1125.             PrintLn "@X0CAll files in the turbo batch were found!!"
  1126.             Wait
  1127.         Endif
  1128.     Endif
  1129.     INTEGER015 = ReadLine(PPEPath() + "work\nkname", 1)
  1130.     INTEGER016 = ReadLine(PPEPath() + "work\nkname", 2)
  1131.     BOOLEAN042 = 1
  1132.     Return
  1133.     :LABEL035
  1134.     BOOLEAN042 = 0
  1135.     FreshLine
  1136.     Print ReplaceStr(ReadLine(STRING018, 34), "%UPLOAD%", Upper(STRING042))
  1137.     If (OnLocal()) SaveScrn
  1138.     If (BOOLEAN014) Then
  1139.         Shell 0, BOOLEAN041, PPEPath() + "replace.exe", String(INTEGER015) + " " + Upper(STRING042) + " " + PPEPath() + " " + String(INTEGER016) + " " + "YES"
  1140.     Else
  1141.         Shell 0, BOOLEAN041, PPEPath() + "replace.exe", String(INTEGER015) + " " + Upper(STRING042) + " " + PPEPath() + " " + String(INTEGER016) + " " + "NO"
  1142.     Endif
  1143.     If (OnLocal()) RestScrn
  1144.     If (BOOLEAN041) Then
  1145.         PrintLn ReplaceStr(ReplaceStr(ReadLine(STRING018, 38), "%UPLOAD%", Upper(STRING042)), "%FILE%", Upper(STRING039))
  1146.         Wait
  1147.         Return
  1148.     Endif
  1149.     PrintLn ReadLine(STRING018, 26)
  1150.     :LABEL036
  1151.     Print ReplaceStr(ReadLine(STRING018, 35), "%UPLOAD%", Upper(STRING042))
  1152.     FClose -1
  1153.     Delete STRING042
  1154.     If (Exist(STRING042)) Then
  1155.         FreshLine
  1156.         PrintLn ReplaceStr(ReadLine(STRING018, 39), "%UPLOAD%", Upper(STRING042))
  1157.         Print ReadLine(STRING018, 40)
  1158.         Gosub LABEL068
  1159.         FreshLine
  1160.         If (INT010 == 1) Then
  1161.             Goto LABEL036
  1162.             Goto LABEL037
  1163.         Endif
  1164.         Return
  1165.     Endif
  1166.     :LABEL037
  1167.     PrintLn ReadLine(STRING018, 26)
  1168.     If (BOOLEAN035) Then
  1169.         :LABEL038
  1170.         Print ReplaceStr(ReadLine(STRING018, 36), "%UPLOAD%", Upper(STRING042))
  1171.         Copy Upper(STRING042) + ".NUK", Upper(STRING042)
  1172.         If (!Exist(STRING042) || (FileInf(STRING042, 4) <> FileInf(STRING042 + ".nuk", 4))) Then
  1173.             FreshLine
  1174.             PrintLn ReadLine(STRING018, 41)
  1175.             Print ReadLine(STRING018, 40)
  1176.             Gosub LABEL068
  1177.             FreshLine
  1178.             If (INT010 == 1) Then
  1179.                 Goto LABEL038
  1180.                 Goto LABEL039
  1181.             Endif
  1182.             Return
  1183.             :LABEL039
  1184.             Return
  1185.         Endif
  1186.         PrintLn ReadLine(STRING018, 26)
  1187.     Else
  1188.         :LABEL040
  1189.         Print ReplaceStr(ReadLine(STRING018, 37), "%UPLOAD%", Upper(STRING042))
  1190.         Rename Upper(STRING042) + ".nuk", Upper(STRING042)
  1191.         If (Exist(STRING042)) Goto LABEL041
  1192.         FreshLine
  1193.         PrintLn ReadLine(STRING018, 42)
  1194.         Print ReadLine(STRING018, 40)
  1195.         Gosub LABEL068
  1196.         FreshLine
  1197.         If (INT010 == 1) Then
  1198.             Goto LABEL040
  1199.         Else
  1200.             Return
  1201.         Endif
  1202.         Return
  1203.         :LABEL041
  1204.         PrintLn ReadLine(STRING018, 26)
  1205.     Endif
  1206.     If (BOOLEAN014) Then
  1207.         If (BOOLEAN006) Goto LABEL042
  1208.         FClose -1
  1209.         FreshLine
  1210.         Print ReadLine(STRING018, 120)
  1211.         Delete STRING034
  1212.         PrintLn ReadLine(STRING018, 26)
  1213.         Return
  1214.         :LABEL042
  1215.     Else
  1216.         Gosub LABEL043
  1217.     Endif
  1218.     Return
  1219.     :LABEL043
  1220.     FreshLine
  1221.     Print ReplaceStr(ReadLine(STRING018, 43), "%FILE%", Upper(STRING039))
  1222.     FClose -1
  1223.     FOpen 1, STRING034, 0, 0
  1224.     FCreate 2, PPEPath() + "bctp" + String(PcbNode()), 1, 0
  1225.     :LABEL044
  1226.     If (Ferr(1)) Goto LABEL045
  1227.     FGet 1, STRING021
  1228.     Tokenize STRING021
  1229.     If (Upper(((GetToken() <> Upper(STRING039)) && (STRING021 <> "")))) Then
  1230.         FPutLn 2, STRING021
  1231.     Endif
  1232.     Goto LABEL044
  1233.     :LABEL045
  1234.     If (INTEGER013 >= 2) Dec INTEGER013
  1235.     FClose 1
  1236.     FClose 2
  1237.     Delete STRING034
  1238.     Rename PPEPath() + "bctp" + String(PcbNode()), STRING034
  1239.     Print ReadLine(STRING018, 26)
  1240.     Return
  1241.     STRING052 = PPEPath() + "POS" + String(PcbNode())
  1242.     Goto LABEL053
  1243.     :LABEL046
  1244.     STRING049 = PPEPath()
  1245.     STRING048 = GetToken()
  1246.     STRING059 = GetToken()
  1247.     If (STRING059 <> "") Then
  1248.         INTEGER020 = STRING059
  1249.     Else
  1250.         INTEGER020 = 1
  1251.     Endif
  1252.     If (STRING048 == "") Then
  1253.         PrintLn "No configuration parameter given"
  1254.         Wait
  1255.         End
  1256.     Endif
  1257.     If (Exist(STRING048)) Goto LABEL047
  1258.     If (Exist(STRING049 + STRING048)) Then
  1259.         STRING048 = STRING049 + STRING048
  1260.     Else
  1261.         PrintLn "Cannot find configuration ", STRING048
  1262.         Wait
  1263.         End
  1264.     Endif
  1265.     :LABEL047
  1266.     If (AnsiOn()) Goto LABEL048
  1267.     PrintLn 
  1268.     PrintLn "No ansi capability, exiting lightbar kit"
  1269.     End
  1270.     :LABEL048
  1271.     Tokenize ReadLine(STRING048, 1)
  1272.     INTEGER021 = GetToken()
  1273.     STRING058 = GetToken()
  1274.     BOOLEAN047 = 0
  1275.     BOOLEAN046 = 0
  1276.     If (INTEGER021 > 15) Then
  1277.         Redim TSTRING050, INTEGER021
  1278.         Redim TSTRING051, INTEGER021
  1279.     Endif
  1280.     INTEGER014 = 1
  1281.     STRING055 = Chr(13)
  1282.     STRING056 = Chr(27)
  1283.     BOOLEAN045 = IsNonStop()
  1284.     StartDisp 1
  1285.     INTEGER014 = INTEGER020
  1286.     INTEGER024 = INTEGER021
  1287.     DefColor
  1288.     DefColor
  1289.     INTEGER025 = 3
  1290.     For INTEGER012 = 1 To INTEGER021
  1291.         Tokenize ReadLine(STRING048, INTEGER012 + 1)
  1292.         INTEGER022 = GetToken()
  1293.         STRING057 = GetToken()
  1294.         If (STRING057 == "C") Then
  1295.             INTEGER023 = GetY()
  1296.         Else
  1297.             INTEGER023 = STRING057
  1298.         Endif
  1299.         INTEGER019 = GetToken()
  1300.         TSTRING050(INTEGER012) = ScrText(INTEGER022, INTEGER023, INTEGER019, 1)
  1301.         TSTRING051(INTEGER012) = GetToken()
  1302.         INTEGER025 = INTEGER025 + 3
  1303.     Next
  1304.     INTEGER028 = 1
  1305.     INTEGER027 = 1 + INTEGER021 - 1
  1306.     Gosub LABEL052
  1307.     Print STRING058, StripAtx(TSTRING050(INTEGER014))
  1308.     :LABEL049
  1309.     STRING053 = Inkey()
  1310.     Select Case (STRING053)
  1311.         Case "UP", "LEFT", ","
  1312.             Gosub LABEL052
  1313.             Print TSTRING050(INTEGER014)
  1314.             If (INTEGER014 == 1) Then
  1315.                 INTEGER014 = INTEGER024
  1316.             Else
  1317.                 INTEGER014 = INTEGER014 - 1
  1318.             Endif
  1319.             Gosub LABEL052
  1320.             Print STRING058, StripAtx(TSTRING050(INTEGER014))
  1321.             Goto LABEL049
  1322.         Case "DOWN", "RIGHT", "."
  1323.             Gosub LABEL052
  1324.             Print TSTRING050(INTEGER014)
  1325.             If (INTEGER014 == INTEGER024) Then
  1326.                 INTEGER014 = 1
  1327.             Else
  1328.                 INTEGER014 = INTEGER014 + 1
  1329.             Endif
  1330.             Gosub LABEL052
  1331.             Print STRING058, StripAtx(TSTRING050(INTEGER014))
  1332.             Goto LABEL049
  1333.         Case "?"
  1334.             Tokenize ReadLine(STRING048, INTEGER014 + 1)
  1335.             INTEGER022 = GetX()
  1336.             INTEGER023 = GetY()
  1337.             STRING057 = GetToken()
  1338.             STRING057 = GetToken()
  1339.             STRING057 = GetToken()
  1340.             STRING057 = GetToken()
  1341.             STRING057 = ""
  1342.             STRING057 = GetToken()
  1343.             If (STRING057 == "NOHLP") Goto LABEL049
  1344.             If (STRING057 <> "") Then
  1345.                 STRING054 = STRING057
  1346.                 If (Exist(STRING054)) Then
  1347.                     Goto LABEL050
  1348.                     Goto LABEL050
  1349.                 Endif
  1350.                 If (Exist(HelpPath() + "hlp" + STRING054)) Then
  1351.                     STRING054 = HelpPath() + "hlp" + STRING054
  1352.                     Goto LABEL050
  1353.                     Goto LABEL050
  1354.                 Endif
  1355.                 If (Exist(STRING049 + STRING054)) Then
  1356.                     STRING054 = STRING049 + STRING054
  1357.                     Goto LABEL050
  1358.                 Endif
  1359.             Endif
  1360.             :LABEL050
  1361.             AnsiPos 1, 23
  1362.             SaveScrn
  1363.             StartDisp 2
  1364.             DefColor
  1365.             Cls
  1366.             DispFile STRING054, 1 + 4
  1367.             Wait
  1368.             StartDisp 1
  1369.             RestScrn
  1370.             AnsiPos INTEGER022, INTEGER023
  1371.             Goto LABEL049
  1372.         Case STRING055
  1373.             INTEGER012 = INTEGER014
  1374.             INTEGER022 = GetX()
  1375.             INTEGER023 = GetY()
  1376.             Gosub LABEL052
  1377.             Print TSTRING050(INTEGER014)
  1378.             Goto LABEL051
  1379.             Return
  1380.             Goto LABEL049
  1381.         Case "HOME"
  1382.             Gosub LABEL052
  1383.             Print TSTRING050(INTEGER014)
  1384.             INTEGER014 = INTEGER028
  1385.             Gosub LABEL052
  1386.             Print STRING058, StripAtx(TSTRING050(INTEGER014))
  1387.             Goto LABEL049
  1388.         Case "END"
  1389.             Gosub LABEL052
  1390.             Print TSTRING050(INTEGER014)
  1391.             INTEGER014 = INTEGER027
  1392.             Gosub LABEL052
  1393.             Print STRING058, StripAtx(TSTRING050(INTEGER014))
  1394.             Goto LABEL049
  1395.         Case STRING056
  1396.             If (!BOOLEAN046) Goto LABEL049
  1397.             DefColor
  1398.             If (BOOLEAN047) Then
  1399.                 DefColor
  1400.                 Cls
  1401.             Endif
  1402.             If (!BOOLEAN045) StartDisp 2
  1403.             End
  1404.         Case ""
  1405.             INTEGER025 = (INTEGER014 + 1) * 3
  1406.             INTEGER026 = INTEGER025 - 3
  1407.             For INTEGER012 = 1 To INTEGER024
  1408.                 If (Upper(TSTRING051(INTEGER012)) == Upper(STRING053)) Then
  1409.                     Gosub LABEL052
  1410.                     Print TSTRING050(INTEGER014)
  1411.                     INTEGER014 = INTEGER012
  1412.                     Gosub LABEL052
  1413.                     Print STRING058, StripAtx(TSTRING050(INTEGER014))
  1414.                     Goto LABEL051
  1415.                 Endif
  1416.             Next
  1417.             Goto LABEL049
  1418.             For INTEGER012 = INTEGER014 To INTEGER024
  1419.                 If (Upper(Left(StripAtx(TSTRING050(INTEGER012)), 1)) == Upper(STRING053)) Then
  1420.                     Gosub LABEL052
  1421.                     Print TSTRING050(INTEGER014)
  1422.                     INTEGER014 = INTEGER012
  1423.                     Goto LABEL051
  1424.                 Endif
  1425.                 INTEGER025 = INTEGER025 + 3
  1426.             Next
  1427.             INTEGER025 = INTEGER028 * 3
  1428.             For INTEGER012 = 1 To INTEGER014 - 1
  1429.                 If (Upper(Left(StripAtx(TSTRING050(INTEGER012)), 1)) == Upper(STRING053)) Then
  1430.                     Gosub LABEL052
  1431.                     Print TSTRING050(INTEGER014)
  1432.                     INTEGER014 = INTEGER012
  1433.                     Goto LABEL051
  1434.                 Endif
  1435.                 INTEGER025 = INTEGER025 + 3
  1436.             Next
  1437.             Goto LABEL049
  1438.     End Select
  1439.     Goto LABEL049
  1440.     :LABEL051
  1441.     DefColor
  1442.     Return
  1443.     Return
  1444.     :LABEL052
  1445.     Tokenize ReadLine(STRING048, INTEGER014 + 1)
  1446.     INTEGER022 = GetToken()
  1447.     STRING057 = GetToken()
  1448.     If (STRING057 == "C") Then
  1449.         INTEGER023 = GetY()
  1450.     Else
  1451.         INTEGER023 = STRING057
  1452.     Endif
  1453.     AnsiPos INTEGER022, INTEGER023
  1454.     Return
  1455.     :LABEL053
  1456.     DispFile PPEPath() + "graph\menu", 0
  1457.     Tokenize PPEPath() + "lb3.cfg"
  1458.     Gosub LABEL046
  1459.     :LABEL054
  1460.     If (BOOLEAN006) Then
  1461.         FreshLine
  1462.         STRING038 = "U"
  1463.         INT002 = 0
  1464.         STRING038 = "U"
  1465.         InputStr "@X07Enter wildcard Dir (@X0C1-@NUMDIR@, U@X07)", STRING038, 7, Len(String(INT001)), Mask_Num() + "U", 8 + 2
  1466.         FreshLine
  1467.         If (STRING038 == "") STRING038 = "U"
  1468.         If ((ToInteger(STRING038) >= 1) && ToInteger((STRING038 <= INT001))) Then
  1469.             INT020 = ToInteger(STRING038)
  1470.             Goto LABEL055
  1471.         Endif
  1472.         If (STRING038 == "U") Then
  1473.             INT020 = INT001
  1474.         Endif
  1475.         :LABEL055
  1476.         Gosub LABEL059
  1477.         STRING040 = STRING035 + "\" + STRING039
  1478.         Return
  1479.     Endif
  1480.     If (BOOLEAN018) Goto LABEL057
  1481.     BOOLEAN018 = 1
  1482.     If (Exist(STRING034)) Goto LABEL056
  1483.     FreshLine
  1484.     PrintLn ReadLine(STRING018, 45)
  1485.     Wait
  1486.     BOOLEAN040 = 1
  1487.     BOOLEAN018 = 0
  1488.     Return
  1489.     :LABEL056
  1490.     INTEGER013 = 2
  1491.     Tokenize ReadLine(STRING034, INTEGER013)
  1492.     STRING039 = GetToken()
  1493.     INT020 = GetToken()
  1494.     If (STRING039 == "") Then
  1495.         FreshLine
  1496.         PrintLn ReadLine(STRING018, 45)
  1497.         Wait
  1498.         BOOLEAN040 = 1
  1499.         BOOLEAN018 = 0
  1500.         Return
  1501.     Endif
  1502.     Gosub LABEL059
  1503.     STRING040 = STRING035 + "\" + STRING039
  1504.     If (BOOLEAN014) Then
  1505.         FreshLine
  1506.         DispFile PPEPath() + "graph\turbomsg", 0
  1507.         Gosub LABEL058
  1508.     Endif
  1509.     Return
  1510.     :LABEL057
  1511.     Inc INTEGER013
  1512.     Tokenize ReadLine(STRING034, INTEGER013)
  1513.     STRING039 = GetToken()
  1514.     If (STRING039 == "") Then
  1515.         BOOLEAN040 = 1
  1516.         BOOLEAN018 = 0
  1517.         Return
  1518.     Endif
  1519.     INT020 = GetToken()
  1520.     Gosub LABEL059
  1521.     If (BOOLEAN014) Then
  1522.         Gosub LABEL058
  1523.     Endif
  1524.     STRING040 = STRING035 + "\" + STRING039
  1525.     Return
  1526.     Return
  1527.     :LABEL058
  1528.     PrintLn "@X07Writing turbo list"
  1529.     INT021 = INTEGER013 + 1
  1530.     FCreate 1, PPEPath() + "work\tblst", 1, 0
  1531.     FPutLn 1, STRING039
  1532.     STRING060 = ReadLine(STRING034, INT021)
  1533.     While (STRING060 <> "") Do
  1534.         Tokenize STRING060
  1535.         FPutLn 1, GetToken()
  1536.         Inc INT021
  1537.         STRING060 = ReadLine(STRING034, INT021)
  1538.     EndWhile
  1539.     FClose 1
  1540.     Return
  1541.     :LABEL059
  1542.     If (INT020 == INT001) Then
  1543.         STRING042 = STRING009
  1544.         STRING035 = STRING010
  1545.         Return
  1546.     Endif
  1547.     If (INT002 == INT020) Return
  1548.     FOpen 1, STRING041, 0, 0
  1549.     FSeek 1, CurConf() * INT018 + 2 + 482, 0
  1550.     FRead 1, STRING061, 33
  1551.     FClose 1
  1552.     If (Exist(STRING061)) Goto LABEL060
  1553.     STRING042 = STRING009
  1554.     STRING035 = STRING010
  1555.     Return
  1556.     :LABEL060
  1557.     INT002 = INT020
  1558.     FOpen 1, STRING061, 0, 0
  1559.     FSeek 1, 96 * (INT020 - 1), 0
  1560.     If (Ferr(1)) Then
  1561.         STRING042 = STRING009
  1562.         STRING035 = STRING010
  1563.     Else
  1564.         FRead 1, STRING042, 30
  1565.         FRead 1, STRING035, 30
  1566.         STRING042 = RTrim(STRING042, " ")
  1567.         STRING035 = RTrim(STRING035, " ")
  1568.     Endif
  1569.     FClose 1
  1570.     Return
  1571.     :LABEL061
  1572.     BOOLEAN021 = 0
  1573.     BOOLEAN023 = 0
  1574.     BOOLEAN039 = 0
  1575.     BOOLEAN025 = 0
  1576.     BOOLEAN028 = 0
  1577.     :LABEL062
  1578.     FreshLine
  1579.     Print ReplaceStr(ReadLine(STRING018, 3), "%FILE%", Upper(STRING039))
  1580.     Gosub LABEL073
  1581.     Select Case (INT010)
  1582.         Case 1
  1583.             BOOLEAN039 = 1
  1584.         Case 2
  1585.             BOOLEAN023 = 1
  1586.         Case 3
  1587.             If (BOOLEAN014) Then
  1588.                 FreshLine
  1589.                 PrintLn ReadLine(STRING018, 118)
  1590.                 Goto LABEL062
  1591.             Endif
  1592.             BOOLEAN021 = 1
  1593.             Gosub LABEL043
  1594.         Case 4
  1595.             If (BOOLEAN014) Then
  1596.                 FreshLine
  1597.                 PrintLn ReadLine(STRING018, 118)
  1598.                 Goto LABEL062
  1599.             Endif
  1600.             BOOLEAN039 = 0
  1601.         Case 5
  1602.             Gosub LABEL063
  1603.             Goto LABEL061
  1604.             BOOLEAN039 = 0
  1605.         Case 6
  1606.             BOOLEAN025 = 1
  1607.         Case 7
  1608.             BOOLEAN028 = 1
  1609.         Case 8
  1610.             BOOLEAN018 = 0
  1611.             BOOLEAN040 = 1
  1612.     End Select
  1613.     FreshLine
  1614.     Return
  1615.     :LABEL063
  1616.     For INTEGER012 = 1 To INTEGER007
  1617.         TSTRING062(INTEGER012) = TSTRING012(INTEGER012)
  1618.     Next
  1619.     INTEGER029 = INTEGER007
  1620.     INT024 = 1
  1621.     BOOLEAN027 = 0
  1622.     :LABEL064
  1623.     Gosub LABEL142
  1624.     FreshLine
  1625.     Newline
  1626.     :LABEL065
  1627.     Backup 80
  1628.     ClrEol
  1629.     Gosub LABEL067
  1630.     Select Case (INT010)
  1631.         Case 1
  1632.             Gosub LABEL139
  1633.         Case 2
  1634.             Gosub LABEL140
  1635.         Case 3
  1636.             Gosub LABEL141
  1637.         Case 4
  1638.             If (BOOLEAN027) Then
  1639.                 FreshLine
  1640.                 Print ReadLine(STRING018, 96)
  1641.                 Gosub LABEL068
  1642.                 If (INT010 == 1) Then
  1643.                     INTEGER007 = INTEGER029
  1644.                     For INTEGER012 = 1 To INTEGER029
  1645.                         TSTRING012(INTEGER012) = TSTRING062(INTEGER012)
  1646.                     Next
  1647.                     FreshLine
  1648.                     PrintLn ReadLine(STRING018, 98)
  1649.                 Endif
  1650.                 FreshLine
  1651.             Endif
  1652.             Return
  1653.         Case 5
  1654.             Select Case (INT024)
  1655.                 Case 1
  1656.                     If (INTEGER007 > 20) Then
  1657.                         Inc INT024
  1658.                         Goto LABEL064
  1659.                     Else
  1660.                         Backup 80
  1661.                         ClrEol
  1662.                         Print ReadLine(STRING018, 97)
  1663.                         Delay 25
  1664.                     Endif
  1665.                 Case 2
  1666.                     If (INTEGER007 > 40) Then
  1667.                         Inc INT024
  1668.                         Goto LABEL064
  1669.                     Else
  1670.                         Backup 80
  1671.                         ClrEol
  1672.                         Print ReadLine(STRING018, 97)
  1673.                         Delay 25
  1674.                     Endif
  1675.                 Case Else
  1676.                     Backup 80
  1677.                     ClrEol
  1678.                     Print ReadLine(STRING018, 97)
  1679.                     Delay 25
  1680.             End Select
  1681.         Case 6
  1682.             If (INT024 > 1) Then
  1683.                 Dec INT024
  1684.                 Goto LABEL064
  1685.                 Goto LABEL066
  1686.             Endif
  1687.             Backup 80
  1688.             ClrEol
  1689.             Print ReadLine(STRING018, 99)
  1690.             Delay 25
  1691.     End Select
  1692.     :LABEL066
  1693.     Goto LABEL065
  1694.     Return
  1695.     :LABEL067
  1696.     INT008 = 1
  1697.     INT009 = 6
  1698.     TSTRING036(1) = ReadLine(STRING018, 82)
  1699.     TSTRING036(2) = ReadLine(STRING018, 83)
  1700.     TSTRING036(3) = ReadLine(STRING018, 84)
  1701.     TSTRING036(4) = ReadLine(STRING018, 85)
  1702.     TSTRING036(5) = ReadLine(STRING018, 86)
  1703.     TSTRING036(6) = ReadLine(STRING018, 87)
  1704.     Goto LABEL001
  1705.     :LABEL068
  1706.     INT008 = 1
  1707.     INT009 = 2
  1708.     TSTRING036(1) = ReadLine(STRING018, 4)
  1709.     TSTRING036(2) = ReadLine(STRING018, 5)
  1710.     Gosub LABEL001
  1711.     Return
  1712.     :LABEL069
  1713.     INT008 = 1
  1714.     INT009 = 2
  1715.     TSTRING036(2) = ReadLine(STRING018, 4)
  1716.     TSTRING036(1) = ReadLine(STRING018, 5)
  1717.     Gosub LABEL001
  1718.     Return
  1719.     :LABEL070
  1720.     INT008 = 1
  1721.     INT009 = 4
  1722.     TSTRING036(1) = "@X0FT@X07urboNuke"
  1723.     TSTRING036(2) = "@X0FA@X07ddToBatch"
  1724.     TSTRING036(3) = "@X0FN@X07ewWildcard"
  1725.     TSTRING036(4) = "@X0FQ@X07uit"
  1726.     Gosub LABEL001
  1727.     Return
  1728.     INT008 = 1
  1729.     INT009 = 3
  1730.     INT011 = INT003
  1731.     TSTRING036(1) = ReadLine(STRING018, 5)
  1732.     TSTRING036(2) = ReadLine(STRING018, 4)
  1733.     TSTRING036(3) = ReadLine(STRING018, 117)
  1734.     Gosub LABEL001
  1735.     INT011 = 1
  1736.     Return
  1737.     :LABEL071
  1738.     INT008 = 1
  1739.     INT009 = 3
  1740.     TSTRING036(1) = ReadLine(STRING018, 102)
  1741.     TSTRING036(2) = ReadLine(STRING018, 104)
  1742.     TSTRING036(3) = ReadLine(STRING018, 103)
  1743.     Goto LABEL001
  1744.     :LABEL072
  1745.     INT008 = 1
  1746.     INT009 = 4
  1747.     TSTRING036(1) = ReadLine(STRING018, 101)
  1748.     TSTRING036(2) = ReadLine(STRING018, 102)
  1749.     TSTRING036(3) = ReadLine(STRING018, 103)
  1750.     TSTRING036(4) = ReadLine(STRING018, 104)
  1751.     Goto LABEL001
  1752.     :LABEL073
  1753.     INT008 = 1
  1754.     INT009 = 8
  1755.     TSTRING036(1) = ReadLine(STRING018, 10)
  1756.     TSTRING036(2) = ReadLine(STRING018, 11)
  1757.     TSTRING036(3) = ReadLine(STRING018, 12)
  1758.     TSTRING036(4) = ReadLine(STRING018, 13)
  1759.     TSTRING036(8) = ReadLine(STRING018, 14)
  1760.     TSTRING036(5) = ReadLine(STRING018, 79)
  1761.     TSTRING036(6) = ReadLine(STRING018, 80)
  1762.     TSTRING036(7) = ReadLine(STRING018, 81)
  1763.     BOOLEAN029 = 1
  1764.     Gosub LABEL001
  1765.     BOOLEAN029 = 0
  1766.     Return
  1767.     :LABEL074
  1768.     STRING038 = ""
  1769.     If (BOOLEAN001) Then
  1770.         STRING038 = "1"
  1771.     Else
  1772.         STRING038 = "0"
  1773.     Endif
  1774.     If (BOOLEAN002) Then
  1775.         STRING038 = STRING038 + " 1"
  1776.     Else
  1777.         STRING038 = STRING038 + " 0"
  1778.     Endif
  1779.     If (BOOLEAN003) Then
  1780.         STRING038 = STRING038 + " 1"
  1781.     Else
  1782.         STRING038 = STRING038 + " 0"
  1783.     Endif
  1784.     If (BOOLEAN004) Then
  1785.         STRING038 = STRING038 + " 1"
  1786.     Else
  1787.         STRING038 = STRING038 + " 0"
  1788.     Endif
  1789.     If (BOOLEAN005) Then
  1790.         STRING038 = STRING038 + " 1"
  1791.     Else
  1792.         STRING038 = STRING038 + " 0"
  1793.     Endif
  1794.     If (BOOLEAN008) Then
  1795.         STRING038 = STRING038 + " 1"
  1796.     Else
  1797.         STRING038 = STRING038 + " 0"
  1798.     Endif
  1799.     Return
  1800.     :LABEL075
  1801.     DefColor
  1802.     Cls
  1803.     Gosub LABEL074
  1804.     FCreate 1, STRING031, 1, 0
  1805.     FPutLn 1, "Z"
  1806.     FPutLn 1, STRING038
  1807.     FClose 1
  1808.     End
  1809.     Return
  1810.     :LABEL076
  1811.     Gosub LABEL074
  1812.     DefColor
  1813.     Cls
  1814.     FCreate 1, STRING031, 1, 0
  1815.     FPutLn 1, "L"
  1816.     FPutLn 1, STRING038
  1817.     FClose 1
  1818.     End
  1819.     Return
  1820.     :LABEL077
  1821.     Gosub LABEL074
  1822.     DefColor
  1823.     Cls
  1824.     FCreate 1, STRING031, 1, 0
  1825.     FPutLn 1, "N"
  1826.     FPutLn 1, STRING038
  1827.     FClose 1
  1828.     End
  1829.     Return
  1830.     :LABEL078
  1831.     StartDisp 2
  1832.     FreshLine
  1833.     DispFile PPEPath() + "graph\deschdr", 1 + 4
  1834.     FClose -1
  1835.     FOpen 1, STRING042, 0, 0
  1836.     If (Ferr(1)) Then
  1837.         PrintLn "Breaking off, ferr failed 2, report to sysop please"
  1838.         Wait
  1839.     Endif
  1840.     FSeek 1, INTEGER015 - 32, 0
  1841.     If (Ferr(1)) Then
  1842.     Endif
  1843.     FGet 1, TSTRING012(1)
  1844.     If (Ferr(1)) Then
  1845.         PrintLn "Breaking off, ferr failed 1, report to sysop please"
  1846.         Wait
  1847.     Endif
  1848.     Print TSTRING030(0), Left(TSTRING012(1), 12)
  1849.     Print TSTRING030(1), Mid(TSTRING012(1), 13, 19)
  1850.     PrintLn TSTRING030(2), Mid(TSTRING012(1), 33, Len(TSTRING012(1)) - 32)
  1851.     INTEGER012 = 2
  1852.     While (1) Do
  1853.         FGet 1, TSTRING012(INTEGER012)
  1854.         If (Ferr(1)) Then
  1855.             Break
  1856.         Endif
  1857.         If ((Left(TSTRING012(INTEGER012), 1) <> " ") && (Left(TSTRING012(INTEGER012), 1) <> " ")) Break
  1858.         Print Space(31)
  1859.         PrintLn TSTRING030(3), Mid(TSTRING012(INTEGER012), 33, Len(TSTRING012(INTEGER012)) - 32)
  1860.         If (INTEGER012 == 60) Break
  1861.         Inc INTEGER012
  1862.     EndWhile
  1863.     If (INTEGER012 > 0) Then
  1864.         INTEGER007 = INTEGER012 - 1
  1865.     Else
  1866.         INTEGER007 = 0
  1867.     Endif
  1868.     If (Abort()) Then
  1869.         ResetDisp
  1870.     Endif
  1871.     StartDisp 1
  1872.     INT025 = INTEGER012 - 1
  1873.     FClose 1
  1874.     Return
  1875.     :LABEL079
  1876.     STRING028 = ""
  1877.     BOOLEAN022 = 0
  1878.     Select Case (STRING027)
  1879.         Case "NOSTR"
  1880.             For INTEGER012 = INT025 To 1 Step -1
  1881.                 STRING021 = Mid(TSTRING012(INTEGER012), INT005, INT006)
  1882.                 STRING021 = RTrim(STRING021, " ")
  1883.                 If (STRING021 <> "") Then
  1884.                     STRING028 = Mid(TSTRING012(INTEGER012), INT005, INT006)
  1885.                     Break
  1886.                 Endif
  1887.             Next
  1888.         Case "B"
  1889.             For INTEGER012 = INT025 To 1 Step -1
  1890.                 If (InStr(Upper(TSTRING012(INTEGER012)), Upper(STRING026))) Then
  1891.                     STRING028 = Mid(TSTRING012(INTEGER012), INT005, INT006)
  1892.                     Break
  1893.                 Endif
  1894.             Next
  1895.         Case "T"
  1896.             For INTEGER012 = 1 To INT025
  1897.                 If (InStr(Upper(TSTRING012(INTEGER012)), Upper(STRING026))) Then
  1898.                     STRING028 = Mid(TSTRING012(INTEGER012), INT005, INT006)
  1899.                     Break
  1900.                 Endif
  1901.             Next
  1902.     End Select
  1903.     FreshLine
  1904.     If (STRING028 == "") Then
  1905.         :LABEL080
  1906.         STRING038 = ""
  1907.         FreshLine
  1908.         Print "@X07No name found, enter manual name? "
  1909.         Gosub LABEL071
  1910.         If (INT010 == 1) Then
  1911.             :LABEL081
  1912.             FreshLine
  1913.             Print ReadLine(STRING018, 46)
  1914.             InputStr "_", STRING038, 1, 30, Mask_Pwd(), 8
  1915.             FreshLine
  1916.             If (STRING038 == "") Then
  1917.                 Goto LABEL080
  1918.                 Goto LABEL082
  1919.             Endif
  1920.             STRING029 = Upper(STRING038)
  1921.             INTEGER004 = U_RecNum(STRING029)
  1922.             If (INTEGER004 == -1) Then
  1923.                 FreshLine
  1924.                 PrintLn ReadLine(STRING018, 47)
  1925.                 Goto LABEL081
  1926.             Endif
  1927.             PrintLn ReplaceStr(ReadLine(STRING018, 48), "%NAME%", Upper(STRING029))
  1928.             BOOLEAN022 = 1
  1929.             Return
  1930.             :LABEL082
  1931.             Goto LABEL083
  1932.         Endif
  1933.         If (INT010 == 2) Then
  1934.             BOOLEAN022 = 0
  1935.             Return
  1936.             Goto LABEL083
  1937.         Endif
  1938.         If (INT010 == 3) Then
  1939.             Gosub LABEL090
  1940.             If (BOOLEAN031) Then
  1941.                 STRING029 = ReadLine(PPEPath() + "work\nkname", 1)
  1942.                 PrintLn "@X07User name (@X0C", Upper(STRING029), "@X07) found in DOWNLOAD.TXT"
  1943.                 INTEGER004 = U_RecNum(STRING029)
  1944.                 If (INTEGER004 == -1) Then
  1945.                     FreshLine
  1946.                     Goto LABEL080
  1947.                 Endif
  1948.                 BOOLEAN022 = 1
  1949.                 Return
  1950.                 Goto LABEL083
  1951.             Endif
  1952.             Goto LABEL080
  1953.         Endif
  1954.     Endif
  1955.     :LABEL083
  1956.     STRING028 = LTrim(STRING028, " ")
  1957.     STRING028 = Upper(RTrim(STRING028, " "))
  1958.     If (BOOLEAN034) Then
  1959.         BOOLEAN048 = 0
  1960.         INTEGER012 = 2
  1961.         STRING063 = ReadLine(STRING025, INTEGER012)
  1962.         While (STRING063 <> "") Do
  1963.             If (Upper(STRING063) == STRING028) Then
  1964.                 STRING029 = ReadLine(STRING025, INTEGER012 - 1)
  1965.                 BOOLEAN048 = 1
  1966.                 Break
  1967.             Endif
  1968.             Inc INTEGER012
  1969.             Inc INTEGER012
  1970.             STRING063 = ReadLine(STRING025, INTEGER012)
  1971.         EndWhile
  1972.         If (BOOLEAN048) Goto LABEL084
  1973.         FreshLine
  1974.         PrintLn ReplaceStr(ReadLine(STRING018, 51), "%NAME%", Upper(STRING028))
  1975.         STRING029 = Upper(STRING028)
  1976.         :LABEL084
  1977.     Else
  1978.         STRING029 = StripAtx(STRING028)
  1979.     Endif
  1980.     :LABEL085
  1981.     FreshLine
  1982.     Print ReplaceStr(ReadLine(STRING018, 2), "%NAME%", Upper(STRING029))
  1983.     Gosub LABEL072
  1984.     FreshLine
  1985.     Select Case (INT010)
  1986.         Case 4
  1987.             BOOLEAN022 = 0
  1988.             Return
  1989.         Case 2
  1990.             :LABEL086
  1991.             STRING038 = ""
  1992.             Print ReadLine(STRING018, 49)
  1993.             InputStr "_", STRING038, 1, 30, Mask_Pwd(), 8
  1994.             FreshLine
  1995.             If (STRING038 == "") Then
  1996.                 Goto LABEL085
  1997.             Else
  1998.                 STRING029 = Upper(STRING038)
  1999.                 INTEGER004 = U_RecNum(STRING029)
  2000.                 If (INTEGER004 == -1) Then
  2001.                     FreshLine
  2002.                     PrintLn ReadLine(STRING018, 47)
  2003.                     Goto LABEL086
  2004.                 Endif
  2005.                 PrintLn ReplaceStr(ReadLine(STRING018, 48), "%NAME%", Upper(STRING029))
  2006.                 BOOLEAN022 = 1
  2007.                 Return
  2008.             Endif
  2009.         Case 3
  2010.             Gosub LABEL090
  2011.             If (BOOLEAN031) Then
  2012.                 STRING029 = ReadLine(PPEPath() + "work\nkname", 1)
  2013.                 PrintLn "@X07User name (@X0C", Upper(STRING029), "@X07) found in DOWNLOAD.TXT"
  2014.                 Goto LABEL085
  2015.                 Goto LABEL087
  2016.             Endif
  2017.             BOOLEAN022 = 0
  2018.             Goto LABEL085
  2019.     End Select
  2020.     :LABEL087
  2021.     INTEGER004 = U_RecNum(Upper(STRING029))
  2022.     If (INTEGER004 == -1) Then
  2023.         FreshLine
  2024.         PrintLn ReadLine(STRING018, 50)
  2025.         Goto LABEL085
  2026.         :LABEL088
  2027.         FreshLine
  2028.         STRING038 = ""
  2029.         Print ReadLine(STRING018, 49)
  2030.         InputStr "_", STRING038, 1, 30, Mask_Pwd(), 8
  2031.         FreshLine
  2032.         If (STRING038 == "") Then
  2033.             BOOLEAN022 = 0
  2034.             Return
  2035.             Goto LABEL089
  2036.         Endif
  2037.         STRING029 = Upper(STRING038)
  2038.         INTEGER004 = U_RecNum(STRING029)
  2039.         If (INTEGER004 == -1) Then
  2040.             FreshLine
  2041.             PrintLn ReadLine(STRING018, 47)
  2042.             Goto LABEL088
  2043.         Endif
  2044.         PrintLn ReplaceStr(ReadLine(STRING018, 48), "%NAME%", Upper(STRING029))
  2045.         BOOLEAN022 = 1
  2046.         Return
  2047.     Endif
  2048.     :LABEL089
  2049.     BOOLEAN022 = 1
  2050.     Return
  2051.     :LABEL090
  2052.     BOOLEAN031 = 0
  2053.     FreshLine
  2054.     PrintLn "@X07Searching download.txt for file (@X0C", Upper(STRING039), "@X07), please wait..."
  2055.     If (OnLocal()) SaveScrn
  2056.     Shell 0, BOOLEAN041, PPEPath() + "search.exe", Upper(STRING039) + " " + STRING008 + " " + PPEPath()
  2057.     If (OnLocal()) RestScrn
  2058.     If (BOOLEAN041) Then
  2059.         PrintLn "Couldn't find file (@X0C" + Upper(STRING039) + "@X07) in DOWNLOAD.TXT"
  2060.         Return
  2061.     Endif
  2062.     BOOLEAN031 = 1
  2063.     Return
  2064.     :LABEL091
  2065.     FClose -1
  2066.     FreshLine
  2067.     If (Exist(STRING040)) Goto LABEL092
  2068.     BOOLEAN020 = 1
  2069.     Goto LABEL093
  2070.     :LABEL092
  2071.     BOOLEAN020 = 0
  2072.     :LABEL093
  2073.     FreshLine
  2074.     Newline
  2075.     If (BOOLEAN005) Goto LABEL094
  2076.     DispFile PPEPath() + "graph\delmenu2", 1 + 4
  2077.     Goto LABEL095
  2078.     :LABEL094
  2079.     DispFile PPEPath() + "graph\delmenu", 1 + 4
  2080.     :LABEL095
  2081.     STRING038 = ""
  2082.     InputStr ReadLine(STRING018, 22) + "_", STRING038, 1, 1, "12345", 8
  2083.     FreshLine
  2084.     If (STRING038 == "") Then
  2085.         Goto LABEL093
  2086.     Endif
  2087.     FreshLine
  2088.     Select Case (STRING038)
  2089.         Case "1"
  2090.             If (BOOLEAN020) Then
  2091.                 If (!BOOLEAN014) PrintLn ReplaceStr(ReadLine(STRING018, 23), "%FILE%", Upper(STRING040))
  2092.             Endif
  2093.             If (BOOLEAN014) Then
  2094.                 Gosub LABEL104
  2095.                 Return
  2096.             Else
  2097.                 :LABEL096
  2098.                 Print ReplaceStr(ReplaceStr(ReadLine(STRING018, 24), "%FILE%", Upper(STRING040)), "%OFFLINE%", Upper(STRING033))
  2099.                 Rename Upper(STRING040), Upper(STRING033) + "\" + Upper(STRING039)
  2100.                 If (Exist(STRING040)) Then
  2101.                     Copy Upper(STRING040), Upper(STRING033) + "\" + Upper(STRING039)
  2102.                     Delete STRING040
  2103.                 Endif
  2104.                 If (Exist(STRING040)) Then
  2105.                     FreshLine
  2106.                     PrintLn ReplaceStr(ReplaceStr(ReadLine(STRING018, 25), "%FILE%", Upper(STRING040)), "%OFFLINE%", Upper(STRING033))
  2107.                     Gosub LABEL114
  2108.                     If (BOOLEAN019) Goto LABEL096
  2109.                     Return
  2110.                 Endif
  2111.             Endif
  2112.             PrintLn ReadLine(STRING018, 26)
  2113.         Case "2"
  2114.             If (BOOLEAN005) Goto LABEL097
  2115.             FreshLine
  2116.             PrintLn ReadLine(STRING018, 28)
  2117.             Wait
  2118.             Goto LABEL093
  2119.             :LABEL097
  2120.             If (BOOLEAN014) Then
  2121.                 Gosub LABEL106
  2122.                 Return
  2123.             Else
  2124.                 :LABEL098
  2125.                 Delete STRING040
  2126.                 If (Exist(STRING040)) Then
  2127.                     FreshLine
  2128.                     PrintLn ReplaceStr(ReadLine(STRING018, 29), "%FILE%", Upper(STRING040))
  2129.                     Gosub LABEL114
  2130.                     If (BOOLEAN019) Goto LABEL098
  2131.                     Return
  2132.                 Endif
  2133.                 FreshLine
  2134.                 PrintLn ReplaceStr(ReadLine(STRING018, 30), "%FILE%", Upper(STRING040))
  2135.             Endif
  2136.         Case "3"
  2137.             If (BOOLEAN020) Then
  2138.                 If (!BOOLEAN014) PrintLn ReplaceStr(ReadLine(STRING018, 23), "%FILE%", Upper(STRING040))
  2139.             Endif
  2140.             If (BOOLEAN014) Then
  2141.                 Gosub LABEL104
  2142.                 Gosub LABEL102
  2143.                 Return
  2144.             Endif
  2145.             :LABEL099
  2146.             Print ReplaceStr(ReplaceStr(ReadLine(STRING018, 24), "%FILE%", Upper(STRING040)), "%OFFLINE%", Upper(STRING033))
  2147.             Rename Upper(STRING040), Upper(STRING033) + "\" + Upper(STRING039)
  2148.             If (Exist(STRING040)) Then
  2149.                 Copy Upper(STRING040), Upper(STRING033) + "\" + Upper(STRING039)
  2150.                 Delete STRING040
  2151.             Endif
  2152.             If (Exist(STRING040)) Then
  2153.                 FreshLine
  2154.                 Print ReplaceStr(ReplaceStr(ReadLine(STRING018, 25), "%FILE%", Upper(STRING040)), "%OFFLINE%", Upper(STRING033))
  2155.                 Gosub LABEL114
  2156.                 If (BOOLEAN019) Goto LABEL099
  2157.                 Return
  2158.             Endif
  2159.             PrintLn ReadLine(STRING018, 26)
  2160.             :LABEL100
  2161.             If (BOOLEAN032) Then
  2162.                 STRING020 = STRING019 + "\\" + STRING039
  2163.             Else
  2164.                 STRING020 = STRING040
  2165.             Endif
  2166.             FCreate 1, STRING020, 1, 0
  2167.             FClose 1
  2168.             If (!Exist(STRING020) || (FileInf(STRING020, 4) <> 0)) Then
  2169.                 PrintLn ReplaceStr(ReadLine(STRING018, 31), "%FILE%", Upper(STRING020))
  2170.                 Gosub LABEL114
  2171.                 If (BOOLEAN019) Goto LABEL100
  2172.                 Return
  2173.             Endif
  2174.             PrintLn ReplaceStr(ReadLine(STRING018, 52), "%FILE%", Upper(STRING020))
  2175.         Case "4"
  2176.             If (BOOLEAN005) Goto LABEL101
  2177.             FreshLine
  2178.             PrintLn ReadLine(STRING018, 28)
  2179.             Wait
  2180.             Goto LABEL093
  2181.             :LABEL101
  2182.             If (BOOLEAN032) Then
  2183.                 STRING020 = STRING019 + "\\" + STRING039
  2184.             Else
  2185.                 STRING020 = STRING040
  2186.             Endif
  2187.             FreshLine
  2188.             FClose -1
  2189.             If (BOOLEAN014) Then
  2190.                 Gosub LABEL102
  2191.                 Return
  2192.             Endif
  2193.             Delete STRING040
  2194.             FCreate 1, STRING020, 1, 0
  2195.             FClose 0
  2196.             If (!Exist(STRING020) || (FileInf(STRING020, 4) <> 0)) Then
  2197.                 PrintLn ReplaceStr(ReadLine(STRING018, 31), "%FILE%", Upper(STRING020))
  2198.                 Gosub LABEL114
  2199.                 If (BOOLEAN019) Goto LABEL101
  2200.                 Return
  2201.             Endif
  2202.             PrintLn ReplaceStr(ReadLine(STRING018, 52), "%FILE%", Upper(STRING020))
  2203.         Case "5"
  2204.             FreshLine
  2205.             PrintLn ReadLine(STRING018, 32)
  2206.     End Select
  2207.     Return
  2208.     :LABEL102
  2209.     FOpen 1, PPEPath() + "work\tblst", 0, 0
  2210.     FGet 1, STRING021
  2211.     While (STRING021 <> "") Do
  2212.         If (BOOLEAN032) Then
  2213.             STRING022 = STRING019 + "\" + STRING021
  2214.         Else
  2215.             STRING022 = STRING035 + "\" + STRING021
  2216.         Endif
  2217.         :LABEL103
  2218.         FCreate 2, STRING022, 1, 0
  2219.         FClose 2
  2220.         If (!Exist(STRING022) || (FileInf(STRING022, 4) <> 0)) Then
  2221.             PrintLn ReplaceStr(ReadLine(STRING018, 31), "%FILE%", Upper(STRING022))
  2222.             Gosub LABEL114
  2223.             If (BOOLEAN019) Goto LABEL103
  2224.             FClose 1
  2225.             Return
  2226.         Endif
  2227.         PrintLn ReplaceStr(ReadLine(STRING018, 52), "%FILE%", Upper(STRING022))
  2228.         FGet 1, STRING021
  2229.     EndWhile
  2230.     FClose 1
  2231.     Return
  2232.     :LABEL104
  2233.     FOpen 1, PPEPath() + "work\tblst", 0, 0
  2234.     FGet 1, STRING021
  2235.     While (STRING021 <> "") Do
  2236.         STRING022 = STRING035 + STRING021
  2237.         :LABEL105
  2238.         FreshLine
  2239.         Print ReplaceStr(ReplaceStr(ReadLine(STRING018, 24), "%FILE%", Upper(STRING022)), "%OFFLINE%", Upper(STRING033))
  2240.         Rename Upper(STRING022), Upper(STRING033) + "\" + STRING021
  2241.         If (Exist(STRING022)) Then
  2242.             Copy Upper(STRING022), Upper(STRING033) + "\" + Upper(STRING021)
  2243.             Delete Upper(STRING022)
  2244.         Endif
  2245.         If (Exist(STRING022)) Then
  2246.             FreshLine
  2247.             PrintLn ReplaceStr(ReplaceStr(ReadLine(STRING018, 25), "%FILE%", Upper(STRING022)), "%OFFLINE%", Upper(STRING033))
  2248.             Gosub LABEL114
  2249.             If (BOOLEAN019) Goto LABEL105
  2250.             FClose 1
  2251.             Return
  2252.         Endif
  2253.         PrintLn ReadLine(STRING018, 26)
  2254.         FGet 1, STRING021
  2255.     EndWhile
  2256.     FClose 1
  2257.     Return
  2258.     :LABEL106
  2259.     FOpen 1, PPEPath() + "work\tblst", 0, 0
  2260.     FGet 1, STRING021
  2261.     While (STRING021 <> "") Do
  2262.         STRING022 = STRING035 + STRING021
  2263.         :LABEL107
  2264.         Delete STRING022
  2265.         If (Exist(STRING022)) Then
  2266.             FreshLine
  2267.             PrintLn ReplaceStr(ReadLine(STRING018, 29), "%FILE%", Upper(STRING022))
  2268.             Gosub LABEL114
  2269.             If (BOOLEAN019) Goto LABEL107
  2270.             Return
  2271.         Endif
  2272.         FreshLine
  2273.         PrintLn ReplaceStr(ReadLine(STRING018, 30), "%FILE%", Upper(STRING022))
  2274.         FGet 1, STRING021
  2275.     EndWhile
  2276.     FClose 1
  2277.     Return
  2278.     :LABEL108
  2279.     DefColor
  2280.     Cls
  2281.     If (Exist(STRING034)) Then
  2282.         Print ReadLine(STRING018, 53)
  2283.         Gosub LABEL068
  2284.         If (INT010 == 1) Then
  2285.             FClose -1
  2286.             FreshLine
  2287.             Print ReadLine(STRING018, 54)
  2288.             PrintLn ReadLine(STRING018, 26)
  2289.             PrintLn 
  2290.             Wait
  2291.             Delete Upper(STRING034)
  2292.         Else
  2293.             Return
  2294.         Endif
  2295.     Else
  2296.         PrintLn ReadLine(STRING018, 55)
  2297.         Wait
  2298.     Endif
  2299.     FreshLine
  2300.     Return
  2301.     :LABEL109
  2302.     DefColor
  2303.     Cls
  2304.     PrintLn ReadLine(STRING018, 56)
  2305.     INTEGER012 = 2
  2306.     STRING021 = ReadLine(STRING034, INTEGER012)
  2307.     Print "@X0B"
  2308.     StartDisp 2
  2309.     While (STRING021 <> "") Do
  2310.         Tokenize STRING021
  2311.         Print Left(GetToken(), 12), " "
  2312.         STRING021 = ReadLine(STRING034, INTEGER012 + 2)
  2313.         STRING021 = ReadLine(STRING034, INTEGER012 + 1)
  2314.         If (STRING021 == "") Break
  2315.         Tokenize STRING021
  2316.         Print Left(GetToken(), 12), " "
  2317.         STRING021 = ReadLine(STRING034, INTEGER012 + 2)
  2318.         If (STRING021 == "") Break
  2319.         Tokenize STRING021
  2320.         Print Left(GetToken(), 12), " "
  2321.         STRING021 = ReadLine(STRING034, INTEGER012 + 3)
  2322.         If (STRING021 == "") Break
  2323.         Tokenize STRING021
  2324.         Print Left(GetToken(), 12), " "
  2325.         STRING021 = ReadLine(STRING034, INTEGER012 + 4)
  2326.         If (STRING021 == "") Break
  2327.         Tokenize STRING021
  2328.         Print Left(GetToken(), 12), " "
  2329.         INTEGER012 = INTEGER012 + 5
  2330.         STRING021 = ReadLine(STRING034, INTEGER012)
  2331.         FreshLine
  2332.         If (Abort()) Then
  2333.             ResetDisp
  2334.             Break
  2335.         Endif
  2336.     EndWhile
  2337.     FreshLine
  2338.     StartDisp 1
  2339.     INT026 = INT001
  2340.     :LABEL110
  2341.     Backup 80
  2342.     ClrEol
  2343.     Print ReplaceStr(ReadLine(STRING018, 57), "%DIR%", INT026)
  2344.     Gosub LABEL113
  2345.     FClose -1
  2346.     Select Case (INT010)
  2347.         Case 1
  2348.             STRING038 = ""
  2349.             Backup 80
  2350.             ClrEol
  2351.             InputStr ReadLine(STRING018, 58), STRING038, 1, 12, Mask_File(), 8
  2352.             If (STRING038 == "") Goto LABEL110
  2353.             If (Exist(STRING034)) Goto LABEL111
  2354.             FCreate 1, STRING034, 1, 0
  2355.             FPutLn 1, Upper(U_Name())
  2356.             FPutLn 1, STRING038 + " " + String(INT001)
  2357.             FClose 1
  2358.             Goto LABEL112
  2359.             :LABEL111
  2360.             FAppend 1, STRING034, 1, 0
  2361.             FPutLn 1, STRING038 + " " + String(INT001)
  2362.             FClose 1
  2363.             :LABEL112
  2364.         Case 2
  2365.             STRING038 = ""
  2366.             Backup 80
  2367.             ClrEol
  2368.             InputStr ReadLine(STRING018, 59), STRING038, 1, 12, Mask_File(), 8
  2369.             If (STRING038 == "") Goto LABEL110
  2370.             STRING039 = STRING038
  2371.             Gosub LABEL043
  2372.         Case 3
  2373.             STRING038 = ""
  2374.             Backup 80
  2375.             ClrEol
  2376.             INT002 = 0
  2377.             STRING038 = "U"
  2378.             InputStr "@X07Enter directory (@X0C1-@NUMDIR@, U@X07)", STRING038, 7, Len(String(INT001)), Mask_Num() + "U", 8 + 2
  2379.             If ((ToInteger(STRING038) >= 1) && ToInteger((STRING038 <= INT001))) Then
  2380.                 INT026 = ToInteger(STRING038)
  2381.             ElseIf (STRING038 == "U") Then
  2382.                 INT026 = INT001
  2383.             Endif
  2384.             Goto LABEL110
  2385.         Case Else
  2386.             Return
  2387.     End Select
  2388.     Goto LABEL109
  2389.     :LABEL113
  2390.     INT008 = 1
  2391.     INT009 = 4
  2392.     TSTRING036(1) = ReadLine(STRING018, 60)
  2393.     TSTRING036(2) = ReadLine(STRING018, 61)
  2394.     TSTRING036(3) = "@X0FC@X07hangeDir"
  2395.     TSTRING036(4) = ReadLine(STRING018, 62)
  2396.     Goto LABEL001
  2397.     Return
  2398.     :LABEL114
  2399.     FreshLine
  2400.     Print ReadLine(STRING018, 40)
  2401.     Gosub LABEL068
  2402.     FreshLine
  2403.     If (INT010 == 1) Then
  2404.         BOOLEAN019 = 1
  2405.     Else
  2406.         BOOLEAN019 = 0
  2407.     Endif
  2408.     Return
  2409.     :LABEL115
  2410.     BOOLEAN024 = 0
  2411.     INTEGER005 = 0
  2412.     BOOLEAN007 = 0
  2413.     INTEGER006 = 0
  2414.     If (BOOLEAN022) Goto LABEL116
  2415.     PrintLn ReadLine(STRING018, 63)
  2416.     BOOLEAN024 = 1
  2417.     Return
  2418.     :LABEL116
  2419.     FreshLine
  2420.     STRING016 = ""
  2421.     Newline
  2422.     Gosub LABEL023
  2423.     If (BOOLEAN040) Then
  2424.         BOOLEAN040 = 0
  2425.         INTEGER006 = 0
  2426.         BOOLEAN024 = 1
  2427.         Return
  2428.     Endif
  2429.     FreshLine
  2430.     If (TSTRING011(1) == "") Then
  2431.         FreshLine
  2432.         INTEGER006 = 0
  2433.         BOOLEAN024 = 1
  2434.         Return
  2435.     Endif
  2436.     FreshLine
  2437.     INTEGER004 = U_RecNum(Upper(STRING029))
  2438.     If (INTEGER004 == -1) Then
  2439.         FreshLine
  2440.         PrintLn ReadLine(STRING018, 69)
  2441.         Wait
  2442.         BOOLEAN024 = 1
  2443.         INTEGER005 = 0
  2444.         INTEGER006 = 0
  2445.         Return
  2446.     Endif
  2447.     GetAltUser INTEGER004
  2448.     INTEGER003 = FileInf(STRING040, 4)
  2449.     Gosub LABEL134
  2450.     FreshLine
  2451.     BOOLEAN007 = 0
  2452.     If (INTEGER003 <= 0) Then
  2453.         PrintLn ReadLine(STRING018, 65)
  2454.         STRING038 = ""
  2455.         FreshLine
  2456.         InputStr ReadLine(STRING018, 66) + "_", STRING038, 1, 9, Mask_Num(), 8
  2457.         FreshLine
  2458.         If (STRING038 == "") Then
  2459.             INTEGER006 = 0
  2460.             BOOLEAN024 = 1
  2461.             GetUser
  2462.             Return
  2463.         Endif
  2464.         INTEGER006 = ToInteger(STRING038)
  2465.         BOOLEAN007 = 1
  2466.         INTEGER005 = 0
  2467.     Endif
  2468.     If (BOOLEAN007) Goto LABEL117
  2469.     STRING038 = ""
  2470.     InputStr ReadLine(STRING018, 68) + "_", STRING038, 1, 3, Mask_Num(), 8
  2471.     FreshLine
  2472.     If ((STRING038 == "") || (ToInteger(STRING038) < 0)) Then
  2473.         INTEGER006 = 0
  2474.         BOOLEAN024 = 1
  2475.         GetUser
  2476.         Return
  2477.     Endif
  2478.     INTEGER005 = STRING038
  2479.     INTEGER006 = ToInteger(STRING038) * INTEGER003
  2480.     :LABEL117
  2481.     INTEGER010 = U_Bul()
  2482.     If (BOOLEAN014) Then
  2483.         Gosub LABEL118
  2484.     Endif
  2485.     If (U_Bul() + INTEGER006 > 0) Then
  2486.         STRING038 = String(U_Bul() + INTEGER006)
  2487.         Gosub LABEL137
  2488.     Endif
  2489.     GetAltUser INTEGER004
  2490.     If (INTEGER010 == U_Bul()) Then
  2491.         PrintLn ReadLine(STRING018, 100)
  2492.     Else
  2493.         PrintLn ReplaceStr(ReadLine(STRING018, 70), "%SIZE%", String(INTEGER006))
  2494.         PrintLn ReplaceStr(ReadLine(STRING018, 67), "%SIZE%", String(U_Bul()))
  2495.     Endif
  2496.     GetUser
  2497.     FreshLine
  2498.     Gosub LABEL127
  2499.     Return
  2500.     :LABEL118
  2501.     INTEGER030 = INTEGER006
  2502.     INTEGER001 = 1
  2503.     STRING021 = ReadLine(PPEPath() + "work\tblst", INTEGER001)
  2504.     FCreate 1, PPEPath() + "work\tbbyte", 1, 0
  2505.     FreshLine
  2506.     While (STRING021 <> "") Do
  2507.         If (BOOLEAN007) Then
  2508.             INTEGER002 = INTEGER030
  2509.         Else
  2510.             INTEGER002 = FileInf(STRING035 + STRING021, 4) * INTEGER005
  2511.         Endif
  2512.         If (INTEGER001 <> 1) Then
  2513.             If (BOOLEAN022) Then
  2514.                 PrintLn "@X07Adding nuke bytes for (", Upper(STRING021), ")"
  2515.                 INTEGER006 = INTEGER006 + INTEGER002
  2516.             Endif
  2517.         Endif
  2518.         FPutLn 1, STRING021 + " " + String(INTEGER002)
  2519.         Inc INTEGER001
  2520.         STRING021 = ReadLine(PPEPath() + "work\tblst", INTEGER001)
  2521.     EndWhile
  2522.     FClose 1
  2523.     Return
  2524.     :LABEL119
  2525.     BOOLEAN007 = 0
  2526.     INTEGER005 = 0
  2527.     INTEGER006 = 0
  2528.     If (BOOLEAN022) Goto LABEL120
  2529.     PrintLn ReadLine(STRING018, 71)
  2530.     Print ReadLine(STRING018, 113)
  2531.     Gosub LABEL068
  2532.     FreshLine
  2533.     If (INT010 == 2) Then
  2534.         BOOLEAN040 = 1
  2535.     Endif
  2536.     INTEGER005 = 0
  2537.     INTEGER006 = 0
  2538.     If (BOOLEAN014) Gosub LABEL118
  2539.     Return
  2540.     :LABEL120
  2541.     FreshLine
  2542.     INTEGER004 = U_RecNum(Upper(STRING029))
  2543.     If (INTEGER004 == -1) Then
  2544.         FreshLine
  2545.         PrintLn ReadLine(STRING018, 72)
  2546.         Print ReadLine(STRING018, 113)
  2547.         Gosub LABEL068
  2548.         FreshLine
  2549.         If (INT010 == 2) Then
  2550.             BOOLEAN040 = 1
  2551.             Goto LABEL121
  2552.         Endif
  2553.         Gosub LABEL118
  2554.         :LABEL121
  2555.         INTEGER005 = 0
  2556.         INTEGER006 = 0
  2557.         Return
  2558.     Endif
  2559.     GetAltUser INTEGER004
  2560.     INTEGER003 = FileInf(STRING040, 4)
  2561.     Gosub LABEL134
  2562.     FreshLine
  2563.     BOOLEAN007 = 0
  2564.     If (INTEGER003 <= 0) Then
  2565.         PrintLn ReadLine(STRING018, 65)
  2566.         FreshLine
  2567.         STRING038 = ""
  2568.         InputStr ReadLine(STRING018, 74) + "_", STRING038, 1, 9, Mask_Num(), 8
  2569.         FreshLine
  2570.         If (STRING038 == "") Then
  2571.             INTEGER006 = 0
  2572.             GetUser
  2573.             BOOLEAN040 = 1
  2574.             Return
  2575.         Endif
  2576.         INTEGER006 = ToInteger(STRING038)
  2577.         BOOLEAN007 = 1
  2578.         INTEGER005 = 0
  2579.     Endif
  2580.     If (BOOLEAN007) Goto LABEL122
  2581.     FreshLine
  2582.     STRING038 = ""
  2583.     InputStr ReadLine(STRING018, 27) + "_", STRING038, 1, 3, Mask_Num(), 8
  2584.     FreshLine
  2585.     If (STRING038 <> "") Then
  2586.         INTEGER005 = STRING038
  2587.     Else
  2588.         INTEGER006 = 0
  2589.         INTEGER005 = 0
  2590.         BOOLEAN040 = 1
  2591.         GetUser
  2592.         Return
  2593.     Endif
  2594.     INTEGER006 = ToInteger(STRING038) * INTEGER003
  2595.     :LABEL122
  2596.     INTEGER010 = U_Bul()
  2597.     If (BOOLEAN014) Then
  2598.         Gosub LABEL118
  2599.     Endif
  2600.     If (U_Bul() - INTEGER006 > 0) Then
  2601.         STRING038 = String(U_Bul() - INTEGER006)
  2602.         Gosub LABEL137
  2603.     Else
  2604.         STRING038 = 0
  2605.         Gosub LABEL137
  2606.     Endif
  2607.     GetAltUser INTEGER004
  2608.     If (INTEGER010 == U_Bul()) Then
  2609.         PrintLn ReadLine(STRING018, 100)
  2610.     Else
  2611.         PrintLn ReplaceStr(ReadLine(STRING018, 73), "%SIZE%", String(INTEGER006))
  2612.         PrintLn ReplaceStr(ReadLine(STRING018, 67), "%SIZE%", String(U_Bul()))
  2613.     Endif
  2614.     GetUser
  2615.     FreshLine
  2616.     Return
  2617.     :LABEL123
  2618.     FreshLine
  2619.     If (BOOLEAN022) Goto LABEL124
  2620.     PrintLn ReadLine(STRING018, 75)
  2621.     Return
  2622.     :LABEL124
  2623.     If (BOOLEAN014) Then
  2624.         STRING017 = PPEPath() + "graph\tbnuke"
  2625.     Else
  2626.         STRING017 = PPEPath() + "graph\msgnuke"
  2627.     Endif
  2628.     STRING021 = PPEPath() + "bcms" + String(PcbNode())
  2629.     FOpen 1, STRING017, 0, 0
  2630.     FCreate 2, STRING021, 1, 0
  2631.     If (BOOLEAN014) Then
  2632.         FPutLn 2, ReadLine(STRING018, 121)
  2633.         FPutLn 2, ""
  2634.         STRING001 = ReadLine(PPEPath() + "work\tbbyte", 1)
  2635.         INTEGER001 = 1
  2636.         STRING023 = ReadLine(STRING018, 123)
  2637.         While (STRING001 <> "") Do
  2638.             Tokenize STRING001
  2639.             STRING022 = GetToken()
  2640.             FPutLn 2, ReplaceStr(ReplaceStr(STRING023, "@NFILE@", STRING022), "@NUKEBYTES@", GetToken())
  2641.             Inc INTEGER001
  2642.             STRING001 = ReadLine(PPEPath() + "work\tbbyte", INTEGER001)
  2643.         EndWhile
  2644.     Endif
  2645.     :LABEL125
  2646.     If (Ferr(1)) Goto LABEL126
  2647.     FGet 1, STRING022
  2648.     STRING022 = ReplaceStr(STRING022, "@NUKEE@", Mixed(STRING029))
  2649.     STRING022 = ReplaceStr(STRING022, "@NUKER@", Mixed(U_Name()))
  2650.     STRING022 = ReplaceStr(STRING022, "@NALIAS@", Mixed(U_Alias))
  2651.     STRING022 = ReplaceStr(STRING022, "@NUKEBYTES@", INTEGER006)
  2652.     STRING022 = ReplaceStr(STRING022, "@NFILE@", STRING039)
  2653.     If (InStr(STRING022, "@REASON@")) Then
  2654.         For INT007 = 1 To INTEGER011
  2655.             FPutLn 2, ReplaceStr(STRING022, "@REASON@", Mixed(TSTRING011(INT007)))
  2656.         Next
  2657.     Else
  2658.         FPutLn 2, STRING022
  2659.     Endif
  2660.     Goto LABEL125
  2661.     :LABEL126
  2662.     FClose 1
  2663.     FClose 2
  2664.     FReAltUser
  2665.     Message 0, Upper(STRING029), Upper(U_Name()), "@X7CNUKED!!", "R", 0, 0, 0, STRING021
  2666.     PrintLn ReplaceStr(ReadLine(STRING018, 76), "%NAME%", Upper(STRING029))
  2667.     FClose -1
  2668.     Delete STRING021
  2669.     Return
  2670.     :LABEL127
  2671.     FreshLine
  2672.     If (BOOLEAN022) Goto LABEL128
  2673.     PrintLn ReadLine(STRING018, 77)
  2674.     Return
  2675.     :LABEL128
  2676.     STRING017 = PPEPath() + "graph\msgaward"
  2677.     If (BOOLEAN014) STRING017 = PPEPath() + "graph\tbaward"
  2678.     STRING021 = PPEPath() + "bcms" + String(PcbNode())
  2679.     FOpen 1, STRING017, 0, 0
  2680.     FCreate 2, STRING021, 1, 0
  2681.     If (BOOLEAN014) Then
  2682.         FPutLn 2, ReadLine(STRING018, 122)
  2683.         FPutLn 2, ""
  2684.         STRING001 = ReadLine(PPEPath() + "work\tbbyte", 1)
  2685.         INTEGER001 = 1
  2686.         STRING023 = ReadLine(STRING018, 124)
  2687.         While (STRING001 <> "") Do
  2688.             Tokenize STRING001
  2689.             STRING022 = GetToken()
  2690.             FPutLn 2, ReplaceStr(ReplaceStr(STRING023, "@NFILE@", STRING022), "@NUKEBYTES@", GetToken())
  2691.             Inc INTEGER001
  2692.             STRING001 = ReadLine(PPEPath() + "work\tbbyte", INTEGER001)
  2693.         EndWhile
  2694.     Endif
  2695.     :LABEL129
  2696.     If (Ferr(1)) Goto LABEL130
  2697.     FGet 1, STRING022
  2698.     STRING022 = ReplaceStr(STRING022, "@NUKEE@", Mixed(STRING029))
  2699.     STRING022 = ReplaceStr(STRING022, "@NUKER@", Mixed(U_Name()))
  2700.     STRING022 = ReplaceStr(STRING022, "@NALIAS@", Mixed(U_Alias))
  2701.     STRING022 = ReplaceStr(STRING022, "@NUKEBYTES@", INTEGER006)
  2702.     STRING022 = ReplaceStr(STRING022, "@NFILE@", STRING039)
  2703.     If (InStr(STRING022, "@REASON@")) Then
  2704.         For INT007 = 1 To INTEGER011
  2705.             FPutLn 2, ReplaceStr(STRING022, "@REASON@", Mixed(TSTRING011(INT007)))
  2706.         Next
  2707.     Else
  2708.         FPutLn 2, STRING022
  2709.     Endif
  2710.     Goto LABEL129
  2711.     :LABEL130
  2712.     FClose 1
  2713.     FClose 2
  2714.     FReAltUser
  2715.     Message 0, Upper(STRING029), Upper(U_Name()), "@X7CAWARD!!", "R", 0, 0, 0, STRING021
  2716.     PrintLn ReplaceStr(ReadLine(STRING018, 78), "%NAME%", Upper(STRING029))
  2717.     FClose -1
  2718.     Delete STRING021
  2719.     Return
  2720.     :LABEL131
  2721.     If (Exist(PPEPath() + "nuke.log")) Goto LABEL132
  2722.     FCreate 3, PPEPath() + "nuke.log", 1, 0
  2723.     FPutLn 3, "File         From                 Type  Nuker                Bytes"
  2724.     FPutLn 3, "──────────────────────────────────────────────────────────────────"
  2725.     FClose 3
  2726.     :LABEL132
  2727.     Return
  2728.     :LABEL133
  2729.     Gosub LABEL131
  2730.     FAppend 3, PPEPath() + "nuke.log", 1, 0
  2731.     FPutLn 3, STRING024
  2732.     FClose 3
  2733.     Return
  2734.     :LABEL134
  2735.     FOpen 1, PPEPath() + "graph\credhdr", 0, 0
  2736.     FGet 1, STRING022
  2737.     :LABEL135
  2738.     If (Ferr(1)) Goto LABEL136
  2739.     STRING022 = ReplaceStr(STRING022, "%FILE%", Upper(STRING039))
  2740.     STRING022 = ReplaceStr(STRING022, "%BYTES%", String(INTEGER003))
  2741.     STRING022 = ReplaceStr(STRING022, "%USER%", String(U_Name()))
  2742.     STRING022 = ReplaceStr(STRING022, "%BUL%", String(U_Bul()))
  2743.     STRING022 = ReplaceStr(STRING022, "%BDL%", String(U_Bdl()))
  2744.     PrintLn STRING022
  2745.     FGet 1, STRING022
  2746.     Goto LABEL135
  2747.     :LABEL136
  2748.     FClose 1
  2749.     Return
  2750.     :LABEL137
  2751.     STRING068 = ReadLine(PCBDat(), 29)
  2752.     STRING064 = U_Bul()
  2753.     STRING064 = STRING038
  2754.     STRING069 = STRING038
  2755.     If (STRING069 <> "") Goto LABEL138
  2756.     PrintLn "No input"
  2757.     End
  2758.     :LABEL138
  2759.     DOUBLE001 = STRING069
  2760.     If (DOUBLE001 < -999999999) DOUBLE001 = -999999999
  2761.     If (DOUBLE001 > DOUBLE001) DOUBLE001 = DOUBLE001
  2762.     STRING064 = DOUBLE001
  2763.     STRING065 = "0"
  2764.     If (DOUBLE001 < 0) Then
  2765.         STRING065 = "1"
  2766.         DOUBLE001 = -DOUBLE001
  2767.     Endif
  2768.     STRING066 = I2S(DOUBLE001, 2)
  2769.     INTEGER031 = Len(STRING066) - 1 + 129
  2770.     TBIGSTR001(8) = Chr(INTEGER031)
  2771.     STRING066 = Left(Right(STRING066, Len(STRING066) - 1) + "00000000000000000000000000000000000000000000000000000000000000000", 55)
  2772.     TSTRING067(7) = STRING065 + Left(STRING066, 7)
  2773.     STRING066 = Right(STRING066, Len(STRING066) - 7)
  2774.     For INTEGER032 = -6 To -1
  2775.         TSTRING067(-INTEGER032) = Left(STRING066, 8)
  2776.         STRING066 = Right(STRING066, Len(STRING066) - 8)
  2777.     Next
  2778.     For INTEGER032 = 1 To 7
  2779.         TBIGSTR001(INTEGER032) = Chr(S2I(TSTRING067(INTEGER032), 2))
  2780.     Next
  2781.     FOpen 4, STRING068, 2, 0
  2782.     FSeek 4, (U_RecNum(U_Name()) - 1) * 400 + 216, 0
  2783.     For INTEGER032 = 1 To 8
  2784.         FWrite 4, TBIGSTR001(INTEGER032), 1
  2785.     Next
  2786.     FClose 4
  2787.     Return
  2788.     :LABEL139
  2789.     Backup 80
  2790.     ClrEol
  2791.     If (INTEGER029 >= 60) Then
  2792.         Print ReadLine(STRING018, 90)
  2793.         Delay 25
  2794.         Return
  2795.     Endif
  2796.     STRING038 = ""
  2797.     Print ReplaceStr(ReplaceStr(ReadLine(STRING018, 91), "%FROM%", String(INT022 - 1)), "%TO%", String(INT023 - 1))
  2798.     InputStr "", STRING038, 7, 2, Mask_Num(), 8 + 2
  2799.     If (STRING038 == "") Return
  2800.     If ((ToInteger(STRING038) < INT022 - 1) || (ToInteger(STRING038) > INT023 - 1)) Goto LABEL139
  2801.     INTEGER012 = INTEGER029
  2802.     While (((-1 < 0) && (INTEGER012 >= ToInteger(STRING038) + 1)) || ((-1 >= 0) && (INTEGER012 <= ToInteger(STRING038) + 1))) Do
  2803.         TSTRING062(INTEGER012 + 1) = TSTRING062(INTEGER012)
  2804.         INTEGER012 = INTEGER012 + -1
  2805.     EndWhile
  2806.     Inc INTEGER029
  2807.     TSTRING062(ToInteger(STRING038) + 1) = ""
  2808.     Gosub LABEL142
  2809.     FreshLine
  2810.     Newline
  2811.     INTEGER008 = GetY()
  2812.     If ((STRING038 + 1) % 20 == 0) Then
  2813.         AnsiPos 5, 20
  2814.     Else
  2815.         AnsiPos 5, (ToInteger(STRING038) + 1) % 20
  2816.     Endif
  2817.     STRING021 = ""
  2818.     InputStr "_", STRING021, 1, 45, Mask_Pwd(), 0
  2819.     TSTRING062(ToInteger(STRING038) + 1) = Space(31) + "| " + STRING021
  2820.     AnsiPos 1, INTEGER008
  2821.     BOOLEAN027 = 1
  2822.     Return
  2823.     :LABEL140
  2824.     Backup 80
  2825.     ClrEol
  2826.     STRING038 = ""
  2827.     Print ReplaceStr(ReplaceStr(ReadLine(STRING018, 92), "%FROM%", String(INT022)), "%TO%", String(INT023))
  2828.     InputStr "", STRING038, 7, 2, Mask_Num(), 8 + 2
  2829.     If (STRING038 == "") Return
  2830.     If ((ToInteger(STRING038) < INT022) || (ToInteger(STRING038) > INT023)) Goto LABEL141
  2831.     Dec INTEGER029
  2832.     For INTEGER012 = STRING038 To INTEGER029
  2833.         TSTRING062(INTEGER012) = TSTRING062(INTEGER012 + 1)
  2834.     Next
  2835.     Gosub LABEL142
  2836.     FreshLine
  2837.     Newline
  2838.     BOOLEAN027 = 1
  2839.     Return
  2840.     :LABEL141
  2841.     Backup 80
  2842.     ClrEol
  2843.     STRING038 = ""
  2844.     Print ReplaceStr(ReplaceStr(ReadLine(STRING018, 93), "%FROM%", String(INT022)), "%TO%", String(INT023))
  2845.     InputStr "", STRING038, 7, 2, Mask_Num(), 8 + 2
  2846.     If (STRING038 == "") Return
  2847.     If ((ToInteger(STRING038) < INT022) || (ToInteger(STRING038) > INT023)) Goto LABEL141
  2848.     TSTRING062(ToInteger(STRING038)) = ""
  2849.     Backup 80
  2850.     ClrEol
  2851.     INTEGER008 = GetY()
  2852.     If ((STRING038 + 1) % 20 == 0) Then
  2853.         AnsiPos 5, 20
  2854.     Else
  2855.         AnsiPos 5, ToInteger(STRING038) % 20
  2856.     Endif
  2857.     ClrEol
  2858.     STRING021 = ""
  2859.     InputStr "_", STRING021, 1, 45, Mask_Pwd(), 0
  2860.     TSTRING062(ToInteger(STRING038)) = Space(31) + "| " + STRING021
  2861.     AnsiPos 1, INTEGER008
  2862.     BOOLEAN027 = 1
  2863.     Return
  2864.     :LABEL142
  2865.     Select Case (INT024)
  2866.         Case 1
  2867.             INT022 = 1
  2868.             If (INTEGER029 >= 20) Then
  2869.                 INT023 = 20
  2870.             Else
  2871.                 INT023 = INTEGER029
  2872.             Endif
  2873.         Case 2
  2874.             If (INTEGER029 > 20) Then
  2875.                 INT022 = 21
  2876.                 If (INTEGER029 >= 40) Then
  2877.                     INT023 = 40
  2878.                     Goto LABEL143
  2879.                 Endif
  2880.                 INT023 = INTEGER029
  2881.             Endif
  2882.             :LABEL143
  2883.         Case 3
  2884.         Case 40
  2885.             INT022 = 41
  2886.             If (INTEGER029 >= 60) Then
  2887.                 INT023 = 60
  2888.                 Goto LABEL144
  2889.             Endif
  2890.             INT023 = INTEGER029
  2891.     End Select
  2892.     :LABEL144
  2893.     DefColor
  2894.     Cls
  2895.     STRING070 = ReadLine(STRING018, 94)
  2896.     For INTEGER012 = INT022 To INT023
  2897.         If (INTEGER012 == 1) Then
  2898.             Print STRING070, "1 ", TSTRING030(3), ":" + Mid(TSTRING062(1), 33, Len(TSTRING062(1)) - 30)
  2899.         Else
  2900.             If (INTEGER012 == INT022) Then
  2901.                 Goto LABEL145
  2902.             Endif
  2903.             Newline
  2904.         Endif
  2905.         :LABEL145
  2906.         If (INTEGER012 <> 1) Print STRING070, Left(String(INTEGER012), 2) , TSTRING030(3) , ":" + Mid(TSTRING062(INTEGER012), 33, Len(TSTRING062(INTEGER012)) - 30)
  2907.     Next
  2908.     Return
  2909.     :LABEL146
  2910.     Print "@X07Checking access, please wait..."
  2911.     If (BOOLEAN033) Then
  2912.         FreshLine
  2913.         Tokenize ReadLine(STRING032, 1)
  2914.         If (GetToken() == "1") BOOLEAN001 = 1
  2915.         If (GetToken() == "1") BOOLEAN002 = 1
  2916.         If (GetToken() == "1") BOOLEAN003 = 1
  2917.         If (GetToken() == "1") BOOLEAN004 = 1
  2918.         If (GetToken() == "1") BOOLEAN005 = 1
  2919.         If (GetToken() == "1") BOOLEAN008 = 1
  2920.         PrintLn "@X07Previous access restored successfully"
  2921.         FClose -1
  2922.         Delete STRING032
  2923.         Return
  2924.     Endif
  2925.     If (Upper(ReadLine(STRING015, 9)) == "NO") Then
  2926.         Tokenize ReadLine(STRING015, 8)
  2927.         If (CurSec() >= GetToken()) BOOLEAN001 = 1
  2928.         If (CurSec() >= GetToken()) BOOLEAN002 = 1
  2929.         If (CurSec() >= GetToken()) BOOLEAN003 = 1
  2930.         If (CurSec() >= GetToken()) BOOLEAN004 = 1
  2931.         If (CurSec() >= GetToken()) BOOLEAN005 = 1
  2932.         If (CurSec() >= GetToken()) BOOLEAN008 = 1
  2933.         PrintLn "@X0CDONE!"
  2934.         Return
  2935.     Endif
  2936.     STRING021 = PPEPath() + "users.cfg"
  2937.     STRING022 = Upper(ReadLine(STRING021, 1))
  2938.     INTEGER012 = 1
  2939.     While (STRING022 <> "") Do
  2940.         If (STRING022 == Upper(U_Name())) Then
  2941.             Tokenize ReadLine(STRING021, INTEGER012 + 1)
  2942.             If (GetToken() == "YES") BOOLEAN001 = 1
  2943.             If (GetToken() == "YES") BOOLEAN002 = 1
  2944.             If (GetToken() == "YES") BOOLEAN003 = 1
  2945.             If (GetToken() == "YES") BOOLEAN004 = 1
  2946.             If (GetToken() == "YES") BOOLEAN005 = 1
  2947.             If (GetToken() == "YES") BOOLEAN008 = 1
  2948.             PrintLn "@X0CDONE!"
  2949.             Return
  2950.         Endif
  2951.         Inc INTEGER012
  2952.         Inc INTEGER012
  2953.         STRING022 = Upper(ReadLine(STRING021, INTEGER012))
  2954.     EndWhile
  2955.     FreshLine
  2956.     DispFile PPEPath() + "graph\noaxx", 0
  2957.     Wait
  2958.     End
  2959.     Return
  2960.     :LABEL147
  2961.     FreshLine
  2962.     BOOLEAN026 = 0
  2963.     If (BOOLEAN014) Then
  2964.         Print ReadLine(STRING018, 119)
  2965.     Else
  2966.         Print ReadLine(STRING018, 88)
  2967.     Endif
  2968.     Gosub LABEL068
  2969.     If (INT010 == 2) Then
  2970.         BOOLEAN026 = 1
  2971.         Return
  2972.     Endif
  2973.     FreshLine
  2974.     STRING016 = ""
  2975.     STRING038 = ""
  2976.     Gosub LABEL025
  2977.     If (BOOLEAN030) Then
  2978.         BOOLEAN026 = 1
  2979.         Return
  2980.     Endif
  2981.     FClose -1
  2982.     FAppend 1, STRING013, 1, 0
  2983.     If (BOOLEAN014) Then
  2984.         STRING021 = PPEPath() + "work\tblst"
  2985.         INTEGER001 = 1
  2986.         STRING022 = ReadLine(STRING021, INTEGER001)
  2987.         While (STRING022 <> "") Do
  2988.             FPutLn 1, Upper(STRING035) + "," + Upper(STRING022) + "," + String(INTEGER009) + "," + "FREE" + "," + "1"
  2989.             Inc INTEGER001
  2990.             STRING022 = ReadLine(STRING021, INTEGER001)
  2991.         EndWhile
  2992.     Else
  2993.         FPutLn 1, Upper(STRING035) + "," + Upper(STRING039) + "," + String(INTEGER009) + "," + "FREE" + "," + "1"
  2994.     Endif
  2995.     FClose 1
  2996.     Return
  2997.     :LABEL148
  2998.     FClose -1
  2999.     Print "@X0DAdding files to batch, please wait..."
  3000.     If (Exist(STRING034)) Goto LABEL149
  3001.     FCreate 1, STRING034, 1, 0
  3002.     FPutLn 1, Upper(U_Name())
  3003.     Goto LABEL150
  3004.     :LABEL149
  3005.     FAppend 1, STRING034, 1, 0
  3006.     :LABEL150
  3007.     FOpen 2, PPEPath() + "work\tblst", 0, 0
  3008.     FGet 2, STRING071
  3009.     :LABEL151
  3010.     If (Ferr(2)) Goto LABEL152
  3011.     FPutLn 1, STRING071 + " " + String(INT020)
  3012.     FGet 2, STRING071
  3013.     Goto LABEL151
  3014.     :LABEL152
  3015.     FClose 2
  3016.     FClose 1
  3017.     PrintLn "@X0CDONE!"
  3018.     Wait
  3019.     Return
  3020.     Return
  3021.     :LABEL153
  3022.     If (BOOLEAN008) Then
  3023.         BOOLEAN009 = 0
  3024.         FreshLine
  3025.         Print "@X07Stay anonymous@X0C? "
  3026.         Gosub LABEL069
  3027.         If (INT010 == 1) Then
  3028.             BOOLEAN009 = 0
  3029.             Goto LABEL154
  3030.         Endif
  3031.         BOOLEAN009 = 1
  3032.         :LABEL154
  3033.         FreshLine
  3034.     Endif
  3035.     Return
  3036.     :LABEL155
  3037.     If (!Exist(PPEPath() + "nukerec.dat")) Return
  3038.     FreshLine
  3039.     Print "@X07Pending nuke recommendations found, view them now@X0C? "
  3040.     Gosub LABEL068
  3041.     If (INT010 == 1) Then
  3042.         DefColor
  3043.         Cls
  3044.         StartDisp 2
  3045.         FOpen 1, PPEPath() + "nukerec.dat", 0, 0
  3046.         FreshLine
  3047.         PrintLn "@X08****************************@X07*********************@X0F*************************"
  3048.         While (1) Do
  3049.             FGet 1, STRING038
  3050.             If (Ferr(1)) Break
  3051.             PrintLn "@X0C   User: @X0F", STRING038
  3052.             FGet 1, STRING038
  3053.             If (Ferr(1)) Break
  3054.             PrintLn "@X0CFile(s): @X07", STRING038
  3055.             FGet 1, STRING038
  3056.             If (Ferr(1)) Break
  3057.             PrintLn "@X0CComment: @X09", STRING038
  3058.             PrintLn "@X08****************************@X07*********************@X0F*************************"
  3059.             If (Abort()) Then
  3060.                 ResetDisp
  3061.                 Break
  3062.             Endif
  3063.         EndWhile
  3064.         FClose 1
  3065.         StartDisp 1
  3066.         Newline
  3067.         Print "@X07Delete Recommendation file? @X0C"
  3068.         Gosub LABEL068
  3069.         If (INT010 == 1) Delete PPEPath() + "nukerec.dat"
  3070.         FreshLine
  3071.         Return
  3072.     Else
  3073.         FreshLine
  3074.         Return
  3075.     Endif
  3076.     Return
  3077.     :LABEL156
  3078.     BOOLEAN010 = 0
  3079.     STRING043 = STRING042 + ".idx"
  3080.     BOOLEAN010 = 0
  3081.     If (Exist(STRING043)) Then
  3082.         BOOLEAN010 = 1
  3083.         DATE001 = FileInf(STRING042, 2)
  3084.         TIME001 = FileInf(STRING042, 3)
  3085.         DATE002 = FileInf(STRING043, 2)
  3086.         TIME002 = FileInf(STRING043, 3)
  3087.         If (DATE001 == DATE002) Then
  3088.             If (ToInteger(TIME001) > ToInteger(TIME002)) Then
  3089.                 BOOLEAN010 = 0
  3090.             Endif
  3091.         ElseIf (DATE001 > DATE002) Then
  3092.             BOOLEAN010 = 0
  3093.         Endif
  3094.     Else
  3095.         BOOLEAN010 = 0
  3096.     Endif
  3097.     Return
  3098.     :LABEL157
  3099.     If (BOOLEAN014) Then
  3100.         FreshLine
  3101.         FGet 4, INTEGER017
  3102.         FGet 4, INTEGER018
  3103.         FSeek 5, INTEGER017 - 32, 0
  3104.         FGet 5, TSTRING012(1)
  3105.         INTEGER012 = 2
  3106.         While (1) Do
  3107.             FGet 5, TSTRING012(INTEGER012)
  3108.             If (Ferr(5)) Break
  3109.             If ((Left(TSTRING012(INTEGER012), 1) <> " ") && (Left(TSTRING012(INTEGER012), 1) <> " ")) Break
  3110.             If (INTEGER012 == 60) Break
  3111.             Inc INTEGER012
  3112.         EndWhile
  3113.         If (INTEGER012 > 0) Then
  3114.             INTEGER007 = INTEGER012 - 1
  3115.             Goto LABEL158
  3116.         Endif
  3117.         INTEGER007 = 0
  3118.     Endif
  3119.     :LABEL158
  3120.     If (BOOLEAN043) Then
  3121.         FPutLn 1, Mid(TSTRING012(1), 33, Len(TSTRING012(1)) - 32)
  3122.         BOOLEAN043 = 0
  3123.     Else
  3124.         FPut 1, Space(31) + "|"
  3125.         FPutLn 1, Mid(TSTRING012(1), 33, Len(TSTRING012(1)) - 32)
  3126.     Endif
  3127.     For INTEGER012 = 2 To INTEGER007
  3128.         FPutLn 1, TSTRING012(INTEGER012)
  3129.     Next
  3130.     Return
  3131.  
  3132. ;------------------------------------------------------------------------------
  3133. ;
  3134. ; Usage report (before postprocessing)
  3135. ;
  3136. ; ■ Statements used :
  3137. ;
  3138. ;    14      End
  3139. ;    14      Cls
  3140. ;    15      ClrEol
  3141. ;    23      Wait
  3142. ;    743     Goto 
  3143. ;    726     Let 
  3144. ;    91      Print 
  3145. ;    109     PrintLn 
  3146. ;    501     If 
  3147. ;    21      DispFile 
  3148. ;    18      FCreate 
  3149. ;    20      FOpen 
  3150. ;    10      FAppend 
  3151. ;    61      FClose 
  3152. ;    25      FGet 
  3153. ;    1       FPut 
  3154. ;    49      FPutLn 
  3155. ;    4       ResetDisp
  3156. ;    12      StartDisp 
  3157. ;    7       GetUser
  3158. ;    20      DefColor
  3159. ;    16      Delete 
  3160. ;    1       Log 
  3161. ;    23      InputStr 
  3162. ;    149     Gosub 
  3163. ;    149     Return
  3164. ;    8       Delay 
  3165. ;    24      Inc 
  3166. ;    4       Dec 
  3167. ;    13      Newline
  3168. ;    33      Tokenize 
  3169. ;    6       Shell 
  3170. ;    1       KbdStuff 
  3171. ;    1       Call 
  3172. ;    12      AnsiPos 
  3173. ;    15      Backup 
  3174. ;    1       Forward 
  3175. ;    119     FreshLine
  3176. ;    2       Message 
  3177. ;    5       SaveScrn
  3178. ;    5       RestScrn
  3179. ;    5       Rename 
  3180. ;    1       Frewind 
  3181. ;    6       FSeek 
  3182. ;    6       FRead 
  3183. ;    1       FWrite 
  3184. ;    2       Redim 
  3185. ;    7       Copy 
  3186. ;    4       GetAltUser 
  3187. ;    2       FReAltUser
  3188. ;
  3189. ;
  3190. ; ■ Functions used :
  3191. ;
  3192. ;    40      -
  3193. ;    9       *
  3194. ;    2       /
  3195. ;    5       %
  3196. ;    425     +
  3197. ;    35      -
  3198. ;    200     ==
  3199. ;    39      <>
  3200. ;    35      <
  3201. ;    29      <=
  3202. ;    19      >
  3203. ;    63      >=
  3204. ;    420     !
  3205. ;    62      &&
  3206. ;    42      ||
  3207. ;    15      Len(
  3208. ;    129     Upper()
  3209. ;    11      Mid()
  3210. ;    51      Left()
  3211. ;    3       Right()
  3212. ;    10      Space()
  3213. ;    16      Ferr()
  3214. ;    6       Chr()
  3215. ;    5       InStr()
  3216. ;    5       Abort()
  3217. ;    2       LTrim()
  3218. ;    4       RTrim()
  3219. ;    1       Time()
  3220. ;    19      U_Name()
  3221. ;    1       U_Bdl()
  3222. ;    12      U_Bul()
  3223. ;    16      StripAtx()
  3224. ;    1       Strip()
  3225. ;    3       Inkey()
  3226. ;    51      String()
  3227. ;    10      Mask_Pwd()
  3228. ;    9       Mask_Num()
  3229. ;    2       Mask_File()
  3230. ;    3       CurConf()
  3231. ;    4       PCBDat()
  3232. ;    98      PPEPath()
  3233. ;    8       PcbNode()
  3234. ;    233     ReadLine()
  3235. ;    6       OnLocal()
  3236. ;    6       CurSec()
  3237. ;    80      GetToken()
  3238. ;    33      Exist()
  3239. ;    1       I2S()
  3240. ;    1       S2I()
  3241. ;    1       AnsiOn()
  3242. ;    5       GetX()
  3243. ;    9       GetY()
  3244. ;    12      FileInf()
  3245. ;    2       HelpPath()
  3246. ;    1       TokCount()
  3247. ;    8       U_RecNum()
  3248. ;    1       ScrText()
  3249. ;    88      ReplaceStr()
  3250. ;    27      ToInteger()
  3251. ;    11      Mixed()
  3252. ;    1       IsNonStop()
  3253. ;    1       PCBMac()
  3254. ;
  3255. ;------------------------------------------------------------------------------
  3256. ;
  3257. ; Analysis flags : RSCd
  3258. ;
  3259. ; R - Read user ■ 5
  3260. ;     User records are read, this may signify that someone wants to get
  3261. ;     various informations about a user (for example his password), but
  3262. ;     this may also be normal for a program accessing user records (for
  3263. ;     example a User Editor)
  3264. ;     ■ Search for : GETALTUSER
  3265. ;
  3266. ; S - Shell to DOS ■ 5
  3267. ;     This may be normal if the PPE need to execute an external command,
  3268. ;     but may be actually anything... nasty (formating HD, rebooting,...)
  3269. ;     or usefull (sorting, maintenance,...). Check!
  3270. ;     ■ Search for : SHELL
  3271. ;
  3272. ; C - Call child PPE ■ 3
  3273. ;     This is usually normal, but may be a tricky way to launch some
  3274. ;     sysop-only commands.
  3275. ;     ■ Search for : CALL
  3276. ;
  3277. ; d - Access PCBOARD.DAT ■ 2
  3278. ;     Program gets the full pathname to PCBOARD.DAT, this may be usefull
  3279. ;     for many PPE so they can find various informations on the system
  3280. ;     (system paths, max number of lines in messages, ...) but it may also
  3281. ;     be a way to gather vital informations.
  3282. ;     ■ Search for : PCBDAT()
  3283. ;
  3284. ;------------------------------------------------------------------------------
  3285. ;
  3286. ; Postprocessing report
  3287. ;
  3288. ;    24      For/Next
  3289. ;    23      While/EndWhile
  3290. ;    256     If/Then or If/Then/Else
  3291. ;    14      Select Case
  3292. ;
  3293. ;------------------------------------------------------------------------------
  3294. ;                 AEGiS Corp - Break the routines, code against the machines!
  3295. ;------------------------------------------------------------------------------
  3296.