The CPU dispatcher function used in Intel compilers is represented by the following piece of code:
[..skip..] mov eax, [ebp][-0008] cmp eax, 0756E6547 ;"uneG" ; Checking on "Genu" jne not_intel ; if it doesn’t equal, switching for not_intel mov eax, [ebp][-0010] cmp eax, 049656E69 ;"Ieni" ; Checking on "ineI" jne not_intel ; doesn’t equal - not_intel mov eax, [ebp][-0014] cmp eax, 06C65746E ;"letn" ; Checking on "ntel" jne not_intel ; doesn’t equal - not_intel mov edx, 000000001 ; the secret byte jmps next not_intel: xor edx, edx ; and here we have 0 for all non-Intel CPUs next: [..skip..]
We can see that the CPU dispatcher checks on "Genu", "ineI", "ntel" and if all checks are successful EDX is given value “1” (one) meaning Intel CPU. Otherwise – “0” (zero) meaning CPU made by any other vendor. Thus, if these checks are disabled or replaced with a condition that is always true in the end EDX register will have ‘1’ (one) regardless of what CPU is actually used.