Files
mxaccess/analysis/ghidra/exports/Lmx.dll.reference-resolver-decompile.md
T
Joseph Doherty fe2a6db786
rust / build / test / clippy / fmt (push) Has been cancelled
Initial project state: .NET reference, design, Rust port (M0+M1), evidence
Layout:
- src/                    .NET 10 x64 reference: MxNativeCodec, MxNativeClient,
                          MxAsbClient, probes, tests, harnesses. Executable spec.
- design/                 Architectural plan for the Rust port (M0–M6), error
                          model, protocol invariants, risks (R1–R16), adversarial
                          review log (review.md).
- rust/                   Rust workspace. M0 skeleton + M1 codec parity.
                          mxaccess-codec: 215 unit tests + 2 cross-implementation
                          parity tests (byte-identical against .NET reference).
                          Other crates are M0 stubs awaiting M2+.
- captures/               Frida + netsh + pcap evidence per CLAUDE.md
                          ("captures are evidence, not throwaway logs").
- analysis/               Decompiled C# (frida/proxy/decompiled-*),
                          Ghidra exports for native DLLs (`exports/` only —
                          working state at `projects/` and AVEVA's input
                          binaries at `input/` are gitignored).
- docs/                   Reverse-engineering reference docs.
- tools/                  Setup-LiveProbeEnv.ps1 (Infisical credential fetcher),
                          Compute-Crc.ps1 (.NET parity helper).
- .github/workflows/      Rust CI: fmt + build + test + clippy on Windows.
- LICENSE                 MIT (Joseph Doherty, 2026).

Verified:
- cargo test --workspace → 217 passed (215 unit + 2 .NET parity), 0 failed
- cargo clippy --workspace -- -D warnings → clean
- cargo fmt --all -- --check → clean
- cargo publish --dry-run -p mxaccess-codec → packages cleanly

Excluded from history (see .gitignore):
- **/bin, **/obj, **/target — build artifacts
- analysis/ghidra/projects/ — Ghidra working state (regenerable)
- analysis/ghidra/input/ — AVEVA proprietary DLLs (vendor IP)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-05 06:21:00 -04:00

109 KiB

Lmx.dll selected decompile

FUN_1008c120 at 1008c120

Signature: undefined FUN_1008c120(void)


void __thiscall FUN_1008c120(int param_1,int param_2,short *param_3)

{
  int *piVar1;
  char cVar2;
  basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_> *pbVar3;
  undefined4 uVar4;
  int iVar5;
  _func_basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_>_ptr_basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_>_ptr
  *p_Var6;
  wchar_t local_210 [260];
  uint local_8;
  
  local_8 = DAT_101d60b8 ^ (uint)&stack0xfffffffc;
  for (piVar1 = (int *)**(int **)(param_1 + 0x1c);
      (piVar1 != *(int **)(param_1 + 0x1c) && (param_2 != piVar1[2])); piVar1 = (int *)*piVar1) {
  }
  cVar2 = FUN_100408d0();
  if (cVar2 != '\0') {
    swprintf_s(local_210,0x104,L"<success %d category %d detectedBy %d detail %d>",
               (int)(short)*(undefined4 *)param_3,*(undefined4 *)(param_3 + 2),
               *(undefined4 *)(param_3 + 4),(int)param_3[6]);
    p_Var6 = endl_exref;
    pbVar3 = (basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_> *)
             FUN_1001a0e0(*(undefined4 *)(DAT_101d6474 + 0x38),
                          L"CReferenceStringResolutionService::OperationComplete - correlationId ",
                          param_2,L" status ",local_210);
    pbVar3 = std::basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_>::operator<<
                       (pbVar3,param_2);
    uVar4 = FUN_1001a0e0(pbVar3);
    pbVar3 = (basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_> *)
             FUN_1001a0e0(uVar4);
    std::basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_>::operator<<
              (pbVar3,p_Var6);
  }
  if (piVar1 == *(int **)(param_1 + 0x1c)) {
    cVar2 = FUN_100408d0();
    if (cVar2 != '\0') {
      p_Var6 = endl_exref;
      pbVar3 = (basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_> *)
               FUN_1001a0e0(*(undefined4 *)(DAT_101d6474 + 0x38),
                            L"                                                     - failed to find correlationId in boundReferencesPendingResponse"
                           );
      std::basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_>::operator<<
                (pbVar3,p_Var6);
    }
  }
  else {
    cVar2 = FUN_100408d0();
    if (cVar2 != '\0') {
      p_Var6 = endl_exref;
      pbVar3 = (basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_> *)
               FUN_1001a0e0(*(undefined4 *)(DAT_101d6474 + 0x38),
                            L"                                                     - rcvd valid response"
                           );
      std::basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_>::operator<<
                (pbVar3,p_Var6);
    }
    cVar2 = FUN_100408d0();
    if (cVar2 != '\0') {
      uVar4 = FUN_10047fe0(piVar1[7],piVar1[8],piVar1[9],piVar1[10]);
      iVar5 = piVar1[6];
      p_Var6 = endl_exref;
      uVar4 = FUN_1001a0e0(*(undefined4 *)(DAT_101d6474 + 0x38),
                           L"                                                     - client engine ",
                           piVar1 + 3,L" client corelation id ",iVar5,L" guid ",uVar4);
      uVar4 = FUN_1001db00(uVar4);
      pbVar3 = (basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_> *)
               FUN_1001a0e0(uVar4);
      pbVar3 = std::basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_>::
               operator<<(pbVar3,iVar5);
      uVar4 = FUN_1001a0e0(pbVar3);
      pbVar3 = (basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_> *)
               FUN_1001a0e0(uVar4);
      std::basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_>::operator<<
                (pbVar3,p_Var6);
    }
    if ((*param_3 == 0) && (*(int *)(param_3 + 2) == 3)) {
      *(int *)(param_1 + 0x48) = *(int *)(param_1 + 0x48) + 1;
      cVar2 = FUN_100408d0();
      if (cVar2 != '\0') {
        p_Var6 = endl_exref;
        pbVar3 = (basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_> *)
                 FUN_1001a0e0(*(undefined4 *)(DAT_101d6474 + 0x38),
                              L"                                                     - resubmitting bind response"
                             );
        std::basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_>::operator<<
                  (pbVar3,p_Var6);
      }
      FUN_1010ad00(0,piVar1 + 3,0x11,piVar1[0xb],0,2,param_1,piVar1[2],0,0,0);
      __security_check_cookie(local_8 ^ (uint)&stack0xfffffffc);
      return;
    }
    if ((int *)piVar1[0xb] != (int *)0x0) {
      (**(code **)(*(int *)piVar1[0xb] + 0x38))(1);
    }
    if (piVar1 != *(int **)(param_1 + 0x1c)) {
      *(int *)piVar1[1] = *piVar1;
      *(int *)(*piVar1 + 4) = piVar1[1];
      operator_delete(piVar1);
      *(int *)(param_1 + 0x20) = *(int *)(param_1 + 0x20) + -1;
      __security_check_cookie(local_8 ^ (uint)&stack0xfffffffc);
      return;
    }
  }
  __security_check_cookie(local_8 ^ (uint)&stack0xfffffffc);
  return;
}


FUN_1008d760 at 1008d760

Signature: undefined FUN_1008d760(void)


/* WARNING: Function: __alloca_probe replaced with injection: alloca_probe */

void __fastcall FUN_1008d760(int param_1)

{
  int iVar1;
  int *piVar2;
  char cVar3;
  basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_> *pbVar4;
  int iVar5;
  undefined4 uVar6;
  undefined4 *puVar7;
  uint uVar8;
  undefined1 *puVar9;
  int *piVar10;
  undefined4 *puVar11;
  long lVar12;
  _func_basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_>_ptr_basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_>_ptr
  *p_Var13;
  undefined4 local_1c48;
  undefined4 local_1c44 [9];
  undefined1 local_1c20 [4];
  undefined1 local_1c1c [8];
  int *local_1c14;
  BSTR local_1c10;
  undefined1 local_1c0c [8];
  undefined4 local_1c04;
  undefined4 local_1c00;
  void *local_1bf8;
  int local_1bf4;
  int local_1bf0;
  int *local_1bec;
  BSTR local_1be8;
  int local_1be4;
  int *local_1be0;
  char local_1bd9;
  undefined4 local_1bd8;
  undefined4 local_1bd4;
  undefined4 local_1bd0;
  undefined4 local_1bcc;
  undefined4 local_20;
  undefined4 local_1c;
  undefined2 local_18;
  uint local_14;
  void *local_10;
  undefined1 *puStack_c;
  undefined4 local_8;
  
  puStack_c = &LAB_10167405;
  local_10 = ExceptionList;
  local_14 = DAT_101d60b8 ^ (uint)&stack0xfffffffc;
  ExceptionList = &local_10;
  local_1be4 = 0;
  local_1be0 = (int *)0x0;
  local_8 = 1;
  local_1bf4 = param_1;
  if (*(int *)(param_1 + 0x14) != 0) {
    cVar3 = FUN_100408d0(local_14);
    if (cVar3 != '\0') {
      uVar8 = *(uint *)(param_1 + 0x14);
      p_Var13 = endl_exref;
      pbVar4 = (basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_> *)
               FUN_1001a0e0(*(undefined4 *)(DAT_101d6474 + 0x38),
                            L"CReferenceStringResolutionService::ProcessPendingClientRequests - bindRequests queue size "
                           );
      pbVar4 = std::basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_>::
               operator<<(pbVar4,uVar8);
      std::basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_>::operator<<
                (pbVar4,p_Var13);
    }
    iVar5 = (**(code **)(**(int **)(param_1 + 0xc) + 0x1c))(*(int **)(param_1 + 0xc),1,&local_1be0);
    iVar5 = FUN_10048e60(iVar5 == 0,iVar5,0x5f,"CReferenceStringResolutionService.cpp");
    if (iVar5 != 0) {
      local_1bf0 = 0;
      iVar5 = (**(code **)(*local_1be0 + 0x54))(local_1be0,&local_1bf0);
      iVar5 = FUN_10048e60(iVar5 == 0,iVar5,0x65,"CReferenceStringResolutionService.cpp");
      if ((iVar5 != 0) && (4 < local_1bf0)) {
        FUN_1008c670(local_1c0c,local_1be0);
        FUN_1008c850(local_1c1c,local_1be0);
        piVar10 = (int *)**(int **)(param_1 + 0x10);
        if (piVar10 != *(int **)(param_1 + 0x10)) {
          do {
            if (99 < local_1be4) break;
            FUN_10005170();
            local_8 = CONCAT31(local_8._1_3_,2);
            local_1bd9 = '\0';
            cVar3 = FUN_100408d0();
            if (cVar3 != '\0') {
              p_Var13 = endl_exref;
              uVar6 = FUN_1001a0e0(*(undefined4 *)(DAT_101d6474 + 0x38),L"request - source ",
                                   piVar10[2] + 0x14);
              pbVar4 = (basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_> *)
                       FUN_1001db00(uVar6);
              std::basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_>::
              operator<<(pbVar4,p_Var13);
            }
            cVar3 = FUN_100408d0();
            if (cVar3 != '\0') {
              lVar12 = *(long *)(piVar10[2] + 0x30);
              p_Var13 = endl_exref;
              pbVar4 = (basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_> *)
                       FUN_1001a0e0(*(undefined4 *)(DAT_101d6474 + 0x38),L"        - corelationId ")
              ;
              pbVar4 = std::basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_>::
                       operator<<(pbVar4,lVar12);
              std::basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_>::
              operator<<(pbVar4,p_Var13);
            }
            cVar3 = FUN_100408d0();
            if (cVar3 != '\0') {
              iVar5 = piVar10[2];
              uVar6 = FUN_10047fe0(*(undefined4 *)(iVar5 + 0x20),*(undefined4 *)(iVar5 + 0x24),
                                   *(undefined4 *)(iVar5 + 0x28),*(undefined4 *)(iVar5 + 0x2c));
              p_Var13 = endl_exref;
              uVar6 = FUN_1001a0e0(*(undefined4 *)(DAT_101d6474 + 0x38),L"        - guid ",uVar6);
              pbVar4 = (basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_> *)
                       FUN_1001a0e0(uVar6);
              std::basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_>::
              operator<<(pbVar4,p_Var13);
            }
            cVar3 = FUN_100408d0();
            if (cVar3 != '\0') {
              uVar6 = FUN_1002f5f0(*(undefined4 *)piVar10[2]);
              p_Var13 = endl_exref;
              uVar6 = FUN_1001a0e0(*(undefined4 *)(DAT_101d6474 + 0x38),L"        - ref ",uVar6);
              pbVar4 = (basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_> *)
                       FUN_1001a0e0(uVar6);
              std::basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_>::
              operator<<(pbVar4,p_Var13);
            }
            cVar3 = FUN_1008af90(local_1c0c,local_1c1c,piVar10[2] + 0x34,piVar10[2] + 0x44,
                                 piVar10[2] + 0x4c);
            piVar2 = local_1be0;
            if (cVar3 == '\0') {
              *(int *)(param_1 + 0x44) = *(int *)(param_1 + 0x44) + 1;
            }
            else {
              local_1c00 = 10;
              local_18 = 0;
              local_1c04 = 0x640064;
              local_1c = 10;
              local_20 = 0x640064;
              puVar7 = (undefined4 *)FUN_100054b0(*(undefined4 *)piVar10[2]);
              local_8._0_1_ = 3;
              (**(code **)(*piVar2 + 0x24))(piVar2,&local_20,*puVar7,local_1bec,&local_1bd8);
              local_8 = CONCAT31(local_8._1_3_,2);
              if (local_1c14 != (int *)0x0) {
                (**(code **)(*local_1c14 + 8))(local_1c14);
              }
              SysFreeString(local_1c10);
              if ((short)local_1bd8 == 0) {
                cVar3 = FUN_100408d0();
                if (cVar3 != '\0') {
                  uVar6 = FUN_10003fc0(local_1bd8,local_1bd4,local_1bd0,local_1bcc);
                  p_Var13 = endl_exref;
                  uVar6 = FUN_1001a0e0(*(undefined4 *)(DAT_101d6474 + 0x38),
                                       L"        - bind reference failed ",uVar6);
                  pbVar4 = (basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_> *
                           )FUN_1001a0e0(uVar6);
                  std::basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_>::
                  operator<<(pbVar4,p_Var13);
                }
                *(int *)(param_1 + 0x40) = *(int *)(param_1 + 0x40) + 1;
              }
              else {
                local_1bd9 = '\x01';
              }
            }
            local_1bf8 = operator_new(0x14);
            local_8._0_1_ = 4;
            if (local_1bf8 == (void *)0x0) {
              iVar5 = 0;
            }
            else {
              iVar5 = FUN_10031c20(8);
            }
            local_8 = CONCAT31(local_8._1_3_,2);
            cVar3 = FUN_10048d60(iVar5 != 0,0x8d,"CReferenceStringResolutionService.cpp");
            if (cVar3 == '\0') {
              piVar10 = (int *)*piVar10;
            }
            else {
              cVar3 = FUN_100408d0();
              if (cVar3 != '\0') {
                uVar6 = FUN_100300d0(local_1bec);
                p_Var13 = endl_exref;
                uVar6 = FUN_1001a0e0(*(undefined4 *)(DAT_101d6474 + 0x38),L"        - bound ref ",
                                     uVar6);
                pbVar4 = (basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_> *)
                         FUN_1001a0e0(uVar6);
                std::basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_>::
                operator<<(pbVar4,p_Var13);
              }
              FUN_10060d10(0x11,iVar5);
              uVar8 = FUN_10003390(0x11);
              local_1bf8 = (void *)(uVar8 & 0xffff);
              FUN_10063d90(&local_1bf8,iVar5);
              FUN_1008cfd0(piVar10[2] + 0x30,iVar5);
              FUN_1005e4c0(piVar10[2] + 0x20,iVar5);
              if (local_1bd9 == '\0') {
                FUN_1005e3f0(piVar10[2] + 0x44,iVar5);
                puVar9 = (undefined1 *)(piVar10[2] + 0x4c);
              }
              else {
                FUN_1005e3f0(local_1c0c,iVar5);
                puVar9 = local_1c1c;
              }
              FUN_1005e3f0(puVar9,iVar5);
              FUN_1008d000(&local_1bd9,iVar5);
              (**(code **)(*local_1bec + 0x18))(local_1bec,iVar5,1);
              *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + 1;
              FUN_1010ad00(0,piVar10[2] + 0x14,0x11,iVar5,0,2,param_1,*(undefined4 *)(param_1 + 8),0
                           ,0,0);
              iVar1 = piVar10[2];
              puVar7 = (undefined4 *)
                       FUN_1008af30(iVar5,piVar10[2] + 0x14,*(undefined4 *)(piVar10[2] + 0x30),
                                    *(undefined4 *)(iVar1 + 0x20),*(undefined4 *)(iVar1 + 0x24),
                                    *(undefined4 *)(iVar1 + 0x28),*(undefined4 *)(iVar1 + 0x2c));
              local_1c48 = *(undefined4 *)(param_1 + 8);
              puVar11 = local_1c44;
              for (iVar5 = 9; param_1 = local_1bf4, iVar5 != 0; iVar5 = iVar5 + -1) {
                *puVar11 = *puVar7;
                puVar7 = puVar7 + 1;
                puVar11 = puVar11 + 1;
              }
              FUN_1008cb90(&local_1c48);
              if (piVar10[2] != 0) {
                FUN_1008b9a0(1);
              }
              puVar7 = (undefined4 *)FUN_1008bd20(local_1c20,piVar10);
              piVar10 = (int *)*puVar7;
            }
            local_8 = CONCAT31(local_8._1_3_,1);
            if (local_1bec != (int *)0x0) {
              (**(code **)(*local_1bec + 8))(local_1bec);
            }
            SysFreeString(local_1be8);
            local_1be4 = local_1be4 + 1;
          } while (piVar10 != *(undefined4 **)(param_1 + 0x10));
        }
      }
    }
  }
  local_8 = 0xffffffff;
  if (local_1be0 != (int *)0x0) {
    (**(code **)(*local_1be0 + 8))(local_1be0);
  }
  ExceptionList = local_10;
  __security_check_cookie(local_14 ^ (uint)&stack0xfffffffc);
  return;
}


