home *** CD-ROM | disk | FTP | other *** search
/ ftp.wwiv.com / ftp.wwiv.com.zip / ftp.wwiv.com / pub / BBS / ACD_AG20.ZIP / ART.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1994-11-23  |  9KB  |  570 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.     Integer  INTEGER001
  22.     Integer  INTEGER002
  23.     Integer  INTEGER003
  24.     Integer  INTEGER004
  25.     Integer  INTEGER005
  26.     Integer  INTEGER006
  27.     Integer  INTEGER007
  28.     Integer  INTEGER008
  29.     Integer  INTEGER009
  30.     Integer  INTEGER010
  31.     Integer  INTEGER011
  32.     Integer  INTEGER012
  33.     Integer  INTEGER013
  34.     Integer  INTEGER014
  35.     Integer  INTEGER015
  36.     Integer  INTEGER016
  37.     String   TSTRING001(180)
  38.     String   TSTRING002(180)
  39.     String   TSTRING003(180)
  40.     String   TSTRING004(180)
  41.     String   TSTRING005(180)
  42.     String   STRING006
  43.     String   STRING007
  44.     String   STRING008
  45.     String   STRING009
  46.     String   STRING010
  47.     String   STRING011
  48.     String   STRING012
  49.     String   STRING013
  50.     String   STRING014
  51.     String   STRING015
  52.     String   STRING016
  53.     String   STRING017
  54.     String   STRING018
  55.     String   TSTRING019(2)
  56.     String   STRING020
  57.     String   STRING021
  58.     String   STRING022
  59.     String   STRING023
  60.     String   STRING024
  61.     String   STRING025
  62.     String   STRING026
  63.     String   STRING027
  64.     String   STRING028
  65.     String   STRING029
  66.     String   STRING030
  67.     String   STRING031
  68.     String   TSTRING032(2)
  69.     String   STRING033
  70.     String   STRING034
  71.     String   STRING035
  72.     String   STRING036
  73.     String   STRING037
  74.     String   STRING038
  75.     String   STRING039
  76.     String   STRING040
  77.     String   STRING041
  78.     String   STRING042
  79.  
  80. ;------------------------------------------------------------------------------
  81.  
  82.     Cls
  83.     TSTRING019(1) = "Art Gallery PPE v2.O                     "
  84.     TSTRING019(2) = "Copyright (C) 1994 Dark Creation [ACiDic]"
  85.     Color 3
  86.     If (Carrier() > 2400) Then
  87.         For INTEGER007 = 1 To 41
  88.             AnsiPos 1, 1
  89.             Print Right(TSTRING019(1), INTEGER007)
  90.             AnsiPos 1, 2
  91.             Print Right(TSTRING019(2), INTEGER007)
  92.         Next
  93.         AnsiPos 1, 1
  94.         Print "@X0BA"
  95.         AnsiPos 1, 2
  96.         Print "@X0BC"
  97.     Else
  98.         AnsiPos 1, 1
  99.         Print TSTRING019(1)
  100.         AnsiPos 1, 2
  101.         Print TSTRING019(2)
  102.         AnsiPos 1, 1
  103.         Print "@X0BA"
  104.         AnsiPos 1, 2
  105.         Print "@X0BC"
  106.     Endif
  107.     Color 7
  108.     SPrintLn ""
  109.     SPrintLn ""
  110.     SPrintLn "SYSOP: To add ANSi locally, press Alt+A in the menu"
  111.     Newline
  112.     Newline
  113.     Wait
  114.     FOpen 1, PPEPath() + "ART.CFG", 0, 0
  115.     FGet 1, STRING020
  116.     FGet 1, STRING009
  117.     FGet 1, STRING010
  118.     FGet 1, INTEGER015
  119.     FGet 1, STRING006
  120.     FGet 1, STRING007
  121.     FGet 1, STRING008
  122.     FGet 1, INTEGER005
  123.     FGet 1, INTEGER011
  124.     FGet 1, INTEGER012
  125.     FGet 1, INTEGER013
  126.     FGet 1, INTEGER014
  127.     FGet 1, STRING011
  128.     FGet 1, STRING012
  129.     FGet 1, STRING013
  130.     FGet 1, STRING014
  131.     FGet 1, STRING015
  132.     FGet 1, STRING016
  133.     FGet 1, INTEGER002
  134.     FGet 1, INTEGER003
  135.     FGet 1, INTEGER004
  136.     FGet 1, STRING017
  137.     FGet 1, STRING025
  138.     FGet 1, STRING026
  139.     FGet 1, STRING029
  140.     FGet 1, STRING028
  141.     FGet 1, STRING027
  142.     FGet 1, STRING030
  143.     FGet 1, INTEGER001
  144.     FGet 1, STRING031
  145.     FGet 1, TSTRING032(1)
  146.     FGet 1, TSTRING032(2)
  147.     FGet 1, STRING034
  148.     FGet 1, STRING035
  149.     FClose 1
  150.     :LABEL001
  151.     Cls
  152.     FOpen 2, PPEPath() + "ART.DAT", 0, 0
  153.     :LABEL002
  154.     If (BOOLEAN001) Goto LABEL003
  155.     INTEGER009 = INTEGER009 + 1
  156.     FGet 2, TSTRING001(INTEGER009)
  157.     FGet 2, TSTRING002(INTEGER009)
  158.     FGet 2, TSTRING003(INTEGER009)
  159.     FGet 2, TSTRING004(INTEGER009)
  160.     FGet 2, TSTRING005(INTEGER009)
  161.     If (TSTRING001(INTEGER009) == "") Then
  162.         BOOLEAN001 = 1
  163.         INTEGER009 = INTEGER009 - 1
  164.         For INTEGER007 = 1 To 9
  165.             TSTRING002(INTEGER007 + INTEGER009) = Space(INTEGER002)
  166.             TSTRING003(INTEGER007 + INTEGER009) = Space(INTEGER003)
  167.             TSTRING004(INTEGER007 + INTEGER009) = Space(INTEGER004)
  168.         Next
  169.     Endif
  170.     Goto LABEL002
  171.     :LABEL003
  172.     BOOLEAN001 = 0
  173.     FClose 2
  174.     INTEGER010 = INTEGER011
  175.     INTEGER008 = 9
  176.     :LABEL004
  177.     DispFile PPEPath() + "ART.PCB", 1
  178.     AnsiPos INTEGER015, INTEGER010
  179.     Print STRING009, STRING010
  180.     AnsiPos Left(STRING011, 2), Right(STRING011, 2)
  181.     Select Case (BOOLEAN002)
  182.         Case 0
  183.             Print STRING012, "OFF"
  184.         Case 1
  185.             Print STRING012, "ON "
  186.     End Select
  187.     :LABEL005
  188.     For INTEGER007 = 1 To INTEGER005
  189.         AnsiPos INTEGER012, INTEGER011 + INTEGER007 - 1
  190.         Print STRING006, TSTRING002(INTEGER007 + INTEGER008 - 9)
  191.         AnsiPos INTEGER013, INTEGER011 + INTEGER007 - 1
  192.         Print STRING007, TSTRING003(INTEGER007 + INTEGER008 - 9)
  193.         AnsiPos INTEGER014, INTEGER011 + INTEGER007 - 1
  194.         Print STRING008, TSTRING004(INTEGER007 + INTEGER008 - 9), " "
  195.     Next
  196.     AnsiPos INTEGER015, INTEGER010
  197.     :LABEL006
  198.     If (BOOLEAN001) Goto LABEL007
  199.     STRING018 = Upper(Inkey())
  200.     STRING042 = Upper(KInkey())
  201.     If (STRING042 == "ALT A") Then
  202.         Gosub LABEL020
  203.     Endif
  204.     Select Case (STRING018)
  205.         Case "UP", "A"
  206.             Gosub LABEL007
  207.         Case "DOWN", "Z"
  208.             Gosub LABEL008
  209.         Case "F"
  210.             Gosub LABEL014
  211.         Case "U"
  212.             Gosub LABEL015
  213.         Case Chr(13)
  214.             Gosub LABEL009
  215.         Case "N"
  216.             Goto LABEL013
  217.         Case "E", Chr(27)
  218.             Goto LABEL021
  219.         Case "H"
  220.             Gosub LABEL011
  221.         Case "M"
  222.             Gosub LABEL012
  223.     End Select
  224.     Goto LABEL006
  225.     :LABEL007
  226.     INTEGER010 = INTEGER010 - 1
  227.     If (INTEGER010 < INTEGER011) Then
  228.         INTEGER010 = INTEGER011
  229.     Endif
  230.     AnsiPos INTEGER015, INTEGER010 + 1
  231.     Print "@X07 "
  232.     AnsiPos INTEGER015, INTEGER010
  233.     Print STRING009, STRING010
  234.     AnsiPos INTEGER015, INTEGER010
  235.     Return
  236.     :LABEL008
  237.     INTEGER010 = INTEGER010 + 1
  238.     If (INTEGER010 > INTEGER011 + INTEGER005 - 1) Then
  239.         INTEGER010 = INTEGER011 + INTEGER005 - 1
  240.     Endif
  241.     AnsiPos INTEGER015, INTEGER010 - 1
  242.     Print "@X07 "
  243.     AnsiPos INTEGER015, INTEGER010
  244.     Print STRING009, STRING010
  245.     AnsiPos INTEGER015, INTEGER010
  246.     Return
  247.     :LABEL009
  248.     INTEGER006 = INTEGER010 - INTEGER011 + INTEGER008 - 9 + 1
  249.     If (Exist(PPEPath() + "ART\" + TSTRING001(INTEGER006))) Goto LABEL010
  250.     Return
  251.     :LABEL010
  252.     Cls
  253.     If (BOOLEAN002 == 0) Then
  254.         Print "@POFF@"
  255.     Else
  256.         Print "@PON@"
  257.     Endif
  258.     DispFile PPEPath() + "ART\" + TSTRING001(INTEGER006), 1
  259.     Newline
  260.     Newline
  261.     PrintLn TSTRING032(1), "Filename:     ", TSTRING032(2), TSTRING001(INTEGER006)
  262.     PrintLn TSTRING032(1), "Artist:       ", TSTRING032(2), TSTRING002(INTEGER006)
  263.     PrintLn TSTRING032(1), "Group:        ", TSTRING032(2), TSTRING003(INTEGER006)
  264.     PrintLn TSTRING032(1), "Description:  ", TSTRING032(2), TSTRING004(INTEGER006)
  265.     PrintLn TSTRING032(1), "Uploaded by:  ", TSTRING032(2), TSTRING005(INTEGER006)
  266.     TSTRING001(INTEGER006) = Strip(TSTRING001(INTEGER006), " ")
  267.     Copy PPEPath() + "ART\" + TSTRING001(INTEGER006), PPEPath() + "ART\TEMP.!!!"
  268.     PrintLn TSTRING032(1), "File size:    ", TSTRING032(2), FileInf(PPEPath() + "ART\TEMP.!!!", 4)
  269.     Delete PPEPath() + "ART\TEMP.!!!"
  270.     Wait
  271.     Goto LABEL004
  272.     :LABEL011
  273.     Cls
  274.     DispFile PPEPath() + "HELP.PCB", 1
  275.     Wait
  276.     Goto LABEL004
  277.     :LABEL012
  278.     AnsiPos Left(STRING011, 2), Right(STRING011, 2)
  279.     Select Case (BOOLEAN002)
  280.         Case 1
  281.             Print STRING012, "OFF"
  282.             BOOLEAN002 = 0
  283.         Case 0
  284.             Print STRING012, "ON "
  285.             BOOLEAN002 = 1
  286.     End Select
  287.     AnsiPos INTEGER015, INTEGER010
  288.     Return
  289.     :LABEL013
  290.     INTEGER008 = INTEGER008 + 9
  291.     If (INTEGER008 > INTEGER009 + 8) Then
  292.         INTEGER008 = 9
  293.     Endif
  294.     AnsiPos INTEGER015, INTEGER010
  295.     Print "@X07 "
  296.     INTEGER010 = INTEGER011
  297.     AnsiPos INTEGER015, INTEGER010
  298.     Print STRING009, STRING010
  299.     Goto LABEL005
  300.     :LABEL014
  301.     INTEGER006 = INTEGER010 - INTEGER011 + INTEGER008 - 9 + 1
  302.     If (Exist(PPEPath() + "ART\" + TSTRING001(INTEGER006))) Then
  303.         Flag PPEPath() + "ART\" + TSTRING001(INTEGER006)
  304.         AnsiPos INTEGER015, INTEGER010
  305.         Print STRING020, STRING010
  306.         Delay 9
  307.         AnsiPos INTEGER015, INTEGER010
  308.         Print STRING009, STRING010
  309.     Endif
  310.     Return
  311.     :LABEL015
  312.     Cls
  313.     Newline
  314.     If (CurSec() < INTEGER001) Then
  315.         Print STRING031
  316.         Newline
  317.         Newline
  318.         Wait
  319.         Goto LABEL004
  320.     Endif
  321.     InputStr STRING013 + "_", STRING021, 7, 12, Mask_File(), 2 + 8
  322.     FreshLine
  323.     For INTEGER007 = 1 To INTEGER009
  324.         If (Upper(STRING021) == TSTRING001(INTEGER007)) Then
  325.             Beep
  326.             Newline
  327.             PrintLn STRING025
  328.             PrintLn STRING026, " ", TSTRING004(INTEGER007)
  329.             Newline
  330.             Wait
  331.             Goto LABEL004
  332.         Endif
  333.     Next
  334.     InputStr STRING014 + "_", STRING022, 7, INTEGER002, Mask_Ascii(), 2
  335.     Newline
  336.     InputStr STRING015 + "_", STRING023, 7, INTEGER003, Mask_Ascii(), 2
  337.     Newline
  338.     InputStr STRING016 + "_", STRING024, 7, INTEGER004, Mask_Ascii(), 2
  339.     If ((((STRING021 == "") || (STRING022 == "")) || (STRING023 == "")) || (STRING024 == "")) Then
  340.         Newline
  341.         PrintLn STRING028
  342.         Newline
  343.         Newline
  344.         Wait
  345.     Else
  346.         Cls
  347.         PrintLn STRING029, STRING021
  348.         Shell 1, INTEGER007, PPEPath() + "DSZ", "port " + Mid(ReadLine(PCBDat(), 52), 4, 1) + " rz " + STRING030
  349.         If (Exist(STRING030 + STRING021)) Goto LABEL016
  350.         Print STRING028
  351.         Newline
  352.         Newline
  353.         Wait
  354.         Goto LABEL019
  355.         :LABEL016
  356.         Copy STRING030 + STRING021, PPEPath() + "ART\" + STRING021
  357.         Delete STRING030 + STRING021
  358.         FAppend 5, PPEPath() + "ART\" + STRING021, 2, 0
  359.         FPutLn 5, "Downloaded from: Art Gallery PPE v2.O [Dark Creation ∙ ACiDic]"
  360.         Frewind 5
  361.         BOOLEAN001 = 0
  362.         :LABEL017
  363.         If (BOOLEAN001) Goto LABEL018
  364.         FGet 5, STRING033
  365.         Select Case (Left(STRING033, 1))
  366.             Case "%"
  367.                 INTEGER016 = 1
  368.                 BOOLEAN001 = 1
  369.             Case "!"
  370.                 INTEGER016 = 1
  371.                 BOOLEAN001 = 1
  372.             Case "Downloaded from: Art Gallery"
  373.                 INTEGER016 = 0
  374.                 BOOLEAN001 = 1
  375.         End Select
  376.         Goto LABEL017
  377.         :LABEL018
  378.         FClose 5
  379.         Select Case (INTEGER016)
  380.             Case 0
  381.                 Print STRING027
  382.             Case 1
  383.                 Print STRING034
  384.                 FOpen 4, PPEPath() + "HMSG", 2, 0
  385.                 FPutLn 4, "Art Gallery v2.O has found a user who is possibly trying to hack your system."
  386.                 FPutLn 4, ""
  387.                 FPutLn 4, "At ", Time(), " on ", Date(), " ", U_Name(), " uploaded an Ansi"
  388.                 FPutLn 4, "with the following line to the Art Gallery:"
  389.                 FPutLn 4, ""
  390.                 FPutLn 4, STRING033
  391.                 FPutLn 4, ""
  392.                 FPutLn 4, "The filename of this Ansi is " + PPEPath() + "ART\" + STRING021
  393.                 FClose 4
  394.                 Message 1, STRING035, "Art Gallery v2.O", "Possible Hacker", "R", 0, 0, 0, PPEPath() + "HMSG"
  395.                 Delete PPEPath() + "HMSG"
  396.                 End
  397.         End Select
  398.         Newline
  399.         Newline
  400.         Wait
  401.         FAppend 1, PPEPath() + "ART.DAT", 2, 0
  402.         FPutLn 1, Upper(STRING021)
  403.         FPutLn 1, STRING022 + Space(INTEGER002 - Len(STRING022))
  404.         FPutLn 1, STRING023 + Space(INTEGER003 - Len(STRING023))
  405.         FPutLn 1, STRING024 + Space(INTEGER004 - Len(STRING024))
  406.         FPutLn 1, U_Name()
  407.         FClose 1
  408.     Endif
  409.     :LABEL019
  410.     INTEGER009 = 0
  411.     Goto LABEL001
  412.     :LABEL020
  413.     Cls
  414.     Newline
  415.     PrintLn "@X0FLocally uploading ANSi to the Art Gallery"
  416.     PrintLn "@X07[Art Gallery PPE v2.O - Dark Creation ∙ ACiDic]"
  417.     PrintLn ""
  418.     STRING040 = "Darky"
  419.     InputStr "@X0FPATH @X07of local file:_", STRING041, 7, 60, Mask_File(), 2 + 8
  420.     Newline
  421.     InputStr "@X0FNAME @X07of local file:_", STRING036, 7, 12, Mask_Ascii(), 2
  422.     Newline
  423.     InputStr "@X0FARTIST @X07of this Ansi:_", STRING037, 7, INTEGER002, Mask_Ascii(), 2
  424.     Newline
  425.     InputStr "@X0FGROUP @X07this Artist is in:_", STRING038, 7, INTEGER003, Mask_Ascii(), 2
  426.     Newline
  427.     InputStr "@X0FDESCRIPTION @X07of Ansi:_", STRING039, 7, INTEGER004, Mask_Ascii(), 2
  428.     Newline
  429.     InputStr "@X0FUPLOADER @X07of this file:_", STRING040, 7, 30, Mask_Ascii(), 2
  430.     Newline
  431.     If ((((((STRING041 == "") || (STRING036 == "")) || (STRING037 == "")) || (STRING038 == "")) || (STRING039 == "")) || (STRING040 == "")) Then
  432.         Newline
  433.         PrintLn STRING028
  434.         Newline
  435.         Newline
  436.         Wait
  437.     Else
  438.         If (Right(STRING041, 1) <> "\") Then
  439.             STRING041 = STRING041 + "\"
  440.         Endif
  441.         Copy STRING041 + STRING036, PPEPath() + "ART\" + STRING036
  442.         FAppend 1, PPEPath() + "ART.DAT", 2, 0
  443.         FPutLn 1, Upper(STRING036)
  444.         FPutLn 1, STRING037 + Space(INTEGER002 - Len(STRING037))
  445.         FPutLn 1, STRING038 + Space(INTEGER003 - Len(STRING038))
  446.         FPutLn 1, STRING039 + Space(INTEGER004 - Len(STRING039))
  447.         FPutLn 1, Mixed(STRING040)
  448.         FClose 1
  449.         Newline
  450.         PrintLn "@X0F" + Upper(STRING041) + Upper(STRING036) + "@X07 successfully added."
  451.         Newline
  452.         Wait
  453.     Endif
  454.     INTEGER009 = 0
  455.     Goto LABEL001
  456.     :LABEL021
  457.     Cls
  458.     End
  459.  
  460. ;------------------------------------------------------------------------------
  461. ;
  462. ; Usage report (before postprocessing)
  463. ;
  464. ; ■ Statements used :
  465. ;
  466. ;    2       End
  467. ;    8       Cls
  468. ;    10      Wait
  469. ;    2       Color 
  470. ;    74      Goto 
  471. ;    44      Let 
  472. ;    30      Print 
  473. ;    15      PrintLn 
  474. ;    40      If 
  475. ;    3       DispFile 
  476. ;    3       FOpen 
  477. ;    3       FAppend 
  478. ;    6       FClose 
  479. ;    40      FGet 
  480. ;    19      FPutLn 
  481. ;    3       Delete 
  482. ;    10      InputStr 
  483. ;    8       Gosub 
  484. ;    5       Return
  485. ;    1       Delay 
  486. ;    30      Newline
  487. ;    1       Shell 
  488. ;    1       Beep
  489. ;    26      AnsiPos 
  490. ;    1       FreshLine
  491. ;    1       Message 
  492. ;    3       SPrintLn 
  493. ;    1       Frewind 
  494. ;    3       Copy 
  495. ;    1       Flag 
  496. ;
  497. ;
  498. ; ■ Functions used :
  499. ;
  500. ;    79      +
  501. ;    21      -
  502. ;    35      ==
  503. ;    1       <>
  504. ;    6       <
  505. ;    4       <=
  506. ;    3       >
  507. ;    8       >=
  508. ;    40      !
  509. ;    8       &&
  510. ;    15      ||
  511. ;    6       Len(
  512. ;    7       Upper()
  513. ;    1       Mid()
  514. ;    5       Left()
  515. ;    5       Right()
  516. ;    9       Space()
  517. ;    2       Chr()
  518. ;    1       Date()
  519. ;    1       Time()
  520. ;    2       U_Name()
  521. ;    1       Strip()
  522. ;    1       Inkey()
  523. ;    2       Mask_File()
  524. ;    8       Mask_Ascii()
  525. ;    1       PCBDat()
  526. ;    22      PPEPath()
  527. ;    1       ReadLine()
  528. ;    1       CurSec()
  529. ;    3       Exist()
  530. ;    1       Carrier()
  531. ;    1       FileInf()
  532. ;    1       KInkey()
  533. ;    1       Mixed()
  534. ;
  535. ;------------------------------------------------------------------------------
  536. ;
  537. ; Analysis flags : Sfd
  538. ;
  539. ; S - Shell to DOS ■ 5
  540. ;     This may be normal if the PPE need to execute an external command,
  541. ;     but may be actually anything... nasty (formating HD, rebooting,...)
  542. ;     or usefull (sorting, maintenance,...). Check!
  543. ;     ■ Search for : SHELL
  544. ;
  545. ; f - Flag files for download ■ 3
  546. ;     This may be normal if a PPE needs to send some files, but since
  547. ;     this statement allows flagging of any file on the hard disk, you
  548. ;     have to be carefull. Check!
  549. ;     ■ Search for : FLAG
  550. ;
  551. ; d - Access PCBOARD.DAT ■ 2
  552. ;     Program gets the full pathname to PCBOARD.DAT, this may be usefull
  553. ;     for many PPE so they can find various informations on the system
  554. ;     (system paths, max number of lines in messages, ...) but it may also
  555. ;     be a way to gather vital informations.
  556. ;     ■ Search for : PCBDAT()
  557. ;
  558. ;------------------------------------------------------------------------------
  559. ;
  560. ; Postprocessing report
  561. ;
  562. ;    4       For/Next
  563. ;    0       While/EndWhile
  564. ;    13      If/Then or If/Then/Else
  565. ;    5       Select Case
  566. ;
  567. ;------------------------------------------------------------------------------
  568. ;                 AEGiS Corp - Break the routines, code against the machines!
  569. ;------------------------------------------------------------------------------
  570.