Advertisement
Guest User

Untitled

a guest
Nov 24th, 2014
143
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.17 KB | None | 0 0
  1. void __thiscall LoadUnknown36(int this)
  2. {
  3.   int _this; // esi@1
  4.   __int16 Unknown36; // cx@1
  5.   int v3; // eax@3
  6.   int v4; // ecx@3
  7.   int v5; // eax@4
  8.   int v6; // ebp@5
  9.   signed int v7; // edi@5
  10.   int v8; // ecx@6
  11.   __int16 v9; // dx@6
  12.   int v10; // ebx@8
  13.   signed __int64 v11; // qax@9
  14.   int v12; // edx@12
  15.   float v13; // ST10_4@13
  16.   int v14; // eax@15
  17.  
  18.   _this = this;
  19.   Unknown36 = *(_WORD *)(*(_DWORD *)(this + 8) + 532);
  20.   if ( Unknown36 != -1 )
  21.   {
  22.     if ( !*(_BYTE *)(_this + 392) )
  23.     {
  24.       v3 = *(_DWORD *)(dword_7912A0 + 1060);
  25.       v4 = *(_DWORD *)(*(_DWORD *)(**(_DWORD **)(v3 + 76) + 116) + 4 * Unknown36);
  26.       if ( v4 )
  27.       {
  28.         v5 = (*(int (__stdcall **)(_DWORD, _DWORD, _DWORD, _DWORD))(*(_DWORD *)v4 + 28))(
  29.                **(_DWORD **)(v3 + 76),
  30.                *(_DWORD *)(_this + 56),
  31.                *(_DWORD *)(_this + 60),
  32.                *(_DWORD *)(_this + 64));
  33.         dword_6B4BC4 = v5;
  34.         if ( v5 )
  35.         {
  36.           v6 = 0;
  37.           v7 = 0;
  38.           do
  39.           {
  40.             v8 = *(_DWORD *)(_this + 8);
  41.             v9 = *(_WORD *)(v7 + v8 + 368);
  42.             if ( v9 != -1 && *(_WORD *)(v7 + v8 + 370) > 0 )
  43.             {
  44.               v10 = sub_4C5580(v9);
  45.               if ( v10 != -1 )
  46.               {
  47.                 v11 = (signed __int64)((double)*(_WORD *)(v7 + *(_DWORD *)(_this + 8) + 370) * 0.30000001 + 0.5);
  48.                 v6 += v11;
  49.                 *(_WORD *)(dword_6B4BC4 + 2 * v10 + 328) = v11;
  50.               }
  51.               v5 = dword_6B4BC4;
  52.             }
  53.             v7 += 6;
  54.           }
  55.           while ( v7 < 18 );
  56.           v12 = *(_DWORD *)v5;
  57.           if ( (signed __int16)v6 <= 0 )
  58.           {
  59.             (*(void (__thiscall **)(int))(v12 + 112))(v5);
  60.           }
  61.           else
  62.           {
  63.             v13 = (double)(signed __int16)v6;
  64.             (*(void (__thiscall **)(int, signed int, _DWORD))(v12 + 136))(v5, 12, LODWORD(v13));
  65.             (*(void (**)(void))(*(_DWORD *)dword_6B4BC4 + 880))();
  66.           }
  67.         }
  68.       }
  69.     }
  70.   }
  71.   v14 = sub_4C6900(_this);
  72.   if ( v14 )
  73.   {
  74.     if ( *(_BYTE *)(_this + 520) == 2 )
  75.       *(_BYTE *)(v14 + 520) = 2;
  76.   }
  77. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement