/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186 * Ghidra 12.1.2 decompiler output for 0x14000ab30 FUN_14000ab30 * Pseudocode, not original source. */ longlong * FUN_14000ab30(short *param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) { longlong *plVar1; void *pvVar2; longlong *plVar3; uint uVar4; int iVar5; undefined *puVar6; longlong **pplVar7; longlong lVar8; short *psVar9; longlong *local_res18 [2]; undefined8 uVar10; short local_30 [4]; longlong local_28; uVar10 = 0xfffffffffffffffe; psVar9 = (short *)0x0; FUN_140074970(param_1,param_2,param_3,param_4); local_res18[0] = (longlong *)0x0; if (*param_1 == 8) { lVar8 = *(longlong *)(param_1 + 4); pplVar7 = local_res18; FUN_14000aa30((longlong *)pplVar7,lVar8); local_28 = lVar8; } else { Ordinal_8(local_30); param_4 = 8; if ((local_30 != param_1) || (local_30[0] != 8)) { param_3 = 0; uVar4 = Ordinal_12(local_30,param_1,0,8,uVar10); if ((int)uVar4 < 0) { /* WARNING: Subroutine does not return */ FUN_140048d70((ulonglong)uVar4); } } FUN_14000aa30((longlong *)local_res18,local_28); pplVar7 = (longlong **)local_30; Ordinal_9(); } plVar1 = local_res18[0]; if (local_res18[0] != (longlong *)0x0) { psVar9 = (short *)*local_res18[0]; } FUN_14003e7c0(pplVar7,local_28,param_3,param_4); *param_2 = (longlong)PTR_DAT_14016f010; iVar5 = FUN_14003e620(psVar9); puVar6 = FUN_140001ee0(param_2,iVar5); FUN_14003e650(puVar6,psVar9,iVar5); FUN_140001fc0(param_2); plVar3 = local_res18[0]; if (plVar1 != (longlong *)0x0) { LOCK(); plVar1 = plVar1 + 2; lVar8 = *plVar1; *(int *)plVar1 = (int)*plVar1 + -1; UNLOCK(); if ((int)lVar8 == 1) { if (*local_res18[0] != 0) { Ordinal_6(); } pvVar2 = (void *)plVar3[1]; if (pvVar2 != (void *)0x0) { operator_delete__(pvVar2); } operator_delete(plVar3); } } return param_2; }