Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* r2dec pseudo code output */
- /* 3de17dfcfe6e2cfaaf2bff3f2eb6d1e31151fd126985f6c5a5a14242396379ce\Memsys32.bin\Memsys32.exe @ 0x429283 */
- #include <stdint.h>
- int32_t Recon (void) {
- int32_t var_204h;
- int32_t var_1ech;
- int32_t var_1d4h;
- int32_t var_1bch;
- int32_t var_1a4h;
- int32_t var_189h;
- int32_t var_188h;
- int32_t var_16eh;
- int32_t var_16dh;
- int32_t var_16ch;
- int32_t var_16bh;
- int32_t var_16ah;
- int32_t var_169h;
- int32_t var_168h;
- int32_t var_150h;
- int32_t var_138h;
- int32_t var_120h;
- int32_t var_108h;
- int32_t var_f0h;
- int32_t var_d8h;
- int32_t var_d4h;
- REFCLSID rclsid;
- DWORD dwCapabilities;
- int32_t var_c8h;
- VARIANTARG ** pvargDest;
- int32_t var_c0h;
- int32_t var_a8h;
- uint32_t var_98h;
- int32_t var_90h;
- int32_t var_78h;
- uint32_t var_68h;
- int32_t var_60h;
- uint32_t var_48h;
- int32_t var_44h;
- int32_t var_40h;
- int32_t var_3ch;
- VARIANTARG * pvargSrc;
- VARIANTARG * pvarg;
- uint32_t var_14h;
- int32_t var_4h;
- eax = 0x4a1a7c;
- fcn_004626ad (0x1f8);
- esi = ecx;
- var_d8h = ecx;
- var_40h = esi;
- edi = 0;
- var_40h = esi;
- ebx = edi;
- ecx = &var_3ch;
- var_d4h = ebx;
- fcn_004035a5 ();
- ecx = &var_3ch;
- fcn_00407016 (edi);
- eax = ole32_dll_CoInitializeEx (edi, edi);
- if (eax >= 0) {
- goto label_4;
- }
- ecx = esi;
- fcn_00403582 (0x4b9c38);
- var_4h = 1;
- do {
- label_0:
- ecx = &var_3ch;
- fcn_004035f9 ();
- eax = esi;
- goto label_5;
- label_4:
- eax = ole32_dll_CoInitializeSecurity (edi, 0xffffffffffffffff, edi, edi, edi, 3, edi, edi, edi);
- edi = *(sym.imp.ole32.dll_CoUninitialize);
- if (eax < 0) {
- void (*edi)() ();
- }
- rclsid = 0;
- eax = ole32_dll_CoCreateInstance (0x4ae850, 0, 1, 0x4ae860, rclsid);
- if (eax >= 0) {
- goto label_6;
- }
- void (*edi)() ();
- ecx = esi;
- fcn_00403582 (0x4b9c38);
- var_4h = 2;
- } while (1);
- label_6:
- eax = rclsid;
- edx = &dwCapabilities;
- dwCapabilities = 0;
- edx = 0;
- ecx = *(eax);
- eax = ecx + 0xc (eax, "ROOT\\CIMV2", edx, edx, edx, edx, edx, edx, edx);
- if (eax < 0) {
- eax = rclsid;
- ecx = *(eax);
- ecx + 8 (eax);
- void (*edi)() ();
- ecx = esi;
- eax = fcn_00403582 (0x4b9c38);
- var_4h = 3;
- goto label_0;
- }
- eax = 0;
- eax = ole32_dll_CoSetProxyBlanket (dwCapabilities, 0xa, eax, eax, 3, 3, eax, eax);
- eax = dwCapabilities;
- if (eax < 0) {
- ecx = *(eax);
- ecx + 8 (eax);
- eax = rclsid;
- ecx = *(eax);
- ecx + 8 (eax);
- void (*edi)() ();
- ecx = esi;
- eax = fcn_00403582 (0x4b9c38);
- var_4h = 4;
- goto label_0;
- }
- var_c8h = 0;
- edx = &var_c8h;
- ecx = *(eax);
- eax = ecx + 0x50 (eax, 0x4bb5cc, "SELECT * FROM Win32_OperatingSystem", 0x30, 0, edx);
- if (eax < 0) {
- eax = dwCapabilities;
- ecx = *(eax);
- ecx + 8 (eax);
- eax = rclsid;
- ecx = *(eax);
- ecx + 8 (eax);
- void (*edi)() ();
- ecx = esi;
- fcn_00403582 (0x4b9c38);
- var_4h = 5;
- goto label_0;
- }
- pvargDest = 0;
- ecx = &var_60h;
- var_14h = 0;
- fcn_004035a5 ();
- var_4h = 6;
- ecx = var_c8h;
- if (ecx == 0) {
- goto label_7;
- }
- esi = 0;
- do {
- eax = *(ecx);
- eax + 0x10 (ecx, 0xffffffffffffffff, 1, pvargDest, var_14h);
- if (var_14h == 0) {
- goto label_8;
- }
- eax = pvargDest;
- edx = &pvargSrc;
- ecx = *(eax);
- ecx + 0x10 (eax, "LastBootUpTime", esi, edx, esi, esi);
- eax = OLEAUT32_dll_VariantInit (pvarg);
- edi = pvarg;
- ecx = &var_1a4h;
- esi = eax;
- fcn_0040fffe ();
- ecx = &var_1a4h;
- var_4h = 7;
- fcn_0040e969 ();
- ecx = &var_1a4h;
- fcn_0040e9a1 (edi, esi);
- edx = &var_1a4h;
- var_4h = 8;
- ecx = &var_c0h;
- eax = fcn_00418a2f ();
- edx = eax;
- var_4h = 9;
- ecx = &var_90h;
- eax = fcn_0041d2ac ();
- ecx = &var_189h;
- var_4h = 0xa;
- esi = 0;
- ecx = &var_78h;
- fcn_00403826 (eax, esi, 0xe);
- ecx = &var_60h;
- fcn_00405f24 (var_78h);
- ecx = &var_78h;
- var_4h = 0xb;
- fcn_004035f9 ();
- ecx = &var_90h;
- var_4h = 0xc;
- fcn_004035f9 ();
- ecx = &var_c0h;
- var_4h = 0xd;
- fcn_0040e93b ();
- ecx = &var_1a4h;
- var_4h = 0xe;
- fcn_0040e93b ();
- eax = &var_169h;
- var_4h = 6;
- edi = 2;
- ecx = &var_90h;
- fcn_00403826 (var_60h, 0xc, edi);
- eax = &var_16eh;
- var_4h = 0xf;
- ecx = &var_c0h;
- fcn_00403826 (var_60h, 0xa, edi);
- eax = &var_16dh;
- var_4h = 0x10;
- ecx = &var_1a4h;
- fcn_00403826 (var_60h, 8, edi);
- eax = &var_16ch;
- var_4h = 0x11;
- ecx = &var_168h;
- fcn_00403826 (var_60h, 6, edi);
- eax = &var_16bh;
- var_4h = 0x12;
- ecx = &var_a8h;
- fcn_00403826 (var_60h, 4, edi);
- eax = &var_16ah;
- var_4h = 0x13;
- ecx = &var_78h;
- fcn_00403826 (var_60h, esi, 4);
- ebx |= 0x3f8000;
- var_d4h = ebx;
- edi = 0x4bc2b4;
- var_4h = 0x14;
- edx = &var_78h;
- ecx = &var_f0h;
- eax = fcn_0040bddd (edi);
- ecx = &var_a8h;
- var_4h = 0x15;
- edx = eax;
- ecx = &var_138h;
- eax = fcn_0040be79 (ecx);
- edx = eax;
- ecx = &var_150h;
- eax = fcn_0040bddd (0x16);
- ecx = &var_168h;
- var_4h = 0x17;
- edx = eax;
- ecx = &var_120h;
- eax = fcn_0040be79 (ecx);
- edx = eax;
- ecx = &var_108h;
- eax = fcn_0040bddd (0x18);
- var_4h = 0x19;
- ecx = &var_1a4h;
- edx = eax;
- ecx = &var_188h;
- eax = fcn_0040be79 (ecx);
- edi = 0x4bd880;
- var_4h = 0x1a;
- edx = eax;
- ecx = &var_1bch;
- eax = fcn_0040bddd (edi);
- ecx = &var_c0h;
- var_4h = 0x1b;
- edx = eax;
- ecx = &var_204h;
- eax = fcn_0040be79 (ecx);
- edx = eax;
- ecx = &var_1ech;
- eax = fcn_0040bddd (0x1c);
- ecx = &var_90h;
- var_4h = 0x1d;
- edx = eax;
- ecx = &var_1d4h;
- eax = fcn_0040be79 (ecx);
- ecx = &var_60h;
- fcn_00405f24 (eax);
- ecx = &var_1d4h;
- var_4h = 0x1e;
- fcn_004035f9 ();
- ecx = &var_1ech;
- var_4h = 0x1f;
- fcn_004035f9 ();
- ecx = &var_204h;
- var_4h = 0x20;
- fcn_004035f9 ();
- ecx = &var_1bch;
- var_4h = 0x21;
- fcn_004035f9 ();
- ecx = &var_188h;
- var_4h = 0x22;
- fcn_004035f9 ();
- ecx = &var_108h;
- var_4h = 0x23;
- fcn_004035f9 ();
- ecx = &var_120h;
- var_4h = 0x24;
- fcn_004035f9 ();
- ecx = &var_150h;
- var_4h = 0x25;
- fcn_004035f9 ();
- ecx = &var_138h;
- var_4h = 0x26;
- fcn_004035f9 ();
- ecx = &var_f0h;
- var_4h = 0x27;
- fcn_004035f9 ();
- ecx = &var_78h;
- var_4h = 0x28;
- fcn_004035f9 ();
- ecx = &var_a8h;
- var_4h = 0x29;
- fcn_004035f9 ();
- ecx = &var_168h;
- var_4h = 0x2a;
- fcn_004035f9 ();
- ecx = &var_1a4h;
- var_4h = 0x2b;
- fcn_004035f9 ();
- ecx = &var_c0h;
- var_4h = 0x2c;
- fcn_004035f9 ();
- ecx = &var_90h;
- var_4h = 0x2d;
- fcn_004035f9 ();
- eax = &pvargSrc;
- var_4h = 6;
- OLEAUT32_dll_VariantCopy (eax);
- eax = pvargDest;
- ecx = *(eax);
- ecx + 8 (eax);
- ecx = var_c8h;
- } while (ecx != 0);
- label_8:
- esi = var_d8h;
- edi = *(sym.imp.ole32.dll_CoUninitialize);
- label_7:
- eax = dwCapabilities;
- ecx = *(eax);
- eax = ecx + 0x50 (eax, 0x4bb5cc, "SELECT * FROM Win32_ComputerSystem", 0x30, 0, var_c8h);
- if (eax < 0) {
- eax = dwCapabilities;
- ecx = *(eax);
- ecx + 8 (eax);
- eax = rclsid;
- ecx = *(eax);
- ecx + 8 (eax);
- void (*edi)() ();
- ecx = esi;
- fcn_00403582 (0x4b9c38);
- ecx = &var_60h;
- var_4h = 0x2e;
- fcn_004035f9 ();
- var_4h = 0x2f;
- goto label_0;
- }
- edi = 0;
- pvargDest = edi;
- var_14h = edi;
- while (ecx != 0) {
- eax = *(ecx);
- eax + 0x10 (ecx, 0xffffffffffffffff, 1, pvargDest, var_14h);
- if (var_14h == 0) {
- goto label_9;
- }
- eax = pvargDest;
- edx = &pvargSrc;
- ecx = *(eax);
- ecx + 0x10 (eax, "Name", edi, edx, edi, edi);
- eax = OLEAUT32_dll_VariantInit (pvarg);
- edi = pvarg;
- ecx = &var_1a4h;
- esi = eax;
- fcn_0040fffe ();
- ecx = &var_1a4h;
- var_4h = 0x30;
- fcn_0040e969 ();
- ecx = &var_1a4h;
- fcn_0040e9a1 (edi, esi);
- edx = &var_1a4h;
- var_4h = 0x31;
- ecx = &var_f0h;
- eax = fcn_00418a2f ();
- edx = eax;
- var_4h = 0x32;
- ecx = &var_78h;
- fcn_0041d2ac ();
- ecx = &var_f0h;
- var_4h = 0x35;
- fcn_0040e93b ();
- ecx = &var_1a4h;
- var_4h = 0x37;
- fcn_0040e93b ();
- esi = 0;
- var_4h = 0x36;
- eax = pvargDest;
- edx = &pvargSrc;
- ecx = *(eax);
- ecx + 0x10 (eax, "Workgroup", esi, edx, esi, esi);
- eax = OLEAUT32_dll_VariantInit (pvarg);
- edi = pvarg;
- ecx = &var_168h;
- esi = eax;
- fcn_0040fffe ();
- ecx = &var_168h;
- var_4h = 0x38;
- fcn_0040e969 ();
- ecx = &var_168h;
- fcn_0040e9a1 (edi, esi);
- edx = &var_168h;
- var_4h = 0x39;
- ecx = &var_138h;
- eax = fcn_00418a2f ();
- edx = eax;
- var_4h = 0x3a;
- ecx = &var_a8h;
- fcn_0041d2ac ();
- ecx = &var_138h;
- var_4h = 0x3d;
- fcn_0040e93b ();
- ecx = &var_168h;
- var_4h = 0x3f;
- fcn_0040e93b ();
- ecx = &var_3ch;
- fcn_0040376a ("<block>", 0x3e);
- ecx = &var_3ch;
- fcn_0040376a ("<val1>PC Name</val1>", 0x14);
- if (var_68h != 0) {
- ecx = &var_188h;
- fcn_004035b6 (var_78h);
- var_4h = 0x40;
- ebx |= 2;
- } else {
- ecx = &var_108h;
- eax = fcn_00403582 (0x4bb80c);
- var_4h = 0x41;
- ebx |= 4;
- }
- esi = "<val2>";
- var_d4h = ebx;
- edx = esi;
- ecx = &var_120h;
- eax = fcn_00406f6e (eax);
- var_4h = 0x42;
- ecx = &var_150h;
- edx = eax;
- eax = fcn_0040bddd ("</val2>");
- ecx = &var_3ch;
- fcn_00403509 (0x43);
- ecx = &var_150h;
- var_4h = 0x44;
- fcn_004035f9 ();
- ecx = &var_120h;
- var_4h = 0x45;
- fcn_004035f9 ();
- if ((bl & 4) != 0) {
- ebx &= 0xfffffffb;
- var_d4h = ebx;
- ecx = &var_108h;
- var_4h = 0x46;
- fcn_004035f9 ();
- }
- var_4h = 0x3e;
- if ((bl & 2) != 0) {
- ebx &= 0xfffffffd;
- var_d4h = ebx;
- ecx = &var_188h;
- var_4h = 0x47;
- fcn_004035f9 ();
- var_4h = 0x3e;
- }
- edi = "</block>";
- ecx = &var_3ch;
- fcn_0040376a (edi, 8);
- ecx = &var_3ch;
- fcn_0040376a ("<block>", 7);
- ecx = &var_3ch;
- fcn_0040376a ("<val1>PC Domain</val1>", 0x16);
- if (var_98h != 0) {
- ecx = &var_188h;
- fcn_004035b6 (var_a8h);
- var_4h = 0x48;
- ebx |= 8;
- } else {
- ecx = &var_108h;
- eax = fcn_00403582 (0x4bb80c);
- var_4h = 0x49;
- ebx |= 0x10;
- }
- edx = esi;
- ecx = &var_120h;
- eax = fcn_00406f6e (ebx);
- var_4h = 0x4a;
- ecx = &var_150h;
- edx = eax;
- eax = fcn_0040bddd ("</val2>");
- ecx = &var_3ch;
- fcn_00403509 (0x4b);
- ecx = &var_150h;
- var_4h = 0x4c;
- fcn_004035f9 ();
- ecx = &var_120h;
- var_4h = 0x4d;
- fcn_004035f9 ();
- if ((bl & 0x10) != 0) {
- ebx &= 0xffffffef;
- var_d4h = ebx;
- ecx = &var_108h;
- var_4h = 0x4e;
- fcn_004035f9 ();
- }
- var_4h = 0x3e;
- if ((bl & 8) != 0) {
- ebx &= 0xfffffff7;
- var_d4h = ebx;
- ecx = &var_188h;
- var_4h = 0x4f;
- fcn_004035f9 ();
- var_4h = 0x3e;
- }
- ecx = &var_3ch;
- fcn_0040376a (edi, 8);
- ecx = &var_3ch;
- fcn_0040376a ("<block>", 7);
- ecx = &var_3ch;
- fcn_0040376a ("<val1>Uptime</val1>", 0x13);
- eax = fcn_004163ad ();
- edi = 0;
- eax = fcn_004627a0 (eax, edx, 0x3e8, edi);
- ecx = &var_188h;
- eax = fcn_004286cc (eax, edx);
- edx = esi;
- ecx = &var_108h;
- eax = fcn_00406f6e (0x50);
- edx = eax;
- ecx = &var_120h;
- eax = fcn_0040bddd (0x51);
- ecx = &var_60h;
- var_4h = 0x52;
- ecx = eax;
- eax = fcn_00403509 (ecx);
- ecx = &var_90h;
- fcn_0040352b (eax);
- edx = &var_90h;
- ecx = &var_150h;
- eax = fcn_0040bddd (0x53);
- ecx = &var_3ch;
- fcn_00403509 (0x54);
- ecx = &var_150h;
- var_4h = 0x55;
- fcn_004035f9 ();
- ecx = &var_90h;
- var_4h = 0x56;
- fcn_004035f9 ();
- ecx = &var_120h;
- var_4h = 0x57;
- fcn_004035f9 ();
- ecx = &var_108h;
- var_4h = 0x58;
- fcn_004035f9 ();
- ecx = &var_188h;
- var_4h = 0x59;
- fcn_004035f9 ();
- ecx = &var_3ch;
- fcn_0040376a ("</block>", 0x3e);
- ecx = &var_3ch;
- fcn_0040376a ("<block>", 7);
- ecx = &var_3ch;
- fcn_0040376a ("<val1>Username</val1>", 0x15);
- ecx = &var_108h;
- eax = fcn_0041d144 ();
- edx = esi;
- ecx = &var_120h;
- eax = fcn_00406f6e (0x5a);
- var_4h = 0x5b;
- ecx = &var_150h;
- edx = eax;
- eax = fcn_0040bddd ("</val2>");
- ecx = &var_3ch;
- fcn_00403509 (0x5c);
- ecx = &var_150h;
- var_4h = 0x5d;
- fcn_004035f9 ();
- ecx = &var_120h;
- var_4h = 0x5e;
- fcn_004035f9 ();
- ecx = &var_108h;
- var_4h = 0x5f;
- fcn_004035f9 ();
- ecx = &var_3ch;
- fcn_0040376a ("</block>", 0x3e);
- OLEAUT32_dll_VariantCopy (pvargSrc);
- eax = pvargDest;
- ecx = *(eax);
- ecx + 8 (eax);
- ecx = &var_a8h;
- var_4h = 0x60;
- fcn_004035f9 ();
- ecx = &var_78h;
- var_4h = 0x61;
- fcn_004035f9 ();
- var_4h = 6;
- ecx = var_c8h;
- }
- label_9:
- eax = dwCapabilities;
- edx = &var_c8h;
- ecx = *(eax);
- eax = ecx + 0x50 (eax, 0x4bb5cc, "SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = True", 0x30, edi);
- if (eax < 0) {
- eax = dwCapabilities;
- ecx = *(eax);
- ecx + 8 (eax);
- eax = rclsid;
- ecx = *(eax);
- ecx + 8 (eax);
- ole32_dll_CoUninitialize ();
- ecx = var_d8h;
- fcn_00403582 (0x4b9c38);
- ecx = &var_60h;
- var_4h = 0x62;
- fcn_004035f9 ();
- var_4h = 0x63;
- label_1:
- ecx = &var_3ch;
- fcn_004035f9 ();
- goto label_10;
- }
- pvargDest = edi;
- var_14h = edi;
- while (ecx != 0) {
- eax = *(ecx);
- eax + 0x10 (ecx, 0xffffffffffffffff, 1, pvargDest, var_14h);
- if (var_14h == 0) {
- goto label_11;
- }
- eax = pvargDest;
- edx = &pvargSrc;
- ecx = *(eax);
- ecx + 0x10 (eax, "IpAddress", edi, edx, edi, edi);
- eax = pvarg;
- ecx = &var_138h;
- eax = *((eax + 0xc));
- eax = fcn_0040ddad (*(eax));
- edx = eax;
- var_4h = 0x64;
- ecx = &var_f0h;
- eax = fcn_00418a2f ();
- edx = eax;
- var_4h = 0x65;
- ecx = &var_a8h;
- fcn_0041d2ac ();
- ecx = &var_f0h;
- var_4h = 0x68;
- fcn_0040e93b ();
- ecx = &var_138h;
- var_4h = 0x6a;
- fcn_0040e93b ();
- edx = &pvargSrc;
- eax = pvargDest;
- ecx = *(eax);
- ecx + 0x10 (eax, "MACAddress", 0x69, edx, edi);
- eax = OLEAUT32_dll_VariantInit (pvarg);
- edi = pvarg;
- ecx = &var_168h;
- esi = eax;
- fcn_0040fffe ();
- ecx = &var_168h;
- var_4h = 0x6b;
- fcn_0040e969 ();
- ecx = &var_168h;
- fcn_0040e9a1 (edi, esi);
- edx = &var_168h;
- var_4h = 0x6c;
- ecx = &var_150h;
- eax = fcn_00418a2f ();
- edx = eax;
- var_4h = 0x6d;
- ecx = &var_78h;
- fcn_0041d2ac ();
- ecx = &var_150h;
- var_4h = 0x70;
- fcn_0040e93b ();
- var_4h = 0x72;
- ecx = &var_168h;
- fcn_0040e93b ();
- ecx = &var_3ch;
- fcn_0040376a ("<block>", 0x71);
- ecx = &var_3ch;
- fcn_0040376a ("<val1>LAN IP</val1>", 0x13);
- if (var_98h != 0) {
- ecx = &var_1bch;
- fcn_004035b6 (var_a8h);
- var_4h = 0x73;
- ebx |= 0x20;
- } else {
- ecx = &var_188h;
- eax = fcn_00403582 (0x4bb80c);
- var_4h = 0x74;
- ebx |= 0x40;
- }
- esi = "<val2>";
- var_d4h = ebx;
- edx = esi;
- ecx = &var_108h;
- eax = fcn_00406f6e (eax);
- var_4h = 0x75;
- ecx = &var_120h;
- edx = eax;
- eax = fcn_0040bddd ("</val2>");
- ecx = &var_3ch;
- fcn_00403509 (0x76);
- ecx = &var_120h;
- var_4h = 0x77;
- fcn_004035f9 ();
- ecx = &var_108h;
- var_4h = 0x78;
- fcn_004035f9 ();
- if ((bl & 0x40) != 0) {
- ebx &= 0xffffffbf;
- var_d4h = ebx;
- ecx = &var_188h;
- var_4h = 0x79;
- fcn_004035f9 ();
- }
- var_4h = 0x71;
- if ((bl & 0x20) != 0) {
- ebx &= 0xffffffdf;
- var_d4h = ebx;
- ecx = &var_1bch;
- var_4h = 0x7a;
- fcn_004035f9 ();
- var_4h = 0x71;
- }
- edi = "</block>";
- ecx = &var_3ch;
- fcn_0040376a (edi, 8);
- ecx = &var_3ch;
- fcn_0040376a ("<block>", 7);
- ecx = &var_3ch;
- fcn_0040376a ("<val1>MAC</val1>", 0x10);
- if (var_68h != 0) {
- ecx = &var_1bch;
- fcn_004035b6 (var_78h);
- var_4h = 0x7b;
- ebx |= 0x80;
- } else {
- ecx = &var_188h;
- eax = fcn_00403582 (0x4bb80c);
- var_4h = 0x7c;
- ebx |= 0x100;
- }
- edx = esi;
- ecx = &var_108h;
- eax = fcn_00406f6e (ebx);
- var_4h = 0x7d;
- ecx = &var_120h;
- edx = eax;
- eax = fcn_0040bddd ("</val2>");
- ecx = &var_3ch;
- fcn_00403509 (0x7e);
- ecx = &var_120h;
- var_4h = 0x7f;
- fcn_004035f9 ();
- ecx = &var_108h;
- var_4h = 0x80;
- fcn_004035f9 ();
- if ((ebx & 0x100) != 0) {
- ebx &= 0xfffffeff;
- var_d4h = ebx;
- ecx = &var_188h;
- var_4h = 0x81;
- fcn_004035f9 ();
- }
- var_4h = 0x71;
- if (bl < 0) {
- ebx &= 0xffffff7f;
- var_d4h = ebx;
- ecx = &var_1bch;
- var_4h = 0x82;
- fcn_004035f9 ();
- var_4h = 0x71;
- }
- ecx = &var_3ch;
- fcn_0040376a (edi, 8);
- OLEAUT32_dll_VariantCopy (pvargSrc);
- eax = pvargDest;
- ecx = *(eax);
- ecx + 8 (eax);
- ecx = &var_78h;
- var_4h = 0x83;
- fcn_004035f9 ();
- ecx = &var_a8h;
- var_4h = 0x84;
- fcn_004035f9 ();
- var_4h = 6;
- edi = 0;
- ecx = var_c8h;
- }
- label_11:
- eax = dwCapabilities;
- ecx = *(eax);
- eax = ecx + 0x50 (eax, 0x4bb5cc, "Select * from Win32_Processor", 0x30, edi, var_c8h);
- if (eax < 0) {
- eax = dwCapabilities;
- ecx = *(eax);
- ecx + 8 (eax);
- eax = rclsid;
- ecx = *(eax);
- ecx + 8 (eax);
- ole32_dll_CoUninitialize ();
- ecx = var_d8h;
- fcn_00403582 (0x4b9c38);
- ecx = &var_60h;
- var_4h = 0x85;
- fcn_004035f9 ();
- var_4h = 0x86;
- goto label_1;
- }
- pvargDest = edi;
- var_14h = edi;
- while (ecx != 0) {
- eax = *(ecx);
- eax + 0x10 (ecx, 0xffffffffffffffff, 1, pvargDest, var_14h);
- if (var_14h == 0) {
- goto label_12;
- }
- eax = pvargDest;
- edx = &pvargSrc;
- ecx = *(eax);
- ecx + 0x10 (eax, "Name", edi, edx, edi, edi);
- eax = OLEAUT32_dll_VariantInit (pvarg);
- edi = pvarg;
- ecx = &var_168h;
- esi = eax;
- fcn_0040fffe ();
- ecx = &var_168h;
- var_4h = 0x87;
- fcn_0040e969 ();
- ecx = &var_168h;
- fcn_0040e9a1 (edi, esi);
- edx = &var_168h;
- var_4h = 0x88;
- ecx = &var_f0h;
- eax = fcn_00418a2f ();
- edx = eax;
- var_4h = 0x89;
- ecx = &var_90h;
- fcn_0041d2ac ();
- ecx = &var_f0h;
- var_4h = 0x8c;
- fcn_0040e93b ();
- ecx = &var_168h;
- var_4h = 0x8e;
- fcn_0040e93b ();
- edi = 0;
- var_4h = 0x8d;
- eax = pvargDest;
- edx = &pvargSrc;
- ecx = *(eax);
- ecx + 0x10 (eax, "MaxClockSpeed", edi, edx, edi, edi);
- ecx = &var_3ch;
- fcn_0040376a ("<block>", 7);
- ecx = &var_3ch;
- fcn_0040376a ("<val1>Processor</val1>", 0x16);
- edx = &pvarg;
- ecx = &var_188h;
- eax = fcn_004121a6 ();
- esi = eax;
- eax = &var_90h;
- var_4h = 0x8f;
- edx = "<val2>";
- ecx = &var_108h;
- eax = fcn_0040f38b (eax);
- var_4h = 0x90;
- ecx = &var_120h;
- edx = eax;
- eax = fcn_0040bddd (" (max: ");
- edx = eax;
- ecx = &var_150h;
- eax = fcn_0040be79 (0x91);
- edx = eax;
- ecx = &var_138h;
- eax = fcn_0040bddd (0x92);
- ecx = &var_3ch;
- fcn_00403509 (0x93);
- ecx = &var_138h;
- var_4h = 0x94;
- fcn_004035f9 ();
- ecx = &var_150h;
- var_4h = 0x95;
- fcn_004035f9 ();
- ecx = &var_120h;
- var_4h = 0x96;
- fcn_004035f9 ();
- ecx = &var_108h;
- var_4h = 0x97;
- fcn_004035f9 ();
- ecx = &var_188h;
- var_4h = 0x98;
- fcn_004035f9 ();
- ecx = &var_3ch;
- fcn_0040376a ("</block>", 0x8d);
- OLEAUT32_dll_VariantCopy (pvargSrc);
- eax = pvargDest;
- ecx = *(eax);
- ecx + 8 (eax);
- ecx = &var_90h;
- var_4h = 0x99;
- fcn_004035f9 ();
- var_4h = 6;
- ecx = var_c8h;
- }
- label_12:
- eax = dwCapabilities;
- edx = &var_c8h;
- ecx = *(eax);
- eax = ecx + 0x50 (eax, 0x4bb5cc, "Select * from Win32_Battery", 0x30, edi);
- if (eax < 0) {
- eax = dwCapabilities;
- ecx = *(eax);
- ecx + 8 (eax);
- eax = rclsid;
- ecx = *(eax);
- ecx + 8 (eax);
- ole32_dll_CoUninitialize ();
- ecx = var_d8h;
- fcn_00403582 (0x4b9c38);
- ecx = &var_60h;
- var_4h = 0x9a;
- fcn_004035f9 ();
- var_4h = 0x9b;
- goto label_1;
- }
- pvargDest = edi;
- var_14h = edi;
- goto label_13;
- label_2:
- eax = *(ecx);
- eax + 0x10 (ecx, 0xffffffffffffffff, 1, pvargDest, var_14h);
- if (var_14h == 0) {
- goto label_14;
- }
- eax = pvargDest;
- edx = &pvargSrc;
- ecx = *(eax);
- ecx + 0x10 (eax, "EstimatedRunTime", edi, edx, edi, edi);
- if (pvarg <= 0x186a0) {
- goto label_15;
- }
- eax = pvargDest;
- edx = &pvargSrc;
- ecx = *(eax);
- ecx + 0x10 (eax, "EstimatedChargeRemaining", edi, edx, edi, edi);
- edx = &pvarg;
- if (pvarg != 0x64) {
- goto label_16;
- }
- ecx = &var_150h;
- eax = fcn_004121a6 ();
- edx = "Fully charged (";
- ecx = &var_138h;
- eax = fcn_00406f6e (0x9c);
- var_4h = 0x9d;
- ecx = &var_f0h;
- edx = eax;
- eax = fcn_0040bddd (0x4bdb60);
- ecx = &var_60h;
- fcn_00405f24 (eax);
- ecx = &var_f0h;
- var_4h = 0x9e;
- fcn_004035f9 ();
- ecx = &var_138h;
- var_4h = 0x9f;
- fcn_004035f9 ();
- var_4h = 0xa0;
- ecx = &var_150h;
- do {
- fcn_004035f9 ();
- goto label_17;
- label_16:
- ecx = &var_138h;
- eax = fcn_004121a6 ();
- edx = eax;
- ecx = &var_f0h;
- eax = fcn_0040bddd (0xa1);
- ecx = &var_60h;
- fcn_00405f24 (eax);
- ecx = &var_f0h;
- var_4h = 0xa2;
- fcn_004035f9 ();
- var_4h = 0xa3;
- ecx = &var_138h;
- } while (1);
- label_15:
- edx = &pvarg;
- ecx = &var_108h;
- eax = fcn_004121a6 ();
- edi = eax;
- var_4h = 0xa4;
- eax = pvarg;
- edx:eax = (int64_t) eax;
- esi = eax;
- eax = edx;
- ecx = 0x3c;
- edx:eax = eax * ecx;
- ecx = eax;
- eax = esi;
- edx = 0x3c;
- edx:eax = eax * edx;
- ecx += edx;
- ecx = &var_120h;
- eax = fcn_004286cc (eax, ecx);
- edx = eax;
- ecx = &var_150h;
- eax = fcn_0040bddd (0xa5);
- edx = eax;
- ecx = &var_138h;
- eax = fcn_0040be79 (0xa6);
- edx = eax;
- ecx = &var_f0h;
- eax = fcn_0040bddd (0xa7);
- ecx = &var_60h;
- fcn_00405f24 (eax);
- ecx = &var_f0h;
- var_4h = 0xa8;
- fcn_004035f9 ();
- ecx = &var_138h;
- var_4h = 0xa9;
- fcn_004035f9 ();
- ecx = &var_150h;
- var_4h = 0xaa;
- fcn_004035f9 ();
- ecx = &var_120h;
- var_4h = 0xab;
- fcn_004035f9 ();
- ecx = &var_108h;
- var_4h = 0xac;
- fcn_004035f9 ();
- edi = 0;
- label_17:
- ecx = &var_3ch;
- fcn_0040376a ("<block>", 6);
- ecx = &var_3ch;
- fcn_0040376a ("<val1>Battery</val1>", 0x14);
- eax = &var_60h;
- edx = "<val2>";
- ecx = &var_138h;
- eax = fcn_0040f38b (eax);
- var_4h = 0xad;
- ecx = &var_f0h;
- edx = eax;
- eax = fcn_0040bddd ("</val2>");
- ecx = &var_3ch;
- fcn_00403509 (0xae);
- ecx = &var_f0h;
- var_4h = 0xaf;
- fcn_004035f9 ();
- ecx = &var_138h;
- var_4h = 0xb0;
- fcn_004035f9 ();
- ecx = &var_3ch;
- fcn_0040376a ("</block>", 6);
- OLEAUT32_dll_VariantCopy (pvargSrc);
- eax = pvargDest;
- ecx = *(eax);
- ecx + 8 (eax);
- label_13:
- ecx = var_c8h;
- if (ecx != 0) {
- goto label_2;
- }
- label_14:
- eax = dwCapabilities;
- edx = &var_c8h;
- ecx = *(eax);
- eax = ecx + 0x50 (eax, 0x4bb5cc, "Select * from Win32_VideoController", 0x30, edi);
- if (eax < 0) {
- eax = dwCapabilities;
- ecx = *(eax);
- ecx + 8 (eax);
- eax = rclsid;
- ecx = *(eax);
- ecx + 8 (eax);
- ole32_dll_CoUninitialize ();
- ecx = var_d8h;
- fcn_00403582 (0x4b9c38);
- ecx = &var_60h;
- var_4h = 0xb1;
- fcn_004035f9 ();
- var_4h = 0xb2;
- goto label_1;
- }
- pvargDest = edi;
- var_14h = edi;
- var_44h = edi;
- while (ecx != 0) {
- eax = *(ecx);
- eax + 0x10 (ecx, 0xffffffffffffffff, 1, pvargDest, var_14h);
- if (var_14h == 0) {
- goto label_18;
- }
- eax = pvargDest;
- edx = &pvargSrc;
- var_44h++;
- ecx = *(eax);
- ecx + 0x10 (eax, "Name", edi, edx, edi, edi);
- eax = OLEAUT32_dll_VariantInit (pvarg);
- edi = pvarg;
- ecx = &var_168h;
- esi = eax;
- fcn_0040fffe ();
- ecx = &var_168h;
- var_4h = 0xb3;
- fcn_0040e969 ();
- ecx = &var_168h;
- fcn_0040e9a1 (edi, esi);
- edx = &var_168h;
- var_4h = 0xb4;
- ecx = &var_f0h;
- eax = fcn_00418a2f ();
- edx = eax;
- var_4h = 0xb5;
- ecx = &var_c0h;
- fcn_0041d2ac ();
- ecx = &var_f0h;
- fcn_0040dda8 ();
- ecx = &var_168h;
- var_4h = 0xb8;
- fcn_0040dda8 ();
- eax = pvargDest;
- edx = &pvargSrc;
- edi = 0;
- ecx = *(eax);
- ecx + 0x10 (eax, "DriverVersion", edi, edx, edi, edi);
- eax = OLEAUT32_dll_VariantInit (pvarg);
- ecx = &var_150h;
- eax = fcn_00439d51 (pvarg, eax);
- edx = eax;
- var_4h = 0xb9;
- ecx = &var_138h;
- eax = fcn_00418a2f ();
- edx = eax;
- var_4h = 0xba;
- ecx = &var_90h;
- fcn_0041d2ac ();
- ecx = &var_138h;
- fcn_0040dda8 ();
- ecx = &var_150h;
- var_4h = 0xbd;
- fcn_0040dda8 ();
- ecx = &var_3ch;
- fcn_004034e8 ("<block>");
- edx = &var_44h;
- ecx = &var_108h;
- eax = fcn_004121a6 ();
- edx = "<val1>Graphic card (";
- ecx = &var_120h;
- eax = fcn_00406f6e (0xbe);
- var_4h = 0xbf;
- ecx = &var_f0h;
- edx = eax;
- eax = fcn_0040bddd (")</val1>");
- ecx = &var_3ch;
- fcn_00403509 (0xc0);
- ecx = &var_f0h;
- fcn_00403526 ();
- ecx = &var_120h;
- fcn_00403526 ();
- ecx = &var_108h;
- var_4h = 0xbd;
- fcn_00403526 ();
- eax = &var_c0h;
- edx = "<val2>";
- ecx = &var_188h;
- eax = fcn_0040f38b (eax);
- var_4h = 0xc1;
- ecx = &var_108h;
- edx = eax;
- eax = fcn_0040bddd (0x4bdb9c);
- ecx = &var_90h;
- var_4h = 0xc2;
- edx = eax;
- ecx = &var_120h;
- eax = fcn_00406ff5 (ecx);
- edx = eax;
- ecx = &var_f0h;
- eax = fcn_0040bddd (0xc3);
- ecx = &var_3ch;
- fcn_00403509 (0xc4);
- ecx = &var_f0h;
- fcn_00403526 ();
- ecx = &var_120h;
- fcn_00403526 ();
- ecx = &var_108h;
- fcn_00403526 ();
- ecx = &var_188h;
- var_4h = 0xbd;
- fcn_00403526 ();
- ecx = &var_3ch;
- fcn_004034e8 ("</block>");
- OLEAUT32_dll_VariantCopy (pvargSrc);
- eax = pvargDest;
- ecx = *(eax);
- ecx + 8 (eax);
- ecx = &var_90h;
- fcn_00403526 ();
- var_4h = 6;
- ecx = &var_c0h;
- fcn_00403526 ();
- ecx = var_c8h;
- }
- label_18:
- eax = dwCapabilities;
- edx = &var_c8h;
- ecx = *(eax);
- eax = ecx + 0x50 (eax, 0x4bb5cc, "Select * from Win32_DesktopMonitor", 0x30, edi);
- if (eax < 0) {
- label_3:
- eax = dwCapabilities;
- ecx = *(eax);
- ecx + 8 (eax);
- eax = rclsid;
- ecx = *(eax);
- ecx + 8 (eax);
- ole32_dll_CoUninitialize ();
- ecx = var_d8h;
- fcn_00403582 (0x4b9c38);
- goto label_19;
- }
- pvargDest = edi;
- var_14h = edi;
- var_44h = edi;
- while (ecx != 0) {
- eax = *(ecx);
- eax + 0x10 (ecx, 0xffffffffffffffff, 1, pvargDest, var_14h);
- if (var_14h == 0) {
- goto label_20;
- }
- eax = pvargDest;
- edx = &pvargSrc;
- var_44h++;
- ecx = *(eax);
- ecx + 0x10 (eax, "Name", edi, edx, edi, edi);
- eax = OLEAUT32_dll_VariantInit (pvarg);
- ecx = &var_138h;
- eax = fcn_00439d51 (pvarg, eax);
- edx = eax;
- var_4h = 0xc5;
- ecx = &var_f0h;
- eax = fcn_00418a2f ();
- edx = eax;
- var_4h = 0xc6;
- ecx = &var_90h;
- fcn_0041d2ac ();
- ecx = &var_f0h;
- fcn_0040dda8 ();
- ecx = &var_138h;
- var_4h = 0xc9;
- fcn_0040dda8 ();
- eax = pvargDest;
- edx = &pvargSrc;
- ecx = *(eax);
- ecx + 0x10 (eax, "ScreenWidth", edi, edx, edi, edi);
- eax = pvarg;
- edx = &pvargSrc;
- eax = pvargDest;
- ecx = *(eax);
- ecx + 0x10 (eax, "ScreenHeight", eax, edx, edi);
- eax = pvarg;
- ecx = &var_3ch;
- fcn_004034e8 (eax);
- edx = &var_44h;
- ecx = &var_108h;
- eax = fcn_004121a6 ();
- edx = "<val1>Monitor (";
- ecx = &var_120h;
- eax = fcn_00406f6e (0xca);
- var_4h = 0xcb;
- ecx = &var_150h;
- edx = eax;
- eax = fcn_0040bddd (")</val1>");
- var_4h = 0xcc;
- ecx = &var_3ch;
- fcn_00403509 (eax);
- ecx = &var_150h;
- fcn_00403526 ();
- ecx = &var_120h;
- fcn_00403526 ();
- ecx = &var_108h;
- var_4h = 0xc9;
- fcn_00403526 ();
- edx = &var_48h;
- ecx = &var_1d4h;
- eax = fcn_004121a6 ();
- edi = eax;
- edx = &var_40h;
- var_4h = 0xcd;
- ecx = &var_1ech;
- eax = fcn_004121a6 ();
- esi = eax;
- eax = &var_90h;
- var_4h = 0xce;
- edx = "<val2>";
- ecx = &var_204h;
- eax = fcn_0040f38b (eax);
- var_4h = 0xcf;
- ecx = &var_1bch;
- edx = eax;
- eax = fcn_0040bddd (0x4bdb9c);
- edx = eax;
- ecx = &var_188h;
- eax = fcn_0040be79 (0xd0);
- edx = eax;
- ecx = &var_108h;
- eax = fcn_0040bddd (0xd1);
- edx = eax;
- ecx = &var_120h;
- eax = fcn_0040be79 (0xd2);
- edx = eax;
- ecx = &var_150h;
- eax = fcn_0040bddd (0xd3);
- ecx = &var_3ch;
- fcn_00403509 (0xd4);
- ecx = &var_150h;
- fcn_00403526 ();
- ecx = &var_120h;
- fcn_00403526 ();
- ecx = &var_108h;
- fcn_00403526 ();
- ecx = &var_188h;
- fcn_00403526 ();
- ecx = &var_1bch;
- fcn_00403526 ();
- ecx = &var_204h;
- fcn_00403526 ();
- ecx = &var_1ech;
- fcn_00403526 ();
- ecx = &var_1d4h;
- var_4h = 0xc9;
- fcn_00403526 ();
- ecx = &var_3ch;
- fcn_004034e8 ("</block>");
- OLEAUT32_dll_VariantCopy (pvargSrc);
- eax = pvargDest;
- ecx = *(eax);
- ecx + 8 (eax);
- ecx = &var_90h;
- var_4h = 6;
- fcn_00403526 ();
- edi = 0;
- ecx = var_c8h;
- }
- label_20:
- eax = dwCapabilities;
- ecx = *(eax);
- eax = ecx + 0x50 (eax, 0x4bb5cc, 0x4bdcd0, 0x30, edi, var_c8h);
- if (eax < 0) {
- goto label_3;
- }
- ecx = var_c8h;
- pvargDest = edi;
- var_14h = edi;
- if (ecx == 0) {
- goto label_21;
- }
- esi = *(sym.imp.OLEAUT32.dll_VariantInit);
- do {
- eax = *(ecx);
- eax + 0x10 (ecx, 0xffffffffffffffff, 1, pvargDest, var_14h);
- if (var_14h == 0) {
- goto label_21;
- }
- eax = pvargDest;
- edx = &pvargSrc;
- ecx = *(eax);
- ecx + 0x10 (eax, "Caption", edi, edx, edi, edi);
- eax = void (*esi)(void) (pvarg);
- ecx = &var_138h;
- eax = fcn_00439d51 (pvarg, eax);
- edx = eax;
- var_4h = 0xd5;
- ecx = &var_f0h;
- eax = fcn_00418a2f ();
- edx = eax;
- var_4h = 0xd6;
- ecx = &var_a8h;
- fcn_0041d2ac ();
- ecx = &var_f0h;
- fcn_0040dda8 ();
- ecx = &var_138h;
- var_4h = 0xd9;
- fcn_0040dda8 ();
- eax = pvargDest;
- edx = &pvargSrc;
- ecx = *(eax);
- ecx + 0x10 (eax, "OSLanguage", edi, edx, edi, edi);
- edx = pvarg;
- ecx = &var_78h;
- fcn_0042888b ();
- edx = &pvargSrc;
- eax = pvargDest;
- ecx = *(eax);
- ecx + 0x10 (eax, "Version", 0xda, edx, edi);
- eax = void (*esi)(void) (pvarg);
- ecx = &var_138h;
- eax = fcn_00439d51 (pvarg, eax);
- edx = eax;
- var_4h = 0xdb;
- ecx = &var_f0h;
- eax = fcn_00418a2f ();
- edx = eax;
- var_4h = 0xdc;
- ecx = &var_c0h;
- fcn_0041d2ac ();
- ecx = &var_f0h;
- fcn_0040dda8 ();
- var_4h = 0xdf;
- ecx = &var_138h;
- fcn_0040dda8 ();
- eax = pvargDest;
- edx = &pvargSrc;
- ecx = *(eax);
- ecx + 0x10 (eax, "BuildNumber", edi, edx, edi, edi);
- eax = void (*esi)(void) (pvarg);
- ecx = &var_120h;
- eax = fcn_00439d51 (pvarg, eax);
- edx = eax;
- var_4h = 0xe0;
- ecx = &var_150h;
- eax = fcn_00418a2f ();
- edx = eax;
- var_4h = 0xe1;
- ecx = &var_90h;
- fcn_0041d2ac ();
- ecx = &var_150h;
- fcn_0040dda8 ();
- ecx = &var_120h;
- var_4h = 0xe4;
- fcn_0040dda8 ();
- ecx = &var_3ch;
- fcn_004034e8 ("<block>");
- ecx = &var_3ch;
- fcn_004034e8 ("<val1>OS Version</val1>");
- eax = &var_a8h;
- edx = "<val2>";
- ecx = &var_138h;
- eax = fcn_0040f38b (eax);
- var_4h = 0xe5;
- ecx = &var_f0h;
- edx = eax;
- eax = fcn_0040bddd ("</val2>");
- ecx = &var_3ch;
- fcn_00403509 (0xe6);
- ecx = &var_f0h;
- fcn_00403526 ();
- ecx = &var_138h;
- var_4h = 0xe4;
- fcn_00403526 ();
- ecx = &var_3ch;
- fcn_004034e8 ("</block>");
- ecx = &var_3ch;
- fcn_004034e8 ("<block>");
- ecx = &var_3ch;
- fcn_004034e8 ("<val1>OS Language</val1>");
- eax = &var_78h;
- edx = "<val2>";
- ecx = &var_138h;
- eax = fcn_0040f38b (eax);
- var_4h = 0xe7;
- edx = eax;
- ecx = &var_f0h;
- eax = fcn_0040bddd ("</val2>");
- ecx = &var_3ch;
- fcn_00403509 (0xe8);
- ecx = &var_f0h;
- fcn_00403526 ();
- ecx = &var_138h;
- var_4h = 0xe4;
- fcn_00403526 ();
- ecx = &var_3ch;
- fcn_004034e8 ("</block>");
- ecx = &var_3ch;
- fcn_004034e8 ("<block>");
- ecx = &var_3ch;
- fcn_004034e8 ("<val1>OS Architecture</val1>");
- ecx = &var_108h;
- eax = fcn_004191b1 ();
- edx = "<val2>";
- ecx = &var_138h;
- eax = fcn_00406f6e (0xe9);
- var_4h = 0xea;
- ecx = &var_f0h;
- edx = eax;
- eax = fcn_0040bddd ("</val2>");
- ecx = &var_3ch;
- fcn_00403509 (0xeb);
- ecx = &var_f0h;
- fcn_00403526 ();
- ecx = &var_138h;
- fcn_00403526 ();
- ecx = &var_108h;
- var_4h = 0xe4;
- fcn_00403526 ();
- ecx = &var_3ch;
- fcn_004034e8 ("</block>");
- ecx = &var_3ch;
- fcn_004034e8 ("<block>");
- ecx = &var_3ch;
- fcn_004034e8 ("<val1>OS Version</val1>");
- eax = &var_c0h;
- edx = "<val2>";
- ecx = &var_188h;
- eax = fcn_0040f38b (eax);
- var_4h = 0xec;
- ecx = &var_108h;
- edx = eax;
- eax = fcn_0040bddd (" (Build: ");
- ecx = &var_90h;
- var_4h = 0xed;
- edx = eax;
- ecx = &var_138h;
- eax = fcn_00406ff5 (ecx);
- var_4h = 0xee;
- edx = eax;
- ecx = &var_f0h;
- eax = fcn_0040bddd (")</val2>");
- ecx = &var_3ch;
- fcn_00403509 (0xef);
- ecx = &var_f0h;
- fcn_00403526 ();
- ecx = &var_138h;
- fcn_00403526 ();
- ecx = &var_108h;
- fcn_00403526 ();
- ecx = &var_188h;
- var_4h = 0xe4;
- fcn_00403526 ();
- ecx = &var_3ch;
- fcn_004034e8 ("</block>");
- OLEAUT32_dll_VariantCopy (pvargSrc);
- eax = pvargDest;
- ecx = *(eax);
- ecx + 8 (eax);
- ecx = &var_90h;
- fcn_00403526 ();
- ecx = &var_c0h;
- fcn_00403526 ();
- ecx = &var_78h;
- fcn_00403526 ();
- ecx = &var_a8h;
- var_4h = 6;
- fcn_00403526 ();
- ecx = var_c8h;
- } while (ecx != 0);
- label_21:
- eax = dwCapabilities;
- edx = &var_c8h;
- esi = edi;
- ecx = *(eax);
- eax = ecx + 0x50 (eax, 0x4bb5cc, "Select * from Win32_PhysicalMemory", 0x30, edi);
- if (eax < 0) {
- goto label_3;
- }
- pvargDest = edi;
- var_14h = edi;
- while (ecx != 0) {
- eax = *(ecx);
- eax + 0x10 (ecx, 0xffffffffffffffff, 1, pvargDest, var_14h);
- if (var_14h == 0) {
- goto label_22;
- }
- eax = pvargDest;
- edx = &pvargSrc;
- ecx = *(eax);
- ecx + 0x10 (eax, "Capacity", edi, edx, edi, edi);
- esi += pvarg;
- OLEAUT32_dll_VariantCopy (pvargSrc);
- eax = pvargDest;
- ecx = *(eax);
- ecx + 8 (eax);
- ecx = var_c8h;
- }
- label_22:
- eax = dwCapabilities;
- edx = &var_c8h;
- ecx = *(eax);
- eax = ecx + 0x50 (eax, 0x4bb5cc, "Select * from Win32_PhysicalMemory", 0x30, edi);
- if (eax < 0) {
- goto label_3;
- }
- pvargDest = edi;
- var_14h = edi;
- while (ecx != 0) {
- eax = *(ecx);
- eax + 0x10 (ecx, 0xffffffffffffffff, 1, pvargDest, var_14h);
- if (var_14h == 0) {
- goto label_23;
- }
- eax = pvargDest;
- edx = &pvargSrc;
- ecx = *(eax);
- ecx + 0x10 (eax, "Manufacturer", edi, edx, edi, edi);
- eax = OLEAUT32_dll_VariantInit (pvarg);
- ecx = &var_138h;
- eax = fcn_00439d51 (pvarg, eax);
- edx = eax;
- var_4h = 0xf0;
- ecx = &var_f0h;
- eax = fcn_00418a2f ();
- edx = eax;
- var_4h = 0xf1;
- ecx = &var_78h;
- fcn_0041d2ac ();
- ecx = &var_f0h;
- fcn_0040dda8 ();
- ecx = &var_138h;
- var_4h = 0xf4;
- fcn_0040dda8 ();
- eax = pvargDest;
- edx = &pvargSrc;
- ecx = *(eax);
- ecx + 0x10 (eax, "Speed", edi, edx, edi, edi);
- eax = pvarg;
- ecx = &var_3ch;
- fcn_004034e8 (eax);
- ecx = &var_3ch;
- fcn_004034e8 ("<val1>RAM Capacity</val1>");
- ecx = &var_108h;
- eax = fcn_00419240 (esi, edi);
- edi = "<val2>";
- var_4h = 0xf5;
- edx = edi;
- ecx = &var_120h;
- eax = fcn_00406f6e (eax);
- edx = eax;
- ecx = &var_150h;
- eax = fcn_0040bddd (0xf6);
- ecx = &var_3ch;
- fcn_00403509 (0xf7);
- ecx = &var_150h;
- fcn_00403526 ();
- ecx = &var_120h;
- fcn_00403526 ();
- var_4h = 0xf4;
- ecx = &var_108h;
- fcn_00403526 ();
- ecx = &var_3ch;
- fcn_004034e8 ("</block>");
- ecx = &var_3ch;
- fcn_004034e8 ("<block>");
- ecx = &var_3ch;
- fcn_004034e8 ("<val1>RAM Manufacturer</val1>");
- ecx = &var_78h;
- al = fcn_00403491 ();
- if (al == 0) {
- ecx = &var_188h;
- fcn_004035b6 (var_78h);
- var_4h = 0xf8;
- ebx |= 0x200;
- } else {
- ecx = &var_108h;
- eax = fcn_00403582 (0x4bb80c);
- var_4h = 0xf9;
- ebx |= 0x400;
- }
- edx = edi;
- ecx = &var_120h;
- eax = fcn_00406f6e (ebx);
- var_4h = 0xfa;
- ecx = &var_150h;
- edx = eax;
- eax = fcn_0040bddd ("</val2>");
- ecx = &var_3ch;
- fcn_00403509 (0xfb);
- ecx = &var_150h;
- fcn_00403526 ();
- ecx = &var_120h;
- fcn_00403526 ();
- if ((ebx & 0x400) != 0) {
- ebx &= 0xfffffbff;
- ecx = &var_108h;
- var_d4h = ebx;
- fcn_00403526 ();
- }
- var_4h = 0xf4;
- if ((ebx & 0x200) != 0) {
- ebx &= 0xfffffdff;
- ecx = &var_188h;
- var_d4h = ebx;
- fcn_00403526 ();
- }
- ecx = &var_3ch;
- edi = ebx;
- fcn_004034e8 ("</block>");
- ecx = &var_3ch;
- fcn_004034e8 ("<block>");
- ecx = &var_3ch;
- fcn_004034e8 ("<val1>RAM Speed</val1>");
- if (var_48h != 0) {
- edx = &var_48h;
- ecx = &var_1bch;
- eax = fcn_004121a6 ();
- var_4h = 0xfc;
- ecx = &var_188h;
- ebx |= 0x800;
- edx = eax;
- fcn_0040bddd (ebx);
- ebx = edi;
- var_4h = 0xfd;
- ebx |= 0x1800;
- } else {
- ecx = &var_108h;
- eax = fcn_00403582 (0x4bb80c);
- var_4h = 0xfe;
- ebx |= 0x2000;
- }
- edx = "<val2>";
- ecx = &var_120h;
- eax = fcn_00406f6e (ebx);
- var_4h = 0xff;
- ecx = &var_150h;
- edx = eax;
- eax = fcn_0040bddd ("</val2>");
- ecx = &var_3ch;
- fcn_00403509 (0x100);
- ecx = &var_150h;
- fcn_00403526 ();
- ecx = &var_120h;
- fcn_00403526 ();
- if ((ebx & 0x2000) != 0) {
- ebx &= 0xffffdfff;
- ecx = &var_108h;
- var_d4h = ebx;
- fcn_00403526 ();
- }
- if ((ebx & 0x1000) != 0) {
- ebx &= 0xffffefff;
- ecx = &var_188h;
- var_d4h = ebx;
- fcn_00403526 ();
- }
- var_4h = 0xf4;
- if ((ebx & 0x800) != 0) {
- ebx &= 0xfffff7ff;
- ecx = &var_1bch;
- var_d4h = ebx;
- fcn_00403526 ();
- }
- ecx = &var_3ch;
- fcn_004034e8 ("</block>");
- OLEAUT32_dll_VariantCopy (pvargSrc);
- eax = pvargDest;
- ecx = *(eax);
- ecx + 8 (eax);
- ecx = &var_78h;
- var_4h = 6;
- fcn_00403526 ();
- edi = 0;
- ecx = var_c8h;
- }
- label_23:
- eax = dwCapabilities;
- ecx = *(eax);
- ecx + 8 (eax);
- eax = rclsid;
- ecx = *(eax);
- ecx + 8 (eax);
- eax = var_c8h;
- ecx = *(eax);
- ecx + 8 (eax);
- ole32_dll_CoUninitialize ();
- ecx = var_d8h;
- fcn_0040352b (var_3ch);
- label_19:
- ecx = &var_60h;
- fcn_00403526 ();
- ecx = &var_3ch;
- fcn_00403526 ();
- label_10:
- eax = var_d8h;
- label_5:
- fcn_00462657 ();
- return eax;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement