Advertisement
Guest User

Untitled

a guest
Apr 4th, 2019
318
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 6.40 KB | None | 0 0
  1. void __thiscall
  2. FUN_00413799(void *this,
  3.             CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL__ChTraitsCRT_wchar_t_____
  4.             *param_1,undefined *param_2,undefined *param_3,char param_4)
  5.  
  6. {
  7.   HANDLE hHandle;
  8.   int iVar1;
  9.   DWORD DVar2;
  10.   LSTATUS LVar3;
  11.   size_t sVar4;
  12.   wchar_t *pwVar5;
  13.   undefined local_88 [20];
  14.   _SECURITY_ATTRIBUTES local_74;
  15.   HANDLE local_68;
  16.   DWORD local_64;
  17.   DWORD local_60;
  18.   undefined *local_5c;
  19.   undefined *NoDisplaySwitching_status;
  20.   CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL__ChTraitsCRT_wchar_t_____ *FrameNumber_string;
  21.   HKEY local_50;
  22.   DWORD local_4c;
  23.   char local_47;
  24.   char FrameModelNumber_is_nofilter;
  25.   char FrameModelNumber_is_blank;
  26.   wchar_t FrameModelNumber_regvalue [20];
  27.   wchar_t local_1c [10];
  28.   uint local_8;
  29.  
  30.   local_8 = DAT_005a04ac ^ (uint)&stack0xfffffffc;
  31.   FrameNumber_string = param_1;
  32.   NoDisplaySwitching_status = param_2;
  33.   *param_3 = 0;
  34.   local_5c = param_3;
  35.   iVar1 = Compare((
  36.                    CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL__ChTraitsCRT_wchar_t_____
  37.                    *)(*(int *)((int)this + 4) + 0x4c),(wchar_t *)&DAT_005397b8);
  38.   if (iVar1 != 0) {
  39.     operator_(FrameNumber_string,(
  40.                         CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL__ChTraitsCRT_wchar_t_____
  41.                         *)(*(int *)((int)this + 4) + 0x4c));
  42.     *NoDisplaySwitching_status = *(undefined *)(*(int *)((int)this + 4) + 0x50);
  43.     goto exit_function;
  44.   }
  45.   operator_(FrameNumber_string,(wchar_t *)&DAT_005397b8);
  46.   hHandle = *(HANDLE *)(*(int *)((int)this + 4) + 0xa4);
  47.  
  48.   if ((hHandle == (HANDLE)0x0) || (DVar2 = WaitForSingleObject(hHandle,0), DVar2 != 0)) goto exit_function;
  49.  
  50.   //Check to see if AgMachineInfo is present
  51.   LVar3 = RegOpenKeyExW((HKEY)0x80000002,L"System\\AgMachineInfo",0,1,(PHKEY)&local_50);
  52.   if (LVar3 != ERROR_SUCCESS) {   // if the agmi isn't there
  53.     if (param_4 == 1) {
  54.  
  55.       //let's call the error_handler_message_printer
  56.       //this is an 0x10, eror message
  57.  
  58.       notification_message(DAT_005a0938,(wint_t *)L"NO VALID ID DETECTED IN FRAME!",0x10,7200000,0x10,
  59.                          (wchar_t *)0x0,0,(uint *)0x0,0,(wchar_t *)0x0,1);
  60.     }
  61.     *local_5c = 1;
  62.     goto exit_function;
  63.   }
  64.  
  65.   FrameModelNumber_is_blank = 0;
  66.   FrameModelNumber_is_nofilter = 0;
  67.  
  68.   InitializeSecurityDescriptor(local_88,1);
  69.   SetSecurityDescriptorDacl(local_88,1,(PACL)0x0,1);
  70.   local_74.lpSecurityDescriptor = local_88;
  71.   local_74.bInheritHandle = 0;
  72.   local_74.nLength = 0xc;
  73.   local_68 = CreateMutexW((LPSECURITY_ATTRIBUTES)&local_74,0,
  74.                           (LPCWSTR)PTR_u_Global__9C2320FE_AB18_401a_8E24__0059f018);
  75.   if (local_68 == (HANDLE)0x0) goto exit_function;
  76.   WaitForSingleObject(local_68,0xffffffff);
  77.  
  78.  
  79.   local_4c = 0x28;
  80.   LVar3 = RegQueryValueExW(local_50,L"FrameModelNumber",(LPDWORD)0x0,(LPDWORD)0x0,(LPBYTE)FrameModelNumber_regvalue,
  81.                            &local_4c);
  82.   if (LVar3 == ERROR_SUCCESS) {
  83.     local_4c = 0x14;
  84.  
  85.     LVar3 = RegQueryValueExW(local_50,L"NoDisplaySwitching",(LPDWORD)0x0,(LPDWORD)0x0,
  86.                              (LPBYTE)local_1c,&local_4c);
  87.  
  88.     if (LVar3 == ERROR_SUCCESS) { //if NoDisplaySwitching key is there, then
  89.       iVar1 = _wcsicmp(local_1c,L"true"); //let's string compare the value returned with true. wcsicmp returns 0 if strings match
  90.       *(bool *)NoDisplaySwitching_status = iVar1 != 0;
  91.     }
  92.     else {
  93.       *NoDisplaySwitching_status = 1;
  94.     }
  95.     local_4c = 4;
  96.     LVar3 = RegQueryValueExW(local_50,L"MfgOnly",(LPDWORD)0x0,&local_64,(LPBYTE)&local_60,&local_4c);
  97.  
  98.  
  99.     if ((((LVar3 == ERROR_SUCCESS) && (local_60 == 1)) && (local_64 == 4)) && (param_4 == 1)) {
  100.  
  101.       //let's call the error_handler_message_printer
  102.       //this is a 0x30 or a Warning message!
  103.  
  104.       notification_message(DAT_005a0938,(wint_t *)L"MANUFACTURING-ONLY SETTINGS ACTIVE!",0x30,7200000,
  105.                          0x10,(wchar_t *)0x0,0,(uint *)0x0,0,(wchar_t *)0x0,1);
  106.     }
  107.  
  108.  
  109.     iVar1 = _wcsicmp(FrameModelNumber_regvalue,L"?NO_FILTER"); // does FrameModelNumber reg entry contain "?NO_FILTER"
  110.     if (iVar1 == 0) { //yes it does
  111.       FrameModelNumber_is_nofilter = 1;
  112.     }
  113.     else {
  114.       sVar4 = wcslen(FrameModelNumber_regvalue);
  115.       if (sVar4 == 0) goto LAB_004138f4; // is the length of the frame model number value zero?
  116.  
  117.       operator_(FrameNumber_string,(wchar_t *)FrameModelNumber_regvalue); //store this away for future use?
  118.     }
  119.   } //end of is there a frame model number registry entry present?
  120.  
  121.   else {
  122. LAB_004138f4:
  123.     FrameModelNumber_is_blank = 1;
  124.   }
  125.  
  126.  
  127.   ReleaseMutex(local_68);
  128.   CloseHandle(local_68);
  129.  
  130.  
  131.   if (FrameModelNumber_is_blank == 1) {
  132.     *local_5c = 1;
  133.     local_47 = 0;
  134.     local_4c = 4;
  135.     LVar3 = RegQueryValueExW(local_50,L"SecureId",(LPDWORD)0x0,&local_60,(LPBYTE)&local_64,&local_4c
  136.                             );
  137.     if (((LVar3 == ERROR_SUCCESS) && (local_64 == 1)) && (local_60 == 4)) {
  138.       local_47 = 1;
  139.     }
  140.     if (param_4 == 1) {
  141.       if (local_47 == 1) {
  142.         pwVar5 = L"NO VALID ID DETECTED IN FRAME!  REQUIRES FACTORY HARDWARE INITIALIZATION!";
  143.       }
  144.       else {
  145.         pwVar5 = L"NO VALID ID DETECTED IN FRAME!  REQUIRES PROPER SYSTEM BIOS!";
  146.       }
  147. LAB_00413a78:
  148.  
  149.       //let's call the error_handler_message_printer
  150.       //this is an 0x10, eror message
  151.       notification_message(DAT_005a0938,(wint_t *)pwVar5,0x10,7200000,0x10,(wchar_t *)0x0,0,
  152.                          (uint *)0x0,0,(wchar_t *)0x0,1);
  153.     }
  154.   }
  155.   else {
  156.     if (FrameModelNumber_is_nofilter == 1) {
  157.       *local_5c = 1;
  158.       pwVar5 = L"SYSTEM FILTER DRIVER MISSING!\nRe-install logic analyzer software or run [agHwInstall -install] from the logic analyzer installation directory.";
  159.  
  160.       goto LAB_00413a78;
  161.     }
  162.   }
  163.   RegCloseKey(local_50);
  164.   if ((FrameModelNumber_is_blank != 1) && (FrameModelNumber_is_nofilter != 1)) {
  165.  
  166.  
  167.     operator_((CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL__ChTraitsCRT_wchar_t_____ *)
  168.               (*(int *)((int)this + 4) + 0x4c),FrameNumber_string);
  169.  
  170.     *(undefined *)(*(int *)((int)this + 4) + 0x50) = *NoDisplaySwitching_status;
  171.  
  172.  
  173.     if (*(int *)(*(int *)((int)this + 4) + 0xa4) != 0) {
  174.  
  175.       CloseHandle(*(HANDLE *)(*(int *)((int)this + 4) + 0xa4));
  176.       *(undefined4 *)(*(int *)((int)this + 4) + 0xa4) = 0;
  177.  
  178.     }
  179.   }
  180. exit_function:
  181.   FUN_00504156();
  182.   return;
  183. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement