about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2021-04-04 18:42:35 +0200
committerGitHub <noreply@github.com>2021-04-04 18:42:35 +0200
commitb897d558739c8215e2eef57ce5ff397059448c2f (patch)
tree6e5eef23b43a41720d5a2fd22bc3a536b6ed7f24
parentc172fbd8835de65f717119b24908cf3ad9e01424 (diff)
parent7b099f9c6405da5e23e00b1dbdd06e025990a60d (diff)
downloadbox64-b897d558739c8215e2eef57ce5ff397059448c2f.tar.gz
box64-b897d558739c8215e2eef57ce5ff397059448c2f.zip
Merge pull request #1 from rajdakin/wrapper_add
[WRAPPER] Added a new feature in the wrapper, forced all i32 to i64
-rwxr-xr-xrebuild_wrappers.py319
-rw-r--r--src/wrapped/generated/wrapper.c2582
-rw-r--r--src/wrapped/generated/wrapper.h2
3 files changed, 1843 insertions, 1060 deletions
diff --git a/rebuild_wrappers.py b/rebuild_wrappers.py
index 86cc6154..7ae8f7b7 100755
--- a/rebuild_wrappers.py
+++ b/rebuild_wrappers.py
@@ -203,11 +203,52 @@ def main(root, defines, files, ver):
 			# Mark as OK for CMake
 			with open(os.path.join(root, "src", "wrapped", "generated", "functions_list.txt"), 'w') as file:
 				file.write(functions_list)
-			#return 0
+			return 0
 	except IOError:
 		# The file does not exist yet, first run
 		pass
 	
+	# Detect simple wrappings
+	simple_wraps = {}
+	
+	# H could be allowed maybe?
+	allowed_simply = "v"
+	allowed_regs = "cCwWiuIUlLp"
+	allowed_fpr = "fd"
+	
+	# Sanity checks
+	forbidden_simple = "EeDKVOSNMH"
+	assert(len(allowed_simply) + len(allowed_regs) + len(allowed_fpr) + len(forbidden_simple) == len(values))
+	assert(all(c not in allowed_regs for c in allowed_simply))
+	assert(all(c not in allowed_simply + allowed_regs for c in allowed_fpr))
+	assert(all(c not in allowed_simply + allowed_regs + allowed_fpr for c in forbidden_simple))
+	assert(all(c in allowed_simply + allowed_regs + allowed_fpr + forbidden_simple for c in values))
+	
+	# Only search on real wrappers
+	for k in ["()"] + gbl_idxs:
+		for v in gbl[k]:
+			regs_count = 0
+			fpr_count  = 0
+			
+			if v[0] in forbidden_simple:
+				continue
+			for c in v[2:]:
+				if c in allowed_regs:
+					regs_count = regs_count + 1
+				elif c in allowed_fpr:
+					fpr_count = fpr_count + 1
+				elif c in allowed_simply:
+					continue
+				else:
+					break
+			else:
+				# No character in forbidden_simply
+				if (regs_count <= 6) and (fpr_count <= 4):
+					# All checks passed!
+					simple_wraps.setdefault(k, []).append(v)
+	simple_idxs = list(simple_wraps.keys())
+	simple_idxs.sort(key=lambda v: [-1] if v == "()" else splitdef(v, defines))
+	
 	# Now the files rebuilding part
 	# File headers and guards
 	files_headers = {
@@ -279,6 +320,8 @@ typedef void (*wrapper_t)(x64emu_t* emu, uintptr_t fnc);
 	}
 	files_guards = {"wrapper.c": """""",
 		"wrapper.h": """
+int isSimpleWrapper(wrapper_t fun);
+
 #endif //__WRAPPER_H_
 """
 	}
@@ -308,25 +351,22 @@ typedef void (*wrapper_t)(x64emu_t* emu, uintptr_t fnc);
 		file.write(files_headers["wrapper.c"] % ver)
 		
 		# First part: typedefs
-		for v in gbl["()"]:
-			#         E            e             v       c         w          i          I          C          W           u           U           f        d         D              K         l           L            p        V        O          S         N      M			    H
-			types = ["x64emu_t*", "x64emu_t**", "void", "int8_t", "int16_t", "int32_t", "int64_t", "uint8_t", "uint16_t", "uint32_t", "uint64_t", "float", "double", "long double", "double", "intptr_t", "uintptr_t", "void*", "void*", "int32_t", "void*", "...", "...", "unsigned __int128"]
-			if len(values) != len(types):
-					raise NotImplementedError("len(values) = {lenval} != len(types) = {lentypes}".format(lenval=len(values), lentypes=len(types)))
+		def generate_typedefs(key):
+			# i and u should only be 32 bits
+			#         E            e             v       c         w          i          I          C          W           u           U           f        d         D              K         l           L            p        V        O          S        N      M      H
+			types = ["x64emu_t*", "x64emu_t**", "void", "int8_t", "int16_t", "int64_t", "int64_t", "uint8_t", "uint16_t", "uint64_t", "uint64_t", "float", "double", "long double", "double", "intptr_t", "uintptr_t", "void*", "void*", "int32_t", "void*", "...", "...", "unsigned __int128"]
 			
-			file.write("typedef " + types[values.index(v[0])] + " (*" + v + "_t)"
-				+ "(" + ', '.join(types[values.index(t)] for t in v[2:]) + ");\n")
-		for k in gbl_idxs:
-			file.write("\n#if " + k + "\n")
-			for v in gbl[k]:
-				#         E            e             v       c         w          i          I          C          W           u           U           f        d         D              K         l           L            p        V        O          S         N      M            H
-				types = ["x64emu_t*", "x64emu_t**", "void", "int8_t", "int16_t", "int64_t", "int64_t", "uint8_t", "uint16_t", "uint64_t", "uint64_t", "float", "double", "long double", "double", "intptr_t", "uintptr_t", "void*", "void*", "int32_t", "void*", "...", "...", "unsigned __int128"]
-				#																  int322_t normaly							uint32_t normaly
+			for v in gbl[key]:
 				if len(values) != len(types):
-						raise NotImplementedError("len(values) = {lenval} != len(types) = {lentypes}".format(lenval=len(values), lentypes=len(types)))
+					raise NotImplementedError("len(values) = {lenval} != len(types) = {lentypes}".format(lenval=len(values), lentypes=len(types)))
 				
 				file.write("typedef " + types[values.index(v[0])] + " (*" + v + "_t)"
 					+ "(" + ', '.join(types[values.index(t)] for t in v[2:]) + ");\n")
+		
+		generate_typedefs("()")
+		for k in gbl_idxs:
+			file.write("\n#if " + k + "\n")
+			generate_typedefs(k)
 			file.write("#endif\n")
 		
 		file.write("\n")
@@ -348,134 +388,134 @@ typedef void (*wrapper_t)(x64emu_t* emu, uintptr_t fnc);
 		#         E  e  v  c  w  i  I  C  W  u  U  f  d  D  K  l  L  p  V  O  S  N  M, H
 		vstack = [0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 1, 1, 0, 1, 1, 1, 2, 2]
 		arg_s = [
-			"",											# E
-			"",											# e
-			"",											# v
-			"*(int8_t*)(R_RSP + {p}), ",				# c
-			"*(int16_t*)(R_RSP + {p}), ",	 			# w
-			"*(int64_t*)(R_RSP + {p}), ",				# i	int32_t normaly
-			"*(int64_t*)(R_RSP + {p}), ",				# I
-			"*(uint8_t*)(R_RSP + {p}), ",				# C
-			"*(uint16_t*)(R_RSP + {p}), ",				# W
-			"*(uint64_t*)(R_RSP + {p}), ",				# u uint32_t normaly
-			"*(uint64_t*)(R_RSP + {p}), ",				# U
-			"*(float*)(R_RSP + {p}), ",					# f
-			"*(double*)(R_RSP + {p}), ",				# d
-			"*(long double*)(R_RSP + {p}), ",			# D
-			"FromLD((void*)(R_RSP + {p})), ",			# K
-			"*(intptr_t*)(R_RSP + {p}), ",				# l
-			"*(uintptr_t*)(R_RSP + {p}), ",				# L
-			"*(void**)(R_RSP + {p}), ",					# p
-			"",					# V
-			"of_convert(*(int32_t*)(R_RSP + {p})), ",	# O
-			"io_convert(*(void**)(R_RSP + {p})), ",		# S
-			"*(void**)(R_RSP + {p}), ",					# N
-			"*(void**)(R_RSP + {p}),*(void**)(R_RSP + {p} + 8), ",	# M
-			"*(unsigned __int128)(R_RSP + {p}), "		# H
+			"",                                         # E
+			"",                                         # e
+			"",                                         # v
+			"*(int8_t*)(R_RSP + {p}), ",                # c
+			"*(int16_t*)(R_RSP + {p}), ",               # w
+			"*(int64_t*)(R_RSP + {p}), ",               # i  should be int32_t
+			"*(int64_t*)(R_RSP + {p}), ",               # I
+			"*(uint8_t*)(R_RSP + {p}), ",               # C
+			"*(uint16_t*)(R_RSP + {p}), ",              # W
+			"*(uint64_t*)(R_RSP + {p}), ",              # u  should be uint32_t
+			"*(uint64_t*)(R_RSP + {p}), ",              # U
+			"*(float*)(R_RSP + {p}), ",                 # f
+			"*(double*)(R_RSP + {p}), ",                # d
+			"*(long double*)(R_RSP + {p}), ",           # D
+			"FromLD((void*)(R_RSP + {p})), ",           # K
+			"*(intptr_t*)(R_RSP + {p}), ",              # l
+			"*(uintptr_t*)(R_RSP + {p}), ",             # L
+			"*(void**)(R_RSP + {p}), ",                 # p
+			"",                                         # V
+			"of_convert(*(int32_t*)(R_RSP + {p})), ",   # O
+			"io_convert(*(void**)(R_RSP + {p})), ",     # S
+			"*(void**)(R_RSP + {p}), ",                 # N
+			"*(void**)(R_RSP + {p}),*(void**)(R_RSP + {p} + 8), ", # M
+			"*(unsigned __int128)(R_RSP + {p}), "       # H
 		]
 		arg_r = [
-			"",                                  		# E
-			"",                                 		# e
-			"",                                       # v
-			"(int8_t){p}, ",              # c
-			"(int16_t){p}, ",             # w
-			"(int64_t){p}, ",             # i	int32_ normaly
-			"(int64_t){p}, ",             # I
-			"(uint8_t){p}, ",             # C
-			"(uint16_t){p}, ",            # W
-			"(uint64_t){p}, ",            # u	uint32_ normaly
-			"(uint64_t){p}, ",            # U
-			"",               # f
-			"",              # d
-			"",         # D
-			"",         # K
-			"(intptr_t){p}, ",            # l
-			"(uintptr_t){p}, ",           # L
-			"(void*){p}, ",               # p
-			"",                 # V
-			"of_convert((int32_t){p}), ", # O
-			"io_convert((void*){p}), ",   # S
-			"(void*){p}, ",				  # N
-			"(void*){p}, ",	# M
-			"#error use pp instead, ", #H
+			"",                            # E
+			"",                            # e
+			"",                            # v
+			"(int8_t){p}, ",               # c
+			"(int16_t){p}, ",              # w
+			"(int64_t){p}, ",              # i  should int32_t
+			"(int64_t){p}, ",              # I
+			"(uint8_t){p}, ",              # C
+			"(uint16_t){p}, ",             # W
+			"(uint64_t){p}, ",             # u  should uint32_t
+			"(uint64_t){p}, ",             # U
+			"",                            # f
+			"",                            # d
+			"",                            # D
+			"",                            # K
+			"(intptr_t){p}, ",             # l
+			"(uintptr_t){p}, ",            # L
+			"(void*){p}, ",                # p
+			"",                            # V
+			"of_convert((int32_t){p}), ",  # O
+			"io_convert((void*){p}), ",    # S
+			"(void*){p}, ",                # N
+			"(void*){p}, ",                # M
+			"\n#error Use pp instead\n",   # H
 		]
 		arg_x = [
-			"",                                  # E
-			"",                                 # e
-			"",                                       # v
-			"",              # c
-			"",             # w
-			"",             # i
-			"",             # I
-			"",             # C
-			"",            # W
-			"",            # u
-			"",            # U
-			"emu->xmm[{p}].f[0], ",               # f
-			"emu->xmm[{p}].d[0], ",              # d
-			"",         # D
-			"",         # K
-			"",            # l
-			"",           # L
-			"",               # p
-			"",                 # V
-			"", # O
-			"",   # S
-			"",				  # N
-			"",	# M
-			"", # H
+			"",                      # E
+			"",                      # e
+			"",                      # v
+			"",                      # c
+			"",                      # w
+			"",                      # i
+			"",                      # I
+			"",                      # C
+			"",                      # W
+			"",                      # u
+			"",                      # U
+			"emu->xmm[{p}].f[0], ",  # f
+			"emu->xmm[{p}].d[0], ",  # d
+			"",                      # D
+			"",                      # K
+			"",                      # l
+			"",                      # L
+			"",                      # p
+			"",                      # V
+			"",                      # O
+			"",                      # S
+			"",                      # N
+			"",                      # M
+			"",                      # H
 		]
 		arg_o = [
-			"emu, ",                                  # E
-			"&emu, ",                                 # e
-			"",                                       # v
-			"",              # c
-			"",             # w
-			"",             # i
-			"",             # I
-			"",             # C
-			"",            # W
-			"",            # u
-			"",            # U
-			"",               # f
-			"",              # d
-			"",         # D
-			"",         # K
-			"",            # l
-			"",           # L
-			"",               # p
-			"(void*)(R_RSP + {p}), ",                 # V
-			"", # O
-			"",   # S
-			"",					# N
-			"",	# M
-			"", # H
+			"emu, ",                   # E
+			"&emu, ",                  # e
+			"",                        # v
+			"",                        # c
+			"",                        # w
+			"",                        # i
+			"",                        # I
+			"",                        # C
+			"",                        # W
+			"",                        # u
+			"",                        # U
+			"",                        # f
+			"",                        # d
+			"",                        # D
+			"",                        # K
+			"",                        # l
+			"",                        # L
+			"",                        # p
+			"(void*)(R_RSP + {p}), ",  # V
+			"",                        # O
+			"",                        # S
+			"",                        # N
+			"",                        # M
+			"",                        # H
 		]
 
 		vals = [
-			"\n#error Invalid return type: emulator\n",                     # E
-			"\n#error Invalid return type: &emulator\n",                    # e
-			"fn({0});",                                                     # v
-			"R_RAX=fn({0});",                                               # c
-			"R_RAX=fn({0});",                                               # w
-			"R_RAX=(int64_t)fn({0});",                                     	# i int32_t normaly
-			"R_RAX=(int64_t)fn({0});",           							# I
-			"R_RAX=(unsigned char)fn({0});",                                # C
-			"R_RAX=(unsigned short)fn({0});",                               # W
-			"R_RAX=(uint64_t)fn({0});",                                     # u	uint32_t normaly
-			"R_RAX=fn({0});", 												# U
-			"emu->xmm[0].f[0]=fn({0});",             						# f
-			"emu->xmm[0].d[0]=fn({0});",            						# d
-			"long double ld=fn({0}); fpu_do_push(emu); ST0val = ld;",       # D
-			"double db=fn({0}); fpu_do_push(emu); ST0val = db;",            # K
-			"R_RAX=(intptr_t)fn({0});",                                     # l
-			"R_RAX=(uintptr_t)fn({0});",                                    # L
-			"R_RAX=(uintptr_t)fn({0});",                                    # p
-			"\n#error Invalid return type: va_list\n",                      # V
-			"\n#error Invalid return type: at_flags\n",                     # O
-			"\n#error Invalid return type: _io_file*\n",                    # S
-			"\n#error Invalid return type: ... with 1 arg\n",               # N
-			"\n#error Invalid return type: ... with 2 args\n",              # M
+			"\n#error Invalid return type: emulator\n",                # E
+			"\n#error Invalid return type: &emulator\n",               # e
+			"fn({0});",                                                # v
+			"R_RAX=fn({0});",                                          # c
+			"R_RAX=fn({0});",                                          # w
+			"R_RAX=(int64_t)fn({0});",                                 # i  int32_t normaly
+			"R_RAX=(int64_t)fn({0});",                                 # I
+			"R_RAX=(unsigned char)fn({0});",                           # C
+			"R_RAX=(unsigned short)fn({0});",                          # W
+			"R_RAX=(uint64_t)fn({0});",                                # u  uint32_t normaly
+			"R_RAX=fn({0});",                                          # U
+			"emu->xmm[0].f[0]=fn({0});",                               # f
+			"emu->xmm[0].d[0]=fn({0});",                               # d
+			"long double ld=fn({0}); fpu_do_push(emu); ST0val = ld;",  # D
+			"double db=fn({0}); fpu_do_push(emu); ST0val = db;",       # K
+			"R_RAX=(intptr_t)fn({0});",                                # l
+			"R_RAX=(uintptr_t)fn({0});",                               # L
+			"R_RAX=(uintptr_t)fn({0});",                               # p
+			"\n#error Invalid return type: va_list\n",                 # V
+			"\n#error Invalid return type: at_flags\n",                # O
+			"\n#error Invalid return type: _io_file*\n",               # S
+			"\n#error Invalid return type: ... with 1 arg\n",          # N
+			"\n#error Invalid return type: ... with 2 args\n",         # M
 			"unsigned __int128 u128 = fn({0}); R_RAX=(u128&0xFFFFFFFFFFFFFFFFL); R_RDX=(u128>>64)&0xFFFFFFFFFFFFFFFFL;", # H
 		]
 		# Asserts
@@ -549,6 +589,17 @@ typedef void (*wrapper_t)(x64emu_t* emu, uintptr_t fnc);
 				function_writer(file, v[0], v[1] + "_t", v[0][0], v[0][2:])
 			file.write("#endif\n")
 		
+		# Write the isSimpleWrapper function
+		file.write("\nint isSimpleWrapper(wrapper_t fun) {\n")
+		for k in simple_idxs:
+			if k != "()":
+				file.write("#if " + k + "\n")
+			for v in simple_wraps[k]:
+				file.write("\tif (fun == &" + v + ") return 1;\n")
+			if k != "()":
+				file.write("#endif\n")
+		file.write("\treturn 0;\n}\n")
+		
 		file.write(files_guards["wrapper.c"])
 	
 	# Save the string for the next iteration, writing was successful
diff --git a/src/wrapped/generated/wrapper.c b/src/wrapped/generated/wrapper.c
index 96873ac8..73538c50 100644
--- a/src/wrapped/generated/wrapper.c
+++ b/src/wrapped/generated/wrapper.c
@@ -33,50 +33,50 @@ static void* io_convert(void* v)
 int of_convert(int);
 typedef void (*vFE_t)(x64emu_t*);
 typedef void (*vFv_t)(void);
-typedef void (*vFi_t)(int32_t);
-typedef void (*vFu_t)(uint32_t);
+typedef void (*vFi_t)(int64_t);
+typedef void (*vFu_t)(uint64_t);
 typedef void (*vFf_t)(float);
 typedef void (*vFd_t)(double);
 typedef void (*vFp_t)(void*);
 typedef void (*vFS_t)(void*);
 typedef int8_t (*cFv_t)(void);
-typedef int8_t (*cFi_t)(int32_t);
-typedef int8_t (*cFu_t)(uint32_t);
+typedef int8_t (*cFi_t)(int64_t);
+typedef int8_t (*cFu_t)(uint64_t);
 typedef int8_t (*cFf_t)(float);
 typedef int8_t (*cFp_t)(void*);
 typedef int16_t (*wFp_t)(void*);
-typedef int32_t (*iFv_t)(void);
-typedef int32_t (*iFi_t)(int32_t);
-typedef int32_t (*iFu_t)(uint32_t);
-typedef int32_t (*iFf_t)(float);
-typedef int32_t (*iFd_t)(double);
-typedef int32_t (*iFL_t)(uintptr_t);
-typedef int32_t (*iFp_t)(void*);
-typedef int32_t (*iFO_t)(int32_t);
-typedef int32_t (*iFS_t)(void*);
+typedef int64_t (*iFv_t)(void);
+typedef int64_t (*iFi_t)(int64_t);
+typedef int64_t (*iFu_t)(uint64_t);
+typedef int64_t (*iFf_t)(float);
+typedef int64_t (*iFd_t)(double);
+typedef int64_t (*iFL_t)(uintptr_t);
+typedef int64_t (*iFp_t)(void*);
+typedef int64_t (*iFO_t)(int32_t);
+typedef int64_t (*iFS_t)(void*);
 typedef int64_t (*IFf_t)(float);
 typedef int64_t (*IFd_t)(double);
 typedef int64_t (*IFp_t)(void*);
-typedef uint16_t (*WFi_t)(int32_t);
+typedef uint16_t (*WFi_t)(int64_t);
 typedef uint16_t (*WFp_t)(void*);
-typedef uint32_t (*uFv_t)(void);
-typedef uint32_t (*uFi_t)(int32_t);
-typedef uint32_t (*uFu_t)(uint32_t);
-typedef uint32_t (*uFd_t)(double);
-typedef uint32_t (*uFp_t)(void*);
+typedef uint64_t (*uFv_t)(void);
+typedef uint64_t (*uFi_t)(int64_t);
+typedef uint64_t (*uFu_t)(uint64_t);
+typedef uint64_t (*uFd_t)(double);
+typedef uint64_t (*uFp_t)(void*);
 typedef uint64_t (*UFv_t)(void);
 typedef uint64_t (*UFp_t)(void*);
 typedef uint64_t (*UFV_t)(void*);
-typedef float (*fFi_t)(int32_t);
+typedef float (*fFi_t)(int64_t);
 typedef float (*fFf_t)(float);
 typedef float (*fFp_t)(void*);
-typedef double (*dFi_t)(int32_t);
-typedef double (*dFu_t)(uint32_t);
+typedef double (*dFi_t)(int64_t);
+typedef double (*dFu_t)(uint64_t);
 typedef double (*dFd_t)(double);
 typedef double (*dFp_t)(void*);
 typedef intptr_t (*lFE_t)(x64emu_t*);
 typedef intptr_t (*lFv_t)(void);
-typedef intptr_t (*lFi_t)(int32_t);
+typedef intptr_t (*lFi_t)(int64_t);
 typedef intptr_t (*lFl_t)(intptr_t);
 typedef intptr_t (*lFp_t)(void*);
 typedef uintptr_t (*LFE_t)(x64emu_t*);
@@ -85,1038 +85,1038 @@ typedef uintptr_t (*LFL_t)(uintptr_t);
 typedef uintptr_t (*LFp_t)(void*);
 typedef void* (*pFE_t)(x64emu_t*);
 typedef void* (*pFv_t)(void);
-typedef void* (*pFi_t)(int32_t);
-typedef void* (*pFu_t)(uint32_t);
+typedef void* (*pFi_t)(int64_t);
+typedef void* (*pFu_t)(uint64_t);
 typedef void* (*pFl_t)(intptr_t);
 typedef void* (*pFL_t)(uintptr_t);
 typedef void* (*pFp_t)(void*);
-typedef unsigned __int128 (*HFi_t)(int32_t);
+typedef unsigned __int128 (*HFi_t)(int64_t);
 typedef unsigned __int128 (*HFp_t)(void*);
 typedef void (*vFEp_t)(x64emu_t*, void*);
-typedef void (*vFii_t)(int32_t, int32_t);
-typedef void (*vFiu_t)(int32_t, uint32_t);
-typedef void (*vFif_t)(int32_t, float);
-typedef void (*vFid_t)(int32_t, double);
-typedef void (*vFip_t)(int32_t, void*);
+typedef void (*vFii_t)(int64_t, int64_t);
+typedef void (*vFiu_t)(int64_t, uint64_t);
+typedef void (*vFif_t)(int64_t, float);
+typedef void (*vFid_t)(int64_t, double);
+typedef void (*vFip_t)(int64_t, void*);
 typedef void (*vFWW_t)(uint16_t, uint16_t);
 typedef void (*vFWp_t)(uint16_t, void*);
-typedef void (*vFui_t)(uint32_t, int32_t);
-typedef void (*vFuu_t)(uint32_t, uint32_t);
-typedef void (*vFuf_t)(uint32_t, float);
-typedef void (*vFud_t)(uint32_t, double);
-typedef void (*vFup_t)(uint32_t, void*);
-typedef void (*vFfi_t)(float, int32_t);
+typedef void (*vFui_t)(uint64_t, int64_t);
+typedef void (*vFuu_t)(uint64_t, uint64_t);
+typedef void (*vFuf_t)(uint64_t, float);
+typedef void (*vFud_t)(uint64_t, double);
+typedef void (*vFup_t)(uint64_t, void*);
+typedef void (*vFfi_t)(float, int64_t);
 typedef void (*vFff_t)(float, float);
 typedef void (*vFfp_t)(float, void*);
 typedef void (*vFdd_t)(double, double);
 typedef void (*vFLp_t)(uintptr_t, void*);
-typedef void (*vFpi_t)(void*, int32_t);
-typedef void (*vFpu_t)(void*, uint32_t);
+typedef void (*vFpi_t)(void*, int64_t);
+typedef void (*vFpu_t)(void*, uint64_t);
 typedef void (*vFpf_t)(void*, float);
 typedef void (*vFpl_t)(void*, intptr_t);
 typedef void (*vFpL_t)(void*, uintptr_t);
 typedef void (*vFpp_t)(void*, void*);
 typedef void (*vFpS_t)(void*, void*);
-typedef void (*vFSi_t)(void*, int32_t);
+typedef void (*vFSi_t)(void*, int64_t);
 typedef int8_t (*cFpp_t)(void*, void*);
-typedef int32_t (*iFEp_t)(x64emu_t*, void*);
-typedef int32_t (*iFii_t)(int32_t, int32_t);
-typedef int32_t (*iFiI_t)(int32_t, int64_t);
-typedef int32_t (*iFiu_t)(int32_t, uint32_t);
-typedef int32_t (*iFiU_t)(int32_t, uint64_t);
-typedef int32_t (*iFil_t)(int32_t, intptr_t);
-typedef int32_t (*iFip_t)(int32_t, void*);
-typedef int32_t (*iFIi_t)(int64_t, int32_t);
-typedef int32_t (*iFui_t)(uint32_t, int32_t);
-typedef int32_t (*iFuu_t)(uint32_t, uint32_t);
-typedef int32_t (*iFup_t)(uint32_t, void*);
-typedef int32_t (*iFUU_t)(uint64_t, uint64_t);
-typedef int32_t (*iFli_t)(intptr_t, int32_t);
-typedef int32_t (*iFLL_t)(uintptr_t, uintptr_t);
-typedef int32_t (*iFLp_t)(uintptr_t, void*);
-typedef int32_t (*iFpw_t)(void*, int16_t);
-typedef int32_t (*iFpi_t)(void*, int32_t);
-typedef int32_t (*iFpI_t)(void*, int64_t);
-typedef int32_t (*iFpC_t)(void*, uint8_t);
-typedef int32_t (*iFpu_t)(void*, uint32_t);
-typedef int32_t (*iFpU_t)(void*, uint64_t);
-typedef int32_t (*iFpf_t)(void*, float);
-typedef int32_t (*iFpd_t)(void*, double);
-typedef int32_t (*iFpl_t)(void*, intptr_t);
-typedef int32_t (*iFpL_t)(void*, uintptr_t);
-typedef int32_t (*iFpp_t)(void*, void*);
-typedef int32_t (*iFpO_t)(void*, int32_t);
-typedef int32_t (*iFSi_t)(void*, int32_t);
+typedef int64_t (*iFEp_t)(x64emu_t*, void*);
+typedef int64_t (*iFii_t)(int64_t, int64_t);
+typedef int64_t (*iFiI_t)(int64_t, int64_t);
+typedef int64_t (*iFiu_t)(int64_t, uint64_t);
+typedef int64_t (*iFiU_t)(int64_t, uint64_t);
+typedef int64_t (*iFil_t)(int64_t, intptr_t);
+typedef int64_t (*iFip_t)(int64_t, void*);
+typedef int64_t (*iFIi_t)(int64_t, int64_t);
+typedef int64_t (*iFui_t)(uint64_t, int64_t);
+typedef int64_t (*iFuu_t)(uint64_t, uint64_t);
+typedef int64_t (*iFup_t)(uint64_t, void*);
+typedef int64_t (*iFUU_t)(uint64_t, uint64_t);
+typedef int64_t (*iFli_t)(intptr_t, int64_t);
+typedef int64_t (*iFLL_t)(uintptr_t, uintptr_t);
+typedef int64_t (*iFLp_t)(uintptr_t, void*);
+typedef int64_t (*iFpw_t)(void*, int16_t);
+typedef int64_t (*iFpi_t)(void*, int64_t);
+typedef int64_t (*iFpI_t)(void*, int64_t);
+typedef int64_t (*iFpC_t)(void*, uint8_t);
+typedef int64_t (*iFpu_t)(void*, uint64_t);
+typedef int64_t (*iFpU_t)(void*, uint64_t);
+typedef int64_t (*iFpf_t)(void*, float);
+typedef int64_t (*iFpd_t)(void*, double);
+typedef int64_t (*iFpl_t)(void*, intptr_t);
+typedef int64_t (*iFpL_t)(void*, uintptr_t);
+typedef int64_t (*iFpp_t)(void*, void*);
+typedef int64_t (*iFpO_t)(void*, int32_t);
+typedef int64_t (*iFSi_t)(void*, int64_t);
 typedef int64_t (*IFEp_t)(x64emu_t*, void*);
-typedef int64_t (*IFpi_t)(void*, int32_t);
-typedef int64_t (*IFpu_t)(void*, uint32_t);
-typedef uint8_t (*CFui_t)(uint32_t, int32_t);
-typedef uint8_t (*CFpi_t)(void*, int32_t);
-typedef uint8_t (*CFpu_t)(void*, uint32_t);
-typedef uint32_t (*uFEp_t)(x64emu_t*, void*);
-typedef uint32_t (*uFiu_t)(int32_t, uint32_t);
-typedef uint32_t (*uFui_t)(uint32_t, int32_t);
-typedef uint32_t (*uFuu_t)(uint32_t, uint32_t);
-typedef uint32_t (*uFup_t)(uint32_t, void*);
-typedef uint32_t (*uFUp_t)(uint64_t, void*);
-typedef uint32_t (*uFpi_t)(void*, int32_t);
-typedef uint32_t (*uFpu_t)(void*, uint32_t);
-typedef uint32_t (*uFpU_t)(void*, uint64_t);
-typedef uint32_t (*uFpL_t)(void*, uintptr_t);
-typedef uint32_t (*uFpp_t)(void*, void*);
+typedef int64_t (*IFpi_t)(void*, int64_t);
+typedef int64_t (*IFpu_t)(void*, uint64_t);
+typedef uint8_t (*CFui_t)(uint64_t, int64_t);
+typedef uint8_t (*CFpi_t)(void*, int64_t);
+typedef uint8_t (*CFpu_t)(void*, uint64_t);
+typedef uint64_t (*uFEp_t)(x64emu_t*, void*);
+typedef uint64_t (*uFiu_t)(int64_t, uint64_t);
+typedef uint64_t (*uFui_t)(uint64_t, int64_t);
+typedef uint64_t (*uFuu_t)(uint64_t, uint64_t);
+typedef uint64_t (*uFup_t)(uint64_t, void*);
+typedef uint64_t (*uFUp_t)(uint64_t, void*);
+typedef uint64_t (*uFpi_t)(void*, int64_t);
+typedef uint64_t (*uFpu_t)(void*, uint64_t);
+typedef uint64_t (*uFpU_t)(void*, uint64_t);
+typedef uint64_t (*uFpL_t)(void*, uintptr_t);
+typedef uint64_t (*uFpp_t)(void*, void*);
 typedef uint64_t (*UFEp_t)(x64emu_t*, void*);
