/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c * Ghidra 12.1.2 decompiler output for 0x14021c130 FUN_14021c130 * Pseudocode, not original source. */ undefined8 * FUN_14021c130(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined8 *puVar1; double *pdVar2; longlong lVar3; double dVar4; double dVar5; *param_1 = Clock::vftable; param_1[1] = Clock::vftable; param_1[2] = 0; param_1[3] = 0; param_1[4] = 0; *(undefined4 *)(param_1 + 5) = 0; param_1[6] = 0; param_1[7] = 0; param_1[10] = 0; param_1[0xb] = 0; param_1[0xc] = 0; param_1[0xe] = 0; param_1[0xf] = 0; param_1[0x10] = 0; param_1[0x12] = 0x3fc999999999999a; puVar1 = (undefined8 *)param_1[2]; if (puVar1 != (undefined8 *)0x0) { (**(code **)*puVar1)(puVar1,1,param_3,param_4,0xfffffffffffffffe); } param_1[2] = 0; param_1[0x12] = 0x3fe0000000000000; FUN_14021c0b0(param_1,0x3f9eb851eb851eb8); dVar5 = 0.0; pdVar2 = (double *)param_1[10]; if (pdVar2 != (double *)param_1[0xb]) { do { dVar5 = dVar5 + *pdVar2; pdVar2 = pdVar2 + 1; } while (pdVar2 != (double *)param_1[0xb]); } lVar3 = (longlong)(param_1[0xb] - param_1[10]) >> 3; dVar4 = (double)lVar3; if (lVar3 < 0) { dVar4 = dVar4 + 1.8446744073709552e+19; } param_1[4] = dVar5 / dVar4; return param_1; }