diff --git a/3rdp/build/cl-endian.patch b/3rdp/build/cl-endian.patch
index e4a70b5464501c97bfe8f38717127020c3c9e05d..8eecb9a10c2d4acfb5375b1c21d4b5266c6d4a0e 100644
--- a/3rdp/build/cl-endian.patch
+++ b/3rdp/build/cl-endian.patch
@@ -1,6 +1,6 @@
---- misc/os_spec.h.orig	2017-07-11 01:49:00.000000000 -0400
-+++ misc/os_spec.h	2018-01-03 03:19:26.025930000 -0500
-@@ -222,10 +222,11 @@
+--- misc/os_spec.h.orig	2018-01-10 01:39:04.000000000 -0500
++++ misc/os_spec.h	2018-01-29 14:29:27.367319000 -0500
+@@ -223,10 +223,11 @@
       preprocessors get confused if they aren't defined */
    #define VC_16BIT( version )		0
    #define VC_LE_VC6( version )		0
@@ -14,15 +14,12 @@
    #define VC_GE_2010( version )		0
    #define VC_GE_2012( version )		0
    #define VC_GE_2013( version )		0
-@@ -933,7 +934,10 @@
-    test will tell us the endianness under Unix */
- 
- #ifdef __GNUC__
--  #include <endian.h>
-+  /* I suspect the above was supposed to be #ifndef */
-+  #if !(defined(BIG_ENDIAN) || defined(__BYTE_ORDER__) || defined(__LITTLE_ENDIAN__) || defined(BYTES_BIG_ENDIAN))
-+    #include <endian.h>
-+  #endif
- #endif /* GCC */
- 
- #if defined( CONFIG_DATA_LITTLEENDIAN ) || defined( CONFIG_DATA_BIGENDIAN )
+@@ -946,6 +947,8 @@
+   #if defined( __APPLE__ )
+ 	#include <machine/endian.h>
+   #elif defined( __NetBSD__ )
++	#include <sys/endian.h>
++  #elif defined( __FreeBSD__ )
+ 	#include <sys/endian.h>
+   #else
+ 	#include <endian.h>
diff --git a/3rdp/build/cl-mingw32-static.patch b/3rdp/build/cl-mingw32-static.patch
index 1c46dac7e59f04d1ff9ed964701caa117f0d0114..2c29b2d4c34b809323932c6941790dcfba8ca7b2 100644
--- a/3rdp/build/cl-mingw32-static.patch
+++ b/3rdp/build/cl-mingw32-static.patch
@@ -1,14 +1,13 @@
---- makefile.orig	2018-01-03 01:54:50.601991000 -0500
-+++ makefile	2018-01-03 01:55:05.088060000 -0500
-@@ -1879,9 +1879,9 @@
+--- makefile.orig	2018-01-09 22:46:54.000000000 -0500
++++ makefile	2018-01-29 14:27:27.783443000 -0500
+@@ -1894,8 +1894,8 @@
  
  MINGW32_NT-6.1:
  	$(MAKE) OSNAME=win32 target-init
 -	$(MAKE) $(DEFINES) EXTRAOBJS="$(WIN32ASMOBJS)" \
+-		CFLAGS="$(XCFLAGS) -O2 -Wl,--subsystem,windows,--output-def,cl32.def"
 +	$(MAKE) OSNAME=win32 $(DEFINES) EXTRAOBJS="$(WIN32ASMOBJS)" \
- 		CFLAGS="$(XCFLAGS) -fomit-frame-pointer -O3 \
--		-Wl,--subsystem,windows,--output-def,cl32.def"
-+		-Wl,--subsystem,windows,--output-def,cl32.def -DSTATIC_LIB"
++		CFLAGS="$(XCFLAGS) -O2 -Wl,--subsystem,windows,--output-def,cl32.def -DSTATIC_LIB"
  
  # NCR MP-RAS: Use the NCR cc.  The "-DNCR_UST" is needed to enable threading
  #			  (User-Space Threads).
diff --git a/3rdp/dist/cryptlib.zip b/3rdp/dist/cryptlib.zip
index 71eb9ede24fd96d18b37b8cf48bffdbbc80b64eb..d3c5a94ef1fecbd39836ef49286e2b1b55a9a60f 100644
Binary files a/3rdp/dist/cryptlib.zip and b/3rdp/dist/cryptlib.zip differ