Just stashing some 17th c. Welsh insults here, nothing to see, move along
All items have been vetted for currency in the 17th century via citations in the Geiriadur Prifysgol Cymru. Note that some of the grammatical forms are gender-specific and only the male versions are given (due to the wording of the question).
adyn - “wretch, scoundrel”
bawddyn - “vile wretch”
budr - “dirty, filthy, nasty” (as adj. or n.)
budryn - “wretch, knave”
casddyn - “hateful person, hated one”; also related “cas” = “hated person, enemy” but this appears to be obsolete in this sense by the 17th c.
cenau - “rascal”, but primarily “whelp, puppy” and even the “rascal” sense seems to be more affectionate than derogatory
cnaf - “rascal, knave”, a borrowing of English “knave”
croesan - “fool, buffoon”, earlier use could also mean “jester” but by the 17th c. it seems to have been entirely pejorative
diog - “lazy, sluggish” (as adj. or n.)
diogyn, diogwas - “idler, sluggard, lazy person”
drwg - “bad, evil, wicked” (as adj.)
drygwr - “bad man, evil doer, scoundrel”, can also be a reference to the Devil
dwl - “dull, stupid, foolish” (as adj. or n.)
ffo^l - “foolish, silly” (as adj.), “fool, clown” (as n.)
gwalch - “rascal”, originally “hawk, falcon” and with an extended sense of “hero, nobleman” in the 14-15th c., but by the 17th c. the pejorative sense comes in; possible too ambiguous as the primary associations are positive
gwirion - “simpleton, fool” more in a “mentally impaired” sense than in a “stupid” sense
hwrswn - “whoreson” (borrowed from English)
lleidr - “thief”
llwfr - “coward” (as adj. or n.)
meddwyn - “drunkard”
musgrell - “feeble, clumsy, slovenly”
ofer - “worthless, useless”; oferddyn, oferwr - “waster, good-for-nothing” (but also “minstrel”)
penbwl - “blockhead, stupid”
pendew - “stupid”, lit. “thick-head” (as adj.)
segur - “idle, lazy” (as adj.)
truan - “wretch, unfortunate person” (more in pity than disgust)
twyllwr - “deceiver, cheat, fraud, imposter”
ynfyd - “foolish, mad, insane” (as adj.)