Regs: Take the pointer named 'Regs', ...
->: ...dereference and access its member named...
Config: ...'Config',
&: take the address of that...
(unsigned char *): ...and pretend like that address points to an unsigned char, no matter what it actually points to.
Part of understanding it is just experience with the idea behind what it is doing (this helps unravel it and make sense of it. Even if you can read it, as explained above, its still gibberish if you don't know WHY it does what it does). So for that...
A *lot* of 'serial' tools just deal with blocks of raw bytes. Network transmissions, binary file writes, and similar things all want bytes, and deal with char* or unsigned char* as the method of moving the blocks of bytes around. I don't know what IC2 is but the word "write" tells me its going to be similar to these ideas; for example take a look at https://www.cplusplus.com/reference/ostream/basic_ostream/write/ and after reading that be sure to look at your documentation for IC2 write function.