home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1994 #1 / monster.zip / monster / PCBOARD / CSSC_210.ZIP / CSSC.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1994-01-25  |  17KB  |  728 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 2.OO (plain) - Analysis ON - Postprocessing ON
  17. ;------------------------------------------------------------------------------
  18.  
  19.     Integer  INTEGER002
  20.     Integer  INTEGER003
  21.     Integer  INTEGER004
  22.     Integer  INTEGER005
  23.     Integer  INTEGER006
  24.     Integer  INTEGER007
  25.     Integer  INTEGER008
  26.     Integer  INTEGER009
  27.     Integer  INTEGER010
  28.     String   STRING007
  29.     String   STRING008
  30.     String   STRING009
  31.     String   STRING010
  32.     String   STRING011
  33.     String   STRING012
  34.     String   STRING013
  35.     String   STRING014
  36.     String   STRING015
  37.     String   STRING016
  38.     String   STRING017
  39.     String   STRING018
  40.     String   STRING019
  41.     String   STRING020
  42.     String   STRING021
  43.     String   STRING022
  44.     String   STRING023
  45.     String   STRING024
  46.     String   TSTRING025(25)
  47.     String   TSTRING026(25)
  48.     String   STRING027
  49.     String   STRING028
  50.     String   STRING029
  51.     String   STRING030
  52.     String   TSTRING031(25)
  53.     String   STRING032
  54.     String   STRING033
  55.     String   STRING034
  56.     String   STRING035
  57.     String   STRING036
  58.     String   STRING037
  59.     String   STRING038
  60.     String   STRING039
  61.     String   STRING040
  62.     String   STRING041
  63.     String   STRING042
  64.     String   STRING043
  65.  
  66. ;------------------------------------------------------------------------------
  67.  
  68.     STRING007 = "Custom Encrypt-O-Matic PPE Compression v2.00"
  69.     INTEGER002 = MinLeft()
  70.     INTEGER003 = INTEGER002
  71.     STRING008 = Mixed(U_Name())
  72.     STRING013 = PPEPath() + "C" + "SS" + "C" + "." + "D" + "AT"
  73.     STRING014 = "System Operator"
  74.     STRING033 = "v"
  75.     STRING034 = "2"
  76.     STRING035 = "."
  77.     STRING036 = "1"
  78.     STRING037 = "0"
  79.     STRING032 = STRING033 + STRING034 + STRING035 + STRING036 + STRING037
  80.     STRING039 = "M" + "i"
  81.     STRING040 = "d" + "n" + "i" + "g"
  82.     STRING041 = "h" + "t S" + "l"
  83.     STRING042 = "a" + "s"
  84.     STRING043 = "h" + "e" + "r"
  85.     STRING038 = STRING039 + STRING040 + STRING041 + STRING042 + STRING043
  86.     STRING017 = "@" + "X" + "0" + "F"
  87.     STRING021 = "@" + "X" + "0" + "7"
  88.     If (Exist(STRING013)) Then
  89.         FOpen 1, STRING013, 0, 2
  90.         FGet 1, STRING014
  91.         FGet 1, INTEGER009
  92.         FGet 1, INTEGER010
  93.         FClose 1
  94.         If ((INTEGER009 >= 1) && (INTEGER009 <= 9)) Then
  95.             STRING017 = "@" + "X" + "0" + String(INTEGER009)
  96.             Goto LABEL001
  97.         Endif
  98.         If (INTEGER009 == 10) Then
  99.             STRING017 = "@" + "X" + "0" + "A"
  100.             Goto LABEL001
  101.         Endif
  102.         If (INTEGER009 == 11) Then
  103.             STRING017 = "@" + "X" + "0" + "B"
  104.             Goto LABEL001
  105.         Endif
  106.         If (INTEGER009 == 12) Then
  107.             STRING017 = "@" + "X" + "0" + "C"
  108.             Goto LABEL001
  109.         Endif
  110.         If (INTEGER009 == 13) Then
  111.             STRING017 = "@" + "X" + "0" + "D"
  112.             Goto LABEL001
  113.         Endif
  114.         If (INTEGER009 == 14) Then
  115.             STRING017 = "@" + "X" + "0" + "E"
  116.             Goto LABEL001
  117.         Endif
  118.         If (INTEGER009 == 15) Then
  119.             STRING017 = "@" + "X" + "0" + "F"
  120.             Goto LABEL001
  121.         Endif
  122.         STRING017 = "@" + "X" + "0" + "F"
  123.         :LABEL001
  124.         If ((INTEGER010 >= 1) && (INTEGER010 <= 9)) Then
  125.             STRING021 = "@" + "X" + "0" + String(INTEGER010)
  126.             Goto LABEL002
  127.         Endif
  128.         If (INTEGER010 == 10) Then
  129.             STRING021 = "@" + "X" + "0" + "A"
  130.             Goto LABEL002
  131.         Endif
  132.         If (INTEGER010 == 11) Then
  133.             STRING021 = "@" + "X" + "0" + "B"
  134.             Goto LABEL002
  135.         Endif
  136.         If (INTEGER010 == 12) Then
  137.             STRING021 = "@" + "X" + "0" + "C"
  138.             Goto LABEL002
  139.         Endif
  140.         If (INTEGER010 == 13) Then
  141.             STRING021 = "@" + "X" + "0" + "D"
  142.             Goto LABEL002
  143.         Endif
  144.         If (INTEGER010 == 14) Then
  145.             STRING021 = "@" + "X" + "0" + "E"
  146.             Goto LABEL002
  147.         Endif
  148.         If (INTEGER010 == 15) Then
  149.             STRING021 = "@" + "X" + "0" + "F"
  150.             Goto LABEL002
  151.         Endif
  152.         STRING021 = "@" + "X" + "0" + "7"
  153.     Endif
  154.     :LABEL002
  155.     STRING015 = Len(STRING014)
  156.     Log "C" + "S" + "S" + "C " + STRING032 + " " + "" + "[" + "O" + "p" + "e" + "n" + "e" + "d" + "]", 0
  157.     Cls
  158.     StartDisp 1
  159.     AnsiPos 1, 23
  160.     Print "@X08───────────────────────────────────────────────────────────────────────────────" + String(Len(U_Name()) + 9) + "D"
  161.     Print "@X08═ " + STRING021 + STRING008 + " @X08═───"
  162.     AnsiPos 1, 14
  163.     Print "@X08──────────────────────────────────────────────────────────────────────────────" + String(STRING015 + 8) + "D"
  164.     Print "@X08═ " + STRING017 + STRING014 + " @X08═───"
  165.     AnsiPos 1, 1
  166.     PrintLn "@X" + "08" + "[" + "@X" + "0" + "FM" + "S" + "@" + "X" + "08" + "] " + "┌ @" + "X" + "0FC" + "S" + "S" + "C " + STRING032 + "@X" + "08: @X" + "0FC" + "us" + "to" + "m S" + "p" + "l" + "it " + "S" + "cr" + "e" + "e" + "n C" + "ha" + "t P" + "PE @X07(" + "@X0Fc" + "@X07)@X0F19" + "9" + "4/" + STRING038 + " @" + "X" + "08" + "┐ [" + "@X" + "0FM" + "S@" + "X0" + "8" + "]"
  167.     PrintLn "■@" + "X0" + "7■" + "■@" + "X08■ └──»> " + "(" + "@" + "X07AL" + "T" + "@" + "X" + "08" + "-@X07" + "W@" + "X" + "08" + ")=" + "@X07C" + "le" + "a" + "r " + "W" + "indo" + "w " + "@" + "X0" + "8<" + "≡> (" + "@X" + "0" + "7E" + "SC" + "@X" + "08)=" + "@X" + "0" + "7" + "Ex" + "it @" + "X0" + "8<" + "≡" + "> (" + "@X07" + "ALT" + "@X0" + "8-" + "@X" + "07E" + "@X" + "08)=" + "@X" + "07U" + "se" + "r E" + "di" + "t @" + "X0" + "8<«─" + "─┘" + " ■" + "@X" + "07" + "■■@" + "X08" + "■"
  168.     PrintLn "───────────────" + "───────────────────────────────────" + "─────────────────────────────"
  169.     PrintLn "████████████████████████████████████████████████████████████████▌@X70 Chat Mode @X08▐██"
  170.     PrintLn "──────────────────────────────" + "──────────────────────────" + "───────────────────────"
  171.     STRING019 = 0
  172.     STRING020 = 6
  173.     STRING023 = 0
  174.     STRING024 = 15
  175.     :LABEL003
  176.     While (STRING018 <> Chr(27)) Do
  177.         STRING018 = ""
  178.         STRING022 = ""
  179.         STRING018 = KInkey()
  180.         STRING022 = MInkey()
  181.         If (STRING018 <> "") Gosub LABEL004
  182.         If (STRING022 <> "") Gosub LABEL011
  183.     EndWhile
  184.     Goto LABEL026
  185.     :LABEL004
  186.     If ((STRING020 == 13) && (STRING019 == 79)) Then
  187.         If (STRING018 == Chr(13)) Goto LABEL010
  188.         STRING027 = ScrText(79, 13, 1, 0)
  189.         If (Left(STRING027, 1) == " ") Then
  190.             Gosub LABEL020
  191.             Goto LABEL007
  192.         Endif
  193.         For INTEGER006 = 1 To 79
  194.             INTEGER007 = 80 - INTEGER006
  195.             STRING027 = ScrText(INTEGER007, 13, INTEGER006, 0)
  196.             If (Left(STRING027, 1) == " ") Goto LABEL005
  197.         Next
  198.         Goto LABEL006
  199.         :LABEL005
  200.         AnsiPos INTEGER007, 13
  201.         Print Space(INTEGER006)
  202.         Gosub LABEL020
  203.         STRING028 = STRING027
  204.         Print STRING017 + LTrim(STRING028, " ")
  205.         STRING019 = INTEGER006 - 1
  206.         ClrEol
  207.         Goto LABEL007
  208.         :LABEL006
  209.         Gosub LABEL020
  210.     Endif
  211.     :LABEL007
  212.     If (STRING019 == 79) Then
  213.         If (STRING018 == Chr(13)) Goto LABEL010
  214.         STRING027 = ScrText(79, GetY(), 1, 0)
  215.         If (Left(STRING027, 1) == " ") Then
  216.             STRING019 = 0
  217.             STRING020 = STRING020 + 1
  218.             Goto LABEL010
  219.         Endif
  220.         For INTEGER006 = 1 To 79
  221.             INTEGER007 = 80 - INTEGER006
  222.             STRING027 = ScrText(INTEGER007, GetY(), INTEGER006, 0)
  223.             If (Left(STRING027, 1) == " ") Goto LABEL008
  224.         Next
  225.         Goto LABEL009
  226.         :LABEL008
  227.         AnsiPos INTEGER007, GetY()
  228.         Print Space(INTEGER007)
  229.         STRING019 = 0
  230.         STRING020 = STRING020 + 1
  231.         STRING028 = STRING027
  232.         AnsiPos 1, STRING020
  233.         Print LTrim(STRING028, " ")
  234.         STRING019 = INTEGER006 - 1
  235.         Goto LABEL010
  236.         :LABEL009
  237.         STRING019 = 0
  238.         STRING020 = STRING020 + 1
  239.     Endif
  240.     :LABEL010
  241.     Select Case (STRING018)
  242.         Case Chr(13)
  243.             If (STRING020 >= 13) Then
  244.                 Gosub LABEL020
  245.             ElseIf (STRING019 == 80) Then
  246.                 STRING020 = STRING020 + 1
  247.                 STRING019 = 0
  248.                 AnsiPos STRING019, STRING020
  249.             Else
  250.                 STRING020 = STRING020 + 1
  251.                 STRING019 = 0
  252.                 AnsiPos STRING019, STRING020
  253.             Endif
  254.         Case Chr(8), Chr(127)
  255.             If (STRING019 <> 0) Then
  256.                 STRING019 = STRING019 + 1
  257.                 AnsiPos STRING019, STRING020
  258.                 Print Chr(8) + " " + Chr(8)
  259.                 STRING019 = STRING019 - 2
  260.             Endif
  261.         Case "AL" + "T Q"
  262.             Gosub LABEL025
  263.         Case "AL" + "T E"
  264.             Goto LABEL021
  265.         Case "AL" + "T W"
  266.             For INTEGER006 = 6 To 13
  267.                 AnsiPos 1, INTEGER006
  268.                 ClrEol
  269.             Next
  270.             STRING019 = 0
  271.             STRING020 = 6
  272.             AnsiPos 1, 6
  273.         Case Else
  274.             STRING019 = STRING019 + 1
  275.             AnsiPos STRING019, STRING020
  276.             Print STRING017 + STRING018
  277.     End Select
  278.     Return
  279.     :LABEL011
  280.     If ((STRING024 == 22) && (STRING023 == 79)) Then
  281.         If (STRING022 == Chr(13)) Goto LABEL017
  282.         STRING029 = ScrText(79, 22, 1, 0)
  283.         If (Left(STRING029, 1) == " ") Then
  284.             Gosub LABEL019
  285.             Goto LABEL014
  286.         Endif
  287.         For INTEGER006 = 1 To 79
  288.             INTEGER007 = 80 - INTEGER006
  289.             STRING029 = ScrText(INTEGER007, 22, INTEGER006, 0)
  290.             If (Left(STRING029, 1) == " ") Goto LABEL012
  291.         Next
  292.         Goto LABEL013
  293.         :LABEL012
  294.         AnsiPos INTEGER007, 22
  295.         Print Space(INTEGER006)
  296.         Gosub LABEL019
  297.         STRING030 = STRING029
  298.         Print STRING021 + LTrim(STRING030, " ")
  299.         STRING023 = INTEGER006 - 1
  300.         ClrEol
  301.         Goto LABEL014
  302.         :LABEL013
  303.         Gosub LABEL019
  304.     Endif
  305.     :LABEL014
  306.     If (STRING023 == 79) Then
  307.         If (STRING022 == Chr(13)) Goto LABEL017
  308.         STRING029 = ScrText(79, GetY(), 1, 0)
  309.         If (Left(STRING029, 1) == " ") Then
  310.             STRING023 = 0
  311.             STRING024 = STRING024 + 1
  312.             Goto LABEL017
  313.         Endif
  314.         For INTEGER006 = 1 To 79
  315.             INTEGER007 = 80 - INTEGER006
  316.             STRING029 = ScrText(INTEGER007, GetY(), INTEGER006, 0)
  317.             If (Left(STRING029, 1) == " ") Goto LABEL015
  318.         Next
  319.         Goto LABEL016
  320.         :LABEL015
  321.         AnsiPos INTEGER007, GetY()
  322.         Print Space(INTEGER007)
  323.         STRING023 = 0
  324.         STRING024 = STRING024 + 1
  325.         STRING030 = STRING029
  326.         AnsiPos 1, STRING024
  327.         Print LTrim(STRING030, " ")
  328.         STRING023 = INTEGER006 - 1
  329.         Goto LABEL017
  330.         :LABEL016
  331.         STRING023 = 0
  332.         STRING024 = STRING024 + 1
  333.     Endif
  334.     :LABEL017
  335.     Select Case (STRING022)
  336.         Case Chr(13)
  337.             If (STRING024 >= 22) Then
  338.                 Gosub LABEL019
  339.             ElseIf (STRING023 == 80) Then
  340.                 STRING024 = STRING024 + 1
  341.                 STRING023 = 0
  342.                 AnsiPos STRING023, STRING024
  343.             Else
  344.                 STRING024 = STRING024 + 1
  345.                 STRING023 = 0
  346.                 AnsiPos STRING023, STRING024
  347.             Endif
  348.         Case Chr(8), Chr(127)
  349.             If (STRING023 <> 0) Then
  350.                 STRING023 = STRING023 + 1
  351.                 AnsiPos STRING023, STRING024
  352.                 Print Chr(8) + " " + Chr(8)
  353.                 STRING023 = STRING023 - 2
  354.             Endif
  355.         Case "AL" + "T E"
  356.             AnsiPos 1, 4
  357.             Print "@X08██▌@X70 Sorry, the User Editor is for the SysOp Only! @X08▐█████████████▌@X70 Edit Mode @X08▐██D"
  358.             Delay 25
  359.             AnsiPos 1, 4
  360.             Print "@X08████████████████████████████████████████████████████████████████▌@X70 Chat Mode @X08▐██D"
  361.         Case "AL" + "T Q"
  362.             Gosub LABEL025
  363.         Case "AL" + "T W"
  364.             For INTEGER006 = 15 To 22
  365.                 AnsiPos 1, INTEGER006
  366.                 ClrEol
  367.             Next
  368.             STRING023 = 0
  369.             STRING024 = 15
  370.             AnsiPos 1, 15
  371.         Case Chr(27)
  372.             Goto LABEL026
  373.         Case Else
  374.             If (Left(STRING022, 1) == "") Then
  375.                 Goto LABEL018
  376.             Endif
  377.             STRING023 = STRING023 + 1
  378.             AnsiPos STRING023, STRING024
  379.             Print STRING021 + STRING022
  380.     End Select
  381.     :LABEL018
  382.     Return
  383.     :LABEL019
  384.     TSTRING026(15) = ScrText(1, 21, 80, 0)
  385.     If (TSTRING026(15) == Space(80)) Then
  386.         TSTRING026(15) = ScrText(1, 22, 80, 1)
  387.         AnsiPos 1, 15
  388.         PrintLn TSTRING026(15)
  389.         For INTEGER008 = 16 To 22
  390.             AnsiPos 1, INTEGER008
  391.             ClrEol
  392.         Next
  393.         STRING023 = 0
  394.         STRING024 = 16
  395.         AnsiPos 1, 16
  396.     Else
  397.         TSTRING026(15) = ScrText(1, 21, 80, 1)
  398.         TSTRING026(16) = ScrText(1, 22, 80, 1)
  399.         For INTEGER008 = 15 To 16
  400.             AnsiPos 1, INTEGER008
  401.             PrintLn TSTRING026(INTEGER008)
  402.         Next
  403.         For INTEGER008 = 17 To 22
  404.             AnsiPos 1, INTEGER008
  405.             ClrEol
  406.         Next
  407.         STRING023 = 0
  408.         STRING024 = 17
  409.         AnsiPos 1, 17
  410.     Endif
  411.     Return
  412.     :LABEL020
  413.     TSTRING025(6) = ScrText(1, 12, 80, 0)
  414.     If (TSTRING025(6) == Space(80)) Then
  415.         TSTRING025(6) = ScrText(1, 13, 80, 1)
  416.         AnsiPos 1, 6
  417.         PrintLn TSTRING025(6)
  418.         For INTEGER008 = 7 To 13
  419.             AnsiPos 1, INTEGER008
  420.             ClrEol
  421.         Next
  422.         STRING019 = 0
  423.         STRING020 = 7
  424.         AnsiPos 1, 7
  425.     Else
  426.         TSTRING025(6) = ScrText(1, 12, 80, 1)
  427.         TSTRING025(7) = ScrText(1, 13, 80, 1)
  428.         For INTEGER008 = 6 To 7
  429.             AnsiPos 1, INTEGER008
  430.             PrintLn TSTRING025(INTEGER008)
  431.         Next
  432.         For INTEGER008 = 8 To 13
  433.             AnsiPos 1, INTEGER008
  434.             ClrEol
  435.         Next
  436.         STRING019 = 0
  437.         STRING020 = 8
  438.         AnsiPos 1, 8
  439.     Endif
  440.     Return
  441.     :LABEL021
  442.     GetUser
  443.     AnsiPos 1, 4
  444.     Print "@X08██▌@X70 Please Wait, the SysOp is in the User Editor. @X08▐█████████████▌@X70 Edit Mode @X08▐██D"
  445.     TSTRING031(6) = ScrText(1, 6, 80, 1)
  446.     TSTRING031(7) = ScrText(1, 7, 80, 1)
  447.     TSTRING031(8) = ScrText(1, 8, 80, 1)
  448.     TSTRING031(9) = ScrText(1, 9, 80, 1)
  449.     TSTRING031(10) = ScrText(1, 10, 80, 1)
  450.     TSTRING031(11) = ScrText(1, 11, 80, 1)
  451.     TSTRING031(12) = ScrText(1, 12, 80, 1)
  452.     TSTRING031(13) = ScrText(1, 13, 80, 1)
  453.     SPrint "H"
  454.     SPrintLn "┌─────────────────────────────────────────────────────────────────────────────"
  455.     SPrintLn "│ [ACMNT 1:                                │ [GSecurity Level           │"
  456.     SPrintLn "│ [BCMNT 2:                                │ ────────────────────────────── │"
  457.     SPrintLn "│ [CUser City:                             │ [HDL Today                 │"
  458.     SPrintLn "│ [DHome Phone:                            │ ────────────────────────────── │"
  459.     SPrintLn "│ [EData Phone:                            │ UL:                            "
  460.     SPrintLn "│ [FUser Password:                         │ DL:                            "
  461.     SPrint "─────────────────────────────────────────────────────────────────────────────┘"
  462.     SPrint "5H" + U_Cmnt1
  463.     SPrint "5H" + U_Cmnt2
  464.     SPrint "8H" + U_City
  465.     SPrint "19H" + U_HVPhone
  466.     SPrint "19H" + U_BDPhone
  467.     SPrint "22H" + U_Pwd
  468.     SPrint "8H" + String(U_Sec)
  469.     SPrint "2H" + String(U_BdlDay())
  470.     SPrint "52H" + String(U_Ful()) + " / " + String(U_Bul()) + " Bytes"
  471.     SPrint "52H" + String(U_Fdl()) + " / " + String(U_Bdl()) + " Bytes"
  472.     SPrint "H"
  473.     STRING016 = ""
  474.     While (STRING016 <> Chr(27)) Do
  475.         STRING016 = ""
  476.         STRING016 = KInkey()
  477.         If (STRING016 <> "") Gosub LABEL022
  478.     EndWhile
  479.     Goto LABEL023
  480.     :LABEL022
  481.     STRING009 = ""
  482.     STRING010 = ""
  483.     Select Case (Upper(STRING016))
  484.         Case "A"
  485.             SPrint "5H" + Space(30) + "D"
  486.             INTEGER005 = 30
  487.             Gosub LABEL024
  488.             If (STRING010 <> "") Then
  489.                 U_Cmnt1 = Upper(STRING010)
  490.                 PutUser
  491.             Endif
  492.             SPrint "5H" + Left(U_Cmnt1, 30)
  493.             SPrint "H"
  494.         Case "B"
  495.             SPrint "5H" + Space(30) + "D"
  496.             INTEGER005 = 30
  497.             Gosub LABEL024
  498.             If (STRING010 <> "") Then
  499.                 U_Cmnt2 = Upper(STRING010)
  500.                 PutUser
  501.             Endif
  502.             SPrint "5H" + Left(U_Cmnt2, 30)
  503.             SPrint "H"
  504.         Case "C"
  505.             SPrint "8H" + Space(24) + "D"
  506.             INTEGER005 = 24
  507.             Gosub LABEL024
  508.             If (STRING010 <> "") Then
  509.                 U_City = Upper(STRING010)
  510.                 PutUser
  511.             Endif
  512.             SPrint "8H" + Left(U_City, 24)
  513.             SPrint "H"
  514.         Case "D"
  515.             SPrint "19H" + Space(13) + "D"
  516.             INTEGER005 = 13
  517.             Gosub LABEL024
  518.             If (STRING010 <> "") Then
  519.                 U_HVPhone = Upper(STRING010)
  520.                 PutUser
  521.             Endif
  522.             SPrint "19H" + Left(U_HVPhone, 13)
  523.             SPrint "H"
  524.         Case "E"
  525.             SPrint "19H" + Space(13) + "D"
  526.             INTEGER005 = 13
  527.             Gosub LABEL024
  528.             If (STRING010 <> "") Then
  529.                 U_BDPhone = Upper(STRING010)
  530.                 PutUser
  531.             Endif
  532.             SPrint "19H" + Left(U_BDPhone, 13)
  533.             SPrint "H"
  534.         Case "F"
  535.             SPrint "22H" + Space(12) + "D"
  536.             INTEGER005 = 12
  537.             Gosub LABEL024
  538.             If (STRING010 <> "") Then
  539.                 U_Pwd = Upper(STRING010)
  540.                 PutUser
  541.             Endif
  542.             SPrint "22H" + Left(U_Pwd, 12)
  543.             SPrint "H"
  544.         Case "G"
  545.             SPrint "8H" + Space(3) + "D"
  546.             INTEGER005 = 3
  547.             Gosub LABEL024
  548.             If (STRING010 <> "") Then
  549.                 U_Sec = Upper(STRING010)
  550.                 PutUser
  551.             Endif
  552.             SPrint "8H" + Left(String(U_Sec), 3)
  553.             SPrint "H"
  554.         Case "H"
  555.             SPrint "2H" + Space(10) + "D"
  556.             INTEGER005 = 10
  557.             STRING011 = U_BdlDay()
  558.             STRING012 = STRING011
  559.             Gosub LABEL024
  560.             If (STRING010 <> "") Then
  561.                 AdjBytes Upper(STRING010) - STRING012
  562.                 PutUser
  563.             Endif
  564.             SPrint "2H" + Left(String(U_BdlDay()), 10)
  565.             SPrint "H"
  566.     End Select
  567.     Return
  568.     :LABEL023
  569.     For INTEGER008 = 6 To 13
  570.         AnsiPos 1, INTEGER008
  571.         PrintLn TSTRING031(INTEGER008)
  572.     Next
  573.     AnsiPos 1, 4
  574.     Print "@X08████████████████████████████████████████████████████████████████▌@X70 Ch" + "at M" + "ode @X08▐██D"
  575.     Goto LABEL003
  576.     :LABEL024
  577.     While (STRING009 <> Chr(13)) Do
  578.         STRING009 = KInkey()
  579.         If ((Upper(STRING009) == Chr(8)) || (Upper(STRING009) == Chr(127))) Then
  580.             If (Len(STRING010) <> 0) Then
  581.                 SPrint Chr(8) + " " + Chr(8)
  582.                 STRING010 = Left(STRING010, Len(STRING010) - 1)
  583.             Endif
  584.             Continue
  585.         Endif
  586.         If (((STRING009 == Chr(13)) || (Left(STRING009, 3) == "ALT")) || (Left(STRING009, 1) == "")) Then
  587.             Continue
  588.         Endif
  589.         If (Len(STRING010) < INTEGER005) Then
  590.             SPrint STRING009
  591.             STRING010 = STRING010 + STRING009
  592.         Endif
  593.     EndWhile
  594.     Return
  595.     :LABEL025
  596.     AnsiPos 1, 23
  597.     Print "@X08───────────────────────────────────────────────────────────────────────────────" + String(Len(U_Name()) + 9) + "D"
  598.     Print "@X08═ " + STRING021 + STRING008 + " @X08═───"
  599.     AnsiPos 1, 14
  600.     Print "@X08──────────────────────────────────────────────────────────────────────────────" + String(STRING015 + 8) + "D"
  601.     Print "@X08═ " + STRING017 + STRING014 + " @X08═───"
  602.     AnsiPos 1, 1
  603.     PrintLn "@X" + "08" + "[" + "@X" + "0" + "FM" + "S" + "@" + "X" + "08" + "] " + "┌ @" + "X" + "0FC" + "S" + "S" + "C " + STRING032 + "@X" + "08: @X" + "0FC" + "us" + "to" + "m S" + "p" + "l" + "it " + "S" + "cr" + "e" + "e" + "n C" + "ha" + "t P" + "PE @X07(" + "@X0Fc" + "@X07)@X0F19" + "9" + "4/" + STRING038 + " @" + "X" + "08" + "┐ [" + "@X" + "0FM" + "S@" + "X0" + "8" + "]"
  604.     PrintLn "■@" + "X0" + "7■" + "■@" + "X08■ └──»> " + "(" + "@" + "X07AL" + "T" + "@" + "X" + "08" + "-@X07" + "W@" + "X" + "08" + ")=" + "@X07C" + "le" + "a" + "r " + "W" + "indo" + "w " + "@" + "X0" + "8<" + "≡> (" + "@X" + "0" + "7E" + "SC" + "@X" + "08)=" + "@X" + "0" + "7" + "Ex" + "it @" + "X0" + "8<" + "≡" + "> (" + "@X07" + "ALT" + "@X0" + "8-" + "@X" + "07E" + "@X" + "08)=" + "@X" + "07U" + "se" + "r E" + "di" + "t @" + "X0" + "8<«─" + "─┘" + " ■" + "@X" + "07" + "■■@" + "X08" + "■"
  605.     PrintLn "───────────────────────────────────────────────────────────────────────────────"
  606.     PrintLn "████████████████████████████████████████████████████████████████▌@X70 C" + "h" + "at M" + "ode @X08▐██"
  607.     PrintLn "───────────────────────────────────────────────────────────────────────────────"
  608.     AnsiPos 79, 4
  609.     Return
  610.     :LABEL026
  611.     Log "C" + "S" + "S" + "C " + STRING032 + " " + "" + "[" + "C" + "l" + "os" + "e" + "d" + "]", 0
  612.     INTEGER004 = MinLeft()
  613.     If (INTEGER003 > INTEGER004) Then
  614.         AdjTime INTEGER003 - INTEGER004
  615.     Endif
  616.     DefColor
  617.     Cls
  618.     Cls
  619.     DefColor
  620.     StartDisp 2
  621.     KbdStuff Chr(27)
  622.     End
  623.  
  624. ;------------------------------------------------------------------------------
  625. ;
  626. ; Usage report (before postprocessing)
  627. ;
  628. ; ■ Statements used :
  629. ;
  630. ;    1       End
  631. ;    3       Cls
  632. ;    8       ClrEol
  633. ;    162     Goto 
  634. ;    171     Let 
  635. ;    24      Print 
  636. ;    15      PrintLn 
  637. ;    91      If 
  638. ;    1       FOpen 
  639. ;    1       FClose 
  640. ;    3       FGet 
  641. ;    2       StartDisp 
  642. ;    1       GetUser
  643. ;    8       PutUser
  644. ;    2       DefColor
  645. ;    1       AdjTime 
  646. ;    2       Log 
  647. ;    21      Gosub 
  648. ;    7       Return
  649. ;    1       Delay 
  650. ;    1       KbdStuff 
  651. ;    42      AnsiPos 
  652. ;    39      SPrint 
  653. ;    7       SPrintLn 
  654. ;    1       AdjBytes 
  655. ;
  656. ;
  657. ; ■ Functions used :
  658. ;
  659. ;    449     +
  660. ;    13      -
  661. ;    61      ==
  662. ;    17      <>
  663. ;    14      <
  664. ;    15      <=
  665. ;    1       >
  666. ;    30      >=
  667. ;    80      !
  668. ;    30      &&
  669. ;    18      ||
  670. ;    6       Len(
  671. ;    18      Upper()
  672. ;    20      Left()
  673. ;    14      Space()
  674. ;    24      Chr()
  675. ;    4       LTrim()
  676. ;    3       U_Name()
  677. ;    1       U_Ful()
  678. ;    1       U_Fdl()
  679. ;    3       U_BdlDay()
  680. ;    1       U_Bdl()
  681. ;    1       U_Bul()
  682. ;    14      String()
  683. ;    1       PPEPath()
  684. ;    2       MinLeft()
  685. ;    1       Exist()
  686. ;    6       GetY()
  687. ;    3       KInkey()
  688. ;    1       MInkey()
  689. ;    24      ScrText()
  690. ;    1       Mixed()
  691. ;
  692. ;------------------------------------------------------------------------------
  693. ;
  694. ; Analysis flags : WAaH
  695. ;
  696. ; W - Write user ■ 5
  697. ;     Program writes a user record. Although this may be normal for a
  698. ;     User Editor, it may also be a way to modify an account level.
  699. ;     ■ Search for : PUTUSER
  700. ;
  701. ; A - Adjust online time remaining ■ 5
  702. ;     Program modify the amount of online time remaining, this may
  703. ;     be a way to bypass time limits
  704. ;     ■ Search for : ADJTIME
  705. ;
  706. ; a - Adjust ratio ■ 4
  707. ;     User's ratio is adjusted by changing the amount of files/bytes
  708. ;     uploaded. This may be normal for a user editor.
  709. ;     ■ Search for : ADJBYTES, ADJDBYTES, ADJTBYTES, ADJTFILES
  710. ;
  711. ; H - Read Password or Password History ■ 5
  712. ;     Program is reading the user's password or last password history
  713. ;     This may be ok for a password manager, but it is very suspect. Check!
  714. ;     ■ Search for : U_PWDHIST, U_PWD
  715. ;
  716. ;------------------------------------------------------------------------------
  717. ;
  718. ; Postprocessing report
  719. ;
  720. ;    13      For/Next
  721. ;    3       While/EndWhile
  722. ;    45      If/Then or If/Then/Else
  723. ;    3       Select Case
  724. ;
  725. ;------------------------------------------------------------------------------
  726. ;                 AEGiS Corp - Break the routines, code against the machines!
  727. ;------------------------------------------------------------------------------
  728.