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

в creaturecahce еще по круче
Код:
unsigned int __thiscall sub_80E0B0(void *this, signed int a2, int a3)
{
  signed int v3; // edi@1
  void *v4; // esi@1
  unsigned __int8 v5; // dl@2
  unsigned int v7; // ecx@4
  unsigned __int8 v8; // dl@4
  char v9; // al@4
  int v10; // ebx@4
  unsigned int v11; // eax@7
  char v12; // ST34_1@8
  unsigned int v13; // ebx@8
  unsigned int v14; // eax@10
  bool v15; // zf@12
  int v16; // ebx@13
  int v17; // ebx@15
  int v18; // ebx@17
  int v19; // ebx@19
  int v20; // ebx@21
  char v21; // ST08_1@21
  unsigned int v22; // ST04_4@21
  unsigned int v23; // esi@21
  unsigned int result; // eax@22
  unsigned __int8 v25; // [sp+10h] [bp-20h]@4
  int v26; // [sp+18h] [bp-18h]@0
  int v27; // [sp+1Ch] [bp-14h]@0
  signed int v28; // [sp+20h] [bp-10h]@4
  signed int v29; // [sp+20h] [bp-10h]@15
  signed int v30; // [sp+20h] [bp-10h]@17
  signed int v31; // [sp+20h] [bp-10h]@19
  int v32; // [sp+24h] [bp-Ch]@4
  unsigned __int8 v33; // [sp+2Dh] [bp-3h]@11
  unsigned __int8 v35; // [sp+2Fh] [bp-1h]@8

  v3 = a2;
  LOBYTE(a2) = 0;
  v4 = this;
  *((_DWORD *)v4 + 1) ^= (unsigned int)&unk_FFFFFF & (sub_710890(a2) ^ *((_DWORD *)v4 + 1));
  LOBYTE(a2) = 0;
  *((_DWORD *)v4 + 3) ^= (unsigned int)&unk_FFFFFF & (sub_710890(a2) ^ *((_DWORD *)v4 + 3));
  LOBYTE(a2) = 0;
  *((_DWORD *)v4 + 5) ^= (unsigned int)&unk_FFFFFF & (sub_70A5C0(a2) ^ *((_DWORD *)v4 + 5));
  BYTE3(a2) = 0;
  CDataStore::GetInt8((char *)&a2 + 3);
  v5 = BYTE3(a2);
  v7 = (unsigned int)v5 >> 7;
  v8 = 2 * v5;
  v9 = 1;
  v10 = (int)((char *)v4 + 156);
  v25 = v8;
  *((_BYTE *)v4 + 52) = v7 != 0;
  v32 = (int)((char *)v4 + 156);
  v28 = 4;
  while ( 1 )
  {
    if ( v9 == 8 )
    {
      BYTE3(a2) = 0;
      CDataStore::GetInt8((char *)&a2 + 3);
      v11 = BYTE3(a2);
    }
    else
    {
      v12 = v9;
      v13 = (unsigned int)v8 >> v9;
      v35 = 0;
      CDataStore::GetInt8(&v35);
      v11 = (v13 << v12) | ((unsigned int)v35 >> (8 - v12));
      v10 = v32;
      v25 = 2 * v35;
    }
    LOBYTE(v27) = 0;
    *(_DWORD *)(v10 - 32) ^= (unsigned int)&unk_FFFFFF & ((sub_70A480(v27) | 8 * v11) ^ *(_DWORD *)(v10 - 32));
    v33 = 0;
    CDataStore::GetInt8(&v33);
    v14 = 2 * ((unsigned int)v25 >> 1) | ((unsigned int)v33 >> 7);
    v25 = 2 * v33;
    LOBYTE(v26) = 0;
    *(_DWORD *)v32 ^= (unsigned int)&unk_FFFFFF & ((sub_70A480(v26) | 8 * v14) ^ *(_DWORD *)v32);
    v10 = v32 + 8;
    v15 = v28-- == 1;
    v32 += 8;
    if ( v15 )
      break;
    v9 = 1;
    v8 = v25;
  }
  v16 = (int)((char *)v4 + 120);
  a2 = 4;
  do
  {
    sub_BF2C70(v3, (unsigned int)&unk_FFFFFF & *(_DWORD *)(v16 + 4), a3);
    sub_BF2C70(v3, (unsigned int)&unk_FFFFFF & *(_DWORD *)(v16 + 36), a3);
    v16 += 8;
    --a2;
  }
  while ( a2 );
  v17 = (int)((char *)v4 + 88);
  v29 = 2;
  do
  {
    a2 = 0;
    CDataStore::GetInt32(&a2);
    *(_DWORD *)v17 = a2;
    v17 += 4;
    --v29;
  }
  while ( v29 );
  a2 = 0;
  CDataStore::GetInt32(&a2);
  *((_DWORD *)v4 + 6) = a2;
  a2 = 0;
  CDataStore::GetInt32(&a2);
  *((_DWORD *)v4 + 7) = a2;
  a2 = 0;
  CDataStore::GetInt32(&a2);
  *((_DWORD *)v4 + 8) = a2;
  v18 = (int)((char *)v4 + 96);
  v30 = 2;
  do
  {
    a2 = 0;
    CDataStore::GetInt32(&a2);
    *(_DWORD *)v18 = a2;
    v18 += 4;
    --v30;
  }
  while ( v30 );
  v19 = (int)((char *)v4 + 104);
  v31 = 4;
  do
  {
    a2 = 0;
    CDataStore::GetInt32(&a2);
    *(_DWORD *)v19 = a2;
    v19 += 4;
    --v31;
  }
  while ( v31 );
  a2 = 0;
  CDataStore::GetFloat(&a2);
  *((_DWORD *)v4 + 9) = a2;
  a2 = 0;
  CDataStore::GetFloat(&a2);
  *((_DWORD *)v4 + 10) = a2;
  a2 = 0;
  CDataStore::GetFloat(&a2);
  *((_DWORD *)v4 + 11) = a2;
  a2 = 0;
  CDataStore::GetFloat(&a2);
  *((_DWORD *)v4 + 12) = a2;
  a2 = 0;
  CDataStore::GetInt32(&a2);
  v20 = (int)((char *)v4 + 56);
  sub_6B5570(a2);
  a2 = 0;
  CDataStore::GetInt32(&a2);
  *((_DWORD *)v4 + 19) = a2;
  a2 = 0;
  CDataStore::GetInt32(&a2);
  *((_DWORD *)v4 + 20) = a2;
  a2 = 0;
  CDataStore::GetInt32(&a2);
  v21 = a3;
  v22 = (unsigned int)&unk_FFFFFF & *((_DWORD *)v4 + 1);
  *((_DWORD *)v4 + 21) = a2;
  sub_BF2C70(v3, v22, v21);
  sub_BF2C70(v3, (unsigned int)&unk_FFFFFF & *((_DWORD *)v4 + 3), a3);
  sub_BF2C70(v3, (unsigned int)&unk_FFFFFF & *((_DWORD *)v4 + 5), a3);
  v23 = 0;
  while ( 1 )
  {
    result = *(_DWORD *)(v20 + 16);
    if ( result == -1 )
      result = *(_DWORD *)v20;
    if ( v23 >= result )
      break;
    a3 = 0;
    CDataStore::GetInt32(&a3);
    if ( *(_DWORD *)(v20 + 16) == -1 )
      *(_DWORD *)(*(_DWORD *)(v20 + 4) + 4 * v23++) = a3;
    else
      *(_DWORD *)(v20 + 4 * v23++) = a3;
  }
  return result;
}
__________________
Konctantin вне форума   Ответить с цитированием