Files
mxaccess/analysis/ghidra/exports/aaMxDataConsumer.dll.dataclient-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

217 KiB

aaMxDataConsumer.dll selected decompile

GetIDataAdapter at 100058e4

Signature: pointer __fastcall GetIDataAdapter(int AccessName, undefined4 param_2)


/* WARNING: Instruction at (ram,0x10005ac3) overlaps instruction at (ram,0x10005ac2)
    */
/* WARNING: Unable to track spacebase fully for stack */

undefined * __fastcall GetIDataAdapter(int AccessName,undefined4 param_2)

{
  code *pcVar1;
  undefined2 uVar2;
  char cVar3;
  byte bVar4;
  char cVar5;
  byte bVar6;
  byte bVar7;
  undefined4 in_EAX;
  uint uVar8;
  undefined3 uVar15;
  char *pcVar9;
  int *piVar10;
  uint *puVar11;
  byte *pbVar12;
  int iVar13;
  undefined *puVar14;
  char cVar16;
  byte *pbVar17;
  byte bVar18;
  char cVar22;
  undefined3 uVar23;
  uint *puVar19;
  uint *puVar20;
  uint *puVar21;
  byte bVar24;
  byte *unaff_EBX;
  int *piVar25;
  byte *unaff_EBP;
  byte *unaff_ESI;
  byte *pbVar26;
  byte *pbVar27;
  uint *unaff_EDI;
  uint *puVar28;
  ushort in_ES;
  undefined2 in_SS;
  undefined2 in_DS;
  char in_CF;
  bool bVar29;
  byte in_AF;
  bool bVar30;
  byte in_TF;
  byte in_IF;
  bool bVar31;
  byte in_NT;
  byte in_AC;
  byte in_VIF;
  byte in_VIP;
  byte in_ID;
  undefined2 uStack_47;
  undefined1 uStack_45;
  undefined1 uStack_44;
  undefined4 uStack_28;
  uint *puStack_24;
  uint *puStack_18;
  uint *puStack_10;
  byte *pbStack_c;
  uint *puStack_8;
  
                    /* .NET CLR Managed Code */
  uVar8 = CONCAT31((int3)((uint)in_EAX >> 8),(char)in_EAX + in_CF + '\'') | 0x197e;
  uVar23 = (undefined3)((uint)param_2 >> 8);
  bVar18 = (byte)param_2 | *unaff_EBX;
  cVar5 = (char)uVar8;
  uVar15 = (undefined3)(uVar8 >> 8);
  cVar3 = cVar5 + '\x02';
  pcVar9 = (char *)CONCAT31(uVar15,cVar3);
  *pcVar9 = *pcVar9 + cVar3;
  bVar18 = bVar18 | *(byte *)CONCAT31(uVar23,bVar18);
  pcVar9 = (char *)CONCAT31(uVar23,bVar18);
  cVar16 = (char)AccessName;
  *pcVar9 = *pcVar9 + cVar16;
  bVar4 = (cVar5 + 0x2aU | *unaff_ESI) + 0xad;
  puVar19 = (uint *)CONCAT31(uVar15,bVar4);
  bVar24 = (byte)unaff_EBX;
  *(byte *)puVar19 = (char)*puVar19 - bVar24;
  *(byte *)puVar19 = (char)*puVar19 + bVar4;
  bVar18 = bVar18 | bVar4;
  iVar13 = CONCAT31(uVar23,bVar18);
  puStack_8 = (uint *)CONCAT22(puStack_8._2_2_,in_DS);
  *(byte *)puVar19 = (char)*puVar19 + bVar4;
  uVar8 = *puVar19;
  *puVar19 = (uint)(unaff_EBP + *puVar19);
  pcVar9 = (char *)((int)puVar19 + CARRY4(uVar8,(uint)unaff_EBP) + 0x6f0a0000);
  pbStack_c = (byte *)CONCAT22(pbStack_c._2_2_,in_SS);
  cVar3 = (char)pcVar9;
  *pcVar9 = *pcVar9 + cVar3;
  bVar4 = (byte)((uint)AccessName >> 8) | *(byte *)(AccessName + iVar13);
  pbVar17 = (byte *)CONCAT22((short)((uint)AccessName >> 0x10),CONCAT11(bVar4,cVar16));
  puStack_10 = (uint *)(uint)in_ES;
  pbVar27 = unaff_ESI;
  if (bVar4 == 0) {
    pbVar27 = unaff_ESI + 4;
    out(*(int *)unaff_ESI,(short)iVar13);
  }
  *pcVar9 = *pcVar9 + cVar3;
  *(byte **)(unaff_EBX + -0x17) = pbVar27 + *(int *)(unaff_EBX + -0x17);
  piVar10 = (int *)(CONCAT31((int3)((uint)pcVar9 >> 8),cVar3 + *pcVar9) | 0x17438);
  bVar6 = (byte)piVar10;
  *pbVar27 = *pbVar27 + bVar6;
  *(byte *)piVar10 = (char)*piVar10 - bVar24;
  *(byte *)piVar10 = (char)*piVar10 + bVar6;
  *pbVar17 = *pbVar17 + bVar6;
  cRam6f0a0000 = cRam6f0a0000 - (bVar18 | bVar6);
  puStack_18 = (uint *)CONCAT22(puStack_18._2_2_,in_SS);
  *(byte *)piVar10 = (char)*piVar10 + bVar6;
  bVar18 = (byte)((uint)unaff_EBX >> 8) | *pbVar17;
  piVar25 = (int *)CONCAT22((short)((uint)unaff_EBX >> 0x10),CONCAT11(bVar18,bVar24));
  *piVar10 = (int)(*piVar10 + (int)piVar10);
  *pbVar27 = *pbVar27 + bVar6;
  if (*pbVar27 != 0) {
    *(byte *)piVar10 = (char)*piVar10 + bVar6;
    *(int *)((int)piVar25 + -0x2f) = (int)(pbVar27 + *(int *)((int)piVar25 + -0x2f));
    piVar10 = (int *)CONCAT31((int3)((uint)piVar10 >> 8),bVar6 + (char)*piVar10);
  }
code_r0x1000594e:
  *pbVar17 = *pbVar17 + (char)puStack_18;
  uVar2 = puStack_10._0_2_;
  cVar3 = (char)((uint)piVar10 | 0x14938) + '\x03';
  pcVar9 = (char *)CONCAT31((int3)(((uint)piVar10 | 0x14938) >> 8),cVar3);
  *(byte *)puStack_18 = (char)*puStack_18 - bVar24;
  *pcVar9 = *pcVar9 + cVar3;
  pcVar9 = (char *)((uint)pbStack_c | *unaff_EDI | 0x7e);
  puVar19 = (uint *)((int)puStack_18 + -1);
  *pcVar9 = *pcVar9 + (char)pcVar9;
  puVar11 = puStack_8;
code_r0x10005968:
  puStack_8 = puVar11;
  puVar21 = (uint *)(CONCAT31((int3)((uint)pcVar9 >> 8),(char)pcVar9 + '\x17') + -0x4a7e33);
code_r0x10005970:
  puVar11 = puVar21;
  *(byte *)((int)puStack_8 + (int)puVar19) =
       *(byte *)((int)puStack_8 + (int)puVar19) + (char)puVar11;
  *(char *)puVar19 = (char)*puVar19;
  puVar21 = puRam28040000;
  puStack_24 = puStack_8;
  puStack_10 = puVar19;
code_r0x10005981:
  cVar3 = (char)puVar21;
  *pbVar27 = *pbVar27 + cVar3;
  *pbVar27 = *pbVar27 + 1;
  *pbVar27 = *pbVar27 + cVar3;
  *(char *)puVar19 = (char)*puVar19 - (char)((uint)puVar19 >> 8);
  cVar5 = cVar3 + (byte)*puVar21;
  pcVar9 = (char *)CONCAT31((int3)((uint)puVar21 >> 8),cVar5);
  uStack_28 = (uint *)CONCAT22(uStack_28._2_2_,uVar2);
  if (cVar5 == '\0' || SCARRY1(cVar3,(byte)*puVar21) != cVar5 < '\0') {
    pcVar9 = (char *)((int)puVar19 + (int)piVar25);
    bVar29 = SCARRY1(*pcVar9,cVar5);
    *pcVar9 = *pcVar9 + cVar5;
    cVar3 = *pcVar9;
    pbVar26 = pbVar27;
    puVar28 = puStack_8;
    goto code_r0x100059e1;
  }
code_r0x10005994:
  cVar3 = (char)pcVar9;
  *pcVar9 = *pcVar9 + cVar3;
  uVar15 = (undefined3)((uint)pcVar9 >> 8);
  bVar6 = cVar3 + 0x1f;
  pcVar9 = (char *)CONCAT31(uVar15,bVar6);
  *(byte *)(puStack_8 + -0x20) = (byte)puStack_8[-0x20] + 1;
  puStack_18 = (uint *)((int)puVar19 + -1);
  *pcVar9 = *pcVar9 + bVar6;
  bVar29 = 0x23 < bVar6;
  puVar21 = (uint *)CONCAT31(uVar15,cVar3 + -5);
  if ((char)(cVar3 + -5) != '\0' && '#' < (char)bVar6) {
    cVar3 = (char)(char *)((int)puVar21 + *puVar21);
    bVar6 = cVar3 + 0x13;
    piVar10 = (int *)CONCAT31((int3)((int)puVar21 + *puVar21 >> 8),bVar6);
    puStack_10 = (uint *)CONCAT22(puStack_10._2_2_,uVar2);
    if (bVar6 != 0 && -0x14 < cVar3) {
      *puStack_18 = *puStack_18 << 1 | (uint)((int)*puStack_18 < 0);
      *pbVar27 = *pbVar27 + bVar6;
      unaff_EDI = puStack_8;
      pbStack_c = pbVar17;
      puStack_8 = puVar11;
      goto code_r0x1000594e;
    }
    *(byte *)piVar10 = (char)*piVar10 + bVar6;
    bVar29 = 0xe5 < bVar6;
    puStack_18 = (uint *)((int)puVar19 + -2);
    puVar21 = puStack_10;
  }
  pcVar9 = (char *)((int)puVar21 + bVar29 + 0xa17f5c33);
  *pcVar9 = *pcVar9 + (char)pcVar9;
  pcVar9 = (char *)(CONCAT31((int3)((uint)pcVar9 >> 8),(char)pcVar9 + 'J') + -0xa17f13);
  cVar3 = (char)pcVar9;
  pcVar9[(int)unaff_EBP] = pcVar9[(int)unaff_EBP] + cVar3;
  bVar31 = SCARRY1(*pbVar27,cVar3);
  *pbVar27 = *pbVar27 + cVar3;
  bVar30 = (char)*pbVar27 < '\0';
  bVar29 = *pbVar27 == 0;
  puVar19 = puStack_18;
  while (bVar29 || bVar31 != bVar30) {
    cVar3 = (char)pcVar9;
    *pcVar9 = *pcVar9 + cVar3;
    puVar21 = (uint *)CONCAT31((int3)((uint)pcVar9 >> 8),cVar3 + '#');
    if ((char)(cVar3 + '#') != '\0' && '&' < (char)(cVar3 + 'J')) goto code_r0x10005970;
    while( true ) {
      bVar6 = (byte)puVar21;
      *(byte *)puVar21 = (byte)*puVar21 + bVar6;
      uVar15 = (undefined3)((uint)puVar21 >> 8);
      cVar3 = bVar6 + 0x20;
      pcVar9 = (char *)CONCAT31(uVar15,cVar3);
      puStack_24 = (uint *)((uint)(in_NT & 1) * 0x4000 | (uint)SCARRY1(bVar6,' ') * 0x800 |
                            (uint)(in_IF & 1) * 0x200 | (uint)(in_TF & 1) * 0x100 |
                            (uint)(cVar3 < '\0') * 0x80 | (uint)(cVar3 == '\0') * 0x40 |
                            (uint)(in_AF & 1) * 0x10 | (uint)((POPCOUNT(cVar3) & 1U) == 0) * 4 |
                            (uint)(0xdf < bVar6) | (uint)(in_ID & 1) * 0x200000 |
                            (uint)(in_VIP & 1) * 0x100000 | (uint)(in_VIF & 1) * 0x80000 |
                           (uint)(in_AC & 1) * 0x40000);
      *pcVar9 = *pcVar9 + cVar3;
      pcVar9[0x4a] = pcVar9[0x4a] + bVar24;
      cVar5 = bVar6 + 7;
      puVar21 = (uint *)CONCAT31(uVar15,cVar5);
      if (cVar5 != '\0' && '\x18' < cVar3) {
        *unaff_EBP = *unaff_EBP - (char)((uint)puVar19 >> 8);
        goto code_r0x10005981;
      }
      *(byte *)puVar21 = (byte)*puVar21 + cVar5;
      bVar29 = SCARRY1(cVar5,'\x1a');
      cVar3 = bVar6 + 0x21;
      pbVar26 = pbVar27;
      puVar28 = puStack_8;
code_r0x100059e1:
      puVar21 = puStack_24;
      pbVar27 = pbVar26;
      puStack_8 = puVar28;
      if (cVar3 != '\0' && bVar29 == cVar3 < '\0') {
        puStack_24 = (uint *)CONCAT22(puStack_24._2_2_,uVar2);
        goto code_r0x10005981;
      }
      bVar6 = (byte)puStack_24;
      *(byte *)puStack_24 = (byte)*puStack_24 + bVar6;
      bVar7 = bVar6 + 0x20;
      pcVar9 = (char *)CONCAT31((int3)((uint)puStack_24 >> 8),bVar7);
      *pcVar9 = *pcVar9 + bVar7;
      pcVar9[0x4a] = pcVar9[0x4a] + bVar24;
      iVar13 = iRam26110000;
      iRam26110000 = iRam26110000 - (int)pbVar17;
      if (iRam26110000 != 0 && (int)pbVar17 <= iVar13) goto code_r0x10005994;
      *pcVar9 = *pcVar9 + bVar7;
      puVar20 = (uint *)((int)puVar19 + -1);
      pcVar9 = (char *)(((uint)(in_NT & 1) * 0x4000 | (uint)SCARRY1(bVar6,' ') * 0x800 |
                         (uint)(in_IF & 1) * 0x200 | (uint)(in_TF & 1) * 0x100 |
                         (uint)((char)bVar7 < '\0') * 0x80 | (uint)(bVar7 == 0) * 0x40 |
                         (uint)(in_AF & 1) * 0x10 | (uint)((POPCOUNT(bVar7) & 1U) == 0) * 4 |
                         (uint)(0xdf < bVar6) | (uint)(in_ID & 1) * 0x200000 |
                         (uint)(in_VIP & 1) * 0x100000 | (uint)(in_VIF & 1) * 0x80000 |
                        (uint)(in_AC & 1) * 0x40000) + 0x97dd0533 + (uint)(0xe5 < bVar7));
      cVar3 = (char)pcVar9;
      *pcVar9 = *pcVar9 + cVar3;
      *(byte *)((int)puVar28 + -0x5f) = *(byte *)((int)puVar28 + -0x5f) + bVar18;
      *pcVar9 = *pcVar9 + cVar3;
      uVar15 = (undefined3)((uint)pcVar9 >> 8);
      piVar10 = (int *)CONCAT31(uVar15,cVar3 + '(');
      *piVar10 = *piVar10 + -0x5e80fa00;
      *(char *)piVar10 = (char)*piVar10 + cVar3 + '(';
      pcVar9 = (char *)CONCAT31(uVar15,cVar3 + 'H');
      puStack_8 = (uint *)((int)puVar28 + 1);
      pbVar27 = pbVar26 + 1;
      *(byte *)puVar28 = *pbVar26;
      *pcVar9 = *pcVar9 + cVar3 + 'H';
      pcVar9[0x4a] = pcVar9[0x4a] + bVar24;
      pcVar9 = pcVar9 + -0x7add05;
      bVar6 = (byte)pcVar9;
      bVar31 = SCARRY1(*pcVar9,bVar6);
      *pcVar9 = *pcVar9 + bVar6;
      bVar30 = *pcVar9 < '\0';
      bVar29 = *pcVar9 == '\0';
      puVar19 = puVar20;
      if (!bVar29 && bVar31 == bVar30) break;
      *pcVar9 = *pcVar9 + bVar6;
      bVar29 = 0xe5 < bVar6;
      while( true ) {
        puVar21 = uStack_28;
        puVar19 = (uint *)((int)puVar20 + -1);
        bVar30 = SCARRY4(*(int *)pbVar27,(int)uStack_28);
        pbVar26 = (byte *)(*(int *)pbVar27 + (int)uStack_28);
        *(byte **)pbVar27 = pbVar26 + bVar29;
        uStack_28 = (uint *)CONCAT22(uStack_28._2_2_,in_SS);
        puVar28 = uStack_28;
        if (*(int *)pbVar27 != 0 &&
            (bVar30 != SCARRY4((int)pbVar26,(uint)bVar29)) == *(int *)pbVar27 < 0) break;
        *(byte *)puVar21 = (byte)*puVar21 + (char)puVar21;
        bVar7 = (char)puVar21 + 0x20;
        pbVar12 = (byte *)CONCAT31((int3)((uint)puVar21 >> 8),bVar7);
        pbVar26 = pbVar27 + 1;
        *(byte *)puStack_8 = *pbVar27;
        *pbVar12 = *pbVar12 + bVar7;
        pbVar12[0x4a] = pbVar12[0x4a] + bVar24;
        *piVar25 = *piVar25 - (int)pbVar17;
        bVar6 = *pbVar12;
        *pbVar12 = *pbVar12 + bVar7;
        *piVar25 = (int)((int)puVar19 + (uint)CARRY1(bVar6,bVar7) + *piVar25);
        pbVar12 = pbVar12 + 0x22d0511;
        puVar21 = (uint *)((int)puVar20 + -2);
        *pbVar12 = *pbVar12 + (char)pbVar12;
        iVar13 = CONCAT31((int3)((uint)pbVar12 >> 8),(char)pbVar12 + '\x17') + -0x4a7e33;
        *(byte *)((int)uStack_28 + (int)puVar21) =
             *(byte *)((int)uStack_28 + (int)puVar21) + (char)iVar13;
        *(char *)puVar21 = *(char *)puVar21;
        puVar19 = puRam28040000;
        cVar3 = (char)puRam28040000;
        *pbVar26 = *pbVar26 + cVar3;
        *pbVar26 = *pbVar26 + 1;
        *pbVar26 = *pbVar26 + cVar3;
        cVar22 = (char)((uint)puVar21 >> 8);
        *(char *)puVar21 = *(char *)puVar21 - cVar22;
        uVar15 = (undefined3)((uint)puVar19 >> 8);
        cVar5 = cVar3 + (byte)*puVar19;
        pbVar12 = (byte *)CONCAT31(uVar15,cVar5);
        uStack_28._2_2_ = (undefined2)((uint)iVar13 >> 0x10);
        uStack_28 = (uint *)CONCAT22(uStack_28._2_2_,uVar2);
        if (cVar5 == '\0' || SCARRY1(cVar3,(byte)*puVar19) != cVar5 < '\0') {
          pbVar27[2] = pbVar27[2] + cVar22;
code_r0x10005ac2:
          bVar4 = *pbVar12;
          bVar18 = (byte)pbVar12;
          *pbVar12 = *pbVar12 + bVar18;
          *(uint *)pbVar12 = (*(int *)pbVar12 - (int)pbVar12) - (uint)CARRY1(bVar4,bVar18);
          *pbVar12 = *pbVar12 + bVar18;
          uStack_44 = (undefined1)in_SS;
          *(uint *)pbVar17 = CONCAT13(uStack_44,CONCAT12(uStack_45,uStack_47));
          *pbVar12 = *pbVar12 + bVar18;
          unaff_EBP = pbVar12;
code_r0x10005acd:
          cVar3 = (char)unaff_EBP;
          *unaff_EBP = *unaff_EBP + cVar3;
          *(byte *)puVar28 = (byte)*puVar28 + cVar3;
          *pbVar17 = *pbVar17 + cVar3;
          *unaff_EBP = *unaff_EBP + cVar3;
          *unaff_EBP = *unaff_EBP;
          pbVar17[(int)unaff_EBP] = pbVar17[(int)unaff_EBP] + (char)((uint)puVar21 >> 8);
          *unaff_EBP = *unaff_EBP + cVar3;
          piVar10 = (int *)CONCAT22((short)((uint)unaff_EBP >> 0x10),CONCAT11(1,cVar3));
          *(char *)piVar10 = (char)*piVar10 + cVar3;
          pcVar9 = (char *)((int)piVar10 + *piVar10);
          *pcVar9 = *pcVar9 + (char)pcVar9;
          *pcVar9 = *pcVar9 + (char)pcVar9;
          pcVar1 = (code *)swi(3);
          puVar14 = (undefined *)(*pcVar1)();
          return puVar14;
        }
        *pbVar12 = *pbVar12 + cVar5;
        cVar3 = cVar5 + '\x1f';
        *(byte *)(puVar28 + -0x20) = (byte)puVar28[-0x20] + 1;
        puVar20 = (uint *)((int)puVar20 + -3);
        *(char *)CONCAT31(uVar15,cVar3) = *(char *)CONCAT31(uVar15,cVar3) + cVar3;
        bVar6 = cVar5 - 5;
        if (bVar6 == 0 || cVar3 < '$') {
          *(char *)CONCAT31(uVar15,bVar6) = *(char *)CONCAT31(uVar15,bVar6) + bVar6;
          pcVar9 = (char *)(CONCAT31(uVar15,cVar5 + 'y') | 0x7f040003);
          *pcVar9 = *pcVar9 + (char)pcVar9;
          uVar15 = (undefined3)((uint)pcVar9 >> 8);
          bVar18 = (char)pcVar9 + 8;
          *pbVar26 = *pbVar26 - cVar16;
          *(char *)CONCAT31(uVar15,bVar18) = *(char *)CONCAT31(uVar15,bVar18) + bVar18;
          bVar24 = bVar24 | (byte)((uint)puVar20 >> 8);
          puVar21 = (uint *)((int)puVar20 + *(int *)pbVar26);
          cVar3 = (bVar18 | 0xdc) + 0xc;
          *puVar21 = *puVar21 | (uint)unaff_EBP;
          pbVar17[0x4c] = pbVar17[0x4c] + cVar3;
          *(char *)CONCAT31(uVar15,cVar3) = *(char *)CONCAT31(uVar15,cVar3) + cVar3;
          *(char *)CONCAT31(uVar15,cVar3) = *(char *)CONCAT31(uVar15,cVar3) + cVar3;
          bVar18 = (byte)unaff_EBP;
          *unaff_EBP = *unaff_EBP + bVar18;
          *pbVar17 = *pbVar17 + bVar24;
          *unaff_EBP = *unaff_EBP + bVar18;
          pbVar27[0xe000001] = pbVar27[0xe000001] + bVar4;
          *unaff_EBP = *unaff_EBP + bVar18;
          *(byte *)puVar28 = (byte)*puVar28 + bVar18;
          *pbVar17 = *pbVar17 + bVar18;
          bVar4 = *unaff_EBP;
          *unaff_EBP = *unaff_EBP + bVar18;
          pbVar12 = unaff_EBP;
          if (CARRY1(bVar4,bVar18) || *unaff_EBP == 0) {
            *pbVar17 = *pbVar17 + bVar24;
            *unaff_EBP = *unaff_EBP + bVar18;
            *(byte *)((int)puVar28 + 0xe000001) = *(byte *)((int)puVar28 + 0xe000001) + cVar16;
            goto code_r0x10005acd;
          }
          goto code_r0x10005ac2;
        }
        pbVar27 = (byte *)((int)puVar20 + (int)piVar25);
        bVar29 = CARRY1(*pbVar27,bVar6);
        *pbVar27 = *pbVar27 + bVar6;
        pbVar27 = pbVar26;
        puStack_8 = puVar28;
      }
    }
  }
  goto code_r0x10005968;
}


Connect at 10007954

Signature: char * __fastcall Connect(int param_1, uint * param_2)


char * __fastcall Connect(int param_1,uint *param_2)

{
  code *pcVar1;
  byte bVar2;
  char cVar3;
  uint in_EAX;
  int *piVar4;
  char *pcVar6;
  uint *unaff_EBX;
  byte *pbVar5;
  
                    /* .NET CLR Managed Code */
  piVar4 = (int *)(in_EAX | *param_2);
  if ((POPCOUNT((uint)piVar4 & 0xff) & 1U) == 0) {
    bVar2 = (char)((int)piVar4 + *piVar4) + 2;
    pbVar5 = (byte *)CONCAT31((int3)((uint)((int)piVar4 + *piVar4) >> 8),bVar2);
    *pbVar5 = *pbVar5 ^ bVar2;
    *(char *)param_2 = (char)*param_2 + (char)param_1;
    pcVar1 = (code *)swi(3);
    pcVar6 = (char *)(*pcVar1)();
    return pcVar6;
  }
  *unaff_EBX = *unaff_EBX & (uint)piVar4;
  *(char *)((int)param_2 + param_1) = *(char *)((int)param_2 + param_1) + (char)piVar4;
  cVar3 = (char)piVar4 + -6;
  pcVar6 = (char *)CONCAT31((int3)((uint)piVar4 >> 8),cVar3);
  *(char *)param_2 = (char)*param_2 - (char)((uint)param_2 >> 8);
  *pcVar6 = *pcVar6 + cVar3;
  pcVar1 = (code *)swi(3);
  pcVar6 = (char *)(*pcVar1)();
  return pcVar6;
}


SetNamespace at 1000bcc0

Signature: void __fastcall SetNamespace(int bstrNamespace, int param_2)


/* WARNING: Instruction at (ram,0x1000bcea) overlaps instruction at (ram,0x1000bce8)
    */

void __fastcall SetNamespace(int bstrNamespace,int param_2)

{
  byte *pbVar1;
  int iVar2;
  code *pcVar3;
  byte bVar4;
  undefined4 in_EAX;
  undefined3 uVar7;
  int *piVar5;
  char *pcVar6;
  byte bVar8;
  int unaff_EBP;
  uint *unaff_ESI;
  int unaff_EDI;
  
                    /* .NET CLR Managed Code */
  uVar7 = (undefined3)((uint)in_EAX >> 8);
  bVar4 = (char)in_EAX + 0x58;
  if ((POPCOUNT(bVar4 | 2) & 1U) == 0) {
    iVar2 = (CONCAT31(uVar7,(bVar4 | 2) + 0x44) | 0xd16022b) + *(int *)(bstrNamespace + param_2);
    piVar5 = (int *)CONCAT31((int3)((uint)iVar2 >> 8),(char)iVar2 + '-');
    unaff_EBP = unaff_EBP + *piVar5;
    piRam0c060002 = piVar5;
  }
  else {
    *(byte *)unaff_ESI = (byte)*unaff_ESI + (bVar4 | 2);
    piVar5 = (int *)(CONCAT31(uVar7,bVar4) | 2);
    if ((POPCOUNT(bVar4 | 2) & 1U) != 0) {
      out(*unaff_ESI,(short)param_2);
      pcVar6 = (char *)CONCAT31((int3)((uint)((int)piVar5 + *piVar5) >> 8),(byte)unaff_ESI[1]);
      *pcVar6 = *pcVar6 + (byte)unaff_ESI[1];
      pcVar3 = (code *)swi(3);
      (*pcVar3)();
      return;
    }
  }
  bVar4 = (char)piVar5 + 0xbU | (byte)*unaff_ESI;
  bVar8 = (byte)((uint)bstrNamespace >> 8);
  *(byte *)unaff_ESI = (byte)*unaff_ESI | bVar8;
  *unaff_ESI = *unaff_ESI | CONCAT31((int3)((uint)piVar5 >> 8),bVar4);
  *(char *)(unaff_EDI + 2) = *(char *)(unaff_EDI + 2) - bVar8;
  *(byte *)unaff_ESI = (byte)*unaff_ESI + bVar4;
  pbVar1 = (byte *)(param_2 + -0x35 + unaff_EBP);
  *pbVar1 = *pbVar1 | (char)param_2 - 1U;
  pcVar3 = (code *)swi(3);
  (*pcVar3)();
  return;
}


AddProxy at 1000bd30

Signature: int __fastcall AddProxy(byte * dataClientProxy, uint * param_2, ushort param_3)


/* WARNING: Instruction at (ram,0x1000bd62) overlaps instruction at (ram,0x1000bd61)
    */

int __fastcall AddProxy(byte *dataClientProxy,uint *param_2,ushort param_3)

{
  uint uVar1;
  code *pcVar3;
  byte bVar4;
  byte bVar5;
  char cVar6;
  char cVar7;
  byte bVar15;
  undefined4 in_EAX;
  int iVar8;
  int iVar9;
  undefined3 uVar16;
  uint *puVar10;
  uint uVar11;
  int iVar12;
  char *pcVar13;
  byte *pbVar14;
  byte bVar17;
  char cVar19;
  char *pcVar18;
  byte bVar20;
  undefined2 uVar21;
  byte bVar22;
  char *unaff_EBX;
  undefined3 uVar24;
  int unaff_EBP;
  char *unaff_ESI;
  char *pcVar25;
  byte *pbVar26;
  byte *unaff_EDI;
  ushort in_ES;
  byte in_CF;
  byte in_AF;
  char *unaff_retaddr;
  uint uVar2;
  char *pcVar23;
  
                    /* .NET CLR Managed Code */
  bVar5 = (byte)in_EAX + 10;
  iVar8 = CONCAT31((int3)((uint)in_EAX >> 8),bVar5 + in_CF);
  uVar11 = (uint)(0xf5 < (byte)in_EAX || CARRY1(bVar5,in_CF));
  iVar12 = iVar8 + 0x3e2c020b;
  iVar9 = iVar12 + uVar11;
  bVar5 = (byte)iVar9;
  if (iVar9 == 0 || (SCARRY4(iVar8,0x3e2c020b) != SCARRY4(iVar12,uVar11)) != iVar9 < 0) {
    *(char *)(iVar9 * 2) = *(char *)(iVar9 * 2) - bVar5;
code_r0x1000bd5c:
    *unaff_retaddr = *unaff_retaddr + -4;
    bVar5 = (byte)unaff_retaddr;
    unaff_ESI[(int)unaff_EBX * 8] = unaff_ESI[(int)unaff_EBX * 8] + bVar5;
    out(*(undefined4 *)unaff_ESI,(short)param_2);
    *unaff_retaddr = *unaff_retaddr + bVar5;
    unaff_EBX = (char *)CONCAT31((int3)((uint)unaff_EBX >> 8),
                                 (byte)unaff_EBX | (byte)((uint)unaff_retaddr >> 8));
    pcVar13 = (char *)(uint)param_3;
    pcVar25 = unaff_ESI + 8;
    out(*(undefined4 *)(unaff_ESI + 4),(short)param_2);
    unaff_EDI = unaff_EDI + 2;
    *unaff_retaddr = *unaff_retaddr + bVar5;
    uVar16 = (undefined3)((uint)unaff_retaddr >> 8);
    bVar5 = bVar5 | *unaff_EDI;
    pbVar26 = (byte *)CONCAT31(uVar16,bVar5);
    dataClientProxy = dataClientProxy + 1;
    cVar6 = (bVar5 - *pbVar26) - (bVar5 < *pbVar26);
    pbVar26 = (byte *)CONCAT31(uVar16,cVar6);
    *(char *)((int)pbVar26 * 2) = *(char *)((int)pbVar26 * 2) + cVar6;
    in_ES = param_3;
  }
  else {
    uVar16 = (undefined3)((uint)iVar9 >> 8);
    bVar4 = bVar5 + 0x73;
    *unaff_EBX = (*unaff_EBX - bVar4) - (0x8c < bVar5);
    *unaff_ESI = *unaff_ESI + bVar4;
    bVar4 = bVar4 | 8;
    unaff_EBX = (char *)CONCAT22((short)((uint)unaff_EBX >> 0x10),
                                 CONCAT11((byte)((uint)unaff_EBX >> 8) | unaff_ESI[0x27],
                                          (char)unaff_EBX));
    pcVar25 = (char *)(CONCAT31(uVar16,bVar4 + 0x7e) * 2);
    *pcVar25 = *pcVar25 - (bVar4 + 0x7e);
    pbVar26 = (byte *)CONCAT31(uVar16,bVar4 + 0x80);
    pcVar25 = unaff_ESI + 4;
    out(*(undefined4 *)unaff_ESI,(short)param_2);
    param_2 = (uint *)((uint)param_2 & 0xffffff00);
    uVar11 = *param_2;
    *(char *)param_2 = (char)*param_2 + (char)dataClientProxy;
    pcVar13 = unaff_retaddr;
    if ((char)*param_2 != '\0' &&
        SCARRY1((char)uVar11,(char)dataClientProxy) == (char)*param_2 < '\0') {
      puVar10 = (uint *)CONCAT31(uVar16,bVar4 + 0x8b);
      unaff_ESI = pcVar25;
      if ((byte)(bVar4 + 0x8b) == '\0' || (char)(bVar4 + 0x80) < -0xb) goto code_r0x1000bd84;
      goto code_r0x1000bd5c;
    }
  }
  bVar5 = *pbVar26;
  bVar4 = (byte)pbVar26;
  *pbVar26 = *pbVar26 + bVar4;
  cVar6 = bVar4 + *pbVar26 + CARRY1(bVar5,bVar4);
  puVar10 = (uint *)CONCAT31((int3)((uint)pbVar26 >> 8),cVar6);
  *(char *)puVar10 = (char)*puVar10 + cVar6;
code_r0x1000bd84:
  cVar6 = (char)puVar10;
  *(char *)puVar10 = (char)*puVar10 + cVar6;
  *(char *)puVar10 = (char)*puVar10 + (char)((uint)unaff_EBX >> 8);
  *(char *)puVar10 = (char)*puVar10 + cVar6;
  *unaff_EDI = *unaff_EDI + cVar6;
  *(char *)puVar10 = (char)*puVar10 + cVar6;
  *unaff_EBX = *unaff_EBX + (char)((uint)puVar10 >> 8);
  *dataClientProxy = *dataClientProxy + cVar6;
  pcVar25 = (char *)((uint)pcVar25 | *puVar10);
  uVar16 = (undefined3)((uint)puVar10 >> 8);
  cVar6 = cVar6 + (char)*puVar10;
  *(char *)CONCAT31(uVar16,cVar6) = *(char *)CONCAT31(uVar16,cVar6) + cVar6;
  bVar20 = (byte)param_2;
  *(char *)(unaff_EBP + 1) = *(char *)(unaff_EBP + 1) + bVar20;
  bVar5 = *dataClientProxy;
  *dataClientProxy = *dataClientProxy + bVar20;
  bVar4 = cVar6 + '\n' + CARRY1(bVar5,bVar20);
  pbVar26 = (byte *)CONCAT31(uVar16,bVar4);
  uVar21 = SUB42(param_2,0);
  bVar17 = (byte)dataClientProxy;
  if (bVar4 != 0 &&
      (SCARRY1(cVar6,'\n') != SCARRY1(cVar6 + '\n',CARRY1(bVar5,bVar20))) == (char)bVar4 < '\0') {
    cVar6 = bVar4 + 0x73;
    *unaff_EBX = (*unaff_EBX - cVar6) - (0x8c < bVar4);
    *pcVar25 = *pcVar25 + cVar6;
    uVar11 = CONCAT31(uVar16,cVar6) | 0x277e0a09;
    pcVar18 = pcVar25 + 4;
    out(*(undefined4 *)pcVar25,uVar21);
    uVar11 = CONCAT22((short)(uVar11 >> 0x10),(ushort)(byte)((char)uVar11 + 2));
    *(byte *)param_2 = (char)*param_2 + bVar17;
    iVar12 = uVar11 + 0x81e221fe;
    bVar4 = (byte)iVar12;
    bVar5 = 9 < (bVar4 & 0xf) | in_AF;
    bVar4 = bVar4 + bVar5 * '\x06';
    pcVar25 = pcVar25 + 8;
    out(*(undefined4 *)pcVar18,uVar21);
    *(byte *)param_2 = (char)*param_2 + bVar17;
    pbVar26 = (byte *)(CONCAT31((int3)((uint)iVar12 >> 8),
                                bVar4 + (0x90 < (bVar4 & 0xf0) |
                                        uVar11 < 0x7e1dde02 | bVar5 * (0xf9 < bVar4)) * '`' + '\x02'
                               ) & 0xffff00ff | 0xde);
    in_ES = (ushort)pcVar13;
  }
  out(*(undefined4 *)pcVar25,uVar21);
  bVar4 = (byte)pbVar26;
  *pbVar26 = *pbVar26 + bVar4;
  bVar15 = (byte)((uint)pbVar26 >> 8);
  uVar24 = (undefined3)((uint)unaff_EBX >> 8);
  out(*(undefined4 *)(pcVar25 + 4),uVar21);
  *pbVar26 = *pbVar26 + bVar4;
  bVar5 = *pbVar26;
  uVar16 = (undefined3)((uint)pbVar26 >> 8);
  bVar4 = (bVar4 - *pbVar26) + '\v' + (bVar4 < *pbVar26);
  pcVar13 = (char *)CONCAT31(uVar16,bVar4);
  out(*(undefined4 *)(pcVar25 + 8),uVar21);
  *pcVar13 = *pcVar13 + bVar4;
  bVar22 = (byte)unaff_EBX | bVar15 | bVar15;
  pcVar23 = (char *)CONCAT31(uVar24,bVar22);
  out(*(undefined4 *)(pcVar25 + 0xc),uVar21);
  pbVar26 = unaff_EDI + 3;
  *pcVar13 = *pcVar13 + bVar4;
  cVar6 = (bVar4 | *pbVar26) - *(char *)CONCAT31(uVar16,bVar4 | *pbVar26);
  pcVar18 = (char *)(CONCAT31((int3)((uint)dataClientProxy >> 8),bVar17 | bVar5) + 1);
  pcVar13 = (char *)CONCAT31(uVar16,cVar6);
  *(char *)((int)pcVar13 * 2) = *(char *)((int)pcVar13 * 2) + cVar6;
  *pcVar13 = *pcVar13 + cVar6;
  pcVar13 = (char *)((uint)pcVar13 | 0x1f000000);
  *pcVar13 = *pcVar13 + cVar6;
  cVar19 = (char)((uint)pcVar18 >> 8);
  *(char *)((int)pcVar13 * 2) = *(char *)((int)pcVar13 * 2) + cVar19;
  *pcVar13 = *pcVar13 + cVar6;
  *pcVar13 = *pcVar13 + cVar6;
  *pcVar23 = *pcVar23 + bVar15;
  *pcVar18 = *pcVar18 + cVar6;
  uVar16 = (undefined3)((uint)pcVar13 >> 8);
  pcVar13 = (char *)CONCAT31(uVar16,cVar6);
  *pcVar13 = *pcVar13 + cVar6;
  *pcVar13 = *pcVar13 + cVar6;
  pcVar13 = (char *)CONCAT31(uVar16,cVar6);
  *pcVar13 = *pcVar13 + cVar6;
  pbVar14 = (byte *)(pcVar13 + 1);
  bVar5 = (byte)pbVar14;
  *pbVar14 = *pbVar14 + bVar5;
  *pbVar26 = *pbVar26 + bVar5;
  *pbVar14 = *pbVar14 + bVar5;
  *pcVar23 = *pcVar23 + (char)((uint)pbVar14 >> 8);
  *pcVar18 = *pcVar18 + bVar5;
  pbVar26 = (byte *)(pcVar25 + *(int *)pbVar14 + 0x10);
  uVar16 = (undefined3)((uint)pbVar14 >> 8);
  bVar5 = (bVar5 + *pbVar14) - CARRY1(bVar5,*pbVar14);
  puVar10 = (uint *)CONCAT31(uVar16,bVar5);
  *(byte *)puVar10 = (char)*puVar10 + bVar5;
  uVar11 = *puVar10;
  *puVar10 = (uint)(*puVar10 + (int)puVar10);
  uVar1 = *param_2;
  uVar2 = *param_2;
  *param_2 = (uint)((char *)(uVar2 + (int)puVar10) + CARRY4(uVar11,(uint)puVar10));
  cVar6 = *(char *)((int)puVar10 + 0x4a);
  *(char *)((int)puVar10 + 3) = *(char *)((int)puVar10 + 3) - bVar20;
  *pbVar26 = *pbVar26 + bVar5;
  cVar7 = (bVar5 | *pbVar26) - 0xe;
  pcVar25 = (char *)(CONCAT31(uVar24,(bVar22 - cVar6) -
                                     (CARRY4(uVar1,(uint)puVar10) ||
                                     CARRY4(uVar2 + (int)puVar10,(uint)CARRY4(uVar11,(uint)puVar10))
                                     )) + CONCAT31(uVar16,cVar7));
  *pcVar25 = *pcVar25 - (char)((uint)param_2 >> 8);
  *pbVar26 = *pbVar26 + cVar7;
  cRam2a060003 = cRam2a060003 - cVar19;
  pcVar3 = (code *)swi(3);
  iVar12 = (*pcVar3)(in_ES,pbVar26,in_ES,in_ES);
  return iVar12;
}


