IMHO это из-за асинхронности.
Вторая функция получает return из первой функции, но он ПУСТОЙ, ага.
которой возвращать уже некуда/некому, она ведь вызывается не из второй функции...
Переносите обработку данных из второй функции внутрь res.onload, либо вызывайте обработочную часть второй функции изнутри res.onload.
Давать нормальные названия переменным и функциям. Комментарии должны быть редки и уместны, а не:
Что спокойно записывается в самоописываемое название: