1. recvPacket.read_skip<uint32>(); // unk, 00 00 00 00
  2. recvPacket >> digest[5];
  3. recvPacket.read_skip<uint8>(); // unk, 00
  4. recvPacket >> digest[2];
  5. recvPacket >> clientBuild;
  6. recvPacket >> digest[18];
  7. recvPacket >> digest[10];
  8. recvPacket.read_skip<uint32>(); // unk, 00 00 00 2C
  9. recvPacket >> digest[9];
  10. recvPacket >> digest[8];
  11. recvPacket >> digest[11];
  12. recvPacket >> digest[13];
  13. recvPacket >> digest[4];
  14. recvPacket >> digest[7];
  15. recvPacket >> digest[16];
  16. recvPacket >> digest[1];
  17. recvPacket >> digest[0];
  18. recvPacket >> digest[14];
  19. recvPacket >> digest[12];
  20. recvPacket.read_skip<uint8>(); // unk, 01
  21. recvPacket >> digest[17];
  22. recvPacket >> digest[19];
  23. recvPacket.read_skip<uint32>(); // unk, 00 00 00 00
  24. recvPacket.read_skip<uint64>(); // unk, 00 00 00 00 00 00 00 00
  25. recvPacket >> digest[3];
  26. recvPacket.read_skip<uint32>(); // unk, 00 00 00 00
  27. recvPacket >> clientSeed;
  28. recvPacket >> digest[6];
  29. recvPacket >> digest[15];
  30. recvPacket >> addonSize;
  31. addonsData.resize(addonSize);
  32. recvPacket.read((uint8*)addonsData.contents(), addonSize);
  33. recvPacket.ReadBit();
  34. uint32 accountNameLength = recvPacket.ReadBits(12);
  35. accountName = recvPacket.ReadString(accountNameLength);