798 lines
24 KiB
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;
|
|
}
|
|
|