/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 * Ghidra 12.1.2 decompiler output for 0x14002a930 FUN_14002a930 * Pseudocode, not original source. */ longlong * FUN_14002a930(longlong *param_1,longlong *param_2) { ulonglong *puVar1; undefined1 *puVar2; undefined8 uVar3; undefined1 *puVar4; undefined1 *puVar5; longlong lVar6; longlong lVar7; ulonglong uVar8; ulonglong uVar9; if (param_1 == param_2) { return param_1; } puVar2 = (undefined1 *)*param_2; lVar6 = param_2[1] - (longlong)puVar2; lVar6 = lVar6 / 6 + (lVar6 >> 0x3f); lVar7 = lVar6 >> 3; lVar6 = lVar6 >> 0x3f; uVar8 = lVar7 - lVar6; if (lVar7 != lVar6) { puVar1 = (ulonglong *)*param_1; lVar6 = param_1[1] - (longlong)puVar1; lVar6 = lVar6 / 6 + (lVar6 >> 0x3f); uVar9 = (lVar6 >> 3) - (lVar6 >> 0x3f); if (uVar9 < uVar8) { if ((ulonglong)((param_1[2] - (longlong)puVar1) / 0x30) < uVar8) { if (puVar1 != (ulonglong *)0x0) { FUN_14000e870(puVar1,(ulonglong *)param_1[1]); operator_delete((void *)*param_1); } uVar3 = FUN_14000e760(param_1,(param_2[1] - *param_2) / 0x30); if ((char)uVar3 == '\0') { return param_1; } puVar2 = (undefined1 *)*param_1; puVar4 = (undefined1 *)param_2[1]; puVar5 = (undefined1 *)*param_2; } else { puVar5 = puVar2 + uVar9 * 0x30; FUN_1400216d0(puVar2,puVar5,(undefined1 *)puVar1); puVar2 = (undefined1 *)param_1[1]; puVar4 = (undefined1 *)param_2[1]; } puVar2 = FUN_14002ab60(puVar5,puVar4,puVar2); } else { puVar1 = (ulonglong *)FUN_1400216d0(puVar2,(undefined1 *)param_2[1],(undefined1 *)puVar1); FUN_14000e870(puVar1,(ulonglong *)param_1[1]); puVar2 = (undefined1 *)(((param_2[1] - *param_2) / 0x30) * 0x30 + *param_1); } param_1[1] = (longlong)puVar2; return param_1; } FUN_14002aad0(param_1); return param_1; }