首页
社区
课程
招聘
目前有没有支持中文的InstallShield反编译器?
发表于: 2005-5-10 22:11 6099

目前有没有支持中文的InstallShield反编译器?

2005-5-10 22:11
6099
// Generated with isDcc v1.22
// (c) 1998 Andrew de Quincey
// isDcc v2.00 (c) 2000 Mr. Smith
// isDcc v2.10 (c) 2001 Mr. Smith
// original file version = 5.00.000

declare
    // ------------- STRING VARIABLES --------------
    string string0;
    string string1;
    string string2;
    string string3;
    string string4;
    string string6;
    string string7;
    string string8;
    string string10;
    string string11;
    string string12;
    string string13;
    string string14;
    string string15;
    string string16;
    string string17;
    string string18;
    string string21;
    string string23;
    string string24;
    string string25;
    string string26;
    string string27;

    // ------------- NUMBER VARIABLES --------------
    number number1;
    number number2;
    number number3;
    number number4;
    number number5;
    number number6;
    number number7;
    number number8;
    number number9;
    number number10;
    number number11;
    number number12;
    number number13;
    number number14;
    number number15;
    number number16;
    number number17;
    number number18;
    number number19;
    number number20;
    number number21;
    number number22;
    number number23;
    number number24;
    number number25;
    number number26;
    number number27;
    number number28;
    number number29;
    number number30;
    number number31;
    number number32;
    number number33;
    number number34;
    number number35;
    number number36;
    number number37;
    number number38;
    number number39;
    number number40;
    number number41;
    number number42;
    number number43;

    // ------------- DATA TYPES --------------
    typedef _sdRECT
    begin
        int left;
        int top;
        int right;
        int bottom;
    end;

    typedef _sdSIZE
    begin
        int cx;
        int cy;
    end;

    typedef ISOSVERSIONINFO
    begin
        number ISIOSVersionInfoSize;
        number ISIMajorVersion;
        number ISIMinorVersion;
        number ISIBuildNumber;
        number ISIPlatformId;
        string szISCSDVersion[128];
    end;

    // ------------- FUNCTION PROTOTYPES --------------
    prototype function1(string, string, BYREF string, BYREF string, BYREF string);
    prototype function5(string, string, BYREF string, number);
    prototype function26(string);
    prototype function27(string, string, string, string);
    prototype function29(string, string, number, string, number);
    prototype function30(string, string, string, string, string, BYREF number, BYREF number);
    prototype function31(number);
    prototype function32(number);
    prototype function33(string, number, number, string);
    prototype function34();
    prototype function35();
    prototype function36(int, string);
    prototype function37(int, BYREF int, BYREF BOOL);
    prototype function38(BYREF string, BYREF string, string, BYREF BOOL);
    prototype function39(string, int, string);
    prototype function40(int, string, int);
    prototype function41(string, number, string, number, number);
    prototype function42(HWND);
    prototype function43(BYREF string, string, string, BYREF number);
    prototype KERNEL32.GetVersionEx(LIST);
    prototype function46(string, string, BYREF LIST);
    prototype function47(int, int, BYREF string, BYREF string);
    prototype function48(int, int, BYREF string, BYREF string, BYREF string);
    prototype function49(int, int);
    prototype function50(string, int, string, int, int);
    prototype function54(string, string, string);
    prototype function56(string, number, number, string, string);
    prototype function58(string, number, number, number);
    prototype function59(string, number, number, number);
    prototype function60(string, number, number);
    prototype function61(BYREF string);
    prototype function62(BYREF string, BYREF string);
    prototype function63(number, number, string, string);
    prototype function64(BYREF string, string, LIST, LIST);
    prototype function65(BYREF string, string);
    prototype function66();
    prototype GDI.SelectObject(HWND, HWND);
    prototype GDI.GetTextExtentPoint(HWND, string, int, LIST);
    prototype USER.EnableWindow(HWND, long);
    prototype USER.GetClassName(HWND, LIST, int);
    prototype USER.GetDC(HWND);
    prototype USER.GetDlgItem(HWND, int);
    prototype USER.GetFocus();
    prototype USER.GetWindowLong(HWND, int);
    prototype USER.GetWindowRect(HWND, LIST);
    prototype USER.GetWindowWord(HWND, int);
    prototype USER.IsIconic(HWND);
    prototype USER.IsWindow(HWND);
    prototype USER.IsWindowEnabled(HWND);
    prototype USER.MoveWindow(HWND, int, int, int, int, int);
    prototype USER.ReleaseDC(HWND, HWND);
    prototype USER.SetFocus(HWND);
    prototype USER.SetWindowText(HWND, string);
    prototype USER.ShowWindow(HWND, long);
    prototype USER.LoadString(int, int, string, int);
    prototype KERNEL.GetModuleHandle(string);
    prototype USER.GetClientRect(HWND, LIST);
    prototype USER.SetWindowPos(HWND, int, int, int, int, int, int);
    prototype USER.PostMessage(HWND, long, long, number);
    prototype USER.ShowCursor(long);
    prototype USER.SystemParametersInfo(HWND, int, LIST, int);
    prototype function92();
    prototype function93();
    prototype function94(number);
    prototype function95();
    prototype function96();
    prototype function97();
    prototype function98();
    prototype function99();
    prototype function100();
    prototype function101();
    prototype function102();
    prototype function103();
    prototype function104();
    prototype function106();
    prototype function107();
    prototype function108(string);
    prototype FullSearch.FullSearch_CheckSn(LIST, LIST, LIST);
    prototype function110(string);
    prototype function111(string);
    prototype function112();
    prototype function113(string, string);
    prototype function114();
    prototype function116(string, string);
    prototype function117();
    prototype t40papi.TPF_Install(LIST, LIST, LIST, BOOL);
    prototype t40papi.TPF_GetLastError(LIST, LIST, number);
    prototype function120();
    prototype function121(string, BYREF string);
    prototype function122();
    prototype MFCDLL.DrawMFCDialog(int, string, string, string, string, string, string, string, string, string);

    // ------------- MAIN PROGRAM CODE --------------
program
start:
000F01:0002:     Disable(12);
000F08:00B5:     function102();
000F10:0125:     string21 = SUPPORTDIR ^ "Mfcdll.dll";
000F25:0125:     string27 = SRCDIR ^ "t40papi.dll";
000F3B:00B2:     UseDLL(string27);
000F40:0021:     number43 = LAST_RESULT;
000F48:0128:     number43 = number43 != 0;
000F5A:0022:     if (number43 = 0) then
                     goto label1;
                 endif;
000F68:002A:     MessageBox("\xff\xff\xff\xffTRS\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff!", -65535);
000F84:0159:     abort;

label1: //Ref: 000F5A  
000F8A:0125:     string27 = SRCDIR ^ "FullSearch.dll";
000FA3:00B2:     UseDLL(string27);
000FA8:0021:     number43 = LAST_RESULT;
000FB0:0128:     number43 = number43 != 0;
000FC2:0022:     if (number43 = 0) then
                     goto label2;
                 endif;
000FD0:002A:     MessageBox("\xff\xff\xff\xffFULLTEXT\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff!", -65535);
000FF1:0159:     abort;

label2: //Ref: 000FC2  
000FF7:00B5:     function100();
000FFF:00B5:     function101();
001007:0013:     string8 = "s";
001010:0013:     string7 = "JD";
00101A:0021:     number41 = 0;
001024:00B5:     function92();
00102C:0021:     number43 = LAST_RESULT;
001034:0128:     number43 = number43 < 0;
001046:0022:     if (number43 = 0) then
                     goto label3;
                 endif;
001054:002C:     goto label9;

label3: //Ref: 001046  
00105D:00B5:     function95();
001065:0021:     number43 = LAST_RESULT;
00106D:0128:     number43 = number43 < 0;
00107F:0022:     if (number43 = 0) then
                     goto label4;
                 endif;
00108D:002C:     goto label9;

label4: //Ref: 00107F  
001096:00B5:     function117();
00109E:00B5:     function93();
0010A6:0021:     number43 = LAST_RESULT;
0010AE:0128:     number43 = number43 < 0;
0010C0:0022:     if (number43 = 0) then
                     goto label5;
                 endif;
0010CE:002C:     goto label9;

label5: //Ref: 0010C0  
0010D7:00B5:     function120();
0010DF:00B5:     function96();
0010E7:0021:     number43 = LAST_RESULT;
0010EF:0128:     number43 = number43 < 0;
001101:0022:     if (number43 = 0) then
                     goto label6;
                 endif;
00110F:002C:     goto label9;

label6: //Ref: 001101  
001118:00B5:     function97();
001120:0021:     number43 = LAST_RESULT;
001128:0128:     number43 = number43 < 0;
00113A:0022:     if (number43 = 0) then
                     goto label7;
                 endif;
001148:002C:     goto label9;

label7: //Ref: 00113A  
001151:0023:     StrCompare(string8, "s");
00115A:0128:     number43 = LAST_RESULT = 0;
00116C:0022:     if (number43 = 0) then
                     goto label8;
                 endif;
00117A:00B5:     function98();
001182:0021:     number43 = LAST_RESULT;
00118A:0128:     number43 = number43 < 0;
00119C:0022:     if (number43 = 0) then
                     goto label8;
                 endif;
0011AA:002C:     goto label9;

label8: //Ref: 00116C  00119C  
0011B3:0023:     StrCompare(string8, "n");
0011BC:0128:     number43 = LAST_RESULT = 0;
0011CE:0022:     if (number43 = 0) then
                     goto label9;
                 endif;
0011DC:0022:     if (number41 = 0) then
                     goto label9;
                 endif;
0011EA:00E3:     LaunchAppAndWait("net start w3svc", "", -1);
001206:0021:     number43 = LAST_RESULT;
00120E:0128:     number43 = number43 < 0;
001220:0022:     if (number43 = 0) then
                     goto label9;
                 endif;
00122E:002A:     MessageBox("\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xffIIS\xff\xff\xff\xff\xff\xff,\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xffIIS\xff\xff\xff\xff.", -65535);

label9: //Ref: 001054  00108D  0010CE  00110F  001148  0011AA  0011CE  0011DC  001220  
00126C:00B5:     function99();
001274:0022:     if (number39 = 0) then
                     goto label10;
                 endif;
001282:0159:     abort;

label10: //Ref: 001274  
001288:002B:     exit;

endprogram

    // ------------- FUNCTION DEFS --------------
    // ------------- FUNCTION function1 --------------
    function function1(pString0, pString1, pString2, pString3, pString4)
        number lNumber0;
        number lNumber1;
        number lNumber2;
        number lNumber3;
        number lNumber4;
        number lNumber5;
        number lNumber6;
        string lString0;
        string lString1;
    begin
004829:0013:         lString0 = "SdRegisterUserEx";
004841:0021:         number1 = 0x2ee2;
00484B:0128:         lNumber5 = MODE = 2;
00485D:0022:         if (lNumber5 = 0) then
                         goto label194;
                     endif;
00486B:00B5:         function43(string1, lString0, pString0, number6);
00487F:015D:         SilentReadData(string1, "Result", 2, lString1, lNumber1);
004898:0128:         lNumber5 = lNumber1 != 12;
0048AA:0128:         lNumber6 = lNumber1 != 2;
0048BC:0127:         lNumber5 = lNumber5 && lNumber6;
0048C7:0022:         if (lNumber5 = 0) then
                         goto label193;
                     endif;
0048D5:015D:         SilentReadData(string1, "szName", 1, pString2, lNumber3);
0048EE:015D:         SilentReadData(string1, "szCompany", 1, pString3, lNumber3);
00490A:015D:         SilentReadData(string1, "szSerial", 1, pString4, lNumber3);

label193: //Ref: 0048C7  
004929:012F:         return(lNumber1);

label194: //Ref: 00485D  
004934:0128:         lNumber5 = number2 = 0;
004946:0022:         if (lNumber5 = 0) then
                         goto label195;
                     endif;
004954:00B5:         function34();

label195: //Ref: 004946  
004960:0113:         EzDefineDialog(lString0, "", "", 0x2ee2);
004970:0021:         lNumber5 = LAST_RESULT;
004978:0128:         lNumber5 = lNumber5 = -1;
00498A:0022:         if (lNumber5 = 0) then
                         goto label196;
                     endif;
004998:012F:         return(-1);

label196: //Ref: 00498A  
0049A5:0021:         lNumber0 = 0;

label197: //Ref: 004E3D  
0049B5:0128:         lNumber5 = lNumber0 = 0;
0049C7:0022:         if (lNumber5 = 0) then
                         goto label214;
                     endif;
0049D5:008C:         WaitOnDialog(lString0);
0049DA:0021:         lNumber1 = LAST_RESULT;
0049E8:0128:         lNumber5 = lNumber1 = -100;
0049FA:0022:         if (lNumber5 = 0) then
                         goto label202;
                     endif;
004A08:0023:         StrCompare(pString1, "");
004A10:0128:         lNumber5 = LAST_RESULT != 0;
004A22:0022:         if (lNumber5 = 0) then
                         goto label199;
                     endif;
004A30:00B5:         function39(lString0, 0x2c6, pString1);

label199: //Ref: 004A22  
004A47:0023:         StrCompare(pString2, "");
004A4F:0128:         lNumber5 = LAST_RESULT = 0;
004A61:0023:         StrCompare(pString3, "");
004A69:0128:         lNumber6 = LAST_RESULT = 0;
004A7B:0127:         lNumber5 = lNumber5 && lNumber6;
004A86:0022:         if (lNumber5 = 0) then
                         goto label200;
                     endif;
004A94:00B5:         function62(pString2, pString3);
004AA2:00B5:         function61(pString2);
004AAD:00B5:         function61(pString3);

label200: //Ref: 004A86  
004ABC:0091:         CtrlSetText(lString0, 0x12d, pString2);
004AC9:0091:         CtrlSetText(lString0, 0x12e, pString3);
004AD6:0091:         CtrlSetText(lString0, 0x12f, pString4);
004AE3:009A:         CmdGetHwndDlg(lString0);
004AE8:0021:         lNumber4 = LAST_RESULT;
004AF0:00B5:         function33(lString0, lNumber4, 64, string0);
004B06:0023:         StrCompare(pString0, "");
004B0E:0128:         lNumber5 = LAST_RESULT != 0;
004B20:0022:         if (lNumber5 = 0) then
                         goto label201;
                     endif;
004B2E:00B4:         USER.SetWindowText(lNumber4, pString0);

label201: //Ref: 004B20  
004B3D:00B5:         function48(lNumber4, 1, pString2, pString3, pString4);
004B56:002C:         goto label213;

label202: //Ref: 0049FA  
004B5F:0128:         lNumber5 = lNumber1 = 0x12d;
004B71:0022:         if (lNumber5 = 0) then
                         goto label204;
                     endif;
004B7F:009E:         CtrlGetSubCommand(lString0);
004B84:0021:         lNumber2 = LAST_RESULT;
004B8C:0128:         lNumber5 = lNumber2 = -1007;
004B9E:0022:         if (lNumber5 = 0) then
                         goto label203;
                     endif;
004BAC:0092:         CtrlGetText(lString0, 0x12d, pString2);

label203: //Ref: 004B9E  
004BBD:00B5:         function48(lNumber4, 1, pString2, pString3, pString4);
004BD6:002C:         goto label213;

label204: //Ref: 004B71  
004BDF:0128:         lNumber5 = lNumber1 = 0x12e;
004BF1:0022:         if (lNumber5 = 0) then
                         goto label206;
                     endif;
004BFF:009E:         CtrlGetSubCommand(lString0);
004C04:0021:         lNumber2 = LAST_RESULT;
004C0C:0128:         lNumber5 = lNumber2 = -1007;
004C1E:0022:         if (lNumber5 = 0) then
                         goto label205;
                     endif;
004C2C:0092:         CtrlGetText(lString0, 0x12e, pString3);

label205: //Ref: 004C1E  
004C3D:00B5:         function48(lNumber4, 1, pString2, pString3, pString4);
004C56:002C:         goto label213;

label206: //Ref: 004BF1  
004C5F:0128:         lNumber5 = lNumber1 = 0x12f;
004C71:0022:         if (lNumber5 = 0) then
                         goto label208;
                     endif;
004C7F:009E:         CtrlGetSubCommand(lString0);
004C84:0021:         lNumber2 = LAST_RESULT;
004C8C:0128:         lNumber5 = lNumber2 = -1007;
004C9E:0022:         if (lNumber5 = 0) then
                         goto label207;
                     endif;
004CAC:0092:         CtrlGetText(lString0, 0x12f, pString4);

label207: //Ref: 004C9E  
004CBD:00B5:         function48(lNumber4, 1, pString2, pString3, pString4);
004CD6:002C:         goto label213;

label208: //Ref: 004C71  
004CDF:0128:         lNumber5 = lNumber1 = 1;
004CF1:0022:         if (lNumber5 = 0) then
                         goto label209;
                     endif;
004CFF:0021:         lNumber1 = 1;
004D09:0021:         lNumber0 = 1;
004D13:002C:         goto label213;

label209: //Ref: 004CF1  
004D1C:0128:         lNumber5 = lNumber1 = 12;
004D2E:0022:         if (lNumber5 = 0) then
                         goto label210;
                     endif;
004D3C:0021:         lNumber1 = 12;
004D46:0021:         lNumber0 = 1;
004D50:002C:         goto label213;

label210: //Ref: 004D2E  
004D59:0128:         lNumber5 = lNumber1 = -1;
004D6B:0022:         if (lNumber5 = 0) then
                         goto label211;
                     endif;
004D79:00B5:         function36(-1, "SdRegisterUserEx");
004D99:0021:         lNumber1 = -1;
004DA3:0021:         lNumber0 = 1;
004DAD:002C:         goto label213;

label211: //Ref: 004D6B  
004DB6:0128:         lNumber5 = lNumber1 = -200;
004DC8:0022:         if (lNumber5 = 0) then
                         goto label212;
                     endif;
004DD6:00B5:         function37(lNumber4, lNumber1, lNumber0);
004DE7:002C:         goto label213;

label212: //Ref: 004DC8  
004DF0:00B5:         function31(lNumber1);
004DFB:0021:         lNumber5 = LAST_RESULT;
004E03:00B5:         function32(lNumber1);
004E0E:0021:         lNumber6 = LAST_RESULT;
004E16:0127:         lNumber5 = lNumber5 && lNumber6;
004E21:0022:         if (lNumber5 = 0) then
                         goto label213;
                     endif;
