rendered paste bodyvoid UserInfoFix(BYTE *pSocket, const char *szFormat, ...){ if (pSocket != NULL) { char szUserInfo[1024]; char szNewUserInfo[1024]; int iUserInfoSize = NULL; va_list vl; va_start(vl, szFormat); iUserInfoSize = Assemble(szUserInfo, 1024, szFormat, vl); va_end(vl); if (szUserInfo != NULL) { size_t iDataSize = NULL; size_t iOldSize = NULL; size_t iNewSize = NULL; iDataSize = (1 + (4 * 5)); memcpy(szNewUserInfo, szUserInfo, iDataSize); iOldSize += iDataSize; iNewSize += iDataSize; iDataSize = (lstrlenW((LPCWSTR)(szUserInfo + iOldSize)) + 1) * 2; iDataSize += (4 * 5); memcpy(szNewUserInfo + iNewSize, szUserInfo + iOldSize, iDataSize); iOldSize += iDataSize; iNewSize += iDataSize; *(int *)(szNewUserInfo + iNewSize) = 0; iNewSize += 4; iDataSize = (4 * 30); memcpy(szNewUserInfo + iNewSize, szUserInfo + iOldSize, iDataSize); iOldSize += iDataSize; iNewSize += iDataSize; *(int *)(szNewUserInfo + iNewSize) = 0; iNewSize += 4; iDataSize = (4 * 16); memcpy(szNewUserInfo + iNewSize, szUserInfo + iOldSize, iDataSize); iOldSize += iDataSize; iNewSize += iDataSize; *(int *)(szNewUserInfo + iNewSize) = 0; iNewSize += 4; memset(szNewUserInfo + iNewSize, 0, 68); iNewSize += 68; iDataSize = (iUserInfoSize - iOldSize); memcpy(szNewUserInfo + iNewSize , szUserInfo + iOldSize, iDataSize); iOldSize += iDataSize; iNewSize += iDataSize; *(BYTE *)(szNewUserInfo + iNewSize) = 1; iNewSize += 1; *(int *)(szNewUserInfo + iNewSize) = 6; iNewSize += 4; *(int *)(szNewUserInfo + iNewSize) = 0; iNewSize += 4; *(int *)(szNewUserInfo + iNewSize) = 0x0ECF9A2; iNewSize += 4; *(int *)(szNewUserInfo + iNewSize) = 10; iNewSize += 4; } Send(pSocket, "b", sizeof(szNewUserInfo), szNewUserInfo); }}