A program I'm investigating has the following code (disassembled by IDA with some light censorship by me):
__text:....B9 call <redacted> __text:....BE nop __text:....BF nop dword ptr [rax+00h]
I have two questions. First, why would the compiler have inserted these
nops? They don't appear to be for any alignment purpose.
Second, what is that
nop with a relative addressing argument? Its hex is
0F 1F 40 00. Looking at http://ref.x86asm.net/, this does appear to be an instruction called "hintable NOP", but I'm having trouble finding relevant information about it.
By the way, the next instruction starts at
....C3 and is a real/productive instruction (that is, not a
nop or anything morally equivalent to a