So I'm trying to get into some fun stuff like ROP and ASM programming, but there is one thing that I should probably understand that I can just never get my head around, the call stack. I get what it is supposed to do but I'm baffled by the way it works and how you use it, can anyone help explain it for me?