/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1 * Ghidra 12.1.2 decompiler output for 0x14007fe00 FUN_14007fe00 * Pseudocode, not original source. */ ulonglong FUN_14007fe00(longlong param_1,ulonglong param_2) { uint uVar1; ulonglong *puVar2; ulonglong uVar3; ulonglong uVar4; uVar1 = *(uint *)(param_1 + 0x2a8); uVar4 = (param_2 & 0xffffffff) / (ulonglong)uVar1; uVar3 = (param_2 & 0xffffffff) % (ulonglong)uVar1; if (*(longlong *)(param_1 + 0x288) != 0) { puVar2 = *(ulonglong **)(*(longlong *)(param_1 + 0x288) + uVar3 * 8); uVar4 = uVar3; while ((puVar2 != (ulonglong *)0x0 && (uVar4 = (ulonglong)(uint)puVar2[4] / (ulonglong)uVar1, (uint)uVar3 == (uint)puVar2[4] % uVar1))) { if (*puVar2 == param_2) { return CONCAT71((int7)(uVar4 >> 8),1); } puVar2 = (ulonglong *)puVar2[2]; } } return uVar4 & 0xffffffffffffff00; }