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