Information propagation on graphs is a fundamental topic in distributed computing. One of the simplest models of information propagation is the push protocol in which at each round each agent independently pushes the current knowledge to a random neighbour. In this paper we study the so-called coalescing-branching random walk (COBRA), in which each vertex pushes the information to k randomly selected neighbours and then stops passing information until it receives the information again. The aim of COBRA is to propagate information fast but with a limited number of transmissions per vertex per step. In this paper we study the cover time of the COBRA process defined as the minimum time until each vertex has received the information at least once. Our main result says that if G is an n-vertex r-regular graph whose transition matrix has second eigenvalue λ, then the COBRA cover time of G is O(log n), if 1 − λ is greater than a positive constant, and O((log n)/(1 − λ)3 )), if 1 − λ ≫ log(n)/n. These bounds are independent of r and hold for 3 ≤ r ≤ n − 1. They improve the previous bound of O(log 2 n) for expander graphs [Dutta et al., SPAA 2013].Our main tool in analysing the COBRA process is a novel duality relation between this process and a discrete epidemic process, which we call a biased infection with persistent source (BIPS). A fixed vertex v is the source of an infection and remains permanently infected. At each step each vertex u other than v selects k neighbours, independently and uniformly, and u is infected in this step if and only if at least one of the selected neighbours has been infected in the previous step. We show the duality between COBRA and BIPS which says that the time to infect the whole graph in the BIPS process is of the same order as the cover time of the COBRA process.