IsConnected at 1000c158

Signature: bool __fastcall IsConnected(uint * param_1, uint * param_2)


/* WARNING: Instruction at (ram,0x1000c3ac) overlaps instruction at (ram,0x1000c3a7)
    */

bool __fastcall IsConnected(uint *param_1,uint *param_2)

{
  char cVar1;
  char cVar2;
  byte bVar3;
  char cVar4;
  byte bVar5;
  char cVar6;
  uint *in_EAX;
  undefined3 uVar16;
  uint *puVar7;
  char *pcVar8;
  int *piVar10;
  char *pcVar11;
  uint *puVar12;
  byte *pbVar13;
  int iVar14;
  uint uVar15;
  uint *puVar17;
  int unaff_EBX;
  int *piVar18;
  int unaff_EBP;
  uint *unaff_ESI;
  uint *puVar19;
  uint *puVar20;
  uint *puVar21;
  undefined2 in_ES;
  undefined2 in_SS;
  byte in_AF;
  byte in_TF;
  byte in_IF;
  byte in_NT;
  byte in_AC;
  byte in_VIF;
  byte in_VIP;
  byte in_ID;
  uint *unaff_retaddr;
  uint *puStack_3c;
  undefined4 uStack_38;
  uint *puStack_34;
  uint *puStack_20;
  uint *puStack_1c;
  uint *puStack_18;
  uint *puVar9;
  
                    /* .NET CLR Managed Code */
  piVar18 = (int *)CONCAT22((short)((uint)unaff_EBX >> 0x10),
                            CONCAT11((char)((uint)unaff_EBX >> 8) + *(char *)(unaff_EBX + 0x20),
                                     (char)unaff_EBX));
code_r0x1000c15b:
  uVar16 = (undefined3)((uint)in_EAX >> 8);
  cVar1 = (char)in_EAX + '9';
  piVar10 = (int *)CONCAT31(uVar16,cVar1);
  *piVar10 = (int)(*piVar10 + (int)piVar10);
  *(char *)((int)unaff_ESI + 0x4a) = *(char *)((int)unaff_ESI + 0x4a) + (char)((uint)piVar18 >> 8);
  *(char *)piVar10 = (char)*piVar10 + cVar1;
  puVar7 = (uint *)CONCAT31(uVar16,(char)in_EAX + 'P');
  puVar20 = unaff_retaddr;
code_r0x1000c169:
  unaff_retaddr = (uint *)((int)puVar7 + -0x4a7e33);
  *(char *)((int)puVar20 + (int)param_2) =
       *(char *)((int)puVar20 + (int)param_2) + (char)unaff_retaddr;
  *(char *)param_2 = (char)*param_2;
  in_EAX = puRam28040000;
  puStack_1c = puVar20;
  puStack_18 = unaff_ESI;
code_r0x1000c180:
  cVar1 = (char)in_EAX;
  *(char *)unaff_ESI = (char)*unaff_ESI + cVar1;
  *(char *)unaff_ESI = (char)*unaff_ESI + '\x01';
  *(char *)unaff_ESI = (char)*unaff_ESI + cVar1;
  *(char *)param_2 = (char)*param_2 - (char)((uint)param_2 >> 8);
  cVar2 = cVar1 + (char)*in_EAX;
  pcVar11 = (char *)CONCAT31((int3)((uint)in_EAX >> 8),cVar2);
  puStack_20 = (uint *)CONCAT22(puStack_20._2_2_,in_ES);
  puVar9 = puVar20;
  if (cVar2 == '\0' || SCARRY1(cVar1,(char)*in_EAX) != cVar2 < '\0') goto code_r0x1000c1dd;
  *pcVar11 = *pcVar11 + cVar2;
  puVar17 = param_2;
code_r0x1000c195:
  uVar16 = (undefined3)((uint)pcVar11 >> 8);
  cVar1 = (char)pcVar11 + '\x1f';
  pcVar8 = (char *)CONCAT31(uVar16,cVar1);
  *(char *)(puVar20 + -0x20) = (char)puVar20[-0x20] + '\x01';
  param_2 = (uint *)((int)puVar17 + -1);
  *pcVar8 = *pcVar8 + cVar1;
  cVar2 = (char)pcVar11 + -5;
  piVar10 = (int *)CONCAT31(uVar16,cVar2);
  if (cVar2 != '\0' && '#' < cVar1) {
    bVar5 = (byte)(char *)((int)piVar10 + *piVar10);
    bVar3 = bVar5 + 0xd;
    puVar9 = (uint *)CONCAT31((int3)((uint)((int)piVar10 + *piVar10) >> 8),bVar3);
    if (bVar3 != 0 && -0xe < (char)bVar5) {
      *(ushort *)puVar9 =
           (ushort)*puVar9 + (ushort)(0xf2 < bVar5) * (((ushort)puVar9 & 3) - ((ushort)*puVar9 & 3))
      ;
      *(byte *)param_1 = (char)*param_1 + bVar3;
      unaff_ESI = (uint *)((uint)unaff_ESI | *puVar9);
      in_EAX = puVar9 + 0x9940;
      pbVar13 = (byte *)((int)param_1 + (int)in_EAX);
      bVar3 = *pbVar13;
      *pbVar13 = *pbVar13 + (byte)piVar18;
      *param_2 = (uint)((int)in_EAX + (uint)CARRY1(bVar3,(byte)piVar18) + *param_2);
      if ((POPCOUNT(*param_2 & 0xff) & 1U) == 0) goto code_r0x1000c15b;
      *(char *)((int)in_EAX + unaff_EBP) = *(char *)((int)in_EAX + unaff_EBP) + (char)in_EAX;
      goto code_r0x1000c180;
    }
    *(byte *)puVar9 = (char)*puVar9 + bVar3;
    param_2 = (uint *)((int)puVar17 + -2);
    piVar10 = (int *)((int)puVar7 + (0xe5 < bVar3) + 0xa134dc00);
    *(char *)piVar10 = (char)*piVar10 + (char)piVar10;
  }
  puVar9 = (uint *)(CONCAT31((int3)((uint)piVar10 >> 8),(char)piVar10 + 'J') + -0xa17f13);
code_r0x1000c1bb:
  puStack_1c = puVar9;
  cVar1 = (char)puStack_1c;
  *(char *)((int)puStack_1c + unaff_EBP) = *(char *)((int)puStack_1c + unaff_EBP) + cVar1;
  uVar15 = *unaff_ESI;
  *(char *)unaff_ESI = (char)*unaff_ESI + cVar1;
  if ((char)*unaff_ESI != '\0' && SCARRY1((char)uVar15,cVar1) == (char)*unaff_ESI < '\0') {
    *(char *)((int)puVar20 + (int)param_2) = *(char *)((int)puVar20 + (int)param_2) + cVar1;
    puVar7 = puStack_1c;
    puVar20 = unaff_retaddr;
    goto code_r0x1000c169;
  }
  while( true ) {
    cVar1 = (char)puStack_1c;
    *(char *)puStack_1c = (char)*puStack_1c + cVar1;
    uVar16 = (undefined3)((uint)puStack_1c >> 8);
    bVar3 = cVar1 + 0x23;
    pcVar11 = (char *)CONCAT31(uVar16,bVar3);
    if (bVar3 != 0 && '&' < (char)(cVar1 + 'J')) {
      *pcVar11 = *pcVar11 + bVar3;
      puVar7 = (uint *)CONCAT31(uVar16,cVar1 + ':');
      puVar20 = unaff_retaddr;
      goto code_r0x1000c169;
    }
    *pcVar11 = *pcVar11 + bVar3;
    cVar2 = cVar1 + 'C';
    pcVar11 = (char *)CONCAT31(uVar16,cVar2);
    puStack_1c = (uint *)((uint)(in_NT & 1) * 0x4000 | (uint)SCARRY1(bVar3,' ') * 0x800 |
                          (uint)(in_IF & 1) * 0x200 | (uint)(in_TF & 1) * 0x100 |
                          (uint)(cVar2 < '\0') * 0x80 | (uint)(cVar2 == '\0') * 0x40 |
                          (uint)(in_AF & 1) * 0x10 | (uint)((POPCOUNT(cVar2) & 1U) == 0) * 4 |
                          (uint)(0xdf < bVar3) | (uint)(in_ID & 1) * 0x200000 |
                          (uint)(in_VIP & 1) * 0x100000 | (uint)(in_VIF & 1) * 0x80000 |
                         (uint)(in_AC & 1) * 0x40000);
    *pcVar11 = *pcVar11 + cVar2;
    pcVar11[0x4a] = pcVar11[0x4a] + (char)piVar18;
    cVar4 = cVar1 + '*';
    pcVar11 = (char *)CONCAT31(uVar16,cVar4);
    if (cVar4 != '\0' && '\x18' < cVar2) break;
    *pcVar11 = *pcVar11 + cVar4;
    puVar9 = puVar20;
code_r0x1000c1dd:
    puVar20 = puVar9;
    if (-0x1a < (char)pcVar11) {
      *(char *)unaff_ESI = (char)*unaff_ESI + '\x01';
      in_EAX = puStack_20;
      goto code_r0x1000c180;
    }
    bVar3 = (byte)puStack_20;
    *(byte *)puStack_20 = (char)*puStack_20 + bVar3;
    bVar5 = bVar3 + 0x20;
    pcVar11 = (char *)CONCAT31((int3)((uint)puStack_20 >> 8),bVar5);
    puStack_20 = (uint *)((uint)(in_NT & 1) * 0x4000 | (uint)SCARRY1(bVar3,' ') * 0x800 |
                          (uint)(in_IF & 1) * 0x200 | (uint)(in_TF & 1) * 0x100 |
                          (uint)((char)bVar5 < '\0') * 0x80 | (uint)(bVar5 == 0) * 0x40 |
                          (uint)(in_AF & 1) * 0x10 | (uint)((POPCOUNT(bVar5) & 1U) == 0) * 4 |
                          (uint)(0xdf < bVar3) | (uint)(in_ID & 1) * 0x200000 |
                          (uint)(in_VIP & 1) * 0x100000 | (uint)(in_VIF & 1) * 0x80000 |
                         (uint)(in_AC & 1) * 0x40000);
    *pcVar11 = *pcVar11 + bVar5;
    pcVar11[0x4a] = pcVar11[0x4a] + (char)piVar18;
    iVar14 = iRam26110000;
    iRam26110000 = iRam26110000 - (int)param_1;
    puVar17 = param_2;
    if (iRam26110000 != 0 && (int)param_1 <= iVar14) goto code_r0x1000c195;
    *pcVar11 = *pcVar11 + bVar5;
    param_2 = (uint *)((int)param_2 + -1);
    pcVar11 = (char *)((int)puStack_20 + (0xe5 < bVar5) + 0x873b);
    *(char *)((int)puVar9 + -0x5f) = *(char *)((int)puVar9 + -0x5f) + (char)((uint)piVar18 >> 8);
    cVar1 = (char)pcVar11;
    *pcVar11 = *pcVar11 + cVar1;
    uVar16 = (undefined3)((uint)pcVar11 >> 8);
    piVar10 = (int *)CONCAT31(uVar16,cVar1 + '(');
    *piVar10 = *piVar10 + -0x5e80fa00;
    *(char *)piVar10 = (char)*piVar10 + cVar1 + '(';
    pcVar11 = (char *)CONCAT31(uVar16,cVar1 + 'H');
    puVar20 = (uint *)((int)puVar9 + 1);
    *(char *)puVar9 = (char)*unaff_ESI;
    *pcVar11 = *pcVar11 + cVar1 + 'H';
    pcVar11[0x4a] = pcVar11[0x4a] + (char)piVar18;
    unaff_ESI = (uint *)((int)unaff_ESI + 1);
    while( true ) {
      cVar1 = (char)pcVar11 + -0x6f;
      puVar9 = (uint *)CONCAT31((int3)((uint)pcVar11 >> 8),cVar1);
      if (cVar1 != '\0' && 'n' < (char)pcVar11) goto code_r0x1000c1bb;
      *(char *)puVar9 = (char)*puVar9 + cVar1;
      param_2 = (uint *)((int)param_2 + -1);
      *unaff_ESI = *unaff_ESI | (uint)param_2;
      if (0 < (int)*unaff_ESI) break;
      cVar1 = (char)puStack_1c;
      *(char *)puStack_1c = (char)*puStack_1c + cVar1;
      uVar16 = (undefined3)((uint)puStack_1c >> 8);
      bVar5 = cVar1 + 0x20;
      pbVar13 = (byte *)CONCAT31(uVar16,bVar5);
      puVar9 = (uint *)((int)unaff_ESI + 1);
      *(char *)puVar20 = (char)*unaff_ESI;
      *pbVar13 = *pbVar13 + bVar5;
      pbVar13[0x4a] = pbVar13[0x4a] + (char)piVar18;
      *piVar18 = *piVar18 - (int)param_1;
      bVar3 = *pbVar13;
      *pbVar13 = *pbVar13 + bVar5;
      *(uint *)(pbVar13 + (int)param_1) =
           (int)param_1 + (uint)CARRY1(bVar3,bVar5) + *(int *)(pbVar13 + (int)param_1);
      cVar2 = cVar1 + -0x30;
      pbVar13 = (byte *)CONCAT31(uVar16,cVar2);
      if (cVar2 == '\0' || (char)bVar5 < 'P') goto code_r0x1000c283;
      *pbVar13 = *pbVar13 + cVar2;
      puVar12 = (uint *)(CONCAT31(uVar16,cVar1 + -0x19) + -0x4a7e33);
      *(char *)((int)puStack_18 + (int)param_2) =
           *(char *)((int)puStack_18 + (int)param_2) + (char)puVar12;
      puStack_34 = puStack_18;
      *(char *)param_2 = *(char *)param_2;
      puVar20 = puRam28040000;
      cVar1 = (char)puRam28040000;
      *(char *)puVar9 = *(char *)puVar9 + cVar1;
      *(char *)puVar9 = *(char *)puVar9 + '\x01';
      *(char *)puVar9 = *(char *)puVar9 + cVar1;
      *(char *)param_2 = *(char *)param_2 - (char)((uint)param_2 >> 8);
      uVar16 = (undefined3)((uint)puVar20 >> 8);
      cVar2 = cVar1 + (char)*puVar20;
      puVar17 = (uint *)CONCAT31(uVar16,cVar2);
      uStack_38 = (uint *)CONCAT22(uStack_38._2_2_,in_ES);
      puVar19 = puStack_18;
      puStack_20 = param_2;
      puStack_1c = param_1;
      if (cVar2 == '\0' || SCARRY1(cVar1,(char)*puVar20) != cVar2 < '\0') goto code_r0x1000c2b1;
      *(char *)puVar17 = (char)*puVar17 + cVar2;
      pcVar11 = (char *)CONCAT31(uVar16,cVar2 + '\x1f');
      *(char *)(puStack_18 + -0x20) = (char)puStack_18[-0x20] + '\x01';
      puVar20 = puStack_18;
      puStack_18 = puVar12;
code_r0x1000c26e:
      param_2 = (uint *)((int)param_2 + -1);
      cVar1 = (char)pcVar11;
      *pcVar11 = *pcVar11 + cVar1;
      uVar16 = (undefined3)((uint)pcVar11 >> 8);
      bVar3 = cVar1 - 0x24;
      pcVar11 = (char *)CONCAT31(uVar16,bVar3);
      unaff_ESI = puVar9;
      if (bVar3 == 0 || cVar1 < '$') {
        *pcVar11 = *pcVar11 + bVar3;
        pbVar13 = (byte *)(CONCAT31(uVar16,cVar1 + 'Z') + *piVar18 + (uint)(0x81 < bVar3));
        *(char *)((int)puVar20 * 3) = *(char *)((int)puVar20 * 3) + (char)pbVar13;
code_r0x1000c283:
        uVar16 = (undefined3)((uint)pbVar13 >> 8);
        bVar3 = (byte)pbVar13 | *pbVar13;
        pcVar11 = (char *)CONCAT31(uVar16,bVar3);
        *(char *)param_2 = (char)*param_2 + (char)param_1;
        puStack_34 = (uint *)CONCAT22(puStack_34._2_2_,in_SS);
        piVar18 = (int *)CONCAT22((short)((uint)piVar18 >> 0x10),
                                  CONCAT11((char)((uint)piVar18 >> 8) -
                                           *(char *)((int)puVar9 + 0x4a),(char)piVar18));
        *pcVar11 = *pcVar11 + bVar3;
        puVar12 = (uint *)CONCAT31(uVar16,bVar3 + 0x17);
code_r0x1000c28f:
        do {
          *(char *)((int)puStack_34 + (int)param_2) =
               *(char *)((int)puStack_34 + (int)param_2) + (char)(uint *)((int)puVar12 + -0x4a7e33);
          *(char *)param_2 = (char)*param_2;
          puVar17 = puRam28040000;
          puVar19 = puStack_34;
          puStack_3c = param_2;
          uStack_38 = param_1;
          puStack_34 = (uint *)((int)puVar12 + -0x4a7e33);
code_r0x1000c2a6:
          *(char *)puVar9 = (char)*puVar9 + (char)puVar17;
          *(char *)puVar9 = (char)*puVar9 + '\x01';
          *(char *)puVar9 = (char)*puVar9 + (char)puVar17;
          *(char *)param_2 = (char)*param_2 - (char)((uint)param_2 >> 8);
          puVar12 = puStack_18;
code_r0x1000c2b1:
          puStack_18 = puVar12;
          cVar1 = (char)puVar17 + (char)*puVar17;
          pcVar11 = (char *)CONCAT31((int3)((uint)puVar17 >> 8),cVar1);
          puStack_3c = (uint *)CONCAT22(puStack_3c._2_2_,in_ES);
          cVar2 = (char)piVar18;
          if (cVar1 == '\0' || SCARRY1((char)puVar17,(char)*puVar17) != cVar1 < '\0')
          goto code_r0x1000c303;
          *pcVar11 = *pcVar11 + cVar1;
          puVar17 = param_2;
          puVar20 = puVar19;
code_r0x1000c2bb:
          uVar16 = (undefined3)((uint)pcVar11 >> 8);
          cVar1 = (char)pcVar11 + '\x1f';
          pcVar8 = (char *)CONCAT31(uVar16,cVar1);
          *(char *)(puVar20 + -0x20) = (char)puVar20[-0x20] + '\x01';
          param_2 = (uint *)((int)puVar17 + -1);
          *pcVar8 = *pcVar8 + cVar1;
          cVar4 = (char)pcVar11 + -5;
          piVar10 = (int *)CONCAT31(uVar16,cVar4);
          if (cVar4 != '\0' && '#' < cVar1) {
            cVar1 = (char)(char *)((int)piVar10 + *piVar10);
            bVar3 = cVar1 + 0xb;
            pcVar11 = (char *)CONCAT31((int3)((uint)((int)piVar10 + *piVar10) >> 8),bVar3);
            if (bVar3 != 0 && -0xc < cVar1) goto code_r0x1000c26e;
            *pcVar11 = *pcVar11 + bVar3;
            param_2 = (uint *)((int)puVar17 + -2);
            piVar10 = (int *)((int)puStack_3c + (0xe5 < bVar3) + 0xa17f5a33);
            *(char *)piVar10 = (char)*piVar10 + (char)piVar10;
          }
          puVar12 = (uint *)(CONCAT31((int3)((uint)piVar10 >> 8),(char)piVar10 + 'J') + -0xa17f13);
          *(char *)((int)puVar12 + unaff_EBP) = *(char *)((int)puVar12 + unaff_EBP) + (char)puVar12;
code_r0x1000c2e4:
          uVar15 = *puVar9;
          cVar1 = (char)puVar12;
          *(char *)puVar9 = (char)*puVar9 + cVar1;
          if ((char)*puVar9 == '\0' || SCARRY1((char)uVar15,cVar1) != (char)*puVar9 < '\0') {
            while( true ) {
              cVar1 = (char)puVar12;
              *(char *)puVar12 = (char)*puVar12 + cVar1;
              uVar16 = (undefined3)((uint)puVar12 >> 8);
              bVar3 = cVar1 + 0x23;
              pcVar11 = (char *)CONCAT31(uVar16,bVar3);
              if (bVar3 != 0 && '&' < (char)(cVar1 + 'J')) {
                *pcVar11 = *pcVar11 + bVar3;
                puVar12 = (uint *)CONCAT31(uVar16,cVar1 + ':');
                goto code_r0x1000c28f;
              }
              *pcVar11 = *pcVar11 + bVar3;
              cVar4 = cVar1 + 'C';
              pcVar11 = (char *)CONCAT31(uVar16,cVar4);
              puStack_3c = (uint *)((uint)(in_NT & 1) * 0x4000 | (uint)SCARRY1(bVar3,' ') * 0x800 |
                                    (uint)(in_IF & 1) * 0x200 | (uint)(in_TF & 1) * 0x100 |
                                    (uint)(cVar4 < '\0') * 0x80 | (uint)(cVar4 == '\0') * 0x40 |
                                    (uint)(in_AF & 1) * 0x10 |
                                    (uint)((POPCOUNT(cVar4) & 1U) == 0) * 4 | (uint)(0xdf < bVar3) |
                                    (uint)(in_ID & 1) * 0x200000 | (uint)(in_VIP & 1) * 0x100000 |
                                    (uint)(in_VIF & 1) * 0x80000 | (uint)(in_AC & 1) * 0x40000);
              *pcVar11 = *pcVar11 + cVar4;
              pcVar11[0x4a] = pcVar11[0x4a] + cVar2;
              cVar6 = cVar1 + '*';
              pcVar11 = (char *)CONCAT31(uVar16,cVar6);
              if (cVar6 != '\0' && '\x18' < cVar4) break;
              *pcVar11 = *pcVar11 + cVar6;
              puVar19 = puVar20;
code_r0x1000c303:
              if (-0x1a < (char)pcVar11) {
                *(char *)puVar9 = (char)*puVar9 + '\x01';
                puVar17 = puStack_3c;
                goto code_r0x1000c2a6;
              }
              bVar3 = (byte)puStack_3c;
              *(byte *)puStack_3c = (char)*puStack_3c + bVar3;
              bVar5 = bVar3 + 0x20;
              pcVar11 = (char *)CONCAT31((int3)((uint)puStack_3c >> 8),bVar5);
              puStack_3c = (uint *)((uint)(in_NT & 1) * 0x4000 | (uint)SCARRY1(bVar3,' ') * 0x800 |
                                    (uint)(in_IF & 1) * 0x200 | (uint)(in_TF & 1) * 0x100 |
                                    (uint)((char)bVar5 < '\0') * 0x80 | (uint)(bVar5 == 0) * 0x40 |
                                    (uint)(in_AF & 1) * 0x10 |
                                    (uint)((POPCOUNT(bVar5) & 1U) == 0) * 4 | (uint)(0xdf < bVar3) |
                                    (uint)(in_ID & 1) * 0x200000 | (uint)(in_VIP & 1) * 0x100000 |
                                    (uint)(in_VIF & 1) * 0x80000 | (uint)(in_AC & 1) * 0x40000);
              *pcVar11 = *pcVar11 + bVar5;
              pcVar11[0x4a] = pcVar11[0x4a] + cVar2;
              iVar14 = iRam26110000;
              iRam26110000 = iRam26110000 - (int)param_1;
              puVar17 = param_2;
              puVar20 = puVar19;
              if (iRam26110000 != 0 && (int)param_1 <= iVar14) goto code_r0x1000c2bb;
              *pcVar11 = *pcVar11 + bVar5;
              param_2 = (uint *)((int)param_2 + -1);
              pcVar11 = (char *)((int)puStack_3c + (0xe5 < bVar5) + 0x903b);
              cVar4 = (char)((uint)piVar18 >> 8);
              *(char *)((int)puVar19 + -0x5f) = *(char *)((int)puVar19 + -0x5f) + cVar4;
              cVar1 = (char)pcVar11;
              *pcVar11 = *pcVar11 + cVar1;
              uVar16 = (undefined3)((uint)pcVar11 >> 8);
              piVar10 = (int *)CONCAT31(uVar16,cVar1 + '(');
              *piVar10 = *piVar10 + -0x5e80fa00;
              *(char *)piVar10 = (char)*piVar10 + cVar1 + '(';
              puVar12 = (uint *)CONCAT31(uVar16,cVar1 + 'H');
              puVar20 = (uint *)((int)puVar19 + 1);
              *(char *)puVar19 = (char)*puVar9;
              *(char *)puVar12 = (char)*puVar12 + cVar1 + 'H';
              *(char *)((int)puVar12 + 0x4a) = *(char *)((int)puVar12 + 0x4a) + cVar2;
              puVar9 = (uint *)((int)puVar9 + 1);
              while( true ) {
                uVar15 = *puVar12;
                cVar1 = (char)puVar12;
                *(char *)puVar12 = (char)*puVar12 + cVar1;
                if ((char)*puVar12 != '\0' && SCARRY1((char)uVar15,cVar1) == (char)*puVar12 < '\0')
                goto code_r0x1000c2e4;
                *(char *)puVar12 = (char)*puVar12 + cVar1;
                puVar17 = (uint *)((int)param_2 + -1);
                in_ES = puStack_34._0_2_;
                puStack_34 = (uint *)CONCAT22(puStack_34._2_2_,in_SS);
                if (puVar17 != (uint *)0x0 && 0 < (int)param_2) break;
                cVar1 = (char)uStack_38;
                *(char *)uStack_38 = (char)*uStack_38 + cVar1;
                uVar16 = (undefined3)((uint)uStack_38 >> 8);
                bVar5 = cVar1 + 0x20;
                pbVar13 = (byte *)CONCAT31(uVar16,bVar5);
                puVar21 = (uint *)((int)puVar20 + 1);
                puVar19 = (uint *)((int)puVar9 + 1);
                *(char *)puVar20 = (char)*puVar9;
                *pbVar13 = *pbVar13 + bVar5;
                pbVar13[0x4a] = pbVar13[0x4a] + cVar2;
                *piVar18 = *piVar18 - (int)param_1;
                bVar3 = *pbVar13;
                *pbVar13 = *pbVar13 + bVar5;
                *puVar17 = (int)param_1 + (uint)CARRY1(bVar3,bVar5) + *puVar17;
                uStack_38 = (uint *)CONCAT22(uStack_38._2_2_,in_ES);
                puVar20 = uStack_38;
                cVar6 = cVar1 + -0x36;
                pbVar13 = (byte *)CONCAT31(uVar16,cVar6);
                if (cVar6 == '\0' || (char)bVar5 < 'V') {
                  if ((POPCOUNT(cVar6) & 1U) == 0) {
                    puVar12 = (uint *)CONCAT31(uVar16,cVar6);
                    goto code_r0x1000c39e;
                  }
                  *(char *)param_1 = (char)*param_1 + cVar4;
                  *pbVar13 = *pbVar13 + cVar6;
                  *(char *)puVar19 = *(char *)puVar19 + (char)param_1;
                  goto code_r0x1000c3d5;
                }
                *pbVar13 = *pbVar13 + cVar6;
                iVar14 = CONCAT31(uVar16,cVar1 + -0x1f) + -0x4a7e33;
                *(char *)((int)uStack_38 + (int)puVar17) =
                     *(char *)((int)uStack_38 + (int)puVar17) + (char)iVar14;
                *(char *)puVar17 = *(char *)puVar17;
                puVar9 = puRam28040000;
                cVar1 = (char)puRam28040000;
                *(char *)puVar19 = *(char *)puVar19 + cVar1;
                *(char *)puVar19 = *(char *)puVar19 + '\x01';
                *(char *)puVar19 = *(char *)puVar19 + cVar1;
                *(char *)puVar17 = *(char *)puVar17 - (char)((uint)puVar17 >> 8);
                uVar16 = (undefined3)((uint)puVar9 >> 8);
                cVar6 = cVar1 + (char)*puVar9;
                pbVar13 = (byte *)CONCAT31(uVar16,cVar6);
                uStack_38._2_2_ = (undefined2)((uint)iVar14 >> 0x10);
                uStack_38 = (uint *)CONCAT22(uStack_38._2_2_,in_ES);
                if (cVar6 == '\0' || SCARRY1(cVar1,(char)*puVar9) != cVar6 < '\0')
                goto code_r0x1000c3da;
                *pbVar13 = *pbVar13 + cVar6;
                cVar1 = cVar6 + '\x1f';
                *(char *)(puVar20 + -0x20) = (char)puVar20[-0x20] + '\x01';
                param_2 = (uint *)((int)param_2 + -2);
                *(char *)CONCAT31(uVar16,cVar1) = *(char *)CONCAT31(uVar16,cVar1) + cVar1;
                puVar12 = (uint *)CONCAT31(uVar16,cVar6 + -5);
                puVar17 = param_2;
                puVar9 = puVar19;
                puVar21 = puVar20;
                if ((char)(cVar6 + -5) == '\0' || cVar1 < '$') {
code_r0x1000c39e:
                  bVar3 = (byte)puVar12;
                  *(byte *)puVar12 = (char)*puVar12 + bVar3;
                  *(char *)((int)puVar21 * 3) =
                       *(char *)((int)puVar21 * 3) + bVar3 + 0x7e + (char)*piVar18 + (0x81 < bVar3);
                  uVar15 = *puVar17 * 0x7b020400;
                  puVar20 = (uint *)(*puVar17 * -0x9fbf800);
                  *puVar20 = *puVar20 & uVar15;
                  uVar16 = (undefined3)(uVar15 >> 8);
                  out(*(char *)puVar19,(short)puVar17);
                  *(char *)CONCAT31(uVar16,0x28) = *(char *)CONCAT31(uVar16,0x28) + '(';
                  bVar3 = (byte)*puVar17 | 0x28;
                  pbVar13 = (byte *)(CONCAT31(uVar16,(byte)*puVar17) | 0x28);
                  if ((POPCOUNT(bVar3) & 1U) == 0) {
                    bVar3 = bVar3 + 0x2a;
                    pcVar11 = (char *)CONCAT31(uVar16,bVar3);
                    *pcVar11 = *pcVar11 + bVar3;
                    *(byte *)(param_1 + 0x19) = (char)param_1[0x19] + bVar3;
                    *pcVar11 = *pcVar11 + bVar3;
                    pbVar13 = (byte *)CONCAT31(uVar16,bVar3);
                    *pbVar13 = *pbVar13 + bVar3;
                    *pbVar13 = *pbVar13 & bVar3;
                    bVar5 = *pbVar13;
                    *pbVar13 = *pbVar13 + bVar3;
                    *(uint *)pbVar13 = (*(int *)pbVar13 - (int)pbVar13) - (uint)CARRY1(bVar5,bVar3);
                    *pbVar13 = *pbVar13 + bVar3;
                    *pbVar13 = *pbVar13 + bVar3;
code_r0x1000c3d5:
                    *pbVar13 = *pbVar13 + (char)pbVar13;
                    *(char *)piVar18 = (char)*piVar18 + (char)((uint)pbVar13 >> 8);
                  }
code_r0x1000c3da:
                  *(char *)param_1 = (char)*param_1 + (char)pbVar13;
                  *pbVar13 = *pbVar13 + (char)pbVar13;
                  do {
                    /* WARNING: Do nothing block with infinite loop */
                  } while( true );
                }
              }
              param_2 = (uint *)((int)param_2 + -2);
              puVar12 = uStack_38;
            }
            puVar12 = (uint *)CONCAT31(uVar16,cVar1 + 'R');
          }
          else {
            *(char *)((int)puVar20 + (int)param_2) = *(char *)((int)puVar20 + (int)param_2) + cVar1;
          }
        } while( true );
      }
    }
  }
  in_EAX = (uint *)CONCAT31(uVar16,cVar1 + 'R');
  goto code_r0x1000c180;
}


CDataClientCLI.{ctor} at 1000cb74

Signature: pointer __fastcall CDataClientCLI.{ctor}(undefined4 param_1, char * param_2)


/* WARNING: Control flow encountered bad instruction data */
/* WARNING: Unable to track spacebase fully for stack */

undefined * __fastcall CDataClientCLI__ctor_(undefined4 param_1,char *param_2)

{
  char cVar1;
  int iVar2;
  int *piVar3;
  uint uVar4;
  byte *pbVar5;
  char *pcVar6;
  byte bVar7;
  char cVar8;
  undefined4 unaff_EBX;
  char *unaff_ESI;
  uint *unaff_EDI;
  undefined2 in_ES;
  undefined2 in_SS;
  int unaff_retaddr;
  undefined2 *puVar9;
  
                    /* .NET CLR Managed Code */
  cVar1 = *unaff_ESI;
  bVar7 = (byte)((uint)param_1 >> 8);
  *(char *)(unaff_retaddr + 0x26060002) = *(char *)(unaff_retaddr + 0x26060002) - bVar7;
  cVar8 = (char)unaff_EBX + cVar1 + (byte)*unaff_EDI;
  puVar9 = (undefined2 *)CONCAT31((int3)((uint)unaff_EBX >> 8),cVar8);
  uVar4 = *unaff_EDI;
  *puVar9 = in_SS;
  *(undefined2 **)(puVar9 + -2) = puVar9;
  cVar1 = *param_2;
  piVar3 = (int *)((*(uint *)(puVar9 + -2) | *unaff_EDI) + 0x2e731b54);
  iVar2 = *piVar3;
  puVar9[-2] = in_ES;
  pbVar5 = (byte *)((int)piVar3 + iVar2 | 7);
  *pbVar5 = *pbVar5 | bVar7;
  pbVar5 = pbVar5 + *(int *)pbVar5;
  puVar9[-4] = in_ES;
  *(undefined2 **)(puVar9 + -6) = puVar9 + -4;
  pcVar6 = (char *)CONCAT22((short)((uint)pbVar5 >> 0x10),
                            CONCAT11((char)((uint)pbVar5 >> 8) + *pbVar5,(char)pbVar5));
  *(byte *)unaff_EDI = (byte)*unaff_EDI << 1 | (char)(byte)*unaff_EDI < '\0';
  *pcVar6 = *pcVar6 + (char)pbVar5;
  *(undefined2 **)(puVar9 + -8) = puVar9 + -6;
  unaff_ESI[-1] = unaff_ESI[-1] + '\x01';
  *param_2 = *param_2 - (cVar8 + (byte)uVar4 + cVar1);
  puVar9[-6] = in_ES;
                    /* WARNING: Bad instruction - Truncating control flow here */
  halt_baddata();
}


CDataClientCLI.CreateConnection at 1000cd50

Signature: int __fastcall CDataClientCLI.CreateConnection(uint CDataClientCLI0, uint * bstrNameSpace)


/* WARNING: Control flow encountered bad instruction data */
/* WARNING: Unable to track spacebase fully for stack */

int __fastcall CDataClientCLI_CreateConnection(uint CDataClientCLI0,uint *bstrNameSpace)

