[verb (plain)] + くせして [i-adj] + くせして [na-adj] + な + くせして [noun] + の + くせして
くせして means "even though" with blame attached: someone acts in a way their situation should rule out. It follows a verb or an い-adjective in the plain form; a な-adjective takes な and a noun takes の. It is a spoken variant of くせに and means the same.
Both halves are about the same person, the one being criticised. It is blunt and casual, so keep it out of polite speech and away from anyone above you.
The two swap freely. くせして is the more colloquial of the two and sounds a shade more cutting. In writing, くせに is the one you'll see.