004E2F:0021:         lNumber0 = 1;

label213: //Ref: 004B56  004BD6  004C56  004CD6  004D13  004D50  004DAD  004DE7  004E21  
004E3D:002C:         goto label197;

label214: //Ref: 0049C7  
004E46:008D:         EndDialog(lString0);
004E4B:008E:         ReleaseDialog(lString0);
004E50:00B5:         function35();
004E58:00B5:         function43(string1, lString0, pString0, number6);
004E6C:015E:         SilentWriteData(string1, "szName", 1, pString2, 0);
004E87:015E:         SilentWriteData(string1, "szCompany", 1, pString3, 0);
004EA5:015E:         SilentWriteData(string1, "szSerial", 1, pString4, 0);
004EC2:015E:         SilentWriteData(string1, "Result", 2, "", lNumber1);
004EDB:012F:         return(lNumber1);
004EE2:00B8:         return;
    end;

    // ------------- FUNCTION function5 --------------
    function function5(pString0, pString1, pString2, pNumber0)
        number lNumber0;
        number lNumber1;
        number lNumber2;
        number lNumber3;
        number lNumber4;
        number lNumber5;
        string lString0;
        string lString1;
        string lString2;
    begin
005FF5:0013:         lString0 = "SdAskDestPath";
00600A:0021:         number1 = 0x2ee5;
006014:0013:         lString1 = pString2;
00601C:0128:         lNumber4 = MODE = 2;
00602E:0022:         if (lNumber4 = 0) then
                         goto label281;
                     endif;
00603C:00B5:         function43(string1, lString0, pString0, number5);
006050:015D:         SilentReadData(string1, "Result", 2, lString2, lNumber0);
006069:0128:         lNumber4 = lNumber0 != 12;
00607B:0128:         lNumber5 = lNumber0 != 2;
00608D:0127:         lNumber4 = lNumber4 && lNumber5;
006098:0022:         if (lNumber4 = 0) then
                         goto label280;
                     endif;
0060A6:015D:         SilentReadData(string1, "szDir", 1, pString2, lNumber1);

label280: //Ref: 006098  
0060C2:012F:         return(lNumber0);

label281: //Ref: 00602E  
0060CD:0128:         lNumber4 = number2 = 0;
0060DF:0022:         if (lNumber4 = 0) then
                         goto label282;
                     endif;
0060ED:00B5:         function34();

label282: //Ref: 0060DF  
0060F9:0113:         EzDefineDialog(lString0, "", "", 0x2ee5);
006109:0021:         lNumber4 = LAST_RESULT;
006111:0128:         lNumber4 = lNumber4 = -1;
006123:0022:         if (lNumber4 = 0) then
                         goto label283;
                     endif;
006131:012F:         return(-1);

label283: //Ref: 006123  
00613E:0021:         lNumber3 = 0;

label284: //Ref: 006411  
00614E:0128:         lNumber4 = lNumber3 = 0;
006160:0022:         if (lNumber4 = 0) then
                         goto label295;
                     endif;
00616E:008C:         WaitOnDialog(lString0);
006173:0021:         lNumber0 = LAST_RESULT;
006181:0128:         lNumber4 = lNumber0 = -100;
006193:0022:         if (lNumber4 = 0) then
                         goto label288;
                     endif;
0061A1:0091:         CtrlSetText(lString0, -2147482933, lString1);
0061AE:0023:         StrCompare(pString1, "");
0061B6:0128:         lNumber4 = LAST_RESULT != 0;
0061C8:0022:         if (lNumber4 = 0) then
                         goto label286;
                     endif;
0061D6:00B5:         function39(lString0, 0x2ce, pString1);

label286: //Ref: 0061C8  
0061ED:009A:         CmdGetHwndDlg(lString0);
0061F2:0021:         lNumber2 = LAST_RESULT;
0061FA:00B5:         function33(lString0, lNumber2, pNumber0, string0);
00620E:0023:         StrCompare(pString0, "");
006216:0128:         lNumber4 = LAST_RESULT != 0;
006228:0022:         if (lNumber4 = 0) then
                         goto label287;
                     endif;
006236:00B4:         USER.SetWindowText(lNumber2, pString0);

label287: //Ref: 006228  
006245:002C:         goto label294;

label288: //Ref: 006193  
00624E:0128:         lNumber4 = lNumber0 = 196;
006260:0022:         if (lNumber4 = 0) then
                         goto label289;
                     endif;
00626E:0021:         lNumber1 = MODE;
006276:0021:         MODE = 0;
006280:0158:         SelectDir("", "", lString1, 1);
006290:0091:         CtrlSetText(lString0, -2147482933, lString1);
00629D:0021:         MODE = lNumber1;
0062A5:002C:         goto label294;

label289: //Ref: 006260  
0062AE:0128:         lNumber4 = lNumber0 = 1;
0062C0:0022:         if (lNumber4 = 0) then
                         goto label290;
                     endif;
0062CE:0013:         pString2 = lString1;
0062D6:0021:         lNumber0 = 1;
0062E0:0021:         lNumber3 = 1;
0062EA:002C:         goto label294;

label290: //Ref: 0062C0  
0062F3:0128:         lNumber4 = lNumber0 = 12;
006305:0022:         if (lNumber4 = 0) then
                         goto label291;
                     endif;
006313:0021:         lNumber0 = 12;
00631D:0021:         lNumber3 = 1;
006327:002C:         goto label294;

label291: //Ref: 006305  
006330:0128:         lNumber4 = lNumber0 = -1;
006342:0022:         if (lNumber4 = 0) then
                         goto label292;
                     endif;
006350:00B5:         function36(-1, "SdAskDestPath");
00636D:0021:         lNumber0 = -1;
006377:0021:         lNumber3 = 1;
006381:002C:         goto label294;

label292: //Ref: 006342  
00638A:0128:         lNumber4 = lNumber0 = -200;
00639C:0022:         if (lNumber4 = 0) then
                         goto label293;
                     endif;
0063AA:00B5:         function37(lNumber2, lNumber0, lNumber3);
0063BB:002C:         goto label294;

label293: //Ref: 00639C  
0063C4:00B5:         function31(lNumber0);
0063CF:0021:         lNumber4 = LAST_RESULT;
0063D7:00B5:         function32(lNumber0);
0063E2:0021:         lNumber5 = LAST_RESULT;
0063EA:0127:         lNumber4 = lNumber4 && lNumber5;
0063F5:0022:         if (lNumber4 = 0) then
                         goto label294;
                     endif;
006403:0021:         lNumber3 = 1;

label294: //Ref: 006245  0062A5  0062EA  006327  006381  0063BB  0063F5  
006411:002C:         goto label284;

label295: //Ref: 006160  
00641A:008D:         EndDialog(lString0);
00641F:008E:         ReleaseDialog(lString0);
006424:00B5:         function35();
00642C:00B5:         function43(string1, lString0, pString0, number5);
006440:015E:         SilentWriteData(string1, "szDir", 1, pString2, 0);
00645A:015E:         SilentWriteData(string1, "Result", 2, "", lNumber0);
006473:012F:         return(lNumber0);
00647A:00B8:         return;
    end;

    // ------------- FUNCTION function26 --------------
    function function26(pString0)
    begin
00DDC4:0013:         string0 = pString0;
00DDCC:00B8:         return;
00DDCE:00B8:         return;
    end;

    // ------------- FUNCTION function27 --------------
    function function27(pString0, pString1, pString2, pString3)
        number lNumber0;
        number lNumber1;
        number lNumber2;
        number lNumber3;
        number lNumber4;
        number lNumber5;
        number lNumber6;
        number lNumber7;
        number lNumber8;
        string lString0;
        string lString1;
        string lString2;
    begin
00DDEE:0013:         lString0 = "SdLicense";
00DDFF:0021:         number1 = 0x2efd;
00DE09:0128:         lNumber6 = MODE = 2;
00DE1B:0022:         if (lNumber6 = 0) then
                         goto label742;
                     endif;
00DE29:00B5:         function43(string1, lString0, pString0, number29);
00DE3D:015D:         SilentReadData(string1, "Result", 2, lString1, lNumber0);
00DE56:012F:         return(lNumber0);

label742: //Ref: 00DE1B  
00DE61:0125:         lString2 = SUPPORTDIR ^ pString3;
00DE6C:007A:         GetByte(lNumber2, pString3, 0);
00DE79:007A:         GetByte(lNumber3, pString3, 1);
00DE8C:0128:         lNumber6 = lNumber3 = 58;
00DE9E:0022:         if (lNumber6 = 0) then
                         goto label745;
                     endif;
00DEAC:0128:         lNumber6 = lNumber2 >= 97;
00DEBE:0128:         lNumber7 = lNumber2 <= 122;
00DED0:0127:         lNumber6 = lNumber6 && lNumber7;
00DEDB:0128:         lNumber7 = lNumber2 >= 65;
00DEED:0128:         lNumber8 = lNumber2 <= 90;
00DEFF:0127:         lNumber7 = lNumber7 && lNumber8;
00DF0A:0126:         lNumber6 = lNumber6 || lNumber7;
00DF15:0022:         if (lNumber6 = 0) then
                         goto label744;
                     endif;
00DF23:0013:         lString2 = pString3;

label744: //Ref: 00DF15  
00DF2F:002C:         goto label746;

label745: //Ref: 00DE9E  
00DF38:0128:         lNumber6 = lNumber3 = 92;
00DF4A:0022:         if (lNumber6 = 0) then
                         goto label746;
                     endif;
00DF58:0128:         lNumber6 = lNumber2 = 92;
00DF6A:0022:         if (lNumber6 = 0) then
                         goto label746;
                     endif;
00DF78:0013:         lString2 = pString3;

label746: //Ref: 00DF2F  00DF4A  00DF6A  
00DF84:0128:         lNumber6 = number2 = 0;
00DF96:0022:         if (lNumber6 = 0) then
                         goto label747;
                     endif;
00DFA4:00B5:         function34();

label747: //Ref: 00DF96  
00DFB0:0113:         EzDefineDialog(lString0, "", "", 0x2efd);
00DFC0:0021:         lNumber6 = LAST_RESULT;
00DFC8:0128:         lNumber6 = lNumber6 = -1;
00DFDA:0022:         if (lNumber6 = 0) then
                         goto label748;
                     endif;
00DFE8:012F:         return(-1);

label748: //Ref: 00DFDA  
00DFF5:0021:         lNumber5 = 0;

label749: //Ref: 00E319  
00E005:0128:         lNumber6 = lNumber5 = 0;
00E017:0022:         if (lNumber6 = 0) then
                         goto label762;
                     endif;
00E025:008C:         WaitOnDialog(lString0);
00E02A:0021:         lNumber0 = LAST_RESULT;
00E038:0128:         lNumber6 = lNumber0 = -100;
00E04A:0022:         if (lNumber6 = 0) then
                         goto label755;
                     endif;
00E058:0023:         StrCompare(pString1, "");
00E060:0128:         lNumber6 = LAST_RESULT != 0;
00E072:0022:         if (lNumber6 = 0) then
                         goto label751;
                     endif;
00E080:00B5:         function39(lString0, 0x2c7, pString1);

label751: //Ref: 00E072  
00E097:0023:         StrCompare(pString2, "");
00E09F:0128:         lNumber6 = LAST_RESULT != 0;
00E0B1:0022:         if (lNumber6 = 0) then
                         goto label752;
                     endif;
00E0BF:00B5:         function39(lString0, 0x2c8, pString2);

label752: //Ref: 00E0B1  
00E0D6:009A:         CmdGetHwndDlg(lString0);
00E0DB:0021:         lNumber4 = LAST_RESULT;
00E0E3:00B5:         function33(lString0, lNumber4, 0, string0);
00E0F9:0023:         StrCompare(pString0, "");
00E101:0128:         lNumber6 = LAST_RESULT != 0;
00E113:0022:         if (lNumber6 = 0) then
                         goto label753;
                     endif;
00E121:00B4:         USER.SetWindowText(lNumber4, pString0);

label753: //Ref: 00E113  
00E130:009F:         ListCreate(0);
00E137:0021:         lNumber1 = LAST_RESULT;
00E13F:0116:         ListReadFromFile(lNumber1, lString2);
00E147:0021:         lNumber6 = LAST_RESULT;
00E14F:0128:         lNumber6 = lNumber6 = 0;
00E161:0022:         if (lNumber6 = 0) then
                         goto label754;
                     endif;
00E16F:00F1:         CtrlSetMLEText(lString0, 0x12d, lNumber1);

label754: //Ref: 00E161  
00E180:00A0:         ListDestroy(lNumber1);
00E185:002C:         goto label761;

label755: //Ref: 00E04A  
00E18E:0128:         lNumber6 = lNumber0 = 1;
00E1A0:0022:         if (lNumber6 = 0) then
                         goto label756;
                     endif;
00E1AE:0021:         lNumber0 = 1;
00E1B8:0021:         lNumber5 = 1;
00E1C2:002C:         goto label761;

label756: //Ref: 00E1A0  
00E1CB:0128:         lNumber6 = lNumber0 = 6;
00E1DD:0022:         if (lNumber6 = 0) then
                         goto label757;
                     endif;
00E1EB:0021:         lNumber0 = 1;
00E1F5:0021:         lNumber5 = 1;
00E1FF:002C:         goto label761;

label757: //Ref: 00E1DD  
00E208:0128:         lNumber6 = lNumber0 = 12;
00E21A:0022:         if (lNumber6 = 0) then
                         goto label758;
                     endif;
00E228:0021:         lNumber0 = 12;
00E232:0021:         lNumber5 = 1;
00E23C:002C:         goto label761;

label758: //Ref: 00E21A  
00E245:0128:         lNumber6 = lNumber0 = -1;
00E257:0022:         if (lNumber6 = 0) then
                         goto label759;
                     endif;
00E265:00B5:         function36(-1, lString0);
00E275:0021:         lNumber0 = -1;
00E27F:0021:         lNumber5 = 1;
00E289:002C:         goto label761;

label759: //Ref: 00E257  
00E292:0128:         lNumber6 = lNumber0 = -200;
00E2A4:0022:         if (lNumber6 = 0) then
                         goto label760;
                     endif;
00E2B2:00B5:         function37(lNumber4, lNumber0, lNumber5);
00E2C3:002C:         goto label761;

label760: //Ref: 00E2A4  
00E2CC:00B5:         function31(lNumber0);
00E2D7:0021:         lNumber6 = LAST_RESULT;
00E2DF:00B5:         function32(lNumber0);
00E2EA:0021:         lNumber7 = LAST_RESULT;
00E2F2:0127:         lNumber6 = lNumber6 && lNumber7;
00E2FD:0022:         if (lNumber6 = 0) then
                         goto label761;
                     endif;
00E30B:0021:         lNumber5 = 1;

label761: //Ref: 00E185  00E1C2  00E1FF  00E23C  00E289  00E2C3  00E2FD  
00E319:002C:         goto label749;

label762: //Ref: 00E017  
00E322:008D:         EndDialog(lString0);
00E327:008E:         ReleaseDialog(lString0);
00E32C:00B5:         function35();
00E334:00B5:         function43(string1, lString0, pString0, number29);
00E348:015E:         SilentWriteData(string1, "Result", 2, "", lNumber0);
00E361:012F:         return(lNumber0);
00E368:00B8:         return;
    end;

    // ------------- FUNCTION function29 --------------
    function function29(pString0, pString1, pNumber0, pString2, pNumber1)
        number lNumber0;
        number lNumber1;
        number lNumber2;
        number lNumber3;
        number lNumber4;
        number lNumber5;
        number lNumber6;
        number lNumber7;
        number lNumber8;
        number lNumber9;
        number lNumber10;
        string lString0;
        string lString1;
    begin
00E7A4:0013:         lString0 = "SdFinishReboot";
00E7BA:0021:         number1 = 0x2eff;
00E7C4:0021:         lNumber7 = 0;
00E7CE:0061:         GetSystemInfo(150, lNumber3, lString1);
00E7DB:0128:         lNumber9 = lNumber3 = 4;
00E7ED:0128:         lNumber10 = lNumber3 = 0;
00E7FF:0126:         lNumber9 = lNumber9 || lNumber10;
00E80A:0022:         if (lNumber9 = 0) then
                         goto label781;
                     endif;
00E818:0021:         lNumber7 = 1;

label781: //Ref: 00E80A  
00E826:0128:         lNumber9 = MODE = 2;
00E838:0022:         if (lNumber9 = 0) then
                         goto label785;
                     endif;
00E846:00B5:         function43(string1, lString0, pString0, number31);
00E85A:015D:         SilentReadData(string1, "Result", 2, lString1, lNumber0);
00E873:0128:         lNumber9 = lNumber0 != 12;
00E885:0128:         lNumber10 = lNumber0 != 2;
00E897:0127:         lNumber9 = lNumber9 && lNumber10;
00E8A2:0022:         if (lNumber9 = 0) then
                         goto label784;
                     endif;
00E8B0:015D:         SilentReadData(string1, "BootOption", 2, lString1, lNumber4);
00E8CD:014F:         CommitSharedFiles(0);
00E8D4:0128:         lNumber9 = lNumber0 = -1;
00E8E6:0022:         if (lNumber9 = 0) then
                         goto label782;
                     endif;
00E8F4:012F:         return(-1);

label782: //Ref: 00E8E6  
00E901:0022:         if (lNumber4 = 0) then
                         goto label784;
                     endif;
00E90F:006F:         System(lNumber4);
00E914:0021:         lNumber0 = LAST_RESULT;
00E91C:0128:         lNumber9 = lNumber0 < 0;
00E92E:0022:         if (lNumber9 = 0) then
                         goto label783;
                     endif;
00E93C:012F:         return(lNumber0);

label783: //Ref: 00E92E  
00E947:000A:         Delay(1);
00E94E:0021:         lNumber0 = -1;

label784: //Ref: 00E8A2  00E901  
00E95C:012F:         return(lNumber0);

label785: //Ref: 00E838  
00E967:0128:         lNumber9 = number2 = 0;
00E979:0022:         if (lNumber9 = 0) then
                         goto label786;
                     endif;
00E987:00B5:         function34();

