Advertisement
Guest User

Untitled

a guest
Jun 18th, 2018
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 3.96 KB | None | 0 0
  1. //----- (01555530) --------------------------------------------------------
  2. const __m128i *__thiscall sub_1555530(_DWORD *this, int a2, int a3, const __m128i *a4, int a5, int a6)
  3. {
  4.   const __m128i *result; // eax@1
  5.   char *v7; // edi@1
  6.   int v8; // eax@4
  7.   int v9; // eax@10
  8.   __int32 v10; // eax@11
  9.   void *v11; // ecx@13
  10.   char *v12; // ST04_4@15
  11.   char *v13; // eax@16
  12.   char *v14; // ecx@18
  13.   float v15; // xmm1_4@18
  14.   float v16; // xmm2_4@18
  15.   float v17; // xmm3_4@18
  16.   int v18; // [sp+10h] [bp-38h]@12
  17.   int v19; // [sp+14h] [bp-34h]@15
  18.   int v20; // [sp+18h] [bp-30h]@15
  19.   float v21; // [sp+1Ch] [bp-2Ch]@15
  20.   float v22; // [sp+20h] [bp-28h]@19
  21.   unsigned __int64 v23; // [sp+24h] [bp-24h]@12
  22.   __int64 v24; // [sp+2Ch] [bp-1Ch]@10
  23.   float v25; // [sp+34h] [bp-14h]@10
  24.   float v26; // [sp+38h] [bp-10h]@18
  25.   unsigned __int64 v27; // [sp+3Ch] [bp-Ch]@12
  26.  
  27.   result = a4;
  28.   v7 = (char *)this;
  29.   if ( *(_DWORD *)(a2 + 4) )
  30.   {
  31.     sub_1505C14((int)this, *(_DWORD *)(a2 + 16));
  32.     if ( sub_1555070(v7, a3) && *(float *)(a2 + 12) > 0.0 )
  33.     {
  34.       sub_1555880(v7, (char *)a3);
  35.       v8 = sub_13F2190((char *)a3);
  36.       sub_1567670(a3 + 896, v8, *(float *)(a2 + 12));
  37.     }
  38.     sub_1552A30(a3);
  39.     if ( !sub_13E7FF0() )
  40.       goto LABEL_33;
  41.     if ( a5 )
  42.       *(float *)(a3 + 1064) = sub_14FFA20(dword_373D910) + *(float *)(a2 + 8);
  43.     if ( *((_DWORD *)v7 + 275) )
  44. LABEL_33:
  45.       *(float *)(a3 + 1064) = sub_14FFA20(dword_373D910) + *(float *)(a2 + 8);
  46.     sub_1505C14(a3, *(_DWORD *)(a2 + 16));
  47.     v24 = *(_QWORD *)(a3 + 1128);
  48.     v25 = *(float *)(a3 + 1136);
  49.     v9 = sub_1552A30(a3);
  50.     if ( sub_1554A50(v9) )
  51.     {
  52.       v10 = a4->m128i_i32[2];
  53.       _mm_storel_epi64((__m128i *)&v24, _mm_loadl_epi64(a4));
  54.       v25 = *(float *)&v10;
  55.     }
  56.     v18 = sub_13F2190(v7);
  57.     *((float *)&v23 + 1) = *(float *)v18 - *(float *)&v24;
  58.     *((float *)&v27 + 1) = *((float *)&v24 + 1) - *(float *)(v18 + 4);
  59.     if ( sub_15513F0(a3) || sub_1551410(a3) )
  60.     {
  61.       v26 = *(float *)&v24 - *(float *)v18;
  62.       *(float *)&v27 = *((float *)&v24 + 1) - *(float *)(v18 + 4);
  63.       *((float *)&v27 + 1) = v25 - *(float *)(v18 + 8);
  64.       sub_1391277(&v26, &v26);
  65.       v14 = (char *)*((_DWORD *)v7 + 276);
  66.       v15 = v26 * 30.0;
  67.       v16 = *(float *)&v27 * 30.0;
  68.       v17 = *((float *)&v27 + 1) * 30.0;
  69.       v26 = v26 * 30.0;
  70.       *(float *)&v27 = *(float *)&v27 * 30.0;
  71.       *((float *)&v27 + 1) = *((float *)&v27 + 1) * 30.0;
  72.       if ( v14 )
  73.       {
  74.         v19 = 0;
  75.         v20 = 0;
  76.         v21 = 0.0;
  77.         v22 = *(float *)v18 + v15;
  78.         *(float *)&v23 = *(float *)(v18 + 4) + v16;
  79.         *((float *)&v23 + 1) = *(float *)(v18 + 8) + v17;
  80.         sub_14EE060((void *)dword_373D77C, v14, (int)&v22, (int)&v19);
  81.       }
  82.     }
  83.     else
  84.     {
  85.       if ( *((_DWORD *)v7 + 276) )
  86.       {
  87.         v19 = 0;
  88.         v20 = 0;
  89.         v23 = (unsigned __int128)_mm_cvtps_pd((__m128)HIDWORD(v23));
  90.         v27 = (unsigned __int128)_mm_cvtps_pd((__m128)HIDWORD(v27));
  91.         sub_15A935A(v11);
  92.         v27 = v23;
  93.         v12 = (char *)*((_DWORD *)v7 + 276);
  94.         v21 = COERCE_FLOAT(_mm_cvtpd_ps((__m128d)v23)) * 57.295776;
  95.         sub_14EE060((void *)dword_373D77C, v12, (int)&v24, (int)&v19);
  96.       }
  97.       v13 = (char *)*((_DWORD *)v7 + 277);
  98.       if ( v13 )
  99.         sub_1553440((void *)a3, 0, 0, v13, 0);
  100.     }
  101.     if ( !sub_15513F0(a3) )
  102.     {
  103.       if ( sub_1551560(a3) || sub_1551410(a3) )
  104.       {
  105.         sub_1555490((_DWORD *)a3);
  106.       }
  107.       else if ( *(_DWORD *)(a2 + 4) == 2 || sub_1551540(a3) )
  108.       {
  109.         sub_1555150(v7, (_DWORD *)a3);
  110.       }
  111.       else if ( *(_DWORD *)(a2 + 4) == 1 )
  112.       {
  113.         sub_15552B0(v7, (void *)a3);
  114.       }
  115.       else
  116.       {
  117.         ((void (*)(const char *, ...))loc_14FEB90)(
  118.           "ProcessSucceedingAttacking: Unknown AttackingData.iHittingType %d",
  119.           *(_DWORD *)(a2 + 4));
  120.       }
  121.     }
  122.     result = (const __m128i *)sub_154EFE0(v7);
  123.   }
  124.   return result;
  125. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement