abra_id = CZoneScript::GetSkillByAbracadabra(v99, *(v96 + 16));
skill_id = abra_id;
if ( !abra_id )
goto LABEL_105;
for ( j = CSkillTypeInfoMgr::SearchSkillTypeInfo(v99, abra_id); !j; j = CSkillTypeInfoMgr::GetType(v448, skill_id) )
{
do
{
do
LABEL_105:
skill_id = GetServerRandom(5, 0xBDCu);
while ( skill_id >= 0x8Eu && skill_id < 0xD2u );
}
while ( skill_id >= 0x14Bu || skill_id >= 0xE2u && skill_id <= 0xF7u || skill_id >= 0x122u && skill_id <= 0x12Fu );
}
v103 = *(v96 + 16);
v104 = CSkillTypeInfoMgr::SearchSkillTypeInfo(v102, skill_id);
npcName = v104;
if ( v104 && (*(*v104 + 12))(v104) < v103 )
v103 = (*(*npcName + 12))(in_deltaX, exPos);