45 lines
1.2 KiB
C
45 lines
1.2 KiB
C
/* 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;
|
|
}
|
|
|