about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2025-09-02 21:20:00 +0200
committerptitSeb <sebastien.chev@gmail.com>2025-09-02 21:20:00 +0200
commit578009cccf0c60f545bc34206f8ed0c091ddc89b (patch)
treece01935f24fe28b623f8391532d51627bb87842e /src
parent94c40d99f61fccdaa95ad4a8081e61a733f6a192 (diff)
downloadbox64-578009cccf0c60f545bc34206f8ed0c091ddc89b.tar.gz
box64-578009cccf0c60f545bc34206f8ed0c091ddc89b.zip
[WRAPPER] Added experimental cuda wrapping
Diffstat (limited to 'src')
-rw-r--r--src/emu/x64printer.c168
-rw-r--r--src/library_list.h2
-rw-r--r--src/wrapped/generated/functions_list.txt97
-rw-r--r--src/wrapped/generated/wrappedcudadefs.h8
-rw-r--r--src/wrapped/generated/wrappedcudatypes.h29
-rw-r--r--src/wrapped/generated/wrappedcudaundefs.h8
-rw-r--r--src/wrapped/generated/wrapper.c318
-rw-r--r--src/wrapped/generated/wrapper.h84
-rw-r--r--src/wrapped/wrappedcuda.c154
-rw-r--r--src/wrapped/wrappedcuda_private.h625
10 files changed, 1493 insertions, 0 deletions
diff --git a/src/emu/x64printer.c b/src/emu/x64printer.c
index d186aa0d..19eef551 100644
--- a/src/emu/x64printer.c
+++ b/src/emu/x64printer.c
@@ -469,12 +469,24 @@ void x64Print(x64emu_t* emu, char* buff, size_t buffsz, const char* func, int ti
         snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ")", tid, *(void**)(R_RSP), func, (void*)R_RDI);
     } else if (w == uFii) {
         snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIi32 ", %" PRIi32 ")", tid, *(void**)(R_RSP), func, (int32_t)R_RDI, (int32_t)R_RSI);
+    } else if (w == uFiu) {
+        snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIi32 ", %" PRIu32 ")", tid, *(void**)(R_RSP), func, (int32_t)R_RDI, (uint32_t)R_RSI);
+    } else if (w == uFip) {
+        snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIi32 ", %" PRIp ")", tid, *(void**)(R_RSP), func, (int32_t)R_RDI, (void*)R_RSI);
     } else if (w == uFui) {
         snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIu32 ", %" PRIi32 ")", tid, *(void**)(R_RSP), func, (uint32_t)R_RDI, (int32_t)R_RSI);
     } else if (w == uFuu) {
         snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIu32 ", %" PRIu32 ")", tid, *(void**)(R_RSP), func, (uint32_t)R_RDI, (uint32_t)R_RSI);
+    } else if (w == uFuL) {
+        snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIu32 ", %" PRIu64 ")", tid, *(void**)(R_RSP), func, (uint32_t)R_RDI, (uintptr_t)R_RSI);
     } else if (w == uFup) {
         snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIu32 ", %" PRIp ")", tid, *(void**)(R_RSP), func, (uint32_t)R_RDI, (void*)R_RSI);
+    } else if (w == uFUi) {
+        snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIu64 ", %" PRIi32 ")", tid, *(void**)(R_RSP), func, (uint64_t)R_RDI, (int32_t)R_RSI);
+    } else if (w == uFUL) {
+        snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIu64 ", %" PRIu64 ")", tid, *(void**)(R_RSP), func, (uint64_t)R_RDI, (uintptr_t)R_RSI);
+    } else if (w == uFUp) {
+        snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIu64 ", %" PRIp ")", tid, *(void**)(R_RSP), func, (uint64_t)R_RDI, (void*)R_RSI);
     } else if (w == uFpw) {
         snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIi16 ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (int16_t)R_RSI);
     } else if (w == uFpi) {
@@ -1161,12 +1173,16 @@ void x64Print(x64emu_t* emu, char* buff, size_t buffsz, const char* func, int ti
         snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (void*)R_RSI);
     } else if (w == uFiuu) {
         snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIi32 ", %" PRIu32 ", %" PRIu32 ")", tid, *(void**)(R_RSP), func, (int32_t)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX);
+    } else if (w == uFiup) {
+        snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIi32 ", %" PRIu32 ", %" PRIp ")", tid, *(void**)(R_RSP), func, (int32_t)R_RDI, (uint32_t)R_RSI, (void*)R_RDX);
     } else if (w == uFilp) {
         snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIi32 ", %" PRIi64 ", %" PRIp ")", tid, *(void**)(R_RSP), func, (int32_t)R_RDI, (intptr_t)R_RSI, (void*)R_RDX);
     } else if (w == uFipu) {
         snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIi32 ", %" PRIp ", %" PRIu32 ")", tid, *(void**)(R_RSP), func, (int32_t)R_RDI, (void*)R_RSI, (uint32_t)R_RDX);
     } else if (w == uFipL) {
         snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIi32 ", %" PRIp ", %" PRIu64 ")", tid, *(void**)(R_RSP), func, (int32_t)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX);
+    } else if (w == uFipp) {
+        snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIi32 ", %" PRIp ", %" PRIp ")", tid, *(void**)(R_RSP), func, (int32_t)R_RDI, (void*)R_RSI, (void*)R_RDX);
     } else if (w == uFuii) {
         snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIu32 ", %" PRIi32 ", %" PRIi32 ")", tid, *(void**)(R_RSP), func, (uint32_t)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX);
     } else if (w == uFuip) {
@@ -1187,10 +1203,22 @@ void x64Print(x64emu_t* emu, char* buff, size_t buffsz, const char* func, int ti
         snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIu32 ", %" PRIp ", %" PRIu64 ")", tid, *(void**)(R_RSP), func, (uint32_t)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX);
     } else if (w == uFupp) {
         snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIu32 ", %" PRIp ", %" PRIp ")", tid, *(void**)(R_RSP), func, (uint32_t)R_RDI, (void*)R_RSI, (void*)R_RDX);
+    } else if (w == uFUCL) {
+        snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIu64 ", %" PRIu8 ", %" PRIu64 ")", tid, *(void**)(R_RSP), func, (uint64_t)R_RDI, (uint8_t)R_RSI, (uintptr_t)R_RDX);
+    } else if (w == uFUWL) {
+        snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIu64 ", %" PRIu16 ", %" PRIu64 ")", tid, *(void**)(R_RSP), func, (uint64_t)R_RDI, (uint16_t)R_RSI, (uintptr_t)R_RDX);
+    } else if (w == uFUuL) {
+        snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIu64 ", %" PRIu32 ", %" PRIu64 ")", tid, *(void**)(R_RSP), func, (uint64_t)R_RDI, (uint32_t)R_RSI, (uintptr_t)R_RDX);
+    } else if (w == uFUUL) {
+        snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIu64 ", %" PRIu64 ", %" PRIu64 ")", tid, *(void**)(R_RSP), func, (uint64_t)R_RDI, (uint64_t)R_RSI, (uintptr_t)R_RDX);
+    } else if (w == uFUpL) {
+        snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIu64 ", %" PRIp ", %" PRIu64 ")", tid, *(void**)(R_RSP), func, (uint64_t)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX);
     } else if (w == uFpii) {
         snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIi32 ", %" PRIi32 ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX);
     } else if (w == uFpiu) {
         snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIi32 ", %" PRIu32 ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (int32_t)R_RSI, (uint32_t)R_RDX);
+    } else if (w == uFpif) {
+        snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIi32 ", %" PRIf ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (int32_t)R_RSI, emu->xmm[0].f[0]);
     } else if (w == uFpip) {
         snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIi32 ", %" PRIp ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (int32_t)R_RSI, (void*)R_RDX);
     } else if (w == uFpCi) {
@@ -1213,8 +1241,14 @@ void x64Print(x64emu_t* emu, char* buff, size_t buffsz, const char* func, int ti
         snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIu32 ", %" PRIu64 ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (uint32_t)R_RSI, (uintptr_t)R_RDX);
     } else if (w == uFpup) {
         snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIu32 ", %" PRIp ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX);
+    } else if (w == uFpUu) {
+        snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIu64 ", %" PRIu32 ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (uint64_t)R_RSI, (uint32_t)R_RDX);
+    } else if (w == uFpUL) {
+        snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIu64 ", %" PRIu64 ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (uint64_t)R_RSI, (uintptr_t)R_RDX);
     } else if (w == uFpfu) {
         snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIf ", %" PRIu32 ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, emu->xmm[0].f[0], (uint32_t)R_RSI);
+    } else if (w == uFpff) {
+        snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIf ", %" PRIf ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, emu->xmm[0].f[0], emu->xmm[1].f[0]);
     } else if (w == uFpli) {
         snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIi64 ", %" PRIi32 ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (intptr_t)R_RSI, (int32_t)R_RDX);
     } else if (w == uFplu) {
@@ -1229,6 +1263,8 @@ void x64Print(x64emu_t* emu, char* buff, size_t buffsz, const char* func, int ti
         snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIi32 ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX);
     } else if (w == uFppu) {
         snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIu32 ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX);
+    } else if (w == uFppU) {
+        snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIu64 ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (void*)R_RSI, (uint64_t)R_RDX);
     } else if (w == uFppL) {
         snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIu64 ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX);
     } else if (w == uFppp) {
@@ -2277,12 +2313,40 @@ void x64Print(x64emu_t* emu, char* buff, size_t buffsz, const char* func, int ti
         snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIi32 ", %" PRIi32 ", %" PRIu32 ", %" PRIu32 ")", tid, *(void**)(R_RSP), func, (int32_t)R_RDI, (int32_t)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX);
     } else if (w == uFifff) {
         snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIi32 ", %" PRIf ", %" PRIf ", %" PRIf ")", tid, *(void**)(R_RSP), func, (int32_t)R_RDI, emu->xmm[0].f[0], emu->xmm[1].f[0], emu->xmm[2].f[0]);
+    } else if (w == uFuipi) {
+        snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIu32 ", %" PRIi32 ", %" PRIp ", %" PRIi32 ")", tid, *(void**)(R_RSP), func, (uint32_t)R_RDI, (int32_t)R_RSI, (void*)R_RDX, (int32_t)R_RCX);
     } else if (w == uFuuuu) {
         snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIu32 ", %" PRIu32 ", %" PRIu32 ", %" PRIu32 ")", tid, *(void**)(R_RSP), func, (uint32_t)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX);
+    } else if (w == uFuppU) {
+        snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIu32 ", %" PRIp ", %" PRIp ", %" PRIu64 ")", tid, *(void**)(R_RSP), func, (uint32_t)R_RDI, (void*)R_RSI, (void*)R_RDX, (uint64_t)R_RCX);
     } else if (w == uFuppd) {
         snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIu32 ", %" PRIp ", %" PRIp ", %" PRIf ")", tid, *(void**)(R_RSP), func, (uint32_t)R_RDI, (void*)R_RSI, (void*)R_RDX, emu->xmm[0].d[0]);
+    } else if (w == uFuppp) {
+        snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIu32 ", %" PRIp ", %" PRIp ", %" PRIp ")", tid, *(void**)(R_RSP), func, (uint32_t)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX);
+    } else if (w == uFUiLL) {
+        snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIu64 ", %" PRIi32 ", %" PRIu64 ", %" PRIu64 ")", tid, *(void**)(R_RSP), func, (uint64_t)R_RDI, (int32_t)R_RSI, (uintptr_t)R_RDX, (uintptr_t)R_RCX);
+    } else if (w == uFUCLp) {
+        snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIu64 ", %" PRIu8 ", %" PRIu64 ", %" PRIp ")", tid, *(void**)(R_RSP), func, (uint64_t)R_RDI, (uint8_t)R_RSI, (uintptr_t)R_RDX, (void*)R_RCX);
+    } else if (w == uFUWLp) {
+        snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIu64 ", %" PRIu16 ", %" PRIu64 ", %" PRIp ")", tid, *(void**)(R_RSP), func, (uint64_t)R_RDI, (uint16_t)R_RSI, (uintptr_t)R_RDX, (void*)R_RCX);
+    } else if (w == uFUuLp) {
+        snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIu64 ", %" PRIu32 ", %" PRIu64 ", %" PRIp ")", tid, *(void**)(R_RSP), func, (uint64_t)R_RDI, (uint32_t)R_RSI, (uintptr_t)R_RDX, (void*)R_RCX);
+    } else if (w == uFUULp) {
+        snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIu64 ", %" PRIu64 ", %" PRIu64 ", %" PRIp ")", tid, *(void**)(R_RSP), func, (uint64_t)R_RDI, (uint64_t)R_RSI, (uintptr_t)R_RDX, (void*)R_RCX);
+    } else if (w == uFULip) {
+        snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIu64 ", %" PRIu64 ", %" PRIi32 ", %" PRIp ")", tid, *(void**)(R_RSP), func, (uint64_t)R_RDI, (uintptr_t)R_RSI, (int32_t)R_RDX, (void*)R_RCX);
+    } else if (w == uFULui) {
+        snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIu64 ", %" PRIu64 ", %" PRIu32 ", %" PRIi32 ")", tid, *(void**)(R_RSP), func, (uint64_t)R_RDI, (uintptr_t)R_RSI, (uint32_t)R_RDX, (int32_t)R_RCX);
+    } else if (w == uFULpL) {
+        snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIu64 ", %" PRIu64 ", %" PRIp ", %" PRIu64 ")", tid, *(void**)(R_RSP), func, (uint64_t)R_RDI, (uintptr_t)R_RSI, (void*)R_RDX, (uintptr_t)R_RCX);
+    } else if (w == uFUpLL) {
+        snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIu64 ", %" PRIp ", %" PRIu64 ", %" PRIu64 ")", tid, *(void**)(R_RSP), func, (uint64_t)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (uintptr_t)R_RCX);
+    } else if (w == uFUpLp) {
+        snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIu64 ", %" PRIp ", %" PRIu64 ", %" PRIp ")", tid, *(void**)(R_RSP), func, (uint64_t)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (void*)R_RCX);
     } else if (w == uFLppp) {
         snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIu64 ", %" PRIp ", %" PRIp ", %" PRIp ")", tid, *(void**)(R_RSP), func, (uintptr_t)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX);
+    } else if (w == uFpiii) {
+        snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIi32 ", %" PRIi32 ", %" PRIi32 ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX);
     } else if (w == uFpiip) {
         snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIi32 ", %" PRIi32 ", %" PRIp ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (void*)R_RCX);
     } else if (w == uFpipu) {
@@ -2293,6 +2357,12 @@ void x64Print(x64emu_t* emu, char* buff, size_t buffsz, const char* func, int ti
         snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIi32 ", %" PRIp ", %" PRIp ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (int32_t)R_RSI, (void*)R_RDX, (void*)R_RCX);
     } else if (w == uFpCCC) {
         snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIu8 ", %" PRIu8 ", %" PRIu8 ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (uint8_t)R_RSI, (uint8_t)R_RDX, (uint8_t)R_RCX);
+    } else if (w == uFpuii) {
+        snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIu32 ", %" PRIi32 ", %" PRIi32 ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (uint32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX);
+    } else if (w == uFpuui) {
+        snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIu32 ", %" PRIu32 ", %" PRIi32 ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (int32_t)R_RCX);
+    } else if (w == uFpuuu) {
+        snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIu32 ", %" PRIu32 ", %" PRIu32 ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX);
     } else if (w == uFpuup) {
         snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIu32 ", %" PRIu32 ", %" PRIp ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (void*)R_RCX);
     } else if (w == uFpupi) {
@@ -2303,20 +2373,48 @@ void x64Print(x64emu_t* emu, char* buff, size_t buffsz, const char* func, int ti
         snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIu32 ", %" PRIp ", %" PRIu64 ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (uintptr_t)R_RCX);
     } else if (w == uFpupp) {
         snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIu32 ", %" PRIp ", %" PRIp ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (void*)R_RCX);
+    } else if (w == uFpUuu) {
+        snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIu64 ", %" PRIu32 ", %" PRIu32 ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (uint64_t)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX);
+    } else if (w == uFpUuU) {
+        snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIu64 ", %" PRIu32 ", %" PRIu64 ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (uint64_t)R_RSI, (uint32_t)R_RDX, (uint64_t)R_RCX);
+    } else if (w == uFpUUu) {
+        snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIu64 ", %" PRIu64 ", %" PRIu32 ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (uint64_t)R_RSI, (uint64_t)R_RDX, (uint32_t)R_RCX);
+    } else if (w == uFpULu) {
+        snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIu64 ", %" PRIu64 ", %" PRIu32 ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (uint64_t)R_RSI, (uintptr_t)R_RDX, (uint32_t)R_RCX);
+    } else if (w == uFpULp) {
+        snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIu64 ", %" PRIu64 ", %" PRIp ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (uint64_t)R_RSI, (uintptr_t)R_RDX, (void*)R_RCX);
     } else if (w == uFplup) {
         snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIi64 ", %" PRIu32 ", %" PRIp ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (intptr_t)R_RSI, (uint32_t)R_RDX, (void*)R_RCX);
+    } else if (w == uFpLUL) {
+        snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIu64 ", %" PRIu64 ", %" PRIu64 ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (uintptr_t)R_RSI, (uint64_t)R_RDX, (uintptr_t)R_RCX);
+    } else if (w == uFpLpU) {
+        snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIu64 ", %" PRIp ", %" PRIu64 ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (uintptr_t)R_RSI, (void*)R_RDX, (uint64_t)R_RCX);
+    } else if (w == uFpLpL) {
+        snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIu64 ", %" PRIp ", %" PRIu64 ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (uintptr_t)R_RSI, (void*)R_RDX, (uintptr_t)R_RCX);
+    } else if (w == uFpLpp) {
+        snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIu64 ", %" PRIp ", %" PRIp ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (uintptr_t)R_RSI, (void*)R_RDX, (void*)R_RCX);
     } else if (w == uFppii) {
         snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIi32 ", %" PRIi32 ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX);
     } else if (w == uFppiu) {
         snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIi32 ", %" PRIu32 ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (uint32_t)R_RCX);
+    } else if (w == uFppiL) {
+        snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIi32 ", %" PRIu64 ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (uintptr_t)R_RCX);
     } else if (w == uFppip) {
         snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIi32 ", %" PRIp ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (void*)R_RCX);
     } else if (w == uFppuu) {
         snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIu32 ", %" PRIu32 ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX);
+    } else if (w == uFppuU) {
+        snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIu32 ", %" PRIu64 ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (uint64_t)R_RCX);
     } else if (w == uFppup) {
         snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIu32 ", %" PRIp ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (void*)R_RCX);
+    } else if (w == uFppUL) {
+        snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIu64 ", %" PRIu64 ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (void*)R_RSI, (uint64_t)R_RDX, (uintptr_t)R_RCX);
     } else if (w == uFpplp) {
         snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIi64 ", %" PRIp ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (void*)R_RSI, (intptr_t)R_RDX, (void*)R_RCX);
+    } else if (w == uFppLu) {
+        snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIu64 ", %" PRIu32 ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (uint32_t)R_RCX);
+    } else if (w == uFppLL) {
+        snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIu64 ", %" PRIu64 ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (uintptr_t)R_RCX);
     } else if (w == uFppLp) {
         snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIu64 ", %" PRIp ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (void*)R_RCX);
     } else if (w == uFpppi) {
@@ -3413,6 +3511,8 @@ void x64Print(x64emu_t* emu, char* buff, size_t buffsz, const char* func, int ti
         snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIi32 ", %" PRIp ", %" PRIp ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (int32_t)R_RSI, (void*)R_RDX, (void*)R_RCX);
     } else if (w == uFEpupp) {
         snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIu32 ", %" PRIp ", %" PRIp ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (void*)R_RCX);
+    } else if (w == uFEpppu) {
+        snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIp ", %" PRIu32 ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uint32_t)R_RCX);
     } else if (w == uFEpppp) {
         snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIp ", %" PRIp ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX);
     } else if (w == uFEpppV) {
@@ -3427,6 +3527,18 @@ void x64Print(x64emu_t* emu, char* buff, size_t buffsz, const char* func, int ti
         snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIi32 ", %" PRIp ", %" PRIu64 ", %" PRIp ", %" PRIp ")", tid, *(void**)(R_RSP), func, (int32_t)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (void*)R_RCX, (void*)R_R8);
     } else if (w == uFuiiii) {
         snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIu32 ", %" PRIi32 ", %" PRIi32 ", %" PRIi32 ", %" PRIi32 ")", tid, *(void**)(R_RSP), func, (uint32_t)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8);
+    } else if (w == uFULCLL) {
+        snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIu64 ", %" PRIu64 ", %" PRIu8 ", %" PRIu64 ", %" PRIu64 ")", tid, *(void**)(R_RSP), func, (uint64_t)R_RDI, (uintptr_t)R_RSI, (uint8_t)R_RDX, (uintptr_t)R_RCX, (uintptr_t)R_R8);
+    } else if (w == uFULWLL) {
+        snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIu64 ", %" PRIu64 ", %" PRIu16 ", %" PRIu64 ", %" PRIu64 ")", tid, *(void**)(R_RSP), func, (uint64_t)R_RDI, (uintptr_t)R_RSI, (uint16_t)R_RDX, (uintptr_t)R_RCX, (uintptr_t)R_R8);
+    } else if (w == uFULuLL) {
+        snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIu64 ", %" PRIu64 ", %" PRIu32 ", %" PRIu64 ", %" PRIu64 ")", tid, *(void**)(R_RSP), func, (uint64_t)R_RDI, (uintptr_t)R_RSI, (uint32_t)R_RDX, (uintptr_t)R_RCX, (uintptr_t)R_R8);
+    } else if (w == uFULULU) {
+        snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIu64 ", %" PRIu64 ", %" PRIu64 ", %" PRIu64 ", %" PRIu64 ")", tid, *(void**)(R_RSP), func, (uint64_t)R_RDI, (uintptr_t)R_RSI, (uint64_t)R_RDX, (uintptr_t)R_RCX, (uint64_t)R_R8);
+    } else if (w == uFULLUU) {
+        snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIu64 ", %" PRIu64 ", %" PRIu64 ", %" PRIu64 ", %" PRIu64 ")", tid, *(void**)(R_RSP), func, (uint64_t)R_RDI, (uintptr_t)R_RSI, (uintptr_t)R_RDX, (uint64_t)R_RCX, (uint64_t)R_R8);
+    } else if (w == uFUpUpL) {
+        snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIu64 ", %" PRIp ", %" PRIu64 ", %" PRIp ", %" PRIu64 ")", tid, *(void**)(R_RSP), func, (uint64_t)R_RDI, (void*)R_RSI, (uint64_t)R_RDX, (void*)R_RCX, (uintptr_t)R_R8);
     } else if (w == uFLpppL) {
         snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIu64 ", %" PRIp ", %" PRIp ", %" PRIp ", %" PRIu64 ")", tid, *(void**)(R_RSP), func, (uintptr_t)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (uintptr_t)R_R8);
     } else if (w == uFpCCCC) {
@@ -3443,6 +3555,20 @@ void x64Print(x64emu_t* emu, char* buff, size_t buffsz, const char* func, int ti
         snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIu32 ", %" PRIp ", %" PRIu32 ", %" PRIu32 ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (uint32_t)R_RCX, (uint32_t)R_R8);
     } else if (w == uFpuppp) {
         snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIu32 ", %" PRIp ", %" PRIp ", %" PRIp ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8);
+    } else if (w == uFpULuU) {
+        snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIu64 ", %" PRIu64 ", %" PRIu32 ", %" PRIu64 ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (uint64_t)R_RSI, (uintptr_t)R_RDX, (uint32_t)R_RCX, (uint64_t)R_R8);
+    } else if (w == uFpLuUL) {
+        snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIu64 ", %" PRIu32 ", %" PRIu64 ", %" PRIu64 ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (uintptr_t)R_RSI, (uint32_t)R_RDX, (uint64_t)R_RCX, (uintptr_t)R_R8);
+    } else if (w == uFpLLUU) {
+        snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIu64 ", %" PRIu64 ", %" PRIu64 ", %" PRIu64 ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (uintptr_t)R_RSI, (uintptr_t)R_RDX, (uint64_t)R_RCX, (uint64_t)R_R8);
+    } else if (w == uFpLpLL) {
+        snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIu64 ", %" PRIp ", %" PRIu64 ", %" PRIu64 ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (uintptr_t)R_RSI, (void*)R_RDX, (uintptr_t)R_RCX, (uintptr_t)R_R8);
+    } else if (w == uFpLpLp) {
+        snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIu64 ", %" PRIp ", %" PRIu64 ", %" PRIp ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (uintptr_t)R_RSI, (void*)R_RDX, (uintptr_t)R_RCX, (void*)R_R8);
+    } else if (w == uFppiui) {
+        snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIi32 ", %" PRIu32 ", %" PRIi32 ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (uint32_t)R_RCX, (int32_t)R_R8);
+    } else if (w == uFppiLu) {
+        snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIi32 ", %" PRIu64 ", %" PRIu32 ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (uintptr_t)R_RCX, (uint32_t)R_R8);
     } else if (w == uFppipp) {
         snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIi32 ", %" PRIp ", %" PRIp ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (void*)R_RCX, (void*)R_R8);
     } else if (w == uFppuup) {
@@ -3453,10 +3579,18 @@ void x64Print(x64emu_t* emu, char* buff, size_t buffsz, const char* func, int ti
         snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIi64 ", %" PRIi32 ", %" PRIp ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (void*)R_RSI, (intptr_t)R_RDX, (int32_t)R_RCX, (void*)R_R8);
     } else if (w == uFpplpp) {
         snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIi64 ", %" PRIp ", %" PRIp ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (void*)R_RSI, (intptr_t)R_RDX, (void*)R_RCX, (void*)R_R8);
+    } else if (w == uFppLLu) {
+        snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIu64 ", %" PRIu64 ", %" PRIu32 ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (uintptr_t)R_RCX, (uint32_t)R_R8);
+    } else if (w == uFppLLp) {
+        snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIu64 ", %" PRIu64 ", %" PRIp ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (uintptr_t)R_RCX, (void*)R_R8);
     } else if (w == uFppLpp) {
         snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIu64 ", %" PRIp ", %" PRIp ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (void*)R_RCX, (void*)R_R8);
     } else if (w == uFpppip) {
         snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIp ", %" PRIi32 ", %" PRIp ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (void*)R_R8);
+    } else if (w == uFpppLU) {
+        snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIp ", %" PRIu64 ", %" PRIu64 ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uintptr_t)R_RCX, (uint64_t)R_R8);
+    } else if (w == uFpppLp) {
+        snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIp ", %" PRIu64 ", %" PRIp ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uintptr_t)R_RCX, (void*)R_R8);
     } else if (w == uFppppL) {
         snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIp ", %" PRIp ", %" PRIu64 ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (uintptr_t)R_R8);
     } else if (w == uFppppp) {
@@ -4413,6 +4547,8 @@ void x64Print(x64emu_t* emu, char* buff, size_t buffsz, const char* func, int ti
         snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIu8 ", %" PRIp ", %" PRIp ", %" PRIp ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (uint8_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8);
     } else if (w == uFEpuppp) {
         snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIu32 ", %" PRIp ", %" PRIp ", %" PRIp ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8);
+    } else if (w == uFEpppLp) {
+        snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIp ", %" PRIu64 ", %" PRIp ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uintptr_t)R_RCX, (void*)R_R8);
     } else if (w == uFipuppp) {
         snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIi32 ", %" PRIp ", %" PRIu32 ", %" PRIp ", %" PRIp ", %" PRIp ")", tid, *(void**)(R_RSP), func, (int32_t)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9);
     } else if (w == uFuuuuuu) {
@@ -4421,6 +4557,16 @@ void x64Print(x64emu_t* emu, char* buff, size_t buffsz, const char* func, int ti
         snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIu32 ", %" PRIp ", %" PRIu32 ", %" PRIu32 ", %" PRIf ", %" PRIp ")", tid, *(void**)(R_RSP), func, (uint32_t)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, emu->xmm[0].f[0], (void*)R_R8);
     } else if (w == uFuppppp) {
         snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIu32 ", %" PRIp ", %" PRIp ", %" PRIp ", %" PRIp ", %" PRIp ")", tid, *(void**)(R_RSP), func, (uint32_t)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9);
