Слишком много косяков, чтоб что-то объяснять, юзай async и пиши как будто асинхронности нет.
;(async()=>{ // глобальная обёртка в начале всего скрипта
// async перед декларацией function
async function check_session(soc) {
// await перед вызовом async function
const responce = await $.ajax({
type: "POST",
data: "action=sesstest&soc="+soc,
url: "/action.php",
dataType: "json",
});
return responce.result === "success" && responce.messages;
}
// await перед вызовом async function
var sess = await check_session(soc)
})(); // конец глобальной обёртки