/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186 * Ghidra 12.1.2 decompiler output for 0x1400da8d0 FUN_1400da8d0 * Pseudocode, not original source. */ ulonglong FUN_1400da8d0(char *param_1,uint param_2,int param_3,undefined4 param_4,undefined8 param_5 ) { int iVar1; void *_Memory; ulonglong uVar2; undefined8 *puVar3; uint uVar4; ulonglong uVar5; undefined8 *puVar6; undefined8 uVar7; if (param_1 == (char *)0x0) { return 0x10; } uVar5 = 0; uVar4 = 0; uVar2 = uVar5; if (param_3 != 0) { puVar3 = ¶m_5; iVar1 = param_3; do { if (0xe < iVar1 - 1U) { return 0x10; } iVar1 = *(int *)(puVar3 + 1); uVar2 = (ulonglong)((int)uVar2 + 1); puVar3 = puVar3 + 3; } while (iVar1 != 0); } if ((int)uVar2 == 0) { return 2; } _Memory = calloc(0x38,uVar2); if (_Memory == (void *)0x0) { return 0xd; } puVar3 = ¶m_5; if (param_3 != 0) { puVar6 = (undefined8 *)((longlong)_Memory + 8); uVar7 = param_5; do { if (0xe < param_3 - 1U) { uVar2 = 0x10; goto LAB_1400da9ea; } *(int *)(puVar6 + -1) = param_3; *(undefined4 *)(puVar6 + 1) = param_4; *puVar6 = uVar7; param_3 = *(int *)(puVar3 + 1); param_4 = *(undefined4 *)(puVar3 + 2); uVar7 = puVar3[3]; puVar3 = puVar3 + 3; uVar4 = (int)uVar5 + 1; uVar5 = (ulonglong)uVar4; puVar6 = puVar6 + 7; } while (param_3 != 0); } uVar2 = FUN_1400daa10(param_1,param_2,(longlong)_Memory,uVar4,1); uVar2 = uVar2 & 0xffffffff; LAB_1400da9ea: free(_Memory); return uVar2; }