+    } else if (w == uFULCLLp) {
+        snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIu64 ", %" PRIu64 ", %" PRIu8 ", %" PRIu64 ", %" PRIu64 ", %" PRIp ")", tid, *(void**)(R_RSP), func, (uint64_t)R_RDI, (uintptr_t)R_RSI, (uint8_t)R_RDX, (uintptr_t)R_RCX, (uintptr_t)R_R8, (void*)R_R9);
+    } else if (w == uFULWLLp) {
+        snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIu64 ", %" PRIu64 ", %" PRIu16 ", %" PRIu64 ", %" PRIu64 ", %" PRIp ")", tid, *(void**)(R_RSP), func, (uint64_t)R_RDI, (uintptr_t)R_RSI, (uint16_t)R_RDX, (uintptr_t)R_RCX, (uintptr_t)R_R8, (void*)R_R9);
+    } else if (w == uFULuLLp) {
+        snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIu64 ", %" PRIu64 ", %" PRIu32 ", %" PRIu64 ", %" PRIu64 ", %" PRIp ")", tid, *(void**)(R_RSP), func, (uint64_t)R_RDI, (uintptr_t)R_RSI, (uint32_t)R_RDX, (uintptr_t)R_RCX, (uintptr_t)R_R8, (void*)R_R9);
+    } else if (w == uFULULLU) {
+        snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIu64 ", %" PRIu64 ", %" PRIu64 ", %" PRIu64 ", %" PRIu64 ", %" PRIu64 ")", tid, *(void**)(R_RSP), func, (uint64_t)R_RDI, (uintptr_t)R_RSI, (uint64_t)R_RDX, (uintptr_t)R_RCX, (uintptr_t)R_R8, (uint64_t)R_R9);
+    } else if (w == uFUpUpLp) {
+        snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIu64 ", %" PRIp ", %" PRIu64 ", %" PRIp ", %" PRIu64 ", %" PRIp ")", tid, *(void**)(R_RSP), func, (uint64_t)R_RDI, (void*)R_RSI, (uint64_t)R_RDX, (void*)R_RCX, (uintptr_t)R_R8, (void*)R_R9);
     } else if (w == uFpiuppu) {
         snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIi32 ", %" PRIu32 ", %" PRIp ", %" PRIp ", %" PRIu32 ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (int32_t)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (void*)R_R8, (uint32_t)R_R9);
     } else if (w == uFpWuipp) {
@@ -4437,6 +4583,8 @@ void x64Print(x64emu_t* emu, char* buff, size_t buffsz, const char* func, int ti
         snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIu32 ", %" PRIu32 ", %" PRIp ", %" PRIp ", %" PRIp ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9);
     } else if (w == uFpupupu) {
         snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIu32 ", %" PRIp ", %" PRIu32 ", %" PRIp ", %" PRIu32 ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (uint32_t)R_RCX, (void*)R_R8, (uint32_t)R_R9);
+    } else if (w == uFpupupp) {
+        snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIu32 ", %" PRIp ", %" PRIu32 ", %" PRIp ", %" PRIp ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (uint32_t)R_RCX, (void*)R_R8, (void*)R_R9);
     } else if (w == uFpupppp) {
         snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIu32 ", %" PRIp ", %" PRIp ", %" PRIp ", %" PRIp ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9);
     } else if (w == uFppuuup) {
@@ -4447,6 +4595,12 @@ void x64Print(x64emu_t* emu, char* buff, size_t buffsz, const char* func, int ti
         snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIu64 ", %" PRIp ", %" PRIu64 ", %" PRIp ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (void*)R_RCX, (uintptr_t)R_R8, (void*)R_R9);
     } else if (w == uFppLppL) {
         snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIu64 ", %" PRIp ", %" PRIp ", %" PRIu64 ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (void*)R_RCX, (void*)R_R8, (uintptr_t)R_R9);
+    } else if (w == uFpppLUL) {
+        snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIp ", %" PRIu64 ", %" PRIu64 ", %" PRIu64 ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uintptr_t)R_RCX, (uint64_t)R_R8, (uintptr_t)R_R9);
+    } else if (w == uFpppLpp) {
+        snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIp ", %" PRIu64 ", %" PRIp ", %" PRIp ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uintptr_t)R_RCX, (void*)R_R8, (void*)R_R9);
+    } else if (w == uFppppLi) {
+        snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIp ", %" PRIp ", %" PRIu64 ", %" PRIi32 ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (uintptr_t)R_R8, (int32_t)R_R9);
     } else if (w == uFpppppi) {
         snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIp ", %" PRIp ", %" PRIp ", %" PRIi32 ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (int32_t)R_R9);
     } else if (w == uFpppppp) {
@@ -5149,6 +5303,8 @@ void x64Print(x64emu_t* emu, char* buff, size_t buffsz, const char* func, int ti
         snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIu32 ", %" PRIi32 ", %" PRIu32 ", %" PRIp ", %" PRIu32 ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (int32_t)R_RCX, (uint32_t)R_R8, (void*)R_R9, *(uint32_t*)(R_RSP + 8));
     } else if (w == uFppuuuup) {
         snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIu32 ", %" PRIu32 ", %" PRIu32 ", %" PRIu32 ", %" PRIp ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (uint32_t)R_R8, (uint32_t)R_R9, *(void**)(R_RSP + 8));
+    } else if (w == uFppppLiu) {
+        snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIp ", %" PRIp ", %" PRIu64 ", %" PRIi32 ", %" PRIu32 ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (uintptr_t)R_R8, (int32_t)R_R9, *(uint32_t*)(R_RSP + 8));
     } else if (w == uFppppppp) {
         snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIp ", %" PRIp ", %" PRIp ", %" PRIp ", %" PRIp ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8));
     } else if (w == LFEppLppU) {
@@ -5611,12 +5767,16 @@ void x64Print(x64emu_t* emu, char* buff, size_t buffsz, const char* func, int ti
         snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIu32 ", %" PRIu32 ", %" PRIp ", %" PRIu32 ", %" PRIp ", %" PRIu32 ", %" PRIu32 ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (uint32_t)R_R8, (void*)R_R9, *(uint32_t*)(R_RSP + 8), *(uint32_t*)(R_RSP + 16));
     } else if (w == uFpupuuuCp) {
         snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIu32 ", %" PRIp ", %" PRIu32 ", %" PRIu32 ", %" PRIu32 ", %" PRIu8 ", %" PRIp ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (uint32_t)R_RCX, (uint32_t)R_R8, (uint32_t)R_R9, *(uint8_t*)(R_RSP + 8), *(void**)(R_RSP + 16));
+    } else if (w == uFpupLpupp) {
+        snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIu32 ", %" PRIp ", %" PRIu64 ", %" PRIp ", %" PRIu32 ", %" PRIp ", %" PRIp ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (uintptr_t)R_RCX, (void*)R_R8, (uint32_t)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16));
     } else if (w == uFppuuuupp) {
         snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIu32 ", %" PRIu32 ", %" PRIu32 ", %" PRIu32 ", %" PRIp ", %" PRIp ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (uint32_t)R_R8, (uint32_t)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16));
     } else if (w == uFppuuuppu) {
         snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIu32 ", %" PRIu32 ", %" PRIu32 ", %" PRIp ", %" PRIp ", %" PRIu32 ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (uint32_t)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(uint32_t*)(R_RSP + 16));
     } else if (w == uFppuppppp) {
         snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIu32 ", %" PRIp ", %" PRIp ", %" PRIp ", %" PRIp ", %" PRIp ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16));
+    } else if (w == uFppppuppu) {
+        snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIp ", %" PRIp ", %" PRIu32 ", %" PRIp ", %" PRIp ", %" PRIu32 ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (uint32_t)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(uint32_t*)(R_RSP + 16));
     } else if (w == uFpppppupp) {
         snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIp ", %" PRIp ", %" PRIp ", %" PRIu32 ", %" PRIp ", %" PRIp ")", tid, *(void**)(R_RSP), func, (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));
     } else if (w == LFELpupupu) {
@@ -6085,6 +6245,8 @@ void x64Print(x64emu_t* emu, char* buff, size_t buffsz, const char* func, int ti
         snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIp ", %" PRIp ", %" PRIp ", %" PRIp ", %" PRIp ", %" PRIi32 ", %" PRIp ", %" PRIi32 ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(int32_t*)(R_RSP + 16), *(void**)(R_RSP + 24), *(int32_t*)(R_RSP + 32));
     } else if (w == iFpppppppppu) {
         snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIp ", %" PRIp ", %" PRIp ", %" PRIp ", %" PRIp ", %" PRIp ", %" PRIp ", %" PRIu32 ")", tid, *(void**)(R_RSP), func, (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), *(uint32_t*)(R_RSP + 32));
+    } else if (w == uFpuuuuuuupp) {
+        snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIu32 ", %" PRIu32 ", %" PRIu32 ", %" PRIu32 ", %" PRIu32 ", %" PRIu32 ", %" PRIu32 ", %" PRIp ", %" PRIp ")", tid, *(void**)(R_RSP), func, (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), *(void**)(R_RSP + 24), *(void**)(R_RSP + 32));
     } else if (w == uFpddpippppp) {
         snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIf ", %" PRIf ", %" PRIp ", %" PRIi32 ", %" PRIp ", %" PRIp ", %" PRIp ", %" PRIp ", %" PRIp ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, emu->xmm[0].d[0], emu->xmm[1].d[0], (void*)R_RSI, (int32_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16));
     } else if (w == uFpppppppppp) {
@@ -6221,6 +6383,8 @@ void x64Print(x64emu_t* emu, char* buff, size_t buffsz, const char* func, int ti
         snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIu64 ", %" PRIu32 ", %" PRIp ", %" PRIp ", %" PRIp ", %" PRIp ", %" PRIu64 ", %" PRIu32 ", %" PRIp ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (uintptr_t)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(uintptr_t*)(R_RSP + 16), *(uint32_t*)(R_RSP + 24), *(void**)(R_RSP + 32));
     } else if (w == uFEppppppuppp) {
         snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIp ", %" PRIp ", %" PRIp ", %" PRIp ", %" PRIu32 ", %" PRIp ", %" PRIp ", %" PRIp ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(uint32_t*)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24), *(void**)(R_RSP + 32));
+    } else if (w == uFpuuuuuuuppp) {
+        snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIu32 ", %" PRIu32 ", %" PRIu32 ", %" PRIu32 ", %" PRIu32 ", %" PRIu32 ", %" PRIu32 ", %" PRIp ", %" PRIp ", %" PRIp ")", tid, *(void**)(R_RSP), func, (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), *(void**)(R_RSP + 24), *(void**)(R_RSP + 32), *(void**)(R_RSP + 40));
     } else if (w == uFppppppppppp) {
         snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIp ", %" PRIp ", %" PRIp ", %" PRIp ", %" PRIp ", %" PRIp ", %" PRIp ", %" PRIp ", %" PRIp ")", tid, *(void**)(R_RSP), func, (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));
     } else if (w == pFEpipppppppi) {
@@ -6291,6 +6455,8 @@ void x64Print(x64emu_t* emu, char* buff, size_t buffsz, const char* func, int ti
         snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIp ", %" PRIi32 ", %" PRIp ", %" PRIi32 ", %" PRIp ", %" PRIi32 ", %" PRIi32 ", %" PRIp ", %" PRIi32 ", %" PRIi32 ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (void*)R_R8, (int32_t)R_R9, *(void**)(R_RSP + 8), *(int32_t*)(R_RSP + 16), *(int32_t*)(R_RSP + 24), *(void**)(R_RSP + 32), *(int32_t*)(R_RSP + 40), *(int32_t*)(R_RSP + 48));
     } else if (w == iFpppppppppppp) {
         snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIp ", %" PRIp ", %" PRIp ", %" PRIp ", %" PRIp ", %" PRIp ", %" PRIp ", %" PRIp ", %" PRIp ", %" PRIp ")", tid, *(void**)(R_RSP), func, (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**)(R_RSP + 48));
+    } else if (w == uFpuupppppuuuu) {
+        snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIu32 ", %" PRIu32 ", %" PRIp ", %" PRIp ", %" PRIp ", %" PRIp ", %" PRIp ", %" PRIu32 ", %" PRIu32 ", %" PRIu32 ", %" PRIu32 ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16), *(uint32_t*)(R_RSP + 24), *(uint32_t*)(R_RSP + 32), *(uint32_t*)(R_RSP + 40), *(uint32_t*)(R_RSP + 48));
     } else if (w == pFEpLiiuuLipii) {
         snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIu64 ", %" PRIi32 ", %" PRIi32 ", %" PRIu32 ", %" PRIu32 ", %" PRIu64 ", %" PRIi32 ", %" PRIp ", %" PRIi32 ", %" PRIi32 ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (uintptr_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (uint32_t)R_R8, (uint32_t)R_R9, *(uintptr_t*)(R_RSP + 8), *(int32_t*)(R_RSP + 16), *(void**)(R_RSP + 24), *(int32_t*)(R_RSP + 32), *(int32_t*)(R_RSP + 40));
     } else if (w == pFEppppppppppp) {
@@ -6377,6 +6543,8 @@ void x64Print(x64emu_t* emu, char* buff, size_t buffsz, const char* func, int ti
         snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIp ", %" PRIi32 ", %" PRIp ", %" PRIp ", %" PRIp ", %" PRIp ", %" PRIp ", %" PRIp ", %" PRIp ", %" PRIp ", %" PRIp ", %" PRIp ", %" PRIp ")", tid, *(void**)(R_RSP), func, (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**)(R_RSP + 40), *(void**)(R_RSP + 48), *(void**)(R_RSP + 56), *(void**)(R_RSP + 64), *(void**)(R_RSP + 72));
     } else if (w == vFppppppppppppppp) {
         snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIp ", %" PRIp ", %" PRIp ", %" PRIp ", %" PRIp ", %" PRIp ", %" PRIp ", %" PRIp ", %" PRIp ", %" PRIp ", %" PRIp ", %" PRIp ", %" PRIp ", %" PRIp ")", tid, *(void**)(R_RSP), func, (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**)(R_RSP + 48), *(void**)(R_RSP + 56), *(void**)(R_RSP + 64), *(void**)(R_RSP + 72));
