runtime.golden 53 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847
  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 89 C8 mov ax,cx
  25. 001B A3 6C 10 mov word ptr [106ch],ax
  26. 001E 1E push ds
  27. 001F 07 pop es
  28. 0020 C3 ret
  29. 0021 31 C0 xor ax,ax
  30. 0023 B4 4C mov ah,4ch
  31. 0025 CD 21 int 21h
  32. 0027 C3 ret
  33. 0028 C3 ret
  34. 0029 55 push bp
  35. 002A 8B EC mov bp,sp
  36. 002C 8B 46 04 mov ax,word ptr [bp+4h]
  37. 002F 83 F8 00 cmp ax,0h
  38. 0032 7D 0A jnl 3eh
  39. 0034 50 push ax
  40. 0035 B0 2D mov al,2dh
  41. 0037 B4 02 mov ah,2h
  42. 0039 CD 21 int 21h
  43. 003B 58 pop ax
  44. 003C F7 D8 neg ax
  45. 003E B9 0A 00 mov cx,0ah
  46. 0041 BB AF 0F mov bx,0fafh
  47. 0044 89 DE mov si,bx
  48. 0046 31 D2 xor dx,dx
  49. 0048 F7 F1 div ax,cx
  50. 004A 80 C2 30 add dl,30h
  51. 004D 4E dec si
  52. 004E 88 14 mov byte ptr [si],dl
  53. 0050 83 F8 00 cmp ax,0h
  54. 0053 75 F1 jne 46h
  55. 0055 39 DE cmp si,bx
  56. 0057 74 09 je 62h
  57. 0059 8A 04 mov al,byte ptr [si]
  58. 005B B4 02 mov ah,2h
  59. 005D CD 21 int 21h
  60. 005F 46 inc si
  61. 0060 EB F3 jmp 55h
  62. 0062 89 EC mov sp,bp
  63. 0064 5D pop bp
  64. 0065 C3 ret
  65. 0066 55 push bp
  66. 0067 8B EC mov bp,sp
  67. 0069 BB 00 00 mov bx,0h
  68. 006C 8B 46 06 mov ax,word ptr [bp+6h]
  69. 006F 83 F8 00 cmp ax,0h
  70. 0072 7D 03 jnl 77h
  71. 0074 43 inc bx
  72. 0075 F7 D8 neg ax
  73. 0077 B9 0A 00 mov cx,0ah
  74. 007A 43 inc bx
  75. 007B 31 D2 xor dx,dx
  76. 007D F7 F1 div ax,cx
  77. 007F 83 F8 00 cmp ax,0h
  78. 0082 75 F6 jne 7ah
  79. 0084 8B 46 04 mov ax,word ptr [bp+4h]
  80. 0087 2B C3 sub ax,bx
  81. 0089 83 F8 00 cmp ax,0h
  82. 008C 7E 0A jle 98h
  83. 008E 89 C1 mov cx,ax
  84. 0090 B0 20 mov al,20h
  85. 0092 B4 02 mov ah,2h
  86. 0094 CD 21 int 21h
  87. 0096 E2 F8 loop 90h
  88. 0098 8B 46 06 mov ax,word ptr [bp+6h]
  89. 009B 83 F8 00 cmp ax,0h
  90. 009E 7D 0A jnl 0aah
  91. 00A0 50 push ax
  92. 00A1 B0 2D mov al,2dh
  93. 00A3 B4 02 mov ah,2h
  94. 00A5 CD 21 int 21h
  95. 00A7 58 pop ax
  96. 00A8 F7 D8 neg ax
  97. 00AA B9 0A 00 mov cx,0ah
  98. 00AD BB AF 0F mov bx,0fafh
  99. 00B0 89 DE mov si,bx
  100. 00B2 31 D2 xor dx,dx
  101. 00B4 F7 F1 div ax,cx
  102. 00B6 80 C2 30 add dl,30h
  103. 00B9 4E dec si
  104. 00BA 88 14 mov byte ptr [si],dl
  105. 00BC 83 F8 00 cmp ax,0h
  106. 00BF 75 F1 jne 0b2h
  107. 00C1 39 DE cmp si,bx
  108. 00C3 74 09 je 0ceh
  109. 00C5 8A 04 mov al,byte ptr [si]
  110. 00C7 B4 02 mov ah,2h
  111. 00C9 CD 21 int 21h
  112. 00CB 46 inc si
  113. 00CC EB F3 jmp 0c1h
  114. 00CE 89 EC mov sp,bp
  115. 00D0 5D pop bp
  116. 00D1 C3 ret
  117. 00D2 55 push bp
  118. 00D3 8B EC mov bp,sp
  119. 00D5 8A 46 04 mov al,byte ptr [bp+4h]
  120. 00D8 89 EC mov sp,bp
  121. 00DA 5D pop bp
  122. 00DB B4 02 mov ah,2h
  123. 00DD CD 21 int 21h
  124. 00DF C3 ret
  125. 00E0 55 push bp
  126. 00E1 8B EC mov bp,sp
  127. 00E3 83 7E 04 00 cmp word ptr [bp+4h],0h
  128. 00E7 89 EC mov sp,bp
  129. 00E9 75 05 jne 0f0h
  130. 00EB BA B4 0F mov dx,0fb4h
  131. 00EE EB 03 jmp 0f3h
  132. 00F0 BA AF 0F mov dx,0fafh
  133. 00F3 B4 09 mov ah,9h
  134. 00F5 CD 21 int 21h
  135. 00F7 5D pop bp
  136. 00F8 C3 ret
  137. 00F9 BA BD 0F mov dx,0fbdh
  138. 00FC B4 09 mov ah,9h
  139. 00FE CD 21 int 21h
  140. 0100 C3 ret
  141. 0101 BA BA 0F mov dx,0fbah
  142. 0104 B4 09 mov ah,9h
  143. 0106 CD 21 int 21h
  144. 0108 C3 ret
  145. 0109 5B pop bx
  146. 010A 31 C9 xor cx,cx
  147. 010C 8A 0F mov cl,byte ptr [bx]
  148. 010E 43 inc bx
  149. 010F B4 02 mov ah,2h
  150. 0111 E3 07 jcxz 11ah
  151. 0113 8A 07 mov al,byte ptr [bx]
  152. 0115 CD 21 int 21h
  153. 0117 43 inc bx
  154. 0118 E2 F9 loop 113h
  155. 011A FF E3 jmp bx
  156. 011C 55 push bp
  157. 011D 8B EC mov bp,sp
  158. 011F 53 push bx
  159. 0120 51 push cx
  160. 0121 50 push ax
  161. 0122 8B 5E 04 mov bx,word ptr [bp+4h]
  162. 0125 31 C9 xor cx,cx
  163. 0127 8A 0F mov cl,byte ptr [bx]
  164. 0129 43 inc bx
  165. 012A B4 02 mov ah,2h
  166. 012C E3 07 jcxz 135h
  167. 012E 8A 07 mov al,byte ptr [bx]
  168. 0130 CD 21 int 21h
  169. 0132 43 inc bx
  170. 0133 E2 F9 loop 12eh
  171. 0135 58 pop ax
  172. 0136 59 pop cx
  173. 0137 5B pop bx
  174. 0138 89 EC mov sp,bp
  175. 013A 5D pop bp
  176. 013B C3 ret
  177. 013C 55 push bp
  178. 013D 8B EC mov bp,sp
  179. 013F 50 push ax
  180. 0140 53 push bx
  181. 0141 51 push cx
  182. 0142 52 push dx
  183. 0143 57 push di
  184. 0144 E8 13 00 call 15ah
  185. 0147 83 F9 02 cmp cx,2h
  186. 014A 74 05 je 151h
  187. 014C 8B 7E 04 mov di,word ptr [bp+4h]
  188. 014F 89 05 mov word ptr [di],ax
  189. 0151 5F pop di
  190. 0152 5A pop dx
  191. 0153 59 pop cx
  192. 0154 5B pop bx
  193. 0155 58 pop ax
  194. 0156 89 EC mov sp,bp
  195. 0158 5D pop bp
  196. 0159 C3 ret
  197. 015A E8 C3 00 call 220h
  198. 015D 3C 1A cmp al,1ah
  199. 015F 74 42 je 1a3h
  200. 0161 3C 20 cmp al,20h
  201. 0163 76 F5 jbe 15ah
  202. 0165 31 C9 xor cx,cx
  203. 0167 3C 2D cmp al,2dh
  204. 0169 75 06 jne 171h
  205. 016B 41 inc cx
  206. 016C E8 B1 00 call 220h
  207. 016F EB 07 jmp 178h
  208. 0171 3C 2B cmp al,2bh
  209. 0173 75 03 jne 178h
  210. 0175 E8 A8 00 call 220h
  211. 0178 31 FF xor di,di
  212. 017A 3C 30 cmp al,30h
  213. 017C 72 18 jb 196h
  214. 017E 3C 39 cmp al,39h
  215. 0180 77 14 jnbe 196h
  216. 0182 2C 30 sub al,30h
  217. 0184 B4 00 mov ah,0h
  218. 0186 87 C7 xchg di,ax
  219. 0188 BB 0A 00 mov bx,0ah
  220. 018B F7 E3 mul bx
  221. 018D 03 C7 add ax,di
  222. 018F 89 C7 mov di,ax
  223. 0191 E8 8C 00 call 220h
  224. 0194 EB E4 jmp 17ah
  225. 0196 E8 9E 00 call 237h
  226. 0199 83 F9 00 cmp cx,0h
  227. 019C 74 02 je 1a0h
  228. 019E F7 DF neg di
  229. 01A0 8B C7 mov ax,di
  230. 01A2 C3 ret
  231. 01A3 B9 02 00 mov cx,2h
  232. 01A6 C3 ret
  233. 01A7 55 push bp
  234. 01A8 8B EC mov bp,sp
  235. 01AA 50 push ax
  236. 01AB 53 push bx
  237. 01AC 51 push cx
  238. 01AD 52 push dx
  239. 01AE 57 push di
  240. 01AF E8 A8 FF call 15ah
  241. 01B2 83 F9 02 cmp cx,2h
  242. 01B5 74 05 je 1bch
  243. 01B7 8B 7E 04 mov di,word ptr [bp+4h]
  244. 01BA 88 05 mov byte ptr [di],al
  245. 01BC 5F pop di
  246. 01BD 5A pop dx
  247. 01BE 59 pop cx
  248. 01BF 5B pop bx
  249. 01C0 58 pop ax
  250. 01C1 89 EC mov sp,bp
  251. 01C3 5D pop bp
  252. 01C4 C3 ret
  253. 01C5 55 push bp
  254. 01C6 8B EC mov bp,sp
  255. 01C8 50 push ax
  256. 01C9 53 push bx
  257. 01CA 57 push di
  258. 01CB E8 52 00 call 220h
  259. 01CE 88 C2 mov dl,al
  260. 01D0 8B 7E 04 mov di,word ptr [bp+4h]
  261. 01D3 88 15 mov byte ptr [di],dl
  262. 01D5 5F pop di
  263. 01D6 5B pop bx
  264. 01D7 58 pop ax
  265. 01D8 89 EC mov sp,bp
  266. 01DA 5D pop bp
  267. 01DB C3 ret
  268. 01DC 55 push bp
  269. 01DD 8B EC mov bp,sp
  270. 01DF 50 push ax
  271. 01E0 53 push bx
  272. 01E1 51 push cx
  273. 01E2 57 push di
  274. 01E3 E8 3A 00 call 220h
  275. 01E6 31 C9 xor cx,cx
  276. 01E8 3C 54 cmp al,54h
  277. 01EA 74 12 je 1feh
  278. 01EC 3C 74 cmp al,74h
  279. 01EE 74 0E je 1feh
  280. 01F0 3C 59 cmp al,59h
  281. 01F2 74 0A je 1feh
  282. 01F4 3C 79 cmp al,79h
  283. 01F6 74 06 je 1feh
  284. 01F8 3C 31 cmp al,31h
  285. 01FA 74 02 je 1feh
  286. 01FC EB 01 jmp 1ffh
  287. 01FE 41 inc cx
  288. 01FF 8B 7E 04 mov di,word ptr [bp+4h]
  289. 0202 89 0D mov word ptr [di],cx
  290. 0204 5F pop di
  291. 0205 59 pop cx
  292. 0206 5B pop bx
  293. 0207 58 pop ax
  294. 0208 89 EC mov sp,bp
  295. 020A 5D pop bp
  296. 020B C3 ret
  297. 020C 50 push ax
  298. 020D E8 10 00 call 220h
  299. 0210 3C 0D cmp al,0dh
  300. 0212 74 0A je 21eh
  301. 0214 3C 0A cmp al,0ah
  302. 0216 74 06 je 21eh
  303. 0218 3C 1A cmp al,1ah
  304. 021A 74 02 je 21eh
  305. 021C EB EF jmp 20dh
  306. 021E 58 pop ax
  307. 021F C3 ret
  308. 0220 8B 1E C3 0F mov bx,word ptr [0fc3h]
  309. 0224 83 FB 00 cmp bx,0h
  310. 0227 74 09 je 232h
  311. 0229 8A C3 mov al,bl
  312. 022B 31 DB xor bx,bx
  313. 022D 89 1E C3 0F mov word ptr [0fc3h],bx
  314. 0231 C3 ret
  315. 0232 B4 08 mov ah,8h
  316. 0234 CD 21 int 21h
  317. 0236 C3 ret
  318. 0237 88 C2 mov dl,al
  319. 0239 BB 01 00 mov bx,1h
  320. 023C 8A DA mov bl,dl
  321. 023E 89 1E C3 0F mov word ptr [0fc3h],bx
  322. 0242 C3 ret
  323. 0243 55 push bp
  324. 0244 8B EC mov bp,sp
  325. 0246 50 push ax
  326. 0247 53 push bx
  327. 0248 51 push cx
  328. 0249 52 push dx
  329. 024A 57 push di
  330. 024B 8B 7E 04 mov di,word ptr [bp+4h]
  331. 024E 8B 46 04 mov ax,word ptr [bp+4h]
  332. 0251 8B F0 mov si,ax
  333. 0253 46 inc si
  334. 0254 31 DB xor bx,bx
  335. 0256 53 push bx
  336. 0257 E8 C6 FF call 220h
  337. 025A 5B pop bx
  338. 025B 3C 0D cmp al,0dh
  339. 025D 74 1D je 27ch
  340. 025F 3C 0A cmp al,0ah
  341. 0261 74 19 je 27ch
  342. 0263 3C 1A cmp al,1ah
  343. 0265 74 15 je 27ch
  344. 0267 88 C2 mov dl,al
  345. 0269 43 inc bx
  346. 026A 88 14 mov byte ptr [si],dl
  347. 026C 46 inc si
  348. 026D E2 E7 loop 256h
  349. 026F 8A C3 mov al,bl
  350. 0271 88 05 mov byte ptr [di],al
  351. 0273 5F pop di
  352. 0274 5A pop dx
  353. 0275 59 pop cx
  354. 0276 5B pop bx
  355. 0277 58 pop ax
  356. 0278 89 EC mov sp,bp
  357. 027A 5D pop bp
  358. 027B C3 ret
  359. 027C 53 push bx
  360. 027D E8 B7 FF call 237h
  361. 0280 5B pop bx
  362. 0281 EB EC jmp 26fh
  363. 0283 55 push bp
  364. 0284 8B EC mov bp,sp
  365. 0286 50 push ax
  366. 0287 53 push bx
  367. 0288 51 push cx
  368. 0289 52 push dx
  369. 028A 8B 46 04 mov ax,word ptr [bp+4h]
  370. 028D 8B F0 mov si,ax
  371. 028F 8B 5E 06 mov bx,word ptr [bp+6h]
  372. 0292 31 D2 xor dx,dx
  373. 0294 8A 07 mov al,byte ptr [bx]
  374. 0296 88 C2 mov dl,al
  375. 0298 43 inc bx
  376. 0299 39 D1 cmp cx,dx
  377. 029B 72 04 jb 2a1h
  378. 029D 8B CA mov cx,dx
  379. 029F EB 02 jmp 2a3h
  380. 02A1 8A D1 mov dl,cl
  381. 02A3 88 14 mov byte ptr [si],dl
  382. 02A5 46 inc si
  383. 02A6 E3 0A jcxz 2b2h
  384. 02A8 8A 07 mov al,byte ptr [bx]
  385. 02AA 88 C2 mov dl,al
  386. 02AC 88 14 mov byte ptr [si],dl
  387. 02AE 43 inc bx
  388. 02AF 46 inc si
  389. 02B0 E2 F6 loop 2a8h
  390. 02B2 5A pop dx
  391. 02B3 59 pop cx
  392. 02B4 5B pop bx
  393. 02B5 58 pop ax
  394. 02B6 89 EC mov sp,bp
  395. 02B8 5D pop bp
  396. 02B9 C3 ret
  397. 02BA 55 push bp
  398. 02BB 8B EC mov bp,sp
  399. 02BD 53 push bx
  400. 02BE 51 push cx
  401. 02BF 52 push dx
  402. 02C0 31 C9 xor cx,cx
  403. 02C2 31 D2 xor dx,dx
  404. 02C4 8B 5E 06 mov bx,word ptr [bp+6h]
  405. 02C7 8A 0F mov cl,byte ptr [bx]
  406. 02C9 8B 46 04 mov ax,word ptr [bp+4h]
  407. 02CC 8B F0 mov si,ax
  408. 02CE 8A 14 mov dl,byte ptr [si]
  409. 02D0 39 D1 cmp cx,dx
  410. 02D2 76 02 jbe 2d6h
  411. 02D4 8B CA mov cx,dx
  412. 02D6 E3 0E jcxz 2e6h
  413. 02D8 43 inc bx
  414. 02D9 46 inc si
  415. 02DA 8A 07 mov al,byte ptr [bx]
  416. 02DC 8A 14 mov dl,byte ptr [si]
  417. 02DE 3A C2 cmp al,dl
  418. 02E0 75 14 jne 2f6h
  419. 02E2 43 inc bx
  420. 02E3 46 inc si
  421. 02E4 E2 F4 loop 2dah
  422. 02E6 8B 5E 06 mov bx,word ptr [bp+6h]
  423. 02E9 8A 0F mov cl,byte ptr [bx]
  424. 02EB 8B 46 04 mov ax,word ptr [bp+4h]
  425. 02EE 8B F0 mov si,ax
  426. 02F0 31 D2 xor dx,dx
  427. 02F2 8A 14 mov dl,byte ptr [si]
  428. 02F4 39 D1 cmp cx,dx
  429. 02F6 B0 00 mov al,0h
  430. 02F8 B4 00 mov ah,0h
  431. 02FA 72 06 jb 302h
  432. 02FC 74 08 je 306h
  433. 02FE B0 01 mov al,1h
  434. 0300 EB 04 jmp 306h
  435. 0302 B0 FF mov al,0ffh
  436. 0304 B4 FF mov ah,0ffh
  437. 0306 5A pop dx
  438. 0307 59 pop cx
  439. 0308 5B pop bx
  440. 0309 89 EC mov sp,bp
  441. 030B 5D pop bp
  442. 030C C3 ret
  443. 030D 55 push bp
  444. 030E 8B EC mov bp,sp
  445. 0310 50 push ax
  446. 0311 53 push bx
  447. 0312 51 push cx
  448. 0313 52 push dx
  449. 0314 56 push si
  450. 0315 57 push di
  451. 0316 8B 46 04 mov ax,word ptr [bp+4h]
  452. 0319 8B F0 mov si,ax
  453. 031B 8B 5E 06 mov bx,word ptr [bp+6h]
  454. 031E 31 D2 xor dx,dx
  455. 0320 8A 14 mov dl,byte ptr [si]
  456. 0322 31 C0 xor ax,ax
  457. 0324 8A 07 mov al,byte ptr [bx]
  458. 0326 01 C2 add dx,ax
  459. 0328 39 D1 cmp cx,dx
  460. 032A 73 06 jnb 332h
  461. 032C B0 10 mov al,10h
  462. 032E B4 4C mov ah,4ch
  463. 0330 CD 21 int 21h
  464. 0332 8B CA mov cx,dx
  465. 0334 88 0C mov byte ptr [si],cl
  466. 0336 29 C2 sub dx,ax
  467. 0338 8B FE mov di,si
  468. 033A 47 inc di
  469. 033B 01 D7 add di,dx
  470. 033D 43 inc bx
  471. 033E 89 C1 mov cx,ax
  472. 0340 E3 08 jcxz 34ah
  473. 0342 8A 07 mov al,byte ptr [bx]
  474. 0344 88 05 mov byte ptr [di],al
  475. 0346 43 inc bx
  476. 0347 47 inc di
  477. 0348 E2 F8 loop 342h
  478. 034A 5F pop di
  479. 034B 5E pop si
  480. 034C 5A pop dx
  481. 034D 59 pop cx
  482. 034E 5B pop bx
  483. 034F 58 pop ax
  484. 0350 89 EC mov sp,bp
  485. 0352 5D pop bp
  486. 0353 C3 ret
  487. 0354 55 push bp
  488. 0355 8B EC mov bp,sp
  489. 0357 53 push bx
  490. 0358 52 push dx
  491. 0359 56 push si
  492. 035A 57 push di
  493. 035B 8B 76 06 mov si,word ptr [bp+6h]
  494. 035E 8B 04 mov ax,word ptr [si]
  495. 0360 E8 13 00 call 376h
  496. 0363 8B 7E 04 mov di,word ptr [bp+4h]
  497. 0366 89 05 mov word ptr [di],ax
  498. 0368 89 5D 02 mov word ptr [di+2h],bx
  499. 036B 89 55 04 mov word ptr [di+4h],dx
  500. 036E 5F pop di
  501. 036F 5E pop si
  502. 0370 5A pop dx
  503. 0371 5B pop bx
  504. 0372 89 EC mov sp,bp
  505. 0374 5D pop bp
  506. 0375 C3 ret
  507. 0376 83 F8 00 cmp ax,0h
  508. 0379 75 06 jne 381h
  509. 037B 31 DB xor bx,bx
  510. 037D 31 D2 xor dx,dx
  511. 037F EB 2C jmp 3adh
  512. 0381 88 E7 mov bh,ah
  513. 0383 89 C2 mov dx,ax
  514. 0385 83 FA 00 cmp dx,0h
  515. 0388 79 02 jns 38ch
  516. 038A F7 DA neg dx
  517. 038C B8 90 00 mov ax,90h
  518. 038F 80 FE 00 cmp dh,0h
  519. 0392 75 04 jne 398h
  520. 0394 B0 88 mov al,88h
  521. 0396 86 D6 xchg dh,dl
  522. 0398 83 FA 00 cmp dx,0h
  523. 039B 78 06 js 3a3h
  524. 039D FE C8 dec al
  525. 039F D1 E2 shl dx,1h
  526. 03A1 79 FA jns 39dh
  527. 03A3 80 FF 00 cmp bh,0h
  528. 03A6 78 03 js 3abh
  529. 03A8 80 E6 7F and dh,7fh
  530. 03AB 31 DB xor bx,bx
  531. 03AD C3 ret
  532. 03AE 55 push bp
  533. 03AF 8B EC mov bp,sp
  534. 03B1 53 push bx
  535. 03B2 52 push dx
  536. 03B3 56 push si
  537. 03B4 57 push di
  538. 03B5 FF 76 04 push word ptr [bp+4h]
  539. 03B8 8B 76 04 mov si,word ptr [bp+4h]
  540. 03BB 8B 04 mov ax,word ptr [si]
  541. 03BD 8B 4C 02 mov cx,word ptr [si+2h]
  542. 03C0 8B 54 04 mov dx,word ptr [si+4h]
  543. 03C3 89 CB mov bx,cx
  544. 03C5 8B FE mov di,si
  545. 03C7 8B 4D 06 mov cx,word ptr [di+6h]
  546. 03CA 8B 75 08 mov si,word ptr [di+8h]
  547. 03CD 8B 7D 0A mov di,word ptr [di+0ah]
  548. 03D0 C7 06 C5 0F 00 00 mov word ptr [0fc5h],0h
  549. 03D6 E8 4D 00 call 426h
  550. 03D9 5F pop di
  551. 03DA 89 05 mov word ptr [di],ax
  552. 03DC 89 5D 02 mov word ptr [di+2h],bx
  553. 03DF 89 55 04 mov word ptr [di+4h],dx
  554. 03E2 5F pop di
  555. 03E3 5E pop si
  556. 03E4 5A pop dx
  557. 03E5 5B pop bx
  558. 03E6 89 EC mov sp,bp
  559. 03E8 5D pop bp
  560. 03E9 C3 ret
  561. 03EA 55 push bp
  562. 03EB 8B EC mov bp,sp
  563. 03ED 53 push bx
  564. 03EE 52 push dx
  565. 03EF 56 push si
  566. 03F0 57 push di
  567. 03F1 FF 76 04 push word ptr [bp+4h]
  568. 03F4 8B 76 04 mov si,word ptr [bp+4h]
  569. 03F7 8B 04 mov ax,word ptr [si]
  570. 03F9 8B 4C 02 mov cx,word ptr [si+2h]
  571. 03FC 8B 54 04 mov dx,word ptr [si+4h]
  572. 03FF 89 CB mov bx,cx
  573. 0401 8B FE mov di,si
  574. 0403 8B 4D 06 mov cx,word ptr [di+6h]
  575. 0406 8B 75 08 mov si,word ptr [di+8h]
  576. 0409 8B 7D 0A mov di,word ptr [di+0ah]
  577. 040C C7 06 C5 0F 00 80 mov word ptr [0fc5h],8000h
  578. 0412 E8 11 00 call 426h
  579. 0415 5F pop di
  580. 0416 89 05 mov word ptr [di],ax
  581. 0418 89 5D 02 mov word ptr [di+2h],bx
  582. 041B 89 55 04 mov word ptr [di+4h],dx
  583. 041E 5F pop di
  584. 041F 5E pop si
  585. 0420 5A pop dx
  586. 0421 5B pop bx
  587. 0422 89 EC mov sp,bp
  588. 0424 5D pop bp
  589. 0425 C3 ret
  590. 0426 80 F9 00 cmp cl,0h
  591. 0429 74 0E je 439h
  592. 042B 33 3E C5 0F xor di,word ptr [0fc5h]
  593. 042F 3C 00 cmp al,0h
  594. 0431 75 07 jne 43ah
  595. 0433 89 C8 mov ax,cx
  596. 0435 89 F3 mov bx,si
  597. 0437 89 FA mov dx,di
  598. 0439 C3 ret
  599. 043A 38 C8 cmp al,cl
  600. 043C 76 05 jbe 443h
  601. 043E 91 xchg ax,cx
  602. 043F 87 F3 xchg bx,si
  603. 0441 87 FA xchg dx,di
  604. 0443 88 0E C9 0F mov byte ptr [0fc9h],cl
  605. 0447 28 C1 sub cl,al
  606. 0449 80 F9 28 cmp cl,28h
  607. 044C 72 06 jb 454h
  608. 044E 8A 0E C9 0F mov cl,byte ptr [0fc9h]
  609. 0452 EB DF jmp 433h
  610. 0454 89 3E C5 0F mov word ptr [0fc5h],di
  611. 0458 80 26 C6 0F 80 and byte ptr [0fc6h],80h
  612. 045D 89 3E C7 0F mov word ptr [0fc7h],di
  613. 0461 30 36 C8 0F xor byte ptr [0fc8h],dh
  614. 0465 81 CF 00 80 or di,8000h
  615. 0469 80 CE 80 or dh,80h
  616. 046C 80 F9 10 cmp cl,10h
  617. 046F 72 0B jb 47ch
  618. 0471 88 FC mov ah,bh
  619. 0473 89 D3 mov bx,dx
  620. 0475 31 D2 xor dx,dx
  621. 0477 80 E9 10 sub cl,10h
  622. 047A EB F0 jmp 46ch
  623. 047C 80 F9 08 cmp cl,8h
  624. 047F 72 0D jb 48eh
  625. 0481 88 DC mov ah,bl
  626. 0483 88 FB mov bl,bh
  627. 0485 88 D7 mov bh,dl
  628. 0487 88 F2 mov dl,dh
  629. 0489 30 F6 xor dh,dh
  630. 048B 80 E9 08 sub cl,8h
  631. 048E 80 F9 00 cmp cl,0h
  632. 0491 74 0A je 49dh
  633. 0493 D1 EA shr dx,1h
  634. 0495 D1 DB rcr bx,1h
  635. 0497 D0 DC rcr ah,1h
  636. 0499 FE C9 dec cl
  637. 049B 75 F6 jne 493h
  638. 049D A0 C9 0F mov al,byte ptr [0fc9h]
  639. 04A0 F6 06 C8 0F 80 test byte ptr [0fc8h],80h
  640. 04A5 75 14 jne 4bbh
  641. 04A7 00 EC add ah,ch
  642. 04A9 11 F3 adc bx,si
  643. 04AB 11 FA adc dx,di
  644. 04AD 73 5F jnb 50eh
  645. 04AF D1 DA rcr dx,1h
  646. 04B1 D1 DB rcr bx,1h
  647. 04B3 D0 DC rcr ah,1h
  648. 04B5 FE C0 inc al
  649. 04B7 75 55 jne 50eh
  650. 04B9 F9 stc
  651. 04BA C3 ret
  652. 04BB 86 EC xchg ah,ch
  653. 04BD 87 F3 xchg bx,si
  654. 04BF 87 FA xchg dx,di
  655. 04C1 28 EC sub ah,ch
  656. 04C3 19 F3 sbb bx,si
  657. 04C5 19 FA sbb dx,di
  658. 04C7 73 14 jnb 4ddh
  659. 04C9 80 36 C6 0F 80 xor byte ptr [0fc6h],80h
  660. 04CE F6 D4 not ah
  661. 04D0 F7 D3 not bx
  662. 04D2 F7 D2 not dx
  663. 04D4 80 C4 01 add ah,1h
  664. 04D7 83 D3 00 adc bx,0h
  665. 04DA 83 D2 00 adc dx,0h
  666. 04DD B1 05 mov cl,5h
  667. 04DF 80 FE 00 cmp dh,0h
  668. 04E2 75 14 jne 4f8h
  669. 04E4 88 D6 mov dh,dl
  670. 04E6 88 FA mov dl,bh
  671. 04E8 88 DF mov bh,bl
  672. 04EA 88 E3 mov bl,ah
  673. 04EC 30 E4 xor ah,ah
  674. 04EE 2C 08 sub al,8h
  675. 04F0 72 15 jb 507h
  676. 04F2 FE C9 dec cl
  677. 04F4 75 E9 jne 4dfh
  678. 04F6 EB 0F jmp 507h
  679. 04F8 F6 C6 80 test dh,80h
  680. 04FB 75 11 jne 50eh
  681. 04FD D0 E4 shl ah,1h
  682. 04FF D1 D3 rcl bx,1h
  683. 0501 D1 D2 rcl dx,1h
  684. 0503 FE C8 dec al
  685. 0505 75 F1 jne 4f8h
  686. 0507 31 C0 xor ax,ax
  687. 0509 31 DB xor bx,bx
  688. 050B 31 D2 xor dx,dx
  689. 050D C3 ret
  690. 050E 80 E6 7F and dh,7fh
  691. 0511 32 36 C6 0F xor dh,byte ptr [0fc6h]
  692. 0515 C3 ret
  693. 0516 55 push bp
  694. 0517 8B EC mov bp,sp
  695. 0519 53 push bx
  696. 051A 52 push dx
  697. 051B 56 push si
  698. 051C 57 push di
  699. 051D FF 76 04 push word ptr [bp+4h]
  700. 0520 8B 76 04 mov si,word ptr [bp+4h]
  701. 0523 8B 04 mov ax,word ptr [si]
  702. 0525 8B 4C 02 mov cx,word ptr [si+2h]
  703. 0528 8B 54 04 mov dx,word ptr [si+4h]
  704. 052B 89 CB mov bx,cx
  705. 052D 8B FE mov di,si
  706. 052F 8B 4D 06 mov cx,word ptr [di+6h]
  707. 0532 8B 75 08 mov si,word ptr [di+8h]
  708. 0535 8B 7D 0A mov di,word ptr [di+0ah]
  709. 0538 E8 11 00 call 54ch
  710. 053B 5F pop di
  711. 053C 89 05 mov word ptr [di],ax
  712. 053E 89 5D 02 mov word ptr [di+2h],bx
  713. 0541 89 55 04 mov word ptr [di+4h],dx
  714. 0544 5F pop di
  715. 0545 5E pop si
  716. 0546 5A pop dx
  717. 0547 5B pop bx
  718. 0548 89 EC mov sp,bp
  719. 054A 5D pop bp
  720. 054B C3 ret
  721. 054C 80 F9 00 cmp cl,0h
  722. 054F 75 03 jne 554h
  723. 0551 E9 A4 00 jmp 5f8h
  724. 0554 3C 00 cmp al,0h
  725. 0556 75 03 jne 55bh
  726. 0558 E9 A3 00 jmp 5feh
  727. 055B 00 C8 add al,cl
  728. 055D 72 07 jb 566h
  729. 055F 04 80 add al,80h
  730. 0561 72 0D jb 570h
  731. 0563 E9 92 00 jmp 5f8h
  732. 0566 04 80 add al,80h
  733. 0568 73 06 jnb 570h
  734. 056A B0 01 mov al,1h
  735. 056C B4 4C mov ah,4ch
  736. 056E CD 21 int 21h
  737. 0570 89 0E D0 0F mov word ptr [0fd0h],cx
  738. 0574 8B CA mov cx,dx
  739. 0576 31 F9 xor cx,di
  740. 0578 F6 D5 not ch
  741. 057A 80 E5 80 and ch,80h
  742. 057D 88 2E C6 0F mov byte ptr [0fc6h],ch
  743. 0581 80 CE 80 or dh,80h
  744. 0584 81 CF 00 80 or di,8000h
  745. 0588 89 36 D2 0F mov word ptr [0fd2h],si
  746. 058C 89 3E D4 0F mov word ptr [0fd4h],di
  747. 0590 A3 CA 0F mov word ptr [0fcah],ax
  748. 0593 89 1E CC 0F mov word ptr [0fcch],bx
  749. 0597 89 16 CE 0F mov word ptr [0fceh],dx
  750. 059B 30 E4 xor ah,ah
  751. 059D 31 DB xor bx,bx
  752. 059F 31 D2 xor dx,dx
  753. 05A1 BF D0 0F mov di,0fd0h
  754. 05A4 B1 05 mov cl,5h
  755. 05A6 47 inc di
  756. 05A7 8A 2D mov ch,byte ptr [di]
  757. 05A9 80 FD 00 cmp ch,0h
  758. 05AC 75 0C jne 5bah
  759. 05AE 88 DC mov ah,bl
  760. 05B0 88 FB mov bl,bh
  761. 05B2 88 D7 mov bh,dl
  762. 05B4 88 F2 mov dl,dh
  763. 05B6 30 F6 xor dh,dh
  764. 05B8 EB 1C jmp 5d6h
  765. 05BA BE 08 00 mov si,8h
  766. 05BD D0 DD rcr ch,1h
  767. 05BF 73 0C jnb 5cdh
  768. 05C1 02 26 CB 0F add ah,byte ptr [0fcbh]
  769. 05C5 13 1E CC 0F adc bx,word ptr [0fcch]
  770. 05C9 13 16 CE 0F adc dx,word ptr [0fceh]
  771. 05CD D1 DA rcr dx,1h
  772. 05CF D1 DB rcr bx,1h
  773. 05D1 D0 DC rcr ah,1h
  774. 05D3 4E dec si
  775. 05D4 75 E7 jne 5bdh
  776. 05D6 FE C9 dec cl
  777. 05D8 75 CC jne 5a6h
  778. 05DA 91 xchg ax,cx
  779. 05DB 9F lahf
  780. 05DC F6 C6 80 test dh,80h
  781. 05DF 75 0E jne 5efh
  782. 05E1 9E sahf
  783. 05E2 D0 D5 rcl ch,1h
  784. 05E4 D1 D3 rcl bx,1h
  785. 05E6 D1 D2 rcl dx,1h
  786. 05E8 80 F9 00 cmp cl,0h
  787. 05EB 74 02 je 5efh
  788. 05ED FE C9 dec cl
  789. 05EF 91 xchg ax,cx
  790. 05F0 32 36 C6 0F xor dh,byte ptr [0fc6h]
  791. 05F4 3C 00 cmp al,0h
  792. 05F6 75 06 jne 5feh
  793. 05F8 31 C0 xor ax,ax
  794. 05FA 31 DB xor bx,bx
  795. 05FC 31 D2 xor dx,dx
  796. 05FE C3 ret
  797. 05FF 55 push bp
  798. 0600 8B EC mov bp,sp
  799. 0602 53 push bx
  800. 0603 52 push dx
  801. 0604 56 push si
  802. 0605 57 push di
  803. 0606 FF 76 04 push word ptr [bp+4h]
  804. 0609 8B 76 04 mov si,word ptr [bp+4h]
  805. 060C 8B 04 mov ax,word ptr [si]
  806. 060E 8B 4C 02 mov cx,word ptr [si+2h]
  807. 0611 8B 54 04 mov dx,word ptr [si+4h]
  808. 0614 89 CB mov bx,cx
  809. 0616 8B FE mov di,si
  810. 0618 8B 4D 06 mov cx,word ptr [di+6h]
  811. 061B 8B 75 08 mov si,word ptr [di+8h]
  812. 061E 8B 7D 0A mov di,word ptr [di+0ah]
  813. 0621 E8 11 00 call 635h
  814. 0624 5F pop di
  815. 0625 89 05 mov word ptr [di],ax
  816. 0627 89 5D 02 mov word ptr [di+2h],bx
  817. 062A 89 55 04 mov word ptr [di+4h],dx
  818. 062D 5F pop di
  819. 062E 5E pop si
  820. 062F 5A pop dx
  821. 0630 5B pop bx
  822. 0631 89 EC mov sp,bp
  823. 0633 5D pop bp
  824. 0634 C3 ret
  825. 0635 3C 00 cmp al,0h
  826. 0637 75 03 jne 63ch
  827. 0639 E9 C2 FF jmp 5feh
  828. 063C 28 C8 sub al,cl
  829. 063E F5 cmc
  830. 063F 72 07 jb 648h
  831. 0641 04 80 add al,80h
  832. 0643 72 0D jb 652h
  833. 0645 E9 B0 FF jmp 5f8h
  834. 0648 04 80 add al,80h
  835. 064A 73 06 jnb 652h
  836. 064C B0 01 mov al,1h
  837. 064E B4 4C mov ah,4ch
  838. 0650 CD 21 int 21h
  839. 0652 89 0E D0 0F mov word ptr [0fd0h],cx
  840. 0656 8B CA mov cx,dx
  841. 0658 31 F9 xor cx,di
  842. 065A F6 D5 not ch
  843. 065C 80 E5 80 and ch,80h
  844. 065F 88 2E C6 0F mov byte ptr [0fc6h],ch
  845. 0663 80 CE 80 or dh,80h
  846. 0666 81 CF 00 80 or di,8000h
  847. 066A 89 36 D2 0F mov word ptr [0fd2h],si
  848. 066E 89 3E D4 0F mov word ptr [0fd4h],di
  849. 0672 A2 CA 0F mov byte ptr [0fcah],al
  850. 0675 BF CF 0F mov di,0fcfh
  851. 0678 B1 05 mov cl,5h
  852. 067A BE 08 00 mov si,8h
  853. 067D 3B 16 D4 0F cmp dx,word ptr [0fd4h]
  854. 0681 75 0A jne 68dh
  855. 0683 3B 1E D2 0F cmp bx,word ptr [0fd2h]
  856. 0687 75 04 jne 68dh
  857. 0689 3A 26 D1 0F cmp ah,byte ptr [0fd1h]
  858. 068D 72 0C jb 69bh
  859. 068F 2A 26 D1 0F sub ah,byte ptr [0fd1h]
  860. 0693 1B 1E D2 0F sbb bx,word ptr [0fd2h]
  861. 0697 1B 16 D4 0F sbb dx,word ptr [0fd4h]
  862. 069B F5 cmc
  863. 069C D0 D5 rcl ch,1h
  864. 069E 4E dec si
  865. 069F 75 0A jne 6abh
  866. 06A1 88 2D mov byte ptr [di],ch
  867. 06A3 FE C9 dec cl
  868. 06A5 74 1B je 6c2h
  869. 06A7 4F dec di
  870. 06A8 BE 08 00 mov si,8h
  871. 06AB D0 E4 shl ah,1h
  872. 06AD D1 D3 rcl bx,1h
  873. 06AF D1 D2 rcl dx,1h
  874. 06B1 73 CA jnb 67dh
  875. 06B3 2A 26 D1 0F sub ah,byte ptr [0fd1h]
  876. 06B7 1B 1E D2 0F sbb bx,word ptr [0fd2h]
  877. 06BB 1B 16 D4 0F sbb dx,word ptr [0fd4h]
  878. 06BF F8 clc
  879. 06C0 EB D9 jmp 69bh
  880. 06C2 D0 E4 shl ah,1h
  881. 06C4 D1 D3 rcl bx,1h
  882. 06C6 D1 D2 rcl dx,1h
  883. 06C8 72 11 jb 6dbh
  884. 06CA 3B 16 D4 0F cmp dx,word ptr [0fd4h]
  885. 06CE 75 0A jne 6dah
  886. 06D0 3B 1E D2 0F cmp bx,word ptr [0fd2h]
  887. 06D4 75 04 jne 6dah
  888. 06D6 3A 26 D1 0F cmp ah,byte ptr [0fd1h]
  889. 06DA F5 cmc
  890. 06DB 8B 0E CA 0F mov cx,word ptr [0fcah]
  891. 06DF 8B 1E CC 0F mov bx,word ptr [0fcch]
  892. 06E3 8B 16 CE 0F mov dx,word ptr [0fceh]
  893. 06E7 9F lahf
  894. 06E8 F6 C6 80 test dh,80h
  895. 06EB 75 09 jne 6f6h
  896. 06ED 9E sahf
  897. 06EE D0 D5 rcl ch,1h
  898. 06F0 D1 D3 rcl bx,1h
  899. 06F2 D1 D2 rcl dx,1h
  900. 06F4 EB 0A jmp 700h
  901. 06F6 FE C1 inc cl
  902. 06F8 75 06 jne 700h
  903. 06FA B0 01 mov al,1h
  904. 06FC B4 4C mov ah,4ch
  905. 06FE CD 21 int 21h
  906. 0700 E9 EC FE jmp 5efh
  907. 0703 55 push bp
  908. 0704 8B EC mov bp,sp
  909. 0706 53 push bx
  910. 0707 52 push dx
  911. 0708 56 push si
  912. 0709 57 push di
  913. 070A 8B 76 04 mov si,word ptr [bp+4h]
  914. 070D 8B 04 mov ax,word ptr [si]
  915. 070F 8B 4C 02 mov cx,word ptr [si+2h]
  916. 0712 8B 54 04 mov dx,word ptr [si+4h]
  917. 0715 89 CB mov bx,cx
  918. 0717 8B FE mov di,si
  919. 0719 8B 4D 06 mov cx,word ptr [di+6h]
  920. 071C 8B 75 08 mov si,word ptr [di+8h]
  921. 071F 8B 7D 0A mov di,word ptr [di+0ah]
  922. 0722 52 push dx
  923. 0723 31 FA xor dx,di
  924. 0725 5A pop dx
  925. 0726 79 06 jns 72eh
  926. 0728 52 push dx
  927. 0729 D1 D2 rcl dx,1h
  928. 072B 5A pop dx
  929. 072C EB 10 jmp 73eh
  930. 072E F6 C6 80 test dh,80h
  931. 0731 74 08 je 73bh
  932. 0733 E8 20 00 call 756h
  933. 0736 74 06 je 73eh
  934. 0738 F5 cmc
  935. 0739 EB 03 jmp 73eh
  936. 073B E8 18 00 call 756h
  937. 073E B0 00 mov al,0h
  938. 0740 B4 00 mov ah,0h
  939. 0742 72 06 jb 74ah
  940. 0744 74 08 je 74eh
  941. 0746 B0 01 mov al,1h
  942. 0748 EB 04 jmp 74eh
  943. 074A B0 FF mov al,0ffh
  944. 074C B4 FF mov ah,0ffh
  945. 074E 5F pop di
  946. 074F 5E pop si
  947. 0750 5A pop dx
  948. 0751 5B pop bx
  949. 0752 89 EC mov sp,bp
  950. 0754 5D pop bp
  951. 0755 C3 ret
  952. 0756 38 C8 cmp al,cl
  953. 0758 75 0E jne 768h
  954. 075A 3C 00 cmp al,0h
  955. 075C 74 0A je 768h
  956. 075E 39 FA cmp dx,di
  957. 0760 75 06 jne 768h
  958. 0762 39 F3 cmp bx,si
  959. 0764 75 02 jne 768h
  960. 0766 38 EC cmp ah,ch
  961. 0768 C3 ret
  962. 0769 55 push bp
  963. 076A 8B EC mov bp,sp
  964. 076C 53 push bx
  965. 076D 52 push dx
  966. 076E 56 push si
  967. 076F 57 push di
  968. 0770 FF 76 04 push word ptr [bp+4h]
  969. 0773 8B 76 04 mov si,word ptr [bp+4h]
  970. 0776 8B 04 mov ax,word ptr [si]
  971. 0778 8B 4C 02 mov cx,word ptr [si+2h]
  972. 077B 8B 54 04 mov dx,word ptr [si+4h]
  973. 077E 89 CB mov bx,cx
  974. 0780 3C A8 cmp al,0a8h
  975. 0782 73 4C jnb 7d0h
  976. 0784 89 C1 mov cx,ax
  977. 0786 89 DE mov si,bx
  978. 0788 89 D7 mov di,dx
  979. 078A 30 E4 xor ah,ah
  980. 078C 31 DB xor bx,bx
  981. 078E 31 D2 xor dx,dx
  982. 0790 80 E9 80 sub cl,80h
  983. 0793 76 4C jbe 7e1h
  984. 0795 80 F9 10 cmp cl,10h
  985. 0798 72 0C jb 7a6h
  986. 079A 88 FC mov ah,bh
  987. 079C 89 D3 mov bx,dx
  988. 079E BA FF FF mov dx,0ffffh
  989. 07A1 80 E9 10 sub cl,10h
  990. 07A4 EB EF jmp 795h
  991. 07A6 80 F9 08 cmp cl,8h
  992. 07A9 72 0F jb 7bah
  993. 07AB 88 DC mov ah,bl
  994. 07AD 88 FB mov bl,bh
  995. 07AF 88 D7 mov bh,dl
  996. 07B1 88 F2 mov dl,dh
  997. 07B3 B6 FF mov dh,0ffh
  998. 07B5 80 E9 08 sub cl,8h
  999. 07B8 EB EC jmp 7a6h
  1000. 07BA 80 F9 00 cmp cl,0h
  1001. 07BD 74 0B je 7cah
  1002. 07BF F9 stc
  1003. 07C0 D1 DA rcr dx,1h
  1004. 07C2 D1 DB rcr bx,1h
  1005. 07C4 D0 DC rcr ah,1h
  1006. 07C6 FE C9 dec cl
  1007. 07C8 75 F5 jne 7bfh
  1008. 07CA 21 FA and dx,di
  1009. 07CC 21 F3 and bx,si
  1010. 07CE 20 EC and ah,ch
  1011. 07D0 5F pop di
  1012. 07D1 89 05 mov word ptr [di],ax
  1013. 07D3 89 5D 02 mov word ptr [di+2h],bx
  1014. 07D6 89 55 04 mov word ptr [di+4h],dx
  1015. 07D9 5F pop di
  1016. 07DA 5E pop si
  1017. 07DB 5A pop dx
  1018. 07DC 5B pop bx
  1019. 07DD 89 EC mov sp,bp
  1020. 07DF 5D pop bp
  1021. 07E0 C3 ret
  1022. 07E1 B0 00 mov al,0h
  1023. 07E3 EB EB jmp 7d0h
  1024. 07E5 55 push bp
  1025. 07E6 8B EC mov bp,sp
  1026. 07E8 53 push bx
  1027. 07E9 52 push dx
  1028. 07EA 56 push si
  1029. 07EB 57 push di
  1030. 07EC 8B 7E 04 mov di,word ptr [bp+4h]
  1031. 07EF 88 EA mov dl,ch
  1032. 07F1 B5 00 mov ch,0h
  1033. 07F3 B6 00 mov dh,0h
  1034. 07F5 51 push cx
  1035. 07F6 BB 20 10 mov bx,1020h
  1036. 07F9 E8 41 02 call 0a3dh
  1037. 07FC 59 pop cx
  1038. 07FD 89 D8 mov ax,bx
  1039. 07FF BB 20 10 mov bx,1020h
  1040. 0802 2B C3 sub ax,bx
  1041. 0804 A3 60 10 mov word ptr [1060h],ax
  1042. 0807 89 0E 62 10 mov word ptr [1062h],cx
  1043. 080B 8B 06 62 10 mov ax,word ptr [1062h]
  1044. 080F 8B 16 60 10 mov dx,word ptr [1060h]
  1045. 0813 2B C2 sub ax,dx
  1046. 0815 83 F8 00 cmp ax,0h
  1047. 0818 7D 02 jnl 81ch
  1048. 081A 31 C0 xor ax,ax
  1049. 081C A3 64 10 mov word ptr [1064h],ax
  1050. 081F 8B 16 60 10 mov dx,word ptr [1060h]
  1051. 0823 03 C2 add ax,dx
  1052. 0825 3D FF 00 cmp ax,0ffh
  1053. 0828 77 03 jnbe 82dh
  1054. 082A E9 03 00 jmp 830h
  1055. 082D B8 FF 00 mov ax,0ffh
  1056. 0830 A3 66 10 mov word ptr [1066h],ax
  1057. 0833 8B 56 06 mov dx,word ptr [bp+6h]
  1058. 0836 89 D7 mov di,dx
  1059. 0838 88 05 mov byte ptr [di],al
  1060. 083A 47 inc di
  1061. 083B 8B 0E 64 10 mov cx,word ptr [1064h]
  1062. 083F E3 07 jcxz 848h
  1063. 0841 B0 20 mov al,20h
  1064. 0843 88 05 mov byte ptr [di],al
  1065. 0845 47 inc di
  1066. 0846 E2 F9 loop 841h
  1067. 0848 BE 20 10 mov si,1020h
  1068. 084B 8B 0E 60 10 mov cx,word ptr [1060h]
  1069. 084F E3 08 jcxz 859h
  1070. 0851 8A 04 mov al,byte ptr [si]
  1071. 0853 88 05 mov byte ptr [di],al
  1072. 0855 46 inc si
  1073. 0856 47 inc di
  1074. 0857 E2 F8 loop 851h
  1075. 0859 8B 06 66 10 mov ax,word ptr [1066h]
  1076. 085D 5F pop di
  1077. 085E 5E pop si
  1078. 085F 5A pop dx
  1079. 0860 5B pop bx
  1080. 0861 89 EC mov sp,bp
  1081. 0863 5D pop bp
  1082. 0864 C3 ret
  1083. 0865 55 push bp
  1084. 0866 8B EC mov bp,sp
  1085. 0868 53 push bx
  1086. 0869 52 push dx
  1087. 086A 56 push si
  1088. 086B 57 push di
  1089. 086C 8B 5E 04 mov bx,word ptr [bp+4h]
  1090. 086F 8B 7E 06 mov di,word ptr [bp+6h]
  1091. 0872 89 1E 68 10 mov word ptr [1068h],bx
  1092. 0876 E8 CF 02 call 0b48h
  1093. 0879 73 03 jnb 87eh
  1094. 087B E9 0B 00 jmp 889h
  1095. 087E 89 D8 mov ax,bx
  1096. 0880 8B 16 68 10 mov dx,word ptr [1068h]
  1097. 0884 2B C2 sub ax,dx
  1098. 0886 E9 03 00 jmp 88ch
  1099. 0889 B8 FF FF mov ax,0ffffh
  1100. 088C 5F pop di
  1101. 088D 5E pop si
  1102. 088E 5A pop dx
  1103. 088F 5B pop bx
  1104. 0890 89 EC mov sp,bp
  1105. 0892 5D pop bp
  1106. 0893 C3 ret
  1107. 0894 3C 00 cmp al,0h
  1108. 0896 74 03 je 89bh
  1109. 0898 E9 01 00 jmp 89ch
  1110. 089B C3 ret
  1111. 089C 80 CE 80 or dh,80h
  1112. 089F 51 push cx
  1113. 08A0 52 push dx
  1114. 08A1 53 push bx
  1115. 08A2 50 push ax
  1116. 08A3 D1 EA shr dx,1h
  1117. 08A5 D1 DB rcr bx,1h
  1118. 08A7 D0 DC rcr ah,1h
  1119. 08A9 D1 EA shr dx,1h
  1120. 08AB D1 DB rcr bx,1h
  1121. 08AD D0 DC rcr ah,1h
  1122. 08AF 59 pop cx
  1123. 08B0 00 EC add ah,ch
  1124. 08B2 59 pop cx
  1125. 08B3 13 D9 adc bx,cx
  1126. 08B5 59 pop cx
  1127. 08B6 13 D1 adc dx,cx
  1128. 08B8 59 pop cx
  1129. 08B9 72 03 jb 8beh
  1130. 08BB E9 0F 00 jmp 8cdh
  1131. 08BE D1 DA rcr dx,1h
  1132. 08C0 D1 DB rcr bx,1h
  1133. 08C2 D0 DC rcr ah,1h
  1134. 08C4 FE C0 inc al
  1135. 08C6 74 03 je 8cbh
  1136. 08C8 E9 02 00 jmp 8cdh
  1137. 08CB F9 stc
  1138. 08CC C3 ret
  1139. 08CD 80 E6 7F and dh,7fh
  1140. 08D0 04 03 add al,3h
  1141. 08D2 C3 ret
  1142. 08D3 52 push dx
  1143. 08D4 53 push bx
  1144. 08D5 50 push ax
  1145. 08D6 88 0E E2 0F mov byte ptr [0fe2h],cl
  1146. 08DA 80 F9 00 cmp cl,0h
  1147. 08DD 78 03 js 8e2h
  1148. 08DF E9 02 00 jmp 8e4h
  1149. 08E2 F6 D9 neg cl
  1150. 08E4 88 CB mov bl,cl
  1151. 08E6 80 E3 FC and bl,0fch
  1152. 08E9 88 DF mov bh,bl
  1153. 08EB D0 EB shr bl,1h
  1154. 08ED 00 FB add bl,bh
  1155. 08EF 30 FF xor bh,bh
  1156. 08F1 8D BF E4 0F lea di,[bx+0fe4h]
  1157. 08F5 8B 05 mov ax,word ptr [di]
  1158. 08F7 8B 5D 02 mov bx,word ptr [di+2h]
  1159. 08FA 8B 55 04 mov dx,word ptr [di+4h]
  1160. 08FD 80 E1 03 and cl,3h
  1161. 0900 75 03 jne 905h
  1162. 0902 E9 0A 00 jmp 90fh
  1163. 0905 E8 8C FF call 894h
  1164. 0908 FE C9 dec cl
  1165. 090A 74 03 je 90fh
  1166. 090C E9 F6 FF jmp 905h
  1167. 090F 89 C1 mov cx,ax
  1168. 0911 89 DE mov si,bx
  1169. 0913 89 D7 mov di,dx
  1170. 0915 58 pop ax
  1171. 0916 5B pop bx
  1172. 0917 5A pop dx
  1173. 0918 F6 06 E2 0F 80 test byte ptr [0fe2h],80h
  1174. 091D 74 03 je 922h
  1175. 091F E9 03 00 jmp 925h
  1176. 0922 E9 27 FC jmp 54ch
  1177. 0925 E9 0D FD jmp 635h
  1178. 0928 80 F9 DA cmp cl,0dah
  1179. 092B 7D 03 jnl 930h
  1180. 092D E9 12 00 jmp 942h
  1181. 0930 80 F9 26 cmp cl,26h
  1182. 0933 7E 03 jle 938h
  1183. 0935 E9 0A 00 jmp 942h
  1184. 0938 51 push cx
  1185. 0939 56 push si
  1186. 093A 57 push di
  1187. 093B E8 95 FF call 8d3h
  1188. 093E 5F pop di
  1189. 093F 5E pop si
  1190. 0940 59 pop cx
  1191. 0941 C3 ret
  1192. 0942 F9 stc
  1193. 0943 C3 ret
  1194. 0944 8B 05 mov ax,word ptr [di]
  1195. 0946 8B 5D 02 mov bx,word ptr [di+2h]
  1196. 0949 8B 55 04 mov dx,word ptr [di+4h]
  1197. 094C 3C 00 cmp al,0h
  1198. 094E 74 03 je 953h
  1199. 0950 E9 16 00 jmp 969h
  1200. 0953 BE D6 0F mov si,0fd6h
  1201. 0956 C7 04 30 30 mov word ptr [si],3030h
  1202. 095A 46 inc si
  1203. 095B 46 inc si
  1204. 095C 81 FE E2 0F cmp si,0fe2h
  1205. 0960 74 03 je 965h
  1206. 0962 E9 F1 FF jmp 956h
  1207. 0965 B9 00 00 mov cx,0h
  1208. 0968 C3 ret
  1209. 0969 88 F5 mov ch,dh
  1210. 096B 80 E6 7F and dh,7fh
  1211. 096E 50 push ax
  1212. 096F 52 push dx
  1213. 0970 2C 80 sub al,80h
  1214. 0972 98 cbw
  1215. 0973 BA 4D 00 mov dx,4dh
  1216. 0976 F7 EA imul dx
  1217. 0978 05 05 00 add ax,5h
  1218. 097B 88 E1 mov cl,ah
  1219. 097D 5A pop dx
  1220. 097E 58 pop ax
  1221. 097F 80 F9 D9 cmp cl,0d9h
  1222. 0982 74 03 je 987h
  1223. 0984 E9 02 00 jmp 989h
  1224. 0987 FE C1 inc cl
  1225. 0989 51 push cx
  1226. 098A F6 D9 neg cl
  1227. 098C E8 44 FF call 8d3h
  1228. 098F 59 pop cx
  1229. 0990 3C 81 cmp al,81h
  1230. 0992 72 03 jb 997h
  1231. 0994 E9 05 00 jmp 99ch
  1232. 0997 E8 FA FE call 894h
  1233. 099A FE C9 dec cl
  1234. 099C 51 push cx
  1235. 099D 80 CE 80 or dh,80h
  1236. 09A0 B1 84 mov cl,84h
  1237. 09A2 28 C1 sub cl,al
  1238. 09A4 B0 00 mov al,0h
  1239. 09A6 80 F9 00 cmp cl,0h
  1240. 09A9 75 03 jne 9aeh
  1241. 09AB E9 0D 00 jmp 9bbh
  1242. 09AE D1 EA shr dx,1h
  1243. 09B0 D1 DB rcr bx,1h
  1244. 09B2 D0 DC rcr ah,1h
  1245. 09B4 FE C9 dec cl
  1246. 09B6 74 03 je 9bbh
  1247. 09B8 E9 F3 FF jmp 9aeh
  1248. 09BB BE D6 0F mov si,0fd6h
  1249. 09BE 88 F5 mov ch,dh
  1250. 09C0 B1 04 mov cl,4h
  1251. 09C2 D2 ED shr ch,cl
  1252. 09C4 80 C5 30 add ch,30h
  1253. 09C7 88 2C mov byte ptr [si],ch
  1254. 09C9 80 E6 0F and dh,0fh
  1255. 09CC 52 push dx
  1256. 09CD 53 push bx
  1257. 09CE 50 push ax
  1258. 09CF D1 E0 shl ax,1h
  1259. 09D1 D1 D3 rcl bx,1h
  1260. 09D3 D1 D2 rcl dx,1h
  1261. 09D5 D1 E0 shl ax,1h
  1262. 09D7 D1 D3 rcl bx,1h
  1263. 09D9 D1 D2 rcl dx,1h
  1264. 09DB 59 pop cx
  1265. 09DC 03 C1 add ax,cx
  1266. 09DE 59 pop cx
  1267. 09DF 13 D9 adc bx,cx
  1268. 09E1 59 pop cx
  1269. 09E2 13 D1 adc dx,cx
  1270. 09E4 D1 E0 shl ax,1h
  1271. 09E6 D1 D3 rcl bx,1h
  1272. 09E8 D1 D2 rcl dx,1h
  1273. 09EA 46 inc si
  1274. 09EB 81 FE E2 0F cmp si,0fe2h
  1275. 09EF 74 03 je 9f4h
  1276. 09F1 E9 CA FF jmp 9beh
  1277. 09F4 59 pop cx
  1278. 09F5 C3 ret
  1279. 09F6 30 E4 xor ah,ah
  1280. 09F8 BB D6 0F mov bx,0fd6h
  1281. 09FB 03 D8 add bx,ax
  1282. 09FD 80 3F 35 cmp byte ptr [bx],35h
  1283. 0A00 C6 07 00 mov byte ptr [bx],0h
  1284. 0A03 73 03 jnb 0a08h
  1285. 0A05 E9 21 00 jmp 0a29h
  1286. 0A08 FE C8 dec al
  1287. 0A0A 79 03 jns 0a0fh
  1288. 0A0C E9 11 00 jmp 0a20h
  1289. 0A0F 4B dec bx
  1290. 0A10 FE 07 inc byte ptr [bx]
  1291. 0A12 80 3F 3A cmp byte ptr [bx],3ah
  1292. 0A15 73 03 jnb 0a1ah
  1293. 0A17 E9 0F 00 jmp 0a29h
  1294. 0A1A C6 07 00 mov byte ptr [bx],0h
  1295. 0A1D E9 E8 FF jmp 0a08h
  1296. 0A20 C6 07 31 mov byte ptr [bx],31h
  1297. 0A23 C6 47 01 00 mov byte ptr [bx+1h],0h
  1298. 0A27 FE C1 inc cl
  1299. 0A29 C3 ret
  1300. 0A2A 8A 04 mov al,byte ptr [si]
  1301. 0A2C 3C 00 cmp al,0h
  1302. 0A2E 75 03 jne 0a33h
  1303. 0A30 E9 04 00 jmp 0a37h
  1304. 0A33 46 inc si
  1305. 0A34 E9 02 00 jmp 0a39h
  1306. 0A37 B0 30 mov al,30h
  1307. 0A39 88 07 mov byte ptr [bx],al
  1308. 0A3B 43 inc bx
  1309. 0A3C C3 ret
  1310. 0A3D 53 push bx
  1311. 0A3E 81 FA 19 00 cmp dx,19h
  1312. 0A42 73 03 jnb 0a47h
  1313. 0A44 E9 3F 00 jmp 0a86h
  1314. 0A47 89 C8 mov ax,cx
  1315. 0A49 80 FD 00 cmp ch,0h
  1316. 0A4C 75 03 jne 0a51h
  1317. 0A4E E9 10 00 jmp 0a61h
  1318. 0A51 F6 C5 80 test ch,80h
  1319. 0A54 75 03 jne 0a59h
  1320. 0A56 E9 05 00 jmp 0a5eh
  1321. 0A59 31 C0 xor ax,ax
  1322. 0A5B E9 03 00 jmp 0a61h
  1323. 0A5E B8 FF 00 mov ax,0ffh
  1324. 0A61 B2 07 mov dl,7h
  1325. 0A63 F6 45 05 80 test byte ptr [di+5h],80h
  1326. 0A67 75 03 jne 0a6ch
  1327. 0A69 E9 02 00 jmp 0a6eh
  1328. 0A6C FE C2 inc dl
  1329. 0A6E 2A C2 sub al,dl
  1330. 0A70 72 03 jb 0a75h
  1331. 0A72 E9 02 00 jmp 0a77h
  1332. 0A75 B0 00 mov al,0h
  1333. 0A77 3C 09 cmp al,9h
  1334. 0A79 73 03 jnb 0a7eh
  1335. 0A7B E9 02 00 jmp 0a80h
  1336. 0A7E B0 09 mov al,9h
  1337. 0A80 FE C0 inc al
  1338. 0A82 88 C2 mov dl,al
  1339. 0A84 88 C6 mov dh,al
  1340. 0A86 52 push dx
  1341. 0A87 E8 BA FE call 944h
  1342. 0A8A 5A pop dx
  1343. 0A8B 8A C2 mov al,dl
  1344. 0A8D FE C0 inc al
  1345. 0A8F 80 FE 00 cmp dh,0h
  1346. 0A92 74 03 je 0a97h
  1347. 0A94 E9 18 00 jmp 0aafh
  1348. 0A97 00 C8 add al,cl
  1349. 0A99 78 03 js 0a9eh
  1350. 0A9B E9 08 00 jmp 0aa6h
  1351. 0A9E C6 06 D6 0F 00 mov byte ptr [0fd6h],0h
  1352. 0AA3 E9 0C 00 jmp 0ab2h
  1353. 0AA6 3C 0C cmp al,0ch
  1354. 0AA8 73 03 jnb 0aadh
  1355. 0AAA E9 02 00 jmp 0aafh
  1356. 0AAD B0 0B mov al,0bh
  1357. 0AAF E8 44 FF call 9f6h
  1358. 0AB2 5B pop bx
  1359. 0AB3 BE D6 0F mov si,0fd6h
  1360. 0AB6 F6 C5 80 test ch,80h
  1361. 0AB9 75 03 jne 0abeh
  1362. 0ABB E9 05 00 jmp 0ac3h
  1363. 0ABE B0 2D mov al,2dh
  1364. 0AC0 E8 76 FF call 0a39h
  1365. 0AC3 88 CD mov ch,cl
  1366. 0AC5 80 FE 00 cmp dh,0h
  1367. 0AC8 75 03 jne 0acdh
  1368. 0ACA E9 02 00 jmp 0acfh
  1369. 0ACD B5 00 mov ch,0h
  1370. 0ACF 80 FD 00 cmp ch,0h
  1371. 0AD2 78 03 js 0ad7h
  1372. 0AD4 E9 06 00 jmp 0addh
  1373. 0AD7 E8 5D FF call 0a37h
  1374. 0ADA E9 0A 00 jmp 0ae7h
  1375. 0ADD E8 4A FF call 0a2ah
  1376. 0AE0 FE CD dec ch
  1377. 0AE2 78 03 js 0ae7h
  1378. 0AE4 E9 F6 FF jmp 0addh
  1379. 0AE7 80 FA 00 cmp dl,0h
  1380. 0AEA 75 03 jne 0aefh
  1381. 0AEC E9 23 00 jmp 0b12h
  1382. 0AEF B0 2E mov al,2eh
  1383. 0AF1 E8 45 FF call 0a39h
  1384. 0AF4 FE C5 inc ch
  1385. 0AF6 75 03 jne 0afbh
  1386. 0AF8 E9 0A 00 jmp 0b05h
  1387. 0AFB E8 39 FF call 0a37h
  1388. 0AFE FE CA dec dl
  1389. 0B00 74 03 je 0b05h
  1390. 0B02 E9 EF FF jmp 0af4h
  1391. 0B05 FE CA dec dl
  1392. 0B07 79 03 jns 0b0ch
  1393. 0B09 E9 06 00 jmp 0b12h
  1394. 0B0C E8 1B FF call 0a2ah
  1395. 0B0F E9 F3 FF jmp 0b05h
  1396. 0B12 80 FE 00 cmp dh,0h
  1397. 0B15 74 03 je 0b1ah
  1398. 0B17 E9 01 00 jmp 0b1bh
  1399. 0B1A C3 ret
  1400. 0B1B B0 45 mov al,45h
  1401. 0B1D E8 19 FF call 0a39h
  1402. 0B20 B0 2B mov al,2bh
  1403. 0B22 80 F9 00 cmp cl,0h
  1404. 0B25 78 03 js 0b2ah
  1405. 0B27 E9 04 00 jmp 0b2eh
  1406. 0B2A F6 D9 neg cl
  1407. 0B2C B0 2D mov al,2dh
  1408. 0B2E E8 08 FF call 0a39h
  1409. 0B31 B0 2F mov al,2fh
  1410. 0B33 FE C0 inc al
  1411. 0B35 80 E9 0A sub cl,0ah
  1412. 0B38 72 03 jb 0b3dh
  1413. 0B3A E9 F6 FF jmp 0b33h
  1414. 0B3D E8 F9 FE call 0a39h
  1415. 0B40 80 C1 3A add cl,3ah
  1416. 0B43 88 C8 mov al,cl
  1417. 0B45 E9 F1 FE jmp 0a39h
  1418. 0B48 8A 0F mov cl,byte ptr [bx]
  1419. 0B4A 80 F9 2D cmp cl,2dh
  1420. 0B4D 74 03 je 0b52h
  1421. 0B4F E9 01 00 jmp 0b53h
  1422. 0B52 43 inc bx
  1423. 0B53 51 push cx
  1424. 0B54 E8 1F 00 call 0b76h
  1425. 0B57 59 pop cx
  1426. 0B58 73 03 jnb 0b5dh
  1427. 0B5A E9 17 00 jmp 0b74h
  1428. 0B5D 80 F9 2D cmp cl,2dh
  1429. 0B60 74 03 je 0b65h
  1430. 0B62 E9 0D 00 jmp 0b72h
  1431. 0B65 8A 05 mov al,byte ptr [di]
  1432. 0B67 3C 00 cmp al,0h
  1433. 0B69 75 03 jne 0b6eh
  1434. 0B6B E9 04 00 jmp 0b72h
  1435. 0B6E 80 75 05 80 xor byte ptr [di+5h],80h
  1436. 0B72 F8 clc
  1437. 0B73 C3 ret
  1438. 0B74 F9 stc
  1439. 0B75 C3 ret
  1440. 0B76 89 DE mov si,bx
  1441. 0B78 31 C0 xor ax,ax
  1442. 0B7A 31 DB xor bx,bx
  1443. 0B7C 31 D2 xor dx,dx
  1444. 0B7E 31 C9 xor cx,cx
  1445. 0B80 C6 06 E3 0F 00 mov byte ptr [0fe3h],0h
  1446. 0B85 8A 0C mov cl,byte ptr [si]
  1447. 0B87 80 F9 61 cmp cl,61h
  1448. 0B8A 73 03 jnb 0b8fh
  1449. 0B8C E9 08 00 jmp 0b97h
  1450. 0B8F 80 F9 7A cmp cl,7ah
  1451. 0B92 77 03 jnbe 0b97h
  1452. 0B94 80 E9 20 sub cl,20h
  1453. 0B97 E8 C8 00 call 0c62h
  1454. 0B9A 73 03 jnb 0b9fh
  1455. 0B9C E9 3A 00 jmp 0bd9h
  1456. 0B9F E8 F2 FC call 894h
  1457. 0BA2 73 03 jnb 0ba7h
  1458. 0BA4 E9 B5 00 jmp 0c5ch
  1459. 0BA7 57 push di
  1460. 0BA8 56 push si
  1461. 0BA9 51 push cx
  1462. 0BAA 52 push dx
  1463. 0BAB 53 push bx
  1464. 0BAC 50 push ax
  1465. 0BAD 88 C8 mov al,cl
  1466. 0BAF 30 E4 xor ah,ah
  1467. 0BB1 E8 C2 F7 call 376h
  1468. 0BB4 89 C1 mov cx,ax
  1469. 0BB6 89 DE mov si,bx
  1470. 0BB8 89 D7 mov di,dx
  1471. 0BBA 58 pop ax
  1472. 0BBB 5B pop bx
  1473. 0BBC 5A pop dx
  1474. 0BBD C7 06 C5 0F 00 00 mov word ptr [0fc5h],0h
  1475. 0BC3 E8 60 F8 call 426h
  1476. 0BC6 59 pop cx
  1477. 0BC7 5E pop si
  1478. 0BC8 5F pop di
  1479. 0BC9 F6 C5 40 test ch,40h
  1480. 0BCC 75 03 jne 0bd1h
  1481. 0BCE E9 04 00 jmp 0bd5h
  1482. 0BD1 FE 0E E3 0F dec byte ptr [0fe3h]
  1483. 0BD5 46 inc si
  1484. 0BD6 E9 AC FF jmp 0b85h
  1485. 0BD9 80 F9 2E cmp cl,2eh
  1486. 0BDC 74 03 je 0be1h
  1487. 0BDE E9 0E 00 jmp 0befh
  1488. 0BE1 F6 C5 40 test ch,40h
  1489. 0BE4 74 03 je 0be9h
  1490. 0BE6 E9 73 00 jmp 0c5ch
  1491. 0BE9 80 CD 40 or ch,40h
  1492. 0BEC E9 E6 FF jmp 0bd5h
  1493. 0BEF 80 F9 45 cmp cl,45h
  1494. 0BF2 8A 0E E3 0F mov cl,byte ptr [0fe3h]
  1495. 0BF6 74 03 je 0bfbh
  1496. 0BF8 E9 4D 00 jmp 0c48h
  1497. 0BFB E8 2A FD call 928h
  1498. 0BFE 73 03 jnb 0c03h
  1499. 0C00 E9 59 00 jmp 0c5ch
  1500. 0C03 46 inc si
  1501. 0C04 8A 0C mov cl,byte ptr [si]
  1502. 0C06 80 F9 2B cmp cl,2bh
  1503. 0C09 75 03 jne 0c0eh
  1504. 0C0B E9 0B 00 jmp 0c19h
  1505. 0C0E 80 F9 2D cmp cl,2dh
  1506. 0C11 74 03 je 0c16h
  1507. 0C13 E9 04 00 jmp 0c1ah
  1508. 0C16 80 CD 20 or ch,20h
  1509. 0C19 46 inc si
  1510. 0C1A E8 43 00 call 0c60h
  1511. 0C1D 73 03 jnb 0c22h
  1512. 0C1F E9 3A 00 jmp 0c5ch
  1513. 0C22 50 push ax
  1514. 0C23 88 C8 mov al,cl
  1515. 0C25 46 inc si
  1516. 0C26 E8 37 00 call 0c60h
  1517. 0C29 73 03 jnb 0c2eh
  1518. 0C2B E9 0D 00 jmp 0c3bh
  1519. 0C2E 88 C4 mov ah,al
  1520. 0C30 D0 E0 shl al,1h
  1521. 0C32 D0 E0 shl al,1h
  1522. 0C34 00 E0 add al,ah
  1523. 0C36 D0 E0 shl al,1h
  1524. 0C38 00 C8 add al,cl
  1525. 0C3A 46 inc si
  1526. 0C3B 88 C1 mov cl,al
  1527. 0C3D 58 pop ax
  1528. 0C3E F6 C5 20 test ch,20h
  1529. 0C41 75 03 jne 0c46h
  1530. 0C43 E9 02 00 jmp 0c48h
  1531. 0C46 F6 D9 neg cl
  1532. 0C48 E8 DD FC call 928h
  1533. 0C4B 73 03 jnb 0c50h
  1534. 0C4D E9 0C 00 jmp 0c5ch
  1535. 0C50 89 05 mov word ptr [di],ax
  1536. 0C52 89 5D 02 mov word ptr [di+2h],bx
  1537. 0C55 89 55 04 mov word ptr [di+4h],dx
  1538. 0C58 F8 clc
  1539. 0C59 E9 01 00 jmp 0c5dh
  1540. 0C5C F9 stc
  1541. 0C5D 89 F3 mov bx,si
  1542. 0C5F C3 ret
  1543. 0C60 8A 0C mov cl,byte ptr [si]
  1544. 0C62 80 F9 30 cmp cl,30h
  1545. 0C65 73 03 jnb 0c6ah
  1546. 0C67 E9 0C 00 jmp 0c76h
  1547. 0C6A 80 F9 3A cmp cl,3ah
  1548. 0C6D F5 cmc
  1549. 0C6E 73 03 jnb 0c73h
  1550. 0C70 E9 03 00 jmp 0c76h
  1551. 0C73 80 E9 30 sub cl,30h
  1552. 0C76 C3 ret
  1553. 0C77 55 push bp
  1554. 0C78 8B EC mov bp,sp
  1555. 0C7A 53 push bx
  1556. 0C7B 52 push dx
  1557. 0C7C 56 push si
  1558. 0C7D 57 push di
  1559. 0C7E 8B 46 06 mov ax,word ptr [bp+6h]
  1560. 0C81 A3 62 10 mov word ptr [1062h],ax
  1561. 0C84 8B 56 04 mov dx,word ptr [bp+4h]
  1562. 0C87 8B 4E 06 mov cx,word ptr [bp+6h]
  1563. 0C8A 8B 7E 08 mov di,word ptr [bp+8h]
  1564. 0C8D BB 20 10 mov bx,1020h
  1565. 0C90 E8 AA FD call 0a3dh
  1566. 0C93 89 D8 mov ax,bx
  1567. 0C95 BB 20 10 mov bx,1020h
  1568. 0C98 2B C3 sub ax,bx
  1569. 0C9A A3 60 10 mov word ptr [1060h],ax
  1570. 0C9D 8B 06 62 10 mov ax,word ptr [1062h]
  1571. 0CA1 8B 16 60 10 mov dx,word ptr [1060h]
  1572. 0CA5 2B C2 sub ax,dx
  1573. 0CA7 83 F8 00 cmp ax,0h
  1574. 0CAA 7D 02 jnl 0caeh
  1575. 0CAC 31 C0 xor ax,ax
  1576. 0CAE A3 64 10 mov word ptr [1064h],ax
  1577. 0CB1 8B 0E 64 10 mov cx,word ptr [1064h]
  1578. 0CB5 E3 08 jcxz 0cbfh
  1579. 0CB7 B0 20 mov al,20h
  1580. 0CB9 B4 02 mov ah,2h
  1581. 0CBB CD 21 int 21h
  1582. 0CBD E2 F8 loop 0cb7h
  1583. 0CBF BE 20 10 mov si,1020h
  1584. 0CC2 8B 0E 60 10 mov cx,word ptr [1060h]
  1585. 0CC6 E3 09 jcxz 0cd1h
  1586. 0CC8 8A 04 mov al,byte ptr [si]
  1587. 0CCA B4 02 mov ah,2h
  1588. 0CCC CD 21 int 21h
  1589. 0CCE 46 inc si
  1590. 0CCF E2 F7 loop 0cc8h
  1591. 0CD1 5F pop di
  1592. 0CD2 5E pop si
  1593. 0CD3 5A pop dx
  1594. 0CD4 5B pop bx
  1595. 0CD5 89 EC mov sp,bp
  1596. 0CD7 5D pop bp
  1597. 0CD8 C3 ret
  1598. 0CD9 55 push bp
  1599. 0CDA 8B EC mov bp,sp
  1600. 0CDC 53 push bx
  1601. 0CDD 51 push cx
  1602. 0CDE 52 push dx
  1603. 0CDF 56 push si
  1604. 0CE0 57 push di
  1605. 0CE1 8B 46 04 mov ax,word ptr [bp+4h]
  1606. 0CE4 88 C6 mov dh,al
  1607. 0CE6 8B 76 0A mov si,word ptr [bp+0ah]
  1608. 0CE9 8B 7E 08 mov di,word ptr [bp+8h]
  1609. 0CEC 8B 5E 06 mov bx,word ptr [bp+6h]
  1610. 0CEF 80 FE 00 cmp dh,0h
  1611. 0CF2 74 23 je 0d17h
  1612. 0CF4 8A 04 mov al,byte ptr [si]
  1613. 0CF6 8A 15 mov dl,byte ptr [di]
  1614. 0CF8 80 FC 00 cmp ah,0h
  1615. 0CFB 74 0B je 0d08h
  1616. 0CFD 80 FC 01 cmp ah,1h
  1617. 0D00 74 0A je 0d0ch
  1618. 0D02 F6 D2 not dl
  1619. 0D04 20 D0 and al,dl
  1620. 0D06 EB 06 jmp 0d0eh
  1621. 0D08 20 D0 and al,dl
  1622. 0D0A EB 02 jmp 0d0eh
  1623. 0D0C 08 D0 or al,dl
  1624. 0D0E 88 07 mov byte ptr [bx],al
  1625. 0D10 46 inc si
  1626. 0D11 47 inc di
  1627. 0D12 43 inc bx
  1628. 0D13 FE CE dec dh
  1629. 0D15 75 DD jne 0cf4h
  1630. 0D17 5F pop di
  1631. 0D18 5E pop si
  1632. 0D19 5A pop dx
  1633. 0D1A 59 pop cx
  1634. 0D1B 5B pop bx
  1635. 0D1C 89 EC mov sp,bp
  1636. 0D1E 5D pop bp
  1637. 0D1F C3 ret
  1638. 0D20 55 push bp
  1639. 0D21 8B EC mov bp,sp
  1640. 0D23 53 push bx
  1641. 0D24 51 push cx
  1642. 0D25 52 push dx
  1643. 0D26 56 push si
  1644. 0D27 57 push di
  1645. 0D28 8B 4E 04 mov cx,word ptr [bp+4h]
  1646. 0D2B 8B 76 08 mov si,word ptr [bp+8h]
  1647. 0D2E 8B 7E 06 mov di,word ptr [bp+6h]
  1648. 0D31 B4 07 mov ah,7h
  1649. 0D33 E3 2B jcxz 0d60h
  1650. 0D35 8A 04 mov al,byte ptr [si]
  1651. 0D37 8A 15 mov dl,byte ptr [di]
  1652. 0D39 88 C3 mov bl,al
  1653. 0D3B 88 D6 mov dh,dl
  1654. 0D3D 3A C2 cmp al,dl
  1655. 0D3F 74 03 je 0d44h
  1656. 0D41 80 E4 FE and ah,0feh
  1657. 0D44 F6 D2 not dl
  1658. 0D46 20 D0 and al,dl
  1659. 0D48 3C 00 cmp al,0h
  1660. 0D4A 74 03 je 0d4fh
  1661. 0D4C 80 E4 FD and ah,0fdh
  1662. 0D4F 8A C3 mov al,bl
  1663. 0D51 F6 D0 not al
  1664. 0D53 20 F0 and al,dh
  1665. 0D55 3C 00 cmp al,0h
  1666. 0D57 74 03 je 0d5ch
  1667. 0D59 80 E4 FB and ah,0fbh
  1668. 0D5C 46 inc si
  1669. 0D5D 47 inc di
  1670. 0D5E E2 D5 loop 0d35h
  1671. 0D60 F6 C4 01 test ah,1h
  1672. 0D63 74 03 je 0d68h
  1673. 0D65 80 E4 F9 and ah,0f9h
  1674. 0D68 88 E0 mov al,ah
  1675. 0D6A B4 00 mov ah,0h
  1676. 0D6C 5F pop di
  1677. 0D6D 5E pop si
  1678. 0D6E 5A pop dx
  1679. 0D6F 59 pop cx
  1680. 0D70 5B pop bx
  1681. 0D71 89 EC mov sp,bp
  1682. 0D73 5D pop bp
  1683. 0D74 C3 ret
  1684. 0D75 55 push bp
  1685. 0D76 8B EC mov bp,sp
  1686. 0D78 53 push bx
  1687. 0D79 51 push cx
  1688. 0D7A 56 push si
  1689. 0D7B 8B 4E 04 mov cx,word ptr [bp+4h]
  1690. 0D7E 8B 76 06 mov si,word ptr [bp+6h]
  1691. 0D81 8B 5E 08 mov bx,word ptr [bp+8h]
  1692. 0D84 E3 08 jcxz 0d8eh
  1693. 0D86 8A 04 mov al,byte ptr [si]
  1694. 0D88 88 07 mov byte ptr [bx],al
  1695. 0D8A 46 inc si
  1696. 0D8B 43 inc bx
  1697. 0D8C E2 F8 loop 0d86h
  1698. 0D8E 5E pop si
  1699. 0D8F 59 pop cx
  1700. 0D90 5B pop bx
  1701. 0D91 89 EC mov sp,bp
  1702. 0D93 5D pop bp
  1703. 0D94 C3 ret
  1704. 0D95 55 push bp
  1705. 0D96 8B EC mov bp,sp
  1706. 0D98 53 push bx
  1707. 0D99 51 push cx
  1708. 0D9A 52 push dx
  1709. 0D9B 56 push si
  1710. 0D9C 57 push di
  1711. 0D9D 8B 7E 04 mov di,word ptr [bp+4h]
  1712. 0DA0 B8 FF FF mov ax,0ffffh
  1713. 0DA3 89 05 mov word ptr [di],ax
  1714. 0DA5 31 C0 xor ax,ax
  1715. 0DA7 89 45 02 mov word ptr [di+2h],ax
  1716. 0DAA 8B 76 06 mov si,word ptr [bp+6h]
  1717. 0DAD 8A 04 mov al,byte ptr [si]
  1718. 0DAF 46 inc si
  1719. 0DB0 3C 7F cmp al,7fh
  1720. 0DB2 76 02 jbe 0db6h
  1721. 0DB4 B0 7F mov al,7fh
  1722. 0DB6 88 C1 mov cl,al
  1723. 0DB8 30 ED xor ch,ch
  1724. 0DBA 83 C7 04 add di,4h
  1725. 0DBD E3 08 jcxz 0dc7h
  1726. 0DBF 8A 04 mov al,byte ptr [si]
  1727. 0DC1 88 05 mov byte ptr [di],al
  1728. 0DC3 46 inc si
  1729. 0DC4 47 inc di
  1730. 0DC5 E2 F8 loop 0dbfh
  1731. 0DC7 C6 05 00 mov byte ptr [di],0h
  1732. 0DCA 5F pop di
  1733. 0DCB 5E pop si
  1734. 0DCC 5A pop dx
  1735. 0DCD 59 pop cx
  1736. 0DCE 5B pop bx
  1737. 0DCF 89 EC mov sp,bp
  1738. 0DD1 5D pop bp
  1739. 0DD2 C3 ret
  1740. 0DD3 55 push bp
  1741. 0DD4 8B EC mov bp,sp
  1742. 0DD6 53 push bx
  1743. 0DD7 51 push cx
  1744. 0DD8 52 push dx
  1745. 0DD9 57 push di
  1746. 0DDA 8B 7E 04 mov di,word ptr [bp+4h]
  1747. 0DDD 8D 55 04 lea dx,[di+4h]
  1748. 0DE0 B8 00 3D mov ax,3d00h
  1749. 0DE3 CD 21 int 21h
  1750. 0DE5 72 0F jb 0df6h
  1751. 0DE7 89 05 mov word ptr [di],ax
  1752. 0DE9 B8 01 00 mov ax,1h
  1753. 0DEC 89 45 02 mov word ptr [di+2h],ax
  1754. 0DEF 31 C0 xor ax,ax
  1755. 0DF1 A3 6A 10 mov word ptr [106ah],ax
  1756. 0DF4 EB 10 jmp 0e06h
  1757. 0DF6 89 C3 mov bx,ax
  1758. 0DF8 B8 FF FF mov ax,0ffffh
  1759. 0DFB 89 05 mov word ptr [di],ax
  1760. 0DFD 31 C0 xor ax,ax
  1761. 0DFF 89 45 02 mov word ptr [di+2h],ax
  1762. 0E02 89 1E 6A 10 mov word ptr [106ah],bx
  1763. 0E06 5F pop di
  1764. 0E07 5A pop dx
  1765. 0E08 59 pop cx
  1766. 0E09 5B pop bx
  1767. 0E0A 89 EC mov sp,bp
  1768. 0E0C 5D pop bp
  1769. 0E0D C3 ret
  1770. 0E0E 55 push bp
  1771. 0E0F 8B EC mov bp,sp
  1772. 0E11 53 push bx
  1773. 0E12 51 push cx
  1774. 0E13 52 push dx
  1775. 0E14 57 push di
  1776. 0E15 8B 7E 04 mov di,word ptr [bp+4h]
  1777. 0E18 8D 55 04 lea dx,[di+4h]
  1778. 0E1B 31 C9 xor cx,cx
  1779. 0E1D B8 00 3C mov ax,3c00h
  1780. 0E20 CD 21 int 21h
  1781. 0E22 72 0F jb 0e33h
  1782. 0E24 89 05 mov word ptr [di],ax
  1783. 0E26 B8 02 00 mov ax,2h
  1784. 0E29 89 45 02 mov word ptr [di+2h],ax
  1785. 0E2C 31 C0 xor ax,ax
  1786. 0E2E A3 6A 10 mov word ptr [106ah],ax
  1787. 0E31 EB 10 jmp 0e43h
  1788. 0E33 89 C3 mov bx,ax
  1789. 0E35 B8 FF FF mov ax,0ffffh
  1790. 0E38 89 05 mov word ptr [di],ax
  1791. 0E3A 31 C0 xor ax,ax
  1792. 0E3C 89 45 02 mov word ptr [di+2h],ax
  1793. 0E3F 89 1E 6A 10 mov word ptr [106ah],bx
  1794. 0E43 5F pop di
  1795. 0E44 5A pop dx
  1796. 0E45 59 pop cx
  1797. 0E46 5B pop bx
  1798. 0E47 89 EC mov sp,bp
  1799. 0E49 5D pop bp
  1800. 0E4A C3 ret
  1801. 0E4B 55 push bp
  1802. 0E4C 8B EC mov bp,sp
  1803. 0E4E 53 push bx
  1804. 0E4F 52 push dx
  1805. 0E50 57 push di
  1806. 0E51 8B 7E 04 mov di,word ptr [bp+4h]
  1807. 0E54 8B 05 mov ax,word ptr [di]
  1808. 0E56 3D FF FF cmp ax,0ffffh
  1809. 0E59 74 16 je 0e71h
  1810. 0E5B 89 C3 mov bx,ax
  1811. 0E5D B4 3E mov ah,3eh
  1812. 0E5F CD 21 int 21h
  1813. 0E61 89 C3 mov bx,ax
  1814. 0E63 B8 FF FF mov ax,0ffffh
  1815. 0E66 89 05 mov word ptr [di],ax
  1816. 0E68 31 C0 xor ax,ax
  1817. 0E6A 89 45 02 mov word ptr [di+2h],ax
  1818. 0E6D 89 1E 6A 10 mov word ptr [106ah],bx
  1819. 0E71 5F pop di
  1820. 0E72 5A pop dx
  1821. 0E73 5B pop bx
  1822. 0E74 89 EC mov sp,bp
  1823. 0E76 5D pop bp
  1824. 0E77 C3 ret
  1825. 0E78 8B 06 6A 10 mov ax,word ptr [106ah]
  1826. 0E7C C7 06 6A 10 00 00 mov word ptr [106ah],0h
  1827. 0E82 C3 ret
  1828. 0E83 A3 6A 10 mov word ptr [106ah],ax
  1829. 0E86 C3 ret
  1830. 0E87 55 push bp
  1831. 0E88 8B EC mov bp,sp
  1832. 0E8A 53 push bx
  1833. 0E8B 51 push cx
  1834. 0E8C 52 push dx
  1835. 0E8D 8B 1E 6C 10 mov bx,word ptr [106ch]
  1836. 0E91 8B 56 04 mov dx,word ptr [bp+4h]
  1837. 0E94 89 1A mov word ptr [bp+si],bx
  1838. 0E96 8B 4E 06 mov cx,word ptr [bp+6h]
  1839. 0E99 89 D8 mov ax,bx
  1840. 0E9B 03 C1 add ax,cx
  1841. 0E9D A3 6C 10 mov word ptr [106ch],ax
  1842. 0EA0 5A pop dx
  1843. 0EA1 59 pop cx
  1844. 0EA2 5B pop bx
  1845. 0EA3 89 EC mov sp,bp
  1846. 0EA5 5D pop bp
  1847. 0EA6 C3 ret