{
  uint *puVar1;
  undefined2 *puVar2;
  int iVar3;
  byte bVar4;
  char cVar5;
  char cVar6;
  undefined4 in_EAX;
  undefined3 uVar10;
  int *piVar8;
  undefined4 *puVar9;
  char cVar12;
  int iVar11;
  char *pcVar13;
  undefined4 unaff_EBX;
  undefined3 uVar15;
  char *pcVar14;
  byte *unaff_ESI;
  int *unaff_EDI;
  undefined2 in_ES;
  undefined2 in_SS;
  undefined2 uVar16;
  char in_CF;
  bool bVar17;
  undefined4 *puStack_4;
  uint uVar7;
  
                    /* .NET CLR Managed Code */
  uVar10 = (undefined3)((uint)in_EAX >> 8);
  bVar4 = (char)in_EAX + '\n' + in_CF;
  uVar7 = CONCAT31(uVar10,bVar4);
  bRam13800040 = bRam13800040 & bVar4;
  *bstrNameSpace = *bstrNameSpace | uVar7;
  cVar6 = (char)unaff_EBX - *(char *)(uVar7 + 0x4a);
  uVar15 = (undefined3)((uint)unaff_EBX >> 8);
  *(char *)(uVar7 + 3) = *(char *)(uVar7 + 3) - (char)bstrNameSpace;
  *unaff_ESI = *unaff_ESI + bVar4;
  cVar5 = (bVar4 | *unaff_ESI) - 0x40;
  puStack_4 = (undefined4 *)CONCAT22(puStack_4._2_2_,in_ES);
  pcVar13 = (char *)(CONCAT31(uVar15,cVar6) + CONCAT31(uVar10,cVar5));
  *pcVar13 = *pcVar13 - (char)((uint)bstrNameSpace >> 8);
  *unaff_ESI = *unaff_ESI + cVar5;
  bVar4 = (byte)(CDataClientCLI0 >> 8);
  bVar17 = bRam02060003 < bVar4;
  bRam02060003 = bRam02060003 - bVar4;
  puVar1 = (uint *)*puStack_4;
  pcVar13 = (char *)((int)bstrNameSpace + -1);
  uVar7 = (uint)bVar17;
  iVar11 = CDataClientCLI0 + *puVar1 + uVar7;
  *puVar1 = *puVar1 + iVar11 +
            (uint)(CARRY4(CDataClientCLI0,*puVar1) || CARRY4(CDataClientCLI0 + *puVar1,uVar7));
  cVar5 = (byte)puVar1 - 0xd;
  piVar8 = (int *)CONCAT31((int3)((uint)puVar1 >> 8),cVar5);
  *piVar8 = *piVar8 + iVar11 + (uint)((byte)puVar1 < 0xd);
  cVar12 = (char)((uint)iVar11 >> 8);
  *(char *)((int)unaff_EDI + 2) = *(char *)((int)unaff_EDI + 2) - cVar12;
  *unaff_ESI = *unaff_ESI + cVar5;
  iVar3 = *unaff_EDI;
  puVar2 = (undefined2 *)puStack_4[1];
  *puVar2 = in_SS;
  *(undefined2 **)(puVar2 + -2) = puVar2;
  pcVar14 = (char *)CONCAT31(uVar15,cVar6 + (char)iVar3 + (char)*unaff_EDI);
  puVar1 = *(uint **)(puVar2 + -2);
  uVar7 = *puVar1;
  uRam54060002 = uVar7;
  *(undefined2 *)puVar1 = in_ES;
  puVar9 = (undefined4 *)(uVar7 ^ 0x6060003);
  pcVar14[(int)puVar9] = pcVar14[(int)puVar9] - cVar12;
  cVar6 = (char)puVar9;
  *unaff_ESI = *unaff_ESI + cVar6;
  iVar3 = -*unaff_EDI;
  pcVar14[0x28060000] = pcVar14[0x28060000] - cVar6;
  *puVar9 = *puVar9;
  *(undefined2 *)((int)puVar1 + iVar3 + -4) = in_ES;
  uVar16 = *(undefined2 *)((int)puVar1 + iVar3 + -4);
  cVar5 = (char)((uint)unaff_EBX >> 8);
  *pcVar13 = *pcVar13 - cVar5;
  *unaff_ESI = *unaff_ESI + cVar6;
  *(undefined2 *)((int)puVar1 + iVar3 + -4) = uVar16;
  *pcVar14 = *pcVar14 - cVar5;
  *unaff_ESI = *unaff_ESI + cVar6;
  pcVar14[0x7f060000] = pcVar14[0x7f060000] - (cVar6 + -0xf);
  uRam00000028 = uRam00000028 | 0x28;
  *pcVar13 = *pcVar13 + (char)iVar11;
                    /* WARNING: Bad instruction - Truncating control flow here */
  halt_baddata();
}


Initialize at 10010444

Signature: ulonglong __fastcall Initialize(uint * param_1, char * param_2)


/* WARNING: Instruction at (ram,0x10010d01) overlaps instruction at (ram,0x10010d00)
    */
/* WARNING: Unable to track spacebase fully for stack */

ulonglong __fastcall Initialize(uint *param_1,char *param_2)

