/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1 * Ghidra 12.1.2 decompiler output for 0x1400d2a90 FUN_1400d2a90 * Pseudocode, not original source. */ ulonglong FUN_1400d2a90(longlong param_1,int *param_2,SIZE_T param_3,undefined8 param_4) { ulonglong in_RAX; ulonglong uVar1; int *piVar2; undefined8 uVar3; undefined4 local_120 [4]; longlong local_110; longlong local_108; int local_fc; undefined1 local_f0 [232]; if (*(longlong *)(param_1 + 0x278) == 0) { uVar1 = in_RAX & 0xffffffffffffff00; } else { piVar2 = FUN_1400962a0((longlong *)(param_1 + 0x260),local_120,param_3,param_4); uVar1 = (ulonglong)*(uint *)(param_1 + 0x6f0); FUN_1400de4d0(param_2,piVar2,uVar1,param_4); FUN_1400933c0((longlong)local_f0,piVar2,uVar1,param_4); uVar3 = FUN_1400d1800(&local_110); if ((local_108 != 0) && (local_fc < 0)) { /* WARNING: Subroutine does not return */ FUN_14006be00(); } uVar1 = CONCAT71((int7)((ulonglong)uVar3 >> 8),1); } return uVar1; }