Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //----- (01555530) --------------------------------------------------------
- const __m128i *__thiscall sub_1555530(_DWORD *this, int a2, int a3, const __m128i *a4, int a5, int a6)
- {
- const __m128i *result; // eax@1
- char *v7; // edi@1
- int v8; // eax@4
- int v9; // eax@10
- __int32 v10; // eax@11
- void *v11; // ecx@13
- char *v12; // ST04_4@15
- char *v13; // eax@16
- char *v14; // ecx@18
- float v15; // xmm1_4@18
- float v16; // xmm2_4@18
- float v17; // xmm3_4@18
- int v18; // [sp+10h] [bp-38h]@12
- int v19; // [sp+14h] [bp-34h]@15
- int v20; // [sp+18h] [bp-30h]@15
- float v21; // [sp+1Ch] [bp-2Ch]@15
- float v22; // [sp+20h] [bp-28h]@19
- unsigned __int64 v23; // [sp+24h] [bp-24h]@12
- __int64 v24; // [sp+2Ch] [bp-1Ch]@10
- float v25; // [sp+34h] [bp-14h]@10
- float v26; // [sp+38h] [bp-10h]@18
- unsigned __int64 v27; // [sp+3Ch] [bp-Ch]@12
- result = a4;
- v7 = (char *)this;
- if ( *(_DWORD *)(a2 + 4) )
- {
- sub_1505C14((int)this, *(_DWORD *)(a2 + 16));
- if ( sub_1555070(v7, a3) && *(float *)(a2 + 12) > 0.0 )
- {
- sub_1555880(v7, (char *)a3);
- v8 = sub_13F2190((char *)a3);
- sub_1567670(a3 + 896, v8, *(float *)(a2 + 12));
- }
- sub_1552A30(a3);
- if ( !sub_13E7FF0() )
- goto LABEL_33;
- if ( a5 )
- *(float *)(a3 + 1064) = sub_14FFA20(dword_373D910) + *(float *)(a2 + 8);
- if ( *((_DWORD *)v7 + 275) )
- LABEL_33:
- *(float *)(a3 + 1064) = sub_14FFA20(dword_373D910) + *(float *)(a2 + 8);
- sub_1505C14(a3, *(_DWORD *)(a2 + 16));
- v24 = *(_QWORD *)(a3 + 1128);
- v25 = *(float *)(a3 + 1136);
- v9 = sub_1552A30(a3);
- if ( sub_1554A50(v9) )
- {
- v10 = a4->m128i_i32[2];
- _mm_storel_epi64((__m128i *)&v24, _mm_loadl_epi64(a4));
- v25 = *(float *)&v10;
- }
- v18 = sub_13F2190(v7);
- *((float *)&v23 + 1) = *(float *)v18 - *(float *)&v24;
- *((float *)&v27 + 1) = *((float *)&v24 + 1) - *(float *)(v18 + 4);
- if ( sub_15513F0(a3) || sub_1551410(a3) )
- {
- v26 = *(float *)&v24 - *(float *)v18;
- *(float *)&v27 = *((float *)&v24 + 1) - *(float *)(v18 + 4);
- *((float *)&v27 + 1) = v25 - *(float *)(v18 + 8);
- sub_1391277(&v26, &v26);
- v14 = (char *)*((_DWORD *)v7 + 276);
- v15 = v26 * 30.0;
- v16 = *(float *)&v27 * 30.0;
- v17 = *((float *)&v27 + 1) * 30.0;
- v26 = v26 * 30.0;
- *(float *)&v27 = *(float *)&v27 * 30.0;
- *((float *)&v27 + 1) = *((float *)&v27 + 1) * 30.0;
- if ( v14 )
- {
- v19 = 0;
- v20 = 0;
- v21 = 0.0;
- v22 = *(float *)v18 + v15;
- *(float *)&v23 = *(float *)(v18 + 4) + v16;
- *((float *)&v23 + 1) = *(float *)(v18 + 8) + v17;
- sub_14EE060((void *)dword_373D77C, v14, (int)&v22, (int)&v19);
- }
- }
- else
- {
- if ( *((_DWORD *)v7 + 276) )
- {
- v19 = 0;
- v20 = 0;
- v23 = (unsigned __int128)_mm_cvtps_pd((__m128)HIDWORD(v23));
- v27 = (unsigned __int128)_mm_cvtps_pd((__m128)HIDWORD(v27));
- sub_15A935A(v11);
- v27 = v23;
- v12 = (char *)*((_DWORD *)v7 + 276);
- v21 = COERCE_FLOAT(_mm_cvtpd_ps((__m128d)v23)) * 57.295776;
- sub_14EE060((void *)dword_373D77C, v12, (int)&v24, (int)&v19);
- }
- v13 = (char *)*((_DWORD *)v7 + 277);
- if ( v13 )
- sub_1553440((void *)a3, 0, 0, v13, 0);
- }
- if ( !sub_15513F0(a3) )
- {
- if ( sub_1551560(a3) || sub_1551410(a3) )
- {
- sub_1555490((_DWORD *)a3);
- }
- else if ( *(_DWORD *)(a2 + 4) == 2 || sub_1551540(a3) )
- {
- sub_1555150(v7, (_DWORD *)a3);
- }
- else if ( *(_DWORD *)(a2 + 4) == 1 )
- {
- sub_15552B0(v7, (void *)a3);
- }
- else
- {
- ((void (*)(const char *, ...))loc_14FEB90)(
- "ProcessSucceedingAttacking: Unknown AttackingData.iHittingType %d",
- *(_DWORD *)(a2 + 4));
- }
- }
- result = (const __m128i *)sub_154EFE0(v7);
- }
- return result;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement