SHARE
TWEET

MITRE CTF Bin 200 #2 : 1

ThatSnail Jul 29th, 2013 10 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. elliptic@elliptic:~/solved/bin2002$ gdb --quiet Game.bin
  2. Reading symbols from /home/elliptic/solved/bin2002/Game.bin...(no debugging symbols found)...done.
  3. (gdb) disas main
  4. Dump of assembler code for function main:
  5.    0x0804896c <+0>:     push   ebp
  6.    0x0804896d <+1>:     mov    ebp,esp
  7.    0x0804896f <+3>:     push   ebx
  8.    0x08048970 <+4>:     and    esp,0xfffffff0
  9.    0x08048973 <+7>:     sub    esp,0x170
  10.    0x08048979 <+13>:    cmp    DWORD PTR [ebp+0x8],0x1
  11.    0x0804897d <+17>:    jg     0x80489ac <main+64>
  12.    0x0804897f <+19>:    mov    eax,DWORD PTR [ebp+0xc]
  13.    0x08048982 <+22>:    mov    eax,DWORD PTR [eax]
  14.    0x08048984 <+24>:    mov    DWORD PTR [esp+0x4],eax
  15.    0x08048988 <+28>:    mov    DWORD PTR [esp],0x8049d90
  16.    0x0804898f <+35>:    call   0x80487e0 <printf@plt>
  17.    0x08048994 <+40>:    mov    DWORD PTR [esp],0x8049da8
  18.    0x0804899b <+47>:    call   0x8048840 <puts@plt>
  19.    0x080489a0 <+52>:    mov    DWORD PTR [esp],0x0
  20.    0x080489a7 <+59>:    call   0x8048870 <exit@plt>
  21.    0x080489ac <+64>:    mov    eax,DWORD PTR [ebp+0xc]
  22.    0x080489af <+67>:    add    eax,0x4
  23.    0x080489b2 <+70>:    mov    eax,DWORD PTR [eax]
  24.    0x080489b4 <+72>:    mov    DWORD PTR [esp+0x4],0x8049dd3
  25.    0x080489bc <+80>:    mov    DWORD PTR [esp],eax
  26.    0x080489bf <+83>:    call   0x80487d0 <fopen@plt>
  27.    0x080489c4 <+88>:    mov    DWORD PTR [esp+0x160],eax
  28.    0x080489cb <+95>:    cmp    DWORD PTR [esp+0x160],0x0
  29.    0x080489d3 <+103>:   jne    0x80489ed <main+129>
  30.    0x080489d5 <+105>:   mov    DWORD PTR [esp],0x8049dd8
  31.    0x080489dc <+112>:   call   0x8048790 <perror@plt>
  32.    0x080489e1 <+117>:   mov    DWORD PTR [esp],0x1
  33.    0x080489e8 <+124>:   call   0x8048870 <exit@plt>
  34.    0x080489ed <+129>:   mov    eax,DWORD PTR [esp+0x160]
  35.    0x080489f4 <+136>:   mov    DWORD PTR [esp+0xc],eax
  36.    0x080489f8 <+140>:   mov    DWORD PTR [esp+0x8],0x1
  37.    0x08048a00 <+148>:   mov    DWORD PTR [esp+0x4],0x80
  38.    0x08048a08 <+156>:   lea    eax,[esp+0xb8]
  39. ---Type <return> to continue, or q <return> to quit---
  40.    0x08048a0f <+163>:   mov    DWORD PTR [esp],eax
  41.    0x08048a12 <+166>:   call   0x8048850 <fread@plt>
  42.    0x08048a17 <+171>:   mov    DWORD PTR [esp+0x15c],eax
  43.    0x08048a1e <+178>:   cmp    DWORD PTR [esp+0x15c],0x1
  44.    0x08048a26 <+186>:   je     0x8048a59 <main+237>
  45.    0x08048a28 <+188>:   mov    eax,ds:0x804a16c
  46.    0x08048a2d <+193>:   mov    DWORD PTR [esp+0xc],eax
  47.    0x08048a31 <+197>:   mov    DWORD PTR [esp+0x8],0x1f
  48.    0x08048a39 <+205>:   mov    DWORD PTR [esp+0x4],0x1
  49.    0x08048a41 <+213>:   mov    DWORD PTR [esp],0x8049df8
  50.    0x08048a48 <+220>:   call   0x80487f0 <fwrite@plt>
  51.    0x08048a4d <+225>:   mov    DWORD PTR [esp],0x2
  52.    0x08048a54 <+232>:   call   0x8048870 <exit@plt>
  53.    0x08048a59 <+237>:   mov    DWORD PTR [esp],0x0
  54.    0x08048a60 <+244>:   call   0x8048810 <time@plt>
  55.    0x08048a65 <+249>:   mov    DWORD PTR [esp+0x16c],eax
  56.    0x08048a6c <+256>:   call   0x8048740 <random@plt>
  57.    0x08048a71 <+261>:   mov    DWORD PTR [esp+0x168],eax
  58.    0x08048a78 <+268>:   mov    DWORD PTR [esp+0x164],0x0
  59.    0x08048a83 <+279>:   jmp    0x8048ad6 <main+362>
  60.    0x08048a85 <+281>:   mov    eax,DWORD PTR [esp+0x16c]
  61.    0x08048a8c <+288>:   mov    edx,eax
  62.    0x08048a8e <+290>:   mov    eax,DWORD PTR [esp+0x168]
  63.    0x08048a95 <+297>:   xor    edx,eax
  64.    0x08048a97 <+299>:   mov    eax,DWORD PTR [esp+0x164]
  65.    0x08048a9e <+306>:   xor    eax,edx
  66.    0x08048aa0 <+308>:   lea    ecx,[esp+0x38]
  67.    0x08048aa4 <+312>:   mov    edx,DWORD PTR [esp+0x164]
  68.    0x08048aab <+319>:   add    edx,ecx
  69.    0x08048aad <+321>:   mov    BYTE PTR [edx],al
  70.    0x08048aaf <+323>:   call   0x8048740 <random@plt>
  71.    0x08048ab4 <+328>:   mov    DWORD PTR [esp+0x168],eax
  72.    0x08048abb <+335>:   mov    DWORD PTR [esp],0x0
  73.    0x08048ac2 <+342>:   call   0x8048810 <time@plt>
  74.    0x08048ac7 <+347>:   mov    DWORD PTR [esp+0x16c],eax
  75. ---Type <return> to continue, or q <return> to quit---
  76.    0x08048ace <+354>:   add    DWORD PTR [esp+0x164],0x1
  77.    0x08048ad6 <+362>:   cmp    DWORD PTR [esp+0x164],0x7f
  78.    0x08048ade <+370>:   jle    0x8048a85 <main+281>
  79.    0x08048ae0 <+372>:   mov    DWORD PTR [esp+0x164],0x0
  80.    0x08048aeb <+383>:   jmp    0x8048b1c <main+432>
  81.    0x08048aed <+385>:   lea    edx,[esp+0x38]
  82.    0x08048af1 <+389>:   mov    eax,DWORD PTR [esp+0x164]
  83.    0x08048af8 <+396>:   add    eax,edx
  84.    0x08048afa <+398>:   movzx  edx,BYTE PTR [eax]
  85.    0x08048afd <+401>:   lea    ecx,[esp+0xb8]
  86.    0x08048b04 <+408>:   mov    eax,DWORD PTR [esp+0x164]
  87.    0x08048b0b <+415>:   add    eax,ecx
  88.    0x08048b0d <+417>:   movzx  eax,BYTE PTR [eax]
  89.    0x08048b10 <+420>:   cmp    dl,al
  90.    0x08048b12 <+422>:   jne    0x8048b28 <main+444>
  91.    0x08048b14 <+424>:   add    DWORD PTR [esp+0x164],0x1
  92.    0x08048b1c <+432>:   cmp    DWORD PTR [esp+0x164],0x7f
  93.    0x08048b24 <+440>:   jle    0x8048aed <main+385>
  94.    0x08048b26 <+442>:   jmp    0x8048b29 <main+445>
  95.    0x08048b28 <+444>:   nop
  96.    0x08048b29 <+445>:   cmp    DWORD PTR [esp+0x164],0x80
  97.    0x08048b34 <+456>:   je     0x8048b67 <main+507>
  98.    0x08048b36 <+458>:   mov    eax,ds:0x804a16c
  99.    0x08048b3b <+463>:   mov    DWORD PTR [esp+0xc],eax
  100.    0x08048b3f <+467>:   mov    DWORD PTR [esp+0x8],0x16
  101.    0x08048b47 <+475>:   mov    DWORD PTR [esp+0x4],0x1
  102.    0x08048b4f <+483>:   mov    DWORD PTR [esp],0x8049e18
  103.    0x08048b56 <+490>:   call   0x80487f0 <fwrite@plt>
  104.    0x08048b5b <+495>:   mov    DWORD PTR [esp],0x3
  105.    0x08048b62 <+502>:   call   0x8048870 <exit@plt>
  106.    0x08048b67 <+507>:   mov    DWORD PTR [esp],0x0
  107.    0x08048b6e <+514>:   call   0x80487c0 <SDL_Init@plt>
  108.    0x08048b73 <+519>:   test   eax,eax
  109.    0x08048b75 <+521>:   je     0x8048ba2 <main+566>
  110.    0x08048b77 <+523>:   call   0x8048860 <SDL_GetError@plt>
  111. ---Type <return> to continue, or q <return> to quit---
  112.    0x08048b7c <+528>:   mov    edx,DWORD PTR ds:0x804a16c
  113.    0x08048b82 <+534>:   mov    DWORD PTR [esp+0x8],eax
  114.    0x08048b86 <+538>:   mov    DWORD PTR [esp+0x4],0x8049e30
  115.    0x08048b8e <+546>:   mov    DWORD PTR [esp],edx
  116.    0x08048b91 <+549>:   call   0x8048800 <fprintf@plt>
  117.    0x08048b96 <+554>:   mov    DWORD PTR [esp],0x4
  118.    0x08048b9d <+561>:   call   0x8048870 <exit@plt>
  119.    0x08048ba2 <+566>:   mov    DWORD PTR [esp+0xc],0x0
  120.    0x08048baa <+574>:   mov    DWORD PTR [esp+0x8],0x10
  121.    0x08048bb2 <+582>:   mov    DWORD PTR [esp+0x4],0x12c
  122.    0x08048bba <+590>:   mov    DWORD PTR [esp],0x140
  123.    0x08048bc1 <+597>:   call   0x8048780 <SDL_SetVideoMode@plt>
  124.    0x08048bc6 <+602>:   mov    DWORD PTR [esp+0x158],eax
  125.    0x08048bcd <+609>:   cmp    DWORD PTR [esp+0x158],0x0
  126.    0x08048bd5 <+617>:   jne    0x8048c02 <main+662>
  127.    0x08048bd7 <+619>:   call   0x8048860 <SDL_GetError@plt>
  128.    0x08048bdc <+624>:   mov    edx,DWORD PTR ds:0x804a16c
  129.    0x08048be2 <+630>:   mov    DWORD PTR [esp+0x8],eax
  130.    0x08048be6 <+634>:   mov    DWORD PTR [esp+0x4],0x8049e60
  131.    0x08048bee <+642>:   mov    DWORD PTR [esp],edx
  132.    0x08048bf1 <+645>:   call   0x8048800 <fprintf@plt>
  133.    0x08048bf6 <+650>:   mov    DWORD PTR [esp],0x5
  134.    0x08048bfd <+657>:   call   0x8048870 <exit@plt>
  135.    0x08048c02 <+662>:   mov    WORD PTR [esp+0x32],0x0
  136.    0x08048c09 <+669>:   movzx  eax,WORD PTR [esp+0x32]
  137.    0x08048c0e <+674>:   mov    WORD PTR [esp+0x30],ax
  138.    0x08048c13 <+679>:   mov    WORD PTR [esp+0x34],0x140
  139.    0x08048c1a <+686>:   mov    WORD PTR [esp+0x36],0x12c
  140.    0x08048c21 <+693>:   mov    eax,DWORD PTR [esp+0x158]
  141.    0x08048c28 <+700>:   mov    eax,DWORD PTR [eax+0x4]
  142.    0x08048c2b <+703>:   mov    DWORD PTR [esp+0xc],0x0
  143.    0x08048c33 <+711>:   mov    DWORD PTR [esp+0x8],0x0
  144.    0x08048c3b <+719>:   mov    DWORD PTR [esp+0x4],0x0
  145.    0x08048c43 <+727>:   mov    DWORD PTR [esp],eax
  146.    0x08048c46 <+730>:   call   0x80487b0 <SDL_MapRGB@plt>
  147. ---Type <return> to continue, or q <return> to quit---
  148.    0x08048c4b <+735>:   mov    DWORD PTR [esp+0x154],eax
  149.    0x08048c52 <+742>:   mov    eax,DWORD PTR [esp+0x158]
  150.    0x08048c59 <+749>:   mov    eax,DWORD PTR [eax+0x4]
  151.    0x08048c5c <+752>:   mov    DWORD PTR [esp+0xc],0xff
  152.    0x08048c64 <+760>:   mov    DWORD PTR [esp+0x8],0xff
  153.    0x08048c6c <+768>:   mov    DWORD PTR [esp+0x4],0xff
  154.    0x08048c74 <+776>:   mov    DWORD PTR [esp],eax
  155.    0x08048c77 <+779>:   call   0x80487b0 <SDL_MapRGB@plt>
  156.    0x08048c7c <+784>:   mov    DWORD PTR [esp+0x150],eax
  157.    0x08048c83 <+791>:   mov    eax,DWORD PTR [esp+0x154]
  158.    0x08048c8a <+798>:   mov    DWORD PTR [esp+0x8],eax
  159.    0x08048c8e <+802>:   lea    eax,[esp+0x30]
  160.    0x08048c92 <+806>:   mov    DWORD PTR [esp+0x4],eax
  161.    0x08048c96 <+810>:   mov    eax,DWORD PTR [esp+0x158]
  162.    0x08048c9d <+817>:   mov    DWORD PTR [esp],eax
  163.    0x08048ca0 <+820>:   call   0x8048770 <SDL_FillRect@plt>
  164.    0x08048ca5 <+825>:   mov    DWORD PTR [esp+0x14c],0xa5
  165.    0x08048cb0 <+836>:   mov    DWORD PTR [esp+0x148],0x87
  166.    0x08048cbb <+847>:   mov    DWORD PTR [esp+0x144],0xa
  167.    0x08048cc6 <+858>:   mov    eax,DWORD PTR [esp+0x148]
  168.    0x08048ccd <+865>:   mov    edx,DWORD PTR [esp+0x14c]
  169.    0x08048cd4 <+872>:   mov    ecx,edx
  170.    0x08048cd6 <+874>:   sub    ecx,eax
  171.    0x08048cd8 <+876>:   mov    eax,ecx
  172.    0x08048cda <+878>:   mov    DWORD PTR [esp+0x140],eax
  173.    0x08048ce1 <+885>:   mov    WORD PTR [esp+0x2c],0x3
  174.    0x08048ce8 <+892>:   movzx  eax,WORD PTR [esp+0x2c]
  175.    0x08048ced <+897>:   mov    WORD PTR [esp+0x2e],ax
  176.    0x08048cf2 <+902>:   mov    WORD PTR [esp+0x28],0xa
  177.    0x08048cf9 <+909>:   mov    eax,DWORD PTR [esp+0x148]
  178.    0x08048d00 <+916>:   mov    WORD PTR [esp+0x2a],ax
  179.    0x08048d05 <+921>:   jmp    0x8048d36 <main+970>
  180.    0x08048d07 <+923>:   mov    eax,DWORD PTR [esp+0x150]
  181.    0x08048d0e <+930>:   mov    DWORD PTR [esp+0x8],eax
  182.    0x08048d12 <+934>:   lea    eax,[esp+0x28]
  183. ---Type <return> to continue, or q <return> to quit---
  184.    0x08048d16 <+938>:   mov    DWORD PTR [esp+0x4],eax
  185.    0x08048d1a <+942>:   mov    eax,DWORD PTR [esp+0x158]
  186.    0x08048d21 <+949>:   mov    DWORD PTR [esp],eax
  187.    0x08048d24 <+952>:   call   0x8048770 <SDL_FillRect@plt>
  188.    0x08048d29 <+957>:   movzx  eax,WORD PTR [esp+0x2a]
  189.    0x08048d2e <+962>:   add    eax,0x1
  190.    0x08048d31 <+965>:   mov    WORD PTR [esp+0x2a],ax
  191.    0x08048d36 <+970>:   movzx  eax,WORD PTR [esp+0x2a]
  192.    0x08048d3b <+975>:   cwde  
  193.    0x08048d3c <+976>:   cmp    eax,DWORD PTR [esp+0x14c]
  194.    0x08048d43 <+983>:   jl     0x8048d07 <main+923>
  195.    0x08048d45 <+985>:   mov    eax,DWORD PTR [esp+0x148]
  196.    0x08048d4c <+992>:   mov    WORD PTR [esp+0x2a],ax
  197.    0x08048d51 <+997>:   jmp    0x8048d8f <main+1059>
  198.    0x08048d53 <+999>:   movzx  eax,WORD PTR [esp+0x28]
  199.    0x08048d58 <+1004>:  add    eax,0x1
  200.    0x08048d5b <+1007>:  mov    WORD PTR [esp+0x28],ax
  201.    0x08048d60 <+1012>:  mov    eax,DWORD PTR [esp+0x150]
  202.    0x08048d67 <+1019>:  mov    DWORD PTR [esp+0x8],eax
  203.    0x08048d6b <+1023>:  lea    eax,[esp+0x28]
  204.    0x08048d6f <+1027>:  mov    DWORD PTR [esp+0x4],eax
  205.    0x08048d73 <+1031>:  mov    eax,DWORD PTR [esp+0x158]
  206.    0x08048d7a <+1038>:  mov    DWORD PTR [esp],eax
  207.    0x08048d7d <+1041>:  call   0x8048770 <SDL_FillRect@plt>
  208.    0x08048d82 <+1046>:  movzx  eax,WORD PTR [esp+0x2a]
  209.    0x08048d87 <+1051>:  add    eax,0x1
  210.    0x08048d8a <+1054>:  mov    WORD PTR [esp+0x2a],ax
  211.    0x08048d8f <+1059>:  movzx  eax,WORD PTR [esp+0x2a]
  212.    0x08048d94 <+1064>:  movsx  edx,ax
  213.    0x08048d97 <+1067>:  mov    eax,DWORD PTR [esp+0x140]
  214.    0x08048d9e <+1074>:  mov    ecx,eax
  215.    0x08048da0 <+1076>:  shr    ecx,0x1f
  216.    0x08048da3 <+1079>:  add    eax,ecx
  217.    0x08048da5 <+1081>:  sar    eax,1
  218.    0x08048da7 <+1083>:  mov    ecx,eax
  219. ---Type <return> to continue, or q <return> to quit---
  220.    0x08048da9 <+1085>:  mov    eax,DWORD PTR [esp+0x148]
  221.    0x08048db0 <+1092>:  add    eax,ecx
  222.    0x08048db2 <+1094>:  cmp    edx,eax
  223.    0x08048db4 <+1096>:  jl     0x8048d53 <main+999>
  224.    0x08048db6 <+1098>:  jmp    0x8048df4 <main+1160>
  225.    0x08048db8 <+1100>:  movzx  eax,WORD PTR [esp+0x28]
  226.    0x08048dbd <+1105>:  add    eax,0x1
  227.    0x08048dc0 <+1108>:  mov    WORD PTR [esp+0x28],ax
  228.    0x08048dc5 <+1113>:  mov    eax,DWORD PTR [esp+0x150]
  229.    0x08048dcc <+1120>:  mov    DWORD PTR [esp+0x8],eax
  230.    0x08048dd0 <+1124>:  lea    eax,[esp+0x28]
  231.    0x08048dd4 <+1128>:  mov    DWORD PTR [esp+0x4],eax
  232.    0x08048dd8 <+1132>:  mov    eax,DWORD PTR [esp+0x158]
  233.    0x08048ddf <+1139>:  mov    DWORD PTR [esp],eax
  234.    0x08048de2 <+1142>:  call   0x8048770 <SDL_FillRect@plt>
  235.    0x08048de7 <+1147>:  movzx  eax,WORD PTR [esp+0x2a]
  236.    0x08048dec <+1152>:  sub    eax,0x1
  237.    0x08048def <+1155>:  mov    WORD PTR [esp+0x2a],ax
  238.    0x08048df4 <+1160>:  movzx  eax,WORD PTR [esp+0x2a]
  239.    0x08048df9 <+1165>:  cwde  
  240.    0x08048dfa <+1166>:  cmp    eax,DWORD PTR [esp+0x148]
  241.    0x08048e01 <+1173>:  jg     0x8048db8 <main+1100>
  242.    0x08048e03 <+1175>:  mov    eax,DWORD PTR [esp+0x148]
  243.    0x08048e0a <+1182>:  mov    WORD PTR [esp+0x2a],ax
  244.    0x08048e0f <+1187>:  jmp    0x8048e40 <main+1236>
  245.    0x08048e11 <+1189>:  mov    eax,DWORD PTR [esp+0x150]
  246.    0x08048e18 <+1196>:  mov    DWORD PTR [esp+0x8],eax
  247.    0x08048e1c <+1200>:  lea    eax,[esp+0x28]
  248.    0x08048e20 <+1204>:  mov    DWORD PTR [esp+0x4],eax
  249.    0x08048e24 <+1208>:  mov    eax,DWORD PTR [esp+0x158]
  250.    0x08048e2b <+1215>:  mov    DWORD PTR [esp],eax
  251.    0x08048e2e <+1218>:  call   0x8048770 <SDL_FillRect@plt>
  252.    0x08048e33 <+1223>:  movzx  eax,WORD PTR [esp+0x2a]
  253.    0x08048e38 <+1228>:  add    eax,0x1
  254.    0x08048e3b <+1231>:  mov    WORD PTR [esp+0x2a],ax
  255. ---Type <return> to continue, or q <return> to quit---
  256.    0x08048e40 <+1236>:  movzx  eax,WORD PTR [esp+0x2a]
  257.    0x08048e45 <+1241>:  cwde  
  258.    0x08048e46 <+1242>:  cmp    eax,DWORD PTR [esp+0x14c]
  259.    0x08048e4d <+1249>:  jl     0x8048e11 <main+1189>
  260.    0x08048e4f <+1251>:  movzx  eax,WORD PTR [esp+0x28]
  261.    0x08048e54 <+1256>:  mov    edx,eax
  262.    0x08048e56 <+1258>:  mov    eax,DWORD PTR [esp+0x144]
  263.    0x08048e5d <+1265>:  add    eax,edx
  264.    0x08048e5f <+1267>:  mov    WORD PTR [esp+0x28],ax
  265.    0x08048e64 <+1272>:  movzx  eax,WORD PTR [esp+0x28]
  266.    0x08048e69 <+1277>:  cwde  
  267.    0x08048e6a <+1278>:  mov    DWORD PTR [esp+0x13c],eax
  268.    0x08048e71 <+1285>:  mov    eax,DWORD PTR [esp+0x140]
  269.    0x08048e78 <+1292>:  mov    edx,eax
  270.    0x08048e7a <+1294>:  shr    edx,0x1f
  271.    0x08048e7d <+1297>:  add    eax,edx
  272.    0x08048e7f <+1299>:  sar    eax,1
  273.    0x08048e81 <+1301>:  mov    edx,eax
  274.    0x08048e83 <+1303>:  mov    eax,DWORD PTR [esp+0x148]
  275.    0x08048e8a <+1310>:  add    eax,edx
  276.    0x08048e8c <+1312>:  mov    WORD PTR [esp+0x2a],ax
  277.    0x08048e91 <+1317>:  jmp    0x8048ecf <main+1379>
  278.    0x08048e93 <+1319>:  movzx  eax,WORD PTR [esp+0x28]
  279.    0x08048e98 <+1324>:  add    eax,0x1
  280.    0x08048e9b <+1327>:  mov    WORD PTR [esp+0x28],ax
  281.    0x08048ea0 <+1332>:  mov    eax,DWORD PTR [esp+0x150]
  282.    0x08048ea7 <+1339>:  mov    DWORD PTR [esp+0x8],eax
  283.    0x08048eab <+1343>:  lea    eax,[esp+0x28]
  284.    0x08048eaf <+1347>:  mov    DWORD PTR [esp+0x4],eax
  285.    0x08048eb3 <+1351>:  mov    eax,DWORD PTR [esp+0x158]
  286.    0x08048eba <+1358>:  mov    DWORD PTR [esp],eax
  287.    0x08048ebd <+1361>:  call   0x8048770 <SDL_FillRect@plt>
  288.    0x08048ec2 <+1366>:  movzx  eax,WORD PTR [esp+0x2a]
  289.    0x08048ec7 <+1371>:  add    eax,0x1
  290.    0x08048eca <+1374>:  mov    WORD PTR [esp+0x2a],ax
  291. ---Type <return> to continue, or q <return> to quit---
  292.    0x08048ecf <+1379>:  movzx  eax,WORD PTR [esp+0x2a]
  293.    0x08048ed4 <+1384>:  cwde  
  294.    0x08048ed5 <+1385>:  cmp    eax,DWORD PTR [esp+0x14c]
  295.    0x08048edc <+1392>:  jl     0x8048e93 <main+1319>
  296.    0x08048ede <+1394>:  mov    eax,DWORD PTR [esp+0x13c]
  297.    0x08048ee5 <+1401>:  mov    WORD PTR [esp+0x28],ax
  298.    0x08048eea <+1406>:  mov    eax,DWORD PTR [esp+0x140]
  299.    0x08048ef1 <+1413>:  mov    edx,eax
  300.    0x08048ef3 <+1415>:  shr    edx,0x1f
  301.    0x08048ef6 <+1418>:  add    eax,edx
  302.    0x08048ef8 <+1420>:  sar    eax,1
  303.    0x08048efa <+1422>:  mov    edx,eax
  304.    0x08048efc <+1424>:  mov    eax,DWORD PTR [esp+0x148]
  305.    0x08048f03 <+1431>:  add    eax,edx
  306.    0x08048f05 <+1433>:  mov    WORD PTR [esp+0x2a],ax
  307.    0x08048f0a <+1438>:  jmp    0x8048f48 <main+1500>
  308.    0x08048f0c <+1440>:  movzx  eax,WORD PTR [esp+0x28]
  309.    0x08048f11 <+1445>:  add    eax,0x1
  310.    0x08048f14 <+1448>:  mov    WORD PTR [esp+0x28],ax
  311.    0x08048f19 <+1453>:  mov    eax,DWORD PTR [esp+0x150]
  312.    0x08048f20 <+1460>:  mov    DWORD PTR [esp+0x8],eax
  313.    0x08048f24 <+1464>:  lea    eax,[esp+0x28]
  314.    0x08048f28 <+1468>:  mov    DWORD PTR [esp+0x4],eax
  315.    0x08048f2c <+1472>:  mov    eax,DWORD PTR [esp+0x158]
  316.    0x08048f33 <+1479>:  mov    DWORD PTR [esp],eax
  317.    0x08048f36 <+1482>:  call   0x8048770 <SDL_FillRect@plt>
  318.    0x08048f3b <+1487>:  movzx  eax,WORD PTR [esp+0x2a]
  319.    0x08048f40 <+1492>:  sub    eax,0x1
  320.    0x08048f43 <+1495>:  mov    WORD PTR [esp+0x2a],ax
  321.    0x08048f48 <+1500>:  movzx  eax,WORD PTR [esp+0x2a]
  322.    0x08048f4d <+1505>:  cwde  
  323.    0x08048f4e <+1506>:  cmp    eax,DWORD PTR [esp+0x148]
  324.    0x08048f55 <+1513>:  jg     0x8048f0c <main+1440>
  325.    0x08048f57 <+1515>:  movzx  eax,WORD PTR [esp+0x28]
  326.    0x08048f5c <+1520>:  mov    edx,eax
  327. ---Type <return> to continue, or q <return> to quit---
  328.    0x08048f5e <+1522>:  mov    eax,DWORD PTR [esp+0x144]
  329.    0x08048f65 <+1529>:  add    eax,edx
  330.    0x08048f67 <+1531>:  mov    WORD PTR [esp+0x28],ax
  331.    0x08048f6c <+1536>:  mov    eax,DWORD PTR [esp+0x14c]
  332.    0x08048f73 <+1543>:  mov    WORD PTR [esp+0x2a],ax
  333.    0x08048f78 <+1548>:  jmp    0x804903b <main+1743>
  334.    0x08048f7d <+1553>:  movzx  eax,WORD PTR [esp+0x28]
  335.    0x08048f82 <+1558>:  add    eax,0x1
  336.    0x08048f85 <+1561>:  mov    WORD PTR [esp+0x28],ax
  337.    0x08048f8a <+1566>:  mov    eax,DWORD PTR [esp+0x150]
  338.    0x08048f91 <+1573>:  mov    DWORD PTR [esp+0x8],eax
  339.    0x08048f95 <+1577>:  lea    eax,[esp+0x28]
  340.    0x08048f99 <+1581>:  mov    DWORD PTR [esp+0x4],eax
  341.    0x08048f9d <+1585>:  mov    eax,DWORD PTR [esp+0x158]
  342.    0x08048fa4 <+1592>:  mov    DWORD PTR [esp],eax
  343.    0x08048fa7 <+1595>:  call   0x8048770 <SDL_FillRect@plt>
  344.    0x08048fac <+1600>:  movzx  eax,WORD PTR [esp+0x2a]
  345.    0x08048fb1 <+1605>:  movsx  edx,ax
  346.    0x08048fb4 <+1608>:  mov    eax,DWORD PTR [esp+0x140]
  347.    0x08048fbb <+1615>:  mov    ecx,eax
  348.    0x08048fbd <+1617>:  shr    ecx,0x1f
  349.    0x08048fc0 <+1620>:  add    eax,ecx
  350.    0x08048fc2 <+1622>:  sar    eax,1
  351.    0x08048fc4 <+1624>:  mov    ecx,eax
  352.    0x08048fc6 <+1626>:  mov    eax,DWORD PTR [esp+0x148]
  353.    0x08048fcd <+1633>:  add    eax,ecx
  354.    0x08048fcf <+1635>:  cmp    edx,eax
  355.    0x08048fd1 <+1637>:  jg     0x804902e <main+1730>
  356.    0x08048fd3 <+1639>:  movzx  eax,WORD PTR [esp+0x2a]
  357.    0x08048fd8 <+1644>:  cwde  
  358.    0x08048fd9 <+1645>:  mov    DWORD PTR [esp+0x138],eax
  359.    0x08048fe0 <+1652>:  mov    eax,DWORD PTR [esp+0x140]
  360.    0x08048fe7 <+1659>:  mov    edx,eax
  361.    0x08048fe9 <+1661>:  shr    edx,0x1f
  362.    0x08048fec <+1664>:  add    eax,edx
  363. ---Type <return> to continue, or q <return> to quit---
  364.    0x08048fee <+1666>:  sar    eax,1
  365.    0x08048ff0 <+1668>:  mov    edx,eax
  366.    0x08048ff2 <+1670>:  mov    eax,DWORD PTR [esp+0x148]
  367.    0x08048ff9 <+1677>:  add    eax,edx
  368.    0x08048ffb <+1679>:  mov    WORD PTR [esp+0x2a],ax
  369.    0x08049000 <+1684>:  mov    eax,DWORD PTR [esp+0x150]
  370.    0x08049007 <+1691>:  mov    DWORD PTR [esp+0x8],eax
  371.    0x0804900b <+1695>:  lea    eax,[esp+0x28]
  372.    0x0804900f <+1699>:  mov    DWORD PTR [esp+0x4],eax
  373.    0x08049013 <+1703>:  mov    eax,DWORD PTR [esp+0x158]
  374.    0x0804901a <+1710>:  mov    DWORD PTR [esp],eax
  375.    0x0804901d <+1713>:  call   0x8048770 <SDL_FillRect@plt>
  376.    0x08049022 <+1718>:  mov    eax,DWORD PTR [esp+0x138]
  377.    0x08049029 <+1725>:  mov    WORD PTR [esp+0x2a],ax
  378.    0x0804902e <+1730>:  movzx  eax,WORD PTR [esp+0x2a]
  379.    0x08049033 <+1735>:  sub    eax,0x2
  380.    0x08049036 <+1738>:  mov    WORD PTR [esp+0x2a],ax
  381.    0x0804903b <+1743>:  movzx  eax,WORD PTR [esp+0x2a]
  382.    0x08049040 <+1748>:  cwde  
  383.    0x08049041 <+1749>:  cmp    eax,DWORD PTR [esp+0x148]
  384.    0x08049048 <+1756>:  jg     0x8048f7d <main+1553>
  385.    0x0804904e <+1762>:  mov    eax,DWORD PTR [esp+0x148]
  386.    0x08049055 <+1769>:  mov    WORD PTR [esp+0x2a],ax
  387.    0x0804905a <+1774>:  jmp    0x804911f <main+1971>
  388.    0x0804905f <+1779>:  movzx  eax,WORD PTR [esp+0x28]
  389.    0x08049064 <+1784>:  add    eax,0x1
  390.    0x08049067 <+1787>:  mov    WORD PTR [esp+0x28],ax
  391.    0x0804906c <+1792>:  mov    eax,DWORD PTR [esp+0x150]
  392.    0x08049073 <+1799>:  mov    DWORD PTR [esp+0x8],eax
  393.    0x08049077 <+1803>:  lea    eax,[esp+0x28]
  394.    0x0804907b <+1807>:  mov    DWORD PTR [esp+0x4],eax
  395.    0x0804907f <+1811>:  mov    eax,DWORD PTR [esp+0x158]
  396.    0x08049086 <+1818>:  mov    DWORD PTR [esp],eax
  397.    0x08049089 <+1821>:  call   0x8048770 <SDL_FillRect@plt>
  398.    0x0804908e <+1826>:  movzx  eax,WORD PTR [esp+0x2a]
  399. ---Type <return> to continue, or q <return> to quit---
  400.    0x08049093 <+1831>:  movsx  edx,ax
  401.    0x08049096 <+1834>:  mov    eax,DWORD PTR [esp+0x140]
  402.    0x0804909d <+1841>:  mov    ecx,eax
  403.    0x0804909f <+1843>:  shr    ecx,0x1f
  404.    0x080490a2 <+1846>:  add    eax,ecx
  405.    0x080490a4 <+1848>:  sar    eax,1
  406.    0x080490a6 <+1850>:  mov    ecx,DWORD PTR [esp+0x14c]
  407.    0x080490ad <+1857>:  mov    ebx,ecx
  408.    0x080490af <+1859>:  sub    ebx,eax
  409.    0x080490b1 <+1861>:  mov    eax,ebx
  410.    0x080490b3 <+1863>:  cmp    edx,eax
  411.    0x080490b5 <+1865>:  jg     0x8049112 <main+1958>
  412.    0x080490b7 <+1867>:  movzx  eax,WORD PTR [esp+0x2a]
  413.    0x080490bc <+1872>:  cwde  
  414.    0x080490bd <+1873>:  mov    DWORD PTR [esp+0x138],eax
  415.    0x080490c4 <+1880>:  mov    eax,DWORD PTR [esp+0x140]
  416.    0x080490cb <+1887>:  mov    edx,eax
  417.    0x080490cd <+1889>:  shr    edx,0x1f
  418.    0x080490d0 <+1892>:  add    eax,edx
  419.    0x080490d2 <+1894>:  sar    eax,1
  420.    0x080490d4 <+1896>:  mov    edx,eax
  421.    0x080490d6 <+1898>:  mov    eax,DWORD PTR [esp+0x148]
  422.    0x080490dd <+1905>:  add    eax,edx
  423.    0x080490df <+1907>:  mov    WORD PTR [esp+0x2a],ax
  424.    0x080490e4 <+1912>:  mov    eax,DWORD PTR [esp+0x150]
  425.    0x080490eb <+1919>:  mov    DWORD PTR [esp+0x8],eax
  426.    0x080490ef <+1923>:  lea    eax,[esp+0x28]
  427.    0x080490f3 <+1927>:  mov    DWORD PTR [esp+0x4],eax
  428.    0x080490f7 <+1931>:  mov    eax,DWORD PTR [esp+0x158]
  429.    0x080490fe <+1938>:  mov    DWORD PTR [esp],eax
  430.    0x08049101 <+1941>:  call   0x8048770 <SDL_FillRect@plt>
  431.    0x08049106 <+1946>:  mov    eax,DWORD PTR [esp+0x138]
  432.    0x0804910d <+1953>:  mov    WORD PTR [esp+0x2a],ax
  433.    0x08049112 <+1958>:  movzx  eax,WORD PTR [esp+0x2a]
  434.    0x08049117 <+1963>:  add    eax,0x2
  435. ---Type <return> to continue, or q <return> to quit---
  436.    0x0804911a <+1966>:  mov    WORD PTR [esp+0x2a],ax
  437.    0x0804911f <+1971>:  movzx  eax,WORD PTR [esp+0x2a]
  438.    0x08049124 <+1976>:  cwde  
  439.    0x08049125 <+1977>:  cmp    eax,DWORD PTR [esp+0x14c]
  440.    0x0804912c <+1984>:  jl     0x804905f <main+1779>
  441.    0x08049132 <+1990>:  movzx  eax,WORD PTR [esp+0x28]
  442.    0x08049137 <+1995>:  mov    edx,eax
  443.    0x08049139 <+1997>:  mov    eax,DWORD PTR [esp+0x144]
  444.    0x08049140 <+2004>:  add    eax,edx
  445.    0x08049142 <+2006>:  mov    WORD PTR [esp+0x28],ax
  446.    0x08049147 <+2011>:  movzx  eax,WORD PTR [esp+0x28]
  447.    0x0804914c <+2016>:  cwde  
  448.    0x0804914d <+2017>:  mov    DWORD PTR [esp+0x13c],eax
  449.    0x08049154 <+2024>:  mov    eax,DWORD PTR [esp+0x140]
  450.    0x0804915b <+2031>:  mov    edx,eax
  451.    0x0804915d <+2033>:  shr    edx,0x1f
  452.    0x08049160 <+2036>:  add    eax,edx
  453.    0x08049162 <+2038>:  sar    eax,1
  454.    0x08049164 <+2040>:  mov    edx,eax
  455.    0x08049166 <+2042>:  mov    eax,DWORD PTR [esp+0x148]
  456.    0x0804916d <+2049>:  add    eax,edx
  457.    0x0804916f <+2051>:  mov    WORD PTR [esp+0x2a],ax
  458.    0x08049174 <+2056>:  jmp    0x80491a5 <main+2105>
  459.    0x08049176 <+2058>:  mov    eax,DWORD PTR [esp+0x150]
  460.    0x0804917d <+2065>:  mov    DWORD PTR [esp+0x8],eax
  461.    0x08049181 <+2069>:  lea    eax,[esp+0x28]
  462.    0x08049185 <+2073>:  mov    DWORD PTR [esp+0x4],eax
  463.    0x08049189 <+2077>:  mov    eax,DWORD PTR [esp+0x158]
  464.    0x08049190 <+2084>:  mov    DWORD PTR [esp],eax
  465.    0x08049193 <+2087>:  call   0x8048770 <SDL_FillRect@plt>
  466.    0x08049198 <+2092>:  movzx  eax,WORD PTR [esp+0x28]
  467.    0x0804919d <+2097>:  add    eax,0x1
  468.    0x080491a0 <+2100>:  mov    WORD PTR [esp+0x28],ax
  469.    0x080491a5 <+2105>:  movzx  eax,WORD PTR [esp+0x28]
  470.    0x080491aa <+2110>:  cwde  
  471. ---Type <return> to continue, or q <return> to quit---
  472.    0x080491ab <+2111>:  mov    edx,DWORD PTR [esp+0x144]
  473.    0x080491b2 <+2118>:  mov    ecx,DWORD PTR [esp+0x13c]
  474.    0x080491b9 <+2125>:  add    edx,ecx
  475.    0x080491bb <+2127>:  cmp    eax,edx
  476.    0x080491bd <+2129>:  jl     0x8049176 <main+2058>
  477.    0x080491bf <+2131>:  movzx  eax,WORD PTR [esp+0x28]
  478.    0x080491c4 <+2136>:  mov    edx,eax
  479.    0x080491c6 <+2138>:  mov    eax,DWORD PTR [esp+0x144]
  480.    0x080491cd <+2145>:  add    eax,edx
  481.    0x080491cf <+2147>:  mov    WORD PTR [esp+0x28],ax
  482.    0x080491d4 <+2152>:  mov    eax,DWORD PTR [esp+0x148]
  483.    0x080491db <+2159>:  mov    WORD PTR [esp+0x2a],ax
  484.    0x080491e0 <+2164>:  jmp    0x8049211 <main+2213>
  485.    0x080491e2 <+2166>:  mov    eax,DWORD PTR [esp+0x150]
  486.    0x080491e9 <+2173>:  mov    DWORD PTR [esp+0x8],eax
  487.    0x080491ed <+2177>:  lea    eax,[esp+0x28]
  488.    0x080491f1 <+2181>:  mov    DWORD PTR [esp+0x4],eax
  489.    0x080491f5 <+2185>:  mov    eax,DWORD PTR [esp+0x158]
  490.    0x080491fc <+2192>:  mov    DWORD PTR [esp],eax
  491.    0x080491ff <+2195>:  call   0x8048770 <SDL_FillRect@plt>
  492.    0x08049204 <+2200>:  movzx  eax,WORD PTR [esp+0x2a]
  493.    0x08049209 <+2205>:  add    eax,0x1
  494.    0x0804920c <+2208>:  mov    WORD PTR [esp+0x2a],ax
  495.    0x08049211 <+2213>:  movzx  eax,WORD PTR [esp+0x2a]
  496.    0x08049216 <+2218>:  cwde  
  497.    0x08049217 <+2219>:  cmp    eax,DWORD PTR [esp+0x14c]
  498.    0x0804921e <+2226>:  jl     0x80491e2 <main+2166>
  499.    0x08049220 <+2228>:  movzx  eax,WORD PTR [esp+0x28]
  500.    0x08049225 <+2233>:  cwde  
  501.    0x08049226 <+2234>:  mov    DWORD PTR [esp+0x13c],eax
  502.    0x0804922d <+2241>:  mov    eax,DWORD PTR [esp+0x14c]
  503.    0x08049234 <+2248>:  mov    WORD PTR [esp+0x2a],ax
  504.    0x08049239 <+2253>:  jmp    0x8049277 <main+2315>
  505.    0x0804923b <+2255>:  movzx  eax,WORD PTR [esp+0x28]
  506.    0x08049240 <+2260>:  add    eax,0x1
  507. ---Type <return> to continue, or q <return> to quit---
  508.    0x08049243 <+2263>:  mov    WORD PTR [esp+0x28],ax
  509.    0x08049248 <+2268>:  mov    eax,DWORD PTR [esp+0x150]
  510.    0x0804924f <+2275>:  mov    DWORD PTR [esp+0x8],eax
  511.    0x08049253 <+2279>:  lea    eax,[esp+0x28]
  512.    0x08049257 <+2283>:  mov    DWORD PTR [esp+0x4],eax
  513.    0x0804925b <+2287>:  mov    eax,DWORD PTR [esp+0x158]
  514.    0x08049262 <+2294>:  mov    DWORD PTR [esp],eax
  515.    0x08049265 <+2297>:  call   0x8048770 <SDL_FillRect@plt>
  516.    0x0804926a <+2302>:  movzx  eax,WORD PTR [esp+0x2a]
  517.    0x0804926f <+2307>:  sub    eax,0x1
  518.    0x08049272 <+2310>:  mov    WORD PTR [esp+0x2a],ax
  519.    0x08049277 <+2315>:  movzx  eax,WORD PTR [esp+0x2a]
  520.    0x0804927c <+2320>:  movsx  edx,ax
  521.    0x0804927f <+2323>:  mov    eax,DWORD PTR [esp+0x140]
  522.    0x08049286 <+2330>:  mov    ecx,eax
  523.    0x08049288 <+2332>:  sar    ecx,0x1f
  524.    0x0804928b <+2335>:  shr    ecx,0x1e
  525.    0x0804928e <+2338>:  add    eax,ecx
  526.    0x08049290 <+2340>:  sar    eax,0x2
  527.    0x08049293 <+2343>:  mov    ecx,DWORD PTR [esp+0x14c]
  528.    0x0804929a <+2350>:  mov    ebx,ecx
  529.    0x0804929c <+2352>:  sub    ebx,eax
  530.    0x0804929e <+2354>:  mov    eax,ebx
  531.    0x080492a0 <+2356>:  cmp    edx,eax
  532.    0x080492a2 <+2358>:  jg     0x804923b <main+2255>
  533.    0x080492a4 <+2360>:  mov    eax,DWORD PTR [esp+0x13c]
  534.    0x080492ab <+2367>:  mov    WORD PTR [esp+0x28],ax
  535.    0x080492b0 <+2372>:  mov    eax,DWORD PTR [esp+0x14c]
  536.    0x080492b7 <+2379>:  mov    edx,eax
  537.    0x080492b9 <+2381>:  mov    eax,DWORD PTR [esp+0x140]
  538.    0x080492c0 <+2388>:  mov    ecx,eax
  539.    0x080492c2 <+2390>:  shr    ecx,0x1f
  540.    0x080492c5 <+2393>:  add    eax,ecx
  541.    0x080492c7 <+2395>:  sar    eax,1
  542.    0x080492c9 <+2397>:  mov    ecx,edx
  543. ---Type <return> to continue, or q <return> to quit---
  544.    0x080492cb <+2399>:  sub    ecx,eax
  545.    0x080492cd <+2401>:  mov    eax,ecx
  546.    0x080492cf <+2403>:  mov    WORD PTR [esp+0x2a],ax
  547.    0x080492d4 <+2408>:  jmp    0x8049312 <main+2470>
  548.    0x080492d6 <+2410>:  movzx  eax,WORD PTR [esp+0x28]
  549.    0x080492db <+2415>:  add    eax,0x1
  550.    0x080492de <+2418>:  mov    WORD PTR [esp+0x28],ax
  551.    0x080492e3 <+2423>:  mov    eax,DWORD PTR [esp+0x150]
  552.    0x080492ea <+2430>:  mov    DWORD PTR [esp+0x8],eax
  553.    0x080492ee <+2434>:  lea    eax,[esp+0x28]
  554.    0x080492f2 <+2438>:  mov    DWORD PTR [esp+0x4],eax
  555.    0x080492f6 <+2442>:  mov    eax,DWORD PTR [esp+0x158]
  556.    0x080492fd <+2449>:  mov    DWORD PTR [esp],eax
  557.    0x08049300 <+2452>:  call   0x8048770 <SDL_FillRect@plt>
  558.    0x08049305 <+2457>:  movzx  eax,WORD PTR [esp+0x2a]
  559.    0x0804930a <+2462>:  sub    eax,0x1
  560.    0x0804930d <+2465>:  mov    WORD PTR [esp+0x2a],ax
  561.    0x08049312 <+2470>:  movzx  eax,WORD PTR [esp+0x2a]
  562.    0x08049317 <+2475>:  movsx  ecx,ax
  563.    0x0804931a <+2478>:  mov    edx,DWORD PTR [esp+0x140]
  564.    0x08049321 <+2485>:  mov    eax,edx
  565.    0x08049323 <+2487>:  add    eax,eax
  566.    0x08049325 <+2489>:  add    eax,edx
  567.    0x08049327 <+2491>:  mov    edx,eax
  568.    0x08049329 <+2493>:  sar    edx,0x1f
  569.    0x0804932c <+2496>:  shr    edx,0x1e
  570.    0x0804932f <+2499>:  add    eax,edx
  571.    0x08049331 <+2501>:  sar    eax,0x2
  572.    0x08049334 <+2504>:  mov    edx,DWORD PTR [esp+0x14c]
  573.    0x0804933b <+2511>:  mov    ebx,edx
  574.    0x0804933d <+2513>:  sub    ebx,eax
  575.    0x0804933f <+2515>:  mov    eax,ebx
  576.    0x08049341 <+2517>:  cmp    ecx,eax
  577.    0x08049343 <+2519>:  jg     0x80492d6 <main+2410>
  578.    0x08049345 <+2521>:  mov    eax,DWORD PTR [esp+0x13c]
  579. ---Type <return> to continue, or q <return> to quit---
  580.    0x0804934c <+2528>:  mov    WORD PTR [esp+0x28],ax
  581.    0x08049351 <+2533>:  mov    eax,DWORD PTR [esp+0x148]
  582.    0x08049358 <+2540>:  mov    WORD PTR [esp+0x2a],ax
  583.    0x0804935d <+2545>:  jmp    0x804939b <main+2607>
  584.    0x0804935f <+2547>:  movzx  eax,WORD PTR [esp+0x28]
  585.    0x08049364 <+2552>:  add    eax,0x1
  586.    0x08049367 <+2555>:  mov    WORD PTR [esp+0x28],ax
  587.    0x0804936c <+2560>:  mov    eax,DWORD PTR [esp+0x150]
  588.    0x08049373 <+2567>:  mov    DWORD PTR [esp+0x8],eax
  589.    0x08049377 <+2571>:  lea    eax,[esp+0x28]
  590.    0x0804937b <+2575>:  mov    DWORD PTR [esp+0x4],eax
  591.    0x0804937f <+2579>:  mov    eax,DWORD PTR [esp+0x158]
  592.    0x08049386 <+2586>:  mov    DWORD PTR [esp],eax
  593.    0x08049389 <+2589>:  call   0x8048770 <SDL_FillRect@plt>
  594.    0x0804938e <+2594>:  movzx  eax,WORD PTR [esp+0x2a]
  595.    0x08049393 <+2599>:  add    eax,0x1
  596.    0x08049396 <+2602>:  mov    WORD PTR [esp+0x2a],ax
  597.    0x0804939b <+2607>:  movzx  eax,WORD PTR [esp+0x2a]
  598.    0x080493a0 <+2612>:  movsx  edx,ax
  599.    0x080493a3 <+2615>:  mov    eax,DWORD PTR [esp+0x140]
  600.    0x080493aa <+2622>:  mov    ecx,eax
  601.    0x080493ac <+2624>:  sar    ecx,0x1f
  602.    0x080493af <+2627>:  shr    ecx,0x1e
  603.    0x080493b2 <+2630>:  add    eax,ecx
  604.    0x080493b4 <+2632>:  sar    eax,0x2
  605.    0x080493b7 <+2635>:  mov    ecx,eax
  606.    0x080493b9 <+2637>:  mov    eax,DWORD PTR [esp+0x148]
  607.    0x080493c0 <+2644>:  add    eax,ecx
  608.    0x080493c2 <+2646>:  cmp    edx,eax
  609.    0x080493c4 <+2648>:  jl     0x804935f <main+2547>
  610.    0x080493c6 <+2650>:  mov    eax,DWORD PTR [esp+0x13c]
  611.    0x080493cd <+2657>:  mov    WORD PTR [esp+0x28],ax
  612.    0x080493d2 <+2662>:  mov    eax,DWORD PTR [esp+0x140]
  613.    0x080493d9 <+2669>:  mov    edx,eax
  614.    0x080493db <+2671>:  shr    edx,0x1f
  615. ---Type <return> to continue, or q <return> to quit---
  616.    0x080493de <+2674>:  add    eax,edx
  617.    0x080493e0 <+2676>:  sar    eax,1
  618.    0x080493e2 <+2678>:  mov    edx,eax
  619.    0x080493e4 <+2680>:  mov    eax,DWORD PTR [esp+0x148]
  620.    0x080493eb <+2687>:  add    eax,edx
  621.    0x080493ed <+2689>:  mov    WORD PTR [esp+0x2a],ax
  622.    0x080493f2 <+2694>:  jmp    0x8049430 <main+2756>
  623.    0x080493f4 <+2696>:  movzx  eax,WORD PTR [esp+0x28]
  624.    0x080493f9 <+2701>:  add    eax,0x1
  625.    0x080493fc <+2704>:  mov    WORD PTR [esp+0x28],ax
  626.    0x08049401 <+2709>:  mov    eax,DWORD PTR [esp+0x150]
  627.    0x08049408 <+2716>:  mov    DWORD PTR [esp+0x8],eax
  628.    0x0804940c <+2720>:  lea    eax,[esp+0x28]
  629.    0x08049410 <+2724>:  mov    DWORD PTR [esp+0x4],eax
  630.    0x08049414 <+2728>:  mov    eax,DWORD PTR [esp+0x158]
  631.    0x0804941b <+2735>:  mov    DWORD PTR [esp],eax
  632.    0x0804941e <+2738>:  call   0x8048770 <SDL_FillRect@plt>
  633.    0x08049423 <+2743>:  movzx  eax,WORD PTR [esp+0x2a]
  634.    0x08049428 <+2748>:  add    eax,0x1
  635.    0x0804942b <+2751>:  mov    WORD PTR [esp+0x2a],ax
  636.    0x08049430 <+2756>:  movzx  eax,WORD PTR [esp+0x2a]
  637.    0x08049435 <+2761>:  movsx  edx,ax
  638.    0x08049438 <+2764>:  mov    eax,DWORD PTR [esp+0x140]
  639.    0x0804943f <+2771>:  mov    ecx,eax
  640.    0x08049441 <+2773>:  sar    ecx,0x1f
  641.    0x08049444 <+2776>:  shr    ecx,0x1e
  642.    0x08049447 <+2779>:  add    eax,ecx
  643.    0x08049449 <+2781>:  sar    eax,0x2
  644.    0x0804944c <+2784>:  mov    ecx,DWORD PTR [esp+0x14c]
  645.    0x08049453 <+2791>:  mov    ebx,ecx
  646.    0x08049455 <+2793>:  sub    ebx,eax
  647.    0x08049457 <+2795>:  mov    eax,ebx
  648.    0x08049459 <+2797>:  cmp    edx,eax
  649.    0x0804945b <+2799>:  jl     0x80493f4 <main+2696>
  650.    0x0804945d <+2801>:  movzx  eax,WORD PTR [esp+0x28]
  651. ---Type <return> to continue, or q <return> to quit---
  652.    0x08049462 <+2806>:  mov    edx,eax
  653.    0x08049464 <+2808>:  mov    eax,DWORD PTR [esp+0x144]
  654.    0x0804946b <+2815>:  add    eax,edx
  655.    0x0804946d <+2817>:  mov    WORD PTR [esp+0x28],ax
  656.    0x08049472 <+2822>:  mov    eax,DWORD PTR [esp+0x148]
  657.    0x08049479 <+2829>:  mov    WORD PTR [esp+0x2a],ax
  658.    0x0804947e <+2834>:  jmp    0x80494af <main+2883>
  659.    0x08049480 <+2836>:  mov    eax,DWORD PTR [esp+0x150]
  660.    0x08049487 <+2843>:  mov    DWORD PTR [esp+0x8],eax
  661.    0x0804948b <+2847>:  lea    eax,[esp+0x28]
  662.    0x0804948f <+2851>:  mov    DWORD PTR [esp+0x4],eax
  663.    0x08049493 <+2855>:  mov    eax,DWORD PTR [esp+0x158]
  664.    0x0804949a <+2862>:  mov    DWORD PTR [esp],eax
  665.    0x0804949d <+2865>:  call   0x8048770 <SDL_FillRect@plt>
  666.    0x080494a2 <+2870>:  movzx  eax,WORD PTR [esp+0x2a]
  667.    0x080494a7 <+2875>:  add    eax,0x1
  668.    0x080494aa <+2878>:  mov    WORD PTR [esp+0x2a],ax
  669.    0x080494af <+2883>:  movzx  eax,WORD PTR [esp+0x2a]
  670.    0x080494b4 <+2888>:  cwde  
  671.    0x080494b5 <+2889>:  cmp    eax,DWORD PTR [esp+0x14c]
  672.    0x080494bc <+2896>:  jl     0x8049480 <main+2836>
  673.    0x080494be <+2898>:  movzx  eax,WORD PTR [esp+0x28]
  674.    0x080494c3 <+2903>:  mov    edx,eax
  675.    0x080494c5 <+2905>:  mov    eax,DWORD PTR [esp+0x144]
  676.    0x080494cc <+2912>:  add    eax,edx
  677.    0x080494ce <+2914>:  mov    WORD PTR [esp+0x28],ax
  678.    0x080494d3 <+2919>:  mov    eax,DWORD PTR [esp+0x148]
  679.    0x080494da <+2926>:  mov    WORD PTR [esp+0x2a],ax
  680.    0x080494df <+2931>:  movzx  eax,WORD PTR [esp+0x28]
  681.    0x080494e4 <+2936>:  cwde  
  682.    0x080494e5 <+2937>:  mov    DWORD PTR [esp+0x13c],eax
  683.    0x080494ec <+2944>:  jmp    0x804951d <main+2993>
  684.    0x080494ee <+2946>:  mov    eax,DWORD PTR [esp+0x150]
  685.    0x080494f5 <+2953>:  mov    DWORD PTR [esp+0x8],eax
  686.    0x080494f9 <+2957>:  lea    eax,[esp+0x28]
  687. ---Type <return> to continue, or q <return> to quit---
  688.    0x080494fd <+2961>:  mov    DWORD PTR [esp+0x4],eax
  689.    0x08049501 <+2965>:  mov    eax,DWORD PTR [esp+0x158]
  690.    0x08049508 <+2972>:  mov    DWORD PTR [esp],eax
  691.    0x0804950b <+2975>:  call   0x8048770 <SDL_FillRect@plt>
  692.    0x08049510 <+2980>:  movzx  eax,WORD PTR [esp+0x28]
  693.    0x08049515 <+2985>:  add    eax,0x1
  694.    0x08049518 <+2988>:  mov    WORD PTR [esp+0x28],ax
  695.    0x0804951d <+2993>:  movzx  eax,WORD PTR [esp+0x28]
  696.    0x08049522 <+2998>:  cwde  
  697.    0x08049523 <+2999>:  mov    edx,DWORD PTR [esp+0x144]
  698.    0x0804952a <+3006>:  mov    ecx,DWORD PTR [esp+0x13c]
  699.    0x08049531 <+3013>:  add    edx,ecx
  700.    0x08049533 <+3015>:  cmp    eax,edx
  701.    0x08049535 <+3017>:  jl     0x80494ee <main+2946>
  702.    0x08049537 <+3019>:  jmp    0x8049568 <main+3068>
  703.    0x08049539 <+3021>:  mov    eax,DWORD PTR [esp+0x150]
  704.    0x08049540 <+3028>:  mov    DWORD PTR [esp+0x8],eax
  705.    0x08049544 <+3032>:  lea    eax,[esp+0x28]
  706.    0x08049548 <+3036>:  mov    DWORD PTR [esp+0x4],eax
  707.    0x0804954c <+3040>:  mov    eax,DWORD PTR [esp+0x158]
  708.    0x08049553 <+3047>:  mov    DWORD PTR [esp],eax
  709.    0x08049556 <+3050>:  call   0x8048770 <SDL_FillRect@plt>
  710.    0x0804955b <+3055>:  movzx  eax,WORD PTR [esp+0x2a]
  711.    0x08049560 <+3060>:  add    eax,0x1
  712.    0x08049563 <+3063>:  mov    WORD PTR [esp+0x2a],ax
  713.    0x08049568 <+3068>:  movzx  eax,WORD PTR [esp+0x2a]
  714.    0x0804956d <+3073>:  cwde  
  715.    0x0804956e <+3074>:  cmp    eax,DWORD PTR [esp+0x14c]
  716.    0x08049575 <+3081>:  jl     0x8049539 <main+3021>
  717.    0x08049577 <+3083>:  movzx  eax,WORD PTR [esp+0x28]
  718.    0x0804957c <+3088>:  mov    edx,eax
  719.    0x0804957e <+3090>:  mov    eax,DWORD PTR [esp+0x144]
  720.    0x08049585 <+3097>:  add    eax,edx
  721.    0x08049587 <+3099>:  mov    WORD PTR [esp+0x28],ax
  722.    0x0804958c <+3104>:  mov    eax,DWORD PTR [esp+0x148]
  723. ---Type <return> to continue, or q <return> to quit---
  724.    0x08049593 <+3111>:  mov    WORD PTR [esp+0x2a],ax
  725.    0x08049598 <+3116>:  jmp    0x80495c9 <main+3165>
  726.    0x0804959a <+3118>:  mov    eax,DWORD PTR [esp+0x150]
  727.    0x080495a1 <+3125>:  mov    DWORD PTR [esp+0x8],eax
  728.    0x080495a5 <+3129>:  lea    eax,[esp+0x28]
  729.    0x080495a9 <+3133>:  mov    DWORD PTR [esp+0x4],eax
  730.    0x080495ad <+3137>:  mov    eax,DWORD PTR [esp+0x158]
  731.    0x080495b4 <+3144>:  mov    DWORD PTR [esp],eax
  732.    0x080495b7 <+3147>:  call   0x8048770 <SDL_FillRect@plt>
  733.    0x080495bc <+3152>:  movzx  eax,WORD PTR [esp+0x2a]
  734.    0x080495c1 <+3157>:  add    eax,0x1
  735.    0x080495c4 <+3160>:  mov    WORD PTR [esp+0x2a],ax
  736.    0x080495c9 <+3165>:  movzx  eax,WORD PTR [esp+0x2a]
  737.    0x080495ce <+3170>:  cwde  
  738.    0x080495cf <+3171>:  cmp    eax,DWORD PTR [esp+0x14c]
  739.    0x080495d6 <+3178>:  jl     0x804959a <main+3118>
  740.    0x080495d8 <+3180>:  movzx  eax,WORD PTR [esp+0x28]
  741.    0x080495dd <+3185>:  cwde  
  742.    0x080495de <+3186>:  mov    DWORD PTR [esp+0x13c],eax
  743.    0x080495e5 <+3193>:  jmp    0x8049693 <main+3367>
  744.    0x080495ea <+3198>:  mov    eax,DWORD PTR [esp+0x148]
  745.    0x080495f1 <+3205>:  mov    WORD PTR [esp+0x2a],ax
  746.    0x080495f6 <+3210>:  mov    eax,DWORD PTR [esp+0x150]
  747.    0x080495fd <+3217>:  mov    DWORD PTR [esp+0x8],eax
  748.    0x08049601 <+3221>:  lea    eax,[esp+0x28]
  749.    0x08049605 <+3225>:  mov    DWORD PTR [esp+0x4],eax
  750.    0x08049609 <+3229>:  mov    eax,DWORD PTR [esp+0x158]
  751.    0x08049610 <+3236>:  mov    DWORD PTR [esp],eax
  752.    0x08049613 <+3239>:  call   0x8048770 <SDL_FillRect@plt>
  753.    0x08049618 <+3244>:  movzx  eax,WORD PTR [esp+0x2a]
  754.    0x0804961d <+3249>:  mov    edx,eax
  755.    0x0804961f <+3251>:  mov    eax,DWORD PTR [esp+0x140]
  756.    0x08049626 <+3258>:  mov    ecx,eax
  757.    0x08049628 <+3260>:  shr    ecx,0x1f
  758.    0x0804962b <+3263>:  add    eax,ecx
  759. ---Type <return> to continue, or q <return> to quit---
  760.    0x0804962d <+3265>:  sar    eax,1
  761.    0x0804962f <+3267>:  add    eax,edx
  762.    0x08049631 <+3269>:  mov    WORD PTR [esp+0x2a],ax
  763.    0x08049636 <+3274>:  mov    eax,DWORD PTR [esp+0x150]
  764.    0x0804963d <+3281>:  mov    DWORD PTR [esp+0x8],eax
  765.    0x08049641 <+3285>:  lea    eax,[esp+0x28]
  766.    0x08049645 <+3289>:  mov    DWORD PTR [esp+0x4],eax
  767.    0x08049649 <+3293>:  mov    eax,DWORD PTR [esp+0x158]
  768.    0x08049650 <+3300>:  mov    DWORD PTR [esp],eax
  769.    0x08049653 <+3303>:  call   0x8048770 <SDL_FillRect@plt>
  770.    0x08049658 <+3308>:  mov    eax,DWORD PTR [esp+0x14c]
  771.    0x0804965f <+3315>:  mov    WORD PTR [esp+0x2a],ax
  772.    0x08049664 <+3320>:  mov    eax,DWORD PTR [esp+0x150]
  773.    0x0804966b <+3327>:  mov    DWORD PTR [esp+0x8],eax
  774.    0x0804966f <+3331>:  lea    eax,[esp+0x28]
  775.    0x08049673 <+3335>:  mov    DWORD PTR [esp+0x4],eax
  776.    0x08049677 <+3339>:  mov    eax,DWORD PTR [esp+0x158]
  777.    0x0804967e <+3346>:  mov    DWORD PTR [esp],eax
  778.    0x08049681 <+3349>:  call   0x8048770 <SDL_FillRect@plt>
  779.    0x08049686 <+3354>:  movzx  eax,WORD PTR [esp+0x28]
  780.    0x0804968b <+3359>:  add    eax,0x1
  781.    0x0804968e <+3362>:  mov    WORD PTR [esp+0x28],ax
  782.    0x08049693 <+3367>:  movzx  eax,WORD PTR [esp+0x28]
  783.    0x08049698 <+3372>:  cwde  
  784.    0x08049699 <+3373>:  mov    edx,DWORD PTR [esp+0x144]
  785.    0x080496a0 <+3380>:  mov    ecx,DWORD PTR [esp+0x13c]
  786.    0x080496a7 <+3387>:  add    edx,ecx
  787.    0x080496a9 <+3389>:  cmp    eax,edx
  788.    0x080496ab <+3391>:  jl     0x80495ea <main+3198>
  789.    0x080496b1 <+3397>:  movzx  eax,WORD PTR [esp+0x28]
  790.    0x080496b6 <+3402>:  mov    edx,eax
  791.    0x080496b8 <+3404>:  mov    eax,DWORD PTR [esp+0x144]
  792.    0x080496bf <+3411>:  add    eax,edx
  793.    0x080496c1 <+3413>:  mov    WORD PTR [esp+0x28],ax
  794.    0x080496c6 <+3418>:  movzx  eax,WORD PTR [esp+0x28]
  795. ---Type <return> to continue, or q <return> to quit---
  796.    0x080496cb <+3423>:  cwde  
  797.    0x080496cc <+3424>:  mov    DWORD PTR [esp+0x13c],eax
  798.    0x080496d3 <+3431>:  mov    eax,DWORD PTR [esp+0x140]
  799.    0x080496da <+3438>:  mov    edx,eax
  800.    0x080496dc <+3440>:  shr    edx,0x1f
  801.    0x080496df <+3443>:  add    eax,edx
  802.    0x080496e1 <+3445>:  sar    eax,1
  803.    0x080496e3 <+3447>:  mov    edx,eax
  804.    0x080496e5 <+3449>:  mov    eax,DWORD PTR [esp+0x148]
  805.    0x080496ec <+3456>:  add    eax,edx
  806.    0x080496ee <+3458>:  mov    WORD PTR [esp+0x2a],ax
  807.    0x080496f3 <+3463>:  jmp    0x8049731 <main+3525>
  808.    0x080496f5 <+3465>:  movzx  eax,WORD PTR [esp+0x28]
  809.    0x080496fa <+3470>:  add    eax,0x1
  810.    0x080496fd <+3473>:  mov    WORD PTR [esp+0x28],ax
  811.    0x08049702 <+3478>:  mov    eax,DWORD PTR [esp+0x150]
  812.    0x08049709 <+3485>:  mov    DWORD PTR [esp+0x8],eax
  813.    0x0804970d <+3489>:  lea    eax,[esp+0x28]
  814.    0x08049711 <+3493>:  mov    DWORD PTR [esp+0x4],eax
  815.    0x08049715 <+3497>:  mov    eax,DWORD PTR [esp+0x158]
  816.    0x0804971c <+3504>:  mov    DWORD PTR [esp],eax
  817.    0x0804971f <+3507>:  call   0x8048770 <SDL_FillRect@plt>
  818.    0x08049724 <+3512>:  movzx  eax,WORD PTR [esp+0x2a]
  819.    0x08049729 <+3517>:  add    eax,0x1
  820.    0x0804972c <+3520>:  mov    WORD PTR [esp+0x2a],ax
  821.    0x08049731 <+3525>:  movzx  eax,WORD PTR [esp+0x2a]
  822.    0x08049736 <+3530>:  cwde  
  823.    0x08049737 <+3531>:  cmp    eax,DWORD PTR [esp+0x14c]
  824.    0x0804973e <+3538>:  jl     0x80496f5 <main+3465>
  825.    0x08049740 <+3540>:  mov    eax,DWORD PTR [esp+0x13c]
  826.    0x08049747 <+3547>:  mov    WORD PTR [esp+0x28],ax
  827.    0x0804974c <+3552>:  mov    eax,DWORD PTR [esp+0x140]
  828.    0x08049753 <+3559>:  mov    edx,eax
  829.    0x08049755 <+3561>:  shr    edx,0x1f
  830.    0x08049758 <+3564>:  add    eax,edx
  831. ---Type <return> to continue, or q <return> to quit---
  832.    0x0804975a <+3566>:  sar    eax,1
  833.    0x0804975c <+3568>:  mov    edx,eax
  834.    0x0804975e <+3570>:  mov    eax,DWORD PTR [esp+0x148]
  835.    0x08049765 <+3577>:  add    eax,edx
  836.    0x08049767 <+3579>:  mov    WORD PTR [esp+0x2a],ax
  837.    0x0804976c <+3584>:  jmp    0x80497aa <main+3646>
  838.    0x0804976e <+3586>:  movzx  eax,WORD PTR [esp+0x28]
  839.    0x08049773 <+3591>:  add    eax,0x1
  840.    0x08049776 <+3594>:  mov    WORD PTR [esp+0x28],ax
  841.    0x0804977b <+3599>:  mov    eax,DWORD PTR [esp+0x150]
  842.    0x08049782 <+3606>:  mov    DWORD PTR [esp+0x8],eax
  843.    0x08049786 <+3610>:  lea    eax,[esp+0x28]
  844.    0x0804978a <+3614>:  mov    DWORD PTR [esp+0x4],eax
  845.    0x0804978e <+3618>:  mov    eax,DWORD PTR [esp+0x158]
  846.    0x08049795 <+3625>:  mov    DWORD PTR [esp],eax
  847.    0x08049798 <+3628>:  call   0x8048770 <SDL_FillRect@plt>
  848.    0x0804979d <+3633>:  movzx  eax,WORD PTR [esp+0x2a]
  849.    0x080497a2 <+3638>:  sub    eax,0x1
  850.    0x080497a5 <+3641>:  mov    WORD PTR [esp+0x2a],ax
  851.    0x080497aa <+3646>:  movzx  eax,WORD PTR [esp+0x2a]
  852.    0x080497af <+3651>:  cwde  
  853.    0x080497b0 <+3652>:  cmp    eax,DWORD PTR [esp+0x148]
  854.    0x080497b7 <+3659>:  jg     0x804976e <main+3586>
  855.    0x080497b9 <+3661>:  movzx  eax,WORD PTR [esp+0x28]
  856.    0x080497be <+3666>:  mov    edx,eax
  857.    0x080497c0 <+3668>:  mov    eax,DWORD PTR [esp+0x144]
  858.    0x080497c7 <+3675>:  add    eax,edx
  859.    0x080497c9 <+3677>:  mov    WORD PTR [esp+0x28],ax
  860.    0x080497ce <+3682>:  movzx  eax,WORD PTR [esp+0x28]
  861.    0x080497d3 <+3687>:  cwde  
  862.    0x080497d4 <+3688>:  mov    DWORD PTR [esp+0x13c],eax
  863.    0x080497db <+3695>:  mov    eax,DWORD PTR [esp+0x140]
  864.    0x080497e2 <+3702>:  mov    edx,eax
  865.    0x080497e4 <+3704>:  shr    edx,0x1f
  866.    0x080497e7 <+3707>:  add    eax,edx
  867. ---Type <return> to continue, or q <return> to quit---
  868.    0x080497e9 <+3709>:  sar    eax,1
  869.    0x080497eb <+3711>:  mov    edx,eax
  870.    0x080497ed <+3713>:  mov    eax,DWORD PTR [esp+0x148]
  871.    0x080497f4 <+3720>:  add    eax,edx
  872.    0x080497f6 <+3722>:  mov    WORD PTR [esp+0x2a],ax
  873.    0x080497fb <+3727>:  jmp    0x8049839 <main+3789>
  874.    0x080497fd <+3729>:  movzx  eax,WORD PTR [esp+0x28]
  875.    0x08049802 <+3734>:  add    eax,0x1
  876.    0x08049805 <+3737>:  mov    WORD PTR [esp+0x28],ax
  877.    0x0804980a <+3742>:  mov    eax,DWORD PTR [esp+0x150]
  878.    0x08049811 <+3749>:  mov    DWORD PTR [esp+0x8],eax
  879.    0x08049815 <+3753>:  lea    eax,[esp+0x28]
  880.    0x08049819 <+3757>:  mov    DWORD PTR [esp+0x4],eax
  881.    0x0804981d <+3761>:  mov    eax,DWORD PTR [esp+0x158]
  882.    0x08049824 <+3768>:  mov    DWORD PTR [esp],eax
  883.    0x08049827 <+3771>:  call   0x8048770 <SDL_FillRect@plt>
  884.    0x0804982c <+3776>:  movzx  eax,WORD PTR [esp+0x2a]
  885.    0x08049831 <+3781>:  add    eax,0x1
  886.    0x08049834 <+3784>:  mov    WORD PTR [esp+0x2a],ax
  887.    0x08049839 <+3789>:  movzx  eax,WORD PTR [esp+0x2a]
  888.    0x0804983e <+3794>:  cwde  
  889.    0x0804983f <+3795>:  cmp    eax,DWORD PTR [esp+0x14c]
  890.    0x08049846 <+3802>:  jl     0x80497fd <main+3729>
  891.    0x08049848 <+3804>:  mov    eax,DWORD PTR [esp+0x13c]
  892.    0x0804984f <+3811>:  mov    WORD PTR [esp+0x28],ax
  893.    0x08049854 <+3816>:  mov    eax,DWORD PTR [esp+0x140]
  894.    0x0804985b <+3823>:  mov    edx,eax
  895.    0x0804985d <+3825>:  shr    edx,0x1f
  896.    0x08049860 <+3828>:  add    eax,edx
  897.    0x08049862 <+3830>:  sar    eax,1
  898.    0x08049864 <+3832>:  mov    edx,eax
  899.    0x08049866 <+3834>:  mov    eax,DWORD PTR [esp+0x148]
  900.    0x0804986d <+3841>:  add    eax,edx
  901.    0x0804986f <+3843>:  mov    WORD PTR [esp+0x2a],ax
  902.    0x08049874 <+3848>:  jmp    0x80498b2 <main+3910>
  903. ---Type <return> to continue, or q <return> to quit---
  904.    0x08049876 <+3850>:  movzx  eax,WORD PTR [esp+0x28]
  905.    0x0804987b <+3855>:  add    eax,0x1
  906.    0x0804987e <+3858>:  mov    WORD PTR [esp+0x28],ax
  907.    0x08049883 <+3863>:  mov    eax,DWORD PTR [esp+0x150]
  908.    0x0804988a <+3870>:  mov    DWORD PTR [esp+0x8],eax
  909.    0x0804988e <+3874>:  lea    eax,[esp+0x28]
  910.    0x08049892 <+3878>:  mov    DWORD PTR [esp+0x4],eax
  911.    0x08049896 <+3882>:  mov    eax,DWORD PTR [esp+0x158]
  912.    0x0804989d <+3889>:  mov    DWORD PTR [esp],eax
  913.    0x080498a0 <+3892>:  call   0x8048770 <SDL_FillRect@plt>
  914.    0x080498a5 <+3897>:  movzx  eax,WORD PTR [esp+0x2a]
  915.    0x080498aa <+3902>:  sub    eax,0x1
  916.    0x080498ad <+3905>:  mov    WORD PTR [esp+0x2a],ax
  917.    0x080498b2 <+3910>:  movzx  eax,WORD PTR [esp+0x2a]
  918.    0x080498b7 <+3915>:  cwde  
  919.    0x080498b8 <+3916>:  cmp    eax,DWORD PTR [esp+0x148]
  920.    0x080498bf <+3923>:  jg     0x8049876 <main+3850>
  921.    0x080498c1 <+3925>:  movzx  eax,WORD PTR [esp+0x28]
  922.    0x080498c6 <+3930>:  cwde  
  923.    0x080498c7 <+3931>:  mov    DWORD PTR [esp+0x13c],eax
  924.    0x080498ce <+3938>:  mov    eax,DWORD PTR [esp+0x148]
  925.    0x080498d5 <+3945>:  mov    WORD PTR [esp+0x2a],ax
  926.    0x080498da <+3950>:  jmp    0x8049918 <main+4012>
  927.    0x080498dc <+3952>:  movzx  eax,WORD PTR [esp+0x28]
  928.    0x080498e1 <+3957>:  add    eax,0x1
  929.    0x080498e4 <+3960>:  mov    WORD PTR [esp+0x28],ax
  930.    0x080498e9 <+3965>:  mov    eax,DWORD PTR [esp+0x150]
  931.    0x080498f0 <+3972>:  mov    DWORD PTR [esp+0x8],eax
  932.    0x080498f4 <+3976>:  lea    eax,[esp+0x28]
  933.    0x080498f8 <+3980>:  mov    DWORD PTR [esp+0x4],eax
  934.    0x080498fc <+3984>:  mov    eax,DWORD PTR [esp+0x158]
  935.    0x08049903 <+3991>:  mov    DWORD PTR [esp],eax
  936.    0x08049906 <+3994>:  call   0x8048770 <SDL_FillRect@plt>
  937.    0x0804990b <+3999>:  movzx  eax,WORD PTR [esp+0x2a]
  938.    0x08049910 <+4004>:  add    eax,0x1
  939. ---Type <return> to continue, or q <return> to quit---
  940.    0x08049913 <+4007>:  mov    WORD PTR [esp+0x2a],ax
  941.    0x08049918 <+4012>:  movzx  eax,WORD PTR [esp+0x2a]
  942.    0x0804991d <+4017>:  movsx  edx,ax
  943.    0x08049920 <+4020>:  mov    eax,DWORD PTR [esp+0x140]
  944.    0x08049927 <+4027>:  mov    ecx,eax
  945.    0x08049929 <+4029>:  shr    ecx,0x1f
  946.    0x0804992c <+4032>:  add    eax,ecx
  947.    0x0804992e <+4034>:  sar    eax,1
  948.    0x08049930 <+4036>:  mov    ecx,eax
  949.    0x08049932 <+4038>:  mov    eax,DWORD PTR [esp+0x148]
  950.    0x08049939 <+4045>:  add    eax,ecx
  951.    0x0804993b <+4047>:  cmp    edx,eax
  952.    0x0804993d <+4049>:  jl     0x80498dc <main+3952>
  953.    0x0804993f <+4051>:  mov    eax,DWORD PTR [esp+0x13c]
  954.    0x08049946 <+4058>:  mov    WORD PTR [esp+0x28],ax
  955.    0x0804994b <+4063>:  mov    eax,DWORD PTR [esp+0x14c]
  956.    0x08049952 <+4070>:  mov    WORD PTR [esp+0x2a],ax
  957.    0x08049957 <+4075>:  jmp    0x8049995 <main+4137>
  958.    0x08049959 <+4077>:  movzx  eax,WORD PTR [esp+0x28]
  959.    0x0804995e <+4082>:  add    eax,0x1
  960.    0x08049961 <+4085>:  mov    WORD PTR [esp+0x28],ax
  961.    0x08049966 <+4090>:  mov    eax,DWORD PTR [esp+0x150]
  962.    0x0804996d <+4097>:  mov    DWORD PTR [esp+0x8],eax
  963.    0x08049971 <+4101>:  lea    eax,[esp+0x28]
  964.    0x08049975 <+4105>:  mov    DWORD PTR [esp+0x4],eax
  965.    0x08049979 <+4109>:  mov    eax,DWORD PTR [esp+0x158]
  966.    0x08049980 <+4116>:  mov    DWORD PTR [esp],eax
  967.    0x08049983 <+4119>:  call   0x8048770 <SDL_FillRect@plt>
  968.    0x08049988 <+4124>:  movzx  eax,WORD PTR [esp+0x2a]
  969.    0x0804998d <+4129>:  sub    eax,0x1
  970.    0x08049990 <+4132>:  mov    WORD PTR [esp+0x2a],ax
  971.    0x08049995 <+4137>:  movzx  eax,WORD PTR [esp+0x2a]
  972.    0x0804999a <+4142>:  movsx  edx,ax
  973.    0x0804999d <+4145>:  mov    eax,DWORD PTR [esp+0x140]
  974.    0x080499a4 <+4152>:  mov    ecx,eax
  975. ---Type <return> to continue, or q <return> to quit---
  976.    0x080499a6 <+4154>:  shr    ecx,0x1f
  977.    0x080499a9 <+4157>:  add    eax,ecx
  978.    0x080499ab <+4159>:  sar    eax,1
  979.    0x080499ad <+4161>:  mov    ecx,eax
  980.    0x080499af <+4163>:  mov    eax,DWORD PTR [esp+0x148]
  981.    0x080499b6 <+4170>:  add    eax,ecx
  982.    0x080499b8 <+4172>:  cmp    edx,eax
  983.    0x080499ba <+4174>:  jg     0x8049959 <main+4077>
  984.    0x080499bc <+4176>:  movzx  eax,WORD PTR [esp+0x28]
  985.    0x080499c1 <+4181>:  mov    edx,eax
  986.    0x080499c3 <+4183>:  mov    eax,DWORD PTR [esp+0x144]
  987.    0x080499ca <+4190>:  add    eax,edx
  988.    0x080499cc <+4192>:  mov    WORD PTR [esp+0x28],ax
  989.    0x080499d1 <+4197>:  mov    eax,DWORD PTR [esp+0x148]
  990.    0x080499d8 <+4204>:  mov    WORD PTR [esp+0x2a],ax
  991.    0x080499dd <+4209>:  jmp    0x8049a0e <main+4258>
  992.    0x080499df <+4211>:  mov    eax,DWORD PTR [esp+0x150]
  993.    0x080499e6 <+4218>:  mov    DWORD PTR [esp+0x8],eax
  994.    0x080499ea <+4222>:  lea    eax,[esp+0x28]
  995.    0x080499ee <+4226>:  mov    DWORD PTR [esp+0x4],eax
  996.    0x080499f2 <+4230>:  mov    eax,DWORD PTR [esp+0x158]
  997.    0x080499f9 <+4237>:  mov    DWORD PTR [esp],eax
  998.    0x080499fc <+4240>:  call   0x8048770 <SDL_FillRect@plt>
  999.    0x08049a01 <+4245>:  movzx  eax,WORD PTR [esp+0x2a]
  1000.    0x08049a06 <+4250>:  add    eax,0x1
  1001.    0x08049a09 <+4253>:  mov    WORD PTR [esp+0x2a],ax
  1002.    0x08049a0e <+4258>:  movzx  eax,WORD PTR [esp+0x2a]
  1003.    0x08049a13 <+4263>:  cwde  
  1004.    0x08049a14 <+4264>:  cmp    eax,DWORD PTR [esp+0x14c]
  1005.    0x08049a1b <+4271>:  jl     0x80499df <main+4211>
  1006.    0x08049a1d <+4273>:  movzx  eax,WORD PTR [esp+0x28]
  1007.    0x08049a22 <+4278>:  cwde  
  1008.    0x08049a23 <+4279>:  mov    DWORD PTR [esp+0x13c],eax
  1009.    0x08049a2a <+4286>:  mov    eax,DWORD PTR [esp+0x14c]
  1010.    0x08049a31 <+4293>:  mov    WORD PTR [esp+0x2a],ax
  1011. ---Type <return> to continue, or q <return> to quit---
  1012.    0x08049a36 <+4298>:  jmp    0x8049a74 <main+4360>
  1013.    0x08049a38 <+4300>:  movzx  eax,WORD PTR [esp+0x28]
  1014.    0x08049a3d <+4305>:  add    eax,0x1
  1015.    0x08049a40 <+4308>:  mov    WORD PTR [esp+0x28],ax
  1016.    0x08049a45 <+4313>:  mov    eax,DWORD PTR [esp+0x150]
  1017.    0x08049a4c <+4320>:  mov    DWORD PTR [esp+0x8],eax
  1018.    0x08049a50 <+4324>:  lea    eax,[esp+0x28]
  1019.    0x08049a54 <+4328>:  mov    DWORD PTR [esp+0x4],eax
  1020.    0x08049a58 <+4332>:  mov    eax,DWORD PTR [esp+0x158]
  1021.    0x08049a5f <+4339>:  mov    DWORD PTR [esp],eax
  1022.    0x08049a62 <+4342>:  call   0x8048770 <SDL_FillRect@plt>
  1023.    0x08049a67 <+4347>:  movzx  eax,WORD PTR [esp+0x2a]
  1024.    0x08049a6c <+4352>:  sub    eax,0x1
  1025.    0x08049a6f <+4355>:  mov    WORD PTR [esp+0x2a],ax
  1026.    0x08049a74 <+4360>:  movzx  eax,WORD PTR [esp+0x2a]
  1027.    0x08049a79 <+4365>:  movsx  edx,ax
  1028.    0x08049a7c <+4368>:  mov    eax,DWORD PTR [esp+0x140]
  1029.    0x08049a83 <+4375>:  mov    ecx,eax
  1030.    0x08049a85 <+4377>:  shr    ecx,0x1f
  1031.    0x08049a88 <+4380>:  add    eax,ecx
  1032.    0x08049a8a <+4382>:  sar    eax,1
  1033.    0x08049a8c <+4384>:  mov    ecx,eax
  1034.    0x08049a8e <+4386>:  mov    eax,DWORD PTR [esp+0x148]
  1035.    0x08049a95 <+4393>:  add    eax,ecx
  1036.    0x08049a97 <+4395>:  cmp    edx,eax
  1037.    0x08049a99 <+4397>:  jg     0x8049a38 <main+4300>
  1038.    0x08049a9b <+4399>:  mov    eax,DWORD PTR [esp+0x13c]
  1039.    0x08049aa2 <+4406>:  mov    WORD PTR [esp+0x28],ax
  1040.    0x08049aa7 <+4411>:  mov    eax,DWORD PTR [esp+0x148]
  1041.    0x08049aae <+4418>:  mov    WORD PTR [esp+0x2a],ax
  1042.    0x08049ab3 <+4423>:  jmp    0x8049af1 <main+4485>
  1043.    0x08049ab5 <+4425>:  movzx  eax,WORD PTR [esp+0x28]
  1044.    0x08049aba <+4430>:  add    eax,0x1
  1045.    0x08049abd <+4433>:  mov    WORD PTR [esp+0x28],ax
  1046.    0x08049ac2 <+4438>:  mov    eax,DWORD PTR [esp+0x150]
  1047. ---Type <return> to continue, or q <return> to quit---
  1048.    0x08049ac9 <+4445>:  mov    DWORD PTR [esp+0x8],eax
  1049.    0x08049acd <+4449>:  lea    eax,[esp+0x28]
  1050.    0x08049ad1 <+4453>:  mov    DWORD PTR [esp+0x4],eax
  1051.    0x08049ad5 <+4457>:  mov    eax,DWORD PTR [esp+0x158]
  1052.    0x08049adc <+4464>:  mov    DWORD PTR [esp],eax
  1053.    0x08049adf <+4467>:  call   0x8048770 <SDL_FillRect@plt>
  1054.    0x08049ae4 <+4472>:  movzx  eax,WORD PTR [esp+0x2a]
  1055.    0x08049ae9 <+4477>:  add    eax,0x1
  1056.    0x08049aec <+4480>:  mov    WORD PTR [esp+0x2a],ax
  1057.    0x08049af1 <+4485>:  movzx  eax,WORD PTR [esp+0x2a]
  1058.    0x08049af6 <+4490>:  movsx  edx,ax
  1059.    0x08049af9 <+4493>:  mov    eax,DWORD PTR [esp+0x140]
  1060.    0x08049b00 <+4500>:  mov    ecx,eax
  1061.    0x08049b02 <+4502>:  shr    ecx,0x1f
  1062.    0x08049b05 <+4505>:  add    eax,ecx
  1063.    0x08049b07 <+4507>:  sar    eax,1
  1064.    0x08049b09 <+4509>:  mov    ecx,eax
  1065.    0x08049b0b <+4511>:  mov    eax,DWORD PTR [esp+0x148]
  1066.    0x08049b12 <+4518>:  add    eax,ecx
  1067.    0x08049b14 <+4520>:  cmp    edx,eax
  1068.    0x08049b16 <+4522>:  jl     0x8049ab5 <main+4425>
  1069.    0x08049b18 <+4524>:  movzx  eax,WORD PTR [esp+0x28]
  1070.    0x08049b1d <+4529>:  mov    edx,eax
  1071.    0x08049b1f <+4531>:  mov    eax,DWORD PTR [esp+0x144]
  1072.    0x08049b26 <+4538>:  add    eax,edx
  1073.    0x08049b28 <+4540>:  mov    WORD PTR [esp+0x28],ax
  1074.    0x08049b2d <+4545>:  movzx  eax,WORD PTR [esp+0x28]
  1075.    0x08049b32 <+4550>:  cwde  
  1076.    0x08049b33 <+4551>:  mov    DWORD PTR [esp+0x13c],eax
  1077.    0x08049b3a <+4558>:  jmp    0x8049be8 <main+4732>
  1078.    0x08049b3f <+4563>:  mov    eax,DWORD PTR [esp+0x148]
  1079.    0x08049b46 <+4570>:  mov    WORD PTR [esp+0x2a],ax
  1080.    0x08049b4b <+4575>:  mov    eax,DWORD PTR [esp+0x150]
  1081.    0x08049b52 <+4582>:  mov    DWORD PTR [esp+0x8],eax
  1082.    0x08049b56 <+4586>:  lea    eax,[esp+0x28]
  1083. ---Type <return> to continue, or q <return> to quit---
  1084.    0x08049b5a <+4590>:  mov    DWORD PTR [esp+0x4],eax
  1085.    0x08049b5e <+4594>:  mov    eax,DWORD PTR [esp+0x158]
  1086.    0x08049b65 <+4601>:  mov    DWORD PTR [esp],eax
  1087.    0x08049b68 <+4604>:  call   0x8048770 <SDL_FillRect@plt>
  1088.    0x08049b6d <+4609>:  movzx  eax,WORD PTR [esp+0x2a]
  1089.    0x08049b72 <+4614>:  mov    edx,eax
  1090.    0x08049b74 <+4616>:  mov    eax,DWORD PTR [esp+0x140]
  1091.    0x08049b7b <+4623>:  mov    ecx,eax
  1092.    0x08049b7d <+4625>:  shr    ecx,0x1f
  1093.    0x08049b80 <+4628>:  add    eax,ecx
  1094.    0x08049b82 <+4630>:  sar    eax,1
  1095.    0x08049b84 <+4632>:  add    eax,edx
  1096.    0x08049b86 <+4634>:  mov    WORD PTR [esp+0x2a],ax
  1097.    0x08049b8b <+4639>:  mov    eax,DWORD PTR [esp+0x150]
  1098.    0x08049b92 <+4646>:  mov    DWORD PTR [esp+0x8],eax
  1099.    0x08049b96 <+4650>:  lea    eax,[esp+0x28]
  1100.    0x08049b9a <+4654>:  mov    DWORD PTR [esp+0x4],eax
  1101.    0x08049b9e <+4658>:  mov    eax,DWORD PTR [esp+0x158]
  1102.    0x08049ba5 <+4665>:  mov    DWORD PTR [esp],eax
  1103.    0x08049ba8 <+4668>:  call   0x8048770 <SDL_FillRect@plt>
  1104.    0x08049bad <+4673>:  mov    eax,DWORD PTR [esp+0x14c]
  1105.    0x08049bb4 <+4680>:  mov    WORD PTR [esp+0x2a],ax
  1106.    0x08049bb9 <+4685>:  mov    eax,DWORD PTR [esp+0x150]
  1107.    0x08049bc0 <+4692>:  mov    DWORD PTR [esp+0x8],eax
  1108.    0x08049bc4 <+4696>:  lea    eax,[esp+0x28]
  1109.    0x08049bc8 <+4700>:  mov    DWORD PTR [esp+0x4],eax
  1110.    0x08049bcc <+4704>:  mov    eax,DWORD PTR [esp+0x158]
  1111.    0x08049bd3 <+4711>:  mov    DWORD PTR [esp],eax
  1112.    0x08049bd6 <+4714>:  call   0x8048770 <SDL_FillRect@plt>
  1113.    0x08049bdb <+4719>:  movzx  eax,WORD PTR [esp+0x28]
  1114.    0x08049be0 <+4724>:  add    eax,0x1
  1115.    0x08049be3 <+4727>:  mov    WORD PTR [esp+0x28],ax
  1116.    0x08049be8 <+4732>:  movzx  eax,WORD PTR [esp+0x28]
  1117.    0x08049bed <+4737>:  cwde  
  1118.    0x08049bee <+4738>:  mov    edx,DWORD PTR [esp+0x144]
  1119. ---Type <return> to continue, or q <return> to quit---
  1120.    0x08049bf5 <+4745>:  mov    ecx,DWORD PTR [esp+0x13c]
  1121.    0x08049bfc <+4752>:  add    edx,ecx
  1122.    0x08049bfe <+4754>:  cmp    eax,edx
  1123.    0x08049c00 <+4756>:  jl     0x8049b3f <main+4563>
  1124.    0x08049c06 <+4762>:  mov    eax,DWORD PTR [esp+0x148]
  1125.    0x08049c0d <+4769>:  mov    WORD PTR [esp+0x2a],ax
  1126.    0x08049c12 <+4774>:  jmp    0x8049c43 <main+4823>
  1127.    0x08049c14 <+4776>:  mov    eax,DWORD PTR [esp+0x150]
  1128.    0x08049c1b <+4783>:  mov    DWORD PTR [esp+0x8],eax
  1129.    0x08049c1f <+4787>:  lea    eax,[esp+0x28]
  1130.    0x08049c23 <+4791>:  mov    DWORD PTR [esp+0x4],eax
  1131.    0x08049c27 <+4795>:  mov    eax,DWORD PTR [esp+0x158]
  1132.    0x08049c2e <+4802>:  mov    DWORD PTR [esp],eax
  1133.    0x08049c31 <+4805>:  call   0x8048770 <SDL_FillRect@plt>
  1134.    0x08049c36 <+4810>:  movzx  eax,WORD PTR [esp+0x2a]
  1135.    0x08049c3b <+4815>:  add    eax,0x1
  1136.    0x08049c3e <+4818>:  mov    WORD PTR [esp+0x2a],ax
  1137.    0x08049c43 <+4823>:  movzx  eax,WORD PTR [esp+0x2a]
  1138.    0x08049c48 <+4828>:  cwde  
  1139.    0x08049c49 <+4829>:  cmp    eax,DWORD PTR [esp+0x14c]
  1140.    0x08049c50 <+4836>:  jl     0x8049c14 <main+4776>
  1141.    0x08049c52 <+4838>:  movzx  eax,WORD PTR [esp+0x28]
  1142.    0x08049c57 <+4843>:  mov    edx,eax
  1143.    0x08049c59 <+4845>:  mov    eax,DWORD PTR [esp+0x144]
  1144.    0x08049c60 <+4852>:  add    eax,edx
  1145.    0x08049c62 <+4854>:  mov    WORD PTR [esp+0x28],ax
  1146.    0x08049c67 <+4859>:  mov    WORD PTR [esp+0x2a],0x0
  1147.    0x08049c6e <+4866>:  mov    WORD PTR [esp+0x2c],0x1
  1148.    0x08049c75 <+4873>:  mov    WORD PTR [esp+0x2e],0x12c
  1149.    0x08049c7c <+4880>:  mov    WORD PTR [esp+0x28],0x0
  1150.    0x08049c83 <+4887>:  jmp    0x8049cdb <main+4975>
  1151.    0x08049c85 <+4889>:  movzx  eax,WORD PTR [esp+0x2e]
  1152.    0x08049c8a <+4894>:  movzx  ebx,ax
  1153.    0x08049c8d <+4897>:  movzx  eax,WORD PTR [esp+0x2c]
  1154.    0x08049c92 <+4902>:  movzx  ecx,ax
  1155. ---Type <return> to continue, or q <return> to quit---
  1156.    0x08049c95 <+4905>:  movzx  eax,WORD PTR [esp+0x2a]
  1157.    0x08049c9a <+4910>:  movsx  edx,ax
  1158.    0x08049c9d <+4913>:  movzx  eax,WORD PTR [esp+0x28]
  1159.    0x08049ca2 <+4918>:  cwde  
  1160.    0x08049ca3 <+4919>:  mov    DWORD PTR [esp+0x10],ebx
  1161.    0x08049ca7 <+4923>:  mov    DWORD PTR [esp+0xc],ecx
  1162.    0x08049cab <+4927>:  mov    DWORD PTR [esp+0x8],edx
  1163.    0x08049caf <+4931>:  mov    DWORD PTR [esp+0x4],eax
  1164.    0x08049cb3 <+4935>:  mov    eax,DWORD PTR [esp+0x158]
  1165.    0x08049cba <+4942>:  mov    DWORD PTR [esp],eax
  1166.    0x08049cbd <+4945>:  call   0x8048820 <SDL_UpdateRect@plt>
  1167.    0x08049cc2 <+4950>:  mov    DWORD PTR [esp],0x2710
  1168.    0x08049cc9 <+4957>:  call   0x80487a0 <usleep@plt>
  1169.    0x08049cce <+4962>:  movzx  eax,WORD PTR [esp+0x28]
  1170.    0x08049cd3 <+4967>:  add    eax,0x1
  1171.    0x08049cd6 <+4970>:  mov    WORD PTR [esp+0x28],ax
  1172.    0x08049cdb <+4975>:  movzx  eax,WORD PTR [esp+0x28]
  1173.    0x08049ce0 <+4980>:  cmp    ax,0x13f
  1174.    0x08049ce4 <+4984>:  jle    0x8049c85 <main+4889>
  1175.    0x08049ce6 <+4986>:  mov    DWORD PTR [esp],0x3
  1176.    0x08049ced <+4993>:  call   0x8048830 <sleep@plt>
  1177.    0x08049cf2 <+4998>:  mov    eax,0x0
  1178.    0x08049cf7 <+5003>:  mov    ebx,DWORD PTR [ebp-0x4]
  1179.    0x08049cfa <+5006>:  leave  
  1180.    0x08049cfb <+5007>:  ret    
  1181. End of assembler dump.
  1182. (gdb)
RAW Paste Data
Pastebin PRO Summer Special!
Get 40% OFF on Pastebin PRO accounts!
Top