FUN_1008f310 at 1008f310

Signature: undefined FUN_1008f310(void)


void __fastcall FUN_1008f310(int param_1)

{
  int iVar1;
  int iVar2;
  int iVar3;
  int iVar4;
  int iVar5;
  int iVar6;
  int iVar7;
  int iVar8;
  int iVar9;
  char cVar10;
  uint uVar11;
  DWORD DVar12;
  basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_> *pbVar13;
  undefined4 uVar14;
  int *piVar15;
  int *piVar16;
  long lVar17;
  int iVar18;
  _func_basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_>_ptr_basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_>_ptr
  *p_Var19;
  uint uVar20;
  void *local_10;
  undefined1 *puStack_c;
  undefined4 local_8;
  
  local_8 = 0xffffffff;
  puStack_c = &LAB_10167748;
  local_10 = ExceptionList;
  uVar11 = DAT_101d60b8 ^ (uint)&stack0xfffffffc;
  ExceptionList = &local_10;
  piVar15 = (int *)**(int **)(param_1 + 0x18);
  uVar20 = uVar11;
  if (piVar15 != *(int **)(param_1 + 0x18)) {
    do {
      DVar12 = GetTickCount();
      if (DVar12 - piVar15[0x11] < 60000) {
        piVar16 = (int *)*piVar15;
      }
      else {
        piVar15[0x11] = DVar12;
        iVar1 = piVar15[0xd];
        iVar2 = piVar15[3];
        iVar3 = piVar15[0xe];
        iVar4 = piVar15[0x10];
        iVar5 = piVar15[0xf];
        iVar6 = piVar15[0xb];
        iVar7 = piVar15[9];
        iVar8 = piVar15[10];
        iVar9 = piVar15[0xc];
        *(int *)(param_1 + 0x50) = *(int *)(param_1 + 0x50) + 1;
        iVar18 = *(int *)(DAT_101d6474 + 0x38);
        if (*(int *)(iVar18 + 4) == 0) {
LAB_1008f47a:
          cVar10 = '\0';
        }
        else {
          if ((DAT_101d6444 & 1) == 0) {
            DAT_101d6444 = DAT_101d6444 | 1;
            local_8 = 0;
            FUN_10003a90(uVar20);
            _atexit(FUN_101792e0);
            local_8 = 0xffffffff;
          }
          uVar14 = *(undefined4 *)(iVar18 + 4);
          if (DAT_101d6374 == -1) {
            if (DAT_101d6370 == 0) {
              FUN_10015ea0();
              if (DAT_101d6370 != 0) goto LAB_1008f434;
            }
            else {
LAB_1008f434:
              if (DAT_101d640c != (code *)0x0) {
                (*DAT_101d640c)(&DAT_101d6374);
              }
            }
            if (DAT_101d6374 == -1) goto LAB_1008f47a;
            FUN_10003d20();
          }
          if (DAT_101d6414 == (code *)0x0) goto LAB_1008f47a;
          cVar10 = (*DAT_101d6414)(DAT_101d6374,uVar14,0);
          if (cVar10 == '\0') goto LAB_1008f47a;
          cVar10 = '\x01';
        }
        if (*(char *)(iVar18 + 8) != cVar10) {
          *(char *)(iVar18 + 8) = cVar10;
          FUN_100312d0();
        }
        if (*(char *)(iVar18 + 8) != '\0') {
          lVar17 = 60000;
          p_Var19 = endl_exref;
          pbVar13 = (basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_> *)
                    FUN_1001a0e0(*(undefined4 *)(DAT_101d6474 + 0x38),
                                 L"CReferenceStringResolver::ProcessPendingGRReferenceBindRequests - following reference not bound withing "
                                 ,60000,&DAT_1018b564);
          pbVar13 = std::basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_>::
                    operator<<(pbVar13,lVar17);
          pbVar13 = (basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_> *)
                    FUN_1001a0e0(pbVar13);
          std::basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_>::operator<<
                    (pbVar13,p_Var19);
        }
        iVar18 = *(int *)(DAT_101d6474 + 0x38);
        if (*(int *)(iVar18 + 4) == 0) {
LAB_1008f587:
          cVar10 = '\0';
        }
        else {
          if ((DAT_101d6444 & 1) == 0) {
            DAT_101d6444 = DAT_101d6444 | 1;
            local_8 = 1;
            FUN_10003a90();
            _atexit(FUN_101792e0);
            local_8 = 0xffffffff;
          }
          uVar14 = *(undefined4 *)(iVar18 + 4);
          if (DAT_101d6374 == -1) {
            if (DAT_101d6370 == 0) {
              FUN_10015ea0();
              if (DAT_101d6370 != 0) goto LAB_1008f541;
            }
            else {
LAB_1008f541:
              if (DAT_101d640c != (code *)0x0) {
                (*DAT_101d640c)(&DAT_101d6374);
              }
            }
            if (DAT_101d6374 == -1) goto LAB_1008f587;
            FUN_10003d20();
          }
          if (DAT_101d6414 == (code *)0x0) goto LAB_1008f587;
          cVar10 = (*DAT_101d6414)(DAT_101d6374,uVar14,0);
          if (cVar10 == '\0') goto LAB_1008f587;
          cVar10 = '\x01';
        }
        if (*(char *)(iVar18 + 8) != cVar10) {
          *(char *)(iVar18 + 8) = cVar10;
          FUN_100312d0();
        }
        if (*(char *)(iVar18 + 8) != '\0') {
          p_Var19 = endl_exref;
          uVar14 = (**(code **)(*(int *)piVar15[3] + 8))();
          uVar14 = FUN_1001a0e0(*(undefined4 *)(DAT_101d6474 + 0x38),L"        - ref ",uVar14);
          pbVar13 = (basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_> *)
                    FUN_1001a0e0(uVar14);
          std::basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_>::operator<<
                    (pbVar13,p_Var19);
        }
        iVar18 = *(int *)(DAT_101d6474 + 0x38);
        if (*(int *)(iVar18 + 4) == 0) {
LAB_1008f68d:
          cVar10 = '\0';
        }
        else {
          if ((DAT_101d6444 & 1) == 0) {
            DAT_101d6444 = DAT_101d6444 | 1;
            local_8 = 2;
            FUN_10003a90();
            _atexit(FUN_101792e0);
            local_8 = 0xffffffff;
          }
          uVar14 = *(undefined4 *)(iVar18 + 4);
          if (DAT_101d6374 == -1) {
            if (DAT_101d6370 == 0) {
              FUN_10015ea0();
              if (DAT_101d6370 != 0) goto LAB_1008f647;
            }
            else {
LAB_1008f647:
              if (DAT_101d640c != (code *)0x0) {
                (*DAT_101d640c)(&DAT_101d6374);
              }
            }
            if (DAT_101d6374 == -1) goto LAB_1008f68d;
            FUN_10003d20();
          }
          if (DAT_101d6414 == (code *)0x0) goto LAB_1008f68d;
          cVar10 = (*DAT_101d6414)(DAT_101d6374,uVar14,0);
          if (cVar10 == '\0') goto LAB_1008f68d;
          cVar10 = '\x01';
        }
        if (*(char *)(iVar18 + 8) != cVar10) {
          *(char *)(iVar18 + 8) = cVar10;
          FUN_100312d0();
        }
        if (*(char *)(iVar18 + 8) != '\0') {
          uVar14 = FUN_10047fe0(piVar15[5],piVar15[6],piVar15[7],piVar15[8]);
          p_Var19 = endl_exref;
          uVar14 = FUN_1001a0e0(*(undefined4 *)(DAT_101d6474 + 0x38),L"        - guid ",uVar14);
          pbVar13 = (basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_> *)
                    FUN_1001a0e0(uVar14);
          std::basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_>::operator<<
                    (pbVar13,p_Var19);
        }
        iVar18 = *(int *)(DAT_101d6474 + 0x38);
        if (*(int *)(iVar18 + 4) == 0) {
LAB_1008f7b0:
          cVar10 = '\0';
        }
        else {
          if ((DAT_101d6444 & 1) == 0) {
            DAT_101d6444 = DAT_101d6444 | 1;
            local_8 = 3;
            FUN_10003a90();
            _atexit(FUN_101792e0);
            local_8 = 0xffffffff;
          }
          uVar14 = *(undefined4 *)(iVar18 + 4);
          if (DAT_101d6374 == -1) {
            if (DAT_101d6370 == 0) {
              FUN_10015ea0();
              if (DAT_101d6370 != 0) goto LAB_1008f76a;
            }
            else {
LAB_1008f76a:
              if (DAT_101d640c != (code *)0x0) {
                (*DAT_101d640c)(&DAT_101d6374);
              }
            }
            if (DAT_101d6374 == -1) goto LAB_1008f7b0;
            FUN_10003d20();
          }
          if (DAT_101d6414 == (code *)0x0) goto LAB_1008f7b0;
          cVar10 = (*DAT_101d6414)(DAT_101d6374,uVar14,0);
          if (cVar10 == '\0') goto LAB_1008f7b0;
          cVar10 = '\x01';
        }
        if (*(char *)(iVar18 + 8) != cVar10) {
          *(char *)(iVar18 + 8) = cVar10;
          FUN_100312d0();
        }
        if (*(char *)(iVar18 + 8) != '\0') {
          iVar18 = piVar15[2];
          p_Var19 = endl_exref;
          pbVar13 = (basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_> *)
                    FUN_1001a0e0(*(undefined4 *)(DAT_101d6474 + 0x38),L"        - correlation Id ");
          pbVar13 = std::basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_>::
                    operator<<(pbVar13,iVar18);
          std::basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_>::operator<<
                    (pbVar13,p_Var19);
        }
        piVar16 = (int *)*piVar15;
        if (piVar15 != *(int **)(param_1 + 0x18)) {
          *(int **)piVar15[1] = piVar16;
          *(int *)(*piVar15 + 4) = piVar15[1];
          operator_delete(piVar15);
          *(int *)(param_1 + 0x1c) = *(int *)(param_1 + 0x1c) + -1;
        }
        *(int *)(param_1 + 8) = *(int *)(param_1 + 8) + -1;
        DVar12 = GetTickCount();
        FUN_1008f150(iVar2,iVar1,iVar3,iVar5,iVar4,iVar7,iVar8,iVar6,iVar9,0,DVar12);
      }
      piVar15 = piVar16;
    } while (piVar16 != *(int **)(param_1 + 0x18));
  }
  ExceptionList = local_10;
  __security_check_cookie(uVar11 ^ (uint)&stack0xfffffffc);
  return;
}


FUN_10093b50 at 10093b50

Signature: undefined FUN_10093b50(void)


void __thiscall
FUN_10093b50(int *param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,
            undefined4 param_5,undefined4 param_6,undefined4 param_7,undefined4 param_8,
            undefined4 param_9,undefined4 param_10,OLECHAR *param_11,undefined4 param_12,
            undefined4 param_13,undefined4 param_14,undefined4 param_15,undefined4 param_16)

