/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c * Ghidra 12.1.2 decompiler output for 0x1401f0f50 FUN_1401f0f50 * Pseudocode, not original source. */ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_1401f0f50(longlong param_1,undefined8 param_2) { longlong lVar1; char cVar2; undefined8 uVar3; double dVar4; double dVar5; double local_res18; double local_res20; undefined4 local_118 [2]; undefined8 local_110; undefined8 local_100; undefined8 local_f8; undefined **local_f0; undefined8 local_e8; undefined8 local_e0; undefined8 local_d8; undefined8 local_d0; undefined8 local_c8; undefined8 local_c0; undefined8 local_b8; undefined4 local_a8; undefined **local_a0; undefined8 local_98; undefined8 local_90; undefined8 local_88; undefined8 local_80; undefined **local_70; undefined4 local_68; undefined2 local_64; undefined **local_58; undefined8 local_50; undefined8 local_48; undefined8 local_40; undefined8 local_38; undefined8 local_28; undefined1 local_20; undefined8 local_18; local_18 = 0xfffffffffffffffe; cVar2 = FUN_14016b370(param_2,&local_res18,8); if ((cVar2 != '\0') && (cVar2 = FUN_14016b370(param_2,&local_res20,8), cVar2 != '\0')) { uVar3 = (**(code **)(**(longlong **)(param_1 + 0x108) + 0x58))(); local_28 = uVar3; FUN_14016db50(uVar3); local_20 = 1; dVar4 = (double)FUN_1401a1eb0(*(longlong *)(param_1 + 0x108) + 0x1620); dVar5 = (dVar4 - local_res18) * 0.5; *(double *)(*(longlong *)(param_1 + 0x108) + 0x500) = dVar5; lVar1 = *(longlong *)(param_1 + 0x108); if (*(double *)(lVar1 + 0x4f8) != 0.0) { dVar5 = (dVar5 - *(double *)(lVar1 + 0x4f8)) * _DAT_140344d38 + *(double *)(lVar1 + 0x4f8); } *(double *)(lVar1 + 0x4f8) = dVar5; *(double *)(*(longlong *)(param_1 + 0x108) + 0x4f0) = dVar4 - (local_res20 + *(double *)(*(longlong *)(param_1 + 0x108) + 0x4f8)); local_110 = 0; local_100 = 0; local_f8 = 0; local_e8 = 0; local_e0 = 0; local_d8 = 0; local_d0 = 0; local_f0 = Proud::ByteArray::vftable; local_b8 = 0; local_c0 = 0; local_c8 = 0; local_98 = 0; local_90 = 0; local_88 = 0; local_80 = 0; local_a0 = Proud::ByteArray::vftable; local_70 = Proud::AddrPort::vftable; local_68 = 0; local_64 = 0; local_50 = 0; local_48 = 0; local_40 = 0; local_38 = 0; local_58 = Proud::ByteArray::vftable; local_118[0] = 0xe; local_a8 = 1; FUN_1401dcb50(*(undefined8 *)(param_1 + 0x108),local_118); FUN_14018ba10(local_118); FUN_14016dbe0(uVar3); } return; }