41 lines
1.1 KiB
C
41 lines
1.1 KiB
C
/* 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;
|
|
}
|
|
|