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

56 lines
1.7 KiB
C

/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
* Ghidra 12.1.2 decompiler output for 0x1400ac990 FUN_1400ac990
* Pseudocode, not original source. */
undefined8
FUN_1400ac990(longlong param_1,undefined8 param_2,undefined **param_3,char *param_4,
longlong *param_5)
{
int *piVar1;
undefined8 uVar2;
longlong *plVar3;
longlong lVar4;
undefined **ppuVar5;
longlong lVar6;
char *pcVar7;
longlong local_res8;
undefined8 local_30;
undefined4 local_28;
undefined2 local_24;
int *local_20;
undefined1 local_18;
pcVar7 = param_4;
piVar1 = (int *)(**(code **)(**(longlong **)(param_1 + 0x20) + 0x58))();
local_20 = piVar1;
FUN_14006b350(piVar1);
local_18 = 1;
lVar6 = 0;
if ((*param_4 != '\0') &&
(uVar2 = FUN_1400abfd0(*(longlong *)(param_1 + 0x20),param_2,param_3,pcVar7),
(char)uVar2 != '\0')) {
FUN_1400a1250(*(longlong **)(param_1 + 0x20),param_2,param_3,pcVar7);
ppuVar5 = (undefined **)*param_5;
if ((undefined **)*param_5 == (undefined **)0x0) {
ppuVar5 = (undefined **)PTR_DAT_1401ac008;
}
plVar3 = FUN_140074ec0(&local_res8,ppuVar5,(ulonglong)param_3,pcVar7);
FUN_14006ff10(&local_30,plVar3,(short)param_5[1]);
plVar3 = *(longlong **)(*(longlong *)(param_1 + 0x20) + 0x1570);
lVar4 = lVar6;
if (plVar3 != (longlong *)0x0) {
lVar4 = *plVar3;
}
*(undefined4 *)(lVar4 + 0xd0) = local_28;
*(undefined2 *)(lVar4 + 0xd4) = local_24;
}
plVar3 = *(longlong **)(*(longlong *)(param_1 + 0x20) + 0x1570);
if (plVar3 != (longlong *)0x0) {
lVar6 = *plVar3;
}
*(undefined1 *)(lVar6 + 0x40) = 0;
uVar2 = FUN_14006b3e0((longlong)piVar1);
return CONCAT71((int7)((ulonglong)uVar2 >> 8),1);
}