It's basicall some sine calculations based on time
something like
tex.x += cos(tex.x * Pi * time);
tex.y += sin(tex.x * Pi * time);
color = tex2D(texture0, tex.xy);
sorry if this is syntactically incorrect since I haven't worked with hlsl for a long time.
You need to offset the actually pixel position based on the current pixel (to get the compress/expand effect) and a time value (so it's moving). Just an idea but it could work like that