label786: //Ref: 00E979  
00E993:0113:         EzDefineDialog(lString0, "", "", 0x2eff);
00E9A3:0021:         lNumber9 = LAST_RESULT;
00E9AB:0128:         lNumber9 = lNumber9 = -1;
00E9BD:0022:         if (lNumber9 = 0) then
                         goto label787;
                     endif;
00E9CB:012F:         return(-1);

label787: //Ref: 00E9BD  
00E9D8:0002:         Disable(50);
00E9DF:0021:         lNumber8 = 0;

label788: //Ref: 00EF48  
00E9EF:0128:         lNumber9 = lNumber8 = 0;
00EA01:0022:         if (lNumber9 = 0) then
                         goto label809;
                     endif;
00EA0F:008C:         WaitOnDialog(lString0);
00EA14:0021:         lNumber0 = LAST_RESULT;
00EA22:0128:         lNumber9 = lNumber0 = -100;
00EA34:0022:         if (lNumber9 = 0) then
                         goto label799;
                     endif;
00EA42:0023:         StrCompare(pString1, "");
00EA4A:0128:         lNumber9 = LAST_RESULT != 0;
00EA5C:0022:         if (lNumber9 = 0) then
                         goto label790;
                     endif;
00EA6A:00B5:         function39(lString0, 0x2c7, pString1);

label790: //Ref: 00EA5C  
00EA81:0023:         StrCompare(pString2, "");
00EA89:0128:         lNumber9 = LAST_RESULT != 0;
00EA9B:0022:         if (lNumber9 = 0) then
                         goto label791;
                     endif;
00EAA9:00B5:         function39(lString0, 0x2c8, pString2);

label791: //Ref: 00EA9B  
00EAC0:009A:         CmdGetHwndDlg(lString0);
00EAC5:0021:         lNumber6 = LAST_RESULT;
00EACD:00B5:         function33(lString0, lNumber6, 0, string0);
00EAE3:0023:         StrCompare(pString0, "");
00EAEB:0128:         lNumber9 = LAST_RESULT != 0;
00EAFD:0022:         if (lNumber9 = 0) then
                         goto label792;
                     endif;
00EB0B:00B4:         USER.SetWindowText(lNumber6, pString0);

label792: //Ref: 00EAFD  
00EB1A:00B5:         function60(lString0, lNumber6, lNumber7);
00EB2B:0090:         CtrlSetState(lString0, 0x1f5, 0);
00EB3A:0090:         CtrlSetState(lString0, 0x1f6, 0);
00EB49:0090:         CtrlSetState(lString0, 0x1f7, 0);
00EB5E:0128:         lNumber9 = pNumber0 = 3;
00EB70:0022:         if (lNumber9 = 0) then
                         goto label794;
                     endif;
00EB7E:0090:         CtrlSetState(lString0, 0x1f6, -1001);
00EB8D:00B4:         USER.GetDlgItem(lNumber6, 0x1f6);
00EB9A:0021:         lNumber5 = LAST_RESULT;
00EBA2:002C:         goto label798;

label794: //Ref: 00EB70  
00EBAB:0128:         lNumber9 = pNumber0 = 2;
00EBBD:0022:         if (lNumber9 = 0) then
                         goto label797;
                     endif;
00EBCB:0022:         if (lNumber7 = 0) then
                         goto label795;
                     endif;
00EBD9:0090:         CtrlSetState(lString0, 0x1f5, -1001);
00EBE8:00B4:         USER.GetDlgItem(lNumber6, 0x1f5);
00EBF5:0021:         lNumber5 = LAST_RESULT;
00EBFD:002C:         goto label796;

label795: //Ref: 00EBCB  
00EC06:0090:         CtrlSetState(lString0, 0x1f6, -1001);
00EC15:00B4:         USER.GetDlgItem(lNumber6, 0x1f6);
00EC22:0021:         lNumber5 = LAST_RESULT;

label796: //Ref: 00EBFD  
00EC2E:002C:         goto label798;

label797: //Ref: 00EBBD  
00EC37:0090:         CtrlSetState(lString0, 0x1f7, -1001);
00EC46:00B4:         USER.GetDlgItem(lNumber6, 0x1f7);
00EC53:0021:         lNumber5 = LAST_RESULT;

label798: //Ref: 00EBA2  00EC2E  
00EC5F:00B4:         USER.SetFocus(lNumber5);
00EC67:002C:         goto label808;

label799: //Ref: 00EA34  
00EC70:0128:         lNumber9 = lNumber0 = 1;
00EC82:0022:         if (lNumber9 = 0) then
                         goto label804;
                     endif;
00EC90:0021:         lNumber0 = 1;
00EC9A:0021:         lNumber8 = 1;
00ECA4:0021:         lNumber4 = 0;
00ECAE:008F:         CtrlGetState(lString0, 0x1f5);
00ECB8:0021:         lNumber9 = LAST_RESULT;
00ECC0:0128:         lNumber9 = lNumber9 = -1001;
00ECD2:0022:         if (lNumber9 = 0) then
                         goto label800;
                     endif;
00ECE0:0021:         lNumber4 = 2;

label800: //Ref: 00ECD2  
00ECEE:008F:         CtrlGetState(lString0, 0x1f6);
00ECF8:0021:         lNumber9 = LAST_RESULT;
00ED00:0128:         lNumber9 = lNumber9 = -1001;
00ED12:0022:         if (lNumber9 = 0) then
                         goto label801;
                     endif;
00ED20:0021:         lNumber4 = 3;

label801: //Ref: 00ED12  
00ED2E:014F:         CommitSharedFiles(0);
00ED35:0022:         if (lNumber4 = 0) then
                         goto label803;
                     endif;
00ED43:0021:         lNumber8 = 0;
00ED4D:00B5:         function43(string1, lString0, pString0, number31);
00ED61:015E:         SilentWriteData(string1, "Result", 2, "", lNumber0);
00ED7A:015E:         SilentWriteData(string1, "BootOption", 2, "", lNumber4);
00ED97:006F:         System(lNumber4);
00ED9C:0021:         lNumber0 = LAST_RESULT;
00EDA4:0128:         lNumber9 = lNumber0 = 0;
00EDB6:0128:         lNumber10 = lNumber3 = 2;
00EDC8:0127:         lNumber9 = lNumber9 && lNumber10;
00EDD3:0022:         if (lNumber9 = 0) then
                         goto label802;
                     endif;
00EDE1:000A:         Delay(3);
00EDE8:0021:         lNumber0 = -1;
00EDF2:002C:         goto label803;

label802: //Ref: 00EDD3  
00EDFB:0128:         lNumber9 = lNumber0 < 0;
00EE0D:0022:         if (lNumber9 = 0) then
                         goto label803;
                     endif;
00EE1B:015E:         SilentWriteData(string1, "Result", 2, "", lNumber0);

label803: //Ref: 00ED35  00EDF2  00EE0D  
00EE38:002C:         goto label808;

label804: //Ref: 00EC82  
00EE41:0128:         lNumber9 = lNumber0 = 12;
00EE53:0022:         if (lNumber9 = 0) then
                         goto label805;
                     endif;
00EE61:0021:         lNumber0 = 12;
00EE6B:002C:         goto label808;

label805: //Ref: 00EE53  
00EE74:0128:         lNumber9 = lNumber0 = -1;
00EE86:0022:         if (lNumber9 = 0) then
                         goto label806;
                     endif;
00EE94:00B5:         function36(-1, lString0);
00EEA4:0021:         lNumber0 = -1;
00EEAE:0021:         lNumber8 = 1;
00EEB8:002C:         goto label808;

label806: //Ref: 00EE86  
00EEC1:0128:         lNumber9 = lNumber0 = -200;
00EED3:0022:         if (lNumber9 = 0) then
                         goto label807;
                     endif;
00EEE1:00B5:         function37(lNumber6, lNumber0, lNumber8);
00EEF2:002C:         goto label808;

label807: //Ref: 00EED3  
00EEFB:00B5:         function31(lNumber0);
00EF06:0021:         lNumber9 = LAST_RESULT;
00EF0E:00B5:         function32(lNumber0);
00EF19:0021:         lNumber10 = LAST_RESULT;
00EF21:0127:         lNumber9 = lNumber9 && lNumber10;
00EF2C:0022:         if (lNumber9 = 0) then
                         goto label808;
                     endif;
00EF3A:0021:         lNumber8 = 1;

label808: //Ref: 00EC67  00EE38  00EE6B  00EEB8  00EEF2  00EF2C  
00EF48:002C:         goto label788;

label809: //Ref: 00EA01  
00EF51:008D:         EndDialog(lString0);
00EF56:008E:         ReleaseDialog(lString0);
00EF5B:00B5:         function35();
00EF63:0001:         Enable(50);
00EF6A:00B5:         function43(string1, lString0, pString0, number31);
00EF7E:015E:         SilentWriteData(string1, "Result", 2, "", lNumber0);
00EF97:015E:         SilentWriteData(string1, "BootOption", 2, "", 0);
00EFB6:012F:         return(lNumber0);
00EFBD:00B8:         return;
    end;

    // ------------- FUNCTION function30 --------------
    function function30(pString0, pString1, pString2, pString3, pString4, pNumber0, pNumber1)
        number lNumber0;
        number lNumber1;
        number lNumber2;
        number lNumber3;
        number lNumber4;
        number lNumber5;
        number lNumber6;
        number lNumber7;
        number lNumber8;
        string lString0;
        string lString1;
    begin
00F042:0013:         lString0 = "SdFinish";
00F052:0021:         number1 = 0x2f00;
00F05C:0021:         lNumber2 = 0;
00F066:0128:         lNumber7 = MODE = 2;
00F078:0022:         if (lNumber7 = 0) then
                         goto label815;
                     endif;
00F086:00B5:         function43(string1, lString0, pString0, number32);
00F09A:015D:         SilentReadData(string1, "Result", 2, lString1, lNumber0);
00F0B3:0128:         lNumber7 = lNumber0 != 12;
00F0C5:0128:         lNumber8 = lNumber0 != 2;
00F0D7:0127:         lNumber7 = lNumber7 && lNumber8;
00F0E2:0022:         if (lNumber7 = 0) then
                         goto label814;
                     endif;
00F0F0:015D:         SilentReadData(string1, "bOpt1", 2, lString1, pNumber0);
00F108:015D:         SilentReadData(string1, "bOpt2", 2, lString1, pNumber1);

label814: //Ref: 00F0E2  
00F124:012F:         return(lNumber0);

label815: //Ref: 00F078  
00F12F:0128:         lNumber7 = number2 = 0;
00F141:0022:         if (lNumber7 = 0) then
                         goto label816;
                     endif;
00F14F:00B5:         function34();

label816: //Ref: 00F141  
00F15B:0113:         EzDefineDialog(lString0, "", "", 0x2f00);
00F16B:0021:         lNumber7 = LAST_RESULT;
00F173:0128:         lNumber7 = lNumber7 = -1;
00F185:0022:         if (lNumber7 = 0) then
                         goto label817;
                     endif;
00F193:012F:         return(-1);

label817: //Ref: 00F185  
00F1A0:0002:         Disable(50);
00F1A7:0021:         lNumber3 = 0;

label818: //Ref: 00F673  
00F1B7:0128:         lNumber7 = lNumber3 = 0;
00F1C9:0022:         if (lNumber7 = 0) then
                         goto label839;
                     endif;
00F1D7:008C:         WaitOnDialog(lString0);
00F1DC:0021:         lNumber0 = LAST_RESULT;
00F1EA:0128:         lNumber7 = lNumber0 = -100;
00F1FC:0022:         if (lNumber7 = 0) then
                         goto label831;
                     endif;
00F20A:009A:         CmdGetHwndDlg(lString0);
00F20F:0021:         lNumber4 = LAST_RESULT;
00F217:0023:         StrCompare(pString1, "");
00F21F:0128:         lNumber7 = LAST_RESULT != 0;
00F231:0022:         if (lNumber7 = 0) then
                         goto label820;
                     endif;
00F23F:00B5:         function39(lString0, 0x2c7, pString1);

label820: //Ref: 00F231  
00F256:0023:         StrCompare(pString2, "");
00F25E:0128:         lNumber7 = LAST_RESULT != 0;
00F270:0022:         if (lNumber7 = 0) then
                         goto label821;
                     endif;
00F27E:00B5:         function39(lString0, 0x2c8, pString2);

label821: //Ref: 00F270  
00F295:0023:         StrCompare(pString3, "");
00F29D:0128:         lNumber7 = LAST_RESULT != 0;
00F2AF:0022:         if (lNumber7 = 0) then
                         goto label822;
                     endif;
00F2BD:0091:         CtrlSetText(lString0, 0x1f5, pString3);
00F2CA:002C:         goto label823;

label822: //Ref: 00F2AF  
00F2D3:00B4:         USER.GetDlgItem(lNumber4, 0x1f5);
00F2E0:0021:         lNumber5 = LAST_RESULT;
00F2E8:00B4:         USER.ShowWindow(lNumber5, 0);
00F2F5:0021:         pNumber0 = 0;

label823: //Ref: 00F2CA  
00F303:0023:         StrCompare(pString4, "");
00F30B:0128:         lNumber7 = LAST_RESULT != 0;
00F31D:0022:         if (lNumber7 = 0) then
                         goto label824;
                     endif;
00F32B:0091:         CtrlSetText(lString0, 0x1f6, pString4);
00F338:002C:         goto label825;

label824: //Ref: 00F31D  
00F341:00B4:         USER.GetDlgItem(lNumber4, 0x1f6);
00F34E:0021:         lNumber5 = LAST_RESULT;
00F356:00B4:         USER.ShowWindow(lNumber5, 0);
00F363:0021:         pNumber1 = 0;

label825: //Ref: 00F338  
00F371:00B5:         function33(lString0, lNumber4, 0, string0);
00F387:0023:         StrCompare(pString0, "");
00F38F:0128:         lNumber7 = LAST_RESULT != 0;
00F3A1:0022:         if (lNumber7 = 0) then
                         goto label826;
                     endif;
00F3AF:00B4:         USER.SetWindowText(lNumber4, pString0);

label826: //Ref: 00F3A1  
00F3BE:0022:         if (pNumber0 = 0) then
                         goto label827;
                     endif;
00F3CC:0090:         CtrlSetState(lString0, 0x1f5, -1001);

label827: //Ref: 00F3BE  
00F3DF:0022:         if (pNumber1 = 0) then
                         goto label828;
                     endif;
00F3ED:0090:         CtrlSetState(lString0, 0x1f6, -1001);

label828: //Ref: 00F3DF  
00F400:0023:         StrCompare(pString3, "");
00F408:0128:         lNumber7 = LAST_RESULT = 0;
00F41A:0023:         StrCompare(pString4, "");
00F422:0128:         lNumber8 = LAST_RESULT = 0;
00F434:0127:         lNumber7 = lNumber7 && lNumber8;
00F43F:0022:         if (lNumber7 = 0) then
                         goto label829;
                     endif;
00F44D:00B4:         USER.GetDlgItem(lNumber4, 1);
00F45A:0021:         lNumber6 = LAST_RESULT;
00F462:00B4:         USER.SetFocus(lNumber6);
00F46A:002C:         goto label830;

label829: //Ref: 00F43F  
00F473:00B5:         function41(lString0, lNumber4, string0, 0x1f5, 2);

label830: //Ref: 00F46A  
00F492:002C:         goto label838;

label831: //Ref: 00F1FC  
00F49B:0128:         lNumber7 = lNumber0 = 1;
00F4AD:0022:         if (lNumber7 = 0) then
                         goto label834;
                     endif;
00F4BB:0021:         lNumber0 = 1;
00F4C5:0021:         lNumber3 = 1;
00F4CF:0021:         pNumber0 = 0;
00F4D9:0021:         pNumber1 = 0;
00F4E3:008F:         CtrlGetState(lString0, 0x1f5);
00F4ED:0021:         lNumber7 = LAST_RESULT;
00F4F5:0128:         lNumber7 = lNumber7 = -1001;
00F507:0022:         if (lNumber7 = 0) then
                         goto label832;
                     endif;
00F515:0021:         pNumber0 = 1;

label832: //Ref: 00F507  
00F523:008F:         CtrlGetState(lString0, 0x1f6);
00F52D:0021:         lNumber7 = LAST_RESULT;
00F535:0128:         lNumber7 = lNumber7 = -1001;
00F547:0022:         if (lNumber7 = 0) then
                         goto label833;
                     endif;
00F555:0021:         pNumber1 = 1;

label833: //Ref: 00F547  
00F563:002C:         goto label838;

label834: //Ref: 00F4AD  
00F56C:0128:         lNumber7 = lNumber0 = 12;
00F57E:0022:         if (lNumber7 = 0) then
                         goto label835;
                     endif;
00F58C:0021:         lNumber0 = 12;
00F596:002C:         goto label838;

label835: //Ref: 00F57E  
00F59F:0128:         lNumber7 = lNumber0 = -1;
00F5B1:0022:         if (lNumber7 = 0) then
                         goto label836;
                     endif;
00F5BF:00B5:         function36(-1, lString0);
00F5CF:0021:         lNumber0 = -1;
00F5D9:0021:         lNumber3 = 1;
00F5E3:002C:         goto label838;

label836: //Ref: 00F5B1  
00F5EC:0128:         lNumber7 = lNumber0 = -200;
00F5FE:0022:         if (lNumber7 = 0) then
                         goto label837;
                     endif;
00F60C:00B5:         function37(lNumber4, lNumber0, lNumber3);
00F61D:002C:         goto label838;

label837: //Ref: 00F5FE  
00F626:00B5:         function31(lNumber0);
00F631:0021:         lNumber7 = LAST_RESULT;
00F639:00B5:         function32(lNumber0);
00F644:0021:         lNumber8 = LAST_RESULT;
00F64C:0127:         lNumber7 = lNumber7 && lNumber8;
00F657:0022:         if (lNumber7 = 0) then
                         goto label838;
                     endif;
00F665:0021:         lNumber3 = 1;

label838: //Ref: 00F492  00F563  00F596  00F5E3  00F61D  00F657  
00F673:002C:         goto label818;

