#include <stdio.h>
#include <string.h>

static const char code[22] = "\x53\x31\xC0\x0F\xA2\x89\x1F\x89\x57\x04"
                             "\x89\x4F\x08\x5B\x48\x8D\x05\0\0\0\0\xC3";
static void (*get_vendor_string)(char(*)[12]) = (void(*)(char(*)[12]))code;

static void autocorrect(char(*str)[12]) {
    if (strcmp("GenuineIntel", *str) == 0) {
        memcpy(str, "shintel \xf0\x9f\x92\xa9", 12);
    } else if (strcmp("AuthenticAMD", *str) == 0) {
        memcpy(str, "AyyyyyyyyyMD", 12);
    }
}

int main() {
    char s[12];
    get_vendor_string(&s);
    autocorrect(&s);
    printf("CPU made by %.12s\n", s);
}