Pushok

switch if

Jun 3rd, 2012
401
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.     int a = 2;
  2. 00161006  mov         dword ptr [a],2  
  3.  
  4.     switch(a)
  5. 0016100D  mov         eax,dword ptr [a]  
  6. 00161010  mov         dword ptr [ebp-8],eax  
  7. 00161013  cmp         dword ptr [ebp-8],0  
  8. 00161017  je          main+27h (161027h)  
  9. 00161019  cmp         dword ptr [ebp-8],1  
  10. 0016101D  je          main+37h (161037h)  
  11. 0016101F  cmp         dword ptr [ebp-8],2  
  12. 00161023  je          main+47h (161047h)  
  13. 00161025  jmp         main+55h (161055h)  
  14.     {
  15.     case 0:
  16.         printf("asd");
  17. 00161027  push        offset ___xi_z+34h (1620F4h)  
  18. 0016102C  call        dword ptr [__imp__printf (1620A0h)]  
  19. 00161032  add         esp,4  
  20.         break;
  21. 00161035  jmp         main+55h (161055h)  
  22.     case 1:
  23.         printf("asd1");
  24. 00161037  push        offset ___xi_z+38h (1620F8h)  
  25. 0016103C  call        dword ptr [__imp__printf (1620A0h)]  
  26. 00161042  add         esp,4  
  27.         break;
  28. 00161045  jmp         main+55h (161055h)  
  29.     case 2:
  30.         printf("asd2");
  31. 00161047  push        offset ___xi_z+40h (162100h)  
  32. 0016104C  call        dword ptr [__imp__printf (1620A0h)]  
  33. 00161052  add         esp,4  
  34.         break;
  35.     }
  36.  
  37.     //-----
  38.  
  39.     if( a == 0 )
  40. 00161055  cmp         dword ptr [a],0  
  41. 00161059  jne         main+6Bh (16106Bh)  
  42.     {
  43.         printf("asd");
  44. 0016105B  push        offset ___xi_z+48h (162108h)  
  45. 00161060  call        dword ptr [__imp__printf (1620A0h)]  
  46. 00161066  add         esp,4  
  47. 00161069  jmp         main+95h (161095h)  
  48.     }
  49.     else if(a==1)
  50. 0016106B  cmp         dword ptr [a],1  
  51. 0016106F  jne         main+81h (161081h)  
  52.     {
  53.         printf("asd1");
  54. 00161071  push        offset ___xi_z+4Ch (16210Ch)  
  55. 00161076  call        dword ptr [__imp__printf (1620A0h)]  
  56. 0016107C  add         esp,4  
  57. 0016107F  jmp         main+95h (161095h)  
  58.     }
  59.     else if(a==2)
  60. 00161081  cmp         dword ptr [a],2  
  61. 00161085  jne         main+95h (161095h)  
  62.     {
  63.         printf("asd2");
  64. 00161087  push        offset ___xi_z+54h (162114h)  
  65. 0016108C  call        dword ptr [__imp__printf (1620A0h)]  
  66. 00161092  add         esp,4  
  67.     }
  68.  
  69.  
  70.     return 0;
  71. 00161095  xor         eax,eax  
  72. }
Advertisement
Add Comment
Please, Sign In to add comment