45 lines
1.1 KiB
C
45 lines
1.1 KiB
C
/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c
|
|
* Ghidra 12.1.2 decompiler output for 0x1400a55e0 FUN_1400a55e0
|
|
* Pseudocode, not original source. */
|
|
|
|
undefined8 FUN_1400a55e0(longlong param_1,longlong param_2)
|
|
|
|
{
|
|
longlong lVar1;
|
|
longlong lVar2;
|
|
longlong lVar3;
|
|
char *pcVar4;
|
|
double dVar5;
|
|
|
|
dVar5 = (double)param_2;
|
|
if (param_2 < 0) {
|
|
dVar5 = dVar5 + 1.8446744073709552e+19;
|
|
}
|
|
dVar5 = floor(dVar5 / (double)*(float *)(param_1 + 0x28));
|
|
if (dVar5 < 1.8446744073709552e+19) {
|
|
lVar1 = 0;
|
|
if ((9.223372036854776e+18 < dVar5) &&
|
|
(dVar5 = dVar5 - 9.223372036854776e+18, dVar5 < 9.223372036854776e+18)) {
|
|
lVar1 = -0x8000000000000000;
|
|
}
|
|
lVar1 = (longlong)dVar5 + lVar1;
|
|
}
|
|
else {
|
|
lVar1 = -1;
|
|
}
|
|
pcVar4 = "\x05";
|
|
lVar3 = 0x28;
|
|
do {
|
|
lVar2 = lVar3 / 2;
|
|
if (*(ulonglong *)(pcVar4 + lVar2 * 8) < lVar1 + 1U) {
|
|
pcVar4 = pcVar4 + (lVar2 + 1) * 8;
|
|
lVar2 = lVar3 + (-1 - lVar2);
|
|
}
|
|
lVar3 = lVar2;
|
|
} while (0 < lVar2);
|
|
if (pcVar4 == "dbo.up_read_realtimeevent") {
|
|
return 0xfffffffb;
|
|
}
|
|
return *(undefined8 *)pcVar4;
|
|
}
|
|
|