sure, the nickname is contained just in the first connection packet:
Code:
b = 0;
b = write_bits(-1, 32, buff, b);
b = write_bits(0x6b, 8, buff, b);
b = write_bits(proto, 32, buff, b); // protocol
b = write_bits(3, 32, buff, b);
b = write_bits(chall, 32, buff, b); // challenge
b = write_bstr(buff, b, nickname, -1); // nickname
b = write_bstr(buff, b, "", -1); // certificate?
...