/* by Luigi Auriemma the algorithm is very close to lzah */ #include #include #include #ifdef WIN32 #include #endif static unsigned char stalker_lza_caller[] = "\x55" // PUSH EBP "\x8B\xEC" // MOV EBP,ESP "\x8B\x44\x24\x08" // MOV EAX,DWORD PTR SS:[ESP+8] "\x8B\x4C\x24\x0C" // MOV ECX,DWORD PTR SS:[ESP+C] "\xFF\x74\x24\x14" // PUSH DWORD PTR SS:[ESP+14] "\xFF\x74\x24\x14" // PUSH DWORD PTR SS:[ESP+14] // ESP+18-4 "\xE8\xa0\xff\xff\xff" // CALL function "\x83\xC4\x08" // ADD ESP,8 "\xC9" // LEAVE "\xC3"; // RETN static unsigned char *x100af1a4 = NULL; static unsigned char *x1003f1b0 = NULL; static unsigned char stalker_lza_dump[] = { 0x8b,0x0d,0x00,0xf0,0x0b,0x10,0xa1,0xfc,0xef,0x0b,0x10,0x3b,0xc8,0x53,0x8a,0x5c, 0x24,0x08,0x75,0x43,0x8b,0x0d,0xf8,0xef,0x0b,0x10,0x2b,0xc1,0x56,0x8b,0xf0,0x8d, 0x86,0x00,0x04,0x00,0x00,0x50,0x51,0xb9,0x54,0xf8,0x03,0x10,0xe8,0x6f,0x75,0xff, 0xff,0xa3,0xf8,0xef,0x0b,0x10,0x03,0xc6,0x8d,0x88,0x00,0x04,0x00,0x00,0xa3,0x00, 0xf0,0x0b,0x10,0x89,0x0d,0xfc,0xef,0x0b,0x10,0x88,0x18,0x83,0x05,0x00,0xf0,0x0b, 0x10,0x01,0x5e,0x5b,0xc2,0x04,0x00,0x88,0x19,0x83,0x05,0x00,0xf0,0x0b,0x10,0x01, 0x5b,0xc2,0x04,0x00,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc, 0x8b,0x15,0xe0,0xef,0x0b,0x10,0x83,0xfa,0x08,0x77,0x4f,0x56,0x8b,0x35,0xf4,0xef, 0x0b,0x10,0x57,0x8b,0x3d,0xf0,0xef,0x0b,0x10,0x8d,0xa4,0x24,0x00,0x00,0x00,0x00, 0x3b,0xf7,0x75,0x05,0x83,0xc8,0xff,0xeb,0x0c,0x0f,0xb6,0x06,0x83,0xc6,0x01,0x89, 0x35,0xf4,0xef,0x0b,0x10,0x85,0xc0,0x7d,0x02,0x33,0xc0,0xb9,0x08,0x00,0x00,0x00, 0x2b,0xca,0xd3,0xe0,0x83,0xc2,0x08,0x89,0x15,0xe0,0xef,0x0b,0x10,0x09,0x05,0xdc, 0xef,0x0b,0x10,0x83,0xfa,0x08,0x76,0xc8,0x5f,0x5e,0x8b,0x0d,0xdc,0xef,0x0b,0x10, 0x8b,0xc1,0x03,0xc9,0x83,0xea,0x01,0xc1,0xe8,0x0f,0x89,0x0d,0xdc,0xef,0x0b,0x10, 0x89,0x15,0xe0,0xef,0x0b,0x10,0x83,0xe0,0x01,0xc3,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc, 0x8b,0x15,0xe0,0xef,0x0b,0x10,0x83,0xfa,0x08,0x77,0x4f,0x56,0x8b,0x35,0xf4,0xef, 0x0b,0x10,0x57,0x8b,0x3d,0xf0,0xef,0x0b,0x10,0x8d,0xa4,0x24,0x00,0x00,0x00,0x00, 0x3b,0xf7,0x75,0x05,0x83,0xc8,0xff,0xeb,0x0c,0x0f,0xb6,0x06,0x83,0xc6,0x01,0x89, 0x35,0xf4,0xef,0x0b,0x10,0x85,0xc0,0x7d,0x02,0x33,0xc0,0xb9,0x08,0x00,0x00,0x00, 0x2b,0xca,0xd3,0xe0,0x83,0xc2,0x08,0x89,0x15,0xe0,0xef,0x0b,0x10,0x09,0x05,0xdc, 0xef,0x0b,0x10,0x83,0xfa,0x08,0x76,0xc8,0x5f,0x5e,0x8b,0x0d,0xdc,0xef,0x0b,0x10, 0x8b,0xc1,0xc1,0xe1,0x08,0x83,0xea,0x08,0x89,0x0d,0xdc,0xef,0x0b,0x10,0x89,0x15, 0xe0,0xef,0x0b,0x10,0x0f,0xb6,0xc4,0xc3,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc, 0x8b,0x0d,0xe8,0xef,0x0b,0x10,0x56,0x8b,0xf0,0xa1,0xe4,0xef,0x0b,0x10,0x8b,0xd6, 0xd3,0xea,0x03,0xcf,0x89,0x0d,0xe8,0xef,0x0b,0x10,0x0b,0xc2,0x83,0xf9,0x08,0xa3, 0xe4,0xef,0x0b,0x10,0x72,0x56,0xc1,0xe8,0x08,0x50,0xe8,0x61,0xfe,0xff,0xff,0xa1, 0xe8,0xef,0x0b,0x10,0x83,0xe8,0x08,0x83,0xf8,0x08,0xa3,0xe8,0xef,0x0b,0x10,0x72, 0x2d,0xa1,0xe4,0xef,0x0b,0x10,0x50,0xe8,0x44,0xfe,0xff,0xff,0xa1,0xe8,0xef,0x0b, 0x10,0x83,0x05,0xc0,0xe9,0x0b,0x10,0x02,0x83,0xe8,0x08,0x8b,0xcf,0x2b,0xc8,0xd3, 0xe6,0xa3,0xe8,0xef,0x0b,0x10,0x89,0x35,0xe4,0xef,0x0b,0x10,0x5e,0xc3,0xc1,0x25, 0xe4,0xef,0x0b,0x10,0x08,0x83,0x05,0xc0,0xe9,0x0b,0x10,0x01,0x5e,0xc3,0xcc,0xcc, 0x0f,0xb6,0x82,0x98,0xd8,0x0b,0x10,0x53,0x55,0x56,0x8b,0x35,0x8c,0x98,0x0b,0x10, 0x05,0x01,0x10,0x00,0x00,0xb9,0x00,0x10,0x00,0x00,0x33,0xdb,0x57,0xbf,0x01,0x00, 0x00,0x00,0x89,0x0c,0x95,0x90,0x98,0x0b,0x10,0x89,0x0c,0x95,0x88,0x54,0x0b,0x10, 0x89,0x1d,0x84,0x54,0x0b,0x10,0x85,0xff,0x7c,0x1b,0x8b,0x0c,0x85,0x88,0x54,0x0b, 0x10,0x81,0xf9,0x00,0x10,0x00,0x00,0x75,0x1f,0x89,0x14,0x85,0x88,0x54,0x0b,0x10, 0xe9,0x0e,0x01,0x00,0x00,0x8b,0x0c,0x85,0x90,0x98,0x0b,0x10,0x81,0xf9,0x00,0x10, 0x00,0x00,0x0f,0x84,0xf4,0x00,0x00,0x00,0x8b,0xc1,0xb9,0x01,0x00,0x00,0x00,0x90, 0x0f,0xb6,0xac,0x08,0x98,0xd8,0x0b,0x10,0x0f,0xb6,0xbc,0x11,0x98,0xd8,0x0b,0x10, 0x2b,0xfd,0x75,0x08,0x83,0xc1,0x01,0x83,0xf9,0x3c,0x7c,0xe4,0x83,0xf9,0x02,0x7e, 0xa5,0x3b,0xcb,0x0f,0x8e,0x90,0x00,0x00,0x00,0x8b,0xf2,0x2b,0xf0,0x81,0xe6,0xff, 0x0f,0x00,0x00,0x83,0xee,0x01,0x83,0xf9,0x3c,0x8b,0xd9,0x0f,0x8c,0x7e,0x00,0x00, 0x00,0x8b,0x0c,0x85,0x80,0x14,0x0b,0x10,0x89,0x0c,0x95,0x80,0x14,0x0b,0x10,0x8b, 0x0c,0x85,0x90,0x98,0x0b,0x10,0x89,0x35,0x8c,0x98,0x0b,0x10,0x8d,0x34,0x85,0x80, 0x14,0x0b,0x10,0x89,0x0c,0x95,0x90,0x98,0x0b,0x10,0x8b,0x0c,0x85,0x88,0x54,0x0b, 0x10,0x89,0x0c,0x95,0x88,0x54,0x0b,0x10,0x8b,0x0c,0x85,0x90,0x98,0x0b,0x10,0x89, 0x14,0x8d,0x80,0x14,0x0b,0x10,0x8b,0x0c,0x85,0x88,0x54,0x0b,0x10,0x89,0x14,0x8d, 0x80,0x14,0x0b,0x10,0x8b,0x0e,0x03,0xc9,0x03,0xc9,0x39,0x81,0x88,0x54,0x0b,0x10, 0x89,0x1d,0x84,0x54,0x0b,0x10,0x75,0x33,0x5f,0xc7,0x06,0x00,0x10,0x00,0x00,0x5e, 0x5d,0x89,0x91,0x88,0x54,0x0b,0x10,0x5b,0xc3,0x0f,0x85,0x07,0xff,0xff,0xff,0x8b, 0xca,0x2b,0xc8,0x81,0xe1,0xff,0x0f,0x00,0x00,0x83,0xe9,0x01,0x3b,0xce,0x0f,0x83, 0xf2,0xfe,0xff,0xff,0x8b,0xf1,0xe9,0xeb,0xfe,0xff,0xff,0x5f,0xc7,0x06,0x00,0x10, 0x00,0x00,0x5e,0x5d,0x89,0x91,0x90,0x98,0x0b,0x10,0x5b,0xc3,0x89,0x14,0x85,0x90, 0x98,0x0b,0x10,0x5f,0x89,0x35,0x8c,0x98,0x0b,0x10,0x5e,0x5d,0x89,0x1d,0x84,0x54, 0x0b,0x10,0x89,0x04,0x95,0x80,0x14,0x0b,0x10,0x5b,0xc3,0xcc,0xcc,0xcc,0xcc,0xcc, 0x81,0x3c,0xbd,0x80,0x14,0x0b,0x10,0x00,0x10,0x00,0x00,0x53,0x8d,0x1c,0xbd,0x80, 0x14,0x0b,0x10,0x0f,0x84,0xdc,0x00,0x00,0x00,0x8b,0x04,0xbd,0x88,0x54,0x0b,0x10, 0x3d,0x00,0x10,0x00,0x00,0x75,0x0c,0x8b,0x04,0xbd,0x90,0x98,0x0b,0x10,0xe9,0x91, 0x00,0x00,0x00,0x56,0x8b,0x34,0xbd,0x90,0x98,0x0b,0x10,0x81,0xfe,0x00,0x10,0x00, 0x00,0x0f,0x84,0x7c,0x00,0x00,0x00,0x8b,0xc6,0x81,0x3c,0x85,0x88,0x54,0x0b,0x10, 0x00,0x10,0x00,0x00,0x8d,0x0c,0x85,0x88,0x54,0x0b,0x10,0x74,0x4a,0x8d,0x49,0x00, 0x8b,0x01,0x81,0x3c,0x85,0x88,0x54,0x0b,0x10,0x00,0x10,0x00,0x00,0x8d,0x0c,0x85, 0x88,0x54,0x0b,0x10,0x75,0xea,0x8b,0x0c,0x85,0x80,0x14,0x0b,0x10,0x8b,0x14,0x85, 0x90,0x98,0x0b,0x10,0x89,0x0c,0x95,0x80,0x14,0x0b,0x10,0x89,0x14,0x8d,0x88,0x54, 0x0b,0x10,0x89,0x34,0x85,0x90,0x98,0x0b,0x10,0x8b,0x0c,0xbd,0x90,0x98,0x0b,0x10, 0x89,0x04,0x8d,0x80,0x14,0x0b,0x10,0x8b,0x14,0xbd,0x88,0x54,0x0b,0x10,0x89,0x14, 0x85,0x88,0x54,0x0b,0x10,0x8b,0x0c,0xbd,0x88,0x54,0x0b,0x10,0x89,0x04,0x8d,0x80, 0x14,0x0b,0x10,0x5e,0x8b,0x13,0x89,0x14,0x85,0x80,0x14,0x0b,0x10,0x8b,0x0b,0x03, 0xc9,0x03,0xc9,0x39,0xb9,0x88,0x54,0x0b,0x10,0x75,0x0e,0xc7,0x03,0x00,0x10,0x00, 0x00,0x89,0x81,0x88,0x54,0x0b,0x10,0x5b,0xc3,0x89,0x81,0x90,0x98,0x0b,0x10,0xc7, 0x03,0x00,0x10,0x00,0x00,0x5b,0xc3,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc, 0x57,0xb9,0x3a,0x01,0x00,0x00,0xb8,0x01,0x00,0x00,0x00,0xbf,0xb0,0x0a,0x0b,0x10, 0xf3,0xab,0x33,0xd2,0x5f,0xeb,0x09,0x8d,0xa4,0x24,0x00,0x00,0x00,0x00,0x8b,0xff, 0x8d,0x82,0x73,0x02,0x00,0x00,0x89,0x04,0x95,0x28,0xf2,0x0a,0x10,0x89,0x14,0x95, 0xc4,0x05,0x0b,0x10,0x83,0xc2,0x01,0x81,0xfa,0x3a,0x01,0x00,0x00,0x7c,0xe1,0x33, 0xc9,0xb8,0x3a,0x01,0x00,0x00,0xeb,0x08,0x8d,0xa4,0x24,0x00,0x00,0x00,0x00,0x90, 0x8b,0x14,0x8d,0xb4,0x0a,0x0b,0x10,0x03,0x14,0x8d,0xb0,0x0a,0x0b,0x10,0x89,0x0c, 0x85,0x28,0xf2,0x0a,0x10,0x89,0x04,0x8d,0xfc,0xfb,0x0a,0x10,0x89,0x04,0x8d,0xf8, 0xfb,0x0a,0x10,0x89,0x14,0x85,0xb0,0x0a,0x0b,0x10,0x83,0xc0,0x01,0x83,0xc1,0x02, 0x3d,0x72,0x02,0x00,0x00,0x7e,0xc9,0xc7,0x05,0x7c,0x14,0x0b,0x10,0xff,0xff,0x00, 0x00,0xc7,0x05,0xc0,0x05,0x0b,0x10,0x00,0x00,0x00,0x00,0xc3,0xcc,0xcc,0xcc,0xcc, 0x83,0xec,0x08,0x56,0xba,0x28,0xf2,0x0a,0x10,0xb9,0xb0,0x0a,0x0b,0x10,0x33,0xc0, 0x57,0x8b,0xb0,0x28,0xf2,0x0a,0x10,0x81,0xfe,0x73,0x02,0x00,0x00,0x7c,0x15,0x8b, 0xb8,0xb0,0x0a,0x0b,0x10,0x83,0xc7,0x01,0xd1,0xef,0x89,0x39,0x89,0x32,0x83,0xc1, 0x04,0x83,0xc2,0x04,0x8b,0xb0,0x2c,0xf2,0x0a,0x10,0x81,0xfe,0x73,0x02,0x00,0x00, 0x7c,0x15,0x8b,0xb8,0xb4,0x0a,0x0b,0x10,0x83,0xc7,0x01,0xd1,0xef,0x89,0x39,0x89, 0x32,0x83,0xc1,0x04,0x83,0xc2,0x04,0x8b,0xb0,0x30,0xf2,0x0a,0x10,0x81,0xfe,0x73, 0x02,0x00,0x00,0x7c,0x15,0x8b,0xb8,0xb8,0x0a,0x0b,0x10,0x83,0xc7,0x01,0xd1,0xef, 0x89,0x39,0x89,0x32,0x83,0xc1,0x04,0x83,0xc2,0x04,0x83,0xc0,0x0c,0x3d,0xcc,0x09, 0x00,0x00,0x7c,0x8d,0x53,0x33,0xc0,0x55,0x89,0x44,0x24,0x10,0xbb,0x3a,0x01,0x00, 0x00,0xeb,0x04,0x8b,0x44,0x24,0x10,0x8b,0x0c,0x85,0xb4,0x0a,0x0b,0x10,0x8b,0x14, 0x85,0xb0,0x0a,0x0b,0x10,0x8d,0x04,0x11,0x89,0x04,0x9d,0xb0,0x0a,0x0b,0x10,0x3b, 0x04,0x9d,0xac,0x0a,0x0b,0x10,0x89,0x44,0x24,0x14,0x8d,0x73,0xff,0x73,0x0d,0x90, 0x83,0xee,0x01,0x3b,0x04,0xb5,0xb0,0x0a,0x0b,0x10,0x72,0xf4,0x83,0xc6,0x01,0x8b, 0xfb,0x2b,0xfe,0x03,0xff,0x03,0xff,0x57,0x8d,0x2c,0xb5,0xb0,0x0a,0x0b,0x10,0x8d, 0x04,0xb5,0xb4,0x0a,0x0b,0x10,0x55,0x50,0xff,0x15,0x7c,0xa1,0x02,0x10,0x8b,0x4c, 0x24,0x20,0x89,0x4d,0x00,0x57,0x8d,0x2c,0xb5,0x28,0xf2,0x0a,0x10,0x8d,0x14,0xb5, 0x2c,0xf2,0x0a,0x10,0x55,0x52,0xff,0x15,0x7c,0xa1,0x02,0x10,0x8b,0x44,0x24,0x28, 0x89,0x45,0x00,0x83,0xc0,0x02,0x83,0xc3,0x01,0x83,0xc4,0x18,0x81,0xfb,0x73,0x02, 0x00,0x00,0x89,0x44,0x24,0x10,0x0f,0x8c,0x67,0xff,0xff,0xff,0x5d,0xb8,0x02,0x00, 0x00,0x00,0xbe,0x2c,0xf2,0x0a,0x10,0x5b,0xeb,0x06,0x8d,0x9b,0x00,0x00,0x00,0x00, 0x8b,0x4e,0xfc,0x81,0xf9,0x73,0x02,0x00,0x00,0x8d,0x50,0xfe,0x89,0x14,0x8d,0xf8, 0xfb,0x0a,0x10,0x7d,0x07,0x89,0x14,0x8d,0xfc,0xfb,0x0a,0x10,0x8b,0x0e,0x81,0xf9, 0x73,0x02,0x00,0x00,0x8d,0x50,0xff,0x7d,0x07,0x89,0x14,0x8d,0xfc,0xfb,0x0a,0x10, 0x89,0x14,0x8d,0xf8,0xfb,0x0a,0x10,0x8b,0x4e,0x04,0x81,0xf9,0x73,0x02,0x00,0x00, 0x7d,0x07,0x89,0x04,0x8d,0xfc,0xfb,0x0a,0x10,0x89,0x04,0x8d,0xf8,0xfb,0x0a,0x10, 0x83,0xc0,0x03,0x8d,0x48,0xfe,0x83,0xc6,0x0c,0x81,0xf9,0x73,0x02,0x00,0x00,0x7c, 0x9f,0x5f,0x5e,0x83,0xc4,0x08,0xc3,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc, 0x81,0x3d,0x78,0x14,0x0b,0x10,0x00,0x40,0x00,0x00,0x75,0x05,0xe8,0x3f,0xfe,0xff, 0xff,0x8b,0x44,0x24,0x04,0x8b,0x14,0x85,0xc4,0x05,0x0b,0x10,0x56,0x57,0x8b,0xff, 0x83,0x04,0x95,0xb0,0x0a,0x0b,0x10,0x01,0x8b,0x0c,0x95,0xb0,0x0a,0x0b,0x10,0x8d, 0x42,0x01,0x3b,0x0c,0x85,0xb0,0x0a,0x0b,0x10,0x76,0x70,0xeb,0x03,0x8d,0x49,0x00, 0x83,0xc0,0x01,0x3b,0x0c,0x85,0xb0,0x0a,0x0b,0x10,0x77,0xf4,0x8b,0x34,0x85,0xac, 0x0a,0x0b,0x10,0x83,0xe8,0x01,0x89,0x34,0x95,0xb0,0x0a,0x0b,0x10,0x8d,0x3c,0x95, 0x28,0xf2,0x0a,0x10,0x89,0x0c,0x85,0xb0,0x0a,0x0b,0x10,0x8b,0x0f,0x81,0xf9,0x73, 0x02,0x00,0x00,0x89,0x04,0x8d,0xf8,0xfb,0x0a,0x10,0x7d,0x07,0x89,0x04,0x8d,0xfc, 0xfb,0x0a,0x10,0x8b,0x34,0x85,0x28,0xf2,0x0a,0x10,0x81,0xfe,0x73,0x02,0x00,0x00, 0x89,0x0c,0x85,0x28,0xf2,0x0a,0x10,0x89,0x14,0xb5,0xf8,0xfb,0x0a,0x10,0x7d,0x07, 0x89,0x14,0xb5,0xfc,0xfb,0x0a,0x10,0x89,0x37,0x8b,0xd0,0x8b,0x14,0x95,0xf8,0xfb, 0x0a,0x10,0x85,0xd2,0x0f,0x85,0x66,0xff,0xff,0xff,0x5f,0x5e,0xc3,0xcc,0xcc,0xcc, 0xa1,0xf0,0xef,0x0b,0x10,0x2b,0x05,0xec,0xef,0x0b,0x10,0x83,0xec,0x10,0x53,0x56, 0x50,0xb9,0x54,0xf8,0x03,0x10,0xa3,0xbc,0xe9,0x0b,0x10,0x8b,0xf0,0xe8,0x9e,0x6c, 0xff,0xff,0x8b,0x15,0xbc,0xe9,0x0b,0x10,0x81,0xe2,0xff,0x00,0x00,0x00,0x8d,0x0c, 0x30,0x52,0xa3,0xf8,0xef,0x0b,0x10,0x89,0x0d,0xfc,0xef,0x0b,0x10,0xa3,0x00,0xf0, 0x0b,0x10,0xe8,0x39,0xf8,0xff,0xff,0x0f,0xb6,0x05,0xbd,0xe9,0x0b,0x10,0x50,0xe8, 0x2c,0xf8,0xff,0xff,0x0f,0xb6,0x0d,0xbe,0xe9,0x0b,0x10,0x51,0xe8,0x1f,0xf8,0xff, 0xff,0x0f,0xb6,0x15,0xbf,0xe9,0x0b,0x10,0x52,0xe8,0x12,0xf8,0xff,0xff,0x33,0xdb, 0x39,0x1d,0xbc,0xe9,0x0b,0x10,0x0f,0x84,0xf3,0x03,0x00,0x00,0x55,0x57,0xe8,0x6d, 0xfc,0xff,0xff,0xb8,0x00,0x10,0x00,0x00,0x68,0xc4,0x0f,0x00,0x00,0xb9,0x00,0x01, 0x00,0x00,0xbf,0x8c,0x94,0x0b,0x10,0xf3,0xab,0x8b,0xc8,0x6a,0x20,0xbf,0x80,0x14, 0x0b,0x10,0x68,0x98,0xd8,0x0b,0x10,0xf3,0xab,0x89,0x5c,0x24,0x20,0xc7,0x44,0x24, 0x24,0xc4,0x0f,0x00,0x00,0xe8,0xc8,0x56,0x00,0x00,0x8b,0x15,0xf0,0xef,0x0b,0x10, 0x8b,0x0d,0xf4,0xef,0x0b,0x10,0x83,0xc4,0x0c,0x8d,0xa4,0x24,0x00,0x00,0x00,0x00, 0x3b,0xca,0x74,0x1f,0x0f,0xb6,0x01,0x83,0xc1,0x01,0x83,0xf8,0xff,0x89,0x0d,0xf4, 0xef,0x0b,0x10,0x74,0x0e,0x88,0x83,0x5c,0xe8,0x0b,0x10,0x83,0xc3,0x01,0x83,0xfb, 0x3c,0x7c,0xdd,0x89,0x5c,0x24,0x10,0x89,0x1d,0xbc,0xe9,0x0b,0x10,0xba,0xc3,0x0f, 0x00,0x00,0xe8,0x69,0xf9,0xff,0xff,0x83,0xea,0x01,0x81,0xfa,0x88,0x0f,0x00,0x00, 0x7d,0xf0,0xba,0xc4,0x0f,0x00,0x00,0xe8,0x54,0xf9,0xff,0xff,0xa1,0x84,0x54,0x0b, 0x10,0x3b,0xc3,0x7e,0x07,0x8b,0xc3,0xa3,0x84,0x54,0x0b,0x10,0x33,0xf6,0x33,0xff, 0x83,0xf8,0x02,0x7f,0x60,0x8b,0x44,0x24,0x18,0x0f,0xb6,0xa8,0x98,0xd8,0x0b,0x10, 0x8b,0x04,0xad,0xc4,0x05,0x0b,0x10,0xc7,0x05,0x84,0x54,0x0b,0x10,0x01,0x00,0x00, 0x00,0xd1,0xee,0xa8,0x01,0x74,0x06,0x81,0xc6,0x00,0x80,0x00,0x00,0x8b,0x04,0x85, 0xf8,0xfb,0x0a,0x10,0x83,0xc7,0x01,0x3d,0x72,0x02,0x00,0x00,0x75,0xe3,0x8b,0xc6, 0xe8,0x7b,0xf8,0xff,0xff,0x55,0x89,0x35,0xf4,0xfb,0x0a,0x10,0x89,0x3d,0xa4,0xf1, 0x0a,0x10,0xe8,0xb9,0xfd,0xff,0xff,0x8b,0x2d,0xe8,0xef,0x0b,0x10,0x83,0xc4,0x04, 0xe9,0x8a,0x01,0x00,0x00,0x8d,0xa8,0xfd,0x00,0x00,0x00,0x8b,0x04,0xad,0xc4,0x05, 0x0b,0x10,0xd1,0xee,0xa8,0x01,0x74,0x06,0x81,0xc6,0x00,0x80,0x00,0x00,0x8b,0x04, 0x85,0xf8,0xfb,0x0a,0x10,0x83,0xc7,0x01,0x3d,0x72,0x02,0x00,0x00,0x75,0xe3,0x8b, 0xc6,0xe8,0x2a,0xf8,0xff,0xff,0x55,0x89,0x35,0xf4,0xfb,0x0a,0x10,0x89,0x3d,0xa4, 0xf1,0x0a,0x10,0xe8,0x68,0xfd,0xff,0xff,0xa1,0x8c,0x98,0x0b,0x10,0x8b,0xf0,0xc1, 0xe8,0x06,0x0f,0xb6,0xb8,0xb0,0xf1,0x03,0x10,0x33,0xc9,0x8a,0xa8,0xf0,0xf1,0x03, 0x10,0x83,0xc4,0x04,0x8b,0xc1,0xe8,0xf5,0xf7,0xff,0xff,0x8b,0x2d,0xe8,0xef,0x0b, 0x10,0xa1,0xe4,0xef,0x0b,0x10,0x83,0xe6,0x3f,0xc1,0xe6,0x0a,0x8b,0xcd,0x8b,0xd6, 0xd3,0xea,0x83,0xc5,0x06,0x89,0x2d,0xe8,0xef,0x0b,0x10,0x0b,0xc2,0x83,0xfd,0x08, 0xa3,0xe4,0xef,0x0b,0x10,0x0f,0x82,0xf4,0x00,0x00,0x00,0x8b,0x0d,0xfc,0xef,0x0b, 0x10,0xc1,0xe8,0x08,0x8b,0xd8,0xa1,0x00,0xf0,0x0b,0x10,0x3b,0xc1,0x75,0x33,0xa1, 0xf8,0xef,0x0b,0x10,0x2b,0xc8,0x8b,0xf9,0x8d,0x8f,0x00,0x04,0x00,0x00,0x51,0x50, 0xb9,0x54,0xf8,0x03,0x10,0xe8,0xc6,0x6b,0xff,0xff,0xa3,0xf8,0xef,0x0b,0x10,0x03, 0xc7,0x8d,0x90,0x00,0x04,0x00,0x00,0xa3,0x00,0xf0,0x0b,0x10,0x89,0x15,0xfc,0xef, 0x0b,0x10,0x88,0x18,0x8b,0x2d,0xe8,0xef,0x0b,0x10,0xb8,0x01,0x00,0x00,0x00,0x01, 0x05,0x00,0xf0,0x0b,0x10,0x83,0xed,0x08,0x83,0xfd,0x08,0x89,0x2d,0xe8,0xef,0x0b, 0x10,0x72,0x7b,0xa1,0xfc,0xef,0x0b,0x10,0x39,0x05,0x00,0xf0,0x0b,0x10,0x8b,0x1d, 0xe4,0xef,0x0b,0x10,0x75,0x32,0x8b,0x0d,0xf8,0xef,0x0b,0x10,0x2b,0xc1,0x8b,0xf8, 0x8d,0x87,0x00,0x04,0x00,0x00,0x50,0x51,0xb9,0x54,0xf8,0x03,0x10,0xe8,0x5e,0x6b, 0xff,0xff,0xa3,0xf8,0xef,0x0b,0x10,0x03,0xc7,0xa3,0x00,0xf0,0x0b,0x10,0x05,0x00, 0x04,0x00,0x00,0xa3,0xfc,0xef,0x0b,0x10,0x8b,0x0d,0x00,0xf0,0x0b,0x10,0x83,0x05, 0xc0,0xe9,0x0b,0x10,0x02,0x88,0x19,0x8b,0x2d,0xe8,0xef,0x0b,0x10,0x83,0x05,0x00, 0xf0,0x0b,0x10,0x01,0x83,0xed,0x08,0xb9,0x06,0x00,0x00,0x00,0x2b,0xcd,0xd3,0xe6, 0x89,0x2d,0xe8,0xef,0x0b,0x10,0x89,0x35,0xe4,0xef,0x0b,0x10,0xeb,0x0d,0xc1,0x25, 0xe4,0xef,0x0b,0x10,0x08,0x01,0x05,0xc0,0xe9,0x0b,0x10,0x8b,0x5c,0x24,0x10,0xa1, 0x84,0x54,0x0b,0x10,0x8b,0xc8,0x33,0xf6,0x85,0xc9,0x89,0x4c,0x24,0x1c,0x7e,0x74, 0xa1,0xf4,0xef,0x0b,0x10,0x3b,0x05,0xf0,0xef,0x0b,0x10,0x74,0x62,0x0f,0xb6,0x18, 0x83,0xc0,0x01,0x83,0xfb,0xff,0xa3,0xf4,0xef,0x0b,0x10,0x74,0x4e,0x8b,0x7c,0x24, 0x14,0xe8,0x9a,0xf8,0xff,0xff,0x83,0xff,0x3b,0x88,0x9f,0x98,0xd8,0x0b,0x10,0x7d, 0x06,0x88,0x9f,0x98,0xe8,0x0b,0x10,0x8b,0x54,0x24,0x18,0x83,0xc7,0x01,0x83,0xc2, 0x01,0x81,0xe2,0xff,0x0f,0x00,0x00,0x81,0xe7,0xff,0x0f,0x00,0x00,0x89,0x7c,0x24, 0x14,0x89,0x54,0x24,0x18,0xe8,0xe6,0xf6,0xff,0xff,0x8b,0x4c,0x24,0x1c,0x8b,0x5c, 0x24,0x10,0x83,0xc6,0x01,0x3b,0xf1,0x7c,0x97,0xeb,0x04,0x8b,0x5c,0x24,0x10,0xa1, 0x84,0x54,0x0b,0x10,0x01,0x35,0xbc,0xe9,0x0b,0x10,0x3b,0xf1,0x7d,0x44,0x2b,0xce, 0x8b,0xf1,0x8b,0x7c,0x24,0x14,0xe8,0x35,0xf8,0xff,0xff,0x8b,0x4c,0x24,0x18,0x8b, 0xc7,0x83,0xc0,0x01,0x8d,0x51,0x01,0x25,0xff,0x0f,0x00,0x00,0x81,0xe2,0xff,0x0f, 0x00,0x00,0x83,0xeb,0x01,0x89,0x44,0x24,0x14,0x89,0x54,0x24,0x18,0x74,0x05,0xe8, 0x8c,0xf6,0xff,0xff,0x83,0xee,0x01,0x75,0xc9,0xa1,0x84,0x54,0x0b,0x10,0x89,0x5c, 0x24,0x10,0x85,0xdb,0x0f,0x8f,0x27,0xfd,0xff,0xff,0x5f,0x85,0xed,0x5d,0x74,0x63, 0x8b,0x1d,0xe4,0xef,0x0b,0x10,0xa1,0xfc,0xef,0x0b,0x10,0xc1,0xeb,0x08,0x39,0x05, 0x00,0xf0,0x0b,0x10,0x75,0x35,0x8b,0x0d,0xf8,0xef,0x0b,0x10,0x2b,0xc1,0x8b,0xf0, 0x8d,0x96,0x00,0x04,0x00,0x00,0x52,0x51,0xb9,0x54,0xf8,0x03,0x10,0xe8,0xee,0x69, 0xff,0xff,0x03,0xf0,0x89,0x35,0x00,0xf0,0x0b,0x10,0x81,0xc6,0x00,0x04,0x00,0x00, 0xa3,0xf8,0xef,0x0b,0x10,0x89,0x35,0xfc,0xef,0x0b,0x10,0xa1,0x00,0xf0,0x0b,0x10, 0x88,0x18,0xb8,0x01,0x00,0x00,0x00,0x01,0x05,0x00,0xf0,0x0b,0x10,0x01,0x05,0xc0, 0xe9,0x0b,0x10,0x8b,0x0d,0xbc,0xe9,0x0b,0x10,0x89,0x0d,0xc4,0xe9,0x0b,0x10,0x5e, 0x5b,0x83,0xc4,0x10,0xc3,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc, 0xa1,0xf4,0xef,0x0b,0x10,0x83,0xec,0x0c,0x56,0x8b,0x35,0xf0,0xef,0x0b,0x10,0x3b, 0xc6,0x75,0x05,0x83,0xca,0xff,0xeb,0x0b,0x0f,0xb6,0x10,0x83,0xc0,0x01,0xa3,0xf4, 0xef,0x0b,0x10,0x3b,0xc6,0x75,0x05,0x83,0xc9,0xff,0xeb,0x0b,0x0f,0xb6,0x08,0x83, 0xc0,0x01,0xa3,0xf4,0xef,0x0b,0x10,0xc1,0xe1,0x08,0x0b,0xca,0x3b,0xc6,0x75,0x05, 0x83,0xca,0xff,0xeb,0x0b,0x0f,0xb6,0x10,0x83,0xc0,0x01,0xa3,0xf4,0xef,0x0b,0x10, 0xc1,0xe2,0x10,0x0b,0xca,0x3b,0xc6,0x75,0x05,0x83,0xca,0xff,0xeb,0x0b,0x0f,0xb6, 0x10,0x83,0xc0,0x01,0xa3,0xf4,0xef,0x0b,0x10,0xc1,0xe2,0x18,0x0b,0xca,0x89,0x0d, 0xbc,0xe9,0x0b,0x10,0x0f,0x84,0xfd,0x01,0x00,0x00,0x55,0x57,0x8b,0xf1,0x51,0xb9, 0x54,0xf8,0x03,0x10,0xe8,0xb7,0x67,0xff,0xff,0x8d,0x0c,0x30,0xa3,0xf8,0xef,0x0b, 0x10,0x89,0x0d,0xfc,0xef,0x0b,0x10,0xa3,0x00,0xf0,0x0b,0x10,0xe8,0xcf,0xf7,0xff, 0xff,0x68,0xc4,0x0f,0x00,0x00,0x6a,0x20,0x68,0x98,0xd8,0x0b,0x10,0xe8,0x50,0x52, 0x00,0x00,0x33,0xff,0x83,0xc4,0x0c,0x39,0x3d,0xbc,0xe9,0x0b,0x10,0xbd,0xc4,0x0f, 0x00,0x00,0x89,0x7c,0x24,0x0c,0x0f,0x86,0xa3,0x01,0x00,0x00,0x53,0x8d,0x49,0x00, 0x8b,0x1d,0xf0,0xfb,0x0a,0x10,0x81,0xfb,0x73,0x02,0x00,0x00,0x73,0x18,0x8b,0xff, 0xe8,0x8b,0xf3,0xff,0xff,0x03,0xd8,0x8b,0x1c,0x9d,0x28,0xf2,0x0a,0x10,0x81,0xfb, 0x73,0x02,0x00,0x00,0x72,0xea,0x81,0xeb,0x73,0x02,0x00,0x00,0x53,0xe8,0xbe,0xf9, 0xff,0xff,0x83,0xc4,0x04,0x81,0xfb,0x00,0x01,0x00,0x00,0x7d,0x66,0xa1,0x00,0xf0, 0x0b,0x10,0x8b,0x0d,0xfc,0xef,0x0b,0x10,0x3b,0xc1,0x75,0x33,0xa1,0xf8,0xef,0x0b, 0x10,0x2b,0xc8,0x8b,0xf1,0x8d,0x96,0x00,0x04,0x00,0x00,0x52,0x50,0xb9,0x54,0xf8, 0x03,0x10,0xe8,0x69,0x68,0xff,0xff,0xa3,0xf8,0xef,0x0b,0x10,0x03,0xc6,0x8d,0x88, 0x00,0x04,0x00,0x00,0xa3,0x00,0xf0,0x0b,0x10,0x89,0x0d,0xfc,0xef,0x0b,0x10,0x88, 0x18,0x83,0x05,0x00,0xf0,0x0b,0x10,0x01,0x88,0x9d,0x98,0xd8,0x0b,0x10,0x83,0xc5, 0x01,0x81,0xe5,0xff,0x0f,0x00,0x00,0x83,0xc7,0x01,0x89,0x7c,0x24,0x10,0xe9,0xeb, 0x00,0x00,0x00,0xe8,0x78,0xf3,0xff,0xff,0x8b,0xf0,0x0f,0xb6,0x86,0x30,0xf2,0x03, 0x10,0x0f,0xb6,0xbe,0x30,0xf3,0x03,0x10,0xc1,0xe0,0x06,0x83,0xef,0x02,0x89,0x44, 0x24,0x14,0x74,0x13,0x83,0xef,0x01,0xe8,0xd4,0xf2,0xff,0xff,0x85,0xff,0x8d,0x34, 0x70,0x75,0xf1,0x8b,0x44,0x24,0x14,0x83,0xe6,0x3f,0x0b,0xf0,0x8b,0xfd,0x2b,0xfe, 0x83,0xef,0x01,0x81,0xc3,0x03,0xff,0xff,0xff,0x81,0xe7,0xff,0x0f,0x00,0x00,0x33, 0xf6,0x85,0xdb,0x89,0x5c,0x24,0x14,0x0f,0x8e,0x91,0x00,0x00,0x00,0x01,0x5c,0x24, 0x10,0xa1,0x00,0xf0,0x0b,0x10,0xeb,0x08,0x8d,0xa4,0x24,0x00,0x00,0x00,0x00,0x90, 0x8b,0x0d,0xfc,0xef,0x0b,0x10,0x8d,0x14,0x3e,0x81,0xe2,0xff,0x0f,0x00,0x00,0x3b, 0xc1,0x0f,0xb6,0x92,0x98,0xd8,0x0b,0x10,0x89,0x54,0x24,0x18,0x75,0x3b,0xa1,0xf8, 0xef,0x0b,0x10,0x2b,0xc8,0x8b,0xd9,0x8d,0x8b,0x00,0x04,0x00,0x00,0x51,0x50,0xb9, 0x54,0xf8,0x03,0x10,0xe8,0x87,0x67,0xff,0xff,0xa3,0xf8,0xef,0x0b,0x10,0x03,0xc3, 0x8b,0x5c,0x24,0x14,0x8d,0x90,0x00,0x04,0x00,0x00,0x89,0x15,0xfc,0xef,0x0b,0x10, 0x8b,0x54,0x24,0x18,0xa3,0x00,0xf0,0x0b,0x10,0x88,0x10,0xa1,0x00,0xf0,0x0b,0x10, 0x88,0x95,0x98,0xd8,0x0b,0x10,0x83,0xc5,0x01,0x83,0xc0,0x01,0x83,0xc6,0x01,0x81, 0xe5,0xff,0x0f,0x00,0x00,0x3b,0xf3,0xa3,0x00,0xf0,0x0b,0x10,0x7c,0x82,0x8b,0x7c, 0x24,0x10,0x3b,0x3d,0xbc,0xe9,0x0b,0x10,0x0f,0x82,0x62,0xfe,0xff,0xff,0x5b,0x89, 0x3d,0xc4,0xe9,0x0b,0x10,0x5f,0x5d,0x5e,0x83,0xc4,0x0c,0xc3,0xcc,0xcc,0xcc,0xcc, 0x8d,0x14,0x08,0xa3,0xec,0xef,0x0b,0x10,0xa3,0xf4,0xef,0x0b,0x10,0x33,0xc0,0x89, 0x15,0xf0,0xef,0x0b,0x10,0xa3,0xe8,0xef,0x0b,0x10,0xa3,0xe4,0xef,0x0b,0x10,0xa3, 0xe0,0xef,0x0b,0x10,0xa3,0xdc,0xef,0x0b,0x10,0xe8,0x52,0xfd,0xff,0xff,0xa1,0xf8, 0xef,0x0b,0x10,0x8b,0x4c,0x24,0x04,0x8b,0x15,0x00,0xf0,0x0b,0x10,0x2b,0xd0,0x89, 0x01,0x8b,0x44,0x24,0x08,0x89,0x10,0xc3, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, }; void (*__cdecl stalker_lza)(void *in, int insz, unsigned char **out, int *outsz) = NULL; static void* __stdcall stalker_lza_malloc(int size) { return(malloc(size)); } static void* __stdcall stalker_lza_realloc(void *data, int size) { return(realloc(data, size)); } static void* __cdecl stalker_lza_memset(void *data, int c, int size) { return(memset(data, c, size)); } static void* __cdecl stalker_lza_memmove(void *dest, void *src, int size) { return(memmove(dest, src, size)); } // anti DEP limitation! if you apply VirtualAlloc on a static char // it will cover also the rest of the page included other variables! void *stalker_lza_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 stalker_lza_init(void) { if(stalker_lza) return; x100af1a4 = calloc(0x10f00, 1); x1003f1b0 = calloc(0x280, 1); // 0x6a4 is not used memcpy(x1003f1b0, "\x03\x04\x04\x04\x05\x05\x05\x05\x05\x05\x05\x05\x06\x06\x06\x06" "\x06\x06\x06\x06\x06\x06\x06\x06\x07\x07\x07\x07\x07\x07\x07\x07" "\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07" "\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08" "\x00\x20\x30\x40\x50\x58\x60\x68\x70\x78\x80\x88\x90\x94\x98\x9c" "\xa0\xa4\xa8\xac\xb0\xb4\xb8\xbc\xc0\xc2\xc4\xc6\xc8\xca\xcc\xce" "\xd0\xd2\xd4\xd6\xd8\xda\xdc\xde\xe0\xe2\xe4\xe6\xe8\xea\xec\xee" "\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff", 0x80); memcpy(x1003f1b0 + 0x00000080, "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" "\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01" "\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02\x02" "\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03" "\x04\x04\x04\x04\x04\x04\x04\x04\x05\x05\x05\x05\x05\x05\x05\x05" "\x06\x06\x06\x06\x06\x06\x06\x06\x07\x07\x07\x07\x07\x07\x07\x07" "\x08\x08\x08\x08\x08\x08\x08\x08\x09\x09\x09\x09\x09\x09\x09\x09" "\x0a\x0a\x0a\x0a\x0a\x0a\x0a\x0a\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b" "\x0c\x0c\x0c\x0c\x0d\x0d\x0d\x0d\x0e\x0e\x0e\x0e\x0f\x0f\x0f\x0f" "\x10\x10\x10\x10\x11\x11\x11\x11\x12\x12\x12\x12\x13\x13\x13\x13" "\x14\x14\x14\x14\x15\x15\x15\x15\x16\x16\x16\x16\x17\x17\x17\x17" "\x18\x18\x19\x19\x1a\x1a\x1b\x1b\x1c\x1c\x1d\x1d\x1e\x1e\x1f\x1f" "\x20\x20\x21\x21\x22\x22\x23\x23\x24\x24\x25\x25\x26\x26\x27\x27" "\x28\x28\x29\x29\x2a\x2a\x2b\x2b\x2c\x2c\x2d\x2d\x2e\x2e\x2f\x2f" "\x30\x31\x32\x33\x34\x35\x36\x37\x38\x39\x3a\x3b\x3c\x3d\x3e\x3f", 0x100); memcpy(x1003f1b0 + 0x00000180, "\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03" "\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03" "\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04" "\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04" "\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04" "\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05" "\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05" "\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05" "\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05" "\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06" "\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06" "\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06\x06" "\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07" "\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07" "\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07\x07" "\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08\x08", 0x100); #define PATCHIT(X,Y) *(int *)(stalker_lza_dump + X) = (int)(Y); PATCHIT(0x00000002, x100af1a4 + 0x0000fe5c) // mov ecx, dword ptr [100BF000] PATCHIT(0x00000007, x100af1a4 + 0x0000fe58) // mov eax, dword ptr [100BEFFC] PATCHIT(0x00000016, x100af1a4 + 0x0000fe54) // mov ecx, dword ptr [100BEFF8] PATCHIT(0x00000028, x1003f1b0 + 0x000006a4) // mov ecx, 1003F854 PATCHIT(0x00000032, x100af1a4 + 0x0000fe54) // mov dword ptr [100BEFF8], eax PATCHIT(0x0000003f, x100af1a4 + 0x0000fe5c) // mov dword ptr [100BF000], eax PATCHIT(0x00000045, x100af1a4 + 0x0000fe58) // mov dword ptr [100BEFFC], ecx PATCHIT(0x0000004d, x100af1a4 + 0x0000fe5c) // add dword ptr [100BF000], 1 PATCHIT(0x0000005b, x100af1a4 + 0x0000fe5c) // add dword ptr [100BF000], 1 PATCHIT(0x00000072, x100af1a4 + 0x0000fe3c) // mov edx, dword ptr [100BEFE0] PATCHIT(0x0000007e, x100af1a4 + 0x0000fe50) // mov esi, dword ptr [100BEFF4] PATCHIT(0x00000085, x100af1a4 + 0x0000fe4c) // mov edi, dword ptr [100BEFF0] PATCHIT(0x000000a1, x100af1a4 + 0x0000fe50) // mov dword ptr [100BEFF4], esi PATCHIT(0x000000b9, x100af1a4 + 0x0000fe3c) // mov dword ptr [100BEFE0], edx PATCHIT(0x000000bf, x100af1a4 + 0x0000fe38) // or dword ptr [100BEFDC], eax PATCHIT(0x000000cc, x100af1a4 + 0x0000fe38) // mov ecx, dword ptr [100BEFDC] PATCHIT(0x000000dc, x100af1a4 + 0x0000fe38) // mov dword ptr [100BEFDC], ecx PATCHIT(0x000000e2, x100af1a4 + 0x0000fe3c) // mov dword ptr [100BEFE0], edx PATCHIT(0x000000f2, x100af1a4 + 0x0000fe3c) // mov edx, dword ptr [100BEFE0] PATCHIT(0x000000fe, x100af1a4 + 0x0000fe50) // mov esi, dword ptr [100BEFF4] PATCHIT(0x00000105, x100af1a4 + 0x0000fe4c) // mov edi, dword ptr [100BEFF0] PATCHIT(0x00000121, x100af1a4 + 0x0000fe50) // mov dword ptr [100BEFF4], esi PATCHIT(0x00000139, x100af1a4 + 0x0000fe3c) // mov dword ptr [100BEFE0], edx PATCHIT(0x0000013f, x100af1a4 + 0x0000fe38) // or dword ptr [100BEFDC], eax PATCHIT(0x0000014c, x100af1a4 + 0x0000fe38) // mov ecx, dword ptr [100BEFDC] PATCHIT(0x0000015a, x100af1a4 + 0x0000fe38) // mov dword ptr [100BEFDC], ecx PATCHIT(0x00000160, x100af1a4 + 0x0000fe3c) // mov dword ptr [100BEFE0], edx PATCHIT(0x00000172, x100af1a4 + 0x0000fe44) // mov ecx, dword ptr [100BEFE8] PATCHIT(0x0000017a, x100af1a4 + 0x0000fe40) // mov eax, dword ptr [100BEFE4] PATCHIT(0x00000186, x100af1a4 + 0x0000fe44) // mov dword ptr [100BEFE8], ecx PATCHIT(0x00000190, x100af1a4 + 0x0000fe40) // mov dword ptr [100BEFE4], eax PATCHIT(0x000001a0, x100af1a4 + 0x0000fe44) // mov eax, dword ptr [100BEFE8] PATCHIT(0x000001ab, x100af1a4 + 0x0000fe44) // mov dword ptr [100BEFE8], eax PATCHIT(0x000001b2, x100af1a4 + 0x0000fe40) // mov eax, dword ptr [100BEFE4] PATCHIT(0x000001bd, x100af1a4 + 0x0000fe44) // mov eax, dword ptr [100BEFE8] PATCHIT(0x000001c3, x100af1a4 + 0x0000f81c) // add dword ptr [100BE9C0], 2 PATCHIT(0x000001d2, x100af1a4 + 0x0000fe44) // mov dword ptr [100BEFE8], eax PATCHIT(0x000001d8, x100af1a4 + 0x0000fe40) // mov dword ptr [100BEFE4], esi PATCHIT(0x000001e0, x100af1a4 + 0x0000fe40) // shl dword ptr [100BEFE4], 8 PATCHIT(0x000001e7, x100af1a4 + 0x0000f81c) // add dword ptr [100BE9C0], 1 PATCHIT(0x000001f3, x100af1a4 + 0x0000e6f4) // movzx eax, byte ptr [edx+100BD898] PATCHIT(0x000001fc, x100af1a4 + 0x0000a6e8) // mov esi, dword ptr [100B988C] PATCHIT(0x00000215, x100af1a4 + 0x0000a6ec) // mov dword ptr [edx*4+100B9890], ecx PATCHIT(0x0000021c, x100af1a4 + 0x000062e4) // mov dword ptr [edx*4+100B5488], ecx PATCHIT(0x00000222, x100af1a4 + 0x000062e0) // mov dword ptr [100B5484], ebx PATCHIT(0x0000022d, x100af1a4 + 0x000062e4) // mov ecx, dword ptr [eax*4+100B5488] PATCHIT(0x0000023c, x100af1a4 + 0x000062e4) // mov dword ptr [eax*4+100B5488], edx PATCHIT(0x00000248, x100af1a4 + 0x0000a6ec) // mov ecx, dword ptr [eax*4+100B9890] PATCHIT(0x00000264, x100af1a4 + 0x0000e6f4) // movzx ebp, byte ptr [eax+ecx+100BD898] PATCHIT(0x0000026c, x100af1a4 + 0x0000e6f4) // movzx edi, byte ptr [ecx+edx+100BD898] PATCHIT(0x000002a4, x100af1a4 + 0x000022dc) // mov ecx, dword ptr [eax*4+100B1480] PATCHIT(0x000002ab, x100af1a4 + 0x000022dc) // mov dword ptr [edx*4+100B1480], ecx PATCHIT(0x000002b2, x100af1a4 + 0x0000a6ec) // mov ecx, dword ptr [eax*4+100B9890] PATCHIT(0x000002b8, x100af1a4 + 0x0000a6e8) // mov dword ptr [100B988C], esi PATCHIT(0x000002bf, x100af1a4 + 0x000022dc) // lea esi, dword ptr [eax*4+100B1480] PATCHIT(0x000002c6, x100af1a4 + 0x0000a6ec) // mov dword ptr [edx*4+100B9890], ecx PATCHIT(0x000002cd, x100af1a4 + 0x000062e4) // mov ecx, dword ptr [eax*4+100B5488] PATCHIT(0x000002d4, x100af1a4 + 0x000062e4) // mov dword ptr [edx*4+100B5488], ecx PATCHIT(0x000002db, x100af1a4 + 0x0000a6ec) // mov ecx, dword ptr [eax*4+100B9890] PATCHIT(0x000002e2, x100af1a4 + 0x000022dc) // mov dword ptr [ecx*4+100B1480], edx PATCHIT(0x000002e9, x100af1a4 + 0x000062e4) // mov ecx, dword ptr [eax*4+100B5488] PATCHIT(0x000002f0, x100af1a4 + 0x000022dc) // mov dword ptr [ecx*4+100B1480], edx PATCHIT(0x000002fc, x100af1a4 + 0x000062e4) // cmp dword ptr [ecx+100B5488], eax PATCHIT(0x00000302, x100af1a4 + 0x000062e0) // mov dword ptr [100B5484], ebx PATCHIT(0x00000313, x100af1a4 + 0x000062e4) // mov dword ptr [ecx+100B5488], edx PATCHIT(0x00000346, x100af1a4 + 0x0000a6ec) // mov dword ptr [ecx+100B9890], edx PATCHIT(0x0000034f, x100af1a4 + 0x0000a6ec) // mov dword ptr [eax*4+100B9890], edx PATCHIT(0x00000356, x100af1a4 + 0x0000a6e8) // mov dword ptr [100B988C], esi PATCHIT(0x0000035e, x100af1a4 + 0x000062e0) // mov dword ptr [100B5484], ebx PATCHIT(0x00000365, x100af1a4 + 0x000022dc) // mov dword ptr [edx*4+100B1480], eax PATCHIT(0x00000373, x100af1a4 + 0x000022dc) // cmp dword ptr [edi*4+100B1480], 1000 PATCHIT(0x0000037f, x100af1a4 + 0x000022dc) // lea ebx, dword ptr [edi*4+100B1480] PATCHIT(0x0000038c, x100af1a4 + 0x000062e4) // mov eax, dword ptr [edi*4+100B5488] PATCHIT(0x0000039a, x100af1a4 + 0x0000a6ec) // mov eax, dword ptr [edi*4+100B9890] PATCHIT(0x000003a7, x100af1a4 + 0x0000a6ec) // mov esi, dword ptr [edi*4+100B9890] PATCHIT(0x000003bc, x100af1a4 + 0x000062e4) // cmp dword ptr [eax*4+100B5488], 1000 PATCHIT(0x000003c7, x100af1a4 + 0x000062e4) // lea ecx, dword ptr [eax*4+100B5488] PATCHIT(0x000003d5, x100af1a4 + 0x000062e4) // cmp dword ptr [eax*4+100B5488], 1000 PATCHIT(0x000003e0, x100af1a4 + 0x000062e4) // lea ecx, dword ptr [eax*4+100B5488] PATCHIT(0x000003e9, x100af1a4 + 0x000022dc) // mov ecx, dword ptr [eax*4+100B1480] PATCHIT(0x000003f0, x100af1a4 + 0x0000a6ec) // mov edx, dword ptr [eax*4+100B9890] PATCHIT(0x000003f7, x100af1a4 + 0x000022dc) // mov dword ptr [edx*4+100B1480], ecx PATCHIT(0x000003fe, x100af1a4 + 0x000062e4) // mov dword ptr [ecx*4+100B5488], edx PATCHIT(0x00000405, x100af1a4 + 0x0000a6ec) // mov dword ptr [eax*4+100B9890], esi PATCHIT(0x0000040c, x100af1a4 + 0x0000a6ec) // mov ecx, dword ptr [edi*4+100B9890] PATCHIT(0x00000413, x100af1a4 + 0x000022dc) // mov dword ptr [ecx*4+100B1480], eax PATCHIT(0x0000041a, x100af1a4 + 0x000062e4) // mov edx, dword ptr [edi*4+100B5488] PATCHIT(0x00000421, x100af1a4 + 0x000062e4) // mov dword ptr [eax*4+100B5488], edx PATCHIT(0x00000428, x100af1a4 + 0x000062e4) // mov ecx, dword ptr [edi*4+100B5488] PATCHIT(0x0000042f, x100af1a4 + 0x000022dc) // mov dword ptr [ecx*4+100B1480], eax PATCHIT(0x00000439, x100af1a4 + 0x000022dc) // mov dword ptr [eax*4+100B1480], edx PATCHIT(0x00000445, x100af1a4 + 0x000062e4) // cmp dword ptr [ecx+100B5488], edi PATCHIT(0x00000453, x100af1a4 + 0x000062e4) // mov dword ptr [ecx+100B5488], eax PATCHIT(0x0000045b, x100af1a4 + 0x0000a6ec) // mov dword ptr [ecx+100B9890], eax PATCHIT(0x0000047c, x100af1a4 + 0x0000190c) // mov edi, 100B0AB0 PATCHIT(0x00000499, x100af1a4 + 0x00000084) // mov dword ptr [edx*4+100AF228], eax PATCHIT(0x000004a0, x100af1a4 + 0x00001420) // mov dword ptr [edx*4+100B05C4], edx PATCHIT(0x000004c3, x100af1a4 + 0x00001910) // mov edx, dword ptr [ecx*4+100B0AB4] PATCHIT(0x000004ca, x100af1a4 + 0x0000190c) // add edx, dword ptr [ecx*4+100B0AB0] PATCHIT(0x000004d1, x100af1a4 + 0x00000084) // mov dword ptr [eax*4+100AF228], ecx PATCHIT(0x000004d8, x100af1a4 + 0x00000a58) // mov dword ptr [ecx*4+100AFBFC], eax PATCHIT(0x000004df, x100af1a4 + 0x00000a54) // mov dword ptr [ecx*4+100AFBF8], eax PATCHIT(0x000004e6, x100af1a4 + 0x0000190c) // mov dword ptr [eax*4+100B0AB0], edx PATCHIT(0x000004f9, x100af1a4 + 0x000022d8) // mov dword ptr [100B147C], FFFF PATCHIT(0x00000503, x100af1a4 + 0x0000141c) // mov dword ptr [100B05C0], 0 PATCHIT(0x00000515, x100af1a4 + 0x00000084) // mov edx, 100AF228 PATCHIT(0x0000051a, x100af1a4 + 0x0000190c) // mov ecx, 100B0AB0 PATCHIT(0x00000523, x100af1a4 + 0x00000084) // mov esi, dword ptr [eax+100AF228] PATCHIT(0x00000531, x100af1a4 + 0x0000190c) // mov edi, dword ptr [eax+100B0AB0] PATCHIT(0x00000546, x100af1a4 + 0x00000088) // mov esi, dword ptr [eax+100AF22C] PATCHIT(0x00000554, x100af1a4 + 0x00001910) // mov edi, dword ptr [eax+100B0AB4] PATCHIT(0x00000569, x100af1a4 + 0x0000008c) // mov esi, dword ptr [eax+100AF230] PATCHIT(0x00000577, x100af1a4 + 0x00001914) // mov edi, dword ptr [eax+100B0AB8] PATCHIT(0x000005aa, x100af1a4 + 0x00001910) // mov ecx, dword ptr [eax*4+100B0AB4] PATCHIT(0x000005b1, x100af1a4 + 0x0000190c) // mov edx, dword ptr [eax*4+100B0AB0] PATCHIT(0x000005bb, x100af1a4 + 0x0000190c) // mov dword ptr [ebx*4+100B0AB0], eax PATCHIT(0x000005c2, x100af1a4 + 0x00001908) // cmp eax, dword ptr [ebx*4+100B0AAC] PATCHIT(0x000005d6, x100af1a4 + 0x0000190c) // cmp eax, dword ptr [esi*4+100B0AB0] PATCHIT(0x000005eb, x100af1a4 + 0x0000190c) // lea ebp, dword ptr [esi*4+100B0AB0] PATCHIT(0x000005f2, x100af1a4 + 0x00001910) // lea eax, dword ptr [esi*4+100B0AB4] PATCHIT(0x00000609, x100af1a4 + 0x00000084) // lea ebp, dword ptr [esi*4+100AF228] PATCHIT(0x00000610, x100af1a4 + 0x00000088) // lea edx, dword ptr [esi*4+100AF22C] PATCHIT(0x00000643, x100af1a4 + 0x00000088) // mov esi, 100AF22C PATCHIT(0x0000065f, x100af1a4 + 0x00000a54) // mov dword ptr [ecx*4+100AFBF8], edx PATCHIT(0x00000668, x100af1a4 + 0x00000a58) // mov dword ptr [ecx*4+100AFBFC], edx PATCHIT(0x0000067c, x100af1a4 + 0x00000a58) // mov dword ptr [ecx*4+100AFBFC], edx PATCHIT(0x00000683, x100af1a4 + 0x00000a54) // mov dword ptr [ecx*4+100AFBF8], edx PATCHIT(0x00000695, x100af1a4 + 0x00000a58) // mov dword ptr [ecx*4+100AFBFC], eax PATCHIT(0x0000069c, x100af1a4 + 0x00000a54) // mov dword ptr [ecx*4+100AFBF8], eax PATCHIT(0x000006c2, x100af1a4 + 0x000022d4) // cmp dword ptr [100B1478], 4000 PATCHIT(0x000006d8, x100af1a4 + 0x00001420) // mov edx, dword ptr [eax*4+100B05C4] PATCHIT(0x000006e3, x100af1a4 + 0x0000190c) // add dword ptr [edx*4+100B0AB0], 1 PATCHIT(0x000006eb, x100af1a4 + 0x0000190c) // mov ecx, dword ptr [edx*4+100B0AB0] PATCHIT(0x000006f5, x100af1a4 + 0x0000190c) // cmp ecx, dword ptr [eax*4+100B0AB0] PATCHIT(0x00000706, x100af1a4 + 0x0000190c) // cmp ecx, dword ptr [eax*4+100B0AB0] PATCHIT(0x0000070f, x100af1a4 + 0x00001908) // mov esi, dword ptr [eax*4+100B0AAC] PATCHIT(0x00000719, x100af1a4 + 0x0000190c) // mov dword ptr [edx*4+100B0AB0], esi PATCHIT(0x00000720, x100af1a4 + 0x00000084) // lea edi, dword ptr [edx*4+100AF228] PATCHIT(0x00000727, x100af1a4 + 0x0000190c) // mov dword ptr [eax*4+100B0AB0], ecx PATCHIT(0x00000736, x100af1a4 + 0x00000a54) // mov dword ptr [ecx*4+100AFBF8], eax PATCHIT(0x0000073f, x100af1a4 + 0x00000a58) // mov dword ptr [ecx*4+100AFBFC], eax PATCHIT(0x00000746, x100af1a4 + 0x00000084) // mov esi, dword ptr [eax*4+100AF228] PATCHIT(0x00000753, x100af1a4 + 0x00000084) // mov dword ptr [eax*4+100AF228], ecx PATCHIT(0x0000075a, x100af1a4 + 0x00000a54) // mov dword ptr [esi*4+100AFBF8], edx PATCHIT(0x00000763, x100af1a4 + 0x00000a58) // mov dword ptr [esi*4+100AFBFC], edx PATCHIT(0x0000076e, x100af1a4 + 0x00000a54) // mov edx, dword ptr [edx*4+100AFBF8] PATCHIT(0x00000781, x100af1a4 + 0x0000fe4c) // mov eax, dword ptr [100BEFF0] PATCHIT(0x00000787, x100af1a4 + 0x0000fe48) // sub eax, dword ptr [100BEFEC] PATCHIT(0x00000792, x1003f1b0 + 0x000006a4) // mov ecx, 1003F854 PATCHIT(0x00000797, x100af1a4 + 0x0000f818) // mov dword ptr [100BE9BC], eax PATCHIT(0x000007a4, x100af1a4 + 0x0000f818) // mov edx, dword ptr [100BE9BC] PATCHIT(0x000007b3, x100af1a4 + 0x0000fe54) // mov dword ptr [100BEFF8], eax PATCHIT(0x000007b9, x100af1a4 + 0x0000fe58) // mov dword ptr [100BEFFC], ecx PATCHIT(0x000007be, x100af1a4 + 0x0000fe5c) // mov dword ptr [100BF000], eax PATCHIT(0x000007ca, x100af1a4 + 0x0000f819) // movzx eax, byte ptr [100BE9BD] PATCHIT(0x000007d7, x100af1a4 + 0x0000f81a) // movzx ecx, byte ptr [100BE9BE] PATCHIT(0x000007e4, x100af1a4 + 0x0000f81b) // movzx edx, byte ptr [100BE9BF] PATCHIT(0x000007f2, x100af1a4 + 0x0000f818) // cmp dword ptr [100BE9BC], ebx PATCHIT(0x00000813, x100af1a4 + 0x0000a2e8) // mov edi, 100B948C PATCHIT(0x0000081e, x100af1a4 + 0x000022dc) // mov edi, 100B1480 PATCHIT(0x00000823, x100af1a4 + 0x0000e6f4) // push 100BD898 PATCHIT(0x0000083c, x100af1a4 + 0x0000fe4c) // mov edx, dword ptr [100BEFF0] PATCHIT(0x00000842, x100af1a4 + 0x0000fe50) // mov ecx, dword ptr [100BEFF4] PATCHIT(0x0000085f, x100af1a4 + 0x0000fe50) // mov dword ptr [100BEFF4], ecx PATCHIT(0x00000867, x100af1a4 + 0x0000f6b8) // mov byte ptr [ebx+100BE85C], al PATCHIT(0x00000879, x100af1a4 + 0x0000f818) // mov dword ptr [100BE9BC], ebx PATCHIT(0x0000089d, x100af1a4 + 0x000062e0) // mov eax, dword ptr [100B5484] PATCHIT(0x000008a8, x100af1a4 + 0x000062e0) // mov dword ptr [100B5484], eax PATCHIT(0x000008bc, x100af1a4 + 0x0000e6f4) // movzx ebp, byte ptr [eax+100BD898] PATCHIT(0x000008c3, x100af1a4 + 0x00001420) // mov eax, dword ptr [ebp*4+100B05C4] PATCHIT(0x000008c9, x100af1a4 + 0x000062e0) // mov dword ptr [100B5484], 1 PATCHIT(0x000008e0, x100af1a4 + 0x00000a54) // mov eax, dword ptr [eax*4+100AFBF8] PATCHIT(0x000008f8, x100af1a4 + 0x00000a50) // mov dword ptr [100AFBF4], esi PATCHIT(0x000008fe, x100af1a4 + 0x00000000) // mov dword ptr [100AF1A4], edi PATCHIT(0x00000909, x100af1a4 + 0x0000fe44) // mov ebp, dword ptr [100BEFE8] PATCHIT(0x0000091e, x100af1a4 + 0x00001420) // mov eax, dword ptr [ebp*4+100B05C4] PATCHIT(0x00000931, x100af1a4 + 0x00000a54) // mov eax, dword ptr [eax*4+100AFBF8] PATCHIT(0x00000949, x100af1a4 + 0x00000a50) // mov dword ptr [100AFBF4], esi PATCHIT(0x0000094f, x100af1a4 + 0x00000000) // mov dword ptr [100AF1A4], edi PATCHIT(0x00000959, x100af1a4 + 0x0000a6e8) // mov eax, dword ptr [100B988C] PATCHIT(0x00000965, x1003f1b0 + 0x00000000) // movzx edi, byte ptr [eax+1003F1B0] PATCHIT(0x0000096d, x1003f1b0 + 0x00000040) // mov ch, byte ptr [eax+1003F1F0] PATCHIT(0x0000097d, x100af1a4 + 0x0000fe44) // mov ebp, dword ptr [100BEFE8] PATCHIT(0x00000982, x100af1a4 + 0x0000fe40) // mov eax, dword ptr [100BEFE4] PATCHIT(0x00000997, x100af1a4 + 0x0000fe44) // mov dword ptr [100BEFE8], ebp PATCHIT(0x000009a1, x100af1a4 + 0x0000fe40) // mov dword ptr [100BEFE4], eax PATCHIT(0x000009ad, x100af1a4 + 0x0000fe58) // mov ecx, dword ptr [100BEFFC] PATCHIT(0x000009b7, x100af1a4 + 0x0000fe5c) // mov eax, dword ptr [100BF000] PATCHIT(0x000009c0, x100af1a4 + 0x0000fe54) // mov eax, dword ptr [100BEFF8] PATCHIT(0x000009d1, x1003f1b0 + 0x000006a4) // mov ecx, 1003F854 PATCHIT(0x000009db, x100af1a4 + 0x0000fe54) // mov dword ptr [100BEFF8], eax PATCHIT(0x000009e8, x100af1a4 + 0x0000fe5c) // mov dword ptr [100BF000], eax PATCHIT(0x000009ee, x100af1a4 + 0x0000fe58) // mov dword ptr [100BEFFC], edx PATCHIT(0x000009f6, x100af1a4 + 0x0000fe44) // mov ebp, dword ptr [100BEFE8] PATCHIT(0x00000a01, x100af1a4 + 0x0000fe5c) // add dword ptr [100BF000], eax PATCHIT(0x00000a0d, x100af1a4 + 0x0000fe44) // mov dword ptr [100BEFE8], ebp PATCHIT(0x00000a14, x100af1a4 + 0x0000fe58) // mov eax, dword ptr [100BEFFC] PATCHIT(0x00000a1a, x100af1a4 + 0x0000fe5c) // cmp dword ptr [100BF000], eax PATCHIT(0x00000a20, x100af1a4 + 0x0000fe40) // mov ebx, dword ptr [100BEFE4] PATCHIT(0x00000a28, x100af1a4 + 0x0000fe54) // mov ecx, dword ptr [100BEFF8] PATCHIT(0x00000a39, x1003f1b0 + 0x000006a4) // mov ecx, 1003F854 PATCHIT(0x00000a43, x100af1a4 + 0x0000fe54) // mov dword ptr [100BEFF8], eax PATCHIT(0x00000a4a, x100af1a4 + 0x0000fe5c) // mov dword ptr [100BF000], eax PATCHIT(0x00000a54, x100af1a4 + 0x0000fe58) // mov dword ptr [100BEFFC], eax PATCHIT(0x00000a5a, x100af1a4 + 0x0000fe5c) // mov ecx, dword ptr [100BF000] PATCHIT(0x00000a60, x100af1a4 + 0x0000f81c) // add dword ptr [100BE9C0], 2 PATCHIT(0x00000a69, x100af1a4 + 0x0000fe44) // mov ebp, dword ptr [100BEFE8] PATCHIT(0x00000a6f, x100af1a4 + 0x0000fe5c) // add dword ptr [100BF000], 1 PATCHIT(0x00000a82, x100af1a4 + 0x0000fe44) // mov dword ptr [100BEFE8], ebp PATCHIT(0x00000a88, x100af1a4 + 0x0000fe40) // mov dword ptr [100BEFE4], esi PATCHIT(0x00000a90, x100af1a4 + 0x0000fe40) // shl dword ptr [100BEFE4], 8 PATCHIT(0x00000a97, x100af1a4 + 0x0000f81c) // add dword ptr [100BE9C0], eax PATCHIT(0x00000aa0, x100af1a4 + 0x000062e0) // mov eax, dword ptr [100B5484] PATCHIT(0x00000ab1, x100af1a4 + 0x0000fe50) // mov eax, dword ptr [100BEFF4] PATCHIT(0x00000ab7, x100af1a4 + 0x0000fe4c) // cmp eax, dword ptr [100BEFF0] PATCHIT(0x00000ac7, x100af1a4 + 0x0000fe50) // mov dword ptr [100BEFF4], eax PATCHIT(0x00000adb, x100af1a4 + 0x0000e6f4) // mov byte ptr [edi+100BD898], bl PATCHIT(0x00000ae3, x100af1a4 + 0x0000f6f4) // mov byte ptr [edi+100BE898], bl PATCHIT(0x00000b20, x100af1a4 + 0x000062e0) // mov eax, dword ptr [100B5484] PATCHIT(0x00000b26, x100af1a4 + 0x0000f818) // add dword ptr [100BE9BC], esi PATCHIT(0x00000b6a, x100af1a4 + 0x000062e0) // mov eax, dword ptr [100B5484] PATCHIT(0x00000b82, x100af1a4 + 0x0000fe40) // mov ebx, dword ptr [100BEFE4] PATCHIT(0x00000b87, x100af1a4 + 0x0000fe58) // mov eax, dword ptr [100BEFFC] PATCHIT(0x00000b90, x100af1a4 + 0x0000fe5c) // cmp dword ptr [100BF000], eax PATCHIT(0x00000b98, x100af1a4 + 0x0000fe54) // mov ecx, dword ptr [100BEFF8] PATCHIT(0x00000ba9, x1003f1b0 + 0x000006a4) // mov ecx, 1003F854 PATCHIT(0x00000bb6, x100af1a4 + 0x0000fe5c) // mov dword ptr [100BF000], esi PATCHIT(0x00000bc1, x100af1a4 + 0x0000fe54) // mov dword ptr [100BEFF8], eax PATCHIT(0x00000bc7, x100af1a4 + 0x0000fe58) // mov dword ptr [100BEFFC], esi PATCHIT(0x00000bcc, x100af1a4 + 0x0000fe5c) // mov eax, dword ptr [100BF000] PATCHIT(0x00000bd9, x100af1a4 + 0x0000fe5c) // add dword ptr [100BF000], eax PATCHIT(0x00000bdf, x100af1a4 + 0x0000f81c) // add dword ptr [100BE9C0], eax PATCHIT(0x00000be5, x100af1a4 + 0x0000f818) // mov ecx, dword ptr [100BE9BC] PATCHIT(0x00000beb, x100af1a4 + 0x0000f820) // mov dword ptr [100BE9C4], ecx PATCHIT(0x00000c01, x100af1a4 + 0x0000fe50) // mov eax, dword ptr [100BEFF4] PATCHIT(0x00000c0b, x100af1a4 + 0x0000fe4c) // mov esi, dword ptr [100BEFF0] PATCHIT(0x00000c1f, x100af1a4 + 0x0000fe50) // mov dword ptr [100BEFF4], eax PATCHIT(0x00000c33, x100af1a4 + 0x0000fe50) // mov dword ptr [100BEFF4], eax PATCHIT(0x00000c4c, x100af1a4 + 0x0000fe50) // mov dword ptr [100BEFF4], eax PATCHIT(0x00000c65, x100af1a4 + 0x0000fe50) // mov dword ptr [100BEFF4], eax PATCHIT(0x00000c70, x100af1a4 + 0x0000f818) // mov dword ptr [100BE9BC], ecx PATCHIT(0x00000c80, x1003f1b0 + 0x000006a4) // mov ecx, 1003F854 PATCHIT(0x00000c8d, x100af1a4 + 0x0000fe54) // mov dword ptr [100BEFF8], eax PATCHIT(0x00000c93, x100af1a4 + 0x0000fe58) // mov dword ptr [100BEFFC], ecx PATCHIT(0x00000c98, x100af1a4 + 0x0000fe5c) // mov dword ptr [100BF000], eax PATCHIT(0x00000ca9, x100af1a4 + 0x0000e6f4) // push 100BD898 PATCHIT(0x00000cb9, x100af1a4 + 0x0000f818) // cmp dword ptr [100BE9BC], edi PATCHIT(0x00000cd2, x100af1a4 + 0x00000a4c) // mov ebx, dword ptr [100AFBF0] PATCHIT(0x00000cea, x100af1a4 + 0x00000084) // mov ebx, dword ptr [ebx*4+100AF228] PATCHIT(0x00000d0e, x100af1a4 + 0x0000fe5c) // mov eax, dword ptr [100BF000] PATCHIT(0x00000d14, x100af1a4 + 0x0000fe58) // mov ecx, dword ptr [100BEFFC] PATCHIT(0x00000d1d, x100af1a4 + 0x0000fe54) // mov eax, dword ptr [100BEFF8] PATCHIT(0x00000d2e, x1003f1b0 + 0x000006a4) // mov ecx, 1003F854 PATCHIT(0x00000d38, x100af1a4 + 0x0000fe54) // mov dword ptr [100BEFF8], eax PATCHIT(0x00000d45, x100af1a4 + 0x0000fe5c) // mov dword ptr [100BF000], eax PATCHIT(0x00000d4b, x100af1a4 + 0x0000fe58) // mov dword ptr [100BEFFC], ecx PATCHIT(0x00000d53, x100af1a4 + 0x0000fe5c) // add dword ptr [100BF000], 1 PATCHIT(0x00000d5a, x100af1a4 + 0x0000e6f4) // mov byte ptr [ebp+100BD898], bl PATCHIT(0x00000d7d, x1003f1b0 + 0x00000080) // movzx eax, byte ptr [esi+1003F230] PATCHIT(0x00000d84, x1003f1b0 + 0x00000180) // movzx edi, byte ptr [esi+1003F330] PATCHIT(0x00000dd2, x100af1a4 + 0x0000fe5c) // mov eax, dword ptr [100BF000] PATCHIT(0x00000de2, x100af1a4 + 0x0000fe58) // mov ecx, dword ptr [100BEFFC] PATCHIT(0x00000df4, x100af1a4 + 0x0000e6f4) // movzx edx, byte ptr [edx+100BD898] PATCHIT(0x00000dff, x100af1a4 + 0x0000fe54) // mov eax, dword ptr [100BEFF8] PATCHIT(0x00000e10, x1003f1b0 + 0x000006a4) // mov ecx, 1003F854 PATCHIT(0x00000e1a, x100af1a4 + 0x0000fe54) // mov dword ptr [100BEFF8], eax PATCHIT(0x00000e2c, x100af1a4 + 0x0000fe58) // mov dword ptr [100BEFFC], edx PATCHIT(0x00000e35, x100af1a4 + 0x0000fe5c) // mov dword ptr [100BF000], eax PATCHIT(0x00000e3c, x100af1a4 + 0x0000fe5c) // mov eax, dword ptr [100BF000] PATCHIT(0x00000e42, x100af1a4 + 0x0000e6f4) // mov byte ptr [ebp+100BD898], dl PATCHIT(0x00000e58, x100af1a4 + 0x0000fe5c) // mov dword ptr [100BF000], eax PATCHIT(0x00000e64, x100af1a4 + 0x0000f818) // cmp edi, dword ptr [100BE9BC] PATCHIT(0x00000e71, x100af1a4 + 0x0000f820) // mov dword ptr [100BE9C4], edi PATCHIT(0x00000e84, x100af1a4 + 0x0000fe48) // mov dword ptr [100BEFEC], eax PATCHIT(0x00000e89, x100af1a4 + 0x0000fe50) // mov dword ptr [100BEFF4], eax PATCHIT(0x00000e91, x100af1a4 + 0x0000fe4c) // mov dword ptr [100BEFF0], edx PATCHIT(0x00000e96, x100af1a4 + 0x0000fe44) // mov dword ptr [100BEFE8], eax PATCHIT(0x00000e9b, x100af1a4 + 0x0000fe40) // mov dword ptr [100BEFE4], eax PATCHIT(0x00000ea0, x100af1a4 + 0x0000fe3c) // mov dword ptr [100BEFE0], eax PATCHIT(0x00000ea5, x100af1a4 + 0x0000fe38) // mov dword ptr [100BEFDC], eax PATCHIT(0x00000eaf, x100af1a4 + 0x0000fe54) // mov eax, dword ptr [100BEFF8] PATCHIT(0x00000eb9, x100af1a4 + 0x0000fe5c) // mov edx, dword ptr [100BF000] #undef PATCHIT memcpy( stalker_lza_dump + 3784, stalker_lza_caller, sizeof(stalker_lza_caller)); stalker_lza = stalker_lza_alloc(stalker_lza_dump, sizeof(stalker_lza_dump)); #define CALLIT(X,Y) \ *(int *)((unsigned char *)stalker_lza + (X) + 1) = \ (unsigned char *)Y - ((unsigned char *)stalker_lza + (X) + 1 + 4); CALLIT(0x002c, stalker_lza_realloc) *((unsigned char *)stalker_lza+0x05f8) = 0x90; *((unsigned char *)stalker_lza+0x05f9) = 0xe8; CALLIT(0x05f8+1, stalker_lza_memmove) *((unsigned char *)stalker_lza+0x0616) = 0x90; *((unsigned char *)stalker_lza+0x0617) = 0xe8; CALLIT(0x0616+1, stalker_lza_memmove) CALLIT(0x079d, stalker_lza_malloc) CALLIT(0x0835, stalker_lza_memset) CALLIT(0x09d5, stalker_lza_realloc) CALLIT(0x0a3d, stalker_lza_realloc) CALLIT(0x0bad, stalker_lza_realloc) CALLIT(0x0c84, stalker_lza_malloc) CALLIT(0x0cad, stalker_lza_memset) CALLIT(0x0d32, stalker_lza_realloc) CALLIT(0x0e14, stalker_lza_realloc) #undef CALLIT stalker_lza = (void *)((unsigned char *)stalker_lza + 3784); }