diff --git a/IFPSAsmLib/Assembler.cs b/IFPSAsmLib/Assembler.cs
index 14a1f8c..237601b 100644
--- a/IFPSAsmLib/Assembler.cs
+++ b/IFPSAsmLib/Assembler.cs
@@ -693,11 +693,20 @@ namespace IFPSAsmLib
var op1 = ParseOperandValue(next, function, types, globals, functions, aliases, defines);
if (next.Next == null) next.ThrowInvalid();
next = next.Next;
- next.ExpectValidName();
- next.EnsureNoNextChild();
- if (!types.TryGetValue(next.Value, out var typeOp)) next.ThrowInvalid(string.Format("In function \"{0}\": Referenced unknown type", function.Name));
+ Operand op2 = null;
+ try
+ {
+ op2 = ParseOperandValue(next, function, types, globals, functions, aliases, defines);
+ }
+ catch
+ {
+ next.ExpectValidName();
+ next.EnsureNoNextChild();
+ if (!types.TryGetValue(next.Value, out var typeOp)) next.ThrowInvalid(string.Format("In function \"{0}\": Referenced unknown type", function.Name));
+ op2 = Operand.Create(typeOp);
+ }
if (next.Next != null) next.Next.ThrowInvalid();
- return Instruction.Create(opcode, op0, op1, typeOp);
+ return Instruction.Create(opcode, op0, op1, op2);
}
case OperandType.InlineTypeVariable:
{
diff --git a/IFPSLib.Tests/CompiledCode_v22.txt b/IFPSLib.Tests/CompiledCode_v22.txt
index 0050fb8..5af6c6a 100644
--- a/IFPSLib.Tests/CompiledCode_v22.txt
+++ b/IFPSLib.Tests/CompiledCode_v22.txt
@@ -1,4 +1,4 @@
-.version 23
+.version 22
.entry !MAIN
@@ -10,3166 +10,356 @@
.type primitive(Extended) Extended
.type primitive(Double) Double
.type primitive(Single) Single
-.type primitive(S64) S64
.type primitive(String) String
.type primitive(U32) U32_2
.type primitive(S32) S32
.type primitive(S16) S16
.type primitive(U16) U16
.type primitive(S8) S8
-.type(export) funcptr(void()) ANYMETHOD
-.type primitive(String) String_2
-.type primitive(UnicodeString) UnicodeString
-.type primitive(UnicodeString) UnicodeString_2
-.type primitive(String) String_3
-.type primitive(UnicodeString) UnicodeString_3
-.type primitive(WideString) WideString
-.type primitive(WideChar) WideChar
-.type primitive(WideChar) WideChar_2
.type primitive(Char) Char
-.type primitive(U8) U8
-.type primitive(U16) U16_2
.type primitive(U32) U32_3
.type(export) primitive(U8) BOOLEAN
-.type primitive(U8) U8_2
+.type primitive(U8) U8
.type(export) class(TWIZARDFORM) TWIZARDFORM
-.type(export) class(TMAINFORM) TMAINFORM
-.type(export) class(TUNINSTALLPROGRESSFORM) TUNINSTALLPROGRESSFORM
-.type(export) class(TDOWNLOADWIZARDPAGE) TDOWNLOADWIZARDPAGE
-.type(export) class(TPANEL) TPANEL
-.type(export) class(TBITMAPIMAGE) TBITMAPIMAGE
-.type funcptr(void(__in,__in,__in)) Type36
-.type(export) class(TFONT) TFONT
-.type(export) array(Pointer) !OPENARRAYOFCONST
-.type array(Variant) Type39
-.type(export) class(TBITMAP) TBITMAP
-.type(export) class(TCONTROL) TCONTROL
-.type(export) class(TWINCONTROL) TWINCONTROL
-.type(export) class(TNEWBUTTON) TNEWBUTTON
-.type(export) class(TNEWSTATICTEXT) TNEWSTATICTEXT
-.type(export) interface("00020400-0000-0000-c000-000000000046") IDISPATCH
-.type(export) array(Variant) !OPENARRAYOFVARIANT
-.type(export) funcptr(returnsval(__in,__in,__in,__in)) TONDOWNLOADPROGRESS
-.type(export) primitive(U16) TSETUPMESSAGEID
-.type(export) class(TNEWPROGRESSBAR) TNEWPROGRESSBAR
-.type(export) class(TNEWRADIOBUTTON) TNEWRADIOBUTTON
-.type(export) class(TCOMPONENT) TCOMPONENT
-.type(export) class(TNEWNOTEBOOKPAGE) TNEWNOTEBOOKPAGE
-.type(export) primitive(U8) TPANELBEVEL
-.type(export) primitive(U8) TEXECWAIT
-.type(export) primitive(U8) TMSGBOXTYPE
-.type(export) class(TOBJECT) TOBJECT
-.type(export) funcptr(void(__in)) TNOTIFYEVENT
-.type(export) primitive(U8) TUNINSTALLSTEP
-.type(export) primitive(U8) TSETUPSTEP
+.type(export) class(TPASSWORDEDIT) TPASSWORDEDIT
+.type array(Char,4,0) Type20
+.type array(Char,4,0) Type21
-.global(import) TWIZARDFORM WIZARDFORM
-.global(import) TMAINFORM MAINFORM
-.global(import) TUNINSTALLPROGRESSFORM UNINSTALLPROGRESSFORM
-.global TDOWNLOADWIZARDPAGE Global3
-.global TPANEL Global4
-.global S32 Global5
-.global S32 Global6
-.global S32 Global7
-.global S32 Global8
-.global S32 Global9
-.global TBITMAPIMAGE Global10
+.global String Global0
+.global BOOLEAN Global1
.function(export) void !MAIN()
ret
-.function(import) external dll("files:mediaplayer.dll","DSGetLastError") __stdcall returnsval files:mediaplayer.dll!DSGetLastError(__out __unknown)
+.function(import) external dll("kernel32.dll","CreateFileA") __stdcall void kernel32.dll!CreateFileA(__out __unknown,__in __unknown,__in __unknown,__in __unknown,__in __unknown,__in __unknown,__in __unknown,__in __unknown)
-.function(import) external dll("files:mediaplayer.dll","DSPlayMediaFile") __stdcall returnsval files:mediaplayer.dll!DSPlayMediaFile()
+.function(import) external dll("kernel32.dll","WriteFile") __stdcall void kernel32.dll!WriteFile(__out __unknown,__in __unknown,__in __unknown,__in __unknown,__in __unknown,__in __unknown)
-.function(import) external dll("files:mediaplayer.dll","DSStopMediaPlay") __stdcall returnsval files:mediaplayer.dll!DSStopMediaPlay()
+.function(import) external dll("kernel32.dll","CloseHandle") __stdcall void kernel32.dll!CloseHandle(__out __unknown,__in __unknown)
-.function(import) external dll("files:mediaplayer.dll","DSSetVolume") __stdcall returnsval files:mediaplayer.dll!DSSetVolume(__in __unknown)
+.function(import) external dll("kernel32.dll","ExitProcess") __stdcall void kernel32.dll!ExitProcess(__out __unknown,__in __unknown)
-.function(import) external dll("files:mediaplayer.dll","DSSetBalance") __stdcall returnsval files:mediaplayer.dll!DSSetBalance(__in __unknown)
+.function(import) external dll("User32.dll","GetSystemMetrics") __stdcall void User32.dll!GetSystemMetrics(__out __unknown,__in __unknown)
-.function(import) external dll("files:mediaplayer.dll","DSInitializeAudioFile") __stdcall returnsval files:mediaplayer.dll!DSInitializeAudioFile(__in __unknown,__in __unknown)
+.function(import) external dll("kernel32.dll","GetTickCount") __stdcall void kernel32.dll!GetTickCount(__out __unknown)
-.function(import) external dll("files:mediaplayer.dll","DSInitializeVideoFile") __stdcall returnsval files:mediaplayer.dll!DSInitializeVideoFile(__in __unknown,__in __unknown,__out __unknown,__out __unknown,__in __unknown)
-
-.function(import) external dll("kernel32.dll","ExitProcess") __stdcall void kernel32.dll!ExitProcess(__in __unknown)
-
-.function(export) S32 GETSCALINGFACTOR()
- pushtype BOOLEAN ; StackCount = 1
- pushtype S32 ; StackCount = 2
- pushtype TFONT ; StackCount = 3
- pushtype TWIZARDFORM ; StackCount = 4
- assign Var4, WIZARDFORM
- pushvar Var3 ; StackCount = 5
- call TFORM->FONT
- pop ; StackCount = 4
- pop ; StackCount = 3
- pushvar Var2 ; StackCount = 4
- call TFONT->PIXELSPERINCH
- pop ; StackCount = 3
- pop ; StackCount = 2
- ge Var1, Var2, S32(168)
- pop ; StackCount = 1
- sfz Var1
- pop ; StackCount = 0
- jf loc_70
- assign RetVal, S32(175)
- jump loc_22b
-loc_70:
- pushtype BOOLEAN ; StackCount = 1
- pushtype S32 ; StackCount = 2
- pushtype TFONT ; StackCount = 3
- pushtype TWIZARDFORM ; StackCount = 4
- assign Var4, WIZARDFORM
- pushvar Var3 ; StackCount = 5
- call TFORM->FONT
- pop ; StackCount = 4
- pop ; StackCount = 3
- pushvar Var2 ; StackCount = 4
- call TFONT->PIXELSPERINCH
- pop ; StackCount = 3
- pop ; StackCount = 2
- ge Var1, Var2, S32(144)
- pop ; StackCount = 1
- jz loc_125, Var1
- pushtype BOOLEAN ; StackCount = 2
- pushtype S32 ; StackCount = 3
- pushtype TFONT ; StackCount = 4
- pushtype TWIZARDFORM ; StackCount = 5
- assign Var5, WIZARDFORM
- pushvar Var4 ; StackCount = 6
- call TFORM->FONT
+.function(export) BOOLEAN INITIALIZESETUP()
+ pushtype U32_2 ; StackCount = 1
+ pushtype U32_2 ; StackCount = 2
+ pushtype U32_2 ; StackCount = 3
+ pushtype BOOLEAN ; StackCount = 4
+ assign Var1, S32(14)
+ assign Var2, S32(10)
+ assign Var3, S32(0)
+ pushtype String ; StackCount = 5
+ assign Var5, String("path")
+ pushvar Global0 ; StackCount = 6
+ call GETENV
pop ; StackCount = 5
pop ; StackCount = 4
- pushvar Var3 ; StackCount = 5
- call TFONT->PIXELSPERINCH
- pop ; StackCount = 4
- pop ; StackCount = 3
- lt Var2, Var3, S32(168)
- pop ; StackCount = 2
- and Var1, Var2
- pop ; StackCount = 1
-loc_125:
- sfz Var1
- pop ; StackCount = 0
- jf loc_146
- assign RetVal, S32(150)
- jump loc_22b
-loc_146:
- pushtype BOOLEAN ; StackCount = 1
- pushtype S32 ; StackCount = 2
- pushtype TFONT ; StackCount = 3
- pushtype TWIZARDFORM ; StackCount = 4
- assign Var4, WIZARDFORM
- pushvar Var3 ; StackCount = 5
- call TFORM->FONT
- pop ; StackCount = 4
- pop ; StackCount = 3
- pushvar Var2 ; StackCount = 4
- call TFONT->PIXELSPERINCH
- pop ; StackCount = 3
- pop ; StackCount = 2
- ge Var1, Var2, S32(120)
- pop ; StackCount = 1
- jz loc_1fb, Var1
- pushtype BOOLEAN ; StackCount = 2
- pushtype S32 ; StackCount = 3
- pushtype TFONT ; StackCount = 4
- pushtype TWIZARDFORM ; StackCount = 5
- assign Var5, WIZARDFORM
- pushvar Var4 ; StackCount = 6
- call TFORM->FONT
+ pushtype BOOLEAN ; StackCount = 5
+ pushtype S32 ; StackCount = 6
+ pushtype String ; StackCount = 7
+ assign Var7, String("{97A21FA3-7FD8-4808-9A05-BD2914FA36A5}")
+ pushvar Var6 ; StackCount = 8
+ call FINDWINDOWBYCLASSNAME
+ pop ; StackCount = 7
+ pop ; StackCount = 6
+ eq Var5, Var6, S32(0)
pop ; StackCount = 5
+ sfz Var5
pop ; StackCount = 4
- pushvar Var3 ; StackCount = 5
- call TFONT->PIXELSPERINCH
- pop ; StackCount = 4
- pop ; StackCount = 3
- lt Var2, Var3, S32(144)
- pop ; StackCount = 2
- and Var1, Var2
- pop ; StackCount = 1
-loc_1fb:
- sfz Var1
- pop ; StackCount = 0
- jf loc_21c
- assign RetVal, S32(125)
- jump loc_22b
-loc_21c:
- assign RetVal, S32(100)
-loc_22b:
- ret
-
-.function(import) external class(TFORM, FONT) __pascal void TFORM->FONT(__in __unknown,__in __unknown)
-
-.function(import) external class(TFONT, PIXELSPERINCH) __pascal void TFONT->PIXELSPERINCH(__in __unknown,__in __unknown)
-
-.function(export) void LOADEMBEDEDSCALEDBITMAP(__in TBITMAPIMAGE Arg1,__in UnicodeString_2 Arg2)
- pushtype UnicodeString_2 ; StackCount = 1
- pushtype UnicodeString_2 ; StackCount = 2
- pushtype !OPENARRAYOFCONST ; StackCount = 3
- pushtype !OPENARRAYOFCONST ; StackCount = 4
- pushtype S32 ; StackCount = 5
- assign Var5, S32(2)
- pushvar Var4 ; StackCount = 6
- call SETARRAYLENGTH
+ jf loc_2a4
+ starteh null, loc_25a, null, loc_2a4
+ assign Global0, String("B2FD6140898A5B3A")
+ pushtype BOOLEAN ; StackCount = 5
+ pushtype String ; StackCount = 6
+ assign Var6, Global0
+ pushvar Var5 ; StackCount = 7
+ call CHECKFORMUTEXES
+ pop ; StackCount = 6
pop ; StackCount = 5
+ sfz Var5
pop ; StackCount = 4
- cpval Var4[0], Arg2
+ jf loc_19c
pushtype S32 ; StackCount = 5
pushvar Var5 ; StackCount = 6
- call GETSCALINGFACTOR
+ call GETUILANGUAGE
pop ; StackCount = 5
- cpval Var4[1], Var5
+ assign Var3, Var5
pop ; StackCount = 4
- assign Var3, Var4
- pop ; StackCount = 3
- pushtype UnicodeString_2 ; StackCount = 4
- assign Var4, UnicodeString_3("%s %d.bmp")
- pushvar Var1 ; StackCount = 5
- call FORMAT
+ pushtype BOOLEAN ; StackCount = 5
+ pushtype S32 ; StackCount = 6
+ assign Var6, Var3
+ pushvar Var5 ; StackCount = 7
+ call FREEDLL
+ pop ; StackCount = 6
+ pop ; StackCount = 5
+ pop ; StackCount = 4
+ pushtype S32 ; StackCount = 5
+ pushtype S32 ; StackCount = 6
+ assign Var6, Var3
+ pushvar Var5 ; StackCount = 7
+ call kernel32.dll!ExitProcess
+ pop ; StackCount = 6
+ pop ; StackCount = 5
+ pop ; StackCount = 4
+loc_19c:
+ pushtype S32 ; StackCount = 5
+ pushvar Var5 ; StackCount = 6
+ call kernel32.dll!GetTickCount
+ pop ; StackCount = 5
+ assign Var1, Var5
pop ; StackCount = 4
- pop ; StackCount = 3
- pop ; StackCount = 2
- pushtype UnicodeString_2 ; StackCount = 3
- assign Var3, Var1
- call EXTRACTTEMPORARYFILE
- pop ; StackCount = 2
- pushtype UnicodeString_2 ; StackCount = 3
- pushtype UnicodeString_3 ; StackCount = 4
- assign Var4, UnicodeString_3("{tmp}\\")
- add Var4, Var1
- assign Var3, Var4
- pop ; StackCount = 3
- pushvar Var2 ; StackCount = 4
- call EXPANDCONSTANT
- pop ; StackCount = 3
- pop ; StackCount = 2
- pushtype UnicodeString_2 ; StackCount = 3
assign Var3, Var2
- pushtype TBITMAP ; StackCount = 4
- pushtype TBITMAPIMAGE ; StackCount = 5
- assign Var5, Arg1
+ pushtype S32 ; StackCount = 5
+ pushtype S32 ; StackCount = 6
+ assign Var6, S32(44)
+ pushvar Var5 ; StackCount = 7
+ call User32.dll!GetSystemMetrics
+ pop ; StackCount = 6
+ pop ; StackCount = 5
+ div Var3, Var5
+ pop ; StackCount = 4
+ pushtype S32 ; StackCount = 5
+ assign Var5, Var3
pushvar Var4 ; StackCount = 6
- call TBITMAPIMAGE->BITMAP
+ call FREEDLL
pop ; StackCount = 5
pop ; StackCount = 4
- call TGRAPHIC->LOADFROMFILE
- pop ; StackCount = 3
- pop ; StackCount = 2
- pushtype BOOLEAN ; StackCount = 3
- pushtype UnicodeString_2 ; StackCount = 4
- assign Var4, Var2
- pushvar Var3 ; StackCount = 5
- call DELETEFILE
+ pushtype BOOLEAN ; StackCount = 5
+ assign Var5, Var4
+ sfz Var5
pop ; StackCount = 4
- pop ; StackCount = 3
- pop ; StackCount = 2
- ret
-
-.function(import) external internal returnsval FORMAT(__in __unknown,__in __unknown)
-
-.function(import) external internal void SETARRAYLENGTH()
-
-.function(import) external internal void EXTRACTTEMPORARYFILE(__in __unknown)
-
-.function(import) external internal returnsval EXPANDCONSTANT(__in __unknown)
-
-.function(import) external class(TBITMAPIMAGE, BITMAP) __pascal void TBITMAPIMAGE->BITMAP(__in __unknown,__in __unknown)
-
-.function(import) external class(TGRAPHIC, LOADFROMFILE) __fastcall void TGRAPHIC->LOADFROMFILE(__in __unknown)
-
-.function(import) external internal returnsval DELETEFILE(__in __unknown)
-
-.function(export) void CENTERINPARENT2(__in TCONTROL Arg1)
- pushtype BOOLEAN ; StackCount = 1
- pushtype TCONTROL ; StackCount = 2
- assign Var2, Arg1
- pushvar Var1 ; StackCount = 3
- call !ASSIGNED
- pop ; StackCount = 2
- pop ; StackCount = 1
- jz loc_6d, Var1
- pushtype BOOLEAN ; StackCount = 2
- pushtype TWINCONTROL ; StackCount = 3
- pushtype TCONTROL ; StackCount = 4
- assign Var4, Arg1
- pushvar Var3 ; StackCount = 5
- call TCONTROL->PARENT
+ jf loc_258
+ pushtype S32 ; StackCount = 5
+ pushtype S32 ; StackCount = 6
+ assign Var6, S32(255)
+ pushvar Var5 ; StackCount = 7
+ call kernel32.dll!ExitProcess
+ pop ; StackCount = 6
+ pop ; StackCount = 5
pop ; StackCount = 4
- pop ; StackCount = 3
- pushvar Var2 ; StackCount = 4
- call !ASSIGNED
- pop ; StackCount = 3
- pop ; StackCount = 2
- and Var1, Var2
- pop ; StackCount = 1
-loc_6d:
- sfz Var1
- pop ; StackCount = 0
- jf loc_14d
- pushtype S32 ; StackCount = 1
- pushtype TWINCONTROL ; StackCount = 2
- pushtype TCONTROL ; StackCount = 3
- assign Var3, Arg1
- pushvar Var2 ; StackCount = 4
- call TCONTROL->PARENT
- pop ; StackCount = 3
- pop ; StackCount = 2
- pushvar Var1 ; StackCount = 3
- call TCONTROL->WIDTH
- pop ; StackCount = 2
- pop ; StackCount = 1
- pushtype S32 ; StackCount = 2
- pushtype TCONTROL ; StackCount = 3
- assign Var3, Arg1
- pushvar Var2 ; StackCount = 4
- call TCONTROL->WIDTH
- pop ; StackCount = 3
- pop ; StackCount = 2
- sub Var1, Var2
- pop ; StackCount = 1
- div Var1, S32(2)
- pushtype TCONTROL ; StackCount = 2
- assign Var2, Arg1
- call TCONTROL->LEFT
- pop ; StackCount = 1
- pop ; StackCount = 0
- pushtype S32 ; StackCount = 1
- pushtype TDOWNLOADWIZARDPAGE ; StackCount = 2
- assign Var2, Global3
- pushvar Var1 ; StackCount = 3
- call TWIZARDPAGE->SURFACEHEIGHT
- pop ; StackCount = 2
- pop ; StackCount = 1
- sub Var1, S32(40)
- pushtype TCONTROL ; StackCount = 2
- assign Var2, Arg1
- call TCONTROL->TOP
- pop ; StackCount = 1
- pop ; StackCount = 0
-loc_14d:
- ret
-
-.function(import) external internal returnsval !ASSIGNED(__in __unknown)
-
-.function(import) external class(TCONTROL, PARENT) __pascal void TCONTROL->PARENT(__in __unknown,__in __unknown)
-
-.function(import) external class(TCONTROL, WIDTH) __pascal void TCONTROL->WIDTH(__in __unknown,__in __unknown)
-
-.function(import) external class(TCONTROL, LEFT, property) __pascal void TCONTROL->LEFT(__in __unknown,__in __unknown)
-
-.function(import) external class(TWIZARDPAGE, SURFACEHEIGHT) __pascal void TWIZARDPAGE->SURFACEHEIGHT(__in __unknown,__in __unknown)
-
-.function(import) external class(TCONTROL, TOP, property) __pascal void TCONTROL->TOP(__in __unknown,__in __unknown)
-
-.function(export) void CENTERINPARENT(__in TCONTROL Arg1)
- pushtype BOOLEAN ; StackCount = 1
- pushtype TCONTROL ; StackCount = 2
- assign Var2, Arg1
- pushvar Var1 ; StackCount = 3
- call !ASSIGNED
- pop ; StackCount = 2
- pop ; StackCount = 1
- jz loc_6d, Var1
- pushtype BOOLEAN ; StackCount = 2
- pushtype TWINCONTROL ; StackCount = 3
- pushtype TCONTROL ; StackCount = 4
- assign Var4, Arg1
- pushvar Var3 ; StackCount = 5
- call TCONTROL->PARENT
+loc_258:
+ endtry
+loc_25a:
+ pushtype S32 ; StackCount = 5
+ pushvar Var5 ; StackCount = 6
+ call kernel32.dll!GetTickCount
+ pop ; StackCount = 5
+ assign Var3, Var5
pop ; StackCount = 4
- pop ; StackCount = 3
- pushvar Var2 ; StackCount = 4
- call !ASSIGNED
- pop ; StackCount = 3
- pop ; StackCount = 2
- and Var1, Var2
- pop ; StackCount = 1
-loc_6d:
- sfz Var1
- pop ; StackCount = 0
- jf loc_42a
- pushtype S32 ; StackCount = 1
- pushtype TWINCONTROL ; StackCount = 2
- pushtype TCONTROL ; StackCount = 3
- assign Var3, Arg1
- pushvar Var2 ; StackCount = 4
- call TCONTROL->PARENT
- pop ; StackCount = 3
- pop ; StackCount = 2
- pushvar Var1 ; StackCount = 3
- call TCONTROL->WIDTH
- pop ; StackCount = 2
- pop ; StackCount = 1
- pushtype S32 ; StackCount = 2
- pushtype TCONTROL ; StackCount = 3
- assign Var3, Arg1
- pushvar Var2 ; StackCount = 4
- call TCONTROL->WIDTH
- pop ; StackCount = 3
- pop ; StackCount = 2
- sub Var1, Var2
- pop ; StackCount = 1
- div Var1, S32(2)
- pushtype TCONTROL ; StackCount = 2
- assign Var2, Arg1
- call TCONTROL->LEFT
- pop ; StackCount = 1
- pop ; StackCount = 0
- pushtype BOOLEAN ; StackCount = 1
- ge Var1, Global5, Global6
- jz loc_147, Var1
- pushtype BOOLEAN ; StackCount = 2
- lt Var2, Global5, Global7
- and Var1, Var2
- pop ; StackCount = 1
-loc_147:
- sfz Var1
- pop ; StackCount = 0
- jf loc_1da
- pushtype S32 ; StackCount = 1
- assign Var1, S32(20)
- pushtype TCONTROL ; StackCount = 2
- assign Var2, Arg1
- call TCONTROL->TOP
- pop ; StackCount = 1
- pop ; StackCount = 0
- pushtype S32 ; StackCount = 1
- assign Var1, S32(500)
- pushtype TPANEL ; StackCount = 2
- assign Var2, Global4
- call TCONTROL->WIDTH_2
- pop ; StackCount = 1
- pop ; StackCount = 0
- pushtype S32 ; StackCount = 1
- assign Var1, S32(300)
- pushtype TPANEL ; StackCount = 2
- assign Var2, Global4
- call TCONTROL->HEIGHT
- pop ; StackCount = 1
- pop ; StackCount = 0
- jump loc_42a
-loc_1da:
- pushtype BOOLEAN ; StackCount = 1
- ge Var1, Global5, Global7
- jz loc_21d, Var1
- pushtype BOOLEAN ; StackCount = 2
- lt Var2, Global5, Global8
- and Var1, Var2
- pop ; StackCount = 1
-loc_21d:
- sfz Var1
- pop ; StackCount = 0
- jf loc_2b0
- pushtype S32 ; StackCount = 1
- assign Var1, S32(20)
- pushtype TCONTROL ; StackCount = 2
- assign Var2, Arg1
- call TCONTROL->TOP
- pop ; StackCount = 1
- pop ; StackCount = 0
- pushtype S32 ; StackCount = 1
- assign Var1, S32(634)
- pushtype TPANEL ; StackCount = 2
- assign Var2, Global4
- call TCONTROL->WIDTH_2
- pop ; StackCount = 1
- pop ; StackCount = 0
- pushtype S32 ; StackCount = 1
- assign Var1, S32(382)
- pushtype TPANEL ; StackCount = 2
- assign Var2, Global4
- call TCONTROL->HEIGHT
- pop ; StackCount = 1
- pop ; StackCount = 0
- jump loc_42a
-loc_2b0:
- pushtype BOOLEAN ; StackCount = 1
- le Var1, Global5, Global8
- jz loc_2f3, Var1
- pushtype BOOLEAN ; StackCount = 2
- gt Var2, Global9, Global8
- and Var1, Var2
- pop ; StackCount = 1
-loc_2f3:
- sfz Var1
- pop ; StackCount = 0
- jf loc_386
- pushtype S32 ; StackCount = 1
- assign Var1, S32(20)
- pushtype TCONTROL ; StackCount = 2
- assign Var2, Arg1
- call TCONTROL->TOP
- pop ; StackCount = 1
- pop ; StackCount = 0
- pushtype S32 ; StackCount = 1
- assign Var1, S32(779)
- pushtype TPANEL ; StackCount = 2
- assign Var2, Global4
- call TCONTROL->WIDTH_2
- pop ; StackCount = 1
- pop ; StackCount = 0
- pushtype S32 ; StackCount = 1
- assign Var1, S32(469)
- pushtype TPANEL ; StackCount = 2
- assign Var2, Global4
- call TCONTROL->HEIGHT
- pop ; StackCount = 1
- pop ; StackCount = 0
- jump loc_42a
-loc_386:
- pushtype BOOLEAN ; StackCount = 1
- ge Var1, Global5, Global9
- sfz Var1
- pop ; StackCount = 0
- jf loc_42a
- pushtype S32 ; StackCount = 1
- assign Var1, S32(20)
- pushtype TCONTROL ; StackCount = 2
- assign Var2, Arg1
- call TCONTROL->TOP
- pop ; StackCount = 1
- pop ; StackCount = 0
- pushtype S32 ; StackCount = 1
- assign Var1, S32(975)
- pushtype TPANEL ; StackCount = 2
- assign Var2, Global4
- call TCONTROL->WIDTH_2
- pop ; StackCount = 1
- pop ; StackCount = 0
- pushtype S32 ; StackCount = 1
- assign Var1, S32(585)
- pushtype TPANEL ; StackCount = 2
- assign Var2, Global4
- call TCONTROL->HEIGHT
- pop ; StackCount = 1
- pop ; StackCount = 0
-loc_42a:
- ret
-
-.function(import) external class(TCONTROL, WIDTH, property) __pascal void TCONTROL->WIDTH_2(__in __unknown,__in __unknown)
-
-.function(import) external class(TCONTROL, HEIGHT, property) __pascal void TCONTROL->HEIGHT(__in __unknown,__in __unknown)
-
-.function(export) BOOLEAN ONDOWNLOADPROGRESS(__in UnicodeString_2 Arg1,__in UnicodeString_2 Arg2,__in S64 Arg3,__in S64 Arg4)
- pushtype BOOLEAN ; StackCount = 1
- assign Var1, BOOLEAN(0)
- pushtype TNEWBUTTON ; StackCount = 2
- pushtype TDOWNLOADWIZARDPAGE ; StackCount = 3
- assign Var3, Global3
- pushvar Var2 ; StackCount = 4
- call TDOWNLOADWIZARDPAGE->ABORTBUTTON
- pop ; StackCount = 3
- pop ; StackCount = 2
- call TCONTROL->VISIBLE
- pop ; StackCount = 1
- pop ; StackCount = 0
- pushtype BOOLEAN ; StackCount = 1
- assign Var1, BOOLEAN(0)
- pushtype TNEWSTATICTEXT ; StackCount = 2
- pushtype TDOWNLOADWIZARDPAGE ; StackCount = 3
- assign Var3, Global3
- pushvar Var2 ; StackCount = 4
- call TOUTPUTPROGRESSWIZARDPAGE->MSG2LABEL
- pop ; StackCount = 3
- pop ; StackCount = 2
- call TCONTROL->VISIBLE
- pop ; StackCount = 1
- pop ; StackCount = 0
- pushtype UnicodeString_2 ; StackCount = 1
- assign Var1, UnicodeString_3("")
- pushtype TNEWSTATICTEXT ; StackCount = 2
- pushtype TDOWNLOADWIZARDPAGE ; StackCount = 3
- assign Var3, Global3
- pushvar Var2 ; StackCount = 4
- call TOUTPUTPROGRESSWIZARDPAGE->MSG2LABEL
- pop ; StackCount = 3
- pop ; StackCount = 2
- call TNEWSTATICTEXT->CAPTION
- pop ; StackCount = 1
- pop ; StackCount = 0
- pushtype S32 ; StackCount = 1
- pushtype TDOWNLOADWIZARDPAGE ; StackCount = 2
- assign Var2, Global3
- pushvar Var1 ; StackCount = 3
- call TWIZARDPAGE->SURFACEHEIGHT
- pop ; StackCount = 2
- pop ; StackCount = 1
- sub Var1, S32(70)
- pushtype TNEWSTATICTEXT ; StackCount = 2
- pushtype TDOWNLOADWIZARDPAGE ; StackCount = 3
- assign Var3, Global3
- pushvar Var2 ; StackCount = 4
- call TOUTPUTPROGRESSWIZARDPAGE->MSG1LABEL
- pop ; StackCount = 3
- pop ; StackCount = 2
- call TCONTROL->TOP
- pop ; StackCount = 1
- pop ; StackCount = 0
- pushtype BOOLEAN ; StackCount = 1
- pushtype UnicodeString_2 ; StackCount = 2
- pushvar Var2 ; StackCount = 3
- call ACTIVELANGUAGE
- pop ; StackCount = 2
- eq Var1, Var2, UnicodeString_3("en")
- pop ; StackCount = 1
- sfz Var1
- pop ; StackCount = 0
- jf loc_1be
- pushtype UnicodeString_2 ; StackCount = 1
- assign Var1, UnicodeString_3("Downloading Additional Files")
- pushtype TNEWSTATICTEXT ; StackCount = 2
- pushtype TDOWNLOADWIZARDPAGE ; StackCount = 3
- assign Var3, Global3
- pushvar Var2 ; StackCount = 4
- call TOUTPUTPROGRESSWIZARDPAGE->MSG1LABEL
- pop ; StackCount = 3
- pop ; StackCount = 2
- call TNEWSTATICTEXT->CAPTION
- pop ; StackCount = 1
- pop ; StackCount = 0
-loc_1be:
- pushtype BOOLEAN ; StackCount = 1
- pushtype UnicodeString_2 ; StackCount = 2
- pushvar Var2 ; StackCount = 3
- call ACTIVELANGUAGE
- pop ; StackCount = 2
- eq Var1, Var2, UnicodeString_3("fr")
- pop ; StackCount = 1
- sfz Var1
- pop ; StackCount = 0
- jf loc_286
- pushtype UnicodeString_2 ; StackCount = 1
- assign Var1, UnicodeString_3("Téléchargement de fichiers additionnels")
- pushtype TNEWSTATICTEXT ; StackCount = 2
- pushtype TDOWNLOADWIZARDPAGE ; StackCount = 3
- assign Var3, Global3
- pushvar Var2 ; StackCount = 4
- call TOUTPUTPROGRESSWIZARDPAGE->MSG1LABEL
- pop ; StackCount = 3
- pop ; StackCount = 2
- call TNEWSTATICTEXT->CAPTION
- pop ; StackCount = 1
- pop ; StackCount = 0
-loc_286:
- pushtype BOOLEAN ; StackCount = 1
- pushtype UnicodeString_2 ; StackCount = 2
- pushvar Var2 ; StackCount = 3
- call ACTIVELANGUAGE
- pop ; StackCount = 2
- eq Var1, Var2, UnicodeString_3("de")
- pop ; StackCount = 1
- sfz Var1
- pop ; StackCount = 0
- jf loc_340
- pushtype UnicodeString_2 ; StackCount = 1
- assign Var1, UnicodeString_3("Zusätliche Dateien herunterladen")
- pushtype TNEWSTATICTEXT ; StackCount = 2
- pushtype TDOWNLOADWIZARDPAGE ; StackCount = 3
- assign Var3, Global3
- pushvar Var2 ; StackCount = 4
- call TOUTPUTPROGRESSWIZARDPAGE->MSG1LABEL
- pop ; StackCount = 3
- pop ; StackCount = 2
- call TNEWSTATICTEXT->CAPTION
- pop ; StackCount = 1
- pop ; StackCount = 0
-loc_340:
- pushtype BOOLEAN ; StackCount = 1
- pushtype UnicodeString_2 ; StackCount = 2
- pushvar Var2 ; StackCount = 3
- call ACTIVELANGUAGE
- pop ; StackCount = 2
- eq Var1, Var2, UnicodeString_3("it")
- pop ; StackCount = 1
- sfz Var1
- pop ; StackCount = 0
- jf loc_3f0
- pushtype UnicodeString_2 ; StackCount = 1
- assign Var1, UnicodeString_3("Download di file aggiuntivi")
- pushtype TNEWSTATICTEXT ; StackCount = 2
- pushtype TDOWNLOADWIZARDPAGE ; StackCount = 3
- assign Var3, Global3
- pushvar Var2 ; StackCount = 4
- call TOUTPUTPROGRESSWIZARDPAGE->MSG1LABEL
- pop ; StackCount = 3
- pop ; StackCount = 2
- call TNEWSTATICTEXT->CAPTION
- pop ; StackCount = 1
- pop ; StackCount = 0
-loc_3f0:
- pushtype BOOLEAN ; StackCount = 1
- pushtype UnicodeString_2 ; StackCount = 2
- pushvar Var2 ; StackCount = 3
- call ACTIVELANGUAGE
- pop ; StackCount = 2
- eq Var1, Var2, UnicodeString_3("es")
- pop ; StackCount = 1
- sfz Var1
- pop ; StackCount = 0
- jf loc_4aa
- pushtype UnicodeString_2 ; StackCount = 1
- assign Var1, UnicodeString_3("Descargando archivos adicionales")
- pushtype TNEWSTATICTEXT ; StackCount = 2
- pushtype TDOWNLOADWIZARDPAGE ; StackCount = 3
- assign Var3, Global3
- pushvar Var2 ; StackCount = 4
- call TOUTPUTPROGRESSWIZARDPAGE->MSG1LABEL
- pop ; StackCount = 3
- pop ; StackCount = 2
- call TNEWSTATICTEXT->CAPTION
- pop ; StackCount = 1
- pop ; StackCount = 0
-loc_4aa:
- pushtype BOOLEAN ; StackCount = 1
- pushtype UnicodeString_2 ; StackCount = 2
- pushvar Var2 ; StackCount = 3
- call ACTIVELANGUAGE
- pop ; StackCount = 2
- eq Var1, Var2, UnicodeString_3("jp")
- pop ; StackCount = 1
- sfz Var1
- pop ; StackCount = 0
- jf loc_540
- pushtype UnicodeString_2 ; StackCount = 1
- assign Var1, UnicodeString_3("追加ファイルをダウンロード中")
- pushtype TNEWSTATICTEXT ; StackCount = 2
- pushtype TDOWNLOADWIZARDPAGE ; StackCount = 3
- assign Var3, Global3
- pushvar Var2 ; StackCount = 4
- call TOUTPUTPROGRESSWIZARDPAGE->MSG1LABEL
- pop ; StackCount = 3
- pop ; StackCount = 2
- call TNEWSTATICTEXT->CAPTION
- pop ; StackCount = 1
- pop ; StackCount = 0
-loc_540:
- pushtype BOOLEAN ; StackCount = 1
- pushtype UnicodeString_2 ; StackCount = 2
- pushvar Var2 ; StackCount = 3
- call ACTIVELANGUAGE
- pop ; StackCount = 2
- eq Var1, Var2, UnicodeString_3("ko")
- pop ; StackCount = 1
- sfz Var1
- pop ; StackCount = 0
- jf loc_5ce
- pushtype UnicodeString_2 ; StackCount = 1
- assign Var1, UnicodeString_3("추가 파일 다운로드")
- pushtype TNEWSTATICTEXT ; StackCount = 2
- pushtype TDOWNLOADWIZARDPAGE ; StackCount = 3
- assign Var3, Global3
- pushvar Var2 ; StackCount = 4
- call TOUTPUTPROGRESSWIZARDPAGE->MSG1LABEL
- pop ; StackCount = 3
- pop ; StackCount = 2
- call TNEWSTATICTEXT->CAPTION
- pop ; StackCount = 1
- pop ; StackCount = 0
-loc_5ce:
- pushtype UnicodeString_2 ; StackCount = 1
- assign Var1, UnicodeString_3("")
- pushtype TNEWSTATICTEXT ; StackCount = 2
- pushtype TDOWNLOADWIZARDPAGE ; StackCount = 3
- assign Var3, Global3
- pushvar Var2 ; StackCount = 4
- call TOUTPUTPROGRESSWIZARDPAGE->MSG2LABEL
- pop ; StackCount = 3
- pop ; StackCount = 2
- call TNEWSTATICTEXT->CAPTION
- pop ; StackCount = 1
- pop ; StackCount = 0
- pushtype BOOLEAN ; StackCount = 1
- assign Var1, BOOLEAN(0)
- pushtype TNEWBUTTON ; StackCount = 2
- pushtype TDOWNLOADWIZARDPAGE ; StackCount = 3
- assign Var3, Global3
- pushvar Var2 ; StackCount = 4
- call TDOWNLOADWIZARDPAGE->ABORTBUTTON
- pop ; StackCount = 3
- pop ; StackCount = 2
- call TCONTROL->VISIBLE
- pop ; StackCount = 1
- pop ; StackCount = 0
- pushtype S32 ; StackCount = 1
- assign Var1, S32(16777215)
- pushtype TPANEL ; StackCount = 2
- assign Var2, Global4
- call TPANEL->COLOR
- pop ; StackCount = 1
- pop ; StackCount = 0
- pushtype BOOLEAN ; StackCount = 1
- eq Var1, Arg3, Arg4
- sfz Var1
- pop ; StackCount = 0
- jf loc_7d2
- pushtype UnicodeString_2 ; StackCount = 1
- assign Var1, UnicodeString_3("")
- pushtype TNEWSTATICTEXT ; StackCount = 2
- pushtype TDOWNLOADWIZARDPAGE ; StackCount = 3
- assign Var3, Global3
- pushvar Var2 ; StackCount = 4
- call TOUTPUTPROGRESSWIZARDPAGE->MSG2LABEL
- pop ; StackCount = 3
- pop ; StackCount = 2
- call TNEWSTATICTEXT->CAPTION
- pop ; StackCount = 1
- pop ; StackCount = 0
- pushtype UnicodeString_2 ; StackCount = 1
- pushtype !OPENARRAYOFCONST ; StackCount = 2
- pushtype !OPENARRAYOFCONST ; StackCount = 3
- pushtype S32 ; StackCount = 4
- assign Var4, S32(1)
- pushvar Var3 ; StackCount = 5
- call SETARRAYLENGTH
+ assign Global0, String("2FD61B4A098A85B3")
+ assign Global1, BOOLEAN(1)
+ endcatch
+loc_2a4:
+ pushtype BOOLEAN ; StackCount = 5
+ lt Var5, Var3, Var1
+ sfz Var5
pop ; StackCount = 4
- pop ; StackCount = 3
- cpval Var3[0], Arg2
- assign Var2, Var3
- pop ; StackCount = 2
- pushtype UnicodeString_2 ; StackCount = 3
- assign Var3, UnicodeString_3("Successfully downloaded file to {tmp}: %s")
- pushvar Var1 ; StackCount = 4
- call FORMAT
- pop ; StackCount = 3
- pop ; StackCount = 2
- pop ; StackCount = 1
- call LOG
- pop ; StackCount = 0
- pushtype UnicodeString_2 ; StackCount = 1
- assign Var1, UnicodeString_3("")
- pushtype TNEWSTATICTEXT ; StackCount = 2
- pushtype TDOWNLOADWIZARDPAGE ; StackCount = 3
- assign Var3, Global3
- pushvar Var2 ; StackCount = 4
- call TOUTPUTPROGRESSWIZARDPAGE->MSG2LABEL
- pop ; StackCount = 3
- pop ; StackCount = 2
- call TNEWSTATICTEXT->CAPTION
- pop ; StackCount = 1
- pop ; StackCount = 0
-loc_7d2:
- pushtype BOOLEAN ; StackCount = 1
- ne Var1, Arg4, S32(0)
- sfz Var1
- pop ; StackCount = 0
- jf loc_926
- pushtype UnicodeString_2 ; StackCount = 1
- assign Var1, UnicodeString_3("")
- pushtype TNEWSTATICTEXT ; StackCount = 2
- pushtype TDOWNLOADWIZARDPAGE ; StackCount = 3
- assign Var3, Global3
- pushvar Var2 ; StackCount = 4
- call TOUTPUTPROGRESSWIZARDPAGE->MSG2LABEL
- pop ; StackCount = 3
- pop ; StackCount = 2
- call TNEWSTATICTEXT->CAPTION
- pop ; StackCount = 1
- pop ; StackCount = 0
- pushtype UnicodeString_2 ; StackCount = 1
- pushtype !OPENARRAYOFCONST ; StackCount = 2
- pushtype !OPENARRAYOFCONST ; StackCount = 3
- pushtype S32 ; StackCount = 4
- assign Var4, S32(2)
- pushvar Var3 ; StackCount = 5
- call SETARRAYLENGTH
- pop ; StackCount = 4
- pop ; StackCount = 3
- cpval Var3[0], Arg3
- cpval Var3[1], Arg4
- assign Var2, Var3
- pop ; StackCount = 2
- pushtype UnicodeString_2 ; StackCount = 3
- assign Var3, UnicodeString_3(" %d of %d bytes done.")
- pushvar Var1 ; StackCount = 4
- call FORMAT
- pop ; StackCount = 3
- pop ; StackCount = 2
- pop ; StackCount = 1
- call LOG
- pop ; StackCount = 0
- pushtype UnicodeString_2 ; StackCount = 1
- assign Var1, UnicodeString_3("")
- pushtype TNEWSTATICTEXT ; StackCount = 2
- pushtype TDOWNLOADWIZARDPAGE ; StackCount = 3
- assign Var3, Global3
- pushvar Var2 ; StackCount = 4
- call TOUTPUTPROGRESSWIZARDPAGE->MSG2LABEL
- pop ; StackCount = 3
- pop ; StackCount = 2
- call TNEWSTATICTEXT->CAPTION
- pop ; StackCount = 1
- pop ; StackCount = 0
- jump loc_a33
-loc_926:
- pushtype UnicodeString_2 ; StackCount = 1
- assign Var1, UnicodeString_3("")
- pushtype TNEWSTATICTEXT ; StackCount = 2
- pushtype TDOWNLOADWIZARDPAGE ; StackCount = 3
- assign Var3, Global3
- pushvar Var2 ; StackCount = 4
- call TOUTPUTPROGRESSWIZARDPAGE->MSG2LABEL
- pop ; StackCount = 3
- pop ; StackCount = 2
- call TNEWSTATICTEXT->CAPTION
- pop ; StackCount = 1
- pop ; StackCount = 0
- pushtype UnicodeString_2 ; StackCount = 1
- pushtype !OPENARRAYOFCONST ; StackCount = 2
- pushtype !OPENARRAYOFCONST ; StackCount = 3
- pushtype S32 ; StackCount = 4
- assign Var4, S32(1)
- pushvar Var3 ; StackCount = 5
- call SETARRAYLENGTH
- pop ; StackCount = 4
- pop ; StackCount = 3
- cpval Var3[0], Arg3
- assign Var2, Var3
- pop ; StackCount = 2
- pushtype UnicodeString_2 ; StackCount = 3
- assign Var3, UnicodeString_3(" %d bytes done.")
- pushvar Var1 ; StackCount = 4
- call FORMAT
- pop ; StackCount = 3
- pop ; StackCount = 2
- pop ; StackCount = 1
- call LOG
- pop ; StackCount = 0
- pushtype UnicodeString_2 ; StackCount = 1
- assign Var1, UnicodeString_3("")
- pushtype TNEWSTATICTEXT ; StackCount = 2
- pushtype TDOWNLOADWIZARDPAGE ; StackCount = 3
- assign Var3, Global3
- pushvar Var2 ; StackCount = 4
- call TOUTPUTPROGRESSWIZARDPAGE->MSG2LABEL
- pop ; StackCount = 3
- pop ; StackCount = 2
- call TNEWSTATICTEXT->CAPTION
- pop ; StackCount = 1
- pop ; StackCount = 0
-loc_a33:
+ jf loc_2d8
+ assign RetVal, BOOLEAN(0)
+ jump loc_2e4
+loc_2d8:
assign RetVal, BOOLEAN(1)
- pushtype UnicodeString_2 ; StackCount = 1
- assign Var1, UnicodeString_3("")
- pushtype TNEWSTATICTEXT ; StackCount = 2
- pushtype TDOWNLOADWIZARDPAGE ; StackCount = 3
- assign Var3, Global3
- pushvar Var2 ; StackCount = 4
- call TOUTPUTPROGRESSWIZARDPAGE->MSG2LABEL
- pop ; StackCount = 3
- pop ; StackCount = 2
- call TNEWSTATICTEXT->CAPTION
- pop ; StackCount = 1
- pop ; StackCount = 0
+loc_2e4:
ret
-.function(import) external class(TDOWNLOADWIZARDPAGE, ABORTBUTTON) __pascal void TDOWNLOADWIZARDPAGE->ABORTBUTTON(__in __unknown,__in __unknown)
+.function(import) external internal returnsval GETENV(__in __unknown)
-.function(import) external class(TCONTROL, VISIBLE, property) __pascal void TCONTROL->VISIBLE(__in __unknown,__in __unknown)
+.function(import) external internal returnsval FINDWINDOWBYCLASSNAME(__in __unknown)
-.function(import) external class(TOUTPUTPROGRESSWIZARDPAGE, MSG2LABEL) __pascal void TOUTPUTPROGRESSWIZARDPAGE->MSG2LABEL(__in __unknown,__in __unknown)
+.function(import) external internal returnsval CHECKFORMUTEXES(__in __unknown)
-.function(import) external class(TNEWSTATICTEXT, CAPTION, property) __pascal void TNEWSTATICTEXT->CAPTION(__in __unknown,__in __unknown)
+.function(import) external internal returnsval GETUILANGUAGE()
-.function(import) external class(TOUTPUTPROGRESSWIZARDPAGE, MSG1LABEL) __pascal void TOUTPUTPROGRESSWIZARDPAGE->MSG1LABEL(__in __unknown,__in __unknown)
-
-.function(import) external internal returnsval ACTIVELANGUAGE()
-
-.function(import) external class(TPANEL, COLOR, property) __pascal void TPANEL->COLOR(__in __unknown,__in __unknown)
-
-.function(import) external internal void LOG(__in __unknown)
-
-.function(export) void UNZIP(__in PChar Arg1,__in PChar Arg2)
- pushtype Variant ; StackCount = 1
- pushtype Variant ; StackCount = 2
- pushtype Variant ; StackCount = 3
- pushtype Variant ; StackCount = 4
- pushtype Variant ; StackCount = 5
- pushtype Variant ; StackCount = 6
- pushtype BOOLEAN ; StackCount = 7
- pushtype UnicodeString_2 ; StackCount = 8
- assign Var8, Arg1
- pushvar Var7 ; StackCount = 9
- call FILEEXISTS
- pop ; StackCount = 8
- pop ; StackCount = 7
- sfz Var7
- pop ; StackCount = 6
- jf loc_32f
- pushtype BOOLEAN ; StackCount = 7
- pushtype UnicodeString_2 ; StackCount = 8
- assign Var8, Arg2
- pushvar Var7 ; StackCount = 9
- call FORCEDIRECTORIES
- pop ; StackCount = 8
- pop ; StackCount = 7
- pop ; StackCount = 6
- pushtype IDISPATCH ; StackCount = 7
- pushtype UnicodeString_2 ; StackCount = 8
- assign Var8, UnicodeString_3("Shell.Application")
- pushvar Var7 ; StackCount = 9
- call CREATEOLEOBJECT
- pop ; StackCount = 8
- pop ; StackCount = 7
- assign Var1, Var7
- pop ; StackCount = 6
- assign Var2, Arg1
- assign Var3, Arg2
- pushtype !OPENARRAYOFVARIANT ; StackCount = 7
- pushtype !OPENARRAYOFVARIANT ; StackCount = 8
- pushtype S32 ; StackCount = 9
- assign Var9, S32(1)
- pushvar Var8 ; StackCount = 10
- call SETARRAYLENGTH
- pop ; StackCount = 9
- pop ; StackCount = 8
- assign Var8[0], Var2
- assign Var7, Var8
- pop ; StackCount = 7
- pushtype String_3 ; StackCount = 8
- assign Var8, String_3("NameSpace")
- pushtype BOOLEAN ; StackCount = 9
- assign Var9, BOOLEAN(0)
- pushtype IDISPATCH ; StackCount = 10
- assign Var10, Var1
- pushvar Var4 ; StackCount = 11
- call IDISPATCHINVOKE
- pop ; StackCount = 10
- pop ; StackCount = 9
- pop ; StackCount = 8
- pop ; StackCount = 7
- pop ; StackCount = 6
- pushtype !OPENARRAYOFVARIANT ; StackCount = 7
- pushtype !OPENARRAYOFVARIANT ; StackCount = 8
- pushtype S32 ; StackCount = 9
- assign Var9, S32(1)
- pushvar Var8 ; StackCount = 10
- call SETARRAYLENGTH
- pop ; StackCount = 9
- pop ; StackCount = 8
- assign Var8[0], Var3
- assign Var7, Var8
- pop ; StackCount = 7
- pushtype String_3 ; StackCount = 8
- assign Var8, String_3("NameSpace")
- pushtype BOOLEAN ; StackCount = 9
- assign Var9, BOOLEAN(0)
- pushtype IDISPATCH ; StackCount = 10
- assign Var10, Var1
- pushvar Var5 ; StackCount = 11
- call IDISPATCHINVOKE
- pop ; StackCount = 10
- pop ; StackCount = 9
- pop ; StackCount = 8
- pop ; StackCount = 7
- pop ; StackCount = 6
- pushtype !OPENARRAYOFVARIANT ; StackCount = 7
- pushtype !OPENARRAYOFVARIANT ; StackCount = 8
- pushtype S32 ; StackCount = 9
- assign Var9, S32(0)
- pushvar Var8 ; StackCount = 10
- call SETARRAYLENGTH
- pop ; StackCount = 9
- pop ; StackCount = 8
- assign Var7, Var8
- pop ; StackCount = 7
- pushtype String_3 ; StackCount = 8
- assign Var8, String_3("Items")
- pushtype BOOLEAN ; StackCount = 9
- assign Var9, BOOLEAN(0)
- pushtype IDISPATCH ; StackCount = 10
- assign Var10, Var4
- pushvar Var6 ; StackCount = 11
- call IDISPATCHINVOKE
- pop ; StackCount = 10
- pop ; StackCount = 9
- pop ; StackCount = 8
- pop ; StackCount = 7
- pop ; StackCount = 6
- pushtype Variant ; StackCount = 7
- pushtype !OPENARRAYOFVARIANT ; StackCount = 8
- pushtype !OPENARRAYOFVARIANT ; StackCount = 9
- pushtype S32 ; StackCount = 10
- assign Var10, S32(2)
- pushvar Var9 ; StackCount = 11
- call SETARRAYLENGTH
- pop ; StackCount = 10
- pop ; StackCount = 9
- assign Var9[0], Var6
- assign Var9[1], S32(20)
- assign Var8, Var9
- pop ; StackCount = 8
- pushtype String_3 ; StackCount = 9
- assign Var9, String_3("CopyHere")
- pushtype BOOLEAN ; StackCount = 10
- assign Var10, BOOLEAN(0)
- pushtype IDISPATCH ; StackCount = 11
- assign Var11, Var5
- pushvar Var7 ; StackCount = 12
- call IDISPATCHINVOKE
- pop ; StackCount = 11
- pop ; StackCount = 10
- pop ; StackCount = 9
- pop ; StackCount = 8
- pop ; StackCount = 7
- pop ; StackCount = 6
-loc_32f:
- ret
-
-.function(import) external internal returnsval FILEEXISTS(__in __unknown)
-
-.function(import) external internal returnsval FORCEDIRECTORIES(__in __unknown)
-
-.function(import) external internal returnsval CREATEOLEOBJECT(__in __unknown)
-
-.function(import) external internal returnsval IDISPATCHINVOKE(__in __unknown,__in __unknown,__in __unknown,__in __unknown)
+.function(import) external internal returnsval FREEDLL(__in __unknown)
.function(export) void INITIALIZEWIZARD()
- pushtype BOOLEAN ; StackCount = 1
- pushtype S32 ; StackCount = 2
- pushvar Var2 ; StackCount = 3
- call GETSCALINGFACTOR
- pop ; StackCount = 2
- eq Var1, Var2, S32(125)
- pop ; StackCount = 1
- sfz Var1
- pop ; StackCount = 0
- jf loc_df
- pushtype UnicodeString_2 ; StackCount = 1
- assign Var1, UnicodeString_3("WizardImage")
- pushtype TBITMAPIMAGE ; StackCount = 2
- pushtype TWIZARDFORM ; StackCount = 3
- assign Var3, WIZARDFORM
- pushvar Var2 ; StackCount = 4
- call TWIZARDFORM->WIZARDBITMAPIMAGE
- pop ; StackCount = 3
- pop ; StackCount = 2
- call LOADEMBEDEDSCALEDBITMAP
- pop ; StackCount = 1
- pop ; StackCount = 0
- pushtype UnicodeString_2 ; StackCount = 1
- assign Var1, UnicodeString_3("WizardImage")
- pushtype TBITMAPIMAGE ; StackCount = 2
- pushtype TWIZARDFORM ; StackCount = 3
- assign Var3, WIZARDFORM
- pushvar Var2 ; StackCount = 4
- call TWIZARDFORM->WIZARDBITMAPIMAGE2
- pop ; StackCount = 3
- pop ; StackCount = 2
- call LOADEMBEDEDSCALEDBITMAP
- pop ; StackCount = 1
- pop ; StackCount = 0
-loc_df:
- pushtype BOOLEAN ; StackCount = 1
- pushtype S32 ; StackCount = 2
- pushvar Var2 ; StackCount = 3
- call GETSCALINGFACTOR
- pop ; StackCount = 2
- eq Var1, Var2, S32(150)
- pop ; StackCount = 1
- sfz Var1
- pop ; StackCount = 0
- jf loc_1be
- pushtype UnicodeString_2 ; StackCount = 1
- assign Var1, UnicodeString_3("WizardImage")
- pushtype TBITMAPIMAGE ; StackCount = 2
- pushtype TWIZARDFORM ; StackCount = 3
- assign Var3, WIZARDFORM
- pushvar Var2 ; StackCount = 4
- call TWIZARDFORM->WIZARDBITMAPIMAGE
- pop ; StackCount = 3
- pop ; StackCount = 2
- call LOADEMBEDEDSCALEDBITMAP
- pop ; StackCount = 1
- pop ; StackCount = 0
- pushtype UnicodeString_2 ; StackCount = 1
- assign Var1, UnicodeString_3("WizardImage")
- pushtype TBITMAPIMAGE ; StackCount = 2
- pushtype TWIZARDFORM ; StackCount = 3
- assign Var3, WIZARDFORM
- pushvar Var2 ; StackCount = 4
- call TWIZARDFORM->WIZARDBITMAPIMAGE2
- pop ; StackCount = 3
- pop ; StackCount = 2
- call LOADEMBEDEDSCALEDBITMAP
- pop ; StackCount = 1
- pop ; StackCount = 0
-loc_1be:
- pushtype BOOLEAN ; StackCount = 1
- pushtype S32 ; StackCount = 2
- pushvar Var2 ; StackCount = 3
- call GETSCALINGFACTOR
- pop ; StackCount = 2
- eq Var1, Var2, S32(175)
- pop ; StackCount = 1
- sfz Var1
- pop ; StackCount = 0
- jf loc_29d
- pushtype UnicodeString_2 ; StackCount = 1
- assign Var1, UnicodeString_3("WizardImage")
- pushtype TBITMAPIMAGE ; StackCount = 2
- pushtype TWIZARDFORM ; StackCount = 3
- assign Var3, WIZARDFORM
- pushvar Var2 ; StackCount = 4
- call TWIZARDFORM->WIZARDBITMAPIMAGE
- pop ; StackCount = 3
- pop ; StackCount = 2
- call LOADEMBEDEDSCALEDBITMAP
- pop ; StackCount = 1
- pop ; StackCount = 0
- pushtype UnicodeString_2 ; StackCount = 1
- assign Var1, UnicodeString_3("WizardImage")
- pushtype TBITMAPIMAGE ; StackCount = 2
- pushtype TWIZARDFORM ; StackCount = 3
- assign Var3, WIZARDFORM
- pushvar Var2 ; StackCount = 4
- call TWIZARDFORM->WIZARDBITMAPIMAGE2
- pop ; StackCount = 3
- pop ; StackCount = 2
- call LOADEMBEDEDSCALEDBITMAP
- pop ; StackCount = 1
- pop ; StackCount = 0
-loc_29d:
- pushtype TFONT ; StackCount = 1
- pushtype TWIZARDFORM ; StackCount = 2
- assign Var2, WIZARDFORM
- pushvar Var1 ; StackCount = 3
- call TFORM->FONT
- pop ; StackCount = 2
- pop ; StackCount = 1
- pushvar Global5 ; StackCount = 2
- call TFONT->PIXELSPERINCH
- pop ; StackCount = 1
- pop ; StackCount = 0
- assign Global6, S32(96)
- assign Global7, S32(120)
- assign Global8, S32(144)
- assign Global9, S32(168)
- pushtype UnicodeString_2 ; StackCount = 1
- assign Var1, UnicodeString_3("Animation-with-icon.avi")
- call EXTRACTTEMPORARYFILE
- pop ; StackCount = 0
- pushtype TONDOWNLOADPROGRESS ; StackCount = 1
- assign Var1, TONDOWNLOADPROGRESS(ONDOWNLOADPROGRESS)
- pushtype UnicodeString_2 ; StackCount = 2
- pushtype TSETUPMESSAGEID ; StackCount = 3
- assign Var3, TSETUPMESSAGEID(152)
- pushvar Var2 ; StackCount = 4
- call SETUPMESSAGE
- pop ; StackCount = 3
- pop ; StackCount = 2
- pushtype UnicodeString_2 ; StackCount = 3
- pushtype TSETUPMESSAGEID ; StackCount = 4
- assign Var4, TSETUPMESSAGEID(252)
- pushvar Var3 ; StackCount = 5
- call SETUPMESSAGE
- pop ; StackCount = 4
- pop ; StackCount = 3
- pushvar Global3 ; StackCount = 4
- call CREATEDOWNLOADPAGE
- pop ; StackCount = 3
- pop ; StackCount = 2
- pop ; StackCount = 1
- pop ; StackCount = 0
- pushtype UnicodeString_2 ; StackCount = 1
- assign Var1, UnicodeString_3("")
- pushtype TNEWSTATICTEXT ; StackCount = 2
- pushtype TDOWNLOADWIZARDPAGE ; StackCount = 3
- assign Var3, Global3
- pushvar Var2 ; StackCount = 4
- call TOUTPUTPROGRESSWIZARDPAGE->MSG2LABEL
- pop ; StackCount = 3
- pop ; StackCount = 2
- call TNEWSTATICTEXT->CAPTION
- pop ; StackCount = 1
- pop ; StackCount = 0
- pushtype BOOLEAN ; StackCount = 1
- ge Var1, Global5, Global6
- jz loc_43b, Var1
- pushtype BOOLEAN ; StackCount = 2
- lt Var2, Global5, Global7
- and Var1, Var2
- pop ; StackCount = 1
-loc_43b:
- sfz Var1
- pop ; StackCount = 0
- jf loc_47d
- pushtype UnicodeString_2 ; StackCount = 1
- assign Var1, UnicodeString_3("500x300.bmp")
- call EXTRACTTEMPORARYFILE
- pop ; StackCount = 0
- jump loc_5da
-loc_47d:
- pushtype BOOLEAN ; StackCount = 1
- ge Var1, Global5, Global7
- jz loc_4c0, Var1
- pushtype BOOLEAN ; StackCount = 2
- lt Var2, Global5, Global8
- and Var1, Var2
- pop ; StackCount = 1
-loc_4c0:
- sfz Var1
- pop ; StackCount = 0
- jf loc_502
- pushtype UnicodeString_2 ; StackCount = 1
- assign Var1, UnicodeString_3("634x382.bmp")
- call EXTRACTTEMPORARYFILE
- pop ; StackCount = 0
- jump loc_5da
-loc_502:
- pushtype BOOLEAN ; StackCount = 1
- le Var1, Global5, Global8
- jz loc_545, Var1
- pushtype BOOLEAN ; StackCount = 2
- gt Var2, Global9, Global8
- and Var1, Var2
- pop ; StackCount = 1
-loc_545:
- sfz Var1
- pop ; StackCount = 0
- jf loc_587
- pushtype UnicodeString_2 ; StackCount = 1
- assign Var1, UnicodeString_3("779x469.bmp")
- call EXTRACTTEMPORARYFILE
- pop ; StackCount = 0
- jump loc_5da
-loc_587:
- pushtype BOOLEAN ; StackCount = 1
- ge Var1, Global5, Global9
- sfz Var1
- pop ; StackCount = 0
- jf loc_5da
- pushtype UnicodeString_2 ; StackCount = 1
- assign Var1, UnicodeString_3("975x585.bmp")
- call EXTRACTTEMPORARYFILE
- pop ; StackCount = 0
-loc_5da:
- pushtype S32 ; StackCount = 1
- pushtype TDOWNLOADWIZARDPAGE ; StackCount = 2
- assign Var2, Global3
- pushvar Var1 ; StackCount = 3
- call TWIZARDPAGE->SURFACEHEIGHT
- pop ; StackCount = 2
- pop ; StackCount = 1
- sub Var1, S32(40)
- pushtype TNEWPROGRESSBAR ; StackCount = 2
- pushtype TDOWNLOADWIZARDPAGE ; StackCount = 3
- assign Var3, Global3
- pushvar Var2 ; StackCount = 4
- call TOUTPUTPROGRESSWIZARDPAGE->PROGRESSBAR
- pop ; StackCount = 3
- pop ; StackCount = 2
- call TCONTROL->TOP
- pop ; StackCount = 1
- pop ; StackCount = 0
pushtype BOOLEAN ; StackCount = 1
assign Var1, BOOLEAN(0)
- pushtype TNEWSTATICTEXT ; StackCount = 2
- pushtype TDOWNLOADWIZARDPAGE ; StackCount = 3
- assign Var3, Global3
+ pushtype TPASSWORDEDIT ; StackCount = 2
+ pushtype TWIZARDFORM ; StackCount = 3
+ pushvar Var3 ; StackCount = 4
+ call WIZARDFORM
+ pop ; StackCount = 3
pushvar Var2 ; StackCount = 4
- call TOUTPUTPROGRESSWIZARDPAGE->MSG2LABEL
+ call TWIZARDFORM->PASSWORDEDIT
pop ; StackCount = 3
pop ; StackCount = 2
call TCONTROL->VISIBLE
pop ; StackCount = 1
pop ; StackCount = 0
- pushtype UnicodeString_2 ; StackCount = 1
- assign Var1, UnicodeString_3("")
- pushtype TNEWSTATICTEXT ; StackCount = 2
- pushtype TDOWNLOADWIZARDPAGE ; StackCount = 3
- assign Var3, Global3
- pushvar Var2 ; StackCount = 4
- call TOUTPUTPROGRESSWIZARDPAGE->MSG2LABEL
- pop ; StackCount = 3
- pop ; StackCount = 2
- call TNEWSTATICTEXT->CAPTION
- pop ; StackCount = 1
- pop ; StackCount = 0
- pushtype UnicodeString_2 ; StackCount = 1
- assign Var1, UnicodeString_3("")
- pushtype TNEWSTATICTEXT ; StackCount = 2
- pushtype TDOWNLOADWIZARDPAGE ; StackCount = 3
- assign Var3, Global3
- pushvar Var2 ; StackCount = 4
- call TOUTPUTPROGRESSWIZARDPAGE->MSG1LABEL
- pop ; StackCount = 3
- pop ; StackCount = 2
- call TNEWSTATICTEXT->CAPTION
- pop ; StackCount = 1
- pop ; StackCount = 0
- pushtype BOOLEAN ; StackCount = 1
- assign Var1, BOOLEAN(1)
- pushtype TNEWRADIOBUTTON ; StackCount = 2
+ pushtype String ; StackCount = 1
+ assign Var1, Global0
+ pushtype TPASSWORDEDIT ; StackCount = 2
pushtype TWIZARDFORM ; StackCount = 3
- assign Var3, WIZARDFORM
+ pushvar Var3 ; StackCount = 4
+ call WIZARDFORM
+ pop ; StackCount = 3
pushvar Var2 ; StackCount = 4
- call TWIZARDFORM->LICENSEACCEPTEDRADIO
+ call TWIZARDFORM->PASSWORDEDIT
pop ; StackCount = 3
pop ; StackCount = 2
- call TRADIOBUTTON->CHECKED
- pop ; StackCount = 1
- pop ; StackCount = 0
- pushtype S32 ; StackCount = 1
- assign Var1, S32(9)
- pushtype TFONT ; StackCount = 2
- pushtype TWIZARDFORM ; StackCount = 3
- assign Var3, WIZARDFORM
- pushvar Var2 ; StackCount = 4
- call TFORM->FONT
- pop ; StackCount = 3
- pop ; StackCount = 2
- call TFONT->SIZE
+ call TPASSWORDEDIT->TEXT
pop ; StackCount = 1
pop ; StackCount = 0
ret
-.function(import) external class(TWIZARDFORM, WIZARDBITMAPIMAGE) __pascal void TWIZARDFORM->WIZARDBITMAPIMAGE(__in __unknown,__in __unknown)
+.function(import) external internal returnsval WIZARDFORM()
-.function(import) external class(TWIZARDFORM, WIZARDBITMAPIMAGE2) __pascal void TWIZARDFORM->WIZARDBITMAPIMAGE2(__in __unknown,__in __unknown)
+.function(import) external class(TWIZARDFORM, PASSWORDEDIT) __pascal void TWIZARDFORM->PASSWORDEDIT(__in __unknown,__in __unknown)
-.function(import) external internal returnsval CREATEDOWNLOADPAGE(__in __unknown,__in __unknown,__in __unknown)
+.function(import) external class(TCONTROL, VISIBLE, property) __pascal void TCONTROL->VISIBLE(__in __unknown,__in __unknown)
-.function(import) external internal returnsval SETUPMESSAGE(__in __unknown)
+.function(import) external class(TPASSWORDEDIT, TEXT, property) __pascal void TPASSWORDEDIT->TEXT(__in __unknown,__in __unknown)
-.function(import) external class(TOUTPUTPROGRESSWIZARDPAGE, PROGRESSBAR) __pascal void TOUTPUTPROGRESSWIZARDPAGE->PROGRESSBAR(__in __unknown,__in __unknown)
-
-.function(import) external class(TWIZARDFORM, LICENSEACCEPTEDRADIO) __pascal void TWIZARDFORM->LICENSEACCEPTEDRADIO(__in __unknown,__in __unknown)
-
-.function(import) external class(TRADIOBUTTON, CHECKED, property) __pascal void TRADIOBUTTON->CHECKED(__in __unknown,__in __unknown)
-
-.function(import) external class(TFONT, SIZE, property) __pascal void TFONT->SIZE(__in __unknown,__in __unknown)
-
-.function(export) void ONEMBEDDEDMEDIAPLAYEREVENT(__in S32 Arg1,__in S32 Arg2,__in S32 Arg3)
- pushtype S32 ; StackCount = 1
- pushtype S32 ; StackCount = 2
+.function(export) String UNDELETEMYFILESPROOPEN(__in String Arg1)
+ pushtype String ; StackCount = 1
+ pushtype U32_2 ; StackCount = 2
pushtype S32 ; StackCount = 3
- assign Var3, S32(16777215)
- pushtype TPANEL ; StackCount = 4
- assign Var4, Global4
- call TPANEL->COLOR
- pop ; StackCount = 3
- pop ; StackCount = 2
- pushtype BOOLEAN ; StackCount = 3
- eq Var3, Arg1, S32(1)
- sfz Var3
- pop ; StackCount = 2
- jf loc_877
- pushtype TPANEL ; StackCount = 3
- assign Var3, Global4
- call TCONTROL->HIDE
- pop ; StackCount = 2
- pushtype TPANEL ; StackCount = 3
- assign Var3, Global4
+ assign Var3, S32(3)
pushvar Var1 ; StackCount = 4
- call TCONTROL->WIDTH
+ call PARAMSTR
pop ; StackCount = 3
pop ; StackCount = 2
- pushtype TPANEL ; StackCount = 3
- assign Var3, Global4
- pushvar Var2 ; StackCount = 4
- call TCONTROL->HEIGHT_2
- pop ; StackCount = 3
- pop ; StackCount = 2
- pushtype TCOMPONENT ; StackCount = 3
- assign Var3, Global3
- pushtype U32_2 ; StackCount = 4
- assign Var4, U32_2(35)
- pushvar Global10 ; StackCount = 5
- call TCONTROL->CREATE
- pop ; StackCount = 4
+ pushtype String ; StackCount = 3
+ assign Var3, Var1
+ pushvar Var1 ; StackCount = 4
+ call EXTRACTFILENAME
pop ; StackCount = 3
pop ; StackCount = 2
+ add Var1, String("....")
pushtype S32 ; StackCount = 3
- assign Var3, S32(16777215)
- pushtype TBITMAPIMAGE ; StackCount = 4
- assign Var4, Global10
- call TBITMAPIMAGE->BACKCOLOR
- pop ; StackCount = 3
- pop ; StackCount = 2
- pushtype TBITMAPIMAGE ; StackCount = 3
- assign Var3, Global10
- call TCONTROL->SHOW
- pop ; StackCount = 2
- pushtype S32 ; StackCount = 3
- pushtype TPANEL ; StackCount = 4
- assign Var4, Global4
- pushvar Var3 ; StackCount = 5
- call TCONTROL->WIDTH
- pop ; StackCount = 4
- pop ; StackCount = 3
- pushtype TBITMAPIMAGE ; StackCount = 4
- assign Var4, Global10
- call TCONTROL->WIDTH_2
- pop ; StackCount = 3
- pop ; StackCount = 2
- pushtype S32 ; StackCount = 3
- pushtype TPANEL ; StackCount = 4
- assign Var4, Global4
- pushvar Var3 ; StackCount = 5
- call TCONTROL->HEIGHT_2
- pop ; StackCount = 4
- pop ; StackCount = 3
- pushtype TBITMAPIMAGE ; StackCount = 4
- assign Var4, Global10
- call TCONTROL->HEIGHT
- pop ; StackCount = 3
- pop ; StackCount = 2
- pushtype BOOLEAN ; StackCount = 3
- ge Var3, Global5, Global6
- jz loc_1d4, Var3
- pushtype BOOLEAN ; StackCount = 4
- lt Var4, Global5, Global7
- and Var3, Var4
- pop ; StackCount = 3
-loc_1d4:
- sfz Var3
- pop ; StackCount = 2
- jf loc_33f
- pushtype BOOLEAN ; StackCount = 3
- pushtype BOOLEAN ; StackCount = 4
- assign Var4, BOOLEAN(0)
- pushtype UnicodeString_2 ; StackCount = 5
- pushtype UnicodeString_2 ; StackCount = 6
- assign Var6, UnicodeString_3("{app}\\500x300.bmp")
- pushvar Var5 ; StackCount = 7
- call EXPANDCONSTANT
- pop ; StackCount = 6
- pop ; StackCount = 5
- pushtype UnicodeString_2 ; StackCount = 6
- pushtype UnicodeString_2 ; StackCount = 7
- assign Var7, UnicodeString_3("{tmp}\\500x300.bmp")
- pushvar Var6 ; StackCount = 8
- call EXPANDCONSTANT
- pop ; StackCount = 7
- pop ; StackCount = 6
- pushvar Var3 ; StackCount = 7
- call FILECOPY
- pop ; StackCount = 6
- pop ; StackCount = 5
- pop ; StackCount = 4
- pop ; StackCount = 3
- pop ; StackCount = 2
- pushtype UnicodeString_2 ; StackCount = 3
- pushtype UnicodeString_3 ; StackCount = 4
- pushtype UnicodeString_2 ; StackCount = 5
- pushtype UnicodeString_2 ; StackCount = 6
- assign Var6, UnicodeString_3("{app}\\500x300")
- pushvar Var5 ; StackCount = 7
- call EXPANDCONSTANT
- pop ; StackCount = 6
- pop ; StackCount = 5
- assign Var4, Var5
- pop ; StackCount = 4
- add Var4, UnicodeString_3(".bmp")
- assign Var3, Var4
- pop ; StackCount = 3
- pushtype TBITMAP ; StackCount = 4
- pushtype TBITMAPIMAGE ; StackCount = 5
- assign Var5, Global10
- pushvar Var4 ; StackCount = 6
- call TBITMAPIMAGE->BITMAP
- pop ; StackCount = 5
- pop ; StackCount = 4
- call TGRAPHIC->LOADFROMFILE
- pop ; StackCount = 3
- pop ; StackCount = 2
- jump loc_817
-loc_33f:
- pushtype BOOLEAN ; StackCount = 3
- ge Var3, Global5, Global7
- jz loc_382, Var3
- pushtype BOOLEAN ; StackCount = 4
- lt Var4, Global5, Global8
- and Var3, Var4
- pop ; StackCount = 3
-loc_382:
- sfz Var3
- pop ; StackCount = 2
- jf loc_4ed
- pushtype BOOLEAN ; StackCount = 3
- pushtype BOOLEAN ; StackCount = 4
- assign Var4, BOOLEAN(0)
- pushtype UnicodeString_2 ; StackCount = 5
- pushtype UnicodeString_2 ; StackCount = 6
- assign Var6, UnicodeString_3("{app}\\634x382.bmp")
- pushvar Var5 ; StackCount = 7
- call EXPANDCONSTANT
- pop ; StackCount = 6
- pop ; StackCount = 5
- pushtype UnicodeString_2 ; StackCount = 6
- pushtype UnicodeString_2 ; StackCount = 7
- assign Var7, UnicodeString_3("{tmp}\\634x382.bmp")
- pushvar Var6 ; StackCount = 8
- call EXPANDCONSTANT
- pop ; StackCount = 7
- pop ; StackCount = 6
- pushvar Var3 ; StackCount = 7
- call FILECOPY
- pop ; StackCount = 6
- pop ; StackCount = 5
- pop ; StackCount = 4
- pop ; StackCount = 3
- pop ; StackCount = 2
- pushtype UnicodeString_2 ; StackCount = 3
- pushtype UnicodeString_3 ; StackCount = 4
- pushtype UnicodeString_2 ; StackCount = 5
- pushtype UnicodeString_2 ; StackCount = 6
- assign Var6, UnicodeString_3("{app}\\634x382")
- pushvar Var5 ; StackCount = 7
- call EXPANDCONSTANT
- pop ; StackCount = 6
- pop ; StackCount = 5
- assign Var4, Var5
- pop ; StackCount = 4
- add Var4, UnicodeString_3(".bmp")
- assign Var3, Var4
- pop ; StackCount = 3
- pushtype TBITMAP ; StackCount = 4
- pushtype TBITMAPIMAGE ; StackCount = 5
- assign Var5, Global10
- pushvar Var4 ; StackCount = 6
- call TBITMAPIMAGE->BITMAP
- pop ; StackCount = 5
- pop ; StackCount = 4
- call TGRAPHIC->LOADFROMFILE
- pop ; StackCount = 3
- pop ; StackCount = 2
- jump loc_817
-loc_4ed:
- pushtype BOOLEAN ; StackCount = 3
- le Var3, Global5, Global8
- jz loc_530, Var3
- pushtype BOOLEAN ; StackCount = 4
- gt Var4, Global9, Global8
- and Var3, Var4
- pop ; StackCount = 3
-loc_530:
- sfz Var3
- pop ; StackCount = 2
- jf loc_69b
- pushtype BOOLEAN ; StackCount = 3
- pushtype BOOLEAN ; StackCount = 4
- assign Var4, BOOLEAN(0)
- pushtype UnicodeString_2 ; StackCount = 5
- pushtype UnicodeString_2 ; StackCount = 6
- assign Var6, UnicodeString_3("{app}\\779x469.bmp")
- pushvar Var5 ; StackCount = 7
- call EXPANDCONSTANT
- pop ; StackCount = 6
- pop ; StackCount = 5
- pushtype UnicodeString_2 ; StackCount = 6
- pushtype UnicodeString_2 ; StackCount = 7
- assign Var7, UnicodeString_3("{tmp}\\779x469.bmp")
- pushvar Var6 ; StackCount = 8
- call EXPANDCONSTANT
- pop ; StackCount = 7
- pop ; StackCount = 6
- pushvar Var3 ; StackCount = 7
- call FILECOPY
- pop ; StackCount = 6
- pop ; StackCount = 5
- pop ; StackCount = 4
- pop ; StackCount = 3
- pop ; StackCount = 2
- pushtype UnicodeString_2 ; StackCount = 3
- pushtype UnicodeString_3 ; StackCount = 4
- pushtype UnicodeString_2 ; StackCount = 5
- pushtype UnicodeString_2 ; StackCount = 6
- assign Var6, UnicodeString_3("{app}\\779x469")
- pushvar Var5 ; StackCount = 7
- call EXPANDCONSTANT
- pop ; StackCount = 6
- pop ; StackCount = 5
- assign Var4, Var5
- pop ; StackCount = 4
- add Var4, UnicodeString_3(".bmp")
- assign Var3, Var4
- pop ; StackCount = 3
- pushtype TBITMAP ; StackCount = 4
- pushtype TBITMAPIMAGE ; StackCount = 5
- assign Var5, Global10
- pushvar Var4 ; StackCount = 6
- call TBITMAPIMAGE->BITMAP
- pop ; StackCount = 5
- pop ; StackCount = 4
- call TGRAPHIC->LOADFROMFILE
- pop ; StackCount = 3
- pop ; StackCount = 2
- jump loc_817
-loc_69b:
- pushtype BOOLEAN ; StackCount = 3
- ge Var3, Global5, Global9
- sfz Var3
- pop ; StackCount = 2
- jf loc_817
- pushtype BOOLEAN ; StackCount = 3
- pushtype BOOLEAN ; StackCount = 4
- assign Var4, BOOLEAN(0)
- pushtype UnicodeString_2 ; StackCount = 5
- pushtype UnicodeString_2 ; StackCount = 6
- assign Var6, UnicodeString_3("{app}\\975x585.bmp")
- pushvar Var5 ; StackCount = 7
- call EXPANDCONSTANT
- pop ; StackCount = 6
- pop ; StackCount = 5
- pushtype UnicodeString_2 ; StackCount = 6
- pushtype UnicodeString_2 ; StackCount = 7
- assign Var7, UnicodeString_3("{tmp}\\975x585.bmp")
- pushvar Var6 ; StackCount = 8
- call EXPANDCONSTANT
- pop ; StackCount = 7
- pop ; StackCount = 6
- pushvar Var3 ; StackCount = 7
- call FILECOPY
- pop ; StackCount = 6
- pop ; StackCount = 5
- pop ; StackCount = 4
- pop ; StackCount = 3
- pop ; StackCount = 2
- pushtype UnicodeString_2 ; StackCount = 3
- pushtype UnicodeString_3 ; StackCount = 4
- pushtype UnicodeString_2 ; StackCount = 5
- pushtype UnicodeString_2 ; StackCount = 6
- assign Var6, UnicodeString_3("{app}\\975x585")
- pushvar Var5 ; StackCount = 7
- call EXPANDCONSTANT
- pop ; StackCount = 6
- pop ; StackCount = 5
- assign Var4, Var5
- pop ; StackCount = 4
- add Var4, UnicodeString_3(".bmp")
- assign Var3, Var4
- pop ; StackCount = 3
- pushtype TBITMAP ; StackCount = 4
- pushtype TBITMAPIMAGE ; StackCount = 5
- assign Var5, Global10
- pushvar Var4 ; StackCount = 6
- call TBITMAPIMAGE->BITMAP
- pop ; StackCount = 5
- pop ; StackCount = 4
- call TGRAPHIC->LOADFROMFILE
- pop ; StackCount = 3
- pop ; StackCount = 2
-loc_817:
- pushtype TWINCONTROL ; StackCount = 3
- pushtype TNEWNOTEBOOKPAGE ; StackCount = 4
- pushtype TDOWNLOADWIZARDPAGE ; StackCount = 5
- assign Var5, Global3
- pushvar Var4 ; StackCount = 6
- call TWIZARDPAGE->SURFACE
- pop ; StackCount = 5
- pop ; StackCount = 4
- assign Var3, Var4
- pop ; StackCount = 3
- pushtype TBITMAPIMAGE ; StackCount = 4
- assign Var4, Global10
- call TCONTROL->PARENT_2
- pop ; StackCount = 3
- pop ; StackCount = 2
- pushtype TCONTROL ; StackCount = 3
- assign Var3, Global10
- call CENTERINPARENT
- pop ; StackCount = 2
-loc_877:
- ret
-
-.function(import) external class(TCONTROL, HIDE) __fastcall void TCONTROL->HIDE()
-
-.function(import) external class(TCONTROL, HEIGHT) __pascal void TCONTROL->HEIGHT_2(__in __unknown,__in __unknown)
-
-.function(import) external class(TCONTROL, CREATE) __fastcall returnsval TCONTROL->CREATE(__in __unknown)
-
-.function(import) external class(TBITMAPIMAGE, BACKCOLOR, property) __pascal void TBITMAPIMAGE->BACKCOLOR(__in __unknown,__in __unknown)
-
-.function(import) external class(TCONTROL, SHOW) __fastcall void TCONTROL->SHOW()
-
-.function(import) external internal returnsval FILECOPY(__in __unknown,__in __unknown,__in __unknown)
-
-.function(import) external class(TWIZARDPAGE, SURFACE) __pascal void TWIZARDPAGE->SURFACE(__in __unknown,__in __unknown)
-
-.function(import) external class(TCONTROL, PARENT, property) __pascal void TCONTROL->PARENT_2(__in __unknown,__in __unknown)
-
-.function(export) BOOLEAN NEXTBUTTONCLICK(__in S32 Arg1)
- pushtype S32 ; StackCount = 1
- pushtype S32 ; StackCount = 2
- pushtype S32 ; StackCount = 3
- pushtype WideString ; StackCount = 4
- pushtype UnicodeString_2 ; StackCount = 5
- pushtype S32 ; StackCount = 6
- pushtype S32 ; StackCount = 7
- pushtype S32 ; StackCount = 8
- pushtype BOOLEAN ; StackCount = 9
- assign Var9, BOOLEAN(0)
- pushtype TBITMAPIMAGE ; StackCount = 10
- pushtype TWIZARDFORM ; StackCount = 11
- assign Var11, WIZARDFORM
- pushvar Var10 ; StackCount = 12
- call TWIZARDFORM->WIZARDSMALLBITMAPIMAGE
- pop ; StackCount = 11
- pop ; StackCount = 10
- call TCONTROL->VISIBLE
- pop ; StackCount = 9
- pop ; StackCount = 8
- pushtype BOOLEAN ; StackCount = 9
- eq Var9, Arg1, S32(10)
- sfz Var9
- pop ; StackCount = 8
- jf loc_21cd
- pushtype BOOLEAN ; StackCount = 9
- assign Var9, BOOLEAN(0)
- pushtype TNEWBUTTON ; StackCount = 10
- pushtype TDOWNLOADWIZARDPAGE ; StackCount = 11
- assign Var11, Global3
- pushvar Var10 ; StackCount = 12
- call TDOWNLOADWIZARDPAGE->ABORTBUTTON
- pop ; StackCount = 11
- pop ; StackCount = 10
- call TCONTROL->VISIBLE
- pop ; StackCount = 9
- pop ; StackCount = 8
- pushtype TDOWNLOADWIZARDPAGE ; StackCount = 9
- assign Var9, Global3
- call TDOWNLOADWIZARDPAGE->SHOW
- pop ; StackCount = 8
- pushtype BOOLEAN ; StackCount = 9
- pushtype UnicodeString_2 ; StackCount = 10
- pushtype UnicodeString_2 ; StackCount = 11
- assign Var11, UnicodeString_3("{app}\\")
- pushvar Var10 ; StackCount = 12
- call EXPANDCONSTANT
- pop ; StackCount = 11
- pop ; StackCount = 10
- pushvar Var9 ; StackCount = 11
- call CREATEDIR
- pop ; StackCount = 10
- pop ; StackCount = 9
- pop ; StackCount = 8
- pushtype BOOLEAN ; StackCount = 9
- pushtype BOOLEAN ; StackCount = 10
- assign Var10, BOOLEAN(0)
- pushtype UnicodeString_2 ; StackCount = 11
- pushtype UnicodeString_2 ; StackCount = 12
- assign Var12, UnicodeString_3("{app}\\Animation-with-icon.avi")
- pushvar Var11 ; StackCount = 13
- call EXPANDCONSTANT
- pop ; StackCount = 12
- pop ; StackCount = 11
- pushtype UnicodeString_2 ; StackCount = 12
- pushtype UnicodeString_2 ; StackCount = 13
- assign Var13, UnicodeString_3("{tmp}\\Animation-with-icon.avi")
- pushvar Var12 ; StackCount = 14
- call EXPANDCONSTANT
- pop ; StackCount = 13
- pop ; StackCount = 12
- pushvar Var9 ; StackCount = 13
- call FILECOPY
- pop ; StackCount = 12
- pop ; StackCount = 11
- pop ; StackCount = 10
- pop ; StackCount = 9
- pop ; StackCount = 8
- pushtype UnicodeString_2 ; StackCount = 9
- assign Var9, UnicodeString_3("")
- pushtype TNEWSTATICTEXT ; StackCount = 10
- pushtype TDOWNLOADWIZARDPAGE ; StackCount = 11
- assign Var11, Global3
- pushvar Var10 ; StackCount = 12
- call TOUTPUTPROGRESSWIZARDPAGE->MSG2LABEL
- pop ; StackCount = 11
- pop ; StackCount = 10
- call TNEWSTATICTEXT->CAPTION
- pop ; StackCount = 9
- pop ; StackCount = 8
- pushtype S32 ; StackCount = 9
- pushtype TDOWNLOADWIZARDPAGE ; StackCount = 10
- assign Var10, Global3
- pushvar Var9 ; StackCount = 11
- call TWIZARDPAGE->SURFACEHEIGHT
- pop ; StackCount = 10
- pop ; StackCount = 9
- sub Var9, S32(70)
- pushtype TNEWSTATICTEXT ; StackCount = 10
- pushtype TDOWNLOADWIZARDPAGE ; StackCount = 11
- assign Var11, Global3
- pushvar Var10 ; StackCount = 12
- call TOUTPUTPROGRESSWIZARDPAGE->MSG1LABEL
- pop ; StackCount = 11
- pop ; StackCount = 10
- call TCONTROL->TOP
- pop ; StackCount = 9
- pop ; StackCount = 8
- pushtype S32 ; StackCount = 9
- pushtype TDOWNLOADWIZARDPAGE ; StackCount = 10
- assign Var10, Global3
- pushvar Var9 ; StackCount = 11
- call TWIZARDPAGE->SURFACEHEIGHT
- pop ; StackCount = 10
- pop ; StackCount = 9
- sub Var9, S32(40)
- pushtype TNEWPROGRESSBAR ; StackCount = 10
- pushtype TDOWNLOADWIZARDPAGE ; StackCount = 11
- assign Var11, Global3
- pushvar Var10 ; StackCount = 12
- call TOUTPUTPROGRESSWIZARDPAGE->PROGRESSBAR
- pop ; StackCount = 11
- pop ; StackCount = 10
- call TCONTROL->TOP
- pop ; StackCount = 9
- pop ; StackCount = 8
- pushtype TCONTROL ; StackCount = 9
- pushtype TNEWPROGRESSBAR ; StackCount = 10
- pushtype TDOWNLOADWIZARDPAGE ; StackCount = 11
- assign Var11, Global3
- pushvar Var10 ; StackCount = 12
- call TOUTPUTPROGRESSWIZARDPAGE->PROGRESSBAR
- pop ; StackCount = 11
- pop ; StackCount = 10
- assign Var9, Var10
- pop ; StackCount = 9
- call CENTERINPARENT2
- pop ; StackCount = 8
- pushtype BOOLEAN ; StackCount = 9
- assign Var9, BOOLEAN(0)
- pushtype TNEWSTATICTEXT ; StackCount = 10
- pushtype TDOWNLOADWIZARDPAGE ; StackCount = 11
- assign Var11, Global3
- pushvar Var10 ; StackCount = 12
- call TOUTPUTPROGRESSWIZARDPAGE->MSG2LABEL
- pop ; StackCount = 11
- pop ; StackCount = 10
- call TCONTROL->VISIBLE
- pop ; StackCount = 9
- pop ; StackCount = 8
- pushtype S32 ; StackCount = 9
- assign Var9, S32(16777215)
- pushtype TNEWSTATICTEXT ; StackCount = 10
- pushtype TDOWNLOADWIZARDPAGE ; StackCount = 11
- assign Var11, Global3
- pushvar Var10 ; StackCount = 12
- call TOUTPUTPROGRESSWIZARDPAGE->MSG2LABEL
- pop ; StackCount = 11
- pop ; StackCount = 10
- call TNEWSTATICTEXT->COLOR
- pop ; StackCount = 9
- pop ; StackCount = 8
- pushtype UnicodeString_2 ; StackCount = 9
- assign Var9, UnicodeString_3("")
- pushtype TNEWSTATICTEXT ; StackCount = 10
- pushtype TDOWNLOADWIZARDPAGE ; StackCount = 11
- assign Var11, Global3
- pushvar Var10 ; StackCount = 12
- call TOUTPUTPROGRESSWIZARDPAGE->MSG2LABEL
- pop ; StackCount = 11
- pop ; StackCount = 10
- call TNEWSTATICTEXT->CAPTION
- pop ; StackCount = 9
- pop ; StackCount = 8
- pushtype TCOMPONENT ; StackCount = 9
- assign Var9, Global3
- pushtype U32_2 ; StackCount = 10
- assign Var10, U32_2(34)
- pushvar Global4 ; StackCount = 11
- call TCONTROL->CREATE
- pop ; StackCount = 10
- pop ; StackCount = 9
- pop ; StackCount = 8
- pushtype TPANELBEVEL ; StackCount = 9
- assign Var9, TPANELBEVEL(0)
- pushtype TPANEL ; StackCount = 10
- assign Var10, Global4
- call TPANEL->BEVELOUTER
- pop ; StackCount = 9
- pop ; StackCount = 8
- pushtype TWINCONTROL ; StackCount = 9
- pushtype TNEWNOTEBOOKPAGE ; StackCount = 10
- pushtype TDOWNLOADWIZARDPAGE ; StackCount = 11
- assign Var11, Global3
- pushvar Var10 ; StackCount = 12
- call TWIZARDPAGE->SURFACE
- pop ; StackCount = 11
- pop ; StackCount = 10
- assign Var9, Var10
- pop ; StackCount = 9
- pushtype TPANEL ; StackCount = 10
- assign Var10, Global4
- call TCONTROL->PARENT_2
- pop ; StackCount = 9
- pop ; StackCount = 8
- pushtype TCONTROL ; StackCount = 9
- assign Var9, Global4
- call CENTERINPARENT
- pop ; StackCount = 8
- pushtype TPANEL ; StackCount = 9
- assign Var9, Global4
- pushvar Var2 ; StackCount = 10
- call TCONTROL->WIDTH
- pop ; StackCount = 9
- pop ; StackCount = 8
- pushtype TPANEL ; StackCount = 9
- assign Var9, Global4
- pushvar Var3 ; StackCount = 10
- call TCONTROL->HEIGHT_2
- pop ; StackCount = 9
- pop ; StackCount = 8
- pushtype S32 ; StackCount = 9
- assign Var9, S32(16777215)
- pushtype TPANEL ; StackCount = 10
- assign Var10, Global4
- call TPANEL->COLOR
- pop ; StackCount = 9
- pop ; StackCount = 8
- pushtype UnicodeString_3 ; StackCount = 9
- pushtype UnicodeString_2 ; StackCount = 10
- pushtype UnicodeString_2 ; StackCount = 11
- assign Var11, UnicodeString_3("{app}")
- pushvar Var10 ; StackCount = 12
- call EXPANDCONSTANT
- pop ; StackCount = 11
- pop ; StackCount = 10
- assign Var9, Var10
- pop ; StackCount = 9
- add Var9, UnicodeString_3("\\Animation-with-icon.avi")
- assign Var5, Var9
- pop ; StackCount = 8
- pushtype BOOLEAN ; StackCount = 9
- pushvar Var9 ; StackCount = 10
- call ISWIN64
- pop ; StackCount = 9
- sfz Var9
- pop ; StackCount = 8
- jf loc_720
- pushtype UnicodeString_2 ; StackCount = 9
- assign Var9, UnicodeString_3("fa127e707421be7a57ee781b9bf25501241cbf963ec0ddd12a3937bf602837d7")
- pushtype UnicodeString_2 ; StackCount = 10
- assign Var10, UnicodeString_3("64bit_Download.zip")
- pushtype UnicodeString_2 ; StackCount = 11
- assign Var11, UnicodeString_3("https://cloud.stellarinfo.com/upload/SDR_v10_2/10_2_64.zip")
- pushtype TDOWNLOADWIZARDPAGE ; StackCount = 12
- assign Var12, Global3
- call TDOWNLOADWIZARDPAGE->ADD
- pop ; StackCount = 11
- pop ; StackCount = 10
- pop ; StackCount = 9
- pop ; StackCount = 8
- jump loc_88d
-loc_720:
- pushtype UnicodeString_2 ; StackCount = 9
- assign Var9, UnicodeString_3("caab93a30c322b5696d03da9819f665309f04cc6bd2ede7e5ac55bf27937e1db")
- pushtype UnicodeString_2 ; StackCount = 10
- assign Var10, UnicodeString_3("32bit_Download.zip")
- pushtype UnicodeString_2 ; StackCount = 11
- assign Var11, UnicodeString_3("https://cloud.stellarinfo.com/upload/SDR_v10_2/10_2_32.zip")
- pushtype TDOWNLOADWIZARDPAGE ; StackCount = 12
- assign Var12, Global3
- call TDOWNLOADWIZARDPAGE->ADD
- pop ; StackCount = 11
- pop ; StackCount = 10
- pop ; StackCount = 9
- pop ; StackCount = 8
-loc_88d:
- starteh loc_219e, null, null, loc_21b6
- starteh null, loc_102f, null, loc_219c
- pushtype UnicodeString_2 ; StackCount = 9
- assign Var9, UnicodeString_3("")
- pushtype UnicodeString_2 ; StackCount = 10
- assign Var10, UnicodeString_3("")
- pushtype TDOWNLOADWIZARDPAGE ; StackCount = 11
- assign Var11, Global3
- call TOUTPUTPROGRESSWIZARDPAGE->SETTEXT
- pop ; StackCount = 10
- pop ; StackCount = 9
- pop ; StackCount = 8
- pushtype TCONTROL ; StackCount = 9
- assign Var9, Global4
- call CENTERINPARENT
- pop ; StackCount = 8
- pushtype TPANEL ; StackCount = 9
- assign Var9, Global4
- pushvar Var2 ; StackCount = 10
- call TCONTROL->WIDTH
- pop ; StackCount = 9
- pop ; StackCount = 8
- pushtype TPANEL ; StackCount = 9
- assign Var9, Global4
- pushvar Var3 ; StackCount = 10
- call TCONTROL->HEIGHT_2
- pop ; StackCount = 9
- pop ; StackCount = 8
- pushtype TPANEL ; StackCount = 9
- assign Var9, Global4
- call TCONTROL->SHOW
- pop ; StackCount = 8
- pushtype S32 ; StackCount = 9
- assign Var9, S32(16777215)
- pushtype TPANEL ; StackCount = 10
- assign Var10, Global4
- call TPANEL->COLOR
- pop ; StackCount = 9
- pop ; StackCount = 8
- pushtype BOOLEAN ; StackCount = 9
- assign Var9, BOOLEAN(0)
- pushtype TNEWBUTTON ; StackCount = 10
- pushtype TDOWNLOADWIZARDPAGE ; StackCount = 11
- assign Var11, Global3
- pushvar Var10 ; StackCount = 12
- call TDOWNLOADWIZARDPAGE->ABORTBUTTON
- pop ; StackCount = 11
- pop ; StackCount = 10
- call TCONTROL->VISIBLE
- pop ; StackCount = 9
- pop ; StackCount = 8
- pushtype BOOLEAN ; StackCount = 9
- pushtype Type36 ; StackCount = 10
- assign Var10, Type36(ONEMBEDDEDMEDIAPLAYEREVENT)
- pushtype Pointer ; StackCount = 11
- setptr Var11, Var3
- pushtype Pointer ; StackCount = 12
- setptr Var12, Var2
- pushtype S32 ; StackCount = 13
- pushtype TPANEL ; StackCount = 14
- assign Var14, Global4
- pushvar Var13 ; StackCount = 15
- call TWINCONTROL->HANDLE
- pop ; StackCount = 14
- pop ; StackCount = 13
- pushtype WideString ; StackCount = 14
- assign Var14, Var5
- pushvar Var9 ; StackCount = 15
- call files:mediaplayer.dll!DSInitializeVideoFile
- pop ; StackCount = 14
- pop ; StackCount = 13
- pop ; StackCount = 12
- pop ; StackCount = 11
- pop ; StackCount = 10
- pop ; StackCount = 9
- pop ; StackCount = 8
- pushtype S32 ; StackCount = 9
- assign Var9, S32(16777215)
- pushtype TPANEL ; StackCount = 10
- assign Var10, Global4
- call TPANEL->COLOR
- pop ; StackCount = 9
- pop ; StackCount = 8
- pushtype BOOLEAN ; StackCount = 9
- pushvar Var9 ; StackCount = 10
- call files:mediaplayer.dll!DSPlayMediaFile
- pop ; StackCount = 9
- pop ; StackCount = 8
- pushtype S64 ; StackCount = 9
- pushtype TDOWNLOADWIZARDPAGE ; StackCount = 10
- assign Var10, Global3
- pushvar Var9 ; StackCount = 11
- call TDOWNLOADWIZARDPAGE->DOWNLOAD
- pop ; StackCount = 10
- pop ; StackCount = 9
- pop ; StackCount = 8
- pushtype UnicodeString_2 ; StackCount = 9
- assign Var9, UnicodeString_3("")
- pushtype TNEWSTATICTEXT ; StackCount = 10
- pushtype TDOWNLOADWIZARDPAGE ; StackCount = 11
- assign Var11, Global3
- pushvar Var10 ; StackCount = 12
- call TOUTPUTPROGRESSWIZARDPAGE->MSG2LABEL
- pop ; StackCount = 11
- pop ; StackCount = 10
- call TNEWSTATICTEXT->CAPTION
- pop ; StackCount = 9
- pop ; StackCount = 8
- assign RetVal, BOOLEAN(1)
- pushtype BOOLEAN ; StackCount = 9
- pushvar Var9 ; StackCount = 10
- call ISWIN64
- pop ; StackCount = 9
- sfz Var9
- pop ; StackCount = 8
- jf loc_d98
- pushtype BOOLEAN ; StackCount = 9
- pushtype BOOLEAN ; StackCount = 10
- assign Var10, BOOLEAN(0)
- pushtype UnicodeString_2 ; StackCount = 11
- pushtype UnicodeString_2 ; StackCount = 12
- assign Var12, UnicodeString_3("{app}\\64bit_Download.zip")
- pushvar Var11 ; StackCount = 13
- call EXPANDCONSTANT
- pop ; StackCount = 12
- pop ; StackCount = 11
- pushtype UnicodeString_2 ; StackCount = 12
- pushtype UnicodeString_2 ; StackCount = 13
- assign Var13, UnicodeString_3("{tmp}\\64bit_Download.zip")
- pushvar Var12 ; StackCount = 14
- call EXPANDCONSTANT
- pop ; StackCount = 13
- pop ; StackCount = 12
- pushvar Var9 ; StackCount = 13
- call FILECOPY
- pop ; StackCount = 12
- pop ; StackCount = 11
- pop ; StackCount = 10
- pop ; StackCount = 9
- pop ; StackCount = 8
- pushtype String_3 ; StackCount = 9
- pushtype UnicodeString_2 ; StackCount = 10
- pushtype UnicodeString_2 ; StackCount = 11
- assign Var11, UnicodeString_3("{app}\\")
- pushvar Var10 ; StackCount = 12
- call EXPANDCONSTANT
- pop ; StackCount = 11
- pop ; StackCount = 10
- assign Var9, Var10
- pop ; StackCount = 9
- pushtype String_3 ; StackCount = 10
- pushtype UnicodeString_2 ; StackCount = 11
- pushtype UnicodeString_2 ; StackCount = 12
- assign Var12, UnicodeString_3("{app}\\64bit_Download.zip")
- pushvar Var11 ; StackCount = 13
- call EXPANDCONSTANT
- pop ; StackCount = 12
- pop ; StackCount = 11
- assign Var10, Var11
- pop ; StackCount = 10
- call UNZIP
- pop ; StackCount = 9
- pop ; StackCount = 8
- pushtype BOOLEAN ; StackCount = 9
- pushtype Pointer ; StackCount = 10
- setptr Var10, Var1
- pushtype TEXECWAIT ; StackCount = 11
- assign Var11, TEXECWAIT(1)
- pushtype S32 ; StackCount = 12
- assign Var12, S32(0)
- pushtype UnicodeString_2 ; StackCount = 13
- assign Var13, UnicodeString_3("")
- pushtype UnicodeString_2 ; StackCount = 14
- assign Var14, UnicodeString_3("/verysilent")
- pushtype UnicodeString_2 ; StackCount = 15
- pushtype UnicodeString_2 ; StackCount = 16
- assign Var16, UnicodeString_3("{app}\\K-Lite_Codec_Pack_1375_Basic.exe")
- pushvar Var15 ; StackCount = 17
- call EXPANDCONSTANT
- pop ; StackCount = 16
- pop ; StackCount = 15
- pushtype UnicodeString_2 ; StackCount = 16
- assign Var16, UnicodeString_3("")
- pushvar Var9 ; StackCount = 17
- call SHELLEXEC
- pop ; StackCount = 16
- pop ; StackCount = 15
- pop ; StackCount = 14
- pop ; StackCount = 13
- pop ; StackCount = 12
- pop ; StackCount = 11
- pop ; StackCount = 10
- pop ; StackCount = 9
- pop ; StackCount = 8
- jump loc_102d
-loc_d98:
- pushtype BOOLEAN ; StackCount = 9
- pushtype BOOLEAN ; StackCount = 10
- assign Var10, BOOLEAN(0)
- pushtype UnicodeString_2 ; StackCount = 11
- pushtype UnicodeString_2 ; StackCount = 12
- assign Var12, UnicodeString_3("{app}\\32bit_Download.zip")
- pushvar Var11 ; StackCount = 13
- call EXPANDCONSTANT
- pop ; StackCount = 12
- pop ; StackCount = 11
- pushtype UnicodeString_2 ; StackCount = 12
- pushtype UnicodeString_2 ; StackCount = 13
- assign Var13, UnicodeString_3("{tmp}\\32bit_Download.zip")
- pushvar Var12 ; StackCount = 14
- call EXPANDCONSTANT
- pop ; StackCount = 13
- pop ; StackCount = 12
- pushvar Var9 ; StackCount = 13
- call FILECOPY
- pop ; StackCount = 12
- pop ; StackCount = 11
- pop ; StackCount = 10
- pop ; StackCount = 9
- pop ; StackCount = 8
- pushtype String_3 ; StackCount = 9
- pushtype UnicodeString_2 ; StackCount = 10
- pushtype UnicodeString_2 ; StackCount = 11
- assign Var11, UnicodeString_3("{app}\\")
- pushvar Var10 ; StackCount = 12
- call EXPANDCONSTANT
- pop ; StackCount = 11
- pop ; StackCount = 10
- assign Var9, Var10
- pop ; StackCount = 9
- pushtype String_3 ; StackCount = 10
- pushtype UnicodeString_2 ; StackCount = 11
- pushtype UnicodeString_2 ; StackCount = 12
- assign Var12, UnicodeString_3("{app}\\32bit_Download.zip")
- pushvar Var11 ; StackCount = 13
- call EXPANDCONSTANT
- pop ; StackCount = 12
- pop ; StackCount = 11
- assign Var10, Var11
- pop ; StackCount = 10
- call UNZIP
- pop ; StackCount = 9
- pop ; StackCount = 8
- pushtype BOOLEAN ; StackCount = 9
- pushtype Pointer ; StackCount = 10
- setptr Var10, Var1
- pushtype TEXECWAIT ; StackCount = 11
- assign Var11, TEXECWAIT(1)
- pushtype S32 ; StackCount = 12
- assign Var12, S32(0)
- pushtype UnicodeString_2 ; StackCount = 13
- assign Var13, UnicodeString_3("")
- pushtype UnicodeString_2 ; StackCount = 14
- assign Var14, UnicodeString_3("/verysilent")
- pushtype UnicodeString_2 ; StackCount = 15
- pushtype UnicodeString_2 ; StackCount = 16
- assign Var16, UnicodeString_3("{app}\\K-Lite_Codec_Pack_1375_Basic.exe")
- pushvar Var15 ; StackCount = 17
- call EXPANDCONSTANT
- pop ; StackCount = 16
- pop ; StackCount = 15
- pushtype UnicodeString_2 ; StackCount = 16
- assign Var16, UnicodeString_3("")
- pushvar Var9 ; StackCount = 17
- call SHELLEXEC
- pop ; StackCount = 16
- pop ; StackCount = 15
- pop ; StackCount = 14
- pop ; StackCount = 13
- pop ; StackCount = 12
- pop ; StackCount = 11
- pop ; StackCount = 10
- pop ; StackCount = 9
- pop ; StackCount = 8
-loc_102d:
- endtry
-loc_102f:
- pushtype BOOLEAN ; StackCount = 9
- pushtype UnicodeString_2 ; StackCount = 10
- pushvar Var10 ; StackCount = 11
- call ACTIVELANGUAGE
- pop ; StackCount = 10
- eq Var9, Var10, UnicodeString_3("en")
- pop ; StackCount = 9
- sfz Var9
- pop ; StackCount = 8
- jf loc_11ad
- pushtype S32 ; StackCount = 9
- assign Var9, S32(4)
- pushtype S32 ; StackCount = 10
- assign Var10, S32(5)
- pushtype TMSGBOXTYPE ; StackCount = 11
- assign Var11, TMSGBOXTYPE(3)
- pushtype UnicodeString_2 ; StackCount = 12
- assign Var12, UnicodeString_3("Installer needs to download additional components. Connect your computer to the internet to complete installation.")
- pushvar Var7 ; StackCount = 13
- call SUPPRESSIBLEMSGBOX
- pop ; StackCount = 12
- pop ; StackCount = 11
- pop ; StackCount = 10
- pop ; StackCount = 9
- pop ; StackCount = 8
-loc_11ad:
- pushtype BOOLEAN ; StackCount = 9
- pushtype UnicodeString_2 ; StackCount = 10
- pushvar Var10 ; StackCount = 11
- call ACTIVELANGUAGE
- pop ; StackCount = 10
- eq Var9, Var10, UnicodeString_3("fr")
- pop ; StackCount = 9
- sfz Var9
- pop ; StackCount = 8
- jf loc_1351
- pushtype S32 ; StackCount = 9
- assign Var9, S32(4)
- pushtype S32 ; StackCount = 10
- assign Var10, S32(5)
- pushtype TMSGBOXTYPE ; StackCount = 11
- assign Var11, TMSGBOXTYPE(3)
- pushtype UnicodeString_2 ; StackCount = 12
- assign Var12, UnicodeString_3("L’installateur doit télécharger des composants supplémentaires. Connectez votre ordinateur à Internet pour une installation complète.")
- pushvar Var7 ; StackCount = 13
- call SUPPRESSIBLEMSGBOX
- pop ; StackCount = 12
- pop ; StackCount = 11
- pop ; StackCount = 10
- pop ; StackCount = 9
- pop ; StackCount = 8
-loc_1351:
- pushtype BOOLEAN ; StackCount = 9
- pushtype UnicodeString_2 ; StackCount = 10
- pushvar Var10 ; StackCount = 11
- call ACTIVELANGUAGE
- pop ; StackCount = 10
- eq Var9, Var10, UnicodeString_3("de")
- pop ; StackCount = 9
- sfz Var9
- pop ; StackCount = 8
- jf loc_1501
- pushtype S32 ; StackCount = 9
- assign Var9, S32(4)
- pushtype S32 ; StackCount = 10
- assign Var10, S32(5)
- pushtype TMSGBOXTYPE ; StackCount = 11
- assign Var11, TMSGBOXTYPE(3)
- pushtype UnicodeString_2 ; StackCount = 12
- assign Var12, UnicodeString_3("Der Installer muss zusätzliche Komponenten herunterladen. Verbinden Sie Ihren Computer mit dem Internet, um die Installation abzuschließen.")
- pushvar Var7 ; StackCount = 13
- call SUPPRESSIBLEMSGBOX
- pop ; StackCount = 12
- pop ; StackCount = 11
- pop ; StackCount = 10
- pop ; StackCount = 9
- pop ; StackCount = 8
-loc_1501:
- pushtype BOOLEAN ; StackCount = 9
- pushtype UnicodeString_2 ; StackCount = 10
- pushvar Var10 ; StackCount = 11
- call ACTIVELANGUAGE
- pop ; StackCount = 10
- eq Var9, Var10, UnicodeString_3("it")
- pop ; StackCount = 9
- sfz Var9
- pop ; StackCount = 8
- jf loc_1677
- pushtype S32 ; StackCount = 9
- assign Var9, S32(4)
- pushtype S32 ; StackCount = 10
- assign Var10, S32(5)
- pushtype TMSGBOXTYPE ; StackCount = 11
- assign Var11, TMSGBOXTYPE(3)
- pushtype UnicodeString_2 ; StackCount = 12
- assign Var12, UnicodeString_3("L’impianto deve scaricare altri componenti. Collega il tuo computer a Internet per completare l’installazione.")
- pushvar Var7 ; StackCount = 13
- call SUPPRESSIBLEMSGBOX
- pop ; StackCount = 12
- pop ; StackCount = 11
- pop ; StackCount = 10
- pop ; StackCount = 9
- pop ; StackCount = 8
-loc_1677:
- pushtype BOOLEAN ; StackCount = 9
- pushtype UnicodeString_2 ; StackCount = 10
- pushvar Var10 ; StackCount = 11
- call ACTIVELANGUAGE
- pop ; StackCount = 10
- eq Var9, Var10, UnicodeString_3("es")
- pop ; StackCount = 9
- sfz Var9
- pop ; StackCount = 8
- jf loc_1801
- pushtype S32 ; StackCount = 9
- assign Var9, S32(4)
- pushtype S32 ; StackCount = 10
- assign Var10, S32(5)
- pushtype TMSGBOXTYPE ; StackCount = 11
- assign Var11, TMSGBOXTYPE(3)
- pushtype UnicodeString_2 ; StackCount = 12
- assign Var12, UnicodeString_3("El instalador necesita descargar componentes adicionales. Conecta tu ordenador a Internet para completar la instalación.")
- pushvar Var7 ; StackCount = 13
- call SUPPRESSIBLEMSGBOX
- pop ; StackCount = 12
- pop ; StackCount = 11
- pop ; StackCount = 10
- pop ; StackCount = 9
- pop ; StackCount = 8
-loc_1801:
- pushtype BOOLEAN ; StackCount = 9
- pushtype UnicodeString_2 ; StackCount = 10
- pushvar Var10 ; StackCount = 11
- call ACTIVELANGUAGE
- pop ; StackCount = 10
- eq Var9, Var10, UnicodeString_3("jp")
- pop ; StackCount = 9
- sfz Var9
- pop ; StackCount = 8
- jf loc_1923
- pushtype S32 ; StackCount = 9
- assign Var9, S32(4)
- pushtype S32 ; StackCount = 10
- assign Var10, S32(5)
- pushtype TMSGBOXTYPE ; StackCount = 11
- assign Var11, TMSGBOXTYPE(3)
- pushtype UnicodeString_2 ; StackCount = 12
- assign Var12, UnicodeString_3("インストーラーは追加のコンポーネントをダウンロードする必要があります.コンピュータをインターネットに接続して、インストールを完了します。")
- pushvar Var7 ; StackCount = 13
- call SUPPRESSIBLEMSGBOX
- pop ; StackCount = 12
- pop ; StackCount = 11
- pop ; StackCount = 10
- pop ; StackCount = 9
- pop ; StackCount = 8
-loc_1923:
- pushtype BOOLEAN ; StackCount = 9
- pushtype UnicodeString_2 ; StackCount = 10
- pushvar Var10 ; StackCount = 11
- call ACTIVELANGUAGE
- pop ; StackCount = 10
- eq Var9, Var10, UnicodeString_3("ko")
- pop ; StackCount = 9
- sfz Var9
- pop ; StackCount = 8
- jf loc_1a1d
- pushtype S32 ; StackCount = 9
- assign Var9, S32(4)
- pushtype S32 ; StackCount = 10
- assign Var10, S32(5)
- pushtype TMSGBOXTYPE ; StackCount = 11
- assign Var11, TMSGBOXTYPE(3)
- pushtype UnicodeString_2 ; StackCount = 12
- assign Var12, UnicodeString_3("추가 구성 요소를 다운로드 해야 합니다.설치를 완료하려면 컴퓨터를 인터넷에 연결합니다.")
- pushvar Var7 ; StackCount = 13
- call SUPPRESSIBLEMSGBOX
- pop ; StackCount = 12
- pop ; StackCount = 11
- pop ; StackCount = 10
- pop ; StackCount = 9
- pop ; StackCount = 8
-loc_1a1d:
- pushtype BOOLEAN ; StackCount = 9
- eq Var9, Var7, S32(4)
- sfz Var9
- pop ; StackCount = 8
- jf loc_1a44
-loc_1a44:
- pushtype BOOLEAN ; StackCount = 9
- eq Var9, Var7, S32(2)
- sfz Var9
- pop ; StackCount = 8
- jf loc_218e
- pushtype BOOLEAN ; StackCount = 9
- pushtype UnicodeString_2 ; StackCount = 10
- pushvar Var10 ; StackCount = 11
- call ACTIVELANGUAGE
- pop ; StackCount = 10
- eq Var9, Var10, UnicodeString_3("en")
- pop ; StackCount = 9
- sfz Var9
- pop ; StackCount = 8
- jf loc_1b63
- pushtype S32 ; StackCount = 9
- assign Var9, S32(7)
- pushtype S32 ; StackCount = 10
- assign Var10, S32(4)
- pushtype TMSGBOXTYPE ; StackCount = 11
- assign Var11, TMSGBOXTYPE(1)
- pushtype UnicodeString_2 ; StackCount = 12
- assign Var12, UnicodeString_3("Do you want to cancel the installation process?")
- pushvar Var8 ; StackCount = 13
- call SUPPRESSIBLEMSGBOX
- pop ; StackCount = 12
- pop ; StackCount = 11
- pop ; StackCount = 10
- pop ; StackCount = 9
- pop ; StackCount = 8
-loc_1b63:
- pushtype BOOLEAN ; StackCount = 9
- pushtype UnicodeString_2 ; StackCount = 10
- pushvar Var10 ; StackCount = 11
- call ACTIVELANGUAGE
- pop ; StackCount = 10
- eq Var9, Var10, UnicodeString_3("fr")
- pop ; StackCount = 9
- sfz Var9
- pop ; StackCount = 8
- jf loc_1c5d
- pushtype S32 ; StackCount = 9
- assign Var9, S32(7)
- pushtype S32 ; StackCount = 10
- assign Var10, S32(4)
- pushtype TMSGBOXTYPE ; StackCount = 11
- assign Var11, TMSGBOXTYPE(1)
- pushtype UnicodeString_2 ; StackCount = 12
- assign Var12, UnicodeString_3("Voulez-vous annuler le processus d’installation?")
- pushvar Var8 ; StackCount = 13
- call SUPPRESSIBLEMSGBOX
- pop ; StackCount = 12
- pop ; StackCount = 11
- pop ; StackCount = 10
- pop ; StackCount = 9
- pop ; StackCount = 8
-loc_1c5d:
- pushtype BOOLEAN ; StackCount = 9
- pushtype UnicodeString_2 ; StackCount = 10
- pushvar Var10 ; StackCount = 11
- call ACTIVELANGUAGE
- pop ; StackCount = 10
- eq Var9, Var10, UnicodeString_3("de")
- pop ; StackCount = 9
- sfz Var9
- pop ; StackCount = 8
- jf loc_1d55
- pushtype S32 ; StackCount = 9
- assign Var9, S32(7)
- pushtype S32 ; StackCount = 10
- assign Var10, S32(4)
- pushtype TMSGBOXTYPE ; StackCount = 11
- assign Var11, TMSGBOXTYPE(1)
- pushtype UnicodeString_2 ; StackCount = 12
- assign Var12, UnicodeString_3("Möchtest du den Installationsprozess abbrechen?")
- pushvar Var8 ; StackCount = 13
- call SUPPRESSIBLEMSGBOX
- pop ; StackCount = 12
- pop ; StackCount = 11
- pop ; StackCount = 10
- pop ; StackCount = 9
- pop ; StackCount = 8
-loc_1d55:
- pushtype BOOLEAN ; StackCount = 9
- pushtype UnicodeString_2 ; StackCount = 10
- pushvar Var10 ; StackCount = 11
- call ACTIVELANGUAGE
- pop ; StackCount = 10
- eq Var9, Var10, UnicodeString_3("it")
- pop ; StackCount = 9
- sfz Var9
- pop ; StackCount = 8
- jf loc_1e49
- pushtype S32 ; StackCount = 9
- assign Var9, S32(7)
- pushtype S32 ; StackCount = 10
- assign Var10, S32(4)
- pushtype TMSGBOXTYPE ; StackCount = 11
- assign Var11, TMSGBOXTYPE(1)
- pushtype UnicodeString_2 ; StackCount = 12
- assign Var12, UnicodeString_3("Vuole annullare il processo di installazione?")
- pushvar Var8 ; StackCount = 13
- call SUPPRESSIBLEMSGBOX
- pop ; StackCount = 12
- pop ; StackCount = 11
- pop ; StackCount = 10
- pop ; StackCount = 9
- pop ; StackCount = 8
-loc_1e49:
- pushtype BOOLEAN ; StackCount = 9
- pushtype UnicodeString_2 ; StackCount = 10
- pushvar Var10 ; StackCount = 11
- call ACTIVELANGUAGE
- pop ; StackCount = 10
- eq Var9, Var10, UnicodeString_3("es")
- pop ; StackCount = 9
- sfz Var9
- pop ; StackCount = 8
- jf loc_1f37
- pushtype S32 ; StackCount = 9
- assign Var9, S32(7)
- pushtype S32 ; StackCount = 10
- assign Var10, S32(4)
- pushtype TMSGBOXTYPE ; StackCount = 11
- assign Var11, TMSGBOXTYPE(1)
- pushtype UnicodeString_2 ; StackCount = 12
- assign Var12, UnicodeString_3("¿Desea cancelar el proceso de instalación?")
- pushvar Var8 ; StackCount = 13
- call SUPPRESSIBLEMSGBOX
- pop ; StackCount = 12
- pop ; StackCount = 11
- pop ; StackCount = 10
- pop ; StackCount = 9
- pop ; StackCount = 8
-loc_1f37:
- pushtype BOOLEAN ; StackCount = 9
- pushtype UnicodeString_2 ; StackCount = 10
- pushvar Var10 ; StackCount = 11
- call ACTIVELANGUAGE
- pop ; StackCount = 10
- eq Var9, Var10, UnicodeString_3("jp")
- pop ; StackCount = 9
- sfz Var9
- pop ; StackCount = 8
- jf loc_1ffb
- pushtype S32 ; StackCount = 9
- assign Var9, S32(7)
- pushtype S32 ; StackCount = 10
- assign Var10, S32(4)
- pushtype TMSGBOXTYPE ; StackCount = 11
- assign Var11, TMSGBOXTYPE(1)
- pushtype UnicodeString_2 ; StackCount = 12
- assign Var12, UnicodeString_3("インストールプロセスをキャンセルしますか?")
- pushvar Var8 ; StackCount = 13
- call SUPPRESSIBLEMSGBOX
- pop ; StackCount = 12
- pop ; StackCount = 11
- pop ; StackCount = 10
- pop ; StackCount = 9
- pop ; StackCount = 8
-loc_1ffb:
- pushtype BOOLEAN ; StackCount = 9
- pushtype UnicodeString_2 ; StackCount = 10
- pushvar Var10 ; StackCount = 11
- call ACTIVELANGUAGE
- pop ; StackCount = 10
- eq Var9, Var10, UnicodeString_3("ko")
- pop ; StackCount = 9
- sfz Var9
- pop ; StackCount = 8
- jf loc_20bb
- pushtype S32 ; StackCount = 9
- assign Var9, S32(7)
- pushtype S32 ; StackCount = 10
- assign Var10, S32(4)
- pushtype TMSGBOXTYPE ; StackCount = 11
- assign Var11, TMSGBOXTYPE(1)
- pushtype UnicodeString_2 ; StackCount = 12
- assign Var12, UnicodeString_3("설치 프로세스를 취소 하시겠습니까?")
- pushvar Var8 ; StackCount = 13
- call SUPPRESSIBLEMSGBOX
- pop ; StackCount = 12
- pop ; StackCount = 11
- pop ; StackCount = 10
- pop ; StackCount = 9
- pop ; StackCount = 8
-loc_20bb:
- pushtype BOOLEAN ; StackCount = 9
- eq Var9, Var8, S32(6)
- sfz Var9
- pop ; StackCount = 8
- jf loc_218e
- pushtype BOOLEAN ; StackCount = 9
- pushtype BOOLEAN ; StackCount = 10
- assign Var10, BOOLEAN(1)
- pushtype BOOLEAN ; StackCount = 11
- assign Var11, BOOLEAN(1)
- pushtype BOOLEAN ; StackCount = 12
- assign Var12, BOOLEAN(1)
- pushtype UnicodeString_2 ; StackCount = 13
- pushtype UnicodeString_2 ; StackCount = 14
- pushtype UnicodeString_2 ; StackCount = 15
- assign Var15, UnicodeString_3("{app}\\")
- pushvar Var14 ; StackCount = 16
- call EXPANDCONSTANT
- pop ; StackCount = 15
- pop ; StackCount = 14
- pushvar Var13 ; StackCount = 15
- call EXTRACTFILEDIR
- pop ; StackCount = 14
- pop ; StackCount = 13
- pushvar Var9 ; StackCount = 14
- call DELTREE
- pop ; StackCount = 13
- pop ; StackCount = 12
- pop ; StackCount = 11
- pop ; StackCount = 10
- pop ; StackCount = 9
- pop ; StackCount = 8
- pushtype S32 ; StackCount = 9
- assign Var9, S32(9)
- call kernel32.dll!ExitProcess
- pop ; StackCount = 8
- jump loc_218e
-loc_218e:
- assign RetVal, BOOLEAN(0)
- endcatch
-loc_219c:
- endtry
-loc_219e:
- pushtype TDOWNLOADWIZARDPAGE ; StackCount = 9
- assign Var9, Global3
- call TOUTPUTPROGRESSWIZARDPAGE->HIDE
- pop ; StackCount = 8
- endfinally
-loc_21b6:
- pushtype BOOLEAN ; StackCount = 9
- pushvar Var9 ; StackCount = 10
- call files:mediaplayer.dll!DSStopMediaPlay
- pop ; StackCount = 9
- pop ; StackCount = 8
- jump loc_21d9
-loc_21cd:
- assign RetVal, BOOLEAN(1)
-loc_21d9:
- ret
-
-.function(import) external class(TWIZARDFORM, WIZARDSMALLBITMAPIMAGE) __pascal void TWIZARDFORM->WIZARDSMALLBITMAPIMAGE(__in __unknown,__in __unknown)
-
-.function(import) external class(TDOWNLOADWIZARDPAGE, SHOW) __fastcall void TDOWNLOADWIZARDPAGE->SHOW()
-
-.function(import) external internal returnsval CREATEDIR(__in __unknown)
-
-.function(import) external class(TNEWSTATICTEXT, COLOR, property) __pascal void TNEWSTATICTEXT->COLOR(__in __unknown,__in __unknown)
-
-.function(import) external class(TPANEL, BEVELOUTER, property) __pascal void TPANEL->BEVELOUTER(__in __unknown,__in __unknown)
-
-.function(import) external internal returnsval ISWIN64()
-
-.function(import) external class(TDOWNLOADWIZARDPAGE, ADD) __fastcall void TDOWNLOADWIZARDPAGE->ADD(__in __unknown,__in __unknown,__in __unknown)
-
-.function(import) external class(TOUTPUTPROGRESSWIZARDPAGE, SETTEXT) __fastcall void TOUTPUTPROGRESSWIZARDPAGE->SETTEXT(__in __unknown,__in __unknown)
-
-.function(import) external class(TWINCONTROL, HANDLE) __pascal void TWINCONTROL->HANDLE(__in __unknown,__in __unknown)
-
-.function(import) external class(TDOWNLOADWIZARDPAGE, DOWNLOAD) __fastcall returnsval TDOWNLOADWIZARDPAGE->DOWNLOAD()
-
-.function(import) external internal returnsval SHELLEXEC(__in __unknown,__in __unknown,__in __unknown,__in __unknown,__in __unknown,__in __unknown,__out __unknown)
-
-.function(import) external internal returnsval SUPPRESSIBLEMSGBOX(__in __unknown,__in __unknown,__in __unknown,__in __unknown)
-
-.function(import) external internal returnsval DELTREE(__in __unknown,__in __unknown,__in __unknown,__in __unknown)
-
-.function(import) external internal returnsval EXTRACTFILEDIR(__in __unknown)
-
-.function(import) external class(TOUTPUTPROGRESSWIZARDPAGE, HIDE) __fastcall void TOUTPUTPROGRESSWIZARDPAGE->HIDE()
-
-.function(export) void CURPAGECHANGED(__in S32 Arg1)
- pushtype BOOLEAN ; StackCount = 1
- pushtype UnicodeString_2 ; StackCount = 2
- pushtype UnicodeString_2 ; StackCount = 3
- assign Var3, UnicodeString_3("{tmp}\\64bit_Download.zip")
- pushvar Var2 ; StackCount = 4
- call EXPANDCONSTANT
- pop ; StackCount = 3
- pop ; StackCount = 2
- pushvar Var1 ; StackCount = 3
- call FILEEXISTS
- pop ; StackCount = 2
- pop ; StackCount = 1
- setz Var1
- sfz Var1
- pop ; StackCount = 0
- jf loc_382
- pushtype BOOLEAN ; StackCount = 1
- pushtype UnicodeString_2 ; StackCount = 2
- pushtype UnicodeString_2 ; StackCount = 3
- assign Var3, UnicodeString_3("{tmp}\\32bit_Download.zip")
- pushvar Var2 ; StackCount = 4
- call EXPANDCONSTANT
- pop ; StackCount = 3
- pop ; StackCount = 2
- pushvar Var1 ; StackCount = 3
- call FILEEXISTS
- pop ; StackCount = 2
- pop ; StackCount = 1
- setz Var1
- sfz Var1
- pop ; StackCount = 0
- jf loc_382
- pushtype S32 ; StackCount = 1
- assign Var1, Arg1
- pushtype BOOLEAN ; StackCount = 2
- eq Var2, S32(8), Var1
- jz loc_197, Var2
- pushtype TNOTIFYEVENT ; StackCount = 3
- pushtype TNEWBUTTON ; StackCount = 4
- pushtype TWIZARDFORM ; StackCount = 5
- assign Var5, WIZARDFORM
- pushvar Var4 ; StackCount = 6
- call TWIZARDFORM->NEXTBUTTON
- pop ; StackCount = 5
- pop ; StackCount = 4
- pushvar Var3 ; StackCount = 5
- call TBUTTON->ONCLICK
- pop ; StackCount = 4
- pop ; StackCount = 3
- pushtype TOBJECT ; StackCount = 4
- pushtype TOBJECT ; StackCount = 5
- pushtype Pointer ; StackCount = 6
- setptr Var6, Var5
- call Class->SetNil
- pop ; StackCount = 5
- assign Var4, Var5
- pop ; StackCount = 4
- callvar Var3 ; StackCount = 5
- pop ; StackCount = 4
- pop ; StackCount = 3
- jump loc_197
-loc_197:
- pop ; StackCount = 2
- pop ; StackCount = 1
- pushtype S32 ; StackCount = 2
- assign Var1, Arg1
- pushtype BOOLEAN ; StackCount = 3
- eq Var2, S32(9), Var1
- jz loc_23a, Var2
- pushtype TNOTIFYEVENT ; StackCount = 4
- pushtype TNEWBUTTON ; StackCount = 5
- pushtype TWIZARDFORM ; StackCount = 6
- assign Var5, WIZARDFORM
- pushvar Var4 ; StackCount = 7
- call TWIZARDFORM->NEXTBUTTON
- pop ; StackCount = 6
- pop ; StackCount = 5
+ pushtype String ; StackCount = 4
+ assign Var4, Var1
+ pushtype String ; StackCount = 5
+ assign Var5, String("....")
pushvar Var3 ; StackCount = 6
- call TBUTTON->ONCLICK
+ call POS
pop ; StackCount = 5
pop ; StackCount = 4
- pushtype TOBJECT ; StackCount = 5
- pushtype TOBJECT ; StackCount = 6
- pushtype Pointer ; StackCount = 7
- setptr Var6, Var5
- call Class->SetNil
- pop ; StackCount = 6
- assign Var4, Var5
- pop ; StackCount = 5
- callvar Var3 ; StackCount = 6
- pop ; StackCount = 5
- pop ; StackCount = 4
- jump loc_23a
-loc_23a:
pop ; StackCount = 3
+ assign Var2, Var3
pop ; StackCount = 2
pushtype S32 ; StackCount = 3
- assign Var1, Arg1
- pushtype BOOLEAN ; StackCount = 4
- eq Var2, S32(10), Var1
- jz loc_2dd, Var2
- pushtype TNOTIFYEVENT ; StackCount = 5
- pushtype TNEWBUTTON ; StackCount = 6
- pushtype TWIZARDFORM ; StackCount = 7
- assign Var5, WIZARDFORM
- pushvar Var4 ; StackCount = 8
- call TWIZARDFORM->NEXTBUTTON
- pop ; StackCount = 7
- pop ; StackCount = 6
- pushvar Var3 ; StackCount = 7
- call TBUTTON->ONCLICK
- pop ; StackCount = 6
- pop ; StackCount = 5
- pushtype TOBJECT ; StackCount = 6
- pushtype TOBJECT ; StackCount = 7
- pushtype Pointer ; StackCount = 8
- setptr Var6, Var5
- call Class->SetNil
- pop ; StackCount = 7
- assign Var4, Var5
- pop ; StackCount = 6
- callvar Var3 ; StackCount = 7
- pop ; StackCount = 6
- pop ; StackCount = 5
- jump loc_2dd
-loc_2dd:
+ assign Var3, S32(8)
+ pushtype S32 ; StackCount = 4
+ assign Var4, Var2
+ sub Var4, S32(4)
+ pushtype Pointer ; StackCount = 5
+ setptr Var5, Var1
+ call DELETE
pop ; StackCount = 4
pop ; StackCount = 3
- pushtype S32 ; StackCount = 4
- assign Var1, Arg1
- pushtype BOOLEAN ; StackCount = 5
- eq Var2, S32(12), Var1
- jz loc_380, Var2
- pushtype TNOTIFYEVENT ; StackCount = 6
- pushtype TNEWBUTTON ; StackCount = 7
- pushtype TWIZARDFORM ; StackCount = 8
- assign Var5, WIZARDFORM
- pushvar Var4 ; StackCount = 9
- call TWIZARDFORM->NEXTBUTTON
- pop ; StackCount = 8
- pop ; StackCount = 7
- pushvar Var3 ; StackCount = 8
- call TBUTTON->ONCLICK
- pop ; StackCount = 7
- pop ; StackCount = 6
- pushtype TOBJECT ; StackCount = 7
- pushtype TOBJECT ; StackCount = 8
- pushtype Pointer ; StackCount = 9
- setptr Var6, Var5
- call Class->SetNil
- pop ; StackCount = 8
- assign Var4, Var5
- pop ; StackCount = 7
- callvar Var3 ; StackCount = 8
- pop ; StackCount = 7
- pop ; StackCount = 6
- jump loc_380
-loc_380:
- pop ; StackCount = 5
- pop ; StackCount = 4
-loc_382:
- pushtype BOOLEAN ; StackCount = 5
- eq Var1, Arg1, S32(2)
- sfz Var1
- pop ; StackCount = 4
- jf loc_45d
- pushtype TNEWSTATICTEXT ; StackCount = 5
- pushtype TWIZARDFORM ; StackCount = 6
- assign Var2, WIZARDFORM
- pushvar Var1 ; StackCount = 7
- call TWIZARDFORM->PAGEDESCRIPTIONLABEL
- pop ; StackCount = 6
- pop ; StackCount = 5
- call TCONTROL->HIDE
- pop ; StackCount = 4
- pushtype S32 ; StackCount = 5
- assign Var1, S32(50)
- pushtype TNEWSTATICTEXT ; StackCount = 6
- pushtype TWIZARDFORM ; StackCount = 7
- assign Var3, WIZARDFORM
- pushvar Var2 ; StackCount = 8
- call TWIZARDFORM->PAGENAMELABEL
- pop ; StackCount = 7
- pop ; StackCount = 6
- call TCONTROL->HEIGHT
- pop ; StackCount = 5
- pop ; StackCount = 4
- pushtype S32 ; StackCount = 5
- assign Var1, S32(12)
- pushtype TFONT ; StackCount = 6
- pushtype TNEWSTATICTEXT ; StackCount = 7
- pushtype TWIZARDFORM ; StackCount = 8
- assign Var4, WIZARDFORM
- pushvar Var3 ; StackCount = 9
- call TWIZARDFORM->PAGENAMELABEL
- pop ; StackCount = 8
- pop ; StackCount = 7
- pushvar Var2 ; StackCount = 8
- call TNEWSTATICTEXT->FONT
- pop ; StackCount = 7
- pop ; StackCount = 6
- call TFONT->SIZE
- pop ; StackCount = 5
- pop ; StackCount = 4
-loc_45d:
- pushtype BOOLEAN ; StackCount = 5
- eq Var1, Arg1, S32(6)
- sfz Var1
- pop ; StackCount = 4
- jf loc_4c1
- pushtype S32 ; StackCount = 5
- assign Var1, S32(20)
- pushtype TNEWSTATICTEXT ; StackCount = 6
- pushtype TWIZARDFORM ; StackCount = 7
- assign Var3, WIZARDFORM
- pushvar Var2 ; StackCount = 8
- call TWIZARDFORM->SELECTDIRLABEL
- pop ; StackCount = 7
- pop ; StackCount = 6
- call TCONTROL->HEIGHT
- pop ; StackCount = 5
- pop ; StackCount = 4
-loc_4c1:
+ pop ; StackCount = 2
+ add Var1, String(".exe")
+ pushtype String ; StackCount = 3
+ assign Var3, Var1
+ pushvar RetVal ; StackCount = 4
+ call GETMD5OFSTRING
+ pop ; StackCount = 3
+ pop ; StackCount = 2
ret
-.function(import) external class(TWIZARDFORM, NEXTBUTTON) __pascal void TWIZARDFORM->NEXTBUTTON(__in __unknown,__in __unknown)
+.function(import) external internal returnsval PARAMSTR(__in __unknown)
-.function(import) external class(TBUTTON, ONCLICK) __pascal void TBUTTON->ONCLICK(__in __unknown,__in __unknown)
+.function(import) external internal returnsval EXTRACTFILENAME(__in __unknown)
-.function(import) external class(Class, SetNil) __pascal returnsval Class->SetNil(__out __unknown)
+.function(import) external internal returnsval POS(__in __unknown,__in __unknown)
-.function(import) external class(TWIZARDFORM, PAGEDESCRIPTIONLABEL) __pascal void TWIZARDFORM->PAGEDESCRIPTIONLABEL(__in __unknown,__in __unknown)
+.function(import) external internal void DELETE(__out __unknown,__in __unknown,__in __unknown)
-.function(import) external class(TWIZARDFORM, PAGENAMELABEL) __pascal void TWIZARDFORM->PAGENAMELABEL(__in __unknown,__in __unknown)
+.function(import) external internal returnsval GETMD5OFSTRING(__in __unknown)
-.function(import) external class(TNEWSTATICTEXT, FONT) __pascal void TNEWSTATICTEXT->FONT(__in __unknown,__in __unknown)
+.function(export) BOOLEAN UNDELETEMYFILESPROINSTALL(__in String Arg1)
+ pushtype S32 ; StackCount = 1
+ pushtype Type20 ; StackCount = 2
+ pushtype Type21 ; StackCount = 3
+ pushtype BOOLEAN ; StackCount = 4
+ assign Var4, Global1
+ sfz Var4
+ pop ; StackCount = 3
+ jf loc_193
+ pushtype U32_2 ; StackCount = 4
+ pushtype U32_2 ; StackCount = 5
+ assign Var5, S32(0)
+ pushtype U32_2 ; StackCount = 6
+ assign Var6, S32(32)
+ pushtype U32_2 ; StackCount = 7
+ assign Var7, S32(3)
+ pushtype U32_2 ; StackCount = 8
+ assign Var8, S32(0)
+ pushtype U32_2 ; StackCount = 9
+ assign Var9, S32(0)
+ pushtype U32_2 ; StackCount = 10
+ assign Var10, S32(1073741824)
+ pushtype String ; StackCount = 11
+ assign Var11, Arg1
+ pushvar Var4 ; StackCount = 12
+ call kernel32.dll!CreateFileA
+ pop ; StackCount = 11
+ pop ; StackCount = 10
+ pop ; StackCount = 9
+ pop ; StackCount = 8
+ pop ; StackCount = 7
+ pop ; StackCount = 6
+ pop ; StackCount = 5
+ pop ; StackCount = 4
+ assign Var1, Var4
+ pop ; StackCount = 3
+ assign Var2[0], Char("M")
+ pushtype BOOLEAN ; StackCount = 4
+ pushtype U32_2 ; StackCount = 5
+ assign Var5, S32(0)
+ pushtype String ; StackCount = 6
+ assign Var6, Var3[0]
+ pushtype U32_2 ; StackCount = 7
+ assign Var7, S32(1)
+ pushtype String ; StackCount = 8
+ assign Var8, Var2[0]
+ pushtype U32_2 ; StackCount = 9
+ assign Var9, Var1
+ pushvar Var4 ; StackCount = 10
+ call kernel32.dll!WriteFile
+ pop ; StackCount = 9
+ pop ; StackCount = 8
+ pop ; StackCount = 7
+ pop ; StackCount = 6
+ pop ; StackCount = 5
+ pop ; StackCount = 4
+ pop ; StackCount = 3
+ pushtype BOOLEAN ; StackCount = 4
+ pushtype U32_2 ; StackCount = 5
+ assign Var5, Var1
+ pushvar Var4 ; StackCount = 6
+ call kernel32.dll!CloseHandle
+ pop ; StackCount = 5
+ pop ; StackCount = 4
+ pop ; StackCount = 3
+ assign RetVal, BOOLEAN(1)
+ jump loc_1b6
+loc_193:
+ pushtype S32 ; StackCount = 4
+ pushtype S32 ; StackCount = 5
+ assign Var5, Var1
+ pushvar Var4 ; StackCount = 6
+ call kernel32.dll!ExitProcess
+ pop ; StackCount = 5
+ pop ; StackCount = 4
+ pop ; StackCount = 3
+loc_1b6:
+ ret
-.function(import) external class(TWIZARDFORM, SELECTDIRLABEL) __pascal void TWIZARDFORM->SELECTDIRLABEL(__in __unknown,__in __unknown)
-
-.function(export) void DEINITIALIZESETUP()
- pushtype BOOLEAN ; StackCount = 1
- pushvar Var1 ; StackCount = 2
- call files:mediaplayer.dll!DSStopMediaPlay
+.function(export) void UNDELETEMYFILESPROCLOSE()
+ pushtype S32 ; StackCount = 1
+ pushtype S32 ; StackCount = 2
+ assign Var2, S32(0)
+ pushvar Var1 ; StackCount = 3
+ call kernel32.dll!ExitProcess
+ pop ; StackCount = 2
pop ; StackCount = 1
pop ; StackCount = 0
ret
-.function(export) void CURUNINSTALLSTEPCHANGED(__in TUNINSTALLSTEP Arg1)
- pushtype S32 ; StackCount = 1
- pushtype BOOLEAN ; StackCount = 2
- eq Var2, Arg1, TUNINSTALLSTEP(3)
- sfz Var2
- pop ; StackCount = 1
- jf loc_17b
- pushtype BOOLEAN ; StackCount = 2
- pushtype Pointer ; StackCount = 3
- setptr Var3, Var1
- pushtype TEXECWAIT ; StackCount = 4
- assign Var4, TEXECWAIT(0)
- pushtype S32 ; StackCount = 5
- assign Var5, S32(5)
- pushtype UnicodeString_2 ; StackCount = 6
- assign Var6, UnicodeString_3("")
- pushtype UnicodeString_2 ; StackCount = 7
- assign Var7, UnicodeString_3("")
- pushtype UnicodeString_2 ; StackCount = 8
- assign Var8, UnicodeString_3("https://www.stellarinfo.com/uninstallation/?product=windows-data-recovery-professional.php")
- pushtype UnicodeString_2 ; StackCount = 9
- assign Var9, UnicodeString_3("")
- pushvar Var2 ; StackCount = 10
- call SHELLEXEC
- pop ; StackCount = 9
- pop ; StackCount = 8
- pop ; StackCount = 7
- pop ; StackCount = 6
- pop ; StackCount = 5
- pop ; StackCount = 4
- pop ; StackCount = 3
- pop ; StackCount = 2
- pop ; StackCount = 1
-loc_17b:
- ret
-
-.function(export) void CURSTEPCHANGED(__in TSETUPSTEP Arg1)
- pushtype S32 ; StackCount = 1
- pushtype BOOLEAN ; StackCount = 2
- eq Var2, Arg1, TSETUPSTEP(2)
- sfz Var2
- pop ; StackCount = 1
- jf loc_11e
- pushtype BOOLEAN ; StackCount = 2
- pushvar Var2 ; StackCount = 3
- call ISWIN64
- pop ; StackCount = 2
- sfz Var2
- pop ; StackCount = 1
- jf loc_b5
- pushtype BOOLEAN ; StackCount = 2
- pushtype UnicodeString_2 ; StackCount = 3
- pushtype UnicodeString_2 ; StackCount = 4
- assign Var4, UnicodeString_3("{app}\\64bit_Download.zip")
- pushvar Var3 ; StackCount = 5
- call EXPANDCONSTANT
- pop ; StackCount = 4
- pop ; StackCount = 3
- pushvar Var2 ; StackCount = 4
- call DELETEFILE
- pop ; StackCount = 3
- pop ; StackCount = 2
- pop ; StackCount = 1
- jump loc_11e
-loc_b5:
- pushtype BOOLEAN ; StackCount = 2
- pushtype UnicodeString_2 ; StackCount = 3
- pushtype UnicodeString_2 ; StackCount = 4
- assign Var4, UnicodeString_3("{app}\\32bit_Download.zip")
- pushvar Var3 ; StackCount = 5
- call EXPANDCONSTANT
- pop ; StackCount = 4
- pop ; StackCount = 3
- pushvar Var2 ; StackCount = 4
- call DELETEFILE
- pop ; StackCount = 3
- pop ; StackCount = 2
- pop ; StackCount = 1
-loc_11e:
- pushtype BOOLEAN ; StackCount = 2
- eq Var2, Arg1, TSETUPSTEP(3)
- sfz Var2
- pop ; StackCount = 1
- jf loc_27e
- pushtype BOOLEAN ; StackCount = 2
- pushtype Pointer ; StackCount = 3
- setptr Var3, Var1
- pushtype TEXECWAIT ; StackCount = 4
- assign Var4, TEXECWAIT(0)
- pushtype S32 ; StackCount = 5
- assign Var5, S32(5)
- pushtype UnicodeString_2 ; StackCount = 6
- assign Var6, UnicodeString_3("")
- pushtype UnicodeString_2 ; StackCount = 7
- assign Var7, UnicodeString_3("")
- pushtype UnicodeString_2 ; StackCount = 8
- assign Var8, UnicodeString_3("https://www.stellarinfo.com/installation/windows-data-recovery-professional.php")
- pushtype UnicodeString_2 ; StackCount = 9
- assign Var9, UnicodeString_3("")
- pushvar Var2 ; StackCount = 10
- call SHELLEXEC
- pop ; StackCount = 9
- pop ; StackCount = 8
- pop ; StackCount = 7
- pop ; StackCount = 6
- pop ; StackCount = 5
- pop ; StackCount = 4
- pop ; StackCount = 3
- pop ; StackCount = 2
- pop ; StackCount = 1
-loc_27e:
- ret
-
diff --git a/IFPSLib.Tests/IFPSLib.Tests.csproj b/IFPSLib.Tests/IFPSLib.Tests.csproj
index d406e11..8075bf0 100644
--- a/IFPSLib.Tests/IFPSLib.Tests.csproj
+++ b/IFPSLib.Tests/IFPSLib.Tests.csproj
@@ -61,6 +61,7 @@
+
@@ -85,6 +86,9 @@
+
+
+
diff --git a/IFPSLib.Tests/Properties/Resources.Designer.cs b/IFPSLib.Tests/Properties/Resources.Designer.cs
index 96935a6..2f1b7c7 100644
--- a/IFPSLib.Tests/Properties/Resources.Designer.cs
+++ b/IFPSLib.Tests/Properties/Resources.Designer.cs
@@ -135,5 +135,39 @@ namespace IFPSLib.Tests.Properties {
return ResourceManager.GetString("CompiledCodeDisasm_v22", resourceCulture);
}
}
+
+ ///
+ /// Looks up a localized resource of type System.Byte[].
+ ///
+ internal static byte[] TestIsInsn {
+ get {
+ object obj = ResourceManager.GetObject("TestIsInsn", resourceCulture);
+ return ((byte[])(obj));
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to .version 23
+ ///
+ ///.type primitive(Pointer) Pointer
+ ///.type primitive(S32) S32
+ ///.type primitive(U32) U32
+ ///.type primitive(U8) U8
+ ///
+ ///.function(export) U8 INITIALIZEUNINSTALL()
+ /// pushtype U32 ; StackCount = 1
+ /// pushtype U32 ; StackCount = 2
+ /// is Var1, Var2, S32
+ /// is Var1, Var2, Var1
+ /// ret
+ ///
+ ///
+ ///.
+ ///
+ internal static string TestIsInsnDisasm {
+ get {
+ return ResourceManager.GetString("TestIsInsnDisasm", resourceCulture);
+ }
+ }
}
}
diff --git a/IFPSLib.Tests/Properties/Resources.resx b/IFPSLib.Tests/Properties/Resources.resx
index 1fa13d8..4cee6e7 100644
--- a/IFPSLib.Tests/Properties/Resources.resx
+++ b/IFPSLib.Tests/Properties/Resources.resx
@@ -130,4 +130,10 @@
..\CompiledCode_v22.bin;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ ..\TestIsInsn.bin;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ ..\TestIsInsn.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252
+
\ No newline at end of file
diff --git a/IFPSLib.Tests/ScriptTest.cs b/IFPSLib.Tests/ScriptTest.cs
index 8a1f2c4..6e880d3 100644
--- a/IFPSLib.Tests/ScriptTest.cs
+++ b/IFPSLib.Tests/ScriptTest.cs
@@ -10,18 +10,16 @@ namespace IFPSLib.Tests
[TestClass]
public class ScriptTest
{
- private static readonly string origB64 = Convert.ToBase64String(Resources.CompiledCode);
- private static readonly string origB64_22 = Convert.ToBase64String(Resources.CompiledCode_v22);
-
- [TestMethod]
- public void TestLoadSave()
+ private void TestLoadSaveImpl(byte[] compiled)
{
+ // Convert to base64.
+ string orig = Convert.ToBase64String(compiled);
// Load the script.
- var script = Script.Load(Resources.CompiledCode);
+ var script = Script.Load(compiled);
// Ensure it's not null.
Assert.IsNotNull(script);
// For an official script (compiled by inno setup), the entrypoint is the first function.
- Assert.AreEqual(script.EntryPoint, script.Functions[0]);
+ if (script.EntryPoint != null) Assert.AreEqual(script.EntryPoint, script.Functions[0]);
// Save the script.
var savedBytes = script.Save();
// Convert to base64 for later.
@@ -33,50 +31,53 @@ namespace IFPSLib.Tests
// Ensure both saved scripts equal each other.
Assert.AreEqual(saved, savedTwice);
// Ensure the saved script equals the original.
- Assert.AreEqual(saved, origB64);
+ Assert.AreEqual(saved, orig);
// Ensure the disassemblies are equal.
Assert.AreEqual(script.Disassemble(), scriptSaved.Disassemble());
}
+ private void TestAsmImpl(string disasm, byte[] compiled)
+ {
+ string orig = Convert.ToBase64String(compiled);
+ var script = Assembler.Assemble(disasm);
+ var savedB64 = Convert.ToBase64String(script.Save());
+ Assert.AreEqual(savedB64, orig);
+ }
+
+ [TestMethod]
+ public void TestLoadSave()
+ {
+ TestLoadSaveImpl(Resources.CompiledCode);
+ }
+
[TestMethod]
public void TestAsm()
{
- var script = Assembler.Assemble(Resources.CompiledCodeDisasm);
- var savedB64 = Convert.ToBase64String(script.Save());
- Assert.AreEqual(savedB64, origB64);
+ TestAsmImpl(Resources.CompiledCodeDisasm, Resources.CompiledCode);
}
[TestMethod]
public void TestLoadSaveV22()
{
- // Load the script.
- var script = Script.Load(Resources.CompiledCode_v22);
- // Ensure it's not null.
- Assert.IsNotNull(script);
- // For an official script (compiled by inno setup), the entrypoint is the first function.
- Assert.AreEqual(script.EntryPoint, script.Functions[0]);
- // Save the script.
- var savedBytes = script.Save();
- // Convert to base64 for later.
- var saved = Convert.ToBase64String(savedBytes);
- // Load the saved script.
- var scriptSaved = Script.Load(savedBytes);
- // Save again.
- var savedTwice = Convert.ToBase64String(scriptSaved.Save());
- // Ensure both saved scripts equal each other.
- Assert.AreEqual(saved, savedTwice);
- // Ensure the saved script equals the original.
- Assert.AreEqual(saved, origB64_22);
- // Ensure the disassemblies are equal.
- Assert.AreEqual(script.Disassemble(), scriptSaved.Disassemble());
+ TestLoadSaveImpl(Resources.CompiledCode_v22);
}
[TestMethod]
public void TestAsmV22()
{
- var script = Assembler.Assemble(Resources.CompiledCodeDisasm_v22);
- var savedB64 = Convert.ToBase64String(script.Save());
- Assert.AreEqual(savedB64, origB64);
+ TestAsmImpl(Resources.CompiledCodeDisasm_v22, Resources.CompiledCode_v22);
+ }
+
+ [TestMethod]
+ public void TestLoadSaveIs()
+ {
+ TestLoadSaveImpl(Resources.TestIsInsn);
+ }
+
+ [TestMethod]
+ public void TestAsmIs()
+ {
+ TestAsmImpl(Resources.TestIsInsnDisasm, Resources.TestIsInsn);
}
}
}
diff --git a/IFPSLib.Tests/TestIsInsn.bin b/IFPSLib.Tests/TestIsInsn.bin
new file mode 100644
index 0000000..97259cf
Binary files /dev/null and b/IFPSLib.Tests/TestIsInsn.bin differ
diff --git a/IFPSLib.Tests/TestIsInsn.txt b/IFPSLib.Tests/TestIsInsn.txt
new file mode 100644
index 0000000..b34d1e6
--- /dev/null
+++ b/IFPSLib.Tests/TestIsInsn.txt
@@ -0,0 +1,15 @@
+.version 23
+
+.type primitive(Pointer) Pointer
+.type primitive(S32) S32
+.type primitive(U32) U32
+.type primitive(U8) U8
+
+.function(export) U8 INITIALIZEUNINSTALL()
+ pushtype U32 ; StackCount = 1
+ pushtype U32 ; StackCount = 2
+ is Var1, Var2, S32
+ is Var1, Var2, Var1
+ ret
+
+
diff --git a/IFPSLib/Emit/Instruction.cs b/IFPSLib/Emit/Instruction.cs
index 3f6f093..8c9c309 100644
--- a/IFPSLib/Emit/Instruction.cs
+++ b/IFPSLib/Emit/Instruction.cs
@@ -250,7 +250,8 @@ namespace IFPSLib.Emit
/// New instruction
public static Instruction Create(OpCode opcode, Operand op0, Operand op1, Operand op2)
{
- if (opcode.OperandType != OperandType.InlineCmpValue) throw new ArgumentOutOfRangeException(nameof(opcode), "Opcode does not have three value operands");
+ if (opcode.OperandType != OperandType.InlineCmpValue && opcode.OperandType != OperandType.InlineCmpValueType)
+ throw new ArgumentOutOfRangeException(nameof(opcode), "Opcode does not have three value operands");
return new Instruction(opcode, new List(3) { op0, op1, op2 });
}