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

30 lines
1 KiB
C

/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
* Ghidra 12.1.2 decompiler output for 0x1400d5c60 FUN_1400d5c60
* Pseudocode, not original source. */
undefined8 * FUN_1400d5c60(char *param_1,longlong param_2)
{
longlong lVar1;
ulonglong uVar2;
undefined8 *puVar3;
uint uVar4;
uint uVar5;
uVar4 = (uint)*(ushort *)(param_2 + 0xc) ^ *(uint *)(param_2 + 8);
uVar2 = (ulonglong)uVar4 % (ulonglong)*(uint *)(param_1 + 0x28);
uVar5 = (uint)uVar2;
if (*(longlong *)(param_1 + 8) != 0) {
for (lVar1 = *(longlong *)(*(longlong *)(param_1 + 8) + uVar2 * 8);
(lVar1 != 0 && (uVar5 == *(uint *)(lVar1 + 0x28) % *(uint *)(param_1 + 0x28)));
lVar1 = *(longlong *)(lVar1 + 0x18)) {
if ((*(uint *)(lVar1 + 8) == *(uint *)(param_2 + 8)) &&
(*(ushort *)(lVar1 + 0xc) == *(ushort *)(param_2 + 0xc))) {
return (undefined8 *)(lVar1 + 0x10);
}
}
}
puVar3 = FUN_1400d54c0(param_1,param_2,uVar5,uVar4);
return puVar3 + 2;
}