about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/core.c1
-rw-r--r--src/wrapped/generated/functions_list.txt92
-rw-r--r--src/wrapped/generated/wrappedlibhogweed6types.h20
-rw-r--r--src/wrapped/generated/wrappedlibnettle8types.h35
-rw-r--r--src/wrapped/generated/wrappedp11kittypes.h6
-rw-r--r--src/wrapped/generated/wrapper.c86
-rw-r--r--src/wrapped/generated/wrapper.h37
-rw-r--r--src/wrapped/wrappedlibhogweed6.c132
-rw-r--r--src/wrapped/wrappedlibhogweed6_private.h298
-rw-r--r--src/wrapped/wrappedlibnettle8.c207
-rw-r--r--src/wrapped/wrappedlibnettle8_private.h677
-rw-r--r--src/wrapped/wrappedlibtasn1_private.h22
-rw-r--r--src/wrapped/wrappedp11kit.c77
-rw-r--r--src/wrapped/wrappedp11kit_private.h78
14 files changed, 1631 insertions, 137 deletions
diff --git a/src/core.c b/src/core.c
index 1a9262c4..3c228d44 100644
--- a/src/core.c
+++ b/src/core.c
@@ -1405,6 +1405,7 @@ void LoadEnvVars(box64context_t *context)
     AddPath("libunwind.so.8", &context->box64_emulated_libs, 0);
     AddPath("libpng12.so.0", &context->box64_emulated_libs, 0);
     AddPath("libcurl.so.4", &context->box64_emulated_libs, 0);
+    AddPath("libgnutls.so.30", &context->box64_emulated_libs, 0);
     AddPath("libtbbmalloc.so.2", &context->box64_emulated_libs, 0);
     AddPath("libtbbmalloc_proxy.so.2", &context->box64_emulated_libs, 0);
 
diff --git a/src/wrapped/generated/functions_list.txt b/src/wrapped/generated/functions_list.txt
index fb46888d..a3788715 100644
--- a/src/wrapped/generated/functions_list.txt
+++ b/src/wrapped/generated/functions_list.txt
@@ -549,6 +549,7 @@
 #() iFpLl
 #() iFpLL
 #() iFpLp
+#() iFppc
 #() iFppi
 #() iFppI
 #() iFppC
@@ -666,6 +667,7 @@
 #() LFpLL
 #() LFpLp
 #() LFppi
+#() LFppC
 #() LFppu
 #() LFppL
 #() LFppp
@@ -904,6 +906,7 @@
 #() vFpLii
 #() vFpLuu
 #() vFpLLL
+#() vFpLpu
 #() vFpLpL
 #() vFpLpp
 #() vFppii
@@ -990,10 +993,12 @@
 #() iFuuuu
 #() iFuupi
 #() iFuupp
+#() iFupup
 #() iFupLp
 #() iFuppi
 #() iFuppu
 #() iFuppp
+#() iFLpLp
 #() iFLppp
 #() iFpwww
 #() iFpwpp
@@ -1477,7 +1482,9 @@
 #() vFppfff
 #() vFppddp
 #() vFppLLL
+#() vFppLLp
 #() vFppLpL
+#() vFppLpp
 #() vFpppii
 #() vFpppip
 #() vFpppui
@@ -1570,6 +1577,7 @@
 #() iFpuuui
 #() iFpuuup
 #() iFpuuLL
+#() iFpuuLp
 #() iFpuupp
 #() iFpulup
 #() iFpulpp
@@ -1819,6 +1827,7 @@
 #() vFEppipV
 #() vFEppipA
 #() vFEppupp
+#() vFEpppLp
 #() vFEppppp
 #() vFiiiiii
 #() vFiiiuil
@@ -1920,6 +1929,7 @@
 #() vFpdddii
 #() vFpddddd
 #() vFpddddp
+#() vFpLpLLL
 #() vFppiiii
 #() vFppiiip
 #() vFppiiuu
@@ -1950,7 +1960,9 @@
 #() vFpppipu
 #() vFpppuii
 #() vFpppuuu
+#() vFpppLpp
 #() vFppppii
+#() vFppppLp
 #() vFpppppi
 #() vFpppppu
 #() vFpppppU
@@ -2220,6 +2232,9 @@
 #() vFEpipppp
 #() vFEpuipuV
 #() vFEppippp
+#() vFEpppLpp
+#() vFEppppup
+#() vFEppppLp
 #() vFEpppppp
 #() vFiiiiiip
 #() vFiiiiuup
@@ -2273,6 +2288,7 @@
 #() vFudddddd
 #() vFlipuiip
 #() vFlliiiip
+#() vFLpuLpLp
 #() vFpiiiipp
 #() vFpiiliip
 #() vFpiiLiip
@@ -2333,6 +2349,7 @@
 #() iFEppuppp
 #() iFEppLpIi
 #() iFEpppiiu
+#() iFEpppLpp
 #() iFEpppppL
 #() iFEpppppp
 #() iFiiiiiip
@@ -2374,6 +2391,7 @@
 #() iFpLpiiii
 #() iFpLpiiuu
 #() iFpLpiipi
+#() iFpLpLpip
 #() iFpLppiii
 #() iFppiiiip
 #() iFppiiuup
@@ -2394,6 +2412,7 @@
 #() iFppLiipp
 #() iFppLippp
 #() iFppLuuii
+#() iFppLpppp
 #() iFpppiiuu
 #() iFpppiiup
 #() iFpppiuwu
@@ -2505,8 +2524,11 @@
 #() vFEipAippp
 #() vFEppipppp
 #() vFEppLippp
+#() vFEppLpLpp
 #() vFEpppippp
 #() vFEpppuipV
+#() vFEpppLLpp
+#() vFEppppLpp
 #() vFEpppppuu
 #() vFiiiiuuip
 #() vFiilliilp
@@ -2536,6 +2558,7 @@
 #() vFuuuuuuuu
 #() vFuuufffff
 #() vFffffffff
+#() vFLLLpLppp
 #() vFpiiiiiii
 #() vFpiiiiiip
 #() vFpiiiipii
@@ -2548,6 +2571,7 @@
 #() vFpuppLLLL
 #() vFpUiUiupi
 #() vFpUuuUUUu
+#() vFpLpLpLpp
 #() vFpLppiipi
 #() vFppiiiiii
 #() vFppiiipii
@@ -2563,6 +2587,7 @@
 #() vFppLpLpLp
 #() vFpppipppu
 #() vFpppuiiii
+#() vFpppLpppp
 #() vFppppiipi
 #() vFpppppuuu
 #() vFpppppppp
@@ -2572,6 +2597,9 @@
 #() iFEpUUuppp
 #() iFEppipppp
 #() iFEppppipp
+#() iFEppppLpp
+#() iFEpppppuu
+#() iFEppppppp
 #() iFiiiiiiip
 #() iFiiupiupi
 #() iFiuuCCuup
@@ -2600,6 +2628,7 @@
 #() iFpLLLiipi
 #() iFpLLppppp
 #() iFpLpipppp
+#() iFpLpLpLpp
 #() iFpLppLpip
 #() iFpLpppupu
 #() iFpLpppppp
@@ -2688,6 +2717,7 @@
 #() vFEpuuuippp
 #() vFEppiipppp
 #() vFEpppiippp
+#() vFEpppLLpLp
 #() vFEppppippp
 #() vFiiiiiiiii
 #() vFiiiiiiill
@@ -2717,6 +2747,7 @@
 #() vFpipiuiipp
 #() vFpipppiipi
 #() vFpuuuuuuuu
+#() vFpLpLpLLpp
 #() vFpLpppippp
 #() vFppiiiiiii
 #() vFppiiiiipi
@@ -2745,6 +2776,7 @@
 #() iFEpppipppp
 #() iFEppplPPPP
 #() iFEpppppupp
+#() iFEppppppuu
 #() iFEppPPPPPP
 #() iFiiiiiiiip
 #() iFiiiipiiip
@@ -2760,6 +2792,7 @@
 #() iFpLiuiiLLL
 #() iFpLLiiuuii
 #() iFpLpiiuuii
+#() iFpLpLpLLpp
 #() iFpLpppupup
 #() iFpLppppppp
 #() iFppiiiiiii
@@ -2816,6 +2849,7 @@
 #() vFEiippppppp
 #() vFEpippppppp
 #() vFEpppiipppp
+#() vFEpppLuLpLp
 #() vFiiiiiiiiii
 #() vFiiiiiiiiiu
 #() vFiiiiiiiiui
@@ -2863,6 +2897,7 @@
 #() iFpLpLUUUUpL
 #() iFppuuiiiiii
 #() iFppuuiiuupi
+#() iFppLpLpLLpp
 #() iFpppiiipipi
 #() iFpppLLipppp
 #() iFpppppiiuup
@@ -2889,6 +2924,7 @@
 #() iWEpuuiiuipp
 #() iWEpuuuuiipp
 #() vFEpuuuupupup
+#() vFEppLpLpLLpp
 #() vFiiiiillliip
 #() vFiiiiilllilp
 #() vFuiiiiiiiiip
@@ -2919,6 +2955,7 @@
 #() vFppupppuiiii
 #() vFppppppppppp
 #() iFEiipppppppp
+#() iFEppLpLpLLpp
 #() iFEpppipppppp
 #() iFEppppiiiiuu
 #() iFEpppppppppp
@@ -4500,6 +4537,24 @@ wrappedlibharfbuzz:
   - hb_blob_create
   - hb_blob_create_or_fail
 wrappedlibhogweed6:
+- vFpppp:
+  - nettle_ecdsa_generate_keypair
+  - nettle_mpz_random
+  - nettle_mpz_random_size
+- vFpppLpp:
+  - nettle_ecdsa_sign
+  - nettle_gostdsa_sign
+- iFpppLpp:
+  - nettle_rsa_encrypt
+- iFppppLpp:
+  - nettle_dsa_sign
+  - nettle_rsa_pkcs1_sign_tr
+- iFpppppuu:
+  - nettle_dsa_generate_params
+- iFppppppp:
+  - nettle_rsa_decrypt_tr
+- iFppppppuu:
+  - nettle_rsa_generate_keypair
 wrappedlibibus:
 - vFpippp:
   - ibus_bus_current_input_context_async
@@ -4634,6 +4689,39 @@ wrappedlibncursesw6:
 - iFpiipV:
   - mvwprintw
 wrappedlibnettle8:
+- vFppp:
+  - nettle_cmac128_set_key
+  - nettle_cmac64_set_key
+  - nettle_gcm_set_key
+- vFpppLp:
+  - nettle_cmac128_update
+  - nettle_cmac64_update
+- vFppppup:
+  - nettle_cmac128_digest
+  - nettle_cmac64_digest
+- vFppppLp:
+  - nettle_gcm_digest
+- vFppLpLpp:
+  - nettle_cbc_decrypt
+  - nettle_cbc_encrypt
+  - nettle_cfb8_decrypt
+  - nettle_cfb8_encrypt
+  - nettle_cfb_decrypt
+  - nettle_cfb_encrypt
+  - nettle_ctr_crypt
+- vFpppLLpp:
+  - nettle_hkdf_extract
+- vFppppLpp:
+  - nettle_gcm_decrypt
+  - nettle_gcm_encrypt
+- vFpppLLpLp:
+  - nettle_hkdf_expand
+- vFpppLuLpLp:
+  - nettle_pbkdf2
+- vFppLpLpLLpp:
+  - nettle_ccm_encrypt_message
+- iFppLpLpLLpp:
+  - nettle_ccm_decrypt_message
 wrappedlibnuma:
 wrappedlibogg:
 wrappedlibpanel:
@@ -5036,6 +5124,10 @@ wrappedopencl:
 - pFpupppp:
   - clCreateContext
 wrappedp11kit:
+- vFppp:
+  - p11_kit_pin_unregister_callback
+- iFpppp:
+  - p11_kit_pin_register_callback
 wrappedpam:
 wrappedpango:
 - vFpp:
diff --git a/src/wrapped/generated/wrappedlibhogweed6types.h b/src/wrapped/generated/wrappedlibhogweed6types.h
index c00cc2be..60fc7159 100644
--- a/src/wrapped/generated/wrappedlibhogweed6types.h
+++ b/src/wrapped/generated/wrappedlibhogweed6types.h
@@ -11,7 +11,25 @@
 #define ADDED_FUNCTIONS() 
 #endif
 
+typedef void (*vFpppp_t)(void*, void*, void*, void*);
+typedef void (*vFpppLpp_t)(void*, void*, void*, uintptr_t, void*, void*);
+typedef int32_t (*iFpppLpp_t)(void*, void*, void*, uintptr_t, void*, void*);
+typedef int32_t (*iFppppLpp_t)(void*, void*, void*, void*, uintptr_t, void*, void*);
+typedef int32_t (*iFpppppuu_t)(void*, void*, void*, void*, void*, uint32_t, uint32_t);
+typedef int32_t (*iFppppppp_t)(void*, void*, void*, void*, void*, void*, void*);
+typedef int32_t (*iFppppppuu_t)(void*, void*, void*, void*, void*, void*, uint32_t, uint32_t);
 
-#define SUPER() ADDED_FUNCTIONS()
+#define SUPER() ADDED_FUNCTIONS() \
+	GO(nettle_ecdsa_generate_keypair, vFpppp_t) \
+	GO(nettle_mpz_random, vFpppp_t) \
+	GO(nettle_mpz_random_size, vFpppp_t) \
+	GO(nettle_ecdsa_sign, vFpppLpp_t) \
+	GO(nettle_gostdsa_sign, vFpppLpp_t) \
+	GO(nettle_rsa_encrypt, iFpppLpp_t) \
+	GO(nettle_dsa_sign, iFppppLpp_t) \
+	GO(nettle_rsa_pkcs1_sign_tr, iFppppLpp_t) \
+	GO(nettle_dsa_generate_params, iFpppppuu_t) \
+	GO(nettle_rsa_decrypt_tr, iFppppppp_t) \
+	GO(nettle_rsa_generate_keypair, iFppppppuu_t)
 
 #endif // __wrappedlibhogweed6TYPES_H_
diff --git a/src/wrapped/generated/wrappedlibnettle8types.h b/src/wrapped/generated/wrappedlibnettle8types.h
index 469e9326..d99fbea8 100644
--- a/src/wrapped/generated/wrappedlibnettle8types.h
+++ b/src/wrapped/generated/wrappedlibnettle8types.h
@@ -11,7 +11,40 @@
 #define ADDED_FUNCTIONS() 
 #endif
 
+typedef void (*vFppp_t)(void*, void*, void*);
+typedef void (*vFpppLp_t)(void*, void*, void*, uintptr_t, void*);
+typedef void (*vFppppup_t)(void*, void*, void*, void*, uint32_t, void*);
+typedef void (*vFppppLp_t)(void*, void*, void*, void*, uintptr_t, void*);
+typedef void (*vFppLpLpp_t)(void*, void*, uintptr_t, void*, uintptr_t, void*, void*);
+typedef void (*vFpppLLpp_t)(void*, void*, void*, uintptr_t, uintptr_t, void*, void*);
+typedef void (*vFppppLpp_t)(void*, void*, void*, void*, uintptr_t, void*, void*);
+typedef void (*vFpppLLpLp_t)(void*, void*, void*, uintptr_t, uintptr_t, void*, uintptr_t, void*);
+typedef void (*vFpppLuLpLp_t)(void*, void*, void*, uintptr_t, uint32_t, uintptr_t, void*, uintptr_t, void*);
+typedef void (*vFppLpLpLLpp_t)(void*, void*, uintptr_t, void*, uintptr_t, void*, uintptr_t, uintptr_t, void*, void*);
+typedef int32_t (*iFppLpLpLLpp_t)(void*, void*, uintptr_t, void*, uintptr_t, void*, uintptr_t, uintptr_t, void*, void*);
 
-#define SUPER() ADDED_FUNCTIONS()
+#define SUPER() ADDED_FUNCTIONS() \
+	GO(nettle_cmac128_set_key, vFppp_t) \
+	GO(nettle_cmac64_set_key, vFppp_t) \
+	GO(nettle_gcm_set_key, vFppp_t) \
+	GO(nettle_cmac128_update, vFpppLp_t) \
+	GO(nettle_cmac64_update, vFpppLp_t) \
+	GO(nettle_cmac128_digest, vFppppup_t) \
+	GO(nettle_cmac64_digest, vFppppup_t) \
+	GO(nettle_gcm_digest, vFppppLp_t) \
+	GO(nettle_cbc_decrypt, vFppLpLpp_t) \
+	GO(nettle_cbc_encrypt, vFppLpLpp_t) \
+	GO(nettle_cfb8_decrypt, vFppLpLpp_t) \
+	GO(nettle_cfb8_encrypt, vFppLpLpp_t) \
+	GO(nettle_cfb_decrypt, vFppLpLpp_t) \
+	GO(nettle_cfb_encrypt, vFppLpLpp_t) \
+	GO(nettle_ctr_crypt, vFppLpLpp_t) \
+	GO(nettle_hkdf_extract, vFpppLLpp_t) \
+	GO(nettle_gcm_decrypt, vFppppLpp_t) \
+	GO(nettle_gcm_encrypt, vFppppLpp_t) \
+	GO(nettle_hkdf_expand, vFpppLLpLp_t) \
+	GO(nettle_pbkdf2, vFpppLuLpLp_t) \
+	GO(nettle_ccm_encrypt_message, vFppLpLpLLpp_t) \
+	GO(nettle_ccm_decrypt_message, iFppLpLpLLpp_t)
 
 #endif // __wrappedlibnettle8TYPES_H_
diff --git a/src/wrapped/generated/wrappedp11kittypes.h b/src/wrapped/generated/wrappedp11kittypes.h
index cd228643..46e988c8 100644
--- a/src/wrapped/generated/wrappedp11kittypes.h
+++ b/src/wrapped/generated/wrappedp11kittypes.h
@@ -11,7 +11,11 @@
 #define ADDED_FUNCTIONS() 
 #endif
 
+typedef void (*vFppp_t)(void*, void*, void*);
+typedef int32_t (*iFpppp_t)(void*, void*, void*, void*);
 
-#define SUPER() ADDED_FUNCTIONS()
+#define SUPER() ADDED_FUNCTIONS() \
+	GO(p11_kit_pin_unregister_callback, vFppp_t) \
+	GO(p11_kit_pin_register_callback, iFpppp_t)
 
 #endif // __wrappedp11kitTYPES_H_
diff --git a/src/wrapped/generated/wrapper.c b/src/wrapped/generated/wrapper.c
index a394cac5..9571387e 100644
--- a/src/wrapped/generated/wrapper.c
+++ b/src/wrapped/generated/wrapper.c
@@ -587,6 +587,7 @@ typedef int32_t (*iFpLu_t)(void*, uintptr_t, uint32_t);
 typedef int32_t (*iFpLl_t)(void*, uintptr_t, intptr_t);
 typedef int32_t (*iFpLL_t)(void*, uintptr_t, uintptr_t);
 typedef int32_t (*iFpLp_t)(void*, uintptr_t, void*);
+typedef int32_t (*iFppc_t)(void*, void*, int8_t);
 typedef int32_t (*iFppi_t)(void*, void*, int32_t);
 typedef int32_t (*iFppI_t)(void*, void*, int64_t);
 typedef int32_t (*iFppC_t)(void*, void*, uint8_t);
@@ -704,6 +705,7 @@ typedef uintptr_t (*LFpLi_t)(void*, uintptr_t, int32_t);
 typedef uintptr_t (*LFpLL_t)(void*, uintptr_t, uintptr_t);
 typedef uintptr_t (*LFpLp_t)(void*, uintptr_t, void*);
 typedef uintptr_t (*LFppi_t)(void*, void*, int32_t);
+typedef uintptr_t (*LFppC_t)(void*, void*, uint8_t);
 typedef uintptr_t (*LFppu_t)(void*, void*, uint32_t);
 typedef uintptr_t (*LFppL_t)(void*, void*, uintptr_t);
 typedef uintptr_t (*LFppp_t)(void*, void*, void*);
@@ -942,6 +944,7 @@ typedef void (*vFplpp_t)(void*, intptr_t, void*, void*);
 typedef void (*vFpLii_t)(void*, uintptr_t, int32_t, int32_t);
 typedef void (*vFpLuu_t)(void*, uintptr_t, uint32_t, uint32_t);
 typedef void (*vFpLLL_t)(void*, uintptr_t, uintptr_t, uintptr_t);
+typedef void (*vFpLpu_t)(void*, uintptr_t, void*, uint32_t);
 typedef void (*vFpLpL_t)(void*, uintptr_t, void*, uintptr_t);
 typedef void (*vFpLpp_t)(void*, uintptr_t, void*, void*);
 typedef void (*vFppii_t)(void*, void*, int32_t, int32_t);
@@ -1028,10 +1031,12 @@ typedef int32_t (*iFuWWp_t)(uint32_t, uint16_t, uint16_t, void*);
 typedef int32_t (*iFuuuu_t)(uint32_t, uint32_t, uint32_t, uint32_t);
 typedef int32_t (*iFuupi_t)(uint32_t, uint32_t, void*, int32_t);
 typedef int32_t (*iFuupp_t)(uint32_t, uint32_t, void*, void*);
+typedef int32_t (*iFupup_t)(uint32_t, void*, uint32_t, void*);
 typedef int32_t (*iFupLp_t)(uint32_t, void*, uintptr_t, void*);
 typedef int32_t (*iFuppi_t)(uint32_t, void*, void*, int32_t);
 typedef int32_t (*iFuppu_t)(uint32_t, void*, void*, uint32_t);
 typedef int32_t (*iFuppp_t)(uint32_t, void*, void*, void*);
+typedef int32_t (*iFLpLp_t)(uintptr_t, void*, uintptr_t, void*);
 typedef int32_t (*iFLppp_t)(uintptr_t, void*, void*, void*);
 typedef int32_t (*iFpwww_t)(void*, int16_t, int16_t, int16_t);
 typedef int32_t (*iFpwpp_t)(void*, int16_t, void*, void*);
@@ -1515,7 +1520,9 @@ 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*);
 typedef void (*vFppLLL_t)(void*, void*, uintptr_t, uintptr_t, uintptr_t);
+typedef void (*vFppLLp_t)(void*, void*, uintptr_t, uintptr_t, void*);
 typedef void (*vFppLpL_t)(void*, void*, uintptr_t, void*, uintptr_t);
+typedef void (*vFppLpp_t)(void*, void*, uintptr_t, void*, void*);
 typedef void (*vFpppii_t)(void*, void*, void*, int32_t, int32_t);
 typedef void (*vFpppip_t)(void*, void*, void*, int32_t, void*);
 typedef void (*vFpppui_t)(void*, void*, void*, uint32_t, int32_t);
@@ -1608,6 +1615,7 @@ 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 (*iFpuuLp_t)(void*, uint32_t, uint32_t, uintptr_t, void*);
 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*);
@@ -1857,6 +1865,7 @@ typedef void (*vFEpLLpp_t)(x64emu_t*, void*, uintptr_t, uintptr_t, void*, void*)
 typedef void (*vFEppipV_t)(x64emu_t*, void*, void*, int32_t, void*, void*);
 typedef void (*vFEppipA_t)(x64emu_t*, void*, void*, int32_t, void*, void*);
 typedef void (*vFEppupp_t)(x64emu_t*, void*, void*, uint32_t, void*, void*);
+typedef void (*vFEpppLp_t)(x64emu_t*, void*, void*, void*, uintptr_t, void*);
 typedef void (*vFEppppp_t)(x64emu_t*, void*, void*, void*, void*, 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);
@@ -1958,6 +1967,7 @@ typedef void (*vFpUUiup_t)(void*, uint64_t, uint64_t, int32_t, uint32_t, void*);
 typedef void (*vFpdddii_t)(void*, double, double, double, int32_t, int32_t);
 typedef void (*vFpddddd_t)(void*, double, double, double, double, double);
 typedef void (*vFpddddp_t)(void*, double, double, double, double, void*);
+typedef void (*vFpLpLLL_t)(void*, uintptr_t, void*, uintptr_t, uintptr_t, uintptr_t);
 typedef void (*vFppiiii_t)(void*, void*, int32_t, int32_t, int32_t, int32_t);
 typedef void (*vFppiiip_t)(void*, void*, int32_t, int32_t, int32_t, void*);
 typedef void (*vFppiiuu_t)(void*, void*, int32_t, int32_t, uint32_t, uint32_t);
@@ -1988,7 +1998,9 @@ typedef void (*vFpppiff_t)(void*, void*, void*, int32_t, float, float);
 typedef void (*vFpppipu_t)(void*, void*, void*, int32_t, void*, uint32_t);
 typedef void (*vFpppuii_t)(void*, void*, void*, uint32_t, int32_t, int32_t);
 typedef void (*vFpppuuu_t)(void*, void*, void*, uint32_t, uint32_t, uint32_t);
+typedef void (*vFpppLpp_t)(void*, void*, void*, uintptr_t, void*, void*);
 typedef void (*vFppppii_t)(void*, void*, void*, void*, int32_t, int32_t);
+typedef void (*vFppppLp_t)(void*, void*, void*, void*, uintptr_t, void*);
 typedef void (*vFpppppi_t)(void*, void*, void*, void*, void*, int32_t);
 typedef void (*vFpppppu_t)(void*, void*, void*, void*, void*, uint32_t);
 typedef void (*vFpppppU_t)(void*, void*, void*, void*, void*, uint64_t);
