server-re/decomp/Agent_Release_x64/full/functions/0x14000f9e0.c
2026-10-14 16:45:19 -04:00

49 lines
1.5 KiB
C

/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469
* Ghidra 12.1.2 decompiler output for 0x14000f9e0 FUN_14000f9e0
* Pseudocode, not original source. */
longlong * FUN_14000f9e0(longlong *param_1,longlong *param_2,longlong *param_3)
{
char cVar1;
longlong *plVar2;
longlong *plVar3;
longlong *local_res10;
undefined8 local_res20;
if ((param_2 == (longlong *)*DAT_140162cf8) && (param_3 == DAT_140162cf8)) {
FUN_14000fed0();
*param_1 = *DAT_140162cf8;
return param_1;
}
while (param_2 != param_3) {
local_res10 = param_2;
if (*(char *)((longlong)param_2 + 0x29) == '\0') {
local_res10 = (longlong *)param_2[2];
if (*(char *)((longlong)local_res10 + 0x29) == '\0') {
cVar1 = *(char *)(*local_res10 + 0x29);
plVar2 = (longlong *)*local_res10;
while (cVar1 == '\0') {
cVar1 = *(char *)(*plVar2 + 0x29);
local_res10 = plVar2;
plVar2 = (longlong *)*plVar2;
}
}
else {
cVar1 = *(char *)(param_2[1] + 0x29);
plVar3 = (longlong *)param_2[1];
plVar2 = param_2;
while ((local_res10 = plVar3, cVar1 == '\0' && (plVar2 == (longlong *)local_res10[2]))) {
cVar1 = *(char *)(local_res10[1] + 0x29);
plVar3 = (longlong *)local_res10[1];
plVar2 = local_res10;
}
}
}
FUN_14000fb80(&local_res20,param_2);
param_2 = local_res10;
}
*param_1 = (longlong)param_2;
return param_1;
}