I am not sure if IDA is working correctly or not.
I have the instructions
call $+5 pop edi
If I understand this correctly, the program will jump forward, skipping some junk interpreted as instructions by IDA. To calculate where the execution continues, I have to get the location of
pop edi (00002504), undefine everything after
pop edi, and redefine as code at the location of
pop edi + 5 (00002509) , or at least that's what I understood from searching here.
Now, the problem is that when I undefine everything after
pop edi, IDA freaks out and does not undefine anything.
With the experience I have, when doing this I noticed that all the instructions after the undefine are well, undefined.
What is happening here?