/* EA HUFF decompression 0.1 by Luigi Auriemma e-mail: me@aluigi.org web: aluigi.org */ #include #include #include #ifdef WIN32 #include #endif //#include "calling_conventions.h" static int ea_huff_00c89298 = 0; static int ea_huff_00ca92ac = 0; static /*const*/ unsigned char ea_huff_dump[] = { 0x55,0x8b,0xec,0x81,0xec,0x10,0x04,0x00,0x00,0xa1,0x98,0x92,0xc8,0x00,0x33,0xc5, 0x89,0x45,0xfc,0x8b,0x45,0x08,0x53,0x33,0xdb,0x89,0x85,0xb4,0xfc,0xff,0xff,0x89, 0x85,0xe8,0xfc,0xff,0xff,0x33,0xc0,0x89,0x9d,0xf4,0xfc,0xff,0xff,0x89,0x9d,0xc0, 0xfc,0xff,0xff,0x89,0x95,0xf0,0xfc,0xff,0xff,0x3b,0xd3,0x0f,0x84,0xf8,0x0e,0x00, 0x00,0x8b,0x0d,0xac,0x92,0xca,0x00,0x56,0x57,0x8d,0x7b,0xf0,0x3b,0xcb,0x74,0x08, 0x33,0xf6,0xd3,0xe6,0x2b,0xf9,0x79,0x20,0x0f,0xb6,0x1a,0x0f,0xb6,0x42,0x01,0xc1, 0xe3,0x08,0x0b,0xd8,0x8b,0xcf,0xf7,0xd9,0x83,0xc2,0x02,0x8b,0xf3,0xd3,0xe6,0x89, 0x95,0xf0,0xfc,0xff,0xff,0x83,0xc7,0x10,0x8b,0xc6,0xc1,0xe8,0x10,0xc1,0xe6,0x10, 0x83,0xef,0x10,0x79,0x25,0x0f,0xb6,0x0a,0xc1,0xe3,0x08,0x0b,0xd9,0x0f,0xb6,0x4a, 0x01,0xc1,0xe3,0x08,0x0b,0xd9,0x8b,0xcf,0xf7,0xd9,0x83,0xc2,0x02,0x8b,0xf3,0xd3, 0xe6,0x89,0x95,0xf0,0xfc,0xff,0xff,0x83,0xc7,0x10,0xa9,0x00,0x80,0x00,0x00,0x74, 0x79,0xa9,0x00,0x01,0x00,0x00,0x74,0x5a,0xc1,0xe6,0x10,0x83,0xef,0x10,0x79,0x25, 0x0f,0xb6,0x0a,0xc1,0xe3,0x08,0x0b,0xd9,0x0f,0xb6,0x4a,0x01,0xc1,0xe3,0x08,0x0b, 0xd9,0x8b,0xcf,0xf7,0xd9,0x83,0xc2,0x02,0x8b,0xf3,0xd3,0xe6,0x89,0x95,0xf0,0xfc, 0xff,0xff,0x83,0xc7,0x10,0xc1,0xe6,0x10,0x83,0xef,0x10,0x79,0x25,0x0f,0xb6,0x0a, 0xc1,0xe3,0x08,0x0b,0xd9,0x0f,0xb6,0x4a,0x01,0xc1,0xe3,0x08,0x0b,0xd9,0x8b,0xcf, 0xf7,0xd9,0x83,0xc2,0x02,0x8b,0xf3,0xd3,0xe6,0x89,0x95,0xf0,0xfc,0xff,0xff,0x83, 0xc7,0x10,0x25,0xff,0xfe,0xff,0xff,0x89,0x85,0xbc,0xfc,0xff,0xff,0x8b,0xc6,0xc1, 0xe8,0x10,0xc1,0xe6,0x10,0x83,0xef,0x10,0xeb,0x77,0xa9,0x00,0x01,0x00,0x00,0x74, 0x5a,0xc1,0xe6,0x08,0x83,0xef,0x08,0x79,0x25,0x0f,0xb6,0x0a,0xc1,0xe3,0x08,0x0b, 0xd9,0x0f,0xb6,0x4a,0x01,0xc1,0xe3,0x08,0x0b,0xd9,0x8b,0xcf,0xf7,0xd9,0x83,0xc2, 0x02,0x8b,0xf3,0xd3,0xe6,0x89,0x95,0xf0,0xfc,0xff,0xff,0x83,0xc7,0x10,0xc1,0xe6, 0x10,0x83,0xef,0x10,0x79,0x25,0x0f,0xb6,0x0a,0xc1,0xe3,0x08,0x0b,0xd9,0x0f,0xb6, 0x4a,0x01,0xc1,0xe3,0x08,0x0b,0xd9,0x8b,0xcf,0xf7,0xd9,0x83,0xc2,0x02,0x8b,0xf3, 0xd3,0xe6,0x89,0x95,0xf0,0xfc,0xff,0xff,0x83,0xc7,0x10,0x25,0xff,0xfe,0xff,0xff, 0x89,0x85,0xbc,0xfc,0xff,0xff,0x8b,0xc6,0xc1,0xe8,0x18,0xc1,0xe6,0x08,0x83,0xef, 0x08,0x79,0x25,0x0f,0xb6,0x0a,0xc1,0xe3,0x08,0x0b,0xd9,0x0f,0xb6,0x4a,0x01,0xc1, 0xe3,0x08,0x0b,0xd9,0x8b,0xcf,0xf7,0xd9,0x8b,0xf3,0x83,0xc2,0x02,0xd3,0xe6,0x89, 0x95,0xf0,0xfc,0xff,0xff,0x83,0xc7,0x10,0x8b,0xce,0xc1,0xe9,0x10,0xc1,0xe6,0x10, 0x83,0xef,0x10,0x89,0x8d,0xd0,0xfc,0xff,0xff,0x79,0x2b,0x0f,0xb6,0x0a,0xc1,0xe3, 0x08,0x0b,0xd9,0x0f,0xb6,0x4a,0x01,0xc1,0xe3,0x08,0x0b,0xd9,0x8b,0xcf,0xf7,0xd9, 0x8b,0xf3,0x83,0xc2,0x02,0xd3,0xe6,0x8b,0x8d,0xd0,0xfc,0xff,0xff,0x89,0x95,0xf0, 0xfc,0xff,0xff,0x83,0xc7,0x10,0xc1,0xe0,0x10,0x0b,0xc8,0x8b,0xc6,0xc1,0xe8,0x18, 0xc1,0xe6,0x08,0x83,0xef,0x08,0x89,0x8d,0xd0,0xfc,0xff,0xff,0x89,0x85,0xb8,0xfc, 0xff,0xff,0x79,0x25,0x0f,0xb6,0x02,0x0f,0xb6,0x4a,0x01,0xc1,0xe3,0x08,0x0b,0xd8, 0xc1,0xe3,0x08,0x0b,0xd9,0x8b,0xcf,0xf7,0xd9,0x83,0xc2,0x02,0x8b,0xf3,0xd3,0xe6, 0x89,0x95,0xf0,0xfc,0xff,0xff,0x83,0xc7,0x10,0x33,0xc0,0x89,0x85,0xe4,0xfc,0xff, 0xff,0xc7,0x85,0xf8,0xfc,0xff,0xff,0x01,0x00,0x00,0x00,0xeb,0x09,0x8d,0x49,0x00, 0x8b,0x85,0xd8,0xfc,0xff,0xff,0x8b,0x8d,0xf8,0xfc,0xff,0xff,0x03,0xc0,0x89,0x85, 0xd8,0xfc,0xff,0xff,0x2b,0x85,0xe4,0xfc,0xff,0xff,0x89,0x84,0x8d,0x30,0xfc,0xff, 0xff,0x85,0xf6,0x7d,0x3d,0x8b,0xc6,0x03,0xf6,0x03,0xf6,0xc1,0xe8,0x1d,0x03,0xf6, 0x83,0xef,0x03,0x79,0x25,0x0f,0xb6,0x0a,0xc1,0xe3,0x08,0x0b,0xd9,0x0f,0xb6,0x4a, 0x01,0xc1,0xe3,0x08,0x0b,0xd9,0x8b,0xcf,0xf7,0xd9,0x83,0xc2,0x02,0x8b,0xf3,0xd3, 0xe6,0x89,0x95,0xf0,0xfc,0xff,0xff,0x83,0xc7,0x10,0x83,0xe8,0x04,0xe9,0xf5,0x01, 0x00,0x00,0xb8,0x02,0x00,0x00,0x00,0xf7,0xc6,0x00,0x00,0xff,0xff,0x74,0x71,0x90, 0x03,0xf6,0x40,0x85,0xf6,0x7d,0xf9,0xb9,0x01,0x00,0x00,0x00,0x2b,0xc8,0x03,0xf6, 0x03,0xf9,0x83,0x3d,0xac,0x92,0xca,0x00,0x00,0x89,0x85,0xd4,0xfc,0xff,0xff,0x74, 0x25,0xb9,0x20,0x00,0x00,0x00,0x2b,0x0d,0xac,0x92,0xca,0x00,0x8b,0xc6,0xd3,0xe8, 0x8b,0x0d,0xac,0x92,0xca,0x00,0xd3,0xe6,0x2b,0xf9,0x89,0x85,0xf4,0xfc,0xff,0xff, 0x8b,0x85,0xd4,0xfc,0xff,0xff,0x85,0xff,0x7d,0x6e,0x0f,0xb6,0x0a,0xc1,0xe3,0x08, 0x0b,0xd9,0x0f,0xb6,0x4a,0x01,0xc1,0xe3,0x08,0x0b,0xd9,0x8b,0xcf,0xf7,0xd9,0x8b, 0xf3,0x83,0xc2,0x02,0xd3,0xe6,0x83,0xc7,0x10,0xeb,0x47,0xeb,0x03,0x8d,0x49,0x00, 0x8b,0xce,0xc1,0xe9,0x1f,0x40,0x03,0xf6,0x83,0xef,0x01,0x89,0x8d,0xf4,0xfc,0xff, 0xff,0x79,0x25,0x0f,0xb6,0x0a,0xc1,0xe3,0x08,0x0b,0xd9,0x0f,0xb6,0x4a,0x01,0xc1, 0xe3,0x08,0x0b,0xd9,0x8b,0xcf,0xf7,0xd9,0x8b,0xf3,0xd3,0xe6,0x8b,0x8d,0xf4,0xfc, 0xff,0xff,0x83,0xc2,0x02,0x83,0xc7,0x10,0x85,0xc9,0x74,0xc4,0x89,0x85,0xd4,0xfc, 0xff,0xff,0x89,0x95,0xf0,0xfc,0xff,0xff,0x83,0xf8,0x10,0x0f,0x8e,0xbd,0x00,0x00, 0x00,0x8d,0x48,0xf0,0x85,0xc9,0x74,0x25,0xb9,0x30,0x00,0x00,0x00,0x2b,0xc8,0x8b, 0xc6,0xd3,0xe8,0x89,0x85,0xf4,0xfc,0xff,0xff,0x8b,0x85,0xd4,0xfc,0xff,0xff,0x8d, 0x48,0xf0,0xd3,0xe6,0xb9,0x10,0x00,0x00,0x00,0x2b,0xc8,0x03,0xf9,0x85,0xff,0x7d, 0x25,0x0f,0xb6,0x0a,0xc1,0xe3,0x08,0x0b,0xd9,0x0f,0xb6,0x4a,0x01,0xc1,0xe3,0x08, 0x0b,0xd9,0x8b,0xcf,0xf7,0xd9,0x83,0xc2,0x02,0x8b,0xf3,0xd3,0xe6,0x89,0x95,0xf0, 0xfc,0xff,0xff,0x83,0xc7,0x10,0x8b,0xce,0xc1,0xe9,0x10,0xc1,0xe6,0x10,0x83,0xef, 0x10,0x89,0x8d,0xdc,0xfc,0xff,0xff,0x79,0x25,0x0f,0xb6,0x0a,0xc1,0xe3,0x08,0x0b, 0xd9,0x0f,0xb6,0x4a,0x01,0xc1,0xe3,0x08,0x0b,0xd9,0x8b,0xcf,0xf7,0xd9,0x83,0xc2, 0x02,0x8b,0xf3,0xd3,0xe6,0x89,0x95,0xf0,0xfc,0xff,0xff,0x83,0xc7,0x10,0x8b,0x95, 0xf4,0xfc,0xff,0xff,0xc1,0xe2,0x10,0x0b,0x95,0xdc,0xfc,0xff,0xff,0xb9,0x01,0x00, 0x00,0x00,0x89,0x8d,0xdc,0xfc,0xff,0xff,0x8b,0xc8,0x8b,0x85,0xdc,0xfc,0xff,0xff, 0xd3,0xe0,0x8d,0x44,0x02,0xfc,0x8b,0x95,0xf0,0xfc,0xff,0xff,0xeb,0x69,0x85,0xc0, 0x74,0x1d,0xb9,0x20,0x00,0x00,0x00,0x2b,0xc8,0x8b,0xc6,0xd3,0xe8,0x89,0x85,0xf4, 0xfc,0xff,0xff,0x8b,0x85,0xd4,0xfc,0xff,0xff,0x8b,0xc8,0xd3,0xe6,0x2b,0xf8,0x85, 0xff,0x7d,0x25,0x0f,0xb6,0x0a,0xc1,0xe3,0x08,0x0b,0xd9,0x0f,0xb6,0x4a,0x01,0xc1, 0xe3,0x08,0x0b,0xd9,0x8b,0xcf,0xf7,0xd9,0x83,0xc2,0x02,0x8b,0xf3,0xd3,0xe6,0x89, 0x95,0xf0,0xfc,0xff,0xff,0x83,0xc7,0x10,0xb9,0x01,0x00,0x00,0x00,0x89,0x8d,0xdc, 0xfc,0xff,0xff,0x8b,0xc8,0x8b,0x85,0xdc,0xfc,0xff,0xff,0xd3,0xe0,0x8b,0x8d,0xf4, 0xfc,0xff,0xff,0x8d,0x44,0x01,0xfc,0x8b,0x8d,0xf8,0xfc,0xff,0xff,0x01,0x85,0xe4, 0xfc,0xff,0xff,0x01,0x85,0xd8,0xfc,0xff,0xff,0x89,0x84,0x8d,0xf0,0xfb,0xff,0xff, 0x33,0xc9,0x89,0x85,0xf4,0xfc,0xff,0xff,0x85,0xc0,0x74,0x20,0x8b,0x85,0xd8,0xfc, 0xff,0xff,0xb9,0x10,0x00,0x00,0x00,0x2b,0x8d,0xf8,0xfc,0xff,0xff,0xd3,0xe0,0x25, 0xff,0xff,0x00,0x00,0x89,0x85,0xdc,0xfc,0xff,0xff,0x8b,0xc8,0x8b,0x85,0xf8,0xfc, 0xff,0xff,0x89,0x8c,0x85,0x70,0xfc,0xff,0xff,0x40,0x83,0xbd,0xf4,0xfc,0xff,0xff, 0x00,0x89,0x85,0xf8,0xfc,0xff,0xff,0x0f,0x84,0x43,0xfd,0xff,0xff,0x85,0xc9,0x0f, 0x85,0x3b,0xfd,0xff,0xff,0xc7,0x84,0x85,0x6c,0xfc,0xff,0xff,0xff,0xff,0xff,0xff, 0x48,0x89,0x85,0xdc,0xfc,0xff,0xff,0xb9,0x10,0x00,0x00,0x00,0x8d,0x85,0x04,0xff, 0xff,0xff,0xc7,0x40,0xf8,0x00,0x00,0x00,0x00,0xc7,0x40,0xfc,0x00,0x00,0x00,0x00, 0xc7,0x00,0x00,0x00,0x00,0x00,0xc7,0x40,0x04,0x00,0x00,0x00,0x00,0x83,0xc0,0x10, 0x83,0xe9,0x01,0x75,0xdd,0x39,0x8d,0xe4,0xfc,0xff,0xff,0xc6,0x85,0xef,0xfc,0xff, 0xff,0xff,0x89,0x8d,0xcc,0xfc,0xff,0xff,0x0f,0x8e,0x89,0x02,0x00,0x00,0x8b,0xff, 0xc7,0x85,0xf8,0xfc,0xff,0xff,0x00,0x00,0x00,0x00,0x85,0xf6,0x7d,0x37,0x8b,0xc6, 0x03,0xf6,0x03,0xf6,0xc1,0xe8,0x1d,0x03,0xf6,0x83,0xef,0x03,0x79,0x1f,0x0f,0xb6, 0x0a,0xc1,0xe3,0x08,0x0b,0xd9,0x0f,0xb6,0x4a,0x01,0xc1,0xe3,0x08,0x0b,0xd9,0x8b, 0xcf,0xf7,0xd9,0x8b,0xf3,0x83,0xc2,0x02,0xd3,0xe6,0x83,0xc7,0x10,0x83,0xe8,0x04, 0xe9,0xdf,0x01,0x00,0x00,0xf7,0xc6,0x00,0x00,0xff,0xff,0x0f,0x84,0x6e,0x00,0x00, 0x00,0xb8,0x02,0x00,0x00,0x00,0x03,0xf6,0x40,0x85,0xf6,0x7d,0xf9,0xb9,0x01,0x00, 0x00,0x00,0x2b,0xc8,0x89,0x85,0xf4,0xfc,0xff,0xff,0xa1,0xac,0x92,0xca,0x00,0x03, 0xf6,0x03,0xf9,0x85,0xc0,0x74,0x1d,0xb9,0x20,0x00,0x00,0x00,0x2b,0xc8,0x8b,0xc6, 0xd3,0xe8,0x8b,0x0d,0xac,0x92,0xca,0x00,0xd3,0xe6,0x2b,0xf9,0x89,0x85,0xf8,0xfc, 0xff,0xff,0xeb,0x06,0x8b,0x85,0xf8,0xfc,0xff,0xff,0x85,0xff,0x7d,0x6d,0x0f,0xb6, 0x0a,0xc1,0xe3,0x08,0x0b,0xd9,0x0f,0xb6,0x4a,0x01,0xc1,0xe3,0x08,0x0b,0xd9,0x8b, 0xcf,0xf7,0xd9,0x8b,0xf3,0x83,0xc2,0x02,0xd3,0xe6,0x83,0xc7,0x10,0xeb,0x4c,0xc7, 0x85,0xf4,0xfc,0xff,0xff,0x02,0x00,0x00,0x00,0x8d,0xa4,0x24,0x00,0x00,0x00,0x00, 0xff,0x85,0xf4,0xfc,0xff,0xff,0x8b,0xc6,0xc1,0xe8,0x1f,0x03,0xf6,0x83,0xef,0x01, 0x89,0x85,0xf8,0xfc,0xff,0xff,0x79,0x1f,0x0f,0xb6,0x0a,0xc1,0xe3,0x08,0x0b,0xd9, 0x0f,0xb6,0x4a,0x01,0xc1,0xe3,0x08,0x0b,0xd9,0x8b,0xcf,0xf7,0xd9,0x8b,0xf3,0x83, 0xc2,0x02,0xd3,0xe6,0x83,0xc7,0x10,0x85,0xc0,0x74,0xc5,0x8b,0x8d,0xf4,0xfc,0xff, 0xff,0x83,0xf9,0x10,0x0f,0x8e,0xad,0x00,0x00,0x00,0x83,0xc1,0xf0,0x74,0x2f,0xb9, 0x30,0x00,0x00,0x00,0x2b,0x8d,0xf4,0xfc,0xff,0xff,0x8b,0xc6,0xd3,0xe8,0x89,0x85, 0xf8,0xfc,0xff,0xff,0x8b,0x85,0xf4,0xfc,0xff,0xff,0x8d,0x48,0xf0,0xd3,0xe6,0xb9, 0x10,0x00,0x00,0x00,0x2b,0xc8,0x8b,0x85,0xf8,0xfc,0xff,0xff,0x03,0xf9,0x85,0xff, 0x7d,0x1f,0x0f,0xb6,0x0a,0xc1,0xe3,0x08,0x0b,0xd9,0x0f,0xb6,0x4a,0x01,0xc1,0xe3, 0x08,0x0b,0xd9,0x8b,0xcf,0xf7,0xd9,0x8b,0xf3,0x83,0xc2,0x02,0xd3,0xe6,0x83,0xc7, 0x10,0x8b,0xce,0xc1,0xe9,0x10,0xc1,0xe6,0x10,0x83,0xef,0x10,0x89,0x8d,0xc8,0xfc, 0xff,0xff,0x79,0x1f,0x0f,0xb6,0x0a,0xc1,0xe3,0x08,0x0b,0xd9,0x0f,0xb6,0x4a,0x01, 0xc1,0xe3,0x08,0x0b,0xd9,0x8b,0xcf,0xf7,0xd9,0x8b,0xf3,0x83,0xc2,0x02,0xd3,0xe6, 0x83,0xc7,0x10,0x8b,0x8d,0xf4,0xfc,0xff,0xff,0xc1,0xe0,0x10,0x0b,0x85,0xc8,0xfc, 0xff,0xff,0x89,0x85,0xc8,0xfc,0xff,0xff,0xb8,0x01,0x00,0x00,0x00,0xd3,0xe0,0x8b, 0x8d,0xc8,0xfc,0xff,0xff,0xeb,0x59,0x85,0xc9,0x74,0x1f,0xb9,0x20,0x00,0x00,0x00, 0x2b,0x8d,0xf4,0xfc,0xff,0xff,0x8b,0xc6,0xd3,0xe8,0x8b,0x8d,0xf4,0xfc,0xff,0xff, 0xd3,0xe6,0x2b,0xf9,0x89,0x85,0xf8,0xfc,0xff,0xff,0x85,0xff,0x7d,0x1f,0x0f,0xb6, 0x02,0x0f,0xb6,0x4a,0x01,0xc1,0xe3,0x08,0x0b,0xd8,0xc1,0xe3,0x08,0x0b,0xd9,0x8b, 0xcf,0xf7,0xd9,0x8b,0xf3,0x83,0xc2,0x02,0xd3,0xe6,0x83,0xc7,0x10,0x8b,0x8d,0xf4, 0xfc,0xff,0xff,0xb8,0x01,0x00,0x00,0x00,0xd3,0xe0,0x8b,0x8d,0xf8,0xfc,0xff,0xff, 0x8d,0x44,0x01,0xfc,0x40,0xeb,0x09,0x8d,0xa4,0x24,0x00,0x00,0x00,0x00,0x8b,0xff, 0x8a,0x8d,0xef,0xfc,0xff,0xff,0xfe,0xc1,0x88,0x8d,0xef,0xfc,0xff,0xff,0x0f,0xb6, 0xc9,0x80,0xbc,0x0d,0xfc,0xfe,0xff,0xff,0x00,0x75,0x01,0x48,0x85,0xc0,0x75,0xe0, 0x8a,0x8d,0xef,0xfc,0xff,0xff,0x0f,0xb6,0xc1,0xc6,0x84,0x05,0xfc,0xfe,0xff,0xff, 0x01,0x8b,0x85,0xcc,0xfc,0xff,0xff,0x88,0x8c,0x05,0xfc,0xfc,0xff,0xff,0x40,0x3b, 0x85,0xe4,0xfc,0xff,0xff,0x89,0x85,0xcc,0xfc,0xff,0xff,0x0f,0x8c,0x7f,0xfd,0xff, 0xff,0x89,0x95,0xf0,0xfc,0xff,0xff,0xb9,0x10,0x00,0x00,0x00,0x8d,0x85,0x04,0xfe, 0xff,0xff,0xc7,0x40,0xf8,0x40,0x40,0x40,0x40,0xc7,0x40,0xfc,0x40,0x40,0x40,0x40, 0xc7,0x00,0x40,0x40,0x40,0x40,0xc7,0x40,0x04,0x40,0x40,0x40,0x40,0x83,0xc0,0x10, 0x83,0xe9,0x01,0x75,0xdd,0x8d,0x85,0xfc,0xfe,0xff,0xff,0x8d,0x8d,0xfc,0xfc,0xff, 0xff,0x89,0x85,0xf4,0xfc,0xff,0xff,0xb8,0x01,0x00,0x00,0x00,0x39,0x85,0xdc,0xfc, 0xff,0xff,0x89,0x8d,0xc8,0xfc,0xff,0xff,0x8d,0x8d,0xfc,0xfd,0xff,0xff,0x89,0x8d, 0xf8,0xfc,0xff,0xff,0x89,0x85,0xe4,0xfc,0xff,0xff,0x0f,0x8c,0x23,0x01,0x00,0x00, 0xb9,0x07,0x00,0x00,0x00,0x89,0x8d,0xcc,0xfc,0xff,0xff,0xeb,0x09,0x8d,0x49,0x00, 0x8b,0x8d,0xcc,0xfc,0xff,0xff,0x83,0xf9,0xff,0x8b,0x85,0xe4,0xfc,0xff,0xff,0x8b, 0x84,0x85,0xf0,0xfb,0xff,0xff,0x89,0x85,0xd4,0xfc,0xff,0xff,0x0f,0x8e,0xf1,0x00, 0x00,0x00,0xb8,0x01,0x00,0x00,0x00,0xd3,0xe0,0x83,0xbd,0xd4,0xfc,0xff,0xff,0x00, 0x89,0x85,0xd8,0xfc,0xff,0xff,0x0f,0x84,0xb8,0x00,0x00,0x00,0x0f,0xb6,0x8d,0xb8, 0xfc,0xff,0xff,0x89,0x8d,0xb0,0xfc,0xff,0xff,0x8d,0xa4,0x24,0x00,0x00,0x00,0x00, 0x8b,0x8d,0xc8,0xfc,0xff,0xff,0x0f,0xb6,0x01,0xff,0x8d,0xd4,0xfc,0xff,0xff,0x41, 0x89,0x8d,0xc8,0xfc,0xff,0xff,0x8b,0x8d,0xe4,0xfc,0xff,0xff,0x89,0x85,0xe0,0xfc, 0xff,0xff,0x89,0x8d,0xc4,0xfc,0xff,0xff,0x3b,0x85,0xb0,0xfc,0xff,0xff,0x75,0x0f, 0x8b,0xc1,0x89,0x85,0xc0,0xfc,0xff,0xff,0xb8,0x60,0x00,0x00,0x00,0xeb,0x06,0x8b, 0x85,0xc4,0xfc,0xff,0xff,0x83,0xbd,0xd8,0xfc,0xff,0xff,0x00,0x7e,0x49,0x8b,0x8d, 0xd8,0xfc,0xff,0xff,0x8b,0x95,0xf8,0xfc,0xff,0xff,0x51,0x50,0x52,0xe8,0x6e,0xda, 0x34,0x00,0x8b,0x85,0xd8,0xfc,0xff,0xff,0x8b,0x8d,0xe0,0xfc,0xff,0xff,0x8b,0x95, 0xf4,0xfc,0xff,0xff,0x50,0x51,0x52,0xe8,0x54,0xda,0x34,0x00,0x8b,0x85,0xd8,0xfc, 0xff,0xff,0x01,0x85,0xf4,0xfc,0xff,0xff,0x8b,0x95,0xf0,0xfc,0xff,0xff,0x83,0xc4, 0x18,0x01,0x85,0xf8,0xfc,0xff,0xff,0x83,0xbd,0xd4,0xfc,0xff,0xff,0x00,0x0f,0x85, 0x5c,0xff,0xff,0xff,0x8b,0x85,0xe4,0xfc,0xff,0xff,0xff,0x8d,0xcc,0xfc,0xff,0xff, 0x40,0x3b,0x85,0xdc,0xfc,0xff,0xff,0x89,0x85,0xe4,0xfc,0xff,0xff,0x0f,0x8e,0xed, 0xfe,0xff,0xff,0x8b,0x85,0xe8,0xfc,0xff,0xff,0x8d,0xa4,0x24,0x00,0x00,0x00,0x00, 0x8b,0xce,0xc1,0xe9,0x18,0x89,0x8d,0xf4,0xfc,0xff,0xff,0x0f,0xb6,0x8c,0x0d,0xfc, 0xfd,0xff,0xff,0x2b,0xf9,0x89,0x8d,0xf8,0xfc,0xff,0xff,0x0f,0x88,0xe2,0x00,0x00, 0x00,0x8b,0x8d,0xf4,0xfc,0xff,0xff,0x8a,0x8c,0x0d,0xfc,0xfe,0xff,0xff,0x88,0x08, 0x8b,0x8d,0xf8,0xfc,0xff,0xff,0xd3,0xe6,0x40,0x8b,0xce,0xc1,0xe9,0x18,0x89,0x8d, 0xf4,0xfc,0xff,0xff,0x0f,0xb6,0x8c,0x0d,0xfc,0xfd,0xff,0xff,0x2b,0xf9,0x89,0x8d, 0xf8,0xfc,0xff,0xff,0x0f,0x88,0xa3,0x00,0x00,0x00,0x8b,0x8d,0xf4,0xfc,0xff,0xff, 0x8a,0x8c,0x0d,0xfc,0xfe,0xff,0xff,0x88,0x08,0x8b,0x8d,0xf8,0xfc,0xff,0xff,0xd3, 0xe6,0x40,0x8b,0xce,0xc1,0xe9,0x18,0x89,0x8d,0xf4,0xfc,0xff,0xff,0x0f,0xb6,0x8c, 0x0d,0xfc,0xfd,0xff,0xff,0x2b,0xf9,0x89,0x8d,0xf8,0xfc,0xff,0xff,0x78,0x6e,0x8b, 0x8d,0xf4,0xfc,0xff,0xff,0x8a,0x8c,0x0d,0xfc,0xfe,0xff,0xff,0x88,0x08,0x8b,0x8d, 0xf8,0xfc,0xff,0xff,0xd3,0xe6,0x40,0x8b,0xce,0xc1,0xe9,0x18,0x89,0x8d,0xf4,0xfc, 0xff,0xff,0x0f,0xb6,0x8c,0x0d,0xfc,0xfd,0xff,0xff,0x2b,0xf9,0x89,0x8d,0xf8,0xfc, 0xff,0xff,0x78,0x39,0x8b,0x8d,0xf4,0xfc,0xff,0xff,0x8a,0x8c,0x0d,0xfc,0xfe,0xff, 0xff,0x88,0x08,0x8b,0x8d,0xf8,0xfc,0xff,0xff,0xd3,0xe6,0x40,0x8b,0xce,0xc1,0xe9, 0x18,0x89,0x8d,0xf4,0xfc,0xff,0xff,0x0f,0xb6,0x8c,0x0d,0xfc,0xfd,0xff,0xff,0x2b, 0xf9,0x89,0x8d,0xf8,0xfc,0xff,0xff,0x0f,0x89,0x24,0xff,0xff,0xff,0x89,0x85,0xe8, 0xfc,0xff,0xff,0x83,0xc7,0x10,0x78,0x37,0xc1,0xee,0x18,0x8a,0x8c,0x35,0xfc,0xfe, 0xff,0xff,0x88,0x08,0x0f,0xb6,0x0a,0xc1,0xe3,0x08,0x0b,0xd9,0x0f,0xb6,0x4a,0x01, 0xc1,0xe3,0x08,0x0b,0xd9,0xb9,0x10,0x00,0x00,0x00,0x40,0x2b,0xcf,0x8b,0xf3,0x83, 0xc2,0x02,0x89,0x85,0xe8,0xfc,0xff,0xff,0xd3,0xe6,0xe9,0xc1,0xfe,0xff,0xff,0x8d, 0x7c,0x0f,0xf0,0x83,0xf9,0x60,0x74,0x16,0x8b,0xce,0xc1,0xe9,0x10,0xb8,0x08,0x00, 0x00,0x00,0x40,0x3b,0x8c,0x85,0x70,0xfc,0xff,0xff,0x73,0xf6,0xeb,0x06,0x8b,0x85, 0xc0,0xfc,0xff,0xff,0x89,0x85,0xf8,0xfc,0xff,0xff,0xb9,0x20,0x00,0x00,0x00,0x2b, 0xc8,0x8b,0xc6,0xd3,0xe8,0x8b,0x8d,0xf8,0xfc,0xff,0xff,0xd3,0xe6,0x2b,0xf9,0x2b, 0x84,0x8d,0x30,0xfc,0xff,0xff,0x8a,0x8c,0x05,0xfc,0xfc,0xff,0xff,0x8a,0x85,0xb8, 0xfc,0xff,0xff,0x88,0x8d,0xef,0xfc,0xff,0xff,0x3a,0xc8,0x74,0x18,0x85,0xff,0x7c, 0x18,0x8b,0x85,0xe8,0xfc,0xff,0xff,0x88,0x08,0x40,0x89,0x85,0xe8,0xfc,0xff,0xff, 0xe9,0x4b,0xfe,0xff,0xff,0x85,0xff,0x7d,0x25,0x0f,0xb6,0x0a,0xc1,0xe3,0x08,0x0b, 0xd9,0x0f,0xb6,0x4a,0x01,0xc1,0xe3,0x08,0x0b,0xd9,0x8b,0xcf,0xf7,0xd9,0x8b,0xf3, 0xd3,0xe6,0x8a,0x8d,0xef,0xfc,0xff,0xff,0x83,0xc2,0x02,0x83,0xc7,0x10,0x3a,0xc8, 0x8b,0x85,0xe8,0xfc,0xff,0xff,0x74,0x0e,0x88,0x08,0x40,0x89,0x85,0xe8,0xfc,0xff, 0xff,0xe9,0x0a,0xfe,0xff,0xff,0xc7,0x85,0xf8,0xfc,0xff,0xff,0x00,0x00,0x00,0x00, 0x89,0x85,0xc4,0xfc,0xff,0xff,0x85,0xf6,0x7d,0x41,0x8b,0xce,0x03,0xf6,0x03,0xf6, 0xc1,0xe9,0x1d,0x03,0xf6,0x83,0xef,0x03,0x89,0x8d,0xf8,0xfc,0xff,0xff,0x79,0x1f, 0x0f,0xb6,0x0a,0xc1,0xe3,0x08,0x0b,0xd9,0x0f,0xb6,0x4a,0x01,0xc1,0xe3,0x08,0x0b, 0xd9,0x8b,0xcf,0xf7,0xd9,0x8b,0xf3,0x83,0xc2,0x02,0xd3,0xe6,0x83,0xc7,0x10,0x83, 0xad,0xf8,0xfc,0xff,0xff,0x04,0xe9,0xf5,0x01,0x00,0x00,0xf7,0xc6,0x00,0x00,0xff, 0xff,0x0f,0x84,0x78,0x00,0x00,0x00,0xb9,0x02,0x00,0x00,0x00,0x8d,0x64,0x24,0x00, 0x03,0xf6,0x41,0x85,0xf6,0x7d,0xf9,0xb8,0x01,0x00,0x00,0x00,0x2b,0xc1,0x03,0xf8, 0xa1,0xac,0x92,0xca,0x00,0x03,0xf6,0x89,0x8d,0xf0,0xfc,0xff,0xff,0x85,0xc0,0x74, 0x23,0xb9,0x20,0x00,0x00,0x00,0x2b,0xc8,0x8b,0xc6,0xd3,0xe8,0x8b,0x0d,0xac,0x92, 0xca,0x00,0xd3,0xe6,0x2b,0xf9,0x8b,0x8d,0xf0,0xfc,0xff,0xff,0x89,0x85,0xf8,0xfc, 0xff,0xff,0xeb,0x06,0x8b,0x85,0xf8,0xfc,0xff,0xff,0x85,0xff,0x7d,0x73,0x0f,0xb6, 0x0a,0xc1,0xe3,0x08,0x0b,0xd9,0x0f,0xb6,0x4a,0x01,0xc1,0xe3,0x08,0x0b,0xd9,0x8b, 0xcf,0xf7,0xd9,0x8b,0xf3,0x83,0xc2,0x02,0xd3,0xe6,0x83,0xc7,0x10,0xeb,0x4c,0xc7, 0x85,0xf0,0xfc,0xff,0xff,0x02,0x00,0x00,0x00,0x8d,0xa4,0x24,0x00,0x00,0x00,0x00, 0xff,0x85,0xf0,0xfc,0xff,0xff,0x8b,0xc6,0xc1,0xe8,0x1f,0x03,0xf6,0x83,0xef,0x01, 0x89,0x85,0xf8,0xfc,0xff,0xff,0x79,0x1f,0x0f,0xb6,0x0a,0xc1,0xe3,0x08,0x0b,0xd9, 0x0f,0xb6,0x4a,0x01,0xc1,0xe3,0x08,0x0b,0xd9,0x8b,0xcf,0xf7,0xd9,0x8b,0xf3,0x83, 0xc2,0x02,0xd3,0xe6,0x83,0xc7,0x10,0x85,0xc0,0x74,0xc5,0x8b,0x8d,0xf0,0xfc,0xff, 0xff,0x83,0xf9,0x10,0x0f,0x8e,0xad,0x00,0x00,0x00,0x83,0xc1,0xf0,0x74,0x2f,0xb9, 0x30,0x00,0x00,0x00,0x2b,0x8d,0xf0,0xfc,0xff,0xff,0x8b,0xc6,0xd3,0xe8,0x89,0x85, 0xf8,0xfc,0xff,0xff,0x8b,0x85,0xf0,0xfc,0xff,0xff,0x8d,0x48,0xf0,0xd3,0xe6,0xb9, 0x10,0x00,0x00,0x00,0x2b,0xc8,0x8b,0x85,0xf8,0xfc,0xff,0xff,0x03,0xf9,0x85,0xff, 0x7d,0x1f,0x0f,0xb6,0x0a,0xc1,0xe3,0x08,0x0b,0xd9,0x0f,0xb6,0x4a,0x01,0xc1,0xe3, 0x08,0x0b,0xd9,0x8b,0xcf,0xf7,0xd9,0x8b,0xf3,0x83,0xc2,0x02,0xd3,0xe6,0x83,0xc7, 0x10,0x8b,0xce,0xc1,0xe9,0x10,0xc1,0xe6,0x10,0x83,0xef,0x10,0x89,0x8d,0xe0,0xfc, 0xff,0xff,0x79,0x1f,0x0f,0xb6,0x0a,0xc1,0xe3,0x08,0x0b,0xd9,0x0f,0xb6,0x4a,0x01, 0xc1,0xe3,0x08,0x0b,0xd9,0x8b,0xcf,0xf7,0xd9,0x8b,0xf3,0x83,0xc2,0x02,0xd3,0xe6, 0x83,0xc7,0x10,0x8b,0x8d,0xf0,0xfc,0xff,0xff,0xc1,0xe0,0x10,0x0b,0x85,0xe0,0xfc, 0xff,0xff,0x89,0x85,0xe0,0xfc,0xff,0xff,0xb8,0x01,0x00,0x00,0x00,0xd3,0xe0,0x8b, 0x8d,0xe0,0xfc,0xff,0xff,0xeb,0x59,0x85,0xc9,0x74,0x1f,0xb9,0x20,0x00,0x00,0x00, 0x2b,0x8d,0xf0,0xfc,0xff,0xff,0x8b,0xc6,0xd3,0xe8,0x8b,0x8d,0xf0,0xfc,0xff,0xff, 0xd3,0xe6,0x2b,0xf9,0x89,0x85,0xf8,0xfc,0xff,0xff,0x85,0xff,0x7d,0x1f,0x0f,0xb6, 0x0a,0x0f,0xb6,0x42,0x01,0xc1,0xe3,0x08,0x0b,0xd9,0xc1,0xe3,0x08,0x0b,0xd8,0x8b, 0xcf,0xf7,0xd9,0x8b,0xf3,0x83,0xc2,0x02,0xd3,0xe6,0x83,0xc7,0x10,0x8b,0x8d,0xf0, 0xfc,0xff,0xff,0xb8,0x01,0x00,0x00,0x00,0xd3,0xe0,0x8b,0x8d,0xf8,0xfc,0xff,0xff, 0x8d,0x44,0x01,0xfc,0x89,0x85,0xf8,0xfc,0xff,0xff,0x8b,0x85,0xe8,0xfc,0xff,0xff, 0x83,0xbd,0xf8,0xfc,0xff,0xff,0x00,0x74,0x39,0x8b,0x8d,0xf8,0xfc,0xff,0xff,0x03, 0xc8,0x8a,0x40,0xff,0x88,0x85,0xef,0xfc,0xff,0xff,0x8b,0x85,0xc4,0xfc,0xff,0xff, 0x89,0x8d,0xe0,0xfc,0xff,0xff,0x8a,0x8d,0xef,0xfc,0xff,0xff,0x88,0x08,0x40,0x3b, 0x85,0xe0,0xfc,0xff,0xff,0x72,0xef,0x89,0x85,0xe8,0xfc,0xff,0xff,0xe9,0x7e,0xfb, 0xff,0xff,0x8b,0xce,0xc1,0xe9,0x1f,0x03,0xf6,0x83,0xef,0x01,0x89,0x8d,0xe0,0xfc, 0xff,0xff,0x79,0x25,0x0f,0xb6,0x0a,0xc1,0xe3,0x08,0x0b,0xd9,0x0f,0xb6,0x4a,0x01, 0xc1,0xe3,0x08,0x0b,0xd9,0x8b,0xcf,0xf7,0xd9,0x8b,0xf3,0xd3,0xe6,0x8b,0x8d,0xe0, 0xfc,0xff,0xff,0x83,0xc2,0x02,0x83,0xc7,0x10,0x85,0xc9,0x75,0x46,0x8b,0xce,0xc1, 0xe9,0x18,0xc1,0xe6,0x08,0x83,0xef,0x08,0x89,0x8d,0xe0,0xfc,0xff,0xff,0x79,0x25, 0x0f,0xb6,0x0a,0xc1,0xe3,0x08,0x0b,0xd9,0x0f,0xb6,0x4a,0x01,0xc1,0xe3,0x08,0x0b, 0xd9,0x8b,0xcf,0xf7,0xd9,0x8b,0xf3,0xd3,0xe6,0x8b,0x8d,0xe0,0xfc,0xff,0xff,0x83, 0xc2,0x02,0x83,0xc7,0x10,0x88,0x08,0x40,0x89,0x85,0xe8,0xfc,0xff,0xff,0xe9,0xfd, 0xfa,0xff,0xff,0x8b,0x85,0xbc,0xfc,0xff,0xff,0x3d,0xfb,0x32,0x00,0x00,0x74,0x4f, 0x3d,0xfb,0xb2,0x00,0x00,0x74,0x48,0x3d,0xfb,0x34,0x00,0x00,0x74,0x07,0x3d,0xfb, 0xb4,0x00,0x00,0x75,0x6c,0x8b,0x8d,0xb4,0xfc,0xff,0xff,0x8b,0x85,0xd0,0xfc,0xff, 0xff,0x8d,0x34,0x01,0x33,0xd2,0x33,0xdb,0x3b,0xce,0x73,0x5b,0x8d,0x64,0x24,0x00, 0x0f,0xb6,0x39,0x03,0xd7,0x03,0xda,0x88,0x19,0x41,0x3b,0xce,0x72,0xf2,0x5f,0x5e, 0x5b,0x8b,0x4d,0xfc,0x33,0xcd,0xe8,0xb1,0xd4,0x34,0x00,0x8b,0xe5,0x5d,0xc3,0x8b, 0x8d,0xb4,0xfc,0xff,0xff,0x8b,0x85,0xd0,0xfc,0xff,0xff,0x8d,0x34,0x01,0x33,0xd2, 0x3b,0xce,0x73,0x23,0x0f,0xb6,0x39,0x03,0xd7,0x88,0x11,0x41,0x3b,0xce,0x72,0xf4, 0x5f,0x5e,0x5b,0x8b,0x4d,0xfc,0x33,0xcd,0xe8,0x7f,0xd4,0x34,0x00,0x8b,0xe5,0x5d, 0xc3,0x8b,0x85,0xd0,0xfc,0xff,0xff,0x5f,0x5e,0x8b,0x4d,0xfc,0x33,0xcd,0x5b,0xe8, 0x68,0xd4,0x34,0x00,0x8b,0xe5,0x5d,0xc3,/*INT3*/ 0xcc }; static void* __cdecl ea_huff_memset(void *data, int c, int size) { return memset(data, c, size); } int (__cdecl *ea_huff_func)(int, void*, void*) = NULL; // anti DEP limitation, allocation is necessary void *ea_huff_alloc(void *dump, int dumpsz) { int pagesz; void *ret; pagesz = (dumpsz + 4095) & (~4095); // useful for pages? mah #ifdef WIN32 ret = VirtualAlloc( NULL, pagesz, MEM_COMMIT | MEM_RESERVE, PAGE_EXECUTE_READWRITE); // write for memcpy #else ret = malloc(pagesz); mprotect( ret, pagesz, PROT_EXEC | PROT_WRITE); // write for memcpy #endif memcpy(ret, dump, dumpsz); return(ret); } void ea_huff_init(void) { if(!ea_huff_func) { ea_huff_func = ea_huff_alloc(ea_huff_dump, sizeof(ea_huff_dump)); #define PATCHIT(X,Y) *(int *)((char *)ea_huff_func + X) = (int)(Y); PATCHIT(0x0000000a, &ea_huff_00c89298) // mov eax, dword ptr [C89298] PATCHIT(0x00000043, &ea_huff_00ca92ac) // mov ecx, dword ptr [CA92AC] PATCHIT(0x000002e4, &ea_huff_00ca92ac) // cmp dword ptr [CA92AC], 0 PATCHIT(0x000002f8, &ea_huff_00ca92ac) // sub ecx, dword ptr [CA92AC] PATCHIT(0x00000302, &ea_huff_00ca92ac) // mov ecx, dword ptr [CA92AC] PATCHIT(0x000005eb, &ea_huff_00ca92ac) // mov eax, dword ptr [CA92AC] PATCHIT(0x00000604, &ea_huff_00ca92ac) // mov ecx, dword ptr [CA92AC] PATCHIT(0x00000c11, &ea_huff_00ca92ac) // mov eax, dword ptr [CA92AC] PATCHIT(0x00000c2e, &ea_huff_00ca92ac) // mov ecx, dword ptr [CA92AC] #undef PATCHIT #define CALLIT(X,Y) \ *(int *)((unsigned char *)ea_huff_func + (X) + 1) = \ (unsigned char *)Y - ((unsigned char *)ea_huff_func + (X) + 1 + 4); CALLIT(0x92d, ea_huff_memset); CALLIT(0x947, ea_huff_memset); #undef CALLIT memset(ea_huff_func + 0xef6, 0x90, 5); memset(ea_huff_func + 0xf28, 0x90, 5); memset(ea_huff_func + 0xf3f, 0x90, 5); } ea_huff_00c89298 = 0; ea_huff_00ca92ac = 0; } int ea_huff(unsigned char *in, int insz, unsigned char *out, int outsz) { ea_huff_init(); return msfastcall_call(ea_huff_func, 3, 0, in, out); }