/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c * Ghidra 12.1.2 decompiler output for 0x140001af0 FUN_140001af0 * Pseudocode, not original source. */ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ int FUN_140001af0(void **param_1,LPCOLESTR param_2) { int iVar1; undefined1 auStackY_58 [32]; LPUNKNOWN local_28; CLSID local_20; ulonglong local_10; local_10 = DAT_1403463c0 ^ (ulonglong)auStackY_58; if (param_2 == (LPCOLESTR)0x0) { return -0x7ff8ffa9; } if (*param_2 == L'{') { iVar1 = CLSIDFromString(param_2,&local_20); } else { iVar1 = CLSIDFromProgID(param_2,&local_20); } if (-1 < iVar1) { if (*param_1 != (longlong *)0x0) { (**(code **)(*(longlong *)*param_1 + 0x10))(); } iVar1 = CoCreateInstance(&local_20,(LPUNKNOWN)0x0,0x17,(IID *)&DAT_14029dfb0,&local_28); if (-1 < iVar1) { iVar1 = OleRun(local_28); if (-1 < iVar1) { iVar1 = (*local_28->lpVtbl->QueryInterface)(local_28,(IID *)&DAT_14029e000,param_1); } (*local_28->lpVtbl->Release)(local_28); if (-1 < iVar1) { return iVar1; } } *param_1 = (void *)0x0; } return iVar1; }