/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186 * Ghidra 12.1.2 decompiler output for 0x1400ddb60 FUN_1400ddb60 * Pseudocode, not original source. */ undefined8 FUN_1400ddb60(longlong param_1,uint param_2) { int iVar1; void *pvVar2; uint uVar3; ulonglong uVar4; longlong lVar5; int iVar6; if (*(int *)(param_1 + 4) < (int)param_2) { uVar3 = param_2 & 0x8000001f; if ((int)uVar3 < 0) { uVar3 = (uVar3 - 1 | 0xffffffe0) + 1; } iVar6 = param_2 + (0x40 - uVar3); pvVar2 = realloc(*(void **)(param_1 + 0x10),(longlong)iVar6 << 2); if (pvVar2 == (void *)0x0) { return 0xfffffffe; } iVar1 = *(int *)(param_1 + 4); uVar4 = (ulonglong)iVar1; *(void **)(param_1 + 0x10) = pvVar2; *(int *)(param_1 + 4) = iVar6; if (iVar1 < iVar6) { lVar5 = uVar4 << 2; do { uVar3 = (int)uVar4 + 1; uVar4 = (ulonglong)uVar3; *(undefined4 *)(lVar5 + *(longlong *)(param_1 + 0x10)) = 0; lVar5 = lVar5 + 4; } while ((int)uVar3 < *(int *)(param_1 + 4)); } } return 0; }