Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void __thiscall ReadUpdateObjectMovement(bool *this, int a2, int a3)
- {
- int v3; // ebx
- bool *v4; // esi
- int v5; // eax
- int v6; // eax
- bool v7; // zf
- int v8; // ebx
- int v9; // eax
- char v10; // al
- int v11; // edi
- int v12; // edi
- _BYTE *v13; // edi
- int v14; // edi
- int v15; // ST04_4
- int v16; // eax
- int v17; // edi
- int v18; // edi
- int v19; // edi
- int v20; // eax
- int v21; // edi
- int v22; // ST04_4
- int v23; // eax
- int v24; // eax
- int v25; // eax
- int v26; // ecx
- int v27; // eax
- int v28; // eax
- int v29; // eax
- int v30; // edi
- int v31; // edi
- int v32; // ST04_4
- int v33; // eax
- int v34; // edi
- int v35; // eax
- int v36; // edx
- int v37; // ecx
- unsigned int *v38; // ebx
- int v39; // eax
- int v40; // eax
- int v41; // edi
- int v42; // edi
- int v43; // edi
- int v44; // eax
- int v45; // eax
- bool v46; // al
- signed int v47; // xmm0_4
- int v48; // eax
- int v49; // eax
- char v50; // al
- unsigned int v51; // edx
- int v52; // ecx
- signed int v53; // xmm0_4
- signed int v54; // xmm0_4
- char v55; // al
- int v56; // eax
- int v57; // eax
- char v58; // al
- bool v59; // al
- int v60; // eax
- bool v61; // al
- int v62; // eax
- bool v63; // al
- int v64; // eax
- int v65; // eax
- bool v66; // al
- int v67; // eax
- unsigned int v68; // eax
- unsigned int v69; // edi
- unsigned int v70; // edi
- int v71; // edi
- int v72; // eax
- int v73; // xmm0_4
- int v74; // edi
- int v75; // eax
- unsigned int v76; // edi
- int v77; // edi
- int v78; // eax
- int v79; // eax
- unsigned int v80; // edi
- int v81; // eax
- int v82; // edi
- int v83; // ebx
- char v84; // al
- int v85; // eax
- int v86; // eax
- int v87; // eax
- int v88; // eax
- int v89; // eax
- char v90; // al
- int v91; // eax
- char v92; // al
- int v93; // eax
- int v94; // eax
- int v95; // eax
- int v96; // eax
- int v97; // eax
- int v98; // eax
- char v99; // al
- char v100; // al
- __int16 v101; // ax
- int v102; // eax
- __int16 v103; // ax
- int v104; // eax
- __int16 v105; // ax
- __int16 v106; // ax
- int *v107; // eax
- char v108; // al
- int v109; // eax
- int v110; // eax
- char v111; // al
- char v112; // al
- char v113; // al
- char v114; // al
- char v115; // al
- __int16 v116; // ax
- int v117; // eax
- char v118; // al
- __int16 v119; // ax
- char v120; // al
- unsigned int *v121; // edi
- int v122; // ebx
- _DWORD *v123; // ebx
- int v124; // ebx
- int v125; // ebx
- int v126; // ebx
- int v127; // eax
- int v128; // ebx
- int *v129; // ebx
- int v130; // eax
- int v131; // ebx
- int v132; // edi
- int v133; // edx
- unsigned int v134; // edi
- int v135; // [esp+Ch] [ebp-38h]
- __int16 v136; // [esp+10h] [ebp-34h]
- int v137; // [esp+14h] [ebp-30h]
- int v138; // [esp+18h] [ebp-2Ch]
- unsigned int v139; // [esp+1Ch] [ebp-28h]
- int v140; // [esp+20h] [ebp-24h]
- int v141; // [esp+24h] [ebp-20h]
- int v142; // [esp+28h] [ebp-1Ch]
- int v143; // [esp+2Ch] [ebp-18h]
- unsigned int v144; // [esp+30h] [ebp-14h]
- unsigned int v145; // [esp+34h] [ebp-10h]
- unsigned int v146; // [esp+38h] [ebp-Ch]
- int v147; // [esp+3Ch] [ebp-8h]
- bool v148; // [esp+43h] [ebp-1h]
- _DWORD *v149; // [esp+4Ch] [ebp+8h]
- v3 = a2;
- v4 = this;
- v135 = a2;
- v136 = 2048;
- this[676] = ReadBit(&v135) != 0;
- v4[488] = ReadBit(&v135) != 0; // hasVehicleData
- v4[1044] = ReadBit(&v135) != 0;
- v4[512] = ReadBit(&v135) != 0; // if ((p_Flags & UPDATEFLAG_ROTATION) && l_GameObject)
- *v4 = ReadBit(&v135) != 0;
- v4[368] = ReadBit(&v135) != 0; // isAlive
- v4[1032] = ReadBit(&v135) != 0; // hasSceneObjectData
- v4[2] = ReadBit(&v135) != 0;
- v4[668] = ReadBit(&v135) != 0; // has Area Trigger
- v4[680] = ReadBit(&v135) != 0; // has Update Self
- v4[681] = ReadBit(&v135) != 0;
- v4[1] = ReadBit(&v135) != 0;
- v4[424] = ReadBit(&v135) != 0; // hasGameObjectData
- v4[476] = ReadBit(&v135) != 0; // has Transport
- v4[498] = ReadBit(&v135) != 0; // hasAnimKits
- v4[448] = ReadBit(&v135) != 0; // hasStationaryPosition
- v4[464] = ReadBit(&v135) != 0; // hasTarget
- v4[3] = ReadBit(&v135) != 0;
- LOBYTE(v142) = 0;
- v5 = sub_6968CF(v142);
- ReadBits((unsigned int *)v4 + 267, v5);
- v4[810] = ReadBit(&v135) != 0;
- v6 = ReadBit(&v135);
- v7 = v4[1032] == 0;
- v4[1064] = v6 != 0;
- if ( !v7 )
- {
- v4[833] = ReadBit(&v135) == 0;
- *((_DWORD *)v4 + 207) = ReadBit(&v135) == 0;
- v8 = (int)(v4 + 863);
- v143 = 2;
- do
- {
- *(_BYTE *)(v8 - 2) = ReadBit(&v135);
- *(_BYTE *)v8 = ReadBit(&v135);
- *(_BYTE *)(v8 + 29) = -(ReadBit(&v135) != 0);
- *(_BYTE *)(v8 - 5) = ReadBit(&v135);
- *(_BYTE *)(v8 - 6) = ReadBit(&v135);
- *(_BYTE *)(v8 - 4) = ReadBit(&v135);
- *(_BYTE *)(v8 - 1) = ReadBit(&v135);
- *(_DWORD *)(v8 + 5) = ReadBit(&v135) == 0;
- *(_WORD *)(v8 + 9) = ReadBit(&v135) == 0;
- *(_BYTE *)(v8 - 3) = ReadBit(&v135);
- LOBYTE(v142) = 0;
- v9 = sub_6920B5(v142);
- sub_7386CC(v9);
- v10 = ReadBit(&v135);
- v144 = 0;
- v7 = *(_DWORD *)(v8 + 13) == 0;
- *(_BYTE *)(v8 - 7) = v10;
- if ( !v7 )
- {
- v147 = 0;
- do
- {
- v11 = v147 + *(_DWORD *)(v8 + 17);
- *(_BYTE *)(v11 + 2) = ReadBit(&v135);
- v12 = v147 + *(_DWORD *)(v8 + 17);
- *(_WORD *)(v12 + 46) = ReadBit(&v135) == 0;
- v13 = (_BYTE *)(v147 + *(_DWORD *)(v8 + 17));
- *v13 = ReadBit(&v135);
- v14 = v147 + *(_DWORD *)(v8 + 17);
- *(_BYTE *)(v14 + 3) = ReadBit(&v135);
- LOBYTE(v141) = 0;
- v15 = sub_696884(v141);
- v16 = *(_DWORD *)(v8 + 17);
- sub_70FE52(v15);
- v17 = v147 + *(_DWORD *)(v8 + 17);
- *(_BYTE *)(v17 + 1) = ReadBit(&v135);
- v18 = v147 + *(_DWORD *)(v8 + 17);
- *(_BYTE *)(v18 + 7) = ReadBit(&v135);
- v19 = v147 + *(_DWORD *)(v8 + 17);
- *(_BYTE *)(v19 + 4) = ReadBit(&v135);
- LOBYTE(v140) = 0;
- v20 = sub_6A396B(v140);
- v21 = v147;
- v22 = v20;
- v23 = *(_DWORD *)(v8 + 17);
- sub_70FEBF(v22);
- v24 = *(_DWORD *)(v8 + 17);
- v145 = 0;
- if ( *(_DWORD *)(v21 + v24 + 116) )
- {
- v146 = 0;
- do
- {
- v139 = v146 + *(_DWORD *)(v21 + *(_DWORD *)(v8 + 17) + 120);
- v25 = ReadBit(&v135);
- v146 += 12;
- ++v145;
- *(_BYTE *)(v139 + 9) = 10 - (v25 != 0);
- }
- while ( v145 < *(_DWORD *)(v21 + *(_DWORD *)(v8 + 17) + 116) );
- }
- v26 = *(_DWORD *)(v8 + 17);
- v145 = 0;
- if ( *(_DWORD *)(v21 + v26 + 132) )
- {
- v146 = 0;
- do
- {
- v139 = v146 + *(_DWORD *)(v21 + *(_DWORD *)(v8 + 17) + 136);
- v27 = ReadBit(&v135);
- *(_DWORD *)(v139 + 12) = v27 == 0;
- v139 = v146 + *(_DWORD *)(v21 + *(_DWORD *)(v8 + 17) + 136);
- v28 = ReadBit(&v135);
- *(_BYTE *)(v139 + 16) = 10 - (v28 != 0);
- v139 = v146 + *(_DWORD *)(v21 + *(_DWORD *)(v8 + 17) + 136);
- v29 = ReadBit(&v135);
- v146 += 20;
- ++v145;
- *(_DWORD *)(v139 + 8) = v29 == 0;
- }
- while ( v145 < *(_DWORD *)(v21 + *(_DWORD *)(v8 + 17) + 132) );
- }
- v30 = v147 + *(_DWORD *)(v8 + 17);
- *(_BYTE *)(v30 + 6) = ReadBit(&v135);
- v31 = v147 + *(_DWORD *)(v8 + 17);
- *(_BYTE *)(v31 + 5) = ReadBit(&v135);
- LOBYTE(v138) = 0;
- v32 = sub_6A396B(v138);
- v33 = *(_DWORD *)(v8 + 17);
- sub_70FF2C(v32);
- v34 = v147 + *(_DWORD *)(v8 + 17);
- *(_BYTE *)(v34 + 48) = -(ReadBit(&v135) != 0);
- LOBYTE(v137) = 0;
- v35 = sub_6657B0(v137);
- v36 = v147;
- v37 = *(_DWORD *)(v8 + 17);
- ++v144;
- v147 += 168;
- *(_DWORD *)(v36 + v37 + 49) = v35;
- }
- while ( v144 < *(_DWORD *)(v8 + 13) );
- }
- v8 += 40;
- --v143;
- }
- while ( v143 );
- *((_DWORD *)v4 + 210) = ReadBit(&v135) == 0;
- *((_DWORD *)v4 + 211) = 0;
- v38 = (unsigned int *)(v4 + 936);
- v143 = 3;
- do
- {
- LOBYTE(v137) = 0;
- v39 = sub_6A396B(v137);
- sub_70FF2C(v39);
- LOBYTE(v138) = 0;
- v40 = sub_6A396B(v138);
- sub_70FEBF(v40);
- v144 = 0;
- if ( *v38 )
- {
- v146 = 0;
- do
- {
- v41 = v146 + v38[1];
- *(_DWORD *)(v41 + 8) = ReadBit(&v135) == 0;
- v42 = v146 + v38[1];
- *(_BYTE *)(v42 + 16) = 10 - (ReadBit(&v135) != 0);
- v43 = v146 + v38[1];
- v44 = ReadBit(&v135);
- v146 += 20;
- ++v144;
- *(_DWORD *)(v43 + 12) = v44 == 0;
- }
- while ( v144 < *v38 );
- }
- v38 += 8;
- --v143;
- }
- while ( v143 );
- v4[848] = ReadBit(&v135) != 0;
- v4[847] = ReadBit(&v135);
- v4[845] = ReadBit(&v135);
- v4[842] = ReadBit(&v135);
- v4[843] = ReadBit(&v135);
- v4[841] = ReadBit(&v135);
- v4[840] = ReadBit(&v135);
- v4[846] = ReadBit(&v135);
- v4[844] = ReadBit(&v135);
- *((_WORD *)v4 + 408) = ReadBit(&v135) == 0;
- *((_WORD *)v4 + 409) = ReadBit(&v135) == 0;
- v4[832] = ReadBit(&v135) == 0;
- v4[849] = ReadBit(&v135) != 0;
- v3 = a2;
- *((_DWORD *)v4 + 206) = ReadBit(&v135) == 0;
- }
- if ( v4[1064] ) // if (bit428)
- // bits418 = packet.ReadBits(22);
- {
- LOBYTE(v137) = 0;
- v45 = sub_6968CF(v137);
- ReadBits((unsigned int *)v4 + 262, v45);
- }
- if ( v4[424] ) // if (hasTransportPosition)
- {
- v4[379] = ReadBit(&v135);
- v4[381] = ReadBit(&v135);
- v4[378] = ReadBit(&v135);
- v4[377] = ReadBit(&v135);
- v4[380] = ReadBit(&v135);
- v4[412] = ReadBit(&v135) != 0;
- v4[420] = ReadBit(&v135) != 0;
- v4[376] = ReadBit(&v135);
- v4[382] = ReadBit(&v135);
- v4[383] = ReadBit(&v135);
- }
- if ( v4[368] ) // if (isLiving)
- {
- v46 = ReadBit(&v135) != 0;
- v4[96] = v46;
- if ( v46 )
- {
- v4[52] = ReadBit(&v135);
- v4[48] = ReadBit(&v135);
- v4[53] = ReadBit(&v135);
- v4[50] = ReadBit(&v135);
- v4[51] = ReadBit(&v135);
- v4[84] = ReadBit(&v135) != 0;
- v4[55] = ReadBit(&v135);
- v4[54] = ReadBit(&v135);
- v4[49] = ReadBit(&v135);
- v4[92] = ReadBit(&v135) != 0;
- }
- if ( ReadBit(&v135) )
- v47 = 0;
- else
- v47 = 1065353216;
- *((_DWORD *)v4 + 26) = v47;
- v4[140] = ReadBit(&v135) != 0;
- LOBYTE(v137) = 0;
- v48 = sub_6A3920(v137);
- sub_769D22(v48);
- v4[9] = ReadBit(&v135);
- v49 = ReadBit(&v135);
- v145 = 0;
- v7 = *((_DWORD *)v4 + 88) == 0;
- *((_DWORD *)v4 + 5) = v49 == 0;
- if ( !v7 )
- {
- v144 = 0;
- do
- {
- LOBYTE(v137) = 0;
- v50 = sub_6920B5(v137);
- v51 = v144;
- v52 = *((_DWORD *)v4 + 89);
- ++v145;
- v144 += 28;
- *(_BYTE *)(v52 + v51 + 24) = v50;
- }
- while ( v145 < *((_DWORD *)v4 + 88) );
- }
- v4[141] = ReadBit(&v135) != 0;
- if ( ReadBit(&v135) )
- v53 = 0;
- else
- v53 = 1065353216;
- v7 = *((_DWORD *)v4 + 5) == 0;
- *((_DWORD *)v4 + 34) = v53;
- if ( !v7 )
- {
- LOBYTE(v137) = 0;
- *((_DWORD *)v4 + 5) = sub_66BF5F(v137);
- }
- if ( ReadBit(&v135) )
- v54 = 0;
- else
- v54 = 1065353216;
- *((_DWORD *)v4 + 10) = v54;
- *((_DWORD *)v4 + 6) = ReadBit(&v135) == 0;
- *((_DWORD *)v4 + 4) = ReadBit(&v135) == 0;
- *((_DWORD *)v4 + 40) = ReadBit(&v135) == 0;
- v4[10] = ReadBit(&v135);
- v4[14] = ReadBit(&v135);
- v4[132] = ReadBit(&v135) != 0;
- v4[13] = ReadBit(&v135);
- v4[12] = ReadBit(&v135);
- v55 = ReadBit(&v135);
- v7 = *((_DWORD *)v4 + 4) == 0;
- v4[8] = v55;
- if ( !v7 )
- {
- LOBYTE(v137) = 0;
- *((_DWORD *)v4 + 4) = sub_69691A(v137);
- }
- v56 = ReadBit(&v135);
- v7 = v4[132] == 0;
- v4[164] = v56 != 0;
- if ( !v7 )
- v4[128] = ReadBit(&v135) != 0;
- LOBYTE(v137) = 0;
- v57 = sub_6968CF(v137);
- ReadBits((unsigned int *)v4 + 36, v57);
- v4[15] = ReadBit(&v135);
- v4[344] = ReadBit(&v135) != 0;
- v58 = ReadBit(&v135);
- v7 = v4[344] == 0;
- v4[11] = v58;
- if ( !v7 )
- {
- v59 = ReadBit(&v135) != 0;
- v4[336] = v59;
- if ( v59 )
- {
- v4[260] = ReadBit(&v135) != 0;
- LOBYTE(v137) = 0;
- v4[280] = sub_6920B5(v137);
- LOBYTE(v137) = 0;
- v60 = sub_696884(v137);
- sub_4A024C(v60);
- LOBYTE(v137) = 0;
- *((_DWORD *)v4 + 56) = sub_6FE0AE(v137);
- v4[252] = ReadBit(&v135) != 0;
- v61 = ReadBit(&v135) != 0;
- v4[304] = v61;
- if ( v61 )
- {
- LOBYTE(v137) = 0;
- *((_WORD *)v4 + 150) = sub_6920B5(v137);
- LOBYTE(v137) = 0;
- v62 = sub_6A396B(v137);
- sub_769CD6(v62);
- }
- }
- }
- }
- if... // areatrigger
- if... // attacking target
- if ( v4[498] ) // anim kits
- {
- *((_WORD *)v4 + 247) = ReadBit(&v135) == 0;
- *((_WORD *)v4 + 248) = ReadBit(&v135) == 0;
- *((_WORD *)v4 + 246) = ReadBit(&v135) == 0;
- }
- if ( v4[810] )
- {
- LOBYTE(v137) = 0;
- *(_DWORD *)(v4 + 682) = sub_6657B0(v137);
- }
- v144 = 0;
- if ( *((_DWORD *)v4 + 267) ) // transportFrames
- {
- do
- {
- v143 = 0;
- sub_40F3DB(&v143);
- v68 = v144;
- *(_DWORD *)(*((_DWORD *)v4 + 268) + 4 * v144) = v143;
- v144 = v68 + 1;
- }
- while ( v68 + 1 < *((_DWORD *)v4 + 267) );
- }
- if ( v4[668] ) // areaTrigger
- {
- if ( v4[572] )
- {
- v143 = 0;
- sub_40F444(&v143);
- *((_DWORD *)v4 + 141) = v143;
- v143 = 0;
- sub_40F444(&v143);
- *((_DWORD *)v4 + 142) = v143;
- }
- if ( v4[644] )
- {
- v69 = 0;
- if ( *((_DWORD *)v4 + 155) )
- {
- do
- {
- v143 = 0;
- sub_40F444(&v143);
- *(_DWORD *)(*((_DWORD *)v4 + 156) + 8 * v69) = v143;
- v144 = 0;
- sub_40F444(&v144);
- *(_DWORD *)(*((_DWORD *)v4 + 156) + 8 * v69++ + 4) = v144;
- }
- while ( v69 < *((_DWORD *)v4 + 155) );
- }
- v3 = a2;
- v143 = 0;
- sub_40F444(&v143);
- v70 = 0;
- *((_DWORD *)v4 + 159) = v143;
- if ( *((_DWORD *)v4 + 151) )
- {
- do
- {
- v143 = 0;
- sub_40F444(&v143);
- *(_DWORD *)(*((_DWORD *)v4 + 152) + 8 * v70) = v143;
- v144 = 0;
- sub_40F444(&v144);
- *(_DWORD *)(*((_DWORD *)v4 + 152) + 8 * v70++ + 4) = v144;
- }
- while ( v70 < *((_DWORD *)v4 + 151) );
- }
- v143 = 0;
- sub_40F444(&v143);
- *((_DWORD *)v4 + 160) = v143;
- }
- if ( v4[600] )
- {
- v143 = 0;
- sub_40F444(&v143);
- *((_DWORD *)v4 + 145) = v143;
- v143 = 0;
- sub_40F444(&v143);
- *((_DWORD *)v4 + 148) = v143;
- v143 = 0;
- sub_40F444(&v143);
- *((_DWORD *)v4 + 149) = v143;
- v143 = 0;
- sub_40F444(&v143);
- *((_DWORD *)v4 + 146) = v143;
- v143 = 0;
- sub_40F444(&v143);
- *((_DWORD *)v4 + 144) = v143;
- v143 = 0;
- sub_40F444(&v143);
- *((_DWORD *)v4 + 147) = v143;
- }
- v143 = 0;
- sub_40F3DB(&v143);
- *((_DWORD *)v4 + 130) = v143;
- if ( v4[664] )
- {
- v71 = 0;
- v144 = 0;
- if ( *((_DWORD *)v4 + 162) )
- {
- do
- {
- v143 = 0;
- sub_40F444(&v143);
- *(_DWORD *)(v71 + *((_DWORD *)v4 + 163)) = v143;
- v145 = 0;
- sub_40F444(&v145);
- *(_DWORD *)(*((_DWORD *)v4 + 163) + v71 + 4) = v145;
- v146 = 0;
- sub_40F444(&v146);
- v72 = *((_DWORD *)v4 + 163);
- ++v144;
- *(_DWORD *)(v72 + v71 + 8) = v146;
- v71 += 12;
- }
- while ( v144 < *((_DWORD *)v4 + 162) );
- }
- }
- if ( v4[544] )
- {
- v143 = 0;
- sub_40F3DB(&v143);
- *((_DWORD *)v4 + 135) = v143;
- }
- if ( v4[536] )
- {
- v143 = 0;
- sub_40F3DB(&v143);
- *((_DWORD *)v4 + 133) = v143;
- }
- if ( v4[560] )
- {
- v143 = 0;
- sub_40F3DB(&v143);
- *((_DWORD *)v4 + 139) = v143;
- }
- if ( v4[552] )
- {
- v143 = 0;
- sub_40F3DB(&v143);
- *((_DWORD *)v4 + 137) = v143;
- }
- }
- if ( v4[368] ) // isalive/updateflagliving
- {
- if ( v4[132] )
- {
- if ( v4[128] )
- {
- v143 = 0;
- sub_40F444(&v143);
- *((_DWORD *)v4 + 31) = v143;
- v143 = 0;
- sub_40F444(&v143);
- *((_DWORD *)v4 + 30) = v143;
- v143 = 0;
- sub_40F444(&v143);
- *((_DWORD *)v4 + 29) = v143;
- }
- v143 = 0;
- sub_40F444(&v143);
- v73 = v143;
- v143 = 0;
- *((_DWORD *)v4 + 28) = v73;
- sub_40F3DB(&v143);
- *((_DWORD *)v4 + 27) = v143;
- }
- if ( v4[344] )
- {
- if ( v4[336] )
- {
- v143 = 0;
- sub_40F444(&v143);
- v144 = 0;
- *((_DWORD *)v4 + 61) = v143;
- if ( *((_DWORD *)v4 + 66) )
- {
- v74 = 0;
- do
- {
- v143 = 0;
- sub_40F444(&v143);
- *(_DWORD *)(v74 + *((_DWORD *)v4 + 67) + 8) = v143;
- v145 = 0;
- sub_40F444(&v145);
- *(_DWORD *)(v74 + *((_DWORD *)v4 + 67) + 4) = v145;
- v146 = 0;
- sub_40F444(&v146);
- v75 = *((_DWORD *)v4 + 67);
- ++v144;
- *(_DWORD *)(v74 + v75) = v146;
- v74 += 12;
- }
- while ( v144 < *((_DWORD *)v4 + 66) );
- }
- v148 = 0;
- sub_40F37A(&v148);
- v4[228] = v148;
- v143 = 0;
- sub_40F444(&v143);
- *((_DWORD *)v4 + 60) = v143;
- if ( v4[304] )
- {
- v76 = 0;
- if ( *((_DWORD *)v4 + 71) )
- {
- do
- {
- v143 = 0;
- sub_40F444(&v143);
- *(_DWORD *)(*((_DWORD *)v4 + 72) + 8 * v76) = v143;
- v144 = 0;
- sub_40F444(&v144);
- *(_DWORD *)(*((_DWORD *)v4 + 72) + 8 * v76++ + 4) = v144;
- }
- while ( v76 < *((_DWORD *)v4 + 71) );
- }
- }
- if ( v4[228] == 2 )
- {
- v143 = 0;
- sub_40F444(&v143);
- *((_DWORD *)v4 + 80) = v143;
- v143 = 0;
- sub_40F444(&v143);
- *((_DWORD *)v4 + 81) = v143;
- v143 = 0;
- sub_40F444(&v143);
- *((_DWORD *)v4 + 82) = v143;
- }
- if ( v4[252] )
- {
- v143 = 0;
- sub_40F444(&v143);
- *((_DWORD *)v4 + 62) = v143;
- }
- if ( v4[228] == 4 )
- {
- v143 = 0;
- sub_40F444(&v143);
- *((_DWORD *)v4 + 77) = v143;
- }
- v143 = 0;
- sub_40F3DB(&v143);
- *((_DWORD *)v4 + 59) = v143;
- if ( v4[260] )
- {
- v143 = 0;
- sub_40F3DB(&v143);
- *((_DWORD *)v4 + 64) = v143;
- }
- v143 = 0;
- sub_40F3DB(&v143);
- *((_DWORD *)v4 + 58) = v143;
- }
- v143 = 0;
- sub_40F3DB(&v143);
- *((_DWORD *)v4 + 52) = v143;
- v143 = 0;
- sub_40F444(&v143);
- *((_DWORD *)v4 + 53) = v143;
- v143 = 0;
- sub_40F444(&v143);
- *((_DWORD *)v4 + 54) = v143;
- v143 = 0;
- sub_40F444(&v143);
- *((_DWORD *)v4 + 55) = v143;
- }
- v143 = 0;
- sub_40F444(&v143);
- v144 = 0;
- *((_DWORD *)v4 + 9) = v143;
- if ( *((_DWORD *)v4 + 88) )
- {
- v77 = 0;
- do
- {
- v143 = 0;
- sub_40F444(&v143);
- v78 = *((_DWORD *)v4 + 89);
- v145 = 0;
- *(_DWORD *)(v78 + v77 + 20) = v143;
- sub_40F3DB(&v145);
- *(_DWORD *)(*((_DWORD *)v4 + 89) + v77 + 16) = v145;
- v145 = 0;
- sub_40F3DB(&v145);
- *(_DWORD *)(v77 + *((_DWORD *)v4 + 89)) = v145;
- v146 = 0;
- sub_40F444(&v146);
- *(_DWORD *)(*((_DWORD *)v4 + 89) + v77 + 12) = v146;
- v147 = 0;
- sub_40F444(&v147);
- *(_DWORD *)(*((_DWORD *)v4 + 89) + v77 + 4) = v147;
- v142 = 0;
- sub_40F444(&v142);
- v79 = *((_DWORD *)v4 + 89);
- ++v144;
- *(_DWORD *)(v79 + v77 + 8) = v142;
- v77 += 28;
- }
- while ( v144 < *((_DWORD *)v4 + 88) );
- }
- v142 = 0;
- sub_40F444(&v142);
- *((_DWORD *)v4 + 8) = v142;
- v142 = 0;
- sub_40F444(&v142);
- *((_DWORD *)v4 + 47) = v142;
- if ( v4[14] )
- {
- v148 = 0;
- sub_40F37A(&v148);
- v4[14] ^= v148;
- }
- v142 = 0;
- sub_40F444(&v142);
- *((_DWORD *)v4 + 48) = v142;
- if ( v4[96] )
- {
- if ( v4[55] )
- {
- v148 = 0;
- sub_40F37A(&v148);
- v4[55] ^= v148;
- }
- if ( v4[52] )
- {
- v148 = 0;
- sub_40F37A(&v148);
- v4[52] ^= v148;
- }
- if ( v4[92] )
- {
- v142 = 0;
- sub_40F3DB(&v142);
- *((_DWORD *)v4 + 22) = v142;
- }
- v142 = 0;
- sub_40F3DB(&v142);
- *((_DWORD *)v4 + 19) = v142;
- if ( v4[84] )
- {
- v142 = 0;
- sub_40F3DB(&v142);
- *((_DWORD *)v4 + 20) = v142;
- }
- v142 = 0;
- sub_40F444(&v142);
- *((_DWORD *)v4 + 17) = v142;
- v142 = 0;
- sub_40F444(&v142);
- *((_DWORD *)v4 + 14) = v142;
- if ( v4[54] )
- v4[54] ^= ReadBitStreamPos(v3);
- if ( v4[51] )
- v4[51] ^= ReadBitStreamPos(v3);
- if ( v4[50] )
- v4[50] ^= ReadBitStreamPos(v3);
- *((float *)v4 + 16) = ReadFloat(v3);
- *((float *)v4 + 15) = ReadFloat(v3);
- v4[72] = ReadBitStreamPos(v3);
- if ( v4[49] )
- v4[49] ^= ReadBitStreamPos(v3);
- if ( v4[48] )
- v4[48] ^= ReadBitStreamPos(v3);
- if ( v4[53] )
- v4[53] ^= ReadBitStreamPos(v3);
- }
- *((float *)v4 + 7) = ReadFloat(v3);
- if ( v4[10] )
- v4[10] ^= ReadBitStreamPos(v3);
- if ( *((float *)v4 + 26) != 0.0 )
- *((float *)v4 + 26) = ReadFloat(v3);
- *((float *)v4 + 44) = ReadFloat(v3);
- if ( v4[9] )
- v4[9] ^= ReadBitStreamPos(v3);
- *((float *)v4 + 46) = ReadFloat(v3);
- *((float *)v4 + 45) = ReadFloat(v3);
- if ( v4[13] )
- v4[13] ^= ReadBitStreamPos(v3);
- *((float *)v4 + 49) = ReadFloat(v3);
- if ( v4[11] )
- v4[11] ^= ReadBitStreamPos(v3);
- if ( *((float *)v4 + 34) != 0.0 )
- *((float *)v4 + 34) = ReadFloat(v3);
- if ( *((_DWORD *)v4 + 40) )
- *((_DWORD *)v4 + 40) = ReadUInt32(v3);
- *((float *)v4 + 43) = ReadFloat(v3);
- if ( v4[15] )
- v4[15] ^= ReadBitStreamPos(v3);
- *((float *)v4 + 42) = ReadFloat(v3);
- *((float *)v4 + 50) = ReadFloat(v3);
- v80 = 0;
- if ( *((_DWORD *)v4 + 36) )
- {
- do
- {
- v137 = *((_DWORD *)v4 + 37) + 4 * v80;
- v81 = ReadUInt32(v3);
- ++v80;
- *(_DWORD *)v137 = v81;
- }
- while ( v80 < *((_DWORD *)v4 + 36) );
- }
- if ( *((_DWORD *)v4 + 6) )
- *((_DWORD *)v4 + 6) = ReadUInt32(v3);
- if ( v4[12] )
- v4[12] ^= ReadBitStreamPos(v3);
- if ( v4[8] )
- v4[8] ^= ReadBitStreamPos(v3);
- if ( *((float *)v4 + 10) != 0.0 )
- *((float *)v4 + 10) = ReadFloat(v3);
- }
- if ( v4[1032] ) // sceneObjectData
- {
- v82 = (int)(v4 + 856);
- v142 = 2;
- do
- {
- v145 = 0;
- if ( *(_DWORD *)(v82 + 20) )
- {
- v83 = 0;
- do
- {
- v7 = *(_BYTE *)(v83 + *(_DWORD *)(v82 + 24) + 6) == 0;
- v137 = v83 + *(_DWORD *)(v82 + 24) + 6;
- if ( !v7 )
- {
- v84 = ReadBitStreamPos(a2);
- *(_BYTE *)v137 ^= v84;
- }
- v85 = *(_DWORD *)(v82 + 24);
- v144 = 0;
- if ( *(_DWORD *)(v83 + v85 + 132) )
- {
- v147 = 0;
- do
- {
- v7 = *(_DWORD *)(v147 + *(_DWORD *)(v83 + *(_DWORD *)(v82 + 24) + 136) + 12) == 0;
- v146 = v147 + *(_DWORD *)(v83 + *(_DWORD *)(v82 + 24) + 136);
- if ( !v7 )
- {
- v86 = ReadUInt32(a2);
- *(_DWORD *)(v146 + 12) = v86;
- }
- v137 = v147 + *(_DWORD *)(v83 + *(_DWORD *)(v82 + 24) + 136);
- v87 = ReadUInt32(a2);
- *(_DWORD *)v137 = v87;
- v137 = v147 + *(_DWORD *)(v83 + *(_DWORD *)(v82 + 24) + 136);
- v88 = ReadUInt32(a2);
- *(_DWORD *)(v137 + 4) = v88;
- v7 = *(_DWORD *)(v147 + *(_DWORD *)(v83 + *(_DWORD *)(v82 + 24) + 136) + 8) == 0;
- v146 = v147 + *(_DWORD *)(v83 + *(_DWORD *)(v82 + 24) + 136);
- if ( !v7 )
- {
- v89 = ReadUInt32(a2);
- *(_DWORD *)(v146 + 8) = v89;
- }
- v7 = *(_BYTE *)(v147 + *(_DWORD *)(v83 + *(_DWORD *)(v82 + 24) + 136) + 16) == 9;
- v146 = v147 + *(_DWORD *)(v83 + *(_DWORD *)(v82 + 24) + 136);
- if ( !v7 )
- {
- v90 = ReadBitStreamPos(a2);
- *(_BYTE *)(v146 + 16) = v90;
- }
- ++v144;
- v91 = *(_DWORD *)(v82 + 24);
- v147 += 20;
- }
- while ( v144 < *(_DWORD *)(v83 + v91 + 132) );
- }
- v7 = *(_BYTE *)(v83 + *(_DWORD *)(v82 + 24)) == 0;
- v146 = v83 + *(_DWORD *)(v82 + 24);
- if ( !v7 )
- {
- v92 = ReadBitStreamPos(a2);
- *(_BYTE *)v146 ^= v92;
- }
- v137 = v83 + *(_DWORD *)(v82 + 24);
- v93 = ReadUInt32(a2);
- *(_DWORD *)(v137 + 12) = v93;
- v137 = v83 + *(_DWORD *)(v82 + 24);
- v94 = ReadUInt32(a2);
- v146 = 0;
- *(_DWORD *)(v137 + 28) = v94;
- if ( *(_DWORD *)(v83 + *(_DWORD *)(v82 + 24) + 148) )
- {
- do
- {
- v137 = 8 * v146 + *(_DWORD *)(v83 + *(_DWORD *)(v82 + 24) + 152);
- v95 = ReadUInt32(a2);
- *(_DWORD *)(v137 + 4) = v95;
- v137 = 8 * v146 + *(_DWORD *)(v83 + *(_DWORD *)(v82 + 24) + 152);
- v96 = ReadUInt32(a2);
- ++v146;
- *(_DWORD *)v137 = v96;
- }
- while ( v146 < *(_DWORD *)(v83 + *(_DWORD *)(v82 + 24) + 148) );
- }
- v137 = v83 + *(_DWORD *)(v82 + 24);
- v97 = ReadUInt32(a2);
- *(_DWORD *)(v137 + 40) = v97;
- v137 = v83 + *(_DWORD *)(v82 + 24);
- v98 = ReadUInt32(a2);
- v144 = 0;
- *(_DWORD *)(v137 + 36) = v98;
- if ( *(_DWORD *)(v83 + *(_DWORD *)(v82 + 24) + 116) )
- {
- v147 = 0;
- do
- {
- v7 = *(_BYTE *)(v147 + *(_DWORD *)(v83 + *(_DWORD *)(v82 + 24) + 120) + 9) == 9;
- v137 = v147 + *(_DWORD *)(v83 + *(_DWORD *)(v82 + 24) + 120);
- if ( !v7 )
- {
- v99 = ReadBitStreamPos(a2);
- *(_BYTE *)(v137 + 9) = v99;
- }
- v137 = v147 + *(_DWORD *)(v83 + *(_DWORD *)(v82 + 24) + 120);
- v100 = ReadBitStreamPos(a2);
- *(_BYTE *)(v137 + 8) = v100;
- v137 = v147 + *(_DWORD *)(v83 + *(_DWORD *)(v82 + 24) + 120);
- v101 = ReadUInt16(a2);
- *(_WORD *)(v137 + 4) = v101;
- v137 = v147 + *(_DWORD *)(v83 + *(_DWORD *)(v82 + 24) + 120);
- v102 = ReadUInt32(a2);
- *(_DWORD *)v137 = v102;
- v137 = v147 + *(_DWORD *)(v83 + *(_DWORD *)(v82 + 24) + 120);
- v103 = ReadUInt16(a2);
- ++v144;
- v147 += 12;
- *(_WORD *)(v137 + 6) = v103;
- }
- while ( v144 < *(_DWORD *)(v83 + *(_DWORD *)(v82 + 24) + 116) );
- }
- v137 = v83 + *(_DWORD *)(v82 + 24);
- v104 = ReadUInt32(a2);
- *(_DWORD *)(v137 + 24) = v104;
- v137 = v83 + *(_DWORD *)(v82 + 24);
- v105 = ReadUInt16(a2);
- *(_WORD *)(v137 + 44) = v105;
- v137 = v83 + *(_DWORD *)(v82 + 24);
- v106 = ReadUInt16(a2);
- *(_WORD *)(v137 + 20) = v106;
- v107 = (int *)(v83 + *(_DWORD *)(v82 + 24) + 49);
- v137 = *v107;
- sub_40F63D(v107, v137);
- *(_BYTE *)(v83 + v137 + *(_DWORD *)(v82 + 24) + 49) = 0;
- v7 = *(_BYTE *)(v83 + *(_DWORD *)(v82 + 24) + 1) == 0;
- v137 = v83 + *(_DWORD *)(v82 + 24) + 1;
- if ( !v7 )
- {
- v108 = ReadBitStreamPos(a2);
- *(_BYTE *)v137 ^= v108;
- }
- v137 = v83 + *(_DWORD *)(v82 + 24);
- v109 = ReadUInt32(a2);
- *(_DWORD *)(v137 + 32) = v109;
- v137 = v83 + *(_DWORD *)(v82 + 24);
- v110 = ReadUInt32(a2);
- *(_DWORD *)(v137 + 16) = v110;
- v7 = *(_BYTE *)(v83 + *(_DWORD *)(v82 + 24) + 5) == 0;
- v137 = v83 + *(_DWORD *)(v82 + 24) + 5;
- if ( !v7 )
- {
- v111 = ReadBitStreamPos(a2);
- *(_BYTE *)v137 ^= v111;
- }
- v7 = *(_BYTE *)(v83 + *(_DWORD *)(v82 + 24) + 2) == 0;
- v137 = v83 + *(_DWORD *)(v82 + 24) + 2;
- if ( !v7 )
- {
- v112 = ReadBitStreamPos(a2);
- *(_BYTE *)v137 ^= v112;
- }
- v7 = *(_BYTE *)(v83 + *(_DWORD *)(v82 + 24) + 3) == 0;
- v137 = v83 + *(_DWORD *)(v82 + 24) + 3;
- if ( !v7 )
- {
- v113 = ReadBitStreamPos(a2);
- *(_BYTE *)v137 ^= v113;
- }
- v7 = *(_BYTE *)(v83 + *(_DWORD *)(v82 + 24) + 7) == 0;
- v137 = v83 + *(_DWORD *)(v82 + 24) + 7;
- if ( !v7 )
- {
- v114 = ReadBitStreamPos(a2);
- *(_BYTE *)v137 ^= v114;
- }
- v7 = *(_BYTE *)(v83 + *(_DWORD *)(v82 + 24) + 4) == 0;
- v137 = v83 + *(_DWORD *)(v82 + 24) + 4;
- if ( !v7 )
- {
- v115 = ReadBitStreamPos(a2);
- *(_BYTE *)v137 ^= v115;
- }
- v7 = *(_WORD *)(v83 + *(_DWORD *)(v82 + 24) + 46) == 0;
- v146 = v83 + *(_DWORD *)(v82 + 24);
- if ( !v7 )
- {
- v116 = ReadUInt16(a2);
- *(_WORD *)(v146 + 46) = v116;
- }
- v137 = v83 + *(_DWORD *)(v82 + 24);
- v117 = ReadUInt32(a2);
- *(_DWORD *)(v137 + 8) = v117;
- v7 = *(_BYTE *)(v83 + *(_DWORD *)(v82 + 24) + 48) == -1;
- v146 = v83 + *(_DWORD *)(v82 + 24);
- if ( !v7 )
- {
- v118 = ReadBitStreamPos(a2);
- *(_BYTE *)(v146 + 48) = v118;
- }
- v137 = v83 + *(_DWORD *)(v82 + 24);
- v119 = ReadUInt16(a2);
- ++v145;
- *(_WORD *)(v137 + 22) = v119;
- v83 += 168;
- }
- while ( v145 < *(_DWORD *)(v82 + 20) );
- }
- if ( *(_BYTE *)v82 )
- *(_BYTE *)v82 ^= ReadBitStreamPos(a2);
- *(_DWORD *)(v82 + 8) = ReadUInt32(a2);
- v120 = ReadBitStreamPos(a2);
- v7 = *(_BYTE *)(v82 + 5) == 0;
- *(_BYTE *)(v82 + 37) = v120;
- if ( !v7 )
- *(_BYTE *)(v82 + 5) ^= ReadBitStreamPos(a2);
- if ( *(_BYTE *)(v82 + 3) )
- *(_BYTE *)(v82 + 3) ^= ReadBitStreamPos(a2);
- if ( *(_BYTE *)(v82 + 2) )
- *(_BYTE *)(v82 + 2) ^= ReadBitStreamPos(a2);
- if ( *(_BYTE *)(v82 + 6) )
- *(_BYTE *)(v82 + 6) ^= ReadBitStreamPos(a2);
- if ( *(_BYTE *)(v82 + 4) )
- *(_BYTE *)(v82 + 4) ^= ReadBitStreamPos(a2);
- if ( *(_BYTE *)(v82 + 36) != -1 )
- *(_BYTE *)(v82 + 36) = ReadBitStreamPos(a2);
- if ( *(_BYTE *)(v82 + 1) )
- *(_BYTE *)(v82 + 1) ^= ReadBitStreamPos(a2);
- if ( *(_WORD *)(v82 + 16) )
- *(_WORD *)(v82 + 16) = ReadUInt16(a2);
- if ( *(_BYTE *)(v82 + 7) )
- *(_BYTE *)(v82 + 7) ^= ReadBitStreamPos(a2);
- if ( *(_DWORD *)(v82 + 12) )
- *(_DWORD *)(v82 + 12) = ReadUInt32(a2);
- v82 += 40;
- --v142;
- }
- while ( v142 );
- if ( v4[843] )
- v4[843] ^= ReadBitStreamPos(a2);
- if ( v4[845] )
- v4[845] ^= ReadBitStreamPos(a2);
- if ( v4[846] )
- v4[846] ^= ReadBitStreamPos(a2);
- if ( v4[847] )
- v4[847] ^= ReadBitStreamPos(a2);
- if ( v4[840] )
- v4[840] ^= ReadBitStreamPos(a2);
- if ( v4[841] )
- v4[841] ^= ReadBitStreamPos(a2);
- if ( v4[842] )
- v4[842] ^= ReadBitStreamPos(a2);
- if ( v4[844] )
- v4[844] ^= ReadBitStreamPos(a2);
- v121 = (unsigned int *)(v4 + 936);
- v142 = 3;
- do
- {
- v144 = 0;
- if ( *v121 )
- {
- v147 = 0;
- do
- {
- v122 = v147 + v121[1];
- if ( *(_BYTE *)(v122 + 16) != 9 )
- *(_BYTE *)(v122 + 16) = ReadBitStreamPos(a2);
- v123 = (_DWORD *)(v147 + v121[1]);
- *v123 = ReadUInt32(a2);
- v124 = v147 + v121[1];
- if ( *(_DWORD *)(v124 + 12) )
- *(_DWORD *)(v124 + 12) = ReadUInt32(a2);
- v125 = v147 + v121[1];
- if ( *(_DWORD *)(v125 + 8) )
- *(_DWORD *)(v125 + 8) = ReadUInt32(a2);
- v126 = v147 + v121[1];
- v127 = ReadUInt32(a2);
- ++v144;
- v147 += 20;
- *(_DWORD *)(v126 + 4) = v127;
- }
- while ( v144 < *v121 );
- }
- v146 = 0;
- if ( v121[4] )
- {
- do
- {
- v128 = 8 * v146 + v121[5];
- *(_DWORD *)(v128 + 4) = ReadUInt32(a2);
- v129 = (int *)(8 * v146 + v121[5]);
- v130 = ReadUInt32(a2);
- ++v146;
- *v129 = v130;
- }
- while ( v146 < v121[4] );
- }
- v121 += 8;
- --v142;
- }
- while ( v142 );
- if ( *((_DWORD *)v4 + 207) )
- *((_DWORD *)v4 + 207) = ReadUInt32(a2);
- if ( *((_WORD *)v4 + 409) )
- *((_WORD *)v4 + 409) = ReadUInt16(a2);
- if ( v4[833] )
- v4[833] = ReadBitStreamPos(a2);
- *((_DWORD *)v4 + 205) = ReadUInt32(a2);
- if ( v4[832] )
- v4[832] = ReadBitStreamPos(a2);
- if ( *((_WORD *)v4 + 408) )
- *((_WORD *)v4 + 408) = ReadUInt16(a2);
- if ( *((_DWORD *)v4 + 206) )
- *((_DWORD *)v4 + 206) = ReadUInt32(a2);
- }
- v131 = a2;
- if ( v4[464] ) // hasTarget
- {
- if ( v4[461] )
- v4[461] ^= ReadBitStreamPos(a2);
- if ( v4[457] )
- v4[457] ^= ReadBitStreamPos(a2);
- if ( v4[458] )
- v4[458] ^= ReadBitStreamPos(a2);
- if ( v4[456] )
- v4[456] ^= ReadBitStreamPos(a2);
- if ( v4[459] )
- v4[459] ^= ReadBitStreamPos(a2);
- if ( v4[460] )
- v4[460] ^= ReadBitStreamPos(a2);
- if ( v4[462] )
- v4[462] ^= ReadBitStreamPos(a2);
- if ( v4[463] )
- v4[463] ^= ReadBitStreamPos(a2);
- }
- if ( v4[448] ) // hasStationaryPosition
- {
- *((float *)v4 + 111) = ReadFloat(a2);
- *((float *)v4 + 108) = ReadFloat(a2);
- *((float *)v4 + 109) = ReadFloat(a2);
- *((float *)v4 + 110) = ReadFloat(a2);
- }
- if ( v4[424] ) // hasGameObjectData
- {
- v4[400] = ReadBitStreamPos(a2);
- *((float *)v4 + 96) = ReadFloat(a2);
- if ( v4[377] )
- v4[377] ^= ReadBitStreamPos(a2);
- if ( v4[376] )
- v4[376] ^= ReadBitStreamPos(a2);
- if ( v4[378] )
- v4[378] ^= ReadBitStreamPos(a2);
- if ( v4[382] )
- v4[382] ^= ReadBitStreamPos(a2);
- if ( v4[381] )
- v4[381] ^= ReadBitStreamPos(a2);
- if ( v4[380] )
- v4[380] ^= ReadBitStreamPos(a2);
- if ( v4[420] )
- *((_DWORD *)v4 + 104) = ReadUInt32(a2);
- if ( v4[383] )
- v4[383] ^= ReadBitStreamPos(a2);
- *((float *)v4 + 99) = ReadFloat(a2);
- *((float *)v4 + 98) = ReadFloat(a2);
- *((float *)v4 + 97) = ReadFloat(a2);
- if ( v4[412] )
- *((_DWORD *)v4 + 102) = ReadUInt32(a2);
- if ( v4[379] )
- v4[379] ^= ReadBitStreamPos(a2);
- *((_DWORD *)v4 + 101) = ReadUInt32(a2);
- }
- if ( v4[476] )
- *((_DWORD *)v4 + 118) = ReadUInt32(a2);
- if ( v4[676] )
- *((_DWORD *)v4 + 168) = ReadUInt32(a2);
- if ( v4[810] )
- {
- v132 = *(_DWORD *)(v4 + 682);
- sub_40F63D(v4 + 682, *(_DWORD *)(v4 + 682));
- v4[v132 + 682] = 0;
- }
- if ( v4[512] ) // if ((p_Flags & UPDATEFLAG_ROTATION) && l_GameObject)
- {
- *((_DWORD *)v4 + 126) = ReadUInt64(a2);
- *((_DWORD *)v4 + 127) = v133;
- }
- if ( v4[488] ) // vechicle
- {
- *((_DWORD *)v4 + 120) = ReadUInt32(a2);
- *((float *)v4 + 121) = ReadFloat(a2);
- }
- if ( v4[1044] ) // hasServerTime
- *((_DWORD *)v4 + 260) = ReadUInt32(a2);
- if ( v4[498] )
- {
- if ( *((_WORD *)v4 + 246) )
- *((_WORD *)v4 + 246) = ReadUInt16(a2);
- if ( *((_WORD *)v4 + 247) )
- *((_WORD *)v4 + 247) = ReadUInt16(a2);
- if ( *((_WORD *)v4 + 248) )
- *((_WORD *)v4 + 248) = ReadUInt16(a2);
- }
- if ( v4[1064] )
- {
- v134 = 0;
- if ( *((_DWORD *)v4 + 262) )
- {
- do
- {
- v149 = (_DWORD *)(*((_DWORD *)v4 + 263) + 4 * v134++);
- *v149 = ReadUInt32(v131);
- }
- while ( v134 < *((_DWORD *)v4 + 262) );
- }
- }
- v7 = v4[368] == 0;
- v135 = v131;
- v136 = 2048;
- if ( !v7 )
- {
- if ( v4[344] && v4[336] && v4[228] == 3 )
- {
- v4[318] = ReadBit(&v135);
- v4[319] = ReadBit(&v135);
- v4[315] = ReadBit(&v135);
- v4[312] = ReadBit(&v135);
- v4[317] = ReadBit(&v135);
- v4[313] = ReadBit(&v135);
- v4[316] = ReadBit(&v135);
- v4[314] = ReadBit(&v135);
- }
- if ( v4[368] && v4[344] && v4[336] && v4[228] == 3 )
- {
- if ( v4[316] )
- v4[316] ^= ReadBitStreamPos(v131);
- if ( v4[314] )
- v4[314] ^= ReadBitStreamPos(v131);
- if ( v4[317] )
- v4[317] ^= ReadBitStreamPos(v131);
- if ( v4[318] )
- v4[318] ^= ReadBitStreamPos(v131);
- if ( v4[312] )
- v4[312] ^= ReadBitStreamPos(v131);
- if ( v4[319] )
- v4[319] ^= ReadBitStreamPos(v131);
- if ( v4[313] )
- v4[313] ^= ReadBitStreamPos(v131);
- if ( v4[315] )
- v4[315] ^= ReadBitStreamPos(v131);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement