73 lines
1.9 KiB
C
73 lines
1.9 KiB
C
/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469
|
|
* Ghidra 12.1.2 decompiler output for 0x140002ea0 FUN_140002ea0
|
|
* Pseudocode, not original source. */
|
|
|
|
void FUN_140002ea0(longlong *param_1)
|
|
|
|
{
|
|
int iVar1;
|
|
undefined *puVar2;
|
|
undefined8 *puVar3;
|
|
uint *puVar4;
|
|
uint uVar5;
|
|
uint uVar6;
|
|
undefined *puVar7;
|
|
ulonglong uVar8;
|
|
undefined8 in_R9;
|
|
|
|
puVar7 = (undefined *)*param_1;
|
|
if (puVar7 == (undefined *)0x0) {
|
|
*param_1 = (longlong)PTR_DAT_140155010;
|
|
}
|
|
else if ((puVar7 != PTR_DAT_140155010) && ((int *)(puVar7 + -8) != (int *)0x0)) {
|
|
if (*(int *)(puVar7 + -4) < 2) {
|
|
return;
|
|
}
|
|
iVar1 = *(int *)(puVar7 + -8);
|
|
if (iVar1 < 0) {
|
|
/* WARNING: Subroutine does not return */
|
|
FUN_14002f590();
|
|
}
|
|
puVar4 = (uint *)FUN_140030280((longlong)iVar1 * 2 + 10);
|
|
uVar5 = 0;
|
|
if (puVar4 != (uint *)0x0) {
|
|
*puVar4 = 0;
|
|
puVar4[1] = 1;
|
|
}
|
|
puVar2 = PTR_DAT_140155010;
|
|
puVar7 = (undefined *)*param_1;
|
|
if (puVar7 == (undefined *)0x0) {
|
|
uVar6 = 0;
|
|
}
|
|
else {
|
|
uVar6 = uVar5;
|
|
if (puVar7 != PTR_DAT_140155010) {
|
|
uVar6 = *(uint *)(puVar7 + -8);
|
|
}
|
|
}
|
|
*puVar4 = uVar6;
|
|
puVar7 = (undefined *)*param_1;
|
|
if ((puVar7 != (undefined *)0x0) && (puVar7 != puVar2)) {
|
|
uVar5 = *(uint *)(puVar7 + -8);
|
|
}
|
|
if (puVar7 == (undefined *)0x0) {
|
|
puVar7 = puVar2;
|
|
}
|
|
uVar8 = (ulonglong)uVar5;
|
|
FUN_1400300b0(puVar4 + 2,puVar7,uVar5);
|
|
FUN_140003240(param_1,puVar7,uVar8,in_R9);
|
|
*param_1 = (longlong)(puVar4 + 2);
|
|
return;
|
|
}
|
|
puVar3 = (undefined8 *)FUN_140030280(10);
|
|
*puVar3 = 0;
|
|
*(undefined2 *)(puVar3 + 1) = 0;
|
|
if (puVar3 != (undefined8 *)0x0) {
|
|
*(undefined4 *)puVar3 = 0;
|
|
*(undefined4 *)((longlong)puVar3 + 4) = 1;
|
|
}
|
|
*(undefined2 *)(puVar3 + 1) = 0;
|
|
*param_1 = (longlong)(puVar3 + 1);
|
|
return;
|
|
}
|
|
|