runtime.golden 46 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595
  1. # runtime.golden -- full FCML disassembly of the runtime's code region.
  2. #
  3. # GENERATED by tests/check_runtime.py --bless, then READ THE DIFF and commit.
  4. # Every line is "OFFSET BYTES MNEMONIC". This file is a deliberate
  5. # tripwire: any edit to Runtime.mod invalidates it, because inserting an
  6. # instruction renumbers everything after it, so you are forced to look at the
  7. # whole new listing and confirm you meant every change. See the "Re-baselining
  8. # the golden" section of check_runtime.py.
  9. #
  10. # Region: bytes 0..codeEnd of the runtime image (see the code/data split in
  11. # EmitData). Relative targets are absolute offsets within the runtime, which
  12. # the compiler adds to the runtime's load address when it emits a CALL.
  13. 0000 8B F0 mov si,ax
  14. 0002 8B 54 04 mov dx,word ptr [si+4h]
  15. 0005 8B 4C 06 mov cx,word ptr [si+6h]
  16. 0008 39 D1 cmp cx,dx
  17. 000A 76 0D jbe 19h
  18. 000C 89 D7 mov di,dx
  19. 000E 31 C0 xor ax,ax
  20. 0010 89 05 mov word ptr [di],ax
  21. 0012 83 C7 02 add di,2h
  22. 0015 39 CF cmp di,cx
  23. 0017 72 F5 jb 0eh
  24. 0019 1E push ds
  25. 001A 07 pop es
  26. 001B C3 ret
  27. 001C 31 C0 xor ax,ax
  28. 001E B4 4C mov ah,4ch
  29. 0020 CD 21 int 21h
  30. 0022 C3 ret
  31. 0023 C3 ret
  32. 0024 55 push bp
  33. 0025 8B EC mov bp,sp
  34. 0027 8B 46 04 mov ax,word ptr [bp+4h]
  35. 002A 83 F8 00 cmp ax,0h
  36. 002D 7D 0A jnl 39h
  37. 002F 50 push ax
  38. 0030 B0 2D mov al,2dh
  39. 0032 B4 02 mov ah,2h
  40. 0034 CD 21 int 21h
  41. 0036 58 pop ax
  42. 0037 F7 D8 neg ax
  43. 0039 B9 0A 00 mov cx,0ah
  44. 003C BB DC 0D mov bx,0ddch
  45. 003F 89 DE mov si,bx
  46. 0041 31 D2 xor dx,dx
  47. 0043 F7 F1 div ax,cx
  48. 0045 80 C2 30 add dl,30h
  49. 0048 4E dec si
  50. 0049 88 14 mov byte ptr [si],dl
  51. 004B 83 F8 00 cmp ax,0h
  52. 004E 75 F1 jne 41h
  53. 0050 39 DE cmp si,bx
  54. 0052 74 09 je 5dh
  55. 0054 8A 04 mov al,byte ptr [si]
  56. 0056 B4 02 mov ah,2h
  57. 0058 CD 21 int 21h
  58. 005A 46 inc si
  59. 005B EB F3 jmp 50h
  60. 005D 89 EC mov sp,bp
  61. 005F 5D pop bp
  62. 0060 C3 ret
  63. 0061 55 push bp
  64. 0062 8B EC mov bp,sp
  65. 0064 BB 00 00 mov bx,0h
  66. 0067 8B 46 06 mov ax,word ptr [bp+6h]
  67. 006A 83 F8 00 cmp ax,0h
  68. 006D 7D 03 jnl 72h
  69. 006F 43 inc bx
  70. 0070 F7 D8 neg ax
  71. 0072 B9 0A 00 mov cx,0ah
  72. 0075 43 inc bx
  73. 0076 31 D2 xor dx,dx
  74. 0078 F7 F1 div ax,cx
  75. 007A 83 F8 00 cmp ax,0h
  76. 007D 75 F6 jne 75h
  77. 007F 8B 46 04 mov ax,word ptr [bp+4h]
  78. 0082 2B C3 sub ax,bx
  79. 0084 83 F8 00 cmp ax,0h
  80. 0087 7E 0A jle 93h
  81. 0089 89 C1 mov cx,ax
  82. 008B B0 20 mov al,20h
  83. 008D B4 02 mov ah,2h
  84. 008F CD 21 int 21h
  85. 0091 E2 F8 loop 8bh
  86. 0093 8B 46 06 mov ax,word ptr [bp+6h]
  87. 0096 83 F8 00 cmp ax,0h
  88. 0099 7D 0A jnl 0a5h
  89. 009B 50 push ax
  90. 009C B0 2D mov al,2dh
  91. 009E B4 02 mov ah,2h
  92. 00A0 CD 21 int 21h
  93. 00A2 58 pop ax
  94. 00A3 F7 D8 neg ax
  95. 00A5 B9 0A 00 mov cx,0ah
  96. 00A8 BB DC 0D mov bx,0ddch
  97. 00AB 89 DE mov si,bx
  98. 00AD 31 D2 xor dx,dx
  99. 00AF F7 F1 div ax,cx
  100. 00B1 80 C2 30 add dl,30h
  101. 00B4 4E dec si
  102. 00B5 88 14 mov byte ptr [si],dl
  103. 00B7 83 F8 00 cmp ax,0h
  104. 00BA 75 F1 jne 0adh
  105. 00BC 39 DE cmp si,bx
  106. 00BE 74 09 je 0c9h
  107. 00C0 8A 04 mov al,byte ptr [si]
  108. 00C2 B4 02 mov ah,2h
  109. 00C4 CD 21 int 21h
  110. 00C6 46 inc si
  111. 00C7 EB F3 jmp 0bch
  112. 00C9 89 EC mov sp,bp
  113. 00CB 5D pop bp
  114. 00CC C3 ret
  115. 00CD 55 push bp
  116. 00CE 8B EC mov bp,sp
  117. 00D0 8A 46 04 mov al,byte ptr [bp+4h]
  118. 00D3 89 EC mov sp,bp
  119. 00D5 5D pop bp
  120. 00D6 B4 02 mov ah,2h
  121. 00D8 CD 21 int 21h
  122. 00DA C3 ret
  123. 00DB 55 push bp
  124. 00DC 8B EC mov bp,sp
  125. 00DE 83 7E 04 00 cmp word ptr [bp+4h],0h
  126. 00E2 89 EC mov sp,bp
  127. 00E4 75 05 jne 0ebh
  128. 00E6 BA E1 0D mov dx,0de1h
  129. 00E9 EB 03 jmp 0eeh
  130. 00EB BA DC 0D mov dx,0ddch
  131. 00EE B4 09 mov ah,9h
  132. 00F0 CD 21 int 21h
  133. 00F2 5D pop bp
  134. 00F3 C3 ret
  135. 00F4 BA EA 0D mov dx,0deah
  136. 00F7 B4 09 mov ah,9h
  137. 00F9 CD 21 int 21h
  138. 00FB C3 ret
  139. 00FC BA E7 0D mov dx,0de7h
  140. 00FF B4 09 mov ah,9h
  141. 0101 CD 21 int 21h
  142. 0103 C3 ret
  143. 0104 5B pop bx
  144. 0105 31 C9 xor cx,cx
  145. 0107 8A 0F mov cl,byte ptr [bx]
  146. 0109 43 inc bx
  147. 010A B4 02 mov ah,2h
  148. 010C E3 07 jcxz 115h
  149. 010E 8A 07 mov al,byte ptr [bx]
  150. 0110 CD 21 int 21h
  151. 0112 43 inc bx
  152. 0113 E2 F9 loop 10eh
  153. 0115 FF E3 jmp bx
  154. 0117 55 push bp
  155. 0118 8B EC mov bp,sp
  156. 011A 53 push bx
  157. 011B 51 push cx
  158. 011C 50 push ax
  159. 011D 8B 5E 04 mov bx,word ptr [bp+4h]
  160. 0120 31 C9 xor cx,cx
  161. 0122 8A 0F mov cl,byte ptr [bx]
  162. 0124 43 inc bx
  163. 0125 B4 02 mov ah,2h
  164. 0127 E3 07 jcxz 130h
  165. 0129 8A 07 mov al,byte ptr [bx]
  166. 012B CD 21 int 21h
  167. 012D 43 inc bx
  168. 012E E2 F9 loop 129h
  169. 0130 58 pop ax
  170. 0131 59 pop cx
  171. 0132 5B pop bx
  172. 0133 89 EC mov sp,bp
  173. 0135 5D pop bp
  174. 0136 C3 ret
  175. 0137 55 push bp
  176. 0138 8B EC mov bp,sp
  177. 013A 50 push ax
  178. 013B 53 push bx
  179. 013C 51 push cx
  180. 013D 52 push dx
  181. 013E 57 push di
  182. 013F E8 13 00 call 155h
  183. 0142 83 F9 02 cmp cx,2h
  184. 0145 74 05 je 14ch
  185. 0147 8B 7E 04 mov di,word ptr [bp+4h]
  186. 014A 89 05 mov word ptr [di],ax
  187. 014C 5F pop di
  188. 014D 5A pop dx
  189. 014E 59 pop cx
  190. 014F 5B pop bx
  191. 0150 58 pop ax
  192. 0151 89 EC mov sp,bp
  193. 0153 5D pop bp
  194. 0154 C3 ret
  195. 0155 E8 C3 00 call 21bh
  196. 0158 3C 1A cmp al,1ah
  197. 015A 74 42 je 19eh
  198. 015C 3C 20 cmp al,20h
  199. 015E 76 F5 jbe 155h
  200. 0160 31 C9 xor cx,cx
  201. 0162 3C 2D cmp al,2dh
  202. 0164 75 06 jne 16ch
  203. 0166 41 inc cx
  204. 0167 E8 B1 00 call 21bh
  205. 016A EB 07 jmp 173h
  206. 016C 3C 2B cmp al,2bh
  207. 016E 75 03 jne 173h
  208. 0170 E8 A8 00 call 21bh
  209. 0173 31 FF xor di,di
  210. 0175 3C 30 cmp al,30h
  211. 0177 72 18 jb 191h
  212. 0179 3C 39 cmp al,39h
  213. 017B 77 14 jnbe 191h
  214. 017D 2C 30 sub al,30h
  215. 017F B4 00 mov ah,0h
  216. 0181 87 C7 xchg di,ax
  217. 0183 BB 0A 00 mov bx,0ah
  218. 0186 F7 E3 mul bx
  219. 0188 03 C7 add ax,di
  220. 018A 89 C7 mov di,ax
  221. 018C E8 8C 00 call 21bh
  222. 018F EB E4 jmp 175h
  223. 0191 E8 9E 00 call 232h
  224. 0194 83 F9 00 cmp cx,0h
  225. 0197 74 02 je 19bh
  226. 0199 F7 DF neg di
  227. 019B 8B C7 mov ax,di
  228. 019D C3 ret
  229. 019E B9 02 00 mov cx,2h
  230. 01A1 C3 ret
  231. 01A2 55 push bp
  232. 01A3 8B EC mov bp,sp
  233. 01A5 50 push ax
  234. 01A6 53 push bx
  235. 01A7 51 push cx
  236. 01A8 52 push dx
  237. 01A9 57 push di
  238. 01AA E8 A8 FF call 155h
  239. 01AD 83 F9 02 cmp cx,2h
  240. 01B0 74 05 je 1b7h
  241. 01B2 8B 7E 04 mov di,word ptr [bp+4h]
  242. 01B5 88 05 mov byte ptr [di],al
  243. 01B7 5F pop di
  244. 01B8 5A pop dx
  245. 01B9 59 pop cx
  246. 01BA 5B pop bx
  247. 01BB 58 pop ax
  248. 01BC 89 EC mov sp,bp
  249. 01BE 5D pop bp
  250. 01BF C3 ret
  251. 01C0 55 push bp
  252. 01C1 8B EC mov bp,sp
  253. 01C3 50 push ax
  254. 01C4 53 push bx
  255. 01C5 57 push di
  256. 01C6 E8 52 00 call 21bh
  257. 01C9 88 C2 mov dl,al
  258. 01CB 8B 7E 04 mov di,word ptr [bp+4h]
  259. 01CE 88 15 mov byte ptr [di],dl
  260. 01D0 5F pop di
  261. 01D1 5B pop bx
  262. 01D2 58 pop ax
  263. 01D3 89 EC mov sp,bp
  264. 01D5 5D pop bp
  265. 01D6 C3 ret
  266. 01D7 55 push bp
  267. 01D8 8B EC mov bp,sp
  268. 01DA 50 push ax
  269. 01DB 53 push bx
  270. 01DC 51 push cx
  271. 01DD 57 push di
  272. 01DE E8 3A 00 call 21bh
  273. 01E1 31 C9 xor cx,cx
  274. 01E3 3C 54 cmp al,54h
  275. 01E5 74 12 je 1f9h
  276. 01E7 3C 74 cmp al,74h
  277. 01E9 74 0E je 1f9h
  278. 01EB 3C 59 cmp al,59h
  279. 01ED 74 0A je 1f9h
  280. 01EF 3C 79 cmp al,79h
  281. 01F1 74 06 je 1f9h
  282. 01F3 3C 31 cmp al,31h
  283. 01F5 74 02 je 1f9h
  284. 01F7 EB 01 jmp 1fah
  285. 01F9 41 inc cx
  286. 01FA 8B 7E 04 mov di,word ptr [bp+4h]
  287. 01FD 89 0D mov word ptr [di],cx
  288. 01FF 5F pop di
  289. 0200 59 pop cx
  290. 0201 5B pop bx
  291. 0202 58 pop ax
  292. 0203 89 EC mov sp,bp
  293. 0205 5D pop bp
  294. 0206 C3 ret
  295. 0207 50 push ax
  296. 0208 E8 10 00 call 21bh
  297. 020B 3C 0D cmp al,0dh
  298. 020D 74 0A je 219h
  299. 020F 3C 0A cmp al,0ah
  300. 0211 74 06 je 219h
  301. 0213 3C 1A cmp al,1ah
  302. 0215 74 02 je 219h
  303. 0217 EB EF jmp 208h
  304. 0219 58 pop ax
  305. 021A C3 ret
  306. 021B 8B 1E F0 0D mov bx,word ptr [0df0h]
  307. 021F 83 FB 00 cmp bx,0h
  308. 0222 74 09 je 22dh
  309. 0224 8A C3 mov al,bl
  310. 0226 31 DB xor bx,bx
  311. 0228 89 1E F0 0D mov word ptr [0df0h],bx
  312. 022C C3 ret
  313. 022D B4 08 mov ah,8h
  314. 022F CD 21 int 21h
  315. 0231 C3 ret
  316. 0232 88 C2 mov dl,al
  317. 0234 BB 01 00 mov bx,1h
  318. 0237 8A DA mov bl,dl
  319. 0239 89 1E F0 0D mov word ptr [0df0h],bx
  320. 023D C3 ret
  321. 023E 55 push bp
  322. 023F 8B EC mov bp,sp
  323. 0241 50 push ax
  324. 0242 53 push bx
  325. 0243 51 push cx
  326. 0244 52 push dx
  327. 0245 57 push di
  328. 0246 8B 7E 04 mov di,word ptr [bp+4h]
  329. 0249 8B 46 04 mov ax,word ptr [bp+4h]
  330. 024C 8B F0 mov si,ax
  331. 024E 46 inc si
  332. 024F 31 DB xor bx,bx
  333. 0251 53 push bx
  334. 0252 E8 C6 FF call 21bh
  335. 0255 5B pop bx
  336. 0256 3C 0D cmp al,0dh
  337. 0258 74 1D je 277h
  338. 025A 3C 0A cmp al,0ah
  339. 025C 74 19 je 277h
  340. 025E 3C 1A cmp al,1ah
  341. 0260 74 15 je 277h
  342. 0262 88 C2 mov dl,al
  343. 0264 43 inc bx
  344. 0265 88 14 mov byte ptr [si],dl
  345. 0267 46 inc si
  346. 0268 E2 E7 loop 251h
  347. 026A 8A C3 mov al,bl
  348. 026C 88 05 mov byte ptr [di],al
  349. 026E 5F pop di
  350. 026F 5A pop dx
  351. 0270 59 pop cx
  352. 0271 5B pop bx
  353. 0272 58 pop ax
  354. 0273 89 EC mov sp,bp
  355. 0275 5D pop bp
  356. 0276 C3 ret
  357. 0277 53 push bx
  358. 0278 E8 B7 FF call 232h
  359. 027B 5B pop bx
  360. 027C EB EC jmp 26ah
  361. 027E 55 push bp
  362. 027F 8B EC mov bp,sp
  363. 0281 50 push ax
  364. 0282 53 push bx
  365. 0283 51 push cx
  366. 0284 52 push dx
  367. 0285 8B 46 04 mov ax,word ptr [bp+4h]
  368. 0288 8B F0 mov si,ax
  369. 028A 8B 5E 06 mov bx,word ptr [bp+6h]
  370. 028D 31 D2 xor dx,dx
  371. 028F 8A 07 mov al,byte ptr [bx]
  372. 0291 88 C2 mov dl,al
  373. 0293 43 inc bx
  374. 0294 39 D1 cmp cx,dx
  375. 0296 72 04 jb 29ch
  376. 0298 8B CA mov cx,dx
  377. 029A EB 02 jmp 29eh
  378. 029C 8A D1 mov dl,cl
  379. 029E 88 14 mov byte ptr [si],dl
  380. 02A0 46 inc si
  381. 02A1 E3 0A jcxz 2adh
  382. 02A3 8A 07 mov al,byte ptr [bx]
  383. 02A5 88 C2 mov dl,al
  384. 02A7 88 14 mov byte ptr [si],dl
  385. 02A9 43 inc bx
  386. 02AA 46 inc si
  387. 02AB E2 F6 loop 2a3h
  388. 02AD 5A pop dx
  389. 02AE 59 pop cx
  390. 02AF 5B pop bx
  391. 02B0 58 pop ax
  392. 02B1 89 EC mov sp,bp
  393. 02B3 5D pop bp
  394. 02B4 C3 ret
  395. 02B5 55 push bp
  396. 02B6 8B EC mov bp,sp
  397. 02B8 53 push bx
  398. 02B9 51 push cx
  399. 02BA 52 push dx
  400. 02BB 31 C9 xor cx,cx
  401. 02BD 31 D2 xor dx,dx
  402. 02BF 8B 5E 06 mov bx,word ptr [bp+6h]
  403. 02C2 8A 0F mov cl,byte ptr [bx]
  404. 02C4 8B 46 04 mov ax,word ptr [bp+4h]
  405. 02C7 8B F0 mov si,ax
  406. 02C9 8A 14 mov dl,byte ptr [si]
  407. 02CB 39 D1 cmp cx,dx
  408. 02CD 76 02 jbe 2d1h
  409. 02CF 8B CA mov cx,dx
  410. 02D1 E3 0E jcxz 2e1h
  411. 02D3 43 inc bx
  412. 02D4 46 inc si
  413. 02D5 8A 07 mov al,byte ptr [bx]
  414. 02D7 8A 14 mov dl,byte ptr [si]
  415. 02D9 3A C2 cmp al,dl
  416. 02DB 75 14 jne 2f1h
  417. 02DD 43 inc bx
  418. 02DE 46 inc si
  419. 02DF E2 F4 loop 2d5h
  420. 02E1 8B 5E 06 mov bx,word ptr [bp+6h]
  421. 02E4 8A 0F mov cl,byte ptr [bx]
  422. 02E6 8B 46 04 mov ax,word ptr [bp+4h]
  423. 02E9 8B F0 mov si,ax
  424. 02EB 31 D2 xor dx,dx
  425. 02ED 8A 14 mov dl,byte ptr [si]
  426. 02EF 39 D1 cmp cx,dx
  427. 02F1 B0 00 mov al,0h
  428. 02F3 B4 00 mov ah,0h
  429. 02F5 72 06 jb 2fdh
  430. 02F7 74 08 je 301h
  431. 02F9 B0 01 mov al,1h
  432. 02FB EB 04 jmp 301h
  433. 02FD B0 FF mov al,0ffh
  434. 02FF B4 FF mov ah,0ffh
  435. 0301 5A pop dx
  436. 0302 59 pop cx
  437. 0303 5B pop bx
  438. 0304 89 EC mov sp,bp
  439. 0306 5D pop bp
  440. 0307 C3 ret
  441. 0308 55 push bp
  442. 0309 8B EC mov bp,sp
  443. 030B 50 push ax
  444. 030C 53 push bx
  445. 030D 51 push cx
  446. 030E 52 push dx
  447. 030F 56 push si
  448. 0310 57 push di
  449. 0311 8B 46 04 mov ax,word ptr [bp+4h]
  450. 0314 8B F0 mov si,ax
  451. 0316 8B 5E 06 mov bx,word ptr [bp+6h]
  452. 0319 31 D2 xor dx,dx
  453. 031B 8A 14 mov dl,byte ptr [si]
  454. 031D 31 C0 xor ax,ax
  455. 031F 8A 07 mov al,byte ptr [bx]
  456. 0321 01 C2 add dx,ax
  457. 0323 39 D1 cmp cx,dx
  458. 0325 73 06 jnb 32dh
  459. 0327 B0 10 mov al,10h
  460. 0329 B4 4C mov ah,4ch
  461. 032B CD 21 int 21h
  462. 032D 8B CA mov cx,dx
  463. 032F 88 0C mov byte ptr [si],cl
  464. 0331 29 C2 sub dx,ax
  465. 0333 8B FE mov di,si
  466. 0335 47 inc di
  467. 0336 01 D7 add di,dx
  468. 0338 43 inc bx
  469. 0339 89 C1 mov cx,ax
  470. 033B E3 08 jcxz 345h
  471. 033D 8A 07 mov al,byte ptr [bx]
  472. 033F 88 05 mov byte ptr [di],al
  473. 0341 43 inc bx
  474. 0342 47 inc di
  475. 0343 E2 F8 loop 33dh
  476. 0345 5F pop di
  477. 0346 5E pop si
  478. 0347 5A pop dx
  479. 0348 59 pop cx
  480. 0349 5B pop bx
  481. 034A 58 pop ax
  482. 034B 89 EC mov sp,bp
  483. 034D 5D pop bp
  484. 034E C3 ret
  485. 034F 55 push bp
  486. 0350 8B EC mov bp,sp
  487. 0352 53 push bx
  488. 0353 52 push dx
  489. 0354 56 push si
  490. 0355 57 push di
  491. 0356 8B 76 06 mov si,word ptr [bp+6h]
  492. 0359 8B 04 mov ax,word ptr [si]
  493. 035B E8 13 00 call 371h
  494. 035E 8B 7E 04 mov di,word ptr [bp+4h]
  495. 0361 89 05 mov word ptr [di],ax
  496. 0363 89 5D 02 mov word ptr [di+2h],bx
  497. 0366 89 55 04 mov word ptr [di+4h],dx
  498. 0369 5F pop di
  499. 036A 5E pop si
  500. 036B 5A pop dx
  501. 036C 5B pop bx
  502. 036D 89 EC mov sp,bp
  503. 036F 5D pop bp
  504. 0370 C3 ret
  505. 0371 83 F8 00 cmp ax,0h
  506. 0374 75 06 jne 37ch
  507. 0376 31 DB xor bx,bx
  508. 0378 31 D2 xor dx,dx
  509. 037A EB 2C jmp 3a8h
  510. 037C 88 E7 mov bh,ah
  511. 037E 89 C2 mov dx,ax
  512. 0380 83 FA 00 cmp dx,0h
  513. 0383 79 02 jns 387h
  514. 0385 F7 DA neg dx
  515. 0387 B8 90 00 mov ax,90h
  516. 038A 80 FE 00 cmp dh,0h
  517. 038D 75 04 jne 393h
  518. 038F B0 88 mov al,88h
  519. 0391 86 D6 xchg dh,dl
  520. 0393 83 FA 00 cmp dx,0h
  521. 0396 78 06 js 39eh
  522. 0398 FE C8 dec al
  523. 039A D1 E2 shl dx,1h
  524. 039C 79 FA jns 398h
  525. 039E 80 FF 00 cmp bh,0h
  526. 03A1 78 03 js 3a6h
  527. 03A3 80 E6 7F and dh,7fh
  528. 03A6 31 DB xor bx,bx
  529. 03A8 C3 ret
  530. 03A9 55 push bp
  531. 03AA 8B EC mov bp,sp
  532. 03AC 53 push bx
  533. 03AD 52 push dx
  534. 03AE 56 push si
  535. 03AF 57 push di
  536. 03B0 FF 76 04 push word ptr [bp+4h]
  537. 03B3 8B 76 04 mov si,word ptr [bp+4h]
  538. 03B6 8B 04 mov ax,word ptr [si]
  539. 03B8 8B 4C 02 mov cx,word ptr [si+2h]
  540. 03BB 8B 54 04 mov dx,word ptr [si+4h]
  541. 03BE 89 CB mov bx,cx
  542. 03C0 8B FE mov di,si
  543. 03C2 8B 4D 06 mov cx,word ptr [di+6h]
  544. 03C5 8B 75 08 mov si,word ptr [di+8h]
  545. 03C8 8B 7D 0A mov di,word ptr [di+0ah]
  546. 03CB C7 06 F2 0D 00 00 mov word ptr [0df2h],0h
  547. 03D1 E8 4D 00 call 421h
  548. 03D4 5F pop di
  549. 03D5 89 05 mov word ptr [di],ax
  550. 03D7 89 5D 02 mov word ptr [di+2h],bx
  551. 03DA 89 55 04 mov word ptr [di+4h],dx
  552. 03DD 5F pop di
  553. 03DE 5E pop si
  554. 03DF 5A pop dx
  555. 03E0 5B pop bx
  556. 03E1 89 EC mov sp,bp
  557. 03E3 5D pop bp
  558. 03E4 C3 ret
  559. 03E5 55 push bp
  560. 03E6 8B EC mov bp,sp
  561. 03E8 53 push bx
  562. 03E9 52 push dx
  563. 03EA 56 push si
  564. 03EB 57 push di
  565. 03EC FF 76 04 push word ptr [bp+4h]
  566. 03EF 8B 76 04 mov si,word ptr [bp+4h]
  567. 03F2 8B 04 mov ax,word ptr [si]
  568. 03F4 8B 4C 02 mov cx,word ptr [si+2h]
  569. 03F7 8B 54 04 mov dx,word ptr [si+4h]
  570. 03FA 89 CB mov bx,cx
  571. 03FC 8B FE mov di,si
  572. 03FE 8B 4D 06 mov cx,word ptr [di+6h]
  573. 0401 8B 75 08 mov si,word ptr [di+8h]
  574. 0404 8B 7D 0A mov di,word ptr [di+0ah]
  575. 0407 C7 06 F2 0D 00 80 mov word ptr [0df2h],8000h
  576. 040D E8 11 00 call 421h
  577. 0410 5F pop di
  578. 0411 89 05 mov word ptr [di],ax
  579. 0413 89 5D 02 mov word ptr [di+2h],bx
  580. 0416 89 55 04 mov word ptr [di+4h],dx
  581. 0419 5F pop di
  582. 041A 5E pop si
  583. 041B 5A pop dx
  584. 041C 5B pop bx
  585. 041D 89 EC mov sp,bp
  586. 041F 5D pop bp
  587. 0420 C3 ret
  588. 0421 80 F9 00 cmp cl,0h
  589. 0424 74 0E je 434h
  590. 0426 33 3E F2 0D xor di,word ptr [0df2h]
  591. 042A 3C 00 cmp al,0h
  592. 042C 75 07 jne 435h
  593. 042E 89 C8 mov ax,cx
  594. 0430 89 F3 mov bx,si
  595. 0432 89 FA mov dx,di
  596. 0434 C3 ret
  597. 0435 38 C8 cmp al,cl
  598. 0437 76 05 jbe 43eh
  599. 0439 91 xchg ax,cx
  600. 043A 87 F3 xchg bx,si
  601. 043C 87 FA xchg dx,di
  602. 043E 88 0E F6 0D mov byte ptr [0df6h],cl
  603. 0442 28 C1 sub cl,al
  604. 0444 80 F9 28 cmp cl,28h
  605. 0447 72 06 jb 44fh
  606. 0449 8A 0E F6 0D mov cl,byte ptr [0df6h]
  607. 044D EB DF jmp 42eh
  608. 044F 89 3E F2 0D mov word ptr [0df2h],di
  609. 0453 80 26 F3 0D 80 and byte ptr [0df3h],80h
  610. 0458 89 3E F4 0D mov word ptr [0df4h],di
  611. 045C 30 36 F5 0D xor byte ptr [0df5h],dh
  612. 0460 81 CF 00 80 or di,8000h
  613. 0464 80 CE 80 or dh,80h
  614. 0467 80 F9 10 cmp cl,10h
  615. 046A 72 0B jb 477h
  616. 046C 88 FC mov ah,bh
  617. 046E 89 D3 mov bx,dx
  618. 0470 31 D2 xor dx,dx
  619. 0472 80 E9 10 sub cl,10h
  620. 0475 EB F0 jmp 467h
  621. 0477 80 F9 08 cmp cl,8h
  622. 047A 72 0D jb 489h
  623. 047C 88 DC mov ah,bl
  624. 047E 88 FB mov bl,bh
  625. 0480 88 D7 mov bh,dl
  626. 0482 88 F2 mov dl,dh
  627. 0484 30 F6 xor dh,dh
  628. 0486 80 E9 08 sub cl,8h
  629. 0489 80 F9 00 cmp cl,0h
  630. 048C 74 0A je 498h
  631. 048E D1 EA shr dx,1h
  632. 0490 D1 DB rcr bx,1h
  633. 0492 D0 DC rcr ah,1h
  634. 0494 FE C9 dec cl
  635. 0496 75 F6 jne 48eh
  636. 0498 A0 F6 0D mov al,byte ptr [0df6h]
  637. 049B F6 06 F5 0D 80 test byte ptr [0df5h],80h
  638. 04A0 75 14 jne 4b6h
  639. 04A2 00 EC add ah,ch
  640. 04A4 11 F3 adc bx,si
  641. 04A6 11 FA adc dx,di
  642. 04A8 73 5F jnb 509h
  643. 04AA D1 DA rcr dx,1h
  644. 04AC D1 DB rcr bx,1h
  645. 04AE D0 DC rcr ah,1h
  646. 04B0 FE C0 inc al
  647. 04B2 75 55 jne 509h
  648. 04B4 F9 stc
  649. 04B5 C3 ret
  650. 04B6 86 EC xchg ah,ch
  651. 04B8 87 F3 xchg bx,si
  652. 04BA 87 FA xchg dx,di
  653. 04BC 28 EC sub ah,ch
  654. 04BE 19 F3 sbb bx,si
  655. 04C0 19 FA sbb dx,di
  656. 04C2 73 14 jnb 4d8h
  657. 04C4 80 36 F3 0D 80 xor byte ptr [0df3h],80h
  658. 04C9 F6 D4 not ah
  659. 04CB F7 D3 not bx
  660. 04CD F7 D2 not dx
  661. 04CF 80 C4 01 add ah,1h
  662. 04D2 83 D3 00 adc bx,0h
  663. 04D5 83 D2 00 adc dx,0h
  664. 04D8 B1 05 mov cl,5h
  665. 04DA 80 FE 00 cmp dh,0h
  666. 04DD 75 14 jne 4f3h
  667. 04DF 88 D6 mov dh,dl
  668. 04E1 88 FA mov dl,bh
  669. 04E3 88 DF mov bh,bl
  670. 04E5 88 E3 mov bl,ah
  671. 04E7 30 E4 xor ah,ah
  672. 04E9 2C 08 sub al,8h
  673. 04EB 72 15 jb 502h
  674. 04ED FE C9 dec cl
  675. 04EF 75 E9 jne 4dah
  676. 04F1 EB 0F jmp 502h
  677. 04F3 F6 C6 80 test dh,80h
  678. 04F6 75 11 jne 509h
  679. 04F8 D0 E4 shl ah,1h
  680. 04FA D1 D3 rcl bx,1h
  681. 04FC D1 D2 rcl dx,1h
  682. 04FE FE C8 dec al
  683. 0500 75 F1 jne 4f3h
  684. 0502 31 C0 xor ax,ax
  685. 0504 31 DB xor bx,bx
  686. 0506 31 D2 xor dx,dx
  687. 0508 C3 ret
  688. 0509 80 E6 7F and dh,7fh
  689. 050C 32 36 F3 0D xor dh,byte ptr [0df3h]
  690. 0510 C3 ret
  691. 0511 55 push bp
  692. 0512 8B EC mov bp,sp
  693. 0514 53 push bx
  694. 0515 52 push dx
  695. 0516 56 push si
  696. 0517 57 push di
  697. 0518 FF 76 04 push word ptr [bp+4h]
  698. 051B 8B 76 04 mov si,word ptr [bp+4h]
  699. 051E 8B 04 mov ax,word ptr [si]
  700. 0520 8B 4C 02 mov cx,word ptr [si+2h]
  701. 0523 8B 54 04 mov dx,word ptr [si+4h]
  702. 0526 89 CB mov bx,cx
  703. 0528 8B FE mov di,si
  704. 052A 8B 4D 06 mov cx,word ptr [di+6h]
  705. 052D 8B 75 08 mov si,word ptr [di+8h]
  706. 0530 8B 7D 0A mov di,word ptr [di+0ah]
  707. 0533 E8 11 00 call 547h
  708. 0536 5F pop di
  709. 0537 89 05 mov word ptr [di],ax
  710. 0539 89 5D 02 mov word ptr [di+2h],bx
  711. 053C 89 55 04 mov word ptr [di+4h],dx
  712. 053F 5F pop di
  713. 0540 5E pop si
  714. 0541 5A pop dx
  715. 0542 5B pop bx
  716. 0543 89 EC mov sp,bp
  717. 0545 5D pop bp
  718. 0546 C3 ret
  719. 0547 80 F9 00 cmp cl,0h
  720. 054A 75 03 jne 54fh
  721. 054C E9 A4 00 jmp 5f3h
  722. 054F 3C 00 cmp al,0h
  723. 0551 75 03 jne 556h
  724. 0553 E9 A3 00 jmp 5f9h
  725. 0556 00 C8 add al,cl
  726. 0558 72 07 jb 561h
  727. 055A 04 80 add al,80h
  728. 055C 72 0D jb 56bh
  729. 055E E9 92 00 jmp 5f3h
  730. 0561 04 80 add al,80h
  731. 0563 73 06 jnb 56bh
  732. 0565 B0 01 mov al,1h
  733. 0567 B4 4C mov ah,4ch
  734. 0569 CD 21 int 21h
  735. 056B 89 0E FD 0D mov word ptr [0dfdh],cx
  736. 056F 8B CA mov cx,dx
  737. 0571 31 F9 xor cx,di
  738. 0573 F6 D5 not ch
  739. 0575 80 E5 80 and ch,80h
  740. 0578 88 2E F3 0D mov byte ptr [0df3h],ch
  741. 057C 80 CE 80 or dh,80h
  742. 057F 81 CF 00 80 or di,8000h
  743. 0583 89 36 FF 0D mov word ptr [0dffh],si
  744. 0587 89 3E 01 0E mov word ptr [0e01h],di
  745. 058B A3 F7 0D mov word ptr [0df7h],ax
  746. 058E 89 1E F9 0D mov word ptr [0df9h],bx
  747. 0592 89 16 FB 0D mov word ptr [0dfbh],dx
  748. 0596 30 E4 xor ah,ah
  749. 0598 31 DB xor bx,bx
  750. 059A 31 D2 xor dx,dx
  751. 059C BF FD 0D mov di,0dfdh
  752. 059F B1 05 mov cl,5h
  753. 05A1 47 inc di
  754. 05A2 8A 2D mov ch,byte ptr [di]
  755. 05A4 80 FD 00 cmp ch,0h
  756. 05A7 75 0C jne 5b5h
  757. 05A9 88 DC mov ah,bl
  758. 05AB 88 FB mov bl,bh
  759. 05AD 88 D7 mov bh,dl
  760. 05AF 88 F2 mov dl,dh
  761. 05B1 30 F6 xor dh,dh
  762. 05B3 EB 1C jmp 5d1h
  763. 05B5 BE 08 00 mov si,8h
  764. 05B8 D0 DD rcr ch,1h
  765. 05BA 73 0C jnb 5c8h
  766. 05BC 02 26 F8 0D add ah,byte ptr [0df8h]
  767. 05C0 13 1E F9 0D adc bx,word ptr [0df9h]
  768. 05C4 13 16 FB 0D adc dx,word ptr [0dfbh]
  769. 05C8 D1 DA rcr dx,1h
  770. 05CA D1 DB rcr bx,1h
  771. 05CC D0 DC rcr ah,1h
  772. 05CE 4E dec si
  773. 05CF 75 E7 jne 5b8h
  774. 05D1 FE C9 dec cl
  775. 05D3 75 CC jne 5a1h
  776. 05D5 91 xchg ax,cx
  777. 05D6 9F lahf
  778. 05D7 F6 C6 80 test dh,80h
  779. 05DA 75 0E jne 5eah
  780. 05DC 9E sahf
  781. 05DD D0 D5 rcl ch,1h
  782. 05DF D1 D3 rcl bx,1h
  783. 05E1 D1 D2 rcl dx,1h
  784. 05E3 80 F9 00 cmp cl,0h
  785. 05E6 74 02 je 5eah
  786. 05E8 FE C9 dec cl
  787. 05EA 91 xchg ax,cx
  788. 05EB 32 36 F3 0D xor dh,byte ptr [0df3h]
  789. 05EF 3C 00 cmp al,0h
  790. 05F1 75 06 jne 5f9h
  791. 05F3 31 C0 xor ax,ax
  792. 05F5 31 DB xor bx,bx
  793. 05F7 31 D2 xor dx,dx
  794. 05F9 C3 ret
  795. 05FA 55 push bp
  796. 05FB 8B EC mov bp,sp
  797. 05FD 53 push bx
  798. 05FE 52 push dx
  799. 05FF 56 push si
  800. 0600 57 push di
  801. 0601 FF 76 04 push word ptr [bp+4h]
  802. 0604 8B 76 04 mov si,word ptr [bp+4h]
  803. 0607 8B 04 mov ax,word ptr [si]
  804. 0609 8B 4C 02 mov cx,word ptr [si+2h]
  805. 060C 8B 54 04 mov dx,word ptr [si+4h]
  806. 060F 89 CB mov bx,cx
  807. 0611 8B FE mov di,si
  808. 0613 8B 4D 06 mov cx,word ptr [di+6h]
  809. 0616 8B 75 08 mov si,word ptr [di+8h]
  810. 0619 8B 7D 0A mov di,word ptr [di+0ah]
  811. 061C E8 11 00 call 630h
  812. 061F 5F pop di
  813. 0620 89 05 mov word ptr [di],ax
  814. 0622 89 5D 02 mov word ptr [di+2h],bx
  815. 0625 89 55 04 mov word ptr [di+4h],dx
  816. 0628 5F pop di
  817. 0629 5E pop si
  818. 062A 5A pop dx
  819. 062B 5B pop bx
  820. 062C 89 EC mov sp,bp
  821. 062E 5D pop bp
  822. 062F C3 ret
  823. 0630 3C 00 cmp al,0h
  824. 0632 75 03 jne 637h
  825. 0634 E9 C2 FF jmp 5f9h
  826. 0637 28 C8 sub al,cl
  827. 0639 F5 cmc
  828. 063A 72 07 jb 643h
  829. 063C 04 80 add al,80h
  830. 063E 72 0D jb 64dh
  831. 0640 E9 B0 FF jmp 5f3h
  832. 0643 04 80 add al,80h
  833. 0645 73 06 jnb 64dh
  834. 0647 B0 01 mov al,1h
  835. 0649 B4 4C mov ah,4ch
  836. 064B CD 21 int 21h
  837. 064D 89 0E FD 0D mov word ptr [0dfdh],cx
  838. 0651 8B CA mov cx,dx
  839. 0653 31 F9 xor cx,di
  840. 0655 F6 D5 not ch
  841. 0657 80 E5 80 and ch,80h
  842. 065A 88 2E F3 0D mov byte ptr [0df3h],ch
  843. 065E 80 CE 80 or dh,80h
  844. 0661 81 CF 00 80 or di,8000h
  845. 0665 89 36 FF 0D mov word ptr [0dffh],si
  846. 0669 89 3E 01 0E mov word ptr [0e01h],di
  847. 066D A2 F7 0D mov byte ptr [0df7h],al
  848. 0670 BF FC 0D mov di,0dfch
  849. 0673 B1 05 mov cl,5h
  850. 0675 BE 08 00 mov si,8h
  851. 0678 3B 16 01 0E cmp dx,word ptr [0e01h]
  852. 067C 75 0A jne 688h
  853. 067E 3B 1E FF 0D cmp bx,word ptr [0dffh]
  854. 0682 75 04 jne 688h
  855. 0684 3A 26 FE 0D cmp ah,byte ptr [0dfeh]
  856. 0688 72 0C jb 696h
  857. 068A 2A 26 FE 0D sub ah,byte ptr [0dfeh]
  858. 068E 1B 1E FF 0D sbb bx,word ptr [0dffh]
  859. 0692 1B 16 01 0E sbb dx,word ptr [0e01h]
  860. 0696 F5 cmc
  861. 0697 D0 D5 rcl ch,1h
  862. 0699 4E dec si
  863. 069A 75 0A jne 6a6h
  864. 069C 88 2D mov byte ptr [di],ch
  865. 069E FE C9 dec cl
  866. 06A0 74 1B je 6bdh
  867. 06A2 4F dec di
  868. 06A3 BE 08 00 mov si,8h
  869. 06A6 D0 E4 shl ah,1h
  870. 06A8 D1 D3 rcl bx,1h
  871. 06AA D1 D2 rcl dx,1h
  872. 06AC 73 CA jnb 678h
  873. 06AE 2A 26 FE 0D sub ah,byte ptr [0dfeh]
  874. 06B2 1B 1E FF 0D sbb bx,word ptr [0dffh]
  875. 06B6 1B 16 01 0E sbb dx,word ptr [0e01h]
  876. 06BA F8 clc
  877. 06BB EB D9 jmp 696h
  878. 06BD D0 E4 shl ah,1h
  879. 06BF D1 D3 rcl bx,1h
  880. 06C1 D1 D2 rcl dx,1h
  881. 06C3 72 11 jb 6d6h
  882. 06C5 3B 16 01 0E cmp dx,word ptr [0e01h]
  883. 06C9 75 0A jne 6d5h
  884. 06CB 3B 1E FF 0D cmp bx,word ptr [0dffh]
  885. 06CF 75 04 jne 6d5h
  886. 06D1 3A 26 FE 0D cmp ah,byte ptr [0dfeh]
  887. 06D5 F5 cmc
  888. 06D6 8B 0E F7 0D mov cx,word ptr [0df7h]
  889. 06DA 8B 1E F9 0D mov bx,word ptr [0df9h]
  890. 06DE 8B 16 FB 0D mov dx,word ptr [0dfbh]
  891. 06E2 9F lahf
  892. 06E3 F6 C6 80 test dh,80h
  893. 06E6 75 09 jne 6f1h
  894. 06E8 9E sahf
  895. 06E9 D0 D5 rcl ch,1h
  896. 06EB D1 D3 rcl bx,1h
  897. 06ED D1 D2 rcl dx,1h
  898. 06EF EB 0A jmp 6fbh
  899. 06F1 FE C1 inc cl
  900. 06F3 75 06 jne 6fbh
  901. 06F5 B0 01 mov al,1h
  902. 06F7 B4 4C mov ah,4ch
  903. 06F9 CD 21 int 21h
  904. 06FB E9 EC FE jmp 5eah
  905. 06FE 55 push bp
  906. 06FF 8B EC mov bp,sp
  907. 0701 53 push bx
  908. 0702 52 push dx
  909. 0703 56 push si
  910. 0704 57 push di
  911. 0705 8B 76 04 mov si,word ptr [bp+4h]
  912. 0708 8B 04 mov ax,word ptr [si]
  913. 070A 8B 4C 02 mov cx,word ptr [si+2h]
  914. 070D 8B 54 04 mov dx,word ptr [si+4h]
  915. 0710 89 CB mov bx,cx
  916. 0712 8B FE mov di,si
  917. 0714 8B 4D 06 mov cx,word ptr [di+6h]
  918. 0717 8B 75 08 mov si,word ptr [di+8h]
  919. 071A 8B 7D 0A mov di,word ptr [di+0ah]
  920. 071D 52 push dx
  921. 071E 31 FA xor dx,di
  922. 0720 5A pop dx
  923. 0721 79 06 jns 729h
  924. 0723 52 push dx
  925. 0724 D1 D2 rcl dx,1h
  926. 0726 5A pop dx
  927. 0727 EB 10 jmp 739h
  928. 0729 F6 C6 80 test dh,80h
  929. 072C 74 08 je 736h
  930. 072E E8 20 00 call 751h
  931. 0731 74 06 je 739h
  932. 0733 F5 cmc
  933. 0734 EB 03 jmp 739h
  934. 0736 E8 18 00 call 751h
  935. 0739 B0 00 mov al,0h
  936. 073B B4 00 mov ah,0h
  937. 073D 72 06 jb 745h
  938. 073F 74 08 je 749h
  939. 0741 B0 01 mov al,1h
  940. 0743 EB 04 jmp 749h
  941. 0745 B0 FF mov al,0ffh
  942. 0747 B4 FF mov ah,0ffh
  943. 0749 5F pop di
  944. 074A 5E pop si
  945. 074B 5A pop dx
  946. 074C 5B pop bx
  947. 074D 89 EC mov sp,bp
  948. 074F 5D pop bp
  949. 0750 C3 ret
  950. 0751 38 C8 cmp al,cl
  951. 0753 75 0E jne 763h
  952. 0755 3C 00 cmp al,0h
  953. 0757 74 0A je 763h
  954. 0759 39 FA cmp dx,di
  955. 075B 75 06 jne 763h
  956. 075D 39 F3 cmp bx,si
  957. 075F 75 02 jne 763h
  958. 0761 38 EC cmp ah,ch
  959. 0763 C3 ret
  960. 0764 55 push bp
  961. 0765 8B EC mov bp,sp
  962. 0767 53 push bx
  963. 0768 52 push dx
  964. 0769 56 push si
  965. 076A 57 push di
  966. 076B FF 76 04 push word ptr [bp+4h]
  967. 076E 8B 76 04 mov si,word ptr [bp+4h]
  968. 0771 8B 04 mov ax,word ptr [si]
  969. 0773 8B 4C 02 mov cx,word ptr [si+2h]
  970. 0776 8B 54 04 mov dx,word ptr [si+4h]
  971. 0779 89 CB mov bx,cx
  972. 077B 3C A8 cmp al,0a8h
  973. 077D 73 4C jnb 7cbh
  974. 077F 89 C1 mov cx,ax
  975. 0781 89 DE mov si,bx
  976. 0783 89 D7 mov di,dx
  977. 0785 30 E4 xor ah,ah
  978. 0787 31 DB xor bx,bx
  979. 0789 31 D2 xor dx,dx
  980. 078B 80 E9 80 sub cl,80h
  981. 078E 76 4C jbe 7dch
  982. 0790 80 F9 10 cmp cl,10h
  983. 0793 72 0C jb 7a1h
  984. 0795 88 FC mov ah,bh
  985. 0797 89 D3 mov bx,dx
  986. 0799 BA FF FF mov dx,0ffffh
  987. 079C 80 E9 10 sub cl,10h
  988. 079F EB EF jmp 790h
  989. 07A1 80 F9 08 cmp cl,8h
  990. 07A4 72 0F jb 7b5h
  991. 07A6 88 DC mov ah,bl
  992. 07A8 88 FB mov bl,bh
  993. 07AA 88 D7 mov bh,dl
  994. 07AC 88 F2 mov dl,dh
  995. 07AE B6 FF mov dh,0ffh
  996. 07B0 80 E9 08 sub cl,8h
  997. 07B3 EB EC jmp 7a1h
  998. 07B5 80 F9 00 cmp cl,0h
  999. 07B8 74 0B je 7c5h
  1000. 07BA F9 stc
  1001. 07BB D1 DA rcr dx,1h
  1002. 07BD D1 DB rcr bx,1h
  1003. 07BF D0 DC rcr ah,1h
  1004. 07C1 FE C9 dec cl
  1005. 07C3 75 F5 jne 7bah
  1006. 07C5 21 FA and dx,di
  1007. 07C7 21 F3 and bx,si
  1008. 07C9 20 EC and ah,ch
  1009. 07CB 5F pop di
  1010. 07CC 89 05 mov word ptr [di],ax
  1011. 07CE 89 5D 02 mov word ptr [di+2h],bx
  1012. 07D1 89 55 04 mov word ptr [di+4h],dx
  1013. 07D4 5F pop di
  1014. 07D5 5E pop si
  1015. 07D6 5A pop dx
  1016. 07D7 5B pop bx
  1017. 07D8 89 EC mov sp,bp
  1018. 07DA 5D pop bp
  1019. 07DB C3 ret
  1020. 07DC B0 00 mov al,0h
  1021. 07DE EB EB jmp 7cbh
  1022. 07E0 55 push bp
  1023. 07E1 8B EC mov bp,sp
  1024. 07E3 53 push bx
  1025. 07E4 52 push dx
  1026. 07E5 56 push si
  1027. 07E6 57 push di
  1028. 07E7 8B 7E 04 mov di,word ptr [bp+4h]
  1029. 07EA 88 EA mov dl,ch
  1030. 07EC B5 00 mov ch,0h
  1031. 07EE B6 00 mov dh,0h
  1032. 07F0 51 push cx
  1033. 07F1 BB 4D 0E mov bx,0e4dh
  1034. 07F4 E8 41 02 call 0a38h
  1035. 07F7 59 pop cx
  1036. 07F8 89 D8 mov ax,bx
  1037. 07FA BB 4D 0E mov bx,0e4dh
  1038. 07FD 2B C3 sub ax,bx
  1039. 07FF A3 8D 0E mov word ptr [0e8dh],ax
  1040. 0802 89 0E 8F 0E mov word ptr [0e8fh],cx
  1041. 0806 8B 06 8F 0E mov ax,word ptr [0e8fh]
  1042. 080A 8B 16 8D 0E mov dx,word ptr [0e8dh]
  1043. 080E 2B C2 sub ax,dx
  1044. 0810 83 F8 00 cmp ax,0h
  1045. 0813 7D 02 jnl 817h
  1046. 0815 31 C0 xor ax,ax
  1047. 0817 A3 91 0E mov word ptr [0e91h],ax
  1048. 081A 8B 16 8D 0E mov dx,word ptr [0e8dh]
  1049. 081E 03 C2 add ax,dx
  1050. 0820 3D FF 00 cmp ax,0ffh
  1051. 0823 77 03 jnbe 828h
  1052. 0825 E9 03 00 jmp 82bh
  1053. 0828 B8 FF 00 mov ax,0ffh
  1054. 082B A3 93 0E mov word ptr [0e93h],ax
  1055. 082E 8B 56 06 mov dx,word ptr [bp+6h]
  1056. 0831 89 D7 mov di,dx
  1057. 0833 88 05 mov byte ptr [di],al
  1058. 0835 47 inc di
  1059. 0836 8B 0E 91 0E mov cx,word ptr [0e91h]
  1060. 083A E3 07 jcxz 843h
  1061. 083C B0 20 mov al,20h
  1062. 083E 88 05 mov byte ptr [di],al
  1063. 0840 47 inc di
  1064. 0841 E2 F9 loop 83ch
  1065. 0843 BE 4D 0E mov si,0e4dh
  1066. 0846 8B 0E 8D 0E mov cx,word ptr [0e8dh]
  1067. 084A E3 08 jcxz 854h
  1068. 084C 8A 04 mov al,byte ptr [si]
  1069. 084E 88 05 mov byte ptr [di],al
  1070. 0850 46 inc si
  1071. 0851 47 inc di
  1072. 0852 E2 F8 loop 84ch
  1073. 0854 8B 06 93 0E mov ax,word ptr [0e93h]
  1074. 0858 5F pop di
  1075. 0859 5E pop si
  1076. 085A 5A pop dx
  1077. 085B 5B pop bx
  1078. 085C 89 EC mov sp,bp
  1079. 085E 5D pop bp
  1080. 085F C3 ret
  1081. 0860 55 push bp
  1082. 0861 8B EC mov bp,sp
  1083. 0863 53 push bx
  1084. 0864 52 push dx
  1085. 0865 56 push si
  1086. 0866 57 push di
  1087. 0867 8B 5E 04 mov bx,word ptr [bp+4h]
  1088. 086A 8B 7E 06 mov di,word ptr [bp+6h]
  1089. 086D 89 1E 95 0E mov word ptr [0e95h],bx
  1090. 0871 E8 CF 02 call 0b43h
  1091. 0874 73 03 jnb 879h
  1092. 0876 E9 0B 00 jmp 884h
  1093. 0879 89 D8 mov ax,bx
  1094. 087B 8B 16 95 0E mov dx,word ptr [0e95h]
  1095. 087F 2B C2 sub ax,dx
  1096. 0881 E9 03 00 jmp 887h
  1097. 0884 B8 FF FF mov ax,0ffffh
  1098. 0887 5F pop di
  1099. 0888 5E pop si
  1100. 0889 5A pop dx
  1101. 088A 5B pop bx
  1102. 088B 89 EC mov sp,bp
  1103. 088D 5D pop bp
  1104. 088E C3 ret
  1105. 088F 3C 00 cmp al,0h
  1106. 0891 74 03 je 896h
  1107. 0893 E9 01 00 jmp 897h
  1108. 0896 C3 ret
  1109. 0897 80 CE 80 or dh,80h
  1110. 089A 51 push cx
  1111. 089B 52 push dx
  1112. 089C 53 push bx
  1113. 089D 50 push ax
  1114. 089E D1 EA shr dx,1h
  1115. 08A0 D1 DB rcr bx,1h
  1116. 08A2 D0 DC rcr ah,1h
  1117. 08A4 D1 EA shr dx,1h
  1118. 08A6 D1 DB rcr bx,1h
  1119. 08A8 D0 DC rcr ah,1h
  1120. 08AA 59 pop cx
  1121. 08AB 00 EC add ah,ch
  1122. 08AD 59 pop cx
  1123. 08AE 13 D9 adc bx,cx
  1124. 08B0 59 pop cx
  1125. 08B1 13 D1 adc dx,cx
  1126. 08B3 59 pop cx
  1127. 08B4 72 03 jb 8b9h
  1128. 08B6 E9 0F 00 jmp 8c8h
  1129. 08B9 D1 DA rcr dx,1h
  1130. 08BB D1 DB rcr bx,1h
  1131. 08BD D0 DC rcr ah,1h
  1132. 08BF FE C0 inc al
  1133. 08C1 74 03 je 8c6h
  1134. 08C3 E9 02 00 jmp 8c8h
  1135. 08C6 F9 stc
  1136. 08C7 C3 ret
  1137. 08C8 80 E6 7F and dh,7fh
  1138. 08CB 04 03 add al,3h
  1139. 08CD C3 ret
  1140. 08CE 52 push dx
  1141. 08CF 53 push bx
  1142. 08D0 50 push ax
  1143. 08D1 88 0E 0F 0E mov byte ptr [0e0fh],cl
  1144. 08D5 80 F9 00 cmp cl,0h
  1145. 08D8 78 03 js 8ddh
  1146. 08DA E9 02 00 jmp 8dfh
  1147. 08DD F6 D9 neg cl
  1148. 08DF 88 CB mov bl,cl
  1149. 08E1 80 E3 FC and bl,0fch
  1150. 08E4 88 DF mov bh,bl
  1151. 08E6 D0 EB shr bl,1h
  1152. 08E8 00 FB add bl,bh
  1153. 08EA 30 FF xor bh,bh
  1154. 08EC 8D BF 11 0E lea di,[bx+0e11h]
  1155. 08F0 8B 05 mov ax,word ptr [di]
  1156. 08F2 8B 5D 02 mov bx,word ptr [di+2h]
  1157. 08F5 8B 55 04 mov dx,word ptr [di+4h]
  1158. 08F8 80 E1 03 and cl,3h
  1159. 08FB 75 03 jne 900h
  1160. 08FD E9 0A 00 jmp 90ah
  1161. 0900 E8 8C FF call 88fh
  1162. 0903 FE C9 dec cl
  1163. 0905 74 03 je 90ah
  1164. 0907 E9 F6 FF jmp 900h
  1165. 090A 89 C1 mov cx,ax
  1166. 090C 89 DE mov si,bx
  1167. 090E 89 D7 mov di,dx
  1168. 0910 58 pop ax
  1169. 0911 5B pop bx
  1170. 0912 5A pop dx
  1171. 0913 F6 06 0F 0E 80 test byte ptr [0e0fh],80h
  1172. 0918 74 03 je 91dh
  1173. 091A E9 03 00 jmp 920h
  1174. 091D E9 27 FC jmp 547h
  1175. 0920 E9 0D FD jmp 630h
  1176. 0923 80 F9 DA cmp cl,0dah
  1177. 0926 7D 03 jnl 92bh
  1178. 0928 E9 12 00 jmp 93dh
  1179. 092B 80 F9 26 cmp cl,26h
  1180. 092E 7E 03 jle 933h
  1181. 0930 E9 0A 00 jmp 93dh
  1182. 0933 51 push cx
  1183. 0934 56 push si
  1184. 0935 57 push di
  1185. 0936 E8 95 FF call 8ceh
  1186. 0939 5F pop di
  1187. 093A 5E pop si
  1188. 093B 59 pop cx
  1189. 093C C3 ret
  1190. 093D F9 stc
  1191. 093E C3 ret
  1192. 093F 8B 05 mov ax,word ptr [di]
  1193. 0941 8B 5D 02 mov bx,word ptr [di+2h]
  1194. 0944 8B 55 04 mov dx,word ptr [di+4h]
  1195. 0947 3C 00 cmp al,0h
  1196. 0949 74 03 je 94eh
  1197. 094B E9 16 00 jmp 964h
  1198. 094E BE 03 0E mov si,0e03h
  1199. 0951 C7 04 30 30 mov word ptr [si],3030h
  1200. 0955 46 inc si
  1201. 0956 46 inc si
  1202. 0957 81 FE 0F 0E cmp si,0e0fh
  1203. 095B 74 03 je 960h
  1204. 095D E9 F1 FF jmp 951h
  1205. 0960 B9 00 00 mov cx,0h
  1206. 0963 C3 ret
  1207. 0964 88 F5 mov ch,dh
  1208. 0966 80 E6 7F and dh,7fh
  1209. 0969 50 push ax
  1210. 096A 52 push dx
  1211. 096B 2C 80 sub al,80h
  1212. 096D 98 cbw
  1213. 096E BA 4D 00 mov dx,4dh
  1214. 0971 F7 EA imul dx
  1215. 0973 05 05 00 add ax,5h
  1216. 0976 88 E1 mov cl,ah
  1217. 0978 5A pop dx
  1218. 0979 58 pop ax
  1219. 097A 80 F9 D9 cmp cl,0d9h
  1220. 097D 74 03 je 982h
  1221. 097F E9 02 00 jmp 984h
  1222. 0982 FE C1 inc cl
  1223. 0984 51 push cx
  1224. 0985 F6 D9 neg cl
  1225. 0987 E8 44 FF call 8ceh
  1226. 098A 59 pop cx
  1227. 098B 3C 81 cmp al,81h
  1228. 098D 72 03 jb 992h
  1229. 098F E9 05 00 jmp 997h
  1230. 0992 E8 FA FE call 88fh
  1231. 0995 FE C9 dec cl
  1232. 0997 51 push cx
  1233. 0998 80 CE 80 or dh,80h
  1234. 099B B1 84 mov cl,84h
  1235. 099D 28 C1 sub cl,al
  1236. 099F B0 00 mov al,0h
  1237. 09A1 80 F9 00 cmp cl,0h
  1238. 09A4 75 03 jne 9a9h
  1239. 09A6 E9 0D 00 jmp 9b6h
  1240. 09A9 D1 EA shr dx,1h
  1241. 09AB D1 DB rcr bx,1h
  1242. 09AD D0 DC rcr ah,1h
  1243. 09AF FE C9 dec cl
  1244. 09B1 74 03 je 9b6h
  1245. 09B3 E9 F3 FF jmp 9a9h
  1246. 09B6 BE 03 0E mov si,0e03h
  1247. 09B9 88 F5 mov ch,dh
  1248. 09BB B1 04 mov cl,4h
  1249. 09BD D2 ED shr ch,cl
  1250. 09BF 80 C5 30 add ch,30h
  1251. 09C2 88 2C mov byte ptr [si],ch
  1252. 09C4 80 E6 0F and dh,0fh
  1253. 09C7 52 push dx
  1254. 09C8 53 push bx
  1255. 09C9 50 push ax
  1256. 09CA D1 E0 shl ax,1h
  1257. 09CC D1 D3 rcl bx,1h
  1258. 09CE D1 D2 rcl dx,1h
  1259. 09D0 D1 E0 shl ax,1h
  1260. 09D2 D1 D3 rcl bx,1h
  1261. 09D4 D1 D2 rcl dx,1h
  1262. 09D6 59 pop cx
  1263. 09D7 03 C1 add ax,cx
  1264. 09D9 59 pop cx
  1265. 09DA 13 D9 adc bx,cx
  1266. 09DC 59 pop cx
  1267. 09DD 13 D1 adc dx,cx
  1268. 09DF D1 E0 shl ax,1h
  1269. 09E1 D1 D3 rcl bx,1h
  1270. 09E3 D1 D2 rcl dx,1h
  1271. 09E5 46 inc si
  1272. 09E6 81 FE 0F 0E cmp si,0e0fh
  1273. 09EA 74 03 je 9efh
  1274. 09EC E9 CA FF jmp 9b9h
  1275. 09EF 59 pop cx
  1276. 09F0 C3 ret
  1277. 09F1 30 E4 xor ah,ah
  1278. 09F3 BB 03 0E mov bx,0e03h
  1279. 09F6 03 D8 add bx,ax
  1280. 09F8 80 3F 35 cmp byte ptr [bx],35h
  1281. 09FB C6 07 00 mov byte ptr [bx],0h
  1282. 09FE 73 03 jnb 0a03h
  1283. 0A00 E9 21 00 jmp 0a24h
  1284. 0A03 FE C8 dec al
  1285. 0A05 79 03 jns 0a0ah
  1286. 0A07 E9 11 00 jmp 0a1bh
  1287. 0A0A 4B dec bx
  1288. 0A0B FE 07 inc byte ptr [bx]
  1289. 0A0D 80 3F 3A cmp byte ptr [bx],3ah
  1290. 0A10 73 03 jnb 0a15h
  1291. 0A12 E9 0F 00 jmp 0a24h
  1292. 0A15 C6 07 00 mov byte ptr [bx],0h
  1293. 0A18 E9 E8 FF jmp 0a03h
  1294. 0A1B C6 07 31 mov byte ptr [bx],31h
  1295. 0A1E C6 47 01 00 mov byte ptr [bx+1h],0h
  1296. 0A22 FE C1 inc cl
  1297. 0A24 C3 ret
  1298. 0A25 8A 04 mov al,byte ptr [si]
  1299. 0A27 3C 00 cmp al,0h
  1300. 0A29 75 03 jne 0a2eh
  1301. 0A2B E9 04 00 jmp 0a32h
  1302. 0A2E 46 inc si
  1303. 0A2F E9 02 00 jmp 0a34h
  1304. 0A32 B0 30 mov al,30h
  1305. 0A34 88 07 mov byte ptr [bx],al
  1306. 0A36 43 inc bx
  1307. 0A37 C3 ret
  1308. 0A38 53 push bx
  1309. 0A39 81 FA 19 00 cmp dx,19h
  1310. 0A3D 73 03 jnb 0a42h
  1311. 0A3F E9 3F 00 jmp 0a81h
  1312. 0A42 89 C8 mov ax,cx
  1313. 0A44 80 FD 00 cmp ch,0h
  1314. 0A47 75 03 jne 0a4ch
  1315. 0A49 E9 10 00 jmp 0a5ch
  1316. 0A4C F6 C5 80 test ch,80h
  1317. 0A4F 75 03 jne 0a54h
  1318. 0A51 E9 05 00 jmp 0a59h
  1319. 0A54 31 C0 xor ax,ax
  1320. 0A56 E9 03 00 jmp 0a5ch
  1321. 0A59 B8 FF 00 mov ax,0ffh
  1322. 0A5C B2 07 mov dl,7h
  1323. 0A5E F6 45 05 80 test byte ptr [di+5h],80h
  1324. 0A62 75 03 jne 0a67h
  1325. 0A64 E9 02 00 jmp 0a69h
  1326. 0A67 FE C2 inc dl
  1327. 0A69 2A C2 sub al,dl
  1328. 0A6B 72 03 jb 0a70h
  1329. 0A6D E9 02 00 jmp 0a72h
  1330. 0A70 B0 00 mov al,0h
  1331. 0A72 3C 09 cmp al,9h
  1332. 0A74 73 03 jnb 0a79h
  1333. 0A76 E9 02 00 jmp 0a7bh
  1334. 0A79 B0 09 mov al,9h
  1335. 0A7B FE C0 inc al
  1336. 0A7D 88 C2 mov dl,al
  1337. 0A7F 88 C6 mov dh,al
  1338. 0A81 52 push dx
  1339. 0A82 E8 BA FE call 93fh
  1340. 0A85 5A pop dx
  1341. 0A86 8A C2 mov al,dl
  1342. 0A88 FE C0 inc al
  1343. 0A8A 80 FE 00 cmp dh,0h
  1344. 0A8D 74 03 je 0a92h
  1345. 0A8F E9 18 00 jmp 0aaah
  1346. 0A92 00 C8 add al,cl
  1347. 0A94 78 03 js 0a99h
  1348. 0A96 E9 08 00 jmp 0aa1h
  1349. 0A99 C6 06 03 0E 00 mov byte ptr [0e03h],0h
  1350. 0A9E E9 0C 00 jmp 0aadh
  1351. 0AA1 3C 0C cmp al,0ch
  1352. 0AA3 73 03 jnb 0aa8h
  1353. 0AA5 E9 02 00 jmp 0aaah
  1354. 0AA8 B0 0B mov al,0bh
  1355. 0AAA E8 44 FF call 9f1h
  1356. 0AAD 5B pop bx
  1357. 0AAE BE 03 0E mov si,0e03h
  1358. 0AB1 F6 C5 80 test ch,80h
  1359. 0AB4 75 03 jne 0ab9h
  1360. 0AB6 E9 05 00 jmp 0abeh
  1361. 0AB9 B0 2D mov al,2dh
  1362. 0ABB E8 76 FF call 0a34h
  1363. 0ABE 88 CD mov ch,cl
  1364. 0AC0 80 FE 00 cmp dh,0h
  1365. 0AC3 75 03 jne 0ac8h
  1366. 0AC5 E9 02 00 jmp 0acah
  1367. 0AC8 B5 00 mov ch,0h
  1368. 0ACA 80 FD 00 cmp ch,0h
  1369. 0ACD 78 03 js 0ad2h
  1370. 0ACF E9 06 00 jmp 0ad8h
  1371. 0AD2 E8 5D FF call 0a32h
  1372. 0AD5 E9 0A 00 jmp 0ae2h
  1373. 0AD8 E8 4A FF call 0a25h
  1374. 0ADB FE CD dec ch
  1375. 0ADD 78 03 js 0ae2h
  1376. 0ADF E9 F6 FF jmp 0ad8h
  1377. 0AE2 80 FA 00 cmp dl,0h
  1378. 0AE5 75 03 jne 0aeah
  1379. 0AE7 E9 23 00 jmp 0b0dh
  1380. 0AEA B0 2E mov al,2eh
  1381. 0AEC E8 45 FF call 0a34h
  1382. 0AEF FE C5 inc ch
  1383. 0AF1 75 03 jne 0af6h
  1384. 0AF3 E9 0A 00 jmp 0b00h
  1385. 0AF6 E8 39 FF call 0a32h
  1386. 0AF9 FE CA dec dl
  1387. 0AFB 74 03 je 0b00h
  1388. 0AFD E9 EF FF jmp 0aefh
  1389. 0B00 FE CA dec dl
  1390. 0B02 79 03 jns 0b07h
  1391. 0B04 E9 06 00 jmp 0b0dh
  1392. 0B07 E8 1B FF call 0a25h
  1393. 0B0A E9 F3 FF jmp 0b00h
  1394. 0B0D 80 FE 00 cmp dh,0h
  1395. 0B10 74 03 je 0b15h
  1396. 0B12 E9 01 00 jmp 0b16h
  1397. 0B15 C3 ret
  1398. 0B16 B0 45 mov al,45h
  1399. 0B18 E8 19 FF call 0a34h
  1400. 0B1B B0 2B mov al,2bh
  1401. 0B1D 80 F9 00 cmp cl,0h
  1402. 0B20 78 03 js 0b25h
  1403. 0B22 E9 04 00 jmp 0b29h
  1404. 0B25 F6 D9 neg cl
  1405. 0B27 B0 2D mov al,2dh
  1406. 0B29 E8 08 FF call 0a34h
  1407. 0B2C B0 2F mov al,2fh
  1408. 0B2E FE C0 inc al
  1409. 0B30 80 E9 0A sub cl,0ah
  1410. 0B33 72 03 jb 0b38h
  1411. 0B35 E9 F6 FF jmp 0b2eh
  1412. 0B38 E8 F9 FE call 0a34h
  1413. 0B3B 80 C1 3A add cl,3ah
  1414. 0B3E 88 C8 mov al,cl
  1415. 0B40 E9 F1 FE jmp 0a34h
  1416. 0B43 8A 0F mov cl,byte ptr [bx]
  1417. 0B45 80 F9 2D cmp cl,2dh
  1418. 0B48 74 03 je 0b4dh
  1419. 0B4A E9 01 00 jmp 0b4eh
  1420. 0B4D 43 inc bx
  1421. 0B4E 51 push cx
  1422. 0B4F E8 1F 00 call 0b71h
  1423. 0B52 59 pop cx
  1424. 0B53 73 03 jnb 0b58h
  1425. 0B55 E9 17 00 jmp 0b6fh
  1426. 0B58 80 F9 2D cmp cl,2dh
  1427. 0B5B 74 03 je 0b60h
  1428. 0B5D E9 0D 00 jmp 0b6dh
  1429. 0B60 8A 05 mov al,byte ptr [di]
  1430. 0B62 3C 00 cmp al,0h
  1431. 0B64 75 03 jne 0b69h
  1432. 0B66 E9 04 00 jmp 0b6dh
  1433. 0B69 80 75 05 80 xor byte ptr [di+5h],80h
  1434. 0B6D F8 clc
  1435. 0B6E C3 ret
  1436. 0B6F F9 stc
  1437. 0B70 C3 ret
  1438. 0B71 89 DE mov si,bx
  1439. 0B73 31 C0 xor ax,ax
  1440. 0B75 31 DB xor bx,bx
  1441. 0B77 31 D2 xor dx,dx
  1442. 0B79 31 C9 xor cx,cx
  1443. 0B7B C6 06 10 0E 00 mov byte ptr [0e10h],0h
  1444. 0B80 8A 0C mov cl,byte ptr [si]
  1445. 0B82 80 F9 61 cmp cl,61h
  1446. 0B85 73 03 jnb 0b8ah
  1447. 0B87 E9 08 00 jmp 0b92h
  1448. 0B8A 80 F9 7A cmp cl,7ah
  1449. 0B8D 77 03 jnbe 0b92h
  1450. 0B8F 80 E9 20 sub cl,20h
  1451. 0B92 E8 C8 00 call 0c5dh
  1452. 0B95 73 03 jnb 0b9ah
  1453. 0B97 E9 3A 00 jmp 0bd4h
  1454. 0B9A E8 F2 FC call 88fh
  1455. 0B9D 73 03 jnb 0ba2h
  1456. 0B9F E9 B5 00 jmp 0c57h
  1457. 0BA2 57 push di
  1458. 0BA3 56 push si
  1459. 0BA4 51 push cx
  1460. 0BA5 52 push dx
  1461. 0BA6 53 push bx
  1462. 0BA7 50 push ax
  1463. 0BA8 88 C8 mov al,cl
  1464. 0BAA 30 E4 xor ah,ah
  1465. 0BAC E8 C2 F7 call 371h
  1466. 0BAF 89 C1 mov cx,ax
  1467. 0BB1 89 DE mov si,bx
  1468. 0BB3 89 D7 mov di,dx
  1469. 0BB5 58 pop ax
  1470. 0BB6 5B pop bx
  1471. 0BB7 5A pop dx
  1472. 0BB8 C7 06 F2 0D 00 00 mov word ptr [0df2h],0h
  1473. 0BBE E8 60 F8 call 421h
  1474. 0BC1 59 pop cx
  1475. 0BC2 5E pop si
  1476. 0BC3 5F pop di
  1477. 0BC4 F6 C5 40 test ch,40h
  1478. 0BC7 75 03 jne 0bcch
  1479. 0BC9 E9 04 00 jmp 0bd0h
  1480. 0BCC FE 0E 10 0E dec byte ptr [0e10h]
  1481. 0BD0 46 inc si
  1482. 0BD1 E9 AC FF jmp 0b80h
  1483. 0BD4 80 F9 2E cmp cl,2eh
  1484. 0BD7 74 03 je 0bdch
  1485. 0BD9 E9 0E 00 jmp 0beah
  1486. 0BDC F6 C5 40 test ch,40h
  1487. 0BDF 74 03 je 0be4h
  1488. 0BE1 E9 73 00 jmp 0c57h
  1489. 0BE4 80 CD 40 or ch,40h
  1490. 0BE7 E9 E6 FF jmp 0bd0h
  1491. 0BEA 80 F9 45 cmp cl,45h
  1492. 0BED 8A 0E 10 0E mov cl,byte ptr [0e10h]
  1493. 0BF1 74 03 je 0bf6h
  1494. 0BF3 E9 4D 00 jmp 0c43h
  1495. 0BF6 E8 2A FD call 923h
  1496. 0BF9 73 03 jnb 0bfeh
  1497. 0BFB E9 59 00 jmp 0c57h
  1498. 0BFE 46 inc si
  1499. 0BFF 8A 0C mov cl,byte ptr [si]
  1500. 0C01 80 F9 2B cmp cl,2bh
  1501. 0C04 75 03 jne 0c09h
  1502. 0C06 E9 0B 00 jmp 0c14h
  1503. 0C09 80 F9 2D cmp cl,2dh
  1504. 0C0C 74 03 je 0c11h
  1505. 0C0E E9 04 00 jmp 0c15h
  1506. 0C11 80 CD 20 or ch,20h
  1507. 0C14 46 inc si
  1508. 0C15 E8 43 00 call 0c5bh
  1509. 0C18 73 03 jnb 0c1dh
  1510. 0C1A E9 3A 00 jmp 0c57h
  1511. 0C1D 50 push ax
  1512. 0C1E 88 C8 mov al,cl
  1513. 0C20 46 inc si
  1514. 0C21 E8 37 00 call 0c5bh
  1515. 0C24 73 03 jnb 0c29h
  1516. 0C26 E9 0D 00 jmp 0c36h
  1517. 0C29 88 C4 mov ah,al
  1518. 0C2B D0 E0 shl al,1h
  1519. 0C2D D0 E0 shl al,1h
  1520. 0C2F 00 E0 add al,ah
  1521. 0C31 D0 E0 shl al,1h
  1522. 0C33 00 C8 add al,cl
  1523. 0C35 46 inc si
  1524. 0C36 88 C1 mov cl,al
  1525. 0C38 58 pop ax
  1526. 0C39 F6 C5 20 test ch,20h
  1527. 0C3C 75 03 jne 0c41h
  1528. 0C3E E9 02 00 jmp 0c43h
  1529. 0C41 F6 D9 neg cl
  1530. 0C43 E8 DD FC call 923h
  1531. 0C46 73 03 jnb 0c4bh
  1532. 0C48 E9 0C 00 jmp 0c57h
  1533. 0C4B 89 05 mov word ptr [di],ax
  1534. 0C4D 89 5D 02 mov word ptr [di+2h],bx
  1535. 0C50 89 55 04 mov word ptr [di+4h],dx
  1536. 0C53 F8 clc
  1537. 0C54 E9 01 00 jmp 0c58h
  1538. 0C57 F9 stc
  1539. 0C58 89 F3 mov bx,si
  1540. 0C5A C3 ret
  1541. 0C5B 8A 0C mov cl,byte ptr [si]
  1542. 0C5D 80 F9 30 cmp cl,30h
  1543. 0C60 73 03 jnb 0c65h
  1544. 0C62 E9 0C 00 jmp 0c71h
  1545. 0C65 80 F9 3A cmp cl,3ah
  1546. 0C68 F5 cmc
  1547. 0C69 73 03 jnb 0c6eh
  1548. 0C6B E9 03 00 jmp 0c71h
  1549. 0C6E 80 E9 30 sub cl,30h
  1550. 0C71 C3 ret
  1551. 0C72 55 push bp
  1552. 0C73 8B EC mov bp,sp
  1553. 0C75 53 push bx
  1554. 0C76 52 push dx
  1555. 0C77 56 push si
  1556. 0C78 57 push di
  1557. 0C79 8B 46 06 mov ax,word ptr [bp+6h]
  1558. 0C7C A3 8F 0E mov word ptr [0e8fh],ax
  1559. 0C7F 8B 56 04 mov dx,word ptr [bp+4h]
  1560. 0C82 8B 4E 06 mov cx,word ptr [bp+6h]
  1561. 0C85 8B 7E 08 mov di,word ptr [bp+8h]
  1562. 0C88 BB 4D 0E mov bx,0e4dh
  1563. 0C8B E8 AA FD call 0a38h
  1564. 0C8E 89 D8 mov ax,bx
  1565. 0C90 BB 4D 0E mov bx,0e4dh
  1566. 0C93 2B C3 sub ax,bx
  1567. 0C95 A3 8D 0E mov word ptr [0e8dh],ax
  1568. 0C98 8B 06 8F 0E mov ax,word ptr [0e8fh]
  1569. 0C9C 8B 16 8D 0E mov dx,word ptr [0e8dh]
  1570. 0CA0 2B C2 sub ax,dx
  1571. 0CA2 83 F8 00 cmp ax,0h
  1572. 0CA5 7D 02 jnl 0ca9h
  1573. 0CA7 31 C0 xor ax,ax
  1574. 0CA9 A3 91 0E mov word ptr [0e91h],ax
  1575. 0CAC 8B 0E 91 0E mov cx,word ptr [0e91h]
  1576. 0CB0 E3 08 jcxz 0cbah
  1577. 0CB2 B0 20 mov al,20h
  1578. 0CB4 B4 02 mov ah,2h
  1579. 0CB6 CD 21 int 21h
  1580. 0CB8 E2 F8 loop 0cb2h
  1581. 0CBA BE 4D 0E mov si,0e4dh
  1582. 0CBD 8B 0E 8D 0E mov cx,word ptr [0e8dh]
  1583. 0CC1 E3 09 jcxz 0ccch
  1584. 0CC3 8A 04 mov al,byte ptr [si]
  1585. 0CC5 B4 02 mov ah,2h
  1586. 0CC7 CD 21 int 21h
  1587. 0CC9 46 inc si
  1588. 0CCA E2 F7 loop 0cc3h
  1589. 0CCC 5F pop di
  1590. 0CCD 5E pop si
  1591. 0CCE 5A pop dx
  1592. 0CCF 5B pop bx
  1593. 0CD0 89 EC mov sp,bp
  1594. 0CD2 5D pop bp
  1595. 0CD3 C3 ret