server-re/decomp/MessageServer_Release_x64/full/functions/0x1400a37e0.c

51 lines
1.6 KiB
C

/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
* Ghidra 12.1.2 decompiler output for 0x1400a37e0 FUN_1400a37e0
* Pseudocode, not original source. */
void FUN_1400a37e0(longlong *param_1)
{
int *piVar1;
longlong lVar2;
double dVar3;
longlong lVar4;
undefined4 local_res8 [2];
undefined8 uVar5;
int *piVar6;
undefined1 uVar7;
uVar5 = 0xfffffffffffffffe;
piVar1 = (int *)(**(code **)(*param_1 + 0x58))();
piVar6 = piVar1;
FUN_14006b350(piVar1);
uVar7 = 1;
if (((int)param_1[0x2af] != 0) && (0.0 < (double)param_1[0xa2])) {
dVar3 = (double)(**(code **)(param_1[0xe] + 0x1c0))(param_1 + 0xe);
if (DAT_1401ac100 < dVar3 - (double)param_1[0xa2]) {
lVar4 = (**(code **)(param_1[0xe] + 0x1c0))(param_1 + 0xe);
param_1[0xa2] = lVar4;
local_res8[0] = (undefined4)param_1[0xa1];
(**(code **)(param_1[0x303] + 0x150))
(param_1 + 0x303,1,&DAT_1401b6110,local_res8,uVar5,piVar6,uVar7);
if (param_1[0x2ce] == 0) {
lVar4 = 0;
}
else {
lVar4 = param_1[0x2cc];
}
for (; lVar4 != 0; lVar4 = *(longlong *)(lVar4 + 0x10)) {
lVar2 = 0;
if (*(longlong **)(lVar4 + 8) != (longlong *)0x0) {
lVar2 = **(longlong **)(lVar4 + 8);
}
if (*(char *)(lVar2 + 0x684) == '\0') {
(**(code **)(param_1[0x2fa] + 0x40))
(param_1 + 0x2fa,*(undefined4 *)(lVar2 + 0x56c),&DAT_1401b6110,lVar2 + 0x48);
}
}
}
}
FUN_14006b3e0((longlong)piVar1);
return;
}