+    } else if (w == uFpuupppppuupuuuu) {
+        snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIu32 ", %" PRIu32 ", %" PRIp ", %" PRIp ", %" PRIp ", %" PRIp ", %" PRIp ", %" PRIu32 ", %" PRIu32 ", %" PRIp ", %" PRIu32 ", %" PRIu32 ", %" PRIu32 ", %" PRIu32 ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16), *(uint32_t*)(R_RSP + 24), *(uint32_t*)(R_RSP + 32), *(void**)(R_RSP + 40), *(uint32_t*)(R_RSP + 48), *(uint32_t*)(R_RSP + 56), *(uint32_t*)(R_RSP + 64), *(uint32_t*)(R_RSP + 72));
     } else if (w == pFpuiippppppppppp) {
         snprintf(buff, buffsz, "%04d|%p: Calling %s(%" PRIp ", %" PRIu32 ", %" PRIi32 ", %" PRIi32 ", %" PRIp ", %" PRIp ", %" PRIp ", %" PRIp ", %" PRIp ", %" PRIp ", %" PRIp ", %" PRIp ", %" PRIp ", %" PRIp ", %" PRIp ")", tid, *(void**)(R_RSP), func, (void*)R_RDI, (uint32_t)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**)(R_RSP + 24), *(void**)(R_RSP + 32), *(void**)(R_RSP + 40), *(void**)(R_RSP + 48), *(void**)(R_RSP + 56), *(void**)(R_RSP + 64), *(void**)(R_RSP + 72));
     } else if (w == pFppipppppppppppp) {
diff --git a/src/library_list.h b/src/library_list.h
index 3126717a..286f154e 100644
--- a/src/library_list.h
+++ b/src/library_list.h
@@ -195,6 +195,8 @@ GO("libgomp.so.1", gomp)
 GO("libcap.so.2", cap)
 GO("libpcap.so.0.8", pcap)
 GO("libpcap.so.0", pcap)
+GO("libcuda.so.1", cuda)
+GO("libcuda.so", cuda)
 GO("libkrb5.so.3", krb5)
 GO("libgssapi_krb5.so.2", gssapikrb5)
 GO("libgssapi.so.3", gssapi)
diff --git a/src/wrapped/generated/functions_list.txt b/src/wrapped/generated/functions_list.txt
index 4a291c2b..56c893cb 100644
--- a/src/wrapped/generated/functions_list.txt
+++ b/src/wrapped/generated/functions_list.txt
@@ -260,11 +260,17 @@
 #() WFpp
 #() uFEp
 #() uFii
+#() uFiu
+#() uFip
 #() uFiS
 #() uFui
 #() uFuu
+#() uFuL
 #() uFup
 #() uFuS
+#() uFUi
+#() uFUL
+#() uFUp
 #() uFpw
 #() uFpi
 #() uFpC
@@ -650,9 +656,11 @@
 #() uFEpU
 #() uFEpp
 #() uFiuu
+#() uFiup
 #() uFilp
 #() uFipu
 #() uFipL
+#() uFipp
 #() uFuii
 #() uFuip
 #() uFuCC
@@ -664,8 +672,14 @@
 #() uFupL
 #() uFupp
 #() uFuNN
+#() uFUCL
+#() uFUWL
+#() uFUuL
+#() uFUUL
+#() uFUpL
 #() uFpii
 #() uFpiu
+#() uFpif
 #() uFpip
 #() uFpCi
 #() uFpWi
@@ -677,7 +691,10 @@
 #() uFpuU
 #() uFpuL
 #() uFpup
+#() uFpUu
+#() uFpUL
 #() uFpfu
+#() uFpff
 #() uFpli
 #() uFplu
 #() uFpLu
@@ -685,6 +702,7 @@
 #() uFpLp
 #() uFppi
 #() uFppu
+#() uFppU
 #() uFppL
 #() uFppp
 #() uFbWW
@@ -1267,27 +1285,58 @@
 #() uFiiii
 #() uFiiuu
 #() uFifff
+#() uFuipi
 #() uFuuuu
+#() uFuppU
 #() uFuppd
+#() uFuppp
+#() uFUiLL
+#() uFUCLp
+#() uFUWLp
+#() uFUuLp
+#() uFUULp
+#() uFULip
+#() uFULui
+#() uFULpL
+#() uFUpLL
+#() uFUpLp
 #() uFLppp
+#() uFpiii
 #() uFpiip
 #() uFpipu
 #() uFpipL
 #() uFpipp
 #() uFpCCC
+#() uFpuii
+#() uFpuui
+#() uFpuuu
 #() uFpuup
 #() uFpupi
 #() uFpupu
 #() uFpupL
 #() uFpupp
 #() uFpubp
+#() uFpUuu
+#() uFpUuU
+#() uFpUUu
+#() uFpULu
+#() uFpULp
 #() uFplup
+#() uFpLUL
+#() uFpLpU
+#() uFpLpL
+#() uFpLpp
 #() uFppii
 #() uFppiu
+#() uFppiL
 #() uFppip
 #() uFppuu
+#() uFppuU
 #() uFppup
+#() uFppUL
 #() uFpplp
+#() uFppLu
+#() uFppLL
 #() uFppLp
 #() uFpppi
 #() uFpppu
@@ -1881,6 +1930,7 @@
 #() uFEippp
 #() uFEpipp
 #() uFEpupp
+#() uFEpppu
 #() uFEpppp
 #() uFEpppV
 #() uFiuuuu
@@ -1888,6 +1938,12 @@
 #() uFipupp
 #() uFipLpp
 #() uFuiiii
+#() uFULCLL
+#() uFULWLL
+#() uFULuLL
+#() uFULULU
+#() uFULLUU
+#() uFUpUpL
 #() uFLpppL
 #() uFpCCCC
 #() uFpWuip
@@ -1896,13 +1952,24 @@
 #() uFpuupp
 #() uFpupuu
 #() uFpuppp
+#() uFpULuU
+#() uFpLuUL
+#() uFpLLUU
+#() uFpLpLL
+#() uFpLpLp
+#() uFppiui
+#() uFppiLu
 #() uFppipp
 #() uFppuup
 #() uFppupp
 #() uFpplip
 #() uFpplpp
+#() uFppLLu
+#() uFppLLp
 #() uFppLpp
 #() uFpppip
+#() uFpppLU
+#() uFpppLp
 #() uFppppL
 #() uFppppp
 #() uFbuuWW
@@ -2411,10 +2478,16 @@
 #() uFEpippp
 #() uFEpCppp
 #() uFEpuppp
+#() uFEpppLp
 #() uFipuppp
 #() uFuuuuuu
 #() uFupuufp
 #() uFuppppp
+#() uFULCLLp
+#() uFULWLLp
+#() uFULuLLp
+#() uFULULLU
+#() uFUpUpLp
 #() uFpiuppu
 #() uFpWuipp
 #() uFpWuuCp
@@ -2423,11 +2496,15 @@
 #() uFpuuupp
 #() uFpuuppp
 #() uFpupupu
+#() uFpupupp
 #() uFpupppp
 #() uFppuuup
 #() uFppuupu
 #() uFppLpLp
 #() uFppLppL
+#() uFpppLUL
+#() uFpppLpp
+#() uFppppLi
 #() uFpppppi
 #() uFpppppp
 #() uFbippup
@@ -2802,6 +2879,7 @@
 #() uFppiuppp
 #() uFppuiupu
 #() uFppuuuup
+#() uFppppLiu
 #() uFppppppp
 #() uFbuuuwwu
 #() uFbuupwwC
@@ -3052,9 +3130,11 @@
 #() uFulpppppp
 #() uFpuupupuu
 #() uFpupuuuCp
+#() uFpupLpupp
 #() uFppuuuupp
 #() uFppuuuppu
 #() uFppuppppp
+#() uFppppuppu
 #() uFpppppupp
 #() uFbWWWWWWp
 #() UFbCuwwWWu
@@ -3311,6 +3391,7 @@
 #() iFpppppiiuup
 #() iFpppppppipi
 #() iFpppppppppu
+#() uFpuuuuuuupp
 #() uFpddpippppp
 #() uFpppppppppp
 #() UFbCuWCCuuCW
@@ -3386,6 +3467,7 @@
 #() uFEpLuppppLup
 #() uFEpLuppppLuA
 #() uFEppppppuppp
+#() uFpuuuuuuuppp
 #() uFppppppppppp
 #() UFbuuuwwwwWWu
 #() pFEpipppppppi
@@ -3425,6 +3507,7 @@
 #() iFppLlliLppppp
 #() iFpppipipiipii
 #() iFpppppppppppp
+#() uFpuupppppuuuu
 #() UFbCuuWWwwCCup
 #() UFbuuuWWWWWWWW
 #() pFEpLiiuuLipii
@@ -3473,6 +3556,7 @@
 #() vFpUUUUUUUUUUUuuu
 #() vFpppippppppppppp
 #() vFppppppppppppppp
+#() uFpuupppppuupuuuu
 #() pFpuiippppppppppp
 #() pFppipppppppppppp
 #() pFppupppppppppppp
@@ -3679,6 +3763,19 @@ wrappedcrypto3:
   - PEM_write_bio_PrivateKey
   - PEM_write_bio_PrivateKey_traditional
   - PEM_write_bio_RSAPrivateKey
+wrappedcuda:
+- uFpp:
+  - cuGraphHostNodeGetParams
+  - cuGraphHostNodeSetParams
+- uFppp:
+  - cuGraphExecHostNodeSetParams
+  - cuLaunchHostFunc
+  - cuLaunchHostFunc_ptsz
+- uFpppu:
+  - cuStreamAddCallback
+  - cuStreamAddCallback_ptsz
+- uFpppLp:
+  - cuGraphAddHostNode
 wrappedcurl:
 - iFpup:
   - curl_multi_setopt
diff --git a/src/wrapped/generated/wrappedcudadefs.h b/src/wrapped/generated/wrappedcudadefs.h
new file mode 100644
index 00000000..690f8402
--- /dev/null
+++ b/src/wrapped/generated/wrappedcudadefs.h
@@ -0,0 +1,8 @@
+/*******************************************************************
+ * File automatically generated by rebuild_wrappers.py (v2.5.0.24) *
+ *******************************************************************/
+#ifndef __wrappedcudaDEFS_H_
+#define __wrappedcudaDEFS_H_
+
+
+#endif // __wrappedcudaDEFS_H_
diff --git a/src/wrapped/generated/wrappedcudatypes.h b/src/wrapped/generated/wrappedcudatypes.h
new file mode 100644
index 00000000..18d0211a
--- /dev/null
+++ b/src/wrapped/generated/wrappedcudatypes.h
@@ -0,0 +1,29 @@
+/*******************************************************************
+ * File automatically generated by rebuild_wrappers.py (v2.5.0.24) *
+ *******************************************************************/
+#ifndef __wrappedcudaTYPES_H_
+#define __wrappedcudaTYPES_H_
+
+#ifndef LIBNAME
+#error You should only #include this file inside a wrapped*.c file
+#endif
+#ifndef ADDED_FUNCTIONS
+#define ADDED_FUNCTIONS() 
+#endif
+
+typedef uint32_t (*uFpp_t)(void*, void*);
+typedef uint32_t (*uFppp_t)(void*, void*, void*);
+typedef uint32_t (*uFpppu_t)(void*, void*, void*, uint32_t);
+typedef uint32_t (*uFpppLp_t)(void*, void*, void*, uintptr_t, void*);
+
+#define SUPER() ADDED_FUNCTIONS() \
+	GO(cuGraphHostNodeGetParams, uFpp_t) \
+	GO(cuGraphHostNodeSetParams, uFpp_t) \
+	GO(cuGraphExecHostNodeSetParams, uFppp_t) \
+	GO(cuLaunchHostFunc, uFppp_t) \
+	GO(cuLaunchHostFunc_ptsz, uFppp_t) \
+	GO(cuStreamAddCallback, uFpppu_t) \
+	GO(cuStreamAddCallback_ptsz, uFpppu_t) \
+	GO(cuGraphAddHostNode, uFpppLp_t)
+
+#endif // __wrappedcudaTYPES_H_
diff --git a/src/wrapped/generated/wrappedcudaundefs.h b/src/wrapped/generated/wrappedcudaundefs.h
new file mode 100644
index 00000000..219345a0
--- /dev/null
+++ b/src/wrapped/generated/wrappedcudaundefs.h
@@ -0,0 +1,8 @@
+/*******************************************************************
+ * File automatically generated by rebuild_wrappers.py (v2.5.0.24) *
+ *******************************************************************/
+#ifndef __wrappedcudaUNDEFS_H_
+#define __wrappedcudaUNDEFS_H_
+
+
+#endif // __wrappedcudaUNDEFS_H_
diff --git a/src/wrapped/generated/wrapper.c b/src/wrapped/generated/wrapper.c
index d1c7bdc9..0d4450b2 100644
--- a/src/wrapped/generated/wrapper.c
+++ b/src/wrapped/generated/wrapper.c
@@ -304,11 +304,17 @@ typedef uint16_t (*WFpi_t)(void*, int32_t);
 typedef uint16_t (*WFpp_t)(void*, void*);
 typedef uint32_t (*uFEp_t)(x64emu_t*, void*);
 typedef uint32_t (*uFii_t)(int32_t, int32_t);
+typedef uint32_t (*uFiu_t)(int32_t, uint32_t);
+typedef uint32_t (*uFip_t)(int32_t, void*);
 typedef uint32_t (*uFiS_t)(int32_t, void*);
 typedef uint32_t (*uFui_t)(uint32_t, int32_t);
 typedef uint32_t (*uFuu_t)(uint32_t, uint32_t);
+typedef uint32_t (*uFuL_t)(uint32_t, uintptr_t);
 typedef uint32_t (*uFup_t)(uint32_t, void*);
 typedef uint32_t (*uFuS_t)(uint32_t, void*);
+typedef uint32_t (*uFUi_t)(uint64_t, int32_t);
+typedef uint32_t (*uFUL_t)(uint64_t, uintptr_t);
+typedef uint32_t (*uFUp_t)(uint64_t, void*);
 typedef uint32_t (*uFpw_t)(void*, int16_t);
 typedef uint32_t (*uFpi_t)(void*, int32_t);
 typedef uint32_t (*uFpC_t)(void*, uint8_t);
@@ -684,9 +690,11 @@ typedef uint32_t (*uFEpu_t)(x64emu_t*, void*, uint32_t);
 typedef uint32_t (*uFEpU_t)(x64emu_t*, void*, uint64_t);
 typedef uint32_t (*uFEpp_t)(x64emu_t*, void*, void*);
 typedef uint32_t (*uFiuu_t)(int32_t, uint32_t, uint32_t);
+typedef uint32_t (*uFiup_t)(int32_t, uint32_t, void*);
 typedef uint32_t (*uFilp_t)(int32_t, intptr_t, void*);
 typedef uint32_t (*uFipu_t)(int32_t, void*, uint32_t);
 typedef uint32_t (*uFipL_t)(int32_t, void*, uintptr_t);
+typedef uint32_t (*uFipp_t)(int32_t, void*, void*);
 typedef uint32_t (*uFuii_t)(uint32_t, int32_t, int32_t);
 typedef uint32_t (*uFuip_t)(uint32_t, int32_t, void*);
 typedef uint32_t (*uFuCC_t)(uint32_t, uint8_t, uint8_t);
@@ -698,8 +706,14 @@ typedef uint32_t (*uFupU_t)(uint32_t, void*, uint64_t);
 typedef uint32_t (*uFupL_t)(uint32_t, void*, uintptr_t);
 typedef uint32_t (*uFupp_t)(uint32_t, void*, void*);
 typedef uint32_t (*uFuNN_t)(uint32_t, ...);
+typedef uint32_t (*uFUCL_t)(uint64_t, uint8_t, uintptr_t);
+typedef uint32_t (*uFUWL_t)(uint64_t, uint16_t, uintptr_t);
+typedef uint32_t (*uFUuL_t)(uint64_t, uint32_t, uintptr_t);
+typedef uint32_t (*uFUUL_t)(uint64_t, uint64_t, uintptr_t);
+typedef uint32_t (*uFUpL_t)(uint64_t, void*, uintptr_t);
 typedef uint32_t (*uFpii_t)(void*, int32_t, int32_t);
 typedef uint32_t (*uFpiu_t)(void*, int32_t, uint32_t);
+typedef uint32_t (*uFpif_t)(void*, int32_t, float);
 typedef uint32_t (*uFpip_t)(void*, int32_t, void*);
 typedef uint32_t (*uFpCi_t)(void*, uint8_t, int32_t);
 typedef uint32_t (*uFpWi_t)(void*, uint16_t, int32_t);
@@ -711,7 +725,10 @@ typedef uint32_t (*uFpuu_t)(void*, uint32_t, uint32_t);
 typedef uint32_t (*uFpuU_t)(void*, uint32_t, uint64_t);
 typedef uint32_t (*uFpuL_t)(void*, uint32_t, uintptr_t);
 typedef uint32_t (*uFpup_t)(void*, uint32_t, void*);
+typedef uint32_t (*uFpUu_t)(void*, uint64_t, uint32_t);
+typedef uint32_t (*uFpUL_t)(void*, uint64_t, uintptr_t);
 typedef uint32_t (*uFpfu_t)(void*, float, uint32_t);
+typedef uint32_t (*uFpff_t)(void*, float, float);
 typedef uint32_t (*uFpli_t)(void*, intptr_t, int32_t);
 typedef uint32_t (*uFplu_t)(void*, intptr_t, uint32_t);
 typedef uint32_t (*uFpLu_t)(void*, uintptr_t, uint32_t);
@@ -719,6 +736,7 @@ typedef uint32_t (*uFpLL_t)(void*, uintptr_t, uintptr_t);
 typedef uint32_t (*uFpLp_t)(void*, uintptr_t, void*);
 typedef uint32_t (*uFppi_t)(void*, void*, int32_t);
 typedef uint32_t (*uFppu_t)(void*, void*, uint32_t);
+typedef uint32_t (*uFppU_t)(void*, void*, uint64_t);
 typedef uint32_t (*uFppL_t)(void*, void*, uintptr_t);
 typedef uint32_t (*uFppp_t)(void*, void*, void*);
 typedef uint32_t (*uFbWW_t)(void*, uint16_t, uint16_t);
@@ -1296,27 +1314,58 @@ typedef uint32_t (*uFEppp_t)(x64emu_t*, void*, void*, void*);
 typedef uint32_t (*uFiiii_t)(int32_t, int32_t, int32_t, int32_t);
 typedef uint32_t (*uFiiuu_t)(int32_t, int32_t, uint32_t, uint32_t);
 typedef uint32_t (*uFifff_t)(int32_t, float, float, float);
+typedef uint32_t (*uFuipi_t)(uint32_t, int32_t, void*, int32_t);
 typedef uint32_t (*uFuuuu_t)(uint32_t, uint32_t, uint32_t, uint32_t);
+typedef uint32_t (*uFuppU_t)(uint32_t, void*, void*, uint64_t);
 typedef uint32_t (*uFuppd_t)(uint32_t, void*, void*, double);
+typedef uint32_t (*uFuppp_t)(uint32_t, void*, void*, void*);
+typedef uint32_t (*uFUiLL_t)(uint64_t, int32_t, uintptr_t, uintptr_t);
+typedef uint32_t (*uFUCLp_t)(uint64_t, uint8_t, uintptr_t, void*);
+typedef uint32_t (*uFUWLp_t)(uint64_t, uint16_t, uintptr_t, void*);
+typedef uint32_t (*uFUuLp_t)(uint64_t, uint32_t, uintptr_t, void*);
+typedef uint32_t (*uFUULp_t)(uint64_t, uint64_t, uintptr_t, void*);
+typedef uint32_t (*uFULip_t)(uint64_t, uintptr_t, int32_t, void*);
+typedef uint32_t (*uFULui_t)(uint64_t, uintptr_t, uint32_t, int32_t);
+typedef uint32_t (*uFULpL_t)(uint64_t, uintptr_t, void*, uintptr_t);
+typedef uint32_t (*uFUpLL_t)(uint64_t, void*, uintptr_t, uintptr_t);
+typedef uint32_t (*uFUpLp_t)(uint64_t, void*, uintptr_t, void*);
 typedef uint32_t (*uFLppp_t)(uintptr_t, void*, void*, void*);
+typedef uint32_t (*uFpiii_t)(void*, int32_t, int32_t, int32_t);
 typedef uint32_t (*uFpiip_t)(void*, int32_t, int32_t, void*);
 typedef uint32_t (*uFpipu_t)(void*, int32_t, void*, uint32_t);
 typedef uint32_t (*uFpipL_t)(void*, int32_t, void*, uintptr_t);
 typedef uint32_t (*uFpipp_t)(void*, int32_t, void*, void*);
 typedef uint32_t (*uFpCCC_t)(void*, uint8_t, uint8_t, uint8_t);
+typedef uint32_t (*uFpuii_t)(void*, uint32_t, int32_t, int32_t);
+typedef uint32_t (*uFpuui_t)(void*, uint32_t, uint32_t, int32_t);
+typedef uint32_t (*uFpuuu_t)(void*, uint32_t, uint32_t, uint32_t);
 typedef uint32_t (*uFpuup_t)(void*, uint32_t, uint32_t, void*);
 typedef uint32_t (*uFpupi_t)(void*, uint32_t, void*, int32_t);
 typedef uint32_t (*uFpupu_t)(void*, uint32_t, void*, uint32_t);
 typedef uint32_t (*uFpupL_t)(void*, uint32_t, void*, uintptr_t);
 typedef uint32_t (*uFpupp_t)(void*, uint32_t, void*, void*);
 typedef uint32_t (*uFpubp_t)(void*, uint32_t, void*, void*);
+typedef uint32_t (*uFpUuu_t)(void*, uint64_t, uint32_t, uint32_t);
+typedef uint32_t (*uFpUuU_t)(void*, uint64_t, uint32_t, uint64_t);
+typedef uint32_t (*uFpUUu_t)(void*, uint64_t, uint64_t, uint32_t);
+typedef uint32_t (*uFpULu_t)(void*, uint64_t, uintptr_t, uint32_t);
+typedef uint32_t (*uFpULp_t)(void*, uint64_t, uintptr_t, void*);
 typedef uint32_t (*uFplup_t)(void*, intptr_t, uint32_t, void*);
+typedef uint32_t (*uFpLUL_t)(void*, uintptr_t, uint64_t, uintptr_t);
+typedef uint32_t (*uFpLpU_t)(void*, uintptr_t, void*, uint64_t);
+typedef uint32_t (*uFpLpL_t)(void*, uintptr_t, void*, uintptr_t);
+typedef uint32_t (*uFpLpp_t)(void*, uintptr_t, void*, void*);
 typedef uint32_t (*uFppii_t)(void*, void*, int32_t, int32_t);
 typedef uint32_t (*uFppiu_t)(void*, void*, int32_t, uint32_t);
+typedef uint32_t (*uFppiL_t)(void*, void*, int32_t, uintptr_t);
 typedef uint32_t (*uFppip_t)(void*, void*, int32_t, void*);
 typedef uint32_t (*uFppuu_t)(void*, void*, uint32_t, uint32_t);
+typedef uint32_t (*uFppuU_t)(void*, void*, uint32_t, uint64_t);
 typedef uint32_t (*uFppup_t)(void*, void*, uint32_t, void*);
+typedef uint32_t (*uFppUL_t)(void*, void*, uint64_t, uintptr_t);
 typedef uint32_t (*uFpplp_t)(void*, void*, intptr_t, void*);
+typedef uint32_t (*uFppLu_t)(void*, void*, uintptr_t, uint32_t);
+typedef uint32_t (*uFppLL_t)(void*, void*, uintptr_t, uintptr_t);
 typedef uint32_t (*uFppLp_t)(void*, void*, uintptr_t, void*);
 typedef uint32_t (*uFpppi_t)(void*, void*, void*, int32_t);
 typedef uint32_t (*uFpppu_t)(void*, void*, void*, uint32_t);
@@ -1909,6 +1958,7 @@ typedef int64_t (*IFppIII_t)(void*, void*, int64_t, int64_t, int64_t);
 typedef uint32_t (*uFEippp_t)(x64emu_t*, int32_t, void*, void*, void*);
 typedef uint32_t (*uFEpipp_t)(x64emu_t*, void*, int32_t, void*, void*);
 typedef uint32_t (*uFEpupp_t)(x64emu_t*, void*, uint32_t, void*, void*);
+typedef uint32_t (*uFEpppu_t)(x64emu_t*, void*, void*, void*, uint32_t);
 typedef uint32_t (*uFEpppp_t)(x64emu_t*, void*, void*, void*, void*);
 typedef uint32_t (*uFEpppV_t)(x64emu_t*, void*, void*, void*, void*);
 typedef uint32_t (*uFiuuuu_t)(int32_t, uint32_t, uint32_t, uint32_t, uint32_t);
@@ -1916,6 +1966,12 @@ typedef uint32_t (*uFiuppi_t)(int32_t, uint32_t, void*, void*, int32_t);
 typedef uint32_t (*uFipupp_t)(int32_t, void*, uint32_t, void*, void*);
 typedef uint32_t (*uFipLpp_t)(int32_t, void*, uintptr_t, void*, void*);
 typedef uint32_t (*uFuiiii_t)(uint32_t, int32_t, int32_t, int32_t, int32_t);
+typedef uint32_t (*uFULCLL_t)(uint64_t, uintptr_t, uint8_t, uintptr_t, uintptr_t);
+typedef uint32_t (*uFULWLL_t)(uint64_t, uintptr_t, uint16_t, uintptr_t, uintptr_t);
+typedef uint32_t (*uFULuLL_t)(uint64_t, uintptr_t, uint32_t, uintptr_t, uintptr_t);
+typedef uint32_t (*uFULULU_t)(uint64_t, uintptr_t, uint64_t, uintptr_t, uint64_t);
+typedef uint32_t (*uFULLUU_t)(uint64_t, uintptr_t, uintptr_t, uint64_t, uint64_t);
+typedef uint32_t (*uFUpUpL_t)(uint64_t, void*, uint64_t, void*, uintptr_t);
 typedef uint32_t (*uFLpppL_t)(uintptr_t, void*, void*, void*, uintptr_t);
 typedef uint32_t (*uFpCCCC_t)(void*, uint8_t, uint8_t, uint8_t, uint8_t);
 typedef uint32_t (*uFpWuip_t)(void*, uint16_t, uint32_t, int32_t, void*);
@@ -1924,13 +1980,24 @@ typedef uint32_t (*uFpuuuu_t)(void*, uint32_t, uint32_t, uint32_t, uint32_t);
 typedef uint32_t (*uFpuupp_t)(void*, uint32_t, uint32_t, void*, void*);
 typedef uint32_t (*uFpupuu_t)(void*, uint32_t, void*, uint32_t, uint32_t);
 typedef uint32_t (*uFpuppp_t)(void*, uint32_t, void*, void*, void*);
+typedef uint32_t (*uFpULuU_t)(void*, uint64_t, uintptr_t, uint32_t, uint64_t);
+typedef uint32_t (*uFpLuUL_t)(void*, uintptr_t, uint32_t, uint64_t, uintptr_t);
+typedef uint32_t (*uFpLLUU_t)(void*, uintptr_t, uintptr_t, uint64_t, uint64_t);
+typedef uint32_t (*uFpLpLL_t)(void*, uintptr_t, void*, uintptr_t, uintptr_t);
+typedef uint32_t (*uFpLpLp_t)(void*, uintptr_t, void*, uintptr_t, void*);
+typedef uint32_t (*uFppiui_t)(void*, void*, int32_t, uint32_t, int32_t);
+typedef uint32_t (*uFppiLu_t)(void*, void*, int32_t, uintptr_t, uint32_t);
 typedef uint32_t (*uFppipp_t)(void*, void*, int32_t, void*, void*);
 typedef uint32_t (*uFppuup_t)(void*, void*, uint32_t, uint32_t, void*);
 typedef uint32_t (*uFppupp_t)(void*, void*, uint32_t, void*, void*);
 typedef uint32_t (*uFpplip_t)(void*, void*, intptr_t, int32_t, void*);
 typedef uint32_t (*uFpplpp_t)(void*, void*, intptr_t, void*, void*);
+typedef uint32_t (*uFppLLu_t)(void*, void*, uintptr_t, uintptr_t, uint32_t);
+typedef uint32_t (*uFppLLp_t)(void*, void*, uintptr_t, uintptr_t, void*);
 typedef uint32_t (*uFppLpp_t)(void*, void*, uintptr_t, void*, void*);
 typedef uint32_t (*uFpppip_t)(void*, void*, void*, int32_t, void*);
+typedef uint32_t (*uFpppLU_t)(void*, void*, void*, uintptr_t, uint64_t);
+typedef uint32_t (*uFpppLp_t)(void*, void*, void*, uintptr_t, void*);
 typedef uint32_t (*uFppppL_t)(void*, void*, void*, void*, uintptr_t);
 typedef uint32_t (*uFppppp_t)(void*, void*, void*, void*, void*);
 typedef uint32_t (*uFbuuWW_t)(void*, uint32_t, uint32_t, uint16_t, uint16_t);
@@ -2438,10 +2505,16 @@ typedef uint32_t (*uFEpippi_t)(x64emu_t*, void*, int32_t, void*, void*, int32_t)
 typedef uint32_t (*uFEpippp_t)(x64emu_t*, void*, int32_t, void*, void*, void*);
 typedef uint32_t (*uFEpCppp_t)(x64emu_t*, void*, uint8_t, void*, void*, void*);
 typedef uint32_t (*uFEpuppp_t)(x64emu_t*, void*, uint32_t, void*, void*, void*);
+typedef uint32_t (*uFEpppLp_t)(x64emu_t*, void*, void*, void*, uintptr_t, void*);
 typedef uint32_t (*uFipuppp_t)(int32_t, void*, uint32_t, void*, void*, void*);
 typedef uint32_t (*uFuuuuuu_t)(uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t);
 typedef uint32_t (*uFupuufp_t)(uint32_t, void*, uint32_t, uint32_t, float, void*);
 typedef uint32_t (*uFuppppp_t)(uint32_t, void*, void*, void*, void*, void*);
+typedef uint32_t (*uFULCLLp_t)(uint64_t, uintptr_t, uint8_t, uintptr_t, uintptr_t, void*);
+typedef uint32_t (*uFULWLLp_t)(uint64_t, uintptr_t, uint16_t, uintptr_t, uintptr_t, void*);
+typedef uint32_t (*uFULuLLp_t)(uint64_t, uintptr_t, uint32_t, uintptr_t, uintptr_t, void*);
+typedef uint32_t (*uFULULLU_t)(uint64_t, uintptr_t, uint64_t, uintptr_t, uintptr_t, uint64_t);
+typedef uint32_t (*uFUpUpLp_t)(uint64_t, void*, uint64_t, void*, uintptr_t, void*);
 typedef uint32_t (*uFpiuppu_t)(void*, int32_t, uint32_t, void*, void*, uint32_t);
 typedef uint32_t (*uFpWuipp_t)(void*, uint16_t, uint32_t, int32_t, void*, void*);
 typedef uint32_t (*uFpWuuCp_t)(void*, uint16_t, uint32_t, uint32_t, uint8_t, void*);
@@ -2450,11 +2523,15 @@ typedef uint32_t (*uFpuuuup_t)(void*, uint32_t, uint32_t, uint32_t, uint32_t, vo
 typedef uint32_t (*uFpuuupp_t)(void*, uint32_t, uint32_t, uint32_t, void*, void*);
 typedef uint32_t (*uFpuuppp_t)(void*, uint32_t, uint32_t, void*, void*, void*);
 typedef uint32_t (*uFpupupu_t)(void*, uint32_t, void*, uint32_t, void*, uint32_t);
+typedef uint32_t (*uFpupupp_t)(void*, uint32_t, void*, uint32_t, void*, void*);
 typedef uint32_t (*uFpupppp_t)(void*, uint32_t, void*, void*, void*, void*);
 typedef uint32_t (*uFppuuup_t)(void*, void*, uint32_t, uint32_t, uint32_t, void*);
 typedef uint32_t (*uFppuupu_t)(void*, void*, uint32_t, uint32_t, void*, uint32_t);
 typedef uint32_t (*uFppLpLp_t)(void*, void*, uintptr_t, void*, uintptr_t, void*);
 typedef uint32_t (*uFppLppL_t)(void*, void*, uintptr_t, void*, void*, uintptr_t);
+typedef uint32_t (*uFpppLUL_t)(void*, void*, void*, uintptr_t, uint64_t, uintptr_t);
+typedef uint32_t (*uFpppLpp_t)(void*, void*, void*, uintptr_t, void*, void*);
+typedef uint32_t (*uFppppLi_t)(void*, void*, void*, void*, uintptr_t, int32_t);
 typedef uint32_t (*uFpppppi_t)(void*, void*, void*, void*, void*, int32_t);
 typedef uint32_t (*uFpppppp_t)(void*, void*, void*, void*, void*, void*);
 typedef uint32_t (*uFbippup_t)(void*, int32_t, void*, void*, uint32_t, void*);
@@ -2829,6 +2906,7 @@ typedef uint32_t (*uFppiuppi_t)(void*, void*, int32_t, uint32_t, void*, void*, i
 typedef uint32_t (*uFppiuppp_t)(void*, void*, int32_t, uint32_t, void*, void*, void*);
 typedef uint32_t (*uFppuiupu_t)(void*, void*, uint32_t, int32_t, uint32_t, void*, uint32_t);
 typedef uint32_t (*uFppuuuup_t)(void*, void*, uint32_t, uint32_t, uint32_t, uint32_t, void*);
+typedef uint32_t (*uFppppLiu_t)(void*, void*, void*, void*, uintptr_t, int32_t, uint32_t);
 typedef uint32_t (*uFppppppp_t)(void*, void*, void*, void*, void*, void*, void*);
 typedef uint32_t (*uFbuuuwwu_t)(void*, uint32_t, uint32_t, uint32_t, int16_t, int16_t, uint32_t);
 typedef uint32_t (*uFbuupwwC_t)(void*, uint32_t, uint32_t, void*, int16_t, int16_t, uint8_t);
@@ -3079,9 +3157,11 @@ typedef uint32_t (*uFuupuuiuf_t)(uint32_t, uint32_t, void*, uint32_t, uint32_t,
 typedef uint32_t (*uFulpppppp_t)(uint32_t, intptr_t, void*, void*, void*, void*, void*, void*);
 typedef uint32_t (*uFpuupupuu_t)(void*, uint32_t, uint32_t, void*, uint32_t, void*, uint32_t, uint32_t);
 typedef uint32_t (*uFpupuuuCp_t)(void*, uint32_t, void*, uint32_t, uint32_t, uint32_t, uint8_t, void*);
+typedef uint32_t (*uFpupLpupp_t)(void*, uint32_t, void*, uintptr_t, void*, uint32_t, void*, void*);
 typedef uint32_t (*uFppuuuupp_t)(void*, void*, uint32_t, uint32_t, uint32_t, uint32_t, void*, void*);
 typedef uint32_t (*uFppuuuppu_t)(void*, void*, uint32_t, uint32_t, uint32_t, void*, void*, uint32_t);
 typedef uint32_t (*uFppuppppp_t)(void*, void*, uint32_t, void*, void*, void*, void*, void*);
+typedef uint32_t (*uFppppuppu_t)(void*, void*, void*, void*, uint32_t, void*, void*, uint32_t);
 typedef uint32_t (*uFpppppupp_t)(void*, void*, void*, void*, void*, uint32_t, void*, void*);
 typedef uint32_t (*uFbWWWWWWp_t)(void*, uint16_t, uint16_t, uint16_t, uint16_t, uint16_t, uint16_t, void*);
 typedef uint64_t (*UFbCuwwWWu_t)(void*, uint8_t, uint32_t, int16_t, int16_t, uint16_t, uint16_t, uint32_t);
@@ -3337,6 +3417,7 @@ typedef int32_t (*iFpppLLipppp_t)(void*, void*, void*, uintptr_t, uintptr_t, int
 typedef int32_t (*iFpppppiiuup_t)(void*, void*, void*, void*, void*, int32_t, int32_t, uint32_t, uint32_t, void*);
 typedef int32_t (*iFpppppppipi_t)(void*, void*, void*, void*, void*, void*, void*, int32_t, void*, int32_t);
 typedef int32_t (*iFpppppppppu_t)(void*, void*, void*, void*, void*, void*, void*, void*, void*, uint32_t);
+typedef uint32_t (*uFpuuuuuuupp_t)(void*, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, void*, void*);
 typedef uint32_t (*uFpddpippppp_t)(void*, double, double, void*, int32_t, void*, void*, void*, void*, void*);
 typedef uint32_t (*uFpppppppppp_t)(void*, void*, void*, void*, void*, void*, void*, void*, void*, void*);
 typedef uint64_t (*UFbCuWCCuuCW_t)(void*, uint8_t, uint32_t, uint16_t, uint8_t, uint8_t, uint32_t, uint32_t, uint8_t, uint16_t);
@@ -3412,6 +3493,7 @@ typedef uint32_t (*uFEpLuupppLuV_t)(x64emu_t*, void*, uintptr_t, uint32_t, uint3
 typedef uint32_t (*uFEpLuppppLup_t)(x64emu_t*, void*, uintptr_t, uint32_t, void*, void*, void*, void*, uintptr_t, uint32_t, void*);
 typedef uint32_t (*uFEpLuppppLuA_t)(x64emu_t*, void*, uintptr_t, uint32_t, void*, void*, void*, void*, uintptr_t, uint32_t, void*);
 typedef uint32_t (*uFEppppppuppp_t)(x64emu_t*, void*, void*, void*, void*, void*, void*, uint32_t, void*, void*, void*);
+typedef uint32_t (*uFpuuuuuuuppp_t)(void*, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, void*, void*, void*);
 typedef uint32_t (*uFppppppppppp_t)(void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*);
 typedef uint64_t (*UFbuuuwwwwWWu_t)(void*, uint32_t, uint32_t, uint32_t, int16_t, int16_t, int16_t, int16_t, uint16_t, uint16_t, uint32_t);
 typedef void* (*pFEpipppppppi_t)(x64emu_t*, void*, int32_t, void*, void*, void*, void*, void*, void*, void*, int32_t);
@@ -3451,6 +3533,7 @@ typedef int32_t (*iFpLpppppppppp_t)(void*, uintptr_t, void*, void*, void*, void*
 typedef int32_t (*iFppLlliLppppp_t)(void*, void*, uintptr_t, intptr_t, intptr_t, int32_t, uintptr_t, void*, void*, void*, void*, void*);
 typedef int32_t (*iFpppipipiipii_t)(void*, void*, void*, int32_t, void*, int32_t, void*, int32_t, int32_t, void*, int32_t, int32_t);
 typedef int32_t (*iFpppppppppppp_t)(void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*);
+typedef uint32_t (*uFpuupppppuuuu_t)(void*, uint32_t, uint32_t, void*, void*, void*, void*, void*, uint32_t, uint32_t, uint32_t, uint32_t);
 typedef uint64_t (*UFbCuuWWwwCCup_t)(void*, uint8_t, uint32_t, uint32_t, uint16_t, uint16_t, int16_t, int16_t, uint8_t, uint8_t, uint32_t, void*);
 typedef uint64_t (*UFbuuuWWWWWWWW_t)(void*, uint32_t, uint32_t, uint32_t, uint16_t, uint16_t, uint16_t, uint16_t, uint16_t, uint16_t, uint16_t, uint16_t);
 typedef void* (*pFEpLiiuuLipii_t)(x64emu_t*, void*, uintptr_t, int32_t, int32_t, uint32_t, uint32_t, uintptr_t, int32_t, void*, int32_t, int32_t);
@@ -3499,6 +3582,7 @@ typedef void (*vFfffffffffffffff_t)(float, float, float, float, float, float, fl
 typedef void (*vFpUUUUUUUUUUUuuu_t)(void*, uint64_t, uint64_t, uint64_t, uint64_t, uint64_t, uint64_t, uint64_t, uint64_t, uint64_t, uint64_t, uint64_t, uint32_t, uint32_t, uint32_t);
 typedef void (*vFpppippppppppppp_t)(void*, void*, void*, int32_t, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*);
 typedef void (*vFppppppppppppppp_t)(void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*);
+typedef uint32_t (*uFpuupppppuupuuuu_t)(void*, uint32_t, uint32_t, void*, void*, void*, void*, void*, uint32_t, uint32_t, void*, uint32_t, uint32_t, uint32_t, uint32_t);
 typedef void* (*pFpuiippppppppppp_t)(void*, uint32_t, int32_t, int32_t, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*);
 typedef void* (*pFppipppppppppppp_t)(void*, void*, int32_t, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*);
 typedef void* (*pFppupppppppppppp_t)(void*, void*, uint32_t, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*);
@@ -3867,11 +3951,17 @@ void WFpi(x64emu_t *emu, uintptr_t fcn) { WFpi_t fn = (WFpi_t)fcn; R_RAX=(unsign
 void WFpp(x64emu_t *emu, uintptr_t fcn) { WFpp_t fn = (WFpp_t)fcn; R_RAX=(unsigned short)fn((void*)R_RDI, (void*)R_RSI); }
 void uFEp(x64emu_t *emu, uintptr_t fcn) { uFEp_t fn = (uFEp_t)fcn; R_RAX=(uint32_t)fn(emu, (void*)R_RDI); }
 void uFii(x64emu_t *emu, uintptr_t fcn) { uFii_t fn = (uFii_t)fcn; R_RAX=(uint32_t)fn((int32_t)R_RDI, (int32_t)R_RSI); }
+void uFiu(x64emu_t *emu, uintptr_t fcn) { uFiu_t fn = (uFiu_t)fcn; R_RAX=(uint32_t)fn((int32_t)R_RDI, (uint32_t)R_RSI); }
+void uFip(x64emu_t *emu, uintptr_t fcn) { uFip_t fn = (uFip_t)fcn; R_RAX=(uint32_t)fn((int32_t)R_RDI, (void*)R_RSI); }
 void uFiS(x64emu_t *emu, uintptr_t fcn) { uFiS_t fn = (uFiS_t)fcn; R_RAX=(uint32_t)fn((int32_t)R_RDI, io_convert((void*)R_RSI)); }
 void uFui(x64emu_t *emu, uintptr_t fcn) { uFui_t fn = (uFui_t)fcn; R_RAX=(uint32_t)fn((uint32_t)R_RDI, (int32_t)R_RSI); }
 void uFuu(x64emu_t *emu, uintptr_t fcn) { uFuu_t fn = (uFuu_t)fcn; R_RAX=(uint32_t)fn((uint32_t)R_RDI, (uint32_t)R_RSI); }
+void uFuL(x64emu_t *emu, uintptr_t fcn) { uFuL_t fn = (uFuL_t)fcn; R_RAX=(uint32_t)fn((uint32_t)R_RDI, (uintptr_t)R_RSI); }
 void uFup(x64emu_t *emu, uintptr_t fcn) { uFup_t fn = (uFup_t)fcn; R_RAX=(uint32_t)fn((uint32_t)R_RDI, (void*)R_RSI); }
 void uFuS(x64emu_t *emu, uintptr_t fcn) { uFuS_t fn = (uFuS_t)fcn; R_RAX=(uint32_t)fn((uint32_t)R_RDI, io_convert((void*)R_RSI)); }
+void uFUi(x64emu_t *emu, uintptr_t fcn) { uFUi_t fn = (uFUi_t)fcn; R_RAX=(uint32_t)fn((uint64_t)R_RDI, (int32_t)R_RSI); }
+void uFUL(x64emu_t *emu, uintptr_t fcn) { uFUL_t fn = (uFUL_t)fcn; R_RAX=(uint32_t)fn((uint64_t)R_RDI, (uintptr_t)R_RSI); }
+void uFUp(x64emu_t *emu, uintptr_t fcn) { uFUp_t fn = (uFUp_t)fcn; R_RAX=(uint32_t)fn((uint64_t)R_RDI, (void*)R_RSI); }
 void uFpw(x64emu_t *emu, uintptr_t fcn) { uFpw_t fn = (uFpw_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (int16_t)R_RSI); }
 void uFpi(x64emu_t *emu, uintptr_t fcn) { uFpi_t fn = (uFpi_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (int32_t)R_RSI); }
 void uFpC(x64emu_t *emu, uintptr_t fcn) { uFpC_t fn = (uFpC_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uint8_t)R_RSI); }
@@ -4247,9 +4337,11 @@ void uFEpu(x64emu_t *emu, uintptr_t fcn) { uFEpu_t fn = (uFEpu_t)fcn; R_RAX=(uin
 void uFEpU(x64emu_t *emu, uintptr_t fcn) { uFEpU_t fn = (uFEpU_t)fcn; R_RAX=(uint32_t)fn(emu, (void*)R_RDI, (uint64_t)R_RSI); }
 void uFEpp(x64emu_t *emu, uintptr_t fcn) { uFEpp_t fn = (uFEpp_t)fcn; R_RAX=(uint32_t)fn(emu, (void*)R_RDI, (void*)R_RSI); }
 void uFiuu(x64emu_t *emu, uintptr_t fcn) { uFiuu_t fn = (uFiuu_t)fcn; R_RAX=(uint32_t)fn((int32_t)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX); }
+void uFiup(x64emu_t *emu, uintptr_t fcn) { uFiup_t fn = (uFiup_t)fcn; R_RAX=(uint32_t)fn((int32_t)R_RDI, (uint32_t)R_RSI, (void*)R_RDX); }
 void uFilp(x64emu_t *emu, uintptr_t fcn) { uFilp_t fn = (uFilp_t)fcn; R_RAX=(uint32_t)fn((int32_t)R_RDI, (intptr_t)R_RSI, (void*)R_RDX); }
 void uFipu(x64emu_t *emu, uintptr_t fcn) { uFipu_t fn = (uFipu_t)fcn; R_RAX=(uint32_t)fn((int32_t)R_RDI, (void*)R_RSI, (uint32_t)R_RDX); }
 void uFipL(x64emu_t *emu, uintptr_t fcn) { uFipL_t fn = (uFipL_t)fcn; R_RAX=(uint32_t)fn((int32_t)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX); }
+void uFipp(x64emu_t *emu, uintptr_t fcn) { uFipp_t fn = (uFipp_t)fcn; R_RAX=(uint32_t)fn((int32_t)R_RDI, (void*)R_RSI, (void*)R_RDX); }
 void uFuii(x64emu_t *emu, uintptr_t fcn) { uFuii_t fn = (uFuii_t)fcn; R_RAX=(uint32_t)fn((uint32_t)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX); }
 void uFuip(x64emu_t *emu, uintptr_t fcn) { uFuip_t fn = (uFuip_t)fcn; R_RAX=(uint32_t)fn((uint32_t)R_RDI, (int32_t)R_RSI, (void*)R_RDX); }
 void uFuCC(x64emu_t *emu, uintptr_t fcn) { uFuCC_t fn = (uFuCC_t)fcn; R_RAX=(uint32_t)fn((uint32_t)R_RDI, (uint8_t)R_RSI, (uint8_t)R_RDX); }
@@ -4261,8 +4353,14 @@ void uFupU(x64emu_t *emu, uintptr_t fcn) { uFupU_t fn = (uFupU_t)fcn; R_RAX=(uin
 void uFupL(x64emu_t *emu, uintptr_t fcn) { uFupL_t fn = (uFupL_t)fcn; R_RAX=(uint32_t)fn((uint32_t)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX); }
 void uFupp(x64emu_t *emu, uintptr_t fcn) { uFupp_t fn = (uFupp_t)fcn; R_RAX=(uint32_t)fn((uint32_t)R_RDI, (void*)R_RSI, (void*)R_RDX); }
 void uFuNN(x64emu_t *emu, uintptr_t fcn) { uFuNN_t fn = (uFuNN_t)fcn; R_RAX=(uint32_t)fn((uint32_t)R_RDI, (void*)R_RSI, (void*)R_RDX); }
+void uFUCL(x64emu_t *emu, uintptr_t fcn) { uFUCL_t fn = (uFUCL_t)fcn; R_RAX=(uint32_t)fn((uint64_t)R_RDI, (uint8_t)R_RSI, (uintptr_t)R_RDX); }
+void uFUWL(x64emu_t *emu, uintptr_t fcn) { uFUWL_t fn = (uFUWL_t)fcn; R_RAX=(uint32_t)fn((uint64_t)R_RDI, (uint16_t)R_RSI, (uintptr_t)R_RDX); }
+void uFUuL(x64emu_t *emu, uintptr_t fcn) { uFUuL_t fn = (uFUuL_t)fcn; R_RAX=(uint32_t)fn((uint64_t)R_RDI, (uint32_t)R_RSI, (uintptr_t)R_RDX); }
+void uFUUL(x64emu_t *emu, uintptr_t fcn) { uFUUL_t fn = (uFUUL_t)fcn; R_RAX=(uint32_t)fn((uint64_t)R_RDI, (uint64_t)R_RSI, (uintptr_t)R_RDX); }
+void uFUpL(x64emu_t *emu, uintptr_t fcn) { uFUpL_t fn = (uFUpL_t)fcn; R_RAX=(uint32_t)fn((uint64_t)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX); }
 void uFpii(x64emu_t *emu, uintptr_t fcn) { uFpii_t fn = (uFpii_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX); }
 void uFpiu(x64emu_t *emu, uintptr_t fcn) { uFpiu_t fn = (uFpiu_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (int32_t)R_RSI, (uint32_t)R_RDX); }
+void uFpif(x64emu_t *emu, uintptr_t fcn) { uFpif_t fn = (uFpif_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (int32_t)R_RSI, emu->xmm[0].f[0]); }
 void uFpip(x64emu_t *emu, uintptr_t fcn) { uFpip_t fn = (uFpip_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (int32_t)R_RSI, (void*)R_RDX); }
 void uFpCi(x64emu_t *emu, uintptr_t fcn) { uFpCi_t fn = (uFpCi_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uint8_t)R_RSI, (int32_t)R_RDX); }
 void uFpWi(x64emu_t *emu, uintptr_t fcn) { uFpWi_t fn = (uFpWi_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uint16_t)R_RSI, (int32_t)R_RDX); }
@@ -4274,7 +4372,10 @@ void uFpuu(x64emu_t *emu, uintptr_t fcn) { uFpuu_t fn = (uFpuu_t)fcn; R_RAX=(uin
 void uFpuU(x64emu_t *emu, uintptr_t fcn) { uFpuU_t fn = (uFpuU_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (uint64_t)R_RDX); }
 void uFpuL(x64emu_t *emu, uintptr_t fcn) { uFpuL_t fn = (uFpuL_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (uintptr_t)R_RDX); }
 void uFpup(x64emu_t *emu, uintptr_t fcn) { uFpup_t fn = (uFpup_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX); }
+void uFpUu(x64emu_t *emu, uintptr_t fcn) { uFpUu_t fn = (uFpUu_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uint64_t)R_RSI, (uint32_t)R_RDX); }
+void uFpUL(x64emu_t *emu, uintptr_t fcn) { uFpUL_t fn = (uFpUL_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uint64_t)R_RSI, (uintptr_t)R_RDX); }
 void uFpfu(x64emu_t *emu, uintptr_t fcn) { uFpfu_t fn = (uFpfu_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, emu->xmm[0].f[0], (uint32_t)R_RSI); }
+void uFpff(x64emu_t *emu, uintptr_t fcn) { uFpff_t fn = (uFpff_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, emu->xmm[0].f[0], emu->xmm[1].f[0]); }
 void uFpli(x64emu_t *emu, uintptr_t fcn) { uFpli_t fn = (uFpli_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (intptr_t)R_RSI, (int32_t)R_RDX); }
 void uFplu(x64emu_t *emu, uintptr_t fcn) { uFplu_t fn = (uFplu_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (intptr_t)R_RSI, (uint32_t)R_RDX); }
 void uFpLu(x64emu_t *emu, uintptr_t fcn) { uFpLu_t fn = (uFpLu_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (uint32_t)R_RDX); }
@@ -4282,6 +4383,7 @@ void uFpLL(x64emu_t *emu, uintptr_t fcn) { uFpLL_t fn = (uFpLL_t)fcn; R_RAX=(uin
 void uFpLp(x64emu_t *emu, uintptr_t fcn) { uFpLp_t fn = (uFpLp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (void*)R_RDX); }
 void uFppi(x64emu_t *emu, uintptr_t fcn) { uFppi_t fn = (uFppi_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX); }
 void uFppu(x64emu_t *emu, uintptr_t fcn) { uFppu_t fn = (uFppu_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX); }
+void uFppU(x64emu_t *emu, uintptr_t fcn) { uFppU_t fn = (uFppU_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (uint64_t)R_RDX); }
 void uFppL(x64emu_t *emu, uintptr_t fcn) { uFppL_t fn = (uFppL_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX); }
 void uFppp(x64emu_t *emu, uintptr_t fcn) { uFppp_t fn = (uFppp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX); }
 void uFbWW(x64emu_t *emu, uintptr_t fcn) { uFbWW_t fn = (uFbWW_t)fcn; void *aligned_xcb = align_xcb_connection((void*)R_RDI); R_RAX=(uint32_t)fn(aligned_xcb, (uint16_t)R_RSI, (uint16_t)R_RDX); unalign_xcb_connection(aligned_xcb, (void*)R_RDI); }
@@ -4859,27 +4961,58 @@ void uFEppp(x64emu_t *emu, uintptr_t fcn) { uFEppp_t fn = (uFEppp_t)fcn; R_RAX=(
 void uFiiii(x64emu_t *emu, uintptr_t fcn) { uFiiii_t fn = (uFiiii_t)fcn; R_RAX=(uint32_t)fn((int32_t)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX); }
 void uFiiuu(x64emu_t *emu, uintptr_t fcn) { uFiiuu_t fn = (uFiiuu_t)fcn; R_RAX=(uint32_t)fn((int32_t)R_RDI, (int32_t)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX); }
 void uFifff(x64emu_t *emu, uintptr_t fcn) { uFifff_t fn = (uFifff_t)fcn; R_RAX=(uint32_t)fn((int32_t)R_RDI, emu->xmm[0].f[0], emu->xmm[1].f[0], emu->xmm[2].f[0]); }
+void uFuipi(x64emu_t *emu, uintptr_t fcn) { uFuipi_t fn = (uFuipi_t)fcn; R_RAX=(uint32_t)fn((uint32_t)R_RDI, (int32_t)R_RSI, (void*)R_RDX, (int32_t)R_RCX); }
 void uFuuuu(x64emu_t *emu, uintptr_t fcn) { uFuuuu_t fn = (uFuuuu_t)fcn; R_RAX=(uint32_t)fn((uint32_t)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX); }
+void uFuppU(x64emu_t *emu, uintptr_t fcn) { uFuppU_t fn = (uFuppU_t)fcn; R_RAX=(uint32_t)fn((uint32_t)R_RDI, (void*)R_RSI, (void*)R_RDX, (uint64_t)R_RCX); }
 void uFuppd(x64emu_t *emu, uintptr_t fcn) { uFuppd_t fn = (uFuppd_t)fcn; R_RAX=(uint32_t)fn((uint32_t)R_RDI, (void*)R_RSI, (void*)R_RDX, emu->xmm[0].d[0]); }
+void uFuppp(x64emu_t *emu, uintptr_t fcn) { uFuppp_t fn = (uFuppp_t)fcn; R_RAX=(uint32_t)fn((uint32_t)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX); }
+void uFUiLL(x64emu_t *emu, uintptr_t fcn) { uFUiLL_t fn = (uFUiLL_t)fcn; R_RAX=(uint32_t)fn((uint64_t)R_RDI, (int32_t)R_RSI, (uintptr_t)R_RDX, (uintptr_t)R_RCX); }
+void uFUCLp(x64emu_t *emu, uintptr_t fcn) { uFUCLp_t fn = (uFUCLp_t)fcn; R_RAX=(uint32_t)fn((uint64_t)R_RDI, (uint8_t)R_RSI, (uintptr_t)R_RDX, (void*)R_RCX); }
+void uFUWLp(x64emu_t *emu, uintptr_t fcn) { uFUWLp_t fn = (uFUWLp_t)fcn; R_RAX=(uint32_t)fn((uint64_t)R_RDI, (uint16_t)R_RSI, (uintptr_t)R_RDX, (void*)R_RCX); }
+void uFUuLp(x64emu_t *emu, uintptr_t fcn) { uFUuLp_t fn = (uFUuLp_t)fcn; R_RAX=(uint32_t)fn((uint64_t)R_RDI, (uint32_t)R_RSI, (uintptr_t)R_RDX, (void*)R_RCX); }
+void uFUULp(x64emu_t *emu, uintptr_t fcn) { uFUULp_t fn = (uFUULp_t)fcn; R_RAX=(uint32_t)fn((uint64_t)R_RDI, (uint64_t)R_RSI, (uintptr_t)R_RDX, (void*)R_RCX); }
+void uFULip(x64emu_t *emu, uintptr_t fcn) { uFULip_t fn = (uFULip_t)fcn; R_RAX=(uint32_t)fn((uint64_t)R_RDI, (uintptr_t)R_RSI, (int32_t)R_RDX, (void*)R_RCX); }
+void uFULui(x64emu_t *emu, uintptr_t fcn) { uFULui_t fn = (uFULui_t)fcn; R_RAX=(uint32_t)fn((uint64_t)R_RDI, (uintptr_t)R_RSI, (uint32_t)R_RDX, (int32_t)R_RCX); }
+void uFULpL(x64emu_t *emu, uintptr_t fcn) { uFULpL_t fn = (uFULpL_t)fcn; R_RAX=(uint32_t)fn((uint64_t)R_RDI, (uintptr_t)R_RSI, (void*)R_RDX, (uintptr_t)R_RCX); }
+void uFUpLL(x64emu_t *emu, uintptr_t fcn) { uFUpLL_t fn = (uFUpLL_t)fcn; R_RAX=(uint32_t)fn((uint64_t)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (uintptr_t)R_RCX); }
+void uFUpLp(x64emu_t *emu, uintptr_t fcn) { uFUpLp_t fn = (uFUpLp_t)fcn; R_RAX=(uint32_t)fn((uint64_t)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (void*)R_RCX); }
 void uFLppp(x64emu_t *emu, uintptr_t fcn) { uFLppp_t fn = (uFLppp_t)fcn; R_RAX=(uint32_t)fn((uintptr_t)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX); }
+void uFpiii(x64emu_t *emu, uintptr_t fcn) { uFpiii_t fn = (uFpiii_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX); }
 void uFpiip(x64emu_t *emu, uintptr_t fcn) { uFpiip_t fn = (uFpiip_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (void*)R_RCX); }
 void uFpipu(x64emu_t *emu, uintptr_t fcn) { uFpipu_t fn = (uFpipu_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (int32_t)R_RSI, (void*)R_RDX, (uint32_t)R_RCX); }
 void uFpipL(x64emu_t *emu, uintptr_t fcn) { uFpipL_t fn = (uFpipL_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (int32_t)R_RSI, (void*)R_RDX, (uintptr_t)R_RCX); }
 void uFpipp(x64emu_t *emu, uintptr_t fcn) { uFpipp_t fn = (uFpipp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (int32_t)R_RSI, (void*)R_RDX, (void*)R_RCX); }
 void uFpCCC(x64emu_t *emu, uintptr_t fcn) { uFpCCC_t fn = (uFpCCC_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uint8_t)R_RSI, (uint8_t)R_RDX, (uint8_t)R_RCX); }
+void uFpuii(x64emu_t *emu, uintptr_t fcn) { uFpuii_t fn = (uFpuii_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX); }
+void uFpuui(x64emu_t *emu, uintptr_t fcn) { uFpuui_t fn = (uFpuui_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (int32_t)R_RCX); }
+void uFpuuu(x64emu_t *emu, uintptr_t fcn) { uFpuuu_t fn = (uFpuuu_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX); }
 void uFpuup(x64emu_t *emu, uintptr_t fcn) { uFpuup_t fn = (uFpuup_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (void*)R_RCX); }
 void uFpupi(x64emu_t *emu, uintptr_t fcn) { uFpupi_t fn = (uFpupi_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (int32_t)R_RCX); }
 void uFpupu(x64emu_t *emu, uintptr_t fcn) { uFpupu_t fn = (uFpupu_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (uint32_t)R_RCX); }
 void uFpupL(x64emu_t *emu, uintptr_t fcn) { uFpupL_t fn = (uFpupL_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (uintptr_t)R_RCX); }
 void uFpupp(x64emu_t *emu, uintptr_t fcn) { uFpupp_t fn = (uFpupp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (void*)R_RCX); }
 void uFpubp(x64emu_t *emu, uintptr_t fcn) { uFpubp_t fn = (uFpubp_t)fcn; void *aligned_xcb = align_xcb_connection((void*)R_RDX); R_RAX=(uint32_t)fn((void*)R_RDI, (uint32_t)R_RSI, aligned_xcb, (void*)R_RCX); unalign_xcb_connection(aligned_xcb, (void*)R_RDX); }
+void uFpUuu(x64emu_t *emu, uintptr_t fcn) { uFpUuu_t fn = (uFpUuu_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uint64_t)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX); }
+void uFpUuU(x64emu_t *emu, uintptr_t fcn) { uFpUuU_t fn = (uFpUuU_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uint64_t)R_RSI, (uint32_t)R_RDX, (uint64_t)R_RCX); }
+void uFpUUu(x64emu_t *emu, uintptr_t fcn) { uFpUUu_t fn = (uFpUUu_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uint64_t)R_RSI, (uint64_t)R_RDX, (uint32_t)R_RCX); }
+void uFpULu(x64emu_t *emu, uintptr_t fcn) { uFpULu_t fn = (uFpULu_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uint64_t)R_RSI, (uintptr_t)R_RDX, (uint32_t)R_RCX); }
+void uFpULp(x64emu_t *emu, uintptr_t fcn) { uFpULp_t fn = (uFpULp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uint64_t)R_RSI, (uintptr_t)R_RDX, (void*)R_RCX); }
 void uFplup(x64emu_t *emu, uintptr_t fcn) { uFplup_t fn = (uFplup_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (intptr_t)R_RSI, (uint32_t)R_RDX, (void*)R_RCX); }
+void uFpLUL(x64emu_t *emu, uintptr_t fcn) { uFpLUL_t fn = (uFpLUL_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (uint64_t)R_RDX, (uintptr_t)R_RCX); }
+void uFpLpU(x64emu_t *emu, uintptr_t fcn) { uFpLpU_t fn = (uFpLpU_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (void*)R_RDX, (uint64_t)R_RCX); }
+void uFpLpL(x64emu_t *emu, uintptr_t fcn) { uFpLpL_t fn = (uFpLpL_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (void*)R_RDX, (uintptr_t)R_RCX); }
+void uFpLpp(x64emu_t *emu, uintptr_t fcn) { uFpLpp_t fn = (uFpLpp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (void*)R_RDX, (void*)R_RCX); }
 void uFppii(x64emu_t *emu, uintptr_t fcn) { uFppii_t fn = (uFppii_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX); }
 void uFppiu(x64emu_t *emu, uintptr_t fcn) { uFppiu_t fn = (uFppiu_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (uint32_t)R_RCX); }
+void uFppiL(x64emu_t *emu, uintptr_t fcn) { uFppiL_t fn = (uFppiL_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (uintptr_t)R_RCX); }
 void uFppip(x64emu_t *emu, uintptr_t fcn) { uFppip_t fn = (uFppip_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (void*)R_RCX); }
 void uFppuu(x64emu_t *emu, uintptr_t fcn) { uFppuu_t fn = (uFppuu_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX); }
+void uFppuU(x64emu_t *emu, uintptr_t fcn) { uFppuU_t fn = (uFppuU_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (uint64_t)R_RCX); }
 void uFppup(x64emu_t *emu, uintptr_t fcn) { uFppup_t fn = (uFppup_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (void*)R_RCX); }
+void uFppUL(x64emu_t *emu, uintptr_t fcn) { uFppUL_t fn = (uFppUL_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (uint64_t)R_RDX, (uintptr_t)R_RCX); }
 void uFpplp(x64emu_t *emu, uintptr_t fcn) { uFpplp_t fn = (uFpplp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (intptr_t)R_RDX, (void*)R_RCX); }
+void uFppLu(x64emu_t *emu, uintptr_t fcn) { uFppLu_t fn = (uFppLu_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (uint32_t)R_RCX); }
+void uFppLL(x64emu_t *emu, uintptr_t fcn) { uFppLL_t fn = (uFppLL_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (uintptr_t)R_RCX); }
 void uFppLp(x64emu_t *emu, uintptr_t fcn) { uFppLp_t fn = (uFppLp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (void*)R_RCX); }
 void uFpppi(x64emu_t *emu, uintptr_t fcn) { uFpppi_t fn = (uFpppi_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int32_t)R_RCX); }
 void uFpppu(x64emu_t *emu, uintptr_t fcn) { uFpppu_t fn = (uFpppu_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uint32_t)R_RCX); }
@@ -5472,6 +5605,7 @@ void IFppIII(x64emu_t *emu, uintptr_t fcn) { IFppIII_t fn = (IFppIII_t)fcn; S_RA
 void uFEippp(x64emu_t *emu, uintptr_t fcn) { uFEippp_t fn = (uFEippp_t)fcn; R_RAX=(uint32_t)fn(emu, (int32_t)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX); }
 void uFEpipp(x64emu_t *emu, uintptr_t fcn) { uFEpipp_t fn = (uFEpipp_t)fcn; R_RAX=(uint32_t)fn(emu, (void*)R_RDI, (int32_t)R_RSI, (void*)R_RDX, (void*)R_RCX); }
 void uFEpupp(x64emu_t *emu, uintptr_t fcn) { uFEpupp_t fn = (uFEpupp_t)fcn; R_RAX=(uint32_t)fn(emu, (void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (void*)R_RCX); }
+void uFEpppu(x64emu_t *emu, uintptr_t fcn) { uFEpppu_t fn = (uFEpppu_t)fcn; R_RAX=(uint32_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uint32_t)R_RCX); }
 void uFEpppp(x64emu_t *emu, uintptr_t fcn) { uFEpppp_t fn = (uFEpppp_t)fcn; R_RAX=(uint32_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX); }
 void uFEpppV(x64emu_t *emu, uintptr_t fcn) { uFEpppV_t fn = (uFEpppV_t)fcn; R_RAX=(uint32_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)(R_RSP + 8)); }
 void uFiuuuu(x64emu_t *emu, uintptr_t fcn) { uFiuuuu_t fn = (uFiuuuu_t)fcn; R_RAX=(uint32_t)fn((int32_t)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (uint32_t)R_R8); }
@@ -5479,6 +5613,12 @@ void uFiuppi(x64emu_t *emu, uintptr_t fcn) { uFiuppi_t fn = (uFiuppi_t)fcn; R_RA
 void uFipupp(x64emu_t *emu, uintptr_t fcn) { uFipupp_t fn = (uFipupp_t)fcn; R_RAX=(uint32_t)fn((int32_t)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (void*)R_R8); }
 void uFipLpp(x64emu_t *emu, uintptr_t fcn) { uFipLpp_t fn = (uFipLpp_t)fcn; R_RAX=(uint32_t)fn((int32_t)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (void*)R_RCX, (void*)R_R8); }
 void uFuiiii(x64emu_t *emu, uintptr_t fcn) { uFuiiii_t fn = (uFuiiii_t)fcn; R_RAX=(uint32_t)fn((uint32_t)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8); }
+void uFULCLL(x64emu_t *emu, uintptr_t fcn) { uFULCLL_t fn = (uFULCLL_t)fcn; R_RAX=(uint32_t)fn((uint64_t)R_RDI, (uintptr_t)R_RSI, (uint8_t)R_RDX, (uintptr_t)R_RCX, (uintptr_t)R_R8); }
+void uFULWLL(x64emu_t *emu, uintptr_t fcn) { uFULWLL_t fn = (uFULWLL_t)fcn; R_RAX=(uint32_t)fn((uint64_t)R_RDI, (uintptr_t)R_RSI, (uint16_t)R_RDX, (uintptr_t)R_RCX, (uintptr_t)R_R8); }
+void uFULuLL(x64emu_t *emu, uintptr_t fcn) { uFULuLL_t fn = (uFULuLL_t)fcn; R_RAX=(uint32_t)fn((uint64_t)R_RDI, (uintptr_t)R_RSI, (uint32_t)R_RDX, (uintptr_t)R_RCX, (uintptr_t)R_R8); }
+void uFULULU(x64emu_t *emu, uintptr_t fcn) { uFULULU_t fn = (uFULULU_t)fcn; R_RAX=(uint32_t)fn((uint64_t)R_RDI, (uintptr_t)R_RSI, (uint64_t)R_RDX, (uintptr_t)R_RCX, (uint64_t)R_R8); }
+void uFULLUU(x64emu_t *emu, uintptr_t fcn) { uFULLUU_t fn = (uFULLUU_t)fcn; R_RAX=(uint32_t)fn((uint64_t)R_RDI, (uintptr_t)R_RSI, (uintptr_t)R_RDX, (uint64_t)R_RCX, (uint64_t)R_R8); }
+void uFUpUpL(x64emu_t *emu, uintptr_t fcn) { uFUpUpL_t fn = (uFUpUpL_t)fcn; R_RAX=(uint32_t)fn((uint64_t)R_RDI, (void*)R_RSI, (uint64_t)R_RDX, (void*)R_RCX, (uintptr_t)R_R8); }
 void uFLpppL(x64emu_t *emu, uintptr_t fcn) { uFLpppL_t fn = (uFLpppL_t)fcn; R_RAX=(uint32_t)fn((uintptr_t)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (uintptr_t)R_R8); }
 void uFpCCCC(x64emu_t *emu, uintptr_t fcn) { uFpCCCC_t fn = (uFpCCCC_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uint8_t)R_RSI, (uint8_t)R_RDX, (uint8_t)R_RCX, (uint8_t)R_R8); }
 void uFpWuip(x64emu_t *emu, uintptr_t fcn) { uFpWuip_t fn = (uFpWuip_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uint16_t)R_RSI, (uint32_t)R_RDX, (int32_t)R_RCX, (void*)R_R8); }
@@ -5487,13 +5627,24 @@ void uFpuuuu(x64emu_t *emu, uintptr_t fcn) { uFpuuuu_t fn = (uFpuuuu_t)fcn; R_RA
 void uFpuupp(x64emu_t *emu, uintptr_t fcn) { uFpuupp_t fn = (uFpuupp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (void*)R_R8); }
 void uFpupuu(x64emu_t *emu, uintptr_t fcn) { uFpupuu_t fn = (uFpupuu_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (uint32_t)R_RCX, (uint32_t)R_R8); }
 void uFpuppp(x64emu_t *emu, uintptr_t fcn) { uFpuppp_t fn = (uFpuppp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8); }
+void uFpULuU(x64emu_t *emu, uintptr_t fcn) { uFpULuU_t fn = (uFpULuU_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uint64_t)R_RSI, (uintptr_t)R_RDX, (uint32_t)R_RCX, (uint64_t)R_R8); }
+void uFpLuUL(x64emu_t *emu, uintptr_t fcn) { uFpLuUL_t fn = (uFpLuUL_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (uint32_t)R_RDX, (uint64_t)R_RCX, (uintptr_t)R_R8); }
+void uFpLLUU(x64emu_t *emu, uintptr_t fcn) { uFpLLUU_t fn = (uFpLLUU_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (uintptr_t)R_RDX, (uint64_t)R_RCX, (uint64_t)R_R8); }
+void uFpLpLL(x64emu_t *emu, uintptr_t fcn) { uFpLpLL_t fn = (uFpLpLL_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (void*)R_RDX, (uintptr_t)R_RCX, (uintptr_t)R_R8); }
+void uFpLpLp(x64emu_t *emu, uintptr_t fcn) { uFpLpLp_t fn = (uFpLpLp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (void*)R_RDX, (uintptr_t)R_RCX, (void*)R_R8); }
+void uFppiui(x64emu_t *emu, uintptr_t fcn) { uFppiui_t fn = (uFppiui_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (uint32_t)R_RCX, (int32_t)R_R8); }
+void uFppiLu(x64emu_t *emu, uintptr_t fcn) { uFppiLu_t fn = (uFppiLu_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (uintptr_t)R_RCX, (uint32_t)R_R8); }
 void uFppipp(x64emu_t *emu, uintptr_t fcn) { uFppipp_t fn = (uFppipp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (void*)R_RCX, (void*)R_R8); }
 void uFppuup(x64emu_t *emu, uintptr_t fcn) { uFppuup_t fn = (uFppuup_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (void*)R_R8); }
 void uFppupp(x64emu_t *emu, uintptr_t fcn) { uFppupp_t fn = (uFppupp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (void*)R_R8); }
 void uFpplip(x64emu_t *emu, uintptr_t fcn) { uFpplip_t fn = (uFpplip_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (intptr_t)R_RDX, (int32_t)R_RCX, (void*)R_R8); }
 void uFpplpp(x64emu_t *emu, uintptr_t fcn) { uFpplpp_t fn = (uFpplpp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (intptr_t)R_RDX, (void*)R_RCX, (void*)R_R8); }
+void uFppLLu(x64emu_t *emu, uintptr_t fcn) { uFppLLu_t fn = (uFppLLu_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (uintptr_t)R_RCX, (uint32_t)R_R8); }
+void uFppLLp(x64emu_t *emu, uintptr_t fcn) { uFppLLp_t fn = (uFppLLp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (uintptr_t)R_RCX, (void*)R_R8); }
 void uFppLpp(x64emu_t *emu, uintptr_t fcn) { uFppLpp_t fn = (uFppLpp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (void*)R_RCX, (void*)R_R8); }
 void uFpppip(x64emu_t *emu, uintptr_t fcn) { uFpppip_t fn = (uFpppip_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (void*)R_R8); }
+void uFpppLU(x64emu_t *emu, uintptr_t fcn) { uFpppLU_t fn = (uFpppLU_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uintptr_t)R_RCX, (uint64_t)R_R8); }
+void uFpppLp(x64emu_t *emu, uintptr_t fcn) { uFpppLp_t fn = (uFpppLp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uintptr_t)R_RCX, (void*)R_R8); }
 void uFppppL(x64emu_t *emu, uintptr_t fcn) { uFppppL_t fn = (uFppppL_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (uintptr_t)R_R8); }
 void uFppppp(x64emu_t *emu, uintptr_t fcn) { uFppppp_t fn = (uFppppp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8); }
 void uFbuuWW(x64emu_t *emu, uintptr_t fcn) { uFbuuWW_t fn = (uFbuuWW_t)fcn; void *aligned_xcb = align_xcb_connection((void*)R_RDI); R_RAX=(uint32_t)fn(aligned_xcb, (uint32_t)R_RSI, (uint32_t)R_RDX, (uint16_t)R_RCX, (uint16_t)R_R8); unalign_xcb_connection(aligned_xcb, (void*)R_RDI); }
@@ -6001,10 +6152,16 @@ void uFEpippi(x64emu_t *emu, uintptr_t fcn) { uFEpippi_t fn = (uFEpippi_t)fcn; R
 void uFEpippp(x64emu_t *emu, uintptr_t fcn) { uFEpippp_t fn = (uFEpippp_t)fcn; R_RAX=(uint32_t)fn(emu, (void*)R_RDI, (int32_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8); }
 void uFEpCppp(x64emu_t *emu, uintptr_t fcn) { uFEpCppp_t fn = (uFEpCppp_t)fcn; R_RAX=(uint32_t)fn(emu, (void*)R_RDI, (uint8_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8); }
 void uFEpuppp(x64emu_t *emu, uintptr_t fcn) { uFEpuppp_t fn = (uFEpuppp_t)fcn; R_RAX=(uint32_t)fn(emu, (void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8); }
+void uFEpppLp(x64emu_t *emu, uintptr_t fcn) { uFEpppLp_t fn = (uFEpppLp_t)fcn; R_RAX=(uint32_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uintptr_t)R_RCX, (void*)R_R8); }
 void uFipuppp(x64emu_t *emu, uintptr_t fcn) { uFipuppp_t fn = (uFipuppp_t)fcn; R_RAX=(uint32_t)fn((int32_t)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9); }
 void uFuuuuuu(x64emu_t *emu, uintptr_t fcn) { uFuuuuuu_t fn = (uFuuuuuu_t)fcn; R_RAX=(uint32_t)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); }
 void uFupuufp(x64emu_t *emu, uintptr_t fcn) { uFupuufp_t fn = (uFupuufp_t)fcn; R_RAX=(uint32_t)fn((uint32_t)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, emu->xmm[0].f[0], (void*)R_R8); }
 void uFuppppp(x64emu_t *emu, uintptr_t fcn) { uFuppppp_t fn = (uFuppppp_t)fcn; R_RAX=(uint32_t)fn((uint32_t)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9); }
+void uFULCLLp(x64emu_t *emu, uintptr_t fcn) { uFULCLLp_t fn = (uFULCLLp_t)fcn; R_RAX=(uint32_t)fn((uint64_t)R_RDI, (uintptr_t)R_RSI, (uint8_t)R_RDX, (uintptr_t)R_RCX, (uintptr_t)R_R8, (void*)R_R9); }
+void uFULWLLp(x64emu_t *emu, uintptr_t fcn) { uFULWLLp_t fn = (uFULWLLp_t)fcn; R_RAX=(uint32_t)fn((uint64_t)R_RDI, (uintptr_t)R_RSI, (uint16_t)R_RDX, (uintptr_t)R_RCX, (uintptr_t)R_R8, (void*)R_R9); }
+void uFULuLLp(x64emu_t *emu, uintptr_t fcn) { uFULuLLp_t fn = (uFULuLLp_t)fcn; R_RAX=(uint32_t)fn((uint64_t)R_RDI, (uintptr_t)R_RSI, (uint32_t)R_RDX, (uintptr_t)R_RCX, (uintptr_t)R_R8, (void*)R_R9); }
+void uFULULLU(x64emu_t *emu, uintptr_t fcn) { uFULULLU_t fn = (uFULULLU_t)fcn; R_RAX=(uint32_t)fn((uint64_t)R_RDI, (uintptr_t)R_RSI, (uint64_t)R_RDX, (uintptr_t)R_RCX, (uintptr_t)R_R8, (uint64_t)R_R9); }
+void uFUpUpLp(x64emu_t *emu, uintptr_t fcn) { uFUpUpLp_t fn = (uFUpUpLp_t)fcn; R_RAX=(uint32_t)fn((uint64_t)R_RDI, (void*)R_RSI, (uint64_t)R_RDX, (void*)R_RCX, (uintptr_t)R_R8, (void*)R_R9); }
 void uFpiuppu(x64emu_t *emu, uintptr_t fcn) { uFpiuppu_t fn = (uFpiuppu_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (int32_t)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (void*)R_R8, (uint32_t)R_R9); }
 void uFpWuipp(x64emu_t *emu, uintptr_t fcn) { uFpWuipp_t fn = (uFpWuipp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uint16_t)R_RSI, (uint32_t)R_RDX, (int32_t)R_RCX, (void*)R_R8, (void*)R_R9); }
 void uFpWuuCp(x64emu_t *emu, uintptr_t fcn) { uFpWuuCp_t fn = (uFpWuuCp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uint16_t)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (uint8_t)R_R8, (void*)R_R9); }
@@ -6013,11 +6170,15 @@ void uFpuuuup(x64emu_t *emu, uintptr_t fcn) { uFpuuuup_t fn = (uFpuuuup_t)fcn; R
 void uFpuuupp(x64emu_t *emu, uintptr_t fcn) { uFpuuupp_t fn = (uFpuuupp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (void*)R_R8, (void*)R_R9); }
 void uFpuuppp(x64emu_t *emu, uintptr_t fcn) { uFpuuppp_t fn = (uFpuuppp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9); }
 void uFpupupu(x64emu_t *emu, uintptr_t fcn) { uFpupupu_t fn = (uFpupupu_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (uint32_t)R_RCX, (void*)R_R8, (uint32_t)R_R9); }
+void uFpupupp(x64emu_t *emu, uintptr_t fcn) { uFpupupp_t fn = (uFpupupp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (uint32_t)R_RCX, (void*)R_R8, (void*)R_R9); }
 void uFpupppp(x64emu_t *emu, uintptr_t fcn) { uFpupppp_t fn = (uFpupppp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9); }
 void uFppuuup(x64emu_t *emu, uintptr_t fcn) { uFppuuup_t fn = (uFppuuup_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (uint32_t)R_R8, (void*)R_R9); }
 void uFppuupu(x64emu_t *emu, uintptr_t fcn) { uFppuupu_t fn = (uFppuupu_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (void*)R_R8, (uint32_t)R_R9); }
 void uFppLpLp(x64emu_t *emu, uintptr_t fcn) { uFppLpLp_t fn = (uFppLpLp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (void*)R_RCX, (uintptr_t)R_R8, (void*)R_R9); }
 void uFppLppL(x64emu_t *emu, uintptr_t fcn) { uFppLppL_t fn = (uFppLppL_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (void*)R_RCX, (void*)R_R8, (uintptr_t)R_R9); }
+void uFpppLUL(x64emu_t *emu, uintptr_t fcn) { uFpppLUL_t fn = (uFpppLUL_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uintptr_t)R_RCX, (uint64_t)R_R8, (uintptr_t)R_R9); }
+void uFpppLpp(x64emu_t *emu, uintptr_t fcn) { uFpppLpp_t fn = (uFpppLpp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uintptr_t)R_RCX, (void*)R_R8, (void*)R_R9); }
+void uFppppLi(x64emu_t *emu, uintptr_t fcn) { uFppppLi_t fn = (uFppppLi_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (uintptr_t)R_R8, (int32_t)R_R9); }
 void uFpppppi(x64emu_t *emu, uintptr_t fcn) { uFpppppi_t fn = (uFpppppi_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (int32_t)R_R9); }
 void uFpppppp(x64emu_t *emu, uintptr_t fcn) { uFpppppp_t fn = (uFpppppp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9); }
 void uFbippup(x64emu_t *emu, uintptr_t fcn) { uFbippup_t fn = (uFbippup_t)fcn; void *aligned_xcb = align_xcb_connection((void*)R_RDI); R_RAX=(uint32_t)fn(aligned_xcb, (int32_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (uint32_t)R_R8, (void*)R_R9); unalign_xcb_connection(aligned_xcb, (void*)R_RDI); }
@@ -6392,6 +6553,7 @@ void uFppiuppi(x64emu_t *emu, uintptr_t fcn) { uFppiuppi_t fn = (uFppiuppi_t)fcn
 void uFppiuppp(x64emu_t *emu, uintptr_t fcn) { uFppiuppp_t fn = (uFppiuppp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (uint32_t)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); }
 void uFppuiupu(x64emu_t *emu, uintptr_t fcn) { uFppuiupu_t fn = (uFppuiupu_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (int32_t)R_RCX, (uint32_t)R_R8, (void*)R_R9, *(uint32_t*)(R_RSP + 8)); }
 void uFppuuuup(x64emu_t *emu, uintptr_t fcn) { uFppuuuup_t fn = (uFppuuuup_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (uint32_t)R_R8, (uint32_t)R_R9, *(void**)(R_RSP + 8)); }
+void uFppppLiu(x64emu_t *emu, uintptr_t fcn) { uFppppLiu_t fn = (uFppppLiu_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (uintptr_t)R_R8, (int32_t)R_R9, *(uint32_t*)(R_RSP + 8)); }
 void uFppppppp(x64emu_t *emu, uintptr_t fcn) { uFppppppp_t fn = (uFppppppp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); }
 void uFbuuuwwu(x64emu_t *emu, uintptr_t fcn) { uFbuuuwwu_t fn = (uFbuuuwwu_t)fcn; void *aligned_xcb = align_xcb_connection((void*)R_RDI); R_RAX=(uint32_t)fn(aligned_xcb, (uint32_t)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (int16_t)R_R8, (int16_t)R_R9, *(uint32_t*)(R_RSP + 8)); unalign_xcb_connection(aligned_xcb, (void*)R_RDI); }
 void uFbuupwwC(x64emu_t *emu, uintptr_t fcn) { uFbuupwwC_t fn = (uFbuupwwC_t)fcn; void *aligned_xcb = align_xcb_connection((void*)R_RDI); R_RAX=(uint32_t)fn(aligned_xcb, (uint32_t)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (int16_t)R_R8, (int16_t)R_R9, *(uint8_t*)(R_RSP + 8)); unalign_xcb_connection(aligned_xcb, (void*)R_RDI); }
@@ -6642,9 +6804,11 @@ void uFuupuuiuf(x64emu_t *emu, uintptr_t fcn) { uFuupuuiuf_t fn = (uFuupuuiuf_t)
 void uFulpppppp(x64emu_t *emu, uintptr_t fcn) { uFulpppppp_t fn = (uFulpppppp_t)fcn; R_RAX=(uint32_t)fn((uint32_t)R_RDI, (intptr_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16)); }
 void uFpuupupuu(x64emu_t *emu, uintptr_t fcn) { uFpuupupuu_t fn = (uFpuupupuu_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (uint32_t)R_R8, (void*)R_R9, *(uint32_t*)(R_RSP + 8), *(uint32_t*)(R_RSP + 16)); }
 void uFpupuuuCp(x64emu_t *emu, uintptr_t fcn) { uFpupuuuCp_t fn = (uFpupuuuCp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (uint32_t)R_RCX, (uint32_t)R_R8, (uint32_t)R_R9, *(uint8_t*)(R_RSP + 8), *(void**)(R_RSP + 16)); }
+void uFpupLpupp(x64emu_t *emu, uintptr_t fcn) { uFpupLpupp_t fn = (uFpupLpupp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (uintptr_t)R_RCX, (void*)R_R8, (uint32_t)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16)); }
 void uFppuuuupp(x64emu_t *emu, uintptr_t fcn) { uFppuuuupp_t fn = (uFppuuuupp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (uint32_t)R_R8, (uint32_t)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16)); }
 void uFppuuuppu(x64emu_t *emu, uintptr_t fcn) { uFppuuuppu_t fn = (uFppuuuppu_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (uint32_t)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(uint32_t*)(R_RSP + 16)); }
 void uFppuppppp(x64emu_t *emu, uintptr_t fcn) { uFppuppppp_t fn = (uFppuppppp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16)); }
+void uFppppuppu(x64emu_t *emu, uintptr_t fcn) { uFppppuppu_t fn = (uFppppuppu_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (uint32_t)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(uint32_t*)(R_RSP + 16)); }
 void uFpppppupp(x64emu_t *emu, uintptr_t fcn) { uFpppppupp_t fn = (uFpppppupp_t)fcn; R_RAX=(uint32_t)fn((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 uFbWWWWWWp(x64emu_t *emu, uintptr_t fcn) { uFbWWWWWWp_t fn = (uFbWWWWWWp_t)fcn; void *aligned_xcb = align_xcb_connection((void*)R_RDI); R_RAX=(uint32_t)fn(aligned_xcb, (uint16_t)R_RSI, (uint16_t)R_RDX, (uint16_t)R_RCX, (uint16_t)R_R8, (uint16_t)R_R9, *(uint16_t*)(R_RSP + 8), *(void**)(R_RSP + 16)); unalign_xcb_connection(aligned_xcb, (void*)R_RDI); }
 void UFbCuwwWWu(x64emu_t *emu, uintptr_t fcn) { UFbCuwwWWu_t fn = (UFbCuwwWWu_t)fcn; void *aligned_xcb = align_xcb_connection((void*)R_RDI); R_RAX=fn(aligned_xcb, (uint8_t)R_RSI, (uint32_t)R_RDX, (int16_t)R_RCX, (int16_t)R_R8, (uint16_t)R_R9, *(uint16_t*)(R_RSP + 8), *(uint32_t*)(R_RSP + 16)); unalign_xcb_connection(aligned_xcb, (void*)R_RDI); }
@@ -6900,6 +7064,7 @@ void iFpppLLipppp(x64emu_t *emu, uintptr_t fcn) { iFpppLLipppp_t fn = (iFpppLLip
 void iFpppppiiuup(x64emu_t *emu, uintptr_t fcn) { iFpppppiiuup_t fn = (iFpppppiiuup_t)fcn; R_RAX=(uint32_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)); }
 void iFpppppppipi(x64emu_t *emu, uintptr_t fcn) { iFpppppppipi_t fn = (iFpppppppipi_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(int32_t*)(R_RSP + 16), *(void**)(R_RSP + 24), *(int32_t*)(R_RSP + 32)); }
 void iFpppppppppu(x64emu_t *emu, uintptr_t fcn) { iFpppppppppu_t fn = (iFpppppppppu_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24), *(uint32_t*)(R_RSP + 32)); }
+void uFpuuuuuuupp(x64emu_t *emu, uintptr_t fcn) { uFpuuuuuuupp_t fn = (uFpuuuuuuupp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (uint32_t)R_R8, (uint32_t)R_R9, *(uint32_t*)(R_RSP + 8), *(uint32_t*)(R_RSP + 16), *(void**)(R_RSP + 24), *(void**)(R_RSP + 32)); }
 void uFpddpippppp(x64emu_t *emu, uintptr_t fcn) { uFpddpippppp_t fn = (uFpddpippppp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, emu->xmm[0].d[0], emu->xmm[1].d[0], (void*)R_RSI, (int32_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16)); }
 void uFpppppppppp(x64emu_t *emu, uintptr_t fcn) { uFpppppppppp_t fn = (uFpppppppppp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24), *(void**)(R_RSP + 32)); }
 void UFbCuWCCuuCW(x64emu_t *emu, uintptr_t fcn) { UFbCuWCCuuCW_t fn = (UFbCuWCCuuCW_t)fcn; void *aligned_xcb = align_xcb_connection((void*)R_RDI); R_RAX=fn(aligned_xcb, (uint8_t)R_RSI, (uint32_t)R_RDX, (uint16_t)R_RCX, (uint8_t)R_R8, (uint8_t)R_R9, *(uint32_t*)(R_RSP + 8), *(uint32_t*)(R_RSP + 16), *(uint8_t*)(R_RSP + 24), *(uint16_t*)(R_RSP + 32)); unalign_xcb_connection(aligned_xcb, (void*)R_RDI); }
@@ -6975,6 +7140,7 @@ void uFEpLuupppLuV(x64emu_t *emu, uintptr_t fcn) { uFEpLuupppLuV_t fn = (uFEpLuu
 void uFEpLuppppLup(x64emu_t *emu, uintptr_t fcn) { uFEpLuppppLup_t fn = (uFEpLuppppLup_t)fcn; R_RAX=(uint32_t)fn(emu, (void*)R_RDI, (uintptr_t)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(uintptr_t*)(R_RSP + 16), *(uint32_t*)(R_RSP + 24), *(void**)(R_RSP + 32)); }
 void uFEpLuppppLuA(x64emu_t *emu, uintptr_t fcn) { uFEpLuppppLuA_t fn = (uFEpLuppppLuA_t)fcn; R_RAX=(uint32_t)fn(emu, (void*)R_RDI, (uintptr_t)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(uintptr_t*)(R_RSP + 16), *(uint32_t*)(R_RSP + 24), *(void**)(R_RSP + 32)); }
 void uFEppppppuppp(x64emu_t *emu, uintptr_t fcn) { uFEppppppuppp_t fn = (uFEppppppuppp_t)fcn; R_RAX=(uint32_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), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24), *(void**)(R_RSP + 32)); }
+void uFpuuuuuuuppp(x64emu_t *emu, uintptr_t fcn) { uFpuuuuuuuppp_t fn = (uFpuuuuuuuppp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (uint32_t)R_R8, (uint32_t)R_R9, *(uint32_t*)(R_RSP + 8), *(uint32_t*)(R_RSP + 16), *(void**)(R_RSP + 24), *(void**)(R_RSP + 32), *(void**)(R_RSP + 40)); }
 void uFppppppppppp(x64emu_t *emu, uintptr_t fcn) { uFppppppppppp_t fn = (uFppppppppppp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24), *(void**)(R_RSP + 32), *(void**)(R_RSP + 40)); }
 void UFbuuuwwwwWWu(x64emu_t *emu, uintptr_t fcn) { UFbuuuwwwwWWu_t fn = (UFbuuuwwwwWWu_t)fcn; void *aligned_xcb = align_xcb_connection((void*)R_RDI); R_RAX=fn(aligned_xcb, (uint32_t)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (int16_t)R_R8, (int16_t)R_R9, *(int16_t*)(R_RSP + 8), *(int16_t*)(R_RSP + 16), *(uint16_t*)(R_RSP + 24), *(uint16_t*)(R_RSP + 32), *(uint32_t*)(R_RSP + 40)); unalign_xcb_connection(aligned_xcb, (void*)R_RDI); }
 void pFEpipppppppi(x64emu_t *emu, uintptr_t fcn) { pFEpipppppppi_t fn = (pFEpipppppppi_t)fcn; R_RAX=(uintptr_t)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), *(int32_t*)(R_RSP + 32)); }
@@ -7014,6 +7180,7 @@ void iFpLpppppppppp(x64emu_t *emu, uintptr_t fcn) { iFpLpppppppppp_t fn = (iFpLp
 void iFppLlliLppppp(x64emu_t *emu, uintptr_t fcn) { iFppLlliLppppp_t fn = (iFppLlliLppppp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (intptr_t)R_RCX, (intptr_t)R_R8, (int32_t)R_R9, *(uintptr_t*)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24), *(void**)(R_RSP + 32), *(void**)(R_RSP + 40), *(void**)(R_RSP + 48)); }
 void iFpppipipiipii(x64emu_t *emu, uintptr_t fcn) { iFpppipipiipii_t fn = (iFpppipipiipii_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (void*)R_R8, (int32_t)R_R9, *(void**)(R_RSP + 8), *(int32_t*)(R_RSP + 16), *(int32_t*)(R_RSP + 24), *(void**)(R_RSP + 32), *(int32_t*)(R_RSP + 40), *(int32_t*)(R_RSP + 48)); }
 void iFpppppppppppp(x64emu_t *emu, uintptr_t fcn) { iFpppppppppppp_t fn = (iFpppppppppppp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24), *(void**)(R_RSP + 32), *(void**)(R_RSP + 40), *(void**)(R_RSP + 48)); }
+void uFpuupppppuuuu(x64emu_t *emu, uintptr_t fcn) { uFpuupppppuuuu_t fn = (uFpuupppppuuuu_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16), *(uint32_t*)(R_RSP + 24), *(uint32_t*)(R_RSP + 32), *(uint32_t*)(R_RSP + 40), *(uint32_t*)(R_RSP + 48)); }
 void UFbCuuWWwwCCup(x64emu_t *emu, uintptr_t fcn) { UFbCuuWWwwCCup_t fn = (UFbCuuWWwwCCup_t)fcn; void *aligned_xcb = align_xcb_connection((void*)R_RDI); R_RAX=fn(aligned_xcb, (uint8_t)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (uint16_t)R_R8, (uint16_t)R_R9, *(int16_t*)(R_RSP + 8), *(int16_t*)(R_RSP + 16), *(uint8_t*)(R_RSP + 24), *(uint8_t*)(R_RSP + 32), *(uint32_t*)(R_RSP + 40), *(void**)(R_RSP + 48)); unalign_xcb_connection(aligned_xcb, (void*)R_RDI); }
 void UFbuuuWWWWWWWW(x64emu_t *emu, uintptr_t fcn) { UFbuuuWWWWWWWW_t fn = (UFbuuuWWWWWWWW_t)fcn; void *aligned_xcb = align_xcb_connection((void*)R_RDI); R_RAX=fn(aligned_xcb, (uint32_t)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (uint16_t)R_R8, (uint16_t)R_R9, *(uint16_t*)(R_RSP + 8), *(uint16_t*)(R_RSP + 16), *(uint16_t*)(R_RSP + 24), *(uint16_t*)(R_RSP + 32), *(uint16_t*)(R_RSP + 40), *(uint16_t*)(R_RSP + 48)); unalign_xcb_connection(aligned_xcb, (void*)R_RDI); }
 void pFEpLiiuuLipii(x64emu_t *emu, uintptr_t fcn) { pFEpLiiuuLipii_t fn = (pFEpLiiuuLipii_t)fcn; R_RAX=(uintptr_t)fn(emu, (void*)R_RDI, (uintptr_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (uint32_t)R_R8, (uint32_t)R_R9, *(uintptr_t*)(R_RSP + 8), *(int32_t*)(R_RSP + 16), *(void**)(R_RSP + 24), *(int32_t*)(R_RSP + 32), *(int32_t*)(R_RSP + 40)); }
@@ -7062,6 +7229,7 @@ void vFfffffffffffffff(x64emu_t *emu, uintptr_t fcn) { vFfffffffffffffff_t fn =
 void vFpUUUUUUUUUUUuuu(x64emu_t *emu, uintptr_t fcn) { vFpUUUUUUUUUUUuuu_t fn = (vFpUUUUUUUUUUUuuu_t)fcn; fn((void*)R_RDI, (uint64_t)R_RSI, (uint64_t)R_RDX, (uint64_t)R_RCX, (uint64_t)R_R8, (uint64_t)R_R9, *(uint64_t*)(R_RSP + 8), *(uint64_t*)(R_RSP + 16), *(uint64_t*)(R_RSP + 24), *(uint64_t*)(R_RSP + 32), *(uint64_t*)(R_RSP + 40), *(uint64_t*)(R_RSP + 48), *(uint32_t*)(R_RSP + 56), *(uint32_t*)(R_RSP + 64), *(uint32_t*)(R_RSP + 72)); }
 void vFpppippppppppppp(x64emu_t *emu, uintptr_t fcn) { vFpppippppppppppp_t fn = (vFpppippppppppppp_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), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24), *(void**)(R_RSP + 32), *(void**)(R_RSP + 40), *(void**)(R_RSP + 48), *(void**)(R_RSP + 56), *(void**)(R_RSP + 64), *(void**)(R_RSP + 72)); }
 void vFppppppppppppppp(x64emu_t *emu, uintptr_t fcn) { vFppppppppppppppp_t fn = (vFppppppppppppppp_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**)(R_RSP + 48), *(void**)(R_RSP + 56), *(void**)(R_RSP + 64), *(void**)(R_RSP + 72)); }
+void uFpuupppppuupuuuu(x64emu_t *emu, uintptr_t fcn) { uFpuupppppuupuuuu_t fn = (uFpuupppppuupuuuu_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16), *(uint32_t*)(R_RSP + 24), *(uint32_t*)(R_RSP + 32), *(void**)(R_RSP + 40), *(uint32_t*)(R_RSP + 48), *(uint32_t*)(R_RSP + 56), *(uint32_t*)(R_RSP + 64), *(uint32_t*)(R_RSP + 72)); }
 void pFpuiippppppppppp(x64emu_t *emu, uintptr_t fcn) { pFpuiippppppppppp_t fn = (pFpuiippppppppppp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint32_t)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**)(R_RSP + 24), *(void**)(R_RSP + 32), *(void**)(R_RSP + 40), *(void**)(R_RSP + 48), *(void**)(R_RSP + 56), *(void**)(R_RSP + 64), *(void**)(R_RSP + 72)); }
 void pFppipppppppppppp(x64emu_t *emu, uintptr_t fcn) { pFppipppppppppppp_t fn = (pFppipppppppppppp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24), *(void**)(R_RSP + 32), *(void**)(R_RSP + 40), *(void**)(R_RSP + 48), *(void**)(R_RSP + 56), *(void**)(R_RSP + 64), *(void**)(R_RSP + 72)); }
 void pFppupppppppppppp(x64emu_t *emu, uintptr_t fcn) { pFppupppppppppppp_t fn = (pFppupppppppppppp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (uint32_t)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**)(R_RSP + 48), *(void**)(R_RSP + 56), *(void**)(R_RSP + 64), *(void**)(R_RSP + 72)); }
@@ -7413,9 +7581,15 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &WFpi) return 1;
 	if (fun == &WFpp) return 1;
 	if (fun == &uFii) return 1;
+	if (fun == &uFiu) return 1;
+	if (fun == &uFip) return 1;
 	if (fun == &uFui) return 1;
 	if (fun == &uFuu) return 1;
+	if (fun == &uFuL) return 1;
 	if (fun == &uFup) return 1;
+	if (fun == &uFUi) return 1;
+	if (fun == &uFUL) return 1;
+	if (fun == &uFUp) return 1;
 	if (fun == &uFpw) return 1;
 	if (fun == &uFpi) return 1;
 	if (fun == &uFpC) return 1;
@@ -7712,9 +7886,11 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &WFpip) return 1;
 	if (fun == &WFppp) return 1;
 	if (fun == &uFiuu) return 1;
+	if (fun == &uFiup) return 1;
 	if (fun == &uFilp) return 1;
 	if (fun == &uFipu) return 1;
 	if (fun == &uFipL) return 1;
+	if (fun == &uFipp) return 1;
 	if (fun == &uFuii) return 1;
 	if (fun == &uFuip) return 1;
 	if (fun == &uFuCC) return 1;
@@ -7725,8 +7901,14 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &uFupU) return 1;
 	if (fun == &uFupL) return 1;
 	if (fun == &uFupp) return 1;