-typedef uint64_t (*UFii_t)(int32_t, int32_t);
+typedef uint64_t (*UFii_t)(int64_t, int64_t);
 typedef uint64_t (*UFUp_t)(uint64_t, void*);
 typedef uint64_t (*UFpp_t)(void*, void*);
-typedef float (*fFif_t)(int32_t, float);
-typedef float (*fFfi_t)(float, int32_t);
+typedef float (*fFif_t)(int64_t, float);
+typedef float (*fFfi_t)(float, int64_t);
 typedef float (*fFff_t)(float, float);
 typedef float (*fFfp_t)(float, void*);
 typedef float (*fFpp_t)(void*, void*);
-typedef double (*dFid_t)(int32_t, double);
-typedef double (*dFdi_t)(double, int32_t);
+typedef double (*dFid_t)(int64_t, double);
+typedef double (*dFdi_t)(double, int64_t);
 typedef double (*dFdd_t)(double, double);
 typedef double (*dFdp_t)(double, void*);
 typedef double (*dFLL_t)(uintptr_t, uintptr_t);
-typedef double (*dFpi_t)(void*, int32_t);
+typedef double (*dFpi_t)(void*, int64_t);
 typedef double (*dFpp_t)(void*, void*);
 typedef intptr_t (*lFll_t)(intptr_t, intptr_t);
-typedef intptr_t (*lFpi_t)(void*, int32_t);
+typedef intptr_t (*lFpi_t)(void*, int64_t);
 typedef intptr_t (*lFpp_t)(void*, void*);
-typedef uintptr_t (*LFpi_t)(void*, int32_t);
+typedef uintptr_t (*LFpi_t)(void*, int64_t);
 typedef uintptr_t (*LFpL_t)(void*, uintptr_t);
 typedef uintptr_t (*LFpp_t)(void*, void*);
 typedef void* (*pFEp_t)(x64emu_t*, void*);
-typedef void* (*pFii_t)(int32_t, int32_t);
-typedef void* (*pFip_t)(int32_t, void*);
-typedef void* (*pFui_t)(uint32_t, int32_t);
-typedef void* (*pFuu_t)(uint32_t, uint32_t);
-typedef void* (*pFup_t)(uint32_t, void*);
+typedef void* (*pFii_t)(int64_t, int64_t);
+typedef void* (*pFip_t)(int64_t, void*);
+typedef void* (*pFui_t)(uint64_t, int64_t);
+typedef void* (*pFuu_t)(uint64_t, uint64_t);
+typedef void* (*pFup_t)(uint64_t, void*);
 typedef void* (*pFlp_t)(intptr_t, void*);
 typedef void* (*pFLL_t)(uintptr_t, uintptr_t);
-typedef void* (*pFpi_t)(void*, int32_t);
+typedef void* (*pFpi_t)(void*, int64_t);
 typedef void* (*pFpC_t)(void*, uint8_t);
-typedef void* (*pFpu_t)(void*, uint32_t);
+typedef void* (*pFpu_t)(void*, uint64_t);
 typedef void* (*pFpU_t)(void*, uint64_t);
 typedef void* (*pFpL_t)(void*, uintptr_t);
 typedef void* (*pFpp_t)(void*, void*);
 typedef void* (*pFpV_t)(void*, void*);
-typedef void* (*pFSi_t)(void*, int32_t);
-typedef unsigned __int128 (*HFpi_t)(void*, int32_t);
-typedef void (*vFEpi_t)(x64emu_t*, void*, int32_t);
-typedef void (*vFEpu_t)(x64emu_t*, void*, uint32_t);
+typedef void* (*pFSi_t)(void*, int64_t);
+typedef unsigned __int128 (*HFpi_t)(void*, int64_t);
+typedef void (*vFEpi_t)(x64emu_t*, void*, int64_t);
+typedef void (*vFEpu_t)(x64emu_t*, void*, uint64_t);
 typedef void (*vFEpp_t)(x64emu_t*, void*, void*);
 typedef void (*vFEpV_t)(x64emu_t*, void*, void*);
-typedef void (*vFiii_t)(int32_t, int32_t, int32_t);
-typedef void (*vFiip_t)(int32_t, int32_t, void*);
-typedef void (*vFiui_t)(int32_t, uint32_t, int32_t);
-typedef void (*vFiuu_t)(int32_t, uint32_t, uint32_t);
-typedef void (*vFiup_t)(int32_t, uint32_t, void*);
-typedef void (*vFiff_t)(int32_t, float, float);
-typedef void (*vFidd_t)(int32_t, double, double);
-typedef void (*vFipi_t)(int32_t, void*, int32_t);
-typedef void (*vFipu_t)(int32_t, void*, uint32_t);
-typedef void (*vFipp_t)(int32_t, void*, void*);
-typedef void (*vFuii_t)(uint32_t, int32_t, int32_t);
-typedef void (*vFuiI_t)(uint32_t, int32_t, int64_t);
-typedef void (*vFuiu_t)(uint32_t, int32_t, uint32_t);
-typedef void (*vFuif_t)(uint32_t, int32_t, float);
-typedef void (*vFuid_t)(uint32_t, int32_t, double);
-typedef void (*vFuip_t)(uint32_t, int32_t, void*);
-typedef void (*vFuui_t)(uint32_t, uint32_t, int32_t);
-typedef void (*vFuuu_t)(uint32_t, uint32_t, uint32_t);
-typedef void (*vFuuf_t)(uint32_t, uint32_t, float);
-typedef void (*vFuud_t)(uint32_t, uint32_t, double);
-typedef void (*vFuup_t)(uint32_t, uint32_t, void*);
-typedef void (*vFuff_t)(uint32_t, float, float);
-typedef void (*vFudd_t)(uint32_t, double, double);
-typedef void (*vFupi_t)(uint32_t, void*, int32_t);
+typedef void (*vFiii_t)(int64_t, int64_t, int64_t);
+typedef void (*vFiip_t)(int64_t, int64_t, void*);
+typedef void (*vFiui_t)(int64_t, uint64_t, int64_t);
+typedef void (*vFiuu_t)(int64_t, uint64_t, uint64_t);
+typedef void (*vFiup_t)(int64_t, uint64_t, void*);
+typedef void (*vFiff_t)(int64_t, float, float);
+typedef void (*vFidd_t)(int64_t, double, double);
+typedef void (*vFipi_t)(int64_t, void*, int64_t);
+typedef void (*vFipu_t)(int64_t, void*, uint64_t);
+typedef void (*vFipp_t)(int64_t, void*, void*);
+typedef void (*vFuii_t)(uint64_t, int64_t, int64_t);
+typedef void (*vFuiI_t)(uint64_t, int64_t, int64_t);
+typedef void (*vFuiu_t)(uint64_t, int64_t, uint64_t);
+typedef void (*vFuif_t)(uint64_t, int64_t, float);
+typedef void (*vFuid_t)(uint64_t, int64_t, double);
+typedef void (*vFuip_t)(uint64_t, int64_t, void*);
+typedef void (*vFuui_t)(uint64_t, uint64_t, int64_t);
+typedef void (*vFuuu_t)(uint64_t, uint64_t, uint64_t);
+typedef void (*vFuuf_t)(uint64_t, uint64_t, float);
+typedef void (*vFuud_t)(uint64_t, uint64_t, double);
+typedef void (*vFuup_t)(uint64_t, uint64_t, void*);
+typedef void (*vFuff_t)(uint64_t, float, float);
+typedef void (*vFudd_t)(uint64_t, double, double);
+typedef void (*vFupi_t)(uint64_t, void*, int64_t);
 typedef void (*vFfff_t)(float, float, float);
 typedef void (*vFfpp_t)(float, void*, void*);
 typedef void (*vFddd_t)(double, double, double);
 typedef void (*vFdpp_t)(double, void*, void*);
 typedef void (*vFLpp_t)(uintptr_t, void*, void*);
-typedef void (*vFpii_t)(void*, int32_t, int32_t);
-typedef void (*vFpiu_t)(void*, int32_t, uint32_t);
-typedef void (*vFpif_t)(void*, int32_t, float);
-typedef void (*vFpid_t)(void*, int32_t, double);
-typedef void (*vFpip_t)(void*, int32_t, void*);
-typedef void (*vFpui_t)(void*, uint32_t, int32_t);
-typedef void (*vFpuI_t)(void*, uint32_t, int64_t);
-typedef void (*vFpuu_t)(void*, uint32_t, uint32_t);
-typedef void (*vFpup_t)(void*, uint32_t, void*);
+typedef void (*vFpii_t)(void*, int64_t, int64_t);
+typedef void (*vFpiu_t)(void*, int64_t, uint64_t);
+typedef void (*vFpif_t)(void*, int64_t, float);
+typedef void (*vFpid_t)(void*, int64_t, double);
+typedef void (*vFpip_t)(void*, int64_t, void*);
+typedef void (*vFpui_t)(void*, uint64_t, int64_t);
+typedef void (*vFpuI_t)(void*, uint64_t, int64_t);
+typedef void (*vFpuu_t)(void*, uint64_t, uint64_t);
+typedef void (*vFpup_t)(void*, uint64_t, void*);
 typedef void (*vFpll_t)(void*, intptr_t, intptr_t);
-typedef void (*vFpLi_t)(void*, uintptr_t, int32_t);
+typedef void (*vFpLi_t)(void*, uintptr_t, int64_t);
 typedef void (*vFpLL_t)(void*, uintptr_t, uintptr_t);
-typedef void (*vFppi_t)(void*, void*, int32_t);
-typedef void (*vFppu_t)(void*, void*, uint32_t);
+typedef void (*vFppi_t)(void*, void*, int64_t);
+typedef void (*vFppu_t)(void*, void*, uint64_t);
 typedef void (*vFppL_t)(void*, void*, uintptr_t);
 typedef void (*vFppp_t)(void*, void*, void*);
-typedef int32_t (*iFEiw_t)(x64emu_t*, int32_t, int16_t);
-typedef int32_t (*iFEip_t)(x64emu_t*, int32_t, void*);
-typedef int32_t (*iFEWW_t)(x64emu_t*, uint16_t, uint16_t);
-typedef int32_t (*iFEup_t)(x64emu_t*, uint32_t, void*);
-typedef int32_t (*iFEpi_t)(x64emu_t*, void*, int32_t);
-typedef int32_t (*iFEpL_t)(x64emu_t*, void*, uintptr_t);
-typedef int32_t (*iFEpp_t)(x64emu_t*, void*, void*);
-typedef int32_t (*iFEpV_t)(x64emu_t*, void*, void*);
-typedef int32_t (*iFESp_t)(x64emu_t*, void*, void*);
-typedef int32_t (*iFiwC_t)(int32_t, int16_t, uint8_t);
-typedef int32_t (*iFiii_t)(int32_t, int32_t, int32_t);
-typedef int32_t (*iFiiu_t)(int32_t, int32_t, uint32_t);
-typedef int32_t (*iFiip_t)(int32_t, int32_t, void*);
-typedef int32_t (*iFiiO_t)(int32_t, int32_t, int32_t);
-typedef int32_t (*iFiuu_t)(int32_t, uint32_t, uint32_t);
-typedef int32_t (*iFiLN_t)(int32_t, uintptr_t, ...);
-typedef int32_t (*iFipu_t)(int32_t, void*, uint32_t);
-typedef int32_t (*iFipL_t)(int32_t, void*, uintptr_t);
-typedef int32_t (*iFipp_t)(int32_t, void*, void*);
-typedef int32_t (*iFuuu_t)(uint32_t, uint32_t, uint32_t);
-typedef int32_t (*iFuup_t)(uint32_t, uint32_t, void*);
-typedef int32_t (*iFuff_t)(uint32_t, float, float);
-typedef int32_t (*iFuLL_t)(uint32_t, uintptr_t, uintptr_t);
-typedef int32_t (*iFfff_t)(float, float, float);
-typedef int32_t (*iFLip_t)(uintptr_t, int32_t, void*);
-typedef int32_t (*iFLLp_t)(uintptr_t, uintptr_t, void*);
-typedef int32_t (*iFLpp_t)(uintptr_t, void*, void*);
-typedef int32_t (*iFpii_t)(void*, int32_t, int32_t);
-typedef int32_t (*iFpiu_t)(void*, int32_t, uint32_t);
-typedef int32_t (*iFpiL_t)(void*, int32_t, uintptr_t);
-typedef int32_t (*iFpip_t)(void*, int32_t, void*);
-typedef int32_t (*iFpIi_t)(void*, int64_t, int32_t);
-typedef int32_t (*iFpui_t)(void*, uint32_t, int32_t);
-typedef int32_t (*iFpuu_t)(void*, uint32_t, uint32_t);
-typedef int32_t (*iFpuU_t)(void*, uint32_t, uint64_t);
-typedef int32_t (*iFpuL_t)(void*, uint32_t, uintptr_t);
-typedef int32_t (*iFpup_t)(void*, uint32_t, void*);
-typedef int32_t (*iFpUi_t)(void*, uint64_t, int32_t);
-typedef int32_t (*iFpUU_t)(void*, uint64_t, uint64_t);
-typedef int32_t (*iFpfu_t)(void*, float, uint32_t);
-typedef int32_t (*iFpff_t)(void*, float, float);
-typedef int32_t (*iFpli_t)(void*, intptr_t, int32_t);
-typedef int32_t (*iFpll_t)(void*, intptr_t, intptr_t);
-typedef int32_t (*iFplp_t)(void*, intptr_t, void*);
-typedef int32_t (*iFpLi_t)(void*, uintptr_t, int32_t);
-typedef int32_t (*iFpLL_t)(void*, uintptr_t, uintptr_t);
-typedef int32_t (*iFpLp_t)(void*, uintptr_t, void*);
-typedef int32_t (*iFppi_t)(void*, void*, int32_t);
-typedef int32_t (*iFppI_t)(void*, void*, int64_t);
-typedef int32_t (*iFppC_t)(void*, void*, uint8_t);
-typedef int32_t (*iFppu_t)(void*, void*, uint32_t);
-typedef int32_t (*iFppd_t)(void*, void*, double);
-typedef int32_t (*iFppL_t)(void*, void*, uintptr_t);
-typedef int32_t (*iFppp_t)(void*, void*, void*);
-typedef int32_t (*iFSpL_t)(void*, void*, uintptr_t);
-typedef int64_t (*IFiIi_t)(int32_t, int64_t, int32_t);
-typedef int64_t (*IFpIi_t)(void*, int64_t, int32_t);
-typedef int64_t (*IFppi_t)(void*, void*, int32_t);
-typedef int64_t (*IFSIi_t)(void*, int64_t, int32_t);
-typedef uint32_t (*uFEpW_t)(x64emu_t*, void*, uint16_t);
-typedef uint32_t (*uFEpu_t)(x64emu_t*, void*, uint32_t);
-typedef uint32_t (*uFEpU_t)(x64emu_t*, void*, uint64_t);
-typedef uint32_t (*uFipu_t)(int32_t, void*, uint32_t);
-typedef uint32_t (*uFuip_t)(uint32_t, int32_t, void*);
-typedef uint32_t (*uFuui_t)(uint32_t, uint32_t, int32_t);
-typedef uint32_t (*uFuuu_t)(uint32_t, uint32_t, uint32_t);
-typedef uint32_t (*uFuup_t)(uint32_t, uint32_t, void*);
-typedef uint32_t (*uFupu_t)(uint32_t, void*, uint32_t);
-typedef uint32_t (*uFupp_t)(uint32_t, void*, void*);
-typedef uint32_t (*uFpiu_t)(void*, int32_t, uint32_t);
-typedef uint32_t (*uFpip_t)(void*, int32_t, void*);
-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 (*uFppp_t)(void*, void*, void*);
-typedef uint64_t (*UFppi_t)(void*, void*, int32_t);
-typedef float (*fFuii_t)(uint32_t, int32_t, int32_t);
+typedef int64_t (*iFEiw_t)(x64emu_t*, int64_t, int16_t);
+typedef int64_t (*iFEip_t)(x64emu_t*, int64_t, void*);
+typedef int64_t (*iFEWW_t)(x64emu_t*, uint16_t, uint16_t);
+typedef int64_t (*iFEup_t)(x64emu_t*, uint64_t, void*);
+typedef int64_t (*iFEpi_t)(x64emu_t*, void*, int64_t);
+typedef int64_t (*iFEpL_t)(x64emu_t*, void*, uintptr_t);
+typedef int64_t (*iFEpp_t)(x64emu_t*, void*, void*);
+typedef int64_t (*iFEpV_t)(x64emu_t*, void*, void*);
+typedef int64_t (*iFESp_t)(x64emu_t*, void*, void*);
+typedef int64_t (*iFiwC_t)(int64_t, int16_t, uint8_t);
+typedef int64_t (*iFiii_t)(int64_t, int64_t, int64_t);
+typedef int64_t (*iFiiu_t)(int64_t, int64_t, uint64_t);
+typedef int64_t (*iFiip_t)(int64_t, int64_t, void*);
+typedef int64_t (*iFiiO_t)(int64_t, int64_t, int32_t);
+typedef int64_t (*iFiuu_t)(int64_t, uint64_t, uint64_t);
+typedef int64_t (*iFiLN_t)(int64_t, uintptr_t, ...);
+typedef int64_t (*iFipu_t)(int64_t, void*, uint64_t);
+typedef int64_t (*iFipL_t)(int64_t, void*, uintptr_t);
+typedef int64_t (*iFipp_t)(int64_t, void*, void*);
+typedef int64_t (*iFuuu_t)(uint64_t, uint64_t, uint64_t);
+typedef int64_t (*iFuup_t)(uint64_t, uint64_t, void*);
+typedef int64_t (*iFuff_t)(uint64_t, float, float);
+typedef int64_t (*iFuLL_t)(uint64_t, uintptr_t, uintptr_t);
+typedef int64_t (*iFfff_t)(float, float, float);
+typedef int64_t (*iFLip_t)(uintptr_t, int64_t, void*);
+typedef int64_t (*iFLLp_t)(uintptr_t, uintptr_t, void*);
+typedef int64_t (*iFLpp_t)(uintptr_t, void*, void*);
+typedef int64_t (*iFpii_t)(void*, int64_t, int64_t);
+typedef int64_t (*iFpiu_t)(void*, int64_t, uint64_t);
+typedef int64_t (*iFpiL_t)(void*, int64_t, uintptr_t);
+typedef int64_t (*iFpip_t)(void*, int64_t, void*);
+typedef int64_t (*iFpIi_t)(void*, int64_t, int64_t);
+typedef int64_t (*iFpui_t)(void*, uint64_t, int64_t);
+typedef int64_t (*iFpuu_t)(void*, uint64_t, uint64_t);
+typedef int64_t (*iFpuU_t)(void*, uint64_t, uint64_t);
+typedef int64_t (*iFpuL_t)(void*, uint64_t, uintptr_t);
+typedef int64_t (*iFpup_t)(void*, uint64_t, void*);
+typedef int64_t (*iFpUi_t)(void*, uint64_t, int64_t);
+typedef int64_t (*iFpUU_t)(void*, uint64_t, uint64_t);
+typedef int64_t (*iFpfu_t)(void*, float, uint64_t);
+typedef int64_t (*iFpff_t)(void*, float, float);
+typedef int64_t (*iFpli_t)(void*, intptr_t, int64_t);
+typedef int64_t (*iFpll_t)(void*, intptr_t, intptr_t);
+typedef int64_t (*iFplp_t)(void*, intptr_t, void*);
+typedef int64_t (*iFpLi_t)(void*, uintptr_t, int64_t);
+typedef int64_t (*iFpLL_t)(void*, uintptr_t, uintptr_t);
+typedef int64_t (*iFpLp_t)(void*, uintptr_t, void*);
+typedef int64_t (*iFppi_t)(void*, void*, int64_t);
+typedef int64_t (*iFppI_t)(void*, void*, int64_t);
+typedef int64_t (*iFppC_t)(void*, void*, uint8_t);
+typedef int64_t (*iFppu_t)(void*, void*, uint64_t);
+typedef int64_t (*iFppd_t)(void*, void*, double);
+typedef int64_t (*iFppL_t)(void*, void*, uintptr_t);
+typedef int64_t (*iFppp_t)(void*, void*, void*);
+typedef int64_t (*iFSpL_t)(void*, void*, uintptr_t);
+typedef int64_t (*IFiIi_t)(int64_t, int64_t, int64_t);
+typedef int64_t (*IFpIi_t)(void*, int64_t, int64_t);
+typedef int64_t (*IFppi_t)(void*, void*, int64_t);
+typedef int64_t (*IFSIi_t)(void*, int64_t, int64_t);
+typedef uint64_t (*uFEpW_t)(x64emu_t*, void*, uint16_t);
+typedef uint64_t (*uFEpu_t)(x64emu_t*, void*, uint64_t);
+typedef uint64_t (*uFEpU_t)(x64emu_t*, void*, uint64_t);
+typedef uint64_t (*uFipu_t)(int64_t, void*, uint64_t);
+typedef uint64_t (*uFuip_t)(uint64_t, int64_t, void*);
+typedef uint64_t (*uFuui_t)(uint64_t, uint64_t, int64_t);
+typedef uint64_t (*uFuuu_t)(uint64_t, uint64_t, uint64_t);
+typedef uint64_t (*uFuup_t)(uint64_t, uint64_t, void*);
+typedef uint64_t (*uFupu_t)(uint64_t, void*, uint64_t);
+typedef uint64_t (*uFupp_t)(uint64_t, void*, void*);
+typedef uint64_t (*uFpiu_t)(void*, int64_t, uint64_t);
+typedef uint64_t (*uFpip_t)(void*, int64_t, void*);
+typedef uint64_t (*uFpLp_t)(void*, uintptr_t, void*);
+typedef uint64_t (*uFppi_t)(void*, void*, int64_t);
+typedef uint64_t (*uFppu_t)(void*, void*, uint64_t);
+typedef uint64_t (*uFppp_t)(void*, void*, void*);
+typedef uint64_t (*UFppi_t)(void*, void*, int64_t);
+typedef float (*fFuii_t)(uint64_t, int64_t, int64_t);
 typedef float (*fFfff_t)(float, float, float);
 typedef float (*fFffp_t)(float, float, void*);
 typedef float (*fFppL_t)(void*, void*, uintptr_t);
 typedef double (*dFddd_t)(double, double, double);
 typedef double (*dFddp_t)(double, double, void*);
-typedef double (*dFppi_t)(void*, void*, int32_t);
+typedef double (*dFppi_t)(void*, void*, int64_t);
 typedef double (*dFppp_t)(void*, void*, void*);
-typedef intptr_t (*lFipi_t)(int32_t, void*, int32_t);
-typedef intptr_t (*lFipL_t)(int32_t, void*, uintptr_t);
+typedef intptr_t (*lFipi_t)(int64_t, void*, int64_t);
+typedef intptr_t (*lFipL_t)(int64_t, void*, uintptr_t);
 typedef intptr_t (*lFlll_t)(intptr_t, intptr_t, intptr_t);
-typedef intptr_t (*lFlpi_t)(intptr_t, void*, int32_t);
-typedef intptr_t (*lFppi_t)(void*, void*, int32_t);
+typedef intptr_t (*lFlpi_t)(intptr_t, void*, int64_t);
+typedef intptr_t (*lFppi_t)(void*, void*, int64_t);
 typedef intptr_t (*lFppL_t)(void*, void*, uintptr_t);
 typedef intptr_t (*lFSpl_t)(void*, void*, intptr_t);
-typedef uintptr_t (*LFipL_t)(int32_t, void*, uintptr_t);
-typedef uintptr_t (*LFLLi_t)(uintptr_t, uintptr_t, int32_t);
+typedef uintptr_t (*LFipL_t)(int64_t, void*, uintptr_t);
+typedef uintptr_t (*LFLLi_t)(uintptr_t, uintptr_t, int64_t);
 typedef uintptr_t (*LFLLI_t)(uintptr_t, uintptr_t, int64_t);
-typedef uintptr_t (*LFLpu_t)(uintptr_t, void*, uint32_t);
+typedef uintptr_t (*LFLpu_t)(uintptr_t, void*, uint64_t);
 typedef uintptr_t (*LFLpL_t)(uintptr_t, void*, uintptr_t);
-typedef uintptr_t (*LFpii_t)(void*, int32_t, int32_t);
-typedef uintptr_t (*LFpup_t)(void*, uint32_t, void*);
-typedef uintptr_t (*LFpLi_t)(void*, uintptr_t, int32_t);
+typedef uintptr_t (*LFpii_t)(void*, int64_t, int64_t);
+typedef uintptr_t (*LFpup_t)(void*, uint64_t, void*);
+typedef uintptr_t (*LFpLi_t)(void*, uintptr_t, int64_t);
 typedef uintptr_t (*LFpLp_t)(void*, uintptr_t, void*);
-typedef uintptr_t (*LFppi_t)(void*, void*, int32_t);
+typedef uintptr_t (*LFppi_t)(void*, void*, int64_t);
 typedef uintptr_t (*LFppL_t)(void*, void*, uintptr_t);
 typedef uintptr_t (*LFSpL_t)(void*, void*, uintptr_t);
-typedef void* (*pFEip_t)(x64emu_t*, int32_t, void*);
-typedef void* (*pFEpi_t)(x64emu_t*, void*, int32_t);
+typedef void* (*pFEip_t)(x64emu_t*, int64_t, void*);
+typedef void* (*pFEpi_t)(x64emu_t*, void*, int64_t);
 typedef void* (*pFEpp_t)(x64emu_t*, void*, void*);
-typedef void* (*pFipi_t)(int32_t, void*, int32_t);
-typedef void* (*pFipL_t)(int32_t, void*, uintptr_t);
-typedef void* (*pFipp_t)(int32_t, void*, void*);
-typedef void* (*pFIpi_t)(int64_t, void*, int32_t);
-typedef void* (*pFuii_t)(uint32_t, int32_t, int32_t);
-typedef void* (*pFupi_t)(uint32_t, void*, int32_t);
-typedef void* (*pFupL_t)(uint32_t, void*, uintptr_t);
-typedef void* (*pFUpi_t)(uint64_t, void*, int32_t);
-typedef void* (*pFpii_t)(void*, int32_t, int32_t);
-typedef void* (*pFpiu_t)(void*, int32_t, uint32_t);
-typedef void* (*pFpiL_t)(void*, int32_t, uintptr_t);
-typedef void* (*pFpip_t)(void*, int32_t, void*);
+typedef void* (*pFipi_t)(int64_t, void*, int64_t);
+typedef void* (*pFipL_t)(int64_t, void*, uintptr_t);
+typedef void* (*pFipp_t)(int64_t, void*, void*);
+typedef void* (*pFIpi_t)(int64_t, void*, int64_t);
+typedef void* (*pFuii_t)(uint64_t, int64_t, int64_t);
+typedef void* (*pFupi_t)(uint64_t, void*, int64_t);
+typedef void* (*pFupL_t)(uint64_t, void*, uintptr_t);
+typedef void* (*pFUpi_t)(uint64_t, void*, int64_t);
+typedef void* (*pFpii_t)(void*, int64_t, int64_t);
+typedef void* (*pFpiu_t)(void*, int64_t, uint64_t);
+typedef void* (*pFpiL_t)(void*, int64_t, uintptr_t);
+typedef void* (*pFpip_t)(void*, int64_t, void*);
 typedef void* (*pFpCC_t)(void*, uint8_t, uint8_t);
-typedef void* (*pFpCu_t)(void*, uint8_t, uint32_t);
-typedef void* (*pFpui_t)(void*, uint32_t, int32_t);
-typedef void* (*pFpuu_t)(void*, uint32_t, uint32_t);
-typedef void* (*pFpuL_t)(void*, uint32_t, uintptr_t);
-typedef void* (*pFpup_t)(void*, uint32_t, void*);
+typedef void* (*pFpCu_t)(void*, uint8_t, uint64_t);
+typedef void* (*pFpui_t)(void*, uint64_t, int64_t);
+typedef void* (*pFpuu_t)(void*, uint64_t, uint64_t);
+typedef void* (*pFpuL_t)(void*, uint64_t, uintptr_t);
+typedef void* (*pFpup_t)(void*, uint64_t, void*);
 typedef void* (*pFpUp_t)(void*, uint64_t, void*);
 typedef void* (*pFplp_t)(void*, intptr_t, void*);
-typedef void* (*pFpLu_t)(void*, uintptr_t, uint32_t);
+typedef void* (*pFpLu_t)(void*, uintptr_t, uint64_t);
 typedef void* (*pFpLL_t)(void*, uintptr_t, uintptr_t);
 typedef void* (*pFpLp_t)(void*, uintptr_t, void*);
-typedef void* (*pFppi_t)(void*, void*, int32_t);
-typedef void* (*pFppu_t)(void*, void*, uint32_t);
+typedef void* (*pFppi_t)(void*, void*, int64_t);
+typedef void* (*pFppu_t)(void*, void*, uint64_t);
 typedef void* (*pFppf_t)(void*, void*, float);
 typedef void* (*pFppL_t)(void*, void*, uintptr_t);
 typedef void* (*pFppp_t)(void*, void*, void*);
 typedef void* (*pFpOM_t)(void*, int32_t, ...);
 typedef void* (*pFSpl_t)(void*, void*, intptr_t);
-typedef void (*vFEipV_t)(x64emu_t*, int32_t, void*, void*);
-typedef void (*vFEpii_t)(x64emu_t*, void*, int32_t, int32_t);
-typedef void (*vFEpip_t)(x64emu_t*, void*, int32_t, void*);
-typedef void (*vFEpup_t)(x64emu_t*, void*, uint32_t, void*);
+typedef void (*vFEipV_t)(x64emu_t*, int64_t, void*, void*);
+typedef void (*vFEpii_t)(x64emu_t*, void*, int64_t, int64_t);
+typedef void (*vFEpip_t)(x64emu_t*, void*, int64_t, void*);
+typedef void (*vFEpup_t)(x64emu_t*, void*, uint64_t, void*);
 typedef void (*vFEppp_t)(x64emu_t*, void*, void*, void*);
