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

33 lines
1 KiB
C

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