Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void __thiscall
- FUN_00413799(void *this,
- CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL__ChTraitsCRT_wchar_t_____
- *param_1,undefined *param_2,undefined *param_3,char param_4)
- {
- HANDLE hHandle;
- int iVar1;
- DWORD DVar2;
- LSTATUS LVar3;
- size_t sVar4;
- wchar_t *pwVar5;
- undefined local_88 [20];
- _SECURITY_ATTRIBUTES local_74;
- HANDLE local_68;
- DWORD local_64;
- DWORD local_60;
- undefined *local_5c;
- undefined *NoDisplaySwitching_status;
- CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL__ChTraitsCRT_wchar_t_____ *FrameNumber_string;
- HKEY local_50;
- DWORD local_4c;
- char local_47;
- char FrameModelNumber_is_nofilter;
- char FrameModelNumber_is_blank;
- wchar_t FrameModelNumber_regvalue [20];
- wchar_t local_1c [10];
- uint local_8;
- local_8 = DAT_005a04ac ^ (uint)&stack0xfffffffc;
- FrameNumber_string = param_1;
- NoDisplaySwitching_status = param_2;
- *param_3 = 0;
- local_5c = param_3;
- iVar1 = Compare((
- CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL__ChTraitsCRT_wchar_t_____
- *)(*(int *)((int)this + 4) + 0x4c),(wchar_t *)&DAT_005397b8);
- if (iVar1 != 0) {
- operator_(FrameNumber_string,(
- CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL__ChTraitsCRT_wchar_t_____
- *)(*(int *)((int)this + 4) + 0x4c));
- *NoDisplaySwitching_status = *(undefined *)(*(int *)((int)this + 4) + 0x50);
- goto exit_function;
- }
- operator_(FrameNumber_string,(wchar_t *)&DAT_005397b8);
- hHandle = *(HANDLE *)(*(int *)((int)this + 4) + 0xa4);
- if ((hHandle == (HANDLE)0x0) || (DVar2 = WaitForSingleObject(hHandle,0), DVar2 != 0)) goto exit_function;
- //Check to see if AgMachineInfo is present
- LVar3 = RegOpenKeyExW((HKEY)0x80000002,L"System\\AgMachineInfo",0,1,(PHKEY)&local_50);
- if (LVar3 != ERROR_SUCCESS) { // if the agmi isn't there
- if (param_4 == 1) {
- //let's call the error_handler_message_printer
- //this is an 0x10, eror message
- notification_message(DAT_005a0938,(wint_t *)L"NO VALID ID DETECTED IN FRAME!",0x10,7200000,0x10,
- (wchar_t *)0x0,0,(uint *)0x0,0,(wchar_t *)0x0,1);
- }
- *local_5c = 1;
- goto exit_function;
- }
- FrameModelNumber_is_blank = 0;
- FrameModelNumber_is_nofilter = 0;
- InitializeSecurityDescriptor(local_88,1);
- SetSecurityDescriptorDacl(local_88,1,(PACL)0x0,1);
- local_74.lpSecurityDescriptor = local_88;
- local_74.bInheritHandle = 0;
- local_74.nLength = 0xc;
- local_68 = CreateMutexW((LPSECURITY_ATTRIBUTES)&local_74,0,
- (LPCWSTR)PTR_u_Global__9C2320FE_AB18_401a_8E24__0059f018);
- if (local_68 == (HANDLE)0x0) goto exit_function;
- WaitForSingleObject(local_68,0xffffffff);
- local_4c = 0x28;
- LVar3 = RegQueryValueExW(local_50,L"FrameModelNumber",(LPDWORD)0x0,(LPDWORD)0x0,(LPBYTE)FrameModelNumber_regvalue,
- &local_4c);
- if (LVar3 == ERROR_SUCCESS) {
- local_4c = 0x14;
- LVar3 = RegQueryValueExW(local_50,L"NoDisplaySwitching",(LPDWORD)0x0,(LPDWORD)0x0,
- (LPBYTE)local_1c,&local_4c);
- if (LVar3 == ERROR_SUCCESS) { //if NoDisplaySwitching key is there, then
- iVar1 = _wcsicmp(local_1c,L"true"); //let's string compare the value returned with true. wcsicmp returns 0 if strings match
- *(bool *)NoDisplaySwitching_status = iVar1 != 0;
- }
- else {
- *NoDisplaySwitching_status = 1;
- }
- local_4c = 4;
- LVar3 = RegQueryValueExW(local_50,L"MfgOnly",(LPDWORD)0x0,&local_64,(LPBYTE)&local_60,&local_4c);
- if ((((LVar3 == ERROR_SUCCESS) && (local_60 == 1)) && (local_64 == 4)) && (param_4 == 1)) {
- //let's call the error_handler_message_printer
- //this is a 0x30 or a Warning message!
- notification_message(DAT_005a0938,(wint_t *)L"MANUFACTURING-ONLY SETTINGS ACTIVE!",0x30,7200000,
- 0x10,(wchar_t *)0x0,0,(uint *)0x0,0,(wchar_t *)0x0,1);
- }
- iVar1 = _wcsicmp(FrameModelNumber_regvalue,L"?NO_FILTER"); // does FrameModelNumber reg entry contain "?NO_FILTER"
- if (iVar1 == 0) { //yes it does
- FrameModelNumber_is_nofilter = 1;
- }
- else {
- sVar4 = wcslen(FrameModelNumber_regvalue);
- if (sVar4 == 0) goto LAB_004138f4; // is the length of the frame model number value zero?
- operator_(FrameNumber_string,(wchar_t *)FrameModelNumber_regvalue); //store this away for future use?
- }
- } //end of is there a frame model number registry entry present?
- else {
- LAB_004138f4:
- FrameModelNumber_is_blank = 1;
- }
- ReleaseMutex(local_68);
- CloseHandle(local_68);
- if (FrameModelNumber_is_blank == 1) {
- *local_5c = 1;
- local_47 = 0;
- local_4c = 4;
- LVar3 = RegQueryValueExW(local_50,L"SecureId",(LPDWORD)0x0,&local_60,(LPBYTE)&local_64,&local_4c
- );
- if (((LVar3 == ERROR_SUCCESS) && (local_64 == 1)) && (local_60 == 4)) {
- local_47 = 1;
- }
- if (param_4 == 1) {
- if (local_47 == 1) {
- pwVar5 = L"NO VALID ID DETECTED IN FRAME! REQUIRES FACTORY HARDWARE INITIALIZATION!";
- }
- else {
- pwVar5 = L"NO VALID ID DETECTED IN FRAME! REQUIRES PROPER SYSTEM BIOS!";
- }
- LAB_00413a78:
- //let's call the error_handler_message_printer
- //this is an 0x10, eror message
- notification_message(DAT_005a0938,(wint_t *)pwVar5,0x10,7200000,0x10,(wchar_t *)0x0,0,
- (uint *)0x0,0,(wchar_t *)0x0,1);
- }
- }
- else {
- if (FrameModelNumber_is_nofilter == 1) {
- *local_5c = 1;
- pwVar5 = L"SYSTEM FILTER DRIVER MISSING!\nRe-install logic analyzer software or run [agHwInstall -install] from the logic analyzer installation directory.";
- goto LAB_00413a78;
- }
- }
- RegCloseKey(local_50);
- if ((FrameModelNumber_is_blank != 1) && (FrameModelNumber_is_nofilter != 1)) {
- operator_((CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL__ChTraitsCRT_wchar_t_____ *)
- (*(int *)((int)this + 4) + 0x4c),FrameNumber_string);
- *(undefined *)(*(int *)((int)this + 4) + 0x50) = *NoDisplaySwitching_status;
- if (*(int *)(*(int *)((int)this + 4) + 0xa4) != 0) {
- CloseHandle(*(HANDLE *)(*(int *)((int)this + 4) + 0xa4));
- *(undefined4 *)(*(int *)((int)this + 4) + 0xa4) = 0;
- }
- }
- exit_function:
- FUN_00504156();
- return;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement