/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186 * Ghidra 12.1.2 decompiler output for 0x14000dcb0 FUN_14000dcb0 * Pseudocode, not original source. */ void FUN_14000dcb0(longlong param_1,int param_2) { ulonglong *puVar1; longlong lVar2; longlong *plVar3; longlong *plVar4; bool bVar5; ulonglong uVar6; longlong *plVar7; longlong *plVar8; longlong *local_28; if (*(longlong *)(param_1 + 0x58) != 0) { uVar6 = (ulonglong)(longlong)param_2 % *(ulonglong *)(param_1 + 0x40); local_28 = (longlong *)(*(longlong *)(param_1 + 0x38) + uVar6 * 8); for (plVar7 = *(longlong **)(*(longlong *)(param_1 + 0x38) + uVar6 * 8); plVar7 != (longlong *)0x0; plVar7 = (longlong *)*plVar7) { if (param_2 == (int)plVar7[1]) { if (plVar7 != (longlong *)0x0) goto LAB_14000dcfb; break; } } } plVar7 = (longlong *)0x0; local_28 = (longlong *)0x0; LAB_14000dcfb: if ((plVar7 != (longlong *)0x0) && (puVar1 = (ulonglong *)plVar7[2], puVar1 != (ulonglong *)0x0)) { FUN_14003d040((int *)(param_1 + 0x78)); bVar5 = FUN_14000df80(param_1 + 8,(ulonglong)puVar1); if (bVar5) { FUN_14000e040((undefined8 *)(param_1 + 8),puVar1); } lVar2 = *plVar7; plVar8 = local_28; while (lVar2 == 0) { plVar8 = plVar8 + 1; lVar2 = *plVar8; } *(longlong *)(param_1 + 0x58) = *(longlong *)(param_1 + 0x58) + -1; plVar3 = (longlong *)*local_28; plVar4 = local_28; while (plVar3 != plVar7) { plVar4 = (longlong *)*plVar4; plVar3 = (longlong *)*plVar4; } *plVar4 = *plVar7; operator_delete(plVar7); if ((local_28 == *(longlong **)(param_1 + 0x68)) && (*local_28 == 0)) { *(longlong **)(param_1 + 0x68) = plVar8; } FUN_14003d0d0(param_1 + 0x78); } return; }