/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1 * Ghidra 12.1.2 decompiler output for 0x1400e65f0 FUN_1400e65f0 * Pseudocode, not original source. */ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_1400e65f0(longlong param_1,uint *param_2,undefined8 param_3,undefined8 param_4) { longlong lVar1; undefined8 uVar2; int *piVar3; undefined4 *puVar4; SIZE_T SVar5; double dVar6; double dVar7; 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; int *local_28; undefined1 local_20; undefined8 local_18; local_18 = 0xfffffffffffffffe; uVar2 = FUN_1400bc930(param_2,&local_res18,8); if ((char)uVar2 != '\0') { SVar5 = 8; uVar2 = FUN_1400bc930(param_2,&local_res20,8); if ((char)uVar2 != '\0') { piVar3 = (int *)(**(code **)(**(longlong **)(param_1 + 0x108) + 0x58))(); local_28 = piVar3; FUN_14006b350(piVar3); local_20 = 1; dVar6 = FUN_140076f50((char *)(*(longlong *)(param_1 + 0x108) + 0x1620)); dVar7 = (dVar6 - local_res18) * 0.5; *(double *)(*(longlong *)(param_1 + 0x108) + 0x500) = dVar7; lVar1 = *(longlong *)(param_1 + 0x108); if (*(double *)(lVar1 + 0x4f8) != 0.0) { dVar7 = (dVar7 - *(double *)(lVar1 + 0x4f8)) * _DAT_1401ac108 + *(double *)(lVar1 + 0x4f8); } *(double *)(lVar1 + 0x4f8) = dVar7; *(double *)(*(longlong *)(param_1 + 0x108) + 0x4f0) = dVar6 - (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; puVar4 = local_118; FUN_1400b7290(*(longlong **)(param_1 + 0x108),puVar4,SVar5,param_4); FUN_1400933c0((longlong)local_118,puVar4,SVar5,param_4); FUN_14006b3e0((longlong)piVar3); } } return; }