server-re/decomp/Agent_Release_x64/full/functions/0x14003d4e0.c
2026-10-14 16:45:19 -04:00

42 lines
1 KiB
C

/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469
* Ghidra 12.1.2 decompiler output for 0x14003d4e0 FUN_14003d4e0
* Pseudocode, not original source. */
uint FUN_14003d4e0(longlong param_1,longlong param_2)
{
uint uVar1;
longlong lVar2;
uint *puVar3;
int iVar4;
uint uVar5;
float fVar6;
fVar6 = (float)param_2;
if (param_2 < 0) {
fVar6 = fVar6 + 1.8446744e+19;
}
fVar6 = fVar6 / *(float *)(param_1 + 0x2c);
lVar2 = 0;
if ((9.223372e+18 < fVar6) && (fVar6 = fVar6 - 9.223372e+18, fVar6 < 9.223372e+18)) {
lVar2 = -0x8000000000000000;
}
uVar5 = (uint)((longlong)fVar6 + lVar2);
if (0xffffffff < (ulonglong)((longlong)fVar6 + lVar2)) {
uVar5 = 0xffffffff;
}
iVar4 = 0;
if (0x11 < uVar5) {
puVar3 = &DAT_1400f7970;
do {
puVar3 = puVar3 + 1;
iVar4 = iVar4 + 1;
} while (*puVar3 < uVar5);
}
uVar1 = (&DAT_1400f7970)[iVar4];
if ((&DAT_1400f7970)[iVar4] == 0xffffffff) {
uVar1 = uVar5;
}
return uVar1;
}