about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2024-09-25 12:29:46 +0200
committerptitSeb <sebastien.chev@gmail.com>2024-09-25 12:29:46 +0200
commit144830bc05d8c006e5924ba602d5fac59692a7f0 (patch)
tree711330ec6c7c9ece738fbb831ae5c162e6045417 /src
parent24a5917b449fe0234920fe3bd11065c3cd90984a (diff)
downloadbox64-144830bc05d8c006e5924ba602d5fac59692a7f0.tar.gz
box64-144830bc05d8c006e5924ba602d5fac59692a7f0.zip
[BOX32][WRAPPER] Added some more 32bits wrapped function, and fixed a few more
Diffstat (limited to 'src')
-rw-r--r--src/wrapped32/generated/functions_list.txt38
-rw-r--r--src/wrapped32/generated/wrappedlibx11types32.h12
-rw-r--r--src/wrapped32/generated/wrappedlibxrandrtypes32.h7
-rw-r--r--src/wrapped32/generated/wrapper32.c45
-rw-r--r--src/wrapped32/generated/wrapper32.h21
-rwxr-xr-xsrc/wrapped32/wrappedlibc_private.h26
-rw-r--r--src/wrapped32/wrappedlibgl.c20
-rw-r--r--src/wrapped32/wrappedlibgl_private.h30
-rwxr-xr-xsrc/wrapped32/wrappedlibrt_private.h2
-rw-r--r--src/wrapped32/wrappedlibx11.c112
-rw-r--r--src/wrapped32/wrappedlibx11_private.h36
-rw-r--r--src/wrapped32/wrappedlibxrandr.c44
-rw-r--r--src/wrapped32/wrappedlibxrandr_private.h14
13 files changed, 323 insertions, 84 deletions
diff --git a/src/wrapped32/generated/functions_list.txt b/src/wrapped32/generated/functions_list.txt
index abf082bb..50d07e21 100644
--- a/src/wrapped32/generated/functions_list.txt
+++ b/src/wrapped32/generated/functions_list.txt
@@ -70,6 +70,7 @@
 #() tFi -> tFi
 #() tFu -> tFu
 #() tFp -> tFp
+#() XFv -> XFv
 #() iFBp_ -> iFB
 #() LFrL_ -> LFB
 #() pFrL_ -> pFB
@@ -272,6 +273,7 @@
 #() vFlip -> vFlip
 #() vFllp -> vFllp
 #() vFlpp -> vFlpp
+#() vFpii -> vFpii
 #() vFpip -> vFpip
 #() vFpuU -> vFpuU
 #() vFpuf -> vFpuf
@@ -319,6 +321,7 @@
 #() iFpuu -> iFpuu
 #() iFpuU -> iFpuU
 #() iFpLi -> iFpLi
+#() iFpLp -> iFpLp
 #() iFppi -> iFppi
 #() iFppu -> iFppu
 #() iFppL -> iFppL
@@ -332,6 +335,7 @@
 #() iFSli -> iFSli
 #() iFXip -> iFXip
 #() iFXuu -> iFXuu
+#() iFXLl -> iFXLl
 #() iFXLL -> iFXLL
 #() iFXLp -> iFXLp
 #() iFXpu -> iFXpu
@@ -350,7 +354,6 @@
 #() fFuii -> fFuii
 #() fFfff -> fFfff
 #() fFffp -> fFffp
-#() fFppa -> fFppa
 #() dFddd -> dFddd
 #() dFddp -> dFddp
 #() lFipL -> lFipL
@@ -369,6 +372,7 @@
 #() pFEXL -> pFEXL
 #() pFEXp -> pFEXp
 #() pFipi -> pFipi
+#() pFipL -> pFipL
 #() pFulu -> pFulu
 #() pFpii -> pFpii
 #() pFpiL -> pFpiL
@@ -391,6 +395,7 @@
 #() iFBp_pi -> iFBpi
 #() IFpBp_i -> IFpBi
 #() UFpBp_i -> UFpBi
+#() fFpBp_a -> fFpBa
 #() dFpBp_i -> dFpBi
 #() dFpBp_a -> dFpBa
 #() lFpBp_i -> lFpBi
@@ -538,11 +543,13 @@
 #() lFEipi -> lFEipi
 #() lFiipL -> lFiipL
 #() lFipLi -> lFipLi
+#() lFipLl -> lFipLl
 #() lFpuip -> lFpuip
 #() LFEXii -> LFEXii
 #() LFpLLS -> LFpLLS
 #() LFppLp -> LFppLp
 #() LFppLa -> LFppLa
+#() LFXCii -> LFXCii
 #() LFXLpi -> LFXLpi
 #() pFEupp -> pFEupp
 #() pFEppi -> pFEppi
@@ -571,6 +578,7 @@
 #() LFpbp_Lp -> LFpBLp
 #() iFEpprLL_ -> iFEppB
 #() vFXLrpLiL_L -> vFXLBL
+#() iFuirLL_BLL_ -> iFuiBB
 #() iFXLpBLWWWcc_ -> iFXLpB
 #() LFpLpriiiiiiiiilt_ -> LFpLpB
 #() vFEuipp -> vFEuipp
@@ -676,6 +684,8 @@
 #() iFEpppi -> iFEpppi
 #() iFEpppp -> iFEpppp
 #() iFEXLpi -> iFEXLpi
+#() iFEXpLp -> iFEXpLp
+#() iFEXppp -> iFEXppp
 #() iFiiipu -> iFiiipu
 #() iFiiipp -> iFiiipp
 #() iFiLLLL -> iFiLLLL
@@ -700,6 +710,7 @@
 #() pFpippp -> pFpippp
 #() pFppuup -> pFppuup
 #() pFppupp -> pFppupp
+#() pFXpipi -> pFXpipi
 #() iFEBh_ppp -> iFEBppp
 #() LFpbp_LLp -> LFpBLLp
 #() LFpBp_LLp -> LFpBLLp
@@ -773,16 +784,19 @@
 #() vFpdddii -> vFpdddii
 #() vFppupii -> vFppupii
 #() vFpppppp -> vFpppppp
+#() vFXLiiii -> vFXLiiii
 #() iFEuppup -> iFEuppup
 #() iFEuppLp -> iFEuppLp
 #() iFEpiLpp -> iFEpiLpp
 #() iFEpppup -> iFEpppup
 #() iFEXLilp -> iFEXLilp
 #() iFEXpiup -> iFEXpiup
+#() iFEXpppp -> iFEXpppp
 #() iFuiiuup -> iFuiiuup
 #() iFpiippp -> iFpiippp
 #() iFppiiii -> iFppiiii
 #() iFXLiiiL -> iFXLiiiL
+#() iFXLpppp -> iFXLpppp
 #() iFXpIppp -> iFXpIppp
 #() uFupuufp -> uFupuufp
 #() lFipLipu -> lFipLipu
@@ -843,6 +857,7 @@
 #() vFpipipiu -> vFpipipiu
 #() vFpddiidd -> vFpddiidd
 #() iFEpLiipV -> iFEpLiipV
+#() iFEXLpppp -> iFEXLpppp
 #() iFuiiiuup -> iFuiiiuup
 #() iFpWCiWCi -> iFpWCiWCi
 #() iFpupLpLi -> iFpupLpLi
@@ -886,6 +901,7 @@
 #() uFuupuuiuf -> uFuupuuiuf
 #() uFulpppppp -> uFulpppppp
 #() LFXLpuuLLu -> LFXLpuuLLu
+#() iFXLLiippBL_ -> iFXLLiippB
 #() vFiiiiiiiii -> vFiiiiiiiii
 #() vFiiiiiiill -> vFiiiiiiill
 #() vFiiiiillli -> vFiiiiillli
@@ -939,6 +955,7 @@
 #() vFffffffffff -> vFffffffffff
 #() iFuiiiuuiiip -> iFuiiiuuiiip
 #() iFXuuLiuiiLL -> iFXuuLiuiiLL
+#() pFpppppppppp -> pFpppppppppp
 #() pFXpuiipuuii -> pFXpuiipuuii
 #() vFiiiiillliip -> vFiiiiillliip
 #() vFiiiiilllilp -> vFiiiiilllilp
@@ -956,6 +973,7 @@
 #() vFUufffffffff -> vFUufffffffff
 #() vFpipipiipiiu -> vFpipipiipiiu
 #() iFEXLppiiiiuu -> iFEXLppiiiiuu
+#() iFEXpLLiiLWpi -> iFEXpLLiiLWpi
 #() iFuiiiiuuiiip -> iFuiiiiuuiiip
 #() pFEXpuiipuuii -> pFEXpuiipuuii
 #() vFuiiiiiiiiuUC -> vFuiiiiiiiiuUC
@@ -966,6 +984,7 @@
 #() vFuuuuuuuuuuuu -> vFuuuuuuuuuuuu
 #() vFffffffffffff -> vFffffffffffff
 #() pFEXLiiuuLipii -> pFEXLiiuuLipii
+#() iFXLLlliLBL_pBL_BL_Bp_ -> iFXLLlliLBpBBB
 #() vFuiiiiiiiiiuup -> vFuiiiiiiiiiuup
 #() vFuuuuuuuuuuuuu -> vFuuuuuuuuuuuuu
 #() vFuUuuuuuuuuuuu -> vFuUuuuuuuuuuuu
@@ -1380,6 +1399,7 @@ wrappedlibrt:
 wrappedlibx11:
 - iFp:
   - XDestroyImage
+  - XFreeExtensionList
   - XInitImage
   - _XInitImageFuncPtrs
 - iFX:
@@ -1387,10 +1407,14 @@ wrappedlibx11:
 - pFp:
   - XOpenDisplay
   - XSetErrorHandler
+- iFpL:
+  - XFilterEvent
 - iFXp:
   - XNextEvent
 - pFpV:
   - XCreateIC
+- pFXp:
+  - XListExtensions
 - vFXLp:
   - XSetWMNormalHints
 - iFpip:
@@ -1404,18 +1428,25 @@ wrappedlibx11:
   - XGetPixel
 - iFXLpi:
   - XSetWMProtocols
+- iFXppp:
+  - XIfEvent
 - iFXLilp:
   - XSendEvent
 - iFXpiup:
   - Xutf8TextListToTextProperty
+- iFXpppp:
+  - XQueryExtension
 - pFpiiuu:
   - XSubImage
+- iFXLpppp:
+  - XQueryTree
 - iFXLLLiipi:
   - XChangeProperty
 - pFXLiiuuLi:
   - XGetImage
 - vFXLpppippp:
   - XSetWMProperties
+  - Xutf8SetWMProperties
 - iFXLppiiiiuu:
   - XPutImage
 - pFXpuiipuuii:
@@ -1432,6 +1463,11 @@ wrappedlibxrandr:
 - pFXpL:
   - XRRGetCrtcInfo
   - XRRGetOutputInfo
+  - XRRGetPanning
+- iFXpLp:
+  - XRRSetPanning
+- iFXpLLiiLWpi:
+  - XRRSetCrtcConfig
 wrappedlibxrender:
 wrappedopenal:
 - vFv:
diff --git a/src/wrapped32/generated/wrappedlibx11types32.h b/src/wrapped32/generated/wrappedlibx11types32.h
index 37fd4e52..9790f289 100644
--- a/src/wrapped32/generated/wrappedlibx11types32.h
+++ b/src/wrapped32/generated/wrappedlibx11types32.h
@@ -14,17 +14,22 @@
 typedef int32_t (*iFp_t)(void*);
 typedef int32_t (*iFX_t)(void*);
 typedef void* (*pFp_t)(void*);
+typedef int32_t (*iFpL_t)(void*, uintptr_t);
 typedef int32_t (*iFXp_t)(void*, void*);
 typedef void* (*pFpV_t)(void*, ...);
+typedef void* (*pFXp_t)(void*, void*);
 typedef void (*vFXLp_t)(void*, uintptr_t, void*);
 typedef int32_t (*iFpip_t)(void*, int32_t, void*);
 typedef int32_t (*iFXip_t)(void*, int32_t, void*);
 typedef int32_t (*iFXLp_t)(void*, uintptr_t, void*);
 typedef uintptr_t (*LFXii_t)(void*, int32_t, int32_t);
 typedef int32_t (*iFXLpi_t)(void*, uintptr_t, void*, int32_t);
+typedef int32_t (*iFXppp_t)(void*, void*, void*, void*);
 typedef int32_t (*iFXLilp_t)(void*, uintptr_t, int32_t, intptr_t, void*);
 typedef int32_t (*iFXpiup_t)(void*, void*, int32_t, uint32_t, void*);
+typedef int32_t (*iFXpppp_t)(void*, void*, void*, void*, void*);
 typedef void* (*pFpiiuu_t)(void*, int32_t, int32_t, uint32_t, uint32_t);
+typedef int32_t (*iFXLpppp_t)(void*, uintptr_t, void*, void*, void*, void*);
 typedef int32_t (*iFXLLLiipi_t)(void*, uintptr_t, uintptr_t, uintptr_t, int32_t, int32_t, void*, int32_t);
 typedef void* (*pFXLiiuuLi_t)(void*, uintptr_t, int32_t, int32_t, uint32_t, uint32_t, uintptr_t, int32_t);
 typedef void (*vFXLpppippp_t)(void*, uintptr_t, void*, void*, void*, int32_t, void*, void*, void*);