-typedef void (*vFiiii_t)(int32_t, int32_t, int32_t, int32_t);
-typedef void (*vFiiip_t)(int32_t, int32_t, int32_t, void*);
-typedef void (*vFiuip_t)(int32_t, uint32_t, int32_t, void*);
-typedef void (*vFiuuu_t)(int32_t, uint32_t, uint32_t, uint32_t);
-typedef void (*vFiupu_t)(int32_t, uint32_t, void*, uint32_t);
-typedef void (*vFiupV_t)(int32_t, uint32_t, void*, void*);
-typedef void (*vFifff_t)(int32_t, float, float, float);
-typedef void (*vFiddd_t)(int32_t, double, double, double);
-typedef void (*vFipii_t)(int32_t, void*, int32_t, int32_t);
-typedef void (*vFipup_t)(int32_t, void*, uint32_t, void*);
-typedef void (*vFippp_t)(int32_t, void*, void*, void*);
-typedef void (*vFuiii_t)(uint32_t, int32_t, int32_t, int32_t);
-typedef void (*vFuiip_t)(uint32_t, int32_t, int32_t, void*);
-typedef void (*vFuiui_t)(uint32_t, int32_t, uint32_t, int32_t);
-typedef void (*vFuiuu_t)(uint32_t, int32_t, uint32_t, uint32_t);
-typedef void (*vFuiup_t)(uint32_t, int32_t, uint32_t, void*);
-typedef void (*vFuifi_t)(uint32_t, int32_t, float, int32_t);
-typedef void (*vFuiff_t)(uint32_t, int32_t, float, float);
-typedef void (*vFuidd_t)(uint32_t, int32_t, double, double);
-typedef void (*vFuipi_t)(uint32_t, int32_t, void*, int32_t);
-typedef void (*vFuipu_t)(uint32_t, int32_t, void*, uint32_t);
-typedef void (*vFuipp_t)(uint32_t, int32_t, void*, void*);
-typedef void (*vFuuii_t)(uint32_t, uint32_t, int32_t, int32_t);
-typedef void (*vFuuiu_t)(uint32_t, uint32_t, int32_t, uint32_t);
-typedef void (*vFuuip_t)(uint32_t, uint32_t, int32_t, void*);
-typedef void (*vFuuui_t)(uint32_t, uint32_t, uint32_t, int32_t);
-typedef void (*vFuuuu_t)(uint32_t, uint32_t, uint32_t, uint32_t);
-typedef void (*vFuuuf_t)(uint32_t, uint32_t, uint32_t, float);
-typedef void (*vFuuud_t)(uint32_t, uint32_t, uint32_t, double);
-typedef void (*vFuuup_t)(uint32_t, uint32_t, uint32_t, void*);
-typedef void (*vFuupi_t)(uint32_t, uint32_t, void*, int32_t);
-typedef void (*vFuupp_t)(uint32_t, uint32_t, void*, void*);
-typedef void (*vFufff_t)(uint32_t, float, float, float);
-typedef void (*vFuddd_t)(uint32_t, double, double, double);
-typedef void (*vFupii_t)(uint32_t, void*, int32_t, int32_t);
-typedef void (*vFuppi_t)(uint32_t, void*, void*, int32_t);
+typedef void (*vFiiii_t)(int64_t, int64_t, int64_t, int64_t);
+typedef void (*vFiiip_t)(int64_t, int64_t, int64_t, void*);
+typedef void (*vFiuip_t)(int64_t, uint64_t, int64_t, void*);
+typedef void (*vFiuuu_t)(int64_t, uint64_t, uint64_t, uint64_t);
+typedef void (*vFiupu_t)(int64_t, uint64_t, void*, uint64_t);
+typedef void (*vFiupV_t)(int64_t, uint64_t, void*, void*);
+typedef void (*vFifff_t)(int64_t, float, float, float);
+typedef void (*vFiddd_t)(int64_t, double, double, double);
+typedef void (*vFipii_t)(int64_t, void*, int64_t, int64_t);
+typedef void (*vFipup_t)(int64_t, void*, uint64_t, void*);
+typedef void (*vFippp_t)(int64_t, void*, void*, void*);
+typedef void (*vFuiii_t)(uint64_t, int64_t, int64_t, int64_t);
+typedef void (*vFuiip_t)(uint64_t, int64_t, int64_t, void*);
+typedef void (*vFuiui_t)(uint64_t, int64_t, uint64_t, int64_t);
+typedef void (*vFuiuu_t)(uint64_t, int64_t, uint64_t, uint64_t);
+typedef void (*vFuiup_t)(uint64_t, int64_t, uint64_t, void*);
+typedef void (*vFuifi_t)(uint64_t, int64_t, float, int64_t);
+typedef void (*vFuiff_t)(uint64_t, int64_t, float, float);
+typedef void (*vFuidd_t)(uint64_t, int64_t, double, double);
+typedef void (*vFuipi_t)(uint64_t, int64_t, void*, int64_t);
+typedef void (*vFuipu_t)(uint64_t, int64_t, void*, uint64_t);
+typedef void (*vFuipp_t)(uint64_t, int64_t, void*, void*);
+typedef void (*vFuuii_t)(uint64_t, uint64_t, int64_t, int64_t);
+typedef void (*vFuuiu_t)(uint64_t, uint64_t, int64_t, uint64_t);
+typedef void (*vFuuip_t)(uint64_t, uint64_t, int64_t, void*);
+typedef void (*vFuuui_t)(uint64_t, uint64_t, uint64_t, int64_t);
+typedef void (*vFuuuu_t)(uint64_t, uint64_t, uint64_t, uint64_t);
+typedef void (*vFuuuf_t)(uint64_t, uint64_t, uint64_t, float);
+typedef void (*vFuuud_t)(uint64_t, uint64_t, uint64_t, double);
+typedef void (*vFuuup_t)(uint64_t, uint64_t, uint64_t, void*);
+typedef void (*vFuupi_t)(uint64_t, uint64_t, void*, int64_t);
+typedef void (*vFuupp_t)(uint64_t, uint64_t, void*, void*);
+typedef void (*vFufff_t)(uint64_t, float, float, float);
+typedef void (*vFuddd_t)(uint64_t, double, double, double);
+typedef void (*vFupii_t)(uint64_t, void*, int64_t, int64_t);
+typedef void (*vFuppi_t)(uint64_t, void*, void*, int64_t);
 typedef void (*vFffff_t)(float, float, float, float);
 typedef void (*vFdddd_t)(double, double, double, double);
-typedef void (*vFpiii_t)(void*, int32_t, int32_t, int32_t);
-typedef void (*vFpiip_t)(void*, int32_t, int32_t, void*);
-typedef void (*vFpiup_t)(void*, int32_t, uint32_t, void*);
-typedef void (*vFpipp_t)(void*, int32_t, void*, void*);
-typedef void (*vFpuuu_t)(void*, uint32_t, uint32_t, uint32_t);
-typedef void (*vFpupp_t)(void*, uint32_t, void*, void*);
-typedef void (*vFpdii_t)(void*, double, int32_t, int32_t);
+typedef void (*vFpiii_t)(void*, int64_t, int64_t, int64_t);
+typedef void (*vFpiip_t)(void*, int64_t, int64_t, void*);
+typedef void (*vFpiup_t)(void*, int64_t, uint64_t, void*);
+typedef void (*vFpipp_t)(void*, int64_t, void*, void*);
+typedef void (*vFpuuu_t)(void*, uint64_t, uint64_t, uint64_t);
+typedef void (*vFpupp_t)(void*, uint64_t, void*, void*);
+typedef void (*vFpdii_t)(void*, double, int64_t, int64_t);
 typedef void (*vFpddd_t)(void*, double, double, double);
 typedef void (*vFpLLL_t)(void*, uintptr_t, uintptr_t, uintptr_t);
-typedef void (*vFppii_t)(void*, void*, int32_t, int32_t);
-typedef void (*vFppip_t)(void*, void*, int32_t, void*);
-typedef void (*vFppui_t)(void*, void*, uint32_t, int32_t);
-typedef void (*vFppuu_t)(void*, void*, uint32_t, uint32_t);
-typedef void (*vFppup_t)(void*, void*, uint32_t, void*);
-typedef void (*vFpppi_t)(void*, void*, void*, int32_t);
-typedef void (*vFpppu_t)(void*, void*, void*, uint32_t);
+typedef void (*vFppii_t)(void*, void*, int64_t, int64_t);
+typedef void (*vFppip_t)(void*, void*, int64_t, void*);
+typedef void (*vFppui_t)(void*, void*, uint64_t, int64_t);
+typedef void (*vFppuu_t)(void*, void*, uint64_t, uint64_t);
+typedef void (*vFppup_t)(void*, void*, uint64_t, void*);
+typedef void (*vFpppi_t)(void*, void*, void*, int64_t);
+typedef void (*vFpppu_t)(void*, void*, void*, uint64_t);
 typedef void (*vFpppp_t)(void*, void*, void*, void*);
