home *** CD-ROM | disk | FTP | other *** search
/ Borland Programmer's Resource / Borland_Programmers_Resource_CD_1995.iso / fonts / cw_src / install / cwsetup.asm < prev    next >
Encoding:
Assembly Source File  |  1995-05-19  |  26.8 KB  |  1,600 lines

  1. ;    Static Name Aliases
  2. ;
  3. ;    $S1048_szFonts    EQU    szFonts
  4. ;    $S1049_szSects    EQU    szSects
  5. ;    $S1050_szCards    EQU    szCards
  6.     TITLE   cwsetup.c
  7.     .8087
  8. INCLUDELIB    SLIBCE
  9. _TEXT    SEGMENT  WORD PUBLIC 'CODE'
  10. _TEXT    ENDS
  11. _DATA    SEGMENT  WORD PUBLIC 'DATA'
  12. _DATA    ENDS
  13. CONST    SEGMENT  WORD PUBLIC 'CONST'
  14. CONST    ENDS
  15. _BSS    SEGMENT  WORD PUBLIC 'BSS'
  16. _BSS    ENDS
  17. DGROUP    GROUP    CONST, _BSS, _DATA
  18.     ASSUME DS: DGROUP, SS: DGROUP
  19. PUBLIC  _szSetupInf
  20. PUBLIC  _patch
  21. EXTRN    SETDLGITEMTEXT:FAR
  22. EXTRN    GETDLGITEMTEXT:FAR
  23. EXTRN    _wsprintf:FAR
  24. EXTRN    _getcwd:NEAR
  25. EXTRN    _toupper:NEAR
  26. EXTRN    _memset:NEAR
  27. EXTRN    _strcat:NEAR
  28. EXTRN    _strcmp:NEAR
  29. EXTRN    _strcpy:NEAR
  30. EXTRN    SETFOCUS:FAR
  31. EXTRN    _strlen:NEAR
  32. EXTRN    MAKEPROCINSTANCE:FAR
  33. EXTRN    __aNchkstk:NEAR
  34. EXTRN    _strncmp:NEAR
  35. EXTRN    FREEPROCINSTANCE:FAR
  36. EXTRN    MESSAGEBOX:FAR
  37. EXTRN    DIALOGBOX:FAR
  38. EXTRN    _LOPEN:FAR
  39. EXTRN    _LCLOSE:FAR
  40. EXTRN    GETPRIVATEPROFILESTRING:FAR
  41. EXTRN    _LCREAT:FAR
  42. EXTRN    ENDDIALOG:FAR
  43. EXTRN    GETWINDOWSDIRECTORY:FAR
  44. EXTRN    GETDLGITEM:FAR
  45. EXTRN    _LREAD:FAR
  46. EXTRN    _LWRITE:FAR
  47. EXTRN    _hInst:WORD
  48. _BSS      SEGMENT
  49. COMM NEAR    PLOCALHEAP:    BYTE:     2
  50. COMM NEAR    _hMainWnd:    BYTE:     2
  51. COMM NEAR    _szSrcPath:     1:     256
  52. COMM NEAR    _szDstPath:     1:     256
  53. COMM NEAR    _szSrcFile:     1:     256
  54. COMM NEAR    _szDstFile:     1:     256
  55. COMM NEAR    _szDiskName:     1:     256
  56. COMM NEAR    _szSetupFile:     1:     256
  57. COMM NEAR    _szSetupStr:     1:     256
  58. COMM NEAR    _cCpBuff:     1:     20480
  59. COMM NEAR    _cFilBuff:     1:     5120
  60. _BSS      ENDS
  61. EXTRN    _szTitle:BYTE
  62. _BSS      SEGMENT
  63. COMM NEAR    _szErrMessage:     1:     256
  64. _BSS      ENDS
  65. _DATA      SEGMENT
  66. $SG1076    DB    'CyrWin distribution disk #1',  00H
  67. $SG1077    DB    'FLOPPY',  00H
  68. $SG1081    DB    'WIN.INI',  00H
  69. $SG1082    DB    'WIN.BAK',  00H
  70. $SG1084    DB    'make backup of win.ini file',  00H
  71. $SG1085    DB    'SYSTEM.INI',  00H
  72. $SG1086    DB    'SYSTEM.BAK',  00H
  73. $SG1088    DB    'make backup of system.ini file',  00H
  74. $SG1090    DB    'setup information file',  00H
  75. $SG1091    DB    00H
  76. $SG1092    DB    'nfiles',  00H
  77. $SG1096    DB    00H
  78. $SG1097    DB    'nfiles',  00H
  79. $SG1101    DB    00H
  80. $SG1102    DB    'disks',  00H
  81. $SG1108    DB    'FLOPPY',  00H
  82. $SG1114    DB    'system.ini',  00H
  83. $SG1115    DB    'fonts.fon',  00H
  84. $SG1116    DB    'boot',  00H
  85. $SG1123    DB    'Cannot identify video adapter',  00H
  86. $SG1127    DB    '.FON',  00H
  87. $SG1128    DB    00H
  88. $SG1129    DB    'sfonts',  00H
  89. $SG1133    DB    00H
  90. $SG1134    DB    'disks',  00H
  91. $SG1136    DB    'iErr= %d',  00H
  92. $SG1138    DB    'FLOPPY',  00H
  93. $SG1144    DB    '????',  00H
  94. $SG1145    DB    '????',  00H
  95. $SG1146    DB    'iErr= %d',  00H
  96. $SG1147    DB    'File copied Ok',  00H
  97. $SG1148    DB    'next file',  00H
  98.     ORG    $+101
  99. $SG1167    DB    'Font Name',  00H
  100.     ORG    $+8
  101. $SG1194    DB    'Copying file',  00H
  102. $SG1203    DB    00H
  103. $SG1204    DB    00H
  104. $SG1216    DB    'Error opening file ',  00H
  105. $SG1218    DB    'Cannot create file ',  00H
  106. $SG1220    DB    'Error reading file ',  00H
  107. $SG1222    DB    'Error writing file ',  00H
  108. $SG1224    DB    'unknown error while copying',  00H
  109.     ORG    $-241
  110. _szSetupInf    DB    'cwsetup.inf',  00H
  111. $S1048_szFonts    DB    'FIX',  00H
  112.     DB    'SYS',  00H
  113.     DB    '866',  00H
  114.     DB    00H
  115.      DB    3 DUP(0)
  116.  
  117. $S1049_szSects    DB    'fixedfon.fon',  00H
  118.     DB    'fonts.fon',  00H
  119.      DB    3 DUP(0)
  120.  
  121.     DB    'oemfonts.fon',  00H
  122.     DB    00H
  123.      DB    12 DUP(0)
  124.  
  125. $S1050_szCards    DB    'CGA',  00H
  126.     DB    'EGA',  00H
  127.     DB    'VGA',  00H
  128.     DB    '8514'
  129.     DB    00H
  130.      DB    3 DUP(0)
  131.  
  132.     ORG    $+10
  133. _patch    DB    'FONTRES',  00H
  134. _DATA      ENDS
  135. _TEXT      SEGMENT
  136.     ASSUME    CS: _TEXT
  137. ; Line 1
  138. ; Line 14
  139. ; Line 15
  140. ; Line 16
  141. ; Line 17
  142. ; Line 18
  143. ; Line 19
  144. ; Line 84
  145.     PUBLIC    _cwInst
  146. _cwInst    PROC NEAR
  147.     push    bp
  148.     mov    bp,sp
  149.     mov    ax,276
  150.     call    __aNchkstk
  151. ;    iRetVal = -268
  152. ;    i = -270
  153. ;    lpfnProc = -264
  154. ;    cp = -260
  155. ;    bug = -276
  156. ;    iErr = -258
  157. ;    cps = -266
  158. ;    b = -256
  159. ;    pCard = -272
  160. ;    hWnd = 4
  161. ; Line 95
  162.     mov    ax,WORD PTR [bp+4]    ;hWnd
  163.     mov    WORD PTR _hMainWnd,ax
  164. ; Line 96
  165.     mov    ax,256
  166.     push    ax
  167.     sub    cx,cx
  168.     mov    WORD PTR [bp-268],cx    ;iRetVal
  169.     push    cx
  170.     mov    cx,OFFSET DGROUP:_szDstPath
  171.     push    cx
  172.     call    _memset
  173.     add    sp,6
  174. ; Line 97
  175.     mov    ax,OFFSET DGROUP:_szDstPath
  176.     push    ds
  177.     push    ax
  178.     mov    cx,256
  179.     push    cx
  180.     call    FAR PTR GETWINDOWSDIRECTORY
  181. ; Line 98
  182.     mov    ax,OFFSET DGROUP:_szDstPath
  183.     push    ax
  184.     call    _strlen
  185.     add    sp,2
  186.     mov    bx,ax
  187.     dec    bx
  188.     mov    WORD PTR [bp-270],bx    ;i
  189.     cmp    BYTE PTR _szDstPath[bx],92
  190.     je    $I1069
  191.     inc    bx
  192.     mov    WORD PTR [bp-270],bx    ;i
  193.     mov    BYTE PTR _szDstPath[bx],92
  194.     inc    bx
  195.     mov    WORD PTR [bp-270],bx    ;i
  196.     mov    BYTE PTR _szDstPath[bx],0
  197. $I1069:
  198. ; Line 99
  199.     mov    ax,256
  200.     push    ax
  201.     sub    ax,ax
  202.     push    ax
  203.     mov    ax,OFFSET DGROUP:_szSrcPath
  204.     push    ax
  205.     call    _memset
  206.     add    sp,6
  207. ; Line 100
  208.     mov    ax,256
  209.     push    ax
  210.     mov    ax,OFFSET DGROUP:_szSrcPath
  211.     push    ax
  212.     call    _getcwd
  213.     add    sp,4
  214. ; Line 101
  215. $L20005:
  216.     mov    ax,OFFSET DGROUP:_szSrcPath
  217.     push    ax
  218.     call    _strlen
  219.     add    sp,2
  220.     mov    bx,ax
  221.     dec    bx
  222.     mov    WORD PTR [bp-270],bx    ;i
  223.     cmp    BYTE PTR _szSrcPath[bx],92
  224.     je    $I1070
  225.     inc    bx
  226.     mov    WORD PTR [bp-270],bx    ;i
  227.     mov    BYTE PTR _szSrcPath[bx],92
  228.     inc    bx
  229.     mov    WORD PTR [bp-270],bx    ;i
  230.     mov    BYTE PTR _szSrcPath[bx],0
  231. $I1070:
  232. ; Line 107
  233. ; Line 108
  234.     mov    ax,OFFSET DGROUP:_szSrcPath
  235.     push    ax
  236.     mov    ax,OFFSET DGROUP:_szSetupFile
  237.     push    ax
  238.     call    _strcpy
  239.     add    sp,4
  240. ; Line 109
  241.     mov    ax,OFFSET DGROUP:_szSetupInf
  242.     push    ax
  243.     mov    ax,OFFSET DGROUP:_szSetupFile
  244.     push    ax
  245.     call    _strcat
  246.     add    sp,4
  247. ; Line 111
  248.     mov    ax,OFFSET DGROUP:_szSetupFile
  249.     push    ds
  250.     push    ax
  251.     sub    ax,ax
  252.     push    ax
  253.     call    FAR PTR _LOPEN
  254.     mov    WORD PTR [bp-270],ax    ;i
  255.     or    ax,ax
  256.     jle    $I1074
  257. ; Line 112
  258. ; Line 113
  259.     push    ax
  260.     call    FAR PTR _LCLOSE
  261. ; Line 135
  262.     mov    ax,OFFSET DGROUP:_szDstPath
  263.     push    ax
  264.     mov    cx,OFFSET DGROUP:_szSrcFile
  265.     push    cx
  266.     call    _strcpy
  267.     add    sp,4
  268.     mov    ax,OFFSET DGROUP:_szDstPath
  269.     push    ax
  270.     mov    ax,OFFSET DGROUP:_szDstFile
  271.     push    ax
  272.     call    _strcpy
  273.     add    sp,4
  274. ; Line 136
  275.     mov    ax,OFFSET DGROUP:$SG1081
  276.     push    ax
  277.     mov    ax,OFFSET DGROUP:_szSrcFile
  278.     push    ax
  279.     call    _strcat
  280.     add    sp,4
  281.     mov    ax,OFFSET DGROUP:$SG1082
  282.     push    ax
  283.     mov    ax,OFFSET DGROUP:_szDstFile
  284.     push    ax
  285.     call    _strcat
  286.     add    sp,4
  287. ; Line 137
  288.     mov    ax,OFFSET DGROUP:$SG1084
  289.     push    ax
  290.     mov    ax,OFFSET DGROUP:_szDstFile
  291.     push    ax
  292.     mov    cx,OFFSET DGROUP:_szSrcFile
  293.     push    cx
  294.     call    _bCopyFile
  295.     add    sp,6
  296.     push    ax
  297.     mov    ax,OFFSET DGROUP:_szDstFile
  298.     push    ax
  299.     mov    ax,OFFSET DGROUP:_szSrcFile
  300.     push    ax
  301.     call    _CopyErr
  302.     add    sp,6
  303.     or    ax,ax
  304.     je    $I1083
  305. $I1078:
  306. ; Line 127
  307.     sub    ax,ax
  308.     mov    sp,bp
  309.     pop    bp
  310.     ret    
  311.     nop    
  312. $I1074:
  313. ; Line 117
  314. ; Line 118
  315.     mov    ax,OFFSET DGROUP:$SG1076
  316.     push    ax
  317.     mov    ax,OFFSET DGROUP:_szDiskName
  318.     push    ax
  319.     call    _strcpy
  320.     add    sp,4
  321. ; Line 119
  322.     mov    ax,OFFSET FLOPPY
  323.     mov    dx,SEG FLOPPY
  324.     push    dx
  325.     push    ax
  326.     push    WORD PTR _hInst
  327.     call    FAR PTR MAKEPROCINSTANCE
  328.     mov    WORD PTR [bp-264],ax    ;lpfnProc
  329.     mov    WORD PTR [bp-262],dx
  330. ; Line 120
  331.     push    WORD PTR _hInst
  332.     mov    ax,OFFSET DGROUP:$SG1077
  333.     push    ds
  334.     push    ax
  335.     push    WORD PTR [bp+4]    ;hWnd
  336.     push    dx
  337.     push    WORD PTR [bp-264]    ;lpfnProc
  338.     call    FAR PTR DIALOGBOX
  339.     mov    WORD PTR [bp-270],ax    ;i
  340. ; Line 121
  341.     push    WORD PTR [bp-262]
  342.     push    WORD PTR [bp-264]    ;lpfnProc
  343.     call    FAR PTR FREEPROCINSTANCE
  344. ; Line 122
  345.     cmp    WORD PTR [bp-270],0    ;i
  346.     je    $I1078
  347.     jmp    $L20005
  348. ; Line 139
  349. $I1083:
  350.     mov    ax,OFFSET DGROUP:_szDstPath
  351.     push    ax
  352.     mov    cx,OFFSET DGROUP:_szSrcFile
  353.     push    cx
  354.     call    _strcpy
  355.     add    sp,4
  356.     mov    ax,OFFSET DGROUP:_szDstPath
  357.     push    ax
  358.     mov    ax,OFFSET DGROUP:_szDstFile
  359.     push    ax
  360.     call    _strcpy
  361.     add    sp,4
  362. ; Line 140
  363.     mov    ax,OFFSET DGROUP:$SG1085
  364.     push    ax
  365.     mov    ax,OFFSET DGROUP:_szSrcFile
  366.     push    ax
  367.     call    _strcat
  368.     add    sp,4
  369.     mov    ax,OFFSET DGROUP:$SG1086
  370.     push    ax
  371.     mov    ax,OFFSET DGROUP:_szDstFile
  372.     push    ax
  373.     call    _strcat
  374.     add    sp,4
  375. ; Line 141
  376.     mov    ax,OFFSET DGROUP:$SG1088
  377.     push    ax
  378.     mov    ax,OFFSET DGROUP:_szDstFile
  379.     push    ax
  380.     mov    cx,OFFSET DGROUP:_szSrcFile
  381.     push    cx
  382.     call    _bCopyFile
  383.     add    sp,6
  384.     push    ax
  385.     mov    ax,OFFSET DGROUP:_szDstFile
  386.     push    ax
  387.     mov    ax,OFFSET DGROUP:_szSrcFile
  388.     push    ax
  389.     call    _CopyErr
  390.     add    sp,6
  391.     or    ax,ax
  392.     je    $JCC503
  393.     jmp    $I1078
  394. $JCC503:
  395. ; Line 143
  396.     mov    ax,OFFSET DGROUP:_szSrcPath
  397.     push    ax
  398.     mov    ax,OFFSET DGROUP:_szSrcFile
  399.     push    ax
  400.     call    _strcpy
  401.     add    sp,4
  402.     mov    ax,OFFSET DGROUP:_szSetupInf
  403.     push    ax
  404.     mov    cx,OFFSET DGROUP:_szSrcFile
  405.     push    cx
  406.     call    _strcat
  407.     add    sp,4
  408. ; Line 144
  409.     mov    ax,OFFSET DGROUP:_szDstPath
  410.     push    ax
  411.     mov    ax,OFFSET DGROUP:_szDstFile
  412.     push    ax
  413.     call    _strcpy
  414.     add    sp,4
  415.     mov    ax,OFFSET DGROUP:_szSetupInf
  416.     push    ax
  417.     mov    ax,OFFSET DGROUP:_szDstFile
  418.     push    ax
  419.     call    _strcat
  420.     add    sp,4
  421. ; Line 145
  422.     mov    ax,OFFSET DGROUP:$SG1090
  423.     push    ax
  424.     mov    ax,OFFSET DGROUP:_szDstFile
  425.     push    ax
  426.     mov    cx,OFFSET DGROUP:_szSrcFile
  427.     push    cx
  428.     call    _bCopyFile
  429.     add    sp,6
  430.     push    ax
  431.     mov    ax,OFFSET DGROUP:_szDstFile
  432.     push    ax
  433.     mov    ax,OFFSET DGROUP:_szSrcFile
  434.     push    ax
  435.     call    _CopyErr
  436.     add    sp,6
  437.     or    ax,ax
  438.     je    $JCC599
  439.     jmp    $I1078
  440. $JCC599:
  441. ; Line 147
  442.     mov    ax,OFFSET DGROUP:_szDstPath
  443.     push    ax
  444.     mov    ax,OFFSET DGROUP:_szSetupFile
  445.     push    ax
  446.     call    _strcpy
  447.     add    sp,4
  448.     mov    ax,OFFSET DGROUP:_szSetupInf
  449.     push    ax
  450.     mov    ax,OFFSET DGROUP:_szSetupFile
  451.     push    ax
  452.     call    _strcat
  453.     add    sp,4
  454. ; Line 152
  455.     mov    ax,5120
  456.     push    ax
  457.     sub    ax,ax
  458.     push    ax
  459.     mov    ax,OFFSET DGROUP:_cFilBuff
  460.     push    ax
  461.     call    _memset
  462.     add    sp,6
  463. ; Line 153
  464.     mov    ax,OFFSET DGROUP:$SG1092
  465.     push    ds
  466.     push    ax
  467.     sub    ax,ax
  468.     push    ax
  469.     push    ax
  470.     mov    ax,OFFSET DGROUP:$SG1091
  471.     push    ds
  472.     push    ax
  473.     mov    ax,OFFSET DGROUP:_cFilBuff
  474.     push    ds
  475.     push    ax
  476.     mov    cx,5120
  477.     push    cx
  478.     mov    cx,OFFSET DGROUP:_szSetupFile
  479.     push    ds
  480.     push    cx
  481.     call    FAR PTR GETPRIVATEPROFILESTRING
  482. ; Line 154
  483.     mov    WORD PTR [bp-260],OFFSET DGROUP:_cFilBuff    ;cp
  484.     jmp    $F1093
  485.     nop    
  486. $FC1099:
  487.     inc    WORD PTR [bp-266]    ;cps
  488. $F1098:
  489.     mov    bx,WORD PTR [bp-266]    ;cps
  490.     cmp    BYTE PTR [bx],45
  491.     je    $FC1099
  492. ; Line 158
  493.     mov    ax,256
  494.     push    ax
  495.     sub    ax,ax
  496.     push    ax
  497.     mov    ax,OFFSET DGROUP:_szDiskName
  498.     push    ax
  499.     call    _memset
  500.     add    sp,6
  501.     mov    bx,WORD PTR [bp-266]    ;cps
  502.     mov    al,BYTE PTR [bx]
  503.     mov    BYTE PTR _szDiskName,al
  504. ; Line 159
  505.     mov    ax,OFFSET DGROUP:$SG1102
  506.     push    ds
  507.     push    ax
  508.     mov    ax,OFFSET DGROUP:_szDiskName
  509.     push    ds
  510.     push    ax
  511.     mov    ax,OFFSET DGROUP:$SG1101
  512.     push    ds
  513.     push    ax
  514.     mov    ax,OFFSET DGROUP:_szDiskName
  515.     push    ds
  516.     push    ax
  517.     mov    ax,256
  518.     push    ax
  519.     mov    ax,OFFSET DGROUP:_szSetupFile
  520.     push    ds
  521.     push    ax
  522.     call    FAR PTR GETPRIVATEPROFILESTRING
  523. $FC1104:
  524.     inc    WORD PTR [bp-266]    ;cps
  525.     mov    bx,WORD PTR [bp-266]    ;cps
  526.     cmp    BYTE PTR [bx],45
  527.     je    $FC1104
  528. ; Line 161
  529.     jmp    SHORT $L20003
  530. $NeedRetry1106:
  531. ; Line 165
  532. ; Line 166
  533.     mov    ax,OFFSET FLOPPY
  534.     mov    dx,SEG FLOPPY
  535.     push    dx
  536.     push    ax
  537.     push    WORD PTR _hInst
  538.     call    FAR PTR MAKEPROCINSTANCE
  539.     mov    WORD PTR [bp-264],ax    ;lpfnProc
  540.     mov    WORD PTR [bp-262],dx
  541. ; Line 167
  542.     push    WORD PTR _hInst
  543.     mov    ax,OFFSET DGROUP:$SG1108
  544.     push    ds
  545.     push    ax
  546.     push    WORD PTR _hMainWnd
  547.     push    dx
  548.     push    WORD PTR [bp-264]    ;lpfnProc
  549.     call    FAR PTR DIALOGBOX
  550.     mov    WORD PTR [bp-270],ax    ;i
  551. ; Line 168
  552.     push    WORD PTR [bp-262]
  553.     push    WORD PTR [bp-264]    ;lpfnProc
  554.     call    FAR PTR FREEPROCINSTANCE
  555. ; Line 169
  556.     cmp    WORD PTR [bp-270],0    ;i
  557.     jne    $JCC850
  558.     jmp    $I1078
  559. $JCC850:
  560. ; Line 170
  561. ; Line 171
  562.     mov    ax,OFFSET DGROUP:_szSrcPath
  563.     push    ax
  564.     call    _strlen
  565.     add    sp,2
  566.     mov    bx,ax
  567.     dec    bx
  568.     mov    WORD PTR [bp-270],bx    ;i
  569.     cmp    BYTE PTR _szSrcPath[bx],92
  570.     je    $L20003
  571.     inc    bx
  572.     mov    WORD PTR [bp-270],bx    ;i
  573.     mov    BYTE PTR _szSrcPath[bx],92
  574.     inc    bx
  575.     mov    WORD PTR [bp-270],bx    ;i
  576.     mov    BYTE PTR _szSrcPath[bx],0
  577. $L20003:
  578.     mov    ax,OFFSET DGROUP:_szSrcPath
  579.     push    ax
  580.     mov    cx,OFFSET DGROUP:_szSrcFile
  581.     push    cx
  582.     call    _strcpy
  583.     add    sp,4
  584.     push    WORD PTR [bp-260]    ;cp
  585.     mov    ax,OFFSET DGROUP:_szSrcFile
  586.     push    ax
  587.     call    _strcat
  588.     add    sp,4
  589. ; Line 162
  590.     mov    ax,OFFSET DGROUP:_szDstPath
  591.     push    ax
  592.     mov    ax,OFFSET DGROUP:_szDstFile
  593.     push    ax
  594.     call    _strcpy
  595.     add    sp,4
  596.     push    WORD PTR [bp-260]    ;cp
  597.     mov    ax,OFFSET DGROUP:_szDstFile
  598.     push    ax
  599.     call    _strcat
  600.     add    sp,4
  601. ; Line 164
  602.     push    WORD PTR [bp-266]    ;cps
  603.     mov    ax,OFFSET DGROUP:_szDstFile
  604.     push    ax
  605.     mov    ax,OFFSET DGROUP:_szSrcFile
  606.     push    ax
  607.     call    _bCopyFile
  608.     add    sp,6
  609.     mov    WORD PTR [bp-258],ax    ;iErr
  610.     dec    ax
  611.     jne    $JCC978
  612.     jmp    $NeedRetry1106
  613. $JCC978:
  614.     cmp    WORD PTR [bp-258],0    ;iErr
  615.     je    $I1113
  616. ; Line 177
  617. ; Line 178
  618. $L20002:
  619.     push    WORD PTR [bp-258]    ;iErr
  620.     mov    ax,OFFSET DGROUP:_szDstFile
  621.     push    ax
  622.     mov    ax,OFFSET DGROUP:_szSrcFile
  623.     push    ax
  624.     call    _CopyErr
  625.     add    sp,6
  626.     jmp    $I1078
  627. ; Line 180
  628. ; Line 181
  629.     nop    
  630. $I1113:
  631.     push    WORD PTR [bp-260]    ;cp
  632.     call    _strlen
  633.     add    sp,2
  634.     inc    ax
  635.     add    WORD PTR [bp-260],ax    ;cp
  636. $F1093:
  637.     mov    bx,WORD PTR [bp-260]    ;cp
  638.     cmp    BYTE PTR [bx],0
  639.     je    $FB1095
  640. ; Line 155
  641. ; Line 156
  642.     mov    ax,OFFSET DGROUP:$SG1097
  643.     push    ds
  644.     push    ax
  645.     push    ds
  646.     push    bx
  647.     mov    ax,OFFSET DGROUP:$SG1096
  648.     push    ds
  649.     push    ax
  650.     mov    ax,OFFSET DGROUP:_szSetupStr
  651.     push    ds
  652.     push    ax
  653.     mov    cx,256
  654.     push    cx
  655.     mov    cx,OFFSET DGROUP:_szSetupFile
  656.     push    ds
  657.     push    cx
  658.     call    FAR PTR GETPRIVATEPROFILESTRING
  659. ; Line 157
  660.     mov    WORD PTR [bp-266],OFFSET DGROUP:_szSetupStr    ;cps
  661.     jmp    $F1098
  662. $FB1095:
  663. ; Line 188
  664.     mov    ax,OFFSET DGROUP:$SG1116
  665.     push    ds
  666.     push    ax
  667.     mov    ax,OFFSET DGROUP:$SG1115
  668.     push    ds
  669.     push    ax
  670.     sub    ax,ax
  671.     push    ax
  672.     push    ax
  673.     lea    ax,WORD PTR [bp-256]    ;b
  674.     push    ss
  675.     push    ax
  676.     mov    ax,255
  677.     push    ax
  678.     mov    ax,OFFSET DGROUP:$SG1114
  679.     push    ds
  680.     push    ax
  681.     call    FAR PTR GETPRIVATEPROFILESTRING
  682. ; Line 189
  683.     mov    WORD PTR [bp-272],OFFSET DGROUP:$S1050_szCards    ;pCard
  684.     jmp    SHORT $F1117
  685. ; Line 194
  686. $FC1118:
  687.     push    WORD PTR [bp-272]    ;pCard
  688.     call    _strlen
  689.     add    sp,2
  690.     inc    ax
  691.     add    WORD PTR [bp-272],ax    ;pCard
  692. $F1117:
  693.     mov    bx,WORD PTR [bp-272]    ;pCard
  694.     cmp    BYTE PTR [bx],0
  695.     je    $FB1119
  696. ; Line 190
  697. ; Line 192
  698.     push    bx
  699.     call    _strlen
  700.     add    sp,2
  701.     push    ax
  702.     push    WORD PTR [bp-272]    ;pCard
  703.     lea    ax,WORD PTR [bp-256]    ;b
  704.     push    ax
  705.     call    __strup
  706.     add    sp,2
  707.     push    ax
  708.     call    _strncmp
  709.     add    sp,6
  710.     or    ax,ax
  711.     jne    $FC1118
  712. ; Line 193
  713. $FB1119:
  714. ; Line 195
  715.     mov    bx,WORD PTR [bp-272]    ;pCard
  716.     cmp    BYTE PTR [bx],0
  717.     jne    $I1122
  718. ; Line 196
  719. ; Line 197
  720.     push    WORD PTR _hMainWnd
  721.     mov    ax,OFFSET DGROUP:$SG1123
  722.     push    ds
  723.     push    ax
  724.     mov    ax,OFFSET _szTitle
  725.     push    ds
  726.     push    ax
  727.     sub    ax,ax
  728.     push    ax
  729.     call    FAR PTR MESSAGEBOX
  730.     jmp    $I1078
  731. ; Line 199
  732. ; Line 204
  733. $I1122:
  734.     mov    WORD PTR [bp-260],OFFSET DGROUP:$S1048_szFonts    ;cp
  735.     mov    bx,WORD PTR [bp-260]    ;cp
  736.     cmp    BYTE PTR [bx],0
  737.     jne    $JCC1223
  738.     jmp    $FB1126
  739. $JCC1223:
  740. ; Line 205
  741. ; Line 206
  742.     push    WORD PTR [bp-272]    ;pCard
  743.     lea    ax,WORD PTR [bp-256]    ;b
  744.     push    ax
  745.     call    _strcpy
  746.     add    sp,4
  747.     push    WORD PTR [bp-260]    ;cp
  748.     lea    ax,WORD PTR [bp-256]    ;b
  749.     push    ax
  750.     call    _strcat
  751.     add    sp,4
  752.     mov    ax,OFFSET DGROUP:$SG1127
  753.     push    ax
  754.     lea    ax,WORD PTR [bp-256]    ;b
  755.     push    ax
  756.     call    _strcat
  757.     add    sp,4
  758. ; Line 207
  759.     mov    ax,OFFSET DGROUP:$SG1129
  760.     push    ds
  761.     push    ax
  762.     lea    ax,WORD PTR [bp-256]    ;b
  763.     push    ss
  764.     push    ax
  765.     mov    ax,OFFSET DGROUP:$SG1128
  766.     push    ds
  767.     push    ax
  768.     mov    ax,OFFSET DGROUP:_szSetupStr
  769.     push    ds
  770.     push    ax
  771.     mov    cx,256
  772.     push    cx
  773.     mov    cx,OFFSET DGROUP:_szSetupFile
  774.     push    ds
  775.     push    cx
  776.     call    FAR PTR GETPRIVATEPROFILESTRING
  777. ; Line 208
  778.     mov    WORD PTR [bp-266],OFFSET DGROUP:_szSetupStr    ;cps
  779.     jmp    SHORT $F1130
  780. $FC1131:
  781.     inc    WORD PTR [bp-266]    ;cps
  782. $F1130:
  783.     mov    bx,WORD PTR [bp-266]    ;cps
  784.     cmp    BYTE PTR [bx],45
  785.     je    $FC1131
  786. ; Line 209
  787.     mov    ax,256
  788.     push    ax
  789.     sub    ax,ax
  790.     push    ax
  791.     mov    ax,OFFSET DGROUP:_szDiskName
  792.     push    ax
  793.     call    _memset
  794.     add    sp,6
  795.     mov    bx,WORD PTR [bp-266]    ;cps
  796.     mov    al,BYTE PTR [bx]
  797.     mov    BYTE PTR _szDiskName,al
  798. ; Line 210
  799.     mov    ax,OFFSET DGROUP:$SG1134
  800.     push    ds
  801.     push    ax
  802.     mov    ax,OFFSET DGROUP:_szDiskName
  803.     push    ds
  804.     push    ax
  805.     mov    ax,OFFSET DGROUP:$SG1133
  806.     push    ds
  807.     push    ax
  808.     mov    ax,OFFSET DGROUP:_szDiskName
  809.     push    ds
  810.     push    ax
  811.     mov    ax,256
  812.     push    ax
  813.     mov    ax,OFFSET DGROUP:_szSetupFile
  814.     push    ds
  815.     push    ax
  816.     call    FAR PTR GETPRIVATEPROFILESTRING
  817. ; Line 211
  818.     jmp    SHORT $L20004
  819.     nop    
  820. $NeedSfRetry1135:
  821. ; Line 216
  822. ; Line 217
  823.     mov    ax,OFFSET FLOPPY
  824.     mov    dx,SEG FLOPPY
  825.     push    dx
  826.     push    ax
  827.     push    WORD PTR _hInst
  828.     call    FAR PTR MAKEPROCINSTANCE
  829.     mov    WORD PTR [bp-264],ax    ;lpfnProc
  830.     mov    WORD PTR [bp-262],dx
  831. ; Line 218
  832.     push    WORD PTR _hInst
  833.     mov    ax,OFFSET DGROUP:$SG1138
  834.     push    ds
  835.     push    ax
  836.     push    WORD PTR _hMainWnd
  837.     push    dx
  838.     push    WORD PTR [bp-264]    ;lpfnProc
  839.     call    FAR PTR DIALOGBOX
  840.     mov    WORD PTR [bp-270],ax    ;i
  841. ; Line 219
  842.     push    WORD PTR [bp-262]
  843.     push    WORD PTR [bp-264]    ;lpfnProc
  844.     call    FAR PTR FREEPROCINSTANCE
  845. ; Line 220
  846.     cmp    WORD PTR [bp-270],0    ;i
  847.     jne    $JCC1462
  848.     jmp    $I1078
  849. $JCC1462:
  850. ; Line 221
  851. ; Line 222
  852.     mov    ax,OFFSET DGROUP:_szSrcPath
  853.     push    ax
  854.     call    _strlen
  855.     add    sp,2
  856.     mov    bx,ax
  857.     dec    bx
  858.     mov    WORD PTR [bp-270],bx    ;i
  859.     cmp    BYTE PTR _szSrcPath[bx],92
  860.     je    $L20004
  861.     inc    bx
  862.     mov    WORD PTR [bp-270],bx    ;i
  863.     mov    BYTE PTR _szSrcPath[bx],92
  864.     inc    bx
  865.     mov    WORD PTR [bp-270],bx    ;i
  866.     mov    BYTE PTR _szSrcPath[bx],0
  867. $L20004:
  868.     mov    ax,OFFSET DGROUP:_szSrcPath
  869.     push    ax
  870.     mov    cx,OFFSET DGROUP:_szSrcFile
  871.     push    cx
  872.     call    _strcpy
  873.     add    sp,4
  874.     lea    ax,WORD PTR [bp-256]    ;b
  875.     push    ax
  876.     mov    cx,OFFSET DGROUP:_szSrcFile
  877.     push    cx
  878.     call    _strcat
  879.     add    sp,4
  880. ; Line 212
  881.     mov    ax,OFFSET DGROUP:_szDstPath
  882.     push    ax
  883.     mov    ax,OFFSET DGROUP:_szDstFile
  884.     push    ax
  885.     call    _strcpy
  886.     add    sp,4
  887.     lea    ax,WORD PTR [bp-256]    ;b
  888.     push    ax
  889.     mov    ax,OFFSET DGROUP:_szDstFile
  890.     push    ax
  891.     call    _strcat
  892.     add    sp,4
  893. ; Line 214
  894.     mov    ax,OFFSET DGROUP:_szSrcFile
  895.     push    ax
  896.     call    _pFontName
  897.     add    sp,2
  898.     push    ax
  899.     mov    ax,OFFSET DGROUP:_szDstFile
  900.     push    ax
  901.     mov    ax,OFFSET DGROUP:_szSrcFile
  902.     push    ax
  903.     call    _bCopyFile
  904.     add    sp,6
  905.     mov    WORD PTR [bp-258],ax    ;iErr
  906.     push    ax
  907.     mov    cx,OFFSET DGROUP:$SG1136
  908.     push    ds
  909.     push    cx
  910.     mov    cx,OFFSET DGROUP:_szDiskName
  911.     push    ds
  912.     push    cx
  913.     call    FAR PTR _wsprintf
  914.     add    sp,10
  915.     push    WORD PTR _hMainWnd
  916.     mov    ax,OFFSET DGROUP:_szDiskName
  917.     push    ds
  918.     push    ax
  919.     sub    ax,ax
  920.     push    ax
  921.     push    ax
  922.     mov    ax,16
  923.     push    ax
  924.     call    FAR PTR MESSAGEBOX
  925. ; Line 215
  926.     cmp    WORD PTR [bp-258],1    ;iErr
  927.     jne    $JCC1644
  928.     jmp    $NeedSfRetry1135
  929. $JCC1644:
  930. ; Line 228
  931. ; Line 229
  932.     push    WORD PTR _hMainWnd
  933.     mov    ax,OFFSET DGROUP:$SG1145
  934.     push    ds
  935.     push    ax
  936.     mov    ax,OFFSET DGROUP:$SG1144
  937.     push    ds
  938.     push    ax
  939.     mov    ax,16
  940.     push    ax
  941.     call    FAR PTR MESSAGEBOX
  942. ; Line 230
  943.     push    WORD PTR [bp-258]    ;iErr
  944.     mov    ax,OFFSET DGROUP:$SG1146
  945.     push    ds
  946.     push    ax
  947.     mov    ax,OFFSET DGROUP:_szDiskName
  948.     push    ds
  949.     push    ax
  950.     call    FAR PTR _wsprintf
  951.     add    sp,10
  952.     push    WORD PTR _hMainWnd
  953.     mov    ax,OFFSET DGROUP:_szDiskName
  954.     push    ds
  955.     push    ax
  956.     sub    ax,ax
  957.     push    ax
  958.     push    ax
  959.     mov    ax,16
  960.     push    ax
  961.     call    FAR PTR MESSAGEBOX
  962.     jmp    $L20002
  963.     nop    
  964. $FB1126:
  965. ; Line 237
  966.     mov    ax,1
  967. ; Line 238
  968.     mov    sp,bp
  969.     pop    bp
  970.     ret    
  971.     nop    
  972.  
  973. _cwInst    ENDP
  974. ; Line 248
  975.     PUBLIC    _pFontName
  976. _pFontName    PROC NEAR
  977.     push    bp
  978.     mov    bp,sp
  979.     mov    ax,2
  980.     call    __aNchkstk
  981.     push    di
  982.     push    si
  983. ;    flabel = -2
  984. ;    register si = i
  985. ;    pFont = 4
  986. ; Line 252
  987.     mov    ax,20480
  988.     push    ax
  989.     sub    ax,ax
  990.     push    ax
  991.     mov    cx,OFFSET DGROUP:_cCpBuff
  992.     push    cx
  993.     call    _memset
  994.     add    sp,6
  995. ; Line 254
  996.     push    ds
  997.     push    WORD PTR [bp+4]    ;pFont
  998.     sub    ax,ax
  999.     push    ax
  1000.     call    FAR PTR _LOPEN
  1001.     mov    WORD PTR [bp-2],ax    ;flabel
  1002.     or    ax,ax
  1003.     jge    $I1154
  1004. ; Line 255
  1005. $L20006:
  1006.     mov    ax,OFFSET DGROUP:_cCpBuff
  1007.     pop    si
  1008.     pop    di
  1009.     mov    sp,bp
  1010.     pop    bp
  1011.     ret    
  1012. ; Line 256
  1013. $I1154:
  1014.     push    ax
  1015.     mov    ax,OFFSET DGROUP:_cCpBuff
  1016.     push    ds
  1017.     push    ax
  1018.     mov    ax,20480
  1019.     push    ax
  1020.     call    FAR PTR _LREAD
  1021. ; Line 257
  1022.     push    WORD PTR [bp-2]    ;flabel
  1023.     call    FAR PTR _LCLOSE
  1024. ; Line 259
  1025.     sub    si,si
  1026.     jmp    SHORT $F1155
  1027. ; Line 273
  1028. ; Line 274
  1029.     nop    
  1030. $FB1165:
  1031. ; Line 275
  1032. ; Line 276
  1033.     inc    si
  1034. $F1159:
  1035.     cmp    si,20480
  1036.     jae    $FB1161
  1037. ; Line 264
  1038. ; Line 265
  1039.     cmp    BYTE PTR _cCpBuff[si],58
  1040.     jne    $FB1165
  1041. $FC1164:
  1042.     inc    si
  1043.     cmp    si,20480
  1044.     jae    $FB1165
  1045. ; Line 268
  1046. ; Line 269
  1047.     cmp    BYTE PTR _cCpBuff[si],32
  1048.     je    $FC1164
  1049. ; Line 270
  1050. ; Line 271
  1051.     push    WORD PTR _hMainWnd
  1052.     mov    ax,si
  1053.     add    ax,OFFSET DGROUP:_cCpBuff
  1054.     push    ds
  1055.     push    ax
  1056.     mov    cx,OFFSET DGROUP:$SG1167
  1057.     push    ds
  1058.     push    cx
  1059.     mov    cx,16
  1060.     push    cx
  1061.     mov    di,ax
  1062.     call    FAR PTR MESSAGEBOX
  1063. ; Line 272
  1064.     mov    ax,di
  1065.     pop    si
  1066.     pop    di
  1067.     mov    sp,bp
  1068.     pop    bp
  1069.     ret    
  1070.     nop    
  1071. $FB1161:
  1072. ; Line 277
  1073. ; Line 279
  1074.     inc    si
  1075. $F1155:
  1076.     cmp    si,20480
  1077.     jae    $L20006
  1078. ; Line 260
  1079. ; Line 261
  1080.     mov    ax,OFFSET DGROUP:_patch
  1081.     push    ax
  1082.     call    _strlen
  1083.     add    sp,2
  1084.     push    ax
  1085.     mov    ax,OFFSET DGROUP:_patch
  1086.     push    ax
  1087.     mov    ax,si
  1088.     add    ax,OFFSET DGROUP:_cCpBuff
  1089.     push    ax
  1090.     call    _strncmp
  1091.     add    sp,6
  1092.     or    ax,ax
  1093.     jne    $FB1161
  1094. ; Line 262
  1095. ; Line 263
  1096.     add    si,8
  1097.     jmp    SHORT $F1159
  1098.     nop    
  1099.  
  1100. _pFontName    ENDP
  1101. ; Line 284
  1102.     PUBLIC    FLOPPY
  1103. FLOPPY    PROC FAR
  1104.     push    bp
  1105.     mov    bp,sp
  1106.     xor    ax,ax
  1107.     call    __aNchkstk
  1108.     push    di
  1109.     push    si
  1110.     mov    si,WORD PTR [bp+14]    ;hDlg
  1111.     mov    di,WORD PTR [bp+12]    ;wMsg
  1112. ;    register si = hDlg
  1113. ;    register di = wMsg
  1114. ;    wParam = 10
  1115. ;    lParam = 6
  1116. ; Line 289
  1117.     mov    ax,di
  1118.     jmp    SHORT $S1173
  1119. ; Line 290
  1120. ; Line 291
  1121. $SC1177:
  1122. ; Line 292
  1123.     push    si
  1124.     mov    ax,101
  1125.     push    ax
  1126.     mov    ax,OFFSET DGROUP:_szDiskName
  1127.     push    ds
  1128.     push    ax
  1129.     call    FAR PTR SETDLGITEMTEXT
  1130. ; Line 293
  1131.     push    si
  1132.     mov    ax,103
  1133.     push    ax
  1134.     mov    cx,OFFSET DGROUP:_szSrcPath
  1135.     push    ds
  1136.     push    cx
  1137.     call    FAR PTR SETDLGITEMTEXT
  1138. ; Line 294
  1139.     push    si
  1140.     mov    ax,103
  1141.     push    ax
  1142.     call    FAR PTR GETDLGITEM
  1143.     push    ax
  1144.     call    FAR PTR SETFOCUS
  1145. ; Line 295
  1146. $L20007:
  1147.     mov    ax,1
  1148.     jmp    SHORT $EX1172
  1149. ; Line 296
  1150.     nop    
  1151. $SC1178:
  1152. ; Line 297
  1153.     mov    ax,WORD PTR [bp+10]    ;wParam
  1154.     sub    ax,105
  1155.     je    $SC1183
  1156.     dec    ax
  1157.     je    $SC1184
  1158. ; Line 308
  1159.     jmp    SHORT $SB1174
  1160. ; Line 298
  1161. ; Line 299
  1162.     nop    
  1163. $SC1183:
  1164. ; Line 300
  1165.     mov    ax,256
  1166.     push    ax
  1167.     sub    ax,ax
  1168.     push    ax
  1169.     mov    ax,OFFSET DGROUP:_szSrcPath
  1170.     push    ax
  1171.     call    _memset
  1172.     add    sp,6
  1173. ; Line 301
  1174.     push    si
  1175.     mov    ax,103
  1176.     push    ax
  1177.     mov    ax,OFFSET DGROUP:_szSrcPath
  1178.     push    ds
  1179.     push    ax
  1180.     mov    ax,256
  1181.     push    ax
  1182.     call    FAR PTR GETDLGITEMTEXT
  1183. ; Line 302
  1184.     push    si
  1185.     mov    ax,1
  1186. $L20008:
  1187.     push    ax
  1188.     call    FAR PTR ENDDIALOG
  1189.     jmp    SHORT $L20007
  1190. ; Line 304
  1191. $SC1184:
  1192. ; Line 305
  1193.     push    si
  1194.     sub    ax,ax
  1195.     jmp    SHORT $L20008
  1196.     nop    
  1197. $S1173:
  1198.     sub    ax,272
  1199.     je    $SC1177
  1200.     dec    ax
  1201.     je    $SC1178
  1202. $SB1174:
  1203. ; Line 310
  1204.     sub    ax,ax
  1205. ; Line 311
  1206. $EX1172:
  1207.     pop    si
  1208.     pop    di
  1209.     mov    sp,bp
  1210.     pop    bp
  1211.     ret    10
  1212.  
  1213. FLOPPY    ENDP
  1214. ; Line 324
  1215.     PUBLIC    _bCopyFile
  1216. _bCopyFile    PROC NEAR
  1217.     push    bp
  1218.     mov    bp,sp
  1219.     mov    ax,8
  1220.     call    __aNchkstk
  1221. ;    fSrc = -8
  1222. ;    fDst = -2
  1223. ;    iReaded = -6
  1224. ;    iRetVal = -4
  1225. ;    pMessage = 8
  1226. ;    pDst = 6
  1227. ;    pSrc = 4
  1228. ; Line 332
  1229.     mov    WORD PTR [bp-4],0    ;iRetVal
  1230. ; Line 334
  1231.     cmp    WORD PTR [bp+8],0    ;pMessage
  1232.     jne    $I1193
  1233. ; Line 335
  1234.     mov    ax,WORD PTR [bp+4]    ;pSrc
  1235.     mov    WORD PTR [bp+8],ax    ;pMessage
  1236. ; Line 337
  1237. $I1193:
  1238.     push    WORD PTR _hMainWnd
  1239.     mov    ax,102
  1240.     push    ax
  1241.     mov    ax,OFFSET DGROUP:$SG1194
  1242.     push    ds
  1243.     push    ax
  1244.     call    FAR PTR SETDLGITEMTEXT
  1245. ; Line 338
  1246.     push    WORD PTR _hMainWnd
  1247.     mov    ax,104
  1248.     push    ax
  1249.     push    ds
  1250.     push    WORD PTR [bp+8]    ;pMessage
  1251.     call    FAR PTR SETDLGITEMTEXT
  1252. ; Line 340
  1253.     push    ds
  1254.     push    WORD PTR [bp+4]    ;pSrc
  1255.     sub    ax,ax
  1256.     push    ax
  1257.     call    FAR PTR _LOPEN
  1258.     mov    WORD PTR [bp-8],ax    ;fSrc
  1259.     or    ax,ax
  1260.     jge    $I1195
  1261. ; Line 341
  1262. ; Line 342
  1263.     mov    WORD PTR [bp-4],1    ;iRetVal
  1264. ; Line 343
  1265.     jmp    SHORT $CopyRet1196
  1266. ; Line 344
  1267. ; Line 346
  1268.     nop    
  1269. $I1195:
  1270.     push    ds
  1271.     push    WORD PTR [bp+6]    ;pDst
  1272.     sub    ax,ax
  1273.     push    ax
  1274.     call    FAR PTR _LCREAT
  1275.     push    ax
  1276.     call    FAR PTR _LCLOSE
  1277. ; Line 347
  1278.     push    ds
  1279.     push    WORD PTR [bp+6]    ;pDst
  1280.     mov    ax,1
  1281.     push    ax
  1282.     call    FAR PTR _LOPEN
  1283.     mov    WORD PTR [bp-2],ax    ;fDst
  1284.     or    ax,ax
  1285.     jge    $I1197
  1286. ; Line 348
  1287. ; Line 349
  1288.     mov    WORD PTR [bp-4],2    ;iRetVal
  1289. ; Line 350
  1290.     jmp    SHORT $CopyRet1196
  1291. ; Line 351
  1292. ; Line 353
  1293.     nop    
  1294. $I1197:
  1295. ; Line 354
  1296. ; Line 360
  1297.     push    WORD PTR [bp-8]    ;fSrc
  1298.     mov    ax,OFFSET DGROUP:_cCpBuff
  1299.     push    ds
  1300.     push    ax
  1301.     mov    ax,20480
  1302.     push    ax
  1303.     call    FAR PTR _LREAD
  1304.     mov    WORD PTR [bp-6],ax    ;iReaded
  1305.     or    ax,ax
  1306.     jge    $I1201
  1307. ; Line 361
  1308. ; Line 362
  1309.     mov    WORD PTR [bp-4],3    ;iRetVal
  1310. ; Line 363
  1311.     jmp    SHORT $CopyRet1196
  1312. ; Line 364
  1313. ; Line 365
  1314.     nop    
  1315. $I1201:
  1316.     push    WORD PTR [bp-2]    ;fDst
  1317.     mov    ax,OFFSET DGROUP:_cCpBuff
  1318.     push    ds
  1319.     push    ax
  1320.     push    WORD PTR [bp-6]    ;iReaded
  1321.     call    FAR PTR _LWRITE
  1322.     cmp    ax,WORD PTR [bp-6]    ;iReaded
  1323.     je    $I1202
  1324. ; Line 366
  1325. ; Line 367
  1326.     mov    WORD PTR [bp-4],4    ;iRetVal
  1327. ; Line 368
  1328.     jmp    SHORT $CopyRet1196
  1329. ; Line 369
  1330. ; Line 370
  1331. $I1202:
  1332. ; Line 371
  1333.     cmp    WORD PTR [bp-6],0    ;iReaded
  1334.     jg    $I1197
  1335. ; Line 372
  1336. $CopyRet1196:
  1337. ; Line 373
  1338.     push    WORD PTR [bp-8]    ;fSrc
  1339.     call    FAR PTR _LCLOSE
  1340. ; Line 374
  1341.     push    WORD PTR [bp-2]    ;fDst
  1342.     call    FAR PTR _LCLOSE
  1343. ; Line 375
  1344.     push    WORD PTR _hMainWnd
  1345.     mov    ax,102
  1346.     push    ax
  1347.     mov    ax,OFFSET DGROUP:$SG1203
  1348.     push    ds
  1349.     push    ax
  1350.     call    FAR PTR SETDLGITEMTEXT
  1351. ; Line 376
  1352.     push    WORD PTR _hMainWnd
  1353.     mov    ax,104
  1354.     push    ax
  1355.     mov    ax,OFFSET DGROUP:$SG1204
  1356.     push    ds
  1357.     push    ax
  1358.     call    FAR PTR SETDLGITEMTEXT
  1359. ; Line 377
  1360.     mov    ax,WORD PTR [bp-4]    ;iRetVal
  1361. ; Line 378
  1362.     mov    sp,bp
  1363.     pop    bp
  1364.     ret    
  1365.     nop    
  1366.  
  1367. _bCopyFile    ENDP
  1368. ; Line 386
  1369.     PUBLIC    _CopyErr
  1370. _CopyErr    PROC NEAR
  1371.     push    bp
  1372.     mov    bp,sp
  1373.     xor    ax,ax
  1374.     call    __aNchkstk
  1375. ;    iError = 8
  1376. ;    pDst = 6
  1377. ;    pSrc = 4
  1378. ; Line 391
  1379.     mov    ax,WORD PTR [bp+8]    ;iError
  1380.     or    ax,ax
  1381.     je    $SC1214
  1382.     dec    ax
  1383.     je    $SC1215
  1384.     dec    ax
  1385.     je    $SC1217
  1386.     dec    ax
  1387.     je    $SC1219
  1388.     dec    ax
  1389.     je    $SC1221
  1390. ; Line 417
  1391.     mov    ax,OFFSET DGROUP:$SG1224
  1392.     push    ax
  1393.     mov    ax,OFFSET DGROUP:_szErrMessage
  1394.     push    ax
  1395.     call    _strcpy
  1396.     jmp    SHORT $L20009
  1397. ; Line 392
  1398. ; Line 393
  1399. $SC1214:
  1400. ; Line 394
  1401.     sub    ax,ax
  1402.     mov    sp,bp
  1403.     pop    bp
  1404.     ret    
  1405. ; Line 395
  1406. $SC1215:
  1407. ; Line 397
  1408.     mov    ax,OFFSET DGROUP:$SG1216
  1409. $L20012:
  1410.     push    ax
  1411.     mov    ax,OFFSET DGROUP:_szErrMessage
  1412.     push    ax
  1413.     call    _strcpy
  1414.     mov    sp,bp
  1415. ; Line 398
  1416.     push    WORD PTR [bp+4]    ;pSrc
  1417. $L20010:
  1418.     mov    ax,OFFSET DGROUP:_szErrMessage
  1419.     push    ax
  1420.     call    _strcat
  1421. $L20009:
  1422.     mov    sp,bp
  1423. ; Line 399
  1424.     jmp    SHORT $SB1211
  1425. ; Line 400
  1426.     nop    
  1427. $SC1217:
  1428. ; Line 402
  1429.     mov    ax,OFFSET DGROUP:$SG1218
  1430.     jmp    SHORT $L20011
  1431. ; Line 405
  1432.     nop    
  1433. $SC1219:
  1434. ; Line 407
  1435.     mov    ax,OFFSET DGROUP:$SG1220
  1436.     jmp    SHORT $L20012
  1437. ; Line 410
  1438.     nop    
  1439. $SC1221:
  1440. ; Line 412
  1441.     mov    ax,OFFSET DGROUP:$SG1222
  1442. $L20011:
  1443.     push    ax
  1444.     mov    ax,OFFSET DGROUP:_szErrMessage
  1445.     push    ax
  1446.     call    _strcpy
  1447.     add    sp,4
  1448. ; Line 413
  1449.     push    WORD PTR [bp+6]    ;pDst
  1450.     jmp    SHORT $L20010
  1451. ; Line 415
  1452.     nop    
  1453. $SB1211:
  1454. ; Line 420
  1455.     push    WORD PTR _hMainWnd
  1456.     mov    ax,OFFSET DGROUP:_szErrMessage
  1457.     push    ds
  1458.     push    ax
  1459.     mov    ax,OFFSET _szTitle
  1460.     push    ds
  1461.     push    ax
  1462.     mov    ax,16
  1463.     push    ax
  1464.     call    FAR PTR MESSAGEBOX
  1465. ; Line 422
  1466.     mov    ax,WORD PTR [bp+8]    ;iError
  1467. ; Line 423
  1468.     mov    sp,bp
  1469.     pop    bp
  1470.     ret    
  1471.  
  1472. _CopyErr    ENDP
  1473. ; Line 429
  1474.     PUBLIC    __strup
  1475. __strup    PROC NEAR
  1476.     push    bp
  1477.     mov    bp,sp
  1478.     xor    ax,ax
  1479.     call    __aNchkstk
  1480.     push    si
  1481. ;    register si = i
  1482. ;    b = 4
  1483. ; Line 432
  1484.     sub    si,si
  1485.     jmp    SHORT $F1229
  1486.     nop    
  1487. $FC1230:
  1488. ; Line 433
  1489.     mov    bx,WORD PTR [bp+4]    ;b
  1490.     mov    al,BYTE PTR [bx][si]
  1491.     cbw    
  1492.     push    ax
  1493.     call    _toupper
  1494.     add    sp,2
  1495.     mov    bx,WORD PTR [bp+4]    ;b
  1496.     mov    BYTE PTR [bx][si],al
  1497.     inc    si
  1498. $F1229:
  1499.     push    WORD PTR [bp+4]    ;b
  1500.     call    _strlen
  1501.     add    sp,2
  1502.     cmp    ax,si
  1503.     ja    $FC1230
  1504. ; Line 434
  1505.     mov    ax,WORD PTR [bp+4]    ;b
  1506. ; Line 435
  1507.     pop    si
  1508.     mov    sp,bp
  1509.     pop    bp
  1510.     ret    
  1511.  
  1512. __strup    ENDP
  1513. ; Line 441
  1514.     PUBLIC    _myssearch
  1515. _myssearch    PROC NEAR
  1516.     push    bp
  1517.     mov    bp,sp
  1518.     xor    ax,ax
  1519.     call    __aNchkstk
  1520.     push    di
  1521.     push    si
  1522. ;    register si = i
  1523. ;    s2 = 6
  1524. ;    s1 = 4
  1525. ; Line 444
  1526.     push    WORD PTR [bp+4]    ;s1
  1527.     call    _strlen
  1528.     add    sp,2
  1529.     push    WORD PTR [bp+6]    ;s2
  1530.     mov    di,ax
  1531.     call    _strlen
  1532.     add    sp,2
  1533.     cmp    ax,di
  1534.     jbe    $I1236
  1535. ; Line 445
  1536. ; Line 446
  1537. $L20014:
  1538.     sub    ax,ax
  1539.     pop    si
  1540.     pop    di
  1541.     mov    sp,bp
  1542.     pop    bp
  1543.     ret    
  1544. ; Line 447
  1545. ; Line 449
  1546. $I1236:
  1547.     push    WORD PTR [bp+6]    ;s2
  1548.     push    WORD PTR [bp+4]    ;s1
  1549.     call    _strcmp
  1550.     add    sp,4
  1551.     or    ax,ax
  1552.     jne    $I1237
  1553. ; Line 450
  1554. $L20015:
  1555.     mov    ax,1
  1556.     pop    si
  1557.     pop    di
  1558.     mov    sp,bp
  1559.     pop    bp
  1560.     ret    
  1561. ; Line 452
  1562.     nop    
  1563. $I1237:
  1564.     sub    si,si
  1565.     jmp    SHORT $F1238
  1566. ; Line 457
  1567. ; Line 458
  1568. $FC1239:
  1569.     inc    si
  1570. $F1238:
  1571.     push    WORD PTR [bp+6]    ;s2
  1572.     call    _strlen
  1573.     add    sp,2
  1574.     push    WORD PTR [bp+4]    ;s1
  1575.     mov    di,ax
  1576.     call    _strlen
  1577.     add    sp,2
  1578.     sub    ax,di
  1579.     cmp    ax,si
  1580.     jbe    $L20014
  1581. ; Line 453
  1582. ; Line 454
  1583.     push    WORD PTR [bp+6]    ;s2
  1584.     call    _strlen
  1585.     add    sp,2
  1586.     push    ax
  1587.     push    WORD PTR [bp+6]    ;s2
  1588.     mov    ax,WORD PTR [bp+4]    ;s1
  1589.     add    ax,si
  1590.     push    ax
  1591.     call    _strncmp
  1592.     add    sp,6
  1593.     or    ax,ax
  1594.     jne    $FC1239
  1595.     jmp    SHORT $L20015
  1596.  
  1597. _myssearch    ENDP
  1598. _TEXT    ENDS
  1599. END
  1600.