about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2024-10-07 13:32:45 +0200
committerptitSeb <sebastien.chev@gmail.com>2024-10-07 13:32:45 +0200
commit05aac0879e415b99225d731e154bc5d6535c1d15 (patch)
tree9fefaab8e891611cf252271a7ede43ab33d8ad06 /src
parentcb5dafe8dbf89f5b762301c06b80c8dcbd5c7ac8 (diff)
downloadbox64-05aac0879e415b99225d731e154bc5d6535c1d15.tar.gz
box64-05aac0879e415b99225d731e154bc5d6535c1d15.zip
[BOX32][WRAPPER] Reworked 32bits libGL with new wrapperhelper
Diffstat (limited to 'src')
-rw-r--r--src/wrapped32/generated/functions_list.txt54
-rw-r--r--src/wrapped32/generated/wrappedlibgltypes32.h20
-rw-r--r--src/wrapped32/generated/wrapper32.c72
-rw-r--r--src/wrapped32/generated/wrapper32.h36
-rw-r--r--src/wrapped32/wrappedlibgl.c419
-rw-r--r--src/wrapped32/wrappedlibgl_private.h208
6 files changed, 634 insertions, 175 deletions
diff --git a/src/wrapped32/generated/functions_list.txt b/src/wrapped32/generated/functions_list.txt
index 55713f93..34953316 100644
--- a/src/wrapped32/generated/functions_list.txt
+++ b/src/wrapped32/generated/functions_list.txt
@@ -260,6 +260,7 @@
 #() tFip -> tFip
 #() tFia -> tFia
 #() tFpL -> tFpL
+#() vFuBp_ -> vFuB
 #() vFpbp_ -> vFpB
 #() vFbp_p -> vFBp
 #() iFEbp_ -> iFEB
@@ -318,7 +319,6 @@
 #() vFilu -> vFilu
 #() vFill -> vFill
 #() vFilp -> vFilp
-#() vFipi -> vFipi
 #() vFipu -> vFipu
 #() vFipp -> vFipp
 #() vFCCC -> vFCCC
@@ -377,7 +377,6 @@
 #() vFXLL -> vFXLL
 #() vFXLp -> vFXLp
 #() vFXpi -> vFXpi
-#() vFXpu -> vFXpu
 #() vFXpl -> vFXpl
 #() vFXpL -> vFXpL
 #() vFXpp -> vFXpp
@@ -465,7 +464,6 @@
 #() uFEpL -> uFEpL
 #() uFilp -> uFilp
 #() uFipu -> uFipu
-#() uFuip -> uFuip
 #() uFuuu -> uFuuu
 #() uFuup -> uFuup
 #() uFupp -> uFupp
@@ -497,6 +495,7 @@
 #() LFXLi -> LFXLi
 #() LFXLC -> LFXLC
 #() LFXpi -> LFXpi
+#() LFXpp -> LFXpp
 #() pFEip -> pFEip
 #() pFEiV -> pFEiV
 #() pFEpi -> pFEpi
@@ -525,6 +524,7 @@
 #() pFppL -> pFppL
 #() pFppp -> pFppp
 #() pFpOM -> pFpOM
+#() pFXii -> pFXii
 #() pFXip -> pFXip
 #() pFXLp -> pFXLp
 #() pFXpi -> pFXpi
@@ -533,8 +533,13 @@
 #() SFEpp -> SFEpp
 #() SFppS -> SFppS
 #() tFipu -> tFipu
+#() vFibp_i -> vFiBi
+#() vFuibp_ -> vFuiB
+#() vFuuBp_ -> vFuuB
+#() vFuubp_ -> vFuuB
 #() vFpbp_i -> vFpBi
 #() vFbp_pp -> vFBpp
+#() vFXLbL_ -> vFXLB
 #() vFXbL_i -> vFXBi
 #() iFpibl_ -> iFpiB
 #() iFplbl_ -> iFplB
@@ -628,7 +633,6 @@
 #() vFuiff -> vFuiff
 #() vFuidd -> vFuidd
 #() vFuilp -> vFuilp
-#() vFuipi -> vFuipi
 #() vFuipu -> vFuipu
 #() vFuipp -> vFuipp
 #() vFuIII -> vFuIII
@@ -667,6 +671,7 @@
 #() vFffff -> vFffff
 #() vFdddd -> vFdddd
 #() vFllii -> vFllii
+#() vFLiii -> vFLiii
 #() vFpiip -> vFpiip
 #() vFpipi -> vFpipi
 #() vFpipp -> vFpipp
@@ -679,11 +684,13 @@
 #() vFXiiL -> vFXiiL
 #() vFXiLu -> vFXiLu
 #() vFXLii -> vFXLii
+#() vFXLip -> vFXLip
 #() vFXLLL -> vFXLLL
 #() vFXLLp -> vFXLLp
 #() vFXLpi -> vFXLpi
 #() vFXLpL -> vFXLpL
 #() vFXpip -> vFXpip
+#() vFXppL -> vFXppL
 #() cFpiii -> cFpiii
 #() iFEiip -> iFEiip
 #() iFEiiN -> iFEiiN
@@ -759,6 +766,7 @@
 #() iFXLip -> iFXLip
 #() iFXLuu -> iFXLuu
 #() iFXLLL -> iFXLLL
+#() iFXLLp -> iFXLLp
 #() iFXLpi -> iFXLpi
 #() iFXpii -> iFXpii
 #() iFXpip -> iFXpip
@@ -767,6 +775,7 @@
 #() iFXppp -> iFXppp
 #() IFEpIi -> IFEpIi
 #() CFuuff -> CFuuff
+#() uFEuip -> uFEuip
 #() uFEpii -> uFEpii
 #() uFuuuu -> uFuuuu
 #() uFpCCC -> uFpCCC
@@ -786,6 +795,7 @@
 #() LFXCii -> LFXCii
 #() LFXLuu -> LFXLuu
 #() LFXLpi -> LFXLpi
+#() LFXpLp -> LFXpLp
 #() pFEupp -> pFEupp
 #() pFEpip -> pFEpip
 #() pFEppi -> pFEppi
@@ -795,10 +805,10 @@
 #() pFEXpL -> pFEXpL
 #() pFEXpp -> pFEXpp
 #() pFiiiu -> pFiiiu
+#() pFifff -> pFifff
 #() pFillu -> pFillu
 #() pFippu -> pFippu
 #() pFullu -> pFullu
-#() pFlfff -> pFlfff
 #() pFpiLL -> pFpiLL
 #() pFpuii -> pFpuii
 #() pFpupp -> pFpupp
@@ -810,6 +820,8 @@
 #() pFXCip -> pFXCip
 #() pFXLpp -> pFXLpp
 #() pFXppp -> pFXppp
+#() vFuibp_i -> vFuiBi
+#() vFuuuBp_ -> vFuuuB
 #() vFbp_ppp -> vFBppp
 #() vFXLLbL_ -> vFXLLB
 #() iFplibl_ -> iFpliB
@@ -849,6 +861,7 @@
 #() iFpruuipWCCp_buuipWCCp_i -> iFpBBi
 #() iFXpLbiLLLiiiiiiiLLiiLiiiiLic_ -> iFXpLB
 #() pFXLLbiLLLiiiiiiiLLiiLiiiiLic_ -> pFXLLB
+#() vFEuipu -> vFEuipu
 #() vFEuipp -> vFEuipp
 #() vFEpLLp -> vFEpLLp
 #() vFEppiV -> vFEppiV
@@ -861,7 +874,6 @@
 #() vFiipll -> vFiipll
 #() vFiIIII -> vFiIIII
 #() vFiuiip -> vFiuiip
-#() vFiuipi -> vFiuipi
 #() vFiuuuu -> vFiuuuu
 #() vFiulpp -> vFiulpp
 #() vFiUUUU -> vFiUUUU
@@ -922,13 +934,11 @@
 #() vFuulll -> vFuulll
 #() vFuullp -> vFuullp
 #() vFuupii -> vFuupii
-#() vFuuppu -> vFuuppu
 #() vFuUUUU -> vFuUUUU
 #() vFuffff -> vFuffff
 #() vFudddd -> vFudddd
 #() vFullpu -> vFullpu
 #() vFupiii -> vFupiii
-#() vFupupi -> vFupupi
 #() vFupupp -> vFupupp
 #() vFuplii -> vFuplii
 #() vFuppip -> vFuppip
@@ -1016,6 +1026,7 @@
 #() pFXLipp -> pFXLipp
 #() pFXpipi -> pFXpipi
 #() pFXppip -> pFXppip
+#() vFiuibp_i -> vFiuiBi
 #() vFXibL_ii -> vFXiBii
 #() iFEBh_ppp -> iFEBppp
 #() iFppppbp_ -> iFppppB
@@ -1045,6 +1056,8 @@
 #() iFXLpbLWWWcc_bLWWWcc_ -> iFXLpBB
 #() iFXLpBLWWWcc_BLWWWcc_ -> iFXLpBB
 #() vFEiiipp -> vFEiiipp
+#() vFEuippp -> vFEuippp
+#() vFEupupi -> vFEupupi
 #() vFiiiiii -> vFiiiiii
 #() vFiiiuil -> vFiiiuil
 #() vFiiilpi -> vFiiilpi
@@ -1081,7 +1094,6 @@
 #() vFuuiuip -> vFuuiuip
 #() vFuuiuCu -> vFuuiuCu
 #() vFuuiuup -> vFuuiuup
-#() vFuuippp -> vFuuippp
 #() vFuuuiii -> vFuuuiii
 #() vFuuuiup -> vFuuuiup
 #() vFuuuipC -> vFuuuipC
@@ -1102,13 +1114,10 @@
 #() vFuddiip -> vFuddiip
 #() vFulluUC -> vFulluUC
 #() vFupiiii -> vFupiiii
-#() vFupupip -> vFupupip
-#() vFuppppu -> vFuppppu
 #() vFffffff -> vFffffff
 #() vFdddddd -> vFdddddd
 #() vFpipipV -> vFpipipV
 #() vFpdddii -> vFpdddii
-#() vFppupii -> vFppupii
 #() vFpppppp -> vFpppppp
 #() vFXiLppi -> vFXiLppi
 #() vFXLiiii -> vFXLiiii
@@ -1175,6 +1184,8 @@
 #() iFrpuu_Lrpuu_Lui -> iFBLBLui
 #() iFXbLip_uubLip_L -> iFXBuuBL
 #() vFbp_bppup_ippbp_ -> vFBBippB
+#() vFEuuippp -> vFEuuippp
+#() vFEupupip -> vFEupupip
 #() vFiiiiiip -> vFiiiiiip
 #() vFiiiiuup -> vFiiiiuup
 #() vFiiuilil -> vFiiuilil
@@ -1220,7 +1231,6 @@
 #() vFuuddiip -> vFuuddiip
 #() vFuulluup -> vFuulluup
 #() vFuupiiii -> vFuupiiii
-#() vFuuppppu -> vFuuppppu
 #() vFuuppppp -> vFuuppppp
 #() vFuffffff -> vFuffffff
 #() vFudddddd -> vFudddddd
@@ -1749,15 +1759,33 @@ wrappedlibgl:
   - eglSetBlobCacheFuncsANDROID
 - vFXpi:
   - glXSwapIntervalEXT
+- uFuip:
+  - glCreateShaderProgramv
 - pFXip:
   - glXChooseVisual
+  - glXGetFBConfigs
+- vFuipu:
+  - glTransformFeedbackVaryings
+  - glTransformFeedbackVaryingsEXT
 - vFuipp:
+  - glCompileShaderIncludeARB
+  - glGetUniformIndices
   - glShaderSource
   - glShaderSourceARB
 - pFXipp:
   - glXChooseFBConfig
 - pFXppi:
   - glXCreateContext
+- vFuippp:
+  - glBindVertexBuffers
+- vFupupi:
+  - glMultiDrawElements
+  - glMultiDrawElementsEXT
+- vFuuippp:
+  - glBindBuffersRange
+  - glVertexArrayVertexBuffers
+- vFupupip:
+  - glMultiDrawElementsBaseVertex
 wrappedlibglu:
 - vFpup:
   - gluNurbsCallback
diff --git a/src/wrapped32/generated/wrappedlibgltypes32.h b/src/wrapped32/generated/wrappedlibgltypes32.h
index 11057224..d4918664 100644
--- a/src/wrapped32/generated/wrappedlibgltypes32.h
+++ b/src/wrapped32/generated/wrappedlibgltypes32.h
@@ -19,10 +19,16 @@ typedef void* (*pFXp_t)(void*, void*);
 typedef void (*vFipp_t)(int32_t, void*, void*);
 typedef void (*vFppp_t)(void*, void*, void*);
 typedef void (*vFXpi_t)(void*, void*, int32_t);
+typedef uint32_t (*uFuip_t)(uint32_t, int32_t, void*);
 typedef void* (*pFXip_t)(void*, int32_t, void*);
+typedef void (*vFuipu_t)(uint32_t, int32_t, void*, uint32_t);
 typedef void (*vFuipp_t)(uint32_t, int32_t, void*, void*);
 typedef void* (*pFXipp_t)(void*, int32_t, void*, void*);
 typedef void* (*pFXppi_t)(void*, void*, void*, int32_t);
+typedef void (*vFuippp_t)(uint32_t, int32_t, void*, void*, void*);
+typedef void (*vFupupi_t)(uint32_t, void*, uint32_t, void*, int32_t);
+typedef void (*vFuuippp_t)(uint32_t, uint32_t, int32_t, void*, void*, void*);
+typedef void (*vFupupip_t)(uint32_t, void*, uint32_t, void*, int32_t, void*);
 
 #define SUPER() ADDED_FUNCTIONS() \
 	GO(glXSwapIntervalMESA, iFi_t) \
@@ -38,10 +44,22 @@ typedef void* (*pFXppi_t)(void*, void*, void*, int32_t);
 	GO(glProgramCallbackMESA, vFipp_t) \
 	GO(eglSetBlobCacheFuncsANDROID, vFppp_t) \
 	GO(glXSwapIntervalEXT, vFXpi_t) \
+	GO(glCreateShaderProgramv, uFuip_t) \
 	GO(glXChooseVisual, pFXip_t) \
+	GO(glXGetFBConfigs, pFXip_t) \
+	GO(glTransformFeedbackVaryings, vFuipu_t) \
+	GO(glTransformFeedbackVaryingsEXT, vFuipu_t) \
+	GO(glCompileShaderIncludeARB, vFuipp_t) \
+	GO(glGetUniformIndices, vFuipp_t) \
 	GO(glShaderSource, vFuipp_t) \
 	GO(glShaderSourceARB, vFuipp_t) \
 	GO(glXChooseFBConfig, pFXipp_t) \
-	GO(glXCreateContext, pFXppi_t)
+	GO(glXCreateContext, pFXppi_t) \
+	GO(glBindVertexBuffers, vFuippp_t) \
+	GO(glMultiDrawElements, vFupupi_t) \
+	GO(glMultiDrawElementsEXT, vFupupi_t) \
+	GO(glBindBuffersRange, vFuuippp_t) \
+	GO(glVertexArrayVertexBuffers, vFuuippp_t) \
+	GO(glMultiDrawElementsBaseVertex, vFupupip_t)
 
 #endif // __wrappedlibglTYPES32_H_
diff --git a/src/wrapped32/generated/wrapper32.c b/src/wrapped32/generated/wrapper32.c
index 869a087b..2465563e 100644
--- a/src/wrapped32/generated/wrapper32.c
+++ b/src/wrapped32/generated/wrapper32.c
@@ -350,6 +350,7 @@ typedef void* (*SFpp_t)(void*, void*);
 typedef char* (*tFip_t)(int32_t, void*);
 typedef char* (*tFia_t)(int32_t, void*);
 typedef char* (*tFpL_t)(void*, uintptr_t);
+typedef void (*vFuBp__t)(uint32_t, struct_p_t*);
 typedef void (*vFpbp__t)(void*, struct_p_t*);
 typedef void (*vFbp_p_t)(struct_p_t*, void*);
 typedef int32_t (*iFEbp__t)(x64emu_t*, struct_p_t*);
@@ -408,7 +409,6 @@ typedef void (*vFidd_t)(int32_t, double, double);
 typedef void (*vFilu_t)(int32_t, intptr_t, uint32_t);
 typedef void (*vFill_t)(int32_t, intptr_t, intptr_t);
 typedef void (*vFilp_t)(int32_t, intptr_t, void*);
-typedef void (*vFipi_t)(int32_t, void*, int32_t);
 typedef void (*vFipu_t)(int32_t, void*, uint32_t);
 typedef void (*vFipp_t)(int32_t, void*, void*);
 typedef void (*vFCCC_t)(uint8_t, uint8_t, uint8_t);
@@ -467,7 +467,6 @@ typedef void (*vFXLi_t)(void*, uintptr_t, int32_t);
 typedef void (*vFXLL_t)(void*, uintptr_t, uintptr_t);
 typedef void (*vFXLp_t)(void*, uintptr_t, void*);
 typedef void (*vFXpi_t)(void*, void*, int32_t);
-typedef void (*vFXpu_t)(void*, void*, uint32_t);
 typedef void (*vFXpl_t)(void*, void*, intptr_t);
 typedef void (*vFXpL_t)(void*, void*, uintptr_t);
 typedef void (*vFXpp_t)(void*, void*, void*);
@@ -555,7 +554,6 @@ typedef uint32_t (*uFEpu_t)(x64emu_t*, void*, uint32_t);
 typedef uint32_t (*uFEpL_t)(x64emu_t*, void*, uintptr_t);
 typedef uint32_t (*uFilp_t)(int32_t, intptr_t, void*);
 typedef uint32_t (*uFipu_t)(int32_t, void*, uint32_t);
-typedef uint32_t (*uFuip_t)(uint32_t, int32_t, void*);
 typedef uint32_t (*uFuuu_t)(uint32_t, uint32_t, uint32_t);
 typedef uint32_t (*uFuup_t)(uint32_t, uint32_t, void*);
 typedef uint32_t (*uFupp_t)(uint32_t, void*, void*);
@@ -587,6 +585,7 @@ typedef uintptr_t (*LFXCi_t)(void*, uint8_t, int32_t);
 typedef uintptr_t (*LFXLi_t)(void*, uintptr_t, int32_t);
 typedef uintptr_t (*LFXLC_t)(void*, uintptr_t, uint8_t);
 typedef uintptr_t (*LFXpi_t)(void*, void*, int32_t);
+typedef uintptr_t (*LFXpp_t)(void*, void*, void*);
 typedef void* (*pFEip_t)(x64emu_t*, int32_t, void*);
 typedef void* (*pFEiV_t)(x64emu_t*, int32_t, void*);
 typedef void* (*pFEpi_t)(x64emu_t*, void*, int32_t);
@@ -615,6 +614,7 @@ typedef void* (*pFppu_t)(void*, void*, uint32_t);
 typedef void* (*pFppL_t)(void*, void*, uintptr_t);
 typedef void* (*pFppp_t)(void*, void*, void*);
 typedef void* (*pFpOM_t)(void*, int32_t, ...);
+typedef void* (*pFXii_t)(void*, int32_t, int32_t);
 typedef void* (*pFXip_t)(void*, int32_t, void*);
 typedef void* (*pFXLp_t)(void*, uintptr_t, void*);
 typedef void* (*pFXpi_t)(void*, void*, int32_t);
@@ -623,8 +623,13 @@ typedef void* (*aFipa_t)(int32_t, void*, void*);
 typedef void* (*SFEpp_t)(x64emu_t*, void*, void*);
 typedef void* (*SFppS_t)(void*, void*, void*);
 typedef char* (*tFipu_t)(int32_t, void*, uint32_t);
+typedef void (*vFibp_i_t)(int32_t, struct_p_t*, int32_t);
+typedef void (*vFuibp__t)(uint32_t, int32_t, struct_p_t*);
+typedef void (*vFuuBp__t)(uint32_t, uint32_t, struct_p_t*);
+typedef void (*vFuubp__t)(uint32_t, uint32_t, struct_p_t*);
 typedef void (*vFpbp_i_t)(void*, struct_p_t*, int32_t);
 typedef void (*vFbp_pp_t)(struct_p_t*, void*, void*);
+typedef void (*vFXLbL__t)(void*, uintptr_t, struct_L_t*);
 typedef void (*vFXbL_i_t)(void*, struct_L_t*, int32_t);
 typedef int32_t (*iFpibl__t)(void*, int32_t, struct_l_t*);
 typedef int32_t (*iFplbl__t)(void*, intptr_t, struct_l_t*);
@@ -718,7 +723,6 @@ typedef void (*vFuifi_t)(uint32_t, int32_t, float, int32_t);
 typedef void (*vFuiff_t)(uint32_t, int32_t, float, float);
 typedef void (*vFuidd_t)(uint32_t, int32_t, double, double);
 typedef void (*vFuilp_t)(uint32_t, int32_t, intptr_t, void*);
-typedef void (*vFuipi_t)(uint32_t, int32_t, void*, int32_t);
 typedef void (*vFuipu_t)(uint32_t, int32_t, void*, uint32_t);
 typedef void (*vFuipp_t)(uint32_t, int32_t, void*, void*);
 typedef void (*vFuIII_t)(uint32_t, int64_t, int64_t, int64_t);
@@ -757,6 +761,7 @@ typedef void (*vFUUpi_t)(uint64_t, uint64_t, void*, int32_t);
 typedef void (*vFffff_t)(float, float, float, float);
 typedef void (*vFdddd_t)(double, double, double, double);
 typedef void (*vFllii_t)(intptr_t, intptr_t, int32_t, int32_t);
+typedef void (*vFLiii_t)(uintptr_t, int32_t, int32_t, int32_t);
 typedef void (*vFpiip_t)(void*, int32_t, int32_t, void*);
 typedef void (*vFpipi_t)(void*, int32_t, void*, int32_t);
 typedef void (*vFpipp_t)(void*, int32_t, void*, void*);
