Guest User

Untitled

a guest
Apr 28th, 2011
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.48 KB | None | 0 0
  1. int __cdecl CGUnit_C::GetPredictedPower(int baseAddress, int powerType)
  2. {
  3.   int v2; // edx@3
  4.   int unitFieldPtr; // ecx@7
  5.   int v5; // edx@7
  6.  
  7.   if ( *(_DWORD *)(dword_FCF38C + 0x30) )
  8.   {
  9.     if ( *(_BYTE *)(*(_DWORD *)(baseAddress + 4) + 8) & 0x10 )
  10.     {
  11.       v2 = dword_118A4B4[powerType + 11 * *(_BYTE *)(*(_DWORD *)(baseAddress + 0xEC) + 0x45)];
  12.       if ( v2 != -1 )
  13.         return *(_DWORD *)(baseAddress + 4 * v2 + 0x1160);
  14.     }
  15.     else
  16.     {
  17.       v2 = 0;
  18.       if ( *(_BYTE *)(*(_DWORD *)(baseAddress + 0xEC) + 0x47) == powerType )
  19.         return *(_DWORD *)(baseAddress + 4 * v2 + 0x1160);
  20.       if ( powerType == 10 )
  21.       {
  22.         v2 = 1;
  23.         return *(_DWORD *)(baseAddress + 4 * v2 + 0x1160);
  24.       }
  25.     }
  26.     return 0;
  27.   }
  28.   if ( powerType != -2 )
  29.   {
  30.     if ( *(_BYTE *)(*(_DWORD *)(baseAddress + 4) + 8) & 0x10 )
  31.     {
  32.       unitFieldPtr = *(_DWORD *)(baseAddress + 0xEC);
  33.       v5 = dword_118A4B4[powerType + 11 * *(_BYTE *)(unitFieldPtr + 69)];
  34.       if ( v5 != -1 )
  35.         return *(_DWORD *)(unitFieldPtr + 4 * v5 + 0x4C);
  36.     }
  37.     else
  38.     {
  39.       unitFieldPtr = *(_DWORD *)(baseAddress + 0xEC);
  40.       v5 = 0;
  41.       if ( powerType == *(_BYTE *)(unitFieldPtr + 0x47) )
  42.         return *(_DWORD *)(unitFieldPtr + 4 * v5 + 0x4C);
  43.       if ( powerType == 10 )
  44.       {
  45.         v5 = 1;
  46.         return *(_DWORD *)(unitFieldPtr + 4 * v5 + 0x4C);
  47.       }
  48.     }
  49.     return 0;
  50.   }
  51.   return *(_DWORD *)(*(_DWORD *)(baseAddress + 0xEC) + 72);
  52. }
Advertisement
Add Comment
Please, Sign In to add comment