Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int __stdcall Fog_10253(unsigned __int8 *a1, int a2, int (__fastcall *a3)(_DWORD, int), int a4, int a5, int a6)
- {
- int v6; // ecx
- unsigned __int8 *v8; // edx
- int v9; // esi
- unsigned __int8 *v10; // ebp
- int v11; // eax
- int v12; // eax
- int v13; // eax
- int v14; // eax
- int v15; // edi
- int v16; // eax
- int v17; // esi
- _DWORD *v18; // ecx
- _DWORD *v19; // ecx
- int v20; // eax
- int v21; // eax
- _DWORD *v22; // ecx
- int v23; // eax
- int v24; // eax
- int v25; // ecx
- int v26; // eax
- int v27; // ecx
- int v28; // eax
- int v29; // ecx
- int v30; // eax
- int v31; // ecx
- int v32; // eax
- int v33; // eax
- int v34; // ecx
- int v35; // eax
- int v36; // edx
- int v37; // ecx
- int v38; // eax
- int v39; // edx
- int v40; // ecx
- int v41; // eax
- BOOL v42; // edx
- int v43; // ecx
- int v44; // eax
- int v45; // ecx
- int v46; // eax
- int v47; // ecx
- int v48; // eax
- int v49; // ecx
- int v50; // eax
- int v51; // ecx
- int v52; // eax
- int v53[64]; // [esp+8h] [ebp-104h]
- int v54; // [esp+108h] [ebp-4h]
- v6 = a2;
- if ( a2 <= 0 )
- return 0;
- v8 = a1;
- v9 = 0;
- v10 = a1;
- v54 = 0;
- if ( a2 > 0 )
- {
- while ( 1 )
- {
- v11 = *v10++;
- switch ( v11 )
- {
- case 1:
- v15 = *v10++;
- if ( v15 >= a5 )
- goto LABEL_33;
- v16 = *(_DWORD *)(a4 + 8 * v15 + 4);
- switch ( v16 )
- {
- case 3:
- v17 = sub_6FF69CB0(v53);
- sub_6FF69CB0(v18);
- v20 = sub_6FF69CB0(v19);
- v21 = (*(int (__thiscall **)(int, int, int))(a4 + 8 * v15))(v20, v17, a6);
- LABEL_42:
- v9 = v54;
- if ( v54 >= 64 )
- goto LABEL_160;
- v53[v54] = v21;
- goto LABEL_159;
- case 2:
- sub_6FF69CB0(v53);
- v23 = sub_6FF69CB0(v22);
- LABEL_41:
- v21 = (*(int (__thiscall **)(int, _DWORD, int))(a4 + 8 * v15))(v23, 0, a6);
- goto LABEL_42;
- case 1:
- v23 = sub_6FF69CB0(v53);
- goto LABEL_41;
- }
- if ( v16 )
- goto LABEL_33;
- v24 = (*(int (__fastcall **)(_DWORD, _DWORD, _DWORD, int))(a4 + 8 * v15))(0, 0, 0, a6);
- if ( v9 < 64 )
- {
- v53[v9] = v24;
- goto LABEL_159;
- }
- LABEL_160:
- v8 = a1;
- v6 = a2;
- if ( v10 - a1 >= a2 )
- return 0;
- break;
- case 2:
- case 3:
- if ( !v9 || v9 <= 0 )
- return 0;
- return v53[v9 - 1];
- case 4:
- if ( !a3 || v10 - v8 >= v6 )
- return 0;
- v12 = a3(*v10, a6);
- if ( v9 >= 64 )
- goto LABEL_10;
- v53[v9] = v12;
- goto LABEL_9;
- case 5:
- if ( !a3 || v10 - v8 >= v6 )
- return 0;
- v13 = a3(*(signed __int16 *)v10, a6);
- if ( v9 >= 64 )
- goto LABEL_16;
- v53[v9] = v13;
- goto LABEL_15;
- case 6:
- if ( !a3 || v10 - v8 >= v6 )
- return 0;
- v14 = a3(*(_DWORD *)v10, a6);
- if ( v9 >= 64 )
- goto LABEL_22;
- v53[v9] = v14;
- goto LABEL_21;
- case 7:
- if ( v10 - v8 >= v6 )
- return 0;
- if ( v9 < 64 )
- {
- v53[v9] = (char)*v10;
- LABEL_9:
- v9 = v54++ + 1;
- }
- LABEL_10:
- ++v10;
- goto LABEL_160;
- case 8:
- if ( v10 - v8 >= v6 )
- return 0;
- if ( v9 < 64 )
- {
- v53[v9] = *(signed __int16 *)v10;
- LABEL_15:
- v9 = v54++ + 1;
- }
- LABEL_16:
- v10 += 2;
- goto LABEL_160;
- case 9:
- if ( v10 - v8 >= v6 )
- return 0;
- if ( v9 < 64 )
- {
- v53[v9] = *(_DWORD *)v10;
- LABEL_21:
- v9 = v54++ + 1;
- }
- LABEL_22:
- v10 += 4;
- goto LABEL_160;
- case 10:
- if ( v9 > 0 )
- {
- v54 = --v9;
- v40 = v53[v9];
- }
- else
- {
- v40 = 0;
- }
- if ( v9 > 0 )
- {
- v54 = --v9;
- v41 = v53[v9];
- }
- else
- {
- v41 = 0;
- }
- if ( v9 >= 64 )
- goto LABEL_160;
- v42 = v41 < v40;
- goto LABEL_158;
- case 11:
- if ( v9 > 0 )
- {
- v54 = --v9;
- v45 = v53[v9];
- }
- else
- {
- v45 = 0;
- }
- if ( v9 > 0 )
- {
- v54 = --v9;
- v46 = v53[v9];
- }
- else
- {
- v46 = 0;
- }
- if ( v9 >= 64 )
- goto LABEL_160;
- v42 = v46 < v45;
- LOBYTE(v42) = v46 > v45;
- goto LABEL_158;
- case 12:
- if ( v9 > 0 )
- {
- v54 = --v9;
- v43 = v53[v9];
- }
- else
- {
- v43 = 0;
- }
- if ( v9 > 0 )
- {
- v54 = --v9;
- v44 = v53[v9];
- }
- else
- {
- v44 = 0;
- }
- if ( v9 >= 64 )
- goto LABEL_160;
- v42 = v44 < v43;
- LOBYTE(v42) = v44 <= v43;
- goto LABEL_158;
- case 13:
- if ( v9 > 0 )
- {
- v54 = --v9;
- v47 = v53[v9];
- }
- else
- {
- v47 = 0;
- }
- if ( v9 > 0 )
- {
- v54 = --v9;
- v48 = v53[v9];
- }
- else
- {
- v48 = 0;
- }
- if ( v9 >= 64 )
- goto LABEL_160;
- v42 = v48 < v47;
- LOBYTE(v42) = v48 >= v47;
- goto LABEL_158;
- case 14:
- if ( v9 > 0 )
- {
- v54 = --v9;
- v49 = v53[v9];
- }
- else
- {
- v49 = 0;
- }
- if ( v9 > 0 )
- {
- v54 = --v9;
- v50 = v53[v9];
- }
- else
- {
- v50 = 0;
- }
- if ( v9 >= 64 )
- goto LABEL_160;
- v42 = v50 == v49;
- goto LABEL_158;
- case 15:
- if ( v9 > 0 )
- {
- v54 = --v9;
- v51 = v53[v9];
- }
- else
- {
- v51 = 0;
- }
- if ( v9 > 0 )
- {
- v54 = --v9;
- v52 = v53[v9];
- }
- else
- {
- v52 = 0;
- }
- if ( v9 >= 64 )
- goto LABEL_160;
- v42 = v52 != v51;
- LABEL_158:
- v53[v9] = v42;
- goto LABEL_159;
- case 16:
- if ( v9 > 0 )
- {
- v54 = --v9;
- v25 = v53[v9];
- }
- else
- {
- v25 = 0;
- }
- if ( v9 > 0 )
- {
- v54 = --v9;
- v26 = v53[v9];
- }
- else
- {
- v26 = 0;
- }
- if ( v9 >= 64 )
- goto LABEL_160;
- v53[v9] = v25 + v26;
- goto LABEL_159;
- case 17:
- if ( v9 > 0 )
- {
- v54 = --v9;
- v27 = v53[v9];
- }
- else
- {
- v27 = 0;
- }
- if ( v9 > 0 )
- {
- v54 = --v9;
- v28 = v53[v9];
- }
- else
- {
- v28 = 0;
- }
- if ( v9 >= 64 )
- goto LABEL_160;
- v53[v9] = v28 - v27;
- goto LABEL_159;
- case 18:
- if ( v9 > 0 )
- {
- v54 = --v9;
- v29 = v53[v9];
- }
- else
- {
- v29 = 0;
- }
- if ( v9 > 0 )
- {
- v54 = --v9;
- v30 = v53[v9];
- }
- else
- {
- v30 = 0;
- }
- if ( v9 >= 64 )
- goto LABEL_160;
- v53[v9] = v29 * v30;
- goto LABEL_159;
- case 19:
- if ( v9 > 0 )
- {
- v54 = --v9;
- v31 = v53[v9];
- }
- else
- {
- v31 = 0;
- }
- if ( v9 > 0 )
- {
- v54 = --v9;
- v32 = v53[v9];
- }
- else
- {
- v32 = 0;
- }
- if ( v31 )
- {
- if ( v9 >= 64 )
- goto LABEL_160;
- v53[v9] = v32 / v31;
- }
- else
- {
- LABEL_33:
- if ( v9 >= 64 )
- goto LABEL_160;
- v53[v9] = 0;
- }
- LABEL_159:
- v9 = v54++ + 1;
- goto LABEL_160;
- case 20:
- if ( v9 > 0 )
- {
- v54 = --v9;
- v36 = v53[v9];
- }
- else
- {
- v36 = 0;
- }
- if ( v9 > 0 )
- {
- v54 = --v9;
- v37 = v53[v9];
- }
- else
- {
- v37 = 0;
- }
- v38 = v37;
- if ( v36 <= 0 )
- {
- v38 = 1;
- }
- else if ( v36 > 1 )
- {
- v39 = v36 - 1;
- do
- {
- v38 *= v37;
- --v39;
- }
- while ( v39 );
- }
- if ( v9 >= 64 )
- goto LABEL_160;
- v53[v9] = v38;
- goto LABEL_159;
- case 21:
- if ( v9 > 0 )
- {
- v54 = --v9;
- v33 = v53[v9];
- }
- else
- {
- v33 = 0;
- }
- if ( v9 >= 64 )
- goto LABEL_160;
- v53[v9] = -v33;
- goto LABEL_159;
- case 22:
- if ( v9 > 0 )
- {
- v54 = --v9;
- v34 = v53[v9];
- }
- else
- {
- v34 = 0;
- }
- if ( v9 > 0 )
- {
- v54 = --v9;
- v35 = v53[v9];
- }
- else
- {
- v35 = 0;
- }
- if ( v9 <= 0 || (--v9, v54 = v9, !v53[v9]) )
- v35 = v34;
- if ( v9 >= 64 )
- goto LABEL_160;
- v53[v9] = v35;
- goto LABEL_159;
- }
- }
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement