#include .code MACRO(DEFINE_WRAPPER_FUNC, n, off, x) PUBLIC _wrapper_func_&n& _wrapper_func_&n&: mov eax, [esp+4] mov eax, [eax+4] mov [esp+4], eax mov eax, [eax] jmp dword ptr [eax+off] ENDM DEFINE_WRAPPER_FUNC 3, 12, 24 DEFINE_WRAPPER_FUNC 4, 16, 32 DEFINE_WRAPPER_FUNC 5, 20, 40 DEFINE_WRAPPER_FUNC 6, 24, 48 DEFINE_WRAPPER_FUNC 7, 28, 56 DEFINE_WRAPPER_FUNC 8, 32, 64 DEFINE_WRAPPER_FUNC 9, 36, 72 DEFINE_WRAPPER_FUNC 10, 40, 80 DEFINE_WRAPPER_FUNC 11, 44, 88 DEFINE_WRAPPER_FUNC 12, 48, 96 DEFINE_WRAPPER_FUNC 13, 52, 104 DEFINE_WRAPPER_FUNC 14, 56, 112 DEFINE_WRAPPER_FUNC 15, 60, 120 DEFINE_WRAPPER_FUNC 16, 64, 128 DEFINE_WRAPPER_FUNC 17, 68, 136 DEFINE_WRAPPER_FUNC 18, 72, 144 DEFINE_WRAPPER_FUNC 19, 76, 152 DEFINE_WRAPPER_FUNC 20, 80, 160 DEFINE_WRAPPER_FUNC 21, 84, 168 DEFINE_WRAPPER_FUNC 22, 88, 176 DEFINE_WRAPPER_FUNC 23, 92, 184 DEFINE_WRAPPER_FUNC 24, 96, 192 DEFINE_WRAPPER_FUNC 25, 100, 200 DEFINE_WRAPPER_FUNC 26, 104, 208 DEFINE_WRAPPER_FUNC 27, 108, 216 DEFINE_WRAPPER_FUNC 28, 112, 224 DEFINE_WRAPPER_FUNC 29, 116, 232 DEFINE_WRAPPER_FUNC 30, 120, 240 DEFINE_WRAPPER_FUNC 31, 124, 248 DEFINE_WRAPPER_FUNC 32, 128, 256 DEFINE_WRAPPER_FUNC 33, 132, 264 DEFINE_WRAPPER_FUNC 34, 136, 272 DEFINE_WRAPPER_FUNC 35, 140, 280 DEFINE_WRAPPER_FUNC 36, 144, 288 DEFINE_WRAPPER_FUNC 37, 148, 296 DEFINE_WRAPPER_FUNC 38, 152, 304 DEFINE_WRAPPER_FUNC 39, 156, 312 DEFINE_WRAPPER_FUNC 40, 160, 320 DEFINE_WRAPPER_FUNC 41, 164, 328 DEFINE_WRAPPER_FUNC 42, 168, 336 DEFINE_WRAPPER_FUNC 43, 172, 344 DEFINE_WRAPPER_FUNC 44, 176, 352 DEFINE_WRAPPER_FUNC 45, 180, 360 DEFINE_WRAPPER_FUNC 46, 184, 368 DEFINE_WRAPPER_FUNC 47, 188, 376 DEFINE_WRAPPER_FUNC 48, 192, 384 DEFINE_WRAPPER_FUNC 49, 196, 392 DEFINE_WRAPPER_FUNC 50, 200, 400 DEFINE_WRAPPER_FUNC 51, 204, 408 DEFINE_WRAPPER_FUNC 52, 208, 416 DEFINE_WRAPPER_FUNC 53, 212, 424 DEFINE_WRAPPER_FUNC 54, 216, 432 DEFINE_WRAPPER_FUNC 55, 220, 440 DEFINE_WRAPPER_FUNC 56, 224, 448 DEFINE_WRAPPER_FUNC 57, 228, 456 DEFINE_WRAPPER_FUNC 58, 232, 464 DEFINE_WRAPPER_FUNC 59, 236, 472 DEFINE_WRAPPER_FUNC 60, 240, 480 DEFINE_WRAPPER_FUNC 61, 244, 488 DEFINE_WRAPPER_FUNC 62, 248, 496 DEFINE_WRAPPER_FUNC 63, 252, 504 DEFINE_WRAPPER_FUNC 64, 256, 512 DEFINE_WRAPPER_FUNC 65, 260, 520 DEFINE_WRAPPER_FUNC 66, 264, 528 DEFINE_WRAPPER_FUNC 67, 268, 536 DEFINE_WRAPPER_FUNC 68, 272, 544 DEFINE_WRAPPER_FUNC 69, 276, 552 DEFINE_WRAPPER_FUNC 70, 280, 560 DEFINE_WRAPPER_FUNC 71, 284, 568 DEFINE_WRAPPER_FUNC 72, 288, 576 DEFINE_WRAPPER_FUNC 73, 292, 584 DEFINE_WRAPPER_FUNC 74, 296, 592 DEFINE_WRAPPER_FUNC 75, 300, 600 DEFINE_WRAPPER_FUNC 76, 304, 608 DEFINE_WRAPPER_FUNC 77, 308, 616 DEFINE_WRAPPER_FUNC 78, 312, 624 DEFINE_WRAPPER_FUNC 79, 316, 632 DEFINE_WRAPPER_FUNC 80, 320, 640 DEFINE_WRAPPER_FUNC 81, 324, 648 DEFINE_WRAPPER_FUNC 82, 328, 656 DEFINE_WRAPPER_FUNC 83, 332, 664 DEFINE_WRAPPER_FUNC 84, 336, 672 DEFINE_WRAPPER_FUNC 85, 340, 680 DEFINE_WRAPPER_FUNC 86, 344, 688 DEFINE_WRAPPER_FUNC 87, 348, 696 DEFINE_WRAPPER_FUNC 88, 352, 704 DEFINE_WRAPPER_FUNC 89, 356, 712 DEFINE_WRAPPER_FUNC 90, 360, 720 DEFINE_WRAPPER_FUNC 91, 364, 728 DEFINE_WRAPPER_FUNC 92, 368, 736 DEFINE_WRAPPER_FUNC 93, 372, 744 DEFINE_WRAPPER_FUNC 94, 376, 752 DEFINE_WRAPPER_FUNC 95, 380, 760 DEFINE_WRAPPER_FUNC 96, 384, 768 DEFINE_WRAPPER_FUNC 97, 388, 776 DEFINE_WRAPPER_FUNC 98, 392, 784 DEFINE_WRAPPER_FUNC 99, 396, 792 END