/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 * Ghidra 12.1.2 decompiler output for 0x14004ded0 FUN_14004ded0 * Pseudocode, not original source. */ longlong * FUN_14004ded0(longlong *param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) { undefined8 *puVar1; longlong lVar2; longlong lVar3; exception local_50 [72]; lVar3 = 0; puVar1 = (undefined8 *) (**(code **)(*param_2 + 8))(param_2,0x30,param_3,param_4,0xfffffffffffffffe); if (puVar1 != (undefined8 *)0x0) { *puVar1 = Proud::CFastArray::vftable; puVar1[1] = 0; puVar1[2] = 0; puVar1[3] = 0; *(undefined4 *)(puVar1 + 4) = 0; *(undefined4 *)((longlong)puVar1 + 0x24) = 1; } FUN_140043ba0(param_1,param_2,(longlong)puVar1,param_4); lVar2 = lVar3; if ((longlong *)*param_1 != (longlong *)0x0) { lVar2 = *(longlong *)*param_1; } *(longlong **)(lVar2 + 0x28) = param_2; if ((longlong *)*param_1 != (longlong *)0x0) { lVar3 = *(longlong *)*param_1; } if (*(int *)(lVar3 + 0x1c) < 1) { *(longlong **)(lVar3 + 8) = param_2; return param_1; } FUN_14002f1e0(local_50,(wchar_t *)PTR_u_Collection_object_can_use_fast_h_1401551d0,puVar1,param_4) ; /* WARNING: Subroutine does not return */ _CxxThrowException(local_50,(ThrowInfo *)&DAT_140151b88); }