{
  code *pcVar1;
  undefined2 uVar2;
  char cVar3;
  byte bVar4;
  byte bVar5;
  char cVar6;
  char cVar7;
  char cVar8;
  byte bVar9;
  char *in_EAX;
  undefined3 uVar24;
  char *pcVar10;
  byte *pbVar11;
  uint *puVar12;
  uint *puVar13;
  uint *puVar14;
  uint *puVar15;
  uint uVar16;
  uint uVar17;
  uint *puVar18;
  byte *pbVar19;
  int iVar20;
  int iVar21;
  uint uVar22;
  int *piVar23;
  uint *extraout_ECX;
  char *pcVar25;
  byte bVar26;
  byte *pbVar27;
  byte *pbVar28;
  int *piVar29;
  char *pcVar30;
  byte *pbVar31;
  undefined1 *puVar32;
  uint *unaff_EBX;
  int *piVar33;
  int iVar34;
  int *piVar35;
  undefined2 *puVar36;
  undefined2 *puVar37;
  ushort *puVar38;
  uint *unaff_EBP;
  int *piVar39;
  int *piVar40;
  byte *unaff_ESI;
  ushort in_ES;
  undefined2 uVar41;
  undefined2 uVar42;
  undefined2 in_CS;
  undefined2 in_SS;
  ushort in_DS;
  bool bVar43;
  bool bVar44;
  byte in_AF;
  bool bVar45;
  byte in_TF;
  byte in_IF;
  bool bVar46;
  byte in_NT;
  byte in_AC;
  byte in_VIF;
  byte in_VIP;
  byte in_ID;
  uint uVar47;
  unkbyte10 in_ST1;
  unkbyte10 extraout_ST1;
  undefined8 uVar49;
  ulonglong uVar50;
  int *piStack_98;
  byte *pbStack_94;
  undefined4 uStack_90;
  undefined1 *puStack_8c;
  int *piStack_88;
  int *piStack_84;
  uint *puStack_80;
  undefined4 uStack_7c;
  uint uStack_78;
  byte *pbStack_74;
  uint *puStack_5c;
  uint *puStack_58;
  uint *puStack_3c;
  uint *in_stack_ffffffc8;
  uint *puStack_24;
  uint *puStack_20;
  uint *puStack_4;
  uint *puVar48;
  
                    /* .NET CLR Managed Code */
  bVar44 = false;
  puStack_4 = (uint *)CONCAT22(puStack_4._2_2_,in_SS);
  *in_EAX = *in_EAX + (char)in_EAX;
  puVar15 = puStack_4;
  do {
    puStack_4 = puVar15;
    puVar18 = (uint *)(CONCAT31((int3)((uint)in_EAX >> 8),(char)in_EAX + '\x17') + -0x4a7e33);
code_r0x10010452:
    puVar15 = puVar18;
    *(byte *)((int)puStack_4 + (int)param_2) =
         *(byte *)((int)puStack_4 + (int)param_2) + (char)puVar15;
    *param_2 = *param_2;
    puVar18 = puRam28040000;
    puStack_20 = puStack_4;
code_r0x10010463:
    cVar7 = (char)puVar18;
    *unaff_ESI = *unaff_ESI + cVar7;
    *unaff_ESI = *unaff_ESI + 1;
    *unaff_ESI = *unaff_ESI + cVar7;
    *param_2 = *param_2 - (char)((uint)param_2 >> 8);
    cVar3 = cVar7 + (byte)*puVar18;
    pcVar30 = (char *)CONCAT31((int3)((uint)puVar18 >> 8),cVar3);
    puStack_24 = (uint *)CONCAT22(puStack_24._2_2_,in_ES);
    cVar8 = (char)unaff_EBX;
    pcVar10 = param_2;
    if (cVar3 == '\0' || SCARRY1(cVar7,(byte)*puVar18) != cVar3 < '\0') {
      pcVar10 = param_2 + (int)unaff_EBX;
      bVar43 = SCARRY1(*pcVar10,cVar3);
      *pcVar10 = *pcVar10 + cVar3;
      cVar7 = *pcVar10;
      pbVar27 = unaff_ESI;
      puVar12 = puStack_4;
      goto code_r0x100104c3;
    }
    while( true ) {
      cVar7 = (char)pcVar30;
      *pcVar30 = *pcVar30 + cVar7;
      uVar24 = (undefined3)((uint)pcVar30 >> 8);
      bVar4 = cVar7 + 0x1f;
      pcVar30 = (char *)CONCAT31(uVar24,bVar4);
      *(byte *)(puStack_4 + -0x20) = (byte)puStack_4[-0x20] + 1;
      param_2 = pcVar10 + -1;
      *pcVar30 = *pcVar30 + bVar4;
      bVar43 = 0x23 < bVar4;
      puVar18 = (uint *)CONCAT31(uVar24,cVar7 + -5);
      if ((char)(cVar7 + -5) != '\0' && '#' < (char)bVar4) {
        bVar4 = (byte)(char *)((int)puVar18 + *puVar18);
        bVar5 = bVar4 + 0x13;
        pcVar30 = (char *)CONCAT31((int3)((int)puVar18 + *puVar18 >> 8),bVar5);
        puStack_4 = (uint *)((int)puStack_4 +
                            (uint)(0xec < bVar4) + *(int *)((int)puStack_4 + -0x5f));
        *pcVar30 = *pcVar30 + bVar5;
        bVar43 = 0xe5 < bVar5;
        param_2 = pcVar10 + -2;
        puVar18 = puStack_24;
      }
      pcVar10 = (char *)((int)puVar18 + bVar43 + 0xa17f5a33);
      *pcVar10 = *pcVar10 + (char)pcVar10;
      in_EAX = (char *)(CONCAT31((int3)((uint)pcVar10 >> 8),(char)pcVar10 + 'J') + -0xa17f13);
      cVar7 = (char)in_EAX;
      in_EAX[(int)unaff_EBP] = in_EAX[(int)unaff_EBP] + cVar7;
      bVar4 = *unaff_ESI;
      *unaff_ESI = *unaff_ESI + cVar7;
      if (*unaff_ESI != 0 && SCARRY1(bVar4,cVar7) == (char)*unaff_ESI < '\0') break;
      *in_EAX = *in_EAX + cVar7;
      puVar18 = (uint *)CONCAT31((int3)((uint)in_EAX >> 8),cVar7 + 'J');
      while( true ) {
        cVar7 = (char)puVar18;
        uVar24 = (undefined3)((uint)puVar18 >> 8);
        bVar4 = cVar7 - 0x27;
        puVar18 = (uint *)CONCAT31(uVar24,bVar4);
        if (bVar4 != 0 && '&' < cVar7) goto code_r0x10010452;
        *(byte *)puVar18 = (byte)*puVar18 + bVar4;
        cVar3 = cVar7 + -7;
        pcVar10 = (char *)CONCAT31(uVar24,cVar3);
        puStack_20 = (uint *)((uint)(in_NT & 1) * 0x4000 | (uint)SCARRY1(bVar4,' ') * 0x800 |
                              (uint)(in_IF & 1) * 0x200 | (uint)(in_TF & 1) * 0x100 |
                              (uint)(cVar3 < '\0') * 0x80 | (uint)(cVar3 == '\0') * 0x40 |
                              (uint)(in_AF & 1) * 0x10 | (uint)((POPCOUNT(cVar3) & 1U) == 0) * 4 |
                              (uint)(0xdf < bVar4) | (uint)(in_ID & 1) * 0x200000 |
                              (uint)(in_VIP & 1) * 0x100000 | (uint)(in_VIF & 1) * 0x80000 |
                             (uint)(in_AC & 1) * 0x40000);
        *pcVar10 = *pcVar10 + cVar3;
        pcVar10[0x4a] = pcVar10[0x4a] + cVar8;
        cVar6 = cVar7 + -0x20;
        puVar18 = (uint *)CONCAT31(uVar24,cVar6);
        if (cVar6 != '\0' && '\x18' < cVar3) {
          *(byte *)unaff_EBP = (byte)*unaff_EBP - (char)((uint)param_2 >> 8);
          goto code_r0x10010463;
        }
        *(byte *)puVar18 = (byte)*puVar18 + cVar6;
        bVar43 = SCARRY1(cVar6,'\x1a');
        cVar7 = cVar7 + -6;
        pbVar27 = unaff_ESI;
        puVar12 = puStack_4;
code_r0x100104c3:
        puVar18 = puStack_20;
        unaff_ESI = pbVar27;
        puStack_4 = puVar12;
        if (cVar7 != '\0' && bVar43 == cVar7 < '\0') {
          puStack_20 = (uint *)CONCAT22(puStack_20._2_2_,in_ES);
          goto code_r0x10010463;
        }
        bVar4 = (byte)puStack_20;
        *(byte *)puStack_20 = (byte)*puStack_20 + bVar4;
        bVar5 = bVar4 + 0x20;
        pcVar30 = (char *)CONCAT31((int3)((uint)puStack_20 >> 8),bVar5);
        uVar47 = (uint)(in_NT & 1) * 0x4000 | (uint)SCARRY1(bVar4,' ') * 0x800 |
                 (uint)(in_IF & 1) * 0x200 | (uint)(in_TF & 1) * 0x100 |
                 (uint)((char)bVar5 < '\0') * 0x80 | (uint)(bVar5 == 0) * 0x40 |
                 (uint)(in_AF & 1) * 0x10 | (uint)((POPCOUNT(bVar5) & 1U) == 0) * 4 |
                 (uint)(0xdf < bVar4);
        puVar48 = (uint *)(uVar47 | (uint)(in_ID & 1) * 0x200000 | (uint)(in_VIP & 1) * 0x100000 |
                           (uint)(in_VIF & 1) * 0x80000 | (uint)(in_AC & 1) * 0x40000);
        *pcVar30 = *pcVar30 + bVar5;
        pcVar30[0x4a] = pcVar30[0x4a] + cVar8;
        iVar20 = iRam26110000;
        iRam26110000 = iRam26110000 - (int)param_1;
        if (iRam26110000 != 0 && (int)param_1 <= iVar20) break;
        *pcVar30 = *pcVar30 + bVar5;
        pbVar11 = (byte *)((int)puVar48 + (0xe5 < bVar5) + 0xa03b);
        *(byte *)((int)puVar12 + -0x5f) =
             *(byte *)((int)puVar12 + -0x5f) + (char)((uint)unaff_EBX >> 8);
        cVar7 = (char)pbVar11;
        *pbVar11 = *pbVar11 + cVar7;
        uVar24 = (undefined3)((uint)pbVar11 >> 8);
        piVar39 = (int *)CONCAT31(uVar24,cVar7 + '(');
        *piVar39 = *piVar39 + -0x5e80fa00;
        *(char *)piVar39 = (char)*piVar39 + cVar7 + '(';
        pcVar30 = (char *)CONCAT31(uVar24,cVar7 + 'H');
        puStack_4 = (uint *)((int)puVar12 + 1);
        unaff_ESI = pbVar27 + 1;
        *(byte *)puVar12 = *pbVar27;
        *pcVar30 = *pcVar30 + cVar7 + 'H';
        pcVar30[0x4a] = pcVar30[0x4a] + cVar8;
        pcVar10 = (char *)unaff_EBP[0x1fc00000];
        param_2 = param_2 + -2;
        uVar47 = *unaff_EBX;
        uVar22 = *unaff_EBX;
        *unaff_EBX = (uint)(param_2 + uVar22 + (pcVar10 < pcVar30));
        puVar18 = puStack_24;
        if (*unaff_EBX == 0 ||
            (SCARRY4(uVar47,(int)param_2) !=
            SCARRY4((int)(param_2 + uVar22),(uint)(pcVar10 < pcVar30))) != (int)*unaff_EBX < 0) {
          *(char *)puStack_24 = (char)*puStack_24 + (char)in_ES;
          pbVar11 = (byte *)CONCAT31((int3)((uint)puStack_24 >> 8),(char)in_ES + ' ');
          puVar15 = (uint *)(pbVar27 + 2);
          *(byte *)puStack_4 = *unaff_ESI;
          puVar18 = (uint *)((int)puVar12 + 2);
          goto code_r0x10010511;
        }
      }
      puStack_20._0_2_ = (ushort)uVar47;
      pcVar10 = param_2;
      in_DS = (ushort)puStack_20;
    }
  } while( true );
  while( true ) {
    *(char *)puVar12 = (char)*puVar12 + (char)puVar12;
    puStack_3c = puStack_20;
    puVar48 = (uint *)(CONCAT31((int3)((uint)puVar12 >> 8),(char)puVar12 + '\x17') + -0x4a7e33);
    *(byte *)((int)puStack_20 + (int)pbVar27) =
         *(byte *)((int)puStack_20 + (int)pbVar27) + (char)puVar48;
    *pbVar27 = *pbVar27;
    puVar12 = puRam28040000;
    cVar7 = (char)puRam28040000;
    *(byte *)puVar15 = (byte)*puVar15 + cVar7;
    *(byte *)puVar15 = (byte)*puVar15 + 1;
    *(byte *)puVar15 = (byte)*puVar15 + cVar7;
    *pbVar27 = *pbVar27 - (char)((uint)pbVar27 >> 8);
    uVar24 = (undefined3)((uint)puVar12 >> 8);
    cVar3 = cVar7 + (byte)*puVar12;
    puVar13 = (uint *)CONCAT31(uVar24,cVar3);
    puVar18 = puStack_20;
    in_stack_ffffffc8 = puVar15;
    puStack_24 = param_1;
    if (cVar3 == '\0' || SCARRY1(cVar7,(byte)*puVar12) != cVar3 < '\0') goto code_r0x100105ae;
    *(byte *)puVar13 = (byte)*puVar13 + cVar3;
    cVar7 = cVar3 + '\x1f';
    *(byte *)(puStack_20 + -0x20) = (byte)puStack_20[-0x20] + 1;
    param_2 = (char *)(iVar20 + -2);
    *(char *)CONCAT31(uVar24,cVar7) = *(char *)CONCAT31(uVar24,cVar7) + cVar7;
    cVar8 = cVar3 + -5;
    pbVar11 = (byte *)CONCAT31(uVar24,cVar8);
    if (cVar8 == '\0' || cVar7 < '$') break;
code_r0x10010511:
    puStack_20 = puVar48;
    bVar5 = (byte)pbVar11;
    *pbVar11 = *pbVar11 + bVar5;
    pbVar11[0x4a] = pbVar11[0x4a] + (char)unaff_EBX;
    *unaff_EBX = *unaff_EBX - (int)param_1;
    bVar4 = *pbVar11;
    *pbVar11 = *pbVar11 + bVar5;
    bVar43 = CARRY4(*unaff_EBX,(uint)param_2) ||
             CARRY4((uint)(param_2 + *unaff_EBX),(uint)CARRY1(bVar4,bVar5));
    *unaff_EBX = (uint)(param_2 + *unaff_EBX + CARRY1(bVar4,bVar5));
    bVar4 = (byte)param_2 + (byte)*param_1;
    iVar20 = CONCAT31((int3)((uint)param_2 >> 8),bVar4 + bVar43);
    piVar39 = (int *)CONCAT22((short)((uint)param_1 >> 0x10),
                              CONCAT11((char)((uint)param_1 >> 8) + (byte)*unaff_EBX +
                                       (CARRY1((byte)param_2,(byte)*param_1) || CARRY1(bVar4,bVar43)
                                       ),(char)param_1));
    puStack_20 = (uint *)CONCAT22(puStack_20._2_2_,in_DS);
    bVar43 = CARRY4((uint)unaff_EBX,*puVar18);
    unaff_EBX = (uint *)((int)unaff_EBX + *puVar18);
    pbVar27 = (byte *)(iVar20 + -1);
    uVar47 = CONCAT31((int3)((uint)pbVar11 >> 8),bVar5 + 0x58 + bVar43) ^ 0x134a0306;
    *unaff_EBX = *unaff_EBX | (uint)unaff_EBP;
    puVar12 = (uint *)(uVar47 + *unaff_EBX);
    uVar47 = (uint)CARRY4(uVar47,*unaff_EBX);
    param_1 = (uint *)((int)piVar39 + *piVar39 + uVar47);
    if (param_1 == (uint *)0x0 ||
        (SCARRY4((int)piVar39,*piVar39) != SCARRY4((int)piVar39 + *piVar39,uVar47)) !=
        (int)param_1 < 0) goto code_r0x1001057e;
  }
  *pbVar11 = *pbVar11 + cVar8;
  pcVar10 = (char *)(CONCAT31(uVar24,cVar3 + 'y') | 0x7f040003);
  pbVar27 = (byte *)((int)pcVar10 >> 0x1f);
  puVar12 = (uint *)CONCAT31((int3)((uint)pcVar10 >> 8),(char)pcVar10 + *pcVar10 + '\x11');
  puStack_20 = puVar48;
code_r0x1001057e:
  *puVar12 = *puVar12 | (uint)unaff_EBP;
  in_DS = (ushort)puStack_20;
  puRam030a0000 = puVar12;
  *(char *)((int)puVar12 + 0x4a) = *(char *)((int)puVar12 + 0x4a) + (char)unaff_EBX;
  puStack_20 = (uint *)CONCAT22(puStack_20._2_2_,in_SS);
  pcVar10 = (char *)((uint)puVar12 ^ 0x4aedd05);
  cVar7 = *pcVar10;
  cVar3 = (char)pcVar10;
  *pcVar10 = *pcVar10 + cVar3;
  if (*pcVar10 == '\0' || SCARRY1(cVar7,cVar3) != *pcVar10 < '\0') {
    unaff_EBX = (uint *)((uint)unaff_EBX ^ *(uint *)(pbVar27 + 0x7f));
    iVar20 = iRam4a040000;
    goto code_r0x100105e5;
  }
  *pcVar10 = *pcVar10 + cVar3;
  do {
    pcVar10 = (char *)((byte)((char)pcVar10 + 0x17) - 0x4a7e33);
    puVar18 = puStack_20;
code_r0x1001059d:
    *(byte *)((int)puVar18 + (int)pbVar27) = *(byte *)((int)puVar18 + (int)pbVar27) + (char)pcVar10;
    *pbVar27 = *pbVar27;
    puVar13 = puRam28040000;
    puStack_3c = puVar15;
    in_stack_ffffffc8 = unaff_EBP;
    puStack_24 = puVar18;
    puVar48 = puStack_20;
code_r0x100105ae:
    puStack_20 = puVar48;
    cVar7 = (char)puVar13;
    *(byte *)puVar15 = (byte)*puVar15 + cVar7;
    *(byte *)puVar15 = (byte)*puVar15 + 1;
    *(byte *)puVar15 = (byte)*puVar15 + cVar7;
    *pbVar27 = *pbVar27 - (char)((uint)pbVar27 >> 8);
    cVar3 = cVar7 + (byte)*puVar13;
    pcVar10 = (char *)CONCAT31((int3)((uint)puVar13 >> 8),cVar3);
    puStack_24 = (uint *)CONCAT22(puStack_24._2_2_,in_ES);
    pbVar11 = pbVar27;
    puVar12 = puVar15;
    puVar48 = puVar18;
    if (cVar3 == '\0' || SCARRY1(cVar7,(byte)*puVar13) != cVar3 < '\0') {
      pbVar11 = pbVar27 + (int)unaff_EBX;
      bVar43 = SCARRY1(*pbVar11,cVar3);
      *pbVar11 = *pbVar11 + cVar3;
      bVar4 = *pbVar11;
      goto code_r0x1001060e;
    }
    while( true ) {
      cVar7 = (char)pcVar10;
      *pcVar10 = *pcVar10 + cVar7;
      uVar24 = (undefined3)((uint)pcVar10 >> 8);
      bVar4 = cVar7 + 0x1f;
      pcVar10 = (char *)CONCAT31(uVar24,bVar4);
      *(byte *)(puVar48 + -0x20) = (byte)puVar48[-0x20] + 1;
      pbVar27 = pbVar11 + -1;
      *pcVar10 = *pcVar10 + bVar4;
      bVar43 = 0x23 < bVar4;
      puVar15 = (uint *)CONCAT31(uVar24,cVar7 + -5);
      if ((char)(cVar7 + -5) != '\0' && '#' < (char)bVar4) {
        bVar4 = (byte)(byte *)((int)puVar15 + *puVar15);
        bVar5 = bVar4 + 0x13;
        pcVar10 = (char *)CONCAT31((int3)((int)puVar15 + *puVar15 >> 8),bVar5);
        *(byte **)((int)puVar48 + -0x5f) =
             (byte *)((int)puVar48 + (uint)(0xec < bVar4) + *(int *)((int)puVar48 + -0x5f));
        *pcVar10 = *pcVar10 + bVar5;
        bVar43 = 0xe5 < bVar5;
        pbVar27 = pbVar11 + -2;
        puVar15 = puStack_20;
      }
      pbVar11 = (byte *)((int)puVar15 + bVar43 + 0xa17f5a33);
      *pbVar11 = *pbVar11 + (char)pbVar11;
      iVar20 = CONCAT31((int3)((uint)pbVar11 >> 8),(char)pbVar11 + 'J');
      puVar15 = puVar12;
      puVar18 = puVar48;
code_r0x100105e5:
      pcVar10 = (char *)(iVar20 + -0xa17f13);
      cVar7 = (char)pcVar10;
      pcVar10[(int)unaff_EBP] = pcVar10[(int)unaff_EBP] + cVar7;
      uVar47 = *puVar15;
      *(byte *)puVar15 = (byte)*puVar15 + cVar7;
      if ((byte)*puVar15 != 0 && SCARRY1((byte)uVar47,cVar7) == (char)(byte)*puVar15 < '\0') break;
      *pcVar10 = *pcVar10 + cVar7;
      puVar14 = (uint *)CONCAT31((int3)((uint)pcVar10 >> 8),cVar7 + 'J');
      while( true ) {
        cVar7 = (char)puVar14;
        uVar24 = (undefined3)((uint)puVar14 >> 8);
        bVar4 = cVar7 - 0x27;
        pcVar10 = (char *)CONCAT31(uVar24,bVar4);
        if (bVar4 != 0 && '&' < cVar7) goto code_r0x1001059d;
        *pcVar10 = *pcVar10 + bVar4;
        cVar3 = cVar7 + -7;
        pcVar10 = (char *)CONCAT31(uVar24,cVar3);
        puStack_24 = (uint *)((uint)(in_NT & 1) * 0x4000 | (uint)SCARRY1(bVar4,' ') * 0x800 |
                              (uint)(in_IF & 1) * 0x200 | (uint)(in_TF & 1) * 0x100 |
                              (uint)(cVar3 < '\0') * 0x80 | (uint)(cVar3 == '\0') * 0x40 |
                              (uint)(in_AF & 1) * 0x10 | (uint)((POPCOUNT(cVar3) & 1U) == 0) * 4 |
                              (uint)(0xdf < bVar4) | (uint)(in_ID & 1) * 0x200000 |
                              (uint)(in_VIP & 1) * 0x100000 | (uint)(in_VIF & 1) * 0x80000 |
                             (uint)(in_AC & 1) * 0x40000);
        *pcVar10 = *pcVar10 + cVar3;
        pcVar10[0x4a] = pcVar10[0x4a] + (char)unaff_EBX;
        cVar8 = cVar7 + -0x20;
        puVar13 = (uint *)CONCAT31(uVar24,cVar8);
        if (cVar8 != '\0' && '\x18' < cVar3) {
          *(byte *)unaff_EBP = (byte)*unaff_EBP - (char)((uint)pbVar27 >> 8);
          puVar48 = puStack_20;
          goto code_r0x100105ae;
        }
        *(byte *)puVar13 = (byte)*puVar13 + cVar8;
        bVar43 = SCARRY1(cVar8,'\x1a');
        bVar4 = cVar7 - 6;
        puVar12 = puVar15;
        puVar48 = puVar18;
code_r0x1001060e:
        puVar14 = puStack_20;
        puVar13 = puStack_24;
        if (bVar4 != 0 && bVar43 == (char)bVar4 < '\0') {
          puStack_24 = (uint *)((uint)puStack_24 & 0xffff0000);
          puVar15 = puVar12;
          puVar18 = puVar48;
          puVar48 = puStack_20;
          goto code_r0x100105ae;
        }
        bVar4 = (byte)puStack_24;
        *(byte *)puStack_24 = (byte)*puStack_24 + bVar4;
        bVar5 = bVar4 + 0x20;
        pcVar10 = (char *)CONCAT31((int3)((uint)puStack_24 >> 8),bVar5);
        uVar47 = (uint)(in_NT & 1) * 0x4000 | (uint)SCARRY1(bVar4,' ') * 0x800 |
                 (uint)(in_IF & 1) * 0x200 | (uint)(in_TF & 1) * 0x100 |
                 (uint)((char)bVar5 < '\0') * 0x80 | (uint)(bVar5 == 0) * 0x40 |
                 (uint)(in_AF & 1) * 0x10 | (uint)((POPCOUNT(bVar5) & 1U) == 0) * 4 |
                 (uint)(0xdf < bVar4);
        puStack_24 = (uint *)(uVar47 | (uint)(in_ID & 1) * 0x200000 | (uint)(in_VIP & 1) * 0x100000
                              | (uint)(in_VIF & 1) * 0x80000 | (uint)(in_AC & 1) * 0x40000);
        *pcVar10 = *pcVar10 + bVar5;
        pcVar10[0x4a] = pcVar10[0x4a] + (char)unaff_EBX;
        iVar20 = iRam26110000;
        iRam26110000 = iRam26110000 - (int)param_1;
        if (iRam26110000 != 0 && (int)param_1 <= iVar20) break;
        *pcVar10 = *pcVar10 + bVar5;
        pbVar11 = (byte *)((int)puStack_24 + (0xe5 < bVar5) + 0xa03b);
        *(byte *)((int)puVar48 + -0x5f) =
             *(byte *)((int)puVar48 + -0x5f) + (char)((uint)unaff_EBX >> 8);
        cVar7 = (char)pbVar11;
        *pbVar11 = *pbVar11 + cVar7;
        uVar24 = (undefined3)((uint)pbVar11 >> 8);
        piVar39 = (int *)CONCAT31(uVar24,cVar7 + '(');
        *piVar39 = *piVar39 + -0x5e80fa00;
        *(char *)piVar39 = (char)*piVar39 + cVar7 + '(';
        pcVar30 = (char *)CONCAT31(uVar24,cVar7 + 'H');
        puVar18 = (uint *)((int)puVar48 + 1);
        puVar15 = (uint *)((int)puVar12 + 1);
        *(byte *)puVar48 = (byte)*puVar12;
        *pcVar30 = *pcVar30 + cVar7 + 'H';
        pcVar30[0x4a] = pcVar30[0x4a] + (char)unaff_EBX;
        pcVar10 = (char *)unaff_EBP[0x1fc00000];
        pbVar27 = pbVar27 + -2;
        uVar47 = *param_1;
        uVar22 = *param_1;
        *param_1 = (uint)(pbVar27 + uVar22 + (pcVar10 < pcVar30));
        puStack_20 = (uint *)CONCAT22(puStack_20._2_2_,in_SS);
        if (*param_1 == 0 ||
            (SCARRY4(uVar47,(int)pbVar27) !=
            SCARRY4((int)(pbVar27 + uVar22),(uint)(pcVar10 < pcVar30))) != (int)*param_1 < 0) {
          *(byte *)puVar14 = (byte)*puVar14 + (char)puVar14;
          pbVar11 = (byte *)CONCAT31((int3)((uint)puVar14 >> 8),(char)puVar14 + ' ');
          puVar48 = (uint *)((int)puVar48 + 2);
          puVar12 = (uint *)((int)puVar12 + 2);
          *(byte *)puVar18 = *(byte *)puVar15;
          do {
            bVar5 = (byte)pbVar11;
            *pbVar11 = *pbVar11 + bVar5;
            pbVar11[0x4a] = pbVar11[0x4a] + (char)unaff_EBX;
            *unaff_EBX = *unaff_EBX - (int)param_1;
            bVar4 = *pbVar11;
            *pbVar11 = *pbVar11 + bVar5;
            bVar43 = CARRY4(*unaff_EBX,(uint)pbVar27) ||
                     CARRY4((uint)(pbVar27 + *unaff_EBX),(uint)CARRY1(bVar4,bVar5));
            *unaff_EBX = (uint)(pbVar27 + *unaff_EBX + CARRY1(bVar4,bVar5));
            uVar47 = *param_1;
            bVar4 = (byte)*param_1 + (byte)pbVar27;
            *(byte *)param_1 = bVar4 + bVar43;
            bVar9 = (byte)((uint)param_1 >> 8);
            *(byte *)unaff_EBX =
                 (byte)*unaff_EBX + bVar9 +
                 (CARRY1((byte)uVar47,(byte)pbVar27) || CARRY1(bVar4,bVar43));
            puStack_24 = (uint *)CONCAT22(puStack_24._2_2_,in_DS);
            bVar43 = CARRY4((uint)unaff_EBX,*puVar48);
            unaff_EBX = (uint *)((int)unaff_EBX + *puVar48);
            pbVar27 = pbVar27 + -1;
            uVar47 = CONCAT31((int3)((uint)pbVar11 >> 8),bVar5 + 0x58 + bVar43) ^ 0x134a0306;
            *(byte *)unaff_EBX = (byte)*unaff_EBX | bVar9;
            pbVar11 = (byte *)(uVar47 + *unaff_EBX);
            uVar47 = (uint)CARRY4(uVar47,*unaff_EBX);
            bVar43 = SCARRY4((int)param_1,*(int *)pbVar11);
            pbVar19 = (byte *)((int)param_1 + *(int *)pbVar11);
            param_1 = (uint *)(pbVar19 + uVar47);
            if (param_1 == (uint *)0x0 ||
                (bVar43 != SCARRY4((int)pbVar19,uVar47)) != (int)param_1 < 0) {
              *pbVar11 = *pbVar11 | (byte)((uint)param_1 >> 8);
              puVar15 = in_stack_ffffffc8;
              goto code_r0x100106bb;
            }
            *pbVar11 = *pbVar11 + (char)pbVar11;
            puVar15 = (uint *)(CONCAT31((int3)((uint)pbVar11 >> 8),(char)pbVar11 + '\x17') +
                              -0x4a7e33);
            *(byte *)((int)puStack_24 + (int)pbVar27) =
                 *(byte *)((int)puStack_24 + (int)pbVar27) + (char)puVar15;
            *pbVar27 = *pbVar27;
            puVar18 = puRam28040000;
            puVar48 = puStack_24;
            puStack_3c = puVar12;
            in_stack_ffffffc8 = unaff_EBP;
            puStack_24 = puVar15;
            while( true ) {
              cVar7 = (char)puVar18;
              *(byte *)puVar12 = (byte)*puVar12 + cVar7;
              *(byte *)puVar12 = (byte)*puVar12 + 1;
              *(byte *)puVar12 = (byte)*puVar12 + cVar7;
              *pbVar27 = *pbVar27 - (char)((uint)pbVar27 >> 8);
              uVar24 = (undefined3)((uint)puVar18 >> 8);
              cVar3 = cVar7 + (byte)*puVar18;
              if (cVar3 == '\0' || SCARRY1(cVar7,(byte)*puVar18) != cVar3 < '\0')
              goto code_r0x100106f7;
              *(char *)CONCAT31(uVar24,cVar3) = *(char *)CONCAT31(uVar24,cVar3) + cVar3;
              cVar7 = cVar3 + '\x1f';
              *(byte *)(puVar48 + -0x20) = (byte)puVar48[-0x20] + 1;
              pbVar27 = pbVar27 + -1;
              *(char *)CONCAT31(uVar24,cVar7) = *(char *)CONCAT31(uVar24,cVar7) + cVar7;
              pbVar11 = (byte *)CONCAT31(uVar24,cVar3 + -5);
              puVar15 = in_stack_ffffffc8;
              if ((char)(cVar3 + -5) != '\0' && '#' < cVar7) break;
code_r0x100106bb:
              *pbVar11 = *pbVar11 + (char)pbVar11;
              bVar4 = 0;
              in_CS = 0x2808;
              uVar49 = func_0x11040002();
              puRam030a0000 = (uint *)uVar49;
              param_1 = extraout_ECX;
              in_DS = (ushort)puStack_3c;
              in_ST1 = extraout_ST1;
code_r0x100106d1:
              bVar5 = (byte)uVar49 + 0x58;
              uVar16 = CONCAT31((int3)((ulonglong)uVar49 >> 8),bVar5 + bVar4);
              uVar47 = (uint)(0xa7 < (byte)uVar49 || CARRY1(bVar5,bVar4));
              uVar22 = uVar16 + *puVar48;
              uVar17 = uVar22 + uVar47;
              puStack_3c = (uint *)CONCAT22(puStack_3c._2_2_,in_DS);
              *puVar48 = *puVar48 + uVar17 +
                         (uint)(CARRY4(uVar16,*puVar48) || CARRY4(uVar22,uVar47));
              pbVar27 = (byte *)((int)((ulonglong)uVar49 >> 0x20) + -1);
              puVar18 = (uint *)(uVar17 ^ 0x2b4a0304);
              uVar47 = *unaff_EBX;
              *unaff_EBX = (uint)(*unaff_EBX + (int)puVar18);
              in_stack_ffffffc8 = puVar15;
              if (CARRY4(uVar47,(uint)puVar18)) {
code_r0x100106e2:
                *(byte *)puVar18 = (byte)*puVar18 + (char)puVar18;
                pbVar27 = (byte *)CONCAT31((int3)((uint)pbVar27 >> 8),
                                           (byte)pbVar27 | (byte)*unaff_EBX);
                *(int *)pbVar27 = (int)in_ST1;
                *(byte *)((int)puVar48 + (int)pbVar27) =
                     *(byte *)((int)puVar48 + (int)pbVar27) + (char)puVar18;
                puVar18 = (uint *)((int)puVar18 + -0x4a7e33);
                puVar48 = puStack_3c;
code_r0x100106f3:
                *(byte *)((int)puVar48 + (int)pbVar27) =
                     *(byte *)((int)puVar48 + (int)pbVar27) + (char)puVar18;
                puStack_58 = puVar48;
                puStack_3c = puVar18;
code_r0x100106f7:
                *pbVar27 = *pbVar27;
                puVar15 = puRam28040000;
code_r0x10010704:
                cVar7 = (char)puVar15;
                *(byte *)puVar12 = (byte)*puVar12 + cVar7;
                *(byte *)puVar12 = (byte)*puVar12 + 1;
                *(byte *)puVar12 = (byte)*puVar12 + cVar7;
                *pbVar27 = *pbVar27 - (char)((uint)pbVar27 >> 8);
                cVar3 = cVar7 + (byte)*puVar15;
                pcVar10 = (char *)CONCAT31((int3)((uint)puVar15 >> 8),cVar3);
                puStack_5c = (uint *)CONCAT22(puStack_5c._2_2_,in_ES);
                cVar8 = (char)param_1;
                bVar4 = (byte)unaff_EBX;
                pbVar11 = pbVar27;
                if (cVar3 == '\0' || SCARRY1(cVar7,(byte)*puVar15) != cVar3 < '\0') {
                  pbVar27 = pbVar27 + (int)unaff_EBX;
                  bVar43 = SCARRY1(*pbVar27,cVar3);
                  *pbVar27 = *pbVar27 + cVar3;
                  bVar5 = *pbVar27;
                  puVar13 = puVar12;
                  puVar14 = puVar48;
                  goto code_r0x10010764;
                }
code_r0x10010717:
                cVar7 = (char)pcVar10;
                *pcVar10 = *pcVar10 + cVar7;
                uVar24 = (undefined3)((uint)pcVar10 >> 8);
                bVar5 = cVar7 + 0x1f;
                pcVar10 = (char *)CONCAT31(uVar24,bVar5);
                *(byte *)(puVar48 + -0x20) = (byte)puVar48[-0x20] + 1;
                pbVar27 = pbVar11 + -1;
                *pcVar10 = *pcVar10 + bVar5;
                bVar43 = 0x23 < bVar5;
                puVar15 = (uint *)CONCAT31(uVar24,cVar7 + -5);
                if ((char)(cVar7 + -5) != '\0' && '#' < (char)bVar5) {
                  cVar7 = (char)(byte *)((int)puVar15 + *puVar15);
                  bVar5 = cVar7 + 0x13;
                  pcVar10 = (char *)CONCAT31((int3)((int)puVar15 + *puVar15 >> 8),bVar5);
                  uVar49 = CONCAT44(pbVar27,pcVar10);
                  puVar15 = (uint *)CONCAT22((short)((uint)in_stack_ffffffc8 >> 0x10),in_CS);
                  if (bVar5 != 0 && -0x14 < cVar7) {
                    *pbVar27 = *pbVar27 + cVar8;
                    bVar4 = CARRY4((uint)unaff_EBX,*puVar48);
                    unaff_EBX = (uint *)((int)unaff_EBX + *puVar48);
                    goto code_r0x100106d1;
                  }
                  *pcVar10 = *pcVar10 + bVar5;
                  bVar43 = 0xe5 < bVar5;
                  pbVar27 = pbVar11 + -2;
                  in_stack_ffffffc8 = puVar15;
                }
                pbVar11 = (byte *)((int)puVar15 + bVar43 + 0xa17f5c33);
                *pbVar11 = *pbVar11 + (char)pbVar11;
                pcVar10 = (char *)(CONCAT31((int3)((uint)pbVar11 >> 8),(char)pbVar11 + 'J') +
                                  -0xa17f13);
                cVar7 = (char)pcVar10;
                pcVar10[(int)unaff_EBP] = pcVar10[(int)unaff_EBP] + cVar7;
                bVar46 = SCARRY1((byte)*puVar12,cVar7);
                *(byte *)puVar12 = (byte)*puVar12 + cVar7;
                bVar45 = (char)(byte)*puVar12 < '\0';
                bVar43 = (byte)*puVar12 == 0;
                while( true ) {
                  cVar7 = (char)pcVar10;
                  uVar24 = (undefined3)((uint)pcVar10 >> 8);
                  if (!bVar43 && bVar46 == bVar45) break;
                  *pcVar10 = *pcVar10 + cVar7;
                  puVar18 = (uint *)CONCAT31(uVar24,cVar7 + '#');
                  if ((char)(cVar7 + '#') != '\0' && '&' < (char)(cVar7 + 'J'))
                  goto code_r0x100106f3;
                  while( true ) {
                    bVar5 = (byte)puVar18;
                    *(byte *)puVar18 = (byte)*puVar18 + bVar5;
                    uVar24 = (undefined3)((uint)puVar18 >> 8);
                    cVar7 = bVar5 + 0x20;
                    pcVar10 = (char *)CONCAT31(uVar24,cVar7);
                    puStack_58 = (uint *)((uint)(in_NT & 1) * 0x4000 |
                                          (uint)SCARRY1(bVar5,' ') * 0x800 |
                                          (uint)(in_IF & 1) * 0x200 | (uint)(in_TF & 1) * 0x100 |
                                          (uint)(cVar7 < '\0') * 0x80 | (uint)(cVar7 == '\0') * 0x40
                                          | (uint)(in_AF & 1) * 0x10 |
                                          (uint)((POPCOUNT(cVar7) & 1U) == 0) * 4 |
                                          (uint)(0xdf < bVar5) | (uint)(in_ID & 1) * 0x200000 |
                                          (uint)(in_VIP & 1) * 0x100000 |
                                          (uint)(in_VIF & 1) * 0x80000 | (uint)(in_AC & 1) * 0x40000
                                         );
                    *pcVar10 = *pcVar10 + cVar7;
                    pcVar10[0x4a] = pcVar10[0x4a] + bVar4;
                    cVar3 = bVar5 + 7;
                    puVar15 = (uint *)CONCAT31(uVar24,cVar3);
                    if (cVar3 != '\0' && '\x18' < cVar7) {
                      *(byte *)unaff_EBP = (byte)*unaff_EBP - (char)((uint)pbVar27 >> 8);
                      goto code_r0x10010704;
                    }
                    *(byte *)puVar15 = (byte)*puVar15 + cVar3;
                    bVar43 = SCARRY1(cVar3,'\x1a');
                    bVar5 = bVar5 + 0x21;
                    pbVar11 = pbVar27;
                    puVar13 = puVar12;
                    puVar14 = puVar48;
code_r0x10010764:
                    puVar15 = puStack_58;
                    puVar12 = puVar13;
                    puVar48 = puVar14;
                    if (bVar5 != 0 && bVar43 == (char)bVar5 < '\0') {
                      puStack_58 = (uint *)CONCAT22(puStack_58._2_2_,in_ES);
                      pbVar27 = pbVar11;
                      goto code_r0x10010704;
                    }
                    bVar5 = (byte)puStack_58;
                    *(byte *)puStack_58 = (byte)*puStack_58 + bVar5;
                    bVar9 = bVar5 + 0x20;
                    pcVar10 = (char *)CONCAT31((int3)((uint)puStack_58 >> 8),bVar9);
                    uVar47 = (uint)(in_NT & 1) * 0x4000 | (uint)SCARRY1(bVar5,' ') * 0x800 |
                             (uint)(in_IF & 1) * 0x200 | (uint)(in_TF & 1) * 0x100 |
                             (uint)((char)bVar9 < '\0') * 0x80 | (uint)(bVar9 == 0) * 0x40 |
                             (uint)(in_AF & 1) * 0x10 | (uint)((POPCOUNT(bVar9) & 1U) == 0) * 4 |
                             (uint)(0xdf < bVar5);
                    puVar15 = (uint *)(uVar47 | (uint)(in_ID & 1) * 0x200000 |
                                       (uint)(in_VIP & 1) * 0x100000 | (uint)(in_VIF & 1) * 0x80000
                                      | (uint)(in_AC & 1) * 0x40000);
                    *pcVar10 = *pcVar10 + bVar9;
                    pcVar10[0x4a] = pcVar10[0x4a] + bVar4;
                    iVar20 = iRam26110000;
                    iRam26110000 = iRam26110000 - (int)param_1;
                    if (iRam26110000 != 0 && (int)param_1 <= iVar20) {
                      puStack_58._0_2_ = (ushort)uVar47;
                      in_DS = (ushort)puStack_58;
                      puStack_58 = puVar15;
                      goto code_r0x10010717;
                    }
                    *pcVar10 = *pcVar10 + bVar9;
                    pbVar27 = pbVar11 + -1;
                    pbVar19 = (byte *)((int)puVar15 + (0xe5 < bVar9) + 0xa2dd0533);
                    cVar7 = (char)pbVar19;
                    *pbVar19 = *pbVar19 + cVar7;
                    cVar3 = (char)((uint)unaff_EBX >> 8);
                    *(byte *)((int)puVar14 + -0x5f) = *(byte *)((int)puVar14 + -0x5f) + cVar3;
                    *pbVar19 = *pbVar19 + cVar7;
                    uVar24 = (undefined3)((uint)pbVar19 >> 8);
                    piVar39 = (int *)CONCAT31(uVar24,cVar7 + '(');
                    *piVar39 = *piVar39 + -0x5e80fa00;
                    *(char *)piVar39 = (char)*piVar39 + cVar7 + '(';
                    pcVar10 = (char *)CONCAT31(uVar24,cVar7 + 'H');
                    puVar48 = (uint *)((int)puVar14 + 1);
                    puVar12 = (uint *)((int)puVar13 + 1);
                    *(byte *)puVar14 = (byte)*puVar13;
                    *pcVar10 = *pcVar10 + cVar7 + 'H';
                    pcVar10[0x4a] = pcVar10[0x4a] + bVar4;
                    pcVar10 = pcVar10 + -0x85dd05;
                    bVar5 = (byte)pcVar10;
                    bVar46 = SCARRY1(*pcVar10,bVar5);
                    *pcVar10 = *pcVar10 + bVar5;
                    bVar45 = *pcVar10 < '\0';
                    bVar43 = *pcVar10 == '\0';
                    if (!bVar43 && bVar46 == bVar45) break;
                    *pcVar10 = *pcVar10 + bVar5;
                    pbVar27 = pbVar11 + -2;
                    uVar47 = *puVar12;
                    uVar22 = *puVar12;
                    *puVar12 = (uint)((byte *)(uVar22 + (int)param_1) + (0xe5 < bVar5));
                    puVar18 = puStack_5c;
                    if (*puVar12 == 0 ||
                        (SCARRY4(uVar47,(int)param_1) !=
                        SCARRY4((int)(uVar22 + (int)param_1),(uint)(0xe5 < bVar5))) !=
                        (int)*puVar12 < 0) {
                      *(byte *)puStack_5c = (byte)*puStack_5c + (char)in_ES;
                      pbVar19 = (byte *)CONCAT31((int3)((uint)puStack_5c >> 8),(char)in_ES + ' ');
                      pbVar11 = (byte *)((int)puVar13 + 2);
                      *(byte *)puVar48 = *(byte *)puVar12;
                      puVar15 = (uint *)((int)puVar14 + 2);
                      goto code_r0x100107b6;
                    }
                  }
                }
                puVar18 = (uint *)CONCAT31(uVar24,cVar7 + '\x17');
                goto code_r0x100106e2;
              }
            }
          } while( true );
        }
      }
      puStack_24._0_2_ = (ushort)uVar47;
      pbVar11 = pbVar27;
      in_DS = (ushort)puStack_24;
    }
  } while( true );
  while( true ) {
    *pcVar10 = *pcVar10 + (char)pcVar10;
    puVar18 = (uint *)(CONCAT31((int3)((uint)pcVar10 >> 8),(char)pcVar10 + '\x17') + -0x4a7e33);
    *(byte *)((int)puStack_5c + (int)pbVar27) =
         *(byte *)((int)puStack_5c + (int)pbVar27) + (char)puVar18;
    pbStack_74 = pbVar11;
    *pbVar27 = *pbVar27;
    puVar15 = puRam28040000;
    cVar7 = (char)puRam28040000;
    *pbVar11 = *pbVar11 + cVar7;
    *pbVar11 = *pbVar11 + 1;
    *pbVar11 = *pbVar11 + cVar7;
    *pbVar27 = *pbVar27 - (char)((uint)pbVar27 >> 8);
    uVar24 = (undefined3)((uint)puVar15 >> 8);
    bVar5 = cVar7 + (byte)*puVar15;
    pcVar10 = (char *)CONCAT31(uVar24,bVar5);
    if (bVar5 == 0 || SCARRY1(cVar7,(byte)*puVar15) != (char)bVar5 < '\0') {
      pbVar19 = (byte *)((int)unaff_EBX * 8 + 0x97);
      bVar9 = *pbVar19;
      *pbVar19 = *pbVar19 + bVar5;
      pbVar19 = (byte *)((int)param_1 + *(uint *)((int)pbVar27 * 2));
      bVar44 = CARRY4((uint)param_1,*(uint *)((int)pbVar27 * 2)) ||
               CARRY4((uint)pbVar19,(uint)CARRY1(bVar9,bVar5));
      pbVar19 = pbVar19 + CARRY1(bVar9,bVar5);
      goto code_r0x1001085b;
    }
    *pcVar10 = *pcVar10 + bVar5;
    cVar7 = bVar5 + 0x1f;
    *(byte *)(puStack_5c + -0x20) = (byte)puStack_5c[-0x20] + 1;
    pbVar27 = pbVar27 + -1;
    *(char *)CONCAT31(uVar24,cVar7) = *(char *)CONCAT31(uVar24,cVar7) + cVar7;
    cVar6 = bVar5 - 5;
    pbVar19 = (byte *)CONCAT31(uVar24,cVar6);
    puVar15 = puStack_5c;
    if (cVar6 == '\0' || cVar7 < '$') break;
code_r0x100107b6:
    puStack_5c = puVar18;
    bVar9 = (byte)pbVar19;
    *pbVar19 = *pbVar19 + bVar9;
    pbVar19[0x4a] = pbVar19[0x4a] + bVar4;
    *unaff_EBX = *unaff_EBX - (int)param_1;
    bVar5 = *pbVar19;
    *pbVar19 = *pbVar19 + bVar9;
    *unaff_EBX = (uint)(pbVar27 + (uint)CARRY1(bVar5,bVar9) + *unaff_EBX);
    *puVar15 = *puVar15 + ((uint)pbVar19 | 0x22d0d11);
    pbVar28 = pbVar27 + -1;
    pcVar10 = (char *)((((uint)pbVar19 | 0x22d0d11) ^ 0x134a0306) - *unaff_EBX);
    pbVar27 = pbVar28 + *unaff_EBX;
    puStack_5c = (uint *)CONCAT22(puStack_5c._2_2_,in_ES);
    if (pbVar27 == (byte *)0x0 || SCARRY4((int)pbVar28,*unaff_EBX) != (int)pbVar27 < 0)
    goto code_r0x10010823;
  }
  *pbVar19 = *pbVar19 + cVar6;
  pcVar10 = (char *)(CONCAT31(uVar24,bVar5 + 0x79) | 0x7f040003);
  pcVar10 = (char *)CONCAT31((int3)((uint)pcVar10 >> 8),(char)pcVar10 + *pcVar10 + '\x11');
code_r0x10010823:
  puVar18 = unaff_EBX + 0x28000;
  uVar47 = *puVar18;
  bVar5 = (byte)((uint)pcVar10 >> 8);
  *(byte *)puVar18 = (byte)*puVar18 - bVar5;
  *puVar15 = (uint)((int)param_1 + (uint)((byte)uVar47 < bVar5) + *puVar15);
  pbVar19 = (byte *)CONCAT22((short)((uint)param_1 >> 0x10),
                             CONCAT11((char)((uint)param_1 >> 8) - cVar8,cVar8));
  pbVar28 = pbVar11;
  if ((char)((char)pcVar10 + *pcVar10 | *pbVar27) < '\0') {
    pbVar28 = (byte *)((int)puVar13 + 6);
    out(*(undefined4 *)pbVar11,(short)pbVar27);
    *(byte *)((int)puVar15 + (int)pbVar27) = *(byte *)((int)puVar15 + (int)pbVar27);
    piVar39 = (int *)((uint)unaff_EBP | *unaff_EBX);
    bVar5 = *pbVar28;
    bVar9 = (byte)pbVar27;
    uVar24 = (undefined3)((uint)pbVar27 >> 8);
    cVar7 = bVar9 + *pbVar28;
    pbVar27 = (byte *)CONCAT31(uVar24,cVar7);
    if (SCARRY1(bVar9,*pbVar28) == cVar7 < '\0') {
      iVar20 = piVar39[0x1f418000];
      if (iRam28060000 < 1) {
        in_DS = in_ES;
      }
      iVar21 = iRam28060000 + 0x28060000;
      cVar6 = (char)iVar21;
      *(byte *)unaff_EBX = (byte)*unaff_EBX - cVar3;
      *pbVar28 = *pbVar28 + cVar6 + '\x16';
      uVar47 = *puVar15;
      uVar22 = CONCAT31((int3)((uint)iVar21 >> 8),cVar6 + '1' + CARRY4((uint)unaff_EBX,*puVar15)) ^
               0x134a0306;
      iVar21 = uVar22 + 0x32171549;
      pcVar10 = (char *)(CONCAT31(uVar24,cVar7 + (char)iVar20 + CARRY1(bVar9,bVar5)) + -2);
      iVar20 = (CONCAT31((int3)((uint)iVar21 >> 8),
                         (char)iVar21 + 'X' + (0xe0ebede1 < uVar22 + 0x1303032b)) ^ 0x4a141207) +
               *(int *)((byte *)((int)unaff_EBX + uVar47) + (int)piVar39);
      bVar4 = (byte)iVar20;
      puVar18 = (uint *)CONCAT31((int3)((uint)iVar20 >> 8),bVar4 + (0xed < bVar4) + 'M');
      *puVar18 = *puVar18;
      if ((int)*puVar18 < 1) {
        *puVar18 = *puVar18 << 1 | (uint)((int)*puVar18 < 0);
        *pcVar10 = *pcVar10 + cVar8;
        pbStack_74 = (byte *)CONCAT22(pbStack_74._2_2_,in_SS);
      }
      bVar4 = (byte)((int)puVar18 + *puVar18);
      uVar24 = (undefined3)((int)puVar18 + *puVar18 >> 8);
      cVar7 = bVar4 + 0x7f;
      uStack_78 = (uint)(in_NT & 1) * 0x4000 | (uint)SCARRY1(bVar4,'\x7f') * 0x800 |
                  (uint)(in_IF & 1) * 0x200 | (uint)(in_TF & 1) * 0x100 |
                  (uint)(cVar7 < '\0') * 0x80 | (uint)(cVar7 == '\0') * 0x40 |
                  (uint)(in_AF & 1) * 0x10 | (uint)((POPCOUNT(cVar7) & 1U) == 0) * 4 |
                  (uint)(0x80 < bVar4) | (uint)(in_ID & 1) * 0x200000 |
                  (uint)(in_VIP & 1) * 0x100000 | (uint)(in_VIF & 1) * 0x80000 |
                  (uint)(in_AC & 1) * 0x40000;
      iVar20 = CONCAT31(uVar24,cVar7 + *(char *)CONCAT31(uVar24,cVar7) + '\"') + 0xd128;
      uVar24 = (undefined3)((uint)pcVar10 >> 8);
      bVar9 = (byte)pcVar10 | *pbVar28;
      piVar33 = (int *)((int)unaff_EBX + uVar47 | (uint)pbVar28);
      uStack_7c = (uint *)CONCAT22(uStack_7c._2_2_,in_CS);
      *pbVar28 = *pbVar28 + 1;
      pbVar27 = (byte *)0x12060000;
      bVar4 = (byte)iVar20;
      bVar5 = ((bVar4 + 0x28) - *(char *)CONCAT31(uVar24,bVar9)) - (0xd7 < bVar4);
      bVar43 = CARRY1(bRam12060000,bVar5);
      bRam12060000 = bRam12060000 + bVar5;
      bVar4 = bVar9 + *(byte *)((int)puVar15 + (int)piVar33);
      iVar21 = CONCAT31(uVar24,bVar4 + bVar43);
      piVar29 = (int *)(iVar21 + -1);
      puVar18 = (uint *)(CONCAT31((int3)((uint)iVar20 >> 8),
                                  bVar5 + 0x58 +
                                  (CARRY1(bVar9,*(byte *)((int)puVar15 + (int)piVar33)) ||
                                  CARRY1(bVar4,bVar43))) ^ 0x4a141208);
      pcVar10 = (char *)(iVar21 + 1);
      *pcVar10 = *pcVar10 - (char)((uint)piVar33 >> 8);
      cVar7 = (char)puVar18;
      bVar43 = SCARRY1(bRam12060000,cVar7);
      bRam12060000 = bRam12060000 + cVar7;
      if (bRam12060000 == '\0' || bVar43 != (char)bRam12060000 < '\0') {
        bVar43 = false;
        piVar33 = (int *)((uint)piVar33 ^ *(uint *)((int)puVar15 * 3 + -0x5f));
        goto code_r0x1001093a;
      }
      *(byte *)puVar18 = (byte)*puVar18 + cVar7;
      do {
        puVar12 = (uint *)((byte)((char)puVar18 + 0x17) - 0x4a7e33);
        puVar15 = uStack_7c;
code_r0x100108fb:
        *(byte *)((int)puVar15 + (int)piVar29) =
             *(byte *)((int)puVar15 + (int)piVar29) + (char)puVar12;
        *(char *)piVar29 = (char)*piVar29;
        puVar18 = puRam28040000;
        puStack_80 = puVar15;
code_r0x1001090c:
        cVar7 = (char)puVar18;
        *pbVar27 = *pbVar27 + cVar7;
        *pbVar27 = *pbVar27 + 1;
        *pbVar27 = *pbVar27 + cVar7;
        *(char *)piVar29 = (char)*piVar29 - (char)((uint)piVar29 >> 8);
        cVar3 = cVar7 + (byte)*puVar18;
        pcVar10 = (char *)CONCAT31((int3)((uint)puVar18 >> 8),cVar3);
        puStack_80 = (uint *)CONCAT22(puStack_80._2_2_,in_ES);
        piVar23 = piVar29;
        pbVar11 = pbVar27;
        if (cVar3 == '\0' || SCARRY1(cVar7,(byte)*puVar18) != cVar3 < '\0') {
          pcVar10 = (char *)((int)piVar29 + (int)piVar33);
          bVar43 = SCARRY1(*pcVar10,cVar3);
          *pcVar10 = *pcVar10 + cVar3;
          cVar7 = *pcVar10;
          puVar48 = puVar15;
          goto code_r0x1001096c;
        }
code_r0x1001091f:
        cVar7 = (char)pcVar10;
        *pcVar10 = *pcVar10 + cVar7;
        uVar24 = (undefined3)((uint)pcVar10 >> 8);
        bVar4 = cVar7 + 0x1f;
        pcVar10 = (char *)CONCAT31(uVar24,bVar4);
        *(byte *)(puVar15 + -0x20) = (byte)puVar15[-0x20] + 1;
        piVar29 = (int *)((int)piVar23 + -1);
        *pcVar10 = *pcVar10 + bVar4;
        bVar43 = 0x23 < bVar4;
        puVar18 = (uint *)CONCAT31(uVar24,cVar7 + -5);
        pbVar27 = pbVar11;
        if ((char)(cVar7 + -5) != '\0' && '#' < (char)bVar4) {
          bVar4 = (char)(byte *)((int)puVar18 + *puVar18) + 0x13;
          pcVar10 = (char *)CONCAT31((int3)((int)puVar18 + *puVar18 >> 8),bVar4);
          puVar15 = (uint *)((uint)puVar15 | *(uint *)((int)puVar15 + -0x5f));
          *pcVar10 = *pcVar10 + bVar4;
          bVar43 = 0xe5 < bVar4;
          piVar29 = (int *)((int)piVar23 + -2);
          puVar18 = uStack_7c;
        }
code_r0x1001093a:
        pbVar11 = (byte *)((int)puVar18 + bVar43 + 0xa17f5c33);
        *pbVar11 = *pbVar11 + (char)pbVar11;
        puVar18 = (uint *)(CONCAT31((int3)((uint)pbVar11 >> 8),(char)pbVar11 + 'J') + -0xa17f13);
        cVar7 = (char)puVar18;
        *(byte *)((int)puVar18 + (int)piVar39) = *(byte *)((int)puVar18 + (int)piVar39) + cVar7;
        bVar46 = SCARRY1(*pbVar27,cVar7);
        *pbVar27 = *pbVar27 + cVar7;
        bVar45 = (char)*pbVar27 < '\0';
        bVar43 = *pbVar27 == 0;
        while (bVar43 || bVar46 != bVar45) {
          cVar7 = (char)puVar18;
          *(byte *)puVar18 = (byte)*puVar18 + cVar7;
          puVar12 = (uint *)CONCAT31((int3)((uint)puVar18 >> 8),cVar7 + '#');
          if ((char)(cVar7 + '#') != '\0' && '&' < (char)(cVar7 + 'J')) goto code_r0x100108fb;
          while( true ) {
            bVar4 = (byte)puVar12;
            *(byte *)puVar12 = (byte)*puVar12 + bVar4;
            uVar24 = (undefined3)((uint)puVar12 >> 8);
            cVar7 = bVar4 + 0x20;
            pcVar10 = (char *)CONCAT31(uVar24,cVar7);
            puStack_80 = (uint *)((uint)(in_NT & 1) * 0x4000 | (uint)SCARRY1(bVar4,' ') * 0x800 |
                                  (uint)(in_IF & 1) * 0x200 | (uint)(in_TF & 1) * 0x100 |
                                  (uint)(cVar7 < '\0') * 0x80 | (uint)(cVar7 == '\0') * 0x40 |
                                  (uint)(in_AF & 1) * 0x10 | (uint)((POPCOUNT(cVar7) & 1U) == 0) * 4
                                  | (uint)(0xdf < bVar4) | (uint)(in_ID & 1) * 0x200000 |
                                  (uint)(in_VIP & 1) * 0x100000 | (uint)(in_VIF & 1) * 0x80000 |
                                 (uint)(in_AC & 1) * 0x40000);
            *pcVar10 = *pcVar10 + cVar7;
            pcVar10[0x4a] = pcVar10[0x4a] + (char)piVar33;
            cVar3 = bVar4 + 7;
            puVar18 = (uint *)CONCAT31(uVar24,cVar3);
            if (cVar3 != '\0' && '\x18' < cVar7) {
              *(char *)piVar39 = (char)*piVar39 - (char)((uint)piVar29 >> 8);
              goto code_r0x1001090c;
            }
            *(byte *)puVar18 = (byte)*puVar18 + cVar3;
            bVar43 = SCARRY1(cVar3,'\x1a');
            cVar7 = bVar4 + 0x21;
            piVar23 = piVar29;
            pbVar11 = pbVar27;
            puVar48 = puVar15;
code_r0x1001096c:
            puVar12 = uStack_7c;
            puVar18 = puStack_80;
            puVar15 = puVar48;
            if (cVar7 != '\0' && bVar43 == cVar7 < '\0') {
              puStack_80 = (uint *)((uint)puStack_80 & 0xffff0000);
              piVar29 = piVar23;
              pbVar27 = pbVar11;
              goto code_r0x1001090c;
            }
            bVar4 = (byte)puStack_80;
            *(byte *)puStack_80 = (byte)*puStack_80 + bVar4;
            bVar5 = bVar4 + 0x20;
            pcVar10 = (char *)CONCAT31((int3)((uint)puStack_80 >> 8),bVar5);
            uVar47 = (uint)(in_NT & 1) * 0x4000 | (uint)SCARRY1(bVar4,' ') * 0x800 |
                     (uint)(in_IF & 1) * 0x200 | (uint)(in_TF & 1) * 0x100 |
                     (uint)((char)bVar5 < '\0') * 0x80 | (uint)(bVar5 == 0) * 0x40 |
                     (uint)(in_AF & 1) * 0x10 | (uint)((POPCOUNT(bVar5) & 1U) == 0) * 4 |
                     (uint)(0xdf < bVar4);
            *pcVar10 = *pcVar10 + bVar5;
            pcVar10[0x4a] = pcVar10[0x4a] + (char)piVar33;
            iVar20 = iRam26110000;
            iRam26110000 = iRam26110000 - (int)pbVar19;
            if (iRam26110000 != 0 && (int)pbVar19 <= iVar20) {
              puStack_80._0_2_ = (ushort)uVar47;
              in_DS = (ushort)puStack_80;
              goto code_r0x1001091f;
            }
            *pcVar10 = *pcVar10 + bVar5;
            piVar29 = (int *)((int)piVar23 + -1);
            pcVar10 = (char *)((uVar47 | (uint)(in_ID & 1) * 0x200000 |
                                (uint)(in_VIP & 1) * 0x100000 | (uint)(in_VIF & 1) * 0x80000 |
                               (uint)(in_AC & 1) * 0x40000) + 0xb0dd0533 + (uint)(0xe5 < bVar5));
            cVar7 = (char)pcVar10;
            *pcVar10 = *pcVar10 + cVar7;
            *(byte *)((int)puVar48 + -0x5f) =
                 *(byte *)((int)puVar48 + -0x5f) + (char)((uint)piVar33 >> 8);
            *pcVar10 = *pcVar10 + cVar7;
            uVar24 = (undefined3)((uint)pcVar10 >> 8);
            piVar40 = (int *)CONCAT31(uVar24,cVar7 + '(');
            *piVar40 = *piVar40 + -0x5e80fa00;
            *(char *)piVar40 = (char)*piVar40 + cVar7 + '(';
            pcVar10 = (char *)CONCAT31(uVar24,cVar7 + 'H');
            puVar15 = (uint *)((int)puVar48 + 1);
            pbVar27 = pbVar11 + 1;
            *(byte *)puVar48 = *pbVar11;
            *pcVar10 = *pcVar10 + cVar7 + 'H';
            pcVar10[0x4a] = pcVar10[0x4a] + (char)piVar33;
            puVar18 = (uint *)(pcVar10 + -0x93dd05);
            bVar4 = (byte)puVar18;
            bVar46 = SCARRY1((byte)*puVar18,bVar4);
            *(byte *)puVar18 = (byte)*puVar18 + bVar4;
            bVar45 = (char)(byte)*puVar18 < '\0';
            bVar43 = (byte)*puVar18 == 0;
            if (!bVar43 && bVar46 == bVar45) break;
            *(byte *)puVar18 = (byte)*puVar18 + bVar4;
            piVar29 = (int *)((int)piVar23 + -2);
            iVar20 = *piVar33;
            iVar21 = *piVar33;
            *piVar33 = (int)(pbVar19 + iVar21 + (0xe5 < bVar4));
            uStack_7c = (uint *)CONCAT22(uStack_7c._2_2_,in_SS);
            if (*piVar33 == 0 ||
                (SCARRY4(iVar20,(int)pbVar19) !=
                SCARRY4((int)(pbVar19 + iVar21),(uint)(0xe5 < bVar4))) != *piVar33 < 0) {
              *(byte *)puVar12 = (byte)*puVar12 + (char)puVar12;
              pbVar31 = (byte *)CONCAT31((int3)((uint)puVar12 >> 8),(char)puVar12 + ' ');
              pbVar28 = pbVar11 + 2;
              *(byte *)puVar15 = *pbVar27;
              puVar15 = (uint *)((int)puVar48 + 2);
              goto code_r0x100109be;
            }
          }
        }
      } while( true );
    }
  }
  *(byte *)puVar15 = (byte)*puVar15 + (char)puVar15;
  *(byte *)unaff_EBX = (byte)*unaff_EBX + (char)pbVar27;
  bVar44 = false;
  pcVar10 = (char *)((uint)puVar15 | 0x12);
  pbVar11 = pbVar28;
code_r0x1001085b:
  bVar5 = (byte)pcVar10 + 0x1f;
  bVar43 = 0xe0 < (byte)pcVar10 || CARRY1(bVar5,bVar44);
  bVar5 = bVar5 + bVar44;
  bVar9 = bVar5 + 0x58;
  uVar16 = CONCAT31((int3)((uint)pcVar10 >> 8),bVar9 + bVar43);
  uVar47 = (uint)(0xa7 < bVar5 || CARRY1(bVar9,bVar43));
  uVar22 = uVar16 + 0xe0ebedac;
  bVar44 = uVar16 < 0x1f141254 || uVar22 < uVar47;
  iVar20 = uVar22 - uVar47;
  pbVar28 = (byte *)(iVar20 + 0x16);
  bVar9 = *pbVar28;
  bVar5 = *pbVar28;
  *pbVar28 = bVar5 + bVar4 + bVar44;
  return CONCAT44(CONCAT31((int3)((uint)pbVar27 >> 8),
                           (char)pbVar27 + pbVar11[(int)pbVar27] +
                           (CARRY1(bVar9,bVar4) || CARRY1(bVar5 + bVar4,bVar44)) + *pbVar19),iVar20)
         | 0x6f;
  while( true ) {
    *(char *)piVar23 = (char)*piVar23 + cVar3;
    cVar7 = cVar3 + '\x1f';
    *(byte *)(puVar12 + -0x20) = (byte)puVar12[-0x20] + 1;
    piVar29 = (int *)(iVar21 + -2);
    *(char *)CONCAT31(uVar24,cVar7) = *(char *)CONCAT31(uVar24,cVar7) + cVar7;
    cVar8 = cVar3 + -5;
    pbVar31 = (byte *)CONCAT31(uVar24,cVar8);
    puVar15 = puVar12;
    if (cVar8 == '\0' || cVar7 < '$') break;
code_r0x100109be:
    puVar12 = uStack_7c;
    bVar5 = (byte)pbVar31;
    *pbVar31 = *pbVar31 + bVar5;
    pbVar31[0x4a] = pbVar31[0x4a] + (char)piVar33;
    *piVar33 = *piVar33 - (int)pbVar19;
    bVar4 = *pbVar31;
    *pbVar31 = *pbVar31 + bVar5;
    *piVar33 = (int)((int)piVar29 + (uint)CARRY1(bVar4,bVar5) + *piVar33);
    iVar21 = CONCAT31((int3)((uint)piVar29 >> 8),(byte)piVar29 | *pbVar19);
    bVar43 = CARRY4((uint)piVar33,*puVar15);
    piVar33 = (int *)((int)piVar33 + *puVar15);
    piVar29 = (int *)(iVar21 + -1);
    iVar20 = (CONCAT31((int3)((uint)pbVar31 >> 8),bVar5 + 0x58 + bVar43) ^ 0xd4a0305) - *piVar29;
    pbVar19 = (byte *)(CONCAT22((short)((uint)pbVar19 >> 0x10),
                                CONCAT11((byte)((uint)pbVar19 >> 8) | bRam1e6fde02,(char)pbVar19)) +
                      iRam00004a7e);
    iVar20 = CONCAT31((int3)((uint)iVar20 >> 8),(char)iVar20 + '\x17') + -0x4a7e33;
    *(byte *)((int)uStack_7c + (int)piVar29) =
         *(byte *)((int)uStack_7c + (int)piVar29) + (char)iVar20;
    puStack_80 = (uint *)pbVar19;
    piStack_84 = piVar29;
    piStack_88 = piVar33;
    puStack_8c = (undefined1 *)&uStack_78;
    uStack_90 = piVar39;
    *(char *)piVar29 = *(char *)piVar29;
    puVar18 = puRam28040000;
    cVar7 = (char)puRam28040000;
    *pbVar28 = *pbVar28 + cVar7;
    *pbVar28 = *pbVar28 + 1;
    *pbVar28 = *pbVar28 + cVar7;
    *(char *)piVar29 = *(char *)piVar29 - (char)((uint)piVar29 >> 8);
    uVar24 = (undefined3)((uint)puVar18 >> 8);
    cVar3 = cVar7 + (byte)*puVar18;
    piVar23 = (int *)CONCAT31(uVar24,cVar3);
    uStack_7c._2_2_ = (undefined2)((uint)iVar20 >> 0x10);
    uStack_7c = (uint *)CONCAT22(uStack_7c._2_2_,in_ES);
    bVar4 = (byte)piVar33;
    piVar40 = piVar39;
    pbStack_94 = pbVar28;
    if (cVar3 == '\0' || SCARRY1(cVar7,(byte)*puVar18) != cVar3 < '\0') goto code_r0x10010a59;
  }
  *pbVar31 = *pbVar31 + cVar8;
  pcVar10 = (char *)(CONCAT31(uVar24,cVar3 + 'y') | 0x7f040003);
  bVar44 = (in_ES & 0x400) != 0;
  in_AF = (in_ES & 0x10) != 0;
  cVar7 = *pcVar10;
  *(char *)(piVar33 + -0x87d8000) = (char)piVar33[-0x87d8000] - (char)((uint)puVar18 >> 8);
  puVar15 = (uint *)(CONCAT31((int3)((uint)pcVar10 >> 8),(char)pcVar10 + cVar7 + '\t') | 0xbe06fe);
  *pbVar28 = *pbVar28 + (char)puVar15;
  piVar40 = (int *)((int)piVar39 + *puVar15);
  bVar9 = ((char)puVar15 - *(char *)piVar29) - CARRY4((uint)piVar39,*puVar15);
  bVar5 = *pbVar28;
  *pbVar28 = *pbVar28 + bVar9;
  piStack_98._0_2_ = (ushort)puVar12;
  *(byte *)(iVar21 + 0x33) = *(byte *)(iVar21 + 0x33) | (byte)pbVar19;
  pbVar19 = pbVar19 + *(int *)(iVar21 + 0x26);
  if ((POPCOUNT((uint)pbVar19 & 0xff) & 1U) != 0) {
    *pbVar28 = *pbVar28 + (bVar9 + 0x58 + CARRY1(bVar5,bVar9) | 0x1e);
  }
  bRam101f0354 = bRam101f0354 | bVar4;
  pbStack_94 = (byte *)&uStack_90;
  uStack_90 = (int *)CONCAT22((short)((uint)piVar39 >> 0x10),in_SS);
  piVar23 = piVar39;
  in_DS = (ushort)piStack_98;
code_r0x10010a59:
  pcVar30 = (char *)((int)piVar29 + *(int *)pbVar28);
  piStack_98._0_2_ = (ushort)piVar33;
  uVar42 = (ushort)piStack_98;
  uVar24 = (undefined3)((uint)piVar23 >> 8);
  cVar7 = (char)piVar23 - (char)*piVar23;
  piVar39 = (int *)CONCAT31(uVar24,cVar7);
  pbVar19[0xc] = pbVar19[0xc] + cVar7;
  *piVar39 = *piVar39 + (int)piVar39;
  pcVar10 = (char *)CONCAT31(uVar24,cVar7);
  *pcVar10 = *pcVar10 + cVar7;
  uVar2 = pbStack_94._0_2_;
  *pcVar10 = *pcVar10 + cVar7;
  *pbVar19 = *pbVar19 + bVar4;
  *pcVar10 = *pcVar10 + cVar7;
  *pcVar10 = *pcVar10 + (char)((uint)pcVar30 >> 8);
  *pcVar10 = *pcVar10 + cVar7;
  cVar3 = (char)pbVar19;
  *pbVar28 = *pbVar28 + cVar3;
  *pcVar10 = *pcVar10 + cVar7;
  bVar26 = (byte)pcVar30;
  *(byte *)piVar33 = (char)*piVar33 + bVar26;
  *pbVar19 = *pbVar19 + cVar7;
  pcVar10 = (char *)CONCAT31(uVar24,cVar7);
  *pcVar10 = *pcVar10 + cVar7;
  pbVar27 = (byte *)(pcVar10 + *(int *)pbVar19);
  bVar5 = *pbVar27;
  bVar9 = (byte)pbVar27;
  *pbVar27 = *pbVar27 + bVar9;
  *(uint *)pbVar27 = (*(int *)pbVar27 - (int)pbVar27) - (uint)CARRY1(bVar5,bVar9);
  bVar5 = *pbVar27;
  *pbVar27 = *pbVar27 + bVar9;
  uVar24 = (undefined3)((uint)pbVar27 >> 8);
  bVar9 = (bVar9 - 1) - CARRY1(bVar5,bVar9);
  pcVar10 = (char *)CONCAT31(uVar24,bVar9);
  *pcVar10 = *pcVar10 + bVar9;
  pbStack_94 = (byte *)CONCAT22(pbStack_94._2_2_,in_CS);
  *pcVar10 = *pcVar10 + bVar9;
  *(byte *)piVar33 = (char)*piVar33 + bVar26;
  *pbVar19 = *pbVar19 + bVar9;
  pbVar31 = (byte *)CONCAT31(uVar24,bVar9);
  *pbVar31 = *pbVar31 + bVar9;
  bVar5 = *pbVar31;
  *pbVar31 = *pbVar31 + bVar9;
  *(uint *)pbVar31 = (*(int *)pbVar31 - (int)pbVar31) - (uint)CARRY1(bVar5,bVar9);
  *pbVar31 = *pbVar31 + bVar9;
  if ((POPCOUNT(*pbVar31) & 1U) == 0) {
    *pbVar31 = *pbVar31 + bVar9;
    piStack_98 = (int *)((uint)piVar33 & 0xffff0000);
  }
  else {
    *pbVar28 = *pbVar28 + cVar3;
    piStack_98 = piVar33;
  }
  *pbVar31 = *pbVar31 + bVar9;
  *(byte *)piVar33 = (char)*piVar33 + bVar26;
  *pbVar19 = *pbVar19 + bVar9;
  pcVar10 = (char *)CONCAT31(uVar24,bVar9);
  *pcVar10 = *pcVar10 + bVar9;
  pbVar28 = pbVar11 + 1;
  cVar7 = bVar9 + *pcVar10;
  pcVar10 = (char *)CONCAT31(uVar24,cVar7);
  *pbVar19 = *pbVar19 + bVar4;
  *pcVar10 = *pcVar10 + cVar7;
  *(byte *)((int)puVar12 + 2) = *(byte *)((int)puVar12 + 2) + (char)((uint)pbVar27 >> 8);
  *pcVar10 = *pcVar10 + cVar7;
  piStack_98 = (int *)CONCAT22(piStack_98._2_2_,in_CS);
  *pcVar10 = *pcVar10 + cVar7;
  *(byte *)piVar33 = (char)*piVar33 + bVar26;
  *pbVar19 = *pbVar19 + cVar7;
  *(char *)CONCAT31(uVar24,cVar7) = *(char *)CONCAT31(uVar24,cVar7) + cVar7;
  cVar3 = cVar3 + bVar26;
  pcVar25 = (char *)CONCAT31((int3)((uint)pbVar19 >> 8),cVar3);
  bVar5 = cRam19000002 + 4;
  cRam19000002 = cRam19000002 + '\x02';
  *pbVar28 = *pbVar28 + cVar3;
  *(char *)CONCAT31(0x190000,bVar5) = *(char *)CONCAT31(0x190000,bVar5) + bVar5;
  *(byte *)piVar33 = (char)*piVar33 + bVar26;
  *pcVar25 = *pcVar25 + bVar5;
  pbVar27 = (byte *)CONCAT31(0x190000,bVar5);
  *pbVar27 = *pbVar27 + bVar5;
  bVar4 = *pbVar27;
  *pbVar27 = *pbVar27 + bVar5;
  *(uint *)pbVar27 = (*(int *)pbVar27 - (int)pbVar27) - (uint)CARRY1(bVar4,bVar5);
  *pbVar27 = *pbVar27 + bVar5;
  *piVar33 = *piVar33;
  *pbVar28 = *pbVar28 + cVar3;
  *pbVar27 = *pbVar27 + bVar5;
  *(byte *)piVar33 = (char)*piVar33 + bVar26;
  *pcVar25 = *pcVar25 + bVar5;
  pcVar10 = (char *)CONCAT31(0x190000,bVar5);
  *pcVar10 = *pcVar10 + bVar5;
  *(char *)((int)pcVar10 * 2) = *(char *)((int)pcVar10 * 2) - bVar5;
  *pcVar30 = *pcVar30;
  *pcVar10 = *pcVar10 + bVar5;
  cVar7 = *(char *)((int)pcVar10 * 2);
  puVar15 = (uint *)CONCAT31(0x190000,cVar7);
  *pbVar28 = *pbVar28 + cVar3;
  *(char *)puVar15 = (char)*puVar15 + cVar7;
  *(byte *)piVar33 = (char)*piVar33 + bVar26;
  *pcVar25 = *pcVar25 + cVar7;
  *(char *)puVar15 = (char)*puVar15 + cVar7;
  *(char *)puVar15 = (char)*puVar15 + cVar7;
  out(3,cVar7);
  *(char *)puVar15 = (char)*puVar15 + cVar7;
  *(char *)puVar15 = (char)*puVar15 + cVar7;
  *(char *)((int)&piStack_98 + (int)puVar15) = *(char *)((int)&piStack_98 + (int)puVar15) + bVar26;
  *(char *)puVar15 = (char)*puVar15 + cVar7;
  bVar4 = (byte)puVar12;
  *(byte *)puVar12 = (byte)*puVar12 + bVar4;
  *pcVar30 = *pcVar30 + bVar4;
  *pcVar25 = *pcVar25 + bVar4;
  uVar47 = *puVar12;
  *(byte *)puVar12 = (byte)*puVar12 + bVar4;
  *(undefined1 *)((int)puVar12 * 2) = *(undefined1 *)((int)puVar12 * 2);
  *puVar12 = (*puVar12 - (int)puVar12) - (uint)CARRY1((byte)uVar47,bVar4);
  *(byte *)puVar12 = (byte)*puVar12 + bVar4;
  *pbVar28 = *pbVar28 + cVar3;
  *(byte *)puVar12 = (byte)*puVar12 + bVar4;
  *(byte *)piVar33 = (char)*piVar33 + bVar26;
  *pcVar25 = *pcVar25 + bVar4;
  *(byte *)puVar12 = (byte)*puVar12 + bVar4;
  pbVar19 = (byte *)CONCAT31((int3)((uint)puVar12 >> 8),5);
  bVar4 = *pbVar19;
  *pbVar19 = *pbVar19 + 5;
  *(uint *)pbVar19 = (*(int *)pbVar19 - (int)pbVar19) - (uint)(0xfa < bVar4);
  *pbVar19 = *pbVar19 + 5;
  iVar20 = *piVar40;
  pbVar27 = pbVar19 + 0xe0000;
  cVar7 = (char)pbVar27;
  *pbVar27 = *pbVar27 + cVar7;
  *piVar40 = (int)piVar33;
  *pbVar27 = *pbVar27 + cVar7;
  *(int *)((int)pbVar27 * 2) = (int)(pbVar27 + *(int *)((int)pbVar27 * 2));
  *pbVar27 = *pbVar27 + cVar7;
  *pbVar27 = *pbVar27 + cVar7;
  *pbVar27 = *pbVar27 + cVar7;
  out((short)pcVar30,cVar7);
  pbVar19 = pbVar19 + 0x5fc0000;
  bVar4 = (byte)pbVar19;
  *pbVar19 = *pbVar19 + bVar4;
  pcVar10 = (char *)((uint)pbVar19 | 0x53000000);
  *pcVar10 = *pcVar10 + bVar4;
  *piVar33 = (int)(pcVar25 + *piVar33);
  bRam0001e600 = bRam0001e600 ^ bVar4;
  pbVar27 = (byte *)(iVar20 + 0x14110001);
  bVar4 = *pbVar27;
  *pbVar27 = *pbVar27 + bVar26;
  pcVar25 = pcVar25 + (uint)CARRY1(bVar4,bVar26) + iRam20051314;
  pbVar27 = (byte *)(pcVar10 + 0xa800040);
  uVar47 = (uint)(CARRY1(bVar26,*pbVar27) || CARRY1(bVar26 + *pbVar27,(char *)0xf57fffbf < pcVar10))
  ;
  puVar18 = (uint *)(pcVar25 + *puVar15 + uVar47);
  pcVar10 = (char *)CONCAT31((int3)((uint)pcVar30 >> 8),
                             bVar26 + *pbVar27 + ((char *)0xf57fffbf < pcVar10) + *pbVar27 +
                             (CARRY4((uint)pcVar25,*puVar15) ||
                             CARRY4((uint)(pcVar25 + *puVar15),uVar47)));
  uVar47 = iVar20 + *(int *)pbVar27;
  pbVar19 = (byte *)0x13060000;
  piVar39 = (int *)((uint)pbVar27 | 2);
  *(int *)((int)piVar39 + uVar47) = (int)(*(int *)((int)piVar39 + uVar47) + (int)puVar18);
  iRam13060000 = iRam13060000 - (int)piVar39;
  cVar7 = (char)piVar39;
  *pbVar28 = *pbVar28 + cVar7;
  *piVar39 = *piVar39 + (int)piVar39;
  *pcVar10 = *pcVar10 + cVar7;
  if ((POPCOUNT(*pcVar10) & 1U) == 0) {
    bVar4 = cVar7 + 0x39;
    pcVar30 = (char *)CONCAT31((int3)((uint)pbVar27 >> 8),bVar4);
    *(byte *)puVar18 = (byte)*puVar18 ^ bVar4;
    *pcVar30 = *pcVar30 + bVar4;
    cRam910c0000 = cRam910c0000 - bVar4;
    cVar7 = (char)((uint)pcVar30 | 0x16040003);
    *pbVar28 = *pbVar28 + cVar7;
    pbVar19 = (byte *)CONCAT22(0x1306,(ushort)bRam13060025 << 8);
    piVar39 = (int *)CONCAT31((int3)(((uint)pcVar30 | 0x16040003) >> 8),cVar7 + -0x1e);
  }
  else {
    pcVar10[0x13060000] = pcVar10[0x13060000] + cVar7;
  }
  pcVar10 = (char *)((uint)pcVar10 | *puVar18);
  uVar22 = (uint)puVar18 | *(uint *)(pcVar10 + 0x2d);
  puVar15[0x1b] = puVar15[0x1b] | (uint)puVar15;
  uVar41 = (undefined2)(uVar22 >> 0x10);
  cVar7 = (char)uVar22;
  pbVar27 = (byte *)(CONCAT31((int3)((uint)piVar39 >> 8),(char)piVar39 + (char)*piVar39 + '\x13') +
                    0x134a0b11);
  bVar4 = (byte)(uVar22 >> 8) | *pbVar19 | *pbVar27;
  puVar18 = (uint *)CONCAT22(uVar41,CONCAT11(bVar4,cVar7));
  *(int *)pbVar27 = *(int *)pbVar27;
  iVar20 = *(int *)pbVar27;
  *(undefined2 *)(piVar40 + -1) = uVar42;
  if (iVar20 < 1) {
    *pcVar10 = *pcVar10 + cVar7;
    pbVar19 = (byte *)((uint)CONCAT21((short)((uint)pbVar19 >> 0x10),
                                      (char)((uint)pbVar19 >> 8) + pbVar19[0x1e]) << 8);
code_r0x10010bf0:
    pbRam11040002 = (byte *)(CONCAT31((int3)((uint)pbVar27 >> 8),(char)pbVar27 + '\x12') | 0x2b56f);
    *(undefined2 *)(piVar40 + -2) = uVar42;
    *(int *)pbRam11040002 = *(int *)pbRam11040002;
    iVar20 = *(int *)pbRam11040002;
    piVar35 = piVar40 + -3;
    piVar39 = piVar40 + -3;
    *(undefined2 *)(piVar40 + -3) = uVar42;
    if (0 < iVar20) goto code_r0x10010c06;
    pcVar30 = (char *)((uint)pbRam11040002 & 0x13040004);
  }
  else {
    bVar4 = bVar4 | *pbRam11040002;
    puVar18 = (uint *)CONCAT22(uVar41,CONCAT11(bVar4,cVar7));
    pbRam020a0000 = pbRam11040002;
    pbVar27 = pbRam11040002;
    if ((POPCOUNT(bVar4) & 1U) == 0) goto code_r0x10010bf0;
    piVar35 = piVar40 + -2;
    *(undefined2 *)(piVar40 + -2) = uVar42;
code_r0x10010c06:
    iVar20 = *(int *)pbRam11040002;
    cVar7 = (char)(pbRam11040002 + iVar20);
    cVar3 = (char)((uint)pbVar19 >> 8);
    *pbVar19 = *pbVar19 - cVar3;
    *pbVar28 = *pbVar28 + cVar7 + '\x16';
    pbVar19 = (byte *)((uint)CONCAT21((short)((uint)pbVar19 >> 0x10),cVar3 + pbVar19[0x25]) << 8);
    pcVar30 = (char *)CONCAT31((int3)((uint)(pbRam11040002 + iVar20) >> 8),cVar7 + -8);
    piVar39 = piVar35;
  }
  *puVar18 = *puVar18 | (uint)pcVar10;
  *(uint *)(pcVar10 + 0x2d) = *(uint *)(pcVar10 + 0x2d) | (uint)puVar18;
  puVar15[0x1b] = puVar15[0x1b] | (uint)puVar15;
  cVar7 = *pcVar30;
  bVar5 = (byte)((uint)puVar18 >> 8);
  *pbVar19 = *pbVar19 | bVar5;
  pbVar27 = (byte *)(CONCAT31((int3)((uint)pcVar30 >> 8),(char)pcVar30 + cVar7 + '\x13') +
                    0x134a0911);
  *pbVar27 = *pbVar27 | bVar5;
  *(undefined4 *)pbVar27 = *(undefined4 *)pbVar27;
  iVar20 = *(int *)pbVar27;
  puVar36 = (undefined2 *)((int)piVar39 + -4);
  *(undefined2 *)((int)piVar39 + -4) = uVar42;
  bVar4 = (byte)puVar18;
  if (iVar20 < 1) {
    *pcVar10 = *pcVar10 + bVar4;
    pbVar19[0x7e060000] = pbVar19[0x7e060000] - (char)pbVar27;
    uVar22 = (uint)pbVar27 | 0x16040003;
code_r0x10010c4d:
    cVar3 = (char)((uint)pbVar19 >> 8);
    *pbVar19 = *pbVar19 - cVar3;
    cVar7 = (char)uVar22;
    *pbVar28 = *pbVar28 + cVar7;
    pbVar19 = (byte *)((uint)CONCAT21((short)((uint)pbVar19 >> 0x10),cVar3 + pbVar19[0x25]) << 8);
    bVar43 = 0xec < (byte)(cVar7 - 0x37U);
    uVar22 = CONCAT31((int3)(uVar22 >> 8),cVar7 + -0x24);
  }
  else {
    pbVar27 = (byte *)CONCAT31((int3)((uint)(pbVar27 + *(int *)pbVar27) >> 8),
                               (char)(pbVar27 + *(int *)pbVar27) + '\x7f');
    *pbVar27 = *pbVar27 | bVar5;
    pbRam280a0000 = pbVar27;
    *(undefined4 *)pbVar27 = *(undefined4 *)pbVar27;
    iVar20 = *(int *)pbVar27;
    puVar36 = (undefined2 *)((int)piVar39 + -8);
    *(undefined2 *)((int)piVar39 + -8) = uVar42;
    if (0 < iVar20) {
      uVar22 = CONCAT31((int3)((uint)(pbVar27 + *(int *)pbVar27) >> 8),
                        (char)(pbVar27 + *(int *)pbVar27) + '\x16');
      puVar36 = (undefined2 *)((int)piVar39 + -8);
      goto code_r0x10010c4d;
    }
    bVar43 = false;
    uVar22 = (uint)pbVar27 & 0x13040004;
  }
  uVar41 = *puVar36;
  *puVar15 = *puVar15 + uVar22 + (uint)bVar43;
  pbVar31 = (byte *)(pcVar10 + -1);
  pbVar19[(int)pbVar31] = pbVar19[(int)pbVar31] + (char)(uVar22 + 0xfd9380f7);
  *puVar36 = uVar41;
  uVar22 = (uVar22 + 0xfd9380f7) - iRam134a0711;
  puVar36[-2] = uVar41;
  pbVar19[0x7e060000] = pbVar19[0x7e060000] - (char)uVar22;
  uVar22 = uVar22 | 0x7f040003;
  pbRam11040002 = (byte *)uVar22;
  puVar36[-4] = uVar41;
  bVar5 = pbVar19[0x23];
  uVar42 = (undefined2)((uint)pbVar19 >> 0x10);
  bVar9 = (char)uVar22 + 0x28;
  puVar12 = (uint *)CONCAT31((int3)(uVar22 >> 8),bVar9);
  *puVar12 = *puVar12 << (bVar4 & 0x1f) | *puVar12 >> 0x20 - (bVar4 & 0x1f);
  *pbVar31 = *pbVar31 + bVar4;
  puVar36[-6] = uVar2;
  bVar4 = (char)((uint)pbVar19 >> 8) + bVar5 | (byte)*puVar12;
  uVar17 = (uint)CONCAT21(uVar42,bVar4);
  iVar20 = uVar17 * 0x100;
  uVar22 = *puVar12;
  *(byte *)puVar12 = (byte)*puVar12 + bVar9;
  uVar22 = (uint)CARRY1((byte)uVar22,bVar9);
  bVar43 = CARRY4((uint)pcRam00010a28,(uint)puVar18);
  pcVar10 = (char *)((int)pcRam00010a28 + (int)puVar18);
  pcRam00010a28 = pcVar10 + uVar22;
  puVar36[-8] = uVar41;
  uVar16 = (uint)(bVar43 || CARRY4((uint)pcVar10,uVar22));
  uVar22 = *(uint *)(pbVar31 + (int)puVar12);
  pbVar27 = (byte *)((int)puVar12 + *(uint *)(pbVar31 + (int)puVar12));
  pbVar19 = pbVar27 + uVar16;
  if ((POPCOUNT((uint)pbVar19 & 0xff) & 1U) == 0) {
    piVar39 = *(int **)(puVar36 + -8);
    *(int *)((int)piVar39 + uVar47) =
         (int)piVar39 + (uint)(0xe5 < (byte)pbVar19) + *(int *)((int)piVar39 + uVar47);
    *piVar39 = *piVar39 + (int)piVar39;
    puVar37 = puVar36 + -8;
    puVar36[-8] = uVar41;
    bVar5 = (byte)pbVar31;
    bVar43 = CARRY1(bVar5,*pbVar28);
    pbVar31 = (byte *)CONCAT31((int3)((uint)pbVar31 >> 8),bVar5 + *pbVar28);
    puVar38 = puVar36 + -8;
    if (SCARRY1(bVar5,*pbVar28) == (char)(bVar5 + *pbVar28) < '\0') goto code_r0x10010cd2;
    uVar24 = (undefined3)((uint)piVar39 >> 8);
    bVar5 = (char)piVar39 + 2;
    if ((POPCOUNT(bVar5) & 1U) != 0) {
      bVar43 = 0x23 < bVar5;
      piVar39 = (int *)CONCAT31(uVar24,(char)piVar39 + -0x22);
      puVar38 = puVar36 + -8;
      goto code_r0x10010cd2;
    }
  }
  else {
    uVar24 = (undefined3)((uint)pbVar19 >> 8);
    puVar36[-10] = in_DS;
    bVar5 = (byte)pbVar19 + (CARRY4((uint)puVar12,uVar22) || CARRY4((uint)pbVar27,uVar16)) + 0x9d;
    puVar37 = puVar36 + -0xc;
    puVar36[-0xc] = uVar41;
  }
  bVar9 = bVar5 + 5;
  pbVar11 = pbVar11 + (uint)bVar44 * -8 + 5;
  out(*(undefined4 *)pbVar28,(short)pbVar31);
  *pbVar11 = *pbVar11 + bVar9;
  pbVar31 = (byte *)CONCAT31((int3)(CONCAT22((short)((uint)pbVar31 >> 0x10),
                                             CONCAT11(2,(char)pbVar31)) >> 8),
                             (char)pbVar31 + *(char *)((int)puVar15 * 2 + 0x400041e));
  *pbVar11 = *pbVar11 & bVar9;
  *(byte *)puVar18 = (char)*puVar18 + bVar9;
  *pbVar31 = *pbVar31 | 0xde;
  bVar43 = 0xe9 < bVar9;
  piVar39 = (int *)CONCAT31(uVar24,bVar5 + 0x1b);
  puVar38 = (ushort *)((int)puVar37 + 8);
  pbVar28 = pbVar11;
code_r0x10010cd2:
  uVar22 = *(uint *)(puVar38 + uVar17 * 0x400);
  uVar16 = (int)piVar39 + *(uint *)(puVar38 + uVar17 * 0x400);
  uVar17 = uVar16 + bVar43;
  puVar38[-2] = uVar2;
  puVar12 = (uint *)(iVar20 + uVar47);
  uVar22 = (uint)(CARRY4((uint)piVar39,uVar22) || CARRY4(uVar16,(uint)bVar43));
  uVar16 = uVar17 + *puVar12;
  iVar21 = uVar16 + uVar22;
  bVar9 = (byte)iVar21;
  bVar5 = 9 < (bVar9 & 0xf) | in_AF;
  bVar9 = bVar9 + bVar5 * -6;
  bVar9 = bVar9 + (0x9f < bVar9 |
                  (CARRY4(uVar17,*puVar12) || CARRY4(uVar16,uVar22)) | bVar5 * (bVar9 < 6)) * -0x60;
  bVar5 = (char)pbVar31 + *pbVar28;
  pbVar27 = (byte *)CONCAT31((int3)((uint)pbVar31 >> 8),bVar5);
  if (SCARRY1((char)pbVar31,*pbVar28) == (char)bVar5 < '\0') {
    bVar9 = bVar9 | *pbVar27;
  }
  pbVar11 = (byte *)((int)puVar18 + (uint)(0xe9 < bVar9) + *(int *)pbVar28);
  iVar34 = (uint)CONCAT21(uVar42,bVar4 + *(char *)(iVar20 + 0x1e)) * 0x100;
  bVar9 = bVar9 + 0x13;
  uVar42 = *puVar38;
  pbVar19 = pbVar28 + (uint)bVar44 * -8 + 4;
  out(*(undefined4 *)pbVar28,(short)pbVar27);
  pbVar27 = (byte *)CONCAT22((short)((uint)pbVar31 >> 0x10),CONCAT11(2,bVar5));
  *pbVar19 = *pbVar19 + bVar9;
  bRam0a800040 = bRam0a800040 & bVar9;
  iVar20 = CONCAT31((int3)((uint)iVar21 >> 8),bVar9) - *(int *)pbVar19;
  bVar4 = (byte)iVar20;
  *pbVar19 = *pbVar19 & bVar4;
  *pbVar11 = *pbVar11 + bVar4;
  *pbVar27 = *pbVar27 | 2;
  *puVar38 = in_DS;
  *(byte **)(puVar38 + -2) = pbVar11;
  puVar18 = (uint *)(CONCAT31((int3)((uint)iVar20 >> 8),bVar4 + 0x5b) + iRamda6f0511 +
                    (uint)(0x21 < (byte)(bVar4 + 0x7d)));
  bVar9 = (byte)puVar18;
  *(byte *)puVar18 = (char)*puVar18 + bVar9;
  uVar24 = (undefined3)((uint)pbVar27 >> 8);
  *(uint **)(puVar38 + -4) = puVar18;
  *(byte **)(puVar38 + -6) = pbVar11;
  *(uint *)(puVar38 + -8) = CONCAT31(uVar24,bVar5 | bVar9);
  *(int *)(puVar38 + -10) = iVar34;
  *(ushort **)(puVar38 + -0xc) = puVar38 + -2;
  *(uint *)(puVar38 + -0xe) = uVar47;
  *(byte **)(puVar38 + -0x10) = pbVar19;
  *(uint **)(puVar38 + -0x12) = puVar15;
  *(byte *)puVar18 = (char)*puVar18 + bVar9;
  uVar22 = *puVar18;
  *puVar18 = *puVar18 + uVar47;
  pcVar10 = (char *)((int)puVar18 + CARRY4(uVar22,uVar47) + 0x280a0000);
  cVar7 = *(char *)(iVar34 + ((uint)pcVar10 & 0xff));
  pcVar10 = (char *)CONCAT31((int3)((uint)pcVar10 >> 8),cVar7);
  *pcVar10 = *pcVar10 + cVar7;
  bVar4 = *pbVar19;
  piVar39 = (int *)((uint)pcVar10 ^ *puVar15);
  bRam2b800040 = bRam2b800040 & (byte)piVar39;
  *piVar39 = *piVar39 + iVar34;
  puVar32 = (undefined1 *)CONCAT31(uVar24,bVar5 | bVar9 | bVar4 | *pbVar11);
  iVar20 = (int)piVar39 + 0xc16f;
  bVar4 = pbVar11[iVar20];
  cVar7 = (char)iVar20 + -8;
  pbVar27 = (byte *)CONCAT31((int3)((uint)iVar20 >> 8),cVar7);
  *puVar32 = *puVar32;
  *pbVar27 = *pbVar27 + cVar7;
  puVar18 = (uint *)CONCAT31((int3)((uint)pbVar11 >> 8),(byte)pbVar11 | bVar4 | *pbVar27);
  puVar32[iVar34] = puVar32[iVar34] + ((byte)*(undefined4 *)(puVar38 + -0x12) | 10);
  puVar15 = *(uint **)(puVar38 + -0x10);
  *puVar15 = *puVar15 | uVar47;
  *puVar15 = *puVar15 + (int)puVar15;
  puVar38[-0x10] = uVar42;
  puVar38[-0x12] = uVar2;
  pcVar10 = (char *)((uint)puVar15 | 0xde0d14dc);
  *pbVar19 = *pbVar19 + (char)pcVar10;
  uVar24 = (undefined3)((uint)pcVar10 >> 8);
  cVar7 = (char)pcVar10 - *pcVar10;
  pcVar10 = (char *)CONCAT31(uVar24,cVar7);
  *(char *)(puVar18 + 0x13) = (char)puVar18[0x13] + cVar7;
  *pcVar10 = *pcVar10 + cVar7;
  pcVar10 = (char *)CONCAT31(uVar24,cVar7);
  *pcVar10 = *pcVar10 + cVar7;
  pcVar10 = (char *)((uint)pcVar10 & *puVar18);
  cVar7 = (char)pcVar10;
  *pcVar10 = *pcVar10 + cVar7;
  *pcVar10 = *pcVar10 + cVar7;
  *(undefined1 *)((int)puVar18 + 1) = *(undefined1 *)((int)puVar18 + 1);
  *pcVar10 = *pcVar10 + cVar7;
  *pcVar10 = *pcVar10 + cVar7;
  *(int *)(puVar38 + -0x14) = iVar34;
  *pcVar10 = *pcVar10 + cVar7;
  *(int *)((int)pcVar10 * 2) = (int)(pcVar10 + *(int *)((int)pcVar10 * 2));
  *pcVar10 = *pcVar10 + cVar7;
  pcVar1 = (code *)swi(3);
  uVar50 = (*pcVar1)();
  return uVar50;
}


