Advertisement
xConquerPS

Untitled

Apr 15th, 2025
308
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 52.74 KB | None | 0 0
  1. int __fastcall luaV_execute(int *a1)
  2. {
  3.   int *v1; // r3
  4.   int *v2; // r3
  5.   char *v3; // r12
  6.   int v4; // r0
  7.   int v5; // r1
  8.   int v6; // r2
  9.   int v7; // r3
  10.   char *v8; // r12
  11.   int v9; // r1
  12.   int v10; // r2
  13.   int v11; // r3
  14.   _DWORD *v12; // r3
  15.   char *v13; // r12
  16.   int v14; // r1
  17.   int v15; // r2
  18.   int v16; // r3
  19.   char *v17; // r3
  20.   int *v19; // r3
  21.   char *v20; // r12
  22.   int v21; // r0
  23.   int v22; // r1
  24.   int v23; // r2
  25.   int v24; // r3
  26.   int v25; // r3
  27.   _BOOL4 v26; // r3
  28.   char *v27; // r12
  29.   int v28; // r1
  30.   int v29; // r2
  31.   int v30; // r3
  32.   int v31; // r3
  33.   _BOOL4 v32; // r3
  34.   char *v33; // r12
  35.   int v34; // r1
  36.   int v35; // r2
  37.   int v36; // r3
  38.   int v37; // r3
  39.   int **v38; // r3
  40.   int v39; // r3
  41.   int *v40; // r12
  42.   int *v41; // r1
  43.   int *v42; // r2
  44.   int *v43; // r3
  45.   int *v44; // r12
  46.   int v45; // r1
  47.   int v46; // r2
  48.   int v47; // r3
  49.   int v48; // r3
  50.   int **v49; // r3
  51.   int v50; // r3
  52.   int *v51; // r12
  53.   int *v52; // r1
  54.   int *v53; // r2
  55.   int *v54; // r3
  56.   int v55; // r4
  57.   int v56; // r0
  58.   int *v57; // r3
  59.   char *v58; // r12
  60.   int v59; // r1
  61.   int v60; // r2
  62.   int v61; // r3
  63.   _BOOL4 v62; // r3
  64.   char *v63; // r12
  65.   int v64; // r1
  66.   int v65; // r2
  67.   int v66; // r3
  68.   int v67; // r3
  69.   int v68; // r3
  70.   int v69; // r3
  71.   int v70; // r3
  72.   int v71; // r3
  73.   int v72; // r3
  74.   int v73; // r3
  75.   int v74; // r3
  76.   int v75; // r3
  77.   int v76; // r3
  78.   int v77; // r3
  79.   int v78; // r3
  80.   int v79; // r3
  81.   int v80; // r3
  82.   int v81; // r3
  83.   int v82; // r3
  84.   int v83; // r3
  85.   int v84; // r3
  86.   int v85; // r3
  87.   int v86; // r3
  88.   int v87; // r3
  89.   int v88; // r3
  90.   int v89; // r3
  91.   int v90; // r3
  92.   __int64 v91; // r0
  93.   int v92; // r3
  94.   int v93; // r3
  95.   int v94; // r3
  96.   __int64 v95; // r0
  97.   int v96; // r3
  98.   int v97; // r3
  99.   __int64 v98; // r0
  100.   int v99; // r3
  101.   int v100; // r3
  102.   int v101; // r3
  103.   __int64 v102; // r0
  104.   int v103; // r3
  105.   double v104; // r0
  106.   int v105; // r3
  107.   int v106; // r3
  108.   int v107; // r3
  109.   _BOOL4 v108; // r3
  110.   _BOOL4 v109; // r3
  111.   _BOOL4 v110; // r3
  112.   char *v111; // r12
  113.   int v112; // r1
  114.   int v113; // r2
  115.   int v114; // r3
  116.   char *v115; // r3
  117.   int v116; // r3
  118.   int v117; // r3
  119.   int v118; // r0
  120.   int v119; // r2
  121.   int v120; // r3
  122.   int v121; // r0
  123.   int v122; // r2
  124.   int v123; // r3
  125.   int v124; // r0
  126.   _BOOL4 v125; // r3
  127.   _BOOL4 v126; // r3
  128.   char *v127; // r12
  129.   int v128; // r1
  130.   int v129; // r2
  131.   int v130; // r3
  132.   int *v131; // r3
  133.   _DWORD *v132; // r12
  134.   int v133; // r0
  135.   int v134; // r1
  136.   int v135; // r2
  137.   int v136; // r3
  138.   int v137; // r3
  139.   int result; // r0
  140.   _BOOL4 v139; // r3
  141.   _BOOL4 v140; // r3
  142.   double v142; // r2
  143.   _BOOL4 v143; // r3
  144.   _BOOL4 v144; // r3
  145.   _BOOL4 v145; // r3
  146.   char *v146; // r12
  147.   int v147; // r1
  148.   int v148; // r2
  149.   int v149; // r3
  150.   char *v150; // r12
  151.   int v151; // r1
  152.   int v152; // r2
  153.   int v153; // r3
  154.   char *v154; // r12
  155.   int v155; // r1
  156.   int v156; // r2
  157.   int v157; // r3
  158.   int *v158; // r3
  159.   char *v159; // r12
  160.   int v160; // r1
  161.   int v161; // r2
  162.   int v162; // r3
  163.   _DWORD *v163; // r3
  164.   int v164; // r3
  165.   int *v165; // r3
  166.   char *v166; // r12
  167.   int v167; // r0
  168.   int v168; // r1
  169.   int v169; // r2
  170.   int v170; // r3
  171.   double v172; // [sp+10h] [bp-3F4h] BYREF
  172.   __int64 v173; // [sp+18h] [bp-3ECh] BYREF
  173.   double v174; // [sp+20h] [bp-3E4h] BYREF
  174.   int v175; // [sp+2Ch] [bp-3D8h] BYREF
  175.   __int64 v176; // [sp+30h] [bp-3D4h] BYREF
  176.   __int64 v177; // [sp+38h] [bp-3CCh] BYREF
  177.   double v178; // [sp+40h] [bp-3C4h] BYREF
  178.   double v179; // [sp+48h] [bp-3BCh] BYREF
  179.   double v180; // [sp+50h] [bp-3B4h] BYREF
  180.   double v181; // [sp+58h] [bp-3ACh] BYREF
  181.   double v182; // [sp+60h] [bp-3A4h] BYREF
  182.   __int64 v183; // [sp+68h] [bp-39Ch] BYREF
  183.   __int64 v184; // [sp+70h] [bp-394h] BYREF
  184.   __int64 v185; // [sp+78h] [bp-38Ch] BYREF
  185.   __int64 v186; // [sp+80h] [bp-384h] BYREF
  186.   __int64 v187; // [sp+88h] [bp-37Ch] BYREF
  187.   __int64 v188; // [sp+90h] [bp-374h] BYREF
  188.   __int64 v189; // [sp+98h] [bp-36Ch] BYREF
  189.   __int64 v190; // [sp+A0h] [bp-364h] BYREF
  190.   __int64 v191; // [sp+A8h] [bp-35Ch] BYREF
  191.   __int64 v192; // [sp+B0h] [bp-354h] BYREF
  192.   __int64 v193; // [sp+B8h] [bp-34Ch] BYREF
  193.   __int64 v194; // [sp+C0h] [bp-344h] BYREF
  194.   double v195; // [sp+C8h] [bp-33Ch] BYREF
  195.   double v196; // [sp+D0h] [bp-334h] BYREF
  196.   double v197; // [sp+D8h] [bp-32Ch] BYREF
  197.   double v198; // [sp+E0h] [bp-324h] BYREF
  198.   double v199; // [sp+E8h] [bp-31Ch] BYREF
  199.   double v200; // [sp+F0h] [bp-314h] BYREF
  200.   double v201; // [sp+F8h] [bp-30Ch] BYREF
  201.   double v202; // [sp+100h] [bp-304h] BYREF
  202.   unsigned int v203; // [sp+108h] [bp-2FCh]
  203.   char *v204; // [sp+10Ch] [bp-2F8h]
  204.   int v205; // [sp+110h] [bp-2F4h]
  205.   char *v206; // [sp+114h] [bp-2F0h]
  206.   int v207; // [sp+118h] [bp-2ECh]
  207.   int v208; // [sp+11Ch] [bp-2E8h]
  208.   char *v209; // [sp+120h] [bp-2E4h]
  209.   int v210; // [sp+124h] [bp-2E0h]
  210.   char *v211; // [sp+128h] [bp-2DCh]
  211.   char *v212; // [sp+12Ch] [bp-2D8h]
  212.   char *v213; // [sp+130h] [bp-2D4h]
  213.   char *v214; // [sp+134h] [bp-2D0h]
  214.   char *v215; // [sp+138h] [bp-2CCh]
  215.   char *v216; // [sp+13Ch] [bp-2C8h]
  216.   char *v217; // [sp+140h] [bp-2C4h]
  217.   char *v218; // [sp+144h] [bp-2C0h]
  218.   char *v219; // [sp+148h] [bp-2BCh]
  219.   char *v220; // [sp+14Ch] [bp-2B8h]
  220.   double v221; // [sp+150h] [bp-2B4h]
  221.   char *v222; // [sp+15Ch] [bp-2A8h]
  222.   char *v223; // [sp+160h] [bp-2A4h]
  223.   char *v224; // [sp+164h] [bp-2A0h]
  224.   char *v225; // [sp+168h] [bp-29Ch]
  225.   char *v226; // [sp+16Ch] [bp-298h]
  226.   double v227; // [sp+170h] [bp-294h]
  227.   double v228; // [sp+178h] [bp-28Ch]
  228.   double v229; // [sp+180h] [bp-284h]
  229.   char *v230; // [sp+188h] [bp-27Ch]
  230.   char *v231; // [sp+18Ch] [bp-278h]
  231.   __int64 v232; // [sp+190h] [bp-274h]
  232.   __int64 v233; // [sp+198h] [bp-26Ch]
  233.   __int64 v234; // [sp+1A0h] [bp-264h]
  234.   int v235; // [sp+1ACh] [bp-258h]
  235.   char *v236; // [sp+1B0h] [bp-254h]
  236.   _DWORD *v237; // [sp+1B4h] [bp-250h]
  237.   int v238; // [sp+1B8h] [bp-24Ch]
  238.   int v239; // [sp+1BCh] [bp-248h]
  239.   int v240; // [sp+1C0h] [bp-244h]
  240.   int v241; // [sp+1C4h] [bp-240h]
  241.   int v242; // [sp+1C8h] [bp-23Ch]
  242.   int v243; // [sp+1CCh] [bp-238h]
  243.   int v244; // [sp+1D0h] [bp-234h]
  244.   char *v245; // [sp+1D4h] [bp-230h]
  245.   char *v246; // [sp+1D8h] [bp-22Ch]
  246.   unsigned int v247; // [sp+1DCh] [bp-228h]
  247.   unsigned int v248; // [sp+1E0h] [bp-224h]
  248.   char *v249; // [sp+1E4h] [bp-220h]
  249.   _BOOL4 v250; // [sp+1E8h] [bp-21Ch]
  250.   _DWORD *v251; // [sp+1ECh] [bp-218h]
  251.   char *v252; // [sp+1F0h] [bp-214h]
  252.   int v253; // [sp+1F4h] [bp-210h]
  253.   char *v254; // [sp+1F8h] [bp-20Ch]
  254.   char *v255; // [sp+1FCh] [bp-208h]
  255.   double v256; // [sp+200h] [bp-204h]
  256.   int v257; // [sp+208h] [bp-1FCh]
  257.   char *v258; // [sp+20Ch] [bp-1F8h]
  258.   double *v259; // [sp+210h] [bp-1F4h]
  259.   double *v260; // [sp+214h] [bp-1F0h]
  260.   char *v261; // [sp+218h] [bp-1ECh]
  261.   char *v262; // [sp+21Ch] [bp-1E8h]
  262.   double v263; // [sp+220h] [bp-1E4h]
  263.   double v264; // [sp+228h] [bp-1DCh] BYREF
  264.   int v265; // [sp+230h] [bp-1D4h]
  265.   int v266; // [sp+234h] [bp-1D0h]
  266.   char *v267; // [sp+238h] [bp-1CCh]
  267.   char *v268; // [sp+23Ch] [bp-1C8h]
  268.   __int64 v269; // [sp+240h] [bp-1C4h]
  269.   __int64 v270; // [sp+248h] [bp-1BCh] BYREF
  270.   int v271; // [sp+250h] [bp-1B4h]
  271.   int v272; // [sp+254h] [bp-1B0h]
  272.   char *v273; // [sp+258h] [bp-1ACh]
  273.   int v274; // [sp+25Ch] [bp-1A8h]
  274.   int v275; // [sp+260h] [bp-1A4h]
  275.   char *v276; // [sp+264h] [bp-1A0h]
  276.   int v277; // [sp+268h] [bp-19Ch]
  277.   int v278; // [sp+26Ch] [bp-198h]
  278.   char *v279; // [sp+270h] [bp-194h]
  279.   int v280; // [sp+274h] [bp-190h]
  280.   int v281; // [sp+278h] [bp-18Ch]
  281.   char *v282; // [sp+27Ch] [bp-188h]
  282.   int v283; // [sp+280h] [bp-184h]
  283.   int v284; // [sp+284h] [bp-180h]
  284.   char *v285; // [sp+288h] [bp-17Ch]
  285.   int v286; // [sp+28Ch] [bp-178h]
  286.   int v287; // [sp+290h] [bp-174h]
  287.   char *v288; // [sp+294h] [bp-170h]
  288.   double *v289; // [sp+298h] [bp-16Ch]
  289.   double *v290; // [sp+29Ch] [bp-168h]
  290.   char *v291; // [sp+2A0h] [bp-164h]
  291.   char *v292; // [sp+2A4h] [bp-160h]
  292.   double v293; // [sp+2A8h] [bp-15Ch]
  293.   double v294; // [sp+2B0h] [bp-154h]
  294.   int v295; // [sp+2B8h] [bp-14Ch]
  295.   int v296; // [sp+2BCh] [bp-148h]
  296.   char *v297; // [sp+2C0h] [bp-144h]
  297.   char *v298; // [sp+2C4h] [bp-140h]
  298.   double v299; // [sp+2C8h] [bp-13Ch]
  299.   double v300; // [sp+2D0h] [bp-134h]
  300.   int v301; // [sp+2D8h] [bp-12Ch]
  301.   int v302; // [sp+2DCh] [bp-128h]
  302.   char *v303; // [sp+2E0h] [bp-124h]
  303.   char *v304; // [sp+2E4h] [bp-120h]
  304.   double v305; // [sp+2E8h] [bp-11Ch]
  305.   double v306; // [sp+2F0h] [bp-114h]
  306.   int v307; // [sp+2FCh] [bp-108h]
  307.   int v308; // [sp+300h] [bp-104h]
  308.   char *v309; // [sp+304h] [bp-100h]
  309.   char *v310; // [sp+308h] [bp-FCh]
  310.   int v311; // [sp+30Ch] [bp-F8h]
  311.   int *v312; // [sp+310h] [bp-F4h]
  312.   int *v313; // [sp+314h] [bp-F0h]
  313.   int v314; // [sp+318h] [bp-ECh]
  314.   char *v315; // [sp+31Ch] [bp-E8h]
  315.   int v316; // [sp+320h] [bp-E4h]
  316.   unsigned int v317; // [sp+324h] [bp-E0h]
  317.   unsigned int v318; // [sp+328h] [bp-DCh]
  318.   int **v319; // [sp+32Ch] [bp-D8h]
  319.   _DWORD *v320; // [sp+330h] [bp-D4h]
  320.   int *v321; // [sp+334h] [bp-D0h]
  321.   int **v322; // [sp+338h] [bp-CCh]
  322.   int **v323; // [sp+33Ch] [bp-C8h]
  323.   _DWORD *v324; // [sp+340h] [bp-C4h]
  324.   int *v325; // [sp+344h] [bp-C0h]
  325.   char *v326; // [sp+348h] [bp-BCh]
  326.   _DWORD *v327; // [sp+34Ch] [bp-B8h]
  327.   int *v328; // [sp+350h] [bp-B4h]
  328.   char *v329; // [sp+354h] [bp-B0h]
  329.   _DWORD *v330; // [sp+358h] [bp-ACh]
  330.   int *v331; // [sp+35Ch] [bp-A8h]
  331.   char *v332; // [sp+360h] [bp-A4h]
  332.   unsigned int v333; // [sp+364h] [bp-A0h]
  333.   char *v334; // [sp+368h] [bp-9Ch]
  334.   char *v335; // [sp+36Ch] [bp-98h]
  335.   _DWORD *v336; // [sp+370h] [bp-94h]
  336.   char *v337; // [sp+374h] [bp-90h]
  337.   _DWORD *v338; // [sp+378h] [bp-8Ch]
  338.   char *v339; // [sp+37Ch] [bp-88h]
  339.   _DWORD *v340; // [sp+380h] [bp-84h]
  340.   unsigned int v341; // [sp+384h] [bp-80h]
  341.   int v342; // [sp+388h] [bp-7Ch]
  342.   int v343; // [sp+38Ch] [bp-78h]
  343.   int v344; // [sp+390h] [bp-74h]
  344.   int *v345; // [sp+394h] [bp-70h]
  345.   unsigned int v346; // [sp+398h] [bp-6Ch]
  346.   int v347; // [sp+39Ch] [bp-68h]
  347.   unsigned int v348; // [sp+3A0h] [bp-64h]
  348.   int v349; // [sp+3A4h] [bp-60h]
  349.   int v350; // [sp+3A8h] [bp-5Ch]
  350.   int v351; // [sp+3ACh] [bp-58h]
  351.   int j; // [sp+3B0h] [bp-54h]
  352.   int v353; // [sp+3B4h] [bp-50h]
  353.   unsigned int v354; // [sp+3B8h] [bp-4Ch]
  354.   unsigned int v355; // [sp+3BCh] [bp-48h]
  355.   int v356; // [sp+3C0h] [bp-44h]
  356.   int i; // [sp+3C4h] [bp-40h]
  357.   double v358; // [sp+3C8h] [bp-3Ch]
  358.   int *v359; // [sp+3D0h] [bp-34h]
  359.   int *v360; // [sp+3D4h] [bp-30h]
  360.   int *v361; // [sp+3D8h] [bp-2Ch]
  361.   int *v362; // [sp+3DCh] [bp-28h]
  362.   int *v363; // [sp+3E0h] [bp-24h]
  363.   unsigned int v364; // [sp+3E4h] [bp-20h]
  364.   char *v365; // [sp+3E8h] [bp-1Ch]
  365.   unsigned int v366; // [sp+3ECh] [bp-18h]
  366.   int v367; // [sp+3F0h] [bp-14h]
  367.   int v368; // [sp+3F4h] [bp-10h]
  368.  
  369.   v368 = a1[5];
  370.   *(_WORD *)(v368 + 34) |= 8u;
  371. LABEL_2:
  372.   v350 = **(_DWORD **)v368;
  373.   v349 = *(_DWORD *)(*(_DWORD *)(v350 + 12) + 48);
  374.   v367 = *(_DWORD *)(v368 + 16);
  375.   while ( 2 )
  376.   {
  377.     v1 = *(int **)(v368 + 20);
  378.     *(_DWORD *)(v368 + 20) = v1 + 1;
  379.     v366 = *v1;
  380.     if ( (a1[28] & 0xC) != 0 )
  381.     {
  382.       sub_74BF724(a1);
  383.       v367 = *(_DWORD *)(v368 + 16);
  384.     }
  385.     v365 = (char *)(v367 + 16 * (unsigned __int8)(v366 >> 6));
  386.     switch ( v366 & 0x3F )
  387.     {
  388.       case 0u:
  389.         if ( ((v366 >> 23) & 0x100) != 0 )
  390.           v67 = v349 + 16 * ((v366 >> 23) & 0xFFFFFEFF);
  391.         else
  392.           v67 = v367 + 16 * (v366 >> 23);
  393.         v308 = v67;
  394.         if ( ((v366 >> 14) & 0x100) != 0 )
  395.           v68 = v349 + 16 * (unsigned __int8)(v366 >> 14);
  396.         else
  397.           v68 = v367 + 16 * ((v366 >> 14) & 0x1FF);
  398.         v307 = v68;
  399.         if ( *(_DWORD *)(v308 + 8) == 19 && *(_DWORD *)(v307 + 8) == 19 )
  400.         {
  401.           v306 = *(double *)v308;
  402.           v305 = *(double *)v307;
  403.           v304 = v365;
  404.           *(_QWORD *)v365 = *(_QWORD *)&v305 + *(_QWORD *)&v306;
  405.           *((_DWORD *)v304 + 2) = 19;
  406.           continue;
  407.         }
  408.         if ( *(_DWORD *)(v308 + 8) == 3 )
  409.         {
  410.           v202 = *(double *)v308;
  411.         }
  412.         else if ( !sub_74D7704((_DWORD *)v308, &v202) )
  413.         {
  414.           goto LABEL_105;
  415.         }
  416.         if ( *(_DWORD *)(v307 + 8) == 3 )
  417.         {
  418.           v201 = *(double *)v307;
  419. LABEL_104:
  420.           v69 = 1;
  421.           goto LABEL_106;
  422.         }
  423.         if ( sub_74D7704((_DWORD *)v307, &v201) )
  424.           goto LABEL_104;
  425. LABEL_105:
  426.         v69 = 0;
  427. LABEL_106:
  428.         if ( v69 )
  429.         {
  430.           v303 = v365;
  431.           *(double *)v365 = v202 + v201;
  432.           *((_DWORD *)v303 + 2) = 3;
  433.         }
  434.         else
  435.         {
  436.           sub_74D63E8(a1, v308, v307, v365, 6);
  437.           v367 = *(_DWORD *)(v368 + 16);
  438.         }
  439.         continue;
  440.       case 1u:
  441.         if ( ((v366 >> 23) & 0x100) != 0 )
  442.           v70 = v349 + 16 * ((v366 >> 23) & 0xFFFFFEFF);
  443.         else
  444.           v70 = v367 + 16 * (v366 >> 23);
  445.         v302 = v70;
  446.         if ( ((v366 >> 14) & 0x100) != 0 )
  447.           v71 = v349 + 16 * (unsigned __int8)(v366 >> 14);
  448.         else
  449.           v71 = v367 + 16 * ((v366 >> 14) & 0x1FF);
  450.         v301 = v71;
  451.         if ( *(_DWORD *)(v302 + 8) == 19 && *(_DWORD *)(v301 + 8) == 19 )
  452.         {
  453.           v300 = *(double *)v302;
  454.           v299 = *(double *)v301;
  455.           v298 = v365;
  456.           *(_QWORD *)v365 = *(_QWORD *)&v300 - *(_QWORD *)&v299;
  457.           *((_DWORD *)v298 + 2) = 19;
  458.           continue;
  459.         }
  460.         if ( *(_DWORD *)(v302 + 8) == 3 )
  461.         {
  462.           v200 = *(double *)v302;
  463.         }
  464.         else if ( !sub_74D7704((_DWORD *)v302, &v200) )
  465.         {
  466.           goto LABEL_125;
  467.         }
  468.         if ( *(_DWORD *)(v301 + 8) == 3 )
  469.         {
  470.           v199 = *(double *)v301;
  471. LABEL_124:
  472.           v72 = 1;
  473.           goto LABEL_126;
  474.         }
  475.         if ( sub_74D7704((_DWORD *)v301, &v199) )
  476.           goto LABEL_124;
  477. LABEL_125:
  478.         v72 = 0;
  479. LABEL_126:
  480.         if ( v72 )
  481.         {
  482.           v297 = v365;
  483.           *(double *)v365 = v200 - v199;
  484.           *((_DWORD *)v297 + 2) = 3;
  485.         }
  486.         else
  487.         {
  488.           sub_74D63E8(a1, v302, v301, v365, 7);
  489.           v367 = *(_DWORD *)(v368 + 16);
  490.         }
  491.         continue;
  492.       case 2u:
  493.         if ( ((v366 >> 23) & 0x100) != 0 )
  494.           v73 = v349 + 16 * ((v366 >> 23) & 0xFFFFFEFF);
  495.         else
  496.           v73 = v367 + 16 * (v366 >> 23);
  497.         v296 = v73;
  498.         if ( ((v366 >> 14) & 0x100) != 0 )
  499.           v74 = v349 + 16 * (unsigned __int8)(v366 >> 14);
  500.         else
  501.           v74 = v367 + 16 * ((v366 >> 14) & 0x1FF);
  502.         v295 = v74;
  503.         if ( *(_DWORD *)(v296 + 8) == 19 && *(_DWORD *)(v295 + 8) == 19 )
  504.         {
  505.           v294 = *(double *)v296;
  506.           v293 = *(double *)v295;
  507.           v292 = v365;
  508.           *(_QWORD *)v365 = *(_QWORD *)&v293 * *(_QWORD *)&v294;
  509.           *((_DWORD *)v292 + 2) = 19;
  510.           continue;
  511.         }
  512.         if ( *(_DWORD *)(v296 + 8) == 3 )
  513.         {
  514.           v198 = *(double *)v296;
  515.         }
  516.         else if ( !sub_74D7704((_DWORD *)v296, &v198) )
  517.         {
  518.           goto LABEL_145;
  519.         }
  520.         if ( *(_DWORD *)(v295 + 8) == 3 )
  521.         {
  522.           v197 = *(double *)v295;
  523. LABEL_144:
  524.           v75 = 1;
  525.           goto LABEL_146;
  526.         }
  527.         if ( sub_74D7704((_DWORD *)v295, &v197) )
  528.           goto LABEL_144;
  529. LABEL_145:
  530.         v75 = 0;
  531. LABEL_146:
  532.         if ( v75 )
  533.         {
  534.           v291 = v365;
  535.           *(double *)v365 = v198 * v197;
  536.           *((_DWORD *)v291 + 2) = 3;
  537.         }
  538.         else
  539.         {
  540.           sub_74D63E8(a1, v296, v295, v365, 8);
  541.           v367 = *(_DWORD *)(v368 + 16);
  542.         }
  543.         continue;
  544.       case 3u:
  545.         if ( ((v366 >> 23) & 0x100) != 0 )
  546.           v96 = v349 + 16 * ((v366 >> 23) & 0xFFFFFEFF);
  547.         else
  548.           v96 = v367 + 16 * (v366 >> 23);
  549.         v272 = v96;
  550.         if ( ((v366 >> 14) & 0x100) != 0 )
  551.           v97 = v349 + 16 * (unsigned __int8)(v366 >> 14);
  552.         else
  553.           v97 = v367 + 16 * ((v366 >> 14) & 0x1FF);
  554.         v271 = v97;
  555.         if ( *(_DWORD *)(v272 + 8) == 19 && *(_DWORD *)(v271 + 8) == 19 )
  556.         {
  557.           v270 = *(_QWORD *)v272;
  558.           v269 = *(_QWORD *)v271;
  559.           v268 = v365;
  560.           v98 = sub_74D95AC(a1, &v270, v270, HIDWORD(v270), v269, HIDWORD(v269));
  561.           *(_QWORD *)v268 = v98;
  562.           *((_DWORD *)v268 + 2) = 19;
  563.           continue;
  564.         }
  565.         if ( *(_DWORD *)(v272 + 8) == 3 )
  566.         {
  567.           v184 = *(_QWORD *)v272;
  568.         }
  569.         else if ( !sub_74D7704((_DWORD *)v272, (double *)&v184) )
  570.         {
  571.           goto LABEL_267;
  572.         }
  573.         if ( *(_DWORD *)(v271 + 8) == 3 )
  574.         {
  575.           v183 = *(__int64 *)v271;
  576. LABEL_266:
  577.           v99 = 1;
  578.           goto LABEL_268;
  579.         }
  580.         if ( sub_74D7704((_DWORD *)v271, (double *)&v183) )
  581.           goto LABEL_266;
  582. LABEL_267:
  583.         v99 = 0;
  584. LABEL_268:
  585.         if ( v99 )
  586.         {
  587.           v358 = fmod(*(double *)&v184, *(double *)&v183);
  588.           if ( *(double *)&v183 * v358 < 0.0 )
  589.             v358 = v358 + *(double *)&v183;
  590.           v267 = v365;
  591.           *(double *)v365 = v358;
  592.           *((_DWORD *)v267 + 2) = 3;
  593.         }
  594.         else
  595.         {
  596.           sub_74D63E8(a1, v272, v271, v365, 9);
  597.           v367 = *(_DWORD *)(v368 + 16);
  598.         }
  599.         continue;
  600.       case 4u:
  601.         if ( ((v366 >> 23) & 0x100) != 0 )
  602.           v105 = v349 + 16 * ((v366 >> 23) & 0xFFFFFEFF);
  603.         else
  604.           v105 = v367 + 16 * (v366 >> 23);
  605.         v260 = (double *)v105;
  606.         if ( ((v366 >> 14) & 0x100) != 0 )
  607.           v106 = v349 + 16 * (unsigned __int8)(v366 >> 14);
  608.         else
  609.           v106 = v367 + 16 * ((v366 >> 14) & 0x1FF);
  610.         v259 = (double *)v106;
  611.         if ( *((_DWORD *)v260 + 2) == 3 )
  612.         {
  613.           v180 = *v260;
  614.         }
  615.         else if ( !sub_74D7704(v260, &v180) )
  616.         {
  617.           goto LABEL_306;
  618.         }
  619.         if ( *((_DWORD *)v259 + 2) == 3 )
  620.         {
  621.           v179 = *v259;
  622. LABEL_305:
  623.           v107 = 1;
  624.           goto LABEL_307;
  625.         }
  626.         if ( sub_74D7704(v259, &v179) )
  627.           goto LABEL_305;
  628. LABEL_306:
  629.         v107 = 0;
  630. LABEL_307:
  631.         if ( v107 )
  632.         {
  633.           v258 = v365;
  634.           *(double *)v258 = pow(v180, v179);
  635.           *((_DWORD *)v258 + 2) = 3;
  636.         }
  637.         else
  638.         {
  639.           sub_74D63E8(a1, v260, v259, v365, 10);
  640.           v367 = *(_DWORD *)(v368 + 16);
  641.         }
  642.         continue;
  643.       case 5u:
  644.         if ( ((v366 >> 23) & 0x100) != 0 )
  645.           v76 = v349 + 16 * ((v366 >> 23) & 0xFFFFFEFF);
  646.         else
  647.           v76 = v367 + 16 * (v366 >> 23);
  648.         v290 = (double *)v76;
  649.         if ( ((v366 >> 14) & 0x100) != 0 )
  650.           v77 = v349 + 16 * (unsigned __int8)(v366 >> 14);
  651.         else
  652.           v77 = v367 + 16 * ((v366 >> 14) & 0x1FF);
  653.         v289 = (double *)v77;
  654.         if ( *((_DWORD *)v290 + 2) == 3 )
  655.         {
  656.           v196 = *v290;
  657.         }
  658.         else if ( !sub_74D7704(v290, &v196) )
  659.         {
  660.           goto LABEL_162;
  661.         }
  662.         if ( *((_DWORD *)v289 + 2) == 3 )
  663.         {
  664.           v195 = *v289;
  665. LABEL_161:
  666.           v78 = 1;
  667.           goto LABEL_163;
  668.         }
  669.         if ( sub_74D7704(v289, &v195) )
  670.           goto LABEL_161;
  671. LABEL_162:
  672.         v78 = 0;
  673. LABEL_163:
  674.         if ( v78 )
  675.         {
  676.           v288 = v365;
  677.           *(double *)v365 = v196 / v195;
  678.           *((_DWORD *)v288 + 2) = 3;
  679.         }
  680.         else
  681.         {
  682.           sub_74D63E8(a1, v290, v289, v365, 11);
  683.           v367 = *(_DWORD *)(v368 + 16);
  684.         }
  685.         continue;
  686.       case 6u:
  687.         if ( ((v366 >> 23) & 0x100) != 0 )
  688.           v100 = v349 + 16 * ((v366 >> 23) & 0xFFFFFEFF);
  689.         else
  690.           v100 = v367 + 16 * (v366 >> 23);
  691.         v266 = v100;
  692.         if ( ((v366 >> 14) & 0x100) != 0 )
  693.           v101 = v349 + 16 * (unsigned __int8)(v366 >> 14);
  694.         else
  695.           v101 = v367 + 16 * ((v366 >> 14) & 0x1FF);
  696.         v265 = v101;
  697.         if ( *(_DWORD *)(v266 + 8) == 19 && *(_DWORD *)(v265 + 8) == 19 )
  698.         {
  699.           v264 = *(double *)v266;
  700.           v263 = *(double *)v265;
  701.           v262 = v365;
  702.           v102 = sub_74D94D8(a1, &v264, LODWORD(v264), HIDWORD(v264), LODWORD(v263), HIDWORD(v263));
  703.           *(_QWORD *)v262 = v102;
  704.           *((_DWORD *)v262 + 2) = 19;
  705.           continue;
  706.         }
  707.         if ( *(_DWORD *)(v266 + 8) == 3 )
  708.         {
  709.           v182 = *(double *)v266;
  710.         }
  711.         else if ( !sub_74D7704((_DWORD *)v266, &v182) )
  712.         {
  713.           goto LABEL_289;
  714.         }
  715.         if ( *(_DWORD *)(v265 + 8) == 3 )
  716.         {
  717.           v181 = *(double *)v265;
  718. LABEL_288:
  719.           v103 = 1;
  720.           goto LABEL_290;
  721.         }
  722.         if ( sub_74D7704((_DWORD *)v265, &v181) )
  723.           goto LABEL_288;
  724. LABEL_289:
  725.         v103 = 0;
  726. LABEL_290:
  727.         if ( v103 )
  728.         {
  729.           v261 = v365;
  730.           v104 = floor(v182 / v181);
  731.           *(double *)v261 = v104;
  732.           *((_DWORD *)v261 + 2) = 3;
  733.         }
  734.         else
  735.         {
  736.           sub_74D63E8(a1, v266, v265, v365, 12);
  737.           v367 = *(_DWORD *)(v368 + 16);
  738.         }
  739.         continue;
  740.       case 7u:
  741.         if ( ((v366 >> 23) & 0x100) != 0 )
  742.           v79 = v349 + 16 * ((v366 >> 23) & 0xFFFFFEFF);
  743.         else
  744.           v79 = v367 + 16 * (v366 >> 23);
  745.         v287 = v79;
  746.         if ( ((v366 >> 14) & 0x100) != 0 )
  747.           v80 = v349 + 16 * (unsigned __int8)(v366 >> 14);
  748.         else
  749.           v80 = v367 + 16 * ((v366 >> 14) & 0x1FF);
  750.         v286 = v80;
  751.         if ( *(_DWORD *)(v287 + 8) == 19 )
  752.         {
  753.           v194 = *(_QWORD *)v287;
  754.         }
  755.         else if ( !sub_74D7828(v287, &v194, 0) )
  756.         {
  757.           goto LABEL_179;
  758.         }
  759.         if ( *(_DWORD *)(v286 + 8) == 19 )
  760.         {
  761.           v193 = *(_QWORD *)v286;
  762. LABEL_178:
  763.           v81 = 1;
  764.           goto LABEL_180;
  765.         }
  766.         if ( sub_74D7828(v286, &v193, 0) )
  767.           goto LABEL_178;
  768. LABEL_179:
  769.         v81 = 0;
  770. LABEL_180:
  771.         if ( v81 )
  772.         {
  773.           v285 = v365;
  774.           *(_QWORD *)v365 = v193 & v194;
  775.           *((_DWORD *)v285 + 2) = 19;
  776.         }
  777.         else
  778.         {
  779.           sub_74D63E8(a1, v287, v286, v365, 13);
  780.           v367 = *(_DWORD *)(v368 + 16);
  781.         }
  782.         continue;
  783.       case 8u:
  784.         if ( ((v366 >> 23) & 0x100) != 0 )
  785.           v82 = v349 + 16 * ((v366 >> 23) & 0xFFFFFEFF);
  786.         else
  787.           v82 = v367 + 16 * (v366 >> 23);
  788.         v284 = v82;
  789.         if ( ((v366 >> 14) & 0x100) != 0 )
  790.           v83 = v349 + 16 * (unsigned __int8)(v366 >> 14);
  791.         else
  792.           v83 = v367 + 16 * ((v366 >> 14) & 0x1FF);
  793.         v283 = v83;
  794.         if ( *(_DWORD *)(v284 + 8) == 19 )
  795.         {
  796.           v192 = *(_QWORD *)v284;
  797.         }
  798.         else if ( !sub_74D7828(v284, &v192, 0) )
  799.         {
  800.           goto LABEL_196;
  801.         }
  802.         if ( *(_DWORD *)(v283 + 8) == 19 )
  803.         {
  804.           v191 = *(_QWORD *)v283;
  805. LABEL_195:
  806.           v84 = 1;
  807.           goto LABEL_197;
  808.         }
  809.         if ( sub_74D7828(v283, &v191, 0) )
  810.           goto LABEL_195;
  811. LABEL_196:
  812.         v84 = 0;
  813. LABEL_197:
  814.         if ( v84 )
  815.         {
  816.           v282 = v365;
  817.           *(_QWORD *)v365 = v191 | v192;
  818.           *((_DWORD *)v282 + 2) = 19;
  819.         }
  820.         else
  821.         {
  822.           sub_74D63E8(a1, v284, v283, v365, 14);
  823.           v367 = *(_DWORD *)(v368 + 16);
  824.         }
  825.         continue;
  826.       case 9u:
  827.         if ( ((v366 >> 23) & 0x100) != 0 )
  828.           v85 = v349 + 16 * ((v366 >> 23) & 0xFFFFFEFF);
  829.         else
  830.           v85 = v367 + 16 * (v366 >> 23);
  831.         v281 = v85;
  832.         if ( ((v366 >> 14) & 0x100) != 0 )
  833.           v86 = v349 + 16 * (unsigned __int8)(v366 >> 14);
  834.         else
  835.           v86 = v367 + 16 * ((v366 >> 14) & 0x1FF);
  836.         v280 = v86;
  837.         if ( *(_DWORD *)(v281 + 8) == 19 )
  838.         {
  839.           v190 = *(_QWORD *)v281;
  840.         }
  841.         else if ( !sub_74D7828(v281, &v190, 0) )
  842.         {
  843.           goto LABEL_213;
  844.         }
  845.         if ( *(_DWORD *)(v280 + 8) == 19 )
  846.         {
  847.           v189 = *(_QWORD *)v280;
  848. LABEL_212:
  849.           v87 = 1;
  850.           goto LABEL_214;
  851.         }
  852.         if ( sub_74D7828(v280, &v189, 0) )
  853.           goto LABEL_212;
  854. LABEL_213:
  855.         v87 = 0;
  856. LABEL_214:
  857.         if ( v87 )
  858.         {
  859.           v279 = v365;
  860.           *(_QWORD *)v365 = v190 ^ v189;
  861.           *((_DWORD *)v279 + 2) = 19;
  862.         }
  863.         else
  864.         {
  865.           sub_74D63E8(a1, v281, v280, v365, 15);
  866.           v367 = *(_DWORD *)(v368 + 16);
  867.         }
  868.         continue;
  869.       case 10u:
  870.         if ( ((v366 >> 23) & 0x100) != 0 )
  871.           v88 = v349 + 16 * ((v366 >> 23) & 0xFFFFFEFF);
  872.         else
  873.           v88 = v367 + 16 * (v366 >> 23);
  874.         v278 = v88;
  875.         if ( ((v366 >> 14) & 0x100) != 0 )
  876.           v89 = v349 + 16 * (unsigned __int8)(v366 >> 14);
  877.         else
  878.           v89 = v367 + 16 * ((v366 >> 14) & 0x1FF);
  879.         v277 = v89;
  880.         if ( *(_DWORD *)(v278 + 8) == 19 )
  881.         {
  882.           v188 = *(_QWORD *)v278;
  883.         }
  884.         else if ( !sub_74D7828(v278, &v188, 0) )
  885.         {
  886.           goto LABEL_230;
  887.         }
  888.         if ( *(_DWORD *)(v277 + 8) == 19 )
  889.         {
  890.           v187 = *(_QWORD *)v277;
  891. LABEL_229:
  892.           v90 = 1;
  893.           goto LABEL_231;
  894.         }
  895.         if ( sub_74D7828(v277, &v187, 0) )
  896.           goto LABEL_229;
  897. LABEL_230:
  898.         v90 = 0;
  899. LABEL_231:
  900.         if ( v90 )
  901.         {
  902.           v276 = v365;
  903.           v91 = sub_74D9670(v188, HIDWORD(v188), v187, HIDWORD(v187));
  904.           *(_QWORD *)v276 = v91;
  905.           *((_DWORD *)v276 + 2) = 19;
  906.         }
  907.         else
  908.         {
  909.           sub_74D63E8(a1, v278, v277, v365, 16);
  910.           v367 = *(_DWORD *)(v368 + 16);
  911.         }
  912.         continue;
  913.       case 11u:
  914.         if ( ((v366 >> 23) & 0x100) != 0 )
  915.           v92 = v349 + 16 * ((v366 >> 23) & 0xFFFFFEFF);
  916.         else
  917.           v92 = v367 + 16 * (v366 >> 23);
  918.         v275 = v92;
  919.         if ( ((v366 >> 14) & 0x100) != 0 )
  920.           v93 = v349 + 16 * (unsigned __int8)(v366 >> 14);
  921.         else
  922.           v93 = v367 + 16 * ((v366 >> 14) & 0x1FF);
  923.         v274 = v93;
  924.         if ( *(_DWORD *)(v275 + 8) == 19 )
  925.         {
  926.           v186 = *(_QWORD *)v275;
  927.         }
  928.         else if ( !sub_74D7828(v275, &v186, 0) )
  929.         {
  930.           goto LABEL_247;
  931.         }
  932.         if ( *(_DWORD *)(v274 + 8) == 19 )
  933.         {
  934.           v185 = *(_QWORD *)v274;
  935. LABEL_246:
  936.           v94 = 1;
  937.           goto LABEL_248;
  938.         }
  939.         if ( sub_74D7828(v274, &v185, 0) )
  940.           goto LABEL_246;
  941. LABEL_247:
  942.         v94 = 0;
  943. LABEL_248:
  944.         if ( v94 )
  945.         {
  946.           v273 = v365;
  947.           v95 = sub_74D9670(v186, HIDWORD(v186), -(int)v185, (unsigned __int64)-v185 >> 32);
  948.           *(_QWORD *)v273 = v95;
  949.           *((_DWORD *)v273 + 2) = 19;
  950.         }
  951.         else
  952.         {
  953.           sub_74D63E8(a1, v275, v274, v365, 17);
  954.           v367 = *(_DWORD *)(v368 + 16);
  955.         }
  956.         continue;
  957.       case 12u:
  958.         v257 = v367 + 16 * (v366 >> 23);
  959.         if ( *(_DWORD *)(v257 + 8) == 19 )
  960.         {
  961.           v256 = *(double *)v257;
  962.           v255 = v365;
  963.           *(_QWORD *)v365 = -*(_QWORD *)&v256;
  964.           *((_DWORD *)v255 + 2) = 19;
  965.         }
  966.         else
  967.         {
  968.           if ( *(_DWORD *)(v257 + 8) == 3 )
  969.           {
  970.             v178 = *(double *)v257;
  971.             v108 = 1;
  972.           }
  973.           else
  974.           {
  975.             v108 = sub_74D7704((_DWORD *)v257, &v178) != 0;
  976.           }
  977.           if ( v108 )
  978.           {
  979.             v254 = v365;
  980.             *(double *)v365 = -v178;
  981.             *((_DWORD *)v254 + 2) = 3;
  982.           }
  983.           else
  984.           {
  985.             sub_74D63E8(a1, v257, v257, v365, 18);
  986.             v367 = *(_DWORD *)(v368 + 16);
  987.           }
  988.         }
  989.         continue;
  990.       case 13u:
  991.         v253 = v367 + 16 * (v366 >> 23);
  992.         if ( *(_DWORD *)(v253 + 8) == 19 )
  993.         {
  994.           v177 = *(_QWORD *)v253;
  995.           v109 = 1;
  996.         }
  997.         else
  998.         {
  999.           v109 = sub_74D7828(v253, &v177, 0) != 0;
  1000.         }
  1001.         if ( v109 )
  1002.         {
  1003.           v252 = v365;
  1004.           *(_QWORD *)v365 = ~v177;
  1005.           *((_DWORD *)v252 + 2) = 19;
  1006.         }
  1007.         else
  1008.         {
  1009.           sub_74D63E8(a1, v253, v253, v365, 19);
  1010.           v367 = *(_DWORD *)(v368 + 16);
  1011.         }
  1012.         continue;
  1013.       case 14u:
  1014.         v251 = (_DWORD *)(v367 + 16 * (v366 >> 23));
  1015.         v110 = !v251[2] || v251[2] == 1 && !*v251;
  1016.         v250 = v110;
  1017.         v249 = v365;
  1018.         *(_DWORD *)v365 = v110;
  1019.         *((_DWORD *)v249 + 2) = 1;
  1020.         continue;
  1021.       case 15u:
  1022.         sub_74D930C(a1, v365, v367 + 16 * (v366 >> 23));
  1023.         v367 = *(_DWORD *)(v368 + 16);
  1024.         continue;
  1025.       case 16u:
  1026.         v248 = v366 >> 23;
  1027.         v247 = (v366 >> 14) & 0x1FF;
  1028.         a1[3] = v367 + 16 * (v247 + 1);
  1029.         sub_74D8E6C(a1, v247 - v248 + 1);
  1030.         v367 = *(_DWORD *)(v368 + 16);
  1031.         v365 = (char *)(v367 + 16 * (unsigned __int8)(v366 >> 6));
  1032.         v246 = (char *)(v367 + 16 * v248);
  1033.         v245 = v365;
  1034.         v111 = v365;
  1035.         v112 = *((_DWORD *)v246 + 1);
  1036.         v113 = *((_DWORD *)v246 + 2);
  1037.         v114 = *((_DWORD *)v246 + 3);
  1038.         *(_DWORD *)v365 = *(_DWORD *)v246;
  1039.         *((_DWORD *)v111 + 1) = v112;
  1040.         *((_DWORD *)v111 + 2) = v113;
  1041.         *((_DWORD *)v111 + 3) = v114;
  1042.         if ( *(int *)(a1[4] + 12) > 0 )
  1043.         {
  1044.           if ( v365 < v246 )
  1045.             v115 = v246;
  1046.           else
  1047.             v115 = v365 + 16;
  1048.           a1[3] = (int)v115;
  1049.           sub_74C61D0(a1);
  1050.           a1[3] = *(_DWORD *)(v368 + 4);
  1051.           v367 = *(_DWORD *)(v368 + 16);
  1052.         }
  1053.         a1[3] = *(_DWORD *)(v368 + 4);
  1054.         continue;
  1055.       case 17u:
  1056.         v339 = v365;
  1057.         v2 = (int *)(v367 + 16 * (v366 >> 23));
  1058.         v3 = v365;
  1059.         v4 = *v2;
  1060.         v5 = v2[1];
  1061.         v6 = v2[2];
  1062.         v7 = v2[3];
  1063.         *(_DWORD *)v365 = v4;
  1064.         *((_DWORD *)v3 + 1) = v5;
  1065.         *((_DWORD *)v3 + 2) = v6;
  1066.         *((_DWORD *)v3 + 3) = v7;
  1067.         continue;
  1068.       case 18u:
  1069.         v338 = (_DWORD *)(v349 + 16 * (v366 >> 14));
  1070.         v337 = v365;
  1071.         v8 = v365;
  1072.         v9 = v338[1];
  1073.         v10 = v338[2];
  1074.         v11 = v338[3];
  1075.         *(_DWORD *)v365 = *v338;
  1076.         *((_DWORD *)v8 + 1) = v9;
  1077.         *((_DWORD *)v8 + 2) = v10;
  1078.         *((_DWORD *)v8 + 3) = v11;
  1079.         continue;
  1080.       case 19u:
  1081.         v12 = *(_DWORD **)(v368 + 20);
  1082.         *(_DWORD *)(v368 + 20) = v12 + 1;
  1083.         v336 = (_DWORD *)(v349 + 16 * (*v12 >> 6));
  1084.         v335 = v365;
  1085.         v13 = v365;
  1086.         v14 = v336[1];
  1087.         v15 = v336[2];
  1088.         v16 = v336[3];
  1089.         *(_DWORD *)v365 = *v336;
  1090.         *((_DWORD *)v13 + 1) = v14;
  1091.         *((_DWORD *)v13 + 2) = v15;
  1092.         *((_DWORD *)v13 + 3) = v16;
  1093.         continue;
  1094.       case 20u:
  1095.         v334 = v365;
  1096.         *(_DWORD *)v365 = v366 >> 23;
  1097.         *((_DWORD *)v334 + 2) = 1;
  1098.         if ( ((v366 >> 14) & 0x1FF) != 0 )
  1099.           *(_DWORD *)(v368 + 20) += 4;
  1100.         continue;
  1101.       case 21u:
  1102.         v364 = v366 >> 23;
  1103.         do
  1104.         {
  1105.           v17 = v365;
  1106.           v365 += 16;
  1107.           *((_DWORD *)v17 + 2) = 0;
  1108.         }
  1109.         while ( v364-- );
  1110.         continue;
  1111.       case 22u:
  1112.         v333 = v366 >> 23;
  1113.         v332 = v365;
  1114.         v19 = **(int ***)(v350 + 4 * ((v366 >> 23) + 4));
  1115.         v20 = v365;
  1116.         v21 = *v19;
  1117.         v22 = v19[1];
  1118.         v23 = v19[2];
  1119.         v24 = v19[3];
  1120.         *(_DWORD *)v365 = v21;
  1121.         *((_DWORD *)v20 + 1) = v22;
  1122.         *((_DWORD *)v20 + 2) = v23;
  1123.         *((_DWORD *)v20 + 3) = v24;
  1124.         continue;
  1125.       case 23u:
  1126.         v331 = **(int ***)(v350 + 4 * ((v366 >> 23) + 4));
  1127.         if ( ((v366 >> 14) & 0x100) != 0 )
  1128.           v25 = v349 + 16 * (unsigned __int8)(v366 >> 14);
  1129.         else
  1130.           v25 = v367 + 16 * ((v366 >> 14) & 0x1FF);
  1131.         v330 = (_DWORD *)v25;
  1132.         if ( v331[2] == 69 )
  1133.         {
  1134.           v363 = sub_74D5A18(*v331, v330);
  1135.           v26 = v363[2] != 0;
  1136.         }
  1137.         else
  1138.         {
  1139.           v363 = 0;
  1140.           v26 = 0;
  1141.         }
  1142.         if ( v26 )
  1143.         {
  1144.           v329 = v365;
  1145.           v27 = v365;
  1146.           v28 = v363[1];
  1147.           v29 = v363[2];
  1148.           v30 = v363[3];
  1149.           *(_DWORD *)v365 = *v363;
  1150.           *((_DWORD *)v27 + 1) = v28;
  1151.           *((_DWORD *)v27 + 2) = v29;
  1152.           *((_DWORD *)v27 + 3) = v30;
  1153.         }
  1154.         else
  1155.         {
  1156.           luaV_finishget(a1, v331, v330, (int *)v365, v363);
  1157.           v367 = *(_DWORD *)(v368 + 16);
  1158.         }
  1159.         continue;
  1160.       case 24u:
  1161.         v328 = (int *)(v367 + 16 * (v366 >> 23));
  1162.         if ( ((v366 >> 14) & 0x100) != 0 )
  1163.           v31 = v349 + 16 * (unsigned __int8)(v366 >> 14);
  1164.         else
  1165.           v31 = v367 + 16 * ((v366 >> 14) & 0x1FF);
  1166.         v327 = (_DWORD *)v31;
  1167.         if ( v328[2] == 69 )
  1168.         {
  1169.           v362 = sub_74D5A18(*v328, v327);
  1170.           v32 = v362[2] != 0;
  1171.         }
  1172.         else
  1173.         {
  1174.           v362 = 0;
  1175.           v32 = 0;
  1176.         }
  1177.         if ( v32 )
  1178.         {
  1179.           v326 = v365;
  1180.           v33 = v365;
  1181.           v34 = v362[1];
  1182.           v35 = v362[2];
  1183.           v36 = v362[3];
  1184.           *(_DWORD *)v365 = *v362;
  1185.           *((_DWORD *)v33 + 1) = v34;
  1186.           *((_DWORD *)v33 + 2) = v35;
  1187.           *((_DWORD *)v33 + 3) = v36;
  1188.         }
  1189.         else
  1190.         {
  1191.           luaV_finishget(a1, v328, v327, (int *)v365, v362);
  1192.           v367 = *(_DWORD *)(v368 + 16);
  1193.         }
  1194.         continue;
  1195.       case 25u:
  1196.         v325 = **(int ***)(v350 + 4 * ((unsigned __int8)(v366 >> 6) + 4));
  1197.         if ( ((v366 >> 23) & 0x100) != 0 )
  1198.           v37 = v349 + 16 * ((v366 >> 23) & 0xFFFFFEFF);
  1199.         else
  1200.           v37 = v367 + 16 * (v366 >> 23);
  1201.         v324 = (_DWORD *)v37;
  1202.         if ( ((v366 >> 14) & 0x100) != 0 )
  1203.           v38 = (int **)(v349 + 16 * (unsigned __int8)(v366 >> 14));
  1204.         else
  1205.           v38 = (int **)(v367 + 16 * ((v366 >> 14) & 0x1FF));
  1206.         v323 = v38;
  1207.         if ( v325[2] == 69 )
  1208.         {
  1209.           v361 = sub_74D5A18(*v325, v324);
  1210.           if ( v361[2] )
  1211.           {
  1212.             if ( ((unsigned int)v323[2] & 0x40) != 0
  1213.               && (*(_BYTE *)(*v325 + 5) & 4) != 0
  1214.               && (*((_BYTE *)*v323 + 5) & 3) != 0 )
  1215.             {
  1216.               sub_74C31BC(a1, *v325);
  1217.             }
  1218.             v40 = v361;
  1219.             v41 = v323[1];
  1220.             v42 = v323[2];
  1221.             v43 = v323[3];
  1222.             *v361 = (int)*v323;
  1223.             v40[1] = (int)v41;
  1224.             v40[2] = (int)v42;
  1225.             v40[3] = (int)v43;
  1226.             v39 = 0;
  1227.           }
  1228.           else
  1229.           {
  1230.             v39 = 1;
  1231.           }
  1232.         }
  1233.         else
  1234.         {
  1235.           v361 = 0;
  1236.           v39 = 1;
  1237.         }
  1238.         if ( v39 )
  1239.         {
  1240.           sub_74D7D20(a1, v325, v324, v323, v361);
  1241.           v367 = *(_DWORD *)(v368 + 16);
  1242.         }
  1243.         continue;
  1244.       case 26u:
  1245.         v322 = *(int ***)(v350 + 4 * ((v366 >> 23) + 4));
  1246.         v321 = *v322;
  1247.         v44 = v321;
  1248.         v45 = *((_DWORD *)v365 + 1);
  1249.         v46 = *((_DWORD *)v365 + 2);
  1250.         v47 = *((_DWORD *)v365 + 3);
  1251.         *v321 = *(_DWORD *)v365;
  1252.         v44[1] = v45;
  1253.         v44[2] = v46;
  1254.         v44[3] = v47;
  1255.         if ( ((*v322)[2] & 0x40) != 0 && *v322 == (int *)(v322 + 2) )
  1256.           luaC_upvalbarrier((int)a1, v322);
  1257.         continue;
  1258.       case 27u:
  1259.         if ( ((v366 >> 23) & 0x100) != 0 )
  1260.           v48 = v349 + 16 * ((v366 >> 23) & 0xFFFFFEFF);
  1261.         else
  1262.           v48 = v367 + 16 * (v366 >> 23);
  1263.         v320 = (_DWORD *)v48;
  1264.         if ( ((v366 >> 14) & 0x100) != 0 )
  1265.           v49 = (int **)(v349 + 16 * (unsigned __int8)(v366 >> 14));
  1266.         else
  1267.           v49 = (int **)(v367 + 16 * ((v366 >> 14) & 0x1FF));
  1268.         v319 = v49;
  1269.         if ( *((_DWORD *)v365 + 2) == 69 )
  1270.         {
  1271.           v360 = sub_74D5A18(*(_DWORD *)v365, v320);
  1272.           if ( v360[2] )
  1273.           {
  1274.             if ( ((unsigned int)v319[2] & 0x40) != 0
  1275.               && (*(_BYTE *)(*(_DWORD *)v365 + 5) & 4) != 0
  1276.               && (*((_BYTE *)*v319 + 5) & 3) != 0 )
  1277.             {
  1278.               sub_74C31BC(a1, *(_DWORD *)v365);
  1279.             }
  1280.             v51 = v360;
  1281.             v52 = v319[1];
  1282.             v53 = v319[2];
  1283.             v54 = v319[3];
  1284.             *v360 = (int)*v319;
  1285.             v51[1] = (int)v52;
  1286.             v51[2] = (int)v53;
  1287.             v51[3] = (int)v54;
  1288.             v50 = 0;
  1289.           }
  1290.           else
  1291.           {
  1292.             v50 = 1;
  1293.           }
  1294.         }
  1295.         else
  1296.         {
  1297.           v360 = 0;
  1298.           v50 = 1;
  1299.         }
  1300.         if ( v50 )
  1301.         {
  1302.           sub_74D7D20(a1, (int *)v365, v320, v319, v360);
  1303.           v367 = *(_DWORD *)(v368 + 16);
  1304.         }
  1305.         continue;
  1306.       case 28u:
  1307.         v318 = v366 >> 23;
  1308.         v317 = (v366 >> 14) & 0x1FF;
  1309.         v316 = luaH_new((int)a1);
  1310.         v315 = v365;
  1311.         v314 = v316;
  1312.         *(_DWORD *)v365 = v316;
  1313.         *((_DWORD *)v315 + 2) = 69;
  1314.         if ( v318 || v317 )
  1315.         {
  1316.           v55 = sub_74C6680(v318);
  1317.           v56 = sub_74C6680(v317);
  1318.           sub_74D4E18(a1, v316, v55, v56);
  1319.         }
  1320.         if ( *(int *)(a1[4] + 12) > 0 )
  1321.         {
  1322.           a1[3] = (int)(v365 + 16);
  1323.           sub_74C61D0(a1);
  1324.           a1[3] = *(_DWORD *)(v368 + 4);
  1325.           v367 = *(_DWORD *)(v368 + 16);
  1326.         }
  1327.         continue;
  1328.       case 29u:
  1329.         v313 = (int *)(v367 + 16 * (v366 >> 23));
  1330.         if ( ((v366 >> 14) & 0x100) != 0 )
  1331.           v57 = (int *)(v349 + 16 * (unsigned __int8)(v366 >> 14));
  1332.         else
  1333.           v57 = (int *)(v367 + 16 * ((v366 >> 14) & 0x1FF));
  1334.         v312 = v57;
  1335.         v311 = *v57;
  1336.         v310 = v365 + 16;
  1337.         v58 = v365 + 16;
  1338.         v59 = v313[1];
  1339.         v60 = v313[2];
  1340.         v61 = v313[3];
  1341.         *((_DWORD *)v365 + 4) = *v313;
  1342.         *((_DWORD *)v58 + 1) = v59;
  1343.         *((_DWORD *)v58 + 2) = v60;
  1344.         *((_DWORD *)v58 + 3) = v61;
  1345.         if ( v313[2] == 69 )
  1346.         {
  1347.           v359 = (int *)sub_74D5984(*v313, v311);
  1348.           v62 = v359[2] != 0;
  1349.         }
  1350.         else
  1351.         {
  1352.           v359 = 0;
  1353.           v62 = 0;
  1354.         }
  1355.         if ( v62 )
  1356.         {
  1357.           v309 = v365;
  1358.           v63 = v365;
  1359.           v64 = v359[1];
  1360.           v65 = v359[2];
  1361.           v66 = v359[3];
  1362.           *(_DWORD *)v365 = *v359;
  1363.           *((_DWORD *)v63 + 1) = v64;
  1364.           *((_DWORD *)v63 + 2) = v65;
  1365.           *((_DWORD *)v63 + 3) = v66;
  1366.         }
  1367.         else
  1368.         {
  1369.           luaV_finishget(a1, v313, v312, (int *)v365, v359);
  1370.           v367 = *(_DWORD *)(v368 + 16);
  1371.         }
  1372.         continue;
  1373.       case 30u:
  1374.         v244 = (unsigned __int8)(v366 >> 6);
  1375.         if ( (unsigned __int8)(v366 >> 6) )
  1376.           sub_74C2BB0(a1, *(_DWORD *)(v368 + 16) + 16 * (v244 + 0xFFFFFFF));
  1377.         *(_DWORD *)(v368 + 20) += 4 * ((v366 >> 14) + 1073610753);
  1378.         continue;
  1379.       case 31u:
  1380.         if ( ((v366 >> 23) & 0x100) != 0 )
  1381.           v116 = v349 + 16 * ((v366 >> 23) & 0xFFFFFEFF);
  1382.         else
  1383.           v116 = v367 + 16 * (v366 >> 23);
  1384.         v243 = v116;
  1385.         if ( ((v366 >> 14) & 0x100) != 0 )
  1386.           v117 = v349 + 16 * (unsigned __int8)(v366 >> 14);
  1387.         else
  1388.           v117 = v367 + 16 * ((v366 >> 14) & 0x1FF);
  1389.         v242 = v117;
  1390.         v118 = sub_74D87CC(a1, v243, v117);
  1391.         if ( v118 == (unsigned __int8)(v366 >> 6) )
  1392.         {
  1393.           v366 = **(_DWORD **)(v368 + 20);
  1394.           v241 = (unsigned __int8)(v366 >> 6);
  1395.           if ( (unsigned __int8)(v366 >> 6) )
  1396.             sub_74C2BB0(a1, *(_DWORD *)(v368 + 16) + 16 * (v241 + 0xFFFFFFF));
  1397.           *(_DWORD *)(v368 + 20) += 4 * ((v366 >> 14) + 1073610754);
  1398.         }
  1399.         else
  1400.         {
  1401.           *(_DWORD *)(v368 + 20) += 4;
  1402.         }
  1403.         v367 = *(_DWORD *)(v368 + 16);
  1404.         continue;
  1405.       case 32u:
  1406.         if ( ((v366 >> 23) & 0x100) != 0 )
  1407.           v119 = v349 + 16 * ((v366 >> 23) & 0xFFFFFEFF);
  1408.         else
  1409.           v119 = v367 + 16 * (v366 >> 23);
  1410.         if ( ((v366 >> 14) & 0x100) != 0 )
  1411.           v120 = v349 + 16 * (unsigned __int8)(v366 >> 14);
  1412.         else
  1413.           v120 = v367 + 16 * ((v366 >> 14) & 0x1FF);
  1414.         v121 = sub_74D8548(a1, v119, v120);
  1415.         if ( v121 == (unsigned __int8)(v366 >> 6) )
  1416.         {
  1417.           v366 = **(_DWORD **)(v368 + 20);
  1418.           v240 = (unsigned __int8)(v366 >> 6);
  1419.           if ( (unsigned __int8)(v366 >> 6) )
  1420.             sub_74C2BB0(a1, *(_DWORD *)(v368 + 16) + 16 * (v240 + 0xFFFFFFF));
  1421.           *(_DWORD *)(v368 + 20) += 4 * ((v366 >> 14) + 1073610754);
  1422.         }
  1423.         else
  1424.         {
  1425.           *(_DWORD *)(v368 + 20) += 4;
  1426.         }
  1427.         v367 = *(_DWORD *)(v368 + 16);
  1428.         continue;
  1429.       case 33u:
  1430.         if ( ((v366 >> 23) & 0x100) != 0 )
  1431.           v122 = v349 + 16 * ((v366 >> 23) & 0xFFFFFEFF);
  1432.         else
  1433.           v122 = v367 + 16 * (v366 >> 23);
  1434.         if ( ((v366 >> 14) & 0x100) != 0 )
  1435.           v123 = v349 + 16 * (unsigned __int8)(v366 >> 14);
  1436.         else
  1437.           v123 = v367 + 16 * ((v366 >> 14) & 0x1FF);
  1438.         v124 = sub_74D8644(a1, v122, v123);
  1439.         if ( v124 == (unsigned __int8)(v366 >> 6) )
  1440.         {
  1441.           v366 = **(_DWORD **)(v368 + 20);
  1442.           v239 = (unsigned __int8)(v366 >> 6);
  1443.           if ( (unsigned __int8)(v366 >> 6) )
  1444.             sub_74C2BB0(a1, *(_DWORD *)(v368 + 16) + 16 * (v239 + 0xFFFFFFF));
  1445.           *(_DWORD *)(v368 + 20) += 4 * ((v366 >> 14) + 1073610754);
  1446.         }
  1447.         else
  1448.         {
  1449.           *(_DWORD *)(v368 + 20) += 4;
  1450.         }
  1451.         v367 = *(_DWORD *)(v368 + 16);
  1452.         continue;
  1453.       case 34u:
  1454.         if ( ((v366 >> 14) & 0x1FF) != 0 )
  1455.           v125 = !*((_DWORD *)v365 + 2) || *((_DWORD *)v365 + 2) == 1 && !*(_DWORD *)v365;
  1456.         else
  1457.           v125 = *((_DWORD *)v365 + 2) && (*((_DWORD *)v365 + 2) != 1 || *(_DWORD *)v365);
  1458.         if ( v125 )
  1459.         {
  1460.           *(_DWORD *)(v368 + 20) += 4;
  1461.         }
  1462.         else
  1463.         {
  1464.           v366 = **(_DWORD **)(v368 + 20);
  1465.           v238 = (unsigned __int8)(v366 >> 6);
  1466.           if ( (unsigned __int8)(v366 >> 6) )
  1467.             sub_74C2BB0(a1, *(_DWORD *)(v368 + 16) + 16 * (v238 + 0xFFFFFFF));
  1468.           *(_DWORD *)(v368 + 20) += 4 * ((v366 >> 14) + 1073610754);
  1469.         }
  1470.         continue;
  1471.       case 35u:
  1472.         v237 = (_DWORD *)(v367 + 16 * (v366 >> 23));
  1473.         if ( ((v366 >> 14) & 0x1FF) != 0 )
  1474.           v126 = !v237[2] || v237[2] == 1 && !*v237;
  1475.         else
  1476.           v126 = v237[2] && (v237[2] != 1 || *v237);
  1477.         if ( v126 )
  1478.         {
  1479.           *(_DWORD *)(v368 + 20) += 4;
  1480.         }
  1481.         else
  1482.         {
  1483.           v236 = v365;
  1484.           v127 = v365;
  1485.           v128 = v237[1];
  1486.           v129 = v237[2];
  1487.           v130 = v237[3];
  1488.           *(_DWORD *)v365 = *v237;
  1489.           *((_DWORD *)v127 + 1) = v128;
  1490.           *((_DWORD *)v127 + 2) = v129;
  1491.           *((_DWORD *)v127 + 3) = v130;
  1492.           v366 = **(_DWORD **)(v368 + 20);
  1493.           v235 = (unsigned __int8)(v366 >> 6);
  1494.           if ( (unsigned __int8)(v366 >> 6) )
  1495.             sub_74C2BB0(a1, *(_DWORD *)(v368 + 16) + 16 * (v235 + 0xFFFFFFF));
  1496.           *(_DWORD *)(v368 + 20) += 4 * ((v366 >> 14) + 1073610754);
  1497.         }
  1498.         continue;
  1499.       case 36u:
  1500.         v348 = v366 >> 23;
  1501.         v347 = ((v366 >> 14) & 0x1FF) - 1;
  1502.         if ( v366 >> 23 )
  1503.           a1[3] = (int)&v365[16 * v348];
  1504.         if ( !luaD_precall(a1, v365, v347) )
  1505.         {
  1506.           v368 = a1[5];
  1507.           goto LABEL_2;
  1508.         }
  1509.         if ( v347 >= 0 )
  1510.           a1[3] = *(_DWORD *)(v368 + 4);
  1511.         v367 = *(_DWORD *)(v368 + 16);
  1512.         continue;
  1513.       case 37u:
  1514.         v346 = v366 >> 23;
  1515.         if ( v366 >> 23 )
  1516.           a1[3] = (int)&v365[16 * v346];
  1517.         if ( luaD_precall(a1, v365, -1) )
  1518.         {
  1519.           v367 = *(_DWORD *)(v368 + 16);
  1520.           continue;
  1521.         }
  1522.         v345 = (int *)a1[5];
  1523.         v344 = v345[2];
  1524.         v343 = *v345;
  1525.         v342 = *(_DWORD *)v344;
  1526.         v341 = v345[4] + 16 * *(unsigned __int8 *)(*(_DWORD *)(*(_DWORD *)v343 + 12) + 6);
  1527.         if ( *(int *)(*(_DWORD *)(v350 + 12) + 28) > 0 )
  1528.           sub_74C2BB0(a1, *(_DWORD *)(v344 + 16));
  1529.         for ( i = 0; v343 + 16 * i < v341; ++i )
  1530.         {
  1531.           v340 = (_DWORD *)(v342 + 16 * i);
  1532.           v131 = (int *)(v343 + 16 * i);
  1533.           v132 = v340;
  1534.           v133 = *v131;
  1535.           v134 = v131[1];
  1536.           v135 = v131[2];
  1537.           v136 = v131[3];
  1538.           *v340 = v133;
  1539.           v132[1] = v134;
  1540.           v132[2] = v135;
  1541.           v132[3] = v136;
  1542.         }
  1543.         *(_DWORD *)(v344 + 16) = v342 + v345[4] - v343;
  1544.         a1[3] = v342 + a1[3] - v343;
  1545.         *(_DWORD *)(v344 + 4) = a1[3];
  1546.         *(_DWORD *)(v344 + 20) = v345[5];
  1547.         *(_WORD *)(v344 + 34) |= 0x20u;
  1548.         a1[5] = v344;
  1549.         v368 = a1[5];
  1550.         goto LABEL_2;
  1551.       case 38u:
  1552.         v203 = v366 >> 23;
  1553.         if ( *(int *)(*(_DWORD *)(v350 + 12) + 28) > 0 )
  1554.           sub_74C2BB0(a1, v367);
  1555.         if ( v203 )
  1556.           v137 = v203 - 1;
  1557.         else
  1558.           v137 = (a1[3] - (int)v365) >> 4;
  1559.         result = sub_74C0984(a1, v368, v365, v137);
  1560.         v203 = result;
  1561.         if ( (*(_WORD *)(v368 + 34) & 8) == 0 )
  1562.         {
  1563.           v368 = a1[5];
  1564.           if ( v203 )
  1565.             a1[3] = *(_DWORD *)(v368 + 4);
  1566.           goto LABEL_2;
  1567.         }
  1568.         return result;
  1569.       case 39u:
  1570.         if ( *((_DWORD *)v365 + 2) == 19 )
  1571.         {
  1572.           v234 = *((_QWORD *)v365 + 4);
  1573.           v233 = v234 + *(_QWORD *)v365;
  1574.           v232 = *((_QWORD *)v365 + 2);
  1575.           if ( v234 < 1 )
  1576.             v139 = v233 >= v232;
  1577.           else
  1578.             v139 = v232 >= v233;
  1579.           if ( v139 )
  1580.           {
  1581.             *(_DWORD *)(v368 + 20) += 4 * ((v366 >> 14) + 1073610753);
  1582.             v231 = v365;
  1583.             *(_QWORD *)v365 = v233;
  1584.             v230 = v365 + 48;
  1585.             *((_QWORD *)v365 + 6) = v233;
  1586.             *((_DWORD *)v230 + 2) = 19;
  1587.           }
  1588.         }
  1589.         else
  1590.         {
  1591.           v229 = *((double *)v365 + 4);
  1592.           v228 = *(double *)v365 + v229;
  1593.           v227 = *((double *)v365 + 2);
  1594.           if ( v229 <= 0.0 )
  1595.             v140 = v227 <= v228;
  1596.           else
  1597.             v140 = v228 <= v227;
  1598.           if ( v140 )
  1599.           {
  1600.             *(_DWORD *)(v368 + 20) += 4 * ((v366 >> 14) + 1073610753);
  1601.             v226 = v365;
  1602.             *(double *)v365 = v228;
  1603.             v225 = v365 + 48;
  1604.             *((double *)v365 + 6) = v228;
  1605.             *((_DWORD *)v225 + 2) = 3;
  1606.           }
  1607.         }
  1608.         continue;
  1609.       case 40u:
  1610.         v224 = v365;
  1611.         v223 = v365 + 16;
  1612.         v222 = v365 + 32;
  1613.         if ( *((_DWORD *)v365 + 2) == 19
  1614.           && *((_DWORD *)v222 + 2) == 19
  1615.           && sub_74D79D8(v223, &v176, *(_DWORD *)v222, *((_DWORD *)v222 + 1), &v175) )
  1616.         {
  1617.           if ( v175 )
  1618.             v142 = 0.0;
  1619.           else
  1620.             v142 = *(double *)v224;
  1621.           v221 = v142;
  1622.           v220 = v223;
  1623.           *(_QWORD *)v223 = v176;
  1624.           *((_DWORD *)v220 + 2) = 19;
  1625.           v219 = v224;
  1626.           *(_QWORD *)v224 = *(_QWORD *)&v221 - *(_QWORD *)v222;
  1627.           *((_DWORD *)v219 + 2) = 19;
  1628.         }
  1629.         else
  1630.         {
  1631.           if ( *((_DWORD *)v223 + 2) == 3 )
  1632.           {
  1633.             v173 = *(_QWORD *)v223;
  1634.             v143 = 0;
  1635.           }
  1636.           else
  1637.           {
  1638.             v143 = sub_74D7704(v223, (double *)&v173) == 0;
  1639.           }
  1640.           if ( v143 )
  1641.             sub_74BF574((int)a1, "'for' limit must be a number");
  1642.           v218 = v223;
  1643.           *(_QWORD *)v223 = v173;
  1644.           *((_DWORD *)v218 + 2) = 3;
  1645.           if ( *((_DWORD *)v222 + 2) == 3 )
  1646.           {
  1647.             v172 = *(double *)v222;
  1648.             v144 = 0;
  1649.           }
  1650.           else
  1651.           {
  1652.             v144 = sub_74D7704(v222, &v172) == 0;
  1653.           }
  1654.           if ( v144 )
  1655.             sub_74BF574((int)a1, "'for' step must be a number");
  1656.           v217 = v222;
  1657.           *(double *)v222 = v172;
  1658.           *((_DWORD *)v217 + 2) = 3;
  1659.           if ( *((_DWORD *)v224 + 2) == 3 )
  1660.           {
  1661.             v174 = *(double *)v224;
  1662.             v145 = 0;
  1663.           }
  1664.           else
  1665.           {
  1666.             v145 = sub_74D7704(v224, &v174) == 0;
  1667.           }
  1668.           if ( v145 )
  1669.             sub_74BF574((int)a1, "'for' initial value must be a number");
  1670.           v216 = v224;
  1671.           *(double *)v224 = v174 - v172;
  1672.           *((_DWORD *)v216 + 2) = 3;
  1673.         }
  1674.         *(_DWORD *)(v368 + 20) += 4 * ((v366 >> 14) + 1073610753);
  1675.         continue;
  1676.       case 41u:
  1677.         v215 = v365 + 48;
  1678.         v214 = v365 + 80;
  1679.         v146 = v365 + 80;
  1680.         v147 = *((_DWORD *)v365 + 9);
  1681.         v148 = *((_DWORD *)v365 + 10);
  1682.         v149 = *((_DWORD *)v365 + 11);
  1683.         *((_DWORD *)v365 + 20) = *((_DWORD *)v365 + 8);
  1684.         *((_DWORD *)v146 + 1) = v147;
  1685.         *((_DWORD *)v146 + 2) = v148;
  1686.         *((_DWORD *)v146 + 3) = v149;
  1687.         v213 = v215 + 16;
  1688.         v150 = v215 + 16;
  1689.         v151 = *((_DWORD *)v365 + 5);
  1690.         v152 = *((_DWORD *)v365 + 6);
  1691.         v153 = *((_DWORD *)v365 + 7);
  1692.         *((_DWORD *)v215 + 4) = *((_DWORD *)v365 + 4);
  1693.         *((_DWORD *)v150 + 1) = v151;
  1694.         *((_DWORD *)v150 + 2) = v152;
  1695.         *((_DWORD *)v150 + 3) = v153;
  1696.         v212 = v215;
  1697.         v154 = v215;
  1698.         v155 = *((_DWORD *)v365 + 1);
  1699.         v156 = *((_DWORD *)v365 + 2);
  1700.         v157 = *((_DWORD *)v365 + 3);
  1701.         *(_DWORD *)v215 = *(_DWORD *)v365;
  1702.         *((_DWORD *)v154 + 1) = v155;
  1703.         *((_DWORD *)v154 + 2) = v156;
  1704.         *((_DWORD *)v154 + 3) = v157;
  1705.         a1[3] = (int)(v215 + 48);
  1706.         luaD_call((int)a1, v215, (v366 >> 14) & 0x1FF);
  1707.         v367 = *(_DWORD *)(v368 + 16);
  1708.         a1[3] = *(_DWORD *)(v368 + 4);
  1709.         v158 = *(int **)(v368 + 20);
  1710.         *(_DWORD *)(v368 + 20) = v158 + 1;
  1711.         v366 = *v158;
  1712.         v365 = (char *)(v367 + 16 * (unsigned __int8)(v366 >> 6));
  1713.         goto LABEL_475;
  1714.       case 42u:
  1715. LABEL_475:
  1716.         if ( *((_DWORD *)v365 + 6) )
  1717.         {
  1718.           v211 = v365;
  1719.           v159 = v365;
  1720.           v160 = *((_DWORD *)v365 + 5);
  1721.           v161 = *((_DWORD *)v365 + 6);
  1722.           v162 = *((_DWORD *)v365 + 7);
  1723.           *(_DWORD *)v365 = *((_DWORD *)v365 + 4);
  1724.           *((_DWORD *)v159 + 1) = v160;
  1725.           *((_DWORD *)v159 + 2) = v161;
  1726.           *((_DWORD *)v159 + 3) = v162;
  1727.           *(_DWORD *)(v368 + 20) += 4 * ((v366 >> 14) + 1073610753);
  1728.         }
  1729.         continue;
  1730.       case 43u:
  1731.         v356 = v366 >> 23;
  1732.         v355 = (v366 >> 14) & 0x1FF;
  1733.         if ( !(v366 >> 23) )
  1734.           v356 = ((a1[3] - (int)v365) >> 4) - 1;
  1735.         if ( !v355 )
  1736.         {
  1737.           v163 = *(_DWORD **)(v368 + 20);
  1738.           *(_DWORD *)(v368 + 20) = v163 + 1;
  1739.           v355 = *v163 >> 6;
  1740.         }
  1741.         v210 = *(_DWORD *)v365;
  1742.         v354 = 50 * (v355 - 1) + v356;
  1743.         if ( *(_DWORD *)(v210 + 8) < v354 )
  1744.           sub_74D5094(a1, v210, v354);
  1745.         while ( v356 > 0 )
  1746.         {
  1747.           v209 = &v365[16 * v356];
  1748.           v164 = v354--;
  1749.           ((void (__fastcall *)(int *, int, int, _DWORD, char *))luaH_setint)(a1, v210, v164, 0, v209);
  1750.           if ( (*((_DWORD *)v209 + 2) & 0x40) != 0
  1751.             && (*(_BYTE *)(v210 + 5) & 4) != 0
  1752.             && (*(_BYTE *)(*(_DWORD *)v209 + 5) & 3) != 0 )
  1753.           {
  1754.             sub_74C31BC(a1, v210);
  1755.           }
  1756.           --v356;
  1757.         }
  1758.         a1[3] = *(_DWORD *)(v368 + 4);
  1759.         continue;
  1760.       case 44u:
  1761.         v208 = *(_DWORD *)(*(_DWORD *)(*(_DWORD *)(v350 + 12) + 56) + 4 * (v366 >> 14));
  1762.         v207 = sub_74D9754(v208, v350 + 16, v367);
  1763.         if ( v207 )
  1764.         {
  1765.           v206 = v365;
  1766.           v205 = v207;
  1767.           *(_DWORD *)v365 = v207;
  1768.           *((_DWORD *)v206 + 2) = 70;
  1769.         }
  1770.         else
  1771.         {
  1772.           sub_74D986C((int)a1, v208, v350 + 16, v367, (int *)v365);
  1773.         }
  1774.         if ( *(int *)(a1[4] + 12) > 0 )
  1775.         {
  1776.           a1[3] = (int)(v365 + 16);
  1777.           sub_74C61D0(a1);
  1778.           a1[3] = *(_DWORD *)(v368 + 4);
  1779.           v367 = *(_DWORD *)(v368 + 16);
  1780.         }
  1781.         continue;
  1782.       case 45u:
  1783.         v353 = (v366 >> 23) - 1;
  1784.         v351 = ((v367 - *(_DWORD *)v368) >> 4) - *(unsigned __int8 *)(*(_DWORD *)(v350 + 12) + 6) - 1;
  1785.         if ( v351 < 0 )
  1786.           v351 = 0;
  1787.         if ( v353 < 0 )
  1788.         {
  1789.           v353 = v351;
  1790.           if ( (a1[7] - a1[3]) >> 4 <= v351 )
  1791.             sub_74C0078(a1, v351);
  1792.           v367 = *(_DWORD *)(v368 + 16);
  1793.           v365 = (char *)(v367 + 16 * (unsigned __int8)(v366 >> 6));
  1794.           a1[3] = (int)&v365[16 * v351];
  1795.         }
  1796.         for ( j = 0; j < v353 && j < v351; ++j )
  1797.         {
  1798.           v204 = &v365[16 * j];
  1799.           v165 = (int *)(v367 + 16 * (j - v351));
  1800.           v166 = v204;
  1801.           v167 = *v165;
  1802.           v168 = v165[1];
  1803.           v169 = v165[2];
  1804.           v170 = v165[3];
  1805.           *(_DWORD *)v204 = v167;
  1806.           *((_DWORD *)v166 + 1) = v168;
  1807.           *((_DWORD *)v166 + 2) = v169;
  1808.           *((_DWORD *)v166 + 3) = v170;
  1809.         }
  1810.         while ( j < v353 )
  1811.           *(_DWORD *)&v365[16 * j++ + 8] = 0;
  1812.         continue;
  1813.       default:
  1814.         continue;
  1815.     }
  1816.   }
  1817. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement