Dlaczego ten kod pozwala mi wykryć debuger?

Dlaczego poniższy kod zespołu jest narzędziem zapobiegającym debugowaniu?

l1:
call l3
l2:
;some code
l3:
mov al, 0c3h
mov edi, offset l3
or ecx, -1
rep stosb

wiem toC3h jestRETN i wiem tostobs zapisuje wartość wal jako opcode zgodnie z przesunięciem wedi i jest to zrobione dlaecx razy z powodurep.

Jestem również świadomy tego, żestobs istosw będzie działać, jeśli zostały pobrane z architektury intel jako oryginalny format.

Jeśli uruchomimy program w trybie debugowania, pre-fetch jest nieistotny i etykieta l2 zostanie uruchomiona (ponieważ jest jednostopniowa), w przeciwnym razie, jeśli nie ma debugera, będzie to ping-pong między l1 a l3.