53 lines
1.9 KiB
C
53 lines
1.9 KiB
C
/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c
|
|
* Ghidra 12.1.2 decompiler output for 0x1401c9210 FUN_1401c9210
|
|
* Pseudocode, not original source. */
|
|
|
|
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */
|
|
|
|
void FUN_1401c9210(longlong param_1)
|
|
|
|
{
|
|
int *piVar1;
|
|
longlong lVar2;
|
|
double dVar3;
|
|
undefined8 uVar4;
|
|
undefined4 local_res8 [2];
|
|
|
|
if ((*(char *)(param_1 + 0x6cc) != '\0') &&
|
|
(dVar3 = (double)(**(code **)(*(longlong *)(param_1 + 0x70) + 0x1c0))(param_1 + 0x70),
|
|
_DAT_140344d98 < dVar3 - *(double *)(param_1 + 0x638))) {
|
|
if (*(longlong *)(param_1 + 0x1670) == 0) {
|
|
piVar1 = (int *)0x0;
|
|
}
|
|
else {
|
|
piVar1 = *(int **)(param_1 + 0x1660);
|
|
}
|
|
for (; piVar1 != (int *)0x0; piVar1 = *(int **)(piVar1 + 4)) {
|
|
uVar4 = (**(code **)(*(longlong *)(param_1 + 0x70) + 0x1c0))(param_1 + 0x70);
|
|
*(undefined8 *)(param_1 + 0x638) = uVar4;
|
|
if (piVar1 == (int *)0x0) {
|
|
/* WARNING: Subroutine does not return */
|
|
FUN_14004dc60(0x80004005);
|
|
}
|
|
if (*(int *)(param_1 + 0x1578) < *piVar1) {
|
|
lVar2 = 0;
|
|
if (*(longlong **)(piVar1 + 2) != (longlong *)0x0) {
|
|
lVar2 = **(longlong **)(piVar1 + 2);
|
|
}
|
|
if ((*(char *)(lVar2 + 0x684) == '\0') && (*(char *)(lVar2 + 0x608) == '\0')) {
|
|
if ((*(double *)(lVar2 + 0x50) <= 0.0) ||
|
|
((*(double *)(lVar2 + 0x60) <= 0.0 ||
|
|
(dVar3 = *(double *)(lVar2 + 0x60) + *(double *)(param_1 + 0x4f8),
|
|
*(double *)(lVar2 + 0x50) <= dVar3)))) {
|
|
dVar3 = *(double *)(lVar2 + 0x50);
|
|
}
|
|
local_res8[0] = (undefined4)(longlong)(dVar3 * 1000.0);
|
|
(**(code **)(*(longlong *)(param_1 + 0x1818) + 0x110))
|
|
((longlong *)(param_1 + 0x1818),1,&DAT_14034c4b0,lVar2 + 0x56c,local_res8);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|