/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1 * Ghidra 12.1.2 decompiler output for 0x14006c370 FUN_14006c370 * Pseudocode, not original source. */ undefined8 FUN_14006c370(undefined8 param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { HANDLE pvVar1; ulonglong uVar2; bool bVar3; undefined4 local_res8 [8]; undefined8 uVar4; uVar4 = 0xfffffffffffffffe; LOCK(); bVar3 = DAT_1401b4200 == 0; if (bVar3) { DAT_1401b4200 = 1; } UNLOCK(); if (bVar3) { local_res8[0] = 2; if ((DAT_1401b41e8 & 1) == 0) { DAT_1401b41e8 = DAT_1401b41e8 | 1; FUN_14006c0e0((undefined8 *)&DAT_1401b4180,param_2,param_3,param_4); } uVar2 = (ulonglong)DAT_1401b41e8; if (DAT_1401b4188 != (code *)0x0) { if ((DAT_1401b41e8 & 1) == 0) { DAT_1401b41e8 = DAT_1401b41e8 | 1; FUN_14006c0e0((undefined8 *)&DAT_1401b4180,param_2,param_3,param_4); } pvVar1 = GetProcessHeap(); uVar2 = (*DAT_1401b4188)(pvVar1,0,local_res8,4,uVar4); } uVar4 = CONCAT71((int7)(uVar2 >> 8),1); } else { uVar4 = 1; } return uVar4; }