Mask out the upper 12 bits from the resourceid, just like win95 does.

diff --git a/loader/resource.c b/loader/resource.c
index 54588a3..09a5d19 100644
--- a/loader/resource.c
+++ b/loader/resource.c
@@ -856,7 +856,9 @@
     TRACE(resource, "instance = %04x, id = %04x, buffer = %08x, "
 	   "length = %d\n", instance, (int)resource_id, (int) buffer, buflen);
 
-    hrsrc = FindResourceW( instance, (LPCWSTR)((resource_id>>4)+1),
+    /* Use bits 4 - 19 (incremented by 1) as resourceid, mask out 
+     * 20 - 31. */
+    hrsrc = FindResourceW( instance, (LPCWSTR)(((resource_id>>4)&0xffff)+1),
                              RT_STRINGW );
     if (!hrsrc) return 0;
     hmem = LoadResource( instance, hrsrc );