65 lines
2 KiB
C
65 lines
2 KiB
C
/* 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;
|
|
}
|
|
|