about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2023-03-26 07:58:05 +0000
committerptitSeb <sebastien.chev@gmail.com>2023-03-26 07:58:05 +0000
commitf58ac3e9bf15251d902f22abea9685e7cbe55b2b (patch)
treedbecdd26cec3729a21b089ef77ab4cd121b3247a /src
parent56e161d1ff2c1aef1d4f54d030b5f07354d20554 (diff)
downloadbox64-f58ac3e9bf15251d902f22abea9685e7cbe55b2b.tar.gz
box64-f58ac3e9bf15251d902f22abea9685e7cbe55b2b.zip
Added wrapped libicuuc and libicui18n v72 (help Stardew Valley)
Diffstat (limited to 'src')
-rwxr-xr-xsrc/library_list.h2
-rw-r--r--src/wrapped/generated/functions_list.txt11
-rw-r--r--src/wrapped/generated/wrappedicui18n72defs.h8
-rw-r--r--src/wrapped/generated/wrappedicui18n72types.h17
-rw-r--r--src/wrapped/generated/wrappedicui18n72undefs.h8
-rw-r--r--src/wrapped/generated/wrappedicuuc72defs.h8
-rw-r--r--src/wrapped/generated/wrappedicuuc72types.h17
-rw-r--r--src/wrapped/generated/wrappedicuuc72undefs.h8
-rw-r--r--src/wrapped/generated/wrapper.c25
-rw-r--r--src/wrapped/generated/wrapper.h9
-rw-r--r--src/wrapped/wrappedicui18n72.c29
-rw-r--r--src/wrapped/wrappedicui18n72_private.h56
-rw-r--r--src/wrapped/wrappedicuuc72.c28
-rw-r--r--src/wrapped/wrappedicuuc72_private.h58
14 files changed, 284 insertions, 0 deletions
diff --git a/src/library_list.h b/src/library_list.h
index dc851a4c..8fe866ed 100755
--- a/src/library_list.h
+++ b/src/library_list.h
@@ -223,6 +223,8 @@ GO("libvdpau.so.1", libvdpau)
 GO("libnuma.so.1", libnuma)
 GO("libnuma.so", libnuma)
 GO("d3dadapter9.so.1", d3dadapter9)
+GO("libicuuc.so.72", icuuc72)
+GO("libicui18n.so.72", icui18n72)
 
 GO("ld-linux-x86-64.so.2", ldlinux)
 
diff --git a/src/wrapped/generated/functions_list.txt b/src/wrapped/generated/functions_list.txt
index c0f8fd03..ad8646a2 100644
--- a/src/wrapped/generated/functions_list.txt
+++ b/src/wrapped/generated/functions_list.txt
@@ -893,6 +893,7 @@
 #() IFpppp
 #() IFSIii
 #() CFpupp
+#() CFppip
 #() uFEipp
 #() uFEupp
 #() uFEpup
@@ -908,6 +909,7 @@
 #() uFpuup
 #() uFpupu
 #() uFppiu
+#() uFppip
 #() uFppLp
 #() uFpppi
 #() uFpppu
@@ -1012,6 +1014,7 @@
 #() pFppiu
 #() pFppiL
 #() pFppip
+#() pFppCp
 #() pFppWW
 #() pFppuW
 #() pFppuu
@@ -1258,6 +1261,7 @@
 #() iFpippW
 #() iFpippp
 #() iFpCCCC
+#() iFpCpip
 #() iFpuill
 #() iFpuipi
 #() iFpuuip
@@ -1367,6 +1371,7 @@
 #() pFpiipp
 #() pFpiCCC
 #() pFpiuuu
+#() pFpipip
 #() pFpippi
 #() pFpippp
 #() pFpCpup
@@ -1681,8 +1686,10 @@
 #() pFEppApp
 #() pFiiiiii
 #() pFiCiiCi
+#() pFipippp
 #() pFdddddd
 #() pFpiiiiu
+#() pFpiiipp
 #() pFpiiCCC
 #() pFpiUUUU
 #() pFpippip
@@ -1896,6 +1903,7 @@
 #() pFuupupup
 #() pFdiiiIiI
 #() pFpiiUdii
+#() pFpipippp
 #() pFpCuwwWW
 #() pFpCuWCCC
 #() pFpCuuwwp
@@ -2050,6 +2058,7 @@
 #() pFEpppppiV
 #() pFEppppppi
 #() pFEppppppp
+#() pFiippipip
 #() pFiipppppp
 #() pFuiiiuuuu
 #() pFuupupipp
@@ -3088,6 +3097,8 @@ wrappedgtkx112:
   - gtk_toolbar_prepend_element
 - pFpipppppppi:
   - gtk_toolbar_insert_element
+wrappedicui18n72:
+wrappedicuuc72:
 wrappedkrb5:
 - iFppppppipp:
   - krb5_get_init_creds_password
diff --git a/src/wrapped/generated/wrappedicui18n72defs.h b/src/wrapped/generated/wrappedicui18n72defs.h
new file mode 100644
index 00000000..616ca765
--- /dev/null
+++ b/src/wrapped/generated/wrappedicui18n72defs.h
@@ -0,0 +1,8 @@
+/*******************************************************************
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.16) *
+ *******************************************************************/
+#ifndef __wrappedicui18n72DEFS_H_
+#define __wrappedicui18n72DEFS_H_
+
+
+#endif // __wrappedicui18n72DEFS_H_
diff --git a/src/wrapped/generated/wrappedicui18n72types.h b/src/wrapped/generated/wrappedicui18n72types.h
new file mode 100644
index 00000000..50a02f63
--- /dev/null
+++ b/src/wrapped/generated/wrappedicui18n72types.h
@@ -0,0 +1,17 @@
+/*******************************************************************
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.16) *
+ *******************************************************************/
+#ifndef __wrappedicui18n72TYPES_H_
+#define __wrappedicui18n72TYPES_H_
+
+#ifndef LIBNAME
+#error You should only #include this file inside a wrapped*.c file
+#endif
+#ifndef ADDED_FUNCTIONS
+#define ADDED_FUNCTIONS() 
+#endif
+
+
+#define SUPER() ADDED_FUNCTIONS()
+
+#endif // __wrappedicui18n72TYPES_H_
diff --git a/src/wrapped/generated/wrappedicui18n72undefs.h b/src/wrapped/generated/wrappedicui18n72undefs.h
new file mode 100644
index 00000000..16f48baf
--- /dev/null
+++ b/src/wrapped/generated/wrappedicui18n72undefs.h
@@ -0,0 +1,8 @@
+/*******************************************************************
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.16) *
+ *******************************************************************/
+#ifndef __wrappedicui18n72UNDEFS_H_
+#define __wrappedicui18n72UNDEFS_H_
+
+
+#endif // __wrappedicui18n72UNDEFS_H_
diff --git a/src/wrapped/generated/wrappedicuuc72defs.h b/src/wrapped/generated/wrappedicuuc72defs.h
new file mode 100644
index 00000000..dbdcf087
--- /dev/null
+++ b/src/wrapped/generated/wrappedicuuc72defs.h
@@ -0,0 +1,8 @@
+/*******************************************************************
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.16) *
+ *******************************************************************/
+#ifndef __wrappedicuuc72DEFS_H_
+#define __wrappedicuuc72DEFS_H_
+
+
+#endif // __wrappedicuuc72DEFS_H_
diff --git a/src/wrapped/generated/wrappedicuuc72types.h b/src/wrapped/generated/wrappedicuuc72types.h
new file mode 100644
index 00000000..29ef7864
--- /dev/null
+++ b/src/wrapped/generated/wrappedicuuc72types.h
@@ -0,0 +1,17 @@
+/*******************************************************************
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.16) *
+ *******************************************************************/
+#ifndef __wrappedicuuc72TYPES_H_
+#define __wrappedicuuc72TYPES_H_
+
+#ifndef LIBNAME
+#error You should only #include this file inside a wrapped*.c file
+#endif
+#ifndef ADDED_FUNCTIONS
+#define ADDED_FUNCTIONS() 
+#endif
+
+
+#define SUPER() ADDED_FUNCTIONS()
+
+#endif // __wrappedicuuc72TYPES_H_
diff --git a/src/wrapped/generated/wrappedicuuc72undefs.h b/src/wrapped/generated/wrappedicuuc72undefs.h
new file mode 100644
index 00000000..5ba0572b
--- /dev/null
+++ b/src/wrapped/generated/wrappedicuuc72undefs.h
@@ -0,0 +1,8 @@
+/*******************************************************************
+ * File automatically generated by rebuild_wrappers.py (v2.2.0.16) *
+ *******************************************************************/
+#ifndef __wrappedicuuc72UNDEFS_H_
+#define __wrappedicuuc72UNDEFS_H_
+
+
+#endif // __wrappedicuuc72UNDEFS_H_
diff --git a/src/wrapped/generated/wrapper.c b/src/wrapped/generated/wrapper.c
index 4513cab3..11a5b501 100644
--- a/src/wrapped/generated/wrapper.c
+++ b/src/wrapped/generated/wrapper.c
@@ -927,6 +927,7 @@ typedef int64_t (*IFppip_t)(void*, void*, int32_t, void*);
 typedef int64_t (*IFpppp_t)(void*, void*, void*, void*);
 typedef int64_t (*IFSIii_t)(void*, int64_t, int32_t, int32_t);
 typedef uint8_t (*CFpupp_t)(void*, uint32_t, void*, void*);
+typedef uint8_t (*CFppip_t)(void*, void*, int32_t, void*);
 typedef uint32_t (*uFEipp_t)(x64emu_t*, int32_t, void*, void*);
 typedef uint32_t (*uFEupp_t)(x64emu_t*, uint32_t, void*, void*);
 typedef uint32_t (*uFEpup_t)(x64emu_t*, void*, uint32_t, void*);
@@ -942,6 +943,7 @@ typedef uint32_t (*uFpuuu_t)(void*, uint32_t, uint32_t, uint32_t);
 typedef uint32_t (*uFpuup_t)(void*, uint32_t, uint32_t, void*);
 typedef uint32_t (*uFpupu_t)(void*, uint32_t, void*, uint32_t);
 typedef uint32_t (*uFppiu_t)(void*, void*, int32_t, uint32_t);
+typedef uint32_t (*uFppip_t)(void*, void*, int32_t, void*);
 typedef uint32_t (*uFppLp_t)(void*, void*, uintptr_t, void*);
 typedef uint32_t (*uFpppi_t)(void*, void*, void*, int32_t);
 typedef uint32_t (*uFpppu_t)(void*, void*, void*, uint32_t);
@@ -1046,6 +1048,7 @@ typedef void* (*pFppii_t)(void*, void*, int32_t, int32_t);
 typedef void* (*pFppiu_t)(void*, void*, int32_t, uint32_t);
 typedef void* (*pFppiL_t)(void*, void*, int32_t, uintptr_t);
 typedef void* (*pFppip_t)(void*, void*, int32_t, void*);
+typedef void* (*pFppCp_t)(void*, void*, uint8_t, void*);
 typedef void* (*pFppWW_t)(void*, void*, uint16_t, uint16_t);
 typedef void* (*pFppuW_t)(void*, void*, uint32_t, uint16_t);
 typedef void* (*pFppuu_t)(void*, void*, uint32_t, uint32_t);
