47 lines
1.6 KiB
C
47 lines
1.6 KiB
C
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
|
* Ghidra 12.1.2 decompiler output for 0x1400d8240 FUN_1400d8240
|
|
* Pseudocode, not original source. */
|
|
|
|
undefined8 *
|
|
FUN_1400d8240(undefined8 *param_1,longlong *param_2,undefined8 param_3,undefined8 param_4)
|
|
|
|
{
|
|
longlong lVar1;
|
|
float fVar2;
|
|
exception local_50 [72];
|
|
|
|
FUN_1400d5740((undefined1 *)(param_1 + 1));
|
|
*param_1 = param_2;
|
|
*(undefined4 *)((longlong)param_1 + 0x34) = 0x3e99999a;
|
|
*(undefined4 *)(param_1 + 7) = 0x3d4ccccd;
|
|
*(undefined4 *)((longlong)param_1 + 0x3c) = 0x41000000;
|
|
fVar2 = (float)*(uint *)(param_1 + 6) * 8.0;
|
|
lVar1 = 0;
|
|
if ((9.223372e+18 < fVar2) && (fVar2 = fVar2 - 9.223372e+18, fVar2 < 9.223372e+18)) {
|
|
lVar1 = -0x8000000000000000;
|
|
}
|
|
param_1[8] = (longlong)fVar2 + lVar1;
|
|
fVar2 = (float)*(uint *)(param_1 + 6) * 0.05;
|
|
lVar1 = 0;
|
|
if ((9.223372e+18 < fVar2) && (fVar2 = fVar2 - 9.223372e+18, fVar2 < 9.223372e+18)) {
|
|
lVar1 = -0x8000000000000000;
|
|
}
|
|
param_1[9] = (longlong)fVar2 + lVar1;
|
|
if ((ulonglong)((longlong)fVar2 + lVar1) < 0x11) {
|
|
param_1[9] = 0;
|
|
}
|
|
lVar1 = (**(code **)(*param_2 + 0x18))(param_2);
|
|
if (lVar1 == 0) {
|
|
/* WARNING: Subroutine does not return */
|
|
FUN_14006be00();
|
|
}
|
|
if (param_1[5] != 0) {
|
|
FUN_14006ba50(local_50,(wchar_t *)PTR_u_Collection_object_can_use_fast_h_1401ac1d0,param_3,
|
|
param_4);
|
|
/* WARNING: Subroutine does not return */
|
|
_CxxThrowException(local_50,(ThrowInfo *)&DAT_1401a93e8);
|
|
}
|
|
param_1[0xb] = lVar1;
|
|
return param_1;
|
|
}
|
|
|