about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2023-04-28 18:26:36 +0200
committerptitSeb <sebastien.chev@gmail.com>2023-04-28 18:27:12 +0200
commit57a9b520b0cc5f2b0d48c96b310356850a75e252 (patch)
tree5c9e027d173fbfef6ce5e59c3d66cf9eb9b979bd /src
parent69529708952abd1786dff2dfa6910a159ce8802c (diff)
downloadbox64-57a9b520b0cc5f2b0d48c96b310356850a75e252.tar.gz
box64-57a9b520b0cc5f2b0d48c96b310356850a75e252.zip
Added wrapped libharfbuzz
Diffstat (limited to 'src')
-rwxr-xr-xsrc/library_list.h1
-rw-r--r--src/wrapped/generated/functions_list.txt29
-rw-r--r--src/wrapped/generated/wrappedlibharfbuzzdefs.h8
-rw-r--r--src/wrapped/generated/wrappedlibharfbuzztypes.h17
-rw-r--r--src/wrapped/generated/wrappedlibharfbuzzundefs.h8
-rw-r--r--src/wrapped/generated/wrapper.c77
-rw-r--r--src/wrapped/generated/wrapper.h28
-rw-r--r--src/wrapped/wrappedlibharfbuzz.c19
-rw-r--r--src/wrapped/wrappedlibharfbuzz_private.h443
9 files changed, 630 insertions, 0 deletions
diff --git a/src/library_list.h b/src/library_list.h
index 68a07e77..713ec491 100755
--- a/src/library_list.h
+++ b/src/library_list.h
@@ -152,6 +152,7 @@ GO("libpango-1.0.so", pango)
 GO("libibus-1.0.so.5", libibus)
 GO("libfontconfig.so.1", fontconfig)
 GO("libfreetype.so.6", freetype)
+GO("libharfbuzz.so.0", libharfbuzz)
 GO("libbz2.so.1", bz2)
 GO("liblzma.so.5", lzma)
 GO("libSM.so.6", libsm)
diff --git a/src/wrapped/generated/functions_list.txt b/src/wrapped/generated/functions_list.txt
index 7c3b3816..6614fc48 100644
--- a/src/wrapped/generated/functions_list.txt
+++ b/src/wrapped/generated/functions_list.txt
@@ -238,6 +238,7 @@
 #() fFff
 #() fFfD
 #() fFfp
+#() fFpu
 #() fFpp
 #() dFid
 #() dFdi
@@ -1034,6 +1035,7 @@
 #() uFpupp
 #() uFppiu
 #() uFppip
+#() uFppuu
 #() uFpplp
 #() uFppLp
 #() uFpppi
@@ -1347,6 +1349,7 @@
 #() vFppiii
 #() vFppiiu
 #() vFppiip
+#() vFppiui
 #() vFppiup
 #() vFppiff
 #() vFppidd
@@ -1359,6 +1362,7 @@
 #() vFppuup
 #() vFppudd
 #() vFppupi
+#() vFppupu
 #() vFppupp
 #() vFppfff
 #() vFppddp
@@ -1368,6 +1372,7 @@
 #() vFpppui
 #() vFpppuu
 #() vFpppup
+#() vFpppff
 #() vFpppdd
 #() vFppppi
 #() vFppppu
@@ -1449,9 +1454,11 @@
 #() iFpuuui
 #() iFpuuup
 #() iFpuuLL
+#() iFpuupp
 #() iFpulup
 #() iFpulpp
 #() iFpupiU
+#() iFpupui
 #() iFpupuu
 #() iFpupup
 #() iFpuppp
@@ -1482,6 +1489,7 @@
 #() iFppiLi
 #() iFppiLL
 #() iFppipi
+#() iFppipu
 #() iFppipp
 #() iFppuwp
 #() iFppuip
@@ -1524,6 +1532,7 @@
 #() uFpuuuu
 #() uFpuupp
 #() uFpupuu
+#() uFpuppp
 #() uFppipp
 #() uFppuup
 #() uFppupp
@@ -1742,11 +1751,14 @@
 #() vFpuiiiu
 #() vFpuiipp
 #() vFpuuuiu
+#() vFpuuuup
+#() vFpuuupp
 #() vFpuupuu
 #() vFpuuppp
 #() vFpudddd
 #() vFpupiUu
 #() vFpupuuu
+#() vFpupupu
 #() vFpuppuu
 #() vFpupppp
 #() vFpUiuup
@@ -1844,7 +1856,10 @@
 #() iFpuiCpp
 #() iFpuippp
 #() iFpuuuuu
+#() iFpuuuup
+#() iFpuuupp
 #() iFpuupuu
+#() iFpuuppp
 #() iFpuLLpp
 #() iFpupuui
 #() iFpupLpL
@@ -1874,6 +1889,7 @@
 #() iFppipii
 #() iFppipiL
 #() iFppipip
+#() iFppippu
 #() iFppIppp
 #() iFppuiii
 #() iFppuIII
@@ -1914,6 +1930,9 @@
 #() uFpWuuCp
 #() uFpuippp
 #() uFpuuuup
+#() uFpuuupp
+#() uFpuuppp
+#() uFpupupu
 #() uFppippp
 #() uFppuuup
 #() uFppuupu
@@ -2068,6 +2087,7 @@
 #() vFpippppu
 #() vFpuuuuuu
 #() vFpuuUUuu
+#() vFpuupupu
 #() vFpuupppp
 #() vFpupuuup
 #() vFpupppui
@@ -2102,6 +2122,7 @@
 #() vFpppiupi
 #() vFpppippi
 #() vFpppuuuu
+#() vFpppffff
 #() vFppppiip
 #() vFppppiui
 #() vFppppipi
@@ -2191,6 +2212,8 @@
 #() uFiiiuuuu
 #() uFuippppp
 #() uFpippppp
+#() uFpuuuupp
+#() uFpuuuppp
 #() uFpuupppp
 #() uFppiuppp
 #() uFppuuuup
@@ -2241,6 +2264,7 @@
 #() pFpppuipp
 #() pFpppuuui
 #() pFpppuupp
+#() pFpppupup
 #() pFpppuppp
 #() pFpppfffi
 #() pFpppdddi
@@ -2339,6 +2363,7 @@
 #() iFpuuipppp
 #() iFpuuupupu
 #() iFpuupuupp
+#() iFpuuppppp
 #() iFpupppWWu
 #() iFpupppppp
 #() iFpUuuLpUi
@@ -2370,6 +2395,7 @@
 #() uFuipppppp
 #() uFuupuuiuf
 #() uFulpppppp
+#() uFpuupupuu
 #() uFpupuuuCp
 #() uFppuuuupp
 #() uFppuuuppu
@@ -2463,6 +2489,7 @@
 #() vFppddddudd
 #() vFpplpppppi
 #() vFpppiiiiii
+#() vFpppffffff
 #() vFppppipiip
 #() vFpppppippp
 #() iFEpiiiiipi
@@ -2497,6 +2524,7 @@
 #() uFEipippppp
 #() uFEpppufppp
 #() uFuulpiuiuf
+#() uFpuupuppuu
 #() uFppLpLuppp
 #() uFppppppppp
 #() lFpppipiipp
@@ -3870,6 +3898,7 @@ wrappedlibglx:
 - pFp:
   - glXGetProcAddress
   - glXGetProcAddressARB
+wrappedlibharfbuzz:
 wrappedlibibus:
 - vFpippp:
   - ibus_bus_current_input_context_async
diff --git a/src/wrapped/generated/wrappedlibharfbuzzdefs.h b/src/wrapped/generated/wrappedlibharfbuzzdefs.h
new file mode 100644
index 00000000..162e929e
--- /dev/null
+++ b/src/wrapped/generated/wrappedlibharfbuzzdefs.h
@@ -0,0 +1,8 @@
+/*******************************************************************
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ *******************************************************************/
+#ifndef __wrappedlibharfbuzzDEFS_H_
+#define __wrappedlibharfbuzzDEFS_H_
+
+
+#endif // __wrappedlibharfbuzzDEFS_H_
diff --git a/src/wrapped/generated/wrappedlibharfbuzztypes.h b/src/wrapped/generated/wrappedlibharfbuzztypes.h
new file mode 100644
index 00000000..c3c430d0
--- /dev/null
+++ b/src/wrapped/generated/wrappedlibharfbuzztypes.h
@@ -0,0 +1,17 @@
+/*******************************************************************
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ *******************************************************************/
+#ifndef __wrappedlibharfbuzzTYPES_H_
+#define __wrappedlibharfbuzzTYPES_H_
+
+#ifndef LIBNAME
+#error You should only #include this file inside a wrapped*.c file
+#endif
+#ifndef ADDED_FUNCTIONS
+#define ADDED_FUNCTIONS() 
+#endif
+
+
+#define SUPER() ADDED_FUNCTIONS()
+
+#endif // __wrappedlibharfbuzzTYPES_H_
diff --git a/src/wrapped/generated/wrappedlibharfbuzzundefs.h b/src/wrapped/generated/wrappedlibharfbuzzundefs.h
new file mode 100644
index 00000000..a93c0aba
--- /dev/null
+++ b/src/wrapped/generated/wrappedlibharfbuzzundefs.h
@@ -0,0 +1,8 @@
+/*******************************************************************
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.17) *
+ *******************************************************************/
+#ifndef __wrappedlibharfbuzzUNDEFS_H_
+#define __wrappedlibharfbuzzUNDEFS_H_
+
+
+#endif // __wrappedlibharfbuzzUNDEFS_H_
diff --git a/src/wrapped/generated/wrapper.c b/src/wrapped/generated/wrapper.c
index 129dc37a..561051ee 100644
--- a/src/wrapped/generated/wrapper.c
+++ b/src/wrapped/generated/wrapper.c
@@ -274,6 +274,7 @@ typedef float (*fFfi_t)(float, int32_t);
 typedef float (*fFff_t)(float, float);
 typedef float (*fFfD_t)(float, long double);
 typedef float (*fFfp_t)(float, void*);
+typedef float (*fFpu_t)(void*, uint32_t);
 typedef float (*fFpp_t)(void*, void*);
 typedef double (*dFid_t)(int32_t, double);
 typedef double (*dFdi_t)(double, int32_t);
@@ -1070,6 +1071,7 @@ typedef uint32_t (*uFpupu_t)(void*, uint32_t, void*, uint32_t);
 typedef uint32_t (*uFpupp_t)(void*, uint32_t, void*, void*);
 typedef uint32_t (*uFppiu_t)(void*, void*, int32_t, uint32_t);
 typedef uint32_t (*uFppip_t)(void*, void*, int32_t, void*);
+typedef uint32_t (*uFppuu_t)(void*, void*, uint32_t, uint32_t);
 typedef uint32_t (*uFpplp_t)(void*, void*, intptr_t, void*);
 typedef uint32_t (*uFppLp_t)(void*, void*, uintptr_t, void*);
 typedef uint32_t (*uFpppi_t)(void*, void*, void*, int32_t);
@@ -1383,6 +1385,7 @@ typedef void (*vFpLpiL_t)(void*, uintptr_t, void*, int32_t, uintptr_t);
 typedef void (*vFppiii_t)(void*, void*, int32_t, int32_t, int32_t);
 typedef void (*vFppiiu_t)(void*, void*, int32_t, int32_t, uint32_t);
 typedef void (*vFppiip_t)(void*, void*, int32_t, int32_t, void*);
+typedef void (*vFppiui_t)(void*, void*, int32_t, uint32_t, int32_t);
 typedef void (*vFppiup_t)(void*, void*, int32_t, uint32_t, void*);
 typedef void (*vFppiff_t)(void*, void*, int32_t, float, float);
 typedef void (*vFppidd_t)(void*, void*, int32_t, double, double);
@@ -1395,6 +1398,7 @@ typedef void (*vFppuuu_t)(void*, void*, uint32_t, uint32_t, uint32_t);
 typedef void (*vFppuup_t)(void*, void*, uint32_t, uint32_t, void*);
 typedef void (*vFppudd_t)(void*, void*, uint32_t, double, double);
 typedef void (*vFppupi_t)(void*, void*, uint32_t, void*, int32_t);
+typedef void (*vFppupu_t)(void*, void*, uint32_t, void*, uint32_t);
 typedef void (*vFppupp_t)(void*, void*, uint32_t, void*, void*);
 typedef void (*vFppfff_t)(void*, void*, float, float, float);
 typedef void (*vFppddp_t)(void*, void*, double, double, void*);
@@ -1404,6 +1408,7 @@ typedef void (*vFpppip_t)(void*, void*, void*, int32_t, void*);
 typedef void (*vFpppui_t)(void*, void*, void*, uint32_t, int32_t);
 typedef void (*vFpppuu_t)(void*, void*, void*, uint32_t, uint32_t);
 typedef void (*vFpppup_t)(void*, void*, void*, uint32_t, void*);
+typedef void (*vFpppff_t)(void*, void*, void*, float, float);
 typedef void (*vFpppdd_t)(void*, void*, void*, double, double);
 typedef void (*vFppppi_t)(void*, void*, void*, void*, int32_t);
 typedef void (*vFppppu_t)(void*, void*, void*, void*, uint32_t);
@@ -1485,9 +1490,11 @@ typedef int32_t (*iFpuuip_t)(void*, uint32_t, uint32_t, int32_t, void*);
 typedef int32_t (*iFpuuui_t)(void*, uint32_t, uint32_t, uint32_t, int32_t);
 typedef int32_t (*iFpuuup_t)(void*, uint32_t, uint32_t, uint32_t, void*);
 typedef int32_t (*iFpuuLL_t)(void*, uint32_t, uint32_t, uintptr_t, uintptr_t);
+typedef int32_t (*iFpuupp_t)(void*, uint32_t, uint32_t, void*, void*);
 typedef int32_t (*iFpulup_t)(void*, uint32_t, intptr_t, uint32_t, void*);
 typedef int32_t (*iFpulpp_t)(void*, uint32_t, intptr_t, void*, void*);
 typedef int32_t (*iFpupiU_t)(void*, uint32_t, void*, int32_t, uint64_t);
