/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 * Ghidra 12.1.2 decompiler output for 0x14002faf0 FUN_14002faf0 * Pseudocode, not original source. */ undefined8 FUN_14002faf0(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_14015bf00 == 0; if (bVar3) { DAT_14015bf00 = 1; } UNLOCK(); if (bVar3) { local_res8[0] = 2; if ((DAT_14015bee8 & 1) == 0) { DAT_14015bee8 = DAT_14015bee8 | 1; FUN_14002f870((undefined8 *)&DAT_14015be80,param_2,param_3,param_4); } uVar2 = (ulonglong)DAT_14015bee8; if (DAT_14015be88 != (code *)0x0) { if ((DAT_14015bee8 & 1) == 0) { DAT_14015bee8 = DAT_14015bee8 | 1; FUN_14002f870((undefined8 *)&DAT_14015be80,param_2,param_3,param_4); } pvVar1 = GetProcessHeap(); uVar2 = (*DAT_14015be88)(pvVar1,0,local_res8,4,uVar4); } uVar4 = CONCAT71((int7)(uVar2 >> 8),1); } else { uVar4 = 1; } return uVar4; }