It's a bit of a weird one.
It takes the rectangle x,y,w,h from the screen, and draws a colourised version into the sprite you use to call it (spr in this case).
DynamicSprite *spr = DynamicSprite.Create(20, 20);
spr.ColouriseArea(10, 10, 20, 20);
DrawingSurface *surf = Room.GetDrawingSurfaceForBackground();
surf.DrawImage(10, 10, spr.Graphic);
Will replace the 20x20 area beginning at 10,10 with a colourised version, using a lookup table generated with ProcessPalette, whatever that does.