Connect2 at 10010b78

Signature: int __fastcall Connect2(uint nameSpace, undefined4 param_2)


/* WARNING: Instruction at (ram,0x10010d01) overlaps instruction at (ram,0x10010d00)
    */

int __fastcall Connect2(uint nameSpace,undefined4 param_2)

{
  uint uVar1;
  code *pcVar2;
  byte bVar3;
  byte bVar4;
  byte bVar5;
  char cVar6;
  undefined4 in_EAX;
  uint uVar7;
  byte *pbVar8;
  char *pcVar9;
  undefined3 uVar15;
  uint uVar10;
  int iVar11;
  int iVar12;
  uint *puVar13;
  int *piVar14;
  uint *puVar16;
  undefined2 uVar18;
  uint *puVar17;
  char *pcVar19;
  byte *pbVar20;
  undefined3 uVar22;
  undefined1 *puVar21;
  char cVar25;
  byte *pbVar23;
  int iVar24;
  int unaff_EBP;
  uint uVar26;
  byte *unaff_ESI;
  uint *unaff_EDI;
  undefined2 in_ES;
  undefined2 in_SS;
  undefined2 in_DS;
  char in_CF;
  bool bVar27;
  byte in_AF;
  byte *pbStack_24;
  int *apiStack_20 [2];
  undefined2 uStack_18;
  undefined2 uStack_14;
  undefined2 uStack_10;
  
                    /* .NET CLR Managed Code */
  uVar7 = CONCAT31((int3)((uint)in_EAX >> 8),(char)in_EAX + '\x13' + in_CF) | 0x20051314;
  pbVar8 = (byte *)(uVar7 + 0xa800040);
  bVar3 = (byte)param_2 + *pbVar8;
  uVar26 = (uint)(CARRY1((byte)param_2,*pbVar8) || CARRY1(bVar3,0xf57fffbf < uVar7));
  puVar16 = (uint *)(nameSpace + *unaff_EDI + uVar26);
  pcVar19 = (char *)CONCAT31((int3)((uint)param_2 >> 8),
                             bVar3 + (0xf57fffbf < uVar7) + *pbVar8 +
                             (CARRY4(nameSpace,*unaff_EDI) || CARRY4(nameSpace + *unaff_EDI,uVar26))
                            );
  uVar26 = unaff_EBP + *(int *)pbVar8;
  pbVar23 = (byte *)0x13060000;
  piVar14 = (int *)((uint)pbVar8 | 2);
  *(int *)((int)piVar14 + uVar26) = (int)(*(int *)((int)piVar14 + uVar26) + (int)puVar16);
  iRam13060000 = iRam13060000 - (int)piVar14;
  cVar6 = (char)piVar14;
  *unaff_ESI = *unaff_ESI + cVar6;
  *piVar14 = *piVar14 + (int)piVar14;
  *pcVar19 = *pcVar19 + cVar6;
  if ((POPCOUNT(*pcVar19) & 1U) == 0) {
    bVar3 = cVar6 + 0x39;
    pcVar9 = (char *)CONCAT31((int3)((uint)pbVar8 >> 8),bVar3);
    *(byte *)puVar16 = (byte)*puVar16 ^ bVar3;
    *pcVar9 = *pcVar9 + bVar3;
    cRam910c0000 = cRam910c0000 - bVar3;
    cVar6 = (char)((uint)pcVar9 | 0x16040003);
    *unaff_ESI = *unaff_ESI + cVar6;
    pbVar23 = (byte *)CONCAT22(0x1306,(ushort)bRam13060025 << 8);
    piVar14 = (int *)CONCAT31((int3)(((uint)pcVar9 | 0x16040003) >> 8),cVar6 + -0x1e);
  }
  else {
    pcVar19[0x13060000] = pcVar19[0x13060000] + cVar6;
  }
  pcVar19 = (char *)((uint)pcVar19 | *puVar16);
  uVar7 = (uint)puVar16 | *(uint *)(pcVar19 + 0x2d);
  unaff_EDI[0x1b] = unaff_EDI[0x1b] | (uint)unaff_EDI;
  uVar18 = (undefined2)(uVar7 >> 0x10);
  cVar6 = (char)uVar7;
  pbVar8 = (byte *)(CONCAT31((int3)((uint)piVar14 >> 8),(char)piVar14 + (char)*piVar14 + '\x13') +
                   0x134a0b11);
  bVar3 = (byte)(uVar7 >> 8) | *pbVar23 | *pbVar8;
  puVar16 = (uint *)CONCAT22(uVar18,CONCAT11(bVar3,cVar6));
  *(int *)pbVar8 = *(int *)pbVar8;
  if (*(int *)pbVar8 < 1) {
    *pcVar19 = *pcVar19 + cVar6;
    pbVar23 = (byte *)((uint)CONCAT21((short)((uint)pbVar23 >> 0x10),
                                      (char)((uint)pbVar23 >> 8) + pbVar23[0x1e]) << 8);
code_r0x10010bf0:
    pbRam11040002 = (byte *)(CONCAT31((int3)((uint)pbVar8 >> 8),(char)pbVar8 + '\x12') | 0x2b56f);
    *(int *)pbRam11040002 = *(int *)pbRam11040002;
    if (0 < *(int *)pbRam11040002) goto code_r0x10010c06;
    pcVar9 = (char *)((uint)pbRam11040002 & 0x13040004);
  }
  else {
    bVar3 = bVar3 | *pbRam11040002;
    puVar16 = (uint *)CONCAT22(uVar18,CONCAT11(bVar3,cVar6));
    pbRam020a0000 = pbRam11040002;
    pbVar8 = pbRam11040002;
    if ((POPCOUNT(bVar3) & 1U) == 0) goto code_r0x10010bf0;
code_r0x10010c06:
    iVar12 = *(int *)pbRam11040002;
    cVar6 = (char)(pbRam11040002 + iVar12);
    cVar25 = (char)((uint)pbVar23 >> 8);
    *pbVar23 = *pbVar23 - cVar25;
    *unaff_ESI = *unaff_ESI + cVar6 + '\x16';
    pbVar23 = (byte *)((uint)CONCAT21((short)((uint)pbVar23 >> 0x10),cVar25 + pbVar23[0x25]) << 8);
    pcVar9 = (char *)CONCAT31((int3)((uint)(pbRam11040002 + iVar12) >> 8),cVar6 + -8);
  }
  *puVar16 = *puVar16 | (uint)pcVar19;
  *(uint *)(pcVar19 + 0x2d) = *(uint *)(pcVar19 + 0x2d) | (uint)puVar16;
  unaff_EDI[0x1b] = unaff_EDI[0x1b] | (uint)unaff_EDI;
  cVar6 = *pcVar9;
  bVar5 = (byte)((uint)puVar16 >> 8);
  *pbVar23 = *pbVar23 | bVar5;
  pbVar8 = (byte *)(CONCAT31((int3)((uint)pcVar9 >> 8),(char)pcVar9 + cVar6 + '\x13') + 0x134a0911);
  *pbVar8 = *pbVar8 | bVar5;
  *(undefined4 *)pbVar8 = *(undefined4 *)pbVar8;
  bVar3 = (byte)puVar16;
  if (*(int *)pbVar8 < 1) {
    *pcVar19 = *pcVar19 + bVar3;
    pbVar23[0x7e060000] = pbVar23[0x7e060000] - (char)pbVar8;
    uVar7 = (uint)pbVar8 | 0x16040003;
code_r0x10010c4d:
    cVar25 = (char)((uint)pbVar23 >> 8);
    *pbVar23 = *pbVar23 - cVar25;
    cVar6 = (char)uVar7;
    *unaff_ESI = *unaff_ESI + cVar6;
    pbVar23 = (byte *)((uint)CONCAT21((short)((uint)pbVar23 >> 0x10),cVar25 + pbVar23[0x25]) << 8);
    bVar27 = 0xec < (byte)(cVar6 - 0x37U);
    uVar7 = CONCAT31((int3)(uVar7 >> 8),cVar6 + -0x24);
  }
  else {
    pbVar8 = (byte *)CONCAT31((int3)((uint)(pbVar8 + *(int *)pbVar8) >> 8),
                              (char)(pbVar8 + *(int *)pbVar8) + '\x7f');
    *pbVar8 = *pbVar8 | bVar5;
    pbRam280a0000 = pbVar8;
    *(undefined4 *)pbVar8 = *(undefined4 *)pbVar8;
    uStack_10 = in_ES;
    if (0 < *(int *)pbVar8) {
      uVar7 = CONCAT31((int3)((uint)(pbVar8 + *(int *)pbVar8) >> 8),
                       (char)(pbVar8 + *(int *)pbVar8) + '\x16');
      goto code_r0x10010c4d;
    }
    bVar27 = false;
    uVar7 = (uint)pbVar8 & 0x13040004;
  }
  *unaff_EDI = *unaff_EDI + uVar7 + (uint)bVar27;
  pbVar20 = (byte *)(pcVar19 + -1);
  pbVar23[(int)pbVar20] = pbVar23[(int)pbVar20] + (char)(uVar7 + 0xfd9380f7);
  uVar7 = (uVar7 + 0xfd9380f7) - iRam134a0711;
  uStack_14 = uStack_10;
  pbVar23[0x7e060000] = pbVar23[0x7e060000] - (char)uVar7;
  pbRam11040002 = (byte *)(uVar7 | 0x7f040003);
  uStack_18 = uStack_10;
  bVar5 = pbVar23[0x23];
  uVar18 = (undefined2)((uint)pbVar23 >> 0x10);
  bVar4 = (char)pbRam11040002 + 0x28;
  puVar13 = (uint *)CONCAT31((int3)((uint)pbRam11040002 >> 8),bVar4);
  *puVar13 = *puVar13 << (bVar3 & 0x1f) | *puVar13 >> 0x20 - (bVar3 & 0x1f);
  *pbVar20 = *pbVar20 + bVar3;
  bVar3 = (char)((uint)pbVar23 >> 8) + bVar5 | (byte)*puVar13;
  uVar1 = (uint)CONCAT21(uVar18,bVar3);
  iVar12 = uVar1 * 0x100;
  uVar7 = *puVar13;
  *(byte *)puVar13 = (byte)*puVar13 + bVar4;
  uVar7 = (uint)CARRY1((byte)uVar7,bVar4);
  bVar27 = CARRY4((uint)pcRam00010a28,(uint)puVar16);
  pcVar19 = (char *)((int)pcRam00010a28 + (int)puVar16);
  pcRam00010a28 = pcVar19 + uVar7;
  apiStack_20[0] = (int *)CONCAT22(apiStack_20[0]._2_2_,uStack_10);
  piVar14 = apiStack_20[0];
  uVar7 = (uint)(bVar27 || CARRY4((uint)pcVar19,uVar7));
  pbVar8 = (byte *)((int)puVar13 + *(uint *)(pbVar20 + (int)puVar13));
  pbVar23 = pbVar8 + uVar7;
  if ((POPCOUNT((uint)pbVar23 & 0xff) & 1U) == 0) {
    *(int *)((int)apiStack_20[0] + uVar26) =
         (int)apiStack_20[0] + (uint)(0xe5 < (byte)pbVar23) + *(int *)((int)apiStack_20[0] + uVar26)
    ;
    *apiStack_20[0] = *apiStack_20[0] + (int)apiStack_20[0];
    apiStack_20[0] = (int *)CONCAT22(apiStack_20[0]._2_2_,uStack_10);
    bVar5 = (byte)pbVar20;
    bVar27 = CARRY1(bVar5,*unaff_ESI);
    pbVar20 = (byte *)CONCAT31((int3)((uint)pbVar20 >> 8),bVar5 + *unaff_ESI);
    if (SCARRY1(bVar5,*unaff_ESI) == (char)(bVar5 + *unaff_ESI) < '\0') goto code_r0x10010cd2;
    uVar15 = (undefined3)((uint)piVar14 >> 8);
    bVar5 = (char)uStack_10 + 2;
    if ((POPCOUNT(bVar5) & 1U) != 0) {
      bVar27 = 0x23 < bVar5;
      piVar14 = (int *)CONCAT31(uVar15,(char)uStack_10 + -0x22);
      goto code_r0x10010cd2;
    }
  }
  else {
    uVar15 = (undefined3)((uint)pbVar23 >> 8);
    bVar5 = (byte)pbVar23 +
            (CARRY4((uint)puVar13,*(uint *)(pbVar20 + (int)puVar13)) || CARRY4((uint)pbVar8,uVar7))
            + 0x9d;
  }
  bVar4 = bVar5 + 5;
  pbVar8 = unaff_ESI + 4;
  out(*(undefined4 *)unaff_ESI,(short)pbVar20);
  *pbVar8 = *pbVar8 + bVar4;
  pbVar20 = (byte *)CONCAT31((int3)(CONCAT22((short)((uint)pbVar20 >> 0x10),
                                             CONCAT11(2,(char)pbVar20)) >> 8),
                             (char)pbVar20 + *(char *)((int)unaff_EDI * 2 + 0x400041e));
  *pbVar8 = *pbVar8 & bVar4;
  *(byte *)puVar16 = (char)*puVar16 + bVar4;
  *pbVar20 = *pbVar20 | 0xde;
  bVar27 = 0xe9 < bVar4;
  piVar14 = (int *)CONCAT31(uVar15,bVar5 + 0x1b);
  unaff_ESI = pbVar8;
code_r0x10010cd2:
  uVar7 = (int)piVar14 + (int)apiStack_20[uVar1 * 0x200];
  uVar10 = uVar7 + bVar27;
  puVar13 = (uint *)(iVar12 + uVar26);
  uVar7 = (uint)(CARRY4((uint)piVar14,(uint)apiStack_20[uVar1 * 0x200]) ||
                CARRY4(uVar7,(uint)bVar27));
  uVar1 = uVar10 + *puVar13;
  iVar11 = uVar1 + uVar7;
  bVar4 = (byte)iVar11;
  bVar5 = 9 < (bVar4 & 0xf) | in_AF;
  bVar4 = bVar4 + bVar5 * -6;
  bVar4 = bVar4 + (0x9f < bVar4 |
                  (CARRY4(uVar10,*puVar13) || CARRY4(uVar1,uVar7)) | bVar5 * (bVar4 < 6)) * -0x60;
  bVar5 = (char)pbVar20 + *unaff_ESI;
  pbVar8 = (byte *)CONCAT31((int3)((uint)pbVar20 >> 8),bVar5);
  if (SCARRY1((char)pbVar20,*unaff_ESI) == (char)bVar5 < '\0') {
    bVar4 = bVar4 | *pbVar8;
  }
  pbStack_24 = (byte *)((int)puVar16 + (uint)(0xe9 < bVar4) + *(int *)unaff_ESI);
  iVar24 = (uint)CONCAT21(uVar18,bVar3 + *(char *)(iVar12 + 0x1e)) * 0x100;
  bVar4 = bVar4 + 0x13;
  puVar16 = (uint *)(unaff_ESI + 4);
  out(*(undefined4 *)unaff_ESI,(short)pbVar8);
  pbVar8 = (byte *)CONCAT22((short)((uint)pbVar20 >> 0x10),CONCAT11(2,bVar5));
  *(byte *)puVar16 = (byte)*puVar16 + bVar4;
  bRam0a800040 = bRam0a800040 & bVar4;
  iVar12 = CONCAT31((int3)((uint)iVar11 >> 8),bVar4) - *puVar16;
  bVar3 = (byte)iVar12;
  *(byte *)puVar16 = (byte)*puVar16 & bVar3;
  *pbStack_24 = *pbStack_24 + bVar3;
  *pbVar8 = *pbVar8 | 2;
  apiStack_20[0] = (int *)CONCAT22(apiStack_20[0]._2_2_,in_DS);
  puVar13 = (uint *)(CONCAT31((int3)((uint)iVar12 >> 8),bVar3 + 0x5b) + iRamda6f0511 +
                    (uint)(0x21 < (byte)(bVar3 + 0x7d)));
  bVar4 = (byte)puVar13;
  *(byte *)puVar13 = (char)*puVar13 + bVar4;
  uVar22 = (undefined3)((uint)pbVar8 >> 8);
  *(byte *)puVar13 = (char)*puVar13 + bVar4;
  uVar7 = *puVar13;
  *puVar13 = *puVar13 + uVar26;
  pcVar19 = (char *)((int)puVar13 + CARRY4(uVar7,uVar26) + 0x280a0000);
  cVar6 = *(char *)(iVar24 + ((uint)pcVar19 & 0xff));
  pcVar19 = (char *)CONCAT31((int3)((uint)pcVar19 >> 8),cVar6);
  *pcVar19 = *pcVar19 + cVar6;
  uVar7 = *puVar16;
  piVar14 = (int *)((uint)pcVar19 ^ *unaff_EDI);
  bRam2b800040 = bRam2b800040 & (byte)piVar14;
  *piVar14 = *piVar14 + iVar24;
  puVar21 = (undefined1 *)CONCAT31(uVar22,bVar5 | bVar4 | (byte)uVar7 | *pbStack_24);
  iVar12 = (int)piVar14 + 0xc16f;
  bVar3 = pbStack_24[iVar12];
  cVar6 = (char)iVar12 + -8;
  pbVar8 = (byte *)CONCAT31((int3)((uint)iVar12 >> 8),cVar6);
  *puVar21 = *puVar21;
  *pbVar8 = *pbVar8 + cVar6;
  puVar17 = (uint *)CONCAT31((int3)((uint)pbStack_24 >> 8),(byte)pbStack_24 | bVar3 | *pbVar8);
  puVar21[iVar24] = puVar21[iVar24] + ((byte)unaff_EDI | 10);
  *puVar16 = *puVar16 | uVar26;
  *puVar16 = (uint)(*puVar16 + (int)puVar16);
  pcVar19 = (char *)((uint)puVar16 | 0xde0d14dc);
  *(byte *)puVar16 = (byte)*puVar16 + (char)pcVar19;
  uVar15 = (undefined3)((uint)pcVar19 >> 8);
  cVar6 = (char)pcVar19 - *pcVar19;
  pcVar19 = (char *)CONCAT31(uVar15,cVar6);
  *(char *)(puVar17 + 0x13) = (char)puVar17[0x13] + cVar6;
  *pcVar19 = *pcVar19 + cVar6;
  pcVar19 = (char *)CONCAT31(uVar15,cVar6);
  *pcVar19 = *pcVar19 + cVar6;
  pcVar19 = (char *)((uint)pcVar19 & *puVar17);
  cVar6 = (char)pcVar19;
  *pcVar19 = *pcVar19 + cVar6;
  *pcVar19 = *pcVar19 + cVar6;
  *(undefined1 *)((int)puVar17 + 1) = *(undefined1 *)((int)puVar17 + 1);
  *pcVar19 = *pcVar19 + cVar6;
  *pcVar19 = *pcVar19 + cVar6;
  *pcVar19 = *pcVar19 + cVar6;
  *(int *)((int)pcVar19 * 2) = (int)(pcVar19 + *(int *)((int)pcVar19 * 2));
  *pcVar19 = *pcVar19 + cVar6;
  pcVar2 = (code *)swi(3);
  iVar12 = (*pcVar2)(in_SS,CONCAT22((short)((uint)puVar16 >> 0x10),uStack_10),uVar26,&pbStack_24,
                     iVar24,CONCAT31(uVar22,bVar5 | bVar4),pbStack_24,puVar13);
  return iVar12;
}


AutoConnectLoop at 100167c8

Signature: void __fastcall AutoConnectLoop(int * param_1, int param_2, uint param_3)


/* WARNING: Instruction at (ram,0x10016916) overlaps instruction at (ram,0x10016914)
    */
/* WARNING: Removing unreachable block (ram,0x100167d7) */
/* WARNING: Removing unreachable block (ram,0x100167dd) */
/* WARNING: Removing unreachable block (ram,0x100167f0) */
/* WARNING: Removing unreachable block (ram,0x100167fa) */
/* WARNING: Removing unreachable block (ram,0x10016807) */

void __fastcall AutoConnectLoop(int *param_1,int param_2,uint param_3)

{
  uint uVar1;
  char cVar2;
  char cVar3;
  byte bVar4;
  uint uVar5;
  int *piVar6;
  int iVar7;
  uint *puVar8;
  undefined3 uVar13;
  byte *pbVar9;
  char *pcVar10;
  undefined2 uVar14;
  byte *pbVar11;
  uint uVar12;
  byte bVar15;
  byte *pbVar16;
  int *piVar17;
  int iVar18;
  undefined1 uVar19;
  byte bVar20;
  char cVar23;
  int unaff_EBX;
  uint *puVar21;
  uint *puVar22;
  uint unaff_EBP;
  byte *pbVar24;
  byte *unaff_ESI;
  byte *unaff_EDI;
  char in_ES;
  bool bVar25;
  bool bVar26;
  undefined2 in_FPUStatusWord;
  undefined1 auStack_4 [4];
  
                    /* .NET CLR Managed Code */
  uVar14 = (undefined2)((uint)unaff_EBX >> 0x10);
  uVar19 = (undefined1)unaff_EBX;
  cVar23 = (char)((uint)unaff_EBX >> 8) + *(char *)(unaff_EBX + 0x17);
  pcVar10 = (char *)CONCAT22(uVar14,CONCAT11(cVar23,uVar19));
  *pcVar10 = *pcVar10 - cVar23;
  *unaff_ESI = *unaff_ESI + 3;
  cVar2 = pcVar10[0x25];
  iVar18 = CONCAT22(uVar14,CONCAT11(cVar23 + cVar2,uVar19));
  *(int *)unaff_ESI = *(int *)unaff_ESI + (int)param_1;
  pcVar10 = (char *)(iVar18 + param_2 + -1);
  *pcVar10 = *pcVar10 + -0x24;
  pbVar16 = (byte *)(param_2 + -2);
  pbVar11 = (byte *)((int)param_1 + iRam00008328);
  if (pbVar11 == (byte *)0x0 || SCARRY4((int)param_1,iRam00008328) != (int)pbVar11 < 0) {
    *pbVar16 = *pbVar16 + (char)pbVar11;
    pbVar11 = (byte *)CONCAT22((short)((uint)pbVar11 >> 0x10),
                               CONCAT11((char)((uint)pbVar11 >> 8) + (char)iRam1f9785ff,
                                        (char)pbVar11));
    iVar7 = iRam1f9785ff + 0x1f9785ff;
  }
  else {
    uVar5 = CONCAT31((int3)((uint)auStack_4 >> 8),(char)auStack_4 + in_ES + '\x11') | 0xa328;
    piVar6 = (int *)CONCAT31((int3)(uVar5 >> 8),(byte)uVar5 | *pbVar16);
    *unaff_ESI = *unaff_ESI - (char)(uVar5 >> 8);
    iVar7 = (int)piVar6 + *piVar6;
  }
  iVar18 = CONCAT22(uVar14,CONCAT11(cVar23 + cVar2 + *(char *)(iVar18 + 0x21),uVar19));
  cVar2 = (char)iVar7 + ',';
  puVar21 = (uint *)(iVar18 + -1);
  *(char *)(iVar18 + 0x7e05ffff) = *(char *)(iVar18 + 0x7e05ffff) - cVar2;
  puVar8 = (uint *)(CONCAT31((int3)((uint)iVar7 >> 8),cVar2) | 0x16040003);
  cVar23 = (char)((uint)puVar21 >> 8);
  *(char *)puVar21 = *(char *)puVar21 - cVar23;
  cVar2 = (char)puVar8;
  *unaff_ESI = *unaff_ESI + cVar2;
  if ((POPCOUNT(*(int *)(unaff_EDI + 0x2000000) - unaff_EBP & 0xff) & 1U) == 0) {
    uVar5 = CONCAT31((int3)((uint)puVar8 >> 8),cVar2 + '\x13') | 0x5b;
    *(byte *)((int)puVar21 + (int)pbVar16) =
         *(byte *)((int)puVar21 + (int)pbVar16) + (char)uVar5 + -9;
    puVar8 = (uint *)(uVar5 + 0x10dd8d08);
    pbVar24 = (byte *)(unaff_EBP | *puVar21 | *puVar8);
    *puVar8 = *puVar8;
    if ((int)*puVar8 < 1) {
      *pbVar16 = *pbVar16 + (byte)pbVar11;
      goto code_r0x1001688d;
    }
    unaff_EBP = CONCAT31((int3)((int)puVar8 + *puVar8 >> 8),
                         (char)(char *)((int)puVar8 + *puVar8) + '\x7f');
    puVar8 = (uint *)CONCAT31((int3)((uint)pbVar24 >> 8),(char)pbVar24 + *pbVar24 + '\x11');
  }
  else {
    pbVar11[(int)pbVar16] = pbVar11[(int)pbVar16] + cVar2;
  }
  pbVar24 = (byte *)(unaff_EBP | *puVar8);
  puRam380a0000 = puVar8;
code_r0x1001688d:
  *(char *)puVar8 = (char)*puVar8 + (char)puVar8;
  *(char *)(iVar18 + 0x7e05ffff) = *(char *)(iVar18 + 0x7e05ffff) - (char)puVar8;
  *(char *)puVar21 = *(char *)puVar21 - cVar23;
  cVar3 = (char)((uint)puVar8 | 0x16040003);
  *unaff_ESI = *unaff_ESI + cVar3;
  uVar13 = (undefined3)(((uint)puVar8 | 0x16040003) >> 8);
  uVar14 = (undefined2)((uint)puVar21 >> 0x10);
  cVar23 = cVar23 + *(char *)(iVar18 + 0x24);
  puVar22 = (uint *)CONCAT22(uVar14,CONCAT11(cVar23,(char)puVar21));
  cVar3 = cVar3 + -0x1e;
  piVar17 = (int *)CONCAT31((int3)((uint)pbVar16 >> 8),(byte)pbVar16 | *pbVar11);
  bVar15 = (byte)pbVar11 | *(byte *)((int)piVar17 + 0x2d);
  piVar6 = (int *)CONCAT31((int3)((uint)pbVar11 >> 8),bVar15);
  *(uint *)(unaff_EDI + 0x6c) = *(uint *)(unaff_EDI + 0x6c) | (uint)unaff_EDI;
  cVar2 = *(char *)CONCAT31(uVar13,cVar3);
  *puVar22 = *puVar22 | (uint)pbVar24;
  puVar8 = (uint *)(CONCAT31(uVar13,cVar3 + cVar2 + '\x13') + 0x134a0a11);
  *puVar8 = *puVar8 | (uint)pbVar24;
  *puVar8 = *puVar8;
  if ((int)*puVar8 < 1) {
    *(byte *)piVar17 = (char)*piVar17 + bVar15;
    puVar22 = (uint *)CONCAT22(uVar14,CONCAT11(cVar23 + (char)puVar22[7],(char)puVar21));
  }
  else {
    pbVar9 = (byte *)CONCAT31((int3)((int)puVar8 + *puVar8 >> 8),
                              (char)((int)puVar8 + *puVar8) + '\x7f');
    puRam020a0000 =
         (uint *)CONCAT31((int3)((uint)unaff_ESI >> 8),(char)unaff_ESI + *unaff_ESI + '\x11');
    *puRam020a0000 = *puRam020a0000 | (uint)pbVar24;
    puVar8 = puRam020a0000;
    unaff_ESI = pbVar9;
    if ((POPCOUNT(*puRam020a0000 & 0xff) & 1U) != 0) {
      puVar8 = (uint *)((int)puRam020a0000 + *puRam020a0000);
    }
  }
  pcVar10 = (char *)(CONCAT31((int3)((uint)puVar8 >> 8),(char)puVar8 + '\x1f') ^ 0xd);
  uVar14 = (undefined2)((uint)puVar8 >> 0x10);
  cVar2 = (char)pcVar10;
  cVar23 = (char)((uint)puVar8 >> 8) + *pcVar10;
  pcVar10 = (char *)CONCAT22(uVar14,CONCAT11(cVar23,cVar2));
  *unaff_EDI = *unaff_EDI << 1 | (char)*unaff_EDI < '\0';
  *pcVar10 = *pcVar10 + cVar2;
  *(char *)((int)puVar22 + (int)pcVar10) = *(char *)((int)puVar22 + (int)pcVar10) - cVar23;
  *unaff_ESI = *unaff_ESI + cVar2;
  iVar18 = *(int *)unaff_EDI;
  pcVar10 = (char *)CONCAT22(uVar14,CONCAT11(cVar23 + *pcVar10,cVar2));
  *pbVar24 = *pbVar24 ^ (byte)((uint)pbVar16 >> 8);
  cVar23 = (char)((uint)pbVar11 >> 8);
  *pcVar10 = *pcVar10 + cVar23;
  pbVar11 = (byte *)(CONCAT31((int3)((uint)pcVar10 >> 8),cVar2) & 0xffffff03);
  *unaff_ESI = *unaff_ESI + (char)pbVar11;
  iVar7 = (int)piVar17 - *piVar17;
  bVar15 = (byte)iVar7;
  uVar13 = (undefined3)((uint)iVar7 >> 8);
  cVar2 = bVar15 + *unaff_ESI;
  puVar8 = (uint *)CONCAT31(uVar13,cVar2);
  if (SCARRY1(bVar15,*unaff_ESI) == cVar2 < '\0') {
    puVar8 = (uint *)CONCAT31(uVar13,cVar2 + (char)*puVar8 + CARRY1(bVar15,*unaff_ESI));
  }
  else {
    pbVar11 = (byte *)CONCAT31((int3)((uint)pbVar11 >> 8),(char)pbVar11 + '\x02');
    *pbVar11 = *pbVar11 & (byte)((uint)iVar7 >> 8);
  }
  *pbVar11 = *pbVar11 + cVar23;
  bVar15 = *unaff_ESI;
  bVar4 = (byte)((uint)pbVar11 & 0xffffff03);
  *unaff_ESI = *unaff_ESI + bVar4;
  *(undefined2 *)(((int)puVar22 - iVar18) + 0x13fffffe) = in_FPUStatusWord;
  bVar25 = CARRY4(*puVar8,(uint)puVar8) || CARRY4(*puVar8 + (int)puVar8,(uint)CARRY1(bVar15,bVar4));
  *puVar8 = *puVar8 + (int)puVar8 + (uint)CARRY1(bVar15,bVar4);
  bVar20 = (byte)((int)puVar22 - iVar18);
  bVar15 = bVar20 + *unaff_EDI;
  bVar26 = CARRY1(bVar20,*unaff_EDI) || CARRY1(bVar15,bVar25);
  bVar15 = bVar15 + bVar25;
  uVar12 = CONCAT31((int3)(((uint)pbVar11 & 0xffffff03) >> 8),bVar4 + 0x58 + bVar26);
  uVar5 = (uint)(0xa7 < bVar4 || CARRY1(bVar4 + 0x58,bVar26));
  uVar1 = uVar12 + 0xe0ededac;
  bVar25 = uVar12 < 0x1f121254 || uVar1 < uVar5;
  pbVar11 = (byte *)((uVar1 - uVar5) + 0x16);
  bVar4 = *pbVar11 + bVar15;
  bVar26 = CARRY1(*pbVar11,bVar15) || CARRY1(bVar4,bVar25);
  *pbVar11 = bVar4 + bVar25;
  bVar15 = (byte)puVar8 + (char)*puVar8;
  iVar18 = CONCAT31((int3)((uint)puVar8 >> 8),bVar15 + bVar26);
  *piVar6 = *piVar6 + iVar18 + (uint)(CARRY1((byte)puVar8,(byte)*puVar8) || CARRY1(bVar15,bVar26));
  out(*(undefined4 *)unaff_ESI,(short)iVar18);
  return;
}


FUN_10037760 at 10037760

Signature: undefined __fastcall FUN_10037760(int param_1)


void __fastcall FUN_10037760(int param_1)