@@ -35,13 +40,16 @@ typedef uintptr_t (*LFXLiiuuuiupLp_t)(void*, uintptr_t, int32_t, int32_t, uint32
 
 #define SUPER() ADDED_FUNCTIONS() \
 	GO(XDestroyImage, iFp_t) \
+	GO(XFreeExtensionList, iFp_t) \
 	GO(XInitImage, iFp_t) \
 	GO(_XInitImageFuncPtrs, iFp_t) \
 	GO(XCloseDisplay, iFX_t) \
 	GO(XOpenDisplay, pFp_t) \
 	GO(XSetErrorHandler, pFp_t) \
+	GO(XFilterEvent, iFpL_t) \
 	GO(XNextEvent, iFXp_t) \
 	GO(XCreateIC, pFpV_t) \
+	GO(XListExtensions, pFXp_t) \
 	GO(XSetWMNormalHints, vFXLp_t) \
 	GO(XStringListToTextProperty, iFpip_t) \
 	GO(XCheckTypedEvent, iFXip_t) \
@@ -49,12 +57,16 @@ typedef uintptr_t (*LFXLiiuuuiupLp_t)(void*, uintptr_t, int32_t, int32_t, uint32
 	GO(XSetWMHints, iFXLp_t) \
 	GO(XGetPixel, LFXii_t) \
 	GO(XSetWMProtocols, iFXLpi_t) \
+	GO(XIfEvent, iFXppp_t) \
 	GO(XSendEvent, iFXLilp_t) \
 	GO(Xutf8TextListToTextProperty, iFXpiup_t) \
+	GO(XQueryExtension, iFXpppp_t) \
 	GO(XSubImage, pFpiiuu_t) \
+	GO(XQueryTree, iFXLpppp_t) \
 	GO(XChangeProperty, iFXLLLiipi_t) \
 	GO(XGetImage, pFXLiiuuLi_t) \
 	GO(XSetWMProperties, vFXLpppippp_t) \
+	GO(Xutf8SetWMProperties, vFXLpppippp_t) \
 	GO(XPutImage, iFXLppiiiiuu_t) \
 	GO(XCreateImage, pFXpuiipuuii_t) \
 	GO(XGetSubImage, pFXLiiuuLipii_t) \
diff --git a/src/wrapped32/generated/wrappedlibxrandrtypes32.h b/src/wrapped32/generated/wrappedlibxrandrtypes32.h
index 6acabbe8..631a4713 100644
--- a/src/wrapped32/generated/wrappedlibxrandrtypes32.h
+++ b/src/wrapped32/generated/wrappedlibxrandrtypes32.h
@@ -13,10 +13,15 @@
 
 typedef void* (*pFXL_t)(void*, uintptr_t);
 typedef void* (*pFXpL_t)(void*, void*, uintptr_t);
+typedef int32_t (*iFXpLp_t)(void*, void*, uintptr_t, void*);
+typedef int32_t (*iFXpLLiiLWpi_t)(void*, void*, uintptr_t, uintptr_t, int32_t, int32_t, uintptr_t, uint16_t, void*, int32_t);
 
 #define SUPER() ADDED_FUNCTIONS() \
 	GO(XRRGetScreenResources, pFXL_t) \
 	GO(XRRGetCrtcInfo, pFXpL_t) \
-	GO(XRRGetOutputInfo, pFXpL_t)
+	GO(XRRGetOutputInfo, pFXpL_t) \
+	GO(XRRGetPanning, pFXpL_t) \
+	GO(XRRSetPanning, iFXpLp_t) \
+	GO(XRRSetCrtcConfig, iFXpLLiiLWpi_t)
 
 #endif // __wrappedlibxrandrTYPES32_H_
diff --git a/src/wrapped32/generated/wrapper32.c b/src/wrapped32/generated/wrapper32.c
index a4e6e515..0df2c82a 100644
--- a/src/wrapped32/generated/wrapper32.c
+++ b/src/wrapped32/generated/wrapper32.c
@@ -86,6 +86,7 @@ void VulkanTox86(void* src, void* save);
 int of_convert32(int);
 
 void* getDisplay(void*);
+void* FindDisplay(void*);
 
 typedef void (*vFv_t)(void);
 typedef void (*vFc_t)(int8_t);
@@ -159,6 +160,7 @@ typedef void* (*aFa_t)(void*);
 typedef char* (*tFi_t)(int32_t);
 typedef char* (*tFu_t)(uint32_t);
 typedef char* (*tFp_t)(void*);
+typedef void* (*XFv_t)(void);
 typedef int32_t (*iFBp__t)(struct_p_t*);
 typedef uintptr_t (*LFrL__t)(struct_L_t*);
 typedef void* (*pFrL__t)(struct_L_t*);
@@ -361,6 +363,7 @@ typedef void (*vFlii_t)(intptr_t, int32_t, int32_t);
 typedef void (*vFlip_t)(intptr_t, int32_t, void*);
 typedef void (*vFllp_t)(intptr_t, intptr_t, void*);
 typedef void (*vFlpp_t)(intptr_t, void*, void*);
+typedef void (*vFpii_t)(void*, int32_t, int32_t);
 typedef void (*vFpip_t)(void*, int32_t, void*);
 typedef void (*vFpuU_t)(void*, uint32_t, uint64_t);
 typedef void (*vFpuf_t)(void*, uint32_t, float);
@@ -408,6 +411,7 @@ typedef int32_t (*iFpuC_t)(void*, uint32_t, uint8_t);
 typedef int32_t (*iFpuu_t)(void*, uint32_t, uint32_t);
 typedef int32_t (*iFpuU_t)(void*, uint32_t, uint64_t);
 typedef int32_t (*iFpLi_t)(void*, uintptr_t, int32_t);
+typedef int32_t (*iFpLp_t)(void*, uintptr_t, void*);
 typedef int32_t (*iFppi_t)(void*, void*, int32_t);
 typedef int32_t (*iFppu_t)(void*, void*, uint32_t);
 typedef int32_t (*iFppL_t)(void*, void*, uintptr_t);
@@ -421,6 +425,7 @@ typedef int32_t (*iFSIi_t)(void*, int64_t, int32_t);
 typedef int32_t (*iFSli_t)(void*, intptr_t, int32_t);
 typedef int32_t (*iFXip_t)(void*, int32_t, void*);
 typedef int32_t (*iFXuu_t)(void*, uint32_t, uint32_t);
+typedef int32_t (*iFXLl_t)(void*, uintptr_t, intptr_t);
 typedef int32_t (*iFXLL_t)(void*, uintptr_t, uintptr_t);
 typedef int32_t (*iFXLp_t)(void*, uintptr_t, void*);
 typedef int32_t (*iFXpu_t)(void*, void*, uint32_t);
@@ -439,7 +444,6 @@ typedef uint32_t (*uFpuU_t)(void*, uint32_t, uint64_t);
 typedef float (*fFuii_t)(uint32_t, int32_t, int32_t);
 typedef float (*fFfff_t)(float, float, float);
 typedef float (*fFffp_t)(float, float, void*);
-typedef float (*fFppa_t)(void*, void*, void*);
 typedef double (*dFddd_t)(double, double, double);
 typedef double (*dFddp_t)(double, double, void*);
 typedef intptr_t (*lFipL_t)(int32_t, void*, uintptr_t);
@@ -458,6 +462,7 @@ typedef void* (*pFEpV_t)(x64emu_t*, void*, void*);
 typedef void* (*pFEXL_t)(x64emu_t*, void*, uintptr_t);
 typedef void* (*pFEXp_t)(x64emu_t*, void*, void*);
 typedef void* (*pFipi_t)(int32_t, void*, int32_t);
+typedef void* (*pFipL_t)(int32_t, void*, uintptr_t);
 typedef void* (*pFulu_t)(uint32_t, intptr_t, uint32_t);
 typedef void* (*pFpii_t)(void*, int32_t, int32_t);
 typedef void* (*pFpiL_t)(void*, int32_t, uintptr_t);
@@ -480,6 +485,7 @@ typedef int32_t (*iFBp_LL_t)(struct_p_t*, uintptr_t, uintptr_t);
 typedef int32_t (*iFBp_pi_t)(struct_p_t*, void*, int32_t);
 typedef int64_t (*IFpBp_i_t)(void*, struct_p_t*, int32_t);
 typedef uint64_t (*UFpBp_i_t)(void*, struct_p_t*, int32_t);
+typedef float (*fFpBp_a_t)(void*, struct_p_t*, void*);
 typedef double (*dFpBp_i_t)(void*, struct_p_t*, int32_t);
 typedef double (*dFpBp_a_t)(void*, struct_p_t*, void*);
 typedef intptr_t (*lFpBp_i_t)(void*, struct_p_t*, int32_t);
@@ -627,11 +633,13 @@ typedef uint32_t (*uFpCCC_t)(void*, uint8_t, uint8_t, uint8_t);
 typedef intptr_t (*lFEipi_t)(x64emu_t*, int32_t, void*, int32_t);
 typedef intptr_t (*lFiipL_t)(int32_t, int32_t, void*, uintptr_t);
 typedef intptr_t (*lFipLi_t)(int32_t, void*, uintptr_t, int32_t);
+typedef intptr_t (*lFipLl_t)(int32_t, void*, uintptr_t, intptr_t);
 typedef intptr_t (*lFpuip_t)(void*, uint32_t, int32_t, void*);
 typedef uintptr_t (*LFEXii_t)(x64emu_t*, void*, int32_t, int32_t);
 typedef uintptr_t (*LFpLLS_t)(void*, uintptr_t, uintptr_t, void*);
 typedef uintptr_t (*LFppLp_t)(void*, void*, uintptr_t, void*);
 typedef uintptr_t (*LFppLa_t)(void*, void*, uintptr_t, void*);
+typedef uintptr_t (*LFXCii_t)(void*, uint8_t, int32_t, int32_t);
 typedef uintptr_t (*LFXLpi_t)(void*, uintptr_t, void*, int32_t);
 typedef void* (*pFEupp_t)(x64emu_t*, uint32_t, void*, void*);
 typedef void* (*pFEppi_t)(x64emu_t*, void*, void*, int32_t);
@@ -660,6 +668,7 @@ typedef intptr_t (*lFiibp_L_t)(int32_t, int32_t, struct_p_t*, uintptr_t);
 typedef uintptr_t (*LFpbp_Lp_t)(void*, struct_p_t*, uintptr_t, void*);
 typedef int32_t (*iFEpprLL__t)(x64emu_t*, void*, void*, struct_LL_t*);
 typedef void (*vFXLrpLiL_L_t)(void*, uintptr_t, struct_pLiL_t*, uintptr_t);
+typedef int32_t (*iFuirLL_BLL__t)(uint32_t, int32_t, struct_LL_t*, struct_LL_t*);
 typedef int32_t (*iFXLpBLWWWcc__t)(void*, uintptr_t, void*, struct_LWWWcc_t*);
 typedef uintptr_t (*LFpLpriiiiiiiiilt__t)(void*, uintptr_t, void*, struct_iiiiiiiiilt_t*);
 typedef void (*vFEuipp_t)(x64emu_t*, uint32_t, int32_t, void*, void*);
@@ -765,6 +774,8 @@ typedef int32_t (*iFEppiV_t)(x64emu_t*, void*, void*, int32_t, void*);
 typedef int32_t (*iFEpppi_t)(x64emu_t*, void*, void*, void*, int32_t);
 typedef int32_t (*iFEpppp_t)(x64emu_t*, void*, void*, void*, void*);
 typedef int32_t (*iFEXLpi_t)(x64emu_t*, void*, uintptr_t, void*, int32_t);
+typedef int32_t (*iFEXpLp_t)(x64emu_t*, void*, void*, uintptr_t, void*);
+typedef int32_t (*iFEXppp_t)(x64emu_t*, void*, void*, void*, void*);
 typedef int32_t (*iFiiipu_t)(int32_t, int32_t, int32_t, void*, uint32_t);
 typedef int32_t (*iFiiipp_t)(int32_t, int32_t, int32_t, void*, void*);
 typedef int32_t (*iFiLLLL_t)(int32_t, uintptr_t, uintptr_t, uintptr_t, uintptr_t);
@@ -789,6 +800,7 @@ typedef void* (*pFpiiuu_t)(void*, int32_t, int32_t, uint32_t, uint32_t);
 typedef void* (*pFpippp_t)(void*, int32_t, void*, void*, void*);
 typedef void* (*pFppuup_t)(void*, void*, uint32_t, uint32_t, void*);
 typedef void* (*pFppupp_t)(void*, void*, uint32_t, void*, void*);
+typedef void* (*pFXpipi_t)(void*, void*, int32_t, void*, int32_t);
 typedef int32_t (*iFEBh_ppp_t)(x64emu_t*, struct_h_t*, void*, void*, void*);
 typedef uintptr_t (*LFpbp_LLp_t)(void*, struct_p_t*, uintptr_t, uintptr_t, void*);
 typedef uintptr_t (*LFpBp_LLp_t)(void*, struct_p_t*, uintptr_t, uintptr_t, void*);
@@ -862,16 +874,19 @@ typedef void (*vFpipipV_t)(void*, int32_t, void*, int32_t, void*, void*);
 typedef void (*vFpdddii_t)(void*, double, double, double, int32_t, int32_t);
 typedef void (*vFppupii_t)(void*, void*, uint32_t, void*, int32_t, int32_t);
 typedef void (*vFpppppp_t)(void*, void*, void*, void*, void*, void*);
+typedef void (*vFXLiiii_t)(void*, uintptr_t, int32_t, int32_t, int32_t, int32_t);
 typedef int32_t (*iFEuppup_t)(x64emu_t*, uint32_t, void*, void*, uint32_t, void*);
 typedef int32_t (*iFEuppLp_t)(x64emu_t*, uint32_t, void*, void*, uintptr_t, void*);
 typedef int32_t (*iFEpiLpp_t)(x64emu_t*, void*, int32_t, uintptr_t, void*, void*);
 typedef int32_t (*iFEpppup_t)(x64emu_t*, void*, void*, void*, uint32_t, void*);
 typedef int32_t (*iFEXLilp_t)(x64emu_t*, void*, uintptr_t, int32_t, intptr_t, void*);
 typedef int32_t (*iFEXpiup_t)(x64emu_t*, void*, void*, int32_t, uint32_t, void*);
+typedef int32_t (*iFEXpppp_t)(x64emu_t*, void*, void*, void*, void*, void*);
 typedef int32_t (*iFuiiuup_t)(uint32_t, int32_t, int32_t, uint32_t, uint32_t, void*);
 typedef int32_t (*iFpiippp_t)(void*, int32_t, int32_t, void*, void*, void*);
 typedef int32_t (*iFppiiii_t)(void*, void*, int32_t, int32_t, int32_t, int32_t);
 typedef int32_t (*iFXLiiiL_t)(void*, uintptr_t, int32_t, int32_t, int32_t, uintptr_t);
+typedef int32_t (*iFXLpppp_t)(void*, uintptr_t, void*, void*, void*, void*);
 typedef int32_t (*iFXpIppp_t)(void*, void*, int64_t, void*, void*, void*);
 typedef uint32_t (*uFupuufp_t)(uint32_t, void*, uint32_t, uint32_t, float, void*);
 typedef intptr_t (*lFipLipu_t)(int32_t, void*, uintptr_t, int32_t, void*, uint32_t);
@@ -932,6 +947,7 @@ typedef void (*vFlliiiip_t)(intptr_t, intptr_t, int32_t, int32_t, int32_t, int32
 typedef void (*vFpipipiu_t)(void*, int32_t, void*, int32_t, void*, int32_t, uint32_t);
 typedef void (*vFpddiidd_t)(void*, double, double, int32_t, int32_t, double, double);
 typedef int32_t (*iFEpLiipV_t)(x64emu_t*, void*, uintptr_t, int32_t, int32_t, void*, void*);
+typedef int32_t (*iFEXLpppp_t)(x64emu_t*, void*, uintptr_t, void*, void*, void*, void*);
 typedef int32_t (*iFuiiiuup_t)(uint32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t, void*);
 typedef int32_t (*iFpWCiWCi_t)(void*, uint16_t, uint8_t, int32_t, uint16_t, uint8_t, int32_t);
 typedef int32_t (*iFpupLpLi_t)(void*, uint32_t, void*, uintptr_t, void*, uintptr_t, int32_t);
@@ -975,6 +991,7 @@ typedef uint32_t (*uFuipppppp_t)(uint32_t, int32_t, void*, void*, void*, void*,
 typedef uint32_t (*uFuupuuiuf_t)(uint32_t, uint32_t, void*, uint32_t, uint32_t, int32_t, uint32_t, float);
 typedef uint32_t (*uFulpppppp_t)(uint32_t, intptr_t, void*, void*, void*, void*, void*, void*);
 typedef uintptr_t (*LFXLpuuLLu_t)(void*, uintptr_t, void*, uint32_t, uint32_t, uintptr_t, uintptr_t, uint32_t);
+typedef int32_t (*iFXLLiippBL__t)(void*, uintptr_t, uintptr_t, int32_t, int32_t, void*, void*, struct_L_t*);
 typedef void (*vFiiiiiiiii_t)(int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t);
 typedef void (*vFiiiiiiill_t)(int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, intptr_t, intptr_t);
 typedef void (*vFiiiiillli_t)(int32_t, int32_t, int32_t, int32_t, int32_t, intptr_t, intptr_t, intptr_t, int32_t);
@@ -1028,6 +1045,7 @@ typedef void (*vFuddiiddiip_t)(uint32_t, double, double, int32_t, int32_t, doubl
 typedef void (*vFffffffffff_t)(float, float, float, float, float, float, float, float, float, float);
 typedef int32_t (*iFuiiiuuiiip_t)(uint32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t, int32_t, int32_t, int32_t, void*);
 typedef int32_t (*iFXuuLiuiiLL_t)(void*, uint32_t, uint32_t, uintptr_t, int32_t, uint32_t, int32_t, int32_t, uintptr_t, uintptr_t);
+typedef void* (*pFpppppppppp_t)(void*, void*, void*, void*, void*, void*, void*, void*, void*, void*);
 typedef void* (*pFXpuiipuuii_t)(void*, void*, uint32_t, int32_t, int32_t, void*, uint32_t, uint32_t, int32_t, int32_t);
 typedef void (*vFiiiiillliip_t)(int32_t, int32_t, int32_t, int32_t, int32_t, intptr_t, intptr_t, intptr_t, int32_t, int32_t, void*);
 typedef void (*vFiiiiilllilp_t)(int32_t, int32_t, int32_t, int32_t, int32_t, intptr_t, intptr_t, intptr_t, int32_t, intptr_t, void*);
@@ -1045,6 +1063,7 @@ typedef void (*vFuffffffffff_t)(uint32_t, float, float, float, float, float, flo
 typedef void (*vFUufffffffff_t)(uint64_t, uint32_t, float, float, float, float, float, float, float, float, float);
 typedef void (*vFpipipiipiiu_t)(void*, int32_t, void*, int32_t, void*, int32_t, int32_t, void*, int32_t, int32_t, uint32_t);
 typedef int32_t (*iFEXLppiiiiuu_t)(x64emu_t*, void*, uintptr_t, void*, void*, int32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t);
+typedef int32_t (*iFEXpLLiiLWpi_t)(x64emu_t*, void*, void*, uintptr_t, uintptr_t, int32_t, int32_t, uintptr_t, uint16_t, void*, int32_t);
 typedef int32_t (*iFuiiiiuuiiip_t)(uint32_t, int32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t, int32_t, int32_t, int32_t, void*);
 typedef void* (*pFEXpuiipuuii_t)(x64emu_t*, void*, void*, uint32_t, int32_t, int32_t, void*, uint32_t, uint32_t, int32_t, int32_t);
 typedef void (*vFuiiiiiiiiuUC_t)(uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, uint32_t, uint64_t, uint8_t);
@@ -1055,6 +1074,7 @@ typedef void (*vFuuiiiiiiiuup_t)(uint32_t, uint32_t, int32_t, int32_t, int32_t,
 typedef void (*vFuuuuuuuuuuuu_t)(uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t);
 typedef void (*vFffffffffffff_t)(float, float, float, float, float, float, float, float, float, float, float, float);
 typedef void* (*pFEXLiiuuLipii_t)(x64emu_t*, void*, uintptr_t, int32_t, int32_t, uint32_t, uint32_t, uintptr_t, int32_t, void*, int32_t, int32_t);
+typedef int32_t (*iFXLLlliLBL_pBL_BL_Bp__t)(void*, uintptr_t, uintptr_t, intptr_t, intptr_t, int32_t, uintptr_t, struct_L_t*, void*, struct_L_t*, struct_L_t*, struct_p_t*);
 typedef void (*vFuiiiiiiiiiuup_t)(uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t, void*);
 typedef void (*vFuuuuuuuuuuuuu_t)(uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t);
 typedef void (*vFuUuuuuuuuuuuu_t)(uint32_t, uint64_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t);
@@ -1160,6 +1180,7 @@ void aFa_32(x64emu_t *emu, uintptr_t fcn) { aFa_t fn = (aFa_t)fcn; R_EAX = to_lo
 void tFi_32(x64emu_t *emu, uintptr_t fcn) { tFi_t fn = (tFi_t)fcn; R_EAX = to_cstring(fn(from_ptri(int32_t, R_ESP + 4))); }
 void tFu_32(x64emu_t *emu, uintptr_t fcn) { tFu_t fn = (tFu_t)fcn; R_EAX = to_cstring(fn(from_ptri(uint32_t, R_ESP + 4))); }
 void tFp_32(x64emu_t *emu, uintptr_t fcn) { tFp_t fn = (tFp_t)fcn; R_EAX = to_cstring(fn(from_ptriv(R_ESP + 4))); }
+void XFv_32(x64emu_t *emu, uintptr_t fcn) { XFv_t fn = (XFv_t)fcn; R_EAX = to_ptrv(FindDisplay(fn())); }
 void iFBp__32(x64emu_t *emu, uintptr_t fcn) { iFBp__t fn = (iFBp__t)fcn; struct_p_t arg_4={0}; R_EAX = fn(*(ptr_t*)(from_ptr((R_ESP + 4))) ? &arg_4 : NULL); if (*(ptr_t*)(from_ptr((R_ESP + 4)))) to_struct_p(*(ptr_t*)(from_ptr((R_ESP + 4))), &arg_4); }
 void LFrL__32(x64emu_t *emu, uintptr_t fcn) { LFrL__t fn = (LFrL__t)fcn; struct_L_t arg_4={0}; from_struct_L(&arg_4, *(ptr_t*)(from_ptr((R_ESP + 4)))); R_EAX = to_ulong(fn(*(ptr_t*)(from_ptr((R_ESP + 4))) ? &arg_4 : NULL)); }
 void pFrL__32(x64emu_t *emu, uintptr_t fcn) { pFrL__t fn = (pFrL__t)fcn; struct_L_t arg_4={0}; from_struct_L(&arg_4, *(ptr_t*)(from_ptr((R_ESP + 4)))); R_EAX = to_ptrv(fn(*(ptr_t*)(from_ptr((R_ESP + 4))) ? &arg_4 : NULL)); }
@@ -1362,6 +1383,7 @@ void vFlii_32(x64emu_t *emu, uintptr_t fcn) { vFlii_t fn = (vFlii_t)fcn; fn(to_l
 void vFlip_32(x64emu_t *emu, uintptr_t fcn) { vFlip_t fn = (vFlip_t)fcn; fn(to_long(from_ptri(long_t, R_ESP + 4)), from_ptri(int32_t, R_ESP + 8), from_ptriv(R_ESP + 12)); }
 void vFllp_32(x64emu_t *emu, uintptr_t fcn) { vFllp_t fn = (vFllp_t)fcn; fn(to_long(from_ptri(long_t, R_ESP + 4)), to_long(from_ptri(long_t, R_ESP + 8)), from_ptriv(R_ESP + 12)); }
 void vFlpp_32(x64emu_t *emu, uintptr_t fcn) { vFlpp_t fn = (vFlpp_t)fcn; fn(to_long(from_ptri(long_t, R_ESP + 4)), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12)); }
+void vFpii_32(x64emu_t *emu, uintptr_t fcn) { vFpii_t fn = (vFpii_t)fcn; fn(from_ptriv(R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12)); }
 void vFpip_32(x64emu_t *emu, uintptr_t fcn) { vFpip_t fn = (vFpip_t)fcn; fn(from_ptriv(R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptriv(R_ESP + 12)); }
 void vFpuU_32(x64emu_t *emu, uintptr_t fcn) { vFpuU_t fn = (vFpuU_t)fcn; fn(from_ptriv(R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(uint64_t, R_ESP + 12)); }
 void vFpuf_32(x64emu_t *emu, uintptr_t fcn) { vFpuf_t fn = (vFpuf_t)fcn; fn(from_ptriv(R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(float, R_ESP + 12)); }
@@ -1409,6 +1431,7 @@ void iFpuC_32(x64emu_t *emu, uintptr_t fcn) { iFpuC_t fn = (iFpuC_t)fcn; R_EAX =
 void iFpuu_32(x64emu_t *emu, uintptr_t fcn) { iFpuu_t fn = (iFpuu_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12)); }
 void iFpuU_32(x64emu_t *emu, uintptr_t fcn) { iFpuU_t fn = (iFpuU_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(uint64_t, R_ESP + 12)); }
 void iFpLi_32(x64emu_t *emu, uintptr_t fcn) { iFpLi_t fn = (iFpLi_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), to_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptri(int32_t, R_ESP + 12)); }
+void iFpLp_32(x64emu_t *emu, uintptr_t fcn) { iFpLp_t fn = (iFpLp_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), to_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptriv(R_ESP + 12)); }
 void iFppi_32(x64emu_t *emu, uintptr_t fcn) { iFppi_t fn = (iFppi_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(int32_t, R_ESP + 12)); }
 void iFppu_32(x64emu_t *emu, uintptr_t fcn) { iFppu_t fn = (iFppu_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(uint32_t, R_ESP + 12)); }
 void iFppL_32(x64emu_t *emu, uintptr_t fcn) { iFppL_t fn = (iFppL_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), to_ulong(from_ptri(ulong_t, R_ESP + 12))); }
@@ -1422,6 +1445,7 @@ void iFSIi_32(x64emu_t *emu, uintptr_t fcn) { iFSIi_t fn = (iFSIi_t)fcn; R_EAX =
 void iFSli_32(x64emu_t *emu, uintptr_t fcn) { iFSli_t fn = (iFSli_t)fcn; R_EAX = fn(io_convert32(from_ptriv(R_ESP + 4)), to_long(from_ptri(long_t, R_ESP + 8)), from_ptri(int32_t, R_ESP + 12)); }
 void iFXip_32(x64emu_t *emu, uintptr_t fcn) { iFXip_t fn = (iFXip_t)fcn; R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), from_ptri(int32_t, R_ESP + 8), from_ptriv(R_ESP + 12)); }
 void iFXuu_32(x64emu_t *emu, uintptr_t fcn) { iFXuu_t fn = (iFXuu_t)fcn; R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), from_ptri(uint32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12)); }
+void iFXLl_32(x64emu_t *emu, uintptr_t fcn) { iFXLl_t fn = (iFXLl_t)fcn; R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), to_ulong(from_ptri(ulong_t, R_ESP + 8)), to_long(from_ptri(long_t, R_ESP + 12))); }
 void iFXLL_32(x64emu_t *emu, uintptr_t fcn) { iFXLL_t fn = (iFXLL_t)fcn; R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), to_ulong(from_ptri(ulong_t, R_ESP + 8)), to_ulong(from_ptri(ulong_t, R_ESP + 12))); }
 void iFXLp_32(x64emu_t *emu, uintptr_t fcn) { iFXLp_t fn = (iFXLp_t)fcn; R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), to_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptriv(R_ESP + 12)); }
 void iFXpu_32(x64emu_t *emu, uintptr_t fcn) { iFXpu_t fn = (iFXpu_t)fcn; R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), from_ptriv(R_ESP + 8), from_ptri(uint32_t, R_ESP + 12)); }
