“The online photo album site?”
“Yup. So here’s what I’ve got. The first three photos appear to be from Albuquerque, New Mexico, the next two from Southern California and the last two from Northern California.”
“Ray,” Brix said, “when the dust settles, contact Albuquerque PD and tell them we have the killer of three of their unsolveds. Pull the jpeg images from the PowerPoint and email them the photos. Do the same for SoCal.”
Mann pointed at his pad. “Other than his trip up north in ’98, looks like he came from Albuquerque, shot west along I-40 to L.A., then worked his way up the state.” He touched the pen to the paper with each location, as if it were a map. To Tomás, he said, “Can this image analysis technology also date the photo?”
“No,” Tomás said. “But it’s funny you should ask. I started thinking, if your bad guy took any of these photos with a GPS-enabled phone, the time, date, and place of the picture would be embedded in the photo. When I looked at the individual image files, some were taken with a regular digital camera, and they’re time-and date-stamped. I’ve got the camera model and exposure for each photo, but that’s not going to help you.
“I can’t be sure the dates and times are accurate because it depends on whether the owner input the correct data when he set up the camera. But as it turns out, the later pictures were shot with a GPS-enabled camera phone, and one was taken near downtown Los Angeles. We’ve also got a scanned photo, and when you scan film prints, the scanner leaves behind embedded data in the digital file that’s created. This picture was scanned March 9, 1998.”
Brix shot a glance around the room. “That would fit with the Marin County vic found near the Golden Gate.”
“What can you tell us about the document itself?” Agbayani asked.
“Lots of good stuff,” Tomás said. “First, let me ask you something. What do you think this killer’s deal is? You think he wants publicity?”
Lugo looked up from his notes. “Yeah, that’s exactly what we think. Why?”
“Well, I assume if he wants publicity, you want to minimize that, to reduce panic.”
“That’s one theory,” Brix said. “Why do you ask?”
Tomás shrugged. “This killer could post the PowerPoint document on some websites with unique tags and let search engines ‘find’ it, then use a kiddy script virus kit to create a virus that would then spread. It’d be disseminated from thousands of computers.”
Brix sighed deeply. “Well, that’s fucking great.” He rubbed his eyes and said, “Let’s hope our UNSUB is not that tech savvy. Can you tell anything from the document that would indicate his level of sophistication?”
Tomás bobbed his head. “I’d say he’s more knowledgeable than the average computer user, but he’s not a hacker or anything like that. So if his intent is to try to wreak the most havoc possible, and he knows something like that virus kit exists, he’d still have to research it. But you can find out how to build a bomb on the Internet from household items, so yeah, it’s possible he could create this virus even if he’s not an expert.”
“What about the document itself?” Mann asked.
“Okay. Here’s the deal. Office documents contain more information than what you see when you open the file. There’s a good deal of PII—Personally Identifiable Information—that’s kept in the document to help the user. It’s called metadata, like that embedded time and date info in the digital photos. Metadata’s stuff like word count, number of lines and characters, and so on. It’ll also tell you how many times the document was revised, how long the author spent editing it, who saved it, when it was printed, and what printer printed it.
“You can cleanse the document, but you have to know this metadata exists in the first place, and then you have to know what to do to get rid of it. Your killer used Office 2007, which has a built-in feature called Document Inspector that scrubs away just about all PII. But it’s something you have to actively apply, and lucky for us, your guy didn’t use it. That’s why I think his level of sophistication is good, but not high. Anyway, I used some custom cracking tools—including my favorite, the
Palmer Plunger—and a couple other security tools from our Honey Monkey project.” He looked at the camera and winked. “Silly sounding stuff, I know. But if it works, the embedded PII becomes the bread-crumb trail your killer left behind for us.”
He flicked a document aside and spread his fingers to enlarge a printout that looked like rudimentary computer text.
“So here’s the info we’ve got.” He moved his finger toward the top of the screen and the long document scrolled top to bottom. “You want the name of the guy who created this document?”
Brix sat forward in his chair. “You got the killer’s name?”
Tomás moved the page a bit and zoomed in on lines of text. “I’ve got the name of the computer user who registered the software on this particular PC. If it’s a real name or an alias, I have no way of knowing.”
“And?” Brix asked. “What’s the name?”
Tomás looked away from the camera, said something to someone off screen, then turned back to Lugo. “I’ve got it right here.” Tomás zoomed again and a name filled the screen. “John Mayfield.”
Brix’s eyes widened. “Holy shit. We’ve really got a name?” He reached for the phone.
“Hold it,” Tomás said. “Before you make any calls. There’s another name embedded, so I asked the licensing team to check the database used for binding the registered user to the software. Just to try to verify if that name is real or not.”
“And?” Agbayani asked.
“And the software
was
registered to a John Mayfield. So Mayfield appears to check out. But I don’t know what to make of this other name. The document’s author. Both names could be real, or they could be fake, I’ve no way of telling.”
“What’s the other name?” Brix yelled.
“Right here.” Tomás flicked the screen and it scrolled down. Tapped it again and it stopped. Zoomed. “There. The document’s author.”
FIFTY-ONE
T
here she was. Naked. Hair clipped back. Dixon looked up—surprise—
“George—what the hell are you doing in here?”
Panda smiled disarmingly and stepped forward, then grabbed Dixon beneath her armpits and threw her across the room, into the opposing wall. A flat tile wall, perfect for his needs.
Dixon slipped on the wet tile and went down hard. Panda turned and grabbed her. She shook her head, fighting through the momentary daze. He lifted her off the ground and pounded her against the wall. Clamped his left hand across her mouth. Grabbed her left bicep and squeezed. “Very good, Roxxann. Very nice.”
Dixon yelled and kicked, her right foot slipping on the moist floor—and landed a knee to his groin. But it didn’t matter because he was wearing a cup. It landed impotently against the hard plastic.
That didn’t stop her. She kicked again, in the thigh, and then again. The last one knocked him back a bit—she had powerful legs. He’d have bruises for sure, but again, it was nothing he couldn’t handle.
He brought his right forearm out in front of him and grinned, then bent his elbow and slammed his arm into her throat. Her body rebounded against the tile, but his forearm bounced back. Her neck muscles had prevented the crushing blow.
Panda leaned back and thrust forward again, and this time he had greater impact, because her eyes bulged and she coughed. Hard.
But a crashing blow to his right cheek knocked him back and temporarily blinded him.
What the fuck was that?
She yelled—hoarse, loud—
But it disappeared into the deadening fog.
And then she landed another blow, from the left, across his jaw—blinding pain—and he staggered back. He saw her darting around his side.
No—can’t let her get away—
He reached out and grabbed her arm—slipped off the wet skin—but he’d gotten just enough because she went sprawling forward. He swung hard, connected with something, and he felt her body jolt. He wasn’t sure what he hit, but all that mattered was that it was her. And he wanted to do it again.
Panda reached back and swung again, and hit hard flesh again. He thought he heard a cry, but in the jet-noise and dense fog, it was swallowed whole, absorbed into nothingness.
He leaned over for a better look—he’d finish her on the ground if need be—and saw a blur of skin in front of him—reached out and grabbed—felt a breast and pulled her body against his. She was facing away, which would not do. He needed to watch her face. As he squeezed the life out of her.
FIFTY-TWO
T
he air in the locker room was damp, with a musty, stale smell. Vail sat on the brown resin bench to tie her shoes, the repetitive beat of some inane pop song droning through the speakers. The workout refreshed her, gave her a jolt of needed energy and a renewed outlook that they were going to catch the Crush Killer . . . sooner rather than later. Hopefully Agbayani’s Microsoft contact would be able to extract hidden information from the document. But even if he couldn’t, she still had the sense they were getting close.
Vail was reaching back into the locker for her phone when the BlackBerry buzzed. “Vail.”
“Karen, it’s Brix. I tried Roxxann, but she didn’t answer. Where the hell is she?”
“We’re at the gym, working out. Why?”
“We got an ID on the killer—the document he sent, that Microsoft guy said that unless he’s using an alias or someone else’s PC, the name we’ve got is John Mayfield. My sense is that’s his real name. But there’s another name embedded. George Panda. We’re putting out an APB for both—”
“Wait—George Panda, are you sure?”
“Yeah, he’s—”
“He’s here, Brix—at Fit1.”
“Fucking A. Keep an eye on him. We’re on our way. Do not engage until you’ve got backup. You hear me, Karen? Do not—”
FIFTY-THREE
J
ohn Wayne Mayfield—a.k.a. George Panda—struggled to turn Dixon around while maintaining a tight hold on her body, determined not to let her land anymore punches. They did an awkward dance as he drove her forward, smashing against the tile seat. She swung her elbow back, landing a soft blow against his left bicep. He continued to wrestle with her—until he finally gained leverage and spun her fully onto her back.
He was now over her.
And there was little she could do to hurt him. He clapped his hand over her mouth, but she knocked it away, then clawed at his face, scratching his cheek. It reminded him of a rough sexual encounter he had as a child.
Sexual encounter my ass—the bitch raped me.
He growled—fuming at the memory. Yet relieved he finally had Roxxann Dixon where he wanted her. “Say good-bye, Roxxann,” he said close to her face, then slammed his hand over her mouth again. He would squeeze her carotids, cut her blood supply, then have his way with her body. It wouldn’t be what he wanted, but at this point, he had to think about survival: If he got caught, it’d all be over. And as good as he was, the longer he remained in this steam room, the higher the risk he’d get caught. Better to get rid of her, then live to kill another day.
He clamped his large right hand across her neck and squeezed. She should feel the pressure building in her head. In five seconds, her brain would be hungry for oxygen. But there won’t be any. And then, sleep. Unconscious.
But Dixon swung her arms upward, slamming against his forearm and knocking his hand off her neck. Fuck—he withdrew the hand from
her mouth to catch himself from falling over—just as she swung her head forward and slammed it into his nose. He heard a crunch—his vision blurred—his hearing blunted—and he staggered back and off her, twisting around, where—
—he could see, at the door, a dark, amorphous silhouette.
The steam room jets stopped. Numbing quiet.
But then, somewhere in the distance, Dixon was yelling and kicking, trying to get his weight completely off her legs.
He felt a blow to the back of his neck—not enough to make him go down, but the door, now a foot from his face—was swinging open. He powered forward and lunged, slamming his weight against it. The glass shattered into hundreds of pieces and the wood frame flew open, into the person who was behind it.
He stumbled out, down the corridor, toward the exit. Right now, it was about survival.
Another victim
Another day
Survival—
FIFTY-FOUR
V
ail picked herself up off the damp floor—her pants were now wet—and watched as the man—
Panda?
—ran down the hall.
“Hey, stop!”
“Karen—”
Vail turned, her shoes crunching and slipping in the glass fragments. Standing naked in the steam room, steadying herself against the doorway, was Dixon.
“Roxx—you okay?”
“Get him—Panda—he’s the killer—”
Yeah, I got that. A little late, but I got it.
Vail took off.
“Meet me out front at the car—” Vail yelled back at Dixon, then burst through the locker room entrance, nearly running over another woman heading toward her. Vail pushed her aside and saw Panda running out Fit1!’s front door. Vail ran across the padded rubber workout flooring and hit the door before it closed. In the glow of the parking lot’s lights, she saw Panda in the street, running along Highway 29. He veered too far right into the roadway. Headlights. Blaring horn. And the oncoming car swerved around him.
Vail looked back, hoping to see Dixon emerging—with the keys to the car—but she wasn’t there and Vail couldn’t risk losing him. Bad knee or not, she took off after him. Pulled her BlackBerry. The glow of the screen reflected off her face and fried her night vision.
She pulled up the call history, felt for the trackball, then accidentally hit the Call button—
crap, who’d I just dial? Probably someone on the task force.
But it wasn’t. It was Robby’s cell. Right to voicemail. “It’s me. Need your help. In pursuit of Crush Killer. John Mayfield, a.k.a
George Panda . . . foot pursuit along 29—” She glanced over her right shoulder, then coughed. “Leaving Fit1, somewhere near Peju, that place we went a few days ago with the yodeling wine guy—hurry!”