Да вообще задача надуманная... зачем нужно загружать с помощью одного класса и звук и картинки, например? Есть, скажем, логика в том, чтобы избежать одновременные попытки загрузки, но этот класс это все равно не делает... Кроме того он просто плохо написан. Ну, например:

Код AS3:
package com.ayanray.utils
{
public function getExtension ( str:String ) {
var parts:Array = str.split(/\./g);
return parts[parts.length-1].toLowerCase();
}
}
должно быть как минимум:

Код AS3:
package com.ayanray.utils
{
public function getExtension(str:String):String
{
if (str.indexOf(".") < 0) return "";
try {
return str.match(/[^\.]+$/g)[0].toLowerCase();
} catch (err:Error) {
return "";
}
}
}
Но, в принципе, и назначение этой ерунды и применение такие же ущербные как и весь остальной код... т.е. в других системах кроме Виндовс расширение не обязательно, да и в Виндовс совсем не обязано соответствовать типу файла. Кроме того, например, для JPG файлов существует вполне легитимное расширение JPEG ну и т.д. и т.п. Кроме того файл можно получить по запросу к серверному скрипту типа getmyfile.php?fileid=somefile...
Вобщем, серьезно, если просто интересно разобраться в чужем коде ради спортивного интереса - ну, не знаю, задавайте более конкретные вопросы о том, что именно не понятно, а если вам нужно для работы - это чудо использовать - только себе хуже сделать.