After the call, Carie got back up to see and kill the man, but was unsuccessful, instead being the wolf's lunch. Dave heard these screams after crying from a picture before entering the store to see his ex wife being fed to the wolf until he was spotted. Now the family is back together but still missing one member...