@@ -2258,6 +2270,9 @@ typedef void (*vFEpiiipp_t)(x64emu_t*, void*, int32_t, int32_t, int32_t, void*,
 typedef void (*vFEpipppp_t)(x64emu_t*, void*, int32_t, void*, void*, void*, void*);
 typedef void (*vFEpuipuV_t)(x64emu_t*, void*, uint32_t, int32_t, void*, uint32_t, void*);
 typedef void (*vFEppippp_t)(x64emu_t*, void*, void*, int32_t, void*, void*, void*);
+typedef void (*vFEpppLpp_t)(x64emu_t*, void*, void*, void*, uintptr_t, void*, void*);
+typedef void (*vFEppppup_t)(x64emu_t*, void*, void*, void*, void*, uint32_t, void*);
+typedef void (*vFEppppLp_t)(x64emu_t*, void*, void*, void*, void*, uintptr_t, void*);
 typedef void (*vFEpppppp_t)(x64emu_t*, void*, void*, void*, void*, void*, 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*);
@@ -2311,6 +2326,7 @@ 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 (*vFlipuiip_t)(intptr_t, int32_t, void*, uint32_t, int32_t, int32_t, void*);
 typedef void (*vFlliiiip_t)(intptr_t, intptr_t, int32_t, int32_t, int32_t, int32_t, void*);
+typedef void (*vFLpuLpLp_t)(uintptr_t, void*, uint32_t, uintptr_t, void*, uintptr_t, void*);
 typedef void (*vFpiiiipp_t)(void*, int32_t, int32_t, int32_t, int32_t, void*, void*);
 typedef void (*vFpiiliip_t)(void*, int32_t, int32_t, intptr_t, int32_t, int32_t, void*);
 typedef void (*vFpiiLiip_t)(void*, int32_t, int32_t, uintptr_t, int32_t, int32_t, void*);
@@ -2371,6 +2387,7 @@ typedef int32_t (*iFEpLiLpV_t)(x64emu_t*, void*, uintptr_t, int32_t, uintptr_t,
 typedef int32_t (*iFEppuppp_t)(x64emu_t*, void*, void*, uint32_t, void*, void*, void*);
 typedef int32_t (*iFEppLpIi_t)(x64emu_t*, void*, void*, uintptr_t, void*, int64_t, int32_t);
 typedef int32_t (*iFEpppiiu_t)(x64emu_t*, void*, void*, void*, int32_t, int32_t, uint32_t);
+typedef int32_t (*iFEpppLpp_t)(x64emu_t*, void*, void*, void*, uintptr_t, void*, void*);
 typedef int32_t (*iFEpppppL_t)(x64emu_t*, void*, void*, void*, void*, void*, uintptr_t);
 typedef int32_t (*iFEpppppp_t)(x64emu_t*, void*, void*, void*, void*, void*, void*);
 typedef int32_t (*iFiiiiiip_t)(int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, void*);
@@ -2412,6 +2429,7 @@ typedef int32_t (*iFpLipupu_t)(void*, uintptr_t, int32_t, void*, uint32_t, void*
 typedef int32_t (*iFpLpiiii_t)(void*, uintptr_t, void*, int32_t, int32_t, int32_t, int32_t);
 typedef int32_t (*iFpLpiiuu_t)(void*, uintptr_t, void*, int32_t, int32_t, uint32_t, uint32_t);
 typedef int32_t (*iFpLpiipi_t)(void*, uintptr_t, void*, int32_t, int32_t, void*, int32_t);
+typedef int32_t (*iFpLpLpip_t)(void*, uintptr_t, void*, uintptr_t, void*, int32_t, void*);
 typedef int32_t (*iFpLppiii_t)(void*, uintptr_t, void*, void*, int32_t, int32_t, int32_t);
 typedef int32_t (*iFppiiiip_t)(void*, void*, int32_t, int32_t, int32_t, int32_t, void*);
 typedef int32_t (*iFppiiuup_t)(void*, void*, int32_t, int32_t, uint32_t, uint32_t, void*);
@@ -2432,6 +2450,7 @@ typedef int32_t (*iFppliupp_t)(void*, void*, intptr_t, int32_t, uint32_t, void*,
 typedef int32_t (*iFppLiipp_t)(void*, void*, uintptr_t, int32_t, int32_t, void*, void*);
 typedef int32_t (*iFppLippp_t)(void*, void*, uintptr_t, int32_t, void*, void*, void*);
 typedef int32_t (*iFppLuuii_t)(void*, void*, uintptr_t, uint32_t, uint32_t, int32_t, int32_t);
+typedef int32_t (*iFppLpppp_t)(void*, void*, uintptr_t, void*, void*, void*, void*);
 typedef int32_t (*iFpppiiuu_t)(void*, void*, void*, int32_t, int32_t, uint32_t, uint32_t);
 typedef int32_t (*iFpppiiup_t)(void*, void*, void*, int32_t, int32_t, uint32_t, void*);
 typedef int32_t (*iFpppiuwu_t)(void*, void*, void*, int32_t, uint32_t, int16_t, uint32_t);
@@ -2543,8 +2562,11 @@ typedef void (*vFEiupippp_t)(x64emu_t*, int32_t, uint32_t, void*, int32_t, void*
 typedef void (*vFEipAippp_t)(x64emu_t*, int32_t, void*, void*, int32_t, void*, void*, void*);
 typedef void (*vFEppipppp_t)(x64emu_t*, void*, void*, int32_t, void*, void*, void*, void*);
 typedef void (*vFEppLippp_t)(x64emu_t*, void*, void*, uintptr_t, int32_t, void*, void*, void*);
+typedef void (*vFEppLpLpp_t)(x64emu_t*, void*, void*, uintptr_t, void*, uintptr_t, void*, void*);
 typedef void (*vFEpppippp_t)(x64emu_t*, void*, void*, void*, int32_t, void*, void*, void*);
 typedef void (*vFEpppuipV_t)(x64emu_t*, void*, void*, void*, uint32_t, int32_t, void*, void*);
+typedef void (*vFEpppLLpp_t)(x64emu_t*, void*, void*, void*, uintptr_t, uintptr_t, void*, void*);
+typedef void (*vFEppppLpp_t)(x64emu_t*, void*, void*, void*, void*, uintptr_t, void*, void*);
 typedef void (*vFEpppppuu_t)(x64emu_t*, void*, void*, void*, void*, void*, uint32_t, uint32_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*);
@@ -2574,6 +2596,7 @@ typedef void (*vFuuuipipp_t)(uint32_t, uint32_t, uint32_t, int32_t, void*, int32
 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 void (*vFLLLpLppp_t)(uintptr_t, uintptr_t, uintptr_t, void*, uintptr_t, void*, void*, void*);
 typedef void (*vFpiiiiiii_t)(void*, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t);
 typedef void (*vFpiiiiiip_t)(void*, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, void*);
 typedef void (*vFpiiiipii_t)(void*, int32_t, int32_t, int32_t, int32_t, void*, int32_t, int32_t);
@@ -2586,6 +2609,7 @@ typedef void (*vFpuppippp_t)(void*, uint32_t, void*, void*, int32_t, void*, void
 typedef void (*vFpuppLLLL_t)(void*, uint32_t, void*, void*, uintptr_t, uintptr_t, uintptr_t, uintptr_t);
 typedef void (*vFpUiUiupi_t)(void*, uint64_t, int32_t, uint64_t, int32_t, uint32_t, void*, int32_t);
 typedef void (*vFpUuuUUUu_t)(void*, uint64_t, uint32_t, uint32_t, uint64_t, uint64_t, uint64_t, uint32_t);
+typedef void (*vFpLpLpLpp_t)(void*, uintptr_t, void*, uintptr_t, void*, uintptr_t, void*, void*);
 typedef void (*vFpLppiipi_t)(void*, uintptr_t, void*, void*, int32_t, int32_t, void*, int32_t);
 typedef void (*vFppiiiiii_t)(void*, void*, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t);
 typedef void (*vFppiiipii_t)(void*, void*, int32_t, int32_t, int32_t, void*, int32_t, int32_t);
@@ -2601,6 +2625,7 @@ typedef void (*vFpplppppp_t)(void*, void*, intptr_t, void*, void*, void*, void*,
 typedef void (*vFppLpLpLp_t)(void*, void*, uintptr_t, void*, uintptr_t, void*, uintptr_t, void*);
 typedef void (*vFpppipppu_t)(void*, void*, void*, int32_t, void*, void*, void*, uint32_t);
 typedef void (*vFpppuiiii_t)(void*, void*, void*, uint32_t, int32_t, int32_t, int32_t, int32_t);
+typedef void (*vFpppLpppp_t)(void*, void*, void*, uintptr_t, void*, void*, void*, void*);
 typedef void (*vFppppiipi_t)(void*, void*, void*, void*, int32_t, int32_t, void*, int32_t);
 typedef void (*vFpppppuuu_t)(void*, void*, void*, void*, void*, uint32_t, uint32_t, uint32_t);
 typedef void (*vFpppppppp_t)(void*, void*, void*, void*, void*, void*, void*, void*);
@@ -2610,6 +2635,9 @@ typedef int32_t (*iFEpuuLppp_t)(x64emu_t*, void*, uint32_t, uint32_t, uintptr_t,
 typedef int32_t (*iFEpUUuppp_t)(x64emu_t*, void*, uint64_t, uint64_t, uint32_t, void*, void*, void*);
 typedef int32_t (*iFEppipppp_t)(x64emu_t*, void*, void*, int32_t, void*, void*, void*, void*);
 typedef int32_t (*iFEppppipp_t)(x64emu_t*, void*, void*, void*, void*, int32_t, void*, void*);
+typedef int32_t (*iFEppppLpp_t)(x64emu_t*, void*, void*, void*, void*, uintptr_t, void*, void*);
+typedef int32_t (*iFEpppppuu_t)(x64emu_t*, void*, void*, void*, void*, void*, uint32_t, uint32_t);
+typedef int32_t (*iFEppppppp_t)(x64emu_t*, void*, void*, void*, void*, void*, void*, void*);
 typedef int32_t (*iFiiiiiiip_t)(int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, void*);
 typedef int32_t (*iFiiupiupi_t)(int32_t, int32_t, uint32_t, void*, int32_t, uint32_t, void*, int32_t);
 typedef int32_t (*iFiuuCCuup_t)(int32_t, uint32_t, uint32_t, uint8_t, uint8_t, uint32_t, uint32_t, void*);
@@ -2638,6 +2666,7 @@ typedef int32_t (*iFpLLiippp_t)(void*, uintptr_t, uintptr_t, int32_t, int32_t, v
 typedef int32_t (*iFpLLLiipi_t)(void*, uintptr_t, uintptr_t, uintptr_t, int32_t, int32_t, void*, int32_t);
 typedef int32_t (*iFpLLppppp_t)(void*, uintptr_t, uintptr_t, void*, void*, void*, void*, void*);
 typedef int32_t (*iFpLpipppp_t)(void*, uintptr_t, void*, int32_t, void*, void*, void*, void*);
+typedef int32_t (*iFpLpLpLpp_t)(void*, uintptr_t, void*, uintptr_t, void*, uintptr_t, void*, void*);
 typedef int32_t (*iFpLppLpip_t)(void*, uintptr_t, void*, void*, uintptr_t, void*, int32_t, void*);
 typedef int32_t (*iFpLpppupu_t)(void*, uintptr_t, void*, void*, void*, uint32_t, void*, uint32_t);
 typedef int32_t (*iFpLpppppp_t)(void*, uintptr_t, void*, void*, void*, void*, void*, void*);
@@ -2726,6 +2755,7 @@ typedef void (*vFEpippippA_t)(x64emu_t*, void*, int32_t, void*, void*, int32_t,
 typedef void (*vFEpuuuippp_t)(x64emu_t*, void*, uint32_t, uint32_t, uint32_t, int32_t, void*, void*, void*);
 typedef void (*vFEppiipppp_t)(x64emu_t*, void*, void*, int32_t, int32_t, void*, void*, void*, void*);
 typedef void (*vFEpppiippp_t)(x64emu_t*, void*, void*, void*, int32_t, int32_t, void*, void*, void*);
+typedef void (*vFEpppLLpLp_t)(x64emu_t*, void*, void*, void*, uintptr_t, uintptr_t, void*, uintptr_t, void*);
 typedef void (*vFEppppippp_t)(x64emu_t*, void*, void*, void*, void*, int32_t, 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);
@@ -2755,6 +2785,7 @@ typedef void (*vFpiuippppi_t)(void*, int32_t, uint32_t, int32_t, void*, void*, v
 typedef void (*vFpipiuiipp_t)(void*, int32_t, void*, int32_t, uint32_t, int32_t, int32_t, void*, void*);
 typedef void (*vFpipppiipi_t)(void*, int32_t, void*, void*, void*, int32_t, int32_t, void*, int32_t);
 typedef void (*vFpuuuuuuuu_t)(void*, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t);
+typedef void (*vFpLpLpLLpp_t)(void*, uintptr_t, void*, uintptr_t, void*, uintptr_t, uintptr_t, void*, void*);
 typedef void (*vFpLpppippp_t)(void*, uintptr_t, void*, void*, void*, int32_t, void*, void*, void*);
 typedef void (*vFppiiiiiii_t)(void*, void*, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t);
 typedef void (*vFppiiiiipi_t)(void*, void*, int32_t, int32_t, int32_t, int32_t, int32_t, void*, int32_t);
@@ -2783,6 +2814,7 @@ typedef int32_t (*iFEppuppppp_t)(x64emu_t*, void*, void*, uint32_t, void*, void*
 typedef int32_t (*iFEpppipppp_t)(x64emu_t*, void*, void*, void*, int32_t, void*, void*, void*, void*);
 typedef int32_t (*iFEppplPPPP_t)(x64emu_t*, void*, void*, void*, intptr_t, void*, void*, void*, void*);
 typedef int32_t (*iFEpppppupp_t)(x64emu_t*, void*, void*, void*, void*, void*, uint32_t, void*, void*);
+typedef int32_t (*iFEppppppuu_t)(x64emu_t*, void*, void*, void*, void*, void*, void*, uint32_t, uint32_t);
 typedef int32_t (*iFEppPPPPPP_t)(x64emu_t*, void*, void*, void*, void*, void*, void*, void*, void*);
 typedef int32_t (*iFiiiiiiiip_t)(int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, void*);
 typedef int32_t (*iFiiiipiiip_t)(int32_t, int32_t, int32_t, int32_t, void*, int32_t, int32_t, int32_t, void*);
@@ -2798,6 +2830,7 @@ typedef int32_t (*iFpduuuLuLp_t)(void*, double, uint32_t, uint32_t, uint32_t, ui
 typedef int32_t (*iFpLiuiiLLL_t)(void*, uintptr_t, int32_t, uint32_t, int32_t, int32_t, uintptr_t, uintptr_t, uintptr_t);
 typedef int32_t (*iFpLLiiuuii_t)(void*, uintptr_t, uintptr_t, int32_t, int32_t, uint32_t, uint32_t, int32_t, int32_t);
 typedef int32_t (*iFpLpiiuuii_t)(void*, uintptr_t, void*, int32_t, int32_t, uint32_t, uint32_t, int32_t, int32_t);
+typedef int32_t (*iFpLpLpLLpp_t)(void*, uintptr_t, void*, uintptr_t, void*, uintptr_t, uintptr_t, void*, void*);
 typedef int32_t (*iFpLpppupup_t)(void*, uintptr_t, void*, void*, void*, uint32_t, void*, uint32_t, void*);
 typedef int32_t (*iFpLppppppp_t)(void*, uintptr_t, void*, void*, void*, void*, void*, void*, void*);
 typedef int32_t (*iFppiiiiiii_t)(void*, void*, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t);
@@ -2854,6 +2887,7 @@ typedef int32_t (*iWppppupiii_t)(void*, void*, void*, void*, uint32_t, void*, in
 typedef void (*vFEiippppppp_t)(x64emu_t*, int32_t, int32_t, void*, void*, void*, void*, void*, void*, void*);
 typedef void (*vFEpippppppp_t)(x64emu_t*, void*, int32_t, void*, void*, void*, void*, void*, void*, void*);
 typedef void (*vFEpppiipppp_t)(x64emu_t*, void*, void*, void*, int32_t, int32_t, void*, void*, void*, void*);
+typedef void (*vFEpppLuLpLp_t)(x64emu_t*, void*, void*, void*, uintptr_t, uint32_t, uintptr_t, void*, uintptr_t, void*);
 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 (*vFiiiiiiiiiu_t)(int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, uint32_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);
@@ -2901,6 +2935,7 @@ typedef int32_t (*iFpLLpiiuuii_t)(void*, uintptr_t, uintptr_t, void*, int32_t, i
 typedef int32_t (*iFpLpLUUUUpL_t)(void*, uintptr_t, void*, uintptr_t, uint64_t, uint64_t, uint64_t, uint64_t, void*, uintptr_t);
 typedef int32_t (*iFppuuiiiiii_t)(void*, void*, uint32_t, uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t);
 typedef int32_t (*iFppuuiiuupi_t)(void*, void*, uint32_t, uint32_t, int32_t, int32_t, uint32_t, uint32_t, void*, int32_t);
+typedef int32_t (*iFppLpLpLLpp_t)(void*, void*, uintptr_t, void*, uintptr_t, void*, uintptr_t, uintptr_t, void*, void*);
 typedef int32_t (*iFpppiiipipi_t)(void*, void*, void*, int32_t, int32_t, int32_t, void*, int32_t, void*, int32_t);
 typedef int32_t (*iFpppLLipppp_t)(void*, void*, void*, uintptr_t, uintptr_t, int32_t, void*, void*, void*, void*);
 typedef int32_t (*iFpppppiiuup_t)(void*, void*, void*, void*, void*, int32_t, int32_t, uint32_t, uint32_t, void*);
@@ -2927,6 +2962,7 @@ typedef int32_t (*iWEpuipupppp_t)(x64emu_t*, void*, uint32_t, int32_t, void*, ui
 typedef int32_t (*iWEpuuiiuipp_t)(x64emu_t*, void*, uint32_t, uint32_t, int32_t, int32_t, uint32_t, int32_t, void*, void*);
 typedef int32_t (*iWEpuuuuiipp_t)(x64emu_t*, void*, uint32_t, uint32_t, uint32_t, uint32_t, int32_t, int32_t, void*, void*);
 typedef void (*vFEpuuuupupup_t)(x64emu_t*, void*, uint32_t, uint32_t, uint32_t, uint32_t, void*, uint32_t, void*, uint32_t, void*);
+typedef void (*vFEppLpLpLLpp_t)(x64emu_t*, void*, void*, uintptr_t, void*, uintptr_t, void*, uintptr_t, uintptr_t, void*, void*);
 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 (*vFuiiiiiiiiip_t)(uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, void*);
@@ -2957,6 +2993,7 @@ typedef void (*vFppupipiuuuu_t)(void*, void*, uint32_t, void*, int32_t, void*, i
 typedef void (*vFppupppuiiii_t)(void*, void*, uint32_t, void*, void*, void*, uint32_t, int32_t, int32_t, int32_t, int32_t);
 typedef void (*vFppppppppppp_t)(void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*);
 typedef int32_t (*iFEiipppppppp_t)(x64emu_t*, int32_t, int32_t, void*, void*, void*, void*, void*, void*, void*, void*);
+typedef int32_t (*iFEppLpLpLLpp_t)(x64emu_t*, void*, void*, uintptr_t, void*, uintptr_t, void*, uintptr_t, uintptr_t, void*, void*);
 typedef int32_t (*iFEpppipppppp_t)(x64emu_t*, void*, void*, void*, int32_t, void*, void*, void*, void*, void*, void*);
 typedef int32_t (*iFEppppiiiiuu_t)(x64emu_t*, void*, void*, void*, void*, int32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t);
 typedef int32_t (*iFEpppppppppp_t)(x64emu_t*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*);
@@ -3688,6 +3725,7 @@ void iFpLu(x64emu_t *emu, uintptr_t fcn) { iFpLu_t fn = (iFpLu_t)fcn; R_RAX=(int
 void iFpLl(x64emu_t *emu, uintptr_t fcn) { iFpLl_t fn = (iFpLl_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (intptr_t)R_RDX); }
 void iFpLL(x64emu_t *emu, uintptr_t fcn) { iFpLL_t fn = (iFpLL_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (uintptr_t)R_RDX); }
 void iFpLp(x64emu_t *emu, uintptr_t fcn) { iFpLp_t fn = (iFpLp_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (void*)R_RDX); }
+void iFppc(x64emu_t *emu, uintptr_t fcn) { iFppc_t fn = (iFppc_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (void*)R_RSI, (int8_t)R_RDX); }
 void iFppi(x64emu_t *emu, uintptr_t fcn) { iFppi_t fn = (iFppi_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX); }
 void iFppI(x64emu_t *emu, uintptr_t fcn) { iFppI_t fn = (iFppI_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX); }
 void iFppC(x64emu_t *emu, uintptr_t fcn) { iFppC_t fn = (iFppC_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (void*)R_RSI, (uint8_t)R_RDX); }
@@ -3805,6 +3843,7 @@ void LFpLi(x64emu_t *emu, uintptr_t fcn) { LFpLi_t fn = (LFpLi_t)fcn; R_RAX=(uin
 void LFpLL(x64emu_t *emu, uintptr_t fcn) { LFpLL_t fn = (LFpLL_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (uintptr_t)R_RDX); }
 void LFpLp(x64emu_t *emu, uintptr_t fcn) { LFpLp_t fn = (LFpLp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (void*)R_RDX); }
 void LFppi(x64emu_t *emu, uintptr_t fcn) { LFppi_t fn = (LFppi_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX); }
+void LFppC(x64emu_t *emu, uintptr_t fcn) { LFppC_t fn = (LFppC_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (uint8_t)R_RDX); }
 void LFppu(x64emu_t *emu, uintptr_t fcn) { LFppu_t fn = (LFppu_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX); }
 void LFppL(x64emu_t *emu, uintptr_t fcn) { LFppL_t fn = (LFppL_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX); }
 void LFppp(x64emu_t *emu, uintptr_t fcn) { LFppp_t fn = (LFppp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX); }
@@ -4043,6 +4082,7 @@ void vFplpp(x64emu_t *emu, uintptr_t fcn) { vFplpp_t fn = (vFplpp_t)fcn; fn((voi
 void vFpLii(x64emu_t *emu, uintptr_t fcn) { vFpLii_t fn = (vFpLii_t)fcn; fn((void*)R_RDI, (uintptr_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX); }
 void vFpLuu(x64emu_t *emu, uintptr_t fcn) { vFpLuu_t fn = (vFpLuu_t)fcn; fn((void*)R_RDI, (uintptr_t)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX); }
 void vFpLLL(x64emu_t *emu, uintptr_t fcn) { vFpLLL_t fn = (vFpLLL_t)fcn; fn((void*)R_RDI, (uintptr_t)R_RSI, (uintptr_t)R_RDX, (uintptr_t)R_RCX); }
+void vFpLpu(x64emu_t *emu, uintptr_t fcn) { vFpLpu_t fn = (vFpLpu_t)fcn; fn((void*)R_RDI, (uintptr_t)R_RSI, (void*)R_RDX, (uint32_t)R_RCX); }
 void vFpLpL(x64emu_t *emu, uintptr_t fcn) { vFpLpL_t fn = (vFpLpL_t)fcn; fn((void*)R_RDI, (uintptr_t)R_RSI, (void*)R_RDX, (uintptr_t)R_RCX); }
 void vFpLpp(x64emu_t *emu, uintptr_t fcn) { vFpLpp_t fn = (vFpLpp_t)fcn; fn((void*)R_RDI, (uintptr_t)R_RSI, (void*)R_RDX, (void*)R_RCX); }
 void vFppii(x64emu_t *emu, uintptr_t fcn) { vFppii_t fn = (vFppii_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX); }
@@ -4129,10 +4169,12 @@ void iFuWWp(x64emu_t *emu, uintptr_t fcn) { iFuWWp_t fn = (iFuWWp_t)fcn; R_RAX=(
 void iFuuuu(x64emu_t *emu, uintptr_t fcn) { iFuuuu_t fn = (iFuuuu_t)fcn; R_RAX=(int32_t)fn((uint32_t)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX); }
 void iFuupi(x64emu_t *emu, uintptr_t fcn) { iFuupi_t fn = (iFuupi_t)fcn; R_RAX=(int32_t)fn((uint32_t)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (int32_t)R_RCX); }
 void iFuupp(x64emu_t *emu, uintptr_t fcn) { iFuupp_t fn = (iFuupp_t)fcn; R_RAX=(int32_t)fn((uint32_t)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (void*)R_RCX); }
+void iFupup(x64emu_t *emu, uintptr_t fcn) { iFupup_t fn = (iFupup_t)fcn; R_RAX=(int32_t)fn((uint32_t)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (void*)R_RCX); }
 void iFupLp(x64emu_t *emu, uintptr_t fcn) { iFupLp_t fn = (iFupLp_t)fcn; R_RAX=(int32_t)fn((uint32_t)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (void*)R_RCX); }
 void iFuppi(x64emu_t *emu, uintptr_t fcn) { iFuppi_t fn = (iFuppi_t)fcn; R_RAX=(int32_t)fn((uint32_t)R_RDI, (void*)R_RSI, (void*)R_RDX, (int32_t)R_RCX); }
 void iFuppu(x64emu_t *emu, uintptr_t fcn) { iFuppu_t fn = (iFuppu_t)fcn; R_RAX=(int32_t)fn((uint32_t)R_RDI, (void*)R_RSI, (void*)R_RDX, (uint32_t)R_RCX); }
 void iFuppp(x64emu_t *emu, uintptr_t fcn) { iFuppp_t fn = (iFuppp_t)fcn; R_RAX=(int32_t)fn((uint32_t)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX); }
+void iFLpLp(x64emu_t *emu, uintptr_t fcn) { iFLpLp_t fn = (iFLpLp_t)fcn; R_RAX=(int32_t)fn((uintptr_t)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (void*)R_RCX); }
 void iFLppp(x64emu_t *emu, uintptr_t fcn) { iFLppp_t fn = (iFLppp_t)fcn; R_RAX=(int32_t)fn((uintptr_t)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX); }
 void iFpwww(x64emu_t *emu, uintptr_t fcn) { iFpwww_t fn = (iFpwww_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (int16_t)R_RSI, (int16_t)R_RDX, (int16_t)R_RCX); }
 void iFpwpp(x64emu_t *emu, uintptr_t fcn) { iFpwpp_t fn = (iFpwpp_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (int16_t)R_RSI, (void*)R_RDX, (void*)R_RCX); }
@@ -4616,7 +4658,9 @@ void vFppupp(x64emu_t *emu, uintptr_t fcn) { vFppupp_t fn = (vFppupp_t)fcn; fn((
 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); }
 void vFppLLL(x64emu_t *emu, uintptr_t fcn) { vFppLLL_t fn = (vFppLLL_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (uintptr_t)R_RCX, (uintptr_t)R_R8); }
+void vFppLLp(x64emu_t *emu, uintptr_t fcn) { vFppLLp_t fn = (vFppLLp_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (uintptr_t)R_RCX, (void*)R_R8); }
 void vFppLpL(x64emu_t *emu, uintptr_t fcn) { vFppLpL_t fn = (vFppLpL_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (void*)R_RCX, (uintptr_t)R_R8); }
+void vFppLpp(x64emu_t *emu, uintptr_t fcn) { vFppLpp_t fn = (vFppLpp_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (void*)R_RCX, (void*)R_R8); }
 void vFpppii(x64emu_t *emu, uintptr_t fcn) { vFpppii_t fn = (vFpppii_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (int32_t)R_R8); }
 void vFpppip(x64emu_t *emu, uintptr_t fcn) { vFpppip_t fn = (vFpppip_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (void*)R_R8); }
 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); }
@@ -4709,6 +4753,7 @@ 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 iFpuuLp(x64emu_t *emu, uintptr_t fcn) { iFpuuLp_t fn = (iFpuuLp_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (uintptr_t)R_RCX, (void*)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); }
@@ -4958,6 +5003,7 @@ void vFEpLLpp(x64emu_t *emu, uintptr_t fcn) { vFEpLLpp_t fn = (vFEpLLpp_t)fcn; f
 void vFEppipV(x64emu_t *emu, uintptr_t fcn) { vFEppipV_t fn = (vFEppipV_t)fcn; fn(emu, (void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (void*)R_RCX, (void*)(R_RSP + 8)); }
 void vFEppipA(x64emu_t *emu, uintptr_t fcn) { vFEppipA_t fn = (vFEppipA_t)fcn; fn(emu, (void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (void*)R_RCX, (void*)R_R8); }
 void vFEppupp(x64emu_t *emu, uintptr_t fcn) { vFEppupp_t fn = (vFEppupp_t)fcn; fn(emu, (void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (void*)R_R8); }
+void vFEpppLp(x64emu_t *emu, uintptr_t fcn) { vFEpppLp_t fn = (vFEpppLp_t)fcn; fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uintptr_t)R_RCX, (void*)R_R8); }
 void vFEppppp(x64emu_t *emu, uintptr_t fcn) { vFEppppp_t fn = (vFEppppp_t)fcn; fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8); }
 void vFiiiiii(x64emu_t *emu, uintptr_t fcn) { vFiiiiii_t fn = (vFiiiiii_t)fcn; fn((int32_t)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9); }
 void vFiiiuil(x64emu_t *emu, uintptr_t fcn) { vFiiiuil_t fn = (vFiiiuil_t)fcn; fn((int32_t)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (uint32_t)R_RCX, (int32_t)R_R8, (intptr_t)R_R9); }
@@ -5059,6 +5105,7 @@ void vFpUUiup(x64emu_t *emu, uintptr_t fcn) { vFpUUiup_t fn = (vFpUUiup_t)fcn; f
 void vFpdddii(x64emu_t *emu, uintptr_t fcn) { vFpdddii_t fn = (vFpdddii_t)fcn; fn((void*)R_RDI, emu->xmm[0].d[0], emu->xmm[1].d[0], emu->xmm[2].d[0], (int32_t)R_RSI, (int32_t)R_RDX); }
 void vFpddddd(x64emu_t *emu, uintptr_t fcn) { vFpddddd_t fn = (vFpddddd_t)fcn; fn((void*)R_RDI, emu->xmm[0].d[0], emu->xmm[1].d[0], emu->xmm[2].d[0], emu->xmm[3].d[0], emu->xmm[4].d[0]); }
 void vFpddddp(x64emu_t *emu, uintptr_t fcn) { vFpddddp_t fn = (vFpddddp_t)fcn; fn((void*)R_RDI, emu->xmm[0].d[0], emu->xmm[1].d[0], emu->xmm[2].d[0], emu->xmm[3].d[0], (void*)R_RSI); }
+void vFpLpLLL(x64emu_t *emu, uintptr_t fcn) { vFpLpLLL_t fn = (vFpLpLLL_t)fcn; fn((void*)R_RDI, (uintptr_t)R_RSI, (void*)R_RDX, (uintptr_t)R_RCX, (uintptr_t)R_R8, (uintptr_t)R_R9); }
 void vFppiiii(x64emu_t *emu, uintptr_t fcn) { vFppiiii_t fn = (vFppiiii_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9); }
 void vFppiiip(x64emu_t *emu, uintptr_t fcn) { vFppiiip_t fn = (vFppiiip_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (void*)R_R9); }
 void vFppiiuu(x64emu_t *emu, uintptr_t fcn) { vFppiiuu_t fn = (vFppiiuu_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (uint32_t)R_R8, (uint32_t)R_R9); }
@@ -5089,7 +5136,9 @@ void vFpppiff(x64emu_t *emu, uintptr_t fcn) { vFpppiff_t fn = (vFpppiff_t)fcn; f
 void vFpppipu(x64emu_t *emu, uintptr_t fcn) { vFpppipu_t fn = (vFpppipu_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (void*)R_R8, (uint32_t)R_R9); }
 void vFpppuii(x64emu_t *emu, uintptr_t fcn) { vFpppuii_t fn = (vFpppuii_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uint32_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9); }
 void vFpppuuu(x64emu_t *emu, uintptr_t fcn) { vFpppuuu_t fn = (vFpppuuu_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uint32_t)R_RCX, (uint32_t)R_R8, (uint32_t)R_R9); }
+void vFpppLpp(x64emu_t *emu, uintptr_t fcn) { vFpppLpp_t fn = (vFpppLpp_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uintptr_t)R_RCX, (void*)R_R8, (void*)R_R9); }
 void vFppppii(x64emu_t *emu, uintptr_t fcn) { vFppppii_t fn = (vFppppii_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (int32_t)R_R8, (int32_t)R_R9); }
+void vFppppLp(x64emu_t *emu, uintptr_t fcn) { vFppppLp_t fn = (vFppppLp_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (uintptr_t)R_R8, (void*)R_R9); }
 void vFpppppi(x64emu_t *emu, uintptr_t fcn) { vFpppppi_t fn = (vFpppppi_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (int32_t)R_R9); }
 void vFpppppu(x64emu_t *emu, uintptr_t fcn) { vFpppppu_t fn = (vFpppppu_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (uint32_t)R_R9); }
 void vFpppppU(x64emu_t *emu, uintptr_t fcn) { vFpppppU_t fn = (vFpppppU_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (uint64_t)R_R9); }
@@ -5359,6 +5408,9 @@ void vFEpiiipp(x64emu_t *emu, uintptr_t fcn) { vFEpiiipp_t fn = (vFEpiiipp_t)fcn
 void vFEpipppp(x64emu_t *emu, uintptr_t fcn) { vFEpipppp_t fn = (vFEpipppp_t)fcn; fn(emu, (void*)R_RDI, (int32_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9); }
 void vFEpuipuV(x64emu_t *emu, uintptr_t fcn) { vFEpuipuV_t fn = (vFEpuipuV_t)fcn; fn(emu, (void*)R_RDI, (uint32_t)R_RSI, (int32_t)R_RDX, (void*)R_RCX, (uint32_t)R_R8, (void*)(R_RSP + 8)); }
 void vFEppippp(x64emu_t *emu, uintptr_t fcn) { vFEppippp_t fn = (vFEppippp_t)fcn; fn(emu, (void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9); }
+void vFEpppLpp(x64emu_t *emu, uintptr_t fcn) { vFEpppLpp_t fn = (vFEpppLpp_t)fcn; fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uintptr_t)R_RCX, (void*)R_R8, (void*)R_R9); }
+void vFEppppup(x64emu_t *emu, uintptr_t fcn) { vFEppppup_t fn = (vFEppppup_t)fcn; fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (uint32_t)R_R8, (void*)R_R9); }
+void vFEppppLp(x64emu_t *emu, uintptr_t fcn) { vFEppppLp_t fn = (vFEppppLp_t)fcn; fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (uintptr_t)R_R8, (void*)R_R9); }
 void vFEpppppp(x64emu_t *emu, uintptr_t fcn) { vFEpppppp_t fn = (vFEpppppp_t)fcn; fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9); }
 void vFiiiiiip(x64emu_t *emu, uintptr_t fcn) { vFiiiiiip_t fn = (vFiiiiiip_t)fcn; fn((int32_t)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)); }
 void vFiiiiuup(x64emu_t *emu, uintptr_t fcn) { vFiiiiuup_t fn = (vFiiiiuup_t)fcn; fn((int32_t)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (uint32_t)R_R8, (uint32_t)R_R9, *(void**)(R_RSP + 8)); }
@@ -5412,6 +5464,7 @@ void vFuffffff(x64emu_t *emu, uintptr_t fcn) { vFuffffff_t fn = (vFuffffff_t)fcn
 void vFudddddd(x64emu_t *emu, uintptr_t fcn) { vFudddddd_t fn = (vFudddddd_t)fcn; fn((uint32_t)R_RDI, emu->xmm[0].d[0], emu->xmm[1].d[0], emu->xmm[2].d[0], emu->xmm[3].d[0], emu->xmm[4].d[0], emu->xmm[5].d[0]); }
 void vFlipuiip(x64emu_t *emu, uintptr_t fcn) { vFlipuiip_t fn = (vFlipuiip_t)fcn; fn((intptr_t)R_RDI, (int32_t)R_RSI, (void*)R_RDX, (uint32_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(void**)(R_RSP + 8)); }
 void vFlliiiip(x64emu_t *emu, uintptr_t fcn) { vFlliiiip_t fn = (vFlliiiip_t)fcn; fn((intptr_t)R_RDI, (intptr_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(void**)(R_RSP + 8)); }
+void vFLpuLpLp(x64emu_t *emu, uintptr_t fcn) { vFLpuLpLp_t fn = (vFLpuLpLp_t)fcn; fn((uintptr_t)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (uintptr_t)R_RCX, (void*)R_R8, (uintptr_t)R_R9, *(void**)(R_RSP + 8)); }
 void vFpiiiipp(x64emu_t *emu, uintptr_t fcn) { vFpiiiipp_t fn = (vFpiiiipp_t)fcn; fn((void*)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); }
 void vFpiiliip(x64emu_t *emu, uintptr_t fcn) { vFpiiliip_t fn = (vFpiiliip_t)fcn; fn((void*)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (intptr_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(void**)(R_RSP + 8)); }
 void vFpiiLiip(x64emu_t *emu, uintptr_t fcn) { vFpiiLiip_t fn = (vFpiiLiip_t)fcn; fn((void*)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (uintptr_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(void**)(R_RSP + 8)); }
@@ -5472,6 +5525,7 @@ void iFEpLiLpV(x64emu_t *emu, uintptr_t fcn) { iFEpLiLpV_t fn = (iFEpLiLpV_t)fcn
 void iFEppuppp(x64emu_t *emu, uintptr_t fcn) { iFEppuppp_t fn = (iFEppuppp_t)fcn; R_RAX=(int32_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9); }
 void iFEppLpIi(x64emu_t *emu, uintptr_t fcn) { iFEppLpIi_t fn = (iFEppLpIi_t)fcn; R_RAX=(int32_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (void*)R_RCX, (int64_t)R_R8, (int32_t)R_R9); }
 void iFEpppiiu(x64emu_t *emu, uintptr_t fcn) { iFEpppiiu_t fn = (iFEpppiiu_t)fcn; R_RAX=(int32_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (uint32_t)R_R9); }
+void iFEpppLpp(x64emu_t *emu, uintptr_t fcn) { iFEpppLpp_t fn = (iFEpppLpp_t)fcn; R_RAX=(int32_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uintptr_t)R_RCX, (void*)R_R8, (void*)R_R9); }
 void iFEpppppL(x64emu_t *emu, uintptr_t fcn) { iFEpppppL_t fn = (iFEpppppL_t)fcn; R_RAX=(int32_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (uintptr_t)R_R9); }
 void iFEpppppp(x64emu_t *emu, uintptr_t fcn) { iFEpppppp_t fn = (iFEpppppp_t)fcn; R_RAX=(int32_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9); }
 void iFiiiiiip(x64emu_t *emu, uintptr_t fcn) { iFiiiiiip_t fn = (iFiiiiiip_t)fcn; R_RAX=(int32_t)fn((int32_t)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)); }
@@ -5513,6 +5567,7 @@ void iFpLipupu(x64emu_t *emu, uintptr_t fcn) { iFpLipupu_t fn = (iFpLipupu_t)fcn
 void iFpLpiiii(x64emu_t *emu, uintptr_t fcn) { iFpLpiiii_t fn = (iFpLpiiii_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(int32_t*)(R_RSP + 8)); }
 void iFpLpiiuu(x64emu_t *emu, uintptr_t fcn) { iFpLpiiuu_t fn = (iFpLpiiuu_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (uint32_t)R_R9, *(uint32_t*)(R_RSP + 8)); }
 void iFpLpiipi(x64emu_t *emu, uintptr_t fcn) { iFpLpiipi_t fn = (iFpLpiipi_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (void*)R_R9, *(int32_t*)(R_RSP + 8)); }
+void iFpLpLpip(x64emu_t *emu, uintptr_t fcn) { iFpLpLpip_t fn = (iFpLpLpip_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (void*)R_RDX, (uintptr_t)R_RCX, (void*)R_R8, (int32_t)R_R9, *(void**)(R_RSP + 8)); }
 void iFpLppiii(x64emu_t *emu, uintptr_t fcn) { iFpLppiii_t fn = (iFpLppiii_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(int32_t*)(R_RSP + 8)); }
 void iFppiiiip(x64emu_t *emu, uintptr_t fcn) { iFppiiiip_t fn = (iFppiiiip_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(void**)(R_RSP + 8)); }
 void iFppiiuup(x64emu_t *emu, uintptr_t fcn) { iFppiiuup_t fn = (iFppiiuup_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (uint32_t)R_R8, (uint32_t)R_R9, *(void**)(R_RSP + 8)); }
@@ -5533,6 +5588,7 @@ void iFppliupp(x64emu_t *emu, uintptr_t fcn) { iFppliupp_t fn = (iFppliupp_t)fcn
 void iFppLiipp(x64emu_t *emu, uintptr_t fcn) { iFppLiipp_t fn = (iFppLiipp_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); }
 void iFppLippp(x64emu_t *emu, uintptr_t fcn) { iFppLippp_t fn = (iFppLippp_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (int32_t)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); }
 void iFppLuuii(x64emu_t *emu, uintptr_t fcn) { iFppLuuii_t fn = (iFppLuuii_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (uint32_t)R_RCX, (uint32_t)R_R8, (int32_t)R_R9, *(int32_t*)(R_RSP + 8)); }
+void iFppLpppp(x64emu_t *emu, uintptr_t fcn) { iFppLpppp_t fn = (iFppLpppp_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); }
 void iFpppiiuu(x64emu_t *emu, uintptr_t fcn) { iFpppiiuu_t fn = (iFpppiiuu_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (uint32_t)R_R9, *(uint32_t*)(R_RSP + 8)); }
 void iFpppiiup(x64emu_t *emu, uintptr_t fcn) { iFpppiiup_t fn = (iFpppiiup_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (uint32_t)R_R9, *(void**)(R_RSP + 8)); }
 void iFpppiuwu(x64emu_t *emu, uintptr_t fcn) { iFpppiuwu_t fn = (iFpppiuwu_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (uint32_t)R_R8, (int16_t)R_R9, *(uint32_t*)(R_RSP + 8)); }
@@ -5644,8 +5700,11 @@ void vFEiupippp(x64emu_t *emu, uintptr_t fcn) { vFEiupippp_t fn = (vFEiupippp_t)
 void vFEipAippp(x64emu_t *emu, uintptr_t fcn) { vFEipAippp_t fn = (vFEipAippp_t)fcn; fn(emu, (int32_t)R_RDI, (void*)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); }
 void vFEppipppp(x64emu_t *emu, uintptr_t fcn) { vFEppipppp_t fn = (vFEppipppp_t)fcn; fn(emu, (void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); }
 void vFEppLippp(x64emu_t *emu, uintptr_t fcn) { vFEppLippp_t fn = (vFEppLippp_t)fcn; fn(emu, (void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (int32_t)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); }
+void vFEppLpLpp(x64emu_t *emu, uintptr_t fcn) { vFEppLpLpp_t fn = (vFEppLpLpp_t)fcn; fn(emu, (void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (void*)R_RCX, (uintptr_t)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); }
 void vFEpppippp(x64emu_t *emu, uintptr_t fcn) { vFEpppippp_t fn = (vFEpppippp_t)fcn; fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); }
 void vFEpppuipV(x64emu_t *emu, uintptr_t fcn) { vFEpppuipV_t fn = (vFEpppuipV_t)fcn; fn(emu, (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 vFEpppLLpp(x64emu_t *emu, uintptr_t fcn) { vFEpppLLpp_t fn = (vFEpppLLpp_t)fcn; fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uintptr_t)R_RCX, (uintptr_t)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); }
+void vFEppppLpp(x64emu_t *emu, uintptr_t fcn) { vFEppppLpp_t fn = (vFEppppLpp_t)fcn; fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (uintptr_t)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); }
 void vFEpppppuu(x64emu_t *emu, uintptr_t fcn) { vFEpppppuu_t fn = (vFEpppppuu_t)fcn; fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (uint32_t)R_R9, *(uint32_t*)(R_RSP + 8)); }
 void vFiiiiuuip(x64emu_t *emu, uintptr_t fcn) { vFiiiiuuip_t fn = (vFiiiiuuip_t)fcn; fn((int32_t)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (uint32_t)R_R8, (uint32_t)R_R9, *(int32_t*)(R_RSP + 8), *(void**)(R_RSP + 16)); }
 void vFiilliilp(x64emu_t *emu, uintptr_t fcn) { vFiilliilp_t fn = (vFiilliilp_t)fcn; fn((int32_t)R_RDI, (int32_t)R_RSI, (intptr_t)R_RDX, (intptr_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(intptr_t*)(R_RSP + 8), *(void**)(R_RSP + 16)); }
@@ -5675,6 +5734,7 @@ void vFuuuipipp(x64emu_t *emu, uintptr_t fcn) { vFuuuipipp_t fn = (vFuuuipipp_t)
 void vFuuuuuuuu(x64emu_t *emu, uintptr_t fcn) { vFuuuuuuuu_t fn = (vFuuuuuuuu_t)fcn; fn((uint32_t)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), *(uint32_t*)(R_RSP + 16)); }
 void vFuuufffff(x64emu_t *emu, uintptr_t fcn) { vFuuufffff_t fn = (vFuuufffff_t)fcn; fn((uint32_t)R_RDI, (uint32_t)R_RSI, (uint32_t)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]); }
 void vFffffffff(x64emu_t *emu, uintptr_t fcn) { vFffffffff_t fn = (vFffffffff_t)fcn; fn(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], emu->xmm[6].f[0], emu->xmm[7].f[0]); }
+void vFLLLpLppp(x64emu_t *emu, uintptr_t fcn) { vFLLLpLppp_t fn = (vFLLLpLppp_t)fcn; fn((uintptr_t)R_RDI, (uintptr_t)R_RSI, (uintptr_t)R_RDX, (void*)R_RCX, (uintptr_t)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16)); }
 void vFpiiiiiii(x64emu_t *emu, uintptr_t fcn) { vFpiiiiiii_t fn = (vFpiiiiiii_t)fcn; fn((void*)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(int32_t*)(R_RSP + 8), *(int32_t*)(R_RSP + 16)); }
 void vFpiiiiiip(x64emu_t *emu, uintptr_t fcn) { vFpiiiiiip_t fn = (vFpiiiiiip_t)fcn; fn((void*)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(int32_t*)(R_RSP + 8), *(void**)(R_RSP + 16)); }
 void vFpiiiipii(x64emu_t *emu, uintptr_t fcn) { vFpiiiipii_t fn = (vFpiiiipii_t)fcn; fn((void*)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (void*)R_R9, *(int32_t*)(R_RSP + 8), *(int32_t*)(R_RSP + 16)); }
@@ -5687,6 +5747,7 @@ void vFpuppippp(x64emu_t *emu, uintptr_t fcn) { vFpuppippp_t fn = (vFpuppippp_t)
 void vFpuppLLLL(x64emu_t *emu, uintptr_t fcn) { vFpuppLLLL_t fn = (vFpuppLLLL_t)fcn; fn((void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (uintptr_t)R_R8, (uintptr_t)R_R9, *(uintptr_t*)(R_RSP + 8), *(uintptr_t*)(R_RSP + 16)); }
 void vFpUiUiupi(x64emu_t *emu, uintptr_t fcn) { vFpUiUiupi_t fn = (vFpUiUiupi_t)fcn; fn((void*)R_RDI, (uint64_t)R_RSI, (int32_t)R_RDX, (uint64_t)R_RCX, (int32_t)R_R8, (uint32_t)R_R9, *(void**)(R_RSP + 8), *(int32_t*)(R_RSP + 16)); }
 void vFpUuuUUUu(x64emu_t *emu, uintptr_t fcn) { vFpUuuUUUu_t fn = (vFpUuuUUUu_t)fcn; fn((void*)R_RDI, (uint64_t)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (uint64_t)R_R8, (uint64_t)R_R9, *(uint64_t*)(R_RSP + 8), *(uint32_t*)(R_RSP + 16)); }
+void vFpLpLpLpp(x64emu_t *emu, uintptr_t fcn) { vFpLpLpLpp_t fn = (vFpLpLpLpp_t)fcn; fn((void*)R_RDI, (uintptr_t)R_RSI, (void*)R_RDX, (uintptr_t)R_RCX, (void*)R_R8, (uintptr_t)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16)); }
 void vFpLppiipi(x64emu_t *emu, uintptr_t fcn) { vFpLppiipi_t fn = (vFpLppiipi_t)fcn; fn((void*)R_RDI, (uintptr_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(void**)(R_RSP + 8), *(int32_t*)(R_RSP + 16)); }
 void vFppiiiiii(x64emu_t *emu, uintptr_t fcn) { vFppiiiiii_t fn = (vFppiiiiii_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(int32_t*)(R_RSP + 8), *(int32_t*)(R_RSP + 16)); }
 void vFppiiipii(x64emu_t *emu, uintptr_t fcn) { vFppiiipii_t fn = (vFppiiipii_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (void*)R_R9, *(int32_t*)(R_RSP + 8), *(int32_t*)(R_RSP + 16)); }
@@ -5702,6 +5763,7 @@ void vFpplppppp(x64emu_t *emu, uintptr_t fcn) { vFpplppppp_t fn = (vFpplppppp_t)
 void vFppLpLpLp(x64emu_t *emu, uintptr_t fcn) { vFppLpLpLp_t fn = (vFppLpLpLp_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (void*)R_RCX, (uintptr_t)R_R8, (void*)R_R9, *(uintptr_t*)(R_RSP + 8), *(void**)(R_RSP + 16)); }
 void vFpppipppu(x64emu_t *emu, uintptr_t fcn) { vFpppipppu_t fn = (vFpppipppu_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(uint32_t*)(R_RSP + 16)); }
 void vFpppuiiii(x64emu_t *emu, uintptr_t fcn) { vFpppuiiii_t fn = (vFpppuiiii_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uint32_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(int32_t*)(R_RSP + 8), *(int32_t*)(R_RSP + 16)); }
+void vFpppLpppp(x64emu_t *emu, uintptr_t fcn) { vFpppLpppp_t fn = (vFpppLpppp_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uintptr_t)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16)); }
 void vFppppiipi(x64emu_t *emu, uintptr_t fcn) { vFppppiipi_t fn = (vFppppiipi_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), *(int32_t*)(R_RSP + 16)); }
 void vFpppppuuu(x64emu_t *emu, uintptr_t fcn) { vFpppppuuu_t fn = (vFpppppuuu_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (uint32_t)R_R9, *(uint32_t*)(R_RSP + 8), *(uint32_t*)(R_RSP + 16)); }
 void vFpppppppp(x64emu_t *emu, uintptr_t fcn) { vFpppppppp_t fn = (vFpppppppp_t)fcn; 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)); }
@@ -5711,6 +5773,9 @@ void iFEpuuLppp(x64emu_t *emu, uintptr_t fcn) { iFEpuuLppp_t fn = (iFEpuuLppp_t)
 void iFEpUUuppp(x64emu_t *emu, uintptr_t fcn) { iFEpUUuppp_t fn = (iFEpUUuppp_t)fcn; R_RAX=(int32_t)fn(emu, (void*)R_RDI, (uint64_t)R_RSI, (uint64_t)R_RDX, (uint32_t)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); }
 void iFEppipppp(x64emu_t *emu, uintptr_t fcn) { iFEppipppp_t fn = (iFEppipppp_t)fcn; R_RAX=(int32_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); }
 void iFEppppipp(x64emu_t *emu, uintptr_t fcn) { iFEppppipp_t fn = (iFEppppipp_t)fcn; R_RAX=(int32_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (int32_t)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); }
+void iFEppppLpp(x64emu_t *emu, uintptr_t fcn) { iFEppppLpp_t fn = (iFEppppLpp_t)fcn; R_RAX=(int32_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (uintptr_t)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); }
+void iFEpppppuu(x64emu_t *emu, uintptr_t fcn) { iFEpppppuu_t fn = (iFEpppppuu_t)fcn; R_RAX=(int32_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (uint32_t)R_R9, *(uint32_t*)(R_RSP + 8)); }
+void iFEppppppp(x64emu_t *emu, uintptr_t fcn) { iFEppppppp_t fn = (iFEppppppp_t)fcn; R_RAX=(int32_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); }
 void iFiiiiiiip(x64emu_t *emu, uintptr_t fcn) { iFiiiiiiip_t fn = (iFiiiiiiip_t)fcn; R_RAX=(int32_t)fn((int32_t)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(int32_t*)(R_RSP + 8), *(void**)(R_RSP + 16)); }
 void iFiiupiupi(x64emu_t *emu, uintptr_t fcn) { iFiiupiupi_t fn = (iFiiupiupi_t)fcn; R_RAX=(int32_t)fn((int32_t)R_RDI, (int32_t)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (int32_t)R_R8, (uint32_t)R_R9, *(void**)(R_RSP + 8), *(int32_t*)(R_RSP + 16)); }
 void iFiuuCCuup(x64emu_t *emu, uintptr_t fcn) { iFiuuCCuup_t fn = (iFiuuCCuup_t)fcn; R_RAX=(int32_t)fn((int32_t)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (uint8_t)R_RCX, (uint8_t)R_R8, (uint32_t)R_R9, *(uint32_t*)(R_RSP + 8), *(void**)(R_RSP + 16)); }
@@ -5739,6 +5804,7 @@ void iFpLLiippp(x64emu_t *emu, uintptr_t fcn) { iFpLLiippp_t fn = (iFpLLiippp_t)
 void iFpLLLiipi(x64emu_t *emu, uintptr_t fcn) { iFpLLLiipi_t fn = (iFpLLLiipi_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (uintptr_t)R_RDX, (uintptr_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(void**)(R_RSP + 8), *(int32_t*)(R_RSP + 16)); }
 void iFpLLppppp(x64emu_t *emu, uintptr_t fcn) { iFpLLppppp_t fn = (iFpLLppppp_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (uintptr_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16)); }
 void iFpLpipppp(x64emu_t *emu, uintptr_t fcn) { iFpLpipppp_t fn = (iFpLpipppp_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16)); }
+void iFpLpLpLpp(x64emu_t *emu, uintptr_t fcn) { iFpLpLpLpp_t fn = (iFpLpLpLpp_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (void*)R_RDX, (uintptr_t)R_RCX, (void*)R_R8, (uintptr_t)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16)); }
 void iFpLppLpip(x64emu_t *emu, uintptr_t fcn) { iFpLppLpip_t fn = (iFpLppLpip_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (uintptr_t)R_R8, (void*)R_R9, *(int32_t*)(R_RSP + 8), *(void**)(R_RSP + 16)); }
 void iFpLpppupu(x64emu_t *emu, uintptr_t fcn) { iFpLpppupu_t fn = (iFpLpppupu_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (uint32_t)R_R9, *(void**)(R_RSP + 8), *(uint32_t*)(R_RSP + 16)); }
 void iFpLpppppp(x64emu_t *emu, uintptr_t fcn) { iFpLpppppp_t fn = (iFpLpppppp_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16)); }
@@ -5827,6 +5893,7 @@ void vFEpippippA(x64emu_t *emu, uintptr_t fcn) { vFEpippippA_t fn = (vFEpippippA
 void vFEpuuuippp(x64emu_t *emu, uintptr_t fcn) { vFEpuuuippp_t fn = (vFEpuuuippp_t)fcn; fn(emu, (void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (int32_t)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16)); }
 void vFEppiipppp(x64emu_t *emu, uintptr_t fcn) { vFEppiipppp_t fn = (vFEppiipppp_t)fcn; fn(emu, (void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16)); }
 void vFEpppiippp(x64emu_t *emu, uintptr_t fcn) { vFEpppiippp_t fn = (vFEpppiippp_t)fcn; fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16)); }
+void vFEpppLLpLp(x64emu_t *emu, uintptr_t fcn) { vFEpppLLpLp_t fn = (vFEpppLLpLp_t)fcn; fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uintptr_t)R_RCX, (uintptr_t)R_R8, (void*)R_R9, *(uintptr_t*)(R_RSP + 8), *(void**)(R_RSP + 16)); }
 void vFEppppippp(x64emu_t *emu, uintptr_t fcn) { vFEppppippp_t fn = (vFEppppippp_t)fcn; fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (int32_t)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16)); }
 void vFiiiiiiiii(x64emu_t *emu, uintptr_t fcn) { vFiiiiiiiii_t fn = (vFiiiiiiiii_t)fcn; fn((int32_t)R_RDI, (int32_t)R_RSI, (int32_t)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 vFiiiiiiill(x64emu_t *emu, uintptr_t fcn) { vFiiiiiiill_t fn = (vFiiiiiiill_t)fcn; fn((int32_t)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(int32_t*)(R_RSP + 8), *(intptr_t*)(R_RSP + 16), *(intptr_t*)(R_RSP + 24)); }
@@ -5856,6 +5923,7 @@ void vFpiuippppi(x64emu_t *emu, uintptr_t fcn) { vFpiuippppi_t fn = (vFpiuippppi
 void vFpipiuiipp(x64emu_t *emu, uintptr_t fcn) { vFpipiuiipp_t fn = (vFpipiuiipp_t)fcn; fn((void*)R_RDI, (int32_t)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (uint32_t)R_R8, (int32_t)R_R9, *(int32_t*)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24)); }
 void vFpipppiipi(x64emu_t *emu, uintptr_t fcn) { vFpipppiipi_t fn = (vFpipppiipi_t)fcn; fn((void*)R_RDI, (int32_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (int32_t)R_R9, *(int32_t*)(R_RSP + 8), *(void**)(R_RSP + 16), *(int32_t*)(R_RSP + 24)); }
 void vFpuuuuuuuu(x64emu_t *emu, uintptr_t fcn) { vFpuuuuuuuu_t fn = (vFpuuuuuuuu_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), *(uint32_t*)(R_RSP + 16), *(uint32_t*)(R_RSP + 24)); }
+void vFpLpLpLLpp(x64emu_t *emu, uintptr_t fcn) { vFpLpLpLLpp_t fn = (vFpLpLpLLpp_t)fcn; fn((void*)R_RDI, (uintptr_t)R_RSI, (void*)R_RDX, (uintptr_t)R_RCX, (void*)R_R8, (uintptr_t)R_R9, *(uintptr_t*)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24)); }
 void vFpLpppippp(x64emu_t *emu, uintptr_t fcn) { vFpLpppippp_t fn = (vFpLpppippp_t)fcn; fn((void*)R_RDI, (uintptr_t)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 vFppiiiiiii(x64emu_t *emu, uintptr_t fcn) { vFppiiiiiii_t fn = (vFppiiiiiii_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int32_t)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 vFppiiiiipi(x64emu_t *emu, uintptr_t fcn) { vFppiiiiipi_t fn = (vFppiiiiipi_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(int32_t*)(R_RSP + 8), *(void**)(R_RSP + 16), *(int32_t*)(R_RSP + 24)); }
@@ -5884,6 +5952,7 @@ void iFEppuppppp(x64emu_t *emu, uintptr_t fcn) { iFEppuppppp_t fn = (iFEppuppppp
 void iFEpppipppp(x64emu_t *emu, uintptr_t fcn) { iFEpppipppp_t fn = (iFEpppipppp_t)fcn; R_RAX=(int32_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16)); }
 void iFEppplPPPP(x64emu_t *emu, uintptr_t fcn) { iFEppplPPPP_t fn = (iFEppplPPPP_t)fcn; R_RAX=(int32_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (intptr_t)R_RCX, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24), *(void**)(R_RSP + 32)); }
 void iFEpppppupp(x64emu_t *emu, uintptr_t fcn) { iFEpppppupp_t fn = (iFEpppppupp_t)fcn; R_RAX=(int32_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (uint32_t)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16)); }
+void iFEppppppuu(x64emu_t *emu, uintptr_t fcn) { iFEppppppuu_t fn = (iFEppppppuu_t)fcn; R_RAX=(int32_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(uint32_t*)(R_RSP + 8), *(uint32_t*)(R_RSP + 16)); }
 void iFEppPPPPPP(x64emu_t *emu, uintptr_t fcn) { iFEppPPPPPP_t fn = (iFEppPPPPPP_t)fcn; R_RAX=(int32_t)fn(emu, (void*)R_RDI, (void*)R_RSI, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24), *(void**)(R_RSP + 32), *(void**)(R_RSP + 40), *(void**)(R_RSP + 48)); }
 void iFiiiiiiiip(x64emu_t *emu, uintptr_t fcn) { iFiiiiiiiip_t fn = (iFiiiiiiiip_t)fcn; R_RAX=(int32_t)fn((int32_t)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(int32_t*)(R_RSP + 8), *(int32_t*)(R_RSP + 16), *(void**)(R_RSP + 24)); }
 void iFiiiipiiip(x64emu_t *emu, uintptr_t fcn) { iFiiiipiiip_t fn = (iFiiiipiiip_t)fcn; R_RAX=(int32_t)fn((int32_t)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (void*)R_R8, (int32_t)R_R9, *(int32_t*)(R_RSP + 8), *(int32_t*)(R_RSP + 16), *(void**)(R_RSP + 24)); }
@@ -5899,6 +5968,7 @@ void iFpduuuLuLp(x64emu_t *emu, uintptr_t fcn) { iFpduuuLuLp_t fn = (iFpduuuLuLp
 void iFpLiuiiLLL(x64emu_t *emu, uintptr_t fcn) { iFpLiuiiLLL_t fn = (iFpLiuiiLLL_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (int32_t)R_RDX, (uint32_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(uintptr_t*)(R_RSP + 8), *(uintptr_t*)(R_RSP + 16), *(uintptr_t*)(R_RSP + 24)); }
 void iFpLLiiuuii(x64emu_t *emu, uintptr_t fcn) { iFpLLiiuuii_t fn = (iFpLLiiuuii_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (uintptr_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (uint32_t)R_R9, *(uint32_t*)(R_RSP + 8), *(int32_t*)(R_RSP + 16), *(int32_t*)(R_RSP + 24)); }
 void iFpLpiiuuii(x64emu_t *emu, uintptr_t fcn) { iFpLpiiuuii_t fn = (iFpLpiiuuii_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (uint32_t)R_R9, *(uint32_t*)(R_RSP + 8), *(int32_t*)(R_RSP + 16), *(int32_t*)(R_RSP + 24)); }
+void iFpLpLpLLpp(x64emu_t *emu, uintptr_t fcn) { iFpLpLpLLpp_t fn = (iFpLpLpLLpp_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (void*)R_RDX, (uintptr_t)R_RCX, (void*)R_R8, (uintptr_t)R_R9, *(uintptr_t*)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24)); }
 void iFpLpppupup(x64emu_t *emu, uintptr_t fcn) { iFpLpppupup_t fn = (iFpLpppupup_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (uint32_t)R_R9, *(void**)(R_RSP + 8), *(uint32_t*)(R_RSP + 16), *(void**)(R_RSP + 24)); }
 void iFpLppppppp(x64emu_t *emu, uintptr_t fcn) { iFpLppppppp_t fn = (iFpLppppppp_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uintptr_t)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 iFppiiiiiii(x64emu_t *emu, uintptr_t fcn) { iFppiiiiiii_t fn = (iFppiiiiiii_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (void*)R_RSI, (int32_t)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)); }
@@ -5955,6 +6025,7 @@ void iWppppupiii(x64emu_t *emu, uintptr_t fcn) { iWppppupiii_t fn = (iWppppupiii
 void vFEiippppppp(x64emu_t *emu, uintptr_t fcn) { vFEiippppppp_t fn = (vFEiippppppp_t)fcn; fn(emu, (int32_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**)(R_RSP + 24)); }
 void vFEpippppppp(x64emu_t *emu, uintptr_t fcn) { vFEpippppppp_t fn = (vFEpippppppp_t)fcn; fn(emu, (void*)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**)(R_RSP + 24)); }
 void vFEpppiipppp(x64emu_t *emu, uintptr_t fcn) { vFEpppiipppp_t fn = (vFEpppiipppp_t)fcn; fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24)); }
+void vFEpppLuLpLp(x64emu_t *emu, uintptr_t fcn) { vFEpppLuLpLp_t fn = (vFEpppLuLpLp_t)fcn; fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uintptr_t)R_RCX, (uint32_t)R_R8, (uintptr_t)R_R9, *(void**)(R_RSP + 8), *(uintptr_t*)(R_RSP + 16), *(void**)(R_RSP + 24)); }
 void vFiiiiiiiiii(x64emu_t *emu, uintptr_t fcn) { vFiiiiiiiiii_t fn = (vFiiiiiiiiii_t)fcn; fn((int32_t)R_RDI, (int32_t)R_RSI, (int32_t)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), *(int32_t*)(R_RSP + 32)); }
 void vFiiiiiiiiiu(x64emu_t *emu, uintptr_t fcn) { vFiiiiiiiiiu_t fn = (vFiiiiiiiiiu_t)fcn; fn((int32_t)R_RDI, (int32_t)R_RSI, (int32_t)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), *(uint32_t*)(R_RSP + 32)); }
 void vFiiiiiiiiui(x64emu_t *emu, uintptr_t fcn) { vFiiiiiiiiui_t fn = (vFiiiiiiiiui_t)fcn; fn((int32_t)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(int32_t*)(R_RSP + 8), *(int32_t*)(R_RSP + 16), *(uint32_t*)(R_RSP + 24), *(int32_t*)(R_RSP + 32)); }
@@ -6002,6 +6073,7 @@ void iFpLLpiiuuii(x64emu_t *emu, uintptr_t fcn) { iFpLLpiiuuii_t fn = (iFpLLpiiu
 void iFpLpLUUUUpL(x64emu_t *emu, uintptr_t fcn) { iFpLpLUUUUpL_t fn = (iFpLpLUUUUpL_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (void*)R_RDX, (uintptr_t)R_RCX, (uint64_t)R_R8, (uint64_t)R_R9, *(uint64_t*)(R_RSP + 8), *(uint64_t*)(R_RSP + 16), *(void**)(R_RSP + 24), *(uintptr_t*)(R_RSP + 32)); }
 void iFppuuiiiiii(x64emu_t *emu, uintptr_t fcn) { iFppuuiiiiii_t fn = (iFppuuiiiiii_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (uint32_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), *(int32_t*)(R_RSP + 32)); }
 void iFppuuiiuupi(x64emu_t *emu, uintptr_t fcn) { iFppuuiiuupi_t fn = (iFppuuiiuupi_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(uint32_t*)(R_RSP + 8), *(uint32_t*)(R_RSP + 16), *(void**)(R_RSP + 24), *(int32_t*)(R_RSP + 32)); }
+void iFppLpLpLLpp(x64emu_t *emu, uintptr_t fcn) { iFppLpLpLLpp_t fn = (iFppLpLpLLpp_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (void*)R_RCX, (uintptr_t)R_R8, (void*)R_R9, *(uintptr_t*)(R_RSP + 8), *(uintptr_t*)(R_RSP + 16), *(void**)(R_RSP + 24), *(void**)(R_RSP + 32)); }
 void iFpppiiipipi(x64emu_t *emu, uintptr_t fcn) { iFpppiiipipi_t fn = (iFpppiiipipi_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(void**)(R_RSP + 8), *(int32_t*)(R_RSP + 16), *(void**)(R_RSP + 24), *(int32_t*)(R_RSP + 32)); }
 void iFpppLLipppp(x64emu_t *emu, uintptr_t fcn) { iFpppLLipppp_t fn = (iFpppLLipppp_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uintptr_t)R_RCX, (uintptr_t)R_R8, (int32_t)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24), *(void**)(R_RSP + 32)); }
 void iFpppppiiuup(x64emu_t *emu, uintptr_t fcn) { iFpppppiiuup_t fn = (iFpppppiiuup_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (int32_t)R_R9, *(int32_t*)(R_RSP + 8), *(uint32_t*)(R_RSP + 16), *(uint32_t*)(R_RSP + 24), *(void**)(R_RSP + 32)); }
@@ -6028,6 +6100,7 @@ void iWEpuipupppp(x64emu_t *emu, uintptr_t fcn) { iWEpuipupppp_t fn = (iWEpuipup
 void iWEpuuiiuipp(x64emu_t *emu, uintptr_t fcn) { iWEpuuiiuipp_t fn = (iWEpuuiiuipp_t)fcn; R_RAX=(int32_t)fn(emu, (void*)R_RCX, (uint32_t)R_RDX, (uint32_t)R_R8, (int32_t)R_R9, *(int32_t*)(R_RSP + 40), *(uint32_t*)(R_RSP + 48), *(int32_t*)(R_RSP + 56), *(void**)(R_RSP + 64), *(void**)(R_RSP + 72)); }
 void iWEpuuuuiipp(x64emu_t *emu, uintptr_t fcn) { iWEpuuuuiipp_t fn = (iWEpuuuuiipp_t)fcn; R_RAX=(int32_t)fn(emu, (void*)R_RCX, (uint32_t)R_RDX, (uint32_t)R_R8, (uint32_t)R_R9, *(uint32_t*)(R_RSP + 40), *(int32_t*)(R_RSP + 48), *(int32_t*)(R_RSP + 56), *(void**)(R_RSP + 64), *(void**)(R_RSP + 72)); }
 void vFEpuuuupupup(x64emu_t *emu, uintptr_t fcn) { vFEpuuuupupup_t fn = (vFEpuuuupupup_t)fcn; fn(emu, (void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (uint32_t)R_R8, (void*)R_R9, *(uint32_t*)(R_RSP + 8), *(void**)(R_RSP + 16), *(uint32_t*)(R_RSP + 24), *(void**)(R_RSP + 32)); }
+void vFEppLpLpLLpp(x64emu_t *emu, uintptr_t fcn) { vFEppLpLpLLpp_t fn = (vFEppLpLpLLpp_t)fcn; fn(emu, (void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (void*)R_RCX, (uintptr_t)R_R8, (void*)R_R9, *(uintptr_t*)(R_RSP + 8), *(uintptr_t*)(R_RSP + 16), *(void**)(R_RSP + 24), *(void**)(R_RSP + 32)); }
 void vFiiiiillliip(x64emu_t *emu, uintptr_t fcn) { vFiiiiillliip_t fn = (vFiiiiillliip_t)fcn; fn((int32_t)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (intptr_t)R_R9, *(intptr_t*)(R_RSP + 8), *(intptr_t*)(R_RSP + 16), *(int32_t*)(R_RSP + 24), *(int32_t*)(R_RSP + 32), *(void**)(R_RSP + 40)); }
 void vFiiiiilllilp(x64emu_t *emu, uintptr_t fcn) { vFiiiiilllilp_t fn = (vFiiiiilllilp_t)fcn; fn((int32_t)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (intptr_t)R_R9, *(intptr_t*)(R_RSP + 8), *(intptr_t*)(R_RSP + 16), *(int32_t*)(R_RSP + 24), *(intptr_t*)(R_RSP + 32), *(void**)(R_RSP + 40)); }
 void vFuiiiiiiiiip(x64emu_t *emu, uintptr_t fcn) { vFuiiiiiiiiip_t fn = (vFuiiiiiiiiip_t)fcn; fn((uint32_t)R_RDI, (int32_t)R_RSI, (int32_t)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), *(int32_t*)(R_RSP + 32), *(void**)(R_RSP + 40)); }
@@ -6058,6 +6131,7 @@ void vFppupipiuuuu(x64emu_t *emu, uintptr_t fcn) { vFppupipiuuuu_t fn = (vFppupi
 void vFppupppuiiii(x64emu_t *emu, uintptr_t fcn) { vFppupppuiiii_t fn = (vFppupppuiiii_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(uint32_t*)(R_RSP + 8), *(int32_t*)(R_RSP + 16), *(int32_t*)(R_RSP + 24), *(int32_t*)(R_RSP + 32), *(int32_t*)(R_RSP + 40)); }
 void vFppppppppppp(x64emu_t *emu, uintptr_t fcn) { vFppppppppppp_t fn = (vFppppppppppp_t)fcn; 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**)(R_RSP + 32), *(void**)(R_RSP + 40)); }
 void iFEiipppppppp(x64emu_t *emu, uintptr_t fcn) { iFEiipppppppp_t fn = (iFEiipppppppp_t)fcn; R_RAX=(int32_t)fn(emu, (int32_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**)(R_RSP + 24), *(void**)(R_RSP + 32)); }
+void iFEppLpLpLLpp(x64emu_t *emu, uintptr_t fcn) { iFEppLpLpLLpp_t fn = (iFEppLpLpLLpp_t)fcn; R_RAX=(int32_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (void*)R_RCX, (uintptr_t)R_R8, (void*)R_R9, *(uintptr_t*)(R_RSP + 8), *(uintptr_t*)(R_RSP + 16), *(void**)(R_RSP + 24), *(void**)(R_RSP + 32)); }
 void iFEpppipppppp(x64emu_t *emu, uintptr_t fcn) { iFEpppipppppp_t fn = (iFEpppipppppp_t)fcn; R_RAX=(int32_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24), *(void**)(R_RSP + 32)); }
 void iFEppppiiiiuu(x64emu_t *emu, uintptr_t fcn) { iFEppppiiiiuu_t fn = (iFEppppiiiiuu_t)fcn; R_RAX=(int32_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (int32_t)R_R8, (int32_t)R_R9, *(int32_t*)(R_RSP + 8), *(int32_t*)(R_RSP + 16), *(uint32_t*)(R_RSP + 24), *(uint32_t*)(R_RSP + 32)); }
 void iFEpppppppppp(x64emu_t *emu, uintptr_t fcn) { iFEpppppppppp_t fn = (iFEpppppppppp_t)fcn; R_RAX=(int32_t)fn(emu, (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**)(R_RSP + 32)); }
@@ -6697,6 +6771,7 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &iFpLl) return 1;
 	if (fun == &iFpLL) return 1;
 	if (fun == &iFpLp) return 1;
+	if (fun == &iFppc) return 1;
 	if (fun == &iFppi) return 1;
 	if (fun == &iFppI) return 1;
 	if (fun == &iFppC) return 1;
@@ -6794,6 +6869,7 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &LFpLL) return 1;
 	if (fun == &LFpLp) return 1;
 	if (fun == &LFppi) return 1;
+	if (fun == &LFppC) return 1;
 	if (fun == &LFppu) return 1;
 	if (fun == &LFppL) return 1;
 	if (fun == &LFppp) return 1;
@@ -6983,6 +7059,7 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &vFpLii) return 1;
 	if (fun == &vFpLuu) return 1;
 	if (fun == &vFpLLL) return 1;
+	if (fun == &vFpLpu) return 1;
 	if (fun == &vFpLpL) return 1;
 	if (fun == &vFpLpp) return 1;
 	if (fun == &vFppii) return 1;
@@ -7043,10 +7120,12 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &iFuuuu) return 1;
 	if (fun == &iFuupi) return 1;
 	if (fun == &iFuupp) return 1;
+	if (fun == &iFupup) return 1;
 	if (fun == &iFupLp) return 1;
 	if (fun == &iFuppi) return 1;
 	if (fun == &iFuppu) return 1;
 	if (fun == &iFuppp) return 1;
+	if (fun == &iFLpLp) return 1;
 	if (fun == &iFLppp) return 1;
 	if (fun == &iFpwww) return 1;
 	if (fun == &iFpwpp) return 1;
@@ -7449,7 +7528,9 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &vFppfff) return 4;
 	if (fun == &vFppddp) return 3;
 	if (fun == &vFppLLL) return 1;
+	if (fun == &vFppLLp) return 1;
 	if (fun == &vFppLpL) return 1;
+	if (fun == &vFppLpp) return 1;
 	if (fun == &vFpppii) return 1;
 	if (fun == &vFpppip) return 1;
 	if (fun == &vFpppui) return 1;
@@ -7516,6 +7597,7 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &iFpuuui) return 1;
 	if (fun == &iFpuuup) return 1;
 	if (fun == &iFpuuLL) return 1;
+	if (fun == &iFpuuLp) return 1;
 	if (fun == &iFpuupp) return 1;
 	if (fun == &iFpulup) return 1;
 	if (fun == &iFpulpp) return 1;
@@ -7803,6 +7885,7 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &vFpdddii) return 4;
 	if (fun == &vFpddddd) return 6;
 	if (fun == &vFpddddp) return 5;
+	if (fun == &vFpLpLLL) return 1;
 	if (fun == &vFppiiii) return 1;
 	if (fun == &vFppiiip) return 1;
 	if (fun == &vFppiiuu) return 1;
@@ -7833,7 +7916,9 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &vFpppipu) return 1;
 	if (fun == &vFpppuii) return 1;
 	if (fun == &vFpppuuu) return 1;
+	if (fun == &vFpppLpp) return 1;
 	if (fun == &vFppppii) return 1;
+	if (fun == &vFppppLp) return 1;
 	if (fun == &vFpppppi) return 1;
 	if (fun == &vFpppppu) return 1;
 	if (fun == &vFpppppU) return 1;
@@ -8348,6 +8433,7 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &LFpup) return 1;
 	if (fun == &LFpLL) return 1;
 	if (fun == &LFpLp) return 1;
+	if (fun == &LFppC) return 1;
 	if (fun == &LFppu) return 1;
 	if (fun == &LFppL) return 1;
 	if (fun == &LFppp) return 1;
diff --git a/src/wrapped/generated/wrapper.h b/src/wrapped/generated/wrapper.h
index f669070d..ad3bfff0 100644
--- a/src/wrapped/generated/wrapper.h
+++ b/src/wrapped/generated/wrapper.h
@@ -587,6 +587,7 @@ void iFpLu(x64emu_t *emu, uintptr_t fnc);
 void iFpLl(x64emu_t *emu, uintptr_t fnc);
 void iFpLL(x64emu_t *emu, uintptr_t fnc);
 void iFpLp(x64emu_t *emu, uintptr_t fnc);
+void iFppc(x64emu_t *emu, uintptr_t fnc);
 void iFppi(x64emu_t *emu, uintptr_t fnc);
 void iFppI(x64emu_t *emu, uintptr_t fnc);
 void iFppC(x64emu_t *emu, uintptr_t fnc);
@@ -704,6 +705,7 @@ void LFpLi(x64emu_t *emu, uintptr_t fnc);
 void LFpLL(x64emu_t *emu, uintptr_t fnc);
 void LFpLp(x64emu_t *emu, uintptr_t fnc);
 void LFppi(x64emu_t *emu, uintptr_t fnc);
+void LFppC(x64emu_t *emu, uintptr_t fnc);
 void LFppu(x64emu_t *emu, uintptr_t fnc);
 void LFppL(x64emu_t *emu, uintptr_t fnc);
 void LFppp(x64emu_t *emu, uintptr_t fnc);
@@ -942,6 +944,7 @@ void vFplpp(x64emu_t *emu, uintptr_t fnc);
 void vFpLii(x64emu_t *emu, uintptr_t fnc);
 void vFpLuu(x64emu_t *emu, uintptr_t fnc);
 void vFpLLL(x64emu_t *emu, uintptr_t fnc);
+void vFpLpu(x64emu_t *emu, uintptr_t fnc);
 void vFpLpL(x64emu_t *emu, uintptr_t fnc);
 void vFpLpp(x64emu_t *emu, uintptr_t fnc);
 void vFppii(x64emu_t *emu, uintptr_t fnc);
@@ -1028,10 +1031,12 @@ void iFuWWp(x64emu_t *emu, uintptr_t fnc);
 void iFuuuu(x64emu_t *emu, uintptr_t fnc);
 void iFuupi(x64emu_t *emu, uintptr_t fnc);
 void iFuupp(x64emu_t *emu, uintptr_t fnc);
+void iFupup(x64emu_t *emu, uintptr_t fnc);
 void iFupLp(x64emu_t *emu, uintptr_t fnc);
 void iFuppi(x64emu_t *emu, uintptr_t fnc);
 void iFuppu(x64emu_t *emu, uintptr_t fnc);
 void iFuppp(x64emu_t *emu, uintptr_t fnc);
+void iFLpLp(x64emu_t *emu, uintptr_t fnc);
 void iFLppp(x64emu_t *emu, uintptr_t fnc);
 void iFpwww(x64emu_t *emu, uintptr_t fnc);
 void iFpwpp(x64emu_t *emu, uintptr_t fnc);
@@ -1515,7 +1520,9 @@ void vFppupp(x64emu_t *emu, uintptr_t fnc);
 void vFppfff(x64emu_t *emu, uintptr_t fnc);
 void vFppddp(x64emu_t *emu, uintptr_t fnc);
 void vFppLLL(x64emu_t *emu, uintptr_t fnc);
+void vFppLLp(x64emu_t *emu, uintptr_t fnc);
 void vFppLpL(x64emu_t *emu, uintptr_t fnc);
+void vFppLpp(x64emu_t *emu, uintptr_t fnc);
 void vFpppii(x64emu_t *emu, uintptr_t fnc);
 void vFpppip(x64emu_t *emu, uintptr_t fnc);
 void vFpppui(x64emu_t *emu, uintptr_t fnc);
@@ -1608,6 +1615,7 @@ 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 iFpuuLp(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);
@@ -1857,6 +1865,7 @@ void vFEpLLpp(x64emu_t *emu, uintptr_t fnc);
 void vFEppipV(x64emu_t *emu, uintptr_t fnc);
 void vFEppipA(x64emu_t *emu, uintptr_t fnc);
 void vFEppupp(x64emu_t *emu, uintptr_t fnc);
+void vFEpppLp(x64emu_t *emu, uintptr_t fnc);
 void vFEppppp(x64emu_t *emu, uintptr_t fnc);
 void vFiiiiii(x64emu_t *emu, uintptr_t fnc);
 void vFiiiuil(x64emu_t *emu, uintptr_t fnc);
@@ -1958,6 +1967,7 @@ void vFpUUiup(x64emu_t *emu, uintptr_t fnc);
 void vFpdddii(x64emu_t *emu, uintptr_t fnc);
 void vFpddddd(x64emu_t *emu, uintptr_t fnc);
 void vFpddddp(x64emu_t *emu, uintptr_t fnc);
+void vFpLpLLL(x64emu_t *emu, uintptr_t fnc);
 void vFppiiii(x64emu_t *emu, uintptr_t fnc);
 void vFppiiip(x64emu_t *emu, uintptr_t fnc);
 void vFppiiuu(x64emu_t *emu, uintptr_t fnc);
@@ -1988,7 +1998,9 @@ void vFpppiff(x64emu_t *emu, uintptr_t fnc);
 void vFpppipu(x64emu_t *emu, uintptr_t fnc);
 void vFpppuii(x64emu_t *emu, uintptr_t fnc);
 void vFpppuuu(x64emu_t *emu, uintptr_t fnc);
+void vFpppLpp(x64emu_t *emu, uintptr_t fnc);
 void vFppppii(x64emu_t *emu, uintptr_t fnc);
+void vFppppLp(x64emu_t *emu, uintptr_t fnc);
 void vFpppppi(x64emu_t *emu, uintptr_t fnc);
 void vFpppppu(x64emu_t *emu, uintptr_t fnc);
 void vFpppppU(x64emu_t *emu, uintptr_t fnc);
@@ -2258,6 +2270,9 @@ void vFEpiiipp(x64emu_t *emu, uintptr_t fnc);
 void vFEpipppp(x64emu_t *emu, uintptr_t fnc);
 void vFEpuipuV(x64emu_t *emu, uintptr_t fnc);
 void vFEppippp(x64emu_t *emu, uintptr_t fnc);
+void vFEpppLpp(x64emu_t *emu, uintptr_t fnc);
+void vFEppppup(x64emu_t *emu, uintptr_t fnc);
+void vFEppppLp(x64emu_t *emu, uintptr_t fnc);
 void vFEpppppp(x64emu_t *emu, uintptr_t fnc);
 void vFiiiiiip(x64emu_t *emu, uintptr_t fnc);
 void vFiiiiuup(x64emu_t *emu, uintptr_t fnc);
@@ -2311,6 +2326,7 @@ void vFuffffff(x64emu_t *emu, uintptr_t fnc);
 void vFudddddd(x64emu_t *emu, uintptr_t fnc);
 void vFlipuiip(x64emu_t *emu, uintptr_t fnc);
 void vFlliiiip(x64emu_t *emu, uintptr_t fnc);
+void vFLpuLpLp(x64emu_t *emu, uintptr_t fnc);
 void vFpiiiipp(x64emu_t *emu, uintptr_t fnc);
 void vFpiiliip(x64emu_t *emu, uintptr_t fnc);
 void vFpiiLiip(x64emu_t *emu, uintptr_t fnc);
@@ -2371,6 +2387,7 @@ void iFEpLiLpV(x64emu_t *emu, uintptr_t fnc);
 void iFEppuppp(x64emu_t *emu, uintptr_t fnc);
 void iFEppLpIi(x64emu_t *emu, uintptr_t fnc);
 void iFEpppiiu(x64emu_t *emu, uintptr_t fnc);
+void iFEpppLpp(x64emu_t *emu, uintptr_t fnc);
 void iFEpppppL(x64emu_t *emu, uintptr_t fnc);
 void iFEpppppp(x64emu_t *emu, uintptr_t fnc);
 void iFiiiiiip(x64emu_t *emu, uintptr_t fnc);
@@ -2412,6 +2429,7 @@ void iFpLipupu(x64emu_t *emu, uintptr_t fnc);
 void iFpLpiiii(x64emu_t *emu, uintptr_t fnc);
 void iFpLpiiuu(x64emu_t *emu, uintptr_t fnc);
 void iFpLpiipi(x64emu_t *emu, uintptr_t fnc);
+void iFpLpLpip(x64emu_t *emu, uintptr_t fnc);
 void iFpLppiii(x64emu_t *emu, uintptr_t fnc);
 void iFppiiiip(x64emu_t *emu, uintptr_t fnc);
 void iFppiiuup(x64emu_t *emu, uintptr_t fnc);
@@ -2432,6 +2450,7 @@ void iFppliupp(x64emu_t *emu, uintptr_t fnc);
 void iFppLiipp(x64emu_t *emu, uintptr_t fnc);
 void iFppLippp(x64emu_t *emu, uintptr_t fnc);
 void iFppLuuii(x64emu_t *emu, uintptr_t fnc);
+void iFppLpppp(x64emu_t *emu, uintptr_t fnc);
 void iFpppiiuu(x64emu_t *emu, uintptr_t fnc);
 void iFpppiiup(x64emu_t *emu, uintptr_t fnc);
 void iFpppiuwu(x64emu_t *emu, uintptr_t fnc);
@@ -2543,8 +2562,11 @@ void vFEiupippp(x64emu_t *emu, uintptr_t fnc);
 void vFEipAippp(x64emu_t *emu, uintptr_t fnc);
 void vFEppipppp(x64emu_t *emu, uintptr_t fnc);
 void vFEppLippp(x64emu_t *emu, uintptr_t fnc);
+void vFEppLpLpp(x64emu_t *emu, uintptr_t fnc);
 void vFEpppippp(x64emu_t *emu, uintptr_t fnc);
 void vFEpppuipV(x64emu_t *emu, uintptr_t fnc);
+void vFEpppLLpp(x64emu_t *emu, uintptr_t fnc);
+void vFEppppLpp(x64emu_t *emu, uintptr_t fnc);
 void vFEpppppuu(x64emu_t *emu, uintptr_t fnc);
 void vFiiiiuuip(x64emu_t *emu, uintptr_t fnc);
 void vFiilliilp(x64emu_t *emu, uintptr_t fnc);
@@ -2574,6 +2596,7 @@ void vFuuuipipp(x64emu_t *emu, uintptr_t fnc);
 void vFuuuuuuuu(x64emu_t *emu, uintptr_t fnc);
 void vFuuufffff(x64emu_t *emu, uintptr_t fnc);
 void vFffffffff(x64emu_t *emu, uintptr_t fnc);
+void vFLLLpLppp(x64emu_t *emu, uintptr_t fnc);
 void vFpiiiiiii(x64emu_t *emu, uintptr_t fnc);
 void vFpiiiiiip(x64emu_t *emu, uintptr_t fnc);
 void vFpiiiipii(x64emu_t *emu, uintptr_t fnc);
@@ -2586,6 +2609,7 @@ void vFpuppippp(x64emu_t *emu, uintptr_t fnc);
 void vFpuppLLLL(x64emu_t *emu, uintptr_t fnc);
 void vFpUiUiupi(x64emu_t *emu, uintptr_t fnc);
 void vFpUuuUUUu(x64emu_t *emu, uintptr_t fnc);
+void vFpLpLpLpp(x64emu_t *emu, uintptr_t fnc);
 void vFpLppiipi(x64emu_t *emu, uintptr_t fnc);
 void vFppiiiiii(x64emu_t *emu, uintptr_t fnc);
 void vFppiiipii(x64emu_t *emu, uintptr_t fnc);
@@ -2601,6 +2625,7 @@ void vFpplppppp(x64emu_t *emu, uintptr_t fnc);
 void vFppLpLpLp(x64emu_t *emu, uintptr_t fnc);
 void vFpppipppu(x64emu_t *emu, uintptr_t fnc);
 void vFpppuiiii(x64emu_t *emu, uintptr_t fnc);
+void vFpppLpppp(x64emu_t *emu, uintptr_t fnc);
 void vFppppiipi(x64emu_t *emu, uintptr_t fnc);
 void vFpppppuuu(x64emu_t *emu, uintptr_t fnc);
 void vFpppppppp(x64emu_t *emu, uintptr_t fnc);
@@ -2610,6 +2635,9 @@ void iFEpuuLppp(x64emu_t *emu, uintptr_t fnc);
 void iFEpUUuppp(x64emu_t *emu, uintptr_t fnc);
 void iFEppipppp(x64emu_t *emu, uintptr_t fnc);
 void iFEppppipp(x64emu_t *emu, uintptr_t fnc);
+void iFEppppLpp(x64emu_t *emu, uintptr_t fnc);
+void iFEpppppuu(x64emu_t *emu, uintptr_t fnc);
+void iFEppppppp(x64emu_t *emu, uintptr_t fnc);
 void iFiiiiiiip(x64emu_t *emu, uintptr_t fnc);
 void iFiiupiupi(x64emu_t *emu, uintptr_t fnc);
 void iFiuuCCuup(x64emu_t *emu, uintptr_t fnc);
@@ -2638,6 +2666,7 @@ void iFpLLiippp(x64emu_t *emu, uintptr_t fnc);
 void iFpLLLiipi(x64emu_t *emu, uintptr_t fnc);
 void iFpLLppppp(x64emu_t *emu, uintptr_t fnc);
 void iFpLpipppp(x64emu_t *emu, uintptr_t fnc);
+void iFpLpLpLpp(x64emu_t *emu, uintptr_t fnc);
 void iFpLppLpip(x64emu_t *emu, uintptr_t fnc);
 void iFpLpppupu(x64emu_t *emu, uintptr_t fnc);
 void iFpLpppppp(x64emu_t *emu, uintptr_t fnc);
@@ -2726,6 +2755,7 @@ void vFEpippippA(x64emu_t *emu, uintptr_t fnc);
 void vFEpuuuippp(x64emu_t *emu, uintptr_t fnc);
 void vFEppiipppp(x64emu_t *emu, uintptr_t fnc);
 void vFEpppiippp(x64emu_t *emu, uintptr_t fnc);
+void vFEpppLLpLp(x64emu_t *emu, uintptr_t fnc);
 void vFEppppippp(x64emu_t *emu, uintptr_t fnc);
 void vFiiiiiiiii(x64emu_t *emu, uintptr_t fnc);
 void vFiiiiiiill(x64emu_t *emu, uintptr_t fnc);
@@ -2755,6 +2785,7 @@ void vFpiuippppi(x64emu_t *emu, uintptr_t fnc);
 void vFpipiuiipp(x64emu_t *emu, uintptr_t fnc);
 void vFpipppiipi(x64emu_t *emu, uintptr_t fnc);
 void vFpuuuuuuuu(x64emu_t *emu, uintptr_t fnc);
+void vFpLpLpLLpp(x64emu_t *emu, uintptr_t fnc);
 void vFpLpppippp(x64emu_t *emu, uintptr_t fnc);
 void vFppiiiiiii(x64emu_t *emu, uintptr_t fnc);
 void vFppiiiiipi(x64emu_t *emu, uintptr_t fnc);
@@ -2783,6 +2814,7 @@ void iFEppuppppp(x64emu_t *emu, uintptr_t fnc);
 void iFEpppipppp(x64emu_t *emu, uintptr_t fnc);
 void iFEppplPPPP(x64emu_t *emu, uintptr_t fnc);
 void iFEpppppupp(x64emu_t *emu, uintptr_t fnc);
+void iFEppppppuu(x64emu_t *emu, uintptr_t fnc);
 void iFEppPPPPPP(x64emu_t *emu, uintptr_t fnc);
 void iFiiiiiiiip(x64emu_t *emu, uintptr_t fnc);
 void iFiiiipiiip(x64emu_t *emu, uintptr_t fnc);
@@ -2798,6 +2830,7 @@ void iFpduuuLuLp(x64emu_t *emu, uintptr_t fnc);
 void iFpLiuiiLLL(x64emu_t *emu, uintptr_t fnc);
 void iFpLLiiuuii(x64emu_t *emu, uintptr_t fnc);
 void iFpLpiiuuii(x64emu_t *emu, uintptr_t fnc);
+void iFpLpLpLLpp(x64emu_t *emu, uintptr_t fnc);
 void iFpLpppupup(x64emu_t *emu, uintptr_t fnc);
 void iFpLppppppp(x64emu_t *emu, uintptr_t fnc);
 void iFppiiiiiii(x64emu_t *emu, uintptr_t fnc);
@@ -2854,6 +2887,7 @@ void iWppppupiii(x64emu_t *emu, uintptr_t fnc);
 void vFEiippppppp(x64emu_t *emu, uintptr_t fnc);
 void vFEpippppppp(x64emu_t *emu, uintptr_t fnc);
 void vFEpppiipppp(x64emu_t *emu, uintptr_t fnc);
+void vFEpppLuLpLp(x64emu_t *emu, uintptr_t fnc);
 void vFiiiiiiiiii(x64emu_t *emu, uintptr_t fnc);
 void vFiiiiiiiiiu(x64emu_t *emu, uintptr_t fnc);
 void vFiiiiiiiiui(x64emu_t *emu, uintptr_t fnc);
@@ -2901,6 +2935,7 @@ void iFpLLpiiuuii(x64emu_t *emu, uintptr_t fnc);
 void iFpLpLUUUUpL(x64emu_t *emu, uintptr_t fnc);
 void iFppuuiiiiii(x64emu_t *emu, uintptr_t fnc);
 void iFppuuiiuupi(x64emu_t *emu, uintptr_t fnc);
+void iFppLpLpLLpp(x64emu_t *emu, uintptr_t fnc);
 void iFpppiiipipi(x64emu_t *emu, uintptr_t fnc);
 void iFpppLLipppp(x64emu_t *emu, uintptr_t fnc);
 void iFpppppiiuup(x64emu_t *emu, uintptr_t fnc);
@@ -2927,6 +2962,7 @@ void iWEpuipupppp(x64emu_t *emu, uintptr_t fnc);
 void iWEpuuiiuipp(x64emu_t *emu, uintptr_t fnc);
 void iWEpuuuuiipp(x64emu_t *emu, uintptr_t fnc);
 void vFEpuuuupupup(x64emu_t *emu, uintptr_t fnc);
+void vFEppLpLpLLpp(x64emu_t *emu, uintptr_t fnc);
 void vFiiiiillliip(x64emu_t *emu, uintptr_t fnc);
 void vFiiiiilllilp(x64emu_t *emu, uintptr_t fnc);
 void vFuiiiiiiiiip(x64emu_t *emu, uintptr_t fnc);
@@ -2957,6 +2993,7 @@ void vFppupipiuuuu(x64emu_t *emu, uintptr_t fnc);
 void vFppupppuiiii(x64emu_t *emu, uintptr_t fnc);
 void vFppppppppppp(x64emu_t *emu, uintptr_t fnc);
 void iFEiipppppppp(x64emu_t *emu, uintptr_t fnc);
+void iFEppLpLpLLpp(x64emu_t *emu, uintptr_t fnc);
 void iFEpppipppppp(x64emu_t *emu, uintptr_t fnc);
 void iFEppppiiiiuu(x64emu_t *emu, uintptr_t fnc);
 void iFEpppppppppp(x64emu_t *emu, uintptr_t fnc);
diff --git a/src/wrapped/wrappedlibhogweed6.c b/src/wrapped/wrappedlibhogweed6.c
index 57823a95..1b28669f 100644
--- a/src/wrapped/wrappedlibhogweed6.c
+++ b/src/wrapped/wrappedlibhogweed6.c
@@ -6,12 +6,144 @@
 
 #include "wrappedlibs.h"
 
+#include "debug.h"
 #include "wrapper.h"
 #include "bridge.h"
 #include "librarian/library_private.h"
 #include "x64emu.h"
+#include "emu/x64emu_private.h"
+#include "callback.h"
+#include "librarian.h"
+#include "box64context.h"
+#include "emu/x64emu_private.h"
+#include "myalign.h"
 
 const char* libhogweed6Name = "libhogweed.so.6";
 #define LIBNAME libhogweed6
 
+
+#define ADDED_FUNCTIONS()
+
+#include "generated/wrappedlibhogweed6types.h"
+
+#include "wrappercallback.h"
+
+#define SUPER() \
+GO(0)   \
+GO(1)   \
+GO(2)   \
+GO(3)   \
+GO(4)   \
+GO(5)   \
+GO(6)   \
+GO(7)   \
+GO(8)   \
+GO(9)   \
+GO(10)  \
+
+// nettle_random_func
+#define GO(A)   \
+static uintptr_t my_nettle_random_func_fct_##A = 0;                 \
+static void my_nettle_random_func_##A(void* a, size_t b, void* c)   \
+{                                                                   \
+    RunFunctionFmt(my_nettle_random_func_fct_##A, "pLp", a, b, c);  \
+}
+SUPER()
+#undef GO
+static void* findnettle_random_funcFct(void* fct)
+{
+    if(!fct) return fct;
+    if(GetNativeFnc((uintptr_t)fct))  return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if(my_nettle_random_func_fct_##A == (uintptr_t)fct) return my_nettle_random_func_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my_nettle_random_func_fct_##A == 0) {my_nettle_random_func_fct_##A = (uintptr_t)fct; return my_nettle_random_func_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for libhogweed.so.6 nettle_random_func callback\n");
+    return NULL;
+}
+
+// nettle_progress_func
+#define GO(A)   \
+static uintptr_t my_nettle_progress_func_fct_##A = 0;               \
+static void my_nettle_progress_func_##A(void* a, int b)             \
+{                                                                   \
+    RunFunctionFmt(my_nettle_progress_func_fct_##A, "pi", a, b);    \
+}
+SUPER()
+#undef GO
+static void* findnettle_progress_funcFct(void* fct)
+{
+    if(!fct) return fct;
+    if(GetNativeFnc((uintptr_t)fct))  return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if(my_nettle_progress_func_fct_##A == (uintptr_t)fct) return my_nettle_progress_func_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my_nettle_progress_func_fct_##A == 0) {my_nettle_progress_func_fct_##A = (uintptr_t)fct; return my_nettle_progress_func_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for libhogweed.so.6 nettle_progress_func callback\n");
+    return NULL;
+}
+
+#undef SUPER
+
+EXPORT int my_nettle_dsa_generate_params(x64emu_t* emu, void* params, void* rnd_ctx, void* rnd, void* progress_ctx, void* progress, uint32_t p_bits, uint32_t q_bits)
+{
+    return my->nettle_dsa_generate_params(params, rnd_ctx, findnettle_random_funcFct(rnd), progress_ctx, findnettle_progress_funcFct(progress), p_bits, q_bits);
+}
+
+EXPORT int my_nettle_dsa_sign(x64emu_t* emu, void* params, void* x, void* rnd_ctx, void* rnd, size_t len, void* digest, void* sign)
+{
+    return my->nettle_dsa_sign(params, x, rnd_ctx, findnettle_random_funcFct(rnd), len, digest, sign);
+}
+
+EXPORT void my_nettle_ecdsa_generate_keypair(x64emu_t* emu, void* pub, void* key, void* ctx, void* f)
+{
+    my->nettle_ecdsa_generate_keypair(pub, key, ctx, findnettle_random_funcFct(f));
+}
+
+EXPORT void my_nettle_ecdsa_sign(x64emu_t* emu, void* key, void* ctx, void* f, size_t len, void* digest, void* sign)
+{
+    my->nettle_ecdsa_sign(key, ctx, findnettle_random_funcFct(f), len, digest, sign);
+}
+
+EXPORT void my_nettle_gostdsa_sign(x64emu_t* emu, void* key, void* ctx, void* f, size_t len, void* digest, void* sign)
+{
+    my->nettle_gostdsa_sign(key, ctx, findnettle_random_funcFct(f), len, digest, sign);
+}
+
+EXPORT void my_nettle_mpz_random(x64emu_t* emu, void* x, void* ctx, void* f, void* n)
+{
+    my->nettle_mpz_random(x, ctx, findnettle_random_funcFct(f), n);
+}
+
+EXPORT void my_nettle_mpz_random_size(x64emu_t* emu, void* x, void* ctx, void* f, void* n)
+{
+    my->nettle_mpz_random_size(x, ctx, findnettle_random_funcFct(f), n);
+}
+
+EXPORT int my_nettle_rsa_decrypt_tr(x64emu_t* emu, void* pub, void* key, void* ctx, void* f, void* len, void* msg, void* gib)
+{
+    return my->nettle_rsa_decrypt_tr(pub, key, ctx, findnettle_random_funcFct(f), len, msg, gib);
+}
+
+EXPORT int my_nettle_rsa_encrypt(x64emu_t* emu, void* key, void* ctx, void* f, size_t len, void* txt, void* cipher)
+{
+    return my->nettle_rsa_encrypt(key, ctx, findnettle_random_funcFct(f), len, txt, cipher);
+}
+
+EXPORT int my_nettle_rsa_generate_keypair(x64emu_t* emu, void* pub, void* key, void* ctx_rnd, void* rnd, void* ctx_progress, void* progress, uint32_t n_size, uint32_t e_size)
+{
+    return my->nettle_rsa_generate_keypair(pub, key, ctx_rnd, findnettle_random_funcFct(rnd), ctx_progress, findnettle_progress_funcFct(progress), n_size, e_size);
+}
+
+EXPORT int my_nettle_rsa_pkcs1_sign_tr(x64emu_t* emu, void* pub, void* key, void* ctx, void* f, size_t len, void* info, void* s)
+{
+    return my->nettle_rsa_pkcs1_sign_tr(pub, key, ctx, findnettle_random_funcFct(f), len, info, s);
+}
+
+#define NEEDED_LIBS "libnettle.so.8"
+
 #include "wrappedlib_init.h"
diff --git a/src/wrapped/wrappedlibhogweed6_private.h b/src/wrapped/wrappedlibhogweed6_private.h
index 1497508f..108a5271 100644
--- a/src/wrapped/wrappedlibhogweed6_private.h
+++ b/src/wrapped/wrappedlibhogweed6_private.h
@@ -2,16 +2,296 @@
 error Meh...
 #endif
 
-GO(nettle_rsa_pss_sha512_verify_digest, iFpipp)
-GO(nettle_rsa_pss_sha384_verify_digest, iFpipp)
+// typedef __mpz_struct mpz_t[1]; so mpz_t is "p" when in function paramter (struct is 2 int + 1 pointer)
+// typedef long int                mp_size_t;
+
+GO(nettle_asn1_der_decode_bitstring, uFpp)
+GO(nettle_asn1_der_decode_bitstring_last, uFp)
+//GO(nettle_asn1_der_decode_constructed, 
+//GO(nettle_asn1_der_decode_constructed_last, 
+GO(nettle_asn1_der_get_bignum, iFppu)
+GO(nettle_asn1_der_get_uint32, iFpp)
+GO(nettle_asn1_der_iterator_first, uFpLp)
+//GO(nettle_asn1_der_iterator_next, 
+//GO(_nettle_cnd_copy, 
+//DATA(_nettle_curve25519, 
+//GO(_nettle_curve25519_eh_to_x, 
+GO(nettle_curve25519_mul, vFppp)
+GO(nettle_curve25519_mul_g, vFpp)
+//DATA(_nettle_curve448, 
+//GO(_nettle_curve448_eh_to_x, 
+GO(nettle_curve448_mul, vFppp)
+GO(nettle_curve448_mul_g, vFpp)
+//GO(nettle_dsa_compat_generate_keypair, 
+//GO(nettle_dsa_generate_keypair, 
+GOM(nettle_dsa_generate_params, iFEpppppuu)
+//GO(_nettle_dsa_hash, 
+//GO(nettle_dsa_keypair_from_sexp_alist, 
+//GO(nettle_dsa_keypair_to_sexp, 
+//GO(nettle_dsa_openssl_private_key_from_der_iterator, 
+GO(nettle_dsa_params_clear, vFp)
+//GO(nettle_dsa_params_from_der_iterator, 
+GO(nettle_dsa_params_init, vFp)
+//GO(nettle_dsa_private_key_clear, 
+//GO(nettle_dsa_private_key_init, 
+//GO(nettle_dsa_public_key_clear, 
+//GO(nettle_dsa_public_key_from_der_iterator, 
+//GO(nettle_dsa_public_key_init, 
+//GO(nettle_dsa_sha1_keypair_from_sexp, 
+//GO(nettle_dsa_sha1_sign, 
+//GO(nettle_dsa_sha1_sign_digest, 
+//GO(nettle_dsa_sha1_verify, 
+//GO(nettle_dsa_sha1_verify_digest, 
+//GO(nettle_dsa_sha256_keypair_from_sexp, 
+//GO(nettle_dsa_sha256_sign, 
+//GO(nettle_dsa_sha256_sign_digest, 
+//GO(nettle_dsa_sha256_verify, 
+//GO(nettle_dsa_sha256_verify_digest, 
+GOM(nettle_dsa_sign, iFEppppLpp)
+GO(nettle_dsa_signature_clear, vFp)
+//GO(nettle_dsa_signature_from_sexp, 
+GO(nettle_dsa_signature_init, vFp)
+GO(nettle_dsa_verify, iFppLpp)
+//GO(_nettle_ecc_add_eh, 
+//GO(_nettle_ecc_add_ehh, 
+//GO(_nettle_ecc_add_jja, 
+//GO(_nettle_ecc_add_jjj, 
+//GO(_nettle_ecc_add_th, 
+//GO(_nettle_ecc_add_thh, 
+//GO(_nettle_ecc_a_to_j, 
+GO(nettle_ecc_bit_size, uFp)
+//GO(_nettle_ecc_dup_eh, 
+//GO(_nettle_ecc_dup_jj, 
+//GO(_nettle_ecc_dup_th, 
+//GO(nettle_ecc_ecdsa_sign, 
+//GO(nettle_ecc_ecdsa_sign_itch, 
+//GO(nettle_ecc_ecdsa_verify, 
+//GO(nettle_ecc_ecdsa_verify_itch, 
+//GO(_nettle_ecc_eh_to_a, 
+GO(nettle_ecc_gostdsa_sign, vFpppLpppp)
+//GO(nettle_ecc_gostdsa_sign_itch, 
+GO(nettle_ecc_gostdsa_verify, iFppLpppp)
+GO(nettle_ecc_gostdsa_verify_itch, lFp)
+//GO(_nettle_ecc_j_to_a, 
+//GO(_nettle_ecc_mod, 
+//GO(_nettle_ecc_mod_add, 
+//GO(_nettle_ecc_mod_addmul_1, 
+//GO(_nettle_ecc_mod_equal_p, 
+//GO(_nettle_ecc_mod_inv, 
+//GO(_nettle_ecc_mod_mul, 
+//GO(_nettle_ecc_mod_mul_1, 
+//GO(_nettle_ecc_mod_mul_canonical, 
+//GO(_nettle_ecc_mod_pow_2k, 
+//GO(_nettle_ecc_mod_pow_2k_mul, 
+//GO(_nettle_ecc_mod_random, 
+//GO(_nettle_ecc_mod_sqr, 
+//GO(_nettle_ecc_mod_sqr_canonical, 
+//GO(_nettle_ecc_mod_sub, 
+//GO(_nettle_ecc_mod_submul_1, 
+//GO(_nettle_ecc_mod_zero_p, 
+//GO(_nettle_ecc_mul_a, 
+//GO(_nettle_ecc_mul_a_eh, 
+//GO(_nettle_ecc_mul_g, 
+//GO(_nettle_ecc_mul_g_eh, 
+//GO(_nettle_ecc_mul_m, 
+//GO(_nettle_ecc_nonsec_add_jjj, 
+//GO(_nettle_ecc_pm1_redc, 
+GO(nettle_ecc_point_clear, vFp)
+GO(nettle_ecc_point_get, vFppp)
+GO(nettle_ecc_point_init, vFpp)
+GO(nettle_ecc_point_mul, vFppp)
+GO(nettle_ecc_point_mul_g, vFpp)
+GO(nettle_ecc_point_set, iFppp)
+//GO(_nettle_ecc_pp1_redc, 
+GO(nettle_ecc_scalar_clear, vFp)
+GO(nettle_ecc_scalar_get, vFpp)
+GO(nettle_ecc_scalar_init, vFpp)
+//GO(nettle_ecc_scalar_random, 
+GO(nettle_ecc_scalar_set, iFpp)
+GO(nettle_ecc_size, lFp)
+GO(nettle_ecc_size_a, lFp)
+GO(nettle_ecc_size_j, lFp)
+GOM(nettle_ecdsa_generate_keypair, vFEpppp)
+GOM(nettle_ecdsa_sign, vFEpppLpp)
+GO(nettle_ecdsa_verify, iFpLpp)
+//DATA(_nettle_ed25519_sha512, 
+GO(nettle_ed25519_sha512_public_key, vFpp)
+GO(nettle_ed25519_sha512_sign, vFppLpp)
+GO(nettle_ed25519_sha512_verify, iFpLpp)
+//DATA(_nettle_ed448_shake256, 
+GO(nettle_ed448_shake256_public_key, vFpp)
+GO(nettle_ed448_shake256_sign, vFppLpp)
+GO(nettle_ed448_shake256_verify, iFpLpp)
+//GO(_nettle_eddsa_compress, 
+//GO(_nettle_eddsa_compress_itch, 
+//GO(_nettle_eddsa_decompress, 
+//GO(_nettle_eddsa_decompress_itch, 
+//GO(_nettle_eddsa_expand_key, 
+//GO(_nettle_eddsa_hash, 
+//GO(_nettle_eddsa_public_key, 
+//GO(_nettle_eddsa_public_key_itch, 
+//GO(_nettle_eddsa_sign, 
+//GO(_nettle_eddsa_sign_itch, 
+//GO(_nettle_eddsa_verify, 
+//GO(_nettle_eddsa_verify_itch, 
+//GO(_nettle_generate_pocklington_prime, 
+GO(nettle_get_gost_gc256b, pFv)
+GO(nettle_get_gost_gc512a, pFv)
+GO(nettle_get_secp_192r1, pFv)
+GO(nettle_get_secp_224r1, pFv)
+GO(nettle_get_secp_256r1, pFv)
+GO(nettle_get_secp_384r1, pFv)
+GO(nettle_get_secp_521r1, pFv)
+//GO(_nettle_gmp_alloc, 
+//GO(_nettle_gmp_alloc_limbs, 
+//GO(_nettle_gmp_free, 
+//GO(_nettle_gmp_free_limbs, 
+//GO(_nettle_gostdsa_hash, 
+GOM(nettle_gostdsa_sign, vFEpppLpp)
+GO(nettle_gostdsa_verify, iFpLpp)
+GO(nettle_gostdsa_vko, vFppLpp)
+//DATA(_nettle_gost_gc256b, 
+//DATA(_nettle_gost_gc512a, 
+//GO(_nettle_mpn_get_base256, 
+//GO(_nettle_mpn_get_base256_le, 
+//GO(_nettle_mpn_set_base256, 
+//GO(_nettle_mpn_set_base256_le, 
+GO(nettle_mpz_get_str_256, vFLpp)
+//GO(nettle_mpz_init_set_str_256_s, 
+GO(nettle_mpz_init_set_str_256_u, vFpLp)
+//GO(_nettle_mpz_limbs_copy, 
+GOM(nettle_mpz_random, vFEpppp)
+GOM(nettle_mpz_random_size, vFEpppp)
+//GO(_nettle_mpz_set_n, 
+GO(nettle_mpz_set_sexp, iFpup)
+GO(nettle_mpz_set_str_256_s, vFpLp)
+GO(nettle_mpz_set_str_256_u, vFpLp)
+GO(nettle_mpz_sizeinbase_256_s, LFp)
+GO(nettle_mpz_sizeinbase_256_u, LFp)
+//GO(_nettle_oaep_decode_mgf1, 
+//GO(_nettle_oaep_encode_mgf1, 
+//GO(nettle_openssl_provate_key_from_der, 
+//GO(nettle_pgp_armor, 
+GO(nettle_pgp_crc24, uFup)
+//GO(nettle_pgp_put_header, 
+//GO(nettle_pgp_put_header_length, 
+//GO(nettle_pgp_put_length, 
+//GO(nettle_pgp_put_mpi, 
+//GO(nettle_pgp_put_public_rsa_key, 
+//GO(nettle_pgp_put_rsa_sha1_signature, 
+//GO(nettle_pgp_put_string, 
+//GO(nettle_pgp_put_sub_packet, 
+//GO(nettle_pgp_put_uint16, 
+//GO(nettle_pgp_put_uint32, 
+//GO(nettle_pgp_put_userid, 
+//GO(nettle_pgp_sub_packet_end, 
+//GO(nettle_pgp_sub_packet_start, 
+GO(nettle_pkcs1_decrypt, iFLppp)
+//GO(nettle_pkcs1_encrypt, 
+GO(nettle_pkcs1_rsa_digest_encode, iFpLLp)
+GO(nettle_pkcs1_rsa_md5_encode, iFpLp)
+//GO(nettle_pkcs1_rsa_md5_encode_digest, 
+GO(nettle_pkcs1_rsa_sha1_encode, iFpLp)
+//GO(nettle_pkcs1_rsa_sha1_encode_digest, 
+GO(nettle_pkcs1_rsa_sha256_encode, iFpLp)
+//GO(nettle_pkcs1_rsa_sha256_encode_digest, 
+GO(nettle_pkcs1_rsa_sha512_encode, iFpLp)
+GO(nettle_pkcs1_rsa_sha512_encode_digest, iFpLp)
+//GO(_nettle_pkcs1_sec_decrypt, 
+//GO(_nettle_pkcs1_sec_decrypt_variable, 
+//GO(_nettle_pkcs1_signature_prefix, 
+//GO(nettle_pss_encode_mgf1, 
+//GO(nettle_pss_mgf1, 
+//GO(nettle_pss_verify_mgf1, 
+//GO(nettle_random_prime, 
+//GO(_nettle_rsa_blind, 
+//GO(_nettle_rsa_check_size, 
+//GO(nettle_rsa_compute_root, 
+//GO(nettle_rsa_compute_root_tr, 
+//GO(nettle_rsa_decrypt, 
+GOM(nettle_rsa_decrypt_tr, iFEppppppp)
+GOM(nettle_rsa_encrypt, iFEpppLpp)
+GOM(nettle_rsa_generate_keypair, iFEppppppuu)
+//GO(nettle_rsa_keypair_from_der, 
+//GO(nettle_rsa_keypair_from_sexp, 
+//GO(nettle_rsa_keypair_from_sexp_alist, 
+//GO(nettle_rsa_keypair_to_openpgp, 
+//GO(nettle_rsa_keypair_to_sexp, 
+//GO(nettle_rsa_md5_sign, 
+//GO(nettle_rsa_md5_sign_digest, 
+//GO(nettle_rsa_md5_sign_digest_tr, 
+//GO(nettle_rsa_md5_sign_tr, 
+//GO(nettle_rsa_md5_verify, 
+//GO(nettle_rsa_md5_verify_digest, 
+//GO(_nettle_rsa_oaep_decrypt, 
+//GO(_nettle_rsa_oaep_encrypt, 
+//GO(nettle_rsa_oaep_sha256_decrypt, 
+//GO(nettle_rsa_oaep_sha256_encrypt, 
+//GO(nettle_rsa_oaep_sha384_decrypt, 
+//GO(nettle_rsa_oaep_sha384_encrypt, 
+//GO(nettle_rsa_oaep_sha512_decrypt, 
+//GO(nettle_rsa_oaep_sha512_encrypt, 
+//GO(nettle_rsa_pkcs1_sign, 
+GOM(nettle_rsa_pkcs1_sign_tr, iFEppppLpp)
+GO(nettle_rsa_pkcs1_verify, iFpLpp)
+GO(nettle_rsa_private_key_clear, vFp)
+//GO(nettle_rsa_private_key_from_der_iterator, 
+GO(nettle_rsa_private_key_init, vFp)
+GO(nettle_rsa_private_key_prepare, iFp)
+GO(nettle_rsa_pss_sha256_sign_digest_tr, iFpppipp)
 GO(nettle_rsa_pss_sha256_verify_digest, iFpipp)
 GO(nettle_rsa_pss_sha384_sign_digest_tr, iFpppipp)
+GO(nettle_rsa_pss_sha384_verify_digest, iFpipp)
 GO(nettle_rsa_pss_sha512_sign_digest_tr, iFpppipp)
-GO(nettle_rsa_pss_sha256_sign_digest_tr, iFpppipp)
-GO(nettle_ecc_size_a, iFp)
-GO(nettle_ecc_point_init, vFpp)
+GO(nettle_rsa_pss_sha512_verify_digest, iFpipp)
+GO(nettle_rsa_public_key_clear, vFp)
+//GO(nettle_rsa_public_key_from_der_iterator, 
+GO(nettle_rsa_public_key_init, vFp)
+GO(nettle_rsa_public_key_prepare, iFp)
+//GO(_nettle_rsa_sec_compute_root, 
+//GO(_nettle_rsa_sec_compute_root_itch, 
+//GO(_nettle_rsa_sec_compute_root_tr, 
 GO(nettle_rsa_sec_decrypt, iFpppppip)
-GO(nettle_ecc_point_clear, vFp)
-GO(nettle_dsa_params_clear, vFp)
-GO(nettle_get_secp_192r1, pFv)
-GO(nettle_get_gost_gc256b, pFv)
+//GO(nettle_rsa_sha1_sign, 
+//GO(nettle_rsa_sha1_sign_digest, 
+//GO(nettle_rsa_sha1_sign_digest_tr, 
+//GO(nettle_rsa_sha1_sign_tr, 
+//GO(nettle_rsa_sha1_verify, 
+//GO(nettle_rsa_sha1_verify_digest, 
+//GO(nettle_rsa_sha256_sign, 
+//GO(nettle_rsa_sha256_sign_digest, 
+//GO(nettle_rsa_sha256_sign_digest_tr, 
+//GO(nettle_rsa_sha256_sign_tr, 
+//GO(nettle_rsa_sha256_verify, 
+//GO(nettle_rsa_sha256_verify_digest, 
+//GO(nettle_rsa_sha512_sign, 
+//GO(nettle_rsa_sha512_sign_digest, 
+//GO(nettle_rsa_sha512_sign_digest_tr, 
+//GO(nettle_rsa_sha512_sign_tr, 
+//GO(nettle_rsa_sha512_verify, 
+//GO(nettle_rsa_sha512_verify_digest, 
+//GO(_nettle_rsa_unblind, 
+//GO(_nettle_rsa_verify, 
+//GO(_nettle_rsa_verify_recover, 
+//GO(_nettle_sec_add_1, 
+//DATA(_nettle_secp_192r1, 
+//DATA(_nettle_secp_224r1, 
+//DATA(_nettle_secp_256r1, 
+//DATA(_nettle_secp_384r1, 
+//DATA(_nettle_secp_521r1, 
+//GO(_nettle_sec_sub_1, 
+//GO(_nettle_sec_zero_p, 
+//GO(nettle_sexp_format, 
+GO(nettle_sexp_iterator_assoc, iFpupp)
+GO(nettle_sexp_iterator_check_type, iFpp)
+GO(nettle_sexp_iterator_check_types, pFpup)
+//GO(nettle_sexp_iterator_enter_list, 
+GO(nettle_sexp_iterator_exit_list, iFp)
+GO(nettle_sexp_iterator_first, iFpLp)
+GO(nettle_sexp_iterator_get_uint32, iFpp)
+//GO(nettle_sexp_iterator_next, 
+GO(nettle_sexp_iterator_subexpr, pFpp)
+//GO(nettle_sexp_transport_format, 
+GO(nettle_sexp_transport_iterator_first, iFpLp)
+//GO(nettle_sexp_transport_vformat, 
+//GO(nettle_sexp_vformat, 
diff --git a/src/wrapped/wrappedlibnettle8.c b/src/wrapped/wrappedlibnettle8.c
index 5803aec4..d18ec684 100644
--- a/src/wrapped/wrappedlibnettle8.c
+++ b/src/wrapped/wrappedlibnettle8.c
@@ -6,12 +6,219 @@
 
 #include "wrappedlibs.h"
 
+#include "debug.h"
 #include "wrapper.h"
 #include "bridge.h"
 #include "librarian/library_private.h"
 #include "x64emu.h"
+#include "emu/x64emu_private.h"
+#include "callback.h"
+#include "librarian.h"
+#include "box64context.h"
+#include "emu/x64emu_private.h"
+#include "myalign.h"
 
 const char* libnettle8Name = "libnettle.so.8";
 #define LIBNAME libnettle8
 
+#define ADDED_FUNCTIONS()
+
+#include "generated/wrappedlibnettle8types.h"
+
+#include "wrappercallback.h"
+
+#define SUPER() \
+GO(0)   \
+GO(1)   \
+GO(2)   \
+GO(3)   \
+GO(4)   \
+GO(5)   \
+GO(6)   \
+GO(7)   \
+GO(8)   \
+GO(9)   \
+GO(10)  \
+
+// nettle_cipher_func
+#define GO(A)   \
+static uintptr_t my_nettle_cipher_func_fct_##A = 0;                         \
+static void my_nettle_cipher_func_##A(void* a, size_t b, void* c, void* d)  \
+{                                                                           \
+    RunFunctionFmt(my_nettle_cipher_func_fct_##A, "pLpp", a, b, c, d);      \
+}
+SUPER()
+#undef GO
+static void* findnettle_cipher_funcFct(void* fct)
+{
+    if(!fct) return fct;
+    if(GetNativeFnc((uintptr_t)fct))  return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if(my_nettle_cipher_func_fct_##A == (uintptr_t)fct) return my_nettle_cipher_func_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my_nettle_cipher_func_fct_##A == 0) {my_nettle_cipher_func_fct_##A = (uintptr_t)fct; return my_nettle_cipher_func_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for libnettle.so.8 nettle_cipher_func callback\n");
+    return NULL;
+}
+
+// nettle_hash_update_func
+#define GO(A)   \
+static uintptr_t my_nettle_hash_update_func_fct_##A = 0;                \
+static void my_nettle_hash_update_func_##A(void* a, size_t b, void* c)  \
+{                                                                       \
+    RunFunctionFmt(my_nettle_hash_update_func_fct_##A, "pLp", a, b, c); \
+}
+SUPER()
+#undef GO
+static void* findnettle_hash_update_funcFct(void* fct)
+{
+    if(!fct) return fct;
+    if(GetNativeFnc((uintptr_t)fct))  return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if(my_nettle_hash_update_func_fct_##A == (uintptr_t)fct) return my_nettle_hash_update_func_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my_nettle_hash_update_func_fct_##A == 0) {my_nettle_hash_update_func_fct_##A = (uintptr_t)fct; return my_nettle_hash_update_func_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for libnettle.so.8 nettle_hash_update_func callback\n");
+    return NULL;
+}
+
+// nettle_hash_digest_func
+#define GO(A)   \
+static uintptr_t my_nettle_hash_digest_func_fct_##A = 0;                \
+static void my_nettle_hash_digest_func_##A(void* a, size_t b, void* c)  \
+{                                                                       \
+    RunFunctionFmt(my_nettle_hash_digest_func_fct_##A, "pLp", a, b, c); \
+}
+SUPER()
+#undef GO
+static void* findnettle_hash_digest_funcFct(void* fct)
+{
+    if(!fct) return fct;
+    if(GetNativeFnc((uintptr_t)fct))  return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if(my_nettle_hash_digest_func_fct_##A == (uintptr_t)fct) return my_nettle_hash_digest_func_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my_nettle_hash_digest_func_fct_##A == 0) {my_nettle_hash_digest_func_fct_##A = (uintptr_t)fct; return my_nettle_hash_digest_func_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for libnettle.so.8 nettle_hash_digest_func callback\n");
+    return NULL;
+}
+
+#undef SUPER
+
+EXPORT void my_nettle_ccm_encrypt_message(x64emu_t* emu, void* cipher, void* f, size_t nlen, void* nonce, size_t alen, void* adata, size_t tlen, size_t clen, void* dst, void* src)
+{
+    my->nettle_ccm_encrypt_message(cipher, findnettle_cipher_funcFct(f), nlen, nonce, alen, adata, tlen, clen, dst, src);
+}
+
+EXPORT void my_nettle_cbc_decrypt(x64emu_t* emu, void* ctx, void* f, size_t bsize, void* iv, size_t len, void* dst, void* src)
+{
+    my->nettle_cbc_decrypt(ctx, findnettle_cipher_funcFct(f), bsize, iv, len, dst, src);
+}
+
+EXPORT void my_nettle_cbc_encrypt(x64emu_t* emu, void* ctx, void* f, size_t bsize, void* iv, size_t len, void* dst, void* src)
+{
+    my->nettle_cbc_encrypt(ctx, findnettle_cipher_funcFct(f), bsize, iv, len, dst, src);
+}
+
+EXPORT int my_nettle_ccm_decrypt_message(x64emu_t* emu, void* cipher, void* f, size_t nlen, void* nonce, size_t alen, void* adata, size_t tlen, size_t mlen, void* dst, void* src)
+{
+    return my->nettle_ccm_decrypt_message(cipher, findnettle_cipher_funcFct(f), nlen, nonce, alen, adata, tlen, mlen, dst, src);
+}
+
+EXPORT int my_nettle_cfb_decrypt(x64emu_t* emu, void* cipher, void* f, size_t blen, void* iv, size_t len, void* dst, void* src)
+{
+    my->nettle_cfb_decrypt(cipher, findnettle_cipher_funcFct(f), blen, iv, len, dst, src);
+}
+
+EXPORT int my_nettle_cfb_encrypt(x64emu_t* emu, void* cipher, void* f, size_t blen, void* iv, size_t len, void* dst, void* src)
+{
+    my->nettle_cfb_encrypt(cipher, findnettle_cipher_funcFct(f), blen, iv, len, dst, src);
+}
+
+EXPORT int my_nettle_cfb8_decrypt(x64emu_t* emu, void* cipher, void* f, size_t blen, void* iv, size_t len, void* dst, void* src)
+{
+    my->nettle_cfb8_decrypt(cipher, findnettle_cipher_funcFct(f), blen, iv, len, dst, src);
+}
+
+EXPORT int my_nettle_cfb8_encrypt(x64emu_t* emu, void* cipher, void* f, size_t blen, void* iv, size_t len, void* dst, void* src)
+{
+    my->nettle_cfb8_encrypt(cipher, findnettle_cipher_funcFct(f), blen, iv, len, dst, src);
+}
+
+EXPORT void my_nettle_cmac128_digest(x64emu_t* emu, void* ctx, void* key, void* cipher, void* f, uint32_t len, void* digest)
+{
+    my->nettle_cmac128_digest(ctx, key, cipher, findnettle_cipher_funcFct(f), len, digest);
+}
+
+EXPORT void my_nettle_cmac128_set_key(x64emu_t* emu, void* key, void* cipher, void* f)
+{
+    my->nettle_cmac128_set_key(key, cipher, findnettle_cipher_funcFct(f));
+}
+
+EXPORT void my_nettle_cmac128_update(x64emu_t* emu, void* ctx, void* cipher, void* f, size_t len, void* msg)
+{
+    my->nettle_cmac128_update(ctx, cipher, findnettle_cipher_funcFct(f), len, msg);
+}
+
+EXPORT void my_nettle_cmac64_digest(x64emu_t* emu, void* ctx, void* key, void* cipher, void* f, uint32_t len, void* digest)
+{
+    my->nettle_cmac64_digest(ctx, key, cipher, findnettle_cipher_funcFct(f), len, digest);
+}
+
+EXPORT void my_nettle_cmac64_set_key(x64emu_t* emu, void* key, void* cipher, void* f)
+{
+    my->nettle_cmac64_set_key(key, cipher, findnettle_cipher_funcFct(f));
+}
+
+EXPORT void my_nettle_cmac64_update(x64emu_t* emu, void* ctx, void* cipher, void* f, size_t len, void* msg)
+{
+    my->nettle_cmac64_update(ctx, cipher, findnettle_cipher_funcFct(f), len, msg);
+}
+
+EXPORT void my_nettle_ctr_crypt(x64emu_t* emu, void* ctx, void* f, size_t bsize, void* ctr, size_t len, void* dst, void* src)
+{
+    my->nettle_ctr_crypt(ctx, findnettle_cipher_funcFct(f), bsize, ctr, len, dst, src);
+}
+
+EXPORT void my_nettle_gcm_decrypt(x64emu_t* emu, void* ctx, void* key, void* cipher, void* f, size_t len, void* dst, void* src)
+{
+    my->nettle_gcm_decrypt(ctx, key, cipher, findnettle_cipher_funcFct(f), len, dst, src);
+}
+
+EXPORT void my_nettle_gcm_digest(x64emu_t* emu, void* ctx, void* key, void* cipher, void* f, size_t len, void* digest)
+{
+    my->nettle_gcm_digest(ctx, key, cipher, findnettle_cipher_funcFct(f), len, digest);
+}
+
+EXPORT void my_nettle_gcm_encrypt(x64emu_t* emu, void* ctx, void* key, void* cipher, void* f, size_t len, void* dst, void* src)
+{
+    my->nettle_gcm_encrypt(ctx, key, cipher, findnettle_cipher_funcFct(f), len, dst, src);
+}
+
+EXPORT void my_nettle_gcm_set_key(x64emu_t* emu, void* key, void* cipher, void* f)
+{
+    my->nettle_gcm_set_key(key, cipher, findnettle_cipher_funcFct(f));
+}
+
+EXPORT void my_nettle_hkdf_expand(x64emu_t* emu, void* ctx, void* update, void* digest, size_t dsize, size_t isize, void* info, size_t len, void* dst)
+{
+    my->nettle_hkdf_expand(ctx, findnettle_hash_update_funcFct(update), findnettle_hash_digest_funcFct(digest), dsize, isize, info, len, dst);
+}
+
+EXPORT void my_nettle_hkdf_extract(x64emu_t* emu, void* ctx, void* update, void* digest, size_t dsize, size_t ssz, void* secret, void* dst)
+{
+    my->nettle_hkdf_extract(ctx, findnettle_hash_update_funcFct(update), findnettle_hash_digest_funcFct(digest), dsize, ssz, secret, dst);
+}
+
+EXPORT void my_nettle_pbkdf2(x64emu_t* emu, void* ctx, void* update, void* digest, size_t dsize, uint32_t iter, size_t ssalt, void* salt, size_t len, void* dst)
+{
+    my->nettle_pbkdf2(ctx, findnettle_hash_update_funcFct(update), findnettle_hash_digest_funcFct(digest), dsize, iter, ssalt, salt, len, dst);
+}
+
 #include "wrappedlib_init.h"
diff --git a/src/wrapped/wrappedlibnettle8_private.h b/src/wrapped/wrappedlibnettle8_private.h
index 5f30b484..09d022da 100644
--- a/src/wrapped/wrappedlibnettle8_private.h
+++ b/src/wrapped/wrappedlibnettle8_private.h
@@ -2,133 +2,582 @@
 error Meh...
 #endif
 
-GO(nettle_camellia_set_decrypt_key, vFpip)
-GO(nettle_sha512_init, vFp)
-GO(nettle_sha512_digest, vFpip)
-GO(nettle_sha384_init, vFp)
-GO(nettle_sha384_digest, vFpip)
-GO(nettle_sha224_init, vFp)
-GO(nettle_sha224_digest, vFpip)
-GO(nettle_sha256_init, vFp)
-GO(nettle_sha256_update, vFpip)
-GO(nettle_sha256_digest, vFpip)
-GO(nettle_aes256_encrypt, vFpipp)
-GO(nettle_aes256_decrypt, vFpipp)
-GO(nettle_gcm_aes256_update, vFpip)
-GO(nettle_gcm_aes256_digest, vFpip)
-GO(nettle_gcm_aes256_set_key, vFpp)
-GO(nettle_gcm_aes256_set_iv, vFpip)
-GO(nettle_aes256_set_encrypt_key, vFpp)
-GO(nettle_aes256_set_decrypt_key, vFpp)
-GO(nettle_camellia256_crypt, vFpipp)
-GO(nettle_gcm_camellia256_update, vFpip)
-GO(nettle_gcm_camellia256_digest, vFpip)
-GO(nettle_gcm_camellia256_set_key, vFpp)
-GO(nettle_gcm_camellia256_set_iv, vFpip)
-GO(nettle_camellia256_set_encrypt_key, vFpp)
-GO(nettle_camellia256_set_decrypt_key, vFpp)
-GO(nettle_sha1_init, vFp)
-GO(nettle_sha1_digest, vFpip)
+//DATA(_nettle_aeads, 
+//DATA(nettle_aes128, 
+GO(nettle_aes128_decrypt, vFpLpp)
+//GO(_nettle_aes128_decrypt_c, 
 GO(nettle_aes128_encrypt, vFpipp)
-GO(nettle_aes128_decrypt, vFpipp)
-GO(nettle_gcm_aes128_update, vFpip)
-GO(nettle_gcm_aes128_digest, vFpip)
-GO(nettle_gcm_aes128_set_key, vFpp)
-GO(nettle_gcm_aes128_set_iv, vFpip)
-GO(nettle_aes128_set_encrypt_key, vFpp)
+//GO(_nettle_aes128_encrypt_c, 
+GO(nettle_aes128_invert_key, vFpp)
+GO(nettle_aes128_keyunwrap, iFppLpp)
+GO(nettle_aes128_keywrap, vFppLpp)
 GO(nettle_aes128_set_decrypt_key, vFpp)
-GO(nettle_camellia128_crypt, vFpipp)
-GO(nettle_gcm_camellia128_update, vFpip)
-GO(nettle_gcm_camellia128_digest, vFpip)
-GO(nettle_gcm_camellia128_set_key, vFpp)
-GO(nettle_gcm_camellia128_set_iv, vFpip)
-GO(nettle_camellia128_set_encrypt_key, vFpp)
-GO(nettle_camellia128_set_decrypt_key, vFpp)
+GO(nettle_aes128_set_encrypt_key, vFpp)
+//DATA(nettle_aes192, 
+GO(nettle_aes192_decrypt, vFpLpp)
+//GO(_nettle_aes192_decrypt_c, 
 GO(nettle_aes192_encrypt, vFpipp)
-GO(nettle_aes192_decrypt, vFpipp)
-GO(nettle_gcm_aes192_update, vFpip)
-GO(nettle_gcm_aes192_digest, vFpip)
-GO(nettle_gcm_aes192_set_key, vFpp)
-GO(nettle_gcm_aes192_set_iv, vFpip)
-GO(nettle_aes192_set_encrypt_key, vFpp)
+//GO(_nettle_aes192_encrypt_c, 
+GO(nettle_aes192_invert_key, vFpp)
+GO(nettle_aes192_keyunwrap, iFppLpp)
+GO(nettle_aes192_keywrap, vFppLpp)
 GO(nettle_aes192_set_decrypt_key, vFpp)
-GO(nettle_camellia192_set_encrypt_key, vFpp)
-GO(nettle_camellia192_set_decrypt_key, vFpp)
+GO(nettle_aes192_set_encrypt_key, vFpp)
+//DATA(nettle_aes256, 
+GO(nettle_aes256_decrypt, vFpLpp)
+//GO(_nettle_aes256_decrypt_c, 
+GO(nettle_aes256_encrypt, vFpipp)
+//GO(_nettle_aes256_encrypt_c, 
+GO(nettle_aes256_invert_key, vFpp)
+GO(nettle_aes256_keyunwrap, iFppLpp)
+GO(nettle_aes256_keywrap, vFppLpp)
+GO(nettle_aes256_set_decrypt_key, vFpp)
+GO(nettle_aes256_set_encrypt_key, vFpp)
+//GO(_nettle_aes_decrypt, 
+GO(nettle_aes_decrypt, vFpLpp)
+//GO(_nettle_aes_encrypt, 
+//GO(nettle_aes_encrypt, 
+//GO(_nettle_aes_invert, 
+GO(nettle_aes_invert_key, vFpp)
+GO(nettle_aes_set_decrypt_key, vFpLp)
+//GO(nettle_aes_set_encrypt_key, 
+//GO(_nettle_aes_set_key, 
+GO(nettle_arcfour_crypt, vFpLpp)
+GO(nettle_arcfour_set_key, vFpLp)
+//DATA(nettle_arctwo128, 
+GO(nettle_arcfour128_set_key, vFpp)
+GO(nettle_arctwo_decrypt, vFpLpp)
 GO(nettle_arctwo_encrypt, vFpipp)
-GO(nettle_arctwo_decrypt, vFpipp)
+//GO(nettle_arctwo_set_key, 
+GO(nettle_arctwo_set_key_ekb, vFpLpu)
+GO(nettle_arctwo_set_key_gutmann, vFpLp)
+//DATA(nettle_arctwo_gutmann128, 
+//GO(nettle_arctwo128_set_key, 
+GO(nettle_arctwo128_set_key_gutmann, vFpp)
+//DATA(nettle_arctwo40, 
 GO(nettle_arctwo40_set_key, vFpp)
-GO(nettle_des_encrypt, vFpipp)
-GO(nettle_des_decrypt, vFpipp)
-GO(nettle_des3_encrypt, vFpipp)
-GO(nettle_des3_decrypt, vFpipp)
-GO(nettle_arcfour_crypt, vFpipp)
-GO(nettle_arcfour_set_key, vFpip)
-GO(nettle_arcfour128_set_key, vFpp)
-GO(nettle_salsa20_crypt, vFpipp)
-GO(nettle_salsa20_256_set_key, vFpp)
-GO(nettle_salsa20r12_crypt, vFpipp)
-GO(nettle_chacha_crypt32, vFpipp)
-GO(nettle_chacha_set_key, vFpp)
+//DATA(nettle_arctwo64, 
+//GO(nettle_arctwo64_set_key, 
+//DATA(_nettle_armors, 
+//GO(nettle_balloon, 
+GO(nettle_balloon_itch, LFLL)
+//GO(nettle_balloon_sha1, 
+//GO(nettle_balloon_sha256, 
+//GO(nettle_balloon_sha384, 
+GO(nettle_balloon_sha512, vFLLLpLppp)
+//DATA(nettle_base16, 
+GO(nettle_base16_decode_final, iFp)
+GO(nettle_base16_decode_init, vFp)
+GO(nettle_base16_decode_single, iFppc)
+GO(nettle_base16_decode_update, iFpppLp)
+GO(nettle_base16_encode_single, vFpC)
+//GO(nettle_base16_encode_update, 
+//DATA(nettle_base64, 
+GO(nettle_base64_decode_final, iFp)
+GO(nettle_base64_decode_init, vFp)
+GO(nettle_base64_decode_single, iFppc)
+GO(nettle_base64_decode_update, iFpppLp)
+GO(nettle_base64_encode_final, LFpp)
+GO(nettle_base64_encode_group, vFpu)
+//GO(nettle_base64_encode_init, 
+GO(nettle_base64_encode_raw, vFpLp)
+GO(nettle_base64_encode_single, LFppC)
+GO(nettle_base64_encode_update, LFppLp)
+//DATA(nettle_base64url, 
+GO(nettle_base64url_decode_init, vFp)
+GO(nettle_base64url_encode_init, vFp)
+GO(nettle_blowfish128_set_key, iFpp)
+GO(nettle_blowfish_bcrypt_hash, iFpLpLpip)
+GO(nettle_blowfish_bcrypt_verify, iFLpLp)
+GO(nettle_blowfish_decrypt, vFpLpp)
+//GO(_nettle_blowfish_encround, 
+//GO(nettle_blowfish_encrypt, 
+GO(nettle_blowfish_set_key, iFpLp)
+//GO(nettle_buffer_clear, 
+//GO(nettle_buffer_copy, 
+//GO(nettle_buffer_grow, 
+//GO(nettle_buffer_init, 
+//GO(nettle_buffer_init_realloc, 
+//GO(nettle_buffer_init_size, 
+//GO(nettle_buffer_reset, 
+//GO(nettle_buffer_space, 
+//GO(nettle_buffer_write, 
+//GO(_nettle_camellia_absorb, 
+//GO(_nettle_camellia_crypt, 
+//GO(_nettle_camellia_invert_key, 
+GO(nettle_camellia_set_decrypt_key, vFpp)
+//DATA(nettle_camellia128, 
+GO(nettle_camellia128_crypt, vFpLpp)
+GO(nettle_camellia128_invert_key, vFpp)
+GO(nettle_camellia128_set_decrypt_key, vFpp)
+GO(nettle_camellia128_set_encrypt_key, vFpp)
+//DATA(nettle_camellia192, 
+GO(nettle_camellia192_set_decrypt_key, vFpp)
+GO(nettle_camellia192_set_encrypt_key, vFpp)
+//DATA(nettle_camellia256, 
+GO(nettle_camellia256_crypt, vFpLpp)
+GO(nettle_camellia256_invert_key, vFpp)
+GO(nettle_camellia256_set_decrypt_key, vFpp)
+GO(nettle_camellia256_set_encrypt_key, vFpp)
+//DATA(nettle_cast128, 
+GO(nettle_cast128_decrypt, vFpLpp)
+//GO(nettle_cast128_encrypt, 
+GO(nettle_cast128_set_key, vFpp)
+GO(nettle_cast5_set_key, vFpLp)
+GO(nettle_cbc_aes128_encrypt, vFppLpp)
+GO(nettle_cbc_aes192_encrypt, vFppLpp)
+GO(nettle_cbc_aes256_encrypt, vFppLpp)
+GOM(nettle_cbc_decrypt, vFEppLpLpp)
+GOM(nettle_cbc_encrypt, vFEppLpLpp)
+GO(nettle_ccm_aes128_decrypt, vFpLpp)
+GO(nettle_ccm_aes128_decrypt_message, iFpLpLpLLpp)
+GO(nettle_ccm_aes128_digest, vFpLp)
+//GO(nettle_ccm_aes128_encrypt, 
+GO(nettle_ccm_aes128_encrypt_message, vFpLpLpLLpp)
+GO(nettle_ccm_aes128_set_key, vFpp)
+GO(nettle_ccm_aes128_set_nonce, vFpLpLLL)
+GO(nettle_ccm_aes128_update, vFpLp)
+GO(nettle_ccm_aes192_decrypt, vFpLpp)
+GO(nettle_ccm_aes192_decrypt_message, iFpLpLpLLpp)
+GO(nettle_ccm_aes192_digest, vFpLp)
+//GO(nettle_ccm_aes192_encrypt, 
+GO(nettle_ccm_aes192_encrypt_message, vFpLpLpLLpp)
+GO(nettle_ccm_aes192_set_key, vFpp)
+GO(nettle_ccm_aes192_set_nonce, vFpLpLLL)
+GO(nettle_ccm_aes192_update, vFpLp)
+GO(nettle_ccm_aes256_decrypt, vFpLpp)
+GO(nettle_ccm_aes256_decrypt_message, iFpLpLpLLpp)
+GO(nettle_ccm_aes256_digest, vFpLp)
+//GO(nettle_ccm_aes256_encrypt, 
+GO(nettle_ccm_aes256_encrypt_message, vFpLpLpLLpp)
+GO(nettle_ccm_aes256_set_key, vFpp)
+GO(nettle_ccm_aes256_set_nonce, vFpLpLLL)
+GO(nettle_ccm_aes256_update, vFpLp)
+//GO(nettle_ccm_decrypt, 
+GOM(nettle_ccm_decrypt_message, iFEppLpLpLLpp)
+//GO(nettle_ccm_digest, 
+//GO(nettle_ccm_encrypt, 
+GOM(nettle_ccm_encrypt_message,vFEppLpLpLLpp)
+//GO(nettle_ccm_set_nonce, 
+//GO(nettle_ccm_update, 
+GOM(nettle_cfb8_decrypt, vFEppLpLpp)
+GOM(nettle_cfb8_encrypt, vFEppLpLpp)
+GOM(nettle_cfb_decrypt, vFEppLpLpp)
+GOM(nettle_cfb_encrypt, vFEppLpLpp)
+//GO(_nettle_chacha_2core, 
+//GO(_nettle_chacha_2core32, 
+//GO(_nettle_chacha_4core, 
+//GO(_nettle_chacha_4core32, 
+//GO(_nettle_chacha_core, 
 GO(nettle_chacha_crypt, vFpipp)
+GO(nettle_chacha_crypt32, vFpLpp)
+//DATA(nettle_chacha_poly1305, 
+GO(nettle_chacha_poly1305_decrypt, vFpLpp)
+GO(nettle_chacha_poly1305_digest, vFpLp)
 GO(nettle_chacha_poly1305_encrypt, vFpipp)
-GO(nettle_chacha_poly1305_decrypt, vFpipp)
-GO(nettle_chacha_poly1305_update, vFpip)
-GO(nettle_chacha_poly1305_digest, vFpip)
 GO(nettle_chacha_poly1305_set_key, vFpp)
-GO(nettle_siv_cmac_aes128_set_key, vFpp)
-GO(nettle_siv_cmac_aes256_set_key, vFpp)
-GO(nettle_streebog256_digest, vFpip)
-GO(nettle_umac128_set_nonce, vFpp)
-GO(nettle_hmac_streebog512_update, vFpip)
-GO(nettle_umac96_set_nonce, vFpp)
-GO(nettle_umac128_digest, vFpip)
-GO(nettle_gosthash94cp_update, vFpip)
-GO(nettle_gosthash94cp_digest, vFpip)
-GO(nettle_sha3_256_update, vFpip)
-GO(nettle_sha3_256_digest, vFpip)
-GO(nettle_hmac_sha1_set_key, vFpip)
-GO(nettle_hmac_sha512_set_key, vFpip)
-GO(nettle_cmac_aes128_digest, vFpip)
+GO(nettle_chacha_poly1305_set_nonce, vFpp)
+GO(nettle_chacha_poly1305_update, vFpLp)
+GO(nettle_chacha_set_counter, vFpp)
+GO(nettle_chacha_set_counter32, vFpp)
+GO(nettle_chacha_set_key, vFpp)
+GO(nettle_chacha_set_nonce, vFpp)
+GO(nettle_chacha_set_nonce96, vFpp)
+//DATA(_nettle_ciphers, 
+GOM(nettle_cmac128_digest, vFEppppup)
+GO(nettle_cmac128_init,vFp)
+GOM(nettle_cmac128_set_key, vFEppp)
+GOM(nettle_cmac128_update, vFEpppLp)
+GOM(nettle_cmac64_digest, vFEppppup)
+GO(nettle_cmac64_init, vFp)
+GOM(nettle_cmac64_set_key, vFEppp)
+GOM(nettle_cmac64_update, vFEpppLp)
+//DATA(nettle_cmac_aes128, 
+GO(nettle_cmac_aes128_digest, vFpLp)
+GO(nettle_cmac_aes128_set_key, vFpp)
+GO(nettle_cmac_aes128_update, vFpLp)
+//DATA(nettle_cmac_aes256, 
+GO(nettle_cmac_aes256_digest, vFpLp)
+GO(nettle_cmac_aes256_set_key, vFpp)
+GO(nettle_cmac_aes256_update, vFpLp)
+//DATA(nettle_cmac_des3, 
+GO(nettle_cmac_des3_digest, vFpLp)
+GO(nettle_cmac_des3_set_key, vFpp)
+GO(nettle_cmac_des3_update, vFpLp)
+GO(nettle_cnd_memcpy, vFippL)
+GOM(nettle_ctr_crypt, vFEppLpLpp)
+//GO(_nettle_ctr_crypt16, 
+GO(nettle_des_check_parity, iFLp)
+GO(nettle_des_decrypt, vFpLpp)
+GO(nettle_des_encrypt, vFpipp)
+GO(nettle_des_fix_parity, vFLpp)
+GO(nettle_des_set_key, iFpp)
+GO(nettle_des3_decrypt, vFpLpp)
+GO(nettle_des3_encrypt, vFpipp)
+GO(nettle_des3_set_key, iFpp)
+GO(nettle_drbg_ctr_aes256_init, vFpp)
+GO(nettle_drbg_ctr_aes256_random, vFpLp)
+//DATA(nettle_eax_aes128, 
+GO(nettle_eax_aes128_decrypt, vFpLpp)
+GO(nettle_eax_aes128_digest, vFpLp)
+//GO(nettle_eax_aes128_encrypt, 
+GO(nettle_eax_aes128_set_key, vFpp)
+//GO(nettle_eax_aes128_set_nonce, 
+GO(nettle_eax_aes128_update, vFpLp)
+//GO(nettle_eax_decrypt, 
+//GO(nettle_eax_digest, 
+//GO(nettle_eax_encrypt, 
+//GO(nettle_eax_set_key, 
+//GO(nettle_eax_set_nonce, 
+//GO(nettle_eax_update, 
+//DATA(nettle_gcm_aes128, 
+GO(nettle_gcm_aes128_decrypt, vFpLpp)
+GO(nettle_gcm_aes128_digest, vFpLp)
+//GO(nettle_gcm_aes128_encrypt, 
+GO(nettle_gcm_aes128_set_iv, vFpLp)
+GO(nettle_gcm_aes128_set_key, vFpp)
+GO(nettle_gcm_aes128_update, vFpip)
+//DATA(nettle_gcm_aes192, 
+GO(nettle_gcm_aes192_decrypt, vFpLpp)
+GO(nettle_gcm_aes192_digest, vFpLp)
+//GO(nettle_gcm_aes192_encrypt, 
+GO(nettle_gcm_aes192_set_iv, vFpLp)
+GO(nettle_gcm_aes192_set_key, vFpp)
+GO(nettle_gcm_aes192_update, vFpip)
+//DATA(nettle_gcm_aes256, 
+GO(nettle_gcm_aes256_decrypt, vFpLpp)
+GO(nettle_gcm_aes256_digest, vFpLp)
+//GO(nettle_gcm_aes256_encrypt, 
+GO(nettle_gcm_aes256_set_iv, vFpLp)
+GO(nettle_gcm_aes256_set_key, vFpp)
+GO(nettle_gcm_aes256_update, vFpip)
+GO(nettle_gcm_aes_decrypt, vFpLpp)
+GO(nettle_gcm_aes_digest, vFpLp)
+//GO(nettle_gcm_aes_encrypt, 
+//GO(nettle_gcm_aes_set_iv, 
+//GO(nettle_gcm_aes_set_key, 
+GO(nettle_gcm_aes_update, vFpLp)
+//DATA(nettle_gcm_camellia128, 
+GO(nettle_gcm_camellia128_decrypt, vFpLpp)
+GO(nettle_gcm_camellia128_digest, vFpLp)
+//GO(nettle_gcm_camellia128_encrypt, 
+GO(nettle_gcm_camellia128_set_iv, vFpip)
+GO(nettle_gcm_camellia128_set_key, vFpp)
+GO(nettle_gcm_camellia128_update, vFpLp)
+//DATA(nettle_gcm_camellia256, 
+GO(nettle_gcm_camellia256_decrypt, vFpLpp)
+GO(nettle_gcm_camellia256_digest, vFpLp)
+//GO(nettle_gcm_camellia256_encrypt, 
+GO(nettle_gcm_camellia256_set_iv, vFpip)
+GO(nettle_gcm_camellia256_set_key, vFpp)
+GO(nettle_gcm_camellia256_update, vFpLp)
+GOM(nettle_gcm_decrypt, vFEppppLpp)
+GOM(nettle_gcm_digest, vFEppppLp)
+GOM(nettle_gcm_encrypt, vFEppppLpp)
+GO(nettle_gcm_set_iv, vFppLp)
+GOM(nettle_gcm_set_key, vFEppp)
+//DATA(nettle_gcm_sm4, 
+GO(nettle_gcm_sm4_decrypt, vFpLpp)
+GO(nettle_gcm_sm4_digest, vFpLp)
+//GO(nettle_gcm_sm4_encrypt, 
+//GO(nettle_gcm_sm4_set_iv, 
+GO(nettle_gcm_sm4_set_key, vFpp)
+GO(nettle_gcm_sm4_update, vFpLp)
+GO(nettle_gcm_update,vFppLp)
+GO(nettle_get_aeads, pFv)
+GO(nettle_get_armors, pFv)
+GO(nettle_get_ciphers, pFv)
+GO(nettle_get_hashes, pFv)
+GO(nettle_get_macs, pFv)
+//GO(_nettle_ghash_set_key, 
+//GO(_nettle_ghash_set_key_c, 
+//GO(_nettle_ghash_update, 
+//GO(_nettle_ghash_update_c, 
+//GO(_nettle_gost28147_encrypt_block, 
+//DATA(nettle_gosthash94, 
+GO(nettle_gosthash94cp_digest, vFpLp)
+GO(nettle_gosthash94cp_update, vFpLp)
+//GO(nettle_gosthash94_digest, 
+GO(nettle_gosthash94_init, vFp)
+//GO(nettle_gosthash94_update, 
+//DATA(_nettle_hashes, 
+GOM(nettle_hkdf_expand, vFEpppLLpLp)
+GOM(nettle_hkdf_extract, vFEpppLLpp)
+GO(nettle_hmac_digest, vFppppLp)
+GO(nettle_hmac_gosthash94cp_digest, vFpLp)
+GO(nettle_hmac_gosthash94cp_set_key, vFpip)
+GO(nettle_hmac_gosthash94cp_update, vFpLp)
+GO(nettle_hmac_gosthash94_digest, vFpLp)
+//GO(nettle_hmac_gosthash94_set_key, 
+GO(nettle_hmac_gosthash94_update, vFpLp)
+//DATA(nettle_hmac_md5, 
+GO(nettle_hmac_md5_digest, vFpLp)
 GO(nettle_hmac_md5_set_key, vFpip)
-GO(nettle_md5_update, vFpip)
-GO(nettle_sha3_384_update, vFpip)
-GO(nettle_sha1_update, vFpip)
-GO(nettle_hmac_sha384_digest, vFpip)
-GO(nettle_hmac_sha224_digest, vFpip)
-GO(nettle_hmac_sha1_digest, vFpip)
-GO(nettle_sha3_384_digest, vFpip)
-GO(nettle_sha3_224_update, vFpip)
-GO(nettle_sha3_512_update, vFpip)
-GO(nettle_cmac_aes256_digest, vFpip)
-GO(nettle_umac96_update, vFpip)
+GO(nettle_hmac_md5_update, vFpLp)
+//DATA(nettle_hmac_ripemd160, 
+GO(nettle_hmac_ripemd160_digest, vFpLp)
+//GO(nettle_hmac_ripemd160_set_key, 
+GO(nettle_hmac_ripemd160_update, vFpLp)
+GO(nettle_hmac_set_key, vFppppLp)
+//DATA(nettle_hmac_sha1, 
+GO(nettle_hmac_sha1_digest, vFpLp)
+GO(nettle_hmac_sha1_set_key, vFpip)
+GO(nettle_hmac_sha1_update, vFpLp)
+//DATA(nettle_hmac_sha224, 
+GO(nettle_hmac_sha224_digest, vFpLp)
+GO(nettle_hmac_sha224_set_key, vFpLp)
+//DATA(nettle_hmac_sha256, 
 GO(nettle_hmac_sha256_digest, vFpip)
-GO(nettle_hmac_streebog512_digest, vFpip)
-GO(nettle_cmac_aes128_update, vFpip)
-GO(nettle_sha512_update, vFpip)
-GO(nettle_sha3_512_digest, vFpip)
-GO(nettle_hmac_gosthash94cp_digest, vFpip)
-GO(nettle_md2_digest, vFpip)
-GO(nettle_umac128_update, vFpip)
-GO(nettle_hmac_md5_digest, vFpip)
-GO(nettle_streebog512_digest, vFpip)
-GO(nettle_hmac_sha1_update, vFpip)
-GO(nettle_cmac_aes256_update, vFpip)
 GO(nettle_hmac_sha256_set_key, vFpip)
 GO(nettle_hmac_sha256_update, vFpip)
-GO(nettle_md5_digest, vFpip)
-GO(nettle_umac96_digest, vFpip)
-GO(nettle_hmac_streebog512_set_key, vFpip)
-GO(nettle_hmac_streebog256_set_key, vFpip)
-GO(nettle_sha3_224_digest, vFpip)
+//DATA(nettle_hmac_sha384, 
+GO(nettle_hmac_sha384_digest, vFpLp)
+GO(nettle_hmac_sha384_set_key, vFpLp)
+//DATA(nettle_hmac_sha512, 
 GO(nettle_hmac_sha512_digest, vFpip)
-GO(nettle_hmac_gosthash94cp_update, vFpip)
-GO(nettle_streebog512_update, vFpip)
+GO(nettle_hmac_sha512_set_key, vFpip)
 GO(nettle_hmac_sha512_update, vFpip)
-GO(nettle_hmac_md5_update, vFpip)
-GO(nettle_hmac_streebog256_digest, vFpip)
-GO(nettle_md2_update, vFpip)
-GO(nettle_hmac_sha384_set_key, vFpip)
-GO(nettle_hmac_gosthash94cp_set_key, vFpip)
-GO(nettle_hmac_sha224_set_key, vFpip)
-GO(nettle_sha3_384_init, vFp) 
+//DATA(nettle_hmac_sm3, 
+GO(nettle_hmac_sm3_digest, vFpLp)
+//GO(nettle_hmac_sm3_set_key, 
+GO(nettle_hmac_sm3_update, vFpLp)
+//DATA(nettle_hmac_streebog256, 
+GO(nettle_hmac_streebog256_digest, vFpLp)
+GO(nettle_hmac_streebog256_set_key, vFpLp)
+//DATA(nettle_hmac_streebog512, 
+GO(nettle_hmac_streebog512_digest, vFpip)
+GO(nettle_hmac_streebog512_set_key, vFpip)
+GO(nettle_hmac_streebog512_update, vFpip)
+//GO(nettle_hmac_update, 
+GO(nettle_knuth_lfib_get, uFp)
+GO(nettle_knuth_lfib_get_array, vFpLp)
+GO(nettle_knuth_lfib_init, vFpu)
+GO(nettle_knuth_lfib_random, vFpLp)
+//GO(nettle_lookup_hash, 
+//DATA(_nettle_macs, 
+//DATA(nettle_md2, 
+GO(nettle_md2_digest, vFpLp)
+GO(nettle_md2_init, vFp)
+GO(nettle_md2_update, vFpLp)
+//DATA(nettle_md4, 
+GO(nettle_md4_digest, vFpLp)
+GO(nettle_md4_init, vFp)
+GO(nettle_md4_update, vFpLp)
+//DATA(nettle_md5, 
+//GO(nettle_md5_compress, 
+GO(nettle_md5_digest, vFpLp)
+GO(nettle_MD5Final, vFpp)
+GO(nettle_md5_init, vFp)
+GO(nettle_MD5Init, vFp)
+GO(nettle_md5_update, vFpLp)
+GO(nettle_MD5Update, vFppu)
+GO(nettle_memeql_sec, iFppL)
+GO(nettle_memxor, pFppL)
+GO(nettle_memxor3, pFpppL)
+//GO(nettle_nist_keyunwrap16, 
+//GO(nettle_nist_keywrap16, 
+GO(nettle_ocb_aes128_decrypt, vFpppLpp)
+GO(nettle_ocb_aes128_decrypt_message, iFppLpLpLLpp)
+GO(nettle_ocb_aes128_digest, vFppLp)
+GO(nettle_ocb_aes128_encrypt, vFppLpp)
+GO(nettle_ocb_aes128_encrypt_message, vFpLpLpLLpp)
+GO(nettle_ocb_aes128_set_decrypt_key, vFppp)
+GO(nettle_ocb_aes128_set_encrypt_key, vFpp)
+GO(nettle_ocb_aes128_set_nonce, vFppLLp)
+GO(nettle_ocb_aes128_update, vFppLp)
+//GO(nettle_ocb_decrypt, 
+//GO(nettle_ocb_decrypt_message, 
+//GO(nettle_ocb_digest, 
+//GO(nettle_ocb_encrypt, 
+//GO(nettle_ocb_encrypt_message, 
+//GO(nettle_ocb_set_key, 
+//GO(nettle_ocb_set_nonce, 
+//GO(nettle_ocb_update, 
+GOM(nettle_pbkdf2, vFEpppLuLpLp)
+GO(nettle_pbkdf2_hmac_gosthash94cp, vFLpuLpLp)
+//GO(nettle_pbkdf2_hmac_sha1, 
+//GO(nettle_pbkdf2_hmac_sha256, 
+//GO(nettle_pbkdf2_hmac_sha384, 
+//GO(nettle_pbkdf2_hmac_sha512, 
+GO(nettle_poly1305_aes_digest, vFpLp)
+//GO(nettle_poly1305_aes_set_key, 
+GO(nettle_poly1305_aes_set_nonce, vFpp)
+GO(nettle_poly1305_aes_update, vFpLp)
+//GO(_nettle_poly1305_block, 
+//GO(_nettle_poly1305_digest, 
+//GO(_nettle_poly1305_set_key, 
+//GO(_nettle_poly1305_update, 
+//GO(nettle_realloc, 
+//DATA(nettle_ripemd160, 
+//GO(_nettle_ripemd160_compress, 
+GO(nettle_ripemd160_digest, vFpLp)
+GO(nettle_ripemd160_init, vFp)
+GO(nettle_ripemd160_update, vFpLp)
+//GO(nettle_salsa20_128_set_key, 
+GO(nettle_salsa20_256_set_key, vFpp)
+//GO(_nettle_salsa20_core, 
+//GO(_nettle_salsa20_crypt, 
+GO(nettle_salsa20_crypt, vFpipp)
+GO(nettle_salsa20r12_crypt, vFpLpp)
+GO(nettle_salsa20_set_key, vFpLp)
+GO(nettle_salsa20_set_nonce, vFpp)
+//DATA(nettle_serpent128, 
+//GO(nettle_serpent128_set_key, 
+//DATA(nettle_serpent192, 
+//GO(nettle_serpent192_set_key, 
+//DATA(nettle_serpent256, 
+GO(nettle_serpent256_set_key, vFpp)
+GO(nettle_serpent_decrypt, vFpLpp)
+//GO(nettle_serpent_encrypt, 
+GO(nettle_serpent_set_key, vFpLp)
+//DATA(nettle_sha1, 
+GO(nettle_sha1_compress, vFpp)
+//GO(_nettle_sha1_compress_c, 
+GO(nettle_sha1_digest, vFpLp)
+GO(nettle_sha1_init, vFp)
+GO(nettle_sha1_update, vFpLp)
+//DATA(nettle_sha224, 
+GO(nettle_sha224_digest, vFpLp)
+GO(nettle_sha224_init, vFp)
+//DATA(nettle_sha256, 
+//GO(nettle_sha256_compress, 
+//GO(_nettle_sha256_compress_n, 
+//GO(_nettle_sha256_compress_n_c, 
+GO(nettle_sha256_digest, vFpip)
+GO(nettle_sha256_init, vFp)
+GO(nettle_sha256_update, vFpLp)
+GO(nettle_sha3_128_init, vFp)
+//GO(nettle_sha3_128_shake, 
+GO(nettle_sha3_128_shake_output, vFpLp)
+GO(nettle_sha3_128_update, vFpLp)
+//DATA(nettle_sha3_224, 
+GO(nettle_sha3_224_digest, vFpLp)
 GO(nettle_sha3_224_init, vFp)
+GO(nettle_sha3_224_update, vFpLp)
+//DATA(nettle_sha3_256, 
+GO(nettle_sha3_256_digest, vFpip)
+GO(nettle_sha3_256_init, vFp)
+//GO(nettle_sha3_256_shake, 
+GO(nettle_sha3_256_shake_output, vFpLp)
+GO(nettle_sha3_256_update, vFpLp)
+//DATA(nettle_sha3_384, 
+GO(nettle_sha3_384_digest, vFpLp)
+GO(nettle_sha3_384_init, vFp) 
+GO(nettle_sha3_384_update, vFpLp)
+//DATA(nettle_sha3_512, 
+GO(nettle_sha3_512_digest, vFpLp)
+GO(nettle_sha3_512_init, vFp)
+GO(nettle_sha3_512_update, vFpLp)
+//DATA(nettle_sha384, 
+GO(nettle_sha384_digest, vFpip)
+GO(nettle_sha384_init, vFp)
+//GO(_nettle_sha3_pad, 
+GO(nettle_sha3_permute, vFp)
+//GO(_nettle_sha3_shake, 
+//GO(_nettle_sha3_shake_output, 
+//GO(_nettle_sha3_update, 
+//DATA(nettle_sha512, 
+//DATA(nettle_sha512_224, 
+//GO(nettle_sha512_224_digest, 
+//GO(nettle_sha512_224_init, 
+//DATA(nettle_sha512_256, 
+GO(nettle_sha512_256_digest, vFpLp)
+GO(nettle_sha512_256_init, vFp)
+//GO(_nettle_sha512_compress, 
+GO(nettle_sha512_compress, vFpp)
+GO(nettle_sha512_digest, vFpip)
+GO(nettle_sha512_init, vFp)
+GO(nettle_sha512_update, vFpLp)
+GO(nettle_siv_cmac_aes128_decrypt_message, iFpLpLpLpp)
+GO(nettle_siv_cmac_aes128_encrypt_message, vFpLpLpLpp)
+GO(nettle_siv_cmac_aes128_set_key, vFpp)
+GO(nettle_siv_cmac_aes256_decrypt_message, iFpLpLpLpp)
+GO(nettle_siv_cmac_aes256_encrypt_message, vFpLpLpLpp)
+GO(nettle_siv_cmac_aes256_set_key, vFpp)
+//GO(nettle_siv_cmac_decrypt_message, 
+//GO(nettle_siv_cmac_encrypt_message, 
+//GO(nettle_siv_cmac_set_key, 
+GO(nettle_siv_gcm_aes128_decrypt_message, iFpLpLpLpp)
+GO(nettle_siv_gcm_aes128_encrypt_message, vFpLpLpLpp)
+GO(nettle_siv_gcm_aes256_decrypt_message, iFpLpLpLpp)
+GO(nettle_siv_gcm_aes256_encrypt_message, vFpLpLpLpp)
+//GO(nettle_siv_gcm_decrypt_message, 
+//GO(nettle_siv_gcm_encrypt_message, 
+//GO(_nettle_siv_ghash_set_key, 
+//GO(_nettle_siv_ghash_update, 
+//DATA(nettle_sm3, 
+GO(nettle_sm3_digest, vFpLp)
+GO(nettle_sm3_init, vFp)
+GO(nettle_sm3_update, vFpLp)
+//DATA(nettle_sm4, 
+GO(nettle_sm4_crypt, vFpLpp)
+GO(nettle_sm4_set_decrypt_key, vFpp)
+//GO(nettle_sm4_set_encrypt_key, 
+//DATA(nettle_streebog256, 
+GO(nettle_streebog256_digest, vFpLp)
+GO(nettle_streebog256_init, vFp)
+//DATA(nettle_streebog512, 
+GO(nettle_streebog512_digest, vFpip)
+GO(nettle_streebog512_init, vFp)
+GO(nettle_streebog512_update, vFpLp)
+//DATA(nettle_twofish128, 
+//GO(nettle_twofish128_set_key, 
+//DATA(nettle_twofish192, 
+//GO(nettle_twofish192_set_key, 
+//DATA(nettle_twofish256, 
+GO(nettle_twofish256_set_key, vFpp)
+GO(nettle_twofish_decrypt, vFpLpp)
+//GO(nettle_twofish_encrypt, 
+GO(nettle_twofish_set_key, vFpLp)
+GO(nettle_umac128_digest, vFpLp)
+GO(nettle_umac128_set_key, vFpp)
+GO(nettle_umac128_set_nonce, vFpp)
+GO(nettle_umac128_update, vFpLp)
+GO(nettle_umac32_digest, vFpLp)
+GO(nettle_umac32_set_key, vFpp)
+//GO(nettle_umac32_set_nonce, 
+GO(nettle_umac32_update, vFpLp)
+GO(nettle_umac64_digest, vFpLp)
+GO(nettle_umac64_set_key, vFpp)
+//GO(nettle_umac64_set_nonce, 
+GO(nettle_umac64_update, vFpLp)
+GO(nettle_umac96_digest, vFpLp)
+GO(nettle_umac96_set_key, vFpp)
+GO(nettle_umac96_set_nonce, vFpp)
+GO(nettle_umac96_update, vFpLp)
+//GO(_nettle_umac_l2, 
+//GO(_nettle_umac_l2_final, 
+//GO(_nettle_umac_l2_init, 
+//GO(_nettle_umac_l3, 
+//GO(_nettle_umac_l3_init, 
+//GO(_nettle_umac_nh, 
+//GO(_nettle_umac_nh_n, 
+//GO(_nettle_umac_poly128, 
+//GO(_nettle_umac_poly64, 
+//GO(_nettle_umac_set_key, 
+//GO(nettle_version_major, 
+//GO(nettle_version_minor, 
+//GO(_nettle_write_be32, 
+//GO(_nettle_write_le32, 
+//GO(_nettle_write_le64, 
+GO(nettle_xrealloc, pFppL)
+GO(nettle_xts_aes128_decrypt_message, vFppLpp)
+GO(nettle_xts_aes128_encrypt_message, vFppLpp)
+GO(nettle_xts_aes128_set_decrypt_key, vFpp)
+GO(nettle_xts_aes128_set_encrypt_key, vFpp)
+GO(nettle_xts_aes256_decrypt_message, vFppLpp)
+GO(nettle_xts_aes256_encrypt_message, vFppLpp)
+GO(nettle_xts_aes256_set_decrypt_key, vFpp)
+GO(nettle_xts_aes256_set_encrypt_key, vFpp)
+//GO(nettle_xts_decrypt_message, 
+//GO(nettle_xts_encrypt_message, 
+//GO(nettle_yarrow256_fast_reseed, 
+GO(nettle_yarrow256_init, vFpup)
+GO(nettle_yarrow256_is_seeded, iFp)
+GO(nettle_yarrow256_needed_sources, uFp)
+GO(nettle_yarrow256_random, vFpLp)
+GO(nettle_yarrow256_seed, vFpLp)
+GO(nettle_yarrow256_slow_reseed, vFp)
+GO(nettle_yarrow256_update, iFpuuLp)
+GO(nettle_yarrow_key_event_estimate, uFpuu)
+GO(nettle_yarrow_key_event_init, vFp)
diff --git a/src/wrapped/wrappedlibtasn1_private.h b/src/wrapped/wrappedlibtasn1_private.h
index 392bf5a5..533304fe 100644
--- a/src/wrapped/wrappedlibtasn1_private.h
+++ b/src/wrapped/wrappedlibtasn1_private.h
@@ -5,14 +5,14 @@ error Meh...
 GO(asn1_array2tree, iFppp)
 GO(asn1_bit_der, iFpppp)
 GO(asn1_check_version, pFp)
-//GO(asn1_copy_node, 
-//GO(asn1_create_element,
+GO(asn1_copy_node, iFupup)
+GO(asn1_create_element, iFupp)
 GO(asn1_decode_simple_ber, iFpLp)
 GO(asn1_decode_simple_der, iFpLp)
 GO(asn1_delete_element, iFp)
 GO(asn1_delete_structure, iFp)
 GO(asn1_delete_structure2, iFpp)
-//GO(asn1_der_coding, 
+GO(asn1_der_coding, iFppppp)
 GO(asn1_der_decoding, iFppip)
 GO(asn1_der_decoding2, iFppip)
 GO(asn1_der_decoding_element, iFppip)
@@ -21,26 +21,26 @@ GO(asn1_der_decoding_startEnd, iFppippp)
 GO(asn1_encode_simple_der, iFppppp)
 //GO(asn1_expand_any_defined_by, 
 //GO(asn1_expand_octet_string,
-//GO(asn1_find_node,
+GO(asn1_find_node,uFup)
 GO(asn1_find_structure_from_oid, iFpp)
 //GO(asn1_get_bit_der, 
 GO(asn1_get_length_ber, iFpip)
 GO(asn1_get_length_der, iFpip)
 //GO(asn1_get_object_id_der, 
 //GO(asn1_get_octet_der,
-//GO(asn1_get_tag_der,
-//GO(asn1_length_der,
-//GO(asn1_number_of_elements,
+GO(asn1_get_tag_der,iFpippp)
+GO(asn1_length_der,vFLpp)
+GO(asn1_number_of_elements,iFppp)
 GO(asn1_object_id_der, iFppp)
 GO(asn1_octet_der, iFpipp)
 //GO(asn1_parser2array, 
 //GO(asn1_parser2tree,
 GO(asn1_perror, vFpi)
 //GO(asn1_print_structure, 
-//GO(asn1_read_node_value,
+GO(asn1_read_node_value,iFpp)
 GO(asn1_read_tag, iFpip)
-//GO(asn1_read_value, 
-//GO(asn1_read_value_type,
+GO(asn1_read_value, iFpppp)
+GO(asn1_read_value_type,iFppppp)
 GO(asn1_strerror, pFi)
-//GO(asn1_write_value,
+GO(asn1_write_value,iFpppi)
 
diff --git a/src/wrapped/wrappedp11kit.c b/src/wrapped/wrappedp11kit.c
index 8808bc4a..d46a3fc1 100644
--- a/src/wrapped/wrappedp11kit.c
+++ b/src/wrapped/wrappedp11kit.c
@@ -6,12 +6,89 @@
 
 #include "wrappedlibs.h"
 
+#include "debug.h"
 #include "wrapper.h"
 #include "bridge.h"
 #include "librarian/library_private.h"
 #include "x64emu.h"
+#include "emu/x64emu_private.h"
+#include "callback.h"
+#include "librarian.h"
+#include "box64context.h"
+#include "emu/x64emu_private.h"
+#include "myalign.h"
 
 const char* p11kitName = "libp11-kit.so.0";
 #define LIBNAME p11kit
 
+#define ADDED_FUNCTIONS()
+
+#include "generated/wrappedp11kittypes.h"
+
+#include "wrappercallback.h"
+
+#define SUPER() \
+GO(0)   \
+GO(1)   \
+GO(2)   \
+GO(3)
+
+// p11_kit_pin_destroy_func
+#define GO(A)   \
+static uintptr_t my_p11_kit_pin_destroy_func_fct_##A = 0;           \
+static void my_p11_kit_pin_destroy_func_##A(void* a)                \
+{                                                                   \
+    RunFunctionFmt(my_p11_kit_pin_destroy_func_fct_##A, "p", a);    \
+}
+SUPER()
+#undef GO
+static void* findp11_kit_pin_destroy_funcFct(void* fct)
+{
+    if(!fct) return fct;
+    if(GetNativeFnc((uintptr_t)fct))  return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if(my_p11_kit_pin_destroy_func_fct_##A == (uintptr_t)fct) return my_p11_kit_pin_destroy_func_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my_p11_kit_pin_destroy_func_fct_##A == 0) {my_p11_kit_pin_destroy_func_fct_##A = (uintptr_t)fct; return my_p11_kit_pin_destroy_func_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for libp11-kit.so.0 p11_kit_pin_destroy_func callback\n");
+    return NULL;
+}
+
+// p11_kit_pin_callback
+#define GO(A)   \
+static uintptr_t my_p11_kit_pin_callback_fct_##A = 0;                                       \
+static void* my_p11_kit_pin_callback_##A(void* a, void* b, void* c, uint32_t d, void* e)    \
+{                                                                                           \
+    return (void*)RunFunctionFmt(my_p11_kit_pin_callback_fct_##A, "pppup", a, b, c, d, e);  \
+}
+SUPER()
+#undef GO
+static void* findp11_kit_pin_callbackFct(void* fct)
+{
+    if(!fct) return fct;
+    if(GetNativeFnc((uintptr_t)fct))  return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if(my_p11_kit_pin_callback_fct_##A == (uintptr_t)fct) return my_p11_kit_pin_callback_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my_p11_kit_pin_callback_fct_##A == 0) {my_p11_kit_pin_callback_fct_##A = (uintptr_t)fct; return my_p11_kit_pin_callback_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for libp11-kit.so.0 p11_kit_pin_callback callback\n");
+    return NULL;
+}
+
+#undef SUPER
+
+EXPORT int my_p11_kit_pin_register_callback(x64emu_t* emu, void* source, void* f, void* data, void* d)
+{
+    return my->p11_kit_pin_register_callback(source, findp11_kit_pin_callbackFct(f), data, findp11_kit_pin_destroy_funcFct(d));
+}
+
+EXPORT void my_p11_kit_pin_unregister_callback(x64emu_t* emu, void* source, void* f, void* data)
+{
+    my->p11_kit_pin_unregister_callback(source, findp11_kit_pin_callbackFct(f), data);
+}
+
 #include "wrappedlib_init.h"
diff --git a/src/wrapped/wrappedp11kit_private.h b/src/wrapped/wrappedp11kit_private.h
index bb848fe0..b8fd5a9e 100644
--- a/src/wrapped/wrappedp11kit_private.h
+++ b/src/wrapped/wrappedp11kit_private.h
@@ -2,6 +2,9 @@
 error Meh...
 #endif
 
+//GO(C_GetFunctionList, LFp)
+//GO(C_GetInterface, LFpppL)
+//GO(C_GetInterfaceList, LFpp)
 GO(p11_kit_be_loud, vFv)
 GO(p11_kit_be_quiet, vFv)
 GO(p11_kit_config_option, pFp)
@@ -9,11 +12,23 @@ GO(p11_kit_finalize_module, vFp)
 GO(p11_kit_finalize_registered, vFv)
 GO(p11_kit_initialize_module, LFp)
 GO(p11_kit_initialize_registered, vFv)
+//GO(p11_kit_iter_add_callback, 
+//GO(p11_kit_iter_add_filter, 
+//GO(p11_kit_iter_begin_with, 
+//GO(p11_kit_iter_begin, 
 GO(p11_kit_iter_destroy_object, LFp)
 GO(p11_kit_iter_free, vFp)
+//GO(p11_kit_iter_get_attributes, 
+//GO(p11_kit_iter_get_kind, 
 GO(p11_kit_iter_get_module, pFp)
+//GO(p11_kit_iter_get_object, 
+//GO(p11_kit_iter_get_session, 
+//GO(p11_kit_iter_get_slot_info, 
+//GO(p11_kit_iter_get_slot, 
+//GO(p11_kit_iter_get_token, 
 GO(p11_kit_iter_keep_session, vFp)
 GO(p11_kit_iter_load_attributes, LFppL)
+//GO(p11_kit_iter_new, 
 GO(p11_kit_iter_next, LFp)
 GO(p11_kit_iter_set_uri, vFpp)
 GO(p11_kit_load_initialize_module, pFp)
@@ -26,3 +41,66 @@ GO(p11_kit_module_get_name, pFp)
 GO(p11_kit_module_initialize, LFp)
 GO(p11_kit_module_load, pFpp)
 GO(p11_kit_module_release, vFp)
+//GO(p11_kit_modules_finalize_and_release, 
+//GO(p11_kit_modules_finalize, 
+//GO(p11_kit_modules_initialize, 
+GO(p11_kit_modules_load_and_initialize, pFi)
+//GO(p11_kit_modules_load, 
+//GO(p11_kit_modules_release, 
+//GO(p11_kit_override_system_files, 
+GO(p11_kit_pin_file_callback, pFpppup)
+GO(p11_kit_pin_get_length, LFp)
+GO(p11_kit_pin_get_value, pFpp)
+//GO(p11_kit_pin_new_for_buffer, 
+GO(p11_kit_pin_new_for_string, pFp)
+//GO(p11_kit_pin_new, 
+//GO(p11_kit_pin_ref, 
+GOM(p11_kit_pin_register_callback, iFEpppp)
+GO(p11_kit_pin_request, vFpppu)
+GO(p11_kit_pin_unref, vFp)
+GOM(p11_kit_pin_unregister_callback, vFEppp)
+//GO(p11_kit_registered_module_to_name, 
+//GO(p11_kit_registered_modules, 
+//GO(p11_kit_registered_name_to_module, 
+//GO(p11_kit_registered_option, 
+//GO(p11_kit_remote_serve_module, 
+//GO(p11_kit_remote_serve_token, 
+//GO(p11_kit_remote_serve_tokens, 
+//GO(p11_kit_set_progname, 
+GO(p11_kit_space_strdup, pFpL)
+GO(p11_kit_space_strlen, LFpL)
+GO(p11_kit_strerror, pFL)
+GO(p11_kit_uri_any_unrecognized, iFp)
+GO(p11_kit_uri_clear_attribute, iFpL)
+//GO(p11_kit_uri_clear_attributes, 
+GO(p11_kit_uri_format, iFpup)
+GO(p11_kit_uri_free, vFp)
+GO(p11_kit_uri_get_attribute, pFpL)
+GO(p11_kit_uri_get_attributes, pFpp)
+GO(p11_kit_uri_get_module_info, pFp)
+//GO(p11_kit_uri_get_module_name, 
+GO(p11_kit_uri_get_module_path, pFp)
+GO(p11_kit_uri_get_pin_source, pFp)
+GO(p11_kit_uri_get_pin_value, pFp)
+//GO(p11_kit_uri_get_pinfile, 
+GO(p11_kit_uri_get_slot_id, LFp)
+GO(p11_kit_uri_get_slot_info, pFp)
+GO(p11_kit_uri_get_token_info, pFp)
+GO(p11_kit_uri_get_vendor_query, pFpp)
+GO(p11_kit_uri_match_attributes, iFppL)
+GO(p11_kit_uri_match_module_info, iFpp)
+GO(p11_kit_uri_match_slot_info, iFpp)
+GO(p11_kit_uri_match_token_info, iFpp)
+GO(p11_kit_uri_message, pFi)
+GO(p11_kit_uri_new, pFv)
+GO(p11_kit_uri_parse, iFpup)
+GO(p11_kit_uri_set_attribute, iFpp)
+GO(p11_kit_uri_set_attributes, iFppL)
+//GO(p11_kit_uri_set_module_name, 
+GO(p11_kit_uri_set_module_path, vFpp)
+//GO(p11_kit_uri_set_pin_source, 
+//GO(p11_kit_uri_set_pin_value, 
+//GO(p11_kit_uri_set_pinfile, 
+GO(p11_kit_uri_set_slot_id, vFpL)
+GO(p11_kit_uri_set_unrecognized, vFpi)
+GO(p11_kit_uri_set_vendor_query, iFppp)