3DsMax consists of 3 texture coordinates. So the following lines cause unusual results :
//CrtSceneRead.cpp, Ln 749
if (offset.texture1_offset != -1)
{
index = values[i*offset.max_offset + offset.texture1_offset];
geometry->TexCoords[0][geometry->vertexcount].x = (CrtFloat) (*offset.texture1_floats)[(size_t)index*2+0];
geometry->TexCoords[0][geometry->vertexcount].y = (CrtFloat) (*offset.texture1_floats)[(size_t)index*2+1];
}

We can fix this problem with the following code when we deal with 3 textured coordinates inside a Collada file:
//CrtSceneRead.cpp, Ln 749
if (offset.texture1_offset != -1)
{
index = values[i*offset.max_offset + offset.texture1_offset];
geometry->TexCoords[0][geometry->vertexcount].x = (CrtFloat) (*offset.texture1_floats)[(size_t)index*3+0];
geometry->TexCoords[0][geometry->vertexcount].y = (CrtFloat) (*offset.texture1_floats)[(size_t)index*3+1];
}