Guest User

Untitled

a guest
Oct 19th, 2017
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.74 KB | None | 0 0
  1. char __usercall sub_6FDA0870<al>(Skill *Skill<eax>, UnitAny *Unit<ecx>)
  2. {
  3.   Inventory *v2; // edi@3
  4.   char result; // al@4
  5.   DWORD SkillUnitId; // ebp@5
  6.   int v5; // edx@7
  7.   DWORD v6; // ecx@7
  8.   bool v7; // eax@7
  9.   int v8; // eax@7
  10.   int v9; // edx@9
  11.   UnitAny *v10; // eax@10
  12.   ItemData *v11; // eax@13
  13.   Inventory *v12; // eax@14
  14.  
  15.   if ( Unit && Skill )
  16.   {
  17.     v2 = Unit->pInventory;
  18.     if ( v2 )
  19.     {
  20.       SkillUnitId = Skill->dwUnitId;
  21.       if ( SkillUnitId == -1 )
  22.       {
  23.         result = 1;
  24.       }
  25.       else
  26.       {
  27.         v5 = Skill->pSkillInfo->wSkillId;
  28.         v6 = Skill->dwSkillLevel;
  29.         v7 = (v6 & 0x80000000u) != 0;
  30.         LOBYTE(v7) = (signed int)v6 <= 0;
  31.         v8 = v6 & (v7 - 1);
  32.         if ( v8 >= *(_DWORD *)dword_6FDF0B50_UnkTableContainingExpTable )
  33.           v8 = *(_DWORD *)dword_6FDF0B50_UnkTableContainingExpTable;
  34.         v9 = (v5 << 6) + (v8 & 0x3F);
  35.         if ( v2->dwSignature == 16909060 )
  36.         {
  37.           v10 = v2->pFirstItem;
  38.           if ( v10 )
  39.           {
  40.             while ( v10->dwType == 4 )
  41.             {
  42.               if ( v10->dwUnitId == SkillUnitId )
  43.                 return (signed int)(unsigned __int8)Ordinal10973_GetUnitStatSigned(v10, 204, v9) > 0;
  44.               v11 = v10->pPlayerData;
  45.               if ( v11 )
  46.               {
  47.                 v12 = (Inventory *)&v11->pOwnerInventory;
  48.                 if ( v12 )
  49.                 {
  50.                   v10 = v12->pOwner;
  51.                   if ( v10 )
  52.                     continue;
  53.                 }
  54.               }
  55.               break;
  56.             }
  57.           }
  58.         }
  59.         result = 1;
  60.       }
  61.     }
  62.     else
  63.     {
  64.       result = 1;
  65.     }
  66.   }
  67.   else
  68.   {
  69.     result = 0;
  70.   }
  71.   return result;
  72. }
Add Comment
Please, Sign In to add comment