Понятия не имею, это полностью зависит от кода.
Но, что интересно, это число 4096 - 2<sup>31</sup>
, поэтому я бы искал число 4096 где-то в базе кода.
И я не уверен, что полностью согласен с вашим комментарием:
то, что следовало за 0x, было строкой, приведенной к int.
Я подозреваю, что это началось как(переполнение) int
, приведение к строке, затем префикс 0x
перед передачей в Int64.Parse()
или что-то подобное.
Почему вы берете число с основанием 10 и добавляете к нему префикс0x
немного загадка.
Но, учитывая, что исключение должно предоставить вам номер строки, должна быть возможность оттуда отследить поиск ошибочной операции.