#AutoIt3Wrapper_UseX64=y Global Const $9EE0383448B52DC2 = 1 Global Const $9EE078E44DF52DC2 = 1 Global Const $9EE038E44AD52DC2 = 2 Global Const $9EE031E84DB52DC2 = 4 Global Const $9EE018E94DB52DC2 = 4 Global Const $9EED38E44DB52DC2 = 11 Global $9EE038E48CB52DC2[$9EED38E44DB52DC2] Global Const $9EEF38E44DB52DC2 = "struct;uint Mask;int Item;int SubItem;uint State;uint StateMask;ptr Text;int TextMax;int Image;lparam Param;" & _ "int Indent;int GroupID;uint Columns;ptr pColumns;ptr piColFmt;int iGroup;endstruct" #Au3Stripper_Ignore_Funcs=__ArrayDisplay_SortCallBack Func _9EE0A8D44DB52DC2($9EEF38E4DDB52DC2,$9EE048E444B52DC2,$9EE034EE4DB52DC2) If $9EE038E48CB52DC2[3]=$9EE038E48CB52DC2[4] Then If Not $9EE038E48CB52DC2[7] Then $9EE038E48CB52DC2[5]*=-1 _9EE05BE44DB52DC2($9EE038E48CB52DC2,7,1) EndIf Else _9EE05BE44DB52DC2($9EE038E48CB52DC2,7,1) EndIf _9EE038E349B52DC2($9EE038E48CB52DC2,6,$9EE038E48CB52DC2,3) Local $9EE238E44DB72DC2=_9EE038944DA52DC2($9EE034EE4DB52DC2,$9EEF38E4DDB52DC2,$9EE038E48CB52DC2[ 3 ]) Local $9EE0B8E4BDB52DC2=_9EE038944DA52DC2($9EE034EE4DB52DC2,$9EE048E444B52DC2,$9EE038E48CB52DC2[ 3 ]) If $9EE038E48CB52DC2[8]= 1 Then If (StringIsFloat($9EE238E44DB72DC2) Or StringIsInt($9EE238E44DB72DC2)) Then $9EE238E44DB72DC2=Number($9EE238E44DB72DC2) If (StringIsFloat($9EE0B8E4BDB52DC2) Or StringIsInt($9EE0B8E4BDB52DC2)) Then $9EE0B8E4BDB52DC2=Number($9EE0B8E4BDB52DC2) EndIf Local $9EE032E44DD52DC2 If $9EE038E48CB52DC2[8]< 2 Then $9EE032E44DD52DC2= 0 If $9EE238E44DB72DC2<$9EE0B8E4BDB52DC2 Then _9EE098E44DB32DC2($9EE032E44DD52DC2,-1) ElseIf $9EE238E44DB72DC2>$9EE0B8E4BDB52DC2 Then _9EE098E44DB32DC2($9EE032E44DD52DC2,1) EndIf Else $9EE032E44DD52DC2=DllCall('shlwapi.dll', _ 'int', _ 'StrCmpLogicalW', _ 'wstr',$9EE238E44DB72DC2, _ 'wstr',$9EE0B8E4BDB52DC2)[ 0 ] EndIf _9EE038E448152DC2($9EE032E44DD52DC2,$9EE032E44DD52DC2,5) Return $9EE032E44DD52DC2 EndFunc Func _9EE038944DA52DC2($9EE034EE4DB52DC2,$9EE037E44DBA2DC2,$9EE098044DB52DC2= 0) Local $9EE0389443B52DC2=DllStructCreate("wchar Text[4096]") Local $9EE0380B4DB52DC2=DllStructGetPtr($9EE0389443B52DC2) Local $9EE398E44DB52DC2=DllStructCreate($9EEF38E44DB52DC2) DllStructSetData($9EE398E44DB52DC2, _ "SubItem",$9EE098044DB52DC2) DllStructSetData($9EE398E44DB52DC2, _ "TextMax", 4096 ) DllStructSetData($9EE398E44DB52DC2, _ "Text",$9EE0380B4DB52DC2) If IsHWnd($9EE034EE4DB52DC2) Then DllCall("user32.dll", _ "lresult", _ "SendMessageW", _ "hwnd",$9EE034EE4DB52DC2, _ "uint", 0x1073 , _ "wparam",$9EE037E44DBA2DC2, _ "struct*",$9EE398E44DB52DC2) Else Local $9EE0E8E44DB62DC2=DllStructGetPtr($9EE398E44DB52DC2) GUICtrlSendMsg($9EE034EE4DB52DC2, 0x1073 ,$9EE037E44DBA2DC2,$9EE0E8E44DB62DC2) EndIf Return DllStructGetData($9EE0389443B52DC2, _ "Text") EndFunc Global Const $9EE038EB5DB52DC2 = 0x00001000 Func _9EE038941DB52DC2(Const $9EE068E440B52DC2=@error, Const $9EE038E441BC2DC2=@extended) Local $9EE038E24DB52DC2=DllCall("kernel32.dll", _ "dword", _ "GetLastError") Return SetError($9EE068E440B52DC2,$9EE038E441BC2DC2,$9EE038E24DB52DC2[ 0 ]) EndFunc Global Const $9EE03CE4BDB52DC2 = "Debug Window hidden text" Global $9EE038E44DB62DC2 = "AutoIt Debug Report" Global $9EE03CE41DB52DC2 = 0 Global $9EE038944DD52DC2 = True Global $9EE038EF45B52DC2 = True Global $9EE038E4CAB52DC2 = 0 Global $9EE038F4EDB52DC2 Global $9EE098ED4DB52DC2 = False Func _9EE038E64DC52DC2($9EEC38E44DB92DC2,$9EE338E34DB52DC2= False,$9EE032E74DB52DC2= False, Const $9EE068E440B52DC2=@error,$9EE038E441BC2DC2=@extended) If $9EE03CE41DB52DC2<= 0 Or $9EE03CE41DB52DC2> 6 Then Return SetError($9EE068E440B52DC2,$9EE038E441BC2DC2, 0 ) $9EE038E441BC2DC2=_9EE038E44D7E2DC2($9EEC38E44DB92DC2,$9EE338E34DB52DC2) If $9EE032E74DB52DC2 Then Exit Return SetError($9EE068E440B52DC2,$9EE038E441BC2DC2, 1 ) EndFunc Func _9EEA38E54DB52DC2() If $9EE03CE41DB52DC2= 1 Then WinSetOnTop($9EE038E44DB62DC2, _ "", 1 ) _9EE038E64DC52DC2('>>>>>> Please close the "Report Log Window" to exit <<<<<<<'&@CRLF) _9EE008E44DE52DC2() ElseIf $9EE03CE41DB52DC2= 6 Then Execute($9EE038F4EDB52DC2& _ ")") EndIf $9EE03CE41DB52DC2= 0 EndFunc Func _9EE008E44DE52DC2() If Not $9EE038944DD52DC2 Then Return 0 Local $9EE338E44DB52DC2=Opt("WinDetectHiddenText",$9EE0383448B52DC2) Local $9EE034E41DB52DC2=WinGetHandle($9EE038E44DB62DC2,$9EE03CE4BDB52DC2) Opt("WinDetectHiddenText",$9EE338E44DB52DC2) $9EE338E44DB52DC2=Opt('GUIOnEventMode', 0 ) Local Const $9EE065E44DB52DC2=-3 Local $9EE138E44DB42DC2 While WinExists(HWnd($9EE034E41DB52DC2)) $9EE138E44DB42DC2=GUIGetMsg( 1 ) If $9EE138E44DB42DC2[ 1 ]=$9EE034E41DB52DC2 And $9EE138E44DB42DC2[ 0 ]=$9EE065E44DB52DC2 Then GUIDelete($9EE034E41DB52DC2) WEnd Opt('GUIOnEventMode',$9EE338E44DB52DC2) $9EE038E4CAB52DC2= 0 $9EE038944DD52DC2= True $9EE038EF45B52DC2= True EndFunc Func _9EE038E44D7E2DC2($9EEC38E44DB92DC2,$9EE338E34DB52DC2= False,$9EE138E440B52DC2=@extended) Local $9EE038E44DBD2DC2=@CRLF If $9EE098ED4DB52DC2 And ($9EEC38E44DB92DC2<>"") Then $9EEC38E44DB92DC2=@YEAR& _ "/"&@MON& _ "/"&@MDAY& _ " "&@HOUR& _ ":"&@MIN& _ ":"&@SEC& _ " "&$9EEC38E44DB92DC2 If $9EE338E34DB52DC2 Then $9EE138E440B52DC2=_9EE038941DB52DC2() Local Const $9EE038EB5DB52DC2= 0x1000 Local $9EE038E24DB52DC2=DllCall("kernel32.dll", _ "dword", _ "FormatMessageW", _ "dword",$9EE038EB5DB52DC2, _ "ptr", 0 , _ "dword",$9EE138E440B52DC2, _ "dword", 0 , _ "wstr", _ "", _ "dword", 4096 , _ "ptr", 0 ) $9EE038E44DBD2DC2=" : "&$9EE038E24DB52DC2[5] EndIf $9EEC38E44DB92DC2&=$9EE038E44DBD2DC2 Local $9EEC38E44DB42DC2=BlockInput( 1 ) BlockInput( 0 ) $9EEC38E44DB92DC2=StringReplace($9EEC38E44DB92DC2, _ "'", _ "''") Execute($9EE038F4EDB52DC2& _ "'"&$9EEC38E44DB92DC2& _ "')") If Not $9EEC38E44DB42DC2 Then BlockInput( 1 ) Return $9EE138E440B52DC2 EndFunc Global Enum $9EE008E44D252DC2 , $9EE0C8044DB52DC2 , $9EE0383F4DB52DC2 , $9EE0388448B52DC2 , $9EE038D44DBE2DC2 , $9EE038EB44B52DC2 , $9EE038E44F252DC2 , $9EE538E44DF52DC2 Global Enum $9EE038E47D052DC2 , $9EE033E44DBB2DC2 Global Enum $9EE03CE44D552DC2 , $9EE138E44DB52DC2 , $9EE032E44DE52DC2 , $9EE831E44DB52DC2 , $9EE038E4ABB52DC2 Func _9EE038A44DBD2DC2(ByRef $9EE078B44DB52DC2, Const ByRef $9EE138E14DB52DC2, Const ByRef $9EE0B8E4FDB52DC2) If $9EE0B8E4FDB52DC2<=$9EE138E14DB52DC2 Then Return Local $9EE038844D552DC2 If ($9EE0B8E4FDB52DC2-$9EE138E14DB52DC2)< 15 Then Local $9EEE38E443B52DC2 For $9EE098E44DB52DC2=$9EE138E14DB52DC2+ 1 To $9EE0B8E4FDB52DC2 _9EE038E448152DC2($9EE038844D552DC2,$9EE078B44DB52DC2,$9EE098E44DB52DC2) If IsNumber($9EE038844D552DC2) Then For $9EE033E449B52DC2=$9EE098E44DB52DC2- 1 To $9EE138E14DB52DC2 Step -1 _9EE038E448152DC2($9EEE38E443B52DC2,$9EE078B44DB52DC2,$9EE033E449B52DC2) If ($9EE038844D552DC2>=$9EEE38E443B52DC2 And IsNumber($9EEE38E443B52DC2)) Or ( Not IsNumber($9EEE38E443B52DC2) And StringCompare($9EE038844D552DC2,$9EEE38E443B52DC2)>= 0 ) Then ExitLoop _9EE0D8E44DBF2DC2($9EE078B44DB52DC2,$9EE033E449B52DC2+ 1,$9EEE38E443B52DC2) Next Else For $9EE033E449B52DC2=$9EE098E44DB52DC2- 1 To $9EE138E14DB52DC2 Step -1 If (StringCompare($9EE038844D552DC2,$9EE078B44DB52DC2[$9EE033E449B52DC2])>= 0 ) Then ExitLoop _9EE038E349B52DC2($9EE078B44DB52DC2,$9EE033E449B52DC2+ 1,$9EE078B44DB52DC2,$9EE033E449B52DC2) Next EndIf _9EE0D8E44DBF2DC2($9EE078B44DB52DC2,$9EE033E449B52DC2+ 1,$9EE038844D552DC2) Next Return EndIf Local $9EE088E44DB22DC2=$9EE138E14DB52DC2,$9EE038D44D752DC2=$9EE0B8E4FDB52DC2,$9EE038E4DD152DC2=$9EE078B44DB52DC2[Int(($9EE138E14DB52DC2+$9EE0B8E4FDB52DC2)/ 2 )],$9EE038844DB62DC2=IsNumber($9EE038E4DD152DC2) Do If $9EE038844DB62DC2 Then While ($9EE078B44DB52DC2[$9EE088E44DB22DC2]<$9EE038E4DD152DC2 And IsNumber($9EE078B44DB52DC2[$9EE088E44DB22DC2])) Or ( Not IsNumber($9EE078B44DB52DC2[$9EE088E44DB22DC2]) And StringCompare($9EE078B44DB52DC2[$9EE088E44DB22DC2],$9EE038E4DD152DC2)< 0 ) $9EE088E44DB22DC2+= 1 WEnd While ($9EE078B44DB52DC2[$9EE038D44D752DC2]>$9EE038E4DD152DC2 And IsNumber($9EE078B44DB52DC2[$9EE038D44D752DC2])) Or ( Not IsNumber($9EE078B44DB52DC2[$9EE038D44D752DC2]) And StringCompare($9EE078B44DB52DC2[$9EE038D44D752DC2],$9EE038E4DD152DC2)> 0 ) $9EE038D44D752DC2-= 1 WEnd Else While (StringCompare($9EE078B44DB52DC2[$9EE088E44DB22DC2],$9EE038E4DD152DC2)< 0 ) $9EE088E44DB22DC2+= 1 WEnd While (StringCompare($9EE078B44DB52DC2[$9EE038D44D752DC2],$9EE038E4DD152DC2)> 0 ) $9EE038D44D752DC2-= 1 WEnd EndIf If $9EE088E44DB22DC2<=$9EE038D44D752DC2 Then _9EE038E448152DC2($9EE038844D552DC2,$9EE078B44DB52DC2,$9EE088E44DB22DC2) _9EE038E349B52DC2($9EE078B44DB52DC2,$9EE088E44DB22DC2,$9EE078B44DB52DC2,$9EE038D44D752DC2) _9EE0D8E44DBF2DC2($9EE078B44DB52DC2,$9EE038D44D752DC2,$9EE038844D552DC2) $9EE088E44DB22DC2+= 1 $9EE038D44D752DC2-= 1 EndIf Until $9EE088E44DB22DC2>$9EE038D44D752DC2 _9EE038A44DBD2DC2($9EE078B44DB52DC2,$9EE138E14DB52DC2,$9EE038D44D752DC2) _9EE038A44DBD2DC2($9EE078B44DB52DC2,$9EE088E44DB22DC2,$9EE0B8E4FDB52DC2) EndFunc Func _9EE078E44D552DC2(ByRef $9EE078B44DB52DC2, Const ByRef $9EE03DE44DB32DC2, Const ByRef $9EE138E14DB52DC2, Const ByRef $9EE0B8E4FDB52DC2, Const ByRef $9EE098044DB52DC2, Const ByRef $9EE938E44DA52DC2) If $9EE0B8E4FDB52DC2<=$9EE138E14DB52DC2 Then Return Local $9EE038844D552DC2,$9EE088E44DB22DC2=$9EE138E14DB52DC2,$9EE038D44D752DC2=$9EE0B8E4FDB52DC2,$9EE038E4DD152DC2=$9EE078B44DB52DC2[Int(($9EE138E14DB52DC2+$9EE0B8E4FDB52DC2)/ 2 )][$9EE098044DB52DC2],$9EE038844DB62DC2=IsNumber($9EE038E4DD152DC2) Do If $9EE038844DB62DC2 Then While ($9EE03DE44DB32DC2*($9EE078B44DB52DC2[$9EE088E44DB22DC2][$9EE098044DB52DC2]-$9EE038E4DD152DC2)< 0 And IsNumber($9EE078B44DB52DC2[$9EE088E44DB22DC2][$9EE098044DB52DC2])) Or ( Not IsNumber($9EE078B44DB52DC2[$9EE088E44DB22DC2][$9EE098044DB52DC2]) And $9EE03DE44DB32DC2*StringCompare($9EE078B44DB52DC2[$9EE088E44DB22DC2][$9EE098044DB52DC2],$9EE038E4DD152DC2)< 0 ) $9EE088E44DB22DC2+= 1 WEnd While ($9EE03DE44DB32DC2*($9EE078B44DB52DC2[$9EE038D44D752DC2][$9EE098044DB52DC2]-$9EE038E4DD152DC2)> 0 And IsNumber($9EE078B44DB52DC2[$9EE038D44D752DC2][$9EE098044DB52DC2])) Or ( Not IsNumber($9EE078B44DB52DC2[$9EE038D44D752DC2][$9EE098044DB52DC2]) And $9EE03DE44DB32DC2*StringCompare($9EE078B44DB52DC2[$9EE038D44D752DC2][$9EE098044DB52DC2],$9EE038E4DD152DC2)> 0 ) $9EE038D44D752DC2-= 1 WEnd Else While ($9EE03DE44DB32DC2*StringCompare($9EE078B44DB52DC2[$9EE088E44DB22DC2][$9EE098044DB52DC2],$9EE038E4DD152DC2)< 0 ) $9EE088E44DB22DC2+= 1 WEnd While ($9EE03DE44DB32DC2*StringCompare($9EE078B44DB52DC2[$9EE038D44D752DC2][$9EE098044DB52DC2],$9EE038E4DD152DC2)> 0 ) $9EE038D44D752DC2-= 1 WEnd EndIf If $9EE088E44DB22DC2<=$9EE038D44D752DC2 Then For $9EE098E44DB52DC2= 0 To $9EE938E44DA52DC2 $9EE038844D552DC2=$9EE078B44DB52DC2[$9EE088E44DB22DC2][$9EE098E44DB52DC2] $9EE078B44DB52DC2[$9EE088E44DB22DC2][$9EE098E44DB52DC2]=$9EE078B44DB52DC2[$9EE038D44D752DC2][$9EE098E44DB52DC2] $9EE078B44DB52DC2[$9EE038D44D752DC2][$9EE098E44DB52DC2]=$9EE038844D552DC2 Next $9EE088E44DB22DC2+= 1 $9EE038D44D752DC2-= 1 EndIf Until $9EE088E44DB22DC2>$9EE038D44D752DC2 _9EE078E44D552DC2($9EE078B44DB52DC2,$9EE03DE44DB32DC2,$9EE138E14DB52DC2,$9EE038D44D752DC2,$9EE098044DB52DC2,$9EE938E44DA52DC2) _9EE078E44D552DC2($9EE078B44DB52DC2,$9EE03DE44DB32DC2,$9EE088E44DB22DC2,$9EE0B8E4FDB52DC2,$9EE098044DB52DC2,$9EE938E44DA52DC2) EndFunc Func _9EE038E44F852DC2(ByRef $9EE078B44DB52DC2,$9EE0380C4DB52DC2,$9EE038E34DD52DC2,$9EE038E438B52DC2= True) If $9EE0380C4DB52DC2>$9EE038E34DD52DC2 Then Return Local $9EE034E42DB52DC2=$9EE038E34DD52DC2-$9EE0380C4DB52DC2+ 1 Local $9EE098E44DB52DC2,$9EE033E449B52DC2,$9EE038044D052DC2,$9EE138444DB52DC2,$9EE238344DB52DC2,$9EE738C44DB52DC2,$9EE008E446B52DC2,$9EE088E44DB42DC2 If $9EE034E42DB52DC2< 45 Then If $9EE038E438B52DC2 Then _9EE0E8E44DB52DC2($9EE098E44DB52DC2,$9EE0380C4DB52DC2) While $9EE098E44DB52DC2<$9EE038E34DD52DC2 _9EE0E8E44DB52DC2($9EE033E449B52DC2,$9EE098E44DB52DC2) _9EE038E448152DC2($9EE138444DB52DC2,$9EE078B44DB52DC2,$9EE098E44DB52DC2+ 1) While $9EE138444DB52DC2<$9EE078B44DB52DC2[$9EE033E449B52DC2] _9EE038E349B52DC2($9EE078B44DB52DC2,$9EE033E449B52DC2+ 1,$9EE078B44DB52DC2,$9EE033E449B52DC2) $9EE033E449B52DC2-= 1 If $9EE033E449B52DC2+ 1 =$9EE0380C4DB52DC2 Then ExitLoop WEnd _9EE0D8E44DBF2DC2($9EE078B44DB52DC2,$9EE033E449B52DC2+ 1,$9EE138444DB52DC2) $9EE098E44DB52DC2+= 1 WEnd Else While 1 If $9EE0380C4DB52DC2>=$9EE038E34DD52DC2 Then Return 1 $9EE0380C4DB52DC2+= 1 If $9EE078B44DB52DC2[$9EE0380C4DB52DC2]<$9EE078B44DB52DC2[$9EE0380C4DB52DC2- 1] Then ExitLoop WEnd While 1 _9EE0E8E44DB52DC2($9EE038044D052DC2,$9EE0380C4DB52DC2) $9EE0380C4DB52DC2+= 1 If $9EE0380C4DB52DC2>$9EE038E34DD52DC2 Then ExitLoop _9EE038E448152DC2($9EE738C44DB52DC2,$9EE078B44DB52DC2,$9EE038044D052DC2) _9EE038E448152DC2($9EE008E446B52DC2,$9EE078B44DB52DC2,$9EE0380C4DB52DC2) If $9EE738C44DB52DC2<$9EE008E446B52DC2 Then _9EE0E8E44DB52DC2($9EE008E446B52DC2,$9EE738C44DB52DC2) _9EE038E448152DC2($9EE738C44DB52DC2,$9EE078B44DB52DC2,$9EE0380C4DB52DC2) EndIf $9EE038044D052DC2-= 1 While $9EE738C44DB52DC2<$9EE078B44DB52DC2[$9EE038044D052DC2] _9EE038E349B52DC2($9EE078B44DB52DC2,$9EE038044D052DC2+ 2,$9EE078B44DB52DC2,$9EE038044D052DC2) $9EE038044D052DC2-= 1 WEnd _9EE0D8E44DBF2DC2($9EE078B44DB52DC2,$9EE038044D052DC2+ 2,$9EE738C44DB52DC2) While $9EE008E446B52DC2<$9EE078B44DB52DC2[$9EE038044D052DC2] _9EE038E349B52DC2($9EE078B44DB52DC2,$9EE038044D052DC2+ 1,$9EE078B44DB52DC2,$9EE038044D052DC2) $9EE038044D052DC2-= 1 WEnd _9EE0D8E44DBF2DC2($9EE078B44DB52DC2,$9EE038044D052DC2+ 1,$9EE008E446B52DC2) $9EE0380C4DB52DC2+= 1 WEnd _9EE038E448152DC2($9EE088E44DB42DC2,$9EE078B44DB52DC2,$9EE038E34DD52DC2) $9EE038E34DD52DC2-= 1 While $9EE088E44DB42DC2<$9EE078B44DB52DC2[$9EE038E34DD52DC2] _9EE038E349B52DC2($9EE078B44DB52DC2,$9EE038E34DD52DC2+ 1,$9EE078B44DB52DC2,$9EE038E34DD52DC2) $9EE038E34DD52DC2-= 1 WEnd _9EE0D8E44DBF2DC2($9EE078B44DB52DC2,$9EE038E34DD52DC2+ 1,$9EE088E44DB42DC2) EndIf Return 1 EndIf Local $9EE938E44DB52DC2=BitShift($9EE034E42DB52DC2, 3 )+BitShift($9EE034E42DB52DC2, 6 )+ 1 Local $9EE038144BB52DC2,$9EE048A44DB52DC2,$9EE038EC4DA52DC2,$9EE038ED41B52DC2,$9EE038B447B52DC2,$9EE038E44D652DC2 $9EE038EC4DA52DC2=Ceiling(($9EE0380C4DB52DC2+$9EE038E34DD52DC2)/ 2 ) $9EE048A44DB52DC2=$9EE038EC4DA52DC2-$9EE938E44DB52DC2 $9EE038144BB52DC2=$9EE048A44DB52DC2-$9EE938E44DB52DC2 $9EE038ED41B52DC2=$9EE038EC4DA52DC2+$9EE938E44DB52DC2 $9EE038B447B52DC2=$9EE038ED41B52DC2+$9EE938E44DB52DC2 If $9EE078B44DB52DC2[$9EE048A44DB52DC2]<$9EE078B44DB52DC2[$9EE038144BB52DC2] Then _9EE038E448152DC2($9EE038E44D652DC2,$9EE078B44DB52DC2,$9EE048A44DB52DC2) _9EE038E349B52DC2($9EE078B44DB52DC2,$9EE048A44DB52DC2,$9EE078B44DB52DC2,$9EE038144BB52DC2) _9EE0D8E44DBF2DC2($9EE078B44DB52DC2,$9EE038144BB52DC2,$9EE038E44D652DC2) EndIf If $9EE078B44DB52DC2[$9EE038EC4DA52DC2]<$9EE078B44DB52DC2[$9EE048A44DB52DC2] Then _9EE038E448152DC2($9EE038E44D652DC2,$9EE078B44DB52DC2,$9EE038EC4DA52DC2) _9EE038E349B52DC2($9EE078B44DB52DC2,$9EE038EC4DA52DC2,$9EE078B44DB52DC2,$9EE048A44DB52DC2) _9EE0D8E44DBF2DC2($9EE078B44DB52DC2,$9EE048A44DB52DC2,$9EE038E44D652DC2) If $9EE038E44D652DC2<$9EE078B44DB52DC2[$9EE038144BB52DC2] Then _9EE038E349B52DC2($9EE078B44DB52DC2,$9EE048A44DB52DC2,$9EE078B44DB52DC2,$9EE038144BB52DC2) _9EE0D8E44DBF2DC2($9EE078B44DB52DC2,$9EE038144BB52DC2,$9EE038E44D652DC2) EndIf EndIf If $9EE078B44DB52DC2[$9EE038ED41B52DC2]<$9EE078B44DB52DC2[$9EE038EC4DA52DC2] Then _9EE038E448152DC2($9EE038E44D652DC2,$9EE078B44DB52DC2,$9EE038ED41B52DC2) _9EE038E349B52DC2($9EE078B44DB52DC2,$9EE038ED41B52DC2,$9EE078B44DB52DC2,$9EE038EC4DA52DC2) _9EE0D8E44DBF2DC2($9EE078B44DB52DC2,$9EE038EC4DA52DC2,$9EE038E44D652DC2) If $9EE038E44D652DC2<$9EE078B44DB52DC2[$9EE048A44DB52DC2] Then _9EE038E349B52DC2($9EE078B44DB52DC2,$9EE038EC4DA52DC2,$9EE078B44DB52DC2,$9EE048A44DB52DC2) _9EE0D8E44DBF2DC2($9EE078B44DB52DC2,$9EE048A44DB52DC2,$9EE038E44D652DC2) If $9EE038E44D652DC2<$9EE078B44DB52DC2[$9EE038144BB52DC2] Then _9EE038E349B52DC2($9EE078B44DB52DC2,$9EE048A44DB52DC2,$9EE078B44DB52DC2,$9EE038144BB52DC2) _9EE0D8E44DBF2DC2($9EE078B44DB52DC2,$9EE038144BB52DC2,$9EE038E44D652DC2) EndIf EndIf EndIf If $9EE078B44DB52DC2[$9EE038B447B52DC2]<$9EE078B44DB52DC2[$9EE038ED41B52DC2] Then _9EE038E448152DC2($9EE038E44D652DC2,$9EE078B44DB52DC2,$9EE038B447B52DC2) _9EE038E349B52DC2($9EE078B44DB52DC2,$9EE038B447B52DC2,$9EE078B44DB52DC2,$9EE038ED41B52DC2) _9EE0D8E44DBF2DC2($9EE078B44DB52DC2,$9EE038ED41B52DC2,$9EE038E44D652DC2) If $9EE038E44D652DC2<$9EE078B44DB52DC2[$9EE038EC4DA52DC2] Then _9EE038E349B52DC2($9EE078B44DB52DC2,$9EE038ED41B52DC2,$9EE078B44DB52DC2,$9EE038EC4DA52DC2) _9EE0D8E44DBF2DC2($9EE078B44DB52DC2,$9EE038EC4DA52DC2,$9EE038E44D652DC2) If $9EE038E44D652DC2<$9EE078B44DB52DC2[$9EE048A44DB52DC2] Then _9EE038E349B52DC2($9EE078B44DB52DC2,$9EE038EC4DA52DC2,$9EE078B44DB52DC2,$9EE048A44DB52DC2) _9EE0D8E44DBF2DC2($9EE078B44DB52DC2,$9EE048A44DB52DC2,$9EE038E44D652DC2) If $9EE038E44D652DC2<$9EE078B44DB52DC2[$9EE038144BB52DC2] Then _9EE038E349B52DC2($9EE078B44DB52DC2,$9EE048A44DB52DC2,$9EE078B44DB52DC2,$9EE038144BB52DC2) _9EE0D8E44DBF2DC2($9EE078B44DB52DC2,$9EE038144BB52DC2,$9EE038E44D652DC2) EndIf EndIf EndIf EndIf Local $9EE038844DB02DC2=$9EE0380C4DB52DC2 Local $9EE036E49DB52DC2=$9EE038E34DD52DC2 If (($9EE078B44DB52DC2[$9EE038144BB52DC2]<>$9EE078B44DB52DC2[$9EE048A44DB52DC2]) And ($9EE078B44DB52DC2[$9EE048A44DB52DC2]<>$9EE078B44DB52DC2[$9EE038EC4DA52DC2]) And ($9EE078B44DB52DC2[$9EE038EC4DA52DC2]<>$9EE078B44DB52DC2[$9EE038ED41B52DC2]) And ($9EE078B44DB52DC2[$9EE038ED41B52DC2]<>$9EE078B44DB52DC2[$9EE038B447B52DC2])) Then Local $9EE0A8A44DB52DC2=$9EE078B44DB52DC2[$9EE048A44DB52DC2] Local $9EEF38E44DD52DC2=$9EE078B44DB52DC2[$9EE038ED41B52DC2] _9EE038E349B52DC2($9EE078B44DB52DC2,$9EE048A44DB52DC2,$9EE078B44DB52DC2,$9EE0380C4DB52DC2) _9EE038E349B52DC2($9EE078B44DB52DC2,$9EE038ED41B52DC2,$9EE078B44DB52DC2,$9EE038E34DD52DC2) Do $9EE038844DB02DC2+= 1 Until $9EE078B44DB52DC2[$9EE038844DB02DC2]>=$9EE0A8A44DB52DC2 Do $9EE036E49DB52DC2-= 1 Until $9EE078B44DB52DC2[$9EE036E49DB52DC2]<=$9EEF38E44DD52DC2 _9EE0E8E44DB52DC2($9EE038044D052DC2,$9EE038844DB02DC2) While $9EE038044D052DC2<=$9EE036E49DB52DC2 _9EE038E448152DC2($9EE238344DB52DC2,$9EE078B44DB52DC2,$9EE038044D052DC2) If $9EE238344DB52DC2<$9EE0A8A44DB52DC2 Then _9EE038E349B52DC2($9EE078B44DB52DC2,$9EE038044D052DC2,$9EE078B44DB52DC2,$9EE038844DB02DC2) _9EE0D8E44DBF2DC2($9EE078B44DB52DC2,$9EE038844DB02DC2,$9EE238344DB52DC2) $9EE038844DB02DC2+= 1 ElseIf $9EE238344DB52DC2>$9EEF38E44DD52DC2 Then While $9EE078B44DB52DC2[$9EE036E49DB52DC2]>$9EEF38E44DD52DC2 $9EE036E49DB52DC2-= 1 If $9EE036E49DB52DC2+ 1 =$9EE038044D052DC2 Then ExitLoop 2 WEnd If $9EE078B44DB52DC2[$9EE036E49DB52DC2]<$9EE0A8A44DB52DC2 Then _9EE038E349B52DC2($9EE078B44DB52DC2,$9EE038044D052DC2,$9EE078B44DB52DC2,$9EE038844DB02DC2) _9EE038E349B52DC2($9EE078B44DB52DC2,$9EE038844DB02DC2,$9EE078B44DB52DC2,$9EE036E49DB52DC2) $9EE038844DB02DC2+= 1 Else _9EE038E349B52DC2($9EE078B44DB52DC2,$9EE038044D052DC2,$9EE078B44DB52DC2,$9EE036E49DB52DC2) EndIf _9EE0D8E44DBF2DC2($9EE078B44DB52DC2,$9EE036E49DB52DC2,$9EE238344DB52DC2) $9EE036E49DB52DC2-= 1 EndIf $9EE038044D052DC2+= 1 WEnd _9EE038E349B52DC2($9EE078B44DB52DC2,$9EE0380C4DB52DC2,$9EE078B44DB52DC2,$9EE038844DB02DC2- 1) _9EE0D8E44DBF2DC2($9EE078B44DB52DC2,$9EE038844DB02DC2- 1,$9EE0A8A44DB52DC2) _9EE038E349B52DC2($9EE078B44DB52DC2,$9EE038E34DD52DC2,$9EE078B44DB52DC2,$9EE036E49DB52DC2+ 1) _9EE0D8E44DBF2DC2($9EE078B44DB52DC2,$9EE036E49DB52DC2+ 1,$9EEF38E44DD52DC2) _9EE038E44F852DC2($9EE078B44DB52DC2,$9EE0380C4DB52DC2,$9EE038844DB02DC2- 2 , True ) _9EE038E44F852DC2($9EE078B44DB52DC2,$9EE036E49DB52DC2+ 2 ,$9EE038E34DD52DC2, False ) If ($9EE038844DB02DC2<$9EE038144BB52DC2) And ($9EE038B447B52DC2<$9EE036E49DB52DC2) Then While $9EE078B44DB52DC2[$9EE038844DB02DC2]=$9EE0A8A44DB52DC2 $9EE038844DB02DC2+= 1 WEnd While $9EE078B44DB52DC2[$9EE036E49DB52DC2]=$9EEF38E44DD52DC2 $9EE036E49DB52DC2-= 1 WEnd _9EE0E8E44DB52DC2($9EE038044D052DC2,$9EE038844DB02DC2) While $9EE038044D052DC2<=$9EE036E49DB52DC2 _9EE038E448152DC2($9EE238344DB52DC2,$9EE078B44DB52DC2,$9EE038044D052DC2) If $9EE238344DB52DC2=$9EE0A8A44DB52DC2 Then _9EE038E349B52DC2($9EE078B44DB52DC2,$9EE038044D052DC2,$9EE078B44DB52DC2,$9EE038844DB02DC2) _9EE0D8E44DBF2DC2($9EE078B44DB52DC2,$9EE038844DB02DC2,$9EE238344DB52DC2) $9EE038844DB02DC2+= 1 ElseIf $9EE238344DB52DC2=$9EEF38E44DD52DC2 Then While $9EE078B44DB52DC2[$9EE036E49DB52DC2]=$9EEF38E44DD52DC2 $9EE036E49DB52DC2-= 1 If $9EE036E49DB52DC2+ 1 =$9EE038044D052DC2 Then ExitLoop 2 WEnd If $9EE078B44DB52DC2[$9EE036E49DB52DC2]=$9EE0A8A44DB52DC2 Then _9EE038E349B52DC2($9EE078B44DB52DC2,$9EE038044D052DC2,$9EE078B44DB52DC2,$9EE038844DB02DC2) _9EE0D8E44DBF2DC2($9EE078B44DB52DC2,$9EE038844DB02DC2,$9EE0A8A44DB52DC2) $9EE038844DB02DC2+= 1 Else _9EE038E349B52DC2($9EE078B44DB52DC2,$9EE038044D052DC2,$9EE078B44DB52DC2,$9EE036E49DB52DC2) EndIf _9EE0D8E44DBF2DC2($9EE078B44DB52DC2,$9EE036E49DB52DC2,$9EE238344DB52DC2) $9EE036E49DB52DC2-= 1 EndIf $9EE038044D052DC2+= 1 WEnd EndIf _9EE038E44F852DC2($9EE078B44DB52DC2,$9EE038844DB02DC2,$9EE036E49DB52DC2, False ) Else Local $9EE938E448B52DC2=$9EE078B44DB52DC2[$9EE038EC4DA52DC2] _9EE0E8E44DB52DC2($9EE038044D052DC2,$9EE038844DB02DC2) While $9EE038044D052DC2<=$9EE036E49DB52DC2 If $9EE078B44DB52DC2[$9EE038044D052DC2]=$9EE938E448B52DC2 Then $9EE038044D052DC2+= 1 ContinueLoop EndIf _9EE038E448152DC2($9EE238344DB52DC2,$9EE078B44DB52DC2,$9EE038044D052DC2) If $9EE238344DB52DC2<$9EE938E448B52DC2 Then _9EE038E349B52DC2($9EE078B44DB52DC2,$9EE038044D052DC2,$9EE078B44DB52DC2,$9EE038844DB02DC2) _9EE0D8E44DBF2DC2($9EE078B44DB52DC2,$9EE038844DB02DC2,$9EE238344DB52DC2) $9EE038844DB02DC2+= 1 Else While $9EE078B44DB52DC2[$9EE036E49DB52DC2]>$9EE938E448B52DC2 $9EE036E49DB52DC2-= 1 WEnd If $9EE078B44DB52DC2[$9EE036E49DB52DC2]<$9EE938E448B52DC2 Then _9EE038E349B52DC2($9EE078B44DB52DC2,$9EE038044D052DC2,$9EE078B44DB52DC2,$9EE038844DB02DC2) _9EE038E349B52DC2($9EE078B44DB52DC2,$9EE038844DB02DC2,$9EE078B44DB52DC2,$9EE036E49DB52DC2) $9EE038844DB02DC2+= 1 Else _9EE0D8E44DBF2DC2($9EE078B44DB52DC2,$9EE038044D052DC2,$9EE938E448B52DC2) EndIf _9EE0D8E44DBF2DC2($9EE078B44DB52DC2,$9EE036E49DB52DC2,$9EE238344DB52DC2) $9EE036E49DB52DC2-= 1 EndIf $9EE038044D052DC2+= 1 WEnd _9EE038E44F852DC2($9EE078B44DB52DC2,$9EE0380C4DB52DC2,$9EE038844DB02DC2- 1 , True ) _9EE038E44F852DC2($9EE078B44DB52DC2,$9EE036E49DB52DC2+ 1 ,$9EE038E34DD52DC2, False ) EndIf EndFunc Func _9EE631E44DB52DC2(ByRef $9EE078B44DB52DC2,$9EE138E14DB52DC2,$9EE078E44D752DC2,$9EE938E04DB52DC2, ByRef $9EE038E446BF2DC2, ByRef $9EE038E24DB52DC2, ByRef $9EE938E4ADB52DC2) If $9EE138E14DB52DC2==$9EE078E44D752DC2- 1 Then For $9EE098E44DB52DC2= 0 To $9EE078E44D752DC2- 1 $9EE038E24DB52DC2[$9EE938E4ADB52DC2]&=$9EE078B44DB52DC2[$9EE038E446BF2DC2[$9EE098E44DB52DC2]]&$9EE938E04DB52DC2 Next If $9EE938E04DB52DC2<>"" Then $9EE038E24DB52DC2[$9EE938E4ADB52DC2]=StringTrimRight($9EE038E24DB52DC2[$9EE938E4ADB52DC2],StringLen($9EE938E04DB52DC2)) $9EE938E4ADB52DC2+= 1 Else Local $9EE034E446B52DC2 For $9EE098E44DB52DC2=$9EE138E14DB52DC2 To $9EE078E44D752DC2- 1 _9EE038E448152DC2($9EE034E446B52DC2,$9EE038E446BF2DC2,$9EE098E44DB52DC2) _9EE038E349B52DC2($9EE038E446BF2DC2,$9EE098E44DB52DC2,$9EE038E446BF2DC2,$9EE138E14DB52DC2) _9EE0D8E44DBF2DC2($9EE038E446BF2DC2,$9EE138E14DB52DC2,$9EE034E446B52DC2) _9EE631E44DB52DC2($9EE078B44DB52DC2,$9EE138E14DB52DC2+ 1 ,$9EE078E44D752DC2,$9EE938E04DB52DC2,$9EE038E446BF2DC2,$9EE038E24DB52DC2,$9EE938E4ADB52DC2) _9EE038E349B52DC2($9EE038E446BF2DC2,$9EE138E14DB52DC2,$9EE038E446BF2DC2,$9EE098E44DB52DC2) _9EE0D8E44DBF2DC2($9EE038E446BF2DC2,$9EE098E44DB52DC2,$9EE034E446B52DC2) Next EndIf EndFunc Func _9EE036EE4DB52DC2($9EE03CE44D852DC2,$9EE034E42DB52DC2) Local $9EE438E448B52DC2=DllCall('kernel32.dll', _ 'bool', _ 'IsBadReadPtr', _ 'struct*',$9EE03CE44D852DC2, _ 'uint_ptr',$9EE034E42DB52DC2) If @error Then Return SetError(@error,@extended, False ) Return $9EE438E448B52DC2[0] EndFunc Func _9EE0385440B52DC2($9EE03CE44D852DC2,$9EE034E42DB52DC2) Local $9EE438E448B52DC2=DllCall('kernel32.dll', _ 'bool', _ 'IsBadWritePtr', _ 'struct*',$9EE03CE44D852DC2, _ 'uint_ptr',$9EE034E42DB52DC2) If @error Then Return SetError(@error,@extended, False ) Return $9EE438E448B52DC2[0] EndFunc Func _9EE038E48D652DC2($9EE0F8E44D152DC2,$9EE032E44DBB2DC2,$9EE034E42DB52DC2) If _9EE036EE4DB52DC2($9EE032E44DBB2DC2,$9EE034E42DB52DC2) Then Return SetError( 10 ,@extended, 0 ) If _9EE0385440B52DC2($9EE0F8E44D152DC2,$9EE034E42DB52DC2) Then Return SetError( 11 ,@extended, 0 ) DllCall('ntdll.dll', _ 'none', _ 'RtlMoveMemory', _ 'struct*',$9EE0F8E44D152DC2, _ 'struct*',$9EE032E44DBB2DC2, _ 'ulong_ptr',$9EE034E42DB52DC2) If @error Then Return SetError(@error,@extended, 0 ) Return 1 EndFunc Func _9EE0B8844DB52DC2($9EE068E44DB52DC2,$9EE028E44D552DC2='') Local $9EE078E44D752DC2=DllStructGetSize($9EE068E44DB52DC2) If Not $9EE078E44D752DC2 Then Return SetError( 1 , 0 , 0 ) Local $9EED30E44DB52DC2 If Not StringStripWS($9EE028E44D552DC2,$9EE078E44DF52DC2+$9EE038E44AD52DC2+$9EE031E84DB52DC2) Then $9EED30E44DB52DC2=DllStructCreate('byte['&$9EE078E44D752DC2& _ ']') Else $9EED30E44DB52DC2=DllStructCreate($9EE028E44D552DC2) EndIf If DllStructGetSize($9EED30E44DB52DC2)<$9EE078E44D752DC2 Then Return SetError( 2 , 0 , 0 ) _9EE038E48D652DC2($9EED30E44DB52DC2,$9EE068E44DB52DC2,$9EE078E44D752DC2) Return $9EED30E44DB52DC2 EndFunc Global Enum $9EE030E84DB52DC2 , $9EED38E4BDB52DC2 , $9EE038344D452DC2 Global Enum $9EE03AE441B52DC2 , $9EE738E47DB52DC2 Global Enum $9EE0385447B52DC2 Global Const $9EE038744DB52DC2 = 192 Global Const $9EE038E44DF52DC2 = 0x00000000 Global Const $9EEB38E44D852DC2 = 0xC000000D Global Const $9EE938E44AB52DC2 = 0xC0000017 Global Const $9EE038114DB52DC2 = 0xC0000023 Global Const $9EE038244D052DC2 = 0xC0000225 Global Const $9EE038244D352DC2 = 0xC0000008 Global Const $9EE0E8E44D652DC2 = 0xC000003E Global Const $9EE03DEC4DB52DC2 = 0xC00000BB Global Const $9EE088E44DE52DC2 = 0x00000001 Global Const $9EE538E44DB32DC2 = 0x00000008 Global Const $9EE038ED4DB52DC2 = "AES" Global Const $9EE038D44DB52DC2 = "RC4" Global Const $9EE038844DB52DC2 = "SHA1" Global Const $9EE038E440B92DC2 = "BlockLength" Global Const $9EE031E44DB52DC2 = "ChainingMode" Global Const $9EE038E4EDB52DC2 = "ChainingModeCBC" Global Const $9EE038E44F652DC2 = "KeyLength" Global $9EE0A8EE4DB52DC2 = False Global $9EE036E44DB52DC2 = -1 Global $9EE038E04DB52DC2 = "" Func _9EE038E448252DC2() Return $9EE038E04DB52DC2 EndFunc Func _9EE636E44DB52DC2($9EE038E44D952DC2,$9EE038E445B52DC2,$9EE0D8E44DB52DC2,$9EE048E44DB52DC2,$9EE0F8E44DB52DC2= Default,$9EE038E94DB52DC2= Default) Local $9EE039E44DB52DC2=-1 Local $9EE038E44D452DC2=Binary("") If Mod($9EE048E44DB52DC2, 8 )<> 0 Then $9EE038E04DB52DC2="Derived key length must be a multiple of 8." Return SetError(- 1 , 0 , _ "") EndIf If $9EE038E44D952DC2="" Then $9EE038E04DB52DC2="Password cannot be blank." Return SetError(- 1 , 0 , _ "") EndIf If Not ($9EE0D8E44DB52DC2> 0 ) Then $9EE038E04DB52DC2="Number of iterations must be greater than 0." Return SetError(- 1 , 0 , _ "") EndIf If $9EE036E44DB52DC2=-1 Then _9EE038E446B02DC2() If @error Then Return SetError( 1 ,@error, _ "") EndIf If $9EE0F8E44DB52DC2= Default Then _9EE0E8E44DB52DC2($9EE0F8E44DB52DC2,$9EE038844DB52DC2) If $9EE038E94DB52DC2= Default Then $9EE038E94DB52DC2="Microsoft Primitive Provider" $9EE039E44DB52DC2=_9EE838E44D152DC2($9EE0F8E44DB52DC2, True ,$9EE038E94DB52DC2) If @error Then Return SetError( 2 , 0 , _ "") $9EE038E44D452DC2=_9EE038E447952DC2($9EE039E44DB52DC2,$9EE038E44D952DC2,$9EE038E445B52DC2,$9EE0D8E44DB52DC2,$9EE048E44DB52DC2) If @error Then If $9EE039E44DB52DC2<>- 1 Then _9EE038E443152DC2($9EE039E44DB52DC2) Return SetError( 3 , 0 , _ "") EndIf If $9EE039E44DB52DC2<>- 1 Then _9EE038E443152DC2($9EE039E44DB52DC2) Return $9EE038E44D452DC2 EndFunc Func _9EE038E443152DC2($9EE638E4EDB52DC2) Local $9EE038E42DB52DC2= 0 DllCall($9EE036E44DB52DC2, _ "int", _ "BCryptCloseAlgorithmProvider", _ "handle",$9EE638E4EDB52DC2, _ "ulong", 0 ) If @error Then $9EE038E42DB52DC2=@error $9EE038E04DB52DC2=_9EE038E44D3E2DC2($9EE038E42DB52DC2) Return SetError( 1 ,$9EE038E42DB52DC2, False ) EndIf Return True EndFunc Func _9EE038C44DBF2DC2($9EE038C44DB52DC2,$9EE038E4FDB52DC2,$9EE038E44CB52DC2,$9EE038324DB52DC2= True) Local $9EE038EFEDB52DC2="",$9EE038EB41B52DC2="",$9EE034844DB52DC2="",$9EE038E34DC52DC2="",$9EE03CE48DB52DC2="" Local $9EE028E40DB52DC2= 0,$9EE038344DB52DC2= 0,$9EE038E42DB52DC2= 0,$9EE748E44DB52DC2= 0 Local $9EE038E24DB52DC2[0] Local $9EEA38EC4DB52DC2="" Local $9EE730E44DB52DC2=Binary("") $9EE038E34DC52DC2=_9EE088B44DB52DC2($9EE038E44CB52DC2,$9EE038E44F652DC2) If @error Then Return SetError( 1 , 0 , _ "") $9EE03CE48DB52DC2=_9EE0B8844DB52DC2($9EE038E34DC52DC2, _ "ulong value") If $9EE038C44DB52DC2<>$9EE038D44DB52DC2 Then $9EE038E34DC52DC2=_9EE088B44DB52DC2($9EE038E44CB52DC2,$9EE038E440B92DC2) If @error Then Return SetError( 1 , 0 , _ "") $9EE03CE48DB52DC2=_9EE0B8844DB52DC2($9EE038E34DC52DC2, _ "ulong value") $9EE028E40DB52DC2=DllStructGetData($9EE03CE48DB52DC2, _ "value") $9EE730E44DB52DC2=Binary("") For $9EE098E44DB52DC2= 0 To $9EE028E40DB52DC2- 1 $9EE730E44DB52DC2&=Binary(Chr($9EE098E44DB52DC2)) Next $9EE034844DB52DC2=DllStructCreate(StringFormat("byte data[%i]",$9EE028E40DB52DC2)) DllStructSetData($9EE034844DB52DC2, _ "data",$9EE730E44DB52DC2) EndIf $9EE038EFEDB52DC2=DllStructCreate(StringFormat("byte data[%i]",BinaryLen($9EE038E4FDB52DC2))) DllStructSetData($9EE038EFEDB52DC2, _ "data",Binary($9EE038E4FDB52DC2)) $9EE038E24DB52DC2=DllCall($9EE036E44DB52DC2, _ "int", _ "BCryptDecrypt", _ "handle",$9EE038E44CB52DC2, _ "struct*",$9EE038EFEDB52DC2, _ "ulong",DllStructGetSize($9EE038EFEDB52DC2), _ "ptr", Null , _ "struct*",($9EE038C44DB52DC2=$9EE038D44DB52DC2)?( Null ):($9EE034844DB52DC2), _ "ulong",($9EE038C44DB52DC2=$9EE038D44DB52DC2)?( 0 ):(DllStructGetSize($9EE034844DB52DC2)), _ "ptr", Null , _ "ulong*", 0 , _ "ulong*", Null , _ "ulong",($9EE038C44DB52DC2=$9EE038D44DB52DC2)?( 0 ):($9EE088E44DE52DC2)) If @error Then $9EE038E42DB52DC2=@error $9EE038E04DB52DC2=_9EE038E44D3E2DC2($9EE038E42DB52DC2) Return SetError( 2 ,$9EE038E42DB52DC2, _ "") EndIf _9EE038E448152DC2($9EE038344DB52DC2,$9EE038E24DB52DC2,0) _9EE038E448152DC2($9EE748E44DB52DC2,$9EE038E24DB52DC2,9) If $9EE038344DB52DC2<>$9EE038E44DF52DC2 Then $9EE038E04DB52DC2=_9EE038E44FBD2DC2($9EE038344DB52DC2) Return SetError( 3 ,$9EE038344DB52DC2, _ "") EndIf $9EE038EB41B52DC2=DllStructCreate(StringFormat("byte data[%i]",$9EE748E44DB52DC2)) $9EE038E24DB52DC2=DllCall($9EE036E44DB52DC2, _ "int", _ "BCryptDecrypt", _ "handle",$9EE038E44CB52DC2, _ "struct*",$9EE038EFEDB52DC2, _ "ulong",DllStructGetSize($9EE038EFEDB52DC2), _ "ptr", Null , _ "struct*",($9EE038C44DB52DC2=$9EE038D44DB52DC2)?( Null ):($9EE034844DB52DC2), _ "ulong",($9EE038C44DB52DC2=$9EE038D44DB52DC2)?( 0 ):(DllStructGetSize($9EE034844DB52DC2)), _ "struct*",$9EE038EB41B52DC2, _ "ulong",DllStructGetSize($9EE038EB41B52DC2), _ "ulong*", Null , _ "ulong",($9EE038C44DB52DC2=$9EE038D44DB52DC2)?( 0 ):($9EE088E44DE52DC2)) If @error Then $9EE038E42DB52DC2=@error $9EE038E04DB52DC2=_9EE038E44D3E2DC2($9EE038E42DB52DC2) Return SetError( 2 ,$9EE038E42DB52DC2, _ "") EndIf _9EE038E448152DC2($9EE038344DB52DC2,$9EE038E24DB52DC2,0) $9EEA38EC4DB52DC2=BinaryMid(DllStructGetData($9EE038EB41B52DC2, _ "data"), 1 ,$9EE038E24DB52DC2[ 9 ]) If $9EE038324DB52DC2 Then $9EEA38EC4DB52DC2=BinaryToString($9EEA38EC4DB52DC2,$9EE018E94DB52DC2) If $9EE038344DB52DC2<>$9EE038E44DF52DC2 Then $9EE038E04DB52DC2=_9EE038E44FBD2DC2($9EE038344DB52DC2) Return SetError( 3 ,$9EE038344DB52DC2, _ "") EndIf Return $9EEA38EC4DB52DC2 EndFunc Func _9EE038E447952DC2($9EE039E44DB52DC2,$9EE038E44D952DC2,$9EE038E445B52DC2,$9EE0D8E44DB52DC2,$9EE038E44FB52DC2) Local $9EE038E24DB52DC2[0] Local $9EE038E42DB52DC2= 0,$9EE038344DB52DC2= 0 Local $9EE04CE44DB52DC2="",$9EE038F43DB52DC2="",$9EE73BE44DB52DC2="" Local $9EE038E44D452DC2=Binary(""),$9EE0B8E44FB52DC2=Binary(""),$9EE038E44D282DC2=Binary("") $9EE0B8E44FB52DC2=StringToBinary($9EE038E44D952DC2,$9EE018E94DB52DC2) $9EE04CE44DB52DC2=DllStructCreate(StringFormat("byte data[%i]",BinaryLen($9EE0B8E44FB52DC2))) DllStructSetData($9EE04CE44DB52DC2, _ "data",$9EE0B8E44FB52DC2) If IsString($9EE038E445B52DC2) Then $9EE038E44D282DC2=StringToBinary($9EE038E445B52DC2,$9EE018E94DB52DC2) Else $9EE038E44D282DC2=Binary($9EE038E445B52DC2) EndIf $9EE038F43DB52DC2=DllStructCreate(StringFormat("byte data[%i]",BinaryLen($9EE038E44D282DC2))) DllStructSetData($9EE038F43DB52DC2, _ "data",$9EE038E44D282DC2) $9EE73BE44DB52DC2=DllStructCreate(StringFormat("byte data[%i]",$9EE038E44FB52DC2/ 8 )) $9EE038E24DB52DC2=DllCall($9EE036E44DB52DC2, _ "int", _ "BCryptDeriveKeyPBKDF2", _ "handle",$9EE039E44DB52DC2, _ "struct*",$9EE04CE44DB52DC2, _ "ulong",DllStructGetSize($9EE04CE44DB52DC2), _ "struct*",$9EE038F43DB52DC2, _ "ulong",DllStructGetSize($9EE038F43DB52DC2), _ "uint64",$9EE0D8E44DB52DC2, _ "struct*",$9EE73BE44DB52DC2, _ "ulong",DllStructGetSize($9EE73BE44DB52DC2), _ "ulong", 0 ) If @error Then $9EE038E42DB52DC2=@error $9EE038E04DB52DC2=_9EE038E44D3E2DC2($9EE038E42DB52DC2) If $9EE039E44DB52DC2<>- 1 Then _9EE038E443152DC2($9EE039E44DB52DC2) Return SetError( 1 ,$9EE038E42DB52DC2, _ "") EndIf _9EE038E448152DC2($9EE038344DB52DC2,$9EE038E24DB52DC2,0) If $9EE038344DB52DC2<>$9EE038E44DF52DC2 Then $9EE038E04DB52DC2=_9EE038E44FBD2DC2($9EE038344DB52DC2) Return SetError( 2 ,$9EE038344DB52DC2, _ "") EndIf $9EE038E44D452DC2=DllStructGetData($9EE73BE44DB52DC2, _ "data") Return $9EE038E44D452DC2 EndFunc Func _9EE03CE44DF52DC2($9EE018E44FB52DC2) Local $9EE038E42DB52DC2= 0 DllCall($9EE036E44DB52DC2, _ "int", _ "BCryptDestroyKey", _ "handle",$9EE018E44FB52DC2) If @error Then $9EE038E42DB52DC2=@error $9EE038E04DB52DC2=_9EE038E44D3E2DC2($9EE038E42DB52DC2) Return SetError( 1 ,$9EE038E42DB52DC2, False ) EndIf Return True EndFunc Func _9EEF38044DB52DC2($9EE039E44DB52DC2,$9EE038AD4DB52DC2) Local $9EE038E42DB52DC2= 0,$9EE038344DB52DC2= 0 Local $9EE638B44DB52DC2="" Local $9EE038E24DB52DC2[0] Local $9EE018E44FB52DC2=-1 Local $9EE03DE74DB52DC2=Binary("") If IsString($9EE038AD4DB52DC2) Then $9EE03DE74DB52DC2=StringToBinary($9EE038AD4DB52DC2,$9EE018E94DB52DC2) Else $9EE03DE74DB52DC2=Binary($9EE038AD4DB52DC2) EndIf $9EE638B44DB52DC2=DllStructCreate(StringFormat("byte data[%i]",BinaryLen($9EE03DE74DB52DC2))) DllStructSetData($9EE638B44DB52DC2, _ "data",$9EE03DE74DB52DC2) $9EE038E24DB52DC2=DllCall($9EE036E44DB52DC2, _ "int", _ "BCryptGenerateSymmetricKey", _ "handle",$9EE039E44DB52DC2, _ "handle*", Null , _ "ptr", Null , _ "ulong", 0 , _ "struct*",$9EE638B44DB52DC2, _ "ulong",DllStructGetSize($9EE638B44DB52DC2), _ "ulong", 0 ) If @error Then $9EE038E42DB52DC2=@error $9EE038E04DB52DC2=_9EE038E44D3E2DC2($9EE038E42DB52DC2) Return SetError( 1 ,$9EE038E42DB52DC2,- 1 ) EndIf _9EE038E448152DC2($9EE038344DB52DC2,$9EE038E24DB52DC2,0) _9EE038E448152DC2($9EE018E44FB52DC2,$9EE038E24DB52DC2,2) If $9EE038344DB52DC2<>$9EE038E44DF52DC2 Then $9EE038E04DB52DC2=_9EE038E44FBD2DC2($9EE038344DB52DC2) Return SetError( 2 ,$9EE038344DB52DC2,- 1 ) EndIf Return $9EE018E44FB52DC2 EndFunc Func _9EE088B44DB52DC2($9EE0382447B52DC2,$9EE038A44DA52DC2) Local $9EE038E42DB52DC2= 0,$9EE038344DB52DC2= 0,$9EE038ED4DA52DC2= 0 Local $9EE0389443B52DC2="" Local $9EE038E24DB52DC2[0] $9EE038E24DB52DC2=DllCall($9EE036E44DB52DC2, _ "int", _ "BCryptGetProperty", _ "handle",$9EE0382447B52DC2, _ "wstr",$9EE038A44DA52DC2, _ "ptr", Null , _ "ulong", 0 , _ "ulong*", 0 , _ "ulong", 0 ) If @error Then $9EE038E42DB52DC2=@error $9EE038E04DB52DC2=_9EE038E44D3E2DC2($9EE038E42DB52DC2) Return SetError( 1 ,$9EE038E42DB52DC2,Binary("")) EndIf _9EE038E448152DC2($9EE038344DB52DC2,$9EE038E24DB52DC2,0) _9EE038E448152DC2($9EE038ED4DA52DC2,$9EE038E24DB52DC2,5) If $9EE038344DB52DC2<>$9EE038E44DF52DC2 Then $9EE038E04DB52DC2=_9EE038E44FBD2DC2($9EE038344DB52DC2) Return SetError( 2 ,$9EE038344DB52DC2,Binary("")) EndIf $9EE0389443B52DC2=DllStructCreate(StringFormat("byte data[%i]",$9EE038ED4DA52DC2)) $9EE038E24DB52DC2=DllCall($9EE036E44DB52DC2, _ "int", _ "BCryptGetProperty", _ "handle",$9EE0382447B52DC2, _ "wstr",$9EE038A44DA52DC2, _ "struct*",$9EE0389443B52DC2, _ "ulong",DllStructGetSize($9EE0389443B52DC2), _ "ulong*", 0 , _ "ulong", 0 ) If @error Then $9EE038E42DB52DC2=@error $9EE038E04DB52DC2=_9EE038E44D3E2DC2($9EE038E42DB52DC2) Return SetError( 1 ,$9EE038E42DB52DC2,Binary("")) EndIf _9EE038E448152DC2($9EE038344DB52DC2,$9EE038E24DB52DC2,0) If $9EE038344DB52DC2<>$9EE038E44DF52DC2 Then $9EE038E04DB52DC2=_9EE038E44FBD2DC2($9EE038344DB52DC2) Return SetError( 2 ,$9EE038344DB52DC2,Binary("")) EndIf Return $9EE0389443B52DC2 EndFunc Func _9EE438E46DB52DC2($9EE038C44DB52DC2,$9EE038E94DB52DC2="Microsoft Primitive Provider") Local $9EE038E24DB52DC2[0] Local $9EE038E42DB52DC2= 0,$9EE038344DB52DC2= 0 Local $9EE039E44DB52DC2= 0 $9EE038E24DB52DC2=DllCall($9EE036E44DB52DC2, _ "int", _ "BCryptOpenAlgorithmProvider", _ "handle*", 0 , _ "wstr",$9EE038C44DB52DC2, _ "wstr",$9EE038E94DB52DC2, _ "ulong", 0 ) If @error Then $9EE038E42DB52DC2=@error $9EE038E04DB52DC2=_9EE038E44D3E2DC2($9EE038E42DB52DC2) Return SetError( 2 ,$9EE038E42DB52DC2,- 1 ) EndIf _9EE038E448152DC2($9EE038344DB52DC2,$9EE038E24DB52DC2,0) _9EE038E448152DC2($9EE039E44DB52DC2,$9EE038E24DB52DC2,1) If $9EE038344DB52DC2<>$9EE038E44DF52DC2 Then $9EE038E04DB52DC2=_9EE038E44FBD2DC2($9EE038344DB52DC2) Return SetError( 3 ,$9EE038344DB52DC2,- 1 ) EndIf Return $9EE039E44DB52DC2 EndFunc Func _9EE838E44D152DC2($9EE038C44DB52DC2,$9EE038E44D152DC2= False,$9EE038E94DB52DC2="Microsoft Primitive Provider") Local $9EE038E24DB52DC2[0] Local $9EE038E42DB52DC2= 0,$9EE038344DB52DC2= 0 Local $9EE039E44DB52DC2= 0 $9EE038E24DB52DC2=DllCall($9EE036E44DB52DC2, _ "int", _ "BCryptOpenAlgorithmProvider", _ "handle*", 0 , _ "wstr",$9EE038C44DB52DC2, _ "wstr",$9EE038E94DB52DC2, _ "ulong",($9EE038E44D152DC2)?($9EE538E44DB32DC2):( 0 )) If @error Then $9EE038E42DB52DC2=@error $9EE038E04DB52DC2=_9EE038E44D3E2DC2($9EE038E42DB52DC2) Return SetError( 2 ,$9EE038E42DB52DC2,- 1 ) EndIf _9EE038E448152DC2($9EE038344DB52DC2,$9EE038E24DB52DC2,0) _9EE038E448152DC2($9EE039E44DB52DC2,$9EE038E24DB52DC2,1) If $9EE038344DB52DC2<>$9EE038E44DF52DC2 Then $9EE038E04DB52DC2=_9EE038E44FBD2DC2($9EE038344DB52DC2) Return SetError( 3 ,$9EE038344DB52DC2,- 1 ) EndIf Return $9EE039E44DB52DC2 EndFunc Func _9EE038E15DB52DC2($9EE0382447B52DC2,$9EE038A44DA52DC2,$9EE438E447B52DC2) Local $9EE038E42DB52DC2= 0,$9EE038344DB52DC2= 0 Local $9EE038E24DB52DC2[0] Switch VarGetType($9EE438E447B52DC2) Case "String" $9EE038E24DB52DC2=DllCall($9EE036E44DB52DC2, _ "int", _ "BCryptSetProperty", _ "handle",$9EE0382447B52DC2, _ "wstr",$9EE038A44DA52DC2, _ "wstr",$9EE438E447B52DC2, _ "ulong",BinaryLen($9EE438E447B52DC2), _ "ulong", 0 ) Case Else $9EE038E04DB52DC2="An unrecognized variable type was encountered in _9EE038E15DB52DC2 () ("&VarGetType($9EE438E447B52DC2)& _ ")" Return SetError(- 1 ,$9EE038E42DB52DC2, False ) EndSwitch If @error Then $9EE038E42DB52DC2=@error $9EE038E04DB52DC2=_9EE038E44D3E2DC2($9EE038E42DB52DC2) Return SetError( 1 ,$9EE038E42DB52DC2, False ) EndIf _9EE038E448152DC2($9EE038344DB52DC2,$9EE038E24DB52DC2,0) If $9EE038344DB52DC2<>$9EE038E44DF52DC2 Then $9EE038E04DB52DC2=_9EE038E44FBD2DC2($9EE038344DB52DC2) Return SetError( 2 ,$9EE038344DB52DC2, False ) EndIf Return True EndFunc Func _9EE038E44D3E2DC2($9EE038E42DB52DC2) Local $9EE038504DB52DC2="" Switch $9EE038E42DB52DC2 Case 1 $9EE038504DB52DC2="Unable to use the DLL file." Case 2 $9EE038504DB52DC2="Unknown return type." Case 3 $9EE038504DB52DC2="Function not found in the DLL file." Case 4 $9EE038504DB52DC2="Bad number of parameters." Case 5 $9EE038504DB52DC2="Bad parameter." Case Else $9EE038504DB52DC2="Unrecognized error. @error = "&$9EE038E42DB52DC2 EndSwitch Return $9EE038504DB52DC2 EndFunc Func _9EE038E42DBE2DC2() If $9EE036E44DB52DC2<>-1 Then DllClose($9EE036E44DB52DC2) _9EE098E44DB32DC2($9EE036E44DB52DC2,-1) EndIf EndFunc Func _9EE038E446B02DC2($9EE03FE44D452DC2= False) If $9EE036E44DB52DC2=-1 Then If $9EE03FE44D452DC2 Then $9EE0A8EE4DB52DC2= True $9EE036E44DB52DC2=DllOpen("bcrypt.dll") If $9EE036E44DB52DC2=-1 Then $9EE038E04DB52DC2="Unable to open bcrypt.dll" Return SetError( 1 , 0 , False ) EndIf OnAutoItExitRegister("_9EE038E42DBE2DC2") EndIf Return SetError( 0 , 0 , True ) EndFunc Func _9EE038E44FBD2DC2($9EE038344DB52DC2) Local $9EE738E44DB52DC2="" Switch $9EE038344DB52DC2 Case $9EE038E44DF52DC2 $9EE738E44DB52DC2="The operation completed successfully. " Case $9EEB38E44D852DC2 $9EE738E44DB52DC2="An invalid parameter was passed to a service or function." Case $9EE938E44AB52DC2 $9EE738E44DB52DC2="Not enough virtual memory or paging file quota is available to complete the specified operation." Case $9EE038244D052DC2 $9EE738E44DB52DC2="The object was not found." Case $9EE038114DB52DC2 $9EE738E44DB52DC2="The buffer is too small to contain the entry." Case $9EE038244D352DC2 $9EE738E44DB52DC2="An invalid HANDLE was specified." Case $9EE0E8E44D652DC2 $9EE738E44DB52DC2="An error occurred in reading or writing data." Case $9EE03DEC4DB52DC2 $9EE738E44DB52DC2="The request is not supported." Case Else $9EE738E44DB52DC2=StringFormat("Unrecognized status code. (%X)",$9EE038344DB52DC2) EndSwitch Return $9EE738E44DB52DC2 EndFunc Global Const $9EE0C8344DB52DC2 = 0x00001000 Global Const $9EE055E44DB52DC2 = 0x00000040 Global Const $9EE036EF4DB52DC2 = 0x00008000 Global Enum $9EE338E44AB52DC2 , $9EE0D8E40DB52DC2 , $9EE038044DD52DC2 , $9EE078E444B52DC2 , $9EE038E4AD452DC2 , $9EE038E4BDB82DC2 , $9EE038E142B52DC2 Global Enum $9EE038E4B7B52DC2 = 1, $9EE035E4EDB52DC2 Global Enum $9EE03CE44DB32DC2 = 0, $9EE034144DB52DC2 , $9EE038E4AFB52DC2 , $9EE738E4DDB52DC2 Global Enum $9EE0E8E94DB52DC2 = 1, $9EE03AE445B52DC2 , $9EE098E44DB12DC2 , $9EE0B8E49DB52DC2 , $9EE038E440652DC2 , $9EE038E440BD2DC2 , $9EEC38E44D452DC2 , $9EEC38E43DB52DC2 , $9EE033E44DB82DC2 , $9EE058EC4DB52DC2 , $9EE738E44DF52DC2 , $9EE0F8E44DB62DC2 , $9EE038344DB72DC2 , $9EE038E41D252DC2 , $9EE038640DB52DC2 , $9EE038444DB92DC2 , $9EE035E446B52DC2 , $9EE058E4EDB52DC2 , $9EE038E40DE52DC2 , $9EED38B44DB52DC2 , $9EEA36E44DB52DC2 , $9EE038E44D8C2DC2 , $9EE0E8E43DB52DC2 , $9EE238E44D152DC2 , $9EE058E44DB32DC2 , $9EE00AE44DB52DC2 , $9EE038E24DA52DC2 , $9EE038F46DB52DC2 Global Enum $9EE088E44D952DC2 = 0, $9EE038EC4DB62DC2 , $9EE034E44EB52DC2 , $9EE0E8E445B52DC2 , $9EE038E44FB22DC2 , $9EE03BE445B52DC2 , $9EE038F44BB52DC2 Global Enum $9EE938944DB52DC2 = 0, $9EE038EB4DBF2DC2 , $9EE038E449B02DC2 , $9EE0EDE44DB52DC2 , $9EE038E45EB52DC2 , $9EE038E441B82DC2 , $9EE088E44DB32DC2 , $9EE038643DB52DC2 , $9EE088E44DBE2DC2 Global Enum $9EE016E44DB52DC2 = 1, $9EE038E640B52DC2 , $9EE038E43AB52DC2 , $9EE038E443D52DC2 , $9EE038E44DC12DC2 , $9EE038E44D382DC2 , $9EE035E4CDB52DC2 , $9EE03FE44DB82DC2 , $9EE03BE448B52DC2 , $9EE238E04DB52DC2 Func _9EE038E99DB52DC2($9EE03CE44D852DC2,$9EE078E44D752DC2,$9EE338E84DB52DC2,$9EEF38E44D052DC2) Local $9EE038E24DB52DC2=DllCall("kernel32.dll", _ "ptr", _ "VirtualAlloc", _ "ptr",$9EE03CE44D852DC2, _ "ulong_ptr",$9EE078E44D752DC2, _ "dword",$9EE338E84DB52DC2, _ "dword",$9EEF38E44D052DC2) If @error Then Return SetError(@error,@extended, 0 ) Return $9EE038E24DB52DC2[0] EndFunc Func _9EE03EE446B52DC2($9EE03CE44D852DC2,$9EE078E44D752DC2,$9EE038244EB52DC2) Local $9EE038E24DB52DC2=DllCall("kernel32.dll", _ "bool", _ "VirtualFree", _ "ptr",$9EE03CE44D852DC2, _ "ulong_ptr",$9EE078E44D752DC2, _ "dword",$9EE038244EB52DC2) If @error Then Return SetError(@error,@extended, False ) Return $9EE038E24DB52DC2[0] EndFunc Global $9EE0C8ED4DB52DC2 Global $9EE038E44D252DC2 Global $9EECE8E44DB52DC2 Global $9EE018E74DB52DC2 Global $9EE03FEF4DB52DC2 Global $9EE03AE44BB52DC2 Global $9EE098E44D952DC2 Global $9EE0386A4DB52DC2 Global $9EE038E44DEE2DC2 Global $9EE038E44EB42DC2 Global $9EE838E44D752DC2 Global $9EE538E44D652DC2 Global $9EE09FE44DB52DC2 Global $9EE038E44D4C2DC2 Global Const $9EE038C44D152DC2 = 0 Global Const $9EE03DE44DB72DC2 = 1 Global Const $9EE078E4FDB52DC2 = 2 Func _9EE0385441B52DC2() $9EE0C8ED4DB52DC2= 0 _9EE03EE446B52DC2($9EE038E44D252DC2, 0 ,$9EE036EF4DB52DC2) EndFunc Func _9EE03CE74DB52DC2() If @AutoItX64 Then Return False Local $9EE008E44FB52DC2='magAAIcA24PsHItEJCBmiQgIEUQoBIvvjt8H6EMQDgGDxBzCig6HySfWIWgcZNJvEAE3svY3iPFiUAnAhEFUFhsQaAwYK01OAA8I6BxXDSsj2/kPxhaJyyyZPzBXNBIQJDw5Ajo4ojNwChEsCNKF+fTuFkL2/M1CBsj/X4gSA1nkC/MrhCztkXxKbJwGIUwlBBvGgPIhgDHAw3RVCu1XVlNcMy5Qo1yjQMN0x6ybSBQPtrgkB4X/dFNH0tGOgQK+gXjyj2F4E4tMJMsdcIl8gBgB+esEORjqfiNcA4N9xebH5jLMCsMGwfaIZwajGMfG9412BXIN+A9+2dqegBAalAxAHyHHHYnQKcPB+ASF8A+EDv+GovbDAxJEkY14RTM5wtz6aPW/vjIITKHWGOmzFshABxA2MgO2FGZH0kPIdkbIFQI5wdokAxzg7RIEDnB2iQUHODtEBoOcHaJBB84O0SAI5wdokAlzg7RICjnB2iQLHODtEgwOcHaJDQc4O0QOg5wdovsHavYbEBo7DMZSwkX6AsRCqs9VSMiopUE8NAHoTdw2QvQYMf8CuAGTqgFbXl9dwyYd1VEkcniSQEZwf+YafpBI4XGVa8jVRMcIw0TFZVtnWUNORsXruFR+PiwUfORM3C/oVFaGi9AxihR0oYbF6XVRkC4F+oiQ8maXmIaZGPfGAyEPhTNj/kT2fonIFlirqJpScbSoPeszSKSdnwNk/yiF+weIMhIIDnB2gQwHOS0pGOZHKQp+HYspJc9xELcLgXS16dqU04teb7Wt5xshdNy2/dIOKLQ8iWASUCRUzrAyXS9YSWaORK2ctEPzFipNXLTA+OsGOWzGRn4naFETriOxUFGJJtEyCxIOXUpUEHB5TMC6d0AV+oHTG0FdIrzInFAgAozZO/CGJvo2XJEIQUyV6yzIfNypycICJYYYFB66PQOpVN22QkpkIDoECAWpBQYo6QyJmVWoLgfCMheIFimprwzynRjPIR' & _ 'HKVqc+5CMCSBzPcMgDkSCe4ZEEcYz3DAWJKBnuGQadG1d2HAZ7R8gfB06weIPcSAhOsHiD3EgJTrB4g9xICk6weIPcSAtOsHiD3EgMTrB4g9xIDU6weIPcSA5OsHiD3FMkQh4S4JlHNyqZFlBCe0C2YJklT3EWkglhStj+CyE8epHncTQUR7FMFeQPJN59SRYEQtAhx5HFp+XAjFPbjxKvNNOVdkukBBNXwhTBTwdMi3RZokueIzFE+YjGzEtHPMTU/TJcJ8m4yOdlTxA65ylcZKQ3RCAxwQQCCIaRDOtEGBySAfLr6IuZHTq3F2XgMcKJFuQH+WVv5DMR9yHp6oYpASCYcx4KMcFUTqYzAiUc7Y19CRMygWgse2N+LSw/YIPRNM4YnOlGoTwsrLJ/wvH8pxAglKJTO4hCvkyM41r6TCTJCAZR/WIqGgw6dhnO+ieHJSG2QV2I2IWNRJOCxvSyP0LUTYm4X4Ue72HkSV9dQmxyTA4CiRwCAyQgCAS/wAWxnD201xvCc+xZZO76/AxyIAKWaaUOYbkfHA32E8RIIGQDJ1i4wyEEOsQohkIFSil/2lmC77LPhX2WiHvss4vfZZ6O+yyR99lnlL7LPZf2W5rNEiid8lgEbCV89T9ZBlOI+FSippLzmahPm1UYc9SS3FnEVEstC5MpiZfFChId258liLShS994539YuSrC+oiQPJtipTm5GAoQnQWyiDFZFMpYEQX+LMJWkfyniKjoTQgEiwwTVPFKBCPyHRzrJbKuZjD3LLQlAa6zstO1Ak0UN9KXuulsufH374k0R2ri50dnTOQUmks99FyyyxQZRLAVNEPCRrgwNP2BVWM7AmyLrCSIrr7unOqABx+8kISPtMiMhPfFD+N8ROvBJv0E4GRkRoXtEO4CgY0wd4P3Mt40MBSI0DjIDgWQQCIGQEgHiVACCCRYCAmQNCIKQDwLi8wIDJBMIg1AVA70VqFQXAMP6k7EMUssQaPrJ4sGrOhhs81Hn82h25/NdXDWhFV5kFUaHPPqi6j8MAazKCY1PTcCDU7W' $9EE008E44FB52DC2&='Jzi9Fb40RDiJBFIKQCQFMkgkBjJQJAcyWCQIMjQkCTI8JAoyRCQLMkwkDDfIkA3IXJAOyCy+xIT0kLZRpST5dJKlNNGNiU8DGaUoMvQQG/9IgCZsVWu0rSCQ/qRwcJGESARtxFYIlzjSTf/mxGQsJziQ/DTrIJAmkk6w7acpQHRUg+mRCr+LBCsxwxuvftSh2xVoRHucSBKROA8MAe+UtbQ8sZ5CAoF0lOlOWbI3MklOgxyLdDODfM1sQKbCD4h1NwDB/gSF9nQ9gwLuATHb6wpLrCIdL9KVBQdUHQXWBB8Xx41ILVkQOQKGdNe4SBwO5huHaZI8JqPLvDK9RdrBeA8D8BNfwfpjqPGESNIYd4mD6uqNljSSlYlhRus+6kaYH3NDyA8COcQDg5xIBDnEBYOcSAY5xAeDnEgIOcQJg5xICjnEC4OcSAw5xA2DnEgOOcXqCJMW0hbiiYtoiNaNhTXEA5jfhFSuSLuQnhyLRSS1usN7hvkJZ4dYAiRcH5IsYYRmDXODJRwkKTCMgzyZNXOy/yHSdH5c+etMORoTMQNdFVBDmwycCAw51p6hdEVbmqHMDAoFdJDpZWSbjh6sZ0cMtsoyFIm6EKSXDNK5CFITyusY/zsyXhJOg71WDEv5CTe9kSszR9wzXQSxTQjkVQwagf+gJYRTdpZBGEPAEL4BiOCFdAq4XtDE6cELjbUR8ot1hZp9DMEYr5jpVxjoUYOdNK/OGO7OtNwbBHvS74QKDCDqX1Yo6DohIDyudux2vIxQ6woIhB7oiyyfwc0QJRiPxgnYTOqp3BQzrJ4njd4VCEjaPYucUjEe1TOUlh6P0E8cQ8HoEJvpIGnR+VggvIEMDF6gnbSCi6qXkRvUvXZQG185iegl8YgVyisGIdbQe4KP4mSCP3DegY34pYGP4o6BP3EIHqHPgB/EuIB+4TKAG/H5fx/E4n9+4Vx/G/IjFU8x+8SGfm/ETX5/ETZ++4SwfW/Pd3H8YEd97hHafL8' & _ 'RoXz8ikd87iME1CPLe/viez9wLnuN+PV6j+Leej9wWHqN+R8Kogg/eIJ5jfhJeY/iMnk/cKx4jfhiaI/iS2g/cMVnh8jSWl5DRwInWp6ncgiAegwxwL4CEhCxN+opUvuA88QUCsPrEpAB+vFMVheNdhDfT4iWec4KxDIMfMCMI+BWkO+y6BEICjnJxyHtZOwiDBHrCUE2geMjcj3DoulAx4aMesX16jDJiyOEjgfLMwSsDM7toCAkqq2Zps4kXlbjCI+kMW/KdlQxjc9WDBTLqY47CLyoTF6JTetPuRzeAoVQ61WH3ojVgVWn5aHeViFdVfb+VY/kDT/xo1QPoX9UD7FGVBrZmzIUUOXe/oTFUz6EoVM+xGhTehBUU/+TaHjeQlK8w0NS7IpHUvFzUnZWv3Cl3tDlUYfYrFGP4pVRNfgiUYV5Bw/hzlAfxLdQa/FEUArxKVAPsfBPH8TZT2vxZk8K8UtPD7ISFUL7TjX4iE6FeG1Oh9g0To/kHW6hqk0K97RNPsRWTX8RP02vxMxMK8SxTD7EeEx/EWFMr8TuSyvE00s+xIk7fxFyO/xepd9srDOEKayH5W9Qso8W9Q3aNoXeWOQ6jS8Wv0VsuRTB2o/eMF47wFvUYapSmamtYJ56A8Hnxw9KAnDhEAnPyhIKBT8yARwIA4k4HhZyB9TmICEGGc4TBFIGBY8h54lw7BhafAtQ4yIKhETLCKsG3R8iz4lY0D9q/ELlIQ4Z6SEMQQZSDf3ih0TRiUjhUOhePkTwOFgP7WlMcc0DqonNweIYj9odvAkQMe8opAuQCEEYQWnl/8NEAhMYiXiURv6LPRQ289weZNmiHAgNQngEiFJNfxAgiCREKCIsAsB9EQgbojARNAg4hEA8c4ZGDOhAhEJEIUgQTCEmkRC6IVAQVJxhEFx2QnwjFHRCYCFkEGiIbBCMyBjdEHCIdE9wiHwQP8gc163Ly4ahKLCECMWmmIgbCKy7jGIRsuZ7ESAbopA5lB3GOZwMjYZDJLwUgcoC1wSgcqQ5qAjLyBCsh8eA8AoB' $9EE008E44FB52DC2&='RcZFCqC4FwzzOIkM/m7pqWaE2uUszYTrCn4giShAeueFkM/doUmF+3iS2nIE5izOhu0KTfx+i/xiDhRDDCMNE1ygClhkDE0TYhIUhAZWESYgBEQQF4xCFjLZIRSCBlIV7ib9ATh6Eigk3cL5diAsmonLJMHrWR4cO3iB3QLZpAsIEBhcj1NZQBMYiWgzXX6EoiIvm8rzoc9KM4KjhibxUM95iGgEid1PZeIwETQIOI0QPOJAEUQCahkIG6JIEUwIUI0QVOTK1CoFZUYM6GCEQmR7jRBs4nARdAGgeAgQjdF4CHyJsGKpQmjLmBKxOmtvt5UvcSMUXliot9NIv5TlmGx3nI2RoMikYrh3ERgbpxjDPCQj9Ky4w4WYtBIMx6DG30DjCPnI6LxkRDWE+/hfTZIo7SWxUTUPj1XJ/eB+geG7UxCKjNX8wIv2+IT4R8QiyPDeyxDMl1aQwMKDxAznWZEUIihALHKB5gshzjrClgsWMKR5B2IGOstZtClgemieM1UOHCRrWJVcLBBEDCdmDSzUSpMtTEFuSHRceoHnCyHPu0KWVsYqWEBnFKkGFXJ+iAwRFCMbFRomn2GXGTzKGIkfGB6FEByHUh304g3TRDh5EZR1JjAjns/MgnEXNBKKidkUkqg8DHZAyc6By1ILCA0wTqpAExiKw5qq9UTqoibCll2NKwflKPHp7pvt7B6ltExCCHyWklJTpc+RJXjyP0wME26n0Bo0Mw4IxwQ9izgx66mUYQB0EXAEEu+MqrbdmVLA7g+26473pTC+AMYmcEC3UgSuiERSwZrpPJlGqrxQjRBU4lgRXAI8GQgbomA0QmSeoRFsryNwRHQ4eIRAfJJCcyMMXrkEoa3EqKIERrB8lAJE6WRrtpOJrw+5JagoALxb9PK9Qb/eeb2I0HKKcBDC3RGg8qQe+xysjfGwHyO0ZLhyvBkODBSN0cAfIcTkyHLMHICNz8Fv77pOut43pN0qzqQLGBAYZLrnNBATxMj' & _ 'QiDN8MhTUMQgC2CIx+4S63DFUcQgYhRXfXZl+/pQm+2je5ZZiQTyZ3feO4EhRBIHkF6lpaugtSonsReTE4HIUG8DsCIu9SZlE0RA/1wvw+CB0TcQLfwwPEEgnABh1G+suPZEbHJBPdCU8L2Ofuyy6gJAQB7jcHxfrDalM/WuAZJvx/+P5GlgOZET1DIUIr/ky6ghbVREgIjRAOFqB4wsgy3UyQPNygeYHmcaIlT+Mr2p42TUtPLll8SEIXgboTv9qiACIUqgpc4xCDogMSVOat1L5lK4J9ei0a/bRRAyizY8zabICr6VvKxOWUPw+NBKywc4PnfEbGcruQaHmDQIVGBsQNt4zMxQJDNUkr6msJMvHGoADgNAHjRxb5jRQ2xF/zwMBU8MX3kSGHe6ANHaB9jEOIVASHf9J8f6iOgxk9pn9xMVIKe0ObG0bCMSD9+47R90szS1qehP1Ut3l9aQZzLS24qlJVUUf2tEWpQVmCCqQ7AS7nqqojZB8QxzfIVJk+FaYjyEM9EA83qWDn/4U95uzz0Lcj+WCHP3icUIQyV3+My9ZESbeTW7s7g4QqMOwnLYvaSuuB1nraxr4Q4OyigIibV7r6KITGNhdz/GnGT5fgxXUieZlFOqu9do8GYfpAQxJQtDJiBGkb1MrmXOBzUS1Sx3tYc/rS/Yt+xEb61stNjMrTtbiVpAm9w2yybCn0xOlhvdlLz7ZNajVkwlkqGT5REzp+dokiDIMDQfyWfkm3+SMmAUcjkA0zoO0RB1s9x9F2j1i26XlomSlcwUU1dkJ2k0FucDzpdyfyxTZHfI8BNmLIlBDz5lt6OJNIRIt7wI8fwX/Mv35wvSk2M2Y1u6CRFlb3lgK/EhwuhRTBNpB8vPdH8d9bwcreKUgCDfutXxI6xQX98poOzNdcxEyaxdYDDJ0FDnzF8hUgRUMt9yZaZWcaLp4LP+ZrekqmPh6yixlTOYzL9pS3kq/hRbr9fHOiOuWaZBC34laeDKB/RUnljvzIpVfF1Y4XJqASWqJSD2HNVw89l482WsZ72Cg' $9EE008E44FB52DC2&='Fc3riQ1jMfzdpd2W9RZpPTFEMwrp7i3ZM6YrpGTPkhbxZExd+SmP2YjNLwTZUIzQ7oxCVIhYcVxjwNI4u2JPaXSs1MCPu3yFy/RgJG1u3RPxKpos85N52TLUot/nfablcfEqIkX5ti28bbROjbdCss5st0bLIM/E/HhAms4hRERIOEyJHArEe2giGBkcD3yHRBQ3aP9EMGg0hRA44jzMnq/OiJRnRBwyFB75Dp6hu1yF+lLO+yT+G2JwIKXVBGfp+FEoDiIsRwx8gc0HaIirZohoIGQMcs3RIaPpyBUyDOniGpXMPM5qy9SPjhiJ/hfMMsL346DEU5nSLNGaEg2xG74vTmjTaKITSb0UCfUYM7p9t2pyVsAI1GWecKdE5EY0yN5z3CsHifIx2iTRiCkzm74UGAx4l4wU0EjPvFB2o7qwg8QgnRxkRDBEiUgf14mkjx5aB+vjxQ8Qy92hS5kNmH29S99v0yJomPran5XPb/lSzBk/ftJ/m7biHMlpBRA9X70sTrPf4vtlGShMlHF0NTHrSifZhc2joCTd7cUI+Ql3nlvnzVTPNKk3To4FlqJdgsqJ0dMK5dFqq98U06n8iaGl1Uqn8rQpAn5WY3Y+x96yOl8QmYlM04LeI57a/fuMQ9PImaWR6QjR82dm0+ViNmitM/xbOzU+i1ok2zLR9TEEGd7xN1G4P2LiM2SM0AmbuBiN0RgbiBhrYtIcnNAbna2iIJ5GvCIYRRTSFxEUuiMUcRQOoiAEoGIUJAxdIXEMG6IMNxAM6mlCedcs7eUQie8LnogQ3REQuBCORiifYXkEOzFpM1SSndPfcyPTXErW2j7I1WUsKJIoi+xeI+QoEuNFTKI11tzwu7GGQJlnQl+TKNjfhcXfvCWXzWnaldEW+5oQsv4kLDoiLHjft5EnfJJF96WymxyLGUoq2BTf6s2C3Mdp81Em3TpFrwkN7ywCBLh+W8QUXTItIC6QI5gRDHSJHBdIEZyIELpEBIukqmO' & _ '16iIhKOkChE0/ECwgze0RKF5+dUIoP92FxN0y61aoXJyD9ZAs6Cy0zU7XpGjfkPiC1btDSRYP1EmXLByIkz/ori/LiORYCJiMk0JEXFAEElhwLT/+KAQJWHQWPL2UlUl4OX2KDwSpfJd1ifJcXoHpPXWRbB39iaNXt8tpYkNp4e8h8zdPaRY6cWRUkXVieGBZT+kWciV4ZDrERW+JeGhOOZFsYnhs5a4kaVpXhAXay2Z9TFRjvMVfW93bJ2OyfCPvibQr7GhNWGCoWPMyXeJAFxBEuEiNEEy8lUtat0RIXfriMB8QNLg4hcQ8LiMgTxC8aEpZt1BIXe+l7AMtKGvOV2Ymf0ssiLLzkSC+pxCaS+XnJA0pErunGCuSs9XrHCdLCAQAWKs13QkB/gERuYnXbyftiET9CvoLkAh1SOoSIeKKPJGRSIESOL2WKgT0JFgIim785VnD+TAPIkDlEljeblZrCgruX/0z/RKY4KJj6BCB5AuyDAToLkqi1qT58CXsRWLRBA6IBPRMzgOz3uLzVGJxBD95AM5hMPulRuTlWc1AJN9zafuvkM5ehWzpx0qyWawYp6NEGG6IGNRGGLLUMlW/1hQUo+gUjdEUGogU1kbYSuNT0iMLHEoM51MJ0YnKiPpVkOoUFFKAKNIRi3TVx13F0yqdIdbT4sudm4qJ1ZnR2t3KAtc53BS8DsTGVK2Qj91vtNCS8xKtKieQqHTxG6IcNxAc18U2t4kiCPsXiVFXWcAYHL659W81nqfoXnQwI6jEEhCn9atCnq14xSXITvVtHFwGCpyaJDWbwjQktZoKLCSZdRA8To2UBIGVeYnQ306uIpWyCWvkbTA4otv083ppHDyo+YkoiXztiFJeNvUh0eQEdKjBuLCdPzlRLAp6lbPNzH2JQqi00zn1FTSep9henTJ1VTc7WThKkiI0+xeI+TQ7NWnHQtTOypZbCCuaCWpPc/2uReTfLkrX/ahu0LrIOHRBOD3Aa+JEa/0uNP7rzdX2qRlxAOlZ0SXb6xIc47+IMLpApJc265WxxagX' $9EE008E44FB52DC2&='pevZPZEtPHSfRg6alZVO01gIyJUfTLauXjpE5W8ZIQRRBB3iPk44jhqILLpCtL0wiZh+VmnjvyIpNMkIuFzuxQTod6g0S03d9K1h53c+QuWxfg2T26Lp1uD7zPbjqfHrPEbpEs4geeH6RiZGgLKEHZCIgukzDGcjkYxBpkoHSSIa2TMSalF9lF7rMh2kvPTqxDQkqDOttChKTsE4y920C3ksuQql0UZYaHCVtGC4S7lPCWh0WWBLK8AYxGh4lztyLic0RWRo6Moy/4EEV5wMQLomQ0uJBGzyePvSGbkM8t5VnDxb8nxU8o9E1bo6+FA775kOcN0zRHTW9O6MW/d1Vos0E3hgOwsTeGQrCCd40J+RAm+pbBj/6DFwRuFyJpIeBGHk3y5Pzje9ZiGzPLXeIE/JN/IXi3hQnRqLeFSVF494WOnrlgexGEd42agHsiXER0OyILonIUlupNZXqYbSZSyqeYhjE9LiS78hONE4YxkjIM0jLSSeI+kCGWhA8ZXsRzC8EUJoRHRpUtCCtIZJ/GIZ2Rs8F0gXTGoYkvNMq1YBsyy1zhmiMB8QNLg4hcQ8ENEn3pxbQKoPT0edhiMSiN90St+JPxSl4l++j3j3Kyc+eF0jt/53dx+ULKyRtJIC8XUMIgz1nU4BdYmUCNsnuvNRCt7nAvWW53z9Su+j+JGFXAKpCZom0F4yv/Vk66ThXv3dIPKTxidI/lIdfu7QPfCWqKJ1nyx/DhSLxBDOLnwbZwj4J2Q9sMbIMzQRHErHlfVF7nJb7xLHDif6RE7zthIk9+txNALOCN0SMLKpEnAEshJ3nelcSOJ/nxeRQKhShP0ILImQggN1HOsvf7IbfxUcbqjU0AXfjQhW7M8bTFBpjF7154MQMxJSGwkiCWpE1TCJNhKlJDhIv5FAIqNEnoGJ8xLXJPtIfJHjIjlEgpuJLxL/JIdINJGOIkNERMSJ3hLpJMtIVJF7IpREMqaJwhIjJD1I7pFMIpVEC0KJ+hL' & _ 'DJE5ICJEuIqFEZiiJ2RIkJLJIdpFbIqJESW2JixLRJCVIcpH4IvZEZIaJaBKYJBZI1JGkIlxEzF2JZRK2JJJIbJFwIkhEUP2J7RK5JNpIXpEVIkZEV6eJjRKdJIRIkJHYJqsp6eqP8tNk0wkKSPeR5CJYRAW4ibMSRSQGSNCRLCIeRI/KiT8SDyQCSMGRryK9RAMBiRMSiiRrSDqRkSIRREFPiWcS3CTqSJeR8iLPRM7wibQS5iRzSJaRrCJ0RCLnia0SNSSFSOKR+SI3ROgciXUS3yRuSEeR8SIaRHEdiSkSxSSJSG+RtyJiRA6qiRgSviQbSPyRViI+REvGidISeSQgSJqR2yLARP54ic0SWiT0SB+R3SKoRDOIiQcSxyQxSLGREiIQRFkniYAS7CRfSGCRUSJ/RKkZibUSSiQNSC2R5SJ6RJ+TickSnCTvSKCR4CI7RE2uiSoS9SSwSMiR6yK7RDyDiVMSmSRhSBeRKyIERH66iXcS1iQmSOGRaSIURGNViSESDCR9VmoBqqhel74RAFH0p1B+QWVTABoXpMM6J16WADura8sfnUXxHqz6WIBL4wOTIDDyVQOtdm32iMyokfUCAEwlT+XX/MUqdcsAJjVEgLVio48A3rFaSSW6G2cAReoOmF3+wOEAwy91AoFM8BIAjUaXo2vT+cYAA49f5xWSnJUOv21666BSWdrUvgCDLVh0IdNJ4ABpKY7JyER1wh6JavRAeXiZWD5rACe5cd2+4U+2APCIrRfJIKxmAH3OOrRj30oYAOUaMYKXUTNgAGJTf0WxZHfgALtrroT+gaAcAPkIK5RwSGhYD49F/Rkg3myHUnsA+Lerc9MjcksAAuLjH49XZlX8KgCy6ygHL7XCAwCGxXua0zcIpX8wDofyI7/gsgIDaroA7RaCXIrPHCsAp3m0kvMH8vAATmnioWXa9M0ABgW+1dE0Yh8OxKb+iuAuU52i8x5VoAWA4TKk9ut1AAuD7DlAYO+qAF5xnwa9bhBRAz4hivmW3ds9n5AFrk3mAL1GkVSNtXHE' $9EE008E44FB52DC2&='fV0ABAbUb2BQFf8AGZj7JNa96ZcAiUBDzGfZnncfsOhCnwdAi4jnGVs4AHnI7tuhfApH5kICD+n4hB7JEAmAA4aDMivtSPARcKwAbFpyTv0O//sAD4U4Vj2u1R4HNi05JwrQ2WRoXACmIZtbVNEkNgAuOgwKZ7GTVwDnD7TultIbmwCRnoDAxU9h3AAgolp3S2kcEgAaFuKTugrAoAMq5Twi4EP4GxcdAA4JDQvyi8etAC22qLkUHqnIAFfxGYWvdQdMAO6Z3bujf2D9APcBJp9ccvW8AERmO8Vb+340AItDKXbLI8bcALbt/Gi45PFjPdcxncpCgIUQE5ciQA+ExhEgQEokfdK7Bz34rvky0McpoW0AHZ4vS9yyMPMADYZS7HfB49AAK7MWbKlwuZkAEZRI+kfpZCIAqPyMxKDwPxoPVn0s2KAzkO+HSQBOx9k40cGMygCi/pjUCzam9QCBz6V63ijatwCOJj+tv6QsOgCd5FB4kg1qXwDMm1R+RmL2jQATwpDYuOguOZjCAILDr/WfXYC+AGnQk3xv1S2pAM8lErPIrJk7ABAYfafonGNuetsDu3vNJngJyFkY9APsmrcBg0+oqOaV/GU7qv8AfiG8zwjvFX/oALrnm9lKbzbOAOqfCdQpsHzWATGksq8qPyPcxqUAlDA1ombAdE4AvDf8gsqm4JAA0LAzp9gV8QQAmEpB7Nr3f80AUA4XkfYvdk0H1o1D77BjzKrIVOSWAATfntG140xqAIgbwSwfuEZlAFF/nV7qBAGMADVd+od0c/sLAEEus2cdWpLbANJS6RBWM23WAEcTmtdhjDehAQx6WfgUjuv4PIkAzqkn7rdhyTUA4Rzl7XpHsTwAnNLfWVXycz8OGBTOecDHN79T9wDN6l/9qlvfPQBvFHhE24bKrwDzgbloxD44JAA0LMKjQF8WHQDDcrziJQwoPABJi/8NlUE5qB8BcQiAs97YtOScAGRWwZB7y4RhFtUytgA3bFx' & _ '00LgXV0JQSAFTkcMilkTL8Yu0SJORVSL2RJElifwXGJGAIo9ESWeJmBLhJAJIEpGjIsZE55WJ6xLaJC1I05EpIkREaniJaxLdJLZIF5FmIrREGIKJYBJFJOBIhJEcIpREWBmJhxK3JCNI4pFXIipEBwOJmhKlJPJIspG6IlxEK5KJ8BKhJM1I1ZEfIopEnaCJMhJ1JDlIqpEGIlFE+T2JrhJGJLVeYkRv/4kkEpckzEh3vUSIiTgS2yRHSOmRyXCJgxJIJKxITpH7Ilb/EickZEghkdEiOkSxD4nSEp4kT0iikWkiFkQK5YlDEh0kC0itkbkiyESFTIm7Ev0kn0i8kcUiNER23IloEmMkykgQkUAiIER9+IvMSG2RSyLzROzQiWwSmST6SCKRxCIaRNjviccSwST+SDaRzyIoRCakieQSDSSbSGKRwiLoRF71ib4SfCSpSLOROyKnRG57iQkS9CQBSKiRZSJ+RQjuJNlIzpHUItZFr84kMEjAkTcipkSwFYlKEvckDkgvkY1yiVQS3yTjSBuRuCJ/RARdiXMSLiRaSFKRMyITRIx6iY4SiSTuSDWR7X2JWRI/JHlIv5HqIlv9EoYkgUg+kSwiX0RyDImLEkEkcUjekZwikERhcIl0EkIkp0hlkaQiXkRrRYlYEgMusSJt4xJMJNdIy5FEIqNEWhuJDhLAJHVI8JGXIvlEX5yJehJZJINIIZFpIshEiXmJPhJxJE9IrZGsIjpESjGJMxJ/JHdIrpGgIitEaP2JbBL4JNNIApGPeokoEsIke0gIkYd3iWoSgiQcSLSR8iLiRPS+iWIS/iRTSFWR4SLrROzviZ8SECSKXuJFBfokjUhdkdQiFUT76YlDEp4kQkiLkVsi7kQKD4keFwiRhiLtRHByif8SOCTVSDmR2SKmRFQuiWcS5ySWSJGRxSIgREsaiboSKiTgSBeRDSLHRKipiRkSByTdSGCRJiL1RDt+iSkSxiT8SPG9xIWJIhIRJCRIPZEyIqFELzCJUhLjJBZIuZFIImREjD+JLBKQJE5I' $9EE008E44FB52DC2&='0ZGiIgtEgd6JjhK/JJ1IkpHMIkZEE7iJ9xKvJIBIk5EtIhJEmX2JYxK7JHhfYkW3xi9RconPEugkm0g2kQkifESyI4mUEmYkvEjKkdAi2ESY2olQEvYk1kiwusQEibUSiCQfSFGR6iI1RHRBiR0S0iRWSEeRYSIMRBQ8iScSySTlSLGR3yJzRM43ic0SqiRvSNuR8yLERDRAicMSJSRJSJWRASKzROTBiYQStiRcSFeR9CJBRBcniasSnST6SOORMCJ2RMwCieUSKiQ1SGKRsSK6ROr+iS8STCRGSNORjyKSRG1Sib4SdCTgSMmRwnWJWBK5JOFIiJEgIs5E3xqJURJTJGRIa5GBIghESEWJ3hJ7JHNIS5EfIlVE67WJxRI3L/Eiv0QDFonPEnkkB0hpkdoiBUQ0pokuEvMvUSL2RINgiXESbiQhSN26xOaJVBLEJAZIUJGYIr1EQNmJ6BeYkRkiyER8QomEFwiRgCIrRBFaiQ4ShSSuSC28xFyJWxfYvsRXie4SmyTASNyRdyISRJOgiSISGyQJSIuRtiIeRPF1iZkSfyQBSHKRZiL7REMjie0S5CQxXaJEl8aJShK7JPlIKZGeIrJEhsGJsxJwJJRI6ZH8IvBEfTOJSRI4JMpI1JH1InpEt62JOhJ4JF9IfpGNIthEOcOJXRLQJNVIJZGsIhhFnOokJkhZkZoiT0SV/4m8EhUk50hvkZ8isESkP4mlEqIkTkiCkZAip0QE7InNEpEkTUjvkaoilkTRaoksEmUkXkiMkYciC0Rn24kQEtYk10ihkfh+iakSYSQcSEeR0iLyRBTHifcS/SQ9SESRryJoRCSjiR0S4iQ8SA2RqH6JtBJWJMtIMpFsIriXFRETY+bjJ3fMp07y2DdvnTGjMDtiU2deh8T+/RuJq/N7E8r2FyfJ7HBO+phHR52xS60+YmOidqfEnPlviXLTsxO35lMlk+zPTjbY3/efMY80P2Kr5XZHxHH5T4kx83cTBKb' & _ 'LJyPsM04Y2LMFnbEbBzpi34B2q8Tr6eOJstunEwmmcycsbKNOG9i3Wp0xu1Ic1p8xlylqYg8vfN/EU/1rnCfsF04g2LOxn7GXampiB77UQ8RK/e+JWPNzE9C2Jy2qTG9OQ9gnM58xX0UcAp2xg1A7YiefdtPFUam7iUD7HxOS9nsnOGxjT7zYy9qdsRcQamK783xHxM3tK4kT2fPFl6nLixdTzxOntnstPUxDT12YB3OfMR+BP2JX3H4jxCr994uIUxcT7vbXLRRsG1pemOvbnzEbMj9ipwrUw8UGqd+LXFsrE9P2gydi7MtalZgzeZ+xj8g/Yn9t1HvF1a07i6lTvxNW9gst6kzbT3qYhwifMU94a2IrLn6/xaapA4nG+9MT3fb/Jx/sg1q92GOKtbEbPj9iE2bWJ8UDrW+JDvPDFjW2Gy25bH9awZgHnp8xv/hrYo8RfMvF2blTi5RzbxYe5mst6UyjW1WYB9+1sU+hamJLDdzPxea5R4toU/MTmfanJw/sc09U2G8Wis0BVVUlxRFDxmOIpfh84oQ47neOmfZ7I43/8ogN1mvivTjeb46xkcUjVGAwiFACAeIDOM5njqlWKyN95/6IGbXX4mI4TauO5ux2I5qPyohFH4LinTiJyY5A+n0nh+9ewxWyWYjrjkfiyTj78I4LQa0j7LPUiGdfouL9OEWvjuojnCO/U6SI9+Ry4pY4m8COW3W3I8Lh/YgcPZPirjhMJo5qbDYjWn4/iEH19+ICOIPMjk9oNCNcUaWI9NHl4+j58eIIOOJxjpOr2CNzYjGIUyoV4j84CASODJXHI1JGI4hlncPiXjgwGI4oN5YjoQoFiA8vmuK1OA4HjgkkEiM2G4CIm9/i4j04zeuOJk4nI2l/so+z6nWInxIJ4hs4HYOOnlgsI3Q0Gosuf1IcLdxuR7K0WhHuW6DE+6RxUhz2djtHTbfWEWF9s8XO/SnEe91x4xw+Xi9HcROEEZemU8T1uXHRkXko5nHtHCxAIEdg4/wRH3mxxMi2cVsc7dRqR76NyxNGZ7dx' $9EE008E44FB52DC2&='2XI5xEuUcUoc3phMR9SwWBHohc/H8bvQxGvFce8cKk+qR+Xt+xEWhkPH+ZpNxNdmcTMcVRGFR5SKRRHP6fnEEARxAhwG/n9HgaBQEfB4PMREJXGfHLpLqEfjolER812jxP6AcUAcwAWPR4o/khGtIZ3EvHBxOBxI8fVPBGNex993thHBr9rEdUJxIf4gcRAcMOX/Rxr98xEOv9LEbYFxzRxMGAxHFCYTETXD7MQvvnFfeeFxlxyiiERHzC4XETmTxMRXVXGnHPL8fkeCej0RR8hkxKy6cV0c5zIZRyvmcxGVwGDFoO2BxJiecU8c0aPcR39EIhFmVCrEfjtxkByrC4hHg4xGEcrH7sQpa3G4HNMoFEc8p94RebxexOIWcQscHa3bXHbc4Ec7ZDIRVnQ6xE4UcQocHpJJR9sMBh9HSCQRbLhcxOSfccIcXb3TR25DrBHvxGLEpjlxkRyoMZVHpNPkETfyecSL1VHni9XIxENu/fxZ2nFtHLcBjUeMsdURZJxOxNJJcakc4NhsR7SsVhH68/TEB89x6hwlymVer9x6Zp8crkfpEAgRGG+6xdUhUcSISnEl9lxxLhxyOBxHJFemEfFztMTHl3HGHFHL6Ecjod0XfHd0EZw+H8QhlnFL/GFxvRzcDYtHhg+KEYXgcMSQfHE+HEJxtUfEzGYXqtdIEdgGA8QF93H2HAEcDkcSwmERo2o1xF+ucVcc+Wm5R9AXhhGRmcHEWDpxHZiGcZ4cudnhRzjr+BETK5jEsyJxERwz0mlHu6nZEXAHjsWJ9ZTEpy1xmxy2PB5HIhWHEZLJ6cUg3c7ESapxVRz/UChHeKXfEXoDjMSPWXGhHPgJiUeAGg0RF2W/xNrXceYcMYRCR8bQaBG4gkHEwylxmRywWi1Hdx4PExF717HLqFTE/G1xuxzWLBZLOqWkAYRImZGNIg1EvbGJVBJQJANIqZF9IhlEYuaJmhJFJJ1IQJGHIhVF6/okC0jskWci/UTqv4n' & _ '3EpYkW0jCkRwirkRqWolBEgIkT0hckfR2iQgSkyRzSFORPyIMRFJliV4SKCShSA+RtSIJRDabiT0SJiRpXeJEnxuJnhJ0JC5ILZGyIu5E+/aJTRJhJM5Ie5E+InFEl/WJaBcIkSwiYEQfyIv0SL6RRiLZREveidQS6C9RImtEKuWJFhe4kdciVUSUz4kQEgYkgUjwkUQiukTj84n+EsAkikitkbwiSEQE34nBEnUvcSIwRBoOiW0STCQUSDWRLyLhRKLMiTkSVyTySIKRRyKsROcriZUSoCSYSNGRfyJmRH6riYMSyiQpSNORPCJ5ROIdiXYSOyRWSE6RHn+LtEhskeQiXURu74mmEqgkpEg3kYsiMkRDWYm3EowkZEjSkeAitET6B4klEq8kjkjpkRgi1UWI3iRySCSR8SLHRFEjiXwSnCQhXqJE3IaJhRKQJEJIxJGqIthEBQGJEhKjJF9I+ZHQIpFEWCeL9Eg4kRMis0Qzu4lwEokkp0i2kSIikkQgSYn/EngkekiPkfgigEQX2okxEsYkuEjDkbAid0QRy4n8EtYkOkhjkXwid0R78olrEm8kxUgwkQEiZ0Qr/onXEqskdkjKkYIiyUV9yiRZSEeR8CKtRNSiia8SnCSkSHKRwCK3RP2TiSYSNiQ/SPeRzCI0RKXlifEScSTYSDGRFSIERMcjicMSGCSWSAWRmiIHRBKAieIS6yQnSLKRdSIJRIMsiRoX+JFuIlpEoFKJOxLWJLNIKZHjIi9EhFOJ0RcIke0iIET8sYlbEmoky13iRDlKiUwSWCTPSNCR7yKqRPtDiU0SMySFSEWR+SICRH9QiTwSnySoSFGRoyJARI+SiZ0SOCT1XuJEttqJIRIQJP9I85HSIs1EDBOJ7BJfJJdIRJEXIsREp36JPRJkJF1IGZFzImBEgU+J3BIiJCpIkJGIIkZE7riJFBLeJF5IC5HbIuBEMjqJChJJJAZIJJFcIsJE06yJYhKRJJVI5JF5IudFyP4kbUiNkdUiTkSpbIlWEvQk6khlkXoirkQIuol4' $9EE008E44FB52DC2&='EiUkLkgckaYitETG6IndEnQkH0hLkb0ii0SKcIk+ErUkZkhIkQMi9kQOYYk1ElckuUiGkcEiHUSe4Yn4EpgkEUhpkdkijkSUm4keEock6UjOkVUiKETfjImhEokkDUi/keYiQkRoQYmZEi0kD17iRFS7iRYSYyR8SHeReyLyRGtvicUSMCQBSGeRKyL+RNeriXYSyiSCSMmRfXGJWRJHJPBIrZHUIqJEr5yJpBJyJMBIt5H9IpNEJjaJPxL3JMxINJGlIuVE8XGJ2BIxJBVIBJHHIiNEwxiJlhIFJJpIB5ESIoBE4uuJJxKyJHVICZGDIixFGvokbkhakaAiUkQ71omzEikk40gvkYQiU0XRYwBZASIgRPyxiVsSaiTLXaJEOUqJTBJYJM9I0JHvIqpE+0OJTRIzJIVIRZH5IgJEf1CJPBKfJKhIUZGjIkBEj5KJnRI4JPVeokS22okhEhAk/0jzkdIizUQME4nsEl8kl0hEkRcixESnfok9EmQkXUgZkXMiYESBT4ncEiIkKkiQkYgiRkTuuIkUEt4kXkgLkdsi4EQyOokKEkkkBkgkkVwiwkTTrIliEpEklUjkkXki50XI+iRtSI2R1SJORKlsiVYS9CTqSGWReiKuRAi6iXgSJSQuSByRpiK0RMboid0SdCQfSEuRvSKLRIpwiT4StSRmSEiRAyL2RA5hiTUSVyS5SIaRwSIdRJ7hifgSmCQRSGmR2SKORJSbiR4ShyTpSM6RVSIoRN+MiaESiSQNSL+R5iJCRGhBiZkSLSQPXqJEVLuJFhBew1KXmBHRWovVvCCqqtZLB0A54wJnTyYIJ+Qg3FeAsxecNisBUFjDwAA=' Local $9EE036E447B52DC2=String(_9EE838044DB52DC2($9EE008E44FB52DC2)) $9EECE8E44DB52DC2=(StringInStr($9EE036E447B52DC2, _ "87DB")- 3 )/ 2 $9EE018E74DB52DC2=(StringInStr($9EE036E447B52DC2, _ "87C9")- 3 )/ 2 $9EE03FEF4DB52DC2=(StringInStr($9EE036E447B52DC2, _ "87D2")- 3 )/ 2 $9EE03AE44BB52DC2=(StringInStr($9EE036E447B52DC2, _ "87F6")- 3 )/ 2 $9EE098E44D952DC2=(StringInStr($9EE036E447B52DC2, _ "09C0")- 3 )/ 2 $9EE0386A4DB52DC2=(StringInStr($9EE036E447B52DC2, _ "09DB")- 3 )/ 2 $9EE038E44DEE2DC2=(StringInStr($9EE036E447B52DC2, _ "09C9")- 3 )/ 2 $9EE038E44EB42DC2=(StringInStr($9EE036E447B52DC2, _ "09D2")- 3 )/ 2 $9EE838E44D752DC2=(StringInStr($9EE036E447B52DC2, _ "09F6")- 3 )/ 2 $9EE538E44D652DC2=(StringInStr($9EE036E447B52DC2, _ "09FF")- 3 )/ 2 $9EE09FE44DB52DC2=(StringInStr($9EE036E447B52DC2, _ "09E4")- 3 )/ 2 $9EE038E44D4C2DC2=(StringInStr($9EE036E447B52DC2, _ "09ED")- 3 )/ 2 $9EE036E447B52DC2=Binary($9EE036E447B52DC2) $9EE038E44D252DC2=_9EE038E99DB52DC2( 0 ,BinaryLen($9EE036E447B52DC2),$9EE0C8344DB52DC2,$9EE055E44DB52DC2) $9EE0C8ED4DB52DC2=DllStructCreate("byte["&BinaryLen($9EE036E447B52DC2)& _ "]",$9EE038E44D252DC2) DllStructSetData($9EE0C8ED4DB52DC2, 1 ,$9EE036E447B52DC2) OnAutoItExitRegister("_9EE0385441B52DC2") EndFunc Func _9EE438E44EB52DC2($9EE078E49DB52DC2) $9EE078E49DB52DC2=Binary($9EE078E49DB52DC2) Switch BinaryLen($9EE078E49DB52DC2) Case 0 To 16 Local $9EE030E44D452DC2= 16 Case 17 To 24 Local $9EE030E44D452DC2= 24 Case Else Local $9EE030E44D452DC2= 32 EndSwitch Local $9EE092E44DB52DC2=DllStructCreate("byte["&$9EE030E44D452DC2& _ "]") DllStructSetData($9EE092E44DB52DC2, 1 ,$9EE078E49DB52DC2) Return DllStructGetData($9EE092E44DB52DC2, 1 ) EndFunc Func _9EE231E44DB52DC2($9EE078E49DB52DC2) If Not IsDllStruct($9EE0C8ED4DB52DC2) Then _9EE03CE74DB52DC2() $9EE078E49DB52DC2=_9EE438E44EB52DC2($9EE078E49DB52DC2) Local $9EED38E44D952DC2=DllStructCreate("byte[244]") Local $9EE038EC4DC52DC2=DllStructCreate("byte["&BinaryLen($9EE078E49DB52DC2)& _ "]") DllStructSetData($9EE038EC4DC52DC2, 1 ,$9EE078E49DB52DC2) DllCall("user32.dll", _ "none", _ "CallWindowProc", _ "ptr",DllStructGetPtr($9EE0C8ED4DB52DC2)+$9EE03FEF4DB52DC2, _ "ptr",DllStructGetPtr($9EED38E44D952DC2), _ "ptr",DllStructGetPtr($9EE038EC4DC52DC2), _ "uint",BinaryLen($9EE078E49DB52DC2)* 8 , _ "int", 0 ) Return $9EED38E44D952DC2 EndFunc Func _9EE018EF4DB52DC2($9EE078E49DB52DC2) If Not IsDllStruct($9EE0C8ED4DB52DC2) Then _9EE03CE74DB52DC2() $9EE078E49DB52DC2=_9EE438E44EB52DC2($9EE078E49DB52DC2) Local $9EED38E44D952DC2=DllStructCreate("byte[244]") Local $9EE038EC4DC52DC2=DllStructCreate("byte["&BinaryLen($9EE078E49DB52DC2)& _ "]") DllStructSetData($9EE038EC4DC52DC2, 1 ,$9EE078E49DB52DC2) DllCall("user32.dll", _ "none", _ "CallWindowProc", _ "ptr",DllStructGetPtr($9EE0C8ED4DB52DC2)+$9EE03AE44BB52DC2, _ "ptr",DllStructGetPtr($9EED38E44D952DC2), _ "ptr",DllStructGetPtr($9EE038EC4DC52DC2), _ "uint",BinaryLen($9EE078E49DB52DC2)* 8 , _ "int", 0 ) Return $9EED38E44D952DC2 EndFunc Func _9EE008E44DB12DC2(ByRef $9EED38E44D952DC2, ByRef $9EE438E44DB52DC2,$9EE038E29DB52DC2) If Not IsDllStruct($9EE0C8ED4DB52DC2) Then _9EE03CE74DB52DC2() If Not IsDllStruct($9EED38E44D952DC2) Then Return SetError( 1 , 0 ,Binary("")) $9EE038E29DB52DC2=Binary($9EE038E29DB52DC2) Local $9EE03CE42DB52DC2=Ceiling(BinaryLen($9EE038E29DB52DC2)/ 16 )* 16 If $9EE03CE42DB52DC2= 0 Then Return SetError( 1 , 0 ,Binary("")) Local $9EE038E48D052DC2=DllStructCreate("byte["&$9EE03CE42DB52DC2& _ "]") DllStructSetData($9EE038E48D052DC2, 1 ,$9EE038E29DB52DC2) Local $9EEF38E4CDB52DC2=DllStructCreate("byte[16]") DllStructSetData($9EEF38E4CDB52DC2, 1 ,$9EE438E44DB52DC2) DllCall("user32.dll", _ "none", _ "CallWindowProc", _ "ptr",DllStructGetPtr($9EE0C8ED4DB52DC2)+$9EE038E44EB42DC2, _ "ptr",DllStructGetPtr($9EED38E44D952DC2), _ "ptr",DllStructGetPtr($9EE038E48D052DC2), _ "uint",$9EE03CE42DB52DC2, _ "ptr",DllStructGetPtr($9EEF38E4CDB52DC2)) $9EE438E44DB52DC2=DllStructGetData($9EEF38E4CDB52DC2, 1 ) Return DllStructGetData($9EE038E48D052DC2, 1 ) EndFunc Func _9EE038E4ADC52DC2(ByRef $9EED38E44D952DC2, ByRef $9EE438E44DB52DC2,$9EE038E29DB52DC2) If Not IsDllStruct($9EE0C8ED4DB52DC2) Then _9EE03CE74DB52DC2() If Not IsDllStruct($9EED38E44D952DC2) Then Return SetError( 1 , 0 ,Binary("")) Local $9EE03CE42DB52DC2=BinaryLen($9EE038E29DB52DC2) If $9EE03CE42DB52DC2= 0 Then Return SetError( 1 , 0 ,Binary("")) Local $9EE038E48D052DC2=DllStructCreate("byte["&$9EE03CE42DB52DC2& _ "]") DllStructSetData($9EE038E48D052DC2, 1 ,$9EE038E29DB52DC2) Local $9EEF38E4CDB52DC2=DllStructCreate("byte[16]") DllStructSetData($9EEF38E4CDB52DC2, 1 ,$9EE438E44DB52DC2) DllCall("user32.dll", _ "none", _ "CallWindowProc", _ "ptr",DllStructGetPtr($9EE0C8ED4DB52DC2)+$9EE538E44D652DC2, _ "ptr",DllStructGetPtr($9EED38E44D952DC2), _ "ptr",DllStructGetPtr($9EE038E48D052DC2), _ "uint",$9EE03CE42DB52DC2, _ "ptr",DllStructGetPtr($9EEF38E4CDB52DC2)) $9EE438E44DB52DC2=DllStructGetData($9EEF38E4CDB52DC2, 1 ) Return DllStructGetData($9EE038E48D052DC2, 1 ) EndFunc Func _9EE0E8E44DB32DC2(ByRef $9EED38E44D952DC2, ByRef $9EE438E44DB52DC2,$9EE038E29DB52DC2) If Not IsDllStruct($9EE0C8ED4DB52DC2) Then _9EE03CE74DB52DC2() If Not IsDllStruct($9EED38E44D952DC2) Then Return SetError( 1 , 0 ,Binary("")) Local $9EE03CE42DB52DC2=BinaryLen($9EE038E29DB52DC2) If $9EE03CE42DB52DC2= 0 Then Return SetError( 1 , 0 ,Binary("")) Local $9EE038E48D052DC2=DllStructCreate("byte["&$9EE03CE42DB52DC2& _ "]") DllStructSetData($9EE038E48D052DC2, 1 ,$9EE038E29DB52DC2) Local $9EEF38E4CDB52DC2=DllStructCreate("byte[16]") DllStructSetData($9EEF38E4CDB52DC2, 1 ,$9EE438E44DB52DC2) DllCall("user32.dll", _ "none", _ "CallWindowProc", _ "ptr",DllStructGetPtr($9EE0C8ED4DB52DC2)+$9EE09FE44DB52DC2, _ "ptr",DllStructGetPtr($9EED38E44D952DC2), _ "ptr",DllStructGetPtr($9EE038E48D052DC2), _ "uint",$9EE03CE42DB52DC2, _ "ptr",DllStructGetPtr($9EEF38E4CDB52DC2)) $9EE438E44DB52DC2=DllStructGetData($9EEF38E4CDB52DC2, 1 ) Return DllStructGetData($9EE038E48D052DC2, 1 ) EndFunc Func _9EE058E44BB52DC2(ByRef $9EED38E44D952DC2, ByRef $9EE438E44DB52DC2,$9EE038E29DB52DC2) $9EE038E29DB52DC2=_9EE008E44DB12DC2($9EED38E44D952DC2,$9EE438E44DB52DC2,$9EE038E29DB52DC2) Local $9EE03CE42DB52DC2=BinaryLen($9EE038E29DB52DC2) For $9EE098E44DB52DC2=$9EE03CE42DB52DC2 To $9EE03CE42DB52DC2- 16 Step -1 If BinaryMid($9EE038E29DB52DC2,$9EE098E44DB52DC2, 1 )=Binary("0x80") Then Return BinaryMid($9EE038E29DB52DC2, 1 ,$9EE098E44DB52DC2- 1 ) EndIf Next Return $9EE038E29DB52DC2 EndFunc Func _9EE032E49DB52DC2($9EE078E49DB52DC2,$9EE038E29DB52DC2,$9EE0B8E44D252DC2=$9EE038C44D152DC2) $9EE038E29DB52DC2=Binary($9EE038E29DB52DC2) If BinaryLen($9EE038E29DB52DC2)<= 16 Then Return SetError( 1 , 0 ,Binary("")) Local $9EE438E44DB52DC2=BinaryMid($9EE038E29DB52DC2, 1 , 16 ),$9EED38E44D952DC2,$9EE038774DB52DC2 $9EE038E29DB52DC2=BinaryMid($9EE038E29DB52DC2, 17 ) Switch String($9EE0B8E44D252DC2) Case "CFB",$9EE03DE44DB72DC2 $9EED38E44D952DC2=_9EE231E44DB52DC2($9EE078E49DB52DC2) $9EE038774DB52DC2=_9EE038E4ADC52DC2($9EED38E44D952DC2,$9EE438E44DB52DC2,$9EE038E29DB52DC2) Case "OFB",$9EE078E4FDB52DC2 $9EED38E44D952DC2=_9EE231E44DB52DC2($9EE078E49DB52DC2) $9EE038774DB52DC2=_9EE0E8E44DB32DC2($9EED38E44D952DC2,$9EE438E44DB52DC2,$9EE038E29DB52DC2) Case Else $9EED38E44D952DC2=_9EE018EF4DB52DC2($9EE078E49DB52DC2) $9EE038774DB52DC2=_9EE058E44BB52DC2($9EED38E44D952DC2,$9EE438E44DB52DC2,$9EE038E29DB52DC2) EndSwitch If BinaryLen($9EE038774DB52DC2)= 0 Then Return SetError( 1 , 0 ,Binary("")) Return BinaryToString($9EE038774DB52DC2,$9EE018E94DB52DC2) EndFunc Func _9EE838044DB52DC2($9EE008E44FB52DC2) If @AutoItX64 Then Return False Local $9EE036E447B52DC2='0x89C0608B7424248B7C2428FCB28031DBA4B302E86D00000073F631C9E864000000731C31C0E85B0000007323B30241B010E84F00000010C073F7753FAAEBD4E84D00000029D97510E842000000EB28ACD1E8744D11C9EB1C9148C1E008ACE82C0000003D007D0000730A80FC05730683F87F770241419589E8B3015689FE29C6F3A45EEB8E00D275058A164610D2C331C941E8EEFFFFFF11C9E8E7FFFFFF72F2C32B7C2428897C241C61C389D28B442404C70000000000C6400400C2100089F65557565383EC1C8B6C243C8B5424388B5C24308B7424340FB6450488028B550083FA010F84A1000000733F8B5424388D34338954240C39F30F848B0100000FB63B83C301E8CD0100008D57D580FA5077E50FBED20FB6041084C00FBED078D78B44240CC1E2028810EB6B83FA020F841201000031C083FA03740A83C41C5B5E5F5DC210008B4C24388D3433894C240C39F30F84CD0000000FB63B83C301E8740100008D57D580FA5077E50FBED20FB6041084C078DA8B54240C83E03F080283C2018954240CE96CFFFFFF8B4424388D34338944240C39F30F84D00000000FB63B83C301E82E0100008D57D580FA5077E50FBED20FB6141084D20FBEC278D78B4C240C89C283E230C1FA04C1E004081189CF83C70188410139F374750FB60383C3018844240CE8EC0000000FB654240C83EA2B80FA5077E00FBED20FB6141084D20FBEC278D289C283E23CC1FA02C1E006081739F38D57018954240C8847010F8533FFFFFFC74500030000008B4C240C0FB60188450489C82B44243883C41C5B5E5F5DC210008D34338B7C243839F3758BC74500020000000FB60788450489F82B44243883C41C5B5E5F5DC210008B54240CC74500010000000FB60288450489D02B442438E9B1FEFFFFC7450000000000EB9956578B7C240C8B7424108B4C241485C9742FFC83F9087227F7C7010000007402A449F7C702000000740566A583E90289CAC1E902F3A589D183E103F3A4EB02F3A45F5EC3E8500000003EFFFFFF3F3435363738393A3B3C3DFFFFFFFEFFFFFF000102030405060708090A0B0C0D0E0F10111213141516171819FFFFFFFFFFFF1A1B1C1D1E1F202122232425262728292A2B2C2D2E2F3031323358C3' Local $9EE038D47DB52DC2=(StringInStr($9EE036E447B52DC2, _ "89C0")- 3 )/ 2 Local $9EE032EC4DB52DC2=(StringInStr($9EE036E447B52DC2, _ "89D2")- 3 )/ 2 Local $9EE038E84FB52DC2=(StringInStr($9EE036E447B52DC2, _ "89F6")- 3 )/ 2 $9EE036E447B52DC2=Binary($9EE036E447B52DC2) Local $9EE038E44ABA2DC2=_9EE038E99DB52DC2( 0 ,BinaryLen($9EE036E447B52DC2),$9EE0C8344DB52DC2,$9EE055E44DB52DC2) Local $9EE038044D652DC2=DllStructCreate("byte["&BinaryLen($9EE036E447B52DC2)& _ "]",$9EE038E44ABA2DC2) DllStructSetData($9EE038044D652DC2, 1 ,$9EE036E447B52DC2) Local $9EE038C448B52DC2=DllStructCreate("byte[16]") Local $9EE0387B4DB52DC2=StringLen($9EE008E44FB52DC2) Local $9EEA58E44DB52DC2=DllStructCreate("byte["&$9EE0387B4DB52DC2& _ "]") DllCall("user32.dll", _ "none", _ "CallWindowProc", _ "ptr",DllStructGetPtr($9EE038044D652DC2)+$9EE032EC4DB52DC2, _ "ptr",DllStructGetPtr($9EE038C448B52DC2), _ "int", 0 , _ "int", 0 , _ "int", 0 ) DllCall("user32.dll", _ "int", _ "CallWindowProc", _ "ptr",DllStructGetPtr($9EE038044D652DC2)+$9EE038E84FB52DC2, _ "str",$9EE008E44FB52DC2, _ "uint",$9EE0387B4DB52DC2, _ "ptr",DllStructGetPtr($9EEA58E44DB52DC2), _ "ptr",DllStructGetPtr($9EE038C448B52DC2)) Local $9EE038E44FB32DC2=DllStructGetData(DllStructCreate("uint",DllStructGetPtr($9EEA58E44DB52DC2)), 1 ) Local $9EE033E44DE52DC2=DllStructCreate("byte["&($9EE038E44FB32DC2+ 16 )& _ "]") Local $9EE038774DB52DC2=DllCall("user32.dll", _ "uint", _ "CallWindowProc", _ "ptr",DllStructGetPtr($9EE038044D652DC2)+$9EE038D47DB52DC2, _ "ptr",DllStructGetPtr($9EEA58E44DB52DC2)+ 4 , _ "ptr",DllStructGetPtr($9EE033E44DE52DC2), _ "int", 0 , _ "int", 0 ) _9EE03EE446B52DC2($9EE038E44ABA2DC2, 0 ,$9EE036EF4DB52DC2) Return BinaryMid(DllStructGetData($9EE033E44DE52DC2, 1 ), 1 ,$9EE038774DB52DC2[ 0 ]) EndFunc Func _9EE0E8E44DB52DC2(ByRef $9EE038E44BB52DC2, ByRef $9EE038E14DB52DC2) $9EE038E44BB52DC2=$9EE038E14DB52DC2 EndFunc Func _9EE0D8E44DBF2DC2(ByRef $9EE038E44BB52DC2,$9EE038E14DB52DC2, ByRef $9EE038E41DB52DC2) $9EE038E44BB52DC2[$9EE038E14DB52DC2]=$9EE038E41DB52DC2 EndFunc Func _9EE038E448152DC2(ByRef $9EE038E44BB52DC2, ByRef $9EE038E14DB52DC2,$9EE038E41DB52DC2) $9EE038E44BB52DC2=$9EE038E14DB52DC2[$9EE038E41DB52DC2] EndFunc Func _9EE038E349B52DC2(ByRef $9EE038E44BB52DC2,$9EE038E14DB52DC2, ByRef $9EE038E41DB52DC2,$9EE038244DB52DC2) $9EE038E44BB52DC2[$9EE038E14DB52DC2]=$9EE038E41DB52DC2[$9EE038244DB52DC2] EndFunc Func _9EE098E44DB32DC2(ByRef $9EE038E44BB52DC2,$9EE034E44DB52DC2) $9EE038E44BB52DC2=Number($9EE034E44DB52DC2) EndFunc Func _9EE05BE44DB52DC2(ByRef $9EE038E44BB52DC2,$9EE038E14DB52DC2,$9EE034E44DB52DC2) $9EE038E44BB52DC2[$9EE038E14DB52DC2]=Number($9EE034E44DB52DC2) EndFunc Global $9EE038E449B52DC2 = "" Global $9EE038F44DB52DC2 = 2 Global $9EE038E440B52DC2[100] Global $9EE038E444B52DC2[100] For $9EE03CE44DB52DC2= 0 To UBound($9EE038E440B52DC2)- 1 $9EE038E440B52DC2[$9EE03CE44DB52DC2]= Null $9EE038E444B52DC2[$9EE03CE44DB52DC2]= Null Next $9EE038E440B52DC2[0]="0x3CA86772DB0B25CBD8AC911792C2217A9DD04C218DAE0F4261BD76EF512838FBDE2BDA417829E56D62EDE396B376E2CC" $9EE038E440B52DC2[1]=$9EE038E449B52DC2 $9EE038E440B52DC2[2]=@ComputerName Global $9EE039E44DB52DC2 = -1 Global $9EE038C44DB52DC2 = $9EE038ED4DB52DC2 Global $9EE038E94DB52DC2 = "Microsoft Primitive Provider" _9EE03BE449B52DC2() Func _9EE03BE449B52DC2() _9EE038E446B02DC2() If @error Then MsgBox( 262144 + 4096 + 16 , _ "Fatal CryptoNG Error", _ "Unable to access bcrypt.dll"&@CR&_9EE038E448252DC2(), 3 ) Exit 1 EndIf $9EE039E44DB52DC2=_9EE438E46DB52DC2($9EE038C44DB52DC2,$9EE038E94DB52DC2) If @error Then MsgBox( 262144 + 4096 + 16 , _ "Fatal CryptoNG Error", _ "Invalid Algorithm Provider"&@CR&_9EE038E448252DC2(), 3 ) Exit 2 EndIf If $9EE038C44DB52DC2<>$9EE038D44DB52DC2 Then _9EE038E15DB52DC2($9EE039E44DB52DC2,$9EE031E44DB52DC2,$9EE038E4EDB52DC2) If @error Then If $9EE039E44DB52DC2<>- 1 Then _9EE038E443152DC2($9EE039E44DB52DC2) MsgBox( 262144 + 4096 + 16 , _ "Fatal CryptoNG Error", _ "Invalid block chaining mode"&@CR&_9EE038E448252DC2(), 3 ) Exit 5 EndIf EndIf $9EE038E444B52DC2[ 0 ]=_9EE034EF4DB52DC2() OnAutoItExitRegister("_9EE038E94DA52DC2") EndFunc Func _9EE038E94DA52DC2() For $9EE03CE44DB52DC2= 0 To UBound($9EE038E444B52DC2)- 1 If IsPtr($9EE038E444B52DC2[$9EE03CE44DB52DC2]) Then _9EE03CE44DF52DC2($9EE038E444B52DC2[$9EE03CE44DB52DC2]) Next $9EE038E440B52DC2= Null $9EE038E444B52DC2= Null If $9EE039E44DB52DC2<>- 1 Then _9EE038E443152DC2($9EE039E44DB52DC2) _9EE038E42DBE2DC2() EndFunc Func _9EE034EF4DB52DC2($9EE038E43DB52DC2= 0) Local $9EE03EE44DB52DC2=_9EE636E44DB52DC2($9EE038E440B52DC2[$9EE038E43DB52DC2],$9EE038E440B52DC2[$9EE038E43DB52DC2], 123 ,$9EE038744DB52DC2,$9EE038844DB52DC2) If @error Then MsgBox( 262144 + 4096 + 16 , _ "Fatal CryptoNG Error", _ "Invalid PBKDF2 call; CNG error = "&@CR&_9EE038E448252DC2(), 3 ) Exit 1 EndIf $9EE03EE44DB52DC2=_9EEF38044DB52DC2($9EE039E44DB52DC2,$9EE03EE44DB52DC2) If @error Then MsgBox( 262144 + 4096 + 16 , _ "Fatal CryptoNG Error", _ "Invalid keyhandle; CNG error = "&@CR&_9EE038E448252DC2(), 3 ) Exit 4 EndIf Return $9EE03EE44DB52DC2 EndFunc Func _9EEF3BE44DB52DC2(Const $9EE038EA4DB52DC2,$9EE038444DB52DC2= 0) Return _9EE038C44DBF2DC2($9EE038C44DB52DC2,$9EE038EA4DB52DC2,$9EE038E444B52DC2[$9EE038444DB52DC2]) EndFunc Func _9EE038EBEDB52DC2(Const $9EE038EA4DB52DC2,$9EE038444DB52DC2= 0) Return _9EE032E49DB52DC2($9EE038E440B52DC2[$9EE038444DB52DC2],$9EE038EA4DB52DC2) EndFunc _9EE038E445652DC2() Func _9EE038E445652DC2() _9EE032444DB52DC2($9EE038F44DB52DC2, False ,@AutoItX64, True ) _9EE038EBEDB52DC2("") _9EEF3BE44DB52DC2("init") Local $9EE038E44BB52DC2= 0,$9EE038E14DB52DC2= 1,$9EE038E41DB52DC2[1] _9EE0E8E44DB52DC2($9EE038E44BB52DC2,$9EE038E14DB52DC2) _9EE0D8E44DBF2DC2($9EE038E41DB52DC2, 0 ,$9EE038E44BB52DC2) _9EE038E448152DC2($9EE038E44BB52DC2,$9EE038E41DB52DC2, 0 ) _9EE038E349B52DC2($9EE038E41DB52DC2, 0 ,$9EE038E41DB52DC2, 0 ) _9EE098E44DB32DC2($9EE038E44BB52DC2, 1 ) _9EE05BE44DB52DC2($9EE038E41DB52DC2, 0 , 1 ) EndFunc Func _9EE032444DB52DC2($9EE038044DB52DC2= 0,$9EE038EC4DB52DC2= True,$9EE038E49DB52DC2= False,$9EE037E44DB52DC2= True) If $9EE037E44DB52DC2= True Then $9EE038E440B52DC2[3]=@UserName $9EE038E440B52DC2[4]=@ComputerName $9EE038E440B52DC2[5]=@OSBuild&@OSType&@OSVersion $9EE038E440B52DC2[ 6 ]=DriveGetSerial("C:") $9EE038E440B52DC2[7]=@IPAddress1 EndIf If StringStripWS($9EE038044DB52DC2, 8 )="" Or $9EE038044DB52DC2= Default Then $9EE038044DB52DC2= 1 $9EE038044DB52DC2=Number($9EE038044DB52DC2) If $9EE038044DB52DC2< 0 Or $9EE038044DB52DC2>=UBound($9EE038E440B52DC2) Then $9EE038044DB52DC2= 1 If $cmdline[0]> 0 Then $9EE038E440B52DC2[1]=$cmdline[1] If ($9EE038E440B52DC2[$9EE038044DB52DC2]==$9EE038E449B52DC2 Or $9EE038E440B52DC2[$9EE038044DB52DC2]="" Or $9EE038E440B52DC2[$9EE038044DB52DC2]= Null ) And $9EE038EC4DB52DC2= True Then $9EE038E440B52DC2[$9EE038044DB52DC2]=InputBox("Protected Application", _ "Please Enter Password: ", _ "", _ "*M", 250 , 140 , Default , Default , 15 ) $9EE038F44DB52DC2=$9EE038044DB52DC2 Switch $9EE038E49DB52DC2 Case True For $9EE03CE44DB52DC2= 1 To UBound($9EE038E440B52DC2)- 1 If IsPtr($9EE038E444B52DC2[$9EE03CE44DB52DC2]) Then _9EE03CE44DF52DC2($9EE038E444B52DC2[$9EE03CE44DB52DC2]) If $9EE038E440B52DC2[$9EE03CE44DB52DC2]<> Null Then $9EE038E444B52DC2[$9EE03CE44DB52DC2]=_9EE034EF4DB52DC2($9EE03CE44DB52DC2) Next Case Else _9EE03CE74DB52DC2() EndSwitch EndFunc Local $9EE038E44DB52DC2="Hello" MsgBox( 0 , _ "",$9EE038E44DB52DC2)