private void procCompanyInfo(Packet p) {

		PacketReader pr = p.getByteBufferReader();
		Company c = new Company();

		if (pr.readUint8() != NETWORK_COMPANY_INFO_VERSION) {
			return;
		}

		if (pr.readBool()) {
			c.setId(pr.readUint8());
			c.setName(pr.readString());
			c.setStartYear((int) pr.readUint32());
			c.setValue(pr.readUint64().intValue());
			c.setMoney(pr.readUint64().intValue());
			c.setIncome(pr.readUint64().intValue());
			c.setPerformance(pr.readUint16());
			c.setPasswordProtected(pr.readBool());

			for (VehicleType v : VehicleType.values()) {
				c.setVehicleCount(v, pr.readUint16());
			}

			for (StationType v : StationType.values()) {
				c.setStationCount(v, pr.readUint16());
			}

			c.setAI(pr.readBool());
			c.setClients(pr.readString());

			this.cReg.addCompany(c);

		} else {			
			sendClientJoinRequest(this.clientHandler.onCompanySelection(cReg));
		}
	}