Not quite. All the bullet data (position, speed, how long it has been in existence, ect) is stored in RAM at a certain place. At the start of the bullet function, that place is put into [EBP+8], which is why you see MOV E_X,[EBP+8] all the time (note: whenever I use E_X, the blank is A, C, or D)...