label839: //Ref: 00F1C9  
00F67C:008D:         EndDialog(lString0);
00F681:008E:         ReleaseDialog(lString0);
00F686:00B5:         function35();
00F68E:0001:         Enable(50);
00F695:00B5:         function43(string1, lString0, pString0, number32);
00F6A9:015E:         SilentWriteData(string1, "Result", 2, "", lNumber0);
00F6C2:015E:         SilentWriteData(string1, "bOpt1", 2, "", pNumber0);
00F6DA:015E:         SilentWriteData(string1, "bOpt2", 2, "", pNumber1);
00F6F2:012F:         return(lNumber0);
00F6F9:00B8:         return;
    end;

    // ------------- FUNCTION function31 --------------
    function function31(pNumber0)
        number lNumber0;
        number lNumber1;
    begin
00341D:0128:         lNumber0 = pNumber0 >= 1;
00342F:0128:         lNumber1 = pNumber0 <= 12;
003441:0127:         lNumber0 = lNumber0 && lNumber1;
00344C:0022:         if (lNumber0 = 0) then
                         goto label111;
                     endif;
00345A:012F:         return(1);

label111: //Ref: 00344C  
003467:012F:         return(0);
003470:00B8:         return;
    end;

    // ------------- FUNCTION function32 --------------
    function function32(pNumber0)
        number lNumber0;
    begin
003488:0128:         lNumber0 = pNumber0 = 2;
00349A:0022:         if (lNumber0 = 0) then
                         goto label114;
                     endif;
0034A8:0154:         Do(2);
0034AF:002C:         goto label117;

label114: //Ref: 00349A  
0034B8:0128:         lNumber0 = pNumber0 = 9;
0034CA:0022:         if (lNumber0 = 0) then
                         goto label115;
                     endif;
0034D8:0154:         Do(2);
0034DF:002C:         goto label117;

label115: //Ref: 0034CA  
0034E8:0128:         lNumber0 = pNumber0 = 8;
0034FA:0022:         if (lNumber0 = 0) then
                         goto label116;
                     endif;
003508:0154:         Do(1);
00350F:002C:         goto label117;

label116: //Ref: 0034FA  
003518:012F:         return(1);

label117: //Ref: 0034AF  0034DF  00350F  
003525:012F:         return(0);
00352E:00B8:         return;
    end;

    // ------------- FUNCTION function33 --------------
    function function33(pString0, pNumber0, pNumber1, pString1)
        number lNumber0;
        number lNumber1;
        number lNumber2;
        number lNumber3;
        number lNumber4;
        number lNumber5;
        number lNumber6;
        number lNumber7;
        string lString0;
    begin
0032E0:00B5:         function42(pNumber0);
0032EB:00B4:         USER.GetFocus();
0032F0:0021:         lNumber1 = LAST_RESULT;
0032F8:00BA:         AddressString(lString0);
0032FD:0021:         lNumber6 = LAST_RESULT;
003305:00B4:         USER.IsWindow(lNumber1);
00330D:0021:         lNumber7 = LAST_RESULT;
003315:0022:         if (lNumber7 = 0) then
                         goto label108;
                     endif;
003323:00B4:         USER.GetClassName(lNumber1, lNumber6, 0x200);
003333:0023:         StrCompare(lString0, "edit");
00333F:0128:         lNumber7 = LAST_RESULT = 0;
003351:0022:         if (lNumber7 = 0) then
                         goto label108;
                     endif;
00335F:0128:         lNumber7 = number3 = 1;
003371:0022:         if (lNumber7 = 0) then
                         goto label106;
                     endif;
00337F:00B4:         USER.GetWindowWord(lNumber1, -12);
00338C:0021:         lNumber4 = LAST_RESULT;
003394:002C:         goto label107;

label106: //Ref: 003371  
00339D:00B4:         USER.GetWindowLong(lNumber1, -12);
0033AA:0021:         lNumber4 = LAST_RESULT;

label107: //Ref: 003394  
0033B6:0093:         CtrlSelectText(pString0, lNumber4);

label108: //Ref: 003315  003351  
0033C2:0023:         StrCompare(pString1, "");
0033CA:0128:         lNumber7 = LAST_RESULT != 0;
0033DC:0022:         if (lNumber7 = 0) then
                         goto label109;
                     endif;
0033EA:00B5:         function41(pString0, pNumber0, string0, 0x2bc, 25);

label109: //Ref: 0033DC  
003409:00B8:         return;
00340B:00B8:         return;
    end;

    // ------------- FUNCTION function34 --------------
    function function34()
        number lNumber0;
        number lNumber1;
        number lNumber2;
        number lNumber3;
        string lString0;
    begin
0031B6:0022:         if (number2 = 0) then
                         goto label100;
                     endif;
0031C4:012F:         return(1);

label100: //Ref: 0031B6  
0031D1:0061:         GetSystemInfo(211, lNumber0, lString0);
0031DE:0021:         number3 = 0;
0031E8:0128:         lNumber3 = lNumber0 = 16;
0031FA:0022:         if (lNumber3 = 0) then
                         goto label101;
                     endif;
003208:0021:         number3 = 1;

label101: //Ref: 0031FA  
003216:0021:         number2 = 1;
003220:00B4:         KERNEL.GetModuleHandle(ISRES);
003228:0021:         lNumber1 = LAST_RESULT;
003230:0022:         if (lNumber1 = 0) then
                         goto label102;
                     endif;
00323E:00B4:         USER.LoadString(lNumber1, 0x2d50, string2, 0x100);

label102: //Ref: 003230  
003257:00C6:         GetWindowHandle(-2);
00325E:0021:         lNumber2 = LAST_RESULT;
003266:0022:         if (lNumber2 = 0) then
                         goto label103;
                     endif;
003274:00B4:         USER.IsIconic(lNumber2);
00327C:0021:         lNumber3 = LAST_RESULT;
003284:0022:         if (lNumber3 = 0) then
                         goto label103;
                     endif;
003292:00B4:         USER.ShowWindow(lNumber2, 9);

label103: //Ref: 003266  003284  
0032A3:015F:         DialogSetInfo(4, "", 4);
0032B2:00B8:         return;
0032B4:00B8:         return;
    end;

    // ------------- FUNCTION function35 --------------
    function function35()
    begin
0032C6:00B8:         return;
0032C8:00B8:         return;
    end;

    // ------------- FUNCTION function36 --------------
    function function36(pInt0, pString0)
        number lNumber0;
        string lString0;
    begin
003D4D:0128:         lNumber0 = pInt0 = -1;
003D5F:0022:         if (lNumber0 = 0) then
                         goto label149;
                     endif;
003D6D:0124:         lString0 = "In function \'%s\':\n" + "Unable to create dialog.\n";
003DA3:0124:         lString0 = lString0 + "Make sure the _ISRES.DLL is in _SYS.CAB.";
003DD6:0104:         SprintfBox(-65533, "Error", lString0, pString0);

label149: //Ref: 003D5F  
003DF2:00B8:         return;
003DF4:00B8:         return;
    end;

    // ------------- FUNCTION function37 --------------
    function function37(pInt0, pInt1, pBool0)
        number lNumber0;
    begin
003E06:00B4:         USER.GetDlgItem(pInt0, 9);
003E13:0021:         lNumber0 = LAST_RESULT;
003E1B:0022:         if (lNumber0 = 0) then
                         goto label151;
                     endif;
003E29:0154:         Do(2);
003E30:002C:         goto label153;

label151: //Ref: 003E1B  
003E39:00B4:         USER.GetDlgItem(pInt0, 2);
003E46:0021:         lNumber0 = LAST_RESULT;
003E4E:0022:         if (lNumber0 = 0) then
                         goto label152;
                     endif;
003E5C:0021:         pInt1 = 2;
003E66:0021:         pBool0 = 1;
003E70:002C:         goto label153;

label152: //Ref: 003E4E  
003E79:0021:         pInt1 = 2;
003E83:0021:         pBool0 = 1;

label153: //Ref: 003E30  003E70  
003E91:00B8:         return;
003E93:00B8:         return;
    end;

    // ------------- FUNCTION function38 --------------
    function function38(pString0, pString1, pString2, pBool0)
        number lNumber0;
        number lNumber1;
        number lNumber2;
        number lNumber3;
        number lNumber4;
        number lNumber5;
        number lNumber6;
        number lNumber7;
        string lString0;
        string lString1;
        string lString2;
        string lString3;
        string lString4;
        string lString5;
    begin
00397D:0013:         lString1 = "Disk Space";
00398F:0030:         StrSub(lString0, pString0, 0, 1);
0039A1:0021:         lNumber6 = 0;
0039AB:0125:         lString4 = pString0 ^ "temp.txt";
0039BE:00D9:         ParsePath(lString3, lString4, 1);
0039CB:0023:         StrCompare(lString3, pString0);
0039D3:0128:         lNumber7 = LAST_RESULT != 0;
0039E5:0022:         if (lNumber7 = 0) then
                         goto label135;
                     endif;
0039F3:0021:         lNumber6 = 1;

label135: //Ref: 0039E5  
003A01:0125:         lString4 = pString0 ^ "temp.txt";
003A14:00D9:         ParsePath(lString3, lString4, 2);
003A21:0022:         if (lNumber6 = 0) then
                         goto label136;
                     endif;
003A2F:0153:         StrRemoveLastSlash(lString3);

label136: //Ref: 003A21  
003A38:0113:         EzDefineDialog(lString1, "", "", 0x2ef7);
003A48:0021:         lNumber7 = LAST_RESULT;
003A50:0128:         lNumber7 = lNumber7 = -1;
003A62:0022:         if (lNumber7 = 0) then
                         goto label137;
                     endif;
003A70:012F:         return(-1);

label137: //Ref: 003A62  
003A7D:0021:         lNumber5 = 0;

label138: //Ref: 003D1C  
003A8D:0128:         lNumber7 = lNumber5 = 0;
003A9F:0022:         if (lNumber7 = 0) then
                         goto label146;
                     endif;
003AAD:008C:         WaitOnDialog(lString1);
003AB2:0021:         lNumber1 = LAST_RESULT;
003AC0:0128:         lNumber7 = lNumber1 = -100;
003AD2:0022:         if (lNumber7 = 0) then
                         goto label140;
                     endif;
003AE0:009A:         CmdGetHwndDlg(lString1);
003AE5:0021:         lNumber4 = LAST_RESULT;
003AED:009F:         ListCreate(0);
003AF4:0021:         lNumber3 = LAST_RESULT;
003AFC:00E1:         GetValidDrivesList(lNumber3, 7, 0);
003B0B:0099:         CtrlSetList(lString1, 0x259, lNumber3);
003B18:00A0:         ListDestroy(lNumber3);
003B1D:0095:         CtrlSetCurSel(lString1, 0x259, lString0);
003B2A:0091:         CtrlSetText(lString1, 0x2be, pString2);
003B37:0124:         lString2 = lString0 + ":\\";
003B44:0005:         GetDiskSpace(lString2);
003B49:0021:         lNumber7 = LAST_RESULT;
003B51:011C:         lNumber2 = lNumber7 / 0x400;
003B5E:006E:         NumToStr(pString1, lNumber2);
003B66:0124:         pString1 = pString1 + " K";
003B73:0091:         CtrlSetText(lString1, 0x2bd, pString1);
003B80:00B5:         function33(lString1, lNumber4, 0, string0);
003B96:002C:         goto label145;

label140: //Ref: 003AD2  
003B9F:0128:         lNumber7 = lNumber1 = 0x259;
003BB1:0022:         if (lNumber7 = 0) then
                         goto label141;
                     endif;
003BBF:0094:         CtrlGetCurSel(lString1, 0x259, lString0);
003BCC:0124:         lString2 = lString0 + ":\\";
003BD9:0005:         GetDiskSpace(lString2);
003BDE:0021:         lNumber7 = LAST_RESULT;
003BE6:011C:         lNumber2 = lNumber7 / 0x400;
003BF3:006E:         NumToStr(pString1, lNumber2);
003BFB:0124:         pString1 = pString1 + " K";
003C08:0091:         CtrlSetText(lString1, 0x2bd, pString1);
003C15:002C:         goto label145;

label141: //Ref: 003BB1  
003C1E:0128:         lNumber7 = lNumber1 = 1;
003C30:0022:         if (lNumber7 = 0) then
                         goto label143;
                     endif;
003C3E:0031:         StrFind(pString0, lString0);
003C46:0021:         lNumber7 = LAST_RESULT;
003C4E:0128:         lNumber7 = lNumber7 != 0;
003C60:0022:         if (lNumber7 = 0) then
                         goto label142;
                     endif;
003C6E:0125:         lString5 = ":\\" ^ lString3;
003C7B:0124:         pString0 = lString0 + lString5;

label142: //Ref: 003C60  
003C8A:0021:         lNumber5 = 1;
003C94:0021:         pBool0 = 1;
003C9E:002C:         goto label145;

label143: //Ref: 003C30  
003CA7:0128:         lNumber7 = lNumber1 = 2;
003CB9:0022:         if (lNumber7 = 0) then
                         goto label144;
                     endif;
003CC7:0021:         lNumber5 = 1;
003CD1:0021:         pBool0 = 0;
003CDB:002C:         goto label145;

label144: //Ref: 003CB9  
003CE4:0128:         lNumber7 = lNumber1 = -200;
003CF6:0022:         if (lNumber7 = 0) then
                         goto label145;
                     endif;
003D04:0021:         lNumber5 = 1;
003D0E:0021:         pBool0 = 0;

label145: //Ref: 003B96  003C15  003C9E  003CDB  003CF6  
003D1C:002C:         goto label138;

label146: //Ref: 003A9F  
003D25:008D:         EndDialog(lString1);
003D2A:008E:         ReleaseDialog(lString1);
003D2F:00B8:         return;
003D31:00B8:         return;
    end;

    // ------------- FUNCTION function39 --------------
    function function39(pString0, pInt0, pString1)
    begin
0037B0:0091:         CtrlSetText(pString0, pInt0, pString1);
0037BB:00B8:         return;
0037BD:00B8:         return;
    end;

    // ------------- FUNCTION function40 --------------
    function function40(pInt0, pString0, pInt1)
        number lNumber0;
        number lNumber1;
        string lString0;
        string lString1;
    begin
003EAB:00BB:         AddressStruct(lString1);
003EB0:0021:         lNumber1 = LAST_RESULT;
003EB8:00B4:         GDI.GetTextExtentPoint(pInt0, pString0, pInt1, lNumber1);
003EC9:00BD:         StructGetP(lNumber1, "_sdSIZE", "cx", lNumber0, lString0);
003EE3:012F:         return(lNumber0);
003EEA:00B8:         return;
    end;

    // ------------- FUNCTION function41 --------------
    function function41(pString0, pNumber0, pString1, pNumber1, pNumber2)
        number lNumber0;
        number lNumber1;
        number lNumber2;
        number lNumber3;
        number lNumber4;
        number lNumber5;
        number lNumber6;
        string lString0;
        string lString1;
        string lString2;
    begin
0037D9:0021:         lNumber1 = pNumber1;
0037E1:00B4:         USER.GetDlgItem(pNumber0, lNumber1);
0037EC:0021:         lNumber0 = LAST_RESULT;
0037F4:0021:         lNumber3 = 0;

label129: //Ref: 003950  
003802:0128:         lNumber6 = lNumber3 <= pNumber2;
003812:0022:         if (lNumber6 = 0) then
                         goto label133;
                     endif;
003820:0022:         if (lNumber0 = 0) then
                         goto label132;
                     endif;
00382E:0021:         lNumber5 = 0;
003838:0092:         CtrlGetText(pString0, lNumber1, lString0);
003843:0031:         StrFind(lString0, "%P");
00384D:0021:         lNumber4 = LAST_RESULT;
003855:002F:         StrLength(lString0);
00385A:0021:         lNumber2 = LAST_RESULT;

label130: //Ref: 0038FD  
003868:0128:         lNumber6 = lNumber4 >= 0;
00387A:0022:         if (lNumber6 = 0) then
                         goto label131;
                     endif;
003888:0021:         lNumber5 = 1;
003892:0030:         StrSub(lString1, lString0, 0, lNumber4);
0038A2:0124:         lString1 = lString1 + pString1;
0038AD:0119:         lNumber4 = lNumber4 + 2;
0038BA:011A:         lNumber2 = lNumber2 - lNumber4;
0038C5:0030:         StrSub(lString2, lString0, lNumber4, lNumber2);
0038D3:0124:         lString0 = lString1 + lString2;
0038DE:0031:         StrFind(lString0, "%P");
0038E8:0021:         lNumber4 = LAST_RESULT;
0038F0:002F:         StrLength(lString0);
0038F5:0021:         lNumber2 = LAST_RESULT;
0038FD:002C:         goto label130;

label131: //Ref: 00387A  
003906:0022:         if (lNumber5 = 0) then
                         goto label132;
                     endif;
003914:0091:         CtrlSetText(pString0, lNumber1, lString0);

label132: //Ref: 003820  003906  
003923:0119:         lNumber1 = lNumber1 + 1;
003930:00B4:         USER.GetDlgItem(pNumber0, lNumber1);
00393B:0021:         lNumber0 = LAST_RESULT;
003943:0119:         lNumber3 = lNumber3 + 1;
003950:002C:         goto label129;

label133: //Ref: 003812  
003959:00B8:         return;
    end;

    // ------------- FUNCTION function42 --------------
    function function42(pHwnd0)
        number lNumber0;
        number lNumber1;
        number lNumber2;
        number lNumber3;
        number lNumber4;
        number lNumber5;
        number lNumber6;
        number lNumber7;
        number lNumber8;
        number lNumber9;
        string lString0;
        string lString1;
    begin
003544:00B4:         USER.GetDlgItem(pHwnd0, 1);
003551:0021:         lNumber0 = LAST_RESULT;
003559:00B4:         USER.GetDlgItem(pHwnd0, 1);
003566:0021:         lNumber2 = LAST_RESULT;
00356E:00B4:         USER.GetDlgItem(pHwnd0, 12);
00357B:0021:         lNumber1 = LAST_RESULT;
003583:00B4:         USER.GetDlgItem(pHwnd0, 2);
003590:0021:         lNumber4 = LAST_RESULT;
003598:00B4:         USER.GetDlgItem(pHwnd0, 9);
0035A5:0021:         lNumber3 = LAST_RESULT;
0035AD:00B4:         USER.IsWindow(lNumber1);
0035B5:0021:         lNumber9 = LAST_RESULT;
0035BD:0128:         lNumber9 = lNumber9 = 0;
0035CF:0022:         if (lNumber9 = 0) then
                         goto label119;
                     endif;
