Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Blame | Last modification | View Log | Download | RSS feed

  1. _preproce:
  2. PUSH EBP
  3. MOV EBP,ESP
  4. ADD ESP,-8
  5. MOV EAX,[_ccode]
  6. OR EAX,EAX
  7. JNE _2_3
  8. JMP _2_2
  9. _2_3:
  10. MOV EAX,[_mline]
  11. MOV DWORD [_line],EAX
  12. XOR CL,CL
  13. CALL _ifline
  14. MOV EAX,[_eof]
  15. OR EAX,EAX
  16. JNE _2_5
  17. JMP _2_4
  18. _2_5:
  19. MOV ESP,EBP
  20. POP EBP
  21. RET
  22. _2_4:
  23. JMP _2_6
  24. _2_2:
  25. XOR CL,CL
  26. CALL _inline
  27. MOV ESP,EBP
  28. POP EBP
  29. RET
  30. _2_6:
  31. MOV EAX,-1
  32. MOV DWORD [_pptr],EAX
  33. _2_7:
  34. MOV EAX,[_ch]
  35. MOV EBX,EAX
  36. MOV EAX,10
  37. CALL __ne
  38. OR EAX,EAX
  39. JNE _2_11
  40. JMP _2_9
  41. _2_11:
  42. MOV EAX,[_ch]
  43. OR EAX,EAX
  44. JNE _2_12
  45. JMP _2_9
  46. _2_12:
  47. MOV EAX,1
  48. JMP _2_10
  49. _2_9:
  50. XOR EAX,EAX
  51. _2_10:
  52. OR EAX,EAX
  53. JNE _2_13
  54. JMP _2_8
  55. _2_13:
  56. XOR CL,CL
  57. CALL _white
  58. OR EAX,EAX
  59. JNE _2_15
  60. JMP _2_14
  61. _2_15:
  62. MOV EAX,32
  63. PUSH EAX
  64. MOV CL,1
  65. CALL _keepch
  66. ADD ESP,4
  67. _2_16:
  68. XOR CL,CL
  69. CALL _white
  70. OR EAX,EAX
  71. JNE _2_18
  72. JMP _2_17
  73. _2_18:
  74. XOR CL,CL
  75. CALL _gch
  76. JMP _2_16
  77. _2_17:
  78. JMP _2_19
  79. _2_14:
  80. MOV EAX,[_ch]
  81. MOV EBX,EAX
  82. MOV EAX,34
  83. CALL __eq
  84. OR EAX,EAX
  85. JNE _2_21
  86. JMP _2_20
  87. _2_21:
  88. MOV EAX,[_ch]
  89. PUSH EAX
  90. MOV CL,1
  91. CALL _keepch
  92. ADD ESP,4
  93. XOR CL,CL
  94. CALL _gch
  95. _2_22:
  96. MOV EAX,[_ch]
  97. MOV EBX,EAX
  98. MOV EAX,34
  99. CALL __ne
  100. OR EAX,EAX
  101. JE _2_28
  102. JMP _2_24
  103. _2_28:
  104. MOV EAX,[_lptr]
  105. MOV EBX,EAX
  106. MOV EAX,1
  107. XCHG EAX,EBX
  108. SUB EAX,EBX
  109. MOV EBX,EAX
  110. MOVSX EAX,BYTE [EBX]
  111. MOV EBX,EAX
  112. MOV EAX,92
  113. CALL __eq
  114. OR EAX,EAX
  115. JNE _2_29
  116. JMP _2_25
  117. _2_29:
  118. MOV EAX,[_lptr]
  119. MOV EBX,EAX
  120. MOV EAX,2
  121. XCHG EAX,EBX
  122. SUB EAX,EBX
  123. MOV EBX,EAX
  124. MOVSX EAX,BYTE [EBX]
  125. MOV EBX,EAX
  126. MOV EAX,92
  127. CALL __ne
  128. OR EAX,EAX
  129. JNE _2_30
  130. JMP _2_25
  131. _2_30:
  132. MOV EAX,1
  133. JMP _2_26
  134. _2_25:
  135. XOR EAX,EAX
  136. _2_26:
  137. OR EAX,EAX
  138. JE _2_31
  139. JMP _2_24
  140. _2_31:
  141. XOR EAX,EAX
  142. JMP _2_27
  143. _2_24:
  144. MOV EAX,1
  145. _2_27:
  146. OR EAX,EAX
  147. JNE _2_32
  148. JMP _2_23
  149. _2_32:
  150. MOV EAX,[_ch]
  151. OR EAX,EAX
  152. JE _2_34
  153. JMP _2_33
  154. _2_34:
  155. MOV EAX,_2_1+0
  156. PUSH EAX
  157. MOV CL,1
  158. CALL _error
  159. ADD ESP,4
  160. JMP _2_23
  161. _2_33:
  162. XOR CL,CL
  163. CALL _gch
  164. PUSH EAX
  165. MOV CL,1
  166. CALL _keepch
  167. ADD ESP,4
  168. JMP _2_22
  169. _2_23:
  170. XOR CL,CL
  171. CALL _gch
  172. MOV EAX,34
  173. PUSH EAX
  174. MOV CL,1
  175. CALL _keepch
  176. ADD ESP,4
  177. JMP _2_35
  178. _2_20:
  179. MOV EAX,[_ch]
  180. MOV EBX,EAX
  181. MOV EAX,39
  182. CALL __eq
  183. OR EAX,EAX
  184. JNE _2_37
  185. JMP _2_36
  186. _2_37:
  187. MOV EAX,39
  188. PUSH EAX
  189. MOV CL,1
  190. CALL _keepch
  191. ADD ESP,4
  192. XOR CL,CL
  193. CALL _gch
  194. _2_38:
  195. MOV EAX,[_ch]
  196. MOV EBX,EAX
  197. MOV EAX,39
  198. CALL __ne
  199. OR EAX,EAX
  200. JE _2_44
  201. JMP _2_40
  202. _2_44:
  203. MOV EAX,[_lptr]
  204. MOV EBX,EAX
  205. MOV EAX,1
  206. XCHG EAX,EBX
  207. SUB EAX,EBX
  208. MOV EBX,EAX
  209. MOVSX EAX,BYTE [EBX]
  210. MOV EBX,EAX
  211. MOV EAX,92
  212. CALL __eq
  213. OR EAX,EAX
  214. JNE _2_45
  215. JMP _2_41
  216. _2_45:
  217. MOV EAX,[_lptr]
  218. MOV EBX,EAX
  219. MOV EAX,2
  220. XCHG EAX,EBX
  221. SUB EAX,EBX
  222. MOV EBX,EAX
  223. MOVSX EAX,BYTE [EBX]
  224. MOV EBX,EAX
  225. MOV EAX,92
  226. CALL __ne
  227. OR EAX,EAX
  228. JNE _2_46
  229. JMP _2_41
  230. _2_46:
  231. MOV EAX,1
  232. JMP _2_42
  233. _2_41:
  234. XOR EAX,EAX
  235. _2_42:
  236. OR EAX,EAX
  237. JE _2_47
  238. JMP _2_40
  239. _2_47:
  240. XOR EAX,EAX
  241. JMP _2_43
  242. _2_40:
  243. MOV EAX,1
  244. _2_43:
  245. OR EAX,EAX
  246. JNE _2_48
  247. JMP _2_39
  248. _2_48:
  249. MOV EAX,[_ch]
  250. OR EAX,EAX
  251. JE _2_50
  252. JMP _2_49
  253. _2_50:
  254. MOV EAX,_2_1+9
  255. PUSH EAX
  256. MOV CL,1
  257. CALL _error
  258. ADD ESP,4
  259. JMP _2_39
  260. _2_49:
  261. XOR CL,CL
  262. CALL _gch
  263. PUSH EAX
  264. MOV CL,1
  265. CALL _keepch
  266. ADD ESP,4
  267. JMP _2_38
  268. _2_39:
  269. XOR CL,CL
  270. CALL _gch
  271. MOV EAX,39
  272. PUSH EAX
  273. MOV CL,1
  274. CALL _keepch
  275. ADD ESP,4
  276. JMP _2_51
  277. _2_36:
  278. MOV EAX,[_ch]
  279. MOV EBX,EAX
  280. MOV EAX,47
  281. CALL __eq
  282. OR EAX,EAX
  283. JNE _2_55
  284. JMP _2_53
  285. _2_55:
  286. MOV EAX,[_nch]
  287. MOV EBX,EAX
  288. MOV EAX,42
  289. CALL __eq
  290. OR EAX,EAX
  291. JNE _2_56
  292. JMP _2_53
  293. _2_56:
  294. MOV EAX,1
  295. JMP _2_54
  296. _2_53:
  297. XOR EAX,EAX
  298. _2_54:
  299. OR EAX,EAX
  300. JNE _2_57
  301. JMP _2_52
  302. _2_57:
  303. MOV EAX,2
  304. PUSH EAX
  305. MOV CL,1
  306. CALL _bump
  307. ADD ESP,4
  308. _2_58:
  309. MOV EAX,[_ch]
  310. MOV EBX,EAX
  311. MOV EAX,42
  312. CALL __eq
  313. OR EAX,EAX
  314. JNE _2_62
  315. JMP _2_60
  316. _2_62:
  317. MOV EAX,[_nch]
  318. MOV EBX,EAX
  319. MOV EAX,47
  320. CALL __eq
  321. OR EAX,EAX
  322. JNE _2_63
  323. JMP _2_60
  324. _2_63:
  325. MOV EAX,1
  326. JMP _2_61
  327. _2_60:
  328. XOR EAX,EAX
  329. _2_61:
  330. OR EAX,EAX
  331. JE _2_64
  332. JMP _2_59
  333. _2_64:
  334. MOV EAX,[_ch]
  335. OR EAX,EAX
  336. JNE _2_66
  337. JMP _2_65
  338. _2_66:
  339. MOV EAX,1
  340. PUSH EAX
  341. MOV CL,1
  342. CALL _bump
  343. ADD ESP,4
  344. JMP _2_67
  345. _2_65:
  346. XOR CL,CL
  347. CALL _ifline
  348. MOV EAX,[_eof]
  349. OR EAX,EAX
  350. JNE _2_69
  351. JMP _2_68
  352. _2_69:
  353. JMP _2_59
  354. _2_68:
  355. _2_67:
  356. JMP _2_58
  357. _2_59:
  358. MOV EAX,2
  359. PUSH EAX
  360. MOV CL,1
  361. CALL _bump
  362. ADD ESP,4
  363. JMP _2_70
  364. _2_52:
  365. MOV EAX,[_ch]
  366. MOV EBX,EAX
  367. MOV EAX,47
  368. CALL __eq
  369. OR EAX,EAX
  370. JNE _2_74
  371. JMP _2_72
  372. _2_74:
  373. MOV EAX,[_nch]
  374. MOV EBX,EAX
  375. MOV EAX,47
  376. CALL __eq
  377. OR EAX,EAX
  378. JNE _2_75
  379. JMP _2_72
  380. _2_75:
  381. MOV EAX,1
  382. JMP _2_73
  383. _2_72:
  384. XOR EAX,EAX
  385. _2_73:
  386. OR EAX,EAX
  387. JNE _2_76
  388. JMP _2_71
  389. _2_76:
  390. MOV EAX,2
  391. PUSH EAX
  392. MOV CL,1
  393. CALL _bump
  394. ADD ESP,4
  395. _2_77:
  396. MOV EAX,[_ch]
  397. MOV EBX,EAX
  398. MOV EAX,10
  399. CALL __ne
  400. OR EAX,EAX
  401. JNE _2_79
  402. JMP _2_78
  403. _2_79:
  404. MOV EAX,[_ch]
  405. OR EAX,EAX
  406. JNE _2_81
  407. JMP _2_80
  408. _2_81:
  409. MOV EAX,1
  410. PUSH EAX
  411. MOV CL,1
  412. CALL _bump
  413. ADD ESP,4
  414. JMP _2_82
  415. _2_80:
  416. MOV EAX,[_eof]
  417. OR EAX,EAX
  418. JNE _2_84
  419. JMP _2_83
  420. _2_84:
  421. JMP _2_78
  422. _2_83:
  423. _2_82:
  424. JMP _2_77
  425. _2_78:
  426. MOV EAX,1
  427. PUSH EAX
  428. MOV CL,1
  429. CALL _bump
  430. ADD ESP,4
  431. JMP _2_85
  432. _2_71:
  433. MOV EAX,[_ch]
  434. PUSH EAX
  435. MOV CL,1
  436. CALL _an
  437. ADD ESP,4
  438. OR EAX,EAX
  439. JNE _2_87
  440. JMP _2_86
  441. _2_87:
  442. LEA EAX,[EBP-4]
  443. MOV EBX,EAX
  444. XOR EAX,EAX
  445. MOV [EBX],EAX
  446. _2_88:
  447. MOV EAX,[_ch]
  448. PUSH EAX
  449. MOV CL,1
  450. CALL _an
  451. ADD ESP,4
  452. OR EAX,EAX
  453. JNE _2_92
  454. JMP _2_90
  455. _2_92:
  456. LEA EAX,[EBP-4]
  457. MOV EBX,EAX
  458. MOV EAX, [EBX]
  459. MOV EBX,EAX
  460. MOV EAX,8
  461. CALL __lt
  462. OR EAX,EAX
  463. JNE _2_93
  464. JMP _2_90
  465. _2_93:
  466. MOV EAX,1
  467. JMP _2_91
  468. _2_90:
  469. XOR EAX,EAX
  470. _2_91:
  471. OR EAX,EAX
  472. JNE _2_94
  473. JMP _2_89
  474. _2_94:
  475. MOV EAX,_msname
  476. PUSH EAX
  477. LEA EAX,[EBP-4]
  478. MOV EBX,EAX
  479. MOV EAX, [EBX]
  480. INC EAX
  481. MOV [EBX],EAX
  482. DEC EAX
  483. POP EBX
  484. ADD EAX,EBX
  485. PUSH EAX
  486. MOV EAX,[_ch]
  487. POP EBX
  488. MOV [EBX],AL
  489. XOR CL,CL
  490. CALL _gch
  491. JMP _2_88
  492. _2_89:
  493. MOV EAX,_msname
  494. PUSH EAX
  495. LEA EAX,[EBP-4]
  496. MOV EBX,EAX
  497. MOV EAX, [EBX]
  498. POP EBX
  499. ADD EAX,EBX
  500. MOV EBX,EAX
  501. XOR EAX,EAX
  502. MOV [EBX],AL
  503. MOV EAX,_msname
  504. PUSH EAX
  505. MOV EAX,[_macn]
  506. PUSH EAX
  507. MOV EAX,11
  508. PUSH EAX
  509. MOV EAX,[_macn]
  510. MOV EBX,3300
  511. ADD EAX,EBX
  512. PUSH EAX
  513. MOV EAX,300
  514. PUSH EAX
  515. XOR EAX,EAX
  516. PUSH EAX
  517. MOV CL,6
  518. CALL _search
  519. ADD ESP,24
  520. OR EAX,EAX
  521. JNE _2_96
  522. JMP _2_95
  523. _2_96:
  524. LEA EAX,[EBP-4]
  525. PUSH EAX
  526. MOV EAX,[_cptr]
  527. MOV EBX,9
  528. ADD EAX,EBX
  529. PUSH EAX
  530. MOV EAX,2
  531. PUSH EAX
  532. MOV CL,2
  533. CALL _getint
  534. ADD ESP,8
  535. POP EBX
  536. MOV [EBX],EAX
  537. _2_97:
  538. LEA EAX,[EBP-8]
  539. PUSH EAX
  540. MOV EAX,[_macq]
  541. PUSH EAX
  542. LEA EAX,[EBP-4]
  543. MOV EBX,EAX
  544. MOV EAX, [EBX]
  545. INC EAX
  546. MOV [EBX],EAX
  547. DEC EAX
  548. POP EBX
  549. ADD EAX,EBX
  550. MOV EBX,EAX
  551. MOVSX EAX,BYTE [EBX]
  552. POP EBX
  553. MOV [EBX],AL
  554. OR EAX,EAX
  555. JNE _2_99
  556. JMP _2_98
  557. _2_99:
  558. LEA EAX,[EBP-8]
  559. MOV EBX,EAX
  560. MOVSX EAX,BYTE [EBX]
  561. PUSH EAX
  562. MOV CL,1
  563. CALL _keepch
  564. ADD ESP,4
  565. JMP _2_97
  566. _2_98:
  567. _2_100:
  568. MOV EAX,[_ch]
  569. PUSH EAX
  570. MOV CL,1
  571. CALL _an
  572. ADD ESP,4
  573. OR EAX,EAX
  574. JNE _2_102
  575. JMP _2_101
  576. _2_102:
  577. XOR CL,CL
  578. CALL _gch
  579. JMP _2_100
  580. _2_101:
  581. JMP _2_103
  582. _2_95:
  583. LEA EAX,[EBP-4]
  584. MOV EBX,EAX
  585. XOR EAX,EAX
  586. MOV [EBX],EAX
  587. _2_104:
  588. LEA EAX,[EBP-8]
  589. PUSH EAX
  590. MOV EAX,_msname
  591. PUSH EAX
  592. LEA EAX,[EBP-4]
  593. MOV EBX,EAX
  594. MOV EAX, [EBX]
  595. INC EAX
  596. MOV [EBX],EAX
  597. DEC EAX
  598. POP EBX
  599. ADD EAX,EBX
  600. MOV EBX,EAX
  601. MOVSX EAX,BYTE [EBX]
  602. POP EBX
  603. MOV [EBX],AL
  604. OR EAX,EAX
  605. JNE _2_106
  606. JMP _2_105
  607. _2_106:
  608. LEA EAX,[EBP-8]
  609. MOV EBX,EAX
  610. MOVSX EAX,BYTE [EBX]
  611. PUSH EAX
  612. MOV CL,1
  613. CALL _keepch
  614. ADD ESP,4
  615. JMP _2_104
  616. _2_105:
  617. _2_103:
  618. JMP _2_107
  619. _2_86:
  620. XOR CL,CL
  621. CALL _gch
  622. PUSH EAX
  623. MOV CL,1
  624. CALL _keepch
  625. ADD ESP,4
  626. _2_107:
  627. _2_85:
  628. _2_70:
  629. _2_51:
  630. _2_35:
  631. _2_19:
  632. JMP _2_7
  633. _2_8:
  634. MOV EAX,[_pptr]
  635. MOV EBX,EAX
  636. MOV EAX,127
  637. CALL __ge
  638. OR EAX,EAX
  639. JNE _2_109
  640. JMP _2_108
  641. _2_109:
  642. MOV EAX,_2_1+23
  643. PUSH EAX
  644. MOV CL,1
  645. CALL _error
  646. ADD ESP,4
  647. _2_108:
  648. XOR EAX,EAX
  649. PUSH EAX
  650. MOV CL,1
  651. CALL _keepch
  652. ADD ESP,4
  653. MOV EAX,[_pline]
  654. MOV DWORD [_line],EAX
  655. XOR EAX,EAX
  656. PUSH EAX
  657. MOV CL,1
  658. CALL _bump
  659. ADD ESP,4
  660. MOV ESP,EBP
  661. POP EBP
  662. RET
  663. _2_1 DB 110,111,32,113,117,111,116,101,0,110
  664.  DB 111,32,97,112,111,115,116,114,111,112
  665.  DB 104,101,0,108,105,110,101,32,116,111
  666.  DB 111,32,108,111,110,103,0
  667.  
  668. _keepch:
  669. PUSH EBP
  670. MOV EBP,ESP
  671. MOV EAX,[_pptr]
  672. MOV EBX,EAX
  673. MOV EAX,127
  674. CALL __lt
  675. OR EAX,EAX
  676. JNE _2_112
  677. JMP _2_111
  678. _2_112:
  679. MOV EAX,[_pline]
  680. PUSH EAX
  681. MOV EAX,[_pptr]
  682. INC EAX
  683. MOV DWORD [_pptr],EAX
  684. POP EBX
  685. ADD EAX,EBX
  686. PUSH EAX
  687. LEA EAX,[EBP+8]
  688. MOV EBX,EAX
  689. MOVSX EAX,BYTE [EBX]
  690. POP EBX
  691. MOV [EBX],AL
  692. _2_111:
  693. POP EBP
  694. RET
  695.  
  696. _ifline:
  697. PUSH EBP
  698. MOV EBP,ESP
  699. _2_114:
  700. XOR CL,CL
  701. CALL _inline
  702. MOV EAX,[_eof]
  703. OR EAX,EAX
  704. JNE _2_117
  705. JMP _2_116
  706. _2_117:
  707. POP EBP
  708. RET
  709. _2_116:
  710. MOV EAX,_2_113+0
  711. PUSH EAX
  712. MOV CL,1
  713. CALL _match
  714. ADD ESP,4
  715. OR EAX,EAX
  716. JNE _2_119
  717. JMP _2_118
  718. _2_119:
  719. MOV EAX,[_iflevel]
  720. INC EAX
  721. MOV DWORD [_iflevel],EAX
  722. MOV EAX,[_skipleve]
  723. OR EAX,EAX
  724. JNE _2_121
  725. JMP _2_120
  726. _2_121:
  727. JMP _2_114
  728. _2_120:
  729. MOV EAX,_msname
  730. PUSH EAX
  731. MOV CL,1
  732. CALL _symname
  733. ADD ESP,4
  734. MOV EAX,_msname
  735. PUSH EAX
  736. MOV EAX,[_macn]
  737. PUSH EAX
  738. MOV EAX,11
  739. PUSH EAX
  740. MOV EAX,[_macn]
  741. MOV EBX,3300
  742. ADD EAX,EBX
  743. PUSH EAX
  744. MOV EAX,300
  745. PUSH EAX
  746. XOR EAX,EAX
  747. PUSH EAX
  748. MOV CL,6
  749. CALL _search
  750. ADD ESP,24
  751. OR EAX,EAX
  752. JE _2_123
  753. JMP _2_122
  754. _2_123:
  755. MOV EAX,[_iflevel]
  756. MOV DWORD [_skipleve],EAX
  757. _2_122:
  758. JMP _2_114
  759. _2_118:
  760. MOV EAX,_2_113+7
  761. PUSH EAX
  762. MOV CL,1
  763. CALL _match
  764. ADD ESP,4
  765. OR EAX,EAX
  766. JNE _2_125
  767. JMP _2_124
  768. _2_125:
  769. MOV EAX,[_iflevel]
  770. INC EAX
  771. MOV DWORD [_iflevel],EAX
  772. MOV EAX,[_skipleve]
  773. OR EAX,EAX
  774. JNE _2_127
  775. JMP _2_126
  776. _2_127:
  777. JMP _2_114
  778. _2_126:
  779. MOV EAX,_msname
  780. PUSH EAX
  781. MOV CL,1
  782. CALL _symname
  783. ADD ESP,4
  784. MOV EAX,_msname
  785. PUSH EAX
  786. MOV EAX,[_macn]
  787. PUSH EAX
  788. MOV EAX,11
  789. PUSH EAX
  790. MOV EAX,[_macn]
  791. MOV EBX,3300
  792. ADD EAX,EBX
  793. PUSH EAX
  794. MOV EAX,300
  795. PUSH EAX
  796. XOR EAX,EAX
  797. PUSH EAX
  798. MOV CL,6
  799. CALL _search
  800. ADD ESP,24
  801. OR EAX,EAX
  802. JNE _2_129
  803. JMP _2_128
  804. _2_129:
  805. MOV EAX,[_iflevel]
  806. MOV DWORD [_skipleve],EAX
  807. _2_128:
  808. JMP _2_114
  809. _2_124:
  810. MOV EAX,_2_113+15
  811. PUSH EAX
  812. MOV CL,1
  813. CALL _match
  814. ADD ESP,4
  815. OR EAX,EAX
  816. JNE _2_131
  817. JMP _2_130
  818. _2_131:
  819. MOV EAX,[_iflevel]
  820. OR EAX,EAX
  821. JNE _2_133
  822. JMP _2_132
  823. _2_133:
  824. MOV EAX,[_skipleve]
  825. PUSH EAX
  826. MOV EAX,[_iflevel]
  827. POP EBX
  828. CALL __eq
  829. OR EAX,EAX
  830. JNE _2_135
  831. JMP _2_134
  832. _2_135:
  833. XOR EAX,EAX
  834. MOV DWORD [_skipleve],EAX
  835. JMP _2_136
  836. _2_134:
  837. MOV EAX,[_skipleve]
  838. OR EAX,EAX
  839. JE _2_138
  840. JMP _2_137
  841. _2_138:
  842. MOV EAX,[_iflevel]
  843. MOV DWORD [_skipleve],EAX
  844. _2_137:
  845. _2_136:
  846. JMP _2_139
  847. _2_132:
  848. XOR CL,CL
  849. CALL _noiferr
  850. _2_139:
  851. JMP _2_114
  852. _2_130:
  853. MOV EAX,_2_113+21
  854. PUSH EAX
  855. MOV CL,1
  856. CALL _match
  857. ADD ESP,4
  858. OR EAX,EAX
  859. JNE _2_141
  860. JMP _2_140
  861. _2_141:
  862. MOV EAX,[_iflevel]
  863. OR EAX,EAX
  864. JNE _2_143
  865. JMP _2_142
  866. _2_143:
  867. MOV EAX,[_skipleve]
  868. PUSH EAX
  869. MOV EAX,[_iflevel]
  870. POP EBX
  871. CALL __eq
  872. OR EAX,EAX
  873. JNE _2_145
  874. JMP _2_144
  875. _2_145:
  876. XOR EAX,EAX
  877. MOV DWORD [_skipleve],EAX
  878. _2_144:
  879. MOV EAX,[_iflevel]
  880. DEC EAX
  881. MOV DWORD [_iflevel],EAX
  882. JMP _2_146
  883. _2_142:
  884. XOR CL,CL
  885. CALL _noiferr
  886. _2_146:
  887. JMP _2_114
  888. _2_140:
  889. MOV EAX,[_skipleve]
  890. OR EAX,EAX
  891. JNE _2_148
  892. JMP _2_147
  893. _2_148:
  894. JMP _2_114
  895. _2_147:
  896. MOV EAX,[_ch]
  897. OR EAX,EAX
  898. JE _2_150
  899. JMP _2_149
  900. _2_150:
  901. JMP _2_114
  902. _2_149:
  903. JMP _2_115
  904. JMP _2_114
  905. _2_115:
  906. POP EBP
  907. RET
  908. _2_113 DB 35,105,102,100,101,102,0,35,105,102
  909.  DB 110,100,101,102,0,35,101,108,115,101
  910.  DB 0,35,101,110,100,105,102,0
  911.  
  912. _inline:
  913. PUSH EBP
  914. MOV EBP,ESP
  915. ADD ESP,-8
  916. MOV EAX,[_input]
  917. MOV EBX,EAX
  918. MOV EAX,-1
  919. CALL __eq
  920. OR EAX,EAX
  921. JNE _2_153
  922. JMP _2_152
  923. _2_153:
  924. XOR CL,CL
  925. CALL _openfile
  926. _2_152:
  927. MOV EAX,[_eof]
  928. OR EAX,EAX
  929. JNE _2_155
  930. JMP _2_154
  931. _2_155:
  932. MOV ESP,EBP
  933. POP EBP
  934. RET
  935. _2_154:
  936. LEA EAX,[EBP-8]
  937. PUSH EAX
  938. MOV EAX,[_input2]
  939. POP EBX
  940. MOV [EBX],EAX
  941. MOV EBX,EAX
  942. MOV EAX,-1
  943. CALL __eq
  944. OR EAX,EAX
  945. JNE _2_157
  946. JMP _2_156
  947. _2_157:
  948. LEA EAX,[EBP-8]
  949. PUSH EAX
  950. MOV EAX,[_input]
  951. POP EBX
  952. MOV [EBX],EAX
  953. _2_156:
  954. MOV EAX,[_line]
  955. PUSH EAX
  956. MOV EAX,127
  957. PUSH EAX
  958. LEA EAX,[EBP-8]
  959. MOV EBX,EAX
  960. MOV EAX, [EBX]
  961. PUSH EAX
  962. MOV CL,3
  963. CALL _fgets
  964. ADD ESP,12
  965. OR EAX,EAX
  966. JE _2_159
  967. JMP _2_158
  968. _2_159:
  969. LEA EAX,[EBP-8]
  970. MOV EBX,EAX
  971. MOV EAX, [EBX]
  972. PUSH EAX
  973. MOV CL,1
  974. CALL _OS_fclos
  975. ADD ESP,4
  976. MOV EAX,[_input2]
  977. MOV EBX,EAX
  978. MOV EAX,-1
  979. CALL __ne
  980. OR EAX,EAX
  981. JNE _2_161
  982. JMP _2_160
  983. _2_161:
  984. MOV EAX,-1
  985. MOV DWORD [_input2],EAX
  986. JMP _2_162
  987. _2_160:
  988. MOV EAX,-1
  989. MOV DWORD [_input],EAX
  990. _2_162:
  991. MOV EAX,[_line]
  992. MOV EBX,EAX
  993. XOR EAX,EAX
  994. MOV [EBX],AL
  995. JMP _2_163
  996. _2_158:
  997. MOV EAX,[_listfp]
  998. OR EAX,EAX
  999. JNE _2_165
  1000. JMP _2_164
  1001. _2_165:
  1002. MOV EAX,[_listfp]
  1003. PUSH EAX
  1004. MOV EAX,[_output]
  1005. POP EBX
  1006. CALL __eq
  1007. OR EAX,EAX
  1008. JNE _2_167
  1009. JMP _2_166
  1010. _2_167:
  1011. MOV EAX,59
  1012. PUSH EAX
  1013. MOV EAX,[_output]
  1014. PUSH EAX
  1015. MOV CL,2
  1016. CALL _OS_fputc
  1017. ADD ESP,8
  1018. _2_166:
  1019. MOV EAX,[_line]
  1020. PUSH EAX
  1021. MOV EAX,[_listfp]
  1022. PUSH EAX
  1023. MOV CL,2
  1024. CALL _fputs
  1025. ADD ESP,8
  1026. _2_164:
  1027. _2_163:
  1028. XOR EAX,EAX
  1029. PUSH EAX
  1030. MOV CL,1
  1031. CALL _bump
  1032. ADD ESP,4
  1033. MOV ESP,EBP
  1034. POP EBP
  1035. RET
  1036.  
  1037. _inbyte:
  1038. PUSH EBP
  1039. MOV EBP,ESP
  1040. _2_169:
  1041. MOV EAX,[_ch]
  1042. OR EAX,EAX
  1043. JE _2_171
  1044. JMP _2_170
  1045. _2_171:
  1046. MOV EAX,[_eof]
  1047. OR EAX,EAX
  1048. JNE _2_173
  1049. JMP _2_172
  1050. _2_173:
  1051. XOR EAX,EAX
  1052. POP EBP
  1053. RET
  1054. _2_172:
  1055. XOR CL,CL
  1056. CALL _preproce
  1057. JMP _2_169
  1058. _2_170:
  1059. XOR CL,CL
  1060. CALL _gch
  1061. POP EBP
  1062. RET
  1063.  
  1064. _symname:
  1065. PUSH EBP
  1066. MOV EBP,ESP
  1067. ADD ESP,-8
  1068. XOR CL,CL
  1069. CALL _blanks
  1070. MOV EAX,[_ch]
  1071. PUSH EAX
  1072. MOV CL,1
  1073. CALL _alpha
  1074. ADD ESP,4
  1075. OR EAX,EAX
  1076. JE _2_176
  1077. JMP _2_175
  1078. _2_176:
  1079. LEA EAX,[EBP+8]
  1080. MOV EBX,EAX
  1081. MOV EAX, [EBX]
  1082. MOV EBX,EAX
  1083. XOR EAX,EAX
  1084. MOV [EBX],AL
  1085. MOV ESP,EBP
  1086. POP EBP
  1087. RET
  1088. _2_175:
  1089. LEA EAX,[EBP-4]
  1090. MOV EBX,EAX
  1091. XOR EAX,EAX
  1092. MOV [EBX],EAX
  1093. _2_177:
  1094. MOV EAX,[_ch]
  1095. PUSH EAX
  1096. MOV CL,1
  1097. CALL _an
  1098. ADD ESP,4
  1099. OR EAX,EAX
  1100. JNE _2_179
  1101. JMP _2_178
  1102. _2_179:
  1103. LEA EAX,[EBP+8]
  1104. MOV EBX,EAX
  1105. MOV EAX, [EBX]
  1106. PUSH EAX
  1107. LEA EAX,[EBP-4]
  1108. MOV EBX,EAX
  1109. MOV EAX, [EBX]
  1110. POP EBX
  1111. ADD EAX,EBX
  1112. PUSH EAX
  1113. XOR CL,CL
  1114. CALL _gch
  1115. POP EBX
  1116. MOV [EBX],AL
  1117. LEA EAX,[EBP-4]
  1118. MOV EBX,EAX
  1119. MOV EAX, [EBX]
  1120. MOV EBX,EAX
  1121. MOV EAX,8
  1122. CALL __lt
  1123. OR EAX,EAX
  1124. JNE _2_181
  1125. JMP _2_180
  1126. _2_181:
  1127. LEA EAX,[EBP-4]
  1128. MOV EBX,EAX
  1129. MOV EAX, [EBX]
  1130. INC EAX
  1131. MOV [EBX],EAX
  1132. _2_180:
  1133. JMP _2_177
  1134. _2_178:
  1135. LEA EAX,[EBP+8]
  1136. MOV EBX,EAX
  1137. MOV EAX, [EBX]
  1138. PUSH EAX
  1139. LEA EAX,[EBP-4]
  1140. MOV EBX,EAX
  1141. MOV EAX, [EBX]
  1142. POP EBX
  1143. ADD EAX,EBX
  1144. MOV EBX,EAX
  1145. XOR EAX,EAX
  1146. MOV [EBX],AL
  1147. MOV EAX,1
  1148. MOV ESP,EBP
  1149. POP EBP
  1150. RET
  1151.  
  1152. _need:
  1153. PUSH EBP
  1154. MOV EBP,ESP
  1155. LEA EAX,[EBP+8]
  1156. MOV EBX,EAX
  1157. MOV EAX, [EBX]
  1158. PUSH EAX
  1159. MOV CL,1
  1160. CALL _match
  1161. ADD ESP,4
  1162. OR EAX,EAX
  1163. JE _2_184
  1164. JMP _2_183
  1165. _2_184:
  1166. MOV EAX,_2_182+0
  1167. PUSH EAX
  1168. MOV CL,1
  1169. CALL _error
  1170. ADD ESP,4
  1171. _2_183:
  1172. POP EBP
  1173. RET
  1174. _2_182 DB 109,105,115,115,105,110,103,32,116,111
  1175.  DB 107,101,110,0
  1176.  
  1177. _ns:
  1178. PUSH EBP
  1179. MOV EBP,ESP
  1180. MOV EAX,_2_185+0
  1181. PUSH EAX
  1182. MOV CL,1
  1183. CALL _match
  1184. ADD ESP,4
  1185. OR EAX,EAX
  1186. JE _2_187
  1187. JMP _2_186
  1188. _2_187:
  1189. MOV EAX,_2_185+2
  1190. PUSH EAX
  1191. MOV CL,1
  1192. CALL _error
  1193. ADD ESP,4
  1194. JMP _2_188
  1195. _2_186:
  1196. XOR EAX,EAX
  1197. MOV DWORD [_errflag],EAX
  1198. _2_188:
  1199. POP EBP
  1200. RET
  1201. _2_185 DB 59,0,110,111,32,115,101,109,105,99
  1202.  DB 111,108,111,110,0
  1203.  
  1204. _match:
  1205. PUSH EBP
  1206. MOV EBP,ESP
  1207. ADD ESP,-4
  1208. XOR CL,CL
  1209. CALL _blanks
  1210. LEA EAX,[EBP-4]
  1211. PUSH EAX
  1212. MOV EAX,[_lptr]
  1213. PUSH EAX
  1214. LEA EAX,[EBP+8]
  1215. MOV EBX,EAX
  1216. MOV EAX, [EBX]
  1217. PUSH EAX
  1218. MOV CL,2
  1219. CALL _streq
  1220. ADD ESP,8
  1221. POP EBX
  1222. MOV [EBX],EAX
  1223. OR EAX,EAX
  1224. JNE _2_191
  1225. JMP _2_190
  1226. _2_191:
  1227. LEA EAX,[EBP-4]
  1228. MOV EBX,EAX
  1229. MOV EAX, [EBX]
  1230. PUSH EAX
  1231. MOV CL,1
  1232. CALL _bump
  1233. ADD ESP,4
  1234. MOV EAX,1
  1235. MOV ESP,EBP
  1236. POP EBP
  1237. RET
  1238. _2_190:
  1239. XOR EAX,EAX
  1240. MOV ESP,EBP
  1241. POP EBP
  1242. RET
  1243.  
  1244. _streq:
  1245. PUSH EBP
  1246. MOV EBP,ESP
  1247. ADD ESP,-4
  1248. LEA EAX,[EBP-4]
  1249. MOV EBX,EAX
  1250. XOR EAX,EAX
  1251. MOV [EBX],EAX
  1252. _2_193:
  1253. LEA EAX,[EBP+8]
  1254. MOV EBX,EAX
  1255. MOV EAX, [EBX]
  1256. PUSH EAX
  1257. LEA EAX,[EBP-4]
  1258. MOV EBX,EAX
  1259. MOV EAX, [EBX]
  1260. POP EBX
  1261. ADD EAX,EBX
  1262. MOV EBX,EAX
  1263. MOVSX EAX,BYTE [EBX]
  1264. OR EAX,EAX
  1265. JNE _2_195
  1266. JMP _2_194
  1267. _2_195:
  1268. LEA EAX,[EBP+12]
  1269. MOV EBX,EAX
  1270. MOV EAX, [EBX]
  1271. PUSH EAX
  1272. LEA EAX,[EBP-4]
  1273. MOV EBX,EAX
  1274. MOV EAX, [EBX]
  1275. POP EBX
  1276. ADD EAX,EBX
  1277. MOV EBX,EAX
  1278. MOVSX EAX,BYTE [EBX]
  1279. PUSH EAX
  1280. LEA EAX,[EBP+8]
  1281. MOV EBX,EAX
  1282. MOV EAX, [EBX]
  1283. PUSH EAX
  1284. LEA EAX,[EBP-4]
  1285. MOV EBX,EAX
  1286. MOV EAX, [EBX]
  1287. POP EBX
  1288. ADD EAX,EBX
  1289. MOV EBX,EAX
  1290. MOVSX EAX,BYTE [EBX]
  1291. POP EBX
  1292. CALL __ne
  1293. OR EAX,EAX
  1294. JNE _2_197
  1295. JMP _2_196
  1296. _2_197:
  1297. XOR EAX,EAX
  1298. MOV ESP,EBP
  1299. POP EBP
  1300. RET
  1301. _2_196:
  1302. LEA EAX,[EBP-4]
  1303. MOV EBX,EAX
  1304. MOV EAX, [EBX]
  1305. INC EAX
  1306. MOV [EBX],EAX
  1307. JMP _2_193
  1308. _2_194:
  1309. LEA EAX,[EBP-4]
  1310. MOV EBX,EAX
  1311. MOV EAX, [EBX]
  1312. MOV ESP,EBP
  1313. POP EBP
  1314. RET
  1315.  
  1316. _amatch:
  1317. PUSH EBP
  1318. MOV EBP,ESP
  1319. ADD ESP,-4
  1320. XOR CL,CL
  1321. CALL _blanks
  1322. LEA EAX,[EBP-4]
  1323. PUSH EAX
  1324. MOV EAX,[_lptr]
  1325. PUSH EAX
  1326. LEA EAX,[EBP+12]
  1327. MOV EBX,EAX
  1328. MOV EAX, [EBX]
  1329. PUSH EAX
  1330. LEA EAX,[EBP+8]
  1331. MOV EBX,EAX
  1332. MOV EAX, [EBX]
  1333. PUSH EAX
  1334. MOV CL,3
  1335. CALL _astreq
  1336. ADD ESP,12
  1337. POP EBX
  1338. MOV [EBX],EAX
  1339. OR EAX,EAX
  1340. JNE _2_200
  1341. JMP _2_199
  1342. _2_200:
  1343. LEA EAX,[EBP-4]
  1344. MOV EBX,EAX
  1345. MOV EAX, [EBX]
  1346. PUSH EAX
  1347. MOV CL,1
  1348. CALL _bump
  1349. ADD ESP,4
  1350. MOV EAX,1
  1351. MOV ESP,EBP
  1352. POP EBP
  1353. RET
  1354. _2_199:
  1355. XOR EAX,EAX
  1356. MOV ESP,EBP
  1357. POP EBP
  1358. RET
  1359.  
  1360. _astreq:
  1361. PUSH EBP
  1362. MOV EBP,ESP
  1363. ADD ESP,-4
  1364. LEA EAX,[EBP-4]
  1365. MOV EBX,EAX
  1366. XOR EAX,EAX
  1367. MOV [EBX],EAX
  1368. _2_202:
  1369. LEA EAX,[EBP-4]
  1370. MOV EBX,EAX
  1371. MOV EAX, [EBX]
  1372. PUSH EAX
  1373. LEA EAX,[EBP+8]
  1374. MOV EBX,EAX
  1375. MOV EAX, [EBX]
  1376. POP EBX
  1377. CALL __lt
  1378. OR EAX,EAX
  1379. JNE _2_204
  1380. JMP _2_203
  1381. _2_204:
  1382. LEA EAX,[EBP+16]
  1383. MOV EBX,EAX
  1384. MOV EAX, [EBX]
  1385. PUSH EAX
  1386. LEA EAX,[EBP-4]
  1387. MOV EBX,EAX
  1388. MOV EAX, [EBX]
  1389. POP EBX
  1390. ADD EAX,EBX
  1391. MOV EBX,EAX
  1392. MOVSX EAX,BYTE [EBX]
  1393. PUSH EAX
  1394. LEA EAX,[EBP+12]
  1395. MOV EBX,EAX
  1396. MOV EAX, [EBX]
  1397. PUSH EAX
  1398. LEA EAX,[EBP-4]
  1399. MOV EBX,EAX
  1400. MOV EAX, [EBX]
  1401. POP EBX
  1402. ADD EAX,EBX
  1403. MOV EBX,EAX
  1404. MOVSX EAX,BYTE [EBX]
  1405. POP EBX
  1406. CALL __ne
  1407. OR EAX,EAX
  1408. JNE _2_206
  1409. JMP _2_205
  1410. _2_206:
  1411. JMP _2_203
  1412. _2_205:
  1413. LEA EAX,[EBP+12]
  1414. MOV EBX,EAX
  1415. MOV EAX, [EBX]
  1416. PUSH EAX
  1417. LEA EAX,[EBP-4]
  1418. MOV EBX,EAX
  1419. MOV EAX, [EBX]
  1420. POP EBX
  1421. ADD EAX,EBX
  1422. MOV EBX,EAX
  1423. MOVSX EAX,BYTE [EBX]
  1424. MOV EBX,EAX
  1425. MOV EAX,32
  1426. CALL __lt
  1427. OR EAX,EAX
  1428. JNE _2_208
  1429. JMP _2_207
  1430. _2_208:
  1431. JMP _2_203
  1432. _2_207:
  1433. LEA EAX,[EBP+16]
  1434. MOV EBX,EAX
  1435. MOV EAX, [EBX]
  1436. PUSH EAX
  1437. LEA EAX,[EBP-4]
  1438. MOV EBX,EAX
  1439. MOV EAX, [EBX]
  1440. POP EBX
  1441. ADD EAX,EBX
  1442. MOV EBX,EAX
  1443. MOVSX EAX,BYTE [EBX]
  1444. MOV EBX,EAX
  1445. MOV EAX,32
  1446. CALL __lt
  1447. OR EAX,EAX
  1448. JNE _2_210
  1449. JMP _2_209
  1450. _2_210:
  1451. JMP _2_203
  1452. _2_209:
  1453. LEA EAX,[EBP-4]
  1454. MOV EBX,EAX
  1455. MOV EAX, [EBX]
  1456. INC EAX
  1457. MOV [EBX],EAX
  1458. JMP _2_202
  1459. _2_203:
  1460. LEA EAX,[EBP+16]
  1461. MOV EBX,EAX
  1462. MOV EAX, [EBX]
  1463. PUSH EAX
  1464. LEA EAX,[EBP-4]
  1465. MOV EBX,EAX
  1466. MOV EAX, [EBX]
  1467. POP EBX
  1468. ADD EAX,EBX
  1469. MOV EBX,EAX
  1470. MOVSX EAX,BYTE [EBX]
  1471. PUSH EAX
  1472. MOV CL,1
  1473. CALL _an
  1474. ADD ESP,4
  1475. OR EAX,EAX
  1476. JE _2_214
  1477. JMP _2_212
  1478. _2_214:
  1479. LEA EAX,[EBP+12]
  1480. MOV EBX,EAX
  1481. MOV EAX, [EBX]
  1482. PUSH EAX
  1483. LEA EAX,[EBP-4]
  1484. MOV EBX,EAX
  1485. MOV EAX, [EBX]
  1486. POP EBX
  1487. ADD EAX,EBX
  1488. MOV EBX,EAX
  1489. MOVSX EAX,BYTE [EBX]
  1490. PUSH EAX
  1491. MOV CL,1
  1492. CALL _an
  1493. ADD ESP,4
  1494. OR EAX,EAX
  1495. JE _2_215
  1496. JMP _2_212
  1497. _2_215:
  1498. XOR EAX,EAX
  1499. JMP _2_213
  1500. _2_212:
  1501. MOV EAX,1
  1502. _2_213:
  1503. OR EAX,EAX
  1504. JNE _2_216
  1505. JMP _2_211
  1506. _2_216:
  1507. XOR EAX,EAX
  1508. MOV ESP,EBP
  1509. POP EBP
  1510. RET
  1511. _2_211:
  1512. LEA EAX,[EBP-4]
  1513. MOV EBX,EAX
  1514. MOV EAX, [EBX]
  1515. MOV ESP,EBP
  1516. POP EBP
  1517. RET
  1518.  
  1519. _nextop:
  1520. PUSH EBP
  1521. MOV EBP,ESP
  1522. ADD ESP,-4
  1523. XOR EAX,EAX
  1524. MOV DWORD [_opindex],EAX
  1525. XOR CL,CL
  1526. CALL _blanks
  1527. _2_218:
  1528. XOR EAX,EAX
  1529. MOV DWORD [_opsize],EAX
  1530. _2_220:
  1531. LEA EAX,[EBP+8]
  1532. MOV EBX,EAX
  1533. MOV EAX, [EBX]
  1534. MOV EBX,EAX
  1535. MOVSX EAX,BYTE [EBX]
  1536. MOV EBX,EAX
  1537. MOV EAX,32
  1538. CALL __gt
  1539. OR EAX,EAX
  1540. JNE _2_222
  1541. JMP _2_221
  1542. _2_222:
  1543. LEA EAX,[EBP-4]
  1544. PUSH EAX
  1545. MOV EAX,[_opsize]
  1546. INC EAX
  1547. MOV DWORD [_opsize],EAX
  1548. DEC EAX
  1549. POP EBX
  1550. ADD EAX,EBX
  1551. PUSH EAX
  1552. LEA EAX,[EBP+8]
  1553. MOV EBX,EAX
  1554. MOV EAX, [EBX]
  1555. INC EAX
  1556. MOV [EBX],EAX
  1557. DEC EAX
  1558. MOV EBX,EAX
  1559. MOVSX EAX,BYTE [EBX]
  1560. POP EBX
  1561. MOV [EBX],AL
  1562. JMP _2_220
  1563. _2_221:
  1564. LEA EAX,[EBP-4]
  1565. PUSH EAX
  1566. MOV EAX,[_opsize]
  1567. POP EBX
  1568. ADD EAX,EBX
  1569. MOV EBX,EAX
  1570. XOR EAX,EAX
  1571. MOV [EBX],AL
  1572. MOV EAX,[_lptr]
  1573. PUSH EAX
  1574. LEA EAX,[EBP-4]
  1575. PUSH EAX
  1576. MOV CL,2
  1577. CALL _streq
  1578. ADD ESP,8
  1579. MOV DWORD [_opsize],EAX
  1580. OR EAX,EAX
  1581. JNE _2_224
  1582. JMP _2_223
  1583. _2_224:
  1584. MOV EAX,[_lptr]
  1585. PUSH EAX
  1586. MOV EAX,[_opsize]
  1587. POP EBX
  1588. ADD EAX,EBX
  1589. MOV EBX,EAX
  1590. MOVSX EAX,BYTE [EBX]
  1591. MOV EBX,EAX
  1592. MOV EAX,61
  1593. CALL __ne
  1594. OR EAX,EAX
  1595. JNE _2_228
  1596. JMP _2_226
  1597. _2_228:
  1598. MOV EAX,[_lptr]
  1599. PUSH EAX
  1600. MOV EAX,[_opsize]
  1601. POP EBX
  1602. ADD EAX,EBX
  1603. MOV EBX,EAX
  1604. MOVSX EAX,BYTE [EBX]
  1605. PUSH EAX
  1606. MOV EAX,[_lptr]
  1607. PUSH EAX
  1608. MOV EAX,[_opsize]
  1609. POP EBX
  1610. ADD EAX,EBX
  1611. MOV EBX,EAX
  1612. MOV EAX,1
  1613. XCHG EAX,EBX
  1614. SUB EAX,EBX
  1615. MOV EBX,EAX
  1616. MOVSX EAX,BYTE [EBX]
  1617. POP EBX
  1618. CALL __ne
  1619. OR EAX,EAX
  1620. JNE _2_229
  1621. JMP _2_226
  1622. _2_229:
  1623. MOV EAX,1
  1624. JMP _2_227
  1625. _2_226:
  1626. XOR EAX,EAX
  1627. _2_227:
  1628. OR EAX,EAX
  1629. JNE _2_230
  1630. JMP _2_225
  1631. _2_230:
  1632. MOV EAX,1
  1633. MOV ESP,EBP
  1634. POP EBP
  1635. RET
  1636. _2_225:
  1637. _2_223:
  1638. LEA EAX,[EBP+8]
  1639. MOV EBX,EAX
  1640. MOV EAX, [EBX]
  1641. MOV EBX,EAX
  1642. MOVSX EAX,BYTE [EBX]
  1643. OR EAX,EAX
  1644. JNE _2_232
  1645. JMP _2_231
  1646. _2_232:
  1647. LEA EAX,[EBP+8]
  1648. MOV EBX,EAX
  1649. MOV EAX, [EBX]
  1650. INC EAX
  1651. MOV [EBX],EAX
  1652. MOV EAX,[_opindex]
  1653. INC EAX
  1654. MOV DWORD [_opindex],EAX
  1655. JMP _2_233
  1656. _2_231:
  1657. XOR EAX,EAX
  1658. MOV ESP,EBP
  1659. POP EBP
  1660. RET
  1661. _2_233:
  1662. JMP _2_218
  1663. _2_219:
  1664. MOV ESP,EBP
  1665. POP EBP
  1666. RET
  1667.  
  1668. _blanks:
  1669. PUSH EBP
  1670. MOV EBP,ESP
  1671. _2_235:
  1672. _2_237:
  1673. MOV EAX,[_ch]
  1674. OR EAX,EAX
  1675. JNE _2_239
  1676. JMP _2_238
  1677. _2_239:
  1678. XOR CL,CL
  1679. CALL _white
  1680. OR EAX,EAX
  1681. JNE _2_241
  1682. JMP _2_240
  1683. _2_241:
  1684. XOR CL,CL
  1685. CALL _gch
  1686. JMP _2_242
  1687. _2_240:
  1688. POP EBP
  1689. RET
  1690. _2_242:
  1691. JMP _2_237
  1692. _2_238:
  1693. MOV EAX,[_line]
  1694. PUSH EAX
  1695. MOV EAX,[_mline]
  1696. POP EBX
  1697. CALL __eq
  1698. OR EAX,EAX
  1699. JNE _2_244
  1700. JMP _2_243
  1701. _2_244:
  1702. POP EBP
  1703. RET
  1704. _2_243:
  1705. XOR CL,CL
  1706. CALL _preproce
  1707. MOV EAX,[_eof]
  1708. OR EAX,EAX
  1709. JNE _2_246
  1710. JMP _2_245
  1711. _2_246:
  1712. JMP _2_236
  1713. _2_245:
  1714. JMP _2_235
  1715. _2_236:
  1716. POP EBP
  1717. RET
  1718.  
  1719. _white:
  1720. PUSH EBP
  1721. MOV EBP,ESP
  1722. MOV EAX,[_lptr]
  1723. MOV EBX,EAX
  1724. MOVSX EAX,BYTE [EBX]
  1725. MOV EBX,EAX
  1726. MOV EAX,32
  1727. CALL __le
  1728. OR EAX,EAX
  1729. JNE _2_250
  1730. JMP _2_248
  1731. _2_250:
  1732. MOV EAX,[_lptr]
  1733. MOV EBX,EAX
  1734. MOVSX EAX,BYTE [EBX]
  1735. OR EAX,EAX
  1736. JNE _2_251
  1737. JMP _2_248
  1738. _2_251:
  1739. MOV EAX,1
  1740. JMP _2_249
  1741. _2_248:
  1742. XOR EAX,EAX
  1743. _2_249:
  1744. POP EBP
  1745. RET
  1746.  
  1747. _gch:
  1748. PUSH EBP
  1749. MOV EBP,ESP
  1750. ADD ESP,-4
  1751. LEA EAX,[EBP-4]
  1752. PUSH EAX
  1753. MOV EAX,[_ch]
  1754. POP EBX
  1755. MOV [EBX],EAX
  1756. OR EAX,EAX
  1757. JNE _2_254
  1758. JMP _2_253
  1759. _2_254:
  1760. MOV EAX,1
  1761. PUSH EAX
  1762. MOV CL,1
  1763. CALL _bump
  1764. ADD ESP,4
  1765. _2_253:
  1766. LEA EAX,[EBP-4]
  1767. MOV EBX,EAX
  1768. MOV EAX, [EBX]
  1769. MOV ESP,EBP
  1770. POP EBP
  1771. RET
  1772.  
  1773. _bump:
  1774. PUSH EBP
  1775. MOV EBP,ESP
  1776. LEA EAX,[EBP+8]
  1777. MOV EBX,EAX
  1778. MOV EAX, [EBX]
  1779. OR EAX,EAX
  1780. JNE _2_257
  1781. JMP _2_256
  1782. _2_257:
  1783. MOV EAX,[_lptr]
  1784. PUSH EAX
  1785. LEA EAX,[EBP+8]
  1786. MOV EBX,EAX
  1787. MOV EAX, [EBX]
  1788. POP EBX
  1789. ADD EAX,EBX
  1790. MOV DWORD [_lptr],EAX
  1791. JMP _2_258
  1792. _2_256:
  1793. MOV EAX,[_line]
  1794. MOV DWORD [_lptr],EAX
  1795. _2_258:
  1796. MOV EAX,[_lptr]
  1797. MOV EBX,EAX
  1798. MOVSX EAX,BYTE [EBX]
  1799. MOV DWORD [_nch],EAX
  1800. MOV DWORD [_ch],EAX
  1801. OR EAX,EAX
  1802. JNE _2_260
  1803. JMP _2_259
  1804. _2_260:
  1805. MOV EAX,[_lptr]
  1806. MOV EBX,1
  1807. ADD EAX,EBX
  1808. MOV EBX,EAX
  1809. MOVSX EAX,BYTE [EBX]
  1810. MOV DWORD [_nch],EAX
  1811. _2_259:
  1812. POP EBP
  1813. RET
  1814.  
  1815. _kill:
  1816. PUSH EBP
  1817. MOV EBP,ESP
  1818. MOV EAX,[_line]
  1819. MOV EBX,EAX
  1820. XOR EAX,EAX
  1821. MOV [EBX],AL
  1822. XOR EAX,EAX
  1823. PUSH EAX
  1824. MOV CL,1
  1825. CALL _bump
  1826. ADD ESP,4
  1827. POP EBP
  1828. RET
  1829.  
  1830. _skip:
  1831. PUSH EBP
  1832. MOV EBP,ESP
  1833. XOR CL,CL
  1834. CALL _inbyte
  1835. PUSH EAX
  1836. MOV CL,1
  1837. CALL _an
  1838. ADD ESP,4
  1839. OR EAX,EAX
  1840. JNE _2_264
  1841. JMP _2_263
  1842. _2_264:
  1843. _2_265:
  1844. MOV EAX,[_ch]
  1845. PUSH EAX
  1846. MOV CL,1
  1847. CALL _an
  1848. ADD ESP,4
  1849. OR EAX,EAX
  1850. JNE _2_267
  1851. JMP _2_266
  1852. _2_267:
  1853. XOR CL,CL
  1854. CALL _gch
  1855. JMP _2_265
  1856. _2_266:
  1857. JMP _2_268
  1858. _2_263:
  1859. _2_269:
  1860. MOV EAX,[_ch]
  1861. PUSH EAX
  1862. MOV CL,1
  1863. CALL _an
  1864. ADD ESP,4
  1865. OR EAX,EAX
  1866. JE _2_271
  1867. JMP _2_270
  1868. _2_271:
  1869. MOV EAX,[_ch]
  1870. OR EAX,EAX
  1871. JE _2_273
  1872. JMP _2_272
  1873. _2_273:
  1874. JMP _2_270
  1875. _2_272:
  1876. XOR CL,CL
  1877. CALL _gch
  1878. JMP _2_269
  1879. _2_270:
  1880. _2_268:
  1881. XOR CL,CL
  1882. CALL _blanks
  1883. POP EBP
  1884. RET
  1885.  
  1886. _endst:
  1887. PUSH EBP
  1888. MOV EBP,ESP
  1889. XOR CL,CL
  1890. CALL _blanks
  1891. MOV EAX,[_lptr]
  1892. PUSH EAX
  1893. MOV EAX,_2_274+0
  1894. PUSH EAX
  1895. MOV CL,2
  1896. CALL _streq
  1897. ADD ESP,8
  1898. OR EAX,EAX
  1899. JE _2_277
  1900. JMP _2_275
  1901. _2_277:
  1902. MOV EAX,[_ch]
  1903. MOV EBX,EAX
  1904. XOR EAX,EAX
  1905. CALL __eq
  1906. OR EAX,EAX
  1907. JE _2_278
  1908. JMP _2_275
  1909. _2_278:
  1910. XOR EAX,EAX
  1911. JMP _2_276
  1912. _2_275:
  1913. MOV EAX,1
  1914. _2_276:
  1915. POP EBP
  1916. RET
  1917. _2_274 DB 59,0
  1918.  
  1919. _addsym:
  1920. PUSH EBP
  1921. MOV EBP,ESP
  1922. LEA EAX,[EBP+12]
  1923. MOV EBX,EAX
  1924. MOV EAX, [EBX]
  1925. PUSH EAX
  1926. MOV EAX,_glbptr
  1927. POP EBX
  1928. CALL __eq
  1929. OR EAX,EAX
  1930. JNE _2_281
  1931. JMP _2_280
  1932. _2_281:
  1933. LEA EAX,[EBP+32]
  1934. MOV EBX,EAX
  1935. MOV EAX, [EBX]
  1936. PUSH EAX
  1937. MOV CL,1
  1938. CALL _findglb
  1939. ADD ESP,4
  1940. MOV DWORD [_cptr2],EAX
  1941. OR EAX,EAX
  1942. JNE _2_283
  1943. JMP _2_282
  1944. _2_283:
  1945. MOV EAX,[_cptr2]
  1946. POP EBP
  1947. RET
  1948. _2_282:
  1949. MOV EAX,[_cptr]
  1950. OR EAX,EAX
  1951. JE _2_285
  1952. JMP _2_284
  1953. _2_285:
  1954. MOV EAX,_2_279+0
  1955. PUSH EAX
  1956. MOV CL,1
  1957. CALL _error
  1958. ADD ESP,4
  1959. XOR EAX,EAX
  1960. POP EBP
  1961. RET
  1962. _2_284:
  1963. JMP _2_286
  1964. _2_280:
  1965. MOV EAX,[_locptr]
  1966. PUSH EAX
  1967. MOV EAX,[_symtab]
  1968. MOV EBX,400
  1969. ADD EAX,EBX
  1970. MOV EBX,EAX
  1971. MOV EAX,20
  1972. XCHG EAX,EBX
  1973. SUB EAX,EBX
  1974. POP EBX
  1975. CALL __ugt
  1976. OR EAX,EAX
  1977. JNE _2_288
  1978. JMP _2_287
  1979. _2_288:
  1980. MOV EAX,_2_279+29
  1981. PUSH EAX
  1982. MOV CL,1
  1983. CALL _error
  1984. ADD ESP,4
  1985. MOV EAX,7
  1986. PUSH EAX
  1987. MOV CL,1
  1988. CALL _OS_exit
  1989. ADD ESP,4
  1990. _2_287:
  1991. LEA EAX,[EBP+12]
  1992. MOV EBX,EAX
  1993. MOV EAX, [EBX]
  1994. MOV EBX,EAX
  1995. MOV EAX, [EBX]
  1996. MOV DWORD [_cptr],EAX
  1997. _2_286:
  1998. MOV EAX,[_cptr]
  1999. PUSH EAX
  2000. LEA EAX,[EBP+28]
  2001. MOV EBX,EAX
  2002. MOVSX EAX,BYTE [EBX]
  2003. POP EBX
  2004. MOV [EBX],AL
  2005. MOV EAX,[_cptr]
  2006. MOV EBX,1
  2007. ADD EAX,EBX
  2008. PUSH EAX
  2009. LEA EAX,[EBP+24]
  2010. MOV EBX,EAX
  2011. MOVSX EAX,BYTE [EBX]
  2012. POP EBX
  2013. MOV [EBX],AL
  2014. MOV EAX,[_cptr]
  2015. MOV EBX,2
  2016. ADD EAX,EBX
  2017. PUSH EAX
  2018. LEA EAX,[EBP+8]
  2019. MOV EBX,EAX
  2020. MOV EAX, [EBX]
  2021. POP EBX
  2022. MOV [EBX],AL
  2023. LEA EAX,[EBP+20]
  2024. MOV EBX,EAX
  2025. MOV EAX, [EBX]
  2026. PUSH EAX
  2027. MOV EAX,[_cptr]
  2028. MOV EBX,3
  2029. ADD EAX,EBX
  2030. PUSH EAX
  2031. MOV EAX,4
  2032. PUSH EAX
  2033. MOV CL,3
  2034. CALL _putint
  2035. ADD ESP,12
  2036. LEA EAX,[EBP+16]
  2037. MOV EBX,EAX
  2038. MOV EAX, [EBX]
  2039. PUSH EAX
  2040. MOV EAX,[_cptr]
  2041. MOV EBX,5
  2042. ADD EAX,EBX
  2043. MOV EBX,2
  2044. ADD EAX,EBX
  2045. PUSH EAX
  2046. MOV EAX,4
  2047. PUSH EAX
  2048. MOV CL,3
  2049. CALL _putint
  2050. ADD ESP,12
  2051. MOV EAX,[_cptr]
  2052. MOV EBX,11
  2053. ADD EAX,EBX
  2054. MOV DWORD [_cptr2],EAX
  2055. MOV DWORD [_cptr3],EAX
  2056. _2_289:
  2057. LEA EAX,[EBP+32]
  2058. MOV EBX,EAX
  2059. MOV EAX, [EBX]
  2060. MOV EBX,EAX
  2061. MOVSX EAX,BYTE [EBX]
  2062. PUSH EAX
  2063. MOV CL,1
  2064. CALL _an
  2065. ADD ESP,4
  2066. OR EAX,EAX
  2067. JNE _2_291
  2068. JMP _2_290
  2069. _2_291:
  2070. MOV EAX,[_cptr2]
  2071. INC EAX
  2072. MOV DWORD [_cptr2],EAX
  2073. DEC EAX
  2074. PUSH EAX
  2075. LEA EAX,[EBP+32]
  2076. MOV EBX,EAX
  2077. MOV EAX, [EBX]
  2078. INC EAX
  2079. MOV [EBX],EAX
  2080. DEC EAX
  2081. MOV EBX,EAX
  2082. MOVSX EAX,BYTE [EBX]
  2083. POP EBX
  2084. MOV [EBX],AL
  2085. JMP _2_289
  2086. _2_290:
  2087. LEA EAX,[EBP+12]
  2088. MOV EBX,EAX
  2089. MOV EAX, [EBX]
  2090. PUSH EAX
  2091. MOV EAX,_locptr
  2092. POP EBX
  2093. CALL __eq
  2094. OR EAX,EAX
  2095. JNE _2_293
  2096. JMP _2_292
  2097. _2_293:
  2098. MOV EAX,[_cptr2]
  2099. PUSH EAX
  2100. MOV EAX,[_cptr2]
  2101. PUSH EAX
  2102. MOV EAX,[_cptr3]
  2103. POP EBX
  2104. XCHG EAX,EBX
  2105. SUB EAX,EBX
  2106. POP EBX
  2107. MOV [EBX],AL
  2108. LEA EAX,[EBP+12]
  2109. MOV EBX,EAX
  2110. MOV EAX, [EBX]
  2111. PUSH EAX
  2112. MOV EAX,[_cptr2]
  2113. INC EAX
  2114. MOV DWORD [_cptr2],EAX
  2115. POP EBX
  2116. MOV [EBX],EAX
  2117. _2_292:
  2118. MOV EAX,[_cptr]
  2119. POP EBP
  2120. RET
  2121. _2_279 DB 103,108,111,98,97,108,32,115,121,109
  2122.  DB 98,111,108,32,116,97,98,108,101,32
  2123.  DB 111,118,101,114,102,108,111,119,0,108
  2124.  DB 111,99,97,108,32,115,121,109,98,111
  2125.  DB 108,32,116,97,98,108,101,32,111,118
  2126.  DB 101,114,102,108,111,119,0
  2127.  
  2128. _search:
  2129. PUSH EBP
  2130. MOV EBP,ESP
  2131. LEA EAX,[EBP+24]
  2132. MOV EBX,EAX
  2133. MOV EAX, [EBX]
  2134. PUSH EAX
  2135. LEA EAX,[EBP+28]
  2136. MOV EBX,EAX
  2137. MOV EAX, [EBX]
  2138. PUSH EAX
  2139. MOV CL,1
  2140. CALL _hash
  2141. ADD ESP,4
  2142. PUSH EAX
  2143. LEA EAX,[EBP+12]
  2144. MOV EBX,EAX
  2145. MOV EAX, [EBX]
  2146. MOV EBX,EAX
  2147. MOV EAX,1
  2148. XCHG EAX,EBX
  2149. SUB EAX,EBX
  2150. POP EBX
  2151. XCHG EAX,EBX
  2152. CDQ
  2153. IDIV EBX
  2154. MOV EAX,EDX
  2155. PUSH EAX
  2156. LEA EAX,[EBP+20]
  2157. MOV EBX,EAX
  2158. MOV EAX, [EBX]
  2159. POP EBX
  2160. IMUL EBX
  2161. POP EBX
  2162. ADD EAX,EBX
  2163. MOV DWORD [_cptr2],EAX
  2164. MOV DWORD [_cptr],EAX
  2165. _2_295:
  2166. MOV EAX,[_cptr]
  2167. MOV EBX,EAX
  2168. MOVSX EAX,BYTE [EBX]
  2169. OR EAX,EAX
  2170. JNE _2_297
  2171. JMP _2_296
  2172. _2_297:
  2173. LEA EAX,[EBP+28]
  2174. MOV EBX,EAX
  2175. MOV EAX, [EBX]
  2176. PUSH EAX
  2177. MOV EAX,[_cptr]
  2178. PUSH EAX
  2179. LEA EAX,[EBP+8]
  2180. MOV EBX,EAX
  2181. MOV EAX, [EBX]
  2182. POP EBX
  2183. ADD EAX,EBX
  2184. PUSH EAX
  2185. MOV EAX,8
  2186. PUSH EAX
  2187. MOV CL,3
  2188. CALL _astreq
  2189. ADD ESP,12
  2190. OR EAX,EAX
  2191. JNE _2_299
  2192. JMP _2_298
  2193. _2_299:
  2194. MOV EAX,1
  2195. POP EBP
  2196. RET
  2197. _2_298:
  2198. MOV EAX,[_cptr]
  2199. PUSH EAX
  2200. LEA EAX,[EBP+20]
  2201. MOV EBX,EAX
  2202. MOV EAX, [EBX]
  2203. POP EBX
  2204. ADD EAX,EBX
  2205. MOV DWORD [_cptr],EAX
  2206. PUSH EAX
  2207. LEA EAX,[EBP+16]
  2208. MOV EBX,EAX
  2209. MOV EAX, [EBX]
  2210. POP EBX
  2211. CALL __uge
  2212. OR EAX,EAX
  2213. JNE _2_301
  2214. JMP _2_300
  2215. _2_301:
  2216. LEA EAX,[EBP+24]
  2217. MOV EBX,EAX
  2218. MOV EAX, [EBX]
  2219. MOV DWORD [_cptr],EAX
  2220. _2_300:
  2221. MOV EAX,[_cptr]
  2222. PUSH EAX
  2223. MOV EAX,[_cptr2]
  2224. POP EBX
  2225. CALL __eq
  2226. OR EAX,EAX
  2227. JNE _2_303
  2228. JMP _2_302
  2229. _2_303:
  2230. XOR EAX,EAX
  2231. MOV DWORD [_cptr],EAX
  2232. POP EBP
  2233. RET
  2234. _2_302:
  2235. JMP _2_295
  2236. _2_296:
  2237. XOR EAX,EAX
  2238. POP EBP
  2239. RET
  2240.  
  2241. _hash:
  2242. PUSH EBP
  2243. MOV EBP,ESP
  2244. ADD ESP,-8
  2245. LEA EAX,[EBP-4]
  2246. MOV EBX,EAX
  2247. XOR EAX,EAX
  2248. MOV [EBX],EAX
  2249. _2_305:
  2250. LEA EAX,[EBP-8]
  2251. PUSH EAX
  2252. LEA EAX,[EBP+8]
  2253. MOV EBX,EAX
  2254. MOV EAX, [EBX]
  2255. INC EAX
  2256. MOV [EBX],EAX
  2257. DEC EAX
  2258. MOV EBX,EAX
  2259. MOVSX EAX,BYTE [EBX]
  2260. POP EBX
  2261. MOV [EBX],EAX
  2262. OR EAX,EAX
  2263. JNE _2_307
  2264. JMP _2_306
  2265. _2_307:
  2266. LEA EAX,[EBP-4]
  2267. PUSH EAX
  2268. LEA EAX,[EBP-4]
  2269. MOV EBX,EAX
  2270. MOV EAX, [EBX]
  2271. MOV EBX,EAX
  2272. MOV EAX,1
  2273. MOV ECX,EAX
  2274. MOV EAX,EBX
  2275. SAL EAX,CL
  2276. PUSH EAX
  2277. LEA EAX,[EBP-8]
  2278. MOV EBX,EAX
  2279. MOV EAX, [EBX]
  2280. POP EBX
  2281. ADD EAX,EBX
  2282. POP EBX
  2283. MOV [EBX],EAX
  2284. JMP _2_305
  2285. _2_306:
  2286. LEA EAX,[EBP-4]
  2287. MOV EBX,EAX
  2288. MOV EAX, [EBX]
  2289. MOV ESP,EBP
  2290. POP EBP
  2291. RET
  2292.  
  2293. _findglb:
  2294. PUSH EBP
  2295. MOV EBP,ESP
  2296. LEA EAX,[EBP+8]
  2297. MOV EBX,EAX
  2298. MOV EAX, [EBX]
  2299. PUSH EAX
  2300. MOV EAX,[_symtab]
  2301. MOV EBX,400
  2302. ADD EAX,EBX
  2303. PUSH EAX
  2304. MOV EAX,20
  2305. PUSH EAX
  2306. MOV EAX,[_symtab]
  2307. MOV EBX,400
  2308. ADD EAX,EBX
  2309. MOV EBX,3980
  2310. ADD EAX,EBX
  2311. PUSH EAX
  2312. MOV EAX,200
  2313. PUSH EAX
  2314. MOV EAX,11
  2315. PUSH EAX
  2316. MOV CL,6
  2317. CALL _search
  2318. ADD ESP,24
  2319. OR EAX,EAX
  2320. JNE _2_310
  2321. JMP _2_309
  2322. _2_310:
  2323. MOV EAX,[_cptr]
  2324. POP EBP
  2325. RET
  2326. _2_309:
  2327. XOR EAX,EAX
  2328. POP EBP
  2329. RET
  2330.  
  2331. _findloc:
  2332. PUSH EBP
  2333. MOV EBP,ESP
  2334. MOV EAX,[_locptr]
  2335. MOV EBX,EAX
  2336. MOV EAX,1
  2337. XCHG EAX,EBX
  2338. SUB EAX,EBX
  2339. MOV DWORD [_cptr],EAX
  2340. _2_312:
  2341. MOV EAX,[_cptr]
  2342. PUSH EAX
  2343. MOV EAX,[_symtab]
  2344. POP EBX
  2345. CALL __ugt
  2346. OR EAX,EAX
  2347. JNE _2_314
  2348. JMP _2_313
  2349. _2_314:
  2350. MOV EAX,[_cptr]
  2351. PUSH EAX
  2352. MOV EAX,[_cptr]
  2353. MOV EBX,EAX
  2354. MOVSX EAX,BYTE [EBX]
  2355. POP EBX
  2356. XCHG EAX,EBX
  2357. SUB EAX,EBX
  2358. MOV DWORD [_cptr],EAX
  2359. LEA EAX,[EBP+8]
  2360. MOV EBX,EAX
  2361. MOV EAX, [EBX]
  2362. PUSH EAX
  2363. MOV EAX,[_cptr]
  2364. PUSH EAX
  2365. MOV EAX,8
  2366. PUSH EAX
  2367. MOV CL,3
  2368. CALL _astreq
  2369. ADD ESP,12
  2370. OR EAX,EAX
  2371. JNE _2_316
  2372. JMP _2_315
  2373. _2_316:
  2374. MOV EAX,[_cptr]
  2375. MOV EBX,EAX
  2376. MOV EAX,11
  2377. XCHG EAX,EBX
  2378. SUB EAX,EBX
  2379. POP EBP
  2380. RET
  2381. _2_315:
  2382. MOV EAX,[_cptr]
  2383. MOV EBX,EAX
  2384. MOV EAX,11
  2385. XCHG EAX,EBX
  2386. SUB EAX,EBX
  2387. MOV EBX,EAX
  2388. MOV EAX,1
  2389. XCHG EAX,EBX
  2390. SUB EAX,EBX
  2391. MOV DWORD [_cptr],EAX
  2392. JMP _2_312
  2393. _2_313:
  2394. XOR EAX,EAX
  2395. POP EBP
  2396. RET
  2397.  
  2398. _nextsym:
  2399. PUSH EBP
  2400. MOV EBP,ESP
  2401. LEA EAX,[EBP+8]
  2402. PUSH EAX
  2403. LEA EAX,[EBP+8]
  2404. MOV EBX,EAX
  2405. MOV EAX, [EBX]
  2406. MOV EBX,11
  2407. ADD EAX,EBX
  2408. POP EBX
  2409. MOV [EBX],EAX
  2410. _2_318:
  2411. LEA EAX,[EBP+8]
  2412. MOV EBX,EAX
  2413. MOV EAX, [EBX]
  2414. INC EAX
  2415. MOV [EBX],EAX
  2416. DEC EAX
  2417. MOV EBX,EAX
  2418. MOVSX EAX,BYTE [EBX]
  2419. MOV EBX,EAX
  2420. MOV EAX,32
  2421. CALL __ge
  2422. OR EAX,EAX
  2423. JNE _2_320
  2424. JMP _2_319
  2425. _2_320:
  2426. JMP _2_318
  2427. _2_319:
  2428. LEA EAX,[EBP+8]
  2429. MOV EBX,EAX
  2430. MOV EAX, [EBX]
  2431. POP EBP
  2432. RET
  2433.  
  2434. _addwhile:
  2435. PUSH EBP
  2436. MOV EBP,ESP
  2437. ADD ESP,-4
  2438. LEA EAX,[EBP+8]
  2439. MOV EBX,EAX
  2440. MOV EAX, [EBX]
  2441. PUSH EAX
  2442. MOV EAX,[_csp]
  2443. POP EBX
  2444. MOV [EBX],EAX
  2445. LEA EAX,[EBP+8]
  2446. MOV EBX,EAX
  2447. MOV EAX, [EBX]
  2448. MOV EBX,4
  2449. ADD EAX,EBX
  2450. PUSH EAX
  2451. XOR CL,CL
  2452. CALL _getlabel
  2453. POP EBX
  2454. MOV [EBX],EAX
  2455. LEA EAX,[EBP+8]
  2456. MOV EBX,EAX
  2457. MOV EAX, [EBX]
  2458. MOV EBX,8
  2459. ADD EAX,EBX
  2460. PUSH EAX
  2461. XOR CL,CL
  2462. CALL _getlabel
  2463. POP EBX
  2464. MOV [EBX],EAX
  2465. MOV EAX,[_wqptr]
  2466. PUSH EAX
  2467. MOV EAX,[_wq]
  2468. MOV EBX,120
  2469. ADD EAX,EBX
  2470. MOV EBX,EAX
  2471. MOV EAX,12
  2472. XCHG EAX,EBX
  2473. SUB EAX,EBX
  2474. POP EBX
  2475. CALL __eq
  2476. OR EAX,EAX
  2477. JNE _2_323
  2478. JMP _2_322
  2479. _2_323:
  2480. MOV EAX,_2_321+0
  2481. PUSH EAX
  2482. MOV CL,1
  2483. CALL _error
  2484. ADD ESP,4
  2485. MOV EAX,7
  2486. PUSH EAX
  2487. MOV CL,1
  2488. CALL _OS_exit
  2489. ADD ESP,4
  2490. _2_322:
  2491. LEA EAX,[EBP-4]
  2492. MOV EBX,EAX
  2493. XOR EAX,EAX
  2494. MOV [EBX],EAX
  2495. _2_324:
  2496. LEA EAX,[EBP-4]
  2497. MOV EBX,EAX
  2498. MOV EAX, [EBX]
  2499. MOV EBX,EAX
  2500. MOV EAX,3
  2501. CALL __lt
  2502. OR EAX,EAX
  2503. JNE _2_326
  2504. JMP _2_325
  2505. _2_326:
  2506. MOV EAX,[_wqptr]
  2507. INC EAX
  2508. INC EAX
  2509. INC EAX
  2510. INC EAX
  2511. MOV DWORD [_wqptr],EAX
  2512. DEC EAX
  2513. DEC EAX
  2514. DEC EAX
  2515. DEC EAX
  2516. PUSH EAX
  2517. LEA EAX,[EBP+8]
  2518. MOV EBX,EAX
  2519. MOV EAX, [EBX]
  2520. PUSH EAX
  2521. LEA EAX,[EBP-4]
  2522. MOV EBX,EAX
  2523. MOV EAX, [EBX]
  2524. INC EAX
  2525. MOV [EBX],EAX
  2526. DEC EAX
  2527. POP EBX
  2528. SHL EAX,1
  2529. SHL EAX,1
  2530. ADD EAX,EBX
  2531. MOV EBX,EAX
  2532. MOV EAX, [EBX]
  2533. POP EBX
  2534. MOV [EBX],EAX
  2535. JMP _2_324
  2536. _2_325:
  2537. MOV ESP,EBP
  2538. POP EBP
  2539. RET
  2540. _2_321 DB 99,111,110,116,114,111,108,32,115,116
  2541.  DB 97,116,101,109,101,110,116,32,110,101
  2542.  DB 115,116,105,110,103,32,108,105,109,105
  2543.  DB 116,0
  2544.  
  2545. _readwhil:
  2546. PUSH EBP
  2547. MOV EBP,ESP
  2548. LEA EAX,[EBP+8]
  2549. MOV EBX,EAX
  2550. MOV EAX, [EBX]
  2551. PUSH EAX
  2552. MOV EAX,[_wq]
  2553. POP EBX
  2554. CALL __ule
  2555. OR EAX,EAX
  2556. JNE _2_329
  2557. JMP _2_328
  2558. _2_329:
  2559. MOV EAX,_2_327+0
  2560. PUSH EAX
  2561. MOV CL,1
  2562. CALL _error
  2563. ADD ESP,4
  2564. XOR EAX,EAX
  2565. POP EBP
  2566. RET
  2567. _2_328:
  2568. LEA EAX,[EBP+8]
  2569. MOV EBX,EAX
  2570. MOV EAX, [EBX]
  2571. MOV EBX,EAX
  2572. MOV EAX,12
  2573. XCHG EAX,EBX
  2574. SUB EAX,EBX
  2575. POP EBP
  2576. RET
  2577. _2_330:
  2578. POP EBP
  2579. RET
  2580. _2_327 DB 111,117,116,32,111,102,32,99,111,110
  2581.  DB 116,101,120,116,0
  2582.  
  2583. _delwhile:
  2584. PUSH EBP
  2585. MOV EBP,ESP
  2586. MOV EAX,[_wqptr]
  2587. PUSH EAX
  2588. MOV EAX,[_wq]
  2589. POP EBX
  2590. CALL __ugt
  2591. OR EAX,EAX
  2592. JNE _2_333
  2593. JMP _2_332
  2594. _2_333:
  2595. MOV EAX,[_wqptr]
  2596. MOV EBX,EAX
  2597. MOV EAX,12
  2598. XCHG EAX,EBX
  2599. SUB EAX,EBX
  2600. MOV DWORD [_wqptr],EAX
  2601. _2_332:
  2602. POP EBP
  2603. RET
  2604.  
  2605. _alpha:
  2606. PUSH EBP
  2607. MOV EBP,ESP
  2608. LEA EAX,[EBP+8]
  2609. MOV EBX,EAX
  2610. MOVSX EAX,BYTE [EBX]
  2611. PUSH EAX
  2612. MOV CL,1
  2613. CALL _isalpha
  2614. ADD ESP,4
  2615. OR EAX,EAX
  2616. JE _2_337
  2617. JMP _2_335
  2618. _2_337:
  2619. LEA EAX,[EBP+8]
  2620. MOV EBX,EAX
  2621. MOVSX EAX,BYTE [EBX]
  2622. MOV EBX,EAX
  2623. MOV EAX,95
  2624. CALL __eq
  2625. OR EAX,EAX
  2626. JE _2_338
  2627. JMP _2_335
  2628. _2_338:
  2629. XOR EAX,EAX
  2630. JMP _2_336
  2631. _2_335:
  2632. MOV EAX,1
  2633. _2_336:
  2634. POP EBP
  2635. RET
  2636.  
  2637. _an:
  2638. PUSH EBP
  2639. MOV EBP,ESP
  2640. LEA EAX,[EBP+8]
  2641. MOV EBX,EAX
  2642. MOVSX EAX,BYTE [EBX]
  2643. PUSH EAX
  2644. MOV CL,1
  2645. CALL _alpha
  2646. ADD ESP,4
  2647. OR EAX,EAX
  2648. JE _2_342
  2649. JMP _2_340
  2650. _2_342:
  2651. LEA EAX,[EBP+8]
  2652. MOV EBX,EAX
  2653. MOVSX EAX,BYTE [EBX]
  2654. PUSH EAX
  2655. MOV CL,1
  2656. CALL _isdigit
  2657. ADD ESP,4
  2658. OR EAX,EAX
  2659. JE _2_343
  2660. JMP _2_340
  2661. _2_343:
  2662. XOR EAX,EAX
  2663. JMP _2_341
  2664. _2_340:
  2665. MOV EAX,1
  2666. _2_341:
  2667. POP EBP
  2668. RET
  2669.  
  2670. _getlabel:
  2671. PUSH EBP
  2672. MOV EBP,ESP
  2673. MOV EAX,[_nxtlab]
  2674. INC EAX
  2675. MOV DWORD [_nxtlab],EAX
  2676. POP EBP
  2677. RET
  2678.  
  2679. _getint:
  2680. PUSH EBP
  2681. MOV EBP,ESP
  2682. ADD ESP,-4
  2683. LEA EAX,[EBP-4]
  2684. PUSH EAX
  2685. LEA EAX,[EBP+12]
  2686. MOV EBX,EAX
  2687. MOV EAX, [EBX]
  2688. PUSH EAX
  2689. LEA EAX,[EBP+8]
  2690. MOV EBX,EAX
  2691. MOV EAX, [EBX]
  2692. DEC EAX
  2693. MOV [EBX],EAX
  2694. POP EBX
  2695. ADD EAX,EBX
  2696. MOV EBX,EAX
  2697. MOVSX EAX,BYTE [EBX]
  2698. POP EBX
  2699. MOV [EBX],EAX
  2700. _2_346:
  2701. LEA EAX,[EBP+8]
  2702. MOV EBX,EAX
  2703. MOV EAX, [EBX]
  2704. DEC EAX
  2705. MOV [EBX],EAX
  2706. INC EAX
  2707. OR EAX,EAX
  2708. JNE _2_348
  2709. JMP _2_347
  2710. _2_348:
  2711. LEA EAX,[EBP-4]
  2712. PUSH EAX
  2713. LEA EAX,[EBP-4]
  2714. MOV EBX,EAX
  2715. MOV EAX, [EBX]
  2716. MOV EBX,EAX
  2717. MOV EAX,8
  2718. MOV ECX,EAX
  2719. MOV EAX,EBX
  2720. SAL EAX,CL
  2721. PUSH EAX
  2722. LEA EAX,[EBP+12]
  2723. MOV EBX,EAX
  2724. MOV EAX, [EBX]
  2725. PUSH EAX
  2726. LEA EAX,[EBP+8]
  2727. MOV EBX,EAX
  2728. MOV EAX, [EBX]
  2729. POP EBX
  2730. ADD EAX,EBX
  2731. MOV EBX,EAX
  2732. MOVSX EAX,BYTE [EBX]
  2733. MOV EBX,EAX
  2734. MOV EAX,255
  2735. AND EAX,EBX
  2736. POP EBX
  2737. OR EAX,EBX
  2738. POP EBX
  2739. MOV [EBX],EAX
  2740. JMP _2_346
  2741. _2_347:
  2742. LEA EAX,[EBP-4]
  2743. MOV EBX,EAX
  2744. MOV EAX, [EBX]
  2745. MOV ESP,EBP
  2746. POP EBP
  2747. RET
  2748.  
  2749. _putint:
  2750. PUSH EBP
  2751. MOV EBP,ESP
  2752. _2_350:
  2753. LEA EAX,[EBP+8]
  2754. MOV EBX,EAX
  2755. MOV EAX, [EBX]
  2756. DEC EAX
  2757. MOV [EBX],EAX
  2758. INC EAX
  2759. OR EAX,EAX
  2760. JNE _2_352
  2761. JMP _2_351
  2762. _2_352:
  2763. LEA EAX,[EBP+12]
  2764. MOV EBX,EAX
  2765. MOV EAX, [EBX]
  2766. INC EAX
  2767. MOV [EBX],EAX
  2768. DEC EAX
  2769. PUSH EAX
  2770. LEA EAX,[EBP+16]
  2771. MOV EBX,EAX
  2772. MOV EAX, [EBX]
  2773. POP EBX
  2774. MOV [EBX],AL
  2775. LEA EAX,[EBP+16]
  2776. PUSH EAX
  2777. LEA EAX,[EBP+16]
  2778. MOV EBX,EAX
  2779. MOV EAX, [EBX]
  2780. MOV EBX,EAX
  2781. MOV EAX,8
  2782. MOV ECX,EAX
  2783. MOV EAX,EBX
  2784. SAR EAX,CL
  2785. POP EBX
  2786. MOV [EBX],EAX
  2787. JMP _2_350
  2788. _2_351:
  2789. POP EBP
  2790. RET
  2791.  
  2792. _lout:
  2793. PUSH EBP
  2794. MOV EBP,ESP
  2795. LEA EAX,[EBP+12]
  2796. MOV EBX,EAX
  2797. MOV EAX, [EBX]
  2798. PUSH EAX
  2799. LEA EAX,[EBP+8]
  2800. MOV EBX,EAX
  2801. MOV EAX, [EBX]
  2802. PUSH EAX
  2803. MOV CL,2
  2804. CALL _fputs
  2805. ADD ESP,8
  2806. MOV EAX,10
  2807. PUSH EAX
  2808. LEA EAX,[EBP+8]
  2809. MOV EBX,EAX
  2810. MOV EAX, [EBX]
  2811. PUSH EAX
  2812. MOV CL,2
  2813. CALL _OS_fputc
  2814. ADD ESP,8
  2815. POP EBP
  2816. RET
  2817.  
  2818. _illname:
  2819. PUSH EBP
  2820. MOV EBP,ESP
  2821. MOV EAX,_2_354+0
  2822. PUSH EAX
  2823. MOV CL,1
  2824. CALL _error
  2825. ADD ESP,4
  2826. XOR CL,CL
  2827. CALL _skip
  2828. POP EBP
  2829. RET
  2830. _2_354 DB 105,108,108,101,103,97,108,32,115,121
  2831.  DB 109,98,111,108,0
  2832.  
  2833. _multidef:
  2834. PUSH EBP
  2835. MOV EBP,ESP
  2836. MOV EAX,_2_355+0
  2837. PUSH EAX
  2838. MOV CL,1
  2839. CALL _error
  2840. ADD ESP,4
  2841. POP EBP
  2842. RET
  2843. _2_355 DB 97,108,114,101,97,100,121,32,100,101
  2844.  DB 102,105,110,101,100,0
  2845.  
  2846. _needlval:
  2847. PUSH EBP
  2848. MOV EBP,ESP
  2849. MOV EAX,_2_356+0
  2850. PUSH EAX
  2851. MOV CL,1
  2852. CALL _error
  2853. ADD ESP,4
  2854. POP EBP
  2855. RET
  2856. _2_356 DB 109,117,115,116,32,98,101,32,108,118
  2857.  DB 97,108,117,101,0
  2858.  
  2859. _noiferr:
  2860. PUSH EBP
  2861. MOV EBP,ESP
  2862. MOV EAX,_2_357+0
  2863. PUSH EAX
  2864. MOV CL,1
  2865. CALL _error
  2866. ADD ESP,4
  2867. XOR EAX,EAX
  2868. MOV DWORD [_errflag],EAX
  2869. POP EBP
  2870. RET
  2871. _2_357 DB 110,111,32,109,97,116,99,104,105,110
  2872.  DB 103,32,35,105,102,46,46,46,0
  2873.  
  2874. _error:
  2875. PUSH EBP
  2876. MOV EBP,ESP
  2877. MOV EAX,[_errflag]
  2878. OR EAX,EAX
  2879. JNE _2_360
  2880. JMP _2_359
  2881. _2_360:
  2882. POP EBP
  2883. RET
  2884. _2_359:
  2885. MOV EAX,1
  2886. MOV DWORD [_errflag],EAX
  2887. _2_361:
  2888. MOV EAX,[_line]
  2889. PUSH EAX
  2890. MOV EAX,__iob
  2891. MOV EBX,64
  2892. ADD EAX,EBX
  2893. PUSH EAX
  2894. MOV CL,2
  2895. CALL _lout
  2896. ADD ESP,8
  2897. LEA EAX,[EBP+8]
  2898. MOV EBX,EAX
  2899. MOV EAX, [EBX]
  2900. PUSH EAX
  2901. MOV EAX,__iob
  2902. MOV EBX,64
  2903. ADD EAX,EBX
  2904. PUSH EAX
  2905. MOV CL,2
  2906. CALL _errout
  2907. ADD ESP,8
  2908. MOVSX EAX,BYTE [_alarm]
  2909. OR EAX,EAX
  2910. JNE _2_363
  2911. JMP _2_362
  2912. _2_363:
  2913. MOV EAX,7
  2914. PUSH EAX
  2915. MOV EAX,__iob
  2916. MOV EBX,64
  2917. ADD EAX,EBX
  2918. PUSH EAX
  2919. MOV CL,2
  2920. CALL _OS_fputc
  2921. ADD ESP,8
  2922. _2_362:
  2923. MOVSX EAX,BYTE [_pause]
  2924. OR EAX,EAX
  2925. JNE _2_365
  2926. JMP _2_364
  2927. _2_365:
  2928. _2_366:
  2929. MOV EAX,__iob
  2930. MOV EBX,64
  2931. ADD EAX,EBX
  2932. PUSH EAX
  2933. MOV CL,1
  2934. CALL _OS_fgetc
  2935. ADD ESP,4
  2936. MOV EBX,EAX
  2937. MOV EAX,10
  2938. CALL __ne
  2939. OR EAX,EAX
  2940. JNE _2_368
  2941. JMP _2_367
  2942. _2_368:
  2943. JMP _2_366
  2944. _2_367:
  2945. _2_364:
  2946. MOV EAX,[_listfp]
  2947. OR EAX,EAX
  2948. JG _2_370
  2949. JMP _2_369
  2950. _2_370:
  2951. LEA EAX,[EBP+8]
  2952. MOV EBX,EAX
  2953. MOV EAX, [EBX]
  2954. PUSH EAX
  2955. MOV EAX,[_listfp]
  2956. PUSH EAX
  2957. MOV CL,2
  2958. CALL _errout
  2959. ADD ESP,8
  2960. _2_369:
  2961. POP EBP
  2962. RET
  2963.  
  2964. _errout:
  2965. PUSH EBP
  2966. MOV EBP,ESP
  2967. ADD ESP,-4
  2968. LEA EAX,[EBP-4]
  2969. PUSH EAX
  2970. MOV EAX,[_line]
  2971. MOV EBX,2
  2972. ADD EAX,EBX
  2973. POP EBX
  2974. MOV [EBX],EAX
  2975. _2_372:
  2976. LEA EAX,[EBP-4]
  2977. MOV EBX,EAX
  2978. MOV EAX, [EBX]
  2979. INC EAX
  2980. MOV [EBX],EAX
  2981. DEC EAX
  2982. PUSH EAX
  2983. MOV EAX,[_lptr]
  2984. POP EBX
  2985. CALL __ule
  2986. OR EAX,EAX
  2987. JNE _2_374
  2988. JMP _2_373
  2989. _2_374:
  2990. MOV EAX,32
  2991. PUSH EAX
  2992. LEA EAX,[EBP+8]
  2993. MOV EBX,EAX
  2994. MOV EAX, [EBX]
  2995. PUSH EAX
  2996. MOV CL,2
  2997. CALL _OS_fputc
  2998. ADD ESP,8
  2999. JMP _2_372
  3000. _2_373:
  3001. MOV EAX,_2_371+0
  3002. PUSH EAX
  3003. LEA EAX,[EBP+8]
  3004. MOV EBX,EAX
  3005. MOV EAX, [EBX]
  3006. PUSH EAX
  3007. MOV CL,2
  3008. CALL _lout
  3009. ADD ESP,8
  3010. MOV EAX,_2_371+3
  3011. PUSH EAX
  3012. LEA EAX,[EBP+8]
  3013. MOV EBX,EAX
  3014. MOV EAX, [EBX]
  3015. PUSH EAX
  3016. MOV CL,2
  3017. CALL _fputs
  3018. ADD ESP,8
  3019. LEA EAX,[EBP+12]
  3020. MOV EBX,EAX
  3021. MOV EAX, [EBX]
  3022. PUSH EAX
  3023. LEA EAX,[EBP+8]
  3024. MOV EBX,EAX
  3025. MOV EAX, [EBX]
  3026. PUSH EAX
  3027. MOV CL,2
  3028. CALL _lout
  3029. ADD ESP,8
  3030. MOV ESP,EBP
  3031. POP EBP
  3032. RET
  3033. _2_371 DB 47,92,0,42,42,42,42,32,0
  3034.  
  3035.