Subversion Repositories Kolibri OS

Rev

Blame | Last modification | View Log | Download | RSS feed

  1.  
  2. _puts:
  3. PUSH EBP
  4. MOV EBP,ESP
  5. LEA EAX,[EBP+8]
  6. MOV EBX,EAX
  7. MOV EAX, [EBX]
  8. PUSH EAX
  9. MOV EAX,__iob
  10. MOV EBX,32
  11. ADD EAX,EBX
  12. PUSH EAX
  13. MOV CL,2
  14. CALL _fputs
  15. ADD ESP,8
  16. MOV EAX,10
  17. PUSH EAX
  18. MOV EAX,__iob
  19. MOV EBX,32
  20. ADD EAX,EBX
  21. PUSH EAX
  22. MOV CL,2
  23. CALL _OS_fputc
  24. ADD ESP,8
  25. POP EBP
  26. RET
  27.  
  28. _reverse:
  29. PUSH EBP
  30. MOV EBP,ESP
  31. ADD ESP,-8
  32. LEA EAX,[EBP-4]
  33. PUSH EAX
  34. LEA EAX,[EBP+8]
  35. MOV EBX,EAX
  36. MOV EAX, [EBX]
  37. PUSH EAX
  38. LEA EAX,[EBP+8]
  39. MOV EBX,EAX
  40. MOV EAX, [EBX]
  41. PUSH EAX
  42. MOV CL,1
  43. CALL _strlen
  44. ADD ESP,4
  45. POP EBX
  46. ADD EAX,EBX
  47. MOV EBX,EAX
  48. MOV EAX,1
  49. XCHG EAX,EBX
  50. SUB EAX,EBX
  51. POP EBX
  52. MOV [EBX],EAX
  53. _lib_3:
  54. LEA EAX,[EBP+8]
  55. MOV EBX,EAX
  56. MOV EAX, [EBX]
  57. PUSH EAX
  58. LEA EAX,[EBP-4]
  59. MOV EBX,EAX
  60. MOV EAX, [EBX]
  61. POP EBX
  62. CALL __ult
  63. OR EAX,EAX
  64. JNE _lib_5
  65. JMP _lib_4
  66. _lib_5:
  67. LEA EAX,[EBP-8]
  68. PUSH EAX
  69. LEA EAX,[EBP+8]
  70. MOV EBX,EAX
  71. MOV EAX, [EBX]
  72. MOV EBX,EAX
  73. MOVSX EAX,BYTE [EBX]
  74. POP EBX
  75. MOV [EBX],EAX
  76. LEA EAX,[EBP+8]
  77. MOV EBX,EAX
  78. MOV EAX, [EBX]
  79. INC EAX
  80. MOV [EBX],EAX
  81. DEC EAX
  82. PUSH EAX
  83. LEA EAX,[EBP-4]
  84. MOV EBX,EAX
  85. MOV EAX, [EBX]
  86. MOV EBX,EAX
  87. MOVSX EAX,BYTE [EBX]
  88. POP EBX
  89. MOV [EBX],AL
  90. LEA EAX,[EBP-4]
  91. MOV EBX,EAX
  92. MOV EAX, [EBX]
  93. DEC EAX
  94. MOV [EBX],EAX
  95. INC EAX
  96. PUSH EAX
  97. LEA EAX,[EBP-8]
  98. MOV EBX,EAX
  99. MOV EAX, [EBX]
  100. POP EBX
  101. MOV [EBX],AL
  102. JMP _lib_3
  103. _lib_4:
  104. MOV ESP,EBP
  105. POP EBP
  106. RET
  107.  
  108. _strcpy:
  109. PUSH EBP
  110. MOV EBP,ESP
  111. ADD ESP,-4
  112. LEA EAX,[EBP-4]
  113. PUSH EAX
  114. LEA EAX,[EBP+12]
  115. MOV EBX,EAX
  116. MOV EAX, [EBX]
  117. POP EBX
  118. MOV [EBX],EAX
  119. _lib_7:
  120. LEA EAX,[EBP+12]
  121. MOV EBX,EAX
  122. MOV EAX, [EBX]
  123. INC EAX
  124. MOV [EBX],EAX
  125. DEC EAX
  126. PUSH EAX
  127. LEA EAX,[EBP+8]
  128. MOV EBX,EAX
  129. MOV EAX, [EBX]
  130. INC EAX
  131. MOV [EBX],EAX
  132. DEC EAX
  133. MOV EBX,EAX
  134. MOVSX EAX,BYTE [EBX]
  135. POP EBX
  136. MOV [EBX],AL
  137. OR EAX,EAX
  138. JNE _lib_9
  139. JMP _lib_8
  140. _lib_9:
  141. JMP _lib_7
  142. _lib_8:
  143. LEA EAX,[EBP-4]
  144. MOV EBX,EAX
  145. MOV EAX, [EBX]
  146. MOV ESP,EBP
  147. POP EBP
  148. RET
  149.  
  150. _strlen:
  151. PUSH EBP
  152. MOV EBP,ESP
  153. ADD ESP,-4
  154. LEA EAX,[EBP-4]
  155. PUSH EAX
  156. LEA EAX,[EBP+8]
  157. MOV EBX,EAX
  158. MOV EAX, [EBX]
  159. POP EBX
  160. MOV [EBX],EAX
  161. _lib_11:
  162. LEA EAX,[EBP-4]
  163. MOV EBX,EAX
  164. MOV EAX, [EBX]
  165. MOV EBX,EAX
  166. MOVSX EAX,BYTE [EBX]
  167. OR EAX,EAX
  168. JNE _lib_13
  169. JMP _lib_12
  170. _lib_13:
  171. LEA EAX,[EBP-4]
  172. MOV EBX,EAX
  173. MOV EAX, [EBX]
  174. INC EAX
  175. MOV [EBX],EAX
  176. JMP _lib_11
  177. _lib_12:
  178. LEA EAX,[EBP-4]
  179. MOV EBX,EAX
  180. MOV EAX, [EBX]
  181. PUSH EAX
  182. LEA EAX,[EBP+8]
  183. MOV EBX,EAX
  184. MOV EAX, [EBX]
  185. POP EBX
  186. XCHG EAX,EBX
  187. SUB EAX,EBX
  188. MOV ESP,EBP
  189. POP EBP
  190. RET
  191.  
  192. _toupper:
  193. PUSH EBP
  194. MOV EBP,ESP
  195. LEA EAX,[EBP+8]
  196. MOV EBX,EAX
  197. MOV EAX, [EBX]
  198. MOV EBX,EAX
  199. MOV EAX,122
  200. CALL __le
  201. OR EAX,EAX
  202. JNE _lib_18
  203. JMP _lib_16
  204. _lib_18:
  205. LEA EAX,[EBP+8]
  206. MOV EBX,EAX
  207. MOV EAX, [EBX]
  208. MOV EBX,EAX
  209. MOV EAX,97
  210. CALL __ge
  211. OR EAX,EAX
  212. JNE _lib_19
  213. JMP _lib_16
  214. _lib_19:
  215. MOV EAX,1
  216. JMP _lib_17
  217. _lib_16:
  218. XOR EAX,EAX
  219. _lib_17:
  220. OR EAX,EAX
  221. JNE _lib_20
  222. JMP _lib_15
  223. _lib_20:
  224. LEA EAX,[EBP+8]
  225. MOV EBX,EAX
  226. MOV EAX, [EBX]
  227. MOV EBX,EAX
  228. MOV EAX,32
  229. XCHG EAX,EBX
  230. SUB EAX,EBX
  231. POP EBP
  232. RET
  233. _lib_15:
  234. LEA EAX,[EBP+8]
  235. MOV EBX,EAX
  236. MOV EAX, [EBX]
  237. POP EBP
  238. RET
  239.  
  240. _atoi:
  241. PUSH EBP
  242. MOV EBP,ESP
  243. ADD ESP,-8
  244. _lib_22:
  245. LEA EAX,[EBP+8]
  246. MOV EBX,EAX
  247. MOV EAX, [EBX]
  248. MOV EBX,EAX
  249. MOVSX EAX,BYTE [EBX]
  250. PUSH EAX
  251. MOV CL,1
  252. CALL _isspace
  253. ADD ESP,4
  254. OR EAX,EAX
  255. JNE _lib_24
  256. JMP _lib_23
  257. _lib_24:
  258. LEA EAX,[EBP+8]
  259. MOV EBX,EAX
  260. MOV EAX, [EBX]
  261. INC EAX
  262. MOV [EBX],EAX
  263. JMP _lib_22
  264. _lib_23:
  265. LEA EAX,[EBP-4]
  266. MOV EBX,EAX
  267. MOV EAX,1
  268. MOV [EBX],EAX
  269. LEA EAX,[EBP+8]
  270. MOV EBX,EAX
  271. MOV EAX, [EBX]
  272. MOV EBX,EAX
  273. MOVSX EAX,BYTE [EBX]
  274. JMP _lib_27
  275. _lib_28:
  276. LEA EAX,[EBP-4]
  277. MOV EBX,EAX
  278. MOV EAX,-1
  279. MOV [EBX],EAX
  280. _lib_29:
  281. LEA EAX,[EBP+8]
  282. MOV EBX,EAX
  283. MOV EAX, [EBX]
  284. INC EAX
  285. MOV [EBX],EAX
  286. JMP _lib_26
  287. _lib_27:
  288. CALL __switch
  289.  DD _lib_28
  290.  DD 45
  291.  DD _lib_29
  292.  DD 43
  293.  DD 0
  294. _lib_26:
  295. LEA EAX,[EBP-8]
  296. MOV EBX,EAX
  297. XOR EAX,EAX
  298. MOV [EBX],EAX
  299. _lib_30:
  300. LEA EAX,[EBP+8]
  301. MOV EBX,EAX
  302. MOV EAX, [EBX]
  303. MOV EBX,EAX
  304. MOVSX EAX,BYTE [EBX]
  305. PUSH EAX
  306. MOV CL,1
  307. CALL _isdigit
  308. ADD ESP,4
  309. OR EAX,EAX
  310. JNE _lib_32
  311. JMP _lib_31
  312. _lib_32:
  313. LEA EAX,[EBP-8]
  314. PUSH EAX
  315. LEA EAX,[EBP-8]
  316. MOV EBX,EAX
  317. MOV EAX, [EBX]
  318. MOV EBX,10
  319. IMUL EBX
  320. PUSH EAX
  321. LEA EAX,[EBP+8]
  322. MOV EBX,EAX
  323. MOV EAX, [EBX]
  324. INC EAX
  325. MOV [EBX],EAX
  326. DEC EAX
  327. MOV EBX,EAX
  328. MOVSX EAX,BYTE [EBX]
  329. POP EBX
  330. ADD EAX,EBX
  331. MOV EBX,EAX
  332. MOV EAX,48
  333. XCHG EAX,EBX
  334. SUB EAX,EBX
  335. POP EBX
  336. MOV [EBX],EAX
  337. JMP _lib_30
  338. _lib_31:
  339. LEA EAX,[EBP-4]
  340. MOV EBX,EAX
  341. MOV EAX, [EBX]
  342. PUSH EAX
  343. LEA EAX,[EBP-8]
  344. MOV EBX,EAX
  345. MOV EAX, [EBX]
  346. POP EBX
  347. IMUL EBX
  348. MOV ESP,EBP
  349. POP EBP
  350. RET
  351.  
  352. _atoib:
  353. PUSH EBP
  354. MOV EBP,ESP
  355. ADD ESP,-8
  356. LEA EAX,[EBP-4]
  357. MOV EBX,EAX
  358. XOR EAX,EAX
  359. MOV [EBX],EAX
  360. _lib_34:
  361. LEA EAX,[EBP+12]
  362. MOV EBX,EAX
  363. MOV EAX, [EBX]
  364. MOV EBX,EAX
  365. MOVSX EAX,BYTE [EBX]
  366. PUSH EAX
  367. MOV CL,1
  368. CALL _isspace
  369. ADD ESP,4
  370. OR EAX,EAX
  371. JNE _lib_36
  372. JMP _lib_35
  373. _lib_36:
  374. LEA EAX,[EBP+12]
  375. MOV EBX,EAX
  376. MOV EAX, [EBX]
  377. INC EAX
  378. MOV [EBX],EAX
  379. JMP _lib_34
  380. _lib_35:
  381. _lib_37:
  382. LEA EAX,[EBP-8]
  383. PUSH EAX
  384. LEA EAX,[EBP+12]
  385. MOV EBX,EAX
  386. MOV EAX, [EBX]
  387. INC EAX
  388. MOV [EBX],EAX
  389. DEC EAX
  390. MOV EBX,EAX
  391. MOVSX EAX,BYTE [EBX]
  392. MOV EBX,127
  393. AND EAX,EBX
  394. POP EBX
  395. MOV [EBX],EAX
  396. MOV EBX,EAX
  397. MOV EAX,48
  398. CALL __ge
  399. OR EAX,EAX
  400. JNE _lib_39
  401. JMP _lib_38
  402. _lib_39:
  403. LEA EAX,[EBP-8]
  404. MOV EBX,EAX
  405. MOV EAX, [EBX]
  406. MOV EBX,EAX
  407. MOV EAX,97
  408. CALL __ge
  409. OR EAX,EAX
  410. JNE _lib_41
  411. JMP _lib_40
  412. _lib_41:
  413. LEA EAX,[EBP-8]
  414. PUSH EAX
  415. MOV EBX,EAX
  416. MOV EAX, [EBX]
  417. MOV EBX,EAX
  418. MOV EAX,87
  419. XCHG EAX,EBX
  420. SUB EAX,EBX
  421. POP EBX
  422. MOV [EBX],EAX
  423. JMP _lib_42
  424. _lib_40:
  425. LEA EAX,[EBP-8]
  426. MOV EBX,EAX
  427. MOV EAX, [EBX]
  428. MOV EBX,EAX
  429. MOV EAX,65
  430. CALL __ge
  431. OR EAX,EAX
  432. JNE _lib_44
  433. JMP _lib_43
  434. _lib_44:
  435. LEA EAX,[EBP-8]
  436. PUSH EAX
  437. MOV EBX,EAX
  438. MOV EAX, [EBX]
  439. MOV EBX,EAX
  440. MOV EAX,55
  441. XCHG EAX,EBX
  442. SUB EAX,EBX
  443. POP EBX
  444. MOV [EBX],EAX
  445. JMP _lib_45
  446. _lib_43:
  447. LEA EAX,[EBP-8]
  448. PUSH EAX
  449. MOV EBX,EAX
  450. MOV EAX, [EBX]
  451. MOV EBX,EAX
  452. MOV EAX,48
  453. XCHG EAX,EBX
  454. SUB EAX,EBX
  455. POP EBX
  456. MOV [EBX],EAX
  457. _lib_45:
  458. _lib_42:
  459. LEA EAX,[EBP-8]
  460. MOV EBX,EAX
  461. MOV EAX, [EBX]
  462. PUSH EAX
  463. LEA EAX,[EBP+8]
  464. MOV EBX,EAX
  465. MOV EAX, [EBX]
  466. POP EBX
  467. CALL __ge
  468. OR EAX,EAX
  469. JNE _lib_47
  470. JMP _lib_46
  471. _lib_47:
  472. JMP _lib_38
  473. _lib_46:
  474. LEA EAX,[EBP-4]
  475. PUSH EAX
  476. LEA EAX,[EBP+8]
  477. MOV EBX,EAX
  478. MOV EAX, [EBX]
  479. PUSH EAX
  480. LEA EAX,[EBP-4]
  481. MOV EBX,EAX
  482. MOV EAX, [EBX]
  483. POP EBX
  484. IMUL EBX
  485. PUSH EAX
  486. LEA EAX,[EBP-8]
  487. MOV EBX,EAX
  488. MOV EAX, [EBX]
  489. POP EBX
  490. ADD EAX,EBX
  491. POP EBX
  492. MOV [EBX],EAX
  493. JMP _lib_37
  494. _lib_38:
  495. LEA EAX,[EBP-4]
  496. MOV EBX,EAX
  497. MOV EAX, [EBX]
  498. MOV ESP,EBP
  499. POP EBP
  500. RET
  501.  
  502. _fgets:
  503. PUSH EBP
  504. MOV EBP,ESP
  505. LEA EAX,[EBP+16]
  506. MOV EBX,EAX
  507. MOV EAX, [EBX]
  508. PUSH EAX
  509. LEA EAX,[EBP+12]
  510. MOV EBX,EAX
  511. MOV EAX, [EBX]
  512. PUSH EAX
  513. LEA EAX,[EBP+8]
  514. MOV EBX,EAX
  515. MOV EAX, [EBX]
  516. PUSH EAX
  517. MOV EAX,1
  518. PUSH EAX
  519. MOV CL,4
  520. CALL __gets
  521. ADD ESP,16
  522. POP EBP
  523. RET
  524.  
  525. _gets:
  526. PUSH EBP
  527. MOV EBP,ESP
  528. LEA EAX,[EBP+8]
  529. MOV EBX,EAX
  530. MOV EAX, [EBX]
  531. PUSH EAX
  532. MOV EAX,32767
  533. PUSH EAX
  534. MOV EAX,__iob
  535. PUSH EAX
  536. XOR EAX,EAX
  537. PUSH EAX
  538. MOV CL,4
  539. CALL __gets
  540. ADD ESP,16
  541. POP EBP
  542. RET
  543.  
  544. __gets:
  545. PUSH EBP
  546. MOV EBP,ESP
  547. ADD ESP,-8
  548. LEA EAX,[EBP-8]
  549. PUSH EAX
  550. LEA EAX,[EBP+20]
  551. MOV EBX,EAX
  552. MOV EAX, [EBX]
  553. POP EBX
  554. MOV [EBX],EAX
  555. _lib_51:
  556. LEA EAX,[EBP+16]
  557. MOV EBX,EAX
  558. MOV EAX, [EBX]
  559. DEC EAX
  560. MOV [EBX],EAX
  561. OR EAX,EAX
  562. JNE _lib_53
  563. JMP _lib_52
  564. _lib_53:
  565. LEA EAX,[EBP-8]
  566. MOV EBX,EAX
  567. MOV EAX, [EBX]
  568. PUSH EAX
  569. LEA EAX,[EBP+12]
  570. MOV EBX,EAX
  571. MOV EAX, [EBX]
  572. PUSH EAX
  573. MOV CL,1
  574. CALL _OS_fgetc
  575. ADD ESP,4
  576. POP EBX
  577. MOV [EBX],AL
  578. JMP _lib_56
  579. _lib_57:
  580. LEA EAX,[EBP-8]
  581. MOV EBX,EAX
  582. MOV EAX, [EBX]
  583. MOV EBX,EAX
  584. XOR EAX,EAX
  585. MOV [EBX],AL
  586. LEA EAX,[EBP-8]
  587. MOV EBX,EAX
  588. MOV EAX, [EBX]
  589. PUSH EAX
  590. LEA EAX,[EBP+20]
  591. MOV EBX,EAX
  592. MOV EAX, [EBX]
  593. POP EBX
  594. CALL __eq
  595. OR EAX,EAX
  596. JNE _lib_59
  597. JMP _lib_58
  598. _lib_59:
  599. XOR EAX,EAX
  600. MOV ESP,EBP
  601. POP EBP
  602. RET
  603. _lib_58:
  604. LEA EAX,[EBP+20]
  605. MOV EBX,EAX
  606. MOV EAX, [EBX]
  607. MOV ESP,EBP
  608. POP EBP
  609. RET
  610. _lib_60:
  611. LEA EAX,[EBP-8]
  612. MOV EBX,EAX
  613. MOV EAX, [EBX]
  614. PUSH EAX
  615. LEA EAX,[EBP+8]
  616. MOV EBX,EAX
  617. MOV EAX, [EBX]
  618. POP EBX
  619. ADD EAX,EBX
  620. MOV EBX,EAX
  621. XOR EAX,EAX
  622. MOV [EBX],EAX
  623. LEA EAX,[EBP+20]
  624. MOV EBX,EAX
  625. MOV EAX, [EBX]
  626. MOV ESP,EBP
  627. POP EBP
  628. RET
  629. _lib_61:
  630. LEA EAX,[EBP-8]
  631. MOV EBX,EAX
  632. MOV EAX, [EBX]
  633. PUSH EAX
  634. LEA EAX,[EBP+20]
  635. MOV EBX,EAX
  636. MOV EAX, [EBX]
  637. POP EBX
  638. CALL __ugt
  639. OR EAX,EAX
  640. JNE _lib_63
  641. JMP _lib_62
  642. _lib_63:
  643. LEA EAX,[EBP-4]
  644. MOV EBX,EAX
  645. MOV EAX,1
  646. MOV [EBX],EAX
  647. JMP _lib_64
  648. _lib_62:
  649. LEA EAX,[EBP-4]
  650. MOV EBX,EAX
  651. XOR EAX,EAX
  652. MOV [EBX],EAX
  653. _lib_64:
  654. JMP _lib_65
  655. _lib_66:
  656. LEA EAX,[EBP-4]
  657. PUSH EAX
  658. LEA EAX,[EBP-8]
  659. MOV EBX,EAX
  660. MOV EAX, [EBX]
  661. PUSH EAX
  662. LEA EAX,[EBP+20]
  663. MOV EBX,EAX
  664. MOV EAX, [EBX]
  665. POP EBX
  666. XCHG EAX,EBX
  667. SUB EAX,EBX
  668. POP EBX
  669. MOV [EBX],EAX
  670. _lib_65:
  671. JMP _lib_67
  672. LEA EAX,[EBP+16]
  673. MOV EBX,EAX
  674. MOV EAX, [EBX]
  675. INC EAX
  676. MOV [EBX],EAX
  677. _lib_68:
  678. LEA EAX,[EBP-4]
  679. MOV EBX,EAX
  680. MOV EAX, [EBX]
  681. DEC EAX
  682. MOV [EBX],EAX
  683. INC EAX
  684. OR EAX,EAX
  685. JNE _lib_70
  686. JMP _lib_69
  687. _lib_70:
  688. MOV EAX,_lib_50+0
  689. PUSH EAX
  690. MOV EAX,__iob
  691. MOV EBX,64
  692. ADD EAX,EBX
  693. PUSH EAX
  694. MOV CL,2
  695. CALL _fputs
  696. ADD ESP,8
  697. LEA EAX,[EBP-8]
  698. MOV EBX,EAX
  699. MOV EAX, [EBX]
  700. DEC EAX
  701. MOV [EBX],EAX
  702. LEA EAX,[EBP+16]
  703. MOV EBX,EAX
  704. MOV EAX, [EBX]
  705. INC EAX
  706. MOV [EBX],EAX
  707. JMP _lib_68
  708. _lib_69:
  709. JMP _lib_51
  710. _lib_67:
  711. _lib_71:
  712. LEA EAX,[EBP-8]
  713. MOV EBX,EAX
  714. MOV EAX, [EBX]
  715. INC EAX
  716. MOV [EBX],EAX
  717. JMP _lib_55
  718. _lib_56:
  719. CALL __switch
  720.  DD _lib_57
  721.  DD -1
  722.  DD _lib_60
  723.  DD 10
  724.  DD _lib_61
  725.  DD 8
  726.  DD _lib_66
  727.  DD 24
  728.  DD 0
  729. JMP _lib_71
  730. _lib_55:
  731. JMP _lib_51
  732. _lib_52:
  733. LEA EAX,[EBP-8]
  734. MOV EBX,EAX
  735. MOV EAX, [EBX]
  736. MOV EBX,EAX
  737. XOR EAX,EAX
  738. MOV [EBX],AL
  739. LEA EAX,[EBP+20]
  740. MOV EBX,EAX
  741. MOV EAX, [EBX]
  742. MOV ESP,EBP
  743. POP EBP
  744. RET
  745. _lib_50 DB 8,32,8,0
  746.  
  747. _fprintf:
  748. PUSH EBP
  749. MOV EBP,ESP
  750. ADD ESP,-4
  751. LEA EAX,[EBP-4]
  752. PUSH EAX
  753. CALL _CCARGC
  754. PUSH EAX
  755. LEA EAX,[EBP+8]
  756. POP EBX
  757. SHL EBX,1
  758. SHL EBX,1
  759. ADD EAX,EBX
  760. POP EBX
  761. MOV [EBX],EAX
  762. LEA EAX,[EBP-4]
  763. MOV EBX,EAX
  764. MOV EAX, [EBX]
  765. DEC EAX
  766. DEC EAX
  767. DEC EAX
  768. DEC EAX
  769. MOV [EBX],EAX
  770. MOV EBX,EAX
  771. MOV EAX, [EBX]
  772. PUSH EAX
  773. LEA EAX,[EBP-4]
  774. MOV EBX,EAX
  775. MOV EAX, [EBX]
  776. DEC EAX
  777. DEC EAX
  778. DEC EAX
  779. DEC EAX
  780. MOV [EBX],EAX
  781. PUSH EAX
  782. MOV CL,2
  783. CALL __print
  784. ADD ESP,8
  785. MOV ESP,EBP
  786. POP EBP
  787. RET
  788.  
  789. _printf:
  790. PUSH EBP
  791. MOV EBP,ESP
  792. MOV EAX,__iob
  793. MOV EBX,32
  794. ADD EAX,EBX
  795. PUSH EAX
  796. CALL _CCARGC
  797. PUSH EAX
  798. LEA EAX,[EBP+8]
  799. POP EBX
  800. SHL EBX,1
  801. SHL EBX,1
  802. ADD EAX,EBX
  803. MOV EBX,EAX
  804. MOV EAX,4
  805. XCHG EAX,EBX
  806. SUB EAX,EBX
  807. PUSH EAX
  808. MOV CL,2
  809. CALL __print
  810. ADD ESP,8
  811. POP EBP
  812. RET
  813.  
  814. __print:
  815. PUSH EBP
  816. MOV EBP,ESP
  817. ADD ESP,-56
  818. LEA EAX,[EBP-16]
  819. MOV EBX,EAX
  820. XOR EAX,EAX
  821. MOV [EBX],EAX
  822. LEA EAX,[EBP-32]
  823. PUSH EAX
  824. LEA EAX,[EBP+8]
  825. MOV EBX,EAX
  826. MOV EAX, [EBX]
  827. DEC EAX
  828. DEC EAX
  829. DEC EAX
  830. DEC EAX
  831. MOV [EBX],EAX
  832. INC EAX
  833. INC EAX
  834. INC EAX
  835. INC EAX
  836. MOV EBX,EAX
  837. MOV EAX, [EBX]
  838. POP EBX
  839. MOV [EBX],EAX
  840. _lib_75:
  841. LEA EAX,[EBP-32]
  842. MOV EBX,EAX
  843. MOV EAX, [EBX]
  844. MOV EBX,EAX
  845. MOVSX EAX,BYTE [EBX]
  846. OR EAX,EAX
  847. JNE _lib_77
  848. JMP _lib_76
  849. _lib_77:
  850. LEA EAX,[EBP-32]
  851. MOV EBX,EAX
  852. MOV EAX, [EBX]
  853. MOV EBX,EAX
  854. MOVSX EAX,BYTE [EBX]
  855. MOV EBX,EAX
  856. MOV EAX,37
  857. CALL __ne
  858. OR EAX,EAX
  859. JNE _lib_79
  860. JMP _lib_78
  861. _lib_79:
  862. LEA EAX,[EBP-32]
  863. MOV EBX,EAX
  864. MOV EAX, [EBX]
  865. INC EAX
  866. MOV [EBX],EAX
  867. DEC EAX
  868. MOV EBX,EAX
  869. MOVSX EAX,BYTE [EBX]
  870. PUSH EAX
  871. LEA EAX,[EBP+12]
  872. MOV EBX,EAX
  873. MOV EAX, [EBX]
  874. PUSH EAX
  875. MOV CL,2
  876. CALL _OS_fputc
  877. ADD ESP,8
  878. LEA EAX,[EBP-16]
  879. MOV EBX,EAX
  880. MOV EAX, [EBX]
  881. INC EAX
  882. MOV [EBX],EAX
  883. JMP _lib_75
  884. JMP _lib_80
  885. _lib_78:
  886. LEA EAX,[EBP-32]
  887. MOV EBX,EAX
  888. MOV EAX, [EBX]
  889. INC EAX
  890. MOV [EBX],EAX
  891. _lib_80:
  892. LEA EAX,[EBP-32]
  893. MOV EBX,EAX
  894. MOV EAX, [EBX]
  895. MOV EBX,EAX
  896. MOVSX EAX,BYTE [EBX]
  897. MOV EBX,EAX
  898. MOV EAX,37
  899. CALL __eq
  900. OR EAX,EAX
  901. JNE _lib_82
  902. JMP _lib_81
  903. _lib_82:
  904. LEA EAX,[EBP-32]
  905. MOV EBX,EAX
  906. MOV EAX, [EBX]
  907. INC EAX
  908. MOV [EBX],EAX
  909. DEC EAX
  910. MOV EBX,EAX
  911. MOVSX EAX,BYTE [EBX]
  912. PUSH EAX
  913. LEA EAX,[EBP+12]
  914. MOV EBX,EAX
  915. MOV EAX, [EBX]
  916. PUSH EAX
  917. MOV CL,2
  918. CALL _OS_fputc
  919. ADD ESP,8
  920. LEA EAX,[EBP-16]
  921. MOV EBX,EAX
  922. MOV EAX, [EBX]
  923. INC EAX
  924. MOV [EBX],EAX
  925. JMP _lib_75
  926. _lib_81:
  927. LEA EAX,[EBP-32]
  928. MOV EBX,EAX
  929. MOV EAX, [EBX]
  930. MOV EBX,EAX
  931. MOVSX EAX,BYTE [EBX]
  932. MOV EBX,EAX
  933. MOV EAX,45
  934. CALL __eq
  935. OR EAX,EAX
  936. JNE _lib_84
  937. JMP _lib_83
  938. _lib_84:
  939. LEA EAX,[EBP-8]
  940. MOV EBX,EAX
  941. MOV EAX,1
  942. MOV [EBX],EAX
  943. LEA EAX,[EBP-32]
  944. MOV EBX,EAX
  945. MOV EAX, [EBX]
  946. INC EAX
  947. MOV [EBX],EAX
  948. JMP _lib_85
  949. _lib_83:
  950. LEA EAX,[EBP-8]
  951. MOV EBX,EAX
  952. XOR EAX,EAX
  953. MOV [EBX],EAX
  954. _lib_85:
  955. LEA EAX,[EBP-32]
  956. MOV EBX,EAX
  957. MOV EAX, [EBX]
  958. MOV EBX,EAX
  959. MOVSX EAX,BYTE [EBX]
  960. MOV EBX,EAX
  961. MOV EAX,48
  962. CALL __eq
  963. OR EAX,EAX
  964. JNE _lib_87
  965. JMP _lib_86
  966. _lib_87:
  967. LEA EAX,[EBP-12]
  968. MOV EBX,EAX
  969. MOV EAX,48
  970. MOV [EBX],EAX
  971. JMP _lib_88
  972. _lib_86:
  973. LEA EAX,[EBP-12]
  974. MOV EBX,EAX
  975. MOV EAX,32
  976. MOV [EBX],EAX
  977. _lib_88:
  978. LEA EAX,[EBP-32]
  979. MOV EBX,EAX
  980. MOV EAX, [EBX]
  981. MOV EBX,EAX
  982. MOVSX EAX,BYTE [EBX]
  983. PUSH EAX
  984. MOV CL,1
  985. CALL _isdigit
  986. ADD ESP,4
  987. OR EAX,EAX
  988. JNE _lib_90
  989. JMP _lib_89
  990. _lib_90:
  991. LEA EAX,[EBP-28]
  992. PUSH EAX
  993. LEA EAX,[EBP-32]
  994. MOV EBX,EAX
  995. MOV EAX, [EBX]
  996. INC EAX
  997. MOV [EBX],EAX
  998. DEC EAX
  999. PUSH EAX
  1000. MOV CL,1
  1001. CALL _atoi
  1002. ADD ESP,4
  1003. POP EBX
  1004. MOV [EBX],EAX
  1005. _lib_91:
  1006. LEA EAX,[EBP-32]
  1007. MOV EBX,EAX
  1008. MOV EAX, [EBX]
  1009. MOV EBX,EAX
  1010. MOVSX EAX,BYTE [EBX]
  1011. PUSH EAX
  1012. MOV CL,1
  1013. CALL _isdigit
  1014. ADD ESP,4
  1015. OR EAX,EAX
  1016. JNE _lib_93
  1017. JMP _lib_92
  1018. _lib_93:
  1019. LEA EAX,[EBP-32]
  1020. MOV EBX,EAX
  1021. MOV EAX, [EBX]
  1022. INC EAX
  1023. MOV [EBX],EAX
  1024. JMP _lib_91
  1025. _lib_92:
  1026. JMP _lib_94
  1027. _lib_89:
  1028. LEA EAX,[EBP-28]
  1029. MOV EBX,EAX
  1030. XOR EAX,EAX
  1031. MOV [EBX],EAX
  1032. _lib_94:
  1033. LEA EAX,[EBP-32]
  1034. MOV EBX,EAX
  1035. MOV EAX, [EBX]
  1036. MOV EBX,EAX
  1037. MOVSX EAX,BYTE [EBX]
  1038. MOV EBX,EAX
  1039. MOV EAX,46
  1040. CALL __eq
  1041. OR EAX,EAX
  1042. JNE _lib_96
  1043. JMP _lib_95
  1044. _lib_96:
  1045. LEA EAX,[EBP-24]
  1046. PUSH EAX
  1047. LEA EAX,[EBP-32]
  1048. MOV EBX,EAX
  1049. MOV EAX, [EBX]
  1050. INC EAX
  1051. MOV [EBX],EAX
  1052. PUSH EAX
  1053. MOV CL,1
  1054. CALL _atoi
  1055. ADD ESP,4
  1056. POP EBX
  1057. MOV [EBX],EAX
  1058. _lib_97:
  1059. LEA EAX,[EBP-32]
  1060. MOV EBX,EAX
  1061. MOV EAX, [EBX]
  1062. MOV EBX,EAX
  1063. MOVSX EAX,BYTE [EBX]
  1064. PUSH EAX
  1065. MOV CL,1
  1066. CALL _isdigit
  1067. ADD ESP,4
  1068. OR EAX,EAX
  1069. JNE _lib_99
  1070. JMP _lib_98
  1071. _lib_99:
  1072. LEA EAX,[EBP-32]
  1073. MOV EBX,EAX
  1074. MOV EAX, [EBX]
  1075. INC EAX
  1076. MOV [EBX],EAX
  1077. JMP _lib_97
  1078. _lib_98:
  1079. JMP _lib_100
  1080. _lib_95:
  1081. LEA EAX,[EBP-24]
  1082. MOV EBX,EAX
  1083. XOR EAX,EAX
  1084. MOV [EBX],EAX
  1085. _lib_100:
  1086. LEA EAX,[EBP-4]
  1087. PUSH EAX
  1088. LEA EAX,[EBP+8]
  1089. MOV EBX,EAX
  1090. MOV EAX, [EBX]
  1091. DEC EAX
  1092. DEC EAX
  1093. DEC EAX
  1094. DEC EAX
  1095. MOV [EBX],EAX
  1096. INC EAX
  1097. INC EAX
  1098. INC EAX
  1099. INC EAX
  1100. MOV EBX,EAX
  1101. MOV EAX, [EBX]
  1102. POP EBX
  1103. MOV [EBX],EAX
  1104. LEA EAX,[EBP-36]
  1105. PUSH EAX
  1106. LEA EAX,[EBP-56]
  1107. POP EBX
  1108. MOV [EBX],EAX
  1109. LEA EAX,[EBP-32]
  1110. MOV EBX,EAX
  1111. MOV EAX, [EBX]
  1112. INC EAX
  1113. MOV [EBX],EAX
  1114. DEC EAX
  1115. MOV EBX,EAX
  1116. MOVSX EAX,BYTE [EBX]
  1117. JMP _lib_103
  1118. _lib_104:
  1119. LEA EAX,[EBP-56]
  1120. PUSH EAX
  1121. LEA EAX,[EBP-4]
  1122. MOV EBX,EAX
  1123. MOV EAX, [EBX]
  1124. POP EBX
  1125. MOV [EBX],AL
  1126. LEA EAX,[EBP-56]
  1127. MOV EBX,1
  1128. ADD EAX,EBX
  1129. MOV EBX,EAX
  1130. XOR EAX,EAX
  1131. MOV [EBX],AL
  1132. JMP _lib_102
  1133. _lib_105:
  1134. LEA EAX,[EBP-36]
  1135. PUSH EAX
  1136. LEA EAX,[EBP-4]
  1137. MOV EBX,EAX
  1138. MOV EAX, [EBX]
  1139. POP EBX
  1140. MOV [EBX],EAX
  1141. JMP _lib_102
  1142. _lib_106:
  1143. LEA EAX,[EBP-4]
  1144. MOV EBX,EAX
  1145. MOV EAX, [EBX]
  1146. PUSH EAX
  1147. LEA EAX,[EBP-56]
  1148. PUSH EAX
  1149. MOV CL,2
  1150. CALL _itoa
  1151. ADD ESP,8
  1152. JMP _lib_102
  1153. _lib_107:
  1154. LEA EAX,[EBP-4]
  1155. MOV EBX,EAX
  1156. MOV EAX, [EBX]
  1157. PUSH EAX
  1158. LEA EAX,[EBP-56]
  1159. PUSH EAX
  1160. MOV EAX,2
  1161. PUSH EAX
  1162. MOV CL,3
  1163. CALL _itoab
  1164. ADD ESP,12
  1165. JMP _lib_102
  1166. _lib_108:
  1167. LEA EAX,[EBP-4]
  1168. MOV EBX,EAX
  1169. MOV EAX, [EBX]
  1170. PUSH EAX
  1171. LEA EAX,[EBP-56]
  1172. PUSH EAX
  1173. MOV EAX,8
  1174. PUSH EAX
  1175. MOV CL,3
  1176. CALL _itoab
  1177. ADD ESP,12
  1178. JMP _lib_102
  1179. _lib_109:
  1180. LEA EAX,[EBP-4]
  1181. MOV EBX,EAX
  1182. MOV EAX, [EBX]
  1183. PUSH EAX
  1184. LEA EAX,[EBP-56]
  1185. PUSH EAX
  1186. MOV EAX,10
  1187. PUSH EAX
  1188. MOV CL,3
  1189. CALL _itoab
  1190. ADD ESP,12
  1191. JMP _lib_102
  1192. _lib_110:
  1193. LEA EAX,[EBP-4]
  1194. MOV EBX,EAX
  1195. MOV EAX, [EBX]
  1196. PUSH EAX
  1197. LEA EAX,[EBP-56]
  1198. PUSH EAX
  1199. MOV EAX,16
  1200. PUSH EAX
  1201. MOV CL,3
  1202. CALL _itoab
  1203. ADD ESP,12
  1204. JMP _lib_102
  1205. _lib_111:
  1206. LEA EAX,[EBP-16]
  1207. MOV EBX,EAX
  1208. MOV EAX, [EBX]
  1209. MOV ESP,EBP
  1210. POP EBP
  1211. RET
  1212. JMP _lib_102
  1213. _lib_103:
  1214. CALL __switch
  1215.  DD _lib_104
  1216.  DD 99
  1217.  DD _lib_105
  1218.  DD 115
  1219.  DD _lib_106
  1220.  DD 100
  1221.  DD _lib_107
  1222.  DD 98
  1223.  DD _lib_108
  1224.  DD 111
  1225.  DD _lib_109
  1226.  DD 117
  1227.  DD _lib_110
  1228.  DD 120
  1229.  DD 0
  1230. JMP _lib_111
  1231. _lib_102:
  1232. LEA EAX,[EBP-20]
  1233. PUSH EAX
  1234. LEA EAX,[EBP-36]
  1235. MOV EBX,EAX
  1236. MOV EAX, [EBX]
  1237. PUSH EAX
  1238. MOV CL,1
  1239. CALL _strlen
  1240. ADD ESP,4
  1241. POP EBX
  1242. MOV [EBX],EAX
  1243. LEA EAX,[EBP-24]
  1244. MOV EBX,EAX
  1245. MOV EAX, [EBX]
  1246. OR EAX,EAX
  1247. JNE _lib_115
  1248. JMP _lib_113
  1249. _lib_115:
  1250. LEA EAX,[EBP-24]
  1251. MOV EBX,EAX
  1252. MOV EAX, [EBX]
  1253. PUSH EAX
  1254. LEA EAX,[EBP-20]
  1255. MOV EBX,EAX
  1256. MOV EAX, [EBX]
  1257. POP EBX
  1258. CALL __lt
  1259. OR EAX,EAX
  1260. JNE _lib_116
  1261. JMP _lib_113
  1262. _lib_116:
  1263. MOV EAX,1
  1264. JMP _lib_114
  1265. _lib_113:
  1266. XOR EAX,EAX
  1267. _lib_114:
  1268. OR EAX,EAX
  1269. JNE _lib_117
  1270. JMP _lib_112
  1271. _lib_117:
  1272. LEA EAX,[EBP-20]
  1273. PUSH EAX
  1274. LEA EAX,[EBP-24]
  1275. MOV EBX,EAX
  1276. MOV EAX, [EBX]
  1277. POP EBX
  1278. MOV [EBX],EAX
  1279. _lib_112:
  1280. LEA EAX,[EBP-28]
  1281. MOV EBX,EAX
  1282. MOV EAX, [EBX]
  1283. PUSH EAX
  1284. LEA EAX,[EBP-20]
  1285. MOV EBX,EAX
  1286. MOV EAX, [EBX]
  1287. POP EBX
  1288. CALL __gt
  1289. OR EAX,EAX
  1290. JNE _lib_119
  1291. JMP _lib_118
  1292. _lib_119:
  1293. LEA EAX,[EBP-28]
  1294. PUSH EAX
  1295. LEA EAX,[EBP-28]
  1296. MOV EBX,EAX
  1297. MOV EAX, [EBX]
  1298. PUSH EAX
  1299. LEA EAX,[EBP-20]
  1300. MOV EBX,EAX
  1301. MOV EAX, [EBX]
  1302. POP EBX
  1303. XCHG EAX,EBX
  1304. SUB EAX,EBX
  1305. POP EBX
  1306. MOV [EBX],EAX
  1307. JMP _lib_120
  1308. _lib_118:
  1309. LEA EAX,[EBP-28]
  1310. MOV EBX,EAX
  1311. XOR EAX,EAX
  1312. MOV [EBX],EAX
  1313. _lib_120:
  1314. LEA EAX,[EBP-8]
  1315. MOV EBX,EAX
  1316. MOV EAX, [EBX]
  1317. CALL __lneg
  1318. OR EAX,EAX
  1319. JNE _lib_122
  1320. JMP _lib_121
  1321. _lib_122:
  1322. _lib_123:
  1323. LEA EAX,[EBP-28]
  1324. MOV EBX,EAX
  1325. MOV EAX, [EBX]
  1326. DEC EAX
  1327. MOV [EBX],EAX
  1328. INC EAX
  1329. OR EAX,EAX
  1330. JNE _lib_125
  1331. JMP _lib_124
  1332. _lib_125:
  1333. LEA EAX,[EBP-12]
  1334. MOV EBX,EAX
  1335. MOV EAX, [EBX]
  1336. PUSH EAX
  1337. LEA EAX,[EBP+12]
  1338. MOV EBX,EAX
  1339. MOV EAX, [EBX]
  1340. PUSH EAX
  1341. MOV CL,2
  1342. CALL _OS_fputc
  1343. ADD ESP,8
  1344. LEA EAX,[EBP-16]
  1345. MOV EBX,EAX
  1346. MOV EAX, [EBX]
  1347. INC EAX
  1348. MOV [EBX],EAX
  1349. JMP _lib_123
  1350. _lib_124:
  1351. _lib_121:
  1352. _lib_126:
  1353. LEA EAX,[EBP-20]
  1354. MOV EBX,EAX
  1355. MOV EAX, [EBX]
  1356. DEC EAX
  1357. MOV [EBX],EAX
  1358. INC EAX
  1359. OR EAX,EAX
  1360. JNE _lib_128
  1361. JMP _lib_127
  1362. _lib_128:
  1363. LEA EAX,[EBP-36]
  1364. MOV EBX,EAX
  1365. MOV EAX, [EBX]
  1366. INC EAX
  1367. MOV [EBX],EAX
  1368. DEC EAX
  1369. MOV EBX,EAX
  1370. MOVSX EAX,BYTE [EBX]
  1371. PUSH EAX
  1372. LEA EAX,[EBP+12]
  1373. MOV EBX,EAX
  1374. MOV EAX, [EBX]
  1375. PUSH EAX
  1376. MOV CL,2
  1377. CALL _OS_fputc
  1378. ADD ESP,8
  1379. LEA EAX,[EBP-16]
  1380. MOV EBX,EAX
  1381. MOV EAX, [EBX]
  1382. INC EAX
  1383. MOV [EBX],EAX
  1384. JMP _lib_126
  1385. _lib_127:
  1386. LEA EAX,[EBP-8]
  1387. MOV EBX,EAX
  1388. MOV EAX, [EBX]
  1389. OR EAX,EAX
  1390. JNE _lib_130
  1391. JMP _lib_129
  1392. _lib_130:
  1393. _lib_131:
  1394. LEA EAX,[EBP-28]
  1395. MOV EBX,EAX
  1396. MOV EAX, [EBX]
  1397. DEC EAX
  1398. MOV [EBX],EAX
  1399. INC EAX
  1400. OR EAX,EAX
  1401. JNE _lib_133
  1402. JMP _lib_132
  1403. _lib_133:
  1404. LEA EAX,[EBP-12]
  1405. MOV EBX,EAX
  1406. MOV EAX, [EBX]
  1407. PUSH EAX
  1408. LEA EAX,[EBP+12]
  1409. MOV EBX,EAX
  1410. MOV EAX, [EBX]
  1411. PUSH EAX
  1412. MOV CL,2
  1413. CALL _OS_fputc
  1414. ADD ESP,8
  1415. LEA EAX,[EBP-16]
  1416. MOV EBX,EAX
  1417. MOV EAX, [EBX]
  1418. INC EAX
  1419. MOV [EBX],EAX
  1420. JMP _lib_131
  1421. _lib_132:
  1422. _lib_129:
  1423. JMP _lib_75
  1424. _lib_76:
  1425. LEA EAX,[EBP-16]
  1426. MOV EBX,EAX
  1427. MOV EAX, [EBX]
  1428. MOV ESP,EBP
  1429. POP EBP
  1430. RET
  1431.  
  1432. _fputs:
  1433. PUSH EBP
  1434. MOV EBP,ESP
  1435. _lib_135:
  1436. LEA EAX,[EBP+12]
  1437. MOV EBX,EAX
  1438. MOV EAX, [EBX]
  1439. MOV EBX,EAX
  1440. MOVSX EAX,BYTE [EBX]
  1441. OR EAX,EAX
  1442. JNE _lib_137
  1443. JMP _lib_136
  1444. _lib_137:
  1445. LEA EAX,[EBP+12]
  1446. MOV EBX,EAX
  1447. MOV EAX, [EBX]
  1448. INC EAX
  1449. MOV [EBX],EAX
  1450. DEC EAX
  1451. MOV EBX,EAX
  1452. MOVSX EAX,BYTE [EBX]
  1453. PUSH EAX
  1454. LEA EAX,[EBP+8]
  1455. MOV EBX,EAX
  1456. MOV EAX, [EBX]
  1457. PUSH EAX
  1458. MOV CL,2
  1459. CALL _OS_fputc
  1460. ADD ESP,8
  1461. JMP _lib_135
  1462. _lib_136:
  1463. POP EBP
  1464. RET
  1465. __is DD 4,4,4,4,4,4,4,4,4,260
  1466.  DD 260,260,260,260,4,4,4,4,4,4
  1467.  DD 4,4,4,4,4,4,4,4,4,4
  1468.  DD 4,4,320,208,208,208,208,208,208,208
  1469.  DD 208,208,208,208,208,208,208,208,1113,1113
  1470.  DD 1113,1113,1113,1113,1113,1113,1113,1113,208,208
  1471.  DD 208,208,208,208,208,1619,1619,1619,1619,1619
  1472.  DD 1619,595,595,595,595,595,595,595,595,595
  1473.  DD 595,595,595,595,595,595,595,595,595,595
  1474.  DD 595,208,208,208,208,208,208,1139,1139,1139
  1475.  DD 1139,1139,1139,115,115,115,115,115,115,115
  1476.  DD 115,115,115,115,115,115,115,115,115,115
  1477.  DD 115,115,115,208,208,208,208,4
  1478.  
  1479. _isalnum:
  1480. PUSH EBP
  1481. MOV EBP,ESP
  1482. MOV EAX,__is
  1483. PUSH EAX
  1484. LEA EAX,[EBP+8]
  1485. MOV EBX,EAX
  1486. MOV EAX, [EBX]
  1487. POP EBX
  1488. SHL EAX,1
  1489. SHL EAX,1
  1490. ADD EAX,EBX
  1491. MOV EBX,EAX
  1492. MOV EAX, [EBX]
  1493. MOV EBX,EAX
  1494. MOV EAX,1
  1495. AND EAX,EBX
  1496. POP EBP
  1497. RET
  1498.  
  1499. _isalpha:
  1500. PUSH EBP
  1501. MOV EBP,ESP
  1502. MOV EAX,__is
  1503. PUSH EAX
  1504. LEA EAX,[EBP+8]
  1505. MOV EBX,EAX
  1506. MOV EAX, [EBX]
  1507. POP EBX
  1508. SHL EAX,1
  1509. SHL EAX,1
  1510. ADD EAX,EBX
  1511. MOV EBX,EAX
  1512. MOV EAX, [EBX]
  1513. MOV EBX,EAX
  1514. MOV EAX,2
  1515. AND EAX,EBX
  1516. POP EBP
  1517. RET
  1518.  
  1519. _iscntrl:
  1520. PUSH EBP
  1521. MOV EBP,ESP
  1522. MOV EAX,__is
  1523. PUSH EAX
  1524. LEA EAX,[EBP+8]
  1525. MOV EBX,EAX
  1526. MOV EAX, [EBX]
  1527. POP EBX
  1528. SHL EAX,1
  1529. SHL EAX,1
  1530. ADD EAX,EBX
  1531. MOV EBX,EAX
  1532. MOV EAX, [EBX]
  1533. MOV EBX,EAX
  1534. MOV EAX,4
  1535. AND EAX,EBX
  1536. POP EBP
  1537. RET
  1538.  
  1539. _isdigit:
  1540. PUSH EBP
  1541. MOV EBP,ESP
  1542. MOV EAX,__is
  1543. PUSH EAX
  1544. LEA EAX,[EBP+8]
  1545. MOV EBX,EAX
  1546. MOV EAX, [EBX]
  1547. POP EBX
  1548. SHL EAX,1
  1549. SHL EAX,1
  1550. ADD EAX,EBX
  1551. MOV EBX,EAX
  1552. MOV EAX, [EBX]
  1553. MOV EBX,EAX
  1554. MOV EAX,8
  1555. AND EAX,EBX
  1556. POP EBP
  1557. RET
  1558.  
  1559. _isgraph:
  1560. PUSH EBP
  1561. MOV EBP,ESP
  1562. MOV EAX,__is
  1563. PUSH EAX
  1564. LEA EAX,[EBP+8]
  1565. MOV EBX,EAX
  1566. MOV EAX, [EBX]
  1567. POP EBX
  1568. SHL EAX,1
  1569. SHL EAX,1
  1570. ADD EAX,EBX
  1571. MOV EBX,EAX
  1572. MOV EAX, [EBX]
  1573. MOV EBX,EAX
  1574. MOV EAX,16
  1575. AND EAX,EBX
  1576. POP EBP
  1577. RET
  1578.  
  1579. _islower:
  1580. PUSH EBP
  1581. MOV EBP,ESP
  1582. MOV EAX,__is
  1583. PUSH EAX
  1584. LEA EAX,[EBP+8]
  1585. MOV EBX,EAX
  1586. MOV EAX, [EBX]
  1587. POP EBX
  1588. SHL EAX,1
  1589. SHL EAX,1
  1590. ADD EAX,EBX
  1591. MOV EBX,EAX
  1592. MOV EAX, [EBX]
  1593. MOV EBX,EAX
  1594. MOV EAX,32
  1595. AND EAX,EBX
  1596. POP EBP
  1597. RET
  1598.  
  1599. _isprint:
  1600. PUSH EBP
  1601. MOV EBP,ESP
  1602. MOV EAX,__is
  1603. PUSH EAX
  1604. LEA EAX,[EBP+8]
  1605. MOV EBX,EAX
  1606. MOV EAX, [EBX]
  1607. POP EBX
  1608. SHL EAX,1
  1609. SHL EAX,1
  1610. ADD EAX,EBX
  1611. MOV EBX,EAX
  1612. MOV EAX, [EBX]
  1613. MOV EBX,EAX
  1614. MOV EAX,64
  1615. AND EAX,EBX
  1616. POP EBP
  1617. RET
  1618.  
  1619. _ispunct:
  1620. PUSH EBP
  1621. MOV EBP,ESP
  1622. MOV EAX,__is
  1623. PUSH EAX
  1624. LEA EAX,[EBP+8]
  1625. MOV EBX,EAX
  1626. MOV EAX, [EBX]
  1627. POP EBX
  1628. SHL EAX,1
  1629. SHL EAX,1
  1630. ADD EAX,EBX
  1631. MOV EBX,EAX
  1632. MOV EAX, [EBX]
  1633. MOV EBX,EAX
  1634. MOV EAX,128
  1635. AND EAX,EBX
  1636. POP EBP
  1637. RET
  1638.  
  1639. _isspace:
  1640. PUSH EBP
  1641. MOV EBP,ESP
  1642. MOV EAX,__is
  1643. PUSH EAX
  1644. LEA EAX,[EBP+8]
  1645. MOV EBX,EAX
  1646. MOV EAX, [EBX]
  1647. POP EBX
  1648. SHL EAX,1
  1649. SHL EAX,1
  1650. ADD EAX,EBX
  1651. MOV EBX,EAX
  1652. MOV EAX, [EBX]
  1653. MOV EBX,EAX
  1654. MOV EAX,256
  1655. AND EAX,EBX
  1656. POP EBP
  1657. RET
  1658.  
  1659. _isupper:
  1660. PUSH EBP
  1661. MOV EBP,ESP
  1662. MOV EAX,__is
  1663. PUSH EAX
  1664. LEA EAX,[EBP+8]
  1665. MOV EBX,EAX
  1666. MOV EAX, [EBX]
  1667. POP EBX
  1668. SHL EAX,1
  1669. SHL EAX,1
  1670. ADD EAX,EBX
  1671. MOV EBX,EAX
  1672. MOV EAX, [EBX]
  1673. MOV EBX,EAX
  1674. MOV EAX,512
  1675. AND EAX,EBX
  1676. POP EBP
  1677. RET
  1678.  
  1679. _isxdigit:
  1680. PUSH EBP
  1681. MOV EBP,ESP
  1682. MOV EAX,__is
  1683. PUSH EAX
  1684. LEA EAX,[EBP+8]
  1685. MOV EBX,EAX
  1686. MOV EAX, [EBX]
  1687. POP EBX
  1688. SHL EAX,1
  1689. SHL EAX,1
  1690. ADD EAX,EBX
  1691. MOV EBX,EAX
  1692. MOV EAX, [EBX]
  1693. MOV EBX,EAX
  1694. MOV EAX,1024
  1695. AND EAX,EBX
  1696. POP EBP
  1697. RET
  1698.  
  1699. _itoa:
  1700. PUSH EBP
  1701. MOV EBP,ESP
  1702. ADD ESP,-8
  1703. LEA EAX,[EBP-8]
  1704. PUSH EAX
  1705. LEA EAX,[EBP+8]
  1706. MOV EBX,EAX
  1707. MOV EAX, [EBX]
  1708. POP EBX
  1709. MOV [EBX],EAX
  1710. LEA EAX,[EBP-4]
  1711. PUSH EAX
  1712. LEA EAX,[EBP+12]
  1713. MOV EBX,EAX
  1714. MOV EAX, [EBX]
  1715. POP EBX
  1716. MOV [EBX],EAX
  1717. OR EAX,EAX
  1718. JL _lib_151
  1719. JMP _lib_150
  1720. _lib_151:
  1721. LEA EAX,[EBP+12]
  1722. PUSH EAX
  1723. LEA EAX,[EBP+12]
  1724. MOV EBX,EAX
  1725. MOV EAX, [EBX]
  1726. NEG EAX
  1727. POP EBX
  1728. MOV [EBX],EAX
  1729. _lib_150:
  1730. _lib_152:
  1731. LEA EAX,[EBP-8]
  1732. MOV EBX,EAX
  1733. MOV EAX, [EBX]
  1734. INC EAX
  1735. MOV [EBX],EAX
  1736. DEC EAX
  1737. PUSH EAX
  1738. LEA EAX,[EBP+12]
  1739. MOV EBX,EAX
  1740. MOV EAX, [EBX]
  1741. MOV EBX,EAX
  1742. MOV EAX,10
  1743. XCHG EAX,EBX
  1744. CDQ
  1745. IDIV EBX
  1746. MOV EAX,EDX
  1747. MOV EBX,48
  1748. ADD EAX,EBX
  1749. POP EBX
  1750. MOV [EBX],AL
  1751. LEA EAX,[EBP+12]
  1752. PUSH EAX
  1753. LEA EAX,[EBP+12]
  1754. MOV EBX,EAX
  1755. MOV EAX, [EBX]
  1756. MOV EBX,EAX
  1757. MOV EAX,10
  1758. XCHG EAX,EBX
  1759. CDQ
  1760. IDIV EBX
  1761. POP EBX
  1762. MOV [EBX],EAX
  1763. OR EAX,EAX
  1764. JG _lib_154
  1765. JMP _lib_153
  1766. _lib_154:
  1767. JMP _lib_152
  1768. _lib_153:
  1769. LEA EAX,[EBP-4]
  1770. MOV EBX,EAX
  1771. MOV EAX, [EBX]
  1772. OR EAX,EAX
  1773. JL _lib_156
  1774. JMP _lib_155
  1775. _lib_156:
  1776. LEA EAX,[EBP-8]
  1777. MOV EBX,EAX
  1778. MOV EAX, [EBX]
  1779. INC EAX
  1780. MOV [EBX],EAX
  1781. DEC EAX
  1782. MOV EBX,EAX
  1783. MOV EAX,45
  1784. MOV [EBX],AL
  1785. _lib_155:
  1786. LEA EAX,[EBP-8]
  1787. MOV EBX,EAX
  1788. MOV EAX, [EBX]
  1789. MOV EBX,EAX
  1790. XOR EAX,EAX
  1791. MOV [EBX],AL
  1792. LEA EAX,[EBP+8]
  1793. MOV EBX,EAX
  1794. MOV EAX, [EBX]
  1795. PUSH EAX
  1796. MOV CL,1
  1797. CALL _reverse
  1798. ADD ESP,4
  1799. MOV ESP,EBP
  1800. POP EBP
  1801. RET
  1802.  
  1803. _itoab:
  1804. PUSH EBP
  1805. MOV EBP,ESP
  1806. ADD ESP,-8
  1807. LEA EAX,[EBP-4]
  1808. PUSH EAX
  1809. LEA EAX,[EBP+12]
  1810. MOV EBX,EAX
  1811. MOV EAX, [EBX]
  1812. POP EBX
  1813. MOV [EBX],EAX
  1814. LEA EAX,[EBP+8]
  1815. PUSH EAX
  1816. MOV EBX,EAX
  1817. MOV EAX, [EBX]
  1818. MOV EBX,EAX
  1819. MOV EAX,1
  1820. MOV ECX,EAX
  1821. MOV EAX,EBX
  1822. SAR EAX,CL
  1823. POP EBX
  1824. MOV [EBX],EAX
  1825. _lib_158:
  1826. LEA EAX,[EBP-8]
  1827. PUSH EAX
  1828. LEA EAX,[EBP+16]
  1829. MOV EBX,EAX
  1830. MOV EAX, [EBX]
  1831. MOV EBX,EAX
  1832. MOV EAX,1
  1833. AND EAX,EBX
  1834. POP EBX
  1835. MOV [EBX],EAX
  1836. LEA EAX,[EBP+16]
  1837. PUSH EAX
  1838. LEA EAX,[EBP+16]
  1839. MOV EBX,EAX
  1840. MOV EAX, [EBX]
  1841. MOV EBX,EAX
  1842. MOV EAX,1
  1843. MOV ECX,EAX
  1844. MOV EAX,EBX
  1845. SAR EAX,CL
  1846. MOV EBX,EAX
  1847. MOV EAX,32767
  1848. AND EAX,EBX
  1849. POP EBX
  1850. MOV [EBX],EAX
  1851. LEA EAX,[EBP-4]
  1852. MOV EBX,EAX
  1853. MOV EAX, [EBX]
  1854. PUSH EAX
  1855. LEA EAX,[EBP+16]
  1856. MOV EBX,EAX
  1857. MOV EAX, [EBX]
  1858. PUSH EAX
  1859. LEA EAX,[EBP+8]
  1860. MOV EBX,EAX
  1861. MOV EAX, [EBX]
  1862. POP EBX
  1863. XCHG EAX,EBX
  1864. CDQ
  1865. IDIV EBX
  1866. MOV EAX,EDX
  1867. MOV EBX,EAX
  1868. MOV EAX,1
  1869. MOV ECX,EAX
  1870. MOV EAX,EBX
  1871. SAL EAX,CL
  1872. PUSH EAX
  1873. LEA EAX,[EBP-8]
  1874. MOV EBX,EAX
  1875. MOV EAX, [EBX]
  1876. POP EBX
  1877. ADD EAX,EBX
  1878. POP EBX
  1879. MOV [EBX],AL
  1880. LEA EAX,[EBP-4]
  1881. MOV EBX,EAX
  1882. MOV EAX, [EBX]
  1883. MOV EBX,EAX
  1884. MOVSX EAX,BYTE [EBX]
  1885. MOV EBX,EAX
  1886. MOV EAX,10
  1887. CALL __lt
  1888. OR EAX,EAX
  1889. JNE _lib_161
  1890. JMP _lib_160
  1891. _lib_161:
  1892. LEA EAX,[EBP-4]
  1893. MOV EBX,EAX
  1894. MOV EAX, [EBX]
  1895. PUSH EAX
  1896. MOV EBX,EAX
  1897. MOVSX EAX,BYTE [EBX]
  1898. MOV EBX,48
  1899. ADD EAX,EBX
  1900. POP EBX
  1901. MOV [EBX],AL
  1902. JMP _lib_162
  1903. _lib_160:
  1904. LEA EAX,[EBP-4]
  1905. MOV EBX,EAX
  1906. MOV EAX, [EBX]
  1907. PUSH EAX
  1908. MOV EBX,EAX
  1909. MOVSX EAX,BYTE [EBX]
  1910. MOV EBX,55
  1911. ADD EAX,EBX
  1912. POP EBX
  1913. MOV [EBX],AL
  1914. _lib_162:
  1915. LEA EAX,[EBP-4]
  1916. MOV EBX,EAX
  1917. MOV EAX, [EBX]
  1918. INC EAX
  1919. MOV [EBX],EAX
  1920. LEA EAX,[EBP+16]
  1921. PUSH EAX
  1922. MOV EBX,EAX
  1923. MOV EAX, [EBX]
  1924. PUSH EAX
  1925. LEA EAX,[EBP+8]
  1926. MOV EBX,EAX
  1927. MOV EAX, [EBX]
  1928. POP EBX
  1929. XCHG EAX,EBX
  1930. CDQ
  1931. IDIV EBX
  1932. POP EBX
  1933. MOV [EBX],EAX
  1934. OR EAX,EAX
  1935. JNE _lib_163
  1936. JMP _lib_159
  1937. _lib_163:
  1938. JMP _lib_158
  1939. _lib_159:
  1940. LEA EAX,[EBP-4]
  1941. MOV EBX,EAX
  1942. MOV EAX, [EBX]
  1943. MOV EBX,EAX
  1944. XOR EAX,EAX
  1945. MOV [EBX],AL
  1946. LEA EAX,[EBP+12]
  1947. MOV EBX,EAX
  1948. MOV EAX, [EBX]
  1949. PUSH EAX
  1950. MOV CL,1
  1951. CALL _reverse
  1952. ADD ESP,4
  1953. MOV ESP,EBP
  1954. POP EBP
  1955. RET
  1956.  
  1957. _itod:
  1958. PUSH EBP
  1959. MOV EBP,ESP
  1960. ADD ESP,-4
  1961. LEA EAX,[EBP+16]
  1962. MOV EBX,EAX
  1963. MOV EAX, [EBX]
  1964. OR EAX,EAX
  1965. JL _lib_166
  1966. JMP _lib_165
  1967. _lib_166:
  1968. LEA EAX,[EBP+16]
  1969. PUSH EAX
  1970. LEA EAX,[EBP+16]
  1971. MOV EBX,EAX
  1972. MOV EAX, [EBX]
  1973. NEG EAX
  1974. POP EBX
  1975. MOV [EBX],EAX
  1976. LEA EAX,[EBP-4]
  1977. MOV EBX,EAX
  1978. MOV EAX,45
  1979. MOV [EBX],AL
  1980. JMP _lib_167
  1981. _lib_165:
  1982. LEA EAX,[EBP-4]
  1983. MOV EBX,EAX
  1984. MOV EAX,32
  1985. MOV [EBX],AL
  1986. _lib_167:
  1987. LEA EAX,[EBP+8]
  1988. MOV EBX,EAX
  1989. MOV EAX, [EBX]
  1990. OR EAX,EAX
  1991. JG _lib_169
  1992. JMP _lib_168
  1993. _lib_169:
  1994. LEA EAX,[EBP+12]
  1995. MOV EBX,EAX
  1996. MOV EAX, [EBX]
  1997. PUSH EAX
  1998. LEA EAX,[EBP+8]
  1999. MOV EBX,EAX
  2000. MOV EAX, [EBX]
  2001. DEC EAX
  2002. MOV [EBX],EAX
  2003. POP EBX
  2004. ADD EAX,EBX
  2005. MOV EBX,EAX
  2006. XOR EAX,EAX
  2007. MOV [EBX],AL
  2008. JMP _lib_170
  2009. _lib_168:
  2010. LEA EAX,[EBP+8]
  2011. MOV EBX,EAX
  2012. MOV EAX, [EBX]
  2013. OR EAX,EAX
  2014. JL _lib_172
  2015. JMP _lib_171
  2016. _lib_172:
  2017. LEA EAX,[EBP+8]
  2018. PUSH EAX
  2019. LEA EAX,[EBP+8]
  2020. MOV EBX,EAX
  2021. MOV EAX, [EBX]
  2022. NEG EAX
  2023. POP EBX
  2024. MOV [EBX],EAX
  2025. JMP _lib_173
  2026. _lib_171:
  2027. _lib_174:
  2028. LEA EAX,[EBP+12]
  2029. MOV EBX,EAX
  2030. MOV EAX, [EBX]
  2031. PUSH EAX
  2032. LEA EAX,[EBP+8]
  2033. MOV EBX,EAX
  2034. MOV EAX, [EBX]
  2035. POP EBX
  2036. ADD EAX,EBX
  2037. MOV EBX,EAX
  2038. MOVSX EAX,BYTE [EBX]
  2039. OR EAX,EAX
  2040. JNE _lib_176
  2041. JMP _lib_175
  2042. _lib_176:
  2043. LEA EAX,[EBP+8]
  2044. MOV EBX,EAX
  2045. MOV EAX, [EBX]
  2046. INC EAX
  2047. MOV [EBX],EAX
  2048. JMP _lib_174
  2049. _lib_175:
  2050. _lib_173:
  2051. _lib_170:
  2052. _lib_177:
  2053. LEA EAX,[EBP+8]
  2054. MOV EBX,EAX
  2055. MOV EAX, [EBX]
  2056. OR EAX,EAX
  2057. JNE _lib_179
  2058. JMP _lib_178
  2059. _lib_179:
  2060. LEA EAX,[EBP+12]
  2061. MOV EBX,EAX
  2062. MOV EAX, [EBX]
  2063. PUSH EAX
  2064. LEA EAX,[EBP+8]
  2065. MOV EBX,EAX
  2066. MOV EAX, [EBX]
  2067. DEC EAX
  2068. MOV [EBX],EAX
  2069. POP EBX
  2070. ADD EAX,EBX
  2071. PUSH EAX
  2072. LEA EAX,[EBP+16]
  2073. MOV EBX,EAX
  2074. MOV EAX, [EBX]
  2075. MOV EBX,EAX
  2076. MOV EAX,10
  2077. XCHG EAX,EBX
  2078. CDQ
  2079. IDIV EBX
  2080. MOV EAX,EDX
  2081. MOV EBX,48
  2082. ADD EAX,EBX
  2083. POP EBX
  2084. MOV [EBX],AL
  2085. LEA EAX,[EBP+16]
  2086. PUSH EAX
  2087. LEA EAX,[EBP+16]
  2088. MOV EBX,EAX
  2089. MOV EAX, [EBX]
  2090. MOV EBX,EAX
  2091. MOV EAX,10
  2092. XCHG EAX,EBX
  2093. CDQ
  2094. IDIV EBX
  2095. POP EBX
  2096. MOV [EBX],EAX
  2097. OR EAX,EAX
  2098. JE _lib_181
  2099. JMP _lib_180
  2100. _lib_181:
  2101. JMP _lib_178
  2102. _lib_180:
  2103. JMP _lib_177
  2104. _lib_178:
  2105. LEA EAX,[EBP+8]
  2106. MOV EBX,EAX
  2107. MOV EAX, [EBX]
  2108. OR EAX,EAX
  2109. JNE _lib_183
  2110. JMP _lib_182
  2111. _lib_183:
  2112. LEA EAX,[EBP+12]
  2113. MOV EBX,EAX
  2114. MOV EAX, [EBX]
  2115. PUSH EAX
  2116. LEA EAX,[EBP+8]
  2117. MOV EBX,EAX
  2118. MOV EAX, [EBX]
  2119. DEC EAX
  2120. MOV [EBX],EAX
  2121. POP EBX
  2122. ADD EAX,EBX
  2123. PUSH EAX
  2124. LEA EAX,[EBP-4]
  2125. MOV EBX,EAX
  2126. MOVSX EAX,BYTE [EBX]
  2127. POP EBX
  2128. MOV [EBX],AL
  2129. _lib_182:
  2130. _lib_184:
  2131. LEA EAX,[EBP+8]
  2132. MOV EBX,EAX
  2133. MOV EAX, [EBX]
  2134. OR EAX,EAX
  2135. JG _lib_186
  2136. JMP _lib_185
  2137. _lib_186:
  2138. LEA EAX,[EBP+12]
  2139. MOV EBX,EAX
  2140. MOV EAX, [EBX]
  2141. PUSH EAX
  2142. LEA EAX,[EBP+8]
  2143. MOV EBX,EAX
  2144. MOV EAX, [EBX]
  2145. DEC EAX
  2146. MOV [EBX],EAX
  2147. POP EBX
  2148. ADD EAX,EBX
  2149. MOV EBX,EAX
  2150. MOV EAX,32
  2151. MOV [EBX],AL
  2152. JMP _lib_184
  2153. _lib_185:
  2154. LEA EAX,[EBP+12]
  2155. MOV EBX,EAX
  2156. MOV EAX, [EBX]
  2157. MOV ESP,EBP
  2158. POP EBP
  2159. RET
  2160.  
  2161. _itoo:
  2162. PUSH EBP
  2163. MOV EBP,ESP
  2164. ADD ESP,-4
  2165. LEA EAX,[EBP+8]
  2166. MOV EBX,EAX
  2167. MOV EAX, [EBX]
  2168. OR EAX,EAX
  2169. JG _lib_189
  2170. JMP _lib_188
  2171. _lib_189:
  2172. LEA EAX,[EBP+12]
  2173. MOV EBX,EAX
  2174. MOV EAX, [EBX]
  2175. PUSH EAX
  2176. LEA EAX,[EBP+8]
  2177. MOV EBX,EAX
  2178. MOV EAX, [EBX]
  2179. DEC EAX
  2180. MOV [EBX],EAX
  2181. POP EBX
  2182. ADD EAX,EBX
  2183. MOV EBX,EAX
  2184. XOR EAX,EAX
  2185. MOV [EBX],AL
  2186. JMP _lib_190
  2187. _lib_188:
  2188. LEA EAX,[EBP+8]
  2189. MOV EBX,EAX
  2190. MOV EAX, [EBX]
  2191. OR EAX,EAX
  2192. JL _lib_192
  2193. JMP _lib_191
  2194. _lib_192:
  2195. LEA EAX,[EBP+8]
  2196. PUSH EAX
  2197. LEA EAX,[EBP+8]
  2198. MOV EBX,EAX
  2199. MOV EAX, [EBX]
  2200. NEG EAX
  2201. POP EBX
  2202. MOV [EBX],EAX
  2203. JMP _lib_193
  2204. _lib_191:
  2205. _lib_194:
  2206. LEA EAX,[EBP+12]
  2207. MOV EBX,EAX
  2208. MOV EAX, [EBX]
  2209. PUSH EAX
  2210. LEA EAX,[EBP+8]
  2211. MOV EBX,EAX
  2212. MOV EAX, [EBX]
  2213. POP EBX
  2214. ADD EAX,EBX
  2215. MOV EBX,EAX
  2216. MOVSX EAX,BYTE [EBX]
  2217. OR EAX,EAX
  2218. JNE _lib_196
  2219. JMP _lib_195
  2220. _lib_196:
  2221. LEA EAX,[EBP+8]
  2222. MOV EBX,EAX
  2223. MOV EAX, [EBX]
  2224. INC EAX
  2225. MOV [EBX],EAX
  2226. JMP _lib_194
  2227. _lib_195:
  2228. _lib_193:
  2229. _lib_190:
  2230. _lib_197:
  2231. LEA EAX,[EBP+8]
  2232. MOV EBX,EAX
  2233. MOV EAX, [EBX]
  2234. OR EAX,EAX
  2235. JNE _lib_199
  2236. JMP _lib_198
  2237. _lib_199:
  2238. LEA EAX,[EBP-4]
  2239. PUSH EAX
  2240. LEA EAX,[EBP+16]
  2241. MOV EBX,EAX
  2242. MOV EAX, [EBX]
  2243. MOV EBX,EAX
  2244. MOV EAX,7
  2245. AND EAX,EBX
  2246. POP EBX
  2247. MOV [EBX],EAX
  2248. LEA EAX,[EBP+16]
  2249. PUSH EAX
  2250. LEA EAX,[EBP+16]
  2251. MOV EBX,EAX
  2252. MOV EAX, [EBX]
  2253. MOV EBX,EAX
  2254. MOV EAX,3
  2255. MOV ECX,EAX
  2256. MOV EAX,EBX
  2257. SAR EAX,CL
  2258. MOV EBX,EAX
  2259. MOV EAX,8191
  2260. AND EAX,EBX
  2261. POP EBX
  2262. MOV [EBX],EAX
  2263. LEA EAX,[EBP+12]
  2264. MOV EBX,EAX
  2265. MOV EAX, [EBX]
  2266. PUSH EAX
  2267. LEA EAX,[EBP+8]
  2268. MOV EBX,EAX
  2269. MOV EAX, [EBX]
  2270. DEC EAX
  2271. MOV [EBX],EAX
  2272. POP EBX
  2273. ADD EAX,EBX
  2274. PUSH EAX
  2275. LEA EAX,[EBP-4]
  2276. MOV EBX,EAX
  2277. MOV EAX, [EBX]
  2278. MOV EBX,48
  2279. ADD EAX,EBX
  2280. POP EBX
  2281. MOV [EBX],AL
  2282. LEA EAX,[EBP+16]
  2283. MOV EBX,EAX
  2284. MOV EAX, [EBX]
  2285. OR EAX,EAX
  2286. JE _lib_201
  2287. JMP _lib_200
  2288. _lib_201:
  2289. JMP _lib_198
  2290. _lib_200:
  2291. JMP _lib_197
  2292. _lib_198:
  2293. _lib_202:
  2294. LEA EAX,[EBP+8]
  2295. MOV EBX,EAX
  2296. MOV EAX, [EBX]
  2297. OR EAX,EAX
  2298. JNE _lib_204
  2299. JMP _lib_203
  2300. _lib_204:
  2301. LEA EAX,[EBP+12]
  2302. MOV EBX,EAX
  2303. MOV EAX, [EBX]
  2304. PUSH EAX
  2305. LEA EAX,[EBP+8]
  2306. MOV EBX,EAX
  2307. MOV EAX, [EBX]
  2308. DEC EAX
  2309. MOV [EBX],EAX
  2310. POP EBX
  2311. ADD EAX,EBX
  2312. MOV EBX,EAX
  2313. MOV EAX,32
  2314. MOV [EBX],AL
  2315. JMP _lib_202
  2316. _lib_203:
  2317. LEA EAX,[EBP+12]
  2318. MOV EBX,EAX
  2319. MOV EAX, [EBX]
  2320. MOV ESP,EBP
  2321. POP EBP
  2322. RET
  2323.  
  2324. _itou:
  2325. PUSH EBP
  2326. MOV EBP,ESP
  2327. ADD ESP,-4
  2328. LEA EAX,[EBP+8]
  2329. MOV EBX,EAX
  2330. MOV EAX, [EBX]
  2331. OR EAX,EAX
  2332. JG _lib_207
  2333. JMP _lib_206
  2334. _lib_207:
  2335. LEA EAX,[EBP+12]
  2336. MOV EBX,EAX
  2337. MOV EAX, [EBX]
  2338. PUSH EAX
  2339. LEA EAX,[EBP+8]
  2340. MOV EBX,EAX
  2341. MOV EAX, [EBX]
  2342. DEC EAX
  2343. MOV [EBX],EAX
  2344. POP EBX
  2345. ADD EAX,EBX
  2346. MOV EBX,EAX
  2347. XOR EAX,EAX
  2348. MOV [EBX],AL
  2349. JMP _lib_208
  2350. _lib_206:
  2351. LEA EAX,[EBP+8]
  2352. MOV EBX,EAX
  2353. MOV EAX, [EBX]
  2354. OR EAX,EAX
  2355. JL _lib_210
  2356. JMP _lib_209
  2357. _lib_210:
  2358. LEA EAX,[EBP+8]
  2359. PUSH EAX
  2360. LEA EAX,[EBP+8]
  2361. MOV EBX,EAX
  2362. MOV EAX, [EBX]
  2363. NEG EAX
  2364. POP EBX
  2365. MOV [EBX],EAX
  2366. JMP _lib_211
  2367. _lib_209:
  2368. _lib_212:
  2369. LEA EAX,[EBP+12]
  2370. MOV EBX,EAX
  2371. MOV EAX, [EBX]
  2372. PUSH EAX
  2373. LEA EAX,[EBP+8]
  2374. MOV EBX,EAX
  2375. MOV EAX, [EBX]
  2376. POP EBX
  2377. ADD EAX,EBX
  2378. MOV EBX,EAX
  2379. MOVSX EAX,BYTE [EBX]
  2380. OR EAX,EAX
  2381. JNE _lib_214
  2382. JMP _lib_213
  2383. _lib_214:
  2384. LEA EAX,[EBP+8]
  2385. MOV EBX,EAX
  2386. MOV EAX, [EBX]
  2387. INC EAX
  2388. MOV [EBX],EAX
  2389. JMP _lib_212
  2390. _lib_213:
  2391. _lib_211:
  2392. _lib_208:
  2393. _lib_215:
  2394. LEA EAX,[EBP+8]
  2395. MOV EBX,EAX
  2396. MOV EAX, [EBX]
  2397. OR EAX,EAX
  2398. JNE _lib_217
  2399. JMP _lib_216
  2400. _lib_217:
  2401. LEA EAX,[EBP-4]
  2402. PUSH EAX
  2403. LEA EAX,[EBP+16]
  2404. MOV EBX,EAX
  2405. MOV EAX, [EBX]
  2406. MOV EBX,EAX
  2407. MOV EAX,1
  2408. AND EAX,EBX
  2409. POP EBX
  2410. MOV [EBX],EAX
  2411. LEA EAX,[EBP+16]
  2412. PUSH EAX
  2413. LEA EAX,[EBP+16]
  2414. MOV EBX,EAX
  2415. MOV EAX, [EBX]
  2416. MOV EBX,EAX
  2417. MOV EAX,1
  2418. MOV ECX,EAX
  2419. MOV EAX,EBX
  2420. SAR EAX,CL
  2421. MOV EBX,EAX
  2422. MOV EAX,32767
  2423. AND EAX,EBX
  2424. POP EBX
  2425. MOV [EBX],EAX
  2426. LEA EAX,[EBP+12]
  2427. MOV EBX,EAX
  2428. MOV EAX, [EBX]
  2429. PUSH EAX
  2430. LEA EAX,[EBP+8]
  2431. MOV EBX,EAX
  2432. MOV EAX, [EBX]
  2433. DEC EAX
  2434. MOV [EBX],EAX
  2435. POP EBX
  2436. ADD EAX,EBX
  2437. PUSH EAX
  2438. LEA EAX,[EBP+16]
  2439. MOV EBX,EAX
  2440. MOV EAX, [EBX]
  2441. MOV EBX,EAX
  2442. MOV EAX,5
  2443. XCHG EAX,EBX
  2444. CDQ
  2445. IDIV EBX
  2446. MOV EAX,EDX
  2447. MOV EBX,EAX
  2448. MOV EAX,1
  2449. MOV ECX,EAX
  2450. MOV EAX,EBX
  2451. SAL EAX,CL
  2452. PUSH EAX
  2453. LEA EAX,[EBP-4]
  2454. MOV EBX,EAX
  2455. MOV EAX, [EBX]
  2456. POP EBX
  2457. ADD EAX,EBX
  2458. MOV EBX,48
  2459. ADD EAX,EBX
  2460. POP EBX
  2461. MOV [EBX],AL
  2462. LEA EAX,[EBP+16]
  2463. PUSH EAX
  2464. LEA EAX,[EBP+16]
  2465. MOV EBX,EAX
  2466. MOV EAX, [EBX]
  2467. MOV EBX,EAX
  2468. MOV EAX,5
  2469. XCHG EAX,EBX
  2470. CDQ
  2471. IDIV EBX
  2472. POP EBX
  2473. MOV [EBX],EAX
  2474. OR EAX,EAX
  2475. JE _lib_219
  2476. JMP _lib_218
  2477. _lib_219:
  2478. JMP _lib_216
  2479. _lib_218:
  2480. JMP _lib_215
  2481. _lib_216:
  2482. _lib_220:
  2483. LEA EAX,[EBP+8]
  2484. MOV EBX,EAX
  2485. MOV EAX, [EBX]
  2486. OR EAX,EAX
  2487. JNE _lib_222
  2488. JMP _lib_221
  2489. _lib_222:
  2490. LEA EAX,[EBP+12]
  2491. MOV EBX,EAX
  2492. MOV EAX, [EBX]
  2493. PUSH EAX
  2494. LEA EAX,[EBP+8]
  2495. MOV EBX,EAX
  2496. MOV EAX, [EBX]
  2497. DEC EAX
  2498. MOV [EBX],EAX
  2499. POP EBX
  2500. ADD EAX,EBX
  2501. MOV EBX,EAX
  2502. MOV EAX,32
  2503. MOV [EBX],AL
  2504. JMP _lib_220
  2505. _lib_221:
  2506. LEA EAX,[EBP+12]
  2507. MOV EBX,EAX
  2508. MOV EAX, [EBX]
  2509. MOV ESP,EBP
  2510. POP EBP
  2511. RET
  2512.  
  2513. _itox:
  2514. PUSH EBP
  2515. MOV EBP,ESP
  2516. ADD ESP,-8
  2517. LEA EAX,[EBP+8]
  2518. MOV EBX,EAX
  2519. MOV EAX, [EBX]
  2520. OR EAX,EAX
  2521. JG _lib_225
  2522. JMP _lib_224
  2523. _lib_225:
  2524. LEA EAX,[EBP+12]
  2525. MOV EBX,EAX
  2526. MOV EAX, [EBX]
  2527. PUSH EAX
  2528. LEA EAX,[EBP+8]
  2529. MOV EBX,EAX
  2530. MOV EAX, [EBX]
  2531. DEC EAX
  2532. MOV [EBX],EAX
  2533. POP EBX
  2534. ADD EAX,EBX
  2535. MOV EBX,EAX
  2536. XOR EAX,EAX
  2537. MOV [EBX],AL
  2538. JMP _lib_226
  2539. _lib_224:
  2540. LEA EAX,[EBP+8]
  2541. MOV EBX,EAX
  2542. MOV EAX, [EBX]
  2543. OR EAX,EAX
  2544. JL _lib_228
  2545. JMP _lib_227
  2546. _lib_228:
  2547. LEA EAX,[EBP+8]
  2548. PUSH EAX
  2549. LEA EAX,[EBP+8]
  2550. MOV EBX,EAX
  2551. MOV EAX, [EBX]
  2552. NEG EAX
  2553. POP EBX
  2554. MOV [EBX],EAX
  2555. JMP _lib_229
  2556. _lib_227:
  2557. _lib_230:
  2558. LEA EAX,[EBP+12]
  2559. MOV EBX,EAX
  2560. MOV EAX, [EBX]
  2561. PUSH EAX
  2562. LEA EAX,[EBP+8]
  2563. MOV EBX,EAX
  2564. MOV EAX, [EBX]
  2565. POP EBX
  2566. ADD EAX,EBX
  2567. MOV EBX,EAX
  2568. MOVSX EAX,BYTE [EBX]
  2569. OR EAX,EAX
  2570. JNE _lib_232
  2571. JMP _lib_231
  2572. _lib_232:
  2573. LEA EAX,[EBP+8]
  2574. MOV EBX,EAX
  2575. MOV EAX, [EBX]
  2576. INC EAX
  2577. MOV [EBX],EAX
  2578. JMP _lib_230
  2579. _lib_231:
  2580. _lib_229:
  2581. _lib_226:
  2582. _lib_233:
  2583. LEA EAX,[EBP+8]
  2584. MOV EBX,EAX
  2585. MOV EAX, [EBX]
  2586. OR EAX,EAX
  2587. JNE _lib_235
  2588. JMP _lib_234
  2589. _lib_235:
  2590. LEA EAX,[EBP-4]
  2591. PUSH EAX
  2592. LEA EAX,[EBP+16]
  2593. MOV EBX,EAX
  2594. MOV EAX, [EBX]
  2595. MOV EBX,EAX
  2596. MOV EAX,15
  2597. AND EAX,EBX
  2598. POP EBX
  2599. MOV [EBX],EAX
  2600. LEA EAX,[EBP+16]
  2601. PUSH EAX
  2602. LEA EAX,[EBP+16]
  2603. MOV EBX,EAX
  2604. MOV EAX, [EBX]
  2605. MOV EBX,EAX
  2606. MOV EAX,16
  2607. XCHG EAX,EBX
  2608. CDQ
  2609. IDIV EBX
  2610. POP EBX
  2611. MOV [EBX],EAX
  2612. LEA EAX,[EBP-4]
  2613. MOV EBX,EAX
  2614. MOV EAX, [EBX]
  2615. MOV EBX,EAX
  2616. MOV EAX,10
  2617. CALL __lt
  2618. OR EAX,EAX
  2619. JNE _lib_237
  2620. JMP _lib_236
  2621. _lib_237:
  2622. LEA EAX,[EBP-8]
  2623. MOV EBX,EAX
  2624. MOV EAX,48
  2625. MOV [EBX],EAX
  2626. JMP _lib_238
  2627. _lib_236:
  2628. LEA EAX,[EBP-8]
  2629. MOV EBX,EAX
  2630. MOV EAX,55
  2631. MOV [EBX],EAX
  2632. _lib_238:
  2633. LEA EAX,[EBP+12]
  2634. MOV EBX,EAX
  2635. MOV EAX, [EBX]
  2636. PUSH EAX
  2637. LEA EAX,[EBP+8]
  2638. MOV EBX,EAX
  2639. MOV EAX, [EBX]
  2640. DEC EAX
  2641. MOV [EBX],EAX
  2642. POP EBX
  2643. ADD EAX,EBX
  2644. PUSH EAX
  2645. LEA EAX,[EBP-4]
  2646. MOV EBX,EAX
  2647. MOV EAX, [EBX]
  2648. PUSH EAX
  2649. LEA EAX,[EBP-8]
  2650. MOV EBX,EAX
  2651. MOV EAX, [EBX]
  2652. POP EBX
  2653. ADD EAX,EBX
  2654. POP EBX
  2655. MOV [EBX],AL
  2656. LEA EAX,[EBP+16]
  2657. MOV EBX,EAX
  2658. MOV EAX, [EBX]
  2659. OR EAX,EAX
  2660. JE _lib_240
  2661. JMP _lib_239
  2662. _lib_240:
  2663. JMP _lib_234
  2664. _lib_239:
  2665. JMP _lib_233
  2666. _lib_234:
  2667. _lib_241:
  2668. LEA EAX,[EBP+8]
  2669. MOV EBX,EAX
  2670. MOV EAX, [EBX]
  2671. OR EAX,EAX
  2672. JNE _lib_243
  2673. JMP _lib_242
  2674. _lib_243:
  2675. LEA EAX,[EBP+12]
  2676. MOV EBX,EAX
  2677. MOV EAX, [EBX]
  2678. PUSH EAX
  2679. LEA EAX,[EBP+8]
  2680. MOV EBX,EAX
  2681. MOV EAX, [EBX]
  2682. DEC EAX
  2683. MOV [EBX],EAX
  2684. POP EBX
  2685. ADD EAX,EBX
  2686. MOV EBX,EAX
  2687. MOV EAX,32
  2688. MOV [EBX],AL
  2689. JMP _lib_241
  2690. _lib_242:
  2691. LEA EAX,[EBP+12]
  2692. MOV EBX,EAX
  2693. MOV EAX, [EBX]
  2694. MOV ESP,EBP
  2695. POP EBP
  2696. RET
  2697.  
  2698. __iob:
  2699. times 3*32 db 0x0
  2700.