0035DD:012F:         return(0);

label119: //Ref: 0035CF  
0035EA:00E2:         Is(51, lString0);
0035F4:0021:         lNumber5 = LAST_RESULT;
0035FC:00E2:         Is(50, lString0);
003606:0021:         lNumber6 = LAST_RESULT;
00360E:00E2:         Is(56, lString0);
003618:0021:         lNumber7 = LAST_RESULT;
003620:00E2:         Is(52, lString0);
00362A:0021:         lNumber8 = LAST_RESULT;
003632:0022:         if (lNumber8 = 0) then
                         goto label121;
                     endif;
003640:0112:         StrLoadString("", "SETUPSTR862", lString1);
003656:00B4:         USER.IsWindow(lNumber0);
00365E:0021:         lNumber9 = LAST_RESULT;
003666:0022:         if (lNumber9 = 0) then
                         goto label120;
                     endif;
003674:00B4:         USER.SetWindowText(lNumber0, lString1);

label120: //Ref: 003666  
003683:00B4:         USER.IsWindow(lNumber2);
00368B:0021:         lNumber9 = LAST_RESULT;
003693:0022:         if (lNumber9 = 0) then
                         goto label121;
                     endif;
0036A1:00B4:         USER.SetWindowText(lNumber2, lString1);

label121: //Ref: 003632  003693  
0036B0:00B4:         USER.IsWindow(lNumber0);
0036B8:0021:         lNumber9 = LAST_RESULT;
0036C0:0022:         if (lNumber9 = 0) then
                         goto label122;
                     endif;
0036CE:00B4:         USER.EnableWindow(lNumber0, lNumber5);

label122: //Ref: 0036C0  
0036DD:00B4:         USER.IsWindow(lNumber2);
0036E5:0021:         lNumber9 = LAST_RESULT;
0036ED:0022:         if (lNumber9 = 0) then
                         goto label123;
                     endif;
0036FB:00B4:         USER.EnableWindow(lNumber2, lNumber5);

label123: //Ref: 0036ED  
00370A:00B4:         USER.IsWindow(lNumber1);
003712:0021:         lNumber9 = LAST_RESULT;
00371A:0022:         if (lNumber9 = 0) then
                         goto label124;
                     endif;
003728:00B4:         USER.EnableWindow(lNumber1, lNumber6);

label124: //Ref: 00371A  
003737:00B4:         USER.IsWindow(lNumber4);
00373F:0021:         lNumber9 = LAST_RESULT;
003747:0022:         if (lNumber9 = 0) then
                         goto label125;
                     endif;
003755:00B4:         USER.EnableWindow(lNumber4, lNumber7);

label125: //Ref: 003747  
003764:00B4:         USER.IsWindow(lNumber3);
00376C:0021:         lNumber9 = LAST_RESULT;
003774:0022:         if (lNumber9 = 0) then
                         goto label126;
                     endif;
003782:00B4:         USER.EnableWindow(lNumber3, lNumber7);

label126: //Ref: 003774  
003791:012F:         return(1);
00379A:00B8:         return;
    end;

    // ------------- FUNCTION function43 --------------
    function function43(pString0, pString1, pString2, pNumber0)
    begin
003F02:0103:         Sprintf(pString0, "%s-%ld", pString1, pNumber0);
003F19:0119:         pNumber0 = pNumber0 + 1;
003F26:00B8:         return;
003F28:00B8:         return;
    end;

    // ------------- FUNCTION function46 --------------
    function function46(pString0, pString1, pList0)
        number lNumber0;
        number lNumber1;
        number lNumber2;
        string lString0;
    begin
00477B:009F:         ListCreate(0);
004782:0021:         lNumber0 = LAST_RESULT;
00478A:0156:         ComponentListItems(pString0, pString1, lNumber0);
004795:00A4:         ListGetFirstString(lNumber0, lString0);
00479D:0021:         lNumber1 = LAST_RESULT;

label190: //Ref: 0047F9  
0047AB:0128:         lNumber2 = lNumber1 = 0;
0047BD:0022:         if (lNumber2 = 0) then
                         goto label191;
                     endif;
0047CB:00A1:         ListAddString(pList0, lString0, 0);
0047D8:00B5:         function46(pString0, lString0, pList0);
0047E9:00A5:         ListGetNextString(lNumber0, lString0);
0047F1:0021:         lNumber1 = LAST_RESULT;
0047F9:002C:         goto label190;

label191: //Ref: 0047BD  
004802:00A0:         ListDestroy(lNumber0);
004807:00B8:         return;
004809:00B8:         return;
    end;

    // ------------- FUNCTION function47 --------------
    function function47(pInt0, pInt1, pString0, pString1)
        number lNumber0;
        number lNumber1;
        number lNumber2;
    begin
00565E:00B4:         USER.GetDlgItem(pInt0, pInt1);
005669:0021:         lNumber0 = LAST_RESULT;
005671:00B4:         USER.IsWindow(lNumber0);
005679:0021:         lNumber1 = LAST_RESULT;
005681:0128:         lNumber1 = lNumber1 = 0;
005693:0022:         if (lNumber1 = 0) then
                         goto label242;
                     endif;
0056A1:012F:         return(0);

label242: //Ref: 005693  
0056AE:00B5:         function61(pString1);
0056B9:00B5:         function61(pString0);
0056C4:0023:         StrCompare(pString0, "");
0056CC:0128:         lNumber1 = LAST_RESULT = 0;
0056DE:0023:         StrCompare(pString1, "");
0056E6:0128:         lNumber2 = LAST_RESULT = 0;
0056F8:0126:         lNumber1 = lNumber1 || lNumber2;
005703:0022:         if (lNumber1 = 0) then
                         goto label243;
                     endif;
005711:00B4:         USER.EnableWindow(lNumber0, 0);
00571E:002C:         goto label244;

label243: //Ref: 005703  
005727:00B4:         USER.EnableWindow(lNumber0, 1);

label244: //Ref: 00571E  
005738:00B8:         return;
00573A:00B8:         return;
    end;

    // ------------- FUNCTION function48 --------------
    function function48(pInt0, pInt1, pString0, pString1, pString2)
        number lNumber0;
        number lNumber1;
        number lNumber2;
    begin
004EFA:00B4:         USER.GetDlgItem(pInt0, pInt1);
004F05:0021:         lNumber0 = LAST_RESULT;
004F0D:00B4:         USER.IsWindow(lNumber0);
004F15:0021:         lNumber1 = LAST_RESULT;
004F1D:0128:         lNumber1 = lNumber1 = 0;
004F2F:0022:         if (lNumber1 = 0) then
                         goto label216;
                     endif;
004F3D:012F:         return(0);

label216: //Ref: 004F2F  
004F4A:00B5:         function61(pString1);
004F55:00B5:         function61(pString0);
004F60:00B5:         function61(pString2);
004F6B:0023:         StrCompare(pString0, "");
004F73:0128:         lNumber1 = LAST_RESULT = 0;
004F85:0023:         StrCompare(pString1, "");
004F8D:0128:         lNumber2 = LAST_RESULT = 0;
004F9F:0126:         lNumber1 = lNumber1 || lNumber2;
004FAA:0023:         StrCompare(pString2, "");
004FB2:0128:         lNumber2 = LAST_RESULT = 0;
004FC4:0126:         lNumber1 = lNumber1 || lNumber2;
004FCF:0022:         if (lNumber1 = 0) then
                         goto label217;
                     endif;
004FDD:00B4:         USER.EnableWindow(lNumber0, 0);
004FEA:002C:         goto label218;

label217: //Ref: 004FCF  
004FF3:00B4:         USER.EnableWindow(lNumber0, 1);

label218: //Ref: 004FEA  
005004:00B8:         return;
005006:00B8:         return;
    end;

    // ------------- FUNCTION function49 --------------
    function function49(pInt0, pInt1)
        number lNumber0;
        number lNumber1;
        number lNumber2;
    begin
00B348:0021:         lNumber0 = 0;
00B352:0119:         lNumber2 = pInt1 + lNumber0;
00B35D:00B4:         USER.GetDlgItem(pInt0, lNumber2);
00B368:0021:         lNumber1 = LAST_RESULT;

label585: //Ref: 00B416  
00B376:0128:         lNumber2 = lNumber1 > 0;
00B388:0022:         if (lNumber2 = 0) then
                         goto label588;
                     endif;
00B396:0128:         lNumber2 = number3 = 1;
00B3A8:0022:         if (lNumber2 = 0) then
                         goto label586;
                     endif;
00B3B6:0074:         SendMessage(lNumber1, 0x404, 9, 1);
00B3CA:002C:         goto label587;

label586: //Ref: 00B3A8  
00B3D3:0074:         SendMessage(lNumber1, 244, 9, 1);

label587: //Ref: 00B3CA  
00B3EB:0119:         lNumber0 = lNumber0 + 1;
00B3F8:0119:         lNumber2 = pInt1 + lNumber0;
00B403:00B4:         USER.GetDlgItem(pInt0, lNumber2);
00B40E:0021:         lNumber1 = LAST_RESULT;
00B416:002C:         goto label585;

label588: //Ref: 00B388  
00B41F:00B8:         return;
    end;

    // ------------- FUNCTION function50 --------------
    function function50(pString0, pInt0, pString1, pInt1, pInt2)
        number lNumber0;
        number lNumber1;
        number lNumber2;
        number lNumber3;
        number lNumber4;
        number lNumber5;
        string lString0;
    begin
00B437:0021:         lNumber4 = 0;
00B441:009F:         ListCreate(0);
00B448:0021:         lNumber3 = LAST_RESULT;
00B450:0156:         ComponentListItems(MEDIA, pString0, lNumber3);
00B45B:0155:         ListSetIndex(lNumber3, -401);
00B465:0021:         lNumber1 = LAST_RESULT;
00B46D:0021:         lNumber0 = 0;

label590: //Ref: 00B5DF  
00B47D:0128:         lNumber5 = lNumber1 != 1;
00B48F:0022:         if (lNumber5 = 0) then
                         goto label596;
                     endif;
00B49D:00F4:         ListCurrentString(lNumber3, lString0);
00B4A5:0119:         lNumber5 = pInt0 + lNumber0;
00B4B0:00B4:         USER.GetDlgItem(pInt2, lNumber5);
00B4BB:0021:         lNumber2 = LAST_RESULT;
00B4C3:0022:         if (lNumber2 = 0) then
                         goto label595;
                     endif;
00B4D1:0119:         lNumber5 = pInt0 + lNumber0;
00B4DC:0091:         CtrlSetText(pString1, lNumber5, lString0);
00B4E7:014B:         ComponentIsItemSelected(MEDIA, lString0);
00B4EF:0021:         lNumber5 = LAST_RESULT;
00B4F7:0022:         if (lNumber5 = 0) then
                         goto label595;
                     endif;
00B505:0128:         lNumber5 = pInt1 = 1;
00B517:0022:         if (lNumber5 = 0) then
                         goto label592;
                     endif;
00B525:0128:         lNumber5 = lNumber4 = 0;
00B537:0022:         if (lNumber5 = 0) then
                         goto label591;
                     endif;
00B545:0119:         lNumber5 = pInt0 + lNumber0;
00B550:0090:         CtrlSetState(pString1, lNumber5, -1001);

label591: //Ref: 00B537  
00B561:002C:         goto label593;

label592: //Ref: 00B517  
00B56A:0119:         lNumber5 = pInt0 + lNumber0;
00B575:0090:         CtrlSetState(pString1, lNumber5, -1001);

label593: //Ref: 00B561  
00B586:0128:         lNumber5 = lNumber4 = 0;
00B598:0022:         if (lNumber5 = 0) then
                         goto label594;
                     endif;
00B5A6:00B4:         USER.SetFocus(lNumber2);

label594: //Ref: 00B598  
00B5B2:0021:         lNumber4 = 1;

label595: //Ref: 00B4C3  00B4F7  
00B5C0:0155:         ListSetIndex(lNumber3, -101);
00B5CA:0021:         lNumber1 = LAST_RESULT;
00B5D2:0119:         lNumber0 = lNumber0 + 1;
00B5DF:002C:         goto label590;

label596: //Ref: 00B48F  
00B5E8:00A0:         ListDestroy(lNumber3);
00B5ED:0119:         lNumber5 = pInt0 + lNumber0;
00B5F8:00B4:         USER.GetDlgItem(pInt2, lNumber5);
00B603:0021:         lNumber2 = LAST_RESULT;

label597: //Ref: 00B657  
00B611:0022:         if (lNumber2 = 0) then
                         goto label598;
                     endif;
00B61F:00B4:         USER.ShowWindow(lNumber2, 0);
00B62C:0119:         lNumber0 = lNumber0 + 1;
00B639:0119:         lNumber5 = pInt0 + lNumber0;
00B644:00B4:         USER.GetDlgItem(pInt2, lNumber5);
00B64F:0021:         lNumber2 = LAST_RESULT;
00B657:002C:         goto label597;

label598: //Ref: 00B611  
00B660:00B8:         return;
    end;

    // ------------- FUNCTION function54 --------------
    function function54(pString0, pString1, pString2)
        number lNumber0;
        number lNumber1;
        number lNumber2;
    begin
0045B4:0162:         ComponentTotalSize(MEDIA, pString0, 1, 1);
0045C6:0021:         lNumber1 = LAST_RESULT;
0045CE:0005:         GetDiskSpace(pString2);
0045D3:0021:         lNumber0 = LAST_RESULT;
0045DB:0128:         lNumber2 = lNumber1 < lNumber0;
0045EB:0022:         if (lNumber2 = 0) then
                         goto label182;
                     endif;
0045F9:012F:         return(1);

label182: //Ref: 0045EB  
004606:012F:         return(0);
00460F:00B8:         return;
    end;

    // ------------- FUNCTION function56 --------------
    function function56(pString0, pNumber0, pNumber1, pString1, pString2)
        number lNumber0;
        number lNumber1;
        number lNumber2;
        number lNumber3;
        number lNumber4;
        number lNumber5;
        number lNumber6;
    begin
00D3FA:0013:         pString0 = "SdComponentDialogEx";
00D415:0113:         EzDefineDialog(pString0, "", "", 0x2efc);
00D425:0021:         lNumber5 = LAST_RESULT;
00D42D:0128:         lNumber5 = lNumber5 = -1;
00D43F:0022:         if (lNumber5 = 0) then
                         goto label708;
                     endif;
00D44D:012F:         return(-1);

label708: //Ref: 00D43F  
00D45A:0021:         lNumber4 = 0;

label709: //Ref: 00D6CD  
00D46A:0128:         lNumber5 = lNumber4 = 0;
00D47C:0022:         if (lNumber5 = 0) then
                         goto label717;
                     endif;
00D48A:008C:         WaitOnDialog(pString0);
00D48F:0021:         lNumber0 = LAST_RESULT;
00D49D:0128:         lNumber5 = lNumber0 = -100;
00D4AF:0022:         if (lNumber5 = 0) then
                         goto label712;
                     endif;
00D4BD:009A:         CmdGetHwndDlg(pString0);
00D4C2:0021:         lNumber2 = LAST_RESULT;
00D4CA:00B5:         function33(pString0, lNumber2, 8, string0);
00D4E0:00B5:         function63(lNumber2, 0x191, pString1, pString2);
00D4F6:0021:         lNumber1 = LAST_RESULT;
00D4FE:0128:         lNumber5 = lNumber1 = 0;
00D510:0022:         if (lNumber5 = 0) then
                         goto label711;
                     endif;
00D51E:00B5:         function36(-1, "SdComponentDialogEx");
00D541:0021:         lNumber0 = -1;
00D54B:0021:         lNumber4 = 1;

label711: //Ref: 00D510  
00D559:018C:         ComponentViewSetInfo(lNumber1, 20, pNumber1, "");
00D569:018C:         ComponentViewSetInfo(pNumber1, 21, lNumber1, "");
00D579:018E:         ComponentViewRefresh(pNumber1, 0);
00D583:00B4:         USER.GetDlgItem(lNumber2, 0x191);
00D590:0021:         lNumber3 = LAST_RESULT;
00D598:00B4:         USER.SetFocus(lNumber3);
00D5A0:002C:         goto label716;

label712: //Ref: 00D4AF  
00D5A9:0128:         lNumber5 = lNumber0 = 1;
00D5BB:0022:         if (lNumber5 = 0) then
                         goto label713;
                     endif;
00D5C9:0021:         lNumber0 = 1;
00D5D3:0021:         lNumber4 = 1;
00D5DD:002C:         goto label716;

label713: //Ref: 00D5BB  
00D5E6:0128:         lNumber5 = lNumber0 = -1;
00D5F8:0022:         if (lNumber5 = 0) then
                         goto label714;
                     endif;
00D606:00B5:         function36(-1, "SdComponentDialogEx");
00D629:0021:         lNumber0 = -1;
00D633:0021:         lNumber4 = 1;
00D63D:002C:         goto label716;

label714: //Ref: 00D5F8  
00D646:0128:         lNumber5 = lNumber0 = -200;
00D658:0022:         if (lNumber5 = 0) then
                         goto label715;
                     endif;
00D666:00B5:         function37(lNumber2, lNumber0, lNumber4);
00D677:002C:         goto label716;

label715: //Ref: 00D658  
00D680:00B5:         function31(lNumber0);
00D68B:0021:         lNumber5 = LAST_RESULT;
00D693:00B5:         function32(lNumber0);
00D69E:0021:         lNumber6 = LAST_RESULT;
00D6A6:0127:         lNumber5 = lNumber5 && lNumber6;
00D6B1:0022:         if (lNumber5 = 0) then
                         goto label716;
                     endif;
00D6BF:0021:         lNumber4 = 1;

label716: //Ref: 00D5A0  00D5DD  00D63D  00D677  00D6B1  
00D6CD:002C:         goto label709;

label717: //Ref: 00D47C  
00D6D6:008D:         EndDialog(pString0);
00D6DB:008E:         ReleaseDialog(pString0);
00D6E0:018F:         ComponentViewDestroy(lNumber1);
00D6E5:012F:         return(lNumber0);
00D6EC:00B8:         return;
    end;

    // ------------- FUNCTION function58 --------------
    function function58(pString0, pNumber0, pNumber1, pNumber2)
        number lNumber0;
        number lNumber1;
        number lNumber2;
        number lNumber3;
        number lNumber4;
        number lNumber5;
        string lString0;
        string lString1;
    begin
