diff --git a/.appveyor.yml b/.appveyor.yml
new file mode 100644
index 000000000..131d0b5b3
--- /dev/null
+++ b/.appveyor.yml
@@ -0,0 +1,60 @@
+environment:
+    CYG_MIRROR: http://cygwin.mirror.constant.com
+    CYG_PACKAGES: make,gcc-core,clang
+    matrix:
+        - MSYSTEM: MINGW64
+          BASH: C:\msys64\usr\bin\bash
+          MSYS_CACHE: C:\msys64\var\cache\pacman\pkg
+          CC: gcc
+        - MSYSTEM: MINGW32
+          BASH: C:\msys64\usr\bin\bash
+          MSYS_CACHE: C:\msys64\var\cache\pacman\pkg
+          CC: gcc
+        - CYG_ROOT: C:\cygwin64
+          CYG_CACHE: C:\cygwin64\var\cache\setup
+          CYG_SETUP: setup-x86_64.exe
+          BASH: C:\cygwin64\bin\bash
+          CC: gcc
+        - CYG_ROOT: C:\cygwin
+          CYG_CACHE: C:\cygwin\var\cache\setup
+          CYG_SETUP: setup-x86.exe
+          BASH: C:\cygwin\bin\bash
+          CC: gcc
+        - MSYSTEM: MINGW64
+          BASH: C:\msys64\usr\bin\bash
+          MSYS_CACHE: C:\msys64\var\cache\pacman\pkg
+          CC: clang
+        - MSYSTEM: MINGW32
+          BASH: C:\msys64\usr\bin\bash
+          MSYS_CACHE: C:\msys64\var\cache\pacman\pkg
+          CC: clang
+        - CYG_ROOT: C:\cygwin64
+          CYG_CACHE: C:\cygwin64\var\cache\setup
+          CYG_SETUP: setup-x86_64.exe
+          BASH: C:\cygwin64\bin\bash
+          CC: clang
+        - CYG_ROOT: C:\cygwin
+          CYG_CACHE: C:\cygwin\var\cache\setup
+          CYG_SETUP: setup-x86.exe
+          BASH: C:\cygwin\bin\bash
+          CC: clang
+
+clone_depth: 1
+
+# Attempt to ensure we don't try to convert line endings to Win32 CRLF as this will cause build to fail
+init:
+    - git config --global core.autocrlf input
+# Allows RDP
+#    - ps: iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))
+
+# Install needed build dependencies
+install:
+    - ps: if (Test-Path Env:\CYG_ROOT) { Start-FileDownload "http://cygwin.com/$env:CYG_SETUP" -FileName "$env:CYG_SETUP" }
+    - if defined CYG_ROOT (%CYG_SETUP% --quiet-mode --no-shortcuts --only-site --root "%CYG_ROOT%" --site "%CYG_MIRROR%" --local-package-dir "%CYG_CACHE%" --packages "%CYG_PACKAGES%" --upgrade-also)
+    - if defined MSYSTEM (%BASH% -lc "pacman -Suuy --noconfirm")
+    - if defined MSYSTEM (%BASH% -lc "pacman -Suuy --noconfirm")
+build_script:
+    - if defined BASH (%BASH% -lc "cd $(cygpath ${APPVEYOR_BUILD_FOLDER}) && git submodule init && git submodule update && make")
+# Allows RDP
+#on_finish:
+#    - ps: $blockRdp = $true; iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))
diff --git a/src/Makefile b/src/Makefile
index 263c89eed..e6e8d12d9 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -277,13 +277,13 @@ OBJS_ALL                := affinity autotune benchmark bitmap bitops combinator
 NATIVE_STATIC_OBJS      := $(foreach OBJ,$(OBJS_ALL),obj/$(OBJ).NATIVE.STATIC.o)
 NATIVE_SHARED_OBJS      := $(foreach OBJ,$(OBJS_ALL),obj/$(OBJ).NATIVE.SHARED.o)
 
