资讯详情

pokemon shuffle c sorce 2

signed int __fastcall gmThread::Sys_Execute(int a1, int a2) { int v2; // r5@1 int v3; // r3@3 int v4; // r2@3 int v5; // r1@3 int v6; // r7@3 int v7; // r4@3 int v8; // r12@3 int v9; // r3@6 int v10; // r0@6 int v11; // r0@8 int v12; // r3@8 int v13; // r3@10 int v15; // r8@15 int v16; // r2@15 int v17; // r3@15 void (__fastcall *v18)(_DWORD, _DWORD, _DWORD, _DWORD); // r12@15 signed int v19; // r4@17 signed int v20; // r0@17 int v21; // r2@17 int v22; // r3@17 int v23; // r3@19 signed int v24; // r2@23 int v25; // r2@24 void (__fastcall *v26)(_DWORD, _DWORD, _DWORD, _DWORD); // r12@24 signed int v27; // r2@28 int v28; // r2@29 signed int v29; // r2@33 int v30; // r8@33 int v31; // r2@34 signed int v32; // r2@38 int v33; // r2@39 int v34; // r3@43 int v35; // r3@43 int v36; // r1@43 int v37; // r3@44 int v38; // r1@44 signed int v39; // r3@46 int v40; // r0@46 int v41; // r2@53 int v42; // r3@53 int v43; // r1@53 int v44; // r1@53 int v45; // r1@53 int v46; // r3@54 int v47; // r1@54 int v48; // r0@54 int v49; // r1@54 int v50; // r1@55 int v51; // r3@58 unsigned int v52; // r2@58 unsigned int v53; // r10@58 int v54; // r0@59 void (__fastcall *v55)(_DWORD, _DWORD, _DWORD, _DWORD); // r12@59 int v56; // r1@61 int v57; // r10@61 int v58; // r1@61 int v59; // r2@61 int v60; // r10@63 int v61; // r8@63 int v62; // r0@63 void (__fastcall *v63)(_DWORD, _DWORD); // r3@63 int v64; // r1@67 int v65; // r3@68 int v66; // r8@68 int v67; // r2@70 int v68; // r3@70 void (__fastcall *v69)(_DWORD, _DWORD, _DWORD, _DWORD); // r12@70 int v70; // r0@72 int v71; // r2@72 int v72; // r3@72 void (__fastcall *v73)(_DWORD, _DWORD, _DWORD, _DWORD); // r12@72 int v74; // r8@74 int v75; // r9@74 int v76; // r3@74 int v77; // r0@74 int v78; // r1@74 int v79; // r0@74 int v80; // r3@74 void (__fastcall *v81)(_DWORD, _DWORD); // r2@74 int v82; // r1@78 int v83; // r2@80 int v84; // r1@82 int v85; // r8@84 int v86; // lr@85 int v87; // r7@86 int v88; // r2@86 int v89; // r1@86 int v90; // r3@86 int v91; // r1@86 int v92; // r0@86 int v93; // r1@86 signed int v94; // r12@86 int v95; // r12@87 signed int v96; // r0@88 int v97; // r3@88 int v98; // r3@94 int v99; // r8@94 int v100; // r0@94 void (__fastcall *v101)(_DWORD, _DWORD); // r3@94 int v102; // r3@96 int v103; // r2@96 int v104; // r1@96 int v105; // lr@96 int v106; // r12@96 int v107; // r1@96 int v108; // r0@96 int v109; // r0@98 bool v110; // zf@99 int v111; // r3@102 int v112; // r1@102 int v113; // r1@102 int v114; // r3@103 int v115; // r8@103 int v116; // r0@103 int v117; // r8@104 signed int v118; // r3@105 int v119; // r1@106 int v120; // r1@110 int v121; // r0@111 int v122; // r1@111 int v123; // r8@112 int v124; // r3@112 int v125; // r0@112 int v126; // r0@114 int v127; // r1@114 int v128; // r2@114 int v129; // r12@114 int v130; // r2@114 int v131; // lr@114 int v132; // r0@114 int v133; // r1@114 int v134 // r0@118   int v135; // r1@119   int v136; // r10@119   int v137; // r1@119   int v138; // r12@119   int v139; // r7@121   int v140; // lr@122   int v141; // r8@122   int v142; // r1@122   int v143; // r1@122   int v144; // r1@122   int v145; // lr@123   int v146; // r1@124   int v147; // r3@124   int v148; // r3@128   int (*v149)(void); // r3@129   int v150; // lr@132   int v151; // r0@133   int v152; // r1@133   int v153; // r3@134   int v154; // r12@134   int v155; // r3@151   int v156; // r1@151   int v157; // r1@155   int v158; // r6@160   int v159; // r0@160   int v160; // r7@162   int v161; // r6@162   int v162; // r0@162   char *v163; // [sp+0h] [bp-80h]@0   int v164; // [sp+Ch] [bp-74h]@58   signed int v165; // [sp+10h] [bp-70h]@1   int v166; // [sp+1Ch] [bp-64h]@1   char v167; // [sp+20h] [bp-60h]@102   int v168; // [sp+24h] [bp-5Ch]@102   int v169; // [sp+2Ch] [bp-54h]@6   int v170; // [sp+30h] [bp-50h]@5   int v171; // [sp+34h] [bp-4Ch]@60   char v172; // [sp+38h] [bp-48h]@60   int v173; // [sp+3Ch] [bp-44h]@61   int v174; // [sp+40h] [bp-40h]@60   int v175; // [sp+44h] [bp-3Ch]@61   char v176; // [sp+48h] [bp-38h]@67   int v177; // [sp+4Ch] [bp-34h]@67   char v178; // [sp+50h] [bp-30h]@78   int v179; // [sp+54h] [bp-2Ch]@78   v2 = a1;   v166 = a2;   v165 = *(_DWORD *)(a1 + 52);   if ( v165 )     return v165;   if ( *(_DWORD *)(a1 + 16) )   {     v148 = *(_DWORD *)(a1 + 28);     if ( *(_BYTE *)(v148 + 552) )     {       v149 = *(int (**)(void))(v148 + 20);       if ( v149 )       {         if ( v149() )           return v165;       }     }   }   v3 = *(_DWORD *)(v2 + 32);   v4 = 8 * (*(_DWORD *)(v2 + 44) + 536870911);   v5 = v3 + v4;   v6 = v3 + v4 + 8;   v7 = v3 + 8 * *(_DWORD *)(v2 + 40);   v8 = *(_DWORD *)(v2 + 68);   if ( !v8 )     v8 = *(_DWORD *)(*(_DWORD *)(v5 + 4) + 28);   v170 = *(_DWORD *)(*(_DWORD *)(v5 + 4) + 28);   while ( 2 )   {     v9 = v8 + 4;     v169 = v8 + 4;     v10 = *(_DWORD *)v8;     switch ( *(_DWORD *)v8 )     {       case 0:         v60 = *(_DWORD *)(v8 + 4);         v169 = v8 + 8;         v61 = *(_DWORD *)(v7 - 8);         *(_DWORD *)(v7 + 4) = v60;         *(_DWORD *)v7 = 3;         v62 = *(_DWORD *)(v2 + 28);         v63 = *(void (__fastcall **)(_DWORD, _DWORD))(*(_DWORD *)(v62 + 512) + 240 * v61 + 4);         if ( !v63 )           goto LABEL_66;         v63(v2, v7 - 8);         if ( *(_DWORD *)(v7 - 8) )           goto LABEL_83;         v62 = *(_DWORD *)(v2 + 28); LABEL_66:         if ( !v61 )         {           gmLog::LogEntry(v62 + 568, "getdot failed.");           goto LABEL_98;         }         v174 = 3;         v175 = v60;         gmTableObject::Get(&v176, *(_DWORD *)(*(_DWORD *)(v62 + 512) + 240 * v61 + 220), &v174);         v64 = v177;         *(_DWORD *)(v7 - 8) = *(_DWORD *)&v176;         *(_DWORD *)(v7 - 4) = v64;         v8 = v169;         continue;       case 1:         v98 = *(_DWORD *)(v8 + 4);         v169 = v8 + 8;         v99 = v7 - 16;         *(_DWORD *)v7 = 3;         *(_DWORD *)(v7 + 4) = v98;         v100 = *(_DWORD *)(v2 + 28);         v101 = *(void (__fastcall **)(_DWORD, _DWORD))(*(_DWORD *)(v100 + 512) + 240 * *(_DWORD *)(v7 - 16) + 8);         if ( v101 )           goto LABEL_95;         gmLog::LogEntry(v100 + 568, "setdot failed.");         goto LABEL_98;       case 2:         v85 = *(_DWORD *)(v2 + 28);         v67 = *(_DWORD *)(v85 + 512);         v68 = v67 + 240 * *(_DWORD *)(v7 - 16);         v69 = *(void (__fastcall **)(_DWORD, _DWORD, _DWORD, _DWORD))(v68 + 12);         if ( v69 )           goto LABEL_71;         v86 = *(_DWORD *)(v68 + 120);         if ( v86 )           goto LABEL_86;         v160 = gmGetOperatorName(2);         v161 = gmMachine::GetTypeName(*(_DWORD *)(v2 + 28), *(_DWORD *)(v7 - 16));         v162 = gmMachine::GetTypeName(*(_DWORD *)(v2 + 28), *(_DWORD *)(v7 - 8));         gmLog::LogEntry(v85 + 568, "operator %s undefined for type %s and %s", v160, v161, v162);         goto LABEL_98;       case 3:         v70 = *(_DWORD *)(v2 + 28);         v71 = *(_DWORD *)(v70 + 512);         v72 = v71 + 240 * *(_DWORD *)(v7 - 24);         v73 = *(void (__fastcall **)(_DWORD, _DWORD, _DWORD, _DWORD))(v72 + 16);         if ( v73 )         {           v7 -= 24;           v73(v2, v7, v71, v72);           v8 = v169;           continue;         }         v139 = *(_DWORD *)(v72 + 124);         if ( !v139 )         {           gmLog::LogEntry(v70 + 568, "setind failed.");           goto LABEL_98;         }         v140 = v7 - 8;         v141 = v7 + 8;         v142 = *(_DWORD *)(v7 - 4);         *(_DWORD *)v141 = *(_DWORD *)(v7 - 8);         *(_DWORD *)(v141 + 4) = v142;         v143 = *(_DWORD *)(v7 - 12);         v88 = (int)&v169;         *(_DWORD *)v7 = *(_DWORD *)(v7 - 16);         *(_DWORD *)(v7 + 4) = v143;         v144 = *(_DWORD *)(v7 - 20);         v90 = (int)&v170;         *(_DWORD *)v140 = *(_DWORD *)(v7 - 24);         *(_DWORD *)(v140 + 4) = v144;         v93 = 3;         *(_DWORD *)(v7 - 24) = 0;         v92 = v2;         *(_DWORD *)(v7 - 20) = 0;         *(_DWORD *)(v7 - 12) = v139;         *(_DWORD *)(v7 - 16) = 5;         v95 = (v7 + 16 - *(_DWORD *)(v2 + 32)) >> 3;         goto LABEL_88;       case 4:       case 5:       case 6:       case 7:       case 8:       case 0xB:       case 0xC:       case 0xD:       case 0xE:       case 0xF:       case 0x11:       case 0x12:       case 0x13:       case 0x14:       case 0x15:       case 0x16:         v65 = *(_DWORD *)(v7 - 8);         v66 = *(_DWORD *)(v2 + 28);         if ( v65 < *(_DWORD *)(v7 - 16) )           v65 = *(_DWORD *)(v7 - 16);         v67 = *(_DWORD *)(v66 + 512);         v68 = v67 + 240 * v65 + 4 * v10;         v69 = *(void (__fastcall **)(_DWORD, _DWORD, _DWORD, _DWORD))(v68 + 4);         if ( v69 )         { LABEL_71:           v69(v2, v7 - 16, v67, v68);           v7 -= 8;           v8 = v169;           continue;         }         v86 = *(_DWORD *)(v68 + 112);         if ( !v86 )         {           gmGetOperatorName(v10);           gmMachine::GetTypeName(*(_DWORD *)(v2 + 28), *(_DWORD *)(v7 - 16));           gmMachine::GetTypeName(*(_DWORD *)(v2 + 28), *(_DWORD *)(v7 - 8));           gmLog::LogEntry(v66 + 568, "operator %s undefined for type %s and %s");           goto LABEL_98;         } LABEL_86:         v87 = v7 + 8;         v88 = (int)&v169;         v89 = *(_DWORD *)(v7 - 12);         v90 = (int)&v170;         *(_DWORD *)v7 = *(_DWORD *)(v7 - 16);         *(_DWORD *)(v7 + 4) = v89;         v91 = *(_DWORD *)(v7 - 4);         *(_DWORD *)v87 = *(_DWORD *)(v7 - 8);         *(_DWORD *)(v87 + 4) = v91;         v92 = v2;         *(_DWORD *)(v7 - 16) = v69;         v93 = 2;         *(_DWORD *)(v7 - 12) = v69;         *(_DWORD *)(v7 - 8) = 5;         *(_DWORD *)(v7 - 4) = v86;         v94 = v7 + 16 - *(_DWORD *)(v2 + 32);         goto LABEL_87;       case 9:       case 0xA:       case 0x10:       case 0x17:       case 0x18:       case 0x19:         v15 = *(_DWORD *)(v2 + 28);         v16 = *(_DWORD *)(v15 + 512);         v17 = v16 + 240 * *(_DWORD *)(v7 - 8) + 4 * v10;         v18 = *(void (__fastcall **)(_DWORD, _DWORD, _DWORD, _DWORD))(v17 + 4);         if ( v18 )         {           v18(v2, v7 - 8, v16, v17);           v8 = v169;           continue;         }         v145 = *(_DWORD *)(v17 + 112);         if ( !v145 )         {           v158 = gmGetOperatorName(v10);           v159 = gmMachine::GetTypeName(*(_DWORD *)(v2 + 28), *(_DWORD *)(v7 - 8));           gmLog::LogEntry(v15 + 568, "unary operator %s undefined for type %s", v158, v159, v163);           goto LABEL_98;         }         v146 = *(_DWORD *)(v7 - 4);         v147 = v7 + 8;         v88 = (int)&v169;         *(_DWORD *)v147 = *(_DWORD *)(v7 - 8);         *(_DWORD *)(v147 + 4) = v146;         v90 = (int)&v170;         *(_DWORD *)(v7 - 8) = 0;         v92 = v2;         *(_DWORD *)(v7 - 4) = 0;         *(_DWORD *)v7 = 5;         *(_DWORD *)(v7 + 4) = v145;         v93 = 1;         v94 = v7 + 16 - *(_DWORD *)(v2 + 32);         goto LABEL_87;       default:         goto LABEL_14;       case 0x1B:         v83 = *(_DWORD *)(v2 + 28);         if ( !*(_BYTE *)(v83 + 552) || !*(_DWORD *)(v83 + 8) )         { LABEL_14:           v8 += 4;           continue;         }         v84 = *(_DWORD *)(v2 + 32);         *(_DWORD *)(v2 + 68) = v9;         *(_DWORD *)(v2 + 40) = (v7 - v84) >> 3;         if ( (*(int (__fastcall **)(int))(v83 + 8))(v2) )           return v165;         goto LABEL_83;       case 0x1C:         v8 = v170 + *(_DWORD *)(v8 + 4);         continue;       case 0x1D:         v32 = *(_DWORD *)(v7 - 8);         v30 = v7 - 8;         if ( v32 <= 6 )           goto LABEL_41;         v33 = *(_DWORD *)(*(_DWORD *)(v2 + 28) + 512) + 240 * v32;         v26 = *(void (__fastcall **)(_DWORD, _DWORD, _DWORD, _DWORD))(v33 + 108);         if ( v26 )         {           v26(v2, v7 - 8, v33, v9);           v9 = v169;         }         else         {           v150 = *(_DWORD *)(v33 + 216);           if ( v150 )             goto LABEL_138;         } LABEL_41:         if ( !*(_DWORD *)(v7 - 4) )           goto LABEL_37;         goto LABEL_42;       case 0x1E:         v29 = *(_DWORD *)(v7 - 8);         v30 = v7 - 8;         if ( v29 <= 6 )           goto LABEL_36;         v31 = *(_DWORD *)(*(_DWORD *)(v2 + 28) + 512) + 240 * v29;         v26 = *(void (__fastcall **)(_DWORD, _DWORD, _DWORD, _DWORD))(v31 + 108);         if ( v26 )         {           v26(v2, v7 - 8, v31, v9);           v9 = v169;         }         else         {           v150 = *(_DWORD *)(v31 + 216);           if ( v150 )           { LABEL_138:             v151 = *(_DWORD *)v30;             v152 = *(_DWORD *)(v30 + 4);             goto LABEL_134;           }         } LABEL_36:         if ( *(_DWORD *)(v7 - 4) )         { LABEL_37:           v7 = v30;           v8 = v170 + *(_DWORD *)v9;         }         else         { LABEL_42:           v8 = v9 + 4;           v7 = v30;         }         continue;       case 0x1F:         v27 = *(_DWORD *)(v7 - 8);         if ( v27 <= 6 )           goto LABEL_31;         v28 = *(_DWORD *)(*(_DWORD *)(v2 + 28) + 512) + 240 * v27;         v26 = *(void (__fastcall **)(_DWORD, _DWORD, _DWORD, _DWORD))(v28 + 108);         if ( v26 )         {           v26(v2, v7 - 8, v28, v9);           v9 = v169;         }         else         {           v150 = *(_DWORD *)(v28 + 216);           if ( v150 )             goto LABEL_133;         } LABEL_31:         if ( !*(_DWORD *)(v7 - 4) )           goto LABEL_27;         goto LABEL_32;       case 0x20:         v24 = *(_DWORD *)(v7 - 8);         if ( v24 <= 6 )           goto LABEL_26;         v25 = *(_DWORD *)(*(_DWORD *)(v2 + 28) + 512) + 240 * v24;         v26 = *(void (__fastcall **)(_DWORD, _DWORD, _DWORD, _DWORD))(v25 + 108);         if ( v26 )         {           v26(v2, v7 - 8, v25, v9);           v9 = v169;         }         else         {           v150 = *(_DWORD *)(v25 + 216);           if ( v150 )           { LABEL_133:             v151 = *(_DWORD *)(v7 - 8);             v152 = *(_DWORD *)(v7 - 4); LABEL_134:             v153 = v7 + 8;             *(_DWORD *)v153 = v151;             *(_DWORD *)(v153 + 4) = v152;             v90 = (int)&v170;             *(_DWORD *)(v7 - 8) = v26;             v92 = v2;             *(_DWORD *)(v7 - 4) = v26;             *(_DWORD *)v7 = 5;             *(_DWORD *)(v7 + 4) = v150;             v93 = 1;             v154 = *(_DWORD *)(v2 + 32);             v169 -= 4;             v88 = (int)&v169;             v94 = v7 + 16 - v154; LABEL_87:             v95 = v94 >> 3; LABEL_88:             *(_DWORD *)(v2 + 40) = v95;             v96 = gmThread::PushStackFrame(v92, v93, v88, v90);             v97 = *(_DWORD *)(v2 + 32);             v7 = v97 + 8 * *(_DWORD *)(v2 + 40);             v6 = v97 + 8 * *(_DWORD *)(v2 + 44);             if ( v96 )             {               if ( v96 == 6 )                 return v165;               if ( v96 != 7 )               {                 if ( v96 == 3 )                 {                   v165 = 3;                   gmMachine::Sys_SwitchState(*(_DWORD *)(v2 + 28), v2, 3);                 }                 else                 {                   v165 = v96;                 }                 return v165;               } LABEL_98:               *(_DWORD *)(v2 + 68) = v169;               gmThread::LogLineFile(v2);               gmThread::LogCallStack(v2);               v109 = *(_DWORD *)(v2 + 28);               if ( !gmMachine::s_machineCallback )                 goto LABEL_101;               v110 = ((int (__fastcall *)(int, signed int, int))gmMachine::s_machineCallback)(v109, 1, v2) == 0;               v109 = *(_DWORD *)(v2 + 28);               if ( v110 || !*(_BYTE *)(v109 + 552) || !*(_DWORD *)(v109 + 4) )                 goto LABEL_101;               v165 = 4;               gmMachine::Sys_SwitchState(v109, v2, 4);               return v165;             }             goto LABEL_83;           }         } LABEL_26:         if ( *(_DWORD *)(v7 - 4) ) LABEL_27:           v8 = v170 + *(_DWORD *)v9;         else LABEL_32:           v8 = v9 + 4;         continue;       case 0x21:         v19 = v7 - *(_DWORD *)(v2 + 32);         v169 = v8 + 8;         *(_DWORD *)(v2 + 40) = v19 >> 3;         v20 = gmThread::PushStackFrame(v2, *(_DWORD *)(v8 + 4), (int)&v169, (int)&v170);         v21 = *(_DWORD *)(v2 + 40);         v22 = *(_DWORD *)(v2 + 32);         v7 = v22 + 8 * v21;         v6 = v22 + 8 * *(_DWORD *)(v2 + 44);         if ( v20 )         {           if ( v20 != 6 )           {             if ( v20 == 7 )               goto LABEL_98;             if ( v20 == 3 )             {               if ( v166 )               {                 v155 = v22 + 8 * (v21 + 536870911);                 v156 = *(_DWORD *)(v155 + 4);                 *(_DWORD *)v166 = *(_DWORD *)v155;                 *(_DWORD *)(v166 + 4) = v156;               }               goto LABEL_156;             }             v165 = v20;           }           return v165;         }         if ( *(_DWORD *)(v2 + 16) )         {           v23 = *(_DWORD *)(v2 + 28);           if ( *(_BYTE *)(v23 + 552) )           {             if ( *(_DWORD *)(v23 + 12) )             {               *(_DWORD *)(v2 + 68) = v169;               if ( (*(int (__fastcall **)(int))(v23 + 12))(v2) )                 return v165;             }           }         }         goto LABEL_83;       case 0x22:         *(_DWORD *)v7 = 0;         v7 += 8;         *(_DWORD *)(v7 - 4) = 0;         goto LABEL_8;       case 0x23: LABEL_8:         *(_DWORD *)(v2 + 40) = (v7 - *(_DWORD *)(v2 + 32)) >> 3;         v11 = gmThread::Sys_PopStackFrame(v2, &v169, &v170);         v12 = *(_DWORD *)(v2 + 32);         v7 = v12 + 8 * *(_DWORD *)(v2 + 40);         v6 = v12 + 8 * *(_DWORD *)(v2 + 44);         if ( !v11 )         {           if ( *(_DWORD *)(v2 + 16) )           {             v13 = *(_DWORD *)(v2 + 28);             if ( *(_BYTE *)(v13 + 552) )             {               if ( *(_DWORD *)(v13 + 16) )               {                 *(_DWORD *)(v2 + 68) = v169;                 if ( (*(int (__fastcall **)(int))(v13 + 16))(v2) )                   return v165;               }             }           } LABEL_83:           v8 = v169;           continue;         }         if ( v11 != 3 )         {           if ( v11 == 7 )             goto LABEL_98;           goto LABEL_83;         }         if ( v166 )         {           v157 = *(_DWORD *)(v7 - 4);           *(_DWORD *)v166 = *(_DWORD *)(v7 - 8);           *(_DWORD *)(v166 + 4) = v157;         } LABEL_156:         v109 = *(_DWORD *)(v2 + 28); LABEL_101:         gmMachine::Sys_SwitchState(v109, v2, 3);         return 3;       case 0x24:         v169 = v8 + 8;         v51 = *(_DWORD *)(v7 - 16);         v52 = *(_DWORD *)(v8 + 4);         v53 = v52 >> 16;         v164 = (unsigned __int16)v52;         if ( v51 == 4 )         {           v174 = *(_DWORD *)(v7 - 4);           v134 = gmTableObject::GetNext(*(_DWORD *)(v7 - 12), &v174);           *(_DWORD *)(v7 - 4) = v174;           if ( v134 )           {             v135 = *(_DWORD *)(v134 + 8);             v136 = v6 + 8 * v53;             *(_DWORD *)v136 = *(_DWORD *)(v134 + 4);             *(_DWORD *)(v136 + 4) = v135;             v137 = *(_DWORD *)(v134 + 16);             v138 = v6 + 8 * v164;             *(_DWORD *)v138 = *(_DWORD *)(v134 + 12);             *(_DWORD *)(v138 + 4) = v137;             *(_DWORD *)v7 = 1;             *(_DWORD *)(v7 + 4) = 1;           }           else           {             *(_DWORD *)(v7 + 4) = 0;             *(_DWORD *)v7 = 1;           } LABEL_120:           v7 += 8;           v8 = v169;         }         else         {           v54 = *(_DWORD *)(v2 + 28);           v55 = *(void (__fastcall **)(_DWORD, _DWORD, _DWORD, _DWORD))(*(_DWORD *)(v54 + 512) + 240 * v51 + 236);           if ( !v55 )           {             gmLog::LogEntry(v54 + 568, "foreach expression has no iterator function");             goto LABEL_98;           }           v171 = *(_DWORD *)(v7 - 4);           v163 = &v172;           v55(v2, *(_DWORD *)(v7 - 12), &v171, &v174);           if ( v171 == -1 )           {             *(_DWORD *)(v7 + 4) = 0;             *(_DWORD *)v7 = 1;           }           else           {             v56 = v175;             v57 = v6 + 8 * v53;             *(_DWORD *)v57 = v174;             *(_DWORD *)(v57 + 4) = v56;             v58 = v173;             v59 = v6 + 8 * v164;             *(_DWORD *)v59 = *(_DWORD *)&v172;             *(_DWORD *)(v59 + 4) = v58;             *(_DWORD *)v7 = 1;             *(_DWORD *)(v7 + 4) = 1;           }           v7 += 8;           *(_DWORD *)(v7 - 12) = v171;           v8 = v169;         }         continue;       case 0x25:         v7 -= 8;         v8 += 4;         continue;       case 0x26:         v7 -= 16;         v8 += 4;         continue;       case 0x27:         v50 = *(_DWORD *)(v7 - 4);         *(_DWORD *)v7 = *(_DWORD *)(v7 - 8);         *(_DWORD *)(v7 + 4) = v50;         v7 += 8;         v8 = v169;         continue;       case 0x28:         v46 = v7 + 8;         v47 = *(_DWORD *)(v7 - 12);         *(_DWORD *)v7 = *(_DWORD *)(v7 - 16);         *(_DWORD *)(v7 + 4) = v47;         v48 = *(_DWORD *)(v7 - 8);         v49 = *(_DWORD *)(v7 - 4);         v7 += 16;         v8 = v169;         *(_DWORD *)v46 = v48;         *(_DWORD *)(v46 + 4) = v49;         continue;       case 0x29:         v41 = v7 - 8;         v42 = v7 - 16;         v43 = *(_DWORD *)(v7 - 4);         *(_DWORD *)v7 = *(_DWORD *)(v7 - 8);         *(_DWORD *)(v7 + 4) = v43;         v44 = *(_DWORD *)(v7 - 12);         *(_DWORD *)v41 = *(_DWORD *)(v7 - 16);         *(_DWORD *)(v41 + 4) = v44;         v45 = *(_DWORD *)(v7 + 4);         *(_DWORD *)v42 = *(_DWORD *)v7;         *(_DWORD *)(v42 + 4) = v45;         v8 = v169;         continue;       case 0x2A:         *(_DWORD *)v7 = 0;         v7 += 8;         *(_DWORD *)(v7 - 4) = 0;         v8 = v169;         continue;       case 0x2B:         *(_DWORD *)v7 = 1;         v7 += 8;         v8 = v169 + 4;         *(_DWORD *)(v7 - 4) = *(_DWORD *)v169;         continue;       case 0x2C:         *(_DWORD *)v7 = 1;         *(_DWORD *)(v7 + 4) = 0;         v7 += 8;         v8 = v169;         continue;       case 0x2D:         *(_DWORD *)v7 = 1;         *(_DWORD *)(v7 + 4) = 1;         v7 += 8;         v8 = v169;         continue;       case 0x2E:         *(_DWORD *)v7 = 2;         v7 += 8;         v8 = v169 + 4;         *(_DWORD *)(v7 - 4) = *(_DWORD *)v169;         continue;       case 0x2F:         *(_DWORD *)v7 = 3;         v7 += 8;         v8 = v169 + 4;         *(_DWORD *)(v7 - 4) = *(_DWORD *)v169;         continue;       case 0x30:         v39 = v7 - *(_DWORD *)(v2 + 32);         v7 += 8;         *(_DWORD *)(v2 + 40) = v39 >> 3;         *(_DWORD *)(v7 - 8) = 4;         v40 = gmMachine::AllocTableObject(*(_DWORD *)(v2 + 28));         v8 = v169;         *(_DWORD *)(v7 - 4) = v40;         continue;       case 0x31:         *(_DWORD *)v7 = 5;         v7 += 8;         v8 = v169 + 4;         *(_DWORD *)(v7 - 4) = *(_DWORD *)v169;         continue;       case 0x32:         v37 = *(_DWORD *)(v2 + 32) + 8 * (*(_DWORD *)(v2 + 44) + 536870910);         v38 = *(_DWORD *)(v37 + 4);         *(_DWORD *)v7 = *(_DWORD *)v37;         *(_DWORD *)(v7 + 4) = v38;         v7 += 8;         v8 = v169;         continue;       case 0x33:         v34 = *(_DWORD *)(v8 + 4);         v169 = v8 + 8;         v35 = v6 + 8 * v34;         v36 = *(_DWORD *)(v35 + 4);         *(_DWORD *)v7 = *(_DWORD *)v35;         *(_DWORD *)(v7 + 4) = v36;         v7 += 8;         v8 = v169;         continue;       case 0x34:         v114 = *(_DWORD *)(v2 + 28);         v115 = *(_DWORD *)(v8 + 4);         v169 = v8 + 8;         v116 = *(_DWORD *)(v114 + 24);         if ( *(_BYTE *)(v116 + 112) )         {           v117 = v6 + 8 * v115;         }         else         {           v118 = *(_DWORD *)(v6 + 8 * v115);           v117 = v6 + 8 * v115;           if ( v118 > 2 )           {             v119 = *(_DWORD *)(v117 + 4);             if ( v119 )             {               if ( !*(_BYTE *)(v119 + 13) && *(_DWORD *)(v116 + 96) != *(_BYTE *)(v119 + 12) )                 gmGCColorSet::GrayThisObject(v116 + 4);             }           }         }         v7 -= 8;         v120 = *(_DWORD *)(v7 + 4);         *(_DWORD *)v117 = *(_DWORD *)v7;         *(_DWORD *)(v117 + 4) = v120;         v8 = v169;         continue;       case 0x35:         *(_DWORD *)v7 = 3;         v111 = v169 + 4;         *(_DWORD *)(v7 + 4) = *(_DWORD *)v169;         v112 = *(_DWORD *)(v2 + 28);         v169 = v111;         gmTableObject::Get(&v167, *(_DWORD *)(v112 + 116), v7);         v113 = v168;         *(_DWORD *)v7 = *(_DWORD *)&v167;         *(_DWORD *)(v7 + 4) = v113;         v7 += 8;         v8 = v169;         continue;       case 0x36:         *(_DWORD *)v7 = 3;         v121 = v169 + 4;         *(_DWORD *)(v7 + 4) = *(_DWORD *)v169;         v7 -= 8;         v122 = *(_DWORD *)(v2 + 28);         v169 = v121;         v163 = 0;         gmTableObject::Set(*(_DWORD *)(v122 + 116));         v8 = v169;         continue;       case 0x37:         v74 = *(_DWORD *)(v2 + 32);         v75 = *(_DWORD *)(v2 + 44) + 536870910;         v169 = v8 + 8;         v76 = v74 + 8 * v75;         v77 = *(_DWORD *)v76;         v78 = *(_DWORD *)(v76 + 4);         *(_DWORD *)(v7 + 12) = *(_DWORD *)(v8 + 4);         *(_DWORD *)(v7 + 8) = 3;         *(_DWORD *)v7 = v77;         *(_DWORD *)(v7 + 4) = v78;         v79 = *(_DWORD *)(v2 + 28);         v80 = *(_DWORD *)(v74 + 8 * v75);         v81 = *(void (__fastcall **)(_DWORD, _DWORD))(*(_DWORD *)(v79 + 512) + 240 * v80 + 4);         if ( !v81 )           goto LABEL_77;         v81(v2, v7);         if ( *(_DWORD *)v7 )           goto LABEL_120;         v80 = *(_DWORD *)(v74 + 8 * v75);         v79 = *(_DWORD *)(v2 + 28); LABEL_77:         if ( !v80 )         {           gmLog::LogEntry(v79 + 568, "getthis failed. this is null");           goto LABEL_98;         }         gmTableObject::Get(&v178, *(_DWORD *)(*(_DWORD *)(v79 + 512) + 240 * v80 + 220), v7 + 8);         v82 = v179;         *(_DWORD *)v7 = *(_DWORD *)&v178;         *(_DWORD *)(v7 + 4) = v82;         v7 += 8;         v8 = v169;         continue;       case 0x38:         v99 = v7 - 8;         v102 = *(_DWORD *)(v2 + 32);         v103 = *(_DWORD *)(v2 + 44) + 536870910;         v169 = v8 + 8;         v104 = *(_DWORD *)(v7 - 4);         v105 = v102 + 8 * v103;         v106 = *(_DWORD *)(v8 + 4);         *(_DWORD *)v7 = *(_DWORD *)(v7 - 8);         *(_DWORD *)(v7 + 4) = v104;         v107 = *(_DWORD *)(v105 + 4);         *(_DWORD *)v99 = *(_DWORD *)v105;         *(_DWORD *)(v99 + 4) = v107;         *(_DWORD *)(v7 + 12) = v106;         *(_DWORD *)(v7 + 8) = 3;         v108 = *(_DWORD *)(v2 + 28);         v101 = *(void (__fastcall **)(_DWORD, _DWORD))(*(_DWORD *)(v108 + 512) + 240 * *(_DWORD *)(v102 + 8 * v103) + 8);         if ( !v101 )         {           ((void (__fastcall *)(int, _DWORD))gmLog::LogEntry)(v108 + 568, "setthis failed.");           goto LABEL_98;         } LABEL_95:         v101(v2, v99);         v7 = v99;         v8 = v169;         continue;       case 0x39:         v123 = gmMachine::CreateThread(*(_DWORD *)(v2 + 28), &v174);         gmThread::Touch(v123, *(_DWORD *)(v2 + 36) - *(_DWORD *)(v2 + 44) - 4);         memcpy(           *(void **)(v123 + 32),           (const void *)(*(_DWORD *)(v2 + 32) + 8 * (*(_DWORD *)(v2 + 44) + 536870910)),           8 * (*(_DWORD *)(v2 + 40) - *(_DWORD *)(v2 + 44) + 2));         *(_DWORD *)(v123 + 40) = *(_DWORD *)(v2 + 40) - *(_DWORD *)(v2 + 44) + 2;         v124 = *(_DWORD *)(v2 + 28);         v125 = *(_DWORD *)(v124 + 220);         if ( v125 )           *(_DWORD *)(v124 + 220) = *(_DWORD *)v125;         else           v125 = gmMemChain::Alloc(v124 + 224);         *(_DWORD *)(v123 + 48) = v125;         *(_DWORD *)v125 = 0;         v7 += 8;         v126 = v169;         *(_DWORD *)(*(_DWORD *)(v123 + 48) + 4) = 0;         *(_DWORD *)(*(_DWORD *)(v123 + 48) + 8) = 0;         v127 = *(_DWORD *)(v123 + 40);         v128 = *(_DWORD *)(v123 + 32);         *(_DWORD *)(v123 + 68) = v126 + 4;         *(_DWORD *)(v123 + 44) = 2;         v129 = *(_DWORD *)(v2 + 72);         *(_DWORD *)(v128 + 8 * v127) = 1;         v130 = *(_DWORD *)(v123 + 40);         v131 = *(_DWORD *)(v123 + 32);         v132 = v169;         *(_DWORD *)(v123 + 40) = v130 + 1;         v133 = v170;         *(_DWORD *)(v131 + 8 * v130 + 4) = v129;         v169 = v133 + *(_DWORD *)v132;         *(_DWORD *)(v7 - 8) = 1;         v8 = v169;         *(_DWORD *)(v7 - 4) = *(_DWORD *)(v123 + 72);         continue;     }   } }

标签: 250v175j聚丙烯电容

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台