Question: what does a popa do?
Answer: popa restores the general registers to their values before a previous pusha was executed. DI is the first register popped. The eight 32-bit registers are popped by popad. However, the ESP value is not loaded into ESP, it is discarded.