/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 * Ghidra 12.1.2 decompiler output for 0x1400cce50 FUN_1400cce50 * Pseudocode, not original source. */ undefined8 FUN_1400cce50(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; }