/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1 * Ghidra 12.1.2 decompiler output for 0x140102db0 FUN_140102db0 * Pseudocode, not original source. */ void FUN_140102db0(longlong param_1,undefined1 *param_2,int param_3,ushort param_4) { int iVar1; int iVar2; iVar1 = *(int *)(param_1 + 0x1714); if (iVar1 < 0xe) { iVar2 = iVar1 + 3; *(ushort *)(param_1 + 0x1710) = *(ushort *)(param_1 + 0x1710) | param_4 << ((byte)iVar1 & 0x1f); } else { *(ushort *)(param_1 + 0x1710) = *(ushort *)(param_1 + 0x1710) | param_4 << ((byte)iVar1 & 0x1f); *(undefined1 *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) = *(undefined1 *)(param_1 + 0x1710); *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; *(undefined1 *)((ulonglong)*(uint *)(param_1 + 0x28) + *(longlong *)(param_1 + 0x10)) = *(undefined1 *)(param_1 + 0x1711); *(int *)(param_1 + 0x28) = *(int *)(param_1 + 0x28) + 1; iVar2 = *(int *)(param_1 + 0x1714) + -0xd; *(ushort *)(param_1 + 0x1710) = param_4 >> (0x10U - (char)*(int *)(param_1 + 0x1714) & 0x1f); } *(int *)(param_1 + 0x1714) = iVar2; FUN_1401023c0(param_1,param_2,param_3,1); return; }