/* 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; }