00C78E:00A4:         ListGetFirstString(pNumber1, lString0);
00C796:0021:         lNumber0 = LAST_RESULT;
00C79E:009F:         ListCreate(0);
00C7A5:0021:         lNumber2 = LAST_RESULT;

label659: //Ref: 00C83A  
00C7B3:0128:         lNumber5 = lNumber0 = 0;
00C7C5:0022:         if (lNumber5 = 0) then
                         goto label661;
                     endif;
00C7D3:0013:         lString1 = lString0;
00C7DB:007A:         GetByte(lNumber1, lString0, 0);
00C7E8:0128:         lNumber5 = lNumber1 != 64;
00C7FA:0022:         if (lNumber5 = 0) then
                         goto label660;
                     endif;
00C808:0103:         Sprintf(lString1, "@%s", lString0);

label660: //Ref: 00C7FA  
00C81D:00A1:         ListAddString(lNumber2, lString1, 0);
00C82A:00A5:         ListGetNextString(pNumber1, lString0);
00C832:0021:         lNumber0 = LAST_RESULT;
00C83A:002C:         goto label659;

label661: //Ref: 00C7C5  
00C843:00B5:         function59(pString0, pNumber0, 101, lNumber2);
00C859:00B5:         function59(pString0, pNumber0, 0x2bd, pNumber2);
00C86F:00A0:         ListDestroy(lNumber2);
00C874:00B4:         USER.GetDlgItem(pNumber0, 1);
00C881:0021:         lNumber4 = LAST_RESULT;
00C889:00B4:         USER.GetDlgItem(pNumber0, 101);
00C896:0021:         lNumber3 = LAST_RESULT;
00C89E:00B4:         USER.IsWindowEnabled(lNumber4);
00C8A6:0021:         lNumber5 = LAST_RESULT;
00C8AE:0128:         lNumber5 = lNumber5 = 0;
00C8C0:0022:         if (lNumber5 = 0) then
                         goto label662;
                     endif;
00C8CE:00B4:         USER.SetFocus(lNumber3);

label662: //Ref: 00C8C0  
00C8DA:00B8:         return;
00C8DC:00B8:         return;
    end;

    // ------------- FUNCTION function59 --------------
    function function59(pString0, pNumber0, pNumber1, pNumber2)
        number lNumber0;
        number lNumber1;
        number lNumber2;
        number lNumber3;
        number lNumber4;
        string lString0;
    begin
00C8F2:00A4:         ListGetFirstString(pNumber2, lString0);
00C8FA:0021:         lNumber1 = LAST_RESULT;
00C902:0021:         lNumber2 = pNumber1;
00C90A:0021:         lNumber3 = 0;

label664: //Ref: 00C9A4  
00C91A:0128:         lNumber4 = lNumber1 = 0;
00C92C:0022:         if (lNumber4 = 0) then
                         goto label667;
                     endif;
00C93A:00B4:         USER.GetDlgItem(pNumber0, lNumber2);
00C945:0021:         lNumber0 = LAST_RESULT;
00C94D:0022:         if (lNumber0 = 0) then
                         goto label665;
                     endif;
00C95B:0091:         CtrlSetText(pString0, lNumber2, lString0);
00C966:00A5:         ListGetNextString(pNumber2, lString0);
00C96E:0021:         lNumber1 = LAST_RESULT;
00C976:0119:         lNumber2 = lNumber2 + 1;
00C983:002C:         goto label666;

label665: //Ref: 00C94D  
00C98C:0021:         lNumber3 = 1;
00C996:0021:         lNumber1 = 1;

label666: //Ref: 00C983  
00C9A4:002C:         goto label664;

label667: //Ref: 00C92C  
00C9AD:0128:         lNumber4 = lNumber3 = 0;
00C9BF:0022:         if (lNumber4 = 0) then
                         goto label670;
                     endif;
00C9CD:0021:         lNumber0 = 1;

label668: //Ref: 00CA2A  
00C9DD:0022:         if (lNumber0 = 0) then
                         goto label670;
                     endif;
00C9EB:00B4:         USER.GetDlgItem(pNumber0, lNumber2);
00C9F6:0021:         lNumber0 = LAST_RESULT;
00C9FE:0022:         if (lNumber0 = 0) then
                         goto label669;
                     endif;
00CA0C:00B4:         USER.ShowWindow(lNumber0, 0);

label669: //Ref: 00C9FE  
00CA1D:0119:         lNumber2 = lNumber2 + 1;
00CA2A:002C:         goto label668;

label670: //Ref: 00C9BF  00C9DD  
00CA33:00B8:         return;
    end;

    // ------------- FUNCTION function60 --------------
    function function60(pString0, pNumber0, pNumber1)
        number lNumber0;
    begin
00EFD1:0022:         if (pNumber1 = 0) then
                         goto label811;
                     endif;
00EFDF:012F:         return(1);

label811: //Ref: 00EFD1  
00EFEC:00B4:         USER.GetDlgItem(pNumber0, 0x1f5);
00EFF9:0021:         lNumber0 = LAST_RESULT;
00F001:0022:         if (lNumber0 = 0) then
                         goto label812;
                     endif;
00F00F:00B4:         USER.ShowWindow(lNumber0, 0);

label812: //Ref: 00F001  
00F020:00B8:         return;
00F022:00B8:         return;
    end;

    // ------------- FUNCTION function61 --------------
    function function61(pString0)
        number lNumber0;
        number lNumber1;
        number lNumber2;
        number lNumber3;
        number lNumber4;
        number lNumber5;
        number lNumber6;
        number lNumber7;
        string lString0;
    begin
003F3E:002F:         StrLength(pString0);
003F43:0021:         lNumber0 = LAST_RESULT;
003F4B:0021:         lNumber3 = 0;
003F55:0021:         lNumber5 = 0;
003F5F:0021:         lNumber2 = 0;
003F69:0021:         lNumber4 = 0;
003F73:011A:         lNumber6 = lNumber0 - 1;

label157: //Ref: 00406B  
003F84:0128:         lNumber7 = lNumber4 <= lNumber6;
003F94:0022:         if (lNumber7 = 0) then
                         goto label162;
                     endif;
003FA2:007A:         GetByte(lNumber1, pString0, lNumber4);
003FAD:0128:         lNumber7 = lNumber1 = 32;
003FBF:0022:         if (lNumber7 = 0) then
                         goto label160;
                     endif;
003FCD:0128:         lNumber7 = lNumber2 = 0;
003FDF:0022:         if (lNumber7 = 0) then
                         goto label158;
                     endif;
003FED:0021:         lNumber2 = lNumber3;

label158: //Ref: 003FDF  
003FF9:0022:         if (lNumber5 = 0) then
                         goto label159;
                     endif;
004007:007B:         SetByte(lString0, lNumber3, 32);
004014:0119:         lNumber3 = lNumber3 + 1;

label159: //Ref: 003FF9  
004025:002C:         goto label161;

label160: //Ref: 003FBF  
00402E:0021:         lNumber5 = 1;
004038:0021:         lNumber2 = 0;
004042:007B:         SetByte(lString0, lNumber3, lNumber1);
00404D:0119:         lNumber3 = lNumber3 + 1;

label161: //Ref: 004025  
00405E:0119:         lNumber4 = lNumber4 + 1;
00406B:002C:         goto label157;

label162: //Ref: 003F94  
004074:0022:         if (lNumber2 = 0) then
                         goto label163;
                     endif;
004082:007B:         SetByte(lString0, lNumber2, 0);

label163: //Ref: 004074  
004093:0013:         pString0 = lString0;
00409B:00B8:         return;
00409D:00B8:         return;
    end;

    // ------------- FUNCTION function62 --------------
    function function62(pString0, pString1)
        number lNumber0;
        number lNumber1;
        number lNumber2;
        number lNumber3;
        number lNumber4;
        number lNumber5;
        string lString0;
        string lString1;
    begin
0040B7:0013:         pString0 = "";
0040BF:0013:         pString1 = "";
0040C7:0061:         GetSystemInfo(150, lNumber2, lString1);
0040D4:0128:         lNumber4 = lNumber2 = 6;
0040E6:0128:         lNumber5 = number3 = 0;
0040F8:0127:         lNumber4 = lNumber4 && lNumber5;
004103:0022:         if (lNumber4 = 0) then
                         goto label165;
                     endif;
004111:0110:         RegDBSetDefaultRoot(-2147483646);
004118:0013:         lString0 = "\\Software\\Microsoft\\Windows\\CurrentVersion";
00414A:002C:         goto label167;

label165: //Ref: 004103  
004153:0128:         lNumber4 = lNumber2 = 2;
004165:0128:         lNumber5 = number3 = 0;
004177:0127:         lNumber4 = lNumber4 && lNumber5;
004182:0022:         if (lNumber4 = 0) then
                         goto label166;
                     endif;
004190:0110:         RegDBSetDefaultRoot(-2147483646);
004197:0013:         lString0 = "\\Software\\Microsoft\\Windows NT\\CurrentVersion";
0041CC:002C:         goto label167;

label166: //Ref: 004182  
0041D5:00B4:         KERNEL.GetModuleHandle("USER");
0041E1:0021:         lNumber3 = LAST_RESULT;
0041E9:00B4:         USER.LoadString(lNumber3, 0x202, pString0, 255);
0041FE:00B4:         USER.LoadString(lNumber3, 0x203, pString1, 255);
004213:012F:         return(1);

label167: //Ref: 00414A  0041CC  
004220:0128:         lNumber4 = number3 = 0;
004232:0022:         if (lNumber4 = 0) then
                         goto label169;
                     endif;
004240:0088:         RegDBKeyExist(lString0);
004245:0021:         lNumber4 = LAST_RESULT;
00424D:0128:         lNumber4 = lNumber4 >= 0;
00425F:0022:         if (lNumber4 = 0) then
                         goto label169;
                     endif;
00426D:0152:         RegDBGetKeyValueEx(lString0, "RegisteredOwner", lNumber0, pString0, lNumber1);
00428D:0021:         lNumber4 = LAST_RESULT;
004295:0128:         lNumber4 = lNumber4 >= 0;
0042A7:0022:         if (lNumber4 = 0) then
                         goto label168;
                     endif;

label168: //Ref: 0042A7  
0042B9:0152:         RegDBGetKeyValueEx(lString0, "RegisteredOrganization", lNumber0, pString1, lNumber1);
0042E0:0021:         lNumber4 = LAST_RESULT;
0042E8:0128:         lNumber4 = lNumber4 >= 0;
0042FA:0022:         if (lNumber4 = 0) then
                         goto label169;
                     endif;

label169: //Ref: 004232  00425F  0042FA  
00430C:0110:         RegDBSetDefaultRoot(-2147483648);
004313:00B8:         return;
004315:00B8:         return;
    end;

    // ------------- FUNCTION function63 --------------
    function function63(pNumber0, pNumber1, pString0, pString1)
        number lNumber0;
        number lNumber1;
        number lNumber2;
    begin
00432B:018B:         ComponentViewCreate(pNumber0, pNumber1);
004333:0021:         lNumber1 = LAST_RESULT;
00433B:0128:         lNumber2 = lNumber1 = 0;
00434D:0022:         if (lNumber2 = 0) then
                         goto label171;
                     endif;
00435B:012F:         return(0);

label171: //Ref: 00434D  
004368:0190:         ComponentViewCreateWindow(lNumber1);
00436D:018C:         ComponentViewSetInfo(lNumber1, 27, 0, pString0);
00437F:018C:         ComponentViewSetInfo(lNumber1, 26, 0, MEDIA);
004391:00B4:         USER.GetDlgItem(pNumber0, 0x2cd);
00439E:0021:         lNumber0 = LAST_RESULT;
0043A6:0022:         if (lNumber0 = 0) then
                         goto label172;
                     endif;
0043B4:018C:         ComponentViewSetInfo(lNumber1, 24, 0x2cd, "");

label172: //Ref: 0043A6  
0043CA:00B4:         USER.GetDlgItem(pNumber0, 0x2cc);
0043D7:0021:         lNumber0 = LAST_RESULT;
0043DF:0022:         if (lNumber0 = 0) then
                         goto label173;
                     endif;
0043ED:018C:         ComponentViewSetInfo(lNumber1, 23, 0x2cc, "");

label173: //Ref: 0043DF  
004403:00B4:         USER.GetDlgItem(pNumber0, 0x2c8);
004410:0021:         lNumber0 = LAST_RESULT;
004418:0022:         if (lNumber0 = 0) then
                         goto label174;
                     endif;
004426:018C:         ComponentViewSetInfo(lNumber1, 22, 0x2c8, "");

label174: //Ref: 004418  
00443C:00B4:         USER.GetDlgItem(pNumber0, 197);
004449:0021:         lNumber0 = LAST_RESULT;
004451:0022:         if (lNumber0 = 0) then
                         goto label175;
                     endif;
00445F:018C:         ComponentViewSetInfo(lNumber1, 28, 197, "");

label175: //Ref: 004451  
004475:0023:         StrCompare(pString1, "");
00447D:0128:         lNumber2 = LAST_RESULT != 0;
00448F:0022:         if (lNumber2 = 0) then
                         goto label176;
                     endif;
00449D:018C:         ComponentViewSetInfo(lNumber1, 25, 0, pString1);

label176: //Ref: 00448F  
0044B3:012F:         return(lNumber1);
0044BA:00B8:         return;
    end;

    // ------------- FUNCTION function64 --------------
    function function64(pString0, pString1, pList0, pList1)
        number lNumber0;
        number lNumber1;
        number lNumber2;
        string lString0;
    begin
008153:0021:         lNumber0 = 0;
00815D:0013:         pString0 = "";
008165:00A4:         ListGetFirstString(pList1, lString0);
00816D:0021:         lNumber1 = LAST_RESULT;

label396: //Ref: 0081F6  
00817B:0128:         lNumber2 = lNumber1 = 0;
00818D:0022:         if (lNumber2 = 0) then
                         goto label398;
                     endif;
00819B:0023:         StrCompare(pString1, lString0);
0081A3:0128:         lNumber2 = LAST_RESULT = 0;
0081B5:0022:         if (lNumber2 = 0) then
                         goto label397;
                     endif;
0081C3:0155:         ListSetIndex(pList0, lNumber0);
0081CB:00F4:         ListCurrentString(pList0, pString0);
0081D3:00B8:         return;

label397: //Ref: 0081B5  
0081D9:0119:         lNumber0 = lNumber0 + 1;
0081E6:00A5:         ListGetNextString(pList1, lString0);
0081EE:0021:         lNumber1 = LAST_RESULT;
0081F6:002C:         goto label396;

label398: //Ref: 00818D  
0081FF:00B8:         return;
    end;

    // ------------- FUNCTION function65 --------------
    function function65(pString0, pString1)
        number lNumber0;
        number lNumber1;
    begin
008215:0194:         ComponentSetupTypeGetData(MEDIA, pString1, 2, lNumber0, pString0);
008228:0023:         StrCompare(pString0, "");
008230:0128:         lNumber1 = LAST_RESULT = 0;
008242:0022:         if (lNumber1 = 0) then
                         goto label400;
                     endif;
008250:0013:         pString0 = pString1;

label400: //Ref: 008242  
00825C:00B8:         return;
00825E:00B8:         return;
    end;

    // ------------- FUNCTION function66 --------------
    function function66()
        number lNumber0;
        number lNumber1;
        string lString0;
    begin
0044CE:0061:         GetSystemInfo(150, lNumber0, lString0);
0044DB:0128:         lNumber1 = lNumber0 = 2;
0044ED:0022:         if (lNumber1 = 0) then
                         goto label179;
                     endif;
0044FB:0061:         GetSystemInfo(80, lNumber0, lString0);
004508:0021:         lNumber1 = LAST_RESULT;
004510:0128:         lNumber1 = lNumber1 = 0;
004522:0022:         if (lNumber1 = 0) then
                         goto label178;
                     endif;
004530:0128:         lNumber1 = lNumber0 >= 4;
004542:0022:         if (lNumber1 = 0) then
                         goto label178;
                     endif;
004550:012F:         return(1);

label178: //Ref: 004522  004542  
00455D:002C:         goto label180;

label179: //Ref: 0044ED  
004566:0128:         lNumber1 = lNumber0 = 6;
004578:0022:         if (lNumber1 = 0) then
                         goto label180;
                     endif;
004586:012F:         return(1);

label180: //Ref: 00455D  004578  
004593:012F:         return(0);
00459C:00B8:         return;
    end;

    // ------------- FUNCTION function92 --------------
    function function92()
        number lNumber0;
        number lNumber1;
        number lNumber2;
        number lNumber3;
        string lString0;
    begin
00129C:00B5:         function122();
0012A4:0023:         StrCompare(string10, "");
0012AC:0128:         lNumber2 = LAST_RESULT != 0;
0012BE:0023:         StrCompare(string11, "");
0012C6:0128:         lNumber3 = LAST_RESULT != 0;
0012D8:0127:         lNumber2 = lNumber2 && lNumber3;
0012E3:0022:         if (lNumber2 = 0) then
                         goto label20;
                     endif;
0012F1:0013:         string17 = string11;
0012F9:00B5:         function104();
001301:0021:         lNumber0 = LAST_RESULT;
001309:0128:         lNumber2 = lNumber0 = 2;
00131B:0022:         if (lNumber2 = 0) then
                         goto label12;
                     endif;
001329:0159:         abort;

label12: //Ref: 00131B  
00132F:0128:         lNumber2 = lNumber0 = 12;
001341:0022:         if (lNumber2 = 0) then
                         goto label13;
                     endif;
00134F:002C:         goto label21;

label13: //Ref: 001341  
001358:00B5:         function108(string17);
001363:0021:         lNumber0 = LAST_RESULT;
00136B:000C:         ExistsDir(string10);
001370:0021:         lNumber2 = LAST_RESULT;
001378:0128:         lNumber2 = lNumber2 != 0;
00138A:0022:         if (lNumber2 = 0) then
                         goto label14;
                     endif;
001398:002C:         goto label27;
00139D:002C:         goto label15;