+	if (fun == &uFUCL) return 1;
+	if (fun == &uFUWL) return 1;
+	if (fun == &uFUuL) return 1;
+	if (fun == &uFUUL) return 1;
+	if (fun == &uFUpL) return 1;
 	if (fun == &uFpii) return 1;
 	if (fun == &uFpiu) return 1;
+	if (fun == &uFpif) return 2;
 	if (fun == &uFpip) return 1;
 	if (fun == &uFpCi) return 1;
 	if (fun == &uFpWi) return 1;
@@ -7738,7 +7920,10 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &uFpuU) return 1;
 	if (fun == &uFpuL) return 1;
 	if (fun == &uFpup) return 1;
+	if (fun == &uFpUu) return 1;
+	if (fun == &uFpUL) return 1;
 	if (fun == &uFpfu) return 2;
+	if (fun == &uFpff) return 3;
 	if (fun == &uFpli) return 1;
 	if (fun == &uFplu) return 1;
 	if (fun == &uFpLu) return 1;
@@ -7746,6 +7931,7 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &uFpLp) return 1;
 	if (fun == &uFppi) return 1;
 	if (fun == &uFppu) return 1;
+	if (fun == &uFppU) return 1;
 	if (fun == &uFppL) return 1;
 	if (fun == &uFppp) return 1;
 	if (fun == &UFppi) return 1;
@@ -8204,26 +8390,57 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &uFiiii) return 1;
 	if (fun == &uFiiuu) return 1;
 	if (fun == &uFifff) return 4;
+	if (fun == &uFuipi) return 1;
 	if (fun == &uFuuuu) return 1;
+	if (fun == &uFuppU) return 1;
 	if (fun == &uFuppd) return 2;
+	if (fun == &uFuppp) return 1;
+	if (fun == &uFUiLL) return 1;
+	if (fun == &uFUCLp) return 1;
+	if (fun == &uFUWLp) return 1;
+	if (fun == &uFUuLp) return 1;
+	if (fun == &uFUULp) return 1;
+	if (fun == &uFULip) return 1;
+	if (fun == &uFULui) return 1;
+	if (fun == &uFULpL) return 1;
+	if (fun == &uFUpLL) return 1;
+	if (fun == &uFUpLp) return 1;
 	if (fun == &uFLppp) return 1;
+	if (fun == &uFpiii) return 1;
 	if (fun == &uFpiip) return 1;
 	if (fun == &uFpipu) return 1;
 	if (fun == &uFpipL) return 1;
 	if (fun == &uFpipp) return 1;
 	if (fun == &uFpCCC) return 1;
+	if (fun == &uFpuii) return 1;
+	if (fun == &uFpuui) return 1;
+	if (fun == &uFpuuu) return 1;
 	if (fun == &uFpuup) return 1;
 	if (fun == &uFpupi) return 1;
 	if (fun == &uFpupu) return 1;
 	if (fun == &uFpupL) return 1;
 	if (fun == &uFpupp) return 1;
+	if (fun == &uFpUuu) return 1;
+	if (fun == &uFpUuU) return 1;
+	if (fun == &uFpUUu) return 1;
+	if (fun == &uFpULu) return 1;
+	if (fun == &uFpULp) return 1;
 	if (fun == &uFplup) return 1;
+	if (fun == &uFpLUL) return 1;
+	if (fun == &uFpLpU) return 1;
+	if (fun == &uFpLpL) return 1;
+	if (fun == &uFpLpp) return 1;
 	if (fun == &uFppii) return 1;
 	if (fun == &uFppiu) return 1;
+	if (fun == &uFppiL) return 1;
 	if (fun == &uFppip) return 1;
 	if (fun == &uFppuu) return 1;
+	if (fun == &uFppuU) return 1;
 	if (fun == &uFppup) return 1;
+	if (fun == &uFppUL) return 1;
 	if (fun == &uFpplp) return 1;
+	if (fun == &uFppLu) return 1;
+	if (fun == &uFppLL) return 1;
 	if (fun == &uFppLp) return 1;
 	if (fun == &uFpppi) return 1;
 	if (fun == &uFpppu) return 1;
@@ -8709,6 +8926,12 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &uFipupp) return 1;
 	if (fun == &uFipLpp) return 1;
 	if (fun == &uFuiiii) return 1;
+	if (fun == &uFULCLL) return 1;
+	if (fun == &uFULWLL) return 1;
+	if (fun == &uFULuLL) return 1;
+	if (fun == &uFULULU) return 1;
+	if (fun == &uFULLUU) return 1;
+	if (fun == &uFUpUpL) return 1;
 	if (fun == &uFLpppL) return 1;
 	if (fun == &uFpCCCC) return 1;
 	if (fun == &uFpWuip) return 1;
@@ -8717,13 +8940,24 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &uFpuupp) return 1;
 	if (fun == &uFpupuu) return 1;
 	if (fun == &uFpuppp) return 1;
+	if (fun == &uFpULuU) return 1;
+	if (fun == &uFpLuUL) return 1;
+	if (fun == &uFpLLUU) return 1;
+	if (fun == &uFpLpLL) return 1;
+	if (fun == &uFpLpLp) return 1;
+	if (fun == &uFppiui) return 1;
+	if (fun == &uFppiLu) return 1;
 	if (fun == &uFppipp) return 1;
 	if (fun == &uFppuup) return 1;
 	if (fun == &uFppupp) return 1;
 	if (fun == &uFpplip) return 1;
 	if (fun == &uFpplpp) return 1;
+	if (fun == &uFppLLu) return 1;
+	if (fun == &uFppLLp) return 1;
 	if (fun == &uFppLpp) return 1;
 	if (fun == &uFpppip) return 1;
+	if (fun == &uFpppLU) return 1;
+	if (fun == &uFpppLp) return 1;
 	if (fun == &uFppppL) return 1;
 	if (fun == &uFppppp) return 1;
 	if (fun == &UFuiCiu) return 1;
@@ -9142,6 +9376,11 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &uFuuuuuu) return 1;
 	if (fun == &uFupuufp) return 2;
 	if (fun == &uFuppppp) return 1;
+	if (fun == &uFULCLLp) return 1;
+	if (fun == &uFULWLLp) return 1;
+	if (fun == &uFULuLLp) return 1;
+	if (fun == &uFULULLU) return 1;
+	if (fun == &uFUpUpLp) return 1;
 	if (fun == &uFpiuppu) return 1;
 	if (fun == &uFpWuipp) return 1;
 	if (fun == &uFpWuuCp) return 1;
@@ -9150,11 +9389,15 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &uFpuuupp) return 1;
 	if (fun == &uFpuuppp) return 1;
 	if (fun == &uFpupupu) return 1;
+	if (fun == &uFpupupp) return 1;
 	if (fun == &uFpupppp) return 1;
 	if (fun == &uFppuuup) return 1;
 	if (fun == &uFppuupu) return 1;
 	if (fun == &uFppLpLp) return 1;
 	if (fun == &uFppLppL) return 1;
+	if (fun == &uFpppLUL) return 1;
+	if (fun == &uFpppLpp) return 1;
+	if (fun == &uFppppLi) return 1;
 	if (fun == &uFpppppi) return 1;
 	if (fun == &uFpppppp) return 1;
 	if (fun == &lFipipLu) return 1;
@@ -9493,9 +9736,15 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &WFpi) return 33;
 	if (fun == &WFpp) return 1;
 	if (fun == &uFii) return 49;
+	if (fun == &uFiu) return 49;
+	if (fun == &uFip) return 17;
 	if (fun == &uFui) return 49;
 	if (fun == &uFuu) return 49;
+	if (fun == &uFuL) return 17;
 	if (fun == &uFup) return 17;
+	if (fun == &uFUi) return 33;
+	if (fun == &uFUL) return 1;
+	if (fun == &uFUp) return 1;
 	if (fun == &uFpw) return 33;
 	if (fun == &uFpi) return 33;
 	if (fun == &uFpC) return 1;
@@ -9792,9 +10041,11 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &WFpip) return 33;
 	if (fun == &WFppp) return 1;
 	if (fun == &uFiuu) return 113;
+	if (fun == &uFiup) return 49;
 	if (fun == &uFilp) return 17;
 	if (fun == &uFipu) return 81;
 	if (fun == &uFipL) return 17;
+	if (fun == &uFipp) return 17;
 	if (fun == &uFuii) return 113;
 	if (fun == &uFuip) return 49;
 	if (fun == &uFuCC) return 17;
@@ -9805,8 +10056,14 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &uFupU) return 17;
 	if (fun == &uFupL) return 17;
 	if (fun == &uFupp) return 17;
+	if (fun == &uFUCL) return 1;
+	if (fun == &uFUWL) return 1;
+	if (fun == &uFUuL) return 33;
+	if (fun == &uFUUL) return 1;
+	if (fun == &uFUpL) return 1;
 	if (fun == &uFpii) return 97;
 	if (fun == &uFpiu) return 97;
+	if (fun == &uFpif) return 34;
 	if (fun == &uFpip) return 33;
 	if (fun == &uFpCi) return 65;
 	if (fun == &uFpWi) return 65;
@@ -9818,7 +10075,10 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &uFpuU) return 33;
 	if (fun == &uFpuL) return 33;
 	if (fun == &uFpup) return 33;
+	if (fun == &uFpUu) return 65;
+	if (fun == &uFpUL) return 1;
 	if (fun == &uFpfu) return 34;
+	if (fun == &uFpff) return 3;
 	if (fun == &uFpli) return 65;
 	if (fun == &uFplu) return 65;
 	if (fun == &uFpLu) return 65;
@@ -9826,6 +10086,7 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &uFpLp) return 1;
 	if (fun == &uFppi) return 65;
 	if (fun == &uFppu) return 65;
+	if (fun == &uFppU) return 1;
 	if (fun == &uFppL) return 1;
 	if (fun == &uFppp) return 1;
 	if (fun == &UFppi) return 65;
@@ -10284,26 +10545,57 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &uFiiii) return 241;
 	if (fun == &uFiiuu) return 241;
 	if (fun == &uFifff) return 20;
+	if (fun == &uFuipi) return 177;
 	if (fun == &uFuuuu) return 241;
+	if (fun == &uFuppU) return 17;
 	if (fun == &uFuppd) return 18;
+	if (fun == &uFuppp) return 17;
+	if (fun == &uFUiLL) return 33;
+	if (fun == &uFUCLp) return 1;
+	if (fun == &uFUWLp) return 1;
+	if (fun == &uFUuLp) return 33;
+	if (fun == &uFUULp) return 1;
+	if (fun == &uFULip) return 65;
+	if (fun == &uFULui) return 193;
+	if (fun == &uFULpL) return 1;
+	if (fun == &uFUpLL) return 1;
+	if (fun == &uFUpLp) return 1;
 	if (fun == &uFLppp) return 1;
+	if (fun == &uFpiii) return 225;
 	if (fun == &uFpiip) return 97;
 	if (fun == &uFpipu) return 161;
 	if (fun == &uFpipL) return 33;
 	if (fun == &uFpipp) return 33;
 	if (fun == &uFpCCC) return 1;
+	if (fun == &uFpuii) return 225;
+	if (fun == &uFpuui) return 225;
+	if (fun == &uFpuuu) return 225;
 	if (fun == &uFpuup) return 97;
 	if (fun == &uFpupi) return 161;
 	if (fun == &uFpupu) return 161;
 	if (fun == &uFpupL) return 33;
 	if (fun == &uFpupp) return 33;
+	if (fun == &uFpUuu) return 193;
+	if (fun == &uFpUuU) return 65;
+	if (fun == &uFpUUu) return 129;
+	if (fun == &uFpULu) return 129;
+	if (fun == &uFpULp) return 1;
 	if (fun == &uFplup) return 65;
+	if (fun == &uFpLUL) return 1;
+	if (fun == &uFpLpU) return 1;
+	if (fun == &uFpLpL) return 1;
+	if (fun == &uFpLpp) return 1;
 	if (fun == &uFppii) return 193;
 	if (fun == &uFppiu) return 193;
+	if (fun == &uFppiL) return 65;
 	if (fun == &uFppip) return 65;
 	if (fun == &uFppuu) return 193;
+	if (fun == &uFppuU) return 65;
 	if (fun == &uFppup) return 65;
+	if (fun == &uFppUL) return 1;
 	if (fun == &uFpplp) return 1;
+	if (fun == &uFppLu) return 129;
+	if (fun == &uFppLL) return 1;
 	if (fun == &uFppLp) return 1;
 	if (fun == &uFpppi) return 129;
 	if (fun == &uFpppu) return 129;
@@ -10789,6 +11081,12 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &uFipupp) return 81;
 	if (fun == &uFipLpp) return 17;
 	if (fun == &uFuiiii) return 497;
+	if (fun == &uFULCLL) return 1;
+	if (fun == &uFULWLL) return 1;
+	if (fun == &uFULuLL) return 65;
+	if (fun == &uFULULU) return 1;
+	if (fun == &uFULLUU) return 1;
+	if (fun == &uFUpUpL) return 1;
 	if (fun == &uFLpppL) return 1;
 	if (fun == &uFpCCCC) return 1;
 	if (fun == &uFpWuip) return 193;
@@ -10797,13 +11095,24 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &uFpuupp) return 97;
 	if (fun == &uFpupuu) return 417;
 	if (fun == &uFpuppp) return 33;
+	if (fun == &uFpULuU) return 129;
+	if (fun == &uFpLuUL) return 65;
+	if (fun == &uFpLLUU) return 1;
+	if (fun == &uFpLpLL) return 1;
+	if (fun == &uFpLpLp) return 1;
+	if (fun == &uFppiui) return 449;
+	if (fun == &uFppiLu) return 321;
 	if (fun == &uFppipp) return 65;
 	if (fun == &uFppuup) return 193;
 	if (fun == &uFppupp) return 65;
 	if (fun == &uFpplip) return 129;
 	if (fun == &uFpplpp) return 1;
+	if (fun == &uFppLLu) return 257;
+	if (fun == &uFppLLp) return 1;
 	if (fun == &uFppLpp) return 1;
 	if (fun == &uFpppip) return 129;
+	if (fun == &uFpppLU) return 1;
+	if (fun == &uFpppLp) return 1;
 	if (fun == &uFppppL) return 1;
 	if (fun == &uFppppp) return 1;
 	if (fun == &UFuiCiu) return 433;
@@ -11222,6 +11531,11 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &uFuuuuuu) return 1009;
 	if (fun == &uFupuufp) return 210;
 	if (fun == &uFuppppp) return 17;
+	if (fun == &uFULCLLp) return 1;
+	if (fun == &uFULWLLp) return 1;
+	if (fun == &uFULuLLp) return 65;
+	if (fun == &uFULULLU) return 1;
+	if (fun == &uFUpUpLp) return 1;
 	if (fun == &uFpiuppu) return 609;
 	if (fun == &uFpWuipp) return 193;
 	if (fun == &uFpWuuCp) return 193;
@@ -11230,11 +11544,15 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &uFpuuupp) return 225;
 	if (fun == &uFpuuppp) return 97;
 	if (fun == &uFpupupu) return 673;
+	if (fun == &uFpupupp) return 161;
 	if (fun == &uFpupppp) return 33;
 	if (fun == &uFppuuup) return 449;
 	if (fun == &uFppuupu) return 705;
 	if (fun == &uFppLpLp) return 1;
 	if (fun == &uFppLppL) return 1;
+	if (fun == &uFpppLUL) return 1;
+	if (fun == &uFpppLpp) return 1;
+	if (fun == &uFppppLi) return 513;
 	if (fun == &uFpppppi) return 513;
 	if (fun == &uFpppppp) return 1;
 	if (fun == &lFipipLu) return 593;
diff --git a/src/wrapped/generated/wrapper.h b/src/wrapped/generated/wrapper.h
index cda7f2f5..07f05d63 100644
--- a/src/wrapped/generated/wrapper.h
+++ b/src/wrapped/generated/wrapper.h
@@ -297,11 +297,17 @@ void WFpi(x64emu_t *emu, uintptr_t fnc);
 void WFpp(x64emu_t *emu, uintptr_t fnc);
 void uFEp(x64emu_t *emu, uintptr_t fnc);
 void uFii(x64emu_t *emu, uintptr_t fnc);
+void uFiu(x64emu_t *emu, uintptr_t fnc);
+void uFip(x64emu_t *emu, uintptr_t fnc);
 void uFiS(x64emu_t *emu, uintptr_t fnc);
 void uFui(x64emu_t *emu, uintptr_t fnc);
 void uFuu(x64emu_t *emu, uintptr_t fnc);
+void uFuL(x64emu_t *emu, uintptr_t fnc);
 void uFup(x64emu_t *emu, uintptr_t fnc);
 void uFuS(x64emu_t *emu, uintptr_t fnc);
+void uFUi(x64emu_t *emu, uintptr_t fnc);
+void uFUL(x64emu_t *emu, uintptr_t fnc);
+void uFUp(x64emu_t *emu, uintptr_t fnc);
 void uFpw(x64emu_t *emu, uintptr_t fnc);
 void uFpi(x64emu_t *emu, uintptr_t fnc);
 void uFpC(x64emu_t *emu, uintptr_t fnc);
@@ -687,9 +693,11 @@ void uFEpu(x64emu_t *emu, uintptr_t fnc);
 void uFEpU(x64emu_t *emu, uintptr_t fnc);
 void uFEpp(x64emu_t *emu, uintptr_t fnc);
 void uFiuu(x64emu_t *emu, uintptr_t fnc);
+void uFiup(x64emu_t *emu, uintptr_t fnc);
 void uFilp(x64emu_t *emu, uintptr_t fnc);
 void uFipu(x64emu_t *emu, uintptr_t fnc);
 void uFipL(x64emu_t *emu, uintptr_t fnc);
+void uFipp(x64emu_t *emu, uintptr_t fnc);
 void uFuii(x64emu_t *emu, uintptr_t fnc);
 void uFuip(x64emu_t *emu, uintptr_t fnc);
 void uFuCC(x64emu_t *emu, uintptr_t fnc);
@@ -701,8 +709,14 @@ void uFupU(x64emu_t *emu, uintptr_t fnc);
 void uFupL(x64emu_t *emu, uintptr_t fnc);
 void uFupp(x64emu_t *emu, uintptr_t fnc);
 void uFuNN(x64emu_t *emu, uintptr_t fnc);
+void uFUCL(x64emu_t *emu, uintptr_t fnc);
+void uFUWL(x64emu_t *emu, uintptr_t fnc);
+void uFUuL(x64emu_t *emu, uintptr_t fnc);
+void uFUUL(x64emu_t *emu, uintptr_t fnc);
+void uFUpL(x64emu_t *emu, uintptr_t fnc);
 void uFpii(x64emu_t *emu, uintptr_t fnc);
 void uFpiu(x64emu_t *emu, uintptr_t fnc);
+void uFpif(x64emu_t *emu, uintptr_t fnc);
 void uFpip(x64emu_t *emu, uintptr_t fnc);
 void uFpCi(x64emu_t *emu, uintptr_t fnc);
 void uFpWi(x64emu_t *emu, uintptr_t fnc);
@@ -714,7 +728,10 @@ void uFpuu(x64emu_t *emu, uintptr_t fnc);
 void uFpuU(x64emu_t *emu, uintptr_t fnc);
 void uFpuL(x64emu_t *emu, uintptr_t fnc);
 void uFpup(x64emu_t *emu, uintptr_t fnc);
+void uFpUu(x64emu_t *emu, uintptr_t fnc);
+void uFpUL(x64emu_t *emu, uintptr_t fnc);
 void uFpfu(x64emu_t *emu, uintptr_t fnc);
+void uFpff(x64emu_t *emu, uintptr_t fnc);
 void uFpli(x64emu_t *emu, uintptr_t fnc);
 void uFplu(x64emu_t *emu, uintptr_t fnc);
 void uFpLu(x64emu_t *emu, uintptr_t fnc);
@@ -722,6 +739,7 @@ void uFpLL(x64emu_t *emu, uintptr_t fnc);
 void uFpLp(x64emu_t *emu, uintptr_t fnc);
 void uFppi(x64emu_t *emu, uintptr_t fnc);
 void uFppu(x64emu_t *emu, uintptr_t fnc);
+void uFppU(x64emu_t *emu, uintptr_t fnc);
 void uFppL(x64emu_t *emu, uintptr_t fnc);
 void uFppp(x64emu_t *emu, uintptr_t fnc);
 void uFbWW(x64emu_t *emu, uintptr_t fnc);
@@ -1304,27 +1322,58 @@ void uFEppp(x64emu_t *emu, uintptr_t fnc);
 void uFiiii(x64emu_t *emu, uintptr_t fnc);
 void uFiiuu(x64emu_t *emu, uintptr_t fnc);
 void uFifff(x64emu_t *emu, uintptr_t fnc);
+void uFuipi(x64emu_t *emu, uintptr_t fnc);
 void uFuuuu(x64emu_t *emu, uintptr_t fnc);
+void uFuppU(x64emu_t *emu, uintptr_t fnc);
 void uFuppd(x64emu_t *emu, uintptr_t fnc);
+void uFuppp(x64emu_t *emu, uintptr_t fnc);
+void uFUiLL(x64emu_t *emu, uintptr_t fnc);
+void uFUCLp(x64emu_t *emu, uintptr_t fnc);
+void uFUWLp(x64emu_t *emu, uintptr_t fnc);
+void uFUuLp(x64emu_t *emu, uintptr_t fnc);
+void uFUULp(x64emu_t *emu, uintptr_t fnc);
+void uFULip(x64emu_t *emu, uintptr_t fnc);
+void uFULui(x64emu_t *emu, uintptr_t fnc);
+void uFULpL(x64emu_t *emu, uintptr_t fnc);
+void uFUpLL(x64emu_t *emu, uintptr_t fnc);
+void uFUpLp(x64emu_t *emu, uintptr_t fnc);
 void uFLppp(x64emu_t *emu, uintptr_t fnc);
+void uFpiii(x64emu_t *emu, uintptr_t fnc);
 void uFpiip(x64emu_t *emu, uintptr_t fnc);
 void uFpipu(x64emu_t *emu, uintptr_t fnc);
 void uFpipL(x64emu_t *emu, uintptr_t fnc);
 void uFpipp(x64emu_t *emu, uintptr_t fnc);
 void uFpCCC(x64emu_t *emu, uintptr_t fnc);
+void uFpuii(x64emu_t *emu, uintptr_t fnc);
+void uFpuui(x64emu_t *emu, uintptr_t fnc);
+void uFpuuu(x64emu_t *emu, uintptr_t fnc);
 void uFpuup(x64emu_t *emu, uintptr_t fnc);
 void uFpupi(x64emu_t *emu, uintptr_t fnc);
 void uFpupu(x64emu_t *emu, uintptr_t fnc);
 void uFpupL(x64emu_t *emu, uintptr_t fnc);
 void uFpupp(x64emu_t *emu, uintptr_t fnc);
 void uFpubp(x64emu_t *emu, uintptr_t fnc);
+void uFpUuu(x64emu_t *emu, uintptr_t fnc);
+void uFpUuU(x64emu_t *emu, uintptr_t fnc);
+void uFpUUu(x64emu_t *emu, uintptr_t fnc);
+void uFpULu(x64emu_t *emu, uintptr_t fnc);
+void uFpULp(x64emu_t *emu, uintptr_t fnc);
 void uFplup(x64emu_t *emu, uintptr_t fnc);
+void uFpLUL(x64emu_t *emu, uintptr_t fnc);
+void uFpLpU(x64emu_t *emu, uintptr_t fnc);
+void uFpLpL(x64emu_t *emu, uintptr_t fnc);
+void uFpLpp(x64emu_t *emu, uintptr_t fnc);
 void uFppii(x64emu_t *emu, uintptr_t fnc);
 void uFppiu(x64emu_t *emu, uintptr_t fnc);
