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

638 lines
20 KiB
C

/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c
* Ghidra 12.1.2 decompiler output for 0x1400e2630 FUN_1400e2630
* Pseudocode, not original source. */
/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */
longlong * FUN_1400e2630(undefined8 *param_1,undefined8 *param_2)
{
IUnknown *pIVar1;
IUnknown *This;
ULONG UVar2;
int iVar3;
HRESULT HVar4;
undefined8 *puVar5;
longlong *plVar6;
longlong lVar7;
undefined8 uVar8;
longlong *plVar9;
undefined1 auStackY_428 [32];
longlong *local_3e8;
undefined1 local_3e0 [4];
short local_3dc;
undefined8 *local_3d8;
int local_3d0;
longlong *local_3c8;
longlong *local_3c0;
longlong *local_3b8;
longlong *local_3b0;
LPUNKNOWN local_3a8;
longlong *local_3a0;
longlong *local_398;
undefined8 *local_390;
longlong *local_388;
longlong *local_380;
IUnknown *local_378;
longlong *local_370;
undefined4 local_368;
undefined1 local_358 [24];
undefined1 local_340 [24];
undefined4 local_328;
undefined1 *local_320;
undefined4 local_318;
undefined8 local_310;
undefined1 *local_308;
longlong *local_2f8;
longlong *local_2f0;
longlong *local_2e8;
longlong *local_2e0;
longlong *local_2d8;
longlong *local_2d0;
longlong *local_2c8;
longlong *local_2c0;
longlong *local_2b8;
longlong *local_2b0;
longlong *local_2a8;
longlong *local_2a0;
longlong *local_298;
longlong *local_290;
longlong local_288 [3];
longlong local_270 [3];
longlong local_258 [4];
undefined8 local_238;
undefined4 local_228;
undefined4 uStack_224;
undefined4 uStack_220;
undefined4 uStack_21c;
undefined1 local_210 [8];
undefined4 local_208;
undefined4 uStack_204;
undefined4 uStack_200;
undefined4 uStack_1fc;
longlong local_1f8 [3];
undefined1 local_1e0 [24];
longlong local_1c8 [3];
longlong local_1b0 [3];
longlong local_198 [4];
short local_178;
short local_176;
short local_174;
undefined8 local_172;
undefined8 local_16a;
undefined8 uStack_162;
undefined8 local_15a;
undefined8 uStack_152;
wchar_t local_14a [16];
wchar_t local_12a [17];
undefined4 local_108;
undefined4 uStack_104;
undefined4 local_100;
undefined2 local_fc;
undefined8 local_fa;
undefined8 local_f2;
undefined8 local_ea;
undefined8 local_e2;
undefined8 local_da;
undefined8 local_d2;
undefined4 local_ca;
short local_c6;
undefined8 local_c4;
undefined8 local_bc;
undefined8 local_b4;
undefined8 local_ac;
undefined8 local_a4;
wchar_t local_9c [50];
ulonglong local_38;
local_238 = 0xfffffffffffffffe;
local_38 = DAT_1403463c0 ^ (ulonglong)auStackY_428;
plVar9 = (longlong *)0x0;
local_fa = 0;
local_f2 = 0;
local_ea = 0;
local_e2 = 0;
local_da = 0;
local_d2 = 0;
local_ca = 0;
local_c6 = 0;
local_c4 = 0;
local_bc = 0;
local_b4 = 0;
local_ac = 0;
local_a4 = 0;
local_9c[0] = L'\0';
local_9c[1] = L'\0';
local_9c[2] = L'\0';
local_9c[3] = L'\0';
local_9c[4] = L'\0';
local_9c[5] = L'\0';
local_9c[6] = L'\0';
local_9c[7] = L'\0';
local_9c[8] = L'\0';
local_9c[9] = L'\0';
local_9c[10] = L'\0';
local_9c[0xb] = L'\0';
local_9c[0xc] = L'\0';
local_9c[0xd] = L'\0';
local_9c[0xe] = L'\0';
local_9c[0xf] = L'\0';
local_9c[0x10] = L'\0';
local_9c[0x11] = L'\0';
local_9c[0x12] = L'\0';
local_9c[0x13] = L'\0';
local_9c[0x14] = L'\0';
local_9c[0x15] = L'\0';
local_9c[0x16] = L'\0';
local_9c[0x17] = L'\0';
local_9c[0x18] = L'\0';
local_9c[0x19] = L'\0';
local_9c[0x1a] = L'\0';
local_9c[0x1b] = L'\0';
local_9c[0x1c] = L'\0';
local_9c[0x1d] = L'\0';
local_9c[0x1e] = L'\0';
local_9c[0x1f] = L'\0';
local_9c[0x20] = L'\0';
local_9c[0x21] = L'\0';
local_9c[0x22] = L'\0';
local_9c[0x23] = L'\0';
local_9c[0x24] = L'\0';
local_9c[0x25] = L'\0';
local_9c[0x26] = L'\0';
local_9c[0x27] = L'\0';
local_9c[0x28] = L'\0';
local_9c[0x29] = L'\0';
local_9c[0x2a] = L'\0';
local_9c[0x2b] = L'\0';
local_9c[0x2c] = L'\0';
local_9c[0x2d] = L'\0';
local_9c[0x2e] = L'\0';
local_9c[0x2f] = L'\0';
local_100 = *(undefined4 *)(param_2 + 1);
_local_108 = CONCAT44((int)((ulonglong)*param_2 >> 0x20),0x23440000);
local_fc = 0xec;
_local_108 = CONCAT62(stack0xfffffffffffffefa,0xcc);
local_178 = *(short *)((longlong)param_2 + 0x3e);
local_176 = *(short *)(param_2 + 8);
local_174 = *(short *)((longlong)param_2 + 0x42);
local_172 = *(undefined8 *)((longlong)param_2 + 0x44);
local_16a = *(undefined8 *)((longlong)param_2 + 0x4c);
uStack_162 = *(undefined8 *)((longlong)param_2 + 0x54);
local_15a = *(undefined8 *)((longlong)param_2 + 0x5c);
uStack_152 = *(undefined8 *)((longlong)param_2 + 100);
local_3d8 = param_1;
local_390 = param_2;
wcsncpy_s(local_14a,0x10,(wchar_t *)((longlong)param_2 + 0x6c),0xf);
wcsncpy_s(local_12a,0x10,(wchar_t *)((longlong)param_2 + 0x8c),0xf);
local_fa = *(undefined8 *)((longlong)param_2 + 0xe);
local_f2 = *(undefined8 *)((longlong)param_2 + 0x16);
local_ea = *(undefined8 *)((longlong)param_2 + 0x1e);
local_e2 = *(undefined8 *)((longlong)param_2 + 0x26);
local_da = *(undefined8 *)((longlong)param_2 + 0x2e);
local_d2 = *(undefined8 *)((longlong)param_2 + 0x36);
local_ca = CONCAT22(local_176,local_178);
local_c6 = local_174;
local_c4 = local_172;
local_bc = local_16a;
local_b4 = uStack_162;
local_ac = local_15a;
local_a4 = uStack_152;
if (&stack0x00000000 != (undefined1 *)0x14a) {
wcsncpy_s(local_9c,0x10,local_14a,0xf);
}
if (&stack0x00000000 != (undefined1 *)0x12a) {
wcsncpy_s(local_9c + 0x10,0x10,local_12a,0xf);
}
if (*(wchar_t *)((longlong)param_2 + 0xac) != L'\0') {
wcsncpy_s(local_9c + 0x20,0x10,(wchar_t *)((longlong)param_2 + 0xac),0xf);
}
pIVar1 = *(IUnknown **)*param_1;
if (pIVar1 == (IUnknown *)0x0) {
LAB_1400e29d2:
iVar3 = FUN_1400a80c0(param_1);
if (iVar3 == 0) {
FUN_1400a8040(param_1,param_2,0);
local_fc = 0xffff;
iVar3 = FUN_1400a7630(*(undefined8 *)(param_1[0x22] + 0xf0),&local_108);
if (iVar3 == 0) {
FUN_1400a6d80(param_1[0x23],"DBResultQueue_Error.Log","DB Result Queue push error");
}
return (longlong *)0x0;
}
}
else {
local_3d0 = 0;
UVar2 = (*pIVar1->lpVtbl[0xb].AddRef)(pIVar1);
if ((int)UVar2 < 0) {
_com_issue_errorex(UVar2,pIVar1,(_GUID *)&DAT_14029e018);
}
if (local_3d0 == 0) goto LAB_1400e29d2;
}
local_3e8 = (longlong *)0x0;
iVar3 = FUN_140001990(&local_3e8);
if ((iVar3 < 0) && (iVar3 != -0x7fffbffe)) {
/* WARNING: Subroutine does not return */
FUN_140218220(iVar3);
}
local_378 = (IUnknown *)0x0;
local_370 = (longlong *)0x0;
Ordinal_8(local_358);
Ordinal_8(local_340);
pIVar1 = local_378;
if ((local_378 != (IUnknown *)0x0) && (local_378 = (IUnknown *)0x0, pIVar1 != (IUnknown *)0x0)) {
(*pIVar1->lpVtbl->Release)(pIVar1);
}
local_308 = &DAT_14029e010;
local_320 = &DAT_14029e010;
local_318 = 0;
local_310 = 0;
if (local_378 != (IUnknown *)0x0) {
(*local_378->lpVtbl->Release)(local_378);
}
HVar4 = CoCreateInstance((IID *)&DAT_14029e088,(LPUNKNOWN)0x0,0x17,(IID *)&DAT_14029dfb0,
&local_3a8);
if (-1 < HVar4) {
HVar4 = OleRun(local_3a8);
if (-1 < HVar4) {
HVar4 = (*local_3a8->lpVtbl->QueryInterface)(local_3a8,(IID *)&DAT_14029e078,&local_378);
}
(*local_3a8->lpVtbl->Release)(local_3a8);
if (-1 < HVar4) goto LAB_1400e2b64;
}
local_378 = (IUnknown *)0x0;
LAB_1400e2b64:
local_328 = 2;
local_368 = 1;
local_3e0[0] = 1;
puVar5 = (undefined8 *)FUN_140001f40(*param_1,&local_2f8);
FUN_140001700(&local_3e8,*puVar5,"dbo.up_insert_guild_member");
if (local_2f8 != (longlong *)0x0) {
(**(code **)(*local_2f8 + 0x10))();
}
local_3c8 = local_1b0;
local_228 = (undefined4)local_16a;
uStack_224 = local_16a._4_4_;
uStack_220 = (undefined4)uStack_162;
uStack_21c = uStack_162._4_4_;
FUN_140063820(local_1b0,&local_228);
plVar6 = operator_new(0x18);
local_2e8 = plVar9;
local_388 = plVar6;
if (plVar6 != (longlong *)0x0) {
plVar6[1] = 0;
*(undefined4 *)(plVar6 + 2) = 1;
lVar7 = FUN_1402182d0("guild_id");
*plVar6 = lVar7;
local_2e8 = plVar6;
}
if (local_2e8 == (longlong *)0x0) {
/* WARNING: Subroutine does not return */
FUN_140218220(0x8007000e);
}
plVar6 = (longlong *)FUN_140001870(&local_3e8,&local_3b0,&local_2e8,0xca);
local_3c8 = plVar6;
if (local_3e8 == (longlong *)0x0) {
/* WARNING: Subroutine does not return */
FUN_140218220(0x80004003);
}
puVar5 = (undefined8 *)FUN_140001650(local_3e8,&local_2a0);
pIVar1 = (IUnknown *)*puVar5;
if (pIVar1 == (IUnknown *)0x0) {
/* WARNING: Subroutine does not return */
FUN_140218220(0x80004003);
}
UVar2 = (*pIVar1->lpVtbl[3].AddRef)(pIVar1);
if ((int)UVar2 < 0) {
_com_issue_errorex(UVar2,pIVar1,(_GUID *)&DAT_14029dfc0);
}
if (local_2a0 != (longlong *)0x0) {
(**(code **)(*local_2a0 + 0x10))();
}
if ((longlong *)*plVar6 != (longlong *)0x0) {
(**(code **)(*(longlong *)*plVar6 + 0x10))();
}
local_3b0 = local_1f8;
local_208 = (undefined4)local_15a;
uStack_204 = local_15a._4_4_;
uStack_200 = (undefined4)uStack_152;
uStack_1fc = uStack_152._4_4_;
FUN_140063820(local_1f8,&local_208);
plVar6 = operator_new(0x18);
local_2c0 = plVar9;
local_3c8 = plVar6;
if (plVar6 != (longlong *)0x0) {
plVar6[1] = 0;
*(undefined4 *)(plVar6 + 2) = 1;
lVar7 = FUN_1402182d0("character_id");
*plVar6 = lVar7;
local_2c0 = plVar6;
}
if (local_2c0 == (longlong *)0x0) {
/* WARNING: Subroutine does not return */
FUN_140218220(0x8007000e);
}
plVar6 = (longlong *)FUN_140001870(&local_3e8,&local_3c0,&local_2c0,0xca);
local_3b0 = plVar6;
if (local_3e8 == (longlong *)0x0) {
/* WARNING: Subroutine does not return */
FUN_140218220(0x80004003);
}
puVar5 = (undefined8 *)FUN_140001650(local_3e8,&local_290);
pIVar1 = (IUnknown *)*puVar5;
if (pIVar1 == (IUnknown *)0x0) {
/* WARNING: Subroutine does not return */
FUN_140218220(0x80004003);
}
UVar2 = (*pIVar1->lpVtbl[3].AddRef)(pIVar1);
if ((int)UVar2 < 0) {
_com_issue_errorex(UVar2,pIVar1,(_GUID *)&DAT_14029dfc0);
}
if (local_290 != (longlong *)0x0) {
(**(code **)(*local_290 + 0x10))();
}
if ((longlong *)*plVar6 != (longlong *)0x0) {
(**(code **)(*(longlong *)*plVar6 + 0x10))();
}
local_3c0 = local_1c8;
FUN_140063990(local_1c8,local_14a);
plVar6 = operator_new(0x18);
local_2f0 = plVar9;
local_3b0 = plVar6;
if (plVar6 != (longlong *)0x0) {
plVar6[1] = 0;
*(undefined4 *)(plVar6 + 2) = 1;
lVar7 = FUN_1402182d0(&DAT_1402a5b74);
*plVar6 = lVar7;
local_2f0 = plVar6;
}
if (local_2f0 == (longlong *)0x0) {
/* WARNING: Subroutine does not return */
FUN_140218220(0x8007000e);
}
plVar6 = (longlong *)FUN_140001870(&local_3e8,&local_3b8,&local_2f0,0xca);
local_3c0 = plVar6;
if (local_3e8 == (longlong *)0x0) {
/* WARNING: Subroutine does not return */
FUN_140218220(0x80004003);
}
puVar5 = (undefined8 *)FUN_140001650(local_3e8,&local_2d8);
pIVar1 = (IUnknown *)*puVar5;
if (pIVar1 == (IUnknown *)0x0) {
/* WARNING: Subroutine does not return */
FUN_140218220(0x80004003);
}
UVar2 = (*pIVar1->lpVtbl[3].AddRef)(pIVar1);
if ((int)UVar2 < 0) {
_com_issue_errorex(UVar2,pIVar1,(_GUID *)&DAT_14029dfc0);
}
if (local_2d8 != (longlong *)0x0) {
(**(code **)(*local_2d8 + 0x10))();
}
if ((longlong *)*plVar6 != (longlong *)0x0) {
(**(code **)(*(longlong *)*plVar6 + 0x10))();
}
local_3b8 = local_198;
FUN_140063990(local_198,local_12a);
plVar6 = operator_new(0x18);
local_2c8 = plVar9;
local_3c0 = plVar6;
if (plVar6 != (longlong *)0x0) {
plVar6[1] = 0;
*(undefined4 *)(plVar6 + 2) = 1;
lVar7 = FUN_1402182d0("alias_name");
*plVar6 = lVar7;
local_2c8 = plVar6;
}
if (local_2c8 == (longlong *)0x0) {
/* WARNING: Subroutine does not return */
FUN_140218220(0x8007000e);
}
plVar6 = (longlong *)FUN_140001870(&local_3e8,&local_398,&local_2c8,0xca);
local_3b8 = plVar6;
if (local_3e8 == (longlong *)0x0) {
/* WARNING: Subroutine does not return */
FUN_140218220(0x80004003);
}
puVar5 = (undefined8 *)FUN_140001650(local_3e8,&local_2b8);
pIVar1 = (IUnknown *)*puVar5;
if (pIVar1 == (IUnknown *)0x0) {
/* WARNING: Subroutine does not return */
FUN_140218220(0x80004003);
}
UVar2 = (*pIVar1->lpVtbl[3].AddRef)(pIVar1);
if ((int)UVar2 < 0) {
_com_issue_errorex(UVar2,pIVar1,(_GUID *)&DAT_14029dfc0);
}
if (local_2b8 != (longlong *)0x0) {
(**(code **)(*local_2b8 + 0x10))();
}
if ((longlong *)*plVar6 != (longlong *)0x0) {
(**(code **)(*(longlong *)*plVar6 + 0x10))();
}
local_398 = local_288;
iVar3 = (int)local_176;
Ordinal_8(local_288);
FUN_140063620(local_288,iVar3);
plVar6 = operator_new(0x18);
local_2b0 = plVar9;
local_3b8 = plVar6;
if (plVar6 != (longlong *)0x0) {
plVar6[1] = 0;
*(undefined4 *)(plVar6 + 2) = 1;
lVar7 = FUN_1402182d0("grade");
*plVar6 = lVar7;
local_2b0 = plVar6;
}
if (local_2b0 == (longlong *)0x0) {
/* WARNING: Subroutine does not return */
FUN_140218220(0x8007000e);
}
plVar6 = (longlong *)FUN_140001870(&local_3e8,&local_3a0,&local_2b0,3);
local_398 = plVar6;
if (local_3e8 == (longlong *)0x0) {
/* WARNING: Subroutine does not return */
FUN_140218220(0x80004003);
}
puVar5 = (undefined8 *)FUN_140001650(local_3e8,&local_2a8);
pIVar1 = (IUnknown *)*puVar5;
if (pIVar1 == (IUnknown *)0x0) {
/* WARNING: Subroutine does not return */
FUN_140218220(0x80004003);
}
UVar2 = (*pIVar1->lpVtbl[3].AddRef)(pIVar1);
if ((int)UVar2 < 0) {
_com_issue_errorex(UVar2,pIVar1,(_GUID *)&DAT_14029dfc0);
}
if (local_2a8 != (longlong *)0x0) {
(**(code **)(*local_2a8 + 0x10))();
}
if ((longlong *)*plVar6 != (longlong *)0x0) {
(**(code **)(*(longlong *)*plVar6 + 0x10))();
}
local_3a0 = local_270;
iVar3 = (int)local_178;
Ordinal_8(local_270);
FUN_140063620(local_270,iVar3);
plVar6 = operator_new(0x18);
local_2e0 = plVar9;
local_398 = plVar6;
if (plVar6 != (longlong *)0x0) {
plVar6[1] = 0;
*(undefined4 *)(plVar6 + 2) = 1;
lVar7 = FUN_1402182d0("class");
*plVar6 = lVar7;
local_2e0 = plVar6;
}
if (local_2e0 == (longlong *)0x0) {
/* WARNING: Subroutine does not return */
FUN_140218220(0x8007000e);
}
plVar6 = (longlong *)FUN_140001870(&local_3e8,&local_380,&local_2e0,3);
local_3a0 = plVar6;
if (local_3e8 == (longlong *)0x0) {
/* WARNING: Subroutine does not return */
FUN_140218220(0x80004003);
}
puVar5 = (undefined8 *)FUN_140001650(local_3e8,&local_298);
pIVar1 = (IUnknown *)*puVar5;
if (pIVar1 != (IUnknown *)0x0) {
UVar2 = (*pIVar1->lpVtbl[3].AddRef)(pIVar1);
if ((int)UVar2 < 0) {
_com_issue_errorex(UVar2,pIVar1,(_GUID *)&DAT_14029dfc0);
}
if (local_298 != (longlong *)0x0) {
(**(code **)(*local_298 + 0x10))();
}
if ((longlong *)*plVar6 != (longlong *)0x0) {
(**(code **)(*(longlong *)*plVar6 + 0x10))();
}
local_380 = local_258;
iVar3 = (int)local_174;
Ordinal_8(local_258);
FUN_140063620(local_258,iVar3);
plVar6 = operator_new(0x18);
local_2d0 = plVar9;
local_3a0 = plVar6;
if (plVar6 != (longlong *)0x0) {
plVar6[1] = 0;
*(undefined4 *)(plVar6 + 2) = 1;
lVar7 = FUN_1402182d0("level");
*plVar6 = lVar7;
local_2d0 = plVar6;
}
if (local_2d0 == (longlong *)0x0) {
/* WARNING: Subroutine does not return */
FUN_140218220(0x8007000e);
}
plVar6 = (longlong *)FUN_140001870(&local_3e8,local_210,&local_2d0,3);
local_380 = plVar6;
if (local_3e8 == (longlong *)0x0) {
/* WARNING: Subroutine does not return */
FUN_140218220(0x80004003);
}
puVar5 = (undefined8 *)FUN_140001650(local_3e8,&local_388);
pIVar1 = (IUnknown *)*puVar5;
if (pIVar1 != (IUnknown *)0x0) {
UVar2 = (*pIVar1->lpVtbl[3].AddRef)(pIVar1);
if ((int)UVar2 < 0) {
_com_issue_errorex(UVar2,pIVar1,(_GUID *)&DAT_14029dfc0);
}
if (local_388 != (longlong *)0x0) {
(**(code **)(*local_388 + 0x10))();
}
if ((longlong *)*plVar6 != (longlong *)0x0) {
(**(code **)(*(longlong *)*plVar6 + 0x10))();
}
puVar5 = (undefined8 *)FUN_1400016c0(&local_3e8,&local_3c8);
This = local_378;
pIVar1 = (IUnknown *)*puVar5;
if (local_378 != pIVar1) {
local_378 = pIVar1;
if (pIVar1 != (IUnknown *)0x0) {
(*pIVar1->lpVtbl->AddRef)(pIVar1);
}
if (This != (IUnknown *)0x0) {
(*This->lpVtbl->Release)(This);
}
}
if (local_3c8 != (longlong *)0x0) {
(**(code **)(*local_3c8 + 0x10))();
}
pIVar1 = local_378;
if (local_378 != (IUnknown *)0x0) {
local_3dc = 0;
UVar2 = (*local_378->lpVtbl[6].Release)(local_378);
if ((int)UVar2 < 0) {
_com_issue_errorex(UVar2,pIVar1,(_GUID *)&DAT_14029e038);
}
if (local_3dc == -1) {
local_fc = 0xfffc;
plVar6 = plVar9;
}
else {
uVar8 = FUN_140002290(&local_378,local_1e0,"result_code",local_3e0);
FUN_140199590(uVar8);
iVar3 = FUN_140063af0(uVar8);
Ordinal_9(local_1e0);
plVar6 = (longlong *)0x1;
if (iVar3 != 1) {
local_fc = (undefined2)iVar3;
plVar6 = plVar9;
}
}
iVar3 = FUN_1400a7630(*(undefined8 *)(param_1[0x22] + 0xf0),&local_108);
if (iVar3 == 0) {
FUN_1400a6d80(param_1[0x23],"DBResultQueue_Error.Log","DB Result Queue push error");
}
pIVar1 = local_378;
if (local_378 != (IUnknown *)0x0) {
local_3d8 = (undefined8 *)((ulonglong)local_3d8 & 0xffffffff00000000);
UVar2 = (*local_378->lpVtbl[0x12].AddRef)(local_378);
if ((int)UVar2 < 0) {
_com_issue_errorex(UVar2,pIVar1,(_GUID *)&DAT_14029e038);
}
pIVar1 = local_378;
if ((int)local_3d8 != 0) {
if (local_378 == (IUnknown *)0x0) {
/* WARNING: Subroutine does not return */
FUN_140218220(0x80004003);
}
UVar2 = (*local_378->lpVtbl[10].Release)(local_378);
if ((int)UVar2 < 0) {
_com_issue_errorex(UVar2,pIVar1,(_GUID *)&DAT_14029e038);
}
}
if (local_378 != (IUnknown *)0x0) {
(*local_378->lpVtbl->Release)(local_378);
local_378 = (IUnknown *)0x0;
}
}
local_310 = 0;
local_308 = &DAT_14029e010;
local_320 = &DAT_14029e010;
local_318 = 0;
local_328 = 0;
Ordinal_9(local_340);
Ordinal_9(local_358);
if (local_370 != (longlong *)0x0) {
(**(code **)(*local_370 + 0x10))();
}
if (local_378 != (IUnknown *)0x0) {
(*local_378->lpVtbl->Release)(local_378);
}
if (local_3e8 != (longlong *)0x0) {
(**(code **)(*local_3e8 + 0x10))();
}
return plVar6;
}
/* WARNING: Subroutine does not return */
FUN_140218220(0x80004003);
}
/* WARNING: Subroutine does not return */
FUN_140218220(0x80004003);
}
/* WARNING: Subroutine does not return */
FUN_140218220(0x80004003);
}