45 lines
1.5 KiB
C
45 lines
1.5 KiB
C
/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c
|
|
* Ghidra 12.1.2 decompiler output for 0x1401b86f0 FUN_1401b86f0
|
|
* Pseudocode, not original source. */
|
|
|
|
longlong FUN_1401b86f0(longlong *param_1,undefined8 param_2,undefined4 param_3,undefined8 param_4)
|
|
|
|
{
|
|
longlong lVar1;
|
|
ulonglong uVar2;
|
|
longlong lVar3;
|
|
float fVar4;
|
|
undefined1 local_50 [72];
|
|
|
|
lVar1 = (**(code **)(*param_1 + 8))(param_1,0x78,param_3,param_4,0xfffffffffffffffe);
|
|
if (lVar1 != 0) {
|
|
FUN_1401b75f0();
|
|
}
|
|
*(undefined4 *)(lVar1 + 0x2c) = 0x3dcccccd;
|
|
*(undefined4 *)(lVar1 + 0x30) = 0x33d6bf95;
|
|
*(undefined4 *)(lVar1 + 0x34) = 0x40066666;
|
|
fVar4 = (float)*(uint *)(lVar1 + 0x28) * 2.1;
|
|
lVar3 = 0;
|
|
if ((9.223372e+18 < fVar4) && (fVar4 = fVar4 - 9.223372e+18, fVar4 < 9.223372e+18)) {
|
|
lVar3 = -0x8000000000000000;
|
|
}
|
|
*(longlong *)(lVar1 + 0x38) = (longlong)fVar4 + lVar3;
|
|
fVar4 = (float)*(uint *)(lVar1 + 0x28) * 1e-07;
|
|
lVar3 = 0;
|
|
if ((9.223372e+18 < fVar4) && (fVar4 = fVar4 - 9.223372e+18, fVar4 < 9.223372e+18)) {
|
|
lVar3 = -0x8000000000000000;
|
|
}
|
|
uVar2 = (longlong)fVar4 + lVar3;
|
|
if ((ulonglong)((longlong)fVar4 + lVar3) < 0x11) {
|
|
uVar2 = 0;
|
|
}
|
|
*(ulonglong *)(lVar1 + 0x40) = uVar2;
|
|
if (*(longlong *)(lVar1 + 0x20) != 0) {
|
|
FUN_14016d300(local_50,PTR_u_Collection_object_can_use_fast_h_140344e48);
|
|
/* WARNING: Subroutine does not return */
|
|
_CxxThrowException(local_50,(ThrowInfo *)&DAT_1403417f8);
|
|
}
|
|
*(longlong **)(lVar1 + 0x50) = param_1;
|
|
return lVar1;
|
|
}
|
|
|