/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1 * Ghidra 12.1.2 decompiler output for 0x14012f010 FUN_14012f010 * Pseudocode, not original source. */ void FUN_14012f010(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { int *piVar1; int iVar2; int iVar3; int iVar4; char *pcVar5; FUN_14006cb70(param_1,param_2,param_3,param_4); DAT_1401b7750 = PTR_DAT_1401ac008; iVar2 = FUN_14006ca90( "M-SEARCH * HTTP/1.1\r\nHost:239.255.255.250:1900\r\nST:upnp:rootdevice\r\nMan:\"ssdp:discover\"\r\nMX:3\r\n\r\n" ); if (DAT_1401b7750 == (char *)0x0) { iVar4 = 0; } else if (DAT_1401b7750 == PTR_DAT_1401ac008) { iVar4 = 0; } else { iVar4 = *(int *)(DAT_1401b7750 + -8); } iVar3 = iVar2; if (iVar2 <= iVar4) { if (DAT_1401b7750 == (char *)0x0) { iVar3 = 0; } else if (DAT_1401b7750 == PTR_DAT_1401ac008) { iVar3 = 0; } else { iVar3 = *(int *)(DAT_1401b7750 + -8); } } iVar4 = 1; if (1 < iVar3) { iVar4 = iVar3; } if (DAT_1401b7750 == (char *)0x0) { iVar3 = 0; } else if (DAT_1401b7750 == PTR_DAT_1401ac008) { iVar3 = 0; } else { iVar3 = *(int *)(DAT_1401b7750 + -8); } if (iVar3 < iVar4) { FUN_140053d50((longlong *)&DAT_1401b7750,iVar4); } FUN_140053e30((longlong *)&DAT_1401b7750); pcVar5 = DAT_1401b7750; if (DAT_1401b7750 == (char *)0x0) { pcVar5 = PTR_DAT_1401ac008; } FUN_14006cac0(pcVar5, "M-SEARCH * HTTP/1.1\r\nHost:239.255.255.250:1900\r\nST:upnp:rootdevice\r\nMan:\"ssdp:discover\"\r\nMX:3\r\n\r\n" ,iVar2); pcVar5 = DAT_1401b7750; if (DAT_1401b7750 == (char *)0x0) { pcVar5 = PTR_DAT_1401ac008; } iVar4 = FUN_14006ca90(pcVar5); iVar2 = 0; if (0 < iVar4) { iVar2 = iVar4; } if (DAT_1401b7750 == (char *)0x0) { iVar4 = 0; } else if (DAT_1401b7750 == PTR_DAT_1401ac008) { iVar4 = 0; } else { iVar4 = *(int *)(DAT_1401b7750 + -8); } if (iVar4 <= iVar2) { if (DAT_1401b7750 == (char *)0x0) { iVar2 = 0; } else if (DAT_1401b7750 == PTR_DAT_1401ac008) { iVar2 = 0; } else { iVar2 = *(int *)(DAT_1401b7750 + -8); } } if (((DAT_1401b7750 != PTR_DAT_1401ac008) && (DAT_1401b7750 != (char *)0x0)) && (piVar1 = (int *)(DAT_1401b7750 + -8), piVar1 != (int *)0x0)) { *piVar1 = iVar2; *(undefined1 *)((longlong)iVar2 + 8 + (longlong)piVar1) = 0; } atexit((_func_5014 *)&LAB_14012f930); return; }