49 lines
1.5 KiB
C
49 lines
1.5 KiB
C
/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c
|
|
* Ghidra 12.1.2 decompiler output for 0x14015fb20 FUN_14015fb20
|
|
* Pseudocode, not original source. */
|
|
|
|
longlong * FUN_14015fb20(longlong *param_1,longlong *param_2,longlong *param_3)
|
|
|
|
{
|
|
char cVar1;
|
|
longlong *plVar2;
|
|
longlong *plVar3;
|
|
longlong *local_res10;
|
|
undefined1 local_res20 [8];
|
|
|
|
if ((param_2 == (longlong *)*DAT_140353138) && (param_3 == DAT_140353138)) {
|
|
FUN_14015ff30();
|
|
*param_1 = *DAT_140353138;
|
|
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_14015fbe0(local_res20,param_2);
|
|
param_2 = local_res10;
|
|
}
|
|
*param_1 = (longlong)param_2;
|
|
return param_1;
|
|
}
|
|
|