diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2021-07-28 14:06:48 +0200 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2021-07-28 14:06:48 +0200 |
| commit | eb5bebb34408669f1e0bcca4f3004472e830a3dd (patch) | |
| tree | f9dde22bb677341efaceef79bc37580592fcc608 /src | |
| parent | 296ee1bacaa99f4aca8c2f80238a47935029d72c (diff) | |
| download | box64-eb5bebb34408669f1e0bcca4f3004472e830a3dd.tar.gz box64-eb5bebb34408669f1e0bcca4f3004472e830a3dd.zip | |
Added a new large batch of wrapped GL extensions (for #73)
Diffstat (limited to 'src')
| -rw-r--r-- | src/wrapped/generated/functions_list.txt | 40 | ||||
| -rw-r--r-- | src/wrapped/generated/wrappedlibgltypes.h | 5 | ||||
| -rw-r--r-- | src/wrapped/generated/wrapper.c | 94 | ||||
| -rw-r--r-- | src/wrapped/generated/wrapper.h | 37 | ||||
| -rwxr-xr-x | src/wrapped/wrappedlibgl.c | 36 | ||||
| -rwxr-xr-x | src/wrapped/wrappedlibgl_private.h | 154 |
6 files changed, 363 insertions, 3 deletions
diff --git a/src/wrapped/generated/functions_list.txt b/src/wrapped/generated/functions_list.txt index 1d0f75af..3ef95a33 100644 --- a/src/wrapped/generated/functions_list.txt +++ b/src/wrapped/generated/functions_list.txt @@ -38,6 +38,7 @@ #() uFu #() uFU #() uFd +#() uFl #() uFp #() UFv #() UFu @@ -87,6 +88,7 @@ #() vFuU #() vFuf #() vFud +#() vFul #() vFup #() vFUi #() vFfi @@ -209,6 +211,7 @@ #() vFEpp #() vFEpV #() vFiii +#() vFiiu #() vFiip #() vFiII #() vFiui @@ -354,6 +357,7 @@ #() uFppp #() UFppi #() fFuii +#() fFull #() fFfff #() fFffp #() fFppL @@ -430,6 +434,7 @@ #() vFiiii #() vFiiip #() vFiIII +#() vFiuiu #() vFiuip #() vFiuuu #() vFiulp @@ -438,9 +443,11 @@ #() vFiUUU #() vFifff #() vFiddd +#() vFilpp #() vFipii #() vFipup #() vFippi +#() vFippu #() vFippp #() vFuiii #() vFuiiu @@ -473,9 +480,11 @@ #() vFufff #() vFuddd #() vFulil +#() vFulip #() vFullp #() vFulpi #() vFulpu +#() vFulpp #() vFupii #() vFuppi #() vFUUpi @@ -699,6 +708,7 @@ #() vFiuipi #() vFiuuuu #() vFiulpp +#() vFiuppu #() vFiUUUU #() vFiffff #() vFidddd @@ -743,10 +753,13 @@ #() vFuuuup #() vFuuull #() vFuulll +#() vFuullp +#() vFuulpp #() vFuupii #() vFuffff #() vFudddd #() vFulill +#() vFullip #() vFupupi #() vFuppip #() vFupppp @@ -769,6 +782,7 @@ #() vFpppii #() vFpppip #() vFppppi +#() vFppppu #() vFppppp #() iFEiipV #() iFEippp @@ -910,10 +924,13 @@ #() vFEppppp #() vFiiiiii #() vFiiiuil +#() vFiiuiil +#() vFiililp #() vFiiplll #() vFiuippp #() vFiffiff #() vFiddidd +#() vFipllli #() vFuiiiii #() vFuiiiil #() vFuiiiip @@ -954,7 +971,9 @@ #() vFuddiip #() vFulilli #() vFulilll +#() vFulplup #() vFupupip +#() vFuppppu #() vFuppppp #() vFffffff #() vFdddddd @@ -998,6 +1017,7 @@ #() iFiiiLwp #() iFiuiipi #() iFipiipi +#() iFipuufp #() iFipupup #() iFipuppp #() iFuppppp @@ -1079,6 +1099,7 @@ #() vFiiiiuup #() vFiiupuip #() vFiiffffp +#() vFiipllli #() vFiupuuup #() vFuiiiiii #() vFuiiiuip @@ -1111,10 +1132,14 @@ #() vFuuudddd #() vFuuffiip #() vFuuddiip +#() vFuuppppu +#() vFuuppppp #() vFuffffff #() vFudddddd #() vFulillli +#() vFulipulp #() vFulpiill +#() vFlipuiip #() vFpiiiipp #() vFpiiliip #() vFpipipii @@ -1200,12 +1225,15 @@ #() vFiiiiuuip #() vFiupuiuup #() vFiupuuuup +#() vFilipufip #() vFuiiiiiii #() vFuiiiiill #() vFuiiiiuup #() vFuiiipiup #() vFuiuiiiii #() vFuiuiiiip +#() vFuiulplpp +#() vFuipuliuf #() vFuuiiiiii #() vFuuiiiuip #() vFuuiiiuup @@ -1217,7 +1245,9 @@ #() vFuuuipipp #() vFuuuuuuuu #() vFuuuuufff +#() vFulllplip #() vFffffffff +#() vFlipuiuip #() vFpippiiuu #() vFpippiipi #() vFppiiipii @@ -1232,6 +1262,8 @@ #() iFiiiiiiip #() iFiiupiupi #() iFuiifpppp +#() iFuipuuluf +#() iFullfpppp #() iFLLLLLLLL #() iFpiiiiipi #() iFpWCuWCuu @@ -1268,6 +1300,7 @@ #() vFuiiiiiiii #() vFuiiiiiuip #() vFuiiiiiuup +#() vFuiiiillli #() vFuiiilliip #() vFuiiillilp #() vFuiuiiiiip @@ -1282,6 +1315,7 @@ #() vFuffffffff #() vFffuuuufff #() vFddddddddd +#() vFlipuiuiip #() vFpipiuiipp #() vFpipppiipi #() vFppiiipiii @@ -1295,6 +1329,7 @@ #() iFiiiiiiiip #() iFiiiipiiip #() iFipiipippi +#() iFuilpluluf #() iFdddpppppp #() iFpipLpiiip #() iFpLLLLLLLL @@ -1322,6 +1357,7 @@ #() vFuiiiiiiuup #() vFuiiiillllp #() vFuiuiiiiuup +#() vFuipulipiuf #() vFuuiiiiiiii #() vFuuiiiiiuip #() vFuuiiiiiuup @@ -1360,6 +1396,7 @@ #() vFuiuiiiiiuup #() vFuuiuiiiiuup #() vFuuuuuuuuuuu +#() vFuuupupppppp #() vFuuffiiffiip #() vFuufffffffff #() vFuuddiiddiip @@ -1738,7 +1775,10 @@ wrappedlibgl: - glXGetProcAddressARB - vFpp: - glDebugMessageCallback + - glDebugMessageCallbackAMD - glDebugMessageCallbackARB +- vFipp: + - glProgramCallbackMESA wrappedlibglu: - vFpip: - gluNurbsCallback diff --git a/src/wrapped/generated/wrappedlibgltypes.h b/src/wrapped/generated/wrappedlibgltypes.h index 0cba72ae..2ac13804 100644 --- a/src/wrapped/generated/wrappedlibgltypes.h +++ b/src/wrapped/generated/wrappedlibgltypes.h @@ -13,11 +13,14 @@ typedef void* (*pFp_t)(void*); typedef void (*vFpp_t)(void*, void*); +typedef void (*vFipp_t)(int64_t, void*, void*); #define SUPER() ADDED_FUNCTIONS() \ GO(glXGetProcAddress, pFp_t) \ GO(glXGetProcAddressARB, pFp_t) \ GO(glDebugMessageCallback, vFpp_t) \ - GO(glDebugMessageCallbackARB, vFpp_t) + GO(glDebugMessageCallbackAMD, vFpp_t) \ + GO(glDebugMessageCallbackARB, vFpp_t) \ + GO(glProgramCallbackMESA, vFipp_t) #endif // __wrappedlibglTYPES_H_ diff --git a/src/wrapped/generated/wrapper.c b/src/wrapped/generated/wrapper.c index 5a66530f..04e5b64a 100644 --- a/src/wrapped/generated/wrapper.c +++ b/src/wrapped/generated/wrapper.c @@ -72,6 +72,7 @@ typedef uint64_t (*uFi_t)(int64_t); typedef uint64_t (*uFu_t)(uint64_t); typedef uint64_t (*uFU_t)(uint64_t); typedef uint64_t (*uFd_t)(double); +typedef uint64_t (*uFl_t)(intptr_t); typedef uint64_t (*uFp_t)(void*); typedef uint64_t (*UFv_t)(void); typedef uint64_t (*UFu_t)(uint64_t); @@ -121,6 +122,7 @@ typedef void (*vFuu_t)(uint64_t, uint64_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 (*vFul_t)(uint64_t, intptr_t); typedef void (*vFup_t)(uint64_t, void*); typedef void (*vFUi_t)(uint64_t, int64_t); typedef void (*vFfi_t)(float, int64_t); @@ -243,6 +245,7 @@ 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)(int64_t, int64_t, int64_t); +typedef void (*vFiiu_t)(int64_t, int64_t, uint64_t); typedef void (*vFiip_t)(int64_t, int64_t, void*); typedef void (*vFiII_t)(int64_t, int64_t, int64_t); typedef void (*vFiui_t)(int64_t, uint64_t, int64_t); @@ -388,6 +391,7 @@ 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 (*fFull_t)(uint64_t, intptr_t, intptr_t); typedef float (*fFfff_t)(float, float, float); typedef float (*fFffp_t)(float, float, void*); typedef float (*fFppL_t)(void*, void*, uintptr_t); @@ -464,6 +468,7 @@ typedef void (*vFEppp_t)(x64emu_t*, void*, void*, void*); 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 (*vFiIII_t)(int64_t, int64_t, int64_t, int64_t); +typedef void (*vFiuiu_t)(int64_t, uint64_t, int64_t, uint64_t); 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 (*vFiulp_t)(int64_t, uint64_t, intptr_t, void*); @@ -472,9 +477,11 @@ typedef void (*vFiupV_t)(int64_t, uint64_t, void*, void*); typedef void (*vFiUUU_t)(int64_t, uint64_t, uint64_t, uint64_t); typedef void (*vFifff_t)(int64_t, float, float, float); typedef void (*vFiddd_t)(int64_t, double, double, double); +typedef void (*vFilpp_t)(int64_t, intptr_t, void*, void*); typedef void (*vFipii_t)(int64_t, void*, int64_t, int64_t); typedef void (*vFipup_t)(int64_t, void*, uint64_t, void*); typedef void (*vFippi_t)(int64_t, void*, void*, int64_t); +typedef void (*vFippu_t)(int64_t, void*, void*, uint64_t); typedef void (*vFippp_t)(int64_t, void*, void*, void*); typedef void (*vFuiii_t)(uint64_t, int64_t, int64_t, int64_t); typedef void (*vFuiiu_t)(uint64_t, int64_t, int64_t, uint64_t); @@ -507,9 +514,11 @@ 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 (*vFulil_t)(uint64_t, intptr_t, int64_t, intptr_t); +typedef void (*vFulip_t)(uint64_t, intptr_t, int64_t, void*); typedef void (*vFullp_t)(uint64_t, intptr_t, intptr_t, void*); typedef void (*vFulpi_t)(uint64_t, intptr_t, void*, int64_t); typedef void (*vFulpu_t)(uint64_t, intptr_t, void*, uint64_t); +typedef void (*vFulpp_t)(uint64_t, intptr_t, void*, void*); typedef void (*vFupii_t)(uint64_t, void*, int64_t, int64_t); typedef void (*vFuppi_t)(uint64_t, void*, void*, int64_t); typedef void (*vFUUpi_t)(uint64_t, uint64_t, void*, int64_t); @@ -733,6 +742,7 @@ 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 (*vFiulpp_t)(int64_t, uint64_t, intptr_t, void*, void*); +typedef void (*vFiuppu_t)(int64_t, uint64_t, void*, void*, uint64_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); @@ -777,10 +787,13 @@ 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 (*vFuuull_t)(uint64_t, uint64_t, uint64_t, intptr_t, intptr_t); typedef void (*vFuulll_t)(uint64_t, uint64_t, intptr_t, intptr_t, intptr_t); +typedef void (*vFuullp_t)(uint64_t, uint64_t, intptr_t, intptr_t, void*); +typedef void (*vFuulpp_t)(uint64_t, uint64_t, intptr_t, void*, 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 (*vFulill_t)(uint64_t, intptr_t, int64_t, intptr_t, intptr_t); +typedef void (*vFullip_t)(uint64_t, intptr_t, intptr_t, int64_t, void*); 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*); @@ -803,6 +816,7 @@ typedef void (*vFppuui_t)(void*, void*, uint64_t, uint64_t, int64_t); typedef void (*vFpppii_t)(void*, void*, void*, int64_t, int64_t); typedef void (*vFpppip_t)(void*, void*, void*, int64_t, void*); typedef void (*vFppppi_t)(void*, void*, void*, void*, int64_t); +typedef void (*vFppppu_t)(void*, void*, void*, void*, uint64_t); typedef void (*vFppppp_t)(void*, void*, void*, void*, void*); typedef int64_t (*iFEiipV_t)(x64emu_t*, int64_t, int64_t, void*, void*); typedef int64_t (*iFEippp_t)(x64emu_t*, int64_t, void*, void*, void*); @@ -944,10 +958,13 @@ typedef void (*vFEpLLpp_t)(x64emu_t*, void*, uintptr_t, uintptr_t, void*, void*) typedef void (*vFEppppp_t)(x64emu_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 (*vFiiuiil_t)(int64_t, int64_t, uint64_t, int64_t, int64_t, intptr_t); +typedef void (*vFiililp_t)(int64_t, int64_t, intptr_t, int64_t, intptr_t, void*); typedef void (*vFiiplll_t)(int64_t, int64_t, void*, intptr_t, intptr_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 (*vFipllli_t)(int64_t, void*, intptr_t, intptr_t, intptr_t, int64_t); typedef void (*vFuiiiii_t)(uint64_t, int64_t, int64_t, int64_t, int64_t, int64_t); typedef void (*vFuiiiil_t)(uint64_t, int64_t, int64_t, int64_t, int64_t, intptr_t); typedef void (*vFuiiiip_t)(uint64_t, int64_t, int64_t, int64_t, int64_t, void*); @@ -988,7 +1005,9 @@ 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 (*vFulilli_t)(uint64_t, intptr_t, int64_t, intptr_t, intptr_t, int64_t); typedef void (*vFulilll_t)(uint64_t, intptr_t, int64_t, intptr_t, intptr_t, intptr_t); +typedef void (*vFulplup_t)(uint64_t, intptr_t, void*, intptr_t, uint64_t, void*); typedef void (*vFupupip_t)(uint64_t, void*, uint64_t, void*, int64_t, void*); +typedef void (*vFuppppu_t)(uint64_t, void*, void*, void*, void*, uint64_t); 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); @@ -1032,6 +1051,7 @@ typedef int64_t (*iFiiiiip_t)(int64_t, int64_t, int64_t, int64_t, int64_t, void* typedef int64_t (*iFiiiLwp_t)(int64_t, int64_t, int64_t, uintptr_t, int16_t, void*); typedef int64_t (*iFiuiipi_t)(int64_t, uint64_t, int64_t, int64_t, void*, int64_t); typedef int64_t (*iFipiipi_t)(int64_t, void*, int64_t, int64_t, void*, int64_t); +typedef int64_t (*iFipuufp_t)(int64_t, void*, uint64_t, uint64_t, float, void*); typedef int64_t (*iFipupup_t)(int64_t, void*, uint64_t, void*, uint64_t, void*); typedef int64_t (*iFipuppp_t)(int64_t, void*, uint64_t, void*, void*, void*); typedef int64_t (*iFuppppp_t)(uint64_t, void*, void*, void*, void*, void*); @@ -1113,6 +1133,7 @@ typedef void (*vFiiiiiip_t)(int64_t, int64_t, int64_t, int64_t, int64_t, int64_t 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 (*vFiipllli_t)(int64_t, int64_t, void*, intptr_t, intptr_t, intptr_t, int64_t); 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*); @@ -1145,10 +1166,14 @@ typedef void (*vFuuuffff_t)(uint64_t, uint64_t, uint64_t, float, float, float, f 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 (*vFuuppppu_t)(uint64_t, uint64_t, void*, void*, void*, void*, uint64_t); +typedef void (*vFuuppppp_t)(uint64_t, uint64_t, void*, void*, void*, void*, 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 (*vFulillli_t)(uint64_t, intptr_t, int64_t, intptr_t, intptr_t, intptr_t, int64_t); +typedef void (*vFulipulp_t)(uint64_t, intptr_t, int64_t, void*, uint64_t, intptr_t, void*); typedef void (*vFulpiill_t)(uint64_t, intptr_t, void*, int64_t, int64_t, intptr_t, intptr_t); +typedef void (*vFlipuiip_t)(intptr_t, int64_t, void*, uint64_t, int64_t, int64_t, void*); typedef void (*vFpiiiipp_t)(void*, int64_t, int64_t, int64_t, int64_t, void*, void*); 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); @@ -1234,12 +1259,15 @@ typedef void* (*pFppppppp_t)(void*, void*, void*, void*, void*, void*, void*); 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 (*vFilipufip_t)(int64_t, intptr_t, int64_t, void*, uint64_t, float, int64_t, void*); typedef void (*vFuiiiiiii_t)(uint64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t, int64_t); typedef void (*vFuiiiiill_t)(uint64_t, int64_t, int64_t, int64_t, int64_t, int64_t, intptr_t, intptr_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 (*vFuiulplpp_t)(uint64_t, int64_t, uint64_t, intptr_t, void*, intptr_t, void*, void*); +typedef void (*vFuipuliuf_t)(uint64_t, int64_t, void*, uint64_t, intptr_t, int64_t, uint64_t, float); 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*); @@ -1251,7 +1279,9 @@ typedef void (*vFuuuiuiii_t)(uint64_t, uint64_t, uint64_t, int64_t, uint64_t, in 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 (*vFulllplip_t)(uint64_t, intptr_t, intptr_t, intptr_t, void*, intptr_t, int64_t, void*); typedef void (*vFffffffff_t)(float, float, float, float, float, float, float, float); +typedef void (*vFlipuiuip_t)(intptr_t, int64_t, void*, uint64_t, int64_t, uint64_t, int64_t, void*); 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); @@ -1266,6 +1296,8 @@ typedef int64_t (*iFEppppipp_t)(x64emu_t*, void*, void*, void*, void*, int64_t, 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 (*iFuipuuluf_t)(uint64_t, int64_t, void*, uint64_t, uint64_t, intptr_t, uint64_t, float); +typedef int64_t (*iFullfpppp_t)(uint64_t, intptr_t, intptr_t, float, void*, void*, void*, void*); typedef int64_t (*iFLLLLLLLL_t)(uintptr_t, uintptr_t, uintptr_t, uintptr_t, uintptr_t, uintptr_t, uintptr_t, uintptr_t); typedef int64_t (*iFpiiiiipi_t)(void*, int64_t, int64_t, int64_t, int64_t, int64_t, void*, int64_t); typedef int64_t (*iFpWCuWCuu_t)(void*, uint16_t, uint8_t, uint64_t, uint16_t, uint8_t, uint64_t, uint64_t); @@ -1302,6 +1334,7 @@ typedef void (*vFiiiiillli_t)(int64_t, int64_t, int64_t, int64_t, int64_t, intpt 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 (*vFuiiiillli_t)(uint64_t, int64_t, int64_t, int64_t, int64_t, intptr_t, intptr_t, intptr_t, int64_t); typedef void (*vFuiiilliip_t)(uint64_t, int64_t, int64_t, int64_t, intptr_t, intptr_t, int64_t, int64_t, void*); typedef void (*vFuiiillilp_t)(uint64_t, int64_t, int64_t, int64_t, intptr_t, intptr_t, int64_t, intptr_t, void*); typedef void (*vFuiuiiiiip_t)(uint64_t, int64_t, uint64_t, int64_t, int64_t, int64_t, int64_t, int64_t, void*); @@ -1316,6 +1349,7 @@ typedef void (*vFuupiuiuuf_t)(uint64_t, uint64_t, void*, int64_t, uint64_t, int6 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 (*vFlipuiuiip_t)(intptr_t, int64_t, void*, uint64_t, int64_t, uint64_t, int64_t, int64_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); @@ -1329,6 +1363,7 @@ typedef int64_t (*iFEppPPPPPP_t)(x64emu_t*, void*, void*, void*, void*, void*, v 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 (*iFuilpluluf_t)(uint64_t, int64_t, intptr_t, void*, intptr_t, uint64_t, intptr_t, uint64_t, float); 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 (*iFpLLLLLLLL_t)(void*, uintptr_t, uintptr_t, uintptr_t, uintptr_t, uintptr_t, uintptr_t, uintptr_t, uintptr_t); @@ -1356,6 +1391,7 @@ typedef void (*vFuiiiiiiill_t)(uint64_t, int64_t, int64_t, int64_t, int64_t, int 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 (*vFuiiiillllp_t)(uint64_t, int64_t, int64_t, int64_t, int64_t, intptr_t, intptr_t, intptr_t, intptr_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 (*vFuipulipiuf_t)(uint64_t, int64_t, void*, uint64_t, intptr_t, int64_t, void*, int64_t, uint64_t, float); 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*); @@ -1394,6 +1430,7 @@ typedef void (*vFuiiiilllilp_t)(uint64_t, int64_t, int64_t, int64_t, int64_t, in 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 (*vFuuupupppppp_t)(uint64_t, uint64_t, uint64_t, void*, uint64_t, void*, void*, void*, void*, void*, void*); 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*); @@ -1512,6 +1549,7 @@ void uFi(x64emu_t *emu, uintptr_t fcn) { uFi_t fn = (uFi_t)fcn; R_RAX=(uint64_t) void uFu(x64emu_t *emu, uintptr_t fcn) { uFu_t fn = (uFu_t)fcn; R_RAX=(uint64_t)fn((uint64_t)R_RDI); } void uFU(x64emu_t *emu, uintptr_t fcn) { uFU_t fn = (uFU_t)fcn; R_RAX=(uint64_t)fn((uint64_t)R_RDI); } void uFd(x64emu_t *emu, uintptr_t fcn) { uFd_t fn = (uFd_t)fcn; R_RAX=(uint64_t)fn(emu->xmm[0].d[0]); } +void uFl(x64emu_t *emu, uintptr_t fcn) { uFl_t fn = (uFl_t)fcn; R_RAX=(uint64_t)fn((intptr_t)R_RDI); } void uFp(x64emu_t *emu, uintptr_t fcn) { uFp_t fn = (uFp_t)fcn; R_RAX=(uint64_t)fn((void*)R_RDI); } void UFv(x64emu_t *emu, uintptr_t fcn) { UFv_t fn = (UFv_t)fcn; R_RAX=fn(); } void UFu(x64emu_t *emu, uintptr_t fcn) { UFu_t fn = (UFu_t)fcn; R_RAX=fn((uint64_t)R_RDI); } @@ -1561,6 +1599,7 @@ void vFuu(x64emu_t *emu, uintptr_t fcn) { vFuu_t fn = (vFuu_t)fcn; fn((uint64_t) void vFuU(x64emu_t *emu, uintptr_t fcn) { vFuU_t fn = (vFuU_t)fcn; fn((uint64_t)R_RDI, (uint64_t)R_RSI); } void vFuf(x64emu_t *emu, uintptr_t fcn) { vFuf_t fn = (vFuf_t)fcn; fn((uint64_t)R_RDI, emu->xmm[0].f[0]); } void vFud(x64emu_t *emu, uintptr_t fcn) { vFud_t fn = (vFud_t)fcn; fn((uint64_t)R_RDI, emu->xmm[0].d[0]); } +void vFul(x64emu_t *emu, uintptr_t fcn) { vFul_t fn = (vFul_t)fcn; fn((uint64_t)R_RDI, (intptr_t)R_RSI); } void vFup(x64emu_t *emu, uintptr_t fcn) { vFup_t fn = (vFup_t)fcn; fn((uint64_t)R_RDI, (void*)R_RSI); } void vFUi(x64emu_t *emu, uintptr_t fcn) { vFUi_t fn = (vFUi_t)fcn; fn((uint64_t)R_RDI, (int64_t)R_RSI); } void vFfi(x64emu_t *emu, uintptr_t fcn) { vFfi_t fn = (vFfi_t)fcn; fn(emu->xmm[0].f[0], (int64_t)R_RDI); } @@ -1683,6 +1722,7 @@ void vFEpu(x64emu_t *emu, uintptr_t fcn) { vFEpu_t fn = (vFEpu_t)fcn; fn(emu, (v void vFEpp(x64emu_t *emu, uintptr_t fcn) { vFEpp_t fn = (vFEpp_t)fcn; fn(emu, (void*)R_RDI, (void*)R_RSI); } void vFEpV(x64emu_t *emu, uintptr_t fcn) { vFEpV_t fn = (vFEpV_t)fcn; fn(emu, (void*)R_RDI, (void*)(R_RSP + 8)); } void vFiii(x64emu_t *emu, uintptr_t fcn) { vFiii_t fn = (vFiii_t)fcn; fn((int64_t)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX); } +void vFiiu(x64emu_t *emu, uintptr_t fcn) { vFiiu_t fn = (vFiiu_t)fcn; fn((int64_t)R_RDI, (int64_t)R_RSI, (uint64_t)R_RDX); } void vFiip(x64emu_t *emu, uintptr_t fcn) { vFiip_t fn = (vFiip_t)fcn; fn((int64_t)R_RDI, (int64_t)R_RSI, (void*)R_RDX); } void vFiII(x64emu_t *emu, uintptr_t fcn) { vFiII_t fn = (vFiII_t)fcn; fn((int64_t)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX); } void vFiui(x64emu_t *emu, uintptr_t fcn) { vFiui_t fn = (vFiui_t)fcn; fn((int64_t)R_RDI, (uint64_t)R_RSI, (int64_t)R_RDX); } @@ -1828,6 +1868,7 @@ void uFppu(x64emu_t *emu, uintptr_t fcn) { uFppu_t fn = (uFppu_t)fcn; R_RAX=(uin void uFppp(x64emu_t *emu, uintptr_t fcn) { uFppp_t fn = (uFppp_t)fcn; R_RAX=(uint64_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX); } void UFppi(x64emu_t *emu, uintptr_t fcn) { UFppi_t fn = (UFppi_t)fcn; R_RAX=fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX); } void fFuii(x64emu_t *emu, uintptr_t fcn) { fFuii_t fn = (fFuii_t)fcn; emu->xmm[0].f[0]=fn((uint64_t)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX); } +void fFull(x64emu_t *emu, uintptr_t fcn) { fFull_t fn = (fFull_t)fcn; emu->xmm[0].f[0]=fn((uint64_t)R_RDI, (intptr_t)R_RSI, (intptr_t)R_RDX); } void fFfff(x64emu_t *emu, uintptr_t fcn) { fFfff_t fn = (fFfff_t)fcn; emu->xmm[0].f[0]=fn(emu->xmm[0].f[0], emu->xmm[1].f[0], emu->xmm[2].f[0]); } void fFffp(x64emu_t *emu, uintptr_t fcn) { fFffp_t fn = (fFffp_t)fcn; emu->xmm[0].f[0]=fn(emu->xmm[0].f[0], emu->xmm[1].f[0], (void*)R_RDI); } void fFppL(x64emu_t *emu, uintptr_t fcn) { fFppL_t fn = (fFppL_t)fcn; emu->xmm[0].f[0]=fn((void*)R_RDI, (void*)R_RSI, (uintptr_t)R_RDX); } @@ -1904,6 +1945,7 @@ void vFEppp(x64emu_t *emu, uintptr_t fcn) { vFEppp_t fn = (vFEppp_t)fcn; fn(emu, void vFiiii(x64emu_t *emu, uintptr_t fcn) { vFiiii_t fn = (vFiiii_t)fcn; fn((int64_t)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX); } void vFiiip(x64emu_t *emu, uintptr_t fcn) { vFiiip_t fn = (vFiiip_t)fcn; fn((int64_t)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (void*)R_RCX); } void vFiIII(x64emu_t *emu, uintptr_t fcn) { vFiIII_t fn = (vFiIII_t)fcn; fn((int64_t)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX); } +void vFiuiu(x64emu_t *emu, uintptr_t fcn) { vFiuiu_t fn = (vFiuiu_t)fcn; fn((int64_t)R_RDI, (uint64_t)R_RSI, (int64_t)R_RDX, (uint64_t)R_RCX); } void vFiuip(x64emu_t *emu, uintptr_t fcn) { vFiuip_t fn = (vFiuip_t)fcn; fn((int64_t)R_RDI, (uint64_t)R_RSI, (int64_t)R_RDX, (void*)R_RCX); } void vFiuuu(x64emu_t *emu, uintptr_t fcn) { vFiuuu_t fn = (vFiuuu_t)fcn; fn((int64_t)R_RDI, (uint64_t)R_RSI, (uint64_t)R_RDX, (uint64_t)R_RCX); } void vFiulp(x64emu_t *emu, uintptr_t fcn) { vFiulp_t fn = (vFiulp_t)fcn; fn((int64_t)R_RDI, (uint64_t)R_RSI, (intptr_t)R_RDX, (void*)R_RCX); } @@ -1912,9 +1954,11 @@ void vFiupV(x64emu_t *emu, uintptr_t fcn) { vFiupV_t fn = (vFiupV_t)fcn; fn((int void vFiUUU(x64emu_t *emu, uintptr_t fcn) { vFiUUU_t fn = (vFiUUU_t)fcn; fn((int64_t)R_RDI, (uint64_t)R_RSI, (uint64_t)R_RDX, (uint64_t)R_RCX); } void vFifff(x64emu_t *emu, uintptr_t fcn) { vFifff_t fn = (vFifff_t)fcn; fn((int64_t)R_RDI, emu->xmm[0].f[0], emu->xmm[1].f[0], emu->xmm[2].f[0]); } void vFiddd(x64emu_t *emu, uintptr_t fcn) { vFiddd_t fn = (vFiddd_t)fcn; fn((int64_t)R_RDI, emu->xmm[0].d[0], emu->xmm[1].d[0], emu->xmm[2].d[0]); } +void vFilpp(x64emu_t *emu, uintptr_t fcn) { vFilpp_t fn = (vFilpp_t)fcn; fn((int64_t)R_RDI, (intptr_t)R_RSI, (void*)R_RDX, (void*)R_RCX); } void vFipii(x64emu_t *emu, uintptr_t fcn) { vFipii_t fn = (vFipii_t)fcn; fn((int64_t)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX); } void vFipup(x64emu_t *emu, uintptr_t fcn) { vFipup_t fn = (vFipup_t)fcn; fn((int64_t)R_RDI, (void*)R_RSI, (uint64_t)R_RDX, (void*)R_RCX); } void vFippi(x64emu_t *emu, uintptr_t fcn) { vFippi_t fn = (vFippi_t)fcn; fn((int64_t)R_RDI, (void*)R_RSI, (void*)R_RDX, (int64_t)R_RCX); } +void vFippu(x64emu_t *emu, uintptr_t fcn) { vFippu_t fn = (vFippu_t)fcn; fn((int64_t)R_RDI, (void*)R_RSI, (void*)R_RDX, (uint64_t)R_RCX); } void vFippp(x64emu_t *emu, uintptr_t fcn) { vFippp_t fn = (vFippp_t)fcn; fn((int64_t)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX); } void vFuiii(x64emu_t *emu, uintptr_t fcn) { vFuiii_t fn = (vFuiii_t)fcn; fn((uint64_t)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX); } void vFuiiu(x64emu_t *emu, uintptr_t fcn) { vFuiiu_t fn = (vFuiiu_t)fcn; fn((uint64_t)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (uint64_t)R_RCX); } @@ -1947,9 +1991,11 @@ void vFuupp(x64emu_t *emu, uintptr_t fcn) { vFuupp_t fn = (vFuupp_t)fcn; fn((uin void vFufff(x64emu_t *emu, uintptr_t fcn) { vFufff_t fn = (vFufff_t)fcn; fn((uint64_t)R_RDI, emu->xmm[0].f[0], emu->xmm[1].f[0], emu->xmm[2].f[0]); } void vFuddd(x64emu_t *emu, uintptr_t fcn) { vFuddd_t fn = (vFuddd_t)fcn; fn((uint64_t)R_RDI, emu->xmm[0].d[0], emu->xmm[1].d[0], emu->xmm[2].d[0]); } void vFulil(x64emu_t *emu, uintptr_t fcn) { vFulil_t fn = (vFulil_t)fcn; fn((uint64_t)R_RDI, (intptr_t)R_RSI, (int64_t)R_RDX, (intptr_t)R_RCX); } +void vFulip(x64emu_t *emu, uintptr_t fcn) { vFulip_t fn = (vFulip_t)fcn; fn((uint64_t)R_RDI, (intptr_t)R_RSI, (int64_t)R_RDX, (void*)R_RCX); } void vFullp(x64emu_t *emu, uintptr_t fcn) { vFullp_t fn = (vFullp_t)fcn; fn((uint64_t)R_RDI, (intptr_t)R_RSI, (intptr_t)R_RDX, (void*)R_RCX); } void vFulpi(x64emu_t *emu, uintptr_t fcn) { vFulpi_t fn = (vFulpi_t)fcn; fn((uint64_t)R_RDI, (intptr_t)R_RSI, (void*)R_RDX, (int64_t)R_RCX); } void vFulpu(x64emu_t *emu, uintptr_t fcn) { vFulpu_t fn = (vFulpu_t)fcn; fn((uint64_t)R_RDI, (intptr_t)R_RSI, (void*)R_RDX, (uint64_t)R_RCX); } +void vFulpp(x64emu_t *emu, uintptr_t fcn) { vFulpp_t fn = (vFulpp_t)fcn; fn((uint64_t)R_RDI, (intptr_t)R_RSI, (void*)R_RDX, (void*)R_RCX); } void vFupii(x64emu_t *emu, uintptr_t fcn) { vFupii_t fn = (vFupii_t)fcn; fn((uint64_t)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX); } void vFuppi(x64emu_t *emu, uintptr_t fcn) { vFuppi_t fn = (vFuppi_t)fcn; fn((uint64_t)R_RDI, (void*)R_RSI, (void*)R_RDX, (int64_t)R_RCX); } void vFUUpi(x64emu_t *emu, uintptr_t fcn) { vFUUpi_t fn = (vFUUpi_t)fcn; fn((uint64_t)R_RDI, (uint64_t)R_RSI, (void*)R_RDX, (int64_t)R_RCX); } @@ -2173,6 +2219,7 @@ void vFiuiip(x64emu_t *emu, uintptr_t fcn) { vFiuiip_t fn = (vFiuiip_t)fcn; fn(( void vFiuipi(x64emu_t *emu, uintptr_t fcn) { vFiuipi_t fn = (vFiuipi_t)fcn; fn((int64_t)R_RDI, (uint64_t)R_RSI, (int64_t)R_RDX, (void*)R_RCX, (int64_t)R_R8); } void vFiuuuu(x64emu_t *emu, uintptr_t fcn) { vFiuuuu_t fn = (vFiuuuu_t)fcn; fn((int64_t)R_RDI, (uint64_t)R_RSI, (uint64_t)R_RDX, (uint64_t)R_RCX, (uint64_t)R_R8); } void vFiulpp(x64emu_t *emu, uintptr_t fcn) { vFiulpp_t fn = (vFiulpp_t)fcn; fn((int64_t)R_RDI, (uint64_t)R_RSI, (intptr_t)R_RDX, (void*)R_RCX, (void*)R_R8); } +void vFiuppu(x64emu_t *emu, uintptr_t fcn) { vFiuppu_t fn = (vFiuppu_t)fcn; fn((int64_t)R_RDI, (uint64_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (uint64_t)R_R8); } void vFiUUUU(x64emu_t *emu, uintptr_t fcn) { vFiUUUU_t fn = (vFiUUUU_t)fcn; fn((int64_t)R_RDI, (uint64_t)R_RSI, (uint64_t)R_RDX, (uint64_t)R_RCX, (uint64_t)R_R8); } void vFiffff(x64emu_t *emu, uintptr_t fcn) { vFiffff_t fn = (vFiffff_t)fcn; fn((int64_t)R_RDI, emu->xmm[0].f[0], emu->xmm[1].f[0], emu->xmm[2].f[0], emu->xmm[3].f[0]); } void vFidddd(x64emu_t *emu, uintptr_t fcn) { vFidddd_t fn = (vFidddd_t)fcn; fn((int64_t)R_RDI, emu->xmm[0].d[0], emu->xmm[1].d[0], emu->xmm[2].d[0], emu->xmm[3].d[0]); } @@ -2217,10 +2264,13 @@ void vFuuuuu(x64emu_t *emu, uintptr_t fcn) { vFuuuuu_t fn = (vFuuuuu_t)fcn; fn(( void vFuuuup(x64emu_t *emu, uintptr_t fcn) { vFuuuup_t fn = (vFuuuup_t)fcn; fn((uint64_t)R_RDI, (uint64_t)R_RSI, (uint64_t)R_RDX, (uint64_t)R_RCX, (void*)R_R8); } void vFuuull(x64emu_t *emu, uintptr_t fcn) { vFuuull_t fn = (vFuuull_t)fcn; fn((uint64_t)R_RDI, (uint64_t)R_RSI, (uint64_t)R_RDX, (intptr_t)R_RCX, (intptr_t)R_R8); } void vFuulll(x64emu_t *emu, uintptr_t fcn) { vFuulll_t fn = (vFuulll_t)fcn; fn((uint64_t)R_RDI, (uint64_t)R_RSI, (intptr_t)R_RDX, (intptr_t)R_RCX, (intptr_t)R_R8); } +void vFuullp(x64emu_t *emu, uintptr_t fcn) { vFuullp_t fn = (vFuullp_t)fcn; fn((uint64_t)R_RDI, (uint64_t)R_RSI, (intptr_t)R_RDX, (intptr_t)R_RCX, (void*)R_R8); } +void vFuulpp(x64emu_t *emu, uintptr_t fcn) { vFuulpp_t fn = (vFuulpp_t)fcn; fn((uint64_t)R_RDI, (uint64_t)R_RSI, (intptr_t)R_RDX, (void*)R_RCX, (void*)R_R8); } void vFuupii(x64emu_t *emu, uintptr_t fcn) { vFuupii_t fn = (vFuupii_t)fcn; fn((uint64_t)R_RDI, (uint64_t)R_RSI, (void*)R_RDX, (int64_t)R_RCX, (int64_t)R_R8); } void vFuffff(x64emu_t *emu, uintptr_t fcn) { vFuffff_t fn = (vFuffff_t)fcn; fn((uint64_t)R_RDI, emu->xmm[0].f[0], emu->xmm[1].f[0], emu->xmm[2].f[0], emu->xmm[3].f[0]); } void vFudddd(x64emu_t *emu, uintptr_t fcn) { vFudddd_t fn = (vFudddd_t)fcn; fn((uint64_t)R_RDI, emu->xmm[0].d[0], emu->xmm[1].d[0], emu->xmm[2].d[0], emu->xmm[3].d[0]); } void vFulill(x64emu_t *emu, uintptr_t fcn) { vFulill_t fn = (vFulill_t)fcn; fn((uint64_t)R_RDI, (intptr_t)R_RSI, (int64_t)R_RDX, (intptr_t)R_RCX, (intptr_t)R_R8); } +void vFullip(x64emu_t *emu, uintptr_t fcn) { vFullip_t fn = (vFullip_t)fcn; fn((uint64_t)R_RDI, (intptr_t)R_RSI, (intptr_t)R_RDX, (int64_t)R_RCX, (void*)R_R8); } void vFupupi(x64emu_t *emu, uintptr_t fcn) { vFupupi_t fn = (vFupupi_t)fcn; fn((uint64_t)R_RDI, (void*)R_RSI, (uint64_t)R_RDX, (void*)R_RCX, (int64_t)R_R8); } void vFuppip(x64emu_t *emu, uintptr_t fcn) { vFuppip_t fn = (vFuppip_t)fcn; fn((uint64_t)R_RDI, (void*)R_RSI, (void*)R_RDX, (int64_t)R_RCX, (void*)R_R8); } void vFupppp(x64emu_t *emu, uintptr_t fcn) { vFupppp_t fn = (vFupppp_t)fcn; fn((uint64_t)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8); } @@ -2243,6 +2293,7 @@ void vFppuui(x64emu_t *emu, uintptr_t fcn) { vFppuui_t fn = (vFppuui_t)fcn; fn(( void vFpppii(x64emu_t *emu, uintptr_t fcn) { vFpppii_t fn = (vFpppii_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int64_t)R_RCX, (int64_t)R_R8); } void vFpppip(x64emu_t *emu, uintptr_t fcn) { vFpppip_t fn = (vFpppip_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (int64_t)R_RCX, (void*)R_R8); } void vFppppi(x64emu_t *emu, uintptr_t fcn) { vFppppi_t fn = (vFppppi_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (int64_t)R_R8); } +void vFppppu(x64emu_t *emu, uintptr_t fcn) { vFppppu_t fn = (vFppppu_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (uint64_t)R_R8); } void vFppppp(x64emu_t *emu, uintptr_t fcn) { vFppppp_t fn = (vFppppp_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8); } void iFEiipV(x64emu_t *emu, uintptr_t fcn) { iFEiipV_t fn = (iFEiipV_t)fcn; R_RAX=(int64_t)fn(emu, (int64_t)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (void*)(R_RSP + 8)); } void iFEippp(x64emu_t *emu, uintptr_t fcn) { iFEippp_t fn = (iFEippp_t)fcn; R_RAX=(int64_t)fn(emu, (int64_t)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX); } @@ -2384,10 +2435,13 @@ void vFEpLLpp(x64emu_t *emu, uintptr_t fcn) { vFEpLLpp_t fn = (vFEpLLpp_t)fcn; f void vFEppppp(x64emu_t *emu, uintptr_t fcn) { vFEppppp_t fn = (vFEppppp_t)fcn; fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8); } void vFiiiiii(x64emu_t *emu, uintptr_t fcn) { vFiiiiii_t fn = (vFiiiiii_t)fcn; fn((int64_t)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9); } void vFiiiuil(x64emu_t *emu, uintptr_t fcn) { vFiiiuil_t fn = (vFiiiuil_t)fcn; fn((int64_t)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (uint64_t)R_RCX, (int64_t)R_R8, (intptr_t)R_R9); } +void vFiiuiil(x64emu_t *emu, uintptr_t fcn) { vFiiuiil_t fn = (vFiiuiil_t)fcn; fn((int64_t)R_RDI, (int64_t)R_RSI, (uint64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (intptr_t)R_R9); } +void vFiililp(x64emu_t *emu, uintptr_t fcn) { vFiililp_t fn = (vFiililp_t)fcn; fn((int64_t)R_RDI, (int64_t)R_RSI, (intptr_t)R_RDX, (int64_t)R_RCX, (intptr_t)R_R8, (void*)R_R9); } void vFiiplll(x64emu_t *emu, uintptr_t fcn) { vFiiplll_t fn = (vFiiplll_t)fcn; fn((int64_t)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (intptr_t)R_RCX, (intptr_t)R_R8, (intptr_t)R_R9); } void vFiuippp(x64emu_t *emu, uintptr_t fcn) { vFiuippp_t fn = (vFiuippp_t)fcn; fn((int64_t)R_RDI, (uint64_t)R_RSI, (int64_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9); } void vFiffiff(x64emu_t *emu, uintptr_t fcn) { vFiffiff_t fn = (vFiffiff_t)fcn; fn((int64_t)R_RDI, emu->xmm[0].f[0], emu->xmm[1].f[0], (int64_t)R_RSI, emu->xmm[2].f[0], emu->xmm[3].f[0]); } void vFiddidd(x64emu_t *emu, uintptr_t fcn) { vFiddidd_t fn = (vFiddidd_t)fcn; fn((int64_t)R_RDI, emu->xmm[0].d[0], emu->xmm[1].d[0], (int64_t)R_RSI, emu->xmm[2].d[0], emu->xmm[3].d[0]); } +void vFipllli(x64emu_t *emu, uintptr_t fcn) { vFipllli_t fn = (vFipllli_t)fcn; fn((int64_t)R_RDI, (void*)R_RSI, (intptr_t)R_RDX, (intptr_t)R_RCX, (intptr_t)R_R8, (int64_t)R_R9); } void vFuiiiii(x64emu_t *emu, uintptr_t fcn) { vFuiiiii_t fn = (vFuiiiii_t)fcn; fn((uint64_t)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9); } void vFuiiiil(x64emu_t *emu, uintptr_t fcn) { vFuiiiil_t fn = (vFuiiiil_t)fcn; fn((uint64_t)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (intptr_t)R_R9); } void vFuiiiip(x64emu_t *emu, uintptr_t fcn) { vFuiiiip_t fn = (vFuiiiip_t)fcn; fn((uint64_t)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (void*)R_R9); } @@ -2428,7 +2482,9 @@ void vFufffff(x64emu_t *emu, uintptr_t fcn) { vFufffff_t fn = (vFufffff_t)fcn; f void vFuddiip(x64emu_t *emu, uintptr_t fcn) { vFuddiip_t fn = (vFuddiip_t)fcn; fn((uint64_t)R_RDI, emu->xmm[0].d[0], emu->xmm[1].d[0], (int64_t)R_RSI, (int64_t)R_RDX, (void*)R_RCX); } void vFulilli(x64emu_t *emu, uintptr_t fcn) { vFulilli_t fn = (vFulilli_t)fcn; fn((uint64_t)R_RDI, (intptr_t)R_RSI, (int64_t)R_RDX, (intptr_t)R_RCX, (intptr_t)R_R8, (int64_t)R_R9); } void vFulilll(x64emu_t *emu, uintptr_t fcn) { vFulilll_t fn = (vFulilll_t)fcn; fn((uint64_t)R_RDI, (intptr_t)R_RSI, (int64_t)R_RDX, (intptr_t)R_RCX, (intptr_t)R_R8, (intptr_t)R_R9); } +void vFulplup(x64emu_t *emu, uintptr_t fcn) { vFulplup_t fn = (vFulplup_t)fcn; fn((uint64_t)R_RDI, (intptr_t)R_RSI, (void*)R_RDX, (intptr_t)R_RCX, (uint64_t)R_R8, (void*)R_R9); } void vFupupip(x64emu_t *emu, uintptr_t fcn) { vFupupip_t fn = (vFupupip_t)fcn; fn((uint64_t)R_RDI, (void*)R_RSI, (uint64_t)R_RDX, (void*)R_RCX, (int64_t)R_R8, (void*)R_R9); } +void vFuppppu(x64emu_t *emu, uintptr_t fcn) { vFuppppu_t fn = (vFuppppu_t)fcn; fn((uint64_t)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (uint64_t)R_R9); } void vFuppppp(x64emu_t *emu, uintptr_t fcn) { vFuppppp_t fn = (vFuppppp_t)fcn; fn((uint64_t)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9); } void vFffffff(x64emu_t *emu, uintptr_t fcn) { vFffffff_t fn = (vFffffff_t)fcn; fn(emu->xmm[0].f[0], emu->xmm[1].f[0], emu->xmm[2].f[0], emu->xmm[3].f[0], emu->xmm[4].f[0], emu->xmm[5].f[0]); } void vFdddddd(x64emu_t *emu, uintptr_t fcn) { vFdddddd_t fn = (vFdddddd_t)fcn; 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]); } @@ -2472,6 +2528,7 @@ void iFiiiiip(x64emu_t *emu, uintptr_t fcn) { iFiiiiip_t fn = (iFiiiiip_t)fcn; R void iFiiiLwp(x64emu_t *emu, uintptr_t fcn) { iFiiiLwp_t fn = (iFiiiLwp_t)fcn; R_RAX=(int64_t)fn((int64_t)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (uintptr_t)R_RCX, (int16_t)R_R8, (void*)R_R9); } void iFiuiipi(x64emu_t *emu, uintptr_t fcn) { iFiuiipi_t fn = (iFiuiipi_t)fcn; R_RAX=(int64_t)fn((int64_t)R_RDI, (uint64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (void*)R_R8, (int64_t)R_R9); } void iFipiipi(x64emu_t *emu, uintptr_t fcn) { iFipiipi_t fn = (iFipiipi_t)fcn; R_RAX=(int64_t)fn((int64_t)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (void*)R_R8, (int64_t)R_R9); } +void iFipuufp(x64emu_t *emu, uintptr_t fcn) { iFipuufp_t fn = (iFipuufp_t)fcn; R_RAX=(int64_t)fn((int64_t)R_RDI, (void*)R_RSI, (uint64_t)R_RDX, (uint64_t)R_RCX, emu->xmm[0].f[0], (void*)R_R8); } void iFipupup(x64emu_t *emu, uintptr_t fcn) { iFipupup_t fn = (iFipupup_t)fcn; R_RAX=(int64_t)fn((int64_t)R_RDI, (void*)R_RSI, (uint64_t)R_RDX, (void*)R_RCX, (uint64_t)R_R8, (void*)R_R9); } void iFipuppp(x64emu_t *emu, uintptr_t fcn) { iFipuppp_t fn = (iFipuppp_t)fcn; R_RAX=(int64_t)fn((int64_t)R_RDI, (void*)R_RSI, (uint64_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9); } void iFuppppp(x64emu_t *emu, uintptr_t fcn) { iFuppppp_t fn = (iFuppppp_t)fcn; R_RAX=(int64_t)fn((uint64_t)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9); } @@ -2553,6 +2610,7 @@ void vFiiiiiip(x64emu_t *emu, uintptr_t fcn) { vFiiiiiip_t fn = (vFiiiiiip_t)fcn void vFiiiiuup(x64emu_t *emu, uintptr_t fcn) { vFiiiiuup_t fn = (vFiiiiuup_t)fcn; fn((int64_t)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (uint64_t)R_R8, (uint64_t)R_R9, *(void**)(R_RSP + 8)); } void vFiiupuip(x64emu_t *emu, uintptr_t fcn) { vFiiupuip_t fn = (vFiiupuip_t)fcn; fn((int64_t)R_RDI, (int64_t)R_RSI, (uint64_t)R_RDX, (void*)R_RCX, (uint64_t)R_R8, (int64_t)R_R9, *(void**)(R_RSP + 8)); } void vFiiffffp(x64emu_t *emu, uintptr_t fcn) { vFiiffffp_t fn = (vFiiffffp_t)fcn; fn((int64_t)R_RDI, (int64_t)R_RSI, emu->xmm[0].f[0], emu->xmm[1].f[0], emu->xmm[2].f[0], emu->xmm[3].f[0], (void*)R_RDX); } +void vFiipllli(x64emu_t *emu, uintptr_t fcn) { vFiipllli_t fn = (vFiipllli_t)fcn; fn((int64_t)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (intptr_t)R_RCX, (intptr_t)R_R8, (intptr_t)R_R9, *(int64_t*)(R_RSP + 8)); } void vFiupuuup(x64emu_t *emu, uintptr_t fcn) { vFiupuuup_t fn = (vFiupuuup_t)fcn; fn((int64_t)R_RDI, (uint64_t)R_RSI, (void*)R_RDX, (uint64_t)R_RCX, (uint64_t)R_R8, (uint64_t)R_R9, *(void**)(R_RSP + 8)); } void vFuiiiiii(x64emu_t *emu, uintptr_t fcn) { vFuiiiiii_t fn = (vFuiiiiii_t)fcn; fn((uint64_t)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(int64_t*)(R_RSP + 8)); } void vFuiiiuip(x64emu_t *emu, uintptr_t fcn) { vFuiiiuip_t fn = (vFuiiiuip_t)fcn; fn((uint64_t)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (uint64_t)R_R8, (int64_t)R_R9, *(void**)(R_RSP + 8)); } @@ -2585,10 +2643,14 @@ void vFuuuffff(x64emu_t *emu, uintptr_t fcn) { vFuuuffff_t fn = (vFuuuffff_t)fcn void vFuuudddd(x64emu_t *emu, uintptr_t fcn) { vFuuudddd_t fn = (vFuuudddd_t)fcn; fn((uint64_t)R_RDI, (uint64_t)R_RSI, (uint64_t)R_RDX, emu->xmm[0].d[0], emu->xmm[1].d[0], emu->xmm[2].d[0], emu->xmm[3].d[0]); } void vFuuffiip(x64emu_t *emu, uintptr_t fcn) { vFuuffiip_t fn = (vFuuffiip_t)fcn; fn((uint64_t)R_RDI, (uint64_t)R_RSI, emu->xmm[0].f[0], emu->xmm[1].f[0], (int64_t)R_RDX, (int64_t)R_RCX, (void*)R_R8); } void vFuuddiip(x64emu_t *emu, uintptr_t fcn) { vFuuddiip_t fn = (vFuuddiip_t)fcn; fn((uint64_t)R_RDI, (uint64_t)R_RSI, emu->xmm[0].d[0], emu->xmm[1].d[0], (int64_t)R_RDX, (int64_t)R_RCX, (void*)R_R8); } +void vFuuppppu(x64emu_t *emu, uintptr_t fcn) { vFuuppppu_t fn = (vFuuppppu_t)fcn; fn((uint64_t)R_RDI, (uint64_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(uint64_t*)(R_RSP + 8)); } +void vFuuppppp(x64emu_t *emu, uintptr_t fcn) { vFuuppppp_t fn = (vFuuppppp_t)fcn; fn((uint64_t)R_RDI, (uint64_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); } void vFuffffff(x64emu_t *emu, uintptr_t fcn) { vFuffffff_t fn = (vFuffffff_t)fcn; fn((uint64_t)R_RDI, emu->xmm[0].f[0], emu->xmm[1].f[0], emu->xmm[2].f[0], emu->xmm[3].f[0], emu->xmm[4].f[0], emu->xmm[5].f[0]); } void vFudddddd(x64emu_t *emu, uintptr_t fcn) { vFudddddd_t fn = (vFudddddd_t)fcn; fn((uint64_t)R_RDI, emu->xmm[0].d[0], emu->xmm[1].d[0], emu->xmm[2].d[0], emu->xmm[3].d[0], emu->xmm[4].d[0], emu->xmm[5].d[0]); } void vFulillli(x64emu_t *emu, uintptr_t fcn) { vFulillli_t fn = (vFulillli_t)fcn; fn((uint64_t)R_RDI, (intptr_t)R_RSI, (int64_t)R_RDX, (intptr_t)R_RCX, (intptr_t)R_R8, (intptr_t)R_R9, *(int64_t*)(R_RSP + 8)); } +void vFulipulp(x64emu_t *emu, uintptr_t fcn) { vFulipulp_t fn = (vFulipulp_t)fcn; fn((uint64_t)R_RDI, (intptr_t)R_RSI, (int64_t)R_RDX, (void*)R_RCX, (uint64_t)R_R8, (intptr_t)R_R9, *(void**)(R_RSP + 8)); } void vFulpiill(x64emu_t *emu, uintptr_t fcn) { vFulpiill_t fn = (vFulpiill_t)fcn; fn((uint64_t)R_RDI, (intptr_t)R_RSI, (void*)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (intptr_t)R_R9, *(intptr_t*)(R_RSP + 8)); } +void vFlipuiip(x64emu_t *emu, uintptr_t fcn) { vFlipuiip_t fn = (vFlipuiip_t)fcn; fn((intptr_t)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (uint64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(void**)(R_RSP + 8)); } void vFpiiiipp(x64emu_t *emu, uintptr_t fcn) { vFpiiiipp_t fn = (vFpiiiipp_t)fcn; fn((void*)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); } void vFpiiliip(x64emu_t *emu, uintptr_t fcn) { vFpiiliip_t fn = (vFpiiliip_t)fcn; fn((void*)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (intptr_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(void**)(R_RSP + 8)); } void vFpipipii(x64emu_t *emu, uintptr_t fcn) { vFpipipii_t fn = (vFpipipii_t)fcn; fn((void*)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (int64_t)R_RCX, (void*)R_R8, (int64_t)R_R9, *(int64_t*)(R_RSP + 8)); } @@ -2674,12 +2736,15 @@ void pFppppppp(x64emu_t *emu, uintptr_t fcn) { pFppppppp_t fn = (pFppppppp_t)fcn void vFiiiiuuip(x64emu_t *emu, uintptr_t fcn) { vFiiiiuuip_t fn = (vFiiiiuuip_t)fcn; fn((int64_t)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (uint64_t)R_R8, (uint64_t)R_R9, *(int64_t*)(R_RSP + 8), *(void**)(R_RSP + 16)); } void vFiupuiuup(x64emu_t *emu, uintptr_t fcn) { vFiupuiuup_t fn = (vFiupuiuup_t)fcn; fn((int64_t)R_RDI, (uint64_t)R_RSI, (void*)R_RDX, (uint64_t)R_RCX, (int64_t)R_R8, (uint64_t)R_R9, *(uint64_t*)(R_RSP + 8), *(void**)(R_RSP + 16)); } void vFiupuuuup(x64emu_t *emu, uintptr_t fcn) { vFiupuuuup_t fn = (vFiupuuuup_t)fcn; fn((int64_t)R_RDI, (uint64_t)R_RSI, (void*)R_RDX, (uint64_t)R_RCX, (uint64_t)R_R8, (uint64_t)R_R9, *(uint64_t*)(R_RSP + 8), *(void**)(R_RSP + 16)); } +void vFilipufip(x64emu_t *emu, uintptr_t fcn) { vFilipufip_t fn = (vFilipufip_t)fcn; fn((int64_t)R_RDI, (intptr_t)R_RSI, (int64_t)R_RDX, (void*)R_RCX, (uint64_t)R_R8, emu->xmm[0].f[0], (int64_t)R_R9, *(void**)(R_RSP + 8)); } void vFuiiiiiii(x64emu_t *emu, uintptr_t fcn) { vFuiiiiiii_t fn = (vFuiiiiiii_t)fcn; fn((uint64_t)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(int64_t*)(R_RSP + 8), *(int64_t*)(R_RSP + 16)); } void vFuiiiiill(x64emu_t *emu, uintptr_t fcn) { vFuiiiiill_t fn = (vFuiiiiill_t)fcn; fn((uint64_t)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(intptr_t*)(R_RSP + 8), *(intptr_t*)(R_RSP + 16)); } void vFuiiiiuup(x64emu_t *emu, uintptr_t fcn) { vFuiiiiuup_t fn = (vFuiiiiuup_t)fcn; fn((uint64_t)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (uint64_t)R_R9, *(uint64_t*)(R_RSP + 8), *(void**)(R_RSP + 16)); } void vFuiiipiup(x64emu_t *emu, uintptr_t fcn) { vFuiiipiup_t fn = (vFuiiipiup_t)fcn; fn((uint64_t)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (void*)R_R8, (int64_t)R_R9, *(uint64_t*)(R_RSP + 8), *(void**)(R_RSP + 16)); } void vFuiuiiiii(x64emu_t *emu, uintptr_t fcn) { vFuiuiiiii_t fn = (vFuiuiiiii_t)fcn; fn((uint64_t)R_RDI, (int64_t)R_RSI, (uint64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(int64_t*)(R_RSP + 8), *(int64_t*)(R_RSP + 16)); } void vFuiuiiiip(x64emu_t *emu, uintptr_t fcn) { vFuiuiiiip_t fn = (vFuiuiiiip_t)fcn; fn((uint64_t)R_RDI, (int64_t)R_RSI, (uint64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(int64_t*)(R_RSP + 8), *(void**)(R_RSP + 16)); } +void vFuiulplpp(x64emu_t *emu, uintptr_t fcn) { vFuiulplpp_t fn = (vFuiulplpp_t)fcn; fn((uint64_t)R_RDI, (int64_t)R_RSI, (uint64_t)R_RDX, (intptr_t)R_RCX, (void*)R_R8, (intptr_t)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16)); } +void vFuipuliuf(x64emu_t *emu, uintptr_t fcn) { vFuipuliuf_t fn = (vFuipuliuf_t)fcn; fn((uint64_t)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (uint64_t)R_RCX, (intptr_t)R_R8, (int64_t)R_R9, *(uint64_t*)(R_RSP + 8), emu->xmm[0].f[0]); } void vFuuiiiiii(x64emu_t *emu, uintptr_t fcn) { vFuuiiiiii_t fn = (vFuuiiiiii_t)fcn; fn((uint64_t)R_RDI, (uint64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(int64_t*)(R_RSP + 8), *(int64_t*)(R_RSP + 16)); } void vFuuiiiuip(x64emu_t *emu, uintptr_t fcn) { vFuuiiiuip_t fn = (vFuuiiiuip_t)fcn; fn((uint64_t)R_RDI, (uint64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (uint64_t)R_R9, *(int64_t*)(R_RSP + 8), *(void**)(R_RSP + 16)); } void vFuuiiiuup(x64emu_t *emu, uintptr_t fcn) { vFuuiiiuup_t fn = (vFuuiiiuup_t)fcn; fn((uint64_t)R_RDI, (uint64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (uint64_t)R_R9, *(uint64_t*)(R_RSP + 8), *(void**)(R_RSP + 16)); } @@ -2691,7 +2756,9 @@ void vFuuuiuiii(x64emu_t *emu, uintptr_t fcn) { vFuuuiuiii_t fn = (vFuuuiuiii_t) void vFuuuipipp(x64emu_t *emu, uintptr_t fcn) { vFuuuipipp_t fn = (vFuuuipipp_t)fcn; fn((uint64_t)R_RDI, (uint64_t)R_RSI, (uint64_t)R_RDX, (int64_t)R_RCX, (void*)R_R8, (int64_t)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16)); } void vFuuuuuuuu(x64emu_t *emu, uintptr_t fcn) { vFuuuuuuuu_t fn = (vFuuuuuuuu_t)fcn; fn((uint64_t)R_RDI, (uint64_t)R_RSI, (uint64_t)R_RDX, (uint64_t)R_RCX, (uint64_t)R_R8, (uint64_t)R_R9, *(uint64_t*)(R_RSP + 8), *(uint64_t*)(R_RSP + 16)); } void vFuuuuufff(x64emu_t *emu, uintptr_t fcn) { vFuuuuufff_t fn = (vFuuuuufff_t)fcn; fn((uint64_t)R_RDI, (uint64_t)R_RSI, (uint64_t)R_RDX, (uint64_t)R_RCX, (uint64_t)R_R8, emu->xmm[0].f[0], emu->xmm[1].f[0], emu->xmm[2].f[0]); } +void vFulllplip(x64emu_t *emu, uintptr_t fcn) { vFulllplip_t fn = (vFulllplip_t)fcn; fn((uint64_t)R_RDI, (intptr_t)R_RSI, (intptr_t)R_RDX, (intptr_t)R_RCX, (void*)R_R8, (intptr_t)R_R9, *(int64_t*)(R_RSP + 8), *(void**)(R_RSP + 16)); } void vFffffffff(x64emu_t *emu, uintptr_t fcn) { vFffffffff_t fn = (vFffffffff_t)fcn; fn(emu->xmm[0].f[0], emu->xmm[1].f[0], emu->xmm[2].f[0], emu->xmm[3].f[0], emu->xmm[4].f[0], emu->xmm[5].f[0], emu->xmm[6].f[0], emu->xmm[7].f[0]); } +void vFlipuiuip(x64emu_t *emu, uintptr_t fcn) { vFlipuiuip_t fn = (vFlipuiuip_t)fcn; fn((intptr_t)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (uint64_t)R_RCX, (int64_t)R_R8, (uint64_t)R_R9, *(int64_t*)(R_RSP + 8), *(void**)(R_RSP + 16)); } void vFpippiiuu(x64emu_t *emu, uintptr_t fcn) { vFpippiiuu_t fn = (vFpippiiuu_t)fcn; fn((void*)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(uint64_t*)(R_RSP + 8), *(uint64_t*)(R_RSP + 16)); } void vFpippiipi(x64emu_t *emu, uintptr_t fcn) { vFpippiipi_t fn = (vFpippiipi_t)fcn; fn((void*)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(void**)(R_RSP + 8), *(int64_t*)(R_RSP + 16)); } void vFppiiipii(x64emu_t *emu, uintptr_t fcn) { vFppiiipii_t fn = (vFppiiipii_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (void*)R_R9, *(int64_t*)(R_RSP + 8), *(int64_t*)(R_RSP + 16)); } @@ -2706,6 +2773,8 @@ void iFEppppipp(x64emu_t *emu, uintptr_t fcn) { iFEppppipp_t fn = (iFEppppipp_t) void iFiiiiiiip(x64emu_t *emu, uintptr_t fcn) { iFiiiiiiip_t fn = (iFiiiiiiip_t)fcn; R_RAX=(int64_t)fn((int64_t)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(int64_t*)(R_RSP + 8), *(void**)(R_RSP + 16)); } void iFiiupiupi(x64emu_t *emu, uintptr_t fcn) { iFiiupiupi_t fn = (iFiiupiupi_t)fcn; R_RAX=(int64_t)fn((int64_t)R_RDI, (int64_t)R_RSI, (uint64_t)R_RDX, (void*)R_RCX, (int64_t)R_R8, (uint64_t)R_R9, *(void**)(R_RSP + 8), *(int64_t*)(R_RSP + 16)); } void iFuiifpppp(x64emu_t *emu, uintptr_t fcn) { iFuiifpppp_t fn = (iFuiifpppp_t)fcn; R_RAX=(int64_t)fn((uint64_t)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, emu->xmm[0].f[0], (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); } +void iFuipuuluf(x64emu_t *emu, uintptr_t fcn) { iFuipuuluf_t fn = (iFuipuuluf_t)fcn; R_RAX=(int64_t)fn((uint64_t)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (uint64_t)R_RCX, (uint64_t)R_R8, (intptr_t)R_R9, *(uint64_t*)(R_RSP + 8), emu->xmm[0].f[0]); } +void iFullfpppp(x64emu_t *emu, uintptr_t fcn) { iFullfpppp_t fn = (iFullfpppp_t)fcn; R_RAX=(int64_t)fn((uint64_t)R_RDI, (intptr_t)R_RSI, (intptr_t)R_RDX, emu->xmm[0].f[0], (void*)R_RCX, (void*)R_R8, (void*)R_R9, *(void**)(R_RSP + 8)); } void iFLLLLLLLL(x64emu_t *emu, uintptr_t fcn) { iFLLLLLLLL_t fn = (iFLLLLLLLL_t)fcn; R_RAX=(int64_t)fn((uintptr_t)R_RDI, (uintptr_t)R_RSI, (uintptr_t)R_RDX, (uintptr_t)R_RCX, (uintptr_t)R_R8, (uintptr_t)R_R9, *(uintptr_t*)(R_RSP + 8), *(uintptr_t*)(R_RSP + 16)); } void iFpiiiiipi(x64emu_t *emu, uintptr_t fcn) { iFpiiiiipi_t fn = (iFpiiiiipi_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(void**)(R_RSP + 8), *(int64_t*)(R_RSP + 16)); } void iFpWCuWCuu(x64emu_t *emu, uintptr_t fcn) { iFpWCuWCuu_t fn = (iFpWCuWCuu_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (uint16_t)R_RSI, (uint8_t)R_RDX, (uint64_t)R_RCX, (uint16_t)R_R8, (uint8_t)R_R9, *(uint64_t*)(R_RSP + 8), *(uint64_t*)(R_RSP + 16)); } @@ -2742,6 +2811,7 @@ void vFiiiiillli(x64emu_t *emu, uintptr_t fcn) { vFiiiiillli_t fn = (vFiiiiillli void vFuiiiiiiii(x64emu_t *emu, uintptr_t fcn) { vFuiiiiiiii_t fn = (vFuiiiiiiii_t)fcn; fn((uint64_t)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(int64_t*)(R_RSP + 8), *(int64_t*)(R_RSP + 16), *(int64_t*)(R_RSP + 24)); } void vFuiiiiiuip(x64emu_t *emu, uintptr_t fcn) { vFuiiiiiuip_t fn = (vFuiiiiiuip_t)fcn; fn((uint64_t)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(uint64_t*)(R_RSP + 8), *(int64_t*)(R_RSP + 16), *(void**)(R_RSP + 24)); } void vFuiiiiiuup(x64emu_t *emu, uintptr_t fcn) { vFuiiiiiuup_t fn = (vFuiiiiiuup_t)fcn; fn((uint64_t)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(uint64_t*)(R_RSP + 8), *(uint64_t*)(R_RSP + 16), *(void**)(R_RSP + 24)); } +void vFuiiiillli(x64emu_t *emu, uintptr_t fcn) { vFuiiiillli_t fn = (vFuiiiillli_t)fcn; fn((uint64_t)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (intptr_t)R_R9, *(intptr_t*)(R_RSP + 8), *(intptr_t*)(R_RSP + 16), *(int64_t*)(R_RSP + 24)); } void vFuiiilliip(x64emu_t *emu, uintptr_t fcn) { vFuiiilliip_t fn = (vFuiiilliip_t)fcn; fn((uint64_t)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (intptr_t)R_R8, (intptr_t)R_R9, *(int64_t*)(R_RSP + 8), *(int64_t*)(R_RSP + 16), *(void**)(R_RSP + 24)); } void vFuiiillilp(x64emu_t *emu, uintptr_t fcn) { vFuiiillilp_t fn = (vFuiiillilp_t)fcn; fn((uint64_t)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (intptr_t)R_R8, (intptr_t)R_R9, *(int64_t*)(R_RSP + 8), *(intptr_t*)(R_RSP + 16), *(void**)(R_RSP + 24)); } void vFuiuiiiiip(x64emu_t *emu, uintptr_t fcn) { vFuiuiiiiip_t fn = (vFuiuiiiiip_t)fcn; fn((uint64_t)R_RDI, (int64_t)R_RSI, (uint64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(int64_t*)(R_RSP + 8), *(int64_t*)(R_RSP + 16), *(void**)(R_RSP + 24)); } @@ -2756,6 +2826,7 @@ void vFuupiuiuuf(x64emu_t *emu, uintptr_t fcn) { vFuupiuiuuf_t fn = (vFuupiuiuuf void vFuffffffff(x64emu_t *emu, uintptr_t fcn) { vFuffffffff_t fn = (vFuffffffff_t)fcn; fn((uint64_t)R_RDI, emu->xmm[0].f[0], emu->xmm[1].f[0], emu->xmm[2].f[0], emu->xmm[3].f[0], emu->xmm[4].f[0], emu->xmm[5].f[0], emu->xmm[6].f[0], emu->xmm[7].f[0]); } void vFffuuuufff(x64emu_t *emu, uintptr_t fcn) { vFffuuuufff_t fn = (vFffuuuufff_t)fcn; fn(emu->xmm[0].f[0], emu->xmm[1].f[0], (uint64_t)R_RDI, (uint64_t)R_RSI, (uint64_t)R_RDX, (uint64_t)R_RCX, emu->xmm[2].f[0], emu->xmm[3].f[0], emu->xmm[4].f[0]); } void vFddddddddd(x64emu_t *emu, uintptr_t fcn) { vFddddddddd_t fn = (vFddddddddd_t)fcn; 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], emu->xmm[6].d[0], emu->xmm[7].d[0], *(double*)(R_RSP + 8)); } +void vFlipuiuiip(x64emu_t *emu, uintptr_t fcn) { vFlipuiuiip_t fn = (vFlipuiuiip_t)fcn; fn((intptr_t)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (uint64_t)R_RCX, (int64_t)R_R8, (uint64_t)R_R9, *(int64_t*)(R_RSP + 8), *(int64_t*)(R_RSP + 16), *(void**)(R_RSP + 24)); } void vFpipiuiipp(x64emu_t *emu, uintptr_t fcn) { vFpipiuiipp_t fn = (vFpipiuiipp_t)fcn; fn((void*)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (int64_t)R_RCX, (uint64_t)R_R8, (int64_t)R_R9, *(int64_t*)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24)); } void vFpipppiipi(x64emu_t *emu, uintptr_t fcn) { vFpipppiipi_t fn = (vFpipppiipi_t)fcn; fn((void*)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (int64_t)R_R9, *(int64_t*)(R_RSP + 8), *(void**)(R_RSP + 16), *(int64_t*)(R_RSP + 24)); } void vFppiiipiii(x64emu_t *emu, uintptr_t fcn) { vFppiiipiii_t fn = (vFppiiipiii_t)fcn; fn((void*)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (void*)R_R9, *(int64_t*)(R_RSP + 8), *(int64_t*)(R_RSP + 16), *(int64_t*)(R_RSP + 24)); } @@ -2769,6 +2840,7 @@ void iFEppPPPPPP(x64emu_t *emu, uintptr_t fcn) { iFEppPPPPPP_t fn = (iFEppPPPPPP void iFiiiiiiiip(x64emu_t *emu, uintptr_t fcn) { iFiiiiiiiip_t fn = (iFiiiiiiiip_t)fcn; R_RAX=(int64_t)fn((int64_t)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(int64_t*)(R_RSP + 8), *(int64_t*)(R_RSP + 16), *(void**)(R_RSP + 24)); } void iFiiiipiiip(x64emu_t *emu, uintptr_t fcn) { iFiiiipiiip_t fn = (iFiiiipiiip_t)fcn; R_RAX=(int64_t)fn((int64_t)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (void*)R_R8, (int64_t)R_R9, *(int64_t*)(R_RSP + 8), *(int64_t*)(R_RSP + 16), *(void**)(R_RSP + 24)); } void iFipiipippi(x64emu_t *emu, uintptr_t fcn) { iFipiipippi_t fn = (iFipiipippi_t)fcn; R_RAX=(int64_t)fn((int64_t)R_RDI, (void*)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (void*)R_R8, (int64_t)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16), *(int64_t*)(R_RSP + 24)); } +void iFuilpluluf(x64emu_t *emu, uintptr_t fcn) { iFuilpluluf_t fn = (iFuilpluluf_t)fcn; R_RAX=(int64_t)fn((uint64_t)R_RDI, (int64_t)R_RSI, (intptr_t)R_RDX, (void*)R_RCX, (intptr_t)R_R8, (uint64_t)R_R9, *(intptr_t*)(R_RSP + 8), *(uint64_t*)(R_RSP + 16), emu->xmm[0].f[0]); } void iFdddpppppp(x64emu_t *emu, uintptr_t fcn) { iFdddpppppp_t fn = (iFdddpppppp_t)fcn; R_RAX=(int64_t)fn(emu->xmm[0].d[0], emu->xmm[1].d[0], emu->xmm[2].d[0], (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9); } void iFpipLpiiip(x64emu_t *emu, uintptr_t fcn) { iFpipLpiiip_t fn = (iFpipLpiiip_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (uintptr_t)R_RCX, (void*)R_R8, (int64_t)R_R9, *(int64_t*)(R_RSP + 8), *(int64_t*)(R_RSP + 16), *(void**)(R_RSP + 24)); } void iFpLLLLLLLL(x64emu_t *emu, uintptr_t fcn) { iFpLLLLLLLL_t fn = (iFpLLLLLLLL_t)fcn; R_RAX=(int64_t)fn((void*)R_RDI, (uintptr_t)R_RSI, (uintptr_t)R_RDX, (uintptr_t)R_RCX, (uintptr_t)R_R8, (uintptr_t)R_R9, *(uintptr_t*)(R_RSP + 8), *(uintptr_t*)(R_RSP + 16), *(uintptr_t*)(R_RSP + 24)); } @@ -2796,6 +2868,7 @@ void vFuiiiiiiill(x64emu_t *emu, uintptr_t fcn) { vFuiiiiiiill_t fn = (vFuiiiiii void vFuiiiiiiuup(x64emu_t *emu, uintptr_t fcn) { vFuiiiiiiuup_t fn = (vFuiiiiiiuup_t)fcn; fn((uint64_t)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(int64_t*)(R_RSP + 8), *(uint64_t*)(R_RSP + 16), *(uint64_t*)(R_RSP + 24), *(void**)(R_RSP + 32)); } void vFuiiiillllp(x64emu_t *emu, uintptr_t fcn) { vFuiiiillllp_t fn = (vFuiiiillllp_t)fcn; fn((uint64_t)R_RDI, (int64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (intptr_t)R_R9, *(intptr_t*)(R_RSP + 8), *(intptr_t*)(R_RSP + 16), *(intptr_t*)(R_RSP + 24), *(void**)(R_RSP + 32)); } void vFuiuiiiiuup(x64emu_t *emu, uintptr_t fcn) { vFuiuiiiiuup_t fn = (vFuiuiiiiuup_t)fcn; fn((uint64_t)R_RDI, (int64_t)R_RSI, (uint64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(int64_t*)(R_RSP + 8), *(uint64_t*)(R_RSP + 16), *(uint64_t*)(R_RSP + 24), *(void**)(R_RSP + 32)); } +void vFuipulipiuf(x64emu_t *emu, uintptr_t fcn) { vFuipulipiuf_t fn = (vFuipulipiuf_t)fcn; fn((uint64_t)R_RDI, (int64_t)R_RSI, (void*)R_RDX, (uint64_t)R_RCX, (intptr_t)R_R8, (int64_t)R_R9, *(void**)(R_RSP + 8), *(int64_t*)(R_RSP + 16), *(uint64_t*)(R_RSP + 24), emu->xmm[0].f[0]); } void vFuuiiiiiiii(x64emu_t *emu, uintptr_t fcn) { vFuuiiiiiiii_t fn = (vFuuiiiiiiii_t)fcn; fn((uint64_t)R_RDI, (uint64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(int64_t*)(R_RSP + 8), *(int64_t*)(R_RSP + 16), *(int64_t*)(R_RSP + 24), *(int64_t*)(R_RSP + 32)); } void vFuuiiiiiuip(x64emu_t *emu, uintptr_t fcn) { vFuuiiiiiuip_t fn = (vFuuiiiiiuip_t)fcn; fn((uint64_t)R_RDI, (uint64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(int64_t*)(R_RSP + 8), *(uint64_t*)(R_RSP + 16), *(int64_t*)(R_RSP + 24), *(void**)(R_RSP + 32)); } void vFuuiiiiiuup(x64emu_t *emu, uintptr_t fcn) { vFuuiiiiiuup_t fn = (vFuuiiiiiuup_t)fcn; fn((uint64_t)R_RDI, (uint64_t)R_RSI, (int64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(int64_t*)(R_RSP + 8), *(uint64_t*)(R_RSP + 16), *(uint64_t*)(R_RSP + 24), *(void**)(R_RSP + 32)); } @@ -2834,6 +2907,7 @@ void vFuiiiilllilp(x64emu_t *emu, uintptr_t fcn) { vFuiiiilllilp_t fn = (vFuiiii void vFuiuiiiiiuup(x64emu_t *emu, uintptr_t fcn) { vFuiuiiiiiuup_t fn = (vFuiuiiiiiuup_t)fcn; fn((uint64_t)R_RDI, (int64_t)R_RSI, (uint64_t)R_RDX, (int64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(int64_t*)(R_RSP + 8), *(int64_t*)(R_RSP + 16), *(uint64_t*)(R_RSP + 24), *(uint64_t*)(R_RSP + 32), *(void**)(R_RSP + 40)); } void vFuuiuiiiiuup(x64emu_t *emu, uintptr_t fcn) { vFuuiuiiiiuup_t fn = (vFuuiuiiiiuup_t)fcn; fn((uint64_t)R_RDI, (uint64_t)R_RSI, (int64_t)R_RDX, (uint64_t)R_RCX, (int64_t)R_R8, (int64_t)R_R9, *(int64_t*)(R_RSP + 8), *(int64_t*)(R_RSP + 16), *(uint64_t*)(R_RSP + 24), *(uint64_t*)(R_RSP + 32), *(void**)(R_RSP + 40)); } void vFuuuuuuuuuuu(x64emu_t *emu, uintptr_t fcn) { vFuuuuuuuuuuu_t fn = (vFuuuuuuuuuuu_t)fcn; fn((uint64_t)R_RDI, (uint64_t)R_RSI, (uint64_t)R_RDX, (uint64_t)R_RCX, (uint64_t)R_R8, (uint64_t)R_R9, *(uint64_t*)(R_RSP + 8), *(uint64_t*)(R_RSP + 16), *(uint64_t*)(R_RSP + 24), *(uint64_t*)(R_RSP + 32), *(uint64_t*)(R_RSP + 40)); } +void vFuuupupppppp(x64emu_t *emu, uintptr_t fcn) { vFuuupupppppp_t fn = (vFuuupupppppp_t)fcn; fn((uint64_t)R_RDI, (uint64_t)R_RSI, (uint64_t)R_RDX, (void*)R_RCX, (uint64_t)R_R8, (void*)R_R9, *(void**)(R_RSP + 8), *(void**)(R_RSP + 16), *(void**)(R_RSP + 24), *(void**)(R_RSP + 32), *(void**)(R_RSP + 40)); } void vFuuffiiffiip(x64emu_t *emu, uintptr_t fcn) { vFuuffiiffiip_t fn = (vFuuffiiffiip_t)fcn; fn((uint64_t)R_RDI, (uint64_t)R_RSI, emu->xmm[0].f[0], emu->xmm[1].f[0], (int64_t)R_RDX, (int64_t)R_RCX, emu->xmm[2].f[0], emu->xmm[3].f[0], (int64_t)R_R8, (int64_t)R_R9, *(void**)(R_RSP + 8)); } void vFuufffffffff(x64emu_t *emu, uintptr_t fcn) { vFuufffffffff_t fn = (vFuufffffffff_t)fcn; fn((uint64_t)R_RDI, (uint64_t)R_RSI, emu->xmm[0].f[0], emu->xmm[1].f[0], emu->xmm[2].f[0], emu->xmm[3].f[0], emu->xmm[4].f[0], emu->xmm[5].f[0], emu->xmm[6].f[0], emu->xmm[7].f[0], *(float*)(R_RSP + 8)); } void vFuuddiiddiip(x64emu_t *emu, uintptr_t fcn) { vFuuddiiddiip_t fn = (vFuuddiiddiip_t)fcn; fn((uint64_t)R_RDI, (uint64_t)R_RSI, emu->xmm[0].d[0], emu->xmm[1].d[0], (int64_t)R_RDX, (int64_t)R_RCX, emu->xmm[2].d[0], emu->xmm[3].d[0], (int64_t)R_R8, (int64_t)R_R9, *(void**)(R_RSP + 8)); } @@ -2960,6 +3034,7 @@ int isSimpleWrapper(wrapper_t fun) { if (fun == &uFu) return 1; if (fun == &uFU) return 1; if (fun == &uFd) return 2; + if (fun == &uFl) return 1; if (fun == &uFp) return 1; if (fun == &UFv) return 1; if (fun == &UFu) return 1; @@ -3001,6 +3076,7 @@ int isSimpleWrapper(wrapper_t fun) { if (fun == &vFuU) return 1; if (fun == &vFuf) return 2; if (fun == &vFud) return 2; + if (fun == &vFul) return 1; if (fun == &vFup) return 1; if (fun == &vFUi) return 1; if (fun == &vFfi) return 2; @@ -3102,6 +3178,7 @@ int isSimpleWrapper(wrapper_t fun) { if (fun == &pFpL) return 1; if (fun == &pFpp) return 1; if (fun == &vFiii) return 1; + if (fun == &vFiiu) return 1; if (fun == &vFiip) return 1; if (fun == &vFiII) return 1; if (fun == &vFiui) return 1; @@ -3229,6 +3306,7 @@ int isSimpleWrapper(wrapper_t fun) { if (fun == &uFppp) return 1; if (fun == &UFppi) return 1; if (fun == &fFuii) return -1; + if (fun == &fFull) return -1; if (fun == &fFfff) return -4; if (fun == &fFffp) return -3; if (fun == &fFppL) return -1; @@ -3292,6 +3370,7 @@ int isSimpleWrapper(wrapper_t fun) { if (fun == &vFiiii) return 1; if (fun == &vFiiip) return 1; if (fun == &vFiIII) return 1; + if (fun == &vFiuiu) return 1; if (fun == &vFiuip) return 1; if (fun == &vFiuuu) return 1; if (fun == &vFiulp) return 1; @@ -3299,9 +3378,11 @@ int isSimpleWrapper(wrapper_t fun) { if (fun == &vFiUUU) return 1; if (fun == &vFifff) return 4; if (fun == &vFiddd) return 4; + if (fun == &vFilpp) return 1; if (fun == &vFipii) return 1; if (fun == &vFipup) return 1; if (fun == &vFippi) return 1; + if (fun == &vFippu) return 1; if (fun == &vFippp) return 1; if (fun == &vFuiii) return 1; if (fun == &vFuiiu) return 1; @@ -3334,9 +3415,11 @@ int isSimpleWrapper(wrapper_t fun) { if (fun == &vFufff) return 4; if (fun == &vFuddd) return 4; if (fun == &vFulil) return 1; + if (fun == &vFulip) return 1; if (fun == &vFullp) return 1; if (fun == &vFulpi) return 1; if (fun == &vFulpu) return 1; + if (fun == &vFulpp) return 1; if (fun == &vFupii) return 1; if (fun == &vFuppi) return 1; if (fun == &vFUUpi) return 1; @@ -3525,6 +3608,7 @@ int isSimpleWrapper(wrapper_t fun) { if (fun == &vFiuipi) return 1; if (fun == &vFiuuuu) return 1; if (fun == &vFiulpp) return 1; + if (fun == &vFiuppu) return 1; if (fun == &vFiUUUU) return 1; if (fun == &vFiffff) return 5; if (fun == &vFidddd) return 5; @@ -3569,10 +3653,13 @@ int isSimpleWrapper(wrapper_t fun) { if (fun == &vFuuuup) return 1; if (fun == &vFuuull) return 1; if (fun == &vFuulll) return 1; + if (fun == &vFuullp) return 1; + if (fun == &vFuulpp) return 1; if (fun == &vFuupii) return 1; if (fun == &vFuffff) return 5; if (fun == &vFudddd) return 5; if (fun == &vFulill) return 1; + if (fun == &vFullip) return 1; if (fun == &vFupupi) return 1; if (fun == &vFuppip) return 1; if (fun == &vFupppp) return 1; @@ -3595,6 +3682,7 @@ int isSimpleWrapper(wrapper_t fun) { if (fun == &vFpppii) return 1; if (fun == &vFpppip) return 1; if (fun == &vFppppi) return 1; + if (fun == &vFppppu) return 1; if (fun == &vFppppp) return 1; if (fun == &iFiiipu) return 1; if (fun == &iFiiipp) return 1; @@ -3707,10 +3795,13 @@ int isSimpleWrapper(wrapper_t fun) { if (fun == &pFppppp) return 1; if (fun == &vFiiiiii) return 1; if (fun == &vFiiiuil) return 1; + if (fun == &vFiiuiil) return 1; + if (fun == &vFiililp) return 1; if (fun == &vFiiplll) return 1; if (fun == &vFiuippp) return 1; if (fun == &vFiffiff) return 5; if (fun == &vFiddidd) return 5; + if (fun == &vFipllli) return 1; if (fun == &vFuiiiii) return 1; if (fun == &vFuiiiil) return 1; if (fun == &vFuiiiip) return 1; @@ -3751,7 +3842,9 @@ int isSimpleWrapper(wrapper_t fun) { if (fun == &vFuddiip) return 3; if (fun == &vFulilli) return 1; if (fun == &vFulilll) return 1; + if (fun == &vFulplup) return 1; if (fun == &vFupupip) return 1; + if (fun == &vFuppppu) return 1; if (fun == &vFuppppp) return 1; if (fun == &vFffffff) return 7; if (fun == &vFdddddd) return 7; @@ -3785,6 +3878,7 @@ int isSimpleWrapper(wrapper_t fun) { if (fun == &iFiiiLwp) return 1; if (fun == &iFiuiipi) return 1; if (fun == &iFipiipi) return 1; + if (fun == &iFipuufp) return 2; if (fun == &iFipupup) return 1; if (fun == &iFipuppp) return 1; if (fun == &iFuppppp) return 1; diff --git a/src/wrapped/generated/wrapper.h b/src/wrapped/generated/wrapper.h index 98a1df3d..b881218b 100644 --- a/src/wrapped/generated/wrapper.h +++ b/src/wrapped/generated/wrapper.h @@ -68,6 +68,7 @@ void uFi(x64emu_t *emu, uintptr_t fnc); void uFu(x64emu_t *emu, uintptr_t fnc); void uFU(x64emu_t *emu, uintptr_t fnc); void uFd(x64emu_t *emu, uintptr_t fnc); +void uFl(x64emu_t *emu, uintptr_t fnc); void uFp(x64emu_t *emu, uintptr_t fnc); void UFv(x64emu_t *emu, uintptr_t fnc); void UFu(x64emu_t *emu, uintptr_t fnc); @@ -117,6 +118,7 @@ void vFuu(x64emu_t *emu, uintptr_t fnc); void vFuU(x64emu_t *emu, uintptr_t fnc); void vFuf(x64emu_t *emu, uintptr_t fnc); void vFud(x64emu_t *emu, uintptr_t fnc); +void vFul(x64emu_t *emu, uintptr_t fnc); void vFup(x64emu_t *emu, uintptr_t fnc); void vFUi(x64emu_t *emu, uintptr_t fnc); void vFfi(x64emu_t *emu, uintptr_t fnc); @@ -239,6 +241,7 @@ void vFEpu(x64emu_t *emu, uintptr_t fnc); void vFEpp(x64emu_t *emu, uintptr_t fnc); void vFEpV(x64emu_t *emu, uintptr_t fnc); void vFiii(x64emu_t *emu, uintptr_t fnc); +void vFiiu(x64emu_t *emu, uintptr_t fnc); void vFiip(x64emu_t *emu, uintptr_t fnc); void vFiII(x64emu_t *emu, uintptr_t fnc); void vFiui(x64emu_t *emu, uintptr_t fnc); @@ -384,6 +387,7 @@ void uFppu(x64emu_t *emu, uintptr_t fnc); void uFppp(x64emu_t *emu, uintptr_t fnc); void UFppi(x64emu_t *emu, uintptr_t fnc); void fFuii(x64emu_t *emu, uintptr_t fnc); +void fFull(x64emu_t *emu, uintptr_t fnc); void fFfff(x64emu_t *emu, uintptr_t fnc); void fFffp(x64emu_t *emu, uintptr_t fnc); void fFppL(x64emu_t *emu, uintptr_t fnc); @@ -460,6 +464,7 @@ void vFEppp(x64emu_t *emu, uintptr_t fnc); void vFiiii(x64emu_t *emu, uintptr_t fnc); void vFiiip(x64emu_t *emu, uintptr_t fnc); void vFiIII(x64emu_t *emu, uintptr_t fnc); +void vFiuiu(x64emu_t *emu, uintptr_t fnc); void vFiuip(x64emu_t *emu, uintptr_t fnc); void vFiuuu(x64emu_t *emu, uintptr_t fnc); void vFiulp(x64emu_t *emu, uintptr_t fnc); @@ -468,9 +473,11 @@ void vFiupV(x64emu_t *emu, uintptr_t fnc); void vFiUUU(x64emu_t *emu, uintptr_t fnc); void vFifff(x64emu_t *emu, uintptr_t fnc); void vFiddd(x64emu_t *emu, uintptr_t fnc); +void vFilpp(x64emu_t *emu, uintptr_t fnc); void vFipii(x64emu_t *emu, uintptr_t fnc); void vFipup(x64emu_t *emu, uintptr_t fnc); void vFippi(x64emu_t *emu, uintptr_t fnc); +void vFippu(x64emu_t *emu, uintptr_t fnc); void vFippp(x64emu_t *emu, uintptr_t fnc); void vFuiii(x64emu_t *emu, uintptr_t fnc); void vFuiiu(x64emu_t *emu, uintptr_t fnc); @@ -503,9 +510,11 @@ void vFuupp(x64emu_t *emu, uintptr_t fnc); void vFufff(x64emu_t *emu, uintptr_t fnc); void vFuddd(x64emu_t *emu, uintptr_t fnc); void vFulil(x64emu_t *emu, uintptr_t fnc); +void vFulip(x64emu_t *emu, uintptr_t fnc); void vFullp(x64emu_t *emu, uintptr_t fnc); void vFulpi(x64emu_t *emu, uintptr_t fnc); void vFulpu(x64emu_t *emu, uintptr_t fnc); +void vFulpp(x64emu_t *emu, uintptr_t fnc); void vFupii(x64emu_t *emu, uintptr_t fnc); void vFuppi(x64emu_t *emu, uintptr_t fnc); void vFUUpi(x64emu_t *emu, uintptr_t fnc); @@ -729,6 +738,7 @@ void vFiuiip(x64emu_t *emu, uintptr_t fnc); void vFiuipi(x64emu_t *emu, uintptr_t fnc); void vFiuuuu(x64emu_t *emu, uintptr_t fnc); void vFiulpp(x64emu_t *emu, uintptr_t fnc); +void vFiuppu(x64emu_t *emu, uintptr_t fnc); void vFiUUUU(x64emu_t *emu, uintptr_t fnc); void vFiffff(x64emu_t *emu, uintptr_t fnc); void vFidddd(x64emu_t *emu, uintptr_t fnc); @@ -773,10 +783,13 @@ void vFuuuuu(x64emu_t *emu, uintptr_t fnc); void vFuuuup(x64emu_t *emu, uintptr_t fnc); void vFuuull(x64emu_t *emu, uintptr_t fnc); void vFuulll(x64emu_t *emu, uintptr_t fnc); +void vFuullp(x64emu_t *emu, uintptr_t fnc); +void vFuulpp(x64emu_t *emu, uintptr_t fnc); void vFuupii(x64emu_t *emu, uintptr_t fnc); void vFuffff(x64emu_t *emu, uintptr_t fnc); void vFudddd(x64emu_t *emu, uintptr_t fnc); void vFulill(x64emu_t *emu, uintptr_t fnc); +void vFullip(x64emu_t *emu, uintptr_t fnc); void vFupupi(x64emu_t *emu, uintptr_t fnc); void vFuppip(x64emu_t *emu, uintptr_t fnc); void vFupppp(x64emu_t *emu, uintptr_t fnc); @@ -799,6 +812,7 @@ void vFppuui(x64emu_t *emu, uintptr_t fnc); void vFpppii(x64emu_t *emu, uintptr_t fnc); void vFpppip(x64emu_t *emu, uintptr_t fnc); void vFppppi(x64emu_t *emu, uintptr_t fnc); +void vFppppu(x64emu_t *emu, uintptr_t fnc); void vFppppp(x64emu_t *emu, uintptr_t fnc); void iFEiipV(x64emu_t *emu, uintptr_t fnc); void iFEippp(x64emu_t *emu, uintptr_t fnc); @@ -940,10 +954,13 @@ void vFEpLLpp(x64emu_t *emu, uintptr_t fnc); void vFEppppp(x64emu_t *emu, uintptr_t fnc); void vFiiiiii(x64emu_t *emu, uintptr_t fnc); void vFiiiuil(x64emu_t *emu, uintptr_t fnc); +void vFiiuiil(x64emu_t *emu, uintptr_t fnc); +void vFiililp(x64emu_t *emu, uintptr_t fnc); void vFiiplll(x64emu_t *emu, uintptr_t fnc); void vFiuippp(x64emu_t *emu, uintptr_t fnc); void vFiffiff(x64emu_t *emu, uintptr_t fnc); void vFiddidd(x64emu_t *emu, uintptr_t fnc); +void vFipllli(x64emu_t *emu, uintptr_t fnc); void vFuiiiii(x64emu_t *emu, uintptr_t fnc); void vFuiiiil(x64emu_t *emu, uintptr_t fnc); void vFuiiiip(x64emu_t *emu, uintptr_t fnc); @@ -984,7 +1001,9 @@ void vFufffff(x64emu_t *emu, uintptr_t fnc); void vFuddiip(x64emu_t *emu, uintptr_t fnc); void vFulilli(x64emu_t *emu, uintptr_t fnc); void vFulilll(x64emu_t *emu, uintptr_t fnc); +void vFulplup(x64emu_t *emu, uintptr_t fnc); void vFupupip(x64emu_t *emu, uintptr_t fnc); +void vFuppppu(x64emu_t *emu, uintptr_t fnc); void vFuppppp(x64emu_t *emu, uintptr_t fnc); void vFffffff(x64emu_t *emu, uintptr_t fnc); void vFdddddd(x64emu_t *emu, uintptr_t fnc); @@ -1028,6 +1047,7 @@ void iFiiiiip(x64emu_t *emu, uintptr_t fnc); void iFiiiLwp(x64emu_t *emu, uintptr_t fnc); void iFiuiipi(x64emu_t *emu, uintptr_t fnc); void iFipiipi(x64emu_t *emu, uintptr_t fnc); +void iFipuufp(x64emu_t *emu, uintptr_t fnc); void iFipupup(x64emu_t *emu, uintptr_t fnc); void iFipuppp(x64emu_t *emu, uintptr_t fnc); void iFuppppp(x64emu_t *emu, uintptr_t fnc); @@ -1109,6 +1129,7 @@ void vFiiiiiip(x64emu_t *emu, uintptr_t fnc); void vFiiiiuup(x64emu_t *emu, uintptr_t fnc); void vFiiupuip(x64emu_t *emu, uintptr_t fnc); void vFiiffffp(x64emu_t *emu, uintptr_t fnc); +void vFiipllli(x64emu_t *emu, uintptr_t fnc); void vFiupuuup(x64emu_t *emu, uintptr_t fnc); void vFuiiiiii(x64emu_t *emu, uintptr_t fnc); void vFuiiiuip(x64emu_t *emu, uintptr_t fnc); @@ -1141,10 +1162,14 @@ void vFuuuffff(x64emu_t *emu, uintptr_t fnc); void vFuuudddd(x64emu_t *emu, uintptr_t fnc); void vFuuffiip(x64emu_t *emu, uintptr_t fnc); void vFuuddiip(x64emu_t *emu, uintptr_t fnc); +void vFuuppppu(x64emu_t *emu, uintptr_t fnc); +void vFuuppppp(x64emu_t *emu, uintptr_t fnc); void vFuffffff(x64emu_t *emu, uintptr_t fnc); void vFudddddd(x64emu_t *emu, uintptr_t fnc); void vFulillli(x64emu_t *emu, uintptr_t fnc); +void vFulipulp(x64emu_t *emu, uintptr_t fnc); void vFulpiill(x64emu_t *emu, uintptr_t fnc); +void vFlipuiip(x64emu_t *emu, uintptr_t fnc); void vFpiiiipp(x64emu_t *emu, uintptr_t fnc); void vFpiiliip(x64emu_t *emu, uintptr_t fnc); void vFpipipii(x64emu_t *emu, uintptr_t fnc); @@ -1230,12 +1255,15 @@ void pFppppppp(x64emu_t *emu, uintptr_t fnc); void vFiiiiuuip(x64emu_t *emu, uintptr_t fnc); void vFiupuiuup(x64emu_t *emu, uintptr_t fnc); void vFiupuuuup(x64emu_t *emu, uintptr_t fnc); +void vFilipufip(x64emu_t *emu, uintptr_t fnc); void vFuiiiiiii(x64emu_t *emu, uintptr_t fnc); void vFuiiiiill(x64emu_t *emu, uintptr_t fnc); void vFuiiiiuup(x64emu_t *emu, uintptr_t fnc); void vFuiiipiup(x64emu_t *emu, uintptr_t fnc); void vFuiuiiiii(x64emu_t *emu, uintptr_t fnc); void vFuiuiiiip(x64emu_t *emu, uintptr_t fnc); +void vFuiulplpp(x64emu_t *emu, uintptr_t fnc); +void vFuipuliuf(x64emu_t *emu, uintptr_t fnc); void vFuuiiiiii(x64emu_t *emu, uintptr_t fnc); void vFuuiiiuip(x64emu_t *emu, uintptr_t fnc); void vFuuiiiuup(x64emu_t *emu, uintptr_t fnc); @@ -1247,7 +1275,9 @@ void vFuuuiuiii(x64emu_t *emu, uintptr_t fnc); void vFuuuipipp(x64emu_t *emu, uintptr_t fnc); void vFuuuuuuuu(x64emu_t *emu, uintptr_t fnc); void vFuuuuufff(x64emu_t *emu, uintptr_t fnc); +void vFulllplip(x64emu_t *emu, uintptr_t fnc); void vFffffffff(x64emu_t *emu, uintptr_t fnc); +void vFlipuiuip(x64emu_t *emu, uintptr_t fnc); void vFpippiiuu(x64emu_t *emu, uintptr_t fnc); void vFpippiipi(x64emu_t *emu, uintptr_t fnc); void vFppiiipii(x64emu_t *emu, uintptr_t fnc); @@ -1262,6 +1292,8 @@ void iFEppppipp(x64emu_t *emu, uintptr_t fnc); void iFiiiiiiip(x64emu_t *emu, uintptr_t fnc); void iFiiupiupi(x64emu_t *emu, uintptr_t fnc); void iFuiifpppp(x64emu_t *emu, uintptr_t fnc); +void iFuipuuluf(x64emu_t *emu, uintptr_t fnc); +void iFullfpppp(x64emu_t *emu, uintptr_t fnc); void iFLLLLLLLL(x64emu_t *emu, uintptr_t fnc); void iFpiiiiipi(x64emu_t *emu, uintptr_t fnc); void iFpWCuWCuu(x64emu_t *emu, uintptr_t fnc); @@ -1298,6 +1330,7 @@ void vFiiiiillli(x64emu_t *emu, uintptr_t fnc); void vFuiiiiiiii(x64emu_t *emu, uintptr_t fnc); void vFuiiiiiuip(x64emu_t *emu, uintptr_t fnc); void vFuiiiiiuup(x64emu_t *emu, uintptr_t fnc); +void vFuiiiillli(x64emu_t *emu, uintptr_t fnc); void vFuiiilliip(x64emu_t *emu, uintptr_t fnc); void vFuiiillilp(x64emu_t *emu, uintptr_t fnc); void vFuiuiiiiip(x64emu_t *emu, uintptr_t fnc); @@ -1312,6 +1345,7 @@ void vFuupiuiuuf(x64emu_t *emu, uintptr_t fnc); void vFuffffffff(x64emu_t *emu, uintptr_t fnc); void vFffuuuufff(x64emu_t *emu, uintptr_t fnc); void vFddddddddd(x64emu_t *emu, uintptr_t fnc); +void vFlipuiuiip(x64emu_t *emu, uintptr_t fnc); void vFpipiuiipp(x64emu_t *emu, uintptr_t fnc); void vFpipppiipi(x64emu_t *emu, uintptr_t fnc); void vFppiiipiii(x64emu_t *emu, uintptr_t fnc); @@ -1325,6 +1359,7 @@ void iFEppPPPPPP(x64emu_t *emu, uintptr_t fnc); void iFiiiiiiiip(x64emu_t *emu, uintptr_t fnc); void iFiiiipiiip(x64emu_t *emu, uintptr_t fnc); void iFipiipippi(x64emu_t *emu, uintptr_t fnc); +void iFuilpluluf(x64emu_t *emu, uintptr_t fnc); void iFdddpppppp(x64emu_t *emu, uintptr_t fnc); void iFpipLpiiip(x64emu_t *emu, uintptr_t fnc); void iFpLLLLLLLL(x64emu_t *emu, uintptr_t fnc); @@ -1352,6 +1387,7 @@ void vFuiiiiiiill(x64emu_t *emu, uintptr_t fnc); void vFuiiiiiiuup(x64emu_t *emu, uintptr_t fnc); void vFuiiiillllp(x64emu_t *emu, uintptr_t fnc); void vFuiuiiiiuup(x64emu_t *emu, uintptr_t fnc); +void vFuipulipiuf(x64emu_t *emu, uintptr_t fnc); void vFuuiiiiiiii(x64emu_t *emu, uintptr_t fnc); void vFuuiiiiiuip(x64emu_t *emu, uintptr_t fnc); void vFuuiiiiiuup(x64emu_t *emu, uintptr_t fnc); @@ -1390,6 +1426,7 @@ void vFuiiiilllilp(x64emu_t *emu, uintptr_t fnc); void vFuiuiiiiiuup(x64emu_t *emu, uintptr_t fnc); void vFuuiuiiiiuup(x64emu_t *emu, uintptr_t fnc); void vFuuuuuuuuuuu(x64emu_t *emu, uintptr_t fnc); +void vFuuupupppppp(x64emu_t *emu, uintptr_t fnc); void vFuuffiiffiip(x64emu_t *emu, uintptr_t fnc); void vFuufffffffff(x64emu_t *emu, uintptr_t fnc); void vFuuddiiddiip(x64emu_t *emu, uintptr_t fnc); diff --git a/src/wrapped/wrappedlibgl.c b/src/wrapped/wrappedlibgl.c index 27ef1966..17fed02e 100755 --- a/src/wrapped/wrappedlibgl.c +++ b/src/wrapped/wrappedlibgl.c @@ -119,6 +119,28 @@ static void* find_debug_callback_Fct(void* fct) printf_log(LOG_NONE, "Warning, no more slot for libGL debug_callback callback\n"); return NULL; } +// program_callback ... +#define GO(A) \ +static uintptr_t my_program_callback_fct_##A = 0; \ +static void my_program_callback_##A(int32_t a, void* b) \ +{ \ + RunFunction(my_context, my_program_callback_fct_##A, 2, a, b); \ +} +SUPER() +#undef GO +static void* find_program_callback_Fct(void* fct) +{ + if(!fct) return fct; + if(GetNativeFnc((uintptr_t)fct)) return GetNativeFnc((uintptr_t)fct); + #define GO(A) if(my_program_callback_fct_##A == (uintptr_t)fct) return my_program_callback_##A; + SUPER() + #undef GO + #define GO(A) if(my_program_callback_fct_##A == 0) {my_program_callback_fct_##A = (uintptr_t)fct; return my_program_callback_##A; } + SUPER() + #undef GO + printf_log(LOG_NONE, "Warning, no more slot for libGL program_callback callback\n"); + return NULL; +} #undef SUPER EXPORT void my_glDebugMessageCallback(x64emu_t* emu, void* prod, void* param) @@ -134,6 +156,7 @@ EXPORT void my_glDebugMessageCallback(x64emu_t* emu, void* prod, void* param) DebugMessageCallback(find_debug_callback_Fct(prod), param); } EXPORT void my_glDebugMessageCallbackARB(x64emu_t* emu, void* prod, void* param) __attribute__((alias("my_glDebugMessageCallback"))); +EXPORT void my_glDebugMessageCallbackAMD(x64emu_t* emu, void* prod, void* param) __attribute__((alias("my_glDebugMessageCallback"))); EXPORT int my_glXSwapIntervalMESA(int interval) { @@ -148,6 +171,19 @@ EXPORT int my_glXSwapIntervalMESA(int interval) return SwapIntervalMESA(interval); } +EXPORT void my_glProgramCallbackMESA(x64emu_t* emu, void* f, void* data) +{ + static vFpp_t ProgramCallbackMESA = NULL; + static int init = 1; + if(init) { + ProgramCallbackMESA = my_context->glxprocaddress("glProgramCallbackMESA"); + init = 0; + } + if(!ProgramCallbackMESA) + return; + ProgramCallbackMESA(find_program_callback_Fct(f), data); +} + #define PRE_INIT if(libGL) {lib->priv.w.lib = dlopen(libGL, RTLD_LAZY | RTLD_GLOBAL); lib->path = strdup(libGL);} else #define CUSTOM_INIT \ lib->priv.w.priv = dlsym(lib->priv.w.lib, "glXGetProcAddress"); \ diff --git a/src/wrapped/wrappedlibgl_private.h b/src/wrapped/wrappedlibgl_private.h index baf617da..713c6c30 100755 --- a/src/wrapped/wrappedlibgl_private.h +++ b/src/wrapped/wrappedlibgl_private.h @@ -5,7 +5,7 @@ //3DFX_tbuffer GO(glTbufferMask3DFX,vFu) //AMD_debug_output -// GOM(glDebugMessageCallbackAMD,vFE?p) +GOM(glDebugMessageCallbackAMD,vFEpp) GO(glDebugMessageEnableAMD,vFuuipi) GO(glDebugMessageInsertAMD,vFuuuip) GO(glGetDebugMessageLogAMD,uFuippppp) @@ -2847,6 +2847,7 @@ GO(glGetTransformFeedbacki_v, vFuiup) GO(glGetTransformFeedbacki64_v, vFuiup) GO(glCreateBuffers, vFlp) GO(glNamedBufferStorage, vFulpu) +GO(glNamedBufferStorageEXT, vFulpu) GO(glNamedBufferData, vFulpi) GO(glNamedBufferSubData, vFullp) GO(glCopyNamedBufferSubData, vFuulll) @@ -2942,10 +2943,12 @@ GO(glGetQueryBufferObjectuiv, vFuuil) GO(glMemoryBarrierByRegion, vFu) GO(glGetTextureSubImage, vFuiiiillliilp) GO(glGetCompressedTextureSubImage, vFuiiiillllp) - //VERSION_4_6 GO(glSpecializeShader, vFippp) +GO(glTexturePageCommitmentEXT, vFuiiiillli) +GO(glVertexArrayVertexAttribDivisorEXT, vFuuu) + //GL_EXT_memory_object GO(glGetUnsignedBytei_vEXT, vFiup) GO(glGetUnsignedBytevEXT, vFip) @@ -2970,6 +2973,7 @@ GO(glDrawBufferRegion,vFuiiiiii) //GL_ARB_sparse_buffer GO(glBufferPageCommitmentARB, vFippi) GO(glNamedBufferPageCommitmentARB, vFuppi) +GO(glNamedBufferPageCommitmentEXT, vFuppi) //GL_ARB_sparse_texture GO(TexPageCommitmentARB, vFiiiiiiiii) @@ -3209,3 +3213,149 @@ GO(glGetVertexAttribLui64vARB, vFuip) GO(glEGLImageTargetTexture2DOES, vFip) GO(glEGLImageTargetRenderbufferStorageOES, vFip) +//GL_MESA_program_debug +GOM(glProgramCallbackMESA, vFEipp) +GO(glGetProgramRegisterfvMESA, vFilpp) + +//GL_????_ATI +GO(glBlendEquationSeparateATI, vFii) + +//GL_AMD_interleaved_elements +GO(glVertexAttribParameteriAMD, vFuii) + +//GL_AMD_occlusion_query_event +GO(glQueryObjectParameteruiAMD, vFiuiu) + +//GL_EXT_raster_multisample +GO(glRasterSamplesEXT, vFui) + +//GL_INTEL_performance_query +GO(glBeginPerfQueryINTEL, vFu) +GO(glCreatePerfQueryINTEL, vFup) +GO(glDeletePerfQueryINTEL, vFu) +GO(glEndPerfQueryINTEL, vFu) +GO(glGetFirstPerfQueryIdINTEL, vFp) +GO(glGetNextPerfQueryIdINTEL, vFup) +GO(glGetPerfCounterInfoINTEL, vFuuupupppppp) +GO(glGetPerfQueryDataINTEL, vFuulpp) +GO(glGetPerfQueryIdByNameINTEL, vFpp) +GO(glGetPerfQueryInfoINTEL, vFuuppppp) + +//GL_NV_bindless_multi_draw_indirect +GO(glMultiDrawArraysIndirectBindlessNV, vFipllli) +GO(glMultiDrawElementsIndirectBindlessCountNV, vFiipllli) + +//GL_NV_bindless_multi_draw_indirect_count +GO(glMultiDrawArraysIndirectBindlessCountNV, vFipllli) +GO(glMultiDrawElementsIndirectBindlessCountNV, vFiipllli) + +//GL_NV_blend_equation_advanced +GO(glBlendParameteriNV, vFii) +GO(glBlendBarrierNV, vFv) + +//GL_NV_command_list +GO(glCreateStatesNV, vFlp) +GO(glDeleteStatesNV, vFlp) +GO(glIsStateNV, iFu) +GO(glStateCaptureNV, vFui) +GO(glGetCommandHeaderNV, uFiu) +GO(glGetStageIndexNV, WFi) +GO(glDrawCommandsNV, vFiuppu) +GO(glDrawCommandsAddressNV, vFippu) +GO(glDrawCommandsStatesNV, vFuppppu) +GO(glDrawCommandsStatesAddressNV, vFppppu) +GO(glCreateCommandListsNV, vFlp) +GO(glDeleteCommandListsNV, vFlp) +GO(glIsCommandListNV, iFu) +GO(glListDrawCommandsStatesClientNV, vFuuppppu) +GO(glCommandListSegmentsNV, vFuu) +GO(glCompileCommandListNV, vFu) +GO(glCallCommandListNV, vFu) + +//GL_NV_conservative_raster +GO(glSubpixelPrecisionBiasNV, vFuu) + +//GL_NV_fragment_coverage_to_color +GO(glFragmentCoverageColorNV, vFu) + +//GL_NV_framebuffer_mixed_samples +GO(glCoverageModulationTableNV, vFlp) +GO(glGetCoverageModulationTableNV, vFlp) +GO(glCoverageModulationNV, vFi) + +//GL_NV_internalformat_sample_query +GO(glGetInternalformatSampleivNV, vFiililp) + +//GL_NV_path_rendering +GO(glGenPathsNV, uFl) +GO(glDeletePathsNV, vFul) +GO(glIsPathNV, iFu) +GO(glPathCommandsNV, vFulplup) +GO(glPathCoordsNV, vFulip) +GO(glPathSubCommandsNV, vFulllplip) +GO(glPathSubCoordsNV, vFullip) +GO(glPathStringNV, vFuilp) +GO(glPathGlyphsNV, vFuipulipiuf) +GO(glPathGlyphRangeNV, vFuipuliuf) +GO(glWeightPathsNV, vFulpp) +GO(glCopyPathNV, vFuu) +GO(glInterpolatePathsNV, vFuuuf) +GO(glTransformPathNV, vFuuip) +GO(glPathParameterivNV, vFuip) +GO(glPathParameteriNV, vFuii) +GO(glPathParameterfvNV, vFuip) +GO(glPathParameterfNV, vFuif) +GO(glPathDashArrayNV, vFulp) +GO(glPathStencilFuncNV, vFiiu) +GO(glPathStencilDepthOffsetNV, vFff) +GO(glStencilFillPathNV, vFuiu) +GO(glStencilStrokePathNV, vFuiu) +GO(glStencilFillPathInstancedNV, vFlipuiuip) +GO(glStencilStrokePathInstancedNV, vFlipuiuip) +GO(glPathCoverDepthFuncNV, vFi) +GO(glCoverFillPathNV, vFui) +GO(glCoverStrokePathNV, vFui) +GO(glCoverFillPathInstancedNV, vFlipuiip) +GO(glCoverStrokePathInstancedNV, vFlipuiip) +GO(glGetPathParameterivNV, vFuip) +GO(glGetPathParameterfvNV, vFuip) +GO(glGetPathCommandsNV, vFup) +GO(glGetPathCoordsNV, vFup) +GO(glGetPathDashArrayNV, vFup) +GO(glGetPathMetricsNV, vFulipulp) +GO(glGetPathMetricRangeNV, vFuullp) +GO(glGetPathSpacingNV, vFilipufip) +GO(glIsPointInFillPathNV, iFuuff) +GO(glIsPointInStrokePathNV, iFuff) +GO(glGetPathLengthNV, fFull) +GO(glPointAlongPathNV, iFullfpppp) +GO(glMatrixLoad3x2fNV, vFip) +GO(glMatrixLoad3x3fNV, vFip) +GO(glMatrixLoadTranspose3x3fNV, vFip) +GO(glMatrixMult3x2fNV, vFip) +GO(glMatrixMult3x3fNV, vFip) +GO(glMatrixMultTranspose3x3fNV, vFip) +GO(glStencilThenCoverFillPathNV, vFuiui) +GO(glStencilThenCoverStrokePathNV, vFuiui) +GO(glStencilThenCoverFillPathInstancedNV, vFlipuiuiip) +GO(glStencilThenCoverStrokePathInstancedNV, vFlipuiuiip) +GO(glPathGlyphIndexRangeNV, iFipuufp) +GO(glPathGlyphIndexArrayNV, iFuipuuluf) +GO(glPathMemoryGlyphIndexArrayNV, iFuilpluluf) +GO(glProgramPathFragmentInputGenNV, vFuiiip) +GO(glGetProgramResourcefvNV, vFuiulplpp) +GO(glPathColorGenNV, vFiiip) +GO(glPathTexGenNV, vFiiip) +GO(glPathFogGenNV, vFi) +GO(glGetPathColorGenivNV, vFiip) +GO(glGetPathColorGenfvNV, vFiip) +GO(glGetPathTexGenivNV, vFiip) +GO(glGetPathTexGenfvNV, vFiip) + +//GL_NV_sample_locations +GO(glFramebufferSampleLocationsfvNV, vFiulp) +GO(glNamedFramebufferSampleLocationsfvNV, vFuulp) +GO(glResolveDepthValuesNV, vFv) + +//GL_OVR_multiview +GO(glFramebufferTextureMultiviewOVR, vFiiuiil) |