+void uFppiL(x64emu_t *emu, uintptr_t fnc);
 void uFppip(x64emu_t *emu, uintptr_t fnc);
 void uFppuu(x64emu_t *emu, uintptr_t fnc);
+void uFppuU(x64emu_t *emu, uintptr_t fnc);
 void uFppup(x64emu_t *emu, uintptr_t fnc);
+void uFppUL(x64emu_t *emu, uintptr_t fnc);
 void uFpplp(x64emu_t *emu, uintptr_t fnc);
+void uFppLu(x64emu_t *emu, uintptr_t fnc);
+void uFppLL(x64emu_t *emu, uintptr_t fnc);
 void uFppLp(x64emu_t *emu, uintptr_t fnc);
 void uFpppi(x64emu_t *emu, uintptr_t fnc);
 void uFpppu(x64emu_t *emu, uintptr_t fnc);
@@ -1918,6 +1967,7 @@ void IFppIII(x64emu_t *emu, uintptr_t fnc);
 void uFEippp(x64emu_t *emu, uintptr_t fnc);
 void uFEpipp(x64emu_t *emu, uintptr_t fnc);
 void uFEpupp(x64emu_t *emu, uintptr_t fnc);
+void uFEpppu(x64emu_t *emu, uintptr_t fnc);
 void uFEpppp(x64emu_t *emu, uintptr_t fnc);
 void uFEpppV(x64emu_t *emu, uintptr_t fnc);
 void uFiuuuu(x64emu_t *emu, uintptr_t fnc);
@@ -1925,6 +1975,12 @@ void uFiuppi(x64emu_t *emu, uintptr_t fnc);
 void uFipupp(x64emu_t *emu, uintptr_t fnc);
 void uFipLpp(x64emu_t *emu, uintptr_t fnc);
 void uFuiiii(x64emu_t *emu, uintptr_t fnc);
+void uFULCLL(x64emu_t *emu, uintptr_t fnc);
+void uFULWLL(x64emu_t *emu, uintptr_t fnc);
+void uFULuLL(x64emu_t *emu, uintptr_t fnc);
+void uFULULU(x64emu_t *emu, uintptr_t fnc);
+void uFULLUU(x64emu_t *emu, uintptr_t fnc);
+void uFUpUpL(x64emu_t *emu, uintptr_t fnc);
 void uFLpppL(x64emu_t *emu, uintptr_t fnc);
 void uFpCCCC(x64emu_t *emu, uintptr_t fnc);
 void uFpWuip(x64emu_t *emu, uintptr_t fnc);
@@ -1933,13 +1989,24 @@ void uFpuuuu(x64emu_t *emu, uintptr_t fnc);
 void uFpuupp(x64emu_t *emu, uintptr_t fnc);
 void uFpupuu(x64emu_t *emu, uintptr_t fnc);
 void uFpuppp(x64emu_t *emu, uintptr_t fnc);
+void uFpULuU(x64emu_t *emu, uintptr_t fnc);
+void uFpLuUL(x64emu_t *emu, uintptr_t fnc);
+void uFpLLUU(x64emu_t *emu, uintptr_t fnc);
+void uFpLpLL(x64emu_t *emu, uintptr_t fnc);
+void uFpLpLp(x64emu_t *emu, uintptr_t fnc);
+void uFppiui(x64emu_t *emu, uintptr_t fnc);
+void uFppiLu(x64emu_t *emu, uintptr_t fnc);
 void uFppipp(x64emu_t *emu, uintptr_t fnc);
 void uFppuup(x64emu_t *emu, uintptr_t fnc);
 void uFppupp(x64emu_t *emu, uintptr_t fnc);
 void uFpplip(x64emu_t *emu, uintptr_t fnc);
 void uFpplpp(x64emu_t *emu, uintptr_t fnc);
+void uFppLLu(x64emu_t *emu, uintptr_t fnc);
+void uFppLLp(x64emu_t *emu, uintptr_t fnc);
 void uFppLpp(x64emu_t *emu, uintptr_t fnc);
 void uFpppip(x64emu_t *emu, uintptr_t fnc);
+void uFpppLU(x64emu_t *emu, uintptr_t fnc);
+void uFpppLp(x64emu_t *emu, uintptr_t fnc);
 void uFppppL(x64emu_t *emu, uintptr_t fnc);
 void uFppppp(x64emu_t *emu, uintptr_t fnc);
 void uFbuuWW(x64emu_t *emu, uintptr_t fnc);
@@ -2448,10 +2515,16 @@ void uFEpippi(x64emu_t *emu, uintptr_t fnc);
 void uFEpippp(x64emu_t *emu, uintptr_t fnc);
 void uFEpCppp(x64emu_t *emu, uintptr_t fnc);
 void uFEpuppp(x64emu_t *emu, uintptr_t fnc);
+void uFEpppLp(x64emu_t *emu, uintptr_t fnc);
 void uFipuppp(x64emu_t *emu, uintptr_t fnc);
 void uFuuuuuu(x64emu_t *emu, uintptr_t fnc);
 void uFupuufp(x64emu_t *emu, uintptr_t fnc);
 void uFuppppp(x64emu_t *emu, uintptr_t fnc);
+void uFULCLLp(x64emu_t *emu, uintptr_t fnc);
+void uFULWLLp(x64emu_t *emu, uintptr_t fnc);
+void uFULuLLp(x64emu_t *emu, uintptr_t fnc);
+void uFULULLU(x64emu_t *emu, uintptr_t fnc);
+void uFUpUpLp(x64emu_t *emu, uintptr_t fnc);
 void uFpiuppu(x64emu_t *emu, uintptr_t fnc);
 void uFpWuipp(x64emu_t *emu, uintptr_t fnc);
 void uFpWuuCp(x64emu_t *emu, uintptr_t fnc);
@@ -2460,11 +2533,15 @@ void uFpuuuup(x64emu_t *emu, uintptr_t fnc);
 void uFpuuupp(x64emu_t *emu, uintptr_t fnc);
 void uFpuuppp(x64emu_t *emu, uintptr_t fnc);
 void uFpupupu(x64emu_t *emu, uintptr_t fnc);
+void uFpupupp(x64emu_t *emu, uintptr_t fnc);
 void uFpupppp(x64emu_t *emu, uintptr_t fnc);
 void uFppuuup(x64emu_t *emu, uintptr_t fnc);
 void uFppuupu(x64emu_t *emu, uintptr_t fnc);
 void uFppLpLp(x64emu_t *emu, uintptr_t fnc);
 void uFppLppL(x64emu_t *emu, uintptr_t fnc);
+void uFpppLUL(x64emu_t *emu, uintptr_t fnc);
+void uFpppLpp(x64emu_t *emu, uintptr_t fnc);
+void uFppppLi(x64emu_t *emu, uintptr_t fnc);
 void uFpppppi(x64emu_t *emu, uintptr_t fnc);
 void uFpppppp(x64emu_t *emu, uintptr_t fnc);
 void uFbippup(x64emu_t *emu, uintptr_t fnc);
@@ -2839,6 +2916,7 @@ void uFppiuppi(x64emu_t *emu, uintptr_t fnc);
 void uFppiuppp(x64emu_t *emu, uintptr_t fnc);
 void uFppuiupu(x64emu_t *emu, uintptr_t fnc);
 void uFppuuuup(x64emu_t *emu, uintptr_t fnc);
+void uFppppLiu(x64emu_t *emu, uintptr_t fnc);
 void uFppppppp(x64emu_t *emu, uintptr_t fnc);
 void uFbuuuwwu(x64emu_t *emu, uintptr_t fnc);
 void uFbuupwwC(x64emu_t *emu, uintptr_t fnc);
@@ -3089,9 +3167,11 @@ void uFuupuuiuf(x64emu_t *emu, uintptr_t fnc);
 void uFulpppppp(x64emu_t *emu, uintptr_t fnc);
 void uFpuupupuu(x64emu_t *emu, uintptr_t fnc);
 void uFpupuuuCp(x64emu_t *emu, uintptr_t fnc);
+void uFpupLpupp(x64emu_t *emu, uintptr_t fnc);
 void uFppuuuupp(x64emu_t *emu, uintptr_t fnc);
 void uFppuuuppu(x64emu_t *emu, uintptr_t fnc);
 void uFppuppppp(x64emu_t *emu, uintptr_t fnc);
+void uFppppuppu(x64emu_t *emu, uintptr_t fnc);
 void uFpppppupp(x64emu_t *emu, uintptr_t fnc);
 void uFbWWWWWWp(x64emu_t *emu, uintptr_t fnc);
 void UFbCuwwWWu(x64emu_t *emu, uintptr_t fnc);
@@ -3348,6 +3428,7 @@ void iFpppLLipppp(x64emu_t *emu, uintptr_t fnc);
 void iFpppppiiuup(x64emu_t *emu, uintptr_t fnc);
 void iFpppppppipi(x64emu_t *emu, uintptr_t fnc);
 void iFpppppppppu(x64emu_t *emu, uintptr_t fnc);
+void uFpuuuuuuupp(x64emu_t *emu, uintptr_t fnc);
 void uFpddpippppp(x64emu_t *emu, uintptr_t fnc);
 void uFpppppppppp(x64emu_t *emu, uintptr_t fnc);
 void UFbCuWCCuuCW(x64emu_t *emu, uintptr_t fnc);
@@ -3423,6 +3504,7 @@ void uFEpLuupppLuV(x64emu_t *emu, uintptr_t fnc);
 void uFEpLuppppLup(x64emu_t *emu, uintptr_t fnc);
 void uFEpLuppppLuA(x64emu_t *emu, uintptr_t fnc);
 void uFEppppppuppp(x64emu_t *emu, uintptr_t fnc);
+void uFpuuuuuuuppp(x64emu_t *emu, uintptr_t fnc);
 void uFppppppppppp(x64emu_t *emu, uintptr_t fnc);
 void UFbuuuwwwwWWu(x64emu_t *emu, uintptr_t fnc);
 void pFEpipppppppi(x64emu_t *emu, uintptr_t fnc);
@@ -3462,6 +3544,7 @@ void iFpLpppppppppp(x64emu_t *emu, uintptr_t fnc);
 void iFppLlliLppppp(x64emu_t *emu, uintptr_t fnc);
 void iFpppipipiipii(x64emu_t *emu, uintptr_t fnc);
 void iFpppppppppppp(x64emu_t *emu, uintptr_t fnc);
+void uFpuupppppuuuu(x64emu_t *emu, uintptr_t fnc);
 void UFbCuuWWwwCCup(x64emu_t *emu, uintptr_t fnc);
 void UFbuuuWWWWWWWW(x64emu_t *emu, uintptr_t fnc);
 void pFEpLiiuuLipii(x64emu_t *emu, uintptr_t fnc);
@@ -3510,6 +3593,7 @@ void vFfffffffffffffff(x64emu_t *emu, uintptr_t fnc);
 void vFpUUUUUUUUUUUuuu(x64emu_t *emu, uintptr_t fnc);
 void vFpppippppppppppp(x64emu_t *emu, uintptr_t fnc);
 void vFppppppppppppppp(x64emu_t *emu, uintptr_t fnc);
+void uFpuupppppuupuuuu(x64emu_t *emu, uintptr_t fnc);
 void pFpuiippppppppppp(x64emu_t *emu, uintptr_t fnc);
 void pFppipppppppppppp(x64emu_t *emu, uintptr_t fnc);
 void pFppupppppppppppp(x64emu_t *emu, uintptr_t fnc);
