/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c * Ghidra 12.1.2 decompiler output for 0x1401f78c0 FUN_1401f78c0 * Pseudocode, not original source. */ void FUN_1401f78c0(undefined8 *param_1) { undefined8 *puVar1; longlong *plVar2; *param_1 = Proud::CUpnp::vftable; puVar1 = param_1 + 2; FUN_14016db50(puVar1); FUN_1401f6df0(param_1 + 10); FUN_1401f6560(param_1 + 0x15); FUN_1401f61d0(param_1 + 0x20,0); FUN_14016dbe0(puVar1); param_1[0x20] = Proud::CFastArray,0>::vftable; if (0 < *(int *)(param_1 + 0x23)) { FUN_140178c80(param_1[0x22],(longlong)*(int *)(param_1 + 0x23)); } if (param_1[0x22] != 0) { plVar2 = (longlong *)param_1[0x21]; if (plVar2 == (longlong *)0x0) { FUN_14016d970(); } else { (**(code **)(*plVar2 + 0x18))(plVar2,param_1[0x22]); } } FUN_1401f6dd0(param_1 + 0x15); FUN_1401f7540(param_1 + 10); FUN_14016dc00(puVar1); return; }