53 lines
1.9 KiB
C
53 lines
1.9 KiB
C
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
|
* Ghidra 12.1.2 decompiler output for 0x1400a3680 FUN_1400a3680
|
|
* Pseudocode, not original source. */
|
|
|
|
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */
|
|
|
|
void FUN_1400a3680(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_1401ac168 < 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_1400064e0(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_1401b6110,lVar2 + 0x56c,local_res8);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|