/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186 * Ghidra 12.1.2 decompiler output for 0x1400cc6b0 FUN_1400cc6b0 * Pseudocode, not original source. */ void FUN_1400cc6b0(undefined8 *param_1,longlong *param_2,longlong *param_3,undefined8 param_4) { int *piVar1; longlong *plVar2; longlong *plVar3; *param_1 = Proud::CUpnp::vftable; piVar1 = (int *)(param_1 + 2); FUN_14003d040(piVar1); FUN_1400cbbe0((char *)(param_1 + 10)); FUN_1400cb350((char *)(param_1 + 0x15),param_2,param_3,param_4); plVar3 = (longlong *)0x0; FUN_1400cafc0((longlong)(param_1 + 0x20),0); FUN_14003d0d0((longlong)piVar1); param_1[0x20] = Proud::CFastArray,0>::vftable; plVar2 = (longlong *)(longlong)*(int *)(param_1 + 0x23); if (0 < *(int *)(param_1 + 0x23)) { FUN_1400517d0((longlong *)param_1[0x22],(longlong)plVar2); plVar3 = plVar2; } plVar2 = (longlong *)param_1[0x22]; if (plVar2 != (longlong *)0x0) { param_3 = (longlong *)param_1[0x21]; if (param_3 == (longlong *)0x0) { FUN_14003e8b0(plVar2); } else { (**(code **)(*param_3 + 0x18))(param_3); plVar3 = plVar2; } } FUN_1400cbbc0((char *)(param_1 + 0x15),plVar3,param_3,param_4); FUN_1400cc330((char *)(param_1 + 10)); FUN_14003d110(piVar1,plVar3,param_3,param_4); return; }