server-re/decomp/DBCServer_Release_x64/full/functions/0x1401ebfd0.c

84 lines
3.1 KiB
C

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