function _processGameEnd() internal returns(bool) {
        if (!gameStarted) {
            return false;
        }
    
        if (now <= lastWagerTimeoutTimestamp) {
            return false;
        }
        
		
        uint256 excessPool = wagerPool5.add(wagerPool13);
        
        _sendFunds(lastPlayer, prizePool);
		_sendFunds(cfoAddress, excessPool);
        
        End(lastPlayer, lastWagerTimeoutTimestamp, prizePool);
        
        gameStarted = false;
        gameStarter = 0x0;
        lastPlayer = 0x0;
		player2 = 0x0;
		player3 = 0x0;
		player4 = 0x0;
		player5 = 0x0;
        lastWagerTimeoutTimestamp = 0;
		player2Timestamp = 0;
		player3Timestamp = 0;
		player4Timestamp = 0;
		player5Timestamp = 0;
        wagerIndex = 0;
        prizePool = 0;
        wagerPool5 = 0;
		wagerPool13 = 0;
		currentBalance = this.balance;
        
        return true;
    }