/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1 * Ghidra 12.1.2 decompiler output for 0x1400bd3c0 FUN_1400bd3c0 * Pseudocode, not original source. */ undefined8 FUN_1400bd3c0(uint *param_1,undefined4 *param_2,undefined8 param_3,undefined8 param_4) { uint uVar1; ulonglong uVar2; uint uVar3; undefined8 *puVar4; uint uVar5; undefined8 uVar6; undefined4 local_res8 [2]; *param_2 = 0; uVar3 = (int)*param_1 >> 0x1f & 7; uVar1 = *param_1 + uVar3; uVar5 = uVar1 & 0xfffffff8; *param_1 = uVar5; if (0 < (int)((uVar1 & 7) - uVar3)) { *param_1 = uVar5 + 8; } puVar4 = (undefined8 *)local_res8; uVar6 = 4; uVar2 = FUN_1400bc6c0((int *)param_1,puVar4,4,param_4); if ((char)uVar2 != '\0') { uVar6 = FUN_1400bc8a0((int *)param_1,puVar4,uVar6,param_4); *param_2 = local_res8[0]; return CONCAT71((int7)((ulonglong)uVar6 >> 8),1); } return uVar2 & 0xffffffffffffff00; }