{
  LPCRITICAL_SECTION p_Var1;
  void *pvVar2;
  char *pcVar3;
  undefined4 *puVar4;
  undefined **ppuVar5;
  undefined **ppuVar6;
  int *piVar7;
  undefined **ppuVar8;
  _LIST_ENTRY *p_Var9;
  char cVar10;
  int **ppiVar11;
  int iVar12;
  undefined4 *puVar13;
  uint uVar14;
  undefined4 *puVar15;
  uint *puVar16;
  int *piVar17;
  int *piVar18;
  PRTL_CRITICAL_SECTION_DEBUG p_Var19;
  PRTL_CRITICAL_SECTION_DEBUG p_Var20;
  PRTL_CRITICAL_SECTION_DEBUG *pp_Var21;
  _RTL_CRITICAL_SECTION *_Dst;
  int iVar22;
  int iVar23;
  undefined4 uVar24;
  wchar_t *pwVar25;
  undefined4 uVar26;
  PRTL_CRITICAL_SECTION_DEBUG local_b4;
  int *local_b0;
  int local_ac;
  int *local_a4;
  int local_a0;
  LPCRITICAL_SECTION local_94;
  undefined4 *local_90;
  int local_8c;
  undefined **local_84 [3];
  undefined **local_78;
  int local_74;
  int *local_6c;
  int local_68;
  undefined **local_60;
  uint local_5c;
  LPVOID local_58;
  void *local_54;
  int *local_50;
  uint local_4c;
  int *local_48;
  undefined **local_44;
  int *local_40;
  PRTL_CRITICAL_SECTION_DEBUG local_3c;
  int *local_38;
  int *local_34;
  _RTL_CRITICAL_SECTION *local_30;
  _LIST_ENTRY *local_2c;
  int *local_28;
  _LIST_ENTRY *local_24;
  int *local_20;
  PRTL_CRITICAL_SECTION_DEBUG local_1c;
  int *local_18;
  int local_14;
  void *local_10;
  undefined1 *puStack_c;
  undefined4 local_8;
  
  local_8 = 0xffffffff;
  puStack_c = &LAB_100585c2;
  local_10 = ExceptionList;
  ppiVar11 = (int **)(DAT_100b1424 ^ (uint)&stack0xfffffffc);
  ExceptionList = &local_10;
  local_2c = (_LIST_ENTRY *)0x0;
  local_14 = param_1;
  iVar12 = FUN_10035eb0(param_1);
  if (iVar12 != 1) {
    if (*(int *)(param_1 + 100) == 0) {
      ExceptionList = local_10;
      return;
    }
    puVar13 = (undefined4 *)**(undefined4 **)(param_1 + 0x60);
    local_44 = (undefined **)0;
    while (puVar13 != *(undefined4 **)(param_1 + 0x60)) {
      local_44 = (undefined **)((int)local_44 + puVar13[5]);
      if (*(char *)((int)puVar13 + 0x1d) == '\0') {
        puVar15 = (undefined4 *)puVar13[2];
        if (*(char *)((int)puVar15 + 0x1d) == '\0') {
          cVar10 = *(char *)((int)*puVar15 + 0x1d);
          puVar13 = puVar15;
          puVar15 = (undefined4 *)*puVar15;
          while (cVar10 == '\0') {
            cVar10 = *(char *)((int)*puVar15 + 0x1d);
            puVar13 = puVar15;
            puVar15 = (undefined4 *)*puVar15;
          }
        }
        else {
          cVar10 = *(char *)((int)puVar13[1] + 0x1d);
          puVar4 = (undefined4 *)puVar13[1];
          puVar15 = puVar13;
          while ((puVar13 = puVar4, cVar10 == '\0' && (puVar15 == (undefined4 *)puVar13[2]))) {
            cVar10 = *(char *)((int)puVar13[1] + 0x1d);
            puVar4 = (undefined4 *)puVar13[1];
            puVar15 = puVar13;
          }
        }
      }
    }
    local_54 = CoTaskMemAlloc((int)local_44 * 0x18);
    piVar18 = (int *)**(int **)(param_1 + 0x60);
    iVar12 = 0;
    if (piVar18 != *(int **)(param_1 + 0x60)) {
      do {
        iVar23 = 0;
        if (0 < piVar18[5]) {
          iVar22 = 0;
          do {
            *(undefined4 *)(iVar22 + 0x10 + piVar18[6]) = 5;
            iVar23 = iVar23 + 1;
            iVar22 = iVar22 + 0x18;
          } while (iVar23 < piVar18[5]);
        }
        memcpy((void *)((int)local_54 + iVar12 * 0x18),(void *)piVar18[6],piVar18[5] * 0x18);
        iVar12 = iVar12 + piVar18[5];
        CoTaskMemFree((LPVOID)piVar18[6]);
        if (*(char *)((int)piVar18 + 0x1d) == '\0') {
          piVar17 = (int *)piVar18[2];
          if (*(char *)((int)piVar17 + 0x1d) == '\0') {
            cVar10 = *(char *)(*piVar17 + 0x1d);
            piVar18 = piVar17;
            piVar17 = (int *)*piVar17;
            while (cVar10 == '\0') {
              cVar10 = *(char *)(*piVar17 + 0x1d);
              piVar18 = piVar17;
              piVar17 = (int *)*piVar17;
            }
          }
          else {
            cVar10 = *(char *)(piVar18[1] + 0x1d);
            piVar7 = (int *)piVar18[1];
            piVar17 = piVar18;
            while ((piVar18 = piVar7, cVar10 == '\0' && (piVar17 == (int *)piVar18[2]))) {
              cVar10 = *(char *)(piVar18[1] + 0x1d);
              piVar7 = (int *)piVar18[1];
              piVar17 = piVar18;
            }
          }
        }
      } while (piVar18 != *(int **)(param_1 + 0x60));
    }
    local_38 = new(0x10);
    if (local_38 == (int *)0x0) goto LAB_100393d0;
    *local_38 = (int)local_44;
    local_38[1] = (int)local_54;
    local_38[2] = 0;
    local_38[3] = 0;
    if ((DAT_100b5ec4 & 1) == 0) {
      DAT_100b5ec4 = DAT_100b5ec4 | 1;
      local_8 = 0x3a;
      FUN_10017f80(&DAT_100b5df0);
      _atexit(FUN_1005d930);
      local_8 = 0xffffffff;
    }
    uVar24 = DAT_100cce9c;
    if (DAT_100b5df4 == -1) {
      if (((DAT_100b5df0 != 0) || (FUN_10019b00(&DAT_100b5df0), DAT_100b5df0 != 0)) &&
         (DAT_100b5e8c != (code *)0x0)) {
        (*DAT_100b5e8c)(&DAT_100b5df4);
      }
      if (DAT_100b5df4 != -1) {
        FUN_10018190(&DAT_100b5df0);
        goto LAB_10039309;
      }
    }
    else {
LAB_10039309:
      if ((DAT_100b5e94 != (code *)0x0) &&
         (cVar10 = (*DAT_100b5e94)(DAT_100b5df4,uVar24,0), cVar10 != '\0')) {
        if ((DAT_100b5ec4 & 1) == 0) {
          DAT_100b5ec4 = DAT_100b5ec4 | 1;
          local_8 = 0x3b;
          FUN_10017f80(&DAT_100b5df0);
          _atexit(FUN_1005d930);
          local_8 = 0xffffffff;
        }
        CWrapLogger_LogCustom
                  (0x100b5df0,DAT_100cce9c,
                   L"NameSpace::ProcessWriteCompleteWorker - submitting response to queue");
      }
    }
    iVar12 = local_14;
    p_Var1 = (LPCRITICAL_SECTION)(local_14 + 0x2c);
    local_94 = p_Var1;
    EnterCriticalSection(p_Var1);
    local_8 = 0x3c;
    pcVar3 = *(char **)(iVar12 + 0x44);
    puVar13 = FUN_1002b0c0((void *)(iVar12 + 0x44),pcVar3,*(undefined4 *)(pcVar3 + 4),&local_38);
    if (*(int *)(iVar12 + 0x48) == 0x3ffffffe) {
                    /* WARNING: Subroutine does not return */
      std::_Xlength_error("list<T> too long");
    }
    *(int *)(iVar12 + 0x48) = *(int *)(iVar12 + 0x48) + 1;
    *(undefined4 **)(pcVar3 + 4) = puVar13;
    *(undefined4 **)puVar13[1] = puVar13;
    local_8 = 0xffffffff;
    LeaveCriticalSection(p_Var1);
LAB_100393d0:
    iVar12 = local_14;
    piVar18 = *(int **)(*(int *)(local_14 + 0x60) + 4);
    cVar10 = *(char *)((int)piVar18 + 0x1d);
    while (cVar10 == '\0') {
      FUN_1002a4d0((int *)piVar18[2]);
      piVar17 = (int *)*piVar18;
      delete(piVar18);
      piVar18 = piVar17;
      cVar10 = *(char *)((int)piVar17 + 0x1d);
    }
    *(int *)(*(int *)(iVar12 + 0x60) + 4) = *(int *)(iVar12 + 0x60);
    *(undefined4 *)*(undefined4 *)(iVar12 + 0x60) = *(undefined4 *)(iVar12 + 0x60);
    *(int *)(*(int *)(iVar12 + 0x60) + 8) = *(int *)(iVar12 + 0x60);
    *(undefined4 *)(iVar12 + 100) = 0;
    ExceptionList = local_10;
    return;
  }
  local_68 = 0;
  local_6c = new(0xc);
  local_28 = local_6c;
  if (local_6c == (int *)0x0) {
    local_38 = (int *)0x0;
    std::exception::exception((exception *)local_84,(char **)&local_38);
    local_84[0] = std::bad_alloc::vftable;
    local_8 = 0xffffffff;
                    /* WARNING: Subroutine does not return */
    _CxxThrowException(local_84,(ThrowInfo *)&DAT_100a469c);
  }
  *local_6c = (int)local_6c;
  local_6c[1] = (int)local_6c;
  local_8 = 2;
  local_ac = 0;
  local_b0 = new(0xc);
  local_48 = local_b0;
  if (local_b0 == (int *)0x0) {
    local_3c = (PRTL_CRITICAL_SECTION_DEBUG)0x0;
    std::exception::exception((exception *)&local_78,(char **)&local_3c);
    local_78 = std::bad_alloc::vftable;
    local_8 = CONCAT31((int3)((uint)local_8 >> 8),2);
                    /* WARNING: Subroutine does not return */
    _CxxThrowException(&local_78,(ThrowInfo *)&DAT_100a469c);
  }
  *local_b0 = (int)local_b0;
  local_b0[1] = (int)local_b0;
  local_8._0_1_ = 5;
  local_a0 = 0;
  local_a4 = new(0xc);
  local_40 = local_a4;
  if (local_a4 == (int *)0x0) {
    local_38 = (int *)0x0;
    std::exception::exception((exception *)local_84,(char **)&local_38);
    local_84[0] = std::bad_alloc::vftable;
    local_8 = CONCAT31(local_8._1_3_,5);
                    /* WARNING: Subroutine does not return */
    _CxxThrowException(local_84,(ThrowInfo *)&DAT_100a469c);
  }
  *local_a4 = (int)local_a4;
  local_a4[1] = (int)local_a4;
  local_8._0_1_ = 8;
  local_74 = 0;
  local_78 = new(0xc);
  local_44 = local_78;
  if (local_78 == (undefined **)0x0) {
    local_3c = (PRTL_CRITICAL_SECTION_DEBUG)0x0;
    std::exception::exception((exception *)&local_60,(char **)&local_3c);
    local_60 = std::bad_alloc::vftable;
    local_8 = CONCAT31(local_8._1_3_,8);
                    /* WARNING: Subroutine does not return */
    _CxxThrowException(&local_60,(ThrowInfo *)&DAT_100a469c);
  }
  *local_78 = (undefined *)local_78;
  local_78[1] = (undefined *)local_78;
  local_8._0_1_ = 0xb;
  local_1c = (PRTL_CRITICAL_SECTION_DEBUG)0x0;
  local_24 = (_LIST_ENTRY *)0x0;
  local_30 = (_RTL_CRITICAL_SECTION *)0x0;
  local_50 = (int *)0x0;
  local_4c = 0;
  local_8c = 0;
  puVar13 = new(0xc);
  if (puVar13 == (undefined4 *)0x0) {
    local_38 = (int *)0x0;
    std::exception::exception((exception *)local_84,(char **)&local_38);
    local_84[0] = std::bad_alloc::vftable;
    local_8 = CONCAT31(local_8._1_3_,0xb);
                    /* WARNING: Subroutine does not return */
    _CxxThrowException(local_84,(ThrowInfo *)&DAT_100a469c);
  }
  *puVar13 = puVar13;
  puVar13[1] = puVar13;
  local_8._0_1_ = 0xe;
  p_Var19 = (PRTL_CRITICAL_SECTION_DEBUG)(param_1 + 8);
  local_90 = puVar13;
  local_3c = p_Var19;
  EnterCriticalSection((LPCRITICAL_SECTION)p_Var19);
  local_8 = CONCAT31(local_8._1_3_,0xf);
  FUN_10031b10(&local_90,(char *)*puVar13,(undefined4 *)**(undefined4 **)(param_1 + 0x20),
               *(undefined4 **)(param_1 + 0x20));
  piVar18 = *(int **)(param_1 + 0x20);
  piVar17 = (int *)*piVar18;
  *piVar18 = (int)piVar18;
  *(int *)(*(int *)(param_1 + 0x20) + 4) = *(int *)(param_1 + 0x20);
  *(undefined4 *)(param_1 + 0x24) = 0;
  if (piVar17 != *(int **)(param_1 + 0x20)) {
    do {
      piVar18 = (int *)*piVar17;
      delete(piVar17);
      piVar17 = piVar18;
    } while (piVar18 != (int *)*(int *)(param_1 + 0x20));
  }
  local_8._0_1_ = 0xe;
  LeaveCriticalSection((LPCRITICAL_SECTION)p_Var19);
  if (local_8c != 0) {
    uVar26 = 0;
    uVar24 = DAT_100cce9c;
    puVar13 = FUN_1001b5b0();
    uVar14 = FUN_1001b4e0(puVar13,uVar24,uVar26);
    if ((char)uVar14 != '\0') {
      pwVar25 = L"NameSpace::ProcessWriteCompleteWorker - processing writes.  Count[%d]";
      uVar24 = DAT_100cce9c;
      puVar13 = FUN_1001b5b0();
      CWrapLogger_LogCustom((int)puVar13,uVar24,pwVar25);
    }
  }
  puVar13 = (undefined4 *)*local_90;
  if (puVar13 != local_90) {
    local_30 = (_RTL_CRITICAL_SECTION *)0x0;
    do {
      local_24 = (_LIST_ENTRY *)0x0;
      local_50 = (int *)0x0;
      local_4c = 0;
      if (puVar13[2] != 0) {
        if ((DAT_100b5ec4 & 1) == 0) {
          DAT_100b5ec4 = DAT_100b5ec4 | 1;
          local_8._0_1_ = 0x10;
          FUN_10017f80(&DAT_100b5df0);
          _atexit(FUN_1005d930);
          local_8._0_1_ = 0xe;
        }
        uVar24 = DAT_100cce9c;
        if (DAT_100b5df4 == -1) {
          if (((DAT_100b5df0 != 0) || (FUN_10019b00(&DAT_100b5df0), DAT_100b5df0 != 0)) &&
             (DAT_100b5e8c != (code *)0x0)) {
            (*DAT_100b5e8c)(&DAT_100b5df4);
          }
          if (DAT_100b5df4 != -1) {
            FUN_10018190(&DAT_100b5df0);
            goto LAB_100379c6;
          }
        }
        else {
LAB_100379c6:
          if ((DAT_100b5e94 != (code *)0x0) &&
             (cVar10 = (*DAT_100b5e94)(DAT_100b5df4,uVar24,0), cVar10 != '\0')) {
            if ((DAT_100b5ec4 & 1) == 0) {
              DAT_100b5ec4 = DAT_100b5ec4 | 1;
              local_8._0_1_ = 0x11;
              FUN_10017f80(&DAT_100b5df0);
              _atexit(FUN_1005d930);
              local_8._0_1_ = 0xe;
            }
            CWrapLogger_LogCustom
                      (0x100b5df0,DAT_100cce9c,
                       L"NameSpace::ProcessWriteCompleteWorker - Sending write to dataClientCLI.  ")
            ;
          }
        }
        if (DAT_100cce80 == '\0') {
          ppiVar11 = *(int ***)puVar13[2];
          local_2c = (_LIST_ENTRY *)FUN_1000ef80();
        }
        if ((DAT_100b5ec4 & 1) == 0) {
          DAT_100b5ec4 = DAT_100b5ec4 | 1;
          local_8._0_1_ = 0x12;
          FUN_10017f80(&DAT_100b5df0);
          _atexit(FUN_1005d930);
          local_8._0_1_ = 0xe;
        }
        uVar24 = DAT_100cce9c;
        if (DAT_100b5df4 == -1) {
          if (((DAT_100b5df0 != 0) || (FUN_10019b00(&DAT_100b5df0), DAT_100b5df0 != 0)) &&
             (DAT_100b5e8c != (code *)0x0)) {
            (*DAT_100b5e8c)(&DAT_100b5df4,ppiVar11);
          }
          if (DAT_100b5df4 != -1) {
            FUN_10018190(&DAT_100b5df0);
            goto LAB_10037af7;
          }
        }
        else {
LAB_10037af7:
          if ((DAT_100b5e94 != (code *)0x0) &&
             (cVar10 = (*DAT_100b5e94)(DAT_100b5df4,uVar24,0), cVar10 != '\0')) {
            if ((DAT_100b5ec4 & 1) == 0) {
              DAT_100b5ec4 = DAT_100b5ec4 | 1;
              local_8._0_1_ = 0x13;
              FUN_10017f80(&DAT_100b5df0);
              _atexit(FUN_1005d930);
              local_8._0_1_ = 0xe;
            }
            CWrapLogger_LogCustom
                      (0x100b5df0,DAT_100cce9c,
                       L"NameSpace::ProcessWriteCompleteWorker - dataClientCLI write returned..  ");
          }
        }
        if ((int)local_2c < 0) {
          if ((DAT_100b5ec4 & 1) == 0) {
            DAT_100b5ec4 = DAT_100b5ec4 | 1;
            local_8._0_1_ = 0x1a;
            FUN_10017f80(&DAT_100b5df0);
            _atexit(FUN_1005d930);
            local_8._0_1_ = 0xe;
          }
          iVar12 = DAT_100b5e9c;
          if ((DAT_100b5e9c == 0) &&
             (iVar23 = FUN_1001ca40(&DAT_100b5df0), iVar12 = DAT_100b5e9c, iVar23 == 0)) {
            iVar12 = 0;
          }
          if ((DAT_100b5ec4 & 1) == 0) {
            DAT_100b5ec4 = DAT_100b5ec4 | 1;
            local_8._0_1_ = 0x1b;
            FUN_10017f80(&DAT_100b5df0);
            _atexit(FUN_1005d930);
            local_8._0_1_ = 0xe;
          }
          uVar14 = FUN_1001b4e0(&DAT_100b5df0,iVar12,0);
          if ((char)uVar14 != '\0') {
            if ((DAT_100b5ec4 & 1) == 0) {
              DAT_100b5ec4 = DAT_100b5ec4 | 1;
              local_8._0_1_ = 0x1c;
              FUN_10017f80(&DAT_100b5df0);
              _atexit(FUN_1005d930);
              local_8._0_1_ = 0xe;
            }
            CWrapLogger_LogWarning(0x100b5df0,L"  [%s] - Write return 0x%x");
          }
        }
        else {
          if ((DAT_100b5ec4 & 1) == 0) {
            DAT_100b5ec4 = DAT_100b5ec4 | 1;
            local_8._0_1_ = 0x14;
            FUN_10017f80(&DAT_100b5df0);
            _atexit(FUN_1005d930);
            local_8._0_1_ = 0xe;
          }
          uVar14 = FUN_1001b4e0(&DAT_100b5df0,DAT_100cce9c,0);
          if ((char)uVar14 != '\0') {
            if ((DAT_100b5ec4 & 1) == 0) {
              DAT_100b5ec4 = DAT_100b5ec4 | 1;
              local_8._0_1_ = 0x15;
              FUN_10017f80(&DAT_100b5df0);
              _atexit(FUN_1005d930);
              local_8._0_1_ = 0xe;
            }
            CWrapLogger_LogCustom
                      (0x100b5df0,DAT_100cce9c,
                       L"NameSpace::ProcessWriteCompleteWorker - dataClientCLI write SUCCEEDED..  ")
            ;
          }
          uVar14 = *(uint *)(puVar13[2] + 0x2c);
          local_5c = uVar14;
          local_58 = CoTaskMemAlloc(uVar14 * 0x18);
          if (local_58 == (LPVOID)0x0) {
            local_2c = (_LIST_ENTRY *)0x8007000e;
          }
          else {
            memset(local_58,0,uVar14 * 0x18);
            piVar18 = (int *)**(int **)(puVar13[2] + 0x28);
            if (piVar18 != *(int **)(puVar13[2] + 0x28)) {
              puVar15 = (undefined4 *)((int)local_58 + 0x10);
              do {
                iVar12 = *(int *)piVar18[2];
                puVar15[-4] = *(undefined4 *)(iVar12 + 8);
                puVar15[-3] = *(undefined4 *)(iVar12 + 0xc);
                iVar12 = piVar18[2];
                puVar15[-2] = *(undefined4 *)(iVar12 + 0x30);
                puVar15[-1] = *(undefined4 *)(iVar12 + 0x34);
                *puVar15 = 0;
                piVar18 = (int *)*piVar18;
                puVar15 = puVar15 + 6;
              } while (piVar18 != (int *)*(int *)(puVar13[2] + 0x28));
            }
            if ((local_24 == (_LIST_ENTRY *)0x0) || (local_24[1].Flink == (_LIST_ENTRY *)0x0)) {
              if ((DAT_100b5ec4 & 1) == 0) {
                DAT_100b5ec4 = DAT_100b5ec4 | 1;
                local_8._0_1_ = 0x18;
                FUN_10017f80(&DAT_100b5df0);
                _atexit(FUN_1005d930);
                local_8._0_1_ = 0xe;
              }
              uVar24 = DAT_100cce9c;
              if (DAT_100b5df4 == -1) {
                if (((DAT_100b5df0 != 0) || (FUN_10019b00(&DAT_100b5df0), DAT_100b5df0 != 0)) &&
                   (DAT_100b5e8c != (code *)0x0)) {
                  (*DAT_100b5e8c)(&DAT_100b5df4);
                }
                if (DAT_100b5df4 != -1) {
                  FUN_10018190(&DAT_100b5df0);
                  goto LAB_10037ebf;
                }
              }
              else {
LAB_10037ebf:
                if ((DAT_100b5e94 != (code *)0x0) &&
                   (cVar10 = (*DAT_100b5e94)(DAT_100b5df4,uVar24,0), cVar10 != '\0')) {
                  if ((DAT_100b5ec4 & 1) == 0) {
                    DAT_100b5ec4 = DAT_100b5ec4 | 1;
                    local_8._0_1_ = 0x19;
                    FUN_10017f80(&DAT_100b5df0);
                    _atexit(FUN_1005d930);
                    local_8._0_1_ = 0xe;
                  }
                  CWrapLogger_LogCustom
                            (0x100b5df0,DAT_100cce9c,
                             L"NameSpace::ProcessWriteCompleteWorker - submitting response to m_CompleteList"
                            );
                }
              }
              iVar12 = local_14;
              puVar16 = FUN_10034b50((void *)(local_14 + 0x5c),(uint *)(puVar13[2] + 0x24));
              puVar16[1] = uVar14;
              puVar16 = FUN_10034b50((void *)(iVar12 + 0x5c),(uint *)(puVar13[2] + 0x24));
              puVar16[2] = (uint)local_58;
            }
            else {
              if ((DAT_100b5ec4 & 1) == 0) {
                DAT_100b5ec4 = DAT_100b5ec4 | 1;
                local_8._0_1_ = 0x16;
                FUN_10017f80(&DAT_100b5df0);
                _atexit(FUN_1005d930);
                local_8._0_1_ = 0xe;
              }
              iVar12 = DAT_100b5e9c;
              if ((DAT_100b5e9c == 0) &&
                 (iVar23 = FUN_1001ca40(&DAT_100b5df0), iVar12 = DAT_100b5e9c, iVar23 == 0)) {
                iVar12 = 0;
              }
              if ((DAT_100b5ec4 & 1) == 0) {
                DAT_100b5ec4 = DAT_100b5ec4 | 1;
                local_8._0_1_ = 0x17;
                FUN_10017f80(&DAT_100b5df0);
                _atexit(FUN_1005d930);
                local_8._0_1_ = 0xe;
              }
              uVar14 = FUN_1001b4e0(&DAT_100b5df0,iVar12,0);
              if ((char)uVar14 != '\0') {
                pwVar25 = L"  [%s] - Write ArchestrA Result 0x%x";
                puVar15 = FUN_1001b5b0();
                CWrapLogger_LogWarning((int)puVar15,pwVar25);
              }
              piVar18 = local_28;
              local_20 = (int *)**(int **)(puVar13[2] + 0x28);
              if (local_20 != *(int **)(puVar13[2] + 0x28)) {
                local_18 = (int *)((int)local_58 + 0x10);
                do {
                  *local_18 = (int)local_24[1].Flink;
                  uVar14 = 0;
                  if (local_4c != 0) {
                    local_94 = (LPCRITICAL_SECTION)local_18[-3];
                    piVar17 = local_50;
                    do {
                      if ((local_18[-4] == *piVar17) && (local_94 == (LPCRITICAL_SECTION)0x0)) {
                        *local_18 = local_50[uVar14 * 8 + 2];
                        break;
                      }
                      uVar14 = uVar14 + 1;
                      piVar17 = piVar17 + 8;
                    } while (uVar14 < local_4c);
                  }
                  local_20 = (int *)*local_20;
                  local_18 = local_18 + 6;
                } while (local_20 != (int *)*(int *)(puVar13[2] + 0x28));
              }
              puVar15 = FUN_1002b960(&local_6c,(char *)local_28,local_28[1],&local_58);
              piVar17 = local_48;
              if (local_68 == 0x3ffffffe) goto LAB_10038efb;
              local_68 = local_68 + 1;
              piVar18[1] = (int)puVar15;
              *(undefined4 **)puVar15[1] = puVar15;
              puVar15 = FUN_1002ba70(&local_b0,(char *)local_48,local_48[1],&local_5c);
              if (local_ac == 0x3ffffffe) goto LAB_10038efb;
              local_ac = local_ac + 1;
              piVar17[1] = (int)puVar15;
              *(undefined4 **)puVar15[1] = puVar15;
              local_1c = (PRTL_CRITICAL_SECTION_DEBUG)0x0;
            }
          }
          CoTaskMemFree(local_24);
          local_24 = (_LIST_ENTRY *)0x0;
        }
        CoTaskMemFree((LPVOID)**(undefined4 **)puVar13[2]);
        CoTaskMemFree(*(LPVOID *)puVar13[2]);
        *(undefined4 *)puVar13[2] = 0;
      }
      if (puVar13[2] != 0) {
        piVar18 = (int *)**(int **)(puVar13[2] + 0x28);
        if (piVar18 != *(int **)(puVar13[2] + 0x28)) {
          do {
            delete(*(void **)piVar18[2]);
            if (*(void **)(piVar18[2] + 0x20) != (void *)0x0) {
              delete__(*(void **)(piVar18[2] + 0x20));
            }
            if (*(int *)(piVar18[2] + 0x14) != 0) {
              delete__(*(void **)(piVar18[2] + 0x18));
            }
            delete((void *)piVar18[2]);
            piVar18 = (int *)*piVar18;
          } while (piVar18 != (int *)*(int *)(puVar13[2] + 0x28));
        }
        iVar12 = puVar13[2];
        piVar18 = *(int **)(iVar12 + 0x28);
        piVar17 = (int *)*piVar18;
        *piVar18 = (int)piVar18;
        *(int *)(*(int *)(iVar12 + 0x28) + 4) = *(int *)(iVar12 + 0x28);
        *(undefined4 *)(iVar12 + 0x2c) = 0;
        if (piVar17 != *(int **)(iVar12 + 0x28)) {
          do {
            piVar18 = (int *)*piVar17;
            delete(piVar17);
            piVar17 = piVar18;
          } while (piVar18 != (int *)*(int *)(iVar12 + 0x28));
        }
        pvVar2 = (void *)puVar13[2];
        if (pvVar2 != (void *)0x0) {
          FUN_1002f0e0((int)pvVar2);
          delete(pvVar2);
        }
      }
      puVar13 = (undefined4 *)*puVar13;
    } while (puVar13 != local_90);
    if (local_68 != 0) {
      if (local_68 == 1) {
        local_30 = *(_RTL_CRITICAL_SECTION **)(*local_28 + 8);
        local_1c = *(PRTL_CRITICAL_SECTION_DEBUG *)(*local_48 + 8);
        piVar17 = local_28;
      }
      else {
        local_1c = (PRTL_CRITICAL_SECTION_DEBUG)0x0;
        for (piVar18 = (int *)*local_48; piVar18 != local_48; piVar18 = (int *)*piVar18) {
          local_1c = (PRTL_CRITICAL_SECTION_DEBUG)((int)&local_1c->Type + piVar18[2]);
        }
        local_30 = CoTaskMemAlloc((int)local_1c * 0x18);
        piVar18 = (int *)*local_28;
        puVar13 = (undefined4 *)*local_48;
        iVar12 = 0;
        piVar17 = local_28;
        if (piVar18 != local_28) {
          do {
            if ((void *)piVar18[2] != (void *)0x0) {
              memcpy(local_30 + iVar12,(void *)piVar18[2],puVar13[2] * 0x18);
              iVar12 = iVar12 + puVar13[2];
              CoTaskMemFree((LPVOID)piVar18[2]);
              piVar18[2] = 0;
              piVar17 = local_28;
            }
            piVar18 = (int *)*piVar18;
            puVar13 = (undefined4 *)*puVar13;
          } while (piVar18 != piVar17);
        }
      }
      piVar7 = local_28;
      piVar18 = (int *)*piVar17;
      *piVar17 = (int)piVar17;
      piVar17[1] = (int)piVar17;
      local_68 = 0;
      if (piVar18 != piVar17) {
        do {
          piVar17 = (int *)*piVar18;
          delete(piVar18);
          piVar18 = piVar17;
        } while (piVar17 != piVar7);
      }
    }
  }
  if (*(int *)(local_14 + 100) == 0) {
LAB_10038d96:
    p_Var19 = local_1c;
    if (local_30 == (_RTL_CRITICAL_SECTION *)0x0) {
LAB_10038d9f:
      p_Var19 = local_1c;
      if ((local_2c == (_LIST_ENTRY *)0x0) && (local_24 == (_LIST_ENTRY *)0x0)) goto LAB_10038f1d;
    }
  }
  else {
    p_Var19 = local_1c;
    if (local_30 == (_RTL_CRITICAL_SECTION *)0x0) {
      if ((DAT_100b5ec4 & 1) == 0) {
        DAT_100b5ec4 = DAT_100b5ec4 | 1;
        local_8._0_1_ = 0x1d;
        FUN_10017f80(&DAT_100b5df0);
        _atexit(FUN_1005d930);
        local_8._0_1_ = 0xe;
      }
      uVar24 = DAT_100cce9c;
      if (DAT_100b5df4 == -1) {
        if (((DAT_100b5df0 != 0) || (FUN_10019b00(&DAT_100b5df0), DAT_100b5df0 != 0)) &&
           (DAT_100b5e8c != (code *)0x0)) {
          (*DAT_100b5e8c)(&DAT_100b5df4);
        }
        if (DAT_100b5df4 != -1) {
          FUN_10018190(&DAT_100b5df0);
          goto LAB_10038298;
        }
      }
      else {
LAB_10038298:
        if ((DAT_100b5e94 != (code *)0x0) &&
           (cVar10 = (*DAT_100b5e94)(DAT_100b5df4,uVar24,0), cVar10 != '\0')) {
          if ((DAT_100b5ec4 & 1) == 0) {
            DAT_100b5ec4 = DAT_100b5ec4 | 1;
            local_8._0_1_ = 0x1e;
            FUN_10017f80(&DAT_100b5df0);
            _atexit(FUN_1005d930);
            local_8._0_1_ = 0xe;
          }
          CWrapLogger_LogCustom
                    (0x100b5df0,DAT_100cce9c,
                     L"NameSpace::ProcessWriteCompleteWorker - localComplete is [%d]..  ");
        }
      }
      local_18 = (int *)0x0;
      local_20 = (int *)0x0;
      if ((DAT_100b5ec4 & 1) == 0) {
        DAT_100b5ec4 = DAT_100b5ec4 | 1;
        local_8._0_1_ = 0x1f;
        FUN_10017f80(&DAT_100b5df0);
        _atexit(FUN_1005d930);
        local_8._0_1_ = 0xe;
      }
      uVar24 = DAT_100cce9c;
      if (DAT_100b5df4 == -1) {
        if (((DAT_100b5df0 != 0) || (FUN_10019b00(&DAT_100b5df0), DAT_100b5df0 != 0)) &&
           (DAT_100b5e8c != (code *)0x0)) {
          (*DAT_100b5e8c)(&DAT_100b5df4);
        }
        if (DAT_100b5df4 != -1) {
          FUN_10018190(&DAT_100b5df0);
          goto LAB_10038383;
        }
      }
      else {
LAB_10038383:
        if ((DAT_100b5e94 != (code *)0x0) &&
           (cVar10 = (*DAT_100b5e94)(DAT_100b5df4,uVar24,0), cVar10 != '\0')) {
          if ((DAT_100b5ec4 & 1) == 0) {
            DAT_100b5ec4 = DAT_100b5ec4 | 1;
            local_8._0_1_ = 0x20;
            FUN_10017f80(&DAT_100b5df0);
            _atexit(FUN_1005d930);
            local_8._0_1_ = 0xe;
          }
          CWrapLogger_LogCustom
                    (0x100b5df0,DAT_100cce9c,
                     L"NameSpace::ProcessWriteCompleteWorker - sending PublishWriteComplete");
        }
      }
      iVar12 = local_14;
      if (DAT_100cce80 == '\0') {
        ppiVar11 = &local_18;
        local_2c = (_LIST_ENTRY *)FUN_1000f9e0();
      }
      p_Var9 = local_2c;
      if ((DAT_100b5ec4 & 1) == 0) {
        DAT_100b5ec4 = DAT_100b5ec4 | 1;
        local_8._0_1_ = 0x21;
        FUN_10017f80(&DAT_100b5df0);
        _atexit(FUN_1005d930);
        local_8._0_1_ = 0xe;
      }
      uVar24 = DAT_100cce9c;
      if (DAT_100b5df4 == -1) {
        if (((DAT_100b5df0 != 0) || (FUN_10019b00(&DAT_100b5df0), DAT_100b5df0 != 0)) &&
           (DAT_100b5e8c != (code *)0x0)) {
          (*DAT_100b5e8c)(&DAT_100b5df4,ppiVar11);
        }
        if (DAT_100b5df4 != -1) {
          FUN_10018190(&DAT_100b5df0);
          goto LAB_10038493;
        }
      }
      else {
LAB_10038493:
        if ((DAT_100b5e94 != (code *)0x0) &&
           (cVar10 = (*DAT_100b5e94)(DAT_100b5df4,uVar24,0), cVar10 != '\0')) {
          if ((DAT_100b5ec4 & 1) == 0) {
            DAT_100b5ec4 = DAT_100b5ec4 | 1;
            local_8._0_1_ = 0x22;
            FUN_10017f80(&DAT_100b5df0);
            _atexit(FUN_1005d930);
            local_8._0_1_ = 0xe;
          }
          CWrapLogger_LogCustom
                    (0x100b5df0,DAT_100cce9c,
                     L"NameSpace::ProcessWriteCompleteWorker - PublishWriteComplete returned");
        }
      }
      if ((int)p_Var9 < 0) {
        if ((DAT_100b5ec4 & 1) == 0) {
          DAT_100b5ec4 = DAT_100b5ec4 | 1;
          local_8._0_1_ = 0x2d;
          FUN_10017f80(&DAT_100b5df0);
          _atexit(FUN_1005d930);
          local_8._0_1_ = 0xe;
        }
        iVar12 = DAT_100b5e9c;
        if ((DAT_100b5e9c == 0) &&
           (iVar23 = FUN_1001ca40(&DAT_100b5df0), iVar12 = DAT_100b5e9c, iVar23 == 0)) {
          iVar12 = 0;
        }
        if ((DAT_100b5ec4 & 1) == 0) {
          DAT_100b5ec4 = DAT_100b5ec4 | 1;
          local_8._0_1_ = 0x2e;
          FUN_10017f80(&DAT_100b5df0);
          _atexit(FUN_1005d930);
          local_8._0_1_ = 0xe;
        }
        if (DAT_100b5df4 == -1) {
          if (((DAT_100b5df0 != 0) || (FUN_10019b00(&DAT_100b5df0), DAT_100b5df0 != 0)) &&
             (DAT_100b5e8c != (code *)0x0)) {
            (*DAT_100b5e8c)(&DAT_100b5df4);
          }
          if (DAT_100b5df4 != -1) {
            FUN_10018190(&DAT_100b5df0);
            goto LAB_10038bb7;
          }
        }
        else {
LAB_10038bb7:
          if ((DAT_100b5e94 != (code *)0x0) &&
             (cVar10 = (*DAT_100b5e94)(DAT_100b5df4,iVar12,0), cVar10 != '\0')) {
            if ((DAT_100b5ec4 & 1) == 0) {
              DAT_100b5ec4 = DAT_100b5ec4 | 1;
              local_8._0_1_ = 0x2f;
              FUN_10017f80(&DAT_100b5df0);
              _atexit(FUN_1005d930);
              local_8._0_1_ = 0xe;
            }
            CWrapLogger_LogWarning(0x100b5df0,L"  [%s] - PublishWriteComplete return 0x%x ");
          }
        }
      }
      else {
        if ((DAT_100b5ec4 & 1) == 0) {
          DAT_100b5ec4 = DAT_100b5ec4 | 1;
          local_8._0_1_ = 0x23;
          FUN_10017f80(&DAT_100b5df0);
          _atexit(FUN_1005d930);
          local_8._0_1_ = 0xe;
        }
        uVar24 = DAT_100cce9c;
        if (DAT_100b5df4 == -1) {
          if (((DAT_100b5df0 != 0) || (FUN_10019b00(&DAT_100b5df0), DAT_100b5df0 != 0)) &&
             (DAT_100b5e8c != (code *)0x0)) {
            (*DAT_100b5e8c)(&DAT_100b5df4);
          }
          if (DAT_100b5df4 != -1) {
            FUN_10018190(&DAT_100b5df0);
            goto LAB_10038580;
          }
        }
        else {
LAB_10038580:
          if ((DAT_100b5e94 != (code *)0x0) &&
             (cVar10 = (*DAT_100b5e94)(DAT_100b5df4,uVar24,0), cVar10 != '\0')) {
            if ((DAT_100b5ec4 & 1) == 0) {
              DAT_100b5ec4 = DAT_100b5ec4 | 1;
              local_8._0_1_ = 0x24;
              FUN_10017f80(&DAT_100b5df0);
              _atexit(FUN_1005d930);
              local_8._0_1_ = 0xe;
            }
            CWrapLogger_LogCustom
                      (0x100b5df0,DAT_100cce9c,
                       L"NameSpace::ProcessWriteCompleteWorker - PublishWriteComplete SUCCEEDED. lWriteSize[%d]"
                      );
          }
        }
        local_34 = (int *)0x0;
        if (local_20 != (int *)0x0) {
          local_54 = (void *)(iVar12 + 0x5c);
          do {
            local_b4 = *(PRTL_CRITICAL_SECTION_DEBUG *)((int)local_54 + 4);
            iVar12 = (int)local_34 * 0x20;
            if (*(undefined1 *)
                 ((int)&((PRTL_CRITICAL_SECTION_DEBUG)local_b4->CriticalSection)->
                        CreatorBackTraceIndexHigh + 1) == '\0') {
              p_Var19 = (PRTL_CRITICAL_SECTION_DEBUG)local_b4->CriticalSection;
              do {
                if ((p_Var19->ProcessLocksList).Blink <
                    (_LIST_ENTRY *)local_18[(int)local_34 * 8 + 4]) {
                  p_Var20 = (PRTL_CRITICAL_SECTION_DEBUG)(p_Var19->ProcessLocksList).Flink;
                }
                else {
                  p_Var20 = *(PRTL_CRITICAL_SECTION_DEBUG *)&p_Var19->Type;
                  local_b4 = p_Var19;
                }
                p_Var19 = p_Var20;
              } while (*(undefined1 *)((int)&p_Var20->CreatorBackTraceIndexHigh + 1) == '\0');
            }
            if ((local_b4 == *(PRTL_CRITICAL_SECTION_DEBUG *)((int)local_54 + 4)) ||
               ((_LIST_ENTRY *)local_18[(int)local_34 * 8 + 4] < (local_b4->ProcessLocksList).Blink)
               ) {
              local_3c = *(PRTL_CRITICAL_SECTION_DEBUG *)((int)local_54 + 4);
              pp_Var21 = &local_3c;
            }
            else {
              pp_Var21 = &local_b4;
            }
            p_Var19 = *pp_Var21;
            if ((DAT_100b5ec4 & 1) == 0) {
              DAT_100b5ec4 = DAT_100b5ec4 | 1;
              local_8._0_1_ = 0x25;
              FUN_10017f80(&DAT_100b5df0);
              _atexit(FUN_1005d930);
              local_8._0_1_ = 0xe;
            }
            uVar24 = DAT_100cce9c;
            if (DAT_100b5df4 == -1) {
              if (((DAT_100b5df0 != 0) || (FUN_10019b00(&DAT_100b5df0), DAT_100b5df0 != 0)) &&
                 (DAT_100b5e8c != (code *)0x0)) {
                (*DAT_100b5e8c)(&DAT_100b5df4);
              }
              if (DAT_100b5df4 != -1) {
                FUN_10018190(&DAT_100b5df0);
                goto LAB_100386dd;
              }
            }
            else {
LAB_100386dd:
              if ((DAT_100b5e94 != (code *)0x0) &&
                 (cVar10 = (*DAT_100b5e94)(DAT_100b5df4,uVar24,0), cVar10 != '\0')) {
                if ((DAT_100b5ec4 & 1) == 0) {
                  DAT_100b5ec4 = DAT_100b5ec4 | 1;
                  local_8._0_1_ = 0x26;
                  FUN_10017f80(&DAT_100b5df0);
                  _atexit(FUN_1005d930);
                  local_8._0_1_ = 0xe;
                }
                CWrapLogger_LogCustom
                          (0x100b5df0,DAT_100cce9c,
                           L"NameSpace::ProcessWriteCompleteWorker - PublishWriteComplete SUCCEEDED "
                          );
              }
            }
            if (p_Var19 == *(PRTL_CRITICAL_SECTION_DEBUG *)(local_14 + 0x60)) {
              local_34 = (int *)((int)local_34 + 1);
              if ((DAT_100b5ec4 & 1) == 0) {
                DAT_100b5ec4 = DAT_100b5ec4 | 1;
                local_8._0_1_ = 0x2a;
                FUN_10017f80(&DAT_100b5df0);
                _atexit(FUN_1005d930);
                local_8._0_1_ = 0xe;
              }
              iVar12 = DAT_100b5e9c;
              if ((DAT_100b5e9c == 0) &&
                 (iVar23 = FUN_1001ca40(&DAT_100b5df0), iVar12 = DAT_100b5e9c, iVar23 == 0)) {
                iVar12 = 0;
              }
              if ((DAT_100b5ec4 & 1) == 0) {
                DAT_100b5ec4 = DAT_100b5ec4 | 1;
                local_8._0_1_ = 0x2b;
                FUN_10017f80(&DAT_100b5df0);
                _atexit(FUN_1005d930);
                local_8._0_1_ = 0xe;
              }
              if (DAT_100b5df4 == -1) {
                if (((DAT_100b5df0 != 0) || (FUN_10019b00(&DAT_100b5df0), DAT_100b5df0 != 0)) &&
                   (DAT_100b5e8c != (code *)0x0)) {
                  (*DAT_100b5e8c)(&DAT_100b5df4);
                }
                if (DAT_100b5df4 == -1) goto LAB_10038ab8;
                FUN_10018190(&DAT_100b5df0);
              }
              if ((DAT_100b5e94 != (code *)0x0) &&
                 (cVar10 = (*DAT_100b5e94)(DAT_100b5df4,iVar12,0), cVar10 != '\0')) {
                if ((DAT_100b5ec4 & 1) == 0) {
                  DAT_100b5ec4 = DAT_100b5ec4 | 1;
                  local_8._0_1_ = 0x2c;
                  FUN_10017f80(&DAT_100b5df0);
                  _atexit(FUN_1005d930);
                  local_8._0_1_ = 0xe;
                }
                CWrapLogger_LogWarning
                          (0x100b5df0,L"  [%s] - WriteHandle(%d) is not find in WriteComplete");
              }
            }
            else {
              iVar23 = 0;
              if (0 < (int)p_Var19->ContentionCount) {
                iVar22 = 0;
                do {
                  if ((local_20 <= local_34) ||
                     ((p_Var19->ProcessLocksList).Blink !=
                      *(_LIST_ENTRY **)(iVar12 + 0x10 + (int)local_18))) break;
                  *(undefined4 *)(iVar22 + 0x10 + p_Var19->Flags) =
                       *(undefined4 *)(iVar12 + 8 + (int)local_18);
                  *(undefined4 *)(iVar22 + 0x14 + p_Var19->Flags) =
                       *(undefined4 *)(iVar12 + 0x14 + (int)local_18);
                  local_34 = (int *)((int)local_34 + 1);
                  p_Var19->EntryCount = p_Var19->EntryCount + 1;
                  iVar23 = iVar23 + 1;
                  iVar12 = iVar12 + 0x20;
                  iVar22 = iVar22 + 0x18;
                } while (iVar23 < (int)p_Var19->ContentionCount);
              }
              if (p_Var19->EntryCount != p_Var19->ContentionCount) {
                if ((DAT_100b5ec4 & 1) == 0) {
                  DAT_100b5ec4 = DAT_100b5ec4 | 1;
                  local_8._0_1_ = 0x27;
                  FUN_10017f80(&DAT_100b5df0);
                  _atexit(FUN_1005d930);
                  local_8._0_1_ = 0xe;
                }
                iVar12 = DAT_100b5e9c;
                if ((DAT_100b5e9c == 0) &&
                   (iVar23 = FUN_1001ca40(&DAT_100b5df0), iVar12 = DAT_100b5e9c, iVar23 == 0)) {
                  iVar12 = 0;
                }
                if ((DAT_100b5ec4 & 1) == 0) {
                  DAT_100b5ec4 = DAT_100b5ec4 | 1;
                  local_8._0_1_ = 0x28;
                  FUN_10017f80(&DAT_100b5df0);
                  _atexit(FUN_1005d930);
                  local_8._0_1_ = 0xe;
                }
                if (DAT_100b5df4 == -1) {
                  if (((DAT_100b5df0 != 0) || (FUN_10019b00(&DAT_100b5df0), DAT_100b5df0 != 0)) &&
                     (DAT_100b5e8c != (code *)0x0)) {
                    (*DAT_100b5e8c)(&DAT_100b5df4);
                  }
                  if (DAT_100b5df4 == -1) goto LAB_100388f2;
                  FUN_10018190(&DAT_100b5df0);
                }
                if ((DAT_100b5e94 != (code *)0x0) &&
                   (cVar10 = (*DAT_100b5e94)(DAT_100b5df4,iVar12,0), cVar10 != '\0')) {
                  if ((DAT_100b5ec4 & 1) == 0) {
                    DAT_100b5ec4 = DAT_100b5ec4 | 1;
                    local_8._0_1_ = 0x29;
                    FUN_10017f80(&DAT_100b5df0);
                    _atexit(FUN_1005d930);
                    local_8._0_1_ = 0xe;
                  }
                  CWrapLogger_LogWarning
                            (0x100b5df0,
                             L"  [%s] - WriteHandle(%d): WriteComplete is not equal to WriteSize");
                }
              }
LAB_100388f2:
              piVar18 = local_40;
              puVar13 = FUN_1002b960(&local_a4,(char *)local_40,local_40[1],&p_Var19->Flags);
              ppuVar5 = local_44;
              if (local_a0 == 0x3ffffffe) goto LAB_10038efb;
              local_a0 = local_a0 + 1;
              piVar18[1] = (int)puVar13;
              *(undefined4 **)puVar13[1] = puVar13;
              puVar13 = FUN_1002ba70(&local_78,(char *)local_44,local_44[1],
                                     &p_Var19->ContentionCount);
              if (local_74 == 0x3ffffffe) goto LAB_10038efb;
              local_74 = local_74 + 1;
              ppuVar5[1] = (undefined *)puVar13;
              *(undefined4 **)puVar13[1] = puVar13;
              local_1c = (PRTL_CRITICAL_SECTION_DEBUG)
                         ((int)&local_1c->Type + p_Var19->ContentionCount);
              FUN_1002cd40(local_54,&local_94,(int *)p_Var19);
            }
LAB_10038ab8:
          } while (local_34 < local_20);
          if (local_20 != (int *)0x0) {
            CoTaskMemFree(local_18);
          }
        }
        if (local_4c != 0) {
          CoTaskMemFree(local_50);
        }
      }
      p_Var19 = local_1c;
      if ((int)local_1c < 1) goto LAB_10038d9f;
      if ((DAT_100b5ec4 & 1) == 0) {
        DAT_100b5ec4 = DAT_100b5ec4 | 1;
        local_8._0_1_ = 0x30;
        FUN_10017f80(&DAT_100b5df0);
        _atexit(FUN_1005d930);
        local_8._0_1_ = 0xe;
      }
      uVar24 = DAT_100cce9c;
      if (DAT_100b5df4 == -1) {
        if (((DAT_100b5df0 != 0) || (FUN_10019b00(&DAT_100b5df0), DAT_100b5df0 != 0)) &&
           (DAT_100b5e8c != (code *)0x0)) {
          (*DAT_100b5e8c)(&DAT_100b5df4);
        }
        if (DAT_100b5df4 != -1) {
          FUN_10018190(&DAT_100b5df0);
          goto LAB_10038cac;
        }
      }
      else {
LAB_10038cac:
        if ((DAT_100b5e94 != (code *)0x0) &&
           (cVar10 = (*DAT_100b5e94)(DAT_100b5df4,uVar24,0), cVar10 != '\0')) {
          if ((DAT_100b5ec4 & 1) == 0) {
            DAT_100b5ec4 = DAT_100b5ec4 | 1;
            local_8._0_1_ = 0x31;
            FUN_10017f80(&DAT_100b5df0);
            _atexit(FUN_1005d930);
            local_8._0_1_ = 0xe;
          }
          CWrapLogger_LogCustom
                    (0x100b5df0,DAT_100cce9c,
                     L"NameSpace::ProcessWriteCompleteWorker - formatting responses.  Count[%d]");
        }
      }
      _Dst = CoTaskMemAlloc((int)p_Var19 * 0x18);
      piVar17 = local_40;
      piVar18 = (int *)*local_40;
      local_30 = _Dst;
      if (_Dst != (_RTL_CRITICAL_SECTION *)0x0) {
        puVar13 = (undefined4 *)*local_44;
        if (piVar18 != local_40) {
          do {
            memcpy(_Dst,(void *)piVar18[2],puVar13[2] * 0x18);
            _Dst = _Dst + puVar13[2];
            CoTaskMemFree((LPVOID)piVar18[2]);
            piVar18 = (int *)*piVar18;
            puVar13 = (undefined4 *)*puVar13;
          } while (piVar18 != local_40);
        }
        goto LAB_10038d96;
      }
      local_2c = (_LIST_ENTRY *)0x8007000e;
      for (; p_Var19 = (PRTL_CRITICAL_SECTION_DEBUG)0x0, piVar18 != piVar17;
          piVar18 = (int *)*piVar18) {
        CoTaskMemFree((LPVOID)piVar18[2]);
      }
    }
  }
  local_3c = new(0x10);
  if (local_3c == (PRTL_CRITICAL_SECTION_DEBUG)0x0) goto LAB_10038f1d;
  *(PRTL_CRITICAL_SECTION_DEBUG *)&local_3c->Type = p_Var19;
  local_3c->CriticalSection = local_30;
  (local_3c->ProcessLocksList).Flink = local_24;
  (local_3c->ProcessLocksList).Blink = local_2c;
  if ((DAT_100b5ec4 & 1) == 0) {
    DAT_100b5ec4 = DAT_100b5ec4 | 1;
    local_8._0_1_ = 0x32;
    FUN_10017f80(&DAT_100b5df0);
    _atexit(FUN_1005d930);
    local_8._0_1_ = 0xe;
  }
  uVar24 = DAT_100cce9c;
  if (DAT_100b5df4 == -1) {
    if (((DAT_100b5df0 != 0) || (FUN_10019b00(&DAT_100b5df0), DAT_100b5df0 != 0)) &&
       (DAT_100b5e8c != (code *)0x0)) {
      (*DAT_100b5e8c)(&DAT_100b5df4);
    }
    if (DAT_100b5df4 != -1) {
      FUN_10018190(&DAT_100b5df0);
      goto LAB_10038e5e;
    }
  }
  else {
LAB_10038e5e:
    if ((DAT_100b5e94 != (code *)0x0) &&
       (cVar10 = (*DAT_100b5e94)(DAT_100b5df4,uVar24,0), cVar10 != '\0')) {
      if ((DAT_100b5ec4 & 1) == 0) {
        DAT_100b5ec4 = DAT_100b5ec4 | 1;
        local_8._0_1_ = 0x33;
        FUN_10017f80(&DAT_100b5df0);
        _atexit(FUN_1005d930);
        local_8._0_1_ = 0xe;
      }
      CWrapLogger_LogCustom
                (0x100b5df0,DAT_100cce9c,
                 L"NameSpace::ProcessWriteCompleteWorker - submitting response to queue");
    }
  }
  iVar12 = local_14;
  p_Var1 = (LPCRITICAL_SECTION)(local_14 + 0x2c);
  local_94 = p_Var1;
  EnterCriticalSection(p_Var1);
  local_8._0_1_ = 0x34;
  pcVar3 = *(char **)(iVar12 + 0x44);
  puVar13 = FUN_1002b0c0((void *)(iVar12 + 0x44),pcVar3,*(undefined4 *)(pcVar3 + 4),&local_3c);
  if (*(int *)(iVar12 + 0x48) == 0x3ffffffe) {
LAB_10038efb:
                    /* WARNING: Subroutine does not return */
    std::_Xlength_error("list<T> too long");
  }
  *(int *)(iVar12 + 0x48) = *(int *)(iVar12 + 0x48) + 1;
  *(undefined4 **)(pcVar3 + 4) = puVar13;
  *(undefined4 **)puVar13[1] = puVar13;
  local_8._0_1_ = 0xe;
  LeaveCriticalSection(p_Var1);
LAB_10038f1d:
  piVar18 = local_40;
  puVar15 = local_90;
  local_8._0_1_ = 0x35;
  puVar13 = (undefined4 *)*local_90;
  *local_90 = local_90;
  local_90[1] = local_90;
  local_8c = 0;
  while (puVar13 != puVar15) {
    puVar4 = (undefined4 *)*puVar13;
    delete(puVar13);
    puVar13 = puVar4;
  }
  local_8._0_1_ = 0xb;
  delete(puVar15);
  ppuVar8 = local_44;
  local_8._0_1_ = 0x36;
  ppuVar5 = (undefined **)*local_44;
  *local_44 = (undefined *)local_44;
  local_44[1] = (undefined *)local_44;
  local_74 = 0;
  while (ppuVar5 != ppuVar8) {
    ppuVar6 = (undefined **)*ppuVar5;
    delete(ppuVar5);
    ppuVar5 = ppuVar6;
  }
  local_8._0_1_ = 8;
  delete(ppuVar8);
  local_8._0_1_ = 0x37;
  piVar17 = (int *)*piVar18;
  *piVar18 = (int)piVar18;
  piVar18[1] = (int)piVar18;
  local_a0 = 0;
  while (piVar17 != piVar18) {
    piVar7 = (int *)*piVar17;
    delete(piVar17);
    piVar17 = piVar7;
  }
  local_8._0_1_ = 5;
  delete(piVar18);
  piVar17 = local_48;
  local_8._0_1_ = 0x38;
  piVar18 = (int *)*local_48;
  *local_48 = (int)local_48;
  local_48[1] = (int)local_48;
  local_ac = 0;
  while (piVar18 != piVar17) {
    piVar7 = (int *)*piVar18;
    delete(piVar18);
    piVar18 = piVar7;
  }
  local_8 = CONCAT31(local_8._1_3_,2);
  delete(piVar17);
  piVar17 = local_28;
  local_8 = 0x39;
  piVar18 = (int *)*local_28;
  *local_28 = (int)local_28;
  local_28[1] = (int)local_28;
  local_68 = 0;
  while (piVar18 != piVar17) {
    piVar7 = (int *)*piVar18;
    delete(piVar18);
    piVar18 = piVar7;
  }
  local_8 = 0xffffffff;
  delete(piVar17);
  ExceptionList = local_10;
  return;
}


FUN_1003adf0 at 1003adf0

Signature: undefined __fastcall FUN_1003adf0(void * param_1)


void __fastcall FUN_1003adf0(void *param_1)

{
  _LIST_ENTRY *p_Var1;
  PRTL_CRITICAL_SECTION_DEBUG p_Var2;
  char *pcVar3;
  PRTL_CRITICAL_SECTION_DEBUG p_Var4;
  uint uVar5;
  int iVar6;
  undefined4 *puVar7;
  int *piVar8;
  int iVar9;
  undefined4 *puVar10;
  PRTL_CRITICAL_SECTION_DEBUG p_Var11;
  wchar_t *pwVar12;
  undefined4 uVar13;
  undefined4 uVar14;
  undefined1 local_84 [4];
  uint *local_80;
  PRTL_CRITICAL_SECTION_DEBUG local_58;
  undefined4 local_54;
  undefined **local_4c;
  _LIST_ENTRY *local_48;
  undefined4 local_44;
  uint *local_40;
  PRTL_CRITICAL_SECTION_DEBUG local_3c;
  uint local_38;
  LPVOID local_34;
  LPVOID local_30;
  void *local_2c;
  LPVOID local_28;
  uint local_24;
  uint local_20;
  LPVOID local_1c;
  uint local_18;
  char local_11;
  void *local_10;
  undefined1 *puStack_c;
  undefined4 local_8;
  
  puStack_c = &LAB_1005890d;
  local_10 = ExceptionList;
  uVar5 = DAT_100b1424 ^ (uint)&stack0xfffffffc;
  ExceptionList = &local_10;
  local_18 = 0;
  local_24 = 0;
  local_34 = (LPVOID)0x0;
  local_28 = (LPVOID)0x0;
  local_2c = param_1;
  if ((DAT_100b5ec4 & 1) == 0) {
    DAT_100b5ec4 = DAT_100b5ec4 | 1;
    local_8 = 0;
    FUN_10017f80(&DAT_100b5df0);
    _atexit(FUN_1005d930);
  }
  uVar14 = DAT_100cce94;
  local_8 = 0xffffffff;
  if (DAT_100b5df4 == -1) {
    if (((DAT_100b5df0 != 0) || (FUN_10019b00(&DAT_100b5df0), DAT_100b5df0 != 0)) &&
       (DAT_100b5e8c != (code *)0x0)) {
      (*DAT_100b5e8c)(&DAT_100b5df4,uVar5);
    }
    if (DAT_100b5df4 != -1) {
      FUN_10018190(&DAT_100b5df0);
      goto LAB_1003aeab;
    }
LAB_1003aec7:
    local_11 = '\0';
  }
  else {
LAB_1003aeab:
    if (DAT_100b5e94 == (code *)0x0) goto LAB_1003aec7;
    local_11 = (*DAT_100b5e94)(DAT_100b5df4,uVar14,0);
  }
  iVar6 = FUN_10035eb0((int)param_1);
  if (iVar6 == 0) {
    *(undefined4 *)((int)param_1 + 0x2d0) = 0;
    *(undefined4 *)((int)param_1 + 0x2d4) = 0;
    FUN_10035c00((int)param_1);
    if ((*(char *)((int)param_1 + 0xb9) != '\0') && (*(char *)((int)param_1 + 0xba) != '\0')) {
      local_18 = 0x80010006;
      *(undefined1 *)((int)param_1 + 0xba) = 0;
    }
  }
  else {
    *(undefined1 *)((int)param_1 + 0xba) = 1;
  }
  iVar6 = FUN_10035eb0((int)param_1);
  if (iVar6 == 1) {
    if (-1 < (int)local_18) {
      local_54 = 0;
      local_58 = new(0xc);
      if (local_58 == (PRTL_CRITICAL_SECTION_DEBUG)0x0) {
        local_40 = (uint *)0x0;
        std::exception::exception((exception *)&local_4c,(char **)&local_40);
        local_4c = std::bad_alloc::vftable;
        local_8 = 0xffffffff;
                    /* WARNING: Subroutine does not return */
        _CxxThrowException(&local_4c,(ThrowInfo *)&DAT_100a469c);
      }
      *(PRTL_CRITICAL_SECTION_DEBUG *)&local_58->Type = local_58;
      local_58->CriticalSection = (_RTL_CRITICAL_SECTION *)local_58;
      local_8 = 3;
      FUN_10035620(local_84,&local_11);
      local_8 = CONCAT31(local_8._1_3_,5);
      FUN_1003a180(param_1,&local_58,local_84);
      local_30 = (LPVOID)0x0;
      local_18 = FUN_1002f190((int *)&local_30,(int *)&local_58);
      if (local_30 != (LPVOID)0x0) {
        local_1c = (LPVOID)0x0;
        local_20 = 0;
        if (DAT_100cce80 == '\0') {
          local_18 = FUN_1000e3d0();
        }
        if ((int)local_18 < 0) {
          piVar8 = FUN_1001b5b0();
          if ((piVar8[0x2b] == 0) && (iVar6 = FUN_1001ca40(piVar8), iVar6 == 0)) {
            iVar6 = 0;
          }
          else {
            iVar6 = piVar8[0x2b];
          }
          uVar14 = 0;
          puVar10 = FUN_1001b5b0();
          uVar5 = FUN_1001b4e0(puVar10,iVar6,uVar14);
          if ((char)uVar5 != '\0') {
            pwVar12 = L"  [%s] - RegisterItems return 0x%x";
            puVar10 = FUN_1001b5b0();
            CWrapLogger_LogWarning((int)puVar10,pwVar12);
          }
        }
        else {
          local_34 = CoTaskMemAlloc(local_20 * 0x18);
          if (local_34 == (LPVOID)0x0) {
            local_18 = 0x8007000e;
            CoTaskMemFree(local_1c);
          }
          else {
            p_Var11 = *(PRTL_CRITICAL_SECTION_DEBUG *)&local_58->Type;
            local_24 = local_20;
            local_38 = 0;
            local_3c = p_Var11;
            if (local_20 != 0) {
              iVar6 = 0;
              puVar10 = (undefined4 *)((int)local_34 + 8);
              do {
                local_3c = p_Var11;
                if (p_Var11 == local_58) break;
                puVar10[-2] = *(undefined4 *)(iVar6 + (int)local_1c);
                puVar10[-1] = 0;
                puVar10[2] = *(undefined4 *)(iVar6 + 8 + (int)local_1c);
                puVar10[3] = *(undefined4 *)(iVar6 + 0xc + (int)local_1c);
                if (local_11 != '\0') {
                  uVar13 = 0;
                  uVar14 = DAT_100cce94;
                  puVar7 = FUN_1001b5b0();
                  uVar5 = FUN_1001b4e0(puVar7,uVar14,uVar13);
                  if ((char)uVar5 != '\0') {
                    pwVar12 = 
                    L"NameSpace::ProcessRegistrationThread  Registration Response>> ItemId[%I64d]  Status[%d]"
                    ;
                    uVar14 = DAT_100cce94;
                    puVar7 = FUN_1001b5b0();
                    CWrapLogger_LogCustom((int)puVar7,uVar14,pwVar12);
                  }
                }
                p_Var1 = (p_Var11->ProcessLocksList).Flink;
                if ((p_Var1[1].Flink == *(_LIST_ENTRY **)(iVar6 + (int)local_1c)) &&
                   (p_Var1[1].Blink == (_LIST_ENTRY *)0x0)) {
                  *puVar10 = p_Var1[3].Flink;
                  puVar10[1] = p_Var1[3].Blink;
                }
                else {
                  local_44 = 0;
                  local_48 = *(_LIST_ENTRY **)(iVar6 + (int)local_1c);
                  FUN_100327a0(local_84,(int *)&local_40,(uint *)&local_48);
                  if (local_40 == local_80) {
                    *puVar10 = 0;
                    puVar10[1] = 0;
                    piVar8 = FUN_1001b5b0();
                    if ((piVar8[0x2b] == 0) && (iVar9 = FUN_1001ca40(piVar8), iVar9 == 0)) {
                      iVar9 = 0;
                    }
                    else {
                      iVar9 = piVar8[0x2b];
                    }
                    uVar14 = 0;
                    puVar7 = FUN_1001b5b0();
                    uVar5 = FUN_1001b4e0(puVar7,iVar9,uVar14);
                    if ((char)uVar5 != '\0') {
                      pwVar12 = 
                      L" The recieved Item Id [%I64x]  no longer exists in the pending registration list"
                      ;
                      puVar7 = FUN_1001b5b0();
                      CWrapLogger_LogWarning((int)puVar7,pwVar12);
                    }
                  }
                  else {
                    uVar5 = local_40[4];
                    *puVar10 = *(undefined4 *)(uVar5 + 0x18);
                    puVar10[1] = *(undefined4 *)(uVar5 + 0x1c);
                  }
                }
                if (puVar10[2] == 0) {
                  FUN_100367b0(local_2c,puVar10[-2],puVar10[-1]);
                }
                p_Var11 = *(PRTL_CRITICAL_SECTION_DEBUG *)&local_3c->Type;
                local_38 = local_38 + 1;
                iVar6 = iVar6 + 0x20;
                puVar10 = puVar10 + 6;
                local_3c = p_Var11;
              } while (local_38 < local_20);
            }
            param_1 = local_2c;
            CoTaskMemFree(local_1c);
          }
        }
        CoTaskMemFree(local_30);
        FUN_1002ec30((int *)&local_58);
        FUN_10035480((int)local_84);
      }
      local_8 = CONCAT31(local_8._1_3_,3);
      FUN_10034f30((int)local_84);
      p_Var4 = local_58;
      local_8 = 7;
      p_Var11 = *(PRTL_CRITICAL_SECTION_DEBUG *)&local_58->Type;
      *(PRTL_CRITICAL_SECTION_DEBUG *)&local_58->Type = local_58;
      local_58->CriticalSection = (_RTL_CRITICAL_SECTION *)local_58;
      local_54 = 0;
      while (p_Var11 != p_Var4) {
        p_Var2 = *(PRTL_CRITICAL_SECTION_DEBUG *)&p_Var11->Type;
        delete(p_Var11);
        p_Var11 = p_Var2;
      }
      local_8 = 0xffffffff;
      delete(p_Var4);
      if ((int)local_24 < 1) goto LAB_1003b248;
    }
LAB_1003b251:
    if (local_11 != '\0') {
      if ((DAT_100b5ec4 & 1) == 0) {
        DAT_100b5ec4 = DAT_100b5ec4 | 1;
        local_8 = 8;
        FUN_10017f80(&DAT_100b5df0);
        _atexit(FUN_1005d930);
        local_8 = 0xffffffff;
      }
      uVar5 = FUN_1001b4e0(&DAT_100b5df0,DAT_100cce94,0);
      if ((char)uVar5 != '\0') {
        pwVar12 = L"NameSpace::ProcessRegistrationThread  submitting to Queue count[%d] hr[0x%x]";
        uVar14 = DAT_100cce94;
        puVar10 = FUN_1001b5b0();
        CWrapLogger_LogCustom((int)puVar10,uVar14,pwVar12);
      }
    }
    local_40 = new(0x10);
    if (local_40 != (uint *)0x0) {
      *local_40 = local_24;
      local_40[1] = (uint)local_34;
      local_40[2] = (uint)local_28;
      p_Var11 = (PRTL_CRITICAL_SECTION_DEBUG)((int)param_1 + 0x16c);
      local_28 = (LPVOID)0x0;
      local_40[3] = local_18;
      local_3c = p_Var11;
      EnterCriticalSection((LPCRITICAL_SECTION)p_Var11);
      local_8 = 9;
      pcVar3 = *(char **)((int)param_1 + 0x184);
      puVar10 = FUN_1002b2c0((undefined4 *)((int)param_1 + 0x184),pcVar3,*(undefined4 *)(pcVar3 + 4)
                             ,&local_40);
      if (*(int *)((int)param_1 + 0x188) == 0x3ffffffe) {
                    /* WARNING: Subroutine does not return */
        std::_Xlength_error("list<T> too long");
      }
      *(int *)((int)param_1 + 0x188) = *(int *)((int)param_1 + 0x188) + 1;
      *(undefined4 **)(pcVar3 + 4) = puVar10;
      *(undefined4 **)puVar10[1] = puVar10;
      local_8 = 0xffffffff;
      LeaveCriticalSection((LPCRITICAL_SECTION)p_Var11);
      goto LAB_1003b399;
    }
  }
  else {
LAB_1003b248:
    if (local_18 != 0) goto LAB_1003b251;
  }
  if (local_34 != (LPVOID)0x0) {
    CoTaskMemFree(local_34);
  }
LAB_1003b399:
  if (local_28 != (LPVOID)0x0) {
    CoTaskMemFree(local_28);
  }
  ExceptionList = local_10;
  return;
}


FUN_1003bf50 at 1003bf50

Signature: undefined __fastcall FUN_1003bf50(LPVOID param_1)


void __fastcall FUN_1003bf50(LPVOID param_1)

{
  char cVar1;
  HANDLE pvVar2;
  int iVar3;
  int iVar4;
  LSTATUS LVar5;
  HKEY hKey;
  HKEY local_28;
  undefined4 local_24;
  undefined4 local_20;
  DWORD local_1c [3];
  void *local_10;
  undefined1 *puStack_c;
  undefined4 local_8;
  
  local_8 = 0xffffffff;
  puStack_c = &LAB_10058ab2;
  local_10 = ExceptionList;
  ExceptionList = &local_10;
  pvVar2 = CreateEventW((LPSECURITY_ATTRIBUTES)0x0,0,0,(LPCWSTR)0x0);
  *(HANDLE *)((int)param_1 + 0xe0) = pvVar2;
  pvVar2 = CreateEventW((LPSECURITY_ATTRIBUTES)0x0,0,0,(LPCWSTR)0x0);
  *(HANDLE *)((int)param_1 + 0xe4) = pvVar2;
  if ((DAT_100b5ec4 & 1) == 0) {
    DAT_100b5ec4 = DAT_100b5ec4 | 1;
    local_8 = 0;
    FUN_10017f80(&DAT_100b5df0);
    _atexit(FUN_1005d930);
    local_8 = 0xffffffff;
  }
  iVar4 = DAT_100b5eb0;
  if ((DAT_100b5eb0 == 0) && (iVar3 = FUN_1001ca40(&DAT_100b5df0), iVar4 = DAT_100b5eb0, iVar3 == 0)
     ) {
    iVar4 = 0;
  }
  if ((DAT_100b5ec4 & 1) == 0) {
    DAT_100b5ec4 = DAT_100b5ec4 | 1;
    local_8 = 1;
    FUN_10017f80(&DAT_100b5df0);
    _atexit(FUN_1005d930);
    local_8 = 0xffffffff;
  }
  if (DAT_100b5df4 == -1) {
    if (((DAT_100b5df0 != 0) || (FUN_10019b00(&DAT_100b5df0), DAT_100b5df0 != 0)) &&
       (DAT_100b5e8c != (code *)0x0)) {
      (*DAT_100b5e8c)(&DAT_100b5df4);
    }
    if (DAT_100b5df4 == -1) goto LAB_1003c0cb;
    FUN_10018190(&DAT_100b5df0);
  }
  if ((DAT_100b5e94 != (code *)0x0) &&
     (cVar1 = (*DAT_100b5e94)(DAT_100b5df4,iVar4,0), cVar1 != '\0')) {
    if ((DAT_100b5ec4 & 1) == 0) {
      DAT_100b5ec4 = DAT_100b5ec4 | 1;
      local_8 = 2;
      FUN_10017f80(&DAT_100b5df0);
      _atexit(FUN_1005d930);
      local_8 = 0xffffffff;
    }
    FUN_10029270(&DAT_100b5df0,L"Begin to Create Namespace Worker Thread");
  }
LAB_1003c0cb:
  local_1c[2] = 0xfa;
  local_28 = (HKEY)0x0;
  local_24 = 0;
  local_20 = 0;
  local_8 = 3;
  iVar4 = FUN_10017b40(&local_28,(HKEY)0x80000002,L"SOFTWARE\\ArchestrA\\Framework\\Nmx",1);
  hKey = local_28;
  if (iVar4 == 0) {
    local_1c[1] = 4;
    LVar5 = RegQueryValueExW(local_28,L"NameSpacePublishTimer",(LPDWORD)0x0,local_1c,
                             (LPBYTE)(local_1c + 2),local_1c + 1);
    if ((LVar5 == 0) && (local_1c[0] == 4)) {
      DAT_100b0f48 = local_1c[2];
    }
    if (hKey != (HKEY)0x0) {
      RegCloseKey(hKey);
      hKey = (HKEY)0x0;
      local_28 = (HKEY)0x0;
    }
    local_24 = 0;
  }
  if (DAT_100b0f48 == 0) {
    DAT_100b0f48 = 0xfa;
  }
  pvVar2 = CreateThread((LPSECURITY_ATTRIBUTES)0x0,0,FUN_1003ba00,param_1,0,
                        (LPDWORD)((int)param_1 + 0xdc));
  *(HANDLE *)((int)param_1 + 0xd8) = pvVar2;
  local_8 = 0xffffffff;
  if (hKey != (HKEY)0x0) {
    RegCloseKey(hKey);
  }
  ExceptionList = local_10;
  return;
}


FUN_10049070 at 10049070

Signature: BSTR __stdcall FUN_10049070(int param_1)


BSTR FUN_10049070(int param_1)

{
  void *this;
  GUID *pGVar1;
  void *this_00;
  bool bVar2;
  char cVar3;
  undefined4 uVar4;
  uint uVar5;
  undefined4 *puVar6;
  undefined3 extraout_var;
  undefined3 extraout_var_00;
  undefined3 extraout_var_01;
  int iVar7;
  HRESULT HVar8;
  BSTR pOVar9;
  undefined3 extraout_var_03;
  undefined3 extraout_var_04;
  undefined3 extraout_var_05;
  undefined3 extraout_var_06;
  code *pcVar10;
  GUID *pGVar11;
  GUID *in_stack_0000001c;
  GUID *in_stack_00000020;
  short in_stack_00000024;
  BSTR in_stack_00000038;
  ulong uVar12;
  wchar_t *pwVar13;
  uint *puVar14;
  undefined4 uVar15;
  undefined4 uVar16;
  undefined4 uVar17;
  LPVOID *ppvVar18;
  undefined4 uVar19;
  undefined4 uVar20;
  undefined4 uVar21;
  undefined4 uVar22;
  undefined4 uVar23;
  undefined4 uVar24;
  undefined4 uVar25;
  undefined4 uVar26;
  undefined4 uVar27;
  uint local_20;
  LPVOID local_1c;
  void *local_18;
  BSTR local_14;
  void *local_10;
  undefined1 *puStack_c;
  undefined4 local_8;
  undefined3 extraout_var_02;
  
  local_8 = 0xffffffff;
  puStack_c = &LAB_1005ac22;
  local_10 = ExceptionList;
  ExceptionList = &local_10;
  local_14 = (BSTR)0x0;
  *(BSTR *)(param_1 + 0xd0) = in_stack_00000038;
  uVar4 = FUN_1003ce40((int)in_stack_00000038);
  if ((char)uVar4 == '\0') {
    if ((DAT_100b5ec4 & 1) == 0) {
      DAT_100b5ec4 = DAT_100b5ec4 | 1;
      local_8 = 0;
      FUN_10017f80(&DAT_100b5df0);
      _atexit(FUN_1005d930);
      local_8 = 0xffffffff;
    }
    uVar5 = FUN_1001b4e0(&DAT_100b5df0,DAT_100cce9c,0);
    if ((char)uVar5 != '\0') {
      pwVar13 = L"NamespaceMgr::FillWriteUserToken - hInstance = %ld";
      uVar12 = DAT_100cce9c;
      puVar6 = FUN_1001b5b0();
      CWrapLogger_LogCustom((int)puVar6,uVar12,pwVar13);
    }
    *(short *)(param_1 + 0xcc) = in_stack_00000024;
    if ((DAT_100b5ec4 & 1) == 0) {
      DAT_100b5ec4 = DAT_100b5ec4 | 1;
      local_8 = 1;
      FUN_10017f80(&DAT_100b5df0);
      _atexit(FUN_1005d930);
      local_8 = 0xffffffff;
    }
    uVar5 = FUN_1001b4e0(&DAT_100b5df0,DAT_100cce9c,0);
    if ((char)uVar5 != '\0') {
      uVar4._0_1_ = '\0';
      uVar4._1_1_ = '\0';
      uVar4._2_1_ = '\0';
      uVar4._3_1_ = '\0';
      uVar12 = DAT_100cce9c;
      puVar6 = FUN_1001b5b0();
      uVar5 = FUN_1001b4e0(puVar6,uVar12,uVar4);
      if ((char)uVar5 != '\0') {
        pwVar13 = L"NamespaceMgr::FillWriteUserToken - Verified flag [%d]";
        uVar12 = DAT_100cce9c;
        puVar6 = FUN_1001b5b0();
        CWrapLogger_LogCustom((int)puVar6,uVar12,pwVar13);
      }
    }
    pGVar1 = in_stack_0000001c;
    bVar2 = FUN_100086e0((byte *)in_stack_0000001c,&DAT_100699f8);
    pGVar11 = in_stack_00000020;
    pcVar10 = SysFreeString_exref;
    if (((CONCAT31(extraout_var,bVar2) == 0) &&
        (bVar2 = FUN_100086e0((byte *)in_stack_00000020,&DAT_100699f8),
        CONCAT31(extraout_var_00,bVar2) != 0)) && (in_stack_00000024 == -1)) {
      uVar15._0_1_ = '\0';
      uVar15._1_1_ = '\0';
      uVar15._2_1_ = '\0';
      uVar15._3_1_ = '\0';
      uVar12 = DAT_100cce9c;
      puVar6 = FUN_1001b5b0();
      uVar5 = FUN_1001b4e0(puVar6,uVar12,uVar15);
      if ((char)uVar5 != '\0') {
        uVar16._0_1_ = '\0';
        uVar16._1_1_ = '\0';
        uVar16._2_1_ = '\0';
        uVar16._3_1_ = '\0';
        uVar12 = DAT_100cce9c;
        puVar6 = FUN_1001b5b0();
        uVar5 = FUN_1001b4e0(puVar6,uVar12,uVar16);
        if ((char)uVar5 != '\0') {
          FUN_10048620(&stack0x00000020,pGVar1);
          local_8 = 2;
          pwVar13 = 
          L"NamespaceMgr::FillWriteUserToken - Secured Write - User GUID [%s] :: Verified Flag [%d]"
          ;
          uVar12 = DAT_100cce9c;
          puVar6 = FUN_1001b5b0();
          CWrapLogger_LogCustom((int)puVar6,uVar12,pwVar13);
          local_8 = 0xffffffff;
          SysFreeString((BSTR)in_stack_00000020);
        }
      }
      FUN_10048af0(local_18,param_1,pGVar1);
    }
    else {
      bVar2 = FUN_100086e0((byte *)pGVar1,&DAT_100699f8);
      if (CONCAT31(extraout_var_01,bVar2) == 0) {
        bVar2 = FUN_100086e0((byte *)pGVar11,&DAT_100699f8);
        iVar7 = CONCAT31(extraout_var_02,bVar2);
        if ((iVar7 == 0) && (in_stack_00000024 == -1)) {
          uVar12 = DAT_100cce9c;
          puVar6 = FUN_1001b5b0();
          uVar5 = FUN_1001b4e0(puVar6,uVar12,iVar7);
          if ((char)uVar5 != '\0') {
            uVar17._0_1_ = '\0';
            uVar17._1_1_ = '\0';
            uVar17._2_1_ = '\0';
            uVar17._3_1_ = '\0';
            uVar12 = DAT_100cce9c;
            puVar6 = FUN_1001b5b0();
            uVar5 = FUN_1001b4e0(puVar6,uVar12,uVar17);
            if ((char)uVar5 != '\0') {
              FUN_10048620(&local_14,pGVar11);
              local_8 = 3;
              FUN_10048620(&stack0x0000001c,pGVar1);
              local_8._0_1_ = 4;
              pwVar13 = 
              L"NamespaceMgr::FillWriteUserToken - WriteVerified - User GUID [%s] :: Verified GUID [%s] :: Verified Flag [%d]"
              ;
              uVar12 = DAT_100cce9c;
              puVar6 = FUN_1001b5b0();
              CWrapLogger_LogCustom((int)puVar6,uVar12,pwVar13);
              local_8 = CONCAT31(local_8._1_3_,3);
              SysFreeString((BSTR)in_stack_0000001c);
              local_8 = 0xffffffff;
              SysFreeString(local_14);
            }
          }
          this = (void *)(param_1 + 0xc4);
          FUN_1004fd30((int)this);
          this_00 = local_18;
          local_20 = 0;
          local_1c = (LPVOID)0x0;
          HVar8 = FUN_10048af0(local_18,param_1,pGVar1);
          if (HVar8 != 0) {
            FUN_1004fe00(this,&local_20);
          }
          in_stack_00000038 = (wchar_t *)0x0;
          local_8 = 5;
          pOVar9 = (BSTR)FUN_10042330((int *)&stack0x00000038);
          local_14 = (BSTR)FUN_10048690(this_00,in_stack_00000020,pOVar9);
          if (local_14 == (BSTR)0x0) {
            FUN_1003ead0(&stack0x00000038);
            Sleep(100);
            ppvVar18 = &local_1c;
            puVar14 = &local_20;
            in_stack_0000001c = (GUID *)&stack0xffffffc4;
            pOVar9 = (BSTR)FUN_10048530(&stack0x00000038);
            local_8 = CONCAT31((int3)((uint)local_8 >> 8),5);
            HVar8 = FUN_10042a00(local_18,pOVar9,puVar14,ppvVar18);
            uVar20._0_1_ = '\0';
            uVar20._1_1_ = '\0';
            uVar20._2_1_ = '\0';
            uVar20._3_1_ = '\0';
            if (HVar8 == 0) {
              uVar12 = DAT_100cce9c;
              puVar6 = FUN_1001b5b0();
              uVar5 = FUN_1001b4e0(puVar6,uVar12,uVar20);
              if ((char)uVar5 != '\0') {
                uVar19._0_1_ = '\0';
                uVar19._1_1_ = '\0';
                uVar19._2_1_ = '\0';
                uVar19._3_1_ = '\0';
                uVar12 = DAT_100cce9c;
                puVar6 = FUN_1001b5b0();
                uVar5 = FUN_1001b4e0(puVar6,uVar12,uVar19);
                if ((char)uVar5 != '\0') {
                  pwVar13 = 
                  L"NamespaceMgr::FillWriteUserToken - Verifier [%s] found in UserToken Map";
                  uVar12 = DAT_100cce9c;
                  puVar6 = FUN_1001b5b0();
                  CWrapLogger_LogCustom((int)puVar6,uVar12,pwVar13);
                }
              }
              FUN_1004fd60(this,in_stack_00000038);
              FUN_1004fe00(this,&local_20);
              if (local_1c != (LPVOID)0x0) {
                CoTaskMemFree(local_1c);
              }
            }
            else {
              uVar12 = DAT_100cce9c;
              puVar6 = FUN_1001b5b0();
              uVar5 = FUN_1001b4e0(puVar6,uVar12,uVar20);
              if ((char)uVar5 != '\0') {
                uVar21._0_1_ = '\0';
                uVar21._1_1_ = '\0';
                uVar21._2_1_ = '\0';
                uVar21._3_1_ = '\0';
                uVar12 = DAT_100cce9c;
                puVar6 = FUN_1001b5b0();
                uVar5 = FUN_1001b4e0(puVar6,uVar12,uVar21);
                if ((char)uVar5 != '\0') {
                  pwVar13 = 
                  L"NamespaceMgr::FillWriteUserToken - Verifier [%s] not found in UserToken Map";
                  uVar12 = DAT_100cce9c;
                  puVar6 = FUN_1001b5b0();
                  CWrapLogger_LogCustom((int)puVar6,uVar12,pwVar13);
                }
              }
            }
          }
          local_8 = 0xffffffff;
          SysFreeString(in_stack_00000038);
          pcVar10 = SysFreeString_exref;
          pGVar11 = in_stack_00000020;
        }
      }
    }
    bVar2 = FUN_100086e0((byte *)pGVar1,&DAT_100699f8);
    if (((CONCAT31(extraout_var_03,bVar2) == 0) &&
        (bVar2 = FUN_100086e0((byte *)pGVar11,&DAT_100699f8), CONCAT31(extraout_var_04,bVar2) != 0))
       && (in_stack_00000024 == 0)) {
      uVar22._0_1_ = '\0';
      uVar22._1_1_ = '\0';
      uVar22._2_1_ = '\0';
      uVar22._3_1_ = '\0';
      uVar12 = DAT_100cce9c;
      puVar6 = FUN_1001b5b0();
      uVar5 = FUN_1001b4e0(puVar6,uVar12,uVar22);
      if ((char)uVar5 != '\0') {
        uVar23._0_1_ = '\0';
        uVar23._1_1_ = '\0';
        uVar23._2_1_ = '\0';
        uVar23._3_1_ = '\0';
        uVar12 = DAT_100cce9c;
        puVar6 = FUN_1001b5b0();
        uVar5 = FUN_1001b4e0(puVar6,uVar12,uVar23);
        if ((char)uVar5 != '\0') {
          FUN_10048620(&stack0x00000020,pGVar1);
          local_8 = 7;
          pwVar13 = 
          L"NamespaceMgr::FillWriteUserToken - Operate/Tune/Configure Write - User GUID [%s] :: Verified Flag [%d]"
          ;
          uVar12 = DAT_100cce9c;
          puVar6 = FUN_1001b5b0();
          CWrapLogger_LogCustom((int)puVar6,uVar12,pwVar13);
          local_8 = 0xffffffff;
          (*pcVar10)();
        }
      }
      FUN_10048af0(local_18,param_1,pGVar1);
    }
    bVar2 = FUN_100086e0((byte *)pGVar1,&DAT_100699f8);
    if (CONCAT31(extraout_var_05,bVar2) == 0) {
      bVar2 = FUN_100086e0((byte *)pGVar11,&DAT_100699f8);
      if (CONCAT31(extraout_var_06,bVar2) != 0) {
        uVar26._0_1_ = '\0';
        uVar26._1_1_ = '\0';
        uVar26._2_1_ = '\0';
        uVar26._3_1_ = '\0';
        uVar12 = DAT_100cce9c;
        puVar6 = FUN_1001b5b0();
        uVar5 = FUN_1001b4e0(puVar6,uVar12,uVar26);
        if ((char)uVar5 != '\0') {
          uVar27._0_1_ = '\0';
          uVar27._1_1_ = '\0';
          uVar27._2_1_ = '\0';
          uVar27._3_1_ = '\0';
          uVar12 = DAT_100cce9c;
          puVar6 = FUN_1001b5b0();
          uVar5 = FUN_1001b4e0(puVar6,uVar12,uVar27);
          if ((char)uVar5 != '\0') {
            pwVar13 = L"NamespaceMgr::FillWriteUserToken - VerifierId is NULL :: Verified Flag [%d]"
            ;
            uVar12 = DAT_100cce9c;
            puVar6 = FUN_1001b5b0();
            CWrapLogger_LogCustom((int)puVar6,uVar12,pwVar13);
          }
        }
        FUN_1004fcc0(param_1 + 0xc4);
      }
    }
    else {
      uVar24._0_1_ = '\0';
      uVar24._1_1_ = '\0';
      uVar24._2_1_ = '\0';
      uVar24._3_1_ = '\0';
      uVar12 = DAT_100cce9c;
      puVar6 = FUN_1001b5b0();
      uVar5 = FUN_1001b4e0(puVar6,uVar12,uVar24);
      if ((char)uVar5 != '\0') {
        uVar25._0_1_ = '\0';
        uVar25._1_1_ = '\0';
        uVar25._2_1_ = '\0';
        uVar25._3_1_ = '\0';
        uVar12 = DAT_100cce9c;
        puVar6 = FUN_1001b5b0();
        uVar5 = FUN_1001b4e0(puVar6,uVar12,uVar25);
        if ((char)uVar5 != '\0') {
          pwVar13 = L"NamespaceMgr::FillWriteUserToken - UserId is NULL :: Verified Flag [%d]";
          uVar12 = DAT_100cce9c;
          puVar6 = FUN_1001b5b0();
          CWrapLogger_LogCustom((int)puVar6,uVar12,pwVar13);
        }
      }
      FUN_1004fcc0(param_1 + 0xbc);
    }
  }
  else {
    FUN_1004fd30(param_1 + 0xbc);
    local_20 = 0;
    local_1c = (LPVOID)0x0;
    FUN_1004fe00((void *)(param_1 + 0xbc),&local_20);
    if ((DAT_100b5ec4 & 1) == 0) {
      DAT_100b5ec4 = DAT_100b5ec4 | 1;
      local_8 = 8;
      FUN_10017f80(&DAT_100b5df0);
      _atexit(FUN_1005d930);
      local_8 = 0xffffffff;
    }
    uVar5 = FUN_1001b4e0(&DAT_100b5df0,DAT_100cce9c,0);
    if ((char)uVar5 != '\0') {
      pwVar13 = L"NamespaceMgr::FillWriteUserToken - Supervisory Write - MxOperationType [%ld]";
      uVar12 = DAT_100cce9c;
      puVar6 = FUN_1001b5b0();
      CWrapLogger_LogCustom((int)puVar6,uVar12,pwVar13);
    }
  }
  if ((DAT_100b5ec4 & 1) == 0) {
    DAT_100b5ec4 = DAT_100b5ec4 | 1;
    local_8 = 9;
    FUN_10017f80(&DAT_100b5df0);
    _atexit(FUN_1005d930);
    local_8 = 0xffffffff;
  }
  if (DAT_100b5df4 == -1) {
    if (((DAT_100b5df0 != 0) || (FUN_10019b00(&DAT_100b5df0), DAT_100b5df0 != 0)) &&
       (DAT_100b5e8c != (code *)0x0)) {
      (*DAT_100b5e8c)();
    }
    if (DAT_100b5df4 == -1) goto LAB_100497ce;
    FUN_10018190(&DAT_100b5df0);
  }
  if ((DAT_100b5e94 != (code *)0x0) && (cVar3 = (*DAT_100b5e94)(), cVar3 != '\0')) {
    if ((DAT_100b5ec4 & 1) == 0) {
      DAT_100b5ec4 = DAT_100b5ec4 | 1;
      local_8 = 10;
      FUN_10017f80(&DAT_100b5df0);
      _atexit(FUN_1005d930);
      local_8 = 0xffffffff;
    }
    uVar5 = FUN_1001b4e0(&DAT_100b5df0,DAT_100cce9c,0);
    if ((char)uVar5 != '\0') {
      pwVar13 = L"Write to item %d in Namespace id %d";
      uVar12 = DAT_100cce9c;
      puVar6 = FUN_1001b5b0();
      CWrapLogger_LogCustom((int)puVar6,uVar12,pwVar13);
    }
  }
LAB_100497ce:
  if ((DAT_100b5ec4 & 1) == 0) {
    DAT_100b5ec4 = DAT_100b5ec4 | 1;
    local_8 = 0xb;
    FUN_10017f80(&DAT_100b5df0);
    _atexit(FUN_1005d930);
    local_8 = 0xffffffff;
  }
  if (DAT_100b5df4 == -1) {
    if (((DAT_100b5df0 != 0) || (FUN_10019b00(&DAT_100b5df0), DAT_100b5df0 != 0)) &&
       (DAT_100b5e8c != (code *)0x0)) {
      (*DAT_100b5e8c)();
    }
    if (DAT_100b5df4 == -1) {
      ExceptionList = local_10;
      return local_14;
    }
    FUN_10018190(&DAT_100b5df0);
  }
  if ((DAT_100b5e94 != (code *)0x0) && (cVar3 = (*DAT_100b5e94)(), cVar3 != '\0')) {
    if ((DAT_100b5ec4 & 1) == 0) {
      DAT_100b5ec4 = DAT_100b5ec4 | 1;
      local_8 = 0xc;
      FUN_10017f80(&DAT_100b5df0);
      _atexit(FUN_1005d930);
      local_8 = 0xffffffff;
    }
    uVar5 = FUN_1001b4e0(&DAT_100b5df0,DAT_100cce9c,0);
    if ((char)uVar5 != '\0') {
      pwVar13 = L"NamespaceMgr::FillWriteUserToken - submit to write queue..";
      uVar12 = DAT_100cce9c;
      puVar6 = FUN_1001b5b0();
      CWrapLogger_LogCustom((int)puVar6,uVar12,pwVar13);
    }
  }
  ExceptionList = local_10;
  return local_14;
}