-ifeq ($(UNAME),CYGWIN)
-NATIVE_STATIC_OBJS      += $(CRT_GLOB)
-endif # CYGWIN
+## ifeq ($(UNAME),CYGWIN)
+## NATIVE_STATIC_OBJS      += $(CRT_GLOB)
+## endif # CYGWIN
 
-ifeq ($(UNAME),MSYS2)
-NATIVE_STATIC_OBJS      += $(CRT_GLOB)
-endif # MSYS2
+## ifeq ($(UNAME),MSYS2)
+## NATIVE_STATIC_OBJS      += $(CRT_GLOB)
+## endif # MSYS2
 
 LINUX_32_OBJS           := $(foreach OBJ,$(OBJS_ALL),obj/$(OBJ).LINUX.32.o)
 LINUX_64_OBJS           := $(foreach OBJ,$(OBJS_ALL),obj/$(OBJ).LINUX.64.o)
@@ -397,7 +397,7 @@ $(HASHCAT_FRONTEND): src/main.c $(HASHCAT_LIBRARY)
 	$(CC)    $(CFLAGS_NATIVE) $^ -L. -lhashcat $(LFLAGS_NATIVE) -DCOMPTIME=$(COMPTIME) -DVERSION_TAG=\"$(VERSION_TAG)\" -DINSTALL_FOLDER=\"$(INSTALL_FOLDER)\" -DSHARED_FOLDER=\"$(SHARED_FOLDER)\" -DDOCUMENT_FOLDER=\"$(DOCUMENT_FOLDER)\" -o $@
 else
 $(HASHCAT_FRONTEND): src/main.c $(NATIVE_STATIC_OBJS)
-	$(CC)    $(CFLAGS_NATIVE) $^               $(LFLAGS_NATIVE) -DCOMPTIME=$(COMPTIME) -DVERSION_TAG=\"$(VERSION_TAG)\" -DINSTALL_FOLDER=\"$(INSTALL_FOLDER)\" -DSHARED_FOLDER=\"$(SHARED_FOLDER)\" -DDOCUMENT_FOLDER=\"$(DOCUMENT_FOLDER)\" -o $@
+	$(CC)    $(CFLAGS_NATIVE) $^ $(LFLAGS_NATIVE) -DCOMPTIME=$(COMPTIME) -DVERSION_TAG=\"$(VERSION_TAG)\" -DINSTALL_FOLDER=\"$(INSTALL_FOLDER)\" -DSHARED_FOLDER=\"$(SHARED_FOLDER)\" -DDOCUMENT_FOLDER=\"$(DOCUMENT_FOLDER)\" -o $@
 endif
 
 ##
diff --git a/src/main.c b/src/main.c
index 69b38315c..0fd9a2170 100644
--- a/src/main.c
+++ b/src/main.c
@@ -20,6 +20,10 @@
 #include "interface.h"
 #include "event.h"
 
+#if defined(__MINGW64__) || defined(__MINGW32__)
+int _dowildcard = -1; 
+#endif 
+
 static void main_log_clear_line (MAYBE_UNUSED const int prev_len, MAYBE_UNUSED FILE *fp)
 {
   #if defined (_WIN)
diff --git a/src/win_file_globbing.mk b/src/win_file_globbing.mk
index b74d5f873..719dfac05 100644
--- a/src/win_file_globbing.mk
+++ b/src/win_file_globbing.mk
@@ -104,7 +104,7 @@ ifneq (,$(IS_WIN_BUILD_NATIVE))
 
 # entering this code path means: we need to check for CRT_glob.o since we try to build binaries for windows operating systems
 
-CRT_GLOB := $(shell $(FIND) / -name $(CRT_GLOB_FILE_NAME) -print -quit)
+CRT_GLOB := $(CRT_GLOB_FILE_NAME)
 
 ifeq (,$(CRT_GLOB))
 define WARNING_MESSAGE=