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

798 lines
24 KiB
C

/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c
* Ghidra 12.1.2 decompiler output for 0x14009f6f0 FUN_14009f6f0
* Pseudocode, not original source. */
/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */
/* WARNING: Type propagation algorithm not settling */
bool FUN_14009f6f0(undefined8 *param_1,undefined8 param_2)
{
IUnknown *pIVar1;
IUnknown *This;
int iVar2;
HRESULT HVar3;
ULONG UVar4;
int iVar5;
int iVar6;
int iVar7;
int iVar8;
int iVar9;
int iVar10;
longlong lVar11;
undefined8 *puVar12;
undefined8 uVar13;
IID *riid;
longlong lVar14;
void **ppvObject;
ulonglong *puVar15;
ulonglong *puVar16;
ulonglong uVar17;
bool bVar18;
undefined1 auStackY_478 [32];
char local_448 [4];
uint local_444;
undefined4 local_440;
undefined8 local_438;
longlong *local_430;
int local_428 [3];
undefined4 local_41c;
int local_418 [3];
undefined4 local_40c;
int local_408 [3];
undefined4 local_3fc;
undefined8 local_3f8;
int local_3f0 [3];
undefined4 local_3e4;
int local_3e0 [3];
int local_3d4;
int local_3d0;
IID local_3c8 [2];
IUnknown *local_3a8;
longlong *local_3a0;
undefined4 local_398;
undefined1 local_388 [24];
undefined1 local_370 [24];
undefined4 local_358;
undefined1 *local_350;
undefined4 local_348;
undefined8 local_340;
undefined1 *local_338;
undefined8 *local_328;
IID local_320 [2];
IID local_300;
IID local_2e8 [2];
IID local_2c8;
IID local_2b0;
undefined8 local_298;
IID local_290;
IID local_278;
IID local_260;
undefined1 local_248 [24];
undefined1 local_230 [24];
undefined1 local_218 [32];
longlong local_1f8;
ulonglong local_1f0;
undefined1 local_1e0;
longlong local_1d8;
undefined4 local_1d0;
undefined8 local_1c8;
undefined8 local_1c0;
longlong local_1b8;
ulonglong local_1b0;
undefined1 local_1a0;
longlong local_198;
undefined4 local_190;
undefined8 local_188;
undefined8 local_180;
longlong local_178;
ulonglong local_170;
undefined1 local_160;
longlong local_158;
undefined4 local_150;
undefined8 local_148;
undefined8 local_140;
longlong local_138;
ulonglong local_130;
undefined1 local_120;
longlong local_118;
undefined4 local_110;
undefined8 local_108;
undefined8 local_100;
longlong local_f8;
ulonglong local_f0;
undefined1 local_e0;
longlong local_d8;
undefined4 local_d0;
undefined8 local_c8;
undefined8 local_c0;
longlong local_b8;
ulonglong local_b0;
undefined1 local_a0;
longlong local_98;
undefined4 local_90;
undefined8 local_88;
undefined8 local_80;
longlong local_78;
ulonglong local_70;
undefined1 local_60;
longlong local_58;
undefined4 local_50;
undefined8 local_48;
undefined8 local_40;
ulonglong local_38;
local_298 = 0xfffffffffffffffe;
local_38 = DAT_1403463c0 ^ (ulonglong)auStackY_478;
uVar17 = 0;
local_430 = (longlong *)0x0;
local_328 = param_1;
iVar2 = FUN_140001990(&local_430);
if ((iVar2 < 0) && (iVar2 != -0x7fffbffe)) {
/* WARNING: Subroutine does not return */
FUN_140218220(iVar2);
}
local_3a8 = (IUnknown *)0x0;
local_3a0 = (longlong *)0x0;
Ordinal_8(local_388);
Ordinal_8(local_370);
pIVar1 = local_3a8;
if ((local_3a8 != (IUnknown *)0x0) && (local_3a8 = (IUnknown *)0x0, pIVar1 != (IUnknown *)0x0)) {
(*pIVar1->lpVtbl->Release)(pIVar1);
}
local_338 = &DAT_14029e010;
local_350 = &DAT_14029e010;
local_348 = 0;
local_340 = 0;
if (local_3a8 != (IUnknown *)0x0) {
(*local_3a8->lpVtbl->Release)(local_3a8);
}
HVar3 = CoCreateInstance((IID *)&DAT_14029e088,(LPUNKNOWN)0x0,0x17,(IID *)&DAT_14029dfb0,
(LPVOID *)&local_438);
if (HVar3 < 0) {
LAB_14009f850:
local_3a8 = (IUnknown *)0x0;
}
else {
HVar3 = OleRun((LPUNKNOWN)CONCAT44(local_438._4_4_,(int)local_438));
if (-1 < HVar3) {
HVar3 = (*(code *)**(undefined8 **)CONCAT44(local_438._4_4_,(int)local_438))
((undefined8 *)CONCAT44(local_438._4_4_,(int)local_438),&DAT_14029e078,
&local_3a8);
}
(**(code **)(*(longlong *)CONCAT44(local_438._4_4_,(int)local_438) + 0x10))();
if (HVar3 < 0) goto LAB_14009f850;
}
local_358 = 2;
bVar18 = true;
local_398 = 1;
local_448[0] = '\x01';
pIVar1 = *(IUnknown **)*param_1;
if (pIVar1 != (IUnknown *)0x0) {
local_444 = 0;
UVar4 = (*pIVar1->lpVtbl[0xb].AddRef)(pIVar1);
if ((int)UVar4 < 0) {
_com_issue_errorex(UVar4,pIVar1,(_GUID *)&DAT_14029e018);
}
if (local_444 != 0) goto LAB_14009f9fc;
}
iVar2 = FUN_1400a80c0(param_1);
if (iVar2 == 0) {
FUN_1400a8040(param_1,param_2,0);
pIVar1 = local_3a8;
if (local_3a8 != (IUnknown *)0x0) {
local_444 = 0;
UVar4 = (*local_3a8->lpVtbl[0x12].AddRef)(local_3a8);
if ((int)UVar4 < 0) {
_com_issue_errorex(UVar4,pIVar1,(_GUID *)&DAT_14029e038);
}
pIVar1 = local_3a8;
if (local_444 != 0) {
if (local_3a8 == (IUnknown *)0x0) {
/* WARNING: Subroutine does not return */
FUN_140218220(0x80004003);
}
UVar4 = (*local_3a8->lpVtbl[10].Release)(local_3a8);
if ((int)UVar4 < 0) {
_com_issue_errorex(UVar4,pIVar1,(_GUID *)&DAT_14029e038);
}
}
if (local_3a8 != (IUnknown *)0x0) {
(*local_3a8->lpVtbl->Release)(local_3a8);
local_3a8 = (IUnknown *)0x0;
}
}
local_340 = 0;
local_338 = &DAT_14029e010;
local_350 = &DAT_14029e010;
local_348 = 0;
local_358 = 0;
Ordinal_9(local_370);
Ordinal_9(local_388);
if (local_3a0 != (longlong *)0x0) {
(**(code **)(*local_3a0 + 0x10))();
}
if (local_3a8 != (IUnknown *)0x0) {
(*local_3a8->lpVtbl->Release)(local_3a8);
}
if (local_430 != (longlong *)0x0) {
(**(code **)(*local_430 + 0x10))();
}
return false;
}
LAB_14009f9fc:
puVar16 = &DAT_1402a81a0;
puVar15 = &DAT_1402a81a0;
lVar14 = 0x28;
do {
lVar11 = lVar14 / 2;
if (puVar15[lVar11] < 0xb) {
puVar15 = puVar15 + lVar11 + 1;
lVar11 = lVar14 + (-1 - lVar11);
}
lVar14 = lVar11;
} while (0 < lVar11);
if (puVar15 == (ulonglong *)"dbo.up_read_realtimeevent") {
puVar15 = (ulonglong *)&UNK_1402a82d8;
}
local_f0 = *puVar15;
local_f8 = 0;
local_e0 = 0;
local_d8 = 0;
local_d0 = 0x3f800000;
local_c8 = 0;
local_c0 = 0;
puVar15 = &DAT_1402a81a0;
lVar14 = 0x28;
do {
lVar11 = lVar14 / 2;
if (puVar15[lVar11] < 0xb) {
puVar15 = puVar15 + lVar11 + 1;
lVar11 = lVar14 + (-1 - lVar11);
}
lVar14 = lVar11;
} while (0 < lVar11);
if (puVar15 == (ulonglong *)"dbo.up_read_realtimeevent") {
puVar15 = (ulonglong *)&UNK_1402a82d8;
}
local_130 = *puVar15;
local_138 = 0;
local_120 = 0;
local_118 = 0;
local_110 = 0x3f800000;
local_108 = 0;
local_100 = 0;
puVar15 = &DAT_1402a81a0;
lVar14 = 0x28;
do {
lVar11 = lVar14 / 2;
if (puVar15[lVar11] < 0xb) {
puVar15 = puVar15 + lVar11 + 1;
lVar11 = lVar14 + (-1 - lVar11);
}
lVar14 = lVar11;
} while (0 < lVar11);
if (puVar15 == (ulonglong *)"dbo.up_read_realtimeevent") {
puVar15 = (ulonglong *)&UNK_1402a82d8;
}
local_b0 = *puVar15;
local_b8 = 0;
local_a0 = 0;
local_98 = 0;
local_90 = 0x3f800000;
local_88 = 0;
local_80 = 0;
puVar15 = &DAT_1402a81a0;
lVar14 = 0x28;
do {
lVar11 = lVar14 / 2;
if (puVar15[lVar11] < 0xb) {
puVar15 = puVar15 + lVar11 + 1;
lVar11 = lVar14 + (-1 - lVar11);
}
lVar14 = lVar11;
} while (0 < lVar11);
if (puVar15 == (ulonglong *)"dbo.up_read_realtimeevent") {
puVar15 = (ulonglong *)&UNK_1402a82d8;
}
local_170 = *puVar15;
local_178 = 0;
local_160 = 0;
local_158 = 0;
local_150 = 0x3f800000;
local_148 = 0;
local_140 = 0;
puVar15 = &DAT_1402a81a0;
lVar14 = 0x28;
do {
lVar11 = lVar14 / 2;
if (puVar15[lVar11] < 0xb) {
puVar15 = puVar15 + lVar11 + 1;
lVar11 = lVar14 + (-1 - lVar11);
}
lVar14 = lVar11;
} while (0 < lVar11);
if (puVar15 == (ulonglong *)"dbo.up_read_realtimeevent") {
puVar15 = (ulonglong *)&UNK_1402a82d8;
}
local_1b0 = *puVar15;
local_1b8 = 0;
local_1a0 = 0;
local_198 = 0;
local_190 = 0x3f800000;
local_188 = 0;
local_180 = 0;
puVar15 = &DAT_1402a81a0;
lVar14 = 0x28;
do {
lVar11 = lVar14 / 2;
if (puVar15[lVar11] < 0xb) {
puVar15 = puVar15 + lVar11 + 1;
lVar11 = lVar14 + (-1 - lVar11);
}
lVar14 = lVar11;
} while (0 < lVar11);
if (puVar15 == (ulonglong *)"dbo.up_read_realtimeevent") {
puVar15 = (ulonglong *)&UNK_1402a82d8;
}
local_1f0 = *puVar15;
local_1f8 = 0;
local_1e0 = 0;
local_1d8 = 0;
local_1d0 = 0x3f800000;
local_1c8 = 0;
local_1c0 = 0;
lVar14 = 0x28;
do {
lVar11 = lVar14 / 2;
if (puVar16[lVar11] < 0xb) {
puVar16 = puVar16 + lVar11 + 1;
lVar11 = lVar14 + (-1 - lVar11);
}
lVar14 = lVar11;
} while (0 < lVar11);
if (puVar16 == (ulonglong *)"dbo.up_read_realtimeevent") {
puVar16 = (ulonglong *)&UNK_1402a82d8;
}
local_70 = *puVar16;
local_78 = 0;
local_60 = 0;
local_58 = 0;
local_50 = 0x3f800000;
local_48 = 0;
local_40 = 0;
local_444 = 0;
puVar12 = (undefined8 *)FUN_140001f40(*param_1,&local_438);
FUN_140001700(&local_430,*puVar12,"dbo.up_read_item_inventory_statistics");
if ((longlong *)CONCAT44(local_438._4_4_,(int)local_438) != (longlong *)0x0) {
(**(code **)(*(longlong *)CONCAT44(local_438._4_4_,(int)local_438) + 0x10))();
}
puVar12 = (undefined8 *)FUN_1400016c0(&local_430,&local_438);
This = local_3a8;
pIVar1 = (IUnknown *)*puVar12;
if (local_3a8 != pIVar1) {
local_3a8 = pIVar1;
if (pIVar1 != (IUnknown *)0x0) {
(*pIVar1->lpVtbl->AddRef)(pIVar1);
}
if (This != (IUnknown *)0x0) {
(*This->lpVtbl->Release)(This);
}
}
if ((longlong *)CONCAT44(local_438._4_4_,(int)local_438) != (longlong *)0x0) {
(**(code **)(*(longlong *)CONCAT44(local_438._4_4_,(int)local_438) + 0x10))();
}
pIVar1 = local_3a8;
if (local_3a8 == (IUnknown *)0x0) {
/* WARNING: Subroutine does not return */
FUN_140218220(0x80004003);
}
local_440 = (uint)local_440._2_2_ << 0x10;
UVar4 = (*local_3a8->lpVtbl[6].Release)(local_3a8);
if ((int)UVar4 < 0) {
_com_issue_errorex(UVar4,pIVar1,(_GUID *)&DAT_14029e038);
}
if ((short)local_440 != -1) {
while( true ) {
pIVar1 = local_3a8;
if (local_3a8 == (IUnknown *)0x0) {
/* WARNING: Subroutine does not return */
FUN_140218220(0x80004003);
}
local_440 = local_440 & 0xffff0000;
UVar4 = (*local_3a8->lpVtbl[6].Release)(local_3a8);
if ((int)UVar4 < 0) {
_com_issue_errorex(UVar4,pIVar1,(_GUID *)&DAT_14029e038);
}
if ((short)local_440 == -1) break;
uVar13 = FUN_140002290(&local_3a8,&local_278,&DAT_1402a522c,local_448);
FUN_140199590(uVar13);
iVar2 = FUN_140063af0(uVar13);
Ordinal_9(&local_278);
uVar13 = FUN_140002290(&local_3a8,local_2e8,"enhance_level",local_448);
FUN_140199590(uVar13);
iVar5 = FUN_140063af0(uVar13);
Ordinal_9(local_2e8);
uVar13 = FUN_140002290(&local_3a8,&local_260,"gcode",local_448);
FUN_140199590(uVar13);
iVar6 = FUN_140063af0(uVar13);
Ordinal_9(&local_260);
uVar13 = FUN_140002290(&local_3a8,local_248,"option_1_code",local_448);
FUN_140199590(uVar13);
iVar7 = FUN_140063af0(uVar13);
Ordinal_9(local_248);
uVar13 = FUN_140002290(&local_3a8,local_230,"option_2_code",local_448);
FUN_140199590(uVar13);
iVar8 = FUN_140063af0(uVar13);
Ordinal_9(local_230);
uVar13 = FUN_140002290(&local_3a8,local_218,"option_3_code",local_448);
FUN_140199590(uVar13);
local_440 = FUN_140063af0(uVar13);
Ordinal_9(local_218);
uVar13 = FUN_140002290(&local_3a8,local_320,"option_group",local_448);
FUN_140199590(uVar13);
iVar9 = FUN_140063af0(uVar13);
Ordinal_9(local_320);
uVar13 = FUN_140002290(&local_3a8,&local_2c8,"socket_1_code",local_448);
FUN_140199590(uVar13);
local_3d4 = FUN_140063af0(uVar13);
Ordinal_9(&local_2c8);
uVar13 = FUN_140002290(&local_3a8,&local_2b0,"socket_2_code",local_448);
FUN_140199590(uVar13);
local_3e0[2] = FUN_140063af0(uVar13);
Ordinal_9(&local_2b0);
uVar13 = FUN_140002290(&local_3a8,&local_290,"socket_3_code",local_448);
FUN_140199590(uVar13);
local_3d0 = FUN_140063af0(uVar13);
Ordinal_9(&local_290);
riid = &local_300;
uVar13 = FUN_140002290(&local_3a8,riid,"activity_value",local_448);
FUN_140199590(uVar13);
iVar10 = FUN_140063af0(uVar13);
Ordinal_9(&local_300);
if (0 < iVar2) {
if (local_d8 != 0) {
riid = (IID *)((ulonglong)(longlong)iVar2 % local_f0);
for (puVar12 = *(undefined8 **)(local_f8 + (longlong)riid * 8);
puVar12 != (undefined8 *)0x0; puVar12 = (undefined8 *)*puVar12) {
if (iVar2 == *(int *)(puVar12 + 1)) {
if (puVar12 != (undefined8 *)0x0) {
*(int *)((longlong)puVar12 + 0xc) = *(int *)((longlong)puVar12 + 0xc) + 1;
goto LAB_1400a0275;
}
break;
}
}
}
local_40c = 1;
local_418[2] = iVar2;
if (local_d8 == 0) {
riid = local_3c8;
FUN_1400a4e00(&local_f8,riid,local_418 + 2);
}
else {
riid = &local_278;
FUN_1400a4c80(&local_f8,riid,local_418 + 2,local_418 + 2);
}
}
LAB_1400a0275:
if (0 < iVar5) {
if (local_118 != 0) {
riid = (IID *)((ulonglong)(longlong)iVar5 % local_130);
for (puVar12 = *(undefined8 **)(local_138 + (longlong)riid * 8);
puVar12 != (undefined8 *)0x0; puVar12 = (undefined8 *)*puVar12) {
if (iVar5 == *(int *)(puVar12 + 1)) {
if (puVar12 != (undefined8 *)0x0) {
*(int *)((longlong)puVar12 + 0xc) = *(int *)((longlong)puVar12 + 0xc) + 1;
goto LAB_1400a030e;
}
break;
}
}
}
local_3e0[1] = 1;
local_3e0[0] = iVar5;
if (local_118 == 0) {
riid = local_2e8;
FUN_1400a4e00(&local_138,riid,local_3e0);
}
else {
riid = local_3c8;
FUN_1400a4c80(&local_138,riid,local_3e0,local_3e0);
}
}
LAB_1400a030e:
if (0 < iVar6) {
if (local_98 != 0) {
riid = (IID *)((ulonglong)(longlong)iVar6 % local_b0);
for (puVar12 = *(undefined8 **)(local_b8 + (longlong)riid * 8);
puVar12 != (undefined8 *)0x0; puVar12 = (undefined8 *)*puVar12) {
if (iVar6 == *(int *)(puVar12 + 1)) {
if (puVar12 != (undefined8 *)0x0) {
*(int *)((longlong)puVar12 + 0xc) = *(int *)((longlong)puVar12 + 0xc) + 1;
goto LAB_1400a03aa;
}
break;
}
}
}
local_3fc = 1;
local_408[2] = iVar6;
if (local_98 == 0) {
riid = &local_260;
FUN_1400a4e00(&local_b8,riid,local_408 + 2);
}
else {
riid = local_3c8;
FUN_1400a4c80(&local_b8,riid,local_408 + 2,local_408 + 2);
}
}
LAB_1400a03aa:
if (0 < iVar9) {
if (local_158 != 0) {
riid = (IID *)((ulonglong)(longlong)iVar9 % local_170);
for (puVar12 = *(undefined8 **)(local_178 + (longlong)riid * 8);
puVar12 != (undefined8 *)0x0; puVar12 = (undefined8 *)*puVar12) {
if (iVar9 == *(int *)(puVar12 + 1)) {
if (puVar12 != (undefined8 *)0x0) {
*(int *)((longlong)puVar12 + 0xc) = *(int *)((longlong)puVar12 + 0xc) + 1;
goto LAB_1400a043e;
}
break;
}
}
}
local_428[1] = 1;
local_428[0] = iVar9;
if (local_158 == 0) {
riid = local_320;
FUN_1400a4e00(&local_178,riid,local_428);
}
else {
riid = local_3c8;
FUN_1400a4c80(&local_178,riid,local_428,local_428);
}
}
LAB_1400a043e:
if (0 < iVar7) {
if (local_198 != 0) {
riid = (IID *)((ulonglong)(longlong)iVar7 % local_1b0);
for (puVar12 = *(undefined8 **)(local_1b8 + (longlong)riid * 8);
puVar12 != (undefined8 *)0x0; puVar12 = (undefined8 *)*puVar12) {
if (iVar7 == *(int *)(puVar12 + 1)) {
if (puVar12 != (undefined8 *)0x0) {
*(int *)((longlong)puVar12 + 0xc) = *(int *)((longlong)puVar12 + 0xc) + 1;
goto LAB_1400a04da;
}
break;
}
}
}
local_3f0[1] = 1;
local_3f0[0] = iVar7;
if (local_198 == 0) {
riid = local_320;
FUN_1400a4e00(&local_1b8,riid,local_3f0);
}
else {
riid = local_3c8;
FUN_1400a4c80(&local_1b8,riid,local_3f0,local_3f0);
}
}
LAB_1400a04da:
if (0 < iVar8) {
if (local_198 != 0) {
riid = (IID *)((ulonglong)(longlong)iVar8 % local_1b0);
for (puVar12 = *(undefined8 **)(local_1b8 + (longlong)riid * 8);
puVar12 != (undefined8 *)0x0; puVar12 = (undefined8 *)*puVar12) {
if (iVar8 == *(int *)(puVar12 + 1)) {
if (puVar12 != (undefined8 *)0x0) {
*(int *)((longlong)puVar12 + 0xc) = *(int *)((longlong)puVar12 + 0xc) + 1;
goto LAB_1400a057a;
}
break;
}
}
}
local_3e4 = 1;
local_3f0[2] = iVar8;
if (local_198 == 0) {
riid = local_320;
FUN_1400a4e00(&local_1b8,riid,local_3f0 + 2);
}
else {
riid = local_3c8;
FUN_1400a4c80(&local_1b8,riid,local_3f0 + 2,local_3f0 + 2);
}
}
LAB_1400a057a:
if (0 < (int)local_440) {
if (local_198 != 0) {
riid = (IID *)((ulonglong)(longlong)(int)local_440 % local_1b0);
for (puVar12 = *(undefined8 **)(local_1b8 + (longlong)riid * 8);
puVar12 != (undefined8 *)0x0; puVar12 = (undefined8 *)*puVar12) {
if (local_440 == *(uint *)(puVar12 + 1)) {
if (puVar12 != (undefined8 *)0x0) {
*(int *)((longlong)puVar12 + 0xc) = *(int *)((longlong)puVar12 + 0xc) + 1;
goto LAB_1400a060e;
}
break;
}
}
}
local_428[2] = local_440;
local_41c = 1;
if (local_198 == 0) {
riid = local_320;
FUN_1400a4e00(&local_1b8,riid,local_428 + 2);
}
else {
riid = local_3c8;
FUN_1400a4c80(&local_1b8,riid,local_428 + 2,local_428 + 2);
}
}
LAB_1400a060e:
if (0 < local_3d4) {
if (local_1d8 != 0) {
riid = (IID *)((ulonglong)(longlong)local_3d4 % local_1f0);
for (puVar12 = *(undefined8 **)(local_1f8 + (longlong)riid * 8);
puVar12 != (undefined8 *)0x0; puVar12 = (undefined8 *)*puVar12) {
if (local_3d4 == *(int *)(puVar12 + 1)) {
if (puVar12 != (undefined8 *)0x0) {
*(int *)((longlong)puVar12 + 0xc) = *(int *)((longlong)puVar12 + 0xc) + 1;
goto LAB_1400a06a3;
}
break;
}
}
}
local_418[0] = local_3d4;
local_418[1] = 1;
if (local_1d8 == 0) {
riid = &local_2c8;
FUN_1400a4e00(&local_1f8,riid,local_418);
}
else {
riid = local_3c8;
FUN_1400a4c80(&local_1f8,riid,local_418,local_418);
}
}
LAB_1400a06a3:
if (0 < local_3e0[2]) {
if (local_1d8 != 0) {
riid = (IID *)((ulonglong)(longlong)local_3e0[2] % local_1f0);
for (puVar12 = *(undefined8 **)(local_1f8 + (longlong)riid * 8);
puVar12 != (undefined8 *)0x0; puVar12 = (undefined8 *)*puVar12) {
if (local_3e0[2] == *(int *)(puVar12 + 1)) {
if (puVar12 != (undefined8 *)0x0) {
*(int *)((longlong)puVar12 + 0xc) = *(int *)((longlong)puVar12 + 0xc) + 1;
goto LAB_1400a073e;
}
break;
}
}
}
local_408[0] = local_3e0[2];
local_408[1] = 1;
if (local_1d8 == 0) {
riid = &local_2b0;
FUN_1400a4e00(&local_1f8,riid,local_408);
}
else {
riid = local_3c8;
FUN_1400a4c80(&local_1f8,riid,local_408,local_408);
}
}
LAB_1400a073e:
ppvObject = (void **)(longlong)local_3d0;
if (0 < local_3d0) {
if (local_1d8 != 0) {
riid = (IID *)((ulonglong)ppvObject % local_1f0);
for (puVar12 = *(undefined8 **)(local_1f8 + (longlong)riid * 8);
puVar12 != (undefined8 *)0x0; puVar12 = (undefined8 *)*puVar12) {
if (local_3d0 == *(int *)(puVar12 + 1)) {
if (puVar12 != (undefined8 *)0x0) {
*(int *)((longlong)puVar12 + 0xc) = *(int *)((longlong)puVar12 + 0xc) + 1;
goto LAB_1400a07df;
}
break;
}
}
}
local_3f8._0_4_ = local_3d0;
local_3f8._4_4_ = 1;
ppvObject = (void **)&local_3f8;
if (local_1d8 == 0) {
riid = &local_290;
FUN_1400a4e00(&local_1f8);
}
else {
riid = local_3c8;
FUN_1400a4c80(&local_1f8,riid,ppvObject,&local_3f8);
}
}
LAB_1400a07df:
if (0 < iVar10) {
if (local_58 != 0) {
riid = (IID *)((ulonglong)(longlong)iVar10 % local_70);
for (puVar12 = *(undefined8 **)(local_78 + (longlong)riid * 8);
puVar12 != (undefined8 *)0x0; puVar12 = (undefined8 *)*puVar12) {
if (iVar10 == *(int *)(puVar12 + 1)) {
if (puVar12 != (undefined8 *)0x0) {
*(int *)((longlong)puVar12 + 0xc) = *(int *)((longlong)puVar12 + 0xc) + 1;
goto LAB_1400a086c;
}
break;
}
}
}
local_438._4_4_ = 1;
ppvObject = (void **)&local_438;
local_438._0_4_ = iVar10;
if (local_58 == 0) {
riid = &local_300;
FUN_1400a4e00(&local_78);
}
else {
riid = local_3c8;
FUN_1400a4c80(&local_78,riid,ppvObject,&local_438);
}
}
LAB_1400a086c:
pIVar1 = local_3a8;
if (local_3a8 == (IUnknown *)0x0) {
/* WARNING: Subroutine does not return */
FUN_140218220(0x80004003);
}
HVar3 = (*local_3a8->lpVtbl[0xc].QueryInterface)(local_3a8,riid,ppvObject);
if (HVar3 < 0) {
_com_issue_errorex(HVar3,pIVar1,(_GUID *)&DAT_14029e038);
}
local_444 = local_444 + 1;
}
bVar18 = local_448[0] != '\0';
uVar17 = (ulonglong)local_444;
}
FUN_14009f190("Inven_ItemCode",&local_f8);
printf("Completed %s Report_ItemCode\n","Inven_ItemCode");
FUN_14009f190("Inven_EnhanceLevel",&local_138);
printf("Completed %s Report_EnhanceLevel\n","Inven_EnhanceLevel");
FUN_14009f190("Inven_ItemGCode",&local_b8);
printf("Completed %s Report_ItemGCode\n","Inven_ItemGCode");
FUN_14009f190("Inven_OptionGroup",&local_178);
printf("Completed %s Report_OptionGroup\n","Inven_OptionGroup");
FUN_14009f190("Inven_OptionCode",&local_1b8);
printf("Completed %s Report_OptionCode\n","Inven_OptionCode");
FUN_14009f190("Inven_SocketCode",&local_1f8);
printf("Completed %s Report_SocketCode\n","Inven_SocketCode");
FUN_14009f190("Inven_Activity",&local_78);
printf("Completed %s Report_Activity\n","Inven_Activity");
printf("Total Item Count : %d\n",uVar17);
if (local_78 != 0) {
FUN_14015eb00(&local_78);
}
if (local_1f8 != 0) {
FUN_14015eb00(&local_1f8);
}
if (local_1b8 != 0) {
FUN_14015eb00(&local_1b8);
}
if (local_178 != 0) {
FUN_14015eb00(&local_178);
}
if (local_b8 != 0) {
FUN_14015eb00(&local_b8);
}
if (local_138 != 0) {
FUN_14015eb00(&local_138);
}
if (local_f8 != 0) {
FUN_14015eb00(&local_f8);
}
FUN_140002200(&local_3a8);
if (local_430 != (longlong *)0x0) {
(**(code **)(*local_430 + 0x10))();
}
return bVar18;
}