server-re/decomp/MessageServer_Release_x64/full/functions/0x14007fe00.c

30 lines
971 B
C

/* 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;
}