/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 * Ghidra 12.1.2 decompiler output for 0x1400b41a0 FUN_1400b41a0 * Pseudocode, not original source. */ void FUN_1400b41a0(longlong *param_1,longlong param_2,SIZE_T param_3,undefined8 param_4) { longlong lVar1; longlong *plVar2; undefined1 uVar3; ushort uVar4; longlong lVar5; undefined8 uVar6; double dVar7; undefined **local_70; undefined4 local_68; undefined2 local_64; undefined4 local_60 [2]; undefined8 local_58; undefined1 local_50; undefined4 local_4c; undefined1 local_48; undefined1 local_47; int local_40 [2]; longlong local_38; longlong local_30; int local_24; if (((longlong *)param_1[1] != (longlong *)0x0) && (*(longlong *)param_1[1] != 0)) { lVar5 = param_2; FUN_1400806d0(local_40); FUN_1400801a0((longlong)local_40,lVar5,param_3,param_4); FUN_140080830(local_40,0x800,param_3,param_4); uVar6 = 0; FUN_140080830(local_40,0,param_3,param_4); FUN_14001ba80((longlong)local_40,CONCAT71((int7)((ulonglong)uVar6 >> 8),0x27),param_3,param_4); local_60[0] = 1; lVar5 = 0; local_58 = 0; local_50 = 1; local_4c = 0xffffffff; local_48 = 1; local_47 = DAT_1401551cc; local_70 = Proud::AddrPort::vftable; local_68 = *(undefined4 *)(param_2 + 8); local_64 = *(undefined2 *)(param_2 + 0xc); if (((longlong *)param_1[1] != (longlong *)0x0) && (lVar1 = *(longlong *)param_1[1], lVar1 != 0) ) { lVar5 = lVar1 + -0x40; } plVar2 = (longlong *)param_1[0xcc]; dVar7 = (double)(**(code **)(*param_1 + 8))(param_1); uVar3 = (**(code **)(*plVar2 + 0x30))(plVar2); uVar4 = FUN_140096e50(uVar3,(char)*(undefined4 *)((longlong)param_1 + 0x55c)); FUN_1400b73e0(lVar5,*(uint *)((longlong)param_1 + 0x55c),(ulonglong)uVar4,(longlong)&local_70, (longlong)local_40,dVar7,(undefined8 *)local_60); FUN_140095270(&local_38); if ((local_30 != 0) && (local_24 < 0)) { /* WARNING: Subroutine does not return */ FUN_14002f590(); } } return; }