Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int __fastcall luaV_execute(int *a1)
- {
- int *v1; // r3
- int *v2; // r3
- char *v3; // r12
- int v4; // r0
- int v5; // r1
- int v6; // r2
- int v7; // r3
- char *v8; // r12
- int v9; // r1
- int v10; // r2
- int v11; // r3
- _DWORD *v12; // r3
- char *v13; // r12
- int v14; // r1
- int v15; // r2
- int v16; // r3
- char *v17; // r3
- int *v19; // r3
- char *v20; // r12
- int v21; // r0
- int v22; // r1
- int v23; // r2
- int v24; // r3
- int v25; // r3
- _BOOL4 v26; // r3
- char *v27; // r12
- int v28; // r1
- int v29; // r2
- int v30; // r3
- int v31; // r3
- _BOOL4 v32; // r3
- char *v33; // r12
- int v34; // r1
- int v35; // r2
- int v36; // r3
- int v37; // r3
- int **v38; // r3
- int v39; // r3
- int *v40; // r12
- int *v41; // r1
- int *v42; // r2
- int *v43; // r3
- int *v44; // r12
- int v45; // r1
- int v46; // r2
- int v47; // r3
- int v48; // r3
- int **v49; // r3
- int v50; // r3
- int *v51; // r12
- int *v52; // r1
- int *v53; // r2
- int *v54; // r3
- int v55; // r4
- int v56; // r0
- int *v57; // r3
- char *v58; // r12
- int v59; // r1
- int v60; // r2
- int v61; // r3
- _BOOL4 v62; // r3
- char *v63; // r12
- int v64; // r1
- int v65; // r2
- int v66; // r3
- int v67; // r3
- int v68; // r3
- int v69; // r3
- int v70; // r3
- int v71; // r3
- int v72; // r3
- int v73; // r3
- int v74; // r3
- int v75; // r3
- int v76; // r3
- int v77; // r3
- int v78; // r3
- int v79; // r3
- int v80; // r3
- int v81; // r3
- int v82; // r3
- int v83; // r3
- int v84; // r3
- int v85; // r3
- int v86; // r3
- int v87; // r3
- int v88; // r3
- int v89; // r3
- int v90; // r3
- __int64 v91; // r0
- int v92; // r3
- int v93; // r3
- int v94; // r3
- __int64 v95; // r0
- int v96; // r3
- int v97; // r3
- __int64 v98; // r0
- int v99; // r3
- int v100; // r3
- int v101; // r3
- __int64 v102; // r0
- int v103; // r3
- double v104; // r0
- int v105; // r3
- int v106; // r3
- int v107; // r3
- _BOOL4 v108; // r3
- _BOOL4 v109; // r3
- _BOOL4 v110; // r3
- char *v111; // r12
- int v112; // r1
- int v113; // r2
- int v114; // r3
- char *v115; // r3
- int v116; // r3
- int v117; // r3
- int v118; // r0
- int v119; // r2
- int v120; // r3
- int v121; // r0
- int v122; // r2
- int v123; // r3
- int v124; // r0
- _BOOL4 v125; // r3
- _BOOL4 v126; // r3
- char *v127; // r12
- int v128; // r1
- int v129; // r2
- int v130; // r3
- int *v131; // r3
- _DWORD *v132; // r12
- int v133; // r0
- int v134; // r1
- int v135; // r2
- int v136; // r3
- int v137; // r3
- int result; // r0
- _BOOL4 v139; // r3
- _BOOL4 v140; // r3
- double v142; // r2
- _BOOL4 v143; // r3
- _BOOL4 v144; // r3
- _BOOL4 v145; // r3
- char *v146; // r12
- int v147; // r1
- int v148; // r2
- int v149; // r3
- char *v150; // r12
- int v151; // r1
- int v152; // r2
- int v153; // r3
- char *v154; // r12
- int v155; // r1
- int v156; // r2
- int v157; // r3
- int *v158; // r3
- char *v159; // r12
- int v160; // r1
- int v161; // r2
- int v162; // r3
- _DWORD *v163; // r3
- int v164; // r3
- int *v165; // r3
- char *v166; // r12
- int v167; // r0
- int v168; // r1
- int v169; // r2
- int v170; // r3
- double v172; // [sp+10h] [bp-3F4h] BYREF
- __int64 v173; // [sp+18h] [bp-3ECh] BYREF
- double v174; // [sp+20h] [bp-3E4h] BYREF
- int v175; // [sp+2Ch] [bp-3D8h] BYREF
- __int64 v176; // [sp+30h] [bp-3D4h] BYREF
- __int64 v177; // [sp+38h] [bp-3CCh] BYREF
- double v178; // [sp+40h] [bp-3C4h] BYREF
- double v179; // [sp+48h] [bp-3BCh] BYREF
- double v180; // [sp+50h] [bp-3B4h] BYREF
- double v181; // [sp+58h] [bp-3ACh] BYREF
- double v182; // [sp+60h] [bp-3A4h] BYREF
- __int64 v183; // [sp+68h] [bp-39Ch] BYREF
- __int64 v184; // [sp+70h] [bp-394h] BYREF
- __int64 v185; // [sp+78h] [bp-38Ch] BYREF
- __int64 v186; // [sp+80h] [bp-384h] BYREF
- __int64 v187; // [sp+88h] [bp-37Ch] BYREF
- __int64 v188; // [sp+90h] [bp-374h] BYREF
- __int64 v189; // [sp+98h] [bp-36Ch] BYREF
- __int64 v190; // [sp+A0h] [bp-364h] BYREF
- __int64 v191; // [sp+A8h] [bp-35Ch] BYREF
- __int64 v192; // [sp+B0h] [bp-354h] BYREF
- __int64 v193; // [sp+B8h] [bp-34Ch] BYREF
- __int64 v194; // [sp+C0h] [bp-344h] BYREF
- double v195; // [sp+C8h] [bp-33Ch] BYREF
- double v196; // [sp+D0h] [bp-334h] BYREF
- double v197; // [sp+D8h] [bp-32Ch] BYREF
- double v198; // [sp+E0h] [bp-324h] BYREF
- double v199; // [sp+E8h] [bp-31Ch] BYREF
- double v200; // [sp+F0h] [bp-314h] BYREF
- double v201; // [sp+F8h] [bp-30Ch] BYREF
- double v202; // [sp+100h] [bp-304h] BYREF
- unsigned int v203; // [sp+108h] [bp-2FCh]
- char *v204; // [sp+10Ch] [bp-2F8h]
- int v205; // [sp+110h] [bp-2F4h]
- char *v206; // [sp+114h] [bp-2F0h]
- int v207; // [sp+118h] [bp-2ECh]
- int v208; // [sp+11Ch] [bp-2E8h]
- char *v209; // [sp+120h] [bp-2E4h]
- int v210; // [sp+124h] [bp-2E0h]
- char *v211; // [sp+128h] [bp-2DCh]
- char *v212; // [sp+12Ch] [bp-2D8h]
- char *v213; // [sp+130h] [bp-2D4h]
- char *v214; // [sp+134h] [bp-2D0h]
- char *v215; // [sp+138h] [bp-2CCh]
- char *v216; // [sp+13Ch] [bp-2C8h]
- char *v217; // [sp+140h] [bp-2C4h]
- char *v218; // [sp+144h] [bp-2C0h]
- char *v219; // [sp+148h] [bp-2BCh]
- char *v220; // [sp+14Ch] [bp-2B8h]
- double v221; // [sp+150h] [bp-2B4h]
- char *v222; // [sp+15Ch] [bp-2A8h]
- char *v223; // [sp+160h] [bp-2A4h]
- char *v224; // [sp+164h] [bp-2A0h]
- char *v225; // [sp+168h] [bp-29Ch]
- char *v226; // [sp+16Ch] [bp-298h]
- double v227; // [sp+170h] [bp-294h]
- double v228; // [sp+178h] [bp-28Ch]
- double v229; // [sp+180h] [bp-284h]
- char *v230; // [sp+188h] [bp-27Ch]
- char *v231; // [sp+18Ch] [bp-278h]
- __int64 v232; // [sp+190h] [bp-274h]
- __int64 v233; // [sp+198h] [bp-26Ch]
- __int64 v234; // [sp+1A0h] [bp-264h]
- int v235; // [sp+1ACh] [bp-258h]
- char *v236; // [sp+1B0h] [bp-254h]
- _DWORD *v237; // [sp+1B4h] [bp-250h]
- int v238; // [sp+1B8h] [bp-24Ch]
- int v239; // [sp+1BCh] [bp-248h]
- int v240; // [sp+1C0h] [bp-244h]
- int v241; // [sp+1C4h] [bp-240h]
- int v242; // [sp+1C8h] [bp-23Ch]
- int v243; // [sp+1CCh] [bp-238h]
- int v244; // [sp+1D0h] [bp-234h]
- char *v245; // [sp+1D4h] [bp-230h]
- char *v246; // [sp+1D8h] [bp-22Ch]
- unsigned int v247; // [sp+1DCh] [bp-228h]
- unsigned int v248; // [sp+1E0h] [bp-224h]
- char *v249; // [sp+1E4h] [bp-220h]
- _BOOL4 v250; // [sp+1E8h] [bp-21Ch]
- _DWORD *v251; // [sp+1ECh] [bp-218h]
- char *v252; // [sp+1F0h] [bp-214h]
- int v253; // [sp+1F4h] [bp-210h]
- char *v254; // [sp+1F8h] [bp-20Ch]
- char *v255; // [sp+1FCh] [bp-208h]
- double v256; // [sp+200h] [bp-204h]
- int v257; // [sp+208h] [bp-1FCh]
- char *v258; // [sp+20Ch] [bp-1F8h]
- double *v259; // [sp+210h] [bp-1F4h]
- double *v260; // [sp+214h] [bp-1F0h]
- char *v261; // [sp+218h] [bp-1ECh]
- char *v262; // [sp+21Ch] [bp-1E8h]
- double v263; // [sp+220h] [bp-1E4h]
- double v264; // [sp+228h] [bp-1DCh] BYREF
- int v265; // [sp+230h] [bp-1D4h]
- int v266; // [sp+234h] [bp-1D0h]
- char *v267; // [sp+238h] [bp-1CCh]
- char *v268; // [sp+23Ch] [bp-1C8h]
- __int64 v269; // [sp+240h] [bp-1C4h]
- __int64 v270; // [sp+248h] [bp-1BCh] BYREF
- int v271; // [sp+250h] [bp-1B4h]
- int v272; // [sp+254h] [bp-1B0h]
- char *v273; // [sp+258h] [bp-1ACh]
- int v274; // [sp+25Ch] [bp-1A8h]
- int v275; // [sp+260h] [bp-1A4h]
- char *v276; // [sp+264h] [bp-1A0h]
- int v277; // [sp+268h] [bp-19Ch]
- int v278; // [sp+26Ch] [bp-198h]
- char *v279; // [sp+270h] [bp-194h]
- int v280; // [sp+274h] [bp-190h]
- int v281; // [sp+278h] [bp-18Ch]
- char *v282; // [sp+27Ch] [bp-188h]
- int v283; // [sp+280h] [bp-184h]
- int v284; // [sp+284h] [bp-180h]
- char *v285; // [sp+288h] [bp-17Ch]
- int v286; // [sp+28Ch] [bp-178h]
- int v287; // [sp+290h] [bp-174h]
- char *v288; // [sp+294h] [bp-170h]
- double *v289; // [sp+298h] [bp-16Ch]
- double *v290; // [sp+29Ch] [bp-168h]
- char *v291; // [sp+2A0h] [bp-164h]
- char *v292; // [sp+2A4h] [bp-160h]
- double v293; // [sp+2A8h] [bp-15Ch]
- double v294; // [sp+2B0h] [bp-154h]
- int v295; // [sp+2B8h] [bp-14Ch]
- int v296; // [sp+2BCh] [bp-148h]
- char *v297; // [sp+2C0h] [bp-144h]
- char *v298; // [sp+2C4h] [bp-140h]
- double v299; // [sp+2C8h] [bp-13Ch]
- double v300; // [sp+2D0h] [bp-134h]
- int v301; // [sp+2D8h] [bp-12Ch]
- int v302; // [sp+2DCh] [bp-128h]
- char *v303; // [sp+2E0h] [bp-124h]
- char *v304; // [sp+2E4h] [bp-120h]
- double v305; // [sp+2E8h] [bp-11Ch]
- double v306; // [sp+2F0h] [bp-114h]
- int v307; // [sp+2FCh] [bp-108h]
- int v308; // [sp+300h] [bp-104h]
- char *v309; // [sp+304h] [bp-100h]
- char *v310; // [sp+308h] [bp-FCh]
- int v311; // [sp+30Ch] [bp-F8h]
- int *v312; // [sp+310h] [bp-F4h]
- int *v313; // [sp+314h] [bp-F0h]
- int v314; // [sp+318h] [bp-ECh]
- char *v315; // [sp+31Ch] [bp-E8h]
- int v316; // [sp+320h] [bp-E4h]
- unsigned int v317; // [sp+324h] [bp-E0h]
- unsigned int v318; // [sp+328h] [bp-DCh]
- int **v319; // [sp+32Ch] [bp-D8h]
- _DWORD *v320; // [sp+330h] [bp-D4h]
- int *v321; // [sp+334h] [bp-D0h]
- int **v322; // [sp+338h] [bp-CCh]
- int **v323; // [sp+33Ch] [bp-C8h]
- _DWORD *v324; // [sp+340h] [bp-C4h]
- int *v325; // [sp+344h] [bp-C0h]
- char *v326; // [sp+348h] [bp-BCh]
- _DWORD *v327; // [sp+34Ch] [bp-B8h]
- int *v328; // [sp+350h] [bp-B4h]
- char *v329; // [sp+354h] [bp-B0h]
- _DWORD *v330; // [sp+358h] [bp-ACh]
- int *v331; // [sp+35Ch] [bp-A8h]
- char *v332; // [sp+360h] [bp-A4h]
- unsigned int v333; // [sp+364h] [bp-A0h]
- char *v334; // [sp+368h] [bp-9Ch]
- char *v335; // [sp+36Ch] [bp-98h]
- _DWORD *v336; // [sp+370h] [bp-94h]
- char *v337; // [sp+374h] [bp-90h]
- _DWORD *v338; // [sp+378h] [bp-8Ch]
- char *v339; // [sp+37Ch] [bp-88h]
- _DWORD *v340; // [sp+380h] [bp-84h]
- unsigned int v341; // [sp+384h] [bp-80h]
- int v342; // [sp+388h] [bp-7Ch]
- int v343; // [sp+38Ch] [bp-78h]
- int v344; // [sp+390h] [bp-74h]
- int *v345; // [sp+394h] [bp-70h]
- unsigned int v346; // [sp+398h] [bp-6Ch]
- int v347; // [sp+39Ch] [bp-68h]
- unsigned int v348; // [sp+3A0h] [bp-64h]
- int v349; // [sp+3A4h] [bp-60h]
- int v350; // [sp+3A8h] [bp-5Ch]
- int v351; // [sp+3ACh] [bp-58h]
- int j; // [sp+3B0h] [bp-54h]
- int v353; // [sp+3B4h] [bp-50h]
- unsigned int v354; // [sp+3B8h] [bp-4Ch]
- unsigned int v355; // [sp+3BCh] [bp-48h]
- int v356; // [sp+3C0h] [bp-44h]
- int i; // [sp+3C4h] [bp-40h]
- double v358; // [sp+3C8h] [bp-3Ch]
- int *v359; // [sp+3D0h] [bp-34h]
- int *v360; // [sp+3D4h] [bp-30h]
- int *v361; // [sp+3D8h] [bp-2Ch]
- int *v362; // [sp+3DCh] [bp-28h]
- int *v363; // [sp+3E0h] [bp-24h]
- unsigned int v364; // [sp+3E4h] [bp-20h]
- char *v365; // [sp+3E8h] [bp-1Ch]
- unsigned int v366; // [sp+3ECh] [bp-18h]
- int v367; // [sp+3F0h] [bp-14h]
- int v368; // [sp+3F4h] [bp-10h]
- v368 = a1[5];
- *(_WORD *)(v368 + 34) |= 8u;
- LABEL_2:
- v350 = **(_DWORD **)v368;
- v349 = *(_DWORD *)(*(_DWORD *)(v350 + 12) + 48);
- v367 = *(_DWORD *)(v368 + 16);
- while ( 2 )
- {
- v1 = *(int **)(v368 + 20);
- *(_DWORD *)(v368 + 20) = v1 + 1;
- v366 = *v1;
- if ( (a1[28] & 0xC) != 0 )
- {
- sub_74BF724(a1);
- v367 = *(_DWORD *)(v368 + 16);
- }
- v365 = (char *)(v367 + 16 * (unsigned __int8)(v366 >> 6));
- switch ( v366 & 0x3F )
- {
- case 0u:
- if ( ((v366 >> 23) & 0x100) != 0 )
- v67 = v349 + 16 * ((v366 >> 23) & 0xFFFFFEFF);
- else
- v67 = v367 + 16 * (v366 >> 23);
- v308 = v67;
- if ( ((v366 >> 14) & 0x100) != 0 )
- v68 = v349 + 16 * (unsigned __int8)(v366 >> 14);
- else
- v68 = v367 + 16 * ((v366 >> 14) & 0x1FF);
- v307 = v68;
- if ( *(_DWORD *)(v308 + 8) == 19 && *(_DWORD *)(v307 + 8) == 19 )
- {
- v306 = *(double *)v308;
- v305 = *(double *)v307;
- v304 = v365;
- *(_QWORD *)v365 = *(_QWORD *)&v305 + *(_QWORD *)&v306;
- *((_DWORD *)v304 + 2) = 19;
- continue;
- }
- if ( *(_DWORD *)(v308 + 8) == 3 )
- {
- v202 = *(double *)v308;
- }
- else if ( !sub_74D7704((_DWORD *)v308, &v202) )
- {
- goto LABEL_105;
- }
- if ( *(_DWORD *)(v307 + 8) == 3 )
- {
- v201 = *(double *)v307;
- LABEL_104:
- v69 = 1;
- goto LABEL_106;
- }
- if ( sub_74D7704((_DWORD *)v307, &v201) )
- goto LABEL_104;
- LABEL_105:
- v69 = 0;
- LABEL_106:
- if ( v69 )
- {
- v303 = v365;
- *(double *)v365 = v202 + v201;
- *((_DWORD *)v303 + 2) = 3;
- }
- else
- {
- sub_74D63E8(a1, v308, v307, v365, 6);
- v367 = *(_DWORD *)(v368 + 16);
- }
- continue;
- case 1u:
- if ( ((v366 >> 23) & 0x100) != 0 )
- v70 = v349 + 16 * ((v366 >> 23) & 0xFFFFFEFF);
- else
- v70 = v367 + 16 * (v366 >> 23);
- v302 = v70;
- if ( ((v366 >> 14) & 0x100) != 0 )
- v71 = v349 + 16 * (unsigned __int8)(v366 >> 14);
- else
- v71 = v367 + 16 * ((v366 >> 14) & 0x1FF);
- v301 = v71;
- if ( *(_DWORD *)(v302 + 8) == 19 && *(_DWORD *)(v301 + 8) == 19 )
- {
- v300 = *(double *)v302;
- v299 = *(double *)v301;
- v298 = v365;
- *(_QWORD *)v365 = *(_QWORD *)&v300 - *(_QWORD *)&v299;
- *((_DWORD *)v298 + 2) = 19;
- continue;
- }
- if ( *(_DWORD *)(v302 + 8) == 3 )
- {
- v200 = *(double *)v302;
- }
- else if ( !sub_74D7704((_DWORD *)v302, &v200) )
- {
- goto LABEL_125;
- }
- if ( *(_DWORD *)(v301 + 8) == 3 )
- {
- v199 = *(double *)v301;
- LABEL_124:
- v72 = 1;
- goto LABEL_126;
- }
- if ( sub_74D7704((_DWORD *)v301, &v199) )
- goto LABEL_124;
- LABEL_125:
- v72 = 0;
- LABEL_126:
- if ( v72 )
- {
- v297 = v365;
- *(double *)v365 = v200 - v199;
- *((_DWORD *)v297 + 2) = 3;
- }
- else
- {
- sub_74D63E8(a1, v302, v301, v365, 7);
- v367 = *(_DWORD *)(v368 + 16);
- }
- continue;
- case 2u:
- if ( ((v366 >> 23) & 0x100) != 0 )
- v73 = v349 + 16 * ((v366 >> 23) & 0xFFFFFEFF);
- else
- v73 = v367 + 16 * (v366 >> 23);
- v296 = v73;
- if ( ((v366 >> 14) & 0x100) != 0 )
- v74 = v349 + 16 * (unsigned __int8)(v366 >> 14);
- else
- v74 = v367 + 16 * ((v366 >> 14) & 0x1FF);
- v295 = v74;
- if ( *(_DWORD *)(v296 + 8) == 19 && *(_DWORD *)(v295 + 8) == 19 )
- {
- v294 = *(double *)v296;
- v293 = *(double *)v295;
- v292 = v365;
- *(_QWORD *)v365 = *(_QWORD *)&v293 * *(_QWORD *)&v294;
- *((_DWORD *)v292 + 2) = 19;
- continue;
- }
- if ( *(_DWORD *)(v296 + 8) == 3 )
- {
- v198 = *(double *)v296;
- }
- else if ( !sub_74D7704((_DWORD *)v296, &v198) )
- {
- goto LABEL_145;
- }
- if ( *(_DWORD *)(v295 + 8) == 3 )
- {
- v197 = *(double *)v295;
- LABEL_144:
- v75 = 1;
- goto LABEL_146;
- }
- if ( sub_74D7704((_DWORD *)v295, &v197) )
- goto LABEL_144;
- LABEL_145:
- v75 = 0;
- LABEL_146:
- if ( v75 )
- {
- v291 = v365;
- *(double *)v365 = v198 * v197;
- *((_DWORD *)v291 + 2) = 3;
- }
- else
- {
- sub_74D63E8(a1, v296, v295, v365, 8);
- v367 = *(_DWORD *)(v368 + 16);
- }
- continue;
- case 3u:
- if ( ((v366 >> 23) & 0x100) != 0 )
- v96 = v349 + 16 * ((v366 >> 23) & 0xFFFFFEFF);
- else
- v96 = v367 + 16 * (v366 >> 23);
- v272 = v96;
- if ( ((v366 >> 14) & 0x100) != 0 )
- v97 = v349 + 16 * (unsigned __int8)(v366 >> 14);
- else
- v97 = v367 + 16 * ((v366 >> 14) & 0x1FF);
- v271 = v97;
- if ( *(_DWORD *)(v272 + 8) == 19 && *(_DWORD *)(v271 + 8) == 19 )
- {
- v270 = *(_QWORD *)v272;
- v269 = *(_QWORD *)v271;
- v268 = v365;
- v98 = sub_74D95AC(a1, &v270, v270, HIDWORD(v270), v269, HIDWORD(v269));
- *(_QWORD *)v268 = v98;
- *((_DWORD *)v268 + 2) = 19;
- continue;
- }
- if ( *(_DWORD *)(v272 + 8) == 3 )
- {
- v184 = *(_QWORD *)v272;
- }
- else if ( !sub_74D7704((_DWORD *)v272, (double *)&v184) )
- {
- goto LABEL_267;
- }
- if ( *(_DWORD *)(v271 + 8) == 3 )
- {
- v183 = *(__int64 *)v271;
- LABEL_266:
- v99 = 1;
- goto LABEL_268;
- }
- if ( sub_74D7704((_DWORD *)v271, (double *)&v183) )
- goto LABEL_266;
- LABEL_267:
- v99 = 0;
- LABEL_268:
- if ( v99 )
- {
- v358 = fmod(*(double *)&v184, *(double *)&v183);
- if ( *(double *)&v183 * v358 < 0.0 )
- v358 = v358 + *(double *)&v183;
- v267 = v365;
- *(double *)v365 = v358;
- *((_DWORD *)v267 + 2) = 3;
- }
- else
- {
- sub_74D63E8(a1, v272, v271, v365, 9);
- v367 = *(_DWORD *)(v368 + 16);
- }
- continue;
- case 4u:
- if ( ((v366 >> 23) & 0x100) != 0 )
- v105 = v349 + 16 * ((v366 >> 23) & 0xFFFFFEFF);
- else
- v105 = v367 + 16 * (v366 >> 23);
- v260 = (double *)v105;
- if ( ((v366 >> 14) & 0x100) != 0 )
- v106 = v349 + 16 * (unsigned __int8)(v366 >> 14);
- else
- v106 = v367 + 16 * ((v366 >> 14) & 0x1FF);
- v259 = (double *)v106;
- if ( *((_DWORD *)v260 + 2) == 3 )
- {
- v180 = *v260;
- }
- else if ( !sub_74D7704(v260, &v180) )
- {
- goto LABEL_306;
- }
- if ( *((_DWORD *)v259 + 2) == 3 )
- {
- v179 = *v259;
- LABEL_305:
- v107 = 1;
- goto LABEL_307;
- }
- if ( sub_74D7704(v259, &v179) )
- goto LABEL_305;
- LABEL_306:
- v107 = 0;
- LABEL_307:
- if ( v107 )
- {
- v258 = v365;
- *(double *)v258 = pow(v180, v179);
- *((_DWORD *)v258 + 2) = 3;
- }
- else
- {
- sub_74D63E8(a1, v260, v259, v365, 10);
- v367 = *(_DWORD *)(v368 + 16);
- }
- continue;
- case 5u:
- if ( ((v366 >> 23) & 0x100) != 0 )
- v76 = v349 + 16 * ((v366 >> 23) & 0xFFFFFEFF);
- else
- v76 = v367 + 16 * (v366 >> 23);
- v290 = (double *)v76;
- if ( ((v366 >> 14) & 0x100) != 0 )
- v77 = v349 + 16 * (unsigned __int8)(v366 >> 14);
- else
- v77 = v367 + 16 * ((v366 >> 14) & 0x1FF);
- v289 = (double *)v77;
- if ( *((_DWORD *)v290 + 2) == 3 )
- {
- v196 = *v290;
- }
- else if ( !sub_74D7704(v290, &v196) )
- {
- goto LABEL_162;
- }
- if ( *((_DWORD *)v289 + 2) == 3 )
- {
- v195 = *v289;
- LABEL_161:
- v78 = 1;
- goto LABEL_163;
- }
- if ( sub_74D7704(v289, &v195) )
- goto LABEL_161;
- LABEL_162:
- v78 = 0;
- LABEL_163:
- if ( v78 )
- {
- v288 = v365;
- *(double *)v365 = v196 / v195;
- *((_DWORD *)v288 + 2) = 3;
- }
- else
- {
- sub_74D63E8(a1, v290, v289, v365, 11);
- v367 = *(_DWORD *)(v368 + 16);
- }
- continue;
- case 6u:
- if ( ((v366 >> 23) & 0x100) != 0 )
- v100 = v349 + 16 * ((v366 >> 23) & 0xFFFFFEFF);
- else
- v100 = v367 + 16 * (v366 >> 23);
- v266 = v100;
- if ( ((v366 >> 14) & 0x100) != 0 )
- v101 = v349 + 16 * (unsigned __int8)(v366 >> 14);
- else
- v101 = v367 + 16 * ((v366 >> 14) & 0x1FF);
- v265 = v101;
- if ( *(_DWORD *)(v266 + 8) == 19 && *(_DWORD *)(v265 + 8) == 19 )
- {
- v264 = *(double *)v266;
- v263 = *(double *)v265;
- v262 = v365;
- v102 = sub_74D94D8(a1, &v264, LODWORD(v264), HIDWORD(v264), LODWORD(v263), HIDWORD(v263));
- *(_QWORD *)v262 = v102;
- *((_DWORD *)v262 + 2) = 19;
- continue;
- }
- if ( *(_DWORD *)(v266 + 8) == 3 )
- {
- v182 = *(double *)v266;
- }
- else if ( !sub_74D7704((_DWORD *)v266, &v182) )
- {
- goto LABEL_289;
- }
- if ( *(_DWORD *)(v265 + 8) == 3 )
- {
- v181 = *(double *)v265;
- LABEL_288:
- v103 = 1;
- goto LABEL_290;
- }
- if ( sub_74D7704((_DWORD *)v265, &v181) )
- goto LABEL_288;
- LABEL_289:
- v103 = 0;
- LABEL_290:
- if ( v103 )
- {
- v261 = v365;
- v104 = floor(v182 / v181);
- *(double *)v261 = v104;
- *((_DWORD *)v261 + 2) = 3;
- }
- else
- {
- sub_74D63E8(a1, v266, v265, v365, 12);
- v367 = *(_DWORD *)(v368 + 16);
- }
- continue;
- case 7u:
- if ( ((v366 >> 23) & 0x100) != 0 )
- v79 = v349 + 16 * ((v366 >> 23) & 0xFFFFFEFF);
- else
- v79 = v367 + 16 * (v366 >> 23);
- v287 = v79;
- if ( ((v366 >> 14) & 0x100) != 0 )
- v80 = v349 + 16 * (unsigned __int8)(v366 >> 14);
- else
- v80 = v367 + 16 * ((v366 >> 14) & 0x1FF);
- v286 = v80;
- if ( *(_DWORD *)(v287 + 8) == 19 )
- {
- v194 = *(_QWORD *)v287;
- }
- else if ( !sub_74D7828(v287, &v194, 0) )
- {
- goto LABEL_179;
- }
- if ( *(_DWORD *)(v286 + 8) == 19 )
- {
- v193 = *(_QWORD *)v286;
- LABEL_178:
- v81 = 1;
- goto LABEL_180;
- }
- if ( sub_74D7828(v286, &v193, 0) )
- goto LABEL_178;
- LABEL_179:
- v81 = 0;
- LABEL_180:
- if ( v81 )
- {
- v285 = v365;
- *(_QWORD *)v365 = v193 & v194;
- *((_DWORD *)v285 + 2) = 19;
- }
- else
- {
- sub_74D63E8(a1, v287, v286, v365, 13);
- v367 = *(_DWORD *)(v368 + 16);
- }
- continue;
- case 8u:
- if ( ((v366 >> 23) & 0x100) != 0 )
- v82 = v349 + 16 * ((v366 >> 23) & 0xFFFFFEFF);
- else
- v82 = v367 + 16 * (v366 >> 23);
- v284 = v82;
- if ( ((v366 >> 14) & 0x100) != 0 )
- v83 = v349 + 16 * (unsigned __int8)(v366 >> 14);
- else
- v83 = v367 + 16 * ((v366 >> 14) & 0x1FF);
- v283 = v83;
- if ( *(_DWORD *)(v284 + 8) == 19 )
- {
- v192 = *(_QWORD *)v284;
- }
- else if ( !sub_74D7828(v284, &v192, 0) )
- {
- goto LABEL_196;
- }
- if ( *(_DWORD *)(v283 + 8) == 19 )
- {
- v191 = *(_QWORD *)v283;
- LABEL_195:
- v84 = 1;
- goto LABEL_197;
- }
- if ( sub_74D7828(v283, &v191, 0) )
- goto LABEL_195;
- LABEL_196:
- v84 = 0;
- LABEL_197:
- if ( v84 )
- {
- v282 = v365;
- *(_QWORD *)v365 = v191 | v192;
- *((_DWORD *)v282 + 2) = 19;
- }
- else
- {
- sub_74D63E8(a1, v284, v283, v365, 14);
- v367 = *(_DWORD *)(v368 + 16);
- }
- continue;
- case 9u:
- if ( ((v366 >> 23) & 0x100) != 0 )
- v85 = v349 + 16 * ((v366 >> 23) & 0xFFFFFEFF);
- else
- v85 = v367 + 16 * (v366 >> 23);
- v281 = v85;
- if ( ((v366 >> 14) & 0x100) != 0 )
- v86 = v349 + 16 * (unsigned __int8)(v366 >> 14);
- else
- v86 = v367 + 16 * ((v366 >> 14) & 0x1FF);
- v280 = v86;
- if ( *(_DWORD *)(v281 + 8) == 19 )
- {
- v190 = *(_QWORD *)v281;
- }
- else if ( !sub_74D7828(v281, &v190, 0) )
- {
- goto LABEL_213;
- }
- if ( *(_DWORD *)(v280 + 8) == 19 )
- {
- v189 = *(_QWORD *)v280;
- LABEL_212:
- v87 = 1;
- goto LABEL_214;
- }
- if ( sub_74D7828(v280, &v189, 0) )
- goto LABEL_212;
- LABEL_213:
- v87 = 0;
- LABEL_214:
- if ( v87 )
- {
- v279 = v365;
- *(_QWORD *)v365 = v190 ^ v189;
- *((_DWORD *)v279 + 2) = 19;
- }
- else
- {
- sub_74D63E8(a1, v281, v280, v365, 15);
- v367 = *(_DWORD *)(v368 + 16);
- }
- continue;
- case 10u:
- if ( ((v366 >> 23) & 0x100) != 0 )
- v88 = v349 + 16 * ((v366 >> 23) & 0xFFFFFEFF);
- else
- v88 = v367 + 16 * (v366 >> 23);
- v278 = v88;
- if ( ((v366 >> 14) & 0x100) != 0 )
- v89 = v349 + 16 * (unsigned __int8)(v366 >> 14);
- else
- v89 = v367 + 16 * ((v366 >> 14) & 0x1FF);
- v277 = v89;
- if ( *(_DWORD *)(v278 + 8) == 19 )
- {
- v188 = *(_QWORD *)v278;
- }
- else if ( !sub_74D7828(v278, &v188, 0) )
- {
- goto LABEL_230;
- }
- if ( *(_DWORD *)(v277 + 8) == 19 )
- {
- v187 = *(_QWORD *)v277;
- LABEL_229:
- v90 = 1;
- goto LABEL_231;
- }
- if ( sub_74D7828(v277, &v187, 0) )
- goto LABEL_229;
- LABEL_230:
- v90 = 0;
- LABEL_231:
- if ( v90 )
- {
- v276 = v365;
- v91 = sub_74D9670(v188, HIDWORD(v188), v187, HIDWORD(v187));
- *(_QWORD *)v276 = v91;
- *((_DWORD *)v276 + 2) = 19;
- }
- else
- {
- sub_74D63E8(a1, v278, v277, v365, 16);
- v367 = *(_DWORD *)(v368 + 16);
- }
- continue;
- case 11u:
- if ( ((v366 >> 23) & 0x100) != 0 )
- v92 = v349 + 16 * ((v366 >> 23) & 0xFFFFFEFF);
- else
- v92 = v367 + 16 * (v366 >> 23);
- v275 = v92;
- if ( ((v366 >> 14) & 0x100) != 0 )
- v93 = v349 + 16 * (unsigned __int8)(v366 >> 14);
- else
- v93 = v367 + 16 * ((v366 >> 14) & 0x1FF);
- v274 = v93;
- if ( *(_DWORD *)(v275 + 8) == 19 )
- {
- v186 = *(_QWORD *)v275;
- }
- else if ( !sub_74D7828(v275, &v186, 0) )
- {
- goto LABEL_247;
- }
- if ( *(_DWORD *)(v274 + 8) == 19 )
- {
- v185 = *(_QWORD *)v274;
- LABEL_246:
- v94 = 1;
- goto LABEL_248;
- }
- if ( sub_74D7828(v274, &v185, 0) )
- goto LABEL_246;
- LABEL_247:
- v94 = 0;
- LABEL_248:
- if ( v94 )
- {
- v273 = v365;
- v95 = sub_74D9670(v186, HIDWORD(v186), -(int)v185, (unsigned __int64)-v185 >> 32);
- *(_QWORD *)v273 = v95;
- *((_DWORD *)v273 + 2) = 19;
- }
- else
- {
- sub_74D63E8(a1, v275, v274, v365, 17);
- v367 = *(_DWORD *)(v368 + 16);
- }
- continue;
- case 12u:
- v257 = v367 + 16 * (v366 >> 23);
- if ( *(_DWORD *)(v257 + 8) == 19 )
- {
- v256 = *(double *)v257;
- v255 = v365;
- *(_QWORD *)v365 = -*(_QWORD *)&v256;
- *((_DWORD *)v255 + 2) = 19;
- }
- else
- {
- if ( *(_DWORD *)(v257 + 8) == 3 )
- {
- v178 = *(double *)v257;
- v108 = 1;
- }
- else
- {
- v108 = sub_74D7704((_DWORD *)v257, &v178) != 0;
- }
- if ( v108 )
- {
- v254 = v365;
- *(double *)v365 = -v178;
- *((_DWORD *)v254 + 2) = 3;
- }
- else
- {
- sub_74D63E8(a1, v257, v257, v365, 18);
- v367 = *(_DWORD *)(v368 + 16);
- }
- }
- continue;
- case 13u:
- v253 = v367 + 16 * (v366 >> 23);
- if ( *(_DWORD *)(v253 + 8) == 19 )
- {
- v177 = *(_QWORD *)v253;
- v109 = 1;
- }
- else
- {
- v109 = sub_74D7828(v253, &v177, 0) != 0;
- }
- if ( v109 )
- {
- v252 = v365;
- *(_QWORD *)v365 = ~v177;
- *((_DWORD *)v252 + 2) = 19;
- }
- else
- {
- sub_74D63E8(a1, v253, v253, v365, 19);
- v367 = *(_DWORD *)(v368 + 16);
- }
- continue;
- case 14u:
- v251 = (_DWORD *)(v367 + 16 * (v366 >> 23));
- v110 = !v251[2] || v251[2] == 1 && !*v251;
- v250 = v110;
- v249 = v365;
- *(_DWORD *)v365 = v110;
- *((_DWORD *)v249 + 2) = 1;
- continue;
- case 15u:
- sub_74D930C(a1, v365, v367 + 16 * (v366 >> 23));
- v367 = *(_DWORD *)(v368 + 16);
- continue;
- case 16u:
- v248 = v366 >> 23;
- v247 = (v366 >> 14) & 0x1FF;
- a1[3] = v367 + 16 * (v247 + 1);
- sub_74D8E6C(a1, v247 - v248 + 1);
- v367 = *(_DWORD *)(v368 + 16);
- v365 = (char *)(v367 + 16 * (unsigned __int8)(v366 >> 6));
- v246 = (char *)(v367 + 16 * v248);
- v245 = v365;
- v111 = v365;
- v112 = *((_DWORD *)v246 + 1);
- v113 = *((_DWORD *)v246 + 2);
- v114 = *((_DWORD *)v246 + 3);
- *(_DWORD *)v365 = *(_DWORD *)v246;
- *((_DWORD *)v111 + 1) = v112;
- *((_DWORD *)v111 + 2) = v113;
- *((_DWORD *)v111 + 3) = v114;
- if ( *(int *)(a1[4] + 12) > 0 )
- {
- if ( v365 < v246 )
- v115 = v246;
- else
- v115 = v365 + 16;
- a1[3] = (int)v115;
- sub_74C61D0(a1);
- a1[3] = *(_DWORD *)(v368 + 4);
- v367 = *(_DWORD *)(v368 + 16);
- }
- a1[3] = *(_DWORD *)(v368 + 4);
- continue;
- case 17u:
- v339 = v365;
- v2 = (int *)(v367 + 16 * (v366 >> 23));
- v3 = v365;
- v4 = *v2;
- v5 = v2[1];
- v6 = v2[2];
- v7 = v2[3];
- *(_DWORD *)v365 = v4;
- *((_DWORD *)v3 + 1) = v5;
- *((_DWORD *)v3 + 2) = v6;
- *((_DWORD *)v3 + 3) = v7;
- continue;
- case 18u:
- v338 = (_DWORD *)(v349 + 16 * (v366 >> 14));
- v337 = v365;
- v8 = v365;
- v9 = v338[1];
- v10 = v338[2];
- v11 = v338[3];
- *(_DWORD *)v365 = *v338;
- *((_DWORD *)v8 + 1) = v9;
- *((_DWORD *)v8 + 2) = v10;
- *((_DWORD *)v8 + 3) = v11;
- continue;
- case 19u:
- v12 = *(_DWORD **)(v368 + 20);
- *(_DWORD *)(v368 + 20) = v12 + 1;
- v336 = (_DWORD *)(v349 + 16 * (*v12 >> 6));
- v335 = v365;
- v13 = v365;
- v14 = v336[1];
- v15 = v336[2];
- v16 = v336[3];
- *(_DWORD *)v365 = *v336;
- *((_DWORD *)v13 + 1) = v14;
- *((_DWORD *)v13 + 2) = v15;
- *((_DWORD *)v13 + 3) = v16;
- continue;
- case 20u:
- v334 = v365;
- *(_DWORD *)v365 = v366 >> 23;
- *((_DWORD *)v334 + 2) = 1;
- if ( ((v366 >> 14) & 0x1FF) != 0 )
- *(_DWORD *)(v368 + 20) += 4;
- continue;
- case 21u:
- v364 = v366 >> 23;
- do
- {
- v17 = v365;
- v365 += 16;
- *((_DWORD *)v17 + 2) = 0;
- }
- while ( v364-- );
- continue;
- case 22u:
- v333 = v366 >> 23;
- v332 = v365;
- v19 = **(int ***)(v350 + 4 * ((v366 >> 23) + 4));
- v20 = v365;
- v21 = *v19;
- v22 = v19[1];
- v23 = v19[2];
- v24 = v19[3];
- *(_DWORD *)v365 = v21;
- *((_DWORD *)v20 + 1) = v22;
- *((_DWORD *)v20 + 2) = v23;
- *((_DWORD *)v20 + 3) = v24;
- continue;
- case 23u:
- v331 = **(int ***)(v350 + 4 * ((v366 >> 23) + 4));
- if ( ((v366 >> 14) & 0x100) != 0 )
- v25 = v349 + 16 * (unsigned __int8)(v366 >> 14);
- else
- v25 = v367 + 16 * ((v366 >> 14) & 0x1FF);
- v330 = (_DWORD *)v25;
- if ( v331[2] == 69 )
- {
- v363 = sub_74D5A18(*v331, v330);
- v26 = v363[2] != 0;
- }
- else
- {
- v363 = 0;
- v26 = 0;
- }
- if ( v26 )
- {
- v329 = v365;
- v27 = v365;
- v28 = v363[1];
- v29 = v363[2];
- v30 = v363[3];
- *(_DWORD *)v365 = *v363;
- *((_DWORD *)v27 + 1) = v28;
- *((_DWORD *)v27 + 2) = v29;
- *((_DWORD *)v27 + 3) = v30;
- }
- else
- {
- luaV_finishget(a1, v331, v330, (int *)v365, v363);
- v367 = *(_DWORD *)(v368 + 16);
- }
- continue;
- case 24u:
- v328 = (int *)(v367 + 16 * (v366 >> 23));
- if ( ((v366 >> 14) & 0x100) != 0 )
- v31 = v349 + 16 * (unsigned __int8)(v366 >> 14);
- else
- v31 = v367 + 16 * ((v366 >> 14) & 0x1FF);
- v327 = (_DWORD *)v31;
- if ( v328[2] == 69 )
- {
- v362 = sub_74D5A18(*v328, v327);
- v32 = v362[2] != 0;
- }
- else
- {
- v362 = 0;
- v32 = 0;
- }
- if ( v32 )
- {
- v326 = v365;
- v33 = v365;
- v34 = v362[1];
- v35 = v362[2];
- v36 = v362[3];
- *(_DWORD *)v365 = *v362;
- *((_DWORD *)v33 + 1) = v34;
- *((_DWORD *)v33 + 2) = v35;
- *((_DWORD *)v33 + 3) = v36;
- }
- else
- {
- luaV_finishget(a1, v328, v327, (int *)v365, v362);
- v367 = *(_DWORD *)(v368 + 16);
- }
- continue;
- case 25u:
- v325 = **(int ***)(v350 + 4 * ((unsigned __int8)(v366 >> 6) + 4));
- if ( ((v366 >> 23) & 0x100) != 0 )
- v37 = v349 + 16 * ((v366 >> 23) & 0xFFFFFEFF);
- else
- v37 = v367 + 16 * (v366 >> 23);
- v324 = (_DWORD *)v37;
- if ( ((v366 >> 14) & 0x100) != 0 )
- v38 = (int **)(v349 + 16 * (unsigned __int8)(v366 >> 14));
- else
- v38 = (int **)(v367 + 16 * ((v366 >> 14) & 0x1FF));
- v323 = v38;
- if ( v325[2] == 69 )
- {
- v361 = sub_74D5A18(*v325, v324);
- if ( v361[2] )
- {
- if ( ((unsigned int)v323[2] & 0x40) != 0
- && (*(_BYTE *)(*v325 + 5) & 4) != 0
- && (*((_BYTE *)*v323 + 5) & 3) != 0 )
- {
- sub_74C31BC(a1, *v325);
- }
- v40 = v361;
- v41 = v323[1];
- v42 = v323[2];
- v43 = v323[3];
- *v361 = (int)*v323;
- v40[1] = (int)v41;
- v40[2] = (int)v42;
- v40[3] = (int)v43;
- v39 = 0;
- }
- else
- {
- v39 = 1;
- }
- }
- else
- {
- v361 = 0;
- v39 = 1;
- }
- if ( v39 )
- {
- sub_74D7D20(a1, v325, v324, v323, v361);
- v367 = *(_DWORD *)(v368 + 16);
- }
- continue;
- case 26u:
- v322 = *(int ***)(v350 + 4 * ((v366 >> 23) + 4));
- v321 = *v322;
- v44 = v321;
- v45 = *((_DWORD *)v365 + 1);
- v46 = *((_DWORD *)v365 + 2);
- v47 = *((_DWORD *)v365 + 3);
- *v321 = *(_DWORD *)v365;
- v44[1] = v45;
- v44[2] = v46;
- v44[3] = v47;
- if ( ((*v322)[2] & 0x40) != 0 && *v322 == (int *)(v322 + 2) )
- luaC_upvalbarrier((int)a1, v322);
- continue;
- case 27u:
- if ( ((v366 >> 23) & 0x100) != 0 )
- v48 = v349 + 16 * ((v366 >> 23) & 0xFFFFFEFF);
- else
- v48 = v367 + 16 * (v366 >> 23);
- v320 = (_DWORD *)v48;
- if ( ((v366 >> 14) & 0x100) != 0 )
- v49 = (int **)(v349 + 16 * (unsigned __int8)(v366 >> 14));
- else
- v49 = (int **)(v367 + 16 * ((v366 >> 14) & 0x1FF));
- v319 = v49;
- if ( *((_DWORD *)v365 + 2) == 69 )
- {
- v360 = sub_74D5A18(*(_DWORD *)v365, v320);
- if ( v360[2] )
- {
- if ( ((unsigned int)v319[2] & 0x40) != 0
- && (*(_BYTE *)(*(_DWORD *)v365 + 5) & 4) != 0
- && (*((_BYTE *)*v319 + 5) & 3) != 0 )
- {
- sub_74C31BC(a1, *(_DWORD *)v365);
- }
- v51 = v360;
- v52 = v319[1];
- v53 = v319[2];
- v54 = v319[3];
- *v360 = (int)*v319;
- v51[1] = (int)v52;
- v51[2] = (int)v53;
- v51[3] = (int)v54;
- v50 = 0;
- }
- else
- {
- v50 = 1;
- }
- }
- else
- {
- v360 = 0;
- v50 = 1;
- }
- if ( v50 )
- {
- sub_74D7D20(a1, (int *)v365, v320, v319, v360);
- v367 = *(_DWORD *)(v368 + 16);
- }
- continue;
- case 28u:
- v318 = v366 >> 23;
- v317 = (v366 >> 14) & 0x1FF;
- v316 = luaH_new((int)a1);
- v315 = v365;
- v314 = v316;
- *(_DWORD *)v365 = v316;
- *((_DWORD *)v315 + 2) = 69;
- if ( v318 || v317 )
- {
- v55 = sub_74C6680(v318);
- v56 = sub_74C6680(v317);
- sub_74D4E18(a1, v316, v55, v56);
- }
- if ( *(int *)(a1[4] + 12) > 0 )
- {
- a1[3] = (int)(v365 + 16);
- sub_74C61D0(a1);
- a1[3] = *(_DWORD *)(v368 + 4);
- v367 = *(_DWORD *)(v368 + 16);
- }
- continue;
- case 29u:
- v313 = (int *)(v367 + 16 * (v366 >> 23));
- if ( ((v366 >> 14) & 0x100) != 0 )
- v57 = (int *)(v349 + 16 * (unsigned __int8)(v366 >> 14));
- else
- v57 = (int *)(v367 + 16 * ((v366 >> 14) & 0x1FF));
- v312 = v57;
- v311 = *v57;
- v310 = v365 + 16;
- v58 = v365 + 16;
- v59 = v313[1];
- v60 = v313[2];
- v61 = v313[3];
- *((_DWORD *)v365 + 4) = *v313;
- *((_DWORD *)v58 + 1) = v59;
- *((_DWORD *)v58 + 2) = v60;
- *((_DWORD *)v58 + 3) = v61;
- if ( v313[2] == 69 )
- {
- v359 = (int *)sub_74D5984(*v313, v311);
- v62 = v359[2] != 0;
- }
- else
- {
- v359 = 0;
- v62 = 0;
- }
- if ( v62 )
- {
- v309 = v365;
- v63 = v365;
- v64 = v359[1];
- v65 = v359[2];
- v66 = v359[3];
- *(_DWORD *)v365 = *v359;
- *((_DWORD *)v63 + 1) = v64;
- *((_DWORD *)v63 + 2) = v65;
- *((_DWORD *)v63 + 3) = v66;
- }
- else
- {
- luaV_finishget(a1, v313, v312, (int *)v365, v359);
- v367 = *(_DWORD *)(v368 + 16);
- }
- continue;
- case 30u:
- v244 = (unsigned __int8)(v366 >> 6);
- if ( (unsigned __int8)(v366 >> 6) )
- sub_74C2BB0(a1, *(_DWORD *)(v368 + 16) + 16 * (v244 + 0xFFFFFFF));
- *(_DWORD *)(v368 + 20) += 4 * ((v366 >> 14) + 1073610753);
- continue;
- case 31u:
- if ( ((v366 >> 23) & 0x100) != 0 )
- v116 = v349 + 16 * ((v366 >> 23) & 0xFFFFFEFF);
- else
- v116 = v367 + 16 * (v366 >> 23);
- v243 = v116;
- if ( ((v366 >> 14) & 0x100) != 0 )
- v117 = v349 + 16 * (unsigned __int8)(v366 >> 14);
- else
- v117 = v367 + 16 * ((v366 >> 14) & 0x1FF);
- v242 = v117;
- v118 = sub_74D87CC(a1, v243, v117);
- if ( v118 == (unsigned __int8)(v366 >> 6) )
- {
- v366 = **(_DWORD **)(v368 + 20);
- v241 = (unsigned __int8)(v366 >> 6);
- if ( (unsigned __int8)(v366 >> 6) )
- sub_74C2BB0(a1, *(_DWORD *)(v368 + 16) + 16 * (v241 + 0xFFFFFFF));
- *(_DWORD *)(v368 + 20) += 4 * ((v366 >> 14) + 1073610754);
- }
- else
- {
- *(_DWORD *)(v368 + 20) += 4;
- }
- v367 = *(_DWORD *)(v368 + 16);
- continue;
- case 32u:
- if ( ((v366 >> 23) & 0x100) != 0 )
- v119 = v349 + 16 * ((v366 >> 23) & 0xFFFFFEFF);
- else
- v119 = v367 + 16 * (v366 >> 23);
- if ( ((v366 >> 14) & 0x100) != 0 )
- v120 = v349 + 16 * (unsigned __int8)(v366 >> 14);
- else
- v120 = v367 + 16 * ((v366 >> 14) & 0x1FF);
- v121 = sub_74D8548(a1, v119, v120);
- if ( v121 == (unsigned __int8)(v366 >> 6) )
- {
- v366 = **(_DWORD **)(v368 + 20);
- v240 = (unsigned __int8)(v366 >> 6);
- if ( (unsigned __int8)(v366 >> 6) )
- sub_74C2BB0(a1, *(_DWORD *)(v368 + 16) + 16 * (v240 + 0xFFFFFFF));
- *(_DWORD *)(v368 + 20) += 4 * ((v366 >> 14) + 1073610754);
- }
- else
- {
- *(_DWORD *)(v368 + 20) += 4;
- }
- v367 = *(_DWORD *)(v368 + 16);
- continue;
- case 33u:
- if ( ((v366 >> 23) & 0x100) != 0 )
- v122 = v349 + 16 * ((v366 >> 23) & 0xFFFFFEFF);
- else
- v122 = v367 + 16 * (v366 >> 23);
- if ( ((v366 >> 14) & 0x100) != 0 )
- v123 = v349 + 16 * (unsigned __int8)(v366 >> 14);
- else
- v123 = v367 + 16 * ((v366 >> 14) & 0x1FF);
- v124 = sub_74D8644(a1, v122, v123);
- if ( v124 == (unsigned __int8)(v366 >> 6) )
- {
- v366 = **(_DWORD **)(v368 + 20);
- v239 = (unsigned __int8)(v366 >> 6);
- if ( (unsigned __int8)(v366 >> 6) )
- sub_74C2BB0(a1, *(_DWORD *)(v368 + 16) + 16 * (v239 + 0xFFFFFFF));
- *(_DWORD *)(v368 + 20) += 4 * ((v366 >> 14) + 1073610754);
- }
- else
- {
- *(_DWORD *)(v368 + 20) += 4;
- }
- v367 = *(_DWORD *)(v368 + 16);
- continue;
- case 34u:
- if ( ((v366 >> 14) & 0x1FF) != 0 )
- v125 = !*((_DWORD *)v365 + 2) || *((_DWORD *)v365 + 2) == 1 && !*(_DWORD *)v365;
- else
- v125 = *((_DWORD *)v365 + 2) && (*((_DWORD *)v365 + 2) != 1 || *(_DWORD *)v365);
- if ( v125 )
- {
- *(_DWORD *)(v368 + 20) += 4;
- }
- else
- {
- v366 = **(_DWORD **)(v368 + 20);
- v238 = (unsigned __int8)(v366 >> 6);
- if ( (unsigned __int8)(v366 >> 6) )
- sub_74C2BB0(a1, *(_DWORD *)(v368 + 16) + 16 * (v238 + 0xFFFFFFF));
- *(_DWORD *)(v368 + 20) += 4 * ((v366 >> 14) + 1073610754);
- }
- continue;
- case 35u:
- v237 = (_DWORD *)(v367 + 16 * (v366 >> 23));
- if ( ((v366 >> 14) & 0x1FF) != 0 )
- v126 = !v237[2] || v237[2] == 1 && !*v237;
- else
- v126 = v237[2] && (v237[2] != 1 || *v237);
- if ( v126 )
- {
- *(_DWORD *)(v368 + 20) += 4;
- }
- else
- {
- v236 = v365;
- v127 = v365;
- v128 = v237[1];
- v129 = v237[2];
- v130 = v237[3];
- *(_DWORD *)v365 = *v237;
- *((_DWORD *)v127 + 1) = v128;
- *((_DWORD *)v127 + 2) = v129;
- *((_DWORD *)v127 + 3) = v130;
- v366 = **(_DWORD **)(v368 + 20);
- v235 = (unsigned __int8)(v366 >> 6);
- if ( (unsigned __int8)(v366 >> 6) )
- sub_74C2BB0(a1, *(_DWORD *)(v368 + 16) + 16 * (v235 + 0xFFFFFFF));
- *(_DWORD *)(v368 + 20) += 4 * ((v366 >> 14) + 1073610754);
- }
- continue;
- case 36u:
- v348 = v366 >> 23;
- v347 = ((v366 >> 14) & 0x1FF) - 1;
- if ( v366 >> 23 )
- a1[3] = (int)&v365[16 * v348];
- if ( !luaD_precall(a1, v365, v347) )
- {
- v368 = a1[5];
- goto LABEL_2;
- }
- if ( v347 >= 0 )
- a1[3] = *(_DWORD *)(v368 + 4);
- v367 = *(_DWORD *)(v368 + 16);
- continue;
- case 37u:
- v346 = v366 >> 23;
- if ( v366 >> 23 )
- a1[3] = (int)&v365[16 * v346];
- if ( luaD_precall(a1, v365, -1) )
- {
- v367 = *(_DWORD *)(v368 + 16);
- continue;
- }
- v345 = (int *)a1[5];
- v344 = v345[2];
- v343 = *v345;
- v342 = *(_DWORD *)v344;
- v341 = v345[4] + 16 * *(unsigned __int8 *)(*(_DWORD *)(*(_DWORD *)v343 + 12) + 6);
- if ( *(int *)(*(_DWORD *)(v350 + 12) + 28) > 0 )
- sub_74C2BB0(a1, *(_DWORD *)(v344 + 16));
- for ( i = 0; v343 + 16 * i < v341; ++i )
- {
- v340 = (_DWORD *)(v342 + 16 * i);
- v131 = (int *)(v343 + 16 * i);
- v132 = v340;
- v133 = *v131;
- v134 = v131[1];
- v135 = v131[2];
- v136 = v131[3];
- *v340 = v133;
- v132[1] = v134;
- v132[2] = v135;
- v132[3] = v136;
- }
- *(_DWORD *)(v344 + 16) = v342 + v345[4] - v343;
- a1[3] = v342 + a1[3] - v343;
- *(_DWORD *)(v344 + 4) = a1[3];
- *(_DWORD *)(v344 + 20) = v345[5];
- *(_WORD *)(v344 + 34) |= 0x20u;
- a1[5] = v344;
- v368 = a1[5];
- goto LABEL_2;
- case 38u:
- v203 = v366 >> 23;
- if ( *(int *)(*(_DWORD *)(v350 + 12) + 28) > 0 )
- sub_74C2BB0(a1, v367);
- if ( v203 )
- v137 = v203 - 1;
- else
- v137 = (a1[3] - (int)v365) >> 4;
- result = sub_74C0984(a1, v368, v365, v137);
- v203 = result;
- if ( (*(_WORD *)(v368 + 34) & 8) == 0 )
- {
- v368 = a1[5];
- if ( v203 )
- a1[3] = *(_DWORD *)(v368 + 4);
- goto LABEL_2;
- }
- return result;
- case 39u:
- if ( *((_DWORD *)v365 + 2) == 19 )
- {
- v234 = *((_QWORD *)v365 + 4);
- v233 = v234 + *(_QWORD *)v365;
- v232 = *((_QWORD *)v365 + 2);
- if ( v234 < 1 )
- v139 = v233 >= v232;
- else
- v139 = v232 >= v233;
- if ( v139 )
- {
- *(_DWORD *)(v368 + 20) += 4 * ((v366 >> 14) + 1073610753);
- v231 = v365;
- *(_QWORD *)v365 = v233;
- v230 = v365 + 48;
- *((_QWORD *)v365 + 6) = v233;
- *((_DWORD *)v230 + 2) = 19;
- }
- }
- else
- {
- v229 = *((double *)v365 + 4);
- v228 = *(double *)v365 + v229;
- v227 = *((double *)v365 + 2);
- if ( v229 <= 0.0 )
- v140 = v227 <= v228;
- else
- v140 = v228 <= v227;
- if ( v140 )
- {
- *(_DWORD *)(v368 + 20) += 4 * ((v366 >> 14) + 1073610753);
- v226 = v365;
- *(double *)v365 = v228;
- v225 = v365 + 48;
- *((double *)v365 + 6) = v228;
- *((_DWORD *)v225 + 2) = 3;
- }
- }
- continue;
- case 40u:
- v224 = v365;
- v223 = v365 + 16;
- v222 = v365 + 32;
- if ( *((_DWORD *)v365 + 2) == 19
- && *((_DWORD *)v222 + 2) == 19
- && sub_74D79D8(v223, &v176, *(_DWORD *)v222, *((_DWORD *)v222 + 1), &v175) )
- {
- if ( v175 )
- v142 = 0.0;
- else
- v142 = *(double *)v224;
- v221 = v142;
- v220 = v223;
- *(_QWORD *)v223 = v176;
- *((_DWORD *)v220 + 2) = 19;
- v219 = v224;
- *(_QWORD *)v224 = *(_QWORD *)&v221 - *(_QWORD *)v222;
- *((_DWORD *)v219 + 2) = 19;
- }
- else
- {
- if ( *((_DWORD *)v223 + 2) == 3 )
- {
- v173 = *(_QWORD *)v223;
- v143 = 0;
- }
- else
- {
- v143 = sub_74D7704(v223, (double *)&v173) == 0;
- }
- if ( v143 )
- sub_74BF574((int)a1, "'for' limit must be a number");
- v218 = v223;
- *(_QWORD *)v223 = v173;
- *((_DWORD *)v218 + 2) = 3;
- if ( *((_DWORD *)v222 + 2) == 3 )
- {
- v172 = *(double *)v222;
- v144 = 0;
- }
- else
- {
- v144 = sub_74D7704(v222, &v172) == 0;
- }
- if ( v144 )
- sub_74BF574((int)a1, "'for' step must be a number");
- v217 = v222;
- *(double *)v222 = v172;
- *((_DWORD *)v217 + 2) = 3;
- if ( *((_DWORD *)v224 + 2) == 3 )
- {
- v174 = *(double *)v224;
- v145 = 0;
- }
- else
- {
- v145 = sub_74D7704(v224, &v174) == 0;
- }
- if ( v145 )
- sub_74BF574((int)a1, "'for' initial value must be a number");
- v216 = v224;
- *(double *)v224 = v174 - v172;
- *((_DWORD *)v216 + 2) = 3;
- }
- *(_DWORD *)(v368 + 20) += 4 * ((v366 >> 14) + 1073610753);
- continue;
- case 41u:
- v215 = v365 + 48;
- v214 = v365 + 80;
- v146 = v365 + 80;
- v147 = *((_DWORD *)v365 + 9);
- v148 = *((_DWORD *)v365 + 10);
- v149 = *((_DWORD *)v365 + 11);
- *((_DWORD *)v365 + 20) = *((_DWORD *)v365 + 8);
- *((_DWORD *)v146 + 1) = v147;
- *((_DWORD *)v146 + 2) = v148;
- *((_DWORD *)v146 + 3) = v149;
- v213 = v215 + 16;
- v150 = v215 + 16;
- v151 = *((_DWORD *)v365 + 5);
- v152 = *((_DWORD *)v365 + 6);
- v153 = *((_DWORD *)v365 + 7);
- *((_DWORD *)v215 + 4) = *((_DWORD *)v365 + 4);
- *((_DWORD *)v150 + 1) = v151;
- *((_DWORD *)v150 + 2) = v152;
- *((_DWORD *)v150 + 3) = v153;
- v212 = v215;
- v154 = v215;
- v155 = *((_DWORD *)v365 + 1);
- v156 = *((_DWORD *)v365 + 2);
- v157 = *((_DWORD *)v365 + 3);
- *(_DWORD *)v215 = *(_DWORD *)v365;
- *((_DWORD *)v154 + 1) = v155;
- *((_DWORD *)v154 + 2) = v156;
- *((_DWORD *)v154 + 3) = v157;
- a1[3] = (int)(v215 + 48);
- luaD_call((int)a1, v215, (v366 >> 14) & 0x1FF);
- v367 = *(_DWORD *)(v368 + 16);
- a1[3] = *(_DWORD *)(v368 + 4);
- v158 = *(int **)(v368 + 20);
- *(_DWORD *)(v368 + 20) = v158 + 1;
- v366 = *v158;
- v365 = (char *)(v367 + 16 * (unsigned __int8)(v366 >> 6));
- goto LABEL_475;
- case 42u:
- LABEL_475:
- if ( *((_DWORD *)v365 + 6) )
- {
- v211 = v365;
- v159 = v365;
- v160 = *((_DWORD *)v365 + 5);
- v161 = *((_DWORD *)v365 + 6);
- v162 = *((_DWORD *)v365 + 7);
- *(_DWORD *)v365 = *((_DWORD *)v365 + 4);
- *((_DWORD *)v159 + 1) = v160;
- *((_DWORD *)v159 + 2) = v161;
- *((_DWORD *)v159 + 3) = v162;
- *(_DWORD *)(v368 + 20) += 4 * ((v366 >> 14) + 1073610753);
- }
- continue;
- case 43u:
- v356 = v366 >> 23;
- v355 = (v366 >> 14) & 0x1FF;
- if ( !(v366 >> 23) )
- v356 = ((a1[3] - (int)v365) >> 4) - 1;
- if ( !v355 )
- {
- v163 = *(_DWORD **)(v368 + 20);
- *(_DWORD *)(v368 + 20) = v163 + 1;
- v355 = *v163 >> 6;
- }
- v210 = *(_DWORD *)v365;
- v354 = 50 * (v355 - 1) + v356;
- if ( *(_DWORD *)(v210 + 8) < v354 )
- sub_74D5094(a1, v210, v354);
- while ( v356 > 0 )
- {
- v209 = &v365[16 * v356];
- v164 = v354--;
- ((void (__fastcall *)(int *, int, int, _DWORD, char *))luaH_setint)(a1, v210, v164, 0, v209);
- if ( (*((_DWORD *)v209 + 2) & 0x40) != 0
- && (*(_BYTE *)(v210 + 5) & 4) != 0
- && (*(_BYTE *)(*(_DWORD *)v209 + 5) & 3) != 0 )
- {
- sub_74C31BC(a1, v210);
- }
- --v356;
- }
- a1[3] = *(_DWORD *)(v368 + 4);
- continue;
- case 44u:
- v208 = *(_DWORD *)(*(_DWORD *)(*(_DWORD *)(v350 + 12) + 56) + 4 * (v366 >> 14));
- v207 = sub_74D9754(v208, v350 + 16, v367);
- if ( v207 )
- {
- v206 = v365;
- v205 = v207;
- *(_DWORD *)v365 = v207;
- *((_DWORD *)v206 + 2) = 70;
- }
- else
- {
- sub_74D986C((int)a1, v208, v350 + 16, v367, (int *)v365);
- }
- if ( *(int *)(a1[4] + 12) > 0 )
- {
- a1[3] = (int)(v365 + 16);
- sub_74C61D0(a1);
- a1[3] = *(_DWORD *)(v368 + 4);
- v367 = *(_DWORD *)(v368 + 16);
- }
- continue;
- case 45u:
- v353 = (v366 >> 23) - 1;
- v351 = ((v367 - *(_DWORD *)v368) >> 4) - *(unsigned __int8 *)(*(_DWORD *)(v350 + 12) + 6) - 1;
- if ( v351 < 0 )
- v351 = 0;
- if ( v353 < 0 )
- {
- v353 = v351;
- if ( (a1[7] - a1[3]) >> 4 <= v351 )
- sub_74C0078(a1, v351);
- v367 = *(_DWORD *)(v368 + 16);
- v365 = (char *)(v367 + 16 * (unsigned __int8)(v366 >> 6));
- a1[3] = (int)&v365[16 * v351];
- }
- for ( j = 0; j < v353 && j < v351; ++j )
- {
- v204 = &v365[16 * j];
- v165 = (int *)(v367 + 16 * (j - v351));
- v166 = v204;
- v167 = *v165;
- v168 = v165[1];
- v169 = v165[2];
- v170 = v165[3];
- *(_DWORD *)v204 = v167;
- *((_DWORD *)v166 + 1) = v168;
- *((_DWORD *)v166 + 2) = v169;
- *((_DWORD *)v166 + 3) = v170;
- }
- while ( j < v353 )
- *(_DWORD *)&v365[16 * j++ + 8] = 0;
- continue;
- default:
- continue;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement