A relative jump is 5 bytes (1 byte opcode, 4 byte target, see http://ref.x86asm.net/coder32.html#xE9 ). The target address for the relative jump is relative to the address of the jump command hence the -5.