#pragma once #define IBF_HASH_VALUE(name, val, val2) \ ((((RGPG##val)&0x03) << 0) | \ (((RGPG##val)&0x0C) << 2) | \ (((RGPG##val)&0x30) << 4) | \ (((RGPG##val)&0xC0) << 6) | \ (((RGCG##val2)&0x03) << 14) | \ (((RGCG##val2)&0x0C) << 8) | \ (((RGCG##val2)&0x30) << 2) | \ (((RGCG##val2)&0xC0) >> 4)); #pragma pack(push, 1) typedef WORD WzASM_IBF_HASH_T; struct IBF_HASH { # pragma warning(push) # pragma warning(disable:4307) # define DECL_IBF_HASH(name, tag, val) \ static const WzASM_IBF_HASH_T IBF_##name = IBF_HASH_VALUE(name, tag, val); DECL_IBF_HASH( PrepareEIP, 001, 001 ) DECL_IBF_HASH( CreateEIP, 002, 002 ) DECL_IBF_HASH( EIP_Init, 003, 003 ) DECL_IBF_HASH( EIP_ExecuteCode, 004, 004 ) DECL_IBF_HASH( EIP_Prefetch, 005, 005 ) DECL_IBF_HASH( EIP_Execute, 006, 006 ) DECL_IBF_HASH( EIP_FindAddress, 007, 007 ) DECL_IBF_HASH( ALLOCnCLEAR_MEMORY, 008, 008 ) DECL_IBF_HASH( malloc, 009, 009 ) DECL_IBF_HASH( ZeroMemory, 010, 010 ) DECL_IBF_HASH( CopyMemory, 011, 011 ) DECL_IBF_HASH( GetTickCount, 012, 012 ) DECL_IBF_HASH( free, 013, 013 ) DECL_IBF_HASH( RESERVED_IBF014, 014, 014 ) DECL_IBF_HASH( RESERVED_IBF015, 015, 015 ) DECL_IBF_HASH( GetMOLAVersion, 016, 016 ) DECL_IBF_HASH( CallGRESHandler, 017, 017 ) DECL_IBF_HASH( RESERVED_IBF018, 018, 018 ) DECL_IBF_HASH( RESERVED_IBF019, 019, 019 ) DECL_IBF_HASH( RESERVED_IBF020, 020, 020 ) DECL_IBF_HASH( RESERVED_IBF021, 021, 021 ) DECL_IBF_HASH( RESERVED_IBF022, 022, 022 ) DECL_IBF_HASH( RESERVED_IBF023, 023, 023 ) DECL_IBF_HASH( ITimeout_IsExpired, 024, 024 ) DECL_IBF_HASH( ITimeout_SetNextTimeout, 025, 025 ) DECL_IBF_HASH( ITimeout_SetNTCTB, 026, 026 ) DECL_IBF_HASH( RESERVED_IBF027, 027, 027 ) DECL_IBF_HASH( RESERVED_IBF028, 028, 028 ) DECL_IBF_HASH( RESERVED_IBF029, 029, 029 ) DECL_IBF_HASH( RESERVED_IBF030, 030, 030 ) DECL_IBF_HASH( RESERVED_IBF031, 031, 031 ) DECL_IBF_HASH( RESERVED_IBF032, 032, 032 ) DECL_IBF_HASH( RESERVED_IBF033, 033, 033 ) DECL_IBF_HASH( RESERVED_IBF034, 034, 034 ) DECL_IBF_HASH( RESERVED_IBF035, 035, 035 ) DECL_IBF_HASH( RESERVED_IBF036, 036, 036 ) DECL_IBF_HASH( RESERVED_IBF037, 037, 037 ) DECL_IBF_HASH( RESERVED_IBF038, 038, 038 ) DECL_IBF_HASH( RESERVED_IBF039, 039, 039 ) DECL_IBF_HASH( RESERVED_IBF040, 040, 040 ) DECL_IBF_HASH( RESERVED_IBF041, 041, 041 ) DECL_IBF_HASH( RESERVED_IBF042, 042, 042 ) DECL_IBF_HASH( RESERVED_IBF043, 043, 043 ) DECL_IBF_HASH( RESERVED_IBF044, 044, 044 ) DECL_IBF_HASH( RESERVED_IBF045, 045, 045 ) DECL_IBF_HASH( RESERVED_IBF046, 046, 046 ) DECL_IBF_HASH( RESERVED_IBF047, 047, 047 ) DECL_IBF_HASH( RESERVED_IBF048, 048, 048 ) DECL_IBF_HASH( RESERVED_IBF049, 049, 049 ) DECL_IBF_HASH( RESERVED_IBF050, 050, 050 ) DECL_IBF_HASH( RESERVED_IBF051, 051, 051 ) DECL_IBF_HASH( RESERVED_IBF052, 052, 052 ) DECL_IBF_HASH( RESERVED_IBF053, 053, 053 ) DECL_IBF_HASH( RESERVED_IBF054, 054, 054 ) DECL_IBF_HASH( RESERVED_IBF055, 055, 055 ) DECL_IBF_HASH( RESERVED_IBF056, 056, 056 ) DECL_IBF_HASH( RESERVED_IBF057, 057, 057 ) DECL_IBF_HASH( RESERVED_IBF058, 058, 058 ) DECL_IBF_HASH( RESERVED_IBF059, 059, 059 ) DECL_IBF_HASH( RESERVED_IBF060, 060, 060 ) DECL_IBF_HASH( RESERVED_IBF061, 061, 061 ) DECL_IBF_HASH( RESERVED_IBF062, 062, 062 ) DECL_IBF_HASH( RESERVED_IBF063, 063, 063 ) DECL_IBF_HASH( RESERVED_IBF064, 064, 064 ) DECL_IBF_HASH( RESERVED_IBF065, 065, 065 ) DECL_IBF_HASH( RESERVED_IBF066, 066, 066 ) DECL_IBF_HASH( RESERVED_IBF067, 067, 067 ) DECL_IBF_HASH( RESERVED_IBF068, 068, 068 ) DECL_IBF_HASH( RESERVED_IBF069, 069, 069 ) DECL_IBF_HASH( RESERVED_IBF070, 070, 070 ) DECL_IBF_HASH( RESERVED_IBF071, 071, 071 ) DECL_IBF_HASH( RESERVED_IBF072, 072, 072 ) DECL_IBF_HASH( RESERVED_IBF073, 073, 073 ) DECL_IBF_HASH( RESERVED_IBF074, 074, 074 ) DECL_IBF_HASH( RESERVED_IBF075, 075, 075 ) DECL_IBF_HASH( RESERVED_IBF076, 076, 076 ) DECL_IBF_HASH( RESERVED_IBF077, 077, 077 ) DECL_IBF_HASH( RESERVED_IBF078, 078, 078 ) DECL_IBF_HASH( RESERVED_IBF079, 079, 079 ) DECL_IBF_HASH( RESERVED_IBF080, 080, 080 ) DECL_IBF_HASH( RESERVED_IBF081, 081, 081 ) DECL_IBF_HASH( RESERVED_IBF082, 082, 082 ) DECL_IBF_HASH( RESERVED_IBF083, 083, 083 ) DECL_IBF_HASH( RESERVED_IBF084, 084, 084 ) DECL_IBF_HASH( RESERVED_IBF085, 085, 085 ) DECL_IBF_HASH( RESERVED_IBF086, 086, 086 ) DECL_IBF_HASH( RESERVED_IBF087, 087, 087 ) DECL_IBF_HASH( RESERVED_IBF088, 088, 088 ) DECL_IBF_HASH( RESERVED_IBF089, 089, 089 ) DECL_IBF_HASH( RESERVED_IBF090, 090, 090 ) DECL_IBF_HASH( RESERVED_IBF091, 091, 091 ) DECL_IBF_HASH( RESERVED_IBF092, 092, 092 ) DECL_IBF_HASH( RESERVED_IBF093, 093, 093 ) DECL_IBF_HASH( RESERVED_IBF094, 094, 094 ) DECL_IBF_HASH( RESERVED_IBF095, 095, 095 ) DECL_IBF_HASH( RESERVED_IBF096, 096, 096 ) DECL_IBF_HASH( RESERVED_IBF097, 097, 097 ) DECL_IBF_HASH( RESERVED_IBF098, 098, 098 ) DECL_IBF_HASH( RESERVED_IBF099, 099, 099 ) DECL_IBF_HASH( RESERVED_IBF100, 100, 100 ) DECL_IBF_HASH( RESERVED_IBF101, 101, 101 ) DECL_IBF_HASH( RESERVED_IBF102, 102, 102 ) DECL_IBF_HASH( RESERVED_IBF103, 103, 103 ) DECL_IBF_HASH( RESERVED_IBF104, 104, 104 ) DECL_IBF_HASH( RESERVED_IBF105, 105, 105 ) DECL_IBF_HASH( RESERVED_IBF106, 106, 106 ) DECL_IBF_HASH( RESERVED_IBF107, 107, 107 ) DECL_IBF_HASH( RESERVED_IBF108, 108, 108 ) DECL_IBF_HASH( RESERVED_IBF109, 109, 109 ) DECL_IBF_HASH( RESERVED_IBF110, 110, 110 ) DECL_IBF_HASH( RESERVED_IBF111, 111, 111 ) DECL_IBF_HASH( RESERVED_IBF112, 112, 112 ) DECL_IBF_HASH( RESERVED_IBF113, 113, 113 ) DECL_IBF_HASH( RESERVED_IBF114, 114, 114 ) DECL_IBF_HASH( RESERVED_IBF115, 115, 115 ) DECL_IBF_HASH( RESERVED_IBF116, 116, 116 ) DECL_IBF_HASH( RESERVED_IBF117, 117, 117 ) DECL_IBF_HASH( RESERVED_IBF118, 118, 118 ) DECL_IBF_HASH( RESERVED_IBF119, 119, 119 ) DECL_IBF_HASH( RESERVED_IBF120, 120, 120 ) DECL_IBF_HASH( RESERVED_IBF121, 121, 121 ) DECL_IBF_HASH( RESERVED_IBF122, 122, 122 ) DECL_IBF_HASH( RESERVED_IBF123, 123, 123 ) DECL_IBF_HASH( RESERVED_IBF124, 124, 124 ) DECL_IBF_HASH( RESERVED_IBF125, 125, 125 ) DECL_IBF_HASH( RESERVED_IBF126, 126, 126 ) DECL_IBF_HASH( RESERVED_IBF127, 127, 127 ) DECL_IBF_HASH( RESERVED_IBF128, 128, 128 ) DECL_IBF_HASH( RESERVED_IBF129, 129, 129 ) DECL_IBF_HASH( RESERVED_IBF130, 130, 130 ) DECL_IBF_HASH( RESERVED_IBF131, 131, 131 ) DECL_IBF_HASH( RESERVED_IBF132, 132, 132 ) DECL_IBF_HASH( RESERVED_IBF133, 133, 133 ) DECL_IBF_HASH( RESERVED_IBF134, 134, 134 ) DECL_IBF_HASH( RESERVED_IBF135, 135, 135 ) DECL_IBF_HASH( RESERVED_IBF136, 136, 136 ) DECL_IBF_HASH( RESERVED_IBF137, 137, 137 ) DECL_IBF_HASH( RESERVED_IBF138, 138, 138 ) DECL_IBF_HASH( RESERVED_IBF139, 139, 139 ) DECL_IBF_HASH( RESERVED_IBF140, 140, 140 ) DECL_IBF_HASH( RESERVED_IBF141, 141, 141 ) DECL_IBF_HASH( RESERVED_IBF142, 142, 142 ) DECL_IBF_HASH( RESERVED_IBF143, 143, 143 ) DECL_IBF_HASH( RESERVED_IBF144, 144, 144 ) DECL_IBF_HASH( RESERVED_IBF145, 145, 145 ) DECL_IBF_HASH( RESERVED_IBF146, 146, 146 ) DECL_IBF_HASH( RESERVED_IBF147, 147, 147 ) DECL_IBF_HASH( RESERVED_IBF148, 148, 148 ) DECL_IBF_HASH( RESERVED_IBF149, 149, 149 ) DECL_IBF_HASH( RESERVED_IBF150, 150, 150 ) DECL_IBF_HASH( RESERVED_IBF151, 151, 151 ) DECL_IBF_HASH( RESERVED_IBF152, 152, 152 ) DECL_IBF_HASH( RESERVED_IBF153, 153, 153 ) DECL_IBF_HASH( RESERVED_IBF154, 154, 154 ) DECL_IBF_HASH( RESERVED_IBF155, 155, 155 ) DECL_IBF_HASH( RESERVED_IBF156, 156, 156 ) DECL_IBF_HASH( RESERVED_IBF157, 157, 157 ) DECL_IBF_HASH( RESERVED_IBF158, 158, 158 ) DECL_IBF_HASH( RESERVED_IBF159, 159, 159 ) DECL_IBF_HASH( RESERVED_IBF160, 160, 160 ) DECL_IBF_HASH( RESERVED_IBF161, 161, 161 ) DECL_IBF_HASH( RESERVED_IBF162, 162, 162 ) DECL_IBF_HASH( RESERVED_IBF163, 163, 163 ) DECL_IBF_HASH( RESERVED_IBF164, 164, 164 ) DECL_IBF_HASH( RESERVED_IBF165, 165, 165 ) DECL_IBF_HASH( RESERVED_IBF166, 166, 166 ) DECL_IBF_HASH( RESERVED_IBF167, 167, 167 ) DECL_IBF_HASH( RESERVED_IBF168, 168, 168 ) DECL_IBF_HASH( RESERVED_IBF169, 169, 169 ) DECL_IBF_HASH( RESERVED_IBF170, 170, 170 ) DECL_IBF_HASH( RESERVED_IBF171, 171, 171 ) DECL_IBF_HASH( RESERVED_IBF172, 172, 172 ) DECL_IBF_HASH( RESERVED_IBF173, 173, 173 ) DECL_IBF_HASH( RESERVED_IBF174, 174, 174 ) DECL_IBF_HASH( RESERVED_IBF175, 175, 175 ) DECL_IBF_HASH( RESERVED_IBF176, 176, 176 ) DECL_IBF_HASH( RESERVED_IBF177, 177, 177 ) DECL_IBF_HASH( RESERVED_IBF178, 178, 178 ) DECL_IBF_HASH( RESERVED_IBF179, 179, 179 ) DECL_IBF_HASH( RESERVED_IBF180, 180, 180 ) DECL_IBF_HASH( RESERVED_IBF181, 181, 181 ) DECL_IBF_HASH( RESERVED_IBF182, 182, 182 ) DECL_IBF_HASH( RESERVED_IBF183, 183, 183 ) DECL_IBF_HASH( RESERVED_IBF184, 184, 184 ) DECL_IBF_HASH( RESERVED_IBF185, 185, 185 ) DECL_IBF_HASH( RESERVED_IBF186, 186, 186 ) DECL_IBF_HASH( RESERVED_IBF187, 187, 187 ) DECL_IBF_HASH( RESERVED_IBF188, 188, 188 ) DECL_IBF_HASH( RESERVED_IBF189, 189, 189 ) DECL_IBF_HASH( RESERVED_IBF190, 190, 190 ) DECL_IBF_HASH( RESERVED_IBF191, 191, 191 ) DECL_IBF_HASH( RESERVED_IBF192, 192, 192 ) DECL_IBF_HASH( RESERVED_IBF193, 193, 193 ) DECL_IBF_HASH( RESERVED_IBF194, 194, 194 ) DECL_IBF_HASH( RESERVED_IBF195, 195, 195 ) DECL_IBF_HASH( RESERVED_IBF196, 196, 196 ) DECL_IBF_HASH( RESERVED_IBF197, 197, 197 ) DECL_IBF_HASH( RESERVED_IBF198, 198, 198 ) DECL_IBF_HASH( RESERVED_IBF199, 199, 199 ) DECL_IBF_HASH( RESERVED_IBF200, 200, 200 ) DECL_IBF_HASH( RESERVED_IBF201, 201, 201 ) DECL_IBF_HASH( RESERVED_IBF202, 202, 202 ) DECL_IBF_HASH( RESERVED_IBF203, 203, 203 ) DECL_IBF_HASH( RESERVED_IBF204, 204, 204 ) DECL_IBF_HASH( RESERVED_IBF205, 205, 205 ) DECL_IBF_HASH( RESERVED_IBF206, 206, 206 ) DECL_IBF_HASH( RESERVED_IBF207, 207, 207 ) DECL_IBF_HASH( RESERVED_IBF208, 208, 208 ) DECL_IBF_HASH( RESERVED_IBF209, 209, 209 ) DECL_IBF_HASH( RESERVED_IBF210, 210, 210 ) DECL_IBF_HASH( RESERVED_IBF211, 211, 211 ) DECL_IBF_HASH( RESERVED_IBF212, 212, 212 ) DECL_IBF_HASH( RESERVED_IBF213, 213, 213 ) DECL_IBF_HASH( RESERVED_IBF214, 214, 214 ) DECL_IBF_HASH( RESERVED_IBF215, 215, 215 ) DECL_IBF_HASH( RESERVED_IBF216, 216, 216 ) DECL_IBF_HASH( RESERVED_IBF217, 217, 217 ) DECL_IBF_HASH( RESERVED_IBF218, 218, 218 ) DECL_IBF_HASH( RESERVED_IBF219, 219, 219 ) DECL_IBF_HASH( RESERVED_IBF220, 220, 220 ) DECL_IBF_HASH( RESERVED_IBF221, 221, 221 ) DECL_IBF_HASH( RESERVED_IBF222, 222, 222 ) DECL_IBF_HASH( RESERVED_IBF223, 223, 223 ) DECL_IBF_HASH( RESERVED_IBF224, 224, 224 ) DECL_IBF_HASH( RESERVED_IBF225, 225, 225 ) DECL_IBF_HASH( RESERVED_IBF226, 226, 226 ) DECL_IBF_HASH( RESERVED_IBF227, 227, 227 ) DECL_IBF_HASH( RESERVED_IBF228, 228, 228 ) DECL_IBF_HASH( RESERVED_IBF229, 229, 229 ) DECL_IBF_HASH( RESERVED_IBF230, 230, 230 ) DECL_IBF_HASH( RESERVED_IBF231, 231, 231 ) DECL_IBF_HASH( RESERVED_IBF232, 232, 232 ) DECL_IBF_HASH( RESERVED_IBF233, 233, 233 ) DECL_IBF_HASH( RESERVED_IBF234, 234, 234 ) DECL_IBF_HASH( RESERVED_IBF235, 235, 235 ) DECL_IBF_HASH( RESERVED_IBF236, 236, 236 ) DECL_IBF_HASH( RESERVED_IBF237, 237, 237 ) DECL_IBF_HASH( RESERVED_IBF238, 238, 238 ) DECL_IBF_HASH( RESERVED_IBF239, 239, 239 ) DECL_IBF_HASH( RESERVED_IBF240, 240, 240 ) DECL_IBF_HASH( RESERVED_IBF241, 241, 241 ) DECL_IBF_HASH( RESERVED_IBF242, 242, 242 ) DECL_IBF_HASH( RESERVED_IBF243, 243, 243 ) DECL_IBF_HASH( RESERVED_IBF244, 244, 244 ) DECL_IBF_HASH( RESERVED_IBF245, 245, 245 ) DECL_IBF_HASH( RESERVED_IBF246, 246, 246 ) DECL_IBF_HASH( RESERVED_IBF247, 247, 247 ) DECL_IBF_HASH( RESERVED_IBF248, 248, 248 ) DECL_IBF_HASH( RESERVED_IBF249, 249, 249 ) DECL_IBF_HASH( RESERVED_IBF250, 250, 250 ) DECL_IBF_HASH( RESERVED_IBF251, 251, 251 ) DECL_IBF_HASH( RESERVED_IBF252, 252, 252 ) DECL_IBF_HASH( RESERVED_IBF253, 253, 253 ) DECL_IBF_HASH( RESERVED_IBF254, 254, 254 ) DECL_IBF_HASH( RESERVED_IBF255, 255, 255 ) DECL_IBF_HASH( RESERVED_IBF256, 256, 256 ) # undef DECL_IBF_HASH # pragma warning(pop) }; #pragma pack(pop) #define ADD_HANDLER_IBF(name) // uREG_PV HANDLER_WzASM_IBF_##name( uREG_NODE* pNODE ); # define DECL_IBF_HASH(name, val, val2) \ uREG_PV HANDLER_WzASM_IBF_##name( uREG_NODE* pNODE ); DECL_IBF_HASH( RegisterIBFHandler, 0, 013 ) DECL_IBF_HASH( StartIBFHandler, 0, 014 ) DECL_IBF_HASH( _RegisterIBFHandler, 0, 015 ) DECL_IBF_HASH( StartGResHandler, 0, 015 ) DECL_IBF_HASH( RegisterGResHandler, 0, 013 ) DECL_IBF_HASH( _RegisterGResHandler, 0, 014 ) #undef IBF_HASH_VALUE #define IBF_HASH_VALUE(name, val, val2) \ ((((RGPG##val)&0x03) << 0) | \ (((RGPG##val)&0x0C) << 2) | \ (((RGPG##val)&0x30) << 4) | \ (((RGPG##val)&0xC0) << 6) | \ (((RGCG##val2)&0x03) << 14) | \ (((RGCG##val2)&0x0C) << 8) | \ (((RGCG##val2)&0x30) << 2) | \ (((RGCG##val2)&0xC0) >> 4)) # include "IWzASM.IBFList.h" # undef DECL_IBF_HASH #undef ADD_HANDLER_IBF