Patrick Crusius, 21, had come from much farther, police would later say, driving nearly across the state. He was there, they said, not to shop, but to kill.
Just after 10 a.m. on Saturday is when Crusius is thought to have posted an anti-immigrant screed on 8chan, an online messaging board known for its racist, bigoted and anti-Semitic content, authorities said.
Over the next hour, gunfire would send adults cowering behind toy machines and panicked children fleeing for their lives across a parking lot.
By the time Crusius surrendered to authorities, 20 people would be dead, including seven Mexican nationals, and dozens more wounded in the deadliest mass shooting in America in nearly two years — and the first of two in a single bloody weekend for a country where such attacks have become habitual.
For Robert Jurado, it began as a regular Saturday. He had taken his car to get washed, then ridden with his 87-year-old mother to the nearby Walmart for groceries.
They were coming out of the store around 10:30 a.m. when they heard a loud bang, its origin uncertain. Maybe a car had backfired, Jurado recalled thinking.
An older woman politely pardoned herself as she hurried by with her shopping cart. Then another bang. And another. The woman fell to the ground, her head covered in blood.
There was a shooter in the parking lot, firing on anyone he encountered.
As he walked, he fired — with no expression on his face.
“He was, like, all calm,” Jurado said. “He didn’t show no remorse.”
Around that time, Vanessa Saenz, 37, pulled up in the Walmart parking lot with her mother and 1-year-old son to buy the week’s groceries.
Suddenly, she heard bangs that she initially mistook for fireworks. She saw a man who appeared to be “dancing.” She realized, with horror, that he had been shot.
She also saw the shooter who, she said, appeared to be firing “randomly.” He was wearing cargo pants, a black T-shirt and bulky earmuffs to mute the noise from the rifle he wielded.
Saenz made an abrupt U-turn and sped as fast as she could out of the parking lot. But there were children running “everywhere.”
Among them: a little girl who rushed to a car and tried desperately to get the door open.
“You could just see the terror in her face,” Saenz said. “Thank God she did get in. She wasn’t shot.”
Others were not as fortunate: Saenz said she saw five adults shot as she made her escape.
Nicholasa and Juan Velasquez were among those wounded on Saturday.
The couple had gone to Walmart to shop and had just parked when the shooting began.
Nicholasa Velasquez was shot in the stomach, near her ribs, and in her face. Juan Velasquez was shot in his side.
As she bled, Nicholasa Velasquez tried to call 911, according to her granddaughter, Daisy Fuentes. But Velasquez couldn’t get through. So she called her daughter instead.
“We are just glad she called my mom,” Fuentes said. “She told her to stay calm and to wait for emergency services to get there.”
Police say the first call about the shooter reached them at 10:39 a.m., and they arrived by 10:45 a.m., meaning the gunman was on the move for at least 15 minutes.
Fuentes said that although her grandmother was stable on Sunday, the family was concerned about her grandfather, who was in critical condition after two surgeries — and awaiting a possible third. “We don’t know what’s going to happen,” she said.
After his rampage through the parking lot, the gunman entered the Walmart — with CCTV footage capturing his arrival.
As the gunman fired, employees sought to save customers. Tabitha Estrada, 19, who was working at a GNC vitamins outlet at the front of the Walmart, told the El Paso Times that she shepherded customers into a locked room and stayed with them until the police arrived. Leslie Diaz, a 25-year-old cashier, told the Times she led customers to the exits as the gunfire drew closer.
Jurado and his mother had hurried back into the store when they saw the parking lot carnage. In the entry area between the store’s outer and inner doors, he moved his mother in between two claw-hand toy machines.
Gunshots struck a wall behind him as Jurado felt glass fragments from a window rain down. Two women near him fell, he said.
Jurado, more exposed than his mother, sat and waited, unsure of whether the two would be safer inside the store.
“I couldn’t tell whether they were coming from the outside or inside,” Jurado said.
After minutes of shooting — the steady “pow-pow-pow-pow” of the rifle droning on — the Air Force veteran noticed the gunshots were getting louder.
The gunman had circled through the store, where police later said he caused the most casualties, and was now exiting through the doors where Jurado and his mother were hiding.
As the gunman moved toward the exit, he reloaded his weapon, while glancing Jurado’s way.
“He looked at me and I said ‘I’m a sitting duck here. I couldn’t take cover nowhere else,’ ” Jurado said. “I said, ‘Oh, God. This is the end of me’ because I was about, I’d say about five, eight yards away from him. He would have taken me out quickly,” he said.
But the shooter didn’t fire the bullet that easily could have ended Jurado’s life.
“I can’t understand why he didn’t take that shot when I was out in the open,” he said. “God works in mysterious ways.”
Most of Saturday’s victims were hit inside the Walmart, with a smaller number struck in the parking lot.
The shooter kept firing after leaving the store, but then he abruptly stopped and drove away. Police officials said Sunday that they don’t know why.
Crusius was apprehended a short distance from the Walmart at 11:06 a.m.
After the shooting ended, Jurado and his mother came outside the store, where two men who had been sitting at a card table for a fundraiser were both wounded. One was bleeding heavily after being shot in the upper thigh.
Another bystander gave the man CPR, but Jurado said he watched him die. He said he had seen violence while in the military but never anything of this scale.
“If you go to war, you know you’ll be at war and see gunfire,” he said. “Here, out of the blue …”
Authorities said Sunday that they are considering bringing hate-crime charges against Crusius, with U.S. Attorney John F. Bash calling it a “domestic terrorism” case. President Trump said Sunday that he thought mental illness was to blame for Saturday’s shooting and an overnight attack in Ohio that left nine people dead.
Jurado spoke to a Washington Post reporter on Sunday afternoon as CNN played in the background. At one point, the news network showed video of the Walmart parking lot, where Jurado pointed out his silver pickup, visible in the background.
Jurado said that the president deserved blame for the shooting and added that he felt less safe as a Latino American since Trump’s election.
“The way he is motivating people and stuff that Mexicans are ‘rapists’ and doing this and that,” Jurado said, “he’s putting us in a bad category where people are going to think bad about us.”
Jurado said his mother was still shaken up by the experience. He said he would be getting back to his usual routines soon enough.
“I guess once I get my truck,” he said, “we’ll go back to our normal lives.”
Hannah Natanson, Eddy Palanzo and Jennifer Jenkins contributed to this report.