88 lines
2.6 KiB
C
88 lines
2.6 KiB
C
/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c
|
|
* Ghidra 12.1.2 decompiler output for 0x1401f5eb0 FUN_1401f5eb0
|
|
* Pseudocode, not original source. */
|
|
|
|
void FUN_1401f5eb0(longlong param_1)
|
|
|
|
{
|
|
ulonglong *puVar1;
|
|
longlong lVar2;
|
|
longlong lVar3;
|
|
undefined8 *puVar4;
|
|
ulonglong uVar5;
|
|
ulonglong uVar6;
|
|
longlong lVar7;
|
|
ulonglong uVar8;
|
|
int iVar9;
|
|
double dVar10;
|
|
ulonglong *local_res8;
|
|
|
|
FUN_14016db50(param_1 + 0x10);
|
|
dVar10 = (double)FUN_1401eac50(*(undefined8 *)(param_1 + 8));
|
|
if (600.0 < dVar10 - *(double *)(param_1 + 0x128)) {
|
|
uVar8 = 0;
|
|
uVar5 = uVar8;
|
|
while (iVar9 = (int)uVar5, iVar9 != *(int *)(param_1 + 0x118)) {
|
|
if ((iVar9 < 0) || (*(int *)(param_1 + 0x118) <= iVar9)) {
|
|
/* WARNING: Subroutine does not return */
|
|
FUN_14016d6e0();
|
|
}
|
|
lVar7 = (longlong)iVar9;
|
|
lVar2 = *(longlong *)(param_1 + 0x110);
|
|
local_res8 = (ulonglong *)0x0;
|
|
lVar3 = *(longlong *)(lVar2 + lVar7 * 8);
|
|
if (lVar3 != 0) {
|
|
*(longlong *)(*(longlong *)(lVar2 + lVar7 * 8) + 8) = *(longlong *)(lVar3 + 8) + 1;
|
|
local_res8 = *(ulonglong **)(lVar2 + lVar7 * 8);
|
|
}
|
|
uVar5 = uVar8;
|
|
if (local_res8 != (ulonglong *)0x0) {
|
|
uVar5 = *local_res8;
|
|
}
|
|
if ((*(longlong **)(uVar5 + 0x10) != (longlong *)0x0) && (**(longlong **)(uVar5 + 0x10) != 0))
|
|
{
|
|
uVar5 = uVar8;
|
|
if (local_res8 != (ulonglong *)0x0) {
|
|
uVar5 = *local_res8;
|
|
}
|
|
uVar6 = uVar8;
|
|
if (*(ulonglong **)(uVar5 + 0x10) != (ulonglong *)0x0) {
|
|
uVar6 = **(ulonglong **)(uVar5 + 0x10);
|
|
}
|
|
FUN_14019c630(uVar6);
|
|
}
|
|
if (local_res8 != (ulonglong *)0x0) {
|
|
puVar1 = local_res8 + 1;
|
|
*puVar1 = *puVar1 - 1;
|
|
if (*puVar1 == 0) {
|
|
puVar4 = (undefined8 *)*local_res8;
|
|
if (puVar4 != (undefined8 *)0x0) {
|
|
(**(code **)*puVar4)(puVar4,1);
|
|
}
|
|
FUN_14016d970(local_res8);
|
|
}
|
|
}
|
|
if (*(int *)(param_1 + 0x118) <= iVar9) {
|
|
/* WARNING: Subroutine does not return */
|
|
FUN_14016d6e0();
|
|
}
|
|
uVar5 = (ulonglong)(iVar9 + 1);
|
|
}
|
|
uVar5 = uVar8;
|
|
if (*(longlong *)(param_1 + 0x70) != 0) {
|
|
uVar5 = *(ulonglong *)(param_1 + 0x60);
|
|
}
|
|
for (; uVar5 != 0; uVar5 = *(ulonglong *)(uVar5 + 0x10)) {
|
|
uVar6 = uVar8;
|
|
if (*(ulonglong **)(uVar5 + 8) != (ulonglong *)0x0) {
|
|
uVar6 = **(ulonglong **)(uVar5 + 8);
|
|
}
|
|
if (*(int *)(uVar6 + 0x2490) < 4) {
|
|
*(undefined8 *)(uVar6 + 0x2490) = 4;
|
|
}
|
|
}
|
|
}
|
|
FUN_14016dbe0(param_1 + 0x10);
|
|
return;
|
|
}
|
|
|