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

664 lines
22 KiB
C

/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c
* Ghidra 12.1.2 decompiler output for 0x1400c39e0 FUN_1400c39e0
* Pseudocode, not original source. */
/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */
undefined4 FUN_1400c39e0(undefined8 *param_1,undefined8 *param_2)
{
undefined4 uVar1;
IUnknown *pIVar2;
undefined6 uVar3;
IUnknown *This;
undefined2 uVar4;
int iVar5;
HRESULT HVar6;
ULONG UVar7;
undefined4 uVar8;
undefined8 *puVar9;
wchar_t *pwVar10;
longlong lVar11;
longlong *plVar12;
undefined8 uVar13;
undefined8 uVar14;
wchar_t *pwVar15;
char *riid;
char *ppvObject;
wchar_t *pwVar16;
uint uVar17;
wchar_t *pwVar18;
undefined1 auStackY_568 [32];
char local_528 [4];
short local_524;
short local_520;
longlong *local_518;
int local_510;
int local_50c;
undefined4 uVar19;
undefined8 local_500;
undefined2 uStack_4f4;
ushort local_4e2;
wchar_t *local_4e0;
IUnknown *local_4d8;
longlong *local_4d0;
undefined4 local_4c8;
undefined1 local_4b8 [24];
undefined1 local_4a0 [24];
undefined4 local_488;
undefined1 *local_480;
undefined4 local_478;
undefined8 local_470;
undefined1 *local_468;
longlong *local_458;
LPUNKNOWN local_450;
wchar_t *local_448;
undefined8 *local_440;
undefined8 *local_438;
undefined4 local_430;
undefined4 local_42c;
undefined4 local_428;
undefined4 local_424;
undefined4 local_420;
uchar local_41c [4];
uchar local_418 [4];
undefined4 local_414;
undefined8 local_410;
undefined1 local_408;
undefined8 local_400;
undefined1 local_3f8;
undefined8 local_3f0;
undefined1 local_3e8;
undefined8 local_3e0;
undefined1 local_3d8;
wchar_t *local_3d0;
longlong *local_3c8 [2];
undefined4 local_3b8;
undefined4 uStack_3b4;
undefined4 uStack_3b0;
undefined4 uStack_3ac;
undefined1 local_3a0 [8];
undefined8 local_398;
undefined1 local_390 [24];
undefined1 local_378 [24];
undefined1 local_360 [24];
undefined1 local_348 [24];
undefined1 local_330 [24];
undefined1 local_318 [24];
undefined1 local_300 [24];
undefined1 local_2e8 [24];
undefined1 local_2d0 [24];
undefined1 local_2b8 [24];
undefined1 local_2a0 [24];
undefined1 local_288 [24];
undefined1 local_270 [24];
undefined1 local_258 [24];
undefined1 local_240 [24];
undefined1 local_228 [24];
undefined1 local_210 [24];
undefined1 local_1f8 [24];
undefined1 local_1e0 [24];
undefined1 local_1c8 [24];
undefined1 local_1b0 [24];
undefined1 local_198 [24];
undefined1 local_180 [24];
longlong local_168 [3];
undefined1 local_150 [24];
undefined1 local_138 [24];
undefined1 local_120 [24];
IID local_108;
undefined4 local_f8;
undefined4 local_f4;
undefined4 local_f0;
undefined4 local_ec;
undefined4 local_e8;
undefined4 local_e4;
wchar_t local_e0 [12];
ulonglong local_c8;
undefined2 local_c0;
undefined8 local_be;
undefined8 local_b6;
undefined8 local_ae;
undefined4 local_a6;
undefined2 local_a2;
undefined8 local_a0;
undefined8 local_98;
undefined8 local_90;
undefined8 local_88;
undefined8 local_80;
undefined8 local_78;
undefined4 local_70;
undefined4 local_6c;
undefined4 local_68;
ulonglong local_58;
local_398 = 0xfffffffffffffffe;
local_58 = DAT_1403463c0 ^ (ulonglong)auStackY_568;
pwVar16 = (wchar_t *)0x0;
local_518 = (longlong *)0x0;
local_440 = param_1;
local_438 = param_2;
iVar5 = FUN_140001990(&local_518);
if ((iVar5 < 0) && (iVar5 != -0x7fffbffe)) {
/* WARNING: Subroutine does not return */
FUN_140218220(iVar5);
}
local_4d8 = (IUnknown *)0x0;
local_4d0 = (longlong *)0x0;
Ordinal_8(local_4b8);
Ordinal_8(local_4a0);
pIVar2 = local_4d8;
if ((local_4d8 != (IUnknown *)0x0) && (local_4d8 = (IUnknown *)0x0, pIVar2 != (IUnknown *)0x0)) {
(*pIVar2->lpVtbl->Release)(pIVar2);
}
local_468 = &DAT_14029e010;
local_480 = &DAT_14029e010;
local_478 = 0;
local_470 = 0;
if (local_4d8 != (IUnknown *)0x0) {
(*local_4d8->lpVtbl->Release)(local_4d8);
}
HVar6 = CoCreateInstance((IID *)&DAT_14029e088,(LPUNKNOWN)0x0,0x17,(IID *)&DAT_14029dfb0,
&local_450);
if (-1 < HVar6) {
HVar6 = OleRun(local_450);
if (-1 < HVar6) {
HVar6 = (*local_450->lpVtbl->QueryInterface)(local_450,(IID *)&DAT_14029e078,&local_4d8);
}
(*local_450->lpVtbl->Release)(local_450);
if (-1 < HVar6) goto LAB_1400c3b64;
}
local_4d8 = (IUnknown *)0x0;
LAB_1400c3b64:
local_488 = 2;
uVar19 = 1;
local_4c8 = 1;
local_528[0] = '\x01';
pwVar18 = (wchar_t *)0x0;
local_4e2 = 0;
uVar1 = *(undefined4 *)(param_2 + 1);
local_500 = CONCAT44((int)((ulonglong)*param_2 >> 0x20),0x23e60000);
uStack_4f4 = 0x106;
uVar17 = 0x20;
pIVar2 = *(IUnknown **)*param_1;
if ((pIVar2 != (IUnknown *)0x0) && (UVar7 = (*pIVar2->lpVtbl[0xb].AddRef)(pIVar2), (int)UVar7 < 0)
) {
_com_issue_errorex(UVar7,pIVar2,(_GUID *)&DAT_14029e018);
}
iVar5 = FUN_1400a80c0(param_1);
if (iVar5 == 0) {
FUN_1400a8040(param_1,param_2,0);
pIVar2 = local_4d8;
if (local_4d8 != (IUnknown *)0x0) {
local_50c = 0;
UVar7 = (*local_4d8->lpVtbl[0x12].AddRef)(local_4d8);
if ((int)UVar7 < 0) {
_com_issue_errorex(UVar7,pIVar2,(_GUID *)&DAT_14029e038);
}
pIVar2 = local_4d8;
if (local_50c != 0) {
if (local_4d8 == (IUnknown *)0x0) {
/* WARNING: Subroutine does not return */
FUN_140218220(0x80004003);
}
UVar7 = (*local_4d8->lpVtbl[10].Release)(local_4d8);
if ((int)UVar7 < 0) {
_com_issue_errorex(UVar7,pIVar2,(_GUID *)&DAT_14029e038);
}
}
if (local_4d8 != (IUnknown *)0x0) {
(*local_4d8->lpVtbl->Release)(local_4d8);
local_4d8 = (IUnknown *)0x0;
}
}
local_470 = 0;
local_468 = &DAT_14029e010;
local_480 = &DAT_14029e010;
local_478 = 0;
local_488 = 0;
Ordinal_9(local_4a0);
Ordinal_9(local_4b8);
if (local_4d0 != (longlong *)0x0) {
(**(code **)(*local_4d0 + 0x10))();
}
if (local_4d8 != (IUnknown *)0x0) {
(*local_4d8->lpVtbl->Release)(local_4d8);
}
if (local_518 != (longlong *)0x0) {
(**(code **)(*local_518 + 0x10))();
}
return 0;
}
puVar9 = (undefined8 *)FUN_140001f40(*param_1,local_3c8);
FUN_140001700(&local_518,*puVar9,"dbo.up_read_rearing_listinfo");
if (local_3c8[0] != (longlong *)0x0) {
(**(code **)(*local_3c8[0] + 0x10))();
}
local_458 = local_168;
local_3b8 = *(undefined4 *)((longlong)param_2 + 0xe);
uStack_3b4 = *(undefined4 *)((longlong)param_2 + 0x12);
uStack_3b0 = *(undefined4 *)((longlong)param_2 + 0x16);
uStack_3ac = *(undefined4 *)((longlong)param_2 + 0x1a);
FUN_140063820(local_168,&local_3b8);
pwVar10 = operator_new(0x18);
local_3d0 = pwVar16;
local_448 = pwVar10;
if (pwVar10 != (wchar_t *)0x0) {
pwVar10[4] = L'\0';
pwVar10[5] = L'\0';
pwVar10[6] = L'\0';
pwVar10[7] = L'\0';
pwVar10[8] = L'\x01';
pwVar10[9] = L'\0';
lVar11 = FUN_1402182d0("cha_uid");
*(longlong *)pwVar10 = lVar11;
local_3d0 = pwVar10;
}
if (local_3d0 == (wchar_t *)0x0) {
/* WARNING: Subroutine does not return */
FUN_140218220(0x8007000e);
}
plVar12 = (longlong *)FUN_140001870(&local_518,local_3a0,&local_3d0,0xca);
local_458 = plVar12;
if (local_518 == (longlong *)0x0) {
/* WARNING: Subroutine does not return */
FUN_140218220(0x80004003);
}
puVar9 = (undefined8 *)FUN_140001650(local_518,&local_448);
pIVar2 = (IUnknown *)*puVar9;
if (pIVar2 != (IUnknown *)0x0) {
UVar7 = (*pIVar2->lpVtbl[3].AddRef)(pIVar2);
if ((int)UVar7 < 0) {
_com_issue_errorex(UVar7,pIVar2,(_GUID *)&DAT_14029dfc0);
}
if (local_448 != (wchar_t *)0x0) {
(**(code **)(*(longlong *)local_448 + 0x10))();
}
if ((longlong *)*plVar12 != (longlong *)0x0) {
(**(code **)(*(longlong *)*plVar12 + 0x10))();
}
puVar9 = (undefined8 *)FUN_1400016c0(&local_518,&local_458);
This = local_4d8;
pIVar2 = (IUnknown *)*puVar9;
if (local_4d8 != pIVar2) {
local_4d8 = pIVar2;
if (pIVar2 != (IUnknown *)0x0) {
(*pIVar2->lpVtbl->AddRef)(pIVar2);
}
if (This != (IUnknown *)0x0) {
(*This->lpVtbl->Release)(This);
}
}
if (local_458 != (longlong *)0x0) {
(**(code **)(*local_458 + 0x10))();
}
pIVar2 = local_4d8;
if (local_4d8 == (IUnknown *)0x0) {
/* WARNING: Subroutine does not return */
FUN_140218220(0x80004003);
}
local_520 = 0;
UVar7 = (*local_4d8->lpVtbl[6].Release)(local_4d8);
if ((int)UVar7 < 0) {
_com_issue_errorex(UVar7,pIVar2,(_GUID *)&DAT_14029e038);
}
if (local_520 != -1) {
while( true ) {
pIVar2 = local_4d8;
if (local_4d8 == (IUnknown *)0x0) {
/* WARNING: Subroutine does not return */
FUN_140218220(0x80004003);
}
local_524 = 0;
UVar7 = (*local_4d8->lpVtbl[6].Release)(local_4d8);
if ((int)UVar7 < 0) {
_com_issue_errorex(UVar7,pIVar2,(_GUID *)&DAT_14029e038);
}
if (local_524 == -1) break;
local_108.Data1 = 0;
local_108.Data2 = 0;
local_108.Data3 = 0;
local_108.Data4[0] = '\0';
local_108.Data4[1] = '\0';
local_108.Data4[2] = '\0';
local_108.Data4[3] = '\0';
local_108.Data4[4] = '\0';
local_108.Data4[5] = '\0';
local_108.Data4[6] = '\0';
local_108.Data4[7] = '\0';
local_f8 = 0;
local_f4 = 0;
local_f0 = 0;
local_ec = 0;
local_e8 = 0;
local_e4 = 0;
local_c0 = 0;
local_be = 0;
local_b6 = 0;
local_ae = 0;
local_a6 = 0;
local_a2 = 0;
local_a0 = 0;
local_98 = 0;
local_90 = 0;
local_88 = 0;
local_80 = 0;
local_78 = 0;
local_70 = 0;
local_6c = 0;
local_68 = 0;
local_e0[0] = L'\0';
local_e0[1] = L'\0';
local_e0[2] = L'\0';
local_e0[3] = L'\0';
local_e0[4] = L'\0';
local_e0[5] = L'\0';
local_e0[6] = L'\0';
local_e0[7] = L'\0';
local_e0[8] = L'\0';
local_e0[9] = L'\0';
local_e0[10] = L'\0';
local_e0[0xb] = L'\0';
local_c8 = 0;
uVar13 = FUN_140002290(&local_4d8,local_390,"table_id",local_528);
FUN_140199590(uVar13);
uVar4 = FUN_140063af0(uVar13);
local_108.Data1 = CONCAT22(local_108.Data1._2_2_,uVar4);
Ordinal_9(local_390);
uVar13 = FUN_140002290(&local_4d8,local_138,"group_id",local_528);
FUN_140199590(uVar13);
uVar4 = FUN_140063af0(uVar13);
local_108.Data1 = CONCAT22(uVar4,(undefined2)local_108.Data1);
Ordinal_9(local_138);
uVar13 = FUN_140002290(&local_4d8,local_360,"rearing_id",local_528);
FUN_140063b70(uVar13,&local_420);
local_108.Data2 = (ushort)local_420;
local_108.Data3 = local_420._2_2_;
local_108.Data4[0] = local_41c[0];
local_108.Data4[1] = local_41c[1];
local_108.Data4[2] = local_41c[2];
local_108.Data4[3] = local_41c[3];
local_108.Data4[4] = local_418[0];
local_108.Data4[5] = local_418[1];
local_108.Data4[6] = local_418[2];
local_108.Data4[7] = local_418[3];
local_f8 = local_414;
Ordinal_9(local_360);
uVar13 = FUN_140002290(&local_4d8,local_150,"char_id",local_528);
FUN_140063b70(uVar13,&local_430);
local_f4 = local_430;
local_f0 = local_42c;
local_ec = local_428;
local_e8 = local_424;
Ordinal_9(local_150);
uVar13 = FUN_140002290(&local_4d8,local_330,&DAT_1402aa2b4,local_528);
FUN_140199590(uVar13);
local_e4 = FUN_140063af0(uVar13);
Ordinal_9(local_330);
uVar13 = FUN_140002290(&local_4d8,local_210,&DAT_1402a6218,local_528);
FUN_140063de0(uVar13,&local_4e0);
FUN_14016d8c0();
pwVar10 = (wchar_t *)PTR_DAT_1403440a0;
if (PTR_DAT_1403440a0 == (undefined *)0x0) {
pwVar10 = pwVar16;
}
if (local_4e0 != (wchar_t *)PTR_DAT_1403440a0) {
uVar13 = FUN_14016d8c0();
local_3f8 = 0;
local_400 = uVar13;
FUN_14016db50(uVar13);
local_3f8 = 1;
if (((pwVar10 != (wchar_t *)0x0) && (pwVar10 != (wchar_t *)PTR_DAT_1403440a0)) &&
(pwVar10 + -4 != (wchar_t *)0x0)) {
uVar14 = FUN_14016d8c0();
local_408 = 0;
local_410 = uVar14;
FUN_14016db50(uVar14);
local_408 = 1;
pwVar15 = pwVar10 + -2;
*(int *)pwVar15 = *(int *)pwVar15 + -1;
if (*(int *)pwVar15 == 0) {
FUN_14016d970(pwVar10 + -4);
}
FUN_14016dbe0(uVar14);
local_408 = 0;
}
pwVar10 = local_4e0;
if (((local_4e0 != (wchar_t *)PTR_DAT_1403440a0) && (local_4e0 != (wchar_t *)0x0)) &&
(local_4e0 != (wchar_t *)0x8)) {
*(int *)(local_4e0 + -2) = *(int *)(local_4e0 + -2) + 1;
}
FUN_14016dbe0(uVar13);
local_3f8 = 0;
}
pwVar15 = pwVar10;
if (pwVar10 == (wchar_t *)0x0) {
pwVar15 = (wchar_t *)PTR_DAT_1403440a0;
}
wcsncpy(local_e0,pwVar15,0xf);
if (((pwVar10 != (wchar_t *)0x0) && (pwVar10 != (wchar_t *)PTR_DAT_1403440a0)) &&
(pwVar10 + -4 != (wchar_t *)0x0)) {
uVar13 = FUN_14016d8c0();
local_3e8 = 0;
local_3f0 = uVar13;
FUN_14016db50(uVar13);
local_3e8 = 1;
pwVar15 = pwVar10 + -2;
*(int *)pwVar15 = *(int *)pwVar15 + -1;
if (*(int *)pwVar15 == 0) {
FUN_14016d970(pwVar10 + -4);
}
FUN_14016dbe0(uVar13);
local_3e8 = 0;
}
pwVar10 = local_4e0;
if (((local_4e0 != (wchar_t *)0x0) && (local_4e0 != (wchar_t *)PTR_DAT_1403440a0)) &&
(pwVar15 = local_4e0 + -4, pwVar15 != (wchar_t *)0x0)) {
uVar13 = FUN_14016d8c0();
local_3d8 = 0;
local_3e0 = uVar13;
FUN_14016db50(uVar13);
local_3d8 = 1;
pwVar10 = pwVar10 + -2;
*(int *)pwVar10 = *(int *)pwVar10 + -1;
if (*(int *)pwVar10 == 0) {
FUN_14016d970(pwVar15);
}
FUN_14016dbe0(uVar13);
local_3d8 = 0;
}
local_4e0 = (wchar_t *)PTR_DAT_1403440a0;
Ordinal_9(local_210);
local_c8 = local_c8 & 0xffffffffffff;
uVar13 = FUN_140002290(&local_4d8,local_300,&DAT_1402a976c,local_528);
FUN_140199590(uVar13);
local_c0 = FUN_140063af0(uVar13);
Ordinal_9(local_300);
uVar13 = FUN_140002290(&local_4d8,local_180,"level",local_528);
FUN_140199590(uVar13);
uVar8 = FUN_140063af0(uVar13);
local_be = CONCAT44(local_be._4_4_,uVar8);
Ordinal_9(local_180);
uVar13 = FUN_140002290(&local_4d8,local_2d0,"index",local_528);
FUN_140199590(uVar13);
uVar8 = FUN_140063af0(uVar13);
local_ae = CONCAT44(local_ae._4_4_,uVar8);
Ordinal_9(local_2d0);
uVar13 = FUN_140002290(&local_4d8,local_1e0,"actionpoint",local_528);
FUN_140199590(uVar13);
uVar8 = FUN_140063af0(uVar13);
local_ae = CONCAT44(uVar8,(undefined4)local_ae);
Ordinal_9(local_1e0);
uVar13 = FUN_140002290(&local_4d8,local_2a0,"usedturn",local_528);
FUN_140199590(uVar13);
local_a6 = FUN_140063af0(uVar13);
Ordinal_9(local_2a0);
uVar13 = FUN_140002290(&local_4d8,local_120,"endingid",local_528);
FUN_140199590(uVar13);
local_a2 = FUN_140063af0(uVar13);
Ordinal_9(local_120);
uVar13 = FUN_140002290(&local_4d8,local_270,"rewarditem",local_528);
FUN_140199590(uVar13);
uVar8 = FUN_140063af0(uVar13);
local_a0 = CONCAT44(local_a0._4_4_,uVar8);
Ordinal_9(local_270);
uVar13 = FUN_140002290(&local_4d8,local_1b0,"createtime",local_528);
FUN_140199590(uVar13);
local_b6 = FUN_14009f050(uVar13);
Ordinal_9(local_1b0);
uVar13 = FUN_140002290(&local_4d8,local_240,"vital",local_528);
FUN_140199590(uVar13);
uVar8 = FUN_140063af0(uVar13);
local_a0 = CONCAT44(uVar8,(undefined4)local_a0);
Ordinal_9(local_240);
uVar13 = FUN_140002290(&local_4d8,local_378,"intelligence",local_528);
FUN_140199590(uVar13);
uVar8 = FUN_140063af0(uVar13);
local_98 = CONCAT44(local_98._4_4_,uVar8);
Ordinal_9(local_378);
uVar13 = FUN_140002290(&local_4d8,local_348,"strength",local_528);
FUN_140199590(uVar13);
uVar8 = FUN_140063af0(uVar13);
local_98 = CONCAT44(uVar8,(undefined4)local_98);
Ordinal_9(local_348);
uVar13 = FUN_140002290(&local_4d8,local_318,"temper",local_528);
FUN_140199590(uVar13);
uVar8 = FUN_140063af0(uVar13);
local_90 = CONCAT44(local_90._4_4_,uVar8);
Ordinal_9(local_318);
uVar13 = FUN_140002290(&local_4d8,local_2e8,"charm",local_528);
FUN_140199590(uVar13);
uVar8 = FUN_140063af0(uVar13);
local_90 = CONCAT44(uVar8,(undefined4)local_90);
Ordinal_9(local_2e8);
uVar13 = FUN_140002290(&local_4d8,local_2b8,"exhaust",local_528);
FUN_140199590(uVar13);
uVar8 = FUN_140063af0(uVar13);
local_80 = CONCAT44(local_80._4_4_,uVar8);
Ordinal_9(local_2b8);
uVar13 = FUN_140002290(&local_4d8,local_288,"angry",local_528);
FUN_140199590(uVar13);
uVar8 = FUN_140063af0(uVar13);
local_80 = CONCAT44(uVar8,(undefined4)local_80);
Ordinal_9(local_288);
uVar13 = FUN_140002290(&local_4d8,local_258,"normal",local_528);
FUN_140199590(uVar13);
uVar8 = FUN_140063af0(uVar13);
local_78 = CONCAT44(local_78._4_4_,uVar8);
Ordinal_9(local_258);
uVar13 = FUN_140002290(&local_4d8,local_228,&DAT_1402aa368,local_528);
FUN_140199590(uVar13);
uVar8 = FUN_140063af0(uVar13);
local_78 = CONCAT44(uVar8,(undefined4)local_78);
Ordinal_9(local_228);
uVar13 = FUN_140002290(&local_4d8,local_1f8,"sadness",local_528);
FUN_140199590(uVar13);
local_70 = FUN_140063af0(uVar13);
Ordinal_9(local_1f8);
uVar13 = FUN_140002290(&local_4d8,local_1c8,"height",local_528);
FUN_140199590(uVar13);
local_6c = FUN_14009efc0(uVar13);
Ordinal_9(local_1c8);
uVar13 = FUN_140002290(&local_4d8,local_198,"weight",local_528);
FUN_140199590(uVar13);
local_68 = FUN_14009efc0(uVar13);
Ordinal_9(local_198);
riid = (char *)&local_108;
ppvObject = (char *)0xa4;
memcpy((void *)((longlong)(int)uVar17 + 0x130 + (longlong)param_1),riid,0xa4);
uVar17 = uVar17 + 0xa4;
local_4e2 = (short)pwVar18 + 1;
pwVar18 = (wchar_t *)(ulonglong)local_4e2;
if (50000 < uVar17) {
uVar3 = local_500._2_6_;
local_500 = CONCAT62(local_500._2_6_,(short)uVar17);
uVar13 = local_500;
riid = (char *)(param_1 + 0x26);
local_500._4_2_ = SUB62(uVar3,2);
local_500._6_2_ = SUB62(uVar3,4);
((IID *)riid)->Data1 = (undefined4)local_500;
((IID *)riid)->Data2 = local_500._4_2_;
((IID *)riid)->Data3 = local_500._6_2_;
param_1[0x27] = (ulonglong)CONCAT24(0x106,uVar1);
param_1[0x28] = 0;
param_1[0x29] = (ulonglong)local_4e2 << 0x30;
iVar5 = FUN_1400a7630(*(undefined8 *)(param_1[0x22] + 0xf0));
if (iVar5 == 0) {
ppvObject = "DB Result Queue push error";
riid = "DBResultQueue_Error.Log";
FUN_1400a6d80(param_1[0x23]);
}
uVar17 = 0x20;
local_4e2 = 0;
pwVar18 = pwVar16;
local_500 = uVar13;
}
pIVar2 = local_4d8;
if (local_4d8 == (IUnknown *)0x0) {
/* WARNING: Subroutine does not return */
FUN_140218220(0x80004003);
}
HVar6 = (*local_4d8->lpVtbl[0xc].QueryInterface)(local_4d8,(IID *)riid,(void **)ppvObject);
if (HVar6 < 0) {
_com_issue_errorex(HVar6,pIVar2,(_GUID *)&DAT_14029e038);
}
}
if (local_528[0] == '\0') {
uStack_4f4 = 0x108;
uVar19 = 0;
}
}
local_500 = CONCAT62(local_500._2_6_,(short)uVar17);
param_1[0x26] = local_500;
param_1[0x27] = (ulonglong)CONCAT24(uStack_4f4,uVar1);
param_1[0x28] = 0;
param_1[0x29] = (ulonglong)local_4e2 << 0x30;
iVar5 = FUN_1400a7630(*(undefined8 *)(param_1[0x22] + 0xf0));
if (iVar5 == 0) {
FUN_1400a6d80(param_1[0x23],"DBResultQueue_Error.Log","DB Result Queue push error");
}
pIVar2 = local_4d8;
if (local_4d8 != (IUnknown *)0x0) {
local_510 = 0;
UVar7 = (*local_4d8->lpVtbl[0x12].AddRef)(local_4d8);
if ((int)UVar7 < 0) {
_com_issue_errorex(UVar7,pIVar2,(_GUID *)&DAT_14029e038);
}
pIVar2 = local_4d8;
if (local_510 != 0) {
if (local_4d8 == (IUnknown *)0x0) {
/* WARNING: Subroutine does not return */
FUN_140218220(0x80004003);
}
UVar7 = (*local_4d8->lpVtbl[10].Release)(local_4d8);
if ((int)UVar7 < 0) {
_com_issue_errorex(UVar7,pIVar2,(_GUID *)&DAT_14029e038);
}
}
if (local_4d8 != (IUnknown *)0x0) {
(*local_4d8->lpVtbl->Release)(local_4d8);
local_4d8 = (IUnknown *)0x0;
}
}
local_470 = 0;
local_468 = &DAT_14029e010;
local_480 = &DAT_14029e010;
local_478 = 0;
local_488 = 0;
Ordinal_9(local_4a0);
Ordinal_9(local_4b8);
if (local_4d0 != (longlong *)0x0) {
(**(code **)(*local_4d0 + 0x10))();
}
if (local_4d8 != (IUnknown *)0x0) {
(*local_4d8->lpVtbl->Release)(local_4d8);
}
if (local_518 != (longlong *)0x0) {
(**(code **)(*local_518 + 0x10))();
}
return uVar19;
}
/* WARNING: Subroutine does not return */
FUN_140218220(0x80004003);
}