/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1 * Ghidra 12.1.2 decompiler output for 0x1400bc990 FUN_1400bc990 * Pseudocode, not original source. */ undefined4 FUN_1400bc990(uint *param_1,uint param_2,undefined8 param_3,undefined8 param_4) { uint uVar1; uint uVar2; undefined4 uVar3; undefined8 in_RAX; undefined8 uVar4; uint uVar5; uint uVar6; ulonglong uVar7; ulonglong uVar8; uVar7 = (ulonglong)param_2; if (param_2 == 0) { return (int)CONCAT71((int7)((ulonglong)in_RAX >> 8),1); } uVar1 = *param_1; uVar6 = (int)uVar1 >> 0x1f & 7; uVar2 = uVar1 + uVar6; uVar5 = uVar2 & 0xfffffff8; *param_1 = uVar5; if (0 < (int)((uVar2 & 7) - uVar6)) { *param_1 = uVar5 + 8; } uVar8 = uVar7; uVar3 = FUN_1400bc7f0((int *)param_1,param_2); if ((char)uVar3 == '\0') { *param_1 = uVar1; return uVar3; } uVar4 = FUN_1400bc8a0((int *)param_1,uVar7,uVar8,param_4); *param_1 = uVar1; return (int)CONCAT71((int7)((ulonglong)uVar4 >> 8),1); }