/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1 * Ghidra 12.1.2 decompiler output for 0x1400f67f0 FUN_1400f67f0 * Pseudocode, not original source. */ undefined8 FUN_1400f67f0(longlong param_1,uint param_2) { longlong lVar1; undefined8 uVar2; int iVar3; if ((param_1 != 0) && (lVar1 = *(longlong *)(param_1 + 0x28), lVar1 != 0)) { if ((int)param_2 < 0) { iVar3 = 0; param_2 = -param_2; } else { iVar3 = ((int)param_2 >> 4) + 1; if ((int)param_2 < 0x30) { param_2 = param_2 & 0xf; } } if ((param_2 == 0) || ((7 < (int)param_2 && ((int)param_2 < 0x10)))) { if ((*(longlong *)(lVar1 + 0x38) != 0) && (*(uint *)(lVar1 + 0x28) != param_2)) { (**(code **)(param_1 + 0x38))(*(undefined8 *)(param_1 + 0x40)); *(undefined8 *)(lVar1 + 0x38) = 0; } *(int *)(lVar1 + 8) = iVar3; *(uint *)(lVar1 + 0x28) = param_2; uVar2 = FUN_1400f6770(param_1); } else { uVar2 = 0xfffffffe; } return uVar2; } return 0xfffffffe; }