/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 * Ghidra 12.1.2 decompiler output for 0x1400b5550 FUN_1400b5550 * Pseudocode, not original source. */ longlong FUN_1400b5550(longlong param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { longlong *plVar1; void *pvVar2; undefined8 *puVar3; longlong *plVar4; longlong *plVar5; longlong lVar6; longlong *local_res8; undefined8 *local_res10; plVar4 = operator_new(0x18); plVar5 = (longlong *)0x0; local_res8 = plVar4; if (plVar4 != (longlong *)0x0) { plVar4[2] = 0; plVar4[1] = 0; *plVar4 = param_1; local_res10 = operator_new(0x30); if (local_res10 != (undefined8 *)0x0) { plVar5 = FUN_1400b3210(local_res10); } plVar4[2] = (longlong)plVar5; plVar5 = plVar4; } if (plVar5 == (longlong *)0x0) { local_res8 = (longlong *)0x0; } else { local_res8 = (longlong *)FUN_140030280(0x10); local_res8[1] = 1; *local_res8 = (longlong)plVar5; } plVar5 = local_res8; lVar6 = FUN_140072070((longlong *)(param_1 + 0x28),(longlong *)&local_res8); plVar4 = local_res8; if (plVar5 != (longlong *)0x0) { plVar1 = plVar5 + 1; *plVar1 = *plVar1 + -1; lVar6 = plVar5[1]; if (*plVar1 == 0) { pvVar2 = (void *)*local_res8; if (pvVar2 != (void *)0x0) { puVar3 = *(undefined8 **)((longlong)pvVar2 + 0x10); if (puVar3 != (undefined8 *)0x0) { (**(code **)*puVar3)(puVar3,1); } operator_delete(pvVar2); } lVar6 = FUN_1400302f0(plVar4); } } return lVar6; }