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

28 lines
940 B
C

/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
* Ghidra 12.1.2 decompiler output for 0x1400b2d40 FUN_1400b2d40
* Pseudocode, not original source. */
undefined8 FUN_1400b2d40(char *param_1,uint *param_2,longlong *param_3)
{
uint uVar1;
ulonglong uVar2;
uint *puVar3;
undefined8 uVar4;
uVar1 = *(uint *)(param_1 + 0x28);
uVar2 = (ulonglong)*param_2 % (ulonglong)uVar1;
if (*(longlong *)(param_1 + 8) != 0) {
for (puVar3 = *(uint **)(*(longlong *)(param_1 + 8) + uVar2 * 8);
(puVar3 != (uint *)0x0 && ((uint)uVar2 == puVar3[8] % uVar1));
puVar3 = *(uint **)(puVar3 + 4)) {
if (*puVar3 == *param_2) {
return (ulonglong)puVar3[8] / (ulonglong)uVar1 & 0xffffff00;
}
}
}
puVar3 = FUN_1400b1ac0(param_1,param_2);
uVar4 = FUN_1400a2a80((longlong *)puVar3,param_3);
return CONCAT71((int7)((ulonglong)uVar4 >> 8),1);
}