Forget about trying to apply reverse engineering to that file, it is not a program file, but a data file.
The program is stored in the internal flash of the microcontroller, and unless you get a dump of that program, you can not find out what the structure of the data file is to add new data groups to create new effects or modify the current ones.
No, this is even easier...
Opening the file in a hex editor reveals lots of repetitive patterns, so it is likely raw bitmap data. The first 512 bytes are certainly a file header of some sort. Every 512 bytes there is what looks like a header, and the 3rd byte of that increments. That could be a frame counter, and each frame is 512 bytes.
The repetitive pattern seems to be clustered in groups of 2, i.e. 2 bytes per pixel, and starts at 8 bytes into each frame. The last 12 bytes of each frame appear to always be 0, i.e unused. That leaves 492 bytes of pixel data in each frame, or 246 pixels.
A quick visit to the product manufacturer's page shows that it has a 16 x 11 RGB LED array, or 176 pixels in total. That doesn't fit quite right with the 492 bytes of data, but I don't have the product so I can't investigate any more. I opened the file in an image editor using 512 x 3590 8bpp + 512 byte header and got something vaguely recognisable... the rest is up to you. Modify some bytes and test. Note that each line in the attached image is 512 bytes, so would be one whole frame of data.