rendered paste bodygdb>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.