@@ -769,11 +774,13 @@ typedef void (*vFpppp_t)(void*, void*, void*, void*);
 typedef void (*vFXiiL_t)(void*, int32_t, int32_t, uintptr_t);
 typedef void (*vFXiLu_t)(void*, int32_t, uintptr_t, uint32_t);
 typedef void (*vFXLii_t)(void*, uintptr_t, int32_t, int32_t);
+typedef void (*vFXLip_t)(void*, uintptr_t, int32_t, void*);
 typedef void (*vFXLLL_t)(void*, uintptr_t, uintptr_t, uintptr_t);
 typedef void (*vFXLLp_t)(void*, uintptr_t, uintptr_t, void*);
 typedef void (*vFXLpi_t)(void*, uintptr_t, void*, int32_t);
 typedef void (*vFXLpL_t)(void*, uintptr_t, void*, uintptr_t);
 typedef void (*vFXpip_t)(void*, void*, int32_t, void*);
+typedef void (*vFXppL_t)(void*, void*, void*, uintptr_t);
 typedef int8_t (*cFpiii_t)(void*, int32_t, int32_t, int32_t);
 typedef int32_t (*iFEiip_t)(x64emu_t*, int32_t, int32_t, void*);
 typedef int32_t (*iFEiiN_t)(x64emu_t*, int32_t, int32_t, ...);
@@ -849,6 +856,7 @@ typedef int32_t (*iFXLiL_t)(void*, uintptr_t, int32_t, uintptr_t);
 typedef int32_t (*iFXLip_t)(void*, uintptr_t, int32_t, void*);
 typedef int32_t (*iFXLuu_t)(void*, uintptr_t, uint32_t, uint32_t);
 typedef int32_t (*iFXLLL_t)(void*, uintptr_t, uintptr_t, uintptr_t);
+typedef int32_t (*iFXLLp_t)(void*, uintptr_t, uintptr_t, void*);
 typedef int32_t (*iFXLpi_t)(void*, uintptr_t, void*, int32_t);
 typedef int32_t (*iFXpii_t)(void*, void*, int32_t, int32_t);
 typedef int32_t (*iFXpip_t)(void*, void*, int32_t, void*);
@@ -857,6 +865,7 @@ typedef int32_t (*iFXppi_t)(void*, void*, void*, int32_t);
 typedef int32_t (*iFXppp_t)(void*, void*, void*, void*);
 typedef int64_t (*IFEpIi_t)(x64emu_t*, void*, int64_t, int32_t);
 typedef uint8_t (*CFuuff_t)(uint32_t, uint32_t, float, float);
+typedef uint32_t (*uFEuip_t)(x64emu_t*, uint32_t, int32_t, void*);
 typedef uint32_t (*uFEpii_t)(x64emu_t*, void*, int32_t, int32_t);
 typedef uint32_t (*uFuuuu_t)(uint32_t, uint32_t, uint32_t, uint32_t);
 typedef uint32_t (*uFpCCC_t)(void*, uint8_t, uint8_t, uint8_t);
@@ -876,6 +885,7 @@ 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 (*LFXLuu_t)(void*, uintptr_t, uint32_t, uint32_t);
 typedef uintptr_t (*LFXLpi_t)(void*, uintptr_t, void*, int32_t);
+typedef uintptr_t (*LFXpLp_t)(void*, void*, uintptr_t, void*);
 typedef void* (*pFEupp_t)(x64emu_t*, uint32_t, void*, void*);
 typedef void* (*pFEpip_t)(x64emu_t*, void*, int32_t, void*);
 typedef void* (*pFEppi_t)(x64emu_t*, void*, void*, int32_t);
@@ -885,10 +895,10 @@ typedef void* (*pFEXLp_t)(x64emu_t*, void*, uintptr_t, void*);
 typedef void* (*pFEXpL_t)(x64emu_t*, void*, void*, uintptr_t);
 typedef void* (*pFEXpp_t)(x64emu_t*, void*, void*, void*);
 typedef void* (*pFiiiu_t)(int32_t, int32_t, int32_t, uint32_t);
+typedef void* (*pFifff_t)(int32_t, float, float, float);
 typedef void* (*pFillu_t)(int32_t, intptr_t, intptr_t, uint32_t);
 typedef void* (*pFippu_t)(int32_t, void*, void*, uint32_t);
 typedef void* (*pFullu_t)(uint32_t, intptr_t, intptr_t, uint32_t);
-typedef void* (*pFlfff_t)(intptr_t, float, float, float);
 typedef void* (*pFpiLL_t)(void*, int32_t, uintptr_t, uintptr_t);
 typedef void* (*pFpuii_t)(void*, uint32_t, int32_t, int32_t);
 typedef void* (*pFpupp_t)(void*, uint32_t, void*, void*);
@@ -900,6 +910,8 @@ typedef void* (*pFXiip_t)(void*, int32_t, int32_t, void*);
 typedef void* (*pFXCip_t)(void*, uint8_t, int32_t, void*);
 typedef void* (*pFXLpp_t)(void*, uintptr_t, void*, void*);
 typedef void* (*pFXppp_t)(void*, void*, void*, void*);
+typedef void (*vFuibp_i_t)(uint32_t, int32_t, struct_p_t*, int32_t);
+typedef void (*vFuuuBp__t)(uint32_t, uint32_t, uint32_t, struct_p_t*);
 typedef void (*vFbp_ppp_t)(struct_p_t*, void*, void*, void*);
 typedef void (*vFXLLbL__t)(void*, uintptr_t, uintptr_t, struct_L_t*);
 typedef int32_t (*iFplibl__t)(void*, intptr_t, int32_t, struct_l_t*);
@@ -939,6 +951,7 @@ typedef int32_t (*iFXLLbLLLLiiiLLilliLL__t)(void*, uintptr_t, uintptr_t, struct_
 typedef int32_t (*iFpruuipWCCp_buuipWCCp_i_t)(void*, struct_uuipWCCp_t*, struct_uuipWCCp_t*, int32_t);
 typedef int32_t (*iFXpLbiLLLiiiiiiiLLiiLiiiiLic__t)(void*, void*, uintptr_t, struct_iLLLiiiiiiiLLiiLiiiiLic_t*);
 typedef void* (*pFXLLbiLLLiiiiiiiLLiiLiiiiLic__t)(void*, uintptr_t, uintptr_t, struct_iLLLiiiiiiiLLiiLiiiiLic_t*);
+typedef void (*vFEuipu_t)(x64emu_t*, uint32_t, int32_t, void*, uint32_t);
 typedef void (*vFEuipp_t)(x64emu_t*, uint32_t, int32_t, void*, void*);
 typedef void (*vFEpLLp_t)(x64emu_t*, void*, uintptr_t, uintptr_t, void*);
 typedef void (*vFEppiV_t)(x64emu_t*, void*, void*, int32_t, void*);
@@ -951,7 +964,6 @@ typedef void (*vFiilll_t)(int32_t, int32_t, intptr_t, intptr_t, intptr_t);
 typedef void (*vFiipll_t)(int32_t, int32_t, void*, intptr_t, intptr_t);
 typedef void (*vFiIIII_t)(int32_t, int64_t, int64_t, int64_t, int64_t);
 typedef void (*vFiuiip_t)(int32_t, uint32_t, int32_t, int32_t, void*);
-typedef void (*vFiuipi_t)(int32_t, uint32_t, int32_t, void*, int32_t);
 typedef void (*vFiuuuu_t)(int32_t, uint32_t, uint32_t, uint32_t, uint32_t);
 typedef void (*vFiulpp_t)(int32_t, uint32_t, intptr_t, void*, void*);
 typedef void (*vFiUUUU_t)(int32_t, uint64_t, uint64_t, uint64_t, uint64_t);
@@ -1012,13 +1024,11 @@ typedef void (*vFuuull_t)(uint32_t, uint32_t, uint32_t, intptr_t, intptr_t);
 typedef void (*vFuulll_t)(uint32_t, uint32_t, intptr_t, intptr_t, intptr_t);
 typedef void (*vFuullp_t)(uint32_t, uint32_t, intptr_t, intptr_t, void*);
 typedef void (*vFuupii_t)(uint32_t, uint32_t, void*, int32_t, int32_t);
-typedef void (*vFuuppu_t)(uint32_t, uint32_t, void*, void*, uint32_t);
 typedef void (*vFuUUUU_t)(uint32_t, uint64_t, uint64_t, uint64_t, uint64_t);
 typedef void (*vFuffff_t)(uint32_t, float, float, float, float);
 typedef void (*vFudddd_t)(uint32_t, double, double, double, double);
 typedef void (*vFullpu_t)(uint32_t, intptr_t, intptr_t, void*, uint32_t);
 typedef void (*vFupiii_t)(uint32_t, void*, int32_t, int32_t, int32_t);
-typedef void (*vFupupi_t)(uint32_t, void*, uint32_t, void*, int32_t);
 typedef void (*vFupupp_t)(uint32_t, void*, uint32_t, void*, void*);
 typedef void (*vFuplii_t)(uint32_t, void*, intptr_t, int32_t, int32_t);
 typedef void (*vFuppip_t)(uint32_t, void*, void*, int32_t, void*);
@@ -1106,6 +1116,7 @@ typedef void* (*pFppupp_t)(void*, void*, uint32_t, void*, void*);
 typedef void* (*pFXLipp_t)(void*, uintptr_t, int32_t, void*, void*);
 typedef void* (*pFXpipi_t)(void*, void*, int32_t, void*, int32_t);
 typedef void* (*pFXppip_t)(void*, void*, void*, int32_t, void*);
+typedef void (*vFiuibp_i_t)(int32_t, uint32_t, int32_t, struct_p_t*, int32_t);
 typedef void (*vFXibL_ii_t)(void*, int32_t, struct_L_t*, int32_t, int32_t);
 typedef int32_t (*iFEBh_ppp_t)(x64emu_t*, struct_h_t*, void*, void*, void*);
 typedef int32_t (*iFppppbp__t)(void*, void*, void*, void*, struct_p_t*);
@@ -1135,6 +1146,8 @@ typedef uintptr_t (*LFpLpriiiiiiiiilt_a_t)(void*, uintptr_t, void*, struct_iiiii
 typedef int32_t (*iFXLpbLWWWcc_bLWWWcc__t)(void*, uintptr_t, void*, struct_LWWWcc_t*, struct_LWWWcc_t*);
 typedef int32_t (*iFXLpBLWWWcc_BLWWWcc__t)(void*, uintptr_t, void*, struct_LWWWcc_t*, struct_LWWWcc_t*);
 typedef void (*vFEiiipp_t)(x64emu_t*, int32_t, int32_t, int32_t, void*, void*);
+typedef void (*vFEuippp_t)(x64emu_t*, uint32_t, int32_t, void*, void*, void*);
+typedef void (*vFEupupi_t)(x64emu_t*, uint32_t, void*, uint32_t, void*, int32_t);
 typedef void (*vFiiiiii_t)(int32_t, int32_t, int32_t, int32_t, int32_t, int32_t);
 typedef void (*vFiiiuil_t)(int32_t, int32_t, int32_t, uint32_t, int32_t, intptr_t);
 typedef void (*vFiiilpi_t)(int32_t, int32_t, int32_t, intptr_t, void*, int32_t);
@@ -1171,7 +1184,6 @@ typedef void (*vFuuiuil_t)(uint32_t, uint32_t, int32_t, uint32_t, int32_t, intpt
 typedef void (*vFuuiuip_t)(uint32_t, uint32_t, int32_t, uint32_t, int32_t, void*);
 typedef void (*vFuuiuCu_t)(uint32_t, uint32_t, int32_t, uint32_t, uint8_t, uint32_t);
 typedef void (*vFuuiuup_t)(uint32_t, uint32_t, int32_t, uint32_t, uint32_t, void*);
-typedef void (*vFuuippp_t)(uint32_t, uint32_t, int32_t, void*, void*, void*);
 typedef void (*vFuuuiii_t)(uint32_t, uint32_t, uint32_t, int32_t, int32_t, int32_t);
 typedef void (*vFuuuiup_t)(uint32_t, uint32_t, uint32_t, int32_t, uint32_t, void*);
 typedef void (*vFuuuipC_t)(uint32_t, uint32_t, uint32_t, int32_t, void*, uint8_t);
@@ -1192,13 +1204,10 @@ typedef void (*vFufffff_t)(uint32_t, float, float, float, float, float);
 typedef void (*vFuddiip_t)(uint32_t, double, double, int32_t, int32_t, void*);
 typedef void (*vFulluUC_t)(uint32_t, intptr_t, intptr_t, uint32_t, uint64_t, uint8_t);
 typedef void (*vFupiiii_t)(uint32_t, void*, int32_t, int32_t, int32_t, int32_t);
-typedef void (*vFupupip_t)(uint32_t, void*, uint32_t, void*, int32_t, void*);
-typedef void (*vFuppppu_t)(uint32_t, void*, void*, void*, void*, uint32_t);
 typedef void (*vFffffff_t)(float, float, float, float, float, float);
 typedef void (*vFdddddd_t)(double, double, double, double, double, double);
 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 (*vFXiLppi_t)(void*, int32_t, uintptr_t, void*, void*, int32_t);
 typedef void (*vFXLiiii_t)(void*, uintptr_t, int32_t, int32_t, int32_t, int32_t);
@@ -1265,6 +1274,8 @@ typedef int32_t (*iFppbL_pbL_p_t)(void*, void*, struct_L_t*, void*, struct_L_t*,
 typedef int32_t (*iFrpuu_Lrpuu_Lui_t)(struct_puu_t*, uintptr_t, struct_puu_t*, uintptr_t, uint32_t, int32_t);
 typedef int32_t (*iFXbLip_uubLip_L_t)(void*, struct_Lip_t*, uint32_t, uint32_t, struct_Lip_t*, uintptr_t);
 typedef void (*vFbp_bppup_ippbp__t)(struct_p_t*, struct_ppup_t*, int32_t, void*, void*, struct_p_t*);
+typedef void (*vFEuuippp_t)(x64emu_t*, uint32_t, uint32_t, int32_t, void*, void*, void*);
+typedef void (*vFEupupip_t)(x64emu_t*, uint32_t, void*, uint32_t, void*, int32_t, void*);
 typedef void (*vFiiiiiip_t)(int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, void*);
 typedef void (*vFiiiiuup_t)(int32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t, void*);
 typedef void (*vFiiuilil_t)(int32_t, int32_t, uint32_t, int32_t, intptr_t, int32_t, intptr_t);
@@ -1310,7 +1321,6 @@ typedef void (*vFuuffiip_t)(uint32_t, uint32_t, float, float, int32_t, int32_t,
 typedef void (*vFuuddiip_t)(uint32_t, uint32_t, double, double, int32_t, int32_t, void*);
 typedef void (*vFuulluup_t)(uint32_t, uint32_t, intptr_t, intptr_t, uint32_t, uint32_t, void*);
 typedef void (*vFuupiiii_t)(uint32_t, uint32_t, void*, int32_t, int32_t, int32_t, int32_t);
-typedef void (*vFuuppppu_t)(uint32_t, uint32_t, void*, void*, void*, void*, uint32_t);
 typedef void (*vFuuppppp_t)(uint32_t, uint32_t, void*, void*, void*, void*, void*);
 typedef void (*vFuffffff_t)(uint32_t, float, float, float, float, float, float);
 typedef void (*vFudddddd_t)(uint32_t, double, double, double, double, double, double);
@@ -1815,6 +1825,7 @@ void SFpp_32(x64emu_t *emu, uintptr_t fcn) { SFpp_t fn = (SFpp_t)fcn; R_EAX = to
 void tFip_32(x64emu_t *emu, uintptr_t fcn) { tFip_t fn = (tFip_t)fcn; R_EAX = to_cstring(fn(from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8))); }
 void tFia_32(x64emu_t *emu, uintptr_t fcn) { tFia_t fn = (tFia_t)fcn; R_EAX = to_cstring(fn(from_ptri(int32_t, R_ESP + 4), from_locale(from_ptri(ptr_t, R_ESP + 8)))); }
 void tFpL_32(x64emu_t *emu, uintptr_t fcn) { tFpL_t fn = (tFpL_t)fcn; R_EAX = to_cstring(fn(from_ptriv(R_ESP + 4), from_ulong(from_ptri(ulong_t, R_ESP + 8)))); }
+void vFuBp__32(x64emu_t *emu, uintptr_t fcn) { vFuBp__t fn = (vFuBp__t)fcn; struct_p_t arg_8={0}; fn(from_ptri(uint32_t, R_ESP + 4), *(ptr_t*)(from_ptr((R_ESP + 8))) ? &arg_8 : NULL); if (*(ptr_t*)(from_ptr((R_ESP + 8)))) to_struct_p(*(ptr_t*)(from_ptr((R_ESP + 8))), &arg_8); }
 void vFpbp__32(x64emu_t *emu, uintptr_t fcn) { vFpbp__t fn = (vFpbp__t)fcn; struct_p_t arg_8={0}; if (*(ptr_t*)(from_ptr((R_ESP + 8)))) from_struct_p(&arg_8, *(ptr_t*)(from_ptr((R_ESP + 8)))); fn(from_ptriv(R_ESP + 4), *(ptr_t*)(from_ptr((R_ESP + 8))) ? &arg_8 : NULL); if (*(ptr_t*)(from_ptr((R_ESP + 8)))) to_struct_p(*(ptr_t*)(from_ptr((R_ESP + 8))), &arg_8); }
 void vFbp_p_32(x64emu_t *emu, uintptr_t fcn) { vFbp_p_t fn = (vFbp_p_t)fcn; struct_p_t arg_4={0}; if (*(ptr_t*)(from_ptr((R_ESP + 4)))) from_struct_p(&arg_4, *(ptr_t*)(from_ptr((R_ESP + 4)))); fn(*(ptr_t*)(from_ptr((R_ESP + 4))) ? &arg_4 : NULL, from_ptriv(R_ESP + 8)); if (*(ptr_t*)(from_ptr((R_ESP + 4)))) to_struct_p(*(ptr_t*)(from_ptr((R_ESP + 4))), &arg_4); }
 void iFEbp__32(x64emu_t *emu, uintptr_t fcn) { iFEbp__t fn = (iFEbp__t)fcn; struct_p_t arg_4={0}; if (*(ptr_t*)(from_ptr((R_ESP + 4)))) from_struct_p(&arg_4, *(ptr_t*)(from_ptr((R_ESP + 4)))); R_EAX = fn(emu, *(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); }
@@ -1873,7 +1884,6 @@ void vFidd_32(x64emu_t *emu, uintptr_t fcn) { vFidd_t fn = (vFidd_t)fcn; fn(from
 void vFilu_32(x64emu_t *emu, uintptr_t fcn) { vFilu_t fn = (vFilu_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_long(from_ptri(long_t, R_ESP + 8)), from_ptri(uint32_t, R_ESP + 12)); }
 void vFill_32(x64emu_t *emu, uintptr_t fcn) { vFill_t fn = (vFill_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_long(from_ptri(long_t, R_ESP + 8)), from_long(from_ptri(long_t, R_ESP + 12))); }
 void vFilp_32(x64emu_t *emu, uintptr_t fcn) { vFilp_t fn = (vFilp_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_long(from_ptri(long_t, R_ESP + 8)), from_ptriv(R_ESP + 12)); }
-void vFipi_32(x64emu_t *emu, uintptr_t fcn) { vFipi_t fn = (vFipi_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(int32_t, R_ESP + 12)); }
 void vFipu_32(x64emu_t *emu, uintptr_t fcn) { vFipu_t fn = (vFipu_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(uint32_t, R_ESP + 12)); }
 void vFipp_32(x64emu_t *emu, uintptr_t fcn) { vFipp_t fn = (vFipp_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12)); }
 void vFCCC_32(x64emu_t *emu, uintptr_t fcn) { vFCCC_t fn = (vFCCC_t)fcn; fn(from_ptri(uint8_t, R_ESP + 4), from_ptri(uint8_t, R_ESP + 8), from_ptri(uint8_t, R_ESP + 12)); }
@@ -1932,7 +1942,6 @@ void vFXLi_32(x64emu_t *emu, uintptr_t fcn) { vFXLi_t fn = (vFXLi_t)fcn; fn(getD
 void vFXLL_32(x64emu_t *emu, uintptr_t fcn) { vFXLL_t fn = (vFXLL_t)fcn; fn(getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ulong(from_ptri(ulong_t, R_ESP + 12))); }
 void vFXLp_32(x64emu_t *emu, uintptr_t fcn) { vFXLp_t fn = (vFXLp_t)fcn; fn(getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptriv(R_ESP + 12)); }
 void vFXpi_32(x64emu_t *emu, uintptr_t fcn) { vFXpi_t fn = (vFXpi_t)fcn; fn(getDisplay(from_ptriv(R_ESP + 4)), from_ptriv(R_ESP + 8), from_ptri(int32_t, R_ESP + 12)); }
-void vFXpu_32(x64emu_t *emu, uintptr_t fcn) { vFXpu_t fn = (vFXpu_t)fcn; fn(getDisplay(from_ptriv(R_ESP + 4)), from_ptriv(R_ESP + 8), from_ptri(uint32_t, R_ESP + 12)); }
 void vFXpl_32(x64emu_t *emu, uintptr_t fcn) { vFXpl_t fn = (vFXpl_t)fcn; fn(getDisplay(from_ptriv(R_ESP + 4)), from_ptriv(R_ESP + 8), from_long(from_ptri(long_t, R_ESP + 12))); }
 void vFXpL_32(x64emu_t *emu, uintptr_t fcn) { vFXpL_t fn = (vFXpL_t)fcn; fn(getDisplay(from_ptriv(R_ESP + 4)), from_ptriv(R_ESP + 8), from_ulong(from_ptri(ulong_t, R_ESP + 12))); }
 void vFXpp_32(x64emu_t *emu, uintptr_t fcn) { vFXpp_t fn = (vFXpp_t)fcn; fn(getDisplay(from_ptriv(R_ESP + 4)), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12)); }
@@ -2020,7 +2029,6 @@ void uFEpu_32(x64emu_t *emu, uintptr_t fcn) { uFEpu_t fn = (uFEpu_t)fcn; R_EAX =
 void uFEpL_32(x64emu_t *emu, uintptr_t fcn) { uFEpL_t fn = (uFEpL_t)fcn; R_EAX = (uint32_t)fn(emu, from_ptriv(R_ESP + 4), from_ulong(from_ptri(ulong_t, R_ESP + 8))); }
 void uFilp_32(x64emu_t *emu, uintptr_t fcn) { uFilp_t fn = (uFilp_t)fcn; R_EAX = (uint32_t)fn(from_ptri(int32_t, R_ESP + 4), from_long(from_ptri(long_t, R_ESP + 8)), from_ptriv(R_ESP + 12)); }
 void uFipu_32(x64emu_t *emu, uintptr_t fcn) { uFipu_t fn = (uFipu_t)fcn; R_EAX = (uint32_t)fn(from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(uint32_t, R_ESP + 12)); }
-void uFuip_32(x64emu_t *emu, uintptr_t fcn) { uFuip_t fn = (uFuip_t)fcn; R_EAX = (uint32_t)fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptriv(R_ESP + 12)); }
 void uFuuu_32(x64emu_t *emu, uintptr_t fcn) { uFuuu_t fn = (uFuuu_t)fcn; R_EAX = (uint32_t)fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12)); }
 void uFuup_32(x64emu_t *emu, uintptr_t fcn) { uFuup_t fn = (uFuup_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)); }
 void uFupp_32(x64emu_t *emu, uintptr_t fcn) { uFupp_t fn = (uFupp_t)fcn; R_EAX = (uint32_t)fn(from_ptri(uint32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12)); }
@@ -2052,6 +2060,7 @@ void LFXCi_32(x64emu_t *emu, uintptr_t fcn) { LFXCi_t fn = (LFXCi_t)fcn; R_EAX =
 void LFXLi_32(x64emu_t *emu, uintptr_t fcn) { LFXLi_t fn = (LFXLi_t)fcn; R_EAX = to_ulong(fn(getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptri(int32_t, R_ESP + 12))); }
 void LFXLC_32(x64emu_t *emu, uintptr_t fcn) { LFXLC_t fn = (LFXLC_t)fcn; R_EAX = to_ulong(fn(getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptri(uint8_t, R_ESP + 12))); }
 void LFXpi_32(x64emu_t *emu, uintptr_t fcn) { LFXpi_t fn = (LFXpi_t)fcn; R_EAX = to_ulong(fn(getDisplay(from_ptriv(R_ESP + 4)), from_ptriv(R_ESP + 8), from_ptri(int32_t, R_ESP + 12))); }
+void LFXpp_32(x64emu_t *emu, uintptr_t fcn) { LFXpp_t fn = (LFXpp_t)fcn; R_EAX = to_ulong(fn(getDisplay(from_ptriv(R_ESP + 4)), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12))); }
 void pFEip_32(x64emu_t *emu, uintptr_t fcn) { pFEip_t fn = (pFEip_t)fcn; R_EAX = to_ptrv(fn(emu, from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8))); }
 void pFEiV_32(x64emu_t *emu, uintptr_t fcn) { pFEiV_t fn = (pFEiV_t)fcn; R_EAX = to_ptrv(fn(emu, from_ptri(int32_t, R_ESP + 4), from_ptrv(R_ESP + 8))); }
 void pFEpi_32(x64emu_t *emu, uintptr_t fcn) { pFEpi_t fn = (pFEpi_t)fcn; R_EAX = to_ptrv(fn(emu, from_ptriv(R_ESP + 4), from_ptri(int32_t, R_ESP + 8))); }
@@ -2080,6 +2089,7 @@ void pFppu_32(x64emu_t *emu, uintptr_t fcn) { pFppu_t fn = (pFppu_t)fcn; R_EAX =
 void pFppL_32(x64emu_t *emu, uintptr_t fcn) { pFppL_t fn = (pFppL_t)fcn; R_EAX = to_ptrv(fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ulong(from_ptri(ulong_t, R_ESP + 12)))); }
 void pFppp_32(x64emu_t *emu, uintptr_t fcn) { pFppp_t fn = (pFppp_t)fcn; R_EAX = to_ptrv(fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12))); }
 void pFpOM_32(x64emu_t *emu, uintptr_t fcn) { pFpOM_t fn = (pFpOM_t)fcn; R_EAX = to_ptrv(fn(from_ptriv(R_ESP + 4), of_convert32(from_ptri(int32_t, R_ESP + 8)), from_ptriv(R_ESP + 12),from_ptriv(R_ESP + 12 + 4))); }
+void pFXii_32(x64emu_t *emu, uintptr_t fcn) { pFXii_t fn = (pFXii_t)fcn; R_EAX = to_ptrv(fn(getDisplay(from_ptriv(R_ESP + 4)), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12))); }
 void pFXip_32(x64emu_t *emu, uintptr_t fcn) { pFXip_t fn = (pFXip_t)fcn; R_EAX = to_ptrv(fn(getDisplay(from_ptriv(R_ESP + 4)), from_ptri(int32_t, R_ESP + 8), from_ptriv(R_ESP + 12))); }
 void pFXLp_32(x64emu_t *emu, uintptr_t fcn) { pFXLp_t fn = (pFXLp_t)fcn; R_EAX = to_ptrv(fn(getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptriv(R_ESP + 12))); }
 void pFXpi_32(x64emu_t *emu, uintptr_t fcn) { pFXpi_t fn = (pFXpi_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))); }
@@ -2088,8 +2098,13 @@ void aFipa_32(x64emu_t *emu, uintptr_t fcn) { aFipa_t fn = (aFipa_t)fcn; R_EAX =
 void SFEpp_32(x64emu_t *emu, uintptr_t fcn) { SFEpp_t fn = (SFEpp_t)fcn; R_EAX = to_ptrv(io_convert_from(fn(emu, from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8)))); }
 void SFppS_32(x64emu_t *emu, uintptr_t fcn) { SFppS_t fn = (SFppS_t)fcn; R_EAX = to_ptrv(io_convert_from(fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), io_convert32(from_ptriv(R_ESP + 12))))); }
 void tFipu_32(x64emu_t *emu, uintptr_t fcn) { tFipu_t fn = (tFipu_t)fcn; R_EAX = to_cstring(fn(from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(uint32_t, R_ESP + 12))); }
+void vFibp_i_32(x64emu_t *emu, uintptr_t fcn) { vFibp_i_t fn = (vFibp_i_t)fcn; struct_p_t arg_8={0}; if (*(ptr_t*)(from_ptr((R_ESP + 8)))) from_struct_p(&arg_8, *(ptr_t*)(from_ptr((R_ESP + 8)))); fn(from_ptri(int32_t, 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); }
+void vFuibp__32(x64emu_t *emu, uintptr_t fcn) { vFuibp__t fn = (vFuibp__t)fcn; struct_p_t arg_12={0}; if (*(ptr_t*)(from_ptr((R_ESP + 12)))) from_struct_p(&arg_12, *(ptr_t*)(from_ptr((R_ESP + 12)))); 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); if (*(ptr_t*)(from_ptr((R_ESP + 12)))) to_struct_p(*(ptr_t*)(from_ptr((R_ESP + 12))), &arg_12); }
+void vFuuBp__32(x64emu_t *emu, uintptr_t fcn) { vFuuBp__t fn = (vFuuBp__t)fcn; struct_p_t arg_12={0}; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), *(ptr_t*)(from_ptr((R_ESP + 12))) ? &arg_12 : NULL); if (*(ptr_t*)(from_ptr((R_ESP + 12)))) to_struct_p(*(ptr_t*)(from_ptr((R_ESP + 12))), &arg_12); }
+void vFuubp__32(x64emu_t *emu, uintptr_t fcn) { vFuubp__t fn = (vFuubp__t)fcn; struct_p_t arg_12={0}; if (*(ptr_t*)(from_ptr((R_ESP + 12)))) from_struct_p(&arg_12, *(ptr_t*)(from_ptr((R_ESP + 12)))); fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), *(ptr_t*)(from_ptr((R_ESP + 12))) ? &arg_12 : NULL); if (*(ptr_t*)(from_ptr((R_ESP + 12)))) to_struct_p(*(ptr_t*)(from_ptr((R_ESP + 12))), &arg_12); }
 void vFpbp_i_32(x64emu_t *emu, uintptr_t fcn) { vFpbp_i_t fn = (vFpbp_i_t)fcn; struct_p_t arg_8={0}; if (*(ptr_t*)(from_ptr((R_ESP + 8)))) from_struct_p(&arg_8, *(ptr_t*)(from_ptr((R_ESP + 8)))); 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); }
 void vFbp_pp_32(x64emu_t *emu, uintptr_t fcn) { vFbp_pp_t fn = (vFbp_pp_t)fcn; struct_p_t arg_4={0}; if (*(ptr_t*)(from_ptr((R_ESP + 4)))) from_struct_p(&arg_4, *(ptr_t*)(from_ptr((R_ESP + 4)))); fn(*(ptr_t*)(from_ptr((R_ESP + 4))) ? &arg_4 : NULL, from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12)); if (*(ptr_t*)(from_ptr((R_ESP + 4)))) to_struct_p(*(ptr_t*)(from_ptr((R_ESP + 4))), &arg_4); }
+void vFXLbL__32(x64emu_t *emu, uintptr_t fcn) { vFXLbL__t fn = (vFXLbL__t)fcn; struct_L_t arg_12={0}; if (*(ptr_t*)(from_ptr((R_ESP + 12)))) from_struct_L(&arg_12, *(ptr_t*)(from_ptr((R_ESP + 12)))); fn(getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), *(ptr_t*)(from_ptr((R_ESP + 12))) ? &arg_12 : NULL); if (*(ptr_t*)(from_ptr((R_ESP + 12)))) to_struct_L(*(ptr_t*)(from_ptr((R_ESP + 12))), &arg_12); }
 void vFXbL_i_32(x64emu_t *emu, uintptr_t fcn) { vFXbL_i_t fn = (vFXbL_i_t)fcn; struct_L_t arg_8={0}; if (*(ptr_t*)(from_ptr((R_ESP + 8)))) from_struct_L(&arg_8, *(ptr_t*)(from_ptr((R_ESP + 8)))); fn(getDisplay(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_L(*(ptr_t*)(from_ptr((R_ESP + 8))), &arg_8); }
 void iFpibl__32(x64emu_t *emu, uintptr_t fcn) { iFpibl__t fn = (iFpibl__t)fcn; struct_l_t arg_12={0}; if (*(ptr_t*)(from_ptr((R_ESP + 12)))) from_struct_l(&arg_12, *(ptr_t*)(from_ptr((R_ESP + 12)))); R_EAX = fn(from_ptriv(R_ESP + 4), from_ptri(int32_t, R_ESP + 8), *(ptr_t*)(from_ptr((R_ESP + 12))) ? &arg_12 : NULL); if (*(ptr_t*)(from_ptr((R_ESP + 12)))) to_struct_l(*(ptr_t*)(from_ptr((R_ESP + 12))), &arg_12); }
 void iFplbl__32(x64emu_t *emu, uintptr_t fcn) { iFplbl__t fn = (iFplbl__t)fcn; struct_l_t arg_12={0}; if (*(ptr_t*)(from_ptr((R_ESP + 12)))) from_struct_l(&arg_12, *(ptr_t*)(from_ptr((R_ESP + 12)))); R_EAX = fn(from_ptriv(R_ESP + 4), from_long(from_ptri(long_t, R_ESP + 8)), *(ptr_t*)(from_ptr((R_ESP + 12))) ? &arg_12 : NULL); if (*(ptr_t*)(from_ptr((R_ESP + 12)))) to_struct_l(*(ptr_t*)(from_ptr((R_ESP + 12))), &arg_12); }
@@ -2183,7 +2198,6 @@ void vFuifi_32(x64emu_t *emu, uintptr_t fcn) { vFuifi_t fn = (vFuifi_t)fcn; fn(f
 void vFuiff_32(x64emu_t *emu, uintptr_t fcn) { vFuiff_t fn = (vFuiff_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(float, R_ESP + 12), from_ptri(float, R_ESP + 16)); }
 void vFuidd_32(x64emu_t *emu, uintptr_t fcn) { vFuidd_t fn = (vFuidd_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(double, R_ESP + 12), from_ptri(double, R_ESP + 20)); }
 void vFuilp_32(x64emu_t *emu, uintptr_t fcn) { vFuilp_t fn = (vFuilp_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_long(from_ptri(long_t, R_ESP + 12)), from_ptriv(R_ESP + 16)); }
-void vFuipi_32(x64emu_t *emu, uintptr_t fcn) { vFuipi_t fn = (vFuipi_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptriv(R_ESP + 12), from_ptri(int32_t, R_ESP + 16)); }
 void vFuipu_32(x64emu_t *emu, uintptr_t fcn) { vFuipu_t fn = (vFuipu_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptriv(R_ESP + 12), from_ptri(uint32_t, R_ESP + 16)); }
 void vFuipp_32(x64emu_t *emu, uintptr_t fcn) { vFuipp_t fn = (vFuipp_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16)); }
 void vFuIII_32(x64emu_t *emu, uintptr_t fcn) { vFuIII_t fn = (vFuIII_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int64_t, R_ESP + 8), from_ptri(int64_t, R_ESP + 16), from_ptri(int64_t, R_ESP + 24)); }
@@ -2222,6 +2236,7 @@ void vFUUpi_32(x64emu_t *emu, uintptr_t fcn) { vFUUpi_t fn = (vFUUpi_t)fcn; fn(f
 void vFffff_32(x64emu_t *emu, uintptr_t fcn) { vFffff_t fn = (vFffff_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)); }
 void vFdddd_32(x64emu_t *emu, uintptr_t fcn) { vFdddd_t fn = (vFdddd_t)fcn; fn(from_ptri(double, R_ESP + 4), from_ptri(double, R_ESP + 12), from_ptri(double, R_ESP + 20), from_ptri(double, R_ESP + 28)); }
 void vFllii_32(x64emu_t *emu, uintptr_t fcn) { vFllii_t fn = (vFllii_t)fcn; fn(from_long(from_ptri(long_t, R_ESP + 4)), from_long(from_ptri(long_t, R_ESP + 8)), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16)); }
+void vFLiii_32(x64emu_t *emu, uintptr_t fcn) { vFLiii_t fn = (vFLiii_t)fcn; fn(from_ulong(from_ptri(ulong_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)); }
 void vFpiip_32(x64emu_t *emu, uintptr_t fcn) { vFpiip_t fn = (vFpiip_t)fcn; 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)); }
 void vFpipi_32(x64emu_t *emu, uintptr_t fcn) { vFpipi_t fn = (vFpipi_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)); }
 void vFpipp_32(x64emu_t *emu, uintptr_t fcn) { vFpipp_t fn = (vFpipp_t)fcn; fn(from_ptriv(R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16)); }
@@ -2234,11 +2249,13 @@ void vFpppp_32(x64emu_t *emu, uintptr_t fcn) { vFpppp_t fn = (vFpppp_t)fcn; fn(f
 void vFXiiL_32(x64emu_t *emu, uintptr_t fcn) { vFXiiL_t fn = (vFXiiL_t)fcn; fn(getDisplay(from_ptriv(R_ESP + 4)), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ulong(from_ptri(ulong_t, R_ESP + 16))); }
 void vFXiLu_32(x64emu_t *emu, uintptr_t fcn) { vFXiLu_t fn = (vFXiLu_t)fcn; fn(getDisplay(from_ptriv(R_ESP + 4)), from_ptri(int32_t, R_ESP + 8), from_ulong(from_ptri(ulong_t, R_ESP + 12)), from_ptri(uint32_t, R_ESP + 16)); }
 void vFXLii_32(x64emu_t *emu, uintptr_t fcn) { vFXLii_t fn = (vFXLii_t)fcn; fn(getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16)); }
+void vFXLip_32(x64emu_t *emu, uintptr_t fcn) { vFXLip_t fn = (vFXLip_t)fcn; fn(getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptri(int32_t, R_ESP + 12), from_ptriv(R_ESP + 16)); }
 void vFXLLL_32(x64emu_t *emu, uintptr_t fcn) { vFXLLL_t fn = (vFXLLL_t)fcn; fn(getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ulong(from_ptri(ulong_t, R_ESP + 12)), from_ulong(from_ptri(ulong_t, R_ESP + 16))); }
 void vFXLLp_32(x64emu_t *emu, uintptr_t fcn) { vFXLLp_t fn = (vFXLLp_t)fcn; fn(getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ulong(from_ptri(ulong_t, R_ESP + 12)), from_ptriv(R_ESP + 16)); }
 void vFXLpi_32(x64emu_t *emu, uintptr_t fcn) { vFXLpi_t fn = (vFXLpi_t)fcn; fn(getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptriv(R_ESP + 12), from_ptri(int32_t, R_ESP + 16)); }
 void vFXLpL_32(x64emu_t *emu, uintptr_t fcn) { vFXLpL_t fn = (vFXLpL_t)fcn; fn(getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptriv(R_ESP + 12), from_ulong(from_ptri(ulong_t, R_ESP + 16))); }
 void vFXpip_32(x64emu_t *emu, uintptr_t fcn) { vFXpip_t fn = (vFXpip_t)fcn; fn(getDisplay(from_ptriv(R_ESP + 4)), from_ptriv(R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptriv(R_ESP + 16)); }
+void vFXppL_32(x64emu_t *emu, uintptr_t fcn) { vFXppL_t fn = (vFXppL_t)fcn; fn(getDisplay(from_ptriv(R_ESP + 4)), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12), from_ulong(from_ptri(ulong_t, R_ESP + 16))); }
 void cFpiii_32(x64emu_t *emu, uintptr_t fcn) { cFpiii_t fn = (cFpiii_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_ptri(int32_t, R_ESP + 16)); }
 void iFEiip_32(x64emu_t *emu, uintptr_t fcn) { iFEiip_t fn = (iFEiip_t)fcn; R_EAX = fn(emu, from_ptri(int32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptriv(R_ESP + 12)); }
 void iFEiiN_32(x64emu_t *emu, uintptr_t fcn) { iFEiiN_t fn = (iFEiiN_t)fcn; R_EAX = fn(emu, from_ptri(int32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptriv(R_ESP + 12)); }
@@ -2314,6 +2331,7 @@ void iFXLiL_32(x64emu_t *emu, uintptr_t fcn) { iFXLiL_t fn = (iFXLiL_t)fcn; R_EA
 void iFXLip_32(x64emu_t *emu, uintptr_t fcn) { iFXLip_t fn = (iFXLip_t)fcn; R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptri(int32_t, R_ESP + 12), from_ptriv(R_ESP + 16)); }
 void iFXLuu_32(x64emu_t *emu, uintptr_t fcn) { iFXLuu_t fn = (iFXLuu_t)fcn; R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptri(uint32_t, R_ESP + 12), from_ptri(uint32_t, R_ESP + 16)); }
 void iFXLLL_32(x64emu_t *emu, uintptr_t fcn) { iFXLLL_t fn = (iFXLLL_t)fcn; R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ulong(from_ptri(ulong_t, R_ESP + 12)), from_ulong(from_ptri(ulong_t, R_ESP + 16))); }
+void iFXLLp_32(x64emu_t *emu, uintptr_t fcn) { iFXLLp_t fn = (iFXLLp_t)fcn; R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ulong(from_ptri(ulong_t, R_ESP + 12)), from_ptriv(R_ESP + 16)); }
 void iFXLpi_32(x64emu_t *emu, uintptr_t fcn) { iFXLpi_t fn = (iFXLpi_t)fcn; R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptriv(R_ESP + 12), from_ptri(int32_t, R_ESP + 16)); }
 void iFXpii_32(x64emu_t *emu, uintptr_t fcn) { iFXpii_t fn = (iFXpii_t)fcn; R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), from_ptriv(R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16)); }
 void iFXpip_32(x64emu_t *emu, uintptr_t fcn) { iFXpip_t fn = (iFXpip_t)fcn; R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), from_ptriv(R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptriv(R_ESP + 16)); }
@@ -2322,6 +2340,7 @@ void iFXppi_32(x64emu_t *emu, uintptr_t fcn) { iFXppi_t fn = (iFXppi_t)fcn; R_EA
 void iFXppp_32(x64emu_t *emu, uintptr_t fcn) { iFXppp_t fn = (iFXppp_t)fcn; R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16)); }
 void IFEpIi_32(x64emu_t *emu, uintptr_t fcn) { IFEpIi_t fn = (IFEpIi_t)fcn; ui64_t r; r.i = fn(emu, from_ptriv(R_ESP + 4), from_ptri(int64_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 16)); R_EAX = r.d[0]; R_EDX = r.d[1]; }
 void CFuuff_32(x64emu_t *emu, uintptr_t fcn) { CFuuff_t fn = (CFuuff_t)fcn; R_EAX = (unsigned char)fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(float, R_ESP + 12), from_ptri(float, R_ESP + 16)); }