{
  OLECHAR *psz;
  undefined4 uVar1;
  undefined4 uVar2;
  undefined4 uVar3;
  undefined4 uVar4;
  BSTR bstrString;
  char cVar5;
  undefined1 uVar6;
  int iVar7;
  undefined4 uVar8;
  undefined4 uVar9;
  undefined4 uVar10;
  char *pcVar11;
  BSTR local_28;
  undefined4 local_24;
  undefined4 local_20;
  undefined4 local_1c;
  undefined4 local_18;
  uint local_14;
  void *local_10;
  undefined1 *puStack_c;
  undefined4 local_8;
  
  uVar4 = param_16;
  uVar3 = param_15;
  uVar2 = param_14;
  uVar1 = param_13;
  uVar9 = param_12;
  psz = param_11;
  uVar10 = param_8;
  local_8 = 0xffffffff;
  puStack_c = &LAB_10167d48;
  local_10 = ExceptionList;
  local_14 = DAT_101d60b8 ^ (uint)&stack0xfffffffc;
  ExceptionList = &local_10;
  local_24 = param_4;
  local_1c = param_6;
  local_18 = param_7;
  local_20 = param_5;
  local_28 = (BSTR)0x0;
  iVar7 = (**(code **)(*param_1 + 0x10))(param_1,&param_9,4,&local_28,local_14);
  cVar5 = FUN_10048d60(iVar7 == 0,0x3e,
                       "E:\\BldSrc\\6\\s\\sharedcomponents\\internal\\RTCommon\\Includes\\engineservicescommon\\lmx\\CObjectInformation.h"
                      );
  if (cVar5 != '\0') {
    local_28 = (BSTR)0x0;
    iVar7 = (**(code **)(*param_1 + 0x10))(param_1,&param_10,4,&local_28);
    cVar5 = FUN_10048d60(iVar7 == 0,0x3f,
                         "E:\\BldSrc\\6\\s\\sharedcomponents\\internal\\RTCommon\\Includes\\engineservicescommon\\lmx\\CObjectInformation.h"
                        );
    if (cVar5 != '\0') {
      if (psz == (OLECHAR *)0x0) {
        local_28 = (BSTR)0x0;
      }
      else {
        local_28 = SysAllocString(psz);
        if (local_28 == (BSTR)0x0) {
                    /* WARNING: Subroutine does not return */
          FUN_100013e0(0x8007000e);
        }
      }
      bstrString = local_28;
      local_8 = 0;
      iVar7 = FUN_10093780(param_1);
      local_8 = 0xffffffff;
      SysFreeString(bstrString);
      cVar5 = FUN_10048d60(iVar7 == 0,0x40,
                           "E:\\BldSrc\\6\\s\\sharedcomponents\\internal\\RTCommon\\Includes\\engineservicescommon\\lmx\\CObjectInformation.h"
                          );
      if (cVar5 != '\0') {
        pcVar11 = 
        "E:\\BldSrc\\6\\s\\sharedcomponents\\internal\\RTCommon\\Includes\\engineservicescommon\\lmx\\CObjectInformation.h"
        ;
        uVar8 = 0x41;
        uVar6 = FUN_10093800(param_1,uVar9);
        cVar5 = FUN_10048d60(uVar6,uVar8,pcVar11);
        if (cVar5 != '\0') {
          pcVar11 = 
          "E:\\BldSrc\\6\\s\\sharedcomponents\\internal\\RTCommon\\Includes\\engineservicescommon\\lmx\\CObjectInformation.h"
          ;
          uVar9 = 0x42;
          uVar6 = FUN_10093800(param_1,uVar1);
          cVar5 = FUN_10048d60(uVar6,uVar9,pcVar11);
          if (cVar5 != '\0') {
            pcVar11 = 
            "E:\\BldSrc\\6\\s\\sharedcomponents\\internal\\RTCommon\\Includes\\engineservicescommon\\lmx\\CObjectInformation.h"
            ;
            uVar9 = 0x43;
            uVar6 = FUN_10093800(param_1,uVar2);
            cVar5 = FUN_10048d60(uVar6,uVar9,pcVar11);
            if (cVar5 != '\0') {
              pcVar11 = 
              "E:\\BldSrc\\6\\s\\sharedcomponents\\internal\\RTCommon\\Includes\\engineservicescommon\\lmx\\CObjectInformation.h"
              ;
              uVar9 = 0x44;
              uVar6 = FUN_10093800(param_1,uVar3);
              cVar5 = FUN_10048d60(uVar6,uVar9,pcVar11);
              if (cVar5 != '\0') {
                pcVar11 = 
                "E:\\BldSrc\\6\\s\\sharedcomponents\\internal\\RTCommon\\Includes\\engineservicescommon\\lmx\\CObjectInformation.h"
                ;
                uVar9 = 0x45;
                uVar6 = FUN_10093800(param_1,uVar4);
                cVar5 = FUN_10048d60(uVar6,uVar9,pcVar11);
                if (cVar5 != '\0') {
                  pcVar11 = 
                  "E:\\BldSrc\\6\\s\\sharedcomponents\\internal\\RTCommon\\Includes\\engineservicescommon\\lmx\\CObjectInformation.h"
                  ;
                  uVar9 = 0x46;
                  uVar6 = FUN_10093800(param_1,uVar10);
                  cVar5 = FUN_10048d60(uVar6,uVar9,pcVar11);
                  if (cVar5 != '\0') {
                    pcVar11 = 
                    "E:\\BldSrc\\6\\s\\sharedcomponents\\internal\\RTCommon\\Includes\\engineservicescommon\\lmx\\CObjectInformation.h"
                    ;
                    uVar10 = 0x47;
                    uVar6 = FUN_10093680(param_1,&local_24);
                    cVar5 = FUN_10048d60(uVar6,uVar10,pcVar11);
                    if (cVar5 != '\0') {
                      pcVar11 = 
                      "E:\\BldSrc\\6\\s\\sharedcomponents\\internal\\RTCommon\\Includes\\engineservicescommon\\lmx\\CObjectInformation.h"
                      ;
                      uVar10 = 0x48;
                      uVar6 = FUN_1000df40(param_1,&param_3);
                      cVar5 = FUN_10048d60(uVar6,uVar10,pcVar11);
                      if (cVar5 != '\0') {
                        pcVar11 = 
                        "E:\\BldSrc\\6\\s\\sharedcomponents\\internal\\RTCommon\\Includes\\engineservicescommon\\lmx\\CObjectInformation.h"
                        ;
                        uVar10 = 0x49;
                        uVar6 = FUN_1000df40(param_1,&param_2);
                        cVar5 = FUN_10048d60(uVar6,uVar10,pcVar11);
                        if (cVar5 != '\0') {
                          param_1[5] = param_1[5] + 1;
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  }
  ExceptionList = local_10;
  __security_check_cookie(local_14 ^ (uint)&stack0xfffffffc);
  return;
}


FUN_10093e10 at 10093e10

Signature: undefined FUN_10093e10(void)


bool __thiscall FUN_10093e10(int *param_1,int *param_2)

{
  code *pcVar1;
  int iVar2;
  int iVar3;
  undefined4 local_8;
  
  iVar3 = param_1[1];
  pcVar1 = *(code **)(*param_1 + 0x10);
  param_1[1] = 0;
  local_8 = 0;
  iVar2 = (*pcVar1)(param_1,param_1 + 5,4,&local_8);
  FUN_10048d60(iVar2 == 0,0x5b,
               "E:\\BldSrc\\6\\s\\sharedcomponents\\internal\\RTCommon\\Includes\\engineservicescommon\\lmx\\CObjectInformation.h"
              );
  iVar3 = (**(code **)(*param_2 + 0x58))(param_2,0x56,iVar3,param_1[2]);
  FUN_10048e60(iVar3 == 0,iVar3,0x5d,
               "E:\\BldSrc\\6\\s\\sharedcomponents\\internal\\RTCommon\\Includes\\engineservicescommon\\lmx\\CObjectInformation.h"
              );
  return iVar3 == 0;
}


FUN_10093e90 at 10093e90

Signature: undefined FUN_10093e90(void)


undefined4 __thiscall FUN_10093e90(int *param_1,undefined4 param_2,undefined4 param_3)

{
  char cVar1;
  int iVar2;
  
  iVar2 = FUN_100934d0(param_1);
  cVar1 = FUN_10048d60(iVar2 == 0,0xb5,
                       "E:\\BldSrc\\6\\s\\sharedcomponents\\internal\\RTCommon\\Includes\\engineservicescommon\\lmx\\CObjectInformation.h"
                      );
  if (cVar1 != '\0') {
    iVar2 = (**(code **)(*param_1 + 0xc))(param_1,param_3,4,0);
    cVar1 = FUN_10048d60(iVar2 == 0,0xb6,
                         "E:\\BldSrc\\6\\s\\sharedcomponents\\internal\\RTCommon\\Includes\\engineservicescommon\\lmx\\CObjectInformation.h"
                        );
    if (cVar1 != '\0') {
      return 1;
    }
  }
  return 0;
}


FUN_1008e910 at 1008e910

Signature: undefined FUN_1008e910(void)


undefined4 * __thiscall
FUN_1008e910(int param_1,char *param_2,undefined4 param_3,undefined4 param_4)

{
  undefined4 *puVar1;
  uint uStack_34;
  undefined **local_24 [3];
  undefined4 *local_18;
  undefined1 *local_14;
  void *local_10;
  undefined1 *puStack_c;
  undefined4 local_8;
  
  local_8 = 0xffffffff;
  puStack_c = &LAB_10167659;
  local_10 = ExceptionList;
  uStack_34 = DAT_101d60b8 ^ (uint)&stack0xfffffffc;
  local_14 = (undefined1 *)&uStack_34;
  ExceptionList = &local_10;
  puVar1 = operator_new(0x40);
  local_18 = puVar1;
  if (puVar1 != (undefined4 *)0x0) {
    local_8 = 1;
    *puVar1 = param_2;
    puVar1[1] = param_3;
    FUN_1008e6b0(param_1 + 9,puVar1 + 2,param_4);
    ExceptionList = local_10;
    return puVar1;
  }
  param_2 = (char *)0x0;
  std::exception::exception((exception *)local_24,&param_2);
  local_24[0] = std::bad_alloc::vftable;
  local_8 = 0xffffffff;
                    /* WARNING: Subroutine does not return */
  _CxxThrowException(local_24,(ThrowInfo *)&DAT_101a8848);
}


FUN_1008f0f0 at 1008f0f0

Signature: undefined FUN_1008f0f0(void)


undefined4 __fastcall FUN_1008f0f0(int param_1)

{
  if (*(int *)(param_1 + 0x248) < 1) {
    FUN_1004d0d0(param_1 + 0x244,(undefined4 *)(param_1 + 0x248));
  }
  return *(undefined4 *)(param_1 + 0x248);
}


FUN_1008f120 at 1008f120

Signature: undefined FUN_1008f120(void)


undefined4 __fastcall FUN_1008f120(int param_1)

{
  if (*(int *)(param_1 + 0x244) < 1) {
    FUN_1004d0d0((undefined4 *)(param_1 + 0x244),param_1 + 0x248);
  }
  return *(undefined4 *)(param_1 + 0x244);
}


FUN_1008fc40 at 1008fc40

Signature: undefined FUN_1008fc40(void)


void __thiscall FUN_1008fc40(undefined4 *param_1,undefined4 param_2)

{
  int iVar1;
  
  iVar1 = (**(code **)(*(int *)*param_1 + 0x2c))((int *)*param_1,param_2);
  if (iVar1 < 0) {
                    /* WARNING: Subroutine does not return */
    FUN_1005bf30(iVar1,0,"E:\\BldSrc\\6\\s\\ExtInterfaces\\Lmx\\IMxReferencePtr.h",0x55);
  }
  return;
}


FUN_1008fc70 at 1008fc70

Signature: undefined FUN_1008fc70(void)


void __thiscall FUN_1008fc70(undefined4 *param_1,undefined4 param_2)

{
  int iVar1;
  
  iVar1 = (**(code **)(*(int *)*param_1 + 0x34))((int *)*param_1,param_2);
  if (iVar1 < 0) {
                    /* WARNING: Subroutine does not return */
    FUN_1005bf30(iVar1,0,"E:\\BldSrc\\6\\s\\ExtInterfaces\\Lmx\\IMxReferencePtr.h",0x65);
  }
  return;
}


FUN_1008fca0 at 1008fca0

Signature: undefined FUN_1008fca0(void)


void __thiscall FUN_1008fca0(int *param_1,int *param_2)

{
  undefined4 *puVar1;
  int iVar2;
  uint local_14;
  void *local_10;
  undefined1 *puStack_c;
  undefined4 local_8;
  
  puStack_c = &LAB_10167798;
  local_10 = ExceptionList;
  ExceptionList = &local_10;
  local_14 = -(uint)(*(char *)param_2 != '\0') & 0xffff;
  puVar1 = (undefined4 *)*param_1;
  param_2 = (int *)0x0;
  local_8 = 1;
  if (puVar1 != (undefined4 *)0x0) {
    (**(code **)*puVar1)(puVar1,&DAT_1017b948,&param_2,DAT_101d60b8 ^ (uint)&stack0xfffffffc);
  }
  local_8 = 2;
  iVar2 = (**(code **)(*param_2 + 0x20))(param_2,&local_14);
  if (iVar2 < 0) {
                    /* WARNING: Subroutine does not return */
    FUN_1005bf30(iVar2,0,"E:\\BldSrc\\6\\s\\ExtInterfaces\\Lmx\\IMxReferencePtr.h",0xf1);
  }
  local_8 = 0xffffffff;
  if (param_2 != (int *)0x0) {
    (**(code **)(*param_2 + 8))(param_2);
  }
  ExceptionList = local_10;
  return;
}


FUN_1008fd50 at 1008fd50

Signature: undefined FUN_1008fd50(void)


/* WARNING: Function: __alloca_probe replaced with injection: alloca_probe */

void __fastcall FUN_1008fd50(int param_1)

{
  int iVar1;
  int *piVar2;
  int iVar3;
  char cVar4;
  byte bVar5;
  uint uVar6;
  undefined4 uVar7;
  UINT UVar8;
  wchar_t *pwVar9;
  int iVar10;
  OLECHAR *psz;
  uint uVar11;
  basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_> *pbVar12;
  undefined4 ****ppppuVar13;
  undefined4 *puVar14;
  DWORD DVar15;
  LONG LVar16;
  HRESULT HVar17;
  undefined2 *puVar18;
  int *piVar19;
  int iVar20;
  code *pcVar21;
  int *piVar22;
  int *piVar23;
  undefined1 uVar24;
  uint uVar25;
  _func_basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_>_ptr_basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_>_ptr
  *p_Var26;
  short sVar27;
  wchar_t *pwVar28;
  size_t sVar29;
  int local_1868;
  int local_1864 [14];
  DWORD local_182c;
  int *local_1828;
  undefined4 local_1824;
  undefined4 local_1820;
  undefined4 local_181c;
  undefined4 local_1818;
  undefined4 local_1814;
  undefined4 local_1810;
  undefined4 local_180c;
  int *local_1808;
  undefined4 local_1804;
  undefined4 local_1800;
  undefined4 local_17fc;
  undefined4 local_17f8;
  FILETIME local_17f4;
  int *local_17ec;
  BSTR local_17e8;
  int *local_17e4;
  BSTR local_17e0;
  int *local_17dc;
  BSTR local_17d8;
  FILETIME local_17d4;
  int *local_17cc;
  BSTR local_17c8;
  int *local_17c4;
  BSTR local_17c0;
  FILETIME local_17bc;
  int *local_17b4;
  BSTR local_17b0;
  undefined4 local_17ac;
  undefined4 local_17a8;
  undefined4 local_17a4;
  undefined4 local_17a0;
  undefined4 local_179c;
  undefined4 local_1798;
  undefined4 local_1794;
  undefined4 local_1790;
  undefined1 local_178c;
  undefined4 local_178a;
  undefined2 local_1786;
  undefined2 uStack_1784;
  undefined2 local_1782;
  undefined2 uStack_1780;
  undefined2 local_177e;
  undefined2 uStack_177c;
  undefined2 local_177a;
  undefined4 local_1778;
  short local_1774 [2];
  short local_1770 [2];
  int *local_176c;
  int *local_1768;
  undefined4 local_1764;
  int *local_1760;
  int *local_175c;
  BSTR local_1758;
  int *local_1754;
  BSTR local_1750;
  int *local_174c;
  BSTR local_1748;
  int *local_1744;
  int *local_1740;
  int *local_173c;
  int *local_1738;
  uint local_1734;
  uint local_1730;
  FILETIME local_172c;
  undefined **local_1724;
  undefined4 local_1720;
  void *local_171c;
  undefined4 local_1718;
  undefined4 local_1714;
  undefined4 *local_1710;
  int *local_170c;
  BSTR local_1708;
  int *local_1704;
  BSTR local_1700;
  FILETIME local_16fc;
  int *local_16f4;
  BSTR local_16f0;
  BSTR local_16ec;
  BSTR local_16e8;
  byte local_16e1;
  int *local_16e0;
  byte local_16d9;
  _func_basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_>_ptr_basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_>_ptr
  *local_16d8;
  int *local_16d4;
  int local_16d0;
  short local_16cc [2];
  int local_16c8;
  undefined4 local_16c4;
  short local_16c0;
  short local_16bc [2];
  int local_16b8;
  undefined4 local_16b4;
  short local_16b0;
  byte local_16ac;
  undefined1 uStack_16ab;
  undefined2 uStack_16aa;
  undefined2 uStack_16a8;
  short sStack_16a6;
  undefined2 uStack_16a4;
  undefined2 uStack_16a2;
  wchar_t local_318 [260];
  undefined1 local_110 [20];
  void *local_fc [4];
  undefined4 local_ec;
  uint local_e8;
  void *local_e0 [4];
  undefined4 local_d0;
  uint local_cc;
  void *local_c4 [4];
  undefined4 local_b4;
  uint local_b0;
  void *local_a8 [4];
  undefined4 local_98;
  uint local_94;
  undefined2 local_8c [2];
  undefined4 local_88;
  undefined4 local_84;
  undefined2 local_80;
  undefined2 local_7c [2];
  undefined4 local_78;
  undefined4 local_74;
  undefined2 local_70;
  undefined2 local_6c [2];
  undefined4 local_68;
  undefined4 local_64;
  undefined2 local_60;
  undefined2 local_5c [2];
  undefined4 local_58;
  undefined4 local_54;
  undefined2 local_50;
  undefined4 ***local_4c [4];
  undefined4 local_3c;
  uint local_38;
  undefined4 local_30;
  undefined4 local_20;
  uint local_1c;
  uint local_14;
  void *local_10;
  undefined1 *puStack_c;
  int local_8;
  
  local_8 = 0xffffffff;
  puStack_c = &LAB_10167ac7;
  local_10 = ExceptionList;
  uVar6 = DAT_101d60b8 ^ (uint)&stack0xfffffffc;
  ExceptionList = &local_10;
  local_16d0 = param_1;
  local_14 = uVar6;
  if (((*(int *)(param_1 + 8) < 100) && (*(int *)(param_1 + 0x28) != 0)) &&
     (local_16e0 = (int *)**(int **)(param_1 + 0x24), local_16e0 != *(int **)(param_1 + 0x24))) {
    do {
      piVar23 = local_16e0;
      if (99 < *(int *)(local_16d0 + 8)) break;
      local_1c = 7;
      local_20 = 0;
      local_30 = (undefined4 *)((uint)local_30 & 0xffff0000);
      local_38 = 7;
      local_3c = 0;
      local_4c[0] = (undefined4 ***)((uint)local_4c[0] & 0xffff0000);
      local_8._0_1_ = 1;
      local_8._1_3_ = 0;
      local_16e1 = local_16e1 & 0xfe;
      local_17ac = 0;
      local_17a8 = 0;
      piVar22 = local_16e0 + 2;
      (**(code **)(*(int *)local_16e0[2] + 0x10))(0,uVar6);
      local_16f0 = (BSTR)0x0;
      local_16e8 = (BSTR)0x0;
      local_16f4 = (int *)0x0;
      local_8 = CONCAT31(local_8._1_3_,5);
      (**(code **)(*(int *)*piVar22 + 4))(&local_16f4);
      iVar10 = *local_16f4;
      local_16d8 = (_func_basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_>_ptr_basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_>_ptr
                    *)local_16f4;
      uVar7 = FUN_10030d80();
      (**(code **)(iVar10 + 0x40))(local_16d8,uVar7);
      uVar7 = (**(code **)(*(int *)*piVar22 + 8))();
      cVar4 = FUN_10134a10(uVar7);
      if (((cVar4 == '\0') || (local_16e8 == (BSTR)0x0)) ||
         (UVar8 = SysStringLen(local_16e8), UVar8 == 0)) {
LAB_1008fee4:
        psz = (OLECHAR *)(**(code **)(*(int *)*piVar22 + 8))();
        if (psz != (OLECHAR *)0x0) {
          SysFreeString((BSTR)0x0);
          local_16f0 = SysAllocString(psz);
          if (local_16f0 == (BSTR)0x0) {
                    /* WARNING: Subroutine does not return */
            FUN_1005bf30(0x8007000e,0,
                         "E:\\BldSrc\\6\\s\\sharedcomponents\\internal\\MagellanPublic\\Includes\\ClassUtilities\\AAComBSTR.h"
                         ,0xec);
          }
        }
      }
      else {
        sVar29 = 7;
        pwVar28 = L"MyArea.";
        pwVar9 = (wchar_t *)(**(code **)(*(int *)*piVar22 + 8))();
        iVar10 = _wcsnicmp(pwVar9,pwVar28,sVar29);
        if (iVar10 == 0) goto LAB_1008fee4;
        sVar29 = 0xc;
        pwVar28 = L"MyContainer.";
        pwVar9 = (wchar_t *)(**(code **)(*(int *)*piVar22 + 8))();
        iVar10 = _wcsnicmp(pwVar9,pwVar28,sVar29);
        if (iVar10 == 0) goto LAB_1008fee4;
        if (local_16e8 != (BSTR)0x0) {
          SysFreeString((BSTR)0x0);
          local_16f0 = (BSTR)FUN_1008fb20();
        }
      }
      piVar2 = local_16e0;
      if (((local_16e0[9] == 4) && ((short)local_16e0[0xb] == 0x1f42)) ||
         ((cVar4 = FUN_10089cb0(local_16f0,&local_16ac,&local_1764,&local_16e1,&local_30,local_4c,
                                &local_17ac,1), cVar4 == '\0' || (local_16ac == 0)))) {
LAB_10090433:
        if ((piVar23[9] == 4) &&
           (((sVar27 = (short)piVar23[0xb], sVar27 == 8 || (sVar27 == 4)) || (sVar27 == 3)))) {
          if (((*(int *)(local_16d0 + 0x10) != -1) || (*(int *)(local_16d0 + 0xc) != -1)) &&
             (DVar15 = GetTickCount(), 44999 < DVar15 - *(int *)(local_16d0 + 0x14))) {
            *(DWORD *)(local_16d0 + 0x14) = DVar15;
            *(undefined4 *)(local_16d0 + 0xc) = 0xffffffff;
            *(undefined4 *)(local_16d0 + 0x10) = 0xffffffff;
          }
          LVar16 = CompareFileTime((FILETIME *)(piVar23 + 0xc),(FILETIME *)(local_16d0 + 0xc));
          if (LVar16 != 1) goto LAB_100904ae;
          local_1710 = (undefined4 *)*piVar22;
          *(int *)(local_16d0 + 0x54) = *(int *)(local_16d0 + 0x54) + 1;
          piVar22 = (int *)*piVar22;
          puVar14 = (undefined4 *)FUN_10005170();
          local_8._0_1_ = 0x45;
          local_5c[0] = 0;
          local_50 = 10000;
          local_58 = 5;
          local_54 = 0;
          (**(code **)(*piVar22 + 0xc))(0,*puVar14,0xffffffff,DAT_101d6504,DAT_101d6508,local_5c,0);
          local_8 = CONCAT31(local_8._1_3_,5);
          if (local_17e4 != (int *)0x0) {
            (**(code **)(*local_17e4 + 8))(local_17e4);
          }
          SysFreeString(local_17e0);
          iVar10 = local_16d0;
          local_16d4 = (int *)*piVar2;
          if (piVar2 != *(int **)(local_16d0 + 0x24)) {
            *(int **)piVar2[1] = local_16d4;
            *(int *)(*piVar2 + 4) = piVar2[1];
            operator_delete(piVar2);
            *(int *)(iVar10 + 0x28) = *(int *)(iVar10 + 0x28) + -1;
          }
          local_16e0 = local_16d4;
          if (local_1710 != (undefined4 *)0x0) {
            (**(code **)*local_1710)(1);
          }
          local_8._0_1_ = 3;
          pcVar21 = SysFreeString_exref;
          if (local_16f4 != (int *)0x0) {
            (**(code **)(*local_16f4 + 8))(local_16f4);
            pcVar21 = SysFreeString_exref;
          }
LAB_10091cf8:
          local_8._0_1_ = 2;
          (*pcVar21)(local_16e8);
          local_8._0_1_ = 1;
          (*pcVar21)(local_16f0);
          local_8 = (uint)local_8._1_3_ << 8;
          if (7 < local_38) {
            operator_delete(local_4c[0]);
          }
          local_38 = 7;
          local_3c = 0;
          local_4c[0] = (undefined4 ***)((uint)local_4c[0] & 0xffff0000);
          local_8 = 0xffffffff;
          if (7 < local_1c) {
            operator_delete(local_30);
          }
          goto LAB_10091d53;
        }
LAB_100904ae:
        local_16fc.dwLowDateTime = 0;
        local_16fc.dwHighDateTime = 0;
        local_172c.dwLowDateTime = 0;
        local_172c.dwHighDateTime = 0;
        local_1730 = local_1730 & 0xffffff00;
        local_1734 = local_1734 & 0xffffff00;
        if (*(int *)(*(int *)(local_16d0 + 0x30) + 0x5e4) == 0) {
LAB_1009148b:
          local_1738 = (int *)0x0;
          local_8._0_1_ = 0x30;
          (**(code **)(*(int *)*piVar22 + 4))(&local_1738);
          local_1724 = FastStream::vftable;
          local_1720 = 0;
          local_1718 = 8;
          local_1714 = 0;
          local_171c = malloc(8);
          if (local_171c == (void *)0x0) {
            local_1718 = 0;
            local_17a4 = 0x8007000e;
                    /* WARNING: Subroutine does not return */
            _CxxThrowException(&local_17a4,(ThrowInfo *)&DAT_101a8794);
          }
          local_8._0_1_ = 0x31;
          local_1808 = local_1738;
          if (local_1738 != (int *)0x0) {
            (**(code **)(*local_1738 + 4))(local_1738);
          }
          local_1804 = 0;
          local_1800 = 0;
          local_17fc = 0;
          local_17f8 = 0;
          local_8 = CONCAT31(local_8._1_3_,0x38);
          *(int *)(local_16d0 + 4) = *(int *)(local_16d0 + 4) + 1;
          local_16d4 = (int *)(local_16d0 + 4);
          local_16d9 = 0x10;
          iVar10 = (*(code *)local_1724[4])(&local_1724,&local_16d9,1,0);
          if (iVar10 < 0) goto LAB_10091e8e;
          uVar11 = FUN_10003390(0x10);
          local_1710 = (undefined4 *)(uVar11 & 0xffff);
          iVar10 = (*(code *)local_1724[4])(&local_1724,&local_1710,2,0);
          if (((iVar10 < 0) ||
              (iVar10 = (*(code *)local_1724[4])(&local_1724,local_16d4,4,0), iVar10 < 0)) ||
             (iVar10 = (*(code *)local_1724[4])(&local_1724,piVar2 + 4,0x10,0), iVar10 < 0))
          goto LAB_10091e8e;
          if ((char)local_1730 == '\0') {
LAB_10091659:
            piVar19 = piVar2 + 8;
          }
          else {
            local_17d4.dwLowDateTime = 0;
            local_17d4.dwHighDateTime = 0;
            LVar16 = CompareFileTime(&local_16fc,&local_17d4);
            if (LVar16 == 1) {
              if (((int)local_16fc.dwHighDateTime < piVar2[0xd]) ||
                 (((int)local_16fc.dwHighDateTime <= piVar2[0xd] &&
                  (local_16fc.dwLowDateTime <= (uint)piVar2[0xc])))) goto LAB_10091659;
            }
            local_8c[0] = 0xffff;
            local_88 = 0;
            local_84 = 1;
            local_80 = 0;
            piVar19 = (int *)local_8c;
          }
          iVar10 = (*(code *)local_1724[4])(&local_1724,piVar19,0x10,0);
          if (((iVar10 < 0) ||
              (iVar10 = (*(code *)local_1724[4])(&local_1724,piVar2 + 0xc,8,0), iVar10 < 0)) ||
             (iVar10 = (*(code *)local_1724[4])(&local_1724,piVar2 + 0xe,8,0), piVar2 = local_1808,
             iVar10 < 0)) {
LAB_10091e8e:
                    /* WARNING: Subroutine does not return */
            FUN_1005bf30(iVar10,0,
                         "E:\\BldSrc\\6\\s\\sharedcomponents\\internal\\MagellanPublic\\Includes\\BaseRuntimeComponentServer\\LoadSave.h"
                         ,0x19);
          }
          (**(code **)(*local_1808 + 0x18))(local_1808,&local_1724,0);
          cVar4 = FUN_100408d0();
          if (cVar4 != '\0') {
            iVar10 = *local_16d4;
            p_Var26 = endl_exref;
            pbVar12 = (basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_> *)
                      FUN_1001a0e0(*(undefined4 *)(DAT_101d6474 + 0x38),L"        - correlationId ")
            ;
            pbVar12 = std::basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_>::
                      operator<<(pbVar12,iVar10);
            std::basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_>::operator<<
                      (pbVar12,p_Var26);
          }
          cVar4 = FUN_100408d0();
          if (cVar4 != '\0') {
            uVar7 = FUN_10047fe0(piVar23[4],piVar23[5],piVar23[6],piVar23[7]);
            p_Var26 = endl_exref;
            uVar7 = FUN_1001a0e0(*(undefined4 *)(DAT_101d6474 + 0x38),L"        - guid ",uVar7);
            pbVar12 = (basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_> *)
                      FUN_1001a0e0(uVar7);
            std::basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_>::operator<<
                      (pbVar12,p_Var26);
          }
          cVar4 = FUN_100408d0();
          if (cVar4 != '\0') {
            uVar7 = FUN_1002f5f0(piVar2);
            p_Var26 = endl_exref;
            uVar7 = FUN_1001a0e0(*(undefined4 *)(DAT_101d6474 + 0x38),L"        - ref ",uVar7);
            pbVar12 = (basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_> *)
                      FUN_1001a0e0(uVar7);
            std::basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_>::operator<<
                      (pbVar12,p_Var26);
          }
          cVar4 = FUN_100408d0();
          if (cVar4 != '\0') {
            uVar11 = local_1730;
            uVar25 = local_1734;
            p_Var26 = endl_exref;
            pbVar12 = (basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_> *)
                      FUN_1001a0e0(*(undefined4 *)(DAT_101d6474 + 0x38),
                                   L"        - timeOfLastDeployIsValid ",local_1730,
                                   L" timeOfLastConfigChangeIsValid ");
            uVar24 = (undefined1)uVar25;
            pbVar12 = std::basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_>::
                      operator<<(pbVar12,SUB41(uVar11,0));
            pbVar12 = (basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_> *)
                      FUN_1001a0e0(pbVar12);
            pbVar12 = std::basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_>::
                      operator<<(pbVar12,(bool)uVar24);
            std::basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_>::operator<<
                      (pbVar12,p_Var26);
          }
          cVar4 = FUN_100408d0();
          if (cVar4 != '\0') {
            puVar14 = (undefined4 *)
                      FUN_10054120(local_c4,local_16fc.dwLowDateTime,local_16fc.dwHighDateTime);
            local_8._0_1_ = 0x39;
            if (7 < (uint)puVar14[5]) {
              puVar14 = (undefined4 *)*puVar14;
            }
            p_Var26 = endl_exref;
            uVar7 = FUN_1001a0e0(*(undefined4 *)(DAT_101d6474 + 0x38),
                                 L"        - subscribedLastDeploy ",puVar14);
            pbVar12 = (basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_> *)
                      FUN_1001a0e0(uVar7);
            std::basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_>::operator<<
                      (pbVar12,p_Var26);
            local_8 = CONCAT31(local_8._1_3_,0x38);
            if (7 < local_b0) {
              operator_delete(local_c4[0]);
            }
            local_b0 = 7;
            local_b4 = 0;
            local_c4[0] = (void *)((uint)local_c4[0] & 0xffff0000);
          }
          cVar4 = FUN_100408d0();
          if (cVar4 != '\0') {
            puVar14 = (undefined4 *)
                      FUN_10054120(local_fc,local_172c.dwLowDateTime,local_172c.dwHighDateTime);
            local_8._0_1_ = 0x3a;
            if (7 < (uint)puVar14[5]) {
              puVar14 = (undefined4 *)*puVar14;
            }
            p_Var26 = endl_exref;
            uVar7 = FUN_1001a0e0(*(undefined4 *)(DAT_101d6474 + 0x38),
                                 L"        - subscribedLastCfgChange ",puVar14);
            pbVar12 = (basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_> *)
                      FUN_1001a0e0(uVar7);
            std::basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_>::operator<<
                      (pbVar12,p_Var26);
            local_8 = CONCAT31(local_8._1_3_,0x38);
            if (7 < local_e8) {
              operator_delete(local_fc[0]);
            }
            local_e8 = 7;
            local_ec = 0;
            local_fc[0] = (void *)((uint)local_fc[0] & 0xffff0000);
          }
          cVar4 = FUN_100408d0();
          if (cVar4 != '\0') {
            puVar14 = (undefined4 *)FUN_10054120(local_e0,piVar23[0xc],piVar23[0xd]);
            local_8._0_1_ = 0x3b;
            if (7 < (uint)puVar14[5]) {
              puVar14 = (undefined4 *)*puVar14;
            }
            p_Var26 = endl_exref;
            uVar7 = FUN_1001a0e0(*(undefined4 *)(DAT_101d6474 + 0x38),
                                 L"        - it -> lastDeploymentChange ",puVar14);
            pbVar12 = (basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_> *)
                      FUN_1001a0e0(uVar7);
            std::basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_>::operator<<
                      (pbVar12,p_Var26);
            local_8 = CONCAT31(local_8._1_3_,0x38);
            if (7 < local_cc) {
              operator_delete(local_e0[0]);
            }
            local_cc = 7;
            local_d0 = 0;
            local_e0[0] = (void *)((uint)local_e0[0] & 0xffff0000);
          }
          cVar4 = FUN_100408d0();
          if (cVar4 != '\0') {
            puVar14 = (undefined4 *)FUN_10054120(local_a8,piVar23[0xe],piVar23[0xf]);
            local_8._0_1_ = 0x3c;
            if (7 < (uint)puVar14[5]) {
              puVar14 = (undefined4 *)*puVar14;
            }
            p_Var26 = endl_exref;
            uVar7 = FUN_1001a0e0(*(undefined4 *)(DAT_101d6474 + 0x38),
                                 L"        - it -> lastConfigChange ",puVar14);
            pbVar12 = (basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_> *)
                      FUN_1001a0e0(uVar7);
            std::basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_>::operator<<
                      (pbVar12,p_Var26);
            local_8 = CONCAT31(local_8._1_3_,0x38);
            if (7 < local_94) {
              operator_delete(local_a8[0]);
            }
            local_94 = 7;
            local_98 = 0;
            local_a8[0] = (void *)((uint)local_a8[0] & 0xffff0000);
          }
          piVar23 = local_16d4;
          local_1814 = 1;
          local_1810 = 1;
          local_180c = 1;
          FUN_1010ad00(0,&local_1814,0x10,&local_1724,0,2,local_16d0,*local_16d4,0,0,0);
          local_1868 = *piVar23;
          piVar23 = local_1864;
          for (iVar10 = 0xe; iVar10 != 0; iVar10 = iVar10 + -1) {
            *piVar23 = *piVar22;
            piVar22 = piVar22 + 1;
            piVar23 = piVar23 + 1;
          }
          local_182c = GetTickCount();
          iVar3 = local_16d0;
          iVar10 = *(int *)(local_16d0 + 0x18);
          iVar20 = FUN_1008e840(iVar10,*(undefined4 *)(iVar10 + 4),&local_1868);
          iVar1 = *(int *)(iVar3 + 0x1c);
          if (iVar1 == 0x3fffffe) {
                    /* WARNING: Subroutine does not return */
            std::_Xlength_error("list<T> too long");
          }
          *(int *)(iVar3 + 0x1c) = iVar1 + 1;
          *(int *)(iVar10 + 4) = iVar20;
          **(int **)(iVar20 + 4) = iVar20;
          piVar23 = (int *)*local_16e0;
          if (local_16e0 != *(int **)(local_16d0 + 0x24)) {
            *(int **)local_16e0[1] = piVar23;
            *(int *)(*local_16e0 + 4) = local_16e0[1];
            operator_delete(local_16e0);
            *(int *)(local_16d0 + 0x28) = *(int *)(local_16d0 + 0x28) + -1;
          }
          *(int *)(local_16d0 + 8) = *(int *)(local_16d0 + 8) + 1;
          pcVar21 = SysFreeString_exref;
          local_8._0_1_ = 0x40;
          local_16e0 = piVar23;
          SysFreeString((BSTR)0x0);
          local_8._0_1_ = 0x3f;
          SysFreeString((BSTR)0x0);
          local_8._0_1_ = 0x3e;
          SysFreeString((BSTR)0x0);
          local_8._0_1_ = 0x3d;
          SysFreeString((BSTR)0x0);
          local_8._0_1_ = 0x31;
          (**(code **)(*local_1808 + 8))(local_1808);
          local_8._0_1_ = 0x30;
          local_1724 = FastStream::vftable;
          if (local_171c != (void *)0x0) {
            free(local_171c);
          }
          local_8._0_1_ = 5;
          if (local_1738 != (int *)0x0) {
            (**(code **)(*local_1738 + 8))(local_1738);
          }
LAB_10091415:
          local_8._0_1_ = 3;
          if (local_16f4 != (int *)0x0) {
            (**(code **)(*local_16f4 + 8))(local_16f4);
          }
          goto LAB_10091cf8;
        }
        FUN_10005170();
        local_8._0_1_ = 0x22;
        FUN_10005170();
        local_16ec = (BSTR)0x0;
        local_8 = CONCAT31(local_8._1_3_,0x24);
        SysFreeString((BSTR)0x0);
        local_16ec = (BSTR)0x0;
        local_16d8 = *(_func_basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_>_ptr_basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_>_ptr
                       **)(*(int *)(local_16d0 + 0x30) + 0x5e4);
        if (local_170c != (int *)0x0) {
          (**(code **)(*local_170c + 8))(local_170c);
          local_170c = (int *)0x0;
        }
        iVar10 = (**(code **)(*(int *)local_16d8 + 0x14))
                           (local_16d8,*(undefined4 *)(*(int *)(local_16d0 + 0x30) + 0x5ac),
                            local_1774,local_16cc,&local_16ec,&local_170c);
        if (iVar10 < 0) {
          if (local_16cc[0] != 0) goto LAB_1009081b;
LAB_1009089a:
          cVar4 = FUN_100408d0();
          if (cVar4 != '\0') {
            swprintf_s(local_318,0x104,L"<success %d category %d detectedBy %d detail %d>",
                       (int)local_16cc[0],local_16c8,local_16c4,(int)local_16c0);
            p_Var26 = endl_exref;
            sVar27 = local_1774[0];
            uVar7 = FUN_1001a0e0(*(undefined4 *)(DAT_101d6474 + 0x38),
                                 L"        - value of m_hRefGRTimeOfLastDeploy can\'t be used status "
                                 ,local_318,L" quality ");
            uVar7 = FUN_1001a0e0(uVar7);
            pbVar12 = (basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_> *)
                      FUN_1001a0e0(uVar7);
            pbVar12 = std::basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_>::
                      operator<<(pbVar12,sVar27);
LAB_10090933:
            std::basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_>::operator<<
                      (pbVar12,p_Var26);
          }
LAB_1009093b:
          SysFreeString(local_16ec);
          local_16ec = (BSTR)0x0;
          local_16d8 = *(_func_basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_>_ptr_basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_>_ptr
                         **)(*(int *)(local_16d0 + 0x30) + 0x5e4);
          if (local_1704 != (int *)0x0) {
            (**(code **)(*local_1704 + 8))(local_1704);
            local_1704 = (int *)0x0;
          }
          iVar10 = (**(code **)(*(int *)local_16d8 + 0x14))
                             (local_16d8,*(undefined4 *)(*(int *)(local_16d0 + 0x30) + 0x5b0),
                              local_1770,local_16bc,&local_16ec,&local_1704);
          if (iVar10 < 0) {
            if (local_16bc[0] != 0) goto LAB_10090c4b;
LAB_10090cca:
            cVar4 = FUN_100408d0();
            if (cVar4 != '\0') {
              swprintf_s(local_318,0x104,L"<success %d category %d detectedBy %d detail %d>",
                         (int)local_16bc[0],local_16b8,local_16b4,(int)local_16b0);
              p_Var26 = endl_exref;
              sVar27 = local_1770[0];
              uVar7 = FUN_1001a0e0(*(undefined4 *)(DAT_101d6474 + 0x38),
                                   L"        - value of m_hRefGRTimeOfLastConfigChange can\'t be used status "
                                   ,local_318,L" quality ");
              uVar7 = FUN_1001a0e0(uVar7);
              pbVar12 = (basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_> *)
                        FUN_1001a0e0(uVar7);
              pbVar12 = std::basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_>
                        ::operator<<(pbVar12,sVar27);
LAB_10090d63:
              std::basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_>::
              operator<<(pbVar12,p_Var26);
            }
          }
          else {
            if (local_16bc[0] == 0) {
              if (local_16b8 == 1) goto LAB_10090cca;
              cVar4 = FUN_100408d0();
              if (cVar4 != '\0') {
                swprintf_s(local_318,0x104,L"<success %d category %d detectedBy %d detail %d>",
                           (int)local_16bc[0],local_16b8,local_16b4,(int)local_16b0);
                p_Var26 = endl_exref;
                uVar7 = FUN_1001a0e0(*(undefined4 *)(DAT_101d6474 + 0x38),
                                     L"        - status of GR subscription is ",local_318,
                                     L" calling OnSetAttributeResult directly ");
                uVar7 = FUN_1001a0e0(uVar7);
                pbVar12 = (basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_> *)
                          FUN_1001a0e0(uVar7);
                std::basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_>::
                operator<<(pbVar12,p_Var26);
              }
              local_16d8 = (_func_basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_>_ptr_basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_>_ptr
                            *)*piVar22;
              local_1754 = (int *)0x0;
              local_1750 = (BSTR)0x0;
              if (DAT_101d6470 == (int *)0x0) {
                local_1760 = (int *)0x0;
                HVar17 = CoGetClassObject((IID *)&DAT_1017b1c0,0x17,(LPVOID)0x0,(IID *)&DAT_1017b1d0
                                          ,&local_1760);
                if (HVar17 < 0) {
                  local_1794 = 0x80004005;
                    /* WARNING: Subroutine does not return */
                  _CxxThrowException(&local_1794,(ThrowInfo *)&DAT_101a8794);
                }
                DAT_101d6470 = local_1760;
              }
              (**(code **)(*DAT_101d6470 + 0xc))(DAT_101d6470,&local_1754);
              if (local_1754 == (int *)0x0) {
                local_1790 = 0x80004005;
                    /* WARNING: Subroutine does not return */
                _CxxThrowException(&local_1790,(ThrowInfo *)&DAT_101a8794);
              }
              local_8._0_1_ = 0x27;
              (**(code **)(*(int *)local_16d8 + 0xc))
                        (0,local_1754,0xffffffff,DAT_101d6504,DAT_101d6508,local_16bc,0);
              local_8 = CONCAT31(local_8._1_3_,0x24);
              if (local_1754 != (int *)0x0) {
                (**(code **)(*local_1754 + 8))(local_1754);
              }
              SysFreeString(local_1750);
              local_16d8 = (_func_basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_>_ptr_basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_>_ptr
                            *)*piVar22;
              piVar23 = (int *)*piVar2;
              if (piVar2 != *(int **)(local_16d0 + 0x24)) {
                *(int **)piVar2[1] = piVar23;
                *(int *)(*piVar2 + 4) = piVar2[1];
                operator_delete(piVar2);
                *(int *)(local_16d0 + 0x28) = *(int *)(local_16d0 + 0x28) + -1;
              }
              local_16e0 = piVar23;
              if (local_16d8 !=
                  (_func_basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_>_ptr_basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_>_ptr
                   *)0x0) {
                (*(code *)**(undefined4 **)local_16d8)(1);
              }
              local_8._0_1_ = 0x23;
              SysFreeString(local_16ec);
              local_8._0_1_ = 0x22;
              if (local_1704 != (int *)0x0) {
                (**(code **)(*local_1704 + 8))(local_1704);
              }
              SysFreeString(local_1700);
              local_8._0_1_ = 5;
              if (local_170c != (int *)0x0) {
                (**(code **)(*local_170c + 8))(local_170c);
              }
              SysFreeString(local_1708);
              local_8._0_1_ = 3;
              if (local_16f4 != (int *)0x0) {
                (**(code **)(*local_16f4 + 8))(local_16f4);
              }
              local_8._0_1_ = 2;
              SysFreeString(local_16e8);
              local_8._0_1_ = 1;
              SysFreeString(local_16f0);
              local_8 = (uint)local_8._1_3_ << 8;
              if (7 < local_38) {
                operator_delete(local_4c[0]);
              }
              local_38 = 7;
              local_3c = 0;
              local_4c[0] = (undefined4 ***)((uint)local_4c[0] & 0xffff0000);
              local_8 = 0xffffffff;
              if (local_1c < 8) goto LAB_10090804;
              operator_delete(local_30);
              local_30 = (undefined4 *)((uint)local_30 & 0xffff0000);
              goto LAB_10091d59;
            }
LAB_10090c4b:
            if (local_1770[0] != 0xc0) goto LAB_10090cca;
            local_16d4 = (int *)(**(code **)(*local_1704 + 0x78))(local_1704,&local_172c);
            if (local_16d4 == (int *)0x0) {
              local_1734 = CONCAT31(local_1734._1_3_,1);
            }
            else {
              cVar4 = FUN_100408d0();
              if (cVar4 != '\0') {
                piVar19 = local_16d4;
                p_Var26 = endl_exref;
                pbVar12 = (basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_> *)
                          FUN_1001a0e0(*(undefined4 *)(DAT_101d6474 + 0x38),
                                       L"        - failed to extract time from value2 hr ");
                pbVar12 = std::
                          basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_>::
                          operator<<(pbVar12,(long)piVar19);
                goto LAB_10090d63;
              }
            }
          }
          if (((char)local_1730 == '\0') || ((char)local_1734 == '\0')) {
LAB_10091434:
            local_8._0_1_ = 0x23;
            SysFreeString(local_16ec);
            local_8._0_1_ = 0x22;
            if (local_1704 != (int *)0x0) {
              (**(code **)(*local_1704 + 8))(local_1704);
            }
            SysFreeString(local_1700);
            local_8 = CONCAT31(local_8._1_3_,5);
            if (local_170c != (int *)0x0) {
              (**(code **)(*local_170c + 8))(local_170c);
            }
            SysFreeString(local_1708);
            goto LAB_1009148b;
          }
          if ((piVar2[0xd] < (int)local_16fc.dwHighDateTime) ||
             ((piVar2[0xd] <= (int)local_16fc.dwHighDateTime &&
              ((uint)piVar2[0xc] < local_16fc.dwLowDateTime)))) {
            local_16d4 = (int *)0x0;
          }
          else {
            local_16d4 = (int *)0x1;
          }
          local_17bc.dwLowDateTime = 0;
          local_17bc.dwHighDateTime = 0;
          LVar16 = CompareFileTime(&local_16fc,&local_17bc);
          local_16d9 = LVar16 == 1 & (byte)local_16d4;
          if ((short)piVar2[8] != 0) goto LAB_10091434;
          if ((piVar2[9] != 4) ||
             ((((sVar27 = (short)piVar2[0xb], sVar27 != 3 && (sVar27 != 4)) && (sVar27 != 8)) ||
              (local_16d9 == 0)))) {
            if ((((short)piVar2[8] == 0) && (piVar2[9] == 4)) && ((short)piVar2[0xb] == 6)) {
              local_17f4.dwLowDateTime = 0;
              local_17f4.dwHighDateTime = 0;
              LVar16 = CompareFileTime(&local_172c,&local_17f4);
              if (LVar16 == 1) {
                if ((((int)local_172c.dwHighDateTime <= piVar2[0xf]) &&
                    (((int)local_172c.dwHighDateTime < piVar2[0xf] ||
                     (local_172c.dwLowDateTime <= (uint)piVar2[0xe])))) && (local_16d9 != 0))
                goto LAB_10090e81;
              }
            }
            goto LAB_10091434;
          }
LAB_10090e81:
          local_1710 = (undefined4 *)*piVar22;
          cVar4 = FUN_100408d0();
          if (cVar4 != '\0') {
            p_Var26 = endl_exref;
            pbVar12 = (basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_> *)
                      FUN_1001a0e0(*(undefined4 *)(DAT_101d6474 + 0x38),
                                   L"CReferenceStringResolver::ProcessUnresolvedReferences - No resolve attempt sent to the GR: "
                                  );
            std::basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_>::operator<<
                      (pbVar12,p_Var26);
          }
          cVar4 = FUN_100408d0();
          if (cVar4 != '\0') {
            swprintf_s(local_318,0x104,L"<success %d category %d detectedBy %d detail %d>",
                       (int)(short)piVar2[8],piVar2[9],piVar2[10],(int)(short)piVar2[0xb]);
            p_Var26 = endl_exref;
            uVar7 = FUN_1001a0e0(*(undefined4 *)(DAT_101d6474 + 0x38),L"     - reasonForRebind: ",
                                 local_318);
            pbVar12 = (basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_> *)
                      FUN_1001a0e0(uVar7);
            std::basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_>::operator<<
                      (pbVar12,p_Var26);
          }
          cVar4 = FUN_100408d0();
          if (cVar4 != '\0') {
            local_16d4 = (int *)FUN_10005330(piVar23[0xc],piVar23[0xd]);
            local_8._0_1_ = 0x29;
            local_16e0 = (int *)FUN_10005330(local_16fc.dwLowDateTime,local_16fc.dwHighDateTime);
            local_8 = CONCAT31(local_8._1_3_,0x2a);
            local_16d8 = (_func_basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_>_ptr_basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_>_ptr
                          *)(local_16d4 + 1);
            SysFreeString((BSTR)local_16d4[1]);
            p_Var26 = local_16d8;
            iVar10 = (**(code **)(*(int *)*local_16d4 + 0x74))((int *)*local_16d4);
            if (iVar10 < 0) {
              _com_issue_errorex(iVar10,(IUnknown *)*local_16d4,(_GUID *)&DAT_1017ae18);
            }
            local_16d4 = *(int **)local_16d8;
            if (local_16d4 == (int *)0x0) {
              local_16d4 = (int *)&DAT_1017a514;
            }
            local_16d8 = (_func_basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_>_ptr_basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_>_ptr
                          *)(local_16e0 + 1);
            SysFreeString((BSTR)local_16e0[1]);
            iVar10 = (**(code **)(*(int *)*local_16e0 + 0x74))((int *)*local_16e0,local_16d8);
            if (iVar10 < 0) {
              _com_issue_errorex(iVar10,(IUnknown *)*local_16e0,(_GUID *)&DAT_1017ae18);
            }
            puVar18 = *(undefined2 **)local_16d8;
            if (puVar18 == (undefined2 *)0x0) {
              puVar18 = &DAT_1017a514;
            }
            uVar7 = FUN_1001a0e0(*(undefined4 *)(DAT_101d6474 + 0x38),
                                 L"     - subscribedLastDeploy ",puVar18,
                                 L"  it->lastDeploymentChange ",local_16d4,endl_exref);
            uVar7 = FUN_1001a0e0(uVar7);
            uVar7 = FUN_1001a0e0(uVar7);
            pbVar12 = (basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_> *)
                      FUN_1001a0e0(uVar7);
            std::basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_>::operator<<
                      (pbVar12,p_Var26);
            local_8._0_1_ = 0x29;
            if (local_17cc != (int *)0x0) {
              (**(code **)(*local_17cc + 8))(local_17cc);
            }
            SysFreeString(local_17c8);
            local_8 = CONCAT31(local_8._1_3_,0x24);
            if (local_17ec != (int *)0x0) {
              (**(code **)(*local_17ec + 8))(local_17ec);
            }
            SysFreeString(local_17e8);
          }
          cVar4 = FUN_100408d0();
          if (cVar4 != '\0') {
            local_16d4 = (int *)FUN_10005330(piVar23[0xe],piVar23[0xf]);
            local_8._0_1_ = 0x2b;
            local_16e0 = (int *)FUN_10005330(local_172c.dwLowDateTime,local_172c.dwHighDateTime);
            local_8 = CONCAT31(local_8._1_3_,0x2c);
            local_16d8 = (_func_basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_>_ptr_basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_>_ptr
                          *)(local_16d4 + 1);
            SysFreeString((BSTR)local_16d4[1]);
            p_Var26 = local_16d8;
            iVar10 = (**(code **)(*(int *)*local_16d4 + 0x74))((int *)*local_16d4);
            if (iVar10 < 0) {
              _com_issue_errorex(iVar10,(IUnknown *)*local_16d4,(_GUID *)&DAT_1017ae18);
            }
            local_16d4 = *(int **)local_16d8;
            if (local_16d4 == (int *)0x0) {
              local_16d4 = (int *)&DAT_1017a514;
            }
            local_16d8 = (_func_basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_>_ptr_basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_>_ptr
                          *)(local_16e0 + 1);
            SysFreeString((BSTR)local_16e0[1]);
            iVar10 = (**(code **)(*(int *)*local_16e0 + 0x74))((int *)*local_16e0,local_16d8);
            if (iVar10 < 0) {
              _com_issue_errorex(iVar10,(IUnknown *)*local_16e0,(_GUID *)&DAT_1017ae18);
            }
            puVar18 = *(undefined2 **)local_16d8;
            if (puVar18 == (undefined2 *)0x0) {
              puVar18 = &DAT_1017a514;
            }
            uVar7 = FUN_1001a0e0(*(undefined4 *)(DAT_101d6474 + 0x38),
                                 L"     - subscribedLastCfgChange ",puVar18,
                                 L"  it->lastConfigChange ",local_16d4,endl_exref);
            uVar7 = FUN_1001a0e0(uVar7);
            uVar7 = FUN_1001a0e0(uVar7);
            pbVar12 = (basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_> *)
                      FUN_1001a0e0(uVar7);
            std::basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_>::operator<<
                      (pbVar12,p_Var26);
            local_8._0_1_ = 0x2b;
            if (local_17b4 != (int *)0x0) {
              (**(code **)(*local_17b4 + 8))(local_17b4);
            }
            SysFreeString(local_17b0);
            local_8 = CONCAT31(local_8._1_3_,0x24);
            if (local_17c4 != (int *)0x0) {
              (**(code **)(*local_17c4 + 8))(local_17c4);
            }
            SysFreeString(local_17c0);
          }
          *(int *)(local_16d0 + 0x54) = *(int *)(local_16d0 + 0x54) + 1;
          piVar2[3] = 1;
          DVar15 = GetTickCount();
          *(DWORD *)(local_16d0 + 0x14) = DVar15;
          *(DWORD *)(local_16d0 + 0xc) = local_16fc.dwLowDateTime;
          *(DWORD *)(local_16d0 + 0x10) = local_16fc.dwHighDateTime;
          piVar22 = (int *)*piVar22;
          local_175c = (int *)0x0;
          local_1758 = (BSTR)0x0;
          if (DAT_101d6470 == (int *)0x0) {
            local_176c = (int *)0x0;
            HVar17 = CoGetClassObject((IID *)&DAT_1017b1c0,0x17,(LPVOID)0x0,(IID *)&DAT_1017b1d0,
                                      &local_176c);
            if (HVar17 < 0) {
              local_179c = 0x80004005;
                    /* WARNING: Subroutine does not return */
              _CxxThrowException(&local_179c,(ThrowInfo *)&DAT_101a8794);
            }
            DAT_101d6470 = local_176c;
          }
          (**(code **)(*DAT_101d6470 + 0xc))(DAT_101d6470,&local_175c);
          if (local_175c == (int *)0x0) {
            local_1778 = 0x80004005;
                    /* WARNING: Subroutine does not return */
            _CxxThrowException(&local_1778,(ThrowInfo *)&DAT_101a8794);
          }
          local_8._0_1_ = 0x2d;
          local_6c[0] = 0;
          local_60 = 10000;
          local_68 = 5;
          local_64 = 0;
          (**(code **)(*piVar22 + 0xc))
                    (0,local_175c,0xffffffff,DAT_101d6504,DAT_101d6508,local_6c,0);
          local_8 = CONCAT31(local_8._1_3_,0x24);
          if (local_175c != (int *)0x0) {
            (**(code **)(*local_175c + 8))(local_175c);
          }
          SysFreeString(local_1758);
          iVar10 = local_16d0;
          local_16d4 = (int *)*piVar2;
          if (piVar2 != *(int **)(local_16d0 + 0x24)) {
            *(int **)piVar2[1] = local_16d4;
            *(int *)(*piVar2 + 4) = piVar2[1];
            operator_delete(piVar2);
            *(int *)(iVar10 + 0x28) = *(int *)(iVar10 + 0x28) + -1;
          }
          local_16e0 = local_16d4;
          if (local_1710 != (undefined4 *)0x0) {
            (**(code **)*local_1710)(1);
          }
          pcVar21 = SysFreeString_exref;
          local_8._0_1_ = 0x23;
          SysFreeString(local_16ec);
          local_8._0_1_ = 0x22;
          if (local_1704 != (int *)0x0) {
            (**(code **)(*local_1704 + 8))(local_1704);
          }
          SysFreeString(local_1700);
          local_8._0_1_ = 5;
          if (local_170c != (int *)0x0) {
            (**(code **)(*local_170c + 8))(local_170c);
          }
          SysFreeString(local_1708);
          goto LAB_10091415;
        }
        if (local_16cc[0] != 0) {
LAB_1009081b:
          if (local_1774[0] != 0xc0) goto LAB_1009089a;
          local_16d4 = (int *)(**(code **)(*local_170c + 0x78))(local_170c,&local_16fc);
          if (local_16d4 == (int *)0x0) {
            local_1730 = CONCAT31(local_1730._1_3_,1);
          }
          else {
            cVar4 = FUN_100408d0();
            if (cVar4 != '\0') {
              piVar19 = local_16d4;
              p_Var26 = endl_exref;
              pbVar12 = (basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_> *)
                        FUN_1001a0e0(*(undefined4 *)(DAT_101d6474 + 0x38),
                                     L"        - failed to extract time from value hr ");
              pbVar12 = std::basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_>
                        ::operator<<(pbVar12,(long)piVar19);
              goto LAB_10090933;
            }
          }
          goto LAB_1009093b;
        }
        if (local_16c8 == 1) goto LAB_1009089a;
        cVar4 = FUN_100408d0();
        if (cVar4 != '\0') {
          swprintf_s(local_318,0x104,L"<success %d category %d detectedBy %d detail %d>",
                     (int)local_16cc[0],local_16c8,local_16c4,(int)local_16c0);
          p_Var26 = endl_exref;
          uVar7 = FUN_1001a0e0(*(undefined4 *)(DAT_101d6474 + 0x38),
                               L"        - status of GR subscription is ",local_318,
                               L" calling OnSetAttributeResult directly ");
          uVar7 = FUN_1001a0e0(uVar7);
          pbVar12 = (basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_> *)
                    FUN_1001a0e0(uVar7);
          std::basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_>::operator<<
                    (pbVar12,p_Var26);
        }
        local_16d8 = (_func_basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_>_ptr_basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_>_ptr
                      *)*piVar22;
        local_174c = (int *)0x0;
        local_1748 = (BSTR)0x0;
        if (DAT_101d6470 == (int *)0x0) {
          local_1768 = (int *)0x0;
          HVar17 = CoGetClassObject((IID *)&DAT_1017b1c0,0x17,(LPVOID)0x0,(IID *)&DAT_1017b1d0,
                                    &local_1768);
          if (HVar17 < 0) {
            local_1798 = 0x80004005;
                    /* WARNING: Subroutine does not return */
            _CxxThrowException(&local_1798,(ThrowInfo *)&DAT_101a8794);
          }
          DAT_101d6470 = local_1768;
        }
        (**(code **)(*DAT_101d6470 + 0xc))(DAT_101d6470,&local_174c);
        if (local_174c == (int *)0x0) {
          local_17a0 = 0x80004005;
                    /* WARNING: Subroutine does not return */
          _CxxThrowException(&local_17a0,(ThrowInfo *)&DAT_101a8794);
        }
        local_8._0_1_ = 0x25;
        (**(code **)(*(int *)local_16d8 + 0xc))
                  (0,local_174c,0xffffffff,DAT_101d6504,DAT_101d6508,local_16cc,0);
        local_8 = CONCAT31(local_8._1_3_,0x24);
        if (local_174c != (int *)0x0) {
          (**(code **)(*local_174c + 8))(local_174c);
        }
        SysFreeString(local_1748);
        local_16d8 = (_func_basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_>_ptr_basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_>_ptr
                      *)*piVar22;
        piVar23 = (int *)*piVar2;
        if (piVar2 != *(int **)(local_16d0 + 0x24)) {
          *(int **)piVar2[1] = piVar23;
          *(int *)(*piVar2 + 4) = piVar2[1];
          operator_delete(piVar2);
          *(int *)(local_16d0 + 0x28) = *(int *)(local_16d0 + 0x28) + -1;
        }
        local_16e0 = piVar23;
        if (local_16d8 !=
            (_func_basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_>_ptr_basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_>_ptr
             *)0x0) {
          (*(code *)**(undefined4 **)local_16d8)(1);
        }
        local_8._0_1_ = 0x23;
        SysFreeString(local_16ec);
        local_8._0_1_ = 0x22;
        if (local_1704 != (int *)0x0) {
          (**(code **)(*local_1704 + 8))(local_1704);
        }
        SysFreeString(local_1700);
        local_8._0_1_ = 5;
        if (local_170c != (int *)0x0) {
          (**(code **)(*local_170c + 8))(local_170c);
        }
        SysFreeString(local_1708);
        local_8._0_1_ = 3;
        if (local_16f4 != (int *)0x0) {
          (**(code **)(*local_16f4 + 8))(local_16f4);
        }
        local_8._0_1_ = 2;
        SysFreeString(local_16e8);
        local_8._0_1_ = 1;
        SysFreeString(local_16f0);
        local_8 = (uint)local_8._1_3_ << 8;
        if (7 < local_38) {
          operator_delete(local_4c[0]);
        }
        local_38 = 7;
        local_3c = 0;
        local_4c[0] = (undefined4 ***)((uint)local_4c[0] & 0xffff0000);
        local_8 = 0xffffffff;
        if (7 < local_1c) {
          operator_delete(local_30);
        }
LAB_10090804:
        local_30 = (undefined4 *)((uint)local_30 & 0xffff0000);
      }
      else {
        sVar29 = 7;
        pwVar28 = L"MyHost.";
        pwVar9 = (wchar_t *)(**(code **)(*(int *)*piVar22 + 8))();
        iVar10 = _wcsnicmp(pwVar9,pwVar28,sVar29);
        if ((iVar10 == 0) && (sStack_16a6 == 1)) goto LAB_10090433;
        local_1744 = (int *)0x0;
        local_8 = CONCAT31(local_8._1_3_,7);
        cVar4 = FUN_100408d0();
        if (cVar4 != '\0') {
          bVar5 = local_16e1 & 1;
          uVar11 = (uint)local_16ac;
          p_Var26 = endl_exref;
          uVar7 = (**(code **)(*(int *)*piVar22 + 8))
                            (L" bound from cache g ",uVar11,&DAT_1018bdac,
                             CONCAT22(uStack_16a8,uStack_16aa),&DAT_101850ec,
                             CONCAT22(sStack_16a6,uStack_16a8),&DAT_1018bdb4,
                             CONCAT22(uStack_16a4,sStack_16a6),&DAT_1018bdbc,
                             CONCAT22(uStack_16a2,uStack_16a4),L" di ");
          uVar7 = FUN_1001a0e0(*(undefined4 *)(DAT_101d6474 + 0x38),L"        - ref ",uVar7);
          uVar7 = FUN_1001a0e0(uVar7);
          pbVar12 = (basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_> *)
                    FUN_1001a0e0(uVar7);
          pbVar12 = std::basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_>::
                    operator<<(pbVar12,uVar11);
          FUN_1001a0e0(pbVar12);
          uVar7 = FUN_10022870();
          FUN_1001a0e0(uVar7);
          uVar7 = FUN_10022870();
          FUN_1001a0e0(uVar7);
          uVar7 = FUN_10022870();
          FUN_1001a0e0(uVar7);
          uVar7 = FUN_10022870();
          pbVar12 = (basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_> *)
                    FUN_1001a0e0(uVar7);
          pbVar12 = std::basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_>::
                    operator<<(pbVar12,(bool)bVar5);
          std::basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_>::operator<<
                    (pbVar12,p_Var26);
        }
        *(int *)(local_16d0 + 0x58) = *(int *)(local_16d0 + 0x58) + 1;
        (**(code **)(*(int *)*piVar22 + 4))(&local_1744);
        (**(code **)(*(int *)*piVar22 + 0x10))(1);
        piVar23 = local_1744;
        local_178c = 0;
        local_178a = 0;
        local_1786 = 0;
        uStack_1784 = 0;
        local_1782 = 0;
        uStack_1780 = 0;
        local_177e = 0;
        uStack_177c = 0;
        local_177a = 0;
        local_1828 = local_1744;
        if (local_1744 != (int *)0x0) {
          (**(code **)(*local_1744 + 4))(local_1744);
        }
        local_1824 = 0;
        local_1820 = 0;
        local_181c = 0;
        local_8._1_3_ = (uint3)((uint)local_8 >> 8);
        local_1818 = 0;
        local_8._0_1_ = 0xe;
        local_7c[0] = 0xffff;
        local_78 = 0;
        local_74 = 1;
        local_70 = 0;
        puVar14 = local_30;
        if (local_1c < 8) {
          puVar14 = &local_30;
        }
        iVar10 = (**(code **)(*piVar23 + 0x2c))(piVar23,puVar14);
        if (iVar10 < 0) {
                    /* WARNING: Subroutine does not return */
          FUN_1005bf30(iVar10,0,"E:\\BldSrc\\6\\s\\ExtInterfaces\\Lmx\\IMxReferencePtr.h",0x55);
        }
        ppppuVar13 = (undefined4 ****)local_4c[0];
        if (local_38 < 8) {
          ppppuVar13 = local_4c;
        }
        iVar10 = (**(code **)(*piVar23 + 0x34))(piVar23,ppppuVar13);
        if (iVar10 < 0) {
                    /* WARNING: Subroutine does not return */
          FUN_1005bf30(iVar10,0,"E:\\BldSrc\\6\\s\\ExtInterfaces\\Lmx\\IMxReferencePtr.h",0x65);
        }
        uStack_1784 = uStack_16a4;
        local_16d8 = (_func_basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_>_ptr_basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_>_ptr
                      *)FUN_1008f8b0(local_110,
                                     CONCAT22(uStack_16aa,CONCAT11(uStack_16ab,local_16ac)),
                                     CONCAT22(sStack_16a6,uStack_16a8),
                                     CONCAT22(local_1782,uStack_16a4),
                                     CONCAT22(local_177e,uStack_1780),
                                     CONCAT22(local_177a,uStack_177c),local_1764);
        local_1740 = (int *)0x0;
        local_8._0_1_ = 0x10;
        (**(code **)*piVar23)(piVar23,&DAT_1017b690,&local_1740);
        local_8._0_1_ = 0x11;
        iVar10 = (**(code **)(*local_1740 + 0x10))(local_1740,local_16d8);
        if (iVar10 < 0) {
                    /* WARNING: Subroutine does not return */
          FUN_1005bf30(iVar10,0,"E:\\BldSrc\\6\\s\\ExtInterfaces\\Lmx\\IMxReferencePtr.h",0x85);
        }
        local_8._0_1_ = 0xe;
        if (local_1740 != (int *)0x0) {
          (**(code **)(*local_1740 + 8))(local_1740);
        }
        local_173c = (int *)0x0;
        local_8._0_1_ = 0x15;
        (**(code **)*piVar23)(piVar23,&DAT_1017b938,&local_173c);
        local_8._0_1_ = 0x16;
        iVar10 = (**(code **)(*local_173c + 0x18))(local_173c,&local_1764);
        if (iVar10 < 0) {
                    /* WARNING: Subroutine does not return */
          FUN_1005bf30(iVar10,0,"E:\\BldSrc\\6\\s\\ExtInterfaces\\Lmx\\IMxReferencePtr.h",0x94);
        }
        local_8._0_1_ = 0xe;
        if (local_173c != (int *)0x0) {
          (**(code **)(*local_173c + 8))(local_173c);
        }
        local_16d9 = local_16e1 & 1;
        FUN_1008fca0(&local_16d9);
        local_16d4 = (int *)*piVar22;
        puVar14 = (undefined4 *)FUN_100054b0(piVar23);
        local_8._0_1_ = 0x19;
        (**(code **)(*local_16d4 + 0xc))(0,*puVar14,0xffffffff,DAT_101d6504,DAT_101d6508,local_7c,0)
        ;
        local_8 = CONCAT31(local_8._1_3_,0xe);
        if (local_17dc != (int *)0x0) {
          (**(code **)(*local_17dc + 8))(local_17dc);
        }
        SysFreeString(local_17d8);
        local_16d8 = (_func_basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_>_ptr_basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_>_ptr
                      *)*piVar22;
        piVar22 = (int *)*local_16e0;
        if (local_16e0 != *(int **)(local_16d0 + 0x24)) {
          *(int **)local_16e0[1] = piVar22;
          *(int *)(*local_16e0 + 4) = local_16e0[1];
          operator_delete(local_16e0);
          *(int *)(local_16d0 + 0x28) = *(int *)(local_16d0 + 0x28) + -1;
        }
        local_16e0 = piVar22;
        if (local_16d8 !=
            (_func_basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_>_ptr_basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_>_ptr
             *)0x0) {
          (*(code *)**(undefined4 **)local_16d8)(1);
        }
        local_8._0_1_ = 0x1d;
        SysFreeString((BSTR)0x0);
        local_8._0_1_ = 0x1c;
        SysFreeString((BSTR)0x0);
        local_8._0_1_ = 0x1b;
        SysFreeString((BSTR)0x0);
        local_8._0_1_ = 0x1a;
        SysFreeString((BSTR)0x0);
        local_8._0_1_ = 7;
        (**(code **)(*piVar23 + 8))(piVar23);
        local_8._0_1_ = 5;
        if (local_1744 != (int *)0x0) {
          (**(code **)(*local_1744 + 8))(local_1744);
        }
        local_8._0_1_ = 3;
        if (local_16f4 != (int *)0x0) {
          (**(code **)(*local_16f4 + 8))(local_16f4);
        }
        local_8._0_1_ = 2;
        SysFreeString(local_16e8);
        local_8._0_1_ = 1;
        SysFreeString(local_16f0);
        local_8 = (uint)local_8._1_3_ << 8;
        if (7 < local_38) {
          operator_delete(local_4c[0]);
        }
        local_38 = 7;
        local_3c = 0;
        local_4c[0] = (undefined4 ***)((uint)local_4c[0] & 0xffff0000);
        local_8 = 0xffffffff;
        if (7 < local_1c) {
          operator_delete(local_30);
        }
LAB_10091d53:
        local_30 = (undefined4 *)((uint)local_30._2_2_ << 0x10);
      }
LAB_10091d59:
      local_1c = 7;
      local_20 = 0;
    } while (local_16e0 != *(int **)(local_16d0 + 0x24));
  }
  ExceptionList = local_10;
  __security_check_cookie(local_14 ^ (uint)&stack0xfffffffc);
  return;
}


FUN_10101360 at 10101360

Signature: undefined FUN_10101360(void)


void __fastcall FUN_10101360(int param_1)

{
  undefined4 *puVar1;
  char cVar2;
  undefined4 uVar3;
  int *piVar4;
  int *piVar5;
  uint uVar6;
  int iVar7;
  int *piVar8;
  undefined2 *puVar9;
  int local_220;
  wchar_t local_21c [260];
  uint local_14;
  void *local_10;
  undefined1 *puStack_c;
  undefined4 local_8;
  
  puStack_c = &LAB_101709ee;
  local_10 = ExceptionList;
  uVar6 = DAT_101d60b8 ^ (uint)&stack0xfffffffc;
  ExceptionList = &local_10;
  uVar3 = *(undefined4 *)(param_1 + 0x3fc);
  local_14 = uVar6;
  if ((DAT_101d6444 & 1) == 0) {
    DAT_101d6444 = DAT_101d6444 | 1;
    local_8 = 0;
    FUN_10003a90(uVar6);
    _atexit(FUN_101792e0);
  }
  local_8 = 0xffffffff;
  FUN_10022d50(&DAT_101d6370,L"AccessManager::DumpState - remotePlatformResolvers.size %d",uVar3);
  if ((DAT_101d6444 & 1) == 0) {
    DAT_101d6444 = DAT_101d6444 | 1;
    local_8 = 1;
    FUN_10003a90(uVar6);
    _atexit(FUN_101792e0);
    local_8 = 0xffffffff;
  }
  FUN_10022d50(&DAT_101d6370,L" remotePlatformResolvers.sendResultsRetryCount %d",
               *(undefined4 *)(param_1 + 0x404));
  piVar8 = (int *)**(int **)(param_1 + 0x3f8);
  local_220 = 0;
  if (piVar8 != *(int **)(param_1 + 0x3f8)) {
    do {
      if ((DAT_101d6444 & 1) == 0) {
        DAT_101d6444 = DAT_101d6444 | 1;
        local_8 = 2;
        FUN_10003a90();
        _atexit(FUN_101792e0);
        local_8 = 0xffffffff;
      }
      FUN_10022d50(&DAT_101d6370,L" remotePlatformResolvers[%d].this            %x",local_220,
                   piVar8[3]);
      iVar7 = piVar8[3];
      SysFreeString(*(BSTR *)(iVar7 + 8));
      *(undefined4 *)(iVar7 + 8) = 0;
      iVar7 = (**(code **)(**(int **)(iVar7 + 4) + 0x20))
                        (*(int **)(iVar7 + 4),(undefined4 *)(iVar7 + 8));
      if (iVar7 < 0) {
LAB_10101768:
                    /* WARNING: Subroutine does not return */
        FUN_1005bf30(iVar7,0,"E:\\BldSrc\\6\\s\\ExtInterfaces\\Lmx\\IMxReferencePtr.h",0x3f);
      }
      iVar7 = piVar8[3];
      puVar1 = (undefined4 *)(iVar7 + 8);
      SysFreeString(*(BSTR *)(iVar7 + 8));
      *puVar1 = 0;
      iVar7 = (**(code **)(**(int **)(iVar7 + 4) + 0x20))(*(int **)(iVar7 + 4),puVar1);
      if (iVar7 < 0) goto LAB_10101768;
      puVar9 = (undefined2 *)*puVar1;
      if (puVar9 == (undefined2 *)0x0) {
        puVar9 = &DAT_1017a514;
      }
      if ((DAT_101d6444 & 1) == 0) {
        DAT_101d6444 = DAT_101d6444 | 1;
        local_8 = 3;
        FUN_10003a90();
        _atexit(FUN_101792e0);
        local_8 = 0xffffffff;
      }
      FUN_10022d50(&DAT_101d6370,L" remotePlatformResolvers[%d].mxReference     %s",local_220,puVar9
                  );
      iVar7 = piVar8[3];
      _snwprintf_s(local_21c,0x104,0xffffffff,L"<galaxy %d platform %d engine %d>",
                   *(undefined4 *)(iVar7 + 0x18),*(undefined4 *)(iVar7 + 0x1c),
                   *(undefined4 *)(iVar7 + 0x20));
      if ((DAT_101d6444 & 1) == 0) {
        DAT_101d6444 = DAT_101d6444 | 1;
        local_8 = 4;
        FUN_10003a90();
        _atexit(FUN_101792e0);
        local_8 = 0xffffffff;
      }
      FUN_10022d50(&DAT_101d6370,L" remotePlatformResolvers[%d].requesterEngine %s",local_220,
                   local_21c);
      if ((DAT_101d6444 & 1) == 0) {
        DAT_101d6444 = DAT_101d6444 | 1;
        local_8 = 5;
        FUN_10003a90();
        _atexit(FUN_101792e0);
        local_8 = 0xffffffff;
      }
      FUN_10022d50(&DAT_101d6370,L" remotePlatformResolvers[%d].requesterData   %x",local_220,
                   *(undefined4 *)(piVar8[3] + 0x24));
      if ((DAT_101d6444 & 1) == 0) {
        DAT_101d6444 = DAT_101d6444 | 1;
        local_8 = 6;
        FUN_10003a90();
        _atexit(FUN_101792e0);
        local_8 = 0xffffffff;
      }
      FUN_10022d50(&DAT_101d6370,L" remotePlatformResolvers[%d].currentEngineId %x",local_220,
                   *(undefined4 *)(piVar8[3] + 0x2c));
      if ((DAT_101d6444 & 1) == 0) {
        DAT_101d6444 = DAT_101d6444 | 1;
        local_8 = 7;
        FUN_10003a90();
        _atexit(FUN_101792e0);
        local_8 = 0xffffffff;
      }
      FUN_10022d50(&DAT_101d6370,L" remotePlatformResolvers[%d].retryCount      %d",local_220,
                   *(undefined4 *)(piVar8[3] + 0x44));
      if (*(char *)((int)piVar8 + 0x11) == '\0') {
        piVar4 = (int *)piVar8[2];
        if (*(char *)((int)piVar4 + 0x11) == '\0') {
          cVar2 = *(char *)(*piVar4 + 0x11);
          piVar8 = piVar4;
          piVar4 = (int *)*piVar4;
          while (cVar2 == '\0') {
            cVar2 = *(char *)(*piVar4 + 0x11);
            piVar8 = piVar4;
            piVar4 = (int *)*piVar4;
          }
        }
        else {
          cVar2 = *(char *)(piVar8[1] + 0x11);
          piVar5 = (int *)piVar8[1];
          piVar4 = piVar8;
          while ((piVar8 = piVar5, cVar2 == '\0' && (piVar4 == (int *)piVar8[2]))) {
            cVar2 = *(char *)(piVar8[1] + 0x11);
            piVar5 = (int *)piVar8[1];
            piVar4 = piVar8;
          }
        }
      }
      local_220 = local_220 + 1;
    } while (piVar8 != *(int **)(param_1 + 0x3f8));
  }
  if ((DAT_101d6444 & 1) == 0) {
    DAT_101d6444 = DAT_101d6444 | 1;
    local_8 = 8;
    FUN_10003a90();
    _atexit(FUN_101792e0);
    local_8 = 0xffffffff;
  }
  FUN_10022d50(&DAT_101d6370,&DAT_1017a514);
  ExceptionList = local_10;
  __security_check_cookie(local_14 ^ (uint)&stack0xfffffffc);
  return;
}


FUN_101133d0 at 101133d0

Signature: undefined FUN_101133d0(void)


void __fastcall FUN_101133d0(int param_1)

{
  undefined4 *puVar1;
  short sVar2;
  int *piVar3;
  char cVar4;
  uint uVar5;
  BSTR pOVar6;
  int iVar7;
  int iVar8;
  wchar_t *pwVar9;
  undefined4 uVar10;
  undefined4 uVar11;
  basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_> *pbVar12;
  short *psVar13;
  wchar_t ****ppppwVar14;
  undefined4 ****ppppuVar15;
  short *psVar16;
  undefined4 *puVar17;
  _func_basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_>_ptr_basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_>_ptr
  *p_Var18;
  undefined4 ***local_84 [5];
  uint local_70;
  undefined4 local_68;
  undefined4 local_58;
  uint local_54;
  undefined4 ***local_4c [4];
  undefined4 local_3c;
  uint local_38;
  wchar_t ***local_30 [4];
  undefined4 local_20;
  uint local_1c;
  uint local_14;
  void *local_10;
  undefined1 *puStack_c;
  uint local_8;
  
  local_8 = 0xffffffff;
  puStack_c = &LAB_101725c0;
  local_10 = ExceptionList;
  uVar5 = DAT_101d60b8 ^ (uint)&stack0xfffffffc;
  ExceptionList = &local_10;
  puVar1 = (undefined4 *)(param_1 + 0xac);
  local_14 = uVar5;
  if (*(BSTR *)(param_1 + 0xac) != L"") {
    SysFreeString(*(BSTR *)(param_1 + 0xac));
    pOVar6 = SysAllocString(L"");
    *puVar1 = pOVar6;
    if (pOVar6 == (BSTR)0x0) {
                    /* WARNING: Subroutine does not return */
      FUN_1005bf30(0x8007000e,0,
                   "E:\\BldSrc\\6\\s\\sharedcomponents\\internal\\MagellanPublic\\Includes\\ClassUtilities\\AAComBSTR.h"
                   ,0xec);
    }
  }
  puVar17 = (undefined4 *)(param_1 + 0x54);
  SysFreeString(*(BSTR *)(param_1 + 0x54));
  *puVar17 = 0;
  piVar3 = *(int **)(param_1 + 0x50);
  iVar7 = (**(code **)(*piVar3 + 0x20))(piVar3,puVar17,uVar5);
  if (iVar7 < 0) {
                    /* WARNING: Subroutine does not return */
    FUN_1005bf30(iVar7,0,"E:\\BldSrc\\6\\s\\ExtInterfaces\\Lmx\\IMxReferencePtr.h",0x3f);
  }
  psVar16 = (short *)*puVar17;
  if (psVar16 == (short *)0x0) {
    psVar16 = &DAT_1017a514;
  }
  local_54 = 7;
  local_58 = 0;
  local_68 = (void *)((uint)local_68._2_2_ << 0x10);
  psVar13 = psVar16;
  do {
    sVar2 = *psVar13;
    psVar13 = psVar13 + 1;
  } while (sVar2 != 0);
  FUN_100363d0(psVar16,(int)psVar13 - (int)(psVar16 + 1) >> 1);
  local_8 = 0;
  iVar7 = FUN_100110c0(&DAT_101851e8,0,1);
  if (iVar7 == -1) {
    if (*(int *)(param_1 + 0x44) == 0) goto LAB_101138b3;
    psVar13 = (short *)FUN_1005f6b0();
    local_4c[0] = (undefined4 ***)((uint)local_4c[0] & 0xffff0000);
    local_38 = 7;
    local_3c = 0;
    psVar16 = psVar13;
    do {
      sVar2 = *psVar16;
      psVar16 = psVar16 + 1;
    } while (sVar2 != 0);
    FUN_100363d0(psVar13,(int)psVar16 - (int)(psVar13 + 1) >> 1);
    local_8._0_1_ = 3;
    iVar7 = FUN_100110c0(&DAT_101851e8,0,1);
    if (iVar7 != -1) {
      FUN_10043140(local_30,0,iVar7);
      local_8 = CONCAT31(local_8._1_3_,4);
      iVar8 = FUN_100a6690(L"0123456789",0,10);
      if ((iVar8 != 0) && (iVar8 = FUN_100110c0(&DAT_1017b6e0,0,1), iVar8 == -1)) {
        iVar8 = *(int *)(param_1 + 100);
        if (*(char *)(iVar8 + 0x618) == '\0') {
          pwVar9 = (wchar_t *)(iVar8 + 0x5fc);
          if (7 < *(uint *)(iVar8 + 0x610)) {
            pwVar9 = *(wchar_t **)pwVar9;
          }
          ppppwVar14 = (wchar_t ****)local_30[0];
          if (local_1c < 8) {
            ppppwVar14 = local_30;
          }
          iVar8 = _wcsicmp((wchar_t *)ppppwVar14,pwVar9);
          if (iVar8 != 0) goto LAB_10113776;
        }
        else {
LAB_10113776:
          ppppwVar14 = (wchar_t ****)local_30[0];
          if (local_1c < 8) {
            ppppwVar14 = local_30;
          }
          FUN_1005c2c0(ppppwVar14);
        }
        FUN_10043140(local_84,iVar7 + 1,0xffffffff);
        local_8._0_1_ = 5;
        if (local_70 < 8) {
          local_84[0] = local_84;
        }
        FUN_1005f700(local_84[0]);
        local_8 = CONCAT31(local_8._1_3_,4);
        FUN_10024360();
      }
      cVar4 = FUN_100408d0();
      if (cVar4 != '\0') {
        uVar11 = *puVar1;
        p_Var18 = endl_exref;
        uVar10 = FUN_1005f6b0(&DAT_101965a8);
        uVar10 = FUN_1005f590(L"] context [",uVar10);
        uVar11 = FUN_1001a0e0(*(undefined4 *)(DAT_101d6474 + 0x50),
                              L"PreboundReference::ParseNamespaceReference - namespace [",uVar11,
                              L"] item [",uVar10);
        uVar11 = FUN_1001a0e0(uVar11);
        uVar11 = FUN_1001a0e0(uVar11);
        uVar11 = FUN_1001a0e0(uVar11);
        uVar11 = FUN_1001a0e0(uVar11);
        uVar11 = FUN_1001a0e0(uVar11);
        pbVar12 = (basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_> *)
                  FUN_1001a0e0(uVar11);
        std::basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_>::operator<<
                  (pbVar12,p_Var18);
      }
      local_8._0_1_ = 3;
      if (7 < local_1c) {
        operator_delete(local_30[0]);
      }
      local_1c = 7;
      local_20 = 0;
      local_30[0] = (wchar_t ***)((uint)local_30[0] & 0xffff0000);
    }
    local_8 = (uint)local_8._1_3_ << 8;
    if (7 < local_38) {
      operator_delete(local_4c[0]);
    }
    local_38 = 7;
    local_3c = 0;
    local_4c[0] = (undefined4 ***)((uint)local_4c[0] & 0xffff0000);
    goto LAB_101138b3;
  }
  FUN_10043140(local_30,0,iVar7);
  local_8 = CONCAT31(local_8._1_3_,1);
  iVar8 = FUN_100a6690(L"0123456789",0,10);
  if ((iVar8 != 0) && (iVar8 = FUN_100110c0(&DAT_1017b6e0,0,1), iVar8 == -1)) {
    iVar8 = *(int *)(param_1 + 100);
    if (*(char *)(iVar8 + 0x618) == '\0') {
      pwVar9 = (wchar_t *)(iVar8 + 0x5fc);
      if (7 < *(uint *)(iVar8 + 0x610)) {
        pwVar9 = *(wchar_t **)pwVar9;
      }
      ppppwVar14 = (wchar_t ****)local_30[0];
      if (local_1c < 8) {
        ppppwVar14 = local_30;
      }
      iVar8 = _wcsicmp((wchar_t *)ppppwVar14,pwVar9);
      if (iVar8 != 0) goto LAB_10113551;
    }
    else {
LAB_10113551:
      ppppwVar14 = (wchar_t ****)local_30[0];
      if (local_1c < 8) {
        ppppwVar14 = local_30;
      }
      FUN_1005c2c0(ppppwVar14);
    }
    FUN_10043140(local_4c,iVar7 + 1,0xffffffff);
    local_8._0_1_ = 2;
    ppppuVar15 = (undefined4 ****)local_4c[0];
    if (local_38 < 8) {
      ppppuVar15 = local_4c;
    }
    piVar3 = *(int **)(param_1 + 0x50);
    iVar7 = (**(code **)(*piVar3 + 0x24))(piVar3,ppppuVar15);
    if (iVar7 < 0) {
                    /* WARNING: Subroutine does not return */
      FUN_1005bf30(iVar7,0,"E:\\BldSrc\\6\\s\\ExtInterfaces\\Lmx\\IMxReferencePtr.h",0x45);
    }
    local_8 = CONCAT31(local_8._1_3_,1);
    if (7 < local_38) {
      operator_delete(local_4c[0]);
    }
    local_38 = 7;
    local_3c = 0;
    local_4c[0] = (undefined4 ***)((uint)local_4c[0] & 0xffff0000);
  }
  cVar4 = FUN_100408d0();
  if (cVar4 != '\0') {
    uVar11 = *puVar1;
    p_Var18 = endl_exref;
    uVar10 = FUN_1005f6b0(&DAT_101965a8);
    uVar10 = FUN_1005f590(L"] context [",uVar10);
    uVar11 = FUN_1001a0e0(*(undefined4 *)(DAT_101d6474 + 0x50),
                          L"PreboundReference::ParseNamespaceReference - namespace [",uVar11,
                          L"] item [",uVar10);
    uVar11 = FUN_1001a0e0(uVar11);
    uVar11 = FUN_1001a0e0(uVar11);
    uVar11 = FUN_1001a0e0(uVar11);
    uVar11 = FUN_1001a0e0(uVar11);
    uVar11 = FUN_1001a0e0(uVar11);
    pbVar12 = (basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_> *)
              FUN_1001a0e0(uVar11);
    std::basic_ostream<unsigned_short,struct_std::char_traits<unsigned_short>_>::operator<<
              (pbVar12,p_Var18);
  }
  local_8 = local_8 & 0xffffff00;
  if (7 < local_1c) {
    operator_delete(local_30[0]);
  }
  local_1c = 7;
  local_20 = 0;
  local_30[0] = (wchar_t ***)((uint)local_30[0] & 0xffff0000);
LAB_101138b3:
  local_8 = 0xffffffff;
  if (7 < local_54) {
    operator_delete(local_68);
  }
  local_54 = 7;
  local_58 = 0;
  local_68 = (void *)((uint)local_68 & 0xffff0000);
  ExceptionList = local_10;
  __security_check_cookie(local_14 ^ (uint)&stack0xfffffffc);
  return;
}


FUN_10113900 at 10113900

Signature: undefined FUN_10113900(void)


LPVOID * __thiscall FUN_10113900(LPVOID *param_1,undefined4 param_2)

{
  uint uVar1;
  HRESULT HVar2;
  int iVar3;
  void *local_10;
  undefined1 *puStack_c;
  undefined4 local_8;
  
  puStack_c = &LAB_1017262c;
  local_10 = ExceptionList;
  uVar1 = DAT_101d60b8 ^ (uint)&stack0xfffffffc;
  ExceptionList = &local_10;
  *param_1 = (LPVOID)0x0;
  param_1[1] = (LPVOID)0x0;
  param_1[2] = (LPVOID)0x0;
  param_1[3] = (LPVOID)0x0;
  param_1[4] = (LPVOID)0x0;
  local_8 = 5;
  HVar2 = CoCreateInstance((IID *)&DAT_1017f604,(LPUNKNOWN)0x0,0x17,(IID *)&DAT_1017b260,param_1);
  if (HVar2 < 0) {
                    /* WARNING: Subroutine does not return */
    FUN_1005bf30(HVar2,0,"E:\\BldSrc\\6\\s\\ExtInterfaces\\Lmx\\IMxReferencePtr.h",0x2d);
  }
  iVar3 = (**(code **)(*(int *)*param_1 + 0x24))(*param_1,param_2,uVar1);
  if (iVar3 < 0) {
                    /* WARNING: Subroutine does not return */
    FUN_1005bf30(iVar3,0,"E:\\BldSrc\\6\\s\\ExtInterfaces\\Lmx\\IMxReferencePtr.h",0x45);
  }
  ExceptionList = local_10;
  return param_1;
}


FUN_10113b10 at 10113b10

Signature: undefined FUN_10113b10(void)


undefined4 * __thiscall FUN_10113b10(undefined4 *param_1,int *param_2,undefined4 param_3)

{
  undefined4 *puVar1;
  short sVar2;
  char cVar3;
  uint uVar4;
  int iVar5;
  short *psVar6;
  short *psVar7;
  undefined2 *puVar8;
  void *local_10;
  undefined1 *puStack_c;
  undefined1 local_8;
  undefined3 uStack_7;
  
  puStack_c = &LAB_1017276f;
  local_10 = ExceptionList;
  uVar4 = DAT_101d60b8 ^ (uint)&stack0xfffffffc;
  ExceptionList = &local_10;
  *param_1 = MxConnectionCallback::vftable;
  param_1[1] = CReferenceToResolve::vftable;
  *(undefined1 *)(param_1 + 2) = 0;
  param_1[3] = RedundancyResolutionStatusCallback::vftable;
  *param_1 = PreboundReference::vftable;
  param_1[1] = PreboundReference::vftable;
  param_1[3] = PreboundReference::vftable;
  *(undefined1 *)(param_1 + 4) = 0;
  param_1[5] = 0;
  param_1[0xb] = 7;
  param_1[10] = 0;
  *(undefined2 *)(param_1 + 6) = 0;
  param_1[0x12] = 7;
  param_1[0x11] = 0;
  *(undefined2 *)(param_1 + 0xd) = 0;
  uStack_7 = 0;
  local_8 = 2;
  param_1[0x14] = param_2;
  if (param_2 != (int *)0x0) {
    (**(code **)(*param_2 + 4))(param_2,uVar4);
  }
  param_1[0x15] = 0;
  param_1[0x16] = 0;
  param_1[0x17] = 0;
  param_1[0x18] = 0;
  param_1[0x19] = param_3;
  param_1[0x1a] = 0;
  *(undefined1 *)(param_1 + 0x1b) = 0;
  param_1[0x21] = 7;
  param_1[0x20] = 0;
  *(undefined2 *)(param_1 + 0x1c) = 0;
  param_1[0x27] = 0;
  param_1[0x2a] = 0;
  param_1[0x2b] = 0;
  _local_8 = CONCAT31(uStack_7,0xe);
  *(undefined1 *)(param_1 + 0x2c) = 0;
  param_1[0x29] = 0;
  if (DAT_101d8c40 == 0) {
    FUN_10113070();
  }
  if (param_2 != (int *)0x0) {
    puVar1 = param_1 + 0x15;
    SysFreeString((BSTR)param_1[0x15]);
    *puVar1 = 0;
    iVar5 = (**(code **)(*(int *)param_1[0x14] + 0x20))((int *)param_1[0x14],puVar1);
    if (iVar5 < 0) {
                    /* WARNING: Subroutine does not return */
      FUN_1005bf30(iVar5,0,"E:\\BldSrc\\6\\s\\ExtInterfaces\\Lmx\\IMxReferencePtr.h",0x3f);
    }
    psVar7 = (short *)*puVar1;
    if (psVar7 == (short *)0x0) {
      psVar7 = &DAT_1017a514;
    }
    psVar6 = psVar7;
    do {
      sVar2 = *psVar6;
      psVar6 = psVar6 + 1;
    } while (sVar2 != 0);
    FUN_100363d0(psVar7,(int)psVar6 - (int)(psVar7 + 1) >> 1);
    puVar1 = param_1 + 0x15;
    SysFreeString((BSTR)param_1[0x15]);
    *puVar1 = 0;
    iVar5 = (**(code **)(*(int *)param_1[0x14] + 0x20))((int *)param_1[0x14],puVar1);
    if (iVar5 < 0) {
                    /* WARNING: Subroutine does not return */
      FUN_1005bf30(iVar5,0,"E:\\BldSrc\\6\\s\\ExtInterfaces\\Lmx\\IMxReferencePtr.h",0x3f);
    }
    puVar8 = (undefined2 *)*puVar1;
    if (puVar8 == (undefined2 *)0x0) {
      puVar8 = &DAT_1017a514;
    }
    cVar3 = FUN_10134a10(puVar8);
    if (cVar3 != '\0') {
      psVar6 = (short *)FUN_1005f6b0();
      psVar7 = psVar6;
      do {
        sVar2 = *psVar7;
        psVar7 = psVar7 + 1;
      } while (sVar2 != 0);
      FUN_100363d0(psVar6,(int)psVar7 - (int)(psVar6 + 1) >> 1);
    }
  }
  FUN_101133d0();
  (**(code **)(*(int *)param_1[0x19] + 4))((int *)param_1[0x19]);
  ExceptionList = local_10;
  return param_1;
}