/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c * Ghidra 12.1.2 decompiler output for 0x1401f56d0 FUN_1401f56d0 * Pseudocode, not original source. */ void FUN_1401f56d0(undefined8 *param_1) { longlong *plVar1; longlong lVar2; *param_1 = Proud::CDiscoveringNatDevice::vftable; FUN_14004f5a0(param_1 + 0x4a7); param_1[0x4a2] = Proud::CFastArray::vftable; if (param_1[0x4a4] != 0) { if ((longlong *)param_1[0x4a3] == (longlong *)0x0) { FUN_14016d970(param_1[0x4a4]); } else { (**(code **)(*(longlong *)param_1[0x4a3] + 0x18))(); } } FUN_14004f5a0(param_1 + 0x491); if ((param_1[0x490] != 0) && (*(longlong *)(param_1[0x490] + 8) = *(longlong *)(param_1[0x490] + 8) + -1, *(longlong *)(param_1[0x490] + 8) == 0)) { plVar1 = (longlong *)param_1[0x490]; lVar2 = *plVar1; if (lVar2 != 0) { FUN_14019c9e0(lVar2); FUN_14016d970(lVar2); } FUN_14016d970(plVar1); } FUN_14004f5a0(param_1 + 1); *param_1 = Proud::IFastSocketDelegate::vftable; return; }