@@ -1440,7 +1464,6 @@ void uFpuU_32(x64emu_t *emu, uintptr_t fcn) { uFpuU_t fn = (uFpuU_t)fcn; R_EAX =
 void fFuii_32(x64emu_t *emu, uintptr_t fcn) { fFuii_t fn = (fFuii_t)fcn; float fl = fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12)); fpu_do_push(emu); ST0val = fl; }
 void fFfff_32(x64emu_t *emu, uintptr_t fcn) { fFfff_t fn = (fFfff_t)fcn; float fl = fn(from_ptri(float, R_ESP + 4), from_ptri(float, R_ESP + 8), from_ptri(float, R_ESP + 12)); fpu_do_push(emu); ST0val = fl; }
 void fFffp_32(x64emu_t *emu, uintptr_t fcn) { fFffp_t fn = (fFffp_t)fcn; float fl = fn(from_ptri(float, R_ESP + 4), from_ptri(float, R_ESP + 8), from_ptriv(R_ESP + 12)); fpu_do_push(emu); ST0val = fl; }
-void fFppa_32(x64emu_t *emu, uintptr_t fcn) { fFppa_t fn = (fFppa_t)fcn; float fl = fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_locale(from_ptri(ptr_t, R_ESP + 12))); fpu_do_push(emu); ST0val = fl; }
 void dFddd_32(x64emu_t *emu, uintptr_t fcn) { dFddd_t fn = (dFddd_t)fcn; double db = fn(from_ptri(double, R_ESP + 4), from_ptri(double, R_ESP + 12), from_ptri(double, R_ESP + 20)); fpu_do_push(emu); ST0val = db; }
 void dFddp_32(x64emu_t *emu, uintptr_t fcn) { dFddp_t fn = (dFddp_t)fcn; double db = fn(from_ptri(double, R_ESP + 4), from_ptri(double, R_ESP + 12), from_ptriv(R_ESP + 20)); fpu_do_push(emu); ST0val = db; }
 void lFipL_32(x64emu_t *emu, uintptr_t fcn) { lFipL_t fn = (lFipL_t)fcn; R_EAX = to_long(fn(from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8), to_ulong(from_ptri(ulong_t, R_ESP + 12)))); }
@@ -1459,6 +1482,7 @@ void pFEpV_32(x64emu_t *emu, uintptr_t fcn) { pFEpV_t fn = (pFEpV_t)fcn; R_EAX =
 void pFEXL_32(x64emu_t *emu, uintptr_t fcn) { pFEXL_t fn = (pFEXL_t)fcn; R_EAX = to_ptrv(fn(emu, getDisplay(from_ptriv(R_ESP + 4)), to_ulong(from_ptri(ulong_t, R_ESP + 8)))); }
 void pFEXp_32(x64emu_t *emu, uintptr_t fcn) { pFEXp_t fn = (pFEXp_t)fcn; R_EAX = to_ptrv(fn(emu, getDisplay(from_ptriv(R_ESP + 4)), from_ptriv(R_ESP + 8))); }
 void pFipi_32(x64emu_t *emu, uintptr_t fcn) { pFipi_t fn = (pFipi_t)fcn; R_EAX = to_ptrv(fn(from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(int32_t, R_ESP + 12))); }
+void pFipL_32(x64emu_t *emu, uintptr_t fcn) { pFipL_t fn = (pFipL_t)fcn; R_EAX = to_ptrv(fn(from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8), to_ulong(from_ptri(ulong_t, R_ESP + 12)))); }
 void pFulu_32(x64emu_t *emu, uintptr_t fcn) { pFulu_t fn = (pFulu_t)fcn; R_EAX = to_ptrv(fn(from_ptri(uint32_t, R_ESP + 4), to_long(from_ptri(long_t, R_ESP + 8)), from_ptri(uint32_t, R_ESP + 12))); }
 void pFpii_32(x64emu_t *emu, uintptr_t fcn) { pFpii_t fn = (pFpii_t)fcn; R_EAX = to_ptrv(fn(from_ptriv(R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12))); }
 void pFpiL_32(x64emu_t *emu, uintptr_t fcn) { pFpiL_t fn = (pFpiL_t)fcn; R_EAX = to_ptrv(fn(from_ptriv(R_ESP + 4), from_ptri(int32_t, R_ESP + 8), to_ulong(from_ptri(ulong_t, R_ESP + 12)))); }
@@ -1481,6 +1505,7 @@ void iFBp_LL_32(x64emu_t *emu, uintptr_t fcn) { iFBp_LL_t fn = (iFBp_LL_t)fcn; s
 void iFBp_pi_32(x64emu_t *emu, uintptr_t fcn) { iFBp_pi_t fn = (iFBp_pi_t)fcn; struct_p_t arg_4={0}; R_EAX = fn(*(ptr_t*)(from_ptr((R_ESP + 4))) ? &arg_4 : NULL, from_ptriv(R_ESP + 8), from_ptri(int32_t, R_ESP + 12)); if (*(ptr_t*)(from_ptr((R_ESP + 4)))) to_struct_p(*(ptr_t*)(from_ptr((R_ESP + 4))), &arg_4); }
 void IFpBp_i_32(x64emu_t *emu, uintptr_t fcn) { IFpBp_i_t fn = (IFpBp_i_t)fcn; struct_p_t arg_8={0}; ui64_t r; r.i = fn(from_ptriv(R_ESP + 4), *(ptr_t*)(from_ptr((R_ESP + 8))) ? &arg_8 : NULL, from_ptri(int32_t, R_ESP + 12)); R_EAX = r.d[0]; R_EDX = r.d[1]; if (*(ptr_t*)(from_ptr((R_ESP + 8)))) to_struct_p(*(ptr_t*)(from_ptr((R_ESP + 8))), &arg_8); }
 void UFpBp_i_32(x64emu_t *emu, uintptr_t fcn) { UFpBp_i_t fn = (UFpBp_i_t)fcn; struct_p_t arg_8={0}; ui64_t r; r.u = (uint64_t)fn(from_ptriv(R_ESP + 4), *(ptr_t*)(from_ptr((R_ESP + 8))) ? &arg_8 : NULL, from_ptri(int32_t, R_ESP + 12)); R_EAX = r.d[0]; R_EDX = r.d[1]; if (*(ptr_t*)(from_ptr((R_ESP + 8)))) to_struct_p(*(ptr_t*)(from_ptr((R_ESP + 8))), &arg_8); }
+void fFpBp_a_32(x64emu_t *emu, uintptr_t fcn) { fFpBp_a_t fn = (fFpBp_a_t)fcn; struct_p_t arg_8={0}; float fl = fn(from_ptriv(R_ESP + 4), *(ptr_t*)(from_ptr((R_ESP + 8))) ? &arg_8 : NULL, from_locale(from_ptri(ptr_t, R_ESP + 12))); fpu_do_push(emu); ST0val = fl; if (*(ptr_t*)(from_ptr((R_ESP + 8)))) to_struct_p(*(ptr_t*)(from_ptr((R_ESP + 8))), &arg_8); }
 void dFpBp_i_32(x64emu_t *emu, uintptr_t fcn) { dFpBp_i_t fn = (dFpBp_i_t)fcn; struct_p_t arg_8={0}; double db = fn(from_ptriv(R_ESP + 4), *(ptr_t*)(from_ptr((R_ESP + 8))) ? &arg_8 : NULL, from_ptri(int32_t, R_ESP + 12)); fpu_do_push(emu); ST0val = db; if (*(ptr_t*)(from_ptr((R_ESP + 8)))) to_struct_p(*(ptr_t*)(from_ptr((R_ESP + 8))), &arg_8); }
 void dFpBp_a_32(x64emu_t *emu, uintptr_t fcn) { dFpBp_a_t fn = (dFpBp_a_t)fcn; struct_p_t arg_8={0}; double db = fn(from_ptriv(R_ESP + 4), *(ptr_t*)(from_ptr((R_ESP + 8))) ? &arg_8 : NULL, from_locale(from_ptri(ptr_t, R_ESP + 12))); fpu_do_push(emu); ST0val = db; if (*(ptr_t*)(from_ptr((R_ESP + 8)))) to_struct_p(*(ptr_t*)(from_ptr((R_ESP + 8))), &arg_8); }
 void lFpBp_i_32(x64emu_t *emu, uintptr_t fcn) { lFpBp_i_t fn = (lFpBp_i_t)fcn; struct_p_t arg_8={0}; R_EAX = to_long(fn(from_ptriv(R_ESP + 4), *(ptr_t*)(from_ptr((R_ESP + 8))) ? &arg_8 : NULL, from_ptri(int32_t, R_ESP + 12))); if (*(ptr_t*)(from_ptr((R_ESP + 8)))) to_struct_p(*(ptr_t*)(from_ptr((R_ESP + 8))), &arg_8); }
@@ -1628,11 +1653,13 @@ void uFpCCC_32(x64emu_t *emu, uintptr_t fcn) { uFpCCC_t fn = (uFpCCC_t)fcn; R_EA
 void lFEipi_32(x64emu_t *emu, uintptr_t fcn) { lFEipi_t fn = (lFEipi_t)fcn; R_EAX = to_long(fn(emu, from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(int32_t, R_ESP + 12))); }
 void lFiipL_32(x64emu_t *emu, uintptr_t fcn) { lFiipL_t fn = (lFiipL_t)fcn; R_EAX = to_long(fn(from_ptri(int32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptriv(R_ESP + 12), to_ulong(from_ptri(ulong_t, R_ESP + 16)))); }
 void lFipLi_32(x64emu_t *emu, uintptr_t fcn) { lFipLi_t fn = (lFipLi_t)fcn; R_EAX = to_long(fn(from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8), to_ulong(from_ptri(ulong_t, R_ESP + 12)), from_ptri(int32_t, R_ESP + 16))); }
+void lFipLl_32(x64emu_t *emu, uintptr_t fcn) { lFipLl_t fn = (lFipLl_t)fcn; R_EAX = to_long(fn(from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8), to_ulong(from_ptri(ulong_t, R_ESP + 12)), to_long(from_ptri(long_t, R_ESP + 16)))); }
 void lFpuip_32(x64emu_t *emu, uintptr_t fcn) { lFpuip_t fn = (lFpuip_t)fcn; R_EAX = to_long(fn(from_ptriv(R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptriv(R_ESP + 16))); }
 void LFEXii_32(x64emu_t *emu, uintptr_t fcn) { LFEXii_t fn = (LFEXii_t)fcn; R_EAX = to_ulong(fn(emu, getDisplay(from_ptriv(R_ESP + 4)), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12))); }
 void LFpLLS_32(x64emu_t *emu, uintptr_t fcn) { LFpLLS_t fn = (LFpLLS_t)fcn; R_EAX = to_ulong(fn(from_ptriv(R_ESP + 4), to_ulong(from_ptri(ulong_t, R_ESP + 8)), to_ulong(from_ptri(ulong_t, R_ESP + 12)), io_convert32(from_ptriv(R_ESP + 16)))); }
 void LFppLp_32(x64emu_t *emu, uintptr_t fcn) { LFppLp_t fn = (LFppLp_t)fcn; R_EAX = to_ulong(fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), to_ulong(from_ptri(ulong_t, R_ESP + 12)), from_ptriv(R_ESP + 16))); }
 void LFppLa_32(x64emu_t *emu, uintptr_t fcn) { LFppLa_t fn = (LFppLa_t)fcn; R_EAX = to_ulong(fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), to_ulong(from_ptri(ulong_t, R_ESP + 12)), from_locale(from_ptri(ptr_t, R_ESP + 16)))); }
+void LFXCii_32(x64emu_t *emu, uintptr_t fcn) { LFXCii_t fn = (LFXCii_t)fcn; R_EAX = to_ulong(fn(getDisplay(from_ptriv(R_ESP + 4)), from_ptri(uint8_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16))); }
 void LFXLpi_32(x64emu_t *emu, uintptr_t fcn) { LFXLpi_t fn = (LFXLpi_t)fcn; R_EAX = to_ulong(fn(getDisplay(from_ptriv(R_ESP + 4)), to_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptriv(R_ESP + 12), from_ptri(int32_t, R_ESP + 16))); }
 void pFEupp_32(x64emu_t *emu, uintptr_t fcn) { pFEupp_t fn = (pFEupp_t)fcn; R_EAX = to_ptrv(fn(emu, from_ptri(uint32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12))); }
 void pFEppi_32(x64emu_t *emu, uintptr_t fcn) { pFEppi_t fn = (pFEppi_t)fcn; R_EAX = to_ptrv(fn(emu, from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(int32_t, R_ESP + 12))); }
@@ -1661,6 +1688,7 @@ void lFiibp_L_32(x64emu_t *emu, uintptr_t fcn) { lFiibp_L_t fn = (lFiibp_L_t)fcn
 void LFpbp_Lp_32(x64emu_t *emu, uintptr_t fcn) { LFpbp_Lp_t fn = (LFpbp_Lp_t)fcn; struct_p_t arg_8={0}; from_struct_p(&arg_8, *(ptr_t*)(from_ptr((R_ESP + 8)))); R_EAX = to_ulong(fn(from_ptriv(R_ESP + 4), *(ptr_t*)(from_ptr((R_ESP + 8))) ? &arg_8 : NULL, to_ulong(from_ptri(ulong_t, R_ESP + 12)), from_ptriv(R_ESP + 16))); if (*(ptr_t*)(from_ptr((R_ESP + 8)))) to_struct_p(*(ptr_t*)(from_ptr((R_ESP + 8))), &arg_8); }
 void iFEpprLL__32(x64emu_t *emu, uintptr_t fcn) { iFEpprLL__t fn = (iFEpprLL__t)fcn; struct_LL_t arg_12={0}; from_struct_LL(&arg_12, *(ptr_t*)(from_ptr((R_ESP + 12)))); R_EAX = fn(emu, from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), *(ptr_t*)(from_ptr((R_ESP + 12))) ? &arg_12 : NULL); }
 void vFXLrpLiL_L_32(x64emu_t *emu, uintptr_t fcn) { vFXLrpLiL_L_t fn = (vFXLrpLiL_L_t)fcn; struct_pLiL_t arg_12={0}; from_struct_pLiL(&arg_12, *(ptr_t*)(from_ptr((R_ESP + 12)))); fn(getDisplay(from_ptriv(R_ESP + 4)), to_ulong(from_ptri(ulong_t, R_ESP + 8)), *(ptr_t*)(from_ptr((R_ESP + 12))) ? &arg_12 : NULL, to_ulong(from_ptri(ulong_t, R_ESP + 16))); }
+void iFuirLL_BLL__32(x64emu_t *emu, uintptr_t fcn) { iFuirLL_BLL__t fn = (iFuirLL_BLL__t)fcn; struct_LL_t arg_12={0}; from_struct_LL(&arg_12, *(ptr_t*)(from_ptr((R_ESP + 12)))); struct_LL_t arg_16={0}; R_EAX = fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), *(ptr_t*)(from_ptr((R_ESP + 12))) ? &arg_12 : NULL, *(ptr_t*)(from_ptr((R_ESP + 16))) ? &arg_16 : NULL); if (*(ptr_t*)(from_ptr((R_ESP + 16)))) to_struct_LL(*(ptr_t*)(from_ptr((R_ESP + 16))), &arg_16); }
 void iFXLpBLWWWcc__32(x64emu_t *emu, uintptr_t fcn) { iFXLpBLWWWcc__t fn = (iFXLpBLWWWcc__t)fcn; struct_LWWWcc_t arg_16={0}; R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), to_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptriv(R_ESP + 12), *(ptr_t*)(from_ptr((R_ESP + 16))) ? &arg_16 : NULL); if (*(ptr_t*)(from_ptr((R_ESP + 16)))) to_struct_LWWWcc(*(ptr_t*)(from_ptr((R_ESP + 16))), &arg_16); }
 void LFpLpriiiiiiiiilt__32(x64emu_t *emu, uintptr_t fcn) { LFpLpriiiiiiiiilt__t fn = (LFpLpriiiiiiiiilt__t)fcn; struct_iiiiiiiiilt_t arg_16={0}; from_struct_iiiiiiiiilt(&arg_16, *(ptr_t*)(from_ptr((R_ESP + 16)))); R_EAX = to_ulong(fn(from_ptriv(R_ESP + 4), to_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptriv(R_ESP + 12), *(ptr_t*)(from_ptr((R_ESP + 16))) ? &arg_16 : NULL)); }
 void vFEuipp_32(x64emu_t *emu, uintptr_t fcn) { vFEuipp_t fn = (vFEuipp_t)fcn; fn(emu, from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16)); }
@@ -1766,6 +1794,8 @@ void iFEppiV_32(x64emu_t *emu, uintptr_t fcn) { iFEppiV_t fn = (iFEppiV_t)fcn; R
 void iFEpppi_32(x64emu_t *emu, uintptr_t fcn) { iFEpppi_t fn = (iFEpppi_t)fcn; R_EAX = fn(emu, from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12), from_ptri(int32_t, R_ESP + 16)); }
 void iFEpppp_32(x64emu_t *emu, uintptr_t fcn) { iFEpppp_t fn = (iFEpppp_t)fcn; R_EAX = fn(emu, from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16)); }
 void iFEXLpi_32(x64emu_t *emu, uintptr_t fcn) { iFEXLpi_t fn = (iFEXLpi_t)fcn; R_EAX = fn(emu, getDisplay(from_ptriv(R_ESP + 4)), to_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptriv(R_ESP + 12), from_ptri(int32_t, R_ESP + 16)); }
+void iFEXpLp_32(x64emu_t *emu, uintptr_t fcn) { iFEXpLp_t fn = (iFEXpLp_t)fcn; R_EAX = fn(emu, getDisplay(from_ptriv(R_ESP + 4)), from_ptriv(R_ESP + 8), to_ulong(from_ptri(ulong_t, R_ESP + 12)), from_ptriv(R_ESP + 16)); }
+void iFEXppp_32(x64emu_t *emu, uintptr_t fcn) { iFEXppp_t fn = (iFEXppp_t)fcn; R_EAX = fn(emu, getDisplay(from_ptriv(R_ESP + 4)), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16)); }
 void iFiiipu_32(x64emu_t *emu, uintptr_t fcn) { iFiiipu_t fn = (iFiiipu_t)fcn; R_EAX = fn(from_ptri(int32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptriv(R_ESP + 16), from_ptri(uint32_t, R_ESP + 20)); }
 void iFiiipp_32(x64emu_t *emu, uintptr_t fcn) { iFiiipp_t fn = (iFiiipp_t)fcn; R_EAX = fn(from_ptri(int32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptriv(R_ESP + 16), from_ptriv(R_ESP + 20)); }
 void iFiLLLL_32(x64emu_t *emu, uintptr_t fcn) { iFiLLLL_t fn = (iFiLLLL_t)fcn; R_EAX = fn(from_ptri(int32_t, R_ESP + 4), to_ulong(from_ptri(ulong_t, R_ESP + 8)), to_ulong(from_ptri(ulong_t, R_ESP + 12)), to_ulong(from_ptri(ulong_t, R_ESP + 16)), to_ulong(from_ptri(ulong_t, R_ESP + 20))); }
@@ -1790,6 +1820,7 @@ void pFpiiuu_32(x64emu_t *emu, uintptr_t fcn) { pFpiiuu_t fn = (pFpiiuu_t)fcn; R
 void pFpippp_32(x64emu_t *emu, uintptr_t fcn) { pFpippp_t fn = (pFpippp_t)fcn; R_EAX = to_ptrv(fn(from_ptriv(R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16), from_ptriv(R_ESP + 20))); }
 void pFppuup_32(x64emu_t *emu, uintptr_t fcn) { pFppuup_t fn = (pFppuup_t)fcn; R_EAX = to_ptrv(fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptri(uint32_t, R_ESP + 16), from_ptriv(R_ESP + 20))); }
 void pFppupp_32(x64emu_t *emu, uintptr_t fcn) { pFppupp_t fn = (pFppupp_t)fcn; R_EAX = to_ptrv(fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptriv(R_ESP + 16), from_ptriv(R_ESP + 20))); }
+void pFXpipi_32(x64emu_t *emu, uintptr_t fcn) { pFXpipi_t fn = (pFXpipi_t)fcn; R_EAX = to_ptrv(fn(getDisplay(from_ptriv(R_ESP + 4)), from_ptriv(R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptriv(R_ESP + 16), from_ptri(int32_t, R_ESP + 20))); }
 void iFEBh_ppp_32(x64emu_t *emu, uintptr_t fcn) { iFEBh_ppp_t fn = (iFEBh_ppp_t)fcn; struct_h_t arg_4={0}; R_EAX = fn(emu, *(ptr_t*)(from_ptr((R_ESP + 4))) ? &arg_4 : NULL, from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16)); if (*(ptr_t*)(from_ptr((R_ESP + 4)))) to_struct_h(*(ptr_t*)(from_ptr((R_ESP + 4))), &arg_4); }
 void LFpbp_LLp_32(x64emu_t *emu, uintptr_t fcn) { LFpbp_LLp_t fn = (LFpbp_LLp_t)fcn; struct_p_t arg_8={0}; from_struct_p(&arg_8, *(ptr_t*)(from_ptr((R_ESP + 8)))); R_EAX = to_ulong(fn(from_ptriv(R_ESP + 4), *(ptr_t*)(from_ptr((R_ESP + 8))) ? &arg_8 : NULL, to_ulong(from_ptri(ulong_t, R_ESP + 12)), to_ulong(from_ptri(ulong_t, R_ESP + 16)), from_ptriv(R_ESP + 20))); if (*(ptr_t*)(from_ptr((R_ESP + 8)))) to_struct_p(*(ptr_t*)(from_ptr((R_ESP + 8))), &arg_8); }
 void LFpBp_LLp_32(x64emu_t *emu, uintptr_t fcn) { LFpBp_LLp_t fn = (LFpBp_LLp_t)fcn; struct_p_t arg_8={0}; R_EAX = to_ulong(fn(from_ptriv(R_ESP + 4), *(ptr_t*)(from_ptr((R_ESP + 8))) ? &arg_8 : NULL, to_ulong(from_ptri(ulong_t, R_ESP + 12)), to_ulong(from_ptri(ulong_t, R_ESP + 16)), from_ptriv(R_ESP + 20))); if (*(ptr_t*)(from_ptr((R_ESP + 8)))) to_struct_p(*(ptr_t*)(from_ptr((R_ESP + 8))), &arg_8); }
@@ -1863,16 +1894,19 @@ void vFpipipV_32(x64emu_t *emu, uintptr_t fcn) { vFpipipV_t fn = (vFpipipV_t)fcn
 void vFpdddii_32(x64emu_t *emu, uintptr_t fcn) { vFpdddii_t fn = (vFpdddii_t)fcn; fn(from_ptriv(R_ESP + 4), from_ptri(double, R_ESP + 8), from_ptri(double, R_ESP + 16), from_ptri(double, R_ESP + 24), from_ptri(int32_t, R_ESP + 32), from_ptri(int32_t, R_ESP + 36)); }
 void vFppupii_32(x64emu_t *emu, uintptr_t fcn) { vFppupii_t fn = (vFppupii_t)fcn; fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptriv(R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24)); }
 void vFpppppp_32(x64emu_t *emu, uintptr_t fcn) { vFpppppp_t fn = (vFpppppp_t)fcn; fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16), from_ptriv(R_ESP + 20), from_ptriv(R_ESP + 24)); }
+void vFXLiiii_32(x64emu_t *emu, uintptr_t fcn) { vFXLiiii_t fn = (vFXLiiii_t)fcn; fn(getDisplay(from_ptriv(R_ESP + 4)), to_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24)); }
 void iFEuppup_32(x64emu_t *emu, uintptr_t fcn) { iFEuppup_t fn = (iFEuppup_t)fcn; R_EAX = fn(emu, from_ptri(uint32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12), from_ptri(uint32_t, R_ESP + 16), from_ptriv(R_ESP + 20)); }
 void iFEuppLp_32(x64emu_t *emu, uintptr_t fcn) { iFEuppLp_t fn = (iFEuppLp_t)fcn; R_EAX = fn(emu, from_ptri(uint32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12), to_ulong(from_ptri(ulong_t, R_ESP + 16)), from_ptriv(R_ESP + 20)); }
 void iFEpiLpp_32(x64emu_t *emu, uintptr_t fcn) { iFEpiLpp_t fn = (iFEpiLpp_t)fcn; R_EAX = fn(emu, from_ptriv(R_ESP + 4), from_ptri(int32_t, R_ESP + 8), to_ulong(from_ptri(ulong_t, R_ESP + 12)), from_ptriv(R_ESP + 16), from_ptriv(R_ESP + 20)); }
 void iFEpppup_32(x64emu_t *emu, uintptr_t fcn) { iFEpppup_t fn = (iFEpppup_t)fcn; R_EAX = fn(emu, from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12), from_ptri(uint32_t, R_ESP + 16), from_ptriv(R_ESP + 20)); }
 void iFEXLilp_32(x64emu_t *emu, uintptr_t fcn) { iFEXLilp_t fn = (iFEXLilp_t)fcn; R_EAX = fn(emu, getDisplay(from_ptriv(R_ESP + 4)), to_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptri(int32_t, R_ESP + 12), to_long(from_ptri(long_t, R_ESP + 16)), from_ptriv(R_ESP + 20)); }
 void iFEXpiup_32(x64emu_t *emu, uintptr_t fcn) { iFEXpiup_t fn = (iFEXpiup_t)fcn; R_EAX = fn(emu, getDisplay(from_ptriv(R_ESP + 4)), from_ptriv(R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(uint32_t, R_ESP + 16), from_ptriv(R_ESP + 20)); }
+void iFEXpppp_32(x64emu_t *emu, uintptr_t fcn) { iFEXpppp_t fn = (iFEXpppp_t)fcn; R_EAX = fn(emu, getDisplay(from_ptriv(R_ESP + 4)), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16), from_ptriv(R_ESP + 20)); }
 void iFuiiuup_32(x64emu_t *emu, uintptr_t fcn) { iFuiiuup_t fn = (iFuiiuup_t)fcn; R_EAX = fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(uint32_t, R_ESP + 16), from_ptri(uint32_t, R_ESP + 20), from_ptriv(R_ESP + 24)); }
 void iFpiippp_32(x64emu_t *emu, uintptr_t fcn) { iFpiippp_t fn = (iFpiippp_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptriv(R_ESP + 16), from_ptriv(R_ESP + 20), from_ptriv(R_ESP + 24)); }
 void iFppiiii_32(x64emu_t *emu, uintptr_t fcn) { iFppiiii_t fn = (iFppiiii_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24)); }
 void iFXLiiiL_32(x64emu_t *emu, uintptr_t fcn) { iFXLiiiL_t fn = (iFXLiiiL_t)fcn; R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), to_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), to_ulong(from_ptri(ulong_t, R_ESP + 24))); }
+void iFXLpppp_32(x64emu_t *emu, uintptr_t fcn) { iFXLpppp_t fn = (iFXLpppp_t)fcn; R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), to_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16), from_ptriv(R_ESP + 20), from_ptriv(R_ESP + 24)); }
 void iFXpIppp_32(x64emu_t *emu, uintptr_t fcn) { iFXpIppp_t fn = (iFXpIppp_t)fcn; R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), from_ptriv(R_ESP + 8), from_ptri(int64_t, R_ESP + 12), from_ptriv(R_ESP + 20), from_ptriv(R_ESP + 24), from_ptriv(R_ESP + 28)); }
 void uFupuufp_32(x64emu_t *emu, uintptr_t fcn) { uFupuufp_t fn = (uFupuufp_t)fcn; R_EAX = (uint32_t)fn(from_ptri(uint32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptri(uint32_t, R_ESP + 16), from_ptri(float, R_ESP + 20), from_ptriv(R_ESP + 24)); }
 void lFipLipu_32(x64emu_t *emu, uintptr_t fcn) { lFipLipu_t fn = (lFipLipu_t)fcn; R_EAX = to_long(fn(from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8), to_ulong(from_ptri(ulong_t, R_ESP + 12)), from_ptri(int32_t, R_ESP + 16), from_ptriv(R_ESP + 20), from_ptri(uint32_t, R_ESP + 24))); }
@@ -1933,6 +1967,7 @@ void vFlliiiip_32(x64emu_t *emu, uintptr_t fcn) { vFlliiiip_t fn = (vFlliiiip_t)
 void vFpipipiu_32(x64emu_t *emu, uintptr_t fcn) { vFpipipiu_t fn = (vFpipipiu_t)fcn; fn(from_ptriv(R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptriv(R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptriv(R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptri(uint32_t, R_ESP + 28)); }
 void vFpddiidd_32(x64emu_t *emu, uintptr_t fcn) { vFpddiidd_t fn = (vFpddiidd_t)fcn; fn(from_ptriv(R_ESP + 4), from_ptri(double, R_ESP + 8), from_ptri(double, R_ESP + 16), from_ptri(int32_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28), from_ptri(double, R_ESP + 32), from_ptri(double, R_ESP + 40)); }
 void iFEpLiipV_32(x64emu_t *emu, uintptr_t fcn) { iFEpLiipV_t fn = (iFEpLiipV_t)fcn; R_EAX = fn(emu, from_ptriv(R_ESP + 4), to_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptriv(R_ESP + 20), from_ptrv(R_ESP + 24)); }
+void iFEXLpppp_32(x64emu_t *emu, uintptr_t fcn) { iFEXLpppp_t fn = (iFEXLpppp_t)fcn; R_EAX = fn(emu, getDisplay(from_ptriv(R_ESP + 4)), to_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16), from_ptriv(R_ESP + 20), from_ptriv(R_ESP + 24)); }
 void iFuiiiuup_32(x64emu_t *emu, uintptr_t fcn) { iFuiiiuup_t fn = (iFuiiiuup_t)fcn; R_EAX = fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(uint32_t, R_ESP + 20), from_ptri(uint32_t, R_ESP + 24), from_ptriv(R_ESP + 28)); }
 void iFpWCiWCi_32(x64emu_t *emu, uintptr_t fcn) { iFpWCiWCi_t fn = (iFpWCiWCi_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptri(uint16_t, R_ESP + 8), from_ptri(uint8_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(uint16_t, R_ESP + 20), from_ptri(uint8_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28)); }
 void iFpupLpLi_32(x64emu_t *emu, uintptr_t fcn) { iFpupLpLi_t fn = (iFpupLpLi_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptriv(R_ESP + 12), to_ulong(from_ptri(ulong_t, R_ESP + 16)), from_ptriv(R_ESP + 20), to_ulong(from_ptri(ulong_t, R_ESP + 24)), from_ptri(int32_t, R_ESP + 28)); }
@@ -1976,6 +2011,7 @@ void uFuipppppp_32(x64emu_t *emu, uintptr_t fcn) { uFuipppppp_t fn = (uFuipppppp
 void uFuupuuiuf_32(x64emu_t *emu, uintptr_t fcn) { uFuupuuiuf_t fn = (uFuupuuiuf_t)fcn; R_EAX = (uint32_t)fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptriv(R_ESP + 12), from_ptri(uint32_t, R_ESP + 16), from_ptri(uint32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptri(uint32_t, R_ESP + 28), from_ptri(float, R_ESP + 32)); }
 void uFulpppppp_32(x64emu_t *emu, uintptr_t fcn) { uFulpppppp_t fn = (uFulpppppp_t)fcn; R_EAX = (uint32_t)fn(from_ptri(uint32_t, R_ESP + 4), to_long(from_ptri(long_t, R_ESP + 8)), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16), from_ptriv(R_ESP + 20), from_ptriv(R_ESP + 24), from_ptriv(R_ESP + 28), from_ptriv(R_ESP + 32)); }
 void LFXLpuuLLu_32(x64emu_t *emu, uintptr_t fcn) { LFXLpuuLLu_t fn = (LFXLpuuLLu_t)fcn; R_EAX = to_ulong(fn(getDisplay(from_ptriv(R_ESP + 4)), to_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptriv(R_ESP + 12), from_ptri(uint32_t, R_ESP + 16), from_ptri(uint32_t, R_ESP + 20), to_ulong(from_ptri(ulong_t, R_ESP + 24)), to_ulong(from_ptri(ulong_t, R_ESP + 28)), from_ptri(uint32_t, R_ESP + 32))); }
+void iFXLLiippBL__32(x64emu_t *emu, uintptr_t fcn) { iFXLLiippBL__t fn = (iFXLLiippBL__t)fcn; struct_L_t arg_32={0}; R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), to_ulong(from_ptri(ulong_t, R_ESP + 8)), to_ulong(from_ptri(ulong_t, R_ESP + 12)), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptriv(R_ESP + 24), from_ptriv(R_ESP + 28), *(ptr_t*)(from_ptr((R_ESP + 32))) ? &arg_32 : NULL); if (*(ptr_t*)(from_ptr((R_ESP + 32)))) to_struct_L(*(ptr_t*)(from_ptr((R_ESP + 32))), &arg_32); }
 void vFiiiiiiiii_32(x64emu_t *emu, uintptr_t fcn) { vFiiiiiiiii_t fn = (vFiiiiiiiii_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28), from_ptri(int32_t, R_ESP + 32), from_ptri(int32_t, R_ESP + 36)); }
 void vFiiiiiiill_32(x64emu_t *emu, uintptr_t fcn) { vFiiiiiiill_t fn = (vFiiiiiiill_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28), to_long(from_ptri(long_t, R_ESP + 32)), to_long(from_ptri(long_t, R_ESP + 36))); }
 void vFiiiiillli_32(x64emu_t *emu, uintptr_t fcn) { vFiiiiillli_t fn = (vFiiiiillli_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), to_long(from_ptri(long_t, R_ESP + 24)), to_long(from_ptri(long_t, R_ESP + 28)), to_long(from_ptri(long_t, R_ESP + 32)), from_ptri(int32_t, R_ESP + 36)); }
@@ -2029,6 +2065,7 @@ void vFuddiiddiip_32(x64emu_t *emu, uintptr_t fcn) { vFuddiiddiip_t fn = (vFuddi
 void vFffffffffff_32(x64emu_t *emu, uintptr_t fcn) { vFffffffffff_t fn = (vFffffffffff_t)fcn; fn(from_ptri(float, R_ESP + 4), from_ptri(float, R_ESP + 8), from_ptri(float, R_ESP + 12), from_ptri(float, R_ESP + 16), from_ptri(float, R_ESP + 20), from_ptri(float, R_ESP + 24), from_ptri(float, R_ESP + 28), from_ptri(float, R_ESP + 32), from_ptri(float, R_ESP + 36), from_ptri(float, R_ESP + 40)); }
 void iFuiiiuuiiip_32(x64emu_t *emu, uintptr_t fcn) { iFuiiiuuiiip_t fn = (iFuiiiuuiiip_t)fcn; R_EAX = fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(uint32_t, R_ESP + 20), from_ptri(uint32_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28), from_ptri(int32_t, R_ESP + 32), from_ptri(int32_t, R_ESP + 36), from_ptriv(R_ESP + 40)); }
 void iFXuuLiuiiLL_32(x64emu_t *emu, uintptr_t fcn) { iFXuuLiuiiLL_t fn = (iFXuuLiuiiLL_t)fcn; R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), from_ptri(uint32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), to_ulong(from_ptri(ulong_t, R_ESP + 16)), from_ptri(int32_t, R_ESP + 20), from_ptri(uint32_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28), from_ptri(int32_t, R_ESP + 32), to_ulong(from_ptri(ulong_t, R_ESP + 36)), to_ulong(from_ptri(ulong_t, R_ESP + 40))); }
+void pFpppppppppp_32(x64emu_t *emu, uintptr_t fcn) { pFpppppppppp_t fn = (pFpppppppppp_t)fcn; R_EAX = to_ptrv(fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16), from_ptriv(R_ESP + 20), from_ptriv(R_ESP + 24), from_ptriv(R_ESP + 28), from_ptriv(R_ESP + 32), from_ptriv(R_ESP + 36), from_ptriv(R_ESP + 40))); }
 void pFXpuiipuuii_32(x64emu_t *emu, uintptr_t fcn) { pFXpuiipuuii_t fn = (pFXpuiipuuii_t)fcn; R_EAX = to_ptrv(fn(getDisplay(from_ptriv(R_ESP + 4)), from_ptriv(R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptriv(R_ESP + 24), from_ptri(uint32_t, R_ESP + 28), from_ptri(uint32_t, R_ESP + 32), from_ptri(int32_t, R_ESP + 36), from_ptri(int32_t, R_ESP + 40))); }
 void vFiiiiillliip_32(x64emu_t *emu, uintptr_t fcn) { vFiiiiillliip_t fn = (vFiiiiillliip_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), to_long(from_ptri(long_t, R_ESP + 24)), to_long(from_ptri(long_t, R_ESP + 28)), to_long(from_ptri(long_t, R_ESP + 32)), from_ptri(int32_t, R_ESP + 36), from_ptri(int32_t, R_ESP + 40), from_ptriv(R_ESP + 44)); }
 void vFiiiiilllilp_32(x64emu_t *emu, uintptr_t fcn) { vFiiiiilllilp_t fn = (vFiiiiilllilp_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), to_long(from_ptri(long_t, R_ESP + 24)), to_long(from_ptri(long_t, R_ESP + 28)), to_long(from_ptri(long_t, R_ESP + 32)), from_ptri(int32_t, R_ESP + 36), to_long(from_ptri(long_t, R_ESP + 40)), from_ptriv(R_ESP + 44)); }
@@ -2046,6 +2083,7 @@ void vFuffffffffff_32(x64emu_t *emu, uintptr_t fcn) { vFuffffffffff_t fn = (vFuf
 void vFUufffffffff_32(x64emu_t *emu, uintptr_t fcn) { vFUufffffffff_t fn = (vFUufffffffff_t)fcn; fn(from_ptri(uint64_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 12), from_ptri(float, R_ESP + 16), from_ptri(float, R_ESP + 20), from_ptri(float, R_ESP + 24), from_ptri(float, R_ESP + 28), from_ptri(float, R_ESP + 32), from_ptri(float, R_ESP + 36), from_ptri(float, R_ESP + 40), from_ptri(float, R_ESP + 44), from_ptri(float, R_ESP + 48)); }
 void vFpipipiipiiu_32(x64emu_t *emu, uintptr_t fcn) { vFpipipiipiiu_t fn = (vFpipipiipiiu_t)fcn; fn(from_ptriv(R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptriv(R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptriv(R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28), from_ptriv(R_ESP + 32), from_ptri(int32_t, R_ESP + 36), from_ptri(int32_t, R_ESP + 40), from_ptri(uint32_t, R_ESP + 44)); }
 void iFEXLppiiiiuu_32(x64emu_t *emu, uintptr_t fcn) { iFEXLppiiiiuu_t fn = (iFEXLppiiiiuu_t)fcn; R_EAX = fn(emu, getDisplay(from_ptriv(R_ESP + 4)), to_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28), from_ptri(int32_t, R_ESP + 32), from_ptri(uint32_t, R_ESP + 36), from_ptri(uint32_t, R_ESP + 40)); }
+void iFEXpLLiiLWpi_32(x64emu_t *emu, uintptr_t fcn) { iFEXpLLiiLWpi_t fn = (iFEXpLLiiLWpi_t)fcn; R_EAX = fn(emu, getDisplay(from_ptriv(R_ESP + 4)), from_ptriv(R_ESP + 8), to_ulong(from_ptri(ulong_t, R_ESP + 12)), to_ulong(from_ptri(ulong_t, R_ESP + 16)), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), to_ulong(from_ptri(ulong_t, R_ESP + 28)), from_ptri(uint16_t, R_ESP + 32), from_ptriv(R_ESP + 36), from_ptri(int32_t, R_ESP + 40)); }
 void iFuiiiiuuiiip_32(x64emu_t *emu, uintptr_t fcn) { iFuiiiiuuiiip_t fn = (iFuiiiiuuiiip_t)fcn; R_EAX = fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(uint32_t, R_ESP + 24), from_ptri(uint32_t, R_ESP + 28), from_ptri(int32_t, R_ESP + 32), from_ptri(int32_t, R_ESP + 36), from_ptri(int32_t, R_ESP + 40), from_ptriv(R_ESP + 44)); }
 void pFEXpuiipuuii_32(x64emu_t *emu, uintptr_t fcn) { pFEXpuiipuuii_t fn = (pFEXpuiipuuii_t)fcn; R_EAX = to_ptrv(fn(emu, getDisplay(from_ptriv(R_ESP + 4)), from_ptriv(R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptriv(R_ESP + 24), from_ptri(uint32_t, R_ESP + 28), from_ptri(uint32_t, R_ESP + 32), from_ptri(int32_t, R_ESP + 36), from_ptri(int32_t, R_ESP + 40))); }
 void vFuiiiiiiiiuUC_32(x64emu_t *emu, uintptr_t fcn) { vFuiiiiiiiiuUC_t fn = (vFuiiiiiiiiuUC_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28), from_ptri(int32_t, R_ESP + 32), from_ptri(int32_t, R_ESP + 36), from_ptri(uint32_t, R_ESP + 40), from_ptri(uint64_t, R_ESP + 44), from_ptri(uint8_t, R_ESP + 52)); }
@@ -2056,6 +2094,7 @@ void vFuuiiiiiiiuup_32(x64emu_t *emu, uintptr_t fcn) { vFuuiiiiiiiuup_t fn = (vF
 void vFuuuuuuuuuuuu_32(x64emu_t *emu, uintptr_t fcn) { vFuuuuuuuuuuuu_t fn = (vFuuuuuuuuuuuu_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptri(uint32_t, R_ESP + 16), from_ptri(uint32_t, R_ESP + 20), from_ptri(uint32_t, R_ESP + 24), from_ptri(uint32_t, R_ESP + 28), from_ptri(uint32_t, R_ESP + 32), from_ptri(uint32_t, R_ESP + 36), from_ptri(uint32_t, R_ESP + 40), from_ptri(uint32_t, R_ESP + 44), from_ptri(uint32_t, R_ESP + 48)); }
 void vFffffffffffff_32(x64emu_t *emu, uintptr_t fcn) { vFffffffffffff_t fn = (vFffffffffffff_t)fcn; fn(from_ptri(float, R_ESP + 4), from_ptri(float, R_ESP + 8), from_ptri(float, R_ESP + 12), from_ptri(float, R_ESP + 16), from_ptri(float, R_ESP + 20), from_ptri(float, R_ESP + 24), from_ptri(float, R_ESP + 28), from_ptri(float, R_ESP + 32), from_ptri(float, R_ESP + 36), from_ptri(float, R_ESP + 40), from_ptri(float, R_ESP + 44), from_ptri(float, R_ESP + 48)); }
 void pFEXLiiuuLipii_32(x64emu_t *emu, uintptr_t fcn) { pFEXLiiuuLipii_t fn = (pFEXLiiuuLipii_t)fcn; R_EAX = to_ptrv(fn(emu, getDisplay(from_ptriv(R_ESP + 4)), to_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(uint32_t, R_ESP + 20), from_ptri(uint32_t, R_ESP + 24), to_ulong(from_ptri(ulong_t, R_ESP + 28)), from_ptri(int32_t, R_ESP + 32), from_ptriv(R_ESP + 36), from_ptri(int32_t, R_ESP + 40), from_ptri(int32_t, R_ESP + 44))); }
+void iFXLLlliLBL_pBL_BL_Bp__32(x64emu_t *emu, uintptr_t fcn) { iFXLLlliLBL_pBL_BL_Bp__t fn = (iFXLLlliLBL_pBL_BL_Bp__t)fcn; struct_L_t arg_32={0}; struct_L_t arg_40={0}; struct_L_t arg_44={0}; struct_p_t arg_48={0}; R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), to_ulong(from_ptri(ulong_t, R_ESP + 8)), to_ulong(from_ptri(ulong_t, R_ESP + 12)), to_long(from_ptri(long_t, R_ESP + 16)), to_long(from_ptri(long_t, R_ESP + 20)), from_ptri(int32_t, R_ESP + 24), to_ulong(from_ptri(ulong_t, R_ESP + 28)), *(ptr_t*)(from_ptr((R_ESP + 32))) ? &arg_32 : NULL, from_ptriv(R_ESP + 36), *(ptr_t*)(from_ptr((R_ESP + 40))) ? &arg_40 : NULL, *(ptr_t*)(from_ptr((R_ESP + 44))) ? &arg_44 : NULL, *(ptr_t*)(from_ptr((R_ESP + 48))) ? &arg_48 : NULL); if (*(ptr_t*)(from_ptr((R_ESP + 32)))) to_struct_L(*(ptr_t*)(from_ptr((R_ESP + 32))), &arg_32); if (*(ptr_t*)(from_ptr((R_ESP + 40)))) to_struct_L(*(ptr_t*)(from_ptr((R_ESP + 40))), &arg_40); if (*(ptr_t*)(from_ptr((R_ESP + 44)))) to_struct_L(*(ptr_t*)(from_ptr((R_ESP + 44))), &arg_44); if (*(ptr_t*)(from_ptr((R_ESP + 48)))) to_struct_p(*(ptr_t*)(from_ptr((R_ESP + 48))), &arg_48); }
 void vFuiiiiiiiiiuup_32(x64emu_t *emu, uintptr_t fcn) { vFuiiiiiiiiiuup_t fn = (vFuiiiiiiiiiuup_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28), from_ptri(int32_t, R_ESP + 32), from_ptri(int32_t, R_ESP + 36), from_ptri(int32_t, R_ESP + 40), from_ptri(uint32_t, R_ESP + 44), from_ptri(uint32_t, R_ESP + 48), from_ptriv(R_ESP + 52)); }
 void vFuuuuuuuuuuuuu_32(x64emu_t *emu, uintptr_t fcn) { vFuuuuuuuuuuuuu_t fn = (vFuuuuuuuuuuuuu_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptri(uint32_t, R_ESP + 16), from_ptri(uint32_t, R_ESP + 20), from_ptri(uint32_t, R_ESP + 24), from_ptri(uint32_t, R_ESP + 28), from_ptri(uint32_t, R_ESP + 32), from_ptri(uint32_t, R_ESP + 36), from_ptri(uint32_t, R_ESP + 40), from_ptri(uint32_t, R_ESP + 44), from_ptri(uint32_t, R_ESP + 48), from_ptri(uint32_t, R_ESP + 52)); }
 void vFuUuuuuuuuuuuu_32(x64emu_t *emu, uintptr_t fcn) { vFuUuuuuuuuuuuu_t fn = (vFuUuuuuuuuuuuu_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint64_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 16), from_ptri(uint32_t, R_ESP + 20), from_ptri(uint32_t, R_ESP + 24), from_ptri(uint32_t, R_ESP + 28), from_ptri(uint32_t, R_ESP + 32), from_ptri(uint32_t, R_ESP + 36), from_ptri(uint32_t, R_ESP + 40), from_ptri(uint32_t, R_ESP + 44), from_ptri(uint32_t, R_ESP + 48), from_ptri(uint32_t, R_ESP + 52), from_ptri(uint32_t, R_ESP + 56)); }
@@ -2123,9 +2162,9 @@ int isRetX87Wrapper32(wrapper_t fun) {
 	if (fun == &fFuii_32) return 1;
 	if (fun == &fFfff_32) return 1;
 	if (fun == &fFffp_32) return 1;
-	if (fun == &fFppa_32) return 1;
 	if (fun == &dFddd_32) return 1;
 	if (fun == &dFddp_32) return 1;
+	if (fun == &fFpBp_a_32) return 1;
 	if (fun == &dFpBp_i_32) return 1;
 	if (fun == &dFpBp_a_32) return 1;
 #if defined(HAVE_LD80BITS)
diff --git a/src/wrapped32/generated/wrapper32.h b/src/wrapped32/generated/wrapper32.h
index 5991410c..7abb23b4 100644
--- a/src/wrapped32/generated/wrapper32.h
+++ b/src/wrapped32/generated/wrapper32.h
@@ -111,6 +111,7 @@ void aFa_32(x64emu_t *emu, uintptr_t fnc);
 void tFi_32(x64emu_t *emu, uintptr_t fnc);
 void tFu_32(x64emu_t *emu, uintptr_t fnc);
 void tFp_32(x64emu_t *emu, uintptr_t fnc);
+void XFv_32(x64emu_t *emu, uintptr_t fnc);
 void iFBp__32(x64emu_t *emu, uintptr_t fnc);
 void LFrL__32(x64emu_t *emu, uintptr_t fnc);
 void pFrL__32(x64emu_t *emu, uintptr_t fnc);
@@ -313,6 +314,7 @@ void vFlii_32(x64emu_t *emu, uintptr_t fnc);
 void vFlip_32(x64emu_t *emu, uintptr_t fnc);
 void vFllp_32(x64emu_t *emu, uintptr_t fnc);
 void vFlpp_32(x64emu_t *emu, uintptr_t fnc);
+void vFpii_32(x64emu_t *emu, uintptr_t fnc);
 void vFpip_32(x64emu_t *emu, uintptr_t fnc);
 void vFpuU_32(x64emu_t *emu, uintptr_t fnc);
 void vFpuf_32(x64emu_t *emu, uintptr_t fnc);
@@ -360,6 +362,7 @@ void iFpuC_32(x64emu_t *emu, uintptr_t fnc);
 void iFpuu_32(x64emu_t *emu, uintptr_t fnc);
 void iFpuU_32(x64emu_t *emu, uintptr_t fnc);
 void iFpLi_32(x64emu_t *emu, uintptr_t fnc);
+void iFpLp_32(x64emu_t *emu, uintptr_t fnc);
 void iFppi_32(x64emu_t *emu, uintptr_t fnc);
 void iFppu_32(x64emu_t *emu, uintptr_t fnc);
 void iFppL_32(x64emu_t *emu, uintptr_t fnc);
@@ -373,6 +376,7 @@ void iFSIi_32(x64emu_t *emu, uintptr_t fnc);
 void iFSli_32(x64emu_t *emu, uintptr_t fnc);
 void iFXip_32(x64emu_t *emu, uintptr_t fnc);
 void iFXuu_32(x64emu_t *emu, uintptr_t fnc);
+void iFXLl_32(x64emu_t *emu, uintptr_t fnc);
 void iFXLL_32(x64emu_t *emu, uintptr_t fnc);
 void iFXLp_32(x64emu_t *emu, uintptr_t fnc);
 void iFXpu_32(x64emu_t *emu, uintptr_t fnc);
@@ -391,7 +395,6 @@ void uFpuU_32(x64emu_t *emu, uintptr_t fnc);
 void fFuii_32(x64emu_t *emu, uintptr_t fnc);
 void fFfff_32(x64emu_t *emu, uintptr_t fnc);
 void fFffp_32(x64emu_t *emu, uintptr_t fnc);
-void fFppa_32(x64emu_t *emu, uintptr_t fnc);
 void dFddd_32(x64emu_t *emu, uintptr_t fnc);
 void dFddp_32(x64emu_t *emu, uintptr_t fnc);
 void lFipL_32(x64emu_t *emu, uintptr_t fnc);
@@ -410,6 +413,7 @@ void pFEpV_32(x64emu_t *emu, uintptr_t fnc);
 void pFEXL_32(x64emu_t *emu, uintptr_t fnc);
 void pFEXp_32(x64emu_t *emu, uintptr_t fnc);
 void pFipi_32(x64emu_t *emu, uintptr_t fnc);
+void pFipL_32(x64emu_t *emu, uintptr_t fnc);
 void pFulu_32(x64emu_t *emu, uintptr_t fnc);
 void pFpii_32(x64emu_t *emu, uintptr_t fnc);
 void pFpiL_32(x64emu_t *emu, uintptr_t fnc);
@@ -432,6 +436,7 @@ void iFBp_LL_32(x64emu_t *emu, uintptr_t fnc);
 void iFBp_pi_32(x64emu_t *emu, uintptr_t fnc);
 void IFpBp_i_32(x64emu_t *emu, uintptr_t fnc);
 void UFpBp_i_32(x64emu_t *emu, uintptr_t fnc);
+void fFpBp_a_32(x64emu_t *emu, uintptr_t fnc);
 void dFpBp_i_32(x64emu_t *emu, uintptr_t fnc);
 void dFpBp_a_32(x64emu_t *emu, uintptr_t fnc);
 void lFpBp_i_32(x64emu_t *emu, uintptr_t fnc);
@@ -579,11 +584,13 @@ void uFpCCC_32(x64emu_t *emu, uintptr_t fnc);
 void lFEipi_32(x64emu_t *emu, uintptr_t fnc);
 void lFiipL_32(x64emu_t *emu, uintptr_t fnc);
 void lFipLi_32(x64emu_t *emu, uintptr_t fnc);
+void lFipLl_32(x64emu_t *emu, uintptr_t fnc);
 void lFpuip_32(x64emu_t *emu, uintptr_t fnc);
 void LFEXii_32(x64emu_t *emu, uintptr_t fnc);
 void LFpLLS_32(x64emu_t *emu, uintptr_t fnc);
 void LFppLp_32(x64emu_t *emu, uintptr_t fnc);
 void LFppLa_32(x64emu_t *emu, uintptr_t fnc);
+void LFXCii_32(x64emu_t *emu, uintptr_t fnc);
 void LFXLpi_32(x64emu_t *emu, uintptr_t fnc);
 void pFEupp_32(x64emu_t *emu, uintptr_t fnc);
 void pFEppi_32(x64emu_t *emu, uintptr_t fnc);
@@ -612,6 +619,7 @@ void lFiibp_L_32(x64emu_t *emu, uintptr_t fnc);
 void LFpbp_Lp_32(x64emu_t *emu, uintptr_t fnc);
 void iFEpprLL__32(x64emu_t *emu, uintptr_t fnc);
 void vFXLrpLiL_L_32(x64emu_t *emu, uintptr_t fnc);
+void iFuirLL_BLL__32(x64emu_t *emu, uintptr_t fnc);
 void iFXLpBLWWWcc__32(x64emu_t *emu, uintptr_t fnc);
 void LFpLpriiiiiiiiilt__32(x64emu_t *emu, uintptr_t fnc);
 void vFEuipp_32(x64emu_t *emu, uintptr_t fnc);
@@ -717,6 +725,8 @@ void iFEppiV_32(x64emu_t *emu, uintptr_t fnc);
 void iFEpppi_32(x64emu_t *emu, uintptr_t fnc);
 void iFEpppp_32(x64emu_t *emu, uintptr_t fnc);
 void iFEXLpi_32(x64emu_t *emu, uintptr_t fnc);
+void iFEXpLp_32(x64emu_t *emu, uintptr_t fnc);
+void iFEXppp_32(x64emu_t *emu, uintptr_t fnc);
 void iFiiipu_32(x64emu_t *emu, uintptr_t fnc);
 void iFiiipp_32(x64emu_t *emu, uintptr_t fnc);
 void iFiLLLL_32(x64emu_t *emu, uintptr_t fnc);
@@ -741,6 +751,7 @@ void pFpiiuu_32(x64emu_t *emu, uintptr_t fnc);
 void pFpippp_32(x64emu_t *emu, uintptr_t fnc);
 void pFppuup_32(x64emu_t *emu, uintptr_t fnc);
 void pFppupp_32(x64emu_t *emu, uintptr_t fnc);
+void pFXpipi_32(x64emu_t *emu, uintptr_t fnc);
 void iFEBh_ppp_32(x64emu_t *emu, uintptr_t fnc);
 void LFpbp_LLp_32(x64emu_t *emu, uintptr_t fnc);
 void LFpBp_LLp_32(x64emu_t *emu, uintptr_t fnc);
@@ -814,16 +825,19 @@ void vFpipipV_32(x64emu_t *emu, uintptr_t fnc);
 void vFpdddii_32(x64emu_t *emu, uintptr_t fnc);
 void vFppupii_32(x64emu_t *emu, uintptr_t fnc);
 void vFpppppp_32(x64emu_t *emu, uintptr_t fnc);
+void vFXLiiii_32(x64emu_t *emu, uintptr_t fnc);
 void iFEuppup_32(x64emu_t *emu, uintptr_t fnc);
 void iFEuppLp_32(x64emu_t *emu, uintptr_t fnc);
 void iFEpiLpp_32(x64emu_t *emu, uintptr_t fnc);
 void iFEpppup_32(x64emu_t *emu, uintptr_t fnc);
 void iFEXLilp_32(x64emu_t *emu, uintptr_t fnc);
 void iFEXpiup_32(x64emu_t *emu, uintptr_t fnc);
+void iFEXpppp_32(x64emu_t *emu, uintptr_t fnc);
 void iFuiiuup_32(x64emu_t *emu, uintptr_t fnc);
 void iFpiippp_32(x64emu_t *emu, uintptr_t fnc);
 void iFppiiii_32(x64emu_t *emu, uintptr_t fnc);
 void iFXLiiiL_32(x64emu_t *emu, uintptr_t fnc);
+void iFXLpppp_32(x64emu_t *emu, uintptr_t fnc);
 void iFXpIppp_32(x64emu_t *emu, uintptr_t fnc);
 void uFupuufp_32(x64emu_t *emu, uintptr_t fnc);
 void lFipLipu_32(x64emu_t *emu, uintptr_t fnc);
@@ -884,6 +898,7 @@ void vFlliiiip_32(x64emu_t *emu, uintptr_t fnc);
 void vFpipipiu_32(x64emu_t *emu, uintptr_t fnc);
 void vFpddiidd_32(x64emu_t *emu, uintptr_t fnc);
 void iFEpLiipV_32(x64emu_t *emu, uintptr_t fnc);
+void iFEXLpppp_32(x64emu_t *emu, uintptr_t fnc);
 void iFuiiiuup_32(x64emu_t *emu, uintptr_t fnc);
 void iFpWCiWCi_32(x64emu_t *emu, uintptr_t fnc);
 void iFpupLpLi_32(x64emu_t *emu, uintptr_t fnc);
@@ -927,6 +942,7 @@ void uFuipppppp_32(x64emu_t *emu, uintptr_t fnc);
 void uFuupuuiuf_32(x64emu_t *emu, uintptr_t fnc);
 void uFulpppppp_32(x64emu_t *emu, uintptr_t fnc);
 void LFXLpuuLLu_32(x64emu_t *emu, uintptr_t fnc);
+void iFXLLiippBL__32(x64emu_t *emu, uintptr_t fnc);
 void vFiiiiiiiii_32(x64emu_t *emu, uintptr_t fnc);
 void vFiiiiiiill_32(x64emu_t *emu, uintptr_t fnc);
 void vFiiiiillli_32(x64emu_t *emu, uintptr_t fnc);
@@ -980,6 +996,7 @@ void vFuddiiddiip_32(x64emu_t *emu, uintptr_t fnc);
 void vFffffffffff_32(x64emu_t *emu, uintptr_t fnc);
 void iFuiiiuuiiip_32(x64emu_t *emu, uintptr_t fnc);
 void iFXuuLiuiiLL_32(x64emu_t *emu, uintptr_t fnc);
+void pFpppppppppp_32(x64emu_t *emu, uintptr_t fnc);
 void pFXpuiipuuii_32(x64emu_t *emu, uintptr_t fnc);
 void vFiiiiillliip_32(x64emu_t *emu, uintptr_t fnc);
 void vFiiiiilllilp_32(x64emu_t *emu, uintptr_t fnc);
@@ -997,6 +1014,7 @@ void vFuffffffffff_32(x64emu_t *emu, uintptr_t fnc);
 void vFUufffffffff_32(x64emu_t *emu, uintptr_t fnc);
 void vFpipipiipiiu_32(x64emu_t *emu, uintptr_t fnc);
 void iFEXLppiiiiuu_32(x64emu_t *emu, uintptr_t fnc);
+void iFEXpLLiiLWpi_32(x64emu_t *emu, uintptr_t fnc);
 void iFuiiiiuuiiip_32(x64emu_t *emu, uintptr_t fnc);
 void pFEXpuiipuuii_32(x64emu_t *emu, uintptr_t fnc);
 void vFuiiiiiiiiuUC_32(x64emu_t *emu, uintptr_t fnc);
@@ -1007,6 +1025,7 @@ void vFuuiiiiiiiuup_32(x64emu_t *emu, uintptr_t fnc);
 void vFuuuuuuuuuuuu_32(x64emu_t *emu, uintptr_t fnc);
 void vFffffffffffff_32(x64emu_t *emu, uintptr_t fnc);
 void pFEXLiiuuLipii_32(x64emu_t *emu, uintptr_t fnc);
+void iFXLLlliLBL_pBL_BL_Bp__32(x64emu_t *emu, uintptr_t fnc);
 void vFuiiiiiiiiiuup_32(x64emu_t *emu, uintptr_t fnc);
 void vFuuuuuuuuuuuuu_32(x64emu_t *emu, uintptr_t fnc);
 void vFuUuuuuuuuuuuu_32(x64emu_t *emu, uintptr_t fnc);
diff --git a/src/wrapped32/wrappedlibc_private.h b/src/wrapped32/wrappedlibc_private.h
index 57d51eeb..c41355be 100755
--- a/src/wrapped32/wrappedlibc_private.h
+++ b/src/wrapped32/wrappedlibc_private.h
@@ -702,7 +702,7 @@ GO(inet_pton, iFipp)
 //GOW(initstate_r, iFupup)
 // inl  // Weak
 // innetgr
-//GO(inotify_add_watch, iFipu)
+GO(inotify_add_watch, iFipu)
 GO(inotify_init, iFv)
 GO(inotify_init1, iFi)
 GO(inotify_rm_watch, iFii)
@@ -1102,10 +1102,10 @@ GO(__mempcpy, pFppL)
 GOW(memrchr, pFpiL)
 GO(memset, pFpiL)
 GO(__memset_chk, pFpiLL)
-//GO(mincore, iFpLp)
+GO(mincore, iFpLp)
 GOW(mkdir, iFpu)
 //GO(mkdirat, iFipu)
-//GO(mkdtemp, pFp)
+GO(mkdtemp, pFp)
 GO(mkfifo, iFpu)
 //GO(mkfifoat, iFipu)
 //GO(mkostemp, iFpi)
@@ -1135,7 +1135,7 @@ GOWM(mremap, pFEpLLiN)	//%% 5th hidden paramerer "void* new_addr" if flags is MR
 //GOW(msgget, iFpi)
 //GOW(msgrcv, lFipLli)
 //GOW(msgsnd, iFipLi)
-//GOW(msync, iFpLi)
+GOW(msync, iFpLi)
 // mtrace
 GO(munlock, iFpL)
 //GO(munlockall, iFv)
@@ -1209,7 +1209,7 @@ GOWM(open64, iFEpOu)  //%%
 //GO(__openat64_2, iFipON)
 // __open_catalog
 GOW(opendir, pFp)
-//GO(openlog, vFpii)
+GO(openlog, vFpii)
 // open_memstream
 // open_wmemstream
 //DATAB(optarg, 4)
@@ -1269,7 +1269,7 @@ GOW(posix_memalign, iFBp_LL)
 //GOM(posix_spawnp, iFEpppppp) //%%
 //GO(ppoll, iFpupp)
 GOW(prctl, iFiLLLL)
-//GOW(pread, lFipLl)
+GOW(pread, lFipLl)
 //GOW(pread64, lFipLI)
 // __pread64    // Weak
 // __pread64_chk
@@ -1432,9 +1432,9 @@ GOM(scandir, iFEpppp) //%%
 GOM(scandir64, iFEpppp) //%%
 //GO2(scanf, iFpp, vscanf)
 //GO(__sched_cpualloc, pFu)   //TODO: check, return cpu_set_t* : should this be aligned/changed?
-//GO(__sched_cpucount, iFup)
+GO(__sched_cpucount, iFup)
 //GO(__sched_cpufree, vFp)
-//GO(sched_getaffinity, iFiup)
+GO(sched_getaffinity, iFiup)
 GO(sched_getcpu, iFv)
 //GO(__sched_getparam, iFip)
 //GOW(sched_getparam, iFip)
@@ -1639,8 +1639,8 @@ GOW(strdup, pFp)
 GO(__strdup, pFp)
 GO(strerror, tFi)
 //GO(strerror_l, pFip)
-//GO(__strerror_r, pFipu)
-//GOW(strerror_r, pFipu)
+GO(__strerror_r, pFipL)
+GOW(strerror_r, pFipL)
 //GO(strfmon, lFpLpppppppppp) //vaarg, probably needs align, there are just double...
 // __strfmon_l
 // strfmon_l    // Weak
@@ -1671,7 +1671,7 @@ GO(strrchr, pFpi)
 // __strsep_2c
 // __strsep_3c
 // __strsep_g
-//GO(strsignal, pFi)
+GO(strsignal, tFi)
 GO(strspn, LFpp)
 // __strspn_c1
 // __strspn_c2
@@ -1683,7 +1683,7 @@ GO(__strtod_l, dFpBp_a)
 GOW(strtod_l, dFpBp_a)
 GO(strtof, fFpBp_)
 //GO(__strtof_internal, fFppp)
-GO(__strtof_l, fFppa)
+GO(__strtof_l, fFpBp_a)
 //GOW(strtof_l, fFppu)
 //GO(strtoimax, IFppi)
 GO(strtok, pFpp)
@@ -1782,7 +1782,7 @@ GO(__sysconf, lFi)
 //DATA(_sys_siglist, 4)
 //DATA(sys_siglist, 4)
 GOW(system, iFp)          // Need to wrap to use box86 if needed?
-//GOM(__sysv_signal, pFEip) //%%
+GO2(__sysv_signal, pFEip, my___sysv_signal) //%%
 //GOWM(sysv_signal, pFEip)  //%%
 GOW(tcdrain, iFi)
 GO(tcflow, iFii)
diff --git a/src/wrapped32/wrappedlibgl.c b/src/wrapped32/wrappedlibgl.c
index fe714635..02524855 100644
--- a/src/wrapped32/wrappedlibgl.c
+++ b/src/wrapped32/wrappedlibgl.c
@@ -466,13 +466,13 @@ static void* my32_glXChooseFBConfig_##A(x64emu_t* emu, void* dpy, int screen, in
 {                                                                                                           \
     if(!my32_glXChooseFBConfig_fct_##A)                                                                     \
         return NULL;                                                                                        \
-    static ptr_t fbconfig[1024];                                                                            \
     void** res = my32_glXChooseFBConfig_fct_##A (dpy, screen, list, nelement);                              \
     if(!res)                                                                                                \
         return NULL;                                                                                        \
+    ptr_t* fbconfig = (ptr_t*)res;                                                                          \
     for(int i=0; i<*nelement; ++i)                                                                          \
         fbconfig[i] = to_ptrv(res[i]);                                                                      \
-    return &fbconfig;                                                                                       \
+    return res;                                                                                             \
 }
 SUPER()
 #undef GO
@@ -495,12 +495,12 @@ static void* my32_glXGetVisualFromFBConfig_##A(x64emu_t* emu, void* dpy, void* c
 {                                                                                                           \
     if(!my32_glXGetVisualFromFBConfig_fct_##A)                                                              \
         return NULL;                                                                                        \
-    static my_XVisualInfo_32_t vinfo = {0};                                                                 \
     void* res = my32_glXGetVisualFromFBConfig_fct_##A (dpy, config);                                        \
     if(!res)                                                                                                \
         return NULL;                                                                                        \
-    convert_XVisualInfo_to_32(&vinfo, res);                                                                 \
-    return &vinfo;                                                                                          \
+    my_XVisualInfo_32_t* vinfo = (my_XVisualInfo_32_t*)res;                                                 \
+    convert_XVisualInfo_to_32(vinfo, res);                                                                  \
+    return vinfo;                                                                                           \
 }
 SUPER()
 #undef GO
@@ -554,22 +554,22 @@ EXPORT  void my32_glShaderSource(x64emu_t* emu, uint32_t shader, int count, ptr_
 
 EXPORT void* my32_glXChooseFBConfig(x64emu_t* emu, void* dpy, int screen, int* list, int* nelement)
 {
-    static ptr_t fbconfig[1024];
     void** res = my->glXChooseFBConfig(dpy, screen, list, nelement);
     if(!res)
         return NULL;
+    ptr_t *fbconfig = (ptr_t*)res;
     for(int i=0; i<*nelement; ++i)
         fbconfig[i] = to_ptrv(res[i]);
-    return &fbconfig;
+    return res;
 }
 
 EXPORT void* my32_glXGetVisualFromFBConfig(x64emu_t* emu, void* dpy, void* config)
 {
-    static my_XVisualInfo_32_t vinfo = {0};
     void* res = my->glXGetVisualFromFBConfig(dpy, config);
     if(!res) return NULL;
-    convert_XVisualInfo_to_32(&vinfo, res);
-    return &vinfo;
+    my_XVisualInfo_32_t* vinfo = (my_XVisualInfo_32_t*)res;
+    convert_XVisualInfo_to_32(vinfo, res);
+    return vinfo;
 }
 
 #include "wrappedlib_init32.h"
diff --git a/src/wrapped32/wrappedlibgl_private.h b/src/wrapped32/wrappedlibgl_private.h
index 6306f1c9..ccd3d50c 100644
--- a/src/wrapped32/wrappedlibgl_private.h
+++ b/src/wrapped32/wrappedlibgl_private.h
@@ -2946,10 +2946,10 @@ GO(glXCreateContext,pFXppi)
 //GO(glXCreateGLXPixmap, pFppp)
 //GO(glXCreateGLXPixmapWithConfigSGIX, pFppp)
 //GO(glXCreateGLXVideoSourceSGIX, pFpippip)
-//GO(glXCreateNewContext, pFppipi)
+GO(glXCreateNewContext, pFXpipi)
 //GO(glXCreatePbuffer, pFppp)
 //GO(glXCreatePixmap, pFppp)
-//GO(glXCreateWindow, pFpppp)
+GO(glXCreateWindow, pFXppp)
 GO(glXChooseVisual, pFXip)  // need to wrap XVisualInfo?
 //GO(glXCopyImageSubDataNV, vFppuiiiiipuiiiiiiii)
 //GO(glXCopySubBufferMESA, vFppiiii)
@@ -2960,17 +2960,17 @@ GO(glXDestroyContext,vFXp)
 //GO(glXDestroyHyperpipeConfigSGIX,iFpi)
 //GO(glXDestroyPbuffer,vFpp)
 //GO(glXDestroyPixmap,vFpp)
-//GO(glXDestroyWindow,vFpp)
+GO(glXDestroyWindow,vFXp)
 //GO(glXEnumerateVideoCaptureDevicesNV, pFpip)
 //GO(glXEnumerateVideoDevicesNV, pFpip)
 //GO(glXFreeContextEXT, vFpp)
 GO(glXGetClientString, pFXi)
 //GO(glXGetConfig, iFppip)
 //GO(glXGetContextIDEXT, uFp)
-//GO(glXGetCurrentContext, pFv)
-//GO(glXGetCurrentDisplay, pFv)
-//GO(glXGetCurrentDrawable, pFv)
-//GO(glXGetCurrentReadDrawable, pFv)
+GO(glXGetCurrentContext, pFv)
+GO(glXGetCurrentDisplay, XFv)
+GO(glXGetCurrentDrawable, pFv)
+GO(glXGetCurrentReadDrawable, pFv)
 //GO(glXGetDrawableAttributes,vFi)
 //GO(glXGetDrawableAttributesSGIX,vFi)
 //GO(glXGetFBConfigs,pFpip)
@@ -2993,12 +2993,12 @@ GOM(glXGetVisualFromFBConfig, pFEXp)
 GO(glXJoinSwapGroupNV, iFXpu)
 //GO(glXJoinSwapGroupSGIX,vFpp)
 //GO(glXLockVideoCaptureDeviceNV, vFpp)
-//GO(glXMakeContextCurrent,iFpppp)
+GO(glXMakeContextCurrent,iFXppp)
 GO(glXMakeCurrent,iFXpp)
 //GO(glXQueryContext,iFppip)
 //GO(glXQueryContextInfoEXT,iFppip)
 //GO(glXQueryDrawable, iFppip)
-//GO(glXQueryExtension, iFppp)
+GO(glXQueryExtension, iFXpp)
 GO(glXQueryExtensionsString,pFXi)
 GO(glXQueryFrameCountNV, iFXip)
 //GO(glXQueryGLXPbufferSGIX, vFppip)
@@ -3016,19 +3016,19 @@ GO(glXReleaseTexImageEXT, vFXpi)
 //GO(glXReleaseVideoCaptureDeviceNV, vFpp)
 //GO(glXReleaseVideoDeviceNV, iFpip)
 //GO(glXReleaseVideoImageNV, iFpp)
-//GO(glXRender, vFv)
-//GO(glXRenderLarge, vFv)
+GO(glXRender, vFv)
+GO(glXRenderLarge, vFv)
 GO(glXResetFrameCountNV, iFXi)
 //GO(glXSelectEvent, vFppu)
 //GO(glXSelectEventSGIX, vFppu)
 //GO(glXSendPbufferToVideoNV, iFppipi)
 GO(glXSwapBuffers,vFXp)
 //GO(glXUseXFont,vFpiii)
-//GO(glXVendorPrivate, vFv)
-//GO(glXVendorPrivateWithReply, vFv)
-//GO(glXWaitGL,vFv)
+GO(glXVendorPrivate, vFv)
+GO(glXVendorPrivateWithReply, vFv)
+GO(glXWaitGL,vFv)
 //GO(glXWaitVideoSyncSGI, iFiip)
-//GO(glXWaitX,vFv)
+GO(glXWaitX,vFv)
 
 GOM(glXGetProcAddress, pFEp)
 GOM(glXGetProcAddressARB, pFEp)
diff --git a/src/wrapped32/wrappedlibrt_private.h b/src/wrapped32/wrappedlibrt_private.h
index 5d84140f..2a34804d 100755
--- a/src/wrapped32/wrappedlibrt_private.h
+++ b/src/wrapped32/wrappedlibrt_private.h
@@ -26,7 +26,7 @@ GO(aio_write64, iFp)
 GO(clock_getcpuclockid, iFup)
 GO(clock_getres, iFup)
 GO(clock_gettime, iFuBLL_)   // *timespec
-//GO(clock_nanosleep, iFuipp)
+GO(clock_nanosleep, iFuirLL_BLL_)
 //GO(clock_settime, iFup)
 // lio_listio
 // lio_listio64
diff --git a/src/wrapped32/wrappedlibx11.c b/src/wrapped32/wrappedlibx11.c
index 8691942d..39648b8d 100644
--- a/src/wrapped32/wrappedlibx11.c
+++ b/src/wrapped32/wrappedlibx11.c
@@ -27,6 +27,11 @@
 
 #define LIBNAME libx11
 
+#include "libtools/my_x11_defs.h"
+#include "libtools/my_x11_defs_32.h"
+
+void convertXEvent(my_XEvent_32_t* dst, my_XEvent_t* src);
+void unconvertXEvent(my_XEvent_t* dst, my_XEvent_32_t* src);
 typedef int (*XErrorHandler)(void *, void *);
 void* my32_XSetErrorHandler(x64emu_t* t, XErrorHandler handler);
 #if 0
@@ -34,12 +39,9 @@ typedef int (*XIOErrorHandler)(void *);
 void* my32_XSetIOErrorHandler(x64emu_t* t, XIOErrorHandler handler);
 void* my32_XESetCloseDisplay(x64emu_t* emu, void* display, int32_t extension, void* handler);
 typedef int (*WireToEventProc)(void*, void*, void*);
+#endif
 typedef int(*EventHandler) (void*,void*,void*);
 int32_t my32_XIfEvent(x64emu_t* emu, void* d,void* ev, EventHandler h, void* arg);
-#endif
-
-#include "libtools/my_x11_defs.h"
-#include "libtools/my_x11_defs_32.h"
 
 void UnwrapXImage(void* d, void* s);
 void WrapXImage(void* d, void* s);
@@ -349,12 +351,15 @@ static void* findXConnectionWatchProcFct(void* fct)
     printf_log(LOG_NONE, "Warning, no more slot for libX11 XConnectionWatchProc callback\n");
     return NULL;
 }
+#endif
 // xifevent
 #define GO(A)   \
-static uintptr_t my32_xifevent_fct_##A = 0;                                   \
-static int my32_xifevent_##A(void* dpy, void* event, void* d)                 \
+static uintptr_t my32_xifevent_fct_##A = 0;                                 \
+static int my32_xifevent_##A(void* dpy, my_XEvent_t* event, void* d)        \
 {                                                                           \
-    return RunFunctionFmt(my32_xifevent_fct_##A, "ppp", dpy, event, d);  \
+    static my_XEvent_32_t evt = {0};                                        \
+    convertXEvent(&evt, event);                                             \
+    return RunFunctionFmt(my32_xifevent_fct_##A, "ppp", dpy, &evt, d);      \
 }
 SUPER()
 #undef GO
@@ -371,6 +376,7 @@ static void* findxifeventFct(void* fct)
     printf_log(LOG_NONE, "Warning, no more slot for libX11 xifevent callback\n");
     return NULL;
 }
+#if 0
 // XInternalAsyncHandler
 #define GO(A)   \
 static uintptr_t my32_XInternalAsyncHandler_fct_##A = 0;                                              \
@@ -1304,13 +1310,15 @@ EXPORT void* my32_XESetCloseDisplay(x64emu_t* emu, void* display, int32_t extens
     void* ret = my->XESetCloseDisplay(display, extension, findclose_displayFct(handler));
     return reverse_close_displayFct(my_lib, ret);
 }
-
+#endif
 EXPORT int32_t my32_XIfEvent(x64emu_t* emu, void* d,void* ev, EventHandler h, void* arg)
 {
-    int32_t ret = my->XIfEvent(d, ev, findxifeventFct(h), arg);
+    my_XEvent_t event = {0};
+    int32_t ret = my->XIfEvent(d, &event, findxifeventFct(h), arg);
+    convertXEvent(ev, &event);
     return ret;
 }
-
+#if 0
 EXPORT int32_t my32_XCheckIfEvent(x64emu_t* emu, void* d,void* ev, EventHandler h, void* arg)
 {
     int32_t ret = my->XCheckIfEvent(d, ev, findxifeventFct(h), arg);
@@ -1322,8 +1330,15 @@ EXPORT int32_t my32_XPeekIfEvent(x64emu_t* emu, void* d,void* ev, EventHandler h
     int32_t ret = my->XPeekIfEvent(d, ev, findxifeventFct(h), arg);
     return ret;
 }
-
 #endif
+
+EXPORT int my32_XFilterEvent(x64emu_t* emu, my_XEvent_32_t* evt, XID window)
+{
+    my_XEvent_t event = {0};
+    unconvertXEvent(&event, evt);
+    return my->XFilterEvent(&event, window);
+}
+
 void WrapXImage(void* d, void* s)
 {
     XImage *src = s;
@@ -1512,7 +1527,7 @@ EXPORT int my32_XUnregisterIMInstantiateCallback(x64emu_t* emu, void* d, void* d
 {
     return my->XUnregisterIMInstantiateCallback(d, db, res_name, res_class, reverse_register_imFct(my_lib, cb), data);
 }
-
+#endif
 EXPORT int my32_XQueryExtension(x64emu_t* emu, void* display, char* name, int* major, int* first_event, int* first_error)
 {
     int ret = my->XQueryExtension(display, name, major, first_event, first_error);
@@ -1523,7 +1538,7 @@ EXPORT int my32_XQueryExtension(x64emu_t* emu, void* display, char* name, int* m
     }
     return ret;
 }
-
+#if 0
 EXPORT int my32_XAddConnectionWatch(x64emu_t* emu, void* display, char* f, void* data)
 {
     return my->XAddConnectionWatch(display, findXConnectionWatchProcFct(f), data);
@@ -1924,7 +1939,12 @@ void convertXEvent(my_XEvent_32_t* dst, my_XEvent_t* src)
             dst->xclient.message_type = to_ulong(src->xclient.message_type);
             dst->xclient.format = src->xclient.format;
             if(src->xclient.format==32)
-                for(int i=0; i<5; ++i) dst->xclient.data.l[i] = to_ulong(src->xclient.data.l[i]);
+                for(int i=0; i<5; ++i) {
+                    if(((src->xclient.data.l[i]&0xffffffff80000000LL))==0xffffffff80000000LL)
+                        dst->xclient.data.l[i] = to_ulong(src->xclient.data.l[i]&0xffffffff);   // negative value...
+                    else
+                        dst->xclient.data.l[i] = to_ulong(src->xclient.data.l[i]);
+                }
             else
                 memcpy(dst->xclient.data.b, src->xclient.data.b, 20);
             break;
@@ -2395,6 +2415,70 @@ EXPORT void my32_XSetWMProperties(x64emu_t* emu, void* dpy, XID window, void* wi
     my->XSetWMProperties(dpy, window, window_name?(&window_name_l):NULL, icon_name?(&icon_name_l):NULL, argv?argv_l:NULL, argc, normal_hints?(&wm_size_l):NULL, wm_hints?(&wm_hints_l):NULL, class_hints?(&class_hints_l):NULL);
 }
 
+EXPORT void my32_Xutf8SetWMProperties(x64emu_t* emu, void* dpy, XID window, void* window_name, void* icon_name, ptr_t* argv, int argc, void* normal_hints, my_XWMHints_32_t* wm_hints, ptr_t* class_hints)
+{
+    int wm_size_l[17+2] = {0};
+    my_XWMHints_t wm_hints_l = {0};
+    char* class_hints_l[2] = {0};
+    char* argv_l[argc+1];
+
+    if(normal_hints)
+        convert_XSizeHints_to_64(&wm_size_l, normal_hints);
+    if(wm_hints)
+        convert_XWMints_to_64(&wm_hints_l, wm_hints);
+    if(class_hints) {
+        class_hints_l[0] = from_ptrv(class_hints[0]);
+        class_hints_l[1] = from_ptrv(class_hints[1]);
+    }
+    if(argv) {
+        memset(argv_l, 0, sizeof(argv_l));
+        for(int i=0; i<argc; ++i)
+            argv_l[i] = from_ptrv(argv[i]);
+    }
+    my->Xutf8SetWMProperties(dpy, window, window_name, icon_name, argv?argv_l:NULL, argc, normal_hints?(&wm_size_l):NULL, wm_hints?(&wm_hints_l):NULL, class_hints?(&class_hints_l):NULL);
+}
+
+
+EXPORT void* my32_XListExtensions(x64emu_t* emu, void* dpy, int* n)
+{
+    char** ret = my->XListExtensions(dpy, n);
+    if(!ret) return NULL;
+    ptr_t* ret_s = (ptr_t*)ret;
+    // shrinking
+    for(int i=0; i<*n; ++i)
+        ret_s[i] = to_ptrv(ret[i]);
+    ret_s[*n] = 0;
+    return ret;
+}
+
+EXPORT int my32_XFreeExtensionList(x64emu_t* emu, ptr_t* list)
+{
+    // need to expand back the list
+    int n = 0;
+    //first grab n
+    while(list[n]) ++n;
+    // now expand, backward order
+    void** list_l = (void**)list;
+    for(int i=n-1; i>=0; --i)
+        list_l[i] = from_ptrv(list[i]);
+    return my->XFreeExtensionList(list);
+}
+
+EXPORT int my32_XQueryTree(x64emu_t* emu, void* dpy, XID window, XID_32* root, XID_32* parent, ptr_t* children, uint32_t* n)
+{
+    XID root_l = 0;
+    XID parent_l = 0;
+    XID* children_l = NULL;
+    int ret = my->XQueryTree(dpy, window, &root_l, &parent_l, &children_l, n);
+    *root = to_ulong(root_l);
+    *parent = to_ulong(parent_l);
+    *children = to_ptrv(children_l);
+    if(children_l)
+        for(int i=0; i<*n; ++i)
+            ((XID_32*)children_l)[i] = to_ulong(children_l[i]);
+    return ret;
+}
+
 #define CUSTOM_INIT                 \
     AddAutomaticBridge(lib->w.bridge, vFp_32, *(void**)dlsym(lib->w.lib, "_XLockMutex_fn"), 0, "_XLockMutex_fn"); \
     AddAutomaticBridge(lib->w.bridge, vFp_32, *(void**)dlsym(lib->w.lib, "_XUnlockMutex_fn"), 0, "_XUnlockMutex_fn"); \
diff --git a/src/wrapped32/wrappedlibx11_private.h b/src/wrapped32/wrappedlibx11_private.h
index ec5c1c49..f12663d7 100644
--- a/src/wrapped32/wrappedlibx11_private.h
+++ b/src/wrapped32/wrappedlibx11_private.h
@@ -61,7 +61,7 @@ GOM(XCheckTypedEvent, iFEXip)
 //GO(XClearWindow, iFpL)
 //GO(XClipBox, iFpp)
 GOM(XCloseDisplay, iFEX)
-//GO(XCloseIM, iFp)
+GO(XCloseIM, iFp)
 //GO(_XCloseLC, 
 //GO(XCloseOM, iFp)
 //GO(_XcmsAddCmapRec, 
@@ -250,7 +250,7 @@ GO(XDefineCursor, iFXLL)
 //GO(XDeleteProperty, iFpLL)
 //GO(_XDeq, vFppp)
 //GOM(_XDeqAsyncHandler, vFEpp)
-//GO(XDestroyIC, vFp)
+GO(XDestroyIC, vFp)
 GOM(XDestroyImage, iFEp)  //need to unbridge
 //GO(XDestroyOC, vFp)
 //GO(XDestroyRegion, iFp)
@@ -331,7 +331,7 @@ GO(XEventsQueued, iFXi)
 //GO(XFillPolygon, iFpLppiii)
 //GO(XFillRectangle, iFpLpiiuu)
 //GO(XFillRectangles, iFpLppi)
-//GO(XFilterEvent, iFpL)
+GOM(XFilterEvent, iFEpL)
 //GO(XFindContext, iFpLip)
 //GO(XFindOnExtensionList, pFpi)
 GO(_XFlush, vFX)
@@ -350,7 +350,7 @@ GO(XFreeCursor, iFXL)
 //GO(_XFreeEventCookies, vFp)
 //GO(XFreeEventData, vFpp)
 //GO(_XFreeExtData, iFp)
-//GO(XFreeExtensionList, iFp)
+GOM(XFreeExtensionList, iFEp)
 GO(XFreeFont, iFXp)
 //GO(XFreeFontInfo, iFppi)
 //GO(XFreeFontNames, iFp)
@@ -384,7 +384,7 @@ GO(XGetErrorText, iFXipi)
 //GO(_XGetHostname, iFpi)
 //GO(XGetIconName, iFpLp)
 //GO(XGetIconSizes, iFpLpp)
-//GO(XGetICValues, pFpppppppppp)      // use varargs...
+GO(XGetICValues, pFpppppppppp)      // use varargs...
 GOM(XGetImage, pFEXLiiuuLi)     // return an XImage with callbacks that needs wrapping
 //GO(XGetIMValues, pFppppppp)     // use varargs
 //GO(XGetInputFocus, iFppp)
@@ -413,7 +413,7 @@ GOM(XGetSubImage, pFEXLiiuuLipii)
 //GO(XGetVisualInfo, pFplpp)
 //GO(_XGetWindowAttributes, iFpLp)
 GOM(XGetWindowAttributes, iFEXLp)
-//GO(XGetWindowProperty, iFpLLlliLppppp)
+GO(XGetWindowProperty, iFXLLlliLBL_pBL_BL_Bp_)
 //GO(XGetWMClientMachine, iFpLp)
 //GO(XGetWMColormapWindows, iFpLpp)
 //GO(XGetWMHints, pFpL)
@@ -434,7 +434,7 @@ GO(XGrabServer, iFX)
 //GO(XHeightOfScreen, iFp)
 //DATAB(_Xi18n_lock, 4)
 //GO(XIconifyWindow, iFpLi)
-//GOM(XIfEvent, iFEpppp)
+GOM(XIfEvent, iFEXppp)
 //GO(XImageByteOrder, iFp)
 //GO(_XimCbDispatch, 
 //GO(_XimCheckCreateICValues, 
@@ -727,7 +727,7 @@ GO(XInternAtom, LFXpi)
 //GO(XkbInitCanonicalKeyTypes, iFpui)
 //GO(_XkbInitReadBuffer, 
 //DATA(_XkbInternAtomFunc, 4)
-//GO(XkbKeycodeToKeysym, LFpCii)
+GO(XkbKeycodeToKeysym, LFXCii)
 //GO(XkbKeysymToModifiers, uFpL)
 //GO(XkbKeyTypesForCoreSymbols, iFpipupp)
 //GO(XkbLatchGroup, iFpuu)
@@ -769,7 +769,7 @@ GO(XInternAtom, LFXpi)
 //GO(XkbSetCompatMap, iFpupi)
 //GO(XkbSetControls, iFpLp)
 //GO(XkbSetDebuggingFlags, iFpuupuupp)
-//GO(XkbSetDetectableAutoRepeat, iFpip)
+GO(XkbSetDetectableAutoRepeat, iFXip)
 //GO(XkbSetDeviceButtonActions, iFppuu)
 //GO(XkbSetDeviceInfo, iFpup)
 //GO(XkbSetDeviceLedInfo, iFppuuu)
@@ -863,7 +863,7 @@ DATA(_XlcPublicMethods, 4)
 //GO(_Xlcwcstombs, 
 //GO(_Xlcwctomb, 
 //GO(XListDepths, pFpip)
-//GO(XListExtensions, pFpp)
+GOM(XListExtensions, pFEXp)
 //GO(XListFonts, pFppip)
 //GO(XListFontsWithInfo, pFppipp)
 //GO(XListHosts, pFppp)
@@ -968,13 +968,13 @@ GO(XPutPixel, vFXiiL)
 //GO(XQueryBestTile, iFpLuupp)
 //GO(XQueryColor, iFpLp)
 //GO(XQueryColors, iFpLpi)
-//GOM(XQueryExtension, iFEppppp)
+GOM(XQueryExtension, iFEXpppp)
 //GO(XQueryFont, pFpL)
 //GO(XQueryKeymap, iFpp)
 //GO(XQueryPointer, iFpLppppppp)
 //GO(XQueryTextExtents, iFpLpipppp)
 //GO(XQueryTextExtents16, iFpLpipppp)
-//GO(XQueryTree, iFpLpppp)
+GOM(XQueryTree, iFEXLpppp)
 //GO(XRaiseWindow, iFpL)
 //GO(_XRead, iFppl)
 //GO(XReadBitmapFile, iFpLpppppp)
@@ -1043,7 +1043,7 @@ GO(XPutPixel, vFXiiL)
 //GO(XScreenOfDisplay, pFpi)
 //GO(_XScreenOfWindow, pFpL)
 //GO(XScreenResourceString, pFp)
-//GO(XSelectInput, iFpLl)
+GO(XSelectInput, iFXLl)
 //GO(_XSend, vFppl)
 GOM(XSendEvent, iFEXLilp)
 //GO(XServerVendor, pFp)
@@ -1068,7 +1068,7 @@ GOM(XSetErrorHandler, pFEp)
 //GO(XSetForeground, iFppL)
 //GO(XSetFunction, iFppi)
 //GO(XSetGraphicsExposures, iFppi)
-//GO(XSetICFocus, vFp)
+GO(XSetICFocus, vFp)
 //GO(XSetIconName, iFpLp)
 //GO(XSetIconSizes, iFpLpi)
 //GOM(XSetICValues, pFEpV)
@@ -1079,7 +1079,7 @@ GOM(XSetErrorHandler, pFEp)
 //GOM(XSetIOErrorHandler, pFEp)
 //GO(_XSetLastRequestRead, LFpp)
 //GO(XSetLineAttributes, iFppuiii)
-//GO(XSetLocaleModifiers, pFp)
+GO(XSetLocaleModifiers, pFp)
 //GO(XSetModifierMapping, iFpp)
 //GO(XSetNormalHints, iFpLp)
 //GO(XSetOCValues, pFpppppppppppppppp) // use vaarg
@@ -1140,7 +1140,7 @@ GO(XSync, iFXi)
 //GO(XTextWidth, iFppi)
 //GO(XTextWidth16, iFppi)
 //DATAB(_Xthread_self_fn, 4)
-//GO(XTranslateCoordinates, iFpLLiippp)
+GO(XTranslateCoordinates, iFXLLiippBL_)
 //GO(_XTranslateKey, 
 //GO(_XTranslateKeySym, 
 //GO(_XTryShapeBitmapCursor, 
@@ -1161,7 +1161,7 @@ GO(XUngrabPointer, iFXL)
 GO(XUnlockDisplay, vFX)
 DATA(_XUnlockMutex_fn, 4)
 //GO(XUnmapSubwindows, iFpL)
-//GO(XUnmapWindow, iFpL)
+GO(XUnmapWindow, iFXL)
 //GO(_XUnregisterFilter, 
 //GOM(XUnregisterIMInstantiateCallback, iFEpppppp)
 //GO(_XUnregisterInternalConnection, vFpi)
@@ -1184,7 +1184,7 @@ DATA(_XUnlockMutex_fn, 4)
 //GO(_Xutf8GenericTextPerCharExtents, 
 //GO(Xutf8LookupString, iFpppipp)
 //GO(Xutf8ResetIC, pFp)
-//GO(Xutf8SetWMProperties, vFpLpppippp)
+GOM(Xutf8SetWMProperties, vFEXLpppippp)
 //GO(Xutf8TextEscapement, iFppi)
 //GO(Xutf8TextExtents, iFppipp)
 //GO(_Xutf8TextListToTextProperty, 
diff --git a/src/wrapped32/wrappedlibxrandr.c b/src/wrapped32/wrappedlibxrandr.c
index c070dd68..5220524f 100644
--- a/src/wrapped32/wrappedlibxrandr.c
+++ b/src/wrapped32/wrappedlibxrandr.c
@@ -126,6 +126,50 @@ EXPORT void* my32_XRRGetScreenResources(x64emu_t* emu, void* dpy, XID window)
     return ret;
 }
 
+EXPORT int my32_XRRSetCrtcConfig(x64emu_t* emu, void* dpy, void* res, XID crtc, unsigned long timestamp, int x, int y, XID mode, uint16_t rotation, XID_32* outputs, int noutputs)
+{
+    XID outputs_l[noutputs];
+    memset(outputs_l, 0, sizeof(outputs_l));
+    inplace_XRRScreenResources_enlarge(res);
+    int ret = my->XRRSetCrtcConfig(dpy, res, crtc, timestamp, x, y, mode, rotation, &outputs_l, noutputs);
+    inplace_XRRScreenResources_shrink(res);
+    for(int i=0; i<noutputs; ++i)
+        outputs[i] = to_ulong(outputs_l[i]);
+    return ret;
+}
+
+EXPORT void* my32_XRRGetPanning(x64emu_t* emu, void* dpy, void* res, XID crtc)
+{
+    inplace_XRRScreenResources_enlarge(res);
+    void* ret = my->XRRGetPanning(dpy, res, crtc);
+    inplace_XRRScreenResources_shrink(res);
+    if(ret) {
+        // shrink XRRPanning: L and 12i
+        *(ulong_t*)res = to_ulong(*(unsigned long*)res);
+        memmove(res+4, res+8, 12*4);
+    }
+    return ret;
+}
+
+EXPORT int my32_XRRSetPanning(x64emu_t* emu, void* dpy, void* res, XID crtc, void* panning)
+{
+    inplace_XRRScreenResources_enlarge(res);
+    // enlarge panning
+    {
+        unsigned long timestamp = from_ulong(*(ulong_t*)panning);
+        memmove(panning+8, panning+4, 12*4);
+        *(unsigned long*)panning = timestamp;
+    }
+    int ret = my->XRRSetPanning(dpy, res, crtc, panning);
+    inplace_XRRScreenResources_shrink(res);
+    {
+        // shrink XRRPanning: L and 12i
+        *(ulong_t*)panning = to_ulong(*(unsigned long*)panning);
+        memmove(panning+4, panning+8, 12*4);
+    }
+    return ret;
+}
+
 void inplace_XRRCrtcInfo_shrink(void* s)
 {
     if(!s) return;
diff --git a/src/wrapped32/wrappedlibxrandr_private.h b/src/wrapped32/wrappedlibxrandr_private.h
index 2ff06690..9c6600f1 100644
--- a/src/wrapped32/wrappedlibxrandr_private.h
+++ b/src/wrapped32/wrappedlibxrandr_private.h
@@ -6,7 +6,7 @@ GO(XRRQueryVersion, iFXpp)
 GO(XRRFreeScreenConfigInfo, vFp)
 GOM(XRRGetCrtcInfo, pFEXpL)
 //GO(XRRListOutputProperties, pFpLp)
-//GO(XRRQueryExtension, iFppp)
+GO(XRRQueryExtension, iFXpp)
 //GO(XRRAllocModeInfo, pFpi)
 //GO(XRRGetProviderProperty, iFpLLlliiLppppp)
 //GO(XRRListProviderProperties, pFpLp)
@@ -26,27 +26,27 @@ GOM(XRRGetScreenResources, pFEXL)
 //GO(XRRDeleteProviderProperty, vFpLL)
 //GO(XRRSetScreenConfig, iFppLiWL)
 //GO(XRRAllocGamma, pFi)
-//GO(XRRSetScreenSize, vFpLiiii)
+GO(XRRSetScreenSize, vFXLiiii)
 //GO(XRRSetScreenConfigAndRate, iFppLiWwL)
 GO(XRRFreeScreenResources, vFp)
 GO(XRRGetOutputPrimary, LFXL)
 //GO(XRRCreateMode, LFpLp)
 //GO(XRRConfigCurrentRate, wFp)
 //GO(XRRDestroyMode, vFpL)
-//GO(XRRSetCrtcConfig, iFppLLiiLWpi)
+GOM(XRRSetCrtcConfig, iFEXpLLiiLWpi)
 //GO(XRRConfigCurrentConfiguration, WFpp)
 //GO(XRRSizes, pFpip)
 //GO(XRRAddOutputMode, vFpLL)
-//GO(XRRFreePanning, vFp)
+GO(XRRFreePanning, vFp)
 //GO(XRRFreeProviderResources, vFp)
 //GO(XRRChangeProviderProperty, vFpLLLiipi)
-//GO(XRRGetPanning, pFppL)
+GOM(XRRGetPanning, pFEXpL)
 //GO(XRRSetProviderOffloadSink, iFpLL)
 //GO(XRRGetScreenResourcesCurrent, pFpL)
 //GO(XRRConfigTimes, LFpp)
 //GO(XRRSetCrtcGamma, vFpLp)
 //GO(XRRSetProviderOutputSource, iFpLL)
-//GO(XRRGetScreenSizeRange, iFpLpppp)
+GO(XRRGetScreenSizeRange, iFXLpppp)
 //GO(XRRRates, pFpiip)
 //GO(XRRFreeProviderInfo, vFp)
 //GO(XRRConfigRates, pFpip)
@@ -60,7 +60,7 @@ GO(XRRFreeCrtcInfo, vFp)
 //GO(XRRFreeModeInfo, vFp)
 //GO(XRRChangeOutputProperty, vFpLLLiipi)
 //GO(XRRGetCrtcGamma, pFpL)
-//GO(XRRSetPanning, iFppLp)
+GOM(XRRSetPanning, iFEXpLp)
 //GO(XRRSelectInput, vFpLi)
 //GO(XRRGetCrtcTransform, iFpLp)
 //GO(XRRTimes, LFpip)