/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1 * Ghidra 12.1.2 decompiler output for 0x140079d80 FUN_140079d80 * Pseudocode, not original source. */ uint FUN_140079d80(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_14015a7a0; do { puVar3 = puVar3 + 1; iVar4 = iVar4 + 1; } while (*puVar3 < uVar5); } uVar1 = (&DAT_14015a7a0)[iVar4]; if ((&DAT_14015a7a0)[iVar4] == 0xffffffff) { uVar1 = uVar5; } return uVar1; }