label14: //Ref: 00138A  
0013A6:0013:         TARGETDIR = string10;

label15: //Ref: 00139D  
0013B2:0023:         StrCompare(string8, "n");
0013BB:0128:         lNumber2 = LAST_RESULT = 0;
0013CD:0022:         if (lNumber2 = 0) then
                         goto label19;
                     endif;
0013DB:00B5:         function114();
0013E3:0021:         lNumber0 = LAST_RESULT;
0013EB:0128:         lNumber2 = lNumber0 = 12;
0013FD:0022:         if (lNumber2 = 0) then
                         goto label16;
                     endif;
00140B:002C:         goto label22;

label16: //Ref: 0013FD  
001414:0124:         lString0 = "\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff(\xff\xff\xff\xff\xff\xff\xff\xff3.1)(\xff\xff\xff\xff\xff\xff)\xff\xff\r\n" + "\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xffIIS\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\r\n";
001499:0124:         lString0 = lString0 + "\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xffIIS\xff\xff\xff\xff";
0014C3:0028:         AskYesNo(lString0, 1);
0014CD:0021:         lNumber2 = LAST_RESULT;
0014D5:0128:         lNumber2 = lNumber2 = 1;
0014E7:0022:         if (lNumber2 = 0) then
                         goto label18;
                     endif;
0014F5:00E3:         LaunchAppAndWait("net stop w3svc", "", -1);
001510:0021:         lNumber2 = LAST_RESULT;
001518:0128:         lNumber2 = lNumber2 < 0;
00152A:0022:         if (lNumber2 = 0) then
                         goto label17;
                     endif;
001538:002A:         MessageBox("\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xffIIS\xff\xff\xff\xff\xff\xff\xff\xff!\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff.\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff.", -65533);

label17: //Ref: 00152A  
00158A:0021:         number41 = 1;
001594:002C:         goto label19;

label18: //Ref: 0014E7  
00159D:002A:         MessageBox("\xff\xff\xff\xff\xff\xff\xff\xff\xff\xffIIS\xff\xff\xff\xff\xff\xff\xff\xff!\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff.\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff.", -65533);

label19: //Ref: 0013CD  001594  
0015E9:012F:         return(0);

label20: //Ref: 0012E3  
0015F6:0021:         lNumber1 = 0;

label21: //Ref: 00134F  001634  001693  
001604:00B5:         function103();
00160C:0021:         lNumber0 = LAST_RESULT;
001614:0128:         lNumber2 = lNumber0 = 12;
001626:0022:         if (lNumber2 = 0) then
                         goto label22;
                     endif;
001634:002C:         goto label21;

label22: //Ref: 00140B  001626  001730  00179A  0017D3  
00163D:00B5:         function104();
001645:0021:         lNumber0 = LAST_RESULT;
00164D:0128:         lNumber2 = lNumber0 = 2;
00165F:0022:         if (lNumber2 = 0) then
                         goto label23;
                     endif;
00166D:0159:         abort;

label23: //Ref: 00165F  
001673:0128:         lNumber2 = lNumber0 = 12;
001685:0022:         if (lNumber2 = 0) then
                         goto label24;
                     endif;
001693:002C:         goto label21;

label24: //Ref: 001685  
00169C:00B5:         function108(string17);
0016A7:0021:         lNumber0 = LAST_RESULT;
0016AF:0128:         lNumber2 = lNumber1 > 3;
0016C1:0022:         if (lNumber2 = 0) then
                         goto label25;
                     endif;
0016CF:002A:         MessageBox("\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff,\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff!", -65535);
0016FD:0159:         abort;

label25: //Ref: 0016C1  
001703:0119:         lNumber1 = lNumber1 + 1;
001710:0128:         lNumber2 = lNumber0 = 12;
001722:0022:         if (lNumber2 = 0) then
                         goto label26;
                     endif;
001730:002C:         goto label22;

label26: //Ref: 001722  
001739:0013:         string11 = string17;
001741:0023:         StrCompare(string8, "n");
00174A:0128:         lNumber2 = LAST_RESULT = 0;
00175C:0022:         if (lNumber2 = 0) then
                         goto label27;
                     endif;
00176A:00B5:         function114();
001772:0021:         lNumber0 = LAST_RESULT;
00177A:0128:         lNumber2 = lNumber0 = 12;
00178C:0022:         if (lNumber2 = 0) then
                         goto label27;
                     endif;
00179A:002C:         goto label22;

label27: //Ref: 001398  00175C  00178C  
0017A3:00B5:         function106();
0017AB:0021:         lNumber0 = LAST_RESULT;
0017B3:0128:         lNumber2 = lNumber0 = 12;
0017C5:0022:         if (lNumber2 = 0) then
                         goto label28;
                     endif;
0017D3:002C:         goto label22;

label28: //Ref: 0017C5  
0017DC:0013:         string10 = TARGETDIR;
0017E4:012F:         return(0);
0017ED:00B8:         return;
    end;

    // ------------- FUNCTION function93 --------------
    function function93()
        number lNumber0;
        number lNumber1;
        number lNumber2;
        string lString0;
    begin
00199D:0125:         lString0 = SRCDIR ^ "t40papi.dll";
0019B3:00B3:         UnUseDLL(lString0);
0019B8:0021:         lNumber2 = LAST_RESULT;
0019C0:0128:         lNumber2 = lNumber2 < 0;
0019D2:0022:         if (lNumber2 = 0) then
                         goto label33;
                     endif;
0019E0:002A:         MessageBox("\xff\xff\xff\xffTRS\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff!", -65533);

label33: //Ref: 0019D2  
001A00:0125:         lString0 = SRCDIR ^ "FullSearch.dll";
001A19:00B3:         UnUseDLL(lString0);
001A1E:0021:         lNumber2 = LAST_RESULT;
001A26:0128:         lNumber2 = lNumber2 < 0;
001A38:0022:         if (lNumber2 = 0) then
                         goto label34;
                     endif;
001A46:002A:         MessageBox("\xff\xff\xff\xffFULLTEXT\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff!", -65533);

label34: //Ref: 001A38  
001A6B:0021:         lNumber1 = 1;
001A75:0008:         SetStatusWindow(0, "");
001A7F:0002:         Disable(54);
001A86:0001:         Enable(4);
001A8D:0064:         StatusUpdate(1, 100);
001A99:0179:         ComponentMoveData(MEDIA, lNumber1, 0);
001AA6:0021:         lNumber0 = LAST_RESULT;
001AAE:00B5:         function94(lNumber0);
001AB9:0002:         Disable(4);
001AC0:012F:         return(lNumber0);
001AC7:00B8:         return;
    end;

    // ------------- FUNCTION function94 --------------
    function function94(pNumber0)
        number lNumber0;
        string lString0;
        string lString1;
        string lString2;
        string lString3;
        string lString4;
        string lString5;
    begin
001AE5:0013:         lString1 = "";
001AED:0013:         lString2 = "";
001AF5:0013:         lString3 = "";
001B03:0128:         lNumber0 = pNumber0 = 0;
001B15:0022:         if (lNumber0 = 0) then
                         goto label37;
                     endif;
001B23:012F:         return(0);
001B2C:002C:         goto label38;

label37: //Ref: 001B15  
001B35:0173:         ComponentError(MEDIA, lString1, lString2, lString3, pNumber0);
001B46:0112:         StrLoadString("", "ERROR_MOVEDATA", lString4);
001B5F:0124:         lString4 = lString4 + "\n\n";
001B6C:0112:         StrLoadString("", "ERROR_COMPONENT", lString5);
001B86:0124:         lString4 = lString4 + lString5;
001B91:0124:         lString4 = lString4 + " ";
001B9D:0124:         lString4 = lString4 + lString1;
001BA8:0124:         lString4 = lString4 + "\n";
001BB4:0112:         StrLoadString("", "ERROR_FILEGROUP", lString5);
001BCE:0124:         lString4 = lString4 + lString5;
001BD9:0124:         lString4 = lString4 + " ";
001BE5:0124:         lString4 = lString4 + lString2;
001BF0:0124:         lString4 = lString4 + "\n";
001BFC:0112:         StrLoadString("", "ERROR_FILE", lString5);
001C11:0124:         lString4 = lString4 + lString5;
001C1C:0124:         lString4 = lString4 + " ";
001C28:0124:         lString0 = lString4 + lString3;
001C33:0112:         StrLoadString("", "TITLE_CAPTIONBAR", lString4);
001C4E:0104:         SprintfBox(-65533, lString4, lString0, pNumber0);
001C61:0021:         number39 = 1;
001C6B:012F:         return(pNumber0);

label38: //Ref: 001B2C  
001C76:00B8:         return;
    end;

    // ------------- FUNCTION function95 --------------
    function function95()
        number lNumber0;
        number lNumber1;
        string lString0;
        string lString1;
        string lString2;
        string lString3;
        string lString4;
    begin
001809:0112:         StrLoadString("", "COMPANY_NAME", lString1);
001820:0112:         StrLoadString("", "PRODUCT_NAME", lString2);
001837:0112:         StrLoadString("", "PRODUCT_VERSION", lString3);
001851:0112:         StrLoadString("", "PRODUCT_KEY", lString4);
001867:0146:         InstallationInfo(lString1, lString2, lString3, lString4);
001875:0013:         lString0 = "Uninst.isu";
001887:0112:         StrLoadString("", "UNINST_KEY", lString1);
00189C:0145:         DeinstallStart(string4, lString0, lString1, 0);
0018AC:0021:         lNumber0 = LAST_RESULT;
0018B4:0128:         lNumber1 = lNumber0 < 0;
0018C6:0022:         if (lNumber1 = 0) then
                         goto label30;
                     endif;
0018D4:0112:         StrLoadString("", "ERROR_UNINSTSETUP", lString1);
0018F0:002A:         MessageBox(lString1, -65534);

label30: //Ref: 0018C6  
0018FE:0013:         string6 = TARGETDIR;
001906:0127:         lNumber1 = number40 && number38;
001911:0022:         if (lNumber1 = 0) then
                         goto label31;
                     endif;
00191F:0147:         RegDBSetItem(1, string6);
001929:0112:         StrLoadString("", "PRODUCT_KEY", lString1);
00193F:0125:         lString1 = string6 ^ lString1;
00194A:0147:         RegDBSetItem(2, lString1);
001954:0112:         StrLoadString("", "UNINST_DISPLAY_NAME", lString1);
001972:0147:         RegDBSetItem(3, lString1);

label31: //Ref: 001911  
001980:012F:         return(0);
001989:00B8:         return;
    end;

    // ------------- FUNCTION function96 --------------
    function function96()
        string lString0;
        string lString1;
        string lString2;
    begin
001C8E:0112:         StrLoadString("", "PRODUCT_KEY", lString2);
001CA4:0125:         lString0 = string4 ^ lString2;
001CAF:0195:         DeinstallSetReference(lString0);
001CB4:012F:         return(0);
001CBD:00B8:         return;
    end;

    // ------------- FUNCTION function97 --------------
    function function97()
        number lNumber0;
    begin
001CCF:019A:         CreateRegistrySet("");
001CD4:0021:         lNumber0 = LAST_RESULT;
001CDC:012F:         return(lNumber0);
001CE3:00B8:         return;
    end;

    // ------------- FUNCTION function98 --------------
    function function98()
        number lNumber0;
    begin
001CF5:0199:         CreateShellObjects("");
001CFA:0021:         lNumber0 = LAST_RESULT;
001D02:012F:         return(lNumber0);
001D09:00B8:         return;
    end;

    // ------------- FUNCTION function99 --------------
    function function99()
    begin
001D1B:0022:         if (number39 = 0) then
                         goto label43;
                     endif;
001D29:012F:         return(0);

label43: //Ref: 001D1B  
001D36:00B5:         function107();
001D3E:0022:         if (BATCH_INSTALL = 0) then
                         goto label44;
                     endif;
001D4C:014F:         CommitSharedFiles(0);

label44: //Ref: 001D3E  
001D57:012F:         return(0);
001D60:00B8:         return;
    end;

    // ------------- FUNCTION function100 --------------
    function function100()
        string lString0;
    begin
001D74:0001:         Enable(66);
001D7B:0021:         number39 = 0;
001D85:0022:         if (number40 = 0) then
                         goto label46;
                     endif;
001D93:0112:         StrLoadString("", "COMPANY_NAME", lString0);
001DAA:0125:         lString0 = "c:\\" ^ lString0;
001DB8:0125:         string4 = lString0 ^ "znlaw";
001DC8:002C:         goto label47;

label46: //Ref: 001D85  
001DD1:0112:         StrLoadString("", "COMPANY_NAME", lString0);
001DE8:0125:         lString0 = "c:\\" ^ lString0;
001DF6:0125:         string4 = lString0 ^ "znlaw";

label47: //Ref: 001DC8  
001E0A:0013:         TARGETDIR = string4;
001E12:0112:         StrLoadString("", "PRODUCT_NAME", lString0);
001E29:00B5:         function26(lString0);
001E34:0001:         Enable(54);
001E3B:012F:         return(0);
001E44:00B8:         return;
    end;

    // ------------- FUNCTION function101 --------------
    function function101()
        string lString0;
    begin
001E58:0001:         Enable(29);
001E5F:0001:         Enable(16);
001E66:0112:         StrLoadString("", "TITLE_MAIN", lString0);
001E7B:0004:         SetTitle(lString0, 24, 0xffffff);
001E8A:0112:         StrLoadString("", "TITLE_CAPTIONBAR", lString0);
001EA5:0004:         SetTitle(lString0, 0, -16776960);
001EB4:0001:         Enable(12);
001EBB:000A:         Delay(1);
001EC2:00B8:         return;
001EC4:00B8:         return;
    end;

    // ------------- FUNCTION function102 --------------
    function function102()
        number lNumber0;
        number lNumber1;
        number lNumber2;
        number lNumber3;
        string lString0;
        string lString1;
    begin
001EDA:0021:         number38 = 0;
001EE4:0021:         number34 = 0;
001EEE:0021:         number35 = 0;
001EF8:0021:         number37 = 0;
001F02:0021:         number36 = 0;
001F0C:0035:         GetExtents(lNumber0, lNumber1);
001F14:0128:         lNumber3 = lNumber1 < 0x1e0;
001F26:0022:         if (lNumber3 = 0) then
                         goto label50;
                     endif;
001F34:0112:         StrLoadString("", "ERROR_VGARESOLUTION", lString1);
001F52:002A:         MessageBox(lString1, -65534);
001F5C:0159:         abort;

label50: //Ref: 001F26  
001F62:0021:         number40 = 1;
001F6C:0061:         GetSystemInfo(211, lNumber2, lString0);
001F79:0128:         lNumber3 = lNumber2 = 16;
001F8B:0022:         if (lNumber3 = 0) then
                         goto label51;
                     endif;
001F99:0021:         number40 = 0;
001FA3:012F:         return(0);

label51: //Ref: 001F8B  
001FB0:0061:         GetSystemInfo(150, lNumber2, lString0);
001FBD:0128:         lNumber3 = lNumber2 = 2;
001FCF:0022:         if (lNumber3 = 0) then
                         goto label54;
                     endif;
001FDD:0061:         GetSystemInfo(85, lNumber2, lString0);
001FEA:0021:         lNumber3 = LAST_RESULT;
001FF2:0128:         lNumber3 = lNumber3 = 0;
002004:0022:         if (lNumber3 = 0) then
                         goto label53;
                     endif;
002012:0128:         lNumber3 = lNumber2 >= 4;
002024:0022:         if (lNumber3 = 0) then
                         goto label52;
                     endif;
002032:0021:         number38 = 1;
00203C:0021:         number34 = 1;
002046:002C:         goto label53;

label52: //Ref: 002024  
00204F:0021:         number35 = 1;

label53: //Ref: 002004  002046  
00205D:002C:         goto label56;

label54: //Ref: 001FCF  
002066:0128:         lNumber3 = lNumber2 = 6;
002078:0022:         if (lNumber3 = 0) then
                         goto label56;
                     endif;
002086:0021:         number38 = 1;
002090:0061:         GetSystemInfo(95, lNumber2, lString0);
00209D:0128:         lNumber3 = lNumber2 < 10;
0020AF:0022:         if (lNumber3 = 0) then
                         goto label55;
                     endif;
0020BD:0021:         number37 = 1;
0020C7:002C:         goto label56;

label55: //Ref: 0020AF  
0020D0:0021:         number36 = 1;

label56: //Ref: 00205D  002078  0020C7  
0020DE:00B8:         return;
0020E0:00B8:         return;
    end;

    // ------------- FUNCTION function103 --------------
    function function103()
        number lNumber0;
        string lString0;
        string lString1;
        string lString2;
        string lString3;
    begin
0020FA:0125:         lString3 = SUPPORTDIR ^ "license.txt";
002110:0013:         lString0 = "";
002118:0013:         lString1 = "";
002120:0013:         lString2 = "";
002128:00B5:         function27(lString0, lString1, lString2, lString3);
00213C:0021:         lNumber0 = LAST_RESULT;
002144:012F:         return(lNumber0);
00214B:00B8:         return;
    end;

    // ------------- FUNCTION function104 --------------
    function function104()
        number lNumber0;
        number lNumber1;
        string lString0;
        string lString1;
    begin
0021BD:0013:         string15 = "";
0021C5:0013:         string16 = "";
0021CD:0124:         string18 = "\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff" + "\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff(\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff:010-82667742,82667743\xff\xff\xff\xff\xff\xff130\xff\xff138\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff)";
00226A:0013:         lString0 = "\xff\xff\xff\xff\xff\xff\xff\xff";
00227A:0013:         string23 = SRCDIR;
002282:0013:         string26 = "52";
00228C:00B2:         UseDLL(string21);
002291:00B4:         MFCDLL.DrawMFCDialog(0, string15, string16, string17, string18, lString0, string23, string24, string25, string26);
0022B6:0021:         number42 = LAST_RESULT;
0022BE:0128:         lNumber1 = number42 = 0;
0022D0:0022:         if (lNumber1 = 0) then
                         goto label60;
                     endif;
0022DE:002A:         MessageBox("Exception occurred in UserDlg DLL. ERROR!", -65533);
002311:0159:         abort;

label60: //Ref: 0022D0  
00231D:0128:         lNumber1 = number42 = 1;
00232F:0022:         if (lNumber1 = 0) then
                         goto label62;
                     endif;
