/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1 * Ghidra 12.1.2 decompiler output for 0x14009c380 FUN_14009c380 * Pseudocode, not original source. */ void FUN_14009c380(SIZE_T *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { int iVar1; uint uVar2; undefined *puVar3; undefined8 *puVar4; undefined **ppuVar5; ulonglong uVar6; undefined8 uVar7; SIZE_T SVar8; undefined *local_res10; undefined8 local_38; byte local_30; char local_2f; byte local_2e; undefined8 local_28; byte local_20; char local_1f; byte local_1e; undefined8 local_18; char local_10; char local_f; char local_e; FUN_14006cb70(param_1,param_2,param_3,param_4); local_res10 = PTR_DAT_1401ac008; iVar1 = FUN_14006ca90("1.2.3.4"); puVar3 = FUN_140053f20((longlong *)&local_res10,iVar1); FUN_14006cac0(puVar3,"1.2.3.4",iVar1); FUN_140054010((longlong *)&local_res10); ppuVar5 = &local_res10; puVar4 = &local_28; uVar7 = 1; FUN_14006ff10(puVar4,(longlong *)ppuVar5,1); FUN_14006cb70(puVar4,ppuVar5,uVar7,param_4); local_res10 = PTR_DAT_1401ac008; iVar1 = FUN_14006ca90("1.2.3.5"); puVar3 = FUN_140053f20((longlong *)&local_res10,iVar1); FUN_14006cac0(puVar3,"1.2.3.5",iVar1); FUN_140054010((longlong *)&local_res10); ppuVar5 = &local_res10; puVar4 = &local_38; uVar7 = 1; FUN_14006ff10(puVar4,(longlong *)ppuVar5,1); FUN_14006cb70(puVar4,ppuVar5,uVar7,param_4); local_res10 = PTR_DAT_1401ac008; iVar1 = FUN_14006ca90("5.6.7.8"); puVar3 = FUN_140053f20((longlong *)&local_res10,iVar1); FUN_14006cac0(puVar3,"5.6.7.8",iVar1); FUN_140054010((longlong *)&local_res10); puVar4 = &local_18; SVar8 = 1; FUN_14006ff10(puVar4,(longlong *)&local_res10,1); uVar6 = (ulonglong)local_30; if (((local_30 != local_20) || (local_2f != local_1f)) || (puVar4 = (undefined8 *)(ulonglong)local_2e, local_2e != local_1e)) { FUN_14006cb70(puVar4,uVar6,SVar8,param_4); local_res10 = PTR_DAT_1401ac010; uVar2 = FUN_14006c9f0(L"AddrPort.IsSameLan fail!"); puVar3 = FUN_140002f30((longlong *)&local_res10,uVar2); SVar8 = (SIZE_T)uVar2; FUN_14006ca20(puVar3,L"AddrPort.IsSameLan fail!",uVar2); FUN_140003010((longlong *)&local_res10); FUN_14009b550(param_1,(wchar_t *)&local_res10,SVar8,param_4); puVar4 = (undefined8 *)(ulonglong)local_2e; uVar6 = (ulonglong)local_30; } if (((local_10 == (char)uVar6) && (local_f == local_2f)) && (local_e == (char)puVar4)) { FUN_14006cb70(puVar4,uVar6,SVar8,param_4); local_res10 = PTR_DAT_1401ac010; uVar2 = FUN_14006c9f0(L"AddrPort.IsSameLan fail!"); puVar3 = FUN_140002f30((longlong *)&local_res10,uVar2); SVar8 = (SIZE_T)uVar2; FUN_14006ca20(puVar3,L"AddrPort.IsSameLan fail!",uVar2); FUN_140003010((longlong *)&local_res10); FUN_14009b550(param_1,(wchar_t *)&local_res10,SVar8,param_4); } return; }