+void uFEuip_32(x64emu_t *emu, uintptr_t fcn) { uFEuip_t fn = (uFEuip_t)fcn; R_EAX = (uint32_t)fn(emu, from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptriv(R_ESP + 12)); }
 void uFEpii_32(x64emu_t *emu, uintptr_t fcn) { uFEpii_t fn = (uFEpii_t)fcn; R_EAX = (uint32_t)fn(emu, from_ptriv(R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12)); }
 void uFuuuu_32(x64emu_t *emu, uintptr_t fcn) { uFuuuu_t fn = (uFuuuu_t)fcn; R_EAX = (uint32_t)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)); }
 void uFpCCC_32(x64emu_t *emu, uintptr_t fcn) { uFpCCC_t fn = (uFpCCC_t)fcn; R_EAX = (uint32_t)fn(from_ptriv(R_ESP + 4), from_ptri(uint8_t, R_ESP + 8), from_ptri(uint8_t, R_ESP + 12), from_ptri(uint8_t, R_ESP + 16)); }
@@ -2341,6 +2360,7 @@ void LFppLa_32(x64emu_t *emu, uintptr_t fcn) { LFppLa_t fn = (LFppLa_t)fcn; R_EA
 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 LFXLuu_32(x64emu_t *emu, uintptr_t fcn) { LFXLuu_t fn = (LFXLuu_t)fcn; R_EAX = to_ulong(fn(getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptri(uint32_t, R_ESP + 12), from_ptri(uint32_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)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptriv(R_ESP + 12), from_ptri(int32_t, R_ESP + 16))); }
+void LFXpLp_32(x64emu_t *emu, uintptr_t fcn) { LFXpLp_t fn = (LFXpLp_t)fcn; R_EAX = to_ulong(fn(getDisplay(from_ptriv(R_ESP + 4)), from_ptriv(R_ESP + 8), from_ulong(from_ptri(ulong_t, R_ESP + 12)), from_ptriv(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 pFEpip_32(x64emu_t *emu, uintptr_t fcn) { pFEpip_t fn = (pFEpip_t)fcn; R_EAX = to_ptrv(fn(emu, from_ptriv(R_ESP + 4), from_ptri(int32_t, 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))); }
@@ -2350,10 +2370,10 @@ void pFEXLp_32(x64emu_t *emu, uintptr_t fcn) { pFEXLp_t fn = (pFEXLp_t)fcn; R_EA
 void pFEXpL_32(x64emu_t *emu, uintptr_t fcn) { pFEXpL_t fn = (pFEXpL_t)fcn; R_EAX = to_ptrv(fn(emu, getDisplay(from_ptriv(R_ESP + 4)), from_ptriv(R_ESP + 8), from_ulong(from_ptri(ulong_t, R_ESP + 12)))); }
 void pFEXpp_32(x64emu_t *emu, uintptr_t fcn) { pFEXpp_t fn = (pFEXpp_t)fcn; R_EAX = to_ptrv(fn(emu, getDisplay(from_ptriv(R_ESP + 4)), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12))); }
 void pFiiiu_32(x64emu_t *emu, uintptr_t fcn) { pFiiiu_t fn = (pFiiiu_t)fcn; R_EAX = to_ptrv(fn(from_ptri(int32_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))); }
+void pFifff_32(x64emu_t *emu, uintptr_t fcn) { pFifff_t fn = (pFifff_t)fcn; R_EAX = to_ptrv(fn(from_ptri(int32_t, R_ESP + 4), from_ptri(float, R_ESP + 8), from_ptri(float, R_ESP + 12), from_ptri(float, R_ESP + 16))); }
 void pFillu_32(x64emu_t *emu, uintptr_t fcn) { pFillu_t fn = (pFillu_t)fcn; R_EAX = to_ptrv(fn(from_ptri(int32_t, R_ESP + 4), from_long(from_ptri(long_t, R_ESP + 8)), from_long(from_ptri(long_t, R_ESP + 12)), from_ptri(uint32_t, R_ESP + 16))); }
 void pFippu_32(x64emu_t *emu, uintptr_t fcn) { pFippu_t fn = (pFippu_t)fcn; R_EAX = to_ptrv(fn(from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12), from_ptri(uint32_t, R_ESP + 16))); }
 void pFullu_32(x64emu_t *emu, uintptr_t fcn) { pFullu_t fn = (pFullu_t)fcn; R_EAX = to_ptrv(fn(from_ptri(uint32_t, R_ESP + 4), from_long(from_ptri(long_t, R_ESP + 8)), from_long(from_ptri(long_t, R_ESP + 12)), from_ptri(uint32_t, R_ESP + 16))); }
-void pFlfff_32(x64emu_t *emu, uintptr_t fcn) { pFlfff_t fn = (pFlfff_t)fcn; R_EAX = to_ptrv(fn(from_long(from_ptri(long_t, R_ESP + 4)), from_ptri(float, R_ESP + 8), from_ptri(float, R_ESP + 12), from_ptri(float, R_ESP + 16))); }
 void pFpiLL_32(x64emu_t *emu, uintptr_t fcn) { pFpiLL_t fn = (pFpiLL_t)fcn; R_EAX = to_ptrv(fn(from_ptriv(R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ulong(from_ptri(ulong_t, R_ESP + 12)), from_ulong(from_ptri(ulong_t, R_ESP + 16)))); }
 void pFpuii_32(x64emu_t *emu, uintptr_t fcn) { pFpuii_t fn = (pFpuii_t)fcn; R_EAX = to_ptrv(fn(from_ptriv(R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16))); }
 void pFpupp_32(x64emu_t *emu, uintptr_t fcn) { pFpupp_t fn = (pFpupp_t)fcn; R_EAX = to_ptrv(fn(from_ptriv(R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16))); }
@@ -2365,6 +2385,8 @@ void pFXiip_32(x64emu_t *emu, uintptr_t fcn) { pFXiip_t fn = (pFXiip_t)fcn; R_EA
 void pFXCip_32(x64emu_t *emu, uintptr_t fcn) { pFXCip_t fn = (pFXCip_t)fcn; R_EAX = to_ptrv(fn(getDisplay(from_ptriv(R_ESP + 4)), from_ptri(uint8_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptriv(R_ESP + 16))); }
 void pFXLpp_32(x64emu_t *emu, uintptr_t fcn) { pFXLpp_t fn = (pFXLpp_t)fcn; R_EAX = to_ptrv(fn(getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16))); }
 void pFXppp_32(x64emu_t *emu, uintptr_t fcn) { pFXppp_t fn = (pFXppp_t)fcn; R_EAX = to_ptrv(fn(getDisplay(from_ptriv(R_ESP + 4)), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16))); }
+void vFuibp_i_32(x64emu_t *emu, uintptr_t fcn) { vFuibp_i_t fn = (vFuibp_i_t)fcn; struct_p_t arg_12={0}; if (*(ptr_t*)(from_ptr((R_ESP + 12)))) from_struct_p(&arg_12, *(ptr_t*)(from_ptr((R_ESP + 12)))); 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, from_ptri(int32_t, R_ESP + 16)); if (*(ptr_t*)(from_ptr((R_ESP + 12)))) to_struct_p(*(ptr_t*)(from_ptr((R_ESP + 12))), &arg_12); }
+void vFuuuBp__32(x64emu_t *emu, uintptr_t fcn) { vFuuuBp__t fn = (vFuuuBp__t)fcn; struct_p_t arg_16={0}; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), *(ptr_t*)(from_ptr((R_ESP + 16))) ? &arg_16 : NULL); if (*(ptr_t*)(from_ptr((R_ESP + 16)))) to_struct_p(*(ptr_t*)(from_ptr((R_ESP + 16))), &arg_16); }
 void vFbp_ppp_32(x64emu_t *emu, uintptr_t fcn) { vFbp_ppp_t fn = (vFbp_ppp_t)fcn; struct_p_t arg_4={0}; if (*(ptr_t*)(from_ptr((R_ESP + 4)))) from_struct_p(&arg_4, *(ptr_t*)(from_ptr((R_ESP + 4)))); fn(*(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_p(*(ptr_t*)(from_ptr((R_ESP + 4))), &arg_4); }
 void vFXLLbL__32(x64emu_t *emu, uintptr_t fcn) { vFXLLbL__t fn = (vFXLLbL__t)fcn; struct_L_t arg_16={0}; if (*(ptr_t*)(from_ptr((R_ESP + 16)))) from_struct_L(&arg_16, *(ptr_t*)(from_ptr((R_ESP + 16)))); fn(getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ulong(from_ptri(ulong_t, R_ESP + 12)), *(ptr_t*)(from_ptr((R_ESP + 16))) ? &arg_16 : NULL); if (*(ptr_t*)(from_ptr((R_ESP + 16)))) to_struct_L(*(ptr_t*)(from_ptr((R_ESP + 16))), &arg_16); }
 void iFplibl__32(x64emu_t *emu, uintptr_t fcn) { iFplibl__t fn = (iFplibl__t)fcn; struct_l_t arg_16={0}; if (*(ptr_t*)(from_ptr((R_ESP + 16)))) from_struct_l(&arg_16, *(ptr_t*)(from_ptr((R_ESP + 16)))); R_EAX = fn(from_ptriv(R_ESP + 4), from_long(from_ptri(long_t, R_ESP + 8)), from_ptri(int32_t, R_ESP + 12), *(ptr_t*)(from_ptr((R_ESP + 16))) ? &arg_16 : NULL); if (*(ptr_t*)(from_ptr((R_ESP + 16)))) to_struct_l(*(ptr_t*)(from_ptr((R_ESP + 16))), &arg_16); }
@@ -2404,6 +2426,7 @@ void iFXLLbLLLLiiiLLilliLL__32(x64emu_t *emu, uintptr_t fcn) { iFXLLbLLLLiiiLLil
 void iFpruuipWCCp_buuipWCCp_i_32(x64emu_t *emu, uintptr_t fcn) { iFpruuipWCCp_buuipWCCp_i_t fn = (iFpruuipWCCp_buuipWCCp_i_t)fcn; struct_uuipWCCp_t arg_8={0}; if (*(ptr_t*)(from_ptr((R_ESP + 8)))) from_struct_uuipWCCp(&arg_8, *(ptr_t*)(from_ptr((R_ESP + 8)))); struct_uuipWCCp_t arg_12={0}; if (*(ptr_t*)(from_ptr((R_ESP + 12)))) from_struct_uuipWCCp(&arg_12, *(ptr_t*)(from_ptr((R_ESP + 12)))); R_EAX = fn(from_ptriv(R_ESP + 4), *(ptr_t*)(from_ptr((R_ESP + 8))) ? &arg_8 : NULL, *(ptr_t*)(from_ptr((R_ESP + 12))) ? &arg_12 : NULL, from_ptri(int32_t, R_ESP + 16)); if (*(ptr_t*)(from_ptr((R_ESP + 12)))) to_struct_uuipWCCp(*(ptr_t*)(from_ptr((R_ESP + 12))), &arg_12); }
 void iFXpLbiLLLiiiiiiiLLiiLiiiiLic__32(x64emu_t *emu, uintptr_t fcn) { iFXpLbiLLLiiiiiiiLLiiLiiiiLic__t fn = (iFXpLbiLLLiiiiiiiLLiiLiiiiLic__t)fcn; struct_iLLLiiiiiiiLLiiLiiiiLic_t arg_16={0}; if (*(ptr_t*)(from_ptr((R_ESP + 16)))) from_struct_iLLLiiiiiiiLLiiLiiiiLic(&arg_16, *(ptr_t*)(from_ptr((R_ESP + 16)))); R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), from_ptriv(R_ESP + 8), from_ulong(from_ptri(ulong_t, R_ESP + 12)), *(ptr_t*)(from_ptr((R_ESP + 16))) ? &arg_16 : NULL); if (*(ptr_t*)(from_ptr((R_ESP + 16)))) to_struct_iLLLiiiiiiiLLiiLiiiiLic(*(ptr_t*)(from_ptr((R_ESP + 16))), &arg_16); }
 void pFXLLbiLLLiiiiiiiLLiiLiiiiLic__32(x64emu_t *emu, uintptr_t fcn) { pFXLLbiLLLiiiiiiiLLiiLiiiiLic__t fn = (pFXLLbiLLLiiiiiiiLLiiLiiiiLic__t)fcn; struct_iLLLiiiiiiiLLiiLiiiiLic_t arg_16={0}; if (*(ptr_t*)(from_ptr((R_ESP + 16)))) from_struct_iLLLiiiiiiiLLiiLiiiiLic(&arg_16, *(ptr_t*)(from_ptr((R_ESP + 16)))); R_EAX = to_ptrv(fn(getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ulong(from_ptri(ulong_t, R_ESP + 12)), *(ptr_t*)(from_ptr((R_ESP + 16))) ? &arg_16 : NULL)); if (*(ptr_t*)(from_ptr((R_ESP + 16)))) to_struct_iLLLiiiiiiiLLiiLiiiiLic(*(ptr_t*)(from_ptr((R_ESP + 16))), &arg_16); }
+void vFEuipu_32(x64emu_t *emu, uintptr_t fcn) { vFEuipu_t fn = (vFEuipu_t)fcn; fn(emu, from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptriv(R_ESP + 12), from_ptri(uint32_t, R_ESP + 16)); }
 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)); }
 void vFEpLLp_32(x64emu_t *emu, uintptr_t fcn) { vFEpLLp_t fn = (vFEpLLp_t)fcn; fn(emu, from_ptriv(R_ESP + 4), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ulong(from_ptri(ulong_t, R_ESP + 12)), from_ptriv(R_ESP + 16)); }
 void vFEppiV_32(x64emu_t *emu, uintptr_t fcn) { vFEppiV_t fn = (vFEppiV_t)fcn; fn(emu, from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptrv(R_ESP + 16)); }
@@ -2416,7 +2439,6 @@ void vFiilll_32(x64emu_t *emu, uintptr_t fcn) { vFiilll_t fn = (vFiilll_t)fcn; f
 void vFiipll_32(x64emu_t *emu, uintptr_t fcn) { vFiipll_t fn = (vFiipll_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptriv(R_ESP + 12), from_long(from_ptri(long_t, R_ESP + 16)), from_long(from_ptri(long_t, R_ESP + 20))); }
 void vFiIIII_32(x64emu_t *emu, uintptr_t fcn) { vFiIIII_t fn = (vFiIIII_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(int64_t, R_ESP + 8), from_ptri(int64_t, R_ESP + 16), from_ptri(int64_t, R_ESP + 24), from_ptri(int64_t, R_ESP + 32)); }
 void vFiuiip_32(x64emu_t *emu, uintptr_t fcn) { vFiuiip_t fn = (vFiuiip_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptriv(R_ESP + 20)); }
-void vFiuipi_32(x64emu_t *emu, uintptr_t fcn) { vFiuipi_t fn = (vFiuipi_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptriv(R_ESP + 16), from_ptri(int32_t, R_ESP + 20)); }
 void vFiuuuu_32(x64emu_t *emu, uintptr_t fcn) { vFiuuuu_t fn = (vFiuuuu_t)fcn; fn(from_ptri(int32_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)); }
 void vFiulpp_32(x64emu_t *emu, uintptr_t fcn) { vFiulpp_t fn = (vFiulpp_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_long(from_ptri(long_t, R_ESP + 12)), from_ptriv(R_ESP + 16), from_ptriv(R_ESP + 20)); }
 void vFiUUUU_32(x64emu_t *emu, uintptr_t fcn) { vFiUUUU_t fn = (vFiUUUU_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(uint64_t, R_ESP + 8), from_ptri(uint64_t, R_ESP + 16), from_ptri(uint64_t, R_ESP + 24), from_ptri(uint64_t, R_ESP + 32)); }
@@ -2477,13 +2499,11 @@ void vFuuull_32(x64emu_t *emu, uintptr_t fcn) { vFuuull_t fn = (vFuuull_t)fcn; f
 void vFuulll_32(x64emu_t *emu, uintptr_t fcn) { vFuulll_t fn = (vFuulll_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_long(from_ptri(long_t, R_ESP + 12)), from_long(from_ptri(long_t, R_ESP + 16)), from_long(from_ptri(long_t, R_ESP + 20))); }
 void vFuullp_32(x64emu_t *emu, uintptr_t fcn) { vFuullp_t fn = (vFuullp_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_long(from_ptri(long_t, R_ESP + 12)), from_long(from_ptri(long_t, R_ESP + 16)), from_ptriv(R_ESP + 20)); }
 void vFuupii_32(x64emu_t *emu, uintptr_t fcn) { vFuupii_t fn = (vFuupii_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptriv(R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20)); }
-void vFuuppu_32(x64emu_t *emu, uintptr_t fcn) { vFuuppu_t fn = (vFuuppu_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16), from_ptri(uint32_t, R_ESP + 20)); }
 void vFuUUUU_32(x64emu_t *emu, uintptr_t fcn) { vFuUUUU_t fn = (vFuUUUU_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint64_t, R_ESP + 8), from_ptri(uint64_t, R_ESP + 16), from_ptri(uint64_t, R_ESP + 24), from_ptri(uint64_t, R_ESP + 32)); }
 void vFuffff_32(x64emu_t *emu, uintptr_t fcn) { vFuffff_t fn = (vFuffff_t)fcn; fn(from_ptri(uint32_t, 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)); }
 void vFudddd_32(x64emu_t *emu, uintptr_t fcn) { vFudddd_t fn = (vFudddd_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(double, R_ESP + 8), from_ptri(double, R_ESP + 16), from_ptri(double, R_ESP + 24), from_ptri(double, R_ESP + 32)); }
 void vFullpu_32(x64emu_t *emu, uintptr_t fcn) { vFullpu_t fn = (vFullpu_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_long(from_ptri(long_t, R_ESP + 8)), from_long(from_ptri(long_t, R_ESP + 12)), from_ptriv(R_ESP + 16), from_ptri(uint32_t, R_ESP + 20)); }
 void vFupiii_32(x64emu_t *emu, uintptr_t fcn) { vFupiii_t fn = (vFupiii_t)fcn; fn(from_ptri(uint32_t, 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)); }
