/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186 * Ghidra 12.1.2 decompiler output for 0x14008ccf0 FUN_14008ccf0 * Pseudocode, not original source. */ void FUN_14008ccf0(undefined8 *param_1,undefined8 param_2,longlong param_3) { int iVar1; longlong lVar2; longlong lVar3; if (param_1[0xce] != 0) { iVar1 = *(int *)(param_1 + 0xd2); param_3 = 0; if (0 < (longlong)iVar1) { do { if (*(int *)(param_1 + 0xd2) == 0) { lVar3 = 0; } else { lVar3 = param_1[0xd1]; } lVar3 = *(longlong *)(lVar3 + param_3 * 8); lVar2 = param_1[0xce]; if ((*(short *)(lVar3 + -8) != 0x1de6) || (*(longlong *)(lVar3 + 0x50) != 0)) { /* WARNING: Subroutine does not return */ FUN_14003dec0(); } param_3 = param_3 + 1; *(undefined8 *)(lVar3 + 0x50) = *(undefined8 *)(lVar2 + 0x80); *(short **)(lVar2 + 0x80) = (short *)(lVar3 + -8); } while (param_3 < iVar1); } } FUN_14008c630((longlong)(param_1 + 0xcf),0,param_3); if ((100 < (ulonglong)param_1[2]) && ((void *)*param_1 != (void *)0x0)) { operator_delete__((void *)*param_1); *param_1 = 0; } param_1[1] = 0; param_1[2] = 100; *(undefined4 *)(param_1 + 0xd5) = DAT_14016f3d0; *(undefined2 *)((longlong)param_1 + 0x6ac) = DAT_14016f3d4; param_1[0xce] = 0; *(undefined4 *)(param_1 + 0xd6) = 0xffffffff; return; }