server-re/decomp/DBCServer_Release_x64/full/functions/0x1400017d0.c

37 lines
1.1 KiB
C

/* 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;
}