/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c * Ghidra 12.1.2 decompiler output for 0x14012b800 FUN_14012b800 * Pseudocode, not original source. */ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ undefined8 FUN_14012b800(undefined8 *param_1) { short sVar1; IUnknown *pIVar2; IUnknown *This; ULONG UVar3; int iVar4; HRESULT HVar5; errno_t eVar6; undefined4 uVar7; undefined8 uVar8; undefined8 *puVar9; longlong *plVar10; longlong lVar11; longlong *plVar12; undefined4 *puVar13; longlong *plVar14; short *psVar15; short *psVar16; undefined1 auStackY_4d8 [32]; longlong *local_498; int local_490; int local_48c; longlong *local_488; longlong *local_480; longlong *local_478; longlong *local_470; longlong *local_468; longlong *local_460; longlong *local_458; LPUNKNOWN local_450; longlong *local_448; longlong *local_440; longlong *local_438; longlong *local_430; longlong *local_428; undefined8 local_420; undefined4 local_418; longlong local_410; undefined4 local_408; longlong local_3f8; undefined4 local_3f0; longlong local_3e0; undefined4 local_3d8; longlong local_3c8; undefined4 local_3c0; longlong local_3b0; undefined4 local_3a8; longlong *local_398; longlong local_390; undefined8 local_388; undefined8 *local_378; longlong *local_370; longlong local_368; undefined1 local_360; undefined2 local_350 [4]; longlong local_348; longlong local_338; undefined4 local_330; IUnknown *local_318; longlong *local_310; undefined4 local_308; undefined1 local_2f8 [24]; undefined1 local_2e0 [24]; undefined4 local_2c8; undefined1 *local_2c0; undefined4 local_2b8; undefined8 local_2b0; undefined1 *local_2a8; longlong *local_298; longlong *local_290; longlong *local_288; longlong *local_280; longlong *local_278; longlong *local_270; longlong *local_268; longlong *local_260; longlong *local_258; __time64_t local_250; longlong *local_248; longlong *local_240; longlong *local_238; longlong *local_230; longlong *local_228; longlong *local_220; longlong *local_218; longlong *local_210; longlong *local_208; longlong *local_200; longlong *local_1f8; longlong *local_1f0; longlong *local_1e8; longlong *local_1e0; longlong *local_1d8; longlong *local_1d0; longlong *local_1c8; longlong *local_1c0; longlong local_1b8 [4]; undefined8 local_198; undefined1 local_190 [8]; undefined2 *local_188; undefined4 local_178; undefined4 uStack_174; undefined4 uStack_170; undefined4 uStack_16c; longlong local_168 [3]; longlong local_150 [3]; longlong local_138 [3]; undefined1 local_120 [24]; short local_108; short local_106; undefined2 local_104; undefined2 local_102; undefined2 local_100; undefined2 local_fe; undefined2 local_fc; undefined2 local_fa; tm local_f8; undefined8 local_d0; undefined8 local_c8; undefined1 local_c0 [16]; short local_b0 [16]; short local_90 [16]; undefined8 local_70 [6]; undefined1 local_3e; ulonglong local_38; local_198 = 0xfffffffffffffffe; local_38 = DAT_1403463c0 ^ (ulonglong)auStackY_4d8; pIVar2 = *(IUnknown **)*param_1; plVar14 = (longlong *)0x0; local_378 = param_1; if (pIVar2 == (IUnknown *)0x0) { LAB_14012b88c: uVar8 = FUN_1400a80c0(param_1); if ((int)uVar8 == 0) { return uVar8; } } else { local_490 = 0; UVar3 = (*pIVar2->lpVtbl[0xb].AddRef)(pIVar2); if ((int)UVar3 < 0) { _com_issue_errorex(UVar3,pIVar2,(_GUID *)&DAT_14029e018); } if (local_490 == 0) goto LAB_14012b88c; } local_498 = (longlong *)0x0; iVar4 = FUN_140001990(&local_498); if ((iVar4 < 0) && (iVar4 != -0x7fffbffe)) { /* WARNING: Subroutine does not return */ FUN_140218220(iVar4); } local_318 = (IUnknown *)0x0; local_310 = (longlong *)0x0; Ordinal_8(local_2f8); Ordinal_8(local_2e0); pIVar2 = local_318; if ((local_318 != (IUnknown *)0x0) && (local_318 = (IUnknown *)0x0, pIVar2 != (IUnknown *)0x0)) { (*pIVar2->lpVtbl->Release)(pIVar2); } local_2a8 = &DAT_14029e010; local_2c0 = &DAT_14029e010; local_2b8 = 0; local_2b0 = 0; if (local_318 != (IUnknown *)0x0) { (*local_318->lpVtbl->Release)(local_318); } HVar5 = CoCreateInstance((IID *)&DAT_14029e088,(LPUNKNOWN)0x0,0x17,(IID *)&DAT_14029dfb0, &local_450); if (HVar5 < 0) { LAB_14012b9bd: local_318 = (IUnknown *)0x0; } else { HVar5 = OleRun(local_450); if (-1 < HVar5) { HVar5 = (*local_450->lpVtbl->QueryInterface)(local_450,(IID *)&DAT_14029e078,&local_318); } (*local_450->lpVtbl->Release)(local_450); if (HVar5 < 0) goto LAB_14012b9bd; } local_2c8 = 2; local_308 = 1; puVar9 = (undefined8 *)FUN_140001f40(*param_1,&local_298); FUN_140001700(&local_498,*puVar9,"dbo.up_ado_data_mapping"); if (local_298 != (longlong *)0x0) { (**(code **)(*local_298 + 0x10))(); } local_70[0] = 0x6b726573726562; local_3e = 0; psVar15 = &DAT_1402ae2e8; psVar16 = local_b0; do { sVar1 = *psVar15; *psVar16 = sVar1; psVar15 = psVar15 + 1; psVar16 = psVar16 + 1; } while (sVar1 != 0); psVar15 = &DAT_1402ae2f8; psVar16 = local_90; do { sVar1 = *psVar15; *psVar16 = sVar1; psVar15 = psVar15 + 1; psVar16 = psVar16 + 1; } while (sVar1 != 0); local_250 = _time64((__time64_t *)0x0); local_420 = 0; local_418 = 0; eVar6 = _localtime64_s(&local_f8,&local_250); if (eVar6 == 0) { local_108 = (short)local_f8.tm_year + 0x76c; local_106 = (short)local_f8.tm_mon + 1; local_104 = (undefined2)local_f8.tm_wday; local_102 = (undefined2)local_f8.tm_mday; local_100 = (undefined2)local_f8.tm_hour; local_fe = (undefined2)local_f8.tm_min; local_fc = (undefined2)local_f8.tm_sec; local_fa = 0; iVar4 = Ordinal_184(&local_108,&local_420); local_d0 = 0; local_c8 = 0; if (iVar4 != 0) { Ordinal_185((int)local_420,&local_d0); } } local_188 = local_350; Ordinal_8(local_350); plVar10 = operator_new(0x18); plVar12 = plVar14; local_398 = plVar10; if (plVar10 != (longlong *)0x0) { plVar10[1] = 0; *(undefined4 *)(plVar10 + 2) = 1; lVar11 = FUN_1402182d0(local_70); *plVar10 = lVar11; plVar12 = plVar10; } local_448 = plVar12; if (plVar12 == (longlong *)0x0) { /* WARNING: Subroutine does not return */ FUN_140218220(0x8007000e); } iVar4 = Ordinal_9(local_350); if (iVar4 < 0) { /* WARNING: Subroutine does not return */ FUN_140218220(iVar4); } local_350[0] = 8; if (*plVar12 == 0) { local_348 = 0; } else { lVar11 = *plVar12; uVar7 = Ordinal_149(lVar11); local_348 = Ordinal_150(lVar11,uVar7); if (local_348 == 0) { /* WARNING: Subroutine does not return */ FUN_140218220(0x8007000e); } } LOCK(); plVar10 = plVar12 + 2; lVar11 = *plVar10; *(int *)plVar10 = (int)*plVar10 + -1; UNLOCK(); if ((int)lVar11 == 1) { if (*plVar12 != 0) { Ordinal_6(); } if ((void *)plVar12[1] != (void *)0x0) { operator_delete__((void *)plVar12[1]); } operator_delete(plVar12); } plVar12 = operator_new(0x18); local_248 = plVar14; local_448 = plVar12; if (plVar12 != (longlong *)0x0) { plVar12[1] = 0; *(undefined4 *)(plVar12 + 2) = 1; lVar11 = FUN_1402182d0("bcust_id"); *plVar12 = lVar11; local_248 = plVar12; } if (local_248 == (longlong *)0x0) { /* WARNING: Subroutine does not return */ FUN_140218220(0x8007000e); } plVar12 = (longlong *)FUN_140001870(&local_498,&local_488,&local_248,0xca); local_448 = plVar12; if (local_498 == (longlong *)0x0) { /* WARNING: Subroutine does not return */ FUN_140218220(0x80004003); } puVar9 = (undefined8 *)FUN_140001650(local_498,&local_270); pIVar2 = (IUnknown *)*puVar9; if (pIVar2 == (IUnknown *)0x0) { /* WARNING: Subroutine does not return */ FUN_140218220(0x80004003); } UVar3 = (*pIVar2->lpVtbl[3].AddRef)(pIVar2); if ((int)UVar3 < 0) { _com_issue_errorex(UVar3,pIVar2,(_GUID *)&DAT_14029dfc0); } if (local_270 != (longlong *)0x0) { (**(code **)(*local_270 + 0x10))(); } if ((longlong *)*plVar12 != (longlong *)0x0) { (**(code **)(*(longlong *)*plVar12 + 0x10))(); } local_488 = local_168; puVar13 = (undefined4 *)FUN_140199840(local_c0); local_178 = *puVar13; uStack_174 = puVar13[1]; uStack_170 = puVar13[2]; uStack_16c = puVar13[3]; FUN_140063530(local_168,&local_178); plVar12 = operator_new(0x18); local_210 = plVar14; local_448 = plVar12; if (plVar12 != (longlong *)0x0) { plVar12[1] = 0; *(undefined4 *)(plVar12 + 2) = 1; lVar11 = FUN_1402182d0(&DAT_1402ae318); *plVar12 = lVar11; local_210 = plVar12; } if (local_210 == (longlong *)0x0) { /* WARNING: Subroutine does not return */ FUN_140218220(0x8007000e); } plVar12 = (longlong *)FUN_140001870(&local_498,&local_438,&local_210,0xca); local_488 = plVar12; if (local_498 == (longlong *)0x0) { /* WARNING: Subroutine does not return */ FUN_140218220(0x80004003); } puVar9 = (undefined8 *)FUN_140001650(local_498,&local_260); pIVar2 = (IUnknown *)*puVar9; if (pIVar2 == (IUnknown *)0x0) { /* WARNING: Subroutine does not return */ FUN_140218220(0x80004003); } UVar3 = (*pIVar2->lpVtbl[3].AddRef)(pIVar2); if ((int)UVar3 < 0) { _com_issue_errorex(UVar3,pIVar2,(_GUID *)&DAT_14029dfc0); } if (local_260 != (longlong *)0x0) { (**(code **)(*local_260 + 0x10))(); } if ((longlong *)*plVar12 != (longlong *)0x0) { (**(code **)(*(longlong *)*plVar12 + 0x10))(); } local_438 = &local_3c8; Ordinal_8(&local_3c8); if (((short)local_3c8 == 3) || ((short)local_3c8 == 10)) { LAB_14012bf67: local_3c0 = 1; } else { if ((short)local_3c8 != 0xb) { iVar4 = Ordinal_9(&local_3c8); if (iVar4 < 0) { /* WARNING: Subroutine does not return */ FUN_140218220(iVar4); } local_3c8._0_2_ = 3; goto LAB_14012bf67; } local_3c0 = CONCAT22(local_3c0._2_2_,0xffff); } plVar12 = operator_new(0x18); local_1e0 = plVar14; local_488 = plVar12; if (plVar12 != (longlong *)0x0) { plVar12[1] = 0; *(undefined4 *)(plVar12 + 2) = 1; lVar11 = FUN_1402182d0("OnLine"); *plVar12 = lVar11; local_1e0 = plVar12; } if (local_1e0 == (longlong *)0x0) { /* WARNING: Subroutine does not return */ FUN_140218220(0x8007000e); } plVar12 = (longlong *)FUN_140001870(&local_498,&local_480,&local_1e0,0x10); local_438 = plVar12; if (local_498 == (longlong *)0x0) { /* WARNING: Subroutine does not return */ FUN_140218220(0x80004003); } puVar9 = (undefined8 *)FUN_140001650(local_498,&local_200); pIVar2 = (IUnknown *)*puVar9; if (pIVar2 == (IUnknown *)0x0) { /* WARNING: Subroutine does not return */ FUN_140218220(0x80004003); } UVar3 = (*pIVar2->lpVtbl[3].AddRef)(pIVar2); if ((int)UVar3 < 0) { _com_issue_errorex(UVar3,pIVar2,(_GUID *)&DAT_14029dfc0); } if (local_200 != (longlong *)0x0) { (**(code **)(*local_200 + 0x10))(); } if ((longlong *)*plVar12 != (longlong *)0x0) { (**(code **)(*(longlong *)*plVar12 + 0x10))(); } local_480 = &local_410; Ordinal_8(&local_410); if (((short)local_410 == 3) || ((short)local_410 == 10)) { LAB_14012c0e0: local_408 = 0x3e9; } else { if ((short)local_410 != 0xb) { iVar4 = Ordinal_9(&local_410); if (iVar4 < 0) { /* WARNING: Subroutine does not return */ FUN_140218220(iVar4); } local_410._0_2_ = 3; goto LAB_14012c0e0; } local_408 = CONCAT22(local_408._2_2_,0xffff); } plVar12 = operator_new(0x18); local_240 = plVar14; local_438 = plVar12; if (plVar12 != (longlong *)0x0) { plVar12[1] = 0; *(undefined4 *)(plVar12 + 2) = 1; lVar11 = FUN_1402182d0("ServerID"); *plVar12 = lVar11; local_240 = plVar12; } if (local_240 == (longlong *)0x0) { /* WARNING: Subroutine does not return */ FUN_140218220(0x8007000e); } plVar12 = (longlong *)FUN_140001870(&local_498,&local_478,&local_240,2); local_480 = plVar12; if (local_498 == (longlong *)0x0) { /* WARNING: Subroutine does not return */ FUN_140218220(0x80004003); } puVar9 = (undefined8 *)FUN_140001650(local_498,&local_1d0); pIVar2 = (IUnknown *)*puVar9; if (pIVar2 == (IUnknown *)0x0) { /* WARNING: Subroutine does not return */ FUN_140218220(0x80004003); } UVar3 = (*pIVar2->lpVtbl[3].AddRef)(pIVar2); if ((int)UVar3 < 0) { _com_issue_errorex(UVar3,pIVar2,(_GUID *)&DAT_14029dfc0); } if (local_1d0 != (longlong *)0x0) { (**(code **)(*local_1d0 + 0x10))(); } if ((longlong *)*plVar12 != (longlong *)0x0) { (**(code **)(*(longlong *)*plVar12 + 0x10))(); } local_478 = &local_3e0; Ordinal_8(&local_3e0); if (((short)local_3e0 == 3) || ((short)local_3e0 == 10)) { LAB_14012c256: local_3d8 = 0x309; } else { if ((short)local_3e0 != 0xb) { iVar4 = Ordinal_9(&local_3e0); if (iVar4 < 0) { /* WARNING: Subroutine does not return */ FUN_140218220(iVar4); } local_3e0._0_2_ = 3; goto LAB_14012c256; } local_3d8 = CONCAT22(local_3d8._2_2_,0xffff); } plVar12 = operator_new(0x18); local_230 = plVar14; local_480 = plVar12; if (plVar12 != (longlong *)0x0) { plVar12[1] = 0; *(undefined4 *)(plVar12 + 2) = 1; lVar11 = FUN_1402182d0("ChannelID"); *plVar12 = lVar11; local_230 = plVar12; } if (local_230 == (longlong *)0x0) { /* WARNING: Subroutine does not return */ FUN_140218220(0x8007000e); } plVar12 = (longlong *)FUN_140001870(&local_498,&local_440,&local_230,3); local_478 = plVar12; if (local_498 == (longlong *)0x0) { /* WARNING: Subroutine does not return */ FUN_140218220(0x80004003); } puVar9 = (undefined8 *)FUN_140001650(local_498,&local_1f0); pIVar2 = (IUnknown *)*puVar9; if (pIVar2 == (IUnknown *)0x0) { /* WARNING: Subroutine does not return */ FUN_140218220(0x80004003); } UVar3 = (*pIVar2->lpVtbl[3].AddRef)(pIVar2); if ((int)UVar3 < 0) { _com_issue_errorex(UVar3,pIVar2,(_GUID *)&DAT_14029dfc0); } if (local_1f0 != (longlong *)0x0) { (**(code **)(*local_1f0 + 0x10))(); } if ((longlong *)*plVar12 != (longlong *)0x0) { (**(code **)(*(longlong *)*plVar12 + 0x10))(); } local_440 = local_1b8; Ordinal_8(local_1b8); uVar8 = FUN_140199560(local_120,0x1cbe991a14); iVar4 = Ordinal_10(local_1b8,uVar8); if (iVar4 < 0) { /* WARNING: Subroutine does not return */ FUN_140218220(iVar4); } Ordinal_9(local_120); plVar12 = operator_new(0x18); local_220 = plVar14; local_478 = plVar12; if (plVar12 != (longlong *)0x0) { plVar12[1] = 0; *(undefined4 *)(plVar12 + 2) = 1; lVar11 = FUN_1402182d0("CharExp"); *plVar12 = lVar11; local_220 = plVar12; } if (local_220 == (longlong *)0x0) { /* WARNING: Subroutine does not return */ FUN_140218220(0x8007000e); } plVar12 = (longlong *)FUN_140001870(&local_498,&local_428,&local_220,0x14); local_440 = plVar12; if (local_498 == (longlong *)0x0) { /* WARNING: Subroutine does not return */ FUN_140218220(0x80004003); } puVar9 = (undefined8 *)FUN_140001650(local_498,&local_280); pIVar2 = (IUnknown *)*puVar9; if (pIVar2 == (IUnknown *)0x0) { /* WARNING: Subroutine does not return */ FUN_140218220(0x80004003); } UVar3 = (*pIVar2->lpVtbl[3].AddRef)(pIVar2); if ((int)UVar3 < 0) { _com_issue_errorex(UVar3,pIVar2,(_GUID *)&DAT_14029dfc0); } if (local_280 != (longlong *)0x0) { (**(code **)(*local_280 + 0x10))(); } if ((longlong *)*plVar12 != (longlong *)0x0) { (**(code **)(*(longlong *)*plVar12 + 0x10))(); } local_428 = local_150; FUN_140063990(local_150,local_b0); plVar12 = operator_new(0x18); local_278 = plVar14; local_440 = plVar12; if (plVar12 != (longlong *)0x0) { plVar12[1] = 0; *(undefined4 *)(plVar12 + 2) = 1; lVar11 = FUN_1402182d0("CharName"); *plVar12 = lVar11; local_278 = plVar12; } if (local_278 == (longlong *)0x0) { /* WARNING: Subroutine does not return */ FUN_140218220(0x8007000e); } plVar12 = (longlong *)FUN_140001870(&local_498,&local_430,&local_278,0xca); local_428 = plVar12; if (local_498 == (longlong *)0x0) { /* WARNING: Subroutine does not return */ FUN_140218220(0x80004003); } puVar9 = (undefined8 *)FUN_140001650(local_498,&local_290); pIVar2 = (IUnknown *)*puVar9; if (pIVar2 == (IUnknown *)0x0) { /* WARNING: Subroutine does not return */ FUN_140218220(0x80004003); } UVar3 = (*pIVar2->lpVtbl[3].AddRef)(pIVar2); if ((int)UVar3 < 0) { _com_issue_errorex(UVar3,pIVar2,(_GUID *)&DAT_14029dfc0); } if (local_290 != (longlong *)0x0) { (**(code **)(*local_290 + 0x10))(); } if ((longlong *)*plVar12 != (longlong *)0x0) { (**(code **)(*(longlong *)*plVar12 + 0x10))(); } local_430 = local_138; FUN_140063990(local_138,local_90); plVar12 = operator_new(0x18); local_238 = plVar14; local_428 = plVar12; if (plVar12 != (longlong *)0x0) { plVar12[1] = 0; *(undefined4 *)(plVar12 + 2) = 1; lVar11 = FUN_1402182d0(&DAT_1402aa680); *plVar12 = lVar11; local_238 = plVar12; } if (local_238 == (longlong *)0x0) { /* WARNING: Subroutine does not return */ FUN_140218220(0x8007000e); } plVar12 = (longlong *)FUN_140001870(&local_498,&local_460,&local_238,200); local_430 = plVar12; if (local_498 == (longlong *)0x0) { /* WARNING: Subroutine does not return */ FUN_140218220(0x80004003); } puVar9 = (undefined8 *)FUN_140001650(local_498,&local_228); pIVar2 = (IUnknown *)*puVar9; if (pIVar2 == (IUnknown *)0x0) { /* WARNING: Subroutine does not return */ FUN_140218220(0x80004003); } UVar3 = (*pIVar2->lpVtbl[3].AddRef)(pIVar2); if ((int)UVar3 < 0) { _com_issue_errorex(UVar3,pIVar2,(_GUID *)&DAT_14029dfc0); } if (local_228 != (longlong *)0x0) { (**(code **)(*local_228 + 0x10))(); } if ((longlong *)*plVar12 != (longlong *)0x0) { (**(code **)(*(longlong *)*plVar12 + 0x10))(); } local_460 = &local_338; Ordinal_8(&local_338); if ((short)local_338 != 4) { iVar4 = Ordinal_9(&local_338); if (iVar4 < 0) { /* WARNING: Subroutine does not return */ FUN_140218220(iVar4); } local_338._0_2_ = 4; } local_330 = 0x3f46e979; plVar12 = operator_new(0x18); local_218 = plVar14; local_430 = plVar12; if (plVar12 != (longlong *)0x0) { plVar12[1] = 0; *(undefined4 *)(plVar12 + 2) = 1; lVar11 = FUN_1402182d0("fValue"); *plVar12 = lVar11; local_218 = plVar12; } if (local_218 == (longlong *)0x0) { /* WARNING: Subroutine does not return */ FUN_140218220(0x8007000e); } plVar12 = (longlong *)FUN_140001870(&local_498,&local_458,&local_218,4); local_460 = plVar12; if (local_498 == (longlong *)0x0) { /* WARNING: Subroutine does not return */ FUN_140218220(0x80004003); } puVar9 = (undefined8 *)FUN_140001650(local_498,&local_208); pIVar2 = (IUnknown *)*puVar9; if (pIVar2 == (IUnknown *)0x0) { /* WARNING: Subroutine does not return */ FUN_140218220(0x80004003); } UVar3 = (*pIVar2->lpVtbl[3].AddRef)(pIVar2); if ((int)UVar3 < 0) { _com_issue_errorex(UVar3,pIVar2,(_GUID *)&DAT_14029dfc0); } if (local_208 != (longlong *)0x0) { (**(code **)(*local_208 + 0x10))(); } if ((longlong *)*plVar12 != (longlong *)0x0) { (**(code **)(*(longlong *)*plVar12 + 0x10))(); } local_458 = &local_368; Ordinal_8(&local_368); if ((short)local_368 != 0x11) { iVar4 = Ordinal_9(&local_368); if (iVar4 < 0) { /* WARNING: Subroutine does not return */ FUN_140218220(iVar4); } local_368._0_2_ = 0x11; } local_360 = 0xff; plVar12 = operator_new(0x18); local_1f8 = plVar14; local_460 = plVar12; if (plVar12 != (longlong *)0x0) { plVar12[1] = 0; *(undefined4 *)(plVar12 + 2) = 1; lVar11 = FUN_1402182d0("btValue"); *plVar12 = lVar11; local_1f8 = plVar12; } if (local_1f8 == (longlong *)0x0) { /* WARNING: Subroutine does not return */ FUN_140218220(0x8007000e); } plVar12 = (longlong *)FUN_140001870(&local_498,&local_470,&local_1f8,0x10); local_458 = plVar12; if (local_498 == (longlong *)0x0) { /* WARNING: Subroutine does not return */ FUN_140218220(0x80004003); } puVar9 = (undefined8 *)FUN_140001650(local_498,&local_1e8); pIVar2 = (IUnknown *)*puVar9; if (pIVar2 == (IUnknown *)0x0) { /* WARNING: Subroutine does not return */ FUN_140218220(0x80004003); } UVar3 = (*pIVar2->lpVtbl[3].AddRef)(pIVar2); if ((int)UVar3 < 0) { _com_issue_errorex(UVar3,pIVar2,(_GUID *)&DAT_14029dfc0); } if (local_1e8 != (longlong *)0x0) { (**(code **)(*local_1e8 + 0x10))(); } if ((longlong *)*plVar12 != (longlong *)0x0) { (**(code **)(*(longlong *)*plVar12 + 0x10))(); } local_470 = &local_3b0; Ordinal_8(&local_3b0); if (((short)local_3b0 == 3) || ((short)local_3b0 == 10)) { LAB_14012ca45: local_3a8 = 1; } else { if ((short)local_3b0 != 0xb) { iVar4 = Ordinal_9(&local_3b0); if (iVar4 < 0) { /* WARNING: Subroutine does not return */ FUN_140218220(iVar4); } local_3b0._0_2_ = 3; goto LAB_14012ca45; } local_3a8 = CONCAT22(local_3a8._2_2_,0xffff); } plVar12 = operator_new(0x18); local_1d8 = plVar14; local_458 = plVar12; if (plVar12 != (longlong *)0x0) { plVar12[1] = 0; *(undefined4 *)(plVar12 + 2) = 1; lVar11 = FUN_1402182d0("bGift"); *plVar12 = lVar11; local_1d8 = plVar12; } if (local_1d8 == (longlong *)0x0) { /* WARNING: Subroutine does not return */ FUN_140218220(0x8007000e); } plVar12 = (longlong *)FUN_140001870(&local_498,&local_468,&local_1d8,0xb); local_470 = plVar12; if (local_498 == (longlong *)0x0) { /* WARNING: Subroutine does not return */ FUN_140218220(0x80004003); } puVar9 = (undefined8 *)FUN_140001650(local_498,&local_1c0); pIVar2 = (IUnknown *)*puVar9; if (pIVar2 == (IUnknown *)0x0) { /* WARNING: Subroutine does not return */ FUN_140218220(0x80004003); } UVar3 = (*pIVar2->lpVtbl[3].AddRef)(pIVar2); if ((int)UVar3 < 0) { _com_issue_errorex(UVar3,pIVar2,(_GUID *)&DAT_14029dfc0); } if (local_1c0 != (longlong *)0x0) { (**(code **)(*local_1c0 + 0x10))(); } if ((longlong *)*plVar12 != (longlong *)0x0) { (**(code **)(*(longlong *)*plVar12 + 0x10))(); } local_468 = &local_390; Ordinal_8(&local_390); if (((short)local_390 != 5) && ((short)local_390 != 7)) { iVar4 = Ordinal_9(&local_390); if (iVar4 < 0) { /* WARNING: Subroutine does not return */ FUN_140218220(iVar4); } local_390._0_2_ = 5; } local_388 = local_420; plVar12 = operator_new(0x18); local_1c8 = plVar14; local_470 = plVar12; if (plVar12 != (longlong *)0x0) { plVar12[1] = 0; *(undefined4 *)(plVar12 + 2) = 1; lVar11 = FUN_1402182d0("dDouble"); *plVar12 = lVar11; local_1c8 = plVar12; } if (local_1c8 == (longlong *)0x0) { /* WARNING: Subroutine does not return */ FUN_140218220(0x8007000e); } plVar12 = (longlong *)FUN_140001870(&local_498,&local_370,&local_1c8,5); local_468 = plVar12; if (local_498 == (longlong *)0x0) { /* WARNING: Subroutine does not return */ FUN_140218220(0x80004003); } puVar9 = (undefined8 *)FUN_140001650(local_498,&local_268); pIVar2 = (IUnknown *)*puVar9; if (pIVar2 == (IUnknown *)0x0) { /* WARNING: Subroutine does not return */ FUN_140218220(0x80004003); } UVar3 = (*pIVar2->lpVtbl[3].AddRef)(pIVar2); if ((int)UVar3 < 0) { _com_issue_errorex(UVar3,pIVar2,(_GUID *)&DAT_14029dfc0); } if (local_268 != (longlong *)0x0) { (**(code **)(*local_268 + 0x10))(); } if ((longlong *)*plVar12 != (longlong *)0x0) { (**(code **)(*(longlong *)*plVar12 + 0x10))(); } local_370 = &local_3f8; Ordinal_8(&local_3f8); if (((short)local_3f8 != 3) && ((short)local_3f8 != 10)) { if ((short)local_3f8 == 0xb) { local_3f0 = CONCAT22(local_3f0._2_2_,0xffff); goto LAB_14012cd3a; } iVar4 = Ordinal_9(&local_3f8); if (iVar4 < 0) { /* WARNING: Subroutine does not return */ FUN_140218220(iVar4); } local_3f8._0_2_ = 3; } local_3f0 = 4; LAB_14012cd3a: plVar12 = operator_new(0x18); local_468 = plVar12; if (plVar12 != (longlong *)0x0) { plVar12[1] = 0; *(undefined4 *)(plVar12 + 2) = 1; lVar11 = FUN_1402182d0("CharClass"); *plVar12 = lVar11; plVar14 = plVar12; } local_288 = plVar14; if (plVar14 == (longlong *)0x0) { /* WARNING: Subroutine does not return */ FUN_140218220(0x8007000e); } plVar14 = (longlong *)FUN_140001870(&local_498,local_190,&local_288,3); local_370 = plVar14; if (local_498 == (longlong *)0x0) { /* WARNING: Subroutine does not return */ FUN_140218220(0x80004003); } puVar9 = (undefined8 *)FUN_140001650(local_498,&local_258); pIVar2 = (IUnknown *)*puVar9; if (pIVar2 != (IUnknown *)0x0) { UVar3 = (*pIVar2->lpVtbl[3].AddRef)(pIVar2); if ((int)UVar3 < 0) { _com_issue_errorex(UVar3,pIVar2,(_GUID *)&DAT_14029dfc0); } if (local_258 != (longlong *)0x0) { (**(code **)(*local_258 + 0x10))(); } if ((longlong *)*plVar14 != (longlong *)0x0) { (**(code **)(*(longlong *)*plVar14 + 0x10))(); } puVar9 = (undefined8 *)FUN_1400016c0(&local_498,&local_398); This = local_318; pIVar2 = (IUnknown *)*puVar9; if (local_318 != pIVar2) { local_318 = pIVar2; if (pIVar2 != (IUnknown *)0x0) { (*pIVar2->lpVtbl->AddRef)(pIVar2); } if (This != (IUnknown *)0x0) { (*This->lpVtbl->Release)(This); } } if (local_398 != (longlong *)0x0) { (**(code **)(*local_398 + 0x10))(); } pIVar2 = local_318; if (local_318 != (IUnknown *)0x0) { local_48c = 0; UVar3 = (*local_318->lpVtbl[0x12].AddRef)(local_318); if ((int)UVar3 < 0) { _com_issue_errorex(UVar3,pIVar2,(_GUID *)&DAT_14029e038); } pIVar2 = local_318; if (local_48c != 0) { if (local_318 == (IUnknown *)0x0) { /* WARNING: Subroutine does not return */ FUN_140218220(0x80004003); } UVar3 = (*local_318->lpVtbl[10].Release)(local_318); if ((int)UVar3 < 0) { _com_issue_errorex(UVar3,pIVar2,(_GUID *)&DAT_14029e038); } } if (local_318 != (IUnknown *)0x0) { (*local_318->lpVtbl->Release)(local_318); local_318 = (IUnknown *)0x0; } } local_2b0 = 0; local_2a8 = &DAT_14029e010; local_2c0 = &DAT_14029e010; local_2b8 = 0; local_2c8 = 0; Ordinal_9(local_2e0); Ordinal_9(local_2f8); if (local_310 != (longlong *)0x0) { (**(code **)(*local_310 + 0x10))(); } if (local_318 != (IUnknown *)0x0) { (*local_318->lpVtbl->Release)(local_318); } if (local_498 != (longlong *)0x0) { (**(code **)(*local_498 + 0x10))(); } return 1; } /* WARNING: Subroutine does not return */ FUN_140218220(0x80004003); }