Files
tdkpin/original/TDKPIN_GHIDRA_COMPLETE_RAW.c
ddidderr 8b99e9607c feat(reconstruction): complete binary-backed C recovery
Replace the partial mechanics transcriptions with a separate, readable C11
reconstruction of the complete Win16 image while preserving the original raw
Ghidra export as immutable evidence. Cover all ordinary and overlapping entry
points, Borland runtime behavior, Win16 imports, segmented data, callbacks,
resources, indirect control flow, physics, rendering, persistence, and
startup/shutdown lifecycles.

Add deterministic extraction and audit tooling plus address-linked ledgers for
functions, imports, DGROUP ranges and objects, relocations, resources, and
callbacks. The final gate records zero raw, partial, restored, unknown,
blocked, or unclassified required units. Keep the semantic-fidelity boundary
explicit: the portable C is not claimed to reproduce a byte-identical Borland
NE build.

Add strict focused harnesses for every reconstructed C unit, exact resource
round-trip checks, and a 16-bit Borland Real48 reference probe. No Rust source
or Cargo metadata is changed in this phase.

Test Plan:
- `bash original/tools/test_reconstructed_c.sh` -- passed
- `bash original/tools/probe_real48_reference.sh` -- passed bit-for-bit
- `python3 original/tools/audit_reconstruction.py --require-complete` -- passed
- `git diff --cached --check` -- passed
- `git diff HEAD -- '*.rs' Cargo.toml Cargo.lock` -- empty
2026-08-23 16:41:17 +02:00

16662 lines
471 KiB
C

/*
* Raw Ghidra decompilation of TDKPIN.EXE.
* Function boundaries and names are analysis artifacts, not original source symbols.
*/
/* ===== 1000:0002 FUN_1000_0002 ===== */
void __stdcall16far FUN_1000_0002(int param_1,undefined2 param_2)
{
undefined2 uVar1;
undefined2 uVar2;
undefined2 uVar3;
undefined2 uVar4;
undefined2 uVar5;
undefined2 uVar6;
undefined2 uVar7;
undefined2 uVar8;
undefined2 uVar9;
uVar6 = param_2;
uVar1 = CREATECOMPATIBLEDC();
uVar2 = CREATECOMPATIBLEDC(0x1228,param_2,uVar6);
uVar3 = CREATECOMPATIBLEDC(0x1228,param_2);
uVar4 = CREATECOMPATIBLEBITMAP(0x1228,0xe,0xe);
uVar5 = SELECTOBJECT(0x1228,DAT_1028_085b);
uVar6 = SELECTOBJECT(0x1228,*(undefined2 *)(param_1 * 2 + 0x430b));
uVar7 = SELECTOBJECT(0x1228,uVar4);
BITBLT(0x1228,0x20,0xcc,0x4d,0x54,uVar1,0xe,0xe,0,0);
BITBLT(0x1228,0x20,0xcc,0,0,uVar2,0x7b,0x2a,0x4f,0x37);
uVar9 = uVar1;
BITBLT(0x1228,0x20,0xcc,0,0,uVar3,0xe,0xe,0x4d,0x54);
uVar8 = uVar3;
SELECTOBJECT(0x1228,uVar7);
uVar7 = uVar2;
SELECTOBJECT(0x1228,uVar6);
uVar6 = uVar1;
SELECTOBJECT(0x1228,uVar5);
DELETEOBJECT(0x1228,uVar4,uVar6,uVar7,uVar8,uVar9);
DELETEDC(0x1228,uVar3);
DELETEDC(0x1228,uVar2);
DELETEDC(0x1228,uVar1);
return;
}
/* ===== 1000:0100 FUN_1000_0100 ===== */
void __stdcall16far FUN_1000_0100(undefined4 param_1)
{
FUN_1018_1b57((int)param_1,(int)((ulong)param_1 >> 0x10));
FUN_1010_03af(1,1,1,0x222,0x1028);
return;
}
/* ===== 1000:0121 FUN_1000_0121 ===== */
void __stdcall16far FUN_1000_0121(undefined4 param_1)
{
undefined2 uVar1;
undefined4 uVar2;
if (DAT_1028_06fc == 0) {
uVar2 = FUN_1000_01d3(0,0,0x9e,0x22c,0x1028,0,0);
uVar1 = (undefined2)((ulong)param_1 >> 0x10);
*(undefined2 *)((int)param_1 + 8) = (int)uVar2;
*(undefined2 *)((int)param_1 + 10) = (int)((ulong)uVar2 >> 0x10);
}
else {
(*DAT_1028_0666)();
FUN_1020_0061();
}
return;
}
/* ===== 1000:016c FUN_1000_016c ===== */
void __stdcall16far FUN_1000_016c(undefined4 param_1,undefined2 *param_2)
{
undefined2 uVar1;
undefined2 uVar2;
undefined2 *puVar3;
undefined2 uVar4;
undefined2 uVar5;
uVar4 = (undefined2)((ulong)param_2 >> 0x10);
puVar3 = (undefined2 *)param_2;
FUN_1018_1274((int)param_1,(int)((ulong)param_1 >> 0x10),puVar3,uVar4);
*param_2 = 0x3000;
uVar2 = DAT_1028_06fe;
uVar1 = LOADICON(0x1018,0x3e4,0);
puVar3[6] = uVar1;
uVar5 = 0;
uVar1 = LOADCURSOR(0x1228,0x7f00,0);
puVar3[7] = uVar1;
uVar2 = GETSTOCKOBJECT(0x1228,0,uVar5,uVar2);
puVar3[8] = uVar2;
puVar3[5] = DAT_1028_06fe;
puVar3[3] = 0;
puVar3[4] = 0;
return;
}
/* ===== 1000:01d3 FUN_1000_01d3 ===== */
undefined4 __stdcall16far
FUN_1000_01d3(undefined4 param_1,undefined2 param_2,undefined2 param_3,undefined2 param_4,
undefined2 param_5,undefined2 param_6)
{
int iVar1;
int iVar2;
undefined2 uVar3;
bool bVar4;
int iVar5;
bVar4 = true;
FUN_1020_03ef();
if (!bVar4) {
uVar3 = (undefined2)((ulong)param_1 >> 0x10);
iVar2 = (int)param_1;
FUN_1018_1106(iVar2,uVar3,0,param_3,param_4,param_5,param_6);
*(undefined2 *)(iVar2 + 0x2d) = 0x280;
*(undefined2 *)(iVar2 + 0x2f) = 0x1e0;
iVar5 = 0x1018;
iVar1 = GETSYSTEMMETRICS(0x1018,0,*(int *)(iVar2 + 0x2d) / 2);
*(int *)(iVar2 + 0x29) = iVar1 / 2 - iVar5;
iVar5 = 0x1228;
iVar1 = GETSYSTEMMETRICS(0x1228,1,*(int *)(iVar2 + 0x2f) / 2);
*(int *)(iVar2 + 0x2b) = iVar1 / 2 - iVar5;
*(undefined2 *)(iVar2 + 0x21) = 0;
*(undefined2 *)(iVar2 + 0x23) = 0x86ca;
}
return param_1;
}
/* ===== 1000:0270 FUN_1000_0270 ===== */
void __stdcall16far FUN_1000_0270(undefined4 param_1)
{
char cVar1;
undefined1 uVar2;
undefined2 uVar3;
int in_DX;
int iVar4;
int iVar5;
undefined2 uVar6;
undefined2 unaff_SS;
undefined4 uVar7;
undefined1 *puVar8;
undefined2 uVar9;
undefined2 uVar10;
undefined1 *puVar11;
undefined1 *puVar12;
undefined2 uVar13;
undefined2 uVar14;
undefined1 local_2d2 [256];
undefined2 local_1d2;
undefined1 local_d0 [101];
undefined1 local_6b [103];
int local_4;
DAT_1028_07cf = 0;
DAT_1028_0874 = 0;
DAT_1028_0875 = 0;
uVar6 = (undefined2)((ulong)param_1 >> 0x10);
iVar5 = (int)param_1;
*(undefined2 *)(iVar5 + 0x41) = 0;
*(undefined2 *)(iVar5 + 0x43) = 0;
*(undefined2 *)(iVar5 + 0x45) = 0;
*(undefined2 *)(iVar5 + 0x47) = 0;
FUN_1020_0167();
if (in_DX < 0x40) {
(*DAT_1028_0666)(0x1020,0x2010,0x2aa,0x1028,0x260,0x1028,0);
FUN_1018_0f38(iVar5,uVar6);
FUN_1020_0061(0x1018);
}
FUN_1018_170c(iVar5,uVar6);
uVar14 = 0;
uVar3 = LOADCURSOR(0x1018,0x7f02,0);
SETCURSOR(0x1228,uVar3,uVar14);
FUN_1008_0023(*(undefined2 *)(iVar5 + 4));
FUN_1008_1326(0x4450,0x1028,999,0,DAT_1028_06fe);
FUN_1008_11c5();
DAT_1028_07cc = 1;
*(undefined2 *)(iVar5 + 0x4d) = 0;
*(undefined2 *)(iVar5 + 0x4f) = 0;
*(undefined1 *)(iVar5 + 0x51) = 0;
*(undefined1 *)(iVar5 + 0xbd8) = 0;
uVar7 = GETTICKCOUNT(0x1008);
DAT_1028_0722 = (undefined2)((ulong)uVar7 >> 0x10);
DAT_1028_0720 = (undefined2)uVar7;
*(undefined2 *)(iVar5 + 0xbe3) = 0;
DAT_1028_07c7 = 0;
DAT_1028_07c8 = 0;
DAT_1028_086d = 10;
DAT_1028_086f = 10;
DAT_1028_0873 = 0;
DAT_1028_07ca = 0;
DAT_1028_07cb = 0;
DAT_1028_07c9 = 1;
*(undefined2 *)(iVar5 + 0xbca) = 0;
*(undefined2 *)(iVar5 + 0xbcc) = 0;
*(undefined1 *)(iVar5 + 0xbd9) = 0;
*(undefined2 *)(iVar5 + 0xbc2) = 0xf588;
*(undefined2 *)(iVar5 + 0xbc4) = 4;
*(undefined2 *)(iVar5 + 0xbc6) = 0x4d48;
*(undefined2 *)(iVar5 + 0xbc8) = 6;
DAT_1028_07d3 = *(uint *)(iVar5 + 0xbc2);
DAT_1028_07d5 = *(int *)(iVar5 + 0xbc4);
DAT_1028_07d7 = *(uint *)(iVar5 + 0xbc6);
DAT_1028_07d9 = *(int *)(iVar5 + 0xbc8);
*(undefined1 *)(iVar5 + 0xbdd) = 0;
*(undefined1 *)(iVar5 + 0xbdf) = 0;
*(undefined1 *)(iVar5 + 0xbdc) = 0;
*(undefined1 *)(iVar5 + 0xbe0) = 0;
*(undefined1 *)(iVar5 + 0xbe1) = 0;
*(undefined1 *)(iVar5 + 0xbe2) = 0;
DAT_1028_07c5 = 0;
*(undefined1 *)(iVar5 + 0xbde) = 1;
DAT_1028_07d0 = 0;
DAT_1028_07d1 = 0;
*(undefined1 *)(iVar5 + 0x61) = 1;
DAT_1028_086b = 99;
DAT_1028_0869 = 0;
DAT_1028_0876 = 0;
DAT_1028_0878 = 0;
DAT_1028_087a = 0;
DAT_1028_087c = 0;
local_4 = 1;
while( true ) {
*(undefined1 *)(iVar5 + local_4 + 0x47b) = 0;
*(undefined1 *)(iVar5 + local_4 + 0x48f) = 0;
*(undefined1 *)(iVar5 + local_4 + 0x4a3) = 0;
*(undefined1 *)(iVar5 + local_4 + 0x4b7) = 0;
if (local_4 == 0x14) break;
local_4 = local_4 + 1;
}
local_4 = 1;
while( true ) {
*(undefined2 *)(local_4 * 4 + 0x97e) = 0;
*(undefined2 *)(local_4 * 4 + 0x980) = 0;
*(undefined2 *)(local_4 * 4 + 0x98e) = 0;
*(undefined2 *)(local_4 * 4 + 0x990) = 0;
*(undefined1 *)(local_4 + 0x9a1) = 1;
*(undefined2 *)(local_4 * 2 + 0x9a4) = 0;
*(undefined2 *)(local_4 * 2 + 0x81f) = 0xffff;
*(undefined1 *)(local_4 + 0x816) = 1;
*(undefined2 *)(local_4 * 4 + 0x835) = 1;
*(undefined2 *)(local_4 * 4 + 0x837) = 0;
*(undefined1 *)(local_4 + 0x81a) = 1;
if (local_4 == 4) break;
local_4 = local_4 + 1;
}
DAT_1028_0829 = 0x22e0;
DAT_1028_082b = 2;
DAT_1028_082d = 0xeb10;
DAT_1028_082f = 9;
DAT_1028_0831 = 0xd620;
DAT_1028_0833 = 0x13;
DAT_1028_0835 = 0x900;
DAT_1028_0837 = 0x3d;
*(undefined2 *)(iVar5 + 0xbaa) = 0;
*(undefined2 *)(iVar5 + 0xbac) = 0;
*(undefined2 *)(iVar5 + 0xbae) = 0;
*(undefined2 *)(iVar5 + 0xbb0) = 0;
*(undefined2 *)(iVar5 + 0xbce) = 0;
*(undefined2 *)(iVar5 + 0xbd0) = 0;
*(undefined2 *)(iVar5 + 0xbd2) = 0;
iVar4 = DAT_1028_07d5 + (uint)(0xfe0b < DAT_1028_07d3);
uVar3 = FUN_1020_08e6();
*(undefined2 *)(iVar5 + 0xba2) = uVar3;
*(int *)(iVar5 + 0xba4) = iVar4;
*(undefined2 *)(iVar5 + 0xbb2) = 0;
*(undefined2 *)(iVar5 + 0xbb4) = 0;
iVar4 = DAT_1028_07d9 + (uint)(0xfe0b < DAT_1028_07d7);
uVar3 = FUN_1020_08e6();
*(undefined2 *)(iVar5 + 0xba6) = uVar3;
*(int *)(iVar5 + 0xba8) = iVar4;
*(undefined2 *)(iVar5 + 0xbb6) = 0;
*(undefined2 *)(iVar5 + 3000) = 0;
*(undefined1 *)(iVar5 + 0xbda) = 0;
*(undefined1 *)(iVar5 + 0xbdb) = 0;
*(undefined2 *)(iVar5 + 0xbd4) = 0;
*(undefined2 *)(iVar5 + 0xbd6) = 0;
puVar12 = local_6b;
puVar11 = local_2d2;
uVar3 = unaff_SS;
uVar14 = unaff_SS;
FUN_1020_082e(0);
FUN_1008_2f2f(puVar11,uVar3,puVar12,uVar14);
puVar11 = local_d0;
puVar12 = local_6b;
uVar10 = 0x1008;
uVar9 = 0x26e;
puVar8 = local_2d2;
uVar3 = unaff_SS;
uVar14 = unaff_SS;
uVar13 = unaff_SS;
FUN_1020_082e(0);
uVar3 = FUN_1020_0a7d(puVar8,uVar3,uVar9,uVar10);
FUN_1008_2f07(uVar3,puVar12,uVar14,puVar11,uVar13);
FUN_1008_2f4d(0x2c3,0x1028,local_d0,unaff_SS);
uVar3 = 0x1028;
DAT_1028_07cd = GETPRIVATEPROFILEINT(0x1008,local_d0,unaff_SS,1,0x2d0,0x1028,0x2c7);
if ((DAT_1028_07cd == 0) || (5 < DAT_1028_07cd)) {
DAT_1028_07cd = 1;
}
uVar14 = 0x1028;
uVar2 = GETPRIVATEPROFILEINT(0x1228,local_d0,unaff_SS,3,0x2d9,0x1028,0x2c7);
*(undefined1 *)(iVar5 + 0x60) = uVar2;
if ((*(char *)(iVar5 + 0x60) == '\0') || (5 < *(byte *)(iVar5 + 0x60))) {
*(undefined1 *)(iVar5 + 0x60) = 3;
}
cVar1 = *(char *)(iVar5 + 0x60);
if (cVar1 == '\x01') {
*(undefined2 *)(iVar5 + 0x5a) = 0xf;
*(undefined2 *)(iVar5 + 0x5c) = 0;
*(undefined2 *)(iVar5 + 0x56) = 0xed8;
*(undefined2 *)(iVar5 + 0x58) = 0;
local_1d2 = 0x32;
DAT_1028_0871 = 5;
}
else if (cVar1 == '\x02') {
*(undefined2 *)(iVar5 + 0x5a) = 0xf;
*(undefined2 *)(iVar5 + 0x5c) = 0;
*(undefined2 *)(iVar5 + 0x56) = 0xed8;
*(undefined2 *)(iVar5 + 0x58) = 0;
local_1d2 = 0x28;
DAT_1028_0871 = 4;
}
else if (cVar1 == '\x03') {
*(undefined2 *)(iVar5 + 0x5a) = 0xf;
*(undefined2 *)(iVar5 + 0x5c) = 0;
*(undefined2 *)(iVar5 + 0x56) = 0xed8;
*(undefined2 *)(iVar5 + 0x58) = 0;
local_1d2 = 0x1e;
DAT_1028_0871 = 3;
}
else if (cVar1 == '\x04') {
*(undefined2 *)(iVar5 + 0x5a) = 0xf;
*(undefined2 *)(iVar5 + 0x5c) = 0;
*(undefined2 *)(iVar5 + 0x56) = 0xed8;
*(undefined2 *)(iVar5 + 0x58) = 0;
local_1d2 = 0x14;
DAT_1028_0871 = 2;
}
else if (cVar1 == '\x05') {
*(undefined2 *)(iVar5 + 0x5a) = 0xf;
*(undefined2 *)(iVar5 + 0x5c) = 0;
*(undefined2 *)(iVar5 + 0x56) = 0xed8;
*(undefined2 *)(iVar5 + 0x58) = 0;
local_1d2 = 10;
DAT_1028_0871 = 1;
}
else {
*(undefined2 *)(iVar5 + 0x5a) = 0xf;
*(undefined2 *)(iVar5 + 0x5c) = 0;
*(undefined2 *)(iVar5 + 0x56) = 0xed8;
*(undefined2 *)(iVar5 + 0x58) = 0;
local_1d2 = 0x1e;
DAT_1028_0871 = 3;
}
uVar7 = FUN_1008_28a3(0,0,0x5c0,0,1,local_1d2,*(undefined2 *)(iVar5 + 4));
*(undefined2 *)(iVar5 + 0x49) = (int)uVar7;
*(undefined2 *)(iVar5 + 0x4b) = (int)((ulong)uVar7 >> 0x10);
if (*(int *)(iVar5 + 0x49) == 0 && *(int *)(iVar5 + 0x4b) == 0) {
(*DAT_1028_0666)(0x1008,0x2010,0x2aa,0x1028,0x2df,0x1028,*(undefined2 *)(iVar5 + 4),uVar14,uVar3
);
FUN_1020_0061(0x1008);
}
FUN_1008_0138(0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0,0,
0x1c9,0,0x7d,0,0x1a1,0,7,0,0,0,2,1,1);
FUN_1008_0138(0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0,0,
0x1db,0,300,0,0x1db,0,10,0,0,0,2,1,2);
FUN_1008_0138(0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0xcd7d,0xcccc,0x4ccc,0,0,
0x1d8,0,0x78,0,0x1c4,0,0x78,0,0,0,2,1,0xa9);
FUN_1008_0138(0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0xcd7d,0xcccc,0x4ccc,0,0,
0x1c4,0,0xc3,0,0x1d8,0,0xc3,0,0,0,2,1,0xaa);
FUN_1008_0138(0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0xcd7d,0xcccc,0x4ccc,0,0,
0x1bd,0,0x86,0,0x1ce,0,0x86,0,0,0,2,1,3);
FUN_1008_0138(0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,8,0,
0,0,0,0,0x1be,0,0x8d,0,0,1,1,1,4);
FUN_1008_0138(0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0,0,
0x1d3,0,0x94,0,0x1bd,0,0x94,0,0,0,2,1,5);
FUN_1008_0138(0x1b5,0xa3,0x185,0x97,0,0,0,0,2,0,0,6,0x102,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0x1d3,0,0xa4
,0,0x1be,0,0x94,0,0,0,4,0,6);
FUN_1008_0138(0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0,0,
0x1d2,0,0xa4,0,0x1bd,0,0xa5,0,0,0,2,1,7);
FUN_1008_0138(0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,8,0,
0,0,0,0,0x1be,0,0xac,0,0,1,1,1,8);
FUN_1008_0138(0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0xcd7d,0xcccc,0x4ccc,0,0,
0x1d3,0,0xb4,0,0x1bd,0,0xb3,0,0,0,2,1,9);
FUN_1008_0138(0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0,0,
0x19e,0,0x130,0,0x1c9,0,0xb7,0,0,0,2,1,10);
FUN_1008_0138(0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0,0,
0x3d,0,0x12a,0,0xa5,0,0x12a,0,0,0,2,1,0xb);
FUN_1008_0138(0,0,0,0,0,0,0,0,1,5000,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0
,0,0x8e,0,0x12a,0,0x8e,0,0x136,0,0,0,2,1,0xc);
FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,7,0,
0,0,0,0,0x88,0,0x12a,0,0,1,1,1,0xd);
FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0,0,
0x68,0,0x124,0,0x88,0,0x123,0,0,0,2,1,0xe);
FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0xcd7f,0xcccc,0x4ccc,0,0,
100,0,0x119,0,0x6d,0,300,0,0,0,2,1,0xf);
FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0xcd7f,0xcccc,0x4ccc,0,0,
0x87,0,0x113,0,0x60,0,0x122,0,0,0,2,1,0x10);
FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,7,0,
0,0,0,0,0x86,0,0x10d,0,0,1,1,1,0x11);
FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,7,0,
0,0,0,0,0x73,0,0x101,0,0,1,1,1,0x1a);
FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0,0,
0x72,0,0xf8,0,0x8b,0,0x108,0,0,0,2,1,0x12);
FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0,0,
0x5b,0,0x101,0,0x72,0,0xf9,0,0,0,2,1,0x13);
FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0,0,
0x31,0,0x115,0,0x5b,0,0x101,0,0,0,2,1,0x14);
FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0,0,
0x20,0,0x11f,0,0x33,0,0x115,0,0,0,2,1,0x15);
FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0,0,
0x30,0,0x12f,0,0x2a,0,0x11b,0,0,0,2,1,0x16);
FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0,0,
0x44,0,0x140,0,0x30,0,0x12e,0,0,0,2,1,0x17);
FUN_1008_0138(0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0,0,
0x1c9,0,0x140,0,0x44,0,0x140,0,0,0,2,1,0x18);
FUN_1008_0138(0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0xcd7d,0xcccc,0x4ccc,0,0,
0x1b1,0,0x14c,0,0x1b1,0,0x13b,0,0,0,2,1,0x19);
FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0xcd7e,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0,0,
0x43,0,0x146,0,0x4e,0,0x148,0,0,0,2,1,0x1b);
FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0xcd7e,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0,0,
0x39,0,0x142,0,0x43,0,0x146,0,0,0,2,1,0x1c);
FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0xcd7e,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0,0,
0x30,0,0x13c,0,0x39,0,0x142,0,0,0,2,1,0x1d);
FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0xcd7e,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0,0,
0x29,0,0x133,0,0x30,0,0x13c,0,0,0,2,1,0x1e);
FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0xcd7e,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0,0,
0x24,0,0x128,0,0x29,0,0x133,0,0,0,2,1,0x1f);
FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0xcd7e,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0,0,
0x23,0,0x11d,0,0x24,0,0x128,0,0,0,2,1,0x20);
FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0,0,
0x23,0,0x70,0,0x23,0,0x11d,0,0,0,2,1,0x21);
FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0,0,
0x28,0,99,0,0x22,0,0x79,0,0,0,2,1,0x22);
FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0,0,
0x33,0,0x4e,0,0x28,0,100,0,0,0,2,1,0x23);
FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0,0,
0x45,0,0x42,0,0x32,0,0x4f,0,0,0,2,1,0x24);
FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0,0,
0x5d,0,0x39,0,0x41,0,0x44,0,0,0,2,1,0x25);
FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0,0,
0xae,0,0x3b,0,0x52,0,0x3b,0,0,0,2,1,0x26);
FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0,0,
0xbe,0,0x43,0,0xa7,0,0x3a,0,0,0,2,1,0x27);
FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,8,0,
0,0,0,0,0xc1,0,0x3c,0,0,1,1,1,0x28);
FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0,0,
0xd2,0,0x29,0,199,0,0x40,0,0,0,2,1,0x29);
FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,8,0,
0,0,0,0,0xcb,0,0x26,0,0,1,1,1,0x2a);
FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0,0,
0xb9,0,0x16,0,0xce,0,0x1f,0,0,0,2,1,0x2b);
FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0,0,
0x1f,0,0x16,0,0xb9,0,0x16,0,0,0,2,1,0x2c);
FUN_1008_0138(0,0,0,0,0,0,0,0,1,0x86a0,1,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0xcd7f,0xcccc,0x4ccc
,0,0,0x21,0,0xb,0,0x21,0,0x17,0,0,0,2,1,0x2d);
FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0,0,
0xbe,0,0xd,0,0x1e,0,0xd,0,0,0,2,1,0x2e);
FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0,0,
0xfa,0,0x20,0,0xb9,0,0xc,0,0,0,2,1,0x2f);
FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,8,0,
0,0,0,0,0xfb,0,0x19,0,0,1,1,1,0x30);
FUN_1008_0138(0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0,0,
0x140,0,10,0,0xfb,0,0x21,0,0,0,2,1,0x31);
FUN_1008_0138(0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0,0,
0x1ab,0,0xc,0,0x119,0,0xc,0,0,0,2,1,0x32);
FUN_1008_0138(0xa3,0xb4,0x85,0x96,0,0,0,0,1,1000,0,0,0x40,0xcd7f,0xcccc,0x4ccc,0xcd7d,0xcccc,
0xcccc,0xcd7d,0xcccc,0x4ccc,0xcd80,0xcccc,0x4ccc,0x17,0,0,0,0,0,0xa8,0,0xa5,0,0,1,1,
1,0x33);
FUN_1008_0138(0x7d,0xdd,0x5f,0xbf,0,0,0,0,1,1000,0,0,0x40,0xcd7f,0xcccc,0x4ccc,0xcd7d,0xcccc,
0xcccc,0xcd7d,0xcccc,0x4ccc,0xcd80,0xcccc,0x4ccc,0x17,0,0,0,0,0,0x82,0,0xce,0,0,1,1,
1,0x34);
FUN_1008_0138(0xb4,0xea,0x96,0xcc,0,0,0,0,1,1000,0,0,0x40,0xcd7f,0xcccc,0x4ccc,0xcd7d,0xcccc,
0xcccc,0xcd7d,0xcccc,0x4ccc,0xcd80,0xcccc,0x4ccc,0x17,0,0,0,0,0,0xb9,0,0xdb,0,0,1,1,
1,0x35);
FUN_1008_0138(0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x80,0,0,8,0,0,0,0,0,
0x138,0,0x35,0,0,1,1,1,0x36);
FUN_1008_0138(0,0,0,0,0,0,0,0,2,0,0,0,0,0xcd7f,0xcccc,0x4ccc,0xcd7f,0xcccc,0xcccc,0xcd7d,0xcccc,
0x4ccc,0x80,0,0,0,0,0x48,0,0x30,0,0xfffb,0xffff,6,0,1,0,2,1,0x37);
FUN_1008_0138(0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x80,0,0,8,0,0,0,0,0,0,0,
0xfff7,0xffff,1,1,1,1,0x38);
FUN_1008_0138(0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x80,0,0,0,0,0xffe6,
0xffff,0xffd1,0xffff,7,0,0xffff,0xffff,1,0,2,1,0x39);
FUN_1008_0138(0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x80,0,0,8,0,0,0,0,0,
0xfff9,0xffff,3,0,1,1,1,1,0x3a);
FUN_1008_0138(0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x80,0,0,0,0,0xffd3,
0xffff,0,0,0,0,0xfff8,0xffff,1,0,2,1,0x3b);
FUN_1008_0138(0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,10,0
,0,0,0,0,0x13a,0,0x1d,0,0,1,1,1,0x3c);
FUN_1008_0138(0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x80,0,0,0,0,0x16f,0,0x25
,0,0x138,0,0x25,0,0,0,2,1,0x3d);
FUN_1008_0138(0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0xcd7c,0xcccc,0x4ccc,0xcd7f,0xcccc,0x4ccc,0,0,
0x194,0,0x6e,0,0x16f,0,0x25,0,0,0,2,1,0x3e);
FUN_1008_0138(0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0,0,
0x195,0,0x13,0,0x1ac,0,0x5c,0,0,0,2,1,0x3f);
FUN_1008_0138(0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0,0,
0x137,0,0x13,0,0x195,0,0x13,0,0,0,2,1,0x40);
FUN_1008_0138(0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x80,0,0,0xf,0,0,0,0,0,
0x1a1,0,0x67,0,0,1,1,1,0x41);
FUN_1008_0138(0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0xcd7e,0xcccc,0x4ccc,0x80,0,0,0,0,0x1b1,0,0x8d
,0,0x196,0,0x70,0,0,0,2,1,0x42);
FUN_1008_0138(0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0xcd7e,0xcccc,0x4ccc,0x80,0,0,9,0,0,0,0,0,
0x1b7,0,0x86,0,0,1,1,1,0x43);
FUN_1008_0138(0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0xcd7e,0xcccc,0x4ccc,0x80,0,0,0,0,0x1af,0,0x61
,0,0x1bf,0,0x82,0,0,0,2,1,0x44);
FUN_1008_0138(0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x80,0,0,8,0,0,0,0,0,
0x138,0,0x104,0,0,1,1,1,0x45);
FUN_1008_0138(0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x80,0,0,0,0,0x2d,0,0,0,0
,0,7,0,1,0,2,1,0x46);
FUN_1008_0138(0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x80,0,0,8,0,0,0,0,0,
0xffff,0xffff,0xfff9,0xffff,1,1,1,1,0x47);
FUN_1008_0138(0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x80,0,0,0,0,0x16,0,
0xffd1,0xffff,8,0,1,0,1,0,2,1,0x48);
FUN_1008_0138(0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x80,0,0,8,0,0,0,0,0,
0xfff8,0xffff,0,0,1,1,1,1,0x49);
FUN_1008_0138(0,0,0,0,0,0,0,0,2,0,0,0,0,0xcd7f,0xcccc,0x4ccc,0xcd7f,0xcccc,0xcccc,0xcd7d,0xcccc,
0x4ccc,0x80,0,0,0,0,0xffb9,0xffff,0x32,0,0xfffe,0xffff,0xfff7,0xffff,1,0,2,1,0x4a);
FUN_1008_0138(0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,9,0,
0,0,0,0,0x138,0,0x11c,0,0,1,1,1,0x4b);
FUN_1008_0138(0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x80,0,0,0,0,0x195,0,
0x124,0,0x137,0,0x124,0,0,0,2,1,0x4c);
FUN_1008_0138(0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0,0,
0x1ac,0,0xdd,0,0x195,0,0x124,0,0,0,2,1,0x4d);
FUN_1008_0138(0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0xcd7c,0xcccc,0x4ccc,0x80,0,0,0,0,0x16f,0,
0x113,0,0x194,0,0xcd,0,0,0,2,1,0x4e);
FUN_1008_0138(0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0,0,
0x138,0,0x113,0,0x16f,0,0x113,0,0,0,2,1,0x4f);
FUN_1008_0138(0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0xcd7e,0xcccc,0x4ccc,0x80,0,0,0xf,0,0,0,0,0,
0x1a1,0,0xd2,0,0,1,1,1,0x50);
FUN_1008_0138(0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0xcd7e,0xcccc,0x4ccc,0x80,0,0,0,0,0x1bf,0,0xb1
,0,0x1af,0,0xd8,0,0,0,2,1,0x51);
FUN_1008_0138(0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0xcd7e,0xcccc,0x4ccc,0x80,0,0,9,0,0,0,0,0,
0x1b7,0,0xb3,0,0,1,1,1,0x52);
FUN_1008_0138(0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0xcd7e,0xcccc,0x4ccc,0x80,0,0,0,0,0x196,0,0xc9
,0,0x1b1,0,0xac,0,0,0,2,1,0x53);
FUN_1008_0138(0,0,0,0,0,0,0,0,3,0x5dc,0,0,4,0,0,0,0,0,0,0,0,0,0x9a80,0x9999,0x1999,0,0,0xdd,0,0x28
,0,0xcd,0,0x49,0,0,0,2,1,0x54);
FUN_1008_0138(0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0x9a80,0x9999,0x1999,0,0,0xcd,0,0x49,0,
0xc1,0,0x43,0,0,0,2,1,0x55);
FUN_1008_0138(0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0x9a80,0x9999,0x1999,0,0,0xd1,0,0x22,0,
0xdd,0,0x28,0,0,0,2,1,0x56);
FUN_1008_0138(0,0,0,0,0,0,0,0,3,0x5dc,0,0x55,6,0,0,0,0,0,0,0,0,0,0x9a80,0x9999,0x1999,0,0,0xe7,0,
0x2a,0,0xd5,0,0x4c,0,0,0,2,0,0x57);
FUN_1008_0138(0,0,0,0,0,0,0,0,3,0x5dc,0,0x56,6,0,0,0,0,0,0,0,0,0,0x9a80,0x9999,0x1999,0,0,0xef,0,
0x2d,0,0xdd,0,0x4f,0,0,0,2,0,0x58);
FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0x9a80,0x9999,0x1999,0x13,0,0,0,0,0,0x72
,0,0x121,0,0,0,3,1,0x59);
FUN_1008_0138(0xf6,0x132,0xe7,0x11a,0,0,0,0,3,0x5dc,0,0x5a,0x208a,0,0,0,0,0,0,0,0,0,0x9a80,0x9999,
0x1999,0,0,0xf7,0,0x124,0,0x111,0,0x124,0,0,0,2,1,0x5a);
FUN_1008_0138(0xf6,0x132,0xe7,0x11a,0,0,0,0,3,0x5dc,0,0x5a,0x208a,0,0,0,0,0,0,0,0,0,0xcd7f,0xcccc,
0x4ccc,0,0,0x111,0,0x124,0,0x111,0,0x12e,0,0,0,2,1,0x5b);
FUN_1008_0138(0xf6,0x132,0xe7,0x11a,0,0,0,0,3,0x5dc,0,0x5a,0x208a,0,0,0,0,0,0,0,0,0,0xcd7f,0xcccc,
0x4ccc,0,0,0xf7,0,0x12e,0,0xf7,0,0x124,0,0,0,2,1,0x5c);
FUN_1008_0138(0xe7,0x132,0xd9,0x11a,0,0,0,0,3,0x5dc,0,0x5d,0x208a,0,0,0,0,0,0,0,0,0,0x9a80,0x9999,
0x1999,0,0,0xe7,0,0x124,0,0x100,0,0x124,0,0,0,2,1,0x5d);
FUN_1008_0138(0xe7,0x132,0xd9,0x11a,0,0,0,0,3,0x5dc,0,0x5d,0x208a,0,0,0,0,0,0,0,0,0,0xcd7f,0xcccc,
0x4ccc,0,0,0x100,0,0x124,0,0x100,0,0x12e,0,0,0,2,1,0x5e);
FUN_1008_0138(0xe7,0x132,0xd9,0x11a,0,0,0,0,3,0x5dc,0,0x5d,0x208a,0,0,0,0,0,0,0,0,0,0xcd7f,0xcccc,
0x4ccc,0,0,0xe7,0,0x12e,0,0xe7,0,0x124,0,0,0,2,1,0x5f);
FUN_1008_0138(0xd8,0x132,0xca,0x11a,0,0,0,0,3,0x5dc,0,0x60,0x208a,0,0,0,0,0,0,0,0,0,0x9a80,0x9999,
0x1999,0,0,0xd9,0,0x124,0,0xf1,0,0x124,0,0,0,2,1,0x60);
FUN_1008_0138(0xd8,0x132,0xca,0x11a,0,0,0,0,3,0x5dc,0,0x60,0x208a,0,0,0,0,0,0,0,0,0,0xcd7f,0xcccc,
0x4ccc,0,0,0xf1,0,0x124,0,0xf1,0,0x12e,0,0,0,2,1,0x61);
FUN_1008_0138(0xd8,0x132,0xca,0x11a,0,0,0,0,3,0x5dc,0,0x60,0x208a,0,0,0,0,0,0,0,0,0,0xcd7f,0xcccc,
0x4ccc,0,0,0xd9,0,0x12e,0,0xd9,0,0x124,0,0,0,2,1,0x62);
FUN_1008_0138(0xc9,0x132,0xbb,0x11a,0,0,0,0,3,0x5dc,0,99,0x208a,0,0,0,0,0,0,0,0,0,0x9a80,0x9999,
0x1999,0,0,0xc9,0,0x124,0,0xe2,0,0x124,0,0,0,2,1,99);
FUN_1008_0138(0xc9,0x132,0xbb,0x11a,0,0,0,0,3,0,0,99,0x208a,0,0,0,0,0,0,0,0,0,0xcd7f,0xcccc,0x4ccc
,0,0,0xe2,0,0x124,0,0xe2,0,0x12e,0,0,0,2,1,100);
FUN_1008_0138(0xc9,0x132,0xbb,0x11a,0,0,0,0,3,0,0,99,0x208a,0,0,0,0,0,0,0,0,0,0xcd7f,0xcccc,0x4ccc
,0,0,0xca,0,0x12e,0,0xca,0,0x124,0,0,0,2,1,0x65);
FUN_1008_0138(0xba,0x132,0xae,0x11a,0,0,0,0,3,0x5dc,0,0x66,0x208a,0,0,0,0,0,0,0,0,0,0x9a80,0x9999,
0x1999,0,0,0xbb,0,0x124,0,0xd2,0,0x124,0,0,0,2,1,0x66);
FUN_1008_0138(0xba,0x132,0xae,0x11a,0,0,0,0,3,0,0,0x66,0x208a,0,0,0,0,0,0,0,0,0,0xcd7f,0xcccc,
0x4ccc,0,0,0xd1,0,0x124,0,0xd2,0,0x12e,0,0,0,2,1,0x67);
FUN_1008_0138(0xba,0x132,0xae,0x11a,0,0,0,0,3,0,0,0x66,0x208a,0,0,0,0,0,0,0,0,0,0xcd7f,0xcccc,
0x4ccc,0,0,0xb7,0,0x12e,0,0xbc,0,0x124,0,0,0,2,1,0x68);
FUN_1008_0138(0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0xcd7e,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0,0,
0xe0,0,0x94,0,0xf2,0,0xcb,0,0,0,2,1,0x69);
FUN_1008_0138(0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0xe,
0,0,0,0,0,0xd4,0,0x9c,0,0,1,1,1,0x6a);
FUN_1008_0138(0,0,0,0,0,0,0,0,3,0,0,0,0,0x9a7f,0x9999,0x1999,0xcd7f,0xcccc,0xcccc,0xcd7d,0xcccc,
0x4ccc,0x9a80,0x9999,0x1999,0,0,0xd9,0,0xd7,0,0xc6,0,0x9e,0,0,0,2,1,0x6b);
FUN_1008_0138(0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0xe,
0,0,0,0,0,0xe6,0,0xd2,0,0,1,1,1,0x6c);
FUN_1008_0138(0xec,0xce,0xd6,0xc0,0,0,0,0,3,0x5dc,0,0x6d,0x2092,0,0,0,0,0,0,0,0,0,0x9a80,0x9999,
0x1999,0,0,0xf6,0,0xbb,0,0xfd,0,0xd1,0,0,0,2,1,0x6d);
FUN_1008_0138(0xdc,0xcd,0xd6,0xc0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0x9a80,0x9999,0x1999,0,0,
0xfd,0,0xd1,0,0xee,0,0xd6,0,0,0,2,1,0x6e);
FUN_1008_0138(0xdc,0xcd,0xd6,0xc0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0x9a80,0x9999,0x1999,0,0,
0xea,0,0xbf,0,0xf6,0,0xbb,0,0,0,2,1,0x6f);
FUN_1008_0138(0xe7,0xbf,0xd1,0xb2,0,0,0,0,3,0x5dc,0,0x70,0x2092,0,0,0,0,0,0,0,0,0,0x9a80,0x9999,
0x1999,0,0,0xef,0,0xa9,0,0xf9,0,0xc6,0,0,0,2,1,0x70);
FUN_1008_0138(0xdc,0xcd,0xd6,0xc0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0x9a80,0x9999,0x1999,0,0,
0xf9,0,0xc6,0,0xed,0,0xca,0,0,0,2,1,0x71);
FUN_1008_0138(0xdc,0xcd,0xd6,0xc0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0x9a80,0x9999,0x1999,0,0,
0xe3,0,0xad,0,0xef,0,0xa9,0,0,0,2,1,0x72);
FUN_1008_0138(0xe2,0xb1,0xcc,0xa3,0,0,0,0,3,0x5dc,0,0x73,0x2092,0,0,0,0,0,0,0,0,0,0x9a80,0x9999,
0x1999,0,0,0xe9,0,0x99,0,0xf3,0,0xb6,0,0,0,2,1,0x73);
FUN_1008_0138(0xdc,0xcd,0xd6,0xc0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0x9a80,0x9999,0x1999,0,0,
0xf3,0,0xb6,0,0xe7,0,0xba,0,0,0,2,1,0x74);
FUN_1008_0138(0xdc,0xcd,0xd6,0xc0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0x9a80,0x9999,0x1999,0,0,
0xdd,0,0x9d,0,0xe9,0,0x99,0,0,0,2,1,0x75);
FUN_1008_0138(0xdd,0xa3,0xc6,0x95,0,0,0,0,3,0x5dc,0,0x76,0x2092,0,0,0,0,0,0,0,0,0,0x9a80,0x9999,
0x1999,0,0,0xe2,0,0x8b,0,0xed,0,0xa3,0,0,0,2,1,0x76);
FUN_1008_0138(0xdc,0xcd,0xd6,0xc0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0x9a80,0x9999,0x1999,0,0,
0xed,0,0xa3,0,0xe1,0,0xa7,0,0,0,2,1,0x77);
FUN_1008_0138(0xdc,0xcd,0xd6,0xc0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0x9a80,0x9999,0x1999,0,0,
0xd3,0,0x90,0,0xe2,0,0x8b,0,0,0,2,1,0x78);
FUN_1008_0138(0,0,0,0,0,0,0,0,1,2000,0,0,0x400,0,0,0,0,0,0,0,0,0,0x9a80,0x9999,0x1999,0,0,0xa0,0,
0x54,0,0x95,0,0x69,0,0,0,2,1,0x79);
FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0x9a80,0x9999,0x1999,0,0,0x95,0,0x69,0,
0x8b,0,0x65,0,0,0,2,1,0x7a);
FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0x9a80,0x9999,0x1999,0,0,0x96,0,0x50,0,
0xa0,0,0x54,0,0,0,2,1,0x7b);
FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0,0,
0x97,0,0x57,0,0x8b,0,0x6f,0,0,0,2,1,0x7c);
FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,8,0,
0,0,0,0,0x92,0,0x54,0,0,1,1,1,0x7d);
FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0,0,
0x6c,0,0x4d,0,0x93,0,0x4d,0,0,0,2,1,0x7e);
FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0,0,
0x6a,0,0x57,0,0x6c,0,0x4d,0,0,0,2,1,0x7f);
FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0,0,
0x8d,0,0x6e,0,0x6a,0,0x57,0,0,0,2,1,0x80);
FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0x9a80,0x9999,0x1999,0x13,0,0,0,0,0,0x60
,0,0x60,0,0,0,3,1,0x81);
FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0x9a80,0x9999,0x1999,0x13,0,0,0,0,0,0x45
,0,0x73,0,0,0,3,1,0x82);
FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0x9a80,0x9999,0x1999,0x13,0,0,0,0,0,0x50
,0,0x93,0,0,0,3,1,0x83);
FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0x9a80,0x9999,0x1999,0x13,0,0,0,0,0,0x70
,0,0x93,0,0,0,3,1,0x84);
FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0x9a80,0x9999,0x1999,0x13,0,0,0,0,0,0x7b
,0,0x73,0,0,0,3,1,0x85);
FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0x14
,0,0,0,0,0,0x60,0,0x7c,0,0,1,1,1,0x86);
FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0x11
,0,0,0,0,0,0x4e,0,100,0,0,1,1,1,0x87);
FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0x11
,0,0,0,0,0,0x44,0,0x85,0,0,1,1,1,0x88);
FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0x11
,0,0,0,0,0,0x60,0,0x9a,0,0,1,1,1,0x89);
FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0x11
,0,0,0,0,0,0x7d,0,0x85,0,0,1,1,1,0x8a);
FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0x11
,0,0,0,0,0,0x72,0,100,0,0,1,1,1,0x8b);
FUN_1008_0138(0xbc,0x1f,0xae,0x11,0,0,0,0,1,1000,0,0,0xc0,0,0,0,0,0,0,0,0,0,0,0,0,0xc,0,0,0,0,0,
0xca,0,0x18,0,0,0,4,1,0x8c);
FUN_1008_0138(0xa9,0x19,0x9b,0xb,0,0,0,0,1,1000,0,0,0xc0,0,0,0,0,0,0,0,0,0,0,0,0,0xc,0,0,0,0,0,
0xb6,0,0x12,0,0,0,4,1,0x8d);
FUN_1008_0138(0x96,0x18,0x88,10,0,0,0,0,1,0x5dc,0,0,0xc0,0,0,0,0,0,0,0,0,0,0,0,0,0xc,0,0,0,0,0,
0xa4,0,0x11,0,0,0,4,1,0x8e);
FUN_1008_0138(0x83,0x18,0x75,10,0,0,0,0,1,0x5dc,0,0,0xc0,0,0,0,0,0,0,0,0,0,0,0,0,0xc,0,0,0,0,0,
0x91,0,0x11,0,0,0,4,1,0x8f);
FUN_1008_0138(0x70,0x18,0x62,10,0,0,0,0,1,2000,0,0,0xc0,0,0,0,0,0,0,0,0,0,0,0,0,0xc,0,0,0,0,0,0x7e
,0,0x11,0,0,0,4,1,0x90);
FUN_1008_0138(0x5d,0x18,0x4f,10,0,0,0,0,1,2000,0,0,0xc0,0,0,0,0,0,0,0,0,0,0,0,0,0xc,0,0,0,0,0,0x6b
,0,0x11,0,0,0,4,1,0x91);
FUN_1008_0138(0x4f,0x18,0x3c,10,0,0,0,0,1,0x9c4,0,0,0xc0,0,0,0,0,0,0,0,0,0,0,0,0,0xc,0,0,0,0,0,
0x57,0,0x11,0,0,0,4,1,0x92);
FUN_1008_0138(0x37,0x18,0x29,10,0,0,0,0,1,3000,0,0,0xc0,0,0,0,0,0,0,0,0,0,0,0,0,0xc,0,0,0,0,0,0x44
,0,0x11,0,0,0,4,1,0x93);
FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0x9a80,0x9999,0x1999,0x13,0,0,0,0,0,0x2b
,0,0x11,0,0,0,3,1,0x94);
FUN_1008_0138(0x49,0x4d,0x39,0x3c,0,0,0,0,1,500,0,0,0x140,0,0,0,0,0,0,0,0,0,0,0,0,0x10,0,0,0,0,0,
0x55,0,0x44,0,0,0,4,0,0x95);
FUN_1008_0138(0x32,0xd3,0x28,199,0,0,0,0,1,500,0,0,0x1000,0,0,0,0,0,0,0,0,0,0,0,0,0xb,0,0,0,0,0,
0x43,0,0xcd,0,0,0,4,1,0x96);
FUN_1008_0138(0x33,0xf0,0x29,0xe4,0,0,0,0,1,500,0,0,0x1000,0,0,0,0,0,0,0,0,0,0,0,0,0xb,0,0,0,0,0,
0x42,0,0xe9,0,0,0,4,1,0x97);
FUN_1008_0138(0x34,0x10d,0x2a,0x101,0,0,0,0,1,500,0,0,0x1000,0,0,0,0,0,0,0,0,0,0,0,0,0xb,0,0,0,0,0
,0x42,0,0x108,0,0,0,4,1,0x98);
FUN_1008_0138(0x188,0x17,0x158,0xb,0,0,0,0,2,0,0,0,0x100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0x194,0,0x1b,
0,0x154,0,6,0,0,0,4,0,0x99);
FUN_1008_0138(0x18a,0x12f,0x15a,0x123,0,0,0,0,2,0,0,0,0x100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0x192,0,
0x133,0,0x154,0,0x11b,0,0,0,4,0,0x9a);
FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0xb,
0,0,0,0,0,0x4f,0,0xb7,0,0,1,1,1,0x9b);
FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0,0,
0x34,0,0xb8,0,0x4b,0,0xac,0,0,0,2,1,0x9c);
FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0xb,
0,0,0,0,0,0x38,0,0xc3,0,0,1,1,1,0x9d);
FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0,0,
0x52,0,0xc1,0,0x3d,0,0xcd,0,0,0,2,1,0x9e);
FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0xb,
0,0,0,0,0,0x4f,0,0xd4,0,0,1,1,1,0x9f);
FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0,0,
0x34,0,0xd5,0,0x4b,0,0xc9,0,0,0,2,1,0xa0);
FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0xb,
0,0,0,0,0,0x38,0,0xe0,0,0,1,1,1,0xa1);
FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0,0,
0x52,0,0xde,0,0x3d,0,0xea,0,0,0,2,1,0xa2);
FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0xb,
0,0,0,0,0,0x4f,0,0xf1,0,0,1,1,1,0xa3);
FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0,0,
0x34,0,0xf2,0,0x4b,0,0xe6,0,0,0,2,1,0xa4);
FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0xb,
0,0,0,0,0,0x38,0,0xfd,0,0,1,1,1,0xa5);
FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0,0,
0x52,0,0xfb,0,0x3d,0,0x107,0,0,0,2,1,0xa6);
FUN_1008_0138(0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0x9a80,0x9999,0x1999,9,0,0,0,0,0,0x10c,0
,299,0,0,0,1,1,0xa7);
FUN_1008_0138(0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0x9a80,0x9999,0x1999,0,0,0x111,0,0x123,0
,0x123,0,0x12a,0,0,0,2,1,0xa8);
FUN_1008_0138(0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0,0,
0x4e,0,0x148,0,0x1ba,0,0x148,0,0,0,2,1,0xa9);
FUN_1008_0138(0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0x9a80,0x9999,0x1999,0,0,100,0,0x12a,0,
0x1a4,0,0x12a,0,0,0,2,1,0xaa);
FUN_1008_0138(0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0x9a80,0x9999,0x1999,0,0,0xbe,0,0x12a,0,
0x10b,0,0x12a,0,0,0,2,1,0xab);
FUN_1008_0138(0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0x9a80,0x9999,0x1999,9,0,0,0,0,0,0xbf,0,
299,0,0,0,1,1,0xac);
FUN_1008_0138(0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0x9a80,0x9999,0x1999,0,0,0xa5,0,0x12a,0,
0xbc,0,0x123,0,0,0,2,1,0xad);
FUN_1008_0138(0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0x6680,0x6666,0x6666,0x11,0,0,0,0,0,0,0,
0,0,0,1,1,1,0xae);
FUN_1008_0138(0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0x6680,0x6666,0x6666,0x11,0,0,0,0,0,0,0,
0,0,0,1,1,0,0xaf);
FUN_1008_0787(0x143,0x79,0x130,0x67,1);
FUN_1008_0787(299,0x89,0x118,0x77,2);
FUN_1008_0787(0x123,0xa6,0x110,0x94,3);
FUN_1008_0787(299,0xc3,0x118,0xb1,4);
FUN_1008_0787(0x142,0xd3,0x12f,0xc1,5);
FUN_1008_0787(0x14,0,0x14,0,6);
FUN_1008_0787(0x14,0,0x14,0,7);
FUN_1008_0787(0x14,0,0x14,0,8);
FUN_1008_0787(0x14,0,0x14,0,9);
FUN_1008_0787(0x14,0,0x14,0,10);
FUN_1008_0787(0x14,0,0x14,0,0xb);
FUN_1008_0787(0x14,0,0x14,0,0xc);
FUN_1008_0787(0x14,0,0x14,0,0xd);
FUN_1008_0787(0x14,0,0x14,0,0xe);
FUN_1008_0787(0x54,0x67,0x44,0x57,0xf);
FUN_1008_0787(0x39,0x7b,0x29,0x69,0x10);
FUN_1008_0787(0x43,0x9a,0x33,0x8a,0x11);
FUN_1008_0787(99,0x9a,0x53,0x8a,0x12);
FUN_1008_0787(0x6e,0x7a,0x5e,0x6a,0x13);
FUN_1008_0787(0x1e,0x19,0xe,9,0x14);
local_4 = 1;
while( true ) {
*(undefined1 *)(iVar5 + local_4 + 0x3cc) = *(undefined1 *)(local_4 * 0x53 + 0x98f);
*(undefined2 *)(iVar5 + local_4 * 2 + 0xa42) = *(undefined2 *)(local_4 * 0x53 + 0x99e);
*(undefined1 *)(iVar5 + local_4 + 0x61) = 0;
if (local_4 == 0xaf) break;
local_4 = local_4 + 1;
}
return;
}
/* ===== 1000:51f5 FUN_1000_51f5 ===== */
void __stdcall16far FUN_1000_51f5(undefined4 param_1)
{
int *piVar1;
undefined2 uVar2;
undefined2 uVar3;
uint uVar4;
int iVar5;
undefined2 unaff_CS;
undefined2 uVar6;
int local_4;
uVar6 = 0;
uVar2 = LOADCURSOR(unaff_CS,0x7f02,0);
uVar3 = SETCURSOR(0x1228,uVar2,uVar6);
FUN_1008_10e3(uVar2,uVar6,uVar3);
uVar2 = (undefined2)((ulong)param_1 >> 0x10);
iVar5 = (int)param_1;
*(undefined1 *)(iVar5 + 0xbd9) = 1;
*(undefined1 *)(iVar5 + 0xbd8) = 1;
uVar4 = *(uint *)(iVar5 + 0x49) | *(uint *)(iVar5 + 0x4b);
if (uVar4 != 0) {
piVar1 = (int *)*(undefined4 *)(iVar5 + 0x49);
(*(code *)*(undefined2 *)(*piVar1 + 8))
(0x1008,(int *)piVar1,(int)((ulong)piVar1 >> 0x10),CONCAT11((char)(uVar4 >> 8),1));
}
FUN_1008_00e2();
DELETEOBJECT(0x1008,*(undefined2 *)(iVar5 + 0x52));
DELETEOBJECT(0x1228,DAT_1028_0859);
DELETEOBJECT(0x1228,DAT_1028_0863);
DELETEOBJECT(0x1228,DAT_1028_0865);
DELETEOBJECT(0x1228,DAT_1028_085f);
DELETEOBJECT(0x1228,DAT_1028_085b);
DELETEOBJECT(0x1228,DAT_1028_0861);
DELETEOBJECT(0x1228,DAT_1028_085d);
local_4 = 0;
while( true ) {
DELETEOBJECT(0x1228,*(undefined2 *)(local_4 * 2 + 0x430b));
if (local_4 == 7) break;
local_4 = local_4 + 1;
}
local_4 = 1;
while( true ) {
DELETEOBJECT(0x1228,*(undefined2 *)(local_4 * 2 + 0x4319));
if (local_4 == 4) break;
local_4 = local_4 + 1;
}
local_4 = 1;
while( true ) {
DELETEOBJECT(0x1228,((undefined2 *)&DAT_1028_4321)[local_4]);
if (local_4 == 9) break;
local_4 = local_4 + 1;
}
SETCURSOR(0x1228,uVar3);
POSTQUITMESSAGE(0x1228,0x12);
FUN_1018_121b(iVar5,uVar2,0);
INVALIDATERECT(0x1018,1,0,0,*(undefined2 *)(iVar5 + 4));
FUN_1020_0439();
return;
}
/* ===== 1000:531e FUN_1000_531e ===== */
void __stdcall16far FUN_1000_531e(int param_1,byte param_2)
{
undefined2 uVar1;
undefined2 uVar2;
undefined2 unaff_SS;
undefined2 uVar3;
undefined2 uVar4;
uVar4 = *(undefined2 *)(param_1 + 0xe);
uVar1 = CREATECOMPATIBLEDC();
*(undefined2 *)(param_1 + -0xc) = uVar1;
uVar1 = *(undefined2 *)(param_1 + -0xc);
uVar2 = SELECTOBJECT(0x1228,*(undefined2 *)(param_1 + -2));
*(undefined2 *)(param_1 + -4) = uVar2;
uVar2 = *(undefined2 *)(param_1 + 0xe);
BITBLT(0x1228,0x20,0xcc,0,0,*(undefined2 *)(param_1 + -0xc),0xd,(param_2 - 1) * 7,0x148,0xca);
uVar3 = *(undefined2 *)(param_1 + -0xc);
SELECTOBJECT(0x1228,*(undefined2 *)(param_1 + -4));
DELETEOBJECT(0x1228,*(undefined2 *)(param_1 + -0xc),uVar3,uVar2,uVar1,uVar4);
return;
}
/* ===== 1000:5390 FUN_1000_5390 ===== */
void __stdcall16far
FUN_1000_5390(undefined4 param_1,undefined2 param_2,undefined2 param_3,undefined2 param_4)
{
undefined2 uVar1;
undefined2 uVar2;
int iVar3;
undefined2 unaff_CS;
undefined2 uVar4;
undefined2 unaff_SS;
undefined2 uVar5;
undefined2 uVar6;
undefined2 uVar7;
undefined2 uVar8;
undefined2 uVar9;
int local_20;
undefined1 local_16 [4];
int local_12;
int local_10;
undefined2 local_e;
undefined2 local_c;
undefined2 local_a;
undefined2 local_8;
undefined2 local_6;
undefined2 local_4;
uVar2 = param_4;
uVar1 = SELECTPALETTE(unaff_CS,0,DAT_1028_444e);
UNREALIZEOBJECT(0x1228,DAT_1028_444e,uVar2);
REALIZEPALETTE(0x1228,param_4);
uVar4 = 0x1008;
FUN_1008_00e2();
iVar3 = (int)param_1;
uVar2 = (undefined2)((ulong)param_1 >> 0x10);
if (DAT_1028_07cc != '\0') {
local_4 = FUN_1008_149d(0x3e3,0,DAT_1028_06fe);
uVar6 = CREATECOMPATIBLEDC(0x1008,param_4);
local_e = uVar6;
local_6 = SELECTOBJECT(0x1228,local_4);
uVar5 = param_4;
BITBLT(0x1228,0x20,0xcc,0,0,local_e,0x1e0,0x280,0,0);
uVar4 = local_e;
SELECTOBJECT(0x1228,local_6);
DELETEOBJECT(0x1228,local_e,uVar4,uVar5,uVar6);
DELETEOBJECT(0x1228,local_4);
local_4 = FUN_1008_149d(0x3e2,0,DAT_1028_06fe);
FUN_1000_531e(&stack0xfffe,2);
FUN_1008_0f2e();
FUN_1000_531e(&stack0xfffe,3);
FUN_1000_531e(&stack0xfffe,4);
DAT_1028_085d = FUN_1008_149d(0x3e6,0,DAT_1028_06fe);
FUN_1000_531e(&stack0xfffe,5);
DAT_1028_085b = FUN_1008_149d(0x3e6,0,DAT_1028_06fe);
FUN_1000_531e(&stack0xfffe,6);
DAT_1028_0861 = LOADBITMAP(0x1000,500,0);
local_20 = 0;
while( true ) {
FUN_1000_531e(&stack0xfffe,local_20 + 7);
uVar4 = FUN_1008_149d(local_20 + 400,local_20 + 400 >> 0xf,DAT_1028_06fe);
*(undefined2 *)(local_20 * 2 + 0x430b) = uVar4;
if (local_20 == 7) break;
local_20 = local_20 + 1;
}
local_20 = 1;
while( true ) {
FUN_1000_531e(&stack0xfffe,local_20 + 0xe);
uVar4 = FUN_1008_149d(local_20 + 700,local_20 + 700 >> 0xf,DAT_1028_06fe);
*(undefined2 *)(local_20 * 2 + 0x4319) = uVar4;
if (local_20 == 4) break;
local_20 = local_20 + 1;
}
local_20 = 1;
while( true ) {
FUN_1000_531e(&stack0xfffe,local_20 + 0x12);
uVar4 = FUN_1008_149d(local_20 + 800,local_20 + 800 >> 0xf,DAT_1028_06fe);
((undefined2 *)&DAT_1028_4321)[local_20] = uVar4;
if (local_20 == 9) break;
local_20 = local_20 + 1;
}
FUN_1000_531e(&stack0xfffe,0x1c);
uVar4 = LOADBITMAP(0x1000,0x66,0);
*(undefined2 *)(iVar3 + 0x54) = uVar4;
FUN_1000_531e(&stack0xfffe,0x1d);
DAT_1028_0863 = FUN_1008_149d(900,0,DAT_1028_06fe);
FUN_1000_531e(&stack0xfffe,0x1e);
uVar4 = LOADBITMAP(0x1000,0x65,0);
*(undefined2 *)(iVar3 + 0x52) = uVar4;
FUN_1000_531e(&stack0xfffe,0x1f);
DAT_1028_085f = FUN_1008_149d(0x3e5,0,DAT_1028_06fe);
FUN_1000_531e(&stack0xfffe,0x20);
DAT_1028_0865 = FUN_1008_149d(0x385,0,DAT_1028_06fe);
FUN_1000_531e(&stack0xfffe,0x21);
DAT_1028_0859 = FUN_1008_149d(600,0,DAT_1028_06fe);
FUN_1000_531e(&stack0xfffe,0x22);
DAT_1028_07cc = '\0';
FUN_1000_531e(&stack0xfffe,0x23);
DELETEOBJECT(0x1000,local_4);
uVar5 = param_4;
SELECTPALETTE(0x1228,0,uVar1);
uVar7 = 0;
uVar6 = LOADCURSOR(0x1228,0x7f00,0);
uVar4 = 0x1228;
SETCURSOR(0x1228,uVar6,uVar7,uVar5);
}
if (*(char *)(iVar3 + 0xbd8) == '\0') {
*(undefined1 *)(iVar3 + 0xbd9) = 1;
local_c = CREATECOMPATIBLEDC(uVar4,param_4);
local_e = CREATECOMPATIBLEDC(0x1228,param_4);
GETCLIENTRECT(0x1228,local_16,unaff_SS);
local_a = CREATECOMPATIBLEBITMAP(0x1228,local_10 + 1,local_12 + 1);
local_6 = SELECTOBJECT(0x1228,DAT_1028_085b);
local_8 = SELECTOBJECT(0x1228,local_a);
uVar9 = local_e;
BITBLT(0x1228,0x20,0xcc,0,0,local_c,local_10,local_12,0,0);
uVar8 = local_c;
BITBLT(0x1228,0x20,0xcc,0,0,local_e,local_10,local_12,0,0);
uVar5 = 0xcc;
uVar4 = 0x20;
uVar7 = param_4;
BITBLT(0x1228,0x20,0xcc,0,0,local_e,local_10,local_12,0,0);
uVar6 = local_e;
SELECTOBJECT(0x1228,local_8);
DELETEOBJECT(0x1228,local_a,uVar6,uVar7,uVar8,uVar9);
DELETEDC(0x1228,local_e);
uVar7 = 0x1228;
uVar6 = 0x5706;
uVar8 = local_6;
uVar9 = local_c;
SELECTOBJECT(0x1228,local_6);
if ((((0 < *(int *)(iVar3 + 0xba4)) ||
((-1 < *(int *)(iVar3 + 0xba4) && (*(int *)(iVar3 + 0xba2) != 0)))) &&
((0 < *(int *)(iVar3 + 0xba8) ||
((-1 < *(int *)(iVar3 + 0xba8) && (*(int *)(iVar3 + 0xba6) != 0)))))) &&
(*(char *)(iVar3 + 0xbde) == '\0')) {
uVar8 = local_c;
local_6 = SELECTOBJECT(0x1228,*(undefined2 *)(iVar3 + 0x54));
uVar7 = param_4;
BITBLT(0x1228,0xc6,0x88,0,0,local_c,*(int *)(iVar3 + 0xba6) + 0x13,
*(int *)(iVar3 + 0xba2) + 0x13,*(undefined2 *)(iVar3 + 0xba6),
*(undefined2 *)(iVar3 + 0xba2));
uVar6 = local_c;
SELECTOBJECT(0x1228,*(undefined2 *)(iVar3 + 0x52));
uVar5 = param_4;
BITBLT(0x1228,0x86,0xee,0,0,local_c,*(int *)(iVar3 + 0xba6) + 0x13,
*(int *)(iVar3 + 0xba2) + 0x13,*(undefined2 *)(iVar3 + 0xba6),
*(undefined2 *)(iVar3 + 0xba2));
uVar4 = local_c;
SELECTOBJECT(0x1228,local_6);
}
DELETEDC(0x1228,local_c,uVar4,uVar5,uVar6,uVar7,uVar8,uVar9);
*(undefined2 *)(iVar3 + 0x4d) = 0;
*(undefined2 *)(iVar3 + 0x4f) = 0;
*(undefined1 *)(iVar3 + 0xbd9) = 0;
SELECTPALETTE(0x1228,0,uVar1);
uVar4 = 0;
uVar1 = LOADCURSOR(0x1228,0x7f00,0);
SETCURSOR(0x1228,uVar1,uVar4,param_4);
uVar1 = *(undefined2 *)(iVar3 + 4);
GETCLIENTRECT(0x1228,local_16,unaff_SS);
local_e = GETDC(0x1228,*(undefined2 *)(iVar3 + 4),uVar1);
uVar2 = *(undefined2 *)((uint)DAT_1028_07d1 * 4 + 0x990);
uVar1 = FUN_1020_08a9();
FUN_1008_0996(local_e,uVar1,uVar2);
local_20 = 1;
while( true ) {
iVar3 = *(int *)(local_20 * 4 + 0x980);
if ((0 < iVar3) || ((-1 < iVar3 && (*(int *)(local_20 * 4 + 0x97e) != 0)))) {
FUN_1008_0996(local_e,local_20,local_20 >> 0xf);
}
if (local_20 == 4) break;
local_20 = local_20 + 1;
}
DAT_1028_086b = 99;
FUN_1008_0b9e(DAT_1028_07d1,local_e);
RELEASEDC(0x1008,local_e);
DAT_1028_07cb = 1;
}
return;
}
/* ===== 1000:58e7 FUN_1000_58e7 ===== */
undefined2 __stdcall16far FUN_1000_58e7(undefined4 param_1,undefined4 param_2)
{
int iVar1;
int iVar2;
undefined2 uVar3;
undefined2 uVar4;
undefined2 local_4;
uVar3 = (undefined2)((ulong)param_2 >> 0x10);
iVar2 = (int)param_2;
if (*(int *)(iVar2 + 4) == 0) {
DAT_1028_07c4 = '\0';
local_4 = 0;
}
else if (DAT_1028_07c4 == '\0') {
uVar4 = (undefined2)((ulong)param_1 >> 0x10);
iVar1 = ISICONIC();
if (iVar1 == 0) {
DAT_1028_07c4 = '\x01';
INVALIDATERECT(0x1228,0,0,0,*(undefined2 *)((int)param_1 + 4));
UPDATEWINDOW(0x1228,*(undefined2 *)((int)param_1 + 4));
*(undefined2 *)(iVar2 + 10) = 0;
*(undefined2 *)(iVar2 + 0xc) = 0;
local_4 = 0;
}
}
return local_4;
}
/* ===== 1000:5956 FUN_1000_5956 ===== */
void __stdcall16far FUN_1000_5956(undefined4 param_1,undefined4 param_2)
{
int iVar1;
undefined2 uVar2;
undefined2 uVar3;
undefined2 unaff_CS;
uVar2 = (undefined2)((ulong)param_2 >> 0x10);
iVar1 = (int)param_2;
if ((*(int *)(iVar1 + 4) == 0) && (DAT_1028_07c4 == '\0')) {
DAT_1028_07c4 = '\x01';
uVar3 = (undefined2)((ulong)param_1 >> 0x10);
INVALIDATERECT(unaff_CS,0,0,0,*(undefined2 *)((int)param_1 + 4));
UPDATEWINDOW(0x1228,*(undefined2 *)((int)param_1 + 4));
*(undefined2 *)(iVar1 + 10) = 0;
*(undefined2 *)(iVar1 + 0xc) = 0;
}
return;
}
/* ===== 1000:59a0 FUN_1000_59a0 ===== */
undefined2 __stdcall16far FUN_1000_59a0(undefined4 param_1,undefined4 param_2)
{
int iVar1;
undefined2 uVar2;
undefined2 uVar3;
int iVar4;
int iVar5;
undefined2 uVar6;
undefined2 uVar7;
undefined2 uVar8;
undefined2 uVar9;
undefined2 local_4;
local_4 = 1;
uVar6 = (undefined2)((ulong)param_2 >> 0x10);
iVar4 = (int)param_2;
uVar7 = (undefined2)((ulong)param_1 >> 0x10);
iVar5 = (int)param_1;
if (*(int *)(iVar4 + 4) != *(int *)(iVar5 + 4)) {
uVar9 = *(undefined2 *)(iVar4 + 4);
iVar1 = GETPARENT();
if (iVar1 != *(int *)(iVar5 + 4)) {
uVar7 = *(undefined2 *)(iVar5 + 4);
uVar2 = GETDC(0x1228,uVar7,uVar9);
uVar8 = uVar2;
uVar3 = SELECTPALETTE(0x1228,1,DAT_1028_444e);
REALIZEPALETTE(0x1228,uVar2,uVar8,uVar7,uVar9,uVar3);
UPDATECOLORS(0x1228,uVar2);
SELECTPALETTE(0x1228,0,uVar3);
RELEASEDC(0x1228,uVar2);
*(undefined2 *)(iVar4 + 10) = 0;
*(undefined2 *)(iVar4 + 0xc) = 0;
local_4 = 0;
}
}
return local_4;
}
/* ===== 1000:5a37 FUN_1000_5a37 ===== */
int __stdcall16far FUN_1000_5a37(undefined4 param_1,undefined4 param_2)
{
undefined2 uVar1;
undefined2 uVar2;
int iVar3;
undefined2 uVar4;
undefined2 uVar5;
undefined2 uVar6;
uVar4 = (undefined2)((ulong)param_1 >> 0x10);
uVar5 = *(undefined2 *)((int)param_1 + 4);
uVar1 = GETDC();
uVar6 = uVar1;
uVar2 = SELECTPALETTE(0x1228,0,DAT_1028_444e);
iVar3 = REALIZEPALETTE(0x1228,uVar1,uVar6,uVar5);
SELECTPALETTE(0x1228,0,uVar2);
RELEASEDC(0x1228,uVar1);
if (0 < iVar3) {
INVALIDATERECT(0x1228,0,0,0,*(undefined2 *)((int)param_1 + 4));
}
uVar5 = (undefined2)((ulong)param_2 >> 0x10);
*(int *)((int)param_2 + 10) = iVar3;
*(undefined2 *)((int)param_2 + 0xc) = 0;
return iVar3;
}
/* ===== 1000:5ab7 FUN_1000_5ab7 ===== */
void __stdcall16far FUN_1000_5ab7(undefined4 param_1,uint *param_2)
{
uint uVar1;
undefined2 uVar2;
uVar2 = (undefined2)((ulong)param_2 >> 0x10);
FUN_1018_1274((int)param_1,(int)((ulong)param_1 >> 0x10),(uint *)param_2,uVar2);
uVar1 = GETSTOCKOBJECT(0x1018,5);
((uint *)param_2)[8] = uVar1;
*param_2 = *param_2 | 0x3800;
return;
}
/* ===== 1000:5aea FUN_1000_5aea ===== */
undefined4 __stdcall16far
FUN_1000_5aea(undefined4 param_1,undefined2 param_2,undefined2 param_3,undefined2 param_4,
undefined2 param_5,undefined2 param_6)
{
uint uVar1;
int iVar2;
undefined2 uVar3;
bool bVar4;
bVar4 = true;
FUN_1020_03ef();
if (!bVar4) {
uVar3 = (undefined2)((ulong)param_1 >> 0x10);
iVar2 = (int)param_1;
FUN_1018_1106(iVar2,uVar3,0,param_3,param_4,param_5,param_6);
*(undefined2 *)(iVar2 + 0x41) = param_5;
*(undefined2 *)(iVar2 + 0x43) = param_6;
*(undefined2 *)(iVar2 + 0x2d) = 0x168;
*(undefined2 *)(iVar2 + 0x2f) = 300;
*(int *)(iVar2 + 0x29) = 0x140 - *(int *)(iVar2 + 0x2d) / 2;
*(int *)(iVar2 + 0x2b) = 0xe6 - *(int *)(iVar2 + 0x2f) / 2;
uVar1 = *(uint *)(iVar2 + 0x23);
*(uint *)(iVar2 + 0x21) = *(uint *)(iVar2 + 0x21) | 2;
*(uint *)(iVar2 + 0x23) = uVar1 | 0x4680;
SETFOCUS(0x1018,*(undefined2 *)(iVar2 + 4));
}
return param_1;
}
/* ===== 1000:5ba6 FUN_1000_5ba6 ===== */
void __stdcall16far FUN_1000_5ba6(undefined4 param_1)
{
int iVar1;
int iVar2;
undefined2 uVar3;
undefined2 uVar4;
undefined2 uVar5;
uVar5 = DAT_1028_0867;
DELETEOBJECT();
uVar3 = (undefined2)((ulong)param_1 >> 0x10);
iVar1 = (int)param_1;
uVar4 = (undefined2)((ulong)*(undefined4 *)(iVar1 + 0x41) >> 0x10);
iVar2 = (int)*(undefined4 *)(iVar1 + 0x41);
*(undefined2 *)(iVar2 + 0x41) = 0;
*(undefined2 *)(iVar2 + 0x43) = 0;
*(undefined2 *)(iVar1 + 0x41) = 0;
*(undefined2 *)(iVar1 + 0x43) = 0;
FUN_1018_121b(iVar1,uVar3,0);
FUN_1020_0439(uVar5);
return;
}
/* ===== 1000:5be5 FUN_1000_5be5 ===== */
void __stdcall16far FUN_1000_5be5(undefined4 param_1)
{
undefined2 uVar1;
uVar1 = (undefined2)((ulong)param_1 >> 0x10);
FUN_1018_170c((int)param_1,uVar1);
DAT_1028_0867 = FUN_1008_149d(0x3e1,0,DAT_1028_06fe);
SETFOCUS(0x1008,*(undefined2 *)((int)param_1 + 4));
return;
}
/* ===== 1000:5c13 FUN_1000_5c13 ===== */
void __stdcall16far FUN_1000_5c13(void)
{
undefined2 uVar1;
undefined2 uVar2;
undefined2 unaff_CS;
undefined2 unaff_SS;
undefined2 in_stack_0000000c;
undefined1 *puVar3;
int iVar4;
undefined1 *puVar5;
undefined2 uVar6;
undefined2 uVar7;
undefined1 local_26c [256];
undefined2 local_16c;
undefined2 local_16a;
undefined2 local_168;
undefined2 local_166;
undefined2 local_164;
undefined2 local_162;
int local_160;
int local_15e;
undefined1 local_15c [256];
undefined1 local_5c [41];
undefined1 local_33 [41];
undefined2 local_a;
undefined4 local_8;
undefined2 local_4;
uVar1 = in_stack_0000000c;
local_4 = SELECTPALETTE(unaff_CS,0,DAT_1028_444e);
UNREALIZEOBJECT(0x1228,DAT_1028_444e,uVar1);
REALIZEPALETTE(0x1228,in_stack_0000000c);
uVar1 = CREATECOMPATIBLEDC(0x1228,in_stack_0000000c);
local_16a = uVar1;
local_164 = SELECTOBJECT(0x1228,DAT_1028_0867);
local_16c = CREATECOMPATIBLEDC(0x1228,in_stack_0000000c,uVar1);
local_168 = CREATECOMPATIBLEBITMAP(0x1228,300,0x168);
uVar1 = local_16c;
local_166 = SELECTOBJECT(0x1228,local_168);
local_8 = GETTEXTCOLOR(0x1228,local_16c,uVar1,in_stack_0000000c);
local_a = SETTEXTALIGN(0x1228,6);
local_162 = SETBKMODE(0x1228,1);
BITBLT(0x1228,0x20,0xcc,0,0,local_16a,300,0x168,0,0);
SETTEXTCOLOR(0x1228,0,0);
FUN_1008_2ee5(0x2f4,0x1028,local_33,unaff_SS);
uVar7 = 0xb4;
uVar6 = 0x1b;
puVar3 = local_33;
uVar1 = unaff_SS;
uVar2 = FUN_1008_2e92(local_33,unaff_SS);
TEXTOUT(0x1008,uVar2,puVar3,uVar1,uVar6,uVar7);
local_15e = 1;
while( true ) {
local_160 = local_15e * 0x14 + 0x28;
SETTEXTALIGN(0x1228,0);
if (local_15e < 10) {
FUN_1008_2ee5(0x300,0x1028,local_33,unaff_SS);
}
else {
FUN_1008_2ee5(0x2ff,0x1028,local_33,unaff_SS);
}
FUN_1020_1629(0xff,local_15c,unaff_SS,0,local_15e,local_15e >> 0xf);
FUN_1008_2f2f(local_15c,unaff_SS,local_5c,unaff_SS);
FUN_1008_2f4d(local_5c,unaff_SS,local_33,unaff_SS);
FUN_1008_2f4d(0x303,0x1028,local_33,unaff_SS);
puVar3 = local_5c;
puVar5 = local_26c;
uVar1 = unaff_SS;
uVar2 = unaff_SS;
FUN_1020_0b00(0x16,local_15e * 0x16 + 0x890,0x1028);
FUN_1008_2f2f(puVar5,uVar1,puVar3,uVar2);
FUN_1008_2f4d(local_5c,unaff_SS,local_33,unaff_SS);
uVar6 = 0x1e;
puVar3 = local_33;
uVar1 = unaff_SS;
iVar4 = local_160;
uVar2 = FUN_1008_2e92(local_33,unaff_SS);
TEXTOUT(0x1008,uVar2,puVar3,uVar1,iVar4,uVar6);
SETTEXTALIGN(0x1228,2);
FUN_1020_1629(0xff,local_15c,unaff_SS,0,*(undefined2 *)(local_15e * 4 + 0x87a),
*(undefined2 *)(local_15e * 4 + 0x87c));
FUN_1008_2f2f(local_15c,unaff_SS,local_33,unaff_SS);
uVar6 = 0x140;
puVar3 = local_33;
uVar1 = unaff_SS;
iVar4 = local_160;
uVar2 = FUN_1008_2e92(local_33,unaff_SS);
TEXTOUT(0x1008,uVar2,puVar3,uVar1,iVar4,uVar6);
if (local_15e == 10) break;
local_15e = local_15e + 1;
}
BITBLT(0x1228,0x20,0xcc,0,0,local_16c,300,0x168,0,0);
uVar7 = local_16c;
SETTEXTCOLOR(0x1228,local_8);
uVar6 = local_16c;
SETTEXTALIGN(0x1228,local_a);
uVar2 = local_16c;
SETBKMODE(0x1228,local_162);
uVar1 = local_16c;
SELECTOBJECT(0x1228,local_166);
DELETEOBJECT(0x1228,local_168,uVar1,uVar2,uVar6,uVar7);
DELETEDC(0x1228,local_16c);
uVar1 = local_16a;
SELECTOBJECT(0x1228,local_164);
DELETEDC(0x1228,local_16a,uVar1);
SELECTPALETTE(0x1228,0,local_4);
return;
}
/* ===== 1000:5ee6 FUN_1000_5ee6 ===== */
void __stdcall16far FUN_1000_5ee6(undefined4 param_1)
{
FUN_1008_00e2();
FUN_1018_0f38((int)param_1,(int)((ulong)param_1 >> 0x10));
return;
}
/* ===== 1000:5efc FUN_1000_5efc ===== */
undefined2 __stdcall16far FUN_1000_5efc(undefined4 param_1,undefined4 param_2)
{
undefined2 local_4;
if ((*(uint *)((int)param_2 + 8) & 0xff) != 0x1c) {
FUN_1008_00e2();
FUN_1018_0f38((int)param_1,(int)((ulong)param_1 >> 0x10));
}
return local_4;
}
/* ===== 1000:5f29 FUN_1000_5f29 ===== */
undefined2 __stdcall16far FUN_1000_5f29(undefined4 param_1,undefined4 param_2)
{
int iVar1;
undefined2 uVar2;
undefined2 uVar3;
int iVar4;
int iVar5;
undefined2 uVar6;
undefined2 uVar7;
undefined2 uVar8;
undefined2 uVar9;
undefined2 local_4;
local_4 = 1;
uVar6 = (undefined2)((ulong)param_2 >> 0x10);
iVar4 = (int)param_2;
uVar7 = (undefined2)((ulong)param_1 >> 0x10);
iVar5 = (int)param_1;
if (*(int *)(iVar4 + 4) != *(int *)(iVar5 + 4)) {
uVar9 = *(undefined2 *)(iVar4 + 4);
iVar1 = GETPARENT();
if (iVar1 != *(int *)(iVar5 + 4)) {
uVar7 = *(undefined2 *)(iVar5 + 4);
uVar2 = GETDC(0x1228,uVar7,uVar9);
uVar8 = uVar2;
uVar3 = SELECTPALETTE(0x1228,1,DAT_1028_444e);
REALIZEPALETTE(0x1228,uVar2,uVar8,uVar7,uVar9,uVar3);
UPDATECOLORS(0x1228,uVar2);
SELECTPALETTE(0x1228,0,uVar3);
RELEASEDC(0x1228,uVar2);
*(undefined2 *)(iVar4 + 10) = 0;
*(undefined2 *)(iVar4 + 0xc) = 0;
local_4 = 0;
}
}
return local_4;
}
/* ===== 1000:5fc0 FUN_1000_5fc0 ===== */
int __stdcall16far FUN_1000_5fc0(undefined4 param_1,undefined4 param_2)
{
undefined2 uVar1;
undefined2 uVar2;
int iVar3;
undefined2 uVar4;
undefined2 uVar5;
undefined2 uVar6;
uVar4 = (undefined2)((ulong)param_1 >> 0x10);
uVar5 = *(undefined2 *)((int)param_1 + 4);
uVar1 = GETDC();
uVar6 = uVar1;
uVar2 = SELECTPALETTE(0x1228,0,DAT_1028_444e);
iVar3 = REALIZEPALETTE(0x1228,uVar1,uVar6,uVar5);
SELECTPALETTE(0x1228,0,uVar2);
RELEASEDC(0x1228,uVar1);
if (0 < iVar3) {
INVALIDATERECT(0x1228,0,0,0,*(undefined2 *)((int)param_1 + 4));
}
uVar5 = (undefined2)((ulong)param_2 >> 0x10);
*(int *)((int)param_2 + 10) = iVar3;
*(undefined2 *)((int)param_2 + 0xc) = 0;
return iVar3;
}
/* ===== 1000:6040 FUN_1000_6040 ===== */
void __stdcall16far FUN_1000_6040(undefined4 param_1,uint *param_2)
{
uint uVar1;
undefined2 uVar2;
uVar2 = (undefined2)((ulong)param_2 >> 0x10);
FUN_1018_1274((int)param_1,(int)((ulong)param_1 >> 0x10),(uint *)param_2,uVar2);
uVar1 = GETSTOCKOBJECT(0x1018,5);
((uint *)param_2)[8] = uVar1;
*param_2 = *param_2 | 0x3800;
return;
}
/* ===== 1000:6073 FUN_1000_6073 ===== */
undefined4 __stdcall16far
FUN_1000_6073(undefined4 param_1,undefined2 param_2,undefined2 param_3,undefined2 param_4,
undefined2 param_5,undefined2 param_6)
{
int iVar1;
undefined2 uVar2;
bool bVar3;
bVar3 = true;
FUN_1020_03ef();
if (!bVar3) {
uVar2 = (undefined2)((ulong)param_1 >> 0x10);
iVar1 = (int)param_1;
FUN_1018_1106(iVar1,uVar2,0,param_3,param_4,param_5,param_6);
*(undefined2 *)(iVar1 + 0x41) = param_5;
*(undefined2 *)(iVar1 + 0x43) = param_6;
*(undefined2 *)(iVar1 + 0x2d) = 0x280;
*(undefined2 *)(iVar1 + 0x2f) = 0x1cc;
*(undefined2 *)(iVar1 + 0x29) = 0;
*(undefined2 *)(iVar1 + 0x2b) = 0;
*(undefined2 *)(iVar1 + 0x21) = 2;
*(undefined2 *)(iVar1 + 0x23) = 0x4600;
SETFOCUS(0x1018,*(undefined2 *)(iVar1 + 4));
}
return param_1;
}
/* ===== 1000:60e7 FUN_1000_60e7 ===== */
void __stdcall16far FUN_1000_60e7(undefined4 param_1)
{
int iVar1;
int iVar2;
undefined2 uVar3;
undefined2 uVar4;
uVar3 = (undefined2)((ulong)param_1 >> 0x10);
iVar1 = (int)param_1;
uVar4 = (undefined2)((ulong)*(undefined4 *)(iVar1 + 0x41) >> 0x10);
iVar2 = (int)*(undefined4 *)(iVar1 + 0x41);
*(undefined2 *)(iVar2 + 0x45) = 0;
*(undefined2 *)(iVar2 + 0x47) = 0;
*(undefined2 *)(iVar1 + 0x41) = 0;
*(undefined2 *)(iVar1 + 0x43) = 0;
uVar4 = DAT_1028_0867;
DELETEOBJECT();
FUN_1018_121b(iVar1,uVar3,0);
FUN_1020_0439(uVar4);
return;
}
/* ===== 1000:6129 FUN_1000_6129 ===== */
void __stdcall16far FUN_1000_6129(undefined4 param_1)
{
undefined2 uVar1;
undefined2 uVar2;
undefined2 uVar3;
uVar2 = (undefined2)((ulong)param_1 >> 0x10);
FUN_1018_170c((int)param_1,uVar2);
uVar3 = 0;
uVar1 = LOADCURSOR(0x1018,0x7f02,0);
SETCURSOR(0x1228,uVar1,uVar3);
DAT_1028_0867 = FUN_1008_149d(DAT_1028_07cd + 1000,0,DAT_1028_06fe);
SETFOCUS(0x1008,*(undefined2 *)((int)param_1 + 4));
return;
}
/* ===== 1000:616e FUN_1000_616e ===== */
void __stdcall16far FUN_1000_616e(void)
{
undefined2 uVar1;
undefined2 uVar2;
undefined2 uVar3;
undefined2 uVar4;
undefined2 unaff_CS;
undefined2 in_stack_0000000c;
undefined2 uVar5;
undefined2 uVar6;
uVar4 = in_stack_0000000c;
uVar1 = SELECTPALETTE(unaff_CS,0,DAT_1028_444e);
UNREALIZEOBJECT(0x1228,DAT_1028_444e,uVar4);
REALIZEPALETTE(0x1228,in_stack_0000000c);
uVar2 = CREATECOMPATIBLEDC(0x1228,in_stack_0000000c);
uVar6 = uVar2;
uVar3 = SELECTOBJECT(0x1228,DAT_1028_0867);
uVar5 = in_stack_0000000c;
BITBLT(0x1228,0x20,0xcc,0,0,uVar2,0x1cc,0x280,0,0);
uVar4 = uVar2;
SELECTOBJECT(0x1228,uVar3);
DELETEDC(0x1228,uVar2,uVar4,uVar5,uVar6);
SELECTPALETTE(0x1228,0,uVar1);
uVar5 = 0;
uVar4 = LOADCURSOR(0x1228,0x7f00,0);
SETCURSOR(0x1228,uVar4,uVar5,in_stack_0000000c);
return;
}
/* ===== 1000:6202 FUN_1000_6202 ===== */
void __stdcall16far FUN_1000_6202(undefined4 param_1)
{
FUN_1008_00e2();
FUN_1018_0f38((int)param_1,(int)((ulong)param_1 >> 0x10));
return;
}
/* ===== 1000:6218 FUN_1000_6218 ===== */
undefined2 __stdcall16far FUN_1000_6218(undefined4 param_1,undefined4 param_2)
{
undefined2 local_4;
if ((*(uint *)((int)param_2 + 8) & 0xff) != 0x3b) {
FUN_1008_00e2();
FUN_1018_0f38((int)param_1,(int)((ulong)param_1 >> 0x10));
}
return local_4;
}
/* ===== 1000:6245 FUN_1000_6245 ===== */
undefined2 __stdcall16far FUN_1000_6245(undefined4 param_1,undefined4 param_2)
{
int iVar1;
undefined2 uVar2;
undefined2 uVar3;
int iVar4;
int iVar5;
undefined2 uVar6;
undefined2 uVar7;
undefined2 uVar8;
undefined2 uVar9;
undefined2 local_4;
local_4 = 1;
uVar6 = (undefined2)((ulong)param_2 >> 0x10);
iVar4 = (int)param_2;
uVar7 = (undefined2)((ulong)param_1 >> 0x10);
iVar5 = (int)param_1;
if (*(int *)(iVar4 + 4) != *(int *)(iVar5 + 4)) {
uVar9 = *(undefined2 *)(iVar4 + 4);
iVar1 = GETPARENT();
if (iVar1 != *(int *)(iVar5 + 4)) {
uVar7 = *(undefined2 *)(iVar5 + 4);
uVar2 = GETDC(0x1228,uVar7,uVar9);
uVar8 = uVar2;
uVar3 = SELECTPALETTE(0x1228,1,DAT_1028_444e);
REALIZEPALETTE(0x1228,uVar2,uVar8,uVar7,uVar9,uVar3);
UPDATECOLORS(0x1228,uVar2);
SELECTPALETTE(0x1228,0,uVar3);
RELEASEDC(0x1228,uVar2);
*(undefined2 *)(iVar4 + 10) = 0;
*(undefined2 *)(iVar4 + 0xc) = 0;
local_4 = 0;
}
}
return local_4;
}
/* ===== 1000:62dc FUN_1000_62dc ===== */
int __stdcall16far FUN_1000_62dc(undefined4 param_1,undefined4 param_2)
{
undefined2 uVar1;
undefined2 uVar2;
int iVar3;
undefined2 uVar4;
undefined2 uVar5;
undefined2 uVar6;
uVar4 = (undefined2)((ulong)param_1 >> 0x10);
uVar5 = *(undefined2 *)((int)param_1 + 4);
uVar1 = GETDC();
uVar6 = uVar1;
uVar2 = SELECTPALETTE(0x1228,0,DAT_1028_444e);
iVar3 = REALIZEPALETTE(0x1228,uVar1,uVar6,uVar5);
SELECTPALETTE(0x1228,0,uVar2);
RELEASEDC(0x1228,uVar1);
if (0 < iVar3) {
INVALIDATERECT(0x1228,0,0,0,*(undefined2 *)((int)param_1 + 4));
}
uVar5 = (undefined2)((ulong)param_2 >> 0x10);
*(int *)((int)param_2 + 10) = iVar3;
*(undefined2 *)((int)param_2 + 0xc) = 0;
return iVar3;
}
/* ===== 1000:635c FUN_1000_635c ===== */
void __stdcall16far
FUN_1000_635c(undefined2 param_1,undefined2 param_2,undefined2 param_3,undefined2 param_4,
undefined2 param_5,undefined2 param_6)
{
FUN_1008_07b6(param_1,param_2,param_3,param_4,param_5,param_6);
FUN_1008_093f(param_2,param_3,param_4,param_5,param_6);
return;
}
/* ===== 1000:638e FUN_1000_638e ===== */
undefined2 __stdcall16far FUN_1000_638e(undefined4 param_1,undefined4 param_2)
{
uint uVar1;
uint uVar2;
uint uVar3;
int iVar4;
int iVar5;
undefined2 in_BX;
int iVar6;
int iVar7;
undefined2 uVar8;
undefined2 uVar9;
undefined2 uVar10;
bool bVar11;
undefined2 uVar12;
byte local_a;
byte local_9;
uVar8 = (undefined2)((ulong)param_1 >> 0x10);
iVar6 = (int)param_1;
iVar7 = (int)param_2;
uVar9 = (undefined2)((ulong)param_2 >> 0x10);
if ((*(int *)(iVar6 + 0x41) == 0 && *(int *)(iVar6 + 0x43) == 0) &&
(*(int *)(iVar6 + 0x45) == 0 && *(int *)(iVar6 + 0x47) == 0)) {
uVar1 = *(uint *)(iVar7 + 8) & 0xff;
if ((DAT_1028_07cf != '\0') && (uVar1 == 0x3c)) {
DAT_1028_0855 = 0;
DAT_1028_0857 = 0;
DAT_1028_07c7 = 1;
}
if ((DAT_1028_07cf != '\0') && (uVar1 == 0x41)) {
DAT_1028_07d3 = DAT_1028_3340;
DAT_1028_07d5 = DAT_1028_3342;
DAT_1028_07d7 = DAT_1028_3344;
DAT_1028_07d9 = DAT_1028_3346;
*(undefined2 *)(iVar6 + 0xbaa) = 0;
*(undefined2 *)(iVar6 + 0xbac) = 0;
*(undefined2 *)(iVar6 + 0xbae) = 0;
*(undefined2 *)(iVar6 + 0xbb0) = 0;
}
if ((((*(char *)(iVar6 + 0xbdd) == '\0') && (*(char *)(iVar6 + 0xbdf) == '\0')) &&
(uVar1 == 0x50)) && (DAT_1028_07d0 != 0)) {
iVar4 = *(int *)(iVar6 + 0x5c);
FUN_1020_08a9();
FUN_1020_100b();
uVar3 = FUN_1020_1017();
uVar1 = *(uint *)(iVar6 + 0xbae);
iVar5 = *(int *)(iVar6 + 0xbb0);
*(int *)(iVar6 + 0xbae) = uVar1 - uVar3;
*(int *)(iVar6 + 0xbb0) = (iVar5 - iVar4) - (uint)(uVar1 < uVar3);
iVar4 = *(int *)(iVar6 + 0x56);
iVar5 = (~*(uint *)(iVar6 + 0x58) + 1) - (uint)(iVar4 != 0);
if ((*(int *)(iVar6 + 0xbb0) < iVar5) ||
((*(int *)(iVar6 + 0xbb0) <= iVar5 &&
(*(uint *)(iVar6 + 0xbae) <= (uint)-iVar4 && -*(uint *)(iVar6 + 0xbae) != iVar4)))) {
uVar3 = FUN_1020_14a4(*(undefined2 *)(iVar6 + 0x56));
iVar4 = *(int *)(iVar6 + 0x56);
uVar1 = *(uint *)(iVar6 + 0x58);
uVar2 = -iVar4;
*(int *)(iVar6 + 0xbae) = uVar2 + uVar3 / 0x28;
*(int *)(iVar6 + 0xbb0) =
((~uVar1 + 1) - (uint)(iVar4 != 0)) + (uint)CARRY2(uVar2,uVar3 / 0x28);
}
else {
uVar1 = *(uint *)(iVar6 + 0x58);
FUN_1020_100b();
FUN_1020_0ff7();
iVar4 = FUN_1020_1017();
iVar5 = (~uVar1 + 1) - (uint)(iVar4 != 0);
if ((iVar5 < *(int *)(iVar6 + 0xbb0)) ||
((iVar5 <= *(int *)(iVar6 + 0xbb0) &&
((uint)-iVar4 < *(uint *)(iVar6 + 0xbae) || -*(uint *)(iVar6 + 0xbae) == iVar4)))) {
uVar3 = FUN_1020_14a4(*(undefined2 *)(iVar6 + 0x56));
uVar1 = *(uint *)(iVar6 + 0xbae);
iVar4 = *(int *)(iVar6 + 0xbb0);
*(int *)(iVar6 + 0xbae) = uVar1 - uVar3 / 0x28;
*(int *)(iVar6 + 0xbb0) = iVar4 - (uint)(uVar1 < uVar3 / 0x28);
}
}
DAT_1028_07fb = *(uint *)(iVar6 + 0xbae);
DAT_1028_07fd = *(int *)(iVar6 + 0xbb0);
*(undefined1 *)(iVar6 + 0xbdd) = 1;
*(undefined1 *)(iVar6 + 0xbde) = 0;
FUN_1008_0002(2);
uVar8 = GETDC(0x1008,*(undefined2 *)(iVar6 + 4));
FUN_1000_635c(DAT_1028_0865,0x12,0x15,0x1aa,0x13a,uVar8);
RELEASEDC(0x1000,uVar8);
}
else if (uVar1 == 0x1d) {
*(undefined1 *)(iVar6 + 0xbda) = 0;
}
else if (uVar1 == 0x1c) {
*(undefined1 *)(iVar6 + 0xbdb) = 0;
}
else if ((DAT_1028_07c6 == '\0') && (((uVar1 == 0x2a || (uVar1 == 0x51)) || (uVar1 == 0x39)))) {
FUN_1008_0002(0x13);
if (uVar1 == 0x2a) {
FUN_1020_14a4(0x14);
iVar5 = 0;
uVar2 = FUN_1020_08a9();
uVar3 = *(uint *)(iVar6 + 0xbaa);
iVar4 = *(int *)(iVar6 + 0xbac);
*(int *)(iVar6 + 0xbaa) = uVar3 - uVar2;
*(int *)(iVar6 + 0xbac) = (iVar4 - iVar5) - (uint)(uVar3 < uVar2);
}
else if (uVar1 == 0x51) {
FUN_1020_14a4(0x14);
iVar5 = 0;
uVar2 = FUN_1020_08a9();
uVar3 = *(uint *)(iVar6 + 0xbaa);
iVar4 = *(int *)(iVar6 + 0xbac);
*(int *)(iVar6 + 0xbaa) = uVar2 + *(uint *)(iVar6 + 0xbaa);
*(int *)(iVar6 + 0xbac) = iVar5 + iVar4 + (uint)CARRY2(uVar2,uVar3);
}
else if (uVar1 == 0x39) {
iVar4 = *(int *)(iVar6 + 0x5c);
uVar10 = FUN_1020_100b();
FUN_1020_14c1(uVar10,in_BX,iVar4);
FUN_1020_0ff7();
FUN_1020_0feb();
FUN_1020_0ff7();
uVar2 = FUN_1020_1017();
uVar3 = *(uint *)(iVar6 + 0xbaa);
iVar5 = *(int *)(iVar6 + 0xbac);
*(int *)(iVar6 + 0xbaa) = uVar2 + *(uint *)(iVar6 + 0xbaa);
*(int *)(iVar6 + 0xbac) = iVar4 + iVar5 + (uint)CARRY2(uVar2,uVar3);
FUN_1020_14a4(0x14);
iVar5 = 0;
uVar2 = FUN_1020_08a9();
uVar3 = *(uint *)(iVar6 + 0xbae);
iVar4 = *(int *)(iVar6 + 0xbb0);
*(int *)(iVar6 + 0xbae) = uVar3 - uVar2;
*(int *)(iVar6 + 0xbb0) = (iVar4 - iVar5) - (uint)(uVar3 < uVar2);
}
if (1 < *(byte *)(iVar6 + 0x61)) {
if (uVar1 == 0x2a) {
iVar4 = *(int *)(iVar6 + 0x5c);
uVar1 = FUN_1020_08a9();
bVar11 = DAT_1028_07f3 < uVar1;
DAT_1028_07f3 = DAT_1028_07f3 - uVar1;
DAT_1028_07f5 = (DAT_1028_07f5 - iVar4) - (uint)bVar11;
iVar4 = *(int *)(iVar6 + 0x5c);
uVar1 = FUN_1020_08a9();
bVar11 = DAT_1028_07f7 < uVar1;
DAT_1028_07f7 = DAT_1028_07f7 - uVar1;
DAT_1028_07f9 = (DAT_1028_07f9 - iVar4) - (uint)bVar11;
}
else if (uVar1 == 0x51) {
iVar4 = *(int *)(iVar6 + 0x5c);
uVar1 = FUN_1020_08a9();
bVar11 = CARRY2(uVar1,DAT_1028_07f3);
DAT_1028_07f3 = uVar1 + DAT_1028_07f3;
DAT_1028_07f5 = iVar4 + DAT_1028_07f5 + (uint)bVar11;
iVar4 = *(int *)(iVar6 + 0x5c);
uVar1 = FUN_1020_08a9();
bVar11 = CARRY2(uVar1,DAT_1028_07f7);
DAT_1028_07f7 = uVar1 + DAT_1028_07f7;
DAT_1028_07f9 = iVar4 + DAT_1028_07f9 + (uint)bVar11;
}
else if (uVar1 == 0x39) {
FUN_1020_14a4(0x15);
uVar1 = FUN_1020_08a9();
FUN_1020_14a4(100);
FUN_1020_08a9();
uVar3 = FUN_1020_08a9();
bVar11 = CARRY2(uVar1,DAT_1028_07f3);
DAT_1028_07f3 = uVar1 + DAT_1028_07f3;
DAT_1028_07f5 = ((int)uVar1 >> 0xf) + DAT_1028_07f5 + (uint)bVar11;
bVar11 = CARRY2(uVar1,DAT_1028_07f7);
DAT_1028_07f7 = uVar1 + DAT_1028_07f7;
DAT_1028_07f9 = ((int)uVar1 >> 0xf) + DAT_1028_07f9 + (uint)bVar11;
bVar11 = CARRY2(uVar3,DAT_1028_07fb);
DAT_1028_07fb = uVar3 + DAT_1028_07fb;
DAT_1028_07fd = ((int)uVar3 >> 0xf) + DAT_1028_07fd + (uint)bVar11;
bVar11 = CARRY2(uVar3,DAT_1028_07ff);
DAT_1028_07ff = uVar3 + DAT_1028_07ff;
DAT_1028_0801 = ((int)uVar3 >> 0xf) + DAT_1028_0801 + (uint)bVar11;
}
}
*(int *)(iVar6 + 0x5e) = *(int *)(iVar6 + 0x5e) + 0x19;
iVar4 = FUN_1020_14a4(10);
if (iVar4 + 0x1eU < *(uint *)(iVar6 + 0x5e)) {
FUN_1008_0002(0x14);
DAT_1028_07c6 = '\x01';
*(undefined1 *)(iVar6 + 0xbda) = 0;
*(undefined1 *)(iVar6 + 0xbdb) = 0;
uVar8 = GETDC(0x1008,*(undefined2 *)(iVar6 + 4));
FUN_1008_0837(0x14,0x94,0xf3,0x54,uVar8);
FUN_1008_093f(0x14,0x94,0xf3,0x54,uVar8);
RELEASEDC(0x1008,uVar8);
}
}
else if (uVar1 == 0x58) {
if (DAT_1028_43f2 == '\0') {
if (DAT_1028_43ee != 0) {
DAT_1028_43f2 = '\x01';
}
}
else {
DAT_1028_43f2 = '\0';
}
}
else if (((*(char *)(iVar6 + 0xbde) != '\0') && ((uVar1 == 0x4e || (uVar1 == 0x1b)))) &&
(DAT_1028_07d0 < 4)) {
DAT_1028_07c9 = 0;
uVar10 = 0x1008;
FUN_1008_0002(1);
DAT_1028_07d0 = DAT_1028_07d0 + 1;
*(undefined1 *)(iVar6 + 0xbdd) = 0;
*(undefined1 *)(iVar6 + 0xbdf) = 0;
DAT_1028_07c5 = 1;
*(undefined1 *)(iVar6 + 0x61) = 1;
DAT_1028_0874 = 0;
local_9 = 1;
while( true ) {
*(undefined2 *)((uint)local_9 * 2 + 0x81f) = 0xffff;
local_a = 1;
while( true ) {
*(undefined1 *)(iVar6 + (uint)local_9 * 0xaf + (uint)local_a + 0x61) =
*(undefined1 *)(iVar6 + (uint)local_a + 0x3cc);
*(undefined2 *)(iVar6 + (uint)local_9 * 0x15e + (uint)local_a * 2 + 0x36c) =
*(undefined2 *)(iVar6 + (uint)local_a * 2 + 0xa42);
if (local_a == 0xaf) break;
local_a = local_a + 1;
}
uVar10 = GETDC(uVar10,*(undefined2 *)(iVar6 + 4));
if (DAT_1028_07d0 < local_9) {
*(undefined2 *)((uint)local_9 * 4 + 0x97e) = 0;
*(undefined2 *)((uint)local_9 * 4 + 0x980) = 0;
FUN_1008_08bb(0x2a,0x11c,(local_9 - 1) * 0x2d + 0x10e,0x15c,uVar10);
FUN_1008_093f(0x2a,0x11c,(local_9 - 1) * 0x2d + 0x10e,0x15c,uVar10);
}
FUN_1008_0dbd(0,uVar10);
uVar12 = *(undefined2 *)(iVar6 + 4);
RELEASEDC(0x1008,uVar10);
if (local_9 == 1) {
uVar10 = GETDC(0x1228,*(undefined2 *)(iVar6 + 4),uVar12);
FUN_1008_0837(0x1e,0x11c,0xe8,0x173,uVar10);
FUN_1008_093f(0x1e,0x11c,0xe8,0x173,uVar10);
FUN_1008_0996(uVar10,0,0);
FUN_1008_0b9e(1,uVar10);
RELEASEDC(0x1008,uVar10);
}
uVar10 = 0x1228;
if (local_9 == 4) break;
local_9 = local_9 + 1;
}
local_a = 1;
while( true ) {
*(undefined1 *)((uint)local_a * 0x53 + 0x98f) =
*(undefined1 *)(iVar6 + (uint)local_a + 0x3cc);
*(undefined2 *)((uint)local_a * 0x53 + 0x99e) =
*(undefined2 *)(iVar6 + (uint)local_a * 2 + 0xa42);
if (local_a == 0xaf) break;
local_a = local_a + 1;
}
DAT_1028_07d1 = 1;
}
}
*(undefined2 *)(iVar7 + 10) = 0;
*(undefined2 *)(iVar7 + 0xc) = 0;
return 0;
}
/* ===== 1000:6b37 FUN_1000_6b37 ===== */
void __stdcall16far FUN_1000_6b37(int param_1,undefined2 param_2)
{
undefined2 uVar1;
undefined2 uVar2;
undefined2 unaff_SS;
undefined2 uVar3;
undefined2 uVar4;
uVar2 = *(undefined2 *)(param_1 + -0xc);
uVar1 = CREATECOMPATIBLEDC();
*(undefined2 *)(param_1 + -0xe) = uVar1;
uVar2 = CREATECOMPATIBLEDC(0x1228,*(undefined2 *)(param_1 + -0xc),uVar2);
*(undefined2 *)(param_1 + -0x10) = uVar2;
uVar2 = SELECTOBJECT(0x1228,DAT_1028_085b);
*(undefined2 *)(param_1 + -0x12) = uVar2;
uVar2 = *(undefined2 *)(param_1 + -0x10);
uVar1 = SELECTOBJECT(0x1228,DAT_1028_0865);
*(undefined2 *)(param_1 + -0x14) = uVar1;
uVar1 = *(undefined2 *)(param_1 + -0xe);
BITBLT(0x1228,0x20,0xcc,0,param_2,*(undefined2 *)(param_1 + -0x10),0x12,0x15,0x1aa,0x13a);
uVar4 = *(undefined2 *)(param_1 + -0x10);
SELECTOBJECT(0x1228,*(undefined2 *)(param_1 + -0x14));
uVar3 = *(undefined2 *)(param_1 + -0xe);
SELECTOBJECT(0x1228,*(undefined2 *)(param_1 + -0x12));
DELETEDC(0x1228,*(undefined2 *)(param_1 + -0x10),uVar3,uVar4,uVar1,uVar2);
DELETEDC(0x1228,*(undefined2 *)(param_1 + -0xe));
FUN_1008_093f(0x12,0x15,0x1aa,0x13a,*(undefined2 *)(param_1 + -0xc));
return;
}
/* ===== 1000:6bf8 FUN_1000_6bf8 ===== */
undefined2 __stdcall16far FUN_1000_6bf8(undefined4 param_1,undefined4 param_2)
{
int iVar1;
uint uVar2;
uint uVar3;
undefined2 uVar4;
uint uVar5;
uint uVar6;
int iVar7;
int iVar8;
int iVar9;
undefined2 uVar10;
undefined2 uVar11;
undefined4 uVar12;
undefined2 local_4;
uVar10 = (undefined2)((ulong)param_1 >> 0x10);
iVar8 = (int)param_1;
uVar6 = *(uint *)(iVar8 + 0x5c);
iVar1 = FUN_1020_08a9();
iVar9 = (int)param_2;
uVar11 = (undefined2)((ulong)param_2 >> 0x10);
if ((*(int *)(iVar8 + 0x41) == 0 && *(int *)(iVar8 + 0x43) == 0) &&
(*(int *)(iVar8 + 0x45) == 0 && *(int *)(iVar8 + 0x47) == 0)) {
uVar2 = *(uint *)(iVar9 + 8) & 0xff;
if (uVar2 == 0x3b) {
uVar12 = FUN_1000_6073(0,0,0x17e,0x306,0x1028,iVar8,uVar10);
uVar12 = (*(code *)*(undefined2 *)(*DAT_1028_064e + 0x34))
(0x1000,(int *)DAT_1028_064e,(int)((ulong)DAT_1028_064e >> 0x10),uVar12);
*(undefined2 *)(iVar8 + 0x45) = (int)uVar12;
*(undefined2 *)(iVar8 + 0x47) = (int)((ulong)uVar12 >> 0x10);
FUN_1018_0e9e((int)*(undefined4 *)(iVar8 + 0x45),
(int)((ulong)*(undefined4 *)(iVar8 + 0x45) >> 0x10),1);
return local_4;
}
if (((*(char *)(iVar8 + 0xbdd) == '\0') && (*(char *)(iVar8 + 0xbdf) == '\0')) &&
(uVar2 == 0x50)) {
uVar5 = uVar6;
uVar3 = FUN_1020_08e6();
uVar2 = *(uint *)(iVar8 + 0xbae);
iVar7 = *(int *)(iVar8 + 0xbb0);
*(int *)(iVar8 + 0xbae) = uVar2 - uVar3;
*(int *)(iVar8 + 0xbb0) = (iVar7 - uVar5) - (uint)(uVar2 < uVar3);
*(undefined2 *)(iVar8 + 0xbaa) = 0;
*(undefined2 *)(iVar8 + 0xbac) = 0;
if (DAT_1028_07d0 != '\0') {
uVar4 = GETDC(0x1020,*(undefined2 *)(iVar8 + 4));
iVar7 = (~uVar6 + 1) - (uint)(iVar1 != 0);
if ((iVar7 < *(int *)(iVar8 + 0xbb0)) ||
((iVar7 <= *(int *)(iVar8 + 0xbb0) && ((uint)-iVar1 < *(uint *)(iVar8 + 0xbae))))) {
FUN_1000_6b37(&stack0xfffe,0x15);
}
else {
uVar2 = uVar6;
uVar5 = FUN_1020_08a9();
if (((int)uVar2 < *(int *)(iVar8 + 0xbb0)) ||
(((int)uVar2 <= *(int *)(iVar8 + 0xbb0) && (uVar5 < *(uint *)(iVar8 + 0xbae))))) {
FUN_1000_6b37(&stack0xfffe,0x2a);
}
else {
uVar2 = uVar6;
uVar5 = FUN_1020_08a9();
if (((int)uVar2 < *(int *)(iVar8 + 0xbb0)) ||
(((int)uVar2 <= *(int *)(iVar8 + 0xbb0) && (uVar5 < *(uint *)(iVar8 + 0xbae))))) {
FUN_1000_6b37(&stack0xfffe,0x3f);
}
else {
uVar2 = uVar6;
uVar5 = FUN_1020_08a9();
if (((int)uVar2 < *(int *)(iVar8 + 0xbb0)) ||
(((int)uVar2 <= *(int *)(iVar8 + 0xbb0) && (uVar5 < *(uint *)(iVar8 + 0xbae))))) {
FUN_1000_6b37(&stack0xfffe,0x54);
}
else {
uVar2 = uVar6;
uVar5 = FUN_1020_08a9();
if (((int)uVar2 < *(int *)(iVar8 + 0xbb0)) ||
(((int)uVar2 <= *(int *)(iVar8 + 0xbb0) && (uVar5 < *(uint *)(iVar8 + 0xbae)))))
{
FUN_1000_6b37(&stack0xfffe,0x69);
}
else {
uVar2 = uVar6;
uVar5 = FUN_1020_08a9();
if (((int)uVar2 < *(int *)(iVar8 + 0xbb0)) ||
(((int)uVar2 <= *(int *)(iVar8 + 0xbb0) && (uVar5 < *(uint *)(iVar8 + 0xbae))))
) {
FUN_1000_6b37(&stack0xfffe,0x7e);
}
else {
uVar2 = uVar6;
uVar5 = FUN_1020_08a9();
if (((int)uVar2 < *(int *)(iVar8 + 0xbb0)) ||
(((int)uVar2 <= *(int *)(iVar8 + 0xbb0) && (uVar5 < *(uint *)(iVar8 + 0xbae))
))) {
FUN_1000_6b37(&stack0xfffe,0x93);
}
else {
uVar2 = uVar6;
uVar5 = FUN_1020_08a9();
if (((int)uVar2 < *(int *)(iVar8 + 0xbb0)) ||
(((int)uVar2 <= *(int *)(iVar8 + 0xbb0) &&
(uVar5 < *(uint *)(iVar8 + 0xbae))))) {
FUN_1000_6b37(&stack0xfffe,0xa8);
}
else {
uVar2 = uVar6;
uVar5 = FUN_1020_08a9();
if (((int)uVar2 < *(int *)(iVar8 + 0xbb0)) ||
(((int)uVar2 <= *(int *)(iVar8 + 0xbb0) &&
(uVar5 < *(uint *)(iVar8 + 0xbae))))) {
FUN_1000_6b37(&stack0xfffe,0xbd);
}
else {
uVar2 = FUN_1020_08a9();
if (((int)uVar6 < *(int *)(iVar8 + 0xbb0)) ||
(((int)uVar6 <= *(int *)(iVar8 + 0xbb0) &&
(uVar2 < *(uint *)(iVar8 + 0xbae))))) {
FUN_1000_6b37(&stack0xfffe,0xd2);
}
else {
FUN_1000_6b37(&stack0xfffe,0xe7);
}
}
}
}
}
}
}
}
}
}
RELEASEDC(0x1000,uVar4);
}
}
else if (DAT_1028_07c6 == '\0') {
if (uVar2 == 0x1d) {
*(undefined1 *)(iVar8 + 0xbda) = 1;
}
if (uVar2 == 0x1c) {
*(undefined1 *)(iVar8 + 0xbdb) = 1;
}
}
}
*(undefined2 *)(iVar9 + 10) = 0;
*(undefined2 *)(iVar9 + 0xc) = 0;
return 0;
}
/* ===== 1000:6f27 FUN_1000_6f27 ===== */
void __stdcall16far FUN_1000_6f27(int param_1)
{
undefined1 uVar1;
int iVar2;
undefined2 uVar3;
undefined2 uVar4;
undefined2 uVar5;
undefined2 uVar6;
undefined2 uVar7;
undefined2 uVar8;
undefined2 uVar9;
undefined2 uVar10;
undefined2 unaff_SS;
undefined2 uVar11;
undefined2 uVar12;
undefined2 uVar13;
undefined2 uVar14;
undefined2 uVar15;
undefined2 uVar16;
undefined2 local_24;
undefined2 local_22;
undefined2 local_20;
undefined2 local_1e;
undefined2 local_1c;
undefined2 local_1a;
undefined2 local_18;
undefined2 local_16;
undefined2 local_14;
undefined2 local_12;
undefined2 local_10;
uVar10 = *(undefined2 *)((int)*(undefined4 *)(param_1 + 6) + 4);
uVar3 = GETDC();
uVar4 = CREATECOMPATIBLEDC(0x1228,uVar3,uVar10);
uVar5 = CREATECOMPATIBLEDC(0x1228,uVar3);
uVar14 = uVar3;
uVar6 = CREATECOMPATIBLEBITMAP(0x1228,0x5a,0x5b);
uVar9 = uVar4;
uVar7 = SELECTOBJECT(0x1228,DAT_1028_0859);
uVar10 = uVar5;
uVar8 = SELECTOBJECT(0x1228,uVar6);
if ((DAT_1028_0857 < 0) || ((DAT_1028_0857 < 1 && (DAT_1028_0855 < 6)))) {
uVar16 = 0;
uVar15 = 0;
uVar13 = 0x5b;
uVar12 = 0x5a;
uVar11 = uVar4;
uVar9 = FUN_1020_08a9(uVar4,0x5a,0x5b,0,0,uVar5,uVar10,uVar9,uVar14);
uVar10 = 0x1228;
BITBLT(0x1020,0x20,0xcc,0,uVar9,uVar11,uVar12,uVar13,uVar15,uVar16);
}
else {
SELECTOBJECT(0x1228,DAT_1028_085d);
BITBLT(0x1228,0x20,0xcc,0x21,0x4f,uVar4,0x5a,0x5b,0,0);
SELECTOBJECT(0x1228,DAT_1028_0859);
iVar2 = DAT_1028_3371;
DAT_1028_3371 = DAT_1028_33c4;
DAT_1028_33c4 = DAT_1028_3417;
DAT_1028_3417 = DAT_1028_346a;
DAT_1028_346a = DAT_1028_34bd;
DAT_1028_34bd = iVar2;
uVar1 = *(undefined1 *)((int)*(undefined4 *)(param_1 + 6) + (uint)DAT_1028_07d1 * 0x14 + 0x476);
*(undefined1 *)((int)*(undefined4 *)(param_1 + 6) + (uint)DAT_1028_07d1 * 0x14 + 0x476) =
*(undefined1 *)((int)*(undefined4 *)(param_1 + 6) + (uint)DAT_1028_07d1 * 0x14 + 0x477);
*(undefined1 *)((int)*(undefined4 *)(param_1 + 6) + (uint)DAT_1028_07d1 * 0x14 + 0x477) =
*(undefined1 *)((int)*(undefined4 *)(param_1 + 6) + (uint)DAT_1028_07d1 * 0x14 + 0x478);
*(undefined1 *)((int)*(undefined4 *)(param_1 + 6) + (uint)DAT_1028_07d1 * 0x14 + 0x478) =
*(undefined1 *)((int)*(undefined4 *)(param_1 + 6) + (uint)DAT_1028_07d1 * 0x14 + 0x479);
*(undefined1 *)((int)*(undefined4 *)(param_1 + 6) + (uint)DAT_1028_07d1 * 0x14 + 0x479) =
*(undefined1 *)((int)*(undefined4 *)(param_1 + 6) + (uint)DAT_1028_07d1 * 0x14 + 0x47a);
*(undefined1 *)((int)*(undefined4 *)(param_1 + 6) + (uint)DAT_1028_07d1 * 0x14 + 0x47a) = uVar1;
local_10 = 0xf;
while( true ) {
uVar10 = 0x1000;
FUN_1000_7e92(param_1,local_10);
if (local_10 == 0x13) break;
local_10 = local_10 + 1;
}
}
if (DAT_1028_0855 == 1) {
uVar10 = 0x1008;
FUN_1008_0002(0xb);
local_12 = 9;
local_1c = 0x29;
local_14 = 0x17;
local_1e = 0xb;
local_16 = 0x38;
local_20 = 0xe;
local_18 = 0x3f;
local_22 = 0x2f;
local_1a = 0x23;
local_24 = 0x3f;
}
else if (DAT_1028_0855 == 2) {
local_12 = 0xb;
local_1c = 0x2d;
local_14 = 0x12;
local_1e = 0xd;
local_16 = 0x34;
local_20 = 0xb;
local_18 = 0x3f;
local_22 = 0x2a;
local_1a = 0x27;
local_24 = 0x40;
}
else if (DAT_1028_0855 == 3) {
local_12 = 0xd;
local_1c = 0x32;
local_14 = 0xf;
local_1e = 0x11;
local_16 = 0x2e;
local_20 = 9;
local_18 = 0x40;
local_22 = 0x25;
local_1a = 0x2c;
local_24 = 0x3e;
}
else if (DAT_1028_0855 == 4) {
local_12 = 0x11;
local_1c = 0x37;
local_14 = 0xb;
local_1e = 0x17;
local_16 = 0x27;
local_20 = 7;
local_18 = 0x40;
local_22 = 0x1e;
local_1a = 0x32;
local_24 = 0x3b;
}
else if (DAT_1028_0855 == 5) {
local_12 = 0x15;
local_1c = 0x3c;
local_14 = 9;
local_1e = 0x1c;
local_16 = 0x23;
local_20 = 7;
local_18 = 0x3e;
local_22 = 0x19;
local_1a = 0x36;
local_24 = 0x38;
}
else if (DAT_1028_0855 == 6) {
local_12 = 8;
local_1c = 0x23;
local_14 = 0x1a;
local_1e = 8;
local_16 = 0x3b;
local_20 = 0x12;
local_18 = 0x3b;
local_22 = 0x32;
local_1a = 0x1b;
local_24 = 0x3d;
}
if (DAT_1028_3371 != 0) {
BITBLT(uVar10,0xc6,0x88,0x11,0x1c7,uVar4,0x11,0x11,local_1c,local_12);
uVar10 = 0x1228;
BITBLT(0x1228,0x86,0xee,0,0x1c7,uVar4,0x11,0x11,local_1c,local_12);
}
if (DAT_1028_33c4 != 0) {
BITBLT(uVar10,0xc6,0x88,0x11,0x1c7,uVar4,0x11,0x11,local_1e,local_14);
uVar10 = 0x1228;
BITBLT(0x1228,0x86,0xee,0,0x1c7,uVar4,0x11,0x11,local_1e,local_14);
}
if (DAT_1028_3417 != 0) {
BITBLT(uVar10,0xc6,0x88,0x11,0x1c7,uVar4,0x11,0x11,local_20,local_16);
uVar10 = 0x1228;
BITBLT(0x1228,0x86,0xee,0,0x1c7,uVar4,0x11,0x11,local_20,local_16);
}
if (DAT_1028_346a != 0) {
BITBLT(uVar10,0xc6,0x88,0x11,0x1c7,uVar4,0x11,0x11,local_22,local_18);
uVar10 = 0x1228;
BITBLT(0x1228,0x86,0xee,0,0x1c7,uVar4,0x11,0x11,local_22,local_18);
}
if (DAT_1028_34bd != 0) {
BITBLT(uVar10,0xc6,0x88,0x11,0x1c7,uVar4,0x11,0x11,local_24,local_1a);
uVar10 = 0x1228;
BITBLT(0x1228,0x86,0xee,0,0x1c7,uVar4,0x11,0x11,local_24,local_1a);
}
uVar14 = uVar3;
BITBLT(uVar10,0x20,0xcc,0,0,uVar5,0x5a,0x5b,0x21,0x4f);
uVar9 = uVar4;
SELECTOBJECT(0x1228,uVar7);
uVar10 = uVar5;
SELECTOBJECT(0x1228,uVar8);
DELETEOBJECT(0x1228,uVar6,uVar10,uVar9,uVar14);
DELETEDC(0x1228,uVar5);
DELETEDC(0x1228,uVar4);
RELEASEDC(0x1228,uVar3);
return;
}
/* ===== 1000:7440 FUN_1000_7440 ===== */
void __stdcall16far FUN_1000_7440(int param_1)
{
undefined2 uVar1;
undefined2 uVar2;
undefined2 uVar3;
undefined2 uVar4;
undefined2 uVar5;
undefined2 uVar6;
undefined2 uVar7;
int iVar8;
undefined2 uVar9;
undefined2 unaff_SS;
undefined2 uVar10;
undefined2 uVar11;
undefined2 uVar12;
undefined2 uVar13;
undefined2 uVar14;
undefined2 uVar15;
undefined2 uVar16;
undefined2 uVar17;
undefined2 uVar18;
undefined2 uVar19;
uVar7 = *(undefined2 *)((int)*(undefined4 *)(param_1 + 6) + 4);
uVar1 = GETDC();
uVar2 = CREATECOMPATIBLEDC(0x1228,uVar1,uVar7);
uVar7 = uVar2;
uVar3 = SELECTOBJECT(0x1228,DAT_1028_085f);
uVar4 = CREATECOMPATIBLEDC(0x1228,uVar1,uVar7);
uVar5 = CREATECOMPATIBLEBITMAP(0x1228,0x7b,0x5b);
uVar19 = uVar4;
uVar6 = SELECTOBJECT(0x1228,uVar5);
uVar14 = 0x4f;
uVar12 = 0;
uVar7 = uVar2;
uVar16 = uVar4;
BITBLT(0x1228,0x20,0xcc,0,0x4f,uVar2,0x7b,0x5b,0,0);
uVar18 = 0x1228;
uVar9 = 0x1228;
uVar17 = 0x74c1;
uVar13 = DAT_1028_0859;
uVar15 = uVar2;
SELECTOBJECT(0x1228,DAT_1028_0859);
if (((int)DAT_1028_0851 < 1) || (0x2c < (int)DAT_1028_0851)) {
if (((int)DAT_1028_0851 < 0x2d) || (0x39 < (int)DAT_1028_0851)) {
if (((int)DAT_1028_0851 < 0x3a) || (0x41 < (int)DAT_1028_0851)) {
if (((int)DAT_1028_0851 < 0x42) || (0x80 < (int)DAT_1028_0851)) {
if (((int)DAT_1028_0851 < 0x81) || (0x9e < (int)DAT_1028_0851)) {
if (((int)DAT_1028_0851 < 0x9f) || (0xdd < (int)DAT_1028_0851)) {
if (((int)DAT_1028_0851 < 0xde) || (0xe5 < (int)DAT_1028_0851)) {
if (((int)DAT_1028_0851 < 0xe6) || (0xed < (int)DAT_1028_0851)) {
if ((0xed < (int)DAT_1028_0851) && ((int)DAT_1028_0851 < 0x11a)) {
if ((DAT_1028_0853 == 0) && (DAT_1028_0851 == 0xee)) {
uVar9 = 0x1008;
FUN_1008_0002(0xd);
}
uVar17 = uVar4;
BITBLT(uVar9,0xc6,0x88,0x5a,0x16a,uVar2,0x5a,0x5b,0x21,0);
uVar7 = uVar4;
BITBLT(0x1228,0x86,0xee,0x5a,0x1c5,uVar2,0x5a,0x5b,0x21,0);
uVar16 = 0x14;
uVar15 = 0;
uVar13 = 0x2d;
uVar17 = FUN_1020_08a9(0x2d,0,0x14,uVar4,uVar7,uVar17);
uVar18 = 0x2d;
uVar7 = uVar2;
iVar8 = FUN_1020_08a9(0x2d,uVar2,uVar17);
BITBLT(0x1020,0xc6,0x88,iVar8 + 0x5a,uVar18,uVar7,uVar17,uVar13,uVar15,uVar16);
uVar16 = 0x14;
uVar15 = 0;
uVar13 = 0x2d;
uVar17 = FUN_1020_08a9(0x2d,0,0x14,uVar4);
uVar18 = 0;
uVar7 = uVar2;
iVar8 = FUN_1020_08a9(0,uVar2,uVar17);
BITBLT(0x1020,0x86,0xee,iVar8 + 0x5a,uVar18,uVar7,uVar17,uVar13,uVar15,uVar16);
if ((DAT_1028_0853 == 0) && (DAT_1028_0851 == 0x119)) {
SELECTOBJECT(0x1228,DAT_1028_085b);
SELECTOBJECT(0x1228,DAT_1028_085d);
BITBLT(0x1228,0x20,0xcc,0,0x4f,uVar2,0x5a,0x5b,0,0x4f);
SELECTOBJECT(0x1228,uVar5);
}
}
}
else {
if ((DAT_1028_0853 == 0) && (DAT_1028_0851 == 0xe6)) {
uVar9 = 0x1008;
FUN_1008_0002(0xc);
}
BITBLT(uVar9,0xc6,0x88,0x5a,0x16a,uVar2,0x5a,0x5b,0x21,0);
BITBLT(0x1228,0x86,0xee,0x5a,0x1c5,uVar2,0x5a,0x5b,0x21,0);
BITBLT(0x1228,0xc6,0x88,0x5a,0x2d,uVar2,0x58,0x2d,0,0x14);
BITBLT(0x1228,0x86,0xee,0x5a,0,uVar2,0x58,0x2d,0,0x14);
}
}
else {
if ((DAT_1028_0853 == 0) && (DAT_1028_0851 == 0xde)) {
uVar9 = 0x1008;
FUN_1008_118f();
}
BITBLT(uVar9,0xc6,0x88,0x5a,0x16a,uVar2,0x5a,0x5b,0x21,0);
BITBLT(0x1228,0x86,0xee,0x5a,0x1c5,uVar2,0x5a,0x5b,0x21,0);
BITBLT(0x1228,0xc6,0x88,0x5a,0x87,uVar2,0x58,0x2d,0,0x14);
BITBLT(0x1228,0x86,0xee,0x5a,0x5a,uVar2,0x58,0x2d,0,0x14);
}
}
else {
if ((DAT_1028_0853 == 0) && (DAT_1028_0851 == 0x9f)) {
uVar9 = 0x1008;
FUN_1008_0002(0xd);
}
uVar7 = uVar4;
BITBLT(uVar9,0x20,0xcc,0x5a,0xb4,uVar2,0x5a,0x5b,0x21,0);
if ((DAT_1028_0853 < 0) || ((DAT_1028_0853 < 1 && (DAT_1028_0851 < 0xcc)))) {
uVar16 = 0;
uVar15 = 0;
uVar13 = 0x5b;
uVar17 = FUN_1020_08a9(0x5b,0,0,uVar4,uVar7);
uVar18 = 0x16a;
uVar7 = uVar2;
iVar8 = FUN_1020_08a9(0x16a,uVar2,uVar17);
BITBLT(0x1020,0xc6,0x88,iVar8 + 0x5a,uVar18,uVar7,uVar17,uVar13,uVar15,uVar16);
uVar16 = 0;
uVar15 = 0;
uVar13 = 0x5b;
uVar17 = FUN_1020_08a9(0x5b,0,0,uVar4);
uVar18 = 0x1c5;
uVar7 = uVar2;
iVar8 = FUN_1020_08a9(0x1c5,uVar2,uVar17);
BITBLT(0x1020,0x86,0xee,iVar8 + 0x5a,uVar18,uVar7,uVar17,uVar13,uVar15,uVar16);
}
else {
uVar17 = 0;
uVar7 = FUN_1020_08a9(0,uVar4);
BITBLT(0x1020,0xc6,0x88,0x5a,0x16a,uVar2,0x5a,0x5b,uVar7,uVar17);
uVar17 = 0;
uVar7 = FUN_1020_08a9(0,uVar4);
BITBLT(0x1020,0x86,0xee,0x5a,0x1c5,uVar2,0x5a,0x5b,uVar7,uVar17);
}
if ((0 < DAT_1028_0853) || ((-1 < DAT_1028_0853 && (0xb0 < DAT_1028_0851)))) {
if ((DAT_1028_0853 == 0) && (DAT_1028_0851 == 0xdd)) {
BITBLT(0x1228,0xc6,0x88,0x5a,0x87,uVar2,0x58,0x2d,0,0x14);
BITBLT(0x1228,0x86,0xee,0x5a,0x5a,uVar2,0x58,0x2d,0,0x14);
}
else {
uVar16 = 0x14;
uVar15 = 0;
uVar13 = 0x2d;
uVar17 = FUN_1020_08a9(0x2d,0,0x14,uVar4);
uVar18 = 0x87;
uVar7 = uVar2;
iVar8 = FUN_1020_08a9(0x87,uVar2,uVar17);
BITBLT(0x1020,0xc6,0x88,iVar8 + 0x59,uVar18,uVar7,uVar17,uVar13,uVar15,uVar16);
uVar16 = 0x14;
uVar15 = 0;
uVar13 = 0x2d;
uVar17 = FUN_1020_08a9(0x2d,0,0x14,uVar4);
uVar18 = 0x5a;
uVar7 = uVar2;
iVar8 = FUN_1020_08a9(0x5a,uVar2,uVar17);
BITBLT(0x1020,0x86,0xee,iVar8 + 0x59,uVar18,uVar7,uVar17,uVar13,uVar15,uVar16);
}
}
}
}
else {
if ((DAT_1028_0853 == 0) && (DAT_1028_0851 == 0x81)) {
uVar9 = 0x1008;
FUN_1008_118f();
}
BITBLT(uVar9,0x20,0xcc,0x5a,0xb4,uVar2,0x5a,0x5b,0x21,0);
}
}
else {
if ((DAT_1028_0853 == 0) && (DAT_1028_0851 == 0x42)) {
uVar9 = 0x1008;
FUN_1008_0002(0xd);
}
uVar7 = uVar4;
BITBLT(uVar9,0x20,0xcc,0x5a,0xb4,uVar2,0x5a,0x5b,0x21,0);
if ((DAT_1028_0853 < 0) || ((DAT_1028_0853 < 1 && (DAT_1028_0851 < 0x53)))) {
uVar17 = 0;
uVar7 = FUN_1020_08a9(0,uVar4);
BITBLT(0x1020,0xc6,0x88,0x5a,0x16a,uVar2,0x5a,0x5b,uVar7,uVar17);
uVar17 = 0;
uVar7 = FUN_1020_08a9(0,uVar4);
BITBLT(0x1020,0x86,0xee,0x5a,0x10f,uVar2,0x5a,0x5b,uVar7,uVar17);
}
else {
uVar16 = 0;
uVar15 = 0;
uVar13 = 0x5b;
uVar17 = FUN_1020_08a9(0x5b,0,0,uVar4,uVar7);
uVar18 = 0x16a;
uVar7 = uVar2;
iVar8 = FUN_1020_08a9(0x16a,uVar2,uVar17);
BITBLT(0x1020,0xc6,0x88,iVar8 + 0x5a,uVar18,uVar7,uVar17,uVar13,uVar15,uVar16);
uVar16 = 0;
uVar15 = 0;
uVar13 = 0x5b;
uVar17 = FUN_1020_08a9(0x5b,0,0,uVar4);
uVar18 = 0x10f;
uVar7 = uVar2;
iVar8 = FUN_1020_08a9(0x10f,uVar2,uVar17);
BITBLT(0x1020,0x86,0xee,iVar8 + 0x5a,uVar18,uVar7,uVar17,uVar13,uVar15,uVar16);
}
if ((DAT_1028_0853 < 0) || ((DAT_1028_0853 < 1 && (DAT_1028_0851 < 0x6f)))) {
uVar16 = 0x14;
uVar15 = 0;
uVar13 = 0x2d;
uVar17 = FUN_1020_08a9(0x2d,0,0x14,uVar4);
uVar18 = 0x87;
uVar7 = uVar2;
iVar8 = FUN_1020_08a9(0x87,uVar2,uVar17);
BITBLT(0x1020,0xc6,0x88,iVar8 + 0x5a,uVar18,uVar7,uVar17,uVar13,uVar15,uVar16);
uVar16 = 0x14;
uVar15 = 0;
uVar13 = 0x2d;
uVar17 = FUN_1020_08a9(0x2d,0,0x14,uVar4);
uVar18 = 0x5a;
uVar7 = uVar2;
iVar8 = FUN_1020_08a9(0x5a,uVar2,uVar17);
BITBLT(0x1020,0x86,0xee,iVar8 + 0x5a,uVar18,uVar7,uVar17,uVar13,uVar15,uVar16);
}
}
}
else {
if ((DAT_1028_0853 == 0) && (DAT_1028_0851 == 0x3a)) {
uVar9 = 0x1008;
FUN_1008_0002(0xc);
}
BITBLT(uVar9,0xc6,0x88,0x5a,0x87,uVar2,0x58,0x2d,0,0x14);
BITBLT(0x1228,0x86,0xee,0x5a,0x5a,uVar2,0x58,0x2d,0,0x14);
}
}
else {
if ((DAT_1028_0853 == 0) && (DAT_1028_0851 == 0x2d)) {
uVar9 = 0x1008;
FUN_1008_118f();
}
BITBLT(uVar9,0xc6,0x88,0x5a,0x2d,uVar2,0x58,0x2d,0,0x14);
BITBLT(0x1228,0x86,0xee,0x5a,0,uVar2,0x58,0x2d,0,0x14);
}
}
else {
if ((DAT_1028_0853 == 0) && (DAT_1028_0851 == 1)) {
FUN_1008_0002(0xd);
uVar13 = uVar4;
SELECTOBJECT(0x1008,DAT_1028_085b);
uVar18 = uVar4;
BITBLT(0x1228,0x20,0xcc,0x5a,0x10f,uVar2,0x5a,0x5b,0,0x4f);
uVar14 = 0x1228;
uVar12 = 0x751d;
uVar7 = uVar5;
uVar17 = uVar4;
SELECTOBJECT(0x1228,uVar5);
}
uVar11 = 0x14;
uVar10 = 0;
uVar9 = 0x2d;
uVar17 = FUN_1020_08a9(0x2d,0,0x14,uVar4,uVar12,uVar14,uVar7,uVar17,uVar18,uVar13,uVar15,uVar16,
uVar19);
uVar18 = 0x2d;
uVar7 = uVar2;
iVar8 = FUN_1020_08a9(0x2d,uVar2,uVar17);
BITBLT(0x1020,0xc6,0x88,iVar8 + 0x59,uVar18,uVar7,uVar17,uVar9,uVar10,uVar11);
uVar16 = 0x14;
uVar15 = 0;
uVar13 = 0x2d;
uVar17 = FUN_1020_08a9(0x2d,0,0x14,uVar4);
uVar18 = 0;
uVar7 = uVar2;
iVar8 = FUN_1020_08a9(0,uVar2,uVar17);
BITBLT(0x1020,0x86,0xee,iVar8 + 0x59,uVar18,uVar7,uVar17,uVar13,uVar15,uVar16);
}
uVar18 = uVar1;
BITBLT(0x1228,0x20,0xcc,0,0,uVar4,0x7b,0x5b,0,0x4f);
uVar17 = uVar4;
SELECTOBJECT(0x1228,uVar6);
uVar7 = uVar2;
SELECTOBJECT(0x1228,uVar3);
DELETEOBJECT(0x1228,uVar5,uVar7,uVar17,uVar18);
DELETEDC(0x1228,uVar4);
DELETEDC(0x1228,uVar2);
RELEASEDC(0x1228,uVar1);
return;
}
/* ===== 1000:7e12 FUN_1000_7e12 ===== */
void __stdcall16far FUN_1000_7e12(undefined2 param_1,uint param_2)
{
if ((param_2 != 0) && (param_2 < 0xb0)) {
if ((*(uint *)(param_2 * 0x53 + 0x99c) & 0x80) == 0x80) {
if (*(char *)(param_2 * 0x53 + 0x98f) == '\0') {
FUN_1000_b30b(param_1,param_2);
}
else {
FUN_1000_b3f3(param_1,param_2);
}
}
else if ((*(uint *)(param_2 * 0x53 + 0x99c) & 0x100) == 0x100) {
if (*(char *)(param_2 * 0x53 + 0x98f) == '\0') {
FUN_1000_b3f3(param_1,param_2);
}
else {
FUN_1000_b30b(param_1,param_2);
}
}
}
return;
}
/* ===== 1000:7e92 FUN_1000_7e92 ===== */
void __stdcall16far FUN_1000_7e92(int param_1,int param_2)
{
undefined2 unaff_SS;
if (*(char *)((int)*(undefined4 *)(param_1 + 6) + (uint)DAT_1028_07d1 * 0x14 + param_2 + 0x467) ==
'\0') {
FUN_1000_b3f3(param_1,param_2 + 1000);
}
else {
FUN_1000_b30b(param_1,param_2 + 1000);
}
return;
}
/* ===== 1000:7ed9 FUN_1000_7ed9 ===== */
/* WARNING: Removing unreachable block (ram,0x10008133) */
void __stdcall16far FUN_1000_7ed9(int param_1,int param_2,uint param_3,int param_4,int param_5)
{
uint uVar1;
uint uVar2;
uint uVar3;
uint uVar4;
uint uVar5;
undefined2 uVar6;
undefined2 uVar7;
undefined2 uVar8;
int iVar9;
int iVar10;
int iVar11;
int iVar12;
uint uVar13;
int extraout_DX;
undefined2 uVar14;
int iVar15;
undefined2 unaff_SS;
bool bVar16;
undefined1 uVar17;
undefined1 uVar18;
undefined4 uVar19;
uint local_86;
uint local_84;
uint local_76;
int local_74;
uint local_36;
int local_34;
uint local_32;
int local_30;
uint local_2e;
int local_2c;
uint local_2a;
int local_28;
uint local_1e;
int local_1c;
uint local_1a;
int local_18;
uint local_a;
uint local_8;
uint local_6;
uint local_4;
FUN_1008_0002(0x15);
if (param_4 == 1) {
FUN_1020_1017();
local_1a = DAT_1028_1e80 + 0xd8f0;
local_18 = DAT_1028_1e82 - (uint)(DAT_1028_1e80 < 10000);
local_1e = DAT_1028_1e84;
local_1c = DAT_1028_1e86;
local_2a = DAT_1028_1edb + 20000;
local_28 = DAT_1028_1edd + (uint)(0xb1df < DAT_1028_1edb);
local_2e = DAT_1028_1edf;
local_2c = DAT_1028_1ee1;
local_32 = DAT_1028_1f79 + 20000;
local_30 = DAT_1028_1f7b + (uint)(0xb1df < DAT_1028_1f79);
local_36 = DAT_1028_1f7d;
local_34 = DAT_1028_1f7f;
}
else if (param_4 == 2) {
FUN_1020_1017();
local_1a = DAT_1028_235d + 10000;
local_18 = DAT_1028_235f + (uint)(0xd8ef < DAT_1028_235d);
local_1e = DAT_1028_2361;
local_1c = DAT_1028_2363;
local_2a = DAT_1028_2456 + 0xb1e0;
local_28 = DAT_1028_2458 - (uint)(DAT_1028_2456 < 20000);
local_2e = DAT_1028_245a;
local_2c = DAT_1028_245c;
local_32 = DAT_1028_23b8 + 0xb1e0;
local_30 = DAT_1028_23ba - (uint)(DAT_1028_23b8 < 20000);
local_36 = DAT_1028_23bc;
local_34 = DAT_1028_23be;
}
uVar3 = param_3;
FUN_1020_08a9();
FUN_1020_100b();
uVar1 = FUN_1020_1017();
uVar2 = uVar1 + local_1e;
iVar9 = uVar3 + local_1c + (uint)CARRY2(uVar1,local_1e);
uVar3 = (uint)*(byte *)((int)*(undefined4 *)(param_1 + 6) + 0x61);
if (uVar3 != 0) {
local_76 = 1;
local_74 = 0;
while( true ) {
if (1 < *(byte *)((int)*(undefined4 *)(param_1 + 6) + 0x61)) {
FUN_1000_c36b(param_1,local_76 - 1,local_74 - (uint)(local_76 == 0));
}
if ((param_3 == 0xffff) && (param_2 == -1)) {
iVar10 = (local_28 - DAT_1028_07d5) - (uint)(local_2a < DAT_1028_07d3);
FUN_1020_08e6();
FUN_1020_08e6();
iVar11 = ((local_2c - (uint)(local_2e < 43000)) - DAT_1028_07d9) -
(uint)(local_2e + 0x5808 < DAT_1028_07d7);
FUN_1020_08e6();
FUN_1020_08e6();
uVar1 = FUN_1020_08a9();
iVar12 = iVar10;
uVar4 = FUN_1020_08a9();
local_6 = uVar4 - uVar1;
local_4 = (iVar12 - iVar11) - (uint)(uVar4 < uVar1);
FUN_1020_08e6();
iVar12 = ((local_2c + (uint)(0xd11f < local_2e)) - DAT_1028_07d9) -
(uint)(local_2e + 12000 < DAT_1028_07d7);
FUN_1020_08e6();
uVar1 = FUN_1020_08a9();
uVar4 = FUN_1020_08a9();
local_a = uVar4 - uVar1;
local_8 = (iVar10 - iVar12) - (uint)(uVar4 < uVar1);
}
else {
iVar10 = (local_30 - DAT_1028_07d5) - (uint)(local_32 < DAT_1028_07d3);
FUN_1020_08e6();
FUN_1020_08e6();
iVar11 = ((local_34 - (uint)(local_36 < 12000)) - DAT_1028_07d9) -
(uint)(local_36 + 0xd120 < DAT_1028_07d7);
FUN_1020_08e6();
FUN_1020_08e6();
uVar1 = FUN_1020_08a9();
iVar12 = iVar10;
uVar4 = FUN_1020_08a9();
local_6 = uVar4 - uVar1;
local_4 = (iVar12 - iVar11) - (uint)(uVar4 < uVar1);
FUN_1020_08e6();
iVar12 = ((local_34 + (uint)(0x5807 < local_36)) - DAT_1028_07d9) -
(uint)(local_36 + 43000 < DAT_1028_07d7);
FUN_1020_08e6();
uVar1 = FUN_1020_08a9();
uVar4 = FUN_1020_08a9();
local_a = uVar4 - uVar1;
local_8 = (iVar10 - iVar12) - (uint)(uVar4 < uVar1);
}
uVar1 = DAT_1028_07d3 - local_1a;
uVar4 = (DAT_1028_07d5 - local_18) - (uint)(DAT_1028_07d3 < local_1a);
if ((int)uVar4 < 0) {
bVar16 = uVar1 != 0;
uVar1 = -uVar1;
uVar4 = (~uVar4 + 1) - (uint)bVar16;
}
uVar5 = DAT_1028_07d7 - uVar2;
uVar13 = (DAT_1028_07d9 - iVar9) - (uint)(DAT_1028_07d7 < uVar2);
if ((int)uVar13 < 0) {
bVar16 = uVar5 != 0;
uVar5 = -uVar5;
uVar13 = (~uVar13 + 1) - (uint)bVar16;
}
if ((((int)uVar4 < 0) || (((int)uVar4 < 1 && (uVar1 < 54000)))) &&
(((int)uVar13 < 0 || (((int)uVar13 < 1 && (uVar5 < 54000)))))) {
FUN_1020_100b();
FUN_1020_0ffd();
uVar19 = FUN_1020_0ff1(0x1020);
FUN_1020_100b((int)uVar19,iVar12,(int)((ulong)uVar19 >> 0x10));
FUN_1020_0ffd();
FUN_1020_0ff1(0x1020);
iVar12 = extraout_DX;
FUN_1020_0fe5();
FUN_1020_10be();
FUN_1020_0ff7();
uVar1 = FUN_1020_1017();
if (((iVar12 < 0) || ((iVar12 < 1 && (uVar1 < 0xd2f1)))) &&
(((((param_5 == 0 &&
((param_4 == 1 && ((local_4 < 0x8000 || ((-2 < (int)local_4 && (0xfc18 < local_6)))))
))) && (((int)local_8 < 0 || (((int)local_8 < 1 && (local_a < 1000)))))) &&
((local_18 < DAT_1028_07d5 ||
((local_18 <= DAT_1028_07d5 && (local_1a < DAT_1028_07d3)))))) ||
(((((param_5 == 0 && (param_4 == 2)) &&
(((int)local_4 < 0 || (((int)local_4 < 1 && (local_6 < 1000)))))) &&
((local_8 < 0x8000 || ((-2 < (int)local_8 && (0xfc18 < local_a)))))) &&
((DAT_1028_07d5 < local_18 ||
((DAT_1028_07d5 <= local_18 && (DAT_1028_07d3 < local_1a)))))))))) {
FUN_1020_08a9();
FUN_1020_100b();
FUN_1020_1017();
FUN_1020_100b();
uVar1 = param_3;
FUN_1020_08a9();
FUN_1020_100b();
FUN_1020_1017();
FUN_1020_100b();
if ((param_3 == 0xffff) && (param_2 == -1)) {
uVar4 = (local_28 - local_18) - (uint)(local_2a < local_1a);
uVar17 = false;
uVar18 = uVar4 == 0;
if ((int)uVar4 < 0) {
uVar5 = ~uVar4 + 1;
uVar17 = ~uVar4 != 0xffff || uVar5 < (local_2a != local_1a);
uVar18 = uVar5 == (local_2a != local_1a);
}
FUN_1020_100b();
FUN_1020_1007();
if ((bool)uVar17 || (bool)uVar18) {
local_86 = local_2e + 0x5808;
local_84 = local_2c - (uint)(local_2e < 43000);
}
else {
uVar4 = DAT_1028_07d3 - local_1a;
uVar1 = (DAT_1028_07d5 - local_18) - (uint)(DAT_1028_07d3 < local_1a);
if ((int)uVar1 < 0) {
bVar16 = uVar4 != 0;
uVar4 = -uVar4;
uVar1 = (~uVar1 + 1) - (uint)bVar16;
}
local_86 = (uVar2 - uVar4) + 5000;
local_84 = ((iVar9 - uVar1) - (uint)(uVar2 < uVar4)) + (uint)(0xec77 < uVar2 - uVar4);
}
local_84 = (local_84 - DAT_1028_07d9) - (uint)(local_86 < DAT_1028_07d7);
}
else {
uVar4 = (local_30 - local_18) - (uint)(local_32 < local_1a);
uVar17 = false;
uVar18 = uVar4 == 0;
if ((int)uVar4 < 0) {
uVar5 = ~uVar4 + 1;
uVar17 = ~uVar4 != 0xffff || uVar5 < (local_32 != local_1a);
uVar18 = uVar5 == (local_32 != local_1a);
}
FUN_1020_100b();
FUN_1020_1007();
if ((bool)uVar17 || (bool)uVar18) {
local_86 = local_36 + 43000;
local_84 = local_34 + (uint)(0x5807 < local_36);
}
else {
iVar12 = (local_30 - local_18) - (uint)(local_32 < local_1a);
uVar6 = FUN_1020_100b();
uVar4 = (DAT_1028_07d5 - local_18) - (uint)(DAT_1028_07d3 < local_1a);
FUN_1020_08a9(uVar6,uVar1,iVar12);
FUN_1020_100b();
FUN_1020_0ffd();
uVar1 = FUN_1020_1017();
local_86 = uVar2 - uVar1;
local_84 = (iVar9 - uVar4) - (uint)(uVar2 < uVar1);
uVar1 = uVar4;
}
local_84 = (local_84 - DAT_1028_07d9) - (uint)(local_86 < DAT_1028_07d7);
}
if ((int)local_84 < 0) {
uVar1 = param_3;
FUN_1020_08a9();
FUN_1020_100b();
iVar12 = FUN_1020_1017();
local_86 = -iVar12;
local_84 = (~local_84 + 1) - (uint)(iVar12 != 0);
}
else {
local_86 = 0;
local_84 = 0;
}
uVar14 = 0;
uVar8 = uVar14;
uVar7 = FUN_1020_100b();
uVar6 = *(undefined2 *)((int)*(undefined4 *)(param_1 + 6) + 0xbb0);
FUN_1020_100b(uVar7,uVar1,uVar8);
uVar8 = FUN_1020_0ff7();
FUN_1020_100b(uVar8,uVar1,uVar6);
FUN_1020_0ff7();
FUN_1020_0fe5();
FUN_1020_0ff7();
FUN_1020_0ffd();
FUN_1020_1017();
uVar8 = uVar14;
uVar7 = FUN_1020_100b();
uVar6 = *(undefined2 *)((int)*(undefined4 *)(param_1 + 6) + 0xbb0);
FUN_1020_100b(uVar7,uVar1,uVar8);
uVar7 = FUN_1020_0ff7();
uVar8 = *(undefined2 *)((int)*(undefined4 *)(param_1 + 6) + 0xbac);
FUN_1020_100b(uVar7,uVar1,uVar6);
FUN_1020_0ff7();
FUN_1020_0feb();
FUN_1020_0ffd();
FUN_1020_1017();
uVar6 = uVar14;
uVar7 = FUN_1020_100b();
FUN_1020_100b(uVar7,uVar1,uVar6);
FUN_1020_0ffd();
FUN_1020_10be();
FUN_1020_0ff7();
FUN_1020_0fe5();
uVar6 = FUN_1020_100b();
uVar7 = 0;
iVar11 = 0;
FUN_1020_0fe5(uVar6,uVar1,uVar8);
FUN_1020_0ff7();
uVar1 = FUN_1020_1017();
iVar12 = *(int *)((int)*(undefined4 *)(param_1 + 6) + 0x58);
FUN_1020_100b();
FUN_1020_0ff7();
uVar4 = FUN_1020_1017();
iVar10 = iVar12 + iVar11 + (uint)CARRY2(uVar4,uVar1);
uVar6 = uVar14;
uVar8 = FUN_1020_100b();
iVar11 = iVar10;
FUN_1020_100b(uVar8,uVar7,uVar6);
uVar6 = FUN_1020_0ff7();
iVar12 = 0;
FUN_1020_100b(uVar6,uVar7,iVar11);
FUN_1020_0ff7();
FUN_1020_0feb();
FUN_1020_0ffd();
uVar4 = FUN_1020_1017();
uVar6 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10);
iVar15 = (int)*(undefined4 *)(param_1 + 6);
uVar1 = *(uint *)(iVar15 + 0xbaa);
iVar11 = *(int *)(iVar15 + 0xbac);
*(int *)(iVar15 + 0xbaa) = uVar4 + *(uint *)(iVar15 + 0xbaa);
*(int *)(iVar15 + 0xbac) = iVar12 + iVar11 + (uint)CARRY2(uVar4,uVar1);
uVar8 = FUN_1020_100b();
uVar6 = 0;
FUN_1020_100b(uVar8,uVar7,uVar14);
uVar8 = FUN_1020_0ff7();
FUN_1020_100b(uVar8,uVar7,uVar6);
FUN_1020_0ff7();
FUN_1020_0fe5();
FUN_1020_0ffd();
uVar4 = FUN_1020_1017();
uVar6 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10);
iVar11 = (int)*(undefined4 *)(param_1 + 6);
uVar1 = *(uint *)(iVar11 + 0xbae);
iVar12 = *(int *)(iVar11 + 0xbb0);
*(int *)(iVar11 + 0xbae) = uVar4 + *(uint *)(iVar11 + 0xbae);
*(int *)(iVar11 + 0xbb0) = iVar10 + iVar12 + (uint)CARRY2(uVar4,uVar1);
uVar6 = *(undefined2 *)(iVar11 + 0xbb0);
uVar8 = FUN_1020_100b();
uVar1 = local_84;
FUN_1020_08a9(uVar8,uVar7,uVar6);
FUN_1020_100b();
FUN_1020_0ffd();
uVar6 = FUN_1020_1017();
FUN_1000_beff(param_1,uVar6,uVar1,local_86,local_84);
}
}
if (1 < *(byte *)((int)*(undefined4 *)(param_1 + 6) + 0x61)) {
FUN_1000_c426(param_1,local_76 - 1,local_74 - (uint)(local_76 == 0));
}
if ((local_74 == 0) && (local_76 == uVar3)) break;
bVar16 = 0xfffe < local_76;
local_76 = local_76 + 1;
local_74 = local_74 + (uint)bVar16;
}
}
return;
}
/* ===== 1000:8b0d FUN_1000_8b0d ===== */
void __stdcall16far FUN_1000_8b0d(int param_1,int param_2,int param_3,char param_4)
{
undefined4 uVar1;
uint uVar2;
undefined2 uVar3;
uint uVar4;
int iVar5;
undefined2 uVar6;
undefined2 unaff_SS;
bool bVar7;
undefined2 uVar8;
uVar1 = *(undefined4 *)(*(int *)(param_1 + 6) + 6);
uVar8 = *(undefined2 *)((int)uVar1 + 4);
uVar6 = 0x1228;
uVar3 = GETDC();
if ((param_3 == 0) && (param_2 == 1)) {
*(undefined2 *)(param_1 + -4) = 0;
*(undefined2 *)(param_1 + -2) = 0;
*(undefined2 *)(param_1 + -8) = 43000;
*(undefined2 *)(param_1 + -6) = 0;
}
else {
*(undefined2 *)(param_1 + -4) = 0;
*(undefined2 *)(param_1 + -2) = 0;
*(undefined2 *)(param_1 + -8) = 0x5808;
*(undefined2 *)(param_1 + -6) = 0xffff;
}
if (param_4 == '\x01') {
iVar5 = param_3;
FUN_1020_08a9(uVar8);
FUN_1020_100b();
uVar4 = FUN_1020_1017();
bVar7 = CARRY2(DAT_1028_1ed3,uVar4);
DAT_1028_1ed3 = DAT_1028_1ed3 + uVar4;
DAT_1028_1ed5 = DAT_1028_1ed5 + iVar5 + (uint)bVar7;
iVar5 = param_3;
FUN_1020_08a9();
FUN_1020_100b();
uVar4 = FUN_1020_1017();
bVar7 = CARRY2(DAT_1028_1ed7,uVar4);
DAT_1028_1ed7 = DAT_1028_1ed7 + uVar4;
DAT_1028_1ed9 = DAT_1028_1ed9 + iVar5 + (uint)bVar7;
iVar5 = param_3;
FUN_1020_08a9();
FUN_1020_100b();
uVar4 = FUN_1020_1017();
bVar7 = CARRY2(DAT_1028_1edb,uVar4);
DAT_1028_1edb = DAT_1028_1edb + uVar4;
DAT_1028_1edd = DAT_1028_1edd + iVar5 + (uint)bVar7;
iVar5 = param_3;
FUN_1020_08a9();
FUN_1020_100b();
uVar4 = FUN_1020_1017();
bVar7 = CARRY2(DAT_1028_1edf,uVar4);
DAT_1028_1edf = DAT_1028_1edf + uVar4;
DAT_1028_1ee1 = DAT_1028_1ee1 + iVar5 + (uint)bVar7;
if ((DAT_1028_1ed5 < DAT_1028_1edd) ||
((DAT_1028_1ed5 <= DAT_1028_1edd && (DAT_1028_1ed3 < DAT_1028_1edb)))) {
DAT_1028_1ec5 = DAT_1028_1ed5 - (uint)(DAT_1028_1ed3 < 5000);
DAT_1028_1ecd = DAT_1028_1edd + (uint)(0xec77 < DAT_1028_1edb);
uVar4 = DAT_1028_1ed3;
uVar2 = DAT_1028_1edb;
}
else {
DAT_1028_1ec5 = DAT_1028_1edd - (uint)(DAT_1028_1edb < 5000);
DAT_1028_1ecd = DAT_1028_1ed5 + (uint)(0xec77 < DAT_1028_1ed3);
uVar4 = DAT_1028_1edb;
uVar2 = DAT_1028_1ed3;
}
DAT_1028_1ecb = uVar2 + 5000;
DAT_1028_1ec3 = uVar4 + 0xec78;
if ((DAT_1028_1ed9 < DAT_1028_1ee1) ||
((DAT_1028_1ed9 <= DAT_1028_1ee1 && (DAT_1028_1ed7 < DAT_1028_1edf)))) {
DAT_1028_1ec9 = DAT_1028_1ed9 - (uint)(DAT_1028_1ed7 < 5000);
DAT_1028_1ed1 = DAT_1028_1ee1 + (uint)(0xec77 < DAT_1028_1edf);
uVar4 = DAT_1028_1ed7;
uVar2 = DAT_1028_1edf;
}
else {
DAT_1028_1ec9 = DAT_1028_1ee1 - (uint)(DAT_1028_1edf < 5000);
DAT_1028_1ed1 = DAT_1028_1ed9 + (uint)(0xec77 < DAT_1028_1ed7);
uVar4 = DAT_1028_1edf;
uVar2 = DAT_1028_1ed7;
}
DAT_1028_1ecf = uVar2 + 5000;
DAT_1028_1ec7 = uVar4 + 0xec78;
iVar5 = param_3;
FUN_1020_08a9();
FUN_1020_100b();
uVar4 = FUN_1020_1017();
bVar7 = CARRY2(DAT_1028_1f26,uVar4);
DAT_1028_1f26 = DAT_1028_1f26 + uVar4;
DAT_1028_1f28 = DAT_1028_1f28 + iVar5 + (uint)bVar7;
iVar5 = param_3;
FUN_1020_08a9();
FUN_1020_100b();
uVar4 = FUN_1020_1017();
bVar7 = CARRY2(DAT_1028_1f2a,uVar4);
DAT_1028_1f2a = DAT_1028_1f2a + uVar4;
DAT_1028_1f2c = DAT_1028_1f2c + iVar5 + (uint)bVar7;
iVar5 = param_3;
FUN_1020_08a9();
FUN_1020_100b();
uVar4 = FUN_1020_1017();
bVar7 = CARRY2(DAT_1028_1f16,uVar4);
DAT_1028_1f16 = DAT_1028_1f16 + uVar4;
DAT_1028_1f18 = DAT_1028_1f18 + iVar5 + (uint)bVar7;
iVar5 = param_3;
FUN_1020_08a9();
FUN_1020_100b();
uVar4 = FUN_1020_1017();
bVar7 = CARRY2(DAT_1028_1f1a,uVar4);
DAT_1028_1f1a = DAT_1028_1f1a + uVar4;
DAT_1028_1f1c = DAT_1028_1f1c + iVar5 + (uint)bVar7;
iVar5 = param_3;
FUN_1020_08a9();
FUN_1020_100b();
uVar4 = FUN_1020_1017();
bVar7 = DAT_1028_1f1e < uVar4;
DAT_1028_1f1e = DAT_1028_1f1e - uVar4;
DAT_1028_1f20 = (DAT_1028_1f20 - iVar5) - (uint)bVar7;
iVar5 = param_3;
FUN_1020_08a9();
FUN_1020_100b();
uVar4 = FUN_1020_1017();
bVar7 = DAT_1028_1f22 < uVar4;
DAT_1028_1f22 = DAT_1028_1f22 - uVar4;
DAT_1028_1f24 = (DAT_1028_1f24 - iVar5) - (uint)bVar7;
iVar5 = param_3;
FUN_1020_08a9();
FUN_1020_100b();
uVar4 = FUN_1020_1017();
bVar7 = DAT_1028_1f79 < uVar4;
DAT_1028_1f79 = DAT_1028_1f79 - uVar4;
DAT_1028_1f7b = (DAT_1028_1f7b - iVar5) - (uint)bVar7;
iVar5 = param_3;
FUN_1020_08a9();
FUN_1020_100b();
uVar4 = FUN_1020_1017();
bVar7 = CARRY2(DAT_1028_1f7d,uVar4);
DAT_1028_1f7d = DAT_1028_1f7d + uVar4;
DAT_1028_1f7f = DAT_1028_1f7f + iVar5 + (uint)bVar7;
iVar5 = param_3;
FUN_1020_08a9();
FUN_1020_100b();
uVar4 = FUN_1020_1017();
bVar7 = DAT_1028_1f81 < uVar4;
DAT_1028_1f81 = DAT_1028_1f81 - uVar4;
DAT_1028_1f83 = (DAT_1028_1f83 - iVar5) - (uint)bVar7;
FUN_1020_08a9();
FUN_1020_100b();
uVar4 = FUN_1020_1017();
bVar7 = CARRY2(DAT_1028_1f85,uVar4);
DAT_1028_1f85 = DAT_1028_1f85 + uVar4;
DAT_1028_1f87 = DAT_1028_1f87 + param_3 + (uint)bVar7;
if ((DAT_1028_1f7b < DAT_1028_1f83) ||
((DAT_1028_1f7b <= DAT_1028_1f83 && (DAT_1028_1f79 < DAT_1028_1f81)))) {
DAT_1028_1f6b = DAT_1028_1f7b - (uint)(DAT_1028_1f79 < 5000);
DAT_1028_1f73 = DAT_1028_1f83 + (uint)(0xec77 < DAT_1028_1f81);
uVar4 = DAT_1028_1f79;
uVar2 = DAT_1028_1f81;
}
else {
DAT_1028_1f6b = DAT_1028_1f83 - (uint)(DAT_1028_1f81 < 5000);
DAT_1028_1f73 = DAT_1028_1f7b + (uint)(0xec77 < DAT_1028_1f79);
uVar4 = DAT_1028_1f81;
uVar2 = DAT_1028_1f79;
}
DAT_1028_1f71 = uVar2 + 5000;
DAT_1028_1f69 = uVar4 + 0xec78;
if ((DAT_1028_1f7f < DAT_1028_1f87) ||
((DAT_1028_1f7f <= DAT_1028_1f87 && (DAT_1028_1f7d < DAT_1028_1f85)))) {
DAT_1028_1f6f = DAT_1028_1f7f - (uint)(DAT_1028_1f7d < 5000);
DAT_1028_1f77 = DAT_1028_1f87 + (uint)(0xec77 < DAT_1028_1f85);
uVar4 = DAT_1028_1f7d;
uVar2 = DAT_1028_1f85;
}
else {
DAT_1028_1f6f = DAT_1028_1f87 - (uint)(DAT_1028_1f85 < 5000);
DAT_1028_1f77 = DAT_1028_1f7f + (uint)(0xec77 < DAT_1028_1f7d);
uVar4 = DAT_1028_1f85;
uVar2 = DAT_1028_1f7d;
}
DAT_1028_1f75 = uVar2 + 5000;
DAT_1028_1f6d = uVar4 + 0xec78;
uVar1 = *(undefined4 *)(*(int *)(param_1 + 6) + 6);
if (*(int *)((int)uVar1 + 0xbd4) == 0) {
FUN_1008_08bb(0x34,0x2f,0x175,0x5d,uVar3);
}
else {
FUN_1008_0837(0x34,0x2f,0x175,0x5d,uVar3);
}
uVar6 = 0x1008;
FUN_1008_093f(0x34,0x2f,0x175,0x5d,uVar3);
}
else if (param_4 == '\x02') {
iVar5 = param_3;
uVar4 = FUN_1020_08a9(uVar8);
bVar7 = DAT_1028_245e < uVar4;
DAT_1028_245e = DAT_1028_245e - uVar4;
DAT_1028_2460 = (DAT_1028_2460 - iVar5) - (uint)bVar7;
iVar5 = param_3;
uVar4 = FUN_1020_08a9();
bVar7 = CARRY2(DAT_1028_2462,uVar4);
DAT_1028_2462 = DAT_1028_2462 + uVar4;
DAT_1028_2464 = DAT_1028_2464 + iVar5 + (uint)bVar7;
iVar5 = param_3;
uVar4 = FUN_1020_08a9();
bVar7 = DAT_1028_2456 < uVar4;
DAT_1028_2456 = DAT_1028_2456 - uVar4;
DAT_1028_2458 = (DAT_1028_2458 - iVar5) - (uint)bVar7;
iVar5 = param_3;
uVar4 = FUN_1020_08a9();
bVar7 = CARRY2(DAT_1028_245a,uVar4);
DAT_1028_245a = DAT_1028_245a + uVar4;
DAT_1028_245c = DAT_1028_245c + iVar5 + (uint)bVar7;
if ((DAT_1028_2458 < DAT_1028_2460) ||
((DAT_1028_2458 <= DAT_1028_2460 && (DAT_1028_2456 < DAT_1028_245e)))) {
DAT_1028_2448 = DAT_1028_2458 - (uint)(DAT_1028_2456 < 5000);
DAT_1028_2450 = DAT_1028_2460 + (uint)(0xec77 < DAT_1028_245e);
uVar4 = DAT_1028_2456;
uVar2 = DAT_1028_245e;
}
else {
DAT_1028_2448 = DAT_1028_2460 - (uint)(DAT_1028_245e < 5000);
DAT_1028_2450 = DAT_1028_2458 + (uint)(0xec77 < DAT_1028_2456);
uVar4 = DAT_1028_245e;
uVar2 = DAT_1028_2456;
}
DAT_1028_244e = uVar2 + 5000;
DAT_1028_2446 = uVar4 + 0xec78;
if ((DAT_1028_245c < DAT_1028_2464) ||
((DAT_1028_245c <= DAT_1028_2464 && (DAT_1028_245a < DAT_1028_2462)))) {
DAT_1028_244c = DAT_1028_245c - (uint)(DAT_1028_245a < 5000);
DAT_1028_2454 = DAT_1028_2464 + (uint)(0xec77 < DAT_1028_2462);
uVar4 = DAT_1028_245a;
uVar2 = DAT_1028_2462;
}
else {
DAT_1028_244c = DAT_1028_2464 - (uint)(DAT_1028_2462 < 5000);
DAT_1028_2454 = DAT_1028_245c + (uint)(0xec77 < DAT_1028_245a);
uVar4 = DAT_1028_2462;
uVar2 = DAT_1028_245a;
}
DAT_1028_2452 = uVar2 + 5000;
DAT_1028_244a = uVar4 + 0xec78;
iVar5 = param_3;
uVar4 = FUN_1020_08a9();
bVar7 = DAT_1028_2403 < uVar4;
DAT_1028_2403 = DAT_1028_2403 - uVar4;
DAT_1028_2405 = (DAT_1028_2405 - iVar5) - (uint)bVar7;
iVar5 = param_3;
uVar4 = FUN_1020_08a9();
bVar7 = CARRY2(DAT_1028_2407,uVar4);
DAT_1028_2407 = DAT_1028_2407 + uVar4;
DAT_1028_2409 = DAT_1028_2409 + iVar5 + (uint)bVar7;
iVar5 = param_3;
uVar4 = FUN_1020_08a9();
bVar7 = DAT_1028_23f3 < uVar4;
DAT_1028_23f3 = DAT_1028_23f3 - uVar4;
DAT_1028_23f5 = (DAT_1028_23f5 - iVar5) - (uint)bVar7;
iVar5 = param_3;
uVar4 = FUN_1020_08a9();
bVar7 = CARRY2(DAT_1028_23f7,uVar4);
DAT_1028_23f7 = DAT_1028_23f7 + uVar4;
DAT_1028_23f9 = DAT_1028_23f9 + iVar5 + (uint)bVar7;
iVar5 = param_3;
uVar4 = FUN_1020_08a9();
bVar7 = CARRY2(DAT_1028_23fb,uVar4);
DAT_1028_23fb = DAT_1028_23fb + uVar4;
DAT_1028_23fd = DAT_1028_23fd + iVar5 + (uint)bVar7;
iVar5 = param_3;
uVar4 = FUN_1020_08a9();
bVar7 = DAT_1028_23ff < uVar4;
DAT_1028_23ff = DAT_1028_23ff - uVar4;
DAT_1028_2401 = (DAT_1028_2401 - iVar5) - (uint)bVar7;
iVar5 = param_3;
uVar4 = FUN_1020_08a9();
bVar7 = CARRY2(DAT_1028_23b8,uVar4);
DAT_1028_23b8 = DAT_1028_23b8 + uVar4;
DAT_1028_23ba = DAT_1028_23ba + iVar5 + (uint)bVar7;
iVar5 = param_3;
uVar4 = FUN_1020_08a9();
bVar7 = CARRY2(DAT_1028_23bc,uVar4);
DAT_1028_23bc = DAT_1028_23bc + uVar4;
DAT_1028_23be = DAT_1028_23be + iVar5 + (uint)bVar7;
iVar5 = param_3;
uVar4 = FUN_1020_08a9();
bVar7 = CARRY2(DAT_1028_23b0,uVar4);
DAT_1028_23b0 = DAT_1028_23b0 + uVar4;
DAT_1028_23b2 = DAT_1028_23b2 + iVar5 + (uint)bVar7;
uVar4 = FUN_1020_08a9();
bVar7 = CARRY2(DAT_1028_23b4,uVar4);
DAT_1028_23b4 = DAT_1028_23b4 + uVar4;
DAT_1028_23b6 = DAT_1028_23b6 + param_3 + (uint)bVar7;
if ((DAT_1028_23b2 < DAT_1028_23ba) ||
((DAT_1028_23b2 <= DAT_1028_23ba && (DAT_1028_23b0 < DAT_1028_23b8)))) {
DAT_1028_23a2 = DAT_1028_23b2 - (uint)(DAT_1028_23b0 < 5000);
DAT_1028_23aa = DAT_1028_23ba + (uint)(0xec77 < DAT_1028_23b8);
uVar4 = DAT_1028_23b0;
uVar2 = DAT_1028_23b8;
}
else {
DAT_1028_23a2 = DAT_1028_23ba - (uint)(DAT_1028_23b8 < 5000);
DAT_1028_23aa = DAT_1028_23b2 + (uint)(0xec77 < DAT_1028_23b0);
uVar4 = DAT_1028_23b8;
uVar2 = DAT_1028_23b0;
}
DAT_1028_23a8 = uVar2 + 5000;
DAT_1028_23a0 = uVar4 + 0xec78;
if ((DAT_1028_23b6 < DAT_1028_23be) ||
((DAT_1028_23b6 <= DAT_1028_23be && (DAT_1028_23b4 < DAT_1028_23bc)))) {
DAT_1028_23a6 = DAT_1028_23b6 - (uint)(DAT_1028_23b4 < 5000);
DAT_1028_23ae = DAT_1028_23be + (uint)(0xec77 < DAT_1028_23bc);
uVar4 = DAT_1028_23b4;
uVar2 = DAT_1028_23bc;
}
else {
DAT_1028_23a6 = DAT_1028_23be - (uint)(DAT_1028_23bc < 5000);
DAT_1028_23ae = DAT_1028_23b6 + (uint)(0xec77 < DAT_1028_23b4);
uVar4 = DAT_1028_23bc;
uVar2 = DAT_1028_23b4;
}
DAT_1028_23ac = uVar2 + 5000;
DAT_1028_23a4 = uVar4 + 0xec78;
uVar1 = *(undefined4 *)(*(int *)(param_1 + 6) + 6);
if (*(int *)((int)uVar1 + 0xbd6) == 0) {
FUN_1008_08bb(0x35,0x2d,0x174,0xaf,uVar3);
}
else {
FUN_1008_0837(0x35,0x2d,0x174,0xaf,uVar3);
}
uVar6 = 0x1008;
FUN_1008_093f(0x35,0x2d,0x174,0xaf,uVar3);
}
RELEASEDC(uVar6,uVar3);
return;
}
/* ===== 1000:99f0 FUN_1000_99f0 ===== */
void __stdcall16far FUN_1000_99f0(int param_1)
{
int iVar1;
undefined2 uVar2;
undefined2 unaff_SS;
uVar2 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10);
iVar1 = (int)*(undefined4 *)(param_1 + 6);
if ((*(char *)(iVar1 + 0xbda) == '\0') || (*(int *)(iVar1 + 0xbd4) != 0)) {
uVar2 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10);
iVar1 = (int)*(undefined4 *)(param_1 + 6);
if ((*(char *)(iVar1 + 0xbda) == '\0') && (*(int *)(iVar1 + 0xbd4) != 0)) {
*(int *)(iVar1 + 0xbd4) = *(int *)(iVar1 + 0xbd4) + -1;
FUN_1000_7ed9(param_1,1,0,1,0);
FUN_1000_8b0d(&stack0xfffe,1,0,1);
}
}
else {
*(int *)(iVar1 + 0xbd4) = *(int *)(iVar1 + 0xbd4) + 1;
FUN_1000_7ed9(param_1,0xffff,0xffff,1,0);
FUN_1000_8b0d(&stack0xfffe,0xffff,0xffff,1);
}
uVar2 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10);
iVar1 = (int)*(undefined4 *)(param_1 + 6);
if ((*(char *)(iVar1 + 0xbdb) == '\0') || (*(int *)(iVar1 + 0xbd6) != 0)) {
uVar2 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10);
iVar1 = (int)*(undefined4 *)(param_1 + 6);
if ((*(char *)(iVar1 + 0xbdb) == '\0') && (*(int *)(iVar1 + 0xbd6) != 0)) {
*(int *)(iVar1 + 0xbd6) = *(int *)(iVar1 + 0xbd6) + -1;
FUN_1000_7ed9(param_1,1,0,2,0);
FUN_1000_8b0d(&stack0xfffe,1,0,2);
}
}
else {
*(int *)(iVar1 + 0xbd6) = *(int *)(iVar1 + 0xbd6) + 1;
FUN_1000_7ed9(param_1,0xffff,0xffff,2,0);
FUN_1000_8b0d(&stack0xfffe,0xffff,0xffff,2);
}
return;
}
/* ===== 1000:9ae0 FUN_1000_9ae0 ===== */
undefined2 __stdcall16far
FUN_1000_9ae0(int param_1,uint param_2,int param_3,uint param_4,int param_5,uint param_6,int param_7
,uint param_8,int param_9)
{
uint uVar1;
int iVar2;
undefined2 uVar3;
undefined2 unaff_SS;
undefined1 local_3;
uVar3 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10);
iVar2 = (int)*(undefined4 *)(param_1 + 6);
uVar1 = *(uint *)(iVar2 + 0xbba);
iVar2 = *(int *)(iVar2 + 0xbbc);
if ((param_9 < iVar2) || ((param_9 <= iVar2 && (param_8 <= uVar1)))) {
uVar3 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10);
iVar2 = (int)*(undefined4 *)(param_1 + 6);
uVar1 = *(uint *)(iVar2 + 0xbbe);
iVar2 = *(int *)(iVar2 + 0xbc0);
if ((param_7 < iVar2) || ((param_7 <= iVar2 && (param_6 <= uVar1)))) {
uVar3 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10);
iVar2 = (int)*(undefined4 *)(param_1 + 6);
uVar1 = *(uint *)(iVar2 + 0xbba);
iVar2 = *(int *)(iVar2 + 0xbbc);
if ((iVar2 < param_5) || ((iVar2 <= param_5 && (uVar1 <= param_4)))) {
uVar3 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10);
iVar2 = (int)*(undefined4 *)(param_1 + 6);
uVar1 = *(uint *)(iVar2 + 0xbbe);
iVar2 = *(int *)(iVar2 + 0xbc0);
if ((iVar2 < param_3) || ((iVar2 <= param_3 && (uVar1 <= param_2)))) {
local_3 = 1;
goto LAB_1000_9b62;
}
}
}
}
local_3 = 0;
LAB_1000_9b62:
return CONCAT11((char)(uVar1 >> 8),local_3);
}
/* ===== 1000:9b69 FUN_1000_9b69 ===== */
undefined2 __stdcall16far
FUN_1000_9b69(undefined2 param_1,uint param_2,int param_3,uint param_4,int param_5,uint param_6,
int param_7,uint param_8,int param_9)
{
uint uVar1;
undefined1 local_3;
uVar1 = DAT_1028_07db;
if ((param_9 < DAT_1028_07dd) || ((param_9 <= DAT_1028_07dd && (param_8 <= DAT_1028_07db)))) {
if ((param_7 < DAT_1028_07e1) ||
((uVar1 = DAT_1028_07df, param_7 <= DAT_1028_07e1 &&
(uVar1 = DAT_1028_07df, param_6 <= DAT_1028_07df)))) {
if ((DAT_1028_07dd < param_5) ||
((uVar1 = DAT_1028_07db, DAT_1028_07dd <= param_5 && (DAT_1028_07db <= param_4)))) {
uVar1 = DAT_1028_07df;
if ((DAT_1028_07e1 < param_3) || ((DAT_1028_07e1 <= param_3 && (DAT_1028_07df <= param_2))))
{
local_3 = 1;
goto LAB_1000_9bc3;
}
}
}
}
local_3 = 0;
LAB_1000_9bc3:
return CONCAT11((char)(uVar1 >> 8),local_3);
}
/* ===== 1000:9bca FUN_1000_9bca ===== */
void __stdcall16far FUN_1000_9bca(int param_1)
{
undefined2 uVar1;
undefined2 uVar2;
uint uVar3;
int iVar4;
int iVar5;
undefined2 unaff_CS;
undefined2 unaff_SS;
undefined2 uVar6;
undefined2 uVar7;
uVar1 = *(undefined2 *)((int)*(undefined4 *)(param_1 + 6) + 4);
GETCLIENTRECT(unaff_CS,param_1 + -0x1a,unaff_SS);
uVar1 = GETDC(0x1228,*(undefined2 *)((int)*(undefined4 *)(param_1 + 6) + 4),uVar1);
*(undefined2 *)(param_1 + -0xc) = uVar1;
uVar1 = CREATECOMPATIBLEDC(0x1228,*(undefined2 *)(param_1 + -0xc));
*(undefined2 *)(param_1 + -0xe) = uVar1;
uVar1 = CREATECOMPATIBLEDC(0x1228,*(undefined2 *)(param_1 + -0xc));
*(undefined2 *)(param_1 + -0x10) = uVar1;
uVar1 = CREATECOMPATIBLEDC(0x1228,*(undefined2 *)(param_1 + -0xc));
*(undefined2 *)(param_1 + -0x12) = uVar1;
uVar1 = *(undefined2 *)(param_1 + -0xc);
uVar2 = CREATECOMPATIBLEBITMAP(0x1228,100,100);
*(undefined2 *)(param_1 + -8) = uVar2;
iVar4 = DAT_1028_07d5 + (uint)(0xfe0b < DAT_1028_07d3);
uVar3 = FUN_1020_08e6(uVar1);
uVar1 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10);
iVar5 = (int)*(undefined4 *)(param_1 + 6);
*(int *)(iVar5 + 0xba2) = uVar3 - 8;
*(int *)(iVar5 + 0xba4) = iVar4 - (uint)(uVar3 < 8);
iVar4 = DAT_1028_07d9 + (uint)(0xfe0b < DAT_1028_07d7);
uVar3 = FUN_1020_08e6();
uVar1 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10);
iVar5 = (int)*(undefined4 *)(param_1 + 6);
*(int *)(iVar5 + 0xba6) = uVar3 - 8;
*(int *)(iVar5 + 0xba8) = iVar4 - (uint)(uVar3 < 8);
*(int *)(param_1 + -0x20) = *(int *)(iVar5 + 0xba2) + -1;
*(undefined2 *)(param_1 + -0x1c) = 1;
*(int *)(param_1 + -0x22) = *(int *)((int)*(undefined4 *)(param_1 + 6) + 0xba6) + -1;
*(undefined2 *)(param_1 + -0x1e) = 1;
*(undefined2 *)(param_1 + -0x28) = 0x13;
*(undefined2 *)(param_1 + -0x2a) = 0x13;
uVar1 = SELECTOBJECT(0x1020,DAT_1028_085b);
*(undefined2 *)(param_1 + -2) = uVar1;
uVar1 = SELECTOBJECT(0x1228,*(undefined2 *)(param_1 + -8));
*(undefined2 *)(param_1 + -4) = uVar1;
BITBLT(0x1228,0x20,0xcc,*(undefined2 *)(param_1 + -0x22),*(undefined2 *)(param_1 + -0x20),
*(undefined2 *)(param_1 + -0xe),*(undefined2 *)(param_1 + -0x2a),
*(undefined2 *)(param_1 + -0x28),0,0);
SELECTOBJECT(0x1228,*(undefined2 *)((int)*(undefined4 *)(param_1 + 6) + 0x54));
BITBLT(0x1228,0xc6,0x88,0,0,*(undefined2 *)(param_1 + -0xe),0x13,0x13,
*(undefined2 *)(param_1 + -0x1e),*(undefined2 *)(param_1 + -0x1c));
SELECTOBJECT(0x1228,*(undefined2 *)((int)*(undefined4 *)(param_1 + 6) + 0x52));
BITBLT(0x1228,0x86,0xee,0,0,*(undefined2 *)(param_1 + -0xe),0x13,0x13,
*(undefined2 *)(param_1 + -0x1e),*(undefined2 *)(param_1 + -0x1c));
if (0x1ba < *(int *)(param_1 + -0x22) + *(int *)(param_1 + -0x2a)) {
if (*(int *)(param_1 + -0x22) < 0x1bb) {
*(int *)(param_1 + -0x2a) = 0x1bb - *(int *)(param_1 + -0x22);
}
else {
*(undefined2 *)(param_1 + -0x2a) = 0;
}
}
uVar1 = *(undefined2 *)(param_1 + -0xc);
BITBLT(0x1228,0x20,0xcc,0,0,*(undefined2 *)(param_1 + -0x10),*(undefined2 *)(param_1 + -0x2a),
*(undefined2 *)(param_1 + -0x28),*(undefined2 *)(param_1 + -0x22),
*(undefined2 *)(param_1 + -0x20));
uVar2 = *(undefined2 *)(param_1 + -0xe);
SELECTOBJECT(0x1228,*(undefined2 *)(param_1 + -2));
uVar7 = *(undefined2 *)(param_1 + -0x10);
SELECTOBJECT(0x1228,*(undefined2 *)(param_1 + -4));
uVar6 = *(undefined2 *)(param_1 + -0x12);
SELECTOBJECT(0x1228,*(undefined2 *)(param_1 + -6));
DELETEOBJECT(0x1228,*(undefined2 *)(param_1 + -8),uVar6,uVar7,uVar2,uVar1);
DELETEDC(0x1228,*(undefined2 *)(param_1 + -0xe));
DELETEDC(0x1228,*(undefined2 *)(param_1 + -0x10));
DELETEDC(0x1228,*(undefined2 *)(param_1 + -0x12));
RELEASEDC(0x1228,*(undefined2 *)(param_1 + -0xc));
return;
}
/* ===== 1000:9e85 FUN_1000_9e85 ===== */
void __stdcall16far FUN_1000_9e85(int param_1)
{
int iVar1;
undefined2 uVar2;
undefined2 unaff_SS;
if ((((DAT_1028_3371 != 0) && (DAT_1028_33c4 != 0)) && (DAT_1028_3417 != 0)) &&
((DAT_1028_346a != 0 && (DAT_1028_34bd != 0)))) {
DAT_1028_0851 = 0;
DAT_1028_0853 = 0;
DAT_1028_07c8 = 1;
*(undefined1 *)((int)*(undefined4 *)(param_1 + 6) + 0xbdd) = 0;
}
DAT_1028_07c6 = 0;
uVar2 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10);
iVar1 = (int)*(undefined4 *)(param_1 + 6);
*(undefined2 *)(iVar1 + 0x5e) = 0;
DAT_1028_07d3 = 0xf588;
DAT_1028_07d5 = 4;
DAT_1028_07d7 = 0x4d48;
DAT_1028_07d9 = 6;
*(undefined2 *)(iVar1 + 0xbba) = 0xf588;
*(undefined2 *)(iVar1 + 0xbbc) = 4;
*(undefined2 *)(iVar1 + 0xbbe) = 0x4d48;
*(undefined2 *)(iVar1 + 0xbc0) = 6;
*(undefined2 *)(iVar1 + 0xbc2) = 0xf588;
*(undefined2 *)(iVar1 + 0xbc4) = 4;
*(undefined2 *)(iVar1 + 0xbc6) = 0x4d48;
*(undefined2 *)(iVar1 + 0xbc8) = 6;
*(undefined2 *)(iVar1 + 0xbae) = 0;
*(undefined2 *)(iVar1 + 0xbb0) = 0;
*(undefined2 *)(iVar1 + 0xbaa) = 0;
*(undefined2 *)(iVar1 + 0xbac) = 0;
*(undefined2 *)(iVar1 + 0xbce) = 0;
*(undefined2 *)(iVar1 + 0xbd0) = 0;
*(undefined2 *)(iVar1 + 0xbd2) = 0;
*(undefined2 *)(iVar1 + 0xbca) = 0;
*(undefined2 *)(iVar1 + 0xbcc) = 0;
*(undefined1 *)(iVar1 + 0xbdd) = 0;
FUN_1000_9bca(param_1);
return;
}
/* ===== 1000:9f73 FUN_1000_9f73 ===== */
void __stdcall16far FUN_1000_9f73(int param_1)
{
undefined2 uVar1;
undefined2 uVar2;
uint uVar3;
int iVar4;
int iVar5;
undefined2 unaff_CS;
undefined2 unaff_SS;
undefined2 uVar6;
undefined2 uVar7;
uVar1 = *(undefined2 *)((int)*(undefined4 *)(param_1 + 6) + 4);
GETCLIENTRECT(unaff_CS,param_1 + -0x1a,unaff_SS);
uVar1 = GETDC(0x1228,*(undefined2 *)((int)*(undefined4 *)(param_1 + 6) + 4),uVar1);
*(undefined2 *)(param_1 + -0xc) = uVar1;
uVar1 = CREATECOMPATIBLEDC(0x1228,*(undefined2 *)(param_1 + -0xc));
*(undefined2 *)(param_1 + -0xe) = uVar1;
uVar1 = CREATECOMPATIBLEDC(0x1228,*(undefined2 *)(param_1 + -0xc));
*(undefined2 *)(param_1 + -0x10) = uVar1;
uVar1 = CREATECOMPATIBLEDC(0x1228,*(undefined2 *)(param_1 + -0xc));
*(undefined2 *)(param_1 + -0x12) = uVar1;
uVar1 = *(undefined2 *)(param_1 + -0xc);
uVar2 = CREATECOMPATIBLEBITMAP(0x1228,100,100);
*(undefined2 *)(param_1 + -8) = uVar2;
iVar4 = DAT_1028_07d5 + (uint)(0xfe0b < DAT_1028_07d3);
uVar3 = FUN_1020_08e6(uVar1);
uVar1 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10);
iVar5 = (int)*(undefined4 *)(param_1 + 6);
*(int *)(iVar5 + 0xba2) = uVar3 - 8;
*(int *)(iVar5 + 0xba4) = iVar4 - (uint)(uVar3 < 8);
iVar4 = DAT_1028_07d9 + (uint)(0xfe0b < DAT_1028_07d7);
uVar3 = FUN_1020_08e6();
uVar1 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10);
iVar5 = (int)*(undefined4 *)(param_1 + 6);
*(int *)(iVar5 + 0xba6) = uVar3 - 8;
*(int *)(iVar5 + 0xba8) = iVar4 - (uint)(uVar3 < 8);
iVar4 = (DAT_1028_07d5 - *(int *)(iVar5 + 0xbc4)) -
(uint)(DAT_1028_07d3 < *(uint *)(iVar5 + 0xbc2));
uVar1 = FUN_1020_08e6();
uVar2 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10);
iVar5 = (int)*(undefined4 *)(param_1 + 6);
*(undefined2 *)(iVar5 + 0xbb2) = uVar1;
*(int *)(iVar5 + 0xbb4) = iVar4;
iVar4 = (DAT_1028_07d9 - *(int *)(iVar5 + 0xbc8)) -
(uint)(DAT_1028_07d7 < *(uint *)(iVar5 + 0xbc6));
uVar1 = FUN_1020_08e6();
uVar2 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10);
iVar5 = (int)*(undefined4 *)(param_1 + 6);
*(undefined2 *)(iVar5 + 0xbb6) = uVar1;
*(int *)(iVar5 + 3000) = iVar4;
if ((*(int *)(iVar5 + 0xbb4) < 1) &&
((*(int *)(iVar5 + 0xbb4) < 0 || (*(int *)(iVar5 + 0xbb2) == 0)))) {
*(int *)(param_1 + -0x20) = *(int *)((int)*(undefined4 *)(param_1 + 6) + 0xba2) + -1;
*(undefined2 *)(param_1 + -0x1c) = 1;
}
else {
uVar1 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10);
iVar4 = (int)*(undefined4 *)(param_1 + 6);
*(int *)(param_1 + -0x20) = (*(int *)(iVar4 + 0xba2) - *(int *)(iVar4 + 0xbb2)) + -1;
*(int *)(param_1 + -0x1c) = *(int *)((int)*(undefined4 *)(param_1 + 6) + 0xbb2) + 1;
}
uVar1 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10);
iVar5 = (int)*(undefined4 *)(param_1 + 6);
iVar4 = *(int *)(iVar5 + 3000);
if ((iVar4 < 1) && ((iVar4 < 0 || (*(int *)(iVar5 + 0xbb6) == 0)))) {
*(int *)(param_1 + -0x22) = *(int *)((int)*(undefined4 *)(param_1 + 6) + 0xba6) + -1;
*(undefined2 *)(param_1 + -0x1e) = 1;
}
else {
uVar1 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10);
iVar4 = (int)*(undefined4 *)(param_1 + 6);
*(int *)(param_1 + -0x22) = (*(int *)(iVar4 + 0xba6) - *(int *)(iVar4 + 0xbb6)) + -1;
*(int *)(param_1 + -0x1e) = *(int *)((int)*(undefined4 *)(param_1 + 6) + 0xbb6) + 1;
}
uVar1 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10);
iVar5 = (int)*(undefined4 *)(param_1 + 6);
iVar4 = *(int *)(iVar5 + 0xbb2);
if (*(int *)(iVar5 + 0xbb4) < 0) {
iVar4 = -iVar4;
}
*(int *)(param_1 + -0x28) = iVar4 + 0x13;
uVar1 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10);
iVar5 = (int)*(undefined4 *)(param_1 + 6);
iVar4 = *(int *)(iVar5 + 0xbb6);
if (*(int *)(iVar5 + 3000) < 0) {
iVar4 = -iVar4;
}
*(int *)(param_1 + -0x2a) = iVar4 + 0x13;
uVar1 = SELECTOBJECT(0x1020,DAT_1028_085b);
*(undefined2 *)(param_1 + -2) = uVar1;
uVar1 = SELECTOBJECT(0x1228,*(undefined2 *)(param_1 + -8));
*(undefined2 *)(param_1 + -4) = uVar1;
BITBLT(0x1228,0x20,0xcc,*(undefined2 *)(param_1 + -0x22),*(undefined2 *)(param_1 + -0x20),
*(undefined2 *)(param_1 + -0xe),*(undefined2 *)(param_1 + -0x2a),
*(undefined2 *)(param_1 + -0x28),0,0);
SELECTOBJECT(0x1228,*(undefined2 *)((int)*(undefined4 *)(param_1 + 6) + 0x54));
BITBLT(0x1228,0xc6,0x88,0,0,*(undefined2 *)(param_1 + -0xe),0x13,0x13,
*(undefined2 *)(param_1 + -0x1e),*(undefined2 *)(param_1 + -0x1c));
SELECTOBJECT(0x1228,*(undefined2 *)((int)*(undefined4 *)(param_1 + 6) + 0x52));
BITBLT(0x1228,0x86,0xee,0,0,*(undefined2 *)(param_1 + -0xe),0x13,0x13,
*(undefined2 *)(param_1 + -0x1e),*(undefined2 *)(param_1 + -0x1c));
if (0x1ba < *(int *)(param_1 + -0x22) + *(int *)(param_1 + -0x2a)) {
if (*(int *)(param_1 + -0x22) < 0x1bb) {
*(int *)(param_1 + -0x2a) = 0x1bb - *(int *)(param_1 + -0x22);
}
else {
*(undefined2 *)(param_1 + -0x2a) = 0;
}
}
uVar1 = *(undefined2 *)(param_1 + -0xc);
BITBLT(0x1228,0x20,0xcc,0,0,*(undefined2 *)(param_1 + -0x10),*(undefined2 *)(param_1 + -0x2a),
*(undefined2 *)(param_1 + -0x28),*(undefined2 *)(param_1 + -0x22),
*(undefined2 *)(param_1 + -0x20));
uVar2 = *(undefined2 *)(param_1 + -0xe);
SELECTOBJECT(0x1228,*(undefined2 *)(param_1 + -2));
uVar7 = *(undefined2 *)(param_1 + -0x10);
SELECTOBJECT(0x1228,*(undefined2 *)(param_1 + -4));
uVar6 = *(undefined2 *)(param_1 + -0x12);
SELECTOBJECT(0x1228,*(undefined2 *)(param_1 + -6));
DELETEOBJECT(0x1228,*(undefined2 *)(param_1 + -8),uVar6,uVar7,uVar2,uVar1);
DELETEDC(0x1228,*(undefined2 *)(param_1 + -0xe));
DELETEDC(0x1228,*(undefined2 *)(param_1 + -0x10));
DELETEDC(0x1228,*(undefined2 *)(param_1 + -0x12));
RELEASEDC(0x1228,*(undefined2 *)(param_1 + -0xc));
return;
}
/* ===== 1000:a38e FUN_1000_a38e ===== */
void __stdcall16far FUN_1000_a38e(int param_1,char param_2)
{
undefined2 uVar1;
undefined2 uVar2;
uint uVar3;
int iVar4;
int iVar5;
undefined2 unaff_CS;
undefined2 unaff_SS;
undefined2 uVar6;
uVar1 = *(undefined2 *)((int)*(undefined4 *)(param_1 + 6) + 4);
GETCLIENTRECT(unaff_CS,param_1 + -0x1a,unaff_SS);
uVar1 = GETDC(0x1228,*(undefined2 *)((int)*(undefined4 *)(param_1 + 6) + 4),uVar1);
*(undefined2 *)(param_1 + -0xc) = uVar1;
uVar1 = CREATECOMPATIBLEDC(0x1228,*(undefined2 *)(param_1 + -0xc));
*(undefined2 *)(param_1 + -0xe) = uVar1;
uVar1 = CREATECOMPATIBLEDC(0x1228,*(undefined2 *)(param_1 + -0xc));
*(undefined2 *)(param_1 + -0x10) = uVar1;
uVar1 = CREATECOMPATIBLEDC(0x1228,*(undefined2 *)(param_1 + -0xc));
*(undefined2 *)(param_1 + -0x12) = uVar1;
uVar1 = *(undefined2 *)(param_1 + -0xc);
uVar2 = CREATECOMPATIBLEBITMAP(0x1228,100,100);
*(undefined2 *)(param_1 + -8) = uVar2;
uVar2 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10);
iVar4 = (int)*(undefined4 *)(param_1 + 6);
iVar4 = *(int *)(iVar4 + 0xbc4) + (uint)(0xfe0b < *(uint *)(iVar4 + 0xbc2));
uVar3 = FUN_1020_08e6(uVar1);
uVar1 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10);
iVar5 = (int)*(undefined4 *)(param_1 + 6);
*(int *)(iVar5 + 0xba2) = uVar3 - 8;
*(int *)(iVar5 + 0xba4) = iVar4 - (uint)(uVar3 < 8);
iVar4 = *(int *)(iVar5 + 0xbc8) + (uint)(0xfe0b < *(uint *)(iVar5 + 0xbc6));
uVar3 = FUN_1020_08e6();
uVar1 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10);
iVar5 = (int)*(undefined4 *)(param_1 + 6);
*(int *)(iVar5 + 0xba6) = uVar3 - 8;
*(int *)(iVar5 + 0xba8) = iVar4 - (uint)(uVar3 < 8);
*(int *)(param_1 + -0x20) = *(int *)(iVar5 + 0xba2) + -1;
*(undefined2 *)(param_1 + -0x1c) = 1;
*(int *)(param_1 + -0x22) = *(int *)((int)*(undefined4 *)(param_1 + 6) + 0xba6) + -1;
*(undefined2 *)(param_1 + -0x1e) = 1;
*(undefined2 *)(param_1 + -0x28) = 0x13;
*(undefined2 *)(param_1 + -0x2a) = 0x13;
uVar1 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10);
iVar4 = (int)*(undefined4 *)(param_1 + 6);
*(undefined2 *)(iVar4 + 0xbaa) = 0;
*(undefined2 *)(iVar4 + 0xbac) = 0;
*(undefined2 *)(iVar4 + 0xbae) = 0;
*(undefined2 *)(iVar4 + 0xbb0) = 0;
uVar1 = SELECTOBJECT(0x1020,DAT_1028_085b);
*(undefined2 *)(param_1 + -2) = uVar1;
uVar1 = SELECTOBJECT(0x1228,*(undefined2 *)(param_1 + -8));
*(undefined2 *)(param_1 + -4) = uVar1;
BITBLT(0x1228,0x20,0xcc,*(undefined2 *)(param_1 + -0x22),*(undefined2 *)(param_1 + -0x20),
*(undefined2 *)(param_1 + -0xe),*(undefined2 *)(param_1 + -0x2a),
*(undefined2 *)(param_1 + -0x28),0,0);
if (0x1ba < *(int *)(param_1 + -0x22) + *(int *)(param_1 + -0x2a)) {
if (*(int *)(param_1 + -0x22) < 0x1bb) {
*(int *)(param_1 + -0x2a) = 0x1bb - *(int *)(param_1 + -0x22);
}
else {
*(undefined2 *)(param_1 + -0x2a) = 0;
}
}
if (param_2 == '\0') {
BITBLT(0x1228,0x20,0xcc,0,0,*(undefined2 *)(param_1 + -0x10),*(undefined2 *)(param_1 + -0x2a),
*(undefined2 *)(param_1 + -0x28),*(undefined2 *)(param_1 + -0x22),
*(undefined2 *)(param_1 + -0x20));
}
uVar1 = *(undefined2 *)(param_1 + -0xe);
SELECTOBJECT(0x1228,*(undefined2 *)(param_1 + -2));
uVar2 = *(undefined2 *)(param_1 + -0x10);
SELECTOBJECT(0x1228,*(undefined2 *)(param_1 + -4));
uVar6 = *(undefined2 *)(param_1 + -0x12);
SELECTOBJECT(0x1228,*(undefined2 *)(param_1 + -6));
DELETEOBJECT(0x1228,*(undefined2 *)(param_1 + -8),uVar6,uVar2,uVar1);
DELETEDC(0x1228,*(undefined2 *)(param_1 + -0xe));
DELETEDC(0x1228,*(undefined2 *)(param_1 + -0x10));
DELETEDC(0x1228,*(undefined2 *)(param_1 + -0x12));
RELEASEDC(0x1228,*(undefined2 *)(param_1 + -0xc));
return;
}
/* ===== 1000:a604 FUN_1000_a604 ===== */
void __stdcall16far FUN_1000_a604(int param_1)
{
uint uVar1;
undefined2 uVar2;
int iVar3;
int iVar4;
int iVar5;
int iVar6;
int iVar7;
undefined2 unaff_SS;
bool bVar8;
undefined2 uVar9;
uint local_16;
int local_14;
uVar9 = *(undefined2 *)((int)*(undefined4 *)(param_1 + 6) + 4);
uVar2 = GETDC();
local_16 = 1;
local_14 = 0;
while( true ) {
iVar3 = FUN_1020_08a9(uVar9,uVar2);
iVar4 = iVar3 + 0x187;
iVar3 = iVar3 + 0x18b;
iVar5 = (DAT_1028_07d1 - 1) * 0x2c;
iVar6 = iVar5 + 0x12a;
iVar5 = iVar5 + 0x12e;
uVar1 = *(uint *)((uint)DAT_1028_07d1 * 2 + 0x81f);
iVar7 = (int)uVar1 >> 0xf;
if ((local_14 < iVar7) || ((local_14 <= iVar7 && (local_16 <= uVar1)))) {
FUN_1008_0837((iVar5 - iVar6) + 1,(iVar3 - iVar4) + 1,iVar6,iVar4,uVar2);
}
else {
FUN_1008_08bb((iVar5 - iVar6) + 1,(iVar3 - iVar4) + 1,iVar6,iVar4,uVar2);
}
FUN_1008_093f((iVar5 - iVar6) + 1,(iVar3 - iVar4) + 1,iVar6,iVar4,uVar2);
if ((local_14 == 0) && (local_16 == 6)) break;
bVar8 = 0xfffe < local_16;
local_16 = local_16 + 1;
local_14 = local_14 + (uint)bVar8;
}
RELEASEDC(0x1008,uVar2);
return;
}
/* ===== 1000:a70e FUN_1000_a70e ===== */
void __stdcall16far FUN_1000_a70e(int param_1)
{
undefined2 unaff_SS;
DAT_1028_07d0 = 0;
*(undefined1 *)((int)*(undefined4 *)(param_1 + 6) + 0xbde) = 1;
DAT_1028_07c9 = 1;
return;
}
/* ===== 1000:a72c FUN_1000_a72c ===== */
void __stdcall16far FUN_1000_a72c(int param_1)
{
undefined2 unaff_SS;
byte local_4;
byte local_3;
local_3 = 1;
while( true ) {
FUN_1000_7e12(param_1,local_3);
for (local_4 = 1;
*(undefined2 *)
((int)*(undefined4 *)(param_1 + 6) + (uint)local_4 * 0x15e + (uint)local_3 * 2 + 0x36c) =
*(undefined2 *)((uint)local_3 * 0x53 + 0x99e), local_4 != 4; local_4 = local_4 + 1) {
}
if (local_3 == 0xaf) break;
local_3 = local_3 + 1;
}
for (local_3 = 1; FUN_1000_b3f3(param_1,local_3 + 1000), local_3 != 5; local_3 = local_3 + 1) {
}
FUN_1000_bda2(param_1,0,0);
DAT_1028_0874 = 0;
local_3 = 1;
while( true ) {
if (local_3 <= DAT_1028_07d0) {
DAT_1028_07d1 = local_3;
*(undefined2 *)((uint)local_3 * 4 + 0x97e) = 0;
*(undefined2 *)((uint)local_3 * 4 + 0x980) = 0;
*(undefined2 *)((uint)local_3 * 4 + 0x98e) = 0;
*(undefined2 *)((uint)local_3 * 4 + 0x990) = 0;
*(undefined1 *)(local_3 + 0x9a1) = 1;
*(undefined2 *)((uint)local_3 * 2 + 0x9a4) = 0;
FUN_1000_bc36(param_1,0,0);
*(undefined1 *)(local_3 + 0x816) = 1;
if (local_3 < 2) {
*(undefined2 *)((uint)local_3 * 2 + 0x81f) = 2;
}
else {
*(undefined2 *)((uint)local_3 * 2 + 0x81f) = 3;
}
FUN_1000_a604(param_1);
*(undefined2 *)((uint)local_3 * 4 + 0x835) = 1;
*(undefined2 *)((uint)local_3 * 4 + 0x837) = 0;
*(undefined1 *)(local_3 + 0x81a) = 1;
for (local_4 = 1;
*(undefined1 *)
((int)*(undefined4 *)(param_1 + 6) + (uint)local_3 * 0x14 + (uint)local_4 + 0x467) = 0,
local_4 != 0x14; local_4 = local_4 + 1) {
}
}
if (local_3 == 4) break;
local_3 = local_3 + 1;
}
DAT_1028_07d1 = 1;
DAT_1028_07d2 = 0;
for (local_4 = '\x01'; FUN_1000_7e92(param_1,local_4), local_4 != '\x14';
local_4 = local_4 + '\x01') {
}
return;
}
/* ===== 1000:a8ea FUN_1000_a8ea ===== */
void __stdcall16far FUN_1000_a8ea(void)
{
uint uVar1;
int iVar2;
void *unaff_SS;
ushort in_stack_0000fef6;
uint auStack_32 [22];
ushort local_6;
int local_4;
local_6 = _LCREAT((char *)0x3120000,0x1028);
if (local_6 != 0xffff) {
FUN_1020_16c9();
local_4 = 1;
while( true ) {
iVar2 = local_4;
uVar1 = *(uint *)(local_4 * 4 + 0x87c);
auStack_32[local_4 * 2] =
*(uint *)(local_4 * 4 + 0x87a) ^ s_IWIKTDK_Highscores_1028_0010._0_2_;
auStack_32[iVar2 * 2 + 1] = uVar1 ^ s_IWIKTDK_Highscores_1028_0010._2_2_;
FUN_1008_2ee5();
if (local_4 == 10) break;
local_4 = local_4 + 1;
}
_LWRITE(0x10,(void *)CONCAT22(local_6,(void *)0x1028),in_stack_0000fef6);
_LWRITE(0x28,(void *)CONCAT22(local_6,unaff_SS),in_stack_0000fef6);
_LWRITE(0xdc,(void *)CONCAT22(local_6,unaff_SS),in_stack_0000fef6);
_LCLOSE(local_6);
}
return;
}
/* ===== 1000:a99c FUN_1000_a99c ===== */
void __stdcall16far FUN_1000_a99c(void)
{
undefined2 uVar1;
uint uVar2;
undefined2 uVar3;
void *unaff_SS;
undefined1 uVar4;
undefined1 *puVar5;
void *pvVar6;
undefined1 *puVar7;
void *pvVar8;
ushort in_stack_0000fdc0;
undefined1 local_13f [252];
uint auStack_43 [22];
undefined1 local_17 [16];
char local_7;
ushort local_6;
int local_4;
local_7 = '\0';
local_6 = _LOPEN((char *)0x3200000,0x1028);
if (local_6 == 0xffff) {
local_6 = _LOPEN((char *)0x3200040,0x1028);
}
uVar4 = local_6 == 0xffff;
if (!(bool)uVar4) {
_LREAD(0x10,(void *)CONCAT22(local_6,unaff_SS),in_stack_0000fdc0);
puVar7 = local_13f;
pvVar8 = unaff_SS;
FUN_1020_0b00(0x10,local_17,unaff_SS);
puVar5 = &stack0xfdc1;
pvVar6 = unaff_SS;
FUN_1020_0b00(0x10,0x14,0x1028);
FUN_1020_0ac3(puVar5,pvVar6,puVar7,pvVar8);
if ((bool)uVar4) {
local_7 = '\x01';
_LREAD(0x28,(void *)CONCAT22(local_6,unaff_SS),in_stack_0000fdc0);
_LREAD(0xdc,(void *)CONCAT22(local_6,(void *)0x1028),in_stack_0000fdc0);
local_4 = 1;
while( true ) {
uVar2 = auStack_43[local_4 * 2 + 1] ^ s_IWIKTDK_Highscores_1028_0010._2_2_;
*(uint *)(local_4 * 4 + 0x87a) =
auStack_43[local_4 * 2] ^ s_IWIKTDK_Highscores_1028_0010._0_2_;
*(uint *)(local_4 * 4 + 0x87c) = uVar2;
if (local_4 == 10) break;
local_4 = local_4 + 1;
}
}
_LCLOSE(local_6);
}
if (local_7 == '\0') {
local_4 = 1;
while( true ) {
uVar3 = 0;
uVar1 = FUN_1020_08a9();
*(undefined2 *)(local_4 * 4 + 0x87a) = uVar1;
*(undefined2 *)(local_4 * 4 + 0x87c) = uVar3;
if (local_4 == 10) break;
local_4 = local_4 + 1;
}
FUN_1008_2ee5(0x32d,0x1028,0x8a6,0x1028);
FUN_1008_2ee5(0x32d,0x1028,0x8bc,0x1028);
FUN_1008_2ee5(0x32d,0x1028,0x8d2,0x1028);
FUN_1008_2ee5(0x32d,0x1028,0x8e8,0x1028);
FUN_1008_2ee5(0x32d,0x1028,0x8fe,0x1028);
FUN_1008_2ee5(0x32d,0x1028,0x914,0x1028);
FUN_1008_2ee5(0x32d,0x1028,0x92a,0x1028);
FUN_1008_2ee5(0x32d,0x1028,0x940,0x1028);
FUN_1008_2ee5(0x32d,0x1028,0x956,0x1028);
FUN_1008_2ee5(0x32d,0x1028,0x96c,0x1028);
}
return;
}
/* ===== 1000:ab3c FUN_1000_ab3c ===== */
void __stdcall16far FUN_1000_ab3c(int param_1)
{
int iVar1;
undefined2 uVar2;
undefined2 unaff_SS;
undefined4 uVar3;
if (DAT_1028_07d2 != 0) {
FUN_1008_2ee5(0x336,0x1028,(uint)DAT_1028_07d2 * 0x16 + 0x890,0x1028);
uVar3 = FUN_1008_1607(0,0,0x1ce,0x16,(uint)DAT_1028_07d2 * 0x16 + 0x890,0x1028,0x373,0x1028,
0x349,0x1028,(int)*(undefined4 *)(param_1 + 6),
(int)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10));
(*(code *)*(undefined2 *)(*DAT_1028_064e + 0x38))
(0x1008,(int *)DAT_1028_064e,(int)((ulong)DAT_1028_064e >> 0x10),uVar3);
}
uVar3 = FUN_1000_5aea(0,0,0x10e,0x38b,0x1028,(int)*(undefined4 *)(param_1 + 6),
(int)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10));
uVar3 = (*(code *)*(undefined2 *)(*DAT_1028_064e + 0x34))
(0x1000,(int *)DAT_1028_064e,(int)((ulong)DAT_1028_064e >> 0x10),uVar3);
uVar2 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10);
iVar1 = (int)*(undefined4 *)(param_1 + 6);
*(undefined2 *)(iVar1 + 0x41) = (int)uVar3;
*(undefined2 *)(iVar1 + 0x43) = (int)((ulong)uVar3 >> 0x10);
FUN_1018_0e9e((int)*(undefined4 *)(iVar1 + 0x41),
(int)((ulong)*(undefined4 *)(iVar1 + 0x41) >> 0x10),1);
return;
}
/* ===== 1000:abe5 FUN_1000_abe5 ===== */
void __stdcall16far FUN_1000_abe5(undefined2 param_1)
{
int iVar1;
undefined2 uVar2;
int iVar3;
uint local_8;
int local_6;
local_6 = 1;
while( true ) {
iVar3 = *(int *)((uint)DAT_1028_07d1 * 4 + 0x980);
iVar1 = *(int *)(local_6 * 4 + 0x87c);
if ((iVar1 < iVar3) ||
((iVar1 <= iVar3 &&
(*(uint *)(local_6 * 4 + 0x87a) < *(uint *)((uint)DAT_1028_07d1 * 4 + 0x97e))))) break;
if (local_6 == 10) {
return;
}
local_6 = local_6 + 1;
}
if (local_6 + 1U < 0xb) {
local_8 = 10;
while( true ) {
iVar3 = (local_8 - 1) * 4;
uVar2 = *(undefined2 *)(iVar3 + 0x87c);
*(undefined2 *)(local_8 * 4 + 0x87a) = *(undefined2 *)(iVar3 + 0x87a);
*(undefined2 *)(local_8 * 4 + 0x87c) = uVar2;
FUN_1020_0891(0x16,local_8 * 0x16 + 0x890,0x1028,(local_8 - 1) * 0x16 + 0x890,0x1028);
if (local_8 == local_6 + 1U) break;
local_8 = local_8 - 1;
}
}
uVar2 = *(undefined2 *)((uint)DAT_1028_07d1 * 4 + 0x980);
*(undefined2 *)(local_6 * 4 + 0x87a) = *(undefined2 *)((uint)DAT_1028_07d1 * 4 + 0x97e);
*(undefined2 *)(local_6 * 4 + 0x87c) = uVar2;
DAT_1028_07d2 = (undefined1)local_6;
FUN_1000_ab3c(param_1);
FUN_1000_a8ea(param_1);
return;
}
/* ===== 1000:acc2 FUN_1000_acc2 ===== */
void __stdcall16far FUN_1000_acc2(undefined2 param_1)
{
byte bVar1;
byte bVar2;
undefined2 uVar3;
undefined2 uVar4;
undefined2 uVar5;
undefined1 local_14c;
uVar5 = 0x1228;
uVar3 = GETDC();
bVar2 = DAT_1028_07d1;
bVar1 = DAT_1028_07d0;
if (DAT_1028_07d0 != 0) {
local_14c = 1;
while( true ) {
FUN_1008_0837(0x1f,0x8b,(local_14c - 1) * 0x2c + 0x114,0x1d8,uVar3);
FUN_1008_093f(0x1f,0x8b,(local_14c - 1) * 0x2c + 0x114,0x1d8,uVar3);
DAT_1028_07d1 = local_14c;
if (local_14c == bVar2) {
FUN_1000_bc36(param_1,0,0);
uVar5 = *(undefined2 *)((uint)local_14c * 4 + 0x990);
uVar4 = FUN_1020_08a9();
FUN_1000_bda2(param_1,uVar4,uVar5);
FUN_1000_0002(*(undefined2 *)((uint)local_14c * 2 + 0x9a4),uVar3);
FUN_1008_093f(0x7b,0x2a,0x4f,0x37,uVar3);
FUN_1008_0837(0xb,0xb,(local_14c - 1) * 0x2c + 0x118,0x174,uVar3);
FUN_1008_093f(0xb,0xb,(local_14c - 1) * 0x2c + 0x118,0x174,uVar3);
}
else {
FUN_1000_bc36(param_1,0xffff,0xffff);
FUN_1008_08bb(0xb,0xb,(local_14c - 1) * 0x2c + 0x118,0x174,uVar3);
FUN_1008_093f(0xb,0xb,(local_14c - 1) * 0x2c + 0x118,0x174,uVar3);
}
uVar5 = 0x1008;
if (local_14c == bVar1) break;
local_14c = local_14c + 1;
}
}
DAT_1028_07d1 = bVar2;
RELEASEDC(uVar5,uVar3);
return;
}
/* ===== 1000:ae6e FUN_1000_ae6e ===== */
void __stdcall16far FUN_1000_ae6e(int param_1)
{
byte bVar1;
uint uVar2;
undefined1 extraout_AH;
int iVar3;
int iVar4;
undefined2 uVar5;
undefined2 uVar6;
undefined2 uVar7;
undefined2 unaff_SS;
int local_9;
byte local_4;
if ((DAT_1028_0874 == '\0') && (DAT_1028_399a != 0)) {
DAT_1028_0874 = '\0';
FUN_1000_a38e(param_1,0);
uVar7 = DAT_1028_396b;
DAT_1028_07d3 = DAT_1028_3969;
DAT_1028_07d5 = DAT_1028_396b;
DAT_1028_07d7 = DAT_1028_396d;
DAT_1028_07d9 = DAT_1028_396f;
uVar5 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10);
iVar3 = (int)*(undefined4 *)(param_1 + 6);
*(undefined2 *)(iVar3 + 0xbc2) = DAT_1028_3969;
*(undefined2 *)(iVar3 + 0xbc4) = uVar7;
uVar7 = DAT_1028_07d9;
*(undefined2 *)(iVar3 + 0xbc6) = DAT_1028_07d7;
*(undefined2 *)(iVar3 + 0xbc8) = uVar7;
*(undefined1 *)(iVar3 + (uint)DAT_1028_07d1 * 0x14 + 0x47b) = 0;
FUN_1000_b3f3(param_1,0x3fc);
FUN_1000_bdde(param_1,1,0);
uVar7 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10);
iVar3 = (int)*(undefined4 *)(param_1 + 6);
*(undefined2 *)(iVar3 + 0xbaa) = 0;
*(undefined2 *)(iVar3 + 0xbac) = 0;
uVar7 = *(undefined2 *)(iVar3 + 0x58);
FUN_1020_100b();
FUN_1020_0ff7();
uVar5 = FUN_1020_1017();
uVar6 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10);
iVar3 = (int)*(undefined4 *)(param_1 + 6);
*(undefined2 *)(iVar3 + 0xbae) = uVar5;
*(undefined2 *)(iVar3 + 0xbb0) = uVar7;
*(undefined2 *)(iVar3 + 0xbca) = 0;
*(undefined2 *)(iVar3 + 0xbcc) = 0;
*(undefined2 *)(iVar3 + 0xbce) = 0;
*(undefined2 *)(iVar3 + 0xbd0) = 0;
*(undefined2 *)(iVar3 + 0xbd2) = 0;
DAT_1028_399a = 0;
DAT_1028_0875 = 1;
DAT_1028_41f9 = 1;
*(undefined1 *)(iVar3 + 0x61) = 1;
}
else {
DAT_1028_0875 = 0;
FUN_1008_0002(8);
iVar3 = param_1;
FUN_1000_a38e(param_1,0);
if (DAT_1028_0874 == '\0') {
*(undefined1 *)((int)*(undefined4 *)(param_1 + 6) + 0xbdd) = 0;
}
*(undefined1 *)((int)*(undefined4 *)(param_1 + 6) + 0xbdc) = 0;
if (*(int *)((uint)DAT_1028_07d1 * 2 + 0x81f) == 0) {
uVar7 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10);
iVar3 = (int)*(undefined4 *)(param_1 + 6);
*(undefined1 *)(iVar3 + 0xbda) = 0;
*(undefined1 *)(iVar3 + 0xbdb) = 0;
FUN_1000_a99c(param_1);
iVar3 = 0x1000;
FUN_1000_abe5(param_1);
}
uVar7 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10);
iVar4 = (int)*(undefined4 *)(param_1 + 6);
*(undefined2 *)(iVar4 + 0xbce) = 0;
*(undefined2 *)(iVar4 + 0xbd0) = 0;
*(undefined2 *)(iVar4 + 0xbd2) = 0;
local_4 = 1;
while( true ) {
*(undefined1 *)
((int)*(undefined4 *)(param_1 + 6) + (uint)DAT_1028_07d1 * 0xaf + (uint)local_4 + 0x61) =
*(undefined1 *)((uint)local_4 * 0x53 + 0x98f);
*(undefined2 *)
((int)*(undefined4 *)(param_1 + 6) + (uint)DAT_1028_07d1 * 0x15e + (uint)local_4 * 2 + 0x36c)
= *(undefined2 *)((uint)local_4 * 0x53 + 0x99e);
bVar1 = DAT_1028_07d1;
if (local_4 == 0xaf) break;
local_4 = local_4 + 1;
}
do {
uVar2 = (uint)DAT_1028_07d1 % (uint)DAT_1028_07d0 + 1;
DAT_1028_07d1 = (byte)uVar2;
if (0 < *(int *)((uVar2 & 0xff) * 2 + 0x81f)) break;
} while (DAT_1028_07d1 != bVar1);
if (*(int *)((uVar2 & 0xff) * 2 + 0x81f) < 1) {
DAT_1028_07d1 = 0;
FUN_1000_a70e(param_1);
if (DAT_1028_07d2 == '\0') {
uVar7 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10);
iVar3 = (int)*(undefined4 *)(param_1 + 6);
*(undefined1 *)(iVar3 + 0xbda) = 0;
*(undefined1 *)(iVar3 + 0xbdb) = 0;
FUN_1000_ab3c(param_1);
}
}
else {
local_4 = 1;
while( true ) {
*(undefined1 *)((uint)local_4 * 0x53 + 0x98f) =
*(undefined1 *)
((int)*(undefined4 *)(param_1 + 6) + (uint)DAT_1028_07d1 * 0xaf + (uint)local_4 + 0x61
);
*(undefined2 *)((uint)local_4 * 0x53 + 0x99e) =
*(undefined2 *)
((int)*(undefined4 *)(param_1 + 6) + (uint)DAT_1028_07d1 * 0x15e + (uint)local_4 * 2 +
0x36c);
if (DAT_1028_07d1 != bVar1) {
iVar3 = param_1;
FUN_1000_7e12(param_1,local_4);
}
if (local_4 == 0xaf) break;
local_4 = local_4 + 1;
}
local_4 = '\x01';
while( true ) {
if (DAT_1028_07d1 != bVar1) {
iVar3 = param_1;
FUN_1000_7e92(param_1,local_4);
}
if (local_4 == '\x14') break;
local_4 = local_4 + '\x01';
}
local_4 = 2;
while( true ) {
if (local_4 <= *(byte *)(DAT_1028_07d1 + 0x816)) {
iVar3 = param_1;
FUN_1000_b30b(param_1,local_4 + 999);
}
if (local_4 == 6) break;
local_4 = local_4 + 1;
}
if (DAT_1028_07d1 != bVar1) {
local_9 = 0;
local_4 = 1;
while( true ) {
if (*(char *)((int)*(undefined4 *)(param_1 + 6) + (uint)DAT_1028_07d1 * 0x14 +
(uint)local_4 + 0x46c) != '\0') {
local_9 = local_9 + 1;
}
if (local_4 == 9) break;
local_4 = local_4 + 1;
}
uVar7 = GETDC(0x1000,*(undefined2 *)((int)*(undefined4 *)(param_1 + 6) + 4));
FUN_1008_0dbd(local_9,uVar7);
FUN_1008_0b9e(CONCAT11(extraout_AH,DAT_1028_07d1),uVar7);
iVar3 = *(int *)((int)*(undefined4 *)(param_1 + 6) + 4);
RELEASEDC(0x1008,uVar7);
}
FUN_1000_acc2(param_1);
*(int *)((uint)DAT_1028_07d1 * 2 + 0x81f) = *(int *)((uint)DAT_1028_07d1 * 2 + 0x81f) + -1;
FUN_1000_9e85(param_1);
uVar7 = GETDC(0x1000,*(undefined2 *)((int)*(undefined4 *)(param_1 + 6) + 4),iVar3);
FUN_1008_08bb(0x14,0x94,0xf3,0x54,uVar7);
FUN_1008_093f(0x14,0x94,0xf3,0x54,uVar7);
RELEASEDC(0x1008,uVar7);
FUN_1000_a604(param_1);
}
}
return;
}
/* ===== 1000:b2c8 FUN_1000_b2c8 ===== */
void __stdcall16far
FUN_1000_b2c8(undefined2 param_1,int param_2,int param_3,int param_4,int param_5,undefined2 param_6)
{
FUN_1008_0837((param_2 - param_4) + 1,(param_3 - param_5) + 1,param_4,param_5,param_6);
FUN_1008_093f((param_2 - param_4) + 1,(param_3 - param_5) + 1,param_4,param_5,param_6);
return;
}
/* ===== 1000:b30b FUN_1000_b30b ===== */
void __stdcall16far FUN_1000_b30b(undefined2 param_1,uint param_2)
{
undefined2 uVar1;
int iVar2;
undefined2 uVar3;
uVar1 = GETDC();
if (param_2 < 0xb0) {
iVar2 = param_2 * 0x53;
uVar3 = 0x1000;
FUN_1000_b2c8(&stack0xfffe,*(undefined2 *)(iVar2 + 0x9ac),*(undefined2 *)(iVar2 + 0x9aa),
*(undefined2 *)(iVar2 + 0x9a8),*(undefined2 *)(iVar2 + 0x9a6),uVar1);
}
else if ((param_2 < 0x3ee) || (0x3f6 < param_2)) {
iVar2 = (param_2 - 1000) * 8;
uVar3 = 0x1000;
FUN_1000_b2c8(&stack0xfffe,*(undefined2 *)(iVar2 + 0x4269),*(undefined2 *)(iVar2 + 16999),
*(undefined2 *)(iVar2 + 0x4265),*(undefined2 *)(iVar2 + 0x4263),uVar1);
}
else {
uVar3 = 0x1008;
FUN_1008_0dbd(param_2 - 0x3ed,uVar1);
}
RELEASEDC(uVar3,uVar1);
return;
}
/* ===== 1000:b3b0 FUN_1000_b3b0 ===== */
void __stdcall16far
FUN_1000_b3b0(undefined2 param_1,int param_2,int param_3,int param_4,int param_5,undefined2 param_6)
{
FUN_1008_08bb((param_2 - param_4) + 1,(param_3 - param_5) + 1,param_4,param_5,param_6);
FUN_1008_093f((param_2 - param_4) + 1,(param_3 - param_5) + 1,param_4,param_5,param_6);
return;
}
/* ===== 1000:b3f3 FUN_1000_b3f3 ===== */
void __stdcall16far FUN_1000_b3f3(undefined2 param_1,uint param_2)
{
undefined2 uVar1;
int iVar2;
uVar1 = GETDC();
if (param_2 < 0xb0) {
iVar2 = param_2 * 0x53;
FUN_1000_b3b0(&stack0xfffe,*(undefined2 *)(iVar2 + 0x9ac),*(undefined2 *)(iVar2 + 0x9aa),
*(undefined2 *)(iVar2 + 0x9a8),*(undefined2 *)(iVar2 + 0x9a6),uVar1);
}
else {
iVar2 = (param_2 - 1000) * 8;
FUN_1000_b3b0(&stack0xfffe,*(undefined2 *)(iVar2 + 0x4269),*(undefined2 *)(iVar2 + 16999),
*(undefined2 *)(iVar2 + 0x4265),*(undefined2 *)(iVar2 + 0x4263),uVar1);
}
RELEASEDC(0x1000,uVar1);
return;
}
/* ===== 1000:b476 FUN_1000_b476 ===== */
void __stdcall16far FUN_1000_b476(int param_1,uint param_2,uint param_3)
{
uint uVar1;
bool bVar2;
int iVar3;
uint uVar4;
undefined2 uVar5;
int iVar6;
undefined2 uVar7;
undefined2 unaff_SS;
uint local_7;
byte local_3;
if (DAT_1028_07c6 == '\0') {
if ((((param_2 & 1) == 1) && (0x80 < param_3)) && (param_3 < 0x86)) {
*(undefined1 *)
((int)*(undefined4 *)(param_1 + 6) + (uint)DAT_1028_07d1 * 0x14 + param_3 + 0x3f5) = 1;
FUN_1000_b30b(param_1,param_3 + 0x376);
}
if ((param_2 & 2) == 2) {
iVar6 = *(int *)(param_3 * 0x53 + 0x99e);
*(undefined1 *)(iVar6 * 0x53 + 0x98f) = 0;
FUN_1000_7e12(param_1,iVar6);
if ((param_2 & 0x2000) == 0x2000) {
*(undefined1 *)((iVar6 + 1) * 0x53 + 0x98f) = 0;
*(undefined1 *)((iVar6 + 2) * 0x53 + 0x98f) = 0;
}
}
if ((((param_2 & 0x400) == 0x400) && (DAT_1028_07c7 == '\0')) && (DAT_1028_07c8 == '\0')) {
DAT_1028_0855 = 0;
DAT_1028_0857 = 0;
DAT_1028_07c7 = '\x01';
}
if ((param_2 & 4) == 4) {
FUN_1008_0002(0xc);
DAT_1028_39de = 1;
*(undefined1 *)((int)*(undefined4 *)(param_1 + 6) + (uint)DAT_1028_07d1 * 0xaf + 0xf6) = 1;
uVar7 = 0x1000;
FUN_1000_b30b(param_1,0x95);
if (DAT_1028_399a == 0) {
iVar6 = *(int *)((uint)DAT_1028_07d1 * 2 + 0x9a4);
do {
uVar7 = 0x1020;
iVar3 = FUN_1020_14a4(6);
*(int *)((uint)DAT_1028_07d1 * 2 + 0x9a4) = iVar3 + 1;
} while (*(int *)((uint)DAT_1028_07d1 * 2 + 0x9a4) == iVar6);
}
else {
*(undefined2 *)((uint)DAT_1028_07d1 * 2 + 0x9a4) = 7;
}
uVar7 = GETDC(uVar7,*(undefined2 *)((int)*(undefined4 *)(param_1 + 6) + 4));
FUN_1000_0002(*(undefined2 *)((uint)DAT_1028_07d1 * 2 + 0x9a4),uVar7);
FUN_1008_093f(0x7b,0x2a,0x4f,0x37,uVar7);
RELEASEDC(0x1008,uVar7);
}
if ((param_2 & 8) == 8) {
FUN_1008_0002(0xc);
bVar2 = true;
local_3 = 0;
while (*(char *)(((uint)local_3 * 3 + 0x5a) * 0x53 + 0x98f) == '\0') {
if (local_3 == 4) goto LAB_1000_b66c;
local_3 = local_3 + 1;
}
bVar2 = false;
LAB_1000_b66c:
if (bVar2) {
FUN_1008_0002(0x11);
if (*(char *)(DAT_1028_07d1 + 0x816) == '\x06') {
FUN_1000_bc36(param_1,50000,0);
}
else {
if (*(char *)(DAT_1028_07d1 + 0x816) == '\x01') {
*(undefined1 *)(DAT_1028_07d1 + 0x816) = 2;
}
else {
*(char *)(DAT_1028_07d1 + 0x816) = *(char *)(DAT_1028_07d1 + 0x816) + '\x01';
}
FUN_1000_b30b(param_1,*(byte *)(DAT_1028_07d1 + 0x816) + 999);
}
local_3 = 0;
while( true ) {
*(undefined1 *)(((uint)local_3 * 3 + 0x5a) * 0x53 + 0x98f) = 1;
*(undefined1 *)(((uint)local_3 * 3 + 0x5b) * 0x53 + 0x98f) = 1;
*(undefined1 *)(((uint)local_3 * 3 + 0x5c) * 0x53 + 0x98f) = 1;
FUN_1000_7e12(param_1,(uint)local_3 * 3 + 0x5a);
if (local_3 == 4) break;
local_3 = local_3 + 1;
}
}
}
if ((param_2 & 0x10) == 0x10) {
FUN_1008_0002(0xc);
bVar2 = true;
local_3 = 0;
while (*(char *)(((uint)local_3 * 3 + 0x6d) * 0x53 + 0x98f) == '\0') {
if (local_3 == 3) goto LAB_1000_b79e;
local_3 = local_3 + 1;
}
bVar2 = false;
LAB_1000_b79e:
if (bVar2) {
local_7 = 1;
local_3 = 1;
while( true ) {
if (*(char *)((int)*(undefined4 *)(param_1 + 6) + (uint)DAT_1028_07d1 * 0x14 +
(uint)local_3 + 0x46c) != '\0') {
local_7 = local_7 + 1;
}
if (local_3 == 9) break;
local_3 = local_3 + 1;
}
if (local_7 < 9) {
FUN_1008_0002(0x11);
*(undefined1 *)
((int)*(undefined4 *)(param_1 + 6) + (uint)DAT_1028_07d1 * 0x14 + local_7 + 0x46c) = 1;
FUN_1000_b30b(param_1,local_7 + 0x3ed);
FUN_1000_bc36(param_1,local_7 * 10000,0);
}
else if (local_7 == 9) {
FUN_1008_0002(0x11);
*(undefined1 *)((int)*(undefined4 *)(param_1 + 6) + (uint)DAT_1028_07d1 * 0x14 + 0x475) =
1;
FUN_1000_b30b(param_1,0x3f6);
FUN_1000_bc36(param_1,0x5f90,0);
uVar7 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10);
iVar6 = (int)*(undefined4 *)(param_1 + 6);
*(undefined1 *)(iVar6 + 0xbdc) = 1;
DAT_1028_3b2a = 1;
DAT_1028_0b81 = 1;
DAT_1028_3b7d = 1;
uVar7 = GETDC(0x1000,*(undefined2 *)(iVar6 + 4));
FUN_1008_0837((DAT_1028_3b47 - DAT_1028_3b43) + 1,(DAT_1028_3b45 - DAT_1028_3b41) + 1,
DAT_1028_3b43,DAT_1028_3b41,uVar7);
FUN_1008_093f((DAT_1028_3b47 - DAT_1028_3b43) + 1,(DAT_1028_3b45 - DAT_1028_3b41) + 1,
DAT_1028_3b43,DAT_1028_3b41,uVar7);
FUN_1008_0837((DAT_1028_3b9a - DAT_1028_3b96) + 1,(DAT_1028_3b98 - DAT_1028_3b94) + 1,
DAT_1028_3b96,DAT_1028_3b94,uVar7);
FUN_1008_093f((DAT_1028_3b9a - DAT_1028_3b96) + 1,(DAT_1028_3b98 - DAT_1028_3b94) + 1,
DAT_1028_3b96,DAT_1028_3b94,uVar7);
FUN_1008_0837((DAT_1028_0b9e - DAT_1028_0b9a) + 1,(DAT_1028_0b9c - DAT_1028_0b98) + 1,
DAT_1028_0b9a,DAT_1028_0b98,uVar7);
FUN_1008_093f((DAT_1028_0b9e - DAT_1028_0b9a) + 1,(DAT_1028_0b9c - DAT_1028_0b98) + 1,
DAT_1028_0b9a,DAT_1028_0b98,uVar7);
RELEASEDC(0x1008,uVar7);
}
else {
FUN_1008_0002(7);
if (*(char *)((int)*(undefined4 *)(param_1 + 6) + 0xbdc) == '\0') {
*(undefined1 *)((int)*(undefined4 *)(param_1 + 6) + 0xbdc) = 1;
}
else {
uVar1 = *(uint *)((uint)DAT_1028_07d1 * 4 + 0x98e);
iVar6 = *(int *)((uint)DAT_1028_07d1 * 4 + 0x990);
uVar4 = (uint)DAT_1028_07d1;
*(int *)(uVar4 * 4 + 0x98e) = uVar1 + 0x86a0;
*(int *)(uVar4 * 4 + 0x990) = iVar6 + 1 + (uint)(0x795f < uVar1);
uVar7 = *(undefined2 *)((uint)DAT_1028_07d1 * 4 + 0x990);
uVar5 = FUN_1020_08a9();
FUN_1000_bda2(param_1,uVar5,uVar7);
}
}
local_3 = 0;
while( true ) {
*(undefined1 *)(((uint)local_3 * 3 + 0x6d) * 0x53 + 0x98f) = 1;
*(undefined1 *)(((uint)local_3 * 3 + 0x6e) * 0x53 + 0x98f) = 1;
*(undefined1 *)(((uint)local_3 * 3 + 0x6f) * 0x53 + 0x98f) = 1;
FUN_1000_7e12(param_1,(uint)local_3 * 3 + 0x6d);
if (local_3 == 3) break;
local_3 = local_3 + 1;
}
}
}
if ((param_2 & 0x1000) == 0x1000) {
if (param_3 == 0x96) {
*(undefined1 *)((int)*(undefined4 *)(param_1 + 6) + 0xf7) = 10;
FUN_1000_b30b(param_1,0x96);
DAT_1028_3b2a = 1;
FUN_1000_b30b(param_1,0x99);
}
else if (param_3 == 0x97) {
*(undefined1 *)((int)*(undefined4 *)(param_1 + 6) + 0xf8) = 10;
FUN_1000_b30b(param_1,0x97);
DAT_1028_0b81 = 1;
FUN_1000_b30b(param_1,6);
}
else if (param_3 == 0x98) {
*(undefined1 *)((int)*(undefined4 *)(param_1 + 6) + 0xf9) = 10;
FUN_1000_b30b(param_1,0x98);
DAT_1028_3b7d = 1;
FUN_1000_b30b(param_1,0x9a);
}
}
if ((param_2 & 0x40) == 0x40) {
if (param_3 == 0x33) {
FUN_1008_0002(6);
*(undefined1 *)((int)*(undefined4 *)(param_1 + 6) + 0x94) = 5;
FUN_1000_b30b(param_1,0x33);
iVar6 = (*(byte *)(DAT_1028_07d1 + 0x816) - 1) * 1000;
FUN_1000_bc36(param_1,iVar6,iVar6 >> 0xf);
}
else if (param_3 == 0x34) {
FUN_1008_0002(6);
*(undefined1 *)((int)*(undefined4 *)(param_1 + 6) + 0x95) = 5;
FUN_1000_b30b(param_1,0x34);
iVar6 = (*(byte *)(DAT_1028_07d1 + 0x816) - 1) * 1000;
FUN_1000_bc36(param_1,iVar6,iVar6 >> 0xf);
}
else if (param_3 == 0x35) {
FUN_1008_0002(6);
*(undefined1 *)((int)*(undefined4 *)(param_1 + 6) + 0x96) = 5;
FUN_1000_b30b(param_1,0x35);
iVar6 = (*(byte *)(DAT_1028_07d1 + 0x816) - 1) * 1000;
FUN_1000_bc36(param_1,iVar6,iVar6 >> 0xf);
}
else if ((0x8b < param_3) && (param_3 < 0x94)) {
*(undefined1 *)((int)*(undefined4 *)(param_1 + 6) + param_3 + 0x61) = 0x14;
FUN_1000_b30b(param_1,param_3);
}
}
}
return;
}
/* ===== 1000:bc36 FUN_1000_bc36 ===== */
void __stdcall16far FUN_1000_bc36(int param_1,uint param_2,int param_3)
{
uint *puVar1;
int *piVar2;
uint uVar3;
int iVar4;
int iVar5;
undefined2 uVar6;
uint uVar7;
int iVar8;
undefined2 unaff_SS;
undefined2 uVar9;
uVar9 = *(undefined2 *)((int)*(undefined4 *)(param_1 + 6) + 4);
uVar6 = GETDC();
if (((param_3 != -1) || (param_2 != 0xffff)) && (DAT_1028_07c6 == '\0')) {
if (DAT_1028_0874 != '\0') {
param_2 = FUN_1020_08a9(uVar9);
}
if (*(char *)((int)*(undefined4 *)(param_1 + 6) + 0xbdc) != '\0') {
param_2 = FUN_1020_08a9(uVar9);
}
uVar3 = *(uint *)((uint)DAT_1028_07d1 * 4 + 0x97e);
iVar4 = *(int *)((uint)DAT_1028_07d1 * 4 + 0x980);
uVar7 = (uint)DAT_1028_07d1;
*(int *)(uVar7 * 4 + 0x97e) = uVar3 + param_2;
*(int *)(uVar7 * 4 + 0x980) = iVar4 + param_3 + (uint)CARRY2(uVar3,param_2);
iVar4 = *(int *)((uint)DAT_1028_07d1 * 4 + 0x837);
if ((iVar4 < 0) || ((iVar4 < 1 && (*(uint *)((uint)DAT_1028_07d1 * 4 + 0x835) < 5)))) {
iVar8 = *(int *)((uint)DAT_1028_07d1 * 4 + 0x835) * 4;
iVar4 = *(int *)(iVar8 + 0x827);
iVar5 = *(int *)((uint)DAT_1028_07d1 * 4 + 0x980);
if ((iVar4 < iVar5) ||
((iVar4 <= iVar5 &&
(*(uint *)(iVar8 + 0x825) <= *(uint *)((uint)DAT_1028_07d1 * 4 + 0x97e))))) {
FUN_1008_0002(7);
uVar7 = (uint)DAT_1028_07d1;
puVar1 = (uint *)(uVar7 * 4 + 0x835);
uVar3 = *puVar1;
*puVar1 = *puVar1 + 1;
piVar2 = (int *)(uVar7 * 4 + 0x837);
*piVar2 = *piVar2 + (uint)(0xfffe < uVar3);
piVar2 = (int *)((uint)DAT_1028_07d1 * 2 + 0x81f);
*piVar2 = *piVar2 + 1;
FUN_1000_a604(param_1);
}
}
FUN_1008_0b9e(DAT_1028_07d1,uVar6);
}
FUN_1008_0996(uVar6,DAT_1028_07d1,0);
RELEASEDC(0x1008,uVar6);
return;
}
/* ===== 1000:bda2 FUN_1000_bda2 ===== */
void __stdcall16far FUN_1000_bda2(undefined2 param_1,undefined2 param_2,undefined2 param_3)
{
undefined2 uVar1;
uVar1 = GETDC();
FUN_1008_0996(uVar1,param_2,param_3);
RELEASEDC(0x1008,uVar1);
return;
}
/* ===== 1000:bdde FUN_1000_bdde ===== */
void __stdcall16far FUN_1000_bdde(undefined2 param_1,int param_2)
{
uint uVar1;
int iVar2;
int iVar3;
iVar2 = DAT_1028_07d5;
iVar3 = (param_2 + 0xad) * 0x53;
*(uint *)(iVar3 + 0x96d) = DAT_1028_07d3;
*(int *)(iVar3 + 0x96f) = iVar2;
iVar2 = DAT_1028_07d9;
iVar3 = (param_2 + 0xad) * 0x53;
*(uint *)(iVar3 + 0x971) = DAT_1028_07d7;
*(int *)(iVar3 + 0x973) = iVar2;
uVar1 = DAT_1028_07d3 + 0xc180;
iVar2 = DAT_1028_07d5 - (uint)(DAT_1028_07d3 < 16000);
iVar3 = (param_2 + 0xad) * 0x53;
*(int *)(iVar3 + 0x95d) = DAT_1028_07d3 + 0xadf8;
*(int *)(iVar3 + 0x95f) = iVar2 - (uint)(uVar1 < 5000);
uVar1 = DAT_1028_07d7 + 0xc180;
iVar2 = DAT_1028_07d9 - (uint)(DAT_1028_07d7 < 16000);
iVar3 = (param_2 + 0xad) * 0x53;
*(int *)(iVar3 + 0x961) = DAT_1028_07d7 + 0xadf8;
*(int *)(iVar3 + 0x963) = iVar2 - (uint)(uVar1 < 5000);
uVar1 = DAT_1028_07d3 + 16000;
iVar2 = DAT_1028_07d5 + (uint)(0xc17f < DAT_1028_07d3);
iVar3 = (param_2 + 0xad) * 0x53;
*(int *)(iVar3 + 0x965) = DAT_1028_07d3 + 21000;
*(int *)(iVar3 + 0x967) = iVar2 + (uint)(0xec77 < uVar1);
uVar1 = DAT_1028_07d7 + 16000;
iVar2 = DAT_1028_07d9 + (uint)(0xc17f < DAT_1028_07d7);
iVar3 = (param_2 + 0xad) * 0x53;
*(int *)(iVar3 + 0x969) = DAT_1028_07d7 + 21000;
*(int *)(iVar3 + 0x96b) = iVar2 + (uint)(0xec77 < uVar1);
return;
}
/* ===== 1000:beff FUN_1000_beff ===== */
void __stdcall16far FUN_1000_beff(int param_1,uint param_2,int param_3,uint param_4,int param_5)
{
undefined2 uVar1;
undefined2 uVar2;
uint uVar3;
int iVar4;
int iVar5;
undefined2 unaff_CS;
undefined2 unaff_SS;
bool bVar6;
undefined2 uVar7;
undefined2 uVar8;
uVar1 = *(undefined2 *)((int)*(undefined4 *)(param_1 + 6) + 4);
GETCLIENTRECT(unaff_CS,param_1 + -0x1a,unaff_SS);
uVar1 = GETDC(0x1228,*(undefined2 *)((int)*(undefined4 *)(param_1 + 6) + 4),uVar1);
*(undefined2 *)(param_1 + -0xc) = uVar1;
uVar1 = CREATECOMPATIBLEDC(0x1228,*(undefined2 *)(param_1 + -0xc));
*(undefined2 *)(param_1 + -0xe) = uVar1;
uVar1 = CREATECOMPATIBLEDC(0x1228,*(undefined2 *)(param_1 + -0xc));
*(undefined2 *)(param_1 + -0x10) = uVar1;
uVar1 = CREATECOMPATIBLEDC(0x1228,*(undefined2 *)(param_1 + -0xc));
*(undefined2 *)(param_1 + -0x12) = uVar1;
uVar1 = *(undefined2 *)(param_1 + -0xc);
uVar2 = CREATECOMPATIBLEBITMAP(0x1228,100,100);
*(undefined2 *)(param_1 + -8) = uVar2;
iVar4 = DAT_1028_07d5;
uVar2 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10);
iVar5 = (int)*(undefined4 *)(param_1 + 6);
*(uint *)(iVar5 + 0xbc2) = DAT_1028_07d3;
*(int *)(iVar5 + 0xbc4) = iVar4;
iVar4 = DAT_1028_07d9;
*(uint *)(iVar5 + 0xbc6) = DAT_1028_07d7;
*(int *)(iVar5 + 0xbc8) = iVar4;
bVar6 = CARRY2(DAT_1028_07d7,param_4);
DAT_1028_07d7 = DAT_1028_07d7 + param_4;
DAT_1028_07d9 = DAT_1028_07d9 + param_5 + (uint)bVar6;
bVar6 = CARRY2(DAT_1028_07d3,param_2);
DAT_1028_07d3 = DAT_1028_07d3 + param_2;
DAT_1028_07d5 = DAT_1028_07d5 + param_3 + (uint)bVar6;
iVar4 = DAT_1028_07d5 + (uint)(0xfe0b < DAT_1028_07d3);
uVar3 = FUN_1020_08e6(uVar1);
uVar1 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10);
iVar5 = (int)*(undefined4 *)(param_1 + 6);
*(int *)(iVar5 + 0xba2) = uVar3 - 8;
*(int *)(iVar5 + 0xba4) = iVar4 - (uint)(uVar3 < 8);
iVar4 = DAT_1028_07d9 + (uint)(0xfe0b < DAT_1028_07d7);
uVar3 = FUN_1020_08e6();
uVar1 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10);
iVar5 = (int)*(undefined4 *)(param_1 + 6);
*(int *)(iVar5 + 0xba6) = uVar3 - 8;
*(int *)(iVar5 + 0xba8) = iVar4 - (uint)(uVar3 < 8);
iVar4 = (DAT_1028_07d5 - *(int *)(iVar5 + 0xbc4)) -
(uint)(DAT_1028_07d3 < *(uint *)(iVar5 + 0xbc2));
uVar1 = FUN_1020_08e6();
uVar2 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10);
iVar5 = (int)*(undefined4 *)(param_1 + 6);
*(undefined2 *)(iVar5 + 0xbb2) = uVar1;
*(int *)(iVar5 + 0xbb4) = iVar4;
iVar4 = (DAT_1028_07d9 - *(int *)(iVar5 + 0xbc8)) -
(uint)(DAT_1028_07d7 < *(uint *)(iVar5 + 0xbc6));
uVar1 = FUN_1020_08e6();
uVar2 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10);
iVar5 = (int)*(undefined4 *)(param_1 + 6);
*(undefined2 *)(iVar5 + 0xbb6) = uVar1;
*(int *)(iVar5 + 3000) = iVar4;
if ((*(int *)(iVar5 + 0xbb4) < 1) &&
((*(int *)(iVar5 + 0xbb4) < 0 || (*(int *)(iVar5 + 0xbb2) == 0)))) {
*(int *)(param_1 + -0x20) = *(int *)((int)*(undefined4 *)(param_1 + 6) + 0xba2) + -1;
*(undefined2 *)(param_1 + -0x1c) = 1;
}
else {
uVar1 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10);
iVar4 = (int)*(undefined4 *)(param_1 + 6);
*(int *)(param_1 + -0x20) = (*(int *)(iVar4 + 0xba2) - *(int *)(iVar4 + 0xbb2)) + -1;
*(int *)(param_1 + -0x1c) = *(int *)((int)*(undefined4 *)(param_1 + 6) + 0xbb2) + 1;
}
uVar1 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10);
iVar5 = (int)*(undefined4 *)(param_1 + 6);
iVar4 = *(int *)(iVar5 + 3000);
if ((iVar4 < 1) && ((iVar4 < 0 || (*(int *)(iVar5 + 0xbb6) == 0)))) {
*(int *)(param_1 + -0x22) = *(int *)((int)*(undefined4 *)(param_1 + 6) + 0xba6) + -1;
*(undefined2 *)(param_1 + -0x1e) = 1;
}
else {
uVar1 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10);
iVar4 = (int)*(undefined4 *)(param_1 + 6);
*(int *)(param_1 + -0x22) = (*(int *)(iVar4 + 0xba6) - *(int *)(iVar4 + 0xbb6)) + -1;
*(int *)(param_1 + -0x1e) = *(int *)((int)*(undefined4 *)(param_1 + 6) + 0xbb6) + 1;
}
uVar1 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10);
iVar5 = (int)*(undefined4 *)(param_1 + 6);
iVar4 = *(int *)(iVar5 + 0xbb2);
if (*(int *)(iVar5 + 0xbb4) < 0) {
iVar4 = -iVar4;
}
*(int *)(param_1 + -0x28) = iVar4 + 0x13;
uVar1 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10);
iVar5 = (int)*(undefined4 *)(param_1 + 6);
iVar4 = *(int *)(iVar5 + 0xbb6);
if (*(int *)(iVar5 + 3000) < 0) {
iVar4 = -iVar4;
}
*(int *)(param_1 + -0x2a) = iVar4 + 0x13;
uVar1 = SELECTOBJECT(0x1020,DAT_1028_085b);
*(undefined2 *)(param_1 + -2) = uVar1;
uVar1 = SELECTOBJECT(0x1228,*(undefined2 *)(param_1 + -8));
*(undefined2 *)(param_1 + -4) = uVar1;
BITBLT(0x1228,0x20,0xcc,*(undefined2 *)(param_1 + -0x22),*(undefined2 *)(param_1 + -0x20),
*(undefined2 *)(param_1 + -0xe),*(undefined2 *)(param_1 + -0x2a),
*(undefined2 *)(param_1 + -0x28),0,0);
SELECTOBJECT(0x1228,*(undefined2 *)((int)*(undefined4 *)(param_1 + 6) + 0x54));
BITBLT(0x1228,0xc6,0x88,0,0,*(undefined2 *)(param_1 + -0xe),0x13,0x13,
*(undefined2 *)(param_1 + -0x1e),*(undefined2 *)(param_1 + -0x1c));
SELECTOBJECT(0x1228,*(undefined2 *)((int)*(undefined4 *)(param_1 + 6) + 0x52));
BITBLT(0x1228,0x86,0xee,0,0,*(undefined2 *)(param_1 + -0xe),0x13,0x13,
*(undefined2 *)(param_1 + -0x1e),*(undefined2 *)(param_1 + -0x1c));
if (0x1ba < *(int *)(param_1 + -0x22) + *(int *)(param_1 + -0x2a)) {
if (*(int *)(param_1 + -0x22) < 0x1bb) {
*(int *)(param_1 + -0x2a) = 0x1bb - *(int *)(param_1 + -0x22);
}
else {
*(undefined2 *)(param_1 + -0x2a) = 0;
}
}
uVar1 = *(undefined2 *)(param_1 + -0xc);
BITBLT(0x1228,0x20,0xcc,0,0,*(undefined2 *)(param_1 + -0x10),*(undefined2 *)(param_1 + -0x2a),
*(undefined2 *)(param_1 + -0x28),*(undefined2 *)(param_1 + -0x22),
*(undefined2 *)(param_1 + -0x20));
uVar2 = *(undefined2 *)(param_1 + -0xe);
SELECTOBJECT(0x1228,*(undefined2 *)(param_1 + -2));
uVar8 = *(undefined2 *)(param_1 + -0x10);
SELECTOBJECT(0x1228,*(undefined2 *)(param_1 + -4));
uVar7 = *(undefined2 *)(param_1 + -0x12);
SELECTOBJECT(0x1228,*(undefined2 *)(param_1 + -6));
DELETEOBJECT(0x1228,*(undefined2 *)(param_1 + -8),uVar7,uVar8,uVar2,uVar1);
DELETEDC(0x1228,*(undefined2 *)(param_1 + -0xe));
DELETEDC(0x1228,*(undefined2 *)(param_1 + -0x10));
DELETEDC(0x1228,*(undefined2 *)(param_1 + -0x12));
RELEASEDC(0x1228,*(undefined2 *)(param_1 + -0xc));
return;
}
/* ===== 1000:c36b FUN_1000_c36b ===== */
void __stdcall16far FUN_1000_c36b(int param_1,int param_2)
{
undefined2 uVar1;
int iVar2;
int iVar3;
undefined2 uVar4;
undefined2 uVar5;
undefined2 unaff_SS;
DAT_1028_07d3 = *(undefined2 *)(param_2 * 4 + 0x7e3);
DAT_1028_07d5 = *(undefined2 *)(param_2 * 4 + 0x7e5);
DAT_1028_07d7 = *(undefined2 *)(param_2 * 4 + 0x7eb);
DAT_1028_07d9 = *(undefined2 *)(param_2 * 4 + 0x7ed);
uVar1 = *(undefined2 *)(param_2 * 4 + 0x7f5);
uVar4 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10);
iVar2 = (int)*(undefined4 *)(param_1 + 6);
*(undefined2 *)(iVar2 + 0xbaa) = *(undefined2 *)(param_2 * 4 + 0x7f3);
*(undefined2 *)(iVar2 + 0xbac) = uVar1;
uVar1 = *(undefined2 *)(param_2 * 4 + 0x7fd);
uVar4 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10);
iVar2 = (int)*(undefined4 *)(param_1 + 6);
*(undefined2 *)(iVar2 + 0xbae) = *(undefined2 *)(param_2 * 4 + 0x7fb);
*(undefined2 *)(iVar2 + 0xbb0) = uVar1;
iVar2 = param_2 * 6;
uVar1 = *(undefined2 *)(iVar2 + 0x80d);
uVar4 = *(undefined2 *)(iVar2 + 0x80f);
uVar5 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10);
iVar3 = (int)*(undefined4 *)(param_1 + 6);
*(undefined2 *)(iVar3 + 0xbce) = *(undefined2 *)(iVar2 + 0x80b);
*(undefined2 *)(iVar3 + 0xbd0) = uVar1;
*(undefined2 *)(iVar3 + 0xbd2) = uVar4;
uVar1 = *(undefined2 *)(param_2 * 4 + 0x805);
uVar4 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10);
iVar2 = (int)*(undefined4 *)(param_1 + 6);
*(undefined2 *)(iVar2 + 0xbca) = *(undefined2 *)(param_2 * 4 + 0x803);
*(undefined2 *)(iVar2 + 0xbcc) = uVar1;
return;
}
/* ===== 1000:c426 FUN_1000_c426 ===== */
void __stdcall16far FUN_1000_c426(int param_1,int param_2)
{
undefined2 uVar1;
int iVar2;
int iVar3;
undefined2 uVar4;
undefined2 uVar5;
undefined2 unaff_SS;
uVar1 = DAT_1028_07d5;
*(undefined2 *)(param_2 * 4 + 0x7e3) = DAT_1028_07d3;
*(undefined2 *)(param_2 * 4 + 0x7e5) = uVar1;
uVar1 = DAT_1028_07d9;
*(undefined2 *)(param_2 * 4 + 0x7eb) = DAT_1028_07d7;
*(undefined2 *)(param_2 * 4 + 0x7ed) = uVar1;
uVar4 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10);
iVar2 = (int)*(undefined4 *)(param_1 + 6);
uVar1 = *(undefined2 *)(iVar2 + 0xbac);
*(undefined2 *)(param_2 * 4 + 0x7f3) = *(undefined2 *)(iVar2 + 0xbaa);
*(undefined2 *)(param_2 * 4 + 0x7f5) = uVar1;
uVar4 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10);
iVar2 = (int)*(undefined4 *)(param_1 + 6);
uVar1 = *(undefined2 *)(iVar2 + 0xbb0);
*(undefined2 *)(param_2 * 4 + 0x7fb) = *(undefined2 *)(iVar2 + 0xbae);
*(undefined2 *)(param_2 * 4 + 0x7fd) = uVar1;
uVar5 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10);
iVar3 = (int)*(undefined4 *)(param_1 + 6);
uVar1 = *(undefined2 *)(iVar3 + 0xbd0);
uVar4 = *(undefined2 *)(iVar3 + 0xbd2);
iVar2 = param_2 * 6;
*(undefined2 *)(iVar2 + 0x80b) = *(undefined2 *)(iVar3 + 0xbce);
*(undefined2 *)(iVar2 + 0x80d) = uVar1;
*(undefined2 *)(iVar2 + 0x80f) = uVar4;
uVar4 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10);
iVar2 = (int)*(undefined4 *)(param_1 + 6);
uVar1 = *(undefined2 *)(iVar2 + 0xbcc);
*(undefined2 *)(param_2 * 4 + 0x803) = *(undefined2 *)(iVar2 + 0xbca);
*(undefined2 *)(param_2 * 4 + 0x805) = uVar1;
return;
}
/* ===== 1000:c4e1 FUN_1000_c4e1 ===== */
void __stdcall16far FUN_1000_c4e1(int param_1,int param_2)
{
int iVar1;
uint uVar2;
undefined2 uVar3;
uint uVar4;
undefined2 uVar5;
undefined2 unaff_SS;
iVar1 = *(int *)((uint)DAT_1028_07d1 * 2 + 0x9a4);
if (iVar1 == 1) {
uVar4 = *(uint *)((uint)DAT_1028_07d1 * 4 + 0x98e);
iVar1 = *(int *)((uint)DAT_1028_07d1 * 4 + 0x990);
uVar2 = (uint)DAT_1028_07d1;
*(int *)(uVar2 * 4 + 0x98e) = uVar4 + 10000;
*(int *)(uVar2 * 4 + 0x990) = iVar1 + (uint)(0xd8ef < uVar4);
uVar5 = *(undefined2 *)((uint)DAT_1028_07d1 * 4 + 0x990);
uVar3 = FUN_1020_08a9();
FUN_1000_bda2(param_1,uVar3,uVar5);
}
else if (iVar1 == 2) {
uVar4 = *(uint *)((uint)DAT_1028_07d1 * 4 + 0x98e);
iVar1 = *(int *)((uint)DAT_1028_07d1 * 4 + 0x990);
uVar2 = (uint)DAT_1028_07d1;
*(int *)(uVar2 * 4 + 0x98e) = uVar4 + 20000;
*(int *)(uVar2 * 4 + 0x990) = iVar1 + (uint)(0xb1df < uVar4);
uVar5 = *(undefined2 *)((uint)DAT_1028_07d1 * 4 + 0x990);
uVar3 = FUN_1020_08a9();
FUN_1000_bda2(param_1,uVar3,uVar5);
}
else if (iVar1 == 3) {
uVar4 = *(uint *)((uint)DAT_1028_07d1 * 4 + 0x98e);
iVar1 = *(int *)((uint)DAT_1028_07d1 * 4 + 0x990);
uVar2 = (uint)DAT_1028_07d1;
*(int *)(uVar2 * 4 + 0x98e) = uVar4 + 50000;
*(int *)(uVar2 * 4 + 0x990) = iVar1 + (uint)(0x3caf < uVar4);
uVar5 = *(undefined2 *)((uint)DAT_1028_07d1 * 4 + 0x990);
uVar3 = FUN_1020_08a9();
FUN_1000_bda2(param_1,uVar3,uVar5);
}
else if (iVar1 == 4) {
uVar4 = *(uint *)((uint)DAT_1028_07d1 * 4 + 0x98e);
iVar1 = *(int *)((uint)DAT_1028_07d1 * 4 + 0x990);
uVar2 = (uint)DAT_1028_07d1;
*(int *)(uVar2 * 4 + 0x98e) = uVar4 + 0x86a0;
*(int *)(uVar2 * 4 + 0x990) = iVar1 + 1 + (uint)(0x795f < uVar4);
uVar5 = *(undefined2 *)((uint)DAT_1028_07d1 * 4 + 0x990);
uVar3 = FUN_1020_08a9();
FUN_1000_bda2(param_1,uVar3,uVar5);
}
else if (iVar1 == 5) {
uVar4 = *(uint *)((uint)DAT_1028_07d1 * 4 + 0x98e);
iVar1 = *(int *)((uint)DAT_1028_07d1 * 4 + 0x990);
uVar2 = (uint)DAT_1028_07d1;
*(int *)(uVar2 * 4 + 0x98e) = uVar4 + 0xd40;
*(int *)(uVar2 * 4 + 0x990) = iVar1 + 3 + (uint)(0xf2bf < uVar4);
uVar5 = *(undefined2 *)((uint)DAT_1028_07d1 * 4 + 0x990);
uVar3 = FUN_1020_08a9();
FUN_1000_bda2(param_1,uVar3,uVar5);
}
else if (iVar1 == 6) {
uVar5 = *(undefined2 *)((uint)DAT_1028_07d1 * 4 + 0x990);
uVar3 = FUN_1020_08a9();
FUN_1000_bc36(param_1,uVar3,uVar5);
uVar4 = (uint)DAT_1028_07d1;
*(undefined2 *)(uVar4 * 4 + 0x98e) = 0;
*(undefined2 *)(uVar4 * 4 + 0x990) = 0;
FUN_1000_bda2(param_1,0,0);
}
else if ((iVar1 == 7) && (DAT_1028_399a != 0)) {
if ((param_2 < 0) || (DAT_1028_399a != param_2)) {
*(undefined1 *)((int)*(undefined4 *)(param_1 + 6) + 0xbe0) = 1;
DAT_1028_0874 = 1;
}
}
return;
}
/* ===== 1000:c79c FUN_1000_c79c ===== */
void __stdcall16far FUN_1000_c79c(int param_1)
{
uint *puVar1;
int *piVar2;
byte bVar3;
undefined2 uVar4;
int iVar5;
char cVar6;
uint uVar7;
uint uVar8;
uint uVar9;
uint uVar10;
uint uVar11;
uint extraout_DX;
uint extraout_DX_00;
int extraout_DX_01;
uint extraout_DX_02;
uint extraout_DX_03;
uint extraout_DX_04;
uint uVar12;
int extraout_DX_05;
int extraout_DX_06;
uint in_BX;
int iVar13;
int iVar14;
int iVar15;
int iVar16;
int iVar17;
int iVar18;
undefined2 uVar19;
undefined2 unaff_SS;
bool bVar20;
bool bVar21;
uint uVar22;
int in_stack_0000d8a2;
uint in_stack_0000d8b0;
int in_stack_0000d8b2;
uint in_stack_0000d8c2;
int in_stack_0000d8cc;
int in_stack_0000d8ce;
int in_stack_0000d8d0;
undefined2 local_7c;
uint local_7a;
uint local_78;
undefined2 local_76;
uint local_74;
uint local_72;
uint local_70;
uint local_6e;
uint local_68;
uint local_66;
uint local_64;
uint local_62;
undefined2 local_40;
uint local_3e;
undefined2 local_3c;
uint local_16;
uint local_14;
uint local_12;
uint local_10;
uint local_e;
uint local_c;
uint local_8;
int local_4;
uVar19 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10);
iVar13 = (int)*(undefined4 *)(param_1 + 6);
puVar1 = (uint *)(iVar13 + 0x4d);
uVar10 = *puVar1;
*puVar1 = *puVar1 + 1;
*(int *)(iVar13 + 0x4f) = *(int *)(iVar13 + 0x4f) + (uint)(0xfffe < uVar10);
iVar5 = DAT_1028_0871;
bVar3 = *(byte *)(iVar13 + 0x61);
if (bVar3 == 0) {
return;
}
local_8 = 1;
while( true ) {
if (1 < *(byte *)((int)*(undefined4 *)(param_1 + 6) + 0x61)) {
FUN_1000_c36b();
}
iVar13 = DAT_1028_07d5;
uVar19 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10);
iVar14 = (int)*(undefined4 *)(param_1 + 6);
*(uint *)(iVar14 + 0xbc2) = DAT_1028_07d3;
*(int *)(iVar14 + 0xbc4) = iVar13;
iVar13 = DAT_1028_07d9;
*(uint *)(iVar14 + 0xbc6) = DAT_1028_07d7;
*(int *)(iVar14 + 0xbc8) = iVar13;
if (iVar5 != 0) break;
LAB_1000_ea63:
uVar19 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10);
iVar13 = (int)*(undefined4 *)(param_1 + 6);
if ((*(char *)(iVar13 + 0xbdd) != '\0') && (*(char *)(iVar13 + 0xbe2) == '\0')) {
FUN_1000_9f73();
}
if (1 < *(byte *)((int)*(undefined4 *)(param_1 + 6) + 0x61)) {
FUN_1000_c426();
}
if (local_8 == bVar3) {
return;
}
local_8 = local_8 + 1;
}
iVar13 = 1;
LAB_1000_c839:
uVar19 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10);
iVar15 = (int)*(undefined4 *)(param_1 + 6);
uVar10 = *(uint *)(iVar15 + 0xbae);
iVar14 = *(int *)(iVar15 + 0xbb0);
uVar11 = *(uint *)(iVar15 + 0x5a);
iVar16 = *(int *)(iVar15 + 0x5c);
*(int *)(iVar15 + 0xbae) = uVar10 + *(uint *)(iVar15 + 0x5a);
*(int *)(iVar15 + 0xbb0) = iVar14 + iVar16 + (uint)CARRY2(uVar10,uVar11);
FUN_1020_100b();
FUN_1020_0ffd();
FUN_1020_0ff1();
FUN_1020_100b();
FUN_1020_0ffd();
FUN_1020_0ff1();
local_14 = extraout_DX;
FUN_1020_0fe5();
FUN_1020_10be();
FUN_1020_0ff7();
local_16 = FUN_1020_1017();
uVar19 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10);
iVar16 = (int)*(undefined4 *)(param_1 + 6);
iVar14 = *(int *)(iVar16 + 0x58);
if ((iVar14 < (int)local_14) ||
((uVar10 = in_BX, iVar14 <= (int)local_14 && (*(uint *)(iVar16 + 0x56) < local_16)))) {
FUN_1020_100b();
FUN_1020_100b();
FUN_1020_0ffd();
iVar14 = *(int *)((int)*(undefined4 *)(param_1 + 6) + 0xbac);
FUN_1020_100b();
FUN_1020_0ff7();
uVar11 = FUN_1020_1017();
uVar19 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10);
iVar15 = (int)*(undefined4 *)(param_1 + 6);
uVar10 = *(uint *)(iVar15 + 0xbaa);
iVar16 = *(int *)(iVar15 + 0xbac);
*(int *)(iVar15 + 0xbaa) = uVar10 - uVar11;
*(int *)(iVar15 + 0xbac) = (iVar16 - iVar14) - (uint)(uVar10 < uVar11);
FUN_1020_100b();
FUN_1020_100b();
FUN_1020_0ffd();
uVar10 = *(uint *)((int)*(undefined4 *)(param_1 + 6) + 0xbb0);
FUN_1020_100b();
FUN_1020_0ff7();
uVar22 = FUN_1020_1017();
uVar19 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10);
iVar16 = (int)*(undefined4 *)(param_1 + 6);
uVar11 = *(uint *)(iVar16 + 0xbae);
iVar14 = *(int *)(iVar16 + 0xbb0);
*(int *)(iVar16 + 0xbae) = uVar11 - uVar22;
*(int *)(iVar16 + 0xbb0) = (iVar14 - uVar10) - (uint)(uVar11 < uVar22);
local_16 = *(uint *)(iVar16 + 0x56);
local_14 = *(uint *)(iVar16 + 0x58);
}
iVar14 = DAT_1028_07d5;
uVar19 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10);
iVar16 = (int)*(undefined4 *)(param_1 + 6);
*(uint *)(iVar16 + 0xbba) = DAT_1028_07d3;
*(int *)(iVar16 + 0xbbc) = iVar14;
iVar14 = DAT_1028_07d9;
*(uint *)(iVar16 + 0xbbe) = DAT_1028_07d7;
*(int *)(iVar16 + 0xbc0) = iVar14;
DAT_1028_07db = DAT_1028_07d3 + *(uint *)(iVar16 + 0xbaa);
DAT_1028_07dd =
DAT_1028_07d5 + *(int *)(iVar16 + 0xbac) +
(uint)CARRY2(DAT_1028_07d3,*(uint *)(iVar16 + 0xbaa));
DAT_1028_07df = DAT_1028_07d7 + *(uint *)(iVar16 + 0xbae);
DAT_1028_07e1 =
DAT_1028_07d9 + *(int *)(iVar16 + 0xbb0) +
(uint)CARRY2(DAT_1028_07d7,*(uint *)(iVar16 + 0xbae));
local_e = *(uint *)(iVar16 + 0xbaa);
local_c = *(uint *)(iVar16 + 0xbac);
local_12 = *(uint *)(iVar16 + 0xbae);
local_10 = *(uint *)(iVar16 + 0xbb0);
uVar11 = *(uint *)(iVar16 + 0xbac);
FUN_1020_100b();
FUN_1020_100b();
uVar19 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10);
iVar14 = (int)*(undefined4 *)(param_1 + 6);
local_40 = *(undefined2 *)(iVar14 + 0xbce);
local_3e = *(uint *)(iVar14 + 0xbd0);
local_3c = *(undefined2 *)(iVar14 + 0xbd2);
iVar14 = 0;
local_70 = 0x423f;
local_6e = 0xf;
in_BX = local_3e;
if (((((DAT_1028_07dd < 0) ||
(((DAT_1028_07dd < 1 && (DAT_1028_07db == 0)) || (5 < DAT_1028_07dd)))) ||
(((4 < DAT_1028_07dd && (0x3020 < DAT_1028_07db)) || (DAT_1028_07e1 < 0)))) ||
((DAT_1028_07e1 < 1 && (DAT_1028_07df == 0)))) ||
((7 < DAT_1028_07e1 || ((6 < DAT_1028_07e1 && (0x4e0 < DAT_1028_07df)))))) {
if (*(byte *)((int)*(undefined4 *)(param_1 + 6) + 0x61) < 2) {
FUN_1000_ae6e();
}
else {
*(undefined1 *)((local_8 + 0xad) * 0x53 + 0x98f) = 0;
DAT_1028_0874 = '\0';
}
}
if ((DAT_1028_07d9 < 3) || ((DAT_1028_07d9 < 4 && (DAT_1028_07d7 < 0xd860)))) {
uVar22 = 1;
}
else {
uVar22 = 2;
}
local_4 = 1;
do {
iVar16 = local_4 * 0x53;
bVar21 = false;
if ((((*(uint *)(iVar16 + 0x9a4) & uVar22) != 0) && (*(char *)(iVar16 + 0x98f) == '\x01')) &&
(cVar6 = FUN_1000_9b69(), cVar6 != '\0')) {
cVar6 = *(char *)CONCAT22(0x1028,(char *)(iVar16 + 0x95b));
uVar12 = in_BX;
if (cVar6 == '\x01') {
if (0xaf - local_8 != local_4) {
FUN_1020_100b();
FUN_1020_0ffd();
FUN_1020_0ff1();
FUN_1020_100b();
FUN_1020_0ffd();
FUN_1020_0ff1();
uVar7 = extraout_DX_00;
FUN_1020_0fe5();
FUN_1020_10be();
FUN_1020_0ff7();
uVar9 = FUN_1020_1017();
if ((int)uVar7 < 0) {
bVar20 = uVar9 != 0;
uVar9 = -uVar9;
uVar7 = (~uVar7 + 1) - (uint)bVar20;
}
uVar12 = *(uint *)(iVar16 + 0x981);
uVar8 = FUN_1020_1017();
local_68 = uVar9 - uVar8;
local_66 = (uVar7 - uVar12) - (uint)(uVar9 < uVar8);
if ((*(char *)(iVar16 + 0x95c) == '\x01') &&
(((int)local_66 < (int)local_14 ||
(((int)local_66 <= (int)local_14 && (local_68 <= local_16)))))) {
LAB_1000_cd0a:
if (*(char *)(iVar16 + 0x95c) == '\x01') {
uVar19 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10);
iVar15 = (int)*(undefined4 *)(param_1 + 6);
local_74 = *(int *)(iVar15 + 0xbc0) + DAT_1028_07e1 +
(uint)CARRY2(*(uint *)(iVar15 + 0xbbe),DAT_1028_07df);
uVar12 = FUN_1020_08e6();
local_72 = (*(int *)(iVar16 + 0x973) - local_74) -
(uint)(*(uint *)(iVar16 + 0x971) < uVar12);
FUN_1020_100b();
FUN_1020_1017();
local_76 = FUN_1020_100b();
uVar19 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10);
iVar15 = (int)*(undefined4 *)(param_1 + 6);
iVar15 = *(int *)(iVar15 + 0xbbc) + DAT_1028_07dd +
(uint)CARRY2(*(uint *)(iVar15 + 0xbba),DAT_1028_07db);
local_7a = 0;
uVar12 = FUN_1020_08e6();
local_78 = (iVar15 - *(int *)(iVar16 + 0x96f)) -
(uint)(uVar12 < *(uint *)(iVar16 + 0x96d));
FUN_1020_100b();
FUN_1020_1017();
local_7c = FUN_1020_100b();
}
else {
uVar19 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10);
iVar15 = (int)*(undefined4 *)(param_1 + 6);
local_74 = *(int *)(iVar15 + 0xbc0) + DAT_1028_07e1 +
(uint)CARRY2(*(uint *)(iVar15 + 0xbbe),DAT_1028_07df);
uVar12 = FUN_1020_08e6();
local_72 = (*(int *)(iVar16 + 0x973) - local_74) -
(uint)(*(uint *)(iVar16 + 0x971) < uVar12);
FUN_1020_100b();
FUN_1020_1017();
local_76 = FUN_1020_100b();
uVar19 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10);
iVar15 = (int)*(undefined4 *)(param_1 + 6);
iVar15 = *(int *)(iVar15 + 0xbbc) + DAT_1028_07dd +
(uint)CARRY2(*(uint *)(iVar15 + 0xbba),DAT_1028_07db);
local_7a = 0;
uVar12 = FUN_1020_08e6();
local_78 = (iVar15 - *(int *)(iVar16 + 0x96f)) -
(uint)(uVar12 < *(uint *)(iVar16 + 0x96d));
FUN_1020_100b();
FUN_1020_1017();
local_7c = FUN_1020_100b();
}
if (*(char *)(iVar16 + 0x95c) == '\x02') {
if ((char)local_76 != '\0') {
local_72 = local_72 ^ 0x8000;
}
if ((char)local_7c != '\0') {
local_78 = local_78 ^ 0x8000;
}
}
FUN_1020_0ffd();
FUN_1020_0ff1();
uVar12 = local_74;
FUN_1020_0ffd();
FUN_1020_0ff1();
iVar15 = extraout_DX_01;
FUN_1020_0fe5();
FUN_1020_10be();
FUN_1020_0ff7();
iVar17 = FUN_1020_1017();
if ((iVar15 < 1) && ((iVar15 < 0 || (iVar17 == 0)))) {
local_64 = 0;
local_62 = 0;
}
else {
FUN_1020_100b();
FUN_1020_0ff7();
local_62 = uVar11;
uVar12 = uVar10;
FUN_1020_0ff7();
FUN_1020_0feb();
FUN_1020_0ffd();
local_64 = FUN_1020_1017();
}
if ((int)local_62 < 0) {
uVar7 = local_68;
uVar12 = local_66;
if ((int)local_66 < 0) {
uVar7 = -local_68;
uVar12 = (~local_66 + 1) - (uint)(local_68 != 0);
}
uVar9 = local_64;
uVar8 = local_62;
if ((int)local_62 < 0) {
uVar9 = -local_64;
uVar8 = (~local_62 + 1) - (uint)(local_64 != 0);
}
if (((int)uVar12 < (int)uVar8) || (((int)uVar12 <= (int)uVar8 && (uVar7 <= uVar9)))) {
bVar21 = 0xf447 < local_68;
local_68 = local_68 + 3000;
local_66 = local_66 + bVar21;
bVar21 = true;
}
}
}
else if (*(char *)(iVar16 + 0x95c) == '\x02') {
iVar15 = (~local_66 + 1) - (uint)(local_68 != 0);
if ((iVar15 < (int)local_14) ||
((uVar12 = local_14, iVar15 <= (int)local_14 &&
(-local_68 < local_16 || -local_16 == local_68)))) goto LAB_1000_cd0a;
}
}
}
else if (cVar6 == '\x04') {
if (DAT_1028_07c6 == '\0') {
DAT_1028_0875 = '\0';
uVar12 = *(uint *)(iVar16 + 0x97f);
iVar15 = *(int *)(iVar16 + 0x981);
iVar17 = FUN_1020_1017();
if ((iVar15 < 1) && ((iVar15 < 0 || (iVar17 == 0)))) {
cVar6 = FUN_1000_9ae0();
if ((cVar6 != '\0') && (((local_4 == 0x99 || (local_4 == 0x9a)) || (local_4 == 6)))) {
FUN_1020_100b();
FUN_1020_0ff7();
local_e = FUN_1020_1017();
FUN_1020_100b();
FUN_1020_14c1();
FUN_1020_0ff7();
uVar12 = 0;
uVar7 = 0;
FUN_1020_0feb();
FUN_1020_0ff7();
iVar15 = FUN_1020_1017();
local_12 = -iVar15;
local_10 = (~uVar7 + 1) - (uint)(iVar15 != 0);
DAT_1028_07db = DAT_1028_07d3 + local_e;
DAT_1028_07dd = DAT_1028_07d5 + local_c + (uint)CARRY2(DAT_1028_07d3,local_e);
DAT_1028_07df = DAT_1028_07d7 + local_12;
DAT_1028_07e1 = DAT_1028_07d9 + local_10 + (uint)CARRY2(DAT_1028_07d7,local_12);
cVar6 = FUN_1000_9b69();
if (cVar6 == '\0') {
*(undefined1 *)(local_4 * 0x53 + 0x98f) = 0;
}
FUN_1000_b3f3();
}
}
else {
FUN_1020_100b();
FUN_1020_0ffd();
FUN_1020_0ff1();
FUN_1020_100b();
FUN_1020_0ffd();
FUN_1020_0ff1();
local_66 = extraout_DX_02;
FUN_1020_0fe5();
FUN_1020_10be();
FUN_1020_0ff7();
local_68 = FUN_1020_1017();
if ((int)local_66 < 0) {
bVar20 = local_68 != 0;
local_68 = -local_68;
local_66 = (~local_66 + 1) - (uint)bVar20;
}
FUN_1020_100b();
FUN_1020_0ffd();
FUN_1020_0ff1();
FUN_1020_100b();
FUN_1020_0ffd();
FUN_1020_0ff1();
uVar7 = extraout_DX_03;
FUN_1020_0fe5();
FUN_1020_10be();
FUN_1020_0ff7();
uVar9 = FUN_1020_1017();
if ((int)uVar7 < 0) {
bVar20 = uVar9 != 0;
uVar9 = -uVar9;
uVar7 = (~uVar7 + 1) - (uint)bVar20;
}
uVar12 = *(uint *)(iVar16 + 0x97f);
iVar15 = *(int *)(iVar16 + 0x981);
uVar8 = FUN_1020_1017();
if (((int)uVar7 < iVar15) || (((int)uVar7 <= iVar15 && (uVar9 <= uVar8)))) {
if ((*(uint *)(iVar16 + 0x99c) & 0x4000) != 0x4000) {
*(uint *)(iVar16 + 0x99c) = *(uint *)(iVar16 + 0x99c) | 0x4000;
FUN_1008_0002();
FUN_1020_08a9();
FUN_1000_bc36();
if (local_4 == 0x95) {
DAT_1028_39de = 0;
*(undefined1 *)
((int)*(undefined4 *)(param_1 + 6) + (uint)DAT_1028_07d1 * 0xaf + 0xf6) = 0;
FUN_1000_b3f3();
FUN_1000_c4e1();
GETDC();
*(undefined2 *)((uint)DAT_1028_07d1 * 2 + 0x9a4) = 0;
FUN_1000_0002();
FUN_1008_093f();
RELEASEDC();
}
FUN_1000_b476();
FUN_1020_14c1();
FUN_1020_0ff7();
FUN_1020_0feb();
FUN_1020_100b();
FUN_1020_0ff7();
local_e = FUN_1020_1017();
FUN_1020_14c1();
FUN_1020_0ff7();
uVar12 = 0xa3d;
FUN_1020_0feb();
FUN_1020_100b();
FUN_1020_0ff7();
local_12 = FUN_1020_1017();
}
}
else {
*(uint *)(iVar16 + 0x99c) = *(uint *)(iVar16 + 0x99c) & 0xbfff;
}
}
}
}
else if (cVar6 == '\x02') {
local_72 = (*(int *)(iVar16 + 0x977) - *(int *)(iVar16 + 0x96f)) -
(uint)(*(uint *)(iVar16 + 0x975) < *(uint *)(iVar16 + 0x96d));
local_76 = FUN_1020_100b();
local_78 = (*(int *)(iVar16 + 0x97b) - *(int *)(iVar16 + 0x973)) -
(uint)(*(uint *)(iVar16 + 0x979) < *(uint *)(iVar16 + 0x971));
local_7a = in_BX;
local_7c = FUN_1020_100b();
FUN_1020_0ffd();
FUN_1020_0ff1();
FUN_1020_0ffd();
FUN_1020_0ff1();
FUN_1020_0fe5();
FUN_1020_10be();
FUN_1020_0ff7();
FUN_1020_1017();
FUN_1020_100b();
FUN_1020_0ffd();
FUN_1020_0ffd();
FUN_1020_100b();
FUN_1020_0ff7();
FUN_1020_0ffd();
uVar19 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10);
iVar15 = (int)*(undefined4 *)(param_1 + 6);
uVar12 = (*(int *)(iVar15 + 0xbbc) - *(int *)(iVar16 + 0x96f)) -
(uint)(*(uint *)(iVar15 + 0xbba) < *(uint *)(iVar16 + 0x96d));
FUN_1020_100b();
FUN_1020_0ff7();
FUN_1020_0feb();
FUN_1020_0ffd();
local_66 = uVar12 & 0x7fff;
local_68 = FUN_1020_1017();
FUN_1020_100b();
FUN_1020_0ffd();
FUN_1020_0ffd();
FUN_1020_0ff7();
local_62 = local_78;
uVar12 = local_7a;
FUN_1020_0ffd();
FUN_1020_0ff7();
FUN_1020_0feb();
FUN_1020_0ffd();
local_64 = FUN_1020_1017();
if ((((int)local_66 < (int)local_14) ||
((local_74 = in_BX, (int)local_66 <= (int)local_14 &&
(local_74 = in_BX, local_68 <= local_16)))) &&
(((int)local_62 < 0 ||
((local_74 = in_BX, (int)local_62 < 1 && (local_74 = in_BX, local_64 < 0xb)))))) {
uVar12 = local_66 - (local_68 < 10);
uVar7 = local_64;
uVar9 = local_62;
if ((int)local_62 < 0) {
uVar7 = -local_64;
uVar9 = (~local_62 + 1) - (uint)(local_64 != 0);
}
if (((int)uVar12 < (int)uVar9) ||
((local_74 = in_BX, (int)uVar12 <= (int)uVar9 &&
(local_74 = in_BX, local_68 - 10 <= uVar7)))) {
uVar12 = (*(int *)(iVar16 + 0x96f) - DAT_1028_07d5) -
(uint)(*(uint *)(iVar16 + 0x96d) < DAT_1028_07d3);
uVar7 = FUN_1020_08a9();
iVar15 = (*(int *)(iVar16 + 0x973) - DAT_1028_07d9) -
(uint)(*(uint *)(iVar16 + 0x971) < DAT_1028_07d7);
uVar9 = FUN_1020_08a9();
uVar8 = (iVar15 - uVar12) - (uint)(uVar9 < uVar7);
if ((uVar8 < 0x8000) ||
((local_74 = in_BX, -2 < (int)uVar8 && (local_74 = in_BX, 0xfff5 < uVar9 - uVar7))))
{
uVar12 = (*(int *)(iVar16 + 0x977) - DAT_1028_07d5) -
(uint)(*(uint *)(iVar16 + 0x975) < DAT_1028_07d3);
uVar7 = FUN_1020_08a9();
iVar15 = (*(int *)(iVar16 + 0x97b) - DAT_1028_07d9) -
(uint)(*(uint *)(iVar16 + 0x979) < DAT_1028_07d7);
uVar9 = FUN_1020_08a9();
iVar15 = (iVar15 - uVar12) - (uint)(uVar9 < uVar7);
if ((iVar15 < 0) ||
((local_74 = in_BX, iVar15 < 1 && (local_74 = in_BX, uVar9 - uVar7 < 0xb)))) {
bVar21 = true;
local_74 = in_BX;
}
}
}
}
}
else if (cVar6 == '\x03') {
FUN_1020_100b();
FUN_1020_0ffd();
FUN_1020_0ff1();
FUN_1020_100b();
FUN_1020_0ffd();
FUN_1020_0ff1();
uVar12 = extraout_DX_04;
FUN_1020_0fe5();
FUN_1020_10be();
FUN_1020_0ff7();
uVar7 = FUN_1020_1017();
if ((int)uVar12 < 0) {
bVar20 = uVar7 != 0;
uVar7 = -uVar7;
uVar12 = (~uVar12 + 1) - (uint)bVar20;
}
uVar9 = *(uint *)(iVar16 + 0x981);
uVar8 = FUN_1020_1017();
local_68 = uVar7 - uVar8;
local_66 = (uVar12 - uVar9) - (uint)(uVar7 < uVar8);
uVar12 = (int)local_8 >> 0xf;
if (((((int)local_66 < -1) || (((int)local_66 < 0 && (local_68 < 0xd509)))) &&
((*(int *)(iVar16 + 0x99e) == 0 ||
(((*(int *)(iVar16 + 0x99e) != 99 &&
(*(char *)((int)*(undefined4 *)(param_1 + 6) + 0x61) == '\x01')) ||
((uVar9 = uVar12, -1 < (int)local_8 && (*(uint *)(iVar16 + 0x99e) == local_8))))))))
&& ((local_4 != 0x94 || (DAT_1028_0875 == '\0')))) {
uVar19 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10);
iVar17 = (int)*(undefined4 *)(param_1 + 6);
iVar15 = *(int *)(iVar17 + 0xbcc);
if ((iVar15 < 0) || ((iVar15 < 1 && (*(uint *)(iVar17 + 0xbca) < 300)))) {
uVar19 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10);
iVar15 = (int)*(undefined4 *)(param_1 + 6);
puVar1 = (uint *)(iVar15 + 0xbba);
uVar12 = *(uint *)(iVar16 + 0x96d) - *puVar1;
uVar7 = (*(int *)(iVar16 + 0x96f) - *(int *)(iVar15 + 0xbbc)) -
(uint)(*(uint *)(iVar16 + 0x96d) < *puVar1);
if ((int)uVar7 < 0) {
bVar20 = uVar12 != 0;
uVar12 = -uVar12;
uVar7 = (~uVar7 + 1) - (uint)bVar20;
}
if (((int)uVar7 < 0) || (((int)uVar7 < 1 && (uVar12 < 500)))) {
uVar19 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10);
iVar15 = (int)*(undefined4 *)(param_1 + 6);
puVar1 = (uint *)(iVar15 + 0xbbe);
uVar12 = *(uint *)(iVar16 + 0x971) - *puVar1;
uVar7 = (*(int *)(iVar16 + 0x973) - *(int *)(iVar15 + 0xbc0)) -
(uint)(*(uint *)(iVar16 + 0x971) < *puVar1);
if ((int)uVar7 < 0) {
bVar20 = uVar12 != 0;
uVar12 = -uVar12;
uVar7 = (~uVar7 + 1) - (uint)bVar20;
}
if (((int)uVar7 < 0) || (((int)uVar7 < 1 && (uVar12 < 500)))) {
uVar12 = local_c;
if ((int)local_c < 0) {
bVar20 = local_e != 0;
local_e = -local_e;
uVar12 = (~local_c + 1) - (uint)bVar20;
}
if (((int)uVar12 < 0) || (((int)uVar12 < 1 && (local_e < 500)))) {
uVar12 = local_10;
if ((int)local_10 < 0) {
bVar20 = local_12 != 0;
local_12 = -local_12;
uVar12 = (~local_10 + 1) - (uint)bVar20;
}
if (((int)uVar12 < 0) || (((int)uVar12 < 1 && (local_12 < 500)))) {
local_e = 0;
local_c = 0;
local_12 = 0;
local_10 = 0;
uVar19 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10);
iVar15 = (int)*(undefined4 *)(param_1 + 6);
if (*(int *)(iVar15 + 0xbca) == 0 && *(int *)(iVar15 + 0xbcc) == 0) {
*(uint *)(iVar16 + 0x99e) = local_8;
FUN_1008_0002();
}
uVar12 = uVar9;
if (local_4 == 0x59) {
uVar19 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10);
iVar15 = (int)*(undefined4 *)(param_1 + 6);
*(undefined2 *)(iVar15 + 0xbca) = 300;
*(undefined2 *)(iVar15 + 0xbcc) = 0;
}
else {
uVar19 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10);
iVar17 = (int)*(undefined4 *)(param_1 + 6);
uVar7 = *(uint *)(iVar17 + 0xbca);
iVar15 = *(int *)(iVar17 + 0xbcc);
*(int *)(iVar17 + 0xbca) = uVar7 + 5;
*(int *)(iVar17 + 0xbcc) = iVar15 + (uint)(0xfffa < uVar7);
}
goto LAB_1000_e060;
}
}
}
}
if ((DAT_1028_07d5 < *(int *)(iVar16 + 0x96f)) ||
((DAT_1028_07d5 <= *(int *)(iVar16 + 0x96f) &&
(DAT_1028_07d3 < *(uint *)(iVar16 + 0x96d))))) {
iVar15 = *(int *)((int)*(undefined4 *)(param_1 + 6) + 0x5c);
uVar12 = FUN_1020_08a9();
FUN_1020_100b();
FUN_1020_0ff7();
uVar7 = FUN_1020_1017();
local_e = uVar7 + uVar12;
local_c = local_c + iVar15 + (uint)CARRY2(uVar7,uVar12);
}
else {
iVar15 = *(int *)((int)*(undefined4 *)(param_1 + 6) + 0x5c);
uVar12 = FUN_1020_08a9();
FUN_1020_100b();
FUN_1020_0ff7();
uVar7 = FUN_1020_1017();
local_e = uVar7 - uVar12;
local_c = (local_c - iVar15) - (uint)(uVar7 < uVar12);
}
if ((DAT_1028_07d9 < *(int *)(iVar16 + 0x973)) ||
((DAT_1028_07d9 <= *(int *)(iVar16 + 0x973) &&
(DAT_1028_07d7 < *(uint *)(iVar16 + 0x971))))) {
uVar12 = *(uint *)((int)*(undefined4 *)(param_1 + 6) + 0x5c);
uVar7 = FUN_1020_08a9();
FUN_1020_100b();
FUN_1020_0ff7();
uVar9 = FUN_1020_1017();
local_12 = uVar9 + uVar7;
local_10 = local_10 + uVar12 + (uint)CARRY2(uVar9,uVar7);
}
else {
uVar12 = *(uint *)((int)*(undefined4 *)(param_1 + 6) + 0x5c);
uVar7 = FUN_1020_08a9();
FUN_1020_100b();
FUN_1020_0ff7();
uVar9 = FUN_1020_1017();
local_12 = uVar9 - uVar7;
local_10 = (local_10 - uVar12) - (uint)(uVar9 < uVar7);
}
}
else if (local_4 == 0x59) {
uVar12 = uVar9;
if (DAT_1028_0874 == '\0') {
DAT_1028_07ca = 1;
iVar15 = FUN_1020_14a4();
if (iVar15 == 0) {
DAT_1028_086f = 1;
}
else if (iVar15 == 1) {
DAT_1028_086f = 6;
}
else if (iVar15 == 2) {
DAT_1028_086f = 7;
}
else if (iVar15 == 3) {
DAT_1028_086f = 0x12;
}
DAT_1028_0873 = 1;
*(undefined1 *)((int)*(undefined4 *)(param_1 + 6) + 0xbdf) = 1;
local_40 = 0;
local_3e = 0;
local_3c = 0;
for (iVar15 = 0xc; *(undefined1 *)(iVar15 * 0x53 + 0x98f) = 0, uVar12 = uVar9,
iVar15 != 0x14; iVar15 = iVar15 + 1) {
}
}
}
else {
if ((local_4 < 0x81) || (0x85 < local_4)) {
if (local_4 == 0x94) {
*(undefined1 *)
((int)*(undefined4 *)(param_1 + 6) + (uint)DAT_1028_07d1 * 0x14 + 0x47b) = 1;
FUN_1000_b30b();
}
}
else {
uVar12 = 5000;
iVar17 = 0;
iVar15 = 1;
while( true ) {
if (*(int *)((iVar15 + 0x80) * 0x53 + 0x99e) != 0) {
uVar12 = FUN_1020_08a9();
}
if (iVar15 == 5) break;
iVar15 = iVar15 + 1;
}
uVar7 = *(uint *)((uint)DAT_1028_07d1 * 4 + 0x98e);
iVar15 = *(int *)((uint)DAT_1028_07d1 * 4 + 0x990);
uVar9 = (uint)DAT_1028_07d1;
*(int *)(uVar9 * 4 + 0x98e) = uVar7 + uVar12;
*(int *)(uVar9 * 4 + 0x990) = iVar15 + iVar17 + (uint)CARRY2(uVar7,uVar12);
if ((iVar17 == 2) && (uVar12 == 0x7100)) {
FUN_1020_08a9();
FUN_1000_bc36();
uVar12 = (uint)DAT_1028_07d1;
*(undefined2 *)(uVar12 * 4 + 0x98e) = 0;
*(undefined2 *)(uVar12 * 4 + 0x990) = 0;
*(char *)(DAT_1028_07d1 + 0x9a1) = *(char *)(DAT_1028_07d1 + 0x9a1) + '\x01';
piVar2 = (int *)((uint)DAT_1028_07d1 * 2 + 0x81f);
*piVar2 = *piVar2 + 1;
FUN_1000_a604();
GETDC();
RELEASEDC();
if (((DAT_1028_07c7 == '\0') && (DAT_1028_07c8 == '\0')) && (DAT_1028_0874 == '\0'))
{
DAT_1028_0851 = 0;
DAT_1028_0853 = 0;
DAT_1028_07c8 = '\x01';
*(undefined1 *)((int)*(undefined4 *)(param_1 + 6) + 0xbdd) = 0;
}
DAT_1028_0874 = '\0';
}
else {
*(undefined1 *)
((int)*(undefined4 *)(param_1 + 6) + (uint)DAT_1028_07d1 * 0x14 + local_4 + 0x3f5)
= 1;
FUN_1000_b30b();
}
uVar9 = 0;
FUN_1020_08a9();
FUN_1000_bda2();
}
uVar19 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10);
iVar15 = (int)*(undefined4 *)(param_1 + 6);
*(undefined2 *)(iVar15 + 0xbca) = 0;
*(undefined2 *)(iVar15 + 0xbcc) = 0;
uVar12 = uVar9;
if (*(char *)(iVar15 + 0x61) == '\x01') {
if (local_4 == 0x94) {
DAT_1028_399a = 2;
}
else {
*(undefined2 *)(iVar16 + 0x99e) = 99;
}
if (DAT_1028_07c6 == '\0') {
*(undefined1 *)((int)*(undefined4 *)(param_1 + 6) + 0xbe2) = 1;
}
else {
FUN_1000_ae6e();
uVar12 = uVar9;
}
}
else {
*(undefined1 *)((int)*(undefined4 *)(param_1 + 6) + 0xbe1) = 1;
*(undefined1 *)((local_8 + 0xad) * 0x53 + 0x98f) = 0;
*(undefined2 *)(iVar16 + 0x99e) = 2;
}
}
}
else if (((local_66 < 0x8000) || ((-2 < (int)local_66 && (0xd508 < local_68)))) &&
((uVar9 = uVar12, -1 < (int)local_8 && (*(uint *)(iVar16 + 0x99e) == local_8)))) {
*(undefined2 *)(iVar16 + 0x99e) = 0;
uVar19 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10);
iVar15 = (int)*(undefined4 *)(param_1 + 6);
*(undefined2 *)(iVar15 + 0xbca) = 0;
*(undefined2 *)(iVar15 + 0xbcc) = 0;
}
else {
uVar12 = uVar9;
if ((((int)local_66 < (int)local_14) ||
(((int)local_66 <= (int)local_14 && (local_68 <= local_16)))) &&
(((local_66 < 0x8000 || ((-2 < (int)local_66 && (0xd507 < local_68)))) &&
(*(int *)(iVar16 + 0x99e) != 0)))) {
uVar19 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10);
iVar15 = (int)*(undefined4 *)(param_1 + 6);
local_72 = (*(int *)(iVar16 + 0x973) - *(int *)(iVar15 + 0xbc0)) -
(uint)(*(uint *)(iVar16 + 0x971) < *(uint *)(iVar15 + 0xbbe));
FUN_1020_100b();
FUN_1020_1017();
local_76 = FUN_1020_100b();
uVar19 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10);
iVar15 = (int)*(undefined4 *)(param_1 + 6);
local_78 = (*(int *)(iVar15 + 0xbbc) - *(int *)(iVar16 + 0x96f)) -
(uint)(*(uint *)(iVar15 + 0xbba) < *(uint *)(iVar16 + 0x96d));
local_7a = uVar9;
FUN_1020_100b();
FUN_1020_1017();
local_7c = FUN_1020_100b();
FUN_1020_0ffd();
FUN_1020_0ff1();
uVar12 = uVar9;
FUN_1020_0ffd();
FUN_1020_0ff1();
iVar15 = extraout_DX_05;
FUN_1020_0fe5();
FUN_1020_10be();
FUN_1020_0ff7();
iVar17 = FUN_1020_1017();
if ((iVar15 < 1) && ((iVar15 < 0 || (iVar17 == 0)))) {
local_64 = 0;
local_62 = 0;
}
else {
FUN_1020_100b();
FUN_1020_0ff7();
local_62 = uVar11;
uVar12 = uVar10;
FUN_1020_0ff7();
FUN_1020_0feb();
FUN_1020_0ffd();
local_64 = FUN_1020_1017();
}
local_74 = uVar9;
if ((int)local_62 < 0) {
uVar7 = local_68;
uVar12 = local_66;
if ((int)local_66 < 0) {
uVar7 = -local_68;
uVar12 = (~local_66 + 1) - (uint)(local_68 != 0);
}
uVar9 = local_64;
uVar8 = local_62;
if ((int)local_62 < 0) {
uVar9 = -local_64;
uVar8 = (~local_62 + 1) - (uint)(local_64 != 0);
}
if (((int)uVar12 < (int)uVar8) || (((int)uVar12 <= (int)uVar8 && (uVar7 <= uVar9)))) {
bVar21 = true;
}
}
}
}
}
LAB_1000_e060:
in_BX = uVar12;
if (bVar21) {
uVar19 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10);
iVar15 = (int)*(undefined4 *)(param_1 + 6);
*(undefined2 *)(iVar15 + 0xbca) = 0;
*(undefined2 *)(iVar15 + 0xbcc) = 0;
if (((int)local_66 < (int)local_6e) ||
(((int)local_66 <= (int)local_6e && (local_68 <= local_70)))) {
local_70 = local_68;
local_6e = local_66;
iVar14 = iVar14 + 1;
iVar15 = iVar14 * 0x34;
*(uint *)(&stack0xd89e + iVar15) = local_68;
*(uint *)(&stack0xd8a0 + iVar15) = local_66;
*(int *)(&stack0xd86e + iVar15) = local_4;
*(undefined2 *)(&stack0xd870 + iVar15) = local_76;
*(uint *)(&stack0xd872 + iVar15) = local_74;
*(uint *)(&stack0xd874 + iVar15) = local_72;
*(undefined2 *)(&stack0xd876 + iVar15) = local_7c;
*(uint *)(&stack0xd878 + iVar15) = local_7a;
*(uint *)(&stack0xd87a + iVar15) = local_78;
uVar19 = *(undefined2 *)(iVar16 + 0x98b);
uVar4 = *(undefined2 *)(iVar16 + 0x98d);
*(undefined2 *)(&stack0xd886 + iVar15) = *(undefined2 *)(iVar16 + 0x989);
*(undefined2 *)(&stack0xd888 + iVar15) = uVar19;
*(undefined2 *)(&stack0xd88a + iVar15) = uVar4;
uVar19 = *(undefined2 *)(iVar16 + 0x985);
uVar4 = *(undefined2 *)(iVar16 + 0x987);
*(undefined2 *)(&stack0xd880 + iVar15) = *(undefined2 *)(iVar16 + 0x983);
*(undefined2 *)(&stack0xd882 + iVar15) = uVar19;
*(undefined2 *)(&stack0xd884 + iVar15) = uVar4;
*(uint *)(&stack0xd87c + iVar15) = local_64;
*(uint *)(&stack0xd87e + iVar15) = local_62;
uVar19 = *(undefined2 *)(iVar16 + 0x992);
uVar4 = *(undefined2 *)(iVar16 + 0x994);
*(undefined2 *)(&stack0xd88c + iVar15) = *(undefined2 *)(iVar16 + 0x990);
*(undefined2 *)(&stack0xd88e + iVar15) = uVar19;
*(undefined2 *)(&stack0xd890 + iVar15) = uVar4;
in_BX = *(uint *)(iVar16 + 0x998);
uVar19 = *(undefined2 *)(iVar16 + 0x99a);
*(undefined2 *)(&stack0xd892 + iVar15) = *(undefined2 *)(iVar16 + 0x996);
*(uint *)(&stack0xd894 + iVar15) = in_BX;
*(undefined2 *)(&stack0xd896 + iVar15) = uVar19;
*(undefined2 *)(&stack0xd898 + iVar15) = *(undefined2 *)(iVar16 + 0x99c);
uVar19 = *(undefined2 *)(iVar16 + 0x9a2);
*(undefined2 *)(&stack0xd89a + iVar15) = *(undefined2 *)(iVar16 + 0x9a0);
*(undefined2 *)(&stack0xd89c + iVar15) = uVar19;
}
}
}
if (local_4 == 0xaf) break;
local_4 = local_4 + 1;
} while( true );
if (iVar14 != 0) {
if (in_stack_0000d8cc != 0) {
FUN_1000_b476();
}
if (in_stack_0000d8ce != 0 || in_stack_0000d8d0 != 0) {
bVar21 = true;
FUN_1020_1007();
if (bVar21) {
FUN_1000_bc36();
}
}
FUN_1020_0ffd();
FUN_1020_0ff1();
FUN_1020_0ffd();
FUN_1020_0ff1();
FUN_1020_0fe5();
FUN_1020_10be();
FUN_1020_0ff7();
FUN_1020_1017();
FUN_1020_100b();
FUN_1020_0ff7();
FUN_1020_0ff7();
FUN_1020_0fe5();
FUN_1020_0ffd();
FUN_1020_1017();
FUN_1020_100b();
FUN_1020_0ff7();
FUN_1020_0ff7();
FUN_1020_100b();
FUN_1020_0ff7();
FUN_1020_100b();
FUN_1020_0ff7();
FUN_1020_10be();
FUN_1020_0ffd();
FUN_1020_100b();
FUN_1020_100b();
FUN_1020_0ff7();
FUN_1020_0ffd();
iVar16 = 0x4ccc;
FUN_1020_0ff7();
FUN_1020_0feb();
FUN_1020_0feb();
FUN_1020_1017();
local_3e = 0x9999;
local_3c = 0x1999;
FUN_1020_0ff7();
local_40 = FUN_1020_0fe5();
if ((in_stack_0000d8a2 == 0xae) || (in_stack_0000d8a2 == 0xaf)) {
iVar17 = (in_stack_0000d8a2 + -0xae) * 4;
iVar15 = *(int *)(iVar17 + 0x805);
if ((iVar15 < 0) || ((iVar15 < 1 && (*(int *)(iVar17 + 0x803) == 0)))) {
FUN_1020_100b();
iVar17 = in_stack_0000d8b2;
FUN_1020_100b();
FUN_1020_0ff7();
FUN_1020_0ffd();
uVar11 = FUN_1020_1017();
iVar15 = (in_stack_0000d8a2 + -0xae) * 4;
uVar10 = *(uint *)(iVar15 + 0x7f3);
iVar15 = *(int *)(iVar15 + 0x7f5);
iVar18 = (in_stack_0000d8a2 + -0xae) * 4;
*(int *)(iVar18 + 0x7f3) = uVar10 + uVar11;
*(int *)(iVar18 + 0x7f5) = iVar15 + iVar17 + (uint)CARRY2(uVar10,uVar11);
FUN_1020_100b();
iVar17 = in_stack_0000d8b2;
FUN_1020_100b();
FUN_1020_0ff7();
FUN_1020_0ffd();
uVar11 = FUN_1020_1017();
iVar15 = (in_stack_0000d8a2 + -0xae) * 4;
uVar10 = *(uint *)(iVar15 + 0x7fb);
iVar15 = *(int *)(iVar15 + 0x7fd);
iVar18 = (in_stack_0000d8a2 + -0xae) * 4;
*(int *)(iVar18 + 0x7fb) = uVar10 - uVar11;
*(int *)(iVar18 + 0x7fd) = (iVar15 - iVar17) - (uint)(uVar10 < uVar11);
}
}
FUN_1020_100b();
FUN_1020_100b();
FUN_1020_100b();
FUN_1020_0ff7();
FUN_1020_0ffd();
in_BX = 0;
local_62 = 0;
FUN_1020_0fe5();
FUN_1020_0feb();
FUN_1020_0ff7();
local_64 = FUN_1020_1017();
if (DAT_1028_07c6 == '\0') {
bVar21 = false;
in_BX = in_stack_0000d8c2;
FUN_1020_1007();
if (bVar21) {
iVar15 = *(int *)((int)*(undefined4 *)(param_1 + 6) + 0x58);
FUN_1020_100b();
FUN_1020_0ff7();
uVar10 = FUN_1020_1017();
if ((in_stack_0000d8b2 < iVar15) ||
((in_stack_0000d8b2 <= iVar15 && (in_stack_0000d8b0 < uVar10)))) {
if (in_stack_0000d8ce == 0 && in_stack_0000d8d0 == 0) {
FUN_1008_0002();
}
else {
FUN_1000_bc36();
}
in_BX = *(uint *)((int)*(undefined4 *)(param_1 + 6) + 0x58);
FUN_1020_100b();
FUN_1020_0ff7();
uVar10 = FUN_1020_1017();
bVar21 = local_64 < uVar10;
local_64 = local_64 - uVar10;
local_62 = (local_62 - in_BX) - (uint)bVar21;
}
}
}
FUN_1020_100b();
FUN_1020_100b();
FUN_1020_0ff7();
FUN_1020_100b();
FUN_1020_0ff7();
FUN_1020_0feb();
FUN_1020_0ffd();
uVar11 = FUN_1020_1017();
FUN_1020_100b();
FUN_1020_100b();
FUN_1020_0ff7();
uVar10 = local_62;
FUN_1020_100b();
FUN_1020_0ff7();
FUN_1020_0fe5();
FUN_1020_0ffd();
uVar22 = FUN_1020_1017();
bVar21 = CARRY2(local_e,uVar11);
local_e = local_e + uVar11;
local_c = local_c + iVar16 + (uint)bVar21;
bVar21 = CARRY2(local_12,uVar22);
local_12 = local_12 + uVar22;
local_10 = local_10 + uVar10 + (uint)bVar21;
if (in_stack_0000d8a2 == 0x19) {
if (((int)local_14 < 0) || (((int)local_14 < 1 && (local_16 < 1000)))) {
*(undefined1 *)((int)*(undefined4 *)(param_1 + 6) + 0xbdd) = 0;
local_12 = 0;
local_10 = 0;
}
local_c = 0;
local_e = 0;
}
else if (in_stack_0000d8a2 == 2) {
if (*(byte *)((int)*(undefined4 *)(param_1 + 6) + 0x61) < 2) {
FUN_1000_ae6e();
}
else {
*(undefined1 *)((local_8 + 0xad) * 0x53 + 0x98f) = 0;
DAT_1028_0874 = '\0';
}
}
}
if (*(char *)((int)*(undefined4 *)(param_1 + 6) + 0xbdd) != '\0') {
uVar19 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10);
iVar16 = (int)*(undefined4 *)(param_1 + 6);
*(undefined2 *)(iVar16 + 0xbce) = local_40;
*(uint *)(iVar16 + 0xbd0) = local_3e;
*(undefined2 *)(iVar16 + 0xbd2) = local_3c;
*(uint *)(iVar16 + 0xbaa) = local_e;
*(uint *)(iVar16 + 0xbac) = local_c;
*(uint *)(iVar16 + 0xbae) = local_12;
*(uint *)(iVar16 + 0xbb0) = local_10;
FUN_1020_100b();
FUN_1020_0ffd();
FUN_1020_0ff1();
FUN_1020_100b();
FUN_1020_0ffd();
FUN_1020_0ff1();
iVar15 = extraout_DX_06;
FUN_1020_0fe5();
FUN_1020_10be();
FUN_1020_0ff7();
uVar10 = FUN_1020_1017();
uVar19 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10);
iVar17 = (int)*(undefined4 *)(param_1 + 6);
iVar16 = *(int *)(iVar17 + 0x58);
if ((iVar16 < iVar15) ||
((in_BX = local_3e, iVar16 <= iVar15 && (*(uint *)(iVar17 + 0x56) < uVar10)))) {
FUN_1020_100b();
uVar19 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10);
iVar16 = (int)*(undefined4 *)(param_1 + 6);
iVar17 = (iVar15 - *(int *)(iVar16 + 0x58)) - (uint)(uVar10 < *(uint *)(iVar16 + 0x56));
FUN_1020_08a9();
FUN_1020_100b();
FUN_1020_0ffd();
uVar22 = FUN_1020_1017();
uVar19 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10);
iVar18 = (int)*(undefined4 *)(param_1 + 6);
uVar11 = *(uint *)(iVar18 + 0xbaa);
iVar16 = *(int *)(iVar18 + 0xbac);
*(int *)(iVar18 + 0xbaa) = uVar11 - uVar22;
*(int *)(iVar18 + 0xbac) = (iVar16 - iVar17) - (uint)(uVar11 < uVar22);
FUN_1020_100b();
uVar19 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10);
iVar16 = (int)*(undefined4 *)(param_1 + 6);
in_BX = (iVar15 - *(int *)(iVar16 + 0x58)) - (uint)(uVar10 < *(uint *)(iVar16 + 0x56));
FUN_1020_08a9();
FUN_1020_100b();
FUN_1020_0ffd();
uVar11 = FUN_1020_1017();
uVar19 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10);
iVar15 = (int)*(undefined4 *)(param_1 + 6);
uVar10 = *(uint *)(iVar15 + 0xbae);
iVar16 = *(int *)(iVar15 + 0xbb0);
*(int *)(iVar15 + 0xbae) = uVar10 - uVar11;
*(int *)(iVar15 + 0xbb0) = (iVar16 - in_BX) - (uint)(uVar10 < uVar11);
}
uVar19 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10);
iVar16 = (int)*(undefined4 *)(param_1 + 6);
bVar21 = CARRY2(DAT_1028_07d3,*(uint *)(iVar16 + 0xbaa));
DAT_1028_07d3 = DAT_1028_07d3 + *(uint *)(iVar16 + 0xbaa);
DAT_1028_07d5 = DAT_1028_07d5 + *(int *)(iVar16 + 0xbac) + (uint)bVar21;
bVar21 = CARRY2(DAT_1028_07d7,*(uint *)(iVar16 + 0xbae));
DAT_1028_07d7 = DAT_1028_07d7 + *(uint *)(iVar16 + 0xbae);
DAT_1028_07d9 = DAT_1028_07d9 + *(int *)(iVar16 + 0xbb0) + (uint)bVar21;
FUN_1000_bdde();
}
if (iVar14 != 0) goto LAB_1000_ea63;
uVar19 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10);
iVar14 = (int)*(undefined4 *)(param_1 + 6);
if (((*(char *)(iVar14 + 0xbe2) == '\x01') || (*(char *)(iVar14 + 0xbe1) == '\x01')) ||
(iVar13 == iVar5)) goto LAB_1000_ea63;
iVar13 = iVar13 + 1;
goto LAB_1000_c839;
}
/* ===== 1000:eab1 exported_ordinal_10 ===== */
void __stdcall16far exported_ordinal_10(undefined4 param_1)
{
char *pcVar1;
undefined1 uVar2;
undefined1 uVar3;
undefined2 uVar4;
undefined2 uVar5;
undefined2 uVar6;
undefined2 uVar7;
undefined2 uVar8;
int iVar9;
uint uVar10;
int iVar11;
int iVar12;
undefined2 uVar13;
undefined2 unaff_CS;
bool bVar14;
undefined2 uVar15;
undefined2 uVar16;
undefined2 uVar17;
undefined2 uVar18;
undefined1 local_4d;
int local_30;
int local_2e;
uVar13 = (undefined2)((ulong)param_1 >> 0x10);
iVar12 = (int)param_1;
if (*(int *)(iVar12 + 0x41) != 0 || *(int *)(iVar12 + 0x43) != 0) {
return;
}
if (*(int *)(iVar12 + 0x45) != 0 || *(int *)(iVar12 + 0x47) != 0) {
return;
}
if (*(char *)(iVar12 + 0xbd8) != '\0') {
return;
}
if (*(char *)(iVar12 + 0xbd9) != '\0') {
return;
}
if (DAT_1028_07cc != '\0') {
return;
}
if (*(char *)(iVar12 + 0x51) != '\0') {
return;
}
if (DAT_1028_07c4 == '\0') {
return;
}
*(undefined1 *)(iVar12 + 0x51) = 1;
if (DAT_1028_07c5 != '\0') {
local_30 = 1;
while( true ) {
unaff_CS = 0x1000;
FUN_1000_7e12(&stack0xfffe,local_30);
if (local_30 == 0xaf) break;
local_30 = local_30 + 1;
}
DAT_1028_07c5 = '\0';
}
bVar14 = 0xfffe < DAT_1028_0876;
DAT_1028_0876 = DAT_1028_0876 + 1;
DAT_1028_0878 = DAT_1028_0878 + (uint)bVar14;
if (*(char *)(iVar12 + 0xbdd) != '\0') {
if ((DAT_1028_07ca != '\0') && (DAT_1028_0874 == '\0')) {
if (DAT_1028_086d == DAT_1028_086f) {
if (DAT_1028_086d == 10) {
uVar8 = GETDC(unaff_CS,*(undefined2 *)(iVar12 + 4));
FUN_1008_0e08(0,0,uVar8);
RELEASEDC(0x1008,uVar8);
if (DAT_1028_0873 == '\0') {
DAT_1028_07ca = '\0';
for (local_2e = 0xc; *(undefined1 *)(local_2e * 0x53 + 0x98f) = 1, local_2e != 0x14;
local_2e = local_2e + 1) {
}
}
}
else {
uVar18 = GETDC(unaff_CS,*(undefined2 *)(iVar12 + 4));
FUN_1008_0e08(0,DAT_1028_086d,uVar18);
uVar8 = *(undefined2 *)(iVar12 + 4);
RELEASEDC(0x1008,uVar18);
DAT_1028_086f = 10;
DAT_1028_0873 = '\0';
DAT_1028_2679 = 0;
*(undefined2 *)(iVar12 + 0xbca) = 0;
*(undefined2 *)(iVar12 + 0xbcc) = 0;
*(undefined2 *)(iVar12 + 0xbce) = 0;
*(undefined2 *)(iVar12 + 0xbd0) = 0;
*(undefined2 *)(iVar12 + 0xbd2) = 0;
if (DAT_1028_086d == 1) {
DAT_1028_07d3 = 0xefd0;
DAT_1028_07d5 = 3;
DAT_1028_07d7 = 0x30b0;
DAT_1028_07d9 = 1;
uVar18 = *(undefined2 *)(iVar12 + 0x58);
FUN_1020_100b(uVar8);
FUN_1020_0ff7();
uVar8 = FUN_1020_1017();
*(undefined2 *)(iVar12 + 0xbaa) = uVar8;
*(undefined2 *)(iVar12 + 0xbac) = uVar18;
uVar8 = *(undefined2 *)(iVar12 + 0x58);
FUN_1020_100b();
FUN_1020_0ff7();
uVar18 = FUN_1020_1017();
*(undefined2 *)(iVar12 + 0xbae) = uVar18;
*(undefined2 *)(iVar12 + 0xbb0) = uVar8;
}
else if (DAT_1028_086d == 2) {
DAT_1028_07d3 = 0xf3b8;
DAT_1028_07d5 = 3;
DAT_1028_07d7 = 0x3c68;
DAT_1028_07d9 = 1;
uVar18 = *(undefined2 *)(iVar12 + 0x58);
FUN_1020_100b(uVar8);
FUN_1020_0ff7();
uVar8 = FUN_1020_1017();
*(undefined2 *)(iVar12 + 0xbaa) = uVar8;
*(undefined2 *)(iVar12 + 0xbac) = uVar18;
uVar8 = *(undefined2 *)(iVar12 + 0x58);
FUN_1020_100b();
FUN_1020_0ff7();
uVar18 = FUN_1020_1017();
*(undefined2 *)(iVar12 + 0xbae) = uVar18;
*(undefined2 *)(iVar12 + 0xbb0) = uVar8;
}
else if (DAT_1028_086d == 3) {
DAT_1028_07d3 = 0xefd0;
DAT_1028_07d5 = 3;
DAT_1028_07d7 = 0x30b0;
DAT_1028_07d9 = 1;
uVar18 = *(undefined2 *)(iVar12 + 0x58);
FUN_1020_100b(uVar8);
FUN_1020_0ff7();
uVar8 = FUN_1020_1017();
*(undefined2 *)(iVar12 + 0xbaa) = uVar8;
*(undefined2 *)(iVar12 + 0xbac) = uVar18;
uVar8 = *(undefined2 *)(iVar12 + 0x58);
FUN_1020_100b();
FUN_1020_0ff7();
uVar18 = FUN_1020_1017();
*(undefined2 *)(iVar12 + 0xbae) = uVar18;
*(undefined2 *)(iVar12 + 0xbb0) = uVar8;
}
else if (DAT_1028_086d == 4) {
DAT_1028_07d3 = 0xfb88;
DAT_1028_07d5 = 3;
DAT_1028_07d7 = 0x4ff0;
DAT_1028_07d9 = 1;
uVar18 = *(undefined2 *)(iVar12 + 0x58);
FUN_1020_100b(uVar8);
FUN_1020_0ff7();
uVar8 = FUN_1020_1017();
*(undefined2 *)(iVar12 + 0xbaa) = uVar8;
*(undefined2 *)(iVar12 + 0xbac) = uVar18;
uVar8 = *(undefined2 *)(iVar12 + 0x58);
FUN_1020_100b();
FUN_1020_0ff7();
uVar18 = FUN_1020_1017();
*(undefined2 *)(iVar12 + 0xbae) = uVar18;
*(undefined2 *)(iVar12 + 0xbb0) = uVar8;
}
else if (DAT_1028_086d == 5) {
DAT_1028_07d3 = 0xf10;
DAT_1028_07d5 = 4;
DAT_1028_07d7 = 0x5f90;
DAT_1028_07d9 = 1;
uVar18 = *(undefined2 *)(iVar12 + 0x58);
FUN_1020_100b(uVar8);
FUN_1020_0ff7();
uVar8 = FUN_1020_1017();
*(undefined2 *)(iVar12 + 0xbaa) = uVar8;
*(undefined2 *)(iVar12 + 0xbac) = uVar18;
uVar8 = *(undefined2 *)(iVar12 + 0x58);
FUN_1020_100b();
FUN_1020_0ff7();
uVar18 = FUN_1020_1017();
*(undefined2 *)(iVar12 + 0xbae) = uVar18;
*(undefined2 *)(iVar12 + 0xbb0) = uVar8;
}
else if (DAT_1028_086d == 6) {
DAT_1028_07d3 = 0x1eb0;
DAT_1028_07d5 = 4;
DAT_1028_07d7 = 0x6f30;
DAT_1028_07d9 = 1;
uVar18 = *(undefined2 *)(iVar12 + 0x58);
FUN_1020_100b(uVar8);
FUN_1020_0ff7();
uVar8 = FUN_1020_1017();
*(undefined2 *)(iVar12 + 0xbaa) = uVar8;
*(undefined2 *)(iVar12 + 0xbac) = uVar18;
uVar8 = *(undefined2 *)(iVar12 + 0x58);
FUN_1020_100b();
FUN_1020_0ff7();
uVar18 = FUN_1020_1017();
*(undefined2 *)(iVar12 + 0xbae) = uVar18;
*(undefined2 *)(iVar12 + 0xbb0) = uVar8;
}
else if (DAT_1028_086d == 7) {
DAT_1028_07d3 = 0x3238;
DAT_1028_07d5 = 4;
DAT_1028_07d7 = 0x7ae8;
DAT_1028_07d9 = 1;
uVar18 = *(undefined2 *)(iVar12 + 0x58);
FUN_1020_100b(uVar8);
FUN_1020_0ff7();
uVar8 = FUN_1020_1017();
*(undefined2 *)(iVar12 + 0xbaa) = uVar8;
*(undefined2 *)(iVar12 + 0xbac) = uVar18;
uVar8 = *(undefined2 *)(iVar12 + 0x58);
FUN_1020_100b();
FUN_1020_0ff7();
uVar18 = FUN_1020_1017();
*(undefined2 *)(iVar12 + 0xbae) = uVar18;
*(undefined2 *)(iVar12 + 0xbb0) = uVar8;
}
else if (DAT_1028_086d == 8) {
DAT_1028_07d3 = 0x3df0;
DAT_1028_07d5 = 4;
DAT_1028_07d7 = 0x7ed0;
DAT_1028_07d9 = 1;
uVar18 = *(undefined2 *)(iVar12 + 0x58);
FUN_1020_100b(uVar8);
FUN_1020_0ff7();
uVar8 = FUN_1020_1017();
*(undefined2 *)(iVar12 + 0xbaa) = uVar8;
*(undefined2 *)(iVar12 + 0xbac) = uVar18;
uVar8 = *(undefined2 *)(iVar12 + 0x58);
FUN_1020_100b();
FUN_1020_0ff7();
uVar18 = FUN_1020_1017();
*(undefined2 *)(iVar12 + 0xbae) = uVar18;
*(undefined2 *)(iVar12 + 0xbb0) = uVar8;
}
else if (DAT_1028_086d == 9) {
DAT_1028_07d3 = 0x4d90;
DAT_1028_07d5 = 4;
DAT_1028_07d7 = 0x8a88;
DAT_1028_07d9 = 1;
uVar18 = *(undefined2 *)(iVar12 + 0x58);
FUN_1020_100b(uVar8);
FUN_1020_0ff7();
uVar8 = FUN_1020_1017();
*(undefined2 *)(iVar12 + 0xbaa) = uVar8;
*(undefined2 *)(iVar12 + 0xbac) = uVar18;
uVar8 = *(undefined2 *)(iVar12 + 0x58);
FUN_1020_100b();
FUN_1020_0ff7();
uVar18 = FUN_1020_1017();
*(undefined2 *)(iVar12 + 0xbae) = uVar18;
*(undefined2 *)(iVar12 + 0xbb0) = uVar8;
}
else if (DAT_1028_086d == 0x12) {
DAT_1028_07d3 = 0xf588;
DAT_1028_07d5 = 4;
DAT_1028_07d7 = 0x6760;
DAT_1028_07d9 = 1;
*(undefined2 *)(iVar12 + 0xbaa) = 0;
*(undefined2 *)(iVar12 + 0xbac) = 0;
*(undefined2 *)(iVar12 + 0xbae) = 1000;
*(undefined2 *)(iVar12 + 0xbb0) = 0;
}
FUN_1000_c426(&stack0xfffe,1,0);
FUN_1000_9bca(&stack0xfffe);
FUN_1008_0002(0x10);
*(undefined1 *)(iVar12 + 0xbdf) = 0;
}
}
else {
uVar8 = GETDC(unaff_CS,*(undefined2 *)(iVar12 + 4));
if (DAT_1028_086d < DAT_1028_086f) {
DAT_1028_086d = DAT_1028_086d + 1;
}
else {
DAT_1028_086d = DAT_1028_086d - 1;
}
FUN_1008_0e08(CONCAT11((char)(DAT_1028_086d >> 8),DAT_1028_0873),DAT_1028_086d,uVar8);
RELEASEDC(0x1008,uVar8);
}
}
local_2e = 1;
while( true ) {
if ((*(char *)(iVar12 + local_2e + 0x61) != '\0') &&
(pcVar1 = (char *)(iVar12 + local_2e + 0x61), *pcVar1 = *pcVar1 + -1,
*(char *)(iVar12 + local_2e + 0x61) == '\0')) {
FUN_1000_b3f3(&stack0xfffe,local_2e);
}
if (local_2e == 0xaf) break;
local_2e = local_2e + 1;
}
if (DAT_1028_07c7 != '\0') {
if ((DAT_1028_0857 < 0) || ((DAT_1028_0857 < 1 && (DAT_1028_0855 < 6)))) {
bVar14 = 0xfffe < DAT_1028_0855;
DAT_1028_0855 = DAT_1028_0855 + 1;
DAT_1028_0857 = DAT_1028_0857 + (uint)bVar14;
FUN_1000_6f27(&stack0xfffe);
}
else {
DAT_1028_07c7 = '\0';
}
}
uVar18 = DAT_1028_07e9;
uVar8 = DAT_1028_07e5;
if (1 < *(byte *)(iVar12 + 0x61)) {
if (DAT_1028_41f9 == '\0') {
if (*(char *)(iVar12 + 0xbe1) == '\0') {
*(undefined2 *)(iVar12 + 0xbc2) = DAT_1028_07e3;
*(undefined2 *)(iVar12 + 0xbc4) = uVar8;
uVar8 = DAT_1028_07ed;
*(undefined2 *)(iVar12 + 0xbc6) = DAT_1028_07eb;
*(undefined2 *)(iVar12 + 0xbc8) = uVar8;
FUN_1000_a38e(&stack0xfffe,0);
}
else {
*(undefined1 *)(iVar12 + 0xbe1) = 0;
}
*(undefined1 *)(iVar12 + 0x61) = 1;
uVar8 = DAT_1028_07e9;
DAT_1028_0874 = '\0';
DAT_1028_41f9 = '\x01';
if (DAT_1028_424c == '\0') {
*(undefined2 *)(iVar12 + 0xbc2) = DAT_1028_07e7;
*(undefined2 *)(iVar12 + 0xbc4) = uVar8;
uVar8 = DAT_1028_07f1;
*(undefined2 *)(iVar12 + 0xbc6) = DAT_1028_07ef;
*(undefined2 *)(iVar12 + 0xbc8) = uVar8;
FUN_1000_ae6e(&stack0xfffe);
}
else {
DAT_1028_07e3 = DAT_1028_07e7;
DAT_1028_07e5 = DAT_1028_07e9;
DAT_1028_07eb = DAT_1028_07ef;
DAT_1028_07ed = DAT_1028_07f1;
DAT_1028_07f3 = DAT_1028_07f7;
DAT_1028_07f5 = DAT_1028_07f9;
DAT_1028_07fb = DAT_1028_07ff;
DAT_1028_07fd = DAT_1028_0801;
DAT_1028_080b = DAT_1028_0811;
DAT_1028_080d = DAT_1028_0813;
DAT_1028_080f = DAT_1028_0815;
DAT_1028_0803 = DAT_1028_0807;
DAT_1028_0805 = DAT_1028_0809;
FUN_1000_c36b(&stack0xfffe,0,0);
DAT_1028_424c = '\0';
}
}
else if (DAT_1028_424c == '\0') {
if (*(char *)(iVar12 + 0xbe1) == '\0') {
*(undefined2 *)(iVar12 + 0xbc2) = DAT_1028_07e7;
*(undefined2 *)(iVar12 + 0xbc4) = uVar18;
uVar8 = DAT_1028_07f1;
*(undefined2 *)(iVar12 + 0xbc6) = DAT_1028_07ef;
*(undefined2 *)(iVar12 + 0xbc8) = uVar8;
FUN_1000_a38e(&stack0xfffe,0);
}
else {
*(undefined1 *)(iVar12 + 0xbe1) = 0;
}
*(undefined1 *)(iVar12 + 0x61) = 1;
DAT_1028_0874 = '\0';
FUN_1000_c36b(&stack0xfffe,0,0);
}
}
if ((*(char *)(iVar12 + 0xbd8) == '\0') && (*(char *)(iVar12 + 0xbdf) == '\0')) {
FUN_1000_c79c(&stack0xfffe);
}
if (*(char *)(iVar12 + 0xbe2) == '\x01') {
*(undefined1 *)(iVar12 + 0xbe2) = 0;
FUN_1000_c426(&stack0xfffe,1,0);
FUN_1000_bdde(&stack0xfffe,2,0);
FUN_1000_9e85(&stack0xfffe);
uVar8 = GETDC(0x1000,*(undefined2 *)(iVar12 + 4));
FUN_1008_08bb(0x14,0x94,0xf3,0x54,uVar8);
FUN_1008_093f(0x14,0x94,0xf3,0x54,uVar8);
RELEASEDC(0x1008,uVar8);
FUN_1000_c426(&stack0xfffe,0,0);
FUN_1000_bdde(&stack0xfffe,1,0);
}
if (*(char *)(iVar12 + 0xbe0) == '\x01') {
FUN_1000_c426(&stack0xfffe,0,0);
FUN_1000_bdde(&stack0xfffe,1,0);
uVar8 = DAT_1028_396b;
DAT_1028_07d3 = DAT_1028_3969;
DAT_1028_07d5 = DAT_1028_396b;
DAT_1028_07d7 = DAT_1028_396d;
DAT_1028_07d9 = DAT_1028_396f;
*(undefined2 *)(iVar12 + 0xbc2) = DAT_1028_3969;
*(undefined2 *)(iVar12 + 0xbc4) = uVar8;
uVar8 = DAT_1028_07d9;
*(undefined2 *)(iVar12 + 0xbc6) = DAT_1028_07d7;
*(undefined2 *)(iVar12 + 0xbc8) = uVar8;
FUN_1000_a38e(&stack0xfffe,0);
*(undefined1 *)(iVar12 + (uint)DAT_1028_07d1 * 0x14 + 0x47b) = 0;
FUN_1000_b3f3(&stack0xfffe,0x3fc);
*(undefined2 *)(iVar12 + 0xbaa) = 0;
*(undefined2 *)(iVar12 + 0xbac) = 0;
uVar8 = *(undefined2 *)(iVar12 + 0x58);
FUN_1020_100b();
FUN_1020_0ff7();
uVar18 = FUN_1020_1017();
*(undefined2 *)(iVar12 + 0xbae) = uVar18;
*(undefined2 *)(iVar12 + 0xbb0) = uVar8;
*(undefined2 *)(iVar12 + 0xbca) = 0;
*(undefined2 *)(iVar12 + 0xbcc) = 0;
*(undefined2 *)(iVar12 + 0xbce) = 0;
*(undefined2 *)(iVar12 + 0xbd0) = 0;
*(undefined2 *)(iVar12 + 0xbd2) = 0;
DAT_1028_399a = 2;
FUN_1000_c426(&stack0xfffe,1,0);
FUN_1000_bdde(&stack0xfffe,2,0);
DAT_1028_41f9 = '\x01';
DAT_1028_424c = '\x01';
*(undefined1 *)(iVar12 + 0x61) = 2;
DAT_1028_0874 = '\x01';
*(undefined1 *)(iVar12 + 0xbe0) = 0;
}
goto LAB_1000_fd59;
}
if (DAT_1028_07c9 != '\0') {
iVar9 = 2;
iVar11 = 0;
FUN_1020_08e6();
if (iVar9 == 0 && iVar11 == 0) {
FUN_1020_08e6();
iVar9 = FUN_1020_08e6();
if ((iVar9 < 0) || (7 < iVar9)) {
if ((7 < iVar9) && (iVar9 < 0x10)) {
FUN_1000_b3f3(&stack0xfffe,iVar9 + 0x84);
}
}
else {
FUN_1000_b30b(&stack0xfffe,iVar9 + 0x8c);
}
}
iVar9 = 4;
iVar11 = 0;
FUN_1020_08e6();
if (iVar9 == 0 && iVar11 == 0) {
FUN_1020_08e6();
iVar9 = FUN_1020_08e6();
if (iVar9 == 0) {
FUN_1000_b30b(&stack0xfffe,0x3e9);
FUN_1000_b3f3(&stack0xfffe,0x3ea);
}
else if ((iVar9 < 1) || (4 < iVar9)) {
if ((4 < iVar9) && (iVar9 < 9)) {
FUN_1000_b30b(&stack0xfffe,0x3f1 - iVar9);
FUN_1000_b3f3(&stack0xfffe,0x3f2 - iVar9);
}
}
else {
FUN_1000_b30b(&stack0xfffe,iVar9 + 0x3e9);
FUN_1000_b3f3(&stack0xfffe,iVar9 + 1000);
}
}
iVar9 = 0x20;
uVar8 = 0x1020;
FUN_1020_08e6();
if (iVar9 == 0) {
FUN_1000_b30b(&stack0xfffe,0x99);
FUN_1000_b30b(&stack0xfffe,0x9a);
uVar8 = 0x1000;
FUN_1000_b30b(&stack0xfffe,6);
}
else if (iVar9 == 0x10) {
FUN_1000_b3f3(&stack0xfffe,0x99);
FUN_1000_b3f3(&stack0xfffe,0x9a);
uVar8 = 0x1000;
FUN_1000_b3f3(&stack0xfffe,6);
}
iVar9 = 4;
iVar11 = 0;
uVar18 = 0xf62f;
FUN_1020_08e6();
if (iVar9 == 0 && iVar11 == 0) {
uVar8 = *(undefined2 *)(iVar12 + 4);
uVar15 = GETDC(0x1020,uVar8);
FUN_1020_08e6();
iVar9 = FUN_1020_08e6();
if (iVar9 < 5) {
iVar9 = (iVar9 * 3 + 0x5a) * 0x53;
local_4d = (undefined1)(iVar9 + 0x95b);
uVar2 = (undefined1)((uint)(iVar9 + 0x95b) >> 8);
uVar3 = 0x10;
FUN_1008_0837((*(int *)(iVar9 + 0x9ac) - *(int *)(iVar9 + 0x9a8)) + 1,
(*(int *)(iVar9 + 0x9aa) - *(int *)(iVar9 + 0x9a6)) + -10,
*(undefined2 *)(iVar9 + 0x9a8),*(undefined2 *)(iVar9 + 0x9a6),uVar15);
iVar9 = CONCAT11(uVar2,local_4d);
uVar18 = (undefined2)(CONCAT13(uVar3,CONCAT12(0x28,iVar9)) >> 0x10);
FUN_1008_093f((*(int *)(iVar9 + 0x51) - *(int *)(iVar9 + 0x4d)) + 1,
(*(int *)(iVar9 + 0x4f) - *(int *)(iVar9 + 0x4b)) + -10,
*(undefined2 *)(iVar9 + 0x4d),*(undefined2 *)(iVar9 + 0x4b),uVar15);
}
else {
iVar9 = ((iVar9 + -5) * 3 + 0x5a) * 0x53;
local_4d = (undefined1)(iVar9 + 0x95b);
uVar2 = (undefined1)((uint)(iVar9 + 0x95b) >> 8);
uVar3 = 0x10;
FUN_1008_08bb((*(int *)(iVar9 + 0x9ac) - *(int *)(iVar9 + 0x9a8)) + 1,
(*(int *)(iVar9 + 0x9aa) - *(int *)(iVar9 + 0x9a6)) + -10,
*(undefined2 *)(iVar9 + 0x9a8),*(undefined2 *)(iVar9 + 0x9a6),uVar15);
iVar9 = CONCAT11(uVar2,local_4d);
uVar18 = (undefined2)(CONCAT13(uVar3,CONCAT12(0x28,iVar9)) >> 0x10);
FUN_1008_093f((*(int *)(iVar9 + 0x51) - *(int *)(iVar9 + 0x4d)) + 1,
(*(int *)(iVar9 + 0x4f) - *(int *)(iVar9 + 0x4b)) + -10,
*(undefined2 *)(iVar9 + 0x4d),*(undefined2 *)(iVar9 + 0x4b),uVar15);
}
uVar18 = *(undefined2 *)(iVar12 + 4);
RELEASEDC(0x1008,uVar15);
}
iVar9 = 4;
iVar11 = 0;
FUN_1020_08e6(uVar18,uVar8);
if (iVar9 == 0 && iVar11 == 0) {
uVar15 = GETDC(0x1020,*(undefined2 *)(iVar12 + 4));
FUN_1020_08e6();
uVar16 = 0x1020;
iVar9 = FUN_1020_08e6();
if (iVar9 == 0) {
FUN_1008_0837(9,9,0xd1,0x96,uVar15);
FUN_1008_093f(9,9,0xd1,0x96,uVar15);
FUN_1008_08bb(9,9,0xe0,0xc0,uVar15);
uVar16 = 0x1008;
FUN_1008_093f(9,9,0xe0,0xc0,uVar15);
}
else if (iVar9 == 1) {
FUN_1008_0837(9,9,0xd6,0xa4,uVar15);
FUN_1008_093f(9,9,0xd6,0xa4,uVar15);
FUN_1008_08bb(9,9,0xd1,0x96,uVar15);
uVar16 = 0x1008;
FUN_1008_093f(9,9,0xd1,0x96,uVar15);
}
else if (iVar9 == 2) {
FUN_1008_0837(9,9,0xdb,0xb2,uVar15);
FUN_1008_093f(9,9,0xdb,0xb2,uVar15);
FUN_1008_08bb(9,9,0xd6,0xa4,uVar15);
uVar16 = 0x1008;
FUN_1008_093f(9,9,0xd6,0xa4,uVar15);
}
else if (iVar9 == 3) {
FUN_1008_0837(9,9,0xe0,0xc0,uVar15);
FUN_1008_093f(9,9,0xe0,0xc0,uVar15);
FUN_1008_08bb(9,9,0xdb,0xb2,uVar15);
uVar16 = 0x1008;
FUN_1008_093f(9,9,0xdb,0xb2,uVar15);
}
RELEASEDC(uVar16,uVar15);
}
iVar9 = 8;
iVar11 = 0;
FUN_1020_08e6(uVar18,uVar8);
if (iVar9 == 0 && iVar11 == 0) {
uVar8 = GETDC(0x1020,*(undefined2 *)(iVar12 + 4));
FUN_1020_08e6();
iVar9 = FUN_1020_08e6();
if (iVar9 < 10) {
FUN_1008_0dbd(iVar9,uVar8);
}
else {
FUN_1008_0dbd(0x12 - iVar9,uVar8);
}
RELEASEDC(0x1008,uVar8);
}
iVar9 = 6;
iVar11 = 0;
unaff_CS = 0x1020;
FUN_1020_08e6();
if (iVar9 == 0 && iVar11 == 0) {
bVar14 = 0xfffe < DAT_1028_087a;
DAT_1028_087a = DAT_1028_087a + 1;
DAT_1028_087c = DAT_1028_087c + (uint)bVar14;
uVar4 = GETDC(0x1020,*(undefined2 *)(iVar12 + 4));
uVar5 = CREATECOMPATIBLEDC(0x1228,uVar4);
uVar6 = CREATECOMPATIBLEDC(0x1228,uVar4);
uVar7 = CREATECOMPATIBLEBITMAP(0x1228,0x1e,0x11c);
uVar2 = SELECTOBJECT(0x1228,DAT_1028_085f);
uVar16 = uVar6;
uVar3 = SELECTOBJECT(0x1228,uVar7);
uVar15 = uVar6;
BITBLT(0x1228,0x20,0xcc,0x115,0x1d9,uVar5,0x1e,100,0,0);
uVar18 = uVar6;
BITBLT(0x1228,0x20,0xcc,0xe9,0x1d8,uVar5,0x1e,0x89,0,100);
uVar8 = uVar5;
SELECTOBJECT(0x1228,DAT_1028_0861);
iVar9 = 0x31;
iVar11 = 0;
FUN_1020_08e6(uVar8,uVar18,uVar15,uVar16);
if ((iVar11 < 1) && ((iVar11 < 0 || (iVar9 == 0)))) {
LAB_1000_fabd:
uVar16 = 0;
uVar15 = 0;
FUN_1020_08e6(0,0,uVar6);
iVar9 = FUN_1020_08a9();
iVar9 = 0xed - iVar9;
uVar18 = 0x1e;
uVar8 = uVar5;
FUN_1020_08e6(uVar5,0x1e,iVar9);
iVar11 = FUN_1020_08a9();
BITBLT(0x1020,0xc6,0x88,0,iVar11 + 400,uVar8,uVar18,iVar9,uVar15,uVar16);
FUN_1020_08e6(uVar6);
iVar9 = FUN_1020_08a9();
iVar9 = 0xed - iVar9;
uVar18 = 0;
FUN_1020_08e6(0,iVar9);
uVar8 = FUN_1020_08a9();
BITBLT(0x1020,0xc6,0x88,0,0xa0,uVar5,0x1e,uVar8,uVar18,iVar9);
}
else {
uVar10 = 0x31;
iVar9 = 0;
FUN_1020_08e6(uVar8,uVar18,uVar15);
if ((-1 < iVar9) && ((0 < iVar9 || (0x15 < uVar10)))) goto LAB_1000_fabd;
uVar17 = 0;
uVar16 = 0;
uVar15 = 0xed;
uVar18 = 0x1e;
uVar8 = uVar5;
FUN_1020_08e6(uVar5,0x1e,0xed,0,0,uVar6);
iVar9 = FUN_1020_08a9();
BITBLT(0x1020,0xc6,0x88,0,iVar9 + 400,uVar8,uVar18,uVar15,uVar16,uVar17);
}
uVar18 = uVar4;
BITBLT(0x1228,0x20,0xcc,0,0,uVar6,0x1e,0xed,0xe9,0x174);
uVar8 = uVar5;
SELECTOBJECT(0x28,uVar2);
uVar2 = (undefined1)uVar6;
SELECTOBJECT(0x28,uVar3);
DELETEOBJECT(0x28,(char)uVar7,uVar2,uVar8,uVar18);
DELETEDC(0x1228,(char)uVar5);
DELETEDC(0x1228,uVar6);
unaff_CS = 0x1228;
RELEASEDC(0x1228,uVar4);
}
}
if ((DAT_1028_07c8 != '\0') && (*(char *)(iVar12 + 0xbdd) == '\0')) {
*(undefined1 *)(iVar12 + 0xbdf) = 1;
if ((DAT_1028_0853 < 0) || ((DAT_1028_0853 < 1 && (DAT_1028_0851 < 0x119)))) {
if ((DAT_1028_0853 == 0) && (DAT_1028_0851 == 1)) {
for (local_30 = 0x81; *(undefined2 *)(local_30 * 0x53 + 0x99e) = 0, local_30 != 0x85;
local_30 = local_30 + 1) {
}
}
bVar14 = 0xfffe < DAT_1028_0851;
DAT_1028_0851 = DAT_1028_0851 + 1;
DAT_1028_0853 = DAT_1028_0853 + (uint)bVar14;
FUN_1000_7440(&stack0xfffe);
}
else {
DAT_1028_07c8 = '\0';
*(undefined1 *)(iVar12 + 0xbdf) = 0;
DAT_1028_0851 = 0;
DAT_1028_0853 = 0;
uVar8 = GETDC(unaff_CS,*(undefined2 *)(iVar12 + 4));
FUN_1008_08bb(0x46,0x44,0x29,0x57,uVar8);
FUN_1008_093f(0x46,0x44,0x29,0x57,uVar8);
RELEASEDC(0x1008,uVar8);
for (local_30 = 0xf;
*(undefined1 *)(iVar12 + (uint)DAT_1028_07d1 * 0x14 + local_30 + 0x467) = 0,
local_30 != 0x13; local_30 = local_30 + 1) {
}
}
}
if (*(int *)((uint)DAT_1028_07d0 * 2 + 0x81f) == -1) {
FUN_1000_a72c(&stack0xfffe);
FUN_1000_acc2(&stack0xfffe);
FUN_1000_a604(&stack0xfffe);
FUN_1000_9e85(&stack0xfffe);
uVar8 = GETDC(0x1000,*(undefined2 *)(iVar12 + 4));
FUN_1008_08bb(0x14,0x94,0xf3,0x54,uVar8);
FUN_1008_093f(0x14,0x94,0xf3,0x54,uVar8);
RELEASEDC(0x1008,uVar8);
DAT_1028_0876 = 0;
DAT_1028_0878 = 0;
}
LAB_1000_fd59:
FUN_1000_99f0(&stack0xfffe);
FUN_1008_00e2();
*(undefined1 *)(iVar12 + 0x51) = 0;
if (*(int *)(iVar12 + 0x5e) != 0) {
*(int *)(iVar12 + 0x5e) = *(int *)(iVar12 + 0x5e) + -1;
}
return;
}
/* ===== 1000:fd85 ne_program_entry ===== */
/* WARNING: Control flow encountered bad instruction data */
void ne_program_entry(void)
{
undefined2 extraout_DX;
undefined2 uVar1;
undefined2 uVar2;
INITTASK();
uVar1 = extraout_DX;
FUN_1020_0002();
FUN_1008_298a();
FUN_1008_2554();
FUN_1010_0472();
FUN_1008_15c2();
FUN_1008_11b8();
FUN_1008_0f27();
uVar2 = 0x1228;
DAT_1028_07bf = GETVERSION();
DAT_1028_07c1 = uVar1;
if ((byte)DAT_1028_07bf < 3) {
LAB_1000_fdf4:
(*DAT_1028_0666)(0x1228,0x10,0x3c8,0x1028,0x396,0x1028,0);
}
else {
if ((byte)DAT_1028_07bf == 3) {
if ((byte)(DAT_1028_07bf >> 8) < 10) goto LAB_1000_fdf4;
}
uVar2 = 0x1018;
FUN_1018_1a61(0x748,0x1028,0x24,0x3e1,0x1028);
(*(code *)*(undefined2 *)(DAT_1028_0748 + 0x1c))(0x1018,0x748,0x1028);
(*(code *)*(undefined2 *)(DAT_1028_0748 + 8))(0x1018,0x748,0x1028,0);
}
FUN_1020_0061(uVar2);
/* WARNING: Bad instruction - Truncating control flow here */
halt_baddata();
}
/* ===== 1008:0002 FUN_1008_0002 ===== */
void __stdcall16far FUN_1008_0002(undefined2 param_1)
{
if ((DAT_1028_07c6 == '\0') && (DAT_1028_43f2 != '\0')) {
FUN_1008_1131(param_1);
}
return;
}
/* ===== 1008:0023 FUN_1008_0023 ===== */
void __stdcall16far FUN_1008_0023(undefined2 param_1)
{
undefined2 *puVar1;
undefined2 uVar2;
undefined2 uVar3;
undefined2 uVar4;
undefined2 *puVar5;
undefined2 uVar6;
int local_8;
puVar5 = (undefined2 *)FUN_1020_012d(0x404);
uVar6 = (undefined2)((ulong)puVar5 >> 0x10);
puVar1 = (undefined2 *)puVar5;
if (puVar5 != (undefined2 *)0x0) {
*puVar5 = 0x300;
puVar1[1] = 0x100;
local_8 = 0;
while( true ) {
*(undefined1 *)(puVar1 + local_8 * 2 + 2) = 0;
*(undefined1 *)((int)puVar1 + local_8 * 4 + 5) = 0;
*(undefined1 *)(puVar1 + local_8 * 2 + 3) = 0;
*(undefined1 *)((int)puVar1 + local_8 * 4 + 7) = 4;
if (local_8 == 0xff) break;
local_8 = local_8 + 1;
}
uVar2 = GETDC(0x1020,param_1);
uVar4 = uVar2;
uVar3 = CREATEPALETTE(0x1228,puVar1);
uVar3 = SELECTPALETTE(0x1228,0,uVar3);
REALIZEPALETTE(0x1228,uVar2,uVar6,uVar4);
uVar6 = uVar2;
uVar4 = SELECTPALETTE(0x1228,1,uVar3);
DELETEOBJECT(0x1228,uVar4,uVar6);
RELEASEDC(0x1228,uVar2);
FUN_1020_0147(0x404,puVar5);
}
return;
}
/* ===== 1008:00e2 FUN_1008_00e2 ===== */
void __cdecl16far FUN_1008_00e2(void)
{
int iVar1;
undefined2 unaff_CS;
undefined2 unaff_SS;
undefined1 local_14 [2];
int local_12;
do {
iVar1 = PEEKMESSAGE(unaff_CS,1,0x32,0,0,local_14,unaff_SS);
if ((((iVar1 != 0) && (local_12 != 0x580)) && (local_12 != 0x100)) && (local_12 != 0x101)) {
TRANSLATEMESSAGE(0x1228,local_14);
DISPATCHMESSAGE(0x1228,local_14);
}
unaff_CS = 0x1228;
} while (iVar1 != 0);
return;
}
/* ===== 1008:0138 FUN_1008_0138 ===== */
void __stdcall16far
FUN_1008_0138(undefined2 param_1,undefined2 param_2,undefined2 param_3,undefined2 param_4,
undefined2 param_5,int param_6,undefined2 param_7,int param_8,undefined2 param_9,
undefined2 param_10,undefined2 param_11,undefined2 param_12,undefined2 param_13,
undefined2 param_14,undefined2 param_15,undefined2 param_16,undefined2 param_17,
undefined2 param_18,undefined2 param_19,undefined2 param_20,undefined2 param_21,
undefined2 param_22,undefined2 param_23,undefined2 param_24,undefined2 param_25,
uint param_26,int param_27,uint param_28,int param_29,uint param_30,int param_31,
uint param_32,int param_33,uint param_34,int param_35,char param_36,undefined1 param_37
,char param_38,undefined1 param_39,uint param_40)
{
uint uVar1;
undefined2 uVar2;
uint uVar3;
int iVar4;
int iVar5;
undefined2 uVar6;
int iVar7;
bool bVar8;
uint local_a;
int local_8;
uint local_6;
int local_4;
if (param_40 < 0xb0) {
iVar7 = param_40 * 0x53;
*(undefined1 *)(iVar7 + 0x95b) = param_38;
if (param_26 == 0 && param_27 == 0) {
param_38 = '\x02';
}
else {
param_38 = '\x01';
}
if (param_36 == '\x01') {
bVar8 = CARRY2(DAT_1028_0849,param_34);
param_34 = DAT_1028_0849 + param_34;
param_35 = DAT_1028_084b + param_35 + (uint)bVar8;
bVar8 = CARRY2(DAT_1028_084d,param_32);
param_32 = DAT_1028_084d + param_32;
param_33 = DAT_1028_084f + param_33 + (uint)bVar8;
local_6 = param_34 + param_30;
local_4 = param_35 + param_31 + (uint)CARRY2(param_34,param_30);
local_a = param_32 + param_28;
local_8 = param_33 + param_29 + (uint)CARRY2(param_32,param_28);
}
else {
bVar8 = 0x13 < param_32;
param_32 = param_32 - 0x14;
param_33 = param_33 + -1 + (uint)bVar8;
local_6 = param_30;
local_4 = param_31;
local_a = param_28 - 0x14;
local_8 = param_29 + -1 + (uint)(0x13 < param_28);
}
if (((local_4 < 1) && ((local_4 < 0 || (local_6 == 0)))) ||
((local_4 <= param_35 && ((local_4 < param_35 || (local_6 <= param_34)))))) {
if (((local_4 < 1) && ((local_4 < 0 || (local_6 == 0)))) ||
((param_35 <= local_4 && ((param_35 < local_4 || (param_34 <= local_6)))))) {
iVar4 = (param_35 - param_27) - (uint)(param_34 < param_26);
uVar2 = FUN_1020_08a9();
*(undefined2 *)(iVar7 + 0x95d) = uVar2;
*(int *)(iVar7 + 0x95f) = iVar4;
iVar4 = param_35 + param_27 + (uint)CARRY2(param_34,param_26);
uVar2 = FUN_1020_08a9();
*(undefined2 *)(iVar7 + 0x965) = uVar2;
*(int *)(iVar7 + 0x967) = iVar4;
}
else {
iVar4 = local_4;
uVar2 = FUN_1020_08a9();
*(undefined2 *)(iVar7 + 0x95d) = uVar2;
*(int *)(iVar7 + 0x95f) = iVar4;
iVar4 = param_35;
uVar2 = FUN_1020_08a9();
*(undefined2 *)(iVar7 + 0x965) = uVar2;
*(int *)(iVar7 + 0x967) = iVar4;
}
}
else {
iVar4 = param_35;
uVar2 = FUN_1020_08a9();
*(undefined2 *)(iVar7 + 0x95d) = uVar2;
*(int *)(iVar7 + 0x95f) = iVar4;
iVar4 = local_4;
uVar2 = FUN_1020_08a9();
*(undefined2 *)(iVar7 + 0x965) = uVar2;
*(int *)(iVar7 + 0x967) = iVar4;
}
if (((local_8 < 1) && ((local_8 < 0 || (local_a == 0)))) ||
((local_8 <= param_33 && ((local_8 < param_33 || (local_a <= param_32)))))) {
if (((local_8 < 1) && ((local_8 < 0 || (local_a == 0)))) ||
((param_33 <= local_8 && ((param_33 < local_8 || (param_32 <= local_a)))))) {
iVar4 = (param_33 - param_27) - (uint)(param_32 < param_26);
uVar2 = FUN_1020_08a9();
*(undefined2 *)(iVar7 + 0x961) = uVar2;
*(int *)(iVar7 + 0x963) = iVar4;
iVar4 = param_33 + param_27 + (uint)CARRY2(param_32,param_26);
uVar2 = FUN_1020_08a9();
*(undefined2 *)(iVar7 + 0x969) = uVar2;
*(int *)(iVar7 + 0x96b) = iVar4;
}
else {
iVar4 = local_8;
uVar2 = FUN_1020_08a9();
*(undefined2 *)(iVar7 + 0x961) = uVar2;
*(int *)(iVar7 + 0x963) = iVar4;
iVar4 = param_33;
uVar2 = FUN_1020_08a9();
*(undefined2 *)(iVar7 + 0x969) = uVar2;
*(int *)(iVar7 + 0x96b) = iVar4;
}
}
else {
iVar4 = param_33;
uVar2 = FUN_1020_08a9();
*(undefined2 *)(iVar7 + 0x961) = uVar2;
*(int *)(iVar7 + 0x963) = iVar4;
iVar4 = local_8;
uVar2 = FUN_1020_08a9();
*(undefined2 *)(iVar7 + 0x969) = uVar2;
*(int *)(iVar7 + 0x96b) = iVar4;
}
if (param_38 == '\x01') {
iVar4 = param_35;
uVar2 = FUN_1020_08a9();
*(undefined2 *)(iVar7 + 0x96d) = uVar2;
*(int *)(iVar7 + 0x96f) = iVar4;
iVar4 = param_33;
uVar2 = FUN_1020_08a9();
*(undefined2 *)(iVar7 + 0x971) = uVar2;
*(int *)(iVar7 + 0x973) = iVar4;
*(undefined2 *)(iVar7 + 0x975) = 0;
*(undefined2 *)(iVar7 + 0x977) = 0;
*(undefined2 *)(iVar7 + 0x979) = 0;
*(undefined2 *)(iVar7 + 0x97b) = 0;
uVar6 = 0;
FUN_1020_08a9();
uVar2 = FUN_1020_100b();
*(undefined2 *)(iVar7 + 0x97d) = uVar2;
*(undefined2 *)(iVar7 + 0x97f) = uVar6;
*(int *)(iVar7 + 0x981) = param_27;
if ((*(int *)(iVar7 + 0x95f) < *(int *)(iVar7 + 0x96f)) ||
((*(int *)(iVar7 + 0x95f) <= *(int *)(iVar7 + 0x96f) &&
(*(uint *)(iVar7 + 0x95d) < *(uint *)(iVar7 + 0x96d))))) {
uVar1 = *(uint *)(iVar7 + 0x95d);
iVar4 = *(int *)(iVar7 + 0x95f);
*(int *)(iVar7 + 0x95d) = uVar1 + 0xec78;
*(int *)(iVar7 + 0x95f) = iVar4 - (uint)(uVar1 < 5000);
}
else {
iVar5 = param_8;
uVar3 = FUN_1020_08a9();
uVar1 = *(uint *)(iVar7 + 0x95d);
iVar4 = *(int *)(iVar7 + 0x95f);
*(int *)(iVar7 + 0x95d) = uVar3 + *(uint *)(iVar7 + 0x95d);
*(int *)(iVar7 + 0x95f) = iVar5 + iVar4 + (uint)CARRY2(uVar3,uVar1);
}
if ((*(int *)(iVar7 + 0x963) < *(int *)(iVar7 + 0x973)) ||
((*(int *)(iVar7 + 0x963) <= *(int *)(iVar7 + 0x973) &&
(*(uint *)(iVar7 + 0x961) < *(uint *)(iVar7 + 0x971))))) {
uVar1 = *(uint *)(iVar7 + 0x961);
iVar4 = *(int *)(iVar7 + 0x963);
*(int *)(iVar7 + 0x961) = uVar1 + 0xec78;
*(int *)(iVar7 + 0x963) = iVar4 - (uint)(uVar1 < 5000);
}
else {
iVar5 = param_6;
uVar3 = FUN_1020_08a9();
uVar1 = *(uint *)(iVar7 + 0x961);
iVar4 = *(int *)(iVar7 + 0x963);
*(int *)(iVar7 + 0x961) = uVar3 + *(uint *)(iVar7 + 0x961);
*(int *)(iVar7 + 0x963) = iVar5 + iVar4 + (uint)CARRY2(uVar3,uVar1);
}
if ((*(int *)(iVar7 + 0x96f) < *(int *)(iVar7 + 0x967)) ||
((*(int *)(iVar7 + 0x96f) <= *(int *)(iVar7 + 0x967) &&
(*(uint *)(iVar7 + 0x96d) < *(uint *)(iVar7 + 0x965))))) {
uVar1 = *(uint *)(iVar7 + 0x965);
iVar4 = *(int *)(iVar7 + 0x967);
*(int *)(iVar7 + 0x965) = uVar1 + 5000;
*(int *)(iVar7 + 0x967) = iVar4 + (uint)(0xec77 < uVar1);
}
else {
uVar3 = FUN_1020_08a9();
uVar1 = *(uint *)(iVar7 + 0x965);
iVar4 = *(int *)(iVar7 + 0x967);
*(int *)(iVar7 + 0x965) = uVar3 + *(uint *)(iVar7 + 0x965);
*(int *)(iVar7 + 0x967) = param_8 + iVar4 + (uint)CARRY2(uVar3,uVar1);
}
if ((*(int *)(iVar7 + 0x973) < *(int *)(iVar7 + 0x96b)) ||
((*(int *)(iVar7 + 0x973) <= *(int *)(iVar7 + 0x96b) &&
(*(uint *)(iVar7 + 0x971) < *(uint *)(iVar7 + 0x969))))) {
uVar1 = *(uint *)(iVar7 + 0x969);
iVar4 = *(int *)(iVar7 + 0x96b);
*(int *)(iVar7 + 0x969) = uVar1 + 5000;
*(int *)(iVar7 + 0x96b) = iVar4 + (uint)(0xec77 < uVar1);
}
else {
uVar3 = FUN_1020_08a9();
uVar1 = *(uint *)(iVar7 + 0x969);
iVar4 = *(int *)(iVar7 + 0x96b);
*(int *)(iVar7 + 0x969) = uVar3 + *(uint *)(iVar7 + 0x969);
*(int *)(iVar7 + 0x96b) = param_6 + iVar4 + (uint)CARRY2(uVar3,uVar1);
}
DAT_1028_0849 = param_34;
DAT_1028_084b = param_35;
DAT_1028_084d = param_32;
DAT_1028_084f = param_33;
}
else if (param_38 == '\x02') {
uVar1 = *(uint *)(iVar7 + 0x95d);
iVar4 = *(int *)(iVar7 + 0x95f);
*(int *)(iVar7 + 0x95d) = uVar1 + 0xec78;
*(int *)(iVar7 + 0x95f) = iVar4 - (uint)(uVar1 < 5000);
uVar1 = *(uint *)(iVar7 + 0x965);
iVar4 = *(int *)(iVar7 + 0x967);
*(int *)(iVar7 + 0x965) = uVar1 + 5000;
*(int *)(iVar7 + 0x967) = iVar4 + (uint)(0xec77 < uVar1);
uVar1 = *(uint *)(iVar7 + 0x961);
iVar4 = *(int *)(iVar7 + 0x963);
*(int *)(iVar7 + 0x961) = uVar1 + 0xec78;
*(int *)(iVar7 + 0x963) = iVar4 - (uint)(uVar1 < 5000);
uVar1 = *(uint *)(iVar7 + 0x969);
iVar4 = *(int *)(iVar7 + 0x96b);
*(int *)(iVar7 + 0x969) = uVar1 + 5000;
*(int *)(iVar7 + 0x96b) = iVar4 + (uint)(0xec77 < uVar1);
uVar2 = FUN_1020_08a9();
*(undefined2 *)(iVar7 + 0x96d) = uVar2;
*(int *)(iVar7 + 0x96f) = param_35;
uVar2 = FUN_1020_08a9();
*(undefined2 *)(iVar7 + 0x971) = uVar2;
*(int *)(iVar7 + 0x973) = param_33;
iVar4 = local_4;
uVar2 = FUN_1020_08a9();
*(undefined2 *)(iVar7 + 0x975) = uVar2;
*(int *)(iVar7 + 0x977) = iVar4;
iVar4 = local_8;
uVar2 = FUN_1020_08a9();
*(undefined2 *)(iVar7 + 0x979) = uVar2;
*(int *)(iVar7 + 0x97b) = iVar4;
DAT_1028_0849 = local_6;
DAT_1028_084b = local_4;
DAT_1028_084d = local_a;
DAT_1028_084f = local_8;
*(undefined2 *)(iVar7 + 0x97d) = 0;
*(undefined2 *)(iVar7 + 0x97f) = 0;
*(undefined2 *)(iVar7 + 0x981) = 0;
}
*(undefined2 *)(iVar7 + 0x983) = param_23;
*(undefined2 *)(iVar7 + 0x985) = param_24;
*(undefined2 *)(iVar7 + 0x987) = param_25;
*(undefined2 *)(iVar7 + 0x989) = param_20;
*(undefined2 *)(iVar7 + 0x98b) = param_21;
*(undefined2 *)(iVar7 + 0x98d) = param_22;
*(undefined1 *)(iVar7 + 0x98f) = param_39;
*(undefined2 *)(iVar7 + 0x990) = param_17;
*(undefined2 *)(iVar7 + 0x992) = param_18;
*(undefined2 *)(iVar7 + 0x994) = param_19;
*(undefined2 *)(iVar7 + 0x996) = param_14;
*(undefined2 *)(iVar7 + 0x998) = param_15;
*(undefined2 *)(iVar7 + 0x99a) = param_16;
*(undefined1 *)(iVar7 + 0x95c) = param_37;
*(undefined2 *)(iVar7 + 0x99c) = param_13;
*(undefined2 *)(iVar7 + 0x99e) = param_12;
*(undefined2 *)(iVar7 + 0x9a0) = param_10;
*(undefined2 *)(iVar7 + 0x9a2) = param_11;
*(undefined2 *)(iVar7 + 0x9a4) = param_9;
*(undefined2 *)(iVar7 + 0x9a6) = param_4;
*(undefined2 *)(iVar7 + 0x9a8) = param_3;
*(undefined2 *)(iVar7 + 0x9aa) = param_2;
*(undefined2 *)(iVar7 + 0x9ac) = param_1;
}
return;
}
/* ===== 1008:0787 FUN_1008_0787 ===== */
void __stdcall16far
FUN_1008_0787(undefined2 param_1,undefined2 param_2,undefined2 param_3,undefined2 param_4,
int param_5)
{
param_5 = param_5 * 8;
*(undefined2 *)(param_5 + 0x4263) = param_4;
*(undefined2 *)(param_5 + 0x4265) = param_3;
*(undefined2 *)(param_5 + 16999) = param_2;
*(undefined2 *)(param_5 + 0x4269) = param_1;
return;
}
/* ===== 1008:07b6 FUN_1008_07b6 ===== */
void __stdcall16far
FUN_1008_07b6(undefined2 param_1,undefined2 param_2,undefined2 param_3,undefined2 param_4,
undefined2 param_5,undefined2 param_6)
{
undefined2 uVar1;
undefined2 uVar2;
undefined2 uVar3;
undefined2 uVar4;
undefined2 uVar5;
undefined2 uVar6;
undefined2 uVar7;
uVar4 = param_6;
uVar1 = CREATECOMPATIBLEDC();
uVar2 = CREATECOMPATIBLEDC(0x1228,param_6,uVar4);
uVar3 = SELECTOBJECT(0x1228,DAT_1028_085b);
uVar7 = uVar2;
uVar4 = SELECTOBJECT(0x1228,param_1);
uVar6 = uVar1;
BITBLT(0x1228,0x20,0xcc,0,0,uVar2,param_2,param_3,param_4,param_5);
uVar5 = uVar2;
SELECTOBJECT(0x1228,uVar4);
uVar4 = uVar1;
SELECTOBJECT(0x1228,uVar3);
DELETEDC(0x1228,uVar2,uVar4,uVar5,uVar6,uVar7);
DELETEDC(0x1228,uVar1);
return;
}
/* ===== 1008:0837 FUN_1008_0837 ===== */
void __stdcall16far
FUN_1008_0837(undefined2 param_1,undefined2 param_2,undefined2 param_3,undefined2 param_4,
undefined2 param_5)
{
undefined2 uVar1;
undefined2 uVar2;
undefined2 uVar3;
undefined2 uVar4;
undefined2 uVar5;
undefined2 uVar6;
undefined2 uVar7;
uVar4 = param_5;
uVar1 = CREATECOMPATIBLEDC();
uVar2 = CREATECOMPATIBLEDC(0x1228,param_5,uVar4);
uVar3 = SELECTOBJECT(0x1228,DAT_1028_085b);
uVar7 = uVar2;
uVar4 = SELECTOBJECT(0x1228,DAT_1028_085f);
uVar6 = uVar1;
BITBLT(0x1228,0x20,0xcc,param_3,param_4,uVar2,param_1,param_2,param_3,param_4);
uVar5 = uVar2;
SELECTOBJECT(0x1228,uVar4);
uVar4 = uVar1;
SELECTOBJECT(0x1228,uVar3);
DELETEDC(0x1228,uVar2,uVar4,uVar5,uVar6,uVar7);
DELETEDC(0x1228,uVar1);
return;
}
/* ===== 1008:08bb FUN_1008_08bb ===== */
void __stdcall16far
FUN_1008_08bb(undefined2 param_1,undefined2 param_2,undefined2 param_3,undefined2 param_4,
undefined2 param_5)
{
undefined2 uVar1;
undefined2 uVar2;
undefined2 uVar3;
undefined2 uVar4;
undefined2 uVar5;
undefined2 uVar6;
undefined2 uVar7;
uVar4 = param_5;
uVar1 = CREATECOMPATIBLEDC();
uVar2 = CREATECOMPATIBLEDC(0x1228,param_5,uVar4);
uVar3 = SELECTOBJECT(0x1228,DAT_1028_085b);
uVar7 = uVar2;
uVar4 = SELECTOBJECT(0x1228,DAT_1028_085d);
uVar6 = uVar1;
BITBLT(0x1228,0x20,0xcc,param_3,param_4,uVar2,param_1,param_2,param_3,param_4);
uVar5 = uVar2;
SELECTOBJECT(0x1228,uVar4);
uVar4 = uVar1;
SELECTOBJECT(0x1228,uVar3);
DELETEDC(0x1228,uVar2,uVar4,uVar5,uVar6,uVar7);
DELETEDC(0x1228,uVar1);
return;
}
/* ===== 1008:093f FUN_1008_093f ===== */
void __stdcall16far
FUN_1008_093f(undefined2 param_1,undefined2 param_2,undefined2 param_3,undefined2 param_4,
undefined2 param_5)
{
undefined2 uVar1;
undefined2 uVar2;
undefined2 uVar3;
undefined2 uVar4;
undefined2 uVar5;
uVar5 = param_5;
uVar1 = CREATECOMPATIBLEDC();
uVar4 = uVar1;
uVar2 = SELECTOBJECT(0x1228,DAT_1028_085b);
BITBLT(0x1228,0x20,0xcc,param_3,param_4,uVar1,param_1,param_2,param_3,param_4);
uVar3 = uVar1;
SELECTOBJECT(0x1228,uVar2);
DELETEDC(0x1228,uVar1,uVar3,param_5,uVar4,uVar5);
return;
}
/* ===== 1008:0996 FUN_1008_0996 ===== */
void __stdcall16far FUN_1008_0996(undefined2 param_1,uint param_2,int param_3)
{
undefined2 uVar1;
undefined2 uVar2;
undefined2 uVar3;
undefined2 uVar4;
undefined2 uVar5;
int iVar6;
byte bVar7;
undefined2 uVar8;
undefined2 uVar9;
undefined2 uVar10;
undefined2 uVar11;
undefined2 local_32;
undefined2 local_1c;
undefined1 local_4;
uVar2 = param_1;
uVar1 = CREATECOMPATIBLEDC();
uVar2 = CREATECOMPATIBLEDC(0x1228,param_1,uVar2);
uVar3 = CREATECOMPATIBLEBITMAP(0x1228,0x28,0x96);
if (param_2 == 1) {
local_32 = 0x129;
}
else if (param_2 == 2) {
local_32 = 0x155;
}
else if (param_2 == 3) {
local_32 = 0x181;
}
else if (param_2 == 4) {
local_32 = 0x1ad;
}
else {
local_32 = 0xfd;
}
if ((param_3 < 0) ||
((((param_3 < 1 && (param_2 == 0)) || (0 < param_3)) || ((-1 < param_3 && (4 < param_2)))))) {
local_1c = param_3;
}
else {
local_1c = *(int *)(param_2 * 4 + 0x980);
}
uVar11 = uVar1;
uVar4 = SELECTOBJECT(0x1228,DAT_1028_085b);
uVar10 = uVar2;
uVar5 = SELECTOBJECT(0x1228,uVar3);
uVar9 = uVar2;
BITBLT(0x1228,0x20,0xcc,local_32 + -0x14,0x1de,uVar1,0x28,0x82,0,0);
local_4 = 0;
while( true ) {
bVar7 = 10;
FUN_1020_08e6(uVar9,uVar10,uVar11);
uVar8 = 0x1020;
iVar6 = FUN_1020_08e6();
if ((((bVar7 != 0) || (0 < local_1c)) || ((-1 < local_1c && (iVar6 != 0)))) || (local_4 == 0)) {
SELECTOBJECT(0x1020,DAT_1028_0861);
uVar8 = 0x1228;
BITBLT(0x1228,0xc6,0x88,0,(uint)bVar7 << 4,uVar1,0x1c,0x10,0,(7 - (uint)local_4) * 0x10);
}
if (local_4 == 7) break;
local_4 = local_4 + 1;
}
BITBLT(uVar8,0x20,0xcc,0,0,uVar2,0x28,0x82,local_32 + -0x14,0x1de);
uVar10 = uVar1;
SELECTOBJECT(0x1228,uVar4);
uVar9 = uVar2;
SELECTOBJECT(0x1228,uVar5);
DELETEOBJECT(0x1228,uVar3,uVar9,uVar10,param_1);
DELETEDC(0x1228,uVar1);
DELETEDC(0x1228,uVar2);
return;
}
/* ===== 1008:0b9e FUN_1008_0b9e ===== */
void __stdcall16far FUN_1008_0b9e(byte param_1,undefined2 param_2)
{
int iVar1;
int local_6;
int local_4;
if ((((param_1 == DAT_1028_07d1) || (DAT_1028_086b == 99)) && (param_1 != 0)) && (param_1 < 5)) {
iVar1 = *(int *)((uint)param_1 * 4 + 0x980);
if ((iVar1 < 0x14) && ((iVar1 < 0x13 || (*(uint *)((uint)param_1 * 4 + 0x97e) < 0xd621)))) {
iVar1 = *(int *)((uint)param_1 * 4 + 0x980);
if ((iVar1 < 10) && ((iVar1 < 9 || (*(uint *)((uint)param_1 * 4 + 0x97e) < 0xeb11)))) {
iVar1 = *(int *)((uint)param_1 * 4 + 0x980);
if ((iVar1 < 3) && ((iVar1 < 2 || (*(uint *)((uint)param_1 * 4 + 0x97e) < 0x22e1)))) {
iVar1 = *(int *)((uint)param_1 * 4 + 0x980);
if ((iVar1 < 1) && ((iVar1 < 0 || (*(uint *)((uint)param_1 * 4 + 0x97e) < 0x7d1)))) {
local_4 = 0;
}
else {
local_4 = 1;
}
}
else {
local_4 = 2;
}
}
else {
local_4 = 3;
}
}
else {
local_4 = 4;
}
if (local_4 != DAT_1028_086b) {
if (local_4 == 0) {
FUN_1008_0837(0x8e,0x92,0x45,0x17c,param_2);
}
else {
FUN_1008_07b6(*(undefined2 *)(local_4 * 2 + 0x4319),0x8e,0x92,0x45,0x17c,param_2);
}
FUN_1008_093f(0x8e,0x92,0x45,0x17c,param_2);
local_6 = 0;
while( true ) {
if (local_6 == local_4) {
FUN_1008_0837(0xb,0xb,(4 - local_6) * 0x17 + 0x4d,0x220,param_2);
FUN_1008_093f(0xb,0xb,(4 - local_6) * 0x17 + 0x4d,0x220,param_2);
}
else {
FUN_1008_08bb(0xb,0xb,(4 - local_6) * 0x17 + 0x4d,0x220,param_2);
FUN_1008_093f(0xb,0xb,(4 - local_6) * 0x17 + 0x4d,0x220,param_2);
}
if (local_6 == 4) break;
local_6 = local_6 + 1;
}
}
DAT_1028_086b = local_4;
}
else if (param_1 == 0) {
FUN_1008_08bb(0x8e,0x92,0x45,0x17c,param_2);
FUN_1008_093f(0x8e,0x92,0x45,0x17c,param_2);
local_6 = 0;
while( true ) {
FUN_1008_08bb(0xb,0xb,(4 - local_6) * 0x17 + 0x4d,0x220,param_2);
FUN_1008_093f(0xb,0xb,(4 - local_6) * 0x17 + 0x4d,0x220,param_2);
if (local_6 == 4) break;
local_6 = local_6 + 1;
}
DAT_1028_086b = 99;
}
return;
}
/* ===== 1008:0dbd FUN_1008_0dbd ===== */
void __stdcall16far FUN_1008_0dbd(int param_1,undefined2 param_2)
{
if (param_1 == 0) {
FUN_1008_08bb(0x3d,0x44,300,0x7b,param_2);
}
else {
FUN_1008_07b6(((undefined2 *)&DAT_1028_4321)[param_1],0x3d,0x44,300,0x7b,param_2);
}
FUN_1008_093f(0x3d,0x44,300,0x7b,param_2);
return;
}
/* ===== 1008:0e08 FUN_1008_0e08 ===== */
void __stdcall16far FUN_1008_0e08(char param_1,uint param_2,undefined2 param_3)
{
int iVar1;
undefined2 uVar2;
undefined2 uVar3;
undefined2 uVar4;
undefined2 uVar5;
undefined2 uVar6;
undefined2 uVar7;
undefined2 local_16;
if (param_2 == 0) {
FUN_1008_08bb(0x4a,100,0x2f,0xee,param_3);
FUN_1008_093f(0x4a,100,0x2f,0xee,param_3);
}
else {
uVar3 = param_3;
uVar2 = CREATECOMPATIBLEDC();
uVar3 = CREATECOMPATIBLEDC(0x1228,param_3,uVar3);
uVar4 = SELECTOBJECT(0x1228,DAT_1028_085b);
uVar5 = SELECTOBJECT(0x1228,DAT_1028_0863);
local_16 = 0;
if (param_1 == '\0') {
local_16 = 0x94;
}
if (9 < param_2) {
local_16 = local_16 + 0x4a;
param_2 = param_2 - 9;
}
iVar1 = (param_2 - 1) * 100;
uVar7 = uVar2;
BITBLT(0x1228,0x20,0xcc,local_16,iVar1,uVar3,0x4a,100,0x2f,0xee);
BITBLT(0x1228,0x20,0xcc,local_16,iVar1,uVar3,0x4a,100,0x2f,0xee);
uVar6 = uVar2;
SELECTOBJECT(0x1228,uVar4);
uVar4 = uVar3;
SELECTOBJECT(0x1228,uVar5);
DELETEDC(0x1228,uVar3,uVar4,uVar6,param_3,uVar7);
DELETEDC(0x1228,uVar2);
}
return;
}
/* ===== 1008:0f27 FUN_1008_0f27 ===== */
void __cdecl16far FUN_1008_0f27(void)
{
return;
}
/* ===== 1008:0f2e FUN_1008_0f2e ===== */
void __cdecl16far FUN_1008_0f2e(void)
{
int iVar1;
ushort arg1;
uint uVar2;
int unaff_BP;
undefined2 unaff_SS;
undefined4 uVar3;
undefined1 *puVar4;
word *pwVar5;
char *arg3;
undefined1 *puVar6;
undefined1 *puVar7;
undefined2 uVar8;
undefined2 uVar9;
undefined1 local_2de [512];
undefined1 local_de [102];
undefined1 local_78 [102];
ushort local_12;
uint local_10;
undefined2 uStack_e;
int local_c;
int local_a;
undefined2 local_8;
undefined2 local_6;
undefined2 uStack_4;
int iStack_2;
iStack_2 = unaff_BP + 1;
uStack_4 = 0x1028;
DAT_1028_43f2 = 0;
DAT_1028_43f3 = 0;
DAT_1028_43ee = 0;
puVar7 = local_78;
puVar6 = local_2de;
uVar9 = unaff_SS;
uVar8 = unaff_SS;
FUN_1020_082e();
FUN_1008_2f2f(puVar6,uVar9,puVar7,uVar8);
pwVar5 = code2_embedded_word_0f2c;
puVar4 = (undefined1 *)CONCAT22(unaff_SS,local_2de);
FUN_1020_082e(0);
FUN_1020_0a7d(puVar4,pwVar5);
FUN_1008_2f07();
FUN_1008_2f4d(0x442,0x1028,local_de,unaff_SS);
uVar9 = 0x1028;
local_c = GETPRIVATEPROFILEINT(0x1008,local_de,unaff_SS,1,0x44f,0x1028,0x446);
if ((local_c != 0) && (DAT_1028_43ee = WAVEOUTGETNUMDEVS(0x1228,uVar9), DAT_1028_43ee != 0)) {
iVar1 = WAVEOUTGETDEVCAPS();
if (iVar1 == 0) {
if ((DAT_1028_43ea & 4) == 0) {
DAT_1028_43f4 = -1;
}
else {
local_8 = 0;
local_6 = 0;
WAVEOUTGETVOLUME();
DAT_1028_43f4 = (local_8._1_1_ / 10) * '\n';
}
local_a = 1;
while( true ) {
if (*(int *)(local_a * 4 + 0x3e6) != 0 || *(int *)(local_a * 4 + 1000) != 0) {
arg3 = (char *)CONCAT22(DAT_1028_06fe,DAT_1028_06fe);
arg1 = FINDRESOURCE(0x455,(char *)(long)(local_a + 2000),arg3);
local_12 = LOADRESOURCE(arg1,(ushort)((ulong)arg3 >> 0x10));
uVar3 = FUN_1008_15c7();
uVar9 = (undefined2)((ulong)uVar3 >> 0x10);
*(int *)((undefined1 *)&DAT_1028_43f2 + local_a * 4) = (int)uVar3;
*(undefined2 *)((undefined1 *)&DAT_1028_43f4 + local_a * 4) = uVar9;
uVar2 = LOCKRESOURCE(local_12);
_local_10 = CONCAT22(uVar9,uVar2);
FUN_1020_16a5(*(undefined2 *)(local_a * 4 + 0x3e6),
(int)*(undefined4 *)((undefined1 *)&DAT_1028_43f2 + local_a * 4),
(int)((ulong)*(undefined4 *)((undefined1 *)&DAT_1028_43f2 + local_a * 4) >>
0x10),uVar2,uVar9);
GLOBALUNLOCK(local_12);
FREERESOURCE(local_12);
}
if (local_a == 0x16) break;
local_a = local_a + 1;
}
DAT_1028_43f2 = 1;
}
else {
DAT_1028_43ee = 0;
}
}
return;
}
/* ===== 1008:10e3 FUN_1008_10e3 ===== */
void __cdecl16far FUN_1008_10e3(void)
{
undefined2 unaff_CS;
int local_6;
if (DAT_1028_43ee != 0) {
if (DAT_1028_43f3 != '\0') {
SNDPLAYSOUND(unaff_CS,0,0);
}
local_6 = 1;
while( true ) {
FUN_1008_15e7(*(undefined2 *)((undefined1 *)&DAT_1028_43f2 + local_6 * 4),
*(undefined2 *)((undefined1 *)&DAT_1028_43f4 + local_6 * 4));
if (local_6 == 0x16) break;
local_6 = local_6 + 1;
}
DAT_1028_43f3 = '\0';
}
return;
}
/* ===== 1008:1131 FUN_1008_1131 ===== */
undefined2 __stdcall16far FUN_1008_1131(int param_1)
{
int iVar1;
undefined2 unaff_CS;
undefined2 uVar2;
undefined2 local_6;
if (((DAT_1028_43ee != 0) && (DAT_1028_43f2 != '\0')) &&
(*(int *)(param_1 * 4 + 0x3e6) != 0 || *(int *)(param_1 * 4 + 1000) != 0)) {
uVar2 = unaff_CS;
if (DAT_1028_43f3 != '\0') {
uVar2 = 0x1228;
SNDPLAYSOUND(unaff_CS,0,0);
}
iVar1 = SNDPLAYSOUND(uVar2,5,(int)*(undefined4 *)((undefined1 *)&DAT_1028_43f2 + param_1 * 4));
DAT_1028_43f3 = iVar1 != 0;
}
return local_6;
}
/* ===== 1008:118f FUN_1008_118f ===== */
undefined2 __cdecl16far FUN_1008_118f(void)
{
undefined2 unaff_CS;
undefined2 local_6;
if ((DAT_1028_43ee != 0) && (DAT_1028_43f3 != '\0')) {
SNDPLAYSOUND(unaff_CS,0,0);
}
return local_6;
}
/* ===== 1008:11b8 FUN_1008_11b8 ===== */
void __cdecl16far FUN_1008_11b8(void)
{
return;
}
/* ===== 1008:11c5 FUN_1008_11c5 ===== */
/* WARNING: Removing unreachable block (ram,0x1008123e) */
/* WARNING: Removing unreachable block (ram,0x10081234) */
void __cdecl16far FUN_1008_11c5(void)
{
int iVar1;
undefined2 *puVar2;
undefined2 uVar3;
bool bVar4;
undefined2 *puVar5;
uint local_10;
int local_e;
iVar1 = FUN_1020_08a9();
puVar5 = (undefined2 *)FUN_1020_012d(iVar1 + 8);
uVar3 = (undefined2)((ulong)puVar5 >> 0x10);
puVar2 = (undefined2 *)puVar5;
puVar2[1] = 0x100;
*puVar5 = 0x300;
local_10 = 0;
local_e = 0;
while( true ) {
iVar1 = FUN_1020_08a9();
*(undefined1 *)(puVar2 + local_10 * 2 + 2) = *(undefined1 *)(iVar1 + 0x4450);
iVar1 = FUN_1020_08a9();
*(undefined1 *)((int)puVar2 + local_10 * 4 + 5) = *(undefined1 *)(iVar1 + 0x4451);
iVar1 = FUN_1020_08a9();
*(undefined1 *)(puVar2 + local_10 * 2 + 3) = *(undefined1 *)(iVar1 + 0x4452);
*(undefined1 *)((int)puVar2 + local_10 * 4 + 7) = 0;
if ((local_e == 0) && (local_10 == 0xff)) break;
bVar4 = 0xfffe < local_10;
local_10 = local_10 + 1;
local_e = local_e + (uint)bVar4;
}
DAT_1028_444e = CREATEPALETTE(0x1020,puVar2);
uVar3 = FUN_1020_039d(puVar5,uVar3);
FUN_1020_0147(uVar3,puVar5);
return;
}
/* ===== 1008:1326 FUN_1008_1326 ===== */
void __stdcall16far FUN_1008_1326(undefined4 param_1,char *param_2,undefined2 param_3,char *param_4)
{
ushort uVar1;
uint uVar2;
int iVar3;
undefined1 uVar4;
undefined2 in_DX;
undefined4 in_stack_0000fff0;
int iVar5;
uVar1 = FINDRESOURCE(0x45a,(char *)CONCAT22(param_3,param_2),
(char *)CONCAT22((int)((ulong)in_stack_0000fff0 >> 0x10),param_4));
uVar1 = LOADRESOURCE(uVar1,(ushort)param_4);
uVar2 = LOCKRESOURCE(uVar1);
iVar5 = 0;
while( true ) {
iVar3 = FUN_1020_039d();
uVar4 = *(undefined1 *)(uVar2 + iVar3);
iVar3 = FUN_1020_039d();
*(undefined1 *)((int)param_1 + iVar3) = uVar4;
if (iVar5 == 0x2ff) break;
iVar5 = iVar5 + 1;
}
GLOBALUNLOCK(uVar1);
return;
}
/* ===== 1008:13a8 FUN_1008_13a8 ===== */
void __stdcall16far FUN_1008_13a8(undefined4 param_1)
{
uint uVar1;
int iVar2;
int iVar3;
int iVar4;
int iVar5;
undefined2 uVar6;
bool bVar7;
uint local_10;
int local_e;
uVar6 = (undefined2)((ulong)param_1 >> 0x10);
iVar5 = (int)param_1;
iVar4 = -(uint)(1 << ((byte)*(undefined2 *)(iVar5 + 0xe) & 0x1f) == 0);
uVar1 = FUN_1020_08a9();
iVar2 = uVar1 + 8;
iVar4 = iVar4 + (uint)(0xfff7 < uVar1);
local_10 = 0;
local_e = 0;
while( true ) {
iVar3 = FUN_1020_08a9(iVar2,iVar4);
*(undefined1 *)(iVar5 + local_10 * 4 + 0x2a) = *(undefined1 *)(iVar3 + 0x4450);
iVar3 = FUN_1020_08a9();
*(undefined1 *)(iVar5 + local_10 * 4 + 0x29) = *(undefined1 *)(iVar3 + 0x4451);
iVar3 = FUN_1020_08a9();
*(undefined1 *)(iVar5 + local_10 * 4 + 0x28) = *(undefined1 *)(iVar3 + 0x4452);
*(undefined1 *)(iVar5 + local_10 * 4 + 0x2b) = 0;
if ((local_e == 0) && (local_10 == 0xff)) break;
bVar7 = 0xfffe < local_10;
local_10 = local_10 + 1;
local_e = local_e + (uint)bVar7;
}
return;
}
/* ===== 1008:149d FUN_1008_149d ===== */
undefined2 __stdcall16far FUN_1008_149d(char *param_1,undefined2 param_2,char *param_3)
{
uint uVar1;
undefined2 uVar2;
undefined2 uVar3;
undefined2 in_DX;
int unaff_BP;
undefined2 unaff_SS;
undefined4 uVar4;
undefined2 uVar5;
undefined2 uVar6;
undefined2 in_stack_0000ff90;
undefined1 local_32 [14];
byte local_24;
ushort local_a;
ushort local_8;
undefined2 local_6;
undefined2 uStack_4;
int iStack_2;
iStack_2 = unaff_BP + 1;
uStack_4 = 0x1028;
local_a = FINDRESOURCE(0x45e,(char *)CONCAT22(param_2,param_1),
(char *)CONCAT22(in_stack_0000ff90,param_3));
local_8 = LOADRESOURCE(local_a,(ushort)param_3);
uVar1 = LOCKRESOURCE(local_8);
FUN_1020_0891(0x28,local_32,unaff_SS,uVar1,in_DX);
uVar4 = FUN_1020_012d((1 << (local_24 & 0x1f)) * 4 + 0x28);
FUN_1020_0891(0x28,uVar4,local_32,unaff_SS);
FUN_1008_13a8();
uVar6 = 0x1028;
uVar2 = CREATEDC(0x1008,0,0,0,0,0,0,0x462);
uVar5 = uVar2;
uVar3 = SELECTPALETTE(0x1228,0,DAT_1028_444e);
UNREALIZEOBJECT(0x1228,DAT_1028_444e,uVar5,uVar6);
REALIZEPALETTE(0x1228,uVar2);
uVar6 = uVar2;
local_6 = CREATEDIBITMAP(0x1228,0,uVar4,uVar1 + 0x28,in_DX,4,0,local_32,unaff_SS);
uVar5 = uVar2;
SELECTPALETTE(0x1228,0,uVar3);
DELETEDC(0x1228,uVar2,uVar5,uVar6);
GLOBALUNLOCK(local_8);
FREERESOURCE(local_8);
return local_6;
}
/* ===== 1008:15c2 FUN_1008_15c2 ===== */
void __cdecl16far FUN_1008_15c2(void)
{
return;
}
/* ===== 1008:15c7 FUN_1008_15c7 ===== */
void __stdcall16far FUN_1008_15c7(ushort param_1,uint param_2)
{
ushort arg1;
arg1 = GLOBALALLOC(param_1,param_2);
GLOBALLOCK(arg1);
return;
}
/* ===== 1008:15e7 FUN_1008_15e7 ===== */
void __stdcall16far FUN_1008_15e7(undefined2 param_1,ushort param_2)
{
uint arg1;
arg1 = GLOBALHANDLE(param_2);
GLOBALUNLOCK(arg1);
GLOBALFREE(arg1);
return;
}
/* ===== 1008:1607 FUN_1008_1607 ===== */
undefined4 __stdcall16far
FUN_1008_1607(undefined4 param_1,undefined2 param_2,undefined2 param_3,undefined2 param_4,
undefined2 param_5,undefined2 param_6,undefined2 param_7,undefined2 param_8,
undefined2 param_9,undefined2 param_10,undefined2 param_11)
{
int iVar1;
undefined2 uVar2;
bool bVar3;
undefined2 local_8;
bVar3 = true;
FUN_1020_03ef();
if (!bVar3) {
if (DAT_1028_066a == '\0') {
local_8 = 0x7f02;
}
else {
local_8 = 0x7f05;
}
uVar2 = (undefined2)((ulong)param_1 >> 0x10);
iVar1 = (int)param_1;
FUN_1008_2996(iVar1,uVar2,0,local_8,0,param_10,param_11);
*(undefined2 *)(iVar1 + 0x26) = param_8;
*(undefined2 *)(iVar1 + 0x28) = param_9;
*(undefined2 *)(iVar1 + 0x2a) = param_6;
*(undefined2 *)(iVar1 + 0x2c) = param_7;
*(undefined2 *)(iVar1 + 0x2e) = param_4;
*(undefined2 *)(iVar1 + 0x30) = param_5;
*(undefined2 *)(iVar1 + 0x32) = param_3;
}
return param_1;
}
/* ===== 1008:168e FUN_1008_168e ===== */
undefined1 __stdcall16far FUN_1008_168e(undefined4 param_1)
{
int iVar1;
undefined2 uVar2;
undefined2 unaff_CS;
uVar2 = (undefined2)((ulong)param_1 >> 0x10);
iVar1 = (int)param_1;
GETDLGITEMTEXT(unaff_CS,*(undefined2 *)(iVar1 + 0x32),*(undefined2 *)(iVar1 + 0x2e),
*(undefined2 *)(iVar1 + 0x30),0x65);
return 1;
}
/* ===== 1008:16be FUN_1008_16be ===== */
void __stdcall16far FUN_1008_16be(undefined4 param_1)
{
int unaff_BP;
int iVar1;
int iVar2;
undefined2 uVar3;
undefined2 uVar4;
iVar1 = unaff_BP + 1;
uVar4 = 0x1028;
uVar3 = (undefined2)((ulong)param_1 >> 0x10);
iVar2 = (int)param_1;
FUN_1018_0d9b(iVar2,uVar3);
SETWINDOWTEXT(0x1018,*(undefined2 *)(iVar2 + 0x26),*(undefined2 *)(iVar2 + 0x28),
*(undefined2 *)(iVar2 + 4),uVar4,iVar1);
SETDLGITEMTEXT(0x1228,*(undefined2 *)(iVar2 + 0x2a),*(undefined2 *)(iVar2 + 0x2c),100);
SETDLGITEMTEXT(0x1228,*(undefined2 *)(iVar2 + 0x2e),*(undefined2 *)(iVar2 + 0x30),0x65);
SENDDLGITEMMESSAGE(0x1228,0,0,*(int *)(iVar2 + 0x32) + -1,0x415,0x65);
return;
}
/* ===== 1008:172f FUN_1008_172f ===== */
int FUN_1008_172f(int param_1,int param_2)
{
undefined2 local_4;
if (param_2 < param_1) {
local_4 = param_2;
}
else {
local_4 = param_1;
}
return local_4;
}
/* ===== 1008:1754 FUN_1008_1754 ===== */
int FUN_1008_1754(int param_1,int param_2)
{
undefined2 local_4;
if (param_1 < param_2) {
local_4 = param_2;
}
else {
local_4 = param_1;
}
return local_4;
}
/* ===== 1008:1779 FUN_1008_1779 ===== */
void __cdecl16near FUN_1008_1779(void)
{
undefined2 uVar1;
undefined2 unaff_CS;
undefined4 uVar2;
uVar1 = DAT_1028_0586;
if (DAT_1028_058f == '\0') {
DAT_1028_4ad4 = GETDC();
}
else {
DAT_1028_4ad4 = BEGINPAINT(unaff_CS,0x4ad6,0x1028,DAT_1028_0586);
}
uVar1 = GETSTOCKOBJECT(0x1228,0x10,DAT_1028_4ad4,uVar1);
DAT_1028_4af6 = SELECTOBJECT(0x1228,uVar1);
uVar2 = GETSYSCOLOR(0x1228,8,DAT_1028_4ad4);
SETTEXTCOLOR(0x1228,uVar2);
uVar2 = GETSYSCOLOR(0x1228,5,DAT_1028_4ad4);
SETBKCOLOR(0x1228,uVar2);
return;
}
/* ===== 1008:17e2 FUN_1008_17e2 ===== */
void __cdecl16near FUN_1008_17e2(void)
{
undefined2 unaff_CS;
SELECTOBJECT(unaff_CS,DAT_1028_4af6);
if (DAT_1028_058f == '\0') {
RELEASEDC(0x1228,DAT_1028_4ad4);
}
else {
ENDPAINT(0x1228,0x4ad6,0x1028);
}
return;
}
/* ===== 1008:1818 FUN_1008_1818 ===== */
void __cdecl16near FUN_1008_1818(void)
{
undefined2 unaff_CS;
int iVar1;
undefined2 uVar2;
uVar2 = DAT_1028_0586;
CREATECARET(unaff_CS,2,DAT_1028_4ace,0);
iVar1 = (DAT_1028_0544 - DAT_1028_0548) * DAT_1028_4ace;
SETCARETPOS(0x1228,(DAT_1028_0546 - DAT_1028_054a) * DAT_1028_4ad0 + DAT_1028_4ad2);
SHOWCARET(0x1228,DAT_1028_0586,iVar1,uVar2);
return;
}
/* ===== 1008:185b FUN_1008_185b ===== */
void __cdecl16near FUN_1008_185b(void)
{
DESTROYCARET();
return;
}
/* ===== 1008:1865 FUN_1008_1865 ===== */
void __cdecl16near FUN_1008_1865(void)
{
undefined2 uVar1;
undefined2 unaff_CS;
undefined2 uVar2;
undefined2 uVar3;
uVar3 = 0;
uVar2 = 0;
uVar1 = FUN_1008_1754(DAT_1028_4aca,1);
SETSCROLLRANGE(unaff_CS,0,uVar1,uVar2,uVar3);
SETSCROLLPOS(0x1228,1,DAT_1028_0548,0);
uVar3 = 1;
uVar2 = 0;
uVar1 = FUN_1008_1754(DAT_1028_4acc,1);
SETSCROLLRANGE(0x1228,0,uVar1,uVar2,uVar3);
SETSCROLLPOS(0x1228,1,DAT_1028_054a,1);
return;
}
/* ===== 1008:18d0 FUN_1008_18d0 ===== */
void __cdecl16near FUN_1008_18d0(void)
{
if ((DAT_1028_058d != '\0') && (DAT_1028_058e != '\0')) {
FUN_1008_185b();
}
FUN_1020_0061();
return;
}
/* ===== 1008:18ee FUN_1008_18ee ===== */
void __stdcall16far FUN_1008_18ee(undefined2 param_1,undefined2 param_2)
{
undefined2 uVar1;
int iVar2;
int iVar3;
undefined2 unaff_CS;
undefined2 uVar4;
undefined2 uVar5;
if (DAT_1028_058c != '\0') {
uVar5 = 0;
uVar1 = FUN_1008_172f(DAT_1028_4aca,param_2);
iVar2 = FUN_1008_1754(uVar1,uVar5);
uVar1 = 0;
uVar5 = FUN_1008_172f(DAT_1028_4acc,param_1);
iVar3 = FUN_1008_1754(uVar5,uVar1);
if ((iVar2 != DAT_1028_0548) || (iVar3 != DAT_1028_054a)) {
uVar5 = unaff_CS;
if (iVar2 != DAT_1028_0548) {
uVar5 = 0x1228;
uVar1 = DAT_1028_0586;
SETSCROLLPOS(unaff_CS,1,iVar2,0);
}
uVar4 = uVar5;
if (iVar3 != DAT_1028_054a) {
uVar4 = 0x1228;
SETSCROLLPOS(uVar5,1,iVar3,1);
}
uVar5 = DAT_1028_0586;
SCROLLWINDOW(uVar4,0,0,0,0,(DAT_1028_054a - iVar3) * DAT_1028_4ad0,
(DAT_1028_0548 - iVar2) * DAT_1028_4ace);
DAT_1028_0548 = iVar2;
DAT_1028_054a = iVar3;
UPDATEWINDOW(0x1228,DAT_1028_0586,uVar5,uVar1);
}
}
return;
}
/* ===== 1008:19b7 FUN_1008_19b7 ===== */
void __cdecl16far FUN_1008_19b7(void)
{
int iVar1;
undefined2 uVar2;
undefined2 uVar3;
iVar1 = (DAT_1028_0544 - DAT_1028_4ac6) + 1;
uVar2 = FUN_1008_172f(DAT_1028_0544,DAT_1028_0548);
uVar2 = FUN_1008_1754(uVar2,iVar1);
iVar1 = (DAT_1028_0546 - DAT_1028_4ac8) + 1;
uVar3 = FUN_1008_172f(DAT_1028_0546,DAT_1028_054a);
uVar3 = FUN_1008_1754(uVar3,iVar1);
FUN_1008_18ee(uVar3,uVar2);
return;
}
/* ===== 1008:19f8 FUN_1008_19f8 ===== */
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */
undefined4 FUN_1008_19f8(int param_1,int param_2)
{
param_1 = param_1 + DAT_1028_0588;
if (DAT_1028_0542 <= param_1) {
param_1 = param_1 - DAT_1028_0542;
}
return CONCAT22((int)((ulong)_DAT_1028_4ac2 >> 0x10),
(int)_DAT_1028_4ac2 + param_1 * DAT_1028_0540 + param_2);
}
/* ===== 1008:1a39 FUN_1008_1a39 ===== */
void FUN_1008_1a39(int param_1,int param_2)
{
undefined2 unaff_CS;
undefined4 uVar1;
int iVar2;
int iVar3;
undefined2 uVar4;
if (param_2 < param_1) {
FUN_1008_1779();
iVar3 = (param_2 - DAT_1028_0548) * DAT_1028_4ace;
iVar2 = (DAT_1028_0546 - DAT_1028_054a) * DAT_1028_4ad0;
uVar4 = DAT_1028_4ad4;
uVar1 = FUN_1008_19f8(DAT_1028_0546,param_2);
TEXTOUT(unaff_CS,param_1 - param_2,uVar1,iVar2,iVar3);
FUN_1008_17e2(uVar4);
}
return;
}
/* ===== 1008:1a82 FUN_1008_1a82 ===== */
void FUN_1008_1a82(int param_1)
{
int iVar1;
undefined2 unaff_SS;
undefined4 uVar2;
undefined2 uVar3;
FUN_1008_1a39(*(undefined2 *)(param_1 + -6),*(undefined2 *)(param_1 + -4));
*(undefined2 *)(param_1 + -4) = 0;
*(undefined2 *)(param_1 + -6) = 0;
DAT_1028_0544 = 0;
iVar1 = DAT_1028_0546 + 1;
if (DAT_1028_0546 + 1 == DAT_1028_0542) {
DAT_1028_0588 = DAT_1028_0588 + 1;
if (DAT_1028_0588 == DAT_1028_0542) {
DAT_1028_0588 = 0;
}
uVar2 = FUN_1008_19f8(DAT_1028_0546,0);
FUN_1020_16c9(0x20,DAT_1028_0540,uVar2);
uVar3 = DAT_1028_0586;
SCROLLWINDOW(0x1020,0,0,0,0,-DAT_1028_4ad0,0);
UPDATEWINDOW(0x1228,DAT_1028_0586,uVar3);
iVar1 = DAT_1028_0546;
}
DAT_1028_0546 = iVar1;
return;
}
/* ===== 1008:1b11 FUN_1008_1b11 ===== */
void __stdcall16far FUN_1008_1b11(int param_1,byte *param_2)
{
int unaff_BP;
undefined2 uVar1;
byte *pbVar2;
undefined1 *puVar3;
byte bVar4;
int iVar5;
int iVar6;
undefined2 uVar7;
int iStack_2;
iStack_2 = unaff_BP + 1;
uVar7 = 0x1028;
uVar1 = 0x1008;
FUN_1008_2442();
iVar5 = DAT_1028_0544;
iVar6 = DAT_1028_0544;
for (; param_1 != 0; param_1 = param_1 + -1) {
bVar4 = *param_2;
if (bVar4 < 0x20) {
if (bVar4 == 0xd) {
FUN_1008_1a82(&iStack_2);
}
else if (bVar4 == 8) {
if (0 < DAT_1028_0544) {
DAT_1028_0544 = DAT_1028_0544 + -1;
puVar3 = (undefined1 *)FUN_1008_19f8(DAT_1028_0546,DAT_1028_0544);
*puVar3 = 0x20;
if (DAT_1028_0544 < iVar6) {
iVar6 = DAT_1028_0544;
}
}
}
else if (bVar4 == 7) {
MESSAGEBEEP(uVar1,0,iVar5,iVar6,uVar7);
uVar1 = 0x1228;
}
}
else {
bVar4 = *param_2;
pbVar2 = (byte *)FUN_1008_19f8(DAT_1028_0546,DAT_1028_0544);
*pbVar2 = bVar4;
DAT_1028_0544 = DAT_1028_0544 + 1;
if (iVar5 < DAT_1028_0544) {
iVar5 = DAT_1028_0544;
}
if (DAT_1028_0544 == DAT_1028_0540) {
FUN_1008_1a82(&iStack_2);
}
}
param_2 = (byte *)CONCAT22(param_2._2_2_,(byte *)param_2 + 1);
}
FUN_1008_1a39(iVar5,iVar6);
if (DAT_1028_055e != '\0') {
FUN_1008_19b7();
}
return;
}
/* ===== 1008:1be9 FUN_1008_1be9 ===== */
void __stdcall16far FUN_1008_1be9(void)
{
undefined2 unaff_SS;
FUN_1008_1b11(1,&stack0x0004,unaff_SS);
return;
}
/* ===== 1008:1c03 FUN_1008_1c03 ===== */
bool __cdecl16far FUN_1008_1c03(void)
{
int iVar1;
int unaff_BP;
undefined2 uVar2;
undefined2 unaff_SS;
undefined1 local_18 [2];
int local_16;
undefined2 uStack_4;
int iStack_2;
iStack_2 = unaff_BP + 1;
uStack_4 = 0x1028;
uVar2 = 0x1008;
FUN_1008_2442();
while (iVar1 = PEEKMESSAGE(uVar2,1,0,0,0,local_18,unaff_SS), iVar1 != 0) {
if (local_16 == 0x12) {
FUN_1008_18d0();
}
TRANSLATEMESSAGE(0x1228,local_18);
uVar2 = 0x1228;
DISPATCHMESSAGE(0x1228,local_18);
}
return 0 < DAT_1028_058a;
}
/* ===== 1008:1c5f FUN_1008_1c5f ===== */
undefined1 __cdecl16far FUN_1008_1c5f(void)
{
char cVar1;
int unaff_BP;
int iVar2;
undefined2 uVar3;
undefined1 uVar4;
undefined2 uVar5;
iVar2 = unaff_BP + 1;
uVar5 = 0x1028;
FUN_1008_19b7();
uVar3 = 0x1008;
cVar1 = FUN_1008_1c03();
if (cVar1 == '\0') {
DAT_1028_058e = 1;
if (DAT_1028_058d != '\0') {
uVar3 = 0x1c84;
FUN_1008_1818();
}
do {
WAITMESSAGE(uVar3,0x1008,uVar5,iVar2);
cVar1 = FUN_1008_1c03();
} while (cVar1 == '\0');
if (DAT_1028_058d != '\0') {
FUN_1008_185b();
}
DAT_1028_058e = 0;
}
DAT_1028_058a = DAT_1028_058a + -1;
uVar4 = DAT_1028_4af8;
FUN_1020_16a5(DAT_1028_058a,(undefined1 *)&DAT_1028_4af8,0x1028,0x4af9,0x1028);
return uVar4;
}
/* ===== 1008:1cc6 FUN_1008_1cc6 ===== */
int __stdcall16far FUN_1008_1cc6(int param_1,undefined4 param_2)
{
uint uVar1;
byte bVar2;
int iVar3;
undefined2 uVar4;
uint local_a;
local_a = 0;
do {
bVar2 = FUN_1008_1c5f();
iVar3 = (int)param_2;
uVar4 = (undefined2)((ulong)param_2 >> 0x10);
if (bVar2 == 8) {
if (local_a != 0) {
local_a = local_a - 1;
FUN_1008_1be9(8);
}
}
else if ((0x1f < bVar2) && (local_a < param_1 - 2U)) {
*(byte *)(iVar3 + local_a) = bVar2;
FUN_1008_1be9(CONCAT11((char)(local_a >> 8),bVar2));
local_a = local_a + 1;
}
} while ((bVar2 != 0xd) && ((DAT_1028_055f == '\0' || (bVar2 != 0x1a))));
*(byte *)(iVar3 + local_a) = bVar2;
uVar1 = local_a + 1;
if (bVar2 == 0xd) {
*(undefined1 *)(iVar3 + uVar1) = 10;
FUN_1008_1be9(CONCAT11((char)(uVar1 >> 8),0xd));
uVar1 = local_a + 2;
}
local_a = uVar1;
FUN_1008_19b7();
return local_a;
}
/* ===== 1008:1d77 FUN_1008_1d77 ===== */
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */
void __cdecl16near FUN_1008_1d77(void)
{
DAT_1028_058c = 1;
_DAT_1028_4ac2 = FUN_1020_012d(DAT_1028_0540 * DAT_1028_0542);
FUN_1020_16c9(CONCAT11((char)((uint)(DAT_1028_0540 * DAT_1028_0542) >> 8),0x20),
DAT_1028_0540 * DAT_1028_0542,_DAT_1028_4ac2);
if (DAT_1028_0560 == '\0') {
GETSYSTEMMENU(0x1020,0);
ENABLEMENUITEM(0x1228,3,0xf060);
}
return;
}
/* ===== 1008:1dcc FUN_1008_1dcc ===== */
void __cdecl16near FUN_1008_1dcc(void)
{
int iVar1;
int iVar2;
int iVar3;
undefined2 unaff_CS;
undefined4 uVar4;
int iVar5;
int iVar6;
int local_8;
DAT_1028_058f = 1;
FUN_1008_1779();
iVar1 = FUN_1008_1754(DAT_1028_4ada / DAT_1028_4ace + DAT_1028_0548,0);
iVar2 = FUN_1008_172f((DAT_1028_4ade + DAT_1028_4ace + -1) / DAT_1028_4ace + DAT_1028_0548,
DAT_1028_0540);
local_8 = FUN_1008_1754(DAT_1028_4adc / DAT_1028_4ad0 + DAT_1028_054a,0);
iVar3 = FUN_1008_172f((DAT_1028_4ae0 + DAT_1028_4ad0 + -1) / DAT_1028_4ad0 + DAT_1028_054a,
DAT_1028_0542);
for (; local_8 < iVar3; local_8 = local_8 + 1) {
iVar6 = (iVar1 - DAT_1028_0548) * DAT_1028_4ace;
iVar5 = (local_8 - DAT_1028_054a) * DAT_1028_4ad0;
uVar4 = FUN_1008_19f8(local_8,iVar1);
TEXTOUT(unaff_CS,iVar2 - iVar1,uVar4,iVar5,iVar6);
unaff_CS = 0x1228;
}
FUN_1008_17e2();
DAT_1028_058f = 0;
return;
}
/* ===== 1008:1e8a FUN_1008_1e8a ===== */
int FUN_1008_1e8a(int param_1,int param_2,int param_3,int param_4)
{
int iVar1;
undefined2 unaff_SS;
undefined2 local_4;
iVar1 = *(int *)(param_1 + 6);
if (iVar1 == 0) {
local_4 = param_4 + -1;
}
else if (iVar1 == 1) {
local_4 = param_4 + 1;
}
else if (iVar1 == 2) {
local_4 = param_4 - param_3;
}
else if (iVar1 == 3) {
local_4 = param_4 + param_3;
}
else if (iVar1 == 6) {
local_4 = 0;
}
else if (iVar1 == 7) {
local_4 = param_2;
}
else if (iVar1 == 4) {
local_4 = *(int *)(param_1 + 4);
}
else {
local_4 = param_4;
}
return local_4;
}
/* ===== 1008:1f0c FUN_1008_1f0c ===== */
void FUN_1008_1f0c(undefined2 param_1,undefined2 param_2,int param_3)
{
undefined2 local_6;
undefined2 local_4;
local_4 = DAT_1028_0548;
local_6 = DAT_1028_054a;
if (param_3 == 0) {
local_4 = FUN_1008_1e8a(&stack0xfffe,DAT_1028_4aca,DAT_1028_4ac6 / 2,DAT_1028_0548);
}
else if (param_3 == 1) {
local_6 = FUN_1008_1e8a(&stack0xfffe,DAT_1028_4acc,DAT_1028_4ac8,DAT_1028_054a);
}
FUN_1008_18ee(local_6,local_4);
return;
}
/* ===== 1008:1f68 FUN_1008_1f68 ===== */
void FUN_1008_1f68(int param_1,int param_2)
{
if ((DAT_1028_058d != '\0') && (DAT_1028_058e != '\0')) {
FUN_1008_185b();
}
DAT_1028_4ac6 = param_2 / DAT_1028_4ace;
DAT_1028_4ac8 = param_1 / DAT_1028_4ad0;
DAT_1028_4aca = FUN_1008_1754(DAT_1028_0540 - DAT_1028_4ac6,0);
DAT_1028_4acc = FUN_1008_1754(DAT_1028_0542 - DAT_1028_4ac8,0);
DAT_1028_0548 = FUN_1008_172f(DAT_1028_4aca,DAT_1028_0548);
DAT_1028_054a = FUN_1008_172f(DAT_1028_4acc,DAT_1028_054a);
FUN_1008_1865();
if ((DAT_1028_058d != '\0') && (DAT_1028_058e != '\0')) {
FUN_1008_1818();
}
return;
}
/* ===== 1008:1fe8 FUN_1008_1fe8 ===== */
void FUN_1008_1fe8(undefined4 param_1)
{
int iVar1;
undefined2 uVar2;
undefined2 unaff_CS;
undefined2 unaff_SS;
int iVar3;
int iVar4;
undefined2 uVar5;
int iVar6;
int local_26;
undefined2 local_24;
int local_1e;
int local_1a;
int local_6;
int local_4;
FUN_1008_1779();
uVar2 = DAT_1028_4ad4;
GETTEXTMETRICS(unaff_CS,&local_26,unaff_SS);
DAT_1028_4ace = local_1a;
DAT_1028_4ad0 = local_26 + local_1e;
DAT_1028_4ad2 = local_24;
iVar1 = GETSYSTEMMETRICS(0x1228,0x20,uVar2);
iVar1 = GETSYSTEMMETRICS(0x1228,2,iVar1 << 1);
iVar6 = 0;
uVar5 = 0x1228;
uVar2 = GETSYSTEMMETRICS(0x1228,0,DAT_1028_0540 * DAT_1028_4ace + iVar1);
local_4 = FUN_1008_172f(uVar2,uVar5);
local_4 = local_4 + iVar6;
iVar1 = GETSYSTEMMETRICS(0x1228,0x21);
uVar2 = GETSYSTEMMETRICS(0x1228,4,iVar1 << 1);
iVar4 = 0x1228;
iVar1 = GETSYSTEMMETRICS(0x1228,3,uVar2);
iVar6 = 1;
uVar5 = 0x1228;
uVar2 = GETSYSTEMMETRICS(0x1228,1,DAT_1028_0542 * DAT_1028_4ad0 + iVar1 + iVar4);
local_6 = FUN_1008_172f(uVar2,uVar5);
local_6 = local_6 + iVar6;
uVar5 = (undefined2)((ulong)param_1 >> 0x10);
iVar6 = (int)param_1;
*(int *)(iVar6 + 4) = local_4;
*(int *)(iVar6 + 6) = local_6;
iVar1 = GETSYSTEMMETRICS(0x1228,0x20);
iVar4 = 0x1228;
iVar1 = GETSYSTEMMETRICS(0x1228,2,iVar1 << 1);
*(int *)(iVar6 + 0xc) = DAT_1028_4ace * 0x10 + iVar1 + iVar4;
uVar2 = GETSYSTEMMETRICS(0x1228,4);
iVar1 = GETSYSTEMMETRICS(0x1228,0x21,uVar2);
iVar3 = 3;
iVar4 = 0x1228;
iVar1 = GETSYSTEMMETRICS(0x1228,3,iVar1 << 1);
*(int *)(iVar6 + 0xe) = DAT_1028_4ad0 * 4 + iVar1 + iVar4 + iVar3;
*(int *)(iVar6 + 0x10) = local_4;
*(int *)(iVar6 + 0x12) = local_6;
FUN_1008_17e2();
return;
}
/* ===== 1008:211a FUN_1008_211a ===== */
void FUN_1008_211a(char param_1)
{
if ((DAT_1028_0560 != '\0') && (param_1 == '\x03')) {
FUN_1008_18d0();
}
if (DAT_1028_058a < 0x40) {
((undefined1 *)&DAT_1028_4af8)[DAT_1028_058a] = param_1;
DAT_1028_058a = DAT_1028_058a + 1;
}
return;
}
/* ===== 1008:2147 FUN_1008_2147 ===== */
void FUN_1008_2147(char param_1)
{
int iVar1;
int iVar2;
int local_6;
if ((DAT_1028_0560 != '\0') && (param_1 == '\x03')) {
FUN_1008_18d0();
}
iVar1 = GETKEYSTATE();
local_6 = 1;
while ((iVar2 = local_6 * 4, *(char *)(iVar2 + 0x58c) != param_1 ||
((bool)*(char *)(iVar2 + 0x58d) != iVar1 < 0))) {
if (local_6 == 0xc) {
return;
}
local_6 = local_6 + 1;
}
FUN_1008_1f0c(0,*(undefined1 *)(iVar2 + 0x58f),*(undefined1 *)(iVar2 + 0x58e));
return;
}
/* ===== 1008:21ba FUN_1008_21ba ===== */
void __cdecl16near FUN_1008_21ba(void)
{
DAT_1028_058d = 1;
if (DAT_1028_058e != '\0') {
FUN_1008_1818();
}
return;
}
/* ===== 1008:21ce FUN_1008_21ce ===== */
void __cdecl16near FUN_1008_21ce(void)
{
if (DAT_1028_058e != '\0') {
FUN_1008_185b();
}
DAT_1028_058d = 0;
return;
}
/* ===== 1008:21e2 FUN_1008_21e2 ===== */
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */
void __cdecl16near FUN_1008_21e2(void)
{
FUN_1020_0147(DAT_1028_0540 * DAT_1028_0542,DAT_1028_4ac2,_DAT_1028_4ac4);
DAT_1028_0544 = 0;
DAT_1028_0546 = 0;
DAT_1028_0548 = 0;
DAT_1028_054a = 0;
POSTQUITMESSAGE(0x1020,0);
DAT_1028_058c = 0;
return;
}
/* ===== 1008:2219 FUN_1008_2219 ===== */
undefined4 __stdcall16far
FUN_1008_2219(undefined2 param_1,undefined2 param_2,undefined2 param_3,int param_4,
undefined2 param_5)
{
undefined2 unaff_CS;
undefined2 unaff_SS;
undefined4 uVar1;
uVar1 = 0;
*(undefined2 *)&DAT_1028_0586 = param_5;
if (param_4 == 1) {
FUN_1008_1d77();
uVar1 = 0;
}
else if (param_4 == 0xf) {
FUN_1008_1dcc();
uVar1 = 0;
}
else if (param_4 == 0x115) {
FUN_1008_1f0c(param_1,param_3,1);
uVar1 = 0;
}
else if (param_4 == 0x114) {
FUN_1008_1f0c(param_1,param_3,0);
uVar1 = 0;
}
else if (param_4 == 5) {
FUN_1008_1f68(param_2,param_1);
uVar1 = 0;
}
else if (param_4 == 0x24) {
FUN_1008_1fe8(param_1,param_2);
uVar1 = 0;
}
else if (param_4 == 0x102) {
FUN_1008_211a(CONCAT11(1,(undefined1)param_3));
uVar1 = 0;
}
else if (param_4 == 0x100) {
FUN_1008_2147(CONCAT11(1,(undefined1)param_3));
uVar1 = 0;
}
else if (param_4 == 7) {
FUN_1008_21ba();
uVar1 = 0;
}
else if (param_4 == 8) {
FUN_1008_21ce();
uVar1 = 0;
}
else if (param_4 == 2) {
FUN_1008_21e2();
}
else {
uVar1 = DEFWINDOWPROC(unaff_CS,param_1,param_2,param_3,param_4);
}
return uVar1;
}
/* ===== 1008:22fc FUN_1008_22fc ===== */
undefined2 __stdcall16far FUN_1008_22fc(undefined4 param_1)
{
int iVar1;
undefined2 uVar2;
uVar2 = (undefined2)((ulong)param_1 >> 0x10);
iVar1 = (int)param_1;
if (*(int *)(iVar1 + 8) != 0) {
FUN_1008_1b11(*(undefined2 *)(iVar1 + 8),*(undefined2 *)(iVar1 + 0xc),
*(undefined2 *)(iVar1 + 0xe));
*(undefined2 *)(iVar1 + 8) = 0;
FUN_1008_1c03();
}
return 0;
}
/* ===== 1008:233c FUN_1008_233c ===== */
undefined2 __stdcall16far FUN_1008_233c(undefined4 param_1)
{
undefined2 uVar1;
int iVar2;
undefined2 uVar3;
uVar3 = (undefined2)((ulong)param_1 >> 0x10);
iVar2 = (int)param_1;
uVar1 = FUN_1008_1cc6(*(undefined2 *)(iVar2 + 4),*(undefined2 *)(iVar2 + 0xc),
*(undefined2 *)(iVar2 + 0xe));
*(undefined2 *)(iVar2 + 10) = uVar1;
*(undefined2 *)(iVar2 + 8) = 0;
return 0;
}
/* ===== 1008:2374 FUN_1008_2374 ===== */
undefined2 __stdcall16far FUN_1008_2374(void)
{
return 0;
}
/* ===== 1008:238b FUN_1008_238b ===== */
undefined2 __stdcall16far FUN_1008_238b(undefined4 param_1)
{
int iVar1;
undefined2 uVar2;
uVar2 = (undefined2)((ulong)param_1 >> 0x10);
iVar1 = (int)param_1;
if (*(int *)(iVar1 + 2) == -0x284f) {
*(undefined2 *)(iVar1 + 0x14) = 0x233c;
*(undefined2 *)(iVar1 + 0x16) = 0x1008;
*(undefined2 *)(iVar1 + 0x18) = 0;
*(undefined2 *)(iVar1 + 0x1a) = 0;
}
else {
*(undefined2 *)(iVar1 + 2) = 0xd7b2;
*(undefined2 *)(iVar1 + 0x14) = 0x22fc;
*(undefined2 *)(iVar1 + 0x16) = 0x1008;
*(undefined2 *)(iVar1 + 0x18) = 0x22fc;
*(undefined2 *)(iVar1 + 0x1a) = 0x1008;
}
*(undefined2 *)(iVar1 + 0x1c) = 0x2374;
*(undefined2 *)(iVar1 + 0x1e) = 0x1008;
return 0;
}
/* ===== 1008:23fd FUN_1008_23fd ===== */
void __stdcall16far FUN_1008_23fd(undefined2 *param_1)
{
undefined2 *puVar1;
undefined2 uVar2;
uVar2 = (undefined2)((ulong)param_1 >> 0x10);
puVar1 = (undefined2 *)param_1;
*param_1 = 0xffff;
puVar1[1] = 0xd7b0;
puVar1[2] = 0x80;
puVar1[6] = puVar1 + 0x40;
puVar1[7] = uVar2;
puVar1[8] = 0x238b;
puVar1[9] = 0x1008;
*(undefined1 *)(puVar1 + 0x18) = 0;
return;
}
/* ===== 1008:2442 FUN_1008_2442 ===== */
void __cdecl16far FUN_1008_2442(void)
{
int unaff_BP;
int iVar1;
undefined2 unaff_CS;
undefined2 uVar2;
iVar1 = unaff_BP + 1;
if (DAT_1028_058c == '\0') {
DAT_1028_0586 =
CREATEWINDOW(unaff_CS,0,0,DAT_1028_06fe,0,0,DAT_1028_053e,DAT_1028_053c,DAT_1028_053a,
DAT_1028_0538,0,0xff,0x4a6e,0x1028,DAT_1028_0578,DAT_1028_057a,0x1028);
uVar2 = DAT_1028_0586;
SHOWWINDOW(0x1228,DAT_1028_0700);
UPDATEWINDOW(0x1228,DAT_1028_0586,uVar2,iVar1);
}
return;
}
/* ===== 1008:24a5 FUN_1008_24a5 ===== */
void __cdecl16far FUN_1008_24a5(void)
{
undefined2 uVar1;
int iVar2;
int unaff_BP;
undefined2 unaff_CS;
undefined2 unaff_SS;
undefined1 local_9a [128];
undefined1 local_1a [18];
undefined2 local_8;
undefined2 local_6;
undefined2 uStack_4;
int iStack_2;
iStack_2 = unaff_BP + 1;
uStack_4 = 0x1028;
DAT_1028_0712 = DAT_1028_4abe;
DAT_1028_0714 = DAT_1028_4ac0;
if ((DAT_1028_058c != '\0') && (DAT_1028_0718 == 0 && DAT_1028_071a == 0)) {
local_8 = 0x4a6e;
local_6 = 0x1028;
WVSPRINTF(unaff_CS,&local_8,unaff_SS,DAT_1028_054c,DAT_1028_054e,local_9a);
SETWINDOWTEXT(0x1228,local_9a);
uVar1 = GETSYSTEMMENU(0x1228,0);
ENABLEMENUITEM(0x1228,0,0xf060);
DAT_1028_0560 = 0;
while (iVar2 = GETMESSAGE(0x1228,0,0,0,local_1a,unaff_SS,uVar1), iVar2 != 0) {
uVar1 = unaff_SS;
TRANSLATEMESSAGE(0x1228,local_1a);
DISPATCHMESSAGE(0x1228,local_1a);
}
}
return;
}
/* ===== 1008:2554 FUN_1008_2554 ===== */
void __cdecl16far FUN_1008_2554(void)
{
undefined2 unaff_CS;
short arg3;
undefined2 uVar1;
if (DAT_1028_06fc == 0) {
DAT_1028_056c = DAT_1028_06fe;
DAT_1028_056e = LOADICON(unaff_CS,0x7f00,0);
DAT_1028_0570 = LOADCURSOR(0x1228,0x7f00,0);
DAT_1028_0572 = 6;
REGISTERCLASS(0x1228,0x562);
}
FUN_1008_23fd(0x4b38,0x1028);
uVar1 = 0x1028;
FUN_1020_0527();
FUN_1020_038f(uVar1);
FUN_1008_23fd();
arg3 = 0x1028;
FUN_1020_052c(0x1008,0x4c38);
FUN_1020_038f();
GETMODULEFILENAME(0x50,(void *)CONCAT22(DAT_1028_06fe,(void *)0x1028),arg3);
Ordinal_6(0x1228,0x4a6e,0x1028,0x4a6e,0x1028);
DAT_1028_4abe = DAT_1028_0712;
DAT_1028_4ac0 = DAT_1028_0714;
DAT_1028_0712 = 0x24a5;
DAT_1028_0714 = 0x1008;
return;
}
/* ===== 1008:2608 FUN_1008_2608 ===== */
void __cdecl16near FUN_1008_2608(void)
{
char *pcVar1;
char *pcVar2;
code *pcVar3;
int iVar4;
char *unaff_DI;
char *pcVar5;
undefined2 unaff_ES;
undefined2 unaff_SS;
char local_52 [80];
pcVar5 = local_52;
iVar4 = 0x4f;
do {
pcVar1 = unaff_DI;
unaff_DI = unaff_DI + 1;
if (*pcVar1 == '\0') break;
pcVar2 = pcVar5;
pcVar5 = pcVar5 + 1;
*pcVar2 = *pcVar1;
iVar4 = iVar4 + -1;
} while (iVar4 != 0);
*pcVar5 = '\0';
Ordinal_5();
pcVar3 = (code *)swi(0x21);
(*pcVar3)();
return;
}
/* ===== 1008:2643 FUN_1008_2643 ===== */
char * __stdcall16far FUN_1008_2643(char *param_1,char *param_2,char *param_3)
{
char *pcVar1;
char *pcVar2;
char cVar3;
char cVar4;
uint uVar5;
char *pcVar6;
char *pcVar7;
char *pcVar8;
undefined2 uVar9;
undefined2 uVar10;
bool bVar11;
undefined2 uVar12;
uVar12 = 0x1028;
uVar10 = (undefined2)((ulong)param_1 >> 0x10);
pcVar6 = (char *)param_1;
uVar9 = (undefined2)((ulong)param_3 >> 0x10);
uVar5 = 0x4f;
pcVar8 = (char *)param_3;
do {
if (uVar5 != 0) {
pcVar7 = (char *)param_2;
do {
pcVar1 = pcVar7;
pcVar7 = pcVar7 + 1;
if (*pcVar1 == '\0') break;
pcVar2 = pcVar8;
pcVar8 = pcVar8 + 1;
*pcVar2 = *pcVar1;
uVar5 = uVar5 - 1;
} while (uVar5 != 0);
}
bVar11 = false;
*pcVar8 = '\0';
FUN_1008_2608(pcVar6,uVar10,uVar12);
if ((!bVar11) && ((uVar5 & 0x18) == 0)) {
return param_3;
}
uVar5 = 0x4f;
cVar3 = *pcVar6;
cVar4 = '\0';
pcVar8 = (char *)param_3;
if (cVar3 == '\0') {
*param_3 = '\0';
return param_3;
}
do {
pcVar6 = pcVar6 + 1;
if (cVar3 == ';') break;
if (uVar5 != 0) {
pcVar1 = pcVar8;
pcVar8 = pcVar8 + 1;
*pcVar1 = cVar3;
uVar5 = uVar5 - 1;
cVar4 = cVar3;
}
cVar3 = *pcVar6;
} while (cVar3 != '\0');
if (((uVar5 != 0) && (cVar4 != ':')) && (cVar4 != '\\')) {
pcVar1 = pcVar8;
pcVar8 = pcVar8 + 1;
*pcVar1 = '\\';
uVar5 = uVar5 - 1;
}
} while( true );
}
/* ===== 1008:26b0 FUN_1008_26b0 ===== */
uint __stdcall16far
FUN_1008_26b0(int param_1,int param_2,int param_3,int param_4,int param_5,int param_6,int param_7,
undefined2 param_8)
{
long lVar1;
undefined4 local_14;
int local_10;
undefined2 local_e;
uint local_c;
uint local_a;
uint local_8;
lVar1 = FUN_1008_2fe3(0x5c,param_7,param_8);
if (lVar1 == 0) {
lVar1 = FUN_1008_2fe3(0x3a,param_7,param_8);
}
local_e = (undefined2)((ulong)lVar1 >> 0x10);
local_10 = (int)lVar1;
if (lVar1 == 0) {
local_10 = param_7;
local_e = param_8;
}
else {
local_10 = local_10 + 1;
}
local_14 = (char *)FUN_1008_2fbb(0x2e,local_10,local_e);
if (local_14 == (char *)0x0) {
local_14 = (char *)FUN_1008_2ea9(local_10,local_e);
}
local_8 = local_10 - param_7;
if (0x43 < local_8) {
local_8 = 0x43;
}
local_a = (int)(char *)local_14 - local_10;
if (8 < local_a) {
local_a = 8;
}
local_c = 0;
lVar1 = FUN_1008_2fbb(0x3f,local_10,local_e);
if (lVar1 == 0) {
lVar1 = FUN_1008_2fbb(0x2a,local_10,local_e);
if (lVar1 == 0) goto LAB_1008_2784;
}
local_c = 8;
LAB_1008_2784:
if (local_8 != 0) {
local_c = local_c | 4;
}
if (local_a != 0) {
local_c = local_c | 2;
}
if (*local_14 != '\0') {
local_c = local_c | 1;
}
if (param_5 != 0 || param_6 != 0) {
FUN_1008_2f07(local_8,param_7,param_8,param_5,param_6);
}
if (param_3 != 0 || param_4 != 0) {
FUN_1008_2f07(local_a,local_10,local_e,param_3,param_4);
}
if (param_1 != 0 || param_2 != 0) {
FUN_1008_2f07(4,(char *)local_14,local_14._2_2_,param_1,param_2);
}
return local_c;
}
/* ===== 1008:2819 FUN_1008_2819 ===== */
char * __stdcall16far FUN_1008_2819(undefined2 param_1,undefined2 param_2)
{
int iVar1;
int iVar2;
undefined4 local_e;
char *local_8;
undefined2 local_6;
iVar1 = FUN_1008_2e92(param_1,param_2);
local_e = (char *)GETDOSENVIRONMENT(0x1008);
do {
if (*local_e == '\0') {
local_8 = (char *)0x0;
local_6 = 0;
LAB_1008_2896:
return (char *)CONCAT22(local_6,local_8);
}
iVar2 = FUN_1008_2f70(iVar1,param_1,param_2,(char *)local_e,local_e._2_2_);
if ((iVar2 == 0) && (((char *)local_e)[iVar1] == '=')) {
local_8 = (char *)local_e + iVar1 + 1;
local_6 = local_e._2_2_;
goto LAB_1008_2896;
}
iVar2 = FUN_1008_2e92((char *)local_e,local_e._2_2_);
local_e = (char *)CONCAT22(local_e._2_2_,(char *)local_e + iVar2 + 1);
} while( true );
}
/* ===== 1008:28a3 FUN_1008_28a3 ===== */
undefined4 __stdcall16far
FUN_1008_28a3(undefined4 param_1,undefined2 param_2,undefined1 param_3,undefined2 param_4,
undefined2 param_5,undefined2 param_6)
{
undefined2 uVar1;
int iVar2;
undefined2 uVar3;
bool bVar4;
FUN_1020_03cb();
bVar4 = true;
FUN_1020_03ef();
if (!bVar4) {
uVar3 = (undefined2)((ulong)param_1 >> 0x10);
iVar2 = (int)param_1;
FUN_1008_2d99(iVar2,uVar3,0);
*(undefined2 *)(iVar2 + 2) = 0;
*(undefined2 *)(iVar2 + 4) = param_6;
uVar1 = FUN_1008_295c(iVar2,uVar3,param_3,param_4,param_5);
*(undefined2 *)(iVar2 + 2) = uVar1;
if (*(int *)(iVar2 + 2) == 0) {
FUN_1020_0439();
}
}
return param_1;
}
/* ===== 1008:2906 FUN_1008_2906 ===== */
void __stdcall16far FUN_1008_2906(undefined4 param_1)
{
undefined2 uVar1;
FUN_1020_03cb();
uVar1 = (undefined2)((ulong)param_1 >> 0x10);
FUN_1008_2932((int)param_1,uVar1);
FUN_1008_2dcd((int)param_1,uVar1,0);
FUN_1020_0439();
return;
}
/* ===== 1008:2932 FUN_1008_2932 ===== */
void __stdcall16far FUN_1008_2932(undefined4 param_1)
{
int iVar1;
undefined2 uVar2;
FUN_1020_03cb();
uVar2 = (undefined2)((ulong)param_1 >> 0x10);
iVar1 = (int)param_1;
if (*(int *)(iVar1 + 2) != 0) {
TIMEKILLEVENT(0x1020,*(undefined2 *)(iVar1 + 2));
}
*(undefined2 *)(iVar1 + 2) = 0;
return;
}
/* ===== 1008:295c FUN_1008_295c ===== */
undefined2 __stdcall16far
FUN_1008_295c(undefined2 param_1,undefined2 param_2,undefined1 param_3,undefined2 param_4,
undefined2 param_5)
{
undefined1 extraout_AH;
undefined2 uVar1;
FUN_1020_03cb();
uVar1 = SYSTEMTIMERMAKE(0x1020,CONCAT11(extraout_AH,param_3),param_4,param_5);
return uVar1;
}
/* ===== 1008:298a FUN_1008_298a ===== */
void __cdecl16far FUN_1008_298a(void)
{
FUN_1020_03cb();
return;
}
/* ===== 1008:2996 FUN_1008_2996 ===== */
undefined4 __stdcall16far
FUN_1008_2996(undefined4 param_1,undefined2 param_2,undefined2 param_3,int param_4,
undefined2 param_5,undefined2 param_6)
{
int unaff_BP;
int iVar1;
undefined2 uVar2;
bool bVar3;
undefined4 uVar4;
bVar3 = true;
FUN_1020_03ef(0x1028,unaff_BP + 1);
if (!bVar3) {
uVar2 = (undefined2)((ulong)param_1 >> 0x10);
iVar1 = (int)param_1;
FUN_1018_0341(iVar1,uVar2,0,param_5,param_6);
FUN_1018_0627(iVar1,uVar2);
if (param_4 == 0) {
*(undefined2 *)(iVar1 + 0x1d) = param_3;
*(undefined2 *)(iVar1 + 0x1f) = 0;
}
else {
uVar4 = FUN_1008_302c(param_3,param_4);
*(undefined2 *)(iVar1 + 0x1d) = (int)uVar4;
*(undefined2 *)(iVar1 + 0x1f) = (int)((ulong)uVar4 >> 0x10);
}
*(undefined2 *)(iVar1 + 0x21) = 0;
*(undefined2 *)(iVar1 + 0x23) = 0;
*(undefined1 *)(iVar1 + 0x25) = 0;
}
return param_1;
}
/* ===== 1008:2a0e FUN_1008_2a0e ===== */
void __stdcall16far FUN_1008_2a0e(undefined4 param_1)
{
int unaff_BP;
int iVar1;
int iVar2;
undefined2 uVar3;
undefined2 uVar4;
iVar1 = unaff_BP + 1;
uVar4 = 0x1028;
uVar3 = (undefined2)((ulong)param_1 >> 0x10);
iVar2 = (int)param_1;
if (*(int *)(iVar2 + 0x1f) != 0) {
FUN_1008_3099(*(undefined2 *)(iVar2 + 0x1d),*(undefined2 *)(iVar2 + 0x1f));
}
FUN_1018_03ff(iVar2,uVar3,0);
FUN_1020_0439(uVar4,iVar1);
return;
}
/* ===== 1008:2a45 FUN_1008_2a45 ===== */
uint __stdcall16far FUN_1008_2a45(undefined4 param_1)
{
uint in_AX;
uint uVar1;
int iVar2;
undefined2 uVar3;
undefined2 local_8;
uVar3 = (undefined2)((ulong)param_1 >> 0x10);
iVar2 = (int)param_1;
if (*(int *)(iVar2 + 2) == 0) {
FUN_1018_0627(iVar2,uVar3);
FUN_1018_05f3(iVar2,uVar3);
*(undefined1 *)(iVar2 + 0x25) = 0;
if (*(int *)(iVar2 + 6) == 0 && *(int *)(iVar2 + 8) == 0) {
local_8 = 0;
}
else {
local_8 = *(undefined2 *)((int)*(undefined4 *)(iVar2 + 6) + 4);
}
in_AX = (*DAT_1028_0652)(0x1018,*(undefined2 *)(iVar2 + 0x21),*(undefined2 *)(iVar2 + 0x23),
*(undefined2 *)(iVar2 + 0x12),*(undefined2 *)(iVar2 + 0x14),local_8,
*(undefined2 *)(iVar2 + 0x1d),*(undefined2 *)(iVar2 + 0x1f),
DAT_1028_06fe);
*(uint *)(iVar2 + 4) = in_AX;
if (*(int *)(iVar2 + 4) == 0) {
*(undefined2 *)(iVar2 + 2) = 0xffff;
}
}
uVar1 = in_AX & 0xff00;
if (*(int *)(iVar2 + 2) == 0) {
uVar1 = uVar1 + 1;
}
return uVar1;
}
/* ===== 1008:2ae3 FUN_1008_2ae3 ===== */
int __stdcall16far FUN_1008_2ae3(undefined4 param_1)
{
undefined2 uVar1;
int iVar2;
int iVar3;
undefined2 uVar4;
undefined2 uVar5;
undefined2 uVar6;
undefined2 local_8;
undefined2 local_6;
uVar4 = (undefined2)((ulong)param_1 >> 0x10);
iVar2 = (int)param_1;
if (*(int *)(iVar2 + 2) == 0) {
FUN_1018_0627(iVar2,uVar4);
FUN_1018_05f3(iVar2,uVar4);
*(undefined1 *)(iVar2 + 0x25) = 1;
if (*(int *)(iVar2 + 6) == 0 && *(int *)(iVar2 + 8) == 0) {
local_8 = 0;
}
else {
local_8 = *(undefined2 *)((int)*(undefined4 *)(iVar2 + 6) + 4);
}
uVar5 = (undefined2)((ulong)DAT_1028_064e >> 0x10);
uVar1 = *(undefined2 *)((int)DAT_1028_064e + 0xe);
uVar5 = *(undefined2 *)((int)DAT_1028_064e + 0x10);
local_6 = (*DAT_1028_0656)(0x1018,*(undefined2 *)(iVar2 + 0x21),*(undefined2 *)(iVar2 + 0x23),
*(undefined2 *)(iVar2 + 0x12),*(undefined2 *)(iVar2 + 0x14),local_8,
*(undefined2 *)(iVar2 + 0x1d),*(undefined2 *)(iVar2 + 0x1f),
DAT_1028_06fe);
uVar6 = (undefined2)((ulong)DAT_1028_064e >> 0x10);
iVar3 = (int)DAT_1028_064e;
*(undefined2 *)(iVar3 + 0xe) = uVar1;
*(undefined2 *)(iVar3 + 0x10) = uVar5;
if (local_6 == -1) {
*(undefined2 *)(iVar2 + 2) = 0xffff;
}
*(undefined2 *)(iVar2 + 4) = 0;
}
else {
local_6 = *(int *)(iVar2 + 2);
}
return local_6;
}
/* ===== 1008:2bb1 FUN_1008_2bb1 ===== */
void __stdcall16far FUN_1008_2bb1(undefined2 param_1,undefined4 param_2)
{
undefined2 uVar1;
uVar1 = (undefined2)((ulong)param_2 >> 0x10);
if (*(int *)((int)param_2 + 4) != 0) {
FUN_1018_060d((int)param_2,uVar1);
}
return;
}
/* ===== 1008:2bd1 FUN_1008_2bd1 ===== */
void __stdcall16far FUN_1008_2bd1(undefined4 param_1,undefined2 param_2)
{
undefined2 uVar1;
uVar1 = (undefined2)((ulong)param_1 >> 0x10);
if (*(char *)((int)param_1 + 0x25) != '\0') {
FUN_1018_085a((int)param_1,uVar1,0x2bb1,0x1008);
ENDDIALOG(0x1018,param_2);
}
return;
}
/* ===== 1008:2c08 FUN_1008_2c08 ===== */
void __stdcall16far FUN_1008_2c08(int *param_1)
{
(*(code *)*(undefined2 *)(*param_1 + 0x38))();
return;
}
/* ===== 1008:2c1f FUN_1008_2c1f ===== */
void __stdcall16far FUN_1008_2c1f(int *param_1,undefined4 param_2)
{
char cVar1;
int iVar2;
undefined2 uVar3;
undefined2 uVar4;
uVar3 = (undefined2)((ulong)DAT_1028_064e >> 0x10);
iVar2 = (int)param_2;
uVar4 = (undefined2)((ulong)param_2 >> 0x10);
if (((int)((ulong)param_1 >> 0x10) == ((int *)DAT_1028_064e)[5]) &&
((int *)param_1 == (int *)((int *)DAT_1028_064e)[4])) {
cVar1 = (*(code *)*(undefined2 *)(*DAT_1028_064e + 0x44))();
*(int *)(iVar2 + 10) = (int)(cVar1 == '\0');
*(undefined2 *)(iVar2 + 0xc) = 0;
}
else {
cVar1 = (*(code *)*(undefined2 *)(*param_1 + 0x3c))();
*(int *)(iVar2 + 10) = (int)(cVar1 == '\0');
*(undefined2 *)(iVar2 + 0xc) = 0;
}
return;
}
/* ===== 1008:2c83 FUN_1008_2c83 ===== */
void __stdcall16far FUN_1008_2c83(undefined2 param_1,undefined2 param_2,undefined4 param_3)
{
int *piVar1;
int iVar2;
int unaff_BP;
int iVar3;
undefined2 uVar4;
long lVar5;
undefined2 uVar6;
undefined2 uVar7;
iVar3 = unaff_BP + 1;
uVar7 = 0x1028;
uVar4 = (undefined2)((ulong)param_3 >> 0x10);
uVar6 = *(undefined2 *)((int)param_3 + 4);
SETFOCUS();
lVar5 = FUN_1018_0097(*(undefined2 *)((int)param_3 + 4));
uVar4 = (undefined2)((ulong)lVar5 >> 0x10);
iVar2 = (int)lVar5;
if ((lVar5 != 0) && (*(int *)(iVar2 + 0x43) != 0 || *(int *)(iVar2 + 0x45) != 0)) {
piVar1 = (int *)*(undefined4 *)(iVar2 + 0x43);
(*(code *)*(undefined2 *)(*piVar1 + 0xc))
(0x1018,(int *)piVar1,(int)((ulong)piVar1 >> 0x10),uVar6,lVar5,uVar7,iVar3);
}
DAT_1028_06f2 = 1;
return;
}
/* ===== 1008:2cd9 FUN_1008_2cd9 ===== */
void __stdcall16far FUN_1008_2cd9(undefined2 param_1,undefined2 param_2,undefined4 param_3)
{
undefined2 uVar1;
uVar1 = (undefined2)((ulong)param_3 >> 0x10);
*(undefined2 *)((int)param_3 + 10) = 0;
*(undefined2 *)((int)param_3 + 0xc) = 0;
return;
}
/* ===== 1008:2cf2 FUN_1008_2cf2 ===== */
void __stdcall16far FUN_1008_2cf2(int *param_1)
{
char cVar1;
undefined2 uVar2;
uVar2 = (undefined2)((ulong)param_1 >> 0x10);
if (*(char *)((int)(int *)param_1 + 0x25) == '\0') {
FUN_1018_0f38((int *)param_1,uVar2);
}
else {
cVar1 = (*(code *)*(undefined2 *)(*param_1 + 0x3c))();
if (cVar1 != '\0') {
(*(code *)*(undefined2 *)(*param_1 + 0x44))();
(*(code *)*(undefined2 *)(*param_1 + 0x50))();
}
}
return;
}
/* ===== 1008:2d3a FUN_1008_2d3a ===== */
void __stdcall16far FUN_1008_2d3a(int *param_1)
{
undefined2 uVar1;
uVar1 = (undefined2)((ulong)param_1 >> 0x10);
if (*(char *)((int)(int *)param_1 + 0x25) == '\0') {
FUN_1018_0f38((int *)param_1,uVar1);
}
else {
(*(code *)*(undefined2 *)(*param_1 + 0x50))();
}
return;
}
/* ===== 1008:2d66 FUN_1008_2d66 ===== */
void __stdcall16far FUN_1008_2d66(void)
{
FUN_1020_16e1();
return;
}
/* ===== 1008:2d87 FUN_1008_2d87 ===== */
void __cdecl16far FUN_1008_2d87(void)
{
FUN_1020_005d();
return;
}
/* ===== 1008:2d99 FUN_1008_2d99 ===== */
undefined4 __stdcall16far FUN_1008_2d99(undefined4 param_1)
{
int unaff_BP;
FUN_1020_03ef(0x1028,unaff_BP + 1);
return param_1;
}
/* ===== 1008:2db3 FUN_1008_2db3 ===== */
void __stdcall16far FUN_1008_2db3(int *param_1)
{
(*(code *)*(undefined2 *)(*param_1 + 8))();
return;
}
/* ===== 1008:2dcd FUN_1008_2dcd ===== */
void __stdcall16far FUN_1008_2dcd(void)
{
int unaff_BP;
FUN_1020_0439(0x1028,unaff_BP + 1);
return;
}
/* ===== 1008:2de0 FUN_1008_2de0 ===== */
uint __cdecl16far FUN_1008_2de0(void)
{
uint uVar1;
uVar1 = (DAT_1028_06f6 | DAT_1028_06f8) & 0xff00;
if ((DAT_1028_06f6 | DAT_1028_06f8) == 0) {
uVar1 = 1;
}
return uVar1;
}
/* ===== 1008:2dff FUN_1008_2dff ===== */
void __cdecl16far FUN_1008_2dff(void)
{
char cVar1;
int unaff_BP;
undefined4 uVar2;
cVar1 = FUN_1008_2de0(0x1028,unaff_BP + 1);
uVar2 = CONCAT22(DAT_1028_06f8,DAT_1028_06f6);
if (cVar1 != '\0') {
uVar2 = FUN_1020_012d(DAT_1028_06f4);
}
DAT_1028_06f8 = (undefined2)((ulong)uVar2 >> 0x10);
DAT_1028_06f6 = (undefined2)uVar2;
return;
}
/* ===== 1008:2e22 FUN_1008_2e22 ===== */
undefined2 __stdcall16far FUN_1008_2e22(int param_1)
{
char cVar1;
undefined2 local_6;
if (param_1 != 0) {
if (DAT_1028_06fa == '\0') {
cVar1 = FUN_1008_2de0();
if (cVar1 == '\0') {
FUN_1020_0147(DAT_1028_06f4,DAT_1028_06f6,DAT_1028_06f8);
DAT_1028_06f6 = 0;
DAT_1028_06f8 = 0;
local_6 = 2;
}
else {
local_6 = 0;
}
}
else {
local_6 = 1;
}
}
return local_6;
}
/* ===== 1008:2e76 FUN_1008_2e76 ===== */
void __cdecl16far FUN_1008_2e76(void)
{
int unaff_BP;
FUN_1008_2dff(0x1028,unaff_BP + 1);
DAT_1028_070e = 0x2e22;
DAT_1028_0710 = 0x1008;
return;
}
/* ===== 1008:2e92 FUN_1008_2e92 ===== */
int __stdcall16far FUN_1008_2e92(char *param_1)
{
char *pcVar1;
int iVar2;
char *pcVar3;
pcVar3 = (char *)param_1;
iVar2 = -1;
do {
if (iVar2 == 0) break;
iVar2 = iVar2 + -1;
pcVar1 = pcVar3;
pcVar3 = pcVar3 + 1;
} while (*pcVar1 != '\0');
return -2 - iVar2;
}
/* ===== 1008:2ea9 FUN_1008_2ea9 ===== */
char * __stdcall16far FUN_1008_2ea9(char *param_1)
{
char *pcVar1;
int iVar2;
char *pcVar3;
undefined2 uVar4;
uVar4 = (undefined2)((ulong)param_1 >> 0x10);
pcVar3 = (char *)param_1;
iVar2 = -1;
do {
if (iVar2 == 0) break;
iVar2 = iVar2 + -1;
pcVar1 = pcVar3;
pcVar3 = pcVar3 + 1;
} while (*pcVar1 != '\0');
return (char *)CONCAT22(uVar4,pcVar3 + -1);
}
/* ===== 1008:2ec0 FUN_1008_2ec0 ===== */
undefined1 * __stdcall16far FUN_1008_2ec0(int param_1,undefined1 *param_2,undefined1 *param_3)
{
undefined1 *puVar1;
undefined1 *puVar2;
undefined1 *puVar3;
undefined1 *puVar4;
byte bVar5;
bVar5 = 0;
puVar3 = (undefined1 *)param_2;
puVar4 = (undefined1 *)param_3;
if (puVar3 < puVar4) {
bVar5 = 1;
puVar3 = puVar3 + param_1 + -1;
puVar4 = puVar4 + param_1 + -1;
}
for (; param_1 != 0; param_1 = param_1 + -1) {
puVar2 = puVar4;
puVar4 = puVar4 + (uint)bVar5 * -2 + 1;
puVar1 = puVar3;
puVar3 = puVar3 + (uint)bVar5 * -2 + 1;
*puVar2 = *puVar1;
}
return param_3;
}
/* ===== 1008:2ee5 FUN_1008_2ee5 ===== */
char * __stdcall16far FUN_1008_2ee5(char *param_1,char *param_2)
{
char *pcVar1;
char *pcVar2;
uint uVar3;
char *pcVar4;
char *pcVar5;
undefined2 uVar6;
uVar6 = (undefined2)((ulong)param_1 >> 0x10);
pcVar4 = (char *)param_1;
uVar3 = 0xffff;
pcVar5 = pcVar4;
do {
if (uVar3 == 0) break;
uVar3 = uVar3 - 1;
pcVar1 = pcVar5;
pcVar5 = pcVar5 + 1;
} while (*pcVar1 != '\0');
pcVar5 = (char *)param_2;
for (uVar3 = ~uVar3; uVar3 != 0; uVar3 = uVar3 - 1) {
pcVar2 = pcVar5;
pcVar5 = pcVar5 + 1;
pcVar1 = pcVar4;
pcVar4 = pcVar4 + 1;
*pcVar2 = *pcVar1;
}
return param_2;
}
/* ===== 1008:2f07 FUN_1008_2f07 ===== */
char * __stdcall16far FUN_1008_2f07(int param_1,char *param_2,char *param_3)
{
char *pcVar1;
char *pcVar2;
int iVar3;
char *pcVar4;
char *pcVar5;
undefined2 uVar6;
undefined2 uVar7;
uVar6 = (undefined2)((ulong)param_2 >> 0x10);
pcVar4 = (char *)param_2;
iVar3 = param_1;
pcVar5 = pcVar4;
do {
if (iVar3 == 0) break;
iVar3 = iVar3 + -1;
pcVar1 = pcVar5;
pcVar5 = pcVar5 + 1;
} while (*pcVar1 != '\0');
uVar7 = (undefined2)((ulong)param_3 >> 0x10);
pcVar5 = (char *)param_3;
for (param_1 = param_1 - iVar3; param_1 != 0; param_1 = param_1 + -1) {
pcVar2 = pcVar5;
pcVar5 = pcVar5 + 1;
pcVar1 = pcVar4;
pcVar4 = pcVar4 + 1;
*pcVar2 = *pcVar1;
}
*pcVar5 = '\0';
return param_3;
}
/* ===== 1008:2f2f FUN_1008_2f2f ===== */
byte * __stdcall16far FUN_1008_2f2f(byte *param_1,byte *param_2)
{
byte *pbVar1;
uint uVar2;
byte *pbVar3;
byte *pbVar4;
undefined2 uVar5;
pbVar3 = (byte *)param_1;
uVar5 = (undefined2)((ulong)param_2 >> 0x10);
pbVar4 = (byte *)param_2;
for (uVar2 = (uint)*param_1; pbVar3 = pbVar3 + 1, uVar2 != 0; uVar2 = uVar2 - 1) {
pbVar1 = pbVar4;
pbVar4 = pbVar4 + 1;
*pbVar1 = *pbVar3;
}
*pbVar4 = 0;
return param_2;
}
/* ===== 1008:2f4d FUN_1008_2f4d ===== */
undefined4 __stdcall16far
FUN_1008_2f4d(undefined2 param_1,undefined2 param_2,undefined2 param_3,undefined2 param_4)
{
undefined4 uVar1;
uVar1 = FUN_1008_2ea9(param_3,param_4);
FUN_1008_2ee5(param_1,param_2,uVar1);
return CONCAT22(param_4,param_3);
}
/* ===== 1008:2f70 FUN_1008_2f70 ===== */
void __stdcall16far FUN_1008_2f70(int param_1,char *param_2,char *param_3)
{
char *pcVar1;
char *pcVar2;
byte bVar3;
int iVar4;
undefined1 uVar5;
int iVar6;
uint uVar7;
char *pcVar8;
char *pcVar9;
undefined2 uVar10;
undefined2 uVar11;
bool bVar12;
uVar10 = (undefined2)((ulong)param_2 >> 0x10);
pcVar9 = (char *)param_2;
if (param_1 != 0) {
iVar4 = 0;
iVar6 = param_1;
pcVar8 = pcVar9;
do {
if (iVar6 == 0) break;
iVar6 = iVar6 + -1;
pcVar1 = pcVar8;
pcVar8 = pcVar8 + 1;
} while (*pcVar1 != '\0');
param_1 = param_1 - iVar6;
bVar12 = param_1 == 0;
uVar11 = (undefined2)((ulong)param_3 >> 0x10);
pcVar8 = (char *)param_3;
LAB_1008_2f90:
do {
if (param_1 != 0) {
param_1 = param_1 + -1;
pcVar2 = pcVar9;
pcVar9 = pcVar9 + 1;
pcVar1 = pcVar8;
pcVar8 = pcVar8 + 1;
bVar12 = *pcVar1 == *pcVar2;
if (bVar12) goto LAB_1008_2f90;
}
if (bVar12) {
return;
}
bVar3 = pcVar8[-1];
uVar5 = (undefined1)((uint)iVar4 >> 8);
iVar4 = CONCAT11(uVar5,bVar3);
if ((0x60 < bVar3) && (bVar3 < 0x7b)) {
iVar4 = CONCAT11(uVar5,bVar3 - 0x20);
}
bVar3 = pcVar9[-1];
uVar7 = (uint)bVar3;
if ((0x60 < bVar3) && (bVar3 < 0x7b)) {
uVar7 = (uint)(byte)(bVar3 - 0x20);
}
iVar4 = iVar4 - uVar7;
bVar12 = true;
} while (iVar4 == 0);
}
return;
}
/* ===== 1008:2fbb FUN_1008_2fbb ===== */
char * __stdcall16far FUN_1008_2fbb(char param_1,char *param_2)
{
char *pcVar1;
char *pcVar2;
uint uVar3;
undefined2 uVar4;
char *pcVar5;
undefined2 uVar6;
bool bVar7;
uVar6 = (undefined2)((ulong)param_2 >> 0x10);
pcVar5 = (char *)param_2;
uVar3 = 0xffff;
bVar7 = true;
pcVar2 = pcVar5;
do {
if (uVar3 == 0) break;
uVar3 = uVar3 - 1;
pcVar1 = pcVar2;
pcVar2 = pcVar2 + 1;
bVar7 = *pcVar1 == '\0';
} while (!bVar7);
uVar3 = ~uVar3;
do {
if (uVar3 == 0) break;
uVar3 = uVar3 - 1;
pcVar1 = pcVar5;
pcVar5 = pcVar5 + 1;
bVar7 = param_1 == *pcVar1;
} while (!bVar7);
pcVar2 = (char *)0x0;
uVar4 = 0;
if (bVar7) {
pcVar2 = pcVar5 + -1;
uVar4 = uVar6;
}
return (char *)CONCAT22(uVar4,pcVar2);
}
/* ===== 1008:2fe3 FUN_1008_2fe3 ===== */
char * __stdcall16far FUN_1008_2fe3(char param_1,char *param_2)
{
char *pcVar1;
char *pcVar2;
uint uVar3;
undefined2 uVar4;
char *pcVar5;
undefined2 uVar6;
bool bVar7;
uVar6 = (undefined2)((ulong)param_2 >> 0x10);
pcVar5 = (char *)param_2;
uVar3 = 0xffff;
do {
if (uVar3 == 0) break;
uVar3 = uVar3 - 1;
pcVar1 = pcVar5;
pcVar5 = pcVar5 + 1;
} while (*pcVar1 != '\0');
uVar3 = ~uVar3;
pcVar5 = pcVar5 + -1;
bVar7 = pcVar5 == (char *)0x0;
do {
if (uVar3 == 0) break;
uVar3 = uVar3 - 1;
pcVar1 = pcVar5;
pcVar5 = pcVar5 + -1;
bVar7 = param_1 == *pcVar1;
} while (!bVar7);
pcVar2 = (char *)0x0;
uVar4 = 0;
if (bVar7) {
pcVar2 = pcVar5 + 1;
uVar4 = uVar6;
}
return (char *)CONCAT22(uVar4,pcVar2);
}
/* ===== 1008:300a FUN_1008_300a ===== */
void __stdcall16far FUN_1008_300a(char *param_1,char *param_2)
{
char *pcVar1;
uint uVar2;
int iVar3;
char *pcVar4;
char *pcVar5;
undefined2 uVar6;
uVar6 = (undefined2)((ulong)param_1 >> 0x10);
pcVar4 = (char *)param_1;
uVar2 = 0xffff;
pcVar5 = pcVar4;
do {
if (uVar2 == 0) break;
uVar2 = uVar2 - 1;
pcVar1 = pcVar5;
pcVar5 = pcVar5 + 1;
} while (*pcVar1 != '\0');
iVar3 = ~uVar2 - 1;
pcVar5 = (char *)param_2;
*param_2 = (char)iVar3;
for (; pcVar5 = pcVar5 + 1, iVar3 != 0; iVar3 = iVar3 + -1) {
pcVar1 = pcVar4;
pcVar4 = pcVar4 + 1;
*pcVar5 = *pcVar1;
}
return;
}
/* ===== 1008:302c FUN_1008_302c ===== */
undefined4 __stdcall16far FUN_1008_302c(char *param_1)
{
int iVar1;
long lVar2;
undefined4 uVar3;
uVar3 = 0;
if (((char *)param_1 != (char *)0x0 || param_1._2_2_ != 0) && (uVar3 = 0, *param_1 != '\0')) {
iVar1 = FUN_1008_2e92((char *)param_1,param_1._2_2_);
lVar2 = FUN_1020_012d(iVar1 + 1);
uVar3 = 0;
if (lVar2 != 0) {
uVar3 = FUN_1008_2ec0(iVar1 + 1,(char *)param_1,param_1._2_2_,lVar2);
}
}
return uVar3;
}
/* ===== 1008:3099 FUN_1008_3099 ===== */
void __stdcall16far FUN_1008_3099(int param_1,int param_2)
{
int iVar1;
if (param_1 != 0 || param_2 != 0) {
iVar1 = FUN_1008_2e92(param_1,param_2);
FUN_1020_0147(iVar1 + 1,param_1,param_2);
}
return;
}
/* ===== 1010:0002 FUN_1010_0002 ===== */
void __cdecl16far FUN_1010_0002(void)
{
if (0x1f < DAT_1028_4781) {
FREELIBRARY(DAT_1028_4781);
}
DAT_1028_4784 = 0;
DAT_1028_4750 = 0;
DAT_1028_4752 = 0;
DAT_1028_4754 = 0;
DAT_1028_4756 = 0;
DAT_1028_4758 = 0;
DAT_1028_475a = 0;
DAT_1028_475c = 0;
DAT_1028_475e = 0;
DAT_1028_4760 = 0;
DAT_1028_4762 = 0;
DAT_1028_4764 = 0;
DAT_1028_4766 = 0;
DAT_1028_4768 = 0;
DAT_1028_476a = 0;
DAT_1028_476c = 0;
DAT_1028_476e = 0;
DAT_1028_4770 = 0;
DAT_1028_4772 = 0;
DAT_1028_4774 = 0;
DAT_1028_4776 = 0;
DAT_1028_4778 = 0;
DAT_1028_477a = 0;
return;
}
/* ===== 1010:0079 FUN_1010_0079 ===== */
void __cdecl16far FUN_1010_0079(void)
{
uint uVar1;
int unaff_BP;
int iVar2;
undefined2 uVar3;
iVar2 = unaff_BP + 1;
uVar3 = 0x1028;
if ((DAT_1028_4784 != '\0') && (DAT_1028_4778 != (code *)0x0 || DAT_1028_477a != 0)) {
uVar1 = GETCURRENTTASK();
(*DAT_1028_4778)(0x1228,uVar1,uVar3,iVar2);
FUN_1010_0002();
}
return;
}
/* ===== 1010:00a2 FUN_1010_00a2 ===== */
undefined2 __stdcall16far
FUN_1010_00a2(char *param_1,undefined2 param_2,undefined2 param_3,undefined2 param_4)
{
undefined1 extraout_AH;
undefined1 extraout_AH_00;
undefined1 extraout_AH_01;
uint uVar1;
undefined1 extraout_AH_02;
undefined1 extraout_AH_03;
undefined1 uVar2;
int unaff_BP;
void *unaff_SS;
undefined4 uVar3;
char *pcVar4;
void *arg3;
undefined1 local_163 [9];
undefined1 local_15a [5];
undefined1 local_155 [256];
char local_55 [80];
undefined1 local_5;
undefined2 uStack_4;
int iStack_2;
iStack_2 = unaff_BP + 1;
uStack_4 = 0x1028;
local_5 = 0;
local_155[0] = 0;
FUN_1008_2643(local_155,unaff_SS,param_3,param_4,local_55,unaff_SS);
if (local_55[0] == '\0') {
GETWINDOWSDIRECTORY(0x1008,0xff,local_155);
FUN_1008_2643(local_155,unaff_SS,param_3,param_4,local_55,unaff_SS);
if (local_55[0] == '\0') {
arg3 = unaff_SS;
GETSYSTEMDIRECTORY(0x1008,0xff,local_155);
FUN_1008_2643(local_155,unaff_SS,param_3,param_4,local_55,unaff_SS);
if (local_55[0] == '\0') {
uVar1 = GETMODULEHANDLE((char *)CONCAT22(param_2,param_1));
GETMODULEFILENAME(0x100,(void *)CONCAT22(uVar1,unaff_SS),(short)arg3);
FUN_1008_26b0(local_15a,unaff_SS,local_163,unaff_SS,local_155,unaff_SS,local_155,unaff_SS);
FUN_1008_2643(local_155,unaff_SS,param_3,param_4,local_55,unaff_SS);
if (local_55[0] == '\0') {
pcVar4 = (char *)CONCAT22(unaff_SS,local_55);
uVar3 = FUN_1008_2819(0x46a,0x1028);
FUN_1008_2643(uVar3,param_3,param_4,pcVar4);
uVar2 = extraout_AH_03;
if (local_55[0] != '\0') {
local_5 = 1;
}
}
else {
local_5 = 1;
uVar2 = extraout_AH_02;
}
}
else {
local_5 = 1;
uVar2 = extraout_AH_01;
}
}
else {
local_5 = 1;
uVar2 = extraout_AH_00;
}
}
else {
local_5 = 1;
uVar2 = extraout_AH;
}
return CONCAT11(uVar2,local_5);
}
/* ===== 1010:01c2 FUN_1010_01c2 ===== */
char __stdcall16far
FUN_1010_01c2(undefined1 param_1,undefined1 param_2,char param_3,undefined2 param_4,
undefined2 param_5)
{
char cVar1;
uint uVar2;
int iVar3;
undefined2 in_DX;
undefined2 extraout_DX;
undefined1 in_stack_0000fffa;
char cVar4;
cVar4 = '\x01';
cVar1 = cVar4;
if (DAT_1028_4784 == '\0') {
if (DAT_1028_478c == '\0') {
SETERRORMODE(0x8000);
DAT_1028_4781 = LOADLIBRARY((char *)0x1028478d);
SETERRORMODE(0);
}
else {
cVar1 = FUN_1010_00a2(param_4,param_5,0x478d,0x1028);
in_DX = extraout_DX;
if (cVar1 == '\0') {
DAT_1028_4781 = 0;
}
else {
DAT_1028_4781 = LOADLIBRARY((char *)0x1028478d);
}
}
cVar1 = DAT_1028_4784;
if (0x1f < DAT_1028_4781) {
DAT_1028_4750 =
(code *)GETPROCADDRESS(0x470,(char *)CONCAT13(cVar4,CONCAT12(in_stack_0000fffa,
DAT_1028_4781)));
DAT_1028_4752 = in_DX;
DAT_1028_4754 =
GETPROCADDRESS(0x482,(char *)CONCAT13(cVar4,CONCAT12(in_stack_0000fffa,DAT_1028_4781)));
DAT_1028_4756 = in_DX;
DAT_1028_4758 =
GETPROCADDRESS(0x493,(char *)CONCAT13(cVar4,CONCAT12(in_stack_0000fffa,DAT_1028_4781)));
DAT_1028_475a = in_DX;
DAT_1028_475c =
(code *)GETPROCADDRESS(0x4a3,(char *)CONCAT13(cVar4,CONCAT12(in_stack_0000fffa,
DAT_1028_4781)));
DAT_1028_475e = in_DX;
DAT_1028_4760 =
GETPROCADDRESS(0x4b0,(char *)CONCAT13(cVar4,CONCAT12(in_stack_0000fffa,DAT_1028_4781)));
DAT_1028_4762 = in_DX;
DAT_1028_4764 =
(code *)GETPROCADDRESS(0x4c3,(char *)CONCAT13(cVar4,CONCAT12(in_stack_0000fffa,
DAT_1028_4781)));
DAT_1028_4766 = in_DX;
DAT_1028_4768 =
(code *)GETPROCADDRESS(0x4cf,(char *)CONCAT13(cVar4,CONCAT12(in_stack_0000fffa,
DAT_1028_4781)));
DAT_1028_476a = in_DX;
DAT_1028_476c =
GETPROCADDRESS(0x4dd,(char *)CONCAT13(cVar4,CONCAT12(in_stack_0000fffa,DAT_1028_4781)));
DAT_1028_476e = in_DX;
if (DAT_1028_478c == '\0') {
DAT_1028_4770 =
GETPROCADDRESS(0x4ee,(char *)CONCAT13(cVar4,CONCAT12(in_stack_0000fffa,DAT_1028_4781)))
;
DAT_1028_4772 = in_DX;
}
else {
DAT_1028_4770 = 0;
DAT_1028_4772 = 0;
}
DAT_1028_4774 =
GETPROCADDRESS(0x501,(char *)CONCAT13(cVar4,CONCAT12(in_stack_0000fffa,DAT_1028_4781)));
DAT_1028_4776 = in_DX;
DAT_1028_4778 =
GETPROCADDRESS(0x512,(char *)CONCAT13(cVar4,CONCAT12(in_stack_0000fffa,DAT_1028_4781)));
DAT_1028_477a = in_DX;
uVar2 = GETCURRENTTASK();
iVar3 = (*DAT_1028_4768)(0x1228,uVar2);
DAT_1028_4784 = iVar3 != 0;
if ((bool)DAT_1028_4784) {
DAT_1028_477c = (*DAT_1028_4764)(0x1228);
iVar3 = (*DAT_1028_475c)(0x1228);
if ((iVar3 == 0) || (DAT_1028_477c < 9)) {
DAT_1028_4784 = false;
}
else {
DAT_1028_4784 = true;
}
}
if ((bool)DAT_1028_4784 == false) {
FUN_1010_0002();
cVar1 = DAT_1028_4784;
}
else {
DAT_1028_477f = param_2;
DAT_1028_4780 = param_1;
if ((DAT_1028_478c == '\0') && (param_3 != '\0')) {
iVar3 = (*DAT_1028_4750)(0x1228,DAT_1028_06fe);
DAT_1028_477e = iVar3 != 0;
cVar1 = DAT_1028_4784;
}
else {
DAT_1028_477e = 0;
cVar1 = DAT_1028_4784;
}
}
}
}
return cVar1;
}
/* ===== 1010:03af FUN_1010_03af ===== */
undefined2 __stdcall16far
FUN_1010_03af(undefined1 param_1,undefined1 param_2,undefined1 param_3,undefined2 param_4,
undefined2 param_5)
{
undefined2 uVar1;
uVar1 = FUN_1010_01c2(param_1,param_2,param_3,param_4,param_5);
DAT_1028_4783 = 0;
return uVar1;
}
/* ===== 1010:03e0 FUN_1010_03e0 ===== */
void __stdcall16far FUN_1010_03e0(undefined4 param_1)
{
int unaff_BP;
FUN_1010_0079(0x1028,unaff_BP + 1);
FUN_1018_1b08((int)param_1,(int)((ulong)param_1 >> 0x10),0);
FUN_1020_0439();
return;
}
/* ===== 1010:0405 FUN_1010_0405 ===== */
undefined1 __stdcall16far FUN_1010_0405(byte *param_1)
{
byte *pbVar1;
byte *pbVar2;
int iVar3;
uint uVar4;
int unaff_BP;
byte *pbVar5;
undefined2 unaff_SS;
undefined1 local_185 [128];
byte local_105;
byte abStack_104 [255];
undefined1 local_5;
undefined2 uStack_4;
int iStack_2;
iStack_2 = unaff_BP + 1;
uStack_4 = 0x1028;
pbVar5 = (byte *)param_1;
local_105 = *param_1;
pbVar2 = abStack_104;
for (uVar4 = (uint)local_105; pbVar5 = pbVar5 + 1, uVar4 != 0; uVar4 = uVar4 - 1) {
pbVar1 = pbVar2;
pbVar2 = pbVar2 + 1;
*pbVar1 = *pbVar5;
}
FUN_1020_0667(&local_105,unaff_SS,local_185,unaff_SS);
FUN_1020_06ab(1,local_185,unaff_SS);
iVar3 = FUN_1020_0388();
if (iVar3 == 0) {
local_5 = 1;
FUN_1020_072c(local_185,unaff_SS);
FUN_1020_038f();
}
else {
local_5 = 0;
}
return local_5;
}
/* ===== 1010:0472 FUN_1010_0472 ===== */
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */
void __cdecl16far FUN_1010_0472(void)
{
uint uVar1;
char cVar2;
undefined2 unaff_CS;
undefined2 unaff_SS;
undefined1 *puVar3;
undefined1 *puVar4;
undefined2 uVar5;
undefined2 uVar6;
undefined2 uVar7;
undefined1 local_202 [256];
undefined1 local_102 [256];
DAT_1028_47a2 = GETSYSTEMDIRECTORY(unaff_CS,200,0x47a4);
puVar4 = local_102;
uVar5 = unaff_SS;
FUN_1008_300a(0x47a4,0x1028);
FUN_1020_0a51(0x470,0x1008);
puVar3 = local_202;
uVar6 = unaff_SS;
FUN_1008_300a(0x522,0x1028);
FUN_1020_0a51(puVar3,uVar6);
FUN_1020_09ec(0xff,0x486d,0x1028,puVar4,uVar5);
puVar4 = local_102;
uVar5 = unaff_SS;
FUN_1008_300a(0x47a4,0x1028);
FUN_1020_0a51(0x470,0x1008);
puVar3 = local_202;
uVar6 = unaff_SS;
FUN_1008_300a(0x52c,0x1028);
FUN_1020_0a51(puVar3,uVar6);
FUN_1020_09ec(0xff,0x496d,0x1028,puVar4,uVar5);
if (DAT_1028_47a2 != 0) {
uVar7 = 0x1028;
uVar5 = 0x478d;
puVar4 = local_102;
uVar6 = unaff_SS;
FUN_1008_300a(0x52c,0x1028);
FUN_1008_2f2f(puVar4,uVar6,uVar5,uVar7);
cVar2 = FUN_1010_0405(0x496d,0x1028);
if (cVar2 == '\0') {
cVar2 = FUN_1010_0405(0x486d,0x1028);
if (cVar2 != '\0') {
uVar5 = 0x1028;
uVar6 = 0x478d;
puVar4 = local_102;
FUN_1008_300a(0x522,0x1028);
FUN_1008_2f2f(puVar4,unaff_SS,uVar6,uVar5);
}
}
}
DAT_1028_4750 = 0;
DAT_1028_4752 = 0;
DAT_1028_4754 = 0;
DAT_1028_4756 = 0;
DAT_1028_4758 = 0;
DAT_1028_475a = 0;
DAT_1028_475c = 0;
DAT_1028_475e = 0;
DAT_1028_4760 = 0;
DAT_1028_4762 = 0;
DAT_1028_4764 = 0;
DAT_1028_4766 = 0;
DAT_1028_4768 = 0;
DAT_1028_476a = 0;
DAT_1028_476c = 0;
DAT_1028_476e = 0;
DAT_1028_4770 = 0;
DAT_1028_4772 = 0;
DAT_1028_4774 = 0;
DAT_1028_4776 = 0;
DAT_1028_4778 = 0;
DAT_1028_477a = 0;
_DAT_1028_478a = GETVERSION();
uVar1 = _DAT_1028_478a;
if ((DAT_1028_478a == '\x03') && (DAT_1028_478b = (byte)(_DAT_1028_478a >> 8), DAT_1028_478b < 10)
) {
DAT_1028_478c = 1;
}
else {
DAT_1028_478c = 0;
}
DAT_1028_477e = 0;
DAT_1028_477f = 0;
DAT_1028_4780 = 1;
DAT_1028_4781 = 0;
DAT_1028_4783 = 0;
DAT_1028_4784 = 0;
_DAT_1028_478a = uVar1;
return;
}
/* ===== 1018:0002 FUN_1018_0002 ===== */
void __cdecl16near FUN_1018_0002(void)
{
int *piVar1;
int iVar2;
int iVar3;
int in_AX;
int iVar4;
int in_BX;
int *piVar5;
int *piVar6;
bool bVar7;
piVar5 = (int *)*(int *)(in_BX + 4);
if ((piVar5 != (int *)0x0) && (in_AX != piVar5[1])) {
bVar7 = false;
do {
iVar4 = piVar5[3];
piVar6 = piVar5 + 4;
do {
if (iVar4 == 0) break;
iVar4 = iVar4 + -1;
piVar1 = piVar6;
piVar6 = piVar6 + 1;
bVar7 = in_AX == *piVar1;
} while (!bVar7);
if (bVar7) {
iVar2 = piVar5[3];
iVar3 = *(int *)(in_BX + 4);
*(int *)(iVar3 + 2) = in_AX;
*(undefined2 *)(iVar3 + 4) = piVar6 + ((iVar2 + -1) * 2 - iVar4);
return;
}
piVar5 = (int *)*piVar5;
bVar7 = piVar5 == (int *)0x0;
} while (!bVar7);
}
return;
}
/* ===== 1018:0045 FUN_1018_0045 ===== */
void __stdcall16far FUN_1018_0045(undefined2 param_1,undefined2 param_2)
{
undefined2 unaff_CS;
SETPROP(unaff_CS,param_2,0x67a,0x1028);
SETPROP(0x1228,param_1,0x67e,0x1028);
return;
}
/* ===== 1018:0071 FUN_1018_0071 ===== */
void __stdcall16far FUN_1018_0071(void)
{
undefined2 unaff_CS;
REMOVEPROP(unaff_CS,0x67a,0x1028);
REMOVEPROP(0x1228,0x67e,0x1028);
return;
}
/* ===== 1018:0097 FUN_1018_0097 ===== */
undefined4 __stdcall16far FUN_1018_0097(int param_1)
{
int iVar1;
char *pcVar2;
undefined2 uVar3;
int iVar4;
undefined2 uVar5;
char *pcVar6;
iVar1 = ISWINDOW();
iVar4 = iVar1 >> 0xf;
uVar3 = 0;
if (iVar1 != 0) {
pcVar6 = (char *)GETWINDOWLONG(0x1228,0xfffc);
uVar5 = (undefined2)((ulong)pcVar6 >> 0x10);
pcVar2 = (char *)pcVar6;
if (((*pcVar6 == -0x18) && (-1 - (int)pcVar2 == *(int *)(pcVar2 + 1))) &&
(*(int *)0x2 == 0x2e5b)) {
uVar3 = *(undefined2 *)(pcVar2 + 3);
iVar4 = *(int *)(pcVar2 + 5);
}
else {
GETPROP(0x1228,0x67a,0x1028);
iVar4 = param_1;
uVar3 = GETPROP(0x1228,0x67e,0x1028);
}
}
return CONCAT22(iVar4,uVar3);
}
/* ===== 1018:0103 FUN_1018_0103 ===== */
void __cdecl16near FUN_1018_0103(void)
{
(*DAT_1028_0682)();
return;
}
/* ===== 1018:0133 FUN_1018_0133 ===== */
undefined4 __stdcall16far
FUN_1018_0133(undefined2 param_1,undefined2 param_2,undefined2 param_3,int param_4,int param_5)
{
int *in_BX;
undefined2 *unaff_DI;
undefined2 unaff_ES;
undefined2 unaff_SS;
in_BX[2] = param_5;
if (param_4 < 0) {
unaff_DI = (undefined2 *)(*in_BX + 0xc);
}
else {
FUN_1018_0002();
}
if (*(int *)&DAT_1028_0684 != 0) {
FUN_1018_0103();
}
(*(code *)*unaff_DI)();
return CONCAT22(param_3,param_4);
}
/* ===== 1018:018b FUN_1018_018b ===== */
void __stdcall16far
FUN_1018_018b(undefined2 param_1,undefined2 param_2,undefined2 param_3,undefined2 param_4,
undefined2 param_5)
{
undefined2 *puVar1;
undefined4 uVar2;
undefined2 unaff_CS;
undefined2 unaff_SS;
undefined2 uVar3;
uVar2 = *(undefined4 *)((int)*(undefined4 *)&DAT_1028_0676 + 0x12);
uVar3 = param_5;
SETWINDOWLONG(unaff_CS,(int)uVar2,(int)((ulong)uVar2 >> 0x10),0xfffc);
FUN_1018_0045((int)*(undefined4 *)&DAT_1028_0676,
(int)((ulong)*(undefined4 *)&DAT_1028_0676 >> 0x10),param_5);
puVar1 = (undefined2 *)((int)*(undefined4 *)&DAT_1028_0676 + 0x12);
(*(code *)*puVar1)(0x1018,param_1,param_2,param_3,param_4,param_5,uVar3);
return;
}
/* ===== 1018:01dc FUN_1018_01dc ===== */
undefined1 * __stdcall16far FUN_1018_01dc(undefined2 param_1,undefined2 param_2)
{
undefined1 *puVar1;
ushort arg1;
undefined2 *puVar2;
undefined2 uVar3;
undefined2 in_DX;
int iVar4;
undefined2 unaff_CS;
undefined4 local_10;
undefined4 local_c;
if (DAT_1028_066e == (undefined1 *)0x0 && DAT_1028_0670 == 0) {
arg1 = GLOBALALLOC(0x100,0);
puVar2 = (undefined2 *)GLOBALLOCK(arg1);
local_c = (undefined2 *)CONCAT22(in_DX,puVar2);
*local_c = DAT_1028_066c;
FUN_1020_16a5(5,puVar2 + 1,in_DX,0x686,0x1028);
uVar3 = DAT_1028_0674;
*(undefined2 *)((int)puVar2 + 7) = DAT_1028_0672;
*(undefined2 *)((int)puVar2 + 9) = uVar3;
local_10 = (undefined1 *)CONCAT22(in_DX,(undefined1 *)((int)puVar2 + 0xb));
do {
*local_10 = 0xe8;
iVar4 = (int)((ulong)local_10 >> 0x10);
*(int *)((undefined1 *)local_10 + 1) = -1 - (int)(undefined1 *)local_10;
*(undefined1 **)((undefined1 *)local_10 + 3) = DAT_1028_066e;
*(int *)((undefined1 *)local_10 + 5) = DAT_1028_0670;
DAT_1028_066e = (undefined1 *)local_10;
local_10._0_2_ = (undefined1 *)local_10 + 7;
local_10 = (undefined1 *)CONCAT22(iVar4,(undefined1 *)local_10);
DAT_1028_0670 = iVar4;
} while ((undefined1 *)local_10 != (undefined1 *)0x100);
unaff_CS = 0x1228;
DAT_1028_066c = in_DX;
PRESTOCHANGOSELECTOR(0x1020,in_DX);
}
iVar4 = DAT_1028_0670;
puVar1 = DAT_1028_066e;
uVar3 = ALLOCCSTODSALIAS(unaff_CS,DAT_1028_0670);
DAT_1028_066e = *(undefined1 **)(puVar1 + 3);
DAT_1028_0670 = *(int *)(puVar1 + 5);
*(undefined2 *)(puVar1 + 3) = param_1;
*(undefined2 *)(puVar1 + 5) = param_2;
FREESELECTOR(0x1228,uVar3);
return (undefined1 *)CONCAT22(iVar4,puVar1);
}
/* ===== 1018:02fa FUN_1018_02fa ===== */
void __stdcall16far FUN_1018_02fa(int param_1,undefined2 param_2)
{
undefined2 uVar1;
undefined2 uVar2;
int unaff_BP;
int iVar3;
undefined2 uVar4;
int iVar5;
undefined2 uVar6;
iVar3 = unaff_BP + 1;
uVar6 = 0x1028;
uVar4 = param_2;
iVar5 = param_1;
uVar2 = ALLOCCSTODSALIAS();
uVar1 = DAT_1028_0670;
*(undefined2 *)(iVar5 + 3) = DAT_1028_066e;
*(undefined2 *)(iVar5 + 5) = uVar1;
FREESELECTOR(0x1228,uVar2,uVar4,iVar5,uVar2,uVar6,iVar3);
DAT_1028_066e = param_1;
DAT_1028_0670 = param_2;
return;
}
/* ===== 1018:0341 FUN_1018_0341 ===== */
undefined4 __stdcall16far
FUN_1018_0341(undefined4 param_1,undefined2 param_2,undefined2 param_3,undefined2 param_4)
{
int unaff_BP;
int iVar1;
undefined2 uVar2;
bool bVar3;
undefined4 uVar4;
bVar3 = true;
FUN_1020_03ef(0x1028,unaff_BP + 1);
if (!bVar3) {
uVar2 = (undefined2)((ulong)param_1 >> 0x10);
iVar1 = (int)param_1;
FUN_1008_2d99(iVar1,uVar2,0);
*(undefined2 *)(iVar1 + 2) = 0;
*(undefined2 *)(iVar1 + 4) = 0;
*(undefined2 *)(iVar1 + 0x17) = 0;
*(undefined2 *)(iVar1 + 6) = param_3;
*(undefined2 *)(iVar1 + 8) = param_4;
if (*(int *)(iVar1 + 6) == 0 && *(int *)(iVar1 + 8) == 0) {
*(undefined2 *)(iVar1 + 0x19) = 0;
*(undefined2 *)(iVar1 + 0x1b) = 0;
}
else {
FUN_1018_069a((int)*(undefined4 *)(iVar1 + 6),(int)((ulong)*(undefined4 *)(iVar1 + 6) >> 0x10)
,iVar1,uVar2);
}
*(undefined2 *)(iVar1 + 10) = 0;
*(undefined2 *)(iVar1 + 0xc) = 0;
*(undefined2 *)(iVar1 + 0xe) = 0;
*(undefined2 *)(iVar1 + 0x10) = 0;
uVar4 = FUN_1018_01dc(iVar1,uVar2);
*(undefined2 *)(iVar1 + 0x12) = (int)uVar4;
*(undefined2 *)(iVar1 + 0x14) = (int)((ulong)uVar4 >> 0x10);
*(undefined1 *)(iVar1 + 0x16) = 0;
FUN_1018_060d(iVar1,uVar2);
}
return param_1;
}
/* ===== 1018:03e9 FUN_1018_03e9 ===== */
void __stdcall16far FUN_1018_03e9(undefined2 param_1,undefined4 param_2)
{
FUN_1008_2db3((int)param_2,(int)((ulong)param_2 >> 0x10));
return;
}
/* ===== 1018:03ff FUN_1018_03ff ===== */
void __stdcall16far FUN_1018_03ff(int *param_1)
{
int *piVar1;
undefined2 uVar2;
uVar2 = (undefined2)((ulong)param_1 >> 0x10);
piVar1 = (int *)param_1;
(*(code *)*(undefined2 *)(*param_1 + 0x24))();
FUN_1018_085a(piVar1,uVar2,0x3e9,0x1018);
if (piVar1[3] != 0 || piVar1[4] != 0) {
FUN_1018_071c((int)*(undefined4 *)(piVar1 + 3),(int)((ulong)*(undefined4 *)(piVar1 + 3) >> 0x10)
,piVar1,uVar2);
}
FUN_1018_02fa(piVar1[9],piVar1[10]);
FUN_1008_2dcd(piVar1,uVar2,0);
FUN_1020_0439();
return;
}
/* ===== 1018:0466 FUN_1018_0466 ===== */
undefined2 __stdcall16far FUN_1018_0466(int param_1,undefined4 param_2)
{
int iVar1;
undefined1 uVar2;
undefined2 unaff_SS;
iVar1 = *(int *)((int)param_2 + 0x17);
if ((*(int *)(param_1 + -6) < 0) || (iVar1 != *(int *)(param_1 + -6))) {
uVar2 = 0;
}
else {
uVar2 = 1;
}
return CONCAT11((char)((uint)iVar1 >> 8),uVar2);
}
/* ===== 1018:049e FUN_1018_049e ===== */
uint __stdcall16far FUN_1018_049e(undefined2 param_1,int *param_2)
{
uint uVar1;
int iVar2;
int unaff_BP;
int *piVar3;
undefined2 uVar4;
undefined1 local_58 [82];
char local_6;
undefined2 uStack_4;
int iStack_2;
iStack_2 = unaff_BP + 1;
uStack_4 = 0x1028;
uVar4 = (undefined2)((ulong)param_2 >> 0x10);
piVar3 = (int *)param_2;
uVar1 = FUN_1018_0673(piVar3,uVar4,4);
if ((char)uVar1 != '\0') {
uVar1 = (*(code *)*(undefined2 *)(*param_2 + 0x20))(0x1018,piVar3,uVar4);
if ((char)uVar1 == '\0') {
uVar1 = uVar1 & 0xff00;
goto LAB_1018_04d1;
}
}
uVar1 = CONCAT11((char)(uVar1 >> 8),1);
LAB_1018_04d1:
local_6 = (char)uVar1;
if (local_6 != '\0') {
iVar2 = ISICONIC(0x1018,piVar3[2]);
uVar1 = 0;
if (iVar2 != 0) {
GETWINDOWTEXT(0x1228,0x51,local_58);
uVar1 = SETWINDOWTEXT(0x1228,local_58);
}
}
uVar1 = uVar1 & 0xff00;
if (local_6 == '\0') {
uVar1 = uVar1 + 1;
}
return uVar1;
}
/* ===== 1018:0524 FUN_1018_0524 ===== */
undefined1 __stdcall16far FUN_1018_0524(undefined2 param_1,undefined4 param_2)
{
char cVar1;
undefined2 uVar2;
uVar2 = (undefined2)((ulong)param_2 >> 0x10);
if ((*(int *)((int)param_2 + 0x17) == 0) &&
(cVar1 = FUN_1018_049e(param_1,(int)param_2,uVar2), cVar1 != '\0')) {
return 1;
}
return 0;
}
/* ===== 1018:055c FUN_1018_055c ===== */
uint __stdcall16far FUN_1018_055c(undefined4 param_1)
{
uint uVar1;
int unaff_BP;
undefined2 uVar2;
long lVar3;
undefined4 uVar4;
char local_d;
int iStack_2;
iStack_2 = unaff_BP + 1;
local_d = '\0';
do {
uVar2 = (undefined2)((ulong)param_1 >> 0x10);
lVar3 = FUN_1018_080d((int)param_1,uVar2,0x466,0x1018);
uVar1 = 0;
if (lVar3 != 0) {
uVar1 = FUN_1018_049e(&iStack_2,lVar3);
local_d = (char)uVar1;
}
} while ((local_d == '\0') && (uVar1 = 0, lVar3 != 0));
if (local_d == '\0') {
uVar4 = FUN_1018_080d((int)param_1,uVar2,0x524,0x1018);
uVar1 = (uint)uVar4 | (uint)((ulong)uVar4 >> 0x10);
if (uVar1 == 0) {
return 1;
}
}
return uVar1 & 0xff00;
}
/* ===== 1018:05dc FUN_1018_05dc ===== */
undefined2 __stdcall16far FUN_1018_05dc(void)
{
return 0;
}
/* ===== 1018:05f3 FUN_1018_05f3 ===== */
void __stdcall16far FUN_1018_05f3(undefined4 param_1)
{
FUN_1018_0641((int)param_1,(int)((ulong)param_1 >> 0x10),1,1);
return;
}
/* ===== 1018:060d FUN_1018_060d ===== */
void __stdcall16far FUN_1018_060d(undefined4 param_1)
{
FUN_1018_0641((int)param_1,(int)((ulong)param_1 >> 0x10),1,4);
return;
}
/* ===== 1018:0627 FUN_1018_0627 ===== */
void __stdcall16far FUN_1018_0627(undefined4 param_1)
{
FUN_1018_0641((int)param_1,(int)((ulong)param_1 >> 0x10),0,4);
return;
}
/* ===== 1018:0641 FUN_1018_0641 ===== */
void __stdcall16far FUN_1018_0641(undefined4 param_1,char param_2,byte param_3)
{
int iVar1;
undefined2 uVar2;
iVar1 = (int)param_1;
uVar2 = (undefined2)((ulong)param_1 >> 0x10);
if (param_2 == '\0') {
*(byte *)(iVar1 + 0x16) = ~param_3 & *(byte *)(iVar1 + 0x16);
}
else {
*(byte *)(iVar1 + 0x16) = *(byte *)(iVar1 + 0x16) | param_3;
}
return;
}
/* ===== 1018:0673 FUN_1018_0673 ===== */
uint __stdcall16far FUN_1018_0673(undefined4 param_1,byte param_2)
{
uint in_AX;
uint uVar1;
uVar1 = in_AX & 0xff00;
if ((*(byte *)((int)param_1 + 0x16) & param_2) == param_2) {
uVar1 = uVar1 + 1;
}
return uVar1;
}
/* ===== 1018:069a FUN_1018_069a ===== */
void __stdcall16far FUN_1018_069a(undefined4 param_1,undefined4 param_2)
{
int iVar1;
int iVar2;
undefined2 uVar3;
undefined2 uVar4;
undefined2 uVar5;
if ((int)param_2 != 0 || param_2._2_2_ != 0) {
uVar3 = (undefined2)((ulong)param_1 >> 0x10);
iVar1 = (int)param_1;
if (*(int *)(iVar1 + 10) == 0 && *(int *)(iVar1 + 0xc) == 0) {
*(int *)(iVar1 + 10) = (int)param_2;
*(int *)(iVar1 + 0xc) = param_2._2_2_;
*(int *)((int)param_2 + 0x19) = (int)param_2;
*(int *)((int)param_2 + 0x1b) = param_2._2_2_;
}
else {
uVar4 = (undefined2)((ulong)*(undefined4 *)(iVar1 + 10) >> 0x10);
iVar2 = (int)*(undefined4 *)(iVar1 + 10);
uVar5 = *(undefined2 *)(iVar2 + 0x1b);
*(undefined2 *)((int)param_2 + 0x19) = *(undefined2 *)(iVar2 + 0x19);
*(undefined2 *)((int)param_2 + 0x1b) = uVar5;
uVar5 = (undefined2)((ulong)*(undefined4 *)(iVar1 + 10) >> 0x10);
iVar2 = (int)*(undefined4 *)(iVar1 + 10);
*(int *)(iVar2 + 0x19) = (int)param_2;
*(int *)(iVar2 + 0x1b) = param_2._2_2_;
*(int *)(iVar1 + 10) = (int)param_2;
*(int *)(iVar1 + 0xc) = param_2._2_2_;
}
}
return;
}
/* ===== 1018:071c FUN_1018_071c ===== */
void __stdcall16far FUN_1018_071c(undefined4 param_1,int param_2,int param_3)
{
int *piVar1;
int iVar2;
undefined2 uVar3;
undefined2 uVar4;
int local_c;
int iStack_a;
uVar3 = (undefined2)((ulong)param_1 >> 0x10);
iVar2 = (int)param_1;
if (*(int *)(iVar2 + 10) != 0 || *(int *)(iVar2 + 0xc) != 0) {
local_c = *(int *)(iVar2 + 10);
iStack_a = *(int *)(iVar2 + 0xc);
while (((*(int *)(local_c + 0x1b) != *(int *)(iVar2 + 0xc) ||
(*(int *)(local_c + 0x19) != *(int *)(iVar2 + 10))) &&
((*(int *)(local_c + 0x1b) != param_3 || (*(int *)(local_c + 0x19) != param_2))))) {
piVar1 = (int *)(local_c + 0x19);
iStack_a = *(int *)(local_c + 0x1b);
local_c = *piVar1;
}
if ((*(int *)(local_c + 0x1b) == param_3) && (*(int *)(local_c + 0x19) == param_2)) {
if ((*(int *)(local_c + 0x1b) == iStack_a) && (*(int *)(local_c + 0x19) == local_c)) {
*(undefined2 *)(iVar2 + 10) = 0;
*(undefined2 *)(iVar2 + 0xc) = 0;
}
else {
if ((*(int *)(local_c + 0x1b) == *(int *)(iVar2 + 0xc)) &&
(*(int *)(local_c + 0x19) == *(int *)(iVar2 + 10))) {
*(int *)(iVar2 + 10) = local_c;
*(int *)(iVar2 + 0xc) = iStack_a;
}
uVar4 = (undefined2)((ulong)*(undefined4 *)(local_c + 0x19) >> 0x10);
iVar2 = (int)*(undefined4 *)(local_c + 0x19);
uVar3 = *(undefined2 *)(iVar2 + 0x1b);
*(undefined2 *)(local_c + 0x19) = *(undefined2 *)(iVar2 + 0x19);
*(undefined2 *)(local_c + 0x1b) = uVar3;
}
}
}
return;
}
/* ===== 1018:080d FUN_1018_080d ===== */
undefined4 __stdcall16far FUN_1018_080d(undefined4 param_1,code *param_2)
{
undefined4 uVar1;
char cVar2;
int iVar3;
int iVar4;
int iVar5;
int iVar6;
int iVar7;
uVar1 = *(undefined4 *)((int)param_1 + 10);
iVar5 = (int)((ulong)uVar1 >> 0x10);
iVar3 = (int)uVar1;
iVar4 = iVar3;
iVar6 = iVar5;
iVar7 = iVar5;
if (iVar5 != 0 || iVar3 != 0) {
do {
iVar6 = (int)((ulong)*(undefined4 *)(iVar4 + 0x19) >> 0x10);
iVar4 = (int)*(undefined4 *)(iVar4 + 0x19);
cVar2 = (*param_2)();
if (cVar2 != '\0') goto LAB_1018_084f;
iVar7 = iVar6;
} while ((iVar4 != iVar3) || (iVar6 != iVar5));
iVar4 = 0;
iVar6 = 0;
}
LAB_1018_084f:
return CONCAT22(iVar6,iVar4);
}
/* ===== 1018:085a FUN_1018_085a ===== */
void __stdcall16far FUN_1018_085a(undefined4 param_1,code *param_2)
{
int iVar1;
undefined4 uVar2;
int iVar3;
int iVar4;
int iVar5;
int iVar6;
uVar2 = *(undefined4 *)((int)param_1 + 10);
iVar5 = (int)((ulong)uVar2 >> 0x10);
iVar3 = (int)uVar2;
if (iVar5 != 0 || iVar3 != 0) {
iVar4 = (int)*(undefined4 *)(iVar3 + 0x19);
iVar6 = (int)((ulong)*(undefined4 *)(iVar3 + 0x19) >> 0x10);
while ((iVar4 != iVar3 || (iVar6 != iVar5))) {
iVar1 = *(int *)(iVar4 + 0x1b);
iVar4 = *(int *)(iVar4 + 0x19);
(*param_2)();
iVar6 = iVar1;
}
(*param_2)();
}
return;
}
/* ===== 1018:08ac FUN_1018_08ac ===== */
undefined2 __stdcall16far FUN_1018_08ac(void)
{
return 0xffff;
}
/* ===== 1018:08c3 FUN_1018_08c3 ===== */
void __stdcall16far
FUN_1018_08c3(undefined2 param_1,undefined2 param_2,undefined2 *param_3,undefined4 param_4)
{
undefined2 *puVar1;
int unaff_BP;
FUN_1018_0002((int)param_4,(int)((ulong)param_4 >> 0x10),(undefined2 *)param_3,
(int)((ulong)param_3 >> 0x10),0x1028,unaff_BP + 1);
if (DAT_1028_0684 != 0) {
FUN_1018_0103();
}
puVar1 = (undefined2 *)param_3;
(*(code *)*puVar1)();
return;
}
/* ===== 1018:08f0 FUN_1018_08f0 ===== */
void __stdcall16far FUN_1018_08f0(int *param_1,undefined4 param_2)
{
char cVar1;
int iVar2;
uint uVar3;
int *piVar4;
int iVar5;
int iVar6;
undefined2 uVar7;
undefined2 uVar8;
int *piVar9;
long lVar10;
int iVar11;
int iVar12;
int local_6;
iVar12 = 1;
iVar6 = (int)((ulong)param_1 >> 0x10);
piVar4 = (int *)param_1;
uVar8 = 0x1018;
iVar11 = iVar6;
cVar1 = FUN_1018_0673(param_1,1);
iVar5 = (int)param_2;
uVar7 = (undefined2)((ulong)param_2 >> 0x10);
if ((cVar1 != '\0') && (*(int *)(iVar5 + 6) == 0 && *(int *)(iVar5 + 8) == 0)) {
iVar12 = piVar4[2];
iVar11 = *(int *)(iVar5 + 4);
uVar8 = 0x1228;
iVar2 = GETDLGITEM(0x1018,iVar11);
if (iVar2 != 0) {
uVar8 = 0x1228;
iVar11 = iVar2;
uVar3 = SENDMESSAGE(0x1228,0,0,0,0x87);
if ((uVar3 & 0x30) != 0) {
*(int *)(iVar5 + 6) = iVar2;
*(undefined2 *)(iVar5 + 8) = 0;
}
}
}
if (*(int *)(iVar5 + 6) == 0) {
if (*(uint *)(iVar5 + 4) < 0x6000) {
local_6 = GETFOCUS(uVar8);
piVar9 = (int *)FUN_1018_0097(local_6);
while (((piVar9 == (int *)0x0 && (local_6 != 0)) && (local_6 != piVar4[2]))) {
local_6 = GETPARENT(0x1018,local_6);
piVar9 = (int *)FUN_1018_0097(local_6);
}
if (piVar9 == (int *)0x0) {
piVar9 = param_1;
}
FUN_1018_08c3(0x10,*(int *)(iVar5 + 4) + -0x6000,iVar5,uVar7,piVar9);
}
else {
(*(code *)*(undefined2 *)(*param_1 + 0xc))(uVar8,param_1,iVar5,uVar7,iVar11,iVar12);
}
}
else {
iVar12 = piVar4[2];
uVar8 = GETDLGITEM(uVar8,*(undefined2 *)(iVar5 + 4));
lVar10 = FUN_1018_0097(uVar8);
if ((lVar10 == 0) || (0xfff < *(uint *)(iVar5 + 8))) {
if (*(uint *)(iVar5 + 4) < 0x1000) {
FUN_1018_08c3(0x14,*(int *)(iVar5 + 4) + -0x8000,iVar5,uVar7,param_1);
}
else {
(*(code *)*(undefined2 *)(*param_1 + 0x14))(0x1018,param_1,iVar5,uVar7,iVar12);
}
}
else {
FUN_1018_08c3(0x18,*(int *)(iVar5 + 8) + -0x7000,iVar5,uVar7,lVar10);
}
}
return;
}
/* ===== 1018:0a85 FUN_1018_0a85 ===== */
void __stdcall16far FUN_1018_0a85(int *param_1,undefined4 param_2)
{
uint uVar1;
int iVar2;
undefined2 uVar3;
undefined2 uVar4;
long lVar5;
undefined2 uVar6;
uVar3 = (undefined2)((ulong)param_2 >> 0x10);
iVar2 = (int)param_2;
uVar4 = (undefined2)((ulong)param_1 >> 0x10);
if (*(int *)(iVar2 + 8) == 0) {
(*(code *)*(undefined2 *)(*param_1 + 0xc))();
}
else {
lVar5 = FUN_1018_0097(*(undefined2 *)(iVar2 + 8));
if (lVar5 == 0) {
uVar6 = *(undefined2 *)(iVar2 + 8);
uVar1 = GETWINDOWWORD(0x1018,0xfff4);
if (uVar1 < 0x1000) {
FUN_1018_08c3(0x14,uVar1 + 0x8000,iVar2,uVar3,(int *)param_1,uVar4);
}
else {
(*(code *)*(undefined2 *)(*param_1 + 0x14))(0x1228,(int *)param_1,uVar4,iVar2,uVar3,uVar6);
}
}
else {
FUN_1018_08c3(0x18,*(int *)(iVar2 + 4) + -0x7000,iVar2,uVar3,lVar5);
}
}
return;
}
/* ===== 1018:0b25 FUN_1018_0b25 ===== */
void __stdcall16far FUN_1018_0b25(int *param_1,undefined4 param_2)
{
uint extraout_DX;
int unaff_BP;
int iVar1;
int *piVar2;
undefined2 uVar3;
undefined2 uVar4;
undefined2 unaff_CS;
int iVar5;
undefined2 uVar6;
iVar1 = unaff_BP + 1;
uVar6 = 0x1028;
uVar3 = (undefined2)((ulong)param_1 >> 0x10);
piVar2 = (int *)param_1;
iVar5 = piVar2[2];
GETWINDOWLONG(unaff_CS,0xfff0);
uVar4 = (undefined2)((ulong)param_2 >> 0x10);
if ((extraout_DX & 0x20) == 0) {
(*(code *)*(undefined2 *)(*param_1 + 0x48))(0x1228,piVar2,uVar3,(int)param_2,uVar4);
}
else {
(*(code *)*(undefined2 *)(*param_1 + 0xc))
(0x1228,piVar2,uVar3,(int)param_2,uVar4,iVar5,uVar6,iVar1);
}
return;
}
/* ===== 1018:0b6c FUN_1018_0b6c ===== */
void __stdcall16far FUN_1018_0b6c(int *param_1,undefined4 param_2)
{
uint extraout_DX;
int unaff_BP;
int iVar1;
int *piVar2;
undefined2 uVar3;
undefined2 uVar4;
undefined2 unaff_CS;
int iVar5;
undefined2 uVar6;
iVar1 = unaff_BP + 1;
uVar6 = 0x1028;
uVar3 = (undefined2)((ulong)param_1 >> 0x10);
piVar2 = (int *)param_1;
iVar5 = piVar2[2];
GETWINDOWLONG(unaff_CS,0xfff0);
uVar4 = (undefined2)((ulong)param_2 >> 0x10);
if ((extraout_DX & 0x10) == 0) {
(*(code *)*(undefined2 *)(*param_1 + 0x48))(0x1228,piVar2,uVar3,(int)param_2,uVar4);
}
else {
(*(code *)*(undefined2 *)(*param_1 + 0xc))
(0x1228,piVar2,uVar3,(int)param_2,uVar4,iVar5,uVar6,iVar1);
}
return;
}
/* ===== 1018:0bb3 FUN_1018_0bb3 ===== */
void __stdcall16far FUN_1018_0bb3(int *param_1,int *param_2)
{
int unaff_BP;
int iVar1;
int *piVar2;
int *piVar3;
undefined2 uVar4;
undefined2 uVar5;
undefined2 unaff_CS;
long lVar6;
undefined2 uVar7;
iVar1 = unaff_BP + 1;
uVar7 = 0x1028;
uVar4 = (undefined2)((ulong)param_1 >> 0x10);
piVar2 = (int *)param_1;
if (*param_2 == piVar2[2]) {
lVar6 = 0;
}
else if (piVar2[3] == 0 && piVar2[4] == 0) {
unaff_CS = 0x1018;
lVar6 = FUN_1018_0097(*param_2);
}
else {
lVar6 = CONCAT22(piVar2[4],piVar2[3]);
}
piVar3 = (int *)param_2;
uVar5 = (undefined2)((ulong)param_2 >> 0x10);
if (lVar6 == 0) {
(*(code *)*(undefined2 *)(*param_1 + 0xc))(unaff_CS,piVar2,uVar4,piVar3,uVar5,0,0,uVar7,iVar1);
}
else {
FUN_1018_08c3(0x10,piVar3[2] + -0x6000,piVar3,uVar5,lVar6);
}
return;
}
/* ===== 1018:0c3d FUN_1018_0c3d ===== */
void __stdcall16far FUN_1018_0c3d(int *param_1)
{
(*(code *)*(undefined2 *)(*param_1 + 0xc))();
return;
}
/* ===== 1018:0c59 FUN_1018_0c59 ===== */
void __stdcall16far FUN_1018_0c59(undefined4 param_1,undefined4 param_2)
{
int iVar1;
int iVar2;
undefined2 uVar3;
undefined2 uVar4;
undefined2 unaff_CS;
undefined2 uVar5;
uVar3 = (undefined2)((ulong)param_1 >> 0x10);
iVar1 = (int)param_1;
if (*(int *)(iVar1 + 6) != 0 || *(int *)(iVar1 + 8) != 0) {
uVar4 = (undefined2)((ulong)param_2 >> 0x10);
iVar2 = (int)param_2;
if (*(int *)(iVar2 + 2) == 0x111) {
FUN_1018_08c3(0x14,*(int *)(iVar2 + 4) + -0x8000,iVar2,uVar4,*(undefined2 *)(iVar1 + 6),
*(undefined2 *)(iVar1 + 8));
}
else {
uVar5 = *(undefined2 *)(iVar1 + 6);
uVar3 = *(undefined2 *)(iVar1 + 4);
iVar1 = GETWINDOWWORD(unaff_CS,0xfff4);
FUN_1018_08c3(0x14,iVar1 + -0x8000,uVar3,iVar2,uVar4,uVar5);
}
}
return;
}
/* ===== 1018:0cc7 FUN_1018_0cc7 ===== */
void __stdcall16far FUN_1018_0cc7(undefined2 param_1,undefined4 param_2)
{
undefined2 uVar1;
uVar1 = (undefined2)((ulong)param_2 >> 0x10);
if (*(int *)((int)param_2 + 4) != 0) {
FUN_1018_060d((int)param_2,uVar1);
}
return;
}
/* ===== 1018:0ce7 FUN_1018_0ce7 ===== */
void __stdcall16far FUN_1018_0ce7(undefined4 param_1)
{
int *piVar1;
char cVar2;
int unaff_BP;
int iVar3;
int iVar4;
undefined2 uVar5;
long lVar6;
undefined2 uVar7;
iVar3 = unaff_BP + 1;
uVar7 = 0x1028;
uVar5 = (undefined2)((ulong)param_1 >> 0x10);
iVar4 = (int)param_1;
if (*(int *)(iVar4 + 4) != 0) {
FUN_1018_085a(iVar4,uVar5,0xcc7,0x1018);
cVar2 = FUN_1018_0673(iVar4,uVar5,8);
if (cVar2 != '\0') {
piVar1 = (int *)*(undefined4 *)(iVar4 + 6);
lVar6 = (*(code *)*(undefined2 *)(*piVar1 + 0x30))
(0x1018,(int *)piVar1,(int)((ulong)piVar1 >> 0x10),uVar7,iVar3);
if (lVar6 != 0) {
piVar1 = (int *)*(undefined4 *)(iVar4 + 6);
(*(code *)*(undefined2 *)(*piVar1 + 0x30))
(0x1018,(int *)piVar1,(int)((ulong)piVar1 >> 0x10));
SENDMESSAGE(0x1018,0,0,*(undefined2 *)(iVar4 + 4),0x221);
return;
}
}
DESTROYWINDOW(0x1018,*(undefined2 *)(iVar4 + 4));
}
return;
}
/* ===== 1018:0d6a FUN_1018_0d6a ===== */
char * __stdcall16far FUN_1018_0d6a(void)
{
return s_TurboWindow_1028_068c;
}
/* ===== 1018:0d8a FUN_1018_0d8a ===== */
void __stdcall16far FUN_1018_0d8a(void)
{
int unaff_BP;
FUN_1008_2d87(0x1028,unaff_BP + 1);
return;
}
/* ===== 1018:0d9b FUN_1018_0d9b ===== */
void __stdcall16far FUN_1018_0d9b(int *param_1)
{
char cVar1;
int unaff_BP;
int iVar2;
int *piVar3;
undefined2 uVar4;
undefined2 uVar5;
iVar2 = unaff_BP + 1;
uVar5 = 0x1028;
uVar4 = (undefined2)((ulong)param_1 >> 0x10);
piVar3 = (int *)param_1;
cVar1 = FUN_1018_055c(piVar3,uVar4);
if (cVar1 == '\0') {
piVar3[1] = -4;
}
else {
(*(code *)*(undefined2 *)(*param_1 + 0x44))(0x1018,piVar3,uVar4,2,uVar5,iVar2);
}
return;
}
/* ===== 1018:0dcd FUN_1018_0dcd ===== */
void __stdcall16far FUN_1018_0dcd(int param_1,int *param_2)
{
char cVar1;
int unaff_BP;
int iVar2;
undefined2 uVar3;
undefined2 unaff_SS;
undefined2 uVar4;
iVar2 = unaff_BP + 1;
uVar4 = 0x1028;
uVar3 = (undefined2)((ulong)param_2 >> 0x10);
cVar1 = FUN_1018_0673((int *)param_2,uVar3,0x10);
if (cVar1 != '\0') {
iVar2 = (*(code *)*(undefined2 *)(*param_2 + 0x40))
(0x1018,(int *)param_2,uVar3,*(undefined2 *)(param_1 + 10),
*(undefined2 *)(param_1 + -6),*(undefined2 *)(param_1 + -4),uVar4,iVar2);
*(int *)(param_1 + -6) = *(int *)(param_1 + -6) + iVar2;
}
return;
}
/* ===== 1018:0e0a FUN_1018_0e0a ===== */
void __stdcall16far FUN_1018_0e0a(undefined4 param_1)
{
int iVar1;
undefined2 uVar2;
uVar2 = (undefined2)((ulong)param_1 >> 0x10);
iVar1 = (int)param_1;
if (*(int *)(iVar1 + 0xe) != 0 || *(int *)(iVar1 + 0x10) != 0) {
FUN_1018_085a(iVar1,uVar2,0xdcd,0x1018);
}
return;
}
/* ===== 1018:0e46 FUN_1018_0e46 ===== */
undefined1 __stdcall16far FUN_1018_0e46(int *param_1)
{
int iVar1;
int unaff_BP;
undefined2 unaff_CS;
undefined2 unaff_SS;
undefined4 uVar2;
undefined1 local_20 [27];
undefined1 local_5;
undefined2 uStack_4;
int iStack_2;
iStack_2 = unaff_BP + 1;
uStack_4 = 0x1028;
local_5 = 1;
uVar2 = (*(code *)*(undefined2 *)(*param_1 + 0x2c))();
iVar1 = GETCLASSINFO(unaff_CS,local_20,unaff_SS,uVar2);
if (iVar1 == 0) {
(*(code *)*(undefined2 *)(*param_1 + 0x34))
(0x1228,(int *)param_1,(int)((ulong)param_1 >> 0x10),local_20);
iVar1 = REGISTERCLASS(0x1228,local_20);
local_5 = iVar1 != 0;
}
return local_5;
}
/* ===== 1018:0e9e FUN_1018_0e9e ===== */
void __stdcall16far FUN_1018_0e9e(undefined4 param_1,undefined2 param_2)
{
undefined2 unaff_CS;
if (*(int *)((int)param_1 + 4) != 0) {
SHOWWINDOW(unaff_CS,param_2);
}
return;
}
/* ===== 1018:0ec0 FUN_1018_0ec0 ===== */
undefined1 __stdcall16far FUN_1018_0ec0(undefined2 param_1,int *param_2)
{
char cVar1;
if ((((int *)param_2)[2] != 0) &&
(cVar1 = (*(code *)*(undefined2 *)(*param_2 + 0x3c))(), cVar1 == '\0')) {
return 1;
}
return 0;
}
/* ===== 1018:0ef4 FUN_1018_0ef4 ===== */
uint __stdcall16far FUN_1018_0ef4(undefined4 param_1)
{
uint uVar1;
uint uVar2;
undefined4 uVar3;
uVar3 = FUN_1018_080d((int)param_1,(int)((ulong)param_1 >> 0x10),0xec0,0x1018);
uVar1 = (uint)uVar3 | (uint)((ulong)uVar3 >> 0x10);
uVar2 = uVar1 & 0xff00;
if (uVar1 == 0) {
uVar2 = 1;
}
return uVar2;
}
/* ===== 1018:0f22 FUN_1018_0f22 ===== */
void __stdcall16far FUN_1018_0f22(undefined4 param_1)
{
FUN_1018_0f38((int)param_1,(int)((ulong)param_1 >> 0x10));
return;
}
/* ===== 1018:0f38 FUN_1018_0f38 ===== */
void __stdcall16far FUN_1018_0f38(int *param_1)
{
int iVar1;
undefined2 uVar2;
char local_5;
iVar1 = (int)((ulong)param_1 >> 0x10);
uVar2 = (undefined2)((ulong)DAT_1028_064e >> 0x10);
if ((iVar1 == ((int *)DAT_1028_064e)[5]) && ((int *)param_1 == (int *)((int *)DAT_1028_064e)[4]))
{
local_5 = (*(code *)*(undefined2 *)(*DAT_1028_064e + 0x44))();
}
else {
local_5 = (*(code *)*(undefined2 *)(*param_1 + 0x3c))();
}
if (local_5 != '\0') {
FUN_1008_2db3((int *)param_1,iVar1);
}
return;
}
/* ===== 1018:0f8d FUN_1018_0f8d ===== */
void __stdcall16far FUN_1018_0f8d(int *param_1,undefined4 param_2)
{
int iVar1;
undefined2 uVar2;
undefined2 unaff_CS;
iVar1 = (int)((ulong)param_1 >> 0x10);
uVar2 = (undefined2)((ulong)DAT_1028_064e >> 0x10);
if ((iVar1 == *(int *)((int)DAT_1028_064e + 10)) &&
((int *)param_1 == (int *)*(int *)((int)DAT_1028_064e + 8))) {
unaff_CS = 0x1228;
POSTQUITMESSAGE();
}
(*(code *)*(undefined2 *)(*param_1 + 0xc))
(unaff_CS,(int *)param_1,iVar1,(int)param_2,(int)((ulong)param_2 >> 0x10));
return;
}
/* ===== 1018:0fcc FUN_1018_0fcc ===== */
void __stdcall16far FUN_1018_0fcc(int *param_1,undefined4 param_2)
{
int unaff_BP;
int iVar1;
int *piVar2;
undefined2 uVar3;
undefined2 uVar4;
iVar1 = unaff_BP + 1;
uVar4 = 0x1028;
uVar3 = (undefined2)((ulong)param_1 >> 0x10);
piVar2 = (int *)param_1;
FUN_1018_0071(piVar2[2]);
(*(code *)*(undefined2 *)(*param_1 + 0xc))
(0x1018,piVar2,uVar3,(int)param_2,(int)((ulong)param_2 >> 0x10),uVar4,iVar1);
piVar2[2] = 0;
return;
}
/* ===== 1018:0ffd FUN_1018_0ffd ===== */
void __stdcall16far FUN_1018_0ffd(int *param_1,undefined4 param_2)
{
char cVar1;
undefined2 uVar2;
undefined2 uVar3;
uVar2 = (undefined2)((ulong)param_1 >> 0x10);
(*(code *)*(undefined2 *)(*param_1 + 0xc))();
if (*(int *)((int)param_2 + 4) != 0) {
cVar1 = FUN_1018_0673((int *)param_1,uVar2,1);
uVar3 = (undefined2)((ulong)DAT_1028_064e >> 0x10);
if (cVar1 == '\0') {
FUN_1018_1bdf((int)DAT_1028_064e,uVar3,0,0);
}
else {
FUN_1018_1bdf((int)DAT_1028_064e,uVar3,(int *)param_1,uVar2);
}
}
return;
}
/* ===== 1018:1054 FUN_1018_1054 ===== */
void __stdcall16far FUN_1018_1054(int *param_1,undefined4 param_2)
{
char cVar1;
int iVar2;
undefined2 uVar3;
undefined2 uVar4;
uVar3 = (undefined2)((ulong)DAT_1028_064e >> 0x10);
iVar2 = (int)param_2;
uVar4 = (undefined2)((ulong)param_2 >> 0x10);
if (((int)((ulong)param_1 >> 0x10) == ((int *)DAT_1028_064e)[5]) &&
((int *)param_1 == (int *)((int *)DAT_1028_064e)[4])) {
cVar1 = (*(code *)*(undefined2 *)(*DAT_1028_064e + 0x44))();
*(int *)(iVar2 + 10) = (int)cVar1;
*(int *)(iVar2 + 0xc) = (int)cVar1 >> 0xf;
}
else {
cVar1 = (*(code *)*(undefined2 *)(*param_1 + 0x3c))();
*(int *)(iVar2 + 10) = (int)cVar1;
*(int *)(iVar2 + 0xc) = (int)cVar1 >> 0xf;
}
return;
}
/* ===== 1018:10aa FUN_1018_10aa ===== */
void __stdcall16far FUN_1018_10aa(int *param_1)
{
int iVar1;
undefined2 uVar2;
iVar1 = (int)((ulong)param_1 >> 0x10);
uVar2 = (undefined2)((ulong)DAT_1028_064e >> 0x10);
if ((iVar1 == *(int *)((int)DAT_1028_064e + 10)) &&
((int *)param_1 == (int *)*(int *)((int)DAT_1028_064e + 8))) {
FUN_1018_0f38((int *)param_1,iVar1);
}
else {
(*(code *)*(undefined2 *)(*param_1 + 0x10))();
}
return;
}
/* ===== 1018:10e9 FUN_1018_10e9 ===== */
undefined4 __stdcall16far FUN_1018_10e9(void)
{
return 0;
}
/* ===== 1018:1106 FUN_1018_1106 ===== */
undefined4 __stdcall16far
FUN_1018_1106(undefined4 param_1,undefined2 param_2,undefined2 param_3,undefined2 param_4,
int *param_5)
{
int unaff_BP;
int iVar1;
int iVar2;
undefined2 *puVar3;
undefined2 uVar4;
undefined2 uVar5;
bool bVar6;
undefined4 uVar7;
long lVar8;
undefined2 *puVar9;
undefined2 uVar10;
iVar1 = unaff_BP + 1;
uVar10 = 0x1028;
bVar6 = true;
FUN_1020_03ef();
if (!bVar6) {
uVar4 = (undefined2)((ulong)param_1 >> 0x10);
iVar2 = (int)param_1;
FUN_1018_0341(iVar2,uVar4,0,(int *)param_5,param_5._2_2_);
puVar9 = (undefined2 *)CONCAT22(uVar4,(undefined2 *)(iVar2 + 0x1d));
uVar7 = FUN_1008_302c(param_3,param_4);
uVar5 = (undefined2)((ulong)puVar9 >> 0x10);
puVar3 = (undefined2 *)puVar9;
*puVar9 = (int)uVar7;
puVar3[1] = (int)((ulong)uVar7 >> 0x10);
*(undefined2 *)(iVar2 + 0x37) = 0x22c;
*(undefined2 *)(iVar2 + 0x39) = 0x1228;
if ((int *)param_5 == (int *)0x0 && param_5._2_2_ == 0) {
puVar3[2] = 0;
puVar3[3] = 0xcf;
}
else {
lVar8 = (*(code *)*(undefined2 *)(*param_5 + 0x30))
(0x1008,(int *)param_5,param_5._2_2_,puVar9,uVar10,iVar1);
if (lVar8 == 0) {
uVar10 = (undefined2)((ulong)puVar9 >> 0x10);
((undefined2 *)puVar9)[2] = 0;
((undefined2 *)puVar9)[3] = 0x1000;
}
else {
FUN_1018_0641(iVar2,uVar4,1,8);
*(undefined2 *)(iVar2 + 0x37) = 0x2b0;
*(undefined2 *)(iVar2 + 0x39) = 0x1228;
uVar10 = (undefined2)((ulong)puVar9 >> 0x10);
((undefined2 *)puVar9)[2] = 0;
((undefined2 *)puVar9)[3] = 0x400;
}
}
uVar10 = (undefined2)((ulong)puVar9 >> 0x10);
puVar3 = (undefined2 *)puVar9;
puVar3[4] = 0;
puVar3[5] = 0;
puVar3[6] = 0x8000;
puVar3[7] = 0;
puVar3[8] = 0x8000;
puVar3[9] = 0;
puVar3[10] = 0;
puVar3[0xb] = 0;
puVar3[0xc] = 0;
*(undefined2 *)(iVar2 + 0x3b) = 0;
*(undefined2 *)(iVar2 + 0x3d) = 0;
*(undefined2 *)(iVar2 + 0x3f) = 0;
}
return param_1;
}
/* ===== 1018:121b FUN_1018_121b ===== */
void __stdcall16far FUN_1018_121b(undefined4 param_1)
{
int *piVar1;
uint uVar2;
int unaff_BP;
int iVar3;
int iVar4;
undefined2 uVar5;
undefined2 uVar6;
iVar3 = unaff_BP + 1;
uVar6 = 0x1028;
uVar5 = (undefined2)((ulong)param_1 >> 0x10);
iVar4 = (int)param_1;
FUN_1008_3099(*(undefined2 *)(iVar4 + 0x1d),*(undefined2 *)(iVar4 + 0x1f));
uVar2 = *(uint *)(iVar4 + 0x3b) | *(uint *)(iVar4 + 0x3d);
if (uVar2 != 0) {
piVar1 = (int *)*(undefined4 *)(iVar4 + 0x3b);
(*(code *)*(undefined2 *)(*piVar1 + 8))
(0x1008,(int *)piVar1,(int)((ulong)piVar1 >> 0x10),CONCAT11((char)(uVar2 >> 8),1),
uVar6,iVar3);
*(undefined2 *)(iVar4 + 0x3b) = 0;
*(undefined2 *)(iVar4 + 0x3d) = 0;
}
FUN_1018_03ff(iVar4,uVar5,0);
FUN_1020_0439();
return;
}
/* ===== 1018:1274 FUN_1018_1274 ===== */
void __stdcall16far FUN_1018_1274(int *param_1,undefined2 *param_2)
{
undefined2 uVar1;
int unaff_BP;
int iVar2;
undefined2 *puVar3;
undefined2 uVar4;
undefined2 unaff_CS;
undefined4 uVar5;
undefined2 uVar6;
undefined2 uVar7;
undefined2 uVar8;
iVar2 = unaff_BP + 1;
uVar8 = 0x1028;
uVar4 = (undefined2)((ulong)param_2 >> 0x10);
puVar3 = (undefined2 *)param_2;
puVar3[3] = 0;
puVar3[4] = 0;
puVar3[5] = DAT_1028_06fe;
uVar7 = 0;
uVar1 = LOADICON(unaff_CS,0x7f00,0);
puVar3[6] = uVar1;
uVar6 = 0;
uVar1 = LOADCURSOR(0x1228,0x7f00,0);
puVar3[7] = uVar1;
puVar3[8] = 6;
puVar3[9] = 0;
puVar3[10] = 0;
uVar5 = (*(code *)*(undefined2 *)(*param_1 + 0x2c))
(0x1228,(int *)param_1,(int)((ulong)param_1 >> 0x10),uVar6,uVar7,uVar8,iVar2);
puVar3[0xb] = (int)uVar5;
puVar3[0xc] = (int)((ulong)uVar5 >> 0x10);
*param_2 = 3;
puVar3[1] = 0x18b;
puVar3[2] = 0x1018;
return;
}
/* ===== 1018:12f5 FUN_1018_12f5 ===== */
undefined2 __stdcall16far FUN_1018_12f5(undefined4 param_1)
{
return *(undefined2 *)((int)param_1 + 0x35);
}
/* ===== 1018:1311 FUN_1018_1311 ===== */
void __stdcall16far FUN_1018_1311(undefined4 param_1,undefined4 param_2)
{
int iVar1;
undefined2 uVar2;
undefined2 uVar3;
undefined2 unaff_CS;
undefined4 uVar4;
uVar2 = (undefined2)((ulong)param_1 >> 0x10);
uVar3 = (undefined2)((ulong)param_2 >> 0x10);
iVar1 = (int)param_2;
uVar4 = CALLWINDOWPROC(unaff_CS,*(undefined2 *)(iVar1 + 6),*(undefined2 *)(iVar1 + 8),
*(undefined2 *)(iVar1 + 4),*(undefined2 *)(iVar1 + 2),
*(undefined2 *)((int)param_1 + 4),*(undefined2 *)((int)param_1 + 0x37));
*(undefined2 *)(iVar1 + 10) = (int)uVar4;
*(undefined2 *)(iVar1 + 0xc) = (int)((ulong)uVar4 >> 0x10);
return;
}
/* ===== 1018:134f FUN_1018_134f ===== */
uint __stdcall16far FUN_1018_134f(int *param_1)
{
int *piVar1;
char cVar2;
uint in_AX;
uint uVar3;
int unaff_BP;
int *piVar4;
undefined2 uVar5;
undefined2 unaff_SS;
undefined4 uVar6;
undefined2 uVar7;
int iVar8;
undefined4 local_2a;
undefined4 local_26;
undefined2 local_22;
undefined2 local_20;
undefined2 local_1e;
undefined2 local_1c;
undefined2 local_1a;
undefined2 local_18;
undefined2 local_16;
undefined2 local_14;
undefined2 local_12;
long local_c;
undefined2 local_8;
undefined2 uStack_4;
int iStack_2;
iStack_2 = unaff_BP + 1;
uStack_4 = 0x1028;
uVar5 = (undefined2)((ulong)param_1 >> 0x10);
piVar4 = (int *)param_1;
if (piVar4[1] == 0) {
FUN_1018_0627(piVar4,uVar5);
if (piVar4[3] == 0 && piVar4[4] == 0) {
local_8 = 0;
}
else {
local_8 = *(undefined2 *)((int)*(undefined4 *)(piVar4 + 3) + 4);
}
cVar2 = FUN_1018_0673(piVar4,uVar5,2);
if (cVar2 == '\0') {
in_AX = (*(code *)*(undefined2 *)(*param_1 + 0x1c))(0x1018,piVar4,uVar5);
if ((char)in_AX != '\0') {
DAT_1028_0676 = piVar4;
DAT_1028_0678 = uVar5;
cVar2 = FUN_1018_0673(piVar4,uVar5,8);
if (cVar2 == '\0') {
local_2a = (undefined2 *)CONCAT22(uVar5,(undefined2 *)((int)piVar4 + 0x1d));
uVar7 = *(undefined2 *)((int)piVar4 + 0x27);
uVar6 = (*(code *)*(undefined2 *)(*param_1 + 0x2c))
(0x1018,piVar4,uVar5,*(undefined2 *)((int)piVar4 + 0x25),uVar7);
in_AX = CREATEWINDOWEX(0x1018,*(undefined2 *)((int)piVar4 + 0x31),
*(undefined2 *)((int)piVar4 + 0x33),DAT_1028_06fe,
*(undefined2 *)((int)piVar4 + 0x35),local_8,
*(undefined2 *)((int)piVar4 + 0x2f),
*(undefined2 *)((int)piVar4 + 0x2d),
*(undefined2 *)((int)piVar4 + 0x2b),
*(undefined2 *)((int)piVar4 + 0x29),
*(undefined2 *)((int)piVar4 + 0x21),
*(undefined2 *)((int)piVar4 + 0x23),*local_2a,
*(undefined2 *)((int)piVar4 + 0x1f),uVar6,uVar7);
piVar4[2] = in_AX;
}
else {
local_26 = (*(code *)*(undefined2 *)(*param_1 + 0x2c))(0x1018,piVar4,uVar5);
local_22 = *(undefined2 *)((int)piVar4 + 0x1d);
local_20 = *(undefined2 *)((int)piVar4 + 0x1f);
local_1e = DAT_1028_06fe;
local_1c = *(undefined2 *)((int)piVar4 + 0x29);
local_1a = *(undefined2 *)((int)piVar4 + 0x2b);
local_18 = *(undefined2 *)((int)piVar4 + 0x2d);
local_16 = *(undefined2 *)((int)piVar4 + 0x2f);
local_14 = *(undefined2 *)((int)piVar4 + 0x21);
local_12 = *(undefined2 *)((int)piVar4 + 0x23);
piVar1 = *(int **)(piVar4 + 3);
local_c = (*(code *)*(undefined2 *)(*piVar1 + 0x30))
(0x1018,(int *)piVar1,(int)((ulong)piVar1 >> 0x10));
in_AX = 0;
if (local_c != 0) {
in_AX = SENDMESSAGE(0x1018,&local_26,unaff_SS,0,0x220);
piVar4[2] = in_AX;
}
}
}
}
else {
in_AX = GETDLGITEM(0x1018,*(undefined2 *)((int)piVar4 + 0x35));
piVar4[2] = in_AX;
}
if (piVar4[2] == 0) {
piVar4[1] = -1;
}
else {
uVar6 = FUN_1018_0097(piVar4[2]);
in_AX = (uint)uVar6 | (uint)((ulong)uVar6 >> 0x10);
if (in_AX == 0) {
FUN_1018_0045(piVar4,uVar5,piVar4[2]);
iVar8 = piVar4[2];
uVar6 = SETWINDOWLONG(0x1018,piVar4[9],piVar4[10],0xfffc);
*(undefined2 *)((int)piVar4 + 0x37) = (int)uVar6;
*(undefined2 *)((int)piVar4 + 0x39) = (int)((ulong)uVar6 >> 0x10);
in_AX = (*(code *)*(undefined2 *)(*param_1 + 0x38))(0x1228,piVar4,uVar5,iVar8);
}
}
}
uVar3 = in_AX & 0xff00;
if (piVar4[1] == 0) {
uVar3 = uVar3 + 1;
}
return uVar3;
}
/* ===== 1018:1547 FUN_1018_1547 ===== */
void __stdcall16far FUN_1018_1547(undefined4 param_1)
{
int iVar1;
int iVar2;
undefined2 uVar3;
uVar3 = (undefined2)((ulong)param_1 >> 0x10);
iVar2 = (int)param_1;
if (*(int *)(iVar2 + 0x3f) != 0) {
iVar1 = ISWINDOW();
if (iVar1 != 0) {
iVar1 = ISICONIC(0x1228,*(undefined2 *)(iVar2 + 4));
if (iVar1 == 0) {
SETFOCUS(0x1228,*(undefined2 *)(iVar2 + 0x3f));
}
}
}
return;
}
/* ===== 1018:1586 FUN_1018_1586 ===== */
void __stdcall16far FUN_1018_1586(undefined4 param_1)
{
int iVar1;
int iVar2;
undefined2 uVar3;
iVar1 = GETFOCUS();
if (iVar1 != 0) {
uVar3 = (undefined2)((ulong)param_1 >> 0x10);
iVar2 = ISCHILD(0x1228,iVar1,*(undefined2 *)((int)param_1 + 4));
if (iVar2 != 0) {
*(int *)((int)param_1 + 0x3f) = iVar1;
}
}
return;
}
/* ===== 1018:15c0 FUN_1018_15c0 ===== */
void __stdcall16far FUN_1018_15c0(undefined4 param_1)
{
int *piVar1;
char cVar2;
int iVar3;
int unaff_BP;
int iVar4;
undefined2 uVar5;
undefined2 uVar6;
undefined2 unaff_SS;
long lVar7;
undefined2 uVar8;
int local_c;
int local_a;
int local_8;
int local_6;
undefined2 uStack_4;
int iStack_2;
iStack_2 = unaff_BP + 1;
uStack_4 = 0x1028;
uVar5 = (undefined2)((ulong)param_1 >> 0x10);
iVar4 = (int)param_1;
iVar3 = ISICONIC();
if (iVar3 != 0) {
return;
}
iVar3 = ISZOOMED(0x1228,*(undefined2 *)(iVar4 + 4));
if (iVar3 != 0) {
return;
}
uVar8 = *(undefined2 *)(iVar4 + 4);
uVar6 = 0x1228;
GETWINDOWRECT(0x1228,&local_c,unaff_SS);
*(int *)(iVar4 + 0x2d) = local_8 - local_c;
*(int *)(iVar4 + 0x2f) = local_6 - local_a;
if (*(int *)(iVar4 + 6) != 0 || *(int *)(iVar4 + 8) != 0) {
piVar1 = (int *)*(undefined4 *)(iVar4 + 6);
lVar7 = (*(code *)*(undefined2 *)(*piVar1 + 0x30))
(0x1228,(int *)piVar1,(int)((ulong)piVar1 >> 0x10),uVar8);
if (lVar7 != 0) {
uVar6 = 0x1018;
cVar2 = FUN_1018_0673(iVar4,uVar5,8);
if (cVar2 != '\0') {
SCREENTOCLIENT(0x1018,&local_c,unaff_SS);
goto LAB_1018_1685;
}
}
if ((*(uint *)(iVar4 + 0x23) & 0x4000) != 0) {
SCREENTOCLIENT(uVar6,&local_c,unaff_SS);
}
}
LAB_1018_1685:
*(int *)(iVar4 + 0x29) = local_c;
*(int *)(iVar4 + 0x2b) = local_a;
return;
}
/* ===== 1018:169d FUN_1018_169d ===== */
void __stdcall16far FUN_1018_169d(undefined4 param_1,undefined4 param_2)
{
char cVar1;
undefined2 uVar2;
undefined2 uVar3;
undefined2 uVar4;
uVar3 = (undefined2)((ulong)param_2 >> 0x10);
uVar4 = (undefined2)((ulong)param_1 >> 0x10);
uVar2 = (undefined2)param_1;
FUN_1018_0ffd(uVar2,uVar4,(int)param_2,uVar3);
cVar1 = FUN_1018_0673(uVar2,uVar4,1);
if (cVar1 != '\0') {
if (*(int *)((int)param_2 + 4) == 0) {
FUN_1018_1586(uVar2,uVar4);
}
else {
FUN_1018_1547(uVar2,uVar4);
}
}
return;
}
/* ===== 1018:16eb FUN_1018_16eb ===== */
void __stdcall16far FUN_1018_16eb(void)
{
FUN_1020_16e1();
return;
}
/* ===== 1018:170c FUN_1018_170c ===== */
void __stdcall16far FUN_1018_170c(undefined4 param_1)
{
int *piVar1;
char cVar2;
int unaff_BP;
int iVar3;
int iVar4;
undefined2 uVar5;
undefined2 uVar6;
undefined2 uVar7;
iVar3 = unaff_BP + 1;
uVar7 = 0x1028;
uVar5 = (undefined2)((ulong)param_1 >> 0x10);
iVar4 = (int)param_1;
FUN_1018_0d9b(iVar4,uVar5);
uVar6 = 0x1018;
cVar2 = FUN_1018_0673(iVar4,uVar5,8);
if (cVar2 != '\0') {
uVar6 = 0x1228;
SETFOCUS(0x1018,*(undefined2 *)(iVar4 + 4),uVar7,iVar3);
}
if (*(int *)(iVar4 + 0x3b) != 0 || *(int *)(iVar4 + 0x3d) != 0) {
piVar1 = (int *)*(undefined4 *)(iVar4 + 0x3b);
(*(code *)*(undefined2 *)(*piVar1 + 0x10))(uVar6,(int *)piVar1,(int)((ulong)piVar1 >> 0x10));
}
FUN_1018_15c0(iVar4,uVar5);
return;
}
/* ===== 1018:1761 FUN_1018_1761 ===== */
void __stdcall16far FUN_1018_1761(int *param_1)
{
(*(code *)*(undefined2 *)(*param_1 + 0x38))();
(*(code *)*(undefined2 *)(*param_1 + 0xc))();
return;
}
/* ===== 1018:1788 FUN_1018_1788 ===== */
void __stdcall16far FUN_1018_1788(int *param_1,undefined4 param_2)
{
int *piVar1;
uint extraout_DX;
int unaff_BP;
int iVar2;
int *piVar3;
int iVar4;
undefined2 uVar5;
undefined2 uVar6;
undefined2 unaff_CS;
int iVar7;
undefined2 uVar8;
iVar2 = unaff_BP + 1;
uVar8 = 0x1028;
uVar5 = (undefined2)((ulong)param_1 >> 0x10);
piVar3 = (int *)param_1;
iVar7 = piVar3[2];
GETWINDOWLONG(unaff_CS,0xfff0);
iVar4 = (int)param_2;
uVar6 = (undefined2)((ulong)param_2 >> 0x10);
if ((extraout_DX & 0x10) == 0) {
(*(code *)*(undefined2 *)(*param_1 + 0x48))(0x1228,piVar3,uVar5,iVar4,uVar6);
}
else if (*(int *)((int)piVar3 + 0x3b) == 0 && *(int *)((int)piVar3 + 0x3d) == 0) {
(*(code *)*(undefined2 *)(*param_1 + 0xc))(0x1228,piVar3,uVar5,iVar4,uVar6,iVar7,uVar8,iVar2);
}
else {
piVar1 = (int *)*(undefined4 *)((int)piVar3 + 0x3b);
(*(code *)*(undefined2 *)(*piVar1 + 0x20))
(0x1228,(int *)piVar1,(int)((ulong)piVar1 >> 0x10),*(undefined2 *)(iVar4 + 6),
*(undefined2 *)(iVar4 + 4));
}
return;
}
/* ===== 1018:17f8 FUN_1018_17f8 ===== */
void __stdcall16far FUN_1018_17f8(int *param_1,undefined4 param_2)
{
int *piVar1;
uint extraout_DX;
int unaff_BP;
int iVar2;
int *piVar3;
int iVar4;
undefined2 uVar5;
undefined2 uVar6;
undefined2 unaff_CS;
int iVar7;
undefined2 uVar8;
iVar2 = unaff_BP + 1;
uVar8 = 0x1028;
uVar5 = (undefined2)((ulong)param_1 >> 0x10);
piVar3 = (int *)param_1;
iVar7 = piVar3[2];
GETWINDOWLONG(unaff_CS,0xfff0);
iVar4 = (int)param_2;
uVar6 = (undefined2)((ulong)param_2 >> 0x10);
if ((extraout_DX & 0x20) == 0) {
(*(code *)*(undefined2 *)(*param_1 + 0x48))(0x1228,piVar3,uVar5,iVar4,uVar6);
}
else if (*(int *)((int)piVar3 + 0x3b) == 0 && *(int *)((int)piVar3 + 0x3d) == 0) {
(*(code *)*(undefined2 *)(*param_1 + 0xc))(0x1228,piVar3,uVar5,iVar4,uVar6,iVar7,uVar8,iVar2);
}
else {
piVar1 = (int *)*(undefined4 *)((int)piVar3 + 0x3b);
(*(code *)*(undefined2 *)(*piVar1 + 0x1c))
(0x1228,(int *)piVar1,(int)((ulong)piVar1 >> 0x10),*(undefined2 *)(iVar4 + 6),
*(undefined2 *)(iVar4 + 4));
}
return;
}
/* ===== 1018:1868 FUN_1018_1868 ===== */
void __stdcall16far FUN_1018_1868(int *param_1)
{
int *piVar1;
int unaff_BP;
int *piVar2;
undefined2 uVar3;
undefined2 unaff_CS;
undefined2 unaff_SS;
undefined1 local_24 [32];
undefined2 uStack_4;
int iStack_2;
iStack_2 = unaff_BP + 1;
uStack_4 = 0x1028;
uVar3 = (undefined2)((ulong)param_1 >> 0x10);
piVar2 = (int *)param_1;
BEGINPAINT(unaff_CS,local_24,unaff_SS,piVar2[2]);
if (*(int *)((int)piVar2 + 0x3b) != 0 || *(int *)((int)piVar2 + 0x3d) != 0) {
piVar1 = (int *)*(undefined4 *)((int)piVar2 + 0x3b);
(*(code *)*(undefined2 *)(*piVar1 + 0x14))
(0x1228,(int *)piVar1,(int)((ulong)piVar1 >> 0x10),local_24);
}
(*(code *)*(undefined2 *)(*param_1 + 0x4c))(0x1228,piVar2,uVar3,local_24);
if (*(int *)((int)piVar2 + 0x3b) != 0 || *(int *)((int)piVar2 + 0x3d) != 0) {
piVar1 = (int *)*(undefined4 *)((int)piVar2 + 0x3b);
(*(code *)*(undefined2 *)(*piVar1 + 0x18))(0x1228,(int *)piVar1,(int)((ulong)piVar1 >> 0x10));
}
ENDPAINT(0x1228,local_24,unaff_SS);
return;
}
/* ===== 1018:18e9 FUN_1018_18e9 ===== */
void __stdcall16far FUN_1018_18e9(int *param_1,undefined4 param_2)
{
undefined2 *puVar1;
int unaff_BP;
int *piVar2;
int iVar3;
undefined2 uVar4;
undefined2 uVar5;
undefined2 unaff_CS;
undefined2 uVar6;
undefined2 unaff_SS;
int local_c;
int local_a;
int local_8;
int local_6;
undefined2 uStack_4;
int iStack_2;
iStack_2 = unaff_BP + 1;
uStack_4 = 0x1028;
uVar4 = (undefined2)((ulong)param_1 >> 0x10);
piVar2 = (int *)param_1;
iVar3 = (int)param_2;
uVar5 = (undefined2)((ulong)param_2 >> 0x10);
if ((*(int *)((int)piVar2 + 0x3b) != 0 || *(int *)((int)piVar2 + 0x3d) != 0) &&
(*(int *)(iVar3 + 4) != 1)) {
puVar1 = (undefined2 *)(*(int *)*(undefined4 *)((int)piVar2 + 0x3b) + 0xc);
(*(code *)*puVar1)();
}
uVar6 = unaff_CS;
if (*(int *)(iVar3 + 4) == 0) {
uVar6 = 0x1228;
GETWINDOWRECT(unaff_CS,&local_c,unaff_SS);
*(int *)((int)piVar2 + 0x2f) = local_6 - local_a;
*(int *)((int)piVar2 + 0x2d) = local_8 - local_c;
}
(*(code *)*(undefined2 *)(*param_1 + 0xc))(uVar6,piVar2,uVar4,iVar3,uVar5);
return;
}
/* ===== 1018:1960 FUN_1018_1960 ===== */
void __stdcall16far FUN_1018_1960(int *param_1,undefined4 param_2)
{
int unaff_BP;
int iVar1;
undefined2 uVar2;
undefined2 uVar3;
iVar1 = unaff_BP + 1;
uVar3 = 0x1028;
uVar2 = (undefined2)((ulong)param_1 >> 0x10);
FUN_1018_15c0((int *)param_1,uVar2);
(*(code *)*(undefined2 *)(*param_1 + 0xc))
(0x1018,(int *)param_1,uVar2,(int)param_2,(int)((ulong)param_2 >> 0x10),uVar3,iVar1);
return;
}
/* ===== 1018:1986 FUN_1018_1986 ===== */
void __stdcall16far FUN_1018_1986(int *param_1,undefined4 param_2)
{
int *piVar1;
int iVar2;
int unaff_BP;
int *piVar3;
undefined2 uVar4;
undefined2 unaff_CS;
undefined2 unaff_SS;
int iVar5;
undefined1 local_16 [2];
int local_14;
undefined2 uStack_4;
int iStack_2;
iStack_2 = unaff_BP + 1;
uStack_4 = 0x1028;
uVar4 = (undefined2)((ulong)param_1 >> 0x10);
piVar3 = (int *)param_1;
if ((*(int *)((int)piVar3 + 0x3b) != 0 || *(int *)((int)piVar3 + 0x3d) != 0) &&
(*(char *)((int)*(undefined4 *)((int)piVar3 + 0x3b) + 0x22) != '\0')) {
iVar5 = piVar3[2];
SETCAPTURE();
do {
iVar2 = PEEKMESSAGE(0x1228,1,0,0,0,local_16,unaff_SS);
if (iVar2 != 0) {
TRANSLATEMESSAGE(0x1228,local_16);
DISPATCHMESSAGE(0x1228,local_16);
}
piVar1 = (int *)*(undefined4 *)((int)piVar3 + 0x3b);
(*(code *)*(undefined2 *)(*piVar1 + 0x24))
(0x1228,(int *)piVar1,(int)((ulong)piVar1 >> 0x10),iVar5);
} while (local_14 != 0x202);
unaff_CS = 0x1228;
RELEASECAPTURE(0x1228);
}
(*(code *)*(undefined2 *)(*param_1 + 0xc))
(unaff_CS,piVar3,uVar4,(int)param_2,(int)((ulong)param_2 >> 0x10));
return;
}
/* ===== 1018:1a0e FUN_1018_1a0e ===== */
void __stdcall16far FUN_1018_1a0e(int *param_1,undefined4 param_2)
{
int iVar1;
char cVar2;
int unaff_BP;
int iVar3;
int *piVar4;
undefined2 uVar5;
undefined2 uVar6;
undefined2 uVar7;
iVar3 = unaff_BP + 1;
uVar7 = 0x1028;
uVar5 = (undefined2)((ulong)param_1 >> 0x10);
piVar4 = (int *)param_1;
cVar2 = FUN_1018_0673(piVar4,uVar5,1);
uVar6 = (undefined2)((ulong)param_2 >> 0x10);
if (cVar2 != '\0') {
iVar1 = *(int *)((int)param_2 + 4);
if (iVar1 == -0xfe0) {
FUN_1018_1586(piVar4,uVar5);
}
else if (iVar1 == -0xee0) {
FUN_1018_1547(piVar4,uVar5);
}
}
(*(code *)*(undefined2 *)(*param_1 + 0xc))(0x1018,piVar4,uVar5,(int)param_2,uVar6,uVar7,iVar3);
return;
}
/* ===== 1018:1a61 FUN_1018_1a61 ===== */
int * __stdcall16far FUN_1018_1a61(int *param_1,undefined2 param_2,int param_3,int param_4)
{
undefined2 uVar1;
int unaff_BP;
int *piVar2;
undefined2 uVar3;
bool bVar4;
bVar4 = true;
FUN_1020_03ef(0x1028,unaff_BP + 1);
if (!bVar4) {
uVar3 = (undefined2)((ulong)param_1 >> 0x10);
piVar2 = (int *)param_1;
FUN_1008_2d99(piVar2,uVar3,0);
piVar2[2] = param_3;
piVar2[3] = param_4;
DAT_1028_064e._0_2_ = piVar2;
DAT_1028_064e._2_2_ = uVar3;
piVar2[6] = 0;
piVar2[1] = 0;
piVar2[4] = 0;
piVar2[5] = 0;
piVar2[7] = 0;
piVar2[8] = 0;
uVar1 = uVar3;
DAT_1028_0672 = MAKEPROCINSTANCE((void *)CONCAT22(0x133,DAT_1028_06fe),0x1018);
DAT_1028_0674 = uVar1;
FUN_1008_2e76();
if (DAT_1028_06fc == 0) {
(*(code *)*(undefined2 *)(*param_1 + 0x10))(0x1008,piVar2,uVar3);
}
if (piVar2[1] == 0) {
(*(code *)*(undefined2 *)(*param_1 + 0x14))(0x1008,piVar2,uVar3);
}
}
return param_1;
}
/* ===== 1018:1b08 FUN_1018_1b08 ===== */
void __stdcall16far FUN_1018_1b08(undefined4 param_1)
{
int unaff_BP;
int iVar1;
undefined2 uVar2;
iVar1 = unaff_BP + 1;
uVar2 = 0x1028;
FREEPROCINSTANCE((void *)CONCAT22(DAT_1028_0674,DAT_1028_0672));
FUN_1008_2dcd((int)param_1,(int)((ulong)param_1 >> 0x10),0);
FUN_1020_0439(uVar2,iVar1);
return;
}
/* ===== 1018:1b35 FUN_1018_1b35 ===== */
undefined1 __stdcall16far FUN_1018_1b35(void)
{
return 0;
}
/* ===== 1018:1b4b FUN_1018_1b4b ===== */
void __stdcall16far FUN_1018_1b4b(void)
{
return;
}
/* ===== 1018:1b57 FUN_1018_1b57 ===== */
void __stdcall16far FUN_1018_1b57(int *param_1)
{
int *piVar1;
undefined2 uVar2;
undefined4 uVar3;
uVar2 = (undefined2)((ulong)param_1 >> 0x10);
piVar1 = (int *)param_1;
(*(code *)*(undefined2 *)(*param_1 + 0x18))();
uVar3 = (*(code *)*(undefined2 *)(*param_1 + 0x34))();
piVar1[4] = (int)uVar3;
piVar1[5] = (int)((ulong)uVar3 >> 0x10);
if (piVar1[4] == 0 && piVar1[5] == 0) {
piVar1[1] = -5;
}
else {
FUN_1018_0e9e((int)*(undefined4 *)(piVar1 + 4),(int)((ulong)*(undefined4 *)(piVar1 + 4) >> 0x10)
,DAT_1028_0700);
}
return;
}
/* ===== 1018:1bb0 FUN_1018_1bb0 ===== */
void __stdcall16far FUN_1018_1bb0(int *param_1)
{
if (((int *)param_1)[1] == 0) {
(*(code *)*(undefined2 *)(*param_1 + 0x20))();
}
else {
(*(code *)*(undefined2 *)(*param_1 + 0x40))();
}
return;
}
/* ===== 1018:1bdf FUN_1018_1bdf ===== */
void __stdcall16far FUN_1018_1bdf(undefined4 param_1,undefined2 param_2,undefined2 param_3)
{
undefined2 uVar1;
uVar1 = (undefined2)((ulong)param_1 >> 0x10);
*(undefined2 *)((int)param_1 + 0xe) = param_2;
*(undefined2 *)((int)param_1 + 0x10) = param_3;
return;
}
/* ===== 1018:1bfc FUN_1018_1bfc ===== */
void __stdcall16far FUN_1018_1bfc(int *param_1)
{
char cVar1;
char cVar2;
int iVar3;
int unaff_BP;
int *piVar4;
undefined2 uVar5;
undefined2 unaff_CS;
undefined2 unaff_SS;
undefined1 local_16 [2];
int local_14;
int local_12;
undefined2 uStack_4;
int iStack_2;
iStack_2 = unaff_BP + 1;
uStack_4 = 0x1028;
cVar1 = '\0';
do {
iVar3 = PEEKMESSAGE(unaff_CS,1,0,0,0,local_16,unaff_SS);
piVar4 = (int *)param_1;
uVar5 = (undefined2)((ulong)param_1 >> 0x10);
if (iVar3 == 0) {
cVar2 = (*(code *)*(undefined2 *)(*param_1 + 0xc))(0x1228,piVar4,uVar5);
if (cVar2 == '\0') {
cVar1 = '\x12';
WAITMESSAGE();
}
}
else if (local_14 == 0x12) {
cVar1 = '\x01';
}
else {
cVar2 = (*(code *)*(undefined2 *)(*param_1 + 0x24))(0x1228,piVar4,uVar5,local_16);
if (cVar2 == '\0') {
TRANSLATEMESSAGE(0x1228,local_16);
DISPATCHMESSAGE(0x1228,local_16);
}
}
unaff_CS = 0x1228;
} while (cVar1 == '\0');
piVar4[1] = local_12;
return;
}
/* ===== 1018:1c7f FUN_1018_1c7f ===== */
undefined1 __stdcall16far FUN_1018_1c7f(int *param_1)
{
char cVar1;
cVar1 = (*(code *)*(undefined2 *)(*param_1 + 0x28))();
if (((cVar1 == '\0') && (cVar1 = (*(code *)*(undefined2 *)(*param_1 + 0x30))(), cVar1 == '\0')) &&
(cVar1 = (*(code *)*(undefined2 *)(*param_1 + 0x2c))(), cVar1 == '\0')) {
return 0;
}
return 1;
}
/* ===== 1018:1cd6 FUN_1018_1cd6 ===== */
undefined2 __stdcall16far FUN_1018_1cd6(undefined4 param_1,undefined4 param_2)
{
uint uVar1;
int iVar2;
undefined2 uVar3;
undefined2 unaff_CS;
undefined1 local_5;
local_5 = false;
uVar3 = (undefined2)((ulong)param_1 >> 0x10);
iVar2 = (int)param_1;
uVar1 = *(uint *)(iVar2 + 0xe) | *(uint *)(iVar2 + 0x10);
if ((uVar1 != 0) && (*(int *)((int)*(undefined4 *)(iVar2 + 0xe) + 4) != 0)) {
iVar2 = ISDIALOGMESSAGE(unaff_CS,(int)param_2,(int)((ulong)param_2 >> 0x10));
local_5 = iVar2 != 0;
uVar1 = CONCAT11((char)((uint)-iVar2 >> 8),local_5);
}
return CONCAT11((char)(uVar1 >> 8),local_5);
}
/* ===== 1018:1d22 FUN_1018_1d22 ===== */
undefined2 __stdcall16far FUN_1018_1d22(undefined4 param_1,undefined4 param_2)
{
int iVar1;
undefined2 uVar2;
undefined2 unaff_CS;
uVar2 = (undefined2)((ulong)param_1 >> 0x10);
if (*(int *)((int)param_1 + 0xc) != 0) {
iVar1 = TRANSLATEACCELERATOR
(unaff_CS,(int)param_2,(int)((ulong)param_2 >> 0x10),
*(undefined2 *)((int)param_1 + 0xc));
if (iVar1 != 0) {
return 1;
}
}
return 0;
}
/* ===== 1018:1d64 FUN_1018_1d64 ===== */
undefined2 __stdcall16far FUN_1018_1d64(undefined4 param_1,undefined4 param_2)
{
undefined2 *puVar1;
int iVar2;
undefined2 unaff_CS;
long lVar3;
puVar1 = (undefined2 *)(*(int *)*(undefined4 *)((int)param_1 + 8) + 0x30);
lVar3 = (*(code *)*puVar1)();
if ((lVar3 != 0) &&
(iVar2 = TRANSLATEMDISYSACCEL(unaff_CS,(int)param_2,(int)((ulong)param_2 >> 0x10)), iVar2 != 0)
) {
return 1;
}
return 0;
}
/* ===== 1018:1db1 FUN_1018_1db1 ===== */
int * __stdcall16far FUN_1018_1db1(int *param_1,int *param_2)
{
char cVar1;
undefined1 extraout_AH;
undefined1 extraout_AH_00;
int unaff_BP;
undefined2 uVar2;
int *piVar3;
int *piVar4;
int iVar5;
int iVar6;
piVar3 = (int *)0x0;
iVar5 = 0;
piVar4 = piVar3;
iVar6 = iVar5;
if ((int *)param_2 != (int *)0x0 || param_2._2_2_ != 0) {
cVar1 = FUN_1008_2de0(0,0,0x1028,unaff_BP + 1);
uVar2 = (undefined2)((ulong)param_1 >> 0x10);
if (cVar1 == '\0') {
piVar4 = (int *)param_2;
iVar6 = param_2._2_2_;
if (((int *)param_2)[1] != 0) {
(*(code *)*(undefined2 *)(*param_1 + 0x40))(0x1008,(int *)param_1,uVar2,((int *)param_2)[1])
;
(*(code *)*(undefined2 *)(*param_2 + 8))
(0x1008,(int *)param_2,param_2._2_2_,CONCAT11(extraout_AH_00,1));
piVar4 = piVar3;
iVar6 = iVar5;
}
}
else {
(*(code *)*(undefined2 *)(*param_1 + 0x40))(0x1008,(int *)param_1,uVar2,0xfffe);
(*(code *)*(undefined2 *)(*param_2 + 8))
(0x1008,(int *)param_2,param_2._2_2_,CONCAT11(extraout_AH,1));
FUN_1008_2dff();
piVar4 = piVar3;
iVar6 = iVar5;
}
}
return (int *)CONCAT22(iVar6,piVar4);
}
/* ===== 1018:1e39 FUN_1018_1e39 ===== */
int * __stdcall16far FUN_1018_1e39(int *param_1,int *param_2)
{
char cVar1;
long lVar2;
int *local_8;
int local_6;
local_8 = (int *)0x0;
local_6 = 0;
if ((int *)param_2 != (int *)0x0 || param_2._2_2_ != 0) {
lVar2 = (*(code *)*(undefined2 *)(*param_1 + 0x3c))();
if (lVar2 != 0) {
cVar1 = (*(code *)*(undefined2 *)(*param_2 + 0x20))();
if (cVar1 == '\0') {
(*(code *)*(undefined2 *)(*param_1 + 0x40))();
(*(code *)*(undefined2 *)(*param_2 + 8))();
}
else {
local_8 = (int *)param_2;
local_6 = param_2._2_2_;
}
}
}
return (int *)CONCAT22(local_6,local_8);
}
/* ===== 1018:1eb0 FUN_1018_1eb0 ===== */
int __stdcall16far FUN_1018_1eb0(int *param_1,int *param_2)
{
int iVar1;
long lVar2;
int local_6;
local_6 = 2;
lVar2 = (*(code *)*(undefined2 *)(*param_1 + 0x3c))();
if (lVar2 != 0) {
iVar1 = (*(code *)*(undefined2 *)(*param_2 + 0x4c))();
if (iVar1 < 0) {
(*(code *)*(undefined2 *)(*param_1 + 0x40))();
iVar1 = local_6;
}
local_6 = iVar1;
(*(code *)*(undefined2 *)(*param_2 + 8))();
}
return local_6;
}
/* ===== 1018:1f14 FUN_1018_1f14 ===== */
void __stdcall16far FUN_1018_1f14(void)
{
int iVar1;
int unaff_BP;
undefined2 unaff_CS;
undefined2 unaff_SS;
undefined1 local_24 [32];
undefined2 uStack_4;
int iStack_2;
iStack_2 = unaff_BP + 1;
uStack_4 = 0x1028;
WVSPRINTF(unaff_CS,&stack0x0008,unaff_SS,0x698,0x1028,local_24);
iVar1 = (*DAT_1028_0666)(0x1228,0x14,0x6b3,0x1028,local_24);
if (iVar1 == 7) {
FUN_1020_0061(0x1228);
}
return;
}
/* ===== 1018:1f56 FUN_1018_1f56 ===== */
undefined1 __stdcall16far FUN_1018_1f56(undefined4 param_1)
{
undefined2 *puVar1;
undefined1 uVar2;
puVar1 = (undefined2 *)(*(int *)*(undefined4 *)((int)param_1 + 8) + 0x3c);
uVar2 = (*(code *)*puVar1)();
return uVar2;
}
/* ===== 1020:0002 FUN_1020_0002 ===== */
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */
void __cdecl16far FUN_1020_0002(void)
{
code *pcVar1;
int in_AX;
int iVar2;
uint uVar3;
undefined2 in_DX;
undefined2 in_BX;
int unaff_BP;
int iVar4;
undefined2 unaff_SI;
undefined2 unaff_DI;
int unaff_ES;
undefined2 unaff_CS;
int in_stack_00000000;
undefined2 uVar5;
iVar4 = unaff_BP + 1;
uVar5 = 0x1028;
if (in_AX != 0) {
DAT_1028_06fc = unaff_SI;
DAT_1028_06fe = unaff_DI;
DAT_1028_0700 = in_DX;
DAT_1028_0702._0_2_ = in_BX;
DAT_1028_0702._2_2_ = unaff_ES;
DAT_1028_071c = unaff_ES;
WAITEVENT(0);
unaff_CS = 0x1228;
iVar2 = INITAPP(0x1228,DAT_1028_06fe);
if (iVar2 != 0) {
uVar3 = GETWINFLAGS(0x1228);
DAT_1028_0726 = 0;
if (((uVar3 & 0xc0) == 0) && (DAT_1028_0726 = 1, (uVar3 & 2) == 0)) {
DAT_1028_0726 = 2;
}
DAT_1028_0724 = 0x6c;
return;
}
}
pcVar1 = (code *)swi(0x21);
_DAT_1028_0716 = (*pcVar1)(uVar5);
DAT_1028_0718 = iVar4;
if ((DAT_1028_0718 != 0 || in_stack_00000000 != 0) && (in_stack_00000000 != -1)) {
in_stack_00000000 = *(int *)0x0;
}
DAT_1028_071a = in_stack_00000000;
if (DAT_1028_071c != 0) {
FUN_1020_00d2();
}
if (DAT_1028_0718 != 0 || DAT_1028_071a != 0) {
FUN_1020_00f0();
FUN_1020_00f0();
FUN_1020_00f0();
MESSAGEBOX(unaff_CS,0x1010,0,0,0x728,0x1028);
}
pcVar1 = (code *)swi(0x21);
(*pcVar1)();
if ((int)((ulong)_DAT_1028_0712 >> 0x10) != 0 || (int)_DAT_1028_0712 != 0) {
_DAT_1028_0712 = 0;
DAT_1028_071e = 0;
return;
}
return;
}
/* ===== 1020:005d FUN_1020_005d ===== */
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */
void FUN_1020_005d(int param_1)
{
code *pcVar1;
undefined2 in_AX;
undefined2 unaff_CS;
int in_stack_00000000;
if ((in_stack_00000000 != 0 || param_1 != 0) && (param_1 != -1)) {
param_1 = *(int *)0x0;
}
_DAT_1028_0716 = in_AX;
DAT_1028_0718 = in_stack_00000000;
DAT_1028_071a = param_1;
if (DAT_1028_071c != 0) {
FUN_1020_00d2();
}
if (DAT_1028_0718 != 0 || DAT_1028_071a != 0) {
FUN_1020_00f0();
FUN_1020_00f0();
FUN_1020_00f0();
MESSAGEBOX(unaff_CS,0x1010,0,0,0x728);
}
pcVar1 = (code *)swi(0x21);
(*pcVar1)();
if ((int)((ulong)_DAT_1028_0712 >> 0x10) != 0 || (int)_DAT_1028_0712 != 0) {
_DAT_1028_0712 = 0;
DAT_1028_071e = 0;
return;
}
return;
}
/* ===== 1020:0061 FUN_1020_0061 ===== */
/* WARNING: Removing unreachable block (ram,0x1020006e) */
/* WARNING: Removing unreachable block (ram,0x10200073) */
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */
void FUN_1020_0061(void)
{
code *pcVar1;
undefined2 in_AX;
undefined2 unaff_CS;
DAT_1028_0718 = 0;
DAT_1028_071a = 0;
_DAT_1028_0716 = in_AX;
if (DAT_1028_071c != 0) {
FUN_1020_00d2();
}
if (DAT_1028_0718 != 0 || DAT_1028_071a != 0) {
FUN_1020_00f0();
FUN_1020_00f0();
FUN_1020_00f0();
MESSAGEBOX(unaff_CS,0x1010,0,0,0x728,0x1028);
}
pcVar1 = (code *)swi(0x21);
(*pcVar1)();
if ((int)((ulong)_DAT_1028_0712 >> 0x10) == 0 && (int)_DAT_1028_0712 == 0) {
return;
}
_DAT_1028_0712 = 0;
DAT_1028_071e = 0;
return;
}
/* ===== 1020:00d2 FUN_1020_00d2 ===== */
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */
void __cdecl16near FUN_1020_00d2(void)
{
if ((int)((ulong)_DAT_1028_0712 >> 0x10) != 0 || (int)_DAT_1028_0712 != 0) {
_DAT_1028_0712 = 0;
DAT_1028_071e = 0;
return;
}
return;
}
/* ===== 1020:00f0 FUN_1020_00f0 ===== */
void __cdecl16near FUN_1020_00f0(void)
{
uint in_AX;
uint uVar1;
uint in_CX;
byte bVar2;
byte *in_BX;
char cVar3;
do {
uVar1 = in_AX / in_CX;
cVar3 = (char)(in_AX % in_CX);
bVar2 = cVar3 + 0x30;
if (0x39 < bVar2) {
bVar2 = cVar3 + 0x37;
}
in_BX = in_BX + -1;
*in_BX = bVar2;
in_AX = uVar1;
} while (uVar1 != 0);
return;
}
/* ===== 1020:012d FUN_1020_012d ===== */
void __stdcall16far FUN_1020_012d(void)
{
int unaff_BP;
undefined1 in_CF;
FUN_1020_01ca(0x1028,unaff_BP + 1);
if (!(bool)in_CF) {
return;
}
FUN_1020_005d();
return;
}
/* ===== 1020:0147 FUN_1020_0147 ===== */
void __stdcall16far FUN_1020_0147(void)
{
int unaff_BP;
undefined1 in_CF;
FUN_1020_02d7(0x1028,unaff_BP + 1);
if (!(bool)in_CF) {
return;
}
FUN_1020_005d();
return;
}
/* ===== 1020:0167 FUN_1020_0167 ===== */
int __cdecl16far FUN_1020_0167(void)
{
int iVar1;
int iVar2;
iVar1 = GETFREESPACE();
iVar2 = DAT_1028_0706;
if (DAT_1028_0706 != 0) {
do {
iVar1 = iVar1 + *(int *)0x8;
iVar2 = *(int *)0xa;
} while (iVar2 != DAT_1028_0706);
}
return iVar1;
}
/* ===== 1020:0195 runtime_1020_0195 ===== */
void __cdecl16far runtime_1020_0195(void)
{
uint uVar1;
int iVar2;
int in_DX;
uVar1 = GLOBALCOMPACT(0);
if ((in_DX == 0) && (iVar2 = DAT_1028_0706, DAT_1028_0706 != 0)) {
do {
if (uVar1 < *(uint *)0x8) {
uVar1 = *(uint *)0x8;
}
iVar2 = *(int *)0xa;
} while (iVar2 != DAT_1028_0706);
}
return;
}
/* ===== 1020:01ca FUN_1020_01ca ===== */
void __cdecl16near FUN_1020_01ca(void)
{
uint uVar1;
uint in_AX;
uint uVar2;
undefined1 uVar3;
uVar1 = in_AX;
if (in_AX != 0) {
do {
DAT_1028_4d38 = uVar1;
uVar3 = DAT_1028_4d38 < DAT_1028_0708;
if ((bool)uVar3) {
FUN_1020_023c();
if (!(bool)uVar3) {
return;
}
FUN_1020_0222();
LAB_1020_0201:
if (!(bool)uVar3) {
return;
}
}
else {
FUN_1020_0222();
if (!(bool)uVar3) {
return;
}
if ((DAT_1028_0708 != 0) &&
(uVar3 = DAT_1028_4d38 < DAT_1028_070a - 0xcU, DAT_1028_4d38 <= DAT_1028_070a - 0xcU)) {
FUN_1020_023c();
goto LAB_1020_0201;
}
}
uVar2 = 0;
if (DAT_1028_070e != (code *)0x0 || DAT_1028_0710 != 0) {
uVar2 = (*DAT_1028_070e)();
}
uVar1 = DAT_1028_4d38;
} while (1 < uVar2);
}
return;
}
/* ===== 1020:0222 FUN_1020_0222 ===== */
void __cdecl16near FUN_1020_0222(void)
{
ushort in_AX;
ushort arg1;
arg1 = GLOBALALLOC(in_AX,0);
if (arg1 != 0) {
GLOBALLOCK(arg1);
}
return;
}
/* ===== 1020:023c FUN_1020_023c ===== */
undefined2 __cdecl16near FUN_1020_023c(void)
{
uint uVar1;
undefined2 uVar2;
undefined2 in_BX;
uint unaff_ES;
bool bVar3;
bVar3 = false;
uVar1 = DAT_1028_0706;
if (DAT_1028_0706 != 0) {
do {
unaff_ES = uVar1;
FUN_1020_02a6();
if (!bVar3) {
DAT_1028_0706 = unaff_ES;
return in_BX;
}
uVar1 = *(uint *)0xa;
bVar3 = uVar1 < DAT_1028_0706;
} while (uVar1 != DAT_1028_0706);
}
uVar2 = FUN_1020_026a();
if (!bVar3) {
uVar2 = in_BX;
FUN_1020_02a6();
DAT_1028_0706 = unaff_ES;
}
return uVar2;
}
/* ===== 1020:026a FUN_1020_026a ===== */
undefined2 __cdecl16near FUN_1020_026a(void)
{
undefined2 in_AX;
int iVar1;
undefined2 uVar2;
undefined2 extraout_DX;
undefined1 in_CF;
FUN_1020_0222();
if (!(bool)in_CF) {
*(undefined2 *)0x0 = 0x5054;
*(undefined2 *)0x2 = 0;
*(undefined2 *)0x4 = 0xc;
*(undefined2 *)0x6 = 0;
iVar1 = DAT_1028_070a + -0xc;
*(int *)0x8 = iVar1;
uVar2 = extraout_DX;
if (DAT_1028_0706 != 0) {
LOCK();
uVar2 = *(undefined2 *)0xa;
*(undefined2 *)0xa = extraout_DX;
UNLOCK();
}
*(undefined2 *)0xa = uVar2;
*(undefined2 *)0xc = 0;
*(int *)0xe = iVar1;
}
return in_AX;
}
/* ===== 1020:02a6 FUN_1020_02a6 ===== */
void __cdecl16near FUN_1020_02a6(void)
{
int *piVar1;
uint in_AX;
int iVar2;
int *piVar3;
int *piVar4;
undefined2 unaff_ES;
piVar1 = (int *)0x4;
do {
piVar3 = piVar1;
piVar1 = (int *)*piVar3;
if (piVar1 == (int *)0x0) {
return;
}
iVar2 = piVar1[1] - in_AX;
} while ((uint)piVar1[1] < in_AX);
piVar4 = (int *)*piVar1;
if (iVar2 != 0) {
piVar4 = (int *)((int)piVar1 + in_AX);
*piVar4 = *piVar1;
piVar4[1] = iVar2;
}
*piVar3 = (int)piVar4;
*(int *)0x8 = *(int *)0x8 - in_AX;
return;
}
/* ===== 1020:02d7 FUN_1020_02d7 ===== */
void __cdecl16near FUN_1020_02d7(void)
{
ushort uVar1;
int in_AX;
int iVar2;
uint uVar3;
uint *in_CX;
ushort in_BX;
uint *puVar4;
uint *puVar5;
if (in_AX == 0) {
return;
}
if (in_CX != (uint *)0x0) {
uVar3 = in_AX + 3U & 0xfffc;
if (*(int *)0x0 != 0x5054) {
return;
}
if (((uint)in_CX & 3) != 0) {
return;
}
puVar5 = (uint *)0x4;
do {
puVar4 = puVar5;
puVar5 = (uint *)*puVar4;
if (puVar5 == (uint *)0x0) goto LAB_1020_0306;
} while (puVar5 <= in_CX && in_CX != puVar5);
if (in_CX == puVar5) {
return;
}
LAB_1020_0306:
*in_CX = (uint)puVar5;
in_CX[1] = uVar3;
iVar2 = uVar3 + *(int *)0x8;
*(int *)0x8 = iVar2;
if (iVar2 + 0xc != DAT_1028_070a) {
FUN_1020_0327();
*puVar4 = (uint)in_CX;
puVar5 = (uint *)((int)puVar4 + puVar4[1]);
if (puVar5 != (uint *)*puVar4) {
return;
}
*puVar4 = *puVar5;
puVar4[1] = puVar4[1] + puVar5[1];
return;
}
uVar1 = DAT_1028_0706;
DAT_1028_0706 = 0;
if (in_BX != *(ushort *)0xa) {
do {
DAT_1028_0706 = uVar1;
uVar1 = *(ushort *)0xa;
} while (*(ushort *)0xa != in_BX);
*(ushort *)0xa = *(ushort *)0xa;
}
}
if ((in_BX != 0x1028) && (uVar3 = GLOBALHANDLE(in_BX), uVar3 != 0)) {
GLOBALUNLOCK(uVar3);
GLOBALFREE(uVar3);
return;
}
return;
}
/* ===== 1020:0327 FUN_1020_0327 ===== */
void __cdecl16near FUN_1020_0327(void)
{
int *in_BX;
int *piVar1;
undefined2 unaff_ES;
piVar1 = (int *)((int)in_BX + in_BX[1]);
if (piVar1 == (int *)*in_BX) {
*in_BX = *piVar1;
in_BX[1] = in_BX[1] + piVar1[1];
}
return;
}
/* ===== 1020:0388 FUN_1020_0388 ===== */
undefined2 __cdecl16far FUN_1020_0388(void)
{
undefined2 uVar1;
uVar1 = DAT_1028_071e;
LOCK();
DAT_1028_071e = 0;
UNLOCK();
return uVar1;
}
/* ===== 1020:038f FUN_1020_038f ===== */
void __cdecl16far FUN_1020_038f(void)
{
if (DAT_1028_071e == 0) {
return;
}
FUN_1020_005d();
return;
}
/* ===== 1020:039d FUN_1020_039d ===== */
void __cdecl16far FUN_1020_039d(void)
{
uint in_AX;
int in_DX;
uint *unaff_DI;
undefined2 in_stack_00000002;
if ((((int)unaff_DI[1] < in_DX) || (((int)unaff_DI[1] <= in_DX && (*unaff_DI <= in_AX)))) &&
((in_DX < (int)unaff_DI[3] || ((in_DX <= (int)unaff_DI[3] && (in_AX <= unaff_DI[2])))))) {
return;
}
FUN_1020_005d();
return;
}
/* ===== 1020:03c5 runtime_1020_03c5 ===== */
void runtime_1020_03c5(void)
{
FUN_1020_005d();
return;
}
/* ===== 1020:03cb FUN_1020_03cb ===== */
void __cdecl16far FUN_1020_03cb(void)
{
uint in_AX;
uint uVar1;
undefined2 unaff_SS;
if (((in_AX < 0xfc00) && ((undefined1 *)(in_AX + 0x400) < &stack0x0000)) &&
(uVar1 = -((int)(in_AX + 0x400) - (int)&stack0x0000), *(uint *)0xa <= uVar1)) {
if (uVar1 < *(uint *)0xe) {
*(uint *)0xe = uVar1;
}
return;
}
FUN_1020_005d();
return;
}
/* ===== 1020:03ef FUN_1020_03ef ===== */
/* WARNING: Unable to track spacebase fully for stack */
void __cdecl16far FUN_1020_03ef(void)
{
int iVar1;
int unaff_BP;
int unaff_DI;
undefined2 unaff_SS;
bool bVar2;
long lVar3;
iVar1 = *(int *)(unaff_BP + 10);
if (iVar1 != 0) {
lVar3 = *(long *)(unaff_BP + 6);
bVar2 = false;
if (lVar3 == 0) {
lVar3 = FUN_1020_01ca();
if (bVar2) {
FUN_1020_005d();
return;
}
if (lVar3 == 0) {
return;
}
*(undefined2 *)(unaff_BP + 6) = (int)lVar3;
*(undefined2 *)(unaff_BP + 8) = (int)((ulong)lVar3 >> 0x10);
}
else {
*(undefined2 *)(unaff_BP + 10) = 0;
}
*(int *)((int)lVar3 + unaff_DI) = iVar1;
}
return;
}
/* ===== 1020:0439 FUN_1020_0439 ===== */
/* WARNING: Unable to track spacebase fully for stack */
void __cdecl16far FUN_1020_0439(void)
{
int unaff_BP;
undefined2 unaff_SS;
bool bVar1;
bVar1 = false;
if (*(int *)(unaff_BP + 10) != 0) {
FUN_1020_02d7(0x1028);
if (bVar1) {
FUN_1020_005d();
return;
}
}
*(undefined2 *)(unaff_BP + 6) = 0;
*(undefined2 *)(unaff_BP + 8) = 0;
return;
}
/* ===== 1020:046c runtime_1020_046c ===== */
void __stdcall16far runtime_1020_046c(int param_1,undefined1 *param_2,undefined1 *param_3)
{
undefined1 *puVar1;
undefined1 *puVar2;
int *piVar3;
int iVar4;
undefined2 *puVar5;
undefined1 *puVar6;
undefined1 *puVar7;
undefined2 uVar8;
uVar8 = (undefined2)((ulong)param_2 >> 0x10);
puVar7 = (undefined1 *)param_2;
puVar5 = (undefined2 *)(puVar7 + param_1);
piVar3 = (int *)*puVar5;
puVar6 = (undefined1 *)param_3;
for (iVar4 = *piVar3; iVar4 != 0; iVar4 = iVar4 + -1) {
puVar2 = puVar7;
puVar7 = puVar7 + 1;
puVar1 = puVar6;
puVar6 = puVar6 + 1;
*puVar2 = *puVar1;
}
*puVar5 = piVar3;
return;
}
/* ===== 1020:048f runtime_1020_048f ===== */
void __cdecl16far runtime_1020_048f(void)
{
int *unaff_DI;
if ((*unaff_DI != 0) && (*unaff_DI + unaff_DI[1] == 0)) {
return;
}
FUN_1020_005d();
return;
}
/* ===== 1020:049f runtime_1020_049f ===== */
/* WARNING: Removing unreachable block (ram,0x102004df) */
/* WARNING: Removing unreachable block (ram,0x102004e4) */
void __stdcall16far runtime_1020_049f(char *param_1,undefined2 *param_2)
{
char *pcVar1;
char *pcVar2;
int iVar3;
char *pcVar4;
undefined2 *puVar5;
char *pcVar6;
undefined2 uVar7;
uVar7 = (undefined2)((ulong)param_2 >> 0x10);
puVar5 = (undefined2 *)param_2;
pcVar4 = (char *)param_1;
*param_2 = 0;
puVar5[1] = 0xd7b0;
puVar5[2] = 0x80;
puVar5[3] = 0;
puVar5[4] = 0;
puVar5[5] = 0;
puVar5[6] = puVar5 + 0x40;
puVar5[7] = uVar7;
pcVar6 = (char *)(puVar5 + 9);
puVar5[8] = 0xbe9;
pcVar6[0] = ' ';
pcVar6[1] = '\x10';
for (iVar3 = 0xe; pcVar6 = pcVar6 + 2, iVar3 != 0; iVar3 = iVar3 + -1) {
pcVar6[0] = '\0';
pcVar6[1] = '\0';
}
iVar3 = 0x4f;
do {
pcVar1 = pcVar4;
pcVar4 = pcVar4 + 1;
if (*pcVar1 == '\0') break;
pcVar2 = pcVar6;
pcVar6 = pcVar6 + 1;
*pcVar2 = *pcVar1;
iVar3 = iVar3 + -1;
} while (iVar3 != 0);
*pcVar6 = '\0';
Ordinal_5();
return;
}
/* ===== 1020:04fc runtime_1020_04fc ===== */
void __stdcall16far
runtime_1020_04fc(undefined2 param_1,undefined2 param_2,undefined2 param_3,undefined4 param_4)
{
int iVar1;
undefined2 uVar2;
uVar2 = (undefined2)((ulong)param_4 >> 0x10);
iVar1 = (int)param_4;
*(undefined2 *)(iVar1 + 4) = param_1;
*(undefined2 *)(iVar1 + 0xc) = param_2;
*(undefined2 *)(iVar1 + 0xe) = param_3;
*(undefined2 *)(iVar1 + 8) = 0;
*(undefined2 *)(iVar1 + 10) = 0;
return;
}
/* ===== 1020:0527 FUN_1020_0527 ===== */
void FUN_1020_0527(void)
{
FUN_1020_0534();
return;
}
/* ===== 1020:052c FUN_1020_052c ===== */
void FUN_1020_052c(void)
{
FUN_1020_0534();
return;
}
/* ===== 1020:0534 FUN_1020_0534 ===== */
void __stdcall16far FUN_1020_0534(undefined4 param_1)
{
int iVar1;
undefined2 in_DX;
int unaff_BP;
int iVar2;
int iVar3;
undefined2 uVar4;
bool bVar5;
undefined2 uVar6;
iVar2 = unaff_BP + 1;
uVar6 = 0x1028;
uVar4 = (undefined2)((ulong)param_1 >> 0x10);
iVar3 = (int)param_1;
iVar1 = *(int *)(iVar3 + 2);
if ((iVar1 == -0x284f) || (iVar1 == -0x284e)) {
FUN_1020_0586(iVar3,uVar4);
}
else if (iVar1 != -0x2850) {
DAT_1028_071e = 0x66;
return;
}
bVar5 = true;
*(undefined2 *)(iVar3 + 2) = in_DX;
*(undefined2 *)(iVar3 + 8) = 0;
*(undefined2 *)(iVar3 + 10) = 0;
FUN_1020_05c7(uVar6,iVar2);
if (!bVar5) {
*(undefined2 *)(iVar3 + 2) = 0xd7b0;
}
return;
}
/* ===== 1020:0586 FUN_1020_0586 ===== */
void __stdcall16far FUN_1020_0586(undefined4 param_1)
{
char cVar1;
int unaff_BP;
int iVar2;
undefined2 uVar3;
cVar1 = '\x01';
uVar3 = (undefined2)((ulong)param_1 >> 0x10);
iVar2 = (int)param_1;
if (*(int *)(iVar2 + 2) != -0x284f) {
if (*(int *)(iVar2 + 2) != -0x284e) {
DAT_1028_071e = 0x67;
return;
}
cVar1 = '\x01';
FUN_1020_05c7(1,0x1028,unaff_BP + 1);
}
if (cVar1 != '\0') {
FUN_1020_05c7();
*(undefined2 *)(iVar2 + 2) = 0xd7b0;
}
return;
}
/* ===== 1020:05c7 FUN_1020_05c7 ===== */
void __cdecl16near FUN_1020_05c7(void)
{
int iVar1;
int in_BX;
int unaff_DI;
iVar1 = (*(code *)*(undefined2 *)(in_BX + unaff_DI))();
if (iVar1 != 0) {
DAT_1028_071e = iVar1;
}
return;
}
/* ===== 1020:05d8 FUN_1020_05d8 ===== */
undefined2 __stdcall16far FUN_1020_05d8(undefined4 param_1)
{
code *pcVar1;
undefined2 uVar2;
int iVar3;
undefined2 uVar4;
undefined1 in_CF;
uVar4 = (undefined2)((ulong)param_1 >> 0x10);
iVar3 = (int)param_1;
pcVar1 = (code *)swi(0x21);
uVar2 = (*pcVar1)();
if ((bool)in_CF) {
*(undefined2 *)(iVar3 + 10) = 0;
}
else {
*(undefined2 *)(iVar3 + 10) = uVar2;
uVar2 = 0;
}
*(undefined2 *)(iVar3 + 8) = 0;
return uVar2;
}
/* ===== 1020:0608 FUN_1020_0608 ===== */
int __stdcall16far FUN_1020_0608(undefined4 param_1)
{
int *piVar1;
code *pcVar2;
int iVar3;
int iVar4;
bool bVar5;
bVar5 = false;
LOCK();
piVar1 = (int *)((int)param_1 + 8);
iVar4 = *piVar1;
*piVar1 = 0;
UNLOCK();
pcVar2 = (code *)swi(0x21);
iVar3 = (*pcVar2)();
if ((!bVar5) && (bVar5 = iVar3 != iVar4, iVar3 = 0, bVar5)) {
iVar3 = 0x65;
}
return iVar3;
}
/* ===== 1020:062d FUN_1020_062d ===== */
undefined2 __stdcall16far FUN_1020_062d(undefined4 param_1)
{
code *pcVar1;
undefined2 uVar2;
bool bVar3;
bVar3 = false;
LOCK();
*(undefined2 *)((int)param_1 + 8) = 0;
UNLOCK();
pcVar1 = (code *)swi(0x21);
uVar2 = (*pcVar1)();
if (!bVar3) {
uVar2 = 0;
}
return uVar2;
}
/* ===== 1020:064d FUN_1020_064d ===== */
undefined2 __stdcall16far FUN_1020_064d(uint *param_1)
{
code *pcVar1;
undefined2 uVar2;
bool bVar3;
bVar3 = *param_1 < 4;
if (4 < *param_1) {
pcVar1 = (code *)swi(0x21);
uVar2 = (*pcVar1)();
if (bVar3) {
return uVar2;
}
}
return 0;
}
/* ===== 1020:0667 FUN_1020_0667 ===== */
void __stdcall16far FUN_1020_0667(byte *param_1,undefined2 *param_2)
{
byte *pbVar1;
byte *pbVar2;
int iVar3;
uint uVar4;
byte *pbVar5;
byte *pbVar6;
undefined2 uVar7;
uVar7 = (undefined2)((ulong)param_2 >> 0x10);
pbVar6 = (byte *)((undefined2 *)param_2 + 1);
*param_2 = 0;
pbVar6[0] = 0xb0;
pbVar6[1] = 0xd7;
for (iVar3 = 0x16; pbVar6 = pbVar6 + 2, iVar3 != 0; iVar3 = iVar3 + -1) {
pbVar6[0] = 0;
pbVar6[1] = 0;
}
uVar4 = 0x4f;
pbVar5 = (byte *)param_1 + 1;
if (0x4e < *param_1) goto LAB_1020_0697;
for (uVar4 = (uint)*param_1; uVar4 != 0; uVar4 = uVar4 - 1) {
LAB_1020_0697:
pbVar1 = pbVar5;
pbVar5 = pbVar5 + 1;
if (*pbVar1 == 0) break;
pbVar2 = pbVar6;
pbVar6 = pbVar6 + 1;
*pbVar2 = *pbVar1;
}
*pbVar6 = 0;
Ordinal_5();
return;
}
/* ===== 1020:06ab FUN_1020_06ab ===== */
void __stdcall16far FUN_1020_06ab(undefined2 param_1,undefined2 *param_2)
{
code *pcVar1;
undefined2 uVar2;
undefined2 *puVar3;
undefined2 uVar4;
bool bVar5;
undefined2 in_stack_00000000;
uVar4 = (undefined2)((ulong)param_2 >> 0x10);
puVar3 = (undefined2 *)param_2;
if (puVar3[1] != -0x2850) {
if (puVar3[1] != -0x284d) {
DAT_1028_071e = 0x66;
return;
}
FUN_1020_072c(puVar3,uVar4);
}
uVar2 = 0;
if (*(char *)(puVar3 + 0x18) != '\0') {
bVar5 = false;
pcVar1 = (code *)swi(0x21);
uVar2 = (*pcVar1)();
if (bVar5) {
*(undefined2 *)&DAT_1028_071e = uVar2;
return;
}
}
puVar3[1] = 0xd7b3;
*param_2 = uVar2;
puVar3[2] = param_1;
return;
}
/* ===== 1020:0710 runtime_1020_0710 ===== */
void __stdcall16far runtime_1020_0710(void)
{
code *pcVar1;
undefined2 uVar2;
bool bVar3;
undefined1 in_ZF;
FUN_1020_0751();
if ((bool)in_ZF) {
bVar3 = false;
pcVar1 = (code *)swi(0x21);
uVar2 = (*pcVar1)();
if (bVar3) {
DAT_1028_071e = uVar2;
}
}
return;
}
/* ===== 1020:072c FUN_1020_072c ===== */
void __stdcall16far FUN_1020_072c(uint *param_1)
{
code *pcVar1;
undefined2 uVar2;
bool bVar3;
undefined1 in_ZF;
FUN_1020_0751();
if ((bool)in_ZF) {
bVar3 = *param_1 < 4;
if (4 < *param_1) {
pcVar1 = (code *)swi(0x21);
uVar2 = (*pcVar1)();
if (bVar3) {
DAT_1028_071e = uVar2;
}
}
((uint *)param_1)[1] = 0xd7b0;
}
return;
}
/* ===== 1020:0751 FUN_1020_0751 ===== */
void __cdecl16near FUN_1020_0751(void)
{
int unaff_DI;
undefined2 unaff_ES;
if (*(int *)(unaff_DI + 2) != -0x284d) {
DAT_1028_071e = 0x67;
}
return;
}
/* ===== 1020:0760 runtime_1020_0760 ===== */
void __stdcall16far runtime_1020_0760(undefined2 param_1,undefined2 param_2,undefined4 param_3)
{
code *pcVar1;
int iVar2;
int iVar3;
int iVar4;
int unaff_BP;
undefined1 in_CF;
undefined1 in_ZF;
undefined2 in_stack_00000000;
FUN_1020_0751();
if ((bool)in_ZF) {
iVar4 = *(int *)((int)param_3 + 4);
pcVar1 = (code *)swi(0x21);
iVar2 = (*pcVar1)(0x1028);
iVar3 = iVar2;
if (((bool)in_CF) || (iVar3 = unaff_BP, iVar2 != iVar4)) {
*(int *)&DAT_1028_071e = iVar3;
}
}
return;
}
/* ===== 1020:0796 runtime_1020_0796 ===== */
void __stdcall16far
runtime_1020_0796(uint *param_1,uint param_2,undefined2 param_3,undefined2 param_4,
undefined4 param_5)
{
code *pcVar1;
uint uVar2;
undefined2 uVar3;
undefined2 unaff_BP;
undefined2 uVar4;
int iVar5;
undefined2 uVar6;
bool bVar7;
undefined1 in_ZF;
undefined2 in_stack_00000000;
uVar3 = 100;
uVar4 = (undefined2)((ulong)param_5 >> 0x10);
FUN_1020_0751();
iVar5 = (int)((ulong)param_1 >> 0x10);
if ((bool)in_ZF) {
uVar2 = 0;
uVar6 = 0x1028;
if (param_2 != 0) {
bVar7 = (int)((ulong)param_2 * (ulong)*(uint *)((int)param_5 + 4) >> 0x10) != 0;
pcVar1 = (code *)swi(0x21);
uVar2 = (*pcVar1)(0x1028);
if (bVar7) {
*(uint *)&DAT_1028_071e = uVar2;
goto LAB_1020_07ec;
}
uVar2 = uVar2 / *(uint *)((int)param_5 + 4);
uVar3 = unaff_BP;
uVar6 = in_stack_00000000;
}
if (iVar5 == 0 && (uint *)param_1 == (uint *)0x0) {
if (uVar2 != param_2) {
*(undefined2 *)&DAT_1028_071e = uVar3;
}
}
else {
*param_1 = uVar2;
}
}
else {
LAB_1020_07ec:
if (iVar5 != 0 || (uint *)param_1 != (uint *)0x0) {
*param_1 = 0;
}
}
return;
}
/* ===== 1020:07fe FUN_1020_07fe ===== */
void __stdcall16far FUN_1020_07fe(uint param_1,int param_2,undefined4 param_3)
{
code *pcVar1;
undefined2 uVar2;
bool bVar3;
undefined1 in_ZF;
uVar2 = (undefined2)((ulong)param_3 >> 0x10);
FUN_1020_0751();
if ((bool)in_ZF) {
bVar3 = CARRY2(param_2 * *(int *)((int)param_3 + 4),
(uint)((ulong)param_1 * (ulong)*(uint *)((int)param_3 + 4) >> 0x10));
pcVar1 = (code *)swi(0x21);
uVar2 = (*pcVar1)();
if (bVar3) {
DAT_1028_071e = uVar2;
}
}
return;
}
/* ===== 1020:082e FUN_1020_082e ===== */
ushort __stdcall16far FUN_1020_082e(ushort param_1,undefined1 *param_2)
{
undefined1 *puVar1;
int iVar2;
undefined1 *in_BX;
undefined1 *puVar3;
void *pvVar4;
puVar3 = (undefined1 *)param_2;
pvVar4 = (void *)((ulong)param_2 >> 0x10);
if (param_1 == 0) {
param_1 = GETMODULEFILENAME(0xff,(void *)CONCAT22(DAT_1028_06fe,pvVar4),0x1028);
*param_2 = (char)param_1;
}
else {
iVar2 = FUN_1020_0871();
*param_2 = (char)iVar2;
for (; puVar3 = puVar3 + 1, iVar2 != 0; iVar2 = iVar2 + -1) {
puVar1 = in_BX;
in_BX = in_BX + 1;
*puVar3 = *puVar1;
}
}
return param_1;
}
/* ===== 1020:0866 runtime_1020_0866 ===== */
int __cdecl16far runtime_1020_0866(void)
{
int iVar1;
iVar1 = 0;
FUN_1020_0871(0x1028);
return -iVar1;
}
/* ===== 1020:0871 FUN_1020_0871 ===== */
void __cdecl16near FUN_1020_0871(void)
{
byte *pbVar1;
int in_CX;
byte *pbVar2;
byte *pbVar3;
undefined2 uVar4;
uVar4 = (undefined2)((ulong)DAT_1028_0702 >> 0x10);
pbVar3 = (byte *)DAT_1028_0702;
LAB_1020_0876:
do {
pbVar2 = pbVar3;
pbVar1 = pbVar2;
if (*pbVar2 != 0) {
pbVar3 = pbVar2 + 1;
if (*pbVar2 < 0x21) goto LAB_1020_0876;
}
do {
pbVar3 = pbVar1;
pbVar1 = pbVar3 + 1;
} while (0x20 < *pbVar3);
if ((pbVar3 == pbVar2) || (in_CX = in_CX + -1, in_CX == 0)) {
return;
}
} while( true );
}
/* ===== 1020:0891 FUN_1020_0891 ===== */
void __stdcall16far FUN_1020_0891(int param_1,undefined1 *param_2,undefined1 *param_3)
{
undefined1 *puVar1;
undefined1 *puVar2;
undefined1 *puVar3;
undefined1 *puVar4;
puVar3 = (undefined1 *)param_3;
puVar4 = (undefined1 *)param_2;
for (; param_1 != 0; param_1 = param_1 + -1) {
puVar2 = puVar4;
puVar4 = puVar4 + 1;
puVar1 = puVar3;
puVar3 = puVar3 + 1;
*puVar2 = *puVar1;
}
return;
}
/* ===== 1020:08a9 FUN_1020_08a9 ===== */
int __cdecl16far FUN_1020_08a9(void)
{
int in_AX;
int in_CX;
if (1 < DAT_1028_0726) {
return in_AX * in_CX;
}
return in_AX * in_CX;
}
/* ===== 1020:08e6 FUN_1020_08e6 ===== */
int __cdecl16far FUN_1020_08e6(void)
{
uint uVar1;
uint in_AX;
int iVar2;
int iVar3;
uint in_CX;
uint uVar4;
uint in_DX;
uint in_BX;
int iVar5;
uint uVar6;
uint uVar7;
int iVar8;
bool bVar9;
bool bVar10;
if (1 < DAT_1028_0726) {
if (CONCAT22(in_BX,in_CX) != 0) {
return (int)(CONCAT22(in_DX,in_AX) / CONCAT22(in_BX,in_CX));
}
LAB_1020_095f:
iVar3 = FUN_1020_005d();
return iVar3;
}
bVar10 = (int)in_DX < 0;
if (bVar10) {
bVar9 = in_AX != 0;
in_AX = -in_AX;
in_DX = -(in_DX + bVar9);
}
uVar7 = (uint)bVar10;
if (in_BX == 0) {
if (in_CX == 0) goto LAB_1020_095f;
LAB_1020_0967:
iVar3 = (int)(((ulong)in_DX % (ulong)in_CX << 0x10 | (ulong)in_AX) / (ulong)in_CX);
}
else {
if ((int)in_BX < 0) {
uVar7 = uVar7 + 2;
bVar9 = in_CX != 0;
in_CX = -in_CX;
in_BX = -(in_BX + bVar9);
if (in_BX == 0) goto LAB_1020_0967;
}
iVar5 = 0;
iVar3 = 0;
iVar8 = 0x10;
do {
iVar2 = iVar3 * 2;
bVar9 = (int)in_AX < 0;
in_AX = in_AX << 1 | (uint)(iVar3 < 0);
uVar4 = in_DX << 1 | (uint)bVar9;
uVar6 = iVar5 << 1 | (uint)((int)in_DX < 0);
in_DX = uVar4 - in_CX;
uVar4 = (uint)(uVar4 < in_CX);
uVar1 = uVar6 - in_BX;
iVar5 = uVar1 - uVar4;
iVar3 = iVar2 + 1;
if (uVar6 < in_BX || uVar1 < uVar4) {
bVar9 = CARRY2(in_DX,in_CX);
in_DX = in_DX + in_CX;
iVar5 = iVar5 + in_BX + (uint)bVar9;
iVar3 = iVar2;
}
iVar8 = iVar8 + -1;
} while (iVar8 != 0);
}
uVar7 = uVar7 >> 1;
if (bVar10) {
uVar7 = uVar7 + 1;
}
if (uVar7 == 1) {
iVar3 = -iVar3;
}
return iVar3;
}
/* ===== 1020:098c runtime_1020_098c ===== */
uint __cdecl16far runtime_1020_098c(void)
{
ulong uVar1;
uint in_AX;
uint in_CX;
uint uVar2;
ulong in_EDX;
if (DAT_1028_0726 < 2) {
for (uVar2 = in_CX & 0x1f; uVar2 != 0; uVar2 = uVar2 - 1) {
uVar1 = in_EDX & 1;
in_EDX = in_EDX >> 1 & 0x7fff;
in_AX = in_AX >> 1 | (uint)(uVar1 != 0) << 0xf;
}
return in_AX;
}
return (uint)(CONCAT22((int)in_EDX,in_AX) >> ((byte)in_CX & 0x1f));
}
/* ===== 1020:09af runtime_1020_09af ===== */
int __cdecl16far runtime_1020_09af(void)
{
int in_AX;
uint in_CX;
uint uVar1;
if (DAT_1028_0726 < 2) {
for (uVar1 = in_CX & 0x1f; uVar1 != 0; uVar1 = uVar1 - 1) {
in_AX = in_AX << 1;
}
return in_AX;
}
return in_AX << ((byte)in_CX & 0x1f);
}
/* ===== 1020:09d2 runtime_1020_09d2 ===== */
void __stdcall16far runtime_1020_09d2(byte *param_1,byte *param_2)
{
byte bVar1;
uint uVar2;
byte *pbVar3;
byte *pbVar4;
pbVar4 = (byte *)param_2;
pbVar3 = (byte *)param_1;
bVar1 = *param_1;
*param_2 = bVar1;
uVar2 = (uint)bVar1;
while( true ) {
pbVar4 = pbVar4 + 1;
pbVar3 = pbVar3 + 1;
if (uVar2 == 0) break;
uVar2 = uVar2 - 1;
*pbVar4 = *pbVar3;
}
return;
}
/* ===== 1020:09ec FUN_1020_09ec ===== */
void __stdcall16far FUN_1020_09ec(byte param_1,byte *param_2,byte *param_3)
{
byte bVar1;
uint uVar2;
byte *pbVar3;
byte *pbVar4;
pbVar3 = (byte *)param_3;
pbVar4 = (byte *)param_2;
bVar1 = *param_3;
if (param_1 < *param_3) {
bVar1 = param_1;
}
*param_2 = bVar1;
uVar2 = (uint)bVar1;
while( true ) {
pbVar4 = pbVar4 + 1;
pbVar3 = pbVar3 + 1;
if (uVar2 == 0) break;
uVar2 = uVar2 - 1;
*pbVar4 = *pbVar3;
}
return;
}
/* ===== 1020:0a10 FUN_1020_0a10 ===== */
void __stdcall16far FUN_1020_0a10(uint param_1,uint param_2,byte *param_3,byte *param_4)
{
byte *pbVar1;
uint uVar2;
byte *pbVar3;
byte *pbVar4;
pbVar4 = (byte *)param_4;
if ((int)param_2 < 1) {
param_2 = 1;
}
pbVar3 = (byte *)param_3 + param_2;
if (*param_3 < param_2) {
uVar2 = 0;
}
else {
uVar2 = (*param_3 - param_2) + 1;
if ((int)param_1 < 0) {
param_1 = 0;
}
if (param_1 < uVar2) {
uVar2 = param_1;
}
}
*param_4 = (byte)uVar2;
for (; pbVar4 = pbVar4 + 1, uVar2 != 0; uVar2 = uVar2 - 1) {
pbVar1 = pbVar3;
pbVar3 = pbVar3 + 1;
*pbVar4 = *pbVar1;
}
return;
}
/* ===== 1020:0a51 FUN_1020_0a51 ===== */
void __stdcall16far FUN_1020_0a51(byte *param_1,byte *param_2)
{
byte bVar1;
byte bVar2;
byte bVar3;
uint uVar4;
byte *pbVar5;
byte *pbVar6;
pbVar5 = (byte *)param_1;
bVar2 = *param_2;
bVar3 = *param_1;
bVar1 = *param_2;
*param_2 = *param_2 + bVar3;
if (CARRY1(bVar1,bVar3)) {
*param_2 = 0xff;
bVar3 = ~bVar2;
}
pbVar6 = (byte *)param_2 + bVar2;
uVar4 = (uint)bVar3;
while( true ) {
pbVar6 = pbVar6 + 1;
pbVar5 = pbVar5 + 1;
if (uVar4 == 0) break;
uVar4 = uVar4 - 1;
*pbVar6 = *pbVar5;
}
return;
}
/* ===== 1020:0a7d FUN_1020_0a7d ===== */
byte * __stdcall16far FUN_1020_0a7d(byte *param_1,byte *param_2)
{
byte *pbVar1;
int iVar2;
int iVar3;
uint uVar4;
byte *pbVar5;
byte *pbVar6;
byte *pbVar7;
undefined2 uVar8;
undefined2 uVar9;
bool bVar10;
uVar9 = (undefined2)((ulong)param_2 >> 0x10);
if (*param_2 != 0) {
uVar4 = (uint)*param_2;
uVar8 = (undefined2)((ulong)param_1 >> 0x10);
if (uVar4 <= *param_1) {
iVar2 = (*param_1 - uVar4) + 1;
pbVar7 = (byte *)param_1 + 1;
pbVar6 = pbVar7;
do {
pbVar5 = (byte *)param_2 + 1;
bVar10 = pbVar6 == (byte *)0x0;
do {
if (iVar2 == 0) break;
iVar2 = iVar2 + -1;
pbVar1 = pbVar7;
pbVar7 = pbVar7 + 1;
bVar10 = *pbVar5 == *pbVar1;
} while (!bVar10);
if (!bVar10) {
return (byte *)0x0;
}
iVar3 = uVar4 - 1;
bVar10 = iVar3 == 0;
pbVar6 = pbVar7;
do {
pbVar5 = pbVar5 + 1;
if (iVar3 == 0) break;
iVar3 = iVar3 + -1;
pbVar1 = pbVar6;
pbVar6 = pbVar6 + 1;
bVar10 = *pbVar5 == *pbVar1;
} while (bVar10);
if (bVar10) {
return pbVar7 + (-1 - (int)(byte *)param_1);
}
pbVar6 = (byte *)param_2 + 1;
} while( true );
}
}
return (byte *)0x0;
}
/* ===== 1020:0ac3 FUN_1020_0ac3 ===== */
void __stdcall16far FUN_1020_0ac3(byte *param_1,byte *param_2)
{
byte bVar1;
uint uVar2;
byte *pbVar3;
byte *pbVar4;
pbVar3 = (byte *)param_2;
pbVar4 = (byte *)param_1;
bVar1 = *param_2;
if (*param_1 < *param_2) {
bVar1 = *param_1;
}
if (bVar1 != 0) {
uVar2 = (uint)bVar1;
do {
pbVar4 = pbVar4 + 1;
pbVar3 = pbVar3 + 1;
if (uVar2 == 0) {
return;
}
uVar2 = uVar2 - 1;
} while (*pbVar3 == *pbVar4);
}
return;
}
/* ===== 1020:0aee runtime_1020_0aee ===== */
void __stdcall16far runtime_1020_0aee(undefined1 param_1,undefined1 *param_2)
{
*param_2 = 1;
((undefined1 *)param_2)[1] = param_1;
return;
}
/* ===== 1020:0b00 FUN_1020_0b00 ===== */
void __stdcall16far FUN_1020_0b00(int param_1,undefined1 *param_2,undefined1 *param_3)
{
undefined1 *puVar1;
undefined1 *puVar2;
undefined1 *puVar3;
puVar3 = (undefined1 *)param_3;
puVar2 = (undefined1 *)param_2;
*param_3 = (char)param_1;
for (; puVar3 = puVar3 + 1, param_1 != 0; param_1 = param_1 + -1) {
puVar1 = puVar2;
puVar2 = puVar2 + 1;
*puVar3 = *puVar1;
}
return;
}
/* ===== 1020:0b1b FUN_1020_0b1b ===== */
void __stdcall16far
FUN_1020_0b1b(int param_1,undefined2 param_2,undefined4 param_3,undefined4 param_4)
{
undefined2 uVar1;
undefined2 uVar2;
undefined2 unaff_SS;
undefined1 *puVar3;
undefined1 *puVar4;
undefined2 uVar5;
undefined1 local_202 [256];
undefined1 local_102 [256];
if (param_1 < 1) {
param_1 = 1;
}
puVar4 = local_102;
uVar2 = (undefined2)((ulong)param_3 >> 0x10);
uVar1 = (undefined2)param_3;
uVar5 = unaff_SS;
FUN_1020_0a10(param_1 + -1,1,uVar1,uVar2);
FUN_1020_0a51((int)param_4,(int)((ulong)param_4 >> 0x10));
puVar3 = local_202;
FUN_1020_0a10(0xff,param_1,uVar1,uVar2);
FUN_1020_0a51(puVar3,unaff_SS);
FUN_1020_09ec(param_2,uVar1,uVar2,puVar4,uVar5);
return;
}
/* ===== 1020:0b7a FUN_1020_0b7a ===== */
void __stdcall16far FUN_1020_0b7a(int param_1,int param_2,undefined4 param_3)
{
undefined2 uVar1;
undefined2 uVar2;
undefined2 unaff_SS;
undefined1 *puVar3;
undefined1 *puVar4;
undefined2 uVar5;
undefined1 local_202 [256];
undefined1 local_102 [256];
if (((0 < param_1) && (0 < param_2)) && (param_2 < 0x100)) {
if (0xff < param_1) {
param_1 = 0xff;
}
puVar4 = local_102;
uVar2 = (undefined2)((ulong)param_3 >> 0x10);
uVar1 = (undefined2)param_3;
uVar5 = unaff_SS;
FUN_1020_0a10(param_2 + -1,1,uVar1,uVar2);
puVar3 = local_202;
FUN_1020_0a10(0xff,param_2 + param_1,uVar1,uVar2);
FUN_1020_0a51(puVar3,unaff_SS);
FUN_1020_09ec(0xff,uVar1,uVar2,puVar4,uVar5);
}
return;
}
/* ===== 1020:0be9 FUN_1020_0be9 ===== */
int __stdcall16far FUN_1020_0be9(int *param_1)
{
code *pcVar1;
int iVar2;
int iVar3;
uint extraout_DX;
int iVar4;
int *piVar5;
undefined2 uVar6;
bool bVar7;
uVar6 = (undefined2)((ulong)param_1 >> 0x10);
piVar5 = (int *)param_1;
*param_1 = 0;
if (piVar5[1] != -0x284f) {
*param_1 = *param_1 + 1;
}
bVar7 = false;
if ((char)piVar5[0x18] != '\0') {
pcVar1 = (code *)swi(0x21);
iVar2 = (*pcVar1)();
if (bVar7) {
return iVar2;
}
*param_1 = iVar2;
}
iVar2 = 0x5d8;
iVar3 = 0;
iVar4 = 0;
if (piVar5[1] != -0x284f) {
pcVar1 = (code *)swi(0x21);
(*pcVar1)();
iVar2 = 0x62d;
iVar3 = 0x62d;
iVar4 = 0x1020;
if ((extraout_DX & 0x80) == 0) {
if (piVar5[1] == -0x284d) {
FUN_1020_0c76();
}
iVar2 = 0x608;
iVar3 = 0;
iVar4 = 0;
}
piVar5[1] = -0x284e;
}
piVar5[10] = iVar2;
piVar5[0xb] = 0x1020;
piVar5[0xc] = iVar3;
piVar5[0xd] = iVar4;
piVar5[0xe] = 0x64d;
piVar5[0xf] = 0x1020;
return 0;
}
/* ===== 1020:0c76 FUN_1020_0c76 ===== */
void __cdecl16near FUN_1020_0c76(void)
{
bool bVar1;
code *pcVar2;
int iVar3;
int iVar4;
int unaff_DI;
undefined1 uVar5;
undefined4 uVar6;
pcVar2 = (code *)swi(0x21);
uVar6 = (*pcVar2)();
bVar1 = (uint)((ulong)uVar6 >> 0x10) < (uint)((uint)uVar6 < 0x80);
uVar5 = !bVar1 && bVar1;
pcVar2 = (code *)swi(0x21);
(*pcVar2)();
pcVar2 = (code *)swi(0x21);
iVar3 = (*pcVar2)();
if ((bool)uVar5) {
iVar3 = 0;
}
iVar4 = 0;
while( true ) {
if (iVar4 == iVar3) {
return;
}
if (*(char *)(iVar4 + unaff_DI + 0x80) == '\x1a') break;
iVar4 = iVar4 + 1;
}
pcVar2 = (code *)swi(0x21);
(*pcVar2)();
pcVar2 = (code *)swi(0x21);
(*pcVar2)();
return;
}
/* ===== 1020:0cd0 FUN_1020_0cd0 ===== */
undefined4 FUN_1020_0cd0(void)
{
uint uVar1;
byte bVar2;
uint in_AX;
uint uVar3;
uint uVar4;
char cVar5;
uint in_CX;
uint uVar6;
uint in_DX;
uint uVar7;
uint in_BX;
uint uVar8;
uint uVar9;
uint unaff_SI;
uint unaff_DI;
uint uVar10;
uint uVar11;
bool bVar12;
bool bVar13;
undefined4 uVar14;
uVar10 = unaff_DI ^ 0x8000;
if ((byte)in_CX != 0) {
if ((byte)in_AX == 0) {
LAB_1020_0d54:
return CONCAT22(uVar10,in_CX);
}
uVar4 = in_AX;
uVar7 = in_DX;
uVar8 = in_BX;
if ((byte)in_CX < (byte)in_AX) {
uVar4 = in_CX;
in_CX = in_AX;
uVar7 = uVar10;
uVar8 = unaff_SI;
unaff_SI = in_BX;
uVar10 = in_DX;
}
bVar2 = -((char)uVar4 - (char)in_CX);
if (0x28 < bVar2) goto LAB_1020_0d54;
uVar3 = CONCAT11((char)(uVar7 >> 8),(char)in_CX) & 0x80ff;
uVar4 = uVar4 & 0xff00;
uVar7 = uVar7 | 0x8000;
uVar11 = uVar10 | 0x8000;
for (; 7 < bVar2; bVar2 = bVar2 - 8) {
uVar4 = CONCAT11((char)uVar8,(char)(uVar4 >> 8));
uVar8 = CONCAT11((char)uVar7,(char)(uVar8 >> 8));
uVar7 = uVar7 >> 8;
}
uVar6 = CONCAT11((char)(in_CX >> 8),bVar2);
while (bVar2 != 0) {
uVar1 = uVar7 & 1;
uVar7 = uVar7 >> 1;
uVar9 = uVar8 & 1;
uVar8 = uVar8 >> 1 | (uint)(uVar1 != 0) << 0xf;
uVar4 = uVar4 >> 1 | (uint)(uVar9 != 0) << 0xf;
bVar2 = (char)uVar6 - 1;
uVar6 = CONCAT11((char)(uVar6 >> 8),bVar2);
}
if ((int)(uVar3 ^ uVar10) < 0) {
in_AX = uVar4 - uVar6;
uVar9 = (uVar8 - unaff_SI) - (uint)(uVar4 < uVar6);
uVar10 = (uint)(uVar8 < unaff_SI || uVar8 - unaff_SI < (uint)(uVar4 < uVar6));
in_DX = (uVar7 - uVar11) - uVar10;
if (uVar7 < uVar11 || uVar7 - uVar11 < uVar10) {
uVar10 = ~uVar9;
bVar12 = in_AX == 0;
in_AX = -in_AX;
uVar9 = uVar10 + bVar12;
in_DX = ~in_DX + (uint)CARRY2(uVar10,(uint)bVar12);
uVar3 = uVar3 ^ 0x8000;
}
if ((in_DX == 0 && uVar9 == 0) && in_AX == 0) goto LAB_1020_0d53;
while (-1 < (int)in_DX) {
bVar12 = (int)in_AX < 0;
in_AX = in_AX << 1;
bVar13 = (int)uVar9 < 0;
uVar9 = uVar9 << 1 | (uint)bVar12;
in_DX = in_DX << 1 | (uint)bVar13;
cVar5 = (char)uVar3 + -1;
uVar3 = CONCAT11((char)(uVar3 >> 8),cVar5);
if (cVar5 == '\0') {
uVar14 = FUN_1020_0e93();
return uVar14;
}
}
}
else {
in_AX = uVar4 + uVar6;
uVar9 = uVar8 + unaff_SI + (uint)CARRY2(uVar4,uVar6);
uVar10 = (uint)(CARRY2(uVar8,unaff_SI) || CARRY2(uVar8 + unaff_SI,(uint)CARRY2(uVar4,uVar6)));
uVar4 = uVar7 + uVar11;
in_DX = uVar4 + uVar10;
if (CARRY2(uVar7,uVar11) || CARRY2(uVar4,uVar10)) {
uVar8 = in_DX & 1;
in_DX = in_DX >> 1 | (uint)(CARRY2(uVar7,uVar11) || CARRY2(uVar4,uVar10)) << 0xf;
uVar10 = uVar9 & 1;
uVar9 = uVar9 >> 1 | (uint)(uVar8 != 0) << 0xf;
in_AX = in_AX >> 1 | (uint)(uVar10 != 0) << 0xf;
cVar5 = (char)uVar3 + '\x01';
uVar3 = CONCAT11((char)(uVar3 >> 8),cVar5);
if (cVar5 == '\0') goto LAB_1020_0d61;
}
}
bVar12 = 0xff7f < in_AX;
in_AX = in_AX + 0x80;
uVar10 = (uint)CARRY2(uVar9,(uint)bVar12);
bVar12 = CARRY2(in_DX,uVar10);
in_DX = in_DX + uVar10;
if (bVar12) {
in_DX = in_DX >> 1 | 0x8000;
cVar5 = (char)uVar3 + '\x01';
uVar3 = CONCAT11((char)(uVar3 >> 8),cVar5);
if (cVar5 == '\0') {
LAB_1020_0d61:
return CONCAT22(in_DX,in_AX);
}
}
in_AX = CONCAT11((char)(in_AX >> 8),(char)uVar3);
in_DX = CONCAT11((byte)((in_DX & 0x7fff) >> 8) | (byte)(uVar3 >> 8),(char)(in_DX & 0x7fff));
}
LAB_1020_0d53:
return CONCAT22(in_DX,in_AX);
}
/* ===== 1020:0cd4 FUN_1020_0cd4 ===== */
undefined4 __cdecl16near FUN_1020_0cd4(void)
{
uint uVar1;
byte bVar2;
uint in_AX;
uint uVar3;
uint uVar4;
char cVar5;
uint in_CX;
uint uVar6;
uint in_DX;
uint uVar7;
uint in_BX;
uint uVar8;
uint uVar9;
uint unaff_SI;
uint unaff_DI;
uint uVar10;
bool bVar11;
bool bVar12;
undefined4 uVar13;
if ((byte)in_CX != 0) {
if ((byte)in_AX == 0) {
LAB_1020_0d54:
return CONCAT22(unaff_DI,in_CX);
}
uVar4 = in_AX;
uVar7 = in_DX;
uVar8 = in_BX;
if ((byte)in_CX < (byte)in_AX) {
uVar4 = in_CX;
in_CX = in_AX;
uVar7 = unaff_DI;
uVar8 = unaff_SI;
unaff_SI = in_BX;
unaff_DI = in_DX;
}
bVar2 = -((char)uVar4 - (char)in_CX);
if (0x28 < bVar2) goto LAB_1020_0d54;
uVar3 = CONCAT11((char)(uVar7 >> 8),(char)in_CX) & 0x80ff;
uVar4 = uVar4 & 0xff00;
uVar7 = uVar7 | 0x8000;
uVar10 = unaff_DI | 0x8000;
for (; 7 < bVar2; bVar2 = bVar2 - 8) {
uVar4 = CONCAT11((char)uVar8,(char)(uVar4 >> 8));
uVar8 = CONCAT11((char)uVar7,(char)(uVar8 >> 8));
uVar7 = uVar7 >> 8;
}
uVar6 = CONCAT11((char)(in_CX >> 8),bVar2);
while (bVar2 != 0) {
uVar1 = uVar7 & 1;
uVar7 = uVar7 >> 1;
uVar9 = uVar8 & 1;
uVar8 = uVar8 >> 1 | (uint)(uVar1 != 0) << 0xf;
uVar4 = uVar4 >> 1 | (uint)(uVar9 != 0) << 0xf;
bVar2 = (char)uVar6 - 1;
uVar6 = CONCAT11((char)(uVar6 >> 8),bVar2);
}
if ((int)(uVar3 ^ unaff_DI) < 0) {
in_AX = uVar4 - uVar6;
uVar9 = (uVar8 - unaff_SI) - (uint)(uVar4 < uVar6);
uVar4 = (uint)(uVar8 < unaff_SI || uVar8 - unaff_SI < (uint)(uVar4 < uVar6));
in_DX = (uVar7 - uVar10) - uVar4;
if (uVar7 < uVar10 || uVar7 - uVar10 < uVar4) {
uVar7 = ~uVar9;
bVar11 = in_AX == 0;
in_AX = -in_AX;
uVar9 = uVar7 + bVar11;
in_DX = ~in_DX + (uint)CARRY2(uVar7,(uint)bVar11);
uVar3 = uVar3 ^ 0x8000;
}
if ((in_DX == 0 && uVar9 == 0) && in_AX == 0) goto LAB_1020_0d53;
while (-1 < (int)in_DX) {
bVar11 = (int)in_AX < 0;
in_AX = in_AX << 1;
bVar12 = (int)uVar9 < 0;
uVar9 = uVar9 << 1 | (uint)bVar11;
in_DX = in_DX << 1 | (uint)bVar12;
cVar5 = (char)uVar3 + -1;
uVar3 = CONCAT11((char)(uVar3 >> 8),cVar5);
if (cVar5 == '\0') {
uVar13 = FUN_1020_0e93();
return uVar13;
}
}
}
else {
in_AX = uVar4 + uVar6;
uVar9 = uVar8 + unaff_SI + (uint)CARRY2(uVar4,uVar6);
uVar4 = (uint)(CARRY2(uVar8,unaff_SI) || CARRY2(uVar8 + unaff_SI,(uint)CARRY2(uVar4,uVar6)));
uVar8 = uVar7 + uVar10;
in_DX = uVar8 + uVar4;
if (CARRY2(uVar7,uVar10) || CARRY2(uVar8,uVar4)) {
uVar6 = in_DX & 1;
in_DX = in_DX >> 1 | (uint)(CARRY2(uVar7,uVar10) || CARRY2(uVar8,uVar4)) << 0xf;
uVar7 = uVar9 & 1;
uVar9 = uVar9 >> 1 | (uint)(uVar6 != 0) << 0xf;
in_AX = in_AX >> 1 | (uint)(uVar7 != 0) << 0xf;
cVar5 = (char)uVar3 + '\x01';
uVar3 = CONCAT11((char)(uVar3 >> 8),cVar5);
if (cVar5 == '\0') goto LAB_1020_0d61;
}
}
bVar11 = 0xff7f < in_AX;
in_AX = in_AX + 0x80;
uVar7 = (uint)CARRY2(uVar9,(uint)bVar11);
bVar11 = CARRY2(in_DX,uVar7);
in_DX = in_DX + uVar7;
if (bVar11) {
in_DX = in_DX >> 1 | 0x8000;
cVar5 = (char)uVar3 + '\x01';
uVar3 = CONCAT11((char)(uVar3 >> 8),cVar5);
if (cVar5 == '\0') {
LAB_1020_0d61:
return CONCAT22(in_DX,in_AX);
}
}
in_AX = CONCAT11((char)(in_AX >> 8),(char)uVar3);
in_DX = CONCAT11((byte)((in_DX & 0x7fff) >> 8) | (byte)(uVar3 >> 8),(char)(in_DX & 0x7fff));
}
LAB_1020_0d53:
return CONCAT22(in_DX,in_AX);
}
/* ===== 1020:0d97 FUN_1020_0d97 ===== */
undefined4 __cdecl16near FUN_1020_0d97(void)
{
long lVar1;
long lVar2;
ulong uVar3;
long lVar4;
byte bVar5;
undefined2 in_AX;
byte bVar7;
uint uVar6;
byte bVar8;
uint in_CX;
int iVar9;
uint in_DX;
uint uVar10;
uint uVar11;
uint uVar12;
uint uVar13;
uint uVar14;
uint in_BX;
uint uVar15;
uint uVar16;
uint uVar17;
uint uVar18;
uint uVar19;
uint uVar20;
uint unaff_SI;
uint unaff_DI;
uint uVar21;
uint uVar22;
uint uVar23;
bool bVar24;
undefined4 uVar25;
bVar5 = (byte)in_AX;
bVar7 = (byte)((uint)in_AX >> 8);
if ((bVar5 == 0) || (bVar8 = (byte)in_CX, bVar8 == 0)) {
uVar25 = FUN_1020_0e93();
return uVar25;
}
iVar9 = CONCAT11((((byte)(in_DX >> 8) ^ (byte)(unaff_DI >> 8)) & 0x80) + CARRY1(bVar5,bVar8),
bVar5 + bVar8);
bVar5 = (byte)(in_CX >> 8);
uVar20 = in_DX | 0x8000;
uVar21 = unaff_DI | 0x8000;
if (((bVar7 == 0) &&
(uVar6 = in_CX & 0xff00, uVar14 = uVar20, uVar10 = unaff_SI, uVar22 = uVar21, in_BX == 0)) ||
((bVar5 == 0 &&
(uVar6 = (uint)bVar7 << 8, uVar14 = uVar21, uVar10 = in_BX, uVar22 = uVar20, unaff_SI == 0))))
{
uVar3 = (ulong)uVar10 * (ulong)uVar14 + ((ulong)uVar6 * (ulong)uVar14 >> 0x10);
uVar15 = (uint)uVar3;
lVar1 = (ulong)uVar22 * (ulong)uVar14 + (uVar3 >> 0x10);
}
else {
lVar1 = (ulong)bVar7 * 0x100 * (ulong)unaff_SI;
lVar4 = lVar1 + (ulong)((uint)bVar7 * (uint)bVar5);
uVar22 = (uint)((ulong)lVar4 >> 0x10);
lVar2 = (ulong)in_BX * (ulong)bVar5 * 0x100;
uVar10 = (uint)((ulong)lVar2 >> 0x10);
uVar6 = (uint)CARRY2((uint)lVar4,(uint)lVar2);
uVar14 = uVar22 + uVar10;
uVar15 = uVar14 + uVar6;
uVar16 = (uint)CARRY2((uint)((ulong)lVar1 >> 0x10),
(uint)CARRY2((uint)bVar7 * (uint)bVar5,(uint)lVar1)) +
(uint)(CARRY2(uVar22,uVar10) || CARRY2(uVar14,uVar6));
lVar1 = (ulong)bVar7 * 0x100 * (ulong)uVar21;
uVar11 = (uint)((ulong)lVar1 >> 0x10);
uVar6 = (uint)lVar1;
uVar23 = uVar15 + uVar6;
uVar6 = (uint)CARRY2(uVar15,uVar6);
uVar22 = uVar16 + uVar11;
uVar17 = uVar22 + uVar6;
uVar12 = (uint)((ulong)in_BX * (ulong)unaff_SI >> 0x10);
uVar10 = (uint)((ulong)in_BX * (ulong)unaff_SI);
uVar14 = (uint)CARRY2(uVar23,uVar10);
uVar15 = uVar17 + uVar12;
uVar18 = uVar15 + uVar14;
lVar1 = (ulong)uVar20 * (ulong)bVar5 * 0x100;
uVar13 = (uint)((ulong)lVar1 >> 0x10);
uVar10 = (uint)CARRY2(uVar23 + uVar10,(uint)lVar1);
uVar23 = uVar18 + uVar13;
uVar19 = uVar23 + uVar10;
uVar12 = (uint)(CARRY2(uVar16,uVar11) || CARRY2(uVar22,uVar6)) +
(uint)(CARRY2(uVar17,uVar12) || CARRY2(uVar15,uVar14)) +
(uint)(CARRY2(uVar18,uVar13) || CARRY2(uVar23,uVar10));
uVar23 = (uint)((ulong)in_BX * (ulong)uVar21 >> 0x10);
uVar6 = (uint)((ulong)in_BX * (ulong)uVar21);
uVar22 = uVar19 + uVar6;
uVar6 = (uint)CARRY2(uVar19,uVar6);
uVar10 = uVar12 + uVar23;
uVar13 = uVar10 + uVar6;
uVar11 = (uint)((ulong)uVar20 * (ulong)unaff_SI >> 0x10);
uVar14 = (uint)((ulong)uVar20 * (ulong)unaff_SI);
uVar15 = uVar22 + uVar14;
uVar14 = (uint)CARRY2(uVar22,uVar14);
uVar22 = uVar13 + uVar11;
lVar1 = (ulong)uVar20 * (ulong)uVar21 +
CONCAT22((uint)(CARRY2(uVar12,uVar23) || CARRY2(uVar10,uVar6)) +
(uint)(CARRY2(uVar13,uVar11) || CARRY2(uVar22,uVar14)),uVar22 + uVar14);
}
if (-1 < lVar1) {
bVar24 = (int)uVar15 < 0;
uVar15 = uVar15 << 1;
lVar1 = CONCAT22((int)((ulong)lVar1 >> 0x10) << 1 | (uint)((int)lVar1 < 0),
(int)lVar1 << 1 | (uint)bVar24);
iVar9 = iVar9 + -1;
}
uVar6 = (uint)((ulong)lVar1 >> 0x10);
uVar21 = iVar9 + 0x7f7f;
uVar20 = (uint)CARRY2((uint)lVar1,(uint)(0xff7f < uVar15));
uVar14 = uVar6 + uVar20;
if (CARRY2(uVar6,uVar20)) {
uVar14 = uVar14 >> 1 | 0x8000;
uVar21 = iVar9 + 0x7f80;
}
if ((uVar21 & 0x4000) != 0) {
return 0;
}
return CONCAT22(CONCAT11((byte)(uVar14 >> 8) ^ (byte)(uVar21 + 1 >> 8),(char)uVar14),
CONCAT11((char)(uVar15 + 0x80 >> 8),(char)(uVar21 + 1)));
}
/* ===== 1020:0e93 FUN_1020_0e93 ===== */
void __cdecl16near FUN_1020_0e93(void)
{
return;
}
/* ===== 1020:0e9a FUN_1020_0e9a ===== */
undefined4 __cdecl16near FUN_1020_0e9a(void)
{
byte bVar1;
undefined1 uVar2;
char cVar3;
undefined2 in_AX;
int iVar4;
byte bVar5;
undefined2 in_CX;
byte bVar7;
uint uVar6;
uint in_DX;
char cVar9;
uint uVar8;
uint in_BX;
uint uVar10;
uint unaff_BP;
uint uVar11;
uint unaff_SI;
uint unaff_DI;
uint uVar12;
bool bVar13;
bool bVar14;
int in_stack_00000000;
bVar1 = (byte)in_AX;
if (bVar1 == 0) {
return 0;
}
uVar12 = unaff_DI | 0x8000;
uVar11 = in_DX | 0x8000;
cVar9 = (((byte)(in_DX >> 8) ^ (byte)(unaff_DI >> 8)) & 0x80) - (bVar1 < (byte)in_CX);
iVar4 = CONCAT11((char)((uint)in_AX >> 8),2);
uVar8 = 1;
do {
bVar13 = uVar11 < uVar12;
bVar7 = (byte)((uint)in_CX >> 8);
bVar5 = (byte)((uint)iVar4 >> 8);
if ((uVar11 == uVar12) && (bVar13 = in_BX < unaff_SI, in_BX == unaff_SI)) {
bVar13 = bVar5 < bVar7;
}
if (!bVar13) {
iVar4 = CONCAT11(bVar5 - bVar7,(char)iVar4);
bVar13 = in_BX < unaff_SI;
uVar10 = in_BX - unaff_SI;
in_BX = uVar10 - (bVar5 < bVar7);
uVar10 = (uint)(bVar13 || uVar10 < (bVar5 < bVar7));
bVar13 = uVar11 < uVar12 || uVar11 - uVar12 < uVar10;
uVar11 = (uVar11 - uVar12) - uVar10;
}
while( true ) {
bVar14 = (int)uVar8 < 0;
uVar8 = uVar8 << 1 | (uint)bVar13;
if (bVar14) {
cVar3 = (char)iVar4 + -1;
iVar4 = CONCAT11((char)((uint)iVar4 >> 8),cVar3);
if (cVar3 < '\0') {
uVar11 = ~(uVar8 << 6);
uVar10 = ~CONCAT11(cVar9,bVar1 - (byte)in_CX);
uVar12 = unaff_BP ^ 0xffff;
if (-1 < (int)uVar12) {
uVar11 = uVar11 << 1;
uVar10 = uVar10 << 1 | (uint)(-1 < (int)(uVar8 << 6));
uVar12 = uVar12 << 1 | (uint)(-1 < cVar9);
in_stack_00000000 = in_stack_00000000 + -1;
}
uVar6 = in_stack_00000000 + 0x8080;
uVar8 = (uint)CARRY2(uVar10,(uint)(0xff7f < uVar11));
uVar10 = uVar12 + uVar8;
if (CARRY2(uVar12,uVar8)) {
uVar10 = uVar10 >> 1 | 0x8000;
uVar6 = in_stack_00000000 + 0x8081;
}
if ((uVar6 & 0x4000) != 0) {
return 0;
}
return CONCAT22(CONCAT11((byte)(uVar10 >> 8) ^ (byte)(uVar6 + 1 >> 8),(char)uVar10),
CONCAT11((char)(uVar11 + 0x80 >> 8),(char)(uVar6 + 1)));
}
uVar8 = 1;
if (cVar3 == '\0') {
uVar8 = 0x40;
}
}
bVar13 = iVar4 < 0;
uVar2 = (undefined1)iVar4;
bVar5 = (char)((uint)iVar4 >> 8) * '\x02';
iVar4 = CONCAT11(bVar5,uVar2);
bVar14 = (int)in_BX < 0;
in_BX = in_BX << 1 | (uint)bVar13;
bVar13 = -1 < (int)uVar11;
uVar11 = uVar11 << 1 | (uint)bVar14;
if (bVar13) break;
iVar4 = CONCAT11(bVar5 - bVar7,uVar2);
bVar13 = in_BX < unaff_SI;
uVar10 = in_BX - unaff_SI;
in_BX = uVar10 - (bVar5 < bVar7);
uVar11 = (uVar11 - uVar12) - (uint)(bVar13 || uVar10 < (bVar5 < bVar7));
bVar13 = false;
}
} while( true );
}
/* ===== 1020:0f11 FUN_1020_0f11 ===== */
void __cdecl16near FUN_1020_0f11(void)
{
uint in_DX;
uint unaff_DI;
bool bVar1;
if ((int)(in_DX ^ unaff_DI) < 0) {
return;
}
bVar1 = (in_DX & 0x8000) == 0;
if ((!bVar1) && (FUN_1020_0f28(), !bVar1)) {
return;
}
return;
}
/* ===== 1020:0f28 FUN_1020_0f28 ===== */
void __cdecl16near FUN_1020_0f28(void)
{
return;
}
/* ===== 1020:0f3b FUN_1020_0f3b ===== */
void __cdecl16near FUN_1020_0f3b(void)
{
uint uVar1;
uint in_AX;
uint in_DX;
bool bVar2;
if (in_AX != 0 || in_DX != 0) {
if ((int)in_DX < 0) {
bVar2 = in_AX != 0;
in_AX = -in_AX;
in_DX = -(uint)bVar2 - in_DX;
}
uVar1 = in_AX;
if ((in_DX == 0) && (uVar1 = 0, in_DX = in_AX, (char)(in_AX >> 8) == '\0')) {
in_DX = in_AX << 8;
}
while (-1 < (int)in_DX) {
in_DX = in_DX * 2 + (uint)CARRY2(uVar1,uVar1);
uVar1 = uVar1 * 2;
}
}
return;
}
/* ===== 1020:0f77 FUN_1020_0f77 ===== */
void __cdecl16near FUN_1020_0f77(void)
{
byte in_AL;
byte bVar1;
bVar1 = -in_AL + 0xa0;
if (in_AL < 0xa1) {
if (bVar1 < 0x20) {
if (0xf < bVar1) {
bVar1 = -in_AL + 0x90;
}
if (7 < bVar1) {
bVar1 = bVar1 - 8;
}
for (; bVar1 != 0; bVar1 = bVar1 - 1) {
}
}
else if (bVar1 != 0x20) {
return;
}
}
return;
}
/* ===== 1020:0fe5 FUN_1020_0fe5 ===== */
void __cdecl16far FUN_1020_0fe5(void)
{
undefined1 in_CF;
FUN_1020_0cd4();
if (!(bool)in_CF) {
return;
}
FUN_1020_005d();
return;
}
/* ===== 1020:0feb FUN_1020_0feb ===== */
void __cdecl16far FUN_1020_0feb(void)
{
undefined1 in_CF;
FUN_1020_0cd0();
if (!(bool)in_CF) {
return;
}
FUN_1020_005d();
return;
}
/* ===== 1020:0ff1 FUN_1020_0ff1 ===== */
void FUN_1020_0ff1(void)
{
undefined1 in_CF;
FUN_1020_0d97();
if (!(bool)in_CF) {
return;
}
FUN_1020_005d();
return;
}
/* ===== 1020:0ff7 FUN_1020_0ff7 ===== */
void __cdecl16far FUN_1020_0ff7(void)
{
undefined1 in_CF;
FUN_1020_0d97();
if (!(bool)in_CF) {
return;
}
FUN_1020_005d();
return;
}
/* ===== 1020:0ffd FUN_1020_0ffd ===== */
void __cdecl16far FUN_1020_0ffd(void)
{
char in_CL;
bool bVar1;
bVar1 = false;
if (in_CL == '\0') {
FUN_1020_005d();
return;
}
FUN_1020_0e9a();
if (!bVar1) {
return;
}
FUN_1020_005d();
return;
}
/* ===== 1020:1007 FUN_1020_1007 ===== */
void __cdecl16far FUN_1020_1007(void)
{
FUN_1020_0f11();
return;
}
/* ===== 1020:100b FUN_1020_100b ===== */
void __cdecl16far FUN_1020_100b(void)
{
FUN_1020_0f3b();
return;
}
/* ===== 1020:1017 FUN_1020_1017 ===== */
void __cdecl16far FUN_1020_1017(void)
{
undefined1 in_CF;
FUN_1020_0f77();
if (!(bool)in_CF) {
return;
}
FUN_1020_005d();
return;
}
/* ===== 1020:1031 FUN_1020_1031 ===== */
void __cdecl16near FUN_1020_1031(void)
{
FUN_1020_0cd4();
return;
}
/* ===== 1020:103b runtime_1020_103b ===== */
void __cdecl16near runtime_1020_103b(void)
{
FUN_1020_0cd0();
return;
}
/* ===== 1020:1045 runtime_1020_1045 ===== */
void __cdecl16near runtime_1020_1045(void)
{
FUN_1020_0d97();
return;
}
/* ===== 1020:104f FUN_1020_104f ===== */
void __cdecl16near FUN_1020_104f(void)
{
FUN_1020_0e9a();
return;
}
/* ===== 1020:1059 runtime_1020_1059 ===== */
uint __cdecl16far runtime_1020_1059(void)
{
uint uVar1;
uint uVar2;
byte bVar3;
uint in_AX;
uint uVar4;
byte bVar5;
uint uVar6;
undefined1 uVar8;
uint uVar7;
bVar3 = (byte)in_AX;
if (bVar3 < 0xa8) {
uVar4 = in_AX & 0xff;
bVar5 = bVar3 + 0x80;
uVar1 = 0;
uVar7 = 0;
if (bVar3 < 0x80 || bVar5 == 0) {
return 0;
}
while( true ) {
uVar6 = uVar1;
uVar8 = (undefined1)(uVar7 >> 8);
if (bVar5 < 0x10) break;
uVar4 = CONCAT11(uVar8,(char)uVar4);
bVar5 = bVar5 - 0x10;
uVar1 = 0xffff;
uVar7 = uVar6;
}
if (7 < bVar5) {
uVar4 = CONCAT11((char)uVar7,(char)uVar4);
uVar7 = CONCAT11((char)uVar6,uVar8);
uVar6 = CONCAT11(0xff,(char)(uVar6 >> 8));
bVar5 = bVar5 - 8;
}
while( true ) {
bVar3 = (byte)(uVar4 >> 8);
if (bVar5 == 0) break;
uVar1 = uVar6 & 1;
uVar6 = uVar6 >> 1 | 0x8000;
uVar2 = uVar7 & 1;
uVar7 = uVar7 >> 1 | (uint)(uVar1 != 0) << 0xf;
uVar4 = CONCAT11(bVar3 >> 1 | (uVar2 != 0) << 7,(char)uVar4);
bVar5 = bVar5 - 1;
}
in_AX = CONCAT11(bVar3 & (byte)(in_AX >> 8),(char)uVar4);
}
return in_AX;
}
/* ===== 1020:10aa runtime_1020_10aa ===== */
void __cdecl16far runtime_1020_10aa(void)
{
runtime_1020_1059();
FUN_1020_0cd0();
return;
}
/* ===== 1020:10be FUN_1020_10be ===== */
uint __cdecl16far FUN_1020_10be(void)
{
char cVar1;
byte bVar2;
uint in_AX;
uint uVar3;
uint in_DX;
undefined2 in_BX;
undefined2 uVar4;
undefined4 uVar5;
cVar1 = (char)in_AX;
if (cVar1 != '\0') {
if ((in_DX & 0x8000) != 0) {
uVar3 = FUN_1020_005d();
return uVar3;
}
do {
uVar4 = in_BX;
FUN_1020_104f();
uVar5 = FUN_1020_1031();
in_AX = (uint)(byte)((char)uVar5 - 1);
bVar2 = FUN_1020_0cd0(in_AX,uVar4,(int)((ulong)uVar5 >> 0x10));
} while ((byte)(((char)(cVar1 + -0x80) >> 1) + 0x6cU) <= bVar2);
}
return in_AX;
}
/* ===== 1020:111d runtime_1020_111d ===== */
void __cdecl16far runtime_1020_111d(void)
{
byte bVar1;
undefined2 uVar2;
uint extraout_DX;
uint uVar3;
uint extraout_DX_00;
bool bVar4;
undefined1 uVar5;
bVar1 = FUN_1020_0cd4();
uVar3 = extraout_DX;
if (bVar1 != 0) {
uVar3 = extraout_DX ^ 0x8000;
}
if (0x6b < bVar1) {
uVar2 = 0x2183;
bVar4 = false;
FUN_1020_0f11();
if (!bVar4) {
FUN_1020_104f();
runtime_1020_10aa(uVar2,0xdaa2,0x490f);
runtime_1020_1045();
uVar3 = extraout_DX_00;
}
uVar5 = 0;
if ((uVar3 & 0x8000) != 0) {
FUN_1020_1031();
}
FUN_1020_0f11();
if (!(bool)uVar5) {
runtime_1020_103b();
}
bVar1 = FUN_1020_0f11();
if (!(bool)uVar5) {
bVar1 = FUN_1020_0cd4();
}
if (0x6b < bVar1) {
FUN_1020_143c();
}
}
return;
}
/* ===== 1020:11bb runtime_1020_11bb ===== */
undefined2 __cdecl16far runtime_1020_11bb(void)
{
char in_AL;
undefined2 uVar1;
uint in_DX;
undefined2 uVar2;
undefined4 uVar3;
if ((in_AL != '\0') && ((in_DX & 0x8000) == 0)) {
FUN_1020_0d97(in_AL + '\x7f');
uVar1 = 0;
uVar3 = FUN_1020_1031();
uVar2 = 0;
FUN_1020_0cd4((int)uVar3,uVar1,(int)((ulong)uVar3 >> 0x10));
FUN_1020_0e9a();
FUN_1020_143c();
uVar3 = FUN_1020_0cd4();
FUN_1020_0f3b((int)uVar3,uVar2,(int)((ulong)uVar3 >> 0x10));
FUN_1020_0d97();
uVar1 = FUN_1020_0cd4();
if ((byte)uVar1 < 0x67) {
uVar1 = 0;
}
return uVar1;
}
uVar1 = FUN_1020_005d();
return uVar1;
}
/* ===== 1020:1264 runtime_1020_1264 ===== */
char __cdecl16far runtime_1020_1264(void)
{
byte bVar1;
char cVar2;
uint uVar3;
byte bVar4;
uint in_DX;
undefined2 in_BX;
undefined4 uVar5;
undefined2 uVar6;
uVar5 = FUN_1020_0e9a();
uVar6 = (undefined2)uVar5;
if ((byte)uVar5 < 0x88) {
uVar3 = FUN_1020_0f77(uVar6,in_BX,(int)((ulong)uVar5 >> 0x10));
FUN_1020_0f3b(uVar6);
FUN_1020_0cd0();
bVar1 = FUN_1020_1455();
bVar4 = (byte)(uVar3 >> 1);
if ((uVar3 & 1) != 0) {
bVar1 = FUN_1020_0d97();
}
cVar2 = bVar1 + bVar4;
if (!CARRY1(bVar1,bVar4)) {
if ((in_DX & 0x8000) != 0) {
cVar2 = FUN_1020_0e9a();
}
return cVar2;
}
}
cVar2 = FUN_1020_005d();
return cVar2;
}
/* ===== 1020:1307 runtime_1020_1307 ===== */
void __cdecl16far runtime_1020_1307(void)
{
char in_AL;
uint uVar1;
int iVar2;
uint in_DX;
undefined2 in_BX;
uint uVar3;
undefined1 uVar4;
undefined4 uVar5;
uint in_stack_0000fff8;
if (in_AL != '\0') {
uVar1 = (uint)((in_DX & 0x8000) != 0);
uVar4 = false;
FUN_1020_0f11(uVar1);
if (!(bool)uVar4) {
in_BX = 0;
FUN_1020_0e9a();
uVar1 = uVar1 + 2;
}
FUN_1020_0f11(uVar1);
if ((bool)uVar4) {
runtime_1020_1436();
}
else {
uVar1 = 0x13e8;
iVar2 = 2;
do {
uVar3 = uVar1;
in_stack_0000fff8 = FUN_1020_0f11();
if ((bool)uVar4) goto LAB_1020_136d;
uVar4 = 0xffed < uVar3;
uVar1 = uVar3 + 0x12;
iVar2 = iVar2 + -1;
} while (iVar2 != 0);
uVar3 = uVar3 + 0xc;
LAB_1020_136d:
uVar5 = runtime_1020_103b(uVar3 + 6);
FUN_1020_0d97((int)uVar5,in_BX,(int)((ulong)uVar5 >> 0x10));
FUN_1020_0cd4();
FUN_1020_0e9a();
runtime_1020_1436();
FUN_1020_0cd4();
}
if ((in_stack_0000fff8 & 2) != 0) {
FUN_1020_0cd0(in_stack_0000fff8);
}
}
return;
}
/* ===== 1020:1436 runtime_1020_1436 ===== */
void runtime_1020_1436(void)
{
FUN_1020_0d97(0x1418,5);
FUN_1020_1455();
FUN_1020_0d97();
return;
}
/* ===== 1020:143c FUN_1020_143c ===== */
void FUN_1020_143c(void)
{
FUN_1020_0d97();
FUN_1020_1455();
FUN_1020_0d97();
return;
}
/* ===== 1020:1455 FUN_1020_1455 ===== */
void __cdecl16near FUN_1020_1455(void)
{
int in_CX;
int unaff_DI;
undefined2 uStack_a;
uStack_a = in_CX;
while( true ) {
FUN_1020_0d97();
unaff_DI = unaff_DI + 6;
uStack_a = uStack_a + -1;
if (uStack_a == 0) break;
FUN_1020_0cd4(unaff_DI);
}
FUN_1020_0cd4();
return;
}
/* ===== 1020:14a4 FUN_1020_14a4 ===== */
int __stdcall16far FUN_1020_14a4(uint param_1)
{
long lVar1;
ulong uVar2;
uVar2 = FUN_1020_1501();
lVar1 = (uVar2 >> 0x10) * (ulong)param_1;
return (int)((ulong)lVar1 >> 0x10) +
(uint)CARRY2((uint)lVar1,(uint)((uVar2 & 0xffff) * (ulong)param_1 >> 0x10));
}
/* ===== 1020:14c1 FUN_1020_14c1 ===== */
char __cdecl16far FUN_1020_14c1(void)
{
char cVar1;
int iVar2;
ulong uVar3;
uVar3 = FUN_1020_1501();
cVar1 = -0x80;
iVar2 = 0x20;
do {
if ((uVar3 & 0x80000000) != 0) {
return cVar1;
}
uVar3 = CONCAT22((int)(uVar3 >> 0x10) << 1 | (uint)((int)uVar3 < 0),(int)uVar3 << 1);
cVar1 = cVar1 + -1;
iVar2 = iVar2 + -1;
} while (iVar2 != 0);
return '\0';
}
/* ===== 1020:14de runtime_1020_14de ===== */
/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */
void __cdecl16far runtime_1020_14de(void)
{
FUN_1020_1501();
fscale((longdouble)_DAT_1028_0720 + (longdouble)DAT_1020_14fb,(longdouble)DAT_1020_14ff);
return;
}
/* ===== 1020:1501 FUN_1020_1501 ===== */
void __cdecl16near FUN_1020_1501(void)
{
uint uVar1;
char cVar2;
int iVar3;
uVar1 = (uint)((ulong)DAT_1028_0720 * (ulong)DAT_1020_1537);
cVar2 = (char)(DAT_1028_0720 << 3);
iVar3 = (int)((ulong)DAT_1028_0720 * (ulong)DAT_1020_1537 >> 0x10) +
CONCAT11((char)((DAT_1028_0720 << 3) >> 8) + cVar2,cVar2) + DAT_1028_0722 * 5;
DAT_1028_0720 = uVar1 + 1;
DAT_1028_0722 =
CONCAT11((char)((uint)iVar3 >> 8) + (char)DAT_1028_0722 * '\x04' + (char)(DAT_1028_0722 << 7)
,(char)iVar3) + (uint)(0xfffe < uVar1);
return;
}
/* ===== 1020:1539 runtime_1020_1539 ===== */
void __cdecl16far runtime_1020_1539(void)
{
code *pcVar1;
undefined2 in_CX;
undefined2 extraout_DX;
pcVar1 = (code *)swi(0x21);
(*pcVar1)();
DAT_1028_0720 = in_CX;
DAT_1028_0722 = extraout_DX;
return;
}
/* ===== 1020:1546 FUN_1020_1546 ===== */
void __cdecl16near FUN_1020_1546(void)
{
ulong uVar1;
uint in_AX;
byte bVar2;
uint in_DX;
byte *unaff_DI;
undefined2 unaff_ES;
char cVar3;
if ((int)in_DX < 0) {
FUN_1020_1562();
unaff_DI[-1] = 0x2d;
return;
}
do {
uVar1 = (ulong)in_DX;
in_DX = in_DX / 10;
uVar1 = uVar1 % 10 << 0x10 | (ulong)in_AX;
in_AX = (uint)(uVar1 / 10);
cVar3 = (char)(uVar1 % 10);
bVar2 = cVar3 + 0x30;
if (0x39 < bVar2) {
bVar2 = cVar3 + 0x37;
}
unaff_DI = unaff_DI + -1;
*unaff_DI = bVar2;
} while (in_AX != 0 || in_DX != 0);
return;
}
/* ===== 1020:1562 FUN_1020_1562 ===== */
void __cdecl16near FUN_1020_1562(void)
{
ulong uVar1;
uint in_AX;
byte bVar2;
uint in_BX;
uint unaff_SI;
byte *unaff_DI;
undefined2 unaff_ES;
char cVar3;
do {
uVar1 = (ulong)in_BX;
in_BX = in_BX / unaff_SI;
uVar1 = uVar1 % (ulong)unaff_SI << 0x10 | (ulong)in_AX;
in_AX = (uint)(uVar1 / unaff_SI);
cVar3 = (char)(uVar1 % (ulong)unaff_SI);
bVar2 = cVar3 + 0x30;
if (0x39 < bVar2) {
bVar2 = cVar3 + 0x37;
}
unaff_DI = unaff_DI + -1;
*unaff_DI = bVar2;
} while (in_AX != 0 || in_BX != 0);
return;
}
/* ===== 1020:1582 FUN_1020_1582 ===== */
undefined4 __cdecl16near FUN_1020_1582(void)
{
int iVar1;
uint uVar2;
int iVar3;
uint uVar4;
int in_CX;
uint uVar5;
uint uVar6;
byte bVar7;
byte bVar8;
uint uVar9;
char cVar10;
uint uVar11;
byte *unaff_DI;
undefined2 unaff_ES;
bool bVar12;
bool bVar13;
iVar1 = 0;
uVar5 = 0;
uVar11 = 0;
if (in_CX == 0) goto LAB_1020_15e7;
if (*unaff_DI == 0x2b) {
LAB_1020_1597:
unaff_DI = unaff_DI + 1;
in_CX = in_CX + -1;
if (in_CX == 0) goto LAB_1020_15e7;
}
else if (*unaff_DI == 0x2d) {
uVar11 = 0xffff;
goto LAB_1020_1597;
}
if (*unaff_DI != 0x24) {
do {
uVar9 = (uint)(byte)(*unaff_DI - 0x30);
if ((byte)(*unaff_DI - 0x3a) < 0xf6) break;
if ((uVar5 & 0xf000) != 0) goto LAB_1020_15e7;
uVar2 = iVar1 * 2;
uVar6 = uVar5 << 1 | (uint)(iVar1 < 0);
iVar3 = iVar1 << 2;
uVar4 = iVar1 * 8;
uVar5 = iVar1 * 10;
iVar1 = uVar5 + uVar9;
uVar5 = ((uVar6 << 1 | (uint)((int)uVar2 < 0)) << 1 | (uint)(iVar3 < 0)) + uVar6 +
(uint)CARRY2(uVar4,uVar2) + (uint)CARRY2(uVar5,uVar9);
unaff_DI = unaff_DI + 1;
in_CX = in_CX + -1;
} while (in_CX != 0);
LAB_1020_15d1:
if (iVar1 != 0 || uVar5 != 0) {
if ((int)uVar11 < 0) {
bVar12 = iVar1 != 0;
iVar1 = -iVar1;
uVar5 = -(uint)bVar12 - uVar5;
}
if ((int)(uVar11 ^ uVar5) < 0) goto LAB_1020_15e7;
}
return CONCAT22(uVar5,iVar1);
}
iVar3 = in_CX + -1;
if (iVar3 != 0) {
do {
unaff_DI = unaff_DI + 1;
bVar7 = *unaff_DI;
if (0x60 < bVar7) {
bVar7 = bVar7 - 0x20;
}
bVar8 = bVar7 - 0x30;
if ((byte)(bVar7 - 0x3a) < 0xf6) {
if ((byte)(bVar7 + 0xb9) < 0xfa) goto LAB_1020_15d1;
bVar8 = bVar7 - 0x37;
}
cVar10 = '\x04';
do {
bVar12 = iVar1 < 0;
iVar1 = iVar1 << 1;
bVar13 = (int)uVar5 < 0;
uVar5 = uVar5 << 1 | (uint)bVar12;
if (bVar13) goto LAB_1020_15e7;
cVar10 = cVar10 + -1;
} while (cVar10 != '\0');
iVar1 = CONCAT11((char)((uint)iVar1 >> 8),(byte)iVar1 | bVar8);
iVar3 = iVar3 + -1;
if (iVar3 == 0) {
if ((int)uVar11 < 0) {
bVar12 = iVar1 != 0;
iVar1 = -iVar1;
uVar5 = -(uint)bVar12 - uVar5;
}
return CONCAT22(uVar5,iVar1);
}
} while( true );
}
LAB_1020_15e7:
return CONCAT22(uVar5,iVar1);
}
/* ===== 1020:1629 FUN_1020_1629 ===== */
void __stdcall16far FUN_1020_1629(int param_1,undefined1 *param_2,int param_3)
{
undefined1 *puVar1;
int in_CX;
undefined1 *puVar2;
undefined1 *puVar3;
undefined2 uVar4;
undefined2 unaff_SS;
FUN_1020_1546();
uVar4 = (undefined2)((ulong)param_2 >> 0x10);
if (param_1 < param_3) {
param_3 = param_1;
}
if (param_1 < in_CX) {
in_CX = param_1;
}
if (param_3 < in_CX) {
param_3 = in_CX;
}
puVar3 = (undefined1 *)param_2 + 1;
*param_2 = (char)param_3;
param_3 = param_3 - in_CX;
puVar2 = &stack0xfffe;
if (param_3 != 0) {
for (; puVar2 = &stack0xfffe, param_3 != 0; param_3 = param_3 + -1) {
puVar1 = puVar3;
puVar3 = puVar3 + 1;
*puVar1 = 0x20;
}
}
for (; in_CX != 0; in_CX = in_CX + -1) {
puVar1 = puVar3;
puVar3 = puVar3 + 1;
*puVar1 = *puVar2;
puVar2 = puVar2 + 1;
}
return;
}
/* ===== 1020:1674 FUN_1020_1674 ===== */
undefined2 __stdcall16far FUN_1020_1674(int *param_1,byte *param_2)
{
undefined2 uVar1;
uint uVar2;
int iVar3;
byte *pbVar4;
bool bVar5;
bVar5 = false;
uVar2 = (uint)*param_2;
pbVar4 = (byte *)param_2;
while ((pbVar4 = pbVar4 + 1, uVar2 != 0 && (bVar5 = *pbVar4 < 0x20, *pbVar4 == 0x20))) {
uVar2 = uVar2 - 1;
}
uVar1 = FUN_1020_1582();
if ((bVar5) || (iVar3 = 0, uVar2 != 0)) {
iVar3 = (int)pbVar4 - (int)(byte *)param_2;
uVar1 = 0;
}
*param_1 = iVar3;
return uVar1;
}
/* ===== 1020:16a5 FUN_1020_16a5 ===== */
void __stdcall16far FUN_1020_16a5(int param_1,undefined1 *param_2,undefined1 *param_3)
{
undefined1 *puVar1;
undefined1 *puVar2;
undefined1 *puVar3;
undefined1 *puVar4;
byte bVar5;
puVar3 = (undefined1 *)param_3;
puVar4 = (undefined1 *)param_2;
bVar5 = 0;
if (puVar3 < puVar4) {
puVar3 = puVar3 + param_1 + -1;
puVar4 = puVar4 + param_1 + -1;
bVar5 = 1;
}
for (; param_1 != 0; param_1 = param_1 + -1) {
puVar2 = puVar4;
puVar4 = puVar4 + (uint)bVar5 * -2 + 1;
puVar1 = puVar3;
puVar3 = puVar3 + (uint)bVar5 * -2 + 1;
*puVar2 = *puVar1;
}
return;
}
/* ===== 1020:16c9 FUN_1020_16c9 ===== */
void __stdcall16far FUN_1020_16c9(undefined1 param_1,int param_2,undefined1 *param_3)
{
undefined1 *puVar1;
undefined1 *puVar2;
puVar2 = (undefined1 *)param_3;
for (; param_2 != 0; param_2 = param_2 + -1) {
puVar1 = puVar2;
puVar2 = puVar2 + 1;
*puVar1 = param_1;
}
return;
}
/* ===== 1020:16dd runtime_1020_16dd ===== */
void __cdecl16far runtime_1020_16dd(void)
{
FUN_1020_16e6();
return;
}
/* ===== 1020:16e1 FUN_1020_16e1 ===== */
void FUN_1020_16e1(void)
{
uint *unaff_DI;
FUN_1020_16e6();
/* WARNING: Could not recover jumptable at 0x102016e4. Too many branches */
/* WARNING: Treating indirect jump as call */
(*(code *)(ulong)*unaff_DI)();
return;
}
/* ===== 1020:16e6 FUN_1020_16e6 ===== */
void __cdecl16near FUN_1020_16e6(void)
{
int *piVar1;
int *piVar2;
int iVar3;
int in_AX;
int iVar4;
int *piVar5;
int unaff_DI;
int *piVar6;
bool bVar7;
piVar2 = (int *)*(int *)(unaff_DI + 4);
piVar5 = piVar2;
if (in_AX == piVar2[1]) {
return;
}
do {
bVar7 = false;
iVar3 = piVar5[3];
piVar6 = piVar5 + 4;
iVar4 = iVar3;
do {
if (iVar4 == 0) break;
iVar4 = iVar4 + -1;
piVar1 = piVar6;
piVar6 = piVar6 + 1;
bVar7 = in_AX == *piVar1;
} while (!bVar7);
if (bVar7) {
piVar2[1] = in_AX;
piVar2[2] = (int)(piVar6 + ((iVar3 + -1) * 2 - iVar4));
return;
}
piVar1 = piVar5;
piVar5 = (int *)*piVar1;
if ((int *)*piVar1 == (int *)0x0) {
FUN_1020_005d();
return;
}
} while( true );
}
/* SUMMARY: total=683 internal=391 external=292 succeeded=391 failed=0 */