/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186 * Ghidra 12.1.2 decompiler output for 0x1400c99a0 FUN_1400c99a0 * Pseudocode, not original source. */ void FUN_1400c99a0(longlong param_1,longlong param_2,longlong param_3,undefined8 param_4) { longlong *plVar1; longlong *plVar2; longlong *plVar3; int iVar4; longlong *plVar5; plVar1 = (longlong *)(param_1 + 0x10); plVar3 = plVar1; FUN_14003d040((int *)plVar1); plVar5 = (longlong *)0x0; plVar2 = plVar5; while( true ) { iVar4 = (int)plVar2; if (iVar4 == *(int *)(param_1 + 0x118)) { plVar3 = plVar5; if (*(longlong *)(param_1 + 0x70) != 0) { plVar3 = *(longlong **)(param_1 + 0x60); } for (; plVar3 != (longlong *)0x0; plVar3 = (longlong *)plVar3[2]) { plVar2 = plVar5; if ((longlong *)plVar3[1] != (longlong *)0x0) { plVar2 = *(longlong **)plVar3[1]; } if ((int)plVar2[0x492] < 4) { plVar2[0x492] = 4; } } FUN_14003d0d0((longlong)plVar1); return; } if ((iVar4 < 0) || (*(int *)(param_1 + 0x118) <= iVar4)) break; param_2 = (longlong)iVar4; param_3 = *(longlong *)(param_1 + 0x110); plVar3 = *(longlong **)(param_3 + param_2 * 8); plVar2 = plVar5; if (plVar3 != (longlong *)0x0) { plVar2 = (longlong *)*plVar3; } plVar3 = (longlong *)plVar2[2]; if ((plVar3 != (longlong *)0x0) && (*plVar3 != 0)) { plVar3 = *(longlong **)(param_3 + param_2 * 8); plVar2 = plVar5; if (plVar3 != (longlong *)0x0) { plVar2 = (longlong *)*plVar3; } plVar3 = plVar5; if ((undefined8 *)plVar2[2] != (undefined8 *)0x0) { plVar3 = *(longlong **)plVar2[2]; } FUN_140043a50(plVar3,param_2,param_3,param_4); } if (*(int *)(param_1 + 0x118) <= iVar4) { /* WARNING: Subroutine does not return */ FUN_14003def0(plVar3,param_2,param_3,param_4); } plVar2 = (longlong *)(ulonglong)(iVar4 + 1); } /* WARNING: Subroutine does not return */ FUN_14003def0(plVar3,param_2,param_3,param_4); }