diff --git a/CMakeLists.txt b/CMakeLists.txt
index 2400ea81..1237432d 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -152,6 +152,8 @@ set(SYSTEM_LIBS src/core/libraries/system/commondialog.cpp
                 src/core/libraries/system/systemservice.h
                 src/core/libraries/system/userservice.cpp
                 src/core/libraries/system/userservice.h
+                src/core/libraries/app_content/app_content.cpp
+                src/core/libraries/app_content/app_content.h
 )
 
 set(VIDEOOUT_LIB src/core/libraries/videoout/buffer.h
diff --git a/src/common/logging/filter.cpp b/src/common/logging/filter.cpp
index a86c5ac8..e6e79def 100644
--- a/src/common/logging/filter.cpp
+++ b/src/common/logging/filter.cpp
@@ -101,6 +101,7 @@ bool ParseFilterRule(Filter& instance, Iterator begin, Iterator end) {
     SUB(Lib, NpTrophy)                                                                             \
     SUB(Lib, Screenshot)                                                                           \
     SUB(Lib, LibCInternal)                                                                         \
+    SUB(Lib, AppContent)                                                                           \
     CLS(Frontend)                                                                                  \
     CLS(Render)                                                                                    \
     SUB(Render, Vulkan)                                                                            \
diff --git a/src/common/logging/types.h b/src/common/logging/types.h
index 908cecd9..2defd7be 100644
--- a/src/common/logging/types.h
+++ b/src/common/logging/types.h
@@ -68,6 +68,7 @@ enum class Class : u8 {
     Lib_NpTrophy,       ///< The LibSceNpTrophy implementation
     Lib_Screenshot,     ///< The LibSceScreenshot implementation
     Lib_LibCInternal,   ///< The LibCInternal implementation.
+    Lib_AppContent,     ///< The LibSceAppContent implementation.
     Frontend,           ///< Emulator UI
     Render,             ///< Video Core
     Render_Vulkan,      ///< Vulkan backend
diff --git a/src/core/libraries/app_content/app_content.cpp b/src/core/libraries/app_content/app_content.cpp
new file mode 100644
index 00000000..b05ac1b4
--- /dev/null
+++ b/src/core/libraries/app_content/app_content.cpp
@@ -0,0 +1,283 @@
+// SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+// Generated By moduleGenerator
+#include <cmath>
+#include "app_content.h"
+#include "common/logging/log.h"
+#include "core/libraries/error_codes.h"
+#include "core/libraries/libs.h"
+
+namespace Libraries::AppContent {
+
+int PS4_SYSV_ABI _Z5dummyv() {
+    LOG_ERROR(Lib_AppContent, "(STUBBED) called");
+    return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceAppContentAddcontDelete() {
+    LOG_ERROR(Lib_AppContent, "(STUBBED) called");
+    return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceAppContentAddcontEnqueueDownload() {
+    LOG_ERROR(Lib_AppContent, "(STUBBED) called");
+    return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceAppContentAddcontEnqueueDownloadSp() {
+    LOG_ERROR(Lib_AppContent, "(STUBBED) called");
+    return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceAppContentAddcontMount() {
+    LOG_ERROR(Lib_AppContent, "(STUBBED) called");
+    return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceAppContentAddcontShrink() {
+    LOG_ERROR(Lib_AppContent, "(STUBBED) called");
+    return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceAppContentAddcontUnmount() {
+    LOG_ERROR(Lib_AppContent, "(STUBBED) called");
+    return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceAppContentAppParamGetInt() {
+    LOG_ERROR(Lib_AppContent, "(STUBBED) called");
+    return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceAppContentAppParamGetString() {
+    LOG_ERROR(Lib_AppContent, "(STUBBED) called");
+    return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceAppContentDownload0Expand() {
+    LOG_ERROR(Lib_AppContent, "(STUBBED) called");
+    return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceAppContentDownload0Shrink() {
+    LOG_ERROR(Lib_AppContent, "(STUBBED) called");
+    return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceAppContentDownload1Expand() {
+    LOG_ERROR(Lib_AppContent, "(STUBBED) called");
+    return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceAppContentDownload1Shrink() {
+    LOG_ERROR(Lib_AppContent, "(STUBBED) called");
+    return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceAppContentDownloadDataFormat() {
+    LOG_ERROR(Lib_AppContent, "(STUBBED) called");
+    return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceAppContentDownloadDataGetAvailableSpaceKb() {
+    LOG_ERROR(Lib_AppContent, "(STUBBED) called");
+    return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceAppContentGetAddcontDownloadProgress() {
+    LOG_ERROR(Lib_AppContent, "(STUBBED) called");
+    return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceAppContentGetAddcontInfo() {
+    LOG_ERROR(Lib_AppContent, "(STUBBED) called");
+    return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceAppContentGetAddcontInfoList() {
+    LOG_ERROR(Lib_AppContent, "(STUBBED) called");
+    return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceAppContentGetEntitlementKey() {
+    LOG_ERROR(Lib_AppContent, "(STUBBED) called");
+    return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceAppContentGetRegion() {
+    LOG_ERROR(Lib_AppContent, "(STUBBED) called");
+    return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceAppContentInitialize(const OrbisAppContentInitParam* initParam,
+                                         OrbisAppContentBootParam* bootParam) {
+    LOG_ERROR(Lib_AppContent, "(DUMMY) called");
+    bootParam->attr = 0; // always 0
+    return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceAppContentRequestPatchInstall() {
+    LOG_ERROR(Lib_AppContent, "(STUBBED) called");
+    return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceAppContentSmallSharedDataFormat() {
+    LOG_ERROR(Lib_AppContent, "(STUBBED) called");
+    return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceAppContentSmallSharedDataGetAvailableSpaceKb() {
+    LOG_ERROR(Lib_AppContent, "(STUBBED) called");
+    return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceAppContentSmallSharedDataMount() {
+    LOG_ERROR(Lib_AppContent, "(STUBBED) called");
+    return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceAppContentSmallSharedDataUnmount() {
+    LOG_ERROR(Lib_AppContent, "(STUBBED) called");
+    return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceAppContentTemporaryDataFormat() {
+    LOG_ERROR(Lib_AppContent, "(STUBBED) called");
+    return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceAppContentTemporaryDataGetAvailableSpaceKb() {
+    LOG_ERROR(Lib_AppContent, "(STUBBED) called");
+    return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceAppContentTemporaryDataMount() {
+    LOG_ERROR(Lib_AppContent, "(STUBBED) called");
+    return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceAppContentTemporaryDataMount2() {
+    LOG_ERROR(Lib_AppContent, "(STUBBED) called");
+    return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceAppContentTemporaryDataUnmount() {
+    LOG_ERROR(Lib_AppContent, "(STUBBED) called");
+    return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceAppContentGetPftFlag() {
+    LOG_ERROR(Lib_AppContent, "(STUBBED) called");
+    return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI Func_C59A36FF8D7C59DA() {
+    LOG_ERROR(Lib_AppContent, "(STUBBED) called");
+    return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceAppContentAddcontEnqueueDownloadByEntitlemetId() {
+    LOG_ERROR(Lib_AppContent, "(STUBBED) called");
+    return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceAppContentAddcontMountByEntitlemetId() {
+    LOG_ERROR(Lib_AppContent, "(STUBBED) called");
+    return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceAppContentGetAddcontInfoByEntitlementId() {
+    LOG_ERROR(Lib_AppContent, "(STUBBED) called");
+    return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceAppContentGetAddcontInfoListByIroTag() {
+    LOG_ERROR(Lib_AppContent, "(STUBBED) called");
+    return ORBIS_OK;
+}
+
+int PS4_SYSV_ABI sceAppContentGetDownloadedStoreCountry() {
+    LOG_ERROR(Lib_AppContent, "(STUBBED) called");
+    return ORBIS_OK;
+}
+
+void RegisterlibSceAppContent(Core::Loader::SymbolsResolver* sym) {
+    LIB_FUNCTION("AS45QoYHjc4", "libSceAppContent", 1, "libSceAppContentUtil", 1, 1, _Z5dummyv);
+    LIB_FUNCTION("ZiATpP9gEkA", "libSceAppContent", 1, "libSceAppContentUtil", 1, 1,
+                 sceAppContentAddcontDelete);
+    LIB_FUNCTION("7gxh+5QubhY", "libSceAppContent", 1, "libSceAppContentUtil", 1, 1,
+                 sceAppContentAddcontEnqueueDownload);
+    LIB_FUNCTION("TVM-aYIsG9k", "libSceAppContent", 1, "libSceAppContentUtil", 1, 1,
+                 sceAppContentAddcontEnqueueDownloadSp);
+    LIB_FUNCTION("VANhIWcqYak", "libSceAppContent", 1, "libSceAppContentUtil", 1, 1,
+                 sceAppContentAddcontMount);
+    LIB_FUNCTION("D3H+cjfzzFY", "libSceAppContent", 1, "libSceAppContentUtil", 1, 1,
+                 sceAppContentAddcontShrink);
+    LIB_FUNCTION("3rHWaV-1KC4", "libSceAppContent", 1, "libSceAppContentUtil", 1, 1,
+                 sceAppContentAddcontUnmount);
+    LIB_FUNCTION("99b82IKXpH4", "libSceAppContent", 1, "libSceAppContentUtil", 1, 1,
+                 sceAppContentAppParamGetInt);
+    LIB_FUNCTION("+OlXCu8qxUk", "libSceAppContent", 1, "libSceAppContentUtil", 1, 1,
+                 sceAppContentAppParamGetString);
+    LIB_FUNCTION("gpGZDB4ZlrI", "libSceAppContent", 1, "libSceAppContentUtil", 1, 1,
+                 sceAppContentDownload0Expand);
+    LIB_FUNCTION("S5eMvWnbbXg", "libSceAppContent", 1, "libSceAppContentUtil", 1, 1,
+                 sceAppContentDownload0Shrink);
+    LIB_FUNCTION("B5gVeVurdUA", "libSceAppContent", 1, "libSceAppContentUtil", 1, 1,
+                 sceAppContentDownload1Expand);
+    LIB_FUNCTION("kUeYucqnb7o", "libSceAppContent", 1, "libSceAppContentUtil", 1, 1,
+                 sceAppContentDownload1Shrink);
+    LIB_FUNCTION("CN7EbEV7MFU", "libSceAppContent", 1, "libSceAppContentUtil", 1, 1,
+                 sceAppContentDownloadDataFormat);
+    LIB_FUNCTION("Gl6w5i0JokY", "libSceAppContent", 1, "libSceAppContentUtil", 1, 1,
+                 sceAppContentDownloadDataGetAvailableSpaceKb);
+    LIB_FUNCTION("5bvvbUSiFs4", "libSceAppContent", 1, "libSceAppContentUtil", 1, 1,
+                 sceAppContentGetAddcontDownloadProgress);
+    LIB_FUNCTION("m47juOmH0VE", "libSceAppContent", 1, "libSceAppContentUtil", 1, 1,
+                 sceAppContentGetAddcontInfo);
+    LIB_FUNCTION("xnd8BJzAxmk", "libSceAppContent", 1, "libSceAppContentUtil", 1, 1,
+                 sceAppContentGetAddcontInfoList);
+    LIB_FUNCTION("XTWR0UXvcgs", "libSceAppContent", 1, "libSceAppContentUtil", 1, 1,
+                 sceAppContentGetEntitlementKey);
+    LIB_FUNCTION("74-1x3lyZK8", "libSceAppContent", 1, "libSceAppContentUtil", 1, 1,
+                 sceAppContentGetRegion);
+    LIB_FUNCTION("R9lA82OraNs", "libSceAppContent", 1, "libSceAppContentUtil", 1, 1,
+                 sceAppContentInitialize);
+    LIB_FUNCTION("bVtF7v2uqT0", "libSceAppContent", 1, "libSceAppContentUtil", 1, 1,
+                 sceAppContentRequestPatchInstall);
+    LIB_FUNCTION("9Gq5rOkWzNU", "libSceAppContent", 1, "libSceAppContentUtil", 1, 1,
+                 sceAppContentSmallSharedDataFormat);
+    LIB_FUNCTION("xhb-r8etmAA", "libSceAppContent", 1, "libSceAppContentUtil", 1, 1,
+                 sceAppContentSmallSharedDataGetAvailableSpaceKb);
+    LIB_FUNCTION("QuApZnMo9MM", "libSceAppContent", 1, "libSceAppContentUtil", 1, 1,
+                 sceAppContentSmallSharedDataMount);
+    LIB_FUNCTION("EqMtBHWu-5M", "libSceAppContent", 1, "libSceAppContentUtil", 1, 1,
+                 sceAppContentSmallSharedDataUnmount);
+    LIB_FUNCTION("a5N7lAG0y2Q", "libSceAppContent", 1, "libSceAppContentUtil", 1, 1,
+                 sceAppContentTemporaryDataFormat);
+    LIB_FUNCTION("SaKib2Ug0yI", "libSceAppContent", 1, "libSceAppContentUtil", 1, 1,
+                 sceAppContentTemporaryDataGetAvailableSpaceKb);
+    LIB_FUNCTION("7bOLX66Iz-U", "libSceAppContent", 1, "libSceAppContentUtil", 1, 1,
+                 sceAppContentTemporaryDataMount);
+    LIB_FUNCTION("buYbeLOGWmA", "libSceAppContent", 1, "libSceAppContentUtil", 1, 1,
+                 sceAppContentTemporaryDataMount2);
+    LIB_FUNCTION("bcolXMmp6qQ", "libSceAppContent", 1, "libSceAppContentUtil", 1, 1,
+                 sceAppContentTemporaryDataUnmount);
+    LIB_FUNCTION("xmhnAoxN3Wk", "libSceAppContentPft", 1, "libSceAppContent", 1, 1,
+                 sceAppContentGetPftFlag);
+    LIB_FUNCTION("xZo2-418Wdo", "libSceAppContentBundle", 1, "libSceAppContent", 1, 1,
+                 Func_C59A36FF8D7C59DA);
+    LIB_FUNCTION("kJmjt81mXKQ", "libSceAppContentIro", 1, "libSceAppContent", 1, 1,
+                 sceAppContentAddcontEnqueueDownloadByEntitlemetId);
+    LIB_FUNCTION("efX3lrPwdKA", "libSceAppContentIro", 1, "libSceAppContent", 1, 1,
+                 sceAppContentAddcontMountByEntitlemetId);
+    LIB_FUNCTION("z9hgjLd1SGA", "libSceAppContentIro", 1, "libSceAppContent", 1, 1,
+                 sceAppContentGetAddcontInfoByEntitlementId);
+    LIB_FUNCTION("3wUaDTGmjcQ", "libSceAppContentIro", 1, "libSceAppContent", 1, 1,
+                 sceAppContentGetAddcontInfoListByIroTag);
+    LIB_FUNCTION("TCqT7kPuGx0", "libSceAppContentSc", 1, "libSceAppContent", 1, 1,
+                 sceAppContentGetDownloadedStoreCountry);
+};
+
+} // namespace Libraries::AppContent
\ No newline at end of file
diff --git a/src/core/libraries/app_content/app_content.h b/src/core/libraries/app_content/app_content.h
new file mode 100644
index 00000000..f2c05fba
--- /dev/null
+++ b/src/core/libraries/app_content/app_content.h
@@ -0,0 +1,65 @@
+// SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#include "common/types.h"
+
+namespace Core::Loader {
+class SymbolsResolver;
+}
+
+namespace Libraries::AppContent {
+
+struct OrbisAppContentInitParam {
+    char reserved[32];
+};
+
+struct OrbisAppContentBootParam {
+    char reserved1[4];
+    u32 attr;
+    char reserved2[32];
+};
+
+int PS4_SYSV_ABI _Z5dummyv();
+int PS4_SYSV_ABI sceAppContentAddcontDelete();
+int PS4_SYSV_ABI sceAppContentAddcontEnqueueDownload();
+int PS4_SYSV_ABI sceAppContentAddcontEnqueueDownloadSp();
+int PS4_SYSV_ABI sceAppContentAddcontMount();
+int PS4_SYSV_ABI sceAppContentAddcontShrink();
+int PS4_SYSV_ABI sceAppContentAddcontUnmount();
+int PS4_SYSV_ABI sceAppContentAppParamGetInt();
+int PS4_SYSV_ABI sceAppContentAppParamGetString();
+int PS4_SYSV_ABI sceAppContentDownload0Expand();
+int PS4_SYSV_ABI sceAppContentDownload0Shrink();
+int PS4_SYSV_ABI sceAppContentDownload1Expand();
+int PS4_SYSV_ABI sceAppContentDownload1Shrink();
+int PS4_SYSV_ABI sceAppContentDownloadDataFormat();
+int PS4_SYSV_ABI sceAppContentDownloadDataGetAvailableSpaceKb();
+int PS4_SYSV_ABI sceAppContentGetAddcontDownloadProgress();
+int PS4_SYSV_ABI sceAppContentGetAddcontInfo();
+int PS4_SYSV_ABI sceAppContentGetAddcontInfoList();
+int PS4_SYSV_ABI sceAppContentGetEntitlementKey();
+int PS4_SYSV_ABI sceAppContentGetRegion();
+int PS4_SYSV_ABI sceAppContentInitialize(const OrbisAppContentInitParam* initParam,
+                                         OrbisAppContentBootParam* bootParam);
+int PS4_SYSV_ABI sceAppContentRequestPatchInstall();
+int PS4_SYSV_ABI sceAppContentSmallSharedDataFormat();
+int PS4_SYSV_ABI sceAppContentSmallSharedDataGetAvailableSpaceKb();
+int PS4_SYSV_ABI sceAppContentSmallSharedDataMount();
+int PS4_SYSV_ABI sceAppContentSmallSharedDataUnmount();
+int PS4_SYSV_ABI sceAppContentTemporaryDataFormat();
+int PS4_SYSV_ABI sceAppContentTemporaryDataGetAvailableSpaceKb();
+int PS4_SYSV_ABI sceAppContentTemporaryDataMount();
+int PS4_SYSV_ABI sceAppContentTemporaryDataMount2();
+int PS4_SYSV_ABI sceAppContentTemporaryDataUnmount();
+int PS4_SYSV_ABI sceAppContentGetPftFlag();
+int PS4_SYSV_ABI Func_C59A36FF8D7C59DA();
+int PS4_SYSV_ABI sceAppContentAddcontEnqueueDownloadByEntitlemetId();
+int PS4_SYSV_ABI sceAppContentAddcontMountByEntitlemetId();
+int PS4_SYSV_ABI sceAppContentGetAddcontInfoByEntitlementId();
+int PS4_SYSV_ABI sceAppContentGetAddcontInfoListByIroTag();
+int PS4_SYSV_ABI sceAppContentGetDownloadedStoreCountry();
+
+void RegisterlibSceAppContent(Core::Loader::SymbolsResolver* sym);
+} // namespace Libraries::AppContent
\ No newline at end of file
diff --git a/src/core/libraries/libs.cpp b/src/core/libraries/libs.cpp
index 61f4878f..de7c1236 100644
--- a/src/core/libraries/libs.cpp
+++ b/src/core/libraries/libs.cpp
@@ -27,6 +27,7 @@
 #include "core/libraries/system/systemservice.h"
 #include "core/libraries/system/userservice.h"
 #include "core/libraries/videoout/video_out.h"
+#include "core/libraries/app_content/app_content.h"
 
 namespace Libraries {
 
@@ -59,6 +60,7 @@ void InitHLELibs(Core::Loader::SymbolsResolver* sym) {
     Libraries::NpTrophy::RegisterlibSceNpTrophy(sym);
     Libraries::ScreenShot::RegisterlibSceScreenShot(sym);
     Libraries::LibcInternal::RegisterlibSceLibcInternal(sym);
+    Libraries::AppContent::RegisterlibSceAppContent(sym);
 }
 
 } // namespace Libraries