-typedef int8_t (*cFpiii_t)(void*, int32_t, int32_t, int32_t);
-typedef int32_t (*iFEiip_t)(x64emu_t*, int32_t, int32_t, void*);
-typedef int32_t (*iFEiiN_t)(x64emu_t*, int32_t, int32_t, ...);
-typedef int32_t (*iFEipp_t)(x64emu_t*, int32_t, void*, void*);
-typedef int32_t (*iFEipV_t)(x64emu_t*, int32_t, void*, void*);
-typedef int32_t (*iFEupp_t)(x64emu_t*, uint32_t, void*, void*);
-typedef int32_t (*iFEpii_t)(x64emu_t*, void*, int32_t, int32_t);
-typedef int32_t (*iFEpip_t)(x64emu_t*, void*, int32_t, void*);
-typedef int32_t (*iFEpLi_t)(x64emu_t*, void*, uintptr_t, int32_t);
-typedef int32_t (*iFEppi_t)(x64emu_t*, void*, void*, int32_t);
-typedef int32_t (*iFEppL_t)(x64emu_t*, void*, void*, uintptr_t);
-typedef int32_t (*iFEppp_t)(x64emu_t*, void*, void*, void*);
-typedef int32_t (*iFEppV_t)(x64emu_t*, void*, void*, void*);
-typedef int32_t (*iFEpOu_t)(x64emu_t*, void*, int32_t, uint32_t);
-typedef int32_t (*iFiiii_t)(int32_t, int32_t, int32_t, int32_t);
-typedef int32_t (*iFiiiu_t)(int32_t, int32_t, int32_t, uint32_t);
-typedef int32_t (*iFiiip_t)(int32_t, int32_t, int32_t, void*);
-typedef int32_t (*iFiiiN_t)(int32_t, int32_t, int32_t, ...);
-typedef int32_t (*iFiipp_t)(int32_t, int32_t, void*, void*);
-typedef int32_t (*iFiuii_t)(int32_t, uint32_t, int32_t, int32_t);
-typedef int32_t (*iFilli_t)(int32_t, intptr_t, intptr_t, int32_t);
-typedef int32_t (*iFipii_t)(int32_t, void*, int32_t, int32_t);
-typedef int32_t (*iFipui_t)(int32_t, void*, uint32_t, int32_t);
-typedef int32_t (*iFipLp_t)(int32_t, void*, uintptr_t, void*);
-typedef int32_t (*iFippi_t)(int32_t, void*, void*, int32_t);
-typedef int32_t (*iFippu_t)(int32_t, void*, void*, uint32_t);
-typedef int32_t (*iFippL_t)(int32_t, void*, void*, uintptr_t);
-typedef int32_t (*iFippp_t)(int32_t, void*, void*, void*);
-typedef int32_t (*iFuipp_t)(uint32_t, int32_t, void*, void*);
-typedef int32_t (*iFuuff_t)(uint32_t, uint32_t, float, float);
-typedef int32_t (*iFuppp_t)(uint32_t, void*, void*, void*);
-typedef int32_t (*iFpiii_t)(void*, int32_t, int32_t, int32_t);
-typedef int32_t (*iFpiiu_t)(void*, int32_t, int32_t, uint32_t);
-typedef int32_t (*iFpiid_t)(void*, int32_t, int32_t, double);
-typedef int32_t (*iFpiiL_t)(void*, int32_t, int32_t, uintptr_t);
-typedef int32_t (*iFpiip_t)(void*, int32_t, int32_t, void*);
-typedef int32_t (*iFpiup_t)(void*, int32_t, uint32_t, void*);
-typedef int32_t (*iFpipi_t)(void*, int32_t, void*, int32_t);
-typedef int32_t (*iFpipC_t)(void*, int32_t, void*, uint8_t);
-typedef int32_t (*iFpipp_t)(void*, int32_t, void*, void*);
-typedef int32_t (*iFpCCC_t)(void*, uint8_t, uint8_t, uint8_t);
-typedef int32_t (*iFpWWu_t)(void*, uint16_t, uint16_t, uint32_t);
-typedef int32_t (*iFpuiL_t)(void*, uint32_t, int32_t, uintptr_t);
-typedef int32_t (*iFpuip_t)(void*, uint32_t, int32_t, void*);
-typedef int32_t (*iFpuui_t)(void*, uint32_t, uint32_t, int32_t);
-typedef int32_t (*iFpuuu_t)(void*, uint32_t, uint32_t, uint32_t);
-typedef int32_t (*iFpuup_t)(void*, uint32_t, uint32_t, void*);
-typedef int32_t (*iFpuLL_t)(void*, uint32_t, uintptr_t, uintptr_t);
-typedef int32_t (*iFpuLp_t)(void*, uint32_t, uintptr_t, void*);
-typedef int32_t (*iFpupu_t)(void*, uint32_t, void*, uint32_t);
-typedef int32_t (*iFpupV_t)(void*, uint32_t, void*, void*);
-typedef int32_t (*iFplip_t)(void*, intptr_t, int32_t, void*);
-typedef int32_t (*iFpLpi_t)(void*, uintptr_t, void*, int32_t);
-typedef int32_t (*iFpLpL_t)(void*, uintptr_t, void*, uintptr_t);
-typedef int32_t (*iFpLpp_t)(void*, uintptr_t, void*, void*);
-typedef int32_t (*iFppii_t)(void*, void*, int32_t, int32_t);
-typedef int32_t (*iFppiu_t)(void*, void*, int32_t, uint32_t);
-typedef int32_t (*iFppiL_t)(void*, void*, int32_t, uintptr_t);
-typedef int32_t (*iFppip_t)(void*, void*, int32_t, void*);
-typedef int32_t (*iFppCC_t)(void*, void*, uint8_t, uint8_t);
-typedef int32_t (*iFppuw_t)(void*, void*, uint32_t, int16_t);
-typedef int32_t (*iFppui_t)(void*, void*, uint32_t, int32_t);
-typedef int32_t (*iFppuu_t)(void*, void*, uint32_t, uint32_t);
-typedef int32_t (*iFppup_t)(void*, void*, uint32_t, void*);
-typedef int32_t (*iFppll_t)(void*, void*, intptr_t, intptr_t);
-typedef int32_t (*iFpplp_t)(void*, void*, intptr_t, void*);
-typedef int32_t (*iFppLp_t)(void*, void*, uintptr_t, void*);
-typedef int32_t (*iFpppi_t)(void*, void*, void*, int32_t);
-typedef int32_t (*iFpppu_t)(void*, void*, void*, uint32_t);
-typedef int32_t (*iFpppL_t)(void*, void*, void*, uintptr_t);
-typedef int32_t (*iFpppp_t)(void*, void*, void*, void*);
-typedef int64_t (*IFEpIi_t)(x64emu_t*, void*, int64_t, int32_t);
-typedef int64_t (*IFppip_t)(void*, void*, int32_t, void*);
-typedef int64_t (*IFSIii_t)(void*, int64_t, int32_t, int32_t);
-typedef uint32_t (*uFifff_t)(int32_t, float, float, float);
-typedef uint32_t (*uFuuuu_t)(uint32_t, uint32_t, uint32_t, uint32_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 (*uFpuip_t)(void*, uint32_t, int32_t, void*);
-typedef uint32_t (*uFpuuu_t)(void*, uint32_t, uint32_t, uint32_t);
-typedef uint32_t (*uFppiu_t)(void*, void*, int32_t, uint32_t);
-typedef uint32_t (*uFpppi_t)(void*, void*, void*, int32_t);
-typedef uint64_t (*UFpipp_t)(void*, int32_t, void*, void*);
-typedef double (*dFppiL_t)(void*, void*, int32_t, uintptr_t);
+typedef int8_t (*cFpiii_t)(void*, int64_t, int64_t, int64_t);
+typedef int64_t (*iFEiip_t)(x64emu_t*, int64_t, int64_t, void*);
+typedef int64_t (*iFEiiN_t)(x64emu_t*, int64_t, int64_t, ...);
+typedef int64_t (*iFEipp_t)(x64emu_t*, int64_t, void*, void*);
+typedef int64_t (*iFEipV_t)(x64emu_t*, int64_t, void*, void*);
+typedef int64_t (*iFEupp_t)(x64emu_t*, uint64_t, void*, void*);
+typedef int64_t (*iFEpii_t)(x64emu_t*, void*, int64_t, int64_t);
+typedef int64_t (*iFEpip_t)(x64emu_t*, void*, int64_t, void*);
+typedef int64_t (*iFEpLi_t)(x64emu_t*, void*, uintptr_t, int64_t);
+typedef int64_t (*iFEppi_t)(x64emu_t*, void*, void*, int64_t);
+typedef int64_t (*iFEppL_t)(x64emu_t*, void*, void*, uintptr_t);
+typedef int64_t (*iFEppp_t)(x64emu_t*, void*, void*, void*);
+typedef int64_t (*iFEppV_t)(x64emu_t*, void*, void*, void*);
+typedef int64_t (*iFEpOu_t)(x64emu_t*, void*, int32_t, uint64_t);
+typedef int64_t (*iFiiii_t)(int64_t, int64_t, int64_t, int64_t);
+typedef int64_t (*iFiiiu_t)(int64_t, int64_t, int64_t, uint64_t);
+typedef int64_t (*iFiiip_t)(int64_t, int64_t, int64_t, void*);
+typedef int64_t (*iFiiiN_t)(int64_t, int64_t, int64_t, ...);
+typedef int64_t (*iFiipp_t)(int64_t, int64_t, void*, void*);
+typedef int64_t (*iFiuii_t)(int64_t, uint64_t, int64_t, int64_t);
+typedef int64_t (*iFilli_t)(int64_t, intptr_t, intptr_t, int64_t);
+typedef int64_t (*iFipii_t)(int64_t, void*, int64_t, int64_t);
+typedef int64_t (*iFipui_t)(int64_t, void*, uint64_t, int64_t);
+typedef int64_t (*iFipLp_t)(int64_t, void*, uintptr_t, void*);
+typedef int64_t (*iFippi_t)(int64_t, void*, void*, int64_t);
+typedef int64_t (*iFippu_t)(int64_t, void*, void*, uint64_t);
+typedef int64_t (*iFippL_t)(int64_t, void*, void*, uintptr_t);
+typedef int64_t (*iFippp_t)(int64_t, void*, void*, void*);
+typedef int64_t (*iFuipp_t)(uint64_t, int64_t, void*, void*);
+typedef int64_t (*iFuuff_t)(uint64_t, uint64_t, float, float);
+typedef int64_t (*iFuppp_t)(uint64_t, void*, void*, void*);
+typedef int64_t (*iFpiii_t)(void*, int64_t, int64_t, int64_t);
+typedef int64_t (*iFpiiu_t)(void*, int64_t, int64_t, uint64_t);
+typedef int64_t (*iFpiid_t)(void*, int64_t, int64_t, double);
+typedef int64_t (*iFpiiL_t)(void*, int64_t, int64_t, uintptr_t);
+typedef int64_t (*iFpiip_t)(void*, int64_t, int64_t, void*);
+typedef int64_t (*iFpiup_t)(void*, int64_t, uint64_t, void*);
+typedef int64_t (*iFpipi_t)(void*, int64_t, void*, int64_t);
+typedef int64_t (*iFpipC_t)(void*, int64_t, void*, uint8_t);
+typedef int64_t (*iFpipp_t)(void*, int64_t, void*, void*);
+typedef int64_t (*iFpCCC_t)(void*, uint8_t, uint8_t, uint8_t);
+typedef int64_t (*iFpWWu_t)(void*, uint16_t, uint16_t, uint64_t);
+typedef int64_t (*iFpuiL_t)(void*, uint64_t, int64_t, uintptr_t);
+typedef int64_t (*iFpuip_t)(void*, uint64_t, int64_t, void*);
+typedef int64_t (*iFpuui_t)(void*, uint64_t, uint64_t, int64_t);
+typedef int64_t (*iFpuuu_t)(void*, uint64_t, uint64_t, uint64_t);
+typedef int64_t (*iFpuup_t)(void*, uint64_t, uint64_t, void*);
+typedef int64_t (*iFpuLL_t)(void*, uint64_t, uintptr_t, uintptr_t);
+typedef int64_t (*iFpuLp_t)(void*, uint64_t, uintptr_t, void*);
+typedef int64_t (*iFpupu_t)(void*, uint64_t, void*, uint64_t);
+typedef int64_t (*iFpupV_t)(void*, uint64_t, void*, void*);
+typedef int64_t (*iFplip_t)(void*, intptr_t, int64_t, void*);
+typedef int64_t (*iFpLpi_t)(void*, uintptr_t, void*, int64_t);
+typedef int64_t (*iFpLpL_t)(void*, uintptr_t, void*, uintptr_t);
+typedef int64_t (*iFpLpp_t)(void*, uintptr_t, void*, void*);
+typedef int64_t (*iFppii_t)(void*, void*, int64_t, int64_t);
+typedef int64_t (*iFppiu_t)(void*, void*, int64_t, uint64_t);
+typedef int64_t (*iFppiL_t)(void*, void*, int64_t, uintptr_t);
+typedef int64_t (*iFppip_t)(void*, void*, int64_t, void*);
+typedef int64_t (*iFppCC_t)(void*, void*, uint8_t, uint8_t);
+typedef int64_t (*iFppuw_t)(void*, void*, uint64_t, int16_t);
+typedef int64_t (*iFppui_t)(void*, void*, uint64_t, int64_t);
+typedef int64_t (*iFppuu_t)(void*, void*, uint64_t, uint64_t);
+typedef int64_t (*iFppup_t)(void*, void*, uint64_t, void*);
+typedef int64_t (*iFppll_t)(void*, void*, intptr_t, intptr_t);
+typedef int64_t (*iFpplp_t)(void*, void*, intptr_t, void*);
+typedef int64_t (*iFppLp_t)(void*, void*, uintptr_t, void*);
+typedef int64_t (*iFpppi_t)(void*, void*, void*, int64_t);
+typedef int64_t (*iFpppu_t)(void*, void*, void*, uint64_t);
+typedef int64_t (*iFpppL_t)(void*, void*, void*, uintptr_t);
+typedef int64_t (*iFpppp_t)(void*, void*, void*, void*);
+typedef int64_t (*IFEpIi_t)(x64emu_t*, void*, int64_t, int64_t);
+typedef int64_t (*IFppip_t)(void*, void*, int64_t, void*);
+typedef int64_t (*IFSIii_t)(void*, int64_t, int64_t, int64_t);
+typedef uint64_t (*uFifff_t)(int64_t, float, float, float);
+typedef uint64_t (*uFuuuu_t)(uint64_t, uint64_t, uint64_t, uint64_t);
+typedef uint64_t (*uFpipp_t)(void*, int64_t, void*, void*);
+typedef uint64_t (*uFpCCC_t)(void*, uint8_t, uint8_t, uint8_t);
+typedef uint64_t (*uFpuip_t)(void*, uint64_t, int64_t, void*);
+typedef uint64_t (*uFpuuu_t)(void*, uint64_t, uint64_t, uint64_t);
+typedef uint64_t (*uFppiu_t)(void*, void*, int64_t, uint64_t);
+typedef uint64_t (*uFpppi_t)(void*, void*, void*, int64_t);
+typedef uint64_t (*UFpipp_t)(void*, int64_t, void*, void*);
+typedef double (*dFppiL_t)(void*, void*, int64_t, uintptr_t);
 typedef intptr_t (*lFEppL_t)(x64emu_t*, void*, void*, uintptr_t);
-typedef intptr_t (*lFiipL_t)(int32_t, int32_t, void*, uintptr_t);
-typedef intptr_t (*lFipiI_t)(int32_t, void*, int32_t, int64_t);
-typedef intptr_t (*lFipLi_t)(int32_t, void*, uintptr_t, int32_t);
-typedef intptr_t (*lFipLI_t)(int32_t, void*, uintptr_t, int64_t);
-typedef intptr_t (*lFipLl_t)(int32_t, void*, uintptr_t, intptr_t);
-typedef intptr_t (*lFppii_t)(void*, void*, int32_t, int32_t);
-typedef uintptr_t (*LFpuuu_t)(void*, uint32_t, uint32_t, uint32_t);
+typedef intptr_t (*lFiipL_t)(int64_t, int64_t, void*, uintptr_t);
+typedef intptr_t (*lFipiI_t)(int64_t, void*, int64_t, int64_t);
+typedef intptr_t (*lFipLi_t)(int64_t, void*, uintptr_t, int64_t);
+typedef intptr_t (*lFipLI_t)(int64_t, void*, uintptr_t, int64_t);
+typedef intptr_t (*lFipLl_t)(int64_t, void*, uintptr_t, intptr_t);
+typedef intptr_t (*lFppii_t)(void*, void*, int64_t, int64_t);
+typedef uintptr_t (*LFpuuu_t)(void*, uint64_t, uint64_t, uint64_t);
 typedef uintptr_t (*LFpLLp_t)(void*, uintptr_t, uintptr_t, void*);
 typedef uintptr_t (*LFpLpp_t)(void*, uintptr_t, void*, void*);
-typedef uintptr_t (*LFppii_t)(void*, void*, int32_t, int32_t);
+typedef uintptr_t (*LFppii_t)(void*, void*, int64_t, int64_t);
 typedef uintptr_t (*LFppLL_t)(void*, void*, uintptr_t, uintptr_t);
 typedef uintptr_t (*LFppLp_t)(void*, void*, uintptr_t, void*);
-typedef void* (*pFEipp_t)(x64emu_t*, int32_t, void*, void*);
-typedef void* (*pFEupp_t)(x64emu_t*, uint32_t, void*, void*);
-typedef void* (*pFEpii_t)(x64emu_t*, void*, int32_t, int32_t);
-typedef void* (*pFEpip_t)(x64emu_t*, void*, int32_t, void*);
-typedef void* (*pFEppi_t)(x64emu_t*, void*, void*, int32_t);
+typedef void* (*pFEipp_t)(x64emu_t*, int64_t, void*, void*);
+typedef void* (*pFEupp_t)(x64emu_t*, uint64_t, void*, void*);
+typedef void* (*pFEpii_t)(x64emu_t*, void*, int64_t, int64_t);
+typedef void* (*pFEpip_t)(x64emu_t*, void*, int64_t, void*);
+typedef void* (*pFEppi_t)(x64emu_t*, void*, void*, int64_t);
 typedef void* (*pFEppp_t)(x64emu_t*, void*, void*, void*);
-typedef void* (*pFiiiu_t)(int32_t, int32_t, int32_t, uint32_t);
-typedef void* (*pFiiup_t)(int32_t, int32_t, uint32_t, void*);
-typedef void* (*pFippL_t)(int32_t, void*, void*, uintptr_t);
-typedef void* (*pFuiii_t)(uint32_t, int32_t, int32_t, int32_t);
-typedef void* (*pFpiii_t)(void*, int32_t, int32_t, int32_t);
-typedef void* (*pFpiip_t)(void*, int32_t, int32_t, void*);
-typedef void* (*pFpiLL_t)(void*, int32_t, uintptr_t, uintptr_t);
-typedef void* (*pFpipi_t)(void*, int32_t, void*, int32_t);
-typedef void* (*pFpipp_t)(void*, int32_t, void*, void*);
+typedef void* (*pFiiiu_t)(int64_t, int64_t, int64_t, uint64_t);
+typedef void* (*pFiiup_t)(int64_t, int64_t, uint64_t, void*);
+typedef void* (*pFippL_t)(int64_t, void*, void*, uintptr_t);
+typedef void* (*pFuiii_t)(uint64_t, int64_t, int64_t, int64_t);
+typedef void* (*pFpiii_t)(void*, int64_t, int64_t, int64_t);
+typedef void* (*pFpiip_t)(void*, int64_t, int64_t, void*);
+typedef void* (*pFpiLL_t)(void*, int64_t, uintptr_t, uintptr_t);
+typedef void* (*pFpipi_t)(void*, int64_t, void*, int64_t);
+typedef void* (*pFpipp_t)(void*, int64_t, void*, void*);
 typedef void* (*pFpCWp_t)(void*, uint8_t, uint16_t, void*);
-typedef void* (*pFpCuW_t)(void*, uint8_t, uint32_t, uint16_t);
-typedef void* (*pFpCuu_t)(void*, uint8_t, uint32_t, uint32_t);
-typedef void* (*pFpuii_t)(void*, uint32_t, int32_t, int32_t);
-typedef void* (*pFpuWp_t)(void*, uint32_t, uint16_t, void*);
-typedef void* (*pFpuuu_t)(void*, uint32_t, uint32_t, uint32_t);
-typedef void* (*pFpuup_t)(void*, uint32_t, uint32_t, void*);
-typedef void* (*pFpupi_t)(void*, uint32_t, void*, int32_t);
+typedef void* (*pFpCuW_t)(void*, uint8_t, uint64_t, uint16_t);
+typedef void* (*pFpCuu_t)(void*, uint8_t, uint64_t, uint64_t);
+typedef void* (*pFpuii_t)(void*, uint64_t, int64_t, int64_t);
+typedef void* (*pFpuWp_t)(void*, uint64_t, uint16_t, void*);
+typedef void* (*pFpuuu_t)(void*, uint64_t, uint64_t, uint64_t);
+typedef void* (*pFpuup_t)(void*, uint64_t, uint64_t, void*);
+typedef void* (*pFpupi_t)(void*, uint64_t, void*, int64_t);
 typedef void* (*pFplpp_t)(void*, intptr_t, void*, void*);
-typedef void* (*pFpLip_t)(void*, uintptr_t, int32_t, void*);
-typedef void* (*pFppii_t)(void*, void*, int32_t, int32_t);
-typedef void* (*pFppiL_t)(void*, void*, int32_t, uintptr_t);
-typedef void* (*pFppip_t)(void*, void*, int32_t, void*);
-typedef void* (*pFppuu_t)(void*, void*, uint32_t, uint32_t);
-typedef void* (*pFppuL_t)(void*, void*, uint32_t, uintptr_t);
-typedef void* (*pFppup_t)(void*, void*, uint32_t, void*);
+typedef void* (*pFpLip_t)(void*, uintptr_t, int64_t, void*);
+typedef void* (*pFppii_t)(void*, void*, int64_t, int64_t);
+typedef void* (*pFppiL_t)(void*, void*, int64_t, uintptr_t);
+typedef void* (*pFppip_t)(void*, void*, int64_t, void*);
+typedef void* (*pFppuu_t)(void*, void*, uint64_t, uint64_t);
+typedef void* (*pFppuL_t)(void*, void*, uint64_t, uintptr_t);
+typedef void* (*pFppup_t)(void*, void*, uint64_t, void*);
 typedef void* (*pFppLL_t)(void*, void*, uintptr_t, uintptr_t);
-typedef void* (*pFpppi_t)(void*, void*, void*, int32_t);
-typedef void* (*pFpppu_t)(void*, void*, void*, uint32_t);
+typedef void* (*pFpppi_t)(void*, void*, void*, int64_t);
+typedef void* (*pFpppu_t)(void*, void*, void*, uint64_t);
 typedef void* (*pFpppL_t)(void*, void*, void*, uintptr_t);
 typedef void* (*pFpppp_t)(void*, void*, void*, void*);
-typedef void* (*pFSppi_t)(void*, void*, void*, int32_t);
-typedef void (*vFEiipV_t)(x64emu_t*, int32_t, int32_t, void*, void*);
-typedef void (*vFEpuup_t)(x64emu_t*, void*, uint32_t, uint32_t, void*);
+typedef void* (*pFSppi_t)(void*, void*, void*, int64_t);
+typedef void (*vFEiipV_t)(x64emu_t*, int64_t, int64_t, void*, void*);
+typedef void (*vFEpuup_t)(x64emu_t*, void*, uint64_t, uint64_t, void*);
 typedef void (*vFEpLLp_t)(x64emu_t*, void*, uintptr_t, uintptr_t, void*);
 typedef void (*vFEpppp_t)(x64emu_t*, void*, void*, void*, void*);
-typedef void (*vFiiiii_t)(int32_t, int32_t, int32_t, int32_t, int32_t);
-typedef void (*vFiiiiu_t)(int32_t, int32_t, int32_t, int32_t, uint32_t);
-typedef void (*vFiiuup_t)(int32_t, int32_t, uint32_t, uint32_t, void*);
-typedef void (*vFiipii_t)(int32_t, int32_t, void*, int32_t, int32_t);
-typedef void (*vFiuiip_t)(int32_t, uint32_t, int32_t, int32_t, void*);
-typedef void (*vFiuipi_t)(int32_t, uint32_t, int32_t, void*, int32_t);
-typedef void (*vFiuuuu_t)(int32_t, uint32_t, uint32_t, uint32_t, uint32_t);
-typedef void (*vFiffff_t)(int32_t, float, float, float, float);
-typedef void (*vFidddd_t)(int32_t, double, double, double, double);
-typedef void (*vFilill_t)(int32_t, intptr_t, int32_t, intptr_t, intptr_t);
-typedef void (*vFipipu_t)(int32_t, void*, int32_t, void*, uint32_t);
-typedef void (*vFipipp_t)(int32_t, void*, int32_t, void*, void*);
-typedef void (*vFipupi_t)(int32_t, void*, uint32_t, void*, int32_t);
-typedef void (*vFuiiii_t)(uint32_t, int32_t, int32_t, int32_t, int32_t);
-typedef void (*vFuiiiu_t)(uint32_t, int32_t, int32_t, int32_t, uint32_t);
-typedef void (*vFuiiip_t)(uint32_t, int32_t, int32_t, int32_t, void*);
-typedef void (*vFuiiup_t)(uint32_t, int32_t, int32_t, uint32_t, void*);
-typedef void (*vFuiIII_t)(uint32_t, int32_t, int64_t, int64_t, int64_t);
-typedef void (*vFuiuii_t)(uint32_t, int32_t, uint32_t, int32_t, int32_t);
-typedef void (*vFuiuiu_t)(uint32_t, int32_t, uint32_t, int32_t, uint32_t);
-typedef void (*vFuiuip_t)(uint32_t, int32_t, uint32_t, int32_t, void*);
-typedef void (*vFuiuuu_t)(uint32_t, int32_t, uint32_t, uint32_t, uint32_t);
-typedef void (*vFuiuup_t)(uint32_t, int32_t, uint32_t, uint32_t, void*);
-typedef void (*vFuiupi_t)(uint32_t, int32_t, uint32_t, void*, int32_t);
-typedef void (*vFuiupu_t)(uint32_t, int32_t, uint32_t, void*, uint32_t);
-typedef void (*vFuifff_t)(uint32_t, int32_t, float, float, float);
-typedef void (*vFuiddd_t)(uint32_t, int32_t, double, double, double);
-typedef void (*vFuipii_t)(uint32_t, int32_t, void*, int32_t, int32_t);
-typedef void (*vFuipip_t)(uint32_t, int32_t, void*, int32_t, void*);
-typedef void (*vFuipup_t)(uint32_t, int32_t, void*, uint32_t, void*);
-typedef void (*vFuippp_t)(uint32_t, int32_t, void*, void*, void*);
-typedef void (*vFuuiii_t)(uint32_t, uint32_t, int32_t, int32_t, int32_t);
-typedef void (*vFuuiui_t)(uint32_t, uint32_t, int32_t, uint32_t, int32_t);
-typedef void (*vFuuiuu_t)(uint32_t, uint32_t, int32_t, uint32_t, uint32_t);
-typedef void (*vFuuiup_t)(uint32_t, uint32_t, int32_t, uint32_t, void*);
-typedef void (*vFuuipi_t)(uint32_t, uint32_t, int32_t, void*, int32_t);
-typedef void (*vFuuipu_t)(uint32_t, uint32_t, int32_t, void*, uint32_t);
-typedef void (*vFuuipp_t)(uint32_t, uint32_t, int32_t, void*, void*);
-typedef void (*vFuuuii_t)(uint32_t, uint32_t, uint32_t, int32_t, int32_t);
-typedef void (*vFuuuiu_t)(uint32_t, uint32_t, uint32_t, int32_t, uint32_t);
-typedef void (*vFuuuip_t)(uint32_t, uint32_t, uint32_t, int32_t, void*);
-typedef void (*vFuuuui_t)(uint32_t, uint32_t, uint32_t, uint32_t, int32_t);
-typedef void (*vFuuuuu_t)(uint32_t, uint32_t, uint32_t, uint32_t, uint32_t);
-typedef void (*vFuuuup_t)(uint32_t, uint32_t, uint32_t, uint32_t, void*);
-typedef void (*vFuupii_t)(uint32_t, uint32_t, void*, int32_t, int32_t);
-typedef void (*vFuffff_t)(uint32_t, float, float, float, float);
-typedef void (*vFudddd_t)(uint32_t, double, double, double, double);
-typedef void (*vFupupi_t)(uint32_t, void*, uint32_t, void*, int32_t);
-typedef void (*vFuppip_t)(uint32_t, void*, void*, int32_t, void*);
-typedef void (*vFupppp_t)(uint32_t, void*, void*, void*, void*);
+typedef void (*vFiiiii_t)(int64_t, int64_t, int64_t, int64_t, int64_t);
+typedef void (*vFiiiiu_t)(int64_t, int64_t, int64_t, int64_t, uint64_t);
+typedef void (*vFiiuup_t)(int64_t, int64_t, uint64_t, uint64_t, void*);
+typedef void (*vFiipii_t)(int64_t, int64_t, void*, int64_t, int64_t);
+typedef void (*vFiuiip_t)(int64_t, uint64_t, int64_t, int64_t, void*);
+typedef void (*vFiuipi_t)(int64_t, uint64_t, int64_t, void*, int64_t);
+typedef void (*vFiuuuu_t)(int64_t, uint64_t, uint64_t, uint64_t, uint64_t);
+typedef void (*vFiffff_t)(int64_t, float, float, float, float);
+typedef void (*vFidddd_t)(int64_t, double, double, double, double);
+typedef void (*vFilill_t)(int64_t, intptr_t, int64_t, intptr_t, intptr_t);
+typedef void (*vFipipu_t)(int64_t, void*, int64_t, void*, uint64_t);
+typedef void (*vFipipp_t)(int64_t, void*, int64_t, void*, void*);
+typedef void (*vFipupi_t)(int64_t, void*, uint64_t, void*, int64_t);
+typedef void (*vFuiiii_t)(uint64_t, int64_t, int64_t, int64_t, int64_t);
+typedef void (*vFuiiiu_t)(uint64_t, int64_t, int64_t, int64_t, uint64_t);
+typedef void (*vFuiiip_t)(uint64_t, int64_t, int64_t, int64_t, void*);
+typedef void (*vFuiiup_t)(uint64_t, int64_t, int64_t, uint64_t, void*);
+typedef void (*vFuiIII_t)(uint64_t, int64_t, int64_t, int64_t, int64_t);
+typedef void (*vFuiuii_t)(uint64_t, int64_t, uint64_t, int64_t, int64_t);
+typedef void (*vFuiuiu_t)(uint64_t, int64_t, uint64_t, int64_t, uint64_t);
+typedef void (*vFuiuip_t)(uint64_t, int64_t, uint64_t, int64_t, void*);
+typedef void (*vFuiuuu_t)(uint64_t, int64_t, uint64_t, uint64_t, uint64_t);
+typedef void (*vFuiuup_t)(uint64_t, int64_t, uint64_t, uint64_t, void*);
+typedef void (*vFuiupi_t)(uint64_t, int64_t, uint64_t, void*, int64_t);
+typedef void (*vFuiupu_t)(uint64_t, int64_t, uint64_t, void*, uint64_t);
+typedef void (*vFuifff_t)(uint64_t, int64_t, float, float, float);
+typedef void (*vFuiddd_t)(uint64_t, int64_t, double, double, double);
+typedef void (*vFuipii_t)(uint64_t, int64_t, void*, int64_t, int64_t);
+typedef void (*vFuipip_t)(uint64_t, int64_t, void*, int64_t, void*);
+typedef void (*vFuipup_t)(uint64_t, int64_t, void*, uint64_t, void*);
+typedef void (*vFuippp_t)(uint64_t, int64_t, void*, void*, void*);
+typedef void (*vFuuiii_t)(uint64_t, uint64_t, int64_t, int64_t, int64_t);
+typedef void (*vFuuiui_t)(uint64_t, uint64_t, int64_t, uint64_t, int64_t);
+typedef void (*vFuuiuu_t)(uint64_t, uint64_t, int64_t, uint64_t, uint64_t);
+typedef void (*vFuuiup_t)(uint64_t, uint64_t, int64_t, uint64_t, void*);
+typedef void (*vFuuipi_t)(uint64_t, uint64_t, int64_t, void*, int64_t);
+typedef void (*vFuuipu_t)(uint64_t, uint64_t, int64_t, void*, uint64_t);
+typedef void (*vFuuipp_t)(uint64_t, uint64_t, int64_t, void*, void*);
+typedef void (*vFuuuii_t)(uint64_t, uint64_t, uint64_t, int64_t, int64_t);
+typedef void (*vFuuuiu_t)(uint64_t, uint64_t, uint64_t, int64_t, uint64_t);
+typedef void (*vFuuuip_t)(uint64_t, uint64_t, uint64_t, int64_t, void*);
+typedef void (*vFuuuui_t)(uint64_t, uint64_t, uint64_t, uint64_t, int64_t);
+typedef void (*vFuuuuu_t)(uint64_t, uint64_t, uint64_t, uint64_t, uint64_t);
+typedef void (*vFuuuup_t)(uint64_t, uint64_t, uint64_t, uint64_t, void*);
+typedef void (*vFuupii_t)(uint64_t, uint64_t, void*, int64_t, int64_t);
+typedef void (*vFuffff_t)(uint64_t, float, float, float, float);
+typedef void (*vFudddd_t)(uint64_t, double, double, double, double);
+typedef void (*vFupupi_t)(uint64_t, void*, uint64_t, void*, int64_t);
+typedef void (*vFuppip_t)(uint64_t, void*, void*, int64_t, void*);
+typedef void (*vFupppp_t)(uint64_t, void*, void*, void*, void*);
 typedef void (*vFfffff_t)(float, float, float, float, float);
 typedef void (*vFddddp_t)(double, double, double, double, void*);
-typedef void (*vFpiiii_t)(void*, int32_t, int32_t, int32_t, int32_t);
-typedef void (*vFpipii_t)(void*, int32_t, void*, int32_t, int32_t);
-typedef void (*vFpuipp_t)(void*, uint32_t, int32_t, void*, void*);
-typedef void (*vFpddii_t)(void*, double, double, int32_t, int32_t);
-typedef void (*vFpliil_t)(void*, intptr_t, int32_t, int32_t, intptr_t);
-typedef void (*vFppiii_t)(void*, void*, int32_t, int32_t, int32_t);
-typedef void (*vFppiip_t)(void*, void*, int32_t, int32_t, void*);
-typedef void (*vFppipp_t)(void*, void*, int32_t, void*, void*);
-typedef void (*vFppWui_t)(void*, void*, uint16_t, uint32_t, int32_t);
-typedef void (*vFpppii_t)(void*, void*, void*, int32_t, int32_t);
-typedef void (*vFppppi_t)(void*, void*, void*, void*, int32_t);
+typedef void (*vFpiiii_t)(void*, int64_t, int64_t, int64_t, int64_t);
+typedef void (*vFpipii_t)(void*, int64_t, void*, int64_t, int64_t);
+typedef void (*vFpuipp_t)(void*, uint64_t, int64_t, void*, void*);
+typedef void (*vFpddii_t)(void*, double, double, int64_t, int64_t);
+typedef void (*vFpliil_t)(void*, intptr_t, int64_t, int64_t, intptr_t);
+typedef void (*vFppiii_t)(void*, void*, int64_t, int64_t, int64_t);
+typedef void (*vFppiip_t)(void*, void*, int64_t, int64_t, void*);
+typedef void (*vFppipp_t)(void*, void*, int64_t, void*, void*);
+typedef void (*vFppWui_t)(void*, void*, uint16_t, uint64_t, int64_t);
+typedef void (*vFpppii_t)(void*, void*, void*, int64_t, int64_t);
+typedef void (*vFppppi_t)(void*, void*, void*, void*, int64_t);
 typedef void (*vFppppp_t)(void*, void*, void*, void*, void*);
-typedef int32_t (*iFEippp_t)(x64emu_t*, int32_t, void*, void*, void*);
-typedef int32_t (*iFEpiii_t)(x64emu_t*, void*, int32_t, int32_t, int32_t);
-typedef int32_t (*iFEpipi_t)(x64emu_t*, void*, int32_t, void*, int32_t);
-typedef int32_t (*iFEpipp_t)(x64emu_t*, void*, int32_t, void*, void*);
-typedef int32_t (*iFEpipV_t)(x64emu_t*, void*, int32_t, void*, void*);
-typedef int32_t (*iFEpLpp_t)(x64emu_t*, void*, uintptr_t, void*, void*);
-typedef int32_t (*iFEpLpV_t)(x64emu_t*, void*, uintptr_t, void*, void*);
-typedef int32_t (*iFEppii_t)(x64emu_t*, void*, void*, int32_t, int32_t);
-typedef int32_t (*iFEppip_t)(x64emu_t*, void*, void*, int32_t, void*);
-typedef int32_t (*iFEppiV_t)(x64emu_t*, void*, void*, int32_t, void*);
-typedef int32_t (*iFEpplp_t)(x64emu_t*, void*, void*, intptr_t, void*);
-typedef int32_t (*iFEpppp_t)(x64emu_t*, void*, void*, void*, void*);
-typedef int32_t (*iFEpppV_t)(x64emu_t*, void*, void*, void*, void*);
-typedef int32_t (*iFiiipu_t)(int32_t, int32_t, int32_t, void*, uint32_t);
-typedef int32_t (*iFiiipp_t)(int32_t, int32_t, int32_t, void*, void*);
-typedef int32_t (*iFiiupp_t)(int32_t, int32_t, uint32_t, void*, void*);
-typedef int32_t (*iFiLLLL_t)(int32_t, uintptr_t, uintptr_t, uintptr_t, uintptr_t);
-typedef int32_t (*iFipiii_t)(int32_t, void*, int32_t, int32_t, int32_t);
-typedef int32_t (*iFipuip_t)(int32_t, void*, uint32_t, int32_t, void*);
-typedef int32_t (*iFipppi_t)(int32_t, void*, void*, void*, int32_t);
-typedef int32_t (*iFipppp_t)(int32_t, void*, void*, void*, void*);
-typedef int32_t (*iFuppLp_t)(uint32_t, void*, void*, uintptr_t, void*);
-typedef int32_t (*iFpiiii_t)(void*, int32_t, int32_t, int32_t, int32_t);
-typedef int32_t (*iFpiiiu_t)(void*, int32_t, int32_t, int32_t, uint32_t);
-typedef int32_t (*iFpiiiL_t)(void*, int32_t, int32_t, int32_t, uintptr_t);
-typedef int32_t (*iFpiiip_t)(void*, int32_t, int32_t, int32_t, void*);
-typedef int32_t (*iFpiiuu_t)(void*, int32_t, int32_t, uint32_t, uint32_t);
-typedef int32_t (*iFpiipi_t)(void*, int32_t, int32_t, void*, int32_t);
-typedef int32_t (*iFpiipp_t)(void*, int32_t, int32_t, void*, void*);
-typedef int32_t (*iFpipii_t)(void*, int32_t, void*, int32_t, int32_t);
-typedef int32_t (*iFpippi_t)(void*, int32_t, void*, void*, int32_t);
-typedef int32_t (*iFpippp_t)(void*, int32_t, void*, void*, void*);
-typedef int32_t (*iFpCCCC_t)(void*, uint8_t, uint8_t, uint8_t, uint8_t);
-typedef int32_t (*iFpuuip_t)(void*, uint32_t, uint32_t, int32_t, void*);
-typedef int32_t (*iFpuuui_t)(void*, uint32_t, uint32_t, uint32_t, int32_t);
-typedef int32_t (*iFpuuup_t)(void*, uint32_t, uint32_t, uint32_t, void*);
-typedef int32_t (*iFpuuLL_t)(void*, uint32_t, uint32_t, uintptr_t, uintptr_t);
-typedef int32_t (*iFpuupp_t)(void*, uint32_t, uint32_t, void*, void*);
-typedef int32_t (*iFplluu_t)(void*, intptr_t, intptr_t, uint32_t, uint32_t);
-typedef int32_t (*iFpLlpp_t)(void*, uintptr_t, intptr_t, void*, void*);
-typedef int32_t (*iFppiip_t)(void*, void*, int32_t, int32_t, void*);
-typedef int32_t (*iFppiup_t)(void*, void*, int32_t, uint32_t, void*);
-typedef int32_t (*iFppiLi_t)(void*, void*, int32_t, uintptr_t, int32_t);
-typedef int32_t (*iFppipi_t)(void*, void*, int32_t, void*, int32_t);
-typedef int32_t (*iFppipp_t)(void*, void*, int32_t, void*, void*);
-typedef int32_t (*iFppupi_t)(void*, void*, uint32_t, void*, int32_t);
-typedef int32_t (*iFppupp_t)(void*, void*, uint32_t, void*, void*);
-typedef int32_t (*iFppllp_t)(void*, void*, intptr_t, intptr_t, void*);
-typedef int32_t (*iFppLpi_t)(void*, void*, uintptr_t, void*, int32_t);
-typedef int32_t (*iFppLpL_t)(void*, void*, uintptr_t, void*, uintptr_t);
-typedef int32_t (*iFppLpp_t)(void*, void*, uintptr_t, void*, void*);
-typedef int32_t (*iFpppii_t)(void*, void*, void*, int32_t, int32_t);
-typedef int32_t (*iFpppiL_t)(void*, void*, void*, int32_t, uintptr_t);
-typedef int32_t (*iFpppip_t)(void*, void*, void*, int32_t, void*);
-typedef int32_t (*iFpppLi_t)(void*, void*, void*, uintptr_t, int32_t);
-typedef int32_t (*iFpppLp_t)(void*, void*, void*, uintptr_t, void*);
-typedef int32_t (*iFppppi_t)(void*, void*, void*, void*, int32_t);
-typedef int32_t (*iFppppL_t)(void*, void*, void*, void*, uintptr_t);
-typedef int32_t (*iFppppp_t)(void*, void*, void*, void*, void*);
+typedef int64_t (*iFEippp_t)(x64emu_t*, int64_t, void*, void*, void*);
+typedef int64_t (*iFEpiii_t)(x64emu_t*, void*, int64_t, int64_t, int64_t);
+typedef int64_t (*iFEpipi_t)(x64emu_t*, void*, int64_t, void*, int64_t);
+typedef int64_t (*iFEpipp_t)(x64emu_t*, void*, int64_t, void*, void*);
+typedef int64_t (*iFEpipV_t)(x64emu_t*, void*, int64_t, void*, void*);
+typedef int64_t (*iFEpLpp_t)(x64emu_t*, void*, uintptr_t, void*, void*);
+typedef int64_t (*iFEpLpV_t)(x64emu_t*, void*, uintptr_t, void*, void*);
+typedef int64_t (*iFEppii_t)(x64emu_t*, void*, void*, int64_t, int64_t);
+typedef int64_t (*iFEppip_t)(x64emu_t*, void*, void*, int64_t, void*);
+typedef int64_t (*iFEppiV_t)(x64emu_t*, void*, void*, int64_t, void*);
+typedef int64_t (*iFEpplp_t)(x64emu_t*, void*, void*, intptr_t, void*);
+typedef int64_t (*iFEpppp_t)(x64emu_t*, void*, void*, void*, void*);
+typedef int64_t (*iFEpppV_t)(x64emu_t*, void*, void*, void*, void*);
+typedef int64_t (*iFiiipu_t)(int64_t, int64_t, int64_t, void*, uint64_t);
+typedef int64_t (*iFiiipp_t)(int64_t, int64_t, int64_t, void*, void*);
+typedef int64_t (*iFiiupp_t)(int64_t, int64_t, uint64_t, void*, void*);
+typedef int64_t (*iFiLLLL_t)(int64_t, uintptr_t, uintptr_t, uintptr_t, uintptr_t);
+typedef int64_t (*iFipiii_t)(int64_t, void*, int64_t, int64_t, int64_t);
+typedef int64_t (*iFipuip_t)(int64_t, void*, uint64_t, int64_t, void*);
+typedef int64_t (*iFipppi_t)(int64_t, void*, void*, void*, int64_t);
+typedef int64_t (*iFipppp_t)(int64_t, void*, void*, void*, void*);
+typedef int64_t (*iFuppLp_t)(uint64_t, void*, void*, uintptr_t, void*);
+typedef int64_t (*iFpiiii_t)(void*, int64_t, int64_t, int64_t, int64_t);
+typedef int64_t (*iFpiiiu_t)(void*, int64_t, int64_t, int64_t, uint64_t);
+typedef int64_t (*iFpiiiL_t)(void*, int64_t, int64_t, int64_t, uintptr_t);
+typedef int64_t (*iFpiiip_t)(void*, int64_t, int64_t, int64_t, void*);
+typedef int64_t (*iFpiiuu_t)(void*, int64_t, int64_t, uint64_t, uint64_t);
+typedef int64_t (*iFpiipi_t)(void*, int64_t, int64_t, void*, int64_t);
+typedef int64_t (*iFpiipp_t)(void*, int64_t, int64_t, void*, void*);
+typedef int64_t (*iFpipii_t)(void*, int64_t, void*, int64_t, int64_t);
+typedef int64_t (*iFpippi_t)(void*, int64_t, void*, void*, int64_t);
+typedef int64_t (*iFpippp_t)(void*, int64_t, void*, void*, void*);
+typedef int64_t (*iFpCCCC_t)(void*, uint8_t, uint8_t, uint8_t, uint8_t);
+typedef int64_t (*iFpuuip_t)(void*, uint64_t, uint64_t, int64_t, void*);
+typedef int64_t (*iFpuuui_t)(void*, uint64_t, uint64_t, uint64_t, int64_t);
+typedef int64_t (*iFpuuup_t)(void*, uint64_t, uint64_t, uint64_t, void*);
+typedef int64_t (*iFpuuLL_t)(void*, uint64_t, uint64_t, uintptr_t, uintptr_t);
+typedef int64_t (*iFpuupp_t)(void*, uint64_t, uint64_t, void*, void*);
+typedef int64_t (*iFplluu_t)(void*, intptr_t, intptr_t, uint64_t, uint64_t);
+typedef int64_t (*iFpLlpp_t)(void*, uintptr_t, intptr_t, void*, void*);
+typedef int64_t (*iFppiip_t)(void*, void*, int64_t, int64_t, void*);
+typedef int64_t (*iFppiup_t)(void*, void*, int64_t, uint64_t, void*);
+typedef int64_t (*iFppiLi_t)(void*, void*, int64_t, uintptr_t, int64_t);
+typedef int64_t (*iFppipi_t)(void*, void*, int64_t, void*, int64_t);
+typedef int64_t (*iFppipp_t)(void*, void*, int64_t, void*, void*);
+typedef int64_t (*iFppupi_t)(void*, void*, uint64_t, void*, int64_t);
+typedef int64_t (*iFppupp_t)(void*, void*, uint64_t, void*, void*);
+typedef int64_t (*iFppllp_t)(void*, void*, intptr_t, intptr_t, void*);
+typedef int64_t (*iFppLpi_t)(void*, void*, uintptr_t, void*, int64_t);
+typedef int64_t (*iFppLpL_t)(void*, void*, uintptr_t, void*, uintptr_t);
+typedef int64_t (*iFppLpp_t)(void*, void*, uintptr_t, void*, void*);
+typedef int64_t (*iFpppii_t)(void*, void*, void*, int64_t, int64_t);
+typedef int64_t (*iFpppiL_t)(void*, void*, void*, int64_t, uintptr_t);
+typedef int64_t (*iFpppip_t)(void*, void*, void*, int64_t, void*);
+typedef int64_t (*iFpppLi_t)(void*, void*, void*, uintptr_t, int64_t);
+typedef int64_t (*iFpppLp_t)(void*, void*, void*, uintptr_t, void*);
+typedef int64_t (*iFppppi_t)(void*, void*, void*, void*, int64_t);
+typedef int64_t (*iFppppL_t)(void*, void*, void*, void*, uintptr_t);
+typedef int64_t (*iFppppp_t)(void*, void*, void*, void*, void*);
 typedef int64_t (*IFppIII_t)(void*, void*, int64_t, int64_t, int64_t);
-typedef uint32_t (*uFEppuu_t)(x64emu_t*, void*, void*, uint32_t, uint32_t);
-typedef uint32_t (*uFiuuuu_t)(int32_t, uint32_t, uint32_t, uint32_t, uint32_t);
-typedef uint32_t (*uFuiiiu_t)(uint32_t, int32_t, int32_t, int32_t, uint32_t);
-typedef uint32_t (*uFpCCCC_t)(void*, uint8_t, uint8_t, uint8_t, uint8_t);
-typedef uint32_t (*uFpuuuu_t)(void*, uint32_t, uint32_t, uint32_t, uint32_t);
-typedef uint32_t (*uFppiip_t)(void*, void*, int32_t, int32_t, void*);
-typedef uint32_t (*uFppppp_t)(void*, void*, void*, void*, void*);
+typedef uint64_t (*uFEppuu_t)(x64emu_t*, void*, void*, uint64_t, uint64_t);
+typedef uint64_t (*uFiuuuu_t)(int64_t, uint64_t, uint64_t, uint64_t, uint64_t);
+typedef uint64_t (*uFuiiiu_t)(uint64_t, int64_t, int64_t, int64_t, uint64_t);
+typedef uint64_t (*uFpCCCC_t)(void*, uint8_t, uint8_t, uint8_t, uint8_t);
+typedef uint64_t (*uFpuuuu_t)(void*, uint64_t, uint64_t, uint64_t, uint64_t);
+typedef uint64_t (*uFppiip_t)(void*, void*, int64_t, int64_t, void*);
+typedef uint64_t (*uFppppp_t)(void*, void*, void*, void*, void*);
 typedef uintptr_t (*LFLpppp_t)(uintptr_t, void*, void*, void*, void*);
 typedef uintptr_t (*LFpLLLp_t)(void*, uintptr_t, uintptr_t, uintptr_t, void*);
 typedef uintptr_t (*LFpLppL_t)(void*, uintptr_t, void*, void*, uintptr_t);
 typedef uintptr_t (*LFpLppp_t)(void*, uintptr_t, void*, void*, void*);
 typedef uintptr_t (*LFppLLp_t)(void*, void*, uintptr_t, uintptr_t, void*);
 typedef uintptr_t (*LFppppp_t)(void*, void*, void*, void*, void*);
-typedef void* (*pFEpiii_t)(x64emu_t*, void*, int32_t, int32_t, int32_t);
-typedef void* (*pFEpipL_t)(x64emu_t*, void*, int32_t, void*, uintptr_t);
-typedef void* (*pFEpipp_t)(x64emu_t*, void*, int32_t, void*, void*);
-typedef void* (*pFEpupp_t)(x64emu_t*, void*, uint32_t, void*, void*);
-typedef void* (*pFEppii_t)(x64emu_t*, void*, void*, int32_t, int32_t);
-typedef void* (*pFEppip_t)(x64emu_t*, void*, void*, int32_t, void*);
+typedef void* (*pFEpiii_t)(x64emu_t*, void*, int64_t, int64_t, int64_t);
+typedef void* (*pFEpipL_t)(x64emu_t*, void*, int64_t, void*, uintptr_t);
+typedef void* (*pFEpipp_t)(x64emu_t*, void*, int64_t, void*, void*);
+typedef void* (*pFEpupp_t)(x64emu_t*, void*, uint64_t, void*, void*);
+typedef void* (*pFEppii_t)(x64emu_t*, void*, void*, int64_t, int64_t);
+typedef void* (*pFEppip_t)(x64emu_t*, void*, void*, int64_t, void*);
 typedef void* (*pFEpppp_t)(x64emu_t*, void*, void*, void*, void*);
-typedef void* (*pFipipL_t)(int32_t, void*, int32_t, void*, uintptr_t);
-typedef void* (*pFuiiiu_t)(uint32_t, int32_t, int32_t, int32_t, uint32_t);
-typedef void* (*pFuiipp_t)(uint32_t, int32_t, int32_t, void*, void*);
-typedef void* (*pFpiiuu_t)(void*, int32_t, int32_t, uint32_t, uint32_t);
-typedef void* (*pFpiipp_t)(void*, int32_t, int32_t, void*, void*);
-typedef void* (*pFpippp_t)(void*, int32_t, void*, void*, void*);
-typedef void* (*pFpCuup_t)(void*, uint8_t, uint32_t, uint32_t, void*);
+typedef void* (*pFipipL_t)(int64_t, void*, int64_t, void*, uintptr_t);
+typedef void* (*pFuiiiu_t)(uint64_t, int64_t, int64_t, int64_t, uint64_t);
+typedef void* (*pFuiipp_t)(uint64_t, int64_t, int64_t, void*, void*);
+typedef void* (*pFpiiuu_t)(void*, int64_t, int64_t, uint64_t, uint64_t);
+typedef void* (*pFpiipp_t)(void*, int64_t, int64_t, void*, void*);
+typedef void* (*pFpippp_t)(void*, int64_t, void*, void*, void*);
+typedef void* (*pFpCuup_t)(void*, uint8_t, uint64_t, uint64_t, void*);
 typedef void* (*pFpCppp_t)(void*, uint8_t, void*, void*, void*);
-typedef void* (*pFpuiii_t)(void*, uint32_t, int32_t, int32_t, int32_t);
-typedef void* (*pFpuiip_t)(void*, uint32_t, int32_t, int32_t, void*);
-typedef void* (*pFpuWWW_t)(void*, uint32_t, uint16_t, uint16_t, uint16_t);
-typedef void* (*pFpuuWW_t)(void*, uint32_t, uint32_t, uint16_t, uint16_t);
-typedef void* (*pFpuuup_t)(void*, uint32_t, uint32_t, uint32_t, void*);
-typedef void* (*pFppiii_t)(void*, void*, int32_t, int32_t, int32_t);
-typedef void* (*pFppipi_t)(void*, void*, int32_t, void*, int32_t);
-typedef void* (*pFppipp_t)(void*, void*, int32_t, void*, void*);
-typedef void* (*pFppuuu_t)(void*, void*, uint32_t, uint32_t, uint32_t);
-typedef void* (*pFppuup_t)(void*, void*, uint32_t, uint32_t, void*);
+typedef void* (*pFpuiii_t)(void*, uint64_t, int64_t, int64_t, int64_t);
+typedef void* (*pFpuiip_t)(void*, uint64_t, int64_t, int64_t, void*);
+typedef void* (*pFpuWWW_t)(void*, uint64_t, uint16_t, uint16_t, uint16_t);
+typedef void* (*pFpuuWW_t)(void*, uint64_t, uint64_t, uint16_t, uint16_t);
+typedef void* (*pFpuuup_t)(void*, uint64_t, uint64_t, uint64_t, void*);
+typedef void* (*pFppiii_t)(void*, void*, int64_t, int64_t, int64_t);
+typedef void* (*pFppipi_t)(void*, void*, int64_t, void*, int64_t);
+typedef void* (*pFppipp_t)(void*, void*, int64_t, void*, void*);
+typedef void* (*pFppuuu_t)(void*, void*, uint64_t, uint64_t, uint64_t);
+typedef void* (*pFppuup_t)(void*, void*, uint64_t, uint64_t, void*);
 typedef void* (*pFppLLp_t)(void*, void*, uintptr_t, uintptr_t, void*);
-typedef void* (*pFpppip_t)(void*, void*, void*, int32_t, void*);
-typedef void* (*pFpppuu_t)(void*, void*, void*, uint32_t, uint32_t);
-typedef void* (*pFpppup_t)(void*, void*, void*, uint32_t, void*);
-typedef void* (*pFppppi_t)(void*, void*, void*, void*, int32_t);
+typedef void* (*pFpppip_t)(void*, void*, void*, int64_t, void*);
+typedef void* (*pFpppuu_t)(void*, void*, void*, uint64_t, uint64_t);
+typedef void* (*pFpppup_t)(void*, void*, void*, uint64_t, void*);
+typedef void* (*pFppppi_t)(void*, void*, void*, void*, int64_t);
 typedef void* (*pFppppp_t)(void*, void*, void*, void*, void*);
-typedef void (*vFEiiipp_t)(x64emu_t*, int32_t, int32_t, int32_t, void*, void*);
-typedef void (*vFEpuipp_t)(x64emu_t*, void*, uint32_t, int32_t, void*, void*);
+typedef void (*vFEiiipp_t)(x64emu_t*, int64_t, int64_t, int64_t, void*, void*);
+typedef void (*vFEpuipp_t)(x64emu_t*, void*, uint64_t, int64_t, void*, void*);
 typedef void (*vFEpLLpp_t)(x64emu_t*, void*, uintptr_t, uintptr_t, void*, void*);
-typedef void (*vFiiiiii_t)(int32_t, int32_t, int32_t, int32_t, int32_t, int32_t);
-typedef void (*vFiiiuil_t)(int32_t, int32_t, int32_t, uint32_t, int32_t, intptr_t);
-typedef void (*vFiuippp_t)(int32_t, uint32_t, int32_t, void*, void*, void*);
-typedef void (*vFiffiff_t)(int32_t, float, float, int32_t, float, float);
-typedef void (*vFiddidd_t)(int32_t, double, double, int32_t, double, double);
-typedef void (*vFuiiiii_t)(uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t);
-typedef void (*vFuiiiip_t)(uint32_t, int32_t, int32_t, int32_t, int32_t, void*);
-typedef void (*vFuiiuii_t)(uint32_t, int32_t, int32_t, uint32_t, int32_t, int32_t);
-typedef void (*vFuiiuup_t)(uint32_t, int32_t, int32_t, uint32_t, uint32_t, void*);
-typedef void (*vFuiuiii_t)(uint32_t, int32_t, uint32_t, int32_t, int32_t, int32_t);
-typedef void (*vFuiuiip_t)(uint32_t, int32_t, uint32_t, int32_t, int32_t, void*);
-typedef void (*vFuiuiuu_t)(uint32_t, int32_t, uint32_t, int32_t, uint32_t, uint32_t);
-typedef void (*vFuiuuip_t)(uint32_t, int32_t, uint32_t, uint32_t, int32_t, void*);
-typedef void (*vFuiuuuu_t)(uint32_t, int32_t, uint32_t, uint32_t, uint32_t, uint32_t);
-typedef void (*vFuiupii_t)(uint32_t, int32_t, uint32_t, void*, int32_t, int32_t);
-typedef void (*vFuiupiu_t)(uint32_t, int32_t, uint32_t, void*, int32_t, uint32_t);
-typedef void (*vFuiffff_t)(uint32_t, int32_t, float, float, float, float);
-typedef void (*vFuidddd_t)(uint32_t, int32_t, double, double, double, double);
-typedef void (*vFuipiup_t)(uint32_t, int32_t, void*, int32_t, uint32_t, void*);
-typedef void (*vFuuiiii_t)(uint32_t, uint32_t, int32_t, int32_t, int32_t, int32_t);
-typedef void (*vFuuiuii_t)(uint32_t, uint32_t, int32_t, uint32_t, int32_t, int32_t);
-typedef void (*vFuuiuiu_t)(uint32_t, uint32_t, int32_t, uint32_t, int32_t, uint32_t);
-typedef void (*vFuuiuup_t)(uint32_t, uint32_t, int32_t, uint32_t, uint32_t, void*);
-typedef void (*vFuuippp_t)(uint32_t, uint32_t, int32_t, void*, void*, void*);
-typedef void (*vFuuuiup_t)(uint32_t, uint32_t, uint32_t, int32_t, uint32_t, void*);
-typedef void (*vFuuuipi_t)(uint32_t, uint32_t, uint32_t, int32_t, void*, int32_t);
-typedef void (*vFuuuipp_t)(uint32_t, uint32_t, uint32_t, int32_t, void*, void*);
-typedef void (*vFuuuuii_t)(uint32_t, uint32_t, uint32_t, uint32_t, int32_t, int32_t);
-typedef void (*vFuuuuip_t)(uint32_t, uint32_t, uint32_t, uint32_t, int32_t, void*);
-typedef void (*vFuuuuuu_t)(uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t);
-typedef void (*vFuuuuff_t)(uint32_t, uint32_t, uint32_t, uint32_t, float, float);
-typedef void (*vFuuuppi_t)(uint32_t, uint32_t, uint32_t, void*, void*, int32_t);
-typedef void (*vFuuuppp_t)(uint32_t, uint32_t, uint32_t, void*, void*, void*);
-typedef void (*vFuuffff_t)(uint32_t, uint32_t, float, float, float, float);
-typedef void (*vFuudddd_t)(uint32_t, uint32_t, double, double, double, double);
-typedef void (*vFuffiip_t)(uint32_t, float, float, int32_t, int32_t, void*);
-typedef void (*vFufffff_t)(uint32_t, float, float, float, float, float);
-typedef void (*vFuddiip_t)(uint32_t, double, double, int32_t, int32_t, void*);
-typedef void (*vFupupip_t)(uint32_t, void*, uint32_t, void*, int32_t, void*);
-typedef void (*vFuppppp_t)(uint32_t, void*, void*, void*, void*, void*);
+typedef void (*vFiiiiii_t)(int64_t, int64_t, int64_t, int64_t, int64_t, int64_t);
+typedef void (*vFiiiuil_t)(int64_t, int64_t, int64_t, uint64_t, int64_t, intptr_t);
+typedef void (*vFiuippp_t)(int64_t, uint64_t, int64_t, void*, void*, void*);
+typedef void (*vFiffiff_t)(int64_t, float, float, int64_t, float, float);
+typedef void (*vFiddidd_t)(int64_t, double, double, int64_t, double, double);
+typedef void (*vFuiiiii_t)(uint64_t, int64_t, int64_t, int64_t, int64_t, int64_t);
+typedef void (*vFuiiiip_t)(uint64_t, int64_t, int64_t, int64_t, int64_t, void*);
+typedef void (*vFuiiuii_t)(uint64_t, int64_t, int64_t, uint64_t, int64_t, int64_t);
+typedef void (*vFuiiuup_t)(uint64_t, int64_t, int64_t, uint64_t, uint64_t, void*);
+typedef void (*vFuiuiii_t)(uint64_t, int64_t, uint64_t, int64_t, int64_t, int64_t);
+typedef void (*vFuiuiip_t)(uint64_t, int64_t, uint64_t, int64_t, int64_t, void*);
+typedef void (*vFuiuiuu_t)(uint64_t, int64_t, uint64_t, int64_t, uint64_t, uint64_t);
+typedef void (*vFuiuuip_t)(uint64_t, int64_t, uint64_t, uint64_t, int64_t, void*);
+typedef void (*vFuiuuuu_t)(uint64_t, int64_t, uint64_t, uint64_t, uint64_t, uint64_t);
+typedef void (*vFuiupii_t)(uint64_t, int64_t, uint64_t, void*, int64_t, int64_t);
+typedef void (*vFuiupiu_t)(uint64_t, int64_t, uint64_t, void*, int64_t, uint64_t);
+typedef void (*vFuiffff_t)(uint64_t, int64_t, float, float, float, float);
+typedef void (*vFuidddd_t)(uint64_t, int64_t, double, double, double, double);
+typedef void (*vFuipiup_t)(uint64_t, int64_t, void*, int64_t, uint64_t, void*);
+typedef void (*vFuuiiii_t)(uint64_t, uint64_t, int64_t, int64_t, int64_t, int64_t);
+typedef void (*vFuuiuii_t)(uint64_t, uint64_t, int64_t, uint64_t, int64_t, int64_t);
+typedef void (*vFuuiuiu_t)(uint64_t, uint64_t, int64_t, uint64_t, int64_t, uint64_t);
+typedef void (*vFuuiuup_t)(uint64_t, uint64_t, int64_t, uint64_t, uint64_t, void*);
+typedef void (*vFuuippp_t)(uint64_t, uint64_t, int64_t, void*, void*, void*);
+typedef void (*vFuuuiup_t)(uint64_t, uint64_t, uint64_t, int64_t, uint64_t, void*);
+typedef void (*vFuuuipi_t)(uint64_t, uint64_t, uint64_t, int64_t, void*, int64_t);
+typedef void (*vFuuuipp_t)(uint64_t, uint64_t, uint64_t, int64_t, void*, void*);
+typedef void (*vFuuuuii_t)(uint64_t, uint64_t, uint64_t, uint64_t, int64_t, int64_t);
+typedef void (*vFuuuuip_t)(uint64_t, uint64_t, uint64_t, uint64_t, int64_t, void*);
+typedef void (*vFuuuuuu_t)(uint64_t, uint64_t, uint64_t, uint64_t, uint64_t, uint64_t);
+typedef void (*vFuuuuff_t)(uint64_t, uint64_t, uint64_t, uint64_t, float, float);
+typedef void (*vFuuuppi_t)(uint64_t, uint64_t, uint64_t, void*, void*, int64_t);
+typedef void (*vFuuuppp_t)(uint64_t, uint64_t, uint64_t, void*, void*, void*);
+typedef void (*vFuuffff_t)(uint64_t, uint64_t, float, float, float, float);
+typedef void (*vFuudddd_t)(uint64_t, uint64_t, double, double, double, double);
+typedef void (*vFuffiip_t)(uint64_t, float, float, int64_t, int64_t, void*);
+typedef void (*vFufffff_t)(uint64_t, float, float, float, float, float);
+typedef void (*vFuddiip_t)(uint64_t, double, double, int64_t, int64_t, void*);
+typedef void (*vFupupip_t)(uint64_t, void*, uint64_t, void*, int64_t, void*);
+typedef void (*vFuppppp_t)(uint64_t, void*, void*, void*, void*, void*);
 typedef void (*vFffffff_t)(float, float, float, float, float, float);
 typedef void (*vFdddddd_t)(double, double, double, double, double, double);
-typedef void (*vFpiiiii_t)(void*, int32_t, int32_t, int32_t, int32_t, int32_t);
-typedef void (*vFpiiuuu_t)(void*, int32_t, int32_t, uint32_t, uint32_t, uint32_t);
-typedef void (*vFpipipV_t)(void*, int32_t, void*, int32_t, void*, void*);
-typedef void (*vFpipppi_t)(void*, int32_t, void*, void*, void*, int32_t);
-typedef void (*vFpdddii_t)(void*, double, double, double, int32_t, int32_t);
-typedef void (*vFppiiii_t)(void*, void*, int32_t, int32_t, int32_t, int32_t);
-typedef void (*vFppiiip_t)(void*, void*, int32_t, int32_t, int32_t, void*);
-typedef void (*vFppiipi_t)(void*, void*, int32_t, int32_t, void*, int32_t);
-typedef void (*vFppupii_t)(void*, void*, uint32_t, void*, int32_t, int32_t);
-typedef void (*vFpppiii_t)(void*, void*, void*, int32_t, int32_t, int32_t);
+typedef void (*vFpiiiii_t)(void*, int64_t, int64_t, int64_t, int64_t, int64_t);
+typedef void (*vFpiiuuu_t)(void*, int64_t, int64_t, uint64_t, uint64_t, uint64_t);
+typedef void (*vFpipipV_t)(void*, int64_t, void*, int64_t, void*, void*);
+typedef void (*vFpipppi_t)(void*, int64_t, void*, void*, void*, int64_t);
+typedef void (*vFpdddii_t)(void*, double, double, double, int64_t, int64_t);
+typedef void (*vFppiiii_t)(void*, void*, int64_t, int64_t, int64_t, int64_t);
+typedef void (*vFppiiip_t)(void*, void*, int64_t, int64_t, int64_t, void*);
+typedef void (*vFppiipi_t)(void*, void*, int64_t, int64_t, void*, int64_t);
+typedef void (*vFppupii_t)(void*, void*, uint64_t, void*, int64_t, int64_t);
+typedef void (*vFpppiii_t)(void*, void*, void*, int64_t, int64_t, int64_t);
 typedef void (*vFpppppp_t)(void*, void*, void*, void*, void*, void*);
-typedef int32_t (*iFEiippi_t)(x64emu_t*, int32_t, int32_t, void*, void*, int32_t);
-typedef int32_t (*iFEpilpV_t)(x64emu_t*, void*, int32_t, intptr_t, void*, void*);
-typedef int32_t (*iFEpippi_t)(x64emu_t*, void*, int32_t, void*, void*, int32_t);
-typedef int32_t (*iFEpuppp_t)(x64emu_t*, void*, uint32_t, void*, void*, void*);
-typedef int32_t (*iFEppiLi_t)(x64emu_t*, void*, void*, int32_t, uintptr_t, int32_t);
-typedef int32_t (*iFEppppp_t)(x64emu_t*, void*, void*, void*, void*, void*);
-typedef int32_t (*iFiiiiii_t)(int32_t, int32_t, int32_t, int32_t, int32_t, int32_t);
-typedef int32_t (*iFiiiiip_t)(int32_t, int32_t, int32_t, int32_t, int32_t, void*);
-typedef int32_t (*iFiuiipi_t)(int32_t, uint32_t, int32_t, int32_t, void*, int32_t);
-typedef int32_t (*iFuppppp_t)(uint32_t, void*, void*, void*, void*, void*);
-typedef int32_t (*iFLppipp_t)(uintptr_t, void*, void*, int32_t, void*, void*);
-typedef int32_t (*iFpiiiii_t)(void*, int32_t, int32_t, int32_t, int32_t, int32_t);
-typedef int32_t (*iFpiiipp_t)(void*, int32_t, int32_t, int32_t, void*, void*);
-typedef int32_t (*iFpiippp_t)(void*, int32_t, int32_t, void*, void*, void*);
-typedef int32_t (*iFpippip_t)(void*, int32_t, void*, void*, int32_t, void*);
-typedef int32_t (*iFpipppp_t)(void*, int32_t, void*, void*, void*, void*);
-typedef int32_t (*iFpupuui_t)(void*, uint32_t, void*, uint32_t, uint32_t, int32_t);
-typedef int32_t (*iFppiiuu_t)(void*, void*, int32_t, int32_t, uint32_t, uint32_t);
-typedef int32_t (*iFppiipi_t)(void*, void*, int32_t, int32_t, void*, int32_t);
-typedef int32_t (*iFppipiL_t)(void*, void*, int32_t, void*, int32_t, uintptr_t);
-typedef int32_t (*iFppIppp_t)(void*, void*, int64_t, void*, void*, void*);
-typedef int32_t (*iFppuiii_t)(void*, void*, uint32_t, int32_t, int32_t, int32_t);
-typedef int32_t (*iFppuiiL_t)(void*, void*, uint32_t, int32_t, int32_t, uintptr_t);
-typedef int32_t (*iFppuIII_t)(void*, void*, uint32_t, int64_t, int64_t, int64_t);
-typedef int32_t (*iFppuupp_t)(void*, void*, uint32_t, uint32_t, void*, void*);
-typedef int32_t (*iFppupip_t)(void*, void*, uint32_t, void*, int32_t, void*);
-typedef int32_t (*iFppLupp_t)(void*, void*, uintptr_t, uint32_t, void*, void*);
-typedef int32_t (*iFpppiuu_t)(void*, void*, void*, int32_t, uint32_t, uint32_t);
-typedef int32_t (*iFpppipi_t)(void*, void*, void*, int32_t, void*, int32_t);
-typedef int32_t (*iFpppipp_t)(void*, void*, void*, int32_t, void*, void*);
-typedef int32_t (*iFpppuii_t)(void*, void*, void*, uint32_t, int32_t, int32_t);
-typedef int32_t (*iFppppii_t)(void*, void*, void*, void*, int32_t, int32_t);
-typedef int32_t (*iFppppip_t)(void*, void*, void*, void*, int32_t, void*);
-typedef int32_t (*iFppppup_t)(void*, void*, void*, void*, uint32_t, void*);
-typedef int32_t (*iFpppppi_t)(void*, void*, void*, void*, void*, int32_t);
-typedef int32_t (*iFpppppL_t)(void*, void*, void*, void*, void*, uintptr_t);
-typedef int32_t (*iFpppppp_t)(void*, void*, void*, void*, void*, void*);
-typedef uint32_t (*uFpippup_t)(void*, int32_t, void*, void*, uint32_t, void*);
-typedef uint64_t (*UFpippup_t)(void*, int32_t, void*, void*, uint32_t, void*);
-typedef intptr_t (*lFipLipu_t)(int32_t, void*, uintptr_t, int32_t, void*, uint32_t);
-typedef intptr_t (*lFipLipp_t)(int32_t, void*, uintptr_t, int32_t, void*, void*);
-typedef uintptr_t (*LFpipipi_t)(void*, int32_t, void*, int32_t, void*, int32_t);
-typedef uintptr_t (*LFSpLiip_t)(void*, void*, uintptr_t, int32_t, int32_t, void*);
-typedef void* (*pFEpippp_t)(x64emu_t*, void*, int32_t, void*, void*, void*);
-typedef void* (*pFEpuipp_t)(x64emu_t*, void*, uint32_t, int32_t, void*, void*);
-typedef void* (*pFEpuupp_t)(x64emu_t*, void*, uint32_t, uint32_t, void*, void*);
-typedef void* (*pFEpuppp_t)(x64emu_t*, void*, uint32_t, void*, void*, void*);
-typedef void* (*pFEpLLiN_t)(x64emu_t*, void*, uintptr_t, uintptr_t, int32_t, ...);
+typedef int64_t (*iFEiippi_t)(x64emu_t*, int64_t, int64_t, void*, void*, int64_t);
+typedef int64_t (*iFEpilpV_t)(x64emu_t*, void*, int64_t, intptr_t, void*, void*);
+typedef int64_t (*iFEpippi_t)(x64emu_t*, void*, int64_t, void*, void*, int64_t);
+typedef int64_t (*iFEpuppp_t)(x64emu_t*, void*, uint64_t, void*, void*, void*);
+typedef int64_t (*iFEppiLi_t)(x64emu_t*, void*, void*, int64_t, uintptr_t, int64_t);
+typedef int64_t (*iFEppppp_t)(x64emu_t*, void*, void*, void*, void*, void*);
+typedef int64_t (*iFiiiiii_t)(int64_t, int64_t, int64_t, int64_t, int64_t, int64_t);
+typedef int64_t (*iFiiiiip_t)(int64_t, int64_t, int64_t, int64_t, int64_t, void*);
+typedef int64_t (*iFiuiipi_t)(int64_t, uint64_t, int64_t, int64_t, void*, int64_t);
+typedef int64_t (*iFuppppp_t)(uint64_t, void*, void*, void*, void*, void*);
+typedef int64_t (*iFLppipp_t)(uintptr_t, void*, void*, int64_t, void*, void*);
+typedef int64_t (*iFpiiiii_t)(void*, int64_t, int64_t, int64_t, int64_t, int64_t);
+typedef int64_t (*iFpiiipp_t)(void*, int64_t, int64_t, int64_t, void*, void*);
+typedef int64_t (*iFpiippp_t)(void*, int64_t, int64_t, void*, void*, void*);
+typedef int64_t (*iFpippip_t)(void*, int64_t, void*, void*, int64_t, void*);
+typedef int64_t (*iFpipppp_t)(void*, int64_t, void*, void*, void*, void*);
+typedef int64_t (*iFpupuui_t)(void*, uint64_t, void*, uint64_t, uint64_t, int64_t);
+typedef int64_t (*iFppiiuu_t)(void*, void*, int64_t, int64_t, uint64_t, uint64_t);
+typedef int64_t (*iFppiipi_t)(void*, void*, int64_t, int64_t, void*, int64_t);
+typedef int64_t (*iFppipiL_t)(void*, void*, int64_t, void*, int64_t, uintptr_t);
+typedef int64_t (*iFppIppp_t)(void*, void*, int64_t, void*, void*, void*);
+typedef int64_t (*iFppuiii_t)(void*, void*, uint64_t, int64_t, int64_t, int64_t);
+typedef int64_t (*iFppuiiL_t)(void*, void*, uint64_t, int64_t, int64_t, uintptr_t);
+typedef int64_t (*iFppuIII_t)(void*, void*, uint64_t, int64_t, int64_t, int64_t);
+typedef int64_t (*iFppuupp_t)(void*, void*, uint64_t, uint64_t, void*, void*);
+typedef int64_t (*iFppupip_t)(void*, void*, uint64_t, void*, int64_t, void*);
+typedef int64_t (*iFppLupp_t)(void*, void*, uintptr_t, uint64_t, void*, void*);
+typedef int64_t (*iFpppiuu_t)(void*, void*, void*, int64_t, uint64_t, uint64_t);
+typedef int64_t (*iFpppipi_t)(void*, void*, void*, int64_t, void*, int64_t);
+typedef int64_t (*iFpppipp_t)(void*, void*, void*, int64_t, void*, void*);
+typedef int64_t (*iFpppuii_t)(void*, void*, void*, uint64_t, int64_t, int64_t);
+typedef int64_t (*iFppppii_t)(void*, void*, void*, void*, int64_t, int64_t);
+typedef int64_t (*iFppppip_t)(void*, void*, void*, void*, int64_t, void*);
+typedef int64_t (*iFppppup_t)(void*, void*, void*, void*, uint64_t, void*);
+typedef int64_t (*iFpppppi_t)(void*, void*, void*, void*, void*, int64_t);
+typedef int64_t (*iFpppppL_t)(void*, void*, void*, void*, void*, uintptr_t);
+typedef int64_t (*iFpppppp_t)(void*, void*, void*, void*, void*, void*);
+typedef uint64_t (*uFpippup_t)(void*, int64_t, void*, void*, uint64_t, void*);
+typedef uint64_t (*UFpippup_t)(void*, int64_t, void*, void*, uint64_t, void*);
+typedef intptr_t (*lFipLipu_t)(int64_t, void*, uintptr_t, int64_t, void*, uint64_t);
+typedef intptr_t (*lFipLipp_t)(int64_t, void*, uintptr_t, int64_t, void*, void*);
+typedef uintptr_t (*LFpipipi_t)(void*, int64_t, void*, int64_t, void*, int64_t);
+typedef uintptr_t (*LFSpLiip_t)(void*, void*, uintptr_t, int64_t, int64_t, void*);
+typedef void* (*pFEpippp_t)(x64emu_t*, void*, int64_t, void*, void*, void*);
+typedef void* (*pFEpuipp_t)(x64emu_t*, void*, uint64_t, int64_t, void*, void*);
+typedef void* (*pFEpuupp_t)(x64emu_t*, void*, uint64_t, uint64_t, void*, void*);
+typedef void* (*pFEpuppp_t)(x64emu_t*, void*, uint64_t, void*, void*, void*);
+typedef void* (*pFEpLLiN_t)(x64emu_t*, void*, uintptr_t, uintptr_t, int64_t, ...);
 typedef void* (*pFEppLLp_t)(x64emu_t*, void*, void*, uintptr_t, uintptr_t, void*);
 typedef void* (*pFEpppLp_t)(x64emu_t*, void*, void*, void*, uintptr_t, void*);
 typedef void* (*pFEppppp_t)(x64emu_t*, void*, void*, void*, void*, void*);
-typedef void* (*pFiCiiCi_t)(int32_t, uint8_t, int32_t, int32_t, uint8_t, int32_t);
-typedef void* (*pFpiiiiu_t)(void*, int32_t, int32_t, int32_t, int32_t, uint32_t);
-typedef void* (*pFpippip_t)(void*, int32_t, void*, void*, int32_t, void*);
-typedef void* (*pFpCuuCC_t)(void*, uint8_t, uint32_t, uint32_t, uint8_t, uint8_t);
-typedef void* (*pFpCuuWW_t)(void*, uint8_t, uint32_t, uint32_t, uint16_t, uint16_t);
-typedef void* (*pFpCuuup_t)(void*, uint8_t, uint32_t, uint32_t, uint32_t, void*);
-typedef void* (*pFpuuuuu_t)(void*, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t);
-typedef void* (*pFppiiii_t)(void*, void*, int32_t, int32_t, int32_t, int32_t);
-typedef void* (*pFpppppu_t)(void*, void*, void*, void*, void*, uint32_t);
+typedef void* (*pFiCiiCi_t)(int64_t, uint8_t, int64_t, int64_t, uint8_t, int64_t);
+typedef void* (*pFpiiiiu_t)(void*, int64_t, int64_t, int64_t, int64_t, uint64_t);
+typedef void* (*pFpippip_t)(void*, int64_t, void*, void*, int64_t, void*);
+typedef void* (*pFpCuuCC_t)(void*, uint8_t, uint64_t, uint64_t, uint8_t, uint8_t);
+typedef void* (*pFpCuuWW_t)(void*, uint8_t, uint64_t, uint64_t, uint16_t, uint16_t);
+typedef void* (*pFpCuuup_t)(void*, uint8_t, uint64_t, uint64_t, uint64_t, void*);
+typedef void* (*pFpuuuuu_t)(void*, uint64_t, uint64_t, uint64_t, uint64_t, uint64_t);
+typedef void* (*pFppiiii_t)(void*, void*, int64_t, int64_t, int64_t, int64_t);
+typedef void* (*pFpppppu_t)(void*, void*, void*, void*, void*, uint64_t);
 typedef void* (*pFpppppp_t)(void*, void*, void*, void*, void*, void*);
-typedef void* (*pFSpiiii_t)(void*, void*, int32_t, int32_t, int32_t, int32_t);
-typedef void (*vFiiiiiip_t)(int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, void*);
-typedef void (*vFiiiiuup_t)(int32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t, void*);
-typedef void (*vFiiupuip_t)(int32_t, int32_t, uint32_t, void*, uint32_t, int32_t, void*);
-typedef void (*vFiiffffp_t)(int32_t, int32_t, float, float, float, float, void*);
-typedef void (*vFiupuuup_t)(int32_t, uint32_t, void*, uint32_t, uint32_t, uint32_t, void*);
-typedef void (*vFuiiiiii_t)(uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t);
-typedef void (*vFuiiiuip_t)(uint32_t, int32_t, int32_t, int32_t, uint32_t, int32_t, void*);
-typedef void (*vFuiiiuup_t)(uint32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t, void*);
-typedef void (*vFuiuiiii_t)(uint32_t, int32_t, uint32_t, int32_t, int32_t, int32_t, int32_t);
-typedef void (*vFuiuiiip_t)(uint32_t, int32_t, uint32_t, int32_t, int32_t, int32_t, void*);
-typedef void (*vFuiuiiuu_t)(uint32_t, int32_t, uint32_t, int32_t, int32_t, uint32_t, uint32_t);
-typedef void (*vFuiupiiu_t)(uint32_t, int32_t, uint32_t, void*, int32_t, int32_t, uint32_t);
-typedef void (*vFuipiiii_t)(uint32_t, int32_t, void*, int32_t, int32_t, int32_t, int32_t);
-typedef void (*vFuipffff_t)(uint32_t, int32_t, void*, float, float, float, float);
-typedef void (*vFuipdddd_t)(uint32_t, int32_t, void*, double, double, double, double);
-typedef void (*vFuuiiiii_t)(uint32_t, uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t);
-typedef void (*vFuuiiiip_t)(uint32_t, uint32_t, int32_t, int32_t, int32_t, int32_t, void*);
-typedef void (*vFuuiiiui_t)(uint32_t, uint32_t, int32_t, int32_t, int32_t, uint32_t, int32_t);
-typedef void (*vFuuiiiuu_t)(uint32_t, uint32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t);
-typedef void (*vFuuiiuup_t)(uint32_t, uint32_t, int32_t, int32_t, uint32_t, uint32_t, void*);
-typedef void (*vFuuiuiii_t)(uint32_t, uint32_t, int32_t, uint32_t, int32_t, int32_t, int32_t);
-typedef void (*vFuuipppp_t)(uint32_t, uint32_t, int32_t, void*, void*, void*, void*);
-typedef void (*vFuuuiiii_t)(uint32_t, uint32_t, uint32_t, int32_t, int32_t, int32_t, int32_t);
-typedef void (*vFuuuiiip_t)(uint32_t, uint32_t, uint32_t, int32_t, int32_t, int32_t, void*);
-typedef void (*vFuuuiuii_t)(uint32_t, uint32_t, uint32_t, int32_t, uint32_t, int32_t, int32_t);
-typedef void (*vFuuuiupi_t)(uint32_t, uint32_t, uint32_t, int32_t, uint32_t, void*, int32_t);
-typedef void (*vFuuuuiip_t)(uint32_t, uint32_t, uint32_t, uint32_t, int32_t, int32_t, void*);
-typedef void (*vFuuuuuuu_t)(uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t);
-typedef void (*vFuuuufff_t)(uint32_t, uint32_t, uint32_t, uint32_t, float, float, float);
-typedef void (*vFuuuffff_t)(uint32_t, uint32_t, uint32_t, float, float, float, float);
-typedef void (*vFuuudddd_t)(uint32_t, uint32_t, uint32_t, double, double, double, double);
-typedef void (*vFuuffiip_t)(uint32_t, uint32_t, float, float, int32_t, int32_t, void*);
-typedef void (*vFuuddiip_t)(uint32_t, uint32_t, double, double, int32_t, int32_t, void*);
-typedef void (*vFuffffff_t)(uint32_t, float, float, float, float, float, float);
-typedef void (*vFudddddd_t)(uint32_t, double, double, double, double, double, double);
-typedef void (*vFpiiliip_t)(void*, int32_t, int32_t, intptr_t, int32_t, int32_t, void*);
-typedef void (*vFpipipii_t)(void*, int32_t, void*, int32_t, void*, int32_t, int32_t);
-typedef void (*vFpddiidd_t)(void*, double, double, int32_t, int32_t, double, double);
-typedef void (*vFppiiipi_t)(void*, void*, int32_t, int32_t, int32_t, void*, int32_t);
-typedef void (*vFppipppp_t)(void*, void*, int32_t, void*, void*, void*, void*);
-typedef void (*vFpppiiii_t)(void*, void*, void*, int32_t, int32_t, int32_t, int32_t);
-typedef void (*vFpppuuuu_t)(void*, void*, void*, uint32_t, uint32_t, uint32_t, uint32_t);
-typedef void (*vFppppipi_t)(void*, void*, void*, void*, int32_t, void*, int32_t);
-typedef int32_t (*iFEpLiLpV_t)(x64emu_t*, void*, uintptr_t, int32_t, uintptr_t, void*, void*);
-typedef int32_t (*iFEppLpIi_t)(x64emu_t*, void*, void*, uintptr_t, void*, int64_t, int32_t);
-typedef int32_t (*iFEpppiiu_t)(x64emu_t*, void*, void*, void*, int32_t, int32_t, uint32_t);
-typedef int32_t (*iFEpppppp_t)(x64emu_t*, void*, void*, void*, void*, void*, void*);
-typedef int32_t (*iFiiiiiip_t)(int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, void*);
-typedef int32_t (*iFpiiuuiu_t)(void*, int32_t, int32_t, uint32_t, uint32_t, int32_t, uint32_t);
-typedef int32_t (*iFpiuiipp_t)(void*, int32_t, uint32_t, int32_t, int32_t, void*, void*);
-typedef int32_t (*iFpiupiii_t)(void*, int32_t, uint32_t, void*, int32_t, int32_t, int32_t);
-typedef int32_t (*iFpuuiuui_t)(void*, uint32_t, uint32_t, int32_t, uint32_t, uint32_t, int32_t);
-typedef int32_t (*iFpupuuui_t)(void*, uint32_t, void*, uint32_t, uint32_t, uint32_t, int32_t);
-typedef int32_t (*iFpuppppp_t)(void*, uint32_t, void*, void*, void*, void*, void*);
-typedef int32_t (*iFpLipipi_t)(void*, uintptr_t, int32_t, void*, int32_t, void*, int32_t);
-typedef int32_t (*iFppiiiip_t)(void*, void*, int32_t, int32_t, int32_t, int32_t, void*);
-typedef int32_t (*iFppiiuui_t)(void*, void*, int32_t, int32_t, uint32_t, uint32_t, int32_t);
-typedef int32_t (*iFppiipii_t)(void*, void*, int32_t, int32_t, void*, int32_t, int32_t);
-typedef int32_t (*iFppiipiL_t)(void*, void*, int32_t, int32_t, void*, int32_t, uintptr_t);
-typedef int32_t (*iFppipipi_t)(void*, void*, int32_t, void*, int32_t, void*, int32_t);
-typedef int32_t (*iFppippip_t)(void*, void*, int32_t, void*, void*, int32_t, void*);
-typedef int32_t (*iFppipppp_t)(void*, void*, int32_t, void*, void*, void*, void*);
-typedef int32_t (*iFppuipiL_t)(void*, void*, uint32_t, int32_t, void*, int32_t, uintptr_t);
-typedef int32_t (*iFpppiiii_t)(void*, void*, void*, int32_t, int32_t, int32_t, int32_t);
-typedef int32_t (*iFpppiiuu_t)(void*, void*, void*, int32_t, int32_t, uint32_t, uint32_t);
-typedef int32_t (*iFpppiiup_t)(void*, void*, void*, int32_t, int32_t, uint32_t, void*);
-typedef int32_t (*iFpppiipi_t)(void*, void*, void*, int32_t, int32_t, void*, int32_t);
-typedef int32_t (*iFpppiuwu_t)(void*, void*, void*, int32_t, uint32_t, int16_t, uint32_t);
-typedef int32_t (*iFpppuiii_t)(void*, void*, void*, uint32_t, int32_t, int32_t, int32_t);
-typedef int32_t (*iFppppiii_t)(void*, void*, void*, void*, int32_t, int32_t, int32_t);
-typedef int32_t (*iFppppdpi_t)(void*, void*, void*, void*, double, void*, int32_t);
-typedef int32_t (*iFppppppp_t)(void*, void*, void*, void*, void*, void*, void*);
-typedef uint32_t (*uFuippppp_t)(uint32_t, int32_t, void*, void*, void*, void*, void*);
-typedef void* (*pFEpLiiiI_t)(x64emu_t*, void*, uintptr_t, int32_t, int32_t, int32_t, int64_t);
-typedef void* (*pFEppppip_t)(x64emu_t*, void*, void*, void*, void*, int32_t, void*);
-typedef void* (*pFifffppp_t)(int32_t, float, float, float, void*, void*, void*);
-typedef void* (*pFuupupup_t)(uint32_t, uint32_t, void*, uint32_t, void*, uint32_t, void*);
-typedef void* (*pFpCuwwWW_t)(void*, uint8_t, uint32_t, int16_t, int16_t, uint16_t, uint16_t);
-typedef void* (*pFpCuWCCC_t)(void*, uint8_t, uint32_t, uint16_t, uint8_t, uint8_t, uint8_t);
-typedef void* (*pFpCuuwwp_t)(void*, uint8_t, uint32_t, uint32_t, int16_t, int16_t, void*);
-typedef void* (*pFpCuuuuu_t)(void*, uint8_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t);
-typedef void* (*pFppuuppp_t)(void*, void*, uint32_t, uint32_t, void*, void*, void*);
-typedef void* (*pFpppuupp_t)(void*, void*, void*, uint32_t, uint32_t, void*, void*);
-typedef void* (*pFppppuuu_t)(void*, void*, void*, void*, uint32_t, uint32_t, uint32_t);
-typedef void* (*pFpppppuu_t)(void*, void*, void*, void*, void*, uint32_t, uint32_t);
+typedef void* (*pFSpiiii_t)(void*, void*, int64_t, int64_t, int64_t, int64_t);
+typedef void (*vFiiiiiip_t)(int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, void*);
+typedef void (*vFiiiiuup_t)(int64_t, int64_t, int64_t, int64_t, uint64_t, uint64_t, void*);
+typedef void (*vFiiupuip_t)(int64_t, int64_t, uint64_t, void*, uint64_t, int64_t, void*);
+typedef void (*vFiiffffp_t)(int64_t, int64_t, float, float, float, float, void*);
+typedef void (*vFiupuuup_t)(int64_t, uint64_t, void*, uint64_t, uint64_t, uint64_t, void*);
+typedef void (*vFuiiiiii_t)(uint64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t);
+typedef void (*vFuiiiuip_t)(uint64_t, int64_t, int64_t, int64_t, uint64_t, int64_t, void*);
+typedef void (*vFuiiiuup_t)(uint64_t, int64_t, int64_t, int64_t, uint64_t, uint64_t, void*);
+typedef void (*vFuiuiiii_t)(uint64_t, int64_t, uint64_t, int64_t, int64_t, int64_t, int64_t);
+typedef void (*vFuiuiiip_t)(uint64_t, int64_t, uint64_t, int64_t, int64_t, int64_t, void*);
+typedef void (*vFuiuiiuu_t)(uint64_t, int64_t, uint64_t, int64_t, int64_t, uint64_t, uint64_t);
+typedef void (*vFuiupiiu_t)(uint64_t, int64_t, uint64_t, void*, int64_t, int64_t, uint64_t);
+typedef void (*vFuipiiii_t)(uint64_t, int64_t, void*, int64_t, int64_t, int64_t, int64_t);
+typedef void (*vFuipffff_t)(uint64_t, int64_t, void*, float, float, float, float);
+typedef void (*vFuipdddd_t)(uint64_t, int64_t, void*, double, double, double, double);
+typedef void (*vFuuiiiii_t)(uint64_t, uint64_t, int64_t, int64_t, int64_t, int64_t, int64_t);
+typedef void (*vFuuiiiip_t)(uint64_t, uint64_t, int64_t, int64_t, int64_t, int64_t, void*);
+typedef void (*vFuuiiiui_t)(uint64_t, uint64_t, int64_t, int64_t, int64_t, uint64_t, int64_t);
+typedef void (*vFuuiiiuu_t)(uint64_t, uint64_t, int64_t, int64_t, int64_t, uint64_t, uint64_t);
+typedef void (*vFuuiiuup_t)(uint64_t, uint64_t, int64_t, int64_t, uint64_t, uint64_t, void*);
+typedef void (*vFuuiuiii_t)(uint64_t, uint64_t, int64_t, uint64_t, int64_t, int64_t, int64_t);
+typedef void (*vFuuipppp_t)(uint64_t, uint64_t, int64_t, void*, void*, void*, void*);
+typedef void (*vFuuuiiii_t)(uint64_t, uint64_t, uint64_t, int64_t, int64_t, int64_t, int64_t);
+typedef void (*vFuuuiiip_t)(uint64_t, uint64_t, uint64_t, int64_t, int64_t, int64_t, void*);
+typedef void (*vFuuuiuii_t)(uint64_t, uint64_t, uint64_t, int64_t, uint64_t, int64_t, int64_t);
+typedef void (*vFuuuiupi_t)(uint64_t, uint64_t, uint64_t, int64_t, uint64_t, void*, int64_t);
+typedef void (*vFuuuuiip_t)(uint64_t, uint64_t, uint64_t, uint64_t, int64_t, int64_t, void*);
+typedef void (*vFuuuuuuu_t)(uint64_t, uint64_t, uint64_t, uint64_t, uint64_t, uint64_t, uint64_t);
+typedef void (*vFuuuufff_t)(uint64_t, uint64_t, uint64_t, uint64_t, float, float, float);
+typedef void (*vFuuuffff_t)(uint64_t, uint64_t, uint64_t, float, float, float, float);
+typedef void (*vFuuudddd_t)(uint64_t, uint64_t, uint64_t, double, double, double, double);
+typedef void (*vFuuffiip_t)(uint64_t, uint64_t, float, float, int64_t, int64_t, void*);
+typedef void (*vFuuddiip_t)(uint64_t, uint64_t, double, double, int64_t, int64_t, void*);
+typedef void (*vFuffffff_t)(uint64_t, float, float, float, float, float, float);
+typedef void (*vFudddddd_t)(uint64_t, double, double, double, double, double, double);
+typedef void (*vFpiiliip_t)(void*, int64_t, int64_t, intptr_t, int64_t, int64_t, void*);
+typedef void (*vFpipipii_t)(void*, int64_t, void*, int64_t, void*, int64_t, int64_t);
+typedef void (*vFpddiidd_t)(void*, double, double, int64_t, int64_t, double, double);
+typedef void (*vFppiiipi_t)(void*, void*, int64_t, int64_t, int64_t, void*, int64_t);
+typedef void (*vFppipppp_t)(void*, void*, int64_t, void*, void*, void*, void*);
+typedef void (*vFpppiiii_t)(void*, void*, void*, int64_t, int64_t, int64_t, int64_t);
+typedef void (*vFpppuuuu_t)(void*, void*, void*, uint64_t, uint64_t, uint64_t, uint64_t);
+typedef void (*vFppppipi_t)(void*, void*, void*, void*, int64_t, void*, int64_t);
+typedef int64_t (*iFEpLiLpV_t)(x64emu_t*, void*, uintptr_t, int64_t, uintptr_t, void*, void*);
+typedef int64_t (*iFEppLpIi_t)(x64emu_t*, void*, void*, uintptr_t, void*, int64_t, int64_t);
+typedef int64_t (*iFEpppiiu_t)(x64emu_t*, void*, void*, void*, int64_t, int64_t, uint64_t);
+typedef int64_t (*iFEpppppp_t)(x64emu_t*, void*, void*, void*, void*, void*, void*);
+typedef int64_t (*iFiiiiiip_t)(int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, void*);
+typedef int64_t (*iFpiiuuiu_t)(void*, int64_t, int64_t, uint64_t, uint64_t, int64_t, uint64_t);
+typedef int64_t (*iFpiuiipp_t)(void*, int64_t, uint64_t, int64_t, int64_t, void*, void*);
+typedef int64_t (*iFpiupiii_t)(void*, int64_t, uint64_t, void*, int64_t, int64_t, int64_t);
+typedef int64_t (*iFpuuiuui_t)(void*, uint64_t, uint64_t, int64_t, uint64_t, uint64_t, int64_t);
+typedef int64_t (*iFpupuuui_t)(void*, uint64_t, void*, uint64_t, uint64_t, uint64_t, int64_t);
+typedef int64_t (*iFpuppppp_t)(void*, uint64_t, void*, void*, void*, void*, void*);
+typedef int64_t (*iFpLipipi_t)(void*, uintptr_t, int64_t, void*, int64_t, void*, int64_t);
+typedef int64_t (*iFppiiiip_t)(void*, void*, int64_t, int64_t, int64_t, int64_t, void*);
+typedef int64_t (*iFppiiuui_t)(void*, void*, int64_t, int64_t, uint64_t, uint64_t, int64_t);
+typedef int64_t (*iFppiipii_t)(void*, void*, int64_t, int64_t, void*, int64_t, int64_t);
+typedef int64_t (*iFppiipiL_t)(void*, void*, int64_t, int64_t, void*, int64_t, uintptr_t);
+typedef int64_t (*iFppipipi_t)(void*, void*, int64_t, void*, int64_t, void*, int64_t);
+typedef int64_t (*iFppippip_t)(void*, void*, int64_t, void*, void*, int64_t, void*);
+typedef int64_t (*iFppipppp_t)(void*, void*, int64_t, void*, void*, void*, void*);
+typedef int64_t (*iFppuipiL_t)(void*, void*, uint64_t, int64_t, void*, int64_t, uintptr_t);
+typedef int64_t (*iFpppiiii_t)(void*, void*, void*, int64_t, int64_t, int64_t, int64_t);
+typedef int64_t (*iFpppiiuu_t)(void*, void*, void*, int64_t, int64_t, uint64_t, uint64_t);
+typedef int64_t (*iFpppiiup_t)(void*, void*, void*, int64_t, int64_t, uint64_t, void*);
+typedef int64_t (*iFpppiipi_t)(void*, void*, void*, int64_t, int64_t, void*, int64_t);
+typedef int64_t (*iFpppiuwu_t)(void*, void*, void*, int64_t, uint64_t, int16_t, uint64_t);
+typedef int64_t (*iFpppuiii_t)(void*, void*, void*, uint64_t, int64_t, int64_t, int64_t);
+typedef int64_t (*iFppppiii_t)(void*, void*, void*, void*, int64_t, int64_t, int64_t);
+typedef int64_t (*iFppppdpi_t)(void*, void*, void*, void*, double, void*, int64_t);
+typedef int64_t (*iFppppppp_t)(void*, void*, void*, void*, void*, void*, void*);
+typedef uint64_t (*uFuippppp_t)(uint64_t, int64_t, void*, void*, void*, void*, void*);
+typedef void* (*pFEpLiiiI_t)(x64emu_t*, void*, uintptr_t, int64_t, int64_t, int64_t, int64_t);
+typedef void* (*pFEppppip_t)(x64emu_t*, void*, void*, void*, void*, int64_t, void*);
+typedef void* (*pFifffppp_t)(int64_t, float, float, float, void*, void*, void*);
+typedef void* (*pFuupupup_t)(uint64_t, uint64_t, void*, uint64_t, void*, uint64_t, void*);
+typedef void* (*pFpCuwwWW_t)(void*, uint8_t, uint64_t, int16_t, int16_t, uint16_t, uint16_t);
+typedef void* (*pFpCuWCCC_t)(void*, uint8_t, uint64_t, uint16_t, uint8_t, uint8_t, uint8_t);
+typedef void* (*pFpCuuwwp_t)(void*, uint8_t, uint64_t, uint64_t, int16_t, int16_t, void*);
+typedef void* (*pFpCuuuuu_t)(void*, uint8_t, uint64_t, uint64_t, uint64_t, uint64_t, uint64_t);
+typedef void* (*pFppuuppp_t)(void*, void*, uint64_t, uint64_t, void*, void*, void*);
+typedef void* (*pFpppuupp_t)(void*, void*, void*, uint64_t, uint64_t, void*, void*);
+typedef void* (*pFppppuuu_t)(void*, void*, void*, void*, uint64_t, uint64_t, uint64_t);
+typedef void* (*pFpppppuu_t)(void*, void*, void*, void*, void*, uint64_t, uint64_t);
 typedef void* (*pFppppppp_t)(void*, void*, void*, void*, void*, void*, void*);
-typedef void (*vFiiiiuuip_t)(int32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t, int32_t, void*);
-typedef void (*vFiupuiuup_t)(int32_t, uint32_t, void*, uint32_t, int32_t, uint32_t, uint32_t, void*);
-typedef void (*vFiupuuuup_t)(int32_t, uint32_t, void*, uint32_t, uint32_t, uint32_t, uint32_t, void*);
-typedef void (*vFuiiiiiii_t)(uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t);
-typedef void (*vFuiiiiuup_t)(uint32_t, int32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t, void*);
-typedef void (*vFuiiipiup_t)(uint32_t, int32_t, int32_t, int32_t, void*, int32_t, uint32_t, void*);
-typedef void (*vFuiuiiiii_t)(uint32_t, int32_t, uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t);
-typedef void (*vFuiuiiiip_t)(uint32_t, int32_t, uint32_t, int32_t, int32_t, int32_t, int32_t, void*);
-typedef void (*vFuuiiiiii_t)(uint32_t, uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t);
-typedef void (*vFuuiiiuip_t)(uint32_t, uint32_t, int32_t, int32_t, int32_t, uint32_t, int32_t, void*);
-typedef void (*vFuuiiiuup_t)(uint32_t, uint32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t, void*);
-typedef void (*vFuuiiuupp_t)(uint32_t, uint32_t, int32_t, int32_t, uint32_t, uint32_t, void*, void*);
-typedef void (*vFuuiuiiii_t)(uint32_t, uint32_t, int32_t, uint32_t, int32_t, int32_t, int32_t, int32_t);
-typedef void (*vFuuiuiiip_t)(uint32_t, uint32_t, int32_t, uint32_t, int32_t, int32_t, int32_t, void*);
-typedef void (*vFuuuiiiii_t)(uint32_t, uint32_t, uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t);
-typedef void (*vFuuuiuiii_t)(uint32_t, uint32_t, uint32_t, int32_t, uint32_t, int32_t, int32_t, int32_t);
-typedef void (*vFuuuipipp_t)(uint32_t, uint32_t, uint32_t, int32_t, void*, int32_t, void*, void*);
-typedef void (*vFuuuuuuuu_t)(uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t);
-typedef void (*vFuuuuufff_t)(uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, float, float, float);
+typedef void (*vFiiiiuuip_t)(int64_t, int64_t, int64_t, int64_t, uint64_t, uint64_t, int64_t, void*);
+typedef void (*vFiupuiuup_t)(int64_t, uint64_t, void*, uint64_t, int64_t, uint64_t, uint64_t, void*);
+typedef void (*vFiupuuuup_t)(int64_t, uint64_t, void*, uint64_t, uint64_t, uint64_t, uint64_t, void*);
+typedef void (*vFuiiiiiii_t)(uint64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t);
+typedef void (*vFuiiiiuup_t)(uint64_t, int64_t, int64_t, int64_t, int64_t, uint64_t, uint64_t, void*);
+typedef void (*vFuiiipiup_t)(uint64_t, int64_t, int64_t, int64_t, void*, int64_t, uint64_t, void*);
+typedef void (*vFuiuiiiii_t)(uint64_t, int64_t, uint64_t, int64_t, int64_t, int64_t, int64_t, int64_t);
+typedef void (*vFuiuiiiip_t)(uint64_t, int64_t, uint64_t, int64_t, int64_t, int64_t, int64_t, void*);
+typedef void (*vFuuiiiiii_t)(uint64_t, uint64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t);
+typedef void (*vFuuiiiuip_t)(uint64_t, uint64_t, int64_t, int64_t, int64_t, uint64_t, int64_t, void*);
+typedef void (*vFuuiiiuup_t)(uint64_t, uint64_t, int64_t, int64_t, int64_t, uint64_t, uint64_t, void*);
+typedef void (*vFuuiiuupp_t)(uint64_t, uint64_t, int64_t, int64_t, uint64_t, uint64_t, void*, void*);
+typedef void (*vFuuiuiiii_t)(uint64_t, uint64_t, int64_t, uint64_t, int64_t, int64_t, int64_t, int64_t);
+typedef void (*vFuuiuiiip_t)(uint64_t, uint64_t, int64_t, uint64_t, int64_t, int64_t, int64_t, void*);
+typedef void (*vFuuuiiiii_t)(uint64_t, uint64_t, uint64_t, int64_t, int64_t, int64_t, int64_t, int64_t);
+typedef void (*vFuuuiuiii_t)(uint64_t, uint64_t, uint64_t, int64_t, uint64_t, int64_t, int64_t, int64_t);
+typedef void (*vFuuuipipp_t)(uint64_t, uint64_t, uint64_t, int64_t, void*, int64_t, void*, void*);
+typedef void (*vFuuuuuuuu_t)(uint64_t, uint64_t, uint64_t, uint64_t, uint64_t, uint64_t, uint64_t, uint64_t);
+typedef void (*vFuuuuufff_t)(uint64_t, uint64_t, uint64_t, uint64_t, uint64_t, float, float, float);
 typedef void (*vFffffffff_t)(float, float, float, float, float, float, float, float);
-typedef void (*vFpippiiuu_t)(void*, int32_t, void*, void*, int32_t, int32_t, uint32_t, uint32_t);
-typedef void (*vFpippiipi_t)(void*, int32_t, void*, void*, int32_t, int32_t, void*, int32_t);
-typedef void (*vFppiiipii_t)(void*, void*, int32_t, int32_t, int32_t, void*, int32_t, int32_t);
-typedef void (*vFppppiipi_t)(void*, void*, void*, void*, int32_t, int32_t, void*, int32_t);
-typedef int32_t (*iFEpippppp_t)(x64emu_t*, void*, int32_t, void*, void*, void*, void*, void*);
-typedef int32_t (*iFEpuuLppp_t)(x64emu_t*, void*, uint32_t, uint32_t, uintptr_t, void*, void*, void*);
-typedef int32_t (*iFiiiiiiip_t)(int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, void*);
-typedef int32_t (*iFiiupiupi_t)(int32_t, int32_t, uint32_t, void*, int32_t, uint32_t, void*, int32_t);
-typedef int32_t (*iFuiifpppp_t)(uint32_t, int32_t, int32_t, float, void*, void*, void*, void*);
-typedef int32_t (*iFpiiiiipi_t)(void*, int32_t, int32_t, int32_t, int32_t, int32_t, void*, int32_t);
-typedef int32_t (*iFpuuiiiii_t)(void*, uint32_t, uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t);
-typedef int32_t (*iFpupppppp_t)(void*, uint32_t, void*, void*, void*, void*, void*, void*);
-typedef int32_t (*iFppIIIppp_t)(void*, void*, int64_t, int64_t, int64_t, void*, void*, void*);
-typedef int32_t (*iFpppiippp_t)(void*, void*, void*, int32_t, int32_t, void*, void*, void*);
-typedef int32_t (*iFpppipipi_t)(void*, void*, void*, int32_t, void*, int32_t, void*, int32_t);
-typedef int32_t (*iFpppipppp_t)(void*, void*, void*, int32_t, void*, void*, void*, void*);
-typedef int32_t (*iFppppiipi_t)(void*, void*, void*, void*, int32_t, int32_t, void*, int32_t);
-typedef int32_t (*iFpppppppp_t)(void*, void*, void*, void*, void*, void*, void*, void*);
-typedef uint32_t (*uFuipppppp_t)(uint32_t, int32_t, void*, void*, void*, void*, void*, void*);
-typedef void* (*pFuiiiuuuu_t)(uint32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t, uint32_t, uint32_t);
-typedef void* (*pFuupupipp_t)(uint32_t, uint32_t, void*, uint32_t, void*, int32_t, void*, void*);
-typedef void* (*pFpCuwwWWu_t)(void*, uint8_t, uint32_t, int16_t, int16_t, uint16_t, uint16_t, uint32_t);
-typedef void* (*pFpCuuuCup_t)(void*, uint8_t, uint32_t, uint32_t, uint32_t, uint8_t, uint32_t, void*);
-typedef void* (*pFpppuuLLu_t)(void*, void*, void*, uint32_t, uint32_t, uintptr_t, uintptr_t, uint32_t);
-typedef void* (*pFpppppupp_t)(void*, void*, void*, void*, void*, uint32_t, void*, void*);
-typedef void (*vFuiiiiiiii_t)(uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t);
-typedef void (*vFuiiiiiuip_t)(uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, uint32_t, int32_t, void*);
-typedef void (*vFuiiiiiuup_t)(uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t, void*);
-typedef void (*vFuiuiiiiip_t)(uint32_t, int32_t, uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, void*);
-typedef void (*vFuiupuffup_t)(uint32_t, int32_t, uint32_t, void*, uint32_t, float, float, uint32_t, void*);
-typedef void (*vFuuiiiiiii_t)(uint32_t, uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t);
-typedef void (*vFuuiuiiiii_t)(uint32_t, uint32_t, int32_t, uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t);
-typedef void (*vFuuiuiiiip_t)(uint32_t, uint32_t, int32_t, uint32_t, int32_t, int32_t, int32_t, int32_t, void*);
-typedef void (*vFuuiuiiuup_t)(uint32_t, uint32_t, int32_t, uint32_t, int32_t, int32_t, uint32_t, uint32_t, void*);
-typedef void (*vFuuuiiiiip_t)(uint32_t, uint32_t, uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, void*);
-typedef void (*vFuuuuuuuuu_t)(uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t);
-typedef void (*vFuupiuiuuf_t)(uint32_t, uint32_t, void*, int32_t, uint32_t, int32_t, uint32_t, uint32_t, float);
-typedef void (*vFuffffffff_t)(uint32_t, float, float, float, float, float, float, float, float);
-typedef void (*vFffuuuufff_t)(float, float, uint32_t, uint32_t, uint32_t, uint32_t, float, float, float);
+typedef void (*vFpippiiuu_t)(void*, int64_t, void*, void*, int64_t, int64_t, uint64_t, uint64_t);
+typedef void (*vFpippiipi_t)(void*, int64_t, void*, void*, int64_t, int64_t, void*, int64_t);
+typedef void (*vFppiiipii_t)(void*, void*, int64_t, int64_t, int64_t, void*, int64_t, int64_t);
+typedef void (*vFppppiipi_t)(void*, void*, void*, void*, int64_t, int64_t, void*, int64_t);
+typedef int64_t (*iFEpippppp_t)(x64emu_t*, void*, int64_t, void*, void*, void*, void*, void*);
+typedef int64_t (*iFEpuuLppp_t)(x64emu_t*, void*, uint64_t, uint64_t, uintptr_t, void*, void*, void*);
+typedef int64_t (*iFiiiiiiip_t)(int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, void*);
+typedef int64_t (*iFiiupiupi_t)(int64_t, int64_t, uint64_t, void*, int64_t, uint64_t, void*, int64_t);
+typedef int64_t (*iFuiifpppp_t)(uint64_t, int64_t, int64_t, float, void*, void*, void*, void*);
+typedef int64_t (*iFpiiiiipi_t)(void*, int64_t, int64_t, int64_t, int64_t, int64_t, void*, int64_t);
+typedef int64_t (*iFpuuiiiii_t)(void*, uint64_t, uint64_t, int64_t, int64_t, int64_t, int64_t, int64_t);
+typedef int64_t (*iFpupppppp_t)(void*, uint64_t, void*, void*, void*, void*, void*, void*);
+typedef int64_t (*iFppIIIppp_t)(void*, void*, int64_t, int64_t, int64_t, void*, void*, void*);
+typedef int64_t (*iFpppiippp_t)(void*, void*, void*, int64_t, int64_t, void*, void*, void*);
+typedef int64_t (*iFpppipipi_t)(void*, void*, void*, int64_t, void*, int64_t, void*, int64_t);
+typedef int64_t (*iFpppipppp_t)(void*, void*, void*, int64_t, void*, void*, void*, void*);
+typedef int64_t (*iFppppiipi_t)(void*, void*, void*, void*, int64_t, int64_t, void*, int64_t);
+typedef int64_t (*iFpppppppp_t)(void*, void*, void*, void*, void*, void*, void*, void*);
+typedef uint64_t (*uFuipppppp_t)(uint64_t, int64_t, void*, void*, void*, void*, void*, void*);
+typedef void* (*pFuiiiuuuu_t)(uint64_t, int64_t, int64_t, int64_t, uint64_t, uint64_t, uint64_t, uint64_t);
+typedef void* (*pFuupupipp_t)(uint64_t, uint64_t, void*, uint64_t, void*, int64_t, void*, void*);
+typedef void* (*pFpCuwwWWu_t)(void*, uint8_t, uint64_t, int16_t, int16_t, uint16_t, uint16_t, uint64_t);
+typedef void* (*pFpCuuuCup_t)(void*, uint8_t, uint64_t, uint64_t, uint64_t, uint8_t, uint64_t, void*);
+typedef void* (*pFpppuuLLu_t)(void*, void*, void*, uint64_t, uint64_t, uintptr_t, uintptr_t, uint64_t);
+typedef void* (*pFpppppupp_t)(void*, void*, void*, void*, void*, uint64_t, void*, void*);
+typedef void (*vFuiiiiiiii_t)(uint64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t);
+typedef void (*vFuiiiiiuip_t)(uint64_t, int64_t, int64_t, int64_t, int64_t, int64_t, uint64_t, int64_t, void*);
+typedef void (*vFuiiiiiuup_t)(uint64_t, int64_t, int64_t, int64_t, int64_t, int64_t, uint64_t, uint64_t, void*);
+typedef void (*vFuiuiiiiip_t)(uint64_t, int64_t, uint64_t, int64_t, int64_t, int64_t, int64_t, int64_t, void*);
+typedef void (*vFuiupuffup_t)(uint64_t, int64_t, uint64_t, void*, uint64_t, float, float, uint64_t, void*);
+typedef void (*vFuuiiiiiii_t)(uint64_t, uint64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t);
+typedef void (*vFuuiuiiiii_t)(uint64_t, uint64_t, int64_t, uint64_t, int64_t, int64_t, int64_t, int64_t, int64_t);
+typedef void (*vFuuiuiiiip_t)(uint64_t, uint64_t, int64_t, uint64_t, int64_t, int64_t, int64_t, int64_t, void*);
+typedef void (*vFuuiuiiuup_t)(uint64_t, uint64_t, int64_t, uint64_t, int64_t, int64_t, uint64_t, uint64_t, void*);
+typedef void (*vFuuuiiiiip_t)(uint64_t, uint64_t, uint64_t, int64_t, int64_t, int64_t, int64_t, int64_t, void*);
+typedef void (*vFuuuuuuuuu_t)(uint64_t, uint64_t, uint64_t, uint64_t, uint64_t, uint64_t, uint64_t, uint64_t, uint64_t);
+typedef void (*vFuupiuiuuf_t)(uint64_t, uint64_t, void*, int64_t, uint64_t, int64_t, uint64_t, uint64_t, float);
+typedef void (*vFuffffffff_t)(uint64_t, float, float, float, float, float, float, float, float);
+typedef void (*vFffuuuufff_t)(float, float, uint64_t, uint64_t, uint64_t, uint64_t, float, float, float);
 typedef void (*vFddddddddd_t)(double, double, double, double, double, double, double, double, double);
-typedef void (*vFpipiuiipp_t)(void*, int32_t, void*, int32_t, uint32_t, int32_t, int32_t, void*, void*);
-typedef void (*vFpipppiipi_t)(void*, int32_t, void*, void*, void*, int32_t, int32_t, void*, int32_t);
-typedef void (*vFppiiipiii_t)(void*, void*, int32_t, int32_t, int32_t, void*, int32_t, int32_t, int32_t);
-typedef void (*vFpppppippp_t)(void*, void*, void*, void*, void*, int32_t, void*, void*, void*);
-typedef int32_t (*iFEpiiiiipi_t)(x64emu_t*, void*, int32_t, int32_t, int32_t, int32_t, int32_t, void*, int32_t);
-typedef int32_t (*iFEpppipppp_t)(x64emu_t*, void*, void*, void*, int32_t, void*, void*, void*, void*);
-typedef int32_t (*iFiiiiiiiip_t)(int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, void*);
-typedef int32_t (*iFiiiipiiip_t)(int32_t, int32_t, int32_t, int32_t, void*, int32_t, int32_t, int32_t, void*);
-typedef int32_t (*iFipiipippi_t)(int32_t, void*, int32_t, int32_t, void*, int32_t, void*, void*, int32_t);
-typedef int32_t (*iFdddpppppp_t)(double, double, double, void*, void*, void*, void*, void*, void*);
-typedef int32_t (*iFpipLpiiip_t)(void*, int32_t, void*, uintptr_t, void*, int32_t, int32_t, int32_t, void*);
-typedef int32_t (*iFppiuiippL_t)(void*, void*, int32_t, uint32_t, int32_t, int32_t, void*, void*, uintptr_t);
-typedef int32_t (*iFpppiiuuii_t)(void*, void*, void*, int32_t, int32_t, uint32_t, uint32_t, int32_t, int32_t);
-typedef int32_t (*iFpppiipiiu_t)(void*, void*, void*, int32_t, int32_t, void*, int32_t, int32_t, uint32_t);
-typedef int32_t (*iFppppppppu_t)(void*, void*, void*, void*, void*, void*, void*, void*, uint32_t);
-typedef int32_t (*iFppppppppp_t)(void*, void*, void*, void*, void*, void*, void*, void*, void*);
-typedef void* (*pFEppiiuuLi_t)(x64emu_t*, void*, void*, int32_t, int32_t, uint32_t, uint32_t, uintptr_t, int32_t);
-typedef void* (*pFEppuippuu_t)(x64emu_t*, void*, void*, uint32_t, int32_t, void*, void*, uint32_t, uint32_t);
-typedef void* (*pFpiiiiuuuu_t)(void*, int32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t, uint32_t, uint32_t);
-typedef void* (*pFpCuWCCuuu_t)(void*, uint8_t, uint32_t, uint16_t, uint8_t, uint8_t, uint32_t, uint32_t, uint32_t);
-typedef void* (*pFpuuwwWWww_t)(void*, uint32_t, uint32_t, int16_t, int16_t, uint16_t, uint16_t, int16_t, int16_t);
-typedef void* (*pFppiiiiiip_t)(void*, void*, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, void*);
-typedef void* (*pFppiiuuuLL_t)(void*, void*, int32_t, int32_t, uint32_t, uint32_t, uint32_t, uintptr_t, uintptr_t);
-typedef void* (*pFppipppppp_t)(void*, void*, int32_t, void*, void*, void*, void*, void*, void*);
-typedef void (*vFiiiiiiiiiu_t)(int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, uint32_t);
-typedef void (*vFuiiiiiiiii_t)(uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t);
-typedef void (*vFuiiiiiiuup_t)(uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t, void*);
-typedef void (*vFuiuiiiiuup_t)(uint32_t, int32_t, uint32_t, int32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t, void*);
-typedef void (*vFuuiiiiiiii_t)(uint32_t, uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t);
-typedef void (*vFuuiiiiiuip_t)(uint32_t, uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, uint32_t, int32_t, void*);
-typedef void (*vFuuiiiiiuup_t)(uint32_t, uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t, void*);
-typedef void (*vFuuiuiiiiip_t)(uint32_t, uint32_t, int32_t, uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, void*);
-typedef void (*vFuuiuiiiuup_t)(uint32_t, uint32_t, int32_t, uint32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t, void*);
-typedef void (*vFuuuuuuuiii_t)(uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, int32_t, int32_t, int32_t);
-typedef void (*vFuuuuuuuuuu_t)(uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t);
-typedef void (*vFuupiiupuuf_t)(uint32_t, uint32_t, void*, int32_t, int32_t, uint32_t, void*, uint32_t, uint32_t, float);
-typedef void (*vFuffiiffiip_t)(uint32_t, float, float, int32_t, int32_t, float, float, int32_t, int32_t, void*);
-typedef void (*vFuddiiddiip_t)(uint32_t, double, double, int32_t, int32_t, double, double, int32_t, int32_t, void*);
+typedef void (*vFpipiuiipp_t)(void*, int64_t, void*, int64_t, uint64_t, int64_t, int64_t, void*, void*);
+typedef void (*vFpipppiipi_t)(void*, int64_t, void*, void*, void*, int64_t, int64_t, void*, int64_t);
+typedef void (*vFppiiipiii_t)(void*, void*, int64_t, int64_t, int64_t, void*, int64_t, int64_t, int64_t);
+typedef void (*vFpppppippp_t)(void*, void*, void*, void*, void*, int64_t, void*, void*, void*);
+typedef int64_t (*iFEpiiiiipi_t)(x64emu_t*, void*, int64_t, int64_t, int64_t, int64_t, int64_t, void*, int64_t);
+typedef int64_t (*iFEpppipppp_t)(x64emu_t*, void*, void*, void*, int64_t, void*, void*, void*, void*);
+typedef int64_t (*iFiiiiiiiip_t)(int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, void*);
+typedef int64_t (*iFiiiipiiip_t)(int64_t, int64_t, int64_t, int64_t, void*, int64_t, int64_t, int64_t, void*);
+typedef int64_t (*iFipiipippi_t)(int64_t, void*, int64_t, int64_t, void*, int64_t, void*, void*, int64_t);
+typedef int64_t (*iFdddpppppp_t)(double, double, double, void*, void*, void*, void*, void*, void*);
+typedef int64_t (*iFpipLpiiip_t)(void*, int64_t, void*, uintptr_t, void*, int64_t, int64_t, int64_t, void*);
+typedef int64_t (*iFppiuiippL_t)(void*, void*, int64_t, uint64_t, int64_t, int64_t, void*, void*, uintptr_t);
+typedef int64_t (*iFpppiiuuii_t)(void*, void*, void*, int64_t, int64_t, uint64_t, uint64_t, int64_t, int64_t);
+typedef int64_t (*iFpppiipiiu_t)(void*, void*, void*, int64_t, int64_t, void*, int64_t, int64_t, uint64_t);
+typedef int64_t (*iFppppppppu_t)(void*, void*, void*, void*, void*, void*, void*, void*, uint64_t);
+typedef int64_t (*iFppppppppp_t)(void*, void*, void*, void*, void*, void*, void*, void*, void*);
+typedef void* (*pFEppiiuuLi_t)(x64emu_t*, void*, void*, int64_t, int64_t, uint64_t, uint64_t, uintptr_t, int64_t);
+typedef void* (*pFEppuippuu_t)(x64emu_t*, void*, void*, uint64_t, int64_t, void*, void*, uint64_t, uint64_t);
+typedef void* (*pFpiiiiuuuu_t)(void*, int64_t, int64_t, int64_t, int64_t, uint64_t, uint64_t, uint64_t, uint64_t);
+typedef void* (*pFpCuWCCuuu_t)(void*, uint8_t, uint64_t, uint16_t, uint8_t, uint8_t, uint64_t, uint64_t, uint64_t);
+typedef void* (*pFpuuwwWWww_t)(void*, uint64_t, uint64_t, int16_t, int16_t, uint16_t, uint16_t, int16_t, int16_t);
+typedef void* (*pFppiiiiiip_t)(void*, void*, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, void*);
+typedef void* (*pFppiiuuuLL_t)(void*, void*, int64_t, int64_t, uint64_t, uint64_t, uint64_t, uintptr_t, uintptr_t);
+typedef void* (*pFppipppppp_t)(void*, void*, int64_t, void*, void*, void*, void*, void*, void*);
+typedef void (*vFiiiiiiiiiu_t)(int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, uint64_t);
+typedef void (*vFuiiiiiiiii_t)(uint64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t);
+typedef void (*vFuiiiiiiuup_t)(uint64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, uint64_t, uint64_t, void*);
+typedef void (*vFuiuiiiiuup_t)(uint64_t, int64_t, uint64_t, int64_t, int64_t, int64_t, int64_t, uint64_t, uint64_t, void*);
+typedef void (*vFuuiiiiiiii_t)(uint64_t, uint64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t);
+typedef void (*vFuuiiiiiuip_t)(uint64_t, uint64_t, int64_t, int64_t, int64_t, int64_t, int64_t, uint64_t, int64_t, void*);
+typedef void (*vFuuiiiiiuup_t)(uint64_t, uint64_t, int64_t, int64_t, int64_t, int64_t, int64_t, uint64_t, uint64_t, void*);
+typedef void (*vFuuiuiiiiip_t)(uint64_t, uint64_t, int64_t, uint64_t, int64_t, int64_t, int64_t, int64_t, int64_t, void*);
+typedef void (*vFuuiuiiiuup_t)(uint64_t, uint64_t, int64_t, uint64_t, int64_t, int64_t, int64_t, uint64_t, uint64_t, void*);
+typedef void (*vFuuuuuuuiii_t)(uint64_t, uint64_t, uint64_t, uint64_t, uint64_t, uint64_t, uint64_t, int64_t, int64_t, int64_t);
+typedef void (*vFuuuuuuuuuu_t)(uint64_t, uint64_t, uint64_t, uint64_t, uint64_t, uint64_t, uint64_t, uint64_t, uint64_t, uint64_t);
+typedef void (*vFuupiiupuuf_t)(uint64_t, uint64_t, void*, int64_t, int64_t, uint64_t, void*, uint64_t, uint64_t, float);
+typedef void (*vFuffiiffiip_t)(uint64_t, float, float, int64_t, int64_t, float, float, int64_t, int64_t, void*);
+typedef void (*vFuddiiddiip_t)(uint64_t, double, double, int64_t, int64_t, double, double, int64_t, int64_t, void*);
 typedef void (*vFffffffffff_t)(float, float, float, float, float, float, float, float, float, float);
 typedef void (*vFpppppppppp_t)(void*, void*, void*, void*, void*, void*, void*, void*, void*, void*);
-typedef int32_t (*iFiiiiiiiiip_t)(int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, void*);
-typedef int32_t (*iFpuupiuiipp_t)(void*, uint32_t, uint32_t, void*, int32_t, uint32_t, int32_t, int32_t, void*, void*);
-typedef int32_t (*iFppuuiiiiii_t)(void*, void*, uint32_t, uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t);
-typedef int32_t (*iFppuuiiuupi_t)(void*, void*, uint32_t, uint32_t, int32_t, int32_t, uint32_t, uint32_t, void*, int32_t);
-typedef int32_t (*iFppppiiuuii_t)(void*, void*, void*, void*, int32_t, int32_t, uint32_t, uint32_t, int32_t, int32_t);
-typedef void* (*pFpCuWCCuuCW_t)(void*, uint8_t, uint32_t, uint16_t, uint8_t, uint8_t, uint32_t, uint32_t, uint8_t, uint16_t);
-typedef void* (*pFpuuuwwwwWW_t)(void*, uint32_t, uint32_t, uint32_t, int16_t, int16_t, int16_t, int16_t, uint16_t, uint16_t);
-typedef void* (*pFppuiipuuii_t)(void*, void*, uint32_t, int32_t, int32_t, void*, uint32_t, uint32_t, int32_t, int32_t);
+typedef int64_t (*iFiiiiiiiiip_t)(int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, void*);
+typedef int64_t (*iFpuupiuiipp_t)(void*, uint64_t, uint64_t, void*, int64_t, uint64_t, int64_t, int64_t, void*, void*);
+typedef int64_t (*iFppuuiiiiii_t)(void*, void*, uint64_t, uint64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t);
+typedef int64_t (*iFppuuiiuupi_t)(void*, void*, uint64_t, uint64_t, int64_t, int64_t, uint64_t, uint64_t, void*, int64_t);
+typedef int64_t (*iFppppiiuuii_t)(void*, void*, void*, void*, int64_t, int64_t, uint64_t, uint64_t, int64_t, int64_t);
+typedef void* (*pFpCuWCCuuCW_t)(void*, uint8_t, uint64_t, uint16_t, uint8_t, uint8_t, uint64_t, uint64_t, uint8_t, uint16_t);
+typedef void* (*pFpuuuwwwwWW_t)(void*, uint64_t, uint64_t, uint64_t, int16_t, int16_t, int16_t, int16_t, uint16_t, uint16_t);
+typedef void* (*pFppuiipuuii_t)(void*, void*, uint64_t, int64_t, int64_t, void*, uint64_t, uint64_t, int64_t, int64_t);
 typedef void* (*pFpppppppppp_t)(void*, void*, void*, void*, void*, void*, void*, void*, void*, void*);
-typedef void (*vFuiiiiiiiiip_t)(uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, void*);
-typedef void (*vFuiiiiiiiuip_t)(uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, uint32_t, int32_t, void*);
-typedef void (*vFuiiiiiiiuup_t)(uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t, void*);
-typedef void (*vFuiuiiiiiuup_t)(uint32_t, int32_t, uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t, void*);
-typedef void (*vFuuiuiiiiuup_t)(uint32_t, uint32_t, int32_t, uint32_t, int32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t, void*);
-typedef void (*vFuuuuuuuuuuu_t)(uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t);
-typedef void (*vFuuffiiffiip_t)(uint32_t, uint32_t, float, float, int32_t, int32_t, float, float, int32_t, int32_t, void*);
-typedef void (*vFuufffffffff_t)(uint32_t, uint32_t, float, float, float, float, float, float, float, float, float);
-typedef void (*vFuuddiiddiip_t)(uint32_t, uint32_t, double, double, int32_t, int32_t, double, double, int32_t, int32_t, void*);
-typedef void (*vFuffffffffff_t)(uint32_t, float, float, float, float, float, float, float, float, float, float);
-typedef void (*vFpipipiipiii_t)(void*, int32_t, void*, int32_t, void*, int32_t, int32_t, void*, int32_t, int32_t, int32_t);
-typedef void (*vFpipppiiiipi_t)(void*, int32_t, void*, void*, void*, int32_t, int32_t, int32_t, int32_t, void*, int32_t);
-typedef int32_t (*iFEppppiiiiuu_t)(x64emu_t*, void*, void*, void*, void*, int32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t);
-typedef int32_t (*iFiiiiiiiiiip_t)(int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, void*);
-typedef int32_t (*iFpipllippppp_t)(void*, int32_t, void*, intptr_t, intptr_t, int32_t, void*, void*, void*, void*, void*);
-typedef int32_t (*iFppppiiuuiiL_t)(void*, void*, void*, void*, int32_t, int32_t, uint32_t, uint32_t, int32_t, int32_t, uintptr_t);
-typedef void* (*pFEppiiLpppip_t)(x64emu_t*, void*, void*, int32_t, int32_t, uintptr_t, void*, void*, void*, int32_t, void*);
-typedef void* (*pFEppuiipuuii_t)(x64emu_t*, void*, void*, uint32_t, int32_t, int32_t, void*, uint32_t, uint32_t, int32_t, int32_t);
-typedef void (*vFuuiiiiiiiuip_t)(uint32_t, uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, uint32_t, int32_t, void*);
-typedef void (*vFuuiiiiiiiuup_t)(uint32_t, uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t, void*);
-typedef void (*vFuuuuuuuuuuuu_t)(uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t);
+typedef void (*vFuiiiiiiiiip_t)(uint64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, void*);
+typedef void (*vFuiiiiiiiuip_t)(uint64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, uint64_t, int64_t, void*);
+typedef void (*vFuiiiiiiiuup_t)(uint64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, uint64_t, uint64_t, void*);
+typedef void (*vFuiuiiiiiuup_t)(uint64_t, int64_t, uint64_t, int64_t, int64_t, int64_t, int64_t, int64_t, uint64_t, uint64_t, void*);
+typedef void (*vFuuiuiiiiuup_t)(uint64_t, uint64_t, int64_t, uint64_t, int64_t, int64_t, int64_t, int64_t, uint64_t, uint64_t, void*);
+typedef void (*vFuuuuuuuuuuu_t)(uint64_t, uint64_t, uint64_t, uint64_t, uint64_t, uint64_t, uint64_t, uint64_t, uint64_t, uint64_t, uint64_t);
+typedef void (*vFuuffiiffiip_t)(uint64_t, uint64_t, float, float, int64_t, int64_t, float, float, int64_t, int64_t, void*);
+typedef void (*vFuufffffffff_t)(uint64_t, uint64_t, float, float, float, float, float, float, float, float, float);
+typedef void (*vFuuddiiddiip_t)(uint64_t, uint64_t, double, double, int64_t, int64_t, double, double, int64_t, int64_t, void*);
+typedef void (*vFuffffffffff_t)(uint64_t, float, float, float, float, float, float, float, float, float, float);
+typedef void (*vFpipipiipiii_t)(void*, int64_t, void*, int64_t, void*, int64_t, int64_t, void*, int64_t, int64_t, int64_t);
+typedef void (*vFpipppiiiipi_t)(void*, int64_t, void*, void*, void*, int64_t, int64_t, int64_t, int64_t, void*, int64_t);
+typedef int64_t (*iFEppppiiiiuu_t)(x64emu_t*, void*, void*, void*, void*, int64_t, int64_t, int64_t, int64_t, uint64_t, uint64_t);
+typedef int64_t (*iFiiiiiiiiiip_t)(int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, void*);
+typedef int64_t (*iFpipllippppp_t)(void*, int64_t, void*, intptr_t, intptr_t, int64_t, void*, void*, void*, void*, void*);
+typedef int64_t (*iFppppiiuuiiL_t)(void*, void*, void*, void*, int64_t, int64_t, uint64_t, uint64_t, int64_t, int64_t, uintptr_t);
+typedef void* (*pFEppiiLpppip_t)(x64emu_t*, void*, void*, int64_t, int64_t, uintptr_t, void*, void*, void*, int64_t, void*);
+typedef void* (*pFEppuiipuuii_t)(x64emu_t*, void*, void*, uint64_t, int64_t, int64_t, void*, uint64_t, uint64_t, int64_t, int64_t);
+typedef void (*vFuuiiiiiiiuip_t)(uint64_t, uint64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, uint64_t, int64_t, void*);
+typedef void (*vFuuiiiiiiiuup_t)(uint64_t, uint64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, uint64_t, uint64_t, void*);
+typedef void (*vFuuuuuuuuuuuu_t)(uint64_t, uint64_t, uint64_t, uint64_t, uint64_t, uint64_t, uint64_t, uint64_t, uint64_t, uint64_t, uint64_t, uint64_t);
 typedef void (*vFffffffffffff_t)(float, float, float, float, float, float, float, float, float, float, float, float);
-typedef void (*vFpipppiiiipii_t)(void*, int32_t, void*, void*, void*, int32_t, int32_t, int32_t, int32_t, void*, int32_t, int32_t);
-typedef void (*vFpippppiiiipi_t)(void*, int32_t, void*, void*, void*, void*, int32_t, int32_t, int32_t, int32_t, void*, int32_t);
-typedef void (*vFppiiuuuiupup_t)(void*, void*, int32_t, int32_t, uint32_t, uint32_t, uint32_t, int32_t, uint32_t, void*, uint32_t, void*);
-typedef int32_t (*iFEppppiiiiuui_t)(x64emu_t*, void*, void*, void*, void*, int32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t, int32_t);
-typedef int32_t (*iFpipppppppppp_t)(void*, int32_t, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*);
-typedef int32_t (*iFpppllipppppp_t)(void*, void*, void*, intptr_t, intptr_t, int32_t, void*, void*, void*, void*, void*, void*);
-typedef int32_t (*iFpppppppppppp_t)(void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*);
-typedef void* (*pFEppiiuuuipii_t)(x64emu_t*, void*, void*, int32_t, int32_t, uint32_t, uint32_t, uint32_t, int32_t, void*, int32_t, int32_t);
-typedef void* (*pFpCuuWWwwCCup_t)(void*, uint8_t, uint32_t, uint32_t, uint16_t, uint16_t, int16_t, int16_t, uint8_t, uint8_t, uint32_t, void*);
-typedef void* (*pFpuuuWWWWWWWW_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* (*pFppiiuuuiupLp_t)(void*, void*, int32_t, int32_t, uint32_t, uint32_t, uint32_t, int32_t, uint32_t, void*, uintptr_t, void*);
+typedef void (*vFpipppiiiipii_t)(void*, int64_t, void*, void*, void*, int64_t, int64_t, int64_t, int64_t, void*, int64_t, int64_t);
+typedef void (*vFpippppiiiipi_t)(void*, int64_t, void*, void*, void*, void*, int64_t, int64_t, int64_t, int64_t, void*, int64_t);
+typedef void (*vFppiiuuuiupup_t)(void*, void*, int64_t, int64_t, uint64_t, uint64_t, uint64_t, int64_t, uint64_t, void*, uint64_t, void*);
+typedef int64_t (*iFEppppiiiiuui_t)(x64emu_t*, void*, void*, void*, void*, int64_t, int64_t, int64_t, int64_t, uint64_t, uint64_t, int64_t);
+typedef int64_t (*iFpipppppppppp_t)(void*, int64_t, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*);
+typedef int64_t (*iFpppllipppppp_t)(void*, void*, void*, intptr_t, intptr_t, int64_t, void*, void*, void*, void*, void*, void*);
+typedef int64_t (*iFpppppppppppp_t)(void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*);
+typedef void* (*pFEppiiuuuipii_t)(x64emu_t*, void*, void*, int64_t, int64_t, uint64_t, uint64_t, uint64_t, int64_t, void*, int64_t, int64_t);
+typedef void* (*pFpCuuWWwwCCup_t)(void*, uint8_t, uint64_t, uint64_t, uint16_t, uint16_t, int16_t, int16_t, uint8_t, uint8_t, uint64_t, void*);
+typedef void* (*pFpuuuWWWWWWWW_t)(void*, uint64_t, uint64_t, uint64_t, uint16_t, uint16_t, uint16_t, uint16_t, uint16_t, uint16_t, uint16_t, uint16_t);
+typedef void* (*pFppiiuuuiupLp_t)(void*, void*, int64_t, int64_t, uint64_t, uint64_t, uint64_t, int64_t, uint64_t, void*, uintptr_t, void*);
 typedef void* (*pFpppppppppppp_t)(void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*);
-typedef void (*vFuiiiiiiiiiuup_t)(uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t, void*);
-typedef void (*vFuuuuuuuuuuuuu_t)(uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t);
-typedef void (*vFuffffffffffff_t)(uint32_t, float, float, float, float, float, float, float, float, float, float, float, float);
-typedef int32_t (*iFddddpppddpppp_t)(double, double, double, double, void*, void*, void*, double, double, void*, void*, void*, void*);
-typedef int32_t (*iFpippuuuiipppp_t)(void*, int32_t, void*, void*, uint32_t, uint32_t, uint32_t, int32_t, int32_t, void*, void*, void*, void*);
-typedef int32_t (*iFpupiiiipppppp_t)(void*, uint32_t, void*, int32_t, int32_t, int32_t, int32_t, void*, void*, void*, void*, void*, void*);
-typedef void* (*pFpCuuwwWWWWuup_t)(void*, uint8_t, uint32_t, uint32_t, int16_t, int16_t, uint16_t, uint16_t, uint16_t, uint16_t, uint32_t, uint32_t, void*);
+typedef void (*vFuiiiiiiiiiuup_t)(uint64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, uint64_t, uint64_t, void*);
+typedef void (*vFuuuuuuuuuuuuu_t)(uint64_t, uint64_t, uint64_t, uint64_t, uint64_t, uint64_t, uint64_t, uint64_t, uint64_t, uint64_t, uint64_t, uint64_t, uint64_t);
+typedef void (*vFuffffffffffff_t)(uint64_t, float, float, float, float, float, float, float, float, float, float, float, float);
+typedef int64_t (*iFddddpppddpppp_t)(double, double, double, double, void*, void*, void*, double, double, void*, void*, void*, void*);
+typedef int64_t (*iFpippuuuiipppp_t)(void*, int64_t, void*, void*, uint64_t, uint64_t, uint64_t, int64_t, int64_t, void*, void*, void*, void*);
+typedef int64_t (*iFpupiiiipppppp_t)(void*, uint64_t, void*, int64_t, int64_t, int64_t, int64_t, void*, void*, void*, void*, void*, void*);
+typedef void* (*pFpCuuwwWWWWuup_t)(void*, uint8_t, uint64_t, uint64_t, int16_t, int16_t, uint16_t, uint16_t, uint16_t, uint16_t, uint64_t, uint64_t, void*);
 typedef void* (*pFppppppppppppp_t)(void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*);
-typedef void (*vFuffiiffiiffiip_t)(uint32_t, float, float, int32_t, int32_t, float, float, int32_t, int32_t, float, float, int32_t, int32_t, void*);
-typedef void (*vFuddiiddiiddiip_t)(uint32_t, double, double, int32_t, int32_t, double, double, int32_t, int32_t, double, double, int32_t, int32_t, void*);
-typedef void (*vFuuiiiiuuiiiiiii_t)(uint32_t, uint32_t, int32_t, int32_t, int32_t, int32_t, uint32_t, uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t);
+typedef void (*vFuffiiffiiffiip_t)(uint64_t, float, float, int64_t, int64_t, float, float, int64_t, int64_t, float, float, int64_t, int64_t, void*);
+typedef void (*vFuddiiddiiddiip_t)(uint64_t, double, double, int64_t, int64_t, double, double, int64_t, int64_t, double, double, int64_t, int64_t, void*);
+typedef void (*vFuuiiiiuuiiiiiii_t)(uint64_t, uint64_t, int64_t, int64_t, int64_t, int64_t, uint64_t, uint64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t);
 typedef void (*vFfffffffffffffff_t)(float, float, float, float, float, float, float, float, float, float, float, float, float, float, float);
 typedef void* (*pFppppppppppppppp_t)(void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*);
 typedef void* (*pFpppppppppppppppp_t)(void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*);
-typedef void (*vFppuiiiiipuiiiiiiii_t)(void*, void*, uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, void*, uint32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t, int32_t);
-typedef void* (*pFipppppppppppppppppppppp_t)(int32_t, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*);
+typedef void (*vFppuiiiiipuiiiiiiii_t)(void*, void*, uint64_t, int64_t, int64_t, int64_t, int64_t, int64_t, void*, uint64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t);
+typedef void* (*pFipppppppppppppppppppppp_t)(int64_t, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*, void*);
 
 #if defined(HAVE_LD80BITS)
 typedef long double (*DFD_t)(long double);
@@ -2238,3 +2238,733 @@ void iFEpvpp(x64emu_t *emu, uintptr_t fcn) { iFEppp_t fn = (iFEppp_t)fcn; R_RAX=
 void iFEpvvppp(x64emu_t *emu, uintptr_t fcn) { iFEpppp_t fn = (iFEpppp_t)fcn; R_RAX=(int64_t)fn(emu, (void*)R_RDI, (void*)R_RCX, (void*)R_R8, (void*)R_R9); }
 void iFEpLvvpp(x64emu_t *emu, uintptr_t fcn) { iFEpLpp_t fn = (iFEpLpp_t)fcn; R_RAX=(int64_t)fn(emu, (void*)R_RDI, (uintptr_t)R_RSI, (void*)R_R8, (void*)R_R9); }
 void iFEpuvvppp(x64emu_t *emu, uintptr_t fcn) { iFEpuppp_t fn = (iFEpuppp_t)fcn; R_RAX=(int64_t)fn(emu, (void*)R_RDI, (uint64_t)R_RSI, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); }
+
+int isSimpleWrapper(wrapper_t fun) {
+	if (fun == &vFv) return 1;
+	if (fun == &vFi) return 1;
+	if (fun == &vFu) return 1;
+	if (fun == &vFf) return 1;
+	if (fun == &vFd) return 1;
+	if (fun == &vFp) return 1;
+	if (fun == &cFv) return 1;
+	if (fun == &cFi) return 1;
+	if (fun == &cFu) return 1;
+	if (fun == &cFf) return 1;
+	if (fun == &cFp) return 1;
+	if (fun == &wFp) return 1;
+	if (fun == &iFv) return 1;
+	if (fun == &iFi) return 1;
+	if (fun == &iFu) return 1;
+	if (fun == &iFf) return 1;
+	if (fun == &iFd) return 1;
+	if (fun == &iFL) return 1;
+	if (fun == &iFp) return 1;
+	if (fun == &IFf) return 1;
+	if (fun == &IFd) return 1;
+	if (fun == &IFp) return 1;
+	if (fun == &WFi) return 1;
+	if (fun == &WFp) return 1;
+	if (fun == &uFv) return 1;
+	if (fun == &uFi) return 1;
+	if (fun == &uFu) return 1;
+	if (fun == &uFd) return 1;
+	if (fun == &uFp) return 1;
+	if (fun == &UFv) return 1;
+	if (fun == &UFp) return 1;
+	if (fun == &fFi) return 1;
+	if (fun == &fFf) return 1;
+	if (fun == &fFp) return 1;
+	if (fun == &dFi) return 1;
+	if (fun == &dFu) return 1;
+	if (fun == &dFd) return 1;
+	if (fun == &dFp) return 1;
+	if (fun == &lFv) return 1;
+	if (fun == &lFi) return 1;
+	if (fun == &lFl) return 1;
+	if (fun == &lFp) return 1;
+	if (fun == &LFv) return 1;
+	if (fun == &LFL) return 1;
+	if (fun == &LFp) return 1;
+	if (fun == &pFv) return 1;
+	if (fun == &pFi) return 1;
+	if (fun == &pFu) return 1;
+	if (fun == &pFl) return 1;
+	if (fun == &pFL) return 1;
+	if (fun == &pFp) return 1;
+	if (fun == &vFii) return 1;
+	if (fun == &vFiu) return 1;
+	if (fun == &vFif) return 1;
+	if (fun == &vFid) return 1;
+	if (fun == &vFip) return 1;
+	if (fun == &vFWW) return 1;
+	if (fun == &vFWp) return 1;
+	if (fun == &vFui) return 1;
+	if (fun == &vFuu) return 1;
+	if (fun == &vFuf) return 1;
+	if (fun == &vFud) return 1;
+	if (fun == &vFup) return 1;
+	if (fun == &vFfi) return 1;
+	if (fun == &vFff) return 1;
+	if (fun == &vFfp) return 1;
+	if (fun == &vFdd) return 1;
+	if (fun == &vFLp) return 1;
+	if (fun == &vFpi) return 1;
+	if (fun == &vFpu) return 1;
+	if (fun == &vFpf) return 1;
+	if (fun == &vFpl) return 1;
+	if (fun == &vFpL) return 1;
+	if (fun == &vFpp) return 1;
+	if (fun == &cFpp) return 1;
+	if (fun == &iFii) return 1;
+	if (fun == &iFiI) return 1;
+	if (fun == &iFiu) return 1;
+	if (fun == &iFiU) return 1;
+	if (fun == &iFil) return 1;
+	if (fun == &iFip) return 1;
+	if (fun == &iFIi) return 1;
+	if (fun == &iFui) return 1;
+	if (fun == &iFuu) return 1;
+	if (fun == &iFup) return 1;
+	if (fun == &iFUU) return 1;
+	if (fun == &iFli) return 1;
+	if (fun == &iFLL) return 1;
+	if (fun == &iFLp) return 1;
+	if (fun == &iFpw) return 1;
+	if (fun == &iFpi) return 1;
+	if (fun == &iFpI) return 1;
+	if (fun == &iFpC) return 1;
+	if (fun == &iFpu) return 1;
+	if (fun == &iFpU) return 1;
+	if (fun == &iFpf) return 1;
+	if (fun == &iFpd) return 1;
+	if (fun == &iFpl) return 1;
+	if (fun == &iFpL) return 1;
+	if (fun == &iFpp) return 1;
+	if (fun == &IFpi) return 1;
+	if (fun == &IFpu) return 1;
+	if (fun == &CFui) return 1;
+	if (fun == &CFpi) return 1;
+	if (fun == &CFpu) return 1;
+	if (fun == &uFiu) return 1;
+	if (fun == &uFui) return 1;
+	if (fun == &uFuu) return 1;
+	if (fun == &uFup) return 1;
+	if (fun == &uFUp) return 1;
+	if (fun == &uFpi) return 1;
+	if (fun == &uFpu) return 1;
+	if (fun == &uFpU) return 1;
+	if (fun == &uFpL) return 1;
+	if (fun == &uFpp) return 1;
+	if (fun == &UFii) return 1;
+	if (fun == &UFUp) return 1;
+	if (fun == &UFpp) return 1;
+	if (fun == &fFif) return 1;
+	if (fun == &fFfi) return 1;
+	if (fun == &fFff) return 1;
+	if (fun == &fFfp) return 1;
+	if (fun == &fFpp) return 1;
+	if (fun == &dFid) return 1;
+	if (fun == &dFdi) return 1;
+	if (fun == &dFdd) return 1;
+	if (fun == &dFdp) return 1;
+	if (fun == &dFLL) return 1;
+	if (fun == &dFpi) return 1;
+	if (fun == &dFpp) return 1;
+	if (fun == &lFll) return 1;
+	if (fun == &lFpi) return 1;
+	if (fun == &lFpp) return 1;
+	if (fun == &LFpi) return 1;
+	if (fun == &LFpL) return 1;
+	if (fun == &LFpp) return 1;
+	if (fun == &pFii) return 1;
+	if (fun == &pFip) return 1;
+	if (fun == &pFui) return 1;
+	if (fun == &pFuu) return 1;
+	if (fun == &pFup) return 1;
+	if (fun == &pFlp) return 1;
+	if (fun == &pFLL) return 1;
+	if (fun == &pFpi) return 1;
+	if (fun == &pFpC) return 1;
+	if (fun == &pFpu) return 1;
+	if (fun == &pFpU) return 1;
+	if (fun == &pFpL) return 1;
+	if (fun == &pFpp) return 1;
+	if (fun == &vFiii) return 1;
+	if (fun == &vFiip) return 1;
+	if (fun == &vFiui) return 1;
+	if (fun == &vFiuu) return 1;
+	if (fun == &vFiup) return 1;
+	if (fun == &vFiff) return 1;
+	if (fun == &vFidd) return 1;
+	if (fun == &vFipi) return 1;
+	if (fun == &vFipu) return 1;
+	if (fun == &vFipp) return 1;
+	if (fun == &vFuii) return 1;
+	if (fun == &vFuiI) return 1;
+	if (fun == &vFuiu) return 1;
+	if (fun == &vFuif) return 1;
+	if (fun == &vFuid) return 1;
+	if (fun == &vFuip) return 1;
+	if (fun == &vFuui) return 1;
+	if (fun == &vFuuu) return 1;
+	if (fun == &vFuuf) return 1;
+	if (fun == &vFuud) return 1;
+	if (fun == &vFuup) return 1;
+	if (fun == &vFuff) return 1;
+	if (fun == &vFudd) return 1;
+	if (fun == &vFupi) return 1;
+	if (fun == &vFfff) return 1;
+	if (fun == &vFfpp) return 1;
+	if (fun == &vFddd) return 1;
+	if (fun == &vFdpp) return 1;
+	if (fun == &vFLpp) return 1;
+	if (fun == &vFpii) return 1;
+	if (fun == &vFpiu) return 1;
+	if (fun == &vFpif) return 1;
+	if (fun == &vFpid) return 1;
+	if (fun == &vFpip) return 1;
+	if (fun == &vFpui) return 1;
+	if (fun == &vFpuI) return 1;
+	if (fun == &vFpuu) return 1;
+	if (fun == &vFpup) return 1;
+	if (fun == &vFpll) return 1;
+	if (fun == &vFpLi) return 1;
+	if (fun == &vFpLL) return 1;
+	if (fun == &vFppi) return 1;
+	if (fun == &vFppu) return 1;
+	if (fun == &vFppL) return 1;
+	if (fun == &vFppp) return 1;
+	if (fun == &iFiwC) return 1;
+	if (fun == &iFiii) return 1;
+	if (fun == &iFiiu) return 1;
+	if (fun == &iFiip) return 1;
+	if (fun == &iFiuu) return 1;
+	if (fun == &iFipu) return 1;
+	if (fun == &iFipL) return 1;
+	if (fun == &iFipp) return 1;
+	if (fun == &iFuuu) return 1;
+	if (fun == &iFuup) return 1;
+	if (fun == &iFuff) return 1;
+	if (fun == &iFuLL) return 1;
+	if (fun == &iFfff) return 1;
+	if (fun == &iFLip) return 1;
+	if (fun == &iFLLp) return 1;
+	if (fun == &iFLpp) return 1;
+	if (fun == &iFpii) return 1;
+	if (fun == &iFpiu) return 1;
+	if (fun == &iFpiL) return 1;
+	if (fun == &iFpip) return 1;
+	if (fun == &iFpIi) return 1;
+	if (fun == &iFpui) return 1;
+	if (fun == &iFpuu) return 1;
+	if (fun == &iFpuU) return 1;
+	if (fun == &iFpuL) return 1;
+	if (fun == &iFpup) return 1;
+	if (fun == &iFpUi) return 1;
+	if (fun == &iFpUU) return 1;
+	if (fun == &iFpfu) return 1;
+	if (fun == &iFpff) return 1;
+	if (fun == &iFpli) return 1;
+	if (fun == &iFpll) return 1;
+	if (fun == &iFplp) return 1;
+	if (fun == &iFpLi) return 1;
+	if (fun == &iFpLL) return 1;
+	if (fun == &iFpLp) return 1;
+	if (fun == &iFppi) return 1;
+	if (fun == &iFppI) return 1;
+	if (fun == &iFppC) return 1;
+	if (fun == &iFppu) return 1;
+	if (fun == &iFppd) return 1;
+	if (fun == &iFppL) return 1;
+	if (fun == &iFppp) return 1;
+	if (fun == &IFiIi) return 1;
+	if (fun == &IFpIi) return 1;
+	if (fun == &IFppi) return 1;
+	if (fun == &uFipu) return 1;
+	if (fun == &uFuip) return 1;
+	if (fun == &uFuui) return 1;
+	if (fun == &uFuuu) return 1;
+	if (fun == &uFuup) return 1;
+	if (fun == &uFupu) return 1;
+	if (fun == &uFupp) return 1;
+	if (fun == &uFpiu) return 1;
+	if (fun == &uFpip) return 1;
+	if (fun == &uFpLp) return 1;
+	if (fun == &uFppi) return 1;
+	if (fun == &uFppu) return 1;
+	if (fun == &uFppp) return 1;
+	if (fun == &UFppi) return 1;
+	if (fun == &fFuii) return 1;
+	if (fun == &fFfff) return 1;
+	if (fun == &fFffp) return 1;
+	if (fun == &fFppL) return 1;
+	if (fun == &dFddd) return 1;
+	if (fun == &dFddp) return 1;
+	if (fun == &dFppi) return 1;
+	if (fun == &dFppp) return 1;
+	if (fun == &lFipi) return 1;
+	if (fun == &lFipL) return 1;
+	if (fun == &lFlll) return 1;
+	if (fun == &lFlpi) return 1;
+	if (fun == &lFppi) return 1;
+	if (fun == &lFppL) return 1;
+	if (fun == &LFipL) return 1;
+	if (fun == &LFLLi) return 1;
+	if (fun == &LFLLI) return 1;
+	if (fun == &LFLpu) return 1;
+	if (fun == &LFLpL) return 1;
+	if (fun == &LFpii) return 1;
+	if (fun == &LFpup) return 1;
+	if (fun == &LFpLi) return 1;
+	if (fun == &LFpLp) return 1;
+	if (fun == &LFppi) return 1;
+	if (fun == &LFppL) return 1;
+	if (fun == &pFipi) return 1;
+	if (fun == &pFipL) return 1;
+	if (fun == &pFipp) return 1;
+	if (fun == &pFIpi) return 1;
+	if (fun == &pFuii) return 1;
+	if (fun == &pFupi) return 1;
+	if (fun == &pFupL) return 1;
+	if (fun == &pFUpi) return 1;
+	if (fun == &pFpii) return 1;
+	if (fun == &pFpiu) return 1;
+	if (fun == &pFpiL) return 1;
+	if (fun == &pFpip) return 1;
+	if (fun == &pFpCC) return 1;
+	if (fun == &pFpCu) return 1;
+	if (fun == &pFpui) return 1;
+	if (fun == &pFpuu) return 1;
+	if (fun == &pFpuL) return 1;
+	if (fun == &pFpup) return 1;
+	if (fun == &pFpUp) return 1;
+	if (fun == &pFplp) return 1;
+	if (fun == &pFpLu) return 1;
+	if (fun == &pFpLL) return 1;
+	if (fun == &pFpLp) return 1;
+	if (fun == &pFppi) return 1;
+	if (fun == &pFppu) return 1;
+	if (fun == &pFppf) return 1;
+	if (fun == &pFppL) return 1;
+	if (fun == &pFppp) return 1;
+	if (fun == &vFiiii) return 1;
+	if (fun == &vFiiip) return 1;
+	if (fun == &vFiuip) return 1;
+	if (fun == &vFiuuu) return 1;
+	if (fun == &vFiupu) return 1;
+	if (fun == &vFifff) return 1;
+	if (fun == &vFiddd) return 1;
+	if (fun == &vFipii) return 1;
+	if (fun == &vFipup) return 1;
+	if (fun == &vFippp) return 1;
+	if (fun == &vFuiii) return 1;
+	if (fun == &vFuiip) return 1;
+	if (fun == &vFuiui) return 1;
+	if (fun == &vFuiuu) return 1;
+	if (fun == &vFuiup) return 1;
+	if (fun == &vFuifi) return 1;
+	if (fun == &vFuiff) return 1;
+	if (fun == &vFuidd) return 1;
+	if (fun == &vFuipi) return 1;
+	if (fun == &vFuipu) return 1;
+	if (fun == &vFuipp) return 1;
+	if (fun == &vFuuii) return 1;
+	if (fun == &vFuuiu) return 1;
+	if (fun == &vFuuip) return 1;
+	if (fun == &vFuuui) return 1;
+	if (fun == &vFuuuu) return 1;
+	if (fun == &vFuuuf) return 1;
+	if (fun == &vFuuud) return 1;
+	if (fun == &vFuuup) return 1;
+	if (fun == &vFuupi) return 1;
+	if (fun == &vFuupp) return 1;
+	if (fun == &vFufff) return 1;
+	if (fun == &vFuddd) return 1;
+	if (fun == &vFupii) return 1;
+	if (fun == &vFuppi) return 1;
+	if (fun == &vFffff) return 1;
+	if (fun == &vFdddd) return 1;
+	if (fun == &vFpiii) return 1;
+	if (fun == &vFpiip) return 1;
+	if (fun == &vFpiup) return 1;
+	if (fun == &vFpipp) return 1;
+	if (fun == &vFpuuu) return 1;
+	if (fun == &vFpupp) return 1;
+	if (fun == &vFpdii) return 1;
+	if (fun == &vFpddd) return 1;
+	if (fun == &vFpLLL) return 1;
+	if (fun == &vFppii) return 1;
+	if (fun == &vFppip) return 1;
+	if (fun == &vFppui) return 1;
+	if (fun == &vFppuu) return 1;
+	if (fun == &vFppup) return 1;
+	if (fun == &vFpppi) return 1;
+	if (fun == &vFpppu) return 1;
+	if (fun == &vFpppp) return 1;
+	if (fun == &cFpiii) return 1;
+	if (fun == &iFiiii) return 1;
+	if (fun == &iFiiiu) return 1;
+	if (fun == &iFiiip) return 1;
+	if (fun == &iFiipp) return 1;
+	if (fun == &iFiuii) return 1;
+	if (fun == &iFilli) return 1;
+	if (fun == &iFipii) return 1;
+	if (fun == &iFipui) return 1;
+	if (fun == &iFipLp) return 1;
+	if (fun == &iFippi) return 1;
+	if (fun == &iFippu) return 1;
+	if (fun == &iFippL) return 1;
+	if (fun == &iFippp) return 1;
+	if (fun == &iFuipp) return 1;
+	if (fun == &iFuuff) return 1;
+	if (fun == &iFuppp) return 1;
+	if (fun == &iFpiii) return 1;
+	if (fun == &iFpiiu) return 1;
+	if (fun == &iFpiid) return 1;
+	if (fun == &iFpiiL) return 1;
+	if (fun == &iFpiip) return 1;
+	if (fun == &iFpiup) return 1;
+	if (fun == &iFpipi) return 1;
+	if (fun == &iFpipC) return 1;
+	if (fun == &iFpipp) return 1;
+	if (fun == &iFpCCC) return 1;
+	if (fun == &iFpWWu) return 1;
+	if (fun == &iFpuiL) return 1;
+	if (fun == &iFpuip) return 1;
+	if (fun == &iFpuui) return 1;
+	if (fun == &iFpuuu) return 1;
+	if (fun == &iFpuup) return 1;
+	if (fun == &iFpuLL) return 1;
+	if (fun == &iFpuLp) return 1;
+	if (fun == &iFpupu) return 1;
+	if (fun == &iFplip) return 1;
+	if (fun == &iFpLpi) return 1;
+	if (fun == &iFpLpL) return 1;
+	if (fun == &iFpLpp) return 1;
+	if (fun == &iFppii) return 1;
+	if (fun == &iFppiu) return 1;
+	if (fun == &iFppiL) return 1;
+	if (fun == &iFppip) return 1;
+	if (fun == &iFppCC) return 1;
+	if (fun == &iFppuw) return 1;
+	if (fun == &iFppui) return 1;
+	if (fun == &iFppuu) return 1;
+	if (fun == &iFppup) return 1;
+	if (fun == &iFppll) return 1;
+	if (fun == &iFpplp) return 1;
+	if (fun == &iFppLp) return 1;
+	if (fun == &iFpppi) return 1;
+	if (fun == &iFpppu) return 1;
+	if (fun == &iFpppL) return 1;
+	if (fun == &iFpppp) return 1;
+	if (fun == &IFppip) return 1;
+	if (fun == &uFifff) return 1;
+	if (fun == &uFuuuu) return 1;
+	if (fun == &uFpipp) return 1;
+	if (fun == &uFpCCC) return 1;
+	if (fun == &uFpuip) return 1;
+	if (fun == &uFpuuu) return 1;
+	if (fun == &uFppiu) return 1;
+	if (fun == &uFpppi) return 1;
+	if (fun == &UFpipp) return 1;
+	if (fun == &dFppiL) return 1;
+	if (fun == &lFiipL) return 1;
+	if (fun == &lFipiI) return 1;
+	if (fun == &lFipLi) return 1;
+	if (fun == &lFipLI) return 1;
+	if (fun == &lFipLl) return 1;
+	if (fun == &lFppii) return 1;
+	if (fun == &LFpuuu) return 1;
+	if (fun == &LFpLLp) return 1;
+	if (fun == &LFpLpp) return 1;
+	if (fun == &LFppii) return 1;
+	if (fun == &LFppLL) return 1;
+	if (fun == &LFppLp) return 1;
+	if (fun == &pFiiiu) return 1;
+	if (fun == &pFiiup) return 1;
+	if (fun == &pFippL) return 1;
+	if (fun == &pFuiii) return 1;
+	if (fun == &pFpiii) return 1;
+	if (fun == &pFpiip) return 1;
+	if (fun == &pFpiLL) return 1;
+	if (fun == &pFpipi) return 1;
+	if (fun == &pFpipp) return 1;
+	if (fun == &pFpCWp) return 1;
+	if (fun == &pFpCuW) return 1;
+	if (fun == &pFpCuu) return 1;
+	if (fun == &pFpuii) return 1;
+	if (fun == &pFpuWp) return 1;
+	if (fun == &pFpuuu) return 1;
+	if (fun == &pFpuup) return 1;
+	if (fun == &pFpupi) return 1;
+	if (fun == &pFplpp) return 1;
+	if (fun == &pFpLip) return 1;
+	if (fun == &pFppii) return 1;
+	if (fun == &pFppiL) return 1;
+	if (fun == &pFppip) return 1;
+	if (fun == &pFppuu) return 1;
+	if (fun == &pFppuL) return 1;
+	if (fun == &pFppup) return 1;
+	if (fun == &pFppLL) return 1;
+	if (fun == &pFpppi) return 1;
+	if (fun == &pFpppu) return 1;
+	if (fun == &pFpppL) return 1;
+	if (fun == &pFpppp) return 1;
+	if (fun == &vFiiiii) return 1;
+	if (fun == &vFiiiiu) return 1;
+	if (fun == &vFiiuup) return 1;
+	if (fun == &vFiipii) return 1;
+	if (fun == &vFiuiip) return 1;
+	if (fun == &vFiuipi) return 1;
+	if (fun == &vFiuuuu) return 1;
+	if (fun == &vFiffff) return 1;
+	if (fun == &vFidddd) return 1;
+	if (fun == &vFilill) return 1;
+	if (fun == &vFipipu) return 1;
+	if (fun == &vFipipp) return 1;
+	if (fun == &vFipupi) return 1;
+	if (fun == &vFuiiii) return 1;
+	if (fun == &vFuiiiu) return 1;
+	if (fun == &vFuiiip) return 1;
+	if (fun == &vFuiiup) return 1;
+	if (fun == &vFuiIII) return 1;
+	if (fun == &vFuiuii) return 1;
+	if (fun == &vFuiuiu) return 1;
+	if (fun == &vFuiuip) return 1;
+	if (fun == &vFuiuuu) return 1;
+	if (fun == &vFuiuup) return 1;
+	if (fun == &vFuiupi) return 1;
+	if (fun == &vFuiupu) return 1;
+	if (fun == &vFuifff) return 1;
+	if (fun == &vFuiddd) return 1;
+	if (fun == &vFuipii) return 1;
+	if (fun == &vFuipip) return 1;
+	if (fun == &vFuipup) return 1;
+	if (fun == &vFuippp) return 1;
+	if (fun == &vFuuiii) return 1;
+	if (fun == &vFuuiui) return 1;
+	if (fun == &vFuuiuu) return 1;
+	if (fun == &vFuuiup) return 1;
+	if (fun == &vFuuipi) return 1;
+	if (fun == &vFuuipu) return 1;
+	if (fun == &vFuuipp) return 1;
+	if (fun == &vFuuuii) return 1;
+	if (fun == &vFuuuiu) return 1;
+	if (fun == &vFuuuip) return 1;
+	if (fun == &vFuuuui) return 1;
+	if (fun == &vFuuuuu) return 1;
+	if (fun == &vFuuuup) return 1;
+	if (fun == &vFuupii) return 1;
+	if (fun == &vFuffff) return 1;
+	if (fun == &vFudddd) return 1;
+	if (fun == &vFupupi) return 1;
+	if (fun == &vFuppip) return 1;
+	if (fun == &vFupppp) return 1;
+	if (fun == &vFddddp) return 1;
+	if (fun == &vFpiiii) return 1;
+	if (fun == &vFpipii) return 1;
+	if (fun == &vFpuipp) return 1;
+	if (fun == &vFpddii) return 1;
+	if (fun == &vFpliil) return 1;
+	if (fun == &vFppiii) return 1;
+	if (fun == &vFppiip) return 1;
+	if (fun == &vFppipp) return 1;
+	if (fun == &vFppWui) return 1;
+	if (fun == &vFpppii) return 1;
+	if (fun == &vFppppi) return 1;
+	if (fun == &vFppppp) return 1;
+	if (fun == &iFiiipu) return 1;
+	if (fun == &iFiiipp) return 1;
+	if (fun == &iFiiupp) return 1;
+	if (fun == &iFiLLLL) return 1;
+	if (fun == &iFipiii) return 1;
+	if (fun == &iFipuip) return 1;
+	if (fun == &iFipppi) return 1;
+	if (fun == &iFipppp) return 1;
+	if (fun == &iFuppLp) return 1;
+	if (fun == &iFpiiii) return 1;
+	if (fun == &iFpiiiu) return 1;
+	if (fun == &iFpiiiL) return 1;
+	if (fun == &iFpiiip) return 1;
+	if (fun == &iFpiiuu) return 1;
+	if (fun == &iFpiipi) return 1;
+	if (fun == &iFpiipp) return 1;
+	if (fun == &iFpipii) return 1;
+	if (fun == &iFpippi) return 1;
+	if (fun == &iFpippp) return 1;
+	if (fun == &iFpCCCC) return 1;
+	if (fun == &iFpuuip) return 1;
+	if (fun == &iFpuuui) return 1;
+	if (fun == &iFpuuup) return 1;
+	if (fun == &iFpuuLL) return 1;
+	if (fun == &iFpuupp) return 1;
+	if (fun == &iFplluu) return 1;
+	if (fun == &iFpLlpp) return 1;
+	if (fun == &iFppiip) return 1;
+	if (fun == &iFppiup) return 1;
+	if (fun == &iFppiLi) return 1;
+	if (fun == &iFppipi) return 1;
+	if (fun == &iFppipp) return 1;
+	if (fun == &iFppupi) return 1;
+	if (fun == &iFppupp) return 1;
+	if (fun == &iFppllp) return 1;
+	if (fun == &iFppLpi) return 1;
+	if (fun == &iFppLpL) return 1;
+	if (fun == &iFppLpp) return 1;
+	if (fun == &iFpppii) return 1;
+	if (fun == &iFpppiL) return 1;
+	if (fun == &iFpppip) return 1;
+	if (fun == &iFpppLi) return 1;
+	if (fun == &iFpppLp) return 1;
+	if (fun == &iFppppi) return 1;
+	if (fun == &iFppppL) return 1;
+	if (fun == &iFppppp) return 1;
+	if (fun == &IFppIII) return 1;
+	if (fun == &uFiuuuu) return 1;
+	if (fun == &uFuiiiu) return 1;
+	if (fun == &uFpCCCC) return 1;
+	if (fun == &uFpuuuu) return 1;
+	if (fun == &uFppiip) return 1;
+	if (fun == &uFppppp) return 1;
+	if (fun == &LFLpppp) return 1;
+	if (fun == &LFpLLLp) return 1;
+	if (fun == &LFpLppL) return 1;
+	if (fun == &LFpLppp) return 1;
+	if (fun == &LFppLLp) return 1;
+	if (fun == &LFppppp) return 1;
+	if (fun == &pFipipL) return 1;
+	if (fun == &pFuiiiu) return 1;
+	if (fun == &pFuiipp) return 1;
+	if (fun == &pFpiiuu) return 1;
+	if (fun == &pFpiipp) return 1;
+	if (fun == &pFpippp) return 1;
+	if (fun == &pFpCuup) return 1;
+	if (fun == &pFpCppp) return 1;
+	if (fun == &pFpuiii) return 1;
+	if (fun == &pFpuiip) return 1;
+	if (fun == &pFpuWWW) return 1;
+	if (fun == &pFpuuWW) return 1;
+	if (fun == &pFpuuup) return 1;
+	if (fun == &pFppiii) return 1;
+	if (fun == &pFppipi) return 1;
+	if (fun == &pFppipp) return 1;
+	if (fun == &pFppuuu) return 1;
+	if (fun == &pFppuup) return 1;
+	if (fun == &pFppLLp) return 1;
+	if (fun == &pFpppip) return 1;
+	if (fun == &pFpppuu) return 1;
+	if (fun == &pFpppup) return 1;
+	if (fun == &pFppppi) return 1;
+	if (fun == &pFppppp) return 1;
+	if (fun == &vFiiiiii) return 1;
+	if (fun == &vFiiiuil) return 1;
+	if (fun == &vFiuippp) return 1;
+	if (fun == &vFiffiff) return 1;
+	if (fun == &vFiddidd) return 1;
+	if (fun == &vFuiiiii) return 1;
+	if (fun == &vFuiiiip) return 1;
+	if (fun == &vFuiiuii) return 1;
+	if (fun == &vFuiiuup) return 1;
+	if (fun == &vFuiuiii) return 1;
+	if (fun == &vFuiuiip) return 1;
+	if (fun == &vFuiuiuu) return 1;
+	if (fun == &vFuiuuip) return 1;
+	if (fun == &vFuiuuuu) return 1;
+	if (fun == &vFuiupii) return 1;
+	if (fun == &vFuiupiu) return 1;
+	if (fun == &vFuiffff) return 1;
+	if (fun == &vFuidddd) return 1;
+	if (fun == &vFuipiup) return 1;
+	if (fun == &vFuuiiii) return 1;
+	if (fun == &vFuuiuii) return 1;
+	if (fun == &vFuuiuiu) return 1;
+	if (fun == &vFuuiuup) return 1;
+	if (fun == &vFuuippp) return 1;
+	if (fun == &vFuuuiup) return 1;
+	if (fun == &vFuuuipi) return 1;
+	if (fun == &vFuuuipp) return 1;
+	if (fun == &vFuuuuii) return 1;
+	if (fun == &vFuuuuip) return 1;
+	if (fun == &vFuuuuuu) return 1;
+	if (fun == &vFuuuuff) return 1;
+	if (fun == &vFuuuppi) return 1;
+	if (fun == &vFuuuppp) return 1;
+	if (fun == &vFuuffff) return 1;
+	if (fun == &vFuudddd) return 1;
+	if (fun == &vFuffiip) return 1;
+	if (fun == &vFuddiip) return 1;
+	if (fun == &vFupupip) return 1;
+	if (fun == &vFuppppp) return 1;
+	if (fun == &vFpiiiii) return 1;
+	if (fun == &vFpiiuuu) return 1;
+	if (fun == &vFpipppi) return 1;
+	if (fun == &vFpdddii) return 1;
+	if (fun == &vFppiiii) return 1;
+	if (fun == &vFppiiip) return 1;
+	if (fun == &vFppiipi) return 1;
+	if (fun == &vFppupii) return 1;
+	if (fun == &vFpppiii) return 1;
+	if (fun == &vFpppppp) return 1;
+	if (fun == &iFiiiiii) return 1;
+	if (fun == &iFiiiiip) return 1;
+	if (fun == &iFiuiipi) return 1;
+	if (fun == &iFuppppp) return 1;
+	if (fun == &iFLppipp) return 1;
+	if (fun == &iFpiiiii) return 1;
+	if (fun == &iFpiiipp) return 1;
+	if (fun == &iFpiippp) return 1;
+	if (fun == &iFpippip) return 1;
+	if (fun == &iFpipppp) return 1;
+	if (fun == &iFpupuui) return 1;
+	if (fun == &iFppiiuu) return 1;
+	if (fun == &iFppiipi) return 1;
+	if (fun == &iFppipiL) return 1;
+	if (fun == &iFppIppp) return 1;
+	if (fun == &iFppuiii) return 1;
+	if (fun == &iFppuiiL) return 1;
+	if (fun == &iFppuIII) return 1;
+	if (fun == &iFppuupp) return 1;
+	if (fun == &iFppupip) return 1;
+	if (fun == &iFppLupp) return 1;
+	if (fun == &iFpppiuu) return 1;
+	if (fun == &iFpppipi) return 1;
+	if (fun == &iFpppipp) return 1;
+	if (fun == &iFpppuii) return 1;
+	if (fun == &iFppppii) return 1;
+	if (fun == &iFppppip) return 1;
+	if (fun == &iFppppup) return 1;
+	if (fun == &iFpppppi) return 1;
+	if (fun == &iFpppppL) return 1;
+	if (fun == &iFpppppp) return 1;
+	if (fun == &uFpippup) return 1;
+	if (fun == &UFpippup) return 1;
+	if (fun == &lFipLipu) return 1;
+	if (fun == &lFipLipp) return 1;
+	if (fun == &LFpipipi) return 1;
+	if (fun == &pFiCiiCi) return 1;
+	if (fun == &pFpiiiiu) return 1;
+	if (fun == &pFpippip) return 1;
+	if (fun == &pFpCuuCC) return 1;
+	if (fun == &pFpCuuWW) return 1;
+	if (fun == &pFpCuuup) return 1;
+	if (fun == &pFpuuuuu) return 1;
+	if (fun == &pFppiiii) return 1;
+	if (fun == &pFpppppu) return 1;
+	if (fun == &pFpppppp) return 1;
+	if (fun == &vFiiffffp) return 1;
+	if (fun == &vFuipffff) return 1;
+	if (fun == &vFuipdddd) return 1;
+	if (fun == &vFuuuufff) return 1;
+	if (fun == &vFuuuffff) return 1;
+	if (fun == &vFuuudddd) return 1;
+	if (fun == &vFuuffiip) return 1;
+	if (fun == &vFuuddiip) return 1;
+	if (fun == &vFpddiidd) return 1;
+	if (fun == &iFppppdpi) return 1;
+	if (fun == &pFifffppp) return 1;
+	if (fun == &vFuuuuufff) return 1;
+	if (fun == &iFdddpppppp) return 1;
+	if (fun == &vFuffiiffiip) return 1;
+	if (fun == &vFuddiiddiip) return 1;
+	return 0;
+}
diff --git a/src/wrapped/generated/wrapper.h b/src/wrapped/generated/wrapper.h
index fca9e979..dbf358c0 100644
--- a/src/wrapped/generated/wrapper.h
+++ b/src/wrapped/generated/wrapper.h
@@ -1137,4 +1137,6 @@ void iFEpvvppp(x64emu_t *emu, uintptr_t fnc);
 void iFEpLvvpp(x64emu_t *emu, uintptr_t fnc);
 void iFEpuvvppp(x64emu_t *emu, uintptr_t fnc);
 
+int isSimpleWrapper(wrapper_t fun);
+
 #endif //__WRAPPER_H_