; ===================================================================================== ; ; Title: SOFA (Script Obfuscator For AutoIt) ; ; Created: 03/28/07 ; ; Revised: 04/07/07 ; ; Author: Jeff Davis ; ; E-Mail: xwinterx@roadrunner.com ; ; ; ; Version: 0.2.1000 ; ; ===================================================================================== ; Global Const $03E803E8043F = -3 Global Const $03E803E80440 = 17 Global Const $03E803E803E9 = 54 Global Const $03E803E8044F = 0 Global Const $03E803E803EA = X0C8E04E104C8("AC6664686467666666") Global Const $03E803E803EB = X0C8E04E104C8("8999A89FA6AA5685989CABA99997AA9FA5A4567CA5A85677ABAAA57FAA565E89857C775F") Global Const $03E803E803EC = X0C8E04E104C8("7C9FA29B") Global Const $03E803E803ED = X0C8E04E104C8("85A69BA4646464") Global Const $03E803E803EE = X0C8E04E104C8("86A8A5999BA9A9") Global Const $03E803E803EF = X0C8E04E104C8("7BAE9FAA") Global Const $03E803E803F0 = X0C8E04E104C8("75") Global Const $03E803E803F1 = X0C8E04E104C8("7798A5ABAA") Global Const $03E803E803F2 = X0C8E04E104C8("7FA4A6ABAA567C9FA29B70") Global Const $03E803E803EA0 = X0C8E04E104C8("646464") Global Const $03E803E803EA1 = X0C8E04E104C8("86A8A5999BA9A95679A59A9B") Global Const $03E803E803EA2 = X0C8E04E104C8("7798A5ABAA5689857C77") Global Const $03E803E803EA3 = X0C8E04E104C8("8999A89FA6AA5685989CABA99997AAA5A8567CA5A85677ABAAA57F8A") Global Const $03E803E803EA4 = X0C8E04E104C8("8C9BA8A99FA5A47056") Global Const $03E803E803EA5 = X0C8E04E104C8("85989CABA99997AA9BA956AFA5ABA8566497AB69569C9FA29BA956AAA556A397A19B569FAA569E97A89A9BA856AAA556A89B979A") Global Const $03E803E803EA6 = X0C8E04E104C8("AFA5ABA85699A59A9B64568A9E9FA9569AA59BA956A4A5AA569DAB97A897A4AA9B9B56A6A8A5AA9B99AA9FA5A456979D979FA4A9AA") Global Const $03E803E803EA7 = X0C8E04E104C8("A89BAC9BA8A99B569BA49D9FA49B9BA89FA49D625699A89799A19FA49D62569E9799A19FA49D62569BAA9964") Global Const $03E803E803EA8 = X0C8E04E104C8("77ABAA9EA5A87056809B9C9C567A97AC9FA9") Global Const $03E803E803EA9 = X0C8E04E104C8("7B6383979FA27056AEAD9FA4AA9BA8AE76A8A5979AA8ABA4A49BA86499A5A3") Global Const $03E803E803EB0 = X0C8E04E104C8("79A5A6AFA89F9D9EAA565E995F566866666D6456809B9C9C567A97AC9FA9645677A2A256889F9D9EAAA956889BA99BA8AC9B9A64") Global Const $03E803E803EB1 = X0C8E04E104C8("85A69BA4567C9FA29B") Global Const $03E803E803EB2 = X0C8E04E104C8("77ABAAA57FAA5E606497AB695F") Global Const $03E803E803EB3 = X0C8E04E104C8("92") Global Const $03E803E803EB4 = X0C8E04E104C8("95AC97A8A96497AB69") Global Const $03E803E803EB5 = X0C8E04E104C8("95AA9BA3A66497AB69") Global Const $03E803E803EB6 = X0C8E04E104C8("95AC97A8A995A49BAD6497AB69") Global Const $03E803E803EB7 = X0C8E04E104C8("959CABA499A96497AB69") Global Const $03E803E803EB8 = X0C8E04E104C8("959CABA499A995A49BAD6497AB69") Global Const $03E803E803EB9 = X0C8E04E104C8("95AA9BAEAA6497AB69") Global Const $03E803E803EC0 = X0C8E04E104C8("95AA9BAEAA95AC97A86497AB69") Global Const $03E803E803EC1 = X0C8E04E104C8("959BAE99A2AB9A9BA96497AB69") Global Const $03E803E803EC2 = X0C8E04E104C8("95AA9BAEAA959CABA4996497AB69") Global Const $03E803E803EC3 = X0C8E04E104C8("959BA499A59A9B9A6497AB69") Global Const $03E803E803EC4 = X0C8E04E104C8("7BA8A8A5A8") Global Const $03E803E803EC5 = X0C8E04E104C8("84A5569C9FA29B56A99BA29B99AA9B9A") Global Const $03E803E803EC6 = X0C8E04E104C8("7AA5A49B") Global Const $03E803E803EC7 = X0C8E04E104C8("85989CABA99997AA9FA5A456AAA5A5A17056") Global Const $03E803E803EC8 = X0C8E04E104C8("A35656") Global Const $03E803E803EC9 = X0C8E04E104C8("89AA9BA6566756669C56") Global Const $03E803E803ED0 = X0C8E04E104C8("7DA2A59897A25679A5A4A9AA565AAAAEAA9BA499A59A9B9897A99B5673566B6A") Global Const $03E803E803ED1 = X0C8E04E104C8("56") Global Const $03E803E803ED2 = X0C8E04E104C8("5B") Global Const $03E803E803ED3 = X0C8E04E104C8("7CABA499569A9B99A59A9B95AA9BAEAA5E5AA995A9AAA89FA49D5F") Global Const $03E803E803ED4 = X0C8E04E104C8("82A59997A2565AA995A89BAAABA8A4567356") Global Const $03E803E803ED5 = X0C8E04E104C8("82A59997A2565AA995A29BA4") Global Const $03E803E803ED6 = X0C8E04E104C8("82A59997A2565A9F") Global Const $03E803E803ED7 = X0C8E04E104C8("5AA995A29BA456735689AAA89FA49D829BA45E5AA995A9AAA89FA49D5F") Global Const $03E803E803ED8 = X0C8E04E104C8("7CA5A8565A9F5673566756AAA5565AA995A29BA45689AA9BA65668") Global Const $03E803E803ED9 = X0C8E04E104C8("5AA995A89BAAABA8A45673565AA995A89BAAABA8A4565C56799EA85E7A9B995E89AAA89FA49D839F9A5E5AA995A9AAA89FA49D62565A9F6256685F5F635AAAAEAA9BA499A59A9B9897A99B5F") Global Const $03E803E803EE0 = X0C8E04E104C8("849BAEAA") Global Const $03E803E803EE1 = X0C8E04E104C8("889BAAABA8A4565AA995A89BAAABA8A4") Global Const $03E803E803EE2 = X0C8E04E104C8("7BA49A7CABA499") Global Const $03E803E803EE3 = X0C8E04E104C8("89AA9BA6566856669C56") Global Const $03E803E803EE4 = X0C8E04E104C8("89AA9BA6566956669C56") Global Const $03E803E803EE5 = X0C8E04E104C8("7C9FA29B7FA4A9AA97A2A25E") Global Const $03E803E803EE6 = X0C8E04E104C8("5E5F62") Global Const $03E803E803EE7 = X0C8E04E104C8("7EA5AA819BAF899BAA5E") Global Const $03E803E803EE8 = X0C8E04E104C8("7DAB9F899BAA85A47BAC9BA4AA5E") Global Const $03E803E803EE9 = X0C8E04E104C8("7DAB9F79AAA8A2899BAA85A47BAC9BA4AA5E") Global Const $03E803E803EF0 = X0C8E04E104C8("89AA9BA6566A56669C56") Global Const $03E803E803EF1 = X0C8E04E104C8("89AA9BA6566B56669C56") Global Const $03E803E803EF2 = X0C8E04E104C8("5A8AAE8AAC97A8A995") Global Const $03E803E803EF3 = X0C8E04E104C8("7DA2A59897A25679A5A4A9AA") Global Const $03E803E803EF4 = X0C8E04E104C8("89AA9BA6566C56669C56") Global Const $03E803E803EF5 = X0C8E04E104C8("5673569A9B99A59A9B95AA9BAEAA5E") Global Const $03E803E803EF6 = X0C8E04E104C8("5F") Global Const $03E803E803EF7 = X0C8E04E104C8("89AA9BA6566D56669C56") Global Const $03E803E803EF8 = X0C8E04E104C8("89AA9BA6566E56669C56") Global Const $03E803E803EF9 = X0C8E04E104C8("89AA9BA6566F56669C56") Global Const $03E803E803F00 = X0C8E04E104C8("89AA9BA656676656669C56") Global Const $03E803E803F01 = X0C8E04E104C8("5A") Global Const $03E803E803F02 = X0C8E04E104C8("566273636165605E5F5C94") Global Const $03E803E803F03 = X0C8E04E104C8("91") Global Const $03E803E803F04 = X0C8E04E104C8("89AA9BA656676756669C56") Global Const $03E803E803F05 = X0C8E04E104C8("89AA9BA656676856669C56") Global Const $03E803E803F06 = X0C8E04E104C8("5A79A39A829FA49B") Global Const $03E803E803F07 = X0C8E04E104C8("89AA9BA656676956669C56") Global Const $03E803E803F08 = X0C8E04E104C8("89AA9BA656676A56669C56") Global Const $03E803E803F09 = X0C8E04E104C8("7CABA49956") Global Const $03E803E803F10 = X0C8E04E104C8("7CABA499") Global Const $03E803E803F11 = X0C8E04E104C8("5E") Global Const $03E803E803F12 = X0C8E04E104C8("89AA9BA656676B56669C56") Global Const $03E803E803F13 = X0C8E04E104C8("89AA9BA656676C56669C56") Global Const $03E803E803F14 = X0C8E04E104C8("8E") Global Const $03E803E803F15 = X0C8E04E104C8("89AA9BA656676D56669C56") Global $03E803E80441 Global $03E803E80442 Global $03E803E80443 Global $03E803E80444 Global $03E803E80445 Global $03E803E80446 Global $03E803E80447 Global $03E803E80448 Global $03E803E80449 Global $03E803E8044A Global $03E803E8044B Global $03E803E8044C = $03E803E803EA Global $03E803E8044D Global $03E803E8044E Dim $03E803E80450 GuiCreate($03E803E803EB, 360, 120,-1, -1) $03E803E80451 = GUICtrlCreateMenu($03E803E803EC) $03E803E80452 = GUICtrlCreateMenuitem($03E803E803ED, $03E803E80451) $03E803E80453 = GUICtrlCreateMenuitem($03E803E803EE, $03E803E80451) $03E803E80454 = GUICtrlCreateMenuitem("", $03E803E80451) $03E803E80455 = GUICtrlCreateMenuitem($03E803E803EF, $03E803E80451) $03E803E80456 = GUICtrlCreateMenu($03E803E803F0) $03E803E80457 = GUICtrlCreateMenuitem($03E803E803F1, $03E803E80456) GuiCtrlCreateLabel($03E803E803F2, 10, 10, 50, 20) $03E803E80458 = GuiCtrlCreateInput("", 10, 30, 300, 20) $03E803E80459 = GuiCtrlCreateButton($03E803E803EA0, 320, 30, 30, 20) $03E803E8045A = GuiCtrlCreateButton($03E803E803EA1, 10, 60, 100, 20) $03E803E8045B = GuiCtrlCreateButton($03E803E803EF, 250, 60, 100, 20) GuiSetState() While 1 $03E803E8045C = GuiGetMsg() Select Case $03E803E8045C = $03E803E8043F X0C8E04E104C7() Case $03E803E8045C = $03E803E80459 X0C8E04E104AF() Case $03E803E8045C = $03E803E8045A X0C8E04E104B1() Case $03E803E8045C = $03E803E8045B X0C8E04E104C7() Case $03E803E8045C = $03E803E80452 X0C8E04E104AF() Case $03E803E8045C = $03E803E80453 X0C8E04E104B1() Case $03E803E8045C = $03E803E80455 X0C8E04E104C7() Case $03E803E8045C = $03E803E80457 X0C8E04E104AE() Case Else EndSelect WEnd Func X0C8E04E104AE() MsgBox(4096, $03E803E803EA2, @CRLF _ & $03E803E803EA3 & @CRLF _ & $03E803E803EA4 & $03E803E8044C & @CRLF _ & @CRLF _ & $03E803E803EA5 & @CRLF _ & $03E803E803EA6 & @CRLF _ & $03E803E803EA7 & @CRLF _ & @CRLF _ & $03E803E803EA8 & @CRLF _ & $03E803E803EA9 & @CRLF _ & @CRLF _ & $03E803E803EB0 & @CRLF _ & @CRLF) EndFunc Func X0C8E04E104AF() Local $03E803E8045D Local $03E803E8045E $03E803E80441 = FileOpenDialog($03E803E803EB1, @ScriptDir, $03E803E803EB2, 0) If @error Then Return Else $03E803E80442 = StringTrimRight($03E803E80441, 4) $03E803E8045D = StringSplit($03E803E80442, $03E803E803EB3) $03E803E8045E = $03E803E8045D[$03E803E8045D[0]] $03E803E8045E = @TempDir & $03E803E8045E $03E803E80444 = $03E803E8045E & $03E803E803EB4 $03E803E80443 = $03E803E8045E & $03E803E803EB5 $03E803E80445 = $03E803E8045E & $03E803E803EB6 $03E803E80446 = $03E803E8045E & $03E803E803EB7 $03E803E80447 = $03E803E8045E & $03E803E803EB8 $03E803E80448 = $03E803E8045E & $03E803E803EB9 $03E803E80449 = $03E803E8045E & $03E803E803EC0 $03E803E8044B = $03E803E8045E & $03E803E803EC1 $03E803E8044A = $03E803E8045E & $03E803E803EC2 $03E803E80442 = $03E803E80442 & $03E803E803EC3 GUICtrlSetData($03E803E80458, $03E803E80441) EndIf EndFunc Func X0C8E04E104B0() If FileExists($03E803E80442) then FileDelete($03E803E80442) FileCopy($03E803E80443, $03E803E80442) FileDelete($03E803E80443) FileDelete($03E803E80444) FileDelete($03E803E80445) FileDelete($03E803E80446) FileDelete($03E803E80447) FileDelete($03E803E80448) FileDelete($03E803E80449) FileDelete($03E803E8044B) FileDelete($03E803E8044A) EndFunc Func X0C8E04E104B1() Local $03E803E8045F Local $03E803E80460 Local $03E803E80461 Local $03E803E804612 If GUICtrlRead($03E803E80458) = "" Then MsgBox(4096, $03E803E803EC4, $03E803E803EC5) Else FileCopy($03E803E80441, $03E803E80443, 1) $03E803E8044E = TimerInit() X0C8E04E104B2() X0C8E04E104B3() X0C8E04E104B4() X0C8E04E104B5() X0C8E04E104B6() X0C8E04E104B7() X0C8E04E104B8() X0C8E04E104B9() X0C8E04E104BA() X0C8E04E104BB() X0C8E04E104BC() X0C8E04E104BD() X0C8E04E104BE() X0C8E04E104BF() X0C8E04E104C0() X0C8E04E104C1() X0C8E04E104C2() X0C8E04E104B0() $03E803E80460 = Round(TimerDiff($03E803E8044E)/60000, 2) MsgBox(4096, $03E803E803EC6, $03E803E803EC7 & $03E803E80460 & $03E803E803EC8) EndIf EndFunc Func X0C8E04E104B2() Dim $03E803E8044D ProgressOn($03E803E803EC9 & $03E803E80440, "", "", @DesktopWidth / 2 - 160, @DesktopHeight / 2 - 45, 16 + 2) X0C8E04E104C6($03E803E80443, $03E803E8044D) FileDelete($03E803E80443) FileWriteLine($03E803E80443, $03E803E803ED0) FileWriteLine($03E803E80443, $03E803E803ED1) For $03E803E80463 = 1 to $03E803E8044D[0] FileWriteLine($03E803E80443, $03E803E8044D[$03E803E80463]) ProgressSet($03E803E80463 / $03E803E8044D[0] * 100, Round($03E803E80463 / $03E803E8044D[0] * 100) & $03E803E803ED2) Next FileWriteLine($03E803E80443, $03E803E803ED1) FileWriteLine($03E803E80443, $03E803E803ED3) FileWriteLine($03E803E80443, $03E803E803ED4 & chr(34) & Chr(34)) FileWriteLine($03E803E80443, $03E803E803ED5) FileWriteLine($03E803E80443, $03E803E803ED6) FileWriteLine($03E803E80443, $03E803E803ED7) FileWriteLine($03E803E80443, $03E803E803ED8) FileWriteLine($03E803E80443, $03E803E803ED9) FileWriteLine($03E803E80443, $03E803E803EE0) FileWriteLine($03E803E80443, $03E803E803EE1) FileWriteLine($03E803E80443, $03E803E803EE2) Sleep(1500) EndFunc Func X0C8E04E104B3() Dim $03E803E8044D Dim $03E803E8044D2 ProgressOn($03E803E803EE3 & $03E803E80440, "", "", @DesktopWidth / 2 - 160, @DesktopHeight / 2 - 45, 16 + 2) X0C8E04E104C6($03E803E80443,$03E803E8044D) FileDelete($03E803E80443) For $03E803E80463 = 1 to $03E803E8044D[0] If StringInStr($03E803E8044D[$03E803E80463], Chr(59)) Then $03E803E80465 = StringSplit($03E803E8044D[$03E803E80463], Chr(59)) FileWriteLine($03E803E80443, StringTrimRight(StringReplace($03E803E8044D[$03E803E80463], $03E803E80465[2], ""),1)) Else FileWriteLine($03E803E80443, $03E803E8044D[$03E803E80463]) EndIf ProgressSet($03E803E80463 / $03E803E8044D[0] * 25, Round($03E803E80463 / $03E803E8044D[0] * 25) & $03E803E803ED2) Next Dim $03E803E8044D X0C8E04E104C6($03E803E80443,$03E803E8044D) FileDelete($03E803E80443) For $03E803E80463 = 1 to $03E803E8044D[0] FileWriteLine($03E803E80443,StringStripWS($03E803E8044D[$03E803E80463], 3)) ProgressSet(($03E803E80463 / $03E803E8044D[0] * 25) + 25, Round(($03E803E80463 / $03E803E8044D[0] * 25) + 25) & $03E803E803ED2) Next Dim $03E803E8044D X0C8E04E104C6($03E803E80443,$03E803E8044D) If FileExists($03E803E80443) Then FileDelete($03E803E80443) For $03E803E80463 = 1 to $03E803E8044D[0] If $03E803E8044D[$03E803E80463] = "" Then Else FileWriteLine($03E803E80443, $03E803E8044D[$03E803E80463]) EndIf ProgressSet(($03E803E80463 / $03E803E8044D[0] * 25) + 50, Round(($03E803E80463 / $03E803E8044D[0] * 25) + 50) & $03E803E803ED2) Next Dim $03E803E8044D X0C8E04E104C6($03E803E80443,$03E803E8044D) FileDelete($03E803E80443) For $03E803E80463 = 1 to $03E803E8044D[0] If StringInStr($03E803E8044D[$03E803E80463], Chr(59)) Then Else FileWriteLine($03E803E80443, $03E803E8044D[$03E803E80463]) EndIf ProgressSet(($03E803E80463 / $03E803E8044D[0] * 25) + 75, Round(($03E803E80463 / $03E803E8044D[0] * 25) + 75) & $03E803E803ED2) Next EndFunc Func X0C8E04E104B4() Local $03E803E8044D, $03E803E80466, $03E803E80467 ProgressOn($03E803E803EE4 & $03E803E80440, "", "", @DesktopWidth / 2 - 160, @DesktopHeight / 2 - 45, 16 + 2) X0C8E04E104C6($03E803E80443, $03E803E8044D) For $03E803E80463 = 1 to $03E803E8044D[0] If StringInStr($03E803E8044D[$03E803E80463], Chr(34)) Then If $03E803E8044F = 0 Then If StringInStr($03E803E8044D[$03E803E80463], $03E803E803EE5) Then $03E803E80467 = StringSplit($03E803E8044D[$03E803E80463], $03E803E803EE6) $03E803E80467[2] = StringStripWS($03E803E80467[2], 7) $03E803E80467[3] = StringStripWS($03E803E80467[3], 7) FileWriteLine($03E803E8044B, $03E803E80467[2]) FileWriteLine($03E803E8044B, $03E803E80467[3]) Else If Not StringInStr($03E803E8044D[$03E803E80463], $03E803E803EE7) Then If Not StringInStr($03E803E8044D[$03E803E80463], $03E803E803EE8) Then If Not StringInStr($03E803E8044D[$03E803E80463], $03E803E803EE9) Then FileWriteLine($03E803E80448, $03E803E8044D[$03E803E80463]) EndIf EndIf EndIf EndIf Else FileWriteLine($03E803E80448, $03E803E8044D[$03E803E80463]) EndIf EndIf ProgressSet($03E803E80463 / $03E803E8044D[0] * 50, Round($03E803E80463 / $03E803E8044D[0] * 50) & $03E803E803ED2) Next Dim $03E803E8044D X0C8E04E104C6($03E803E80448, $03E803E8044D) FileDelete($03E803E80448) For $03E803E80463 = 1 to $03E803E8044D[0] $03E803E80466 = StringSplit($03E803E8044D[$03E803E80463], chr(34)) For $03E803E80463i = 2 to $03E803E80466[0] step 2 If X0C8E04E104C5($03E803E8044D, $03E803E80466[$03E803E80463i]) = -1 Then FileWriteLine($03E803E80448, $03E803E80466[$03E803E80463i]) EndIf ProgressSet(($03E803E80463 / $03E803E8044D[0] * 50) + 50, Round(($03E803E80463 / $03E803E8044D[0] * 50) + 50) & $03E803E803ED2) Next Next EndFunc Func X0C8E04E104B5() Dim $03E803E80469 Dim $03E803E8044D ProgressOn($03E803E803EF0 & $03E803E80440, "", "", @DesktopWidth / 2 - 160, @DesktopHeight / 2 - 45, 16 + 2) X0C8E04E104C6($03E803E80448, $03E803E8044D) FileDelete($03E803E80448) FileWriteLine($03E803E80448, $03E803E8044D[1]) For $03E803E80463 = 2 to $03E803E8044D[0] X0C8E04E104C6($03E803E80448, $03E803E80469) If X0C8E04E104C5($03E803E80469, $03E803E8044D[$03E803E80463]) = -1 Then FileWriteLine($03E803E80448, $03E803E8044D[$03E803E80463]) EndIf Dim $03E803E80469 ProgressSet($03E803E80463 / $03E803E8044D[0] * 100, Round($03E803E80463 / $03E803E8044D[0] * 100) & $03E803E803ED2) Next EndFunc Func X0C8E04E104B6() Dim $03E803E8044D ProgressOn($03E803E803EF1 & $03E803E80440, "", "", @DesktopWidth / 2 - 160, @DesktopHeight / 2 - 45, 16 + 2) X0C8E04E104C6($03E803E80448, $03E803E8044D) For $03E803E80463 = 1 to $03E803E8044D[0] If $03E803E8044D[$03E803E80463] <> "" Then FileWriteLine($03E803E80449, $03E803E803EF2 & $03E803E80463) ProgressSet($03E803E80463 / $03E803E8044D[0] * 100, Round($03E803E80463 / $03E803E8044D[0] * 100) & $03E803E803ED2) Next EndFunc Func X0C8E04E104B7() Dim $03E803E8044D Dim $03E803E8046A Local $03E803E8046B = $03E803E803EF3 ProgressOn($03E803E803EF4 & $03E803E80440, "", "", @DesktopWidth / 2 - 160, @DesktopHeight / 2 - 45, 16 + 2) X0C8E04E104C6($03E803E80448, $03E803E8044D) X0C8E04E104C6($03E803E80449, $03E803E8046A) For $03E803E80463 = 1 to $03E803E8044D[0] If $03E803E8044D[$03E803E80463] <> "" Then $03E803E8046B = $03E803E8046B & $03E803E803ED1 & $03E803E8046A[$03E803E80463] & $03E803E803EF5 FileWriteLine($03E803E8044A, $03E803E8046B & Chr(34) & X0C8E04E104C3($03E803E8044D[$03E803E80463]) & Chr(34) & $03E803E803EF6) $03E803E8046B = $03E803E803EF3 EndIf ProgressSet($03E803E80463 / $03E803E8044D[0] * 100, Round($03E803E80463 / $03E803E8044D[0] * 100) & $03E803E803ED2) Next EndFunc Func X0C8E04E104B8() Dim $03E803E8044D Dim $03E803E8046A ProgressOn($03E803E803EF7 & $03E803E80440, "", "", @DesktopWidth / 2 - 160, @DesktopHeight / 2 - 45, 16 + 2) X0C8E04E104C6($03E803E80443, $03E803E8044D) FileDelete($03E803E80443) X0C8E04E104C6($03E803E8044A, $03E803E8046A) FileWriteLine($03E803E80443, $03E803E8044D[1]) For $03E803E80463 = 1 to $03E803E8046A[0] FileWriteLine($03E803E80443, $03E803E8046A[$03E803E80463]) ProgressSet(($03E803E80463 / $03E803E8044D[0] * 50), Round(($03E803E80463 / $03E803E8044D[0] * 50)) & $03E803E803ED2) Next For $03E803E80463 = 2 to $03E803E8044D[0] FileWriteLine($03E803E80443, $03E803E8044D[$03E803E80463]) ProgressSet(($03E803E80463 / $03E803E8044D[0] * 50) + 50, Round(($03E803E80463 / $03E803E8044D[0] * 50) + 50) & $03E803E803ED2) Next EndFunc Func X0C8E04E104B9() Dim $03E803E8044D ProgressOn($03E803E803EF8 & $03E803E80440, "", "", @DesktopWidth / 2 - 160, @DesktopHeight / 2 - 45, 16 + 2) X0C8E04E104C6($03E803E80448, $03E803E8044D) FileDelete($03E803E80448) For $03E803E80463 = 1 to $03E803E8044D[0] If $03E803E8044D[$03E803E80463] <> "" Then FileWriteLine($03E803E80448, chr(34) & $03E803E8044D[$03E803E80463] & Chr(34)) ProgressSet($03E803E80463 / $03E803E8044D[0] * 100, Round($03E803E80463 / $03E803E8044D[0] * 100) & $03E803E803ED2) EndIf Next EndFunc Func X0C8E04E104BA() Local $03E803E8044D Local $03E803E8046C Local $03E803E8046D Local $03E803E80467 ProgressOn($03E803E803EF9 & $03E803E80440, "", "", @DesktopWidth / 2 - 160, @DesktopHeight / 2 - 45, 16 + 2) X0C8E04E104C6($03E803E80448, $03E803E8046C) X0C8E04E104C6($03E803E80449, $03E803E8046D) X0C8E04E104C6($03E803E80443, $03E803E8044D) FileDelete($03E803E80443) For $03E803E80463 = 1 to $03E803E8044D[0] For $03E803E80463i = 1 to $03E803E8046C[0] If StringInStr($03E803E8044D[$03E803E80463], $03E803E8046C[$03E803E80463i]) <> 0 Then $03E803E8044D[$03E803E80463] = StringReplace($03E803E8044D[$03E803E80463], $03E803E8046C[$03E803E80463i], $03E803E8046D[$03E803E80463i]) ProgressSet($03E803E80463 / $03E803E8044D[0] * 50, Round($03E803E80463 / $03E803E8044D[0] * 50) & $03E803E803ED2) EndIf Next Next For $03E803E80463 = 1 to $03E803E8044D[0] FileWriteLine($03E803E80443, $03E803E8044D[$03E803E80463]) ProgressSet(($03E803E80463 / $03E803E8044D[0] * 50) + 50, Round($03E803E80463 / $03E803E8044D[0] * 50) + 50 & $03E803E803ED2) Next EndFunc Func X0C8E04E104BB() Dim $03E803E8044D Dim $03E803E80466 ProgressOn($03E803E803F00 & $03E803E80440, "", "", @DesktopWidth / 2 - 160, @DesktopHeight / 2 - 45, 16 + 2) FileCopy($03E803E80443, $03E803E80444) X0C8E04E104C6($03E803E80444,$03E803E8044D) If FileExists($03E803E80444) Then FileDelete($03E803E80444) For $03E803E80463 = 1 to $03E803E8044D[0] If StringInStr($03E803E8044D[$03E803E80463], $03E803E803F01) Then FileWriteLine($03E803E80444, $03E803E8044D[$03E803E80463]) ProgressSet(($03E803E80463 / $03E803E8044D[0] * 33), Round($03E803E80463 / $03E803E8044D[0] * 33) & $03E803E803ED2) Next Dim $03E803E8044D X0C8E04E104C6($03E803E80444,$03E803E8044D) If FileExists($03E803E80444) Then FileDelete($03E803E80444) For $03E803E80463 = 1 to $03E803E8044D[0] $03E803E80466 = StringSplit($03E803E8044D[$03E803E80463], $03E803E803F02) For $03E803E80463i = 1 to $03E803E80466[0] If StringInStr($03E803E80466[$03E803E80463i],$03E803E803F01) Then FileWriteLine($03E803E80444,$03E803E80466[$03E803E80463i]) ProgressSet(($03E803E80463 / $03E803E8044D[0] * 33) + 33, Round($03E803E80463 / $03E803E8044D[0] * 33) + 33 & $03E803E803ED2) Next Next Dim $03E803E8044D Dim $03E803E80466 X0C8E04E104C6($03E803E80444,$03E803E8044D) If FileExists($03E803E80444) Then FileDelete($03E803E80444) For $03E803E80463 = 1 to $03E803E8044D[0] If StringInStr($03E803E8044D[$03E803E80463],$03E803E803F03) Then $03E803E80466 = StringSplit($03E803E8044D[$03E803E80463], $03E803E803F03) FileWriteLine($03E803E80444,$03E803E80466[1]) Else FileWriteLine($03E803E80444,$03E803E8044D[$03E803E80463]) EndIf ProgressSet(($03E803E80463 / $03E803E8044D[0] * 66) + 34, Round($03E803E80463 / $03E803E8044D[0] * 66) + 34 & $03E803E803ED2) Next EndFunc Func X0C8E04E104BC() Dim $03E803E8046E Dim $03E803E8044D Local $03E803E8046F ProgressOn($03E803E803F04 & $03E803E80440, "", "", @DesktopWidth / 2 - 160, @DesktopHeight / 2 - 45, 16 + 2) X0C8E04E104C6($03E803E80444, $03E803E8044D) If FileExists($03E803E80444) Then FileDelete($03E803E80444) FileWriteLine($03E803E80444, $03E803E8044D[1]) For $03E803E80463 = 2 to $03E803E8044D[0] X0C8E04E104C6($03E803E80444, $03E803E8046E) If X0C8E04E104C5($03E803E8046E, $03E803E8044D[$03E803E80463]) = -1 Then FileWriteLine($03E803E80444, $03E803E8044D[$03E803E80463]) EndIf Dim $03E803E8046E ProgressSet(($03E803E80463 / $03E803E8044D[0] * 100), Round($03E803E80463 / $03E803E8044D[0] * 100) & $03E803E803ED2) Next EndFunc Func X0C8E04E104BD() Local $03E803E80470 Local $03E803E80471 Local $03E803E80472 Local $03E803E804721 = 1000 Local $03E803E804722 = 1000 Local $03E803E804723 = 1000 ProgressOn($03E803E803F05 & $03E803E80440, "", "", @DesktopWidth / 2 - 160, @DesktopHeight / 2 - 45, 16 + 2) If FileExists($03E803E80445) then FileDelete($03E803E80445) X0C8E04E104C6($03E803E80444,$03E803E80470) For $03E803E80463 = 1 to $03E803E80470[0] If ($03E803E804723 + $03E803E80463) = 10000 Then $03E803E804723 = 1000 $03E803E804722 += 1 If $03E803E804722 = 10000 Then $03E803E804721 += 1 $03E803E804722 = 1000 EndIf EndIf $03E803E80472 = Chr(36) & Hex($03E803E804721,4) & Hex($03E803E804722,4) & Hex($03E803E804723 + $03E803E80463,4) If $03E803E80470[$03E803E80463] = $03E803E803F06 Then FileWriteLine($03E803E80445, $03E803E803F06) Else FileWriteLine($03E803E80445, $03E803E80472) EndIf ProgressSet(($03E803E80463 / $03E803E8044D[0] * 100), Round($03E803E80463 / $03E803E8044D[0] * 100) & $03E803E803ED2) Next EndFunc Func X0C8E04E104BE() Local $03E803E8044D Local $03E803E80476 Local $03E803E80477 ProgressOn($03E803E803F07 & $03E803E80440, "", "", @DesktopWidth / 2 - 160, @DesktopHeight / 2 - 45, 16 + 2) X0C8E04E104C6($03E803E80444, $03E803E80476) X0C8E04E104C6($03E803E80445, $03E803E80477) X0C8E04E104C6($03E803E80443, $03E803E8044D) If FileExists($03E803E80443) then FileDelete($03E803E80443) For $03E803E80463 = 1 to $03E803E8044D[0] For $03E803E80463i = 1 to $03E803E80476[0] If StringInStr($03E803E8044D[$03E803E80463], $03E803E80476[$03E803E80463i]) <> 0 Then $03E803E8044D[$03E803E80463] = StringReplace($03E803E8044D[$03E803E80463], $03E803E80476[$03E803E80463i], $03E803E80477[$03E803E80463i], 0, 1) EndIf ProgressSet(($03E803E80463 / $03E803E8044D[0] * 100), Round($03E803E80463 / $03E803E8044D[0] * 100) & $03E803E803ED2) Next FileWriteLine($03E803E80443, $03E803E8044D[$03E803E80463]) Next EndFunc Func X0C8E04E104BF() Dim $03E803E8044D Dim $03E803E80466 ProgressOn($03E803E803F08 & $03E803E80440, "", "", @DesktopWidth / 2 - 160, @DesktopHeight / 2 - 45, 16 + 2) X0C8E04E104C6($03E803E80443,$03E803E8044D) For $03E803E80463 = 1 to $03E803E8044D[0] If StringInStr($03E803E8044D[$03E803E80463], $03E803E803F09, 1) Then FileWriteLine($03E803E80446, $03E803E8044D[$03E803E80463]) EndIf ProgressSet(($03E803E80463 / $03E803E8044D[0] * 33), Round($03E803E80463 / $03E803E8044D[0] * 33) & $03E803E803ED2) Next Dim $03E803E8044D X0C8E04E104C6($03E803E80446,$03E803E8044D) FileDelete($03E803E80446) For $03E803E80463 = 1 to $03E803E8044D[0] If $03E803E8044D[$03E803E80463] <> "" Then $03E803E80466 = StringSplit($03E803E8044D[$03E803E80463], $03E803E803ED1) If $03E803E80466[1] = $03E803E803F10 or $03E803E80466[1] = $03E803E803F10 Then FileWriteLine($03E803E80446,$03E803E80466[2]) EndIf EndIf ProgressSet(($03E803E80463 / $03E803E8044D[0] * 33) + 33, Round($03E803E80463 / $03E803E8044D[0] * 33) + 33 & $03E803E803ED2) Next Dim $03E803E8044D X0C8E04E104C6($03E803E80446,$03E803E8044D) FileDelete($03E803E80446) For $03E803E80463 = 1 to $03E803E8044D[0] If StringInStr($03E803E8044D[$03E803E80463],$03E803E803F11) Then $03E803E80466 = StringSplit($03E803E8044D[$03E803E80463], $03E803E803F11) FileWriteLine($03E803E80446,$03E803E80466[1]) Else FileWriteLine($03E803E80446,$03E803E8044D[$03E803E80463]) EndIf ProgressSet(($03E803E80463 / $03E803E8044D[0] * 66) + 34, Round($03E803E80463 / $03E803E8044D[0] * 66) + 34 & $03E803E803ED2) Next EndFunc Func X0C8E04E104C0() Dim $03E803E8046A Dim $03E803E8044D ProgressOn($03E803E803F12 & $03E803E80440, "", "", @DesktopWidth / 2 - 160, @DesktopHeight / 2 - 45, 16 + 2) X0C8E04E104C6($03E803E80446, $03E803E8044D) FileDelete($03E803E80446) FileWriteLine($03E803E80446, $03E803E8044D[1]) For $03E803E80463 = 2 to $03E803E8044D[0] X0C8E04E104C6($03E803E80446, $03E803E8046A) If X0C8E04E104C5($03E803E8046A, $03E803E8044D[$03E803E80463]) = -1 Then FileWriteLine($03E803E80446, $03E803E8044D[$03E803E80463]) EndIf Dim $03E803E8046A ProgressSet(($03E803E80463 / $03E803E8044D[0] * 100), Round($03E803E80463 / $03E803E8044D[0] * 100) & $03E803E803ED2) Next EndFunc Func X0C8E04E104C1() Local $03E803E80478 Local $03E803E80471 Local $03E803E80479 Local $03E803E804791 = 3214 Local $03E803E804792 = 1249 Local $03E803E804793 = 1197 ProgressOn($03E803E803F13 & $03E803E80440, "", "", @DesktopWidth / 2 - 160, @DesktopHeight / 2 - 45, 16 + 2) X0C8E04E104C6($03E803E80446,$03E803E80478) $03E803E80471 = $03E803E80478[0] For $03E803E80463 = 1 to $03E803E80471 If ($03E803E804793 + $03E803E80463) = 10000 Then $03E803E804793 = 1197 $03E803E804792 += 1 If $03E803E804792 = 10000 Then $03E803E804791 += 1 $03E803E804792 = 1249 EndIf EndIf $03E803E80479 = $03E803E803F14 & Hex($03E803E804791,4) & Hex($03E803E804792,4) & Hex($03E803E804793 + $03E803E80463,4) FileWriteLine($03E803E80447, $03E803E80479) ProgressSet(($03E803E80463 / $03E803E8044D[0] * 100), Round($03E803E80463 / $03E803E8044D[0] * 100) & $03E803E803ED2) Next EndFunc Func X0C8E04E104C2() Local $03E803E8044D Local $03E803E8047D Local $03E803E8047E ProgressOn($03E803E803F15 & $03E803E80440, "", "", @DesktopWidth / 2 - 160, @DesktopHeight / 2 - 45, 16 + 2) X0C8E04E104C6($03E803E80446, $03E803E8047D) X0C8E04E104C6($03E803E80447, $03E803E8047E) X0C8E04E104C6($03E803E80443, $03E803E8044D) FileDelete($03E803E80443) For $03E803E80463 = 1 to $03E803E8044D[0] For $03E803E80463i = 1 to $03E803E8047D[0] If StringInStr($03E803E8044D[$03E803E80463], $03E803E8047D[$03E803E80463i]) <> 0 Then $03E803E8044D[$03E803E80463] = StringReplace($03E803E8044D[$03E803E80463], $03E803E8047D[$03E803E80463i], $03E803E8047E[$03E803E80463i]) EndIf Next FileWriteLine($03E803E80443, $03E803E8044D[$03E803E80463]) ProgressSet(($03E803E80463 / $03E803E8044D[0] * 100), Round($03E803E80463 / $03E803E8044D[0] * 100) & $03E803E803ED2) Next ProgressOff() EndFunc Func X0C8E04E104C3($03E803E8047F) Local $03E803E80480 = "" Local $03E803E80481 Local $03E803E80463 $03E803E80481 = StringLen($03E803E8047F) For $03E803E80463 = 1 to $03E803E80481 $03E803E80480 = $03E803E80480 & Hex(Asc(StringMid($03E803E8047F, $03E803E80463, 1))+$03E803E803E9,2) Next Return $03E803E80480 EndFunc Func X0C8E04E104C4() Dim $03E803E80482 EndFunc Func X0C8E04E104C5(Const ByRef $03E803E8046FvArray, $03E803E80484, $03E803E80463Start = 0, $03E803E80463End = 0, $03E803E80463CaseSense = 0, $03E803E80488 = False) Local $03E803E80463CurrentPos, $03E803E80463UBound, $03E803E80463Result If Not IsArray($03E803E8046FvArray) Then SetError(1) Return -1 EndIf $03E803E80463UBound = UBound($03E803E8046FvArray) - 1 If $03E803E80463End = 0 Then $03E803E80463End = $03E803E80463UBound If $03E803E80463Start > $03E803E80463UBound Then SetError(2) Return -1 EndIf If $03E803E80463End > $03E803E80463UBound Then SetError(3) Return -1 EndIf If $03E803E80463Start > $03E803E80463End Then SetError(4) Return -1 EndIf If Not ($03E803E80463CaseSense = 0 Or $03E803E80463CaseSense = 1) Then SetError(5) Return -1 EndIf For $03E803E80463CurrentPos = $03E803E80463Start To $03E803E80463End Select Case $03E803E80463CaseSense = 0 If $03E803E80488 = False Then If $03E803E8046FvArray[$03E803E80463CurrentPos] = $03E803E80484 Then SetError(0) Return $03E803E80463CurrentPos EndIf Else $03E803E80463Result = StringInStr($03E803E8046FvArray[$03E803E80463CurrentPos], $03E803E80484, $03E803E80463CaseSense) If $03E803E80463Result > 0 Then SetError(0) Return $03E803E80463CurrentPos EndIf EndIf Case $03E803E80463CaseSense = 1 If $03E803E80488 = False Then If $03E803E8046FvArray[$03E803E80463CurrentPos] == $03E803E80484 Then SetError(0) Return $03E803E80463CurrentPos EndIf Else $03E803E80463Result = StringInStr($03E803E8046FvArray[$03E803E80463CurrentPos], $03E803E80484, $03E803E80463CaseSense) If $03E803E80463Result > 0 Then SetError(0) Return $03E803E80463CurrentPos EndIf EndIf EndSelect Next SetError(6) Return -1 EndFunc Func X0C8E04E104C6($03E803E8048C, ByRef $03E803E8046FArray) Local $03E803E8048E $03E803E8048E = FileOpen($03E803E8048C, 0) If $03E803E8048E = -1 Then SetError(1) Return 0 EndIf $03E803E8046FArray = StringSplit(StringStripCR(FileRead($03E803E8048E, FileGetSize($03E803E8048C))), @LF) FileClose($03E803E8048E) Return 1 EndFunc Func X0C8E04E104C7() Exit EndFunc Func X0C8E04E104C8($03E803E8047F) Local $03E803E80480 = "" Local $03E803E80481 Local $03E803E80463 $03E803E80481 = StringLen($03E803E8047F) For $03E803E80463 = 1 to $03E803E80481 Step 2 $03E803E80480 = $03E803E80480 & Chr(Dec(StringMid($03E803E8047F, $03E803E80463, 2))-$03E803E803E9) Next Return $03E803E80480 EndFunc