DHAMP.EXE.a2 33 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601
  1. proc_10 PROC FAR
  2. 000 000D23 55 PUSH bp
  3. 001 000D24 8BEC MOV bp, sp
  4. 002 000D26 83EC68 SUB sp, 68h
  5. 003 000D29 56 PUSH si
  6. 004 000D2A 57 PUSH di
  7. 005 000D2B 1E PUSH ds
  8. 006 000D2C B85901 MOV ax, 159h
  9. 007 000D2F 50 PUSH ax
  10. 008 000D30 16 PUSH ss
  11. 009 000D31 8D469C LEA ax, [bp-64h]
  12. 010 000D34 50 PUSH ax
  13. 011 000D35 0E PUSH cs
  14. 012 000D36 E8CDFF CALL near ptr proc_2
  15. 013 000D39 83C408 ADD sp, 8
  16. 014 000D3C 1E PUSH ds
  17. 015 000D3D B87001 MOV ax, 170h
  18. 016 000D40 50 PUSH ax
  19. 017 000D41 1E PUSH ds
  20. 018 000D42 B86701 MOV ax, 167h
  21. 019 000D45 50 PUSH ax
  22. 020 000D46 9A24022904 CALL far ptr fopen
  23. 021 000D4B 83C408 ADD sp, 8
  24. 022 000D4E 89569A MOV [bp-66h], dx
  25. 023 000D51 894698 MOV [bp-68h], ax
  26. 024 000D54 0BD0 OR dx, ax
  27. 025 000D56 7516 JNE L1
  28. 026 000D58 1E PUSH ds
  29. 027 000D59 B87201 MOV ax, 172h
  30. 028 000D5C 50 PUSH ax
  31. 029 000D5D 9A02000E05 CALL far ptr printf
  32. 030 000D62 59 POP cx
  33. 031 000D63 59 POP cx
  34. 032 000D64 B8FFFF MOV ax, 0FFFFh
  35. 033 000D67 50 PUSH ax
  36. 034 000D68 9A0200DA03 CALL far ptr exit
  37. 035 000D6D 59 POP cx
  38. 036 000D6E 33FF L1: XOR di, di
  39. 038 000DAF 47 L2: INC di
  40. 039 000DB0 8BC7 MOV ax, di
  41. 040 000DB2 3DE803 CMP ax, 3E8h
  42. 041 000DB5 7CBB JL L3
  43. 042 000DB7 FF769A PUSH word ptr [bp-66h]
  44. 043 000DBA FF7698 PUSH word ptr [bp-68h]
  45. 044 000DBD 9A0800A104 CALL far ptr fclose
  46. 045 000DC2 59 POP cx
  47. 046 000DC3 59 POP cx
  48. 047 000DC4 8BC7 MOV ax, di
  49. 049 000DC8 5F POP di
  50. 050 000DC9 5E POP si
  51. 051 000DCA 8BE5 MOV sp, bp
  52. 052 000DCC 5D POP bp
  53. 053 000DCD CB RETF
  54. 054 000D72 33F6 L3: XOR si, si
  55. 056 000DA8 36807A9C00 L4: CMP byte ptr ss:[bp+si-64h], 0
  56. 057 000DAD 75C7 JNE L5
  57. 059 000D76 C45E98 L5: LES bx, dword ptr[bp-68h]
  58. 060 000D79 26FF07 INC word ptr es:[bx]
  59. 061 000D7C 7D17 JGE L6
  60. 062 000D7E 368A429C MOV al, ss:[bp+si-64h]
  61. 063 000D82 C45E98 LES bx, dword ptr[bp-68h]
  62. 064 000D85 26FF470C INC word ptr es:[bx+0Ch]
  63. 065 000D89 26C45F0C LES bx, dword ptres:[bx+0Ch]
  64. 066 000D8D 4B DEC bx
  65. 067 000D8E 268807 MOV es:[bx], al
  66. 068 000D91 B400 MOV ah, 0
  67. 070 000DA7 46 L7: INC si
  68. 071 JMP L4 ;Synthetic inst
  69. 072 000D95 FF769A L6: PUSH word ptr [bp-66h]
  70. 073 000D98 FF7698 PUSH word ptr [bp-68h]
  71. 074 000D9B 36FF729C PUSH word ptr ss:[bp+si-64h]
  72. 075 000D9F 9A06001005 CALL far ptr _fputc
  73. 076 000DA4 83C406 ADD sp, 6
  74. 077 JMP L7 ;Synthetic inst
  75. proc_10 ENDP
  76. proc_9 PROC FAR
  77. 000 000B96 55 PUSH bp
  78. 001 000B97 8BEC MOV bp, sp
  79. 002 000B99 83EC08 SUB sp, 8
  80. 003 000B9C 56 PUSH si
  81. 004 000B9D BE6400 MOV si, 64h
  82. 006 000C2B 8BC6 L8: MOV ax, si
  83. 007 000C2D 4E DEC si
  84. 008 000C2E 0BC0 OR ax, ax
  85. 009 000C30 7403 JE L9
  86. 011 000BA3 CD394606 L10: ESC FLD qword ptr [bp+6]
  87. 012 000BA7 CD384E06 ESC FMUL qword ptr [bp+6]
  88. 013 000BAB CD384E06 ESC FMUL qword ptr [bp+6]
  89. 014 000BAF CD384E06 ESC FMUL qword ptr [bp+6]
  90. 015 000BB3 CD384E06 ESC FMUL qword ptr [bp+6]
  91. 016 000BB7 CD384E06 ESC FMUL qword ptr [bp+6]
  92. 017 000BBB CD384E06 ESC FMUL qword ptr [bp+6]
  93. 018 000BBF CD395EF8 ESC FSTP qword ptr [bp-8]
  94. 019 000BC3 CD3D INT 3Dh /* Unknown int */
  95. 020 000BC5 CD3946F8 ESC FLD qword ptr [bp-8]
  96. 021 000BC9 CD387606 ESC FDIV qword ptr [bp+6]
  97. 022 000BCD CD387606 ESC FDIV qword ptr [bp+6]
  98. 023 000BD1 CD387606 ESC FDIV qword ptr [bp+6]
  99. 024 000BD5 CD387606 ESC FDIV qword ptr [bp+6]
  100. 025 000BD9 CD387606 ESC FDIV qword ptr [bp+6]
  101. 026 000BDD CD387606 ESC FDIV qword ptr [bp+6]
  102. 027 000BE1 CD395EF8 ESC FSTP qword ptr [bp-8]
  103. 028 000BE5 CD3D INT 3Dh /* Unknown int */
  104. 029 000BE7 CD3946F8 ESC FLD qword ptr [bp-8]
  105. 030 000BEB CD384606 ESC FADD qword ptr [bp+6]
  106. 031 000BEF CD384606 ESC FADD qword ptr [bp+6]
  107. 032 000BF3 CD384606 ESC FADD qword ptr [bp+6]
  108. 033 000BF7 CD384606 ESC FADD qword ptr [bp+6]
  109. 034 000BFB CD384606 ESC FADD qword ptr [bp+6]
  110. 035 000BFF CD384606 ESC FADD qword ptr [bp+6]
  111. 036 000C03 CD395EF8 ESC FSTP qword ptr [bp-8]
  112. 037 000C07 CD3D INT 3Dh /* Unknown int */
  113. 038 000C09 CD3946F8 ESC FLD qword ptr [bp-8]
  114. 039 000C0D CD386606 ESC FSUB qword ptr [bp+6]
  115. 040 000C11 CD386606 ESC FSUB qword ptr [bp+6]
  116. 041 000C15 CD386606 ESC FSUB qword ptr [bp+6]
  117. 042 000C19 CD386606 ESC FSUB qword ptr [bp+6]
  118. 043 000C1D CD386606 ESC FSUB qword ptr [bp+6]
  119. 044 000C21 CD386606 ESC FSUB qword ptr [bp+6]
  120. 045 000C25 CD395EF8 ESC FSTP qword ptr [bp-8]
  121. 046 000C29 CD3D INT 3Dh /* Unknown int */
  122. 047 JMP L8 ;Synthetic inst
  123. 048 000C35 CD3946F8 L9: ESC FLD qword ptr [bp-8]
  124. 050 000C3B 5E POP si
  125. 051 000C3C 8BE5 MOV sp, bp
  126. 052 000C3E 5D POP bp
  127. 053 000C3F CB RETF
  128. proc_9 ENDP
  129. proc_8 PROC FAR
  130. 000 000B68 55 PUSH bp
  131. 001 000B69 8BEC MOV bp, sp
  132. 002 000B6B CD39062601 ESC FLD qword ptr [126h]
  133. 003 000B70 CD394606 ESC FLD qword ptr [bp+6]
  134. 004 000B74 CD3AD9 ESC FCOMPP
  135. 005 000B77 CD393E2C06 ESC FSTSW qword ptr [62Ch]
  136. 006 000B7C CD3D INT 3Dh /* Unknown int */
  137. 007 000B7E 8A262D06 MOV ah, [62Dh]
  138. 008 000B82 9E SAHF
  139. 009 000B83 7309 JAE L11
  140. 010 000B85 CD394606 ESC FLD qword ptr [bp+6]
  141. 011 000B89 CD35E0 ESC FCHS
  142. 014 000B94 5D L12: POP bp
  143. 015 000B95 CB RETF
  144. 016 000B8E CD394606 L11: ESC FLD qword ptr [bp+6]
  145. 017 JMP L12 ;Synthetic inst
  146. proc_8 ENDP
  147. proc_7 PROC FAR
  148. 000 000AD1 55 PUSH bp
  149. 001 000AD2 8BEC MOV bp, sp
  150. 002 000AD4 83EC10 SUB sp, 10h
  151. 003 000AD7 CD394606 ESC FLD qword ptr [bp+6]
  152. 004 000ADB CD38362701 ESC FDIV qword ptr [127h]
  153. 005 000AE0 CD395EF8 ESC FSTP qword ptr [bp-8]
  154. 006 000AE4 CD3D INT 3Dh /* Unknown int */
  155. 007 000AE6 8B460C MOV ax, [bp+0Ch]
  156. 008 000AE9 8946F6 MOV [bp-0Ah], ax
  157. 009 000AEC 8B460A MOV ax, [bp+0Ah]
  158. 010 000AEF 8946F4 MOV [bp-0Ch], ax
  159. 011 000AF2 8B4608 MOV ax, [bp+8]
  160. 012 000AF5 8946F2 MOV [bp-0Eh], ax
  161. 013 000AF8 8B4606 MOV ax, [bp+6]
  162. 014 000AFB 8946F0 MOV [bp-10h], ax
  163. 016 000B43 CD39062F01 L13: ESC FLD qword ptr [12Fh]
  164. 017 000B48 CD384EF8 ESC FMUL qword ptr [bp-8]
  165. 018 000B4C CD385EF0 ESC FCOMP qword ptr [bp-10h]
  166. 019 000B50 CD393E2C06 ESC FSTSW qword ptr [62Ch]
  167. 020 000B55 CD3D INT 3Dh /* Unknown int */
  168. 021 000B57 8A262D06 MOV ah, [62Dh]
  169. 022 000B5B 9E SAHF
  170. 023 000B5C 72A2 JB L14
  171. 024 000B5E CD3946F8 ESC FLD qword ptr [bp-8]
  172. 026 000B64 8BE5 MOV sp, bp
  173. 027 000B66 5D POP bp
  174. 028 000B67 CB RETF
  175. 029 000B00 CD394606 L14: ESC FLD qword ptr [bp+6]
  176. 030 000B04 CD3876F8 ESC FDIV qword ptr [bp-8]
  177. 031 000B08 CD3866F8 ESC FSUB qword ptr [bp-8]
  178. 032 000B0C CD395EF0 ESC FSTP qword ptr [bp-10h]
  179. 033 000B10 CD3D INT 3Dh /* Unknown int */
  180. 034 000B12 FF76F6 PUSH word ptr [bp-0Ah]
  181. 035 000B15 FF76F4 PUSH word ptr [bp-0Ch]
  182. 036 000B18 FF76F2 PUSH word ptr [bp-0Eh]
  183. 037 000B1B FF76F0 PUSH word ptr [bp-10h]
  184. 038 000B1E 9AB8028B00 CALL far ptr proc_8
  185. 039 000B23 83C408 ADD sp, 8
  186. 040 000B26 CD395EF0 ESC FSTP qword ptr [bp-10h]
  187. 041 000B2A CD3D INT 3Dh /* Unknown int */
  188. 042 000B2C CD394606 ESC FLD qword ptr [bp+6]
  189. 043 000B30 CD3876F8 ESC FDIV qword ptr [bp-8]
  190. 044 000B34 CD3846F8 ESC FADD qword ptr [bp-8]
  191. 045 000B38 CD38362701 ESC FDIV qword ptr [127h]
  192. 046 000B3D CD395EF8 ESC FSTP qword ptr [bp-8]
  193. 047 000B41 CD3D INT 3Dh /* Unknown int */
  194. 048 JMP L13 ;Synthetic inst
  195. proc_7 ENDP
  196. proc_6 PROC FAR
  197. 000 000A74 55 PUSH bp
  198. 001 000A75 8BEC MOV bp, sp
  199. 002 000A77 56 PUSH si
  200. 003 000A78 8B4606 MOV ax, [bp+6]
  201. 004 000A7B 0B4608 OR ax, [bp+8]
  202. 005 000A7E 7524 JNE L15
  203. 006 000A80 33F6 XOR si, si
  204. 008 000A9C 81FE2823 L16: CMP si, 2328h
  205. 009 000AA0 7CE2 JL L17
  206. 011 000AC6 8B5608 L18: MOV dx, [bp+8]
  207. 012 000AC9 8B4606 MOV ax, [bp+6]
  208. 014 000ACE 5E POP si
  209. 015 000ACF 5D POP bp
  210. 016 000AD0 CB RETF
  211. 017 000A84 8B169600 L17: MOV dx, [96h]
  212. 018 000A88 A19400 MOV ax, [94h]
  213. 019 000A8B 014606 ADD [bp+6], ax
  214. 020 000A8E 115608 ADC [bp+8], dx
  215. 021 000A91 8306940002 ADD word ptr [94h], 2
  216. 022 000A96 8316960000 ADC word ptr [96h], 0
  217. 023 000A9B 46 INC si
  218. 024 JMP L16 ;Synthetic inst
  219. 025 000AA4 33F6 L15: XOR si, si
  220. 027 000AC0 81FE2823 L19: CMP si, 2328h
  221. 028 000AC4 7CE2 JL L20
  222. 030 000AA8 832E940002 L20: SUB word ptr [94h], 2
  223. 031 000AAD 831E960000 SBB word ptr [96h], 0
  224. 032 000AB2 8B169600 MOV dx, [96h]
  225. 033 000AB6 A19400 MOV ax, [94h]
  226. 034 000AB9 294606 SUB [bp+6], ax
  227. 035 000ABC 195608 SBB [bp+8], dx
  228. 036 000ABF 46 INC si
  229. 037 JMP L19 ;Synthetic inst
  230. proc_6 ENDP
  231. proc_5 PROC FAR
  232. 000 000C40 55 PUSH bp
  233. 001 000C41 8BEC MOV bp, sp
  234. 002 000C43 56 PUSH si
  235. 003 000C44 8B7606 MOV si, [bp+6]
  236. 004 000C47 83FE02 CMP si, 2
  237. 005 000C4A 7E1E JLE L21
  238. 006 000C4C 8BC6 MOV ax, si
  239. 007 000C4E 48 DEC ax
  240. 008 000C4F 50 PUSH ax
  241. 009 000C50 0E PUSH cs
  242. 010 000C51 E8ECFF CALL near ptr proc_5
  243. 011 000C54 59 POP cx
  244. 012 000C55 50 PUSH ax
  245. 013 000C56 8BC6 MOV ax, si
  246. 014 000C58 05FEFF ADD ax, 0FFFEh
  247. 015 000C5B 50 PUSH ax
  248. 016 000C5C 0E PUSH cs
  249. 017 000C5D E8E0FF CALL near ptr proc_5
  250. 018 000C60 59 POP cx
  251. 019 000C61 8BD0 MOV dx, ax
  252. 020 000C63 58 POP ax
  253. 021 000C64 03C2 ADD ax, dx
  254. 023 000C6F 5E L22: POP si
  255. 024 000C70 5D POP bp
  256. 025 000C71 CB RETF
  257. 026 000C6A B80100 L21: MOV ax, 1
  258. 027 000C6D EB00 JMP L22
  259. proc_5 ENDP
  260. proc_4 PROC FAR
  261. 000 000DCE 55 PUSH bp
  262. 001 000DCF 8BEC MOV bp, sp
  263. 002 000DD1 83EC04 SUB sp, 4
  264. 003 000DD4 56 PUSH si
  265. 004 000DD5 57 PUSH di
  266. 005 000DD6 33F6 XOR si, si
  267. 007 000DFA 81FEE803 L23: CMP si, 3E8h
  268. 008 000DFE 7CDA JL L24
  269. 009 000E00 8B46FE MOV ax, [bp-2]
  270. 011 000E05 5F POP di
  271. 012 000E06 5E POP si
  272. 013 000E07 8BE5 MOV sp, bp
  273. 014 000E09 5D POP bp
  274. 015 000E0A CB RETF
  275. 016 000DDA C746FE0000 L24: MOV word ptr [bp-2], 0
  276. 017 000DDF 33FF XOR di, di
  277. 018 000DE1 C746FC0100 MOV word ptr [bp-4], 1
  278. 020 000DF3 81FFB300 L25: CMP di, 0B3h
  279. 021 000DF7 7CEF JL L26
  280. 022 000DF9 46 INC si
  281. 023 JMP L23 ;Synthetic inst
  282. 024 000DE8 8B46FC L26: MOV ax, [bp-4]
  283. 025 000DEB 0146FE ADD [bp-2], ax
  284. 026 000DEE 8346FC02 ADD word ptr [bp-4], 2
  285. 027 000DF2 47 INC di
  286. 028 JMP L25 ;Synthetic inst
  287. proc_4 ENDP
  288. proc_3 PROC FAR
  289. 000 000CC8 55 PUSH bp
  290. 001 000CC9 8BEC MOV bp, sp
  291. 003 000CE0 C45E06 L27: LES bx, dword ptr[bp+6]
  292. 004 000CE3 268A07 MOV al, es:[bx]
  293. 005 000CE6 C45E0A LES bx, dword ptr[bp+0Ah]
  294. 006 000CE9 263A07 CMP al, es:[bx]
  295. 007 000CEC 74DF JE L28
  296. 008 000CEE C45E06 LES bx, dword ptr[bp+6]
  297. 009 000CF1 268A07 MOV al, es:[bx]
  298. 010 000CF4 98 CWD
  299. 011 000CF5 C45E0A LES bx, dword ptr[bp+0Ah]
  300. 012 000CF8 50 PUSH ax
  301. 013 000CF9 268A07 MOV al, es:[bx]
  302. 014 000CFC 98 CWD
  303. 015 000CFD 8BD0 MOV dx, ax
  304. 016 000CFF 58 POP ax
  305. 017 000D00 2BC2 SUB ax, dx
  306. 019 000D04 5D L29: POP bp
  307. 020 000D05 CB RETF
  308. 021 000CCD C45E06 L28: LES bx, dword ptr[bp+6]
  309. 022 000CD0 26803F00 CMP byte ptr es:[bx], 0
  310. 023 000CD4 7504 JNE L30
  311. 024 000CD6 33C0 XOR ax, ax
  312. 025 000CD8 EB2A JMP L29
  313. 026 000CDA FF4606 L30: INC word ptr [bp+6]
  314. 027 000CDD FF460A INC word ptr [bp+0Ah]
  315. 028 JMP L27 ;Synthetic inst
  316. proc_3 ENDP
  317. proc_2 PROC FAR
  318. 000 000D06 55 PUSH bp
  319. 001 000D07 8BEC MOV bp, sp
  320. 003 000D0B C45E0A L31: LES bx, dword ptr[bp+0Ah]
  321. 004 000D0E FF460A INC word ptr [bp+0Ah]
  322. 005 000D11 268A07 MOV al, es:[bx]
  323. 006 000D14 C45E06 LES bx, dword ptr[bp+6]
  324. 007 000D17 FF4606 INC word ptr [bp+6]
  325. 008 000D1A 268807 MOV es:[bx], al
  326. 009 000D1D 0AC0 OR al, al
  327. 010 000D1F 75EA JNE L31
  328. 011 000D21 5D POP bp
  329. 012 000D22 CB RETF
  330. proc_2 ENDP
  331. proc_1 PROC FAR
  332. 000 000C72 55 PUSH bp
  333. 001 000C73 8BEC MOV bp, sp
  334. 002 000C75 56 PUSH si
  335. 003 000C76 57 PUSH di
  336. 004 000C77 33F6 XOR si, si
  337. 005 000C79 33FF XOR di, di
  338. 007 000CBA 81FE2823 L32: CMP si, 2328h
  339. 008 000CBE 7CBD JL L33
  340. 009 000CC0 8BC7 MOV ax, di
  341. 011 000CC4 5F POP di
  342. 012 000CC5 5E POP si
  343. 013 000CC6 5D POP bp
  344. 014 000CC7 CB RETF
  345. 015 000C7D 1E L33: PUSH ds
  346. 016 000C7E B83701 MOV ax, 137h
  347. 017 000C81 50 PUSH ax
  348. 018 000C82 FF7608 PUSH word ptr [bp+8]
  349. 019 000C85 FF7606 PUSH word ptr [bp+6]
  350. 020 000C88 9A56048B00 CALL far ptr proc_2
  351. 021 000C8D 83C408 ADD sp, 8
  352. 022 000C90 1E PUSH ds
  353. 023 000C91 B84801 MOV ax, 148h
  354. 024 000C94 50 PUSH ax
  355. 025 000C95 FF760C PUSH word ptr [bp+0Ch]
  356. 026 000C98 FF760A PUSH word ptr [bp+0Ah]
  357. 027 000C9B 9A56048B00 CALL far ptr proc_2
  358. 028 000CA0 83C408 ADD sp, 8
  359. 029 000CA3 FF760C PUSH word ptr [bp+0Ch]
  360. 030 000CA6 FF760A PUSH word ptr [bp+0Ah]
  361. 031 000CA9 FF7608 PUSH word ptr [bp+8]
  362. 032 000CAC FF7606 PUSH word ptr [bp+6]
  363. 033 000CAF 9A18048B00 CALL far ptr proc_3
  364. 034 000CB4 83C408 ADD sp, 8
  365. 035 000CB7 03F8 ADD di, ax
  366. 036 000CB9 46 INC si
  367. 037 JMP L32 ;Synthetic inst
  368. proc_1 ENDP
  369. main PROC FAR
  370. 000 0008B4 55 PUSH bp
  371. 001 0008B5 8BEC MOV bp, sp
  372. 002 0008B7 81ECD400 SUB sp, 0D4h
  373. 003 0008BB 56 PUSH si
  374. 004 0008BC 33F6 XOR si, si
  375. 005 0008BE B80700 MOV ax, 7
  376. 006 0008C1 50 PUSH ax
  377. 007 0008C2 1E PUSH ds
  378. 008 0008C3 B89800 MOV ax, 98h
  379. 009 0008C6 50 PUSH ax
  380. 010 0008C7 9A02000E05 CALL far ptr printf
  381. 011 0008CC 83C406 ADD sp, 6
  382. 013 000A56 83FE06 L34: CMP si, 6
  383. 014 000A59 7D03 JGE L35
  384. 016 0008D2 8BC6 L36: MOV ax, si
  385. 017 0008D4 3D0500 CMP ax, 5
  386. 018 0008D7 7603 JBE L37
  387. 021 000A55 46 L38: INC si
  388. 022 JMP L34 ;Synthetic inst
  389. 023 0008DC 8BD8 L37: MOV bx, ax
  390. 024 0008DE D1E3 SHL bx, 1
  391. 025 0008E0 2EFFA73500 JMP word ptr cs:[bx+35h];Switch
  392. 026 0008F1 16 PUSH ss ;Case l0
  393. 027 0008F2 8D4690 LEA ax, [bp-70h]
  394. 028 0008F5 50 PUSH ax
  395. 029 0008F6 16 PUSH ss
  396. 030 0008F7 8D862CFF LEA ax, [bp-0D4h]
  397. 031 0008FB 50 PUSH ax
  398. 032 0008FC 9AC2038B00 CALL far ptr proc_1
  399. 033 000901 83C408 ADD sp, 8
  400. 034 000904 A31806 MOV [618h], ax
  401. 035 000907 FF361806 PUSH word ptr [618h]
  402. 036 00090B 1E PUSH ds
  403. 037 00090C B8A500 MOV ax, 0A5h
  404. 038 00090F 50 PUSH ax
  405. 039 000910 9A02000E05 CALL far ptr printf
  406. 040 000915 83C406 ADD sp, 6
  407. 041 000918 E93A01 JMP L38
  408. 042 00091B 9A1E058B00 CALL far ptr proc_4 ;Case l1
  409. 043 000920 A31A06 MOV [61Ah], ax
  410. 044 000923 FF361A06 PUSH word ptr [61Ah]
  411. 045 000927 1E PUSH ds
  412. 046 000928 B8B400 MOV ax, 0B4h
  413. 047 00092B 50 PUSH ax
  414. 048 00092C 9A02000E05 CALL far ptr printf
  415. 049 000931 83C406 ADD sp, 6
  416. 050 000934 E91E01 JMP L38
  417. 051 000937 B81800 MOV ax, 18h ;Case l2
  418. 052 00093A 50 PUSH ax
  419. 053 00093B 9A90038B00 CALL far ptr proc_5
  420. 054 000940 59 POP cx
  421. 055 000941 A31E06 MOV [61Eh], ax
  422. 056 000944 FF361E06 PUSH word ptr [61Eh]
  423. 057 000948 1E PUSH ds
  424. 058 000949 B8C300 MOV ax, 0C3h
  425. 059 00094C 50 PUSH ax
  426. 060 00094D 9A02000E05 CALL far ptr printf
  427. 061 000952 83C406 ADD sp, 6
  428. 062 000955 E9FD00 JMP L38
  429. 063 000958 C746F60000 MOV word ptr [bp-0Ah], 0;Case l3
  430. 064 00095D C746F40000 MOV word ptr [bp-0Ch], 0
  431. 065 000962 FF76F6 PUSH word ptr [bp-0Ah]
  432. 066 000965 FF76F4 PUSH word ptr [bp-0Ch]
  433. 067 000968 9AC4018B00 CALL far ptr proc_6
  434. 068 00096D 59 POP cx
  435. 069 00096E 59 POP cx
  436. 070 00096F 89162206 MOV [622h], dx
  437. 071 000973 A32006 MOV [620h], ax
  438. 072 000976 FF362206 PUSH word ptr [622h]
  439. 073 00097A FF362006 PUSH word ptr [620h]
  440. 074 00097E 9AC4018B00 CALL far ptr proc_6
  441. 075 000983 59 POP cx
  442. 076 000984 59 POP cx
  443. 077 000985 8956F6 MOV [bp-0Ah], dx
  444. 078 000988 8946F4 MOV [bp-0Ch], ax
  445. 079 00098B FF362206 PUSH word ptr [622h]
  446. 080 00098F FF362006 PUSH word ptr [620h]
  447. 081 000993 1E PUSH ds
  448. 082 000994 B8D200 MOV ax, 0D2h
  449. 083 000997 50 PUSH ax
  450. 084 000998 9A02000E05 CALL far ptr printf
  451. 085 00099D 83C408 ADD sp, 8
  452. 086 0009A0 FF76F6 PUSH word ptr [bp-0Ah]
  453. 087 0009A3 FF76F4 PUSH word ptr [bp-0Ch]
  454. 088 0009A6 1E PUSH ds
  455. 089 0009A7 B8E100 MOV ax, 0E1h
  456. 090 0009AA 50 PUSH ax
  457. 091 0009AB 9A02000E05 CALL far ptr printf
  458. 092 0009B0 83C408 ADD sp, 8
  459. 093 0009B3 E99F00 JMP L38
  460. 094 0009B6 8B162206 MOV dx, [622h] ;Case l4
  461. 095 0009BA A12006 MOV ax, [620h]
  462. 096 0009BD 52 PUSH dx
  463. 097 0009BE 50 PUSH ax
  464. 098 0009BF CD378626FF ESC FILD dword ptr [bp-0DAh]
  465. 099 0009C4 CD3D INT 3Dh /* Unknown int */
  466. 100 0009C6 83C404 ADD sp, 4
  467. 101 0009C9 83EC08 SUB sp, 8
  468. 102 0009CC CD399E22FF ESC FSTP qword ptr [bp-0DEh]
  469. 103 0009D1 CD3D INT 3Dh /* Unknown int */
  470. 104 0009D3 9A21028B00 CALL far ptr proc_7
  471. 105 0009D8 83C408 ADD sp, 8
  472. 106 0009DB CD391E2406 ESC FSTP qword ptr [624h]
  473. 107 0009E0 CD3D INT 3Dh /* Unknown int */
  474. 108 0009E2 FF362A06 PUSH word ptr [62Ah]
  475. 109 0009E6 FF362806 PUSH word ptr [628h]
  476. 110 0009EA FF362606 PUSH word ptr [626h]
  477. 111 0009EE FF362406 PUSH word ptr [624h]
  478. 112 0009F2 1E PUSH ds
  479. 113 0009F3 B8F100 MOV ax, 0F1h
  480. 114 0009F6 50 PUSH ax
  481. 115 0009F7 9A02000E05 CALL far ptr printf
  482. 116 0009FC 83C40C ADD sp, 0Ch
  483. 117 0009FF FF362A06 PUSH word ptr [62Ah]
  484. 118 000A03 FF362806 PUSH word ptr [628h]
  485. 119 000A07 FF362606 PUSH word ptr [626h]
  486. 120 000A0B FF362406 PUSH word ptr [624h]
  487. 121 000A0F 9AE6028B00 CALL far ptr proc_9
  488. 122 000A14 83C408 ADD sp, 8
  489. 123 000A17 CD395EF8 ESC FSTP qword ptr [bp-8]
  490. 124 000A1B CD3D INT 3Dh /* Unknown int */
  491. 125 000A1D FF76FE PUSH word ptr [bp-2]
  492. 126 000A20 FF76FC PUSH word ptr [bp-4]
  493. 127 000A23 FF76FA PUSH word ptr [bp-6]
  494. 128 000A26 FF76F8 PUSH word ptr [bp-8]
  495. 129 000A29 1E PUSH ds
  496. 130 000A2A B80001 MOV ax, 100h
  497. 131 000A2D 50 PUSH ax
  498. 132 000A2E 9A02000E05 CALL far ptr printf
  499. 133 000A33 83C40C ADD sp, 0Ch
  500. 134 000A36 EB1D JMP L38
  501. 135 000A38 9A73048B00 CALL far ptr proc_10 ;Case l5
  502. 136 000A3D A31C06 MOV [61Ch], ax
  503. 137 000A40 FF361C06 PUSH word ptr [61Ch]
  504. 138 000A44 1E PUSH ds
  505. 139 000A45 B80E01 MOV ax, 10Eh
  506. 140 000A48 50 PUSH ax
  507. 141 000A49 9A02000E05 CALL far ptr printf
  508. 142 000A4E 83C406 ADD sp, 6
  509. 143 000A51 EB02 JMP L38
  510. 144 000A5E B80700 L35: MOV ax, 7
  511. 145 000A61 50 PUSH ax
  512. 146 000A62 1E PUSH ds
  513. 147 000A63 B81C01 MOV ax, 11Ch
  514. 148 000A66 50 PUSH ax
  515. 149 000A67 9A02000E05 CALL far ptr printf
  516. 150 000A6C 83C406 ADD sp, 6
  517. 151 000A6F 5E POP si
  518. 152 000A70 8BE5 MOV sp, bp
  519. 153 000A72 5D POP bp
  520. 154 000A73 CB RETF
  521. main ENDP