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>
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;
}