/* 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; }