-void vFupupi_32(x64emu_t *emu, uintptr_t fcn) { vFupupi_t fn = (vFupupi_t)fcn; fn(from_ptri(uint32_t, 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)); }
 void vFupupp_32(x64emu_t *emu, uintptr_t fcn) { vFupupp_t fn = (vFupupp_t)fcn; fn(from_ptri(uint32_t, 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 vFuplii_32(x64emu_t *emu, uintptr_t fcn) { vFuplii_t fn = (vFuplii_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_long(from_ptri(long_t, R_ESP + 12)), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20)); }
 void vFuppip_32(x64emu_t *emu, uintptr_t fcn) { vFuppip_t fn = (vFuppip_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptriv(R_ESP + 20)); }
@@ -2571,6 +2591,7 @@ void pFppupp_32(x64emu_t *emu, uintptr_t fcn) { pFppupp_t fn = (pFppupp_t)fcn; R
 void pFXLipp_32(x64emu_t *emu, uintptr_t fcn) { pFXLipp_t fn = (pFXLipp_t)fcn; R_EAX = to_ptrv(fn(getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptri(int32_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 pFXppip_32(x64emu_t *emu, uintptr_t fcn) { pFXppip_t fn = (pFXppip_t)fcn; R_EAX = to_ptrv(fn(getDisplay(from_ptriv(R_ESP + 4)), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptriv(R_ESP + 20))); }
+void vFiuibp_i_32(x64emu_t *emu, uintptr_t fcn) { vFiuibp_i_t fn = (vFiuibp_i_t)fcn; struct_p_t arg_16={0}; if (*(ptr_t*)(from_ptr((R_ESP + 16)))) from_struct_p(&arg_16, *(ptr_t*)(from_ptr((R_ESP + 16)))); fn(from_ptri(int32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), *(ptr_t*)(from_ptr((R_ESP + 16))) ? &arg_16 : NULL, from_ptri(int32_t, R_ESP + 20)); if (*(ptr_t*)(from_ptr((R_ESP + 16)))) to_struct_p(*(ptr_t*)(from_ptr((R_ESP + 16))), &arg_16); }
 void vFXibL_ii_32(x64emu_t *emu, uintptr_t fcn) { vFXibL_ii_t fn = (vFXibL_ii_t)fcn; struct_L_t arg_12={0}; if (*(ptr_t*)(from_ptr((R_ESP + 12)))) from_struct_L(&arg_12, *(ptr_t*)(from_ptr((R_ESP + 12)))); fn(getDisplay(from_ptriv(R_ESP + 4)), from_ptri(int32_t, R_ESP + 8), *(ptr_t*)(from_ptr((R_ESP + 12))) ? &arg_12 : NULL, from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20)); if (*(ptr_t*)(from_ptr((R_ESP + 12)))) to_struct_L(*(ptr_t*)(from_ptr((R_ESP + 12))), &arg_12); }
 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 iFppppbp__32(x64emu_t *emu, uintptr_t fcn) { iFppppbp__t fn = (iFppppbp__t)fcn; struct_p_t arg_20={0}; if (*(ptr_t*)(from_ptr((R_ESP + 20)))) from_struct_p(&arg_20, *(ptr_t*)(from_ptr((R_ESP + 20)))); R_EAX = fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16), *(ptr_t*)(from_ptr((R_ESP + 20))) ? &arg_20 : NULL); if (*(ptr_t*)(from_ptr((R_ESP + 20)))) to_struct_p(*(ptr_t*)(from_ptr((R_ESP + 20))), &arg_20); }
@@ -2600,6 +2621,8 @@ void LFpLpriiiiiiiiilt_a_32(x64emu_t *emu, uintptr_t fcn) { LFpLpriiiiiiiiilt_a_
 void iFXLpbLWWWcc_bLWWWcc__32(x64emu_t *emu, uintptr_t fcn) { iFXLpbLWWWcc_bLWWWcc__t fn = (iFXLpbLWWWcc_bLWWWcc__t)fcn; struct_LWWWcc_t arg_16={0}; if (*(ptr_t*)(from_ptr((R_ESP + 16)))) from_struct_LWWWcc(&arg_16, *(ptr_t*)(from_ptr((R_ESP + 16)))); struct_LWWWcc_t arg_20={0}; if (*(ptr_t*)(from_ptr((R_ESP + 20)))) from_struct_LWWWcc(&arg_20, *(ptr_t*)(from_ptr((R_ESP + 20)))); R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptriv(R_ESP + 12), *(ptr_t*)(from_ptr((R_ESP + 16))) ? &arg_16 : NULL, *(ptr_t*)(from_ptr((R_ESP + 20))) ? &arg_20 : NULL); if (*(ptr_t*)(from_ptr((R_ESP + 16)))) to_struct_LWWWcc(*(ptr_t*)(from_ptr((R_ESP + 16))), &arg_16); if (*(ptr_t*)(from_ptr((R_ESP + 20)))) to_struct_LWWWcc(*(ptr_t*)(from_ptr((R_ESP + 20))), &arg_20); }
 void iFXLpBLWWWcc_BLWWWcc__32(x64emu_t *emu, uintptr_t fcn) { iFXLpBLWWWcc_BLWWWcc__t fn = (iFXLpBLWWWcc_BLWWWcc__t)fcn; struct_LWWWcc_t arg_16={0}; struct_LWWWcc_t arg_20={0}; R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), from_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptriv(R_ESP + 12), *(ptr_t*)(from_ptr((R_ESP + 16))) ? &arg_16 : NULL, *(ptr_t*)(from_ptr((R_ESP + 20))) ? &arg_20 : NULL); if (*(ptr_t*)(from_ptr((R_ESP + 16)))) to_struct_LWWWcc(*(ptr_t*)(from_ptr((R_ESP + 16))), &arg_16); if (*(ptr_t*)(from_ptr((R_ESP + 20)))) to_struct_LWWWcc(*(ptr_t*)(from_ptr((R_ESP + 20))), &arg_20); }
 void vFEiiipp_32(x64emu_t *emu, uintptr_t fcn) { vFEiiipp_t fn = (vFEiiipp_t)fcn; fn(emu, 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 vFEuippp_32(x64emu_t *emu, uintptr_t fcn) { vFEuippp_t fn = (vFEuippp_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), from_ptriv(R_ESP + 20)); }
+void vFEupupi_32(x64emu_t *emu, uintptr_t fcn) { vFEupupi_t fn = (vFEupupi_t)fcn; fn(emu, from_ptri(uint32_t, 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)); }
 void vFiiiiii_32(x64emu_t *emu, uintptr_t fcn) { vFiiiiii_t fn = (vFiiiiii_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)); }
 void vFiiiuil_32(x64emu_t *emu, uintptr_t fcn) { vFiiiuil_t fn = (vFiiiuil_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(uint32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_long(from_ptri(long_t, R_ESP + 24))); }
 void vFiiilpi_32(x64emu_t *emu, uintptr_t fcn) { vFiiilpi_t fn = (vFiiilpi_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_long(from_ptri(long_t, R_ESP + 16)), from_ptriv(R_ESP + 20), from_ptri(int32_t, R_ESP + 24)); }
@@ -2636,7 +2659,6 @@ void vFuuiuil_32(x64emu_t *emu, uintptr_t fcn) { vFuuiuil_t fn = (vFuuiuil_t)fcn
 void vFuuiuip_32(x64emu_t *emu, uintptr_t fcn) { vFuuiuip_t fn = (vFuuiuip_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(uint32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptriv(R_ESP + 24)); }
 void vFuuiuCu_32(x64emu_t *emu, uintptr_t fcn) { vFuuiuCu_t fn = (vFuuiuCu_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(uint32_t, R_ESP + 16), from_ptri(uint8_t, R_ESP + 20), from_ptri(uint32_t, R_ESP + 24)); }
 void vFuuiuup_32(x64emu_t *emu, uintptr_t fcn) { vFuuiuup_t fn = (vFuuiuup_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_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 vFuuippp_32(x64emu_t *emu, uintptr_t fcn) { vFuuippp_t fn = (vFuuippp_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_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 vFuuuiii_32(x64emu_t *emu, uintptr_t fcn) { vFuuuiii_t fn = (vFuuuiii_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(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24)); }
 void vFuuuiup_32(x64emu_t *emu, uintptr_t fcn) { vFuuuiup_t fn = (vFuuuiup_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(int32_t, R_ESP + 16), from_ptri(uint32_t, R_ESP + 20), from_ptriv(R_ESP + 24)); }
 void vFuuuipC_32(x64emu_t *emu, uintptr_t fcn) { vFuuuipC_t fn = (vFuuuipC_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(int32_t, R_ESP + 16), from_ptriv(R_ESP + 20), from_ptri(uint8_t, R_ESP + 24)); }
@@ -2657,13 +2679,10 @@ void vFufffff_32(x64emu_t *emu, uintptr_t fcn) { vFufffff_t fn = (vFufffff_t)fcn
 void vFuddiip_32(x64emu_t *emu, uintptr_t fcn) { vFuddiip_t fn = (vFuddiip_t)fcn; fn(from_ptri(uint32_t, 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_ptriv(R_ESP + 32)); }
 void vFulluUC_32(x64emu_t *emu, uintptr_t fcn) { vFulluUC_t fn = (vFulluUC_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_long(from_ptri(long_t, R_ESP + 8)), from_long(from_ptri(long_t, R_ESP + 12)), from_ptri(uint32_t, R_ESP + 16), from_ptri(uint64_t, R_ESP + 20), from_ptri(uint8_t, R_ESP + 28)); }
 void vFupiiii_32(x64emu_t *emu, uintptr_t fcn) { vFupiiii_t fn = (vFupiiii_t)fcn; fn(from_ptri(uint32_t, 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 vFupupip_32(x64emu_t *emu, uintptr_t fcn) { vFupupip_t fn = (vFupupip_t)fcn; fn(from_ptri(uint32_t, 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_ptriv(R_ESP + 24)); }
-void vFuppppu_32(x64emu_t *emu, uintptr_t fcn) { vFuppppu_t fn = (vFuppppu_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16), from_ptriv(R_ESP + 20), from_ptri(uint32_t, R_ESP + 24)); }
 void vFffffff_32(x64emu_t *emu, uintptr_t fcn) { vFffffff_t fn = (vFffffff_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)); }
 void vFdddddd_32(x64emu_t *emu, uintptr_t fcn) { vFdddddd_t fn = (vFdddddd_t)fcn; fn(from_ptri(double, R_ESP + 4), from_ptri(double, R_ESP + 12), from_ptri(double, R_ESP + 20), from_ptri(double, R_ESP + 28), from_ptri(double, R_ESP + 36), from_ptri(double, R_ESP + 44)); }
 void vFpipipV_32(x64emu_t *emu, uintptr_t fcn) { vFpipipV_t fn = (vFpipipV_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_ptrv(R_ESP + 24)); }
 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 vFXiLppi_32(x64emu_t *emu, uintptr_t fcn) { vFXiLppi_t fn = (vFXiLppi_t)fcn; fn(getDisplay(from_ptriv(R_ESP + 4)), from_ptri(int32_t, R_ESP + 8), from_ulong(from_ptri(ulong_t, R_ESP + 12)), from_ptriv(R_ESP + 16), from_ptriv(R_ESP + 20), from_ptri(int32_t, 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)), from_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)); }
@@ -2730,6 +2749,8 @@ void iFppbL_pbL_p_32(x64emu_t *emu, uintptr_t fcn) { iFppbL_pbL_p_t fn = (iFppbL
 void iFrpuu_Lrpuu_Lui_32(x64emu_t *emu, uintptr_t fcn) { iFrpuu_Lrpuu_Lui_t fn = (iFrpuu_Lrpuu_Lui_t)fcn; struct_puu_t arg_4={0}; if (*(ptr_t*)(from_ptr((R_ESP + 4)))) from_struct_puu(&arg_4, *(ptr_t*)(from_ptr((R_ESP + 4)))); struct_puu_t arg_12={0}; if (*(ptr_t*)(from_ptr((R_ESP + 12)))) from_struct_puu(&arg_12, *(ptr_t*)(from_ptr((R_ESP + 12)))); R_EAX = fn(*(ptr_t*)(from_ptr((R_ESP + 4))) ? &arg_4 : NULL, from_ulong(from_ptri(ulong_t, R_ESP + 8)), *(ptr_t*)(from_ptr((R_ESP + 12))) ? &arg_12 : NULL, from_ulong(from_ptri(ulong_t, R_ESP + 16)), from_ptri(uint32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24)); }
 void iFXbLip_uubLip_L_32(x64emu_t *emu, uintptr_t fcn) { iFXbLip_uubLip_L_t fn = (iFXbLip_uubLip_L_t)fcn; struct_Lip_t arg_8={0}; if (*(ptr_t*)(from_ptr((R_ESP + 8)))) from_struct_Lip(&arg_8, *(ptr_t*)(from_ptr((R_ESP + 8)))); struct_Lip_t arg_20={0}; if (*(ptr_t*)(from_ptr((R_ESP + 20)))) from_struct_Lip(&arg_20, *(ptr_t*)(from_ptr((R_ESP + 20)))); R_EAX = fn(getDisplay(from_ptriv(R_ESP + 4)), *(ptr_t*)(from_ptr((R_ESP + 8))) ? &arg_8 : NULL, from_ptri(uint32_t, R_ESP + 12), from_ptri(uint32_t, R_ESP + 16), *(ptr_t*)(from_ptr((R_ESP + 20))) ? &arg_20 : NULL, from_ulong(from_ptri(ulong_t, R_ESP + 24))); if (*(ptr_t*)(from_ptr((R_ESP + 8)))) to_struct_Lip(*(ptr_t*)(from_ptr((R_ESP + 8))), &arg_8); if (*(ptr_t*)(from_ptr((R_ESP + 20)))) to_struct_Lip(*(ptr_t*)(from_ptr((R_ESP + 20))), &arg_20); }
 void vFbp_bppup_ippbp__32(x64emu_t *emu, uintptr_t fcn) { vFbp_bppup_ippbp__t fn = (vFbp_bppup_ippbp__t)fcn; struct_p_t arg_4={0}; if (*(ptr_t*)(from_ptr((R_ESP + 4)))) from_struct_p(&arg_4, *(ptr_t*)(from_ptr((R_ESP + 4)))); struct_ppup_t arg_8={0}; if (*(ptr_t*)(from_ptr((R_ESP + 8)))) from_struct_ppup(&arg_8, *(ptr_t*)(from_ptr((R_ESP + 8)))); struct_p_t arg_24={0}; if (*(ptr_t*)(from_ptr((R_ESP + 24)))) from_struct_p(&arg_24, *(ptr_t*)(from_ptr((R_ESP + 24)))); fn(*(ptr_t*)(from_ptr((R_ESP + 4))) ? &arg_4 : NULL, *(ptr_t*)(from_ptr((R_ESP + 8))) ? &arg_8 : NULL, from_ptri(int32_t, R_ESP + 12), from_ptriv(R_ESP + 16), from_ptriv(R_ESP + 20), *(ptr_t*)(from_ptr((R_ESP + 24))) ? &arg_24 : NULL); if (*(ptr_t*)(from_ptr((R_ESP + 4)))) to_struct_p(*(ptr_t*)(from_ptr((R_ESP + 4))), &arg_4); if (*(ptr_t*)(from_ptr((R_ESP + 8)))) to_struct_ppup(*(ptr_t*)(from_ptr((R_ESP + 8))), &arg_8); if (*(ptr_t*)(from_ptr((R_ESP + 24)))) to_struct_p(*(ptr_t*)(from_ptr((R_ESP + 24))), &arg_24); }
+void vFEuuippp_32(x64emu_t *emu, uintptr_t fcn) { vFEuuippp_t fn = (vFEuuippp_t)fcn; fn(emu, from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_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 vFEupupip_32(x64emu_t *emu, uintptr_t fcn) { vFEupupip_t fn = (vFEupupip_t)fcn; fn(emu, from_ptri(uint32_t, 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_ptriv(R_ESP + 24)); }
 void vFiiiiiip_32(x64emu_t *emu, uintptr_t fcn) { vFiiiiiip_t fn = (vFiiiiiip_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_ptriv(R_ESP + 28)); }
 void vFiiiiuup_32(x64emu_t *emu, uintptr_t fcn) { vFiiiiuup_t fn = (vFiiiiuup_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(uint32_t, R_ESP + 20), from_ptri(uint32_t, R_ESP + 24), from_ptriv(R_ESP + 28)); }
 void vFiiuilil_32(x64emu_t *emu, uintptr_t fcn) { vFiiuilil_t fn = (vFiiuilil_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_long(from_ptri(long_t, R_ESP + 20)), from_ptri(int32_t, R_ESP + 24), from_long(from_ptri(long_t, R_ESP + 28))); }
@@ -2775,7 +2796,6 @@ void vFuuffiip_32(x64emu_t *emu, uintptr_t fcn) { vFuuffiip_t fn = (vFuuffiip_t)
 void vFuuddiip_32(x64emu_t *emu, uintptr_t fcn) { vFuuddiip_t fn = (vFuuddiip_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(double, R_ESP + 12), from_ptri(double, R_ESP + 20), from_ptri(int32_t, R_ESP + 28), from_ptri(int32_t, R_ESP + 32), from_ptriv(R_ESP + 36)); }
 void vFuulluup_32(x64emu_t *emu, uintptr_t fcn) { vFuulluup_t fn = (vFuulluup_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_long(from_ptri(long_t, R_ESP + 12)), from_long(from_ptri(long_t, R_ESP + 16)), from_ptri(uint32_t, R_ESP + 20), from_ptri(uint32_t, R_ESP + 24), from_ptriv(R_ESP + 28)); }
 void vFuupiiii_32(x64emu_t *emu, uintptr_t fcn) { vFuupiiii_t fn = (vFuupiiii_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptriv(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)); }
-void vFuuppppu_32(x64emu_t *emu, uintptr_t fcn) { vFuuppppu_t fn = (vFuuppppu_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_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_ptri(uint32_t, R_ESP + 28)); }
 void vFuuppppp_32(x64emu_t *emu, uintptr_t fcn) { vFuuppppp_t fn = (vFuuppppp_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_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)); }
 void vFuffffff_32(x64emu_t *emu, uintptr_t fcn) { vFuffffff_t fn = (vFuffffff_t)fcn; fn(from_ptri(uint32_t, 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)); }
 void vFudddddd_32(x64emu_t *emu, uintptr_t fcn) { vFudddddd_t fn = (vFudddddd_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(double, R_ESP + 8), from_ptri(double, R_ESP + 16), from_ptri(double, R_ESP + 24), from_ptri(double, R_ESP + 32), from_ptri(double, R_ESP + 40), from_ptri(double, R_ESP + 48)); }
diff --git a/src/wrapped32/generated/wrapper32.h b/src/wrapped32/generated/wrapper32.h
index f822d5d9..3d413e63 100644
--- a/src/wrapped32/generated/wrapper32.h
+++ b/src/wrapped32/generated/wrapper32.h
@@ -301,6 +301,7 @@ void SFpp_32(x64emu_t *emu, uintptr_t fnc);
 void tFip_32(x64emu_t *emu, uintptr_t fnc);
 void tFia_32(x64emu_t *emu, uintptr_t fnc);
 void tFpL_32(x64emu_t *emu, uintptr_t fnc);
+void vFuBp__32(x64emu_t *emu, uintptr_t fnc);
 void vFpbp__32(x64emu_t *emu, uintptr_t fnc);
 void vFbp_p_32(x64emu_t *emu, uintptr_t fnc);
 void iFEbp__32(x64emu_t *emu, uintptr_t fnc);
@@ -359,7 +360,6 @@ void vFidd_32(x64emu_t *emu, uintptr_t fnc);
 void vFilu_32(x64emu_t *emu, uintptr_t fnc);
 void vFill_32(x64emu_t *emu, uintptr_t fnc);
 void vFilp_32(x64emu_t *emu, uintptr_t fnc);
-void vFipi_32(x64emu_t *emu, uintptr_t fnc);
 void vFipu_32(x64emu_t *emu, uintptr_t fnc);
 void vFipp_32(x64emu_t *emu, uintptr_t fnc);
 void vFCCC_32(x64emu_t *emu, uintptr_t fnc);
@@ -418,7 +418,6 @@ void vFXLi_32(x64emu_t *emu, uintptr_t fnc);
 void vFXLL_32(x64emu_t *emu, uintptr_t fnc);
 void vFXLp_32(x64emu_t *emu, uintptr_t fnc);
 void vFXpi_32(x64emu_t *emu, uintptr_t fnc);
-void vFXpu_32(x64emu_t *emu, uintptr_t fnc);
 void vFXpl_32(x64emu_t *emu, uintptr_t fnc);
 void vFXpL_32(x64emu_t *emu, uintptr_t fnc);
 void vFXpp_32(x64emu_t *emu, uintptr_t fnc);
@@ -506,7 +505,6 @@ void uFEpu_32(x64emu_t *emu, uintptr_t fnc);
 void uFEpL_32(x64emu_t *emu, uintptr_t fnc);
 void uFilp_32(x64emu_t *emu, uintptr_t fnc);
 void uFipu_32(x64emu_t *emu, uintptr_t fnc);
-void uFuip_32(x64emu_t *emu, uintptr_t fnc);
 void uFuuu_32(x64emu_t *emu, uintptr_t fnc);
 void uFuup_32(x64emu_t *emu, uintptr_t fnc);
 void uFupp_32(x64emu_t *emu, uintptr_t fnc);
@@ -538,6 +536,7 @@ void LFXCi_32(x64emu_t *emu, uintptr_t fnc);
 void LFXLi_32(x64emu_t *emu, uintptr_t fnc);
 void LFXLC_32(x64emu_t *emu, uintptr_t fnc);
 void LFXpi_32(x64emu_t *emu, uintptr_t fnc);
+void LFXpp_32(x64emu_t *emu, uintptr_t fnc);
 void pFEip_32(x64emu_t *emu, uintptr_t fnc);
 void pFEiV_32(x64emu_t *emu, uintptr_t fnc);
 void pFEpi_32(x64emu_t *emu, uintptr_t fnc);
@@ -566,6 +565,7 @@ void pFppu_32(x64emu_t *emu, uintptr_t fnc);
 void pFppL_32(x64emu_t *emu, uintptr_t fnc);
 void pFppp_32(x64emu_t *emu, uintptr_t fnc);
 void pFpOM_32(x64emu_t *emu, uintptr_t fnc);
+void pFXii_32(x64emu_t *emu, uintptr_t fnc);
 void pFXip_32(x64emu_t *emu, uintptr_t fnc);
 void pFXLp_32(x64emu_t *emu, uintptr_t fnc);
 void pFXpi_32(x64emu_t *emu, uintptr_t fnc);
@@ -574,8 +574,13 @@ void aFipa_32(x64emu_t *emu, uintptr_t fnc);
 void SFEpp_32(x64emu_t *emu, uintptr_t fnc);
 void SFppS_32(x64emu_t *emu, uintptr_t fnc);
 void tFipu_32(x64emu_t *emu, uintptr_t fnc);
+void vFibp_i_32(x64emu_t *emu, uintptr_t fnc);
+void vFuibp__32(x64emu_t *emu, uintptr_t fnc);
+void vFuuBp__32(x64emu_t *emu, uintptr_t fnc);
+void vFuubp__32(x64emu_t *emu, uintptr_t fnc);
 void vFpbp_i_32(x64emu_t *emu, uintptr_t fnc);
 void vFbp_pp_32(x64emu_t *emu, uintptr_t fnc);
+void vFXLbL__32(x64emu_t *emu, uintptr_t fnc);
 void vFXbL_i_32(x64emu_t *emu, uintptr_t fnc);
 void iFpibl__32(x64emu_t *emu, uintptr_t fnc);
 void iFplbl__32(x64emu_t *emu, uintptr_t fnc);
@@ -669,7 +674,6 @@ void vFuifi_32(x64emu_t *emu, uintptr_t fnc);
 void vFuiff_32(x64emu_t *emu, uintptr_t fnc);
 void vFuidd_32(x64emu_t *emu, uintptr_t fnc);
 void vFuilp_32(x64emu_t *emu, uintptr_t fnc);
-void vFuipi_32(x64emu_t *emu, uintptr_t fnc);
 void vFuipu_32(x64emu_t *emu, uintptr_t fnc);
 void vFuipp_32(x64emu_t *emu, uintptr_t fnc);
 void vFuIII_32(x64emu_t *emu, uintptr_t fnc);
@@ -708,6 +712,7 @@ void vFUUpi_32(x64emu_t *emu, uintptr_t fnc);
 void vFffff_32(x64emu_t *emu, uintptr_t fnc);
 void vFdddd_32(x64emu_t *emu, uintptr_t fnc);
 void vFllii_32(x64emu_t *emu, uintptr_t fnc);
+void vFLiii_32(x64emu_t *emu, uintptr_t fnc);
 void vFpiip_32(x64emu_t *emu, uintptr_t fnc);
 void vFpipi_32(x64emu_t *emu, uintptr_t fnc);
 void vFpipp_32(x64emu_t *emu, uintptr_t fnc);
@@ -720,11 +725,13 @@ void vFpppp_32(x64emu_t *emu, uintptr_t fnc);
 void vFXiiL_32(x64emu_t *emu, uintptr_t fnc);
 void vFXiLu_32(x64emu_t *emu, uintptr_t fnc);
 void vFXLii_32(x64emu_t *emu, uintptr_t fnc);
+void vFXLip_32(x64emu_t *emu, uintptr_t fnc);
 void vFXLLL_32(x64emu_t *emu, uintptr_t fnc);
 void vFXLLp_32(x64emu_t *emu, uintptr_t fnc);
 void vFXLpi_32(x64emu_t *emu, uintptr_t fnc);
 void vFXLpL_32(x64emu_t *emu, uintptr_t fnc);
 void vFXpip_32(x64emu_t *emu, uintptr_t fnc);
+void vFXppL_32(x64emu_t *emu, uintptr_t fnc);
 void cFpiii_32(x64emu_t *emu, uintptr_t fnc);
 void iFEiip_32(x64emu_t *emu, uintptr_t fnc);
 void iFEiiN_32(x64emu_t *emu, uintptr_t fnc);
@@ -800,6 +807,7 @@ void iFXLiL_32(x64emu_t *emu, uintptr_t fnc);
 void iFXLip_32(x64emu_t *emu, uintptr_t fnc);
 void iFXLuu_32(x64emu_t *emu, uintptr_t fnc);
 void iFXLLL_32(x64emu_t *emu, uintptr_t fnc);
+void iFXLLp_32(x64emu_t *emu, uintptr_t fnc);
 void iFXLpi_32(x64emu_t *emu, uintptr_t fnc);
 void iFXpii_32(x64emu_t *emu, uintptr_t fnc);
 void iFXpip_32(x64emu_t *emu, uintptr_t fnc);
@@ -808,6 +816,7 @@ void iFXppi_32(x64emu_t *emu, uintptr_t fnc);
 void iFXppp_32(x64emu_t *emu, uintptr_t fnc);
 void IFEpIi_32(x64emu_t *emu, uintptr_t fnc);
 void CFuuff_32(x64emu_t *emu, uintptr_t fnc);
+void uFEuip_32(x64emu_t *emu, uintptr_t fnc);
 void uFEpii_32(x64emu_t *emu, uintptr_t fnc);
 void uFuuuu_32(x64emu_t *emu, uintptr_t fnc);
 void uFpCCC_32(x64emu_t *emu, uintptr_t fnc);
@@ -827,6 +836,7 @@ void LFppLa_32(x64emu_t *emu, uintptr_t fnc);
 void LFXCii_32(x64emu_t *emu, uintptr_t fnc);
 void LFXLuu_32(x64emu_t *emu, uintptr_t fnc);
 void LFXLpi_32(x64emu_t *emu, uintptr_t fnc);
+void LFXpLp_32(x64emu_t *emu, uintptr_t fnc);
 void pFEupp_32(x64emu_t *emu, uintptr_t fnc);
 void pFEpip_32(x64emu_t *emu, uintptr_t fnc);
 void pFEppi_32(x64emu_t *emu, uintptr_t fnc);
@@ -836,10 +846,10 @@ void pFEXLp_32(x64emu_t *emu, uintptr_t fnc);
 void pFEXpL_32(x64emu_t *emu, uintptr_t fnc);
 void pFEXpp_32(x64emu_t *emu, uintptr_t fnc);
 void pFiiiu_32(x64emu_t *emu, uintptr_t fnc);
+void pFifff_32(x64emu_t *emu, uintptr_t fnc);
 void pFillu_32(x64emu_t *emu, uintptr_t fnc);
 void pFippu_32(x64emu_t *emu, uintptr_t fnc);
 void pFullu_32(x64emu_t *emu, uintptr_t fnc);
-void pFlfff_32(x64emu_t *emu, uintptr_t fnc);
 void pFpiLL_32(x64emu_t *emu, uintptr_t fnc);
 void pFpuii_32(x64emu_t *emu, uintptr_t fnc);
 void pFpupp_32(x64emu_t *emu, uintptr_t fnc);
@@ -851,6 +861,8 @@ void pFXiip_32(x64emu_t *emu, uintptr_t fnc);
 void pFXCip_32(x64emu_t *emu, uintptr_t fnc);
 void pFXLpp_32(x64emu_t *emu, uintptr_t fnc);
 void pFXppp_32(x64emu_t *emu, uintptr_t fnc);
+void vFuibp_i_32(x64emu_t *emu, uintptr_t fnc);
+void vFuuuBp__32(x64emu_t *emu, uintptr_t fnc);
 void vFbp_ppp_32(x64emu_t *emu, uintptr_t fnc);
 void vFXLLbL__32(x64emu_t *emu, uintptr_t fnc);
 void iFplibl__32(x64emu_t *emu, uintptr_t fnc);
@@ -890,6 +902,7 @@ void iFXLLbLLLLiiiLLilliLL__32(x64emu_t *emu, uintptr_t fnc);
 void iFpruuipWCCp_buuipWCCp_i_32(x64emu_t *emu, uintptr_t fnc);
 void iFXpLbiLLLiiiiiiiLLiiLiiiiLic__32(x64emu_t *emu, uintptr_t fnc);
 void pFXLLbiLLLiiiiiiiLLiiLiiiiLic__32(x64emu_t *emu, uintptr_t fnc);
+void vFEuipu_32(x64emu_t *emu, uintptr_t fnc);
 void vFEuipp_32(x64emu_t *emu, uintptr_t fnc);
 void vFEpLLp_32(x64emu_t *emu, uintptr_t fnc);
 void vFEppiV_32(x64emu_t *emu, uintptr_t fnc);
@@ -902,7 +915,6 @@ void vFiilll_32(x64emu_t *emu, uintptr_t fnc);
 void vFiipll_32(x64emu_t *emu, uintptr_t fnc);
 void vFiIIII_32(x64emu_t *emu, uintptr_t fnc);
 void vFiuiip_32(x64emu_t *emu, uintptr_t fnc);
-void vFiuipi_32(x64emu_t *emu, uintptr_t fnc);
 void vFiuuuu_32(x64emu_t *emu, uintptr_t fnc);
 void vFiulpp_32(x64emu_t *emu, uintptr_t fnc);
 void vFiUUUU_32(x64emu_t *emu, uintptr_t fnc);
@@ -963,13 +975,11 @@ void vFuuull_32(x64emu_t *emu, uintptr_t fnc);
 void vFuulll_32(x64emu_t *emu, uintptr_t fnc);
 void vFuullp_32(x64emu_t *emu, uintptr_t fnc);
 void vFuupii_32(x64emu_t *emu, uintptr_t fnc);
-void vFuuppu_32(x64emu_t *emu, uintptr_t fnc);
 void vFuUUUU_32(x64emu_t *emu, uintptr_t fnc);
 void vFuffff_32(x64emu_t *emu, uintptr_t fnc);
 void vFudddd_32(x64emu_t *emu, uintptr_t fnc);
 void vFullpu_32(x64emu_t *emu, uintptr_t fnc);
 void vFupiii_32(x64emu_t *emu, uintptr_t fnc);
-void vFupupi_32(x64emu_t *emu, uintptr_t fnc);
 void vFupupp_32(x64emu_t *emu, uintptr_t fnc);
 void vFuplii_32(x64emu_t *emu, uintptr_t fnc);
 void vFuppip_32(x64emu_t *emu, uintptr_t fnc);
@@ -1057,6 +1067,7 @@ void pFppupp_32(x64emu_t *emu, uintptr_t fnc);
 void pFXLipp_32(x64emu_t *emu, uintptr_t fnc);
 void pFXpipi_32(x64emu_t *emu, uintptr_t fnc);
 void pFXppip_32(x64emu_t *emu, uintptr_t fnc);
+void vFiuibp_i_32(x64emu_t *emu, uintptr_t fnc);
 void vFXibL_ii_32(x64emu_t *emu, uintptr_t fnc);
 void iFEBh_ppp_32(x64emu_t *emu, uintptr_t fnc);
 void iFppppbp__32(x64emu_t *emu, uintptr_t fnc);
@@ -1086,6 +1097,8 @@ void LFpLpriiiiiiiiilt_a_32(x64emu_t *emu, uintptr_t fnc);
 void iFXLpbLWWWcc_bLWWWcc__32(x64emu_t *emu, uintptr_t fnc);
 void iFXLpBLWWWcc_BLWWWcc__32(x64emu_t *emu, uintptr_t fnc);
 void vFEiiipp_32(x64emu_t *emu, uintptr_t fnc);
+void vFEuippp_32(x64emu_t *emu, uintptr_t fnc);
+void vFEupupi_32(x64emu_t *emu, uintptr_t fnc);
 void vFiiiiii_32(x64emu_t *emu, uintptr_t fnc);
 void vFiiiuil_32(x64emu_t *emu, uintptr_t fnc);
 void vFiiilpi_32(x64emu_t *emu, uintptr_t fnc);
@@ -1122,7 +1135,6 @@ void vFuuiuil_32(x64emu_t *emu, uintptr_t fnc);
 void vFuuiuip_32(x64emu_t *emu, uintptr_t fnc);
 void vFuuiuCu_32(x64emu_t *emu, uintptr_t fnc);
 void vFuuiuup_32(x64emu_t *emu, uintptr_t fnc);
-void vFuuippp_32(x64emu_t *emu, uintptr_t fnc);
 void vFuuuiii_32(x64emu_t *emu, uintptr_t fnc);
 void vFuuuiup_32(x64emu_t *emu, uintptr_t fnc);
 void vFuuuipC_32(x64emu_t *emu, uintptr_t fnc);
@@ -1143,13 +1155,10 @@ void vFufffff_32(x64emu_t *emu, uintptr_t fnc);
 void vFuddiip_32(x64emu_t *emu, uintptr_t fnc);
 void vFulluUC_32(x64emu_t *emu, uintptr_t fnc);
 void vFupiiii_32(x64emu_t *emu, uintptr_t fnc);
-void vFupupip_32(x64emu_t *emu, uintptr_t fnc);
-void vFuppppu_32(x64emu_t *emu, uintptr_t fnc);
 void vFffffff_32(x64emu_t *emu, uintptr_t fnc);
 void vFdddddd_32(x64emu_t *emu, uintptr_t fnc);
 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 vFXiLppi_32(x64emu_t *emu, uintptr_t fnc);
 void vFXLiiii_32(x64emu_t *emu, uintptr_t fnc);
@@ -1216,6 +1225,8 @@ void iFppbL_pbL_p_32(x64emu_t *emu, uintptr_t fnc);
 void iFrpuu_Lrpuu_Lui_32(x64emu_t *emu, uintptr_t fnc);
 void iFXbLip_uubLip_L_32(x64emu_t *emu, uintptr_t fnc);
 void vFbp_bppup_ippbp__32(x64emu_t *emu, uintptr_t fnc);
+void vFEuuippp_32(x64emu_t *emu, uintptr_t fnc);
+void vFEupupip_32(x64emu_t *emu, uintptr_t fnc);
 void vFiiiiiip_32(x64emu_t *emu, uintptr_t fnc);
 void vFiiiiuup_32(x64emu_t *emu, uintptr_t fnc);
 void vFiiuilil_32(x64emu_t *emu, uintptr_t fnc);
@@ -1261,7 +1272,6 @@ void vFuuffiip_32(x64emu_t *emu, uintptr_t fnc);
 void vFuuddiip_32(x64emu_t *emu, uintptr_t fnc);
 void vFuulluup_32(x64emu_t *emu, uintptr_t fnc);
 void vFuupiiii_32(x64emu_t *emu, uintptr_t fnc);
-void vFuuppppu_32(x64emu_t *emu, uintptr_t fnc);
 void vFuuppppp_32(x64emu_t *emu, uintptr_t fnc);
 void vFuffffff_32(x64emu_t *emu, uintptr_t fnc);
 void vFudddddd_32(x64emu_t *emu, uintptr_t fnc);
diff --git a/src/wrapped32/wrappedlibgl.c b/src/wrapped32/wrappedlibgl.c
index 27af2c9d..e23f1d36 100644
--- a/src/wrapped32/wrappedlibgl.c
+++ b/src/wrapped32/wrappedlibgl.c
@@ -46,10 +46,16 @@ typedef void*(*pFpp_t)(void*, void*);
 typedef void (*vFppp_t)(void*, void*, void*);
 typedef void (*vFppi_t)(void*, void*, int);
 typedef void*(*pFpip_t)(void*, int, void*);
+typedef void (*vFuip_t)(uint32_t, int, void*);
 typedef void*(*pFp_t)(void*);
 typedef void (*vFuipp_t)(uint32_t, int, void*, void*);
 typedef void*(*pFpipp_t)(void*, int, void*, void*);
 typedef void*(*pFpppi_t)(void*, void*, void*, int);
+typedef void (*vFuipu_t)(uint32_t, int, void*, uint32_t);
+typedef void (*vFupupi_t)(uint32_t, void*, uint32_t, void*, int);
+typedef void (*vFuippp_t)(uint32_t, int, void*, void*, void*);
+typedef void (*vFuuippp_t)(uint32_t, uint32_t, int, void*, void*, void*);
+typedef void (*vFupupip_t)(uint32_t, void*, uint32_t, void*, int, void*);
 typedef void (*debugProc_t)(int32_t, int32_t, uint32_t, int32_t, int32_t, void*, void*);
 
 typedef struct gl_wrappers_s {
@@ -561,6 +567,278 @@ static void* find_glXCreateContext_Fct(void* fct)
     printf_log(LOG_NONE, "Warning, no more slot for libGL glXCreateContext callback\n");
     return NULL;
 }
+// glMultiDrawElements ...
+#define GO(A)                                                                                                                       \
+static vFupupi_t my32_glMultiDrawElements_fct_##A = NULL;                                                                           \
+static void my32_glMultiDrawElements_##A(x64emu_t* emu, uint32_t mode, void* count, uint32_t type, ptr_t* indices, int drawcount)   \
+{                                                                                                                                   \
+    if(!my32_glMultiDrawElements_fct_##A)                                                                                           \
+        return;                                                                                                                     \
+    void* indices_l[drawcount];                                                                                                     \
+    for(int i=0; i<drawcount; ++i)                                                                                                  \
+        indices_l[i] = from_ptrv(indices[i]);                                                                                       \
+    my32_glMultiDrawElements_fct_##A (mode, count, type, indices_l, drawcount);                                                     \
+}
+SUPER()
+#undef GO
+static void* find_glMultiDrawElements_Fct(void* fct)
+{
+    if(!fct) return fct;
+    #define GO(A) if(my32_glMultiDrawElements_fct_##A == (vFupupi_t)fct) return my32_glMultiDrawElements_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my32_glMultiDrawElements_fct_##A == 0) {my32_glMultiDrawElements_fct_##A = (vFupupi_t)fct; return my32_glMultiDrawElements_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for libGL glMultiDrawElements callback\n");
+    return NULL;
+}
+static void* find_glMultiDrawElementsEXT_Fct(void* fct)
+{
+    return find_glMultiDrawElements_Fct(fct);
+}
+// glTransformFeedbackVaryings ...
+#define GO(A)                                                                                                               \
+static vFuipu_t my32_glTransformFeedbackVaryings_fct_##A = NULL;                                                            \
+static void my32_glTransformFeedbackVaryings_##A(x64emu_t* emu, uint32_t prog, int count, ptr_t* varyings, uint32_t mode)   \
+{                                                                                                                           \
+    if(!my32_glTransformFeedbackVaryings_fct_##A)                                                                           \
+        return;                                                                                                             \
+    void* varyings_l[count];                                                                                                \
+    for(int i=0; i<count; ++i)                                                                                              \
+        varyings_l[i] = from_ptrv(varyings[i]);                                                                             \
+    my32_glTransformFeedbackVaryings_fct_##A (prog, count, varyings_l, mode);                                               \
+}
+SUPER()
+#undef GO
+static void* find_glTransformFeedbackVaryings_Fct(void* fct)
+{
+    if(!fct) return fct;
+    #define GO(A) if(my32_glTransformFeedbackVaryings_fct_##A == (vFuipu_t)fct) return my32_glTransformFeedbackVaryings_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my32_glTransformFeedbackVaryings_fct_##A == 0) {my32_glTransformFeedbackVaryings_fct_##A = (vFuipu_t)fct; return my32_glTransformFeedbackVaryings_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for libGL glTransformFeedbackVaryings callback\n");
+    return NULL;
+}
+static void* find_glTransformFeedbackVaryingsEXT_Fct(void* fct)
+{
+    return find_glTransformFeedbackVaryings_Fct(fct);
+}
+// glBindBuffersRange ...
+#define GO(A)                                                                                                                                       \
+static vFuuippp_t my32_glBindBuffersRange_fct_##A = NULL;                                                                                           \
+static void my32_glBindBuffersRange_##A(x64emu_t* emu, uint32_t target, uint32_t first, int count, void* buffers, ptr_t* offsets, ptr_t* sizes)     \
+{                                                                                                                                                   \
+    if(!my32_glBindBuffersRange_fct_##A)                                                                                                            \
+        return;                                                                                                                                     \
+    long offsets_l[count];                                                                                                                          \
+    long sizes_l[count];                                                                                                                            \
+    for(int i=0; i<count; ++i) {                                                                                                                    \
+        offsets_l[i] = from_long(offsets[i]);                                                                                                       \
+        sizes_l[i] = from_long(sizes[i]);                                                                                                           \
+    }                                                                                                                                               \
+    my32_glBindBuffersRange_fct_##A (target, first, count, buffers, offsets_l, sizes);                                                              \
+}
+SUPER()
+#undef GO
+static void* find_glBindBuffersRange_Fct(void* fct)
+{
+    if(!fct) return fct;
+    #define GO(A) if(my32_glBindBuffersRange_fct_##A == (vFuuippp_t)fct) return my32_glBindBuffersRange_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my32_glBindBuffersRange_fct_##A == 0) {my32_glBindBuffersRange_fct_##A = (vFuuippp_t)fct; return my32_glBindBuffersRange_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for libGL glBindBuffersRange callback\n");
+    return NULL;
+}
+// glBindVertexBuffers ...
+#define GO(A)                                                                                                                       \
+static vFuippp_t my32_glBindVertexBuffers_fct_##A = NULL;                                                                           \
+static void my32_glBindVertexBuffers_##A(x64emu_t* emu, uint32_t first, int count, void* buffers, ptr_t* offsets, void* strides)    \
+{                                                                                                                                   \
+    if(!my32_glBindVertexBuffers_fct_##A)                                                                                           \
+        return;                                                                                                                     \
+    long offsets_l[count];                                                                                                          \
+    for(int i=0; i<count; ++i)                                                                                                      \
+        offsets_l[i] = from_long(offsets[i]);                                                                                       \
+    my32_glBindVertexBuffers_fct_##A (first, count, buffers, offsets_l, strides);                                                   \
+}
+SUPER()
+#undef GO
+static void* find_glBindVertexBuffers_Fct(void* fct)
+{
+    if(!fct) return fct;
+    #define GO(A) if(my32_glBindVertexBuffers_fct_##A == (vFuippp_t)fct) return my32_glBindVertexBuffers_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my32_glBindVertexBuffers_fct_##A == 0) {my32_glBindVertexBuffers_fct_##A = (vFuippp_t)fct; return my32_glBindVertexBuffers_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for libGL glBindVertexBuffers callback\n");
+    return NULL;
+}
+// glVertexArrayVertexBuffers ...
+#define GO(A)                                                                                                                                           \
+static vFuuippp_t my32_glVertexArrayVertexBuffers_fct_##A = NULL;                                                                                       \
+static void my32_glVertexArrayVertexBuffers_##A(x64emu_t* emu, uint32_t vaobj, uint32_t first, int count, void* buffers, ptr_t* offsets, void* strides) \
+{                                                                                                                                                       \
+    if(!my32_glVertexArrayVertexBuffers_fct_##A)                                                                                                        \
+        return;                                                                                                                                         \
+    long offsets_l[count];                                                                                                                              \
+    for(int i=0; i<count; ++i)                                                                                                                          \
+        offsets_l[i] = from_long(offsets[i]);                                                                                                           \
+    my32_glVertexArrayVertexBuffers_fct_##A (vaobj, first, count, buffers, offsets_l, strides);                                                         \
+}
+SUPER()
+#undef GO
+static void* find_glVertexArrayVertexBuffers_Fct(void* fct)
+{
+    if(!fct) return fct;
+    #define GO(A) if(my32_glVertexArrayVertexBuffers_fct_##A == (vFuuippp_t)fct) return my32_glVertexArrayVertexBuffers_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my32_glVertexArrayVertexBuffers_fct_##A == 0) {my32_glVertexArrayVertexBuffers_fct_##A = (vFuuippp_t)fct; return my32_glVertexArrayVertexBuffers_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for libGL glVertexArrayVertexBuffers callback\n");
+    return NULL;
+}
+// glMultiDrawElementsBaseVertex ...
+#define GO(A)                                                                                                                                                   \
+static vFupupip_t my32_glMultiDrawElementsBaseVertex_fct_##A = NULL;                                                                                            \
+static void my32_glMultiDrawElementsBaseVertex_##A(x64emu_t* emu, uint32_t mode, void* count, uint32_t type, ptr_t* indices, int drawcount, void* basevertex)   \
+{                                                                                                                                                               \
+    if(!my32_glMultiDrawElementsBaseVertex_fct_##A)                                                                                                             \
+        return;                                                                                                                                                 \
+    void* indices_l[drawcount];                                                                                                                                 \
+    for(int i=0; i<drawcount; ++i)                                                                                                                              \
+        indices_l[i] = from_ptrv(indices[i]);                                                                                                                   \
+    my32_glMultiDrawElementsBaseVertex_fct_##A (mode, count, type, indices_l, drawcount, basevertex);                                                           \
+}
+SUPER()
+#undef GO
+static void* find_glMultiDrawElementsBaseVertex_Fct(void* fct)
+{
+    if(!fct) return fct;
+    #define GO(A) if(my32_glMultiDrawElementsBaseVertex_fct_##A == (vFupupip_t)fct) return my32_glMultiDrawElementsBaseVertex_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my32_glMultiDrawElementsBaseVertex_fct_##A == 0) {my32_glMultiDrawElementsBaseVertex_fct_##A = (vFupupip_t)fct; return my32_glMultiDrawElementsBaseVertex_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for libGL glMultiDrawElementsBaseVertex callback\n");
+    return NULL;
+}
+// glCreateShaderProgramv ...
+#define GO(A)                                                                                           \
+static vFuip_t my32_glCreateShaderProgramv_fct_##A = NULL;                                              \
+static void my32_glCreateShaderProgramv_##A(x64emu_t* emu, uint32_t shader, int count, ptr_t* string)   \
+{                                                                                                       \
+    if(!my32_glCreateShaderProgramv_fct_##A)                                                            \
+        return;                                                                                         \
+    char* str[count];                                                                                   \
+    if(string) for(int i=0; i<count; ++i) str[i] = from_ptrv(string[i]);                                \
+    my32_glCreateShaderProgramv_fct_##A (shader, count, string?str:NULL);                               \
+}
+SUPER()
+#undef GO
+static void* find_glCreateShaderProgramv_Fct(void* fct)
+{
+    if(!fct) return fct;
+    #define GO(A) if(my32_glCreateShaderProgramv_fct_##A == (vFuip_t)fct) return my32_glCreateShaderProgramv_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my32_glCreateShaderProgramv_fct_##A == 0) {my32_glCreateShaderProgramv_fct_##A = (vFuip_t)fct; return my32_glCreateShaderProgramv_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for libGL glCreateShaderProgramv callback\n");
+    return NULL;
+}
+// glCompileShaderIncludeARB ...
+#define GO(A)                                                                                                       \
+static vFuipp_t my32_glCompileShaderIncludeARB_fct_##A = NULL;                                                         \
+static void my32_glCompileShaderIncludeARB_##A(x64emu_t* emu, uint32_t shader, int count, ptr_t* string, int* length)  \
+{                                                                                                                   \
+    if(!my32_glCompileShaderIncludeARB_fct_##A)                                                                        \
+        return;                                                                                                     \
+    char* str[count];                                                                                               \
+    if(string) for(int i=0; i<count; ++i) str[i] = from_ptrv(string[i]);                                            \
+    my32_glCompileShaderIncludeARB_fct_##A (shader, count, string?str:NULL, length);                                   \
+}
+SUPER()
+#undef GO
+static void* find_glCompileShaderIncludeARB_Fct(void* fct)
+{
+    if(!fct) return fct;
+    #define GO(A) if(my32_glCompileShaderIncludeARB_fct_##A == (vFuipp_t)fct) return my32_glCompileShaderIncludeARB_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my32_glCompileShaderIncludeARB_fct_##A == 0) {my32_glCompileShaderIncludeARB_fct_##A = (vFuipp_t)fct; return my32_glCompileShaderIncludeARB_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for libGL glCompileShaderIncludeARB callback\n");
+    return NULL;
+}
+// glXGetFBConfigs ...
+#define GO(A)                                                                       \
+static pFpip_t my32_glXGetFBConfigs_fct_##A = NULL;                                 \
+static void* my32_glXGetFBConfigs_##A(x64emu_t* emu, void* dpy, int screen, int* n) \
+{                                                                                   \
+    if(!my32_glXGetFBConfigs_fct_##A)                                               \
+        return NULL;                                                                \
+    void* ret = my32_glXGetFBConfigs_fct_##A (dpy, screen, n);                      \
+    if(!ret) return NULL;                                                           \
+    void** src = ret;                                                               \
+    ptr_t* dst = ret;                                                               \
+    for(int i=0; i<*n; ++i)                                                         \
+        dst[i] = to_ptrv(src[i]);                                                   \
+    return ret;                                                                     \
+}
+SUPER()
+#undef GO
+static void* find_glXGetFBConfigs_Fct(void* fct)
+{
+    if(!fct) return fct;
+    #define GO(A) if(my32_glXGetFBConfigs_fct_##A == (pFpip_t)fct) return my32_glXGetFBConfigs_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my32_glXGetFBConfigs_fct_##A == 0) {my32_glXGetFBConfigs_fct_##A = (pFpip_t)fct; return my32_glXGetFBConfigs_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for libGL glXGetFBConfigs callback\n");
+    return NULL;
+}
+// glGetUniformIndices ...
+#define GO(A)                                                                                                   \
+static vFuipp_t my32_glGetUniformIndices_fct_##A = NULL;                                                        \
+static void my32_glGetUniformIndices_##A(x64emu_t* emu, uint32_t prog, int count, ptr_t* names, void* indices)  \
+{                                                                                                               \
+    if(!my32_glGetUniformIndices_fct_##A)                                                                       \
+        return;                                                                                                 \
+    void* names_l[count];                                                                                       \
+    my32_glGetUniformIndices_fct_##A (prog, count, names?names_l:NULL, indices);                                \
+    if(names) for(int i=0; i<count; ++i) names[i] = to_ptrv(names_l[i]);                                        \
+}
+SUPER()
+#undef GO
+static void* find_glGetUniformIndices_Fct(void* fct)
+{
+    if(!fct) return fct;
+    #define GO(A) if(my32_glGetUniformIndices_fct_##A == (vFuipp_t)fct) return my32_glGetUniformIndices_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my32_glGetUniformIndices_fct_##A == 0) {my32_glGetUniformIndices_fct_##A = (vFuipp_t)fct; return my32_glGetUniformIndices_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for libGL glGetUniformIndices callback\n");
+    return NULL;
+}
+
 #undef SUPER
 
 #define PRE_INIT if(box64_libGL) {lib->w.lib = dlopen(box64_libGL, RTLD_LAZY | RTLD_GLOBAL); lib->path = strdup(box64_libGL);} else
@@ -637,26 +915,131 @@ EXPORT void* my32_glXCreateContext(x64emu_t* emu, void* dpy, my_XVisualInfo_32_t
     return my->glXCreateContext(dpy, &info_l, shared, direct);
 }
 
-#include "wrappedlib_init32.h"
+EXPORT void my32_glMultiDrawElements(x64emu_t* emu, uint32_t mode, void* count, uint32_t type, ptr_t* indices, int drawcount)
+{
+    void* indices_l[drawcount];
+    for(int i=0; i<drawcount; ++i)
+        indices_l[i] = from_ptrv(indices[i]);
+    my->glMultiDrawElements(mode, count, type, indices_l, drawcount);
+}
+EXPORT void my32_glMultiDrawElementsExt(x64emu_t* emu, uint32_t mode, void* count, uint32_t type, ptr_t* indices, int drawcount)
+{
+    my32_glMultiDrawElements(emu, mode, count, type, indices, drawcount);
+}
+
+EXPORT void my32_glTransformFeedbackVaryings(x64emu_t* emu, uint32_t prog, int count, ptr_t* varyings, uint32_t mode)
+{
+    void* varyings_l[count];
+    for(int i=0; i<count; ++i)
+        varyings_l[i] = from_ptrv(varyings[i]);
+    my->glTransformFeedbackVaryings(prog, count, varyings_l, mode);
+}
+EXPORT void my32_glTransformFeedbackVaryingsEXT(x64emu_t* emu, uint32_t prog, int count, ptr_t* varyings, uint32_t mode)
+{
+    my32_glTransformFeedbackVaryings(emu, prog, count, varyings, mode);
+}
+
+EXPORT void my32_glBindBuffersRange(x64emu_t* emu, uint32_t target, uint32_t first, int count, void* buffers, long_t* offsets, long_t* sizes)
+{
+    long offsets_l[count];
+    long sizes_l[count];
+    for(int i=0; i<count; ++i) {
+        offsets_l[i] = from_long(offsets[i]);
+        sizes_l[i] = from_long(sizes_l[i]);
+    }
+    my->glBindBuffersRange(target, first, count, buffers, offsets_l, sizes_l);
+}
+
+EXPORT void my32_glBindVertexBuffers(x64emu_t* emu, uint32_t first, int count, void* buffers, long_t* offsets, void* strides)
+{
+    long offsets_l[count];
+    for(int i=0; i<count; ++i)
+        offsets_l[i] = from_long(offsets[i]);
+    my->glBindVertexBuffers(first, count, buffers, offsets_l, strides);
+}
 
-#define SUPER()                             \
- GO(vFpp_t, glDebugMessageCallback)         \
- GO(vFpp_t, glDebugMessageCallbackARB)      \
- GO(vFpp_t, glDebugMessageCallbackAMD)      \
- GO(vFpp_t, glDebugMessageCallbackKHR)      \
- GO(vFpp_t, eglDebugMessageControlKHR)      \
- GO(iFi_t, glXSwapIntervalMESA)             \
- GO(vFppi_t, glXSwapIntervalEXT)            \
- GO(vFpp_t, glProgramCallbackMESA)          \
- GO(pFp_t, glGetVkProcAddrNV)               \
- GO(vFppp_t, eglSetBlobCacheFuncsANDROID)   \
- GO(vFuipp_t, glShaderSource)               \
- GO(vFuipp_t, glShaderSourceARB)            \
- GO(pFpipp_t, glXChooseFBConfig)            \
- GO(pFpp_t, glXGetVisualFromFBConfig)       \
- GO(pFpp_t, glXChooseVisual)                \
- GO(pFpp_t, glXCreateContext)               \
+EXPORT void my32_glVertexArrayVertexBuffers(x64emu_t* emu, uint32_t vaobj, uint32_t first, int count, void* buffers, long_t* offsets, void* strides)
+{
+    long offsets_l[count];
+    for(int i=0; i<count; ++i)
+        offsets_l[i] = from_long(offsets[i]);
+    my->glVertexArrayVertexBuffers(vaobj, first, count, buffers, offsets_l, strides);
+}
+
+EXPORT void my32_glMultiDrawElementsBaseVertex(x64emu_t* emu, uint32_t mode, void* count, uint32_t type, ptr_t* indices, int drawcount, void* basevertex)
+{
+    void* indices_l[drawcount];
+    for(int i=0; i<drawcount; ++i)
+        indices_l[i] = from_ptrv(indices[i]);
+    my->glMultiDrawElementsBaseVertex(mode, count, type, indices_l, drawcount, basevertex);
+}
+
+EXPORT void my32_glCreateShaderProgramv(x64emu_t* emu, uint32_t shader, int count, ptr_t* string)
+{
+    char* str[count];
+    if(string) for(int i=0; i<count; ++i) str[i] = from_ptrv(string[i]);
+    my->glCreateShaderProgramv(shader, count, string?str:NULL);
+}
+
+EXPORT void my32_glCompileShaderIncludeARB(x64emu_t* emu, uint32_t shader, int count, ptr_t* string, int* length)
+{
+    char* str[count];
+    if(string) for(int i=0; i<count; ++i) str[i] = from_ptrv(string[i]);
+    my->glCompileShaderIncludeARB(shader, count, string?str:NULL, length);
+}
+
+EXPORT void* my32_glXGetFBConfigs(x64emu_t* emu, void* dpy, int screen, int* n)
+{
+    void* ret = my->glXGetFBConfigs(dpy, screen, n);
+    if(!ret) return NULL;
+    ptr_t* dst = ret;
+    void** src = ret;
+    for(int i=0; i<*n; ++i)
+        dst[i] = to_ptrv(src[i]);
+    return ret;
+}
+
+EXPORT void my32_glGetUniformIndices(x64emu_t* emu, uint32_t prog, int count, ptr_t* names, void* indices)
+{
+    void* names_l[count];
+    my->glGetUniformIndices(prog, count, names?names_l:NULL, indices);
+    if(names)
+        for(int i=0; i<count; ++i)
+            names[i] = to_ptrv(names_l[i]);
+}
+
+#include "wrappedlib_init32.h"
 
+#define SUPER()                                 \
+ GO(vFpp_t, glDebugMessageCallback)             \
+ GO(vFpp_t, glDebugMessageCallbackARB)          \
+ GO(vFpp_t, glDebugMessageCallbackAMD)          \
+ GO(vFpp_t, glDebugMessageCallbackKHR)          \
+ GO(vFpp_t, eglDebugMessageControlKHR)          \
+ GO(iFi_t, glXSwapIntervalMESA)                 \
+ GO(vFppi_t, glXSwapIntervalEXT)                \
+ GO(vFpp_t, glProgramCallbackMESA)              \
+ GO(pFp_t, glGetVkProcAddrNV)                   \
+ GO(vFppp_t, eglSetBlobCacheFuncsANDROID)       \
+ GO(vFuipp_t, glShaderSource)                   \
+ GO(vFuipp_t, glShaderSourceARB)                \
+ GO(pFpipp_t, glXChooseFBConfig)                \
+ GO(pFpp_t, glXGetVisualFromFBConfig)           \
+ GO(pFpp_t, glXChooseVisual)                    \
+ GO(pFpp_t, glXCreateContext)                   \
+ GO(vFupupi_t, glMultiDrawElements)             \
+ GO(vFuipu_t, glTransformFeedbackVaryings)      \
+ GO(vFuuippp_t, glBindBuffersRange)             \
+ GO(vFuippp_t, glBindVertexBuffers)             \
+ GO(vFuuippp_t, glVertexArrayVertexBuffers)     \
+ GO(vFupupip_t, glMultiDrawElementsBaseVertex)  \
+ GO(vFuip_t, glCreateShaderProgramv)            \
+ GO(vFuipp_t, glCompileShaderIncludeARB)        \
+ GO(vFupupi_t, glMultiDrawElementsEXT)          \
+ GO(vFuipu_t, glTransformFeedbackVaryingsEXT)   \
+ GO(pFpip_t, glXGetFBConfigs)                   \
+ GO(vFuipp_t, glGetUniformIndices)              \
+ 
 
 gl_wrappers_t* getGLProcWrapper32(box64context_t* context, glprocaddress_t procaddress)
 {
diff --git a/src/wrapped32/wrappedlibgl_private.h b/src/wrapped32/wrappedlibgl_private.h
index 4ce7ae5c..bc9abc7d 100644
--- a/src/wrapped32/wrappedlibgl_private.h
+++ b/src/wrapped32/wrappedlibgl_private.h
@@ -1,5 +1,5 @@
 #if !(defined(GO) && defined(GOM) && defined(GO2) && defined(DATA))
-#error meh!
+#error Meh...
 #endif
 //VERSION_1_0
 GO(glAccum, vFuf)
@@ -324,7 +324,7 @@ GO(glDrawElements, vFuiup)
 GO(glEdgeFlagPointer, vFip)
 GO(glEnableClientState, vFu)
 GO(glGenTextures, vFip)
-GO(glGetPointerv, vFup)
+GO(glGetPointerv, vFuBp_)
 GO(glIndexPointer, vFuip)
 GO(glIndexub, vFC)
 GO(glIndexubv, vFp)
@@ -433,7 +433,7 @@ GO(glFogCoorddv, vFp)
 GO(glFogCoordf, vFf)
 GO(glFogCoordfv, vFp)
 GO(glMultiDrawArrays, vFuppi)
-GO(glMultiDrawElements, vFupupi)
+GOM(glMultiDrawElements, vFEupupi)
 GO(glPointParameterf, vFuf)
 GO(glPointParameterfv, vFup)
 GO(glPointParameteri, vFui)
@@ -482,7 +482,7 @@ GO(glEndQuery, vFu)
 GO(glGenBuffers, vFip)
 GO(glGenQueries, vFip)
 GO(glGetBufferParameteriv, vFuup)
-GO(glGetBufferPointerv, vFuup)
+GO(glGetBufferPointerv, vFuuBp_)
 GO(glGetBufferSubData, vFullp)
 GO(glGetQueryObjectiv, vFuup)
 GO(glGetQueryObjectuiv, vFuup)
@@ -516,7 +516,7 @@ GO(glGetShaderiv, vFuup)
 GO(glGetUniformLocation, iFup)
 GO(glGetUniformfv, vFuip)
 GO(glGetUniformiv, vFuip)
-GO(glGetVertexAttribPointerv, vFuup)
+GO(glGetVertexAttribPointerv, vFuuBp_)
 GO(glGetVertexAttribdv, vFuup)
 GO(glGetVertexAttribfv, vFuup)
 GO(glGetVertexAttribiv, vFuup)
@@ -621,7 +621,7 @@ GO(glGetVertexAttribIuiv, vFuup)
 GO(glIsEnabledi, CFuu)
 GO(glTexParameterIiv, vFuup)
 GO(glTexParameterIuiv, vFuup)
-GO(glTransformFeedbackVaryings, vFuipu)
+GOM(glTransformFeedbackVaryings, vFEuipu)
 GO(glUniform1ui, vFiu)
 GO(glUniform1uiv, vFiip)
 GO(glUniform2ui, vFiuu)
@@ -669,14 +669,14 @@ GO(glBlendFuncSeparatei, vFuuuuu)
 GO(glBlendFunci, vFuuu)
 GO(glMinSampleShading, vFf)
 //VERSION_4_3
-GO(glInvalidateNamedFramebuffer,  vFiup)
+GO(glInvalidateNamedFramebuffer, vFiup)
 //VERSION_4_4
 GO(glBindBuffersBase, vFuuip)
-GO(glBindBuffersRange, vFuuippp)
+GOM(glBindBuffersRange, vFEuuippp)
 GO(glBindImageTextures, vFuip)
 GO(glBindSamplers, vFuip)
 GO(glBindTextures, vFuip)
-GO(glBindVertexBuffers, vFuippp)
+GOM(glBindVertexBuffers, vFEuippp)
 GO(glBufferStorage, vFulpu)
 GO(glClearTexImage, vFuiuup)
 GO(glClearTexSubImage, vFuiiiiiiiuup)
@@ -702,7 +702,7 @@ GO(glUnmapNamedBuffer, CFu)
 GO(glFlushMappedNamedBufferRange, vFull)
 GO(glGetNamedBufferParameteriv, vFuup)
 GO(glGetNamedBufferParameteri64v, vFuup)
-GO(glGetNamedBufferPointerv, vFuup)
+GO(glGetNamedBufferPointerv, vFuuBp_)
 GO(glGetNamedBufferSubData, vFullp)
 GO(glCreateFramebuffers, vFip)
 GO(glNamedFramebufferRenderbuffer, vFuuuu)
@@ -764,7 +764,7 @@ GO(glDisableVertexArrayAttrib, vFuu)
 GO(glEnableVertexArrayAttrib, vFuu)
 GO(glVertexArrayElementBuffer, vFuu)
 GO(glVertexArrayVertexBuffer, vFuuuli)
-GO(glVertexArrayVertexBuffers, vFuuippp)
+GOM(glVertexArrayVertexBuffers, vFEuuippp)
 GO(glVertexArrayAttribBinding, vFuuu)
 GO(glVertexArrayAttribFormat, vFuuiuCu)
 GO(glVertexArrayAttribIFormat, vFuuiuu)
@@ -862,7 +862,7 @@ GO(glGetObjectParameterivAPPLE, vFuuup)
 GO(glObjectPurgeableAPPLE, uFuuu)
 GO(glObjectUnpurgeableAPPLE, uFuuu)
 //APPLE_texture_range
-GO(glGetTexParameterPointervAPPLE, vFuup)
+GO(glGetTexParameterPointervAPPLE, vFuuBp_)
 GO(glTextureRangeAPPLE, vFuip)
 //APPLE_vertex_array_object
 GO(glBindVertexArrayAPPLE, vFu)
@@ -926,7 +926,7 @@ GO(glBlendFunciARB, vFuuu)
 GO(glDrawElementsBaseVertex, vFuiupi)
 GO(glDrawElementsInstancedBaseVertex, vFuiupii)
 GO(glDrawRangeElementsBaseVertex, vFuuuiupi)
-GO(glMultiDrawElementsBaseVertex, vFupupip)
+GOM(glMultiDrawElementsBaseVertex, vFEupupip)
 //ARB_draw_indirect
 GO(glDrawArraysIndirect, vFup)
 GO(glDrawElementsIndirect, vFuup)
@@ -1111,7 +1111,7 @@ GO(glSamplerParameteriv, vFuup)
 //ARB_separate_shader_objects
 GO(glActiveShaderProgram, vFuu)
 GO(glBindProgramPipeline, vFu)
-GO(glCreateShaderProgramv, uFuip)
+GOM(glCreateShaderProgramv, uFEuip)
 GO(glDeleteProgramPipelines, vFip)
 GO(glGenProgramPipelines, vFip)
 GO(glGetProgramPipelineInfoLog, vFuipp)
@@ -1226,7 +1226,7 @@ GO(glGetSubroutineUniformLocation, iFuup)
 GO(glGetUniformSubroutineuiv, vFuip)
 GO(glUniformSubroutinesuiv, vFuip)
 //ARB_shading_language_include
-GO(glCompileShaderIncludeARB, vFuipp)
+GOM(glCompileShaderIncludeARB, vFEuipp)
 GO(glDeleteNamedStringARB, vFip)
 GO(glGetNamedStringARB, vFipipp)
 GO(glGetNamedStringivARB, vFipup)
@@ -1306,7 +1306,7 @@ GO(glGetActiveUniformBlockiv, vFuuup)
 GO(glGetActiveUniformName, vFuuipp)
 GO(glGetActiveUniformsiv, vFuipup)
 GO(glGetUniformBlockIndex, uFup)
-GO(glGetUniformIndices, vFuipp)
+GOM(glGetUniformIndices, vFEuipp)
 GO(glUniformBlockBinding, vFuuu)
 //ARB_vertex_array_object
 GO(glBindVertexArray, vFu)
@@ -1355,7 +1355,7 @@ GO(glBufferSubDataARB, vFullp)
 GO(glDeleteBuffersARB, vFip)
 GO(glGenBuffersARB, vFip)
 GO(glGetBufferParameterivARB, vFuup)
-GO(glGetBufferPointervARB, vFuup)
+GO(glGetBufferPointervARB, vFuubp_)
 GO(glGetBufferSubDataARB, vFullp)
 GO(glIsBufferARB, CFu)
 GO(glMapBufferARB, pFuu)
@@ -1372,7 +1372,7 @@ GO(glGetProgramLocalParameterdvARB, vFuup)
 GO(glGetProgramLocalParameterfvARB, vFuup)
 GO(glGetProgramStringARB, vFuup)
 GO(glGetProgramivARB, vFuup)
-GO(glGetVertexAttribPointervARB, vFuup)
+GO(glGetVertexAttribPointervARB, vFuuBp_)
 GO(glGetVertexAttribdvARB, vFuup)
 GO(glGetVertexAttribfvARB, vFuup)
 GO(glGetVertexAttribivARB, vFuup)
@@ -1718,7 +1718,7 @@ GO(glGetMultiTexParameterIuivEXT, vFuuup)
 GO(glGetMultiTexParameterfvEXT, vFuuup)
 GO(glGetMultiTexParameterivEXT, vFuuup)
 GO(glGetNamedBufferParameterivEXT, vFuup)
-GO(glGetNamedBufferPointervEXT, vFuup)
+GO(glGetNamedBufferPointervEXT, vFuuBp_)
 GO(glGetNamedBufferSubDataEXT, vFullp)
 GO(glGetNamedFramebufferAttachmentParameterivEXT, vFuuup)
 GO(glGetNamedProgramLocalParameterIivEXT, vFuuup)
@@ -1728,8 +1728,8 @@ GO(glGetNamedProgramLocalParameterfvEXT, vFuuup)
 GO(glGetNamedProgramStringEXT, vFuuup)
 GO(glGetNamedProgramivEXT, vFuuup)
 GO(glGetNamedRenderbufferParameterivEXT, vFuup)
-GO(glGetPointerIndexedvEXT, vFuup)
-GO(glGetPointeri_vEXT, vFuup)
+GO(glGetPointerIndexedvEXT, vFuuBp_)
+GO(glGetPointeri_vEXT, vFuuBp_)
 GO(glGetTextureImageEXT, vFuuiuup)
 GO(glGetTextureLevelParameterfvEXT, vFuuiup)
 GO(glGetTextureLevelParameterivEXT, vFuuiup)
@@ -1739,8 +1739,8 @@ GO(glGetTextureParameterfvEXT, vFuuup)
 GO(glGetTextureParameterivEXT, vFuuup)
 GO(glGetVertexArrayIntegeri_vEXT, vFuuup)
 GO(glGetVertexArrayIntegervEXT, vFuup)
-GO(glGetVertexArrayPointeri_vEXT, vFuuup)
-GO(glGetVertexArrayPointervEXT, vFuup)
+GO(glGetVertexArrayPointeri_vEXT, vFuuuBp_)
+GO(glGetVertexArrayPointervEXT, vFuuBp_)
 GO(glMapNamedBufferEXT, pFuu)
 GO(glMapNamedBufferRangeEXT, pFullu)
 GO(glMatrixFrustumEXT, vFudddddd)
@@ -1965,7 +1965,7 @@ GO(glTextureLightEXT, vFu)
 GO(glTextureMaterialEXT, vFuu)
 //EXT_multi_draw_arrays
 GO(glMultiDrawArraysEXT, vFuppi)
-GO(glMultiDrawElementsEXT, vFupupi)
+GOM(glMultiDrawElementsEXT, vFEupupi)
 //EXT_multisample
 GO(glSampleMaskEXT, vFfC)
 GO(glSamplePatternEXT, vFu)
@@ -2048,13 +2048,13 @@ GO(glBindBufferOffsetEXT, vFuuul)
 GO(glBindBufferRangeEXT, vFuuull)
 GO(glEndTransformFeedbackEXT, vFv)
 GO(glGetTransformFeedbackVaryingEXT, vFuuipppp)
-GO(glTransformFeedbackVaryingsEXT, vFuipu)
+GOM(glTransformFeedbackVaryingsEXT, vFEuipu)
 //EXT_vertex_array
 GO(glArrayElementEXT, vFi)
 GO(glColorPointerEXT, vFiuiip)
 GO(glDrawArraysEXT, vFuii)
 GO(glEdgeFlagPointerEXT, vFiip)
-GO(glGetPointervEXT, vFup)
+GO(glGetPointervEXT, vFuBp_)
 GO(glIndexPointerEXT, vFuiip)
 GO(glNormalPointerEXT, vFuiip)
 GO(glTexCoordPointerEXT, vFiuiip)
@@ -2095,7 +2095,7 @@ GO(glGetLocalConstantIntegervEXT, vFuup)
 GO(glGetVariantBooleanvEXT, vFuup)
 GO(glGetVariantFloatvEXT, vFuup)
 GO(glGetVariantIntegervEXT, vFuup)
-GO(glGetVariantPointervEXT, vFuup)
+GO(glGetVariantPointervEXT, vFuuBp_)
 GO(glInsertComponentEXT, vFuuu)
 GO(glIsVariantEnabledEXT, CFuu)
 GO(glSetInvariantEXT, vFuup)
@@ -2133,18 +2133,18 @@ GO(glImageTransformParameteriHP, vFuui)
 GO(glImageTransformParameterivHP, vFuup)
 //IBM_multimode_draw_arrays
 GO(glMultiModeDrawArraysIBM, vFpppii)
-GO(glMultiModeDrawElementsIBM, vFppupii)
+//GO(glMultiModeDrawElementsIBM, vFppubp_ii)
 //IBM_static_data
 GO(glFlushStaticDataIBM, vFu)
 //IBM_vertex_array_lists
-GO(glColorPointerListIBM, vFiuipi)
-GO(glEdgeFlagPointerListIBM, vFipi)
-GO(glFogCoordPointerListIBM, vFuipi)
-GO(glIndexPointerListIBM, vFuipi)
-GO(glNormalPointerListIBM, vFuipi)
-GO(glSecondaryColorPointerListIBM, vFiuipi)
-GO(glTexCoordPointerListIBM, vFiuipi)
-GO(glVertexPointerListIBM, vFiuipi)
+GO(glColorPointerListIBM, vFiuibp_i)
+GO(glEdgeFlagPointerListIBM, vFibp_i)
+GO(glFogCoordPointerListIBM, vFuibp_i)
+GO(glIndexPointerListIBM, vFuibp_i)
+GO(glNormalPointerListIBM, vFuibp_i)
+GO(glSecondaryColorPointerListIBM, vFiuibp_i)
+GO(glTexCoordPointerListIBM, vFiuibp_i)
+GO(glVertexPointerListIBM, vFiuibp_i)
 //INGR_blend_func_separate
 GO(glBlendFuncSeparateINGR, vFuuuu)
 //INTEL_map_texture
@@ -2152,10 +2152,10 @@ GO(glMapTexture2DINTEL, pFuiupp)
 GO(glSyncTextureINTEL, vFu)
 GO(glUnmapTexture2DINTEL, vFui)
 //INTEL_parallel_arrays
-GO(glColorPointervINTEL, vFiup)
-GO(glNormalPointervINTEL, vFup)
-GO(glTexCoordPointervINTEL, vFiup)
-GO(glVertexPointervINTEL, vFiup)
+//GO(glColorPointervINTEL, vFiubp_)
+//GO(glNormalPointervINTEL, vFubp_)
+//GO(glTexCoordPointervINTEL, vFiubp_)
+//GO(glVertexPointervINTEL, vFiubp_)
 //KHR_debug
 GOM(glDebugMessageCallback, vFEpp)   // not ideal, because the my_ version will always exist, even if glDebugMessageCallback doesn't
 GO(glDebugMessageControl, vFuuuipC)
@@ -2454,11 +2454,11 @@ GO(glVDPAUFiniNV, vFv)
 GO(glVDPAUGetSurfaceivNV, vFluipp)
 GO(glVDPAUInitNV, vFpp)
 GO(glVDPAUIsSurfaceNV, CFl)
-GO(glVDPAUMapSurfacesNV, vFip)
+//GO(glVDPAUMapSurfacesNV, vFibl_)
 GO(glVDPAURegisterOutputSurfaceNV, lFpuip)
 GO(glVDPAURegisterVideoSurfaceNV, lFpuip)
 GO(glVDPAUSurfaceAccessNV, vFlu)
-GO(glVDPAUUnmapSurfacesNV, vFip)
+//GO(glVDPAUUnmapSurfacesNV, vFibl_)
 GO(glVDPAUUnregisterSurfaceNV, vFl)
 //NV_vertex_array_range
 GO(glFlushVertexArrayRangeNV, vFv)
@@ -2507,7 +2507,7 @@ GO(glGetProgramParameterfvNV, vFuuup)
 GO(glGetProgramStringNV, vFuup)
 GO(glGetProgramivNV, vFuup)
 GO(glGetTrackMatrixivNV, vFuuup)
-GO(glGetVertexAttribPointervNV, vFuup)
+GO(glGetVertexAttribPointervNV, vFuuBp_)
 GO(glGetVertexAttribdvNV, vFuup)
 GO(glGetVertexAttribfvNV, vFuup)
 GO(glGetVertexAttribivNV, vFuup)
@@ -2851,7 +2851,7 @@ GO(glGlobalAlphaFactorusSUN, vFW)
 //SUN_mesh_array
 GO(glDrawMeshArraysSUN, vFuiii)
 //SUN_triangle_list
-GO(glReplacementCodePointerSUN, vFuip)
+GO(glReplacementCodePointerSUN, vFuibp_)
 GO(glReplacementCodeubSUN, vFC)
 GO(glReplacementCodeubvSUN, vFp)
 GO(glReplacementCodeuiSUN, vFu)
@@ -2929,88 +2929,88 @@ GO(TexPageCommitmentARB, vFiiiiiiiii)
 GO(glXBindHyperpipeSGIX, iFXi)
 GO(glXBindTexImageEXT, vFXpip)
 GO(glXBindSwapBarrierNV, iFXuu)
-GO(glXBindSwapBarrierSGIX,vFii)
+GO(glXBindSwapBarrierSGIX, vFii)
 GO(glXBindVideoCaptureDeviceNV, iFXup)
 GO(glXBindVideoDeviceNV, iFXuup)
 GO(glXBindVideoImageNV, iFXppi)
 //GO(glXChangeDrawableAttributes, vFp)
 //GO(glXChangeDrawableAttributesSGIX, vFp)
 GO(glXClientInfo, vFv)
-//GO(glXCopyContext, vFppp)
+GO(glXCopyContext, vFXppL)
 GOM(glXChooseFBConfig, pFEXipp)
 //GO(glXChooseFBConfigSGIX, pFpipp)
 GOM(glXCreateContext, pFEXppi)
 GO(glXCreateContextAttribsARB, pFXppip)
 //GO(glXCreateContextWithConfigSGIX, pFppipi)
 //GO(glXCreateGLXPbufferSGIX, pFppuup)
-//GO(glXCreateGLXPixmap, pFppp)
+//GOM(glXCreateGLXPixmap, LFEXbpLiiiLLLii_L)
 //GO(glXCreateGLXPixmapWithConfigSGIX, pFppp)
 //GO(glXCreateGLXVideoSourceSGIX, pFpippip)
 GO(glXCreateNewContext, pFXpipi)
-GO(glXCreatePbuffer, pFXpp)
-GO(glXCreatePixmap, pFXpp)
-GO(glXCreateWindow, pFXppp)
+GO(glXCreatePbuffer, LFXpp)
+GO(glXCreatePixmap, LFXpLp)
+GO(glXCreateWindow, LFXpLp)
 GOM(glXChooseVisual, pFEXip)
 GO(glXCopyImageSubDataNV, vFXpuiiiiipuiiiiiiii)
 //GO(glXCopySubBufferMESA, vFppiiii)
-GO(glXDestroyContext,vFXp)
-//GO(glXDestroyGLXPbufferSGIX,vFpp)
-//GO(glXDestroyGLXPixmap,vFpp)
-//GO(glXDestroyGLXVideoSourceSGIX,vFpp)
-//GO(glXDestroyHyperpipeConfigSGIX,iFpi)
-GO(glXDestroyPbuffer,vFXp)
-GO(glXDestroyPixmap,vFXp)
-GO(glXDestroyWindow,vFXp)
+GO(glXDestroyContext, vFXp)
+//GO(glXDestroyGLXPbufferSGIX, vFpp)
+GO(glXDestroyGLXPixmap, vFXL)
+//GO(glXDestroyGLXVideoSourceSGIX, vFpp)
+//GO(glXDestroyHyperpipeConfigSGIX, iFpi)
+GO(glXDestroyPbuffer, vFXL)
+GO(glXDestroyPixmap, vFXL)
+GO(glXDestroyWindow, vFXL)
 GO(glXEnumerateVideoCaptureDevicesNV, pFXip)
 GO(glXEnumerateVideoDevicesNV, pFXip)
 GO(glXFreeContextEXT, vFXp)
 GO(glXGetClientString, pFXi)
-//GO(glXGetConfig, iFppip)
+//GOM(glXGetConfig, iFEXbpLiiiLLLii_ip)
 GO(glXGetContextIDEXT, uFp)
 GO(glXGetCurrentContext, pFv)
 GO(glXGetCurrentDisplay, XFv)
-GO(glXGetCurrentDrawable, pFv)
-GO(glXGetCurrentReadDrawable, pFv)
-//GO(glXGetDrawableAttributes,vFi)
-//GO(glXGetDrawableAttributesSGIX,vFi)
-GO(glXGetFBConfigs,pFXip)
+GO(glXGetCurrentDrawable, LFv)
+GO(glXGetCurrentReadDrawable, LFv)
+//GO(glXGetDrawableAttributes, vFi)
+//GO(glXGetDrawableAttributesSGIX, vFi)
+GOM(glXGetFBConfigs,pFEXip)
 GO(glXGetFBConfigAttrib, iFXpip)
 //GO(glXGetFBConfigAttribSGIX, iFppip)
 //GO(glXGetFBConfigFromVisualSGIX, pFpp)
-//GO(glXGetFBConfigsSGIX,pFpip)
-GO(glXGetSelectedEvent, vFXpp)
+//GO(glXGetFBConfigsSGIX, pFpip)
+GO(glXGetSelectedEvent, vFXLbL_)
 GO(glXGetSelectedEventSGIX, vFXpp)
 GO(glXGetVideoDeviceNV, iFXiip)
 GO(glXGetVideoInfoNV, iFpippp)
 //GO(glXGetVideoSyncSGI, iFp)
-//GO(glXGetVisualConfigs,pFpp)
+//GO(glXGetVisualConfigs, pFpp)
 GOM(glXGetVisualFromFBConfig, pFEXp)
 //GO(glXGetVisualFromFBConfigSGIX, pFpp)
-//GO(glXHyperpipeAttribSGIX,iFpiiip)
+//GO(glXHyperpipeAttribSGIX, iFpiiip)
 //GO(glXHyperpipeConfigSGIX, iFpiipp)
 GO(glXImportContextEXT, pFXu)
-GO(glXIsDirect,iFXp)
+GO(glXIsDirect, iFXp)
 GO(glXJoinSwapGroupNV, iFXpu)
-//GO(glXJoinSwapGroupSGIX,vFpp)
+//GO(glXJoinSwapGroupSGIX, vFpp)
 GO(glXLockVideoCaptureDeviceNV, vFXp)
-GO(glXMakeContextCurrent,iFXppp)
-GO(glXMakeCurrent,iFXpp)
-GO(glXQueryContext,iFXpip)
-GO(glXQueryContextInfoEXT,iFXpip)
-GO(glXQueryDrawable, iFXpip)
+GO(glXMakeContextCurrent, iFXLLp)
+GO(glXMakeCurrent, iFXLp)
+GO(glXQueryContext, iFXpip)
+GO(glXQueryContextInfoEXT, iFXpip)
+GO(glXQueryDrawable, vFXLip)
 GO(glXQueryExtension, iFXpp)
-GO(glXQueryExtensionsString,pFXi)
+GO(glXQueryExtensionsString, pFXi)
 GO(glXQueryFrameCountNV, iFXip)
 //GO(glXQueryGLXPbufferSGIX, vFppip)
-//GO(glXQueryHyperpipeAttribSGIX,iFpiiip)
-//GO(glXQueryHyperpipeBestAttribSGIX,iFpiiipp)
-//GO(glXQueryHyperpipeConfigSGIX,pFpip)
-//GO(glXQueryHyperpipeNetworkSGIX,pFpp)
-//GO(glXQueryMaxSwapBarriersSGIX,pFpp) //?
+//GO(glXQueryHyperpipeAttribSGIX, iFpiiip)
+//GO(glXQueryHyperpipeBestAttribSGIX, iFpiiipp)
+//GO(glXQueryHyperpipeConfigSGIX, pFpip)
+//GO(glXQueryHyperpipeNetworkSGIX, pFpp)
+//GO(glXQueryMaxSwapBarriersSGIX, pFpp)
 GO(glXQueryMaxSwapGroupsNV, iFXipp)
-//GO(glXQueryServerString,pFpii)
+GO(glXQueryServerString, pFXii)
 GO(glXQuerySwapGroupNV, iFXipp)
-GO(glXQueryVersion,iFXpp)
+GO(glXQueryVersion, iFXpp)
 GO(glXQueryVideoCaptureDeviceNV, iFXpip)
 GO(glXReleaseTexImageEXT, vFXpi)
 GO(glXReleaseVideoCaptureDeviceNV, vFXp)
@@ -3019,16 +3019,16 @@ GO(glXReleaseVideoImageNV, iFXp)
 GO(glXRender, vFv)
 GO(glXRenderLarge, vFv)
 GO(glXResetFrameCountNV, iFXi)
-GO(glXSelectEvent, vFXpu)
+GO(glXSelectEvent, vFXLL)
 //GO(glXSelectEventSGIX, vFppu)
 GO(glXSendPbufferToVideoNV, iFXpipi)
-GO(glXSwapBuffers,vFXp)
-//GO(glXUseXFont,vFpiii)
+GO(glXSwapBuffers, vFXL)
+GO(glXUseXFont, vFLiii)
 GO(glXVendorPrivate, vFv)
 GO(glXVendorPrivateWithReply, vFv)
-GO(glXWaitGL,vFv)
+GO(glXWaitGL, vFv)
 //GO(glXWaitVideoSyncSGI, iFiip)
-GO(glXWaitX,vFv)
+GO(glXWaitX, vFv)
 
 GOM(glXGetProcAddress, pFEp)
 GOM(glXGetProcAddressARB, pFEp)
@@ -3056,10 +3056,10 @@ GOM(glXSwapIntervalMESA, iFi)    //%noE
 GO(glXGetSwapIntervalMESA, iFv)
 
 //GLX_SGI_swap_control
-GO(glXSwapIntervalSGI,iFi)
+GO(glXSwapIntervalSGI, iFi)
 
 //GLX_NV_vertex_array_range
-GO(glXAllocateMemoryNV, pFlfff)
+GO(glXAllocateMemoryNV, pFifff)
 GO(glXFreeMemoryNV, vFp)
 
 //GLX_ARB_????
@@ -3217,14 +3217,14 @@ GO(glIsStateNV, CFu)
 GO(glStateCaptureNV, vFuu)
 GO(glGetCommandHeaderNV, uFuu)
 GO(glGetStageIndexNV, WFu)
-GO(glDrawCommandsNV, vFuuppu)
+//GO(glDrawCommandsNV, vFuubl_pu)
 GO(glDrawCommandsAddressNV, vFuppu)
-GO(glDrawCommandsStatesNV, vFuppppu)
+//GO(glDrawCommandsStatesNV, vFubl_pppu)
 GO(glDrawCommandsStatesAddressNV, vFppppu)
 GO(glCreateCommandListsNV, vFip)
 GO(glDeleteCommandListsNV, vFip)
 GO(glIsCommandListNV, CFu)
-GO(glListDrawCommandsStatesClientNV, vFuuppppu)
+//GO(glListDrawCommandsStatesClientNV, vFuubp_pppu)
 GO(glCommandListSegmentsNV, vFuu)
 GO(glCompileCommandListNV, vFu)
 GO(glCallCommandListNV, vFu)
@@ -3334,16 +3334,16 @@ GO(glBlendBarrierARB, vFv)
 GO(glBlendBarrierEXT, vFv)
 GO(glBlendBarrierOES, vFv)
 GO(glBlendBarrierANGLE, vFv)
-GO(glClearDepthfARB,vFf)
-GO(glClipPlanefARB,vFup)
-GO(glDepthRangefARB,vFff)
-GO(glFrustumfARB,vFffffff)
-GO(glGetClipPlanefARB,vFup)
-GO(glOrthofARB,vFffffff)
-GO(glClipPlanef,vFup)
-GO(glFrustumf,vFffffff)
-GO(glGetClipPlanef,vFup)
-GO(glOrthof,vFffffff)
+GO(glClearDepthfARB, vFf)
+GO(glClipPlanefARB, vFup)
+GO(glDepthRangefARB, vFff)
+GO(glFrustumfARB, vFffffff)
+GO(glGetClipPlanefARB, vFup)
+GO(glOrthofARB, vFffffff)
+GO(glClipPlanef, vFup)
+GO(glFrustumf, vFffffff)
+GO(glGetClipPlanef, vFup)
+GO(glOrthof, vFffffff)
 GO(glActiveShaderProgramEXT, vFuu)
 GO(glBindProgramPipelineEXT, vFu)
 GO(glCreateShaderProgramvEXT, uFilp)
@@ -4073,4 +4073,4 @@ GO(glGetBufferPointervOES, vFuup)
 GO(glMapBufferOES, pFuu)
 GO(glUnmapBufferOES, iFu)
 
-GO(dummmy_vFppi, vFppi)
\ No newline at end of file
+GO(dummmy_vFppi, vFppi)