Тема: creaturecache.wdb
Показать сообщение отдельно
Старый 12.12.2013, 12:22   #14
Konctantin
RuDB Dev
 
Аватар для Konctantin
 
Регистрация: 01.02.2010
Адрес: localhost
Сообщений: 592
Сказал(а) спасибо: 323
Поблагодарили 283 раз(а) в 122 сообщениях
Записей в дневнике: 2
Konctantin Это имя известно всемKonctantin Это имя известно всемKonctantin Это имя известно всемKonctantin Это имя известно всемKonctantin Это имя известно всемKonctantin Это имя известно всем
По умолчанию

это что получается сюда они запихнули все обработчики?
Код:
char __thiscall sub_78D225(void *this, int a2, int a3, int a4)
{
    int v4; // esi@1
    int v5; // ebx@1
    unsigned int v6; // edi@1
    char result; // al@2
    unsigned int v8; // eax@11
    int v9; // ecx@12
    unsigned int dwOpcode; // [sp+Ch] [bp-4h]@1

    ++dword_108D6D4;
    v4 = (int)this;
    CDataStore__GetInt32(a3, (int)&dwOpcode);   // opcode
    v5 = dwOpcode & 0x244;
    v6 = dwOpcode;
    if ( (dwOpcode & 0x244) == 4 )
    {
        result = sub_65261C(v4, v4, 0, a2, dwOpcode, a3);
    }
    else
    {
        if ( (dwOpcode & 0x276) == 80 )
        {
            result = sub_687488(v4, v4, 0, a2, dwOpcode, a3);
        }
        else
        {
            if ( (dwOpcode & 0x1240) == 512 )
            {
                result = sub_C68651(v4, 0, a2, dwOpcode, a3);
            }
            else
            {
                if ( (dwOpcode & 0x1244) == 580 )
                {
                    result = sub_6880A4(v4, 0, a2, dwOpcode, a3);
                }
                else
                {
                    if ( (dwOpcode & 0x252) == 64 )
                    {
                        result = sub_C4B8A2(v4, 0, a2, dwOpcode, a3);
                    }
                    else
                    {
                        (*(void (__thiscall **)(int, unsigned int))(*(_DWORD *)v4 + 68))(v4, dwOpcode);
                        v8 = v6 & 3 | ((v6 & 0x38 | ((v6 & 0x180 | (v6 >> 1) & 0x7E00) >> 1)) >> 1);
                        if ( v5 || (v9 = *(_DWORD *)(v4 + 4 * v8 + 1360)) == 0 )
                            result = (*(int (**)(void))(*(_DWORD *)a3 + 24))();
                        else
                            result = ((int (__cdecl *)(_DWORD, unsigned int, int, int))(v9
                                                                                      - ((v6 | (v6 << 16)) ^ 0x62A3A31D)))(
                                         *(_DWORD *)(v4 + 4 * v8 + 9552),
                                         v6,
                                         a2,
                                         a3);
                    }
                }
            }
        }
    }
    return result;
}
__________________
Konctantin вне форума   Ответить с цитированием