30 lines
971 B
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;
|
|
}
|
|
|