Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- bool __fastcall sub_1402725E0(__int64 a1, __int64 a2, __int64 a3, __int64 a4)
- {
- __int64 v4; // rbx@1
- unsigned int v5; // er12@1
- __int64 v6; // rax@1
- __int64 v7; // rdi@1
- __int64 v8; // rcx@1
- __int64 v9; // rax@3
- __int64 v10; // rax@3
- float v11; // xmm8_4@3
- float v12; // xmm7_4@3
- float v13; // xmm6_4@3
- float v14; // xmm3_4@3
- float v15; // xmm3_4@3
- float v16; // xmm0_4@3
- float v17; // xmm14_4@3
- float v18; // xmm13_4@3
- float v19; // xmm9_4@3
- float v20; // xmm15_4@3
- float v21; // xmm12_4@3
- __int64 v22; // rdi@3
- float v23; // xmm11_4@3
- __int64 v24; // rcx@3
- float v25; // xmm8_4@3
- __int64 v26; // rax@5
- unsigned __int64 v27; // rdx@5
- signed int v28; // esi@5
- float v29; // xmm0_4@7
- __m128 v30; // xmm3@7
- __m128 v31; // xmm3@7
- signed int v32; // eax@8
- __m128 v33; // xmm10@22
- float v34; // xmm11_4@22
- int v35; // xmm0_4@22
- float v36; // xmm0_4@22
- float v37; // xmm13_4@22
- float v38; // xmm13_4@26
- int v39; // xmm0_4@26
- float v40; // xmm12_4@28
- float v41; // xmm12_4@32
- float v42; // xmm0_4@32
- float v43; // xmm1_4@32
- int v44; // xmm0_4@35
- __int16 v45; // ax@35
- __int64 v46; // rcx@36
- __int64 v47; // r8@36
- int v48; // edi@37
- int v49; // xmm1_4@38
- signed int v50; // er14@42
- __m128 v51; // xmm10@43
- __m128i v52; // xmm6@49
- signed __int64 v53; // r12@49
- signed __int64 v54; // r13@49
- signed __int64 v55; // rdi@49
- float v56; // xmm6_4@49
- float v57; // xmm3_4@50
- float v58; // xmm1_4@52
- float v59; // xmm4_4@60
- float v60; // xmm0_4@61
- __int128 v61; // xmm1@66
- int v62; // xmm0_4@66
- int v63; // ecx@66
- int v64; // xmm0_4@66
- __int64 v65; // rax@66
- double v66; // ST28_8@67
- double v67; // ST20_8@67
- double v68; // xmm0_8@68
- bool result; // al@70
- __int64 v70; // [sp+40h] [bp-A0h]@3
- float v71; // [sp+48h] [bp-98h]@3
- __int64 v72; // [sp+50h] [bp-90h]@3
- float v73; // [sp+58h] [bp-88h]@3
- unsigned __int64 Dst; // [sp+60h] [bp-80h]@3
- float v75; // [sp+68h] [bp-78h]@3
- __int64 v76; // [sp+70h] [bp-70h]@1
- float v77; // [sp+78h] [bp-68h]@3
- v4 = a1;
- v5 = a2;
- LODWORD(v6) = sub_13FF71BF0(*(a1 + 800), a2, a3, a4);
- (*(*v6 + 160i64))(v6, &v76, 0i64);
- v7 = *(v4 + 800);
- v8 = *(v7 + 584);
- if ( !v8 )
- {
- sub_13FF72C50(*(v4 + 800));
- v8 = *(v7 + 584);
- }
- LODWORD(v9) = (*(*v8 + 192i64))();
- LODWORD(v10) = sub_13FF7CD70(v9, &v72);
- sub_13F77DF10(v10, &Dst);
- v11 = *&dword_141195844;
- v12 = *&dword_141195840;
- v13 = *&dword_141195848;
- v14 = ((*(&Dst + 1) * *&dword_141195844) + (*&Dst * *&dword_141195840)) + (v75 * *&dword_141195848);
- *&v70 = *&Dst - (*&dword_141195840 * v14);
- *(&v70 + 1) = *(&Dst + 1) - (*&dword_141195844 * v14);
- v71 = v75 - (*&dword_141195848 * v14);
- sub_13F275D80(&v70);
- v15 = ((*(&v76 + 1) * v11) + (*&v76 * v12)) + (v77 * v13);
- v16 = *(&v76 + 1) - (v11 * v15);
- *&v72 = *&v76 - (v12 * v15);
- *(&v72 + 1) = *(&v76 + 1) - (v11 * v15);
- v73 = v77 - (v13 * v15);
- sub_13F275D80(&v72);
- v17 = v71;
- v18 = *(&v70 + 1);
- v19 = v16;
- v20 = *&v70;
- v21 = (*(&v70 + 1) * v13) - (v71 * v11);
- v22 = *(v4 + 800);
- v23 = (v71 * v12) - (v13 * *&v70);
- v24 = *(v22 + 584);
- v25 = (v11 * *&v70) - (*(&v70 + 1) * v12);
- if ( !v24 )
- {
- sub_13FF72C50(*(v4 + 800));
- v24 = *(v22 + 584);
- }
- LODWORD(v26) = (*(*v24 + 192i64))();
- memmove(&Dst, (v26 + 49504), 0x3Cui64);
- v70 = qword_1431EB920;
- v27 = Dst >> 48;
- v28 = 0;
- v71 = *&dword_1431EB928;
- if ( (Dst >> 48) || BYTE7(Dst) )
- {
- v71 = 0.0;
- v29 = SBYTE7(Dst);
- *&v70 = (((v18 * *&dword_141195848) - (v17 * *&dword_141195844)) * v29) + (v27 * v20);
- *(&v70 + 1) = (((v17 * *&dword_141195840) - (*&dword_141195848 * v20)) * v29) + (v18 * v27);
- sub_13F275D80(&v70);
- v30 = v70;
- v30.m128_f32[0] = ((*&v70 * v20) + (*(&v70 + 1) * v18)) + (v17 * v71);
- v31 = _mm_unpacklo_ps(v30, v30);
- if ( COERCE_DOUBLE(_mm_cvtps_pd(v31)) < 0.707 )
- {
- if ( v31.m128_f32[0] > -0.707 )
- {
- v32 = 3;
- if ( (((*(&v70 + 1) * v23) + (*&v70 * v21)) + (v25 * v71)) <= 0.0 )
- v32 = 2;
- }
- else
- {
- v32 = 1;
- }
- }
- else
- {
- v32 = 0;
- }
- if ( v32 )
- {
- *(v4 + 912) = dword_14344858C;
- if ( v32 == 1i64 )
- {
- *(v4 + 932) = 1065353216;
- goto LABEL_18;
- }
- }
- else
- {
- *(v4 + 912) = 1065353216;
- }
- *(v4 + 932) = dword_14344858C;
- if ( v32 == 2i64 )
- {
- *(v4 + 952) = 1065353216;
- LABEL_21:
- *(v4 + 972) = dword_14344858C;
- goto LABEL_22;
- }
- LABEL_18:
- *(v4 + 952) = dword_14344858C;
- if ( v32 == 3i64 )
- {
- *(v4 + 972) = 1065353216;
- goto LABEL_22;
- }
- goto LABEL_21;
- }
- LABEL_22:
- v33 = v72;
- v33.m128_f32[0] = ((*&v72 * v20) + (*(&v72 + 1) * v18)) + (v73 * v17);
- v34 = ((v23 * *(&v72 + 1)) + (v21 * *&v72)) + (v25 * v73);
- v35 = *(v4 + 808);
- sub_13FE8CD50();
- *(v4 + 808) = v35;
- v36 = *(v4 + 812);
- sub_13FE8CD50();
- *(v4 + 812) = v36;
- sub_13FEA9E90(qword_1432C4960);
- v37 = v36;
- if ( v19 >= 0.0 )
- {
- if ( v19 <= v36 )
- v37 = v19;
- }
- else
- {
- v37 = 0.0;
- }
- sub_13FEA9E90(qword_1432C4960);
- v38 = v37 / v36;
- *(v4 + 824) = ((*&dword_143447C8C - *&dword_143447C0C) * v38) + *&dword_143447C0C;
- v39 = dword_14344800C;
- if ( *&dword_14344800C > v19 )
- {
- v39 = dword_143447F8C;
- *(v4 + 824) = dword_143447F8C;
- }
- sub_13FEA9E30(qword_1432C4960);
- sub_13FEA9E90(qword_1432C4960);
- v40 = *&v39;
- if ( *&v39 <= v19 )
- {
- if ( v19 <= *&v39 )
- v40 = v19;
- else
- v40 = *&v39;
- }
- sub_13FEA9E60(qword_1432C4960);
- v41 = v40 / *&v39;
- v42 = *&dword_143447D0C;
- v43 = ((*&dword_143447D8C - *&dword_143447D0C) * v41) + *&dword_143447D0C;
- if ( *&dword_143447D0C <= v43 )
- {
- v42 = *&dword_143447E0C;
- if ( v43 <= *&dword_143447E0C )
- v42 = ((*&dword_143447D8C - *&dword_143447D0C) * v41) + *&dword_143447D0C;
- }
- *(v4 + 828) = v42;
- sub_13FEA9E60(qword_1432C4960);
- sub_13FEA9E90(qword_1432C4960);
- v44 = *(v4 + 836);
- sub_13FE8CD50();
- v45 = *(v4 + 104);
- *(v4 + 836) = v44;
- if ( v45 == -1 )
- goto LABEL_42;
- v46 = *(v4 + 64);
- v47 = *(*(v46 + 96) + 8i64 * v45);
- if ( !v47 )
- goto LABEL_42;
- v48 = sub_13F7376E0(v46, *(v47 + 2));
- if ( sub_13F79D5E0(v48) != -1 )
- {
- *(v4 + 824) = *&dword_14344828C * *(v4 + 824);
- v49 = dword_14344828C;
- LABEL_41:
- *(v4 + 828) = *&v49 * *(v4 + 828);
- goto LABEL_42;
- }
- if ( sub_13F79D5E0(v48) != -1 )
- {
- *(v4 + 824) = *&dword_14344820C * *(v4 + 824);
- v49 = dword_14344820C;
- goto LABEL_41;
- }
- LABEL_42:
- v50 = 4;
- if ( v19 != 0.0 )
- {
- v51 = _mm_unpacklo_ps(v33, v33);
- if ( COERCE_DOUBLE(_mm_cvtps_pd(v51)) < 0.707 )
- {
- if ( v51.m128_f32[0] > -0.707 )
- {
- v50 = 3;
- if ( v34 <= 0.0 )
- v50 = 2;
- }
- else
- {
- v50 = 1;
- }
- }
- else
- {
- v50 = 0;
- }
- }
- v52 = _mm_cvtsi32_si128(v5);
- v53 = v4 + 908;
- v54 = 0i64;
- v55 = v4 + 908;
- LODWORD(v56) = _mm_cvtepi32_ps(v52);
- do
- {
- v57 = 0.0;
- if ( v54 == v50 && *&dword_14344830C <= v19 )
- {
- v58 = (v19 - *&dword_14344830C) / (*&dword_14344838C - *&dword_14344830C);
- if ( v58 >= 0.0 )
- {
- if ( v58 > 1.0 )
- v58 = 1.0;
- }
- else
- {
- v58 = 0.0;
- }
- v57 = (((*&dword_14344848C - *&dword_14344840C) * v58) + *&dword_14344840C) * *(v55 + 8);
- if ( v57 >= 0.0 )
- {
- if ( v57 > 1.0 )
- v57 = 1.0;
- }
- else
- {
- v57 = 0.0;
- }
- }
- v59 = *v55;
- if ( v57 < *v55 )
- {
- if ( (v56 - *(v55 - 8)) <= dword_143448088 )
- goto LABEL_65;
- v60 = *v55;
- sub_13FE8CD50();
- }
- else
- {
- *(v55 - 8) = v56;
- v60 = v59;
- sub_13FE8CD80();
- }
- *v55 = v60;
- LABEL_65:
- ++v54;
- v55 += 20i64;
- *(v55 - 24) = *(v4 + 836);
- }
- while ( v54 < 4 );
- v61 = *(v4 + 856);
- v62 = *(v4 + 852);
- sub_13FE8CD80();
- v63 = *(v4 + 864);
- *(v4 + 852) = v62;
- v64 = *(v4 + 860);
- sub_13FE8CD80();
- v65 = *(v4 + 800);
- *(v4 + 860) = v64;
- if ( dword_143448108 == *(v65 + 592) )
- {
- ((*off_14116A540)[20])();
- ((*off_14116A540)[19])(off_14116A540, 0i64, 10i64);
- v66 = *(v4 + 840);
- v67 = *(v4 + 836);
- ((*off_14116A540)[4])(
- off_14116A540,
- "blendBack: %.2f blendRight: %.2f walkRunAlpha: %.2f stopTransAlpha: %.2f speed: %.2f\n",
- *(v4 + 808),
- *(v4 + 812));
- ((*off_14116A540)[4])(off_14116A540, "walkRatio: %.2f walkRate: %.2f \n", v38, *(v4 + 824));
- ((*off_14116A540)[4])(off_14116A540, "runRatio: %.2f runRate: %.2f \n\n", v41, *(v4 + 828));
- do
- {
- v68 = *(v53 + 4);
- ((*off_14116A540)[4])(off_14116A540, "Dir[%d] alpha: %.2f rate: %.2f %s \n", v28++, *v53);
- v53 += 20i64;
- }
- while ( v28 < 4 );
- ((*off_14119E550)[7])(off_14119E550, "com_debugHUD", 1i64);
- }
- result = dword_143448188 == *(*(v4 + 800) + 592i64);
- *(v4 + 796) = result;
- return result;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement