Во-первых, это не калечит, это украшение. Mangling - это то, что происходит с компиляторами C ++, потому что C ++ изначально был разработан для поддержки перегрузки с использованием инструментов ссылок в стиле C.
Что касается вашего вопроса, у вас не может быть двух функций с одинаковым именем. В целях применения этого правила используется неукрашенное имя.
Почему это так? Я думаю, это потому, что соглашения об оформлении и вызовах не являются частью стандарта C и специфичны для каждого компилятора. Я почти уверен, что компиляторы C, поддерживающие множественные соглашения о вызовах, появились всего через несколько лет после изобретения C.