С чего бы очевидному бинарному поиску быть медленным?
Берём число в середине. Если оно совпадает со своим порядковым номером, то задвоение во второй половине, если на единицу меньше, то в первой половине. Продолжаем делить дальше нужную половину.
Нужно только не запутаться с индексами и значениями
[квадратик]st\lib\... — квадратик в начале строки это, скорее всего, какой-то непечатный символ. Что бы обратиться к этому ключу вам нужен такой же символ.