diff --git a/src/wrapped/wrappedcuda.c b/src/wrapped/wrappedcuda.c
new file mode 100644
index 00000000..0dc2f3b0
--- /dev/null
+++ b/src/wrapped/wrappedcuda.c
@@ -0,0 +1,154 @@
+#define _GNU_SOURCE         /* See feature_test_macros(7) */
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <dlfcn.h>
+
+#include "wrappedlibs.h"
+
+#include "wrapper.h"
+#include "bridge.h"
+#include "librarian.h"
+#include "librarian/library_private.h"
+#include "x64emu.h"
+#include "debug.h"
+#include "box64context.h"
+#include "emu/x64emu_private.h"
+#include "callback.h"
+#include "elfloader.h"
+
+const char* cudaName = "libcuda.so.1";
+#define LIBNAME cuda
+
+#include "generated/wrappedcudatypes.h"
+
+#include "wrappercallback.h"
+
+#define SUPER() \
+    GO(0)   \
+    GO(1)   \
+    GO(2)   \
+    GO(3)
+
+typedef struct my_CUDA_HOST_NODE_PARAMS_v1_s {
+    void* f;
+    void* data;
+} my_CUDA_HOST_NODE_PARAMS_v1_t;
+
+// CUstreamCallback
+#define GO(A)   \
+static uintptr_t my_CUstreamCallback_fct_##A = 0;                       \
+static void my_CUstreamCallback_##A(void* a, uint32_t b, void* c)    \
+{                                                                       \
+    RunFunctionFmt(my_CUstreamCallback_fct_##A, "pup", a, b, c);        \
+}
+SUPER()
+#undef GO
+static void* find_CUstreamCallback_Fct(void* fct)
+{
+    if(!fct) return NULL;
+    if(GetNativeFnc((uintptr_t)fct))  return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if(my_CUstreamCallback_fct_##A == (uintptr_t)fct) return my_CUstreamCallback_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my_CUstreamCallback_fct_##A == 0) {my_CUstreamCallback_fct_##A = (uintptr_t)fct; return my_CUstreamCallback_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for cuda CUstreamCallback callback\n");
+    return NULL;
+}
+// CuHostFn
+#define GO(A)   \
+static uintptr_t my_CuHostFn_fct_##A = 0;           \
+static void my_CuHostFn_##A(void* a)                \
+{                                                   \
+    RunFunctionFmt(my_CuHostFn_fct_##A, "p", a);    \
+}
+SUPER()
+#undef GO
+static void* find_CuHostFn_Fct(void* fct)
+{
+    if(!fct) return NULL;
+    if(GetNativeFnc((uintptr_t)fct))  return GetNativeFnc((uintptr_t)fct);
+    #define GO(A) if(my_CuHostFn_fct_##A == (uintptr_t)fct) return my_CuHostFn_##A;
+    SUPER()
+    #undef GO
+    #define GO(A) if(my_CuHostFn_fct_##A == 0) {my_CuHostFn_fct_##A = (uintptr_t)fct; return my_CuHostFn_##A; }
+    SUPER()
+    #undef GO
+    printf_log(LOG_NONE, "Warning, no more slot for cuda CuHostFn callback\n");
+    return NULL;
+}
+static void* reverse_CuHostFn_Fct(void* fct)
+{
+    if(!fct) return fct;
+    if(CheckBridged(my_lib->w.bridge, fct))
+        return (void*)CheckBridged(my_lib->w.bridge, fct);
+    #define GO(A) if(my_CuHostFn_##A == fct) return (void*)my_CuHostFn_fct_##A;
+    SUPER()
+    #undef GO
+    return (void*)AddBridge(my_lib->w.bridge, vFp, fct, 0, NULL);
+}
+
+#undef SUPER
+
+EXPORT uint32_t my_cuStreamAddCallback(x64emu_t* emu, void* h, void* f, void* data, uint32_t flags)
+{
+    return my->cuStreamAddCallback(h, find_CUstreamCallback_Fct(f), data, flags);
+}
+
+EXPORT uint32_t my_cuStreamAddCallback_ptsz(x64emu_t* emu, void* h, void* f, void* data, uint32_t flags)
+{
+    return my->cuStreamAddCallback_ptsz(h, find_CUstreamCallback_Fct(f), data, flags);
+}
+
+EXPORT uint32_t my_cuGraphAddHostNode(x64emu_t* emu, void* node, void* graph, void* dep, size_t dep_sz, my_CUDA_HOST_NODE_PARAMS_v1_t* param)
+{
+    my_CUDA_HOST_NODE_PARAMS_v1_t param_ = {0};
+    if(param) {
+        param_.f = find_CuHostFn_Fct(param->f);
+        param_.data = param->data;
+    }
+    return my->cuGraphAddHostNode(node, graph, dep, dep_sz, param?(&param_):NULL);
+}
+
+EXPORT uint32_t my_cuLaunchHostFunc(x64emu_t* emu, void* h, void* f, void* data)
+{
+    return my->cuLaunchHostFunc(h, find_CuHostFn_Fct(f), data);
+}
+
+EXPORT uint32_t my_cuLaunchHostFunc_ptsz(x64emu_t* emu, void* h, void* f, void* data)
+{
+    return my->cuLaunchHostFunc_ptsz(h, find_CuHostFn_Fct(f), data);
+}
+
+EXPORT uint32_t my_cuGraphHostNodeGetParams(x64emu_t* emu, void* node, my_CUDA_HOST_NODE_PARAMS_v1_t* p)
+{
+    uint32_t ret = my->cuGraphHostNodeGetParams(node, p);
+    if(p) p->f = reverse_CuHostFn_Fct(p->f);
+    return ret;
+}
+
+EXPORT uint32_t my_cuGraphHostNodeSetParams(x64emu_t* emu, void* node, my_CUDA_HOST_NODE_PARAMS_v1_t* p)
+{
+    my_CUDA_HOST_NODE_PARAMS_v1_t param_ = {0};
+    if(p) {
+        param_.f = find_CuHostFn_Fct(p->f);
+        param_.data = p->data;
+    }
+    return my->cuGraphHostNodeSetParams(node, p?(&param_):NULL);
+}
+
+EXPORT uint32_t my_cuGraphExecHostNodeSetParams(x64emu_t* emu, void* g, void* node, my_CUDA_HOST_NODE_PARAMS_v1_t* p)
+{
+    my_CUDA_HOST_NODE_PARAMS_v1_t param_ = {0};
+    if(p) {
+        param_.f = find_CuHostFn_Fct(p->f);
+        param_.data = p->data;
+    }
+    return my->cuGraphExecHostNodeSetParams(g, node, p?(&param_):NULL);
+}
+
+#include "wrappedlib_init.h"
+
+// see https://github.com/SveSop/nvidia-libs for nvidia libs installation in wine
\ No newline at end of file
diff --git a/src/wrapped/wrappedcuda_private.h b/src/wrapped/wrappedcuda_private.h
new file mode 100644
index 00000000..60a167bd
--- /dev/null
+++ b/src/wrapped/wrappedcuda_private.h
@@ -0,0 +1,625 @@
+#if !(defined(GO) && defined(GOM) && defined(GO2) && defined(DATA))
+#error Meh...
+#endif
+
+GO(cuArray3DCreate, uFpp)
+GO(cuArray3DCreate_v2, uFpp)
+GO(cuArray3DGetDescriptor, uFpp)
+GO(cuArray3DGetDescriptor_v2, uFpp)
+GO(cuArrayCreate, uFpp)
+GO(cuArrayCreate_v2, uFpp)
+GO(cuArrayDestroy, uFp)
+GO(cuArrayGetDescriptor, uFpp)
+GO(cuArrayGetDescriptor_v2, uFpp)
+GO(cuArrayGetMemoryRequirements, uFppi)
+GO(cuArrayGetPlane, uFppu)
+GO(cuArrayGetSparseProperties, uFpp)
+GO(cuCoredumpGetAttribute, uFupp)
+GO(cuCoredumpGetAttributeGlobal, uFupp)
+GO(cuCoredumpSetAttribute, uFupp)
+GO(cuCoredumpSetAttributeGlobal, uFupp)
+GO(cuCtxAttach, uFpu)
+GO(cuCtxCreate, uFpui)
+GO(cuCtxCreate_v2, uFpui)
+GO(cuCtxCreate_v3, uFppiui)
+GO(cuCtxDestroy, uFp)
+GO(cuCtxDestroy_v2, uFp)
+GO(cuCtxDetach, uFp)
+GO(cuCtxDisablePeerAccess, uFp)
+GO(cuCtxEnablePeerAccess, uFpu)
+GO(cuCtxGetApiVersion, uFpp)
+GO(cuCtxGetCacheConfig, uFp)
+GO(cuCtxGetCurrent, uFp)
+GO(cuCtxGetDevice, uFp)
+GO(cuCtxGetExecAffinity, uFpu)
+GO(cuCtxGetFlags, uFp)
+GO(cuCtxGetId, uFpp)
+GO(cuCtxGetLimit, uFpu)
+GO(cuCtxGetSharedMemConfig, uFp)
+GO(cuCtxGetStreamPriorityRange, uFpp)
+GO(cuCtxPopCurrent, uFp)
+GO(cuCtxPopCurrent_v2, uFp)
+GO(cuCtxPushCurrent, uFp)
+GO(cuCtxPushCurrent_v2, uFp)
+GO(cuCtxResetPersistingL2Cache, uFv)
+GO(cuCtxSetCacheConfig, uFu)
+GO(cuCtxSetCurrent, uFp)
+GO(cuCtxSetFlags, uFu)
+GO(cuCtxSetLimit, uFuL)
+GO(cuCtxSetSharedMemConfig, uFu)
+GO(cuCtxSynchronize, uFv)
+//GO(cudbgApiAttach, 
+//DATA(cudbgApiClientPid, 
+//DATA(cudbgApiClientRevision, 
+//GO(cudbgApiDetach, 
+//GO(cudbgApiInit, 
+//DATA(cudbgAttachHandlerAvailable, 
+//DATA(cudbgDebuggerCapabilities, 
+//DATA(cudbgDebuggerInitialized, 
+//DATA(cudbgDetachSuspendedDevicesMask, 
+//DATA(cudbgEnableIntegratedMemcheck, 
+//DATA(cudbgEnableLaunchBlocking, 
+//DATA(cudbgEnablePreemptionDebugging, 
+//GO(cudbgGetAPI, 
+//GO(cudbgGetAPIVersion, 
+//DATA(cudbgInjectionPath, 
+//DATA(cudbgIpcFlag, 
+//GO(cudbgMain, 
+//GO(cudbgReportDriverApiError, 
+//DATA(cudbgReportDriverApiErrorFlags, 
+//GO(cudbgReportDriverInternalError, 
+//DATA(cudbgReportedDriverApiErrorCode, 
+//DATA(cudbgReportedDriverApiErrorFuncNameAddr, 
+//DATA(cudbgReportedDriverApiErrorFuncNameSize, 
+//DATA(cudbgReportedDriverInternalErrorCode, 
+//DATA(cudbgResumeForAttachDetach, 
+//DATA(cudbgRpcEnabled, 
+//DATA(cudbgSessionId, 
+//DATA(cudbgUseExternalDebugger, 
+GO(cuDestroyExternalMemory, uFp)
+GO(cuDestroyExternalSemaphore, uFp)
+GO(cuDeviceCanAccessPeer, uFpii)
+GO(cuDeviceComputeCapability, uFppi)
+GO(cuDeviceGet, uFpi)
+GO(cuDeviceGetAttribute, uFpui)
+GO(cuDeviceGetByPCIBusId, uFpp)
+GO(cuDeviceGetCount, uFp)
+GO(cuDeviceGetDefaultMemPool, uFpi)
+GO(cuDeviceGetExecAffinitySupport, uFpui)
+GO(cuDeviceGetGraphMemAttribute, uFiup)
+GO(cuDeviceGetLuid, uFppi)
+GO(cuDeviceGetMemPool, uFpi)
+GO(cuDeviceGetName, uFpii)
+GO(cuDeviceGetNvSciSyncAttributes, uFpii)
+GO(cuDeviceGetP2PAttribute, uFpuii)
+GO(cuDeviceGetPCIBusId, uFpii)
+GO(cuDeviceGetProperties, uFpi)
+GO(cuDeviceGetTexture1DLinearMaxWidth, uFpuui)
+GO(cuDeviceGetUuid, uFpi)
+GO(cuDeviceGetUuid_v2, uFpi)
+GO(cuDeviceGraphMemTrim, uFi)
+GO(cuDevicePrimaryCtxGetState, uFipp)
+GO(cuDevicePrimaryCtxRelease, uFi)
+GO(cuDevicePrimaryCtxRelease_v2, uFi)
+GO(cuDevicePrimaryCtxReset, uFi)
+GO(cuDevicePrimaryCtxReset_v2, uFi)
+GO(cuDevicePrimaryCtxRetain, uFpi)
+GO(cuDevicePrimaryCtxSetFlags, uFiu)
+GO(cuDevicePrimaryCtxSetFlags_v2, uFiu)
+GO(cuDeviceSetGraphMemAttribute, uFiup)
+GO(cuDeviceSetMemPool, uFip)
+GO(cuDeviceTotalMem, uFpi)
+GO(cuDeviceTotalMem_v2, uFpi)
+GO(cuDriverGetVersion, uFp)
+//GO(cuEGLApiInit, 
+GO(cuEGLStreamConsumerAcquireFrame, uFpppu)
+GO(cuEGLStreamConsumerConnect, uFpp)
+GO(cuEGLStreamConsumerConnectWithFlags, uFppu)
+GO(cuEGLStreamConsumerDisconnect, uFp)
+GO(cuEGLStreamConsumerReleaseFrame, uFppp)
+GO(cuEGLStreamProducerConnect, uFppii)
+GO(cuEGLStreamProducerDisconnect, uFp)
+//GO(cuEGLStreamProducerPresentFrame, 
+GO(cuEGLStreamProducerReturnFrame, uFppp)
+GO(cuEventCreate, uFpu)
+GO(cuEventCreateFromEGLSync, uFppu)
+GO(cuEventDestroy, uFp)
+GO(cuEventDestroy_v2, uFp)
+GO(cuEventElapsedTime, uFppp)
+GO(cuEventQuery, uFp)
+GO(cuEventRecord, uFpp)
+GO(cuEventRecord_ptsz, uFpp)
+GO(cuEventRecordWithFlags, uFppu)
+GO(cuEventRecordWithFlags_ptsz, uFppu)
+GO(cuEventSynchronize, uFp)
+GO(cuExternalMemoryGetMappedBuffer, uFppp)
+GO(cuExternalMemoryGetMappedMipmappedArray, uFppp)
+GO(cuFlushGPUDirectRDMAWrites, uFuu)
+GO(cuFuncGetAttribute, uFpup)
+GO(cuFuncGetModule, uFpp)
+GO(cuFuncSetAttribute, uFpui)
+GO(cuFuncSetBlockShape, uFpiii)
+GO(cuFuncSetCacheConfig, uFpu)
+GO(cuFuncSetSharedMemConfig, uFpu)
+GO(cuFuncSetSharedSize, uFpu)
+GO(cuGetErrorName, uFup)
+GO(cuGetErrorString, uFup)
+GO(cuGetExportTable, uFpp)
+//GOM(cuGetProcAddress, uFppiUp)
+//GOM(cuGetProcAddress_v2, uFppiUp)
+GO(cuGLCtxCreate, uFpui)
+GO(cuGLCtxCreate_v2, uFpui)
+GO(cuGLGetDevices, uFppuu)
+GO(cuGLGetDevices_v2, uFppuu)
+GO(cuGLInit, uFv)
+GO(cuGLMapBufferObject, uFppu)
+GO(cuGLMapBufferObjectAsync, uFppup)
+GO(cuGLMapBufferObjectAsync_v2, uFppup)
+GO(cuGLMapBufferObjectAsync_v2_ptsz, uFppup)
+GO(cuGLMapBufferObject_v2, uFppu)
+GO(cuGLMapBufferObject_v2_ptds, uFppu)
+GO(cuGLRegisterBufferObject, uFu)
+GO(cuGLSetBufferObjectMapFlags, uFuu)
+GO(cuGLUnmapBufferObject, uFu)
+GO(cuGLUnmapBufferObjectAsync, uFup)
+GO(cuGLUnregisterBufferObject, uFu)
+GO(cuGraphAddBatchMemOpNode, uFpppLp)
+GO(cuGraphAddChildGraphNode, uFpppLp)
+GO(cuGraphAddDependencies, uFpppL)
+GO(cuGraphAddEmptyNode, uFpppL)
+GO(cuGraphAddEventRecordNode, uFpppLp)
+GO(cuGraphAddEventWaitNode, uFpppLp)
+GO(cuGraphAddExternalSemaphoresSignalNode, uFpppLp)
+GO(cuGraphAddExternalSemaphoresWaitNode, uFpppLp)
+GOM(cuGraphAddHostNode, uFEpppLp)
+GO(cuGraphAddKernelNode, uFpppLp)
+GO(cuGraphAddKernelNode_v2, uFpppLp)
+GO(cuGraphAddMemAllocNode, uFpppLp)
+GO(cuGraphAddMemcpyNode, uFpppLpp)
+GO(cuGraphAddMemFreeNode, uFpppLU)
+GO(cuGraphAddMemsetNode, uFpppLpp)
+//GOM(cuGraphAddNode, uFEpppLp)
+GO(cuGraphBatchMemOpNodeGetParams, uFpp)
+GO(cuGraphBatchMemOpNodeSetParams, uFpp)
+GO(cuGraphChildGraphNodeGetGraph, uFpp)
+GO(cuGraphClone, uFpp)
+GO(cuGraphCreate, uFpu)
+GO(cuGraphDebugDotPrint, uFppu)
+GO(cuGraphDestroy, uFp)
+GO(cuGraphDestroyNode, uFp)
+GO(cuGraphEventRecordNodeGetEvent, uFpp)
+GO(cuGraphEventRecordNodeSetEvent, uFpp)
+GO(cuGraphEventWaitNodeGetEvent, uFpp)
+GO(cuGraphEventWaitNodeSetEvent, uFpp)
+GO(cuGraphExecBatchMemOpNodeSetParams, uFppp)
+GO(cuGraphExecChildGraphNodeSetParams, uFppp)
+GO(cuGraphExecDestroy, uFp)
+GO(cuGraphExecEventRecordNodeSetEvent, uFppp)
+GO(cuGraphExecEventWaitNodeSetEvent, uFppp)
+GO(cuGraphExecExternalSemaphoresSignalNodeSetParams, uFppp)
+GO(cuGraphExecExternalSemaphoresWaitNodeSetParams, uFppp)
+GO(cuGraphExecGetFlags, uFpp)
+GOM(cuGraphExecHostNodeSetParams, uFEppp)
+GO(cuGraphExecKernelNodeSetParams, uFppp)
+GO(cuGraphExecKernelNodeSetParams_v2, uFppp)
+GO(cuGraphExecMemcpyNodeSetParams, uFpppp)
+GO(cuGraphExecMemsetNodeSetParams, uFpppp)
+//GOM(cuGraphExecNodeSetParams, uFEppp)
+GO(cuGraphExecUpdate, uFppp)
+GO(cuGraphExecUpdate_v2, uFppp)
+GO(cuGraphExternalSemaphoresSignalNodeGetParams, uFpp)
+GO(cuGraphExternalSemaphoresSignalNodeSetParams, uFpp)
+GO(cuGraphExternalSemaphoresWaitNodeGetParams, uFpp)
+GO(cuGraphExternalSemaphoresWaitNodeSetParams, uFpp)
+GO(cuGraphGetEdges, uFpppp)
+GO(cuGraphGetNodes, uFppp)
+GO(cuGraphGetRootNodes, uFppp)
+GOM(cuGraphHostNodeGetParams, uFEpp)
+GOM(cuGraphHostNodeSetParams, uFEpp)
+GO(cuGraphicsEGLRegisterImage, uFppu)
+GO(cuGraphicsGLRegisterBuffer, uFpuu)
+GO(cuGraphicsGLRegisterImage, uFpuuu)
+GO(cuGraphicsMapResources, uFupp)
+GO(cuGraphicsMapResources_ptsz, uFupp)
+GO(cuGraphicsResourceGetMappedEglFrame, uFppuu)
+GO(cuGraphicsResourceGetMappedMipmappedArray, uFpp)
+GO(cuGraphicsResourceGetMappedPointer, uFppp)
+GO(cuGraphicsResourceGetMappedPointer_v2, uFppp)
+GO(cuGraphicsResourceSetMapFlags, uFpu)
+GO(cuGraphicsResourceSetMapFlags_v2, uFpu)
+GO(cuGraphicsSubResourceGetMappedArray, uFppuu)
+GO(cuGraphicsUnmapResources, uFupp)
+GO(cuGraphicsUnmapResources_ptsz, uFupp)
+GO(cuGraphicsUnregisterResource, uFp)
+GO(cuGraphicsVDPAURegisterOutputSurface, uFpuu)
+GO(cuGraphicsVDPAURegisterVideoSurface, uFpuu)
+GO(cuGraphInstantiate, uFppppL)
+GO(cuGraphInstantiate_v2, uFppppL)
+GO(cuGraphInstantiateWithFlags, uFppU)
+GO(cuGraphInstantiateWithParams, uFppp)
+GO(cuGraphInstantiateWithParams_ptsz, uFppp)
+GO(cuGraphKernelNodeCopyAttributes, uFpp)
+GO(cuGraphKernelNodeGetAttribute, uFpup)
+GO(cuGraphKernelNodeGetParams, uFpp)
+GO(cuGraphKernelNodeGetParams_v2, uFpp)
+GO(cuGraphKernelNodeSetAttribute, uFpup)
+GO(cuGraphKernelNodeSetParams, uFpp)
+GO(cuGraphKernelNodeSetParams_v2, uFpp)
+GO(cuGraphLaunch, uFpp)
+GO(cuGraphLaunch_ptsz, uFpp)
+GO(cuGraphMemAllocNodeGetParams, uFpp)
+GO(cuGraphMemcpyNodeGetParams, uFpp)
+GO(cuGraphMemcpyNodeSetParams, uFpp)
+GO(cuGraphMemFreeNodeGetParams, uFpp)
+GO(cuGraphMemsetNodeGetParams, uFpp)
+GO(cuGraphMemsetNodeSetParams, uFpp)
+GO(cuGraphNodeFindInClone, uFppp)
+GO(cuGraphNodeGetDependencies, uFppp)
+GO(cuGraphNodeGetDependentNodes, uFppp)
+GO(cuGraphNodeGetEnabled, uFppp)
+GO(cuGraphNodeGetType, uFpp)
+GO(cuGraphNodeSetEnabled, uFppu)
+//GOM(cuGraphNodeSetParams, uFEpp)
+GO(cuGraphReleaseUserObject, uFppu)
+GO(cuGraphRemoveDependencies, uFpppL)
+GO(cuGraphRetainUserObject, uFppuu)
+GO(cuGraphUpload, uFpp)
+GO(cuGraphUpload_ptsz, uFpp)
+GO(cuImportExternalMemory, uFpp)
+GO(cuImportExternalSemaphore, uFpp)
+GO(cuInit, uFu)
+GO(cuIpcCloseMemHandle, uFU)
+GO(cuIpcGetEventHandle, uFpp)
+GO(cuIpcGetMemHandle, uFpU)
+GO(cuIpcOpenEventHandle, uFpU)
+GO(cuIpcOpenMemHandle, uFpUu)
+GO(cuIpcOpenMemHandle_v2, uFpuU)
+GO(cuKernelGetAttribute, uFpupi)
+GO(cuKernelGetFunction, uFpp)
+GO(cuKernelSetAttribute, uFuipi)
+GO(cuKernelSetCacheConfig, uFpui)
+GO(cuLaunch, uFp)
+GO(cuLaunchCooperativeKernel, uFpuuuuuuupp)
+GO(cuLaunchCooperativeKernelMultiDevice, uFpuu)
+GO(cuLaunchCooperativeKernel_ptsz, uFpuuuuuuupp)
+GO(cuLaunchGrid, uFpii)
+GO(cuLaunchGridAsync, uFpiip)
+GOM(cuLaunchHostFunc, uFEppp)
+GOM(cuLaunchHostFunc_ptsz, uFEppp)
+GO(cuLaunchKernel, uFpuuuuuuuppp)
+GO(cuLaunchKernelEx, uFpppp)
+GO(cuLaunchKernelEx_ptsz, uFpppp)
+GO(cuLaunchKernel_ptsz, uFpuuuuuuuppp)
+GO(cuLibraryGetGlobal, uFpppp)
+GO(cuLibraryGetKernel, uFppp)
+GO(cuLibraryGetManaged, uFpppp)
+GO(cuLibraryGetModule, uFpp)
+GO(cuLibraryGetUnifiedFunction, uFppp)
+GO(cuLibraryLoadData, uFppppuppu)
+GO(cuLibraryLoadFromFile, uFppppuppu)
+GO(cuLibraryUnload, uFp)
+GO(cuLinkAddData, uFpupLpupp)
+GO(cuLinkAddData_v2, uFpupLpupp)
+GO(cuLinkAddFile, uFpupupp)
+GO(cuLinkAddFile_v2, uFpupupp)
+GO(cuLinkComplete, uFppp)
+GO(cuLinkCreate, uFuppp)
+GO(cuLinkCreate_v2, uFuppp)
+GO(cuLinkDestroy, uFp)
+GO(cuMemAddressFree, uFUL)
+GO(cuMemAddressReserve, uFpLLUU)
+GO(cuMemAdvise, uFULui)
+GO(cuMemAdvise_v2, uFULui)
+GO(cuMemAlloc, uFpLp)
+GO(cuMemAllocAsync, uFpLp)
+GO(cuMemAllocAsync_ptsz, uFpLp)
+GO(cuMemAllocFromPoolAsync, uFpLpp)
+GO(cuMemAllocFromPoolAsync_ptsz, uFpLpp)
+GO(cuMemAllocHost, uFpL)
+GO(cuMemAllocHost_v2, uFpL)
+GO(cuMemAllocManaged, uFpLu)
+GO(cuMemAllocPitch, uFppLLu)
+GO(cuMemAllocPitch_v2, uFppLLu)
+GO(cuMemAlloc_v2, uFpL)
+GO(cuMemcpy, uFUUL)
+GO(cuMemcpy2D, uFp)
+GO(cuMemcpy2DAsync, uFpp)
+GO(cuMemcpy2DAsync_v2, uFpp)
+GO(cuMemcpy2DAsync_v2_ptsz, uFpp)
+GO(cuMemcpy2DUnaligned, uFp)
+GO(cuMemcpy2DUnaligned_v2, uFp)
+GO(cuMemcpy2DUnaligned_v2_ptds, uFp)
+GO(cuMemcpy2D_v2, uFp)
+GO(cuMemcpy2D_v2_ptds, uFp)
+GO(cuMemcpy3D, uFp)
+GO(cuMemcpy3DAsync, uFpp)
+GO(cuMemcpy3DAsync_v2, uFpp)
+GO(cuMemcpy3DAsync_v2_ptsz, uFpp)
+GO(cuMemcpy3DPeer, uFp)
+GO(cuMemcpy3DPeerAsync, uFpp)
+GO(cuMemcpy3DPeerAsync_ptsz, uFpp)
+GO(cuMemcpy3DPeer_ptds, uFp)
+GO(cuMemcpy3D_v2, uFp)
+GO(cuMemcpy3D_v2_ptds, uFp)
+GO(cuMemcpyAsync, uFUULp)
+GO(cuMemcpyAsync_ptsz, uFUULp)
+GO(cuMemcpyAtoA, uFpLpLL)
+GO(cuMemcpyAtoA_v2, uFpLpLL)
+GO(cuMemcpyAtoA_v2_ptds, uFpLpLL)
+GO(cuMemcpyAtoD, uFUpLL)
+GO(cuMemcpyAtoD_v2, uFUpLL)
+GO(cuMemcpyAtoD_v2_ptds, uFUpLL)
+GO(cuMemcpyAtoH, uFppLL)
+GO(cuMemcpyAtoHAsync, uFppLLp)
+GO(cuMemcpyAtoHAsync_v2, uFppLLp)
+GO(cuMemcpyAtoHAsync_v2_ptsz, uFppLLp)
+GO(cuMemcpyAtoH_v2, uFppLL)
+GO(cuMemcpyAtoH_v2_ptds, uFppLL)
+GO(cuMemcpyDtoA, uFpLUL)
+GO(cuMemcpyDtoA_v2, uFpLUL)
+GO(cuMemcpyDtoA_v2_ptds, uFpLUL)
+GO(cuMemcpyDtoD, uFUUL)
+GO(cuMemcpyDtoDAsync, uFUULp)
+GO(cuMemcpyDtoDAsync_v2, uFUULp)
+GO(cuMemcpyDtoDAsync_v2_ptsz, uFUULp)
+GO(cuMemcpyDtoD_v2, uFUUL)
+GO(cuMemcpyDtoD_v2_ptds, uFUUL)
+GO(cuMemcpyDtoH, uFpUL)
+GO(cuMemcpyDtoHAsync, uFpULp)
+GO(cuMemcpyDtoHAsync_v2, uFpULp)
+GO(cuMemcpyDtoHAsync_v2_ptsz, uFpULp)
+GO(cuMemcpyDtoH_v2, uFpUL)
+GO(cuMemcpyDtoH_v2_ptds, uFpUL)
+GO(cuMemcpyHtoA, uFpLpL)
+GO(cuMemcpyHtoAAsync, uFpLpLp)
+GO(cuMemcpyHtoAAsync_v2, uFpLpLp)
+GO(cuMemcpyHtoAAsync_v2_ptsz, uFpLpLp)
+GO(cuMemcpyHtoA_v2, uFpLpL)
+GO(cuMemcpyHtoA_v2_ptds, uFpLpL)
+GO(cuMemcpyHtoD, uFUpL)
+GO(cuMemcpyHtoDAsync, uFUpLp)
+GO(cuMemcpyHtoDAsync_v2, uFUpLp)
+GO(cuMemcpyHtoDAsync_v2_ptsz, uFUpLp)
+GO(cuMemcpyHtoD_v2, uFUpL)
+GO(cuMemcpyHtoD_v2_ptds, uFUpL)
+GO(cuMemcpyPeer, uFUpUpL)
+GO(cuMemcpyPeerAsync, uFUpUpLp)
+GO(cuMemcpyPeerAsync_ptsz, uFUpUpLp)
+GO(cuMemcpyPeer_ptds, uFUpUpL)
+GO(cuMemcpy_ptds, uFUUL)
+GO(cuMemCreate, uFpLpU)
+GO(cuMemExportToShareableHandle, uFpUuU)
+GO(cuMemFree, uFU)
+GO(cuMemFreeAsync, uFUp)
+GO(cuMemFreeAsync_ptsz, uFUp)
+GO(cuMemFreeHost, uFp)
+GO(cuMemFree_v2, uFU)
+GO(cuMemGetAccess, uFppU)
+GO(cuMemGetAddressRange, uFppU)
+GO(cuMemGetAddressRange_v2, uFppU)
+GO(cuMemGetAllocationGranularity, uFppu)
+GO(cuMemGetAllocationPropertiesFromHandle, uFpU)
+//GO(cuMemGetAttribute, 
+//GO(cuMemGetAttribute_v2, 
+GO(cuMemGetHandleForAddressRange, uFpULuU)
+GO(cuMemGetInfo, uFpp)
+GO(cuMemGetInfo_v2, uFpp)
+GO(cuMemHostAlloc, uFpLu)
+GO(cuMemHostGetDevicePointer, uFppu)
+GO(cuMemHostGetDevicePointer_v2, uFppu)
+GO(cuMemHostGetFlags, uFpp)
+GO(cuMemHostRegister, uFpLu)
+GO(cuMemHostRegister_v2, uFpLu)
+GO(cuMemHostUnregister, uFp)
+GO(cuMemImportFromShareableHandle, uFppu)
+GO(cuMemMap, uFULLUU)
+GO(cuMemMapArrayAsync, uFpup)
+GO(cuMemMapArrayAsync_ptsz, uFpup)
+GO(cuMemPoolCreate, uFpp)
+GO(cuMemPoolDestroy, uFp)
+GO(cuMemPoolExportPointer, uFpU)
+GO(cuMemPoolExportToShareableHandle, uFppuU)
+GO(cuMemPoolGetAccess, uFppp)
+GO(cuMemPoolGetAttribute, uFpup)
+GO(cuMemPoolImportFromShareableHandle, uFppuU)
+GO(cuMemPoolImportPointer, uFppp)
+GO(cuMemPoolSetAccess, uFppL)
+GO(cuMemPoolSetAttribute, uFpup)
+GO(cuMemPoolTrimTo, uFpL)
+GO(cuMemPrefetchAsync, uFULip)
+GO(cuMemPrefetchAsync_ptsz, uFULip)
+GO(cuMemPrefetchAsync_v2, uFULip)
+GO(cuMemPrefetchAsync_v2_ptsz, uFULip)
+GO(cuMemRangeGetAttribute, uFpLuUL)
+GO(cuMemRangeGetAttributes, uFpppLUL)
+GO(cuMemRelease, uFU)
+GO(cuMemRetainAllocationHandle, uFpp)
+GO(cuMemSetAccess, uFULpL)
+GO(cuMemsetD16, uFUWL)
+GO(cuMemsetD16Async, uFUWLp)
+GO(cuMemsetD16Async_ptsz, uFUWLp)
+GO(cuMemsetD16_v2, uFUWL)
+GO(cuMemsetD16_v2_ptds, uFUWL)
+GO(cuMemsetD2D16, uFULWLL) 
+GO(cuMemsetD2D16Async, uFULWLLp)
+GO(cuMemsetD2D16Async_ptsz, uFULWLLp)
+GO(cuMemsetD2D16_v2, uFULWLL)
+GO(cuMemsetD2D16_v2_ptds, uFULWLL)
+GO(cuMemsetD2D32, uFULuLL)
+GO(cuMemsetD2D32Async, uFULuLLp)
+GO(cuMemsetD2D32Async_ptsz, uFULuLLp)
+GO(cuMemsetD2D32_v2, uFULuLL)
+GO(cuMemsetD2D32_v2_ptds, uFULuLL)
+GO(cuMemsetD2D8, uFULCLL)
+GO(cuMemsetD2D8Async, uFULCLLp)
+GO(cuMemsetD2D8Async_ptsz, uFULCLLp)
+GO(cuMemsetD2D8_v2, uFULCLL)
+GO(cuMemsetD2D8_v2_ptds, uFULCLL)
+GO(cuMemsetD32, uFUuL)
+GO(cuMemsetD32Async, uFUuLp)
+GO(cuMemsetD32Async_ptsz, uFUuLp)
+GO(cuMemsetD32_v2, uFUuL)
+GO(cuMemsetD32_v2_ptds, uFUuL)
+GO(cuMemsetD8, uFUCL)
+GO(cuMemsetD8Async, uFUCLp)
+GO(cuMemsetD8Async_ptsz, uFUCLp)
+GO(cuMemsetD8_v2, uFUCL)
+GO(cuMemsetD8_v2_ptds, uFUCL)
+GO(cuMemUnmap, uFUL)
+GO(cuMipmappedArrayCreate, uFppu)
+GO(cuMipmappedArrayDestroy, uFp)
+GO(cuMipmappedArrayGetLevel, uFppu)
+GO(cuMipmappedArrayGetMemoryRequirements, uFppi)
+GO(cuMipmappedArrayGetSparseProperties, uFpp)
+GO(cuModuleGetFunction, uFppp)
+GO(cuModuleGetGlobal, uFpppp)
+GO(cuModuleGetGlobal_v2, uFpppp)
+GO(cuModuleGetLoadingMode, uFp)
+GO(cuModuleGetSurfRef, uFppp)
+GO(cuModuleGetTexRef, uFppp)
+GO(cuModuleLoad, uFpp)
+GO(cuModuleLoadData, uFpp)
+GO(cuModuleLoadDataEx, uFppupp)
+GO(cuModuleLoadFatBinary, uFpp)
+GO(cuModuleUnload, uFp)
+GO(cuMulticastAddDevice, uFUi)
+GO(cuMulticastBindAddr, uFULULU)
+GO(cuMulticastBindMem, uFULULLU)
+GO(cuMulticastCreate, uFpp)
+GO(cuMulticastGetGranularity, uFppu)
+GO(cuMulticastUnbind, uFUiLL)
+GO(cuOccupancyAvailableDynamicSMemPerBlock, uFppii)
+GO(cuOccupancyMaxActiveBlocksPerMultiprocessor, uFppiL)
+GO(cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags, uFppiLu)
+GO(cuOccupancyMaxActiveClusters, uFppp)
+GO(cuOccupancyMaxPotentialBlockSize, uFppppLi)
+GO(cuOccupancyMaxPotentialBlockSizeWithFlags, uFppppLiu)
+GO(cuOccupancyMaxPotentialClusterSize, uFppp)
+GO(cuParamSetf, uFpif)
+GO(cuParamSeti, uFpiu)
+GO(cuParamSetSize, uFpu)
+GO(cuParamSetTexRef, uFpip)
+GO(cuParamSetv, uFpipu)
+GO(cuPointerGetAttribute, uFpuU)
+GO(cuPointerGetAttributes, uFuppU)
+GO(cuPointerSetAttribute, uFpuU)
+GO(cuProfilerInitialize, uFppu)
+GO(cuProfilerStart, uFv)
+GO(cuProfilerStop, uFv)
+GO(cuSignalExternalSemaphoresAsync, uFppup)
+GO(cuSignalExternalSemaphoresAsync_ptsz, uFppup)
+GOM(cuStreamAddCallback, uFEpppu)
+GOM(cuStreamAddCallback_ptsz, uFEpppu)
+GO(cuStreamAttachMemAsync, uFpULu)
+GO(cuStreamAttachMemAsync_ptsz, uFpULu)
+GO(cuStreamBatchMemOp, uFpupu)
+GO(cuStreamBatchMemOp_ptsz, uFpupu)
+GO(cuStreamBatchMemOp_v2, uFpupu)
+GO(cuStreamBatchMemOp_v2_ptsz, uFpupu)
+GO(cuStreamBeginCapture, uFpu)
+GO(cuStreamBeginCapture_ptsz, uFpu)
+GO(cuStreamBeginCapture_v2, uFpu)
+GO(cuStreamBeginCapture_v2_ptsz, uFpu)
+GO(cuStreamCopyAttributes, uFpp)
+GO(cuStreamCopyAttributes_ptsz, uFpp)
+GO(cuStreamCreate, uFpu)
+GO(cuStreamCreateWithPriority, uFpui)
+GO(cuStreamDestroy, uFp)
+GO(cuStreamDestroy_v2, uFp)
+GO(cuStreamEndCapture, uFpp)
+GO(cuStreamEndCapture_ptsz, uFpp)
+GO(cuStreamGetAttribute, uFpup)
+GO(cuStreamGetAttribute_ptsz, uFpup)
+GO(cuStreamGetCaptureInfo, uFpppppp)
+GO(cuStreamGetCaptureInfo_ptsz, uFpppppp)
+GO(cuStreamGetCaptureInfo_v2, uFpppppp)
+GO(cuStreamGetCaptureInfo_v2_ptsz, uFpppppp)
+GO(cuStreamGetCtx, uFpp)
+GO(cuStreamGetCtx_ptsz, uFpp)
+GO(cuStreamGetFlags, uFpp)
+GO(cuStreamGetFlags_ptsz, uFpp)
+GO(cuStreamGetId, uFpp)
+GO(cuStreamGetId_ptsz, uFpp)
+GO(cuStreamGetPriority, uFpp)
+GO(cuStreamGetPriority_ptsz, uFpp)
+GO(cuStreamIsCapturing, uFpp)
+GO(cuStreamIsCapturing_ptsz, uFpp)
+GO(cuStreamQuery, uFp)
+GO(cuStreamQuery_ptsz, uFp)
+GO(cuStreamSetAttribute, uFpup)
+GO(cuStreamSetAttribute_ptsz, uFpup)
+GO(cuStreamSynchronize, uFp)
+GO(cuStreamSynchronize_ptsz, uFp)
+GO(cuStreamUpdateCaptureDependencies, uFppLu)
+GO(cuStreamUpdateCaptureDependencies_ptsz, uFppLu)
+GO(cuStreamWaitEvent, uFppu)
+GO(cuStreamWaitEvent_ptsz, uFppu)
+GO(cuStreamWaitValue32, uFpUuu)
+GO(cuStreamWaitValue32_ptsz, uFpUuu)
+GO(cuStreamWaitValue32_v2, uFpUuu)
+GO(cuStreamWaitValue32_v2_ptsz, uFpUuu)
+GO(cuStreamWaitValue64, uFpUUu)
+GO(cuStreamWaitValue64_ptsz, uFpUUu)
+GO(cuStreamWaitValue64_v2, uFpUUu)
+GO(cuStreamWaitValue64_v2_ptsz, uFpUUu)
+GO(cuStreamWriteValue32, uFpUuu)
+GO(cuStreamWriteValue32_ptsz, uFpUuu)
+GO(cuStreamWriteValue32_v2, uFpUuu)
+GO(cuStreamWriteValue32_v2_ptsz, uFpUuu)
+GO(cuStreamWriteValue64, uFpUUu)
+GO(cuStreamWriteValue64_ptsz, uFpUUu)
+GO(cuStreamWriteValue64_v2, uFpUUu)
+GO(cuStreamWriteValue64_v2_ptsz, uFpUUu)
+GO(cuSurfObjectCreate, uFpp)
+GO(cuSurfObjectDestroy, uFU)
+GO(cuSurfObjectGetResourceDesc, uFpU)
+GO(cuSurfRefGetArray, uFpp)
+GO(cuSurfRefSetArray, uFppu)
+GO(cuTensorMapEncodeIm2col, uFpuupppppuupuuuu)
+GO(cuTensorMapEncodeTiled, uFpuupppppuuuu)
+GO(cuTensorMapReplaceAddress, uFpp)
+GO(cuTexObjectCreate, uFpppp)
+GO(cuTexObjectDestroy, uFU)
+GO(cuTexObjectGetResourceDesc, uFpU)
+GO(cuTexObjectGetResourceViewDesc, uFpU)
+GO(cuTexObjectGetTextureDesc, uFpU)
+GO(cuTexRefCreate, uFp)
+GO(cuTexRefDestroy, uFp)
+GO(cuTexRefGetAddress, uFpp)
+GO(cuTexRefGetAddressMode, uFppi)
+GO(cuTexRefGetAddress_v2, uFpp)
+GO(cuTexRefGetArray, uFpp)
+GO(cuTexRefGetBorderColor, uFpp)
+GO(cuTexRefGetFilterMode, uFpp)
+GO(cuTexRefGetFlags, uFpp)
+GO(cuTexRefGetFormat, uFppp)
+GO(cuTexRefGetMaxAnisotropy, uFpp)
+GO(cuTexRefGetMipmapFilterMode, uFpp)
+GO(cuTexRefGetMipmapLevelBias, uFpp)
+GO(cuTexRefGetMipmapLevelClamp, uFppp)
+GO(cuTexRefGetMipmappedArray, uFpp)
+GO(cuTexRefSetAddress, uFppUL)
+GO(cuTexRefSetAddress2D, uFppUL)
+GO(cuTexRefSetAddress2D_v2, uFppUL)
+GO(cuTexRefSetAddress2D_v3, uFppUL)
+GO(cuTexRefSetAddressMode, uFpiu)
+GO(cuTexRefSetAddress_v2, uFppUL)
+GO(cuTexRefSetArray, uFppu)
+GO(cuTexRefSetBorderColor, uFpp)
+GO(cuTexRefSetFilterMode, uFpu)
+GO(cuTexRefSetFlags, uFpu)
+GO(cuTexRefSetFormat, uFpui)
+GO(cuTexRefSetMaxAnisotropy, uFpu)
+GO(cuTexRefSetMipmapFilterMode, uFpu)
+GO(cuTexRefSetMipmapLevelBias, uFpf)
+GO(cuTexRefSetMipmapLevelClamp, uFpff)
+GO(cuTexRefSetMipmappedArray, uFppu)
+GO(cuThreadExchangeStreamCaptureMode, uFp)
+//GOM(cuUserObjectCreate, uFEpppuu)
+GO(cuUserObjectRelease, uFpu)
+GO(cuUserObjectRetain, uFpu)
+//GO(cuVDPAUCtxCreate, 
+//GOM(cuVDPAUCtxCreate_v2, uFEpuiup)
+//GOM(cuVDPAUGetDevice, uFEpup)
+GO(cuWaitExternalSemaphoresAsync, uFppup)
+GO(cuWaitExternalSemaphoresAsync_ptsz, uFppup)