From what I understand: the G540 contains a small FPGA and a bunch of buffers(IIRC). The main control is a 8051 compatible chip.Firmware blobs for a USB device? That doesn't sound quite right, and if so that is very unique o.o
The whole point of USB was and is that it wouldn't require things like that. I haven't looked at the specs too much beyond 2.0, however back then it was just serial communication with a packet-based protocol wrapped around it.
To program each device the windows client uploads a new program to the 8051. The open source client is basically designed around USB device captures, and I matched up the blobs from those captures to files in the installation directory. Though so far I was not able to disassemble those files. So I think they are obfuscated, probably to defend against other companies cloning the hardware. (unless I'm misunderstanding something, of course.)
I think there is a firmware update mechanism, disassembling the firmware would help me to understand the protocol used, and how to control the programming hardware. Though so far I haven't found a lot.
So the goal would be to write a driver that supports wcid, so on windows it can be controlled with WinUSB/libusb without a signed driver, and have a more usable open source client.
The windows client is written with MFC, which Ghidra seems to have some problem with. I haven't spent more than a few hours on it, though.