+typedef int32_t (*iFpupui_t)(void*, uint32_t, void*, uint32_t, int32_t);
 typedef int32_t (*iFpupuu_t)(void*, uint32_t, void*, uint32_t, uint32_t);
 typedef int32_t (*iFpupup_t)(void*, uint32_t, void*, uint32_t, void*);
 typedef int32_t (*iFpuppp_t)(void*, uint32_t, void*, void*, void*);
@@ -1518,6 +1525,7 @@ typedef int32_t (*iFppiup_t)(void*, void*, int32_t, uint32_t, void*);
 typedef int32_t (*iFppiLi_t)(void*, void*, int32_t, uintptr_t, int32_t);
 typedef int32_t (*iFppiLL_t)(void*, void*, int32_t, uintptr_t, uintptr_t);
 typedef int32_t (*iFppipi_t)(void*, void*, int32_t, void*, int32_t);
+typedef int32_t (*iFppipu_t)(void*, void*, int32_t, void*, uint32_t);
 typedef int32_t (*iFppipp_t)(void*, void*, int32_t, void*, void*);
 typedef int32_t (*iFppuwp_t)(void*, void*, uint32_t, int16_t, void*);
 typedef int32_t (*iFppuip_t)(void*, void*, uint32_t, int32_t, void*);
@@ -1560,6 +1568,7 @@ typedef uint32_t (*uFpWuip_t)(void*, uint16_t, uint32_t, int32_t, void*);
 typedef uint32_t (*uFpuuuu_t)(void*, uint32_t, uint32_t, uint32_t, uint32_t);
 typedef uint32_t (*uFpuupp_t)(void*, uint32_t, uint32_t, void*, void*);
 typedef uint32_t (*uFpupuu_t)(void*, uint32_t, void*, uint32_t, uint32_t);
+typedef uint32_t (*uFpuppp_t)(void*, uint32_t, void*, void*, void*);
 typedef uint32_t (*uFppipp_t)(void*, void*, int32_t, void*, void*);
 typedef uint32_t (*uFppuup_t)(void*, void*, uint32_t, uint32_t, void*);
 typedef uint32_t (*uFppupp_t)(void*, void*, uint32_t, void*, void*);
@@ -1778,11 +1787,14 @@ typedef void (*vFpuiiii_t)(void*, uint32_t, int32_t, int32_t, int32_t, int32_t);
 typedef void (*vFpuiiiu_t)(void*, uint32_t, int32_t, int32_t, int32_t, uint32_t);
 typedef void (*vFpuiipp_t)(void*, uint32_t, int32_t, int32_t, void*, void*);
 typedef void (*vFpuuuiu_t)(void*, uint32_t, uint32_t, uint32_t, int32_t, uint32_t);
+typedef void (*vFpuuuup_t)(void*, uint32_t, uint32_t, uint32_t, uint32_t, void*);
+typedef void (*vFpuuupp_t)(void*, uint32_t, uint32_t, uint32_t, void*, void*);
 typedef void (*vFpuupuu_t)(void*, uint32_t, uint32_t, void*, uint32_t, uint32_t);
 typedef void (*vFpuuppp_t)(void*, uint32_t, uint32_t, void*, void*, void*);
 typedef void (*vFpudddd_t)(void*, uint32_t, double, double, double, double);
 typedef void (*vFpupiUu_t)(void*, uint32_t, void*, int32_t, uint64_t, uint32_t);
 typedef void (*vFpupuuu_t)(void*, uint32_t, void*, uint32_t, uint32_t, uint32_t);
+typedef void (*vFpupupu_t)(void*, uint32_t, void*, uint32_t, void*, uint32_t);
 typedef void (*vFpuppuu_t)(void*, uint32_t, void*, void*, uint32_t, uint32_t);
 typedef void (*vFpupppp_t)(void*, uint32_t, void*, void*, void*, void*);
 typedef void (*vFpUiuup_t)(void*, uint64_t, int32_t, uint32_t, uint32_t, void*);
@@ -1880,7 +1892,10 @@ typedef int32_t (*iFpWpppp_t)(void*, uint16_t, void*, void*, void*, void*);
 typedef int32_t (*iFpuiCpp_t)(void*, uint32_t, int32_t, uint8_t, void*, void*);
 typedef int32_t (*iFpuippp_t)(void*, uint32_t, int32_t, void*, void*, void*);
 typedef int32_t (*iFpuuuuu_t)(void*, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t);
+typedef int32_t (*iFpuuuup_t)(void*, uint32_t, uint32_t, uint32_t, uint32_t, void*);
+typedef int32_t (*iFpuuupp_t)(void*, uint32_t, uint32_t, uint32_t, void*, void*);
 typedef int32_t (*iFpuupuu_t)(void*, uint32_t, uint32_t, void*, uint32_t, uint32_t);
+typedef int32_t (*iFpuuppp_t)(void*, uint32_t, uint32_t, void*, void*, void*);
 typedef int32_t (*iFpuLLpp_t)(void*, uint32_t, uintptr_t, uintptr_t, void*, void*);
 typedef int32_t (*iFpupuui_t)(void*, uint32_t, void*, uint32_t, uint32_t, int32_t);
 typedef int32_t (*iFpupLpL_t)(void*, uint32_t, void*, uintptr_t, void*, uintptr_t);
@@ -1910,6 +1925,7 @@ typedef int32_t (*iFppiupp_t)(void*, void*, int32_t, uint32_t, void*, void*);
 typedef int32_t (*iFppipii_t)(void*, void*, int32_t, void*, int32_t, int32_t);
 typedef int32_t (*iFppipiL_t)(void*, void*, int32_t, void*, int32_t, uintptr_t);
 typedef int32_t (*iFppipip_t)(void*, void*, int32_t, void*, int32_t, void*);
+typedef int32_t (*iFppippu_t)(void*, void*, int32_t, void*, void*, uint32_t);
 typedef int32_t (*iFppIppp_t)(void*, void*, int64_t, void*, void*, void*);
 typedef int32_t (*iFppuiii_t)(void*, void*, uint32_t, int32_t, int32_t, int32_t);
 typedef int32_t (*iFppuIII_t)(void*, void*, uint32_t, int64_t, int64_t, int64_t);
@@ -1950,6 +1966,9 @@ typedef uint32_t (*uFpWuipp_t)(void*, uint16_t, uint32_t, int32_t, void*, void*)
 typedef uint32_t (*uFpWuuCp_t)(void*, uint16_t, uint32_t, uint32_t, uint8_t, void*);
 typedef uint32_t (*uFpuippp_t)(void*, uint32_t, int32_t, void*, void*, void*);
 typedef uint32_t (*uFpuuuup_t)(void*, uint32_t, uint32_t, uint32_t, uint32_t, void*);
+typedef uint32_t (*uFpuuupp_t)(void*, uint32_t, uint32_t, uint32_t, void*, void*);
+typedef uint32_t (*uFpuuppp_t)(void*, uint32_t, uint32_t, void*, void*, void*);
+typedef uint32_t (*uFpupupu_t)(void*, uint32_t, void*, uint32_t, void*, uint32_t);
 typedef uint32_t (*uFppippp_t)(void*, void*, int32_t, void*, void*, void*);
 typedef uint32_t (*uFppuuup_t)(void*, void*, uint32_t, uint32_t, uint32_t, void*);
 typedef uint32_t (*uFppuupu_t)(void*, void*, uint32_t, uint32_t, void*, uint32_t);
