diff --git a/win/nvfbcwrp/README.md b/win/nvfbcwrp/README.md
index f5e305fdaa1953036c80726caca44a8b480bdbdc..ea1053f2567dd063548d64f5f83c44fa796b4245 100644
--- a/win/nvfbcwrp/README.md
+++ b/win/nvfbcwrp/README.md
@@ -5,8 +5,12 @@ Wrapper for `NvFBC64.dll` library which injects private keys into `NvFBC_CreateE
 
 ## Usage
 
-1. Obtain `nvfbcwrp.dll` file. You may build it yourself with MSVS 2019 or download latest release [here](https://gist.github.com/Snawoot/1edfbda9b0e91c46b6cc3d5a0e1e55a4/raw/ee2e4647753a731ac7b333a0c9681dc07d3ee0a1/nvfbcwrp.dll).
-2. Backup your `%WINDIR\system32\NvFBC64.dll` file.
+1. Obtain `nvfbcwrp64.dll` and `nvfbcwrp32.dll` files. You may build them yourself with MSVS 2019 or download latest release here: [nvfbcwrp64.dll](https://gist.github.com/Snawoot/2d78c569b5ffb29080cf9bfca401adfa/raw/166c5e10f8301000c171d5f59cc2ae0b551cd1b3/nvfbcwrp64.dll), [nvfbcwrp32.dll](https://gist.github.com/Snawoot/2d78c569b5ffb29080cf9bfca401adfa/raw/166c5e10f8301000c171d5f59cc2ae0b551cd1b3/nvfbcwrp32.dll).
+2. Backup your `%WINDIR\system32\NvFBC64.dll` and `%WINDIR\SysWOW64\NvFBC.dll` files.
 3. Rename file `%WINDIR\system32\NvFBC64.dll` to `%WINDIR\system32\NvFBC64_.dll`
-4. Put `nvfbcwrp.dll` to `%WINDIR\system32\NvFBC64.dll` (on the original place of renamed `NvFBC64.dll` library).
-5. Restart any applications using this library. That's it.
+4. Rename file `%WINDIR\SysWOW64\NvFBC.dll` to `%WINDIR\SysWOW64\NvFBC_.dll`
+5. Rename `nvfbcwrp64.dll` and put it to `%WINDIR\system32\NvFBC64.dll` (on the original place of renamed `NvFBC64.dll` library).
+6. Rename `nvfbcwrp32.dll` and put it to `%WINDIR\SysWOW64\NvFBC.dll` (on the original place of renamed `NvFBC.dll` library).
+7. Restart any applications using this library. That's it.
+
+This procedure has to be repeated after any driver reinstall/update, so keep your copies of `nvfbcwrp64.dll` and `nvfbcwrp32.dll` files.
diff --git a/win/nvfbcwrp/nvfbcbody.asm b/win/nvfbcwrp/nvfbcbody.asm
index 69f0c476fbb47c3bbb32a351d0478767bc1d979b..3a20d91ce0fb85c5a864057b8d5d7950afb82070 100644
--- a/win/nvfbcwrp/nvfbcbody.asm
+++ b/win/nvfbcwrp/nvfbcbody.asm
@@ -1,37 +1,43 @@
+IFDEF RAX
+ptrsz equ <qword>
+ELSE
+.486
+.model flat, c
+ptrsz equ <dword>
+ENDIF
 .data
-
-extern ORIG_NvFBC_Create : qword, ORIG_NvFBC_Enable : qword,
-	ORIG_NvFBC_GetSDKVersion : qword, ORIG_NvFBC_GetStatus : qword,
-	ORIG_NvFBC_GetStatusEx : qword, ORIG_NvFBC_SetGlobalFlags : qword,
-	ORIG_NvOptimusEnablement : qword
+extern ORIG_NvFBC_Create : ptrsz, ORIG_NvFBC_Enable : ptrsz,
+	ORIG_NvFBC_GetSDKVersion : ptrsz, ORIG_NvFBC_GetStatus : ptrsz,
+	ORIG_NvFBC_GetStatusEx : ptrsz, ORIG_NvFBC_SetGlobalFlags : ptrsz,
+	ORIG_NvOptimusEnablement : ptrsz
 
 .code
 PROXY_NvFBC_Create proc
-jmp qword ptr [ORIG_NvFBC_Create]
+jmp ptrsz ptr [ORIG_NvFBC_Create]
 PROXY_NvFBC_Create endp
 
 PROXY_NvFBC_Enable proc
-jmp qword ptr [ORIG_NvFBC_Enable]
+jmp ptrsz ptr [ORIG_NvFBC_Enable]
 PROXY_NvFBC_Enable endp
 
 PROXY_NvFBC_GetSDKVersion proc
-jmp qword ptr [ORIG_NvFBC_GetSDKVersion]
+jmp ptrsz ptr [ORIG_NvFBC_GetSDKVersion]
 PROXY_NvFBC_GetSDKVersion endp
 
 PROXY_NvFBC_GetStatus proc
-jmp qword ptr [ORIG_NvFBC_GetStatus]
+jmp ptrsz ptr [ORIG_NvFBC_GetStatus]
 PROXY_NvFBC_GetStatus endp
 
 PROXY_NvFBC_GetStatusEx proc
-jmp qword ptr [ORIG_NvFBC_GetStatusEx]
+jmp ptrsz ptr [ORIG_NvFBC_GetStatusEx]
 PROXY_NvFBC_GetStatusEx endp
 
 PROXY_NvFBC_SetGlobalFlags proc
-jmp qword ptr [ORIG_NvFBC_SetGlobalFlags]
+jmp ptrsz ptr [ORIG_NvFBC_SetGlobalFlags]
 PROXY_NvFBC_SetGlobalFlags endp
 
 PROXY_NvOptimusEnablement proc
-jmp qword ptr [ORIG_NvOptimusEnablement]
+jmp ptrsz ptr [ORIG_NvOptimusEnablement]
 PROXY_NvOptimusEnablement endp
 
 end
\ No newline at end of file
diff --git a/win/nvfbcwrp/nvfbcwrp.vcxproj b/win/nvfbcwrp/nvfbcwrp.vcxproj
index b3dd0daf836a906fc1ec5a885b5e6af5fa03fe8c..11372128c5b2bf145425d2f746dda7262cfe656b 100644
--- a/win/nvfbcwrp/nvfbcwrp.vcxproj
+++ b/win/nvfbcwrp/nvfbcwrp.vcxproj
@@ -30,14 +30,14 @@
     <ConfigurationType>DynamicLibrary</ConfigurationType>
     <UseDebugLibraries>true</UseDebugLibraries>
     <PlatformToolset>v142</PlatformToolset>
-    <CharacterSet>Unicode</CharacterSet>
+    <CharacterSet>MultiByte</CharacterSet>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
     <ConfigurationType>DynamicLibrary</ConfigurationType>
     <UseDebugLibraries>false</UseDebugLibraries>
     <PlatformToolset>v142</PlatformToolset>
     <WholeProgramOptimization>true</WholeProgramOptimization>
-    <CharacterSet>Unicode</CharacterSet>
+    <CharacterSet>MultiByte</CharacterSet>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
     <ConfigurationType>DynamicLibrary</ConfigurationType>
@@ -97,6 +97,8 @@
       <SubSystem>Windows</SubSystem>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <EnableUAC>false</EnableUAC>
+      <ModuleDefinitionFile>nvfbcwrp.def</ModuleDefinitionFile>
+      <ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>
     </Link>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
@@ -137,6 +139,8 @@
       <OptimizeReferences>true</OptimizeReferences>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <EnableUAC>false</EnableUAC>
+      <ModuleDefinitionFile>nvfbcwrp.def</ModuleDefinitionFile>
+      <ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>
     </Link>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
diff --git a/win/nvfbcwrp/nvfbcwrp_main.cpp b/win/nvfbcwrp/nvfbcwrp_main.cpp
index 7e495f127e2f27c040f306a692a06a15fe27f11b..672f259b05a88ab7ce7eed404d9021c2ca83eb4c 100644
--- a/win/nvfbcwrp/nvfbcwrp_main.cpp
+++ b/win/nvfbcwrp/nvfbcwrp_main.cpp
@@ -2,6 +2,12 @@
 #include "nvfbcdefs.h"
 #include <windows.h>
 
+#ifdef _WIN64
+#define LIBNAME ".\\NvFBC64_.dll"
+#else
+#define LIBNAME ".\\NvFBC_.dll"
+#endif
+
 HINSTANCE hLThis = 0;
 extern "C" {
 	FARPROC ORIG_NvFBC_Create, ORIG_NvFBC_Enable, ORIG_NvFBC_GetSDKVersion,
@@ -16,7 +22,7 @@ BOOL WINAPI DllMain(HINSTANCE hInst,DWORD reason,LPVOID)
 	if (reason == DLL_PROCESS_ATTACH)
 	{
 		//hLThis = hInst;
-		hL = LoadLibrary(".\\NvFBC64_.dll");
+		hL = LoadLibrary(LIBNAME);
 		if (!hL) return false;
 		ORIG_NvFBC_Create = GetProcAddress(hL, "NvFBC_Create");
 		if (!ORIG_NvFBC_Create) return false;