/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c * Ghidra 12.1.2 decompiler output for 0x1401ebfd0 FUN_1401ebfd0 * Pseudocode, not original source. */ void FUN_1401ebfd0(longlong param_1) { undefined *puVar1; int *piVar2; longlong *plVar3; undefined *puVar4; undefined8 uVar5; undefined8 uVar6; longlong lVar7; double dVar8; undefined *local_res8; uVar5 = (**(code **)(**(longlong **)(param_1 + 0x108) + 0x58))(); FUN_14016db50(uVar5); lVar7 = *(longlong *)(param_1 + 0x108); if (0.0 < *(double *)(lVar7 + 0x1648)) { dVar8 = (double)(**(code **)(*(longlong *)(lVar7 + 0x70) + 0x1c0))(); if (10.0 < dVar8 - *(double *)(lVar7 + 0x1648)) { if ((*(char *)(lVar7 + 0x1790) != '\0') || (*(int *)(lVar7 + 0x6c8) != 0)) { FUN_1401d4c70(lVar7,0, L"**WARNING** CNetClient.FrameMove is not called in ten seconds. Is this your intention?" ); } *(undefined8 *)(*(longlong *)(param_1 + 0x108) + 0x1648) = 0xbff0000000000000; } } lVar7 = *(longlong *)(param_1 + 0x108); dVar8 = (double)(**(code **)(*(longlong *)(lVar7 + 0x70) + 0x1c0))(); dVar8 = dVar8 - *(double *)(*(longlong *)(param_1 + 0x108) + 0x18c0); if (((*(double *)(lVar7 + 0x6a8) <= dVar8 && dVar8 != *(double *)(lVar7 + 0x6a8)) && (*(longlong **)(lVar7 + 0x5d0) != (longlong *)0x0)) && (**(longlong **)(lVar7 + 0x5d0) != 0)) { if ((*(char *)(lVar7 + 0x1790) != '\0') || (*(int *)(lVar7 + 0x6c8) != 0)) { lVar7 = *(longlong *)(param_1 + 0x108); FUN_1401d4c70(lVar7,0,&DAT_140293220,*(undefined8 *)(lVar7 + 0x6a8), *(undefined4 *)(lVar7 + 0x1578)); } FUN_14016d8c0(); local_res8 = PTR_DAT_1403440a0; FUN_1401df890(*(undefined8 *)(param_1 + 0x108),0xc,7,&local_res8); puVar4 = local_res8; if (((local_res8 != (undefined *)0x0) && (local_res8 != PTR_DAT_1403440a0)) && (puVar1 = local_res8 + -8, puVar1 != (undefined *)0x0)) { uVar6 = FUN_14016d8c0(); FUN_14016db50(uVar6); piVar2 = (int *)(puVar4 + -4); *piVar2 = *piVar2 + -1; if (*piVar2 == 0) { FUN_14016d970(puVar1); } FUN_14016dbe0(uVar6); } local_res8 = PTR_DAT_1403440a0; plVar3 = *(longlong **)(*(longlong *)(param_1 + 0x108) + 0x5d0); lVar7 = 0; if (plVar3 != (longlong *)0x0) { lVar7 = *plVar3; } if (*(int *)(lVar7 + 0x100) < 4) { *(undefined4 *)(lVar7 + 0x40) = 0; *(undefined4 *)(lVar7 + 0x100) = 4; uVar6 = (**(code **)(*(longlong *)(*(longlong *)(lVar7 + 0x108) + 0x70) + 0x1c0))(); *(undefined8 *)(lVar7 + 0x80) = uVar6; *(undefined1 *)(lVar7 + 0xc0) = 0; } } FUN_1401eb400(param_1); FUN_1401d6850(*(undefined8 *)(param_1 + 0x108)); FUN_1401d1070(*(undefined8 *)(param_1 + 0x108)); FUN_1401d1360(*(undefined8 *)(param_1 + 0x108)); FUN_1401d15c0(*(undefined8 *)(param_1 + 0x108)); FUN_1401e1ac0(*(undefined8 *)(param_1 + 0x108)); FUN_1401c9210(*(undefined8 *)(param_1 + 0x108)); FUN_1401c9370(*(undefined8 *)(param_1 + 0x108)); FUN_1401d7200(*(undefined8 *)(param_1 + 0x108)); FUN_14016dbe0(uVar5); return; }