/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 * Ghidra 12.1.2 decompiler output for 0x1400a9ed0 FUN_1400a9ed0 * Pseudocode, not original source. */ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_1400a9ed0(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_140080600(param_2,&local_res18,8); if ((char)uVar2 != '\0') { SVar5 = 8; uVar2 = FUN_140080600(param_2,&local_res20,8); if ((char)uVar2 != '\0') { piVar3 = (int *)(**(code **)(**(longlong **)(param_1 + 0x108) + 0x58))(); local_28 = piVar3; FUN_14002e6e0(piVar3); local_20 = 1; dVar6 = FUN_14003a420((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_140155108 + *(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_14007af60(*(longlong **)(param_1 + 0x108),puVar4,SVar5,param_4); FUN_140056f10((longlong)local_118,puVar4,SVar5,param_4); FUN_14002e770((longlong)piVar3); } } return; }