Advertisement
Guest User

Untitled

a guest
Apr 30th, 2016
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 20.75 KB | None | 0 0
  1. seg000:7C00 ;
  2. seg000:7C00 ; +-------------------------------------------------------------------------+
  3. seg000:7C00 ; | This file is generated by The Interactive Disassembler (IDA) |
  4. seg000:7C00 ; | Copyright (c) 2007 by DataRescue sa/nv, <ida@datarescue.com> |
  5. seg000:7C00 ; | Licensed to: Mach EDV Dienstleistungen, Jan Mach, 1 user, adv, 11/2007 |
  6. seg000:7C00 ; +-------------------------------------------------------------------------+
  7. seg000:7C00 ;
  8. seg000:7C00 ; Input MD5 : 55443443B1112FB45042EF4E8E515B27
  9. seg000:7C00
  10. seg000:7C00 ; ---------------------------------------------------------------------------
  11. seg000:7C00 ; File Name : D:\Projects\qck\qck.IMA
  12. seg000:7C00 ; Format : Binary file
  13. seg000:7C00 ; Base Address: 0000h Range: 0000h - 168000h Loaded length: 168000h
  14. seg000:7C00
  15. seg000:7C00 .686p
  16. seg000:7C00 .mmx
  17. seg000:7C00 .model flat
  18. seg000:7C00
  19. seg000:7C00 ; ===========================================================================
  20. seg000:7C00
  21. seg000:7C00 ; Segment type: Pure code
  22. seg000:7C00 seg000 segment byte public 'CODE' use16
  23. seg000:7C00 assume cs:seg000
  24. seg000:7C00 ;org 7C00h
  25. seg000:7C00 assume es:nothing, ss:nothing, ds:nothing, fs:nothing, gs:nothing
  26. seg000:7C00 jmp loc_7D11 ; org 7c00h
  27. seg000:7C00 ;
  28. seg000:7C00 ; ---------------------------------------------------------------------------
  29. seg000:7C03 db 55h ; U
  30. seg000:7C04 db 58h ; X
  31. seg000:7C05 db 42h ; B
  32. seg000:7C06 db 4Fh ; O
  33. seg000:7C07 db 4Fh ; O
  34. seg000:7C08 db 54h ; T
  35. seg000:7C09 db 20h
  36. seg000:7C0A db 20h
  37. seg000:7C0B db 0
  38. seg000:7C0C db 2
  39. seg000:7C0D db 1
  40. seg000:7C0E db 1
  41. seg000:7C0F db 0
  42. seg000:7C10 db 2
  43. seg000:7C11 db 0E0h ; a
  44. seg000:7C12 db 0
  45. seg000:7C13 db 40h ; @
  46. seg000:7C14 db 0Bh
  47. seg000:7C15 db 0F0h ; =
  48. seg000:7C16 db 9
  49. seg000:7C17 db 0
  50. seg000:7C18 db 12h
  51. seg000:7C19 db 0
  52. seg000:7C1A db 2
  53. seg000:7C1B db 0
  54. seg000:7C1C db 0
  55. seg000:7C1D db 0
  56. seg000:7C1E db 0
  57. seg000:7C1F db 0
  58. seg000:7C20 db 0
  59. seg000:7C21 db 0
  60. seg000:7C22 db 0
  61. seg000:7C23 db 0
  62. seg000:7C24 db 0
  63. seg000:7C25 db 0
  64. seg000:7C26 db 29h ; )
  65. seg000:7C27 db 7
  66. seg000:7C28 db 19h
  67. seg000:7C29 db 75h ; u
  68. seg000:7C2A db 24h ; $
  69. seg000:7C2B db 4Eh ; N
  70. seg000:7C2C db 4Fh ; O
  71. seg000:7C2D db 20h
  72. seg000:7C2E db 4Eh ; N
  73. seg000:7C2F db 41h ; A
  74. seg000:7C30 db 4Dh ; M
  75. seg000:7C31 db 45h ; E
  76. seg000:7C32 db 20h
  77. seg000:7C33 db 20h
  78. seg000:7C34 db 20h
  79. seg000:7C35 db 20h
  80. seg000:7C36 db 46h ; F
  81. seg000:7C37 db 41h ; A
  82. seg000:7C38 db 54h ; T
  83. seg000:7C39 db 31h ; 1
  84. seg000:7C3A db 32h ; 2
  85. seg000:7C3B db 20h
  86. seg000:7C3C db 20h
  87. seg000:7C3D db 20h
  88. seg000:7C3E db 4Bh ; K
  89. seg000:7C3F db 65h ; e
  90. seg000:7C40 db 72h ; r
  91. seg000:7C41 db 6Eh ; n
  92. seg000:7C42 db 65h ; e
  93. seg000:7C43 db 6Ch ; l
  94. seg000:7C44 db 20h
  95. seg000:7C45 db 4Ch ; L
  96. seg000:7C46 db 6Fh ; o
  97. seg000:7C47 db 61h ; a
  98. seg000:7C48 db 64h ; d
  99. seg000:7C49 db 69h ; i
  100. seg000:7C4A db 6Eh ; n
  101. seg000:7C4B db 67h ; g
  102. seg000:7C4C db 20h
  103. seg000:7C4D db 0
  104. seg000:7C4E db 0Dh
  105. seg000:7C4F db 0Ah
  106. seg000:7C50 db 45h ; E
  107. seg000:7C51 db 72h ; r
  108. seg000:7C52 db 72h ; r
  109. seg000:7C53 db 6Fh ; o
  110. seg000:7C54 db 72h ; r
  111. seg000:7C55 db 20h
  112. seg000:7C56 db 64h ; d
  113. seg000:7C57 db 65h ; e
  114. seg000:7C58 db 74h ; t
  115. seg000:7C59 db 65h ; e
  116. seg000:7C5A db 63h ; c
  117. seg000:7C5B db 74h ; t
  118. seg000:7C5C db 65h ; e
  119. seg000:7C5D db 64h ; d
  120. seg000:7C5E db 2Ch ; ,
  121. seg000:7C5F db 20h
  122. seg000:7C60 db 70h ; p
  123. seg000:7C61 db 72h ; r
  124. seg000:7C62 db 65h ; e
  125. seg000:7C63 db 73h ; s
  126. seg000:7C64 db 73h ; s
  127. seg000:7C65 db 20h
  128. seg000:7C66 db 61h ; a
  129. seg000:7C67 db 20h
  130. seg000:7C68 db 6Bh ; k
  131. seg000:7C69 db 65h ; e
  132. seg000:7C6A db 79h ; y
  133. seg000:7C6B db 20h
  134. seg000:7C6C db 74h ; t
  135. seg000:7C6D db 6Fh ; o
  136. seg000:7C6E db 20h
  137. seg000:7C6F db 72h ; r
  138. seg000:7C70 db 65h ; e
  139. seg000:7C71 db 62h ; b
  140. seg000:7C72 db 6Fh ; o
  141. seg000:7C73 db 6Fh ; o
  142. seg000:7C74 db 74h ; t
  143. seg000:7C75 db 0
  144. seg000:7C76 db 53h ; S
  145. seg000:7C77 db 65h ; e
  146. seg000:7C78 db 6Ch ; l
  147. seg000:7C79 db 66h ; f
  148. seg000:7C7A db 20h
  149. seg000:7C7B db 42h ; B
  150. seg000:7C7C db 6Fh ; o
  151. seg000:7C7D db 6Fh ; o
  152. seg000:7C7E db 74h ; t
  153. seg000:7C7F db 20h
  154. seg000:7C80 db 41h ; A
  155. seg000:7C81 db 70h ; p
  156. seg000:7C82 db 70h ; p
  157. seg000:7C83 db 6Ch ; l
  158. seg000:7C84 db 69h ; i
  159. seg000:7C85 db 63h ; c
  160. seg000:7C86 db 61h ; a
  161. seg000:7C87 db 74h ; t
  162. seg000:7C88 db 69h ; i
  163. seg000:7C89 db 6Fh ; o
  164. seg000:7C8A db 6Eh ; n
  165. seg000:7C8B db 0
  166. seg000:7C8C db 75h ; u
  167. seg000:7C8D db 6Eh ; n
  168. seg000:7C8E db 61h ; a
  169. seg000:7C8F db 75h ; u
  170. seg000:7C90 db 74h ; t
  171. seg000:7C91 db 68h ; h
  172. seg000:7C92 db 6Fh ; o
  173. seg000:7C93 db 72h ; r
  174. seg000:7C94 db 69h ; i
  175. seg000:7C95 db 7Ah ; z
  176. seg000:7C96 db 65h ; e
  177. seg000:7C97 db 64h ; d
  178. seg000:7C98 db 20h
  179. seg000:7C99 db 63h ; c
  180. seg000:7C9A db 6Fh ; o
  181. seg000:7C9B db 70h ; p
  182. seg000:7C9C db 79h ; y
  183. seg000:7C9D db 20h
  184. seg000:7C9E db 70h ; p
  185. seg000:7C9F db 72h ; r
  186. seg000:7CA0 db 6Fh ; o
  187. seg000:7CA1 db 68h ; h
  188. seg000:7CA2 db 69h ; i
  189. seg000:7CA3 db 62h ; b
  190. seg000:7CA4 db 69h ; i
  191. seg000:7CA5 db 74h ; t
  192. seg000:7CA6 db 65h ; e
  193. seg000:7CA7 db 64h ; d
  194. seg000:7CA8 db 0
  195. seg000:7CA9 db 20h
  196. seg000:7CAA db 20h
  197. seg000:7CAB db 20h
  198. seg000:7CAC db 20h
  199. seg000:7CAD db 20h
  200. seg000:7CAE db 20h
  201. seg000:7CAF db 20h
  202. seg000:7CB0 db 20h
  203. seg000:7CB1 db 20h
  204. seg000:7CB2 db 20h
  205. seg000:7CB3 db 20h
  206. seg000:7CB4 db 20h
  207. seg000:7CB5 db 20h
  208. seg000:7CB6 db 20h
  209. seg000:7CB7 db 20h
  210. seg000:7CB8 db 20h
  211. seg000:7CB9 db 20h
  212. seg000:7CBA db 20h
  213. seg000:7CBB db 20h
  214. seg000:7CBC db 20h
  215. seg000:7CBD db 20h
  216. seg000:7CBE db 20h
  217. seg000:7CBF db 20h
  218. seg000:7CC0 db 20h
  219. seg000:7CC1 db 20h
  220. seg000:7CC2 db 20h
  221. seg000:7CC3 db 20h
  222. seg000:7CC4 db 20h
  223. seg000:7CC5 db 20h
  224. seg000:7CC6 db 20h
  225. seg000:7CC7 db 20h
  226. seg000:7CC8 db 20h
  227. seg000:7CC9 db 20h
  228. seg000:7CCA db 20h
  229. seg000:7CCB db 20h
  230. seg000:7CCC db 20h
  231. seg000:7CCD db 20h
  232. seg000:7CCE db 20h
  233. seg000:7CCF db 20h
  234. seg000:7CD0 db 20h
  235. seg000:7CD1 db 20h
  236. seg000:7CD2 db 20h
  237. seg000:7CD3 db 20h
  238. seg000:7CD4 db 20h
  239. seg000:7CD5 db 20h
  240. seg000:7CD6 db 20h
  241. seg000:7CD7 db 20h
  242. seg000:7CD8 db 20h
  243. seg000:7CD9 db 20h
  244. seg000:7CDA db 20h
  245. seg000:7CDB db 20h
  246. seg000:7CDC db 20h
  247. seg000:7CDD db 20h
  248. seg000:7CDE db 20h
  249. seg000:7CDF db 20h
  250. seg000:7CE0 db 20h
  251. seg000:7CE1 db 20h
  252. seg000:7CE2 db 20h
  253. seg000:7CE3 db 20h
  254. seg000:7CE4 db 20h
  255. seg000:7CE5 db 20h
  256. seg000:7CE6 db 20h
  257. seg000:7CE7 db 20h
  258. seg000:7CE8 db 20h
  259. seg000:7CE9 db 20h
  260. seg000:7CEA db 20h
  261. seg000:7CEB db 20h
  262. seg000:7CEC db 20h
  263. seg000:7CED db 20h
  264. seg000:7CEE db 20h
  265. seg000:7CEF db 20h
  266. seg000:7CF0 db 20h
  267. seg000:7CF1 db 20h
  268. seg000:7CF2 db 20h
  269. seg000:7CF3 db 20h
  270. seg000:7CF4 db 20h
  271. seg000:7CF5
  272. seg000:7CF5 ; =============== S U B R O U T I N E =======================================
  273. seg000:7CF5
  274. seg000:7CF5
  275. seg000:7CF5 sub_7CF5 proc near ; CODE XREF: seg000:7D42p
  276. seg000:7CF5 ; seg000:7DD4p
  277. seg000:7CF5 push ax
  278. seg000:7CF6 push bx
  279. seg000:7CF7 jmp short loc_7D00
  280. seg000:7CF9 ; ---------------------------------------------------------------------------
  281. seg000:7CF9
  282. seg000:7CF9 loc_7CF9: ; CODE XREF: sub_7CF5+Ej
  283. seg000:7CF9 mov ah, 0Eh
  284. seg000:7CFB mov bx, 7
  285. seg000:7CFE int 10h ; - VIDEO - WRITE CHARACTER AND ADVANCE CURSOR (TTY WRITE)
  286. seg000:7CFE ; AL = character, BH = display page (alpha modes)
  287. seg000:7CFE ; BL = foreground color (graphics modes)
  288. seg000:7D00
  289. seg000:7D00 loc_7D00: ; CODE XREF: sub_7CF5+2j
  290. seg000:7D00 lodsb
  291. seg000:7D01 or al, al
  292. seg000:7D03 jnz short loc_7CF9
  293. seg000:7D05 pop bx
  294. seg000:7D06 pop ax
  295. seg000:7D07 retn
  296. seg000:7D07 sub_7CF5 endp
  297. seg000:7D07
  298. seg000:7D08
  299. seg000:7D08 ; =============== S U B R O U T I N E =======================================
  300. seg000:7D08
  301. seg000:7D08
  302. seg000:7D08 sub_7D08 proc near ; CODE XREF: seg000:7D45p
  303. seg000:7D08 ; seg000:7D8Ap ...
  304. seg000:7D08 mov ah, 0
  305. seg000:7D08 sub_7D08 endp ; sp-analysis failed
  306. seg000:7D08
  307. seg000:7D0A
  308. seg000:7D0A ; =============== S U B R O U T I N E =======================================
  309. seg000:7D0A
  310. seg000:7D0A
  311. seg000:7D0A sub_7D0A proc near ; CODE XREF: seg000:7D81p
  312. seg000:7D0A push ax
  313. seg000:7D0B mov dl, 0
  314. seg000:7D0D int 13h ; DISK - RESET DISK SYSTEM
  315. seg000:7D0D ; DL = drive (if bit 7 is set both hard disks and floppy disks reset)
  316. seg000:7D0F pop ax
  317. seg000:7D10 retn
  318. seg000:7D10 sub_7D0A endp
  319. seg000:7D10
  320. seg000:7D11 ; ---------------------------------------------------------------------------
  321. seg000:7D11
  322. seg000:7D11 loc_7D11: ; CODE XREF: seg000:7C00j
  323. seg000:7D11 jmp far ptr 7C0h:116h
  324. seg000:7D16 mov bp, 7C00h
  325. seg000:7D19 xor cx, cx
  326. seg000:7D1B mov es, cx
  327. seg000:7D1D mov ss, cx
  328. seg000:7D1F lea sp, [bp-0Ch]
  329. seg000:7D22 mov cl, 0Bh
  330. seg000:7D24 mov di, sp
  331. seg000:7D26 lds si, [bp-7B88h]
  332. seg000:7D2A push ds
  333. seg000:7D2B push si
  334. seg000:7D2C mov [bp-7B88h], di
  335. seg000:7D30 mov word ptr [bp-7B86h], es
  336. seg000:7D34 cld
  337. seg000:7D35 rep movsb
  338. seg000:7D37 push cs
  339. seg000:7D38 pop ds
  340. seg000:7D39 mov byte ptr [bp-8], 12h
  341. seg000:7D3D push cs
  342. seg000:7D3E pop ds
  343. seg000:7D3F mov si, 3Eh ; '>'
  344. seg000:7D42 call sub_7CF5
  345. seg000:7D45 call sub_7D08
  346. seg000:7D48 push cs
  347. seg000:7D49 pop es
  348. seg000:7D4A mov bx, 200h
  349. seg000:7D4D mov dh, 1
  350. seg000:7D4F mov cx, 10h
  351. seg000:7D52 mov al, 3
  352. seg000:7D54 jmp short loc_7D5A
  353. seg000:7D56 ; ---------------------------------------------------------------------------
  354. seg000:7D56
  355. seg000:7D56 loc_7D56: ; CODE XREF: seg000:7DC0j
  356. seg000:7D56 mov al, 12h
  357. seg000:7D58
  358. seg000:7D58 loc_7D58: ; CODE XREF: seg000:7DC4j
  359. seg000:7D58 mov cl, 1
  360. seg000:7D5A
  361. seg000:7D5A loc_7D5A: ; CODE XREF: seg000:7D54j
  362. seg000:7D5A push cx
  363. seg000:7D5B push ax
  364. seg000:7D5C mov ax, es
  365. seg000:7D5E mov cl, 4
  366. seg000:7D60 shl ax, cl
  367. seg000:7D62 add ax, bx
  368. seg000:7D64 neg ax
  369. seg000:7D66 mov cl, 9
  370. seg000:7D68 shr ax, cl
  371. seg000:7D6A pop cx
  372. seg000:7D6B xchg ax, cx
  373. seg000:7D6C mov ah, 0
  374. seg000:7D6E sub al, cl
  375. seg000:7D70 jbe short loc_7D74
  376. seg000:7D72 xchg al, ah
  377. seg000:7D74
  378. seg000:7D74 loc_7D74: ; CODE XREF: seg000:7D70j
  379. seg000:7D74 add al, cl
  380. seg000:7D76 pop cx
  381. seg000:7D77
  382. seg000:7D77 loc_7D77: ; CODE XREF: seg000:7DA8j
  383. seg000:7D77 push ax
  384. seg000:7D78 mov si, 5
  385. seg000:7D7B
  386. seg000:7D7B loc_7D7B: ; CODE XREF: seg000:7D8Dj
  387. seg000:7D7B mov ah, 2
  388. seg000:7D7D or al, al
  389. seg000:7D7F jz short loc_7D84
  390. seg000:7D81 call sub_7D0A
  391. seg000:7D84
  392. seg000:7D84 loc_7D84: ; CODE XREF: seg000:7D7Fj
  393. seg000:7D84 jnb short loc_7D8F
  394. seg000:7D86 dec si
  395. seg000:7D87 stc
  396. seg000:7D88 jz short loc_7DC7
  397. seg000:7D8A call sub_7D08
  398. seg000:7D8D jmp short loc_7D7B
  399. seg000:7D8F ; ---------------------------------------------------------------------------
  400. seg000:7D8F
  401. seg000:7D8F loc_7D8F: ; CODE XREF: seg000:loc_7D84j
  402. seg000:7D8F push dx
  403. seg000:7D90 push cx
  404. seg000:7D91 mov cl, 20h ; ' '
  405. seg000:7D93 mul cl
  406. seg000:7D95 mov dx, es
  407. seg000:7D97 add ax, dx
  408. seg000:7D99 mov es, ax
  409. seg000:7D9B pop cx
  410. seg000:7D9C pop dx
  411. seg000:7D9D pop ax
  412. seg000:7D9E or ah, ah
  413. seg000:7DA0 jz short loc_7DAA
  414. seg000:7DA2 add cl, al
  415. seg000:7DA4 mov al, ah
  416. seg000:7DA6 mov ah, 0
  417. seg000:7DA8 jmp short loc_7D77
  418. seg000:7DAA ; ---------------------------------------------------------------------------
  419. seg000:7DAA
  420. seg000:7DAA loc_7DAA: ; CODE XREF: seg000:7DA0j
  421. seg000:7DAA inc dh
  422. seg000:7DAC cmp dh, 2
  423. seg000:7DAF jb short loc_7DB5
  424. seg000:7DB1 mov dh, 0
  425. seg000:7DB3 inc ch
  426. seg000:7DB5
  427. seg000:7DB5 loc_7DB5: ; CODE XREF: seg000:7DAFj
  428. seg000:7DB5 mov ax, 0E2Eh
  429. seg000:7DB8 int 10h ; - VIDEO - WRITE CHARACTER AND ADVANCE CURSOR (TTY WRITE)
  430. seg000:7DB8 ; AL = character, BH = display page (alpha modes)
  431. seg000:7DB8 ; BL = foreground color (graphics modes)
  432. seg000:7DBA mov cl, dh
  433. seg000:7DBC cmp cx, 0A01h
  434. seg000:7DC0 jb short loc_7D56
  435. seg000:7DC2 mov al, 0Bh
  436. seg000:7DC4 jz short loc_7D58
  437. seg000:7DC6 clc
  438. seg000:7DC7
  439. seg000:7DC7 loc_7DC7: ; CODE XREF: seg000:7D88j
  440. seg000:7DC7 pop word ptr [bp-7B88h]
  441. seg000:7DCB pop word ptr [bp-7B86h]
  442. seg000:7DCF jnb short loc_7DDF
  443. seg000:7DD1 mov si, 4Eh ; 'N'
  444. seg000:7DD4 call sub_7CF5
  445. seg000:7DD7 mov ah, 0
  446. seg000:7DD9 int 16h ; KEYBOARD - READ CHAR FROM BUFFER, WAIT IF EMPTY
  447. seg000:7DD9 ; Return: AH = scan code, AL = character
  448. seg000:7DDB int 18h ; TRANSFER TO ROM BASIC
  449. seg000:7DDB ; causes transfer to ROM-based BASIC (IBM-PC)
  450. seg000:7DDB ; often reboots a compatible; often has no effect at all
  451. seg000:7DDD
  452. seg000:7DDD loc_7DDD: ; CODE XREF: seg000:loc_7DDDj
  453. seg000:7DDD jmp short loc_7DDD
  454. seg000:7DDF ; ---------------------------------------------------------------------------
  455. seg000:7DDF
  456. seg000:7DDF loc_7DDF: ; CODE XREF: seg000:7DCFj
  457. seg000:7DDF call sub_7D08
  458. seg000:7DE2 dec bx
  459. seg000:7DE3 dec bx
  460. seg000:7DE4 mov word ptr [bx], 9090h
  461. seg000:7DE8
  462. seg000:7DE8 loc_7DE8: ; CODE XREF: seg000:7DECj
  463. seg000:7DE8 ; seg000:7DFCj
  464. seg000:7DE8 sub es:[bx], bx
  465. seg000:7DEB dec bx
  466. seg000:7DEC jns short loc_7DE8
  467. seg000:7DEE mov bx, es
  468. seg000:7DF0 sub bx, 20h ; ' '
  469. seg000:7DF3 mov es, bx
  470. seg000:7DF5 assume es:nothing
  471. seg000:7DF5 mov ax, cs
  472. seg000:7DF7 cmp ax, bx
  473. seg000:7DF9 mov bx, 1FEh
  474. seg000:7DFC jnz short loc_7DE8
  475. seg000:7DFE push bp
  476. seg000:7DFF stosb
  477. seg000:7DFF ; ---------------------------------------------------------------------------
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement