How do you reverse the case rule to define a case?
It depends on circumstances. For example to block foobar, FOOBAR and Foobar while admitting FooBar:
RewriteCond %{HTTP_USER_AGENT} foobar [NC]
RewriteCond %{HTTP_USER_AGENT} !FooBar
But even then, wrong casing tends to be specific. A few years ago I had a rash of "GoogleBot", like that.
:: detour to raw logs, followed by some trial-and-error ::
Search for UA string containing word-initial "wi" or "WI", case sensitive: Nothing relevant.
Search for "Wi" followed by anything other than "ndows": Oh, my. Lots of robots pretending to be
Win 9x-- but also humans (and BingSiteAuth) admitting to
Win64, and Google
Wireless Transcoder, and Nintendo
Wii (that's a browser? who knew), and ...
Search for fine-tuned version of the preceding: Nope, no wrongly cased "Windows", though I did find a Russian robot* pretending to be "Window" something-or-other, singular. One robot, one time, one request. That wouldn't even be worth blocking, unless your name is amazon dot com and everything has to be multiplied by 10,000.
* I didn't actually recognize the nationality of the IP, who who else comes in claiming to be Opera 9.80?