about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2024-09-14 10:26:38 +0200
committerptitSeb <sebastien.chev@gmail.com>2024-09-14 10:26:38 +0200
commitde7baa0b410185710411f38d51bb29cbc0ebd92a (patch)
treefd728e9caab96475a2c66d5f614ef40f4015c7e3 /src
parentb361a0d2ffd11f12cc59757e86dc2e63c92dfdf3 (diff)
downloadbox64-de7baa0b410185710411f38d51bb29cbc0ebd92a.tar.gz
box64-de7baa0b410185710411f38d51bb29cbc0ebd92a.zip
[BOX32] Added (mostly untested) wrapped libGL and minimum SDL1 (SDLgears and zsnes works)
Diffstat (limited to 'src')
-rw-r--r--src/include/gltools.h4
-rw-r--r--src/include/sdl1align32.h498
-rw-r--r--src/library_list_32.h4
-rw-r--r--src/libtools/sdl1align32.c165
-rwxr-xr-xsrc/libtools/threads32.c12
-rw-r--r--src/wrapped32/generated/functions_list.txt613
-rw-r--r--src/wrapped32/generated/wrappedlibgldefs32.h8
-rw-r--r--src/wrapped32/generated/wrappedlibgltypes32.h36
-rw-r--r--src/wrapped32/generated/wrappedlibglundefs32.h8
-rw-r--r--src/wrapped32/generated/wrappedlibpthreadtypes32.h2
-rw-r--r--src/wrapped32/generated/wrappedsdl1defs32.h8
-rw-r--r--src/wrapped32/generated/wrappedsdl1types32.h45
-rw-r--r--src/wrapped32/generated/wrappedsdl1undefs32.h8
-rw-r--r--src/wrapped32/generated/wrapper32.c1125
-rw-r--r--src/wrapped32/generated/wrapper32.h562
-rw-r--r--src/wrapped32/wrappedlibgl.c562
-rw-r--r--src/wrapped32/wrappedlibgl_private.h4063
-rwxr-xr-xsrc/wrapped32/wrappedlibpthread_private.h4
-rw-r--r--src/wrapped32/wrappedsdl1.c538
-rw-r--r--src/wrapped32/wrappedsdl1_private.h238
-rw-r--r--src/wrapped32/wrappercallback32.h42
21 files changed, 8541 insertions, 4 deletions
diff --git a/src/include/gltools.h b/src/include/gltools.h
index 07bd74f7..94a245b0 100644
--- a/src/include/gltools.h
+++ b/src/include/gltools.h
@@ -9,4 +9,8 @@ void freeGLProcWrapper(box64context_t* context);
 
 void* getGLProcAddress(x64emu_t* emu, glprocaddress_t procaddr, const char* rname);
 
+#ifdef BOX32
+void* getGLProcAddress32(x64emu_t* emu, glprocaddress_t procaddr, const char* rname);
+#endif
+
 #endif //__GL_TOOLS_H__
\ No newline at end of file
diff --git a/src/include/sdl1align32.h b/src/include/sdl1align32.h
new file mode 100644
index 00000000..3dd3aa1d
--- /dev/null
+++ b/src/include/sdl1align32.h
@@ -0,0 +1,498 @@
+#ifndef __MY_SDL1ALIGN32_H_
+#define __MY_SDL1ALIGN32_H_
+#include <stdint.h>
+#include "box32.h"
+
+typedef struct my_SDL_Rect_s
+{
+    int16_t  x;
+    int16_t  y;
+    uint16_t w;
+    uint16_t h;
+} my_SDL_Rect_t;
+
+typedef struct my_SDL_Color_s
+{
+    uint8_t r;
+    uint8_t g;
+    uint8_t b;
+    uint8_t unused;
+} my_SDL_Color_t;
+
+typedef struct my_SDL_Palette_s
+{
+    int ncolors;
+    my_SDL_Color_t *colors;
+} my_SDL_Palette_t;
+
+typedef struct my_SDL_PixelFormat_s
+{
+    my_SDL_Palette_t *palette;
+    uint8_t BitsPerPixel;
+    uint8_t BytesPerPixel;
+    uint8_t Rloss;
+    uint8_t Gloss;
+    uint8_t Bloss;
+    uint8_t Aloss;
+    uint8_t Rshift;
+    uint8_t Gshift;
+    uint8_t Bshift;
+    uint8_t Ashift;
+    uint32_t Rmask;
+    uint32_t Gmask;
+    uint32_t Bmask;
+    uint32_t Amask;
+    uint32_t colorkey;
+    uint8_t alpha;
+} my_SDL_PixelFormat_t;
+
+typedef struct my_SDL_Surface_s
+{
+    uint32_t flags;
+    my_SDL_PixelFormat_t *format;
+    int w;
+    int h;
+    uint16_t pitch;
+    void *pixels;
+    int offset;
+    void* hwdata; //struct private_hwdata
+    my_SDL_Rect_t clip_rect;
+    uint32_t unused1;
+    uint32_t locked;
+    void *map;
+    unsigned int format_version;
+    int refcount;
+} my_SDL_Surface_t;
+
+// x86 version (packed, 32bits pointers and long)
+
+typedef struct __attribute__((packed)) my_SDL_Rect_32_s
+{
+    int16_t  x;
+    int16_t  y;
+    uint16_t w;
+    uint16_t h;
+} my_SDL_Rect_32_t;
+
+typedef struct __attribute__((packed)) my_SDL_Color_32_s
+{
+    uint8_t r;
+    uint8_t g;
+    uint8_t b;
+    uint8_t unused;
+} my_SDL_Color_32_t;
+
+typedef struct __attribute__((packed)) my_SDL_Palette_32_s
+{
+    int ncolors;
+    ptr_t colors;   // my_SDL_Color_t*
+} my_SDL_Palette_32_t;
+
+typedef struct __attribute__((packed)) my_SDL_PixelFormat_32_s
+{
+    ptr_t palette;  // my_SDL_Palette_t *
+    uint8_t BitsPerPixel;
+    uint8_t BytesPerPixel;
+    uint8_t Rloss;
+    uint8_t Gloss;
+    uint8_t Bloss;
+    uint8_t Aloss;
+    uint8_t Rshift;
+    uint8_t Gshift;
+    uint8_t Bshift;
+    uint8_t Ashift;
+    uint32_t Rmask;
+    uint32_t Gmask;
+    uint32_t Bmask;
+    uint32_t Amask;
+    uint32_t colorkey;
+    uint8_t alpha;
+} my_SDL_PixelFormat_32_t;
+
+typedef struct __attribute__((packed)) my_SDL_Surface_32_s
+{
+    uint32_t flags;
+    ptr_t format;   // my_SDL_PixelFormat_t *
+    int w;
+    int h;
+    uint16_t pitch;
+    uint16_t dummy;
+    ptr_t pixels;   // void *
+    int offset;
+    ptr_t hwdata; //struct private_hwdata*
+    my_SDL_Rect_t clip_rect;
+    uint32_t unused1;
+    uint32_t locked;
+    ptr_t map;  // void *
+    unsigned int format_version;
+    int refcount;
+} my_SDL_Surface_32_t;
+
+void inplace_SDL_Surface_to_64(void* a);
+void inplace_SDL_Surface_to_32(void* a);
+void inplace_SDL_PixelFormat_to_64(void* a);
+void inplace_SDL_PixelFormat_to_32(void* a);
+void inplace_SDL_Palette_to_64(void* a);
+void inplace_SDL_Palette_to_32(void* a);
+
+typedef struct my_SDL_keysym_s
+{
+    uint8_t scancode;
+    int sym;
+    int mod;
+    uint16_t unicode;
+} my_SDL_keysym_t;
+
+typedef struct my_SDL_keysym_32_s
+{
+    uint8_t scancode;
+    int sym;
+    int mod;
+    uint16_t unicode;
+} my_SDL_keysym_32_t;
+
+
+typedef enum my_SDL_EventType_s
+{
+    SDL_NOEVENT,
+    SDL_ACTIVEEVENT,
+    SDL_KEYDOWN,
+    SDL_KEYUP,
+    SDL_MOUSEMOTION,
+    SDL_MOUSEBUTTONDOWN,
+    SDL_MOUSEBUTTONUP,
+    SDL_JOYAXISMOTION,
+    SDL_JOYBALLMOTION,
+    SDL_JOYHATMOTION,
+    SDL_JOYBUTTONDOWN,
+    SDL_JOYBUTTONUP,
+    SDL_QUIT,
+    SDL_SYSWMEVENT,
+    SDL_EVENT_RESERVEDA,
+    SDL_EVENT_RESERVEDB,
+    SDL_VIDEORESIZE,
+    SDL_VIDEOEXPOSE,
+    SDL_EVENT_RESERVED2,
+    SDL_EVENT_RESERVED3,
+    SDL_EVENT_RESERVED4,
+    SDL_EVENT_RESERVED5,
+    SDL_EVENT_RESERVED6,
+    SDL_EVENT_RESERVED7,
+    SDL_USEREVENT = 24,
+    SDL_NUMEVENTS = 32
+} my_SDL_EventType_t;
+
+typedef struct my_SDL_ActiveEvent_s
+{
+    uint8_t type;
+    uint8_t gain;
+    uint8_t state;
+} my_SDL_ActiveEvent_t;
+
+typedef struct my_SDL_KeyboardEvent_s
+{
+    uint8_t type;
+    uint8_t which;
+    uint8_t state;
+    my_SDL_keysym_t keysym;
+} my_SDL_KeyboardEvent_t;
+
+typedef struct my_SDL_MouseMotionEvent_s
+{
+    uint8_t type;
+    uint8_t which;
+    uint8_t state;
+    uint16_t x;
+    uint16_t y;
+    int16_t xrel;
+    int16_t yrel;
+} my_SDL_MouseMotionEvent_t;
+
+typedef struct my_SDL_MouseButtonEvent_s
+{
+    uint8_t type;
+    uint8_t which;
+    uint8_t button;
+    uint8_t state;
+    uint16_t x;
+    uint16_t y;
+} my_SDL_MouseButtonEvent_t;
+
+typedef struct my_SDL_JoyAxisEvent_s
+{
+    uint8_t type;
+    uint8_t which;
+    uint8_t axis;
+    int16_t value;
+} my_SDL_JoyAxisEvent_t;
+
+typedef struct my_SDL_JoyBallEvent_s
+{
+    uint8_t type;
+    uint8_t which;
+    uint8_t ball;
+    int16_t xrel;
+    int16_t yrel;
+} my_SDL_JoyBallEvent_t;
+
+typedef struct my_SDL_JoyHatEvent_s
+{
+    uint8_t type;
+    uint8_t which;
+    uint8_t hat;
+    uint8_t value;
+} my_SDL_JoyHatEvent_t;
+
+typedef struct my_SDL_JoyButtonEvent_s
+{
+    uint8_t type;
+    uint8_t which;
+    uint8_t button;
+    uint8_t state;
+} my_SDL_JoyButtonEvent_t;
+
+typedef struct my_SDL_ResizeEvent_s
+{
+    uint8_t type;
+    int w;
+    int h;
+} my_SDL_ResizeEvent_t;
+
+typedef struct my_SDL_ExposeEvent_s
+{
+    uint8_t type;
+} my_SDL_ExposeEvent_t;
+
+typedef struct my_SDL_QuitEvent_s
+{
+    uint8_t type;
+} my_SDL_QuitEvent_t;
+
+typedef struct my_SDL_UserEvent_s
+{
+    uint8_t type;
+    int code;
+    void *data1;
+    void *data2;
+} my_SDL_UserEvent_t;
+
+typedef struct my_SDL_version_s {
+    uint8_t major;
+    uint8_t minor;
+    uint8_t patch;
+} my_SDL_version_t;
+
+typedef struct my_SDL_SysWMinfo_s {
+  my_SDL_version_t version;
+  int subsystem;
+  union {
+    struct {
+      void* display;
+      void* window;
+      void (*lock_func)(void);
+      void (*unlock_func)(void);
+      void* fswindow;
+      void* wmwindow;
+      void* gfxdisplay;
+    } x11;
+  } info;
+} my_SDL_SysWMinfo_t;
+
+typedef union my_XEvent_s {
+    int Type;
+	long pad[24];
+} my_XEvent_t;
+
+typedef struct my_SDL_SysWMmsg_s
+{
+    my_SDL_version_t version;
+    int subsystem;
+    union {
+        my_XEvent_t xevent;
+    } event;
+} my_SDL_SysWMmsg_t;
+
+
+typedef struct my_SDL_SysWMEvent_s
+{
+    uint8_t type;
+    my_SDL_SysWMmsg_t *msg;
+} my_SDL_SysWMEvent_t;
+
+typedef union my_SDL_Event_s
+{
+    uint8_t type;
+    my_SDL_ActiveEvent_t active;
+    my_SDL_KeyboardEvent_t key;
+    my_SDL_MouseMotionEvent_t motion;
+    my_SDL_MouseButtonEvent_t button;
+    my_SDL_JoyAxisEvent_t jaxis;
+    my_SDL_JoyBallEvent_t jball;
+    my_SDL_JoyHatEvent_t jhat;
+    my_SDL_JoyButtonEvent_t jbutton;
+    my_SDL_ResizeEvent_t resize;
+    my_SDL_ExposeEvent_t expose;
+    my_SDL_QuitEvent_t quit;
+    my_SDL_UserEvent_t user;
+    my_SDL_SysWMEvent_t syswm;
+} my_SDL_Event_t;
+
+typedef struct my_SDL_ActiveEvent_32_s
+{
+    uint8_t type;
+    uint8_t gain;
+    uint8_t state;
+} my_SDL_ActiveEvent_32_t;
+
+typedef struct my_SDL_KeyboardEvent_32_s
+{
+    uint8_t type;
+    uint8_t which;
+    uint8_t state;
+    my_SDL_keysym_32_t keysym;
+} my_SDL_KeyboardEvent_32_t;
+
+typedef struct my_SDL_MouseMotionEvent_32_s
+{
+    uint8_t type;
+    uint8_t which;
+    uint8_t state;
+    uint16_t x;
+    uint16_t y;
+    int16_t xrel;
+    int16_t yrel;
+} my_SDL_MouseMotionEvent_32_t;
+
+typedef struct my_SDL_MouseButtonEvent_32_s
+{
+    uint8_t type;
+    uint8_t which;
+    uint8_t button;
+    uint8_t state;
+    uint16_t x;
+    uint16_t y;
+} my_SDL_MouseButtonEvent_32_t;
+
+typedef struct my_SDL_JoyAxisEvent_32_s
+{
+    uint8_t type;
+    uint8_t which;
+    uint8_t axis;
+    int16_t value;
+} my_SDL_JoyAxisEvent_32_t;
+
+typedef struct my_SDL_JoyBallEvent_32_s
+{
+    uint8_t type;
+    uint8_t which;
+    uint8_t ball;
+    int16_t xrel;
+    int16_t yrel;
+} my_SDL_JoyBallEvent_32_t;
+
+typedef struct my_SDL_JoyHatEvent_32_s
+{
+    uint8_t type;
+    uint8_t which;
+    uint8_t hat;
+    uint8_t value;
+} my_SDL_JoyHatEvent_32_t;
+
+typedef struct my_SDL_JoyButtonEvent_32_s
+{
+    uint8_t type;
+    uint8_t which;
+    uint8_t button;
+    uint8_t state;
+} my_SDL_JoyButtonEvent_32_t;
+
+typedef struct my_SDL_ResizeEvent_32_s
+{
+    uint8_t type;
+    int w;
+    int h;
+} my_SDL_ResizeEvent_32_t;
+
+typedef struct my_SDL_ExposeEvent_32_s
+{
+    uint8_t type;
+} my_SDL_ExposeEvent_32_t;
+
+typedef struct my_SDL_QuitEvent_32_s
+{
+    uint8_t type;
+} my_SDL_QuitEvent_32_t;
+
+typedef struct my_SDL_UserEvent_32_s
+{
+    uint8_t type;
+    int code;
+    ptr_t data1;    //void*
+    ptr_t data2;    //void*
+} my_SDL_UserEvent_32_t;
+
+typedef struct my_SDL_version_32_s {
+    uint8_t major;
+    uint8_t minor;
+    uint8_t patch;
+} my_SDL_version_32_t;
+
+typedef struct my_SDL_SysWMinfo_32_s {
+  my_SDL_version_32_t version;
+  int subsystem;
+  union {
+    struct {
+      ptr_t display;    //void*
+      ptr_t window; //void*
+      ptr_t lock_func;//void (*lock_func)(void);
+      ptr_t unlock_func;//void (*unlock_func)(void);
+      ptr_t fswindow;   //void*
+      ptr_t wmwindow;   //void*
+      ptr_t gfxdisplay; //void*
+    } x11;
+  } info;
+} my_SDL_SysWMinfo_32_t;
+
+typedef union my_XEvent_32_s {
+    int Type;
+	long_t pad[24];
+} my_XEvent_32_t;
+
+typedef struct my_SDL_SysWMmsg_32_s
+{
+    my_SDL_version_32_t version;
+    int subsystem;
+    union {
+        my_XEvent_32_t xevent;
+    } event;
+} my_SDL_SysWMmsg_32_t;
+
+
+typedef struct my_SDL_SysWMEvent_32_s
+{
+    uint8_t type;
+    ptr_t msg; //my_SDL_SysWMmsg_t*
+} my_SDL_SysWMEvent_32_t;
+
+typedef union my_SDL_Event_32_s
+{
+    uint8_t type;
+    my_SDL_ActiveEvent_32_t active;
+    my_SDL_KeyboardEvent_32_t key;
+    my_SDL_MouseMotionEvent_32_t motion;
+    my_SDL_MouseButtonEvent_32_t button;
+    my_SDL_JoyAxisEvent_32_t jaxis;
+    my_SDL_JoyBallEvent_32_t jball;
+    my_SDL_JoyHatEvent_32_t jhat;
+    my_SDL_JoyButtonEvent_32_t jbutton;
+    my_SDL_ResizeEvent_32_t resize;
+    my_SDL_ExposeEvent_32_t expose;
+    my_SDL_QuitEvent_32_t quit;
+    my_SDL_UserEvent_32_t user;
+    my_SDL_SysWMEvent_32_t syswm;
+} my_SDL_Event_32_t;
+
+
+void convert_SDL_Event_to_32(void* dst, const void* src);
+
+#endif//__MY_SDL1ALIGN32_H_
\ No newline at end of file
diff --git a/src/library_list_32.h b/src/library_list_32.h
index a5a1831c..f982b84c 100644
--- a/src/library_list_32.h
+++ b/src/library_list_32.h
@@ -9,4 +9,8 @@ GO("libm.so.6", libm)
 GO("libdl.so.2", libdl)
 GO("ld-linux.so.2", ldlinux)
 
+GO("libGL.so", libgl)
+GO("libGL.so.1", libgl)
+GO("libSDL-1.2.so.0", sdl1)
+
 GO("crashhandler.so", crashhandler)
diff --git a/src/libtools/sdl1align32.c b/src/libtools/sdl1align32.c
new file mode 100644
index 00000000..d1d28e28
--- /dev/null
+++ b/src/libtools/sdl1align32.c
@@ -0,0 +1,165 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <stdint.h>
+#include <stddef.h>
+#include <wchar.h>
+#include <sys/epoll.h>
+#include <fts.h>
+#include <sys/socket.h>
+
+#include "x64emu.h"
+#include "emu/x64emu_private.h"
+#include "myalign32.h"
+#include "debug.h"
+#include "box32.h"
+#include "sdl1align32.h"
+
+
+void inplace_SDL_Palette_to_64(void* a) {
+    if(!a) return;
+    my_SDL_Palette_32_t* src = a;
+    my_SDL_Palette_t* dst = a;
+    dst->colors = from_ptrv(src->colors);
+}
+void inplace_SDL_Palette_to_32(void* a) {
+    if(!a) return;
+    my_SDL_Palette_t* src = a;
+    my_SDL_Palette_32_t* dst = a;
+    dst->colors = to_ptrv(src->colors);
+}
+void inplace_SDL_PixelFormat_to_64(void* a) {
+    if(!a) return;
+    my_SDL_PixelFormat_32_t* src = a;
+    my_SDL_PixelFormat_t* dst = a;
+    memmove(&dst->BitsPerPixel, &src->BitsPerPixel, sizeof(my_SDL_PixelFormat_t)-offsetof(my_SDL_PixelFormat_t, BitsPerPixel));
+    dst->palette = from_ptrv(src->palette);
+    inplace_SDL_Palette_to_64(dst->palette);
+}
+void inplace_SDL_PixelFormat_to_32(void* a) {
+    if(!a) return;
+    my_SDL_PixelFormat_t* src = a;
+    my_SDL_PixelFormat_32_t* dst = a;
+    inplace_SDL_Palette_to_32(src->palette);
+    dst->palette = to_ptrv(src->palette);
+    memmove(&dst->BitsPerPixel, &src->BitsPerPixel, sizeof(my_SDL_PixelFormat_32_t)-offsetof(my_SDL_PixelFormat_32_t, BitsPerPixel));
+}
+
+void inplace_SDL_Surface_to_64(void* a) {
+    if(!a) return;
+    my_SDL_Surface_32_t* src = a;
+    my_SDL_Surface_t* dst = a;
+    dst->refcount = src->refcount;
+    dst->format_version = src->format_version;
+    dst->map = from_ptrv(src->map);
+    dst->locked = src->locked;
+    dst->unused1 = src->unused1;
+    memmove(&dst->clip_rect, &src->clip_rect, sizeof(dst->clip_rect));
+    dst->hwdata = from_ptrv(src->hwdata);
+    dst->offset = src->offset;
+    dst->pixels = from_ptrv(src->pixels);
+    dst->pitch = src->pitch;
+    dst->h = src->h;
+    dst->w = src->w;
+    dst->format = from_ptrv(src->format);
+    inplace_SDL_PixelFormat_to_64(dst->format);
+}
+void inplace_SDL_Surface_to_32(void* a) {
+    if(!a) return;
+    my_SDL_Surface_t* src = a;
+    my_SDL_Surface_32_t* dst = a;
+    inplace_SDL_PixelFormat_to_32(src->format);
+    dst->format = to_ptrv(src->format);
+    dst->w = src->w;
+    dst->h = src->h;
+    dst->pitch = src->pitch;
+    dst->pixels = to_ptrv(src->pixels);
+    dst->offset = src->offset;
+    dst->hwdata = to_ptrv(src->hwdata);
+    memmove(&dst->clip_rect, &src->clip_rect, sizeof(dst->clip_rect));
+    dst->unused1 = src->unused1;
+    dst->locked = src->locked;
+    dst->map = to_ptrv(src->map);
+    dst->format_version = src->format_version;
+    dst->refcount = src->refcount;
+}
+
+
+void convert_SDL_Event_to_32(void* dst_, const void* src_)
+{
+    if(!src_|| !dst_) return;
+    const my_SDL_Event_t *src = src_;
+    my_SDL_Event_32_t* dst = dst_;
+    dst->type = src->type;
+    switch(src->type) {
+        case SDL_ACTIVEEVENT:
+            dst->active.gain = src->active.gain;
+            dst->active.state = src->active.state;
+            break;
+        case SDL_KEYUP:
+        case SDL_KEYDOWN:
+            dst->key.keysym.mod = src->key.keysym.mod;
+            dst->key.keysym.scancode = src->key.keysym.scancode;
+            dst->key.keysym.sym = src->key.keysym.sym;
+            dst->key.keysym.unicode = src->key.keysym.unicode;
+            dst->key.state = src->key.state;
+            dst->key.which = dst->key.which;
+            break;
+        case SDL_MOUSEMOTION:
+            dst->motion.state = src->motion.state;
+            dst->motion.which = src->motion.which;
+            dst->motion.x = src->motion.x;
+            dst->motion.y = src->motion.y;
+            dst->motion.xrel = src->motion.xrel;
+            dst->motion.yrel = src->motion.yrel;
+            break;
+        case SDL_MOUSEBUTTONUP:
+        case SDL_MOUSEBUTTONDOWN:
+            dst->button.button = src->button.button;
+            dst->button.state = src->button.state;
+            dst->button.which = src->button.which;
+            dst->button.x = src->button.x;
+            dst->button.y = src->button.y;
+            break;
+        case SDL_JOYAXISMOTION:
+            dst->jaxis.axis = src->jaxis.axis;
+            dst->jaxis.value = src->jaxis.value;
+            dst->jaxis.which = src->jaxis.which;
+            break;
+        case SDL_JOYBALLMOTION:
+            dst->jball.ball = src->jball.ball;
+            dst->jball.which = src->jball.which;
+            dst->jball.xrel = src->jball.xrel;
+            dst->jball.yrel = src->jball.yrel;
+            break;
+        case SDL_JOYHATMOTION:
+            dst->jhat.hat = src->jhat.hat;
+            dst->jhat.value = src->jhat.value;
+            dst->jhat.which = src->jhat.which;
+            break;
+        case SDL_JOYBUTTONUP:
+        case SDL_JOYBUTTONDOWN:
+            dst->jbutton.button = src->jbutton.button;
+            dst->jbutton.state = src->jbutton.state;
+            dst->jbutton.which = src->jbutton.which;
+            break;
+        case SDL_VIDEORESIZE:
+            dst->resize.h = src->resize.h;
+            dst->resize.w = src->resize.w;
+            break;
+        case SDL_VIDEOEXPOSE:
+        case SDL_QUIT:
+            break;
+        case SDL_USEREVENT:
+            dst->user.code = src->user.code;
+            dst->user.data1 = to_ptrv(src->user.data1);
+            dst->user.data2 = to_ptrv(src->user.data2);
+        case SDL_SYSWMEVENT:
+            printf_log(LOG_NONE, "TODO: Convert SDL_SYSWMEVENT\n");
+            abort();
+            break;
+        default:
+            printf_log(LOG_INFO, "Warning, unsuported SDL1.2 event %d\n", src->type);
+            memcpy(dst, src, sizeof(my_SDL_Event_32_t));
+    }
+}
\ No newline at end of file
diff --git a/src/libtools/threads32.c b/src/libtools/threads32.c
index e161ff45..5cc808a0 100755
--- a/src/libtools/threads32.c
+++ b/src/libtools/threads32.c
@@ -311,6 +311,18 @@ EXPORT int my32_pthread_rwlock_init(void* rdlock, void* attr)
 }
 EXPORT int my32___pthread_rwlock_init(void*, void*) __attribute__((alias("my32_pthread_rwlock_init")));
 
+EXPORT int my32_pthread_rwlock_destroy(void* rdlock)
+{
+	// the structure is bigger, but the "active" part should be the same size, so just save/restoore the padding at init
+	uint8_t buff[sizeof(pthread_rwlock_t)];
+	if(rdlock && sizeof(pthread_rwlock_t)>X86_RWLOCK_SIZE) {
+		memcpy(buff, rdlock+32, sizeof(pthread_rwlock_t)-X86_RWLOCK_SIZE);
+	}
+	int ret = pthread_rwlock_destroy(rdlock);
+	memcpy(rdlock+32, buff, sizeof(pthread_rwlock_t)-X86_RWLOCK_SIZE);
+	return ret;
+}
+
 EXPORT void my32___pthread_unwind_next(x64emu_t* emu, void* p)
 {
 	emu->quit = 1;
diff --git a/src/wrapped32/generated/functions_list.txt b/src/wrapped32/generated/functions_list.txt
index 21b09142..aef27d63 100644
--- a/src/wrapped32/generated/functions_list.txt
+++ b/src/wrapped32/generated/functions_list.txt
@@ -1,6 +1,14 @@
 #() vFv -> vFv
+#() vFc -> vFc
+#() vFw -> vFw
 #() vFi -> vFi
+#() vFC -> vFC
+#() vFW -> vFW
 #() vFu -> vFu
+#() vFU -> vFU
+#() vFf -> vFf
+#() vFd -> vFd
+#() vFl -> vFl
 #() vFp -> vFp
 #() vFA -> vFA
 #() vFS -> vFS
@@ -17,16 +25,24 @@
 #() IFf -> IFf
 #() IFd -> IFd
 #() IFS -> IFS
+#() CFu -> CFu
+#() CFU -> CFU
+#() CFl -> CFl
+#() CFp -> CFp
+#() WFu -> WFu
 #() uFv -> uFv
+#() uFi -> uFi
 #() uFu -> uFu
 #() uFU -> uFU
 #() uFp -> uFp
+#() UFu -> UFu
 #() UFp -> UFp
 #() UFs -> UFs
 #() fFf -> fFf
 #() dFv -> dFv
 #() dFd -> dFd
 #() lFi -> lFi
+#() lFu -> lFu
 #() lFp -> lFp
 #() lFS -> lFS
 #() LFv -> LFv
@@ -46,6 +62,37 @@
 #() LFriiiiiiiiilt_ -> LFB
 #() vFEv -> vFEv
 #() vFEp -> vFEp
+#() vFcc -> vFcc
+#() vFww -> vFww
+#() vFii -> vFii
+#() vFiI -> vFiI
+#() vFiW -> vFiW
+#() vFiu -> vFiu
+#() vFiU -> vFiU
+#() vFif -> vFif
+#() vFid -> vFid
+#() vFip -> vFip
+#() vFWW -> vFWW
+#() vFuc -> vFuc
+#() vFuw -> vFuw
+#() vFui -> vFui
+#() vFuI -> vFuI
+#() vFuC -> vFuC
+#() vFuW -> vFuW
+#() vFuu -> vFuu
+#() vFuU -> vFuU
+#() vFuf -> vFuf
+#() vFud -> vFud
+#() vFul -> vFul
+#() vFup -> vFup
+#() vFUu -> vFUu
+#() vFfC -> vFfC
+#() vFff -> vFff
+#() vFdd -> vFdd
+#() vFlu -> vFlu
+#() vFlp -> vFlp
+#() vFpp -> vFpp
+#() wFpi -> wFpi
 #() iFEv -> iFEv
 #() iFEi -> iFEi
 #() iFEL -> iFEL
@@ -72,10 +119,19 @@
 #() iFhp -> iFhp
 #() iFhh -> iFhh
 #() IFII -> IFII
+#() CFip -> CFip
+#() CFuu -> CFuu
+#() CFuU -> CFuU
+#() CFpi -> CFpi
 #() uFEu -> uFEu
 #() uFEV -> uFEV
+#() uFuu -> uFuu
+#() uFup -> uFup
+#() uFpi -> uFpi
+#() uFpp -> uFpp
 #() uFpa -> uFpa
 #() UFii -> UFii
+#() UFuu -> UFuu
 #() UFUU -> UFUU
 #() UFss -> UFss
 #() fFif -> fFif
@@ -88,15 +144,19 @@
 #() dFdd -> dFdd
 #() dFdD -> dFdD
 #() dFdp -> dFdp
+#() lFui -> lFui
 #() LFpL -> LFpL
 #() LFpp -> LFpp
 #() pFEv -> pFEv
 #() pFEu -> pFEu
 #() pFEp -> pFEp
 #() pFES -> pFES
+#() pFiu -> pFiu
 #() pFia -> pFia
+#() pFuu -> pFuu
 #() pFLL -> pFLL
 #() pFpi -> pFpi
+#() pFpu -> pFpu
 #() pFpL -> pFpL
 #() pFpp -> pFpp
 #() SFpp -> SFpp
@@ -115,9 +175,65 @@
 #() vFEip -> vFEip
 #() vFEpi -> vFEpi
 #() vFEpu -> vFEpu
+#() vFEpp -> vFEpp
+#() vFccc -> vFccc
+#() vFwww -> vFwww
+#() vFiii -> vFiii
+#() vFiif -> vFiif
+#() vFiip -> vFiip
+#() vFiII -> vFiII
+#() vFiui -> vFiui
+#() vFiuu -> vFiuu
+#() vFiup -> vFiup
+#() vFiUU -> vFiUU
+#() vFiff -> vFiff
+#() vFidd -> vFidd
+#() vFilu -> vFilu
+#() vFill -> vFill
+#() vFilp -> vFilp
+#() vFipi -> vFipi
+#() vFipu -> vFipu
+#() vFipp -> vFipp
+#() vFCCC -> vFCCC
+#() vFWWW -> vFWWW
+#() vFucc -> vFucc
+#() vFuww -> vFuww
+#() vFuii -> vFuii
+#() vFuiI -> vFuiI
+#() vFuiu -> vFuiu
+#() vFuiU -> vFuiU
+#() vFuif -> vFuif
+#() vFuid -> vFuid
+#() vFuip -> vFuip
+#() vFuII -> vFuII
+#() vFuWW -> vFuWW
+#() vFuui -> vFuui
+#() vFuuC -> vFuuC
+#() vFuuu -> vFuuu
+#() vFuuU -> vFuuU
+#() vFuuf -> vFuuf
+#() vFuud -> vFuud
+#() vFuup -> vFuup
+#() vFuUU -> vFuUU
+#() vFuff -> vFuff
+#() vFudd -> vFudd
+#() vFull -> vFull
+#() vFulp -> vFulp
+#() vFupp -> vFupp
+#() vFfff -> vFfff
 #() vFfpp -> vFfpp
+#() vFddd -> vFddd
 #() vFdpp -> vFdpp
+#() vFlii -> vFlii
+#() vFlip -> vFlip
+#() vFllp -> vFllp
+#() vFlpp -> vFlpp
+#() vFpip -> vFpip
+#() vFpuU -> vFpuU
+#() vFplp -> vFplp
+#() vFppi -> vFppi
 #() vFppu -> vFppu
+#() vFppp -> vFppp
 #() iFEip -> iFEip
 #() iFEpi -> iFEpi
 #() iFEpL -> iFEpL
@@ -137,12 +253,18 @@
 #() iFipL -> iFipL
 #() iFipp -> iFipp
 #() iFuii -> iFuii
+#() iFuip -> iFuip
 #() iFuui -> iFuui
 #() iFuuu -> iFuuu
+#() iFuup -> iFuup
 #() iFuLp -> iFuLp
+#() iFfff -> iFfff
 #() iFpiu -> iFpiu
 #() iFpip -> iFpip
+#() iFpuC -> iFpuC
 #() iFpuu -> iFpuu
+#() iFpuU -> iFpuU
+#() iFpup -> iFpup
 #() iFpLi -> iFpLi
 #() iFppi -> iFppi
 #() iFppu -> iFppu
@@ -156,6 +278,17 @@
 #() iFSIi -> iFSIi
 #() iFSli -> iFSli
 #() IFiIi -> IFiIi
+#() CFipp -> CFipp
+#() CFuUu -> CFuUu
+#() CFuff -> CFuff
+#() uFilp -> uFilp
+#() uFipu -> uFipu
+#() uFuip -> uFuip
+#() uFuuu -> uFuuu
+#() uFuup -> uFuup
+#() uFupp -> uFupp
+#() uFpuU -> uFpuU
+#() fFuii -> fFuii
 #() fFfff -> fFfff
 #() fFffp -> fFffp
 #() fFppa -> fFppa
@@ -169,11 +302,16 @@
 #() pFEpi -> pFEpi
 #() pFEpp -> pFEpp
 #() pFipi -> pFipi
+#() pFulu -> pFulu
 #() pFpii -> pFpii
 #() pFpiL -> pFpiL
+#() pFpip -> pFpip
 #() pFpiS -> pFpiS
 #() pFpuL -> pFpuL
+#() pFpup -> pFpup
+#() pFppu -> pFppu
 #() pFppL -> pFppL
+#() pFppp -> pFppp
 #() pFpOM -> pFpOM
 #() aFipa -> aFipa
 #() SFEpp -> SFEpp
@@ -188,10 +326,87 @@
 #() lFpBp_i -> lFpBi
 #() LFpBp_i -> LFpBi
 #() pFppriiiiiiiiilt_ -> pFppB
+#() vFEipp -> vFEipp
 #() vFEipV -> vFEipV
 #() vFEpup -> vFEpup
 #() vFEppp -> vFEppp
+#() vFcccc -> vFcccc
+#() vFwwww -> vFwwww
+#() vFiiii -> vFiiii
+#() vFiiip -> vFiiip
+#() vFiiCp -> vFiiCp
+#() vFiill -> vFiill
+#() vFiIII -> vFiIII
+#() vFiuip -> vFiuip
+#() vFiuuu -> vFiuuu
+#() vFiulp -> vFiulp
+#() vFiUUU -> vFiUUU
+#() vFifff -> vFifff
+#() vFiddd -> vFiddd
+#() vFilip -> vFilip
+#() vFilpu -> vFilpu
+#() vFilpp -> vFilpp
+#() vFipup -> vFipup
+#() vFipll -> vFipll
+#() vFCCCC -> vFCCCC
+#() vFWWWW -> vFWWWW
+#() vFuccc -> vFuccc
+#() vFuwww -> vFuwww
+#() vFuiii -> vFuiii
+#() vFuiip -> vFuiip
+#() vFuiII -> vFuiII
+#() vFuiui -> vFuiui
+#() vFuiuC -> vFuiuC
+#() vFuiuu -> vFuiuu
+#() vFuiup -> vFuiup
+#() vFuiUU -> vFuiUU
+#() vFuifi -> vFuifi
+#() vFuiff -> vFuiff
+#() vFuidd -> vFuidd
+#() vFuilp -> vFuilp
+#() vFuipi -> vFuipi
+#() vFuipu -> vFuipu
+#() vFuipp -> vFuipp
+#() vFuIII -> vFuIII
+#() vFuWWW -> vFuWWW
+#() vFuuii -> vFuuii
+#() vFuuiu -> vFuuiu
+#() vFuuil -> vFuuil
+#() vFuuip -> vFuuip
+#() vFuuCu -> vFuuCu
+#() vFuuCp -> vFuuCp
+#() vFuuui -> vFuuui
+#() vFuuuu -> vFuuuu
+#() vFuuuf -> vFuuuf
+#() vFuuud -> vFuuud
+#() vFuuul -> vFuuul
+#() vFuuup -> vFuuup
+#() vFuuUl -> vFuuUl
+#() vFuuff -> vFuuff
+#() vFuuli -> vFuuli
+#() vFuupi -> vFuupi
+#() vFuupp -> vFuupp
+#() vFuUui -> vFuUui
+#() vFuUup -> vFuUup
+#() vFuUUU -> vFuUUU
+#() vFufff -> vFufff
+#() vFuddd -> vFuddd
+#() vFuluU -> vFuluU
+#() vFullC -> vFullC
+#() vFullp -> vFullp
+#() vFulpu -> vFulpu
+#() vFulpp -> vFulpp
+#() vFupii -> vFupii
+#() vFuppi -> vFuppi
+#() vFuppu -> vFuppu
+#() vFffff -> vFffff
+#() vFdddd -> vFdddd
+#() vFllii -> vFllii
+#() vFpiii -> vFpiii
+#() vFpipp -> vFpipp
+#() vFplpp -> vFplpp
 #() vFppip -> vFppip
+#() vFpppp -> vFpppp
 #() iFEiip -> iFEiip
 #() iFEiiN -> iFEiiN
 #() iFEipp -> iFEipp
@@ -213,18 +428,39 @@
 #() iFipii -> iFipii
 #() iFipup -> iFipup
 #() iFippi -> iFippi
+#() iFuiup -> iFuiup
 #() iFuupi -> iFuupi
+#() iFpiip -> iFpiip
+#() iFpipp -> iFpipp
+#() iFpuup -> iFpuup
+#() iFpupp -> iFpupp
+#() iFppii -> iFppii
+#() iFppiU -> iFppiU
+#() iFppip -> iFppip
+#() iFpppi -> iFpppi
+#() iFpppp -> iFpppp
 #() iFhpiL -> iFhpiL
+#() CFuuff -> CFuuff
+#() uFuuuu -> uFuuuu
 #() lFEipi -> lFEipi
 #() lFiipL -> lFiipL
 #() lFipLi -> lFipLi
+#() lFpuip -> lFpuip
 #() LFpLLS -> LFpLLS
 #() LFppLp -> LFppLp
 #() LFppLa -> LFppLa
 #() pFEppi -> pFEppi
 #() pFEppp -> pFEppp
+#() pFiiiu -> pFiiiu
+#() pFillu -> pFillu
+#() pFullu -> pFullu
+#() pFlfff -> pFlfff
+#() pFpiii -> pFpiii
 #() pFpiLL -> pFpiLL
+#() pFpipp -> pFpipp
 #() pFppLL -> pFppLL
+#() pFpppi -> pFpppi
+#() pFpppp -> pFpppp
 #() IFpBp_ii -> IFpBii
 #() UFpBp_ii -> UFpBii
 #() lFiibp_L -> lFiiBL
@@ -232,6 +468,92 @@
 #() iFEpprLL_ -> iFEppB
 #() LFpLpriiiiiiiiilt_ -> LFpLpB
 #() vFEpLLp -> vFEpLLp
+#() vFiiiii -> vFiiiii
+#() vFiiiiu -> vFiiiiu
+#() vFiiuii -> vFiiuii
+#() vFiiuup -> vFiiuup
+#() vFiillu -> vFiillu
+#() vFiilll -> vFiilll
+#() vFiipll -> vFiipll
+#() vFiIIII -> vFiIIII
+#() vFiuiip -> vFiuiip
+#() vFiuipi -> vFiuipi
+#() vFiuuuu -> vFiuuuu
+#() vFiulpp -> vFiulpp
+#() vFiUUUU -> vFiUUUU
+#() vFiffff -> vFiffff
+#() vFidddd -> vFidddd
+#() vFilill -> vFilill
+#() vFilipi -> vFilipi
+#() vFilipl -> vFilipl
+#() vFipipu -> vFipipu
+#() vFipipp -> vFipipp
+#() vFipupi -> vFipupi
+#() vFucccc -> vFucccc
+#() vFuwwww -> vFuwwww
+#() vFuiiii -> vFuiiii
+#() vFuiiiu -> vFuiiiu
+#() vFuiiip -> vFuiiip
+#() vFuiiCp -> vFuiiCp
+#() vFuiiup -> vFuiiup
+#() vFuiill -> vFuiill
+#() vFuiIII -> vFuiIII
+#() vFuiuii -> vFuiuii
+#() vFuiuip -> vFuiuip
+#() vFuiuCi -> vFuiuCi
+#() vFuiuCu -> vFuiuCu
+#() vFuiuuu -> vFuiuuu
+#() vFuiuup -> vFuiuup
+#() vFuiupi -> vFuiupi
+#() vFuiUUU -> vFuiUUU
+#() vFuifff -> vFuifff
+#() vFuiddd -> vFuiddd
+#() vFuipip -> vFuipip
+#() vFuipup -> vFuipup
+#() vFuippp -> vFuippp
+#() vFuIIII -> vFuIIII
+#() vFuCCCC -> vFuCCCC
+#() vFuCuip -> vFuCuip
+#() vFuCuup -> vFuCuup
+#() vFuWWWW -> vFuWWWW
+#() vFuuiii -> vFuuiii
+#() vFuuiip -> vFuuiip
+#() vFuuiui -> vFuuiui
+#() vFuuiuu -> vFuuiuu
+#() vFuuiup -> vFuuiup
+#() vFuuifi -> vFuuifi
+#() vFuuipC -> vFuuipC
+#() vFuuipu -> vFuuipu
+#() vFuuipp -> vFuuipp
+#() vFuuuii -> vFuuuii
+#() vFuuuiu -> vFuuuiu
+#() vFuuuil -> vFuuuil
+#() vFuuuip -> vFuuuip
+#() vFuuuui -> vFuuuui
+#() vFuuuuu -> vFuuuuu
+#() vFuuuup -> vFuuuup
+#() vFuuuli -> vFuuuli
+#() vFuuull -> vFuuull
+#() 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
+#() vFfffff -> vFfffff
+#() vFluipp -> vFluipp
+#() vFpilpp -> vFpilpp
+#() vFpuipp -> vFpuipp
+#() vFpppii -> vFpppii
+#() vFppppu -> vFppppu
+#() vFppppp -> vFppppp
 #() iFEiiip -> iFEiiip
 #() iFEipii -> iFEipii
 #() iFEpipp -> iFEpipp
@@ -245,24 +567,264 @@
 #() iFiiipp -> iFiiipp
 #() iFiLLLL -> iFiLLLL
 #() iFipLLi -> iFipLLi
+#() iFpiiip -> iFpiiip
+#() iFpippp -> iFpippp
+#() iFppipi -> iFppipi
+#() iFpppip -> iFpppip
 #() iFpppup -> iFpppup
+#() iFppppp -> iFppppp
+#() IFppIII -> IFppIII
 #() uFpLLLS -> uFpLLLS
+#() UFuiCiu -> UFuiCiu
+#() lFpuipC -> lFpuipC
 #() LFpLppa -> LFpLppa
+#() pFuiupp -> pFuiupp
+#() pFpippp -> pFpippp
+#() pFppipi -> pFppipi
+#() pFppuup -> pFppuup
+#() pFppupp -> pFppupp
+#() pFpppip -> pFpppip
 #() iFEBh_ppp -> iFEBppp
 #() LFpbp_LLp -> LFpBLLp
 #() LFpBp_LLp -> LFpBLLp
 #() iFippprLL_ -> iFipppB
 #() LFLbp_bL_Bp_BL_ -> LFLBBBB
 #() LFpLpriiiiiiiiilt_a -> LFpLpBa
+#() vFiiiiii -> vFiiiiii
+#() vFiiiuil -> vFiiiuil
+#() vFiiilpi -> vFiiilpi
+#() vFiiuilp -> vFiiuilp
+#() vFiffiff -> vFiffiff
+#() vFiddidd -> vFiddidd
+#() vFilipli -> vFilipli
+#() vFiliplu -> vFiliplu
+#() vFipiplp -> vFipiplp
+#() vFCCCCff -> vFCCCCff
+#() vFuiiiii -> vFuiiiii
+#() vFuiiuii -> vFuiiuii
+#() vFuiiuup -> vFuiiuup
+#() vFuiIIII -> vFuiIIII
+#() vFuiuiii -> vFuiuiii
+#() vFuiuiiC -> vFuiuiiC
+#() vFuiuiil -> vFuiuiil
+#() vFuiuiuu -> vFuiuiuu
+#() vFuiuiuU -> vFuiuiuU
+#() vFuiuCip -> vFuiuCip
+#() vFuiuuip -> vFuiuuip
+#() vFuiuuuu -> vFuiuuuu
+#() vFuiupii -> vFuiupii
+#() vFuiupiu -> vFuiupiu
+#() vFuiUUUU -> vFuiUUUU
+#() vFuiffff -> vFuiffff
+#() vFuidddd -> vFuidddd
+#() vFuipiup -> vFuipiup
+#() vFuCuuip -> vFuCuuip
+#() vFuuiiii -> vFuuiiii
+#() vFuuiuii -> vFuuiuii
+#() vFuuiuil -> vFuuiuil
+#() vFuuiuip -> vFuuiuip
+#() vFuuiuCu -> vFuuiuCu
+#() vFuuiuup -> vFuuiuup
+#() vFuuippp -> vFuuippp
+#() vFuuuiii -> vFuuuiii
+#() vFuuuiup -> vFuuuiup
+#() vFuuuipC -> vFuuuipC
+#() vFuuuipp -> vFuuuipp
+#() vFuuuuii -> vFuuuuii
+#() vFuuuuip -> vFuuuuip
+#() vFuuuuuu -> vFuuuuuu
+#() vFuuuull -> vFuuuull
+#() vFuuuppi -> vFuuuppi
+#() vFuuuppp -> vFuuuppp
+#() vFuuffff -> vFuuffff
+#() vFuudddd -> vFuudddd
+#() vFuupiii -> vFuupiii
+#() vFuupupp -> vFuupupp
+#() vFuuplii -> vFuuplii
+#() vFuffiip -> vFuffiip
+#() vFufffff -> vFufffff
+#() vFuddiip -> vFuddiip
+#() vFulluUC -> vFulluUC
+#() vFupiiii -> vFupiiii
+#() vFupupip -> vFupupip
+#() vFuppppu -> vFuppppu
+#() vFffffff -> vFffffff
+#() vFdddddd -> vFdddddd
+#() vFppiiii -> vFppiiii
+#() vFppupii -> vFppupii
 #() iFEpLppp -> iFEpLppp
+#() iFpiiipp -> iFpiiipp
+#() iFpiippp -> iFpiippp
+#() iFppiiii -> iFppiiii
+#() iFppIppp -> iFppIppp
+#() uFupuufp -> uFupuufp
 #() lFipLipu -> lFipLipu
 #() lFipLipp -> lFipLipp
 #() pFEpLLiN -> pFEpLLiN
+#() pFpippip -> pFpippip
+#() vFiiiiiip -> vFiiiiiip
+#() vFiiiiuup -> vFiiiiuup
+#() vFiiuilil -> vFiiuilil
+#() vFiiffffp -> vFiiffffp
+#() vFiuulipi -> vFiuulipi
+#() vFiupuuup -> vFiupuuup
+#() vFilipliu -> vFilipliu
+#() vFilulipi -> vFilulipi
+#() vFCCCCfff -> vFCCCCfff
+#() vFuiiiiii -> vFuiiiiii
+#() vFuiiiiiC -> vFuiiiiiC
+#() vFuiiiuip -> vFuiiiuip
+#() vFuiiiuup -> vFuiiiuup
+#() vFuiuiiii -> vFuiuiiii
+#() vFuiuiiiC -> vFuiuiiiC
+#() vFuiuiiip -> vFuiuiiip
+#() vFuiuiiuU -> vFuiuiiuU
+#() vFuiuCiuu -> vFuiuCiuu
+#() vFuiupiiu -> vFuiupiiu
+#() vFuiupuip -> vFuiupuip
+#() vFuipiiii -> vFuipiiii
+#() vFuipffff -> vFuipffff
+#() vFuipdddd -> vFuipdddd
+#() vFuuiiiii -> vFuuiiiii
+#() vFuuiiiiC -> vFuuiiiiC
+#() vFuuiiiiu -> vFuuiiiiu
+#() vFuuiiuup -> vFuuiiuup
+#() vFuuiCiui -> vFuuiCiui
+#() vFuuiCiuu -> vFuuiCiuu
+#() vFuuiuiii -> vFuuiuiii
+#() vFuuiuiiC -> vFuuiuiiC
+#() vFuuipppp -> vFuuipppp
+#() vFuuuiiii -> vFuuuiiii
+#() vFuuuiiCp -> vFuuuiiCp
+#() vFuuuiuil -> vFuuuiuil
+#() vFuuuiupi -> vFuuuiupi
+#() vFuuuuuuu -> vFuuuuuuu
+#() vFuuuulll -> vFuuuulll
+#() vFuuuffff -> vFuuuffff
+#() vFuuudddd -> vFuuudddd
+#() vFuuffiip -> vFuuffiip
+#() vFuuddiip -> vFuuddiip
+#() vFuulluup -> vFuulluup
+#() vFuupiiii -> vFuupiiii
+#() vFuuppppu -> vFuuppppu
+#() vFuuppppp -> vFuuppppp
+#() vFuffffff -> vFuffffff
+#() vFudddddd -> vFudddddd
+#() vFlliiiip -> vFlliiiip
 #() iFEpLiipV -> iFEpLiipV
 #() iFpupLpLi -> iFpupLpLi
+#() uFuippppp -> uFuippppp
 #() pFEpLiiii -> pFEpLiiii
 #() pFEpLiiiI -> pFEpLiiiI
+#() vFiiiiuuip -> vFiiiiuuip
+#() vFiilliilp -> vFiilliilp
+#() vFiupuiuup -> vFiupuiuup
+#() vFiupuuuup -> vFiupuuuup
+#() vFuiiiiiii -> vFuiiiiiii
+#() vFuiiiiiiC -> vFuiiiiiiC
+#() vFuiiiiuup -> vFuiiiiuup
+#() vFuiiipiup -> vFuiiipiup
+#() vFuiuiiiii -> vFuiuiiiii
+#() vFuiuiiiip -> vFuiuiiiip
+#() vFuiuiiiuU -> vFuiuiiiuU
+#() vFuiuiiCuU -> vFuiuiiCuU
+#() vFuiuiuuuu -> vFuiuiuuuu
+#() vFuCCCCfff -> vFuCCCCfff
+#() vFuuiiiiiC -> vFuuiiiiiC
+#() vFuuiiiuip -> vFuuiiiuip
+#() vFuuiiiuup -> vFuuiiiuup
+#() vFuuiiuupp -> vFuuiiuupp
+#() vFuuiuiiii -> vFuuiuiiii
+#() vFuuiuiiiC -> vFuuiuiiiC
+#() vFuuiuiiip -> vFuuiuiiip
+#() vFuuuiiiiu -> vFuuuiiiiu
+#() vFuuuiuCil -> vFuuuiuCil
+#() vFuuuipipp -> vFuuuipipp
+#() vFuuuuuuuu -> vFuuuuuuuu
+#() vFuuufffff -> vFuuufffff
+#() vFffffffff -> vFffffffff
 #() iFEpippppp -> iFEpippppp
+#() iFppIIIppp -> iFppIIIppp
+#() CFuiifpppp -> CFuiifpppp
+#() uFuipppppp -> uFuipppppp
+#() uFuupuuiuf -> uFuupuuiuf
+#() uFulpppppp -> uFulpppppp
+#() vFiiiiiiiii -> vFiiiiiiiii
+#() vFiiiiiiill -> vFiiiiiiill
+#() vFiiiiillli -> vFiiiiillli
+#() vFiiilllilp -> vFiiilllilp
+#() vFiupuiuuup -> vFiupuiuuup
+#() vFiupuuuuup -> vFiupuuuuup
+#() vFuiiiiiiii -> vFuiiiiiiii
+#() vFuiiiiiiiC -> vFuiiiiiiiC
+#() vFuiiiiiuip -> vFuiiiiiuip
+#() vFuiiiiiuup -> vFuiiiiiuup
+#() vFuiuiiiiip -> vFuiuiiiiip
+#() vFuiuiiiCuU -> vFuiuiiiCuU
+#() vFuiupuffup -> vFuiupuffup
+#() vFuuiiiiiii -> vFuuiiiiiii
+#() vFuuiiiiiiC -> vFuuiiiiiiC
+#() vFuuiiiiuup -> vFuuiiiiuup
+#() vFuuiuiiiii -> vFuuiuiiiii
+#() vFuuiuiiiip -> vFuuiuiiiip
+#() vFuuuiiiiCp -> vFuuuiiiiCp
+#() vFuuuuuuuuu -> vFuuuuuuuuu
+#() vFuupuuiuuf -> vFuupuuiuuf
+#() vFuffffffff -> vFuffffffff
+#() vFffCCCCfff -> vFffCCCCfff
+#() uFuulpiuiuf -> uFuulpiuiuf
+#() vFiiiiiiiiii -> vFiiiiiiiiii
+#() vFiiiiiiiiui -> vFiiiiiiiiui
+#() vFiiiiiiiiuu -> vFiiiiiiiiuu
+#() vFiiillliiip -> vFiiillliiip
+#() vFuiiiiiiiii -> vFuiiiiiiiii
+#() vFuiiiiiiiip -> vFuiiiiiiiip
+#() vFuiiiiiiuup -> vFuiiiiiiuup
+#() vFuiuiiiiuup -> vFuiuiiiiuup
+#() vFuuiiiiiiii -> vFuuiiiiiiii
+#() vFuuiiiiiuip -> vFuuiiiiiuip
+#() vFuuiiiiiuup -> vFuuiiiiiuup
+#() vFuuiuiiiiip -> vFuuiuiiiiip
+#() vFuuuuuuuCCC -> vFuuuuuuuCCC
+#() vFuuuuuuuuuu -> vFuuuuuuuuuu
+#() vFuupuiupuuf -> vFuupuiupuuf
+#() vFuffiiffiip -> vFuffiiffiip
+#() vFuddiiddiip -> vFuddiiddiip
+#() vFffffffffff -> vFffffffffff
+#() vFiiiiillliip -> vFiiiiillliip
+#() vFiiiiilllilp -> vFiiiiilllilp
+#() vFuiiiiiiiuip -> vFuiiiiiiiuip
+#() vFuiiiiiiiuup -> vFuiiiiiiiuup
+#() vFuiiiillliip -> vFuiiiillliip
+#() vFuiuiiiiiuup -> vFuiuiiiiiuup
+#() vFuuiiiiiiuup -> vFuuiiiiiiuup
+#() vFuuupupppppp -> vFuuupupppppp
+#() vFuuffiiffiip -> vFuuffiiffiip
+#() vFuufffffffff -> vFuufffffffff
+#() vFuuddiiddiip -> vFuuddiiddiip
+#() vFuUuuuuuuuuu -> vFuUuuuuuuuuu
+#() vFuffffffffff -> vFuffffffffff
+#() vFUufffffffff -> vFUufffffffff
+#() vFuiiiiiiiiuUC -> vFuiiiiiiiiuUC
+#() vFuiiiiiiiuuip -> vFuiiiiiiiuuip
+#() vFuuiiiiiiiiuu -> vFuuiiiiiiiiuu
+#() vFuuiiiiiiiuip -> vFuuiiiiiiiuip
+#() vFuuiiiiiiiuup -> vFuuiiiiiiiuup
+#() vFuuuuuuuuuuuu -> vFuuuuuuuuuuuu
+#() vFffffffffffff -> vFffffffffffff
+#() vFuiiiiiiiiiuup -> vFuiiiiiiiiiuup
+#() vFuuuuuuuuuuuuu -> vFuuuuuuuuuuuuu
+#() vFuUuuuuuuuuuuu -> vFuUuuuuuuuuuuu
+#() vFuffffffffffff -> vFuffffffffffff
+#() uFippuuuulllipp -> uFippuuuulllipp
+#() vFuffiiffiiffiip -> vFuffiiffiiffiip
+#() vFuddiiddiiddiip -> vFuddiiddiiddiip
+#() vFuiiiiiuiiiiilll -> vFuiiiiiuiiiiilll
+#() vFuuiiiiuuiiiiiii -> vFuuiiiiuuiiiiiii
+#() vFfffffffffffffff -> vFfffffffffffffff
+#() vFuuuuiiiiuuiiiiiii -> vFuuuuiiiiuuiiiiiii
+#() vFppuiiiiipuiiiiiiii -> vFppuiiiiipuiiiiiiii
+#() uFippuuuuiiiiuuiiiiiiiipp -> uFippuuuuiiiiuuiiiiiiiipp
 #defined(ANDROID) vFEpppp -> vFEpppp
 #defined(HAVE_LD80BITS) DFD -> DFD
 #defined(HAVE_LD80BITS) DFDD -> DFDD
@@ -426,6 +988,26 @@ wrappedlibdl:
   - dlvsym
 - iFpppi:
   - dladdr1
+wrappedlibgl:
+- iFi:
+  - glXSwapIntervalMESA
+- pFp:
+  - glGetVkProcAddrNV
+  - glXGetProcAddress
+  - glXGetProcAddressARB
+- vFpp:
+  - glDebugMessageCallback
+  - glDebugMessageCallbackAMD
+  - glDebugMessageCallbackARB
+  - glDebugMessageCallbackKHR
+- iFpp:
+  - eglDebugMessageControlKHR
+- vFipp:
+  - glProgramCallbackMESA
+- vFppi:
+  - glXSwapIntervalEXT
+- vFppp:
+  - eglSetBlobCacheFuncsANDROID
 wrappedlibm:
 - UFs:
   - cacosf
@@ -526,7 +1108,7 @@ wrappedlibpthread:
   - pthread_mutex_trylock
   - pthread_mutex_unlock
   - pthread_mutexattr_init
-  - pthread_rwlock_rdlock
+  - pthread_rwlock_destroy
   - pthread_rwlock_unlock
   - pthread_rwlock_wrlock
 - iFh:
@@ -589,3 +1171,32 @@ wrappedlibpthread:
 - iFhppp:
   - pthread_create
 wrappedlibrt:
+wrappedsdl1:
+- vFv:
+  - SDL_Quit
+- vFp:
+  - SDL_KillThread
+  - SDL_UnlockSurface
+- iFv:
+  - SDL_Has3DNow
+  - SDL_Has3DNowExt
+  - SDL_HasAltiVec
+  - SDL_HasMMX
+  - SDL_HasMMXExt
+  - SDL_HasRDTSC
+  - SDL_HasSSE
+  - SDL_HasSSE2
+- iFp:
+  - SDL_Flip
+  - SDL_LockSurface
+  - SDL_PollEvent
+- pFp:
+  - SDL_GL_GetProcAddress
+  - SDL_LoadObject
+- iFpp:
+  - SDL_OpenAudio
+- pFpp:
+  - SDL_CreateThread
+  - SDL_LoadFunction
+- pFiiiu:
+  - SDL_SetVideoMode
diff --git a/src/wrapped32/generated/wrappedlibgldefs32.h b/src/wrapped32/generated/wrappedlibgldefs32.h
new file mode 100644
index 00000000..2e26ea18
--- /dev/null
+++ b/src/wrapped32/generated/wrappedlibgldefs32.h
@@ -0,0 +1,8 @@
+/******************************************************************
+ * File automatically generated by rebuild_wrappers_32.py (v0.0.1.1) *
+ ******************************************************************/
+#ifndef __wrappedlibglDEFS32_H_
+#define __wrappedlibglDEFS32_H_
+
+
+#endif // __wrappedlibglDEFS32_H_
diff --git a/src/wrapped32/generated/wrappedlibgltypes32.h b/src/wrapped32/generated/wrappedlibgltypes32.h
new file mode 100644
index 00000000..d6aca5ed
--- /dev/null
+++ b/src/wrapped32/generated/wrappedlibgltypes32.h
@@ -0,0 +1,36 @@
+/******************************************************************
+ * File automatically generated by rebuild_wrappers_32.py (v0.0.1.1) *
+ ******************************************************************/
+#ifndef __wrappedlibglTYPES32_H_
+#define __wrappedlibglTYPES32_H_
+
+#ifndef LIBNAME
+#error You should only #include this file inside a wrapped*.c file
+#endif
+#ifndef ADDED_FUNCTIONS
+#define ADDED_FUNCTIONS() 
+#endif
+
+typedef int32_t (*iFi_t)(int32_t);
+typedef void* (*pFp_t)(void*);
+typedef void (*vFpp_t)(void*, void*);
+typedef int32_t (*iFpp_t)(void*, void*);
+typedef void (*vFipp_t)(int32_t, void*, void*);
+typedef void (*vFppi_t)(void*, void*, int32_t);
+typedef void (*vFppp_t)(void*, void*, void*);
+
+#define SUPER() ADDED_FUNCTIONS() \
+	GO(glXSwapIntervalMESA, iFi_t) \
+	GO(glGetVkProcAddrNV, pFp_t) \
+	GO(glXGetProcAddress, pFp_t) \
+	GO(glXGetProcAddressARB, pFp_t) \
+	GO(glDebugMessageCallback, vFpp_t) \
+	GO(glDebugMessageCallbackAMD, vFpp_t) \
+	GO(glDebugMessageCallbackARB, vFpp_t) \
+	GO(glDebugMessageCallbackKHR, vFpp_t) \
+	GO(eglDebugMessageControlKHR, iFpp_t) \
+	GO(glProgramCallbackMESA, vFipp_t) \
+	GO(glXSwapIntervalEXT, vFppi_t) \
+	GO(eglSetBlobCacheFuncsANDROID, vFppp_t)
+
+#endif // __wrappedlibglTYPES32_H_
diff --git a/src/wrapped32/generated/wrappedlibglundefs32.h b/src/wrapped32/generated/wrappedlibglundefs32.h
new file mode 100644
index 00000000..88cf8b32
--- /dev/null
+++ b/src/wrapped32/generated/wrappedlibglundefs32.h
@@ -0,0 +1,8 @@
+/******************************************************************
+ * File automatically generated by rebuild_wrappers_32.py (v0.0.1.1) *
+ ******************************************************************/
+#ifndef __wrappedlibglUNDEFS32_H_
+#define __wrappedlibglUNDEFS32_H_
+
+
+#endif // __wrappedlibglUNDEFS32_H_
diff --git a/src/wrapped32/generated/wrappedlibpthreadtypes32.h b/src/wrapped32/generated/wrappedlibpthreadtypes32.h
index 200ad68a..3b845b79 100644
--- a/src/wrapped32/generated/wrappedlibpthreadtypes32.h
+++ b/src/wrapped32/generated/wrappedlibpthreadtypes32.h
@@ -51,7 +51,7 @@ typedef int32_t (*iFhppp_t)(uintptr_t, void*, void*, void*);
 	GO(pthread_mutex_trylock, iFp_t) \
 	GO(pthread_mutex_unlock, iFp_t) \
 	GO(pthread_mutexattr_init, iFp_t) \
-	GO(pthread_rwlock_rdlock, iFp_t) \
+	GO(pthread_rwlock_destroy, iFp_t) \
 	GO(pthread_rwlock_unlock, iFp_t) \
 	GO(pthread_rwlock_wrlock, iFp_t) \
 	GO(pthread_detach, iFh_t) \
diff --git a/src/wrapped32/generated/wrappedsdl1defs32.h b/src/wrapped32/generated/wrappedsdl1defs32.h
new file mode 100644
index 00000000..96f90f65
--- /dev/null
+++ b/src/wrapped32/generated/wrappedsdl1defs32.h
@@ -0,0 +1,8 @@
+/******************************************************************
+ * File automatically generated by rebuild_wrappers_32.py (v0.0.1.1) *
+ ******************************************************************/
+#ifndef __wrappedsdl1DEFS32_H_
+#define __wrappedsdl1DEFS32_H_
+
+
+#endif // __wrappedsdl1DEFS32_H_
diff --git a/src/wrapped32/generated/wrappedsdl1types32.h b/src/wrapped32/generated/wrappedsdl1types32.h
new file mode 100644
index 00000000..411e0fda
--- /dev/null
+++ b/src/wrapped32/generated/wrappedsdl1types32.h
@@ -0,0 +1,45 @@
+/******************************************************************
+ * File automatically generated by rebuild_wrappers_32.py (v0.0.1.1) *
+ ******************************************************************/
+#ifndef __wrappedsdl1TYPES32_H_
+#define __wrappedsdl1TYPES32_H_
+
+#ifndef LIBNAME
+#error You should only #include this file inside a wrapped*.c file
+#endif
+#ifndef ADDED_FUNCTIONS
+#define ADDED_FUNCTIONS() 
+#endif
+
+typedef void (*vFv_t)(void);
+typedef void (*vFp_t)(void*);
+typedef int32_t (*iFv_t)(void);
+typedef int32_t (*iFp_t)(void*);
+typedef void* (*pFp_t)(void*);
+typedef int32_t (*iFpp_t)(void*, void*);
+typedef void* (*pFpp_t)(void*, void*);
+typedef void* (*pFiiiu_t)(int32_t, int32_t, int32_t, uint32_t);
+
+#define SUPER() ADDED_FUNCTIONS() \
+	GO(SDL_Quit, vFv_t) \
+	GO(SDL_KillThread, vFp_t) \
+	GO(SDL_UnlockSurface, vFp_t) \
+	GO(SDL_Has3DNow, iFv_t) \
+	GO(SDL_Has3DNowExt, iFv_t) \
+	GO(SDL_HasAltiVec, iFv_t) \
+	GO(SDL_HasMMX, iFv_t) \
+	GO(SDL_HasMMXExt, iFv_t) \
+	GO(SDL_HasRDTSC, iFv_t) \
+	GO(SDL_HasSSE, iFv_t) \
+	GO(SDL_HasSSE2, iFv_t) \
+	GO(SDL_Flip, iFp_t) \
+	GO(SDL_LockSurface, iFp_t) \
+	GO(SDL_PollEvent, iFp_t) \
+	GO(SDL_GL_GetProcAddress, pFp_t) \
+	GO(SDL_LoadObject, pFp_t) \
+	GO(SDL_OpenAudio, iFpp_t) \
+	GO(SDL_CreateThread, pFpp_t) \
+	GO(SDL_LoadFunction, pFpp_t) \
+	GO(SDL_SetVideoMode, pFiiiu_t)
+
+#endif // __wrappedsdl1TYPES32_H_
diff --git a/src/wrapped32/generated/wrappedsdl1undefs32.h b/src/wrapped32/generated/wrappedsdl1undefs32.h
new file mode 100644
index 00000000..fdf25645
--- /dev/null
+++ b/src/wrapped32/generated/wrappedsdl1undefs32.h
@@ -0,0 +1,8 @@
+/******************************************************************
+ * File automatically generated by rebuild_wrappers_32.py (v0.0.1.1) *
+ ******************************************************************/
+#ifndef __wrappedsdl1UNDEFS32_H_
+#define __wrappedsdl1UNDEFS32_H_
+
+
+#endif // __wrappedsdl1UNDEFS32_H_
diff --git a/src/wrapped32/generated/wrapper32.c b/src/wrapped32/generated/wrapper32.c
index 95b613e9..44269eb8 100644
--- a/src/wrapped32/generated/wrapper32.c
+++ b/src/wrapped32/generated/wrapper32.c
@@ -86,8 +86,16 @@ void VulkanTox86(void* src, void* save);
 int of_convert32(int);
 
 typedef void (*vFv_t)(void);
+typedef void (*vFc_t)(int8_t);
+typedef void (*vFw_t)(int16_t);
 typedef void (*vFi_t)(int32_t);
+typedef void (*vFC_t)(uint8_t);
+typedef void (*vFW_t)(uint16_t);
 typedef void (*vFu_t)(uint32_t);
+typedef void (*vFU_t)(uint64_t);
+typedef void (*vFf_t)(float);
+typedef void (*vFd_t)(double);
+typedef void (*vFl_t)(intptr_t);
 typedef void (*vFp_t)(void*);
 typedef void (*vFA_t)(void*);
 typedef void (*vFS_t)(void*);
@@ -104,16 +112,24 @@ typedef int32_t (*iFS_t)(void*);
 typedef int64_t (*IFf_t)(float);
 typedef int64_t (*IFd_t)(double);
 typedef int64_t (*IFS_t)(void*);
+typedef uint8_t (*CFu_t)(uint32_t);
+typedef uint8_t (*CFU_t)(uint64_t);
+typedef uint8_t (*CFl_t)(intptr_t);
+typedef uint8_t (*CFp_t)(void*);
+typedef uint16_t (*WFu_t)(uint32_t);
 typedef uint32_t (*uFv_t)(void);
+typedef uint32_t (*uFi_t)(int32_t);
 typedef uint32_t (*uFu_t)(uint32_t);
 typedef uint32_t (*uFU_t)(uint64_t);
 typedef uint32_t (*uFp_t)(void*);
+typedef uint64_t (*UFu_t)(uint32_t);
 typedef uint64_t (*UFp_t)(void*);
 typedef uint64_t (*UFs_t)(void*);
 typedef float (*fFf_t)(float);
 typedef double (*dFv_t)(void);
 typedef double (*dFd_t)(double);
 typedef intptr_t (*lFi_t)(int32_t);
+typedef intptr_t (*lFu_t)(uint32_t);
 typedef intptr_t (*lFp_t)(void*);
 typedef intptr_t (*lFS_t)(void*);
 typedef uintptr_t (*LFv_t)(void);
@@ -133,6 +149,37 @@ typedef void* (*pFrL__t)(struct_L_t*);
 typedef uintptr_t (*LFriiiiiiiiilt__t)(struct_iiiiiiiiilt_t*);
 typedef void (*vFEv_t)(x64emu_t*);
 typedef void (*vFEp_t)(x64emu_t*, void*);
+typedef void (*vFcc_t)(int8_t, int8_t);
+typedef void (*vFww_t)(int16_t, int16_t);
+typedef void (*vFii_t)(int32_t, int32_t);
+typedef void (*vFiI_t)(int32_t, int64_t);
+typedef void (*vFiW_t)(int32_t, uint16_t);
+typedef void (*vFiu_t)(int32_t, uint32_t);
+typedef void (*vFiU_t)(int32_t, uint64_t);
+typedef void (*vFif_t)(int32_t, float);
+typedef void (*vFid_t)(int32_t, double);
+typedef void (*vFip_t)(int32_t, void*);
+typedef void (*vFWW_t)(uint16_t, uint16_t);
+typedef void (*vFuc_t)(uint32_t, int8_t);
+typedef void (*vFuw_t)(uint32_t, int16_t);
+typedef void (*vFui_t)(uint32_t, int32_t);
+typedef void (*vFuI_t)(uint32_t, int64_t);
+typedef void (*vFuC_t)(uint32_t, uint8_t);
+typedef void (*vFuW_t)(uint32_t, uint16_t);
+typedef void (*vFuu_t)(uint32_t, uint32_t);
+typedef void (*vFuU_t)(uint32_t, uint64_t);
+typedef void (*vFuf_t)(uint32_t, float);
+typedef void (*vFud_t)(uint32_t, double);
+typedef void (*vFul_t)(uint32_t, intptr_t);
+typedef void (*vFup_t)(uint32_t, void*);
+typedef void (*vFUu_t)(uint64_t, uint32_t);
+typedef void (*vFfC_t)(float, uint8_t);
+typedef void (*vFff_t)(float, float);
+typedef void (*vFdd_t)(double, double);
+typedef void (*vFlu_t)(intptr_t, uint32_t);
+typedef void (*vFlp_t)(intptr_t, void*);
+typedef void (*vFpp_t)(void*, void*);
+typedef int16_t (*wFpi_t)(void*, int32_t);
 typedef int32_t (*iFEv_t)(x64emu_t*);
 typedef int32_t (*iFEi_t)(x64emu_t*, int32_t);
 typedef int32_t (*iFEL_t)(x64emu_t*, uintptr_t);
@@ -159,10 +206,19 @@ typedef int32_t (*iFhi_t)(uintptr_t, int32_t);
 typedef int32_t (*iFhp_t)(uintptr_t, void*);
 typedef int32_t (*iFhh_t)(uintptr_t, uintptr_t);
 typedef int64_t (*IFII_t)(int64_t, int64_t);
+typedef uint8_t (*CFip_t)(int32_t, void*);
+typedef uint8_t (*CFuu_t)(uint32_t, uint32_t);
+typedef uint8_t (*CFuU_t)(uint32_t, uint64_t);
+typedef uint8_t (*CFpi_t)(void*, int32_t);
 typedef uint32_t (*uFEu_t)(x64emu_t*, uint32_t);
 typedef uint32_t (*uFEV_t)(x64emu_t*, void*);
+typedef uint32_t (*uFuu_t)(uint32_t, uint32_t);
+typedef uint32_t (*uFup_t)(uint32_t, void*);
+typedef uint32_t (*uFpi_t)(void*, int32_t);
+typedef uint32_t (*uFpp_t)(void*, void*);
 typedef uint32_t (*uFpa_t)(void*, void*);
 typedef uint64_t (*UFii_t)(int32_t, int32_t);
+typedef uint64_t (*UFuu_t)(uint32_t, uint32_t);
 typedef uint64_t (*UFUU_t)(uint64_t, uint64_t);
 typedef uint64_t (*UFss_t)(void*, void*);
 typedef float (*fFif_t)(int32_t, float);
@@ -175,15 +231,19 @@ typedef double (*dFdi_t)(double, int32_t);
 typedef double (*dFdd_t)(double, double);
 typedef double (*dFdD_t)(double, long double);
 typedef double (*dFdp_t)(double, void*);
+typedef intptr_t (*lFui_t)(uint32_t, int32_t);
 typedef uintptr_t (*LFpL_t)(void*, uintptr_t);
 typedef uintptr_t (*LFpp_t)(void*, void*);
 typedef void* (*pFEv_t)(x64emu_t*);
 typedef void* (*pFEu_t)(x64emu_t*, uint32_t);
 typedef void* (*pFEp_t)(x64emu_t*, void*);
 typedef void* (*pFES_t)(x64emu_t*, void*);
+typedef void* (*pFiu_t)(int32_t, uint32_t);
 typedef void* (*pFia_t)(int32_t, void*);
+typedef void* (*pFuu_t)(uint32_t, uint32_t);
 typedef void* (*pFLL_t)(uintptr_t, uintptr_t);
 typedef void* (*pFpi_t)(void*, int32_t);
+typedef void* (*pFpu_t)(void*, uint32_t);
 typedef void* (*pFpL_t)(void*, uintptr_t);
 typedef void* (*pFpp_t)(void*, void*);
 typedef void* (*SFpp_t)(void*, void*);
@@ -202,9 +262,65 @@ typedef void* (*pFriiiiiiiiilt_p_t)(struct_iiiiiiiiilt_t*, void*);
 typedef void (*vFEip_t)(x64emu_t*, int32_t, void*);
 typedef void (*vFEpi_t)(x64emu_t*, void*, int32_t);
 typedef void (*vFEpu_t)(x64emu_t*, void*, uint32_t);
+typedef void (*vFEpp_t)(x64emu_t*, void*, void*);
+typedef void (*vFccc_t)(int8_t, int8_t, int8_t);
+typedef void (*vFwww_t)(int16_t, int16_t, int16_t);
+typedef void (*vFiii_t)(int32_t, int32_t, int32_t);
+typedef void (*vFiif_t)(int32_t, int32_t, float);
+typedef void (*vFiip_t)(int32_t, int32_t, void*);
+typedef void (*vFiII_t)(int32_t, int64_t, int64_t);
+typedef void (*vFiui_t)(int32_t, uint32_t, int32_t);
+typedef void (*vFiuu_t)(int32_t, uint32_t, uint32_t);
+typedef void (*vFiup_t)(int32_t, uint32_t, void*);
+typedef void (*vFiUU_t)(int32_t, uint64_t, uint64_t);
+typedef void (*vFiff_t)(int32_t, float, float);
+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);
+typedef void (*vFWWW_t)(uint16_t, uint16_t, uint16_t);
+typedef void (*vFucc_t)(uint32_t, int8_t, int8_t);
+typedef void (*vFuww_t)(uint32_t, int16_t, int16_t);
+typedef void (*vFuii_t)(uint32_t, int32_t, int32_t);
+typedef void (*vFuiI_t)(uint32_t, int32_t, int64_t);
+typedef void (*vFuiu_t)(uint32_t, int32_t, uint32_t);
+typedef void (*vFuiU_t)(uint32_t, int32_t, uint64_t);
+typedef void (*vFuif_t)(uint32_t, int32_t, float);
+typedef void (*vFuid_t)(uint32_t, int32_t, double);
+typedef void (*vFuip_t)(uint32_t, int32_t, void*);
+typedef void (*vFuII_t)(uint32_t, int64_t, int64_t);
+typedef void (*vFuWW_t)(uint32_t, uint16_t, uint16_t);
+typedef void (*vFuui_t)(uint32_t, uint32_t, int32_t);
+typedef void (*vFuuC_t)(uint32_t, uint32_t, uint8_t);
+typedef void (*vFuuu_t)(uint32_t, uint32_t, uint32_t);
+typedef void (*vFuuU_t)(uint32_t, uint32_t, uint64_t);
+typedef void (*vFuuf_t)(uint32_t, uint32_t, float);
+typedef void (*vFuud_t)(uint32_t, uint32_t, double);
+typedef void (*vFuup_t)(uint32_t, uint32_t, void*);
+typedef void (*vFuUU_t)(uint32_t, uint64_t, uint64_t);
+typedef void (*vFuff_t)(uint32_t, float, float);
+typedef void (*vFudd_t)(uint32_t, double, double);
+typedef void (*vFull_t)(uint32_t, intptr_t, intptr_t);
+typedef void (*vFulp_t)(uint32_t, intptr_t, void*);
+typedef void (*vFupp_t)(uint32_t, void*, void*);
+typedef void (*vFfff_t)(float, float, float);
 typedef void (*vFfpp_t)(float, void*, void*);
+typedef void (*vFddd_t)(double, double, double);
 typedef void (*vFdpp_t)(double, void*, void*);
+typedef void (*vFlii_t)(intptr_t, int32_t, int32_t);
+typedef void (*vFlip_t)(intptr_t, int32_t, void*);
+typedef void (*vFllp_t)(intptr_t, intptr_t, void*);
+typedef void (*vFlpp_t)(intptr_t, void*, void*);
+typedef void (*vFpip_t)(void*, int32_t, void*);
+typedef void (*vFpuU_t)(void*, uint32_t, uint64_t);
+typedef void (*vFplp_t)(void*, intptr_t, void*);
+typedef void (*vFppi_t)(void*, void*, int32_t);
 typedef void (*vFppu_t)(void*, void*, uint32_t);
+typedef void (*vFppp_t)(void*, void*, void*);
 typedef int32_t (*iFEip_t)(x64emu_t*, int32_t, void*);
 typedef int32_t (*iFEpi_t)(x64emu_t*, void*, int32_t);
 typedef int32_t (*iFEpL_t)(x64emu_t*, void*, uintptr_t);
@@ -224,12 +340,18 @@ typedef int32_t (*iFipu_t)(int32_t, void*, uint32_t);
 typedef int32_t (*iFipL_t)(int32_t, void*, uintptr_t);
 typedef int32_t (*iFipp_t)(int32_t, void*, void*);
 typedef int32_t (*iFuii_t)(uint32_t, int32_t, int32_t);
+typedef int32_t (*iFuip_t)(uint32_t, int32_t, void*);
 typedef int32_t (*iFuui_t)(uint32_t, uint32_t, int32_t);
 typedef int32_t (*iFuuu_t)(uint32_t, uint32_t, uint32_t);
+typedef int32_t (*iFuup_t)(uint32_t, uint32_t, void*);
 typedef int32_t (*iFuLp_t)(uint32_t, uintptr_t, void*);
+typedef int32_t (*iFfff_t)(float, float, float);
 typedef int32_t (*iFpiu_t)(void*, int32_t, uint32_t);
 typedef int32_t (*iFpip_t)(void*, int32_t, void*);
+typedef int32_t (*iFpuC_t)(void*, uint32_t, uint8_t);
 typedef int32_t (*iFpuu_t)(void*, uint32_t, uint32_t);
+typedef int32_t (*iFpuU_t)(void*, uint32_t, uint64_t);
+typedef int32_t (*iFpup_t)(void*, uint32_t, void*);
 typedef int32_t (*iFpLi_t)(void*, uintptr_t, int32_t);
 typedef int32_t (*iFppi_t)(void*, void*, int32_t);
 typedef int32_t (*iFppu_t)(void*, void*, uint32_t);
@@ -243,6 +365,17 @@ typedef int32_t (*iFhpp_t)(uintptr_t, void*, void*);
 typedef int32_t (*iFSIi_t)(void*, int64_t, int32_t);
 typedef int32_t (*iFSli_t)(void*, intptr_t, int32_t);
 typedef int64_t (*IFiIi_t)(int32_t, int64_t, int32_t);
+typedef uint8_t (*CFipp_t)(int32_t, void*, void*);
+typedef uint8_t (*CFuUu_t)(uint32_t, uint64_t, uint32_t);
+typedef uint8_t (*CFuff_t)(uint32_t, float, float);
+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*);
+typedef uint32_t (*uFpuU_t)(void*, uint32_t, uint64_t);
+typedef float (*fFuii_t)(uint32_t, int32_t, int32_t);
 typedef float (*fFfff_t)(float, float, float);
 typedef float (*fFffp_t)(float, float, void*);
 typedef float (*fFppa_t)(void*, void*, void*);
@@ -256,11 +389,16 @@ typedef void* (*pFEip_t)(x64emu_t*, int32_t, void*);
 typedef void* (*pFEpi_t)(x64emu_t*, void*, int32_t);
 typedef void* (*pFEpp_t)(x64emu_t*, void*, void*);
 typedef void* (*pFipi_t)(int32_t, void*, int32_t);
+typedef void* (*pFulu_t)(uint32_t, intptr_t, uint32_t);
 typedef void* (*pFpii_t)(void*, int32_t, int32_t);
 typedef void* (*pFpiL_t)(void*, int32_t, uintptr_t);
+typedef void* (*pFpip_t)(void*, int32_t, void*);
 typedef void* (*pFpiS_t)(void*, int32_t, void*);
 typedef void* (*pFpuL_t)(void*, uint32_t, uintptr_t);
+typedef void* (*pFpup_t)(void*, uint32_t, void*);
+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* (*aFipa_t)(int32_t, void*, void*);
 typedef void* (*SFEpp_t)(x64emu_t*, void*, void*);
@@ -275,10 +413,87 @@ typedef double (*dFpBp_a_t)(void*, struct_p_t*, void*);
 typedef intptr_t (*lFpBp_i_t)(void*, struct_p_t*, int32_t);
 typedef uintptr_t (*LFpBp_i_t)(void*, struct_p_t*, int32_t);
 typedef void* (*pFppriiiiiiiiilt__t)(void*, void*, struct_iiiiiiiiilt_t*);
+typedef void (*vFEipp_t)(x64emu_t*, int32_t, void*, void*);
 typedef void (*vFEipV_t)(x64emu_t*, int32_t, void*, void*);
 typedef void (*vFEpup_t)(x64emu_t*, void*, uint32_t, void*);
 typedef void (*vFEppp_t)(x64emu_t*, void*, void*, void*);
+typedef void (*vFcccc_t)(int8_t, int8_t, int8_t, int8_t);
+typedef void (*vFwwww_t)(int16_t, int16_t, int16_t, int16_t);
+typedef void (*vFiiii_t)(int32_t, int32_t, int32_t, int32_t);
+typedef void (*vFiiip_t)(int32_t, int32_t, int32_t, void*);
+typedef void (*vFiiCp_t)(int32_t, int32_t, uint8_t, void*);
+typedef void (*vFiill_t)(int32_t, int32_t, intptr_t, intptr_t);
+typedef void (*vFiIII_t)(int32_t, int64_t, int64_t, int64_t);
+typedef void (*vFiuip_t)(int32_t, uint32_t, int32_t, void*);
+typedef void (*vFiuuu_t)(int32_t, uint32_t, uint32_t, uint32_t);
+typedef void (*vFiulp_t)(int32_t, uint32_t, intptr_t, void*);
+typedef void (*vFiUUU_t)(int32_t, uint64_t, uint64_t, uint64_t);
+typedef void (*vFifff_t)(int32_t, float, float, float);
+typedef void (*vFiddd_t)(int32_t, double, double, double);
+typedef void (*vFilip_t)(int32_t, intptr_t, int32_t, void*);
+typedef void (*vFilpu_t)(int32_t, intptr_t, void*, uint32_t);
+typedef void (*vFilpp_t)(int32_t, intptr_t, void*, void*);
+typedef void (*vFipup_t)(int32_t, void*, uint32_t, void*);
+typedef void (*vFipll_t)(int32_t, void*, intptr_t, intptr_t);
+typedef void (*vFCCCC_t)(uint8_t, uint8_t, uint8_t, uint8_t);
+typedef void (*vFWWWW_t)(uint16_t, uint16_t, uint16_t, uint16_t);
+typedef void (*vFuccc_t)(uint32_t, int8_t, int8_t, int8_t);
+typedef void (*vFuwww_t)(uint32_t, int16_t, int16_t, int16_t);
+typedef void (*vFuiii_t)(uint32_t, int32_t, int32_t, int32_t);
+typedef void (*vFuiip_t)(uint32_t, int32_t, int32_t, void*);
+typedef void (*vFuiII_t)(uint32_t, int32_t, int64_t, int64_t);
+typedef void (*vFuiui_t)(uint32_t, int32_t, uint32_t, int32_t);
+typedef void (*vFuiuC_t)(uint32_t, int32_t, uint32_t, uint8_t);
+typedef void (*vFuiuu_t)(uint32_t, int32_t, uint32_t, uint32_t);
+typedef void (*vFuiup_t)(uint32_t, int32_t, uint32_t, void*);
+typedef void (*vFuiUU_t)(uint32_t, int32_t, uint64_t, uint64_t);
+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);
+typedef void (*vFuWWW_t)(uint32_t, uint16_t, uint16_t, uint16_t);
+typedef void (*vFuuii_t)(uint32_t, uint32_t, int32_t, int32_t);
+typedef void (*vFuuiu_t)(uint32_t, uint32_t, int32_t, uint32_t);
+typedef void (*vFuuil_t)(uint32_t, uint32_t, int32_t, intptr_t);
+typedef void (*vFuuip_t)(uint32_t, uint32_t, int32_t, void*);
+typedef void (*vFuuCu_t)(uint32_t, uint32_t, uint8_t, uint32_t);
+typedef void (*vFuuCp_t)(uint32_t, uint32_t, uint8_t, void*);
+typedef void (*vFuuui_t)(uint32_t, uint32_t, uint32_t, int32_t);
+typedef void (*vFuuuu_t)(uint32_t, uint32_t, uint32_t, uint32_t);
+typedef void (*vFuuuf_t)(uint32_t, uint32_t, uint32_t, float);
+typedef void (*vFuuud_t)(uint32_t, uint32_t, uint32_t, double);
+typedef void (*vFuuul_t)(uint32_t, uint32_t, uint32_t, intptr_t);
+typedef void (*vFuuup_t)(uint32_t, uint32_t, uint32_t, void*);
+typedef void (*vFuuUl_t)(uint32_t, uint32_t, uint64_t, intptr_t);
+typedef void (*vFuuff_t)(uint32_t, uint32_t, float, float);
+typedef void (*vFuuli_t)(uint32_t, uint32_t, intptr_t, int32_t);
+typedef void (*vFuupi_t)(uint32_t, uint32_t, void*, int32_t);
+typedef void (*vFuupp_t)(uint32_t, uint32_t, void*, void*);
+typedef void (*vFuUui_t)(uint32_t, uint64_t, uint32_t, int32_t);
+typedef void (*vFuUup_t)(uint32_t, uint64_t, uint32_t, void*);
+typedef void (*vFuUUU_t)(uint32_t, uint64_t, uint64_t, uint64_t);
+typedef void (*vFufff_t)(uint32_t, float, float, float);
+typedef void (*vFuddd_t)(uint32_t, double, double, double);
+typedef void (*vFuluU_t)(uint32_t, intptr_t, uint32_t, uint64_t);
+typedef void (*vFullC_t)(uint32_t, intptr_t, intptr_t, uint8_t);
+typedef void (*vFullp_t)(uint32_t, intptr_t, intptr_t, void*);
+typedef void (*vFulpu_t)(uint32_t, intptr_t, void*, uint32_t);
+typedef void (*vFulpp_t)(uint32_t, intptr_t, void*, void*);
+typedef void (*vFupii_t)(uint32_t, void*, int32_t, int32_t);
+typedef void (*vFuppi_t)(uint32_t, void*, void*, int32_t);
+typedef void (*vFuppu_t)(uint32_t, void*, void*, uint32_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 (*vFpiii_t)(void*, int32_t, int32_t, int32_t);
+typedef void (*vFpipp_t)(void*, int32_t, void*, void*);
+typedef void (*vFplpp_t)(void*, intptr_t, void*, void*);
 typedef void (*vFppip_t)(void*, void*, int32_t, void*);
+typedef void (*vFpppp_t)(void*, void*, void*, void*);
 typedef int32_t (*iFEiip_t)(x64emu_t*, int32_t, int32_t, void*);
 typedef int32_t (*iFEiiN_t)(x64emu_t*, int32_t, int32_t, ...);
 typedef int32_t (*iFEipp_t)(x64emu_t*, int32_t, void*, void*);
@@ -300,18 +515,39 @@ typedef int32_t (*iFiuui_t)(int32_t, uint32_t, uint32_t, int32_t);
 typedef int32_t (*iFipii_t)(int32_t, void*, int32_t, int32_t);
 typedef int32_t (*iFipup_t)(int32_t, void*, uint32_t, void*);
 typedef int32_t (*iFippi_t)(int32_t, void*, void*, int32_t);
+typedef int32_t (*iFuiup_t)(uint32_t, int32_t, uint32_t, void*);
 typedef int32_t (*iFuupi_t)(uint32_t, uint32_t, void*, int32_t);
+typedef int32_t (*iFpiip_t)(void*, int32_t, int32_t, void*);
+typedef int32_t (*iFpipp_t)(void*, int32_t, void*, void*);
+typedef int32_t (*iFpuup_t)(void*, uint32_t, uint32_t, void*);
+typedef int32_t (*iFpupp_t)(void*, uint32_t, void*, void*);
+typedef int32_t (*iFppii_t)(void*, void*, int32_t, int32_t);
+typedef int32_t (*iFppiU_t)(void*, void*, int32_t, uint64_t);
+typedef int32_t (*iFppip_t)(void*, void*, int32_t, void*);
+typedef int32_t (*iFpppi_t)(void*, void*, void*, int32_t);
+typedef int32_t (*iFpppp_t)(void*, void*, void*, void*);
 typedef int32_t (*iFhpiL_t)(uintptr_t, void*, int32_t, uintptr_t);
+typedef uint8_t (*CFuuff_t)(uint32_t, uint32_t, float, float);
+typedef uint32_t (*uFuuuu_t)(uint32_t, uint32_t, uint32_t, uint32_t);
 typedef intptr_t (*lFEipi_t)(x64emu_t*, int32_t, void*, int32_t);
 typedef intptr_t (*lFiipL_t)(int32_t, int32_t, void*, uintptr_t);
 typedef intptr_t (*lFipLi_t)(int32_t, void*, uintptr_t, int32_t);
+typedef intptr_t (*lFpuip_t)(void*, uint32_t, int32_t, void*);
 typedef uintptr_t (*LFpLLS_t)(void*, uintptr_t, uintptr_t, void*);
 typedef uintptr_t (*LFppLp_t)(void*, void*, uintptr_t, void*);
 typedef uintptr_t (*LFppLa_t)(void*, void*, uintptr_t, void*);
 typedef void* (*pFEppi_t)(x64emu_t*, void*, void*, int32_t);
 typedef void* (*pFEppp_t)(x64emu_t*, void*, void*, void*);
+typedef void* (*pFiiiu_t)(int32_t, int32_t, int32_t, uint32_t);
+typedef void* (*pFillu_t)(int32_t, intptr_t, intptr_t, 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* (*pFpiii_t)(void*, int32_t, int32_t, int32_t);
 typedef void* (*pFpiLL_t)(void*, int32_t, uintptr_t, uintptr_t);
+typedef void* (*pFpipp_t)(void*, int32_t, void*, void*);
 typedef void* (*pFppLL_t)(void*, void*, uintptr_t, uintptr_t);
+typedef void* (*pFpppi_t)(void*, void*, void*, int32_t);
+typedef void* (*pFpppp_t)(void*, void*, void*, void*);
 typedef int64_t (*IFpBp_ii_t)(void*, struct_p_t*, int32_t, int32_t);
 typedef uint64_t (*UFpBp_ii_t)(void*, struct_p_t*, int32_t, int32_t);
 typedef intptr_t (*lFiibp_L_t)(int32_t, int32_t, struct_p_t*, uintptr_t);
@@ -319,6 +555,92 @@ typedef uintptr_t (*LFpbp_Lp_t)(void*, struct_p_t*, uintptr_t, void*);
 typedef int32_t (*iFEpprLL__t)(x64emu_t*, void*, void*, struct_LL_t*);
 typedef uintptr_t (*LFpLpriiiiiiiiilt__t)(void*, uintptr_t, void*, struct_iiiiiiiiilt_t*);
 typedef void (*vFEpLLp_t)(x64emu_t*, void*, uintptr_t, uintptr_t, void*);
+typedef void (*vFiiiii_t)(int32_t, int32_t, int32_t, int32_t, int32_t);
+typedef void (*vFiiiiu_t)(int32_t, int32_t, int32_t, int32_t, uint32_t);
+typedef void (*vFiiuii_t)(int32_t, int32_t, uint32_t, int32_t, int32_t);
+typedef void (*vFiiuup_t)(int32_t, int32_t, uint32_t, uint32_t, void*);
+typedef void (*vFiillu_t)(int32_t, int32_t, intptr_t, intptr_t, uint32_t);
+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);
+typedef void (*vFiffff_t)(int32_t, float, float, float, float);
+typedef void (*vFidddd_t)(int32_t, double, double, double, double);
+typedef void (*vFilill_t)(int32_t, intptr_t, int32_t, intptr_t, intptr_t);
+typedef void (*vFilipi_t)(int32_t, intptr_t, int32_t, void*, int32_t);
+typedef void (*vFilipl_t)(int32_t, intptr_t, int32_t, void*, intptr_t);
+typedef void (*vFipipu_t)(int32_t, void*, int32_t, void*, uint32_t);
+typedef void (*vFipipp_t)(int32_t, void*, int32_t, void*, void*);
+typedef void (*vFipupi_t)(int32_t, void*, uint32_t, void*, int32_t);
+typedef void (*vFucccc_t)(uint32_t, int8_t, int8_t, int8_t, int8_t);
+typedef void (*vFuwwww_t)(uint32_t, int16_t, int16_t, int16_t, int16_t);
+typedef void (*vFuiiii_t)(uint32_t, int32_t, int32_t, int32_t, int32_t);
+typedef void (*vFuiiiu_t)(uint32_t, int32_t, int32_t, int32_t, uint32_t);
+typedef void (*vFuiiip_t)(uint32_t, int32_t, int32_t, int32_t, void*);
+typedef void (*vFuiiCp_t)(uint32_t, int32_t, int32_t, uint8_t, void*);
+typedef void (*vFuiiup_t)(uint32_t, int32_t, int32_t, uint32_t, void*);
+typedef void (*vFuiill_t)(uint32_t, int32_t, int32_t, intptr_t, intptr_t);
+typedef void (*vFuiIII_t)(uint32_t, int32_t, int64_t, int64_t, int64_t);
+typedef void (*vFuiuii_t)(uint32_t, int32_t, uint32_t, int32_t, int32_t);
+typedef void (*vFuiuip_t)(uint32_t, int32_t, uint32_t, int32_t, void*);
+typedef void (*vFuiuCi_t)(uint32_t, int32_t, uint32_t, uint8_t, int32_t);
+typedef void (*vFuiuCu_t)(uint32_t, int32_t, uint32_t, uint8_t, uint32_t);
+typedef void (*vFuiuuu_t)(uint32_t, int32_t, uint32_t, uint32_t, uint32_t);
+typedef void (*vFuiuup_t)(uint32_t, int32_t, uint32_t, uint32_t, void*);
+typedef void (*vFuiupi_t)(uint32_t, int32_t, uint32_t, void*, int32_t);
+typedef void (*vFuiUUU_t)(uint32_t, int32_t, uint64_t, uint64_t, uint64_t);
+typedef void (*vFuifff_t)(uint32_t, int32_t, float, float, float);
+typedef void (*vFuiddd_t)(uint32_t, int32_t, double, double, double);
+typedef void (*vFuipip_t)(uint32_t, int32_t, void*, int32_t, void*);
+typedef void (*vFuipup_t)(uint32_t, int32_t, void*, uint32_t, void*);
+typedef void (*vFuippp_t)(uint32_t, int32_t, void*, void*, void*);
+typedef void (*vFuIIII_t)(uint32_t, int64_t, int64_t, int64_t, int64_t);
+typedef void (*vFuCCCC_t)(uint32_t, uint8_t, uint8_t, uint8_t, uint8_t);
+typedef void (*vFuCuip_t)(uint32_t, uint8_t, uint32_t, int32_t, void*);
+typedef void (*vFuCuup_t)(uint32_t, uint8_t, uint32_t, uint32_t, void*);
+typedef void (*vFuWWWW_t)(uint32_t, uint16_t, uint16_t, uint16_t, uint16_t);
+typedef void (*vFuuiii_t)(uint32_t, uint32_t, int32_t, int32_t, int32_t);
+typedef void (*vFuuiip_t)(uint32_t, uint32_t, int32_t, int32_t, void*);
+typedef void (*vFuuiui_t)(uint32_t, uint32_t, int32_t, uint32_t, int32_t);
+typedef void (*vFuuiuu_t)(uint32_t, uint32_t, int32_t, uint32_t, uint32_t);
+typedef void (*vFuuiup_t)(uint32_t, uint32_t, int32_t, uint32_t, void*);
+typedef void (*vFuuifi_t)(uint32_t, uint32_t, int32_t, float, int32_t);
+typedef void (*vFuuipC_t)(uint32_t, uint32_t, int32_t, void*, uint8_t);
+typedef void (*vFuuipu_t)(uint32_t, uint32_t, int32_t, void*, uint32_t);
+typedef void (*vFuuipp_t)(uint32_t, uint32_t, int32_t, void*, void*);
+typedef void (*vFuuuii_t)(uint32_t, uint32_t, uint32_t, int32_t, int32_t);
+typedef void (*vFuuuiu_t)(uint32_t, uint32_t, uint32_t, int32_t, uint32_t);
+typedef void (*vFuuuil_t)(uint32_t, uint32_t, uint32_t, int32_t, intptr_t);
+typedef void (*vFuuuip_t)(uint32_t, uint32_t, uint32_t, int32_t, void*);
+typedef void (*vFuuuui_t)(uint32_t, uint32_t, uint32_t, uint32_t, int32_t);
+typedef void (*vFuuuuu_t)(uint32_t, uint32_t, uint32_t, uint32_t, uint32_t);
+typedef void (*vFuuuup_t)(uint32_t, uint32_t, uint32_t, uint32_t, void*);
+typedef void (*vFuuuli_t)(uint32_t, uint32_t, uint32_t, intptr_t, int32_t);
+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*);
+typedef void (*vFfffff_t)(float, float, float, float, float);
+typedef void (*vFluipp_t)(intptr_t, uint32_t, int32_t, void*, void*);
+typedef void (*vFpilpp_t)(void*, int32_t, intptr_t, void*, void*);
+typedef void (*vFpuipp_t)(void*, uint32_t, int32_t, void*, void*);
+typedef void (*vFpppii_t)(void*, void*, void*, int32_t, int32_t);
+typedef void (*vFppppu_t)(void*, void*, void*, void*, uint32_t);
+typedef void (*vFppppp_t)(void*, void*, void*, void*, void*);
 typedef int32_t (*iFEiiip_t)(x64emu_t*, int32_t, int32_t, int32_t, void*);
 typedef int32_t (*iFEipii_t)(x64emu_t*, int32_t, void*, int32_t, int32_t);
 typedef int32_t (*iFEpipp_t)(x64emu_t*, void*, int32_t, void*, void*);
@@ -332,24 +654,264 @@ typedef int32_t (*iFiiipu_t)(int32_t, int32_t, int32_t, void*, uint32_t);
 typedef int32_t (*iFiiipp_t)(int32_t, int32_t, int32_t, void*, void*);
 typedef int32_t (*iFiLLLL_t)(int32_t, uintptr_t, uintptr_t, uintptr_t, uintptr_t);
 typedef int32_t (*iFipLLi_t)(int32_t, void*, uintptr_t, uintptr_t, int32_t);
+typedef int32_t (*iFpiiip_t)(void*, int32_t, int32_t, int32_t, void*);
+typedef int32_t (*iFpippp_t)(void*, int32_t, void*, void*, void*);
+typedef int32_t (*iFppipi_t)(void*, void*, int32_t, void*, int32_t);
+typedef int32_t (*iFpppip_t)(void*, void*, void*, int32_t, void*);
 typedef int32_t (*iFpppup_t)(void*, void*, void*, uint32_t, void*);
+typedef int32_t (*iFppppp_t)(void*, void*, void*, void*, void*);
+typedef int64_t (*IFppIII_t)(void*, void*, int64_t, int64_t, int64_t);
 typedef uint32_t (*uFpLLLS_t)(void*, uintptr_t, uintptr_t, uintptr_t, void*);
+typedef uint64_t (*UFuiCiu_t)(uint32_t, int32_t, uint8_t, int32_t, uint32_t);
+typedef intptr_t (*lFpuipC_t)(void*, uint32_t, int32_t, void*, uint8_t);
 typedef uintptr_t (*LFpLppa_t)(void*, uintptr_t, void*, void*, void*);
+typedef void* (*pFuiupp_t)(uint32_t, int32_t, uint32_t, void*, void*);
+typedef void* (*pFpippp_t)(void*, int32_t, void*, void*, void*);
+typedef void* (*pFppipi_t)(void*, void*, int32_t, void*, int32_t);
+typedef void* (*pFppuup_t)(void*, void*, uint32_t, uint32_t, void*);
+typedef void* (*pFppupp_t)(void*, void*, uint32_t, void*, void*);
+typedef void* (*pFpppip_t)(void*, void*, void*, int32_t, void*);
 typedef int32_t (*iFEBh_ppp_t)(x64emu_t*, struct_h_t*, void*, void*, void*);
 typedef uintptr_t (*LFpbp_LLp_t)(void*, struct_p_t*, uintptr_t, uintptr_t, void*);
 typedef uintptr_t (*LFpBp_LLp_t)(void*, struct_p_t*, uintptr_t, uintptr_t, void*);
 typedef int32_t (*iFippprLL__t)(int32_t, void*, void*, void*, struct_LL_t*);
 typedef uintptr_t (*LFLbp_bL_Bp_BL__t)(uintptr_t, struct_p_t*, struct_L_t*, struct_p_t*, struct_L_t*);
 typedef uintptr_t (*LFpLpriiiiiiiiilt_a_t)(void*, uintptr_t, void*, struct_iiiiiiiiilt_t*, void*);
+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);
+typedef void (*vFiiuilp_t)(int32_t, int32_t, uint32_t, int32_t, intptr_t, void*);
+typedef void (*vFiffiff_t)(int32_t, float, float, int32_t, float, float);
+typedef void (*vFiddidd_t)(int32_t, double, double, int32_t, double, double);
+typedef void (*vFilipli_t)(int32_t, intptr_t, int32_t, void*, intptr_t, int32_t);
+typedef void (*vFiliplu_t)(int32_t, intptr_t, int32_t, void*, intptr_t, uint32_t);
+typedef void (*vFipiplp_t)(int32_t, void*, int32_t, void*, intptr_t, void*);
+typedef void (*vFCCCCff_t)(uint8_t, uint8_t, uint8_t, uint8_t, float, float);
+typedef void (*vFuiiiii_t)(uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t);
+typedef void (*vFuiiuii_t)(uint32_t, int32_t, int32_t, uint32_t, int32_t, int32_t);
+typedef void (*vFuiiuup_t)(uint32_t, int32_t, int32_t, uint32_t, uint32_t, void*);
+typedef void (*vFuiIIII_t)(uint32_t, int32_t, int64_t, int64_t, int64_t, int64_t);
+typedef void (*vFuiuiii_t)(uint32_t, int32_t, uint32_t, int32_t, int32_t, int32_t);
+typedef void (*vFuiuiiC_t)(uint32_t, int32_t, uint32_t, int32_t, int32_t, uint8_t);
+typedef void (*vFuiuiil_t)(uint32_t, int32_t, uint32_t, int32_t, int32_t, intptr_t);
+typedef void (*vFuiuiuu_t)(uint32_t, int32_t, uint32_t, int32_t, uint32_t, uint32_t);
+typedef void (*vFuiuiuU_t)(uint32_t, int32_t, uint32_t, int32_t, uint32_t, uint64_t);
+typedef void (*vFuiuCip_t)(uint32_t, int32_t, uint32_t, uint8_t, int32_t, void*);
+typedef void (*vFuiuuip_t)(uint32_t, int32_t, uint32_t, uint32_t, int32_t, void*);
+typedef void (*vFuiuuuu_t)(uint32_t, int32_t, uint32_t, uint32_t, uint32_t, uint32_t);
+typedef void (*vFuiupii_t)(uint32_t, int32_t, uint32_t, void*, int32_t, int32_t);
+typedef void (*vFuiupiu_t)(uint32_t, int32_t, uint32_t, void*, int32_t, uint32_t);
+typedef void (*vFuiUUUU_t)(uint32_t, int32_t, uint64_t, uint64_t, uint64_t, uint64_t);
+typedef void (*vFuiffff_t)(uint32_t, int32_t, float, float, float, float);
+typedef void (*vFuidddd_t)(uint32_t, int32_t, double, double, double, double);
+typedef void (*vFuipiup_t)(uint32_t, int32_t, void*, int32_t, uint32_t, void*);
+typedef void (*vFuCuuip_t)(uint32_t, uint8_t, uint32_t, uint32_t, int32_t, void*);
+typedef void (*vFuuiiii_t)(uint32_t, uint32_t, int32_t, int32_t, int32_t, int32_t);
+typedef void (*vFuuiuii_t)(uint32_t, uint32_t, int32_t, uint32_t, int32_t, int32_t);
+typedef void (*vFuuiuil_t)(uint32_t, uint32_t, int32_t, uint32_t, int32_t, intptr_t);
+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);
+typedef void (*vFuuuipp_t)(uint32_t, uint32_t, uint32_t, int32_t, void*, void*);
+typedef void (*vFuuuuii_t)(uint32_t, uint32_t, uint32_t, uint32_t, int32_t, int32_t);
+typedef void (*vFuuuuip_t)(uint32_t, uint32_t, uint32_t, uint32_t, int32_t, void*);
+typedef void (*vFuuuuuu_t)(uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t);
+typedef void (*vFuuuull_t)(uint32_t, uint32_t, uint32_t, uint32_t, intptr_t, intptr_t);
+typedef void (*vFuuuppi_t)(uint32_t, uint32_t, uint32_t, void*, void*, int32_t);
+typedef void (*vFuuuppp_t)(uint32_t, uint32_t, uint32_t, void*, void*, void*);
+typedef void (*vFuuffff_t)(uint32_t, uint32_t, float, float, float, float);
+typedef void (*vFuudddd_t)(uint32_t, uint32_t, double, double, double, double);
+typedef void (*vFuupiii_t)(uint32_t, uint32_t, void*, int32_t, int32_t, int32_t);
+typedef void (*vFuupupp_t)(uint32_t, uint32_t, void*, uint32_t, void*, void*);
+typedef void (*vFuuplii_t)(uint32_t, uint32_t, void*, intptr_t, int32_t, int32_t);
+typedef void (*vFuffiip_t)(uint32_t, float, float, int32_t, int32_t, void*);
+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 (*vFppiiii_t)(void*, void*, int32_t, int32_t, int32_t, int32_t);
+typedef void (*vFppupii_t)(void*, void*, uint32_t, void*, int32_t, int32_t);
 typedef int32_t (*iFEpLppp_t)(x64emu_t*, void*, uintptr_t, void*, void*, void*);
+typedef int32_t (*iFpiiipp_t)(void*, int32_t, int32_t, int32_t, void*, void*);
+typedef int32_t (*iFpiippp_t)(void*, int32_t, int32_t, void*, void*, void*);
+typedef int32_t (*iFppiiii_t)(void*, void*, int32_t, int32_t, int32_t, int32_t);
+typedef int32_t (*iFppIppp_t)(void*, void*, int64_t, void*, void*, void*);
+typedef uint32_t (*uFupuufp_t)(uint32_t, void*, uint32_t, uint32_t, float, void*);
 typedef intptr_t (*lFipLipu_t)(int32_t, void*, uintptr_t, int32_t, void*, uint32_t);
 typedef intptr_t (*lFipLipp_t)(int32_t, void*, uintptr_t, int32_t, void*, void*);
 typedef void* (*pFEpLLiN_t)(x64emu_t*, void*, uintptr_t, uintptr_t, int32_t, ...);
+typedef void* (*pFpippip_t)(void*, int32_t, void*, 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);
+typedef void (*vFiiffffp_t)(int32_t, int32_t, float, float, float, float, void*);
+typedef void (*vFiuulipi_t)(int32_t, uint32_t, uint32_t, intptr_t, int32_t, void*, int32_t);
+typedef void (*vFiupuuup_t)(int32_t, uint32_t, void*, uint32_t, uint32_t, uint32_t, void*);
+typedef void (*vFilipliu_t)(int32_t, intptr_t, int32_t, void*, intptr_t, int32_t, uint32_t);
+typedef void (*vFilulipi_t)(int32_t, intptr_t, uint32_t, intptr_t, int32_t, void*, int32_t);
+typedef void (*vFCCCCfff_t)(uint8_t, uint8_t, uint8_t, uint8_t, float, float, float);
+typedef void (*vFuiiiiii_t)(uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t);
+typedef void (*vFuiiiiiC_t)(uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, uint8_t);
+typedef void (*vFuiiiuip_t)(uint32_t, int32_t, int32_t, int32_t, uint32_t, int32_t, void*);
+typedef void (*vFuiiiuup_t)(uint32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t, void*);
+typedef void (*vFuiuiiii_t)(uint32_t, int32_t, uint32_t, int32_t, int32_t, int32_t, int32_t);
+typedef void (*vFuiuiiiC_t)(uint32_t, int32_t, uint32_t, int32_t, int32_t, int32_t, uint8_t);
+typedef void (*vFuiuiiip_t)(uint32_t, int32_t, uint32_t, int32_t, int32_t, int32_t, void*);
+typedef void (*vFuiuiiuU_t)(uint32_t, int32_t, uint32_t, int32_t, int32_t, uint32_t, uint64_t);
+typedef void (*vFuiuCiuu_t)(uint32_t, int32_t, uint32_t, uint8_t, int32_t, uint32_t, uint32_t);
+typedef void (*vFuiupiiu_t)(uint32_t, int32_t, uint32_t, void*, int32_t, int32_t, uint32_t);
+typedef void (*vFuiupuip_t)(uint32_t, int32_t, uint32_t, void*, uint32_t, int32_t, void*);
+typedef void (*vFuipiiii_t)(uint32_t, int32_t, void*, int32_t, int32_t, int32_t, int32_t);
+typedef void (*vFuipffff_t)(uint32_t, int32_t, void*, float, float, float, float);
+typedef void (*vFuipdddd_t)(uint32_t, int32_t, void*, double, double, double, double);
+typedef void (*vFuuiiiii_t)(uint32_t, uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t);
+typedef void (*vFuuiiiiC_t)(uint32_t, uint32_t, int32_t, int32_t, int32_t, int32_t, uint8_t);
+typedef void (*vFuuiiiiu_t)(uint32_t, uint32_t, int32_t, int32_t, int32_t, int32_t, uint32_t);
+typedef void (*vFuuiiuup_t)(uint32_t, uint32_t, int32_t, int32_t, uint32_t, uint32_t, void*);
+typedef void (*vFuuiCiui_t)(uint32_t, uint32_t, int32_t, uint8_t, int32_t, uint32_t, int32_t);
+typedef void (*vFuuiCiuu_t)(uint32_t, uint32_t, int32_t, uint8_t, int32_t, uint32_t, uint32_t);
+typedef void (*vFuuiuiii_t)(uint32_t, uint32_t, int32_t, uint32_t, int32_t, int32_t, int32_t);
+typedef void (*vFuuiuiiC_t)(uint32_t, uint32_t, int32_t, uint32_t, int32_t, int32_t, uint8_t);
+typedef void (*vFuuipppp_t)(uint32_t, uint32_t, int32_t, void*, void*, void*, void*);
+typedef void (*vFuuuiiii_t)(uint32_t, uint32_t, uint32_t, int32_t, int32_t, int32_t, int32_t);
+typedef void (*vFuuuiiCp_t)(uint32_t, uint32_t, uint32_t, int32_t, int32_t, uint8_t, void*);
+typedef void (*vFuuuiuil_t)(uint32_t, uint32_t, uint32_t, int32_t, uint32_t, int32_t, intptr_t);
+typedef void (*vFuuuiupi_t)(uint32_t, uint32_t, uint32_t, int32_t, uint32_t, void*, int32_t);
+typedef void (*vFuuuuuuu_t)(uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t);
+typedef void (*vFuuuulll_t)(uint32_t, uint32_t, uint32_t, uint32_t, intptr_t, intptr_t, intptr_t);
+typedef void (*vFuuuffff_t)(uint32_t, uint32_t, uint32_t, float, float, float, float);
+typedef void (*vFuuudddd_t)(uint32_t, uint32_t, uint32_t, double, double, double, double);
+typedef void (*vFuuffiip_t)(uint32_t, uint32_t, float, float, int32_t, int32_t, void*);
+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);
+typedef void (*vFlliiiip_t)(intptr_t, intptr_t, int32_t, int32_t, int32_t, int32_t, void*);
 typedef int32_t (*iFEpLiipV_t)(x64emu_t*, void*, uintptr_t, int32_t, int32_t, void*, void*);
 typedef int32_t (*iFpupLpLi_t)(void*, uint32_t, void*, uintptr_t, void*, uintptr_t, int32_t);
+typedef uint32_t (*uFuippppp_t)(uint32_t, int32_t, void*, void*, void*, void*, void*);
 typedef void* (*pFEpLiiii_t)(x64emu_t*, void*, uintptr_t, int32_t, int32_t, int32_t, int32_t);
 typedef void* (*pFEpLiiiI_t)(x64emu_t*, void*, uintptr_t, int32_t, int32_t, int32_t, int64_t);
+typedef void (*vFiiiiuuip_t)(int32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t, int32_t, void*);
+typedef void (*vFiilliilp_t)(int32_t, int32_t, intptr_t, intptr_t, int32_t, int32_t, intptr_t, void*);
+typedef void (*vFiupuiuup_t)(int32_t, uint32_t, void*, uint32_t, int32_t, uint32_t, uint32_t, void*);
+typedef void (*vFiupuuuup_t)(int32_t, uint32_t, void*, uint32_t, uint32_t, uint32_t, uint32_t, void*);
+typedef void (*vFuiiiiiii_t)(uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t);
+typedef void (*vFuiiiiiiC_t)(uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, uint8_t);
+typedef void (*vFuiiiiuup_t)(uint32_t, int32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t, void*);
+typedef void (*vFuiiipiup_t)(uint32_t, int32_t, int32_t, int32_t, void*, int32_t, uint32_t, void*);
+typedef void (*vFuiuiiiii_t)(uint32_t, int32_t, uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t);
+typedef void (*vFuiuiiiip_t)(uint32_t, int32_t, uint32_t, int32_t, int32_t, int32_t, int32_t, void*);
+typedef void (*vFuiuiiiuU_t)(uint32_t, int32_t, uint32_t, int32_t, int32_t, int32_t, uint32_t, uint64_t);
+typedef void (*vFuiuiiCuU_t)(uint32_t, int32_t, uint32_t, int32_t, int32_t, uint8_t, uint32_t, uint64_t);
+typedef void (*vFuiuiuuuu_t)(uint32_t, int32_t, uint32_t, int32_t, uint32_t, uint32_t, uint32_t, uint32_t);
+typedef void (*vFuCCCCfff_t)(uint32_t, uint8_t, uint8_t, uint8_t, uint8_t, float, float, float);
+typedef void (*vFuuiiiiiC_t)(uint32_t, uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, uint8_t);
+typedef void (*vFuuiiiuip_t)(uint32_t, uint32_t, int32_t, int32_t, int32_t, uint32_t, int32_t, void*);
+typedef void (*vFuuiiiuup_t)(uint32_t, uint32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t, void*);
+typedef void (*vFuuiiuupp_t)(uint32_t, uint32_t, int32_t, int32_t, uint32_t, uint32_t, void*, void*);
+typedef void (*vFuuiuiiii_t)(uint32_t, uint32_t, int32_t, uint32_t, int32_t, int32_t, int32_t, int32_t);
+typedef void (*vFuuiuiiiC_t)(uint32_t, uint32_t, int32_t, uint32_t, int32_t, int32_t, int32_t, uint8_t);
+typedef void (*vFuuiuiiip_t)(uint32_t, uint32_t, int32_t, uint32_t, int32_t, int32_t, int32_t, void*);
+typedef void (*vFuuuiiiiu_t)(uint32_t, uint32_t, uint32_t, int32_t, int32_t, int32_t, int32_t, uint32_t);
+typedef void (*vFuuuiuCil_t)(uint32_t, uint32_t, uint32_t, int32_t, uint32_t, uint8_t, int32_t, intptr_t);
+typedef void (*vFuuuipipp_t)(uint32_t, uint32_t, uint32_t, int32_t, void*, int32_t, void*, void*);
+typedef void (*vFuuuuuuuu_t)(uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t);
+typedef void (*vFuuufffff_t)(uint32_t, uint32_t, uint32_t, float, float, float, float, float);
+typedef void (*vFffffffff_t)(float, float, float, float, float, float, float, float);
 typedef int32_t (*iFEpippppp_t)(x64emu_t*, void*, int32_t, void*, void*, void*, void*, void*);
+typedef int32_t (*iFppIIIppp_t)(void*, void*, int64_t, int64_t, int64_t, void*, void*, void*);
+typedef uint8_t (*CFuiifpppp_t)(uint32_t, int32_t, int32_t, float, void*, void*, void*, void*);
+typedef uint32_t (*uFuipppppp_t)(uint32_t, int32_t, void*, void*, void*, void*, void*, void*);
+typedef uint32_t (*uFuupuuiuf_t)(uint32_t, uint32_t, void*, uint32_t, uint32_t, int32_t, uint32_t, float);
+typedef uint32_t (*uFulpppppp_t)(uint32_t, intptr_t, void*, void*, void*, void*, void*, void*);
+typedef void (*vFiiiiiiiii_t)(int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t);
+typedef void (*vFiiiiiiill_t)(int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, intptr_t, intptr_t);
+typedef void (*vFiiiiillli_t)(int32_t, int32_t, int32_t, int32_t, int32_t, intptr_t, intptr_t, intptr_t, int32_t);
+typedef void (*vFiiilllilp_t)(int32_t, int32_t, int32_t, intptr_t, intptr_t, intptr_t, int32_t, intptr_t, void*);
+typedef void (*vFiupuiuuup_t)(int32_t, uint32_t, void*, uint32_t, int32_t, uint32_t, uint32_t, uint32_t, void*);
+typedef void (*vFiupuuuuup_t)(int32_t, uint32_t, void*, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, void*);
+typedef void (*vFuiiiiiiii_t)(uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t);
+typedef void (*vFuiiiiiiiC_t)(uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, uint8_t);
+typedef void (*vFuiiiiiuip_t)(uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, uint32_t, int32_t, void*);
+typedef void (*vFuiiiiiuup_t)(uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t, void*);
+typedef void (*vFuiuiiiiip_t)(uint32_t, int32_t, uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, void*);
+typedef void (*vFuiuiiiCuU_t)(uint32_t, int32_t, uint32_t, int32_t, int32_t, int32_t, uint8_t, uint32_t, uint64_t);
+typedef void (*vFuiupuffup_t)(uint32_t, int32_t, uint32_t, void*, uint32_t, float, float, uint32_t, void*);
+typedef void (*vFuuiiiiiii_t)(uint32_t, uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t);
+typedef void (*vFuuiiiiiiC_t)(uint32_t, uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, uint8_t);
+typedef void (*vFuuiiiiuup_t)(uint32_t, uint32_t, int32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t, void*);
+typedef void (*vFuuiuiiiii_t)(uint32_t, uint32_t, int32_t, uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t);
+typedef void (*vFuuiuiiiip_t)(uint32_t, uint32_t, int32_t, uint32_t, int32_t, int32_t, int32_t, int32_t, void*);
+typedef void (*vFuuuiiiiCp_t)(uint32_t, uint32_t, uint32_t, int32_t, int32_t, int32_t, int32_t, uint8_t, void*);
+typedef void (*vFuuuuuuuuu_t)(uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t);
+typedef void (*vFuupuuiuuf_t)(uint32_t, uint32_t, void*, uint32_t, uint32_t, int32_t, uint32_t, uint32_t, float);
+typedef void (*vFuffffffff_t)(uint32_t, float, float, float, float, float, float, float, float);
+typedef void (*vFffCCCCfff_t)(float, float, uint8_t, uint8_t, uint8_t, uint8_t, float, float, float);
+typedef uint32_t (*uFuulpiuiuf_t)(uint32_t, uint32_t, intptr_t, void*, int32_t, uint32_t, int32_t, uint32_t, float);
+typedef void (*vFiiiiiiiiii_t)(int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t);
+typedef void (*vFiiiiiiiiui_t)(int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, uint32_t, int32_t);
+typedef void (*vFiiiiiiiiuu_t)(int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t);
+typedef void (*vFiiillliiip_t)(int32_t, int32_t, int32_t, intptr_t, intptr_t, intptr_t, int32_t, int32_t, int32_t, void*);
+typedef void (*vFuiiiiiiiii_t)(uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t);
+typedef void (*vFuiiiiiiiip_t)(uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, void*);
+typedef void (*vFuiiiiiiuup_t)(uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t, void*);
+typedef void (*vFuiuiiiiuup_t)(uint32_t, int32_t, uint32_t, int32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t, void*);
+typedef void (*vFuuiiiiiiii_t)(uint32_t, uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t);
+typedef void (*vFuuiiiiiuip_t)(uint32_t, uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, uint32_t, int32_t, void*);
+typedef void (*vFuuiiiiiuup_t)(uint32_t, uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t, void*);
+typedef void (*vFuuiuiiiiip_t)(uint32_t, uint32_t, int32_t, uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, void*);
+typedef void (*vFuuuuuuuCCC_t)(uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint8_t, uint8_t, uint8_t);
+typedef void (*vFuuuuuuuuuu_t)(uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t);
+typedef void (*vFuupuiupuuf_t)(uint32_t, uint32_t, void*, uint32_t, int32_t, uint32_t, void*, uint32_t, uint32_t, float);
+typedef void (*vFuffiiffiip_t)(uint32_t, float, float, int32_t, int32_t, float, float, int32_t, int32_t, void*);
+typedef void (*vFuddiiddiip_t)(uint32_t, double, double, int32_t, int32_t, double, double, int32_t, int32_t, void*);
+typedef void (*vFffffffffff_t)(float, float, float, float, float, float, float, float, float, float);
+typedef void (*vFiiiiillliip_t)(int32_t, int32_t, int32_t, int32_t, int32_t, intptr_t, intptr_t, intptr_t, int32_t, int32_t, void*);
+typedef void (*vFiiiiilllilp_t)(int32_t, int32_t, int32_t, int32_t, int32_t, intptr_t, intptr_t, intptr_t, int32_t, intptr_t, void*);
+typedef void (*vFuiiiiiiiuip_t)(uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, uint32_t, int32_t, void*);
+typedef void (*vFuiiiiiiiuup_t)(uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t, void*);
+typedef void (*vFuiiiillliip_t)(uint32_t, int32_t, int32_t, int32_t, int32_t, intptr_t, intptr_t, intptr_t, int32_t, int32_t, void*);
+typedef void (*vFuiuiiiiiuup_t)(uint32_t, int32_t, uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t, void*);
+typedef void (*vFuuiiiiiiuup_t)(uint32_t, uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t, void*);
+typedef void (*vFuuupupppppp_t)(uint32_t, uint32_t, uint32_t, void*, uint32_t, void*, void*, void*, void*, void*, void*);
+typedef void (*vFuuffiiffiip_t)(uint32_t, uint32_t, float, float, int32_t, int32_t, float, float, int32_t, int32_t, void*);
+typedef void (*vFuufffffffff_t)(uint32_t, uint32_t, float, float, float, float, float, float, float, float, float);
+typedef void (*vFuuddiiddiip_t)(uint32_t, uint32_t, double, double, int32_t, int32_t, double, double, int32_t, int32_t, void*);
+typedef void (*vFuUuuuuuuuuu_t)(uint32_t, uint64_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t);
+typedef void (*vFuffffffffff_t)(uint32_t, float, float, float, float, float, float, float, float, float, float);
+typedef void (*vFUufffffffff_t)(uint64_t, uint32_t, float, float, float, float, float, float, float, float, float);
+typedef void (*vFuiiiiiiiiuUC_t)(uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, uint32_t, uint64_t, uint8_t);
+typedef void (*vFuiiiiiiiuuip_t)(uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t, int32_t, void*);
+typedef void (*vFuuiiiiiiiiuu_t)(uint32_t, uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t);
+typedef void (*vFuuiiiiiiiuip_t)(uint32_t, uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, uint32_t, int32_t, void*);
+typedef void (*vFuuiiiiiiiuup_t)(uint32_t, uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t, void*);
+typedef void (*vFuuuuuuuuuuuu_t)(uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t);
+typedef void (*vFffffffffffff_t)(float, float, float, float, float, float, float, float, float, float, float, float);
+typedef void (*vFuiiiiiiiiiuup_t)(uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t, void*);
+typedef void (*vFuuuuuuuuuuuuu_t)(uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t);
+typedef void (*vFuUuuuuuuuuuuu_t)(uint32_t, uint64_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t);
+typedef void (*vFuffffffffffff_t)(uint32_t, float, float, float, float, float, float, float, float, float, float, float, float);
+typedef uint32_t (*uFippuuuulllipp_t)(int32_t, void*, void*, uint32_t, uint32_t, uint32_t, uint32_t, intptr_t, intptr_t, intptr_t, int32_t, void*, void*);
+typedef void (*vFuffiiffiiffiip_t)(uint32_t, float, float, int32_t, int32_t, float, float, int32_t, int32_t, float, float, int32_t, int32_t, void*);
+typedef void (*vFuddiiddiiddiip_t)(uint32_t, double, double, int32_t, int32_t, double, double, int32_t, int32_t, double, double, int32_t, int32_t, void*);
+typedef void (*vFuiiiiiuiiiiilll_t)(uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, intptr_t, intptr_t, intptr_t);
+typedef void (*vFuuiiiiuuiiiiiii_t)(uint32_t, uint32_t, int32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t);
+typedef void (*vFfffffffffffffff_t)(float, float, float, float, float, float, float, float, float, float, float, float, float, float, float);
+typedef void (*vFuuuuiiiiuuiiiiiii_t)(uint32_t, uint32_t, uint32_t, uint32_t, int32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t);
+typedef void (*vFppuiiiiipuiiiiiiii_t)(void*, void*, uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, void*, uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t);
+typedef uint32_t (*uFippuuuuiiiiuuiiiiiiiipp_t)(int32_t, void*, void*, uint32_t, uint32_t, uint32_t, uint32_t, int32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, void*, void*);
 
 #if defined(ANDROID)
 typedef void (*vFEpppp_t)(x64emu_t*, void*, void*, void*, void*);
@@ -370,8 +932,16 @@ typedef double (*KFpBp_a_t)(void*, struct_p_t*, void*);
 #endif
 
 void vFv_32(x64emu_t *emu, uintptr_t fcn) { vFv_t fn = (vFv_t)fcn; fn(); }
+void vFc_32(x64emu_t *emu, uintptr_t fcn) { vFc_t fn = (vFc_t)fcn; fn(from_ptri(int8_t, R_ESP + 4)); }
+void vFw_32(x64emu_t *emu, uintptr_t fcn) { vFw_t fn = (vFw_t)fcn; fn(from_ptri(int16_t, R_ESP + 4)); }
 void vFi_32(x64emu_t *emu, uintptr_t fcn) { vFi_t fn = (vFi_t)fcn; fn(from_ptri(int32_t, R_ESP + 4)); }
+void vFC_32(x64emu_t *emu, uintptr_t fcn) { vFC_t fn = (vFC_t)fcn; fn(from_ptri(uint8_t, R_ESP + 4)); }
+void vFW_32(x64emu_t *emu, uintptr_t fcn) { vFW_t fn = (vFW_t)fcn; fn(from_ptri(uint16_t, R_ESP + 4)); }
 void vFu_32(x64emu_t *emu, uintptr_t fcn) { vFu_t fn = (vFu_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4)); }
+void vFU_32(x64emu_t *emu, uintptr_t fcn) { vFU_t fn = (vFU_t)fcn; fn(from_ptri(uint64_t, R_ESP + 4)); }
+void vFf_32(x64emu_t *emu, uintptr_t fcn) { vFf_t fn = (vFf_t)fcn; fn(from_ptri(float, R_ESP + 4)); }
+void vFd_32(x64emu_t *emu, uintptr_t fcn) { vFd_t fn = (vFd_t)fcn; fn(from_ptri(double, R_ESP + 4)); }
+void vFl_32(x64emu_t *emu, uintptr_t fcn) { vFl_t fn = (vFl_t)fcn; fn(to_long(from_ptri(long_t, R_ESP + 4))); }
 void vFp_32(x64emu_t *emu, uintptr_t fcn) { vFp_t fn = (vFp_t)fcn; fn(from_ptriv(R_ESP + 4)); }
 void vFA_32(x64emu_t *emu, uintptr_t fcn) { vFA_t fn = (vFA_t)fcn; fn(from_locale_d(from_ptri(ptr_t, R_ESP + 4))); }
 void vFS_32(x64emu_t *emu, uintptr_t fcn) { vFS_t fn = (vFS_t)fcn; fn(io_convert32(from_ptriv(R_ESP + 4))); }
@@ -388,16 +958,24 @@ void iFS_32(x64emu_t *emu, uintptr_t fcn) { iFS_t fn = (iFS_t)fcn; R_EAX = fn(io
 void IFf_32(x64emu_t *emu, uintptr_t fcn) { IFf_t fn = (IFf_t)fcn; ui64_t r; r.i = fn(from_ptri(float, R_ESP + 4)); R_EAX = r.d[0]; R_EDX = r.d[1]; }
 void IFd_32(x64emu_t *emu, uintptr_t fcn) { IFd_t fn = (IFd_t)fcn; ui64_t r; r.i = fn(from_ptri(double, R_ESP + 4)); R_EAX = r.d[0]; R_EDX = r.d[1]; }
 void IFS_32(x64emu_t *emu, uintptr_t fcn) { IFS_t fn = (IFS_t)fcn; ui64_t r; r.i = fn(io_convert32(from_ptriv(R_ESP + 4))); R_EAX = r.d[0]; R_EDX = r.d[1]; }
+void CFu_32(x64emu_t *emu, uintptr_t fcn) { CFu_t fn = (CFu_t)fcn; R_EAX = (unsigned char)fn(from_ptri(uint32_t, R_ESP + 4)); }
+void CFU_32(x64emu_t *emu, uintptr_t fcn) { CFU_t fn = (CFU_t)fcn; R_EAX = (unsigned char)fn(from_ptri(uint64_t, R_ESP + 4)); }
+void CFl_32(x64emu_t *emu, uintptr_t fcn) { CFl_t fn = (CFl_t)fcn; R_EAX = (unsigned char)fn(to_long(from_ptri(long_t, R_ESP + 4))); }
+void CFp_32(x64emu_t *emu, uintptr_t fcn) { CFp_t fn = (CFp_t)fcn; R_EAX = (unsigned char)fn(from_ptriv(R_ESP + 4)); }
+void WFu_32(x64emu_t *emu, uintptr_t fcn) { WFu_t fn = (WFu_t)fcn; R_EAX = (unsigned short)fn(from_ptri(uint32_t, R_ESP + 4)); }
 void uFv_32(x64emu_t *emu, uintptr_t fcn) { uFv_t fn = (uFv_t)fcn; R_EAX = (uint32_t)fn(); }
+void uFi_32(x64emu_t *emu, uintptr_t fcn) { uFi_t fn = (uFi_t)fcn; R_EAX = (uint32_t)fn(from_ptri(int32_t, R_ESP + 4)); }
 void uFu_32(x64emu_t *emu, uintptr_t fcn) { uFu_t fn = (uFu_t)fcn; R_EAX = (uint32_t)fn(from_ptri(uint32_t, R_ESP + 4)); }
 void uFU_32(x64emu_t *emu, uintptr_t fcn) { uFU_t fn = (uFU_t)fcn; R_EAX = (uint32_t)fn(from_ptri(uint64_t, R_ESP + 4)); }
 void uFp_32(x64emu_t *emu, uintptr_t fcn) { uFp_t fn = (uFp_t)fcn; R_EAX = (uint32_t)fn(from_ptriv(R_ESP + 4)); }
+void UFu_32(x64emu_t *emu, uintptr_t fcn) { UFu_t fn = (UFu_t)fcn; ui64_t r; r.u = (uint64_t)fn(from_ptri(uint32_t, R_ESP + 4)); R_EAX = r.d[0]; R_EDX = r.d[1]; }
 void UFp_32(x64emu_t *emu, uintptr_t fcn) { UFp_t fn = (UFp_t)fcn; ui64_t r; r.u = (uint64_t)fn(from_ptriv(R_ESP + 4)); R_EAX = r.d[0]; R_EDX = r.d[1]; }
 void UFs_32(x64emu_t *emu, uintptr_t fcn) { UFs_t fn = (UFs_t)fcn; ui64_t r; r.u = (uint64_t)fn(from_ptrv(R_ESP + 4)); R_EAX = r.d[0]; R_EDX = r.d[1]; }
 void fFf_32(x64emu_t *emu, uintptr_t fcn) { fFf_t fn = (fFf_t)fcn; float fl = fn(from_ptri(float, R_ESP + 4)); fpu_do_push(emu); ST0val = fl; }
 void dFv_32(x64emu_t *emu, uintptr_t fcn) { dFv_t fn = (dFv_t)fcn; double db = fn(); fpu_do_push(emu); ST0val = db; }
 void dFd_32(x64emu_t *emu, uintptr_t fcn) { dFd_t fn = (dFd_t)fcn; double db = fn(from_ptri(double, R_ESP + 4)); fpu_do_push(emu); ST0val = db; }
 void lFi_32(x64emu_t *emu, uintptr_t fcn) { lFi_t fn = (lFi_t)fcn; R_EAX = to_long(fn(from_ptri(int32_t, R_ESP + 4))); }
+void lFu_32(x64emu_t *emu, uintptr_t fcn) { lFu_t fn = (lFu_t)fcn; R_EAX = to_long(fn(from_ptri(uint32_t, R_ESP + 4))); }
 void lFp_32(x64emu_t *emu, uintptr_t fcn) { lFp_t fn = (lFp_t)fcn; R_EAX = to_long(fn(from_ptriv(R_ESP + 4))); }
 void lFS_32(x64emu_t *emu, uintptr_t fcn) { lFS_t fn = (lFS_t)fcn; R_EAX = to_long(fn(io_convert32(from_ptriv(R_ESP + 4)))); }
 void LFv_32(x64emu_t *emu, uintptr_t fcn) { LFv_t fn = (LFv_t)fcn; R_EAX = to_ulong(fn()); }
@@ -417,6 +995,37 @@ void pFrL__32(x64emu_t *emu, uintptr_t fcn) { pFrL__t fn = (pFrL__t)fcn; struct_
 void LFriiiiiiiiilt__32(x64emu_t *emu, uintptr_t fcn) { LFriiiiiiiiilt__t fn = (LFriiiiiiiiilt__t)fcn; struct_iiiiiiiiilt_t arg_4; from_struct_iiiiiiiiilt(&arg_4, *(ptr_t*)(from_ptr((R_ESP + 4)))); R_EAX = to_ulong(fn(*(ptr_t*)(from_ptr((R_ESP + 4))) ? &arg_4 : NULL)); }
 void vFEv_32(x64emu_t *emu, uintptr_t fcn) { vFEv_t fn = (vFEv_t)fcn; fn(emu); }
 void vFEp_32(x64emu_t *emu, uintptr_t fcn) { vFEp_t fn = (vFEp_t)fcn; fn(emu, from_ptriv(R_ESP + 4)); }
+void vFcc_32(x64emu_t *emu, uintptr_t fcn) { vFcc_t fn = (vFcc_t)fcn; fn(from_ptri(int8_t, R_ESP + 4), from_ptri(int8_t, R_ESP + 8)); }
+void vFww_32(x64emu_t *emu, uintptr_t fcn) { vFww_t fn = (vFww_t)fcn; fn(from_ptri(int16_t, R_ESP + 4), from_ptri(int16_t, R_ESP + 8)); }
+void vFii_32(x64emu_t *emu, uintptr_t fcn) { vFii_t fn = (vFii_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8)); }
+void vFiI_32(x64emu_t *emu, uintptr_t fcn) { vFiI_t fn = (vFiI_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(int64_t, R_ESP + 8)); }
+void vFiW_32(x64emu_t *emu, uintptr_t fcn) { vFiW_t fn = (vFiW_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(uint16_t, R_ESP + 8)); }
+void vFiu_32(x64emu_t *emu, uintptr_t fcn) { vFiu_t fn = (vFiu_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8)); }
+void vFiU_32(x64emu_t *emu, uintptr_t fcn) { vFiU_t fn = (vFiU_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(uint64_t, R_ESP + 8)); }
+void vFif_32(x64emu_t *emu, uintptr_t fcn) { vFif_t fn = (vFif_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(float, R_ESP + 8)); }
+void vFid_32(x64emu_t *emu, uintptr_t fcn) { vFid_t fn = (vFid_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(double, R_ESP + 8)); }
+void vFip_32(x64emu_t *emu, uintptr_t fcn) { vFip_t fn = (vFip_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8)); }
+void vFWW_32(x64emu_t *emu, uintptr_t fcn) { vFWW_t fn = (vFWW_t)fcn; fn(from_ptri(uint16_t, R_ESP + 4), from_ptri(uint16_t, R_ESP + 8)); }
+void vFuc_32(x64emu_t *emu, uintptr_t fcn) { vFuc_t fn = (vFuc_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int8_t, R_ESP + 8)); }
+void vFuw_32(x64emu_t *emu, uintptr_t fcn) { vFuw_t fn = (vFuw_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int16_t, R_ESP + 8)); }
+void vFui_32(x64emu_t *emu, uintptr_t fcn) { vFui_t fn = (vFui_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8)); }
+void vFuI_32(x64emu_t *emu, uintptr_t fcn) { vFuI_t fn = (vFuI_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int64_t, R_ESP + 8)); }
+void vFuC_32(x64emu_t *emu, uintptr_t fcn) { vFuC_t fn = (vFuC_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint8_t, R_ESP + 8)); }
+void vFuW_32(x64emu_t *emu, uintptr_t fcn) { vFuW_t fn = (vFuW_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint16_t, R_ESP + 8)); }
+void vFuu_32(x64emu_t *emu, uintptr_t fcn) { vFuu_t fn = (vFuu_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8)); }
+void vFuU_32(x64emu_t *emu, uintptr_t fcn) { vFuU_t fn = (vFuU_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint64_t, R_ESP + 8)); }
+void vFuf_32(x64emu_t *emu, uintptr_t fcn) { vFuf_t fn = (vFuf_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(float, R_ESP + 8)); }
+void vFud_32(x64emu_t *emu, uintptr_t fcn) { vFud_t fn = (vFud_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(double, R_ESP + 8)); }
+void vFul_32(x64emu_t *emu, uintptr_t fcn) { vFul_t fn = (vFul_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), to_long(from_ptri(long_t, R_ESP + 8))); }
+void vFup_32(x64emu_t *emu, uintptr_t fcn) { vFup_t fn = (vFup_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptriv(R_ESP + 8)); }
+void vFUu_32(x64emu_t *emu, uintptr_t fcn) { vFUu_t fn = (vFUu_t)fcn; fn(from_ptri(uint64_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 12)); }
+void vFfC_32(x64emu_t *emu, uintptr_t fcn) { vFfC_t fn = (vFfC_t)fcn; fn(from_ptri(float, R_ESP + 4), from_ptri(uint8_t, R_ESP + 8)); }
+void vFff_32(x64emu_t *emu, uintptr_t fcn) { vFff_t fn = (vFff_t)fcn; fn(from_ptri(float, R_ESP + 4), from_ptri(float, R_ESP + 8)); }
+void vFdd_32(x64emu_t *emu, uintptr_t fcn) { vFdd_t fn = (vFdd_t)fcn; fn(from_ptri(double, R_ESP + 4), from_ptri(double, R_ESP + 12)); }
+void vFlu_32(x64emu_t *emu, uintptr_t fcn) { vFlu_t fn = (vFlu_t)fcn; fn(to_long(from_ptri(long_t, R_ESP + 4)), from_ptri(uint32_t, R_ESP + 8)); }
+void vFlp_32(x64emu_t *emu, uintptr_t fcn) { vFlp_t fn = (vFlp_t)fcn; fn(to_long(from_ptri(long_t, R_ESP + 4)), from_ptriv(R_ESP + 8)); }
+void vFpp_32(x64emu_t *emu, uintptr_t fcn) { vFpp_t fn = (vFpp_t)fcn; fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8)); }
+void wFpi_32(x64emu_t *emu, uintptr_t fcn) { wFpi_t fn = (wFpi_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptri(int32_t, R_ESP + 8)); }
 void iFEv_32(x64emu_t *emu, uintptr_t fcn) { iFEv_t fn = (iFEv_t)fcn; R_EAX = fn(emu); }
 void iFEi_32(x64emu_t *emu, uintptr_t fcn) { iFEi_t fn = (iFEi_t)fcn; R_EAX = fn(emu, from_ptri(int32_t, R_ESP + 4)); }
 void iFEL_32(x64emu_t *emu, uintptr_t fcn) { iFEL_t fn = (iFEL_t)fcn; R_EAX = fn(emu, to_ulong(from_ptri(ulong_t, R_ESP + 4))); }
@@ -443,10 +1052,19 @@ void iFhi_32(x64emu_t *emu, uintptr_t fcn) { iFhi_t fn = (iFhi_t)fcn; R_EAX = fn
 void iFhp_32(x64emu_t *emu, uintptr_t fcn) { iFhp_t fn = (iFhp_t)fcn; R_EAX = fn(from_hash(from_ptri(ptr_t, R_ESP + 4)), from_ptriv(R_ESP + 8)); }
 void iFhh_32(x64emu_t *emu, uintptr_t fcn) { iFhh_t fn = (iFhh_t)fcn; R_EAX = fn(from_hash(from_ptri(ptr_t, R_ESP + 4)), from_hash(from_ptri(ptr_t, R_ESP + 8))); }
 void IFII_32(x64emu_t *emu, uintptr_t fcn) { IFII_t fn = (IFII_t)fcn; ui64_t r; r.i = fn(from_ptri(int64_t, R_ESP + 4), from_ptri(int64_t, R_ESP + 12)); R_EAX = r.d[0]; R_EDX = r.d[1]; }
+void CFip_32(x64emu_t *emu, uintptr_t fcn) { CFip_t fn = (CFip_t)fcn; R_EAX = (unsigned char)fn(from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8)); }
+void CFuu_32(x64emu_t *emu, uintptr_t fcn) { CFuu_t fn = (CFuu_t)fcn; R_EAX = (unsigned char)fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8)); }
+void CFuU_32(x64emu_t *emu, uintptr_t fcn) { CFuU_t fn = (CFuU_t)fcn; R_EAX = (unsigned char)fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint64_t, R_ESP + 8)); }
+void CFpi_32(x64emu_t *emu, uintptr_t fcn) { CFpi_t fn = (CFpi_t)fcn; R_EAX = (unsigned char)fn(from_ptriv(R_ESP + 4), from_ptri(int32_t, R_ESP + 8)); }
 void uFEu_32(x64emu_t *emu, uintptr_t fcn) { uFEu_t fn = (uFEu_t)fcn; R_EAX = (uint32_t)fn(emu, from_ptri(uint32_t, R_ESP + 4)); }
 void uFEV_32(x64emu_t *emu, uintptr_t fcn) { uFEV_t fn = (uFEV_t)fcn; R_EAX = (uint32_t)fn(emu, from_ptrv(R_ESP + 4)); }
+void uFuu_32(x64emu_t *emu, uintptr_t fcn) { uFuu_t fn = (uFuu_t)fcn; R_EAX = (uint32_t)fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8)); }
+void uFup_32(x64emu_t *emu, uintptr_t fcn) { uFup_t fn = (uFup_t)fcn; R_EAX = (uint32_t)fn(from_ptri(uint32_t, R_ESP + 4), from_ptriv(R_ESP + 8)); }
+void uFpi_32(x64emu_t *emu, uintptr_t fcn) { uFpi_t fn = (uFpi_t)fcn; R_EAX = (uint32_t)fn(from_ptriv(R_ESP + 4), from_ptri(int32_t, R_ESP + 8)); }
+void uFpp_32(x64emu_t *emu, uintptr_t fcn) { uFpp_t fn = (uFpp_t)fcn; R_EAX = (uint32_t)fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8)); }
 void uFpa_32(x64emu_t *emu, uintptr_t fcn) { uFpa_t fn = (uFpa_t)fcn; R_EAX = (uint32_t)fn(from_ptriv(R_ESP + 4), from_locale(from_ptri(ptr_t, R_ESP + 8))); }
 void UFii_32(x64emu_t *emu, uintptr_t fcn) { UFii_t fn = (UFii_t)fcn; ui64_t r; r.u = (uint64_t)fn(from_ptri(int32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8)); R_EAX = r.d[0]; R_EDX = r.d[1]; }
+void UFuu_32(x64emu_t *emu, uintptr_t fcn) { UFuu_t fn = (UFuu_t)fcn; ui64_t r; r.u = (uint64_t)fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8)); R_EAX = r.d[0]; R_EDX = r.d[1]; }
 void UFUU_32(x64emu_t *emu, uintptr_t fcn) { UFUU_t fn = (UFUU_t)fcn; ui64_t r; r.u = (uint64_t)fn(from_ptri(uint64_t, R_ESP + 4), from_ptri(uint64_t, R_ESP + 12)); R_EAX = r.d[0]; R_EDX = r.d[1]; }
 void UFss_32(x64emu_t *emu, uintptr_t fcn) { UFss_t fn = (UFss_t)fcn; ui64_t r; r.u = (uint64_t)fn(from_ptrv(R_ESP + 4), from_ptrv(R_ESP + 4)); R_EAX = r.d[0]; R_EDX = r.d[1]; }
 void fFif_32(x64emu_t *emu, uintptr_t fcn) { fFif_t fn = (fFif_t)fcn; float fl = fn(from_ptri(int32_t, R_ESP + 4), from_ptri(float, R_ESP + 8)); fpu_do_push(emu); ST0val = fl; }
@@ -459,15 +1077,19 @@ void dFdi_32(x64emu_t *emu, uintptr_t fcn) { dFdi_t fn = (dFdi_t)fcn; double db
 void dFdd_32(x64emu_t *emu, uintptr_t fcn) { dFdd_t fn = (dFdd_t)fcn; double db = fn(from_ptri(double, R_ESP + 4), from_ptri(double, R_ESP + 12)); fpu_do_push(emu); ST0val = db; }
 void dFdD_32(x64emu_t *emu, uintptr_t fcn) { dFdD_t fn = (dFdD_t)fcn; double db = fn(from_ptri(double, R_ESP + 4), LD2localLD(from_ptrv(R_ESP + 12))); fpu_do_push(emu); ST0val = db; }
 void dFdp_32(x64emu_t *emu, uintptr_t fcn) { dFdp_t fn = (dFdp_t)fcn; double db = fn(from_ptri(double, R_ESP + 4), from_ptriv(R_ESP + 12)); fpu_do_push(emu); ST0val = db; }
+void lFui_32(x64emu_t *emu, uintptr_t fcn) { lFui_t fn = (lFui_t)fcn; R_EAX = to_long(fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8))); }
 void LFpL_32(x64emu_t *emu, uintptr_t fcn) { LFpL_t fn = (LFpL_t)fcn; R_EAX = to_ulong(fn(from_ptriv(R_ESP + 4), to_ulong(from_ptri(ulong_t, R_ESP + 8)))); }
 void LFpp_32(x64emu_t *emu, uintptr_t fcn) { LFpp_t fn = (LFpp_t)fcn; R_EAX = to_ulong(fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8))); }
 void pFEv_32(x64emu_t *emu, uintptr_t fcn) { pFEv_t fn = (pFEv_t)fcn; R_EAX = to_ptrv(fn(emu)); }
 void pFEu_32(x64emu_t *emu, uintptr_t fcn) { pFEu_t fn = (pFEu_t)fcn; R_EAX = to_ptrv(fn(emu, from_ptri(uint32_t, R_ESP + 4))); }
 void pFEp_32(x64emu_t *emu, uintptr_t fcn) { pFEp_t fn = (pFEp_t)fcn; R_EAX = to_ptrv(fn(emu, from_ptriv(R_ESP + 4))); }
 void pFES_32(x64emu_t *emu, uintptr_t fcn) { pFES_t fn = (pFES_t)fcn; R_EAX = to_ptrv(fn(emu, io_convert32(from_ptriv(R_ESP + 4)))); }
+void pFiu_32(x64emu_t *emu, uintptr_t fcn) { pFiu_t fn = (pFiu_t)fcn; R_EAX = to_ptrv(fn(from_ptri(int32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8))); }
 void pFia_32(x64emu_t *emu, uintptr_t fcn) { pFia_t fn = (pFia_t)fcn; R_EAX = to_ptrv(fn(from_ptri(int32_t, R_ESP + 4), from_locale(from_ptri(ptr_t, R_ESP + 8)))); }
+void pFuu_32(x64emu_t *emu, uintptr_t fcn) { pFuu_t fn = (pFuu_t)fcn; R_EAX = to_ptrv(fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8))); }
 void pFLL_32(x64emu_t *emu, uintptr_t fcn) { pFLL_t fn = (pFLL_t)fcn; R_EAX = to_ptrv(fn(to_ulong(from_ptri(ulong_t, R_ESP + 4)), to_ulong(from_ptri(ulong_t, R_ESP + 8)))); }
 void pFpi_32(x64emu_t *emu, uintptr_t fcn) { pFpi_t fn = (pFpi_t)fcn; R_EAX = to_ptrv(fn(from_ptriv(R_ESP + 4), from_ptri(int32_t, R_ESP + 8))); }
+void pFpu_32(x64emu_t *emu, uintptr_t fcn) { pFpu_t fn = (pFpu_t)fcn; R_EAX = to_ptrv(fn(from_ptriv(R_ESP + 4), from_ptri(uint32_t, R_ESP + 8))); }
 void pFpL_32(x64emu_t *emu, uintptr_t fcn) { pFpL_t fn = (pFpL_t)fcn; R_EAX = to_ptrv(fn(from_ptriv(R_ESP + 4), to_ulong(from_ptri(ulong_t, R_ESP + 8)))); }
 void pFpp_32(x64emu_t *emu, uintptr_t fcn) { pFpp_t fn = (pFpp_t)fcn; R_EAX = to_ptrv(fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8))); }
 void SFpp_32(x64emu_t *emu, uintptr_t fcn) { SFpp_t fn = (SFpp_t)fcn; R_EAX = to_ptrv(io_convert_from(fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8)))); }
@@ -486,9 +1108,65 @@ void pFriiiiiiiiilt_p_32(x64emu_t *emu, uintptr_t fcn) { pFriiiiiiiiilt_p_t fn =
 void vFEip_32(x64emu_t *emu, uintptr_t fcn) { vFEip_t fn = (vFEip_t)fcn; fn(emu, from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8)); }
 void vFEpi_32(x64emu_t *emu, uintptr_t fcn) { vFEpi_t fn = (vFEpi_t)fcn; fn(emu, from_ptriv(R_ESP + 4), from_ptri(int32_t, R_ESP + 8)); }
 void vFEpu_32(x64emu_t *emu, uintptr_t fcn) { vFEpu_t fn = (vFEpu_t)fcn; fn(emu, from_ptriv(R_ESP + 4), from_ptri(uint32_t, R_ESP + 8)); }
+void vFEpp_32(x64emu_t *emu, uintptr_t fcn) { vFEpp_t fn = (vFEpp_t)fcn; fn(emu, from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8)); }
+void vFccc_32(x64emu_t *emu, uintptr_t fcn) { vFccc_t fn = (vFccc_t)fcn; fn(from_ptri(int8_t, R_ESP + 4), from_ptri(int8_t, R_ESP + 8), from_ptri(int8_t, R_ESP + 12)); }
+void vFwww_32(x64emu_t *emu, uintptr_t fcn) { vFwww_t fn = (vFwww_t)fcn; fn(from_ptri(int16_t, R_ESP + 4), from_ptri(int16_t, R_ESP + 8), from_ptri(int16_t, R_ESP + 12)); }
+void vFiii_32(x64emu_t *emu, uintptr_t fcn) { vFiii_t fn = (vFiii_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12)); }
+void vFiif_32(x64emu_t *emu, uintptr_t fcn) { vFiif_t fn = (vFiif_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(float, R_ESP + 12)); }
+void vFiip_32(x64emu_t *emu, uintptr_t fcn) { vFiip_t fn = (vFiip_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptriv(R_ESP + 12)); }
+void vFiII_32(x64emu_t *emu, uintptr_t fcn) { vFiII_t fn = (vFiII_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(int64_t, R_ESP + 8), from_ptri(int64_t, R_ESP + 16)); }
+void vFiui_32(x64emu_t *emu, uintptr_t fcn) { vFiui_t fn = (vFiui_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12)); }
+void vFiuu_32(x64emu_t *emu, uintptr_t fcn) { vFiuu_t fn = (vFiuu_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12)); }
+void vFiup_32(x64emu_t *emu, uintptr_t fcn) { vFiup_t fn = (vFiup_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptriv(R_ESP + 12)); }
+void vFiUU_32(x64emu_t *emu, uintptr_t fcn) { vFiUU_t fn = (vFiUU_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(uint64_t, R_ESP + 8), from_ptri(uint64_t, R_ESP + 16)); }
+void vFiff_32(x64emu_t *emu, uintptr_t fcn) { vFiff_t fn = (vFiff_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(float, R_ESP + 8), from_ptri(float, R_ESP + 12)); }
+void vFidd_32(x64emu_t *emu, uintptr_t fcn) { vFidd_t fn = (vFidd_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(double, R_ESP + 8), from_ptri(double, R_ESP + 16)); }
+void vFilu_32(x64emu_t *emu, uintptr_t fcn) { vFilu_t fn = (vFilu_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), to_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), to_long(from_ptri(long_t, R_ESP + 8)), to_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), to_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)); }
+void vFWWW_32(x64emu_t *emu, uintptr_t fcn) { vFWWW_t fn = (vFWWW_t)fcn; fn(from_ptri(uint16_t, R_ESP + 4), from_ptri(uint16_t, R_ESP + 8), from_ptri(uint16_t, R_ESP + 12)); }
+void vFucc_32(x64emu_t *emu, uintptr_t fcn) { vFucc_t fn = (vFucc_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int8_t, R_ESP + 8), from_ptri(int8_t, R_ESP + 12)); }
+void vFuww_32(x64emu_t *emu, uintptr_t fcn) { vFuww_t fn = (vFuww_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int16_t, R_ESP + 8), from_ptri(int16_t, R_ESP + 12)); }
+void vFuii_32(x64emu_t *emu, uintptr_t fcn) { vFuii_t fn = (vFuii_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12)); }
+void vFuiI_32(x64emu_t *emu, uintptr_t fcn) { vFuiI_t fn = (vFuiI_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int64_t, R_ESP + 12)); }
+void vFuiu_32(x64emu_t *emu, uintptr_t fcn) { vFuiu_t fn = (vFuiu_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12)); }
+void vFuiU_32(x64emu_t *emu, uintptr_t fcn) { vFuiU_t fn = (vFuiU_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(uint64_t, R_ESP + 12)); }
+void vFuif_32(x64emu_t *emu, uintptr_t fcn) { vFuif_t fn = (vFuif_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(float, R_ESP + 12)); }
+void vFuid_32(x64emu_t *emu, uintptr_t fcn) { vFuid_t fn = (vFuid_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(double, R_ESP + 12)); }
+void vFuip_32(x64emu_t *emu, uintptr_t fcn) { vFuip_t fn = (vFuip_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptriv(R_ESP + 12)); }
+void vFuII_32(x64emu_t *emu, uintptr_t fcn) { vFuII_t fn = (vFuII_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int64_t, R_ESP + 8), from_ptri(int64_t, R_ESP + 16)); }
+void vFuWW_32(x64emu_t *emu, uintptr_t fcn) { vFuWW_t fn = (vFuWW_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint16_t, R_ESP + 8), from_ptri(uint16_t, R_ESP + 12)); }
+void vFuui_32(x64emu_t *emu, uintptr_t fcn) { vFuui_t fn = (vFuui_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12)); }
+void vFuuC_32(x64emu_t *emu, uintptr_t fcn) { vFuuC_t fn = (vFuuC_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(uint8_t, R_ESP + 12)); }
+void vFuuu_32(x64emu_t *emu, uintptr_t fcn) { vFuuu_t fn = (vFuuu_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12)); }
+void vFuuU_32(x64emu_t *emu, uintptr_t fcn) { vFuuU_t fn = (vFuuU_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(uint64_t, R_ESP + 12)); }
+void vFuuf_32(x64emu_t *emu, uintptr_t fcn) { vFuuf_t fn = (vFuuf_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(float, R_ESP + 12)); }
+void vFuud_32(x64emu_t *emu, uintptr_t fcn) { vFuud_t fn = (vFuud_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(double, R_ESP + 12)); }
+void vFuup_32(x64emu_t *emu, uintptr_t fcn) { vFuup_t fn = (vFuup_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptriv(R_ESP + 12)); }
+void vFuUU_32(x64emu_t *emu, uintptr_t fcn) { vFuUU_t fn = (vFuUU_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint64_t, R_ESP + 8), from_ptri(uint64_t, R_ESP + 16)); }
+void vFuff_32(x64emu_t *emu, uintptr_t fcn) { vFuff_t fn = (vFuff_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(float, R_ESP + 8), from_ptri(float, R_ESP + 12)); }
+void vFudd_32(x64emu_t *emu, uintptr_t fcn) { vFudd_t fn = (vFudd_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(double, R_ESP + 8), from_ptri(double, R_ESP + 16)); }
+void vFull_32(x64emu_t *emu, uintptr_t fcn) { vFull_t fn = (vFull_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), to_long(from_ptri(long_t, R_ESP + 8)), to_long(from_ptri(long_t, R_ESP + 12))); }
+void vFulp_32(x64emu_t *emu, uintptr_t fcn) { vFulp_t fn = (vFulp_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), to_long(from_ptri(long_t, R_ESP + 8)), from_ptriv(R_ESP + 12)); }
+void vFupp_32(x64emu_t *emu, uintptr_t fcn) { vFupp_t fn = (vFupp_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12)); }
+void vFfff_32(x64emu_t *emu, uintptr_t fcn) { vFfff_t fn = (vFfff_t)fcn; fn(from_ptri(float, R_ESP + 4), from_ptri(float, R_ESP + 8), from_ptri(float, R_ESP + 12)); }
 void vFfpp_32(x64emu_t *emu, uintptr_t fcn) { vFfpp_t fn = (vFfpp_t)fcn; fn(from_ptri(float, R_ESP + 4), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12)); }
+void vFddd_32(x64emu_t *emu, uintptr_t fcn) { vFddd_t fn = (vFddd_t)fcn; fn(from_ptri(double, R_ESP + 4), from_ptri(double, R_ESP + 12), from_ptri(double, R_ESP + 20)); }
 void vFdpp_32(x64emu_t *emu, uintptr_t fcn) { vFdpp_t fn = (vFdpp_t)fcn; fn(from_ptri(double, R_ESP + 4), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16)); }
+void vFlii_32(x64emu_t *emu, uintptr_t fcn) { vFlii_t fn = (vFlii_t)fcn; fn(to_long(from_ptri(long_t, R_ESP + 4)), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12)); }
+void vFlip_32(x64emu_t *emu, uintptr_t fcn) { vFlip_t fn = (vFlip_t)fcn; fn(to_long(from_ptri(long_t, R_ESP + 4)), from_ptri(int32_t, R_ESP + 8), from_ptriv(R_ESP + 12)); }
+void vFllp_32(x64emu_t *emu, uintptr_t fcn) { vFllp_t fn = (vFllp_t)fcn; fn(to_long(from_ptri(long_t, R_ESP + 4)), to_long(from_ptri(long_t, R_ESP + 8)), from_ptriv(R_ESP + 12)); }
+void vFlpp_32(x64emu_t *emu, uintptr_t fcn) { vFlpp_t fn = (vFlpp_t)fcn; fn(to_long(from_ptri(long_t, R_ESP + 4)), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12)); }
+void vFpip_32(x64emu_t *emu, uintptr_t fcn) { vFpip_t fn = (vFpip_t)fcn; fn(from_ptriv(R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptriv(R_ESP + 12)); }
+void vFpuU_32(x64emu_t *emu, uintptr_t fcn) { vFpuU_t fn = (vFpuU_t)fcn; fn(from_ptriv(R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(uint64_t, R_ESP + 12)); }
+void vFplp_32(x64emu_t *emu, uintptr_t fcn) { vFplp_t fn = (vFplp_t)fcn; fn(from_ptriv(R_ESP + 4), to_long(from_ptri(long_t, R_ESP + 8)), from_ptriv(R_ESP + 12)); }
+void vFppi_32(x64emu_t *emu, uintptr_t fcn) { vFppi_t fn = (vFppi_t)fcn; fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(int32_t, R_ESP + 12)); }
 void vFppu_32(x64emu_t *emu, uintptr_t fcn) { vFppu_t fn = (vFppu_t)fcn; fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(uint32_t, R_ESP + 12)); }
+void vFppp_32(x64emu_t *emu, uintptr_t fcn) { vFppp_t fn = (vFppp_t)fcn; fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12)); }
 void iFEip_32(x64emu_t *emu, uintptr_t fcn) { iFEip_t fn = (iFEip_t)fcn; R_EAX = fn(emu, from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8)); }
 void iFEpi_32(x64emu_t *emu, uintptr_t fcn) { iFEpi_t fn = (iFEpi_t)fcn; R_EAX = fn(emu, from_ptriv(R_ESP + 4), from_ptri(int32_t, R_ESP + 8)); }
 void iFEpL_32(x64emu_t *emu, uintptr_t fcn) { iFEpL_t fn = (iFEpL_t)fcn; R_EAX = fn(emu, from_ptriv(R_ESP + 4), to_ulong(from_ptri(ulong_t, R_ESP + 8))); }
@@ -508,12 +1186,18 @@ void iFipu_32(x64emu_t *emu, uintptr_t fcn) { iFipu_t fn = (iFipu_t)fcn; R_EAX =
 void iFipL_32(x64emu_t *emu, uintptr_t fcn) { iFipL_t fn = (iFipL_t)fcn; R_EAX = fn(from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8), to_ulong(from_ptri(ulong_t, R_ESP + 12))); }
 void iFipp_32(x64emu_t *emu, uintptr_t fcn) { iFipp_t fn = (iFipp_t)fcn; R_EAX = fn(from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12)); }
 void iFuii_32(x64emu_t *emu, uintptr_t fcn) { iFuii_t fn = (iFuii_t)fcn; R_EAX = fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12)); }
+void iFuip_32(x64emu_t *emu, uintptr_t fcn) { iFuip_t fn = (iFuip_t)fcn; R_EAX = fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptriv(R_ESP + 12)); }
 void iFuui_32(x64emu_t *emu, uintptr_t fcn) { iFuui_t fn = (iFuui_t)fcn; R_EAX = fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12)); }
 void iFuuu_32(x64emu_t *emu, uintptr_t fcn) { iFuuu_t fn = (iFuuu_t)fcn; R_EAX = fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12)); }
+void iFuup_32(x64emu_t *emu, uintptr_t fcn) { iFuup_t fn = (iFuup_t)fcn; R_EAX = fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptriv(R_ESP + 12)); }
 void iFuLp_32(x64emu_t *emu, uintptr_t fcn) { iFuLp_t fn = (iFuLp_t)fcn; R_EAX = fn(from_ptri(uint32_t, R_ESP + 4), to_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptriv(R_ESP + 12)); }
+void iFfff_32(x64emu_t *emu, uintptr_t fcn) { iFfff_t fn = (iFfff_t)fcn; R_EAX = fn(from_ptri(float, R_ESP + 4), from_ptri(float, R_ESP + 8), from_ptri(float, R_ESP + 12)); }
 void iFpiu_32(x64emu_t *emu, uintptr_t fcn) { iFpiu_t fn = (iFpiu_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12)); }
 void iFpip_32(x64emu_t *emu, uintptr_t fcn) { iFpip_t fn = (iFpip_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptriv(R_ESP + 12)); }
+void iFpuC_32(x64emu_t *emu, uintptr_t fcn) { iFpuC_t fn = (iFpuC_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(uint8_t, R_ESP + 12)); }
 void iFpuu_32(x64emu_t *emu, uintptr_t fcn) { iFpuu_t fn = (iFpuu_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12)); }
+void iFpuU_32(x64emu_t *emu, uintptr_t fcn) { iFpuU_t fn = (iFpuU_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(uint64_t, R_ESP + 12)); }
+void iFpup_32(x64emu_t *emu, uintptr_t fcn) { iFpup_t fn = (iFpup_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptriv(R_ESP + 12)); }
 void iFpLi_32(x64emu_t *emu, uintptr_t fcn) { iFpLi_t fn = (iFpLi_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), to_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptri(int32_t, R_ESP + 12)); }
 void iFppi_32(x64emu_t *emu, uintptr_t fcn) { iFppi_t fn = (iFppi_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(int32_t, R_ESP + 12)); }
 void iFppu_32(x64emu_t *emu, uintptr_t fcn) { iFppu_t fn = (iFppu_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(uint32_t, R_ESP + 12)); }
@@ -527,6 +1211,17 @@ void iFhpp_32(x64emu_t *emu, uintptr_t fcn) { iFhpp_t fn = (iFhpp_t)fcn; R_EAX =
 void iFSIi_32(x64emu_t *emu, uintptr_t fcn) { iFSIi_t fn = (iFSIi_t)fcn; R_EAX = fn(io_convert32(from_ptriv(R_ESP + 4)), from_ptri(int64_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 16)); }
 void iFSli_32(x64emu_t *emu, uintptr_t fcn) { iFSli_t fn = (iFSli_t)fcn; R_EAX = fn(io_convert32(from_ptriv(R_ESP + 4)), to_long(from_ptri(long_t, R_ESP + 8)), from_ptri(int32_t, R_ESP + 12)); }
 void IFiIi_32(x64emu_t *emu, uintptr_t fcn) { IFiIi_t fn = (IFiIi_t)fcn; ui64_t r; r.i = fn(from_ptri(int32_t, 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 CFipp_32(x64emu_t *emu, uintptr_t fcn) { CFipp_t fn = (CFipp_t)fcn; R_EAX = (unsigned char)fn(from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12)); }
+void CFuUu_32(x64emu_t *emu, uintptr_t fcn) { CFuUu_t fn = (CFuUu_t)fcn; R_EAX = (unsigned char)fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint64_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 16)); }
+void CFuff_32(x64emu_t *emu, uintptr_t fcn) { CFuff_t fn = (CFuff_t)fcn; R_EAX = (unsigned char)fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(float, R_ESP + 8), from_ptri(float, R_ESP + 12)); }
+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), to_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)); }
+void uFpuU_32(x64emu_t *emu, uintptr_t fcn) { uFpuU_t fn = (uFpuU_t)fcn; R_EAX = (uint32_t)fn(from_ptriv(R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(uint64_t, R_ESP + 12)); }
+void fFuii_32(x64emu_t *emu, uintptr_t fcn) { fFuii_t fn = (fFuii_t)fcn; float fl = fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12)); fpu_do_push(emu); ST0val = fl; }
 void fFfff_32(x64emu_t *emu, uintptr_t fcn) { fFfff_t fn = (fFfff_t)fcn; float fl = fn(from_ptri(float, R_ESP + 4), from_ptri(float, R_ESP + 8), from_ptri(float, R_ESP + 12)); fpu_do_push(emu); ST0val = fl; }
 void fFffp_32(x64emu_t *emu, uintptr_t fcn) { fFffp_t fn = (fFffp_t)fcn; float fl = fn(from_ptri(float, R_ESP + 4), from_ptri(float, R_ESP + 8), from_ptriv(R_ESP + 12)); fpu_do_push(emu); ST0val = fl; }
 void fFppa_32(x64emu_t *emu, uintptr_t fcn) { fFppa_t fn = (fFppa_t)fcn; float fl = fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_locale(from_ptri(ptr_t, R_ESP + 12))); fpu_do_push(emu); ST0val = fl; }
@@ -540,11 +1235,16 @@ void pFEip_32(x64emu_t *emu, uintptr_t fcn) { pFEip_t fn = (pFEip_t)fcn; R_EAX =
 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))); }
 void pFEpp_32(x64emu_t *emu, uintptr_t fcn) { pFEpp_t fn = (pFEpp_t)fcn; R_EAX = to_ptrv(fn(emu, from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8))); }
 void pFipi_32(x64emu_t *emu, uintptr_t fcn) { pFipi_t fn = (pFipi_t)fcn; R_EAX = to_ptrv(fn(from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(int32_t, R_ESP + 12))); }
+void pFulu_32(x64emu_t *emu, uintptr_t fcn) { pFulu_t fn = (pFulu_t)fcn; R_EAX = to_ptrv(fn(from_ptri(uint32_t, R_ESP + 4), to_long(from_ptri(long_t, R_ESP + 8)), from_ptri(uint32_t, R_ESP + 12))); }
 void pFpii_32(x64emu_t *emu, uintptr_t fcn) { pFpii_t fn = (pFpii_t)fcn; R_EAX = to_ptrv(fn(from_ptriv(R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12))); }
 void pFpiL_32(x64emu_t *emu, uintptr_t fcn) { pFpiL_t fn = (pFpiL_t)fcn; R_EAX = to_ptrv(fn(from_ptriv(R_ESP + 4), from_ptri(int32_t, R_ESP + 8), to_ulong(from_ptri(ulong_t, R_ESP + 12)))); }
+void pFpip_32(x64emu_t *emu, uintptr_t fcn) { pFpip_t fn = (pFpip_t)fcn; R_EAX = to_ptrv(fn(from_ptriv(R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptriv(R_ESP + 12))); }
 void pFpiS_32(x64emu_t *emu, uintptr_t fcn) { pFpiS_t fn = (pFpiS_t)fcn; R_EAX = to_ptrv(fn(from_ptriv(R_ESP + 4), from_ptri(int32_t, R_ESP + 8), io_convert32(from_ptriv(R_ESP + 12)))); }
 void pFpuL_32(x64emu_t *emu, uintptr_t fcn) { pFpuL_t fn = (pFpuL_t)fcn; R_EAX = to_ptrv(fn(from_ptriv(R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), to_ulong(from_ptri(ulong_t, R_ESP + 12)))); }
+void pFpup_32(x64emu_t *emu, uintptr_t fcn) { pFpup_t fn = (pFpup_t)fcn; R_EAX = to_ptrv(fn(from_ptriv(R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptriv(R_ESP + 12))); }
+void pFppu_32(x64emu_t *emu, uintptr_t fcn) { pFppu_t fn = (pFppu_t)fcn; R_EAX = to_ptrv(fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(uint32_t, R_ESP + 12))); }
 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), to_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 aFipa_32(x64emu_t *emu, uintptr_t fcn) { aFipa_t fn = (aFipa_t)fcn; R_EAX = to_locale(fn(from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_locale(from_ptri(ptr_t, R_ESP + 12)))); }
 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)))); }
@@ -559,10 +1259,87 @@ void dFpBp_a_32(x64emu_t *emu, uintptr_t fcn) { dFpBp_a_t fn = (dFpBp_a_t)fcn; s
 void lFpBp_i_32(x64emu_t *emu, uintptr_t fcn) { lFpBp_i_t fn = (lFpBp_i_t)fcn; struct_p_t arg_8; R_EAX = to_long(fn(from_ptriv(R_ESP + 4), *(ptr_t*)(from_ptr((R_ESP + 8))) ? &arg_8 : NULL, from_ptri(int32_t, R_ESP + 12))); if (*(ptr_t*)(from_ptr((R_ESP + 8)))) to_struct_p(*(ptr_t*)(from_ptr((R_ESP + 8))), &arg_8); }
 void LFpBp_i_32(x64emu_t *emu, uintptr_t fcn) { LFpBp_i_t fn = (LFpBp_i_t)fcn; struct_p_t arg_8; R_EAX = to_ulong(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 pFppriiiiiiiiilt__32(x64emu_t *emu, uintptr_t fcn) { pFppriiiiiiiiilt__t fn = (pFppriiiiiiiiilt__t)fcn; struct_iiiiiiiiilt_t arg_12; from_struct_iiiiiiiiilt(&arg_12, *(ptr_t*)(from_ptr((R_ESP + 12)))); R_EAX = to_ptrv(fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), *(ptr_t*)(from_ptr((R_ESP + 12))) ? &arg_12 : NULL)); }
+void vFEipp_32(x64emu_t *emu, uintptr_t fcn) { vFEipp_t fn = (vFEipp_t)fcn; fn(emu, from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12)); }
 void vFEipV_32(x64emu_t *emu, uintptr_t fcn) { vFEipV_t fn = (vFEipV_t)fcn; fn(emu, from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_ptrv(R_ESP + 12)); }
 void vFEpup_32(x64emu_t *emu, uintptr_t fcn) { vFEpup_t fn = (vFEpup_t)fcn; fn(emu, from_ptriv(R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptriv(R_ESP + 12)); }
 void vFEppp_32(x64emu_t *emu, uintptr_t fcn) { vFEppp_t fn = (vFEppp_t)fcn; fn(emu, from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12)); }
+void vFcccc_32(x64emu_t *emu, uintptr_t fcn) { vFcccc_t fn = (vFcccc_t)fcn; fn(from_ptri(int8_t, R_ESP + 4), from_ptri(int8_t, R_ESP + 8), from_ptri(int8_t, R_ESP + 12), from_ptri(int8_t, R_ESP + 16)); }
+void vFwwww_32(x64emu_t *emu, uintptr_t fcn) { vFwwww_t fn = (vFwwww_t)fcn; fn(from_ptri(int16_t, R_ESP + 4), from_ptri(int16_t, R_ESP + 8), from_ptri(int16_t, R_ESP + 12), from_ptri(int16_t, R_ESP + 16)); }
+void vFiiii_32(x64emu_t *emu, uintptr_t fcn) { vFiiii_t fn = (vFiiii_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)); }
+void vFiiip_32(x64emu_t *emu, uintptr_t fcn) { vFiiip_t fn = (vFiiip_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_ptriv(R_ESP + 16)); }
+void vFiiCp_32(x64emu_t *emu, uintptr_t fcn) { vFiiCp_t fn = (vFiiCp_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(uint8_t, R_ESP + 12), from_ptriv(R_ESP + 16)); }
+void vFiill_32(x64emu_t *emu, uintptr_t fcn) { vFiill_t fn = (vFiill_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), to_long(from_ptri(long_t, R_ESP + 12)), to_long(from_ptri(long_t, R_ESP + 16))); }
+void vFiIII_32(x64emu_t *emu, uintptr_t fcn) { vFiIII_t fn = (vFiIII_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)); }
+void vFiuip_32(x64emu_t *emu, uintptr_t fcn) { vFiuip_t fn = (vFiuip_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)); }
+void vFiuuu_32(x64emu_t *emu, uintptr_t fcn) { vFiuuu_t fn = (vFiuuu_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)); }
+void vFiulp_32(x64emu_t *emu, uintptr_t fcn) { vFiulp_t fn = (vFiulp_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), to_long(from_ptri(long_t, R_ESP + 12)), from_ptriv(R_ESP + 16)); }
+void vFiUUU_32(x64emu_t *emu, uintptr_t fcn) { vFiUUU_t fn = (vFiUUU_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)); }
+void vFifff_32(x64emu_t *emu, uintptr_t fcn) { vFifff_t fn = (vFifff_t)fcn; 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 vFiddd_32(x64emu_t *emu, uintptr_t fcn) { vFiddd_t fn = (vFiddd_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(double, R_ESP + 8), from_ptri(double, R_ESP + 16), from_ptri(double, R_ESP + 24)); }
+void vFilip_32(x64emu_t *emu, uintptr_t fcn) { vFilip_t fn = (vFilip_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), to_long(from_ptri(long_t, R_ESP + 8)), from_ptri(int32_t, R_ESP + 12), from_ptriv(R_ESP + 16)); }
+void vFilpu_32(x64emu_t *emu, uintptr_t fcn) { vFilpu_t fn = (vFilpu_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), to_long(from_ptri(long_t, R_ESP + 8)), from_ptriv(R_ESP + 12), from_ptri(uint32_t, R_ESP + 16)); }
+void vFilpp_32(x64emu_t *emu, uintptr_t fcn) { vFilpp_t fn = (vFilpp_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), to_long(from_ptri(long_t, R_ESP + 8)), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16)); }
+void vFipup_32(x64emu_t *emu, uintptr_t fcn) { vFipup_t fn = (vFipup_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptriv(R_ESP + 16)); }
+void vFipll_32(x64emu_t *emu, uintptr_t fcn) { vFipll_t fn = (vFipll_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8), to_long(from_ptri(long_t, R_ESP + 12)), to_long(from_ptri(long_t, R_ESP + 16))); }
+void vFCCCC_32(x64emu_t *emu, uintptr_t fcn) { vFCCCC_t fn = (vFCCCC_t)fcn; fn(from_ptri(uint8_t, R_ESP + 4), from_ptri(uint8_t, R_ESP + 8), from_ptri(uint8_t, R_ESP + 12), from_ptri(uint8_t, R_ESP + 16)); }
+void vFWWWW_32(x64emu_t *emu, uintptr_t fcn) { vFWWWW_t fn = (vFWWWW_t)fcn; fn(from_ptri(uint16_t, R_ESP + 4), from_ptri(uint16_t, R_ESP + 8), from_ptri(uint16_t, R_ESP + 12), from_ptri(uint16_t, R_ESP + 16)); }
+void vFuccc_32(x64emu_t *emu, uintptr_t fcn) { vFuccc_t fn = (vFuccc_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int8_t, R_ESP + 8), from_ptri(int8_t, R_ESP + 12), from_ptri(int8_t, R_ESP + 16)); }
+void vFuwww_32(x64emu_t *emu, uintptr_t fcn) { vFuwww_t fn = (vFuwww_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int16_t, R_ESP + 8), from_ptri(int16_t, R_ESP + 12), from_ptri(int16_t, 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(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16)); }
+void vFuiip_32(x64emu_t *emu, uintptr_t fcn) { vFuiip_t fn = (vFuiip_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_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(int32_t, R_ESP + 8), from_ptri(int64_t, R_ESP + 12), from_ptri(int64_t, R_ESP + 20)); }
+void vFuiui_32(x64emu_t *emu, uintptr_t fcn) { vFuiui_t fn = (vFuiui_t)fcn; fn(from_ptri(uint32_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)); }
+void vFuiuC_32(x64emu_t *emu, uintptr_t fcn) { vFuiuC_t fn = (vFuiuC_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptri(uint8_t, R_ESP + 16)); }
+void vFuiuu_32(x64emu_t *emu, uintptr_t fcn) { vFuiuu_t fn = (vFuiuu_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptri(uint32_t, R_ESP + 16)); }
+void vFuiup_32(x64emu_t *emu, uintptr_t fcn) { vFuiup_t fn = (vFuiup_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptriv(R_ESP + 16)); }
+void vFuiUU_32(x64emu_t *emu, uintptr_t fcn) { vFuiUU_t fn = (vFuiUU_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(uint64_t, R_ESP + 12), from_ptri(uint64_t, R_ESP + 20)); }
+void vFuifi_32(x64emu_t *emu, uintptr_t fcn) { vFuifi_t fn = (vFuifi_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(int32_t, R_ESP + 16)); }
+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), to_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)); }
+void vFuWWW_32(x64emu_t *emu, uintptr_t fcn) { vFuWWW_t fn = (vFuWWW_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint16_t, R_ESP + 8), from_ptri(uint16_t, R_ESP + 12), from_ptri(uint16_t, R_ESP + 16)); }
+void vFuuii_32(x64emu_t *emu, uintptr_t fcn) { vFuuii_t fn = (vFuuii_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(int32_t, R_ESP + 16)); }
+void vFuuiu_32(x64emu_t *emu, uintptr_t fcn) { vFuuiu_t fn = (vFuuiu_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)); }
+void vFuuil_32(x64emu_t *emu, uintptr_t fcn) { vFuuil_t fn = (vFuuil_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), to_long(from_ptri(long_t, R_ESP + 16))); }
+void vFuuip_32(x64emu_t *emu, uintptr_t fcn) { vFuuip_t fn = (vFuuip_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)); }
+void vFuuCu_32(x64emu_t *emu, uintptr_t fcn) { vFuuCu_t fn = (vFuuCu_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(uint8_t, R_ESP + 12), from_ptri(uint32_t, R_ESP + 16)); }
+void vFuuCp_32(x64emu_t *emu, uintptr_t fcn) { vFuuCp_t fn = (vFuuCp_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(uint8_t, R_ESP + 12), from_ptriv(R_ESP + 16)); }
+void vFuuui_32(x64emu_t *emu, uintptr_t fcn) { vFuuui_t fn = (vFuuui_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)); }
+void vFuuuu_32(x64emu_t *emu, uintptr_t fcn) { vFuuuu_t fn = (vFuuuu_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptri(uint32_t, R_ESP + 16)); }
+void vFuuuf_32(x64emu_t *emu, uintptr_t fcn) { vFuuuf_t fn = (vFuuuf_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(float, R_ESP + 16)); }
+void vFuuud_32(x64emu_t *emu, uintptr_t fcn) { vFuuud_t fn = (vFuuud_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(double, R_ESP + 16)); }
+void vFuuul_32(x64emu_t *emu, uintptr_t fcn) { vFuuul_t fn = (vFuuul_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), to_long(from_ptri(long_t, R_ESP + 16))); }
+void vFuuup_32(x64emu_t *emu, uintptr_t fcn) { vFuuup_t fn = (vFuuup_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_ptriv(R_ESP + 16)); }
+void vFuuUl_32(x64emu_t *emu, uintptr_t fcn) { vFuuUl_t fn = (vFuuUl_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(uint64_t, R_ESP + 12), to_long(from_ptri(long_t, R_ESP + 20))); }
+void vFuuff_32(x64emu_t *emu, uintptr_t fcn) { vFuuff_t fn = (vFuuff_t)fcn; 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 vFuuli_32(x64emu_t *emu, uintptr_t fcn) { vFuuli_t fn = (vFuuli_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), to_long(from_ptri(long_t, R_ESP + 12)), from_ptri(int32_t, R_ESP + 16)); }
+void vFuupi_32(x64emu_t *emu, uintptr_t fcn) { vFuupi_t fn = (vFuupi_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)); }
+void vFuupp_32(x64emu_t *emu, uintptr_t fcn) { vFuupp_t fn = (vFuupp_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)); }
+void vFuUui_32(x64emu_t *emu, uintptr_t fcn) { vFuUui_t fn = (vFuUui_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint64_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20)); }
+void vFuUup_32(x64emu_t *emu, uintptr_t fcn) { vFuUup_t fn = (vFuUup_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint64_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 16), from_ptriv(R_ESP + 20)); }
+void vFuUUU_32(x64emu_t *emu, uintptr_t fcn) { vFuUUU_t fn = (vFuUUU_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)); }
+void vFufff_32(x64emu_t *emu, uintptr_t fcn) { vFufff_t fn = (vFufff_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)); }
+void vFuddd_32(x64emu_t *emu, uintptr_t fcn) { vFuddd_t fn = (vFuddd_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)); }
+void vFuluU_32(x64emu_t *emu, uintptr_t fcn) { vFuluU_t fn = (vFuluU_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), to_long(from_ptri(long_t, R_ESP + 8)), from_ptri(uint32_t, R_ESP + 12), from_ptri(uint64_t, R_ESP + 16)); }
+void vFullC_32(x64emu_t *emu, uintptr_t fcn) { vFullC_t fn = (vFullC_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), to_long(from_ptri(long_t, R_ESP + 8)), to_long(from_ptri(long_t, R_ESP + 12)), from_ptri(uint8_t, R_ESP + 16)); }
+void vFullp_32(x64emu_t *emu, uintptr_t fcn) { vFullp_t fn = (vFullp_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), to_long(from_ptri(long_t, R_ESP + 8)), to_long(from_ptri(long_t, R_ESP + 12)), from_ptriv(R_ESP + 16)); }
+void vFulpu_32(x64emu_t *emu, uintptr_t fcn) { vFulpu_t fn = (vFulpu_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), to_long(from_ptri(long_t, R_ESP + 8)), from_ptriv(R_ESP + 12), from_ptri(uint32_t, R_ESP + 16)); }
+void vFulpp_32(x64emu_t *emu, uintptr_t fcn) { vFulpp_t fn = (vFulpp_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), to_long(from_ptri(long_t, R_ESP + 8)), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16)); }
+void vFupii_32(x64emu_t *emu, uintptr_t fcn) { vFupii_t fn = (vFupii_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)); }
+void vFuppi_32(x64emu_t *emu, uintptr_t fcn) { vFuppi_t fn = (vFuppi_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)); }
+void vFuppu_32(x64emu_t *emu, uintptr_t fcn) { vFuppu_t fn = (vFuppu_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12), from_ptri(uint32_t, R_ESP + 16)); }
+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(to_long(from_ptri(long_t, R_ESP + 4)), to_long(from_ptri(long_t, R_ESP + 8)), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16)); }
+void vFpiii_32(x64emu_t *emu, uintptr_t fcn) { vFpiii_t fn = (vFpiii_t)fcn; 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 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)); }
+void vFplpp_32(x64emu_t *emu, uintptr_t fcn) { vFplpp_t fn = (vFplpp_t)fcn; fn(from_ptriv(R_ESP + 4), to_long(from_ptri(long_t, R_ESP + 8)), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16)); }
 void vFppip_32(x64emu_t *emu, uintptr_t fcn) { vFppip_t fn = (vFppip_t)fcn; fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptriv(R_ESP + 16)); }
+void vFpppp_32(x64emu_t *emu, uintptr_t fcn) { vFpppp_t fn = (vFpppp_t)fcn; fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12), from_ptriv(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)); }
 void iFEipp_32(x64emu_t *emu, uintptr_t fcn) { iFEipp_t fn = (iFEipp_t)fcn; R_EAX = fn(emu, from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12)); }
@@ -584,18 +1361,39 @@ void iFiuui_32(x64emu_t *emu, uintptr_t fcn) { iFiuui_t fn = (iFiuui_t)fcn; R_EA
 void iFipii_32(x64emu_t *emu, uintptr_t fcn) { iFipii_t fn = (iFipii_t)fcn; R_EAX = fn(from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16)); }
 void iFipup_32(x64emu_t *emu, uintptr_t fcn) { iFipup_t fn = (iFipup_t)fcn; R_EAX = fn(from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptriv(R_ESP + 16)); }
 void iFippi_32(x64emu_t *emu, uintptr_t fcn) { iFippi_t fn = (iFippi_t)fcn; R_EAX = fn(from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12), from_ptri(int32_t, R_ESP + 16)); }
+void iFuiup_32(x64emu_t *emu, uintptr_t fcn) { iFuiup_t fn = (iFuiup_t)fcn; R_EAX = fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptriv(R_ESP + 16)); }
 void iFuupi_32(x64emu_t *emu, uintptr_t fcn) { iFuupi_t fn = (iFuupi_t)fcn; R_EAX = 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)); }
+void iFpiip_32(x64emu_t *emu, uintptr_t fcn) { iFpiip_t fn = (iFpiip_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptriv(R_ESP + 16)); }
+void iFpipp_32(x64emu_t *emu, uintptr_t fcn) { iFpipp_t fn = (iFpipp_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16)); }
+void iFpuup_32(x64emu_t *emu, uintptr_t fcn) { iFpuup_t fn = (iFpuup_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptriv(R_ESP + 16)); }
+void iFpupp_32(x64emu_t *emu, uintptr_t fcn) { iFpupp_t fn = (iFpupp_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16)); }
+void iFppii_32(x64emu_t *emu, uintptr_t fcn) { iFppii_t fn = (iFppii_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16)); }
+void iFppiU_32(x64emu_t *emu, uintptr_t fcn) { iFppiU_t fn = (iFppiU_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(uint64_t, R_ESP + 16)); }
+void iFppip_32(x64emu_t *emu, uintptr_t fcn) { iFppip_t fn = (iFppip_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptriv(R_ESP + 16)); }
+void iFpppi_32(x64emu_t *emu, uintptr_t fcn) { iFpppi_t fn = (iFpppi_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12), from_ptri(int32_t, R_ESP + 16)); }
+void iFpppp_32(x64emu_t *emu, uintptr_t fcn) { iFpppp_t fn = (iFpppp_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16)); }
 void iFhpiL_32(x64emu_t *emu, uintptr_t fcn) { iFhpiL_t fn = (iFhpiL_t)fcn; R_EAX = fn(from_hash(from_ptri(ptr_t, R_ESP + 4)), from_ptriv(R_ESP + 8), from_ptri(int32_t, R_ESP + 12), to_ulong(from_ptri(ulong_t, R_ESP + 16))); }
+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 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 lFEipi_32(x64emu_t *emu, uintptr_t fcn) { lFEipi_t fn = (lFEipi_t)fcn; R_EAX = to_long(fn(emu, from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(int32_t, R_ESP + 12))); }
 void lFiipL_32(x64emu_t *emu, uintptr_t fcn) { lFiipL_t fn = (lFiipL_t)fcn; R_EAX = to_long(fn(from_ptri(int32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptriv(R_ESP + 12), to_ulong(from_ptri(ulong_t, R_ESP + 16)))); }
 void lFipLi_32(x64emu_t *emu, uintptr_t fcn) { lFipLi_t fn = (lFipLi_t)fcn; R_EAX = to_long(fn(from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8), to_ulong(from_ptri(ulong_t, R_ESP + 12)), from_ptri(int32_t, R_ESP + 16))); }
+void lFpuip_32(x64emu_t *emu, uintptr_t fcn) { lFpuip_t fn = (lFpuip_t)fcn; R_EAX = to_long(fn(from_ptriv(R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptriv(R_ESP + 16))); }
 void LFpLLS_32(x64emu_t *emu, uintptr_t fcn) { LFpLLS_t fn = (LFpLLS_t)fcn; R_EAX = to_ulong(fn(from_ptriv(R_ESP + 4), to_ulong(from_ptri(ulong_t, R_ESP + 8)), to_ulong(from_ptri(ulong_t, R_ESP + 12)), io_convert32(from_ptriv(R_ESP + 16)))); }
 void LFppLp_32(x64emu_t *emu, uintptr_t fcn) { LFppLp_t fn = (LFppLp_t)fcn; R_EAX = to_ulong(fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), to_ulong(from_ptri(ulong_t, R_ESP + 12)), from_ptriv(R_ESP + 16))); }
 void LFppLa_32(x64emu_t *emu, uintptr_t fcn) { LFppLa_t fn = (LFppLa_t)fcn; R_EAX = to_ulong(fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), to_ulong(from_ptri(ulong_t, R_ESP + 12)), from_locale(from_ptri(ptr_t, R_ESP + 16)))); }
 void 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))); }
 void pFEppp_32(x64emu_t *emu, uintptr_t fcn) { pFEppp_t fn = (pFEppp_t)fcn; R_EAX = to_ptrv(fn(emu, 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 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), to_long(from_ptri(long_t, R_ESP + 8)), to_long(from_ptri(long_t, 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), to_long(from_ptri(long_t, R_ESP + 8)), to_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(to_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 pFpiii_32(x64emu_t *emu, uintptr_t fcn) { pFpiii_t fn = (pFpiii_t)fcn; R_EAX = to_ptrv(fn(from_ptriv(R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, 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), to_ulong(from_ptri(ulong_t, R_ESP + 12)), to_ulong(from_ptri(ulong_t, R_ESP + 16)))); }
+void pFpipp_32(x64emu_t *emu, uintptr_t fcn) { pFpipp_t fn = (pFpipp_t)fcn; R_EAX = to_ptrv(fn(from_ptriv(R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16))); }
 void pFppLL_32(x64emu_t *emu, uintptr_t fcn) { pFppLL_t fn = (pFppLL_t)fcn; R_EAX = to_ptrv(fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), to_ulong(from_ptri(ulong_t, R_ESP + 12)), to_ulong(from_ptri(ulong_t, R_ESP + 16)))); }
+void pFpppi_32(x64emu_t *emu, uintptr_t fcn) { pFpppi_t fn = (pFpppi_t)fcn; R_EAX = to_ptrv(fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12), from_ptri(int32_t, R_ESP + 16))); }
+void pFpppp_32(x64emu_t *emu, uintptr_t fcn) { pFpppp_t fn = (pFpppp_t)fcn; R_EAX = to_ptrv(fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16))); }
 void IFpBp_ii_32(x64emu_t *emu, uintptr_t fcn) { IFpBp_ii_t fn = (IFpBp_ii_t)fcn; struct_p_t arg_8; ui64_t r; r.i = fn(from_ptriv(R_ESP + 4), *(ptr_t*)(from_ptr((R_ESP + 8))) ? &arg_8 : NULL, from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16)); R_EAX = r.d[0]; R_EDX = r.d[1]; if (*(ptr_t*)(from_ptr((R_ESP + 8)))) to_struct_p(*(ptr_t*)(from_ptr((R_ESP + 8))), &arg_8); }
 void UFpBp_ii_32(x64emu_t *emu, uintptr_t fcn) { UFpBp_ii_t fn = (UFpBp_ii_t)fcn; struct_p_t arg_8; ui64_t r; r.u = (uint64_t)fn(from_ptriv(R_ESP + 4), *(ptr_t*)(from_ptr((R_ESP + 8))) ? &arg_8 : NULL, from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16)); R_EAX = r.d[0]; R_EDX = r.d[1]; if (*(ptr_t*)(from_ptr((R_ESP + 8)))) to_struct_p(*(ptr_t*)(from_ptr((R_ESP + 8))), &arg_8); }
 void lFiibp_L_32(x64emu_t *emu, uintptr_t fcn) { lFiibp_L_t fn = (lFiibp_L_t)fcn; struct_p_t arg_12; from_struct_p(&arg_12, *(ptr_t*)(from_ptr((R_ESP + 12)))); R_EAX = to_long(fn(from_ptri(int32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), *(ptr_t*)(from_ptr((R_ESP + 12))) ? &arg_12 : NULL, to_ulong(from_ptri(ulong_t, R_ESP + 16)))); if (*(ptr_t*)(from_ptr((R_ESP + 12)))) to_struct_p(*(ptr_t*)(from_ptr((R_ESP + 12))), &arg_12); }
@@ -603,6 +1401,92 @@ void LFpbp_Lp_32(x64emu_t *emu, uintptr_t fcn) { LFpbp_Lp_t fn = (LFpbp_Lp_t)fcn
 void iFEpprLL__32(x64emu_t *emu, uintptr_t fcn) { iFEpprLL__t fn = (iFEpprLL__t)fcn; struct_LL_t arg_12; from_struct_LL(&arg_12, *(ptr_t*)(from_ptr((R_ESP + 12)))); R_EAX = fn(emu, from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), *(ptr_t*)(from_ptr((R_ESP + 12))) ? &arg_12 : NULL); }
 void LFpLpriiiiiiiiilt__32(x64emu_t *emu, uintptr_t fcn) { LFpLpriiiiiiiiilt__t fn = (LFpLpriiiiiiiiilt__t)fcn; struct_iiiiiiiiilt_t arg_16; from_struct_iiiiiiiiilt(&arg_16, *(ptr_t*)(from_ptr((R_ESP + 16)))); R_EAX = to_ulong(fn(from_ptriv(R_ESP + 4), to_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptriv(R_ESP + 12), *(ptr_t*)(from_ptr((R_ESP + 16))) ? &arg_16 : NULL)); }
 void vFEpLLp_32(x64emu_t *emu, uintptr_t fcn) { vFEpLLp_t fn = (vFEpLLp_t)fcn; fn(emu, from_ptriv(R_ESP + 4), to_ulong(from_ptri(ulong_t, R_ESP + 8)), to_ulong(from_ptri(ulong_t, R_ESP + 12)), from_ptriv(R_ESP + 16)); }
+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(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)); }
+void vFiiiiu_32(x64emu_t *emu, uintptr_t fcn) { vFiiiiu_t fn = (vFiiiiu_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)); }
+void vFiiuii_32(x64emu_t *emu, uintptr_t fcn) { vFiiuii_t fn = (vFiiuii_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_ptri(int32_t, R_ESP + 20)); }
+void vFiiuup_32(x64emu_t *emu, uintptr_t fcn) { vFiiuup_t fn = (vFiiuup_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(uint32_t, R_ESP + 16), from_ptriv(R_ESP + 20)); }
+void vFiillu_32(x64emu_t *emu, uintptr_t fcn) { vFiillu_t fn = (vFiillu_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), to_long(from_ptri(long_t, R_ESP + 12)), to_long(from_ptri(long_t, R_ESP + 16)), from_ptri(uint32_t, R_ESP + 20)); }
+void vFiilll_32(x64emu_t *emu, uintptr_t fcn) { vFiilll_t fn = (vFiilll_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), to_long(from_ptri(long_t, R_ESP + 12)), to_long(from_ptri(long_t, R_ESP + 16)), to_long(from_ptri(long_t, R_ESP + 20))); }
+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), to_long(from_ptri(long_t, R_ESP + 16)), to_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), to_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)); }
+void vFiffff_32(x64emu_t *emu, uintptr_t fcn) { vFiffff_t fn = (vFiffff_t)fcn; 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), from_ptri(float, R_ESP + 20)); }
+void vFidddd_32(x64emu_t *emu, uintptr_t fcn) { vFidddd_t fn = (vFidddd_t)fcn; fn(from_ptri(int32_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 vFilill_32(x64emu_t *emu, uintptr_t fcn) { vFilill_t fn = (vFilill_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), to_long(from_ptri(long_t, R_ESP + 8)), from_ptri(int32_t, R_ESP + 12), to_long(from_ptri(long_t, R_ESP + 16)), to_long(from_ptri(long_t, R_ESP + 20))); }
+void vFilipi_32(x64emu_t *emu, uintptr_t fcn) { vFilipi_t fn = (vFilipi_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), to_long(from_ptri(long_t, R_ESP + 8)), from_ptri(int32_t, R_ESP + 12), from_ptriv(R_ESP + 16), from_ptri(int32_t, R_ESP + 20)); }
+void vFilipl_32(x64emu_t *emu, uintptr_t fcn) { vFilipl_t fn = (vFilipl_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), to_long(from_ptri(long_t, R_ESP + 8)), from_ptri(int32_t, R_ESP + 12), from_ptriv(R_ESP + 16), to_long(from_ptri(long_t, R_ESP + 20))); }
+void vFipipu_32(x64emu_t *emu, uintptr_t fcn) { vFipipu_t fn = (vFipipu_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptriv(R_ESP + 16), from_ptri(uint32_t, R_ESP + 20)); }
+void vFipipp_32(x64emu_t *emu, uintptr_t fcn) { vFipipp_t fn = (vFipipp_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptriv(R_ESP + 16), from_ptriv(R_ESP + 20)); }
+void vFipupi_32(x64emu_t *emu, uintptr_t fcn) { vFipupi_t fn = (vFipupi_t)fcn; fn(from_ptri(int32_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 vFucccc_32(x64emu_t *emu, uintptr_t fcn) { vFucccc_t fn = (vFucccc_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int8_t, R_ESP + 8), from_ptri(int8_t, R_ESP + 12), from_ptri(int8_t, R_ESP + 16), from_ptri(int8_t, R_ESP + 20)); }
+void vFuwwww_32(x64emu_t *emu, uintptr_t fcn) { vFuwwww_t fn = (vFuwwww_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int16_t, R_ESP + 8), from_ptri(int16_t, R_ESP + 12), from_ptri(int16_t, R_ESP + 16), from_ptri(int16_t, R_ESP + 20)); }
+void vFuiiii_32(x64emu_t *emu, uintptr_t fcn) { vFuiiii_t fn = (vFuiiii_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20)); }
+void vFuiiiu_32(x64emu_t *emu, uintptr_t fcn) { vFuiiiu_t fn = (vFuiiiu_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(uint32_t, R_ESP + 20)); }
+void vFuiiip_32(x64emu_t *emu, uintptr_t fcn) { vFuiiip_t fn = (vFuiiip_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptriv(R_ESP + 20)); }
+void vFuiiCp_32(x64emu_t *emu, uintptr_t fcn) { vFuiiCp_t fn = (vFuiiCp_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(uint8_t, R_ESP + 16), from_ptriv(R_ESP + 20)); }
+void vFuiiup_32(x64emu_t *emu, uintptr_t fcn) { vFuiiup_t fn = (vFuiiup_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(uint32_t, R_ESP + 16), from_ptriv(R_ESP + 20)); }
+void vFuiill_32(x64emu_t *emu, uintptr_t fcn) { vFuiill_t fn = (vFuiill_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), to_long(from_ptri(long_t, R_ESP + 16)), to_long(from_ptri(long_t, R_ESP + 20))); }
+void vFuiIII_32(x64emu_t *emu, uintptr_t fcn) { vFuiIII_t fn = (vFuiIII_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int64_t, R_ESP + 12), from_ptri(int64_t, R_ESP + 20), from_ptri(int64_t, R_ESP + 28)); }
+void vFuiuii_32(x64emu_t *emu, uintptr_t fcn) { vFuiuii_t fn = (vFuiuii_t)fcn; fn(from_ptri(uint32_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_ptri(int32_t, R_ESP + 20)); }
+void vFuiuip_32(x64emu_t *emu, uintptr_t fcn) { vFuiuip_t fn = (vFuiuip_t)fcn; fn(from_ptri(uint32_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_ptriv(R_ESP + 20)); }
+void vFuiuCi_32(x64emu_t *emu, uintptr_t fcn) { vFuiuCi_t fn = (vFuiuCi_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptri(uint8_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20)); }
+void vFuiuCu_32(x64emu_t *emu, uintptr_t fcn) { vFuiuCu_t fn = (vFuiuCu_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptri(uint8_t, R_ESP + 16), from_ptri(uint32_t, R_ESP + 20)); }
+void vFuiuuu_32(x64emu_t *emu, uintptr_t fcn) { vFuiuuu_t fn = (vFuiuuu_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_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 vFuiuup_32(x64emu_t *emu, uintptr_t fcn) { vFuiuup_t fn = (vFuiuup_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptri(uint32_t, R_ESP + 16), from_ptriv(R_ESP + 20)); }
+void vFuiupi_32(x64emu_t *emu, uintptr_t fcn) { vFuiupi_t fn = (vFuiupi_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptriv(R_ESP + 16), from_ptri(int32_t, R_ESP + 20)); }
+void vFuiUUU_32(x64emu_t *emu, uintptr_t fcn) { vFuiUUU_t fn = (vFuiUUU_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(uint64_t, R_ESP + 12), from_ptri(uint64_t, R_ESP + 20), from_ptri(uint64_t, R_ESP + 28)); }
+void vFuifff_32(x64emu_t *emu, uintptr_t fcn) { vFuifff_t fn = (vFuifff_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), from_ptri(float, R_ESP + 20)); }
+void vFuiddd_32(x64emu_t *emu, uintptr_t fcn) { vFuiddd_t fn = (vFuiddd_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), from_ptri(double, R_ESP + 28)); }
+void vFuipip_32(x64emu_t *emu, uintptr_t fcn) { vFuipip_t fn = (vFuipip_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), from_ptriv(R_ESP + 20)); }
+void vFuipup_32(x64emu_t *emu, uintptr_t fcn) { vFuipup_t fn = (vFuipup_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), from_ptriv(R_ESP + 20)); }
+void vFuippp_32(x64emu_t *emu, uintptr_t fcn) { vFuippp_t fn = (vFuippp_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), from_ptriv(R_ESP + 20)); }
+void vFuIIII_32(x64emu_t *emu, uintptr_t fcn) { vFuIIII_t fn = (vFuIIII_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), from_ptri(int64_t, R_ESP + 32)); }
+void vFuCCCC_32(x64emu_t *emu, uintptr_t fcn) { vFuCCCC_t fn = (vFuCCCC_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint8_t, R_ESP + 8), from_ptri(uint8_t, R_ESP + 12), from_ptri(uint8_t, R_ESP + 16), from_ptri(uint8_t, R_ESP + 20)); }
+void vFuCuip_32(x64emu_t *emu, uintptr_t fcn) { vFuCuip_t fn = (vFuCuip_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint8_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptriv(R_ESP + 20)); }
+void vFuCuup_32(x64emu_t *emu, uintptr_t fcn) { vFuCuup_t fn = (vFuCuup_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint8_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptri(uint32_t, R_ESP + 16), from_ptriv(R_ESP + 20)); }
+void vFuWWWW_32(x64emu_t *emu, uintptr_t fcn) { vFuWWWW_t fn = (vFuWWWW_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint16_t, R_ESP + 8), from_ptri(uint16_t, R_ESP + 12), from_ptri(uint16_t, R_ESP + 16), from_ptri(uint16_t, R_ESP + 20)); }
+void vFuuiii_32(x64emu_t *emu, uintptr_t fcn) { vFuuiii_t fn = (vFuuiii_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(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20)); }
+void vFuuiip_32(x64emu_t *emu, uintptr_t fcn) { vFuuiip_t fn = (vFuuiip_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(int32_t, R_ESP + 16), from_ptriv(R_ESP + 20)); }
+void vFuuiui_32(x64emu_t *emu, uintptr_t fcn) { vFuuiui_t fn = (vFuuiui_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)); }
+void vFuuiuu_32(x64emu_t *emu, uintptr_t fcn) { vFuuiuu_t fn = (vFuuiuu_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)); }
+void vFuuiup_32(x64emu_t *emu, uintptr_t fcn) { vFuuiup_t fn = (vFuuiup_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_ptriv(R_ESP + 20)); }
+void vFuuifi_32(x64emu_t *emu, uintptr_t fcn) { vFuuifi_t fn = (vFuuifi_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(float, R_ESP + 16), from_ptri(int32_t, R_ESP + 20)); }
+void vFuuipC_32(x64emu_t *emu, uintptr_t fcn) { vFuuipC_t fn = (vFuuipC_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_ptri(uint8_t, R_ESP + 20)); }
+void vFuuipu_32(x64emu_t *emu, uintptr_t fcn) { vFuuipu_t fn = (vFuuipu_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_ptri(uint32_t, R_ESP + 20)); }
+void vFuuipp_32(x64emu_t *emu, uintptr_t fcn) { vFuuipp_t fn = (vFuuipp_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)); }
+void vFuuuii_32(x64emu_t *emu, uintptr_t fcn) { vFuuuii_t fn = (vFuuuii_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)); }
+void vFuuuiu_32(x64emu_t *emu, uintptr_t fcn) { vFuuuiu_t fn = (vFuuuiu_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)); }
+void vFuuuil_32(x64emu_t *emu, uintptr_t fcn) { vFuuuil_t fn = (vFuuuil_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), to_long(from_ptri(long_t, R_ESP + 20))); }
+void vFuuuip_32(x64emu_t *emu, uintptr_t fcn) { vFuuuip_t fn = (vFuuuip_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)); }
+void vFuuuui_32(x64emu_t *emu, uintptr_t fcn) { vFuuuui_t fn = (vFuuuui_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptri(uint32_t, R_ESP + 16), from_ptri(int32_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(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 vFuuuup_32(x64emu_t *emu, uintptr_t fcn) { vFuuuup_t fn = (vFuuuup_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptri(uint32_t, R_ESP + 16), from_ptriv(R_ESP + 20)); }
+void vFuuuli_32(x64emu_t *emu, uintptr_t fcn) { vFuuuli_t fn = (vFuuuli_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), to_long(from_ptri(long_t, R_ESP + 16)), from_ptri(int32_t, R_ESP + 20)); }
+void vFuuull_32(x64emu_t *emu, uintptr_t fcn) { vFuuull_t fn = (vFuuull_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), to_long(from_ptri(long_t, R_ESP + 16)), to_long(from_ptri(long_t, R_ESP + 20))); }
+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), to_long(from_ptri(long_t, R_ESP + 12)), to_long(from_ptri(long_t, R_ESP + 16)), to_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), to_long(from_ptri(long_t, R_ESP + 12)), to_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), to_long(from_ptri(long_t, R_ESP + 8)), to_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), to_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)); }
+void vFfffff_32(x64emu_t *emu, uintptr_t fcn) { vFfffff_t fn = (vFfffff_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)); }
+void vFluipp_32(x64emu_t *emu, uintptr_t fcn) { vFluipp_t fn = (vFluipp_t)fcn; fn(to_long(from_ptri(long_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)); }
+void vFpilpp_32(x64emu_t *emu, uintptr_t fcn) { vFpilpp_t fn = (vFpilpp_t)fcn; fn(from_ptriv(R_ESP + 4), from_ptri(int32_t, R_ESP + 8), to_long(from_ptri(long_t, R_ESP + 12)), from_ptriv(R_ESP + 16), from_ptriv(R_ESP + 20)); }
+void vFpuipp_32(x64emu_t *emu, uintptr_t fcn) { vFpuipp_t fn = (vFpuipp_t)fcn; fn(from_ptriv(R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptriv(R_ESP + 16), from_ptriv(R_ESP + 20)); }
+void vFpppii_32(x64emu_t *emu, uintptr_t fcn) { vFpppii_t fn = (vFpppii_t)fcn; fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20)); }
+void vFppppu_32(x64emu_t *emu, uintptr_t fcn) { vFppppu_t fn = (vFppppu_t)fcn; fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16), from_ptri(uint32_t, R_ESP + 20)); }
+void vFppppp_32(x64emu_t *emu, uintptr_t fcn) { vFppppp_t fn = (vFppppp_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)); }
 void iFEiiip_32(x64emu_t *emu, uintptr_t fcn) { iFEiiip_t fn = (iFEiiip_t)fcn; R_EAX = 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)); }
 void iFEipii_32(x64emu_t *emu, uintptr_t fcn) { iFEipii_t fn = (iFEipii_t)fcn; R_EAX = fn(emu, from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16)); }
 void iFEpipp_32(x64emu_t *emu, uintptr_t fcn) { iFEpipp_t fn = (iFEpipp_t)fcn; R_EAX = fn(emu, from_ptriv(R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16)); }
@@ -616,24 +1500,264 @@ void iFiiipu_32(x64emu_t *emu, uintptr_t fcn) { iFiiipu_t fn = (iFiiipu_t)fcn; R
 void iFiiipp_32(x64emu_t *emu, uintptr_t fcn) { iFiiipp_t fn = (iFiiipp_t)fcn; R_EAX = fn(from_ptri(int32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptriv(R_ESP + 16), from_ptriv(R_ESP + 20)); }
 void iFiLLLL_32(x64emu_t *emu, uintptr_t fcn) { iFiLLLL_t fn = (iFiLLLL_t)fcn; R_EAX = fn(from_ptri(int32_t, R_ESP + 4), to_ulong(from_ptri(ulong_t, R_ESP + 8)), to_ulong(from_ptri(ulong_t, R_ESP + 12)), to_ulong(from_ptri(ulong_t, R_ESP + 16)), to_ulong(from_ptri(ulong_t, R_ESP + 20))); }
 void iFipLLi_32(x64emu_t *emu, uintptr_t fcn) { iFipLLi_t fn = (iFipLLi_t)fcn; R_EAX = fn(from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8), to_ulong(from_ptri(ulong_t, R_ESP + 12)), to_ulong(from_ptri(ulong_t, R_ESP + 16)), from_ptri(int32_t, R_ESP + 20)); }
+void iFpiiip_32(x64emu_t *emu, uintptr_t fcn) { iFpiiip_t fn = (iFpiiip_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), from_ptriv(R_ESP + 20)); }
+void iFpippp_32(x64emu_t *emu, uintptr_t fcn) { iFpippp_t fn = (iFpippp_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16), from_ptriv(R_ESP + 20)); }
+void iFppipi_32(x64emu_t *emu, uintptr_t fcn) { iFppipi_t fn = (iFppipi_t)fcn; R_EAX = fn(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 iFpppip_32(x64emu_t *emu, uintptr_t fcn) { iFpppip_t fn = (iFpppip_t)fcn; R_EAX = fn(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 iFpppup_32(x64emu_t *emu, uintptr_t fcn) { iFpppup_t fn = (iFpppup_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12), from_ptri(uint32_t, R_ESP + 16), from_ptriv(R_ESP + 20)); }
+void iFppppp_32(x64emu_t *emu, uintptr_t fcn) { iFppppp_t fn = (iFppppp_t)fcn; R_EAX = 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)); }
+void IFppIII_32(x64emu_t *emu, uintptr_t fcn) { IFppIII_t fn = (IFppIII_t)fcn; ui64_t r; r.i = fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(int64_t, R_ESP + 12), from_ptri(int64_t, R_ESP + 20), from_ptri(int64_t, R_ESP + 28)); R_EAX = r.d[0]; R_EDX = r.d[1]; }
 void uFpLLLS_32(x64emu_t *emu, uintptr_t fcn) { uFpLLLS_t fn = (uFpLLLS_t)fcn; R_EAX = (uint32_t)fn(from_ptriv(R_ESP + 4), to_ulong(from_ptri(ulong_t, R_ESP + 8)), to_ulong(from_ptri(ulong_t, R_ESP + 12)), to_ulong(from_ptri(ulong_t, R_ESP + 16)), io_convert32(from_ptriv(R_ESP + 20))); }
+void UFuiCiu_32(x64emu_t *emu, uintptr_t fcn) { UFuiCiu_t fn = (UFuiCiu_t)fcn; ui64_t r; r.u = (uint64_t)fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(uint8_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(uint32_t, R_ESP + 20)); R_EAX = r.d[0]; R_EDX = r.d[1]; }
+void lFpuipC_32(x64emu_t *emu, uintptr_t fcn) { lFpuipC_t fn = (lFpuipC_t)fcn; R_EAX = to_long(fn(from_ptriv(R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptriv(R_ESP + 16), from_ptri(uint8_t, R_ESP + 20))); }
 void LFpLppa_32(x64emu_t *emu, uintptr_t fcn) { LFpLppa_t fn = (LFpLppa_t)fcn; R_EAX = to_ulong(fn(from_ptriv(R_ESP + 4), to_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16), from_locale(from_ptri(ptr_t, R_ESP + 20)))); }
+void pFuiupp_32(x64emu_t *emu, uintptr_t fcn) { pFuiupp_t fn = (pFuiupp_t)fcn; R_EAX = to_ptrv(fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptriv(R_ESP + 16), from_ptriv(R_ESP + 20))); }
+void pFpippp_32(x64emu_t *emu, uintptr_t fcn) { pFpippp_t fn = (pFpippp_t)fcn; R_EAX = to_ptrv(fn(from_ptriv(R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16), from_ptriv(R_ESP + 20))); }
+void pFppipi_32(x64emu_t *emu, uintptr_t fcn) { pFppipi_t fn = (pFppipi_t)fcn; R_EAX = to_ptrv(fn(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 pFppuup_32(x64emu_t *emu, uintptr_t fcn) { pFppuup_t fn = (pFppuup_t)fcn; R_EAX = to_ptrv(fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptri(uint32_t, R_ESP + 16), from_ptriv(R_ESP + 20))); }
+void pFppupp_32(x64emu_t *emu, uintptr_t fcn) { pFppupp_t fn = (pFppupp_t)fcn; R_EAX = to_ptrv(fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptriv(R_ESP + 16), from_ptriv(R_ESP + 20))); }
+void pFpppip_32(x64emu_t *emu, uintptr_t fcn) { pFpppip_t fn = (pFpppip_t)fcn; R_EAX = to_ptrv(fn(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 iFEBh_ppp_32(x64emu_t *emu, uintptr_t fcn) { iFEBh_ppp_t fn = (iFEBh_ppp_t)fcn; struct_h_t arg_4; R_EAX = fn(emu, *(ptr_t*)(from_ptr((R_ESP + 4))) ? &arg_4 : NULL, from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16)); if (*(ptr_t*)(from_ptr((R_ESP + 4)))) to_struct_h(*(ptr_t*)(from_ptr((R_ESP + 4))), &arg_4); }
 void LFpbp_LLp_32(x64emu_t *emu, uintptr_t fcn) { LFpbp_LLp_t fn = (LFpbp_LLp_t)fcn; struct_p_t arg_8; from_struct_p(&arg_8, *(ptr_t*)(from_ptr((R_ESP + 8)))); R_EAX = to_ulong(fn(from_ptriv(R_ESP + 4), *(ptr_t*)(from_ptr((R_ESP + 8))) ? &arg_8 : NULL, to_ulong(from_ptri(ulong_t, R_ESP + 12)), to_ulong(from_ptri(ulong_t, R_ESP + 16)), from_ptriv(R_ESP + 20))); if (*(ptr_t*)(from_ptr((R_ESP + 8)))) to_struct_p(*(ptr_t*)(from_ptr((R_ESP + 8))), &arg_8); }
 void LFpBp_LLp_32(x64emu_t *emu, uintptr_t fcn) { LFpBp_LLp_t fn = (LFpBp_LLp_t)fcn; struct_p_t arg_8; R_EAX = to_ulong(fn(from_ptriv(R_ESP + 4), *(ptr_t*)(from_ptr((R_ESP + 8))) ? &arg_8 : NULL, to_ulong(from_ptri(ulong_t, R_ESP + 12)), to_ulong(from_ptri(ulong_t, R_ESP + 16)), from_ptriv(R_ESP + 20))); if (*(ptr_t*)(from_ptr((R_ESP + 8)))) to_struct_p(*(ptr_t*)(from_ptr((R_ESP + 8))), &arg_8); }
 void iFippprLL__32(x64emu_t *emu, uintptr_t fcn) { iFippprLL__t fn = (iFippprLL__t)fcn; struct_LL_t arg_20; from_struct_LL(&arg_20, *(ptr_t*)(from_ptr((R_ESP + 20)))); R_EAX = fn(from_ptri(int32_t, 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); }
 void LFLbp_bL_Bp_BL__32(x64emu_t *emu, uintptr_t fcn) { LFLbp_bL_Bp_BL__t fn = (LFLbp_bL_Bp_BL__t)fcn; struct_p_t arg_8; from_struct_p(&arg_8, *(ptr_t*)(from_ptr((R_ESP + 8)))); struct_L_t arg_12; from_struct_L(&arg_12, *(ptr_t*)(from_ptr((R_ESP + 12)))); struct_p_t arg_16; struct_L_t arg_20; R_EAX = to_ulong(fn(to_ulong(from_ptri(ulong_t, R_ESP + 4)), *(ptr_t*)(from_ptr((R_ESP + 8))) ? &arg_8 : NULL, *(ptr_t*)(from_ptr((R_ESP + 12))) ? &arg_12 : NULL, *(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 + 8)))) to_struct_p(*(ptr_t*)(from_ptr((R_ESP + 8))), &arg_8); if (*(ptr_t*)(from_ptr((R_ESP + 12)))) to_struct_L(*(ptr_t*)(from_ptr((R_ESP + 12))), &arg_12); if (*(ptr_t*)(from_ptr((R_ESP + 16)))) to_struct_p(*(ptr_t*)(from_ptr((R_ESP + 16))), &arg_16); if (*(ptr_t*)(from_ptr((R_ESP + 20)))) to_struct_L(*(ptr_t*)(from_ptr((R_ESP + 20))), &arg_20); }
 void LFpLpriiiiiiiiilt_a_32(x64emu_t *emu, uintptr_t fcn) { LFpLpriiiiiiiiilt_a_t fn = (LFpLpriiiiiiiiilt_a_t)fcn; struct_iiiiiiiiilt_t arg_16; from_struct_iiiiiiiiilt(&arg_16, *(ptr_t*)(from_ptr((R_ESP + 16)))); R_EAX = to_ulong(fn(from_ptriv(R_ESP + 4), to_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptriv(R_ESP + 12), *(ptr_t*)(from_ptr((R_ESP + 16))) ? &arg_16 : NULL, from_locale(from_ptri(ptr_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), to_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), to_long(from_ptri(long_t, R_ESP + 16)), from_ptriv(R_ESP + 20), from_ptri(int32_t, R_ESP + 24)); }
+void vFiiuilp_32(x64emu_t *emu, uintptr_t fcn) { vFiiuilp_t fn = (vFiiuilp_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), to_long(from_ptri(long_t, R_ESP + 20)), from_ptriv(R_ESP + 24)); }
+void vFiffiff_32(x64emu_t *emu, uintptr_t fcn) { vFiffiff_t fn = (vFiffiff_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(float, R_ESP + 8), from_ptri(float, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(float, R_ESP + 20), from_ptri(float, R_ESP + 24)); }
+void vFiddidd_32(x64emu_t *emu, uintptr_t fcn) { vFiddidd_t fn = (vFiddidd_t)fcn; fn(from_ptri(int32_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(double, R_ESP + 28), from_ptri(double, R_ESP + 36)); }
+void vFilipli_32(x64emu_t *emu, uintptr_t fcn) { vFilipli_t fn = (vFilipli_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), to_long(from_ptri(long_t, R_ESP + 8)), from_ptri(int32_t, R_ESP + 12), from_ptriv(R_ESP + 16), to_long(from_ptri(long_t, R_ESP + 20)), from_ptri(int32_t, R_ESP + 24)); }
+void vFiliplu_32(x64emu_t *emu, uintptr_t fcn) { vFiliplu_t fn = (vFiliplu_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), to_long(from_ptri(long_t, R_ESP + 8)), from_ptri(int32_t, R_ESP + 12), from_ptriv(R_ESP + 16), to_long(from_ptri(long_t, R_ESP + 20)), from_ptri(uint32_t, R_ESP + 24)); }
+void vFipiplp_32(x64emu_t *emu, uintptr_t fcn) { vFipiplp_t fn = (vFipiplp_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptriv(R_ESP + 16), to_long(from_ptri(long_t, R_ESP + 20)), from_ptriv(R_ESP + 24)); }
+void vFCCCCff_32(x64emu_t *emu, uintptr_t fcn) { vFCCCCff_t fn = (vFCCCCff_t)fcn; fn(from_ptri(uint8_t, R_ESP + 4), from_ptri(uint8_t, R_ESP + 8), from_ptri(uint8_t, R_ESP + 12), from_ptri(uint8_t, R_ESP + 16), from_ptri(float, R_ESP + 20), from_ptri(float, R_ESP + 24)); }
+void vFuiiiii_32(x64emu_t *emu, uintptr_t fcn) { vFuiiiii_t fn = (vFuiiiii_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24)); }
+void vFuiiuii_32(x64emu_t *emu, uintptr_t fcn) { vFuiiuii_t fn = (vFuiiuii_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(uint32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24)); }
+void vFuiiuup_32(x64emu_t *emu, uintptr_t fcn) { vFuiiuup_t fn = (vFuiiuup_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(uint32_t, R_ESP + 16), from_ptri(uint32_t, R_ESP + 20), from_ptriv(R_ESP + 24)); }
+void vFuiIIII_32(x64emu_t *emu, uintptr_t fcn) { vFuiIIII_t fn = (vFuiIIII_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int64_t, R_ESP + 12), from_ptri(int64_t, R_ESP + 20), from_ptri(int64_t, R_ESP + 28), from_ptri(int64_t, R_ESP + 36)); }
+void vFuiuiii_32(x64emu_t *emu, uintptr_t fcn) { vFuiuiii_t fn = (vFuiuiii_t)fcn; fn(from_ptri(uint32_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_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24)); }
+void vFuiuiiC_32(x64emu_t *emu, uintptr_t fcn) { vFuiuiiC_t fn = (vFuiuiiC_t)fcn; fn(from_ptri(uint32_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_ptri(int32_t, R_ESP + 20), from_ptri(uint8_t, R_ESP + 24)); }
+void vFuiuiil_32(x64emu_t *emu, uintptr_t fcn) { vFuiuiil_t fn = (vFuiuiil_t)fcn; fn(from_ptri(uint32_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_ptri(int32_t, R_ESP + 20), to_long(from_ptri(long_t, R_ESP + 24))); }
+void vFuiuiuu_32(x64emu_t *emu, uintptr_t fcn) { vFuiuiuu_t fn = (vFuiuiuu_t)fcn; fn(from_ptri(uint32_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_ptri(uint32_t, R_ESP + 20), from_ptri(uint32_t, R_ESP + 24)); }
+void vFuiuiuU_32(x64emu_t *emu, uintptr_t fcn) { vFuiuiuU_t fn = (vFuiuiuU_t)fcn; fn(from_ptri(uint32_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_ptri(uint32_t, R_ESP + 20), from_ptri(uint64_t, R_ESP + 24)); }
+void vFuiuCip_32(x64emu_t *emu, uintptr_t fcn) { vFuiuCip_t fn = (vFuiuCip_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptri(uint8_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptriv(R_ESP + 24)); }
+void vFuiuuip_32(x64emu_t *emu, uintptr_t fcn) { vFuiuuip_t fn = (vFuiuuip_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptri(uint32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptriv(R_ESP + 24)); }
+void vFuiuuuu_32(x64emu_t *emu, uintptr_t fcn) { vFuiuuuu_t fn = (vFuiuuuu_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptri(uint32_t, R_ESP + 16), from_ptri(uint32_t, R_ESP + 20), from_ptri(uint32_t, R_ESP + 24)); }
+void vFuiupii_32(x64emu_t *emu, uintptr_t fcn) { vFuiupii_t fn = (vFuiupii_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, 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 vFuiupiu_32(x64emu_t *emu, uintptr_t fcn) { vFuiupiu_t fn = (vFuiupiu_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptriv(R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(uint32_t, R_ESP + 24)); }
+void vFuiUUUU_32(x64emu_t *emu, uintptr_t fcn) { vFuiUUUU_t fn = (vFuiUUUU_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(uint64_t, R_ESP + 12), from_ptri(uint64_t, R_ESP + 20), from_ptri(uint64_t, R_ESP + 28), from_ptri(uint64_t, R_ESP + 36)); }
+void vFuiffff_32(x64emu_t *emu, uintptr_t fcn) { vFuiffff_t fn = (vFuiffff_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), from_ptri(float, R_ESP + 20), from_ptri(float, R_ESP + 24)); }
+void vFuidddd_32(x64emu_t *emu, uintptr_t fcn) { vFuidddd_t fn = (vFuidddd_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), from_ptri(double, R_ESP + 28), from_ptri(double, R_ESP + 36)); }
+void vFuipiup_32(x64emu_t *emu, uintptr_t fcn) { vFuipiup_t fn = (vFuipiup_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), from_ptri(uint32_t, R_ESP + 20), from_ptriv(R_ESP + 24)); }
+void vFuCuuip_32(x64emu_t *emu, uintptr_t fcn) { vFuCuuip_t fn = (vFuCuuip_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint8_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptri(uint32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptriv(R_ESP + 24)); }
+void vFuuiiii_32(x64emu_t *emu, uintptr_t fcn) { vFuuiiii_t fn = (vFuuiiii_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(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24)); }
+void vFuuiuii_32(x64emu_t *emu, uintptr_t fcn) { vFuuiuii_t fn = (vFuuiuii_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_ptri(int32_t, R_ESP + 24)); }
+void vFuuiuil_32(x64emu_t *emu, uintptr_t fcn) { vFuuiuil_t fn = (vFuuiuil_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), to_long(from_ptri(long_t, R_ESP + 24))); }
+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)); }
+void vFuuuipp_32(x64emu_t *emu, uintptr_t fcn) { vFuuuipp_t fn = (vFuuuipp_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_ptriv(R_ESP + 24)); }
+void vFuuuuii_32(x64emu_t *emu, uintptr_t fcn) { vFuuuuii_t fn = (vFuuuuii_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptri(uint32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24)); }
+void vFuuuuip_32(x64emu_t *emu, uintptr_t fcn) { vFuuuuip_t fn = (vFuuuuip_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptri(uint32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptriv(R_ESP + 24)); }
+void vFuuuuuu_32(x64emu_t *emu, uintptr_t fcn) { vFuuuuuu_t fn = (vFuuuuuu_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptri(uint32_t, R_ESP + 16), from_ptri(uint32_t, R_ESP + 20), from_ptri(uint32_t, R_ESP + 24)); }
+void vFuuuull_32(x64emu_t *emu, uintptr_t fcn) { vFuuuull_t fn = (vFuuuull_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptri(uint32_t, R_ESP + 16), to_long(from_ptri(long_t, R_ESP + 20)), to_long(from_ptri(long_t, R_ESP + 24))); }
+void vFuuuppi_32(x64emu_t *emu, uintptr_t fcn) { vFuuuppi_t fn = (vFuuuppi_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_ptriv(R_ESP + 16), from_ptriv(R_ESP + 20), from_ptri(int32_t, R_ESP + 24)); }
+void vFuuuppp_32(x64emu_t *emu, uintptr_t fcn) { vFuuuppp_t fn = (vFuuuppp_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_ptriv(R_ESP + 16), from_ptriv(R_ESP + 20), from_ptriv(R_ESP + 24)); }
+void vFuuffff_32(x64emu_t *emu, uintptr_t fcn) { vFuuffff_t fn = (vFuuffff_t)fcn; 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), from_ptri(float, R_ESP + 20), from_ptri(float, R_ESP + 24)); }
+void vFuudddd_32(x64emu_t *emu, uintptr_t fcn) { vFuudddd_t fn = (vFuudddd_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(double, R_ESP + 28), from_ptri(double, R_ESP + 36)); }
+void vFuupiii_32(x64emu_t *emu, uintptr_t fcn) { vFuupiii_t fn = (vFuupiii_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)); }
+void vFuupupp_32(x64emu_t *emu, uintptr_t fcn) { vFuupupp_t fn = (vFuupupp_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptriv(R_ESP + 12), from_ptri(uint32_t, R_ESP + 16), from_ptriv(R_ESP + 20), from_ptriv(R_ESP + 24)); }
+void vFuuplii_32(x64emu_t *emu, uintptr_t fcn) { vFuuplii_t fn = (vFuuplii_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptriv(R_ESP + 12), to_long(from_ptri(long_t, R_ESP + 16)), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24)); }
+void vFuffiip_32(x64emu_t *emu, uintptr_t fcn) { vFuffiip_t fn = (vFuffiip_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(float, R_ESP + 8), from_ptri(float, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptriv(R_ESP + 24)); }
+void vFufffff_32(x64emu_t *emu, uintptr_t fcn) { vFufffff_t fn = (vFufffff_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)); }
+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), to_long(from_ptri(long_t, R_ESP + 8)), to_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 vFppiiii_32(x64emu_t *emu, uintptr_t fcn) { vFppiiii_t fn = (vFppiiii_t)fcn; fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24)); }
+void 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 iFEpLppp_32(x64emu_t *emu, uintptr_t fcn) { iFEpLppp_t fn = (iFEpLppp_t)fcn; R_EAX = fn(emu, from_ptriv(R_ESP + 4), to_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16), from_ptriv(R_ESP + 20)); }
+void iFpiiipp_32(x64emu_t *emu, uintptr_t fcn) { iFpiiipp_t fn = (iFpiiipp_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), from_ptriv(R_ESP + 20), from_ptriv(R_ESP + 24)); }
+void iFpiippp_32(x64emu_t *emu, uintptr_t fcn) { iFpiippp_t fn = (iFpiippp_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptriv(R_ESP + 16), from_ptriv(R_ESP + 20), from_ptriv(R_ESP + 24)); }
+void iFppiiii_32(x64emu_t *emu, uintptr_t fcn) { iFppiiii_t fn = (iFppiiii_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24)); }
+void iFppIppp_32(x64emu_t *emu, uintptr_t fcn) { iFppIppp_t fn = (iFppIppp_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(int64_t, R_ESP + 12), from_ptriv(R_ESP + 20), from_ptriv(R_ESP + 24), from_ptriv(R_ESP + 28)); }
+void uFupuufp_32(x64emu_t *emu, uintptr_t fcn) { uFupuufp_t fn = (uFupuufp_t)fcn; R_EAX = (uint32_t)fn(from_ptri(uint32_t, R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptri(uint32_t, R_ESP + 16), from_ptri(float, R_ESP + 20), from_ptriv(R_ESP + 24)); }
 void lFipLipu_32(x64emu_t *emu, uintptr_t fcn) { lFipLipu_t fn = (lFipLipu_t)fcn; R_EAX = to_long(fn(from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8), to_ulong(from_ptri(ulong_t, R_ESP + 12)), from_ptri(int32_t, R_ESP + 16), from_ptriv(R_ESP + 20), from_ptri(uint32_t, R_ESP + 24))); }
 void lFipLipp_32(x64emu_t *emu, uintptr_t fcn) { lFipLipp_t fn = (lFipLipp_t)fcn; R_EAX = to_long(fn(from_ptri(int32_t, R_ESP + 4), from_ptriv(R_ESP + 8), to_ulong(from_ptri(ulong_t, R_ESP + 12)), from_ptri(int32_t, R_ESP + 16), from_ptriv(R_ESP + 20), from_ptriv(R_ESP + 24))); }
 void pFEpLLiN_32(x64emu_t *emu, uintptr_t fcn) { pFEpLLiN_t fn = (pFEpLLiN_t)fcn; R_EAX = to_ptrv(fn(emu, from_ptriv(R_ESP + 4), to_ulong(from_ptri(ulong_t, R_ESP + 8)), to_ulong(from_ptri(ulong_t, R_ESP + 12)), from_ptri(int32_t, R_ESP + 16), from_ptriv(R_ESP + 20))); }
+void pFpippip_32(x64emu_t *emu, uintptr_t fcn) { pFpippip_t fn = (pFpippip_t)fcn; R_EAX = to_ptrv(fn(from_ptriv(R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16), from_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), to_long(from_ptri(long_t, R_ESP + 20)), from_ptri(int32_t, R_ESP + 24), to_long(from_ptri(long_t, R_ESP + 28))); }
+void vFiiffffp_32(x64emu_t *emu, uintptr_t fcn) { vFiiffffp_t fn = (vFiiffffp_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(int32_t, 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_ptriv(R_ESP + 28)); }
+void vFiuulipi_32(x64emu_t *emu, uintptr_t fcn) { vFiuulipi_t fn = (vFiuulipi_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), to_long(from_ptri(long_t, R_ESP + 16)), from_ptri(int32_t, R_ESP + 20), from_ptriv(R_ESP + 24), from_ptri(int32_t, R_ESP + 28)); }
+void vFiupuuup_32(x64emu_t *emu, uintptr_t fcn) { vFiupuuup_t fn = (vFiupuuup_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptriv(R_ESP + 12), from_ptri(uint32_t, R_ESP + 16), from_ptri(uint32_t, R_ESP + 20), from_ptri(uint32_t, R_ESP + 24), from_ptriv(R_ESP + 28)); }
+void vFilipliu_32(x64emu_t *emu, uintptr_t fcn) { vFilipliu_t fn = (vFilipliu_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), to_long(from_ptri(long_t, R_ESP + 8)), from_ptri(int32_t, R_ESP + 12), from_ptriv(R_ESP + 16), to_long(from_ptri(long_t, R_ESP + 20)), from_ptri(int32_t, R_ESP + 24), from_ptri(uint32_t, R_ESP + 28)); }
+void vFilulipi_32(x64emu_t *emu, uintptr_t fcn) { vFilulipi_t fn = (vFilulipi_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), to_long(from_ptri(long_t, R_ESP + 8)), from_ptri(uint32_t, R_ESP + 12), to_long(from_ptri(long_t, R_ESP + 16)), from_ptri(int32_t, R_ESP + 20), from_ptriv(R_ESP + 24), from_ptri(int32_t, R_ESP + 28)); }
+void vFCCCCfff_32(x64emu_t *emu, uintptr_t fcn) { vFCCCCfff_t fn = (vFCCCCfff_t)fcn; fn(from_ptri(uint8_t, R_ESP + 4), from_ptri(uint8_t, R_ESP + 8), from_ptri(uint8_t, R_ESP + 12), from_ptri(uint8_t, R_ESP + 16), from_ptri(float, R_ESP + 20), from_ptri(float, R_ESP + 24), from_ptri(float, R_ESP + 28)); }
+void vFuiiiiii_32(x64emu_t *emu, uintptr_t fcn) { vFuiiiiii_t fn = (vFuiiiiii_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28)); }
+void vFuiiiiiC_32(x64emu_t *emu, uintptr_t fcn) { vFuiiiiiC_t fn = (vFuiiiiiC_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptri(uint8_t, R_ESP + 28)); }
+void vFuiiiuip_32(x64emu_t *emu, uintptr_t fcn) { vFuiiiuip_t fn = (vFuiiiuip_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(uint32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptriv(R_ESP + 28)); }
+void vFuiiiuup_32(x64emu_t *emu, uintptr_t fcn) { vFuiiiuup_t fn = (vFuiiiuup_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(uint32_t, R_ESP + 20), from_ptri(uint32_t, R_ESP + 24), from_ptriv(R_ESP + 28)); }
+void vFuiuiiii_32(x64emu_t *emu, uintptr_t fcn) { vFuiuiiii_t fn = (vFuiuiiii_t)fcn; fn(from_ptri(uint32_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_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28)); }
+void vFuiuiiiC_32(x64emu_t *emu, uintptr_t fcn) { vFuiuiiiC_t fn = (vFuiuiiiC_t)fcn; fn(from_ptri(uint32_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_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptri(uint8_t, R_ESP + 28)); }
+void vFuiuiiip_32(x64emu_t *emu, uintptr_t fcn) { vFuiuiiip_t fn = (vFuiuiiip_t)fcn; fn(from_ptri(uint32_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_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptriv(R_ESP + 28)); }
+void vFuiuiiuU_32(x64emu_t *emu, uintptr_t fcn) { vFuiuiiuU_t fn = (vFuiuiiuU_t)fcn; fn(from_ptri(uint32_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_ptri(int32_t, R_ESP + 20), from_ptri(uint32_t, R_ESP + 24), from_ptri(uint64_t, R_ESP + 28)); }
+void vFuiuCiuu_32(x64emu_t *emu, uintptr_t fcn) { vFuiuCiuu_t fn = (vFuiuCiuu_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptri(uint8_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(uint32_t, R_ESP + 24), from_ptri(uint32_t, R_ESP + 28)); }
+void vFuiupiiu_32(x64emu_t *emu, uintptr_t fcn) { vFuiupiiu_t fn = (vFuiupiiu_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, 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), from_ptri(uint32_t, R_ESP + 28)); }
+void vFuiupuip_32(x64emu_t *emu, uintptr_t fcn) { vFuiupuip_t fn = (vFuiupuip_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptriv(R_ESP + 16), from_ptri(uint32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptriv(R_ESP + 28)); }
+void vFuipiiii_32(x64emu_t *emu, uintptr_t fcn) { vFuipiiii_t fn = (vFuipiiii_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), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28)); }
+void vFuipffff_32(x64emu_t *emu, uintptr_t fcn) { vFuipffff_t fn = (vFuipffff_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptriv(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 vFuipdddd_32(x64emu_t *emu, uintptr_t fcn) { vFuipdddd_t fn = (vFuipdddd_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptriv(R_ESP + 12), from_ptri(double, R_ESP + 16), from_ptri(double, R_ESP + 24), from_ptri(double, R_ESP + 32), from_ptri(double, R_ESP + 40)); }
+void vFuuiiiii_32(x64emu_t *emu, uintptr_t fcn) { vFuuiiiii_t fn = (vFuuiiiii_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(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 vFuuiiiiC_32(x64emu_t *emu, uintptr_t fcn) { vFuuiiiiC_t fn = (vFuuiiiiC_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(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptri(uint8_t, R_ESP + 28)); }
+void vFuuiiiiu_32(x64emu_t *emu, uintptr_t fcn) { vFuuiiiiu_t fn = (vFuuiiiiu_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(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptri(uint32_t, R_ESP + 28)); }
+void vFuuiiuup_32(x64emu_t *emu, uintptr_t fcn) { vFuuiiuup_t fn = (vFuuiiuup_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(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 vFuuiCiui_32(x64emu_t *emu, uintptr_t fcn) { vFuuiCiui_t fn = (vFuuiCiui_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(uint8_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(uint32_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28)); }
+void vFuuiCiuu_32(x64emu_t *emu, uintptr_t fcn) { vFuuiCiuu_t fn = (vFuuiCiuu_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(uint8_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(uint32_t, R_ESP + 24), from_ptri(uint32_t, R_ESP + 28)); }
+void vFuuiuiii_32(x64emu_t *emu, uintptr_t fcn) { vFuuiuiii_t fn = (vFuuiuiii_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_ptri(int32_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28)); }
+void vFuuiuiiC_32(x64emu_t *emu, uintptr_t fcn) { vFuuiuiiC_t fn = (vFuuiuiiC_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_ptri(int32_t, R_ESP + 24), from_ptri(uint8_t, R_ESP + 28)); }
+void vFuuipppp_32(x64emu_t *emu, uintptr_t fcn) { vFuuipppp_t fn = (vFuuipppp_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), from_ptriv(R_ESP + 28)); }
+void vFuuuiiii_32(x64emu_t *emu, uintptr_t fcn) { vFuuuiiii_t fn = (vFuuuiiii_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), from_ptri(int32_t, R_ESP + 28)); }
+void vFuuuiiCp_32(x64emu_t *emu, uintptr_t fcn) { vFuuuiiCp_t fn = (vFuuuiiCp_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(uint8_t, R_ESP + 24), from_ptriv(R_ESP + 28)); }
+void vFuuuiuil_32(x64emu_t *emu, uintptr_t fcn) { vFuuuiuil_t fn = (vFuuuiuil_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_ptri(int32_t, R_ESP + 24), to_long(from_ptri(long_t, R_ESP + 28))); }
+void vFuuuiupi_32(x64emu_t *emu, uintptr_t fcn) { vFuuuiupi_t fn = (vFuuuiupi_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), from_ptri(int32_t, R_ESP + 28)); }
+void vFuuuuuuu_32(x64emu_t *emu, uintptr_t fcn) { vFuuuuuuu_t fn = (vFuuuuuuu_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptri(uint32_t, R_ESP + 16), from_ptri(uint32_t, R_ESP + 20), from_ptri(uint32_t, R_ESP + 24), from_ptri(uint32_t, R_ESP + 28)); }
+void vFuuuulll_32(x64emu_t *emu, uintptr_t fcn) { vFuuuulll_t fn = (vFuuuulll_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptri(uint32_t, R_ESP + 16), to_long(from_ptri(long_t, R_ESP + 20)), to_long(from_ptri(long_t, R_ESP + 24)), to_long(from_ptri(long_t, R_ESP + 28))); }
+void vFuuuffff_32(x64emu_t *emu, uintptr_t fcn) { vFuuuffff_t fn = (vFuuuffff_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(float, R_ESP + 16), from_ptri(float, R_ESP + 20), from_ptri(float, R_ESP + 24), from_ptri(float, R_ESP + 28)); }
+void vFuuudddd_32(x64emu_t *emu, uintptr_t fcn) { vFuuudddd_t fn = (vFuuudddd_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(double, R_ESP + 16), from_ptri(double, R_ESP + 24), from_ptri(double, R_ESP + 32), from_ptri(double, R_ESP + 40)); }
+void vFuuffiip_32(x64emu_t *emu, uintptr_t fcn) { vFuuffiip_t fn = (vFuuffiip_t)fcn; 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), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptriv(R_ESP + 28)); }
+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), to_long(from_ptri(long_t, R_ESP + 12)), to_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)); }
+void vFlliiiip_32(x64emu_t *emu, uintptr_t fcn) { vFlliiiip_t fn = (vFlliiiip_t)fcn; fn(to_long(from_ptri(long_t, R_ESP + 4)), to_long(from_ptri(long_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 iFEpLiipV_32(x64emu_t *emu, uintptr_t fcn) { iFEpLiipV_t fn = (iFEpLiipV_t)fcn; R_EAX = fn(emu, from_ptriv(R_ESP + 4), to_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptriv(R_ESP + 20), from_ptrv(R_ESP + 24)); }
 void iFpupLpLi_32(x64emu_t *emu, uintptr_t fcn) { iFpupLpLi_t fn = (iFpupLpLi_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptriv(R_ESP + 12), to_ulong(from_ptri(ulong_t, R_ESP + 16)), from_ptriv(R_ESP + 20), to_ulong(from_ptri(ulong_t, R_ESP + 24)), from_ptri(int32_t, R_ESP + 28)); }
+void uFuippppp_32(x64emu_t *emu, uintptr_t fcn) { uFuippppp_t fn = (uFuippppp_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), from_ptriv(R_ESP + 16), from_ptriv(R_ESP + 20), from_ptriv(R_ESP + 24), from_ptriv(R_ESP + 28)); }
 void pFEpLiiii_32(x64emu_t *emu, uintptr_t fcn) { pFEpLiiii_t fn = (pFEpLiiii_t)fcn; R_EAX = to_ptrv(fn(emu, from_ptriv(R_ESP + 4), to_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24))); }
 void pFEpLiiiI_32(x64emu_t *emu, uintptr_t fcn) { pFEpLiiiI_t fn = (pFEpLiiiI_t)fcn; R_EAX = to_ptrv(fn(emu, from_ptriv(R_ESP + 4), to_ulong(from_ptri(ulong_t, R_ESP + 8)), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int64_t, R_ESP + 24))); }
+void vFiiiiuuip_32(x64emu_t *emu, uintptr_t fcn) { vFiiiiuuip_t fn = (vFiiiiuuip_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_ptri(int32_t, R_ESP + 28), from_ptriv(R_ESP + 32)); }
+void vFiilliilp_32(x64emu_t *emu, uintptr_t fcn) { vFiilliilp_t fn = (vFiilliilp_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), to_long(from_ptri(long_t, R_ESP + 12)), to_long(from_ptri(long_t, R_ESP + 16)), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), to_long(from_ptri(long_t, R_ESP + 28)), from_ptriv(R_ESP + 32)); }
+void vFiupuiuup_32(x64emu_t *emu, uintptr_t fcn) { vFiupuiuup_t fn = (vFiupuiuup_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptriv(R_ESP + 12), from_ptri(uint32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(uint32_t, R_ESP + 24), from_ptri(uint32_t, R_ESP + 28), from_ptriv(R_ESP + 32)); }
+void vFiupuuuup_32(x64emu_t *emu, uintptr_t fcn) { vFiupuuuup_t fn = (vFiupuuuup_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptriv(R_ESP + 12), from_ptri(uint32_t, R_ESP + 16), from_ptri(uint32_t, R_ESP + 20), from_ptri(uint32_t, R_ESP + 24), from_ptri(uint32_t, R_ESP + 28), from_ptriv(R_ESP + 32)); }
+void vFuiiiiiii_32(x64emu_t *emu, uintptr_t fcn) { vFuiiiiiii_t fn = (vFuiiiiiii_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28), from_ptri(int32_t, R_ESP + 32)); }
+void vFuiiiiiiC_32(x64emu_t *emu, uintptr_t fcn) { vFuiiiiiiC_t fn = (vFuiiiiiiC_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28), from_ptri(uint8_t, R_ESP + 32)); }
+void vFuiiiiuup_32(x64emu_t *emu, uintptr_t fcn) { vFuiiiiuup_t fn = (vFuiiiiuup_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(uint32_t, R_ESP + 24), from_ptri(uint32_t, R_ESP + 28), from_ptriv(R_ESP + 32)); }
+void vFuiiipiup_32(x64emu_t *emu, uintptr_t fcn) { vFuiiipiup_t fn = (vFuiiipiup_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptriv(R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptri(uint32_t, R_ESP + 28), from_ptriv(R_ESP + 32)); }
+void vFuiuiiiii_32(x64emu_t *emu, uintptr_t fcn) { vFuiuiiiii_t fn = (vFuiuiiiii_t)fcn; fn(from_ptri(uint32_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_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28), from_ptri(int32_t, R_ESP + 32)); }
+void vFuiuiiiip_32(x64emu_t *emu, uintptr_t fcn) { vFuiuiiiip_t fn = (vFuiuiiiip_t)fcn; fn(from_ptri(uint32_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_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28), from_ptriv(R_ESP + 32)); }
+void vFuiuiiiuU_32(x64emu_t *emu, uintptr_t fcn) { vFuiuiiiuU_t fn = (vFuiuiiiuU_t)fcn; fn(from_ptri(uint32_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_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptri(uint32_t, R_ESP + 28), from_ptri(uint64_t, R_ESP + 32)); }
+void vFuiuiiCuU_32(x64emu_t *emu, uintptr_t fcn) { vFuiuiiCuU_t fn = (vFuiuiiCuU_t)fcn; fn(from_ptri(uint32_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_ptri(int32_t, R_ESP + 20), from_ptri(uint8_t, R_ESP + 24), from_ptri(uint32_t, R_ESP + 28), from_ptri(uint64_t, R_ESP + 32)); }
+void vFuiuiuuuu_32(x64emu_t *emu, uintptr_t fcn) { vFuiuiuuuu_t fn = (vFuiuiuuuu_t)fcn; fn(from_ptri(uint32_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_ptri(uint32_t, R_ESP + 20), from_ptri(uint32_t, R_ESP + 24), from_ptri(uint32_t, R_ESP + 28), from_ptri(uint32_t, R_ESP + 32)); }
+void vFuCCCCfff_32(x64emu_t *emu, uintptr_t fcn) { vFuCCCCfff_t fn = (vFuCCCCfff_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint8_t, R_ESP + 8), from_ptri(uint8_t, R_ESP + 12), from_ptri(uint8_t, R_ESP + 16), from_ptri(uint8_t, R_ESP + 20), from_ptri(float, R_ESP + 24), from_ptri(float, R_ESP + 28), from_ptri(float, R_ESP + 32)); }
+void vFuuiiiiiC_32(x64emu_t *emu, uintptr_t fcn) { vFuuiiiiiC_t fn = (vFuuiiiiiC_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(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28), from_ptri(uint8_t, R_ESP + 32)); }
+void vFuuiiiuip_32(x64emu_t *emu, uintptr_t fcn) { vFuuiiiuip_t fn = (vFuuiiiuip_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(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(uint32_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28), from_ptriv(R_ESP + 32)); }
+void vFuuiiiuup_32(x64emu_t *emu, uintptr_t fcn) { vFuuiiiuup_t fn = (vFuuiiiuup_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(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(uint32_t, R_ESP + 24), from_ptri(uint32_t, R_ESP + 28), from_ptriv(R_ESP + 32)); }
+void vFuuiiuupp_32(x64emu_t *emu, uintptr_t fcn) { vFuuiiuupp_t fn = (vFuuiiuupp_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(int32_t, R_ESP + 16), from_ptri(uint32_t, R_ESP + 20), from_ptri(uint32_t, R_ESP + 24), from_ptriv(R_ESP + 28), from_ptriv(R_ESP + 32)); }
+void vFuuiuiiii_32(x64emu_t *emu, uintptr_t fcn) { vFuuiuiiii_t fn = (vFuuiuiiii_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_ptri(int32_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28), from_ptri(int32_t, R_ESP + 32)); }
+void vFuuiuiiiC_32(x64emu_t *emu, uintptr_t fcn) { vFuuiuiiiC_t fn = (vFuuiuiiiC_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_ptri(int32_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28), from_ptri(uint8_t, R_ESP + 32)); }
+void vFuuiuiiip_32(x64emu_t *emu, uintptr_t fcn) { vFuuiuiiip_t fn = (vFuuiuiiip_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_ptri(int32_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28), from_ptriv(R_ESP + 32)); }
+void vFuuuiiiiu_32(x64emu_t *emu, uintptr_t fcn) { vFuuuiiiiu_t fn = (vFuuuiiiiu_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), from_ptri(int32_t, R_ESP + 28), from_ptri(uint32_t, R_ESP + 32)); }
+void vFuuuiuCil_32(x64emu_t *emu, uintptr_t fcn) { vFuuuiuCil_t fn = (vFuuuiuCil_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_ptri(uint8_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28), to_long(from_ptri(long_t, R_ESP + 32))); }
+void vFuuuipipp_32(x64emu_t *emu, uintptr_t fcn) { vFuuuipipp_t fn = (vFuuuipipp_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(int32_t, R_ESP + 24), from_ptriv(R_ESP + 28), from_ptriv(R_ESP + 32)); }
+void vFuuuuuuuu_32(x64emu_t *emu, uintptr_t fcn) { vFuuuuuuuu_t fn = (vFuuuuuuuu_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptri(uint32_t, R_ESP + 16), from_ptri(uint32_t, R_ESP + 20), from_ptri(uint32_t, R_ESP + 24), from_ptri(uint32_t, R_ESP + 28), from_ptri(uint32_t, R_ESP + 32)); }
+void vFuuufffff_32(x64emu_t *emu, uintptr_t fcn) { vFuuufffff_t fn = (vFuuufffff_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(float, R_ESP + 16), from_ptri(float, R_ESP + 20), from_ptri(float, R_ESP + 24), from_ptri(float, R_ESP + 28), from_ptri(float, R_ESP + 32)); }
+void vFffffffff_32(x64emu_t *emu, uintptr_t fcn) { vFffffffff_t fn = (vFffffffff_t)fcn; fn(from_ptri(float, R_ESP + 4), from_ptri(float, R_ESP + 8), from_ptri(float, R_ESP + 12), from_ptri(float, R_ESP + 16), from_ptri(float, R_ESP + 20), from_ptri(float, R_ESP + 24), from_ptri(float, R_ESP + 28), from_ptri(float, R_ESP + 32)); }
 void iFEpippppp_32(x64emu_t *emu, uintptr_t fcn) { iFEpippppp_t fn = (iFEpippppp_t)fcn; R_EAX = fn(emu, from_ptriv(R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16), from_ptriv(R_ESP + 20), from_ptriv(R_ESP + 24), from_ptriv(R_ESP + 28)); }
+void iFppIIIppp_32(x64emu_t *emu, uintptr_t fcn) { iFppIIIppp_t fn = (iFppIIIppp_t)fcn; R_EAX = fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(int64_t, R_ESP + 12), from_ptri(int64_t, R_ESP + 20), from_ptri(int64_t, R_ESP + 28), from_ptriv(R_ESP + 36), from_ptriv(R_ESP + 40), from_ptriv(R_ESP + 44)); }
+void CFuiifpppp_32(x64emu_t *emu, uintptr_t fcn) { CFuiifpppp_t fn = (CFuiifpppp_t)fcn; R_EAX = (unsigned char)fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(float, R_ESP + 16), from_ptriv(R_ESP + 20), from_ptriv(R_ESP + 24), from_ptriv(R_ESP + 28), from_ptriv(R_ESP + 32)); }
+void uFuipppppp_32(x64emu_t *emu, uintptr_t fcn) { uFuipppppp_t fn = (uFuipppppp_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), from_ptriv(R_ESP + 16), from_ptriv(R_ESP + 20), from_ptriv(R_ESP + 24), from_ptriv(R_ESP + 28), from_ptriv(R_ESP + 32)); }
+void uFuupuuiuf_32(x64emu_t *emu, uintptr_t fcn) { uFuupuuiuf_t fn = (uFuupuuiuf_t)fcn; R_EAX = (uint32_t)fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptriv(R_ESP + 12), from_ptri(uint32_t, R_ESP + 16), from_ptri(uint32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptri(uint32_t, R_ESP + 28), from_ptri(float, R_ESP + 32)); }
+void uFulpppppp_32(x64emu_t *emu, uintptr_t fcn) { uFulpppppp_t fn = (uFulpppppp_t)fcn; R_EAX = (uint32_t)fn(from_ptri(uint32_t, R_ESP + 4), to_long(from_ptri(long_t, R_ESP + 8)), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16), from_ptriv(R_ESP + 20), from_ptriv(R_ESP + 24), from_ptriv(R_ESP + 28), from_ptriv(R_ESP + 32)); }
+void vFiiiiiiiii_32(x64emu_t *emu, uintptr_t fcn) { vFiiiiiiiii_t fn = (vFiiiiiiiii_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28), from_ptri(int32_t, R_ESP + 32), from_ptri(int32_t, R_ESP + 36)); }
+void vFiiiiiiill_32(x64emu_t *emu, uintptr_t fcn) { vFiiiiiiill_t fn = (vFiiiiiiill_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28), to_long(from_ptri(long_t, R_ESP + 32)), to_long(from_ptri(long_t, R_ESP + 36))); }
+void vFiiiiillli_32(x64emu_t *emu, uintptr_t fcn) { vFiiiiillli_t fn = (vFiiiiillli_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), to_long(from_ptri(long_t, R_ESP + 24)), to_long(from_ptri(long_t, R_ESP + 28)), to_long(from_ptri(long_t, R_ESP + 32)), from_ptri(int32_t, R_ESP + 36)); }
+void vFiiilllilp_32(x64emu_t *emu, uintptr_t fcn) { vFiiilllilp_t fn = (vFiiilllilp_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), to_long(from_ptri(long_t, R_ESP + 16)), to_long(from_ptri(long_t, R_ESP + 20)), to_long(from_ptri(long_t, R_ESP + 24)), from_ptri(int32_t, R_ESP + 28), to_long(from_ptri(long_t, R_ESP + 32)), from_ptriv(R_ESP + 36)); }
+void vFiupuiuuup_32(x64emu_t *emu, uintptr_t fcn) { vFiupuiuuup_t fn = (vFiupuiuuup_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptriv(R_ESP + 12), from_ptri(uint32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(uint32_t, R_ESP + 24), from_ptri(uint32_t, R_ESP + 28), from_ptri(uint32_t, R_ESP + 32), from_ptriv(R_ESP + 36)); }
+void vFiupuuuuup_32(x64emu_t *emu, uintptr_t fcn) { vFiupuuuuup_t fn = (vFiupuuuuup_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptriv(R_ESP + 12), from_ptri(uint32_t, R_ESP + 16), from_ptri(uint32_t, R_ESP + 20), from_ptri(uint32_t, R_ESP + 24), from_ptri(uint32_t, R_ESP + 28), from_ptri(uint32_t, R_ESP + 32), from_ptriv(R_ESP + 36)); }
+void vFuiiiiiiii_32(x64emu_t *emu, uintptr_t fcn) { vFuiiiiiiii_t fn = (vFuiiiiiiii_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28), from_ptri(int32_t, R_ESP + 32), from_ptri(int32_t, R_ESP + 36)); }
+void vFuiiiiiiiC_32(x64emu_t *emu, uintptr_t fcn) { vFuiiiiiiiC_t fn = (vFuiiiiiiiC_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28), from_ptri(int32_t, R_ESP + 32), from_ptri(uint8_t, R_ESP + 36)); }
+void vFuiiiiiuip_32(x64emu_t *emu, uintptr_t fcn) { vFuiiiiiuip_t fn = (vFuiiiiiuip_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptri(uint32_t, R_ESP + 28), from_ptri(int32_t, R_ESP + 32), from_ptriv(R_ESP + 36)); }
+void vFuiiiiiuup_32(x64emu_t *emu, uintptr_t fcn) { vFuiiiiiuup_t fn = (vFuiiiiiuup_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptri(uint32_t, R_ESP + 28), from_ptri(uint32_t, R_ESP + 32), from_ptriv(R_ESP + 36)); }
+void vFuiuiiiiip_32(x64emu_t *emu, uintptr_t fcn) { vFuiuiiiiip_t fn = (vFuiuiiiiip_t)fcn; fn(from_ptri(uint32_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_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28), from_ptri(int32_t, R_ESP + 32), from_ptriv(R_ESP + 36)); }
+void vFuiuiiiCuU_32(x64emu_t *emu, uintptr_t fcn) { vFuiuiiiCuU_t fn = (vFuiuiiiCuU_t)fcn; fn(from_ptri(uint32_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_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptri(uint8_t, R_ESP + 28), from_ptri(uint32_t, R_ESP + 32), from_ptri(uint64_t, R_ESP + 36)); }
+void vFuiupuffup_32(x64emu_t *emu, uintptr_t fcn) { vFuiupuffup_t fn = (vFuiupuffup_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptriv(R_ESP + 16), from_ptri(uint32_t, R_ESP + 20), from_ptri(float, R_ESP + 24), from_ptri(float, R_ESP + 28), from_ptri(uint32_t, R_ESP + 32), from_ptriv(R_ESP + 36)); }
+void vFuuiiiiiii_32(x64emu_t *emu, uintptr_t fcn) { vFuuiiiiiii_t fn = (vFuuiiiiiii_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(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28), from_ptri(int32_t, R_ESP + 32), from_ptri(int32_t, R_ESP + 36)); }
+void vFuuiiiiiiC_32(x64emu_t *emu, uintptr_t fcn) { vFuuiiiiiiC_t fn = (vFuuiiiiiiC_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(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28), from_ptri(int32_t, R_ESP + 32), from_ptri(uint8_t, R_ESP + 36)); }
+void vFuuiiiiuup_32(x64emu_t *emu, uintptr_t fcn) { vFuuiiiiuup_t fn = (vFuuiiiiuup_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(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptri(uint32_t, R_ESP + 28), from_ptri(uint32_t, R_ESP + 32), from_ptriv(R_ESP + 36)); }
+void vFuuiuiiiii_32(x64emu_t *emu, uintptr_t fcn) { vFuuiuiiiii_t fn = (vFuuiuiiiii_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_ptri(int32_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28), from_ptri(int32_t, R_ESP + 32), from_ptri(int32_t, R_ESP + 36)); }
+void vFuuiuiiiip_32(x64emu_t *emu, uintptr_t fcn) { vFuuiuiiiip_t fn = (vFuuiuiiiip_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_ptri(int32_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28), from_ptri(int32_t, R_ESP + 32), from_ptriv(R_ESP + 36)); }
+void vFuuuiiiiCp_32(x64emu_t *emu, uintptr_t fcn) { vFuuuiiiiCp_t fn = (vFuuuiiiiCp_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), from_ptri(int32_t, R_ESP + 28), from_ptri(uint8_t, R_ESP + 32), from_ptriv(R_ESP + 36)); }
+void vFuuuuuuuuu_32(x64emu_t *emu, uintptr_t fcn) { vFuuuuuuuuu_t fn = (vFuuuuuuuuu_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptri(uint32_t, R_ESP + 16), from_ptri(uint32_t, R_ESP + 20), from_ptri(uint32_t, R_ESP + 24), from_ptri(uint32_t, R_ESP + 28), from_ptri(uint32_t, R_ESP + 32), from_ptri(uint32_t, R_ESP + 36)); }
+void vFuupuuiuuf_32(x64emu_t *emu, uintptr_t fcn) { vFuupuuiuuf_t fn = (vFuupuuiuuf_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptriv(R_ESP + 12), from_ptri(uint32_t, R_ESP + 16), from_ptri(uint32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptri(uint32_t, R_ESP + 28), from_ptri(uint32_t, R_ESP + 32), from_ptri(float, R_ESP + 36)); }
+void vFuffffffff_32(x64emu_t *emu, uintptr_t fcn) { vFuffffffff_t fn = (vFuffffffff_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), from_ptri(float, R_ESP + 32), from_ptri(float, R_ESP + 36)); }
+void vFffCCCCfff_32(x64emu_t *emu, uintptr_t fcn) { vFffCCCCfff_t fn = (vFffCCCCfff_t)fcn; fn(from_ptri(float, R_ESP + 4), from_ptri(float, R_ESP + 8), from_ptri(uint8_t, R_ESP + 12), from_ptri(uint8_t, R_ESP + 16), from_ptri(uint8_t, R_ESP + 20), from_ptri(uint8_t, R_ESP + 24), from_ptri(float, R_ESP + 28), from_ptri(float, R_ESP + 32), from_ptri(float, R_ESP + 36)); }
+void uFuulpiuiuf_32(x64emu_t *emu, uintptr_t fcn) { uFuulpiuiuf_t fn = (uFuulpiuiuf_t)fcn; R_EAX = (uint32_t)fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), to_long(from_ptri(long_t, R_ESP + 12)), from_ptriv(R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(uint32_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28), from_ptri(uint32_t, R_ESP + 32), from_ptri(float, R_ESP + 36)); }
+void vFiiiiiiiiii_32(x64emu_t *emu, uintptr_t fcn) { vFiiiiiiiiii_t fn = (vFiiiiiiiiii_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28), from_ptri(int32_t, R_ESP + 32), from_ptri(int32_t, R_ESP + 36), from_ptri(int32_t, R_ESP + 40)); }
+void vFiiiiiiiiui_32(x64emu_t *emu, uintptr_t fcn) { vFiiiiiiiiui_t fn = (vFiiiiiiiiui_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28), from_ptri(int32_t, R_ESP + 32), from_ptri(uint32_t, R_ESP + 36), from_ptri(int32_t, R_ESP + 40)); }
+void vFiiiiiiiiuu_32(x64emu_t *emu, uintptr_t fcn) { vFiiiiiiiiuu_t fn = (vFiiiiiiiiuu_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28), from_ptri(int32_t, R_ESP + 32), from_ptri(uint32_t, R_ESP + 36), from_ptri(uint32_t, R_ESP + 40)); }
+void vFiiillliiip_32(x64emu_t *emu, uintptr_t fcn) { vFiiillliiip_t fn = (vFiiillliiip_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), to_long(from_ptri(long_t, R_ESP + 16)), to_long(from_ptri(long_t, R_ESP + 20)), to_long(from_ptri(long_t, R_ESP + 24)), from_ptri(int32_t, R_ESP + 28), from_ptri(int32_t, R_ESP + 32), from_ptri(int32_t, R_ESP + 36), from_ptriv(R_ESP + 40)); }
+void vFuiiiiiiiii_32(x64emu_t *emu, uintptr_t fcn) { vFuiiiiiiiii_t fn = (vFuiiiiiiiii_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28), from_ptri(int32_t, R_ESP + 32), from_ptri(int32_t, R_ESP + 36), from_ptri(int32_t, R_ESP + 40)); }
+void vFuiiiiiiiip_32(x64emu_t *emu, uintptr_t fcn) { vFuiiiiiiiip_t fn = (vFuiiiiiiiip_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28), from_ptri(int32_t, R_ESP + 32), from_ptri(int32_t, R_ESP + 36), from_ptriv(R_ESP + 40)); }
+void vFuiiiiiiuup_32(x64emu_t *emu, uintptr_t fcn) { vFuiiiiiiuup_t fn = (vFuiiiiiiuup_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28), from_ptri(uint32_t, R_ESP + 32), from_ptri(uint32_t, R_ESP + 36), from_ptriv(R_ESP + 40)); }
+void vFuiuiiiiuup_32(x64emu_t *emu, uintptr_t fcn) { vFuiuiiiiuup_t fn = (vFuiuiiiiuup_t)fcn; fn(from_ptri(uint32_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_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28), from_ptri(uint32_t, R_ESP + 32), from_ptri(uint32_t, R_ESP + 36), from_ptriv(R_ESP + 40)); }
+void vFuuiiiiiiii_32(x64emu_t *emu, uintptr_t fcn) { vFuuiiiiiiii_t fn = (vFuuiiiiiiii_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(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28), from_ptri(int32_t, R_ESP + 32), from_ptri(int32_t, R_ESP + 36), from_ptri(int32_t, R_ESP + 40)); }
+void vFuuiiiiiuip_32(x64emu_t *emu, uintptr_t fcn) { vFuuiiiiiuip_t fn = (vFuuiiiiiuip_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(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28), from_ptri(uint32_t, R_ESP + 32), from_ptri(int32_t, R_ESP + 36), from_ptriv(R_ESP + 40)); }
+void vFuuiiiiiuup_32(x64emu_t *emu, uintptr_t fcn) { vFuuiiiiiuup_t fn = (vFuuiiiiiuup_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(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28), from_ptri(uint32_t, R_ESP + 32), from_ptri(uint32_t, R_ESP + 36), from_ptriv(R_ESP + 40)); }
+void vFuuiuiiiiip_32(x64emu_t *emu, uintptr_t fcn) { vFuuiuiiiiip_t fn = (vFuuiuiiiiip_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_ptri(int32_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28), from_ptri(int32_t, R_ESP + 32), from_ptri(int32_t, R_ESP + 36), from_ptriv(R_ESP + 40)); }
+void vFuuuuuuuCCC_32(x64emu_t *emu, uintptr_t fcn) { vFuuuuuuuCCC_t fn = (vFuuuuuuuCCC_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptri(uint32_t, R_ESP + 16), from_ptri(uint32_t, R_ESP + 20), from_ptri(uint32_t, R_ESP + 24), from_ptri(uint32_t, R_ESP + 28), from_ptri(uint8_t, R_ESP + 32), from_ptri(uint8_t, R_ESP + 36), from_ptri(uint8_t, R_ESP + 40)); }
+void vFuuuuuuuuuu_32(x64emu_t *emu, uintptr_t fcn) { vFuuuuuuuuuu_t fn = (vFuuuuuuuuuu_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptri(uint32_t, R_ESP + 16), from_ptri(uint32_t, R_ESP + 20), from_ptri(uint32_t, R_ESP + 24), from_ptri(uint32_t, R_ESP + 28), from_ptri(uint32_t, R_ESP + 32), from_ptri(uint32_t, R_ESP + 36), from_ptri(uint32_t, R_ESP + 40)); }
+void vFuupuiupuuf_32(x64emu_t *emu, uintptr_t fcn) { vFuupuiupuuf_t fn = (vFuupuiupuuf_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptriv(R_ESP + 12), from_ptri(uint32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(uint32_t, R_ESP + 24), from_ptriv(R_ESP + 28), from_ptri(uint32_t, R_ESP + 32), from_ptri(uint32_t, R_ESP + 36), from_ptri(float, R_ESP + 40)); }
+void vFuffiiffiip_32(x64emu_t *emu, uintptr_t fcn) { vFuffiiffiip_t fn = (vFuffiiffiip_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(float, R_ESP + 8), from_ptri(float, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(float, R_ESP + 24), from_ptri(float, R_ESP + 28), from_ptri(int32_t, R_ESP + 32), from_ptri(int32_t, R_ESP + 36), from_ptriv(R_ESP + 40)); }
+void vFuddiiddiip_32(x64emu_t *emu, uintptr_t fcn) { vFuddiiddiip_t fn = (vFuddiiddiip_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_ptri(double, R_ESP + 32), from_ptri(double, R_ESP + 40), from_ptri(int32_t, R_ESP + 48), from_ptri(int32_t, R_ESP + 52), from_ptriv(R_ESP + 56)); }
+void vFffffffffff_32(x64emu_t *emu, uintptr_t fcn) { vFffffffffff_t fn = (vFffffffffff_t)fcn; fn(from_ptri(float, R_ESP + 4), from_ptri(float, R_ESP + 8), from_ptri(float, R_ESP + 12), from_ptri(float, R_ESP + 16), from_ptri(float, R_ESP + 20), from_ptri(float, R_ESP + 24), from_ptri(float, R_ESP + 28), from_ptri(float, R_ESP + 32), from_ptri(float, R_ESP + 36), from_ptri(float, R_ESP + 40)); }
+void vFiiiiillliip_32(x64emu_t *emu, uintptr_t fcn) { vFiiiiillliip_t fn = (vFiiiiillliip_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), to_long(from_ptri(long_t, R_ESP + 24)), to_long(from_ptri(long_t, R_ESP + 28)), to_long(from_ptri(long_t, R_ESP + 32)), from_ptri(int32_t, R_ESP + 36), from_ptri(int32_t, R_ESP + 40), from_ptriv(R_ESP + 44)); }
+void vFiiiiilllilp_32(x64emu_t *emu, uintptr_t fcn) { vFiiiiilllilp_t fn = (vFiiiiilllilp_t)fcn; fn(from_ptri(int32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), to_long(from_ptri(long_t, R_ESP + 24)), to_long(from_ptri(long_t, R_ESP + 28)), to_long(from_ptri(long_t, R_ESP + 32)), from_ptri(int32_t, R_ESP + 36), to_long(from_ptri(long_t, R_ESP + 40)), from_ptriv(R_ESP + 44)); }
+void vFuiiiiiiiuip_32(x64emu_t *emu, uintptr_t fcn) { vFuiiiiiiiuip_t fn = (vFuiiiiiiiuip_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28), from_ptri(int32_t, R_ESP + 32), from_ptri(uint32_t, R_ESP + 36), from_ptri(int32_t, R_ESP + 40), from_ptriv(R_ESP + 44)); }
+void vFuiiiiiiiuup_32(x64emu_t *emu, uintptr_t fcn) { vFuiiiiiiiuup_t fn = (vFuiiiiiiiuup_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28), from_ptri(int32_t, R_ESP + 32), from_ptri(uint32_t, R_ESP + 36), from_ptri(uint32_t, R_ESP + 40), from_ptriv(R_ESP + 44)); }
+void vFuiiiillliip_32(x64emu_t *emu, uintptr_t fcn) { vFuiiiillliip_t fn = (vFuiiiillliip_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), to_long(from_ptri(long_t, R_ESP + 24)), to_long(from_ptri(long_t, R_ESP + 28)), to_long(from_ptri(long_t, R_ESP + 32)), from_ptri(int32_t, R_ESP + 36), from_ptri(int32_t, R_ESP + 40), from_ptriv(R_ESP + 44)); }
+void vFuiuiiiiiuup_32(x64emu_t *emu, uintptr_t fcn) { vFuiuiiiiiuup_t fn = (vFuiuiiiiiuup_t)fcn; fn(from_ptri(uint32_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_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28), from_ptri(int32_t, R_ESP + 32), from_ptri(uint32_t, R_ESP + 36), from_ptri(uint32_t, R_ESP + 40), from_ptriv(R_ESP + 44)); }
+void vFuuiiiiiiuup_32(x64emu_t *emu, uintptr_t fcn) { vFuuiiiiiiuup_t fn = (vFuuiiiiiiuup_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(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28), from_ptri(int32_t, R_ESP + 32), from_ptri(uint32_t, R_ESP + 36), from_ptri(uint32_t, R_ESP + 40), from_ptriv(R_ESP + 44)); }
+void vFuuupupppppp_32(x64emu_t *emu, uintptr_t fcn) { vFuuupupppppp_t fn = (vFuuupupppppp_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_ptriv(R_ESP + 16), from_ptri(uint32_t, R_ESP + 20), from_ptriv(R_ESP + 24), from_ptriv(R_ESP + 28), from_ptriv(R_ESP + 32), from_ptriv(R_ESP + 36), from_ptriv(R_ESP + 40), from_ptriv(R_ESP + 44)); }
+void vFuuffiiffiip_32(x64emu_t *emu, uintptr_t fcn) { vFuuffiiffiip_t fn = (vFuuffiiffiip_t)fcn; 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), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptri(float, R_ESP + 28), from_ptri(float, R_ESP + 32), from_ptri(int32_t, R_ESP + 36), from_ptri(int32_t, R_ESP + 40), from_ptriv(R_ESP + 44)); }
+void vFuufffffffff_32(x64emu_t *emu, uintptr_t fcn) { vFuufffffffff_t fn = (vFuufffffffff_t)fcn; 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), from_ptri(float, R_ESP + 20), from_ptri(float, R_ESP + 24), from_ptri(float, R_ESP + 28), from_ptri(float, R_ESP + 32), from_ptri(float, R_ESP + 36), from_ptri(float, R_ESP + 40), from_ptri(float, R_ESP + 44)); }
+void vFuuddiiddiip_32(x64emu_t *emu, uintptr_t fcn) { vFuuddiiddiip_t fn = (vFuuddiiddiip_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_ptri(double, R_ESP + 36), from_ptri(double, R_ESP + 44), from_ptri(int32_t, R_ESP + 52), from_ptri(int32_t, R_ESP + 56), from_ptriv(R_ESP + 60)); }
+void vFuUuuuuuuuuu_32(x64emu_t *emu, uintptr_t fcn) { vFuUuuuuuuuuu_t fn = (vFuUuuuuuuuuu_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint64_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 16), from_ptri(uint32_t, R_ESP + 20), from_ptri(uint32_t, R_ESP + 24), from_ptri(uint32_t, R_ESP + 28), from_ptri(uint32_t, R_ESP + 32), from_ptri(uint32_t, R_ESP + 36), from_ptri(uint32_t, R_ESP + 40), from_ptri(uint32_t, R_ESP + 44), from_ptri(uint32_t, R_ESP + 48)); }
+void vFuffffffffff_32(x64emu_t *emu, uintptr_t fcn) { vFuffffffffff_t fn = (vFuffffffffff_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), from_ptri(float, R_ESP + 32), from_ptri(float, R_ESP + 36), from_ptri(float, R_ESP + 40), from_ptri(float, R_ESP + 44)); }
+void vFUufffffffff_32(x64emu_t *emu, uintptr_t fcn) { vFUufffffffff_t fn = (vFUufffffffff_t)fcn; fn(from_ptri(uint64_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 12), from_ptri(float, R_ESP + 16), from_ptri(float, R_ESP + 20), from_ptri(float, R_ESP + 24), from_ptri(float, R_ESP + 28), from_ptri(float, R_ESP + 32), from_ptri(float, R_ESP + 36), from_ptri(float, R_ESP + 40), from_ptri(float, R_ESP + 44), from_ptri(float, R_ESP + 48)); }
+void vFuiiiiiiiiuUC_32(x64emu_t *emu, uintptr_t fcn) { vFuiiiiiiiiuUC_t fn = (vFuiiiiiiiiuUC_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28), from_ptri(int32_t, R_ESP + 32), from_ptri(int32_t, R_ESP + 36), from_ptri(uint32_t, R_ESP + 40), from_ptri(uint64_t, R_ESP + 44), from_ptri(uint8_t, R_ESP + 52)); }
+void vFuiiiiiiiuuip_32(x64emu_t *emu, uintptr_t fcn) { vFuiiiiiiiuuip_t fn = (vFuiiiiiiiuuip_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28), from_ptri(int32_t, R_ESP + 32), from_ptri(uint32_t, R_ESP + 36), from_ptri(uint32_t, R_ESP + 40), from_ptri(int32_t, R_ESP + 44), from_ptriv(R_ESP + 48)); }
+void vFuuiiiiiiiiuu_32(x64emu_t *emu, uintptr_t fcn) { vFuuiiiiiiiiuu_t fn = (vFuuiiiiiiiiuu_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(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28), from_ptri(int32_t, R_ESP + 32), from_ptri(int32_t, R_ESP + 36), from_ptri(int32_t, R_ESP + 40), from_ptri(uint32_t, R_ESP + 44), from_ptri(uint32_t, R_ESP + 48)); }
+void vFuuiiiiiiiuip_32(x64emu_t *emu, uintptr_t fcn) { vFuuiiiiiiiuip_t fn = (vFuuiiiiiiiuip_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(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28), from_ptri(int32_t, R_ESP + 32), from_ptri(int32_t, R_ESP + 36), from_ptri(uint32_t, R_ESP + 40), from_ptri(int32_t, R_ESP + 44), from_ptriv(R_ESP + 48)); }
+void vFuuiiiiiiiuup_32(x64emu_t *emu, uintptr_t fcn) { vFuuiiiiiiiuup_t fn = (vFuuiiiiiiiuup_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(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28), from_ptri(int32_t, R_ESP + 32), from_ptri(int32_t, R_ESP + 36), from_ptri(uint32_t, R_ESP + 40), from_ptri(uint32_t, R_ESP + 44), from_ptriv(R_ESP + 48)); }
+void vFuuuuuuuuuuuu_32(x64emu_t *emu, uintptr_t fcn) { vFuuuuuuuuuuuu_t fn = (vFuuuuuuuuuuuu_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptri(uint32_t, R_ESP + 16), from_ptri(uint32_t, R_ESP + 20), from_ptri(uint32_t, R_ESP + 24), from_ptri(uint32_t, R_ESP + 28), from_ptri(uint32_t, R_ESP + 32), from_ptri(uint32_t, R_ESP + 36), from_ptri(uint32_t, R_ESP + 40), from_ptri(uint32_t, R_ESP + 44), from_ptri(uint32_t, R_ESP + 48)); }
+void vFffffffffffff_32(x64emu_t *emu, uintptr_t fcn) { vFffffffffffff_t fn = (vFffffffffffff_t)fcn; fn(from_ptri(float, R_ESP + 4), from_ptri(float, R_ESP + 8), from_ptri(float, R_ESP + 12), from_ptri(float, R_ESP + 16), from_ptri(float, R_ESP + 20), from_ptri(float, R_ESP + 24), from_ptri(float, R_ESP + 28), from_ptri(float, R_ESP + 32), from_ptri(float, R_ESP + 36), from_ptri(float, R_ESP + 40), from_ptri(float, R_ESP + 44), from_ptri(float, R_ESP + 48)); }
+void vFuiiiiiiiiiuup_32(x64emu_t *emu, uintptr_t fcn) { vFuiiiiiiiiiuup_t fn = (vFuiiiiiiiiiuup_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28), from_ptri(int32_t, R_ESP + 32), from_ptri(int32_t, R_ESP + 36), from_ptri(int32_t, R_ESP + 40), from_ptri(uint32_t, R_ESP + 44), from_ptri(uint32_t, R_ESP + 48), from_ptriv(R_ESP + 52)); }
+void vFuuuuuuuuuuuuu_32(x64emu_t *emu, uintptr_t fcn) { vFuuuuuuuuuuuuu_t fn = (vFuuuuuuuuuuuuu_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptri(uint32_t, R_ESP + 16), from_ptri(uint32_t, R_ESP + 20), from_ptri(uint32_t, R_ESP + 24), from_ptri(uint32_t, R_ESP + 28), from_ptri(uint32_t, R_ESP + 32), from_ptri(uint32_t, R_ESP + 36), from_ptri(uint32_t, R_ESP + 40), from_ptri(uint32_t, R_ESP + 44), from_ptri(uint32_t, R_ESP + 48), from_ptri(uint32_t, R_ESP + 52)); }
+void vFuUuuuuuuuuuuu_32(x64emu_t *emu, uintptr_t fcn) { vFuUuuuuuuuuuuu_t fn = (vFuUuuuuuuuuuuu_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint64_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 16), from_ptri(uint32_t, R_ESP + 20), from_ptri(uint32_t, R_ESP + 24), from_ptri(uint32_t, R_ESP + 28), from_ptri(uint32_t, R_ESP + 32), from_ptri(uint32_t, R_ESP + 36), from_ptri(uint32_t, R_ESP + 40), from_ptri(uint32_t, R_ESP + 44), from_ptri(uint32_t, R_ESP + 48), from_ptri(uint32_t, R_ESP + 52), from_ptri(uint32_t, R_ESP + 56)); }
+void vFuffffffffffff_32(x64emu_t *emu, uintptr_t fcn) { vFuffffffffffff_t fn = (vFuffffffffffff_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), from_ptri(float, R_ESP + 32), from_ptri(float, R_ESP + 36), from_ptri(float, R_ESP + 40), from_ptri(float, R_ESP + 44), from_ptri(float, R_ESP + 48), from_ptri(float, R_ESP + 52)); }
+void uFippuuuulllipp_32(x64emu_t *emu, uintptr_t fcn) { uFippuuuulllipp_t fn = (uFippuuuulllipp_t)fcn; R_EAX = (uint32_t)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), from_ptri(uint32_t, R_ESP + 20), from_ptri(uint32_t, R_ESP + 24), from_ptri(uint32_t, R_ESP + 28), to_long(from_ptri(long_t, R_ESP + 32)), to_long(from_ptri(long_t, R_ESP + 36)), to_long(from_ptri(long_t, R_ESP + 40)), from_ptri(int32_t, R_ESP + 44), from_ptriv(R_ESP + 48), from_ptriv(R_ESP + 52)); }
+void vFuffiiffiiffiip_32(x64emu_t *emu, uintptr_t fcn) { vFuffiiffiiffiip_t fn = (vFuffiiffiiffiip_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(float, R_ESP + 8), from_ptri(float, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(float, R_ESP + 24), from_ptri(float, R_ESP + 28), from_ptri(int32_t, R_ESP + 32), from_ptri(int32_t, R_ESP + 36), from_ptri(float, R_ESP + 40), from_ptri(float, R_ESP + 44), from_ptri(int32_t, R_ESP + 48), from_ptri(int32_t, R_ESP + 52), from_ptriv(R_ESP + 56)); }
+void vFuddiiddiiddiip_32(x64emu_t *emu, uintptr_t fcn) { vFuddiiddiiddiip_t fn = (vFuddiiddiiddiip_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_ptri(double, R_ESP + 32), from_ptri(double, R_ESP + 40), from_ptri(int32_t, R_ESP + 48), from_ptri(int32_t, R_ESP + 52), from_ptri(double, R_ESP + 56), from_ptri(double, R_ESP + 64), from_ptri(int32_t, R_ESP + 72), from_ptri(int32_t, R_ESP + 76), from_ptriv(R_ESP + 80)); }
+void vFuiiiiiuiiiiilll_32(x64emu_t *emu, uintptr_t fcn) { vFuiiiiiuiiiiilll_t fn = (vFuiiiiiuiiiiilll_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(int32_t, R_ESP + 8), from_ptri(int32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptri(uint32_t, R_ESP + 28), from_ptri(int32_t, R_ESP + 32), from_ptri(int32_t, R_ESP + 36), from_ptri(int32_t, R_ESP + 40), from_ptri(int32_t, R_ESP + 44), from_ptri(int32_t, R_ESP + 48), to_long(from_ptri(long_t, R_ESP + 52)), to_long(from_ptri(long_t, R_ESP + 56)), to_long(from_ptri(long_t, R_ESP + 60))); }
+void vFuuiiiiuuiiiiiii_32(x64emu_t *emu, uintptr_t fcn) { vFuuiiiiuuiiiiiii_t fn = (vFuuiiiiuuiiiiiii_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(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptri(uint32_t, R_ESP + 28), from_ptri(uint32_t, R_ESP + 32), from_ptri(int32_t, R_ESP + 36), from_ptri(int32_t, R_ESP + 40), from_ptri(int32_t, R_ESP + 44), from_ptri(int32_t, R_ESP + 48), from_ptri(int32_t, R_ESP + 52), from_ptri(int32_t, R_ESP + 56), from_ptri(int32_t, R_ESP + 60)); }
+void vFfffffffffffffff_32(x64emu_t *emu, uintptr_t fcn) { vFfffffffffffffff_t fn = (vFfffffffffffffff_t)fcn; fn(from_ptri(float, R_ESP + 4), from_ptri(float, R_ESP + 8), from_ptri(float, R_ESP + 12), from_ptri(float, R_ESP + 16), from_ptri(float, R_ESP + 20), from_ptri(float, R_ESP + 24), from_ptri(float, R_ESP + 28), from_ptri(float, R_ESP + 32), from_ptri(float, R_ESP + 36), from_ptri(float, R_ESP + 40), from_ptri(float, R_ESP + 44), from_ptri(float, R_ESP + 48), from_ptri(float, R_ESP + 52), from_ptri(float, R_ESP + 56), from_ptri(float, R_ESP + 60)); }
+void vFuuuuiiiiuuiiiiiii_32(x64emu_t *emu, uintptr_t fcn) { vFuuuuiiiiuuiiiiiii_t fn = (vFuuuuiiiiuuiiiiiii_t)fcn; fn(from_ptri(uint32_t, R_ESP + 4), from_ptri(uint32_t, R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptri(uint32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28), from_ptri(int32_t, R_ESP + 32), from_ptri(uint32_t, R_ESP + 36), from_ptri(uint32_t, R_ESP + 40), from_ptri(int32_t, R_ESP + 44), from_ptri(int32_t, R_ESP + 48), from_ptri(int32_t, R_ESP + 52), from_ptri(int32_t, R_ESP + 56), from_ptri(int32_t, R_ESP + 60), from_ptri(int32_t, R_ESP + 64), from_ptri(int32_t, R_ESP + 68)); }
+void vFppuiiiiipuiiiiiiii_32(x64emu_t *emu, uintptr_t fcn) { vFppuiiiiipuiiiiiiii_t fn = (vFppuiiiiipuiiiiiiii_t)fcn; fn(from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptri(uint32_t, R_ESP + 12), from_ptri(int32_t, R_ESP + 16), from_ptri(int32_t, R_ESP + 20), from_ptri(int32_t, R_ESP + 24), from_ptri(int32_t, R_ESP + 28), from_ptri(int32_t, R_ESP + 32), from_ptriv(R_ESP + 36), from_ptri(uint32_t, R_ESP + 40), from_ptri(int32_t, R_ESP + 44), from_ptri(int32_t, R_ESP + 48), from_ptri(int32_t, R_ESP + 52), from_ptri(int32_t, R_ESP + 56), from_ptri(int32_t, R_ESP + 60), from_ptri(int32_t, R_ESP + 64), from_ptri(int32_t, R_ESP + 68), from_ptri(int32_t, R_ESP + 72)); }
+void uFippuuuuiiiiuuiiiiiiiipp_32(x64emu_t *emu, uintptr_t fcn) { uFippuuuuiiiiuuiiiiiiiipp_t fn = (uFippuuuuiiiiuuiiiiiiiipp_t)fcn; R_EAX = (uint32_t)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), from_ptri(uint32_t, R_ESP + 20), from_ptri(uint32_t, R_ESP + 24), from_ptri(uint32_t, R_ESP + 28), from_ptri(int32_t, R_ESP + 32), from_ptri(int32_t, R_ESP + 36), from_ptri(int32_t, R_ESP + 40), from_ptri(int32_t, R_ESP + 44), from_ptri(uint32_t, R_ESP + 48), from_ptri(uint32_t, R_ESP + 52), from_ptri(int32_t, R_ESP + 56), from_ptri(int32_t, R_ESP + 60), from_ptri(int32_t, R_ESP + 64), from_ptri(int32_t, R_ESP + 68), from_ptri(int32_t, R_ESP + 72), from_ptri(int32_t, R_ESP + 76), from_ptri(int32_t, R_ESP + 80), from_ptri(int32_t, R_ESP + 84), from_ptriv(R_ESP + 88), from_ptriv(R_ESP + 92)); }
 
 #if defined(ANDROID)
 void vFEpppp_32(x64emu_t *emu, uintptr_t fcn) { vFEpppp_t fn = (vFEpppp_t)fcn; fn(emu, from_ptriv(R_ESP + 4), from_ptriv(R_ESP + 8), from_ptriv(R_ESP + 12), from_ptriv(R_ESP + 16)); }
@@ -679,6 +1803,7 @@ int isRetX87Wrapper32(wrapper_t fun) {
 	if (fun == &dFdp_32) return 1;
 	if (fun == &fFpBp__32) return 1;
 	if (fun == &dFpBp__32) return 1;
+	if (fun == &fFuii_32) return 1;
 	if (fun == &fFfff_32) return 1;
 	if (fun == &fFffp_32) return 1;
 	if (fun == &fFppa_32) return 1;
diff --git a/src/wrapped32/generated/wrapper32.h b/src/wrapped32/generated/wrapper32.h
index 7c87c1d5..330ff09d 100644
--- a/src/wrapped32/generated/wrapper32.h
+++ b/src/wrapped32/generated/wrapper32.h
@@ -39,8 +39,16 @@ typedef void (*wrapper_t)(x64emu_t* emu, uintptr_t fnc);
 // t = char* as a return value (copies to a lower address if the return address is too high)
 
 void vFv_32(x64emu_t *emu, uintptr_t fnc);
+void vFc_32(x64emu_t *emu, uintptr_t fnc);
+void vFw_32(x64emu_t *emu, uintptr_t fnc);
 void vFi_32(x64emu_t *emu, uintptr_t fnc);
+void vFC_32(x64emu_t *emu, uintptr_t fnc);
+void vFW_32(x64emu_t *emu, uintptr_t fnc);
 void vFu_32(x64emu_t *emu, uintptr_t fnc);
+void vFU_32(x64emu_t *emu, uintptr_t fnc);
+void vFf_32(x64emu_t *emu, uintptr_t fnc);
+void vFd_32(x64emu_t *emu, uintptr_t fnc);
+void vFl_32(x64emu_t *emu, uintptr_t fnc);
 void vFp_32(x64emu_t *emu, uintptr_t fnc);
 void vFA_32(x64emu_t *emu, uintptr_t fnc);
 void vFS_32(x64emu_t *emu, uintptr_t fnc);
@@ -57,16 +65,24 @@ void iFS_32(x64emu_t *emu, uintptr_t fnc);
 void IFf_32(x64emu_t *emu, uintptr_t fnc);
 void IFd_32(x64emu_t *emu, uintptr_t fnc);
 void IFS_32(x64emu_t *emu, uintptr_t fnc);
+void CFu_32(x64emu_t *emu, uintptr_t fnc);
+void CFU_32(x64emu_t *emu, uintptr_t fnc);
+void CFl_32(x64emu_t *emu, uintptr_t fnc);
+void CFp_32(x64emu_t *emu, uintptr_t fnc);
+void WFu_32(x64emu_t *emu, uintptr_t fnc);
 void uFv_32(x64emu_t *emu, uintptr_t fnc);
+void uFi_32(x64emu_t *emu, uintptr_t fnc);
 void uFu_32(x64emu_t *emu, uintptr_t fnc);
 void uFU_32(x64emu_t *emu, uintptr_t fnc);
 void uFp_32(x64emu_t *emu, uintptr_t fnc);
+void UFu_32(x64emu_t *emu, uintptr_t fnc);
 void UFp_32(x64emu_t *emu, uintptr_t fnc);
 void UFs_32(x64emu_t *emu, uintptr_t fnc);
 void fFf_32(x64emu_t *emu, uintptr_t fnc);
 void dFv_32(x64emu_t *emu, uintptr_t fnc);
 void dFd_32(x64emu_t *emu, uintptr_t fnc);
 void lFi_32(x64emu_t *emu, uintptr_t fnc);
+void lFu_32(x64emu_t *emu, uintptr_t fnc);
 void lFp_32(x64emu_t *emu, uintptr_t fnc);
 void lFS_32(x64emu_t *emu, uintptr_t fnc);
 void LFv_32(x64emu_t *emu, uintptr_t fnc);
@@ -86,6 +102,37 @@ void pFrL__32(x64emu_t *emu, uintptr_t fnc);
 void LFriiiiiiiiilt__32(x64emu_t *emu, uintptr_t fnc);
 void vFEv_32(x64emu_t *emu, uintptr_t fnc);
 void vFEp_32(x64emu_t *emu, uintptr_t fnc);
+void vFcc_32(x64emu_t *emu, uintptr_t fnc);
+void vFww_32(x64emu_t *emu, uintptr_t fnc);
+void vFii_32(x64emu_t *emu, uintptr_t fnc);
+void vFiI_32(x64emu_t *emu, uintptr_t fnc);
+void vFiW_32(x64emu_t *emu, uintptr_t fnc);
+void vFiu_32(x64emu_t *emu, uintptr_t fnc);
+void vFiU_32(x64emu_t *emu, uintptr_t fnc);
+void vFif_32(x64emu_t *emu, uintptr_t fnc);
+void vFid_32(x64emu_t *emu, uintptr_t fnc);
+void vFip_32(x64emu_t *emu, uintptr_t fnc);
+void vFWW_32(x64emu_t *emu, uintptr_t fnc);
+void vFuc_32(x64emu_t *emu, uintptr_t fnc);
+void vFuw_32(x64emu_t *emu, uintptr_t fnc);
+void vFui_32(x64emu_t *emu, uintptr_t fnc);
+void vFuI_32(x64emu_t *emu, uintptr_t fnc);
+void vFuC_32(x64emu_t *emu, uintptr_t fnc);
+void vFuW_32(x64emu_t *emu, uintptr_t fnc);
+void vFuu_32(x64emu_t *emu, uintptr_t fnc);
+void vFuU_32(x64emu_t *emu, uintptr_t fnc);
+void vFuf_32(x64emu_t *emu, uintptr_t fnc);
+void vFud_32(x64emu_t *emu, uintptr_t fnc);
+void vFul_32(x64emu_t *emu, uintptr_t fnc);
+void vFup_32(x64emu_t *emu, uintptr_t fnc);
+void vFUu_32(x64emu_t *emu, uintptr_t fnc);
+void vFfC_32(x64emu_t *emu, uintptr_t fnc);
+void vFff_32(x64emu_t *emu, uintptr_t fnc);
+void vFdd_32(x64emu_t *emu, uintptr_t fnc);
+void vFlu_32(x64emu_t *emu, uintptr_t fnc);
+void vFlp_32(x64emu_t *emu, uintptr_t fnc);
+void vFpp_32(x64emu_t *emu, uintptr_t fnc);
+void wFpi_32(x64emu_t *emu, uintptr_t fnc);
 void iFEv_32(x64emu_t *emu, uintptr_t fnc);
 void iFEi_32(x64emu_t *emu, uintptr_t fnc);
 void iFEL_32(x64emu_t *emu, uintptr_t fnc);
@@ -112,10 +159,19 @@ void iFhi_32(x64emu_t *emu, uintptr_t fnc);
 void iFhp_32(x64emu_t *emu, uintptr_t fnc);
 void iFhh_32(x64emu_t *emu, uintptr_t fnc);
 void IFII_32(x64emu_t *emu, uintptr_t fnc);
+void CFip_32(x64emu_t *emu, uintptr_t fnc);
+void CFuu_32(x64emu_t *emu, uintptr_t fnc);
+void CFuU_32(x64emu_t *emu, uintptr_t fnc);
+void CFpi_32(x64emu_t *emu, uintptr_t fnc);
 void uFEu_32(x64emu_t *emu, uintptr_t fnc);
 void uFEV_32(x64emu_t *emu, uintptr_t fnc);
+void uFuu_32(x64emu_t *emu, uintptr_t fnc);
+void uFup_32(x64emu_t *emu, uintptr_t fnc);
+void uFpi_32(x64emu_t *emu, uintptr_t fnc);
+void uFpp_32(x64emu_t *emu, uintptr_t fnc);
 void uFpa_32(x64emu_t *emu, uintptr_t fnc);
 void UFii_32(x64emu_t *emu, uintptr_t fnc);
+void UFuu_32(x64emu_t *emu, uintptr_t fnc);
 void UFUU_32(x64emu_t *emu, uintptr_t fnc);
 void UFss_32(x64emu_t *emu, uintptr_t fnc);
 void fFif_32(x64emu_t *emu, uintptr_t fnc);
@@ -128,15 +184,19 @@ void dFdi_32(x64emu_t *emu, uintptr_t fnc);
 void dFdd_32(x64emu_t *emu, uintptr_t fnc);
 void dFdD_32(x64emu_t *emu, uintptr_t fnc);
 void dFdp_32(x64emu_t *emu, uintptr_t fnc);
+void lFui_32(x64emu_t *emu, uintptr_t fnc);
 void LFpL_32(x64emu_t *emu, uintptr_t fnc);
 void LFpp_32(x64emu_t *emu, uintptr_t fnc);
 void pFEv_32(x64emu_t *emu, uintptr_t fnc);
 void pFEu_32(x64emu_t *emu, uintptr_t fnc);
 void pFEp_32(x64emu_t *emu, uintptr_t fnc);
 void pFES_32(x64emu_t *emu, uintptr_t fnc);
+void pFiu_32(x64emu_t *emu, uintptr_t fnc);
 void pFia_32(x64emu_t *emu, uintptr_t fnc);
+void pFuu_32(x64emu_t *emu, uintptr_t fnc);
 void pFLL_32(x64emu_t *emu, uintptr_t fnc);
 void pFpi_32(x64emu_t *emu, uintptr_t fnc);
+void pFpu_32(x64emu_t *emu, uintptr_t fnc);
 void pFpL_32(x64emu_t *emu, uintptr_t fnc);
 void pFpp_32(x64emu_t *emu, uintptr_t fnc);
 void SFpp_32(x64emu_t *emu, uintptr_t fnc);
@@ -155,9 +215,65 @@ void pFriiiiiiiiilt_p_32(x64emu_t *emu, uintptr_t fnc);
 void vFEip_32(x64emu_t *emu, uintptr_t fnc);
 void vFEpi_32(x64emu_t *emu, uintptr_t fnc);
 void vFEpu_32(x64emu_t *emu, uintptr_t fnc);
+void vFEpp_32(x64emu_t *emu, uintptr_t fnc);
+void vFccc_32(x64emu_t *emu, uintptr_t fnc);
+void vFwww_32(x64emu_t *emu, uintptr_t fnc);
+void vFiii_32(x64emu_t *emu, uintptr_t fnc);
+void vFiif_32(x64emu_t *emu, uintptr_t fnc);
+void vFiip_32(x64emu_t *emu, uintptr_t fnc);
+void vFiII_32(x64emu_t *emu, uintptr_t fnc);
+void vFiui_32(x64emu_t *emu, uintptr_t fnc);
+void vFiuu_32(x64emu_t *emu, uintptr_t fnc);
+void vFiup_32(x64emu_t *emu, uintptr_t fnc);
+void vFiUU_32(x64emu_t *emu, uintptr_t fnc);
+void vFiff_32(x64emu_t *emu, uintptr_t fnc);
+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);
+void vFWWW_32(x64emu_t *emu, uintptr_t fnc);
+void vFucc_32(x64emu_t *emu, uintptr_t fnc);
+void vFuww_32(x64emu_t *emu, uintptr_t fnc);
+void vFuii_32(x64emu_t *emu, uintptr_t fnc);
+void vFuiI_32(x64emu_t *emu, uintptr_t fnc);
+void vFuiu_32(x64emu_t *emu, uintptr_t fnc);
+void vFuiU_32(x64emu_t *emu, uintptr_t fnc);
+void vFuif_32(x64emu_t *emu, uintptr_t fnc);
+void vFuid_32(x64emu_t *emu, uintptr_t fnc);
+void vFuip_32(x64emu_t *emu, uintptr_t fnc);
+void vFuII_32(x64emu_t *emu, uintptr_t fnc);
+void vFuWW_32(x64emu_t *emu, uintptr_t fnc);
+void vFuui_32(x64emu_t *emu, uintptr_t fnc);
+void vFuuC_32(x64emu_t *emu, uintptr_t fnc);
+void vFuuu_32(x64emu_t *emu, uintptr_t fnc);
+void vFuuU_32(x64emu_t *emu, uintptr_t fnc);
+void vFuuf_32(x64emu_t *emu, uintptr_t fnc);
+void vFuud_32(x64emu_t *emu, uintptr_t fnc);
+void vFuup_32(x64emu_t *emu, uintptr_t fnc);
+void vFuUU_32(x64emu_t *emu, uintptr_t fnc);
+void vFuff_32(x64emu_t *emu, uintptr_t fnc);
+void vFudd_32(x64emu_t *emu, uintptr_t fnc);
+void vFull_32(x64emu_t *emu, uintptr_t fnc);
+void vFulp_32(x64emu_t *emu, uintptr_t fnc);
+void vFupp_32(x64emu_t *emu, uintptr_t fnc);
+void vFfff_32(x64emu_t *emu, uintptr_t fnc);
 void vFfpp_32(x64emu_t *emu, uintptr_t fnc);
+void vFddd_32(x64emu_t *emu, uintptr_t fnc);
 void vFdpp_32(x64emu_t *emu, uintptr_t fnc);
+void vFlii_32(x64emu_t *emu, uintptr_t fnc);
+void vFlip_32(x64emu_t *emu, uintptr_t fnc);
+void vFllp_32(x64emu_t *emu, uintptr_t fnc);
+void vFlpp_32(x64emu_t *emu, uintptr_t fnc);
+void vFpip_32(x64emu_t *emu, uintptr_t fnc);
+void vFpuU_32(x64emu_t *emu, uintptr_t fnc);
+void vFplp_32(x64emu_t *emu, uintptr_t fnc);
+void vFppi_32(x64emu_t *emu, uintptr_t fnc);
 void vFppu_32(x64emu_t *emu, uintptr_t fnc);
+void vFppp_32(x64emu_t *emu, uintptr_t fnc);
 void iFEip_32(x64emu_t *emu, uintptr_t fnc);
 void iFEpi_32(x64emu_t *emu, uintptr_t fnc);
 void iFEpL_32(x64emu_t *emu, uintptr_t fnc);
@@ -177,12 +293,18 @@ void iFipu_32(x64emu_t *emu, uintptr_t fnc);
 void iFipL_32(x64emu_t *emu, uintptr_t fnc);
 void iFipp_32(x64emu_t *emu, uintptr_t fnc);
 void iFuii_32(x64emu_t *emu, uintptr_t fnc);
+void iFuip_32(x64emu_t *emu, uintptr_t fnc);
 void iFuui_32(x64emu_t *emu, uintptr_t fnc);
 void iFuuu_32(x64emu_t *emu, uintptr_t fnc);
+void iFuup_32(x64emu_t *emu, uintptr_t fnc);
 void iFuLp_32(x64emu_t *emu, uintptr_t fnc);
+void iFfff_32(x64emu_t *emu, uintptr_t fnc);
 void iFpiu_32(x64emu_t *emu, uintptr_t fnc);
 void iFpip_32(x64emu_t *emu, uintptr_t fnc);
+void iFpuC_32(x64emu_t *emu, uintptr_t fnc);
 void iFpuu_32(x64emu_t *emu, uintptr_t fnc);
+void iFpuU_32(x64emu_t *emu, uintptr_t fnc);
+void iFpup_32(x64emu_t *emu, uintptr_t fnc);
 void iFpLi_32(x64emu_t *emu, uintptr_t fnc);
 void iFppi_32(x64emu_t *emu, uintptr_t fnc);
 void iFppu_32(x64emu_t *emu, uintptr_t fnc);
@@ -196,6 +318,17 @@ void iFhpp_32(x64emu_t *emu, uintptr_t fnc);
 void iFSIi_32(x64emu_t *emu, uintptr_t fnc);
 void iFSli_32(x64emu_t *emu, uintptr_t fnc);
 void IFiIi_32(x64emu_t *emu, uintptr_t fnc);
+void CFipp_32(x64emu_t *emu, uintptr_t fnc);
+void CFuUu_32(x64emu_t *emu, uintptr_t fnc);
+void CFuff_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);
+void uFpuU_32(x64emu_t *emu, uintptr_t fnc);
+void fFuii_32(x64emu_t *emu, uintptr_t fnc);
 void fFfff_32(x64emu_t *emu, uintptr_t fnc);
 void fFffp_32(x64emu_t *emu, uintptr_t fnc);
 void fFppa_32(x64emu_t *emu, uintptr_t fnc);
@@ -209,11 +342,16 @@ void pFEip_32(x64emu_t *emu, uintptr_t fnc);
 void pFEpi_32(x64emu_t *emu, uintptr_t fnc);
 void pFEpp_32(x64emu_t *emu, uintptr_t fnc);
 void pFipi_32(x64emu_t *emu, uintptr_t fnc);
+void pFulu_32(x64emu_t *emu, uintptr_t fnc);
 void pFpii_32(x64emu_t *emu, uintptr_t fnc);
 void pFpiL_32(x64emu_t *emu, uintptr_t fnc);
+void pFpip_32(x64emu_t *emu, uintptr_t fnc);
 void pFpiS_32(x64emu_t *emu, uintptr_t fnc);
 void pFpuL_32(x64emu_t *emu, uintptr_t fnc);
+void pFpup_32(x64emu_t *emu, uintptr_t fnc);
+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 aFipa_32(x64emu_t *emu, uintptr_t fnc);
 void SFEpp_32(x64emu_t *emu, uintptr_t fnc);
@@ -228,10 +366,87 @@ void dFpBp_a_32(x64emu_t *emu, uintptr_t fnc);
 void lFpBp_i_32(x64emu_t *emu, uintptr_t fnc);
 void LFpBp_i_32(x64emu_t *emu, uintptr_t fnc);
 void pFppriiiiiiiiilt__32(x64emu_t *emu, uintptr_t fnc);
+void vFEipp_32(x64emu_t *emu, uintptr_t fnc);
 void vFEipV_32(x64emu_t *emu, uintptr_t fnc);
 void vFEpup_32(x64emu_t *emu, uintptr_t fnc);
 void vFEppp_32(x64emu_t *emu, uintptr_t fnc);
+void vFcccc_32(x64emu_t *emu, uintptr_t fnc);
+void vFwwww_32(x64emu_t *emu, uintptr_t fnc);
+void vFiiii_32(x64emu_t *emu, uintptr_t fnc);
+void vFiiip_32(x64emu_t *emu, uintptr_t fnc);
+void vFiiCp_32(x64emu_t *emu, uintptr_t fnc);
+void vFiill_32(x64emu_t *emu, uintptr_t fnc);
+void vFiIII_32(x64emu_t *emu, uintptr_t fnc);
+void vFiuip_32(x64emu_t *emu, uintptr_t fnc);
+void vFiuuu_32(x64emu_t *emu, uintptr_t fnc);
+void vFiulp_32(x64emu_t *emu, uintptr_t fnc);
+void vFiUUU_32(x64emu_t *emu, uintptr_t fnc);
+void vFifff_32(x64emu_t *emu, uintptr_t fnc);
+void vFiddd_32(x64emu_t *emu, uintptr_t fnc);
+void vFilip_32(x64emu_t *emu, uintptr_t fnc);
+void vFilpu_32(x64emu_t *emu, uintptr_t fnc);
+void vFilpp_32(x64emu_t *emu, uintptr_t fnc);
+void vFipup_32(x64emu_t *emu, uintptr_t fnc);
+void vFipll_32(x64emu_t *emu, uintptr_t fnc);
+void vFCCCC_32(x64emu_t *emu, uintptr_t fnc);
+void vFWWWW_32(x64emu_t *emu, uintptr_t fnc);
+void vFuccc_32(x64emu_t *emu, uintptr_t fnc);
+void vFuwww_32(x64emu_t *emu, uintptr_t fnc);
+void vFuiii_32(x64emu_t *emu, uintptr_t fnc);
+void vFuiip_32(x64emu_t *emu, uintptr_t fnc);
+void vFuiII_32(x64emu_t *emu, uintptr_t fnc);
+void vFuiui_32(x64emu_t *emu, uintptr_t fnc);
+void vFuiuC_32(x64emu_t *emu, uintptr_t fnc);
+void vFuiuu_32(x64emu_t *emu, uintptr_t fnc);
+void vFuiup_32(x64emu_t *emu, uintptr_t fnc);
+void vFuiUU_32(x64emu_t *emu, uintptr_t fnc);
+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);
+void vFuWWW_32(x64emu_t *emu, uintptr_t fnc);
+void vFuuii_32(x64emu_t *emu, uintptr_t fnc);
+void vFuuiu_32(x64emu_t *emu, uintptr_t fnc);
+void vFuuil_32(x64emu_t *emu, uintptr_t fnc);
+void vFuuip_32(x64emu_t *emu, uintptr_t fnc);
+void vFuuCu_32(x64emu_t *emu, uintptr_t fnc);
+void vFuuCp_32(x64emu_t *emu, uintptr_t fnc);
+void vFuuui_32(x64emu_t *emu, uintptr_t fnc);
+void vFuuuu_32(x64emu_t *emu, uintptr_t fnc);
+void vFuuuf_32(x64emu_t *emu, uintptr_t fnc);
+void vFuuud_32(x64emu_t *emu, uintptr_t fnc);
+void vFuuul_32(x64emu_t *emu, uintptr_t fnc);
+void vFuuup_32(x64emu_t *emu, uintptr_t fnc);
+void vFuuUl_32(x64emu_t *emu, uintptr_t fnc);
+void vFuuff_32(x64emu_t *emu, uintptr_t fnc);
+void vFuuli_32(x64emu_t *emu, uintptr_t fnc);
+void vFuupi_32(x64emu_t *emu, uintptr_t fnc);
+void vFuupp_32(x64emu_t *emu, uintptr_t fnc);
+void vFuUui_32(x64emu_t *emu, uintptr_t fnc);
+void vFuUup_32(x64emu_t *emu, uintptr_t fnc);
+void vFuUUU_32(x64emu_t *emu, uintptr_t fnc);
+void vFufff_32(x64emu_t *emu, uintptr_t fnc);
+void vFuddd_32(x64emu_t *emu, uintptr_t fnc);
+void vFuluU_32(x64emu_t *emu, uintptr_t fnc);
+void vFullC_32(x64emu_t *emu, uintptr_t fnc);
+void vFullp_32(x64emu_t *emu, uintptr_t fnc);
+void vFulpu_32(x64emu_t *emu, uintptr_t fnc);
+void vFulpp_32(x64emu_t *emu, uintptr_t fnc);
+void vFupii_32(x64emu_t *emu, uintptr_t fnc);
+void vFuppi_32(x64emu_t *emu, uintptr_t fnc);
+void vFuppu_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 vFpiii_32(x64emu_t *emu, uintptr_t fnc);
+void vFpipp_32(x64emu_t *emu, uintptr_t fnc);
+void vFplpp_32(x64emu_t *emu, uintptr_t fnc);
 void vFppip_32(x64emu_t *emu, uintptr_t fnc);
+void vFpppp_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);
 void iFEipp_32(x64emu_t *emu, uintptr_t fnc);
@@ -253,18 +468,39 @@ void iFiuui_32(x64emu_t *emu, uintptr_t fnc);
 void iFipii_32(x64emu_t *emu, uintptr_t fnc);
 void iFipup_32(x64emu_t *emu, uintptr_t fnc);
 void iFippi_32(x64emu_t *emu, uintptr_t fnc);
+void iFuiup_32(x64emu_t *emu, uintptr_t fnc);
 void iFuupi_32(x64emu_t *emu, uintptr_t fnc);
+void iFpiip_32(x64emu_t *emu, uintptr_t fnc);
+void iFpipp_32(x64emu_t *emu, uintptr_t fnc);
+void iFpuup_32(x64emu_t *emu, uintptr_t fnc);
+void iFpupp_32(x64emu_t *emu, uintptr_t fnc);
+void iFppii_32(x64emu_t *emu, uintptr_t fnc);
+void iFppiU_32(x64emu_t *emu, uintptr_t fnc);
+void iFppip_32(x64emu_t *emu, uintptr_t fnc);
+void iFpppi_32(x64emu_t *emu, uintptr_t fnc);
+void iFpppp_32(x64emu_t *emu, uintptr_t fnc);
 void iFhpiL_32(x64emu_t *emu, uintptr_t fnc);
+void CFuuff_32(x64emu_t *emu, uintptr_t fnc);
+void uFuuuu_32(x64emu_t *emu, uintptr_t fnc);
 void lFEipi_32(x64emu_t *emu, uintptr_t fnc);
 void lFiipL_32(x64emu_t *emu, uintptr_t fnc);
 void lFipLi_32(x64emu_t *emu, uintptr_t fnc);
+void lFpuip_32(x64emu_t *emu, uintptr_t fnc);
 void LFpLLS_32(x64emu_t *emu, uintptr_t fnc);
 void LFppLp_32(x64emu_t *emu, uintptr_t fnc);
 void LFppLa_32(x64emu_t *emu, uintptr_t fnc);
 void pFEppi_32(x64emu_t *emu, uintptr_t fnc);
 void pFEppp_32(x64emu_t *emu, uintptr_t fnc);
+void pFiiiu_32(x64emu_t *emu, uintptr_t fnc);
+void pFillu_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 pFpiii_32(x64emu_t *emu, uintptr_t fnc);
 void pFpiLL_32(x64emu_t *emu, uintptr_t fnc);
+void pFpipp_32(x64emu_t *emu, uintptr_t fnc);
 void pFppLL_32(x64emu_t *emu, uintptr_t fnc);
+void pFpppi_32(x64emu_t *emu, uintptr_t fnc);
+void pFpppp_32(x64emu_t *emu, uintptr_t fnc);
 void IFpBp_ii_32(x64emu_t *emu, uintptr_t fnc);
 void UFpBp_ii_32(x64emu_t *emu, uintptr_t fnc);
 void lFiibp_L_32(x64emu_t *emu, uintptr_t fnc);
@@ -272,6 +508,92 @@ void LFpbp_Lp_32(x64emu_t *emu, uintptr_t fnc);
 void iFEpprLL__32(x64emu_t *emu, uintptr_t fnc);
 void LFpLpriiiiiiiiilt__32(x64emu_t *emu, uintptr_t fnc);
 void vFEpLLp_32(x64emu_t *emu, uintptr_t fnc);
+void vFiiiii_32(x64emu_t *emu, uintptr_t fnc);
+void vFiiiiu_32(x64emu_t *emu, uintptr_t fnc);
+void vFiiuii_32(x64emu_t *emu, uintptr_t fnc);
+void vFiiuup_32(x64emu_t *emu, uintptr_t fnc);
+void vFiillu_32(x64emu_t *emu, uintptr_t fnc);
+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);
+void vFiffff_32(x64emu_t *emu, uintptr_t fnc);
+void vFidddd_32(x64emu_t *emu, uintptr_t fnc);
+void vFilill_32(x64emu_t *emu, uintptr_t fnc);
+void vFilipi_32(x64emu_t *emu, uintptr_t fnc);
+void vFilipl_32(x64emu_t *emu, uintptr_t fnc);
+void vFipipu_32(x64emu_t *emu, uintptr_t fnc);
+void vFipipp_32(x64emu_t *emu, uintptr_t fnc);
+void vFipupi_32(x64emu_t *emu, uintptr_t fnc);
+void vFucccc_32(x64emu_t *emu, uintptr_t fnc);
+void vFuwwww_32(x64emu_t *emu, uintptr_t fnc);
+void vFuiiii_32(x64emu_t *emu, uintptr_t fnc);
+void vFuiiiu_32(x64emu_t *emu, uintptr_t fnc);
+void vFuiiip_32(x64emu_t *emu, uintptr_t fnc);
+void vFuiiCp_32(x64emu_t *emu, uintptr_t fnc);
+void vFuiiup_32(x64emu_t *emu, uintptr_t fnc);
+void vFuiill_32(x64emu_t *emu, uintptr_t fnc);
+void vFuiIII_32(x64emu_t *emu, uintptr_t fnc);
+void vFuiuii_32(x64emu_t *emu, uintptr_t fnc);
+void vFuiuip_32(x64emu_t *emu, uintptr_t fnc);
+void vFuiuCi_32(x64emu_t *emu, uintptr_t fnc);
+void vFuiuCu_32(x64emu_t *emu, uintptr_t fnc);
+void vFuiuuu_32(x64emu_t *emu, uintptr_t fnc);
+void vFuiuup_32(x64emu_t *emu, uintptr_t fnc);
+void vFuiupi_32(x64emu_t *emu, uintptr_t fnc);
+void vFuiUUU_32(x64emu_t *emu, uintptr_t fnc);
+void vFuifff_32(x64emu_t *emu, uintptr_t fnc);
+void vFuiddd_32(x64emu_t *emu, uintptr_t fnc);
+void vFuipip_32(x64emu_t *emu, uintptr_t fnc);
+void vFuipup_32(x64emu_t *emu, uintptr_t fnc);
+void vFuippp_32(x64emu_t *emu, uintptr_t fnc);
+void vFuIIII_32(x64emu_t *emu, uintptr_t fnc);
+void vFuCCCC_32(x64emu_t *emu, uintptr_t fnc);
+void vFuCuip_32(x64emu_t *emu, uintptr_t fnc);
+void vFuCuup_32(x64emu_t *emu, uintptr_t fnc);
+void vFuWWWW_32(x64emu_t *emu, uintptr_t fnc);
+void vFuuiii_32(x64emu_t *emu, uintptr_t fnc);
+void vFuuiip_32(x64emu_t *emu, uintptr_t fnc);
+void vFuuiui_32(x64emu_t *emu, uintptr_t fnc);
+void vFuuiuu_32(x64emu_t *emu, uintptr_t fnc);
+void vFuuiup_32(x64emu_t *emu, uintptr_t fnc);
+void vFuuifi_32(x64emu_t *emu, uintptr_t fnc);
+void vFuuipC_32(x64emu_t *emu, uintptr_t fnc);
+void vFuuipu_32(x64emu_t *emu, uintptr_t fnc);
+void vFuuipp_32(x64emu_t *emu, uintptr_t fnc);
+void vFuuuii_32(x64emu_t *emu, uintptr_t fnc);
+void vFuuuiu_32(x64emu_t *emu, uintptr_t fnc);
+void vFuuuil_32(x64emu_t *emu, uintptr_t fnc);
+void vFuuuip_32(x64emu_t *emu, uintptr_t fnc);
+void vFuuuui_32(x64emu_t *emu, uintptr_t fnc);
+void vFuuuuu_32(x64emu_t *emu, uintptr_t fnc);
+void vFuuuup_32(x64emu_t *emu, uintptr_t fnc);
+void vFuuuli_32(x64emu_t *emu, uintptr_t fnc);
+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);
+void vFfffff_32(x64emu_t *emu, uintptr_t fnc);
+void vFluipp_32(x64emu_t *emu, uintptr_t fnc);
+void vFpilpp_32(x64emu_t *emu, uintptr_t fnc);
+void vFpuipp_32(x64emu_t *emu, uintptr_t fnc);
+void vFpppii_32(x64emu_t *emu, uintptr_t fnc);
+void vFppppu_32(x64emu_t *emu, uintptr_t fnc);
+void vFppppp_32(x64emu_t *emu, uintptr_t fnc);
 void iFEiiip_32(x64emu_t *emu, uintptr_t fnc);
 void iFEipii_32(x64emu_t *emu, uintptr_t fnc);
 void iFEpipp_32(x64emu_t *emu, uintptr_t fnc);
@@ -285,24 +607,264 @@ void iFiiipu_32(x64emu_t *emu, uintptr_t fnc);
 void iFiiipp_32(x64emu_t *emu, uintptr_t fnc);
 void iFiLLLL_32(x64emu_t *emu, uintptr_t fnc);
 void iFipLLi_32(x64emu_t *emu, uintptr_t fnc);
+void iFpiiip_32(x64emu_t *emu, uintptr_t fnc);
+void iFpippp_32(x64emu_t *emu, uintptr_t fnc);
+void iFppipi_32(x64emu_t *emu, uintptr_t fnc);
+void iFpppip_32(x64emu_t *emu, uintptr_t fnc);
 void iFpppup_32(x64emu_t *emu, uintptr_t fnc);
+void iFppppp_32(x64emu_t *emu, uintptr_t fnc);
+void IFppIII_32(x64emu_t *emu, uintptr_t fnc);
 void uFpLLLS_32(x64emu_t *emu, uintptr_t fnc);
+void UFuiCiu_32(x64emu_t *emu, uintptr_t fnc);
+void lFpuipC_32(x64emu_t *emu, uintptr_t fnc);
 void LFpLppa_32(x64emu_t *emu, uintptr_t fnc);
+void pFuiupp_32(x64emu_t *emu, uintptr_t fnc);
+void pFpippp_32(x64emu_t *emu, uintptr_t fnc);
+void pFppipi_32(x64emu_t *emu, uintptr_t fnc);
+void pFppuup_32(x64emu_t *emu, uintptr_t fnc);
+void pFppupp_32(x64emu_t *emu, uintptr_t fnc);
+void pFpppip_32(x64emu_t *emu, uintptr_t fnc);
 void iFEBh_ppp_32(x64emu_t *emu, uintptr_t fnc);
 void LFpbp_LLp_32(x64emu_t *emu, uintptr_t fnc);
 void LFpBp_LLp_32(x64emu_t *emu, uintptr_t fnc);
 void iFippprLL__32(x64emu_t *emu, uintptr_t fnc);
 void LFLbp_bL_Bp_BL__32(x64emu_t *emu, uintptr_t fnc);
 void LFpLpriiiiiiiiilt_a_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);
+void vFiiuilp_32(x64emu_t *emu, uintptr_t fnc);
+void vFiffiff_32(x64emu_t *emu, uintptr_t fnc);
+void vFiddidd_32(x64emu_t *emu, uintptr_t fnc);
+void vFilipli_32(x64emu_t *emu, uintptr_t fnc);
+void vFiliplu_32(x64emu_t *emu, uintptr_t fnc);
+void vFipiplp_32(x64emu_t *emu, uintptr_t fnc);
+void vFCCCCff_32(x64emu_t *emu, uintptr_t fnc);
+void vFuiiiii_32(x64emu_t *emu, uintptr_t fnc);
+void vFuiiuii_32(x64emu_t *emu, uintptr_t fnc);
+void vFuiiuup_32(x64emu_t *emu, uintptr_t fnc);
+void vFuiIIII_32(x64emu_t *emu, uintptr_t fnc);
+void vFuiuiii_32(x64emu_t *emu, uintptr_t fnc);
+void vFuiuiiC_32(x64emu_t *emu, uintptr_t fnc);
+void vFuiuiil_32(x64emu_t *emu, uintptr_t fnc);
+void vFuiuiuu_32(x64emu_t *emu, uintptr_t fnc);
+void vFuiuiuU_32(x64emu_t *emu, uintptr_t fnc);
+void vFuiuCip_32(x64emu_t *emu, uintptr_t fnc);
+void vFuiuuip_32(x64emu_t *emu, uintptr_t fnc);
+void vFuiuuuu_32(x64emu_t *emu, uintptr_t fnc);
+void vFuiupii_32(x64emu_t *emu, uintptr_t fnc);
+void vFuiupiu_32(x64emu_t *emu, uintptr_t fnc);
+void vFuiUUUU_32(x64emu_t *emu, uintptr_t fnc);
+void vFuiffff_32(x64emu_t *emu, uintptr_t fnc);
+void vFuidddd_32(x64emu_t *emu, uintptr_t fnc);
+void vFuipiup_32(x64emu_t *emu, uintptr_t fnc);
+void vFuCuuip_32(x64emu_t *emu, uintptr_t fnc);
+void vFuuiiii_32(x64emu_t *emu, uintptr_t fnc);
+void vFuuiuii_32(x64emu_t *emu, uintptr_t fnc);
+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);
+void vFuuuipp_32(x64emu_t *emu, uintptr_t fnc);
+void vFuuuuii_32(x64emu_t *emu, uintptr_t fnc);
+void vFuuuuip_32(x64emu_t *emu, uintptr_t fnc);
+void vFuuuuuu_32(x64emu_t *emu, uintptr_t fnc);
+void vFuuuull_32(x64emu_t *emu, uintptr_t fnc);
+void vFuuuppi_32(x64emu_t *emu, uintptr_t fnc);
+void vFuuuppp_32(x64emu_t *emu, uintptr_t fnc);
+void vFuuffff_32(x64emu_t *emu, uintptr_t fnc);
+void vFuudddd_32(x64emu_t *emu, uintptr_t fnc);
+void vFuupiii_32(x64emu_t *emu, uintptr_t fnc);
+void vFuupupp_32(x64emu_t *emu, uintptr_t fnc);
+void vFuuplii_32(x64emu_t *emu, uintptr_t fnc);
+void vFuffiip_32(x64emu_t *emu, uintptr_t fnc);
+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 vFppiiii_32(x64emu_t *emu, uintptr_t fnc);
+void vFppupii_32(x64emu_t *emu, uintptr_t fnc);
 void iFEpLppp_32(x64emu_t *emu, uintptr_t fnc);
+void iFpiiipp_32(x64emu_t *emu, uintptr_t fnc);
+void iFpiippp_32(x64emu_t *emu, uintptr_t fnc);
+void iFppiiii_32(x64emu_t *emu, uintptr_t fnc);
+void iFppIppp_32(x64emu_t *emu, uintptr_t fnc);
+void uFupuufp_32(x64emu_t *emu, uintptr_t fnc);
 void lFipLipu_32(x64emu_t *emu, uintptr_t fnc);
 void lFipLipp_32(x64emu_t *emu, uintptr_t fnc);
 void pFEpLLiN_32(x64emu_t *emu, uintptr_t fnc);
+void pFpippip_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);
+void vFiiffffp_32(x64emu_t *emu, uintptr_t fnc);
+void vFiuulipi_32(x64emu_t *emu, uintptr_t fnc);
+void vFiupuuup_32(x64emu_t *emu, uintptr_t fnc);
+void vFilipliu_32(x64emu_t *emu, uintptr_t fnc);
+void vFilulipi_32(x64emu_t *emu, uintptr_t fnc);
+void vFCCCCfff_32(x64emu_t *emu, uintptr_t fnc);
+void vFuiiiiii_32(x64emu_t *emu, uintptr_t fnc);
+void vFuiiiiiC_32(x64emu_t *emu, uintptr_t fnc);
+void vFuiiiuip_32(x64emu_t *emu, uintptr_t fnc);
+void vFuiiiuup_32(x64emu_t *emu, uintptr_t fnc);
+void vFuiuiiii_32(x64emu_t *emu, uintptr_t fnc);
+void vFuiuiiiC_32(x64emu_t *emu, uintptr_t fnc);
+void vFuiuiiip_32(x64emu_t *emu, uintptr_t fnc);
+void vFuiuiiuU_32(x64emu_t *emu, uintptr_t fnc);
+void vFuiuCiuu_32(x64emu_t *emu, uintptr_t fnc);
+void vFuiupiiu_32(x64emu_t *emu, uintptr_t fnc);
+void vFuiupuip_32(x64emu_t *emu, uintptr_t fnc);
+void vFuipiiii_32(x64emu_t *emu, uintptr_t fnc);
+void vFuipffff_32(x64emu_t *emu, uintptr_t fnc);
+void vFuipdddd_32(x64emu_t *emu, uintptr_t fnc);
+void vFuuiiiii_32(x64emu_t *emu, uintptr_t fnc);
+void vFuuiiiiC_32(x64emu_t *emu, uintptr_t fnc);
+void vFuuiiiiu_32(x64emu_t *emu, uintptr_t fnc);
+void vFuuiiuup_32(x64emu_t *emu, uintptr_t fnc);
+void vFuuiCiui_32(x64emu_t *emu, uintptr_t fnc);
+void vFuuiCiuu_32(x64emu_t *emu, uintptr_t fnc);
+void vFuuiuiii_32(x64emu_t *emu, uintptr_t fnc);
+void vFuuiuiiC_32(x64emu_t *emu, uintptr_t fnc);
+void vFuuipppp_32(x64emu_t *emu, uintptr_t fnc);
+void vFuuuiiii_32(x64emu_t *emu, uintptr_t fnc);
+void vFuuuiiCp_32(x64emu_t *emu, uintptr_t fnc);
+void vFuuuiuil_32(x64emu_t *emu, uintptr_t fnc);
+void vFuuuiupi_32(x64emu_t *emu, uintptr_t fnc);
+void vFuuuuuuu_32(x64emu_t *emu, uintptr_t fnc);
+void vFuuuulll_32(x64emu_t *emu, uintptr_t fnc);
+void vFuuuffff_32(x64emu_t *emu, uintptr_t fnc);
+void vFuuudddd_32(x64emu_t *emu, uintptr_t fnc);
+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);
+void vFlliiiip_32(x64emu_t *emu, uintptr_t fnc);
 void iFEpLiipV_32(x64emu_t *emu, uintptr_t fnc);
 void iFpupLpLi_32(x64emu_t *emu, uintptr_t fnc);
+void uFuippppp_32(x64emu_t *emu, uintptr_t fnc);
 void pFEpLiiii_32(x64emu_t *emu, uintptr_t fnc);
 void pFEpLiiiI_32(x64emu_t *emu, uintptr_t fnc);
+void vFiiiiuuip_32(x64emu_t *emu, uintptr_t fnc);
+void vFiilliilp_32(x64emu_t *emu, uintptr_t fnc);
+void vFiupuiuup_32(x64emu_t *emu, uintptr_t fnc);
+void vFiupuuuup_32(x64emu_t *emu, uintptr_t fnc);
+void vFuiiiiiii_32(x64emu_t *emu, uintptr_t fnc);
+void vFuiiiiiiC_32(x64emu_t *emu, uintptr_t fnc);
+void vFuiiiiuup_32(x64emu_t *emu, uintptr_t fnc);
+void vFuiiipiup_32(x64emu_t *emu, uintptr_t fnc);
+void vFuiuiiiii_32(x64emu_t *emu, uintptr_t fnc);
+void vFuiuiiiip_32(x64emu_t *emu, uintptr_t fnc);
+void vFuiuiiiuU_32(x64emu_t *emu, uintptr_t fnc);
+void vFuiuiiCuU_32(x64emu_t *emu, uintptr_t fnc);
+void vFuiuiuuuu_32(x64emu_t *emu, uintptr_t fnc);
+void vFuCCCCfff_32(x64emu_t *emu, uintptr_t fnc);
+void vFuuiiiiiC_32(x64emu_t *emu, uintptr_t fnc);
+void vFuuiiiuip_32(x64emu_t *emu, uintptr_t fnc);
+void vFuuiiiuup_32(x64emu_t *emu, uintptr_t fnc);
+void vFuuiiuupp_32(x64emu_t *emu, uintptr_t fnc);
+void vFuuiuiiii_32(x64emu_t *emu, uintptr_t fnc);
+void vFuuiuiiiC_32(x64emu_t *emu, uintptr_t fnc);
+void vFuuiuiiip_32(x64emu_t *emu, uintptr_t fnc);
+void vFuuuiiiiu_32(x64emu_t *emu, uintptr_t fnc);
+void vFuuuiuCil_32(x64emu_t *emu, uintptr_t fnc);
+void vFuuuipipp_32(x64emu_t *emu, uintptr_t fnc);
+void vFuuuuuuuu_32(x64emu_t *emu, uintptr_t fnc);
+void vFuuufffff_32(x64emu_t *emu, uintptr_t fnc);
+void vFffffffff_32(x64emu_t *emu, uintptr_t fnc);
 void iFEpippppp_32(x64emu_t *emu, uintptr_t fnc);
+void iFppIIIppp_32(x64emu_t *emu, uintptr_t fnc);
+void CFuiifpppp_32(x64emu_t *emu, uintptr_t fnc);
+void uFuipppppp_32(x64emu_t *emu, uintptr_t fnc);
+void uFuupuuiuf_32(x64emu_t *emu, uintptr_t fnc);
+void uFulpppppp_32(x64emu_t *emu, uintptr_t fnc);
+void vFiiiiiiiii_32(x64emu_t *emu, uintptr_t fnc);
+void vFiiiiiiill_32(x64emu_t *emu, uintptr_t fnc);
+void vFiiiiillli_32(x64emu_t *emu, uintptr_t fnc);
+void vFiiilllilp_32(x64emu_t *emu, uintptr_t fnc);
+void vFiupuiuuup_32(x64emu_t *emu, uintptr_t fnc);
+void vFiupuuuuup_32(x64emu_t *emu, uintptr_t fnc);
+void vFuiiiiiiii_32(x64emu_t *emu, uintptr_t fnc);
+void vFuiiiiiiiC_32(x64emu_t *emu, uintptr_t fnc);
+void vFuiiiiiuip_32(x64emu_t *emu, uintptr_t fnc);
+void vFuiiiiiuup_32(x64emu_t *emu, uintptr_t fnc);
+void vFuiuiiiiip_32(x64emu_t *emu, uintptr_t fnc);
+void vFuiuiiiCuU_32(x64emu_t *emu, uintptr_t fnc);
+void vFuiupuffup_32(x64emu_t *emu, uintptr_t fnc);
+void vFuuiiiiiii_32(x64emu_t *emu, uintptr_t fnc);
+void vFuuiiiiiiC_32(x64emu_t *emu, uintptr_t fnc);
+void vFuuiiiiuup_32(x64emu_t *emu, uintptr_t fnc);
+void vFuuiuiiiii_32(x64emu_t *emu, uintptr_t fnc);
+void vFuuiuiiiip_32(x64emu_t *emu, uintptr_t fnc);
+void vFuuuiiiiCp_32(x64emu_t *emu, uintptr_t fnc);
+void vFuuuuuuuuu_32(x64emu_t *emu, uintptr_t fnc);
+void vFuupuuiuuf_32(x64emu_t *emu, uintptr_t fnc);
+void vFuffffffff_32(x64emu_t *emu, uintptr_t fnc);
+void vFffCCCCfff_32(x64emu_t *emu, uintptr_t fnc);
+void uFuulpiuiuf_32(x64emu_t *emu, uintptr_t fnc);
+void vFiiiiiiiiii_32(x64emu_t *emu, uintptr_t fnc);
+void vFiiiiiiiiui_32(x64emu_t *emu, uintptr_t fnc);
+void vFiiiiiiiiuu_32(x64emu_t *emu, uintptr_t fnc);
+void vFiiillliiip_32(x64emu_t *emu, uintptr_t fnc);
+void vFuiiiiiiiii_32(x64emu_t *emu, uintptr_t fnc);
+void vFuiiiiiiiip_32(x64emu_t *emu, uintptr_t fnc);
+void vFuiiiiiiuup_32(x64emu_t *emu, uintptr_t fnc);
+void vFuiuiiiiuup_32(x64emu_t *emu, uintptr_t fnc);
+void vFuuiiiiiiii_32(x64emu_t *emu, uintptr_t fnc);
+void vFuuiiiiiuip_32(x64emu_t *emu, uintptr_t fnc);
+void vFuuiiiiiuup_32(x64emu_t *emu, uintptr_t fnc);
+void vFuuiuiiiiip_32(x64emu_t *emu, uintptr_t fnc);
+void vFuuuuuuuCCC_32(x64emu_t *emu, uintptr_t fnc);
+void vFuuuuuuuuuu_32(x64emu_t *emu, uintptr_t fnc);
+void vFuupuiupuuf_32(x64emu_t *emu, uintptr_t fnc);
+void vFuffiiffiip_32(x64emu_t *emu, uintptr_t fnc);
+void vFuddiiddiip_32(x64emu_t *emu, uintptr_t fnc);
+void vFffffffffff_32(x64emu_t *emu, uintptr_t fnc);
+void vFiiiiillliip_32(x64emu_t *emu, uintptr_t fnc);
+void vFiiiiilllilp_32(x64emu_t *emu, uintptr_t fnc);
+void vFuiiiiiiiuip_32(x64emu_t *emu, uintptr_t fnc);
+void vFuiiiiiiiuup_32(x64emu_t *emu, uintptr_t fnc);
+void vFuiiiillliip_32(x64emu_t *emu, uintptr_t fnc);
+void vFuiuiiiiiuup_32(x64emu_t *emu, uintptr_t fnc);
+void vFuuiiiiiiuup_32(x64emu_t *emu, uintptr_t fnc);
+void vFuuupupppppp_32(x64emu_t *emu, uintptr_t fnc);
+void vFuuffiiffiip_32(x64emu_t *emu, uintptr_t fnc);
+void vFuufffffffff_32(x64emu_t *emu, uintptr_t fnc);
+void vFuuddiiddiip_32(x64emu_t *emu, uintptr_t fnc);
+void vFuUuuuuuuuuu_32(x64emu_t *emu, uintptr_t fnc);
+void vFuffffffffff_32(x64emu_t *emu, uintptr_t fnc);
+void vFUufffffffff_32(x64emu_t *emu, uintptr_t fnc);
+void vFuiiiiiiiiuUC_32(x64emu_t *emu, uintptr_t fnc);
+void vFuiiiiiiiuuip_32(x64emu_t *emu, uintptr_t fnc);
+void vFuuiiiiiiiiuu_32(x64emu_t *emu, uintptr_t fnc);
+void vFuuiiiiiiiuip_32(x64emu_t *emu, uintptr_t fnc);
+void vFuuiiiiiiiuup_32(x64emu_t *emu, uintptr_t fnc);
+void vFuuuuuuuuuuuu_32(x64emu_t *emu, uintptr_t fnc);
+void vFffffffffffff_32(x64emu_t *emu, uintptr_t fnc);
+void vFuiiiiiiiiiuup_32(x64emu_t *emu, uintptr_t fnc);
+void vFuuuuuuuuuuuuu_32(x64emu_t *emu, uintptr_t fnc);
+void vFuUuuuuuuuuuuu_32(x64emu_t *emu, uintptr_t fnc);
+void vFuffffffffffff_32(x64emu_t *emu, uintptr_t fnc);
+void uFippuuuulllipp_32(x64emu_t *emu, uintptr_t fnc);
+void vFuffiiffiiffiip_32(x64emu_t *emu, uintptr_t fnc);
+void vFuddiiddiiddiip_32(x64emu_t *emu, uintptr_t fnc);
+void vFuiiiiiuiiiiilll_32(x64emu_t *emu, uintptr_t fnc);
+void vFuuiiiiuuiiiiiii_32(x64emu_t *emu, uintptr_t fnc);
+void vFfffffffffffffff_32(x64emu_t *emu, uintptr_t fnc);
+void vFuuuuiiiiuuiiiiiii_32(x64emu_t *emu, uintptr_t fnc);
+void vFppuiiiiipuiiiiiiii_32(x64emu_t *emu, uintptr_t fnc);
+void uFippuuuuiiiiuuiiiiiiiipp_32(x64emu_t *emu, uintptr_t fnc);
 
 #if defined(ANDROID)
 void vFEpppp_32(x64emu_t *emu, uintptr_t fnc);
diff --git a/src/wrapped32/wrappedlibgl.c b/src/wrapped32/wrappedlibgl.c
new file mode 100644
index 00000000..9d18fe23
--- /dev/null
+++ b/src/wrapped32/wrappedlibgl.c
@@ -0,0 +1,562 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#define _GNU_SOURCE         /* See feature_test_macros(7) */
+#include <dlfcn.h>
+
+#include "wrappedlibs.h"
+
+#include "debug.h"
+#include "wrapper32.h"
+#include "bridge.h"
+#include "librarian/library_private.h"
+#include "x64emu.h"
+#include "emu/x64emu_private.h"
+#include "box32context.h"
+#include "librarian.h"
+#include "callback.h"
+#include "gltools.h"
+
+extern const char* libglName;
+#define LIBNAME libgl
+static library_t* my_lib = NULL;
+
+// FIXME: old wrapped* type of file, cannot use generated/wrappedlibgltypes.h
+void* getGLProcAddress32(x64emu_t* emu, glprocaddress_t procaddr, const char* rname);
+EXPORT void* my32_glXGetProcAddress(x64emu_t* emu, void* name)
+{
+    khint_t k;
+    const char* rname = (const char*)name;
+    return getGLProcAddress32(emu, my_lib->w.priv, rname);
+}
+EXPORT void* my32_glXGetProcAddressARB(x64emu_t* emu, void* name) __attribute__((alias("my32_glXGetProcAddress")));
+
+typedef int  (*iFi_t)(int);
+typedef void (*vFpp_t)(void*, void*);
+typedef void (*vFppp_t)(void*, void*, void*);
+typedef void (*vFppi_t)(void*, void*, int);
+typedef void*(*pFp_t)(void*);
+typedef void (*debugProc_t)(int32_t, int32_t, uint32_t, int32_t, int32_t, void*, void*);
+
+typedef struct gl_wrappers_s {
+    glprocaddress_t      procaddress;
+    kh_symbolmap_t      *glwrappers;    // the map of wrapper for glProcs (for GLX or SDL1/2)
+    kh_symbolmap_t      *glmymap;       // link to the mysymbolmap of libGL
+} gl_wrappers_t;
+
+KHASH_MAP_INIT_INT64(gl_wrappers, gl_wrappers_t*)
+
+static kh_gl_wrappers_t *gl_wrappers = NULL;
+
+#define SUPER() \
+GO(0)   \
+GO(1)   \
+GO(2)   \
+GO(3)   \
+GO(4)
+
+// debug_callback ...
+#define GO(A)   \
+static uintptr_t my_debug_callback_fct_##A = 0;                                                                         \
+static void my_debug_callback_##A(int32_t a, int32_t b, uint32_t c, int32_t d, int32_t e, const char* f, const void* g) \
+{                                                                                                                       \
+    RunFunctionFmt(my_debug_callback_fct_##A, "iiuiipp", a, b, c, d, e, f, g);                                    \
+}
+SUPER()
+#undef GO
+static void* find_debug_callback_Fct(void* fct)
+{
+    if(!fct) return fct;
+    if(GetNativeFnc((uintptr_t)fct))  return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if(my_debug_callback_fct_##A == (uintptr_t)fct) return my_debug_callback_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my_debug_callback_fct_##A == 0) {my_debug_callback_fct_##A = (uintptr_t)fct; return my_debug_callback_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for libGL debug_callback callback\n");
+    return NULL;
+}
+// egl_debug_callback ...
+#define GO(A)   \
+static uintptr_t my_egl_debug_callback_fct_##A = 0;                                                     \
+    static void my_egl_debug_callback_##A(int a, void* b, int c, void* d, void* e, const char* f)       \
+{                                                                                                       \
+    RunFunctionFmt(my_egl_debug_callback_fct_##A, "ipippp", a, b, c, d, e, f);                          \
+}
+SUPER()
+#undef GO
+static void* find_egl_debug_callback_Fct(void* fct)
+{
+    if(!fct) return fct;
+    if(GetNativeFnc((uintptr_t)fct))  return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if(my_egl_debug_callback_fct_##A == (uintptr_t)fct) return my_egl_debug_callback_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my_egl_debug_callback_fct_##A == 0) {my_egl_debug_callback_fct_##A = (uintptr_t)fct; return my_egl_debug_callback_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for libGL egl_debug_callback callback\n");
+    return NULL;
+}
+// program_callback ...
+#define GO(A)                                                       \
+static uintptr_t my_program_callback_fct_##A = 0;                   \
+static void my_program_callback_##A(int32_t a, void* b)             \
+{                                                                   \
+    RunFunctionFmt(my_program_callback_fct_##A, "ip", a, b);  \
+}
+SUPER()
+#undef GO
+static void* find_program_callback_Fct(void* fct)
+{
+    if(!fct) return fct;
+    if(GetNativeFnc((uintptr_t)fct))  return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if(my_program_callback_fct_##A == (uintptr_t)fct) return my_program_callback_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my_program_callback_fct_##A == 0) {my_program_callback_fct_##A = (uintptr_t)fct; return my_program_callback_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for libGL program_callback callback\n");
+    return NULL;
+}
+// set_blob_func ...
+#define GO(A)                                                               \
+static uintptr_t my_set_blob_func_fct_##A = 0;                              \
+static void my_set_blob_func_##A(void* a, ssize_t b, void* c, ssize_t d)    \
+{                                                                           \
+    RunFunctionFmt(my_set_blob_func_fct_##A, "plpl", a, b, c, d);           \
+}
+SUPER()
+#undef GO
+static void* find_set_blob_func_Fct(void* fct)
+{
+    if(!fct) return fct;
+    if(GetNativeFnc((uintptr_t)fct))  return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if(my_set_blob_func_fct_##A == (uintptr_t)fct) return my_set_blob_func_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my_set_blob_func_fct_##A == 0) {my_set_blob_func_fct_##A = (uintptr_t)fct; return my_set_blob_func_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for libGL set_blob_func callback\n");
+    return NULL;
+}
+// get_blob_func ...
+#define GO(A)                                                                       \
+static uintptr_t my_get_blob_func_fct_##A = 0;                                      \
+static ssize_t my_get_blob_func_##A(void* a, ssize_t b, void* c, ssize_t d)         \
+{                                                                                   \
+    return (ssize_t)RunFunctionFmt(my_get_blob_func_fct_##A, "plpl", a, b, c, d);   \
+}
+SUPER()
+#undef GO
+static void* find_get_blob_func_Fct(void* fct)
+{
+    if(!fct) return fct;
+    if(GetNativeFnc((uintptr_t)fct))  return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if(my_get_blob_func_fct_##A == (uintptr_t)fct) return my_get_blob_func_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my_get_blob_func_fct_##A == 0) {my_get_blob_func_fct_##A = (uintptr_t)fct; return my_get_blob_func_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for libGL get_blob_func callback\n");
+    return NULL;
+}
+
+// glDebugMessageCallback ...
+#define GO(A)                                                                       \
+static vFpp_t my32_glDebugMessageCallback_fct_##A = NULL;                             \
+static void my32_glDebugMessageCallback_##A(x64emu_t* emu, void* prod, void* param)   \
+{                                                                                   \
+    if(!my32_glDebugMessageCallback_fct_##A)                                          \
+        return;                                                                     \
+    my32_glDebugMessageCallback_fct_##A(find_debug_callback_Fct(prod), param);        \
+}
+SUPER()
+#undef GO
+static void* find_glDebugMessageCallback_Fct(void* fct)
+{
+    if(!fct) return fct;
+    #define GO(A) if(my32_glDebugMessageCallback_fct_##A == (vFpp_t)fct) return my32_glDebugMessageCallback_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my32_glDebugMessageCallback_fct_##A == 0) {my32_glDebugMessageCallback_fct_##A = (vFpp_t)fct; return my32_glDebugMessageCallback_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for libGL glDebugMessageCallback callback\n");
+    return NULL;
+}
+// glDebugMessageCallbackARB ...
+#define GO(A)                                                                       \
+static vFpp_t my32_glDebugMessageCallbackARB_fct_##A = NULL;                             \
+static void my32_glDebugMessageCallbackARB_##A(x64emu_t* emu, void* prod, void* param)   \
+{                                                                                   \
+    if(!my32_glDebugMessageCallbackARB_fct_##A)                                          \
+        return;                                                                     \
+    my32_glDebugMessageCallbackARB_fct_##A(find_debug_callback_Fct(prod), param);        \
+}
+SUPER()
+#undef GO
+static void* find_glDebugMessageCallbackARB_Fct(void* fct)
+{
+    if(!fct) return fct;
+    #define GO(A) if(my32_glDebugMessageCallbackARB_fct_##A == (vFpp_t)fct) return my32_glDebugMessageCallbackARB_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my32_glDebugMessageCallbackARB_fct_##A == 0) {my32_glDebugMessageCallbackARB_fct_##A = (vFpp_t)fct; return my32_glDebugMessageCallbackARB_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for libGL glDebugMessageCallbackARB callback\n");
+    return NULL;
+}
+// glDebugMessageCallbackAMD ...
+#define GO(A)                                                                       \
+static vFpp_t my32_glDebugMessageCallbackAMD_fct_##A = NULL;                             \
+static void my32_glDebugMessageCallbackAMD_##A(x64emu_t* emu, void* prod, void* param)   \
+{                                                                                   \
+    if(!my32_glDebugMessageCallbackAMD_fct_##A)                                          \
+        return;                                                                     \
+    my32_glDebugMessageCallbackAMD_fct_##A(find_debug_callback_Fct(prod), param);        \
+}
+SUPER()
+#undef GO
+static void* find_glDebugMessageCallbackAMD_Fct(void* fct)
+{
+    if(!fct) return fct;
+    #define GO(A) if(my32_glDebugMessageCallbackAMD_fct_##A == (vFpp_t)fct) return my32_glDebugMessageCallbackAMD_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my32_glDebugMessageCallbackAMD_fct_##A == 0) {my32_glDebugMessageCallbackAMD_fct_##A = (vFpp_t)fct; return my32_glDebugMessageCallbackAMD_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for libGL glDebugMessageCallbackAMD callback\n");
+    return NULL;
+}
+// glDebugMessageCallbackKHR ...
+#define GO(A)                                                                       \
+static vFpp_t my32_glDebugMessageCallbackKHR_fct_##A = NULL;                             \
+static void my32_glDebugMessageCallbackKHR_##A(x64emu_t* emu, void* prod, void* param)   \
+{                                                                                   \
+    if(!my32_glDebugMessageCallbackKHR_fct_##A)                                          \
+        return;                                                                     \
+    my32_glDebugMessageCallbackKHR_fct_##A(find_debug_callback_Fct(prod), param);        \
+}
+SUPER()
+#undef GO
+static void* find_glDebugMessageCallbackKHR_Fct(void* fct)
+{
+    if(!fct) return fct;
+    #define GO(A) if(my32_glDebugMessageCallbackKHR_fct_##A == (vFpp_t)fct) return my32_glDebugMessageCallbackKHR_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my32_glDebugMessageCallbackKHR_fct_##A == 0) {my32_glDebugMessageCallbackKHR_fct_##A = (vFpp_t)fct; return my32_glDebugMessageCallbackKHR_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for libGL glDebugMessageCallbackKHR callback\n");
+    return NULL;
+}
+// eglDebugMessageControlKHR ...
+#define GO(A)                                                                           \
+static vFpp_t my_eglDebugMessageControlKHR_fct_##A = NULL;                             \
+static void my_eglDebugMessageControlKHR_##A(x64emu_t* emu, void* prod, void* param)   \
+{                                                                                       \
+    if(!my_eglDebugMessageControlKHR_fct_##A)                                          \
+        return;                                                                         \
+    my_eglDebugMessageControlKHR_fct_##A(find_egl_debug_callback_Fct(prod), param);    \
+}
+SUPER()
+#undef GO
+static void* find_eglDebugMessageControlKHR_Fct(void* fct)
+{
+    if(!fct) return fct;
+    #define GO(A) if(my_eglDebugMessageControlKHR_fct_##A == (vFpp_t)fct) return my_eglDebugMessageControlKHR_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my_eglDebugMessageControlKHR_fct_##A == 0) {my_eglDebugMessageControlKHR_fct_##A = (vFpp_t)fct; return my_eglDebugMessageControlKHR_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for libGL eglDebugMessageControlKHR callback\n");
+    return NULL;
+}
+// eglSetBlobCacheFuncsANDROID ...
+#define GO(A)                                                                                               \
+static vFppp_t my_eglSetBlobCacheFuncsANDROID_fct_##A = NULL;                                               \
+static void my_eglSetBlobCacheFuncsANDROID_##A(x64emu_t* emu, void* dpy, void* set, void* get)              \
+{                                                                                                           \
+    if(!my_eglSetBlobCacheFuncsANDROID_fct_##A)                                                             \
+        return;                                                                                             \
+    my_eglSetBlobCacheFuncsANDROID_fct_##A(dpy, find_set_blob_func_Fct(set), find_get_blob_func_Fct(get));  \
+}
+SUPER()
+#undef GO
+static void* find_eglSetBlobCacheFuncsANDROID_Fct(void* fct)
+{
+    if(!fct) return fct;
+    #define GO(A) if(my_eglSetBlobCacheFuncsANDROID_fct_##A == (vFppp_t)fct) return my_eglSetBlobCacheFuncsANDROID_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my_eglSetBlobCacheFuncsANDROID_fct_##A == 0) {my_eglSetBlobCacheFuncsANDROID_fct_##A = (vFppp_t)fct; return my_eglSetBlobCacheFuncsANDROID_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for libGL eglSetBlobCacheFuncsANDROID callback\n");
+    return NULL;
+}
+// glXSwapIntervalMESA ...
+#define GO(A)                                           \
+static iFi_t my32_glXSwapIntervalMESA_fct_##A = NULL;     \
+static int my32_glXSwapIntervalMESA_##A(int interval)     \
+{                                                       \
+    if(!my32_glXSwapIntervalMESA_fct_##A)                 \
+        return 0;                                       \
+    return my32_glXSwapIntervalMESA_fct_##A(interval);    \
+}
+SUPER()
+#undef GO
+
+static int my_dummy32_glXSwapIntervalMESA(int interval)
+{
+    return 5; // GLX_BAD_CONTEXT
+}
+
+static void* find_glXSwapIntervalMESA_Fct(void* fct)
+{
+    if(!fct) return my_dummy32_glXSwapIntervalMESA;
+    #define GO(A) if(my32_glXSwapIntervalMESA_fct_##A == (iFi_t)fct) return my32_glXSwapIntervalMESA_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my32_glXSwapIntervalMESA_fct_##A == 0) {my32_glXSwapIntervalMESA_fct_##A = (iFi_t)fct; return my32_glXSwapIntervalMESA_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for libGL glXSwapIntervalMESA callback\n");
+    return NULL;
+}
+
+// glXSwapIntervalEXT ...
+#define GO(A)                                                                   \
+static vFppi_t my32_glXSwapIntervalEXT_fct_##A = NULL;                            \
+static void my32_glXSwapIntervalEXT_##A(void* dpy, void* drawable, int interval)  \
+{                                                                               \
+    if (!my32_glXSwapIntervalEXT_fct_##A)                                         \
+        return;                                                                 \
+    my32_glXSwapIntervalEXT_fct_##A(dpy, drawable, interval);                     \
+}
+SUPER()
+#undef GO
+
+static void my_dummy32_glXSwapIntervalEXT(void* dpy, void* drawable, int interval) {}
+
+static void* find_glXSwapIntervalEXT_Fct(void* fct)
+{
+    if(!fct) return my_dummy32_glXSwapIntervalEXT;
+    #define GO(A) if(my32_glXSwapIntervalEXT_fct_##A == (vFppi_t)fct) return my32_glXSwapIntervalEXT_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my32_glXSwapIntervalEXT_fct_##A == 0) {my32_glXSwapIntervalEXT_fct_##A = (vFppi_t)fct; return my32_glXSwapIntervalEXT_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for libGL glXSwapIntervalEXT callback\n");
+    return NULL;
+}
+
+// glProgramCallbackMESA ...
+#define GO(A)                                                               \
+static vFpp_t my32_glProgramCallbackMESA_fct_##A = NULL;                      \
+static void my32_glProgramCallbackMESA_##A(x64emu_t* emu, void* f, void* data)\
+{                                                                           \
+    if(!my32_glProgramCallbackMESA_fct_##A)                                   \
+        return;                                                             \
+    my32_glProgramCallbackMESA_fct_##A(find_program_callback_Fct(f), data);   \
+}
+SUPER()
+#undef GO
+static void* find_glProgramCallbackMESA_Fct(void* fct)
+{
+    if(!fct) return fct;
+    #define GO(A) if(my32_glProgramCallbackMESA_fct_##A == (vFpp_t)fct) return my32_glProgramCallbackMESA_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my32_glProgramCallbackMESA_fct_##A == 0) {my32_glProgramCallbackMESA_fct_##A = (vFpp_t)fct; return my32_glProgramCallbackMESA_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for libGL glProgramCallbackMESA callback\n");
+    return NULL;
+}
+void* my_GetVkProcAddr(x64emu_t* emu, void* name, void*(*getaddr)(void*));  // defined in wrappedvulkan.c
+// glGetVkProcAddrNV ...
+#define GO(A)                                                           \
+static pFp_t my32_glGetVkProcAddrNV_fct_##A = NULL;                       \
+static void* my32_glGetVkProcAddrNV_##A(x64emu_t* emu, void* name)        \
+{                                                                       \
+    if(!my32_glGetVkProcAddrNV_fct_##A)                                   \
+        return NULL;                                                    \
+    return my_GetVkProcAddr(emu, name, my32_glGetVkProcAddrNV_fct_##A);   \
+}
+SUPER()
+#undef GO
+static void* find_glGetVkProcAddrNV_Fct(void* fct)
+{
+    if(!fct) return fct;
+    #define GO(A) if(my32_glGetVkProcAddrNV_fct_##A == (pFp_t)fct) return my32_glGetVkProcAddrNV_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my32_glGetVkProcAddrNV_fct_##A == 0) {my32_glGetVkProcAddrNV_fct_##A = (pFp_t)fct; return my32_glGetVkProcAddrNV_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for libGL glGetVkProcAddrNV 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
+#define CUSTOM_INIT \
+    my_lib = lib;                                                               \
+    lib->w.priv = dlsym(lib->w.lib, "glXGetProcAddress");                       \
+    void* symb = dlsym(lib->w.lib, "glDebugMessageCallback");                   \
+    if(symb) {                                                                  \
+        k = kh_get(symbolmap, lib->w.mysymbolmap, "glDebugMessageCallback");    \
+        symbol1_t *s = &kh_value(lib->w.mysymbolmap, k);                        \
+        s->resolved = 1;                                                        \
+        s->addr = AddBridge(lib->w.bridge, s->w, find_glDebugMessageCallback_Fct(symb), 0, "glDebugMessageCallback"); \
+    }                                                                           \
+    symb = dlsym(lib->w.lib, "glXSwapIntervalMESA");                            \
+    if(symb) {                                                                  \
+        k = kh_get(symbolmap, lib->w.mysymbolmap, "glXSwapIntervalMESA");       \
+        symbol1_t *s = &kh_value(lib->w.mysymbolmap, k);                        \
+        s->resolved = 1;                                                        \
+        s->addr = AddBridge(lib->w.bridge, s->w, find_glXSwapIntervalMESA_Fct(symb), 0, "glXSwapIntervalMESA"); \
+    }                                                                           \
+    symb = dlsym(lib->w.lib, "glXSwapIntervalEXT");                             \
+    if(symb) {                                                                  \
+        k = kh_get(symbolmap, lib->w.mysymbolmap, "glXSwapIntervalEXT");        \
+        symbol1_t *s = &kh_value(lib->w.mysymbolmap, k);                        \
+        s->resolved = 1;                                                        \
+        s->addr = AddBridge(lib->w.bridge, s->w, find_glXSwapIntervalEXT_Fct(symb), 0, "glXSwapIntervalEXT"); \
+    }                                                                           \
+
+#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)   \
+
+
+gl_wrappers_t* getGLProcWrapper32(box64context_t* context, glprocaddress_t procaddress)
+{
+    int cnt, ret;
+    khint_t k;
+    if(!gl_wrappers) {
+        gl_wrappers = kh_init(gl_wrappers);
+    }
+    k = kh_put(gl_wrappers, gl_wrappers, (uintptr_t)procaddress, &ret);
+    if(!ret)
+        return kh_value(gl_wrappers, k);
+    gl_wrappers_t* wrappers = kh_value(gl_wrappers, k) = (gl_wrappers_t*)calloc(1, sizeof(gl_wrappers_t));
+
+    wrappers->procaddress = procaddress;
+    wrappers->glwrappers = kh_init(symbolmap);
+    // populates maps...
+    cnt = sizeof(libglsymbolmap)/sizeof(map_onesymbol_t);
+    for (int i=0; i<cnt; ++i) {
+        k = kh_put(symbolmap, wrappers->glwrappers, libglsymbolmap[i].name, &ret);
+        kh_value(wrappers->glwrappers, k).w = libglsymbolmap[i].w;
+        kh_value(wrappers->glwrappers, k).resolved = 0;
+    }
+    // and the my_ symbols map
+    cnt = sizeof(MAPNAME(mysymbolmap))/sizeof(map_onesymbol_t);
+    for (int i=0; i<cnt; ++i) {
+        k = kh_put(symbolmap, wrappers->glwrappers, libglmysymbolmap[i].name, &ret);
+        kh_value(wrappers->glwrappers, k).w = libglmysymbolmap[i].w;
+        kh_value(wrappers->glwrappers, k).resolved = 0;
+    }
+    // my_* map
+    wrappers->glmymap = kh_init(symbolmap);
+    cnt = sizeof(MAPNAME(mysymbolmap))/sizeof(map_onesymbol_t);
+    for (int i=0; i<cnt; ++i) {
+        k = kh_put(symbolmap, wrappers->glmymap, libglmysymbolmap[i].name, &ret);
+        kh_value(wrappers->glmymap, k).w = libglmysymbolmap[i].w;
+        kh_value(wrappers->glmymap, k).resolved = 0;
+    }
+    return wrappers;
+}
+
+void* getGLProcAddress32(x64emu_t* emu, glprocaddress_t procaddr, const char* rname)
+{
+    khint_t k;
+    printf_dlsym(LOG_DEBUG, "Calling getGLProcAddress32[%p](\"%s\") => ", procaddr, rname);
+    gl_wrappers_t* wrappers = getGLProcWrapper32(emu->context, procaddr);
+    // check if glxprocaddress is filled, and search for lib and fill it if needed
+    // get proc adress using actual glXGetProcAddress
+    k = kh_get(symbolmap, wrappers->glmymap, rname);
+    int is_my = (k==kh_end(wrappers->glmymap))?0:1;
+    void* symbol;
+    if(is_my) {
+        // try again, by using custom "my_" now...
+        #define GO(A, B) else if(!strcmp(rname, #B)) symbol = find_##B##_Fct(procaddr(rname));
+        if(0) {}
+        SUPER()
+        else {
+            if(strcmp(rname, "glXGetProcAddress") && strcmp(rname, "glXGetProcAddressARB")) {
+                printf_log(LOG_NONE, "Warning, %s defined as GOM, but find_%s_Fct not defined\n", rname, rname);
+            }
+            char tmp[200];
+            strcpy(tmp, "my_");
+            strcat(tmp, rname);
+            symbol = dlsym(emu->context->box64lib, tmp);
+        }
+        #undef GO
+        #undef SUPER
+    } else
+        symbol = procaddr(rname);
+    if(!symbol) {
+        printf_dlsym(LOG_DEBUG, "%p\n", NULL);
+        return NULL;    // easy
+    }
+    // check if alread bridged
+    uintptr_t ret = CheckBridged(emu->context->system, symbol);
+    if(ret) {
+        printf_dlsym(LOG_DEBUG, "%p\n", (void*)ret);
+        return (void*)ret; // already bridged
+    }
+    // get wrapper
+    k = kh_get(symbolmap, wrappers->glwrappers, rname);
+    if(k==kh_end(wrappers->glwrappers) && strstr(rname, "ARB")==NULL) {
+        // try again, adding ARB at the end if not present
+        char tmp[200];
+        strcpy(tmp, rname);
+        strcat(tmp, "ARB");
+        k = kh_get(symbolmap, wrappers->glwrappers, tmp);
+    }
+    if(k==kh_end(wrappers->glwrappers) && strstr(rname, "EXT")==NULL) {
+        // try again, adding EXT at the end if not present
+        char tmp[200];
+        strcpy(tmp, rname);
+        strcat(tmp, "EXT");
+        k = kh_get(symbolmap, wrappers->glwrappers, tmp);
+    }
+    if(k==kh_end(wrappers->glwrappers)) {
+        printf_dlsym(LOG_DEBUG, "%p\n", NULL);
+        printf_dlsym(LOG_INFO, "Warning, no wrapper for %s\n", rname);
+        return NULL;
+    }
+    symbol1_t* s = &kh_value(wrappers->glwrappers, k);
+    if(!s->resolved) {
+        const char* constname = kh_key(wrappers->glwrappers, k);
+        AddOffsetSymbol(emu->context->maplib, symbol, rname);
+        s->addr = AddCheckBridge(emu->context->system, s->w, symbol, 0, constname);
+        s->resolved = 1;
+    }
+    ret = s->addr;
+    printf_dlsym(LOG_DEBUG, "%p\n", (void*)ret);
+    return (void*)ret;
+}
diff --git a/src/wrapped32/wrappedlibgl_private.h b/src/wrapped32/wrappedlibgl_private.h
new file mode 100644
index 00000000..d154c602
--- /dev/null
+++ b/src/wrapped32/wrappedlibgl_private.h
@@ -0,0 +1,4063 @@
+#if !(defined(GO) && defined(GOM) && defined(GO2) && defined(DATA))
+#error meh!
+#endif
+//VERSION_1_0
+GO(glAccum, vFuf)
+GO(glAlphaFunc, vFuf)
+GO(glBegin, vFu)
+GO(glBitmap, vFiiffffp)
+GO(glBlendFunc, vFuu)
+GO(glCallList, vFu)
+GO(glCallLists, vFiup)
+GO(glClear, vFu)
+GO(glClearAccum, vFffff)
+GO(glClearColor, vFffff)
+GO(glClearDepth, vFd)
+GO(glClearIndex, vFf)
+GO(glClearStencil, vFi)
+GO(glClipPlane, vFup)
+GO(glColor3b, vFccc)
+GO(glColor3bv, vFp)
+GO(glColor3d, vFddd)
+GO(glColor3dv, vFp)
+GO(glColor3f, vFfff)
+GO(glColor3fv, vFp)
+GO(glColor3i, vFiii)
+GO(glColor3iv, vFp)
+GO(glColor3s, vFwww)
+GO(glColor3sv, vFp)
+GO(glColor3ub, vFCCC)
+GO(glColor3ubv, vFp)
+GO(glColor3ui, vFuuu)
+GO(glColor3uiv, vFp)
+GO(glColor3us, vFWWW)
+GO(glColor3usv, vFp)
+GO(glColor4b, vFcccc)
+GO(glColor4bv, vFp)
+GO(glColor4d, vFdddd)
+GO(glColor4dv, vFp)
+GO(glColor4f, vFffff)
+GO(glColor4fv, vFp)
+GO(glColor4i, vFiiii)
+GO(glColor4iv, vFp)
+GO(glColor4s, vFwwww)
+GO(glColor4sv, vFp)
+GO(glColor4ub, vFCCCC)
+GO(glColor4ubv, vFp)
+GO(glColor4ui, vFuuuu)
+GO(glColor4uiv, vFp)
+GO(glColor4us, vFWWWW)
+GO(glColor4usv, vFp)
+GO(glColorMask, vFCCCC)
+GO(glColorMaterial, vFuu)
+GO(glCopyPixels, vFiiiiu)
+GO(glCullFace, vFu)
+GO(glDeleteLists, vFui)
+GO(glDepthFunc, vFu)
+GO(glDepthMask, vFC)
+GO(glDepthRange, vFdd)
+GO(glDisable, vFu)
+GO(glDrawBuffer, vFu)
+GO(glDrawPixels, vFiiuup)
+GO(glEdgeFlag, vFC)
+GO(glEdgeFlagv, vFp)
+GO(glEnable, vFu)
+GO(glEnd, vFv)
+GO(glEndList, vFv)
+GO(glEvalCoord1d, vFd)
+GO(glEvalCoord1dv, vFp)
+GO(glEvalCoord1f, vFf)
+GO(glEvalCoord1fv, vFp)
+GO(glEvalCoord2d, vFdd)
+GO(glEvalCoord2dv, vFp)
+GO(glEvalCoord2f, vFff)
+GO(glEvalCoord2fv, vFp)
+GO(glEvalMesh1, vFuii)
+GO(glEvalMesh2, vFuiiii)
+GO(glEvalPoint1, vFi)
+GO(glEvalPoint2, vFii)
+GO(glFeedbackBuffer, vFiup)
+GO(glFinish, vFv)
+GO(glFlush, vFv)
+GO(glFogf, vFuf)
+GO(glFogfv, vFup)
+GO(glFogi, vFui)
+GO(glFogiv, vFup)
+GO(glFrontFace, vFu)
+GO(glFrustum, vFdddddd)
+GO(glGenLists, uFi)
+GO(glGetBooleanv, vFup)
+GO(glGetClipPlane, vFup)
+GO(glGetDoublev, vFup)
+GO(glGetError, uFv)
+GO(glGetFloatv, vFup)
+GO(glGetIntegerv, vFup)
+GO(glGetLightfv, vFuup)
+GO(glGetLightiv, vFuup)
+GO(glGetMapdv, vFuup)
+GO(glGetMapfv, vFuup)
+GO(glGetMapiv, vFuup)
+GO(glGetMaterialfv, vFuup)
+GO(glGetMaterialiv, vFuup)
+GO(glGetPixelMapfv, vFup)
+GO(glGetPixelMapuiv, vFup)
+GO(glGetPixelMapusv, vFup)
+GO(glGetPolygonStipple, vFp)
+GO(glGetString, pFu)
+GO(glGetTexEnvfv, vFuup)
+GO(glGetTexEnviv, vFuup)
+GO(glGetTexGendv, vFuup)
+GO(glGetTexGenfv, vFuup)
+GO(glGetTexGeniv, vFuup)
+GO(glGetTexImage, vFuiuup)
+GO(glGetTexLevelParameterfv, vFuiup)
+GO(glGetTexLevelParameteriv, vFuiup)
+GO(glGetTexParameterfv, vFuup)
+GO(glGetTexParameteriv, vFuup)
+GO(glHint, vFuu)
+GO(glIndexMask, vFu)
+GO(glIndexd, vFd)
+GO(glIndexdv, vFp)
+GO(glIndexf, vFf)
+GO(glIndexfv, vFp)
+GO(glIndexi, vFi)
+GO(glIndexiv, vFp)
+GO(glIndexs, vFw)
+GO(glIndexsv, vFp)
+GO(glInitNames, vFv)
+GO(glIsEnabled, CFu)
+GO(glIsList, CFu)
+GO(glLightModelf, vFuf)
+GO(glLightModelfv, vFup)
+GO(glLightModeli, vFui)
+GO(glLightModeliv, vFup)
+GO(glLightf, vFuuf)
+GO(glLightfv, vFuup)
+GO(glLighti, vFuui)
+GO(glLightiv, vFuup)
+GO(glLineStipple, vFiW)
+GO(glLineWidth, vFf)
+GO(glListBase, vFu)
+GO(glLoadIdentity, vFv)
+GO(glLoadMatrixd, vFp)
+GO(glLoadMatrixf, vFp)
+GO(glLoadName, vFu)
+GO(glLogicOp, vFu)
+GO(glMap1d, vFuddiip)
+GO(glMap1f, vFuffiip)
+GO(glMap2d, vFuddiiddiip)
+GO(glMap2f, vFuffiiffiip)
+GO(glMapGrid1d, vFidd)
+GO(glMapGrid1f, vFiff)
+GO(glMapGrid2d, vFiddidd)
+GO(glMapGrid2f, vFiffiff)
+GO(glMaterialf, vFuuf)
+GO(glMaterialfv, vFuup)
+GO(glMateriali, vFuui)
+GO(glMaterialiv, vFuup)
+GO(glMatrixMode, vFu)
+GO(glMultMatrixd, vFp)
+GO(glMultMatrixf, vFp)
+GO(glNewList, vFuu)
+GO(glNormal3b, vFccc)
+GO(glNormal3bv, vFp)
+GO(glNormal3d, vFddd)
+GO(glNormal3dv, vFp)
+GO(glNormal3f, vFfff)
+GO(glNormal3fv, vFp)
+GO(glNormal3i, vFiii)
+GO(glNormal3iv, vFp)
+GO(glNormal3s, vFwww)
+GO(glNormal3sv, vFp)
+GO(glOrtho, vFdddddd)
+GO(glPassThrough, vFf)
+GO(glPixelMapfv, vFuip)
+GO(glPixelMapuiv, vFuip)
+GO(glPixelMapusv, vFuip)
+GO(glPixelStoref, vFuf)
+GO(glPixelStorei, vFui)
+GO(glPixelTransferf, vFuf)
+GO(glPixelTransferi, vFui)
+GO(glPixelZoom, vFff)
+GO(glPointSize, vFf)
+GO(glPolygonMode, vFuu)
+GO(glPolygonStipple, vFp)
+GO(glPopAttrib, vFv)
+GO(glPopMatrix, vFv)
+GO(glPopName, vFv)
+GO(glPushAttrib, vFu)
+GO(glPushMatrix, vFv)
+GO(glPushName, vFu)
+GO(glRasterPos2d, vFdd)
+GO(glRasterPos2dv, vFp)
+GO(glRasterPos2f, vFff)
+GO(glRasterPos2fv, vFp)
+GO(glRasterPos2i, vFii)
+GO(glRasterPos2iv, vFp)
+GO(glRasterPos2s, vFww)
+GO(glRasterPos2sv, vFp)
+GO(glRasterPos3d, vFddd)
+GO(glRasterPos3dv, vFp)
+GO(glRasterPos3f, vFfff)
+GO(glRasterPos3fv, vFp)
+GO(glRasterPos3i, vFiii)
+GO(glRasterPos3iv, vFp)
+GO(glRasterPos3s, vFwww)
+GO(glRasterPos3sv, vFp)
+GO(glRasterPos4d, vFdddd)
+GO(glRasterPos4dv, vFp)
+GO(glRasterPos4f, vFffff)
+GO(glRasterPos4fv, vFp)
+GO(glRasterPos4i, vFiiii)
+GO(glRasterPos4iv, vFp)
+GO(glRasterPos4s, vFwwww)
+GO(glRasterPos4sv, vFp)
+GO(glReadBuffer, vFu)
+GO(glReadPixels, vFiiiiuup)
+GO(glRectd, vFdddd)
+GO(glRectdv, vFpp)
+GO(glRectf, vFffff)
+GO(glRectfv, vFpp)
+GO(glRecti, vFiiii)
+GO(glRectiv, vFpp)
+GO(glRects, vFwwww)
+GO(glRectsv, vFpp)
+GO(glRenderMode, iFu)
+GO(glRotated, vFdddd)
+GO(glRotatef, vFffff)
+GO(glScaled, vFddd)
+GO(glScalef, vFfff)
+GO(glScissor, vFiiii)
+GO(glSelectBuffer, vFip)
+GO(glShadeModel, vFu)
+GO(glStencilFunc, vFuiu)
+GO(glStencilMask, vFu)
+GO(glStencilOp, vFuuu)
+GO(glTexCoord1d, vFd)
+GO(glTexCoord1dv, vFp)
+GO(glTexCoord1f, vFf)
+GO(glTexCoord1fv, vFp)
+GO(glTexCoord1i, vFi)
+GO(glTexCoord1iv, vFp)
+GO(glTexCoord1s, vFw)
+GO(glTexCoord1sv, vFp)
+GO(glTexCoord2d, vFdd)
+GO(glTexCoord2dv, vFp)
+GO(glTexCoord2f, vFff)
+GO(glTexCoord2fv, vFp)
+GO(glTexCoord2i, vFii)
+GO(glTexCoord2iv, vFp)
+GO(glTexCoord2s, vFww)
+GO(glTexCoord2sv, vFp)
+GO(glTexCoord3d, vFddd)
+GO(glTexCoord3dv, vFp)
+GO(glTexCoord3f, vFfff)
+GO(glTexCoord3fv, vFp)
+GO(glTexCoord3i, vFiii)
+GO(glTexCoord3iv, vFp)
+GO(glTexCoord3s, vFwww)
+GO(glTexCoord3sv, vFp)
+GO(glTexCoord4d, vFdddd)
+GO(glTexCoord4dv, vFp)
+GO(glTexCoord4f, vFffff)
+GO(glTexCoord4fv, vFp)
+GO(glTexCoord4i, vFiiii)
+GO(glTexCoord4iv, vFp)
+GO(glTexCoord4s, vFwwww)
+GO(glTexCoord4sv, vFp)
+GO(glTexEnvf, vFuuf)
+GO(glTexEnvfv, vFuup)
+GO(glTexEnvi, vFuui)
+GO(glTexEnviv, vFuup)
+GO(glTexGend, vFuud)
+GO(glTexGendv, vFuup)
+GO(glTexGenf, vFuuf)
+GO(glTexGenfv, vFuup)
+GO(glTexGeni, vFuui)
+GO(glTexGeniv, vFuup)
+GO(glTexImage1D, vFuiiiiuup)
+GO(glTexImage2D, vFuiiiiiuup)
+GO(glTexParameterf, vFuuf)
+GO(glTexParameterfv, vFuup)
+GO(glTexParameteri, vFuui)
+GO(glTexParameteriv, vFuup)
+GO(glTranslated, vFddd)
+GO(glTranslatef, vFfff)
+GO(glVertex2d, vFdd)
+GO(glVertex2dv, vFp)
+GO(glVertex2f, vFff)
+GO(glVertex2fv, vFp)
+GO(glVertex2i, vFii)
+GO(glVertex2iv, vFp)
+GO(glVertex2s, vFww)
+GO(glVertex2sv, vFp)
+GO(glVertex3d, vFddd)
+GO(glVertex3dv, vFp)
+GO(glVertex3f, vFfff)
+GO(glVertex3fv, vFp)
+GO(glVertex3i, vFiii)
+GO(glVertex3iv, vFp)
+GO(glVertex3s, vFwww)
+GO(glVertex3sv, vFp)
+GO(glVertex4d, vFdddd)
+GO(glVertex4dv, vFp)
+GO(glVertex4f, vFffff)
+GO(glVertex4fv, vFp)
+GO(glVertex4i, vFiiii)
+GO(glVertex4iv, vFp)
+GO(glVertex4s, vFwwww)
+GO(glVertex4sv, vFp)
+GO(glViewport, vFiiii)
+//VERSION_1_1
+GO(glAreTexturesResident, CFipp)
+GO(glArrayElement, vFi)
+GO(glBindTexture, vFuu)
+GO(glColorPointer, vFiuip)
+GO(glCopyTexImage1D, vFuiuiiii)
+GO(glCopyTexImage2D, vFuiuiiiii)
+GO(glCopyTexSubImage1D, vFuiiiii)
+GO(glCopyTexSubImage2D, vFuiiiiiii)
+GO(glDeleteTextures, vFip)
+GO(glDisableClientState, vFu)
+GO(glDrawArrays, vFuii)
+GO(glDrawElements, vFuiup)
+GO(glEdgeFlagPointer, vFip)
+GO(glEnableClientState, vFu)
+GO(glGenTextures, vFip)
+GO(glGetPointerv, vFup)
+GO(glIndexPointer, vFuip)
+GO(glIndexub, vFC)
+GO(glIndexubv, vFp)
+GO(glInterleavedArrays, vFuip)
+GO(glIsTexture, CFu)
+GO(glNormalPointer, vFuip)
+GO(glPolygonOffset, vFff)
+GO(glPopClientAttrib, vFv)
+GO(glPrioritizeTextures, vFipp)
+GO(glPushClientAttrib, vFu)
+GO(glTexCoordPointer, vFiuip)
+GO(glTexSubImage1D, vFuiiiuup)
+GO(glTexSubImage2D, vFuiiiiiuup)
+GO(glVertexPointer, vFiuip)
+//VERSION_1_2
+GO(glBlendColor, vFffff)
+GO(glBlendEquation, vFu)
+GO(glColorSubTable, vFuiiuup)
+GO(glColorTable, vFuuiuup)
+GO(glColorTableParameterfv, vFuup)
+GO(glColorTableParameteriv, vFuup)
+GO(glConvolutionFilter1D, vFuuiuup)
+GO(glConvolutionFilter2D, vFuuiiuup)
+GO(glConvolutionParameterf, vFuuf)
+GO(glConvolutionParameterfv, vFuup)
+GO(glConvolutionParameteri, vFuui)
+GO(glConvolutionParameteriv, vFuup)
+GO(glCopyColorSubTable, vFuiiii)
+GO(glCopyColorTable, vFuuiii)
+GO(glCopyConvolutionFilter1D, vFuuiii)
+GO(glCopyConvolutionFilter2D, vFuuiiii)
+GO(glCopyTexSubImage3D, vFuiiiiiiii)
+GO(glDrawRangeElements, vFuuuiup)
+GO(glGetColorTable, vFuuup)
+GO(glGetColorTableParameterfv, vFuup)
+GO(glGetColorTableParameteriv, vFuup)
+GO(glGetConvolutionFilter, vFuuup)
+GO(glGetConvolutionParameterfv, vFuup)
+GO(glGetConvolutionParameteriv, vFuup)
+GO(glGetHistogram, vFuCuup)
+GO(glGetHistogramParameterfv, vFuup)
+GO(glGetHistogramParameteriv, vFuup)
+GO(glGetMinmax, vFuCuup)
+GO(glGetMinmaxParameterfv, vFuup)
+GO(glGetMinmaxParameteriv, vFuup)
+GO(glGetSeparableFilter, vFuuuppp)
+GO(glHistogram, vFuiuC)
+GO(glMinmax, vFuuC)
+GO(glResetHistogram, vFu)
+GO(glResetMinmax, vFu)
+GO(glSeparableFilter2D, vFuuiiuupp)
+GO(glTexImage3D, vFuiiiiiiuup)
+GO(glTexSubImage3D, vFuiiiiiiiuup)
+//VERSION_1_3
+GO(glActiveTexture, vFu)
+GO(glClientActiveTexture, vFu)
+GO(glCompressedTexImage1D, vFuiuiiip)
+GO(glCompressedTexImage2D, vFuiuiiiip)
+GO(glCompressedTexImage3D, vFuiuiiiiip)
+GO(glCompressedTexSubImage1D, vFuiiiuip)
+GO(glCompressedTexSubImage2D, vFuiiiiiuip)
+GO(glCompressedTexSubImage3D, vFuiiiiiiiuip)
+GO(glGetCompressedTexImage, vFuip)
+GO(glLoadTransposeMatrixd, vFp)
+GO(glLoadTransposeMatrixf, vFp)
+GO(glMultTransposeMatrixd, vFp)
+GO(glMultTransposeMatrixf, vFp)
+GO(glMultiTexCoord1d, vFud)
+GO(glMultiTexCoord1dv, vFup)
+GO(glMultiTexCoord1f, vFuf)
+GO(glMultiTexCoord1fv, vFup)
+GO(glMultiTexCoord1i, vFui)
+GO(glMultiTexCoord1iv, vFup)
+GO(glMultiTexCoord1s, vFuw)
+GO(glMultiTexCoord1sv, vFup)
+GO(glMultiTexCoord2d, vFudd)
+GO(glMultiTexCoord2dv, vFup)
+GO(glMultiTexCoord2f, vFuff)
+GO(glMultiTexCoord2fv, vFup)
+GO(glMultiTexCoord2i, vFuii)
+GO(glMultiTexCoord2iv, vFup)
+GO(glMultiTexCoord2s, vFuww)
+GO(glMultiTexCoord2sv, vFup)
+GO(glMultiTexCoord3d, vFuddd)
+GO(glMultiTexCoord3dv, vFup)
+GO(glMultiTexCoord3f, vFufff)
+GO(glMultiTexCoord3fv, vFup)
+GO(glMultiTexCoord3i, vFuiii)
+GO(glMultiTexCoord3iv, vFup)
+GO(glMultiTexCoord3s, vFuwww)
+GO(glMultiTexCoord3sv, vFup)
+GO(glMultiTexCoord4d, vFudddd)
+GO(glMultiTexCoord4dv, vFup)
+GO(glMultiTexCoord4f, vFuffff)
+GO(glMultiTexCoord4fv, vFup)
+GO(glMultiTexCoord4i, vFuiiii)
+GO(glMultiTexCoord4iv, vFup)
+GO(glMultiTexCoord4s, vFuwwww)
+GO(glMultiTexCoord4sv, vFup)
+GO(glSampleCoverage, vFfC)
+//VERSION_1_4
+GO(glBlendFuncSeparate, vFuuuu)
+GO(glFogCoordPointer, vFuip)
+GO(glFogCoordd, vFd)
+GO(glFogCoorddv, vFp)
+GO(glFogCoordf, vFf)
+GO(glFogCoordfv, vFp)
+GO(glMultiDrawArrays, vFuppi)
+GO(glMultiDrawElements, vFupupi)
+GO(glPointParameterf, vFuf)
+GO(glPointParameterfv, vFup)
+GO(glPointParameteri, vFui)
+GO(glPointParameteriv, vFup)
+GO(glSecondaryColor3b, vFccc)
+GO(glSecondaryColor3bv, vFp)
+GO(glSecondaryColor3d, vFddd)
+GO(glSecondaryColor3dv, vFp)
+GO(glSecondaryColor3f, vFfff)
+GO(glSecondaryColor3fv, vFp)
+GO(glSecondaryColor3i, vFiii)
+GO(glSecondaryColor3iv, vFp)
+GO(glSecondaryColor3s, vFwww)
+GO(glSecondaryColor3sv, vFp)
+GO(glSecondaryColor3ub, vFCCC)
+GO(glSecondaryColor3ubv, vFp)
+GO(glSecondaryColor3ui, vFuuu)
+GO(glSecondaryColor3uiv, vFp)
+GO(glSecondaryColor3us, vFWWW)
+GO(glSecondaryColor3usv, vFp)
+GO(glSecondaryColorPointer, vFiuip)
+GO(glWindowPos2d, vFdd)
+GO(glWindowPos2dv, vFp)
+GO(glWindowPos2f, vFff)
+GO(glWindowPos2fv, vFp)
+GO(glWindowPos2i, vFii)
+GO(glWindowPos2iv, vFp)
+GO(glWindowPos2s, vFww)
+GO(glWindowPos2sv, vFp)
+GO(glWindowPos3d, vFddd)
+GO(glWindowPos3dv, vFp)
+GO(glWindowPos3f, vFfff)
+GO(glWindowPos3fv, vFp)
+GO(glWindowPos3i, vFiii)
+GO(glWindowPos3iv, vFp)
+GO(glWindowPos3s, vFwww)
+GO(glWindowPos3sv, vFp)
+//VERSION_1_5
+GO(glBeginQuery, vFuu)
+GO(glBindBuffer, vFuu)
+GO(glBufferData, vFulpu)
+GO(glBufferSubData, vFullp)
+GO(glDeleteBuffers, vFip)
+GO(glDeleteQueries, vFip)
+GO(glEndQuery, vFu)
+GO(glGenBuffers, vFip)
+GO(glGenQueries, vFip)
+GO(glGetBufferParameteriv, vFuup)
+GO(glGetBufferPointerv, vFuup)
+GO(glGetBufferSubData, vFullp)
+GO(glGetQueryObjectiv, vFuup)
+GO(glGetQueryObjectuiv, vFuup)
+GO(glGetQueryiv, vFuup)
+GO(glIsBuffer, CFu)
+GO(glIsQuery, CFu)
+GO(glMapBuffer, pFuu)
+GO(glUnmapBuffer, CFu)
+//VERSION_2_0
+GO(glAttachShader, vFuu)
+GO(glBindAttribLocation, vFuup)
+GO(glBlendEquationSeparate, vFuu)
+GO(glCompileShader, vFu)
+GO(glCreateProgram, uFv)
+GO(glCreateShader, uFu)
+GO(glDeleteProgram, vFu)
+GO(glDeleteShader, vFu)
+GO(glDetachShader, vFuu)
+GO(glDisableVertexAttribArray, vFu)
+GO(glDrawBuffers, vFip)
+GO(glEnableVertexAttribArray, vFu)
+GO(glGetActiveAttrib, vFuuipppp)
+GO(glGetActiveUniform, vFuuipppp)
+GO(glGetAttachedShaders, vFuipp)
+GO(glGetAttribLocation, iFup)
+GO(glGetProgramInfoLog, vFuipp)
+GO(glGetProgramiv, vFuup)
+GO(glGetShaderInfoLog, vFuipp)
+GO(glGetShaderSource, vFuipp)
+GO(glGetShaderiv, vFuup)
+GO(glGetUniformLocation, iFup)
+GO(glGetUniformfv, vFuip)
+GO(glGetUniformiv, vFuip)
+GO(glGetVertexAttribPointerv, vFuup)
+GO(glGetVertexAttribdv, vFuup)
+GO(glGetVertexAttribfv, vFuup)
+GO(glGetVertexAttribiv, vFuup)
+GO(glIsProgram, CFu)
+GO(glIsShader, CFu)
+GO(glLinkProgram, vFu)
+GO(glShaderSource, vFuipp)
+GO(glStencilFuncSeparate, vFuuiu)
+GO(glStencilMaskSeparate, vFuu)
+GO(glStencilOpSeparate, vFuuuu)
+GO(glUniform1f, vFif)
+GO(glUniform1fv, vFiip)
+GO(glUniform1i, vFii)
+GO(glUniform1iv, vFiip)
+GO(glUniform2f, vFiff)
+GO(glUniform2fv, vFiip)
+GO(glUniform2i, vFiii)
+GO(glUniform2iv, vFiip)
+GO(glUniform3f, vFifff)
+GO(glUniform3fv, vFiip)
+GO(glUniform3i, vFiiii)
+GO(glUniform3iv, vFiip)
+GO(glUniform4f, vFiffff)
+GO(glUniform4fv, vFiip)
+GO(glUniform4i, vFiiiii)
+GO(glUniform4iv, vFiip)
+GO(glUniformMatrix2fv, vFiiCp)
+GO(glUniformMatrix3fv, vFiiCp)
+GO(glUniformMatrix4fv, vFiiCp)
+GO(glUseProgram, vFu)
+GO(glValidateProgram, vFu)
+GO(glVertexAttrib1d, vFud)
+GO(glVertexAttrib1dv, vFup)
+GO(glVertexAttrib1f, vFuf)
+GO(glVertexAttrib1fv, vFup)
+GO(glVertexAttrib1s, vFuw)
+GO(glVertexAttrib1sv, vFup)
+GO(glVertexAttrib2d, vFudd)
+GO(glVertexAttrib2dv, vFup)
+GO(glVertexAttrib2f, vFuff)
+GO(glVertexAttrib2fv, vFup)
+GO(glVertexAttrib2s, vFuww)
+GO(glVertexAttrib2sv, vFup)
+GO(glVertexAttrib3d, vFuddd)
+GO(glVertexAttrib3dv, vFup)
+GO(glVertexAttrib3f, vFufff)
+GO(glVertexAttrib3fv, vFup)
+GO(glVertexAttrib3s, vFuwww)
+GO(glVertexAttrib3sv, vFup)
+GO(glVertexAttrib4Nbv, vFup)
+GO(glVertexAttrib4Niv, vFup)
+GO(glVertexAttrib4Nsv, vFup)
+GO(glVertexAttrib4Nub, vFuCCCC)
+GO(glVertexAttrib4Nubv, vFup)
+GO(glVertexAttrib4Nuiv, vFup)
+GO(glVertexAttrib4Nusv, vFup)
+GO(glVertexAttrib4bv, vFup)
+GO(glVertexAttrib4d, vFudddd)
+GO(glVertexAttrib4dv, vFup)
+GO(glVertexAttrib4f, vFuffff)
+GO(glVertexAttrib4fv, vFup)
+GO(glVertexAttrib4iv, vFup)
+GO(glVertexAttrib4s, vFuwwww)
+GO(glVertexAttrib4sv, vFup)
+GO(glVertexAttrib4ubv, vFup)
+GO(glVertexAttrib4uiv, vFup)
+GO(glVertexAttrib4usv, vFup)
+GO(glVertexAttribPointer, vFuiuCip)
+//VERSION_2_1
+GO(glUniformMatrix2x3fv, vFiiCp)
+GO(glUniformMatrix2x4fv, vFiiCp)
+GO(glUniformMatrix3x2fv, vFiiCp)
+GO(glUniformMatrix3x4fv, vFiiCp)
+GO(glUniformMatrix4x2fv, vFiiCp)
+GO(glUniformMatrix4x3fv, vFiiCp)
+//VERSION_3_0
+GO(glBeginConditionalRender, vFuu)
+GO(glBeginTransformFeedback, vFu)
+GO(glBindBufferBase, vFuuu)
+GO(glBindBufferRange, vFuuull)
+GO(glBindFragDataLocation, vFuup)
+GO(glClampColor, vFuu)
+GO(glClearBufferfi, vFuifi)
+GO(glClearBufferfv, vFuip)
+GO(glClearBufferiv, vFuip)
+GO(glClearBufferuiv, vFuip)
+GO(glColorMaski, vFuCCCC)
+GO(glDisablei, vFuu)
+GO(glEnablei, vFuu)
+GO(glEndConditionalRender, vFv)
+GO(glEndTransformFeedback, vFv)
+GO(glGetBooleani_v, vFuup)
+GO(glGetFragDataLocation, iFup)
+GO(glGetIntegeri_v, vFuup)
+GO(glGetStringi, pFuu)
+GO(glGetTexParameterIiv, vFuup)
+GO(glGetTexParameterIuiv, vFuup)
+GO(glGetTransformFeedbackVarying, vFuuipppp)
+GO(glGetUniformuiv, vFuip)
+GO(glGetVertexAttribIiv, vFuup)
+GO(glGetVertexAttribIuiv, vFuup)
+GO(glIsEnabledi, CFuu)
+GO(glTexParameterIiv, vFuup)
+GO(glTexParameterIuiv, vFuup)
+GO(glTransformFeedbackVaryings, vFuipu)
+GO(glUniform1ui, vFiu)
+GO(glUniform1uiv, vFiip)
+GO(glUniform2ui, vFiuu)
+GO(glUniform2uiv, vFiip)
+GO(glUniform3ui, vFiuuu)
+GO(glUniform3uiv, vFiip)
+GO(glUniform4ui, vFiuuuu)
+GO(glUniform4uiv, vFiip)
+GO(glVertexAttribI1i, vFui)
+GO(glVertexAttribI1iv, vFup)
+GO(glVertexAttribI1ui, vFuu)
+GO(glVertexAttribI1uiv, vFup)
+GO(glVertexAttribI2i, vFuii)
+GO(glVertexAttribI2iv, vFup)
+GO(glVertexAttribI2ui, vFuuu)
+GO(glVertexAttribI2uiv, vFup)
+GO(glVertexAttribI3i, vFuiii)
+GO(glVertexAttribI3iv, vFup)
+GO(glVertexAttribI3ui, vFuuuu)
+GO(glVertexAttribI3uiv, vFup)
+GO(glVertexAttribI4bv, vFup)
+GO(glVertexAttribI4i, vFuiiii)
+GO(glVertexAttribI4iv, vFup)
+GO(glVertexAttribI4sv, vFup)
+GO(glVertexAttribI4ubv, vFup)
+GO(glVertexAttribI4ui, vFuuuuu)
+GO(glVertexAttribI4uiv, vFup)
+GO(glVertexAttribI4usv, vFup)
+GO(glVertexAttribIPointer, vFuiuip)
+//VERSION_3_1
+GO(glDrawArraysInstanced, vFuiii)
+GO(glDrawElementsInstanced, vFuiupi)
+GO(glPrimitiveRestartIndex, vFu)
+GO(glTexBuffer, vFuuu)
+//VERSION_3_2
+GO(glFramebufferTexture, vFuuui)
+GO(glGetBufferParameteri64v, vFuup)
+GO(glGetInteger64i_v, vFuup)
+//VERSION_3_3
+GO(glVertexAttribDivisor, vFuu)
+//VERSION_4_0
+GO(glBlendEquationSeparatei, vFuuu)
+GO(glBlendEquationi, vFuu)
+GO(glBlendFuncSeparatei, vFuuuuu)
+GO(glBlendFunci, vFuuu)
+GO(glMinSampleShading, vFf)
+//VERSION_4_3
+GO(glInvalidateNamedFramebuffer,  vFiup)
+//VERSION_4_4
+GO(glBindBuffersBase, vFuuip)
+GO(glBindBuffersRange, vFuuippp)
+GO(glBindImageTextures, vFuip)
+GO(glBindSamplers, vFuip)
+GO(glBindTextures, vFuip)
+GO(glBindVertexBuffers, vFuippp)
+GO(glBufferStorage, vFulpu)
+GO(glClearTexImage, vFuiuup)
+GO(glClearTexSubImage, vFuiiiiiiiuup)
+//VERSION_4_5
+GO(glClipControl, vFuu)
+GO(glCreateTransformFeedbacks, vFip)
+GO(glTransformFeedbackBufferBase, vFuuu)
+GO(glTransformFeedbackBufferRange, vFuuull)
+GO(glGetTransformFeedbackiv, vFuup)
+GO(glGetTransformFeedbacki_v, vFuuup)
+GO(glGetTransformFeedbacki64_v, vFuuup)
+GO(glCreateBuffers, vFip)
+GO(glNamedBufferStorage, vFulpu)
+GO(glNamedBufferStorageEXT, vFulpu)
+GO(glNamedBufferData, vFulpu)
+GO(glNamedBufferSubData, vFullp)
+GO(glCopyNamedBufferSubData, vFuulll)
+GO(glClearNamedBufferData, vFuuuup)
+GO(glClearNamedBufferSubData, vFuulluup)
+GO(glMapNamedBuffer, pFuu)
+GO(glMapNamedBufferRange, pFullu)
+GO(glUnmapNamedBuffer, CFu)
+GO(glFlushMappedNamedBufferRange, vFull)
+GO(glGetNamedBufferParameteriv, vFuup)
+GO(glGetNamedBufferParameteri64v, vFuup)
+GO(glGetNamedBufferPointerv, vFuup)
+GO(glGetNamedBufferSubData, vFullp)
+GO(glCreateFramebuffers, vFip)
+GO(glNamedFramebufferRenderbuffer, vFuuuu)
+GO(glNamedFramebufferParameteri, vFuui)
+GO(glNamedFramebufferTexture, vFuuui)
+GO(glNamedFramebufferTextureLayer, vFuuuii)
+GO(glNamedFramebufferDrawBuffer, vFuu)
+GO(glNamedFramebufferDrawBuffers, vFuip)
+GO(glNamedFramebufferReadBuffer, vFuu)
+GO(glInvalidateNamedFramebufferData, vFuip)
+GO(glInvalidateNamedFramebufferSubData, vFuipiiii)
+GO(glClearNamedFramebufferiv, vFuuip)
+GO(glClearNamedFramebufferuiv, vFuuip)
+GO(glClearNamedFramebufferfv, vFuuip)
+GO(glClearNamedFramebufferfi, vFuuifi)
+GO(glBlitNamedFramebuffer, vFuuiiiiiiiiuu)
+GO(glCheckNamedFramebufferStatus, uFuu)
+GO(glGetNamedFramebufferParameteriv, vFuup)
+GO(glGetNamedFramebufferAttachmentParameteriv, vFuuup)
+GO(glCreateRenderbuffers, vFip)
+GO(glNamedRenderbufferStorage, vFuuii)
+GO(glNamedRenderbufferStorageMultisample, vFuiuii)
+GO(glGetNamedRenderbufferParameteriv, vFuup)
+GO(glCreateTextures, vFuip)
+GO(glTextureBuffer, vFuuu)
+GO(glTextureBufferRange, vFuuull)
+GO(glTextureStorage1D, vFuiui)
+GO(glTextureStorage2D, vFuiuii)
+GO(glTextureStorage3D, vFuiuiii)
+GO(glTextureStorage2DMultisample, vFuiuiiC)
+GO(glTextureStorage3DMultisample, vFuiuiiiC)
+GO(glTextureSubImage1D, vFuiiiuup)
+GO(glTextureSubImage2D, vFuiiiiiuup)
+GO(glTextureSubImage3D, vFuiiiiiiiuup)
+GO(glCompressedTextureSubImage1D, vFuiiiuip)
+GO(glCompressedTextureSubImage2D, vFuiiiiiuip)
+GO(glCompressedTextureSubImage3D, vFuiiiiiiiuip)
+GO(glCopyTextureSubImage1D, vFuiiiii)
+GO(glCopyTextureSubImage2D, vFuiiiiiii)
+GO(glCopyTextureSubImage3D, vFuiiiiiiii)
+GO(glTextureParameterf, vFuuf)
+GO(glTextureParameterfv, vFuup)
+GO(glTextureParameteri, vFuui)
+GO(glTextureParameterIiv, vFuup)
+GO(glTextureParameterIuiv, vFuup)
+GO(glTextureParameteriv, vFuup)
+GO(glGenerateTextureMipmap, vFu)
+GO(glBindTextureUnit, vFuu)
+GO(glGetTextureImage, vFuiuuip)
+GO(glGetCompressedTextureImage, vFuiip)
+GO(glGetTextureLevelParameterfv, vFuiup)
+GO(glGetTextureLevelParameteriv, vFuiup)
+GO(glGetTextureParameterfv, vFuup)
+GO(glGetTextureParameterIiv, vFuup)
+GO(glGetTextureParameterIuiv, vFuup)
+GO(glGetTextureParameteriv, vFuup)
+GO(glCreateVertexArrays, vFip)
+GO(glDisableVertexArrayAttrib, vFuu)
+GO(glEnableVertexArrayAttrib, vFuu)
+GO(glVertexArrayElementBuffer, vFuu)
+GO(glVertexArrayVertexBuffer, vFuuuli)
+GO(glVertexArrayVertexBuffers, vFuuippp)
+GO(glVertexArrayAttribBinding, vFuuu)
+GO(glVertexArrayAttribFormat, vFuuiuCu)
+GO(glVertexArrayAttribIFormat, vFuuiuu)
+GO(glVertexArrayAttribLFormat, vFuuiuu)
+GO(glVertexArrayBindingDivisor, vFuuu)
+GO(glGetVertexArrayiv, vFuup)
+GO(glGetVertexArrayIndexediv, vFuuup)
+GO(glGetVertexArrayIndexed64iv, vFuuup)
+GO(glCreateSamplers, vFip)
+GO(glCreateProgramPipelines, vFip)
+GO(glTextureBarrier, vFv)
+GO(glTextureParameteriiv, vFuip)
+GO(glTextureParameteriuiv, vFuip)
+GO(glCreateQueries, vFuip)
+GO(glGetQueryBufferObjecti64v, vFuuul)
+GO(glGetQueryBufferObjectiv, vFuuul)
+GO(glGetQueryBufferObjectui64v, vFuuul)
+GO(glGetQueryBufferObjectuiv, vFuuul)
+GO(glMemoryBarrierByRegion, vFu)
+GO(glGetTextureSubImage, vFuiiiiiiiuuip)
+GO(glGetCompressedTextureSubImage, vFuiiiiiiiip)
+GO(glGetGraphicsResetStatus, uFv)
+GO(glGetnUniformfv, vFuiip)
+GO(glGetnUniformiv, vFuiip)
+GO(glGetnUniformuiv, vFuiip)
+GO(glReadnPixels, vFiiiiuuip)
+//VERSION_4_6
+GO(glSpecializeShader, vFupupp)
+
+GO(glTexturePageCommitmentEXT, vFuiiiiiiiC)
+GO(glVertexArrayVertexAttribDivisorEXT, vFuuu)
+
+// _fini
+//3DFX_tbuffer
+GO(glTbufferMask3DFX, vFu)
+//AMD_debug_output
+GOM(glDebugMessageCallbackAMD, vFEpp)
+GO(glDebugMessageEnableAMD, vFuuipC)
+GO(glDebugMessageInsertAMD, vFuuuip)
+GO(glGetDebugMessageLogAMD, uFuippppp)
+//AMD_draw_buffers_blend
+GO(glBlendEquationIndexedAMD, vFuu)
+GO(glBlendEquationSeparateIndexedAMD, vFuuu)
+GO(glBlendFuncIndexedAMD, vFuuu)
+GO(glBlendFuncSeparateIndexedAMD, vFuuuuu)
+//AMD_multi_draw_indirect
+GO(glMultiDrawArraysIndirectAMD, vFupii)
+GO(glMultiDrawElementsIndirectAMD, vFuupii)
+//AMD_name_gen_delete
+GO(glDeleteNamesAMD, vFuup)
+GO(glGenNamesAMD, vFuup)
+GO(glIsNameAMD, CFuu)
+//AMD_performance_monitor
+GO(glBeginPerfMonitorAMD, vFu)
+GO(glDeletePerfMonitorsAMD, vFip)
+GO(glEndPerfMonitorAMD, vFu)
+GO(glGenPerfMonitorsAMD, vFip)
+GO(glGetPerfMonitorCounterDataAMD, vFuuipp)
+GO(glGetPerfMonitorCounterInfoAMD, vFuuup)
+GO(glGetPerfMonitorCounterStringAMD, vFuuipp)
+GO(glGetPerfMonitorCountersAMD, vFuppip)
+GO(glGetPerfMonitorGroupStringAMD, vFuipp)
+GO(glGetPerfMonitorGroupsAMD, vFpip)
+GO(glSelectPerfMonitorCountersAMD, vFuCuip)
+//AMD_sample_positions
+GO(glSetMultisamplefvAMD, vFuup)
+//AMD_sparse_texture
+GO(glTexStorageSparseAMD, vFuuiiiiu)
+GO(glTextureStorageSparseAMD, vFuuuiiiiu)
+//AMD_stencil_operation_extended
+GO(glStencilOpValueAMD, vFuu)
+//AMD_vertex_shader_tessellator
+GO(glTessellationFactorAMD, vFf)
+GO(glTessellationModeAMD, vFu)
+//APPLE_element_array
+GO(glDrawElementArrayAPPLE, vFuii)
+GO(glDrawRangeElementArrayAPPLE, vFuuuii)
+GO(glElementPointerAPPLE, vFup)
+GO(glMultiDrawElementArrayAPPLE, vFuppi)
+GO(glMultiDrawRangeElementArrayAPPLE, vFuuuppi)
+//APPLE_fence
+GO(glDeleteFencesAPPLE, vFip)
+GO(glFinishFenceAPPLE, vFu)
+GO(glFinishObjectAPPLE, vFui)
+GO(glGenFencesAPPLE, vFip)
+GO(glIsFenceAPPLE, CFu)
+GO(glSetFenceAPPLE, vFu)
+GO(glTestFenceAPPLE, CFu)
+GO(glTestObjectAPPLE, CFuu)
+//APPLE_flush_buffer_range
+GO(glBufferParameteriAPPLE, vFuui)
+GO(glFlushMappedBufferRangeAPPLE, vFull)
+//APPLE_object_purgeable
+GO(glGetObjectParameterivAPPLE, vFuuup)
+GO(glObjectPurgeableAPPLE, uFuuu)
+GO(glObjectUnpurgeableAPPLE, uFuuu)
+//APPLE_texture_range
+GO(glGetTexParameterPointervAPPLE, vFuup)
+GO(glTextureRangeAPPLE, vFuip)
+//APPLE_vertex_array_object
+GO(glBindVertexArrayAPPLE, vFu)
+GO(glDeleteVertexArraysAPPLE, vFip)
+GO(glGenVertexArraysAPPLE, vFip)
+GO(glIsVertexArrayAPPLE, CFu)
+//APPLE_vertex_array_range
+GO(glFlushVertexArrayRangeAPPLE, vFip)
+GO(glVertexArrayParameteriAPPLE, vFui)
+GO(glVertexArrayRangeAPPLE, vFip)
+//APPLE_vertex_program_evaluators
+GO(glDisableVertexAttribAPPLE, vFuu)
+GO(glEnableVertexAttribAPPLE, vFuu)
+GO(glIsVertexAttribEnabledAPPLE, CFuu)
+GO(glMapVertexAttrib1dAPPLE, vFuuddiip)
+GO(glMapVertexAttrib1fAPPLE, vFuuffiip)
+GO(glMapVertexAttrib2dAPPLE, vFuuddiiddiip)
+GO(glMapVertexAttrib2fAPPLE, vFuuffiiffiip)
+//ARB_ES2_compatibility
+GO(glClearDepthf, vFf)
+GO(glDepthRangef, vFff)
+GO(glGetShaderPrecisionFormat, vFuupp)
+GO(glReleaseShaderCompiler, vFv)
+GO(glShaderBinary, vFipupi)
+//ARB_base_instance
+GO(glDrawArraysInstancedBaseInstance, vFuiiiu)
+GO(glDrawElementsInstancedBaseInstance, vFuiupiu)
+GO(glDrawElementsInstancedBaseVertexBaseInstance, vFuiupiiu)
+//ARB_blend_func_extended
+GO(glBindFragDataLocationIndexed, vFuuup)
+GO(glGetFragDataIndex, iFup)
+//ARB_cl_event
+GO(glCreateSyncFromCLeventARB, pFppu)
+//ARB_clear_buffer_object
+GO(glClearBufferData, vFuuuup)
+GO(glClearBufferSubData, vFuulluup)
+GO(glClearNamedBufferDataEXT, vFuuuup)
+GO(glClearNamedBufferSubDataEXT, vFuulluup)
+//ARB_color_buffer_float
+GO(glClampColorARB, vFuu)
+//ARB_compute_shader
+GO(glDispatchCompute, vFuuu)
+GO(glDispatchComputeIndirect, vFl)
+//ARB_copy_buffer
+GO(glCopyBufferSubData, vFuulll)
+//ARB_copy_image
+GO(glCopyImageSubData, vFuuiiiiuuiiiiiii)
+//ARB_debug_output
+GOM(glDebugMessageCallbackARB, vFEpp)
+GO(glDebugMessageControlARB, vFuuuipC)
+GO(glDebugMessageInsertARB, vFuuuuip)
+GO(glGetDebugMessageLogARB, uFuipppppp)
+//ARB_draw_buffers
+GO(glDrawBuffersARB, vFip)
+//ARB_draw_buffers_blend
+GO(glBlendEquationSeparateiARB, vFuuu)
+GO(glBlendEquationiARB, vFuu)
+GO(glBlendFuncSeparateiARB, vFuuuuu)
+GO(glBlendFunciARB, vFuuu)
+//ARB_draw_elements_base_vertex
+GO(glDrawElementsBaseVertex, vFuiupi)
+GO(glDrawElementsInstancedBaseVertex, vFuiupii)
+GO(glDrawRangeElementsBaseVertex, vFuuuiupi)
+GO(glMultiDrawElementsBaseVertex, vFupupip)
+//ARB_draw_indirect
+GO(glDrawArraysIndirect, vFup)
+GO(glDrawElementsIndirect, vFuup)
+//ARB_draw_instanced
+GO(glDrawArraysInstancedARB, vFuiii)
+GO(glDrawElementsInstancedARB, vFuiupi)
+//ARB_framebuffer_no_attachments
+GO(glFramebufferParameteri, vFuui)
+GO(glGetFramebufferParameteriv, vFuup)
+GO(glGetNamedFramebufferParameterivEXT, vFuup)
+GO(glNamedFramebufferParameteriEXT, vFuui)
+//ARB_framebuffer_object
+GO(glBindFramebuffer, vFuu)
+GO(glBindRenderbuffer, vFuu)
+GO(glBlitFramebuffer, vFiiiiiiiiuu)
+GO(glCheckFramebufferStatus, uFu)
+GO(glDeleteFramebuffers, vFip)
+GO(glDeleteRenderbuffers, vFip)
+GO(glFramebufferRenderbuffer, vFuuuu)
+GO(glFramebufferTexture1D, vFuuuui)
+GO(glFramebufferTexture2D, vFuuuui)
+GO(glFramebufferTexture3D, vFuuuuii)
+GO(glFramebufferTextureLayer, vFuuuii)
+GO(glGenFramebuffers, vFip)
+GO(glGenRenderbuffers, vFip)
+GO(glGenerateMipmap, vFu)
+GO(glGetFramebufferAttachmentParameteriv, vFuuup)
+GO(glGetRenderbufferParameteriv, vFuup)
+GO(glIsFramebuffer, CFu)
+GO(glIsRenderbuffer, CFu)
+GO(glRenderbufferStorage, vFuuii)
+GO(glRenderbufferStorageMultisample, vFuiuii)
+//ARB_geometry_shader4
+GO(glFramebufferTextureARB, vFuuui)
+GO(glFramebufferTextureFaceARB, vFuuuiu)
+GO(glFramebufferTextureLayerARB, vFuuuii)
+GO(glProgramParameteriARB, vFuui)
+//ARB_get_program_binary
+GO(glGetProgramBinary, vFuippp)
+GO(glProgramBinary, vFuupi)
+GO(glProgramParameteri, vFuui)
+//ARB_gpu_shader_fp64
+GO(glGetUniformdv, vFuip)
+GO(glUniform1d, vFid)
+GO(glUniform1dv, vFiip)
+GO(glUniform2d, vFidd)
+GO(glUniform2dv, vFiip)
+GO(glUniform3d, vFiddd)
+GO(glUniform3dv, vFiip)
+GO(glUniform4d, vFidddd)
+GO(glUniform4dv, vFiip)
+GO(glUniformMatrix2dv, vFiiCp)
+GO(glUniformMatrix2x3dv, vFiiCp)
+GO(glUniformMatrix2x4dv, vFiiCp)
+GO(glUniformMatrix3dv, vFiiCp)
+GO(glUniformMatrix3x2dv, vFiiCp)
+GO(glUniformMatrix3x4dv, vFiiCp)
+GO(glUniformMatrix4dv, vFiiCp)
+GO(glUniformMatrix4x2dv, vFiiCp)
+GO(glUniformMatrix4x3dv, vFiiCp)
+//ARB_instanced_arrays
+GO(glVertexAttribDivisorARB, vFuu)
+//ARB_internalformat_query
+GO(glGetInternalformativ, vFuuuip)
+//ARB_internalformat_query2
+GO(glGetInternalformati64v, vFuuuip)
+//ARB_invalidate_subdata
+GO(glInvalidateBufferData, vFu)
+GO(glInvalidateBufferSubData, vFull)
+GO(glInvalidateFramebuffer, vFuip)
+GO(glInvalidateSubFramebuffer, vFuipiiii)
+GO(glInvalidateTexImage, vFui)
+GO(glInvalidateTexSubImage, vFuiiiiiii)
+//ARB_map_buffer_range
+GO(glFlushMappedBufferRange, vFull)
+GO(glMapBufferRange, pFullu)
+//ARB_matrix_palette
+GO(glCurrentPaletteMatrixARB, vFi)
+GO(glMatrixIndexPointerARB, vFiuip)
+GO(glMatrixIndexubvARB, vFip)
+GO(glMatrixIndexuivARB, vFip)
+GO(glMatrixIndexusvARB, vFip)
+//ARB_multi_draw_indirect
+GO(glMultiDrawArraysIndirect, vFupii)
+GO(glMultiDrawElementsIndirect, vFuupii)
+//ARB_multisample
+GO(glSampleCoverageARB, vFfC)
+//ARB_multitexture
+GO(glActiveTextureARB, vFu)
+GO(glClientActiveTextureARB, vFu)
+GO(glMultiTexCoord1dARB, vFud)
+GO(glMultiTexCoord1dvARB, vFup)
+GO(glMultiTexCoord1fARB, vFuf)
+GO(glMultiTexCoord1fvARB, vFup)
+GO(glMultiTexCoord1iARB, vFui)
+GO(glMultiTexCoord1ivARB, vFup)
+GO(glMultiTexCoord1sARB, vFuw)
+GO(glMultiTexCoord1svARB, vFup)
+GO(glMultiTexCoord2dARB, vFudd)
+GO(glMultiTexCoord2dvARB, vFup)
+GO(glMultiTexCoord2fARB, vFuff)
+GO(glMultiTexCoord2fvARB, vFup)
+GO(glMultiTexCoord2iARB, vFuii)
+GO(glMultiTexCoord2ivARB, vFup)
+GO(glMultiTexCoord2sARB, vFuww)
+GO(glMultiTexCoord2svARB, vFup)
+GO(glMultiTexCoord3dARB, vFuddd)
+GO(glMultiTexCoord3dvARB, vFup)
+GO(glMultiTexCoord3fARB, vFufff)
+GO(glMultiTexCoord3fvARB, vFup)
+GO(glMultiTexCoord3iARB, vFuiii)
+GO(glMultiTexCoord3ivARB, vFup)
+GO(glMultiTexCoord3sARB, vFuwww)
+GO(glMultiTexCoord3svARB, vFup)
+GO(glMultiTexCoord4dARB, vFudddd)
+GO(glMultiTexCoord4dvARB, vFup)
+GO(glMultiTexCoord4fARB, vFuffff)
+GO(glMultiTexCoord4fvARB, vFup)
+GO(glMultiTexCoord4iARB, vFuiiii)
+GO(glMultiTexCoord4ivARB, vFup)
+GO(glMultiTexCoord4sARB, vFuwwww)
+GO(glMultiTexCoord4svARB, vFup)
+//ARB_occlusion_query
+GO(glBeginQueryARB, vFuu)
+GO(glDeleteQueriesARB, vFip)
+GO(glEndQueryARB, vFu)
+GO(glGenQueriesARB, vFip)
+GO(glGetQueryObjectivARB, vFuup)
+GO(glGetQueryObjectuivARB, vFuup)
+GO(glGetQueryivARB, vFuup)
+GO(glIsQueryARB, CFu)
+//ARB_point_parameters
+GO(glPointParameterfARB, vFuf)
+GO(glPointParameterfvARB, vFup)
+//ARB_program_interface_query
+GO(glGetProgramInterfaceiv, vFuuup)
+GO(glGetProgramResourceIndex, uFuup)
+GO(glGetProgramResourceLocation, iFuup)
+GO(glGetProgramResourceLocationIndex, iFuup)
+GO(glGetProgramResourceName, vFuuuipp)
+GO(glGetProgramResourceiv, vFuuuipipp)
+//ARB_provoking_vertex
+GO(glProvokingVertex, vFu)
+//ARB_robustness
+GO(glGetGraphicsResetStatusARB, uFv)
+GO(glGetnColorTableARB, vFuuuip)
+GO(glGetnCompressedTexImageARB, vFuiip)
+GO(glGetnConvolutionFilterARB, vFuuuip)
+GO(glGetnHistogramARB, vFuCuuip)
+GO(glGetnMapdvARB, vFuuip)
+GO(glGetnMapfvARB, vFuuip)
+GO(glGetnMapivARB, vFuuip)
+GO(glGetnMinmaxARB, vFuCuuip)
+GO(glGetnPixelMapfvARB, vFuip)
+GO(glGetnPixelMapuivARB, vFuip)
+GO(glGetnPixelMapusvARB, vFuip)
+GO(glGetnPolygonStippleARB, vFip)
+GO(glGetnSeparableFilterARB, vFuuuipipp)
+GO(glGetnTexImageARB, vFuiuuip)
+GO(glGetnUniformdvARB, vFuiip)
+GO(glGetnUniformfvARB, vFuiip)
+GO(glGetnUniformivARB, vFuiip)
+GO(glGetnUniformuivARB, vFuiip)
+GO(glReadnPixelsARB, vFiiiiuuip)
+//ARB_sample_shading
+GO(glMinSampleShadingARB, vFf)
+//ARB_sampler_objects
+GO(glBindSampler, vFuu)
+GO(glDeleteSamplers, vFip)
+GO(glGenSamplers, vFip)
+GO(glGetSamplerParameterIiv, vFuup)
+GO(glGetSamplerParameterIuiv, vFuup)
+GO(glGetSamplerParameterfv, vFuup)
+GO(glGetSamplerParameteriv, vFuup)
+GO(glIsSampler, CFu)
+GO(glSamplerParameterIiv, vFuup)
+GO(glSamplerParameterIuiv, vFuup)
+GO(glSamplerParameterf, vFuuf)
+GO(glSamplerParameterfv, vFuup)
+GO(glSamplerParameteri, vFuui)
+GO(glSamplerParameteriv, vFuup)
+//ARB_separate_shader_objects
+GO(glActiveShaderProgram, vFuu)
+GO(glBindProgramPipeline, vFu)
+GO(glCreateShaderProgramv, uFuip)
+GO(glDeleteProgramPipelines, vFip)
+GO(glGenProgramPipelines, vFip)
+GO(glGetProgramPipelineInfoLog, vFuipp)
+GO(glGetProgramPipelineiv, vFuup)
+GO(glIsProgramPipeline, CFu)
+GO(glProgramUniform1d, vFuid)
+GO(glProgramUniform1dv, vFuiip)
+GO(glProgramUniform1f, vFuif)
+GO(glProgramUniform1fv, vFuiip)
+GO(glProgramUniform1i, vFuii)
+GO(glProgramUniform1iv, vFuiip)
+GO(glProgramUniform1ui, vFuiu)
+GO(glProgramUniform1uiv, vFuiip)
+GO(glProgramUniform2d, vFuidd)
+GO(glProgramUniform2dv, vFuiip)
+GO(glProgramUniform2f, vFuiff)
+GO(glProgramUniform2fv, vFuiip)
+GO(glProgramUniform2i, vFuiii)
+GO(glProgramUniform2iv, vFuiip)
+GO(glProgramUniform2ui, vFuiuu)
+GO(glProgramUniform2uiv, vFuiip)
+GO(glProgramUniform3d, vFuiddd)
+GO(glProgramUniform3dv, vFuiip)
+GO(glProgramUniform3f, vFuifff)
+GO(glProgramUniform3fv, vFuiip)
+GO(glProgramUniform3i, vFuiiii)
+GO(glProgramUniform3iv, vFuiip)
+GO(glProgramUniform3ui, vFuiuuu)
+GO(glProgramUniform3uiv, vFuiip)
+GO(glProgramUniform4d, vFuidddd)
+GO(glProgramUniform4dv, vFuiip)
+GO(glProgramUniform4f, vFuiffff)
+GO(glProgramUniform4fv, vFuiip)
+GO(glProgramUniform4i, vFuiiiii)
+GO(glProgramUniform4iv, vFuiip)
+GO(glProgramUniform4ui, vFuiuuuu)
+GO(glProgramUniform4uiv, vFuiip)
+GO(glProgramUniformMatrix2dv, vFuiiCp)
+GO(glProgramUniformMatrix2fv, vFuiiCp)
+GO(glProgramUniformMatrix2x3dv, vFuiiCp)
+GO(glProgramUniformMatrix2x3fv, vFuiiCp)
+GO(glProgramUniformMatrix2x4dv, vFuiiCp)
+GO(glProgramUniformMatrix2x4fv, vFuiiCp)
+GO(glProgramUniformMatrix3dv, vFuiiCp)
+GO(glProgramUniformMatrix3fv, vFuiiCp)
+GO(glProgramUniformMatrix3x2dv, vFuiiCp)
+GO(glProgramUniformMatrix3x2fv, vFuiiCp)
+GO(glProgramUniformMatrix3x4dv, vFuiiCp)
+GO(glProgramUniformMatrix3x4fv, vFuiiCp)
+GO(glProgramUniformMatrix4dv, vFuiiCp)
+GO(glProgramUniformMatrix4fv, vFuiiCp)
+GO(glProgramUniformMatrix4x2dv, vFuiiCp)
+GO(glProgramUniformMatrix4x2fv, vFuiiCp)
+GO(glProgramUniformMatrix4x3dv, vFuiiCp)
+GO(glProgramUniformMatrix4x3fv, vFuiiCp)
+GO(glUseProgramStages, vFuuu)
+GO(glValidateProgramPipeline, vFu)
+//ARB_shader_atomic_counters
+GO(glGetActiveAtomicCounterBufferiv, vFuuup)
+//ARB_shader_image_load_store
+GO(glBindImageTexture, vFuuiCiuu)
+GO(glMemoryBarrier, vFu)
+//ARB_shader_objects
+GO(glAttachObjectARB, vFuu)
+GO(glCompileShaderARB, vFu)
+GO(glCreateProgramObjectARB, uFv)
+GO(glCreateShaderObjectARB, uFu)
+GO(glDeleteObjectARB, vFu)
+GO(glDetachObjectARB, vFuu)
+GO(glGetActiveUniformARB, vFuuipppp)
+GO(glGetAttachedObjectsARB, vFuipp)
+GO(glGetHandleARB, uFu)
+GO(glGetInfoLogARB, vFuipp)
+GO(glGetObjectParameterfvARB, vFuup)
+GO(glGetObjectParameterivARB, vFuup)
+GO(glGetShaderSourceARB, vFuipp)
+GO(glGetUniformLocationARB, iFup)
+GO(glGetUniformfvARB, vFuip)
+GO(glGetUniformivARB, vFuip)
+GO(glLinkProgramARB, vFu)
+GO(glShaderSourceARB, vFuipp)
+GO(glUniform1fARB, vFif)
+GO(glUniform1fvARB, vFiip)
+GO(glUniform1iARB, vFii)
+GO(glUniform1ivARB, vFiip)
+GO(glUniform2fARB, vFiff)
+GO(glUniform2fvARB, vFiip)
+GO(glUniform2iARB, vFiii)
+GO(glUniform2ivARB, vFiip)
+GO(glUniform3fARB, vFifff)
+GO(glUniform3fvARB, vFiip)
+GO(glUniform3iARB, vFiiii)
+GO(glUniform3ivARB, vFiip)
+GO(glUniform4fARB, vFiffff)
+GO(glUniform4fvARB, vFiip)
+GO(glUniform4iARB, vFiiiii)
+GO(glUniform4ivARB, vFiip)
+GO(glUniformMatrix2fvARB, vFiiCp)
+GO(glUniformMatrix3fvARB, vFiiCp)
+GO(glUniformMatrix4fvARB, vFiiCp)
+GO(glUseProgramObjectARB, vFu)
+GO(glValidateProgramARB, vFu)
+//ARB_shader_storage_buffer_object
+GO(glShaderStorageBlockBinding, vFuuu)
+//ARB_shader_subroutine
+GO(glGetActiveSubroutineName, vFuuuipp)
+GO(glGetActiveSubroutineUniformName, vFuuuipp)
+GO(glGetActiveSubroutineUniformiv, vFuuuup)
+GO(glGetProgramStageiv, vFuuup)
+GO(glGetSubroutineIndex, uFuup)
+GO(glGetSubroutineUniformLocation, iFuup)
+GO(glGetUniformSubroutineuiv, vFuip)
+GO(glUniformSubroutinesuiv, vFuip)
+//ARB_shading_language_include
+GO(glCompileShaderIncludeARB, vFuipp)
+GO(glDeleteNamedStringARB, vFip)
+GO(glGetNamedStringARB, vFipipp)
+GO(glGetNamedStringivARB, vFipup)
+GO(glIsNamedStringARB, CFip)
+GO(glNamedStringARB, vFuipip)
+//ARB_sync
+GO(glClientWaitSync, uFpuU)
+GO(glDeleteSync, vFp)
+GO(glFenceSync, pFuu)
+GO(glGetInteger64v, vFup)
+GO(glGetSynciv, vFpuipp)
+GO(glIsSync, CFp)
+GO(glWaitSync, vFpuU)
+//ARB_tessellation_shader
+GO(glPatchParameterfv, vFup)
+GO(glPatchParameteri, vFui)
+//ARB_texture_buffer_object
+GO(glTexBufferARB, vFuuu)
+//ARB_texture_buffer_range
+GO(glTexBufferRange, vFuuull)
+GO(glTextureBufferRangeEXT, vFuuuull)
+//ARB_texture_compression
+GO(glCompressedTexImage1DARB, vFuiuiiip)
+GO(glCompressedTexImage2DARB, vFuiuiiiip)
+GO(glCompressedTexImage3DARB, vFuiuiiiiip)
+GO(glCompressedTexSubImage1DARB, vFuiiiuip)
+GO(glCompressedTexSubImage2DARB, vFuiiiiiuip)
+GO(glCompressedTexSubImage3DARB, vFuiiiiiiiuip)
+GO(glGetCompressedTexImageARB, vFuip)
+//ARB_texture_multisample
+GO(glGetMultisamplefv, vFuup)
+GO(glSampleMaski, vFuu)
+GO(glTexImage2DMultisample, vFuiuiiC)
+GO(glTexImage3DMultisample, vFuiuiiiC)
+//ARB_texture_storage
+GO(glTexStorage1D, vFuiui)
+GO(glTexStorage2D, vFuiuii)
+GO(glTexStorage3D, vFuiuiii)
+GO(glTextureStorage1DEXT, vFuuiui)
+GO(glTextureStorage2DEXT, vFuuiuii)
+GO(glTextureStorage3DEXT, vFuuiuiii)
+//ARB_texture_storage_multisample
+GO(glTexStorage2DMultisample, vFuiuiiC)
+GO(glTexStorage3DMultisample, vFuiuiiiC)
+GO(glTextureStorage2DMultisampleEXT, vFuuiuiiC)
+GO(glTextureStorage3DMultisampleEXT, vFuuiuiiiC)
+//ARB_texture_view
+GO(glTextureView, vFuuuuuuuu)
+//ARB_timer_query
+GO(glGetQueryObjecti64v, vFuup)
+GO(glGetQueryObjectui64v, vFuup)
+GO(glQueryCounter, vFuu)
+//ARB_transform_feedback2
+GO(glBindTransformFeedback, vFuu)
+GO(glDeleteTransformFeedbacks, vFip)
+GO(glDrawTransformFeedback, vFuu)
+GO(glGenTransformFeedbacks, vFip)
+GO(glIsTransformFeedback, CFu)
+GO(glPauseTransformFeedback, vFv)
+GO(glResumeTransformFeedback, vFv)
+//ARB_transform_feedback3
+GO(glBeginQueryIndexed, vFuuu)
+GO(glDrawTransformFeedbackStream, vFuuu)
+GO(glEndQueryIndexed, vFuu)
+GO(glGetQueryIndexediv, vFuuup)
+//ARB_transform_feedback_instanced
+GO(glDrawTransformFeedbackInstanced, vFuui)
+GO(glDrawTransformFeedbackStreamInstanced, vFuuui)
+//ARB_transpose_matrix
+GO(glLoadTransposeMatrixdARB, vFp)
+GO(glLoadTransposeMatrixfARB, vFp)
+GO(glMultTransposeMatrixdARB, vFp)
+GO(glMultTransposeMatrixfARB, vFp)
+//ARB_uniform_buffer_object
+GO(glGetActiveUniformBlockName, vFuuipp)
+GO(glGetActiveUniformBlockiv, vFuuup)
+GO(glGetActiveUniformName, vFuuipp)
+GO(glGetActiveUniformsiv, vFuipup)
+GO(glGetUniformBlockIndex, uFup)
+GO(glGetUniformIndices, vFuipp)
+GO(glUniformBlockBinding, vFuuu)
+//ARB_vertex_array_object
+GO(glBindVertexArray, vFu)
+GO(glDeleteVertexArrays, vFip)
+GO(glGenVertexArrays, vFip)
+GO(glIsVertexArray, CFu)
+//ARB_vertex_attrib_64bit
+GO(glGetVertexAttribLdv, vFuup)
+GO(glVertexAttribL1d, vFud)
+GO(glVertexAttribL1dv, vFup)
+GO(glVertexAttribL2d, vFudd)
+GO(glVertexAttribL2dv, vFup)
+GO(glVertexAttribL3d, vFuddd)
+GO(glVertexAttribL3dv, vFup)
+GO(glVertexAttribL4d, vFudddd)
+GO(glVertexAttribL4dv, vFup)
+GO(glVertexAttribLPointer, vFuiuip)
+//ARB_vertex_attrib_binding
+GO(glBindVertexBuffer, vFuuli)
+GO(glVertexArrayBindVertexBufferEXT, vFuuuli)
+GO(glVertexArrayVertexAttribBindingEXT, vFuuu)
+GO(glVertexArrayVertexAttribFormatEXT, vFuuiuCu)
+GO(glVertexArrayVertexAttribIFormatEXT, vFuuiuu)
+GO(glVertexArrayVertexAttribLFormatEXT, vFuuiuu)
+GO(glVertexArrayVertexBindingDivisorEXT, vFuuu)
+GO(glVertexAttribBinding, vFuu)
+GO(glVertexAttribFormat, vFuiuCu)
+GO(glVertexAttribIFormat, vFuiuu)
+GO(glVertexAttribLFormat, vFuiuu)
+GO(glVertexBindingDivisor, vFuu)
+//ARB_vertex_blend
+GO(glVertexBlendARB, vFi)
+GO(glWeightPointerARB, vFiuip)
+GO(glWeightbvARB, vFip)
+GO(glWeightdvARB, vFip)
+GO(glWeightfvARB, vFip)
+GO(glWeightivARB, vFip)
+GO(glWeightsvARB, vFip)
+GO(glWeightubvARB, vFip)
+GO(glWeightuivARB, vFip)
+GO(glWeightusvARB, vFip)
+//ARB_vertex_buffer_object
+GO(glBindBufferARB, vFuu)
+GO(glBufferDataARB, vFulpu)
+GO(glBufferSubDataARB, vFullp)
+GO(glDeleteBuffersARB, vFip)
+GO(glGenBuffersARB, vFip)
+GO(glGetBufferParameterivARB, vFuup)
+GO(glGetBufferPointervARB, vFuup)
+GO(glGetBufferSubDataARB, vFullp)
+GO(glIsBufferARB, CFu)
+GO(glMapBufferARB, pFuu)
+GO(glUnmapBufferARB, CFu)
+//ARB_vertex_program
+GO(glBindProgramARB, vFuu)
+GO(glDeleteProgramsARB, vFip)
+GO(glDisableVertexAttribArrayARB, vFu)
+GO(glEnableVertexAttribArrayARB, vFu)
+GO(glGenProgramsARB, vFip)
+GO(glGetProgramEnvParameterdvARB, vFuup)
+GO(glGetProgramEnvParameterfvARB, vFuup)
+GO(glGetProgramLocalParameterdvARB, vFuup)
+GO(glGetProgramLocalParameterfvARB, vFuup)
+GO(glGetProgramStringARB, vFuup)
+GO(glGetProgramivARB, vFuup)
+GO(glGetVertexAttribPointervARB, vFuup)
+GO(glGetVertexAttribdvARB, vFuup)
+GO(glGetVertexAttribfvARB, vFuup)
+GO(glGetVertexAttribivARB, vFuup)
+GO(glIsProgramARB, CFu)
+GO(glProgramEnvParameter4dARB, vFuudddd)
+GO(glProgramEnvParameter4dvARB, vFuup)
+GO(glProgramEnvParameter4fARB, vFuuffff)
+GO(glProgramEnvParameter4fvARB, vFuup)
+GO(glProgramLocalParameter4dARB, vFuudddd)
+GO(glProgramLocalParameter4dvARB, vFuup)
+GO(glProgramLocalParameter4fARB, vFuuffff)
+GO(glProgramLocalParameter4fvARB, vFuup)
+GO(glProgramStringARB, vFuuip)
+GO(glVertexAttrib1dARB, vFud)
+GO(glVertexAttrib1dvARB, vFup)
+GO(glVertexAttrib1fARB, vFuf)
+GO(glVertexAttrib1fvARB, vFup)
+GO(glVertexAttrib1sARB, vFuw)
+GO(glVertexAttrib1svARB, vFup)
+GO(glVertexAttrib2dARB, vFudd)
+GO(glVertexAttrib2dvARB, vFup)
+GO(glVertexAttrib2fARB, vFuff)
+GO(glVertexAttrib2fvARB, vFup)
+GO(glVertexAttrib2sARB, vFuww)
+GO(glVertexAttrib2svARB, vFup)
+GO(glVertexAttrib3dARB, vFuddd)
+GO(glVertexAttrib3dvARB, vFup)
+GO(glVertexAttrib3fARB, vFufff)
+GO(glVertexAttrib3fvARB, vFup)
+GO(glVertexAttrib3sARB, vFuwww)
+GO(glVertexAttrib3svARB, vFup)
+GO(glVertexAttrib4NbvARB, vFup)
+GO(glVertexAttrib4NivARB, vFup)
+GO(glVertexAttrib4NsvARB, vFup)
+GO(glVertexAttrib4NubARB, vFuCCCC)
+GO(glVertexAttrib4NubvARB, vFup)
+GO(glVertexAttrib4NuivARB, vFup)
+GO(glVertexAttrib4NusvARB, vFup)
+GO(glVertexAttrib4bvARB, vFup)
+GO(glVertexAttrib4dARB, vFudddd)
+GO(glVertexAttrib4dvARB, vFup)
+GO(glVertexAttrib4fARB, vFuffff)
+GO(glVertexAttrib4fvARB, vFup)
+GO(glVertexAttrib4ivARB, vFup)
+GO(glVertexAttrib4sARB, vFuwwww)
+GO(glVertexAttrib4svARB, vFup)
+GO(glVertexAttrib4ubvARB, vFup)
+GO(glVertexAttrib4uivARB, vFup)
+GO(glVertexAttrib4usvARB, vFup)
+GO(glVertexAttribPointerARB, vFuiuCip)
+//ARB_vertex_shader
+GO(glBindAttribLocationARB, vFuup)
+GO(glGetActiveAttribARB, vFuuipppp)
+GO(glGetAttribLocationARB, iFup)
+//ARB_vertex_type_2_10_10_10_rev
+GO(glColorP3ui, vFuu)
+GO(glColorP3uiv, vFup)
+GO(glColorP4ui, vFuu)
+GO(glColorP4uiv, vFup)
+GO(glMultiTexCoordP1ui, vFuuu)
+GO(glMultiTexCoordP1uiv, vFuup)
+GO(glMultiTexCoordP2ui, vFuuu)
+GO(glMultiTexCoordP2uiv, vFuup)
+GO(glMultiTexCoordP3ui, vFuuu)
+GO(glMultiTexCoordP3uiv, vFuup)
+GO(glMultiTexCoordP4ui, vFuuu)
+GO(glMultiTexCoordP4uiv, vFuup)
+GO(glNormalP3ui, vFuu)
+GO(glNormalP3uiv, vFup)
+GO(glSecondaryColorP3ui, vFuu)
+GO(glSecondaryColorP3uiv, vFup)
+GO(glTexCoordP1ui, vFuu)
+GO(glTexCoordP1uiv, vFup)
+GO(glTexCoordP2ui, vFuu)
+GO(glTexCoordP2uiv, vFup)
+GO(glTexCoordP3ui, vFuu)
+GO(glTexCoordP3uiv, vFup)
+GO(glTexCoordP4ui, vFuu)
+GO(glTexCoordP4uiv, vFup)
+GO(glVertexAttribP1ui, vFuuCu)
+GO(glVertexAttribP1uiv, vFuuCp)
+GO(glVertexAttribP2ui, vFuuCu)
+GO(glVertexAttribP2uiv, vFuuCp)
+GO(glVertexAttribP3ui, vFuuCu)
+GO(glVertexAttribP3uiv, vFuuCp)
+GO(glVertexAttribP4ui, vFuuCu)
+GO(glVertexAttribP4uiv, vFuuCp)
+GO(glVertexP2ui, vFuu)
+GO(glVertexP2uiv, vFup)
+GO(glVertexP3ui, vFuu)
+GO(glVertexP3uiv, vFup)
+GO(glVertexP4ui, vFuu)
+GO(glVertexP4uiv, vFup)
+//ARB_viewport_array
+GO(glDepthRangeArrayv, vFuip)
+GO(glDepthRangeIndexed, vFudd)
+GO(glGetDoublei_v, vFuup)
+GO(glGetFloati_v, vFuup)
+GO(glScissorArrayv, vFuip)
+GO(glScissorIndexed, vFuiiii)
+GO(glScissorIndexedv, vFup)
+GO(glViewportArrayv, vFuip)
+GO(glViewportIndexedf, vFuffff)
+GO(glViewportIndexedfv, vFup)
+//ARB_window_pos
+GO(glWindowPos2dARB, vFdd)
+GO(glWindowPos2dvARB, vFp)
+GO(glWindowPos2fARB, vFff)
+GO(glWindowPos2fvARB, vFp)
+GO(glWindowPos2iARB, vFii)
+GO(glWindowPos2ivARB, vFp)
+GO(glWindowPos2sARB, vFww)
+GO(glWindowPos2svARB, vFp)
+GO(glWindowPos3dARB, vFddd)
+GO(glWindowPos3dvARB, vFp)
+GO(glWindowPos3fARB, vFfff)
+GO(glWindowPos3fvARB, vFp)
+GO(glWindowPos3iARB, vFiii)
+GO(glWindowPos3ivARB, vFp)
+GO(glWindowPos3sARB, vFwww)
+GO(glWindowPos3svARB, vFp)
+//ATI_draw_buffers
+GO(glDrawBuffersATI, vFip)
+//ATI_element_array
+GO(glDrawElementArrayATI, vFui)
+GO(glDrawRangeElementArrayATI, vFuuui)
+GO(glElementPointerATI, vFup)
+//ATI_envmap_bumpmap
+GO(glGetTexBumpParameterfvATI, vFup)
+GO(glGetTexBumpParameterivATI, vFup)
+GO(glTexBumpParameterfvATI, vFup)
+GO(glTexBumpParameterivATI, vFup)
+//ATI_fragment_shader
+GO(glAlphaFragmentOp1ATI, vFuuuuuu)
+GO(glAlphaFragmentOp2ATI, vFuuuuuuuuu)
+GO(glAlphaFragmentOp3ATI, vFuuuuuuuuuuuu)
+GO(glBeginFragmentShaderATI, vFv)
+GO(glBindFragmentShaderATI, vFu)
+GO(glColorFragmentOp1ATI, vFuuuuuuu)
+GO(glColorFragmentOp2ATI, vFuuuuuuuuuu)
+GO(glColorFragmentOp3ATI, vFuuuuuuuuuuuuu)
+GO(glDeleteFragmentShaderATI, vFu)
+GO(glEndFragmentShaderATI, vFv)
+GO(glGenFragmentShadersATI, uFu)
+GO(glPassTexCoordATI, vFuuu)
+GO(glSampleMapATI, vFuuu)
+GO(glSetFragmentShaderConstantATI, vFup)
+//ATI_map_object_buffer
+GO(glMapObjectBufferATI, pFu)
+GO(glUnmapObjectBufferATI, vFu)
+//ATI_pn_triangles
+GO(glPNTrianglesfATI, vFuf)
+GO(glPNTrianglesiATI, vFui)
+//ATI_separate_stencil
+GO(glStencilFuncSeparateATI, vFuuiu)
+GO(glStencilOpSeparateATI, vFuuuu)
+//ATI_vertex_array_object
+GO(glArrayObjectATI, vFuiuiuu)
+GO(glFreeObjectBufferATI, vFu)
+GO(glGetArrayObjectfvATI, vFuup)
+GO(glGetArrayObjectivATI, vFuup)
+GO(glGetObjectBufferfvATI, vFuup)
+GO(glGetObjectBufferivATI, vFuup)
+GO(glGetVariantArrayObjectfvATI, vFuup)
+GO(glGetVariantArrayObjectivATI, vFuup)
+GO(glIsObjectBufferATI, CFu)
+GO(glNewObjectBufferATI, uFipu)
+GO(glUpdateObjectBufferATI, vFuuipu)
+GO(glVariantArrayObjectATI, vFuuiuu)
+//ATI_vertex_attrib_array_object
+GO(glGetVertexAttribArrayObjectfvATI, vFuup)
+GO(glGetVertexAttribArrayObjectivATI, vFuup)
+GO(glVertexAttribArrayObjectATI, vFuiuCiuu)
+//ATI_vertex_streams
+GO(glClientActiveVertexStreamATI, vFu)
+GO(glNormalStream3bATI, vFuccc)
+GO(glNormalStream3bvATI, vFup)
+GO(glNormalStream3dATI, vFuddd)
+GO(glNormalStream3dvATI, vFup)
+GO(glNormalStream3fATI, vFufff)
+GO(glNormalStream3fvATI, vFup)
+GO(glNormalStream3iATI, vFuiii)
+GO(glNormalStream3ivATI, vFup)
+GO(glNormalStream3sATI, vFuwww)
+GO(glNormalStream3svATI, vFup)
+GO(glVertexBlendEnvfATI, vFuf)
+GO(glVertexBlendEnviATI, vFui)
+GO(glVertexStream1dATI, vFud)
+GO(glVertexStream1dvATI, vFup)
+GO(glVertexStream1fATI, vFuf)
+GO(glVertexStream1fvATI, vFup)
+GO(glVertexStream1iATI, vFui)
+GO(glVertexStream1ivATI, vFup)
+GO(glVertexStream1sATI, vFuw)
+GO(glVertexStream1svATI, vFup)
+GO(glVertexStream2dATI, vFudd)
+GO(glVertexStream2dvATI, vFup)
+GO(glVertexStream2fATI, vFuff)
+GO(glVertexStream2fvATI, vFup)
+GO(glVertexStream2iATI, vFuii)
+GO(glVertexStream2ivATI, vFup)
+GO(glVertexStream2sATI, vFuww)
+GO(glVertexStream2svATI, vFup)
+GO(glVertexStream3dATI, vFuddd)
+GO(glVertexStream3dvATI, vFup)
+GO(glVertexStream3fATI, vFufff)
+GO(glVertexStream3fvATI, vFup)
+GO(glVertexStream3iATI, vFuiii)
+GO(glVertexStream3ivATI, vFup)
+GO(glVertexStream3sATI, vFuwww)
+GO(glVertexStream3svATI, vFup)
+GO(glVertexStream4dATI, vFudddd)
+GO(glVertexStream4dvATI, vFup)
+GO(glVertexStream4fATI, vFuffff)
+GO(glVertexStream4fvATI, vFup)
+GO(glVertexStream4iATI, vFuiiii)
+GO(glVertexStream4ivATI, vFup)
+GO(glVertexStream4sATI, vFuwwww)
+GO(glVertexStream4svATI, vFup)
+//EXT_bindable_uniform
+GO(glGetUniformBufferSizeEXT, iFui)
+GO(glGetUniformOffsetEXT, lFui)
+GO(glUniformBufferEXT, vFuiu)
+//EXT_blend_color
+GO(glBlendColorEXT, vFffff)
+//EXT_blend_equation_separate
+GO(glBlendEquationSeparateEXT, vFuu)
+//EXT_blend_func_separate
+GO(glBlendFuncSeparateEXT, vFuuuu)
+//EXT_blend_minmax
+GO(glBlendEquationEXT, vFu)
+//EXT_color_subtable
+GO(glColorSubTableEXT, vFuiiuup)
+GO(glCopyColorSubTableEXT, vFuiiii)
+//EXT_compiled_vertex_array
+GO(glLockArraysEXT, vFii)
+GO(glUnlockArraysEXT, vFv)
+//EXT_convolution
+GO(glConvolutionFilter1DEXT, vFuuiuup)
+GO(glConvolutionFilter2DEXT, vFuuiiuup)
+GO(glConvolutionParameterfEXT, vFuuf)
+GO(glConvolutionParameterfvEXT, vFuup)
+GO(glConvolutionParameteriEXT, vFuui)
+GO(glConvolutionParameterivEXT, vFuup)
+GO(glCopyConvolutionFilter1DEXT, vFuuiii)
+GO(glCopyConvolutionFilter2DEXT, vFuuiiii)
+GO(glGetConvolutionFilterEXT, vFuuup)
+GO(glGetConvolutionParameterfvEXT, vFuup)
+GO(glGetConvolutionParameterivEXT, vFuup)
+GO(glGetSeparableFilterEXT, vFuuuppp)
+GO(glSeparableFilter2DEXT, vFuuiiuupp)
+//EXT_coordinate_frame
+GO(glBinormal3bEXT, vFccc)
+GO(glBinormal3bvEXT, vFp)
+GO(glBinormal3dEXT, vFddd)
+GO(glBinormal3dvEXT, vFp)
+GO(glBinormal3fEXT, vFfff)
+GO(glBinormal3fvEXT, vFp)
+GO(glBinormal3iEXT, vFiii)
+GO(glBinormal3ivEXT, vFp)
+GO(glBinormal3sEXT, vFwww)
+GO(glBinormal3svEXT, vFp)
+GO(glBinormalPointerEXT, vFuip)
+GO(glTangent3bEXT, vFccc)
+GO(glTangent3bvEXT, vFp)
+GO(glTangent3dEXT, vFddd)
+GO(glTangent3dvEXT, vFp)
+GO(glTangent3fEXT, vFfff)
+GO(glTangent3fvEXT, vFp)
+GO(glTangent3iEXT, vFiii)
+GO(glTangent3ivEXT, vFp)
+GO(glTangent3sEXT, vFwww)
+GO(glTangent3svEXT, vFp)
+GO(glTangentPointerEXT, vFuip)
+//EXT_copy_texture
+GO(glCopyTexImage1DEXT, vFuiuiiii)
+GO(glCopyTexImage2DEXT, vFuiuiiiii)
+GO(glCopyTexSubImage1DEXT, vFuiiiii)
+GO(glCopyTexSubImage2DEXT, vFuiiiiiii)
+GO(glCopyTexSubImage3DEXT, vFuiiiiiiii)
+//EXT_cull_vertex
+GO(glCullParameterdvEXT, vFup)
+GO(glCullParameterfvEXT, vFup)
+//EXT_depth_bounds_test
+GO(glDepthBoundsEXT, vFdd)
+//EXT_direct_state_access
+GO(glBindMultiTextureEXT, vFuuu)
+GO(glCheckNamedFramebufferStatusEXT, uFuu)
+GO(glClientAttribDefaultEXT, vFu)
+GO(glCompressedMultiTexImage1DEXT, vFuuiuiiip)
+GO(glCompressedMultiTexImage2DEXT, vFuuiuiiiip)
+GO(glCompressedMultiTexImage3DEXT, vFuuiuiiiiip)
+GO(glCompressedMultiTexSubImage1DEXT, vFuuiiiuip)
+GO(glCompressedMultiTexSubImage2DEXT, vFuuiiiiiuip)
+GO(glCompressedMultiTexSubImage3DEXT, vFuuiiiiiiiuip)
+GO(glCompressedTextureImage1DEXT, vFuuiuiiip)
+GO(glCompressedTextureImage2DEXT, vFuuiuiiiip)
+GO(glCompressedTextureImage3DEXT, vFuuiuiiiiip)
+GO(glCompressedTextureSubImage1DEXT, vFuuiiiuip)
+GO(glCompressedTextureSubImage2DEXT, vFuuiiiiiuip)
+GO(glCompressedTextureSubImage3DEXT, vFuuiiiiiiiuip)
+GO(glCopyMultiTexImage1DEXT, vFuuiuiiii)
+GO(glCopyMultiTexImage2DEXT, vFuuiuiiiii)
+GO(glCopyMultiTexSubImage1DEXT, vFuuiiiii)
+GO(glCopyMultiTexSubImage2DEXT, vFuuiiiiiii)
+GO(glCopyMultiTexSubImage3DEXT, vFuuiiiiiiii)
+GO(glCopyTextureImage1DEXT, vFuuiuiiii)
+GO(glCopyTextureImage2DEXT, vFuuiuiiiii)
+GO(glCopyTextureSubImage1DEXT, vFuuiiiii)
+GO(glCopyTextureSubImage2DEXT, vFuuiiiiiii)
+GO(glCopyTextureSubImage3DEXT, vFuuiiiiiiii)
+GO(glDisableClientStateIndexedEXT, vFuu)
+GO(glDisableClientStateiEXT, vFuu)
+GO(glDisableVertexArrayAttribEXT, vFuu)
+GO(glDisableVertexArrayEXT, vFuu)
+GO(glEnableClientStateIndexedEXT, vFuu)
+GO(glEnableClientStateiEXT, vFuu)
+GO(glEnableVertexArrayAttribEXT, vFuu)
+GO(glEnableVertexArrayEXT, vFuu)
+GO(glFlushMappedNamedBufferRangeEXT, vFull)
+GO(glFramebufferDrawBufferEXT, vFuu)
+GO(glFramebufferDrawBuffersEXT, vFuip)
+GO(glFramebufferReadBufferEXT, vFuu)
+GO(glGenerateMultiTexMipmapEXT, vFuu)
+GO(glGenerateTextureMipmapEXT, vFuu)
+GO(glGetCompressedMultiTexImageEXT, vFuuip)
+GO(glGetCompressedTextureImageEXT, vFuuip)
+GO(glGetDoubleIndexedvEXT, vFuup)
+GO(glGetDoublei_vEXT, vFuup)
+GO(glGetFloatIndexedvEXT, vFuup)
+GO(glGetFloati_vEXT, vFuup)
+GO(glGetFramebufferParameterivEXT, vFuup)
+GO(glGetMultiTexEnvfvEXT, vFuuup)
+GO(glGetMultiTexEnvivEXT, vFuuup)
+GO(glGetMultiTexGendvEXT, vFuuup)
+GO(glGetMultiTexGenfvEXT, vFuuup)
+GO(glGetMultiTexGenivEXT, vFuuup)
+GO(glGetMultiTexImageEXT, vFuuiuup)
+GO(glGetMultiTexLevelParameterfvEXT, vFuuiup)
+GO(glGetMultiTexLevelParameterivEXT, vFuuiup)
+GO(glGetMultiTexParameterIivEXT, vFuuup)
+GO(glGetMultiTexParameterIuivEXT, vFuuup)
+GO(glGetMultiTexParameterfvEXT, vFuuup)
+GO(glGetMultiTexParameterivEXT, vFuuup)
+GO(glGetNamedBufferParameterivEXT, vFuup)
+GO(glGetNamedBufferPointervEXT, vFuup)
+GO(glGetNamedBufferSubDataEXT, vFullp)
+GO(glGetNamedFramebufferAttachmentParameterivEXT, vFuuup)
+GO(glGetNamedProgramLocalParameterIivEXT, vFuuup)
+GO(glGetNamedProgramLocalParameterIuivEXT, vFuuup)
+GO(glGetNamedProgramLocalParameterdvEXT, vFuuup)
+GO(glGetNamedProgramLocalParameterfvEXT, vFuuup)
+GO(glGetNamedProgramStringEXT, vFuuup)
+GO(glGetNamedProgramivEXT, vFuuup)
+GO(glGetNamedRenderbufferParameterivEXT, vFuup)
+GO(glGetPointerIndexedvEXT, vFuup)
+GO(glGetPointeri_vEXT, vFuup)
+GO(glGetTextureImageEXT, vFuuiuup)
+GO(glGetTextureLevelParameterfvEXT, vFuuiup)
+GO(glGetTextureLevelParameterivEXT, vFuuiup)
+GO(glGetTextureParameterIivEXT, vFuuup)
+GO(glGetTextureParameterIuivEXT, vFuuup)
+GO(glGetTextureParameterfvEXT, vFuuup)
+GO(glGetTextureParameterivEXT, vFuuup)
+GO(glGetVertexArrayIntegeri_vEXT, vFuuup)
+GO(glGetVertexArrayIntegervEXT, vFuup)
+GO(glGetVertexArrayPointeri_vEXT, vFuuup)
+GO(glGetVertexArrayPointervEXT, vFuup)
+GO(glMapNamedBufferEXT, pFuu)
+GO(glMapNamedBufferRangeEXT, pFullu)
+GO(glMatrixFrustumEXT, vFudddddd)
+GO(glMatrixLoadIdentityEXT, vFu)
+GO(glMatrixLoadTransposedEXT, vFup)
+GO(glMatrixLoadTransposefEXT, vFup)
+GO(glMatrixLoaddEXT, vFup)
+GO(glMatrixLoadfEXT, vFup)
+GO(glMatrixMultTransposedEXT, vFup)
+GO(glMatrixMultTransposefEXT, vFup)
+GO(glMatrixMultdEXT, vFup)
+GO(glMatrixMultfEXT, vFup)
+GO(glMatrixOrthoEXT, vFudddddd)
+GO(glMatrixPopEXT, vFu)
+GO(glMatrixPushEXT, vFu)
+GO(glMatrixRotatedEXT, vFudddd)
+GO(glMatrixRotatefEXT, vFuffff)
+GO(glMatrixScaledEXT, vFuddd)
+GO(glMatrixScalefEXT, vFufff)
+GO(glMatrixTranslatedEXT, vFuddd)
+GO(glMatrixTranslatefEXT, vFufff)
+GO(glMultiTexBufferEXT, vFuuuu)
+GO(glMultiTexCoordPointerEXT, vFuiuip)
+GO(glMultiTexEnvfEXT, vFuuuf)
+GO(glMultiTexEnvfvEXT, vFuuup)
+GO(glMultiTexEnviEXT, vFuuui)
+GO(glMultiTexEnvivEXT, vFuuup)
+GO(glMultiTexGendEXT, vFuuud)
+GO(glMultiTexGendvEXT, vFuuup)
+GO(glMultiTexGenfEXT, vFuuuf)
+GO(glMultiTexGenfvEXT, vFuuup)
+GO(glMultiTexGeniEXT, vFuuui)
+GO(glMultiTexGenivEXT, vFuuup)
+GO(glMultiTexImage1DEXT, vFuuiiiiuup)
+GO(glMultiTexImage2DEXT, vFuuiiiiiuup)
+GO(glMultiTexImage3DEXT, vFuuiiiiiiuup)
+GO(glMultiTexParameterIivEXT, vFuuup)
+GO(glMultiTexParameterIuivEXT, vFuuup)
+GO(glMultiTexParameterfEXT, vFuuuf)
+GO(glMultiTexParameterfvEXT, vFuuup)
+GO(glMultiTexParameteriEXT, vFuuui)
+GO(glMultiTexParameterivEXT, vFuuup)
+GO(glMultiTexRenderbufferEXT, vFuuu)
+GO(glMultiTexSubImage1DEXT, vFuuiiiuup)
+GO(glMultiTexSubImage2DEXT, vFuuiiiiiuup)
+GO(glMultiTexSubImage3DEXT, vFuuiiiiiiiuup)
+GO(glNamedBufferDataEXT, vFulpu)
+GO(glNamedBufferSubDataEXT, vFullp)
+GO(glNamedCopyBufferSubDataEXT, vFuulll)
+GO(glNamedFramebufferRenderbufferEXT, vFuuuu)
+GO(glNamedFramebufferTexture1DEXT, vFuuuui)
+GO(glNamedFramebufferTexture2DEXT, vFuuuui)
+GO(glNamedFramebufferTexture3DEXT, vFuuuuii)
+GO(glNamedFramebufferTextureEXT, vFuuui)
+GO(glNamedFramebufferTextureFaceEXT, vFuuuiu)
+GO(glNamedFramebufferTextureLayerEXT, vFuuuii)
+GO(glNamedProgramLocalParameter4dEXT, vFuuudddd)
+GO(glNamedProgramLocalParameter4dvEXT, vFuuup)
+GO(glNamedProgramLocalParameter4fEXT, vFuuuffff)
+GO(glNamedProgramLocalParameter4fvEXT, vFuuup)
+GO(glNamedProgramLocalParameterI4iEXT, vFuuuiiii)
+GO(glNamedProgramLocalParameterI4ivEXT, vFuuup)
+GO(glNamedProgramLocalParameterI4uiEXT, vFuuuuuuu)
+GO(glNamedProgramLocalParameterI4uivEXT, vFuuup)
+GO(glNamedProgramLocalParameters4fvEXT, vFuuuip)
+GO(glNamedProgramLocalParametersI4ivEXT, vFuuuip)
+GO(glNamedProgramLocalParametersI4uivEXT, vFuuuip)
+GO(glNamedProgramStringEXT, vFuuuip)
+GO(glNamedRenderbufferStorageEXT, vFuuii)
+GO(glNamedRenderbufferStorageMultisampleCoverageEXT, vFuiiuii)
+GO(glNamedRenderbufferStorageMultisampleEXT, vFuiuii)
+GO(glProgramUniform1dEXT, vFuid)
+GO(glProgramUniform1dvEXT, vFuiip)
+GO(glProgramUniform1fEXT, vFuif)
+GO(glProgramUniform1fvEXT, vFuiip)
+GO(glProgramUniform1iEXT, vFuii)
+GO(glProgramUniform1ivEXT, vFuiip)
+GO(glProgramUniform1uiEXT, vFuiu)
+GO(glProgramUniform1uivEXT, vFuiip)
+GO(glProgramUniform2dEXT, vFuidd)
+GO(glProgramUniform2dvEXT, vFuiip)
+GO(glProgramUniform2fEXT, vFuiff)
+GO(glProgramUniform2fvEXT, vFuiip)
+GO(glProgramUniform2iEXT, vFuiii)
+GO(glProgramUniform2ivEXT, vFuiip)
+GO(glProgramUniform2uiEXT, vFuiuu)
+GO(glProgramUniform2uivEXT, vFuiip)
+GO(glProgramUniform3dEXT, vFuiddd)
+GO(glProgramUniform3dvEXT, vFuiip)
+GO(glProgramUniform3fEXT, vFuifff)
+GO(glProgramUniform3fvEXT, vFuiip)
+GO(glProgramUniform3iEXT, vFuiiii)
+GO(glProgramUniform3ivEXT, vFuiip)
+GO(glProgramUniform3uiEXT, vFuiuuu)
+GO(glProgramUniform3uivEXT, vFuiip)
+GO(glProgramUniform4dEXT, vFuidddd)
+GO(glProgramUniform4dvEXT, vFuiip)
+GO(glProgramUniform4fEXT, vFuiffff)
+GO(glProgramUniform4fvEXT, vFuiip)
+GO(glProgramUniform4iEXT, vFuiiiii)
+GO(glProgramUniform4ivEXT, vFuiip)
+GO(glProgramUniform4uiEXT, vFuiuuuu)
+GO(glProgramUniform4uivEXT, vFuiip)
+GO(glProgramUniformMatrix2dvEXT, vFuiiCp)
+GO(glProgramUniformMatrix2fvEXT, vFuiiCp)
+GO(glProgramUniformMatrix2x3dvEXT, vFuiiCp)
+GO(glProgramUniformMatrix2x3fvEXT, vFuiiCp)
+GO(glProgramUniformMatrix2x4dvEXT, vFuiiCp)
+GO(glProgramUniformMatrix2x4fvEXT, vFuiiCp)
+GO(glProgramUniformMatrix3dvEXT, vFuiiCp)
+GO(glProgramUniformMatrix3fvEXT, vFuiiCp)
+GO(glProgramUniformMatrix3x2dvEXT, vFuiiCp)
+GO(glProgramUniformMatrix3x2fvEXT, vFuiiCp)
+GO(glProgramUniformMatrix3x4dvEXT, vFuiiCp)
+GO(glProgramUniformMatrix3x4fvEXT, vFuiiCp)
+GO(glProgramUniformMatrix4dvEXT, vFuiiCp)
+GO(glProgramUniformMatrix4fvEXT, vFuiiCp)
+GO(glProgramUniformMatrix4x2dvEXT, vFuiiCp)
+GO(glProgramUniformMatrix4x2fvEXT, vFuiiCp)
+GO(glProgramUniformMatrix4x3dvEXT, vFuiiCp)
+GO(glProgramUniformMatrix4x3fvEXT, vFuiiCp)
+GO(glPushClientAttribDefaultEXT, vFu)
+GO(glTextureBufferEXT, vFuuuu)
+GO(glTextureImage1DEXT, vFuuiiiiuup)
+GO(glTextureImage2DEXT, vFuuiiiiiuup)
+GO(glTextureImage3DEXT, vFuuiiiiiiuup)
+GO(glTextureParameterIivEXT, vFuuup)
+GO(glTextureParameterIuivEXT, vFuuup)
+GO(glTextureParameterfEXT, vFuuuf)
+GO(glTextureParameterfvEXT, vFuuup)
+GO(glTextureParameteriEXT, vFuuui)
+GO(glTextureParameterivEXT, vFuuup)
+GO(glTextureRenderbufferEXT, vFuuu)
+GO(glTextureSubImage1DEXT, vFuuiiiuup)
+GO(glTextureSubImage2DEXT, vFuuiiiiiuup)
+GO(glTextureSubImage3DEXT, vFuuiiiiiiiuup)
+GO(glUnmapNamedBufferEXT, CFu)
+GO(glVertexArrayColorOffsetEXT, vFuuiuil)
+GO(glVertexArrayEdgeFlagOffsetEXT, vFuuil)
+GO(glVertexArrayFogCoordOffsetEXT, vFuuuil)
+GO(glVertexArrayIndexOffsetEXT, vFuuuil)
+GO(glVertexArrayMultiTexCoordOffsetEXT, vFuuuiuil)
+GO(glVertexArrayNormalOffsetEXT, vFuuuil)
+GO(glVertexArraySecondaryColorOffsetEXT, vFuuiuil)
+GO(glVertexArrayTexCoordOffsetEXT, vFuuiuil)
+GO(glVertexArrayVertexAttribIOffsetEXT, vFuuuiuil)
+GO(glVertexArrayVertexAttribOffsetEXT, vFuuuiuCil)
+GO(glVertexArrayVertexOffsetEXT, vFuuiuil)
+//EXT_draw_buffers2
+GO(glColorMaskIndexedEXT, vFuCCCC)
+GO(glDisableIndexedEXT, vFuu)
+GO(glEnableIndexedEXT, vFuu)
+GO(glGetBooleanIndexedvEXT, vFuup)
+GO(glGetIntegerIndexedvEXT, vFuup)
+GO(glIsEnabledIndexedEXT, CFuu)
+//EXT_draw_instanced
+GO(glDrawArraysInstancedEXT, vFuiii)
+GO(glDrawElementsInstancedEXT, vFuiupi)
+//EXT_draw_range_elements
+GO(glDrawRangeElementsEXT, vFuuuiup)
+//EXT_fog_coord
+GO(glFogCoordPointerEXT, vFuip)
+GO(glFogCoorddEXT, vFd)
+GO(glFogCoorddvEXT, vFp)
+GO(glFogCoordfEXT, vFf)
+GO(glFogCoordfvEXT, vFp)
+//EXT_framebuffer_blit
+GO(glBlitFramebufferEXT, vFiiiiiiiiuu)
+//EXT_framebuffer_object
+GO(glBindFramebufferEXT, vFuu)
+GO(glBindRenderbufferEXT, vFuu)
+GO(glCheckFramebufferStatusEXT, uFu)
+GO(glDeleteFramebuffersEXT, vFip)
+GO(glDeleteRenderbuffersEXT, vFip)
+GO(glFramebufferRenderbufferEXT, vFuuuu)
+GO(glFramebufferTexture1DEXT, vFuuuui)
+GO(glFramebufferTexture2DEXT, vFuuuui)
+GO(glFramebufferTexture3DEXT, vFuuuuii)
+GO(glGenFramebuffersEXT, vFip)
+GO(glGenRenderbuffersEXT, vFip)
+GO(glGenerateMipmapEXT, vFu)
+GO(glGetFramebufferAttachmentParameterivEXT, vFuuup)
+GO(glGetRenderbufferParameterivEXT, vFuup)
+GO(glIsFramebufferEXT, CFu)
+GO(glIsRenderbufferEXT, CFu)
+GO(glRenderbufferStorageEXT, vFuuii)
+//EXT_geometry_shader4
+GO(glProgramParameteriEXT, vFuui)
+//EXT_gpu_program_parameters
+GO(glProgramEnvParameters4fvEXT, vFuuip)
+GO(glProgramLocalParameters4fvEXT, vFuuip)
+//EXT_gpu_shader4
+GO(glBindFragDataLocationEXT, vFuup)
+GO(glGetFragDataLocationEXT, iFup)
+GO(glGetUniformuivEXT, vFuip)
+GO(glUniform1uiEXT, vFiu)
+GO(glUniform1uivEXT, vFiip)
+GO(glUniform2uiEXT, vFiuu)
+GO(glUniform2uivEXT, vFiip)
+GO(glUniform3uiEXT, vFiuuu)
+GO(glUniform3uivEXT, vFiip)
+GO(glUniform4uiEXT, vFiuuuu)
+GO(glUniform4uivEXT, vFiip)
+//EXT_histogram
+GO(glGetHistogramEXT, vFuCuup)
+GO(glGetHistogramParameterfvEXT, vFuup)
+GO(glGetHistogramParameterivEXT, vFuup)
+GO(glGetMinmaxEXT, vFuCuup)
+GO(glGetMinmaxParameterfvEXT, vFuup)
+GO(glGetMinmaxParameterivEXT, vFuup)
+GO(glHistogramEXT, vFuiuC)
+GO(glMinmaxEXT, vFuuC)
+GO(glResetHistogramEXT, vFu)
+GO(glResetMinmaxEXT, vFu)
+//EXT_index_func
+GO(glIndexFuncEXT, vFuf)
+//EXT_index_material
+GO(glIndexMaterialEXT, vFuu)
+//EXT_light_texture
+GO(glApplyTextureEXT, vFu)
+GO(glTextureLightEXT, vFu)
+GO(glTextureMaterialEXT, vFuu)
+//EXT_multi_draw_arrays
+GO(glMultiDrawArraysEXT, vFuppi)
+GO(glMultiDrawElementsEXT, vFupupi)
+//EXT_multisample
+GO(glSampleMaskEXT, vFfC)
+GO(glSamplePatternEXT, vFu)
+//EXT_paletted_texture
+GO(glColorTableEXT, vFuuiuup)
+GO(glGetColorTableEXT, vFuuup)
+GO(glGetColorTableParameterfvEXT, vFuup)
+GO(glGetColorTableParameterivEXT, vFuup)
+//EXT_pixel_transform
+GO(glGetPixelTransformParameterfvEXT, vFuup)
+GO(glGetPixelTransformParameterivEXT, vFuup)
+GO(glPixelTransformParameterfEXT, vFuuf)
+GO(glPixelTransformParameterfvEXT, vFuup)
+GO(glPixelTransformParameteriEXT, vFuui)
+GO(glPixelTransformParameterivEXT, vFuup)
+//EXT_point_parameters
+GO(glPointParameterfEXT, vFuf)
+GO(glPointParameterfvEXT, vFup)
+//EXT_polygon_offset
+GO(glPolygonOffsetEXT, vFff)
+//EXT_provoking_vertex
+GO(glProvokingVertexEXT, vFu)
+//EXT_secondary_color
+GO(glSecondaryColor3bEXT, vFccc)
+GO(glSecondaryColor3bvEXT, vFp)
+GO(glSecondaryColor3dEXT, vFddd)
+GO(glSecondaryColor3dvEXT, vFp)
+GO(glSecondaryColor3fEXT, vFfff)
+GO(glSecondaryColor3fvEXT, vFp)
+GO(glSecondaryColor3iEXT, vFiii)
+GO(glSecondaryColor3ivEXT, vFp)
+GO(glSecondaryColor3sEXT, vFwww)
+GO(glSecondaryColor3svEXT, vFp)
+GO(glSecondaryColor3ubEXT, vFCCC)
+GO(glSecondaryColor3ubvEXT, vFp)
+GO(glSecondaryColor3uiEXT, vFuuu)
+GO(glSecondaryColor3uivEXT, vFp)
+GO(glSecondaryColor3usEXT, vFWWW)
+GO(glSecondaryColor3usvEXT, vFp)
+GO(glSecondaryColorPointerEXT, vFiuip)
+//EXT_separate_shader_objects
+GO(glActiveProgramEXT, vFu)
+GO(glCreateShaderProgramEXT, uFup)
+GO(glUseShaderProgramEXT, vFuu)
+//EXT_shader_image_load_store
+GO(glBindImageTextureEXT, vFuuiCiui)
+GO(glMemoryBarrierEXT, vFu)
+//EXT_stencil_clear_tag
+GO(glStencilClearTagEXT, vFiu)
+//EXT_stencil_two_side
+GO(glActiveStencilFaceEXT, vFu)
+//EXT_subtexture
+GO(glTexSubImage1DEXT, vFuiiiuup)
+GO(glTexSubImage2DEXT, vFuiiiiiuup)
+//EXT_texture3D
+GO(glTexImage3DEXT, vFuiuiiiiuup)
+GO(glTexSubImage3DEXT, vFuiiiiiiiuup)
+//EXT_texture_buffer_object
+GO(glTexBufferEXT, vFuuu)
+//EXT_texture_integer
+GO(glClearColorIiEXT, vFiiii)
+GO(glClearColorIuiEXT, vFuuuu)
+GO(glGetTexParameterIivEXT, vFuup)
+GO(glGetTexParameterIuivEXT, vFuup)
+GO(glTexParameterIivEXT, vFuup)
+GO(glTexParameterIuivEXT, vFuup)
+//EXT_texture_object
+GO(glAreTexturesResidentEXT, CFipp)
+GO(glBindTextureEXT, vFuu)
+GO(glDeleteTexturesEXT, vFip)
+GO(glGenTexturesEXT, vFip)
+GO(glIsTextureEXT, CFu)
+GO(glPrioritizeTexturesEXT, vFipp)
+//EXT_texture_perturb_normal
+GO(glTextureNormalEXT, vFu)
+//EXT_transform_feedback
+GO(glBeginTransformFeedbackEXT, vFu)
+GO(glBindBufferBaseEXT, vFuuu)
+GO(glBindBufferOffsetEXT, vFuuul)
+GO(glBindBufferRangeEXT, vFuuull)
+GO(glEndTransformFeedbackEXT, vFv)
+GO(glGetTransformFeedbackVaryingEXT, vFuuipppp)
+GO(glTransformFeedbackVaryingsEXT, vFuipu)
+//EXT_vertex_array
+GO(glArrayElementEXT, vFi)
+GO(glColorPointerEXT, vFiuiip)
+GO(glDrawArraysEXT, vFuii)
+GO(glEdgeFlagPointerEXT, vFiip)
+GO(glGetPointervEXT, vFup)
+GO(glIndexPointerEXT, vFuiip)
+GO(glNormalPointerEXT, vFuiip)
+GO(glTexCoordPointerEXT, vFiuiip)
+GO(glVertexPointerEXT, vFiuiip)
+//EXT_vertex_attrib_64bit
+GO(glGetVertexAttribLdvEXT, vFuup)
+GO(glVertexArrayVertexAttribLOffsetEXT, vFuuuiuil)
+GO(glVertexAttribL1dEXT, vFud)
+GO(glVertexAttribL1dvEXT, vFup)
+GO(glVertexAttribL2dEXT, vFudd)
+GO(glVertexAttribL2dvEXT, vFup)
+GO(glVertexAttribL3dEXT, vFuddd)
+GO(glVertexAttribL3dvEXT, vFup)
+GO(glVertexAttribL4dEXT, vFudddd)
+GO(glVertexAttribL4dvEXT, vFup)
+GO(glVertexAttribLPointerEXT, vFuiuip)
+//EXT_vertex_shader
+GO(glBeginVertexShaderEXT, vFv)
+GO(glBindLightParameterEXT, uFuu)
+GO(glBindMaterialParameterEXT, uFuu)
+GO(glBindParameterEXT, uFu)
+GO(glBindTexGenParameterEXT, uFuuu)
+GO(glBindTextureUnitParameterEXT, uFuu)
+GO(glBindVertexShaderEXT, vFu)
+GO(glDeleteVertexShaderEXT, vFu)
+GO(glDisableVariantClientStateEXT, vFu)
+GO(glEnableVariantClientStateEXT, vFu)
+GO(glEndVertexShaderEXT, vFv)
+GO(glExtractComponentEXT, vFuuu)
+GO(glGenSymbolsEXT, uFuuuu)
+GO(glGenVertexShadersEXT, uFu)
+GO(glGetInvariantBooleanvEXT, vFuup)
+GO(glGetInvariantFloatvEXT, vFuup)
+GO(glGetInvariantIntegervEXT, vFuup)
+GO(glGetLocalConstantBooleanvEXT, vFuup)
+GO(glGetLocalConstantFloatvEXT, vFuup)
+GO(glGetLocalConstantIntegervEXT, vFuup)
+GO(glGetVariantBooleanvEXT, vFuup)
+GO(glGetVariantFloatvEXT, vFuup)
+GO(glGetVariantIntegervEXT, vFuup)
+GO(glGetVariantPointervEXT, vFuup)
+GO(glInsertComponentEXT, vFuuu)
+GO(glIsVariantEnabledEXT, CFuu)
+GO(glSetInvariantEXT, vFuup)
+GO(glSetLocalConstantEXT, vFuup)
+GO(glShaderOp1EXT, vFuuu)
+GO(glShaderOp2EXT, vFuuuu)
+GO(glShaderOp3EXT, vFuuuuu)
+GO(glSwizzleEXT, vFuuuuuu)
+GO(glVariantPointerEXT, vFuuup)
+GO(glVariantbvEXT, vFup)
+GO(glVariantdvEXT, vFup)
+GO(glVariantfvEXT, vFup)
+GO(glVariantivEXT, vFup)
+GO(glVariantsvEXT, vFup)
+GO(glVariantubvEXT, vFup)
+GO(glVariantuivEXT, vFup)
+GO(glVariantusvEXT, vFup)
+GO(glWriteMaskEXT, vFuuuuuu)
+//EXT_vertex_weighting
+GO(glVertexWeightPointerEXT, vFiuip)
+GO(glVertexWeightfEXT, vFf)
+GO(glVertexWeightfvEXT, vFp)
+//EXT_x11_sync_object
+GO(glImportSyncEXT, pFulu)
+//GREMEDY_frame_terminator
+GO(glFrameTerminatorGREMEDY, vFv)
+//GREMEDY_string_marker
+GO(glStringMarkerGREMEDY, vFip)
+//HP_image_transform
+GO(glGetImageTransformParameterfvHP, vFuup)
+GO(glGetImageTransformParameterivHP, vFuup)
+GO(glImageTransformParameterfHP, vFuuf)
+GO(glImageTransformParameterfvHP, vFuup)
+GO(glImageTransformParameteriHP, vFuui)
+GO(glImageTransformParameterivHP, vFuup)
+//IBM_multimode_draw_arrays
+GO(glMultiModeDrawArraysIBM, vFpppii)
+GO(glMultiModeDrawElementsIBM, vFppupii)
+//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)
+//INGR_blend_func_separate
+GO(glBlendFuncSeparateINGR, vFuuuu)
+//INTEL_map_texture
+GO(glMapTexture2DINTEL, pFuiupp)
+GO(glSyncTextureINTEL, vFu)
+GO(glUnmapTexture2DINTEL, vFui)
+//INTEL_parallel_arrays
+GO(glColorPointervINTEL, vFiup)
+GO(glNormalPointervINTEL, vFup)
+GO(glTexCoordPointervINTEL, vFiup)
+GO(glVertexPointervINTEL, vFiup)
+//KHR_debug
+GOM(glDebugMessageCallback, vFEpp)   // not ideal, because the my_ version will always exist, even if glDebugMessageCallback doesn't
+GO(glDebugMessageControl, vFuuuipC)
+GO(glDebugMessageInsert, vFuuuuip)
+GO(glGetDebugMessageLog, uFuipppppp)
+GO(glGetObjectLabel, vFuuipp)
+GO(glGetObjectPtrLabel, vFpipp)
+GO(glObjectLabel, vFuuip)
+GO(glObjectPtrLabel, vFpip)
+GO(glPopDebugGroup, vFv)
+GO(glPushDebugGroup, vFuuip)
+//MESA_resize_buffers
+GO(glResizeBuffersMESA, vFv)
+//MESA_window_pos
+GO(glWindowPos2dMESA, vFdd)
+GO(glWindowPos2dvMESA, vFp)
+GO(glWindowPos2fMESA, vFff)
+GO(glWindowPos2fvMESA, vFp)
+GO(glWindowPos2iMESA, vFii)
+GO(glWindowPos2ivMESA, vFp)
+GO(glWindowPos2sMESA, vFww)
+GO(glWindowPos2svMESA, vFp)
+GO(glWindowPos3dMESA, vFddd)
+GO(glWindowPos3dvMESA, vFp)
+GO(glWindowPos3fMESA, vFfff)
+GO(glWindowPos3fvMESA, vFp)
+GO(glWindowPos3iMESA, vFiii)
+GO(glWindowPos3ivMESA, vFp)
+GO(glWindowPos3sMESA, vFwww)
+GO(glWindowPos3svMESA, vFp)
+GO(glWindowPos4dMESA, vFdddd)
+GO(glWindowPos4dvMESA, vFp)
+GO(glWindowPos4fMESA, vFffff)
+GO(glWindowPos4fvMESA, vFp)
+GO(glWindowPos4iMESA, vFiiii)
+GO(glWindowPos4ivMESA, vFp)
+GO(glWindowPos4sMESA, vFwwww)
+GO(glWindowPos4svMESA, vFp)
+//NVX_conditional_render
+GO(glBeginConditionalRenderNVX, vFu)
+GO(glEndConditionalRenderNVX, vFv)
+//NV_bindless_texture
+GO(glGetImageHandleNV, UFuiCiu)
+GO(glGetTextureHandleNV, UFu)
+GO(glGetTextureSamplerHandleNV, UFuu)
+GO(glIsImageHandleResidentNV, CFU)
+GO(glIsTextureHandleResidentNV, CFU)
+GO(glMakeImageHandleNonResidentNV, vFU)
+GO(glMakeImageHandleResidentNV, vFUu)
+GO(glMakeTextureHandleNonResidentNV, vFU)
+GO(glMakeTextureHandleResidentNV, vFU)
+GO(glProgramUniformHandleui64NV, vFuiU)
+GO(glProgramUniformHandleui64vNV, vFuiip)
+GO(glUniformHandleui64NV, vFiU)
+GO(glUniformHandleui64vNV, vFiip)
+//NV_conditional_render
+GO(glBeginConditionalRenderNV, vFuu)
+GO(glEndConditionalRenderNV, vFv)
+//NV_copy_image
+GO(glCopyImageSubDataNV, vFuuiiiiuuiiiiiii)
+//NV_depth_buffer_float
+GO(glClearDepthdNV, vFd)
+GO(glDepthBoundsdNV, vFdd)
+GO(glDepthRangedNV, vFdd)
+//NV_draw_texture
+GO(glDrawTextureNV, vFuufffffffff)
+//NV_evaluators
+GO(glEvalMapsNV, vFuu)
+GO(glGetMapAttribParameterfvNV, vFuuup)
+GO(glGetMapAttribParameterivNV, vFuuup)
+GO(glGetMapControlPointsNV, vFuuuiiCp)
+GO(glGetMapParameterfvNV, vFuup)
+GO(glGetMapParameterivNV, vFuup)
+GO(glMapControlPointsNV, vFuuuiiiiCp)
+GO(glMapParameterfvNV, vFuup)
+GO(glMapParameterivNV, vFuup)
+//NV_explicit_multisample
+GO(glGetMultisamplefvNV, vFuup)
+GO(glSampleMaskIndexedNV, vFuu)
+GO(glTexRenderbufferNV, vFuu)
+//NV_fence
+GO(glDeleteFencesNV, vFip)
+GO(glFinishFenceNV, vFu)
+GO(glGenFencesNV, vFip)
+GO(glGetFenceivNV, vFuup)
+GO(glIsFenceNV, CFu)
+GO(glSetFenceNV, vFuu)
+GO(glTestFenceNV, CFu)
+//NV_fragment_program
+GO(glGetProgramNamedParameterdvNV, vFuipp)
+GO(glGetProgramNamedParameterfvNV, vFuipp)
+GO(glProgramNamedParameter4dNV, vFuipdddd)
+GO(glProgramNamedParameter4dvNV, vFuipp)
+GO(glProgramNamedParameter4fNV, vFuipffff)
+GO(glProgramNamedParameter4fvNV, vFuipp)
+//NV_framebuffer_multisample_coverage
+GO(glRenderbufferStorageMultisampleCoverageNV, vFuiiuii)
+//NV_geometry_program4
+GO(glFramebufferTextureEXT, vFuuui)
+GO(glFramebufferTextureFaceEXT, vFuuuiu)
+GO(glFramebufferTextureLayerEXT, vFuuuii)
+GO(glProgramVertexLimitNV, vFui)
+//NV_gpu_program4
+GO(glGetProgramEnvParameterIivNV, vFuup)
+GO(glGetProgramEnvParameterIuivNV, vFuup)
+GO(glGetProgramLocalParameterIivNV, vFuup)
+GO(glGetProgramLocalParameterIuivNV, vFuup)
+GO(glProgramEnvParameterI4iNV, vFuuiiii)
+GO(glProgramEnvParameterI4ivNV, vFuup)
+GO(glProgramEnvParameterI4uiNV, vFuuuuuu)
+GO(glProgramEnvParameterI4uivNV, vFuup)
+GO(glProgramEnvParametersI4ivNV, vFuuip)
+GO(glProgramEnvParametersI4uivNV, vFuuip)
+GO(glProgramLocalParameterI4iNV, vFuuiiii)
+GO(glProgramLocalParameterI4ivNV, vFuup)
+GO(glProgramLocalParameterI4uiNV, vFuuuuuu)
+GO(glProgramLocalParameterI4uivNV, vFuup)
+GO(glProgramLocalParametersI4ivNV, vFuuip)
+GO(glProgramLocalParametersI4uivNV, vFuuip)
+//NV_gpu_program5
+GO(glGetProgramSubroutineParameteruivNV, vFuup)
+GO(glProgramSubroutineParametersuivNV, vFuip)
+//NV_gpu_shader5
+GO(glGetUniformi64vNV, vFuip)
+GO(glProgramUniform1i64NV, vFuiI)
+GO(glProgramUniform1i64vNV, vFuiip)
+GO(glProgramUniform1ui64NV, vFuiU)
+GO(glProgramUniform1ui64vNV, vFuiip)
+GO(glProgramUniform2i64NV, vFuiII)
+GO(glProgramUniform2i64vNV, vFuiip)
+GO(glProgramUniform2ui64NV, vFuiUU)
+GO(glProgramUniform2ui64vNV, vFuiip)
+GO(glProgramUniform3i64NV, vFuiIII)
+GO(glProgramUniform3i64vNV, vFuiip)
+GO(glProgramUniform3ui64NV, vFuiUUU)
+GO(glProgramUniform3ui64vNV, vFuiip)
+GO(glProgramUniform4i64NV, vFuiIIII)
+GO(glProgramUniform4i64vNV, vFuiip)
+GO(glProgramUniform4ui64NV, vFuiUUUU)
+GO(glProgramUniform4ui64vNV, vFuiip)
+GO(glUniform1i64NV, vFiI)
+GO(glUniform1i64vNV, vFiip)
+GO(glUniform1ui64NV, vFiU)
+GO(glUniform1ui64vNV, vFiip)
+GO(glUniform2i64NV, vFiII)
+GO(glUniform2i64vNV, vFiip)
+GO(glUniform2ui64NV, vFiUU)
+GO(glUniform2ui64vNV, vFiip)
+GO(glUniform3i64NV, vFiIII)
+GO(glUniform3i64vNV, vFiip)
+GO(glUniform3ui64NV, vFiUUU)
+GO(glUniform3ui64vNV, vFiip)
+GO(glUniform4i64NV, vFiIIII)
+GO(glUniform4i64vNV, vFiip)
+GO(glUniform4ui64NV, vFiUUUU)
+GO(glUniform4ui64vNV, vFiip)
+//NV_half_float
+GO(glColor3hNV, vFWWW)
+GO(glColor3hvNV, vFp)
+GO(glColor4hNV, vFWWWW)
+GO(glColor4hvNV, vFp)
+GO(glFogCoordhNV, vFW)
+GO(glFogCoordhvNV, vFp)
+GO(glMultiTexCoord1hNV, vFuW)
+GO(glMultiTexCoord1hvNV, vFup)
+GO(glMultiTexCoord2hNV, vFuWW)
+GO(glMultiTexCoord2hvNV, vFup)
+GO(glMultiTexCoord3hNV, vFuWWW)
+GO(glMultiTexCoord3hvNV, vFup)
+GO(glMultiTexCoord4hNV, vFuWWWW)
+GO(glMultiTexCoord4hvNV, vFup)
+GO(glNormal3hNV, vFWWW)
+GO(glNormal3hvNV, vFp)
+GO(glSecondaryColor3hNV, vFWWW)
+GO(glSecondaryColor3hvNV, vFp)
+GO(glTexCoord1hNV, vFW)
+GO(glTexCoord1hvNV, vFp)
+GO(glTexCoord2hNV, vFWW)
+GO(glTexCoord2hvNV, vFp)
+GO(glTexCoord3hNV, vFWWW)
+GO(glTexCoord3hvNV, vFp)
+GO(glTexCoord4hNV, vFWWWW)
+GO(glTexCoord4hvNV, vFp)
+GO(glVertex2hNV, vFWW)
+GO(glVertex2hvNV, vFp)
+GO(glVertex3hNV, vFWWW)
+GO(glVertex3hvNV, vFp)
+GO(glVertex4hNV, vFWWWW)
+GO(glVertex4hvNV, vFp)
+GO(glVertexAttrib1hNV, vFuW)
+GO(glVertexAttrib1hvNV, vFup)
+GO(glVertexAttrib2hNV, vFuWW)
+GO(glVertexAttrib2hvNV, vFup)
+GO(glVertexAttrib3hNV, vFuWWW)
+GO(glVertexAttrib3hvNV, vFup)
+GO(glVertexAttrib4hNV, vFuWWWW)
+GO(glVertexAttrib4hvNV, vFup)
+GO(glVertexAttribs1hvNV, vFuip)
+GO(glVertexAttribs2hvNV, vFuip)
+GO(glVertexAttribs3hvNV, vFuip)
+GO(glVertexAttribs4hvNV, vFuip)
+GO(glVertexWeighthNV, vFW)
+GO(glVertexWeighthvNV, vFp)
+//NV_occlusion_query
+GO(glBeginOcclusionQueryNV, vFu)
+GO(glDeleteOcclusionQueriesNV, vFip)
+GO(glEndOcclusionQueryNV, vFv)
+GO(glGenOcclusionQueriesNV, vFip)
+GO(glGetOcclusionQueryivNV, vFuup)
+GO(glGetOcclusionQueryuivNV, vFuup)
+GO(glIsOcclusionQueryNV, CFu)
+//NV_parameter_buffer_object
+GO(glProgramBufferParametersIivNV, vFuuuip)
+GO(glProgramBufferParametersIuivNV, vFuuuip)
+GO(glProgramBufferParametersfvNV, vFuuuip)
+//NV_pixel_data_range
+GO(glFlushPixelDataRangeNV, vFu)
+GO(glPixelDataRangeNV, vFuip)
+//NV_point_sprite
+GO(glPointParameteriNV, vFui)
+GO(glPointParameterivNV, vFup)
+//NV_present_video
+GO(glGetVideoi64vNV, vFuup)
+GO(glGetVideoivNV, vFuup)
+GO(glGetVideoui64vNV, vFuup)
+GO(glGetVideouivNV, vFuup)
+GO(glPresentFrameDualFillNV, vFuUuuuuuuuuuuu)
+GO(glPresentFrameKeyedNV, vFuUuuuuuuuuu)
+//NV_primitive_restart
+GO(glPrimitiveRestartIndexNV, vFu)
+GO(glPrimitiveRestartNV, vFv)
+//NV_register_combiners
+GO(glCombinerInputNV, vFuuuuuu)
+GO(glCombinerOutputNV, vFuuuuuuuCCC)
+GO(glCombinerParameterfNV, vFuf)
+GO(glCombinerParameterfvNV, vFup)
+GO(glCombinerParameteriNV, vFui)
+GO(glCombinerParameterivNV, vFup)
+GO(glFinalCombinerInputNV, vFuuuu)
+GO(glGetCombinerInputParameterfvNV, vFuuuup)
+GO(glGetCombinerInputParameterivNV, vFuuuup)
+GO(glGetCombinerOutputParameterfvNV, vFuuup)
+GO(glGetCombinerOutputParameterivNV, vFuuup)
+GO(glGetFinalCombinerInputParameterfvNV, vFuup)
+GO(glGetFinalCombinerInputParameterivNV, vFuup)
+//NV_register_combiners2
+GO(glCombinerStageParameterfvNV, vFuup)
+GO(glGetCombinerStageParameterfvNV, vFuup)
+//NV_shader_buffer_load
+GO(glGetBufferParameterui64vNV, vFuup)
+GO(glGetIntegerui64vNV, vFup)
+GO(glGetNamedBufferParameterui64vNV, vFuup)
+GO(glGetUniformui64vNV, vFuip)
+GO(glIsBufferResidentNV, CFu)
+GO(glIsNamedBufferResidentNV, CFu)
+GO(glMakeBufferNonResidentNV, vFu)
+GO(glMakeBufferResidentNV, vFuu)
+GO(glMakeNamedBufferNonResidentNV, vFu)
+GO(glMakeNamedBufferResidentNV, vFuu)
+GO(glProgramUniformui64NV, vFuiU)
+GO(glProgramUniformui64vNV, vFuiip)
+GO(glUniformui64NV, vFiU)
+GO(glUniformui64vNV, vFiip)
+//NV_texture_barrier
+GO(glTextureBarrierNV, vFv)
+//NV_texture_multisample
+GO(glTexImage2DMultisampleCoverageNV, vFuiiiiiC)
+GO(glTexImage3DMultisampleCoverageNV, vFuiiiiiiC)
+GO(glTextureImage2DMultisampleCoverageNV, vFuuiiiiiC)
+GO(glTextureImage2DMultisampleNV, vFuuiiiiC)
+GO(glTextureImage3DMultisampleCoverageNV, vFuuiiiiiiC)
+GO(glTextureImage3DMultisampleNV, vFuuiiiiiC)
+//NV_transform_feedback
+GO(glActiveVaryingNV, vFup)
+GO(glBeginTransformFeedbackNV, vFu)
+GO(glBindBufferBaseNV, vFuuu)
+GO(glBindBufferOffsetNV, vFuuul)
+GO(glBindBufferRangeNV, vFuuull)
+GO(glEndTransformFeedbackNV, vFv)
+GO(glGetActiveVaryingNV, vFuuipppp)
+GO(glGetTransformFeedbackVaryingNV, vFuup)
+GO(glGetVaryingLocationNV, iFup)
+GO(glTransformFeedbackAttribsNV, vFipu)
+GO(glTransformFeedbackStreamAttribsNV, vFipipu)
+GO(glTransformFeedbackVaryingsNV, vFuipu)
+//NV_transform_feedback2
+GO(glBindTransformFeedbackNV, vFuu)
+GO(glDeleteTransformFeedbacksNV, vFip)
+GO(glDrawTransformFeedbackNV, vFuu)
+GO(glGenTransformFeedbacksNV, vFip)
+GO(glIsTransformFeedbackNV, CFu)
+GO(glPauseTransformFeedbackNV, vFv)
+GO(glResumeTransformFeedbackNV, vFv)
+//NV_vdpau_interop
+GO(glVDPAUFiniNV, vFv)
+GO(glVDPAUGetSurfaceivNV, vFluipp)
+GO(glVDPAUInitNV, vFpp)
+GO(glVDPAUIsSurfaceNV, CFl)
+GO(glVDPAUMapSurfacesNV, vFip)
+GO(glVDPAURegisterOutputSurfaceNV, lFpuip)
+GO(glVDPAURegisterVideoSurfaceNV, lFpuip)
+GO(glVDPAUSurfaceAccessNV, vFlu)
+GO(glVDPAUUnmapSurfacesNV, vFip)
+GO(glVDPAUUnregisterSurfaceNV, vFl)
+//NV_vertex_array_range
+GO(glFlushVertexArrayRangeNV, vFv)
+GO(glVertexArrayRangeNV, vFip)
+//NV_vertex_attrib_integer_64bit
+GO(glGetVertexAttribLi64vNV, vFuup)
+GO(glGetVertexAttribLui64vNV, vFuup)
+GO(glVertexAttribL1i64NV, vFuI)
+GO(glVertexAttribL1i64vNV, vFup)
+GO(glVertexAttribL1ui64NV, vFuU)
+GO(glVertexAttribL1ui64vNV, vFup)
+GO(glVertexAttribL2i64NV, vFuII)
+GO(glVertexAttribL2i64vNV, vFup)
+GO(glVertexAttribL2ui64NV, vFuUU)
+GO(glVertexAttribL2ui64vNV, vFup)
+GO(glVertexAttribL3i64NV, vFuIII)
+GO(glVertexAttribL3i64vNV, vFup)
+GO(glVertexAttribL3ui64NV, vFuUUU)
+GO(glVertexAttribL3ui64vNV, vFup)
+GO(glVertexAttribL4i64NV, vFuIIII)
+GO(glVertexAttribL4i64vNV, vFup)
+GO(glVertexAttribL4ui64NV, vFuUUUU)
+GO(glVertexAttribL4ui64vNV, vFup)
+GO(glVertexAttribLFormatNV, vFuiui)
+//NV_vertex_buffer_unified_memory
+GO(glBufferAddressRangeNV, vFuuUl)
+GO(glColorFormatNV, vFiui)
+GO(glEdgeFlagFormatNV, vFi)
+GO(glFogCoordFormatNV, vFui)
+GO(glGetIntegerui64i_vNV, vFuup)
+GO(glIndexFormatNV, vFui)
+GO(glNormalFormatNV, vFui)
+GO(glSecondaryColorFormatNV, vFiui)
+GO(glTexCoordFormatNV, vFiui)
+GO(glVertexAttribFormatNV, vFuiuCi)
+GO(glVertexAttribIFormatNV, vFuiui)
+GO(glVertexFormatNV, vFiui)
+//NV_vertex_program
+GO(glAreProgramsResidentNV, CFipp)
+GO(glBindProgramNV, vFuu)
+GO(glDeleteProgramsNV, vFip)
+GO(glExecuteProgramNV, vFuup)
+GO(glGenProgramsNV, vFip)
+GO(glGetProgramParameterdvNV, vFuuup)
+GO(glGetProgramParameterfvNV, vFuuup)
+GO(glGetProgramStringNV, vFuup)
+GO(glGetProgramivNV, vFuup)
+GO(glGetTrackMatrixivNV, vFuuup)
+GO(glGetVertexAttribPointervNV, vFuup)
+GO(glGetVertexAttribdvNV, vFuup)
+GO(glGetVertexAttribfvNV, vFuup)
+GO(glGetVertexAttribivNV, vFuup)
+GO(glIsProgramNV, CFu)
+GO(glLoadProgramNV, vFuuip)
+GO(glProgramParameter4dNV, vFuudddd)
+GO(glProgramParameter4dvNV, vFuup)
+GO(glProgramParameter4fNV, vFuuffff)
+GO(glProgramParameter4fvNV, vFuup)
+GO(glProgramParameters4dvNV, vFuuip)
+GO(glProgramParameters4fvNV, vFuuip)
+GO(glRequestResidentProgramsNV, vFip)
+GO(glTrackMatrixNV, vFuuuu)
+GO(glVertexAttrib1dNV, vFud)
+GO(glVertexAttrib1dvNV, vFup)
+GO(glVertexAttrib1fNV, vFuf)
+GO(glVertexAttrib1fvNV, vFup)
+GO(glVertexAttrib1sNV, vFuw)
+GO(glVertexAttrib1svNV, vFup)
+GO(glVertexAttrib2dNV, vFudd)
+GO(glVertexAttrib2dvNV, vFup)
+GO(glVertexAttrib2fNV, vFuff)
+GO(glVertexAttrib2fvNV, vFup)
+GO(glVertexAttrib2sNV, vFuww)
+GO(glVertexAttrib2svNV, vFup)
+GO(glVertexAttrib3dNV, vFuddd)
+GO(glVertexAttrib3dvNV, vFup)
+GO(glVertexAttrib3fNV, vFufff)
+GO(glVertexAttrib3fvNV, vFup)
+GO(glVertexAttrib3sNV, vFuwww)
+GO(glVertexAttrib3svNV, vFup)
+GO(glVertexAttrib4dNV, vFudddd)
+GO(glVertexAttrib4dvNV, vFup)
+GO(glVertexAttrib4fNV, vFuffff)
+GO(glVertexAttrib4fvNV, vFup)
+GO(glVertexAttrib4sNV, vFuwwww)
+GO(glVertexAttrib4svNV, vFup)
+GO(glVertexAttrib4ubNV, vFuCCCC)
+GO(glVertexAttrib4ubvNV, vFup)
+GO(glVertexAttribPointerNV, vFuiuip)
+GO(glVertexAttribs1dvNV, vFuip)
+GO(glVertexAttribs1fvNV, vFuip)
+GO(glVertexAttribs1svNV, vFuip)
+GO(glVertexAttribs2dvNV, vFuip)
+GO(glVertexAttribs2fvNV, vFuip)
+GO(glVertexAttribs2svNV, vFuip)
+GO(glVertexAttribs3dvNV, vFuip)
+GO(glVertexAttribs3fvNV, vFuip)
+GO(glVertexAttribs3svNV, vFuip)
+GO(glVertexAttribs4dvNV, vFuip)
+GO(glVertexAttribs4fvNV, vFuip)
+GO(glVertexAttribs4svNV, vFuip)
+GO(glVertexAttribs4ubvNV, vFuip)
+//NV_vertex_program4
+GO(glGetVertexAttribIivEXT, vFuup)
+GO(glGetVertexAttribIuivEXT, vFuup)
+GO(glVertexAttribI1iEXT, vFui)
+GO(glVertexAttribI1ivEXT, vFup)
+GO(glVertexAttribI1uiEXT, vFuu)
+GO(glVertexAttribI1uivEXT, vFup)
+GO(glVertexAttribI2iEXT, vFuii)
+GO(glVertexAttribI2ivEXT, vFup)
+GO(glVertexAttribI2uiEXT, vFuuu)
+GO(glVertexAttribI2uivEXT, vFup)
+GO(glVertexAttribI3iEXT, vFuiii)
+GO(glVertexAttribI3ivEXT, vFup)
+GO(glVertexAttribI3uiEXT, vFuuuu)
+GO(glVertexAttribI3uivEXT, vFup)
+GO(glVertexAttribI4bvEXT, vFup)
+GO(glVertexAttribI4iEXT, vFuiiii)
+GO(glVertexAttribI4ivEXT, vFup)
+GO(glVertexAttribI4svEXT, vFup)
+GO(glVertexAttribI4ubvEXT, vFup)
+GO(glVertexAttribI4uiEXT, vFuuuuu)
+GO(glVertexAttribI4uivEXT, vFup)
+GO(glVertexAttribI4usvEXT, vFup)
+GO(glVertexAttribIPointerEXT, vFuiuip)
+//NV_video_capture
+GO(glBeginVideoCaptureNV, vFu)
+GO(glBindVideoCaptureStreamBufferNV, vFuuul)
+GO(glBindVideoCaptureStreamTextureNV, vFuuuuu)
+GO(glEndVideoCaptureNV, vFu)
+GO(glGetVideoCaptureStreamdvNV, vFuuup)
+GO(glGetVideoCaptureStreamfvNV, vFuuup)
+GO(glGetVideoCaptureStreamivNV, vFuuup)
+GO(glGetVideoCaptureivNV, vFuup)
+GO(glVideoCaptureNV, uFupp)
+GO(glVideoCaptureStreamParameterdvNV, vFuuup)
+GO(glVideoCaptureStreamParameterfvNV, vFuuup)
+GO(glVideoCaptureStreamParameterivNV, vFuuup)
+//OES_byte_coordinates
+GO(glMultiTexCoord1bOES, vFuc)
+GO(glMultiTexCoord1bvOES, vFup)
+GO(glMultiTexCoord2bOES, vFucc)
+GO(glMultiTexCoord2bvOES, vFup)
+GO(glMultiTexCoord3bOES, vFuccc)
+GO(glMultiTexCoord3bvOES, vFup)
+GO(glMultiTexCoord4bOES, vFucccc)
+GO(glMultiTexCoord4bvOES, vFup)
+GO(glTexCoord1bOES, vFc)
+GO(glTexCoord1bvOES, vFp)
+GO(glTexCoord2bOES, vFcc)
+GO(glTexCoord2bvOES, vFp)
+GO(glTexCoord3bOES, vFccc)
+GO(glTexCoord3bvOES, vFp)
+GO(glTexCoord4bOES, vFcccc)
+GO(glTexCoord4bvOES, vFp)
+GO(glVertex2bOES, vFcc)
+GO(glVertex2bvOES, vFp)
+GO(glVertex3bOES, vFccc)
+GO(glVertex3bvOES, vFp)
+GO(glVertex4bOES, vFcccc)
+GO(glVertex4bvOES, vFp)
+//OES_fixed_point
+GO(glAccumxOES, vFui)
+GO(glAlphaFuncxOES, vFui)
+GO(glBitmapxOES, vFiiiiiip)
+GO(glBlendColorxOES, vFiiii)
+GO(glClearAccumxOES, vFiiii)
+GO(glClearColorxOES, vFiiii)
+GO(glClearDepthxOES, vFi)
+GO(glClipPlanexOES, vFup)
+GO(glColor3xOES, vFiii)
+GO(glColor3xvOES, vFp)
+GO(glColor4xOES, vFiiii)
+GO(glColor4xvOES, vFp)
+GO(glConvolutionParameterxOES, vFuui)
+GO(glConvolutionParameterxvOES, vFuup)
+GO(glDepthRangexOES, vFii)
+GO(glEvalCoord1xOES, vFi)
+GO(glEvalCoord1xvOES, vFp)
+GO(glEvalCoord2xOES, vFii)
+GO(glEvalCoord2xvOES, vFp)
+GO(glFeedbackBufferxOES, vFiup)
+GO(glFogxOES, vFui)
+GO(glFogxvOES, vFup)
+GO(glFrustumxOES, vFiiiiii)
+GO(glGetClipPlanexOES, vFup)
+GO(glGetConvolutionParameterxvOES, vFuup)
+GO(glGetFixedvOES, vFup)
+GO(glGetHistogramParameterxvOES, vFuup)
+GO(glGetLightxOES, vFuup)
+GO(glGetMapxvOES, vFuup)
+GO(glGetMaterialxOES, vFuui)
+GO(glGetPixelMapxv, vFuip)
+GO(glGetTexEnvxvOES, vFuup)
+GO(glGetTexGenxvOES, vFuup)
+GO(glGetTexLevelParameterxvOES, vFuiup)
+GO(glGetTexParameterxvOES, vFuup)
+GO(glIndexxOES, vFi)
+GO(glIndexxvOES, vFp)
+GO(glLightModelxOES, vFui)
+GO(glLightModelxvOES, vFup)
+GO(glLightxOES, vFuui)
+GO(glLightxvOES, vFuup)
+GO(glLineWidthxOES, vFi)
+GO(glLoadMatrixxOES, vFp)
+GO(glLoadTransposeMatrixxOES, vFp)
+GO(glMap1xOES, vFuiiiii)
+GO(glMap2xOES, vFuiiiiiiiii)
+GO(glMapGrid1xOES, vFiii)
+GO(glMapGrid2xOES, vFiiiii)
+GO(glMaterialxOES, vFuui)
+GO(glMaterialxvOES, vFuup)
+GO(glMultMatrixxOES, vFp)
+GO(glMultTransposeMatrixxOES, vFp)
+GO(glMultiTexCoord1xOES, vFui)
+GO(glMultiTexCoord1xvOES, vFup)
+GO(glMultiTexCoord2xOES, vFuii)
+GO(glMultiTexCoord2xvOES, vFup)
+GO(glMultiTexCoord3xOES, vFuiii)
+GO(glMultiTexCoord3xvOES, vFup)
+GO(glMultiTexCoord4xOES, vFuiiii)
+GO(glMultiTexCoord4xvOES, vFup)
+GO(glNormal3xOES, vFiii)
+GO(glNormal3xvOES, vFp)
+GO(glOrthoxOES, vFiiiiii)
+GO(glPassThroughxOES, vFi)
+GO(glPixelMapx, vFuip)
+GO(glPixelStorex, vFui)
+GO(glPixelTransferxOES, vFui)
+GO(glPixelZoomxOES, vFii)
+GO(glPointParameterxvOES, vFup)
+GO(glPointSizexOES, vFi)
+GO(glPolygonOffsetxOES, vFii)
+GO(glPrioritizeTexturesxOES, vFipp)
+GO(glRasterPos2xOES, vFii)
+GO(glRasterPos2xvOES, vFp)
+GO(glRasterPos3xOES, vFiii)
+GO(glRasterPos3xvOES, vFp)
+GO(glRasterPos4xOES, vFiiii)
+GO(glRasterPos4xvOES, vFp)
+GO(glRectxOES, vFiiii)
+GO(glRectxvOES, vFpp)
+GO(glRotatexOES, vFiiii)
+GO(glSampleCoverageOES, vFii)
+GO(glScalexOES, vFiii)
+GO(glTexCoord1xOES, vFi)
+GO(glTexCoord1xvOES, vFp)
+GO(glTexCoord2xOES, vFii)
+GO(glTexCoord2xvOES, vFp)
+GO(glTexCoord3xOES, vFiii)
+GO(glTexCoord3xvOES, vFp)
+GO(glTexCoord4xOES, vFiiii)
+GO(glTexCoord4xvOES, vFp)
+GO(glTexEnvxOES, vFuui)
+GO(glTexEnvxvOES, vFuup)
+GO(glTexGenxOES, vFuui)
+GO(glTexGenxvOES, vFuup)
+GO(glTexParameterxOES, vFuui)
+GO(glTexParameterxvOES, vFuup)
+GO(glTranslatexOES, vFiii)
+GO(glVertex2xOES, vFi)
+GO(glVertex2xvOES, vFp)
+GO(glVertex3xOES, vFii)
+GO(glVertex3xvOES, vFp)
+GO(glVertex4xOES, vFiii)
+GO(glVertex4xvOES, vFp)
+//OES_query_matrix
+GO(glQueryMatrixxOES, uFpp)
+//OES_single_precision
+GO(glClearDepthfOES, vFf)
+GO(glClipPlanefOES, vFup)
+GO(glDepthRangefOES, vFff)
+GO(glFrustumfOES, vFffffff)
+GO(glGetClipPlanefOES, vFup)
+GO(glOrthofOES, vFffffff)
+//PGI_misc_hints
+GO(glHintPGI, vFui)
+//SGIS_detail_texture
+GO(glDetailTexFuncSGIS, vFuip)
+GO(glGetDetailTexFuncSGIS, vFup)
+//SGIS_fog_function
+GO(glFogFuncSGIS, vFip)
+GO(glGetFogFuncSGIS, vFp)
+//SGIS_multisample
+GO(glSampleMaskSGIS, vFfC)
+GO(glSamplePatternSGIS, vFu)
+//SGIS_pixel_texture
+GO(glGetPixelTexGenParameterfvSGIS, vFup)
+GO(glGetPixelTexGenParameterivSGIS, vFup)
+GO(glPixelTexGenParameterfSGIS, vFuf)
+GO(glPixelTexGenParameterfvSGIS, vFup)
+GO(glPixelTexGenParameteriSGIS, vFui)
+GO(glPixelTexGenParameterivSGIS, vFup)
+//SGIS_point_parameters
+GO(glPointParameterfSGIS, vFuf)
+GO(glPointParameterfvSGIS, vFup)
+//SGIS_sharpen_texture
+GO(glGetSharpenTexFuncSGIS, vFup)
+GO(glSharpenTexFuncSGIS, vFuip)
+//SGIS_texture4D
+GO(glTexImage4DSGIS, vFuiuiiiiiuup)
+GO(glTexSubImage4DSGIS, vFuiiiiiiiiiuup)
+//SGIS_texture_color_mask
+GO(glTextureColorMaskSGIS, vFCCCC)
+//SGIS_texture_filter4
+GO(glGetTexFilterFuncSGIS, vFuup)
+GO(glTexFilterFuncSGIS, vFuuip)
+//SGIX_async
+GO(glAsyncMarkerSGIX, vFu)
+GO(glDeleteAsyncMarkersSGIX, vFui)
+GO(glFinishAsyncSGIX, iFp)
+GO(glGenAsyncMarkersSGIX, uFi)
+GO(glIsAsyncMarkerSGIX, CFu)
+GO(glPollAsyncSGIX, iFp)
+//SGIX_flush_raster
+GO(glFlushRasterSGIX, vFv)
+//SGIX_fragment_lighting
+GO(glFragmentColorMaterialSGIX, vFuu)
+GO(glFragmentLightModelfSGIX, vFuf)
+GO(glFragmentLightModelfvSGIX, vFup)
+GO(glFragmentLightModeliSGIX, vFui)
+GO(glFragmentLightModelivSGIX, vFup)
+GO(glFragmentLightfSGIX, vFuuf)
+GO(glFragmentLightfvSGIX, vFuup)
+GO(glFragmentLightiSGIX, vFuui)
+GO(glFragmentLightivSGIX, vFuup)
+GO(glFragmentMaterialfSGIX, vFuuf)
+GO(glFragmentMaterialfvSGIX, vFuup)
+GO(glFragmentMaterialiSGIX, vFuui)
+GO(glFragmentMaterialivSGIX, vFuup)
+GO(glGetFragmentLightfvSGIX, vFuup)
+GO(glGetFragmentLightivSGIX, vFuup)
+GO(glGetFragmentMaterialfvSGIX, vFuup)
+GO(glGetFragmentMaterialivSGIX, vFuup)
+GO(glLightEnviSGIX, vFui)
+//SGIX_framezoom
+GO(glFrameZoomSGIX, vFi)
+//SGIX_igloo_interface
+GO(glIglooInterfaceSGIX, vFup)
+//SGIX_instruments
+GO(glGetInstrumentsSGIX, iFv)
+GO(glInstrumentsBufferSGIX, vFip)
+GO(glPollInstrumentsSGIX, iFp)
+GO(glReadInstrumentsSGIX, vFi)
+GO(glStartInstrumentsSGIX, vFv)
+GO(glStopInstrumentsSGIX, vFi)
+//SGIX_list_priority
+GO(glGetListParameterfvSGIX, vFuup)
+GO(glGetListParameterivSGIX, vFuup)
+GO(glListParameterfSGIX, vFuuf)
+GO(glListParameterfvSGIX, vFuup)
+GO(glListParameteriSGIX, vFuui)
+GO(glListParameterivSGIX, vFuup)
+//SGIX_pixel_texture
+GO(glPixelTexGenSGIX, vFu)
+//SGIX_polynomial_ffd
+GO(glDeformSGIX, vFu)
+GO(glDeformationMap3dSGIX, vFuddiiddiiddiip)
+GO(glDeformationMap3fSGIX, vFuffiiffiiffiip)
+GO(glLoadIdentityDeformationMapSGIX, vFu)
+//SGIX_reference_plane
+GO(glReferencePlaneSGIX, vFp)
+//SGIX_sprite
+GO(glSpriteParameterfSGIX, vFuf)
+GO(glSpriteParameterfvSGIX, vFup)
+GO(glSpriteParameteriSGIX, vFui)
+GO(glSpriteParameterivSGIX, vFup)
+//SGIX_tag_sample_buffer
+GO(glTagSampleBufferSGIX, vFv)
+//SGI_color_table
+GO(glColorTableParameterfvSGI, vFuup)
+GO(glColorTableParameterivSGI, vFuup)
+GO(glColorTableSGI, vFuuiuup)
+GO(glCopyColorTableSGI, vFuuiii)
+GO(glGetColorTableParameterfvSGI, vFuup)
+GO(glGetColorTableParameterivSGI, vFuup)
+GO(glGetColorTableSGI, vFuuup)
+//SUNX_constant_data
+GO(glFinishTextureSUNX, vFv)
+//SUN_global_alpha
+GO(glGlobalAlphaFactorbSUN, vFc)
+GO(glGlobalAlphaFactordSUN, vFd)
+GO(glGlobalAlphaFactorfSUN, vFf)
+GO(glGlobalAlphaFactoriSUN, vFi)
+GO(glGlobalAlphaFactorsSUN, vFw)
+GO(glGlobalAlphaFactorubSUN, vFC)
+GO(glGlobalAlphaFactoruiSUN, vFu)
+GO(glGlobalAlphaFactorusSUN, vFW)
+//SUN_mesh_array
+GO(glDrawMeshArraysSUN, vFuiii)
+//SUN_triangle_list
+GO(glReplacementCodePointerSUN, vFuip)
+GO(glReplacementCodeubSUN, vFC)
+GO(glReplacementCodeubvSUN, vFp)
+GO(glReplacementCodeuiSUN, vFu)
+GO(glReplacementCodeuivSUN, vFp)
+GO(glReplacementCodeusSUN, vFW)
+GO(glReplacementCodeusvSUN, vFp)
+//SUN_vertex
+GO(glColor3fVertex3fSUN, vFffffff)
+GO(glColor3fVertex3fvSUN, vFpp)
+GO(glColor4fNormal3fVertex3fSUN, vFffffffffff)
+GO(glColor4fNormal3fVertex3fvSUN, vFppp)
+GO(glColor4ubVertex2fSUN, vFCCCCff)
+GO(glColor4ubVertex2fvSUN, vFpp)
+GO(glColor4ubVertex3fSUN, vFCCCCfff)
+GO(glColor4ubVertex3fvSUN, vFpp)
+GO(glNormal3fVertex3fSUN, vFffffff)
+GO(glNormal3fVertex3fvSUN, vFpp)
+GO(glReplacementCodeuiColor3fVertex3fSUN, vFuffffff)
+GO(glReplacementCodeuiColor3fVertex3fvSUN, vFppp)
+GO(glReplacementCodeuiColor4fNormal3fVertex3fSUN, vFuffffffffff)
+GO(glReplacementCodeuiColor4fNormal3fVertex3fvSUN, vFpppp)
+GO(glReplacementCodeuiColor4ubVertex3fSUN, vFuCCCCfff)
+GO(glReplacementCodeuiColor4ubVertex3fvSUN, vFppp)
+GO(glReplacementCodeuiNormal3fVertex3fSUN, vFuffffff)
+GO(glReplacementCodeuiNormal3fVertex3fvSUN, vFppp)
+GO(glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN, vFuffffffffffff)
+GO(glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN, vFppppp)
+GO(glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN, vFuffffffff)
+GO(glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN, vFpppp)
+GO(glReplacementCodeuiTexCoord2fVertex3fSUN, vFufffff)
+GO(glReplacementCodeuiTexCoord2fVertex3fvSUN, vFppp)
+GO(glReplacementCodeuiVertex3fSUN, vFufff)
+GO(glReplacementCodeuiVertex3fvSUN, vFpp)
+GO(glTexCoord2fColor3fVertex3fSUN, vFffffffff)
+GO(glTexCoord2fColor3fVertex3fvSUN, vFppp)
+GO(glTexCoord2fColor4fNormal3fVertex3fSUN, vFffffffffffff)
+GO(glTexCoord2fColor4fNormal3fVertex3fvSUN, vFpppp)
+GO(glTexCoord2fColor4ubVertex3fSUN, vFffCCCCfff)
+GO(glTexCoord2fColor4ubVertex3fvSUN, vFppp)
+GO(glTexCoord2fNormal3fVertex3fSUN, vFffffffff)
+GO(glTexCoord2fNormal3fVertex3fvSUN, vFppp)
+GO(glTexCoord2fVertex3fSUN, vFfffff)
+GO(glTexCoord2fVertex3fvSUN, vFpp)
+GO(glTexCoord4fColor4fNormal3fVertex4fSUN, vFfffffffffffffff)
+GO(glTexCoord4fColor4fNormal3fVertex4fvSUN, vFpppp)
+GO(glTexCoord4fVertex4fSUN, vFffffffff)
+GO(glTexCoord4fVertex4fvSUN, vFpp)
+
+//GL_ARB_polygon_offset_clamp
+GO(glPolygonOffsetClamp, vFfff)
+
+//GL_EXT_polygon_offset_clamp
+GO(glPolygonOffsetClampEXT, vFfff)
+
+//GL_EXT_multisampled_render_to_texture
+GO(glRenderbufferStorageMultisampleEXT, vFuiuii)
+GO(glFramebufferTexture2DMultisampleEXT, vFiiiuil)
+
+//GL_KTX_buffer_region
+GO(glBufferRegionEnabled, uFv)
+GO(glNewBufferRegion, uFi)
+GO(glDeleteBufferRegion, vFi)
+GO(glReadBufferRegion, vFuiiii)
+GO(glDrawBufferRegion, vFuiiiiii)
+
+//GL_ARB_sparse_buffer
+GO(glBufferPageCommitmentARB, vFullC)
+GO(glNamedBufferPageCommitmentARB, vFullC)
+GO(glNamedBufferPageCommitmentEXT, vFullC)
+
+//GL_ARB_sparse_texture
+GO(TexPageCommitmentARB, vFiiiiiiiii)
+
+//glx
+GO(glXBindHyperpipeSGIX, iFpi)
+GO(glXBindTexImageEXT, vFppip)
+GO(glXBindSwapBarrierNV, iFpuu)
+GO(glXBindSwapBarrierSGIX,vFii)
+GO(glXBindVideoCaptureDeviceNV, iFpup)
+GO(glXBindVideoDeviceNV, iFpuup)
+GO(glXBindVideoImageNV, iFpppi)
+GO(glXChangeDrawableAttributes, vFp)
+GO(glXChangeDrawableAttributesSGIX, vFp)
+GO(glXClientInfo, vFv)
+GO(glXCopyContext, vFppp)
+GO(glXChooseFBConfig, pFpipp)
+GO(glXChooseFBConfigSGIX, pFpipp)
+GO(glXCreateContext,pFpppi)
+GO(glXCreateContextAttribsARB, pFpppip)
+GO(glXCreateContextWithConfigSGIX, pFppipi)
+GO(glXCreateGLXPbufferSGIX, pFppuup)
+GO(glXCreateGLXPixmap, pFppp)
+GO(glXCreateGLXPixmapWithConfigSGIX, pFppp)
+GO(glXCreateGLXVideoSourceSGIX, pFpippip)
+GO(glXCreateNewContext, pFppipi)
+GO(glXCreatePbuffer, pFppp)
+GO(glXCreatePixmap, pFppp)
+GO(glXCreateWindow, pFpppp)
+GO(glXChooseVisual, pFpip)
+GO(glXCopyImageSubDataNV, vFppuiiiiipuiiiiiiii)
+GO(glXCopySubBufferMESA, vFppiiii)
+GO(glXDestroyContext,vFpp)
+GO(glXDestroyGLXPbufferSGIX,vFpp)
+GO(glXDestroyGLXPixmap,vFpp)
+GO(glXDestroyGLXVideoSourceSGIX,vFpp)
+GO(glXDestroyHyperpipeConfigSGIX,iFpi)
+GO(glXDestroyPbuffer,vFpp)
+GO(glXDestroyPixmap,vFpp)
+GO(glXDestroyWindow,vFpp)
+GO(glXEnumerateVideoCaptureDevicesNV, pFpip)
+GO(glXEnumerateVideoDevicesNV, pFpip)
+GO(glXFreeContextEXT, vFpp)
+GO(glXGetClientString, pFpi)
+GO(glXGetConfig, iFppip)
+GO(glXGetContextIDEXT, uFp)
+GO(glXGetCurrentContext, pFv)
+GO(glXGetCurrentDisplay, pFv)
+GO(glXGetCurrentDrawable, pFv)
+GO(glXGetCurrentReadDrawable, pFv)
+GO(glXGetDrawableAttributes,vFi)
+GO(glXGetDrawableAttributesSGIX,vFi)
+GO(glXGetFBConfigs,pFpip)
+GO(glXGetFBConfigAttrib, iFppip)
+GO(glXGetFBConfigAttribSGIX, iFppip)
+GO(glXGetFBConfigFromVisualSGIX, pFpp)
+GO(glXGetFBConfigsSGIX,pFpip)
+GO(glXGetSelectedEvent, vFppp)
+GO(glXGetSelectedEventSGIX, vFppp)
+GO(glXGetVideoDeviceNV, iFpiip)
+GO(glXGetVideoInfoNV, iFpippp)
+GO(glXGetVideoSyncSGI, iFp)
+GO(glXGetVisualConfigs,pFpp)
+GO(glXGetVisualFromFBConfig, pFpp)
+GO(glXGetVisualFromFBConfigSGIX, pFpp)
+GO(glXHyperpipeAttribSGIX,iFpiiip)
+//GO(glXHyperpipeConfigSGIX, iFpiipp)
+GO(glXImportContextEXT, pFpu)
+GO(glXIsDirect,iFpp)
+GO(glXJoinSwapGroupNV, iFppu)
+GO(glXJoinSwapGroupSGIX,vFpp)
+GO(glXLockVideoCaptureDeviceNV, vFpp)
+GO(glXMakeContextCurrent,iFpppp)
+GO(glXMakeCurrent,iFppp)
+GO(glXQueryContext,iFppip)
+GO(glXQueryContextInfoEXT,iFppip)
+GO(glXQueryDrawable, iFppip)
+GO(glXQueryExtension, iFppp)
+GO(glXQueryExtensionsString,pFpi)
+GO(glXQueryFrameCountNV, iFpip)
+GO(glXQueryGLXPbufferSGIX, vFppip)
+GO(glXQueryHyperpipeAttribSGIX,iFpiiip)
+GO(glXQueryHyperpipeBestAttribSGIX,iFpiiipp)
+GO(glXQueryHyperpipeConfigSGIX,pFpip)
+GO(glXQueryHyperpipeNetworkSGIX,pFpp)
+GO(glXQueryMaxSwapBarriersSGIX,pFpp) //?
+GO(glXQueryMaxSwapGroupsNV, iFpipp)
+GO(glXQueryServerString,pFpii)
+GO(glXQuerySwapGroupNV, iFpipp)
+GO(glXQueryVersion,iFppp)
+GO(glXQueryVideoCaptureDeviceNV, iFppip)
+GO(glXReleaseTexImageEXT, vFppi)
+GO(glXReleaseVideoCaptureDeviceNV, vFpp)
+GO(glXReleaseVideoDeviceNV, iFpip)
+GO(glXReleaseVideoImageNV, iFpp)
+//GO(glXRender, vFv)
+//GO(glXRenderLarge, vFv)
+GO(glXResetFrameCountNV, iFpi)
+GO(glXSelectEvent, vFppu)
+GO(glXSelectEventSGIX, vFppu)
+GO(glXSendPbufferToVideoNV, iFppipi)
+GO(glXSwapBuffers,vFpp)
+GO(glXUseXFont,vFpiii)
+//GO(glXVendorPrivate, vFv)
+//GO(glXVendorPrivateWithReply, vFv)
+GO(glXWaitGL,vFv)
+GO(glXWaitVideoSyncSGI, iFiip)
+GO(glXWaitX,vFv)
+
+GOM(glXGetProcAddress, pFEp)
+GOM(glXGetProcAddressARB, pFEp)
+
+//GLX_MESA_query_renderer
+GO(glXQueryRendererIntegerMESA, iFpiiip)
+GO(glXQueryCurrentRendererIntegerMESA, iFip)
+GO(glXQueryRendererStringMESA, pFpiii)
+GO(glXQueryCurrentRendererStringMESA, pFi)
+
+//GLX_OML_sync_control
+GO(glXGetSyncValuesOML, iFppppp)
+GO(glXGetMscRateOML, iFpppp)
+GO(glXSwapBuffersMscOML, IFppIII)
+GO(glXWaitForMscOML, iFppIIIppp)
+GO(glXWaitForSbcOML, iFppIppp)
+
+//GLX_EXT_swap_control
+GOM(glXSwapIntervalEXT, vFppi)   //%noE
+//GLX_EXT_swap_control_tear
+//nothing
+
+//GLX_MESA_swap_control
+GOM(glXSwapIntervalMESA, iFi)    //%noE
+GO(glXGetSwapIntervalMESA, iFv)
+
+//GLX_SGI_swap_control
+GO(glXSwapIntervalSGI,iFi)
+
+//GLX_NV_vertex_array_range
+GO(glXAllocateMemoryNV, pFlfff)
+GO(glXFreeMemoryNV, vFp)
+
+//GLX_ARB_????
+GO(glSpecializeShaderARB, vFupupp)
+
+//GL_EXT_debug_label
+GO(glGetObjectLabelEXT, vFuuipp)
+GO(glLabelObjectEXT, vFuuip)
+
+//GL_EXT_debug_marker
+GO(glInsertEventMarkerEXT, vFip)
+GO(glPushGroupMarkerEXT, vFip)
+GO(glPopGroupMarkerEXT, vFv)
+
+//GL_KHR_blend_equation_advanced
+GO(glBlendBarrierKHR, vFv)
+
+//Some various other extension
+GO(glResolveMultisampleFramebufferAPPLE, vFv)
+GO(glTexPageCommitmentARB, vFuiiiiiiiC)
+
+//GL_ARB_sample_locations
+GO(glFramebufferSampleLocationsfvARB, vFuuip)
+GO(glNamedFramebufferSampleLocationsfvARB, vFuuip)
+GO(glEvaluateDepthValuesARB, vFv)
+
+//GL_ARB_parallel_shader_compile
+GO(glMaxShaderCompilerThreadsARB, vFu)
+
+//GL_ARB_indirect_parameters
+GO(glMultiDrawArraysIndirectCountARB, vFuplii)
+GO(glMultiDrawElementsIndirectCountARB, vFuuplii)
+
+//GL_ARB_gpu_shader_int64
+GO(glUniform1i64ARB, vFiI)
+GO(glUniform2i64ARB, vFiII)
+GO(glUniform3i64ARB, vFiIII)
+GO(glUniform4i64ARB, vFiIIII)
+GO(glUniform1i64vARB, vFiip)
+GO(glUniform2i64vARB, vFiip)
+GO(glUniform3i64vARB, vFiip)
+GO(glUniform4i64vARB, vFiip)
+GO(glUniform1ui64ARB, vFiU)
+GO(glUniform2ui64ARB, vFiUU)
+GO(glUniform3ui64ARB, vFiUUU)
+GO(glUniform4ui64ARB, vFiUUUU)
+GO(glUniform1ui64vARB, vFiip)
+GO(glUniform2ui64vARB, vFiip)
+GO(glUniform3ui64vARB, vFiip)
+GO(glUniform4ui64vARB, vFiip)
+GO(glGetUniformi64vARB, vFuip)
+GO(glGetUniformui64vARB, vFuip)
+GO(glGetnUniformi64vARB, vFuiip)
+GO(glGetnUniformui64vARB, vFuiip)
+GO(glProgramUniform1i64ARB, vFuiI)
+GO(glProgramUniform2i64ARB, vFuiII)
+GO(glProgramUniform3i64ARB, vFuiIII)
+GO(glProgramUniform4i64ARB, vFuiIIII)
+GO(glProgramUniform1i64vARB, vFuiip)
+GO(glProgramUniform2i64vARB, vFuiip)
+GO(glProgramUniform3i64vARB, vFuiip)
+GO(glProgramUniform4i64vARB, vFuiip)
+GO(glProgramUniform1ui64ARB, vFuiU)
+GO(glProgramUniform2ui64ARB, vFuiUU)
+GO(glProgramUniform3ui64ARB, vFuiUUU)
+GO(glProgramUniform4ui64ARB, vFuiUUUU)
+GO(glProgramUniform1ui64vARB, vFuiip)
+GO(glProgramUniform2ui64vARB, vFuiip)
+GO(glProgramUniform3ui64vARB, vFuiip)
+GO(glProgramUniform4ui64vARB, vFuiip)
+
+//GL_ARB_compute_variable_group_size
+GO(glDispatchComputeGroupSizeARB, vFuuuuuu)
+
+//GL_ARB_ES3_2_compatibility
+GO(glPrimitiveBoundingBoxARB, vFffffffff)
+
+//GL_ARB_bindless_texture
+GO(glGetTextureHandleARB, UFu)
+GO(glGetTextureSamplerHandleARB, UFuu)
+GO(glMakeTextureHandleResidentARB, vFU)
+GO(glMakeTextureHandleNonResidentARB, vFU)
+GO(glGetImageHandleARB, UFuiCiu)
+GO(glMakeImageHandleResidentARB, vFUu)
+GO(glMakeImageHandleNonResidentARB, vFU)
+GO(glUniformHandleui64ARB, vFiU)
+GO(glUniformHandleui64vARB, vFiip)
+GO(glProgramUniformHandleui64ARB, vFuiU)
+GO(glProgramUniformHandleui64vARB, vFuiip)
+GO(glIsTextureHandleResidentARB, CFU)
+GO(glIsImageHandleResidentARB, CFU)
+GO(glVertexAttribL1ui64ARB, vFuU)
+GO(glVertexAttribL1ui64vARB, vFup)
+GO(glGetVertexAttribLui64vARB, vFuup)
+
+//GL_OES_EGL_image
+GO(glEGLImageTargetTexture2DOES, vFup)
+GO(glEGLImageTargetRenderbufferStorageOES, vFup)
+
+//GL_MESA_program_debug
+GOM(glProgramCallbackMESA, vFEipp)
+GO(glGetProgramRegisterfvMESA, vFilpp)
+
+//GL_????_ATI
+GO(glBlendEquationSeparateATI, vFuu)
+
+//GL_AMD_interleaved_elements
+GO(glVertexAttribParameteriAMD, vFuui)
+
+//GL_AMD_occlusion_query_event
+GO(glQueryObjectParameteruiAMD, vFuuuu)
+
+//GL_EXT_raster_multisample
+GO(glRasterSamplesEXT, vFuC)
+
+//GL_INTEL_performance_query
+GO(glBeginPerfQueryINTEL, vFu)
+GO(glCreatePerfQueryINTEL, vFup)
+GO(glDeletePerfQueryINTEL, vFu)
+GO(glEndPerfQueryINTEL, vFu)
+GO(glGetFirstPerfQueryIdINTEL, vFp)
+GO(glGetNextPerfQueryIdINTEL, vFup)
+GO(glGetPerfCounterInfoINTEL, vFuuupupppppp)
+GO(glGetPerfQueryDataINTEL, vFuuipp)
+GO(glGetPerfQueryIdByNameINTEL, vFpp)
+GO(glGetPerfQueryInfoINTEL, vFuuppppp)
+
+//GL_NV_bindless_multi_draw_indirect
+GO(glMultiDrawArraysIndirectBindlessNV, vFupiii)
+GO(glMultiDrawElementsIndirectBindlessNV, vFuupiii)
+
+//GL_NV_bindless_multi_draw_indirect_count
+GO(glMultiDrawArraysIndirectBindlessCountNV, vFupiiii)
+GO(glMultiDrawElementsIndirectBindlessCountNV, vFuupiiii)
+
+//GL_NV_blend_equation_advanced
+GO(glBlendParameteriNV, vFui)
+GO(glBlendBarrierNV, vFv)
+
+//GL_NV_command_list
+GO(glCreateStatesNV, vFip)
+GO(glDeleteStatesNV, vFip)
+GO(glIsStateNV, CFu)
+GO(glStateCaptureNV, vFuu)
+GO(glGetCommandHeaderNV, uFuu)
+GO(glGetStageIndexNV, WFu)
+GO(glDrawCommandsNV, vFuuppu)
+GO(glDrawCommandsAddressNV, vFuppu)
+GO(glDrawCommandsStatesNV, vFuppppu)
+GO(glDrawCommandsStatesAddressNV, vFppppu)
+GO(glCreateCommandListsNV, vFip)
+GO(glDeleteCommandListsNV, vFip)
+GO(glIsCommandListNV, CFu)
+GO(glListDrawCommandsStatesClientNV, vFuuppppu)
+GO(glCommandListSegmentsNV, vFuu)
+GO(glCompileCommandListNV, vFu)
+GO(glCallCommandListNV, vFu)
+
+//GL_NV_conservative_raster
+GO(glSubpixelPrecisionBiasNV, vFuu)
+
+//GL_NV_fragment_coverage_to_color
+GO(glFragmentCoverageColorNV, vFu)
+
+//GL_NV_framebuffer_mixed_samples
+GO(glCoverageModulationTableNV, vFip)
+GO(glGetCoverageModulationTableNV, vFip)
+GO(glCoverageModulationNV, vFu)
+
+//GL_NV_internalformat_sample_query
+GO(glGetInternalformatSampleivNV, vFuuiuip)
+
+//GL_NV_path_rendering
+GO(glGenPathsNV, uFi)
+GO(glDeletePathsNV, vFui)
+GO(glIsPathNV, CFu)
+GO(glPathCommandsNV, vFuipiup)
+GO(glPathCoordsNV, vFuiup)
+GO(glPathSubCommandsNV, vFuiiipiup)
+GO(glPathSubCoordsNV, vFuiiup)
+GO(glPathStringNV, vFuuip)
+GO(glPathGlyphsNV, vFuupuiupuuf)
+GO(glPathGlyphRangeNV, vFuupuuiuuf)
+GO(glWeightPathsNV, vFuipp)
+GO(glCopyPathNV, vFuu)
+GO(glInterpolatePathsNV, vFuuuf)
+GO(glTransformPathNV, vFuuup)
+GO(glPathParameterivNV, vFuup)
+GO(glPathParameteriNV, vFuui)
+GO(glPathParameterfvNV, vFuup)
+GO(glPathParameterfNV, vFuuf)
+GO(glPathDashArrayNV, vFuip)
+GO(glPathStencilFuncNV, vFuiu)
+GO(glPathStencilDepthOffsetNV, vFff)
+GO(glStencilFillPathNV, vFuuu)
+GO(glStencilStrokePathNV, vFuiu)
+GO(glStencilFillPathInstancedNV, vFiupuuuup)
+GO(glStencilStrokePathInstancedNV, vFiupuiuup)
+GO(glPathCoverDepthFuncNV, vFu)
+GO(glCoverFillPathNV, vFuu)
+GO(glCoverStrokePathNV, vFuu)
+GO(glCoverFillPathInstancedNV, vFiupuuup)
+GO(glCoverStrokePathInstancedNV, vFiupuuup)
+GO(glGetPathParameterivNV, vFuup)
+GO(glGetPathParameterfvNV, vFuup)
+GO(glGetPathCommandsNV, vFup)
+GO(glGetPathCoordsNV, vFup)
+GO(glGetPathDashArrayNV, vFup)
+GO(glGetPathMetricsNV, vFuiupuip)
+GO(glGetPathMetricRangeNV, vFuuiip)
+GO(glGetPathSpacingNV, vFuiupuffup)
+GO(glIsPointInFillPathNV, CFuuff)
+GO(glIsPointInStrokePathNV, CFuff)
+GO(glGetPathLengthNV, fFuii)
+GO(glPointAlongPathNV, CFuiifpppp)
+GO(glMatrixLoad3x2fNV, vFup)
+GO(glMatrixLoad3x3fNV, vFup)
+GO(glMatrixLoadTranspose3x3fNV, vFup)
+GO(glMatrixMult3x2fNV, vFup)
+GO(glMatrixMult3x3fNV, vFup)
+GO(glMatrixMultTranspose3x3fNV, vFup)
+GO(glStencilThenCoverFillPathNV, vFuuuu)
+GO(glStencilThenCoverStrokePathNV, vFuiuu)
+GO(glStencilThenCoverFillPathInstancedNV, vFiupuuuuup)
+GO(glStencilThenCoverStrokePathInstancedNV, vFiupuiuuup)
+GO(glPathGlyphIndexRangeNV, uFupuufp)
+GO(glPathGlyphIndexArrayNV, uFuupuuiuf)
+GO(glPathMemoryGlyphIndexArrayNV, uFuulpiuiuf)
+GO(glProgramPathFragmentInputGenNV, vFuiuip)
+GO(glGetProgramResourcefvNV, vFuuuipipp)
+GO(glPathColorGenNV, vFuuup)
+GO(glPathTexGenNV, vFuuip)
+GO(glPathFogGenNV, vFu)
+GO(glGetPathColorGenivNV, vFuup)
+GO(glGetPathColorGenfvNV, vFuup)
+GO(glGetPathTexGenivNV, vFuup)
+GO(glGetPathTexGenfvNV, vFuup)
+
+
+//GL_NV_sample_locations
+GO(glFramebufferSampleLocationsfvNV, vFuuip)
+GO(glNamedFramebufferSampleLocationsfvNV, vFuuip)
+GO(glResolveDepthValuesNV, vFv)
+
+//GL_KHR_robustness
+GO(glGetGraphicsResetStatusKHR, iFv)
+GO(glReadnPixelsKHR, vFiilliilp)
+GO(glGetnUniformfvKHR, vFuilp)
+GO(glGetnUniformivKHR, vFuilp)
+GO(glGetnUniformuivKHR, vFuilp)
+
+// GLES stuff
+GO(glDiscardFramebuffer, vFilp)
+GO(glDiscardFramebufferARB, vFilp)
+GO(glDiscardFramebufferEXT, vFilp)
+GO(glDiscardFramebufferOES, vFilp)
+GO(glDiscardFramebufferANGLE, vFilp)
+GO(glDiscardFramebufferNV, vFilp)
+GO(glBlendBarrier, vFv)
+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(glActiveShaderProgramEXT, vFuu)
+GO(glBindProgramPipelineEXT, vFu)
+GO(glCreateShaderProgramvEXT, uFilp)
+GO(glDeleteProgramPipelinesEXT, vFilu)
+GO(glGenProgramPipelinesEXT, vFlp)
+GO(glGetProgramPipelineInfoLogEXT, vFulpp)
+GO(glGetProgramPipelineivEXT, vFuip)
+GO(glIsProgramPipelineEXT, iFu)
+GO(glUseProgramStagesEXT, vFuuu)
+GO(glValidateProgramPipelineEXT, vFu)
+GO(glPrimitiveBoundingBox, vFffffffff)
+
+// GL_EXT_window_rectangles
+GO(glWindowRectanglesEXT, vFuip)
+
+// GL_EXT_memory_object
+GO(glGetUnsignedBytevEXT, vFup)
+GO(glGetUnsignedBytei_vEXT, vFuup)
+GO(glDeleteMemoryObjectsEXT, vFip)
+GO(glIsMemoryObjectEXT, CFu)
+GO(glCreateMemoryObjectsEXT, vFip)
+GO(glMemoryObjectParameterivEXT, vFuup)
+GO(glGetMemoryObjectParameterivEXT, vFuup)
+GO(glTexStorageMem2DEXT, vFuiuiiuU)
+GO(glTexStorageMem2DMultisampleEXT, vFuiuiiCuU)
+GO(glTexStorageMem3DEXT, vFuiuiiiuU)
+GO(glTexStorageMem3DMultisampleEXT, vFuiuiiiCuU)
+GO(glBufferStorageMemEXT, vFuluU)
+GO(glTextureStorageMem2DEXT, vFuiuiiuU)
+GO(glTextureStorageMem2DMultisampleEXT, vFuiuiiCuU)
+GO(glTextureStorageMem3DEXT, vFuiuiiiuU)
+GO(glTextureStorageMem3DMultisampleEXT, vFuiuiiiCuU)
+GO(glNamedBufferStorageMemEXT, vFuluU)
+GO(glTexStorageMem1DEXT, vFuiuiuU)
+GO(glTextureStorageMem1DEXT, vFuiuiuU)
+
+// GL_EXT_semaphore
+GO(glGenSemaphoresEXT, vFip)
+GO(glDeleteSemaphoresEXT, vFip)
+GO(glIsSemaphoreEXT, CFu)
+GO(glSemaphoreParameterui64vEXT, vFuup)
+GO(glGetSemaphoreParameterui64vEXT, vFuup)
+GO(glWaitSemaphoreEXT, vFuupupp)
+GO(glSignalSemaphoreEXT, vFuupupp)
+
+// GL_EXT_memory_object_fd
+GO(glImportMemoryFdEXT, vFuUui)
+
+// GL_KHR_parallel_shader_compile
+GO(glMaxShaderCompilerThreadsKHR, vFu)
+
+// GL_AMD_framebuffer_multisample_advanced
+GO(glRenderbufferStorageMultisampleAdvancedAMD, vFuiiuii)
+GO(glNamedRenderbufferStorageMultisampleAdvancedAMD, vFuiiuii)
+
+// GL_EXT_semaphore_fd
+GO(glImportSemaphoreFdEXT, vFuui)
+
+// GLX_SGI_make_current_read
+GO(glXMakeCurrentReadSGI, iFpppp)
+GO(glXGetCurrentReadDrawableSGI, pFv)
+
+// GL_IMG_multisampled_render_to_texture
+GO(glFramebufferTexture2DMultisampleIMG, vFiiiuil)
+GO(glRenderbufferStorageMultisampleIMG, vFilill)
+
+// GL_ANGLE_translated_shader_source
+GO(glGetTranslatedShaderSourceANGLE, vFulpp)
+
+// GL_EXT_EGL_image_storage
+GO(glEGLImageTargetTexStorageEXT, vFupp)
+GO(glEGLImageTargetTextureStorageEXT, vFupp)
+
+// GL_EXT_external_buffer
+GO(glBufferStorageExternalEXT, vFullpu)
+GO(glNamedBufferStorageExternalEXT, vFullpu)
+
+// GL_EXT_memory_object_win32
+GO(glImportMemoryWin32HandleEXT, vFuUup)
+GO(glImportMemoryWin32NameEXT, vFuUup)
+
+// GL_EXT_semaphore_win32
+GO(glImportSemaphoreWin32HandleEXT, vFuup)
+GO(glImportSemaphoreWin32NameEXT, vFuup)
+
+// GL_EXT_shader_framebuffer_fetch_non_coherent
+GO(glFramebufferFetchBarrierEXT, vFv)
+
+// GL_EXT_win32_keyed_mutex
+GO(glAcquireKeyedMutexWin32EXT, CFuUu)
+GO(glReleaseKeyedMutexWin32EXT, CFuU)
+
+// GL_INTEL_framebuffer_CMAA
+GO(glApplyFramebufferAttachmentCMAAINTEL, vFv)
+
+// GL_NV_alpha_to_coverage_dither_control
+GO(glAlphaToCoverageDitherControlNV, vFu)
+
+// GL_NV_clip_space_w_scaling
+GO(glViewportPositionWScaleNV, vFuff)
+
+// GL_NV_conservative_raster_dilate
+GO(glConservativeRasterParameterfNV, vFuf)
+
+// GL_NV_conservative_raster_pre_snap_triangles
+GO(glConservativeRasterParameteriNV, vFui)
+
+// GL_NV_draw_vulkan_image
+GO(glDrawVkImageNV, vFUufffffffff)
+GOM(glGetVkProcAddrNV, pFEp)
+GO(glWaitVkSemaphoreNV, vFU)
+GO(glSignalVkSemaphoreNV, vFU)
+GO(glSignalVkFenceNV, vFU)
+
+// GL_NV_gpu_multicast
+GO(glRenderGpuMaskNV, vFu)
+GO(glMulticastBufferSubDataNV, vFuullp)
+GO(glMulticastCopyBufferSubDataNV, vFuuuulll)
+GO(glMulticastCopyImageSubDataNV, vFuuuuiiiiuuiiiiiii)
+GO(glMulticastBlitFramebufferNV, vFuuiiiiiiiiuu)
+GO(glMulticastFramebufferSampleLocationsfvNV, vFuuuip)
+GO(glMulticastBarrierNV, vFv)
+GO(glMulticastWaitSyncNV, vFuu)
+GO(glMulticastGetQueryObjectivNV, vFuuup)
+GO(glMulticastGetQueryObjectuivNV, vFuuup)
+GO(glMulticastGetQueryObjecti64vNV, vFuuup)
+GO(glMulticastGetQueryObjectui64vNV, vFuuup)
+
+// GL_NV_memory_attachment
+GO(glGetMemoryObjectDetachedResourcesuivNV, vFuuiip)
+GO(glResetMemoryObjectParameterNV, vFuu)
+GO(glTexAttachMemoryNV, vFuuU)
+GO(glBufferAttachMemoryNV, vFuuU)
+GO(glTextureAttachMemoryNV, vFuuU)
+GO(glNamedBufferAttachMemoryNV, vFuuU)
+
+// GL_NV_mesh_shader
+GO(glDrawMeshTasksNV, vFuu)
+GO(glDrawMeshTasksIndirectNV, vFl)
+GO(glMultiDrawMeshTasksIndirectNV, vFlii)
+GO(glMultiDrawMeshTasksIndirectCountNV, vFllii)
+
+// GL_NV_query_resource
+GO(glQueryResourceNV, iFuiup)
+
+// GL_NV_query_resource_tag
+GO(glGenQueryResourceTagNV, vFip)
+GO(glDeleteQueryResourceTagNV, vFip)
+GO(glQueryResourceTagNV, vFip)
+
+// GL_NV_scissor_exclusive
+GO(glScissorExclusiveArrayvNV, vFuip)
+GO(glScissorExclusiveNV, vFiiii)
+
+// GL_NV_shading_rate_image
+GO(glBindShadingRateImageNV, vFu)
+GO(glShadingRateImagePaletteNV, vFuuip)
+GO(glGetShadingRateImagePaletteNV, vFuup)
+GO(glShadingRateImageBarrierNV, vFC)
+GO(glShadingRateSampleOrderNV, vFu)
+GO(glShadingRateSampleOrderCustomNV, vFuup)
+GO(glGetShadingRateSampleLocationivNV, vFuuup)
+
+// GL_NV_viewport_swizzle
+GO(glViewportSwizzleNV, vFuuuuu)
+
+// GL_OVR_multiview
+GO(glFramebufferTextureMultiviewOVR, vFuuuiii)
+GO(glNamedFramebufferTextureMultiviewOVR, vFuiuiil)
+
+// GL_AMD_framebuffer_sample_positions
+GO(glFramebufferSamplePositionsfvAMD, vFuuup)
+GO(glNamedFramebufferSamplePositionsfvAMD, vFuuup)
+GO(glGetFramebufferParameterfvAMD, vFuuuuip)
+GO(glGetNamedFramebufferParameterfvAMD, vFuuuuip)
+
+// GL_ANGLE_framebuffer_blit
+GO(glBlitFramebufferANGLE, vFiiiiiiiiui)
+
+// GL_ANGLE_framebuffer_multisample
+GO(glRenderbufferStorageMultisampleANGLE, vFilill)
+
+// GL_ANGLE_instanced_arrays
+GO(glDrawArraysInstancedANGLE, vFiill)
+GO(glDrawElementsInstancedANGLE, vFilipl)
+GO(glVertexAttribDivisorANGLE, vFuu)
+
+// GL_ANGLE_timer_query
+GO(glBeginQueryANGLE, vFiu)
+GO(glDeleteQueriesANGLE, vFlp)
+GO(glEndQueryANGLE, vFi)
+GO(glGenQueriesANGLE, vFlp)
+GO(glGetQueryObjecti64vANGLE, vFuip)
+GO(glGetQueryObjectivANGLE, vFuip)
+GO(glGetQueryObjectui64vANGLE, vFuip)
+GO(glGetQueryObjectuivANGLE, vFuip)
+GO(glGetQueryivANGLE, vFiip)
+GO(glIsQueryANGLE, iFu)
+GO(glQueryCounterANGLE, vFui)
+
+// GL_APPLE_copy_texture_levels
+GO(glCopyTextureLevelsAPPLE, vFuuil)
+
+// GL_APPLE_framebuffer_multisample
+GO(glRenderbufferStorageMultisampleAPPLE, vFilill)
+
+// GL_APPLE_sync
+GO(glFenceSyncAPPLE, pFiu)
+GO(glIsSyncAPPLE, iFp)
+GO(glDeleteSyncAPPLE, vFp)
+GO(glClientWaitSyncAPPLE, iFpuU)
+GO(glWaitSyncAPPLE, vFpuU)
+GO(glGetInteger64vAPPLE, vFip)
+GO(glGetSyncivAPPLE, vFpilpp)
+
+// GL_EXT_base_instance
+GO(glDrawArraysInstancedBaseInstanceEXT, vFiillu)
+GO(glDrawElementsInstancedBaseInstanceEXT, vFiliplu)
+GO(glDrawElementsInstancedBaseVertexBaseInstanceEXT, vFilipliu)
+
+// GL_EXT_blend_func_extended
+GO(glBindFragDataLocationIndexedEXT, vFuuup)
+GO(glGetProgramResourceLocationIndexEXT, iFuip)
+GO(glGetFragDataIndexEXT, iFup)
+
+// GL_EXT_buffer_storage
+GO(glBufferStorageEXT, vFilpu)
+
+// GL_EXT_clear_texture
+GO(glClearTexImageEXT, vFuiiip)
+GO(glClearTexSubImageEXT, vFuiiiillliip)
+
+// GL_EXT_copy_image
+GO(glCopyImageSubDataEXT, vFuiiiiiuiiiiilll)
+
+// GL_EXT_draw_buffers
+GO(glDrawBuffersEXT, vFlp)
+
+// GL_EXT_draw_buffers_indexed
+GO(glEnableiEXT, vFiu)
+GO(glDisableiEXT, vFiu)
+GO(glBlendEquationiEXT, vFui)
+GO(glBlendEquationSeparateiEXT, vFuii)
+GO(glBlendFunciEXT, vFuii)
+GO(glBlendFuncSeparateiEXT, vFuiiii)
+GO(glColorMaskiEXT, vFuiiii)
+GO(glIsEnablediEXT, iFui)
+
+// GL_EXT_draw_elements_base_vertex
+GO(glDrawElementsBaseVertexEXT, vFilipi)
+GO(glDrawRangeElementsBaseVertexEXT, vFilulipi)
+GO(glDrawElementsInstancedBaseVertexEXT, vFilipli)
+
+// GL_OES_draw_elements_base_vertex
+GO(glDrawElementsBaseVertexOES, vFilipi)
+GO(glDrawRangeElementsBaseVertexOES, vFiuulipi)
+GO(glDrawElementsInstancedBaseVertexOES, vFilipli)
+GO(glMultiDrawElementsBaseVertexEXT, vFipiplp)
+
+// GL_EXT_fragment_lighting
+GO(glFragmentLightModeliEXT, vFii)
+GO(glFragmentLightModelfEXT, vFif)
+GO(glFragmentLightModelivEXT, vFip)
+GO(glFragmentLightModelfvEXT, vFip)
+GO(glFragmentLightiEXT, vFiii)
+GO(glFragmentLightfEXT, vFiif)
+GO(glFragmentLightivEXT, vFiip)
+GO(glFragmentLightfvEXT, vFiip)
+GO(glGetFragmentLightivEXT, vFiip)
+GO(glGetFragmentLightfvEXT, vFiip)
+GO(glFragmentMaterialfEXT, vFiif)
+GO(glFragmentMaterialiEXT, vFiii)
+GO(glFragmentMaterialfvEXT, vFiip)
+GO(glFragmentMaterialivEXT, vFiip)
+GO(glFragmentColorMaterialEXT, vFii)
+GO(glGetFragmentMaterialfvEXT, vFiip)
+GO(glGetFragmentMaterialivEXT, vFiip)
+GO(glLightEnviEXT, vFii)
+
+// GL_EXT_instanced_arrays
+GO(glVertexAttribDivisorEXT, vFuu)
+
+// GL_EXT_map_buffer_range
+GO(glMapBufferRangeEXT, pFillu)
+GO(glFlushMappedBufferRangeEXT, vFill)
+
+// GL_EXT_multi_draw_indirect
+GO(glMultiDrawArraysIndirectEXT, vFipll)
+GO(glMultiDrawElementsIndirectEXT, vFiipll)
+
+// GL_EXT_multiview_draw_buffers
+GO(glReadBufferIndexedEXT, vFii)
+GO(glDrawBuffersIndexedEXT, vFipp)
+GO(glGetIntegeri_vEXT, vFiup)
+
+// GL_EXT_scene_marker
+GO(glBeginSceneEXT, vFv)
+GO(glEndSceneEXT, vFv)
+
+// GL_EXT_shader_pixel_local_storage2
+GO(glFramebufferPixelLocalStorageSizeEXT, vFul)
+GO(glGetFramebufferPixelLocalStorageSizeEXT, lFu)
+GO(glClearPixelLocalStorageuiEXT, vFllp)
+
+// GL_EXT_sparse_texture
+GO(glTexPageCommitmentEXT, vFiiiiillli)
+
+// GL_EXT_texture_storage
+GO(glTexStorage1DEXT, vFuiui)
+GO(glTexStorage2DEXT, vFuiuii)
+GO(glTexStorage3DEXT, vFuiuiii)
+
+// GL_EXT_texture_view
+GO(glTextureViewEXT, vFuiuiuuuu)
+
+// GL_EXT_vertex_array_setXXX
+GO(glCreateArraySetExt, pFv)
+GO(glBindArraySetEXT, vFp)
+GO(glDeleteArraySetsEXT, vFlp)
+
+// GL_INTEL_texture_scissor
+GO(glTexScissorINTEL, vFiff)
+GO(glTexScissorFuncINTEL, vFiii)
+
+// GL_NVX_linked_gpu_multicast
+GO(glLGPUNamedBufferSubDataNVX, vFuullp)
+GO(glLGPUCopyImageSubDataNVX, vFuuuuiiiiuuiiiiiii)
+GO(glLGPUInterlockNVX, vFv)
+
+// GL_NV_3dvision_settings
+GO(glStereoParameteriNV, vFii)
+GO(glStereoParameterfNV, vFif)
+
+// GL_NV_copy_buffer
+GO(glCopyBufferSubDataNV, vFiilll)
+
+// GL_NV_draw_buffers
+GO(glDrawBuffersNV, vFlp)
+
+// GL_NV_draw_instanced
+GO(glDrawArraysInstancedNV, vFiill)
+GO(glDrawElementsInstancedNV, vFilipl)
+
+// GL_NV_framebuffer_blit
+GO(glBlitFramebufferNV, vFiiiiiiiiui)
+
+// GL_NV_framebuffer_multisample
+GO(glRenderbufferStorageMultisampleNV, vFilill)
+
+// GL_NV_instanced_arrays
+GO(glVertexAttribDivisorNV, vFuu)
+
+// GL_NV_non_square_matrices
+GO(glUniformMatrix2x3fvNV, vFilip)
+GO(glUniformMatrix3x2fvNV, vFilip)
+GO(glUniformMatrix2x4fvNV, vFilip)
+GO(glUniformMatrix4x2fvNV, vFilip)
+GO(glUniformMatrix3x4fvNV, vFilip)
+GO(glUniformMatrix4x3fvNV, vFilip)
+
+// GL_NV_polygon_mode
+GO(glPolygonModeNV, vFii)
+
+// GL_NV_texture_array
+GO(glTexImage3DNV, vFiiillliiip)
+GO(glTexSubImage3DNV, vFiiiiillliip)
+GO(glCopyTexSubImage3DNV, vFiiiiiiill)
+GO(glCompressedTexImage3DNV, vFiiilllilp)
+GO(glCompressedTexSubImage3DNV, vFiiiiilllilp)
+GO(glFramebufferTextureLayerNV, vFiiuii)
+
+// GL_NV_viewport_array
+GO(glViewportArrayvNV, vFulp)
+GO(glViewportIndexedfNV, vFuffff)
+GO(glViewportIndexedfvNV, vFup)
+GO(glScissorArrayvNV, vFulp)
+GO(glScissorIndexedNV, vFuiill)
+GO(glScissorIndexedvNV, vFup)
+GO(glDepthRangeArrayfvNV, vFulp)
+GO(glDepthRangeIndexedfNV, vFuff)
+GO(glGetFloati_vNV, vFiup)
+GO(glEnableiNV, vFiu)
+GO(glDisableiNV, vFiu)
+GO(glIsEnablediNV, iFiu)
+
+// GL_OVR_multiview_multisampled_render_to_texture
+GO(glFramebufferTextureMultisampleMultiviewOVR, vFiiuilil)
+
+// GL_QCOM_alpha_test
+GO(glAlphaFuncQCOM, vFif)
+
+// GL_QCOM_driver_control
+GO(glGetDriverControlsQCOM, vFplp)
+GO(glGetDriverControlStringQCOM, vFulpp)
+GO(glEnableDriverControlQCOM, vFu)
+GO(glDisableDriverControlQCOM, vFu)
+
+// GL_QCOM_extended_get
+GO(glExtGetTexturesQCOM, vFpip)
+GO(glExtGetBuffersQCOM, vFpip)
+GO(glExtGetRenderbuffersQCOM, vFpip)
+GO(glExtGetFramebuffersQCOM, vFpip)
+GO(glExtGetTexLevelParameterivQCOM, vFuiiip)
+GO(glExtTexObjectStateOverrideiQCOM, vFiii)
+GO(glExtGetTexSubImageQCOM, vFiiiiillliip)
+GO(glExtGetBufferPointervQCOM, vFip)
+
+// GL_QCOM_extended_get2
+GO(glExtGetShadersQCOM, vFpip)
+GO(glExtGetProgramsQCOM, vFpip)
+GO(glExtIsProgramBinaryQCOM, iFu)
+GO(glExtGetProgramBinarySourceQCOM, vFuipp)
+
+// GL_QCOM_framebuffer_foveated
+GO(glFramebufferFoveationConfigQCOM, vFuuuup)
+GO(glFramebufferFoveationParametersQCOM, vFuuufffff)
+
+// GL_QCOM_shader_framebuffer_fetch_noncoherent
+GO(glFramebufferFetchBarrierQCOM, vFv)
+
+// GL_QCOM_tiled_rendering
+GO(glStartTilingQCOM, vFuuuuu)
+GO(glEndTilingQCOM, vFu)
+
+// GLES fixed point
+GO(glAlphaFuncx, vFii)
+GO(glClearColorx, vFiiii)
+GO(glClearDepthx, vFi)
+GO(glClipPlanex, vFip)
+GO(glColor4x, vFiiii)
+GO(glDepthRangex, vFii)
+GO(glFogx, vFii)
+GO(glFogxv, vFip)
+GO(glFrustumx, vFiiiiii)
+GO(glGetClipPlanex, vFip)
+GO(glGetFixedv, vFip)
+GO(glGetTexEnvxv, vFiip)
+GO(glGetTexParameterxv, vFiip)
+GO(glLightModelx, vFii)
+GO(glLightModelxv, vFip)
+GO(glLightx, vFiii)
+GO(glLightxv, vFiip)
+GO(glLineWidthx, vFi)
+GO(glLoadMatrixx, vFp)
+GO(glMaterialx, vFiii)
+GO(glMaterialxv, vFiip)
+GO(glMultMatrixx, vFp)
+GO(glMultiTexCoord4x, vFiiiii)
+GO(glNormal3x, vFiiii)
+GO(glOrthox, vFiiiiii)
+GO(glPointParameterxv, vFip)
+GO(glPointSizex, vFi)
+GO(glPolygonOffsetx, vFii)
+GO(glRotatex, vFiiii)
+GO(glScalex, vFiii)
+GO(glTexEnvx, vFiii)
+GO(glTexEnvxv, vFiip)
+GO(glTexParameterx, vFiii)
+GO(glTexParameterxv, vFiip)
+GO(glTranslatex, vFiii)
+GO(glAccumx, vFii)
+GO(glBitmapx, vFlliiiip)
+GO(glBlendColorx, vFiiii)
+GO(glClearAccumx, vFiiii)
+GO(glColor3x, vFiii)
+GO(glColor3xv, vFp)
+GO(glColor4xv, vFp)
+GO(glConvolutionParameterx, vFiii)
+GO(glConvolutionParameterxv, vFiip)
+GO(glEvalCoord1x, vFi)
+GO(glEvalCoord1xv, vFp)
+GO(glEvalCoord2x, vFii)
+GO(glEvalCoord2xv, vFp)
+GO(glFeedbackBufferx, vFlip)
+GO(glGetConvolutionParameterxv, vFiip)
+GO(glGetHistogramParameterxv, vFiip)
+GO(glGetLightx, vFiip)
+GO(glGetMapxv, vFiip)
+GO(glGetMaterialx, vFiii)
+GO(glGetTexGenxv, vFiip)
+GO(glGetTexLevelParameterxv, vFiiip)
+GO(glIndexx, vFi)
+GO(glIndexxv, vFp)
+GO(glLoadTransposeMatrixx, vFp)
+GO(glMap1x, vFiiiiii)
+GO(glMap2x, vFiiiiiiiiii)
+GO(glMapGrid1x, vFiii)
+GO(glMapGrid2x, vFiiiii)
+GO(glMultTransposeMatrixx, vFp)
+GO(glMultiTexCoord1x, vFii)
+GO(glMultiTexCoord1xv, vFip)
+GO(glMultiTexCoord2x, vFiii)
+GO(glMultiTexCoord2xv, vFip)
+GO(glMultiTexCoord3x, vFiiii)
+GO(glMultiTexCoord3xv, vFip)
+GO(glMultiTexCoord4xv, vFip)
+GO(glNormal3xv, vFp)
+GO(glPassThroughx, vFi)
+GO(glPixelM, vFiip)
+GO(glPixelSto, vFii)
+GO(glPixelTransferx, vFii)
+GO(glPixelZoomx, vFii)
+GO(glPrioritizeTexturesx, vFlpp)
+GO(glRasterPos2x, vFii)
+GO(glRasterPos2xv, vFp)
+GO(glRasterPos3x, vFiii)
+GO(glRasterPos3xv, vFp)
+GO(glRasterPos4x, vFiiii)
+GO(glRasterPos4xv, vFp)
+GO(glRectx, vFiiii)
+GO(glRectxv, vFpp)
+GO(glTexCoord1x, vFi)
+GO(glTexCoord1xv, vFp)
+GO(glTexCoord2x, vFii)
+GO(glTexCoord2xv, vFp)
+GO(glTexCoord3x, vFiii)
+GO(glTexCoord3xv, vFp)
+GO(glTexCoord4x, vFiiii)
+GO(glTexCoord4xv, vFp)
+GO(glTexGenx, vFiii)
+GO(glTexGenxv, vFiip)
+GO(glVertex2x, vFi)
+GO(glVertex2xv, vFp)
+GO(glVertex3x, vFii)
+GO(glVertex3xv, vFp)
+GO(glVertex4x, vFiii)
+GO(glVertex4xv, vFp)
+
+// GL_OES_point_size
+GO(glPointSizePointerOES, vFilp)
+
+// GL_REGAL_error_string
+GO(glErrorStringREGAL, pFi)
+
+// GL_REGAL_extension_query
+GO(glGetExtensionREGAL, iFp)
+GO(glIsSupportedREGAL, iFp)
+
+//glLogMessageCallbackREGAL
+//glGetProcAddressREGAL
+
+// GL_SGIS_multitexture
+GO(glInterleavedTextureCoordSetsSGIS, vFi)
+GO(glSelectTextureCoordSetSGIS, vFi)
+GO(glSelectTextureSGIS, vFi)
+GO(glSelectTextureTransformSGIS, vFi)
+
+// GL_SGIS_shared_multisample
+GO(glMultisampleSubRectPosSGIS, vFii)
+
+// GL_SGIX_datapipe
+GO(glAddressSpace, vFiu)
+GO(glDataPipe, iFi)
+
+// GL_SGIX_fog_layers
+GO(glFogLayersSGIX, vFlp)
+GO(glGetFogLayersSGIX, vFp)
+
+// GL_SGIX_fog_texture
+GO(glTextureFogSGIX, vFu)
+
+// GL_ANGLE_request_extension
+GO(glDisableExtensionANGLE, vFp)
+GO(glRequestExtensionANGLE, vFp)
+
+// GL_KHR_debug
+GO(glDebugMessageControlKHR, vFiiilpi)
+GO(glDebugMessageInsertKHR, vFiiuilp)
+GOM(glDebugMessageCallbackKHR, vFEpp)
+GO(glGetDebugMessageLogKHR, uFulpppppp)
+GO(glPushDebugGroupKHR, vFiulp)
+GO(glPopDebugGroupKHR, vFv)
+GO(glObjectLabelKHR, vFiulp)
+GO(glGetObjectLabelKHR, vFiulpp)
+GO(glObjectPtrLabelKHR, vFplp)
+GO(glGetObjectPtrLabelKHR, vFplpp)
+GO(glGetPointervKHR, vFip)
+
+// WGL_EXT_swap_control
+GO(wglSwapIntervalEXT, iFi)
+GO(wglGetSwapIntervalEXT, iFv)
+
+// GL_MESA_framebuffer_flip_y
+GO(glFramebufferParameteriMESA, vFuui)
+GO(glGetFramebufferParameterivMESA, vFuup)
+
+// GL_NVX_gpu_multicast2
+GO(glUploadGpuMaskNVX, vFu)
+GO(glMulticastViewportArrayvNVX, vFuuip)
+GO(glMulticastViewportPositionWScaleNVX, vFuuff)
+GO(glMulticastScissorArrayvNVX, vFuuip)
+GO(glAsyncCopyBufferSubDataNVX, uFippuuuulllipp)
+GO(glAsyncCopyImageSubDataNVX, uFippuuuuiiiiuuiiiiiiiipp)
+
+// GL_NVX_progress_fence
+GO(glCreateProgressFenceNVX, uFv)
+GO(glSignalSemaphoreui64NVX, vFuipp)
+GO(glWaitSemaphoreui64NVX, vFuipp)
+GO(glClientWaitSemaphoreui64NVX, vFipp)
+
+// GL_NV_memory_object_sparse
+GO(glBufferPageCommitmentMemNV, vFulluUC)
+GO(glTexPageCommitmentMemNV, vFuiiiiiiiiuUC)
+GO(glNamedBufferPageCommitmentMemNV, vFulluUC)
+GO(glTexturePageCommitmentMemNV, vFuiiiiiiiiuUC)
+
+// GL_NV_vdpau_interop2
+GO(glVDPAURegisterVideoSurfaceWithPictureStructureNV, lFpuipC)
+
+// Base EGL
+GO(eglBindAPI, iFi)
+GO(eglBindTexImage, iFppi)
+GO(eglChooseConfig, iFpppip)
+GO(eglClientWaitSync, iFppiU)
+GO(eglCopyBuffers, iFppp)
+GO(eglCreateContext, pFpppp)
+GO(eglCreateImage, pFppuup)
+GO(eglCreatePbufferFromClientBuffer, pFpippp)
+GO(eglCreatePbufferSurface, pFppp)
+GO(eglCreatePixmapSurface, pFpppp)
+GO(eglCreatePlatformPixmapSurface, pFpppp)
+GO(eglCreatePlatformWindowSurface, pFpppp)
+GO(eglCreateSync, pFpup)
+GO(eglCreateWindowSurface, pFpppp)
+GO(eglDestroyContext, iFpp)
+GO(eglDestroyImage, iFpp)
+GO(eglDestroySurface, iFpp)
+GO(eglDestroySync, iFpp)
+GO(eglGetConfigAttrib, iFppip)
+GO(eglGetConfigs, iFppip)
+GO(eglGetCurrentContext, pFv)
+GO(eglGetCurrentDisplay, pFv)
+GO(eglGetCurrentSurface, pFi)
+GO(eglGetDisplay, pFp)
+GO(eglGetError, iFv)
+GO(eglGetPlatformDisplay, pFppp)
+//GOM(eglGetProcAddress, pFEp)
+GO(eglGetSyncAttrib, iFppip)
+GO(eglInitialize, iFppp)
+GO(eglMakeCurrent, iFpppp)
+GO(eglQueryAPI, iFv)
+GO(eglQueryContext, iFppip)
+GO(eglQueryString, pFpi)
+GO(eglQuerySurface, iFppip)
+GO(eglReleaseTexImage, iFppi)
+GO(eglReleaseThread, iFv)
+GO(eglSurfaceAttrib, iFppii)
+GO(eglSwapBuffers, iFpp)
+GO(eglSwapInterval, iFpi)
+GO(eglTerminate, iFp)
+GO(eglWaitClient, iFv)
+GO(eglWaitGL, iFv)
+GO(eglWaitNative, iFi)
+GO(eglWaitSync, iFppi)
+
+// EGL_KHR_debug
+GOM(eglDebugMessageControlKHR, iFEpp)
+GO(eglQueryDebugKHR, iFip)
+GO(eglLabelObjectKHR, iFpupp)
+
+// EGL_MESA_image_dma_buf_export
+GO(eglExportDMABUFImageQueryMESA, iFppppp)
+GO(eglExportDMABUFImageMESA, iFppppp)
+
+// EGL_ANGLE_sync_control_rate
+GO(eglGetMscRateANGLE, iFpppp)
+
+// EGL_CHROMIUM_sync_control
+GO(eglGetSyncValuesCHROMIUM, iFppppp)
+
+// EGL_EXT_device_query
+GO(eglQueryDeviceAttribEXT, iFpip)
+GO(eglQueryDeviceStringEXT, pFpi)
+GO(eglQueryDisplayAttribEXT, iFpip)
+
+// EGL_EXT_device_enumeration
+GO(eglQueryDevicesEXT, iFipp)
+
+// EGL_EXT_image_dma_buf_import_modifiers
+GO(eglQueryDmaBufFormatsEXT, iFpipp)
+GO(eglQueryDmaBufModifiersEXT, iFpiippp)
+
+// EGL_ANDROID_blob_cache
+GOM(eglSetBlobCacheFuncsANDROID, vFEppp)
+
+// EGL_KHR_swap_buffers_with_damage
+GO(eglSwapBuffersWithDamageKHR, iFpppi)
+
+// EGL_KHR_wait_sync
+GO(eglWaitSyncKHR, iFppi)
+
+// EGL_KHR_image_base
+GO(eglCreateImageKHR, pFppupp)
+GO(eglDestroyImageKHR, iFpp)
+
+// EGL_KHR_fence_sync
+GO(eglCreateSyncKHR, pFpup)
+GO(eglDestroySyncKHR, iFpp)
+GO(eglClientWaitSyncKHR, iFppiU)
+GO(eglGetSyncAttribKHR, iFppip)
+
+// EGL_ANDROID_native_fence_sync
+GO(eglDupNativeFenceFDANDROID, iFpp)
+
+// EGL_NV_post_sub_buffer
+GO(eglPostSubBufferNV, iFppiiii)
+
+// GL_EXT_clip_control
+GO(glClipControlEXT, vFuu)
+
+// GL_EXT_disjoint_timer_query
+GO(glGenQueriesEXT, vFlp)
+GO(glDeleteQueriesEXT, vFlp)
+GO(glIsQueryEXT, iFu)
+GO(glBeginQueryEXT, vFuu)
+GO(glEndQueryEXT, vFu)
+GO(glQueryCounterEXT, vFuu)
+GO(glGetQueryivEXT, vFuup)
+GO(glGetQueryObjectivEXT, vFuup)
+GO(glGetQueryObjectuivEXT, vFuup)
+GO(glGetQueryObjecti64vEXT, vFuup)
+GO(glGetQueryObjectui64vEXT, vFuup)
+GO(glGetInteger64vEXT, vFup)
+
+// GL_OES_mapbuffer
+GO(glGetBufferPointervOES, vFuup)
+GO(glMapBufferOES, pFuu)
+GO(glUnmapBufferOES, iFu)
diff --git a/src/wrapped32/wrappedlibpthread_private.h b/src/wrapped32/wrappedlibpthread_private.h
index fea570ab..73a28343 100755
--- a/src/wrapped32/wrappedlibpthread_private.h
+++ b/src/wrapped32/wrappedlibpthread_private.h
@@ -131,11 +131,11 @@ GO(pthread_rwlockattr_init, iFp)
 GO(pthread_rwlockattr_setkind_np, iFpi)
 // pthread_rwlockattr_setpshared
 // __pthread_rwlock_destroy
-GO(pthread_rwlock_destroy, iFp)
+GOM(pthread_rwlock_destroy, iFp)    //%noE
 GOM(__pthread_rwlock_init, iFpp)    //%noE
 GOM(pthread_rwlock_init, iFpp)  //%noE
 GO(__pthread_rwlock_rdlock, iFp)
-GOM(pthread_rwlock_rdlock, iFp) //%noE
+GO(pthread_rwlock_rdlock, iFp)
 // pthread_rwlock_timedrdlock
 // pthread_rwlock_timedwrlock
 // __pthread_rwlock_tryrdlock
diff --git a/src/wrapped32/wrappedsdl1.c b/src/wrapped32/wrappedsdl1.c
new file mode 100644
index 00000000..f7fe2c80
--- /dev/null
+++ b/src/wrapped32/wrappedsdl1.c
@@ -0,0 +1,538 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#define _GNU_SOURCE         /* See feature_test_macros(7) */
+#include <dlfcn.h>
+
+#include "wrappedlibs.h"
+
+#include "wrapper32.h"
+#include "debug.h"
+#include "bridge.h"
+#include "librarian/library_private.h"
+#include "x64emu.h"
+#include "callback.h"
+#include "librarian.h"
+#include "emu/x64emu_private.h"
+#include "box32context.h"
+#include "sdl1rwops.h"
+#include "gltools.h"
+
+#include "x64trace.h"
+#include "threads.h"
+
+#include "sdl1align32.h"
+
+extern const char* sdl1Name;
+#define LIBNAME sdl1
+
+static int sdl_Yes() {return 1;}
+static int sdl_No() {return 0;}
+EXPORT int my32_SDL_Has3DNow() __attribute__((alias("sdl_No")));
+EXPORT int my32_SDL_Has3DNowExt() __attribute__((alias("sdl_No")));
+EXPORT int my32_SDL_HasAltiVec() __attribute__((alias("sdl_No")));
+EXPORT int my32_SDL_HasMMX() __attribute__((alias("sdl_Yes")));
+EXPORT int my32_SDL_HasMMXExt() __attribute__((alias("sdl_Yes")));
+EXPORT int my32_SDL_HasRDTSC() __attribute__((alias("sdl_Yes")));
+EXPORT int my32_SDL_HasSSE() __attribute__((alias("sdl_Yes")));
+EXPORT int my32_SDL_HasSSE2() __attribute__((alias("sdl_Yes")));
+
+typedef struct {
+  int32_t freq;
+  uint16_t format;
+  uint8_t channels;
+  uint8_t silence;
+  uint16_t samples;
+  uint32_t size;
+  void (*callback)(void *userdata, uint8_t *stream, int32_t len);
+  void *userdata;
+} SDL_AudioSpec;
+
+typedef struct {
+  int32_t freq;
+  uint16_t format;
+  uint8_t channels;
+  uint8_t silence;
+  uint16_t samples;
+  uint32_t size;
+  ptr_t callback; //void (*callback)(void *userdata, uint8_t *stream, int32_t len);
+  ptr_t userdata; //void *userdata;
+} SDL_AudioSpec32;
+
+EXPORT void my32_SDL_Quit();
+
+#define ADDED_FUNCTIONS() \
+    GO(SDL_AllocRW, sdl1_allocrw) \
+    GO(SDL_FreeRW, sdl1_freerw)
+
+#define ADDED_FINI() \
+    my32_SDL_Quit();
+
+#include "generated/wrappedsdl1types32.h"
+
+#include "wrappercallback32.h"
+
+// event filter. Needs to be global, but there is only one, so that's should be fine
+static x64emu_t        *sdl1_evtfilter = NULL;
+static void*           sdl1_evtfnc = NULL;
+static int             sdl1_evtautofree = 0;
+static int             sdl1_evtinside = 0;
+
+#define SUPER() \
+GO(0)   \
+GO(1)   \
+GO(2)   \
+GO(3)   \
+GO(4)
+
+// AudioCallback ...
+#define GO(A)   \
+static uintptr_t my32_AudioCallback_fct_##A = 0;                                      \
+static void my32_AudioCallback_##A(void *userdata, uint8_t *stream, int32_t len)      \
+{                                                                                   \
+    RunFunctionFmt(my32_AudioCallback_fct_##A, "ppi", userdata, stream, len);   \
+}
+SUPER()
+#undef GO
+static void* find_AudioCallback_Fct(void* fct)
+{
+    if(!fct) return fct;
+    if(GetNativeFnc((uintptr_t)fct))  return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if(my32_AudioCallback_fct_##A == (uintptr_t)fct) return my32_AudioCallback_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my32_AudioCallback_fct_##A == 0) {my32_AudioCallback_fct_##A = (uintptr_t)fct; return my32_AudioCallback_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for SDL1 AudioCallback callback\n");
+    return NULL;
+}
+// TimerCallback ...
+#define GO(A)   \
+static uintptr_t my32_TimerCallback_fct_##A = 0;                                                  \
+static uint32_t my32_TimerCallback_##A(uint32_t interval, void *userdata)                         \
+{                                                                                               \
+    return (uint32_t)RunFunctionFmt(my32_TimerCallback_fct_##A, "up", interval, userdata);  \
+}
+SUPER()
+#undef GO
+static void* find_TimerCallback_Fct(void* fct)
+{
+    if(!fct) return fct;
+    if(GetNativeFnc((uintptr_t)fct))  return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if(my32_TimerCallback_fct_##A == (uintptr_t)fct) return my32_TimerCallback_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my32_TimerCallback_fct_##A == 0) {my32_TimerCallback_fct_##A = (uintptr_t)fct; return my32_TimerCallback_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for SDL1 TimerCallback callback\n");
+    return NULL;
+}
+// EvtFilter ...
+#define GO(A)   \
+static uintptr_t my32_EvtFilter_fct_##A = 0;                      \
+static int my32_EvtFilter_##A(void* p)                            \
+{                                                               \
+    return RunFunctionFmt(my32_EvtFilter_fct_##A, "p", p); \
+}
+SUPER()
+#undef GO
+static void* find_EvtFilter_Fct(void* fct)
+{
+    if(!fct) return fct;
+    if(GetNativeFnc((uintptr_t)fct))  return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if(my32_EvtFilter_fct_##A == (uintptr_t)fct) return my32_EvtFilter_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my32_EvtFilter_fct_##A == 0) {my32_EvtFilter_fct_##A = (uintptr_t)fct; return my32_EvtFilter_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for SDL1 EvtFilter callback\n");
+    return NULL;
+}
+static void* reverse_EvtFilterFct(void* fct)
+{
+    if(!fct) return fct;
+    if(CheckBridged(my_lib->w.bridge, fct))
+        return (void*)CheckBridged(my_lib->w.bridge, fct);
+    #define GO(A) if(my32_EvtFilter_##A == fct) return (void*)my32_EvtFilter_fct_##A;
+    SUPER()
+    #undef GO
+    return (void*)AddBridge(my_lib->w.bridge, iFp_32, fct, 0, NULL);
+}
+#undef SUPER
+
+// TODO: track the memory for those callback
+EXPORT int my32_SDL_OpenAudio(x64emu_t* emu, void* d, void* o)
+{
+    SDL_AudioSpec desired = {0};
+    SDL_AudioSpec output = {0};
+    SDL_AudioSpec32 *d_ = d;
+    desired.channels = d_->channels;
+    desired.format = d_->format;
+    desired.freq = d_->freq;
+    desired.samples = d_->samples;
+    desired.silence = d_->silence;
+    desired.size = d_->size;
+    desired.userdata = from_ptrv(d_->userdata);
+    desired.callback = find_AudioCallback_Fct(from_ptrv(d_->callback));
+    int ret = my->SDL_OpenAudio(&desired, &output);
+    if (ret!=0) {
+        return ret;
+    }
+    // put back stuff in place?
+    SDL_AudioSpec32* o_ = o;
+    o_->channels = output.channels;
+    o_->format = output.format;
+    o_->freq = output.freq;
+    o_->samples = output.samples;
+    o_->silence = output.silence;
+    o_->size = output.size;
+    o_->userdata = o_->callback = 0;
+
+    return ret;
+}
+
+//EXPORT void *my32_SDL_LoadBMP_RW(x64emu_t* emu, void* a, int b)
+//{
+//    SDL1_RWops_t* rw = RWNativeStart(emu, (SDL1_RWops_t*)a);
+//    void* r = my->SDL_LoadBMP_RW(rw, b);
+//    if(b==0)
+//        RWNativeEnd(rw);
+//    return r;
+//}
+//EXPORT int32_t my32_SDL_SaveBMP_RW(x64emu_t* emu, void* a, void* b, int c)
+//{
+//    SDL1_RWops_t* rw = RWNativeStart(emu, (SDL1_RWops_t*)a);
+//    int32_t r = my->SDL_SaveBMP_RW(rw, b, c);
+//    if(c==0)
+//        RWNativeEnd(rw);
+//    return r;
+//}
+//EXPORT void *my32_SDL_LoadWAV_RW(x64emu_t* emu, void* a, int b, void* c, void* d, void* e)
+//{
+//    SDL1_RWops_t* rw = RWNativeStart(emu, (SDL1_RWops_t*)a);
+//    void* r = my->SDL_LoadWAV_RW(rw, b, c, d, e);
+//    if(b==0)
+//        RWNativeEnd(rw);
+//    return r;
+//}
+//EXPORT uint32_t my32_SDL_ReadBE16(x64emu_t* emu, void* a)
+//{
+//    SDL1_RWops_t* rw = RWNativeStart(emu, (SDL1_RWops_t*)a);
+//    uint32_t r = my->SDL_ReadBE16(rw);
+//    RWNativeEnd(rw);
+//    return r;
+//}
+//EXPORT uint32_t my32_SDL_ReadBE32(x64emu_t* emu, void* a)
+//{
+//    SDL1_RWops_t* rw = RWNativeStart(emu, (SDL1_RWops_t*)a);
+//    uint32_t r = my->SDL_ReadBE32(rw);
+//    RWNativeEnd(rw);
+//    return r;
+//}
+//EXPORT uint64_t my32_SDL_ReadBE64(x64emu_t* emu, void* a)
+//{
+//    SDL1_RWops_t* rw = RWNativeStart(emu, (SDL1_RWops_t*)a);
+//    uint64_t r = my->SDL_ReadBE64(rw);
+//    RWNativeEnd(rw);
+//    return r;
+//}
+//EXPORT uint32_t my32_SDL_ReadLE16(x64emu_t* emu, void* a)
+//{
+//    SDL1_RWops_t* rw = RWNativeStart(emu, (SDL1_RWops_t*)a);
+//    uint32_t r = my->SDL_ReadLE16(rw);
+//    RWNativeEnd(rw);
+//    return r;
+//}
+//EXPORT uint32_t my32_SDL_ReadLE32(x64emu_t* emu, void* a)
+//{
+//    SDL1_RWops_t* rw = RWNativeStart(emu, (SDL1_RWops_t*)a);
+//    uint32_t r = my->SDL_ReadLE32(rw);
+//    RWNativeEnd(rw);
+//    return r;
+//}
+//EXPORT uint64_t my32_SDL_ReadLE64(x64emu_t* emu, void* a)
+//{
+//    SDL1_RWops_t* rw = RWNativeStart(emu, (SDL1_RWops_t*)a);
+//    uint64_t r = my->SDL_ReadLE64(rw);
+//    RWNativeEnd(rw);
+//    return r;
+//}
+//EXPORT uint32_t my32_SDL_WriteBE16(x64emu_t* emu, void* a, uint16_t v)
+//{
+//    SDL1_RWops_t* rw = RWNativeStart(emu, (SDL1_RWops_t*)a);
+//    uint32_t r = my->SDL_WriteBE16(rw, v);
+//    RWNativeEnd(rw);
+//    return r;
+//}
+//EXPORT uint32_t my32_SDL_WriteBE32(x64emu_t* emu, void* a, uint32_t v)
+//{
+//    SDL1_RWops_t* rw = RWNativeStart(emu, (SDL1_RWops_t*)a);
+//    uint32_t r = my->SDL_WriteBE32(rw, v);
+//    RWNativeEnd(rw);
+//    return r;
+//}
+//EXPORT uint32_t my32_SDL_WriteBE64(x64emu_t* emu, void* a, uint64_t v)
+//{
+//    SDL1_RWops_t* rw = RWNativeStart(emu, (SDL1_RWops_t*)a);
+//    uint32_t r = my->SDL_WriteBE64(rw, v);
+//    RWNativeEnd(rw);
+//    return r;
+//}
+//EXPORT uint32_t my32_SDL_WriteLE16(x64emu_t* emu, void* a, uint16_t v)
+//{
+//    SDL1_RWops_t* rw = RWNativeStart(emu, (SDL1_RWops_t*)a);
+//    uint32_t r = my->SDL_WriteLE16(rw, v);
+//    RWNativeEnd(rw);
+//    return r;
+//}
+//EXPORT uint32_t my32_SDL_WriteLE32(x64emu_t* emu, void* a, uint32_t v)
+//{
+//    SDL1_RWops_t* rw = RWNativeStart(emu, (SDL1_RWops_t*)a);
+//    uint32_t r = my->SDL_WriteLE32(rw, v);
+//    RWNativeEnd(rw);
+//    return r;
+//}
+//EXPORT uint32_t my32_SDL_WriteLE64(x64emu_t* emu, void* a, uint64_t v)
+//{
+//    SDL1_RWops_t* rw = RWNativeStart(emu, (SDL1_RWops_t*)a);
+//    uint32_t r = my->SDL_WriteLE64(rw, v);
+//    RWNativeEnd(rw);
+//    return r;
+//}
+
+// SDL1 doesn't really used rw_ops->type, but box64 does, so set sensible value (from SDL2)....
+//EXPORT void *my32_SDL_RWFromConstMem(x64emu_t* emu, void* a, int b)
+//{
+//    SDL1_RWops_t* r = (SDL1_RWops_t*)my->SDL_RWFromConstMem(a, b);
+//    RWSetType(r, 5);
+//    return AddNativeRW(emu, r);
+//}
+//EXPORT void *my32_SDL_RWFromFP(x64emu_t* emu, void* a, int b)
+//{
+//    SDL1_RWops_t* r = (SDL1_RWops_t*)my->SDL_RWFromFP(a, b);
+//    RWSetType(r, 2);
+//    return AddNativeRW(emu, r);
+//}
+//EXPORT void *my32_SDL_RWFromFile(x64emu_t* emu, void* a, void* b)
+//{
+//    SDL1_RWops_t* r = (SDL1_RWops_t*)my->SDL_RWFromFile(a, b);
+//    RWSetType(r, 2);
+//    return AddNativeRW(emu, r);
+//}
+//EXPORT void *my32_SDL_RWFromMem(x64emu_t* emu, void* a, int b)
+//{
+//    SDL1_RWops_t* r = (SDL1_RWops_t*)my->SDL_RWFromMem(a, b);
+//    RWSetType(r, 4);
+//    return AddNativeRW(emu, r);
+//}
+//
+//EXPORT void *my32_SDL_AddTimer(x64emu_t* emu, uint32_t a, void* cb, void* p)
+//{
+//    return my->SDL_AddTimer(a, find_TimerCallback_Fct(cb), p);
+//}
+//
+//EXPORT int my32_SDL_RemoveTimer(x64emu_t* emu, void *t)
+//{
+//    return my->SDL_RemoveTimer(t);
+//}
+
+//EXPORT int32_t my32_SDL_SetTimer(x64emu_t* emu, uint32_t t, void* p)
+//{
+//    return my->SDL_SetTimer(t, find_TimerCallback_Fct(p));
+//}
+#if 0
+EXPORT int32_t my32_SDL_BuildAudioCVT(x64emu_t* emu, void* a, uint32_t b, uint32_t c, int32_t d, uint32_t e, uint32_t f, int32_t g)
+{
+    printf_log(LOG_NONE, "Error, using Unimplemented SDL1 SDL_BuildAudioCVT\n");
+    emu->quit = 1;
+    return 0;
+}
+
+EXPORT int32_t my32_SDL_ConvertAudio(x64emu_t* emu, void* a)
+{
+    printf_log(LOG_NONE, "Error, using Unimplemented SDL1 SDL_ConvertAudio\n");
+    emu->quit = 1;
+    return 0;
+}
+#endif
+//EXPORT void my32_SDL_SetEventFilter(x64emu_t* emu, void* a)
+//{
+//    my->SDL_SetEventFilter(find_EvtFilter_Fct(a));
+//}
+//EXPORT void *my32_SDL_GetEventFilter(x64emu_t* emu)
+//{
+//    return reverse_EvtFilterFct(my->SDL_GetEventFilter());
+//}
+void* my32_prepare_thread(x64emu_t *emu, void* f, void* arg, int ssize, void** pet);
+EXPORT void *my32_SDL_CreateThread(x64emu_t* emu, void* cb, void* p)
+{
+    void* et = NULL;
+    void* fnc = my32_prepare_thread(emu, cb, p, 0, &et);
+    return my->SDL_CreateThread(fnc, et);
+}
+
+EXPORT void my32_SDL_KillThread(x64emu_t* emu, void* p)
+{
+    my->SDL_KillThread(p);
+}
+
+EXPORT void* my32_SDL_GL_GetProcAddress(x64emu_t* emu, void* name)
+{
+    khint_t k;
+    const char* rname = (const char*)name;
+    return getGLProcAddress(emu, (glprocaddress_t)my->SDL_GL_GetProcAddress, rname);
+}
+
+// DL functions from wrappedlibdl.c
+void* my_dlopen(x64emu_t* emu, void *filename, int flag);
+int my_dlclose(x64emu_t* emu, void *handle);
+void* my_dlsym(x64emu_t* emu, void *handle, void *symbol);
+EXPORT void* my32_SDL_LoadObject(x64emu_t* emu, void* sofile)
+{
+    return my_dlopen(emu, sofile, 0);   // TODO: check correct flag value...
+}
+EXPORT void my32_SDL_UnloadObject(x64emu_t* emu, void* handle)
+{
+    my_dlclose(emu, handle);
+}
+EXPORT void* my32_SDL_LoadFunction(x64emu_t* emu, void* handle, void* name)
+{
+    return my_dlsym(emu, handle, name);
+}
+
+static my_SDL_Surface_t* sdl1_videomode_org = NULL;
+static my_SDL_Palette_t sdl_vm_palette;
+static my_SDL_PixelFormat_t sdl_vm_pixelformal;
+static my_SDL_Surface_t sdl_vm_surface;
+static void* wrapSurface(void* s)
+{
+    if(!s) return s;
+    if(s==&sdl_vm_surface) {
+        my_SDL_Surface_32_t* src = s;
+        // refressh surface...
+        sdl1_videomode_org->h = src->h;
+        sdl1_videomode_org->w = src->w;
+        sdl1_videomode_org->pitch = src->pitch;
+        sdl1_videomode_org->flags = src->flags;
+        sdl1_videomode_org->locked = src->locked;
+        sdl1_videomode_org->refcount = src->refcount;
+        sdl1_videomode_org->offset = src->offset;
+        sdl1_videomode_org->unused1 = src->unused1;
+        sdl1_videomode_org->format_version = src->format_version;
+        sdl1_videomode_org->pixels = from_ptrv(src->pixels);
+        sdl1_videomode_org->map = from_ptrv(src->map);
+        sdl1_videomode_org->clip_rect.x = src->clip_rect.x;
+        sdl1_videomode_org->clip_rect.y = src->clip_rect.y;
+        sdl1_videomode_org->clip_rect.h = src->clip_rect.h;
+        sdl1_videomode_org->clip_rect.w = src->clip_rect.w;
+        return sdl1_videomode_org;
+    }
+    inplace_SDL_Surface_to_64(s);
+    return s;
+}
+static void* unwrapSurface(void* s)
+{
+    if(!s) return s;
+    if(s==&sdl_vm_surface) {
+        my_SDL_Surface_32_t* dst = s;
+        // refressh surface...
+        dst->h = sdl1_videomode_org->h;
+        dst->w = sdl1_videomode_org->w;
+        dst->pitch = sdl1_videomode_org->pitch;
+        dst->flags = sdl1_videomode_org->flags;
+        dst->locked = sdl1_videomode_org->locked;
+        dst->refcount = sdl1_videomode_org->refcount;
+        dst->offset = sdl1_videomode_org->offset;
+        dst->unused1 = sdl1_videomode_org->unused1;
+        dst->format_version = sdl1_videomode_org->format_version;
+        dst->pixels = to_ptrv(sdl1_videomode_org->pixels);
+        dst->map = to_ptrv(sdl1_videomode_org->map);
+        dst->clip_rect.x = sdl1_videomode_org->clip_rect.x;
+        dst->clip_rect.y = sdl1_videomode_org->clip_rect.y;
+        dst->clip_rect.h = sdl1_videomode_org->clip_rect.h;
+        dst->clip_rect.w = sdl1_videomode_org->clip_rect.w;
+        return s;
+    }
+    inplace_SDL_Surface_to_32(s);
+    return s;
+}
+
+EXPORT void my32_SDL_Quit()
+{
+    sdl1_videomode_org = NULL;
+    my->SDL_Quit();
+}
+
+EXPORT void*  my32_SDL_SetVideoMode(int width, int height, int bpp, uint32_t flags)
+{
+    my_SDL_Surface_t* ret = my->SDL_SetVideoMode(width, height, bpp, flags);
+    sdl1_videomode_org = ret;
+    memcpy(&sdl_vm_surface, ret, sizeof(sdl_vm_surface));
+    if(ret->format) {
+        memcpy(&sdl_vm_pixelformal, ret->format, sizeof(sdl_vm_pixelformal));
+        if(ret->format->palette) {
+            memcpy(&sdl_vm_palette, ret->format->palette, sizeof(sdl_vm_palette));
+            sdl_vm_pixelformal.palette = &sdl_vm_palette;
+        }
+        sdl_vm_surface.format = &sdl_vm_pixelformal;
+    }
+    inplace_SDL_Surface_to_32(&sdl_vm_surface);
+    return &sdl_vm_surface;
+}
+
+EXPORT int my32_SDL_LockSurface(void* s)
+{
+    int ret = my->SDL_LockSurface(wrapSurface(s));
+    unwrapSurface(s);
+    return ret;
+}
+
+EXPORT void my32_SDL_UnlockSurface(void* s)
+{
+    my->SDL_UnlockSurface(wrapSurface(s));
+    unwrapSurface(s);
+}
+
+EXPORT int my32_SDL_Flip(void* s)
+{
+    int ret = my->SDL_Flip(wrapSurface(s));
+    unwrapSurface(s);
+    return ret;
+}
+
+EXPORT int my32_SDL_PollEvent(my_SDL_Event_32_t* evt)
+{
+    my_SDL_Event_t event;
+    int ret = my->SDL_PollEvent(evt?(&event):NULL);
+    if(ret && evt) {
+        convert_SDL_Event_to_32(evt, &event);
+    }
+    return ret;
+}
+
+//EXPORT int32_t my32_SDL_GetWMInfo(x64emu_t* emu, void* p)
+//{
+//    // does SDL_SysWMinfo needs alignment?
+//    int ret = my->SDL_GetWMInfo(p);
+//    my32_SDL_SysWMinfo *info = (my32_SDL_SysWMinfo*)p;
+//    if(info->info.x11.lock_func)
+//        info->info.x11.lock_func = (void*)AddCheckBridge(emu->context->system, vFv_32, info->info.x11.lock_func, 0, NULL);
+//    if(info->info.x11.unlock_func)
+//        info->info.x11.unlock_func = (void*)AddCheckBridge(emu->context->system, vFv_32, info->info.x11.unlock_func, 0, NULL);
+//    return ret;
+//}
+
+//#define CUSTOM_INIT \
+//    box64->sdl1allocrw = my->SDL_AllocRW;   \
+//    box64->sdl1freerw  = my->SDL_FreeRW;
+
+#define NEEDED_LIBS "libm.so.6", "libdl.so.2", "librt.so.1"
+
+//#define CUSTOM_FINI \
+//    my32_context->sdl1allocrw = NULL;         \
+//    my32_context->sdl1freerw = NULL;
+
+#include "wrappedlib_init32.h"
diff --git a/src/wrapped32/wrappedsdl1_private.h b/src/wrapped32/wrappedsdl1_private.h
new file mode 100644
index 00000000..c2931582
--- /dev/null
+++ b/src/wrapped32/wrappedsdl1_private.h
@@ -0,0 +1,238 @@
+#if !(defined(GO) && defined(GOM) && defined(GO2) && defined(DATA))
+#error Meh...
+#endif
+
+// _fini
+// _init
+//GOM(SDL_AddTimer, pFEupp)
+//GO(SDL_AllocRW, pFv)    // no need to use a my_ version here
+//GO(SDL_CDClose, vFp)
+//GO(SDL_CDEject, iFp)
+//GO(SDL_CDName, pFi)
+//GO(SDL_CDNumDrives, iFv)
+//GO(SDL_CDOpen, pFi)
+//GO(SDL_CDPause, iFp)
+//GO(SDL_CDPlay, iFpii)
+//GO(SDL_CDPlayTracks, iFpiiii)
+//GO(SDL_CDResume, iFp)
+//GO(SDL_CDStatus, iFp)
+//GO(SDL_CDStop, iFp)
+//GO(SDL_ClearError, vFv)
+//GO(SDL_CondBroadcast, iFp)
+//GO(SDL_CondSignal, iFp)
+//GO(SDL_CondWait, iFpp)
+//GO(SDL_CondWaitTimeout, iFppu)
+//GO(SDL_ConvertSurface, pFppu)
+//GO(SDL_CreateCond, pFv)
+//GO(SDL_CreateCursor, pFppiiii)
+//GO(SDL_CreateMutex, pFv)
+//GO(SDL_CreateRGBSurface, pFuiiiuuuu)
+//GO(SDL_CreateRGBSurfaceFrom, pFpiiiiuuuu)
+GO(SDL_CreateSemaphore, pFu)
+GOM(SDL_CreateThread, pFEpp)
+//GO(SDL_CreateYUVOverlay, pFiiup)
+//GO(SDL_Delay, vFu)
+//GO(SDL_DestroyCond, vFp)
+//GO(SDL_DestroyMutex, vFp)
+//GO(SDL_DestroySemaphore, vFp)
+//GO(SDL_DisplayFormat, pFp)
+//GO(SDL_DisplayFormatAlpha, pFp)
+//GO(SDL_DisplayYUVOverlay, iFpp)
+//GO(SDL_EnableKeyRepeat, iFii)
+//GO(SDL_EnableUNICODE, iFi)
+//GO(SDL_Error, vFu)
+//GO(SDL_EventState, CFCi)
+//GO(SDL_FillRect, iFppu)
+GOM(SDL_Flip, iFp)  //%noE
+//GO(SDL_FreeCursor, vFp)
+//GO(SDL_FreeRW, vFp)
+//GO(SDL_FreeSurface, vFp)
+//GO(SDL_FreeYUVOverlay, vFp)
+GO(SDL_GL_GetAttribute, iFup)
+GOM(SDL_GL_GetProcAddress, pFEp)
+GO(SDL_GL_LoadLibrary, iFp)
+GO(SDL_GL_Lock, vFv)
+GO(SDL_GL_SetAttribute, iFui)
+GO(SDL_GL_SwapBuffers, vFv)
+//GO(SDL_GL_Unlock, vFv)
+//GO(SDL_GL_UpdateRects, vFip)
+//GO(SDL_GetAppState, CFv)
+//GO(SDL_GetClipRect, vFpp)
+//GO(SDL_GetCursor, pFv)
+//GO(SDL_GetError, pFv)
+//GOM(SDL_GetEventFilter, pFEv)
+//GO(SDL_GetGammaRamp, iFppp)
+//GO(SDL_GetKeyName, pFu)
+//GO(SDL_GetKeyRepeat, vFpp)
+GO(SDL_GetKeyState, pFp)
+//GO(SDL_GetModState, uFv)
+//GO(SDL_GetMouseState, uFpp)
+//GO(SDL_GetRGB, vFupppp)
+//GO(SDL_GetRGBA, vFuppppp)
+//GO(SDL_GetRelativeMouseState, CFpp)
+//GO(SDL_GetThreadID, uFp)
+GO(SDL_GetTicks, uFv)
+//GO(SDL_GetVideoInfo, pFv)
+//GO(SDL_GetVideoSurface, pFv)
+//GOM(SDL_GetWMInfo, iFEp)
+GOM(SDL_Has3DNow, iFv)  //%noE
+GOM(SDL_Has3DNowExt, iFv)   //%noE
+GOM(SDL_HasAltiVec, iFv)    //%noE
+GOM(SDL_HasMMX, iFv)    //%noE
+GOM(SDL_HasMMXExt, iFv) //%noE
+GOM(SDL_HasRDTSC, iFv)  //%noE
+GOM(SDL_HasSSE, iFv)    //%noE
+GOM(SDL_HasSSE2, iFv)   //%noE
+GO(SDL_Init, iFu)
+//GO(SDL_InitQuickDraw, vFp)
+GO(SDL_InitSubSystem, iFu)
+GO(SDL_JoystickClose, vFp)
+GO(SDL_JoystickEventState, iFi)
+GO(SDL_JoystickGetAxis, wFpi)
+GO(SDL_JoystickGetBall, iFpipp)
+GO(SDL_JoystickGetButton, CFpi)
+GO(SDL_JoystickGetHat, uFpi)
+GO(SDL_JoystickIndex, iFp)
+GO(SDL_JoystickName, pFi)
+GO(SDL_JoystickNumAxes, iFp)
+GO(SDL_JoystickNumBalls, iFp)
+GO(SDL_JoystickNumButtons, iFp)
+GO(SDL_JoystickNumHats, iFp)
+GO(SDL_JoystickOpen, pFi)
+GO(SDL_JoystickOpened, iFi)
+GO(SDL_JoystickUpdate, vFv)
+GOM(SDL_KillThread, vFEp)
+//GO(SDL_Linked_Version, pFv)
+//GO(SDL_ListModes, pFpu)
+//GOM(SDL_LoadBMP_RW, pFEpi)
+GOM(SDL_LoadFunction, pFEpp)
+GOM(SDL_LoadObject, pFEp)
+GOM(SDL_LockSurface, iFp)   //%noE
+//GO(SDL_LockYUVOverlay, iFp)
+//GO(SDL_LowerBlit, iFpppp)
+//GO(SDL_MapRGB, uFpCCC)
+//GO(SDL_MapRGBA, uFpCCCC)
+GO(SDL_NumJoysticks, iFv)
+//GO(SDL_PeepEvents, iFpiuu)
+GOM(SDL_PollEvent, iFp) //%noE
+//GO(SDL_PumpEvents, vFv)
+//GO(SDL_PushEvent, iFp)
+GOM(SDL_Quit, vFv)  //%noE
+GO(SDL_QuitSubSystem, vFu)
+//GOM(SDL_RWFromConstMem, pFEpi)
+//GOM(SDL_RWFromFP, pFEpi)
+//GOM(SDL_RWFromFile, pFEpp)
+//GOM(SDL_RWFromMem, pFEpi)
+//GOM(SDL_ReadBE16, uFEp)
+//GOM(SDL_ReadBE32, uFEp)
+//GOM(SDL_ReadBE64, UFEp)
+//GOM(SDL_ReadLE16, uFEp)
+//GOM(SDL_ReadLE32, uFEp)
+//GOM(SDL_ReadLE64, UFEp)
+//GO(SDL_RegisterApp, iFpup)
+//GOM(SDL_RemoveTimer, iFEp)
+//GOM(SDL_SaveBMP_RW, iFEppi)
+GO(SDL_SemPost, iFp)
+GO(SDL_SemTryWait, iFp)
+GO(SDL_SemValue, uFp)
+GO(SDL_SemWait, iFp)
+GO(SDL_SemWaitTimeout, iFpu)
+GO(SDL_SetAlpha, iFpuC)
+//GO(SDL_SetClipRect, uFpp)
+//GO(SDL_SetColorKey, iFpuu)
+//GO(SDL_SetColors, iFppii)
+//GO(SDL_SetCursor, vFp)
+//GO(SDL_SetError, vFpppppp)      // use ..., so putting arbitrary number of arguments...
+//GOM(SDL_SetEventFilter, vFEp)
+GO(SDL_SetGamma, iFfff)
+//GO(SDL_SetGammaRamp, iFppp)
+GO(SDL_SetModState, vFu)
+//GO(SDL_SetModuleHandle, vFp)
+//GO(SDL_SetPalette, iFpipii)
+//GOM(SDL_SetTimer, iFEup)
+GOM(SDL_SetVideoMode, pFiiiu)   //%noE
+GO(SDL_ShowCursor, iFi)
+//GO(SDL_SoftStretch, iFpppp)
+//GO(SDL_ThreadID, uFv)
+//GOM(SDL_UnloadObject, vFEp)
+GOM(SDL_UnlockSurface, vFp) //%noE
+//GO(SDL_UnlockYUVOverlay, vFp)
+//GO(SDL_UnregisterApp, vFv)
+//GO(SDL_UpdateRect, vFpiiuu)
+//GO(SDL_UpdateRects, vFpip)
+//GO(SDL_UpperBlit, iFpppp)
+//GO(SDL_VideoDriverName, pFpi)
+//GO(SDL_VideoInit, iFpu)
+//GO(SDL_VideoModeOK, iFiiiu)
+GO(SDL_VideoQuit, vFv)
+//GO(SDL_WM_GetCaption, vFpp)
+GO(SDL_WM_GrabInput, iFi)
+GO(SDL_WM_IconifyWindow, iFv)
+GO(SDL_WM_SetCaption, vFpp)
+//GO(SDL_WM_SetIcon, vFpp)
+//GO(SDL_WM_ToggleFullScreen, iFp)
+//GO(SDL_WaitEvent, iFp)
+//GO(SDL_WaitThread, vFpp)
+GO(SDL_WarpMouse, vFWW)
+GO(SDL_WasInit, uFu)
+//GOM(SDL_WriteBE16, uFEpW)
+//GOM(SDL_WriteBE32, uFEpu)
+//GOM(SDL_WriteBE64, uFEpU)
+//GOM(SDL_WriteLE16, uFEpW)
+//GOM(SDL_WriteLE32, uFEpu)
+//GOM(SDL_WriteLE64, uFEpU)
+//GO(SDL_framerateDelay, uFp)
+//GO(SDL_getFramecount, iFp)
+//GO(SDL_getFramerate, iFp)
+//GO(SDL_iconv, LFppppp)
+//GO(SDL_iconv_close, iFp)
+//GO(SDL_iconv_open, pFpp)
+//GO(SDL_iconv_string, pFpppL)
+//GO(SDL_initFramerate, vFp)
+//GO(SDL_lltoa, pFlpi)
+//GO(SDL_ltoa, pFlpi)
+//GO(SDL_main, iFip)
+//GO(SDL_memcmp, iFppu)
+//GO(SDL_mutexP, iFp)
+//GO(SDL_mutexV, iFp)
+//GO(SDL_revcpy, pFppL)
+//GO(SDL_setFramerate, iFpu)
+//GO(SDL_snprintf, iFpupppppp)    // use ...
+//GO(SDL_sscanf, iFppppppp)       // use ...
+//GO(SDL_strcasecmp, iFpp)
+//GO(SDL_strchr, pFpi)
+//GO(SDL_strcmp, iFpp)
+//GO(SDL_strdup, pFp)
+//GO(SDL_strlcat, LFppL)
+//GO(SDL_strlcpy, uFppu)
+//GO(SDL_strlen, uFp)
+//GO(SDL_strlwr, pFp)
+//GO(SDL_strncasecmp, iFppu)
+//GO(SDL_strncmp, iFppu)
+//GO(SDL_strrchr, pFpi)
+//GO(SDL_strrev, pFp)
+//GO(SDL_strstr, pFpp)
+//GO(SDL_strtod, dFpp)
+//GO(SDL_strtol, iFppi)
+//GO(SDL_strtoll, IFppi)
+//GO(SDL_strtoul, uFppi)
+//GO(SDL_strtoull, UFppi)
+//GO(SDL_strupr, pFp)
+//GO(SDL_ulltoa, pFLpi)
+//GO(SDL_ultoa, pFLpi)
+//GOM(SDL_vsnprintf, iFpupV)
+GOM(SDL_OpenAudio, iFEpp)
+GO(SDL_LockAudio, vFv)
+GO(SDL_UnlockAudio, vFv)
+GO(SDL_PauseAudio, vFi)
+GO(SDL_GetAudioStatus, uFv)
+//GO(SDL_LoadWAV, pFpppp)
+//GO(SDL_FreeWAV, vFp)
+//GOM(SDL_LoadWAV_RW, pFEpippp)
+//GO(SDL_BuildAudioCVT, iFpWCiWCi)
+//GO(SDL_ConvertAudio, iFp)
+//GO(SDL_AudioInit, iFp)
+GO(SDL_AudioQuit, vFv)
+//GO(SDL_MixAudio, vFppui)
+GO(SDL_CloseAudio, vFv)
+//GO(SDL_AudioDriverName, pFpi)
diff --git a/src/wrapped32/wrappercallback32.h b/src/wrapped32/wrappercallback32.h
new file mode 100644
index 00000000..74c2670d
--- /dev/null
+++ b/src/wrapped32/wrappercallback32.h
@@ -0,0 +1,42 @@
+#define TYPENAME3(N,M) N##M
+#define TYPENAME2(N,M) TYPENAME3(N,M)
+#define TYPENAME(N) TYPENAME2(LIBNAME, _my_t)
+
+typedef struct TYPENAME2(LIBNAME, _my_s) {
+    // functions
+    #define GO(A, B)    B   A;
+    SUPER()
+    #undef GO
+    #ifdef ADDED_STRUCT
+    ADDED_STRUCT()
+    #endif
+} TYPENAME(LIBNAME);
+
+static library_t* my_lib = NULL;
+static TYPENAME(LIBNAME) TYPENAME2(my_, LIBNAME) = {0};
+static TYPENAME(LIBNAME) * const my = &TYPENAME2(my_, LIBNAME);
+
+static void getMy(library_t* lib)
+{
+    #define GO(A, W) my->A = (W)dlsym(lib->w.lib, #A);
+    SUPER()
+    #undef GO
+    my_lib = lib;
+    #ifdef ADDED_INIT
+    ADDED_INIT()
+    #endif
+}
+
+static void freeMy()
+{
+    #ifdef ADDED_FINI
+    ADDED_FINI()
+    #endif
+    my_lib = NULL;
+}
+
+#define HAS_MY
+
+#ifndef ADDED_SUPER
+#undef SUPER
+#endif