Advertisement
Guest User

Untitled

a guest
Jul 24th, 2017
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 15.90 KB | None | 0 0
  1. void __usercall sub_410C54(int a1@<eax>, int a2@<edx>)
  2. {
  3.   int v2; // ebp@0
  4.   int v3; // eax@1
  5.   int v4; // edx@3
  6.   int v5; // eax@3
  7.   int v6; // eax@9
  8.   int v7; // ecx@15
  9.   int v8; // eax@18
  10.   int v9; // edi@18
  11.   int v10; // eax@25
  12.   int v11; // eax@25
  13.   int v12; // eax@25
  14.   int v13; // eax@29
  15.   int v14; // edx@29
  16.   int v15; // eax@29
  17.   int v16; // eax@29
  18.   int v17; // ecx@29
  19.   int v18; // eax@29
  20.   int v19; // eax@32
  21.   char v20; // bl@34
  22.   int v21; // eax@37
  23.   int v22; // edx@37
  24.   int v23; // eax@37
  25.   int v24; // ecx@37
  26.   int v25; // eax@37
  27.   int v26; // eax@39
  28.   int v27; // eax@39
  29.   int v28; // eax@37
  30.   int v29; // edx@37
  31.   int v30; // eax@37
  32.   int v31; // ecx@37
  33.   int v32; // eax@37
  34.   int v33; // eax@37
  35.   int v34; // eax@37
  36.   int v35; // ebx@40
  37.   int v36; // eax@45
  38.   int v37; // ecx@45
  39.   int v38; // edx@45
  40.   int v39; // eax@45
  41.   int v40; // eax@45
  42.   int v41; // ecx@45
  43.   int v42; // eax@45
  44.   __int64 v43; // rax@48
  45.   __int64 v44; // ST08_8@48
  46.   __int64 v45; // rax@48
  47.   int v46; // ebx@49
  48.   int v47; // eax@49
  49.   int v48; // ecx@49
  50.   int v49; // eax@49
  51.   int v50; // edx@49
  52.   int v51; // eax@49
  53.   int v52; // ecx@49
  54.   int v53; // eax@49
  55.   int v54; // eax@49
  56.   int v55; // ecx@49
  57.   int v56; // eax@49
  58.   int v57; // eax@49
  59.   int v58; // eax@49
  60.   int v59; // edx@49
  61.   int v60; // eax@49
  62.   char v61; // bl@52
  63.   __int64 v62; // rax@52
  64.   __int64 v63; // ST08_8@52
  65.   __int64 v64; // rax@52
  66.   int v65; // eax@55
  67.   int v66; // edx@55
  68.   int v67; // eax@55
  69.   int v68; // eax@55
  70.   int v69; // eax@61
  71.   int v70; // edx@61
  72.   int v71; // eax@61
  73.   int v72; // ecx@61
  74.   int v73; // eax@61
  75.   int v74; // eax@65
  76.   __int64 v75; // rax@65
  77.   __int64 v76; // ST08_8@65
  78.   __int64 v77; // rax@65
  79.   char v78; // al@70
  80.   int v79; // eax@70
  81.   int v80; // ecx@70
  82.   int v81; // eax@70
  83.   int v82; // ST08_4@71
  84.   int v83; // eax@71
  85.   int v84; // eax@71
  86.   int v85; // eax@71
  87.   int v86; // eax@71
  88.   int v87; // ST08_4@72
  89.   int v88; // eax@72
  90.   int v89; // eax@72
  91.   int v90; // eax@72
  92.   int v91; // eax@72
  93.   int v92; // eax@73
  94.   char v93; // [sp+8h] [bp-E8h]@0
  95.   char v94; // [sp+1Ah] [bp-D6h]@15
  96.   char v95; // [sp+1Bh] [bp-D5h]@15
  97.   int v96; // [sp+1Ch] [bp-D4h]@15
  98.   int v97; // [sp+20h] [bp-D0h]@15
  99.   char v98; // [sp+24h] [bp-CCh]@15
  100.   int v99; // [sp+28h] [bp-C8h]@1
  101.   int v100; // [sp+2Ch] [bp-C4h]@1
  102.   __int16 v101; // [sp+40h] [bp-B0h]@1
  103.   int v102; // [sp+4Ch] [bp-A4h]@1
  104.   char v103; // [sp+6Ch] [bp-84h]@72
  105.   char v104; // [sp+70h] [bp-80h]@72
  106.   char v105; // [sp+74h] [bp-7Ch]@72
  107.   char v106; // [sp+78h] [bp-78h]@72
  108.   char v107; // [sp+7Ch] [bp-74h]@72
  109.   char v108; // [sp+80h] [bp-70h]@71
  110.   char v109; // [sp+84h] [bp-6Ch]@71
  111.   char v110; // [sp+88h] [bp-68h]@71
  112.   char v111; // [sp+8Ch] [bp-64h]@71
  113.   char v112; // [sp+90h] [bp-60h]@71
  114.   int *v113; // [sp+94h] [bp-5Ch]@62
  115.   int v114; // [sp+98h] [bp-58h]@63
  116.   char v115; // [sp+9Ch] [bp-54h]@61
  117.   int *v116; // [sp+A0h] [bp-50h]@56
  118.   int v117; // [sp+A4h] [bp-4Ch]@57
  119.   char v118; // [sp+A8h] [bp-48h]@55
  120.   char v119; // [sp+ACh] [bp-44h]@49
  121.   int *v120; // [sp+B0h] [bp-40h]@42
  122.   int v121; // [sp+B4h] [bp-3Ch]@43
  123.   char v122; // [sp+B8h] [bp-38h]@37
  124.   char v123; // [sp+BCh] [bp-34h]@37
  125.   char v124; // [sp+C0h] [bp-30h]@37
  126.   int *v125; // [sp+C4h] [bp-2Ch]@26
  127.   int v126; // [sp+C8h] [bp-28h]@27
  128.   char v127; // [sp+CCh] [bp-24h]@25
  129.   int *v128; // [sp+D0h] [bp-20h]@20
  130.   int v129; // [sp+D4h] [bp-1Ch]@21
  131.   char v130; // [sp+D8h] [bp-18h]@18
  132.   char v131; // [sp+DCh] [bp-14h]@3
  133.   int *v132; // [sp+E8h] [bp-8h]@1
  134.  
  135.   v99 = a2;
  136.   v100 = a1;
  137.   sub_745E98((int)&unk_753A18, v2, v93);
  138.   v132 = 0;
  139.   ++v102;
  140.   v101 = 48;
  141.   sub_745E48(&dword_76ADB8);
  142.   v3 = *(_DWORD *)(v100 + 988);
  143.   sub_63A1C8(v100, 0);
  144.   (*(void (__fastcall **)(_DWORD, _DWORD))(**(_DWORD **)(v100 + 968) + 144))(**(_DWORD **)(v100 + 968), 0);
  145.   v101 = 60;
  146.   if ( byte_7524F6 || result != 2 )
  147.     goto LABEL_74;
  148.   Sleep(0x1F4u);
  149.   v101 = 72;
  150.   ++v102;
  151.   v4 = *(_DWORD *)sub_749B28((int)&v131, (int)aDownloadLoader);// "Download Loader"
  152.   v5 = *(_DWORD *)(v100 + 980);
  153.   sub_5A45D8(v100, v4);
  154.   --v102;
  155.   sub_749CC4((int)&v131, 2);
  156.   sub_41230C(v100, 8, 1, 1500);
  157.   while ( 1 )
  158.   {
  159.     sub_4122C8(v100, 1, 1500);
  160.     if ( weird_MAP[8] == 64 )
  161.       break;
  162.     Sleep(0xAu);
  163.   }
  164.   sub_41230C(v100, 4, 1, 1500);
  165.   while ( 1 )
  166.   {
  167.     sub_4122C8(v100, 1, 1500);
  168.     if ( (unsigned __int8)weird_MAP[8] == 192 )
  169.       break;
  170.     Sleep(0xAu);
  171.   }
  172.   sub_4122C8(v100, 2, 1500);
  173.   sub_4122C8(v100, 3, 1500);
  174.   sub_4122C8(v100, 0, 1500);
  175.   sub_4122C8(v100, 0, 1500);
  176.   v6 = *off_76A5E4[0];
  177.   sub_6A8BAC();
  178.   sub_41230C(v100, 0, 1, 1500);
  179.   sub_41230C(v100, 2, 1, 1500);
  180.   while ( 1 )
  181.   {
  182.     sub_4122C8(v100, 1, 1500);
  183.     if ( weird_MAP[8] == 64 )
  184.       break;
  185.     Sleep(0xAu);
  186.   }
  187.   sub_41230C(v100, 3, 1, 1500);
  188.   while ( 1 )
  189.   {
  190.     sub_4122C8(v100, 1, 1500);
  191.     if ( weird_MAP[8] == 64 )
  192.       break;
  193.     Sleep(0xAu);
  194.   }
  195.   sub_41230C(v100, 2, 2, 1500);
  196.   sub_41230C(v100, 0, 3, 1500);
  197.   sub_41230C(v100, 0, 0, 1500);
  198.   sub_41230C(v100, -128, 0, 1500);
  199.   sub_41230C(v100, 0, 1, 1500);
  200.   v96 = dword_75250E;
  201.   v97 = dword_752512;
  202.   v98 = byte_752516;
  203.   v101 = 60;
  204.   v95 = 0;
  205.   v94 = 0;
  206.   while ( 1 )
  207.   {
  208.     if ( !v95 )
  209.     {
  210.       if ( v94 )
  211.       {
  212.         if ( v94 == 1 )
  213.         {
  214.           v10 = *(_DWORD *)(v100 + 976);
  215.           sub_607D88(v7, 0);
  216.           v101 = 132;
  217.           v11 = sub_749B28((int)&v127, (int)aProgramFailed);// Program Failed
  218.           ++v102;
  219.           v12 = *(_DWORD *)v11;
  220.           sub_632564();
  221.           --v102;
  222.           sub_749CC4((int)&v127, 2);
  223.           --v102;
  224.           if ( v132 )
  225.           {
  226.             v125 = v132;
  227.             if ( v132 )
  228.             {
  229.               v126 = *v125;
  230.               v101 = 168;
  231.               (*(void (__fastcall **)(int, signed int))(*v125 - 4))(*v125, 3);
  232.               v101 = 144;
  233.             }
  234.           }
  235.           JUMPOUT(&loc_411E76);
  236.         }
  237.       }
  238.       else
  239.       {
  240.         v101 = 96;
  241.         v8 = sub_749B28((int)&v130, (int)aUnoff_loader_0);// UNOFF_LOADER_001_R2_2
  242.         ++v102;
  243.         v9 = resLoader2((int)off_4F5A84, 1, (HMODULE)*off_76A548, (const WCHAR *)0xA, *(_DWORD *)v8);
  244.         if ( (int *)v9 != v132 )
  245.         {
  246.           if ( v132 )
  247.           {
  248.             v128 = v132;
  249.             if ( v132 )
  250.             {
  251.               v129 = *v128;
  252.               v101 = 120;
  253.               (*(void (__fastcall **)(int, signed int))(*v128 - 4))(*v128, 3);
  254.               v101 = 96;
  255.             }
  256.           }
  257.           v132 = (int *)v9;
  258.         }
  259.         --v102;
  260.         sub_749CC4((int)&v130, 2);
  261.       }
  262.       v13 = *(_DWORD *)(v100 + 976);
  263.       sub_607CFC(v7, 0);
  264.       v14 = (*(int (**)(void))*v132)();
  265.       v15 = *(_DWORD *)(v100 + 976);
  266.       sub_607D08(v100, v14);
  267.       v16 = *(_DWORD *)(v100 + 976);
  268.       sub_607DD4(v17, 64);
  269.       v18 = *(_DWORD *)(v100 + 976);
  270.       sub_607D88(v100, 0);
  271.     }
  272.     sub_41230C(v100, 1, 1, 1500);
  273.     do
  274.       sub_4122C8(v100, 1, 1500);
  275.     while ( weird_MAP[8] != 64 );
  276.     sub_41230C(v100, 73, 2, 1500);
  277.     sub_41230C(v100, 0, 3, 1500);
  278.     sub_739A50(&weird_MAP[8], &v96, 9);
  279.     weird_MAP[16] = v95++;
  280.     (*(void (__fastcall **)(signed int, char *))(*v132 + 12))(64, &weird_MAP[17]);
  281.     sub_4123A0(v100, 0, 73, 1500);
  282.     sub_41230C(v100, 0, 1, 1500);
  283.     v19 = *off_76A5E4[0];
  284.     sub_6A8BAC();
  285.     do
  286.       sub_4122C8(v100, 1, 1500);
  287.     while ( (unsigned __int8)weird_MAP[8] != 192 );
  288.     sub_4122C8(v100, 3, 1500);
  289.     sub_4122C8(v100, 2, 1500);
  290.     v20 = weird_MAP[8];
  291.     v101 = 60;
  292.     sub_412358(v100, 0, (unsigned __int8)v20, 1500);
  293.     if ( (unsigned __int8)weird_MAP[v20 + 5] != 144 || weird_MAP[v20 + 6] )
  294.     {
  295.       if ( !sub_7399E4(&weird_MAP[11], aReady, 5) )// Ready
  296.       {
  297.         v101 = 180;
  298.         v21 = sub_749B28((int)&v124, (int)aLoaderOk);// Loader Ok
  299.         ++v102;
  300.         v22 = *(_DWORD *)v21;
  301.         v23 = *(_DWORD *)(v100 + 980);
  302.         sub_5A45D8(v24, v22);
  303.         --v102;
  304.         sub_749CC4((int)&v124, 2);
  305.         v25 = *off_76A5E4[0];
  306.         sub_6A8BAC();
  307.         Sleep(0x1F4u);
  308.         v101 = 192;
  309.         v28 = sub_749B28((int)&v123, (int)aDownloadApp);// Download App
  310.         ++v102;
  311.         v29 = *(_DWORD *)v28;
  312.         v30 = *(_DWORD *)(v100 + 980);
  313.         sub_5A45D8(v31, v29);
  314.         --v102;
  315.         sub_749CC4((int)&v123, 2);
  316.         v32 = *off_76A5E4[0];
  317.         sub_6A8BAC();
  318.         Sleep(0x1F4u);
  319.         v101 = 204;
  320.         v33 = sub_749B28((int)&v122, (int)aUnoff_applicat);// UNOFF_APPLICATION_R2_2
  321.         ++v102;
  322.         v34 = resLoader2((int)off_4F5A84, 1, (HMODULE)*off_76A548, (const WCHAR *)0xA, *(_DWORD *)v33);
  323.         v35 = v34;
  324.         if ( (int *)v34 != v132 )
  325.         {
  326.           if ( v132 )
  327.           {
  328.             v120 = v132;
  329.             if ( v132 )
  330.             {
  331.               v121 = *v120;
  332.               v101 = 228;
  333.               (*(void (__fastcall **)(int, signed int))(*v120 - 4))(*v120, 3);
  334.               v101 = 204;
  335.             }
  336.           }
  337.           v132 = (int *)v35;
  338.         }
  339.         --v102;
  340.         sub_749CC4((int)&v122, 2);
  341.         v36 = *(_DWORD *)(v100 + 976);
  342.         sub_607CFC(v37, 0);
  343.         v38 = (*(int (**)(void))*v132)();
  344.         v39 = *(_DWORD *)(v100 + 976);
  345.         sub_607D08(v100, v38);
  346.         v40 = *(_DWORD *)(v100 + 976);
  347.         sub_607DD4(v41, 128);
  348.         v42 = *(_DWORD *)(v100 + 976);
  349.         sub_607D88(v100, 0);
  350.         while ( 1 )
  351.         {
  352.           sub_41230C(v100, 1, 1, 1500);
  353.           do
  354.             sub_4122C8(v100, 1, 1500);
  355.           while ( weird_MAP[8] != 64 );
  356.           sub_41230C(v100, -128, 2, 1500);
  357.           sub_41230C(v100, 0, 3, 1500);
  358.           (*(void (__fastcall **)(signed int, char *))(*v132 + 12))(128, &weird_MAP[8]);
  359.           LODWORD(v43) = (*(int (**)(void))*v132)();
  360.           v44 = v43;
  361.           LODWORD(v45) = sub_516310();
  362.           if ( v45 == v44 )
  363.           {
  364.             v46 = *(_DWORD *)(v100 + 976);
  365.             v47 = sub_607B3C();
  366.             sub_607D88(v48, v47);
  367.             v101 = 240;
  368.             v49 = sub_749B28((int)&v119, (int)aValidatingApp);// Validating App
  369.             ++v102;
  370.             v50 = *(_DWORD *)v49;
  371.             v51 = *(_DWORD *)(v100 + 980);
  372.             sub_5A45D8(v52, v50);
  373.             --v102;
  374.             sub_749CC4((int)&v119, 2);
  375.             v53 = *off_76A5E4[0];
  376.             sub_6A8BAC();
  377.             v54 = *(_DWORD *)(v100 + 976);
  378.             sub_607CFC(v55, 0);
  379.             v56 = *(_DWORD *)(v100 + 976);
  380.             sub_607D08(v100, 70000);
  381.             v57 = *(_DWORD *)(v100 + 976);
  382.             sub_607DD4(v100, 100);
  383.             v58 = *(_DWORD *)(v100 + 976);
  384.             sub_607D88(v100, 0);
  385.             LOBYTE(v59) = 1;
  386.             v60 = *(_DWORD *)(v100 + 992);
  387.             sub_63A1C8(v100, v59);
  388.           }
  389.           sub_4123A0(v100, 0, 128, 1500);
  390.           sub_41230C(v100, 0, 1, 1500);
  391.           do
  392.             sub_4122C8(v100, 1, 1500);
  393.           while ( (unsigned __int8)weird_MAP[8] != 192 );
  394.           sub_4122C8(v100, 3, 1500);
  395.           sub_4122C8(v100, 2, 1500);
  396.           v61 = weird_MAP[8];
  397.           v101 = 60;
  398.           sub_412358(v100, 0, (unsigned __int8)v61, 15000);
  399.           LODWORD(v62) = (*(int (**)(void))*v132)();
  400.           v63 = v62;
  401.           LODWORD(v64) = sub_516310();
  402.           if ( v64 == v63 )
  403.             break;
  404.           if ( (unsigned __int8)weird_MAP[v61 + 5] != 144 || weird_MAP[v61 + 6] )
  405.           {
  406.             v101 = 300;
  407.             v69 = sub_749B28((int)&v115, (int)aProgramAppFa_0);// Program App Failed
  408.             ++v102;
  409.             v70 = *(_DWORD *)v69;
  410.             v71 = *(_DWORD *)(v100 + 980);
  411.             sub_5A45D8(v72, v70);
  412.             --v102;
  413.             sub_749CC4((int)&v115, 2);
  414.             v73 = *off_76A5E4[0];
  415.             sub_6A8BAC();
  416.             --v102;
  417.             if ( v132 )
  418.             {
  419.               v113 = v132;
  420.               if ( v132 )
  421.               {
  422.                 v114 = *v113;
  423.                 v101 = 336;
  424.                 (*(void (__fastcall **)(int, signed int))(*v113 - 4))(*v113, 3);
  425.                 v101 = 312;
  426.               }
  427.             }
  428.             JUMPOUT(&loc_411E76);
  429.           }
  430.           v74 = *(_DWORD *)(v100 + 976);
  431.           sub_607E10();
  432.           LODWORD(v75) = (*(int (**)(void))*v132)();
  433.           v76 = v75;
  434.           LODWORD(v77) = sub_516310();
  435.           if ( v77 == v76 )
  436.             goto LABEL_66;
  437.         }
  438.         if ( (unsigned __int8)weird_MAP[v61 + 5] != 144 || weird_MAP[v61 + 6] != 1 )
  439.         {
  440.           v101 = 252;
  441.           v65 = sub_749B28((int)&v118, (int)aProgramAppFail);// Program App Failed
  442.           ++v102;
  443.           v66 = *(_DWORD *)v65;
  444.           v67 = *(_DWORD *)(v100 + 980);
  445.           sub_5A45D8(v100, v66);
  446.           --v102;
  447.           sub_749CC4((int)&v118, 2);
  448.           v68 = *off_76A5E4[0];
  449.           sub_6A8BAC();
  450.           --v102;
  451.           if ( v132 )
  452.           {
  453.             v116 = v132;
  454.             if ( v132 )
  455.             {
  456.               v117 = *v116;
  457.               v101 = 288;
  458.               (*(void (__fastcall **)(int, signed int))(*v116 - 4))(*v116, 3);
  459.               v101 = 264;
  460.             }
  461.           }
  462.           JUMPOUT(&loc_411E76);
  463.         }
  464. LABEL_66:
  465.         sub_41230C(v100, 1, 1, 1500);
  466.         do
  467.           sub_4122C8(v100, 1, 1500);
  468.         while ( weird_MAP[8] != 64 );
  469.         sub_41230C(v100, 1, 2, 1500);
  470.         sub_41230C(v100, 0, 3, 1500);
  471.         sub_41230C(v100, 0, 0, 1500);
  472.         sub_41230C(v100, 0, 1, 1500);
  473.         do
  474.           sub_4122C8(v100, 1, 1500);
  475.         while ( (unsigned __int8)weird_MAP[8] != 128 );
  476.         sub_4122C8(v100, 3, 1500);
  477.         sub_4122C8(v100, 2, 1500);
  478.         v78 = weird_MAP[8];
  479.         v101 = 60;
  480.         sub_412358(v100, 0, (unsigned __int8)v78, 15000);
  481.         v79 = *(_DWORD *)(v100 + 976);
  482.         sub_607D88(v80, 0);
  483.         v81 = *(_DWORD *)(v100 + 992);
  484.         sub_63A1C8(v100, 0);
  485.         sub_745E48(&dword_76ADBC);
  486.         if ( sub_7399E4(&weird_MAP[11], aOk, 4) )
  487.         {
  488.           v101 = 360;
  489.           sub_411F04(&v107, aSeconds_0);
  490.           v102 += 2;
  491.           v87 = sub_411F40(&v106, dword_76ADBC - dword_76ADB8);
  492.           v102 += 2;
  493.           v88 = sub_411ED4(&v105);
  494.           v102 += 2;
  495.           sub_41218C(v88, aUnknownAnswerF, v87);// Unknown answer from Cam. Elapsed Time
  496.           v89 = sub_411ED4(&v104);
  497.           v102 += 2;
  498.           sub_411F88(v89, &v105, &v107);
  499.           v90 = sub_412014(&v103, &v104);
  500.           ++v102;
  501.           v91 = *(_DWORD *)v90;
  502.           sub_632564();
  503.           --v102;
  504.           sub_749CC4((int)&v103, 2);
  505.           v102 -= 2;
  506.           sub_411E80(&v104, 2);
  507.           v102 -= 2;
  508.           sub_411E80(&v107, 2);
  509.           v102 -= 2;
  510.           sub_411E80(&v105, 2);
  511.           v102 -= 2;
  512.           sub_411E80(&v106, 2);
  513.         }
  514.         else
  515.         {
  516.           v101 = 348;
  517.           sub_411F04(&v112, aSeconds);          // seconds
  518.           v102 += 2;
  519.           v82 = sub_411F40(&v111, dword_76ADBC - dword_76ADB8);
  520.           v102 += 2;
  521.           v83 = sub_411ED4(&v110);
  522.           v102 += 2;
  523.           sub_41218C(v83, aCamProgrammed_, v82);// Cam Programmed. Elapsed Time
  524.           v84 = sub_411ED4(&v109);
  525.           v102 += 2;
  526.           sub_411F88(v84, &v110, &v112);
  527.           v85 = sub_412014(&v108, &v109);
  528.           ++v102;
  529.           v86 = *(_DWORD *)v85;
  530.           sub_632564();
  531.           --v102;
  532.           sub_749CC4((int)&v108, 2);
  533.           v102 -= 2;
  534.           sub_411E80(&v109, 2);
  535.           v102 -= 2;
  536.           sub_411E80(&v112, 2);
  537.           v102 -= 2;
  538.           sub_411E80(&v110, 2);
  539.           v102 -= 2;
  540.           sub_411E80(&v111, 2);
  541.         }
  542.         v92 = *off_76A5E4[0];
  543.         sub_6A8BAC();
  544. LABEL_74:
  545.         v101 = 48;
  546.         JUMPOUT(&loc_411E08);
  547.       }
  548.       v95 = 0;
  549.       ++v94;
  550.     }
  551.     v26 = *(_DWORD *)(v100 + 976);
  552.     sub_607E10();
  553.     v27 = *off_76A5E4[0];
  554.     sub_6A8BAC();
  555.   }
  556. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement