664 lines
22 KiB
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);
|
|
}
|
|
|