diff --git a/reactos/baseaddress.xml b/reactos/baseaddress.xml
index 471d507f678..6186610c094 100644
--- a/reactos/baseaddress.xml
+++ b/reactos/baseaddress.xml
@@ -28,6 +28,7 @@
+
diff --git a/reactos/lib/directory.xml b/reactos/lib/directory.xml
index adef1bfe6ae..9cf6fadedaa 100644
--- a/reactos/lib/directory.xml
+++ b/reactos/lib/directory.xml
@@ -227,6 +227,9 @@
+
+
+
diff --git a/reactos/lib/security/security.def b/reactos/lib/security/security.def
new file mode 100644
index 00000000000..519828e6bbe
--- /dev/null
+++ b/reactos/lib/security/security.def
@@ -0,0 +1,78 @@
+LIBRARY SECURITY.DLL
+EXPORTS;
+LsaRegisterLogonProcess@12=SECUR32.LsaRegisterLogonProcess
+LsaLogonUser@56=SECUR32.LsaLogonUser
+LsaDeregisterLogonProcess@4=SECUR32.LsaDeregisterLogonProcess
+LsaConnectUntrusted@4=SECUR32.LsaConnectUntrusted
+LsaLookupAuthenticationPackage@12=SECUR32.LsaLookupAuthenticationPackage
+LsaFreeReturnBuffer@4=SECUR32.LsaFreeReturnBuffer
+LsaCallAuthenticationPackage@28=SECUR32.LsaCallAuthenticationPackage
+;@AcceptSecurityContext=SECUR32.AcceptSecurityContext
+;@AcquireCredentialsHandleA=SECUR32.AcquireCredentialsHandleA
+;@AcquireCredentialsHandleW=SECUR32.AcquireCredentialsHandleW
+;@AddCredentialsA=SECUR32.AddCredentialsA
+;@AddCredentialsW=SECUR32.AddCredentialsW
+;@AddSecurityPackageA=SECUR32.AddSecurityPackageA
+;@AddSecurityPackageW=SECUR32.AddSecurityPackageW
+;@ApplyControlToken=SECUR32.ApplyControlToken
+;@CompleteAuthToken=SECUR32.CompleteAuthToken
+;@CredMarshalTargetInfo=SECUR32.CredMarshalTargetInfo
+;@CredUnmarshalTargetInfo=SECUR32.CredUnmarshalTargetInfo
+;@DecryptMessage=SECUR32.DecryptMessage
+;@DeleteSecurityContext=SECUR32.DeleteSecurityContext
+;@DeleteSecurityPackageA=SECUR32.DeleteSecurityPackageA
+;@DeleteSecurityPackageW=SECUR32.DeleteSecurityPackageW
+;@EncryptMessage=SECUR32.EncryptMessage
+;EnumerateSecurityPackagesA@8=SECUR32.EnumerateSecurityPackagesA
+EnumerateSecurityPackagesW@8=SECUR32.EnumerateSecurityPackagesW
+;@ExportSecurityContext=SECUR32.ExportSecurityContext
+FreeContextBuffer@4=SECUR32.FreeContextBuffer
+;@FreeCredentialsHandle=SECUR32.FreeCredentialsHandle
+GetComputerObjectNameA@12=SECUR32.GetComputerObjectNameA
+GetComputerObjectNameW@12=SECUR32.GetComputerObjectNameW
+;GetSecurityUserInfo=SECUR32.GetSecurityUserInfo
+GetUserNameExA@12=SECUR32.GetUserNameExA
+GetUserNameExW@12=SECUR32.GetUserNameExW
+;@ImpersonateSecurityContext=SECUR32.ImpersonateSecurityContext
+;@ImportSecurityContextA=SECUR32.ImportSecurityContextA
+;@ImportSecurityContextW=SECUR32.ImportSecurityContextW
+;@InitSecurityInterfaceA=SECUR32.InitSecurityInterfaceA
+;@InitSecurityInterfaceW=SECUR32.InitSecurityInterfaceW
+;@InitializeSecurityContextA=SECUR32.InitializeSecurityContextA
+;@InitializeSecurityContextW=SECUR32.InitializeSecurityContextW
+LsaEnumerateLogonSessions@8=SECUR32.LsaEnumerateLogonSessions
+LsaGetLogonSessionData@8=SECUR32.LsaGetLogonSessionData
+LsaRegisterPolicyChangeNotification@8=SECUR32.LsaRegisterPolicyChangeNotification
+LsaUnregisterPolicyChangeNotification@8=SECUR32.LsaUnregisterPolicyChangeNotification
+;@MakeSignature=SECUR32.MakeSignature
+;@QueryContextAttributesA=SECUR32.QueryContextAttributesA
+;@QueryContextAttributesW=SECUR32.QueryContextAttributesW
+;@QueryCredentialsAttributesA=SECUR32.QueryCredentialsAttributesA
+;@QueryCredentialsAttributesW=SECUR32.QueryCredentialsAttributesW
+;@QuerySecurityContextToken=SECUR32.QuerySecurityContextToken
+;@QuerySecurityPackageInfoA=SECUR32.QuerySecurityPackageInfoA
+;@QuerySecurityPackageInfoW=SECUR32.QuerySecurityPackageInfoW
+;@RevertSecurityContext=SECUR32.RevertSecurityContext
+;@SaslAcceptSecurityContext=SECUR32.SaslAcceptSecurityContext
+;@SaslEnumerateProfilesA=SECUR32.SaslEnumerateProfilesA
+;@SaslEnumerateProfilesW=SECUR32.SaslEnumerateProfilesW
+;@SaslGetProfilePackageA=SECUR32.SaslGetProfilePackageA
+;@SaslGetProfilePackageW=SECUR32.SaslGetProfilePackageW
+;@SaslIdentifyPackageA=SECUR32.SaslIdentifyPackageA
+;@SaslIdentifyPackageW=SECUR32.SaslIdentifyPackageW
+;@SaslInitializeSecurityContextA=SECUR32.SaslInitializeSecurityContextA
+;@SaslInitializeSecurityContextW=SECUR32.SaslInitializeSecurityContextW
+;SealMessage=SECUR32.SealMessage
+;SecCacheSspiPackages=SECUR32.SecCacheSspiPackages
+;SecDeleteUserModeContext=SECUR32.SecDeleteUserModeContext
+;SecGetLocaleSpecificEncryptionRules=SECUR32.SecGetLocaleSpecificEncryptionRules
+;SecInitUserModeContext=SECUR32.SecInitUserModeContext
+;SecpFreeMemory=SECUR32.SecpFreeMemory
+;SecpTranslateName=SECUR32.SecpTranslateName
+;SecpTranslateNameEx=SECUR32.SecpTranslateNameEx
+;@SetContextAttributesA=SECUR32.SetContextAttributesA
+;@SetContextAttributesW=SECUR32.SetContextAttributesW
+;@TranslateNameA=SECUR32.TranslateNameA
+;@TranslateNameW=SECUR32.TranslateNameW
+;UnsealMessage=SECUR32.UnsealMessage
+;@VerifySignature=SECUR32.VerifySignature
diff --git a/reactos/lib/security/security.rc b/reactos/lib/security/security.rc
new file mode 100644
index 00000000000..00902bbf74d
--- /dev/null
+++ b/reactos/lib/security/security.rc
@@ -0,0 +1,5 @@
+#define REACTOS_VERSION_DLL
+#define REACTOS_STR_FILE_DESCRIPTION "Security\0"
+#define REACTOS_STR_INTERNAL_NAME "security\0"
+#define REACTOS_STR_ORIGINAL_FILENAME "security.dll\0"
+#include
diff --git a/reactos/lib/security/security.xml b/reactos/lib/security/security.xml
new file mode 100644
index 00000000000..82b3004730c
--- /dev/null
+++ b/reactos/lib/security/security.xml
@@ -0,0 +1,11 @@
+
+
+ .
+
+
+ 0x501
+ ntdll
+ kernel32
+ advapi32
+ security.rc
+