@@ -2104,6 +2123,7 @@ typedef void (*vFpipipii_t)(void*, int32_t, void*, int32_t, void*, int32_t, int3
 typedef void (*vFpippppu_t)(void*, int32_t, void*, void*, void*, void*, uint32_t);
 typedef void (*vFpuuuuuu_t)(void*, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t);
 typedef void (*vFpuuUUuu_t)(void*, uint32_t, uint32_t, uint64_t, uint64_t, uint32_t, uint32_t);
+typedef void (*vFpuupupu_t)(void*, uint32_t, uint32_t, void*, uint32_t, void*, uint32_t);
 typedef void (*vFpuupppp_t)(void*, uint32_t, uint32_t, void*, void*, void*, void*);
 typedef void (*vFpupuuup_t)(void*, uint32_t, void*, uint32_t, uint32_t, uint32_t, void*);
 typedef void (*vFpupppui_t)(void*, uint32_t, void*, void*, void*, uint32_t, int32_t);
@@ -2138,6 +2158,7 @@ typedef void (*vFpppiipp_t)(void*, void*, void*, int32_t, int32_t, void*, void*)
 typedef void (*vFpppiupi_t)(void*, void*, void*, int32_t, uint32_t, void*, int32_t);
 typedef void (*vFpppippi_t)(void*, void*, void*, int32_t, void*, void*, int32_t);
 typedef void (*vFpppuuuu_t)(void*, void*, void*, uint32_t, uint32_t, uint32_t, uint32_t);
+typedef void (*vFpppffff_t)(void*, void*, void*, float, float, float, float);
 typedef void (*vFppppiip_t)(void*, void*, void*, void*, int32_t, int32_t, void*);
 typedef void (*vFppppiui_t)(void*, void*, void*, void*, int32_t, uint32_t, int32_t);
 typedef void (*vFppppipi_t)(void*, void*, void*, void*, int32_t, void*, int32_t);
@@ -2227,6 +2248,8 @@ typedef uint32_t (*uFEpppppp_t)(x64emu_t*, void*, void*, void*, void*, void*, vo
 typedef uint32_t (*uFiiiuuuu_t)(int32_t, int32_t, int32_t, uint32_t, uint32_t, uint32_t, uint32_t);
 typedef uint32_t (*uFuippppp_t)(uint32_t, int32_t, void*, void*, void*, void*, void*);
 typedef uint32_t (*uFpippppp_t)(void*, int32_t, void*, void*, void*, void*, void*);
+typedef uint32_t (*uFpuuuupp_t)(void*, uint32_t, uint32_t, uint32_t, uint32_t, void*, void*);
+typedef uint32_t (*uFpuuuppp_t)(void*, uint32_t, uint32_t, uint32_t, void*, void*, void*);
 typedef uint32_t (*uFpuupppp_t)(void*, uint32_t, uint32_t, void*, void*, void*, void*);
 typedef uint32_t (*uFppiuppp_t)(void*, void*, int32_t, uint32_t, void*, void*, void*);
 typedef uint32_t (*uFppuuuup_t)(void*, void*, uint32_t, uint32_t, uint32_t, uint32_t, void*);
@@ -2277,6 +2300,7 @@ typedef void* (*pFpppCCCi_t)(void*, void*, void*, uint8_t, uint8_t, uint8_t, int
 typedef void* (*pFpppuipp_t)(void*, void*, void*, uint32_t, int32_t, void*, void*);
 typedef void* (*pFpppuuui_t)(void*, void*, void*, uint32_t, uint32_t, uint32_t, int32_t);
 typedef void* (*pFpppuupp_t)(void*, void*, void*, uint32_t, uint32_t, void*, void*);
+typedef void* (*pFpppupup_t)(void*, void*, void*, uint32_t, void*, uint32_t, void*);
 typedef void* (*pFpppuppp_t)(void*, void*, void*, uint32_t, void*, void*, void*);
 typedef void* (*pFpppfffi_t)(void*, void*, void*, float, float, float, int32_t);
 typedef void* (*pFpppdddi_t)(void*, void*, void*, double, double, double, int32_t);
@@ -2375,6 +2399,7 @@ typedef int32_t (*iFpuuiiiii_t)(void*, uint32_t, uint32_t, int32_t, int32_t, int
 typedef int32_t (*iFpuuipppp_t)(void*, uint32_t, uint32_t, int32_t, void*, void*, void*, void*);
 typedef int32_t (*iFpuuupupu_t)(void*, uint32_t, uint32_t, uint32_t, void*, uint32_t, void*, uint32_t);
 typedef int32_t (*iFpuupuupp_t)(void*, uint32_t, uint32_t, void*, uint32_t, uint32_t, void*, void*);
+typedef int32_t (*iFpuuppppp_t)(void*, uint32_t, uint32_t, void*, void*, void*, void*, void*);
 typedef int32_t (*iFpupppWWu_t)(void*, uint32_t, void*, void*, void*, uint16_t, uint16_t, uint32_t);
 typedef int32_t (*iFpupppppp_t)(void*, uint32_t, void*, void*, void*, void*, void*, void*);
 typedef int32_t (*iFpUuuLpUi_t)(void*, uint64_t, uint32_t, uint32_t, uintptr_t, void*, uint64_t, int32_t);
@@ -2406,6 +2431,7 @@ typedef uint32_t (*uFEppppppp_t)(x64emu_t*, void*, void*, void*, void*, void*, v
 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 uint32_t (*uFpuupupuu_t)(void*, uint32_t, uint32_t, void*, uint32_t, void*, uint32_t, uint32_t);
 typedef uint32_t (*uFpupuuuCp_t)(void*, uint32_t, void*, uint32_t, uint32_t, uint32_t, uint8_t, void*);
 typedef uint32_t (*uFppuuuupp_t)(void*, void*, uint32_t, uint32_t, uint32_t, uint32_t, void*, void*);
 typedef uint32_t (*uFppuuuppu_t)(void*, void*, uint32_t, uint32_t, uint32_t, void*, void*, uint32_t);
@@ -2499,6 +2525,7 @@ typedef void (*vFppUUiUUUU_t)(void*, void*, uint64_t, uint64_t, int32_t, uint64_
 typedef void (*vFppddddudd_t)(void*, void*, double, double, double, double, uint32_t, double, double);
 typedef void (*vFpplpppppi_t)(void*, void*, intptr_t, void*, void*, void*, void*, void*, int32_t);
 typedef void (*vFpppiiiiii_t)(void*, void*, void*, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t);
+typedef void (*vFpppffffff_t)(void*, void*, void*, float, float, float, float, float, float);
 typedef void (*vFppppipiip_t)(void*, void*, void*, void*, int32_t, void*, int32_t, int32_t, void*);
 typedef void (*vFpppppippp_t)(void*, void*, void*, void*, void*, int32_t, void*, void*, void*);
 typedef int32_t (*iFEpiiiiipi_t)(x64emu_t*, void*, int32_t, int32_t, int32_t, int32_t, int32_t, void*, int32_t);
@@ -2533,6 +2560,7 @@ typedef int32_t (*iFppppppppp_t)(void*, void*, void*, void*, void*, void*, void*
 typedef uint32_t (*uFEipippppp_t)(x64emu_t*, int32_t, void*, int32_t, void*, void*, void*, void*, void*);
 typedef uint32_t (*uFEpppufppp_t)(x64emu_t*, void*, void*, void*, uint32_t, float, void*, void*, void*);
 typedef uint32_t (*uFuulpiuiuf_t)(uint32_t, uint32_t, intptr_t, void*, int32_t, uint32_t, int32_t, uint32_t, float);
+typedef uint32_t (*uFpuupuppuu_t)(void*, uint32_t, uint32_t, void*, uint32_t, void*, void*, uint32_t, uint32_t);
 typedef uint32_t (*uFppLpLuppp_t)(void*, void*, uintptr_t, void*, uintptr_t, uint32_t, void*, void*, void*);
 typedef uint32_t (*uFppppppppp_t)(void*, void*, void*, void*, void*, void*, void*, void*, void*);
 typedef intptr_t (*lFpppipiipp_t)(void*, void*, void*, int32_t, void*, int32_t, int32_t, void*, void*);
@@ -3042,6 +3070,7 @@ void fFfi(x64emu_t *emu, uintptr_t fcn) { fFfi_t fn = (fFfi_t)fcn; emu->xmm[0].f
 void fFff(x64emu_t *emu, uintptr_t fcn) { fFff_t fn = (fFff_t)fcn; emu->xmm[0].f[0]=fn(emu->xmm[0].f[0], emu->xmm[1].f[0]); }
 void fFfD(x64emu_t *emu, uintptr_t fcn) { fFfD_t fn = (fFfD_t)fcn; emu->xmm[0].f[0]=fn(emu->xmm[0].f[0], LD2localLD((void*)(R_RSP + 8))); }
 void fFfp(x64emu_t *emu, uintptr_t fcn) { fFfp_t fn = (fFfp_t)fcn; emu->xmm[0].f[0]=fn(emu->xmm[0].f[0], (void*)R_RDI); }
+void fFpu(x64emu_t *emu, uintptr_t fcn) { fFpu_t fn = (fFpu_t)fcn; emu->xmm[0].f[0]=fn((void*)R_RDI, (uint32_t)R_RSI); }
 void fFpp(x64emu_t *emu, uintptr_t fcn) { fFpp_t fn = (fFpp_t)fcn; emu->xmm[0].f[0]=fn((void*)R_RDI, (void*)R_RSI); }
 void dFid(x64emu_t *emu, uintptr_t fcn) { dFid_t fn = (dFid_t)fcn; emu->xmm[0].d[0]=fn((int32_t)R_RDI, emu->xmm[0].d[0]); }
 void dFdi(x64emu_t *emu, uintptr_t fcn) { dFdi_t fn = (dFdi_t)fcn; emu->xmm[0].d[0]=fn(emu->xmm[0].d[0], (int32_t)R_RDI); }
@@ -3838,6 +3867,7 @@ void uFpupu(x64emu_t *emu, uintptr_t fcn) { uFpupu_t fn = (uFpupu_t)fcn; R_RAX=(
 void uFpupp(x64emu_t *emu, uintptr_t fcn) { uFpupp_t fn = (uFpupp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (void*)R_RCX); }
 void uFppiu(x64emu_t *emu, uintptr_t fcn) { uFppiu_t fn = (uFppiu_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (uint32_t)R_RCX); }
 void uFppip(x64emu_t *emu, uintptr_t fcn) { uFppip_t fn = (uFppip_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (void*)R_RCX); }
+void uFppuu(x64emu_t *emu, uintptr_t fcn) { uFppuu_t fn = (uFppuu_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX); }
 void uFpplp(x64emu_t *emu, uintptr_t fcn) { uFpplp_t fn = (uFpplp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (intptr_t)R_RDX, (void*)R_RCX); }
 void uFppLp(x64emu_t *emu, uintptr_t fcn) { uFppLp_t fn = (uFppLp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (void*)R_RCX); }
 void uFpppi(x64emu_t *emu, uintptr_t fcn) { uFpppi_t fn = (uFpppi_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int32_t)R_RCX); }
@@ -4151,6 +4181,7 @@ void vFpLpiL(x64emu_t *emu, uintptr_t fcn) { vFpLpiL_t fn = (vFpLpiL_t)fcn; fn((
 void vFppiii(x64emu_t *emu, uintptr_t fcn) { vFppiii_t fn = (vFppiii_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8); }
 void vFppiiu(x64emu_t *emu, uintptr_t fcn) { vFppiiu_t fn = (vFppiiu_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (uint32_t)R_R8); }
 void vFppiip(x64emu_t *emu, uintptr_t fcn) { vFppiip_t fn = (vFppiip_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (void*)R_R8); }
+void vFppiui(x64emu_t *emu, uintptr_t fcn) { vFppiui_t fn = (vFppiui_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (uint32_t)R_RCX, (int32_t)R_R8); }
 void vFppiup(x64emu_t *emu, uintptr_t fcn) { vFppiup_t fn = (vFppiup_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (uint32_t)R_RCX, (void*)R_R8); }
 void vFppiff(x64emu_t *emu, uintptr_t fcn) { vFppiff_t fn = (vFppiff_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, emu->xmm[0].f[0], emu->xmm[1].f[0]); }
 void vFppidd(x64emu_t *emu, uintptr_t fcn) { vFppidd_t fn = (vFppidd_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, emu->xmm[0].d[0], emu->xmm[1].d[0]); }
@@ -4163,6 +4194,7 @@ void vFppuuu(x64emu_t *emu, uintptr_t fcn) { vFppuuu_t fn = (vFppuuu_t)fcn; fn((
 void vFppuup(x64emu_t *emu, uintptr_t fcn) { vFppuup_t fn = (vFppuup_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (void*)R_R8); }
 void vFppudd(x64emu_t *emu, uintptr_t fcn) { vFppudd_t fn = (vFppudd_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, emu->xmm[0].d[0], emu->xmm[1].d[0]); }
 void vFppupi(x64emu_t *emu, uintptr_t fcn) { vFppupi_t fn = (vFppupi_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (int32_t)R_R8); }
+void vFppupu(x64emu_t *emu, uintptr_t fcn) { vFppupu_t fn = (vFppupu_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (uint32_t)R_R8); }
 void vFppupp(x64emu_t *emu, uintptr_t fcn) { vFppupp_t fn = (vFppupp_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (void*)R_R8); }
 void vFppfff(x64emu_t *emu, uintptr_t fcn) { vFppfff_t fn = (vFppfff_t)fcn; fn((void*)R_RDI, (void*)R_RSI, emu->xmm[0].f[0], emu->xmm[1].f[0], emu->xmm[2].f[0]); }
 void vFppddp(x64emu_t *emu, uintptr_t fcn) { vFppddp_t fn = (vFppddp_t)fcn; fn((void*)R_RDI, (void*)R_RSI, emu->xmm[0].d[0], emu->xmm[1].d[0], (void*)R_RDX); }
@@ -4172,6 +4204,7 @@ void vFpppip(x64emu_t *emu, uintptr_t fcn) { vFpppip_t fn = (vFpppip_t)fcn; fn((
 void vFpppui(x64emu_t *emu, uintptr_t fcn) { vFpppui_t fn = (vFpppui_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uint32_t)R_RCX, (int32_t)R_R8); }
 void vFpppuu(x64emu_t *emu, uintptr_t fcn) { vFpppuu_t fn = (vFpppuu_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uint32_t)R_RCX, (uint32_t)R_R8); }
 void vFpppup(x64emu_t *emu, uintptr_t fcn) { vFpppup_t fn = (vFpppup_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uint32_t)R_RCX, (void*)R_R8); }
+void vFpppff(x64emu_t *emu, uintptr_t fcn) { vFpppff_t fn = (vFpppff_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, emu->xmm[0].f[0], emu->xmm[1].f[0]); }
 void vFpppdd(x64emu_t *emu, uintptr_t fcn) { vFpppdd_t fn = (vFpppdd_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, emu->xmm[0].d[0], emu->xmm[1].d[0]); }
 void vFppppi(x64emu_t *emu, uintptr_t fcn) { vFppppi_t fn = (vFppppi_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (int32_t)R_R8); }
 void vFppppu(x64emu_t *emu, uintptr_t fcn) { vFppppu_t fn = (vFppppu_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (uint32_t)R_R8); }
@@ -4253,9 +4286,11 @@ void iFpuuip(x64emu_t *emu, uintptr_t fcn) { iFpuuip_t fn = (iFpuuip_t)fcn; R_RA
 void iFpuuui(x64emu_t *emu, uintptr_t fcn) { iFpuuui_t fn = (iFpuuui_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (int32_t)R_R8); }
 void iFpuuup(x64emu_t *emu, uintptr_t fcn) { iFpuuup_t fn = (iFpuuup_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (void*)R_R8); }
 void iFpuuLL(x64emu_t *emu, uintptr_t fcn) { iFpuuLL_t fn = (iFpuuLL_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (uintptr_t)R_RCX, (uintptr_t)R_R8); }
+void iFpuupp(x64emu_t *emu, uintptr_t fcn) { iFpuupp_t fn = (iFpuupp_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (void*)R_R8); }
 void iFpulup(x64emu_t *emu, uintptr_t fcn) { iFpulup_t fn = (iFpulup_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (intptr_t)R_RDX, (uint32_t)R_RCX, (void*)R_R8); }
 void iFpulpp(x64emu_t *emu, uintptr_t fcn) { iFpulpp_t fn = (iFpulpp_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (intptr_t)R_RDX, (void*)R_RCX, (void*)R_R8); }
 void iFpupiU(x64emu_t *emu, uintptr_t fcn) { iFpupiU_t fn = (iFpupiU_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (uint64_t)R_R8); }
+void iFpupui(x64emu_t *emu, uintptr_t fcn) { iFpupui_t fn = (iFpupui_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (uint32_t)R_RCX, (int32_t)R_R8); }
 void iFpupuu(x64emu_t *emu, uintptr_t fcn) { iFpupuu_t fn = (iFpupuu_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (uint32_t)R_RCX, (uint32_t)R_R8); }
 void iFpupup(x64emu_t *emu, uintptr_t fcn) { iFpupup_t fn = (iFpupup_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (uint32_t)R_RCX, (void*)R_R8); }
 void iFpuppp(x64emu_t *emu, uintptr_t fcn) { iFpuppp_t fn = (iFpuppp_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8); }
@@ -4286,6 +4321,7 @@ void iFppiup(x64emu_t *emu, uintptr_t fcn) { iFppiup_t fn = (iFppiup_t)fcn; R_RA
 void iFppiLi(x64emu_t *emu, uintptr_t fcn) { iFppiLi_t fn = (iFppiLi_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (uintptr_t)R_RCX, (int32_t)R_R8); }
 void iFppiLL(x64emu_t *emu, uintptr_t fcn) { iFppiLL_t fn = (iFppiLL_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (uintptr_t)R_RCX, (uintptr_t)R_R8); }
 void iFppipi(x64emu_t *emu, uintptr_t fcn) { iFppipi_t fn = (iFppipi_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (void*)R_RCX, (int32_t)R_R8); }
+void iFppipu(x64emu_t *emu, uintptr_t fcn) { iFppipu_t fn = (iFppipu_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (void*)R_RCX, (uint32_t)R_R8); }
 void iFppipp(x64emu_t *emu, uintptr_t fcn) { iFppipp_t fn = (iFppipp_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (void*)R_RCX, (void*)R_R8); }
 void iFppuwp(x64emu_t *emu, uintptr_t fcn) { iFppuwp_t fn = (iFppuwp_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (int16_t)R_RCX, (void*)R_R8); }
 void iFppuip(x64emu_t *emu, uintptr_t fcn) { iFppuip_t fn = (iFppuip_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (int32_t)R_RCX, (void*)R_R8); }
@@ -4328,6 +4364,7 @@ void uFpWuip(x64emu_t *emu, uintptr_t fcn) { uFpWuip_t fn = (uFpWuip_t)fcn; R_RA
 void uFpuuuu(x64emu_t *emu, uintptr_t fcn) { uFpuuuu_t fn = (uFpuuuu_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (uint32_t)R_R8); }
 void uFpuupp(x64emu_t *emu, uintptr_t fcn) { uFpuupp_t fn = (uFpuupp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (void*)R_R8); }
 void uFpupuu(x64emu_t *emu, uintptr_t fcn) { uFpupuu_t fn = (uFpupuu_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (uint32_t)R_RCX, (uint32_t)R_R8); }
+void uFpuppp(x64emu_t *emu, uintptr_t fcn) { uFpuppp_t fn = (uFpuppp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8); }
 void uFppipp(x64emu_t *emu, uintptr_t fcn) { uFppipp_t fn = (uFppipp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (void*)R_RCX, (void*)R_R8); }
 void uFppuup(x64emu_t *emu, uintptr_t fcn) { uFppuup_t fn = (uFppuup_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (void*)R_R8); }
 void uFppupp(x64emu_t *emu, uintptr_t fcn) { uFppupp_t fn = (uFppupp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (void*)R_R8); }
@@ -4546,11 +4583,14 @@ void vFpuiiii(x64emu_t *emu, uintptr_t fcn) { vFpuiiii_t fn = (vFpuiiii_t)fcn; f
 void vFpuiiiu(x64emu_t *emu, uintptr_t fcn) { vFpuiiiu_t fn = (vFpuiiiu_t)fcn; fn((void*)R_RDI, (uint32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (uint32_t)R_R9); }
 void vFpuiipp(x64emu_t *emu, uintptr_t fcn) { vFpuiipp_t fn = (vFpuiipp_t)fcn; fn((void*)R_RDI, (uint32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (void*)R_R8, (void*)R_R9); }
 void vFpuuuiu(x64emu_t *emu, uintptr_t fcn) { vFpuuuiu_t fn = (vFpuuuiu_t)fcn; fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (int32_t)R_R8, (uint32_t)R_R9); }
+void vFpuuuup(x64emu_t *emu, uintptr_t fcn) { vFpuuuup_t fn = (vFpuuuup_t)fcn; fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (uint32_t)R_R8, (void*)R_R9); }
+void vFpuuupp(x64emu_t *emu, uintptr_t fcn) { vFpuuupp_t fn = (vFpuuupp_t)fcn; fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (void*)R_R8, (void*)R_R9); }
 void vFpuupuu(x64emu_t *emu, uintptr_t fcn) { vFpuupuu_t fn = (vFpuupuu_t)fcn; fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (uint32_t)R_R8, (uint32_t)R_R9); }
 void vFpuuppp(x64emu_t *emu, uintptr_t fcn) { vFpuuppp_t fn = (vFpuuppp_t)fcn; fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9); }
 void vFpudddd(x64emu_t *emu, uintptr_t fcn) { vFpudddd_t fn = (vFpudddd_t)fcn; fn((void*)R_RDI, (uint32_t)R_RSI, emu->xmm[0].d[0], emu->xmm[1].d[0], emu->xmm[2].d[0], emu->xmm[3].d[0]); }
 void vFpupiUu(x64emu_t *emu, uintptr_t fcn) { vFpupiUu_t fn = (vFpupiUu_t)fcn; fn((void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (uint64_t)R_R8, (uint32_t)R_R9); }
 void vFpupuuu(x64emu_t *emu, uintptr_t fcn) { vFpupuuu_t fn = (vFpupuuu_t)fcn; fn((void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (uint32_t)R_RCX, (uint32_t)R_R8, (uint32_t)R_R9); }
+void vFpupupu(x64emu_t *emu, uintptr_t fcn) { vFpupupu_t fn = (vFpupupu_t)fcn; fn((void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (uint32_t)R_RCX, (void*)R_R8, (uint32_t)R_R9); }
 void vFpuppuu(x64emu_t *emu, uintptr_t fcn) { vFpuppuu_t fn = (vFpuppuu_t)fcn; fn((void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (uint32_t)R_R8, (uint32_t)R_R9); }
 void vFpupppp(x64emu_t *emu, uintptr_t fcn) { vFpupppp_t fn = (vFpupppp_t)fcn; fn((void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9); }
 void vFpUiuup(x64emu_t *emu, uintptr_t fcn) { vFpUiuup_t fn = (vFpUiuup_t)fcn; fn((void*)R_RDI, (uint64_t)R_RSI, (int32_t)R_RDX, (uint32_t)R_RCX, (uint32_t)R_R8, (void*)R_R9); }
@@ -4648,7 +4688,10 @@ void iFpWpppp(x64emu_t *emu, uintptr_t fcn) { iFpWpppp_t fn = (iFpWpppp_t)fcn; R
 void iFpuiCpp(x64emu_t *emu, uintptr_t fcn) { iFpuiCpp_t fn = (iFpuiCpp_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (int32_t)R_RDX, (uint8_t)R_RCX, (void*)R_R8, (void*)R_R9); }
 void iFpuippp(x64emu_t *emu, uintptr_t fcn) { iFpuippp_t fn = (iFpuippp_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (int32_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9); }
 void iFpuuuuu(x64emu_t *emu, uintptr_t fcn) { iFpuuuuu_t fn = (iFpuuuuu_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (uint32_t)R_R8, (uint32_t)R_R9); }
+void iFpuuuup(x64emu_t *emu, uintptr_t fcn) { iFpuuuup_t fn = (iFpuuuup_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (uint32_t)R_R8, (void*)R_R9); }
+void iFpuuupp(x64emu_t *emu, uintptr_t fcn) { iFpuuupp_t fn = (iFpuuupp_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (void*)R_R8, (void*)R_R9); }
 void iFpuupuu(x64emu_t *emu, uintptr_t fcn) { iFpuupuu_t fn = (iFpuupuu_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (uint32_t)R_R8, (uint32_t)R_R9); }
+void iFpuuppp(x64emu_t *emu, uintptr_t fcn) { iFpuuppp_t fn = (iFpuuppp_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9); }
 void iFpuLLpp(x64emu_t *emu, uintptr_t fcn) { iFpuLLpp_t fn = (iFpuLLpp_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (uintptr_t)R_RDX, (uintptr_t)R_RCX, (void*)R_R8, (void*)R_R9); }
 void iFpupuui(x64emu_t *emu, uintptr_t fcn) { iFpupuui_t fn = (iFpupuui_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (uint32_t)R_RCX, (uint32_t)R_R8, (int32_t)R_R9); }
 void iFpupLpL(x64emu_t *emu, uintptr_t fcn) { iFpupLpL_t fn = (iFpupLpL_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (uintptr_t)R_RCX, (void*)R_R8, (uintptr_t)R_R9); }
@@ -4678,6 +4721,7 @@ void iFppiupp(x64emu_t *emu, uintptr_t fcn) { iFppiupp_t fn = (iFppiupp_t)fcn; R
 void iFppipii(x64emu_t *emu, uintptr_t fcn) { iFppipii_t fn = (iFppipii_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (void*)R_RCX, (int32_t)R_R8, (int32_t)R_R9); }
 void iFppipiL(x64emu_t *emu, uintptr_t fcn) { iFppipiL_t fn = (iFppipiL_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (void*)R_RCX, (int32_t)R_R8, (uintptr_t)R_R9); }
 void iFppipip(x64emu_t *emu, uintptr_t fcn) { iFppipip_t fn = (iFppipip_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (void*)R_RCX, (int32_t)R_R8, (void*)R_R9); }
+void iFppippu(x64emu_t *emu, uintptr_t fcn) { iFppippu_t fn = (iFppippu_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (void*)R_RCX, (void*)R_R8, (uint32_t)R_R9); }
 void iFppIppp(x64emu_t *emu, uintptr_t fcn) { iFppIppp_t fn = (iFppIppp_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9); }
 void iFppuiii(x64emu_t *emu, uintptr_t fcn) { iFppuiii_t fn = (iFppuiii_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9); }
 void iFppuIII(x64emu_t *emu, uintptr_t fcn) { iFppuIII_t fn = (iFppuIII_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9); }
@@ -4718,6 +4762,9 @@ void uFpWuipp(x64emu_t *emu, uintptr_t fcn) { uFpWuipp_t fn = (uFpWuipp_t)fcn; R
 void uFpWuuCp(x64emu_t *emu, uintptr_t fcn) { uFpWuuCp_t fn = (uFpWuuCp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uint16_t)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (uint8_t)R_R8, (void*)R_R9); }
 void uFpuippp(x64emu_t *emu, uintptr_t fcn) { uFpuippp_t fn = (uFpuippp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (int32_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9); }
 void uFpuuuup(x64emu_t *emu, uintptr_t fcn) { uFpuuuup_t fn = (uFpuuuup_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (uint32_t)R_R8, (void*)R_R9); }
+void uFpuuupp(x64emu_t *emu, uintptr_t fcn) { uFpuuupp_t fn = (uFpuuupp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (void*)R_R8, (void*)R_R9); }
+void uFpuuppp(x64emu_t *emu, uintptr_t fcn) { uFpuuppp_t fn = (uFpuuppp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9); }
+void uFpupupu(x64emu_t *emu, uintptr_t fcn) { uFpupupu_t fn = (uFpupupu_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (uint32_t)R_RCX, (void*)R_R8, (uint32_t)R_R9); }
 void uFppippp(x64emu_t *emu, uintptr_t fcn) { uFppippp_t fn = (uFppippp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9); }
 void uFppuuup(x64emu_t *emu, uintptr_t fcn) { uFppuuup_t fn = (uFppuuup_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (uint32_t)R_R8, (void*)R_R9); }
 void uFppuupu(x64emu_t *emu, uintptr_t fcn) { uFppuupu_t fn = (uFppuupu_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (void*)R_R8, (uint32_t)R_R9); }
@@ -4872,6 +4919,7 @@ void vFpipipii(x64emu_t *emu, uintptr_t fcn) { vFpipipii_t fn = (vFpipipii_t)fcn
 void vFpippppu(x64emu_t *emu, uintptr_t fcn) { vFpippppu_t fn = (vFpippppu_t)fcn; fn((void*)R_RDI, (int32_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(uint32_t*)(R_RSP + 8)); }
 void vFpuuuuuu(x64emu_t *emu, uintptr_t fcn) { vFpuuuuuu_t fn = (vFpuuuuuu_t)fcn; fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (uint32_t)R_R8, (uint32_t)R_R9, *(uint32_t*)(R_RSP + 8)); }
 void vFpuuUUuu(x64emu_t *emu, uintptr_t fcn) { vFpuuUUuu_t fn = (vFpuuUUuu_t)fcn; fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (uint64_t)R_RCX, (uint64_t)R_R8, (uint32_t)R_R9, *(uint32_t*)(R_RSP + 8)); }
+void vFpuupupu(x64emu_t *emu, uintptr_t fcn) { vFpuupupu_t fn = (vFpuupupu_t)fcn; fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (uint32_t)R_R8, (void*)R_R9, *(uint32_t*)(R_RSP + 8)); }
 void vFpuupppp(x64emu_t *emu, uintptr_t fcn) { vFpuupppp_t fn = (vFpuupppp_t)fcn; fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); }
 void vFpupuuup(x64emu_t *emu, uintptr_t fcn) { vFpupuuup_t fn = (vFpupuuup_t)fcn; fn((void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (uint32_t)R_RCX, (uint32_t)R_R8, (uint32_t)R_R9, *(void**)(R_RSP + 8)); }
 void vFpupppui(x64emu_t *emu, uintptr_t fcn) { vFpupppui_t fn = (vFpupppui_t)fcn; fn((void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (uint32_t)R_R9, *(int32_t*)(R_RSP + 8)); }
@@ -4906,6 +4954,7 @@ void vFpppiipp(x64emu_t *emu, uintptr_t fcn) { vFpppiipp_t fn = (vFpppiipp_t)fcn
 void vFpppiupi(x64emu_t *emu, uintptr_t fcn) { vFpppiupi_t fn = (vFpppiupi_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (uint32_t)R_R8, (void*)R_R9, *(int32_t*)(R_RSP + 8)); }
 void vFpppippi(x64emu_t *emu, uintptr_t fcn) { vFpppippi_t fn = (vFpppippi_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (void*)R_R8, (void*)R_R9, *(int32_t*)(R_RSP + 8)); }
 void vFpppuuuu(x64emu_t *emu, uintptr_t fcn) { vFpppuuuu_t fn = (vFpppuuuu_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uint32_t)R_RCX, (uint32_t)R_R8, (uint32_t)R_R9, *(uint32_t*)(R_RSP + 8)); }
+void vFpppffff(x64emu_t *emu, uintptr_t fcn) { vFpppffff_t fn = (vFpppffff_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, emu->xmm[0].f[0], emu->xmm[1].f[0], emu->xmm[2].f[0], emu->xmm[3].f[0]); }
 void vFppppiip(x64emu_t *emu, uintptr_t fcn) { vFppppiip_t fn = (vFppppiip_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(void**)(R_RSP + 8)); }
 void vFppppiui(x64emu_t *emu, uintptr_t fcn) { vFppppiui_t fn = (vFppppiui_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (int32_t)R_R8, (uint32_t)R_R9, *(int32_t*)(R_RSP + 8)); }
 void vFppppipi(x64emu_t *emu, uintptr_t fcn) { vFppppipi_t fn = (vFppppipi_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (int32_t)R_R8, (void*)R_R9, *(int32_t*)(R_RSP + 8)); }
@@ -4995,6 +5044,8 @@ void uFEpppppp(x64emu_t *emu, uintptr_t fcn) { uFEpppppp_t fn = (uFEpppppp_t)fcn
 void uFiiiuuuu(x64emu_t *emu, uintptr_t fcn) { uFiiiuuuu_t fn = (uFiiiuuuu_t)fcn; R_RAX=(uint32_t)fn((int32_t)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (uint32_t)R_RCX, (uint32_t)R_R8, (uint32_t)R_R9, *(uint32_t*)(R_RSP + 8)); }
 void uFuippppp(x64emu_t *emu, uintptr_t fcn) { uFuippppp_t fn = (uFuippppp_t)fcn; R_RAX=(uint32_t)fn((uint32_t)R_RDI, (int32_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); }
 void uFpippppp(x64emu_t *emu, uintptr_t fcn) { uFpippppp_t fn = (uFpippppp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (int32_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); }
+void uFpuuuupp(x64emu_t *emu, uintptr_t fcn) { uFpuuuupp_t fn = (uFpuuuupp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (uint32_t)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); }
+void uFpuuuppp(x64emu_t *emu, uintptr_t fcn) { uFpuuuppp_t fn = (uFpuuuppp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); }
 void uFpuupppp(x64emu_t *emu, uintptr_t fcn) { uFpuupppp_t fn = (uFpuupppp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); }
 void uFppiuppp(x64emu_t *emu, uintptr_t fcn) { uFppiuppp_t fn = (uFppiuppp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (uint32_t)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); }
 void uFppuuuup(x64emu_t *emu, uintptr_t fcn) { uFppuuuup_t fn = (uFppuuuup_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (uint32_t)R_R8, (uint32_t)R_R9, *(void**)(R_RSP + 8)); }
@@ -5045,6 +5096,7 @@ void pFpppCCCi(x64emu_t *emu, uintptr_t fcn) { pFpppCCCi_t fn = (pFpppCCCi_t)fcn
 void pFpppuipp(x64emu_t *emu, uintptr_t fcn) { pFpppuipp_t fn = (pFpppuipp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uint32_t)R_RCX, (int32_t)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); }
 void pFpppuuui(x64emu_t *emu, uintptr_t fcn) { pFpppuuui_t fn = (pFpppuuui_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uint32_t)R_RCX, (uint32_t)R_R8, (uint32_t)R_R9, *(int32_t*)(R_RSP + 8)); }
 void pFpppuupp(x64emu_t *emu, uintptr_t fcn) { pFpppuupp_t fn = (pFpppuupp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uint32_t)R_RCX, (uint32_t)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); }
+void pFpppupup(x64emu_t *emu, uintptr_t fcn) { pFpppupup_t fn = (pFpppupup_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uint32_t)R_RCX, (void*)R_R8, (uint32_t)R_R9, *(void**)(R_RSP + 8)); }
 void pFpppuppp(x64emu_t *emu, uintptr_t fcn) { pFpppuppp_t fn = (pFpppuppp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uint32_t)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); }
 void pFpppfffi(x64emu_t *emu, uintptr_t fcn) { pFpppfffi_t fn = (pFpppfffi_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, emu->xmm[0].f[0], emu->xmm[1].f[0], emu->xmm[2].f[0], (int32_t)R_RCX); }
 void pFpppdddi(x64emu_t *emu, uintptr_t fcn) { pFpppdddi_t fn = (pFpppdddi_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, emu->xmm[0].d[0], emu->xmm[1].d[0], emu->xmm[2].d[0], (int32_t)R_RCX); }
@@ -5143,6 +5195,7 @@ void iFpuuiiiii(x64emu_t *emu, uintptr_t fcn) { iFpuuiiiii_t fn = (iFpuuiiiii_t)
 void iFpuuipppp(x64emu_t *emu, uintptr_t fcn) { iFpuuipppp_t fn = (iFpuuipppp_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (int32_t)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16)); }
 void iFpuuupupu(x64emu_t *emu, uintptr_t fcn) { iFpuuupupu_t fn = (iFpuuupupu_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (void*)R_R8, (uint32_t)R_R9, *(void**)(R_RSP + 8), *(uint32_t*)(R_RSP + 16)); }
 void iFpuupuupp(x64emu_t *emu, uintptr_t fcn) { iFpuupuupp_t fn = (iFpuupuupp_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (uint32_t)R_R8, (uint32_t)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16)); }
+void iFpuuppppp(x64emu_t *emu, uintptr_t fcn) { iFpuuppppp_t fn = (iFpuuppppp_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16)); }
 void iFpupppWWu(x64emu_t *emu, uintptr_t fcn) { iFpupppWWu_t fn = (iFpupppWWu_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (uint16_t)R_R9, *(uint16_t*)(R_RSP + 8), *(uint32_t*)(R_RSP + 16)); }
 void iFpupppppp(x64emu_t *emu, uintptr_t fcn) { iFpupppppp_t fn = (iFpupppppp_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16)); }
 void iFpUuuLpUi(x64emu_t *emu, uintptr_t fcn) { iFpUuuLpUi_t fn = (iFpUuuLpUi_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uint64_t)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (uintptr_t)R_R8, (void*)R_R9, *(uint64_t*)(R_RSP + 8), *(int32_t*)(R_RSP + 16)); }
@@ -5174,6 +5227,7 @@ void uFEppppppp(x64emu_t *emu, uintptr_t fcn) { uFEppppppp_t fn = (uFEppppppp_t)
 void uFuipppppp(x64emu_t *emu, uintptr_t fcn) { uFuipppppp_t fn = (uFuipppppp_t)fcn; R_RAX=(uint32_t)fn((uint32_t)R_RDI, (int32_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16)); }
 void uFuupuuiuf(x64emu_t *emu, uintptr_t fcn) { uFuupuuiuf_t fn = (uFuupuuiuf_t)fcn; R_RAX=(uint32_t)fn((uint32_t)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (uint32_t)R_RCX, (uint32_t)R_R8, (int32_t)R_R9, *(uint32_t*)(R_RSP + 8), emu->xmm[0].f[0]); }
 void uFulpppppp(x64emu_t *emu, uintptr_t fcn) { uFulpppppp_t fn = (uFulpppppp_t)fcn; R_RAX=(uint32_t)fn((uint32_t)R_RDI, (intptr_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16)); }
+void uFpuupupuu(x64emu_t *emu, uintptr_t fcn) { uFpuupupuu_t fn = (uFpuupupuu_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (uint32_t)R_R8, (void*)R_R9, *(uint32_t*)(R_RSP + 8), *(uint32_t*)(R_RSP + 16)); }
 void uFpupuuuCp(x64emu_t *emu, uintptr_t fcn) { uFpupuuuCp_t fn = (uFpupuuuCp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (uint32_t)R_RCX, (uint32_t)R_R8, (uint32_t)R_R9, *(uint8_t*)(R_RSP + 8), *(void**)(R_RSP + 16)); }
 void uFppuuuupp(x64emu_t *emu, uintptr_t fcn) { uFppuuuupp_t fn = (uFppuuuupp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (uint32_t)R_R8, (uint32_t)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16)); }
 void uFppuuuppu(x64emu_t *emu, uintptr_t fcn) { uFppuuuppu_t fn = (uFppuuuppu_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (uint32_t)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(uint32_t*)(R_RSP + 16)); }
@@ -5267,6 +5321,7 @@ void vFppUUiUUUU(x64emu_t *emu, uintptr_t fcn) { vFppUUiUUUU_t fn = (vFppUUiUUUU
 void vFppddddudd(x64emu_t *emu, uintptr_t fcn) { vFppddddudd_t fn = (vFppddddudd_t)fcn; fn((void*)R_RDI, (void*)R_RSI, emu->xmm[0].d[0], emu->xmm[1].d[0], emu->xmm[2].d[0], emu->xmm[3].d[0], (uint32_t)R_RDX, emu->xmm[4].d[0], emu->xmm[5].d[0]); }
 void vFpplpppppi(x64emu_t *emu, uintptr_t fcn) { vFpplpppppi_t fn = (vFpplpppppi_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (intptr_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16), *(int32_t*)(R_RSP + 24)); }
 void vFpppiiiiii(x64emu_t *emu, uintptr_t fcn) { vFpppiiiiii_t fn = (vFpppiiiiii_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(int32_t*)(R_RSP + 8), *(int32_t*)(R_RSP + 16), *(int32_t*)(R_RSP + 24)); }
+void vFpppffffff(x64emu_t *emu, uintptr_t fcn) { vFpppffffff_t fn = (vFpppffffff_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, emu->xmm[0].f[0], emu->xmm[1].f[0], emu->xmm[2].f[0], emu->xmm[3].f[0], emu->xmm[4].f[0], emu->xmm[5].f[0]); }
 void vFppppipiip(x64emu_t *emu, uintptr_t fcn) { vFppppipiip_t fn = (vFppppipiip_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (int32_t)R_R8, (void*)R_R9, *(int32_t*)(R_RSP + 8), *(int32_t*)(R_RSP + 16), *(void**)(R_RSP + 24)); }
 void vFpppppippp(x64emu_t *emu, uintptr_t fcn) { vFpppppippp_t fn = (vFpppppippp_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (int32_t)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24)); }
 void iFEpiiiiipi(x64emu_t *emu, uintptr_t fcn) { iFEpiiiiipi_t fn = (iFEpiiiiipi_t)fcn; R_RAX=(int32_t)fn(emu, (void*)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(void**)(R_RSP + 8), *(int32_t*)(R_RSP + 16)); }
@@ -5301,6 +5356,7 @@ void iFppppppppp(x64emu_t *emu, uintptr_t fcn) { iFppppppppp_t fn = (iFppppppppp
 void uFEipippppp(x64emu_t *emu, uintptr_t fcn) { uFEipippppp_t fn = (uFEipippppp_t)fcn; R_RAX=(uint32_t)fn(emu, (int32_t)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16)); }
 void uFEpppufppp(x64emu_t *emu, uintptr_t fcn) { uFEpppufppp_t fn = (uFEpppufppp_t)fcn; R_RAX=(uint32_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uint32_t)R_RCX, emu->xmm[0].f[0], (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); }
 void uFuulpiuiuf(x64emu_t *emu, uintptr_t fcn) { uFuulpiuiuf_t fn = (uFuulpiuiuf_t)fcn; R_RAX=(uint32_t)fn((uint32_t)R_RDI, (uint32_t)R_RSI, (intptr_t)R_RDX, (void*)R_RCX, (int32_t)R_R8, (uint32_t)R_R9, *(int32_t*)(R_RSP + 8), *(uint32_t*)(R_RSP + 16), emu->xmm[0].f[0]); }
+void uFpuupuppuu(x64emu_t *emu, uintptr_t fcn) { uFpuupuppuu_t fn = (uFpuupuppuu_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (uint32_t)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(uint32_t*)(R_RSP + 16), *(uint32_t*)(R_RSP + 24)); }
 void uFppLpLuppp(x64emu_t *emu, uintptr_t fcn) { uFppLpLuppp_t fn = (uFppLpLuppp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (void*)R_RCX, (uintptr_t)R_R8, (uint32_t)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24)); }
 void uFppppppppp(x64emu_t *emu, uintptr_t fcn) { uFppppppppp_t fn = (uFppppppppp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24)); }
 void lFpppipiipp(x64emu_t *emu, uintptr_t fcn) { lFpppipiipp_t fn = (lFpppipiipp_t)fcn; R_RAX=(intptr_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (void*)R_R8, (int32_t)R_R9, *(int32_t*)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24)); }
@@ -5790,6 +5846,7 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &fFfi) return -2;
 	if (fun == &fFff) return -3;
 	if (fun == &fFfp) return -2;
+	if (fun == &fFpu) return -1;
 	if (fun == &fFpp) return -1;
 	if (fun == &dFid) return -2;
 	if (fun == &dFdi) return -2;
@@ -6457,6 +6514,7 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &uFpupp) return 1;
 	if (fun == &uFppiu) return 1;
 	if (fun == &uFppip) return 1;
+	if (fun == &uFppuu) return 1;
 	if (fun == &uFpplp) return 1;
 	if (fun == &uFppLp) return 1;
 	if (fun == &uFpppi) return 1;
@@ -6722,6 +6780,7 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &vFppiii) return 1;
 	if (fun == &vFppiiu) return 1;
 	if (fun == &vFppiip) return 1;
+	if (fun == &vFppiui) return 1;
 	if (fun == &vFppiup) return 1;
 	if (fun == &vFppiff) return 3;
 	if (fun == &vFppidd) return 3;
@@ -6734,6 +6793,7 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &vFppuup) return 1;
 	if (fun == &vFppudd) return 3;
 	if (fun == &vFppupi) return 1;
+	if (fun == &vFppupu) return 1;
 	if (fun == &vFppupp) return 1;
 	if (fun == &vFppfff) return 4;
 	if (fun == &vFppddp) return 3;
@@ -6743,6 +6803,7 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &vFpppui) return 1;
 	if (fun == &vFpppuu) return 1;
 	if (fun == &vFpppup) return 1;
+	if (fun == &vFpppff) return 3;
 	if (fun == &vFpppdd) return 3;
 	if (fun == &vFppppi) return 1;
 	if (fun == &vFppppu) return 1;
@@ -6800,9 +6861,11 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &iFpuuui) return 1;
 	if (fun == &iFpuuup) return 1;
 	if (fun == &iFpuuLL) return 1;
+	if (fun == &iFpuupp) return 1;
 	if (fun == &iFpulup) return 1;
 	if (fun == &iFpulpp) return 1;
 	if (fun == &iFpupiU) return 1;
+	if (fun == &iFpupui) return 1;
 	if (fun == &iFpupuu) return 1;
 	if (fun == &iFpupup) return 1;
 	if (fun == &iFpuppp) return 1;
@@ -6833,6 +6896,7 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &iFppiLi) return 1;
 	if (fun == &iFppiLL) return 1;
 	if (fun == &iFppipi) return 1;
+	if (fun == &iFppipu) return 1;
 	if (fun == &iFppipp) return 1;
 	if (fun == &iFppuwp) return 1;
 	if (fun == &iFppuip) return 1;
@@ -6870,6 +6934,7 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &uFpuuuu) return 1;
 	if (fun == &uFpuupp) return 1;
 	if (fun == &uFpupuu) return 1;
+	if (fun == &uFpuppp) return 1;
 	if (fun == &uFppipp) return 1;
 	if (fun == &uFppuup) return 1;
 	if (fun == &uFppupp) return 1;
@@ -7047,11 +7112,14 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &vFpuiiiu) return 1;
 	if (fun == &vFpuiipp) return 1;
 	if (fun == &vFpuuuiu) return 1;
+	if (fun == &vFpuuuup) return 1;
+	if (fun == &vFpuuupp) return 1;
 	if (fun == &vFpuupuu) return 1;
 	if (fun == &vFpuuppp) return 1;
 	if (fun == &vFpudddd) return 5;
 	if (fun == &vFpupiUu) return 1;
 	if (fun == &vFpupuuu) return 1;
+	if (fun == &vFpupupu) return 1;
 	if (fun == &vFpuppuu) return 1;
 	if (fun == &vFpupppp) return 1;
 	if (fun == &vFpUiuup) return 1;
@@ -7135,7 +7203,10 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &iFpuiCpp) return 1;
 	if (fun == &iFpuippp) return 1;
 	if (fun == &iFpuuuuu) return 1;
+	if (fun == &iFpuuuup) return 1;
+	if (fun == &iFpuuupp) return 1;
 	if (fun == &iFpuupuu) return 1;
+	if (fun == &iFpuuppp) return 1;
 	if (fun == &iFpuLLpp) return 1;
 	if (fun == &iFpupuui) return 1;
 	if (fun == &iFpupLpL) return 1;
@@ -7165,6 +7236,7 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &iFppipii) return 1;
 	if (fun == &iFppipiL) return 1;
 	if (fun == &iFppipip) return 1;
+	if (fun == &iFppippu) return 1;
 	if (fun == &iFppIppp) return 1;
 	if (fun == &iFppuiii) return 1;
 	if (fun == &iFppuIII) return 1;
@@ -7201,6 +7273,9 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &uFpWuuCp) return 1;
 	if (fun == &uFpuippp) return 1;
 	if (fun == &uFpuuuup) return 1;
+	if (fun == &uFpuuupp) return 1;
+	if (fun == &uFpuuppp) return 1;
+	if (fun == &uFpupupu) return 1;
 	if (fun == &uFppippp) return 1;
 	if (fun == &uFppuuup) return 1;
 	if (fun == &uFppuupu) return 1;
@@ -7278,6 +7353,7 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &vFpdddddd) return 7;
 	if (fun == &vFppddddu) return 5;
 	if (fun == &vFppddpiu) return 3;
+	if (fun == &vFpppffff) return 5;
 	if (fun == &iFppppdpu) return 2;
 	if (fun == &pFifffppp) return 4;
 	if (fun == &pFfiiiiid) return 3;
@@ -7293,6 +7369,7 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &vFuffffffff) return 9;
 	if (fun == &vFffCCCCfff) return 6;
 	if (fun == &vFppddddudd) return 7;
+	if (fun == &vFpppffffff) return 7;
 	if (fun == &iFdddpppppp) return 4;
 	if (fun == &vFuffiiffiip) return 5;
 	if (fun == &vFuddiiddiip) return 5;
diff --git a/src/wrapped/generated/wrapper.h b/src/wrapped/generated/wrapper.h
index 0de8baad..882ceb15 100644
--- a/src/wrapped/generated/wrapper.h
+++ b/src/wrapped/generated/wrapper.h
@@ -275,6 +275,7 @@ void fFfi(x64emu_t *emu, uintptr_t fnc);
 void fFff(x64emu_t *emu, uintptr_t fnc);
 void fFfD(x64emu_t *emu, uintptr_t fnc);
 void fFfp(x64emu_t *emu, uintptr_t fnc);
+void fFpu(x64emu_t *emu, uintptr_t fnc);
 void fFpp(x64emu_t *emu, uintptr_t fnc);
 void dFid(x64emu_t *emu, uintptr_t fnc);
 void dFdi(x64emu_t *emu, uintptr_t fnc);
@@ -1071,6 +1072,7 @@ void uFpupu(x64emu_t *emu, uintptr_t fnc);
 void uFpupp(x64emu_t *emu, uintptr_t fnc);
 void uFppiu(x64emu_t *emu, uintptr_t fnc);
 void uFppip(x64emu_t *emu, uintptr_t fnc);
+void uFppuu(x64emu_t *emu, uintptr_t fnc);
 void uFpplp(x64emu_t *emu, uintptr_t fnc);
 void uFppLp(x64emu_t *emu, uintptr_t fnc);
 void uFpppi(x64emu_t *emu, uintptr_t fnc);
@@ -1384,6 +1386,7 @@ void vFpLpiL(x64emu_t *emu, uintptr_t fnc);
 void vFppiii(x64emu_t *emu, uintptr_t fnc);
 void vFppiiu(x64emu_t *emu, uintptr_t fnc);
 void vFppiip(x64emu_t *emu, uintptr_t fnc);
+void vFppiui(x64emu_t *emu, uintptr_t fnc);
 void vFppiup(x64emu_t *emu, uintptr_t fnc);
 void vFppiff(x64emu_t *emu, uintptr_t fnc);
 void vFppidd(x64emu_t *emu, uintptr_t fnc);
@@ -1396,6 +1399,7 @@ void vFppuuu(x64emu_t *emu, uintptr_t fnc);
 void vFppuup(x64emu_t *emu, uintptr_t fnc);
 void vFppudd(x64emu_t *emu, uintptr_t fnc);
 void vFppupi(x64emu_t *emu, uintptr_t fnc);
+void vFppupu(x64emu_t *emu, uintptr_t fnc);
 void vFppupp(x64emu_t *emu, uintptr_t fnc);
 void vFppfff(x64emu_t *emu, uintptr_t fnc);
 void vFppddp(x64emu_t *emu, uintptr_t fnc);
@@ -1405,6 +1409,7 @@ void vFpppip(x64emu_t *emu, uintptr_t fnc);
 void vFpppui(x64emu_t *emu, uintptr_t fnc);
 void vFpppuu(x64emu_t *emu, uintptr_t fnc);
 void vFpppup(x64emu_t *emu, uintptr_t fnc);
+void vFpppff(x64emu_t *emu, uintptr_t fnc);
 void vFpppdd(x64emu_t *emu, uintptr_t fnc);
 void vFppppi(x64emu_t *emu, uintptr_t fnc);
 void vFppppu(x64emu_t *emu, uintptr_t fnc);
@@ -1486,9 +1491,11 @@ void iFpuuip(x64emu_t *emu, uintptr_t fnc);
 void iFpuuui(x64emu_t *emu, uintptr_t fnc);
 void iFpuuup(x64emu_t *emu, uintptr_t fnc);
 void iFpuuLL(x64emu_t *emu, uintptr_t fnc);
+void iFpuupp(x64emu_t *emu, uintptr_t fnc);
 void iFpulup(x64emu_t *emu, uintptr_t fnc);
 void iFpulpp(x64emu_t *emu, uintptr_t fnc);
 void iFpupiU(x64emu_t *emu, uintptr_t fnc);
+void iFpupui(x64emu_t *emu, uintptr_t fnc);
 void iFpupuu(x64emu_t *emu, uintptr_t fnc);
 void iFpupup(x64emu_t *emu, uintptr_t fnc);
 void iFpuppp(x64emu_t *emu, uintptr_t fnc);
@@ -1519,6 +1526,7 @@ void iFppiup(x64emu_t *emu, uintptr_t fnc);
 void iFppiLi(x64emu_t *emu, uintptr_t fnc);
 void iFppiLL(x64emu_t *emu, uintptr_t fnc);
 void iFppipi(x64emu_t *emu, uintptr_t fnc);
+void iFppipu(x64emu_t *emu, uintptr_t fnc);
 void iFppipp(x64emu_t *emu, uintptr_t fnc);
 void iFppuwp(x64emu_t *emu, uintptr_t fnc);
 void iFppuip(x64emu_t *emu, uintptr_t fnc);
@@ -1561,6 +1569,7 @@ void uFpWuip(x64emu_t *emu, uintptr_t fnc);
 void uFpuuuu(x64emu_t *emu, uintptr_t fnc);
 void uFpuupp(x64emu_t *emu, uintptr_t fnc);
 void uFpupuu(x64emu_t *emu, uintptr_t fnc);
+void uFpuppp(x64emu_t *emu, uintptr_t fnc);
 void uFppipp(x64emu_t *emu, uintptr_t fnc);
 void uFppuup(x64emu_t *emu, uintptr_t fnc);
 void uFppupp(x64emu_t *emu, uintptr_t fnc);
@@ -1779,11 +1788,14 @@ void vFpuiiii(x64emu_t *emu, uintptr_t fnc);
 void vFpuiiiu(x64emu_t *emu, uintptr_t fnc);
 void vFpuiipp(x64emu_t *emu, uintptr_t fnc);
 void vFpuuuiu(x64emu_t *emu, uintptr_t fnc);
+void vFpuuuup(x64emu_t *emu, uintptr_t fnc);
+void vFpuuupp(x64emu_t *emu, uintptr_t fnc);
 void vFpuupuu(x64emu_t *emu, uintptr_t fnc);
 void vFpuuppp(x64emu_t *emu, uintptr_t fnc);
 void vFpudddd(x64emu_t *emu, uintptr_t fnc);
 void vFpupiUu(x64emu_t *emu, uintptr_t fnc);
 void vFpupuuu(x64emu_t *emu, uintptr_t fnc);
+void vFpupupu(x64emu_t *emu, uintptr_t fnc);
 void vFpuppuu(x64emu_t *emu, uintptr_t fnc);
 void vFpupppp(x64emu_t *emu, uintptr_t fnc);
 void vFpUiuup(x64emu_t *emu, uintptr_t fnc);
@@ -1881,7 +1893,10 @@ void iFpWpppp(x64emu_t *emu, uintptr_t fnc);
 void iFpuiCpp(x64emu_t *emu, uintptr_t fnc);
 void iFpuippp(x64emu_t *emu, uintptr_t fnc);
 void iFpuuuuu(x64emu_t *emu, uintptr_t fnc);
+void iFpuuuup(x64emu_t *emu, uintptr_t fnc);
+void iFpuuupp(x64emu_t *emu, uintptr_t fnc);
 void iFpuupuu(x64emu_t *emu, uintptr_t fnc);
+void iFpuuppp(x64emu_t *emu, uintptr_t fnc);
 void iFpuLLpp(x64emu_t *emu, uintptr_t fnc);
 void iFpupuui(x64emu_t *emu, uintptr_t fnc);
 void iFpupLpL(x64emu_t *emu, uintptr_t fnc);
@@ -1911,6 +1926,7 @@ void iFppiupp(x64emu_t *emu, uintptr_t fnc);
 void iFppipii(x64emu_t *emu, uintptr_t fnc);
 void iFppipiL(x64emu_t *emu, uintptr_t fnc);
 void iFppipip(x64emu_t *emu, uintptr_t fnc);
+void iFppippu(x64emu_t *emu, uintptr_t fnc);
 void iFppIppp(x64emu_t *emu, uintptr_t fnc);
 void iFppuiii(x64emu_t *emu, uintptr_t fnc);
 void iFppuIII(x64emu_t *emu, uintptr_t fnc);
@@ -1951,6 +1967,9 @@ void uFpWuipp(x64emu_t *emu, uintptr_t fnc);
 void uFpWuuCp(x64emu_t *emu, uintptr_t fnc);
 void uFpuippp(x64emu_t *emu, uintptr_t fnc);
 void uFpuuuup(x64emu_t *emu, uintptr_t fnc);
+void uFpuuupp(x64emu_t *emu, uintptr_t fnc);
+void uFpuuppp(x64emu_t *emu, uintptr_t fnc);
+void uFpupupu(x64emu_t *emu, uintptr_t fnc);
 void uFppippp(x64emu_t *emu, uintptr_t fnc);
 void uFppuuup(x64emu_t *emu, uintptr_t fnc);
 void uFppuupu(x64emu_t *emu, uintptr_t fnc);
@@ -2105,6 +2124,7 @@ void vFpipipii(x64emu_t *emu, uintptr_t fnc);
 void vFpippppu(x64emu_t *emu, uintptr_t fnc);
 void vFpuuuuuu(x64emu_t *emu, uintptr_t fnc);
 void vFpuuUUuu(x64emu_t *emu, uintptr_t fnc);
+void vFpuupupu(x64emu_t *emu, uintptr_t fnc);
 void vFpuupppp(x64emu_t *emu, uintptr_t fnc);
 void vFpupuuup(x64emu_t *emu, uintptr_t fnc);
 void vFpupppui(x64emu_t *emu, uintptr_t fnc);
@@ -2139,6 +2159,7 @@ void vFpppiipp(x64emu_t *emu, uintptr_t fnc);
 void vFpppiupi(x64emu_t *emu, uintptr_t fnc);
 void vFpppippi(x64emu_t *emu, uintptr_t fnc);
 void vFpppuuuu(x64emu_t *emu, uintptr_t fnc);
+void vFpppffff(x64emu_t *emu, uintptr_t fnc);
 void vFppppiip(x64emu_t *emu, uintptr_t fnc);
 void vFppppiui(x64emu_t *emu, uintptr_t fnc);
 void vFppppipi(x64emu_t *emu, uintptr_t fnc);
@@ -2228,6 +2249,8 @@ void uFEpppppp(x64emu_t *emu, uintptr_t fnc);
 void uFiiiuuuu(x64emu_t *emu, uintptr_t fnc);
 void uFuippppp(x64emu_t *emu, uintptr_t fnc);
 void uFpippppp(x64emu_t *emu, uintptr_t fnc);
+void uFpuuuupp(x64emu_t *emu, uintptr_t fnc);
+void uFpuuuppp(x64emu_t *emu, uintptr_t fnc);
 void uFpuupppp(x64emu_t *emu, uintptr_t fnc);
 void uFppiuppp(x64emu_t *emu, uintptr_t fnc);
 void uFppuuuup(x64emu_t *emu, uintptr_t fnc);
@@ -2278,6 +2301,7 @@ void pFpppCCCi(x64emu_t *emu, uintptr_t fnc);
 void pFpppuipp(x64emu_t *emu, uintptr_t fnc);
 void pFpppuuui(x64emu_t *emu, uintptr_t fnc);
 void pFpppuupp(x64emu_t *emu, uintptr_t fnc);
+void pFpppupup(x64emu_t *emu, uintptr_t fnc);
 void pFpppuppp(x64emu_t *emu, uintptr_t fnc);
 void pFpppfffi(x64emu_t *emu, uintptr_t fnc);
 void pFpppdddi(x64emu_t *emu, uintptr_t fnc);
@@ -2376,6 +2400,7 @@ void iFpuuiiiii(x64emu_t *emu, uintptr_t fnc);
 void iFpuuipppp(x64emu_t *emu, uintptr_t fnc);
 void iFpuuupupu(x64emu_t *emu, uintptr_t fnc);
 void iFpuupuupp(x64emu_t *emu, uintptr_t fnc);
+void iFpuuppppp(x64emu_t *emu, uintptr_t fnc);
 void iFpupppWWu(x64emu_t *emu, uintptr_t fnc);
 void iFpupppppp(x64emu_t *emu, uintptr_t fnc);
 void iFpUuuLpUi(x64emu_t *emu, uintptr_t fnc);
@@ -2407,6 +2432,7 @@ void uFEppppppp(x64emu_t *emu, uintptr_t fnc);
 void uFuipppppp(x64emu_t *emu, uintptr_t fnc);
 void uFuupuuiuf(x64emu_t *emu, uintptr_t fnc);
 void uFulpppppp(x64emu_t *emu, uintptr_t fnc);
+void uFpuupupuu(x64emu_t *emu, uintptr_t fnc);
 void uFpupuuuCp(x64emu_t *emu, uintptr_t fnc);
 void uFppuuuupp(x64emu_t *emu, uintptr_t fnc);
 void uFppuuuppu(x64emu_t *emu, uintptr_t fnc);
@@ -2500,6 +2526,7 @@ void vFppUUiUUUU(x64emu_t *emu, uintptr_t fnc);
 void vFppddddudd(x64emu_t *emu, uintptr_t fnc);
 void vFpplpppppi(x64emu_t *emu, uintptr_t fnc);
 void vFpppiiiiii(x64emu_t *emu, uintptr_t fnc);
+void vFpppffffff(x64emu_t *emu, uintptr_t fnc);
 void vFppppipiip(x64emu_t *emu, uintptr_t fnc);
 void vFpppppippp(x64emu_t *emu, uintptr_t fnc);
 void iFEpiiiiipi(x64emu_t *emu, uintptr_t fnc);
@@ -2534,6 +2561,7 @@ void iFppppppppp(x64emu_t *emu, uintptr_t fnc);
 void uFEipippppp(x64emu_t *emu, uintptr_t fnc);
 void uFEpppufppp(x64emu_t *emu, uintptr_t fnc);
 void uFuulpiuiuf(x64emu_t *emu, uintptr_t fnc);
+void uFpuupuppuu(x64emu_t *emu, uintptr_t fnc);
 void uFppLpLuppp(x64emu_t *emu, uintptr_t fnc);
 void uFppppppppp(x64emu_t *emu, uintptr_t fnc);
 void lFpppipiipp(x64emu_t *emu, uintptr_t fnc);
diff --git a/src/wrapped/wrappedlibharfbuzz.c b/src/wrapped/wrappedlibharfbuzz.c
new file mode 100644
index 00000000..e98310a1
--- /dev/null
+++ b/src/wrapped/wrappedlibharfbuzz.c
@@ -0,0 +1,19 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#define _GNU_SOURCE         /* See feature_test_macros(7) */
+#include <dlfcn.h>
+#include "wrappedlibs.h"
+#include "wrapper.h"
+#include "bridge.h"
+#include "librarian/library_private.h"
+#include "x64emu.h"
+#include <unistd.h>
+#include <sys/mman.h>
+#include <errno.h>
+#include "debug.h"
+
+const char* libharfbuzzName = "libharfbuzz.so.0";
+#define LIBNAME libharfbuzz
+
+#include "wrappedlib_init.h"
diff --git a/src/wrapped/wrappedlibharfbuzz_private.h b/src/wrapped/wrappedlibharfbuzz_private.h
new file mode 100644
index 00000000..fd1bb14b
--- /dev/null
+++ b/src/wrapped/wrappedlibharfbuzz_private.h
@@ -0,0 +1,443 @@
+#if !(defined(GO) && defined(GOM) && defined(GO2) && defined(DATA))
+#error Meh...
+#endif
+
+GO(hb_aat_layout_feature_type_get_name_id, uFpu)
+GO(hb_aat_layout_feature_type_get_selector_infos, uFpuuppp)
+GO(hb_aat_layout_get_feature_types, uFpupp)
+//GO(hb_aat_layout_has_positioning, 
+//GO(hb_aat_layout_has_substitution, 
+GO(hb_aat_layout_has_tracking, iFp)
+//GO(hb_blob_copy_writable_or_fail, 
+//GO(hb_blob_create, 
+//GO(hb_blob_create_from_file, 
+GO(hb_blob_create_from_file_or_fail, pFp)
+//GO(hb_blob_create_or_fail, 
+GO(hb_blob_create_sub_blob, pFpuu)
+//GO(hb_blob_destroy, 
+GO(hb_blob_get_data, pFpp)
+GO(hb_blob_get_data_writable, pFpp)
+GO(hb_blob_get_empty, pFv)
+//GO(hb_blob_get_length, 
+GO(hb_blob_get_user_data, pFpp)
+GO(hb_blob_is_immutable, iFp)
+GO(hb_blob_make_immutable, vFp)
+GO(hb_blob_reference, pFp)
+//GO(hb_blob_set_user_data, 
+GO(hb_buffer_add, vFpuu)
+GO(hb_buffer_add_codepoints, vFppiui)
+GO(hb_buffer_add_latin1, vFppiui)
+GO(hb_buffer_add_utf16, vFppiui)
+GO(hb_buffer_add_utf32, vFppiui)
+GO(hb_buffer_add_utf8, vFppiui)
+//GO(hb_buffer_allocation_successful, 
+GO(hb_buffer_append, vFppuu)
+//GO(hb_buffer_clear_contents, 
+//GO(hb_buffer_create, 
+GO(hb_buffer_create_similar, pFp)
+GO(hb_buffer_deserialize_glyphs, iFppippu)
+GO(hb_buffer_deserialize_unicode, iFppipu)
+//GO(hb_buffer_destroy, 
+GO(hb_buffer_diff, uFppuu)
+GO(hb_buffer_get_cluster_level, uFp)
+GO(hb_buffer_get_content_type, uFp)
+GO(hb_buffer_get_direction, uFp)
+GO(hb_buffer_get_empty, pFv)
+GO(hb_buffer_get_flags, uFp)
+GO(hb_buffer_get_glyph_infos, pFpp)
+GO(hb_buffer_get_glyph_positions, pFpp)
+//GO(hb_buffer_get_invisible_glyph, 
+GO(hb_buffer_get_language, pFp)
+GO(hb_buffer_get_length, uFp)
+GO(hb_buffer_get_not_found_glyph, uFp)
+//GO(hb_buffer_get_replacement_codepoint, 
+GO(hb_buffer_get_script, uFp)
+GO(hb_buffer_get_segment_properties, vFpp)
+GO(hb_buffer_get_unicode_funcs, pFp)
+GO(hb_buffer_get_user_data, pFpp)
+//GO(hb_buffer_guess_segment_properties, 
+GO(hb_buffer_has_positions, iFp)
+GO(hb_buffer_normalize_glyphs, vFp)
+//GO(hb_buffer_pre_allocate, 
+GO(hb_buffer_reference, pFp)
+//GO(hb_buffer_reset, 
+//GO(hb_buffer_reverse, 
+//GO(hb_buffer_reverse_clusters, 
+GO(hb_buffer_reverse_range, vFpuu)
+GO(hb_buffer_serialize, uFpuupuppuu)
+GO(hb_buffer_serialize_format_from_string, uFpi)
+GO(hb_buffer_serialize_format_to_string, pFu)
+//GO(hb_buffer_serialize_glyphs, 
+//GO(hb_buffer_serialize_list_formats, 
+GO(hb_buffer_serialize_unicode, uFpuupupuu)
+GO(hb_buffer_set_cluster_level, vFpu)
+GO(hb_buffer_set_content_type, vFpu)
+GO(hb_buffer_set_direction, vFpu)
+GO(hb_buffer_set_flags, vFpu)
+//GO(hb_buffer_set_invisible_glyph, 
+GO(hb_buffer_set_language, vFpp)
+GO(hb_buffer_set_length, iFpu)
+//GO(hb_buffer_set_message_func, 
+GO(hb_buffer_set_not_found_glyph, vFpu)
+//GO(hb_buffer_set_replacement_codepoint, 
+GO(hb_buffer_set_script, vFpu)
+GO(hb_buffer_set_segment_properties, vFpp)
+GO(hb_buffer_set_unicode_funcs, vFpp)
+//GO(hb_buffer_set_user_data, 
+//GO(hb_color_get_alpha, 
+GO(hb_color_get_blue, CFu)
+//GO(hb_color_get_green, 
+//GO(hb_color_get_red, 
+GO(hb_direction_from_string, uFpi)
+GO(hb_direction_to_string, pFu)
+GO(hb_draw_close_path, vFppp)
+GO(hb_draw_cubic_to, vFpppffffff)
+GO(hb_draw_funcs_create, pFv)
+//GO(hb_draw_funcs_destroy, 
+GO(hb_draw_funcs_is_immutable, iFp)
+GO(hb_draw_funcs_make_immutable, vFp)
+GO(hb_draw_funcs_reference, pFp)
+//GO(hb_draw_funcs_set_close_path_func, 
+//GO(hb_draw_funcs_set_cubic_to_func, 
+//GO(hb_draw_funcs_set_line_to_func, 
+//GO(hb_draw_funcs_set_move_to_func, 
+//GO(hb_draw_funcs_set_quadratic_to_func, 
+GO(hb_draw_line_to, vFpppff)
+//GO(hb_draw_move_to, 
+GO(hb_draw_quadratic_to, vFpppffff)
+GO(hb_face_builder_add_table, iFpup)
+GO(hb_face_builder_create, pFv)
+GO(hb_face_builder_sort_tables, vFpp)
+//GO(hb_face_collect_unicodes, 
+GO(hb_face_collect_variation_selectors, vFpp)
+GO(hb_face_collect_variation_unicodes, vFpup)
+GO(hb_face_count, uFp)
+GO(hb_face_create, pFpu)
+//GO(hb_face_create_for_tables, 
+//GO(hb_face_destroy, 
+//GO(hb_face_get_empty, 
+GO(hb_face_get_glyph_count, uFp)
+//GO(hb_face_get_index, 
+GO(hb_face_get_table_tags, uFpupp)
+//GO(hb_face_get_upem, 
+GO(hb_face_get_user_data, pFpp)
+GO(hb_face_is_immutable, iFp)
+GO(hb_face_make_immutable, vFp)
+GO(hb_face_reference, pFp)
+GO(hb_face_reference_blob, pFp)
+GO(hb_face_reference_table, pFpu)
+GO(hb_face_set_glyph_count, vFpu)
+//GO(hb_face_set_index, 
+//GO(hb_face_set_upem, 
+//GO(hb_face_set_user_data, 
+GO(hb_feature_from_string, iFpip)
+GO(hb_feature_to_string, vFppu)
+//GO(hb_font_add_glyph_origin_for_direction, 
+GO(hb_font_changed, vFp)
+GO(hb_font_create, pFp)
+//GO(hb_font_create_sub_font, 
+//GO(hb_font_destroy, 
+//GO(hb_font_funcs_create, 
+//GO(hb_font_funcs_destroy, 
+GO(hb_font_funcs_get_empty, pFv)
+GO(hb_font_funcs_get_user_data, pFpp)
+GO(hb_font_funcs_is_immutable, iFp)
+GO(hb_font_funcs_make_immutable, vFp)
+GO(hb_font_funcs_reference, pFp)
+//GO(hb_font_funcs_set_font_h_extents_func, 
+//GO(hb_font_funcs_set_font_v_extents_func, 
+//GO(hb_font_funcs_set_glyph_contour_point_func, 
+//GO(hb_font_funcs_set_glyph_extents_func, 
+//GO(hb_font_funcs_set_glyph_from_name_func, 
+//GO(hb_font_funcs_set_glyph_func, 
+//GO(hb_font_funcs_set_glyph_h_advance_func, 
+//GO(hb_font_funcs_set_glyph_h_advances_func, 
+//GO(hb_font_funcs_set_glyph_h_kerning_func, 
+//GO(hb_font_funcs_set_glyph_h_origin_func, 
+//GO(hb_font_funcs_set_glyph_name_func, 
+//GO(hb_font_funcs_set_glyph_shape_func, 
+//GO(hb_font_funcs_set_glyph_v_advance_func, 
+//GO(hb_font_funcs_set_glyph_v_advances_func, 
+//GO(hb_font_funcs_set_glyph_v_kerning_func, 
+//GO(hb_font_funcs_set_glyph_v_origin_func, 
+//GO(hb_font_funcs_set_nominal_glyph_func, 
+//GO(hb_font_funcs_set_nominal_glyphs_func, 
+//GO(hb_font_funcs_set_user_data, 
+//GO(hb_font_funcs_set_variation_glyph_func, 
+GO(hb_font_get_empty, pFv)
+GO(hb_font_get_extents_for_direction, vFpup)
+GO(hb_font_get_face, pFp)
+GO(hb_font_get_glyph, iFpuup)
+//GO(hb_font_get_glyph_advance_for_direction, 
+GO(hb_font_get_glyph_advances_for_direction, vFpuupupu)
+GO(hb_font_get_glyph_contour_point, iFpuupp)
+GO(hb_font_get_glyph_contour_point_for_origin, iFpuuupp)
+GO(hb_font_get_glyph_extents, iFpup)
+GO(hb_font_get_glyph_extents_for_origin, iFpuup)
+//GO(hb_font_get_glyph_from_name, 
+//GO(hb_font_get_glyph_h_advance, 
+//GO(hb_font_get_glyph_h_advances, 
+//GO(hb_font_get_glyph_h_kerning, 
+//GO(hb_font_get_glyph_h_origin, 
+GO(hb_font_get_glyph_kerning_for_direction, vFpuuupp)
+GO(hb_font_get_glyph_name, iFpupu)
+//GO(hb_font_get_glyph_origin_for_direction, 
+GO(hb_font_get_glyph_shape, vFpupp)
+GO(hb_font_get_glyph_v_advance, iFpu)
+GO(hb_font_get_glyph_v_advances, vFpupupu)
+GO(hb_font_get_glyph_v_kerning, iFpuu)
+GO(hb_font_get_glyph_v_origin, iFpupp)
+//GO(hb_font_get_h_extents, 
+GO(hb_font_get_nominal_glyph, iFpup)
+GO(hb_font_get_nominal_glyphs, uFpupupu)
+GO(hb_font_get_parent, pFp)
+GO(hb_font_get_ppem, vFppp)
+//GO(hb_font_get_ptem, 
+GO(hb_font_get_scale, vFppp)
+GO(hb_font_get_serial, uFp)
+GO(hb_font_get_synthetic_slant, fFp)
+GO(hb_font_get_user_data, pFpp)
+GO(hb_font_get_var_coords_design, pFpp)
+GO(hb_font_get_var_coords_normalized, pFpp)
+//GO(hb_font_get_variation_glyph, 
+GO(hb_font_get_v_extents, iFpp)
+GO(hb_font_glyph_from_string, iFppip)
+GO(hb_font_glyph_to_string, vFpupu)
+GO(hb_font_is_immutable, iFp)
+//GO(hb_font_make_immutable, 
+//GO(hb_font_reference, 
+GO(hb_font_set_face, vFpp)
+//GO(hb_font_set_funcs, 
+//GO(hb_font_set_funcs_data, 
+GO(hb_font_set_parent, vFpp)
+GO(hb_font_set_ppem, vFpuu)
+//GO(hb_font_set_ptem, 
+GO(hb_font_set_scale, vFpii)
+GO(hb_font_set_synthetic_slant, vFpf)
+//GO(hb_font_set_user_data, 
+GO(hb_font_set_var_coords_design, vFppu)
+GO(hb_font_set_var_coords_normalized, vFppu)
+GO(hb_font_set_variations, vFppu)
+GO(hb_font_set_var_named_instance, vFpu)
+GO(hb_font_subtract_glyph_origin_for_direction, vFpuupp)
+//GO(hb_ft_face_create, 
+//GO(hb_ft_face_create_cached, 
+//GO(hb_ft_face_create_referenced, 
+//GO(hb_ft_font_changed, 
+//GO(hb_ft_font_create, 
+//GO(hb_ft_font_create_referenced, 
+//GO(hb_ft_font_get_face, 
+GO(hb_ft_font_get_load_flags, iFp)
+//GO(hb_ft_font_lock_face, 
+GO(hb_ft_font_set_funcs, vFp)
+GO(hb_ft_font_set_load_flags, vFpi)
+//GO(hb_ft_font_unlock_face, 
+GO(hb_ft_hb_font_changed, iFp)
+//GO(hb_glib_blob_create, 
+//GO(hb_glib_get_unicode_funcs, 
+//GO(hb_glib_script_from_script, 
+//GO(hb_glib_script_to_script, 
+GO(hb_glyph_info_get_glyph_flags, uFp)
+//GO(hb_graphite2_face_get_gr_face, 
+//GO(hb_graphite2_font_get_gr_font, 
+GO(hb_language_from_string, pFpi)
+GO(hb_language_get_default, pFv)
+GO(hb_language_matches, iFpp)
+GO(hb_language_to_string, pFp)
+//GO(hb_map_allocation_successful, 
+GO(hb_map_clear, vFp)
+GO(hb_map_copy, pFp)
+//GO(hb_map_create, 
+GO(hb_map_del, vFpu)
+//GO(hb_map_destroy, 
+GO(hb_map_get, uFpu)
+GO(hb_map_get_empty, pFv)
+//GO(hb_map_get_population, 
+GO(hb_map_get_user_data, pFpp)
+GO(hb_map_has, iFpu)
+GO(hb_map_hash, uFp)
+GO(hb_map_is_empty, iFp)
+GO(hb_map_is_equal, iFpp)
+GO(hb_map_reference, pFp)
+GO(hb_map_set, vFpuu)
+//GO(hb_map_set_user_data, 
+GO(hb_ot_color_glyph_get_layers, uFpuupp)
+GO(hb_ot_color_glyph_reference_png, pFpu)
+GO(hb_ot_color_glyph_reference_svg, pFpu)
+//GO(hb_ot_color_has_layers, 
+//GO(hb_ot_color_has_palettes, 
+//GO(hb_ot_color_has_png, 
+//GO(hb_ot_color_has_svg, 
+//GO(hb_ot_color_palette_color_get_name_id, 
+GO(hb_ot_color_palette_get_colors, uFpuupp)
+//GO(hb_ot_color_palette_get_count, 
+GO(hb_ot_color_palette_get_flags, uFpu)
+//GO(hb_ot_color_palette_get_name_id, 
+GO(hb_ot_font_set_funcs, vFp)
+//GO(hb_ot_layout_collect_features, 
+GO(hb_ot_layout_collect_lookups, vFpupppp)
+GO(hb_ot_layout_feature_get_characters, uFpuuupp)
+GO(hb_ot_layout_feature_get_lookups, uFpuuupp)
+GO(hb_ot_layout_feature_get_name_ids, iFpuuppppp)
+GO(hb_ot_layout_feature_with_variations_get_lookups, uFpuuuupp)
+GO(hb_ot_layout_get_attach_points, uFpuupp)
+GO(hb_ot_layout_get_baseline, iFpuuuup)
+GO(hb_ot_layout_get_baseline_with_fallback, vFpuuuup)
+GO(hb_ot_layout_get_glyph_class, uFpu)
+GO(hb_ot_layout_get_glyphs_in_class, vFpup)
+GO(hb_ot_layout_get_horizontal_baseline_tag_for_script, uFu)
+GO(hb_ot_layout_get_ligature_carets, uFpuuupp)
+GO(hb_ot_layout_get_size_params, iFpppppp)
+//GO(hb_ot_layout_has_glyph_classes, 
+//GO(hb_ot_layout_has_positioning, 
+//GO(hb_ot_layout_has_substitution, 
+GO(hb_ot_layout_language_find_feature, iFpuuuup)
+//GO(hb_ot_layout_language_get_feature_indexes, 
+GO(hb_ot_layout_language_get_feature_tags, uFpuuuupp)
+GO(hb_ot_layout_language_get_required_feature, iFpuuupp)
+GO(hb_ot_layout_language_get_required_feature_index, iFpuuup)
+GO(hb_ot_layout_lookup_collect_glyphs, vFpuupppp)
+GO(hb_ot_layout_lookup_get_glyph_alternates, uFpuuupp)
+GO(hb_ot_layout_lookup_get_optical_bound, iFpuuu)
+GO(hb_ot_layout_lookups_substitute_closure, vFppp)
+GO(hb_ot_layout_lookup_substitute_closure, vFpup)
+GO(hb_ot_layout_lookup_would_substitute, iFpupui)
+GO(hb_ot_layout_script_find_language, iFpuuup)
+GO(hb_ot_layout_script_get_language_tags, uFpuuupp)
+GO(hb_ot_layout_script_select_language, iFpuuupp)
+GO(hb_ot_layout_table_choose_script, iFpuppp)
+GO(hb_ot_layout_table_find_feature_variations, iFpupup)
+GO(hb_ot_layout_table_find_script, iFpuup)
+GO(hb_ot_layout_table_get_feature_tags, uFpuupp)
+GO(hb_ot_layout_table_get_lookup_count, uFpu)
+//GO(hb_ot_layout_table_get_script_tags, 
+GO(hb_ot_layout_table_select_script, iFpuuppp)
+GO(hb_ot_math_get_constant, iFpu)
+GO(hb_ot_math_get_glyph_assembly, uFpuuuppp)
+//GO(hb_ot_math_get_glyph_italics_correction, 
+GO(hb_ot_math_get_glyph_kerning, iFpuui)
+GO(hb_ot_math_get_glyph_kernings, uFpuuupp)
+GO(hb_ot_math_get_glyph_top_accent_attachment, iFpu)
+GO(hb_ot_math_get_glyph_variants, uFpuuupp)
+GO(hb_ot_math_get_min_connector_overlap, iFpu)
+//GO(hb_ot_math_has_data, 
+GO(hb_ot_math_is_glyph_extended_shape, iFpu)
+GO(hb_ot_meta_get_entry_tags, uFpupp)
+GO(hb_ot_meta_reference_entry, pFpu)
+GO(hb_ot_metrics_get_position, iFpup)
+GO(hb_ot_metrics_get_position_with_fallback, vFpup)
+GO(hb_ot_metrics_get_variation, fFpu)
+//GO(hb_ot_metrics_get_x_variation, 
+GO(hb_ot_metrics_get_y_variation, iFpu)
+GO(hb_ot_name_get_utf16, uFpuppp)
+GO(hb_ot_name_get_utf32, uFpuppp)
+GO(hb_ot_name_get_utf8, uFpuppp)
+GO(hb_ot_name_list_names, pFpp)
+GO(hb_ot_shape_glyphs_closure, vFpppup)
+GO(hb_ot_shape_plan_collect_lookups, vFpup)
+GO(hb_ot_tag_from_language, uFp)
+GO(hb_ot_tags_from_script, vFupp)
+GO(hb_ot_tags_from_script_and_language, vFuppppp)
+GO(hb_ot_tags_to_script_and_language, vFuupp)
+GO(hb_ot_tag_to_language, pFu)
+GO(hb_ot_tag_to_script, uFu)
+GO(hb_ot_var_find_axis, iFpupp)
+GO(hb_ot_var_find_axis_info, iFpup)
+GO(hb_ot_var_get_axes, uFpupp)
+//GO(hb_ot_var_get_axis_count, 
+GO(hb_ot_var_get_axis_infos, uFpupp)
+GO(hb_ot_var_get_named_instance_count, uFp)
+//GO(hb_ot_var_has_data, 
+GO(hb_ot_var_named_instance_get_design_coords, uFpupp)
+GO(hb_ot_var_named_instance_get_postscript_name_id, uFpu)
+//GO(hb_ot_var_named_instance_get_subfamily_name_id, 
+GO(hb_ot_var_normalize_coords, vFpupp)
+GO(hb_ot_var_normalize_variations, vFppupu)
+GO(hb_script_from_iso15924_tag, uFu)
+GO(hb_script_from_string, uFpi)
+GO(hb_script_get_horizontal_direction, uFu)
+GO(hb_script_to_iso15924_tag, uFu)
+GO(hb_segment_properties_equal, iFpp)
+GO(hb_segment_properties_hash, uFp)
+GO(hb_segment_properties_overlay, vFpp)
+//GO(hb_set_add, 
+//GO(hb_set_add_range, 
+GO(hb_set_add_sorted_array, vFppu)
+//GO(hb_set_allocation_successful, 
+//GO(hb_set_clear, 
+GO(hb_set_copy, pFp)
+//GO(hb_set_create, 
+GO(hb_set_del, vFpu)
+GO(hb_set_del_range, vFpuu)
+//GO(hb_set_destroy, 
+GO(hb_set_get_empty, pFv)
+GO(hb_set_get_max, uFp)
+//GO(hb_set_get_min, 
+GO(hb_set_get_population, uFp)
+GO(hb_set_get_user_data, pFpp)
+GO(hb_set_has, iFpu)
+//GO(hb_set_hash, 
+//GO(hb_set_intersect, 
+GO(hb_set_invert, vFp)
+GO(hb_set_is_empty, iFp)
+//GO(hb_set_is_equal, 
+GO(hb_set_is_subset, iFpp)
+//GO(hb_set_next, 
+GO(hb_set_next_many, uFpupu)
+//GO(hb_set_next_range, 
+GO(hb_set_previous, iFpp)
+GO(hb_set_previous_range, iFppp)
+GO(hb_set_reference, pFp)
+//GO(hb_set_set, 
+//GO(hb_set_set_user_data, 
+//GO(hb_set_subtract, 
+GO(hb_set_symmetric_difference, vFpp)
+//GO(hb_set_union, 
+GO(hb_shape, vFpppu)
+GO(hb_shape_full, iFpppup)
+GO(hb_shape_list_shapers, pFv)
+//GO(hb_shape_plan_create, 
+//GO(hb_shape_plan_create2, 
+GO(hb_shape_plan_create_cached, pFpppup)
+GO(hb_shape_plan_create_cached2, pFpppupup)
+GO(hb_shape_plan_destroy, vFp)
+GO(hb_shape_plan_execute, iFppppu)
+GO(hb_shape_plan_get_empty, pFv)
+GO(hb_shape_plan_get_shaper, pFp)
+GO(hb_shape_plan_get_user_data, pFpp)
+GO(hb_shape_plan_reference, pFp)
+//GO(hb_shape_plan_set_user_data, 
+GO(hb_style_get_value, fFpu)
+GO(hb_tag_from_string, uFpi)
+GO(hb_tag_to_string, vFup)
+GO(hb_unicode_combining_class, uFpu)
+GO(hb_unicode_compose, iFpuup)
+GO(hb_unicode_decompose, iFpupp)
+GO(hb_unicode_decompose_compatibility, uFpup)
+GO(hb_unicode_eastasian_width, uFpu)
+//GO(hb_unicode_funcs_create, 
+//GO(hb_unicode_funcs_destroy, 
+//GO(hb_unicode_funcs_get_default, 
+GO(hb_unicode_funcs_get_empty, pFv)
+GO(hb_unicode_funcs_get_parent, pFp)
+GO(hb_unicode_funcs_get_user_data, pFpp)
+GO(hb_unicode_funcs_is_immutable, iFp)
+GO(hb_unicode_funcs_make_immutable, vFp)
+//GO(hb_unicode_funcs_reference, 
+//GO(hb_unicode_funcs_set_combining_class_func, 
+//GO(hb_unicode_funcs_set_compose_func, 
+//GO(hb_unicode_funcs_set_decompose_compatibility_func, 
+//GO(hb_unicode_funcs_set_decompose_func, 
+//GO(hb_unicode_funcs_set_eastasian_width_func, 
+//GO(hb_unicode_funcs_set_general_category_func, 
+//GO(hb_unicode_funcs_set_mirroring_func, 
+//GO(hb_unicode_funcs_set_script_func, 
+//GO(hb_unicode_funcs_set_user_data, 
+GO(hb_unicode_general_category, uFpu)
+GO(hb_unicode_mirroring, uFpu)
+GO(hb_unicode_script, uFpu)
+GO(hb_variation_from_string, iFpip)
+GO(hb_variation_to_string, vFppu)
+GO(hb_version, vFppp)
+GO(hb_version_atleast, iFuuu)
+GO(hb_version_string, pFv)