Сергей был из породы людей, предпочитавших не начинать несколько дел одновременно, а, только до конца разобравшись с одним, браться за следующее. Поэтому лишь после того, как их с Ольгой совместными усилиями была решена первая загадка, он открыл второй файл – и сразу же облегченно выдохнул.
Никаких издевательств над мозгом программиста в этот раз не предвиделось. Код был написан на классическом «Си»8, а его структура – безупречна, логична и в то же время предельно проста для понимания. Однако уже со второй страницы стали попадаться вставки на ассемблере9. Именно они застали Сергея врасплох. Ассемблер – язык хитрый: его программисты используют, когда возникает необходимость напрямую обратиться к «железу» компьютера. Не знать системы команд процессора, для которого писалась программа – значит, не понять в коде ни байта.
Мнемонические10 обозначения команд неведомой системы, выстроенные в ровные столбцы, мелькали перед глазами Сергея. Хотя ему приходилось иметь дело с написанием драйверов для различных устройств и микроконтроллеров, по всему выходило, что именно этот процессор ему незнаком. Прежде всего, команд было непривычно много: Сергей насчитал их более трехсот, а ряд косвенных признаков говорил о том, что на самом деле их куда больше. Он ощутил себя Шампольоном перед Розеттским камнем, сопоставляющим греческий текст с таинственными египетскими значками и пытавшимся найти хоть какие-то ключи, чтобы, уцепившись за них, шаг за шагом расшифровать неизвестную письменность.
Но для начала следовало полностью разобраться с кодом на «Си». К счастью, названия функций не восходили к древнеисландским корням, чего так опасался Сергей после решения первой задачи, а оперировали простыми английскими словами.
Поставив «заглушки» на место ассемблерных вставок, Сергей прогонял код через отладчик раз за разом, экспериментируя со значением множества переменных: во всех случаях выполнение программы заканчивалось вызовом функции earthquake_in_guatemala11. Прошла уже неделя, но ничего определенного о других возможностях кода Сергей сказать по-прежнему не мог.
– Ну, как успехи? – спросила Ольга над самым ухом Сергея, бесшумно подкравшись сзади и приобняв за плечи.
Сергей вздрогнул.
– Оль, не пугай так! – Сергей отвел взгляд от монитора и улыбнулся.
– Ты же успешно справился с первым заданием. Может, стоит отправить его этому Троллю и написать, что понятия не имеешь, что нужно сделать, чтобы Господь Бог, писавший, видимо, второй код, не…
– Не тряхнул как следует Гватемалу? Знаешь, если будет на то его воля – он, конечно, устроит там землетрясение, и нас с тобой не спросит. Но, во-первых, это больше похоже на игру. А, во-вторых… – чувствовалось, что Сергей подбирает слова.
– Что – во-вторых?
– Во-вторых, труды Чарльза Дарвина мне гораздо ближе и понятнее Библии.
– Но ведь и в них много