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