00233D:0021:         lNumber0 = 1;
002347:002C:         goto label64;

label62: //Ref: 00232F  
002350:0128:         lNumber1 = number42 = 2;
002362:0022:         if (lNumber1 = 0) then
                         goto label63;
                     endif;
002370:0021:         lNumber0 = 2;
00237A:002C:         goto label64;

label63: //Ref: 002362  
002383:0128:         lNumber1 = number42 = 4;
002395:0022:         if (lNumber1 = 0) then
                         goto label64;
                     endif;
0023A3:0021:         lNumber0 = 12;

label64: //Ref: 002347  00237A  002395  
0023B1:00B3:         UnUseDLL(string21);
0023B6:012F:         return(lNumber0);
0023BD:00B8:         return;
    end;

    // ------------- FUNCTION function106 --------------
    function function106()
        number lNumber0;
        string lString0;
        string lString1;
    begin
0023D3:0013:         lString0 = "";
0023DB:0013:         lString1 = "";
0023E3:00B5:         function5(lString0, lString1, string4, 0);
0023F9:0021:         lNumber0 = LAST_RESULT;
002401:0013:         TARGETDIR = string4;
002409:012F:         return(lNumber0);
002410:00B8:         return;
    end;

    // ------------- FUNCTION function107 --------------
    function function107()
        number lNumber0;
        number lNumber1;
        number lNumber2;
        number lNumber3;
        number lNumber4;
        string lString0;
        string lString1;
        string lString2;
        string lString3;
        string lString4;
    begin
00242C:0128:         lNumber4 = BATCH_INSTALL = 0;
00243E:0022:         if (lNumber4 = 0) then
                         goto label67;
                     endif;
00244C:0021:         lNumber2 = 0;
002456:0021:         lNumber3 = 0;
002460:0013:         lString1 = "";
002468:0013:         lString2 = "";
002470:0013:         lString3 = "";
002478:0013:         lString4 = "";
002480:00B5:         function30(lString0, lString1, lString2, lString3, lString4, lNumber2, lNumber3);
00249D:0021:         lNumber0 = LAST_RESULT;
0024A5:012F:         return(0);

label67: //Ref: 00243E  
0024B2:0021:         lNumber1 = 3;
0024BC:0013:         lString0 = "";
0024C4:0013:         lString1 = "";
0024CC:0013:         lString2 = "";
0024D4:00B5:         function29(lString0, lString1, lNumber1, lString2, 0);
0024ED:0021:         lNumber0 = LAST_RESULT;
0024F5:012F:         return(lNumber0);
0024FC:00B8:         return;
    end;

    // ------------- FUNCTION function108 --------------
    function function108(pString0)
        number lNumber0;
        number lNumber1;
        number lNumber2;
        number lNumber3;
        number lNumber4;
        number lNumber5;
        number lNumber6;
        number lNumber7;
        number lNumber8;
        string lString0;
        string lString1;
    begin
002514:00BA:         AddressString(pString0);
002519:0021:         lNumber1 = LAST_RESULT;
002521:0125:         lString1 = SRCDIR ^ "chinalaw.ini";
002538:00BA:         AddressString(lString1);
00253D:0021:         lNumber2 = LAST_RESULT;
002545:0021:         lNumber4 = 1;

label69: //Ref: 00258C  
002553:0128:         lNumber7 = lNumber4 <= 10;
002565:0022:         if (lNumber7 = 0) then
                         goto label70;
                     endif;
002573:0124:         lString0 = lString0 + " ";
00257F:0119:         lNumber4 = lNumber4 + 1;
00258C:002C:         goto label69;

label70: //Ref: 002565  
002595:00BA:         AddressString(lString0);
00259A:0021:         lNumber3 = LAST_RESULT;
0025A2:00B4:         FullSearch.FullSearch_CheckSn(lNumber1, lNumber2, lNumber3);
0025B0:0124:         lString0 = "#" + lString0;
0025BC:00DA:         StrToLower(lString0, lString0);
0025C4:0021:         lNumber0 = LAST_RESULT;
0025CC:0128:         lNumber7 = lNumber0 < 0;
0025DE:0022:         if (lNumber7 = 0) then
                         goto label71;
                     endif;
0025EC:002A:         MessageBox("Sn to Lower failed.", -65533);

label71: //Ref: 0025DE  
00260D:0031:         StrFind(lString0, "e#");
002617:0021:         lNumber5 = LAST_RESULT;
00261F:0128:         lNumber7 = lNumber5 >= 0;
002631:0022:         if (lNumber7 = 0) then
                         goto label72;
                     endif;
00263F:002A:         MessageBox("\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff!\n  \xff\xff\xff\xff\xff\xff\xff\xff\xff\xff", -65535);
002667:0021:         lNumber0 = 12;
002671:002C:         goto label76;

label72: //Ref: 002631  
00267A:00B5:         function112();
002682:0031:         StrFind(lString0, "s#");
00268C:0021:         lNumber5 = LAST_RESULT;
002694:0128:         lNumber7 = lNumber5 >= 0;
0026A6:0128:         lNumber8 = lNumber5 < 2;
0026B8:0127:         lNumber7 = lNumber7 && lNumber8;
0026C3:0022:         if (lNumber7 = 0) then
                         goto label73;
                     endif;
0026D1:00B5:         function111("PrgS");
0026E0:0013:         string8 = "s";

label73: //Ref: 0026C3  
0026ED:0031:         StrFind(lString0, "n#");
0026F7:0021:         lNumber5 = LAST_RESULT;
0026FF:0128:         lNumber7 = lNumber5 >= 0;
002711:0128:         lNumber8 = lNumber5 < 2;
002723:0127:         lNumber7 = lNumber7 && lNumber8;
00272E:0022:         if (lNumber7 = 0) then
                         goto label74;
                     endif;
00273C:00B5:         function111("PrgN");
00274B:0013:         string8 = "n";

label74: //Ref: 00272E  
002758:002F:         StrLength(lString0);
00275D:0021:         lNumber7 = LAST_RESULT;
002765:0128:         lNumber7 = lNumber7 > 40;
002777:0031:         StrFind(lString0, "ot1");
002782:0021:         lNumber8 = LAST_RESULT;
00278A:0128:         lNumber8 = lNumber8 > 0;
00279C:0126:         lNumber7 = lNumber7 || lNumber8;
0027A7:0022:         if (lNumber7 = 0) then
                         goto label75;
                     endif;
0027B5:0124:         lString0 = lString0 + "art#";

label75: //Ref: 0027A7  
0027C8:00B5:         function113(lString0, "Chl");
0027D9:00B5:         function113(lString0, "Cas");
0027EA:00B5:         function113(lString0, "Lar");
0027FB:00B5:         function113(lString0, "Eag");
00280C:00B5:         function113(lString0, "Hnt");
00281D:00B5:         function113(lString0, "Iel");
00282E:00B5:         function113(lString0, "Scs");
00283F:00B5:         function113(lString0, "Fnl");
002850:00B5:         function113(lString0, "Fmt");
002861:00B5:         function113(lString0, "Con");
002872:00B5:         function113(lString0, "Atr");
002883:00B5:         function113(lString0, "Art");

label76: //Ref: 002671  
002898:012F:         return(lNumber0);
00289F:00B8:         return;
    end;

    // ------------- FUNCTION function110 --------------
    function function110(pString0)
    begin
0028B3:017B:         ComponentSetData(MEDIA, pString0, 8, 0, "");
0028C8:017B:         ComponentSetData(MEDIA, pString0, 2, 0, "");
0028DD:00B8:         return;
0028DF:00B8:         return;
    end;

    // ------------- FUNCTION function111 --------------
    function function111(pString0)
    begin
0028F3:017B:         ComponentSetData(MEDIA, pString0, 8, 1, "");
002908:017B:         ComponentSetData(MEDIA, pString0, 2, 1, "");
00291D:00B8:         return;
00291F:00B8:         return;
    end;

    // ------------- FUNCTION function112 --------------
    function function112()
    begin
002931:00B5:         function110("PrgS");
002940:00B5:         function110("PrgN");
00294F:00B5:         function110("Chl");
00295D:00B5:         function110("Cas");
00296B:00B5:         function110("Lar");
002979:00B5:         function110("Eag");
002987:00B5:         function110("Hnt");
002995:00B5:         function110("Iel");
0029A3:00B5:         function110("Scs");
0029B1:00B5:         function110("Fnl");
0029BF:00B5:         function110("Fmt");
0029CD:00B5:         function110("Con");
0029DB:00B5:         function110("Atr");
0029E9:00B5:         function110("Art");
0029F7:00B8:         return;
0029F9:00B8:         return;
    end;

    // ------------- FUNCTION function113 --------------
    function function113(pString0, pString1)
        number lNumber0;
        number lNumber1;
    begin
002A0F:0031:         StrFind(pString0, pString1);
002A17:0021:         lNumber0 = LAST_RESULT;
002A1F:0128:         lNumber1 = lNumber0 > 0;
002A31:0022:         if (lNumber1 = 0) then
                         goto label81;
                     endif;
002A3F:00B5:         function111(pString1);

label81: //Ref: 002A31  
002A4E:00B8:         return;
002A50:00B8:         return;
    end;

    // ------------- FUNCTION function114 --------------
    function function114()
        number lNumber0;
        number lNumber1;
        number lNumber2;
        string lString0;
        string lString1;
    begin
002A66:0013:         lString0 = "\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff(\xff\xff\xff\xff\xff\xff\xff\xff3.1)\xff\xff\xff\xff\xff\xff\xff\xff";
002A99:0013:         lString1 = "\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff";
002AAB:0021:         lNumber2 = 1;
002AB5:0021:         lNumber1 = 0;
002ABF:0020:         AskOptions(lNumber1, lString0, lString1, lNumber2);
002AD0:0021:         lNumber0 = LAST_RESULT;
002AD8:012F:         return(lNumber0);
002ADF:00B8:         return;
    end;

    // ------------- FUNCTION function116 --------------
    function function116(pString0, pString1)
        number lNumber0;
        string lString0;
    begin
002AF7:0124:         lString0 = "law06" + pString0;
002B07:0110:         RegDBSetDefaultRoot(-2147483646);
002B0E:0088:         RegDBKeyExist("Software\\Chinalawinfo");
002B28:0021:         lNumber0 = LAST_RESULT;
002B30:0128:         lNumber0 = lNumber0 < 0;
002B42:0022:         if (lNumber0 = 0) then
                         goto label86;
                     endif;
002B50:0150:         RegDBCreateKeyEx("Software\\Chinalawinfo", "");
002B6D:0021:         lNumber0 = LAST_RESULT;
002B75:0128:         lNumber0 = lNumber0 < 0;
002B87:0022:         if (lNumber0 = 0) then
                         goto label84;
                     endif;
002B95:002A:         MessageBox("Create  SoftwareChinalawinfo failed.", -65533);
002BC3:0159:         abort;
002BC5:002C:         goto label85;

label84: //Ref: 002B87  
002BCE:0151:         RegDBSetKeyValueEx("Software\\Chinalawinfo", lString0, 1, pString1, -1);
002BF8:0021:         lNumber0 = LAST_RESULT;
002C00:0128:         lNumber0 = lNumber0 < 0;
002C12:0022:         if (lNumber0 = 0) then
                         goto label85;
                     endif;
002C20:002A:         MessageBox("RegDBSetKeyValueEx failed.", -65533);
002C44:0159:         abort;

label85: //Ref: 002BC5  002C12  
002C4A:002C:         goto label87;

label86: //Ref: 002B42  
002C53:0151:         RegDBSetKeyValueEx("Software\\Chinalawinfo", lString0, 1, pString1, -1);
002C7D:0021:         lNumber0 = LAST_RESULT;
002C85:0128:         lNumber0 = lNumber0 < 0;
002C97:0022:         if (lNumber0 = 0) then
                         goto label87;
                     endif;
002CA5:002A:         MessageBox("RegDBSetKeyValueEx failed.", -65533);
002CC9:0159:         abort;

label87: //Ref: 002C4A  002C97  
002CCF:00B8:         return;
002CD1:00B8:         return;
    end;

    // ------------- FUNCTION function117 --------------
    function function117()
        number lNumber0;
        number lNumber1;
        number lNumber2;
        number lNumber3;
        number lNumber4;
        string lString0;
        string lString1;
        string lString2;
    begin
002CE9:0125:         lString0 = SRCDIR ^ "config";
002CFA:0125:         lString1 = TARGETDIR ^ "lawfile";
002D0C:00BA:         AddressString(lString0);
002D11:0021:         lNumber1 = LAST_RESULT;
002D19:00BA:         AddressString(lString1);
002D1E:0021:         lNumber2 = LAST_RESULT;
002D26:00BA:         AddressString(lString2);
002D2B:0021:         lNumber3 = LAST_RESULT;
002D33:000C:         ExistsDir(lString1);
002D38:0021:         lNumber4 = LAST_RESULT;
002D40:0128:         lNumber4 = lNumber4 = 0;
002D52:0022:         if (lNumber4 = 0) then
                         goto label89;
                     endif;
002D60:003F:         DeleteDir(lString1, 0x165f822);

label89: //Ref: 002D52  
002D6E:00B4:         t40papi.TPF_Install(lNumber1, lNumber2, 0, 1);
002D83:0021:         lNumber0 = LAST_RESULT;
002D8B:0128:         lNumber4 = lNumber0 < 0;
002D9D:0022:         if (lNumber4 = 0) then
                         goto label90;
                     endif;
002DAB:00B4:         t40papi.TPF_GetLastError(0, lNumber3, 0x100);
002DBD:002A:         MessageBox(lString2, -65533);

label90: //Ref: 002D9D  
002DCB:012F:         return(lNumber0);
002DD2:00B8:         return;
    end;

    // ------------- FUNCTION function120 --------------
    function function120()
        number lNumber0;
        number lNumber1;
        number lNumber2;
        string lString0;
        string lString1;
        string lString2;
    begin
002DEA:0013:         lString0 = TARGETDIR;
002DF2:002F:         StrLength(lString0);
002DF7:0021:         lNumber1 = LAST_RESULT;
002DFF:0128:         lNumber1 = lNumber1 = 3;
002E11:007A:         GetByte(lNumber2, lString0, 1);
002E1E:0128:         lNumber2 = lNumber2 = 58;
002E30:0127:         lNumber1 = lNumber1 && lNumber2;
002E3B:007A:         GetByte(lNumber2, lString0, 2);
002E48:0128:         lNumber2 = lNumber2 = 92;
002E5A:0127:         lNumber1 = lNumber1 && lNumber2;
002E65:0022:         if (lNumber1 = 0) then
                         goto label92;
                     endif;
002E73:0013:         lString1 = lString0;
002E7B:0030:         StrSub(lString0, lString1, 0, 2);
002E8D:002C:         goto label93;

label92: //Ref: 002E65  
002E96:0153:         StrRemoveLastSlash(lString0);

label93: //Ref: 002E8D  
002E9F:00B5:         function116("fontcolor", "ff0000");
002EBC:00B5:         function116("lastupdate", "20050107");
002EDC:00B5:         function116("linknum", string14);
002EF1:00B5:         function116("maxsortnum", "60000");
002F0E:00B5:         function116("neturl", "http://lawupdate.chinalawinfo.com/law06");
002F49:00DB:         StrToUpper(lString2, string17);
002F51:0021:         lNumber0 = LAST_RESULT;
002F59:0128:         lNumber1 = lNumber0 < 0;
002F6B:0022:         if (lNumber1 = 0) then
                         goto label94;
                     endif;
002F79:0013:         lString2 = string17;

label94: //Ref: 002F6B  
002F85:00B5:         function116("pubsn", lString2);
002F98:00B5:         function116("setuppath", string10);
002FAF:00B5:         function116("updatealert", "1");
002FC9:00B5:         function116("updatemaxdate", "7");
002FE5:00B5:         function116("updatemode", "1");
002FFE:00B5:         function116("usercom", string24);
003013:00B5:         function116("usersn", string25);
003027:00B5:         function116("version", "law06");
003041:00B8:         return;
003043:00B8:         return;
    end;

    // ------------- FUNCTION function121 --------------
    function function121(pString0, pString1)
        number lNumber0;
        number lNumber1;
        number lNumber2;
        number lNumber3;
        number lNumber4;
        number lNumber5;
        string lString0;
        string lString1;
        string lString2;
        string lString3;
        string lString4;
        string lString5;
        string lString6;
        string lString7;
    begin
003069:0110:         RegDBSetDefaultRoot(-2147483646);
003070:0013:         lString7 = "Software\\Chinalawinfo";
00308D:0124:         lString2 = "law06" + pString0;
00309D:0013:         lString1 = lString7;
0030A5:0152:         RegDBGetKeyValueEx(lString1, lString2, lNumber2, lString4, lNumber3);
0030B6:0021:         lNumber5 = LAST_RESULT;
0030BE:0128:         lNumber5 = lNumber5 < 0;
0030D0:0022:         if (lNumber5 = 0) then
                         goto label96;
                     endif;
0030DE:0013:         lString4 = "";
0030E6:0013:         pString1 = lString4;
0030EE:002C:         goto label97;

label96: //Ref: 0030D0  
0030F7:0013:         pString1 = lString4;

label97: //Ref: 0030EE  
003103:012F:         return(1);
00310C:00B8:         return;
    end;

    // ------------- FUNCTION function122 --------------
    function function122()
        string lString0;
    begin
003120:00B5:         function121("setuppath", string10);
003137:00B5:         function121("pubsn", string11);
00314A:00B5:         function121("usercom", string12);
00315F:00B5:         function121("usersn", string13);
003173:00B5:         function121("linknum", string14);
003188:0013:         string17 = string11;
003190:0013:         string24 = string12;
003198:0013:         string25 = string13;
0031A0:00B8:         return;
0031A2:00B8:         return;
    end;

不支持中文代码又多看的头昏。

[课程]Android-CTF解题方法汇总!

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 93944
活跃值: (200204)
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
2
好像没有
2005-5-10 22:16
0
雪    币: 427
活跃值: (412)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
有办法了,查对setup.ins的中文提示按次序来锁定反编译代码的乱码地方。这样就可以很快找到注册校对点。
2005-5-10 22:39
0
游客
登录 | 注册 方可回帖
返回
//