/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c * Ghidra 12.1.2 decompiler output for 0x1400017d0 FUN_1400017d0 * Pseudocode, not original source. */ void FUN_1400017d0(longlong *param_1,longlong *param_2,undefined8 param_3,undefined8 param_4) { IUnknown *This; ULONG UVar1; undefined8 *puVar2; longlong *local_res8; longlong *local_res10; local_res10 = param_2; if (*param_1 == 0) { /* WARNING: Subroutine does not return */ FUN_140218220(0x80004003); } puVar2 = (undefined8 *)FUN_140001650(*param_1,&local_res8,param_3,param_4,0xfffffffffffffffe); This = (IUnknown *)*puVar2; if (This == (IUnknown *)0x0) { /* WARNING: Subroutine does not return */ FUN_140218220(0x80004003); } UVar1 = (*This->lpVtbl[3].AddRef)(This); if ((int)UVar1 < 0) { _com_issue_errorex(UVar1,This,(_GUID *)&DAT_14029dfc0); } if (local_res8 != (longlong *)0x0) { (**(code **)(*local_res8 + 0x10))(); } if ((longlong *)*param_2 != (longlong *)0x0) { (**(code **)(*(longlong *)*param_2 + 0x10))(); } return; }