63 lines
1.9 KiB
C
63 lines
1.9 KiB
C
/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c
|
|
* Ghidra 12.1.2 decompiler output for 0x1401f4bb0 FUN_1401f4bb0
|
|
* Pseudocode, not original source. */
|
|
|
|
void FUN_1401f4bb0(longlong param_1)
|
|
|
|
{
|
|
ulonglong *puVar1;
|
|
ulonglong uVar2;
|
|
ulonglong uVar3;
|
|
int iVar4;
|
|
ulonglong uVar5;
|
|
|
|
FUN_14016db50(param_1 + 0x10);
|
|
uVar5 = 0;
|
|
uVar2 = uVar5;
|
|
while( true ) {
|
|
iVar4 = (int)uVar2;
|
|
if (iVar4 == *(int *)(param_1 + 0x118)) {
|
|
uVar2 = uVar5;
|
|
if (*(longlong *)(param_1 + 0x70) != 0) {
|
|
uVar2 = *(ulonglong *)(param_1 + 0x60);
|
|
}
|
|
for (; uVar2 != 0; uVar2 = *(ulonglong *)(uVar2 + 0x10)) {
|
|
uVar3 = uVar5;
|
|
if (*(ulonglong **)(uVar2 + 8) != (ulonglong *)0x0) {
|
|
uVar3 = **(ulonglong **)(uVar2 + 8);
|
|
}
|
|
if (*(int *)(uVar3 + 0x2490) < 4) {
|
|
*(undefined8 *)(uVar3 + 0x2490) = 4;
|
|
}
|
|
}
|
|
FUN_14016dbe0(param_1 + 0x10);
|
|
return;
|
|
}
|
|
if ((iVar4 < 0) || (*(int *)(param_1 + 0x118) <= iVar4)) break;
|
|
puVar1 = *(ulonglong **)(*(longlong *)(param_1 + 0x110) + (longlong)iVar4 * 8);
|
|
uVar2 = uVar5;
|
|
if (puVar1 != (ulonglong *)0x0) {
|
|
uVar2 = *puVar1;
|
|
}
|
|
if ((*(longlong **)(uVar2 + 0x10) != (longlong *)0x0) && (**(longlong **)(uVar2 + 0x10) != 0)) {
|
|
puVar1 = *(ulonglong **)(*(longlong *)(param_1 + 0x110) + (longlong)iVar4 * 8);
|
|
uVar2 = uVar5;
|
|
if (puVar1 != (ulonglong *)0x0) {
|
|
uVar2 = *puVar1;
|
|
}
|
|
uVar3 = uVar5;
|
|
if (*(ulonglong **)(uVar2 + 0x10) != (ulonglong *)0x0) {
|
|
uVar3 = **(ulonglong **)(uVar2 + 0x10);
|
|
}
|
|
FUN_14019c630(uVar3);
|
|
}
|
|
if (*(int *)(param_1 + 0x118) <= iVar4) {
|
|
/* WARNING: Subroutine does not return */
|
|
FUN_14016d6e0();
|
|
}
|
|
uVar2 = (ulonglong)(iVar4 + 1);
|
|
}
|
|
/* WARNING: Subroutine does not return */
|
|
FUN_14016d6e0();
|
|
}
|
|
|