@@ -1292,6 +1295,7 @@ typedef int32_t (*iFpippi_t)(void*, int32_t, void*, void*, int32_t);
 typedef int32_t (*iFpippW_t)(void*, int32_t, void*, void*, uint16_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 (*iFpCpip_t)(void*, uint8_t, void*, int32_t, void*);
 typedef int32_t (*iFpuill_t)(void*, uint32_t, int32_t, intptr_t, intptr_t);
 typedef int32_t (*iFpuipi_t)(void*, uint32_t, int32_t, void*, int32_t);
 typedef int32_t (*iFpuuip_t)(void*, uint32_t, uint32_t, int32_t, void*);
@@ -1401,6 +1405,7 @@ typedef void* (*pFpiipi_t)(void*, int32_t, int32_t, void*, int32_t);
 typedef void* (*pFpiipp_t)(void*, int32_t, int32_t, void*, void*);
 typedef void* (*pFpiCCC_t)(void*, int32_t, uint8_t, uint8_t, uint8_t);
 typedef void* (*pFpiuuu_t)(void*, int32_t, uint32_t, uint32_t, uint32_t);
+typedef void* (*pFpipip_t)(void*, int32_t, void*, int32_t, void*);
 typedef void* (*pFpippi_t)(void*, int32_t, void*, void*, int32_t);
 typedef void* (*pFpippp_t)(void*, int32_t, void*, void*, void*);
 typedef void* (*pFpCpup_t)(void*, uint8_t, void*, uint32_t, void*);
@@ -1715,8 +1720,10 @@ typedef void* (*pFEppppV_t)(x64emu_t*, void*, void*, void*, void*, void*);
 typedef void* (*pFEppApp_t)(x64emu_t*, void*, void*, void*, void*, void*);
 typedef void* (*pFiiiiii_t)(int32_t, int32_t, int32_t, int32_t, int32_t, int32_t);
 typedef void* (*pFiCiiCi_t)(int32_t, uint8_t, int32_t, int32_t, uint8_t, int32_t);
+typedef void* (*pFipippp_t)(int32_t, void*, int32_t, void*, void*, void*);
 typedef void* (*pFdddddd_t)(double, double, double, double, double, double);
 typedef void* (*pFpiiiiu_t)(void*, int32_t, int32_t, int32_t, int32_t, uint32_t);
+typedef void* (*pFpiiipp_t)(void*, int32_t, int32_t, int32_t, void*, void*);
 typedef void* (*pFpiiCCC_t)(void*, int32_t, int32_t, uint8_t, uint8_t, uint8_t);
 typedef void* (*pFpiUUUU_t)(void*, int32_t, uint64_t, uint64_t, uint64_t, uint64_t);
 typedef void* (*pFpippip_t)(void*, int32_t, void*, void*, int32_t, void*);
@@ -1930,6 +1937,7 @@ 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* (*pFdiiiIiI_t)(double, int32_t, int32_t, int32_t, int64_t, int32_t, int64_t);
 typedef void* (*pFpiiUdii_t)(void*, int32_t, int32_t, uint64_t, double, int32_t, int32_t);
+typedef void* (*pFpipippp_t)(void*, int32_t, void*, int32_t, void*, void*, 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*);
@@ -2084,6 +2092,7 @@ typedef void* (*pFEpppuipV_t)(x64emu_t*, void*, void*, void*, uint32_t, int32_t,
 typedef void* (*pFEpppppiV_t)(x64emu_t*, void*, void*, void*, void*, void*, int32_t, void*);
 typedef void* (*pFEppppppi_t)(x64emu_t*, void*, void*, void*, void*, void*, void*, int32_t);
 typedef void* (*pFEppppppp_t)(x64emu_t*, void*, void*, void*, void*, void*, void*, void*);
+typedef void* (*pFiippipip_t)(int32_t, int32_t, void*, void*, int32_t, void*, int32_t, void*);
 typedef void* (*pFiipppppp_t)(int32_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*);
@@ -3311,6 +3320,7 @@ void IFppip(x64emu_t *emu, uintptr_t fcn) { IFppip_t fn = (IFppip_t)fcn; R_RAX=(
 void IFpppp(x64emu_t *emu, uintptr_t fcn) { IFpppp_t fn = (IFpppp_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX); }
 void IFSIii(x64emu_t *emu, uintptr_t fcn) { IFSIii_t fn = (IFSIii_t)fcn; R_RAX=(int64_t)fn(io_convert((void*)R_RDI), (int64_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX); }
 void CFpupp(x64emu_t *emu, uintptr_t fcn) { CFpupp_t fn = (CFpupp_t)fcn; R_RAX=(unsigned char)fn((void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (void*)R_RCX); }
+void CFppip(x64emu_t *emu, uintptr_t fcn) { CFppip_t fn = (CFppip_t)fcn; R_RAX=(unsigned char)fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (void*)R_RCX); }
 void uFEipp(x64emu_t *emu, uintptr_t fcn) { uFEipp_t fn = (uFEipp_t)fcn; R_RAX=(uint32_t)fn(emu, (int32_t)R_RDI, (void*)R_RSI, (void*)R_RDX); }
 void uFEupp(x64emu_t *emu, uintptr_t fcn) { uFEupp_t fn = (uFEupp_t)fcn; R_RAX=(uint32_t)fn(emu, (uint32_t)R_RDI, (void*)R_RSI, (void*)R_RDX); }
 void uFEpup(x64emu_t *emu, uintptr_t fcn) { uFEpup_t fn = (uFEpup_t)fcn; R_RAX=(uint32_t)fn(emu, (void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX); }
@@ -3326,6 +3336,7 @@ void uFpuuu(x64emu_t *emu, uintptr_t fcn) { uFpuuu_t fn = (uFpuuu_t)fcn; R_RAX=(
 void uFpuup(x64emu_t *emu, uintptr_t fcn) { uFpuup_t fn = (uFpuup_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (void*)R_RCX); }
 void uFpupu(x64emu_t *emu, uintptr_t fcn) { uFpupu_t fn = (uFpupu_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (uint32_t)R_RCX); }
 void uFppiu(x64emu_t *emu, uintptr_t fcn) { uFppiu_t fn = (uFppiu_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (uint32_t)R_RCX); }
+void uFppip(x64emu_t *emu, uintptr_t fcn) { uFppip_t fn = (uFppip_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (void*)R_RCX); }
 void uFppLp(x64emu_t *emu, uintptr_t fcn) { uFppLp_t fn = (uFppLp_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX, (void*)R_RCX); }
 void uFpppi(x64emu_t *emu, uintptr_t fcn) { uFpppi_t fn = (uFpppi_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int32_t)R_RCX); }
 void uFpppu(x64emu_t *emu, uintptr_t fcn) { uFpppu_t fn = (uFpppu_t)fcn; R_RAX=(uint32_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (uint32_t)R_RCX); }
@@ -3430,6 +3441,7 @@ void pFppii(x64emu_t *emu, uintptr_t fcn) { pFppii_t fn = (pFppii_t)fcn; R_RAX=(
 void pFppiu(x64emu_t *emu, uintptr_t fcn) { pFppiu_t fn = (pFppiu_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (uint32_t)R_RCX); }
 void pFppiL(x64emu_t *emu, uintptr_t fcn) { pFppiL_t fn = (pFppiL_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (uintptr_t)R_RCX); }
 void pFppip(x64emu_t *emu, uintptr_t fcn) { pFppip_t fn = (pFppip_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (void*)R_RCX); }
+void pFppCp(x64emu_t *emu, uintptr_t fcn) { pFppCp_t fn = (pFppCp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (uint8_t)R_RDX, (void*)R_RCX); }
 void pFppWW(x64emu_t *emu, uintptr_t fcn) { pFppWW_t fn = (pFppWW_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (uint16_t)R_RDX, (uint16_t)R_RCX); }
 void pFppuW(x64emu_t *emu, uintptr_t fcn) { pFppuW_t fn = (pFppuW_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (uint16_t)R_RCX); }
 void pFppuu(x64emu_t *emu, uintptr_t fcn) { pFppuu_t fn = (pFppuu_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX); }
@@ -3676,6 +3688,7 @@ void iFpippi(x64emu_t *emu, uintptr_t fcn) { iFpippi_t fn = (iFpippi_t)fcn; R_RA
 void iFpippW(x64emu_t *emu, uintptr_t fcn) { iFpippW_t fn = (iFpippW_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (int32_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (uint16_t)R_R8); }
 void iFpippp(x64emu_t *emu, uintptr_t fcn) { iFpippp_t fn = (iFpippp_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (int32_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8); }
 void iFpCCCC(x64emu_t *emu, uintptr_t fcn) { iFpCCCC_t fn = (iFpCCCC_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uint8_t)R_RSI, (uint8_t)R_RDX, (uint8_t)R_RCX, (uint8_t)R_R8); }
+void iFpCpip(x64emu_t *emu, uintptr_t fcn) { iFpCpip_t fn = (iFpCpip_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uint8_t)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (void*)R_R8); }
 void iFpuill(x64emu_t *emu, uintptr_t fcn) { iFpuill_t fn = (iFpuill_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (int32_t)R_RDX, (intptr_t)R_RCX, (intptr_t)R_R8); }
 void iFpuipi(x64emu_t *emu, uintptr_t fcn) { iFpuipi_t fn = (iFpuipi_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (int32_t)R_RDX, (void*)R_RCX, (int32_t)R_R8); }
 void iFpuuip(x64emu_t *emu, uintptr_t fcn) { iFpuuip_t fn = (iFpuuip_t)fcn; R_RAX=(int32_t)fn((void*)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (int32_t)R_RCX, (void*)R_R8); }
@@ -3785,6 +3798,7 @@ void pFpiipi(x64emu_t *emu, uintptr_t fcn) { pFpiipi_t fn = (pFpiipi_t)fcn; R_RA
 void pFpiipp(x64emu_t *emu, uintptr_t fcn) { pFpiipp_t fn = (pFpiipp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (void*)R_RCX, (void*)R_R8); }
 void pFpiCCC(x64emu_t *emu, uintptr_t fcn) { pFpiCCC_t fn = (pFpiCCC_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (int32_t)R_RSI, (uint8_t)R_RDX, (uint8_t)R_RCX, (uint8_t)R_R8); }
 void pFpiuuu(x64emu_t *emu, uintptr_t fcn) { pFpiuuu_t fn = (pFpiuuu_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (int32_t)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (uint32_t)R_R8); }
+void pFpipip(x64emu_t *emu, uintptr_t fcn) { pFpipip_t fn = (pFpipip_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (int32_t)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (void*)R_R8); }
 void pFpippi(x64emu_t *emu, uintptr_t fcn) { pFpippi_t fn = (pFpippi_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (int32_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (int32_t)R_R8); }
 void pFpippp(x64emu_t *emu, uintptr_t fcn) { pFpippp_t fn = (pFpippp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (int32_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8); }
 void pFpCpup(x64emu_t *emu, uintptr_t fcn) { pFpCpup_t fn = (pFpCpup_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint8_t)R_RSI, (void*)R_RDX, (uint32_t)R_RCX, (void*)R_R8); }
@@ -4099,8 +4113,10 @@ void pFEppppV(x64emu_t *emu, uintptr_t fcn) { pFEppppV_t fn = (pFEppppV_t)fcn; R
 void pFEppApp(x64emu_t *emu, uintptr_t fcn) { pFEppApp_t fn = (pFEppApp_t)fcn; R_RAX=(uintptr_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8); }
 void pFiiiiii(x64emu_t *emu, uintptr_t fcn) { pFiiiiii_t fn = (pFiiiiii_t)fcn; R_RAX=(uintptr_t)fn((int32_t)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (int32_t)R_R9); }
 void pFiCiiCi(x64emu_t *emu, uintptr_t fcn) { pFiCiiCi_t fn = (pFiCiiCi_t)fcn; R_RAX=(uintptr_t)fn((int32_t)R_RDI, (uint8_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (uint8_t)R_R8, (int32_t)R_R9); }
+void pFipippp(x64emu_t *emu, uintptr_t fcn) { pFipippp_t fn = (pFipippp_t)fcn; R_RAX=(uintptr_t)fn((int32_t)R_RDI, (void*)R_RSI, (int32_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9); }
 void pFdddddd(x64emu_t *emu, uintptr_t fcn) { pFdddddd_t fn = (pFdddddd_t)fcn; R_RAX=(uintptr_t)fn(emu->xmm[0].d[0], emu->xmm[1].d[0], emu->xmm[2].d[0], emu->xmm[3].d[0], emu->xmm[4].d[0], emu->xmm[5].d[0]); }
 void pFpiiiiu(x64emu_t *emu, uintptr_t fcn) { pFpiiiiu_t fn = (pFpiiiiu_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (int32_t)R_R8, (uint32_t)R_R9); }
+void pFpiiipp(x64emu_t *emu, uintptr_t fcn) { pFpiiipp_t fn = (pFpiiipp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (void*)R_R8, (void*)R_R9); }
 void pFpiiCCC(x64emu_t *emu, uintptr_t fcn) { pFpiiCCC_t fn = (pFpiiCCC_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (uint8_t)R_RCX, (uint8_t)R_R8, (uint8_t)R_R9); }
 void pFpiUUUU(x64emu_t *emu, uintptr_t fcn) { pFpiUUUU_t fn = (pFpiUUUU_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (int32_t)R_RSI, (uint64_t)R_RDX, (uint64_t)R_RCX, (uint64_t)R_R8, (uint64_t)R_R9); }
 void pFpippip(x64emu_t *emu, uintptr_t fcn) { pFpippip_t fn = (pFpippip_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (int32_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (int32_t)R_R8, (void*)R_R9); }
@@ -4314,6 +4330,7 @@ void pFifffppp(x64emu_t *emu, uintptr_t fcn) { pFifffppp_t fn = (pFifffppp_t)fcn
 void pFuupupup(x64emu_t *emu, uintptr_t fcn) { pFuupupup_t fn = (pFuupupup_t)fcn; R_RAX=(uintptr_t)fn((uint32_t)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (uint32_t)R_RCX, (void*)R_R8, (uint32_t)R_R9, *(void**)(R_RSP + 8)); }
 void pFdiiiIiI(x64emu_t *emu, uintptr_t fcn) { pFdiiiIiI_t fn = (pFdiiiIiI_t)fcn; R_RAX=(uintptr_t)fn(emu->xmm[0].d[0], (int32_t)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (int64_t)R_RCX, (int32_t)R_R8, (int64_t)R_R9); }
 void pFpiiUdii(x64emu_t *emu, uintptr_t fcn) { pFpiiUdii_t fn = (pFpiiUdii_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (uint64_t)R_RCX, emu->xmm[0].d[0], (int32_t)R_R8, (int32_t)R_R9); }
+void pFpipippp(x64emu_t *emu, uintptr_t fcn) { pFpipippp_t fn = (pFpipippp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (int32_t)R_RSI, (void*)R_RDX, (int32_t)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); }
 void pFpCuwwWW(x64emu_t *emu, uintptr_t fcn) { pFpCuwwWW_t fn = (pFpCuwwWW_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint8_t)R_RSI, (uint32_t)R_RDX, (int16_t)R_RCX, (int16_t)R_R8, (uint16_t)R_R9, *(uint16_t*)(R_RSP + 8)); }
 void pFpCuWCCC(x64emu_t *emu, uintptr_t fcn) { pFpCuWCCC_t fn = (pFpCuWCCC_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint8_t)R_RSI, (uint32_t)R_RDX, (uint16_t)R_RCX, (uint8_t)R_R8, (uint8_t)R_R9, *(uint8_t*)(R_RSP + 8)); }
 void pFpCuuwwp(x64emu_t *emu, uintptr_t fcn) { pFpCuuwwp_t fn = (pFpCuuwwp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uint8_t)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (int16_t)R_R8, (int16_t)R_R9, *(void**)(R_RSP + 8)); }
@@ -4468,6 +4485,7 @@ void pFEpppuipV(x64emu_t *emu, uintptr_t fcn) { pFEpppuipV_t fn = (pFEpppuipV_t)
 void pFEpppppiV(x64emu_t *emu, uintptr_t fcn) { pFEpppppiV_t fn = (pFEpppppiV_t)fcn; R_RAX=(uintptr_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (int32_t)R_R9, (void*)(R_RSP + 8)); }
 void pFEppppppi(x64emu_t *emu, uintptr_t fcn) { pFEppppppi_t fn = (pFEppppppi_t)fcn; R_RAX=(uintptr_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(int32_t*)(R_RSP + 8)); }
 void pFEppppppp(x64emu_t *emu, uintptr_t fcn) { pFEppppppp_t fn = (pFEppppppp_t)fcn; R_RAX=(uintptr_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); }
+void pFiippipip(x64emu_t *emu, uintptr_t fcn) { pFiippipip_t fn = (pFiippipip_t)fcn; R_RAX=(uintptr_t)fn((int32_t)R_RDI, (int32_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (int32_t)R_R8, (void*)R_R9, *(int32_t*)(R_RSP + 8), *(void**)(R_RSP + 16)); }
 void pFiipppppp(x64emu_t *emu, uintptr_t fcn) { pFiipppppp_t fn = (pFiipppppp_t)fcn; R_RAX=(uintptr_t)fn((int32_t)R_RDI, (int32_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16)); }
 void pFuiiiuuuu(x64emu_t *emu, uintptr_t fcn) { pFuiiiuuuu_t fn = (pFuiiiuuuu_t)fcn; R_RAX=(uintptr_t)fn((uint32_t)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (uint32_t)R_R8, (uint32_t)R_R9, *(uint32_t*)(R_RSP + 8), *(uint32_t*)(R_RSP + 16)); }
 void pFuupupipp(x64emu_t *emu, uintptr_t fcn) { pFuupupipp_t fn = (pFuupupipp_t)fcn; R_RAX=(uintptr_t)fn((uint32_t)R_RDI, (uint32_t)R_RSI, (void*)R_RDX, (uint32_t)R_RCX, (void*)R_R8, (int32_t)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16)); }
@@ -5553,6 +5571,7 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &IFppip) return 1;
 	if (fun == &IFpppp) return 1;
 	if (fun == &CFpupp) return 1;
+	if (fun == &CFppip) return 1;
 	if (fun == &uFifff) return 4;
 	if (fun == &uFuuuu) return 1;
 	if (fun == &uFpiip) return 1;
@@ -5564,6 +5583,7 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &uFpuup) return 1;
 	if (fun == &uFpupu) return 1;
 	if (fun == &uFppiu) return 1;
+	if (fun == &uFppip) return 1;
 	if (fun == &uFppLp) return 1;
 	if (fun == &uFpppi) return 1;
 	if (fun == &uFpppu) return 1;
@@ -5652,6 +5672,7 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &pFppiu) return 1;
 	if (fun == &pFppiL) return 1;
 	if (fun == &pFppip) return 1;
+	if (fun == &pFppCp) return 1;
 	if (fun == &pFppWW) return 1;
 	if (fun == &pFppuW) return 1;
 	if (fun == &pFppuu) return 1;
@@ -5843,6 +5864,7 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &iFpippW) return 1;
 	if (fun == &iFpippp) return 1;
 	if (fun == &iFpCCCC) return 1;
+	if (fun == &iFpCpip) return 1;
 	if (fun == &iFpuill) return 1;
 	if (fun == &iFpuipi) return 1;
 	if (fun == &iFpuuip) return 1;
@@ -5933,6 +5955,7 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &pFpiipp) return 1;
 	if (fun == &pFpiCCC) return 1;
 	if (fun == &pFpiuuu) return 1;
+	if (fun == &pFpipip) return 1;
 	if (fun == &pFpippi) return 1;
 	if (fun == &pFpippp) return 1;
 	if (fun == &pFpCpup) return 1;
@@ -6186,8 +6209,10 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &LFpLippp) return 1;
 	if (fun == &pFiiiiii) return 1;
 	if (fun == &pFiCiiCi) return 1;
+	if (fun == &pFipippp) return 1;
 	if (fun == &pFdddddd) return 7;
 	if (fun == &pFpiiiiu) return 1;
+	if (fun == &pFpiiipp) return 1;
 	if (fun == &pFpiiCCC) return 1;
 	if (fun == &pFpiUUUU) return 1;
 	if (fun == &pFpippip) return 1;
diff --git a/src/wrapped/generated/wrapper.h b/src/wrapped/generated/wrapper.h
index e74bc6e0..3d481ac3 100644
--- a/src/wrapped/generated/wrapper.h
+++ b/src/wrapped/generated/wrapper.h
@@ -926,6 +926,7 @@ void IFppip(x64emu_t *emu, uintptr_t fnc);
 void IFpppp(x64emu_t *emu, uintptr_t fnc);
 void IFSIii(x64emu_t *emu, uintptr_t fnc);
 void CFpupp(x64emu_t *emu, uintptr_t fnc);
+void CFppip(x64emu_t *emu, uintptr_t fnc);
 void uFEipp(x64emu_t *emu, uintptr_t fnc);
 void uFEupp(x64emu_t *emu, uintptr_t fnc);
 void uFEpup(x64emu_t *emu, uintptr_t fnc);
@@ -941,6 +942,7 @@ void uFpuuu(x64emu_t *emu, uintptr_t fnc);
 void uFpuup(x64emu_t *emu, uintptr_t fnc);
 void uFpupu(x64emu_t *emu, uintptr_t fnc);
 void uFppiu(x64emu_t *emu, uintptr_t fnc);
+void uFppip(x64emu_t *emu, uintptr_t fnc);
 void uFppLp(x64emu_t *emu, uintptr_t fnc);
 void uFpppi(x64emu_t *emu, uintptr_t fnc);
 void uFpppu(x64emu_t *emu, uintptr_t fnc);
@@ -1045,6 +1047,7 @@ void pFppii(x64emu_t *emu, uintptr_t fnc);
 void pFppiu(x64emu_t *emu, uintptr_t fnc);
 void pFppiL(x64emu_t *emu, uintptr_t fnc);
 void pFppip(x64emu_t *emu, uintptr_t fnc);
+void pFppCp(x64emu_t *emu, uintptr_t fnc);
 void pFppWW(x64emu_t *emu, uintptr_t fnc);
 void pFppuW(x64emu_t *emu, uintptr_t fnc);
 void pFppuu(x64emu_t *emu, uintptr_t fnc);
@@ -1291,6 +1294,7 @@ void iFpippi(x64emu_t *emu, uintptr_t fnc);
 void iFpippW(x64emu_t *emu, uintptr_t fnc);
 void iFpippp(x64emu_t *emu, uintptr_t fnc);
 void iFpCCCC(x64emu_t *emu, uintptr_t fnc);
+void iFpCpip(x64emu_t *emu, uintptr_t fnc);
 void iFpuill(x64emu_t *emu, uintptr_t fnc);
 void iFpuipi(x64emu_t *emu, uintptr_t fnc);
 void iFpuuip(x64emu_t *emu, uintptr_t fnc);
@@ -1400,6 +1404,7 @@ void pFpiipi(x64emu_t *emu, uintptr_t fnc);
 void pFpiipp(x64emu_t *emu, uintptr_t fnc);
 void pFpiCCC(x64emu_t *emu, uintptr_t fnc);
 void pFpiuuu(x64emu_t *emu, uintptr_t fnc);
+void pFpipip(x64emu_t *emu, uintptr_t fnc);
 void pFpippi(x64emu_t *emu, uintptr_t fnc);
 void pFpippp(x64emu_t *emu, uintptr_t fnc);
 void pFpCpup(x64emu_t *emu, uintptr_t fnc);
@@ -1714,8 +1719,10 @@ void pFEppppV(x64emu_t *emu, uintptr_t fnc);
 void pFEppApp(x64emu_t *emu, uintptr_t fnc);
 void pFiiiiii(x64emu_t *emu, uintptr_t fnc);
 void pFiCiiCi(x64emu_t *emu, uintptr_t fnc);
+void pFipippp(x64emu_t *emu, uintptr_t fnc);
 void pFdddddd(x64emu_t *emu, uintptr_t fnc);
 void pFpiiiiu(x64emu_t *emu, uintptr_t fnc);
+void pFpiiipp(x64emu_t *emu, uintptr_t fnc);
 void pFpiiCCC(x64emu_t *emu, uintptr_t fnc);
 void pFpiUUUU(x64emu_t *emu, uintptr_t fnc);
 void pFpippip(x64emu_t *emu, uintptr_t fnc);
@@ -1929,6 +1936,7 @@ void pFifffppp(x64emu_t *emu, uintptr_t fnc);
 void pFuupupup(x64emu_t *emu, uintptr_t fnc);
 void pFdiiiIiI(x64emu_t *emu, uintptr_t fnc);
 void pFpiiUdii(x64emu_t *emu, uintptr_t fnc);
+void pFpipippp(x64emu_t *emu, uintptr_t fnc);
 void pFpCuwwWW(x64emu_t *emu, uintptr_t fnc);
 void pFpCuWCCC(x64emu_t *emu, uintptr_t fnc);
 void pFpCuuwwp(x64emu_t *emu, uintptr_t fnc);
@@ -2083,6 +2091,7 @@ void pFEpppuipV(x64emu_t *emu, uintptr_t fnc);
 void pFEpppppiV(x64emu_t *emu, uintptr_t fnc);
 void pFEppppppi(x64emu_t *emu, uintptr_t fnc);
 void pFEppppppp(x64emu_t *emu, uintptr_t fnc);
+void pFiippipip(x64emu_t *emu, uintptr_t fnc);
 void pFiipppppp(x64emu_t *emu, uintptr_t fnc);
 void pFuiiiuuuu(x64emu_t *emu, uintptr_t fnc);
 void pFuupupipp(x64emu_t *emu, uintptr_t fnc);
diff --git a/src/wrapped/wrappedicui18n72.c b/src/wrapped/wrappedicui18n72.c
new file mode 100644
index 00000000..7a39dd1c
--- /dev/null
+++ b/src/wrapped/wrappedicui18n72.c
@@ -0,0 +1,29 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#define _GNU_SOURCE         /* See feature_test_macros(7) */
+#include <dlfcn.h>
+
+#include "wrappedlibs.h"
+
+#include "debug.h"
+#include "wrapper.h"
+#include "bridge.h"
+#include "librarian/library_private.h"
+#include "x64emu.h"
+#include "emu/x64emu_private.h"
+#include "callback.h"
+#include "librarian.h"
+#include "box64context.h"
+#include "emu/x64emu_private.h"
+#include "myalign.h"
+
+const char* icui18n72Name = "libicui18n.so.72";
+#define LIBNAME icui18n72
+
+#define CUSTOM_INIT \
+    SETALT(my72_);                          \
+    setNeededLibs(lib, 1, "libicuuc.so.72");
+
+#include "wrappedlib_init.h"
+
diff --git a/src/wrapped/wrappedicui18n72_private.h b/src/wrapped/wrappedicui18n72_private.h
new file mode 100644
index 00000000..eb6b84de
--- /dev/null
+++ b/src/wrapped/wrappedicui18n72_private.h
@@ -0,0 +1,56 @@
+#if !(defined(GO) && defined(GOM) && defined(GO2) && defined(DATA))
+#error meh!
+#endif
+
+GO(ucal_add_72, vFpiip)
+GO(ucal_close_72, vFp)
+GO(ucal_get_72, iFpip)
+GO(ucal_getAttribute_72, iFpi)
+GO(ucal_getKeywordValuesForLocale_72, pFppCp)
+GO(ucal_getLimit_72, iFpiip)
+GO(ucal_getTimeZoneDisplayName_72, iFpippip)
+GO(ucal_open_72, pFpipip)
+GO(ucal_set_72, vFpii)
+
+GO(ucol_close_72, vFp)
+GO(ucol_closeElements_72, vFp)
+GO(ucol_getOffset_72, iFp)
+GO(ucol_getRules_72, pFpp)
+GO(ucol_getSortKey_72, iFppipi)
+GO(ucol_getStrength_72, iFp)
+GO(ucol_getVersion_72, vFpp)
+GO(ucol_next_72, iFpp)
+GO(ucol_previous_72, iFpp)
+GO(ucol_open_72, pFpp)
+GO(ucol_openElements_72, pFppip)
+GO(ucol_openRules_72, pFpiiipp)
+GO(ucol_safeClone_72, pFpppp)
+GO(ucol_setAttribute_72, vFpiip)
+GO(ucol_setVariableTop_72, uFppip)
+GO(ucol_strcoll_72, iFppipi)
+
+GO(udat_close_72, vFp)
+GO(udat_countSymbols_72, iFpi)
+GO(udat_getSymbols_72, iFpiipip)
+GO(udat_open_72, pFiippipip)
+GO(udat_setCalendar_72, vFpp)
+GO(udat_toPattern_72, iFpCpip)
+
+GO(unum_close_72, vFp)
+GO(unum_getAttribute_72, iFpi)
+GO(unum_getSymbol_72, iFpipip)
+GO(unum_open_72, pFipippp)
+GO(unum_toPattern_72, iFpCpip)
+
+GO(udatpg_close_72, vFp)
+GO(udatpg_getBestPattern_72, iFppipip)
+GO(udatpg_open_72, pFpp)
+
+GO(ulocdata_getCLDRVersion_72, vFpp)
+GO(ulocdata_getMeasurementSystem_72, iFpp)
+
+GO(usearch_close_72, vFp)
+GO(usearch_first_72, iFpp)
+GO(usearch_getMatchedLength_72, iFp)
+GO(usearch_last_72, iFpp)
+GO(usearch_openFromCollator_72, pFpipippp)
diff --git a/src/wrapped/wrappedicuuc72.c b/src/wrapped/wrappedicuuc72.c
new file mode 100644
index 00000000..65827801
--- /dev/null
+++ b/src/wrapped/wrappedicuuc72.c
@@ -0,0 +1,28 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#define _GNU_SOURCE         /* See feature_test_macros(7) */
+#include <dlfcn.h>
+
+#include "wrappedlibs.h"
+
+#include "debug.h"
+#include "wrapper.h"
+#include "bridge.h"
+#include "librarian/library_private.h"
+#include "x64emu.h"
+#include "emu/x64emu_private.h"
+#include "callback.h"
+#include "librarian.h"
+#include "box64context.h"
+#include "emu/x64emu_private.h"
+#include "myalign.h"
+
+const char* icuuc72Name = "libicuuc.so.72";
+#define LIBNAME icuuc72
+
+#define CUSTOM_INIT \
+    SETALT(my72_);                          \
+
+#include "wrappedlib_init.h"
+
diff --git a/src/wrapped/wrappedicuuc72_private.h b/src/wrapped/wrappedicuuc72_private.h
new file mode 100644
index 00000000..14064ed4
--- /dev/null
+++ b/src/wrapped/wrappedicuuc72_private.h
@@ -0,0 +1,58 @@
+#if !(defined(GO) && defined(GOM) && defined(GO2) && defined(DATA))
+#error meh!
+#endif
+
+GO(ucurr_forLocale_72, iFppip)
+GO(ucurr_getName_72, pFppippp)
+
+GO(uloc_canonicalize_72, iFppip)
+GO(uloc_countAvailable_72, iFv)
+GO(uloc_getAvailable_72, pFi)
+GO(uloc_getBaseName_72, iFppip)
+GO(uloc_getCharacterOrientation_72, iFpp)
+GO(uloc_getCountry_72, iFppip)
+GO(uloc_getDefault_72, pFv)
+GO(uloc_getDisplayCountry_72, iFpppip)
+GO(uloc_getDisplayLanguage_72, iFpppip)
+GO(uloc_getDisplayName_72, iFpppip)
+GO(uloc_getISO3Country_72, pFp)
+GO(uloc_getISO3Language_72, pFp)
+GO(uloc_getKeywordValue_72, iFppip)
+GO(uloc_getLanguage_72, iFppip)
+GO(uloc_getLCID_72, uFp)
+GO(uloc_getName_72, iFppip)
+GO(uloc_getParent_72, iFppip)
+GO(uloc_setKeywordValue_72, iFpppip)
+
+GO(ures_close_72, vFp)
+GO(ures_getByKey_72, pFpppp)
+GO(ures_getSize_72, iFp)
+GO(ures_getStringByIndex_72, pFpipp)
+GO(ures_open_72, pFppp)
+
+GO(uldn_close_72, vFp)
+GO(uldn_keyValueDisplayName_72, iFppppip)
+GO(uldn_open_72, pFpip)
+
+GO(uenum_close_72, vFp)
+GO(uenum_count_72, iFpp)
+GO(uenum_next_72, pFppp)
+
+GO(uidna_close_72, vFp)
+GO(uidna_nameToASCII_72, iFppipipp)
+GO(uidna_nameToUnicode_72, iFppipipp)
+GO(uidna_openUTS46_72, pFpp)
+
+GO(unorm2_getNFCInstance_72, pFp)
+GO(unorm2_getNFDInstance_72, pFp)
+GO(unorm2_getNFKCInstance_72, pFp)
+GO(unorm2_getNFKDInstance_72, pFp)
+GO(unorm2_isNormalized_72, CFppip)
+GO(unorm2_normalize_72, iFppipip)
+
+GO(u_charsToUChars_72, vFppi)
+GO(u_getVersion_72, vFp)
+GO(u_strlen_72, iFp)
+GO(u_strncpy_72, pFppi)
+GO(u_tolower_72, uFu)
+GO(u_toupper_72, uFu)