All pastes #240189 Raw Edit

Stuff

public text v1 · immutable
·published 2006-11-05 17:26 UTC
rendered paste body
gdb>file a.out
Using host libthread_db library "/lib/libthread_db.so.1".
gdb>disass main
Dump of assembler code for function main:
0x080483a4 <main+0>:    lea    ecx,[esp+4]
0x080483a8 <main+4>:    and    esp,0xfffffff0
0x080483ab <main+7>:    push   DWORD PTR [ecx-4]
0x080483ae <main+10>:   push   ebp
0x080483af <main+11>:   mov    ebp,esp
0x080483b1 <main+13>:   push   ebx
0x080483b2 <main+14>:   push   ecx
0x080483b3 <main+15>:   sub    esp,0x40
0x080483b6 <main+18>:   mov    DWORD PTR [ebp-48],ecx
0x080483b9 <main+21>:   mov    eax,DWORD PTR [ebp-48]
0x080483bc <main+24>:   cmp    DWORD PTR [eax],0x1
0x080483bf <main+27>:   jle    0x80484dc <main+312>
0x080483c5 <main+33>:   mov    edx,DWORD PTR [ebp-48]
0x080483c8 <main+36>:   cmp    DWORD PTR [edx],0x2
0x080483cb <main+39>:   jg     0x8048431 <main+141>
0x080483cd <main+41>:   mov    ecx,DWORD PTR [ebp-48]
0x080483d0 <main+44>:   mov    eax,DWORD PTR [ecx+8]
0x080483d3 <main+47>:   inc    eax
0x080483d4 <main+48>:   mov    DWORD PTR [esp+8],eax
0x080483d8 <main+52>:   mov    DWORD PTR [esp+4],0x0
0x080483e0 <main+60>:   mov    DWORD PTR [esp],0xffffffaa
0x080483e7 <main+67>:   call   0x80483a4 <main>
0x080483ec <main+72>:   mov    edx,eax
0x080483ee <main+74>:   mov    ebx,DWORD PTR [ebp-48]
0x080483f1 <main+77>:   add    edx,DWORD PTR [ebx+8]
0x080483f4 <main+80>:   mov    eax,0x1
0x080483f9 <main+85>:   mov    ecx,DWORD PTR [ebp-48]
0x080483fc <main+88>:   sub    eax,DWORD PTR [ecx+4]
0x080483ff <main+91>:   mov    DWORD PTR [esp+8],edx
0x08048403 <main+95>:   mov    DWORD PTR [esp+4],eax
0x08048407 <main+99>:   mov    DWORD PTR [esp],0xffffffa9
0x0804840e <main+106>:  call   0x80483a4 <main>
0x08048413 <main+111>:  mov    ebx,DWORD PTR [ebp-48]
0x08048416 <main+114>:  add    eax,DWORD PTR [ebx+8]
0x08048419 <main+117>:  mov    DWORD PTR [esp+8],eax
0x0804841d <main+121>:  mov    DWORD PTR [esp+4],0xfffffff3
0x08048425 <main+129>:  mov    DWORD PTR [esp],0xffffffb1
0x0804842c <main+136>:  call   0x80483a4 <main>
0x08048431 <main+141>:  mov    edx,DWORD PTR [ebp-48]
0x08048434 <main+144>:  mov    eax,DWORD PTR [edx]
0x08048436 <main+146>:  mov    ecx,DWORD PTR [ebp-48]
0x08048439 <main+149>:  cmp    eax,DWORD PTR [ecx+4]
0x0804843c <main+152>:  jge    0x8048460 <main+188>
0x0804843e <main+154>:  mov    ebx,DWORD PTR [ebp-48]
0x08048441 <main+157>:  mov    eax,DWORD PTR [ebx]
0x08048443 <main+159>:  inc    eax
0x08048444 <main+160>:  mov    ecx,DWORD PTR [ebp-48]
0x08048447 <main+163>:  mov    edx,DWORD PTR [ecx+8]
0x0804844a <main+166>:  mov    DWORD PTR [esp+8],edx
0x0804844e <main+170>:  mov    ebx,DWORD PTR [ebp-48]
0x08048451 <main+173>:  mov    edx,DWORD PTR [ebx+4]
0x08048454 <main+176>:  mov    DWORD PTR [esp+4],edx
0x08048458 <main+180>:  mov    DWORD PTR [esp],eax
0x0804845b <main+183>:  call   0x80483a4 <main>
0x08048460 <main+188>:  mov    edx,DWORD PTR [ebp-48]
0x08048463 <main+191>:  mov    eax,DWORD PTR [edx]
0x08048465 <main+193>:  sub    eax,0x1b
0x08048468 <main+196>:  mov    ecx,DWORD PTR [ebp-48]
0x0804846b <main+199>:  mov    edx,DWORD PTR [ecx+8]
0x0804846e <main+202>:  mov    DWORD PTR [esp+8],edx
0x08048472 <main+206>:  mov    DWORD PTR [esp+4],eax
0x08048476 <main+210>:  mov    DWORD PTR [esp],0xffffffa2
0x0804847d <main+217>:  call   0x80483a4 <main>
0x08048482 <main+222>:  test   eax,eax
0x08048484 <main+224>:  je     0x80484ca <main+294>
0x08048486 <main+226>:  mov    ebx,DWORD PTR [ebp-48]
0x08048489 <main+229>:  cmp    DWORD PTR [ebx],0x2
0x0804848c <main+232>:  jne    0x80484ca <main+294>
0x0804848e <main+234>:  mov    eax,DWORD PTR [ebp-48]
0x08048491 <main+237>:  cmp    DWORD PTR [eax+4],0xc
0x08048495 <main+241>:  jg     0x80484bb <main+279>
0x08048497 <main+243>:  mov    edx,DWORD PTR [ebp-48]
0x0804849a <main+246>:  mov    eax,DWORD PTR [edx+4]
0x0804849d <main+249>:  inc    eax
0x0804849e <main+250>:  mov    DWORD PTR [esp+8],0x8048748
0x080484a6 <main+258>:  mov    DWORD PTR [esp+4],eax
0x080484aa <main+262>:  mov    DWORD PTR [esp],0x2
0x080484b1 <main+269>:  call   0x80483a4 <main>
0x080484b6 <main+274>:  mov    DWORD PTR [ebp-36],eax
0x080484b9 <main+277>:  jmp    0x80484c2 <main+286>
0x080484bb <main+279>:  mov    DWORD PTR [ebp-36],0x9
0x080484c2 <main+286>:  mov    ecx,DWORD PTR [ebp-36]
0x080484c5 <main+289>:  mov    DWORD PTR [ebp-40],ecx
0x080484c8 <main+292>:  jmp    0x80484d1 <main+301>
0x080484ca <main+294>:  mov    DWORD PTR [ebp-40],0x10
0x080484d1 <main+301>:  mov    ebx,DWORD PTR [ebp-40]
0x080484d4 <main+304>:  mov    DWORD PTR [ebp-44],ebx
0x080484d7 <main+307>:  jmp    0x804865f <main+699>
0x080484dc <main+312>:  mov    eax,DWORD PTR [ebp-48]
0x080484df <main+315>:  cmp    DWORD PTR [eax],0x0
0x080484e2 <main+318>:  jns    0x80485c4 <main+544>
0x080484e8 <main+324>:  mov    edx,DWORD PTR [ebp-48]
0x080484eb <main+327>:  cmp    DWORD PTR [edx],0xffffffb8
0x080484ee <main+330>:  jge    0x8048517 <main+371>
0x080484f0 <main+332>:  mov    DWORD PTR [esp+8],0x8048754
0x080484f8 <main+340>:  mov    ecx,DWORD PTR [ebp-48]
0x080484fb <main+343>:  mov    eax,DWORD PTR [ecx]
0x080484fd <main+345>:  mov    DWORD PTR [esp+4],eax
0x08048501 <main+349>:  mov    ebx,DWORD PTR [ebp-48]
0x08048504 <main+352>:  mov    eax,DWORD PTR [ebx+4]
0x08048507 <main+355>:  mov    DWORD PTR [esp],eax
0x0804850a <main+358>:  call   0x80483a4 <main>
0x0804850f <main+363>:  mov    DWORD PTR [ebp-28],eax
0x08048512 <main+366>:  jmp    0x80485b9 <main+533>
0x08048517 <main+371>:  mov    eax,DWORD PTR [ebp-48]
0x0804851a <main+374>:  cmp    DWORD PTR [eax],0xffffffce
0x0804851d <main+377>:  jge    0x804857b <main+471>
0x0804851f <main+379>:  mov    edx,DWORD PTR [ebp-48]
0x08048522 <main+382>:  mov    eax,DWORD PTR [edx+8]
0x08048525 <main+385>:  movzx  eax,BYTE PTR [eax]
0x08048528 <main+388>:  movsx  eax,al
0x0804852b <main+391>:  mov    ecx,DWORD PTR [ebp-48]
0x0804852e <main+394>:  cmp    eax,DWORD PTR [ecx+4]
0x08048531 <main+397>:  jne    0x804854f <main+427>
0x08048533 <main+399>:  mov    ebx,DWORD PTR [ebp-48]
0x08048536 <main+402>:  mov    eax,DWORD PTR [ebx+8]
0x08048539 <main+405>:  add    eax,0x1f
0x0804853c <main+408>:  movzx  eax,BYTE PTR [eax]
0x0804853f <main+411>:  movsx  eax,al
0x08048542 <main+414>:  mov    DWORD PTR [esp],eax
0x08048545 <main+417>:  call   0x80482cc <putchar@plt>
0x0804854a <main+422>:  mov    DWORD PTR [ebp-20],eax
0x0804854d <main+425>:  jmp    0x8048573 <main+463>
0x0804854f <main+427>:  mov    edx,DWORD PTR [ebp-48]
0x08048552 <main+430>:  mov    eax,DWORD PTR [edx+8]
0x08048555 <main+433>:  inc    eax
0x08048556 <main+434>:  mov    DWORD PTR [esp+8],eax
0x0804855a <main+438>:  mov    ecx,DWORD PTR [ebp-48]
0x0804855d <main+441>:  mov    eax,DWORD PTR [ecx+4]
0x08048560 <main+444>:  mov    DWORD PTR [esp+4],eax
0x08048564 <main+448>:  mov    DWORD PTR [esp],0xffffffbf
0x0804856b <main+455>:  call   0x80483a4 <main>
0x08048570 <main+460>:  mov    DWORD PTR [ebp-20],eax
0x08048573 <main+463>:  mov    ebx,DWORD PTR [ebp-20]
0x08048576 <main+466>:  mov    DWORD PTR [ebp-24],ebx
0x08048579 <main+469>:  jmp    0x80485b3 <main+527>
0x0804857b <main+471>:  mov    eax,DWORD PTR [ebp-48]
0x0804857e <main+474>:  mov    ecx,DWORD PTR [eax+8]
0x08048581 <main+477>:  inc    ecx
0x08048582 <main+478>:  mov    edx,DWORD PTR [ebp-48]
0x08048585 <main+481>:  mov    eax,DWORD PTR [edx+8]
0x08048588 <main+484>:  movzx  eax,BYTE PTR [eax]
0x0804858b <main+487>:  cmp    al,0x2f
0x0804858d <main+489>:  sete   al
0x08048590 <main+492>:  movzx  eax,al
0x08048593 <main+495>:  mov    edx,eax
0x08048595 <main+497>:  mov    ebx,DWORD PTR [ebp-48]
0x08048598 <main+500>:  add    edx,DWORD PTR [ebx]
0x0804859a <main+502>:  mov    DWORD PTR [esp+8],ecx
0x0804859e <main+506>:  mov    ecx,DWORD PTR [ebp-48]
0x080485a1 <main+509>:  mov    eax,DWORD PTR [ecx+4]
0x080485a4 <main+512>:  mov    DWORD PTR [esp+4],eax
0x080485a8 <main+516>:  mov    DWORD PTR [esp],edx
0x080485ab <main+519>:  call   0x80483a4 <main>
0x080485b0 <main+524>:  mov    DWORD PTR [ebp-24],eax
0x080485b3 <main+527>:  mov    ebx,DWORD PTR [ebp-24]
0x080485b6 <main+530>:  mov    DWORD PTR [ebp-28],ebx
0x080485b9 <main+533>:  mov    eax,DWORD PTR [ebp-28]
0x080485bc <main+536>:  mov    DWORD PTR [ebp-32],eax
0x080485bf <main+539>:  jmp    0x8048659 <main+693>
0x080485c4 <main+544>:  mov    edx,DWORD PTR [ebp-48]
0x080485c7 <main+547>:  cmp    DWORD PTR [edx],0x0
0x080485ca <main+550>:  jle    0x80485ed <main+585>
0x080485cc <main+552>:  mov    DWORD PTR [esp+8],0x80488ed
0x080485d4 <main+560>:  mov    DWORD PTR [esp+4],0x2
0x080485dc <main+568>:  mov    DWORD PTR [esp],0x2
0x080485e3 <main+575>:  call   0x80483a4 <main>
0x080485e8 <main+580>:  mov    DWORD PTR [ebp-16],eax
0x080485eb <main+583>:  jmp    0x8048653 <main+687>
0x080485ed <main+585>:  mov    ecx,DWORD PTR [ebp-48]
0x080485f0 <main+588>:  mov    eax,DWORD PTR [ecx+8]
0x080485f3 <main+591>:  movzx  eax,BYTE PTR [eax]
0x080485f6 <main+594>:  cmp    al,0x2f
0x080485f8 <main+596>:  je     0x804863d <main+665>
0x080485fa <main+598>:  mov    eax,DWORD PTR [ebp-48]
0x080485fd <main+601>:  mov    ebx,DWORD PTR [eax+8]
0x08048600 <main+604>:  inc    ebx
0x08048601 <main+605>:  mov    edx,DWORD PTR [ebp-48]
0x08048604 <main+608>:  mov    eax,DWORD PTR [edx+8]
0x08048607 <main+611>:  movzx  eax,BYTE PTR [eax]
0x0804860a <main+614>:  movsx  eax,al
0x0804860d <main+617>:  mov    DWORD PTR [esp+8],0x80488f0
0x08048615 <main+625>:  mov    DWORD PTR [esp+4],eax
0x08048619 <main+629>:  mov    DWORD PTR [esp],0xffffffc3
0x08048620 <main+636>:  call   0x80483a4 <main>
0x08048625 <main+641>:  mov    DWORD PTR [esp+8],ebx
0x08048629 <main+645>:  mov    DWORD PTR [esp+4],eax
0x0804862d <main+649>:  mov    DWORD PTR [esp],0x0
0x08048634 <main+656>:  call   0x80483a4 <main>
0x08048639 <main+661>:  test   eax,eax
0x0804863b <main+663>:  je     0x8048646 <main+674>
0x0804863d <main+665>:  mov    DWORD PTR [ebp-12],0x1
0x08048644 <main+672>:  jmp    0x804864d <main+681>
0x08048646 <main+674>:  mov    DWORD PTR [ebp-12],0x0
0x0804864d <main+681>:  mov    ecx,DWORD PTR [ebp-12]
0x08048650 <main+684>:  mov    DWORD PTR [ebp-16],ecx
0x08048653 <main+687>:  mov    ebx,DWORD PTR [ebp-16]
0x08048656 <main+690>:  mov    DWORD PTR [ebp-32],ebx
0x08048659 <main+693>:  mov    eax,DWORD PTR [ebp-32]
0x0804865c <main+696>:  mov    DWORD PTR [ebp-44],eax
0x0804865f <main+699>:  mov    eax,DWORD PTR [ebp-44]
0x08048662 <main+702>:  add    esp,0x40
0x08048665 <main+705>:  pop    ecx
0x08048666 <main+706>:  pop    ebx
0x08048667 <main+707>:  pop    ebp
0x08048668 <main+708>:  lea    esp,[ecx-4]
0x0804866b <main+711>:  ret
0x0804866c <main+712>:  nop
0x0804866d <main+713>:  nop
0x0804866e <main+714>:  nop
0x0804866f <main+715>:  nop
End of assembler dump.