Files
tdkpin/original/TDKPIN_GHIDRA_RAW.c
T
2026-08-22 15:52:52 +02:00

16003 lines
459 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;
undefined2 unaff_SS;
uint auStack_32 [22];
int local_6;
int local_4;
local_6 = _LCREAT();
if (local_6 != -1) {
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();
_LWRITE();
_LWRITE();
_LCLOSE();
}
return;
}
/* ===== 1000:a99c FUN_1000_a99c ===== */
void __stdcall16far FUN_1000_a99c(void)
{
undefined2 uVar1;
uint uVar2;
undefined2 uVar3;
undefined2 unaff_CS;
undefined2 uVar4;
undefined2 unaff_SS;
undefined1 uVar5;
undefined1 *puVar6;
undefined1 *puVar7;
int iVar8;
undefined2 uVar9;
undefined1 local_23f [256];
undefined1 local_13f [252];
uint auStack_43 [22];
undefined1 local_17 [16];
char local_7;
int local_6;
int local_4;
local_7 = '\0';
uVar9 = 0x1028;
iVar8 = 800;
local_6 = _LOPEN(unaff_CS,0,800);
if (local_6 == -1) {
iVar8 = 0x1028;
local_6 = _LOPEN(0x1228,0x40,800);
}
uVar5 = local_6 == -1;
if (!(bool)uVar5) {
_LREAD(0x1228,0x10,local_17,unaff_SS);
puVar7 = local_13f;
uVar3 = unaff_SS;
FUN_1020_0b00(0x10,local_17,unaff_SS);
puVar6 = local_23f;
uVar1 = unaff_SS;
FUN_1020_0b00(0x10,0x14,0x1028);
uVar4 = 0x1020;
FUN_1020_0ac3(puVar6,uVar1,puVar7,uVar3);
if ((bool)uVar5) {
local_7 = '\x01';
_LREAD(0x1020,0x28,auStack_43 + 2,unaff_SS);
uVar4 = 0x1228;
_LREAD(0x1228,0xdc,0x8a6,0x1028);
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;
}
}
iVar8 = local_6;
_LCLOSE(uVar4,local_6);
}
if (local_7 == '\0') {
local_4 = 1;
while( true ) {
uVar3 = 0;
uVar1 = FUN_1020_08a9(iVar8,uVar9);
*(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 uVar1;
undefined4 uVar2;
INITTASK();
FUN_1020_0002();
FUN_1008_298a();
FUN_1008_2554();
FUN_1010_0472();
FUN_1008_15c2();
FUN_1008_11b8();
FUN_1008_0f27();
uVar1 = 0x1228;
uVar2 = GETVERSION(0x1008);
DAT_1028_07c1 = (undefined2)((ulong)uVar2 >> 0x10);
DAT_1028_07bf = (undefined2)uVar2;
if ((byte)uVar2 < 3) {
LAB_1000_fdf4:
(*DAT_1028_0666)(0x1228,0x10,0x3c8,0x1028,0x396,0x1028,0);
}
else {
if ((byte)uVar2 == 3) {
if ((byte)((ulong)uVar2 >> 8) < 10) goto LAB_1000_fdf4;
}
uVar1 = 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(uVar1);
/* 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)
{
undefined2 uVar1;
int iVar2;
undefined2 uVar3;
int unaff_BP;
undefined2 unaff_SS;
undefined4 uVar4;
undefined1 *puVar5;
undefined2 uVar6;
undefined2 uVar7;
undefined2 uVar8;
undefined1 *puVar9;
undefined1 *puVar10;
undefined1 local_2de [512];
undefined1 local_de [102];
undefined1 local_78 [102];
undefined2 local_12;
undefined4 local_10;
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;
puVar10 = local_78;
puVar9 = local_2de;
uVar1 = unaff_SS;
uVar8 = unaff_SS;
FUN_1020_082e(0);
FUN_1008_2f2f(puVar9,uVar1,puVar10,uVar8);
puVar9 = local_de;
puVar10 = local_78;
uVar7 = 0x1008;
uVar6 = 0xf2c;
puVar5 = local_2de;
uVar1 = unaff_SS;
uVar8 = unaff_SS;
uVar3 = unaff_SS;
FUN_1020_082e(0);
uVar1 = FUN_1020_0a7d(puVar5,uVar1,uVar6,uVar7);
FUN_1008_2f07(uVar1,puVar10,uVar8,puVar9,uVar3);
FUN_1008_2f4d(0x442,0x1028,local_de,unaff_SS);
uVar1 = 0x1028;
local_c = GETPRIVATEPROFILEINT(0x1008,local_de,unaff_SS,1,0x44f,0x1028,0x446);
if ((local_c != 0) && (DAT_1028_43ee = WAVEOUTGETNUMDEVS(0x1228,uVar1), DAT_1028_43ee != 0)) {
iVar2 = WAVEOUTGETDEVCAPS(0x1228,0x30,0x43be,0x1028);
if (iVar2 == 0) {
if ((DAT_1028_43ea & 4) == 0) {
DAT_1028_43f4 = -1;
}
else {
local_8 = 0;
local_6 = 0;
WAVEOUTGETVOLUME(0x1228,&local_8,unaff_SS);
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) {
uVar1 = DAT_1028_06fe;
uVar8 = DAT_1028_06fe;
uVar3 = FINDRESOURCE(0x1228,0x455,0x1028,local_a + 2000,local_a + 2000 >> 0xf);
local_12 = LOADRESOURCE(0x1228,uVar3);
uVar4 = FUN_1008_15c7(*(undefined2 *)(local_a * 4 + 0x3e6),
*(undefined2 *)(local_a * 4 + 1000),0x42);
*(int *)((undefined1 *)&DAT_1028_43f2 + local_a * 4) = (int)uVar4;
*(int *)((undefined1 *)&DAT_1028_43f4 + local_a * 4) = (int)((ulong)uVar4 >> 0x10);
local_10 = LOCKRESOURCE(0x1008,local_12,uVar1,uVar8);
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),local_10);
GLOBALUNLOCK(0x1020,local_12);
FREERESOURCE(0x1228,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,undefined2 param_2,undefined2 param_3,undefined2 param_4)
{
undefined2 uVar1;
int iVar2;
undefined1 uVar3;
undefined2 unaff_CS;
undefined4 uVar4;
undefined2 uVar5;
undefined2 local_e;
uVar5 = param_4;
uVar1 = FINDRESOURCE(unaff_CS,0x45a,0x1028,param_2,param_3);
uVar1 = LOADRESOURCE(0x1228,uVar1);
uVar4 = LOCKRESOURCE(0x1228,uVar1,param_4,uVar5);
local_e = 0;
while( true ) {
iVar2 = FUN_1020_039d();
uVar3 = *(undefined1 *)((int)uVar4 + iVar2);
iVar2 = FUN_1020_039d();
*(undefined1 *)((int)param_1 + iVar2) = uVar3;
if (local_e == 0x2ff) break;
local_e = local_e + 1;
}
GLOBALUNLOCK(0x1020,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(undefined2 param_1,undefined2 param_2,undefined2 param_3)
{
undefined2 uVar1;
undefined2 uVar2;
int unaff_BP;
undefined2 unaff_CS;
undefined2 unaff_SS;
undefined4 uVar3;
undefined4 uVar4;
undefined2 uVar5;
undefined2 uVar6;
undefined1 local_32 [14];
byte local_24;
undefined2 local_a;
undefined2 local_8;
undefined2 local_6;
undefined2 uStack_4;
int iStack_2;
iStack_2 = unaff_BP + 1;
uStack_4 = 0x1028;
uVar5 = param_3;
local_a = FINDRESOURCE(unaff_CS,0x45e,0x1028,param_1,param_2);
local_8 = LOADRESOURCE(0x1228,local_a);
uVar3 = LOCKRESOURCE(0x1228,local_8,param_3,uVar5);
FUN_1020_0891(0x28,local_32,unaff_SS,uVar3);
uVar4 = FUN_1020_012d((1 << (local_24 & 0x1f)) * 4 + 0x28);
FUN_1020_0891(0x28,uVar4,local_32,unaff_SS);
FUN_1008_13a8(uVar4);
uVar6 = 0x1028;
uVar1 = CREATEDC(0x1008,0,0,0,0,0,0,0x462);
uVar5 = uVar1;
uVar2 = SELECTPALETTE(0x1228,0,DAT_1028_444e);
UNREALIZEOBJECT(0x1228,DAT_1028_444e,uVar5,uVar6);
REALIZEPALETTE(0x1228,uVar1);
uVar6 = uVar1;
local_6 = CREATEDIBITMAP(0x1228,0,uVar4,(int)uVar3 + 0x28,(int)((ulong)uVar3 >> 0x10),4,0,local_32
,unaff_SS);
uVar5 = uVar1;
SELECTPALETTE(0x1228,0,uVar2);
DELETEDC(0x1228,uVar1,uVar5,uVar6);
GLOBALUNLOCK(0x1228,local_8);
FREERESOURCE(0x1228,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(undefined2 param_1,undefined2 param_2,undefined2 param_3)
{
undefined2 uVar1;
int unaff_BP;
int iVar2;
undefined2 unaff_CS;
undefined2 uVar3;
iVar2 = unaff_BP + 1;
uVar3 = 0x1028;
uVar1 = GLOBALALLOC(unaff_CS,param_1,param_2);
GLOBALLOCK(0x1228,uVar1,param_3,uVar3,iVar2);
return;
}
/* ===== 1008:15e7 FUN_1008_15e7 ===== */
void __stdcall16far FUN_1008_15e7(undefined2 param_1,undefined2 param_2)
{
undefined2 uVar1;
int unaff_BP;
int iVar2;
undefined2 uVar3;
iVar2 = unaff_BP + 1;
uVar3 = 0x1028;
uVar1 = GLOBALHANDLE();
GLOBALUNLOCK(0x1228,uVar1,uVar1,param_2,uVar3,iVar2);
GLOBALFREE(0x1228);
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;
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(0x1008,0x4b38);
FUN_1020_038f(uVar1);
FUN_1008_23fd(0x4c38,0x1028);
uVar1 = 0x1028;
FUN_1020_052c(0x1008,0x4c38);
FUN_1020_038f(uVar1);
uVar1 = DAT_1028_06fe;
GETMODULEFILENAME(0x1020,0x50,0x4a6e,0x1028);
Ordinal_6(0x1228,0x4a6e,0x1028,0x4a6e,0x1028,uVar1);
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_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)
{
undefined2 uVar1;
if ((DAT_1028_4784 != '\0') && (DAT_1028_4778 != (code *)0x0 || DAT_1028_477a != 0)) {
uVar1 = GETCURRENTTASK();
(*DAT_1028_4778)(0x1228,uVar1);
FUN_1010_0002();
}
return;
}
/* ===== 1010:00a2 FUN_1010_00a2 ===== */
undefined2 __stdcall16far
FUN_1010_00a2(undefined2 param_1,undefined2 param_2,undefined2 param_3,undefined2 param_4)
{
undefined1 extraout_AH;
undefined1 extraout_AH_00;
undefined1 extraout_AH_01;
undefined1 extraout_AH_02;
undefined1 extraout_AH_03;
undefined1 uVar1;
int unaff_BP;
undefined2 unaff_SS;
undefined4 uVar2;
char *pcVar3;
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') {
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') {
GETMODULEHANDLE(0x1008,param_1);
GETMODULEFILENAME(0x1228,0x100,local_155,unaff_SS);
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') {
pcVar3 = local_55;
uVar2 = FUN_1008_2819(0x46a,0x1028);
FUN_1008_2643(uVar2,param_3,param_4,pcVar3,unaff_SS);
uVar1 = extraout_AH_03;
if (local_55[0] != '\0') {
local_5 = 1;
}
}
else {
local_5 = 1;
uVar1 = extraout_AH_02;
}
}
else {
local_5 = 1;
uVar1 = extraout_AH_01;
}
}
else {
local_5 = 1;
uVar1 = extraout_AH_00;
}
}
else {
local_5 = 1;
uVar1 = extraout_AH;
}
return CONCAT11(uVar1,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;
int iVar2;
undefined2 uVar3;
code *pcVar4;
undefined4 uVar5;
undefined4 uVar6;
uint uVar7;
uint uVar8;
uint uVar9;
uint uVar10;
undefined2 uVar11;
undefined2 uVar12;
char local_5;
local_5 = '\x01';
if (DAT_1028_4784 == '\0') {
if (DAT_1028_478c == '\0') {
uVar12 = 0x8000;
SETERRORMODE();
uVar11 = 0x1028;
DAT_1028_4781 = LOADLIBRARY(0x1228,0x478d);
uVar3 = 0x1228;
SETERRORMODE(0x1228,0,uVar11,uVar12);
}
else {
uVar3 = 0x1010;
cVar1 = FUN_1010_00a2(param_4,param_5,0x478d,0x1028);
if (cVar1 == '\0') {
DAT_1028_4781 = 0;
}
else {
uVar3 = 0x1228;
DAT_1028_4781 = LOADLIBRARY(0x1010,0x478d);
}
}
if (0x1f < DAT_1028_4781) {
pcVar4 = (code *)GETPROCADDRESS(uVar3,0x470,0x1028);
DAT_1028_4752 = (undefined2)((ulong)pcVar4 >> 0x10);
DAT_1028_4750 = (code *)pcVar4;
uVar5 = GETPROCADDRESS(0x1228,0x482,0x1028);
DAT_1028_4756 = (undefined2)((ulong)uVar5 >> 0x10);
DAT_1028_4754 = (undefined2)uVar5;
uVar5 = GETPROCADDRESS(0x1228,0x493,0x1028);
DAT_1028_475a = (undefined2)((ulong)uVar5 >> 0x10);
DAT_1028_4758 = (undefined2)uVar5;
pcVar4 = (code *)GETPROCADDRESS(0x1228,0x4a3,0x1028);
DAT_1028_475e = (undefined2)((ulong)pcVar4 >> 0x10);
DAT_1028_475c = (code *)pcVar4;
uVar5 = GETPROCADDRESS(0x1228,0x4b0,0x1028);
DAT_1028_4762 = (undefined2)((ulong)uVar5 >> 0x10);
DAT_1028_4760 = (undefined2)uVar5;
pcVar4 = (code *)GETPROCADDRESS(0x1228,0x4c3,0x1028);
DAT_1028_4766 = (undefined2)((ulong)pcVar4 >> 0x10);
DAT_1028_4764 = (code *)pcVar4;
pcVar4 = (code *)GETPROCADDRESS(0x1228,0x4cf,0x1028);
DAT_1028_476a = (undefined2)((ulong)pcVar4 >> 0x10);
DAT_1028_4768 = (code *)pcVar4;
uVar9 = 0x1028;
uVar10 = DAT_1028_4781;
uVar5 = GETPROCADDRESS(0x1228,0x4dd,0x1028);
DAT_1028_476e = (undefined2)((ulong)uVar5 >> 0x10);
DAT_1028_476c = (undefined2)uVar5;
if (DAT_1028_478c == '\0') {
uVar9 = DAT_1028_4781;
uVar6 = GETPROCADDRESS(0x1228,0x4ee,0x1028);
uVar5 = CONCAT22(DAT_1028_476e,DAT_1028_476c);
}
else {
uVar6 = 0;
}
DAT_1028_4772 = (undefined2)((ulong)uVar6 >> 0x10);
DAT_1028_4770 = (undefined2)uVar6;
DAT_1028_476e = (undefined2)((ulong)uVar5 >> 0x10);
DAT_1028_476c = (undefined2)uVar5;
uVar8 = DAT_1028_4781;
uVar5 = GETPROCADDRESS(0x1228,0x501,0x1028);
DAT_1028_4776 = (undefined2)((ulong)uVar5 >> 0x10);
DAT_1028_4774 = (undefined2)uVar5;
uVar7 = DAT_1028_4781;
uVar5 = GETPROCADDRESS(0x1228,0x512,0x1028);
DAT_1028_477a = (undefined2)((ulong)uVar5 >> 0x10);
DAT_1028_4778 = (undefined2)uVar5;
uVar3 = GETCURRENTTASK(0x1228,uVar7,uVar8,uVar9,uVar10);
iVar2 = (*DAT_1028_4768)(0x1228,uVar3);
DAT_1028_4784 = iVar2 != 0;
if ((bool)DAT_1028_4784) {
DAT_1028_477c = (*DAT_1028_4764)(0x1228);
iVar2 = (*DAT_1028_475c)(0x1228);
if ((iVar2 == 0) || (DAT_1028_477c < 9)) {
DAT_1028_4784 = false;
}
else {
DAT_1028_4784 = true;
}
}
if ((bool)DAT_1028_4784 == false) {
FUN_1010_0002();
}
else {
DAT_1028_477f = param_2;
DAT_1028_4780 = param_1;
if ((DAT_1028_478c == '\0') && (param_3 != '\0')) {
iVar2 = (*DAT_1028_4750)(0x1228,DAT_1028_06fe);
DAT_1028_477e = iVar2 != 0;
}
else {
DAT_1028_477e = 0;
}
}
}
local_5 = DAT_1028_4784;
}
return local_5;
}
/* ===== 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)
{
char cVar1;
undefined2 unaff_CS;
undefined2 uVar2;
undefined2 unaff_SS;
undefined1 *puVar3;
undefined1 *puVar4;
undefined2 uVar5;
undefined2 uVar6;
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;
uVar2 = unaff_SS;
FUN_1008_300a(0x522,0x1028);
FUN_1020_0a51(puVar3,uVar2);
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;
uVar2 = unaff_SS;
FUN_1008_300a(0x52c,0x1028);
FUN_1020_0a51(puVar3,uVar2);
uVar2 = 0x1020;
FUN_1020_09ec(0xff,0x496d,0x1028,puVar4,uVar5);
if (DAT_1028_47a2 != 0) {
uVar6 = 0x1028;
uVar5 = 0x478d;
puVar4 = local_102;
uVar2 = unaff_SS;
FUN_1008_300a(0x52c,0x1028);
FUN_1008_2f2f(puVar4,uVar2,uVar5,uVar6);
uVar2 = 0x1010;
cVar1 = FUN_1010_0405(0x496d,0x1028);
if (cVar1 == '\0') {
uVar2 = 0x1010;
cVar1 = FUN_1010_0405(0x486d,0x1028);
if (cVar1 != '\0') {
uVar6 = 0x1028;
uVar5 = 0x478d;
puVar4 = local_102;
FUN_1008_300a(0x522,0x1028);
uVar2 = 0x1008;
FUN_1008_2f2f(puVar4,unaff_SS,uVar5,uVar6);
}
}
}
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(uVar2);
uVar2 = _DAT_1028_478a;
if ((DAT_1028_478a == '\x03') &&
(DAT_1028_478b = (byte)((uint)_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 = uVar2;
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;
undefined2 *puVar2;
undefined2 uVar3;
int iVar4;
undefined2 unaff_CS;
undefined2 *puVar5;
undefined2 uVar6;
undefined4 local_10;
if (DAT_1028_066e == (undefined1 *)0x0 && DAT_1028_0670 == 0) {
uVar6 = 0;
uVar3 = GLOBALALLOC(unaff_CS,0x100,0);
puVar5 = (undefined2 *)GLOBALLOCK(0x1228,uVar3,uVar6);
uVar6 = (undefined2)((ulong)puVar5 >> 0x10);
puVar2 = (undefined2 *)puVar5;
*puVar5 = DAT_1028_066c;
FUN_1020_16a5(5,puVar2 + 1,uVar6,0x686,0x1028);
uVar3 = DAT_1028_0674;
*(undefined2 *)((int)puVar2 + 7) = DAT_1028_0672;
*(undefined2 *)((int)puVar2 + 9) = uVar3;
local_10 = (undefined1 *)CONCAT22(uVar6,(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 = uVar6;
PRESTOCHANGOSELECTOR(0x1020,uVar6);
}
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)
{
int unaff_BP;
int *piVar1;
undefined2 uVar2;
bool bVar3;
undefined4 uVar4;
undefined2 uVar5;
bVar3 = true;
FUN_1020_03ef(0x1028,unaff_BP + 1);
if (!bVar3) {
uVar2 = (undefined2)((ulong)param_1 >> 0x10);
piVar1 = (int *)param_1;
FUN_1008_2d99(piVar1,uVar2,0);
piVar1[2] = param_3;
piVar1[3] = param_4;
DAT_1028_064e._0_2_ = piVar1;
DAT_1028_064e._2_2_ = uVar2;
piVar1[6] = 0;
piVar1[1] = 0;
piVar1[4] = 0;
piVar1[5] = 0;
piVar1[7] = 0;
piVar1[8] = 0;
uVar5 = 0x1018;
uVar4 = MAKEPROCINSTANCE(0x1008,DAT_1028_06fe,0x133);
DAT_1028_0674 = (undefined2)((ulong)uVar4 >> 0x10);
DAT_1028_0672 = (undefined2)uVar4;
FUN_1008_2e76(uVar5);
if (DAT_1028_06fc == 0) {
(*(code *)*(undefined2 *)(*param_1 + 0x10))(0x1008,piVar1,uVar2);
}
if (piVar1[1] == 0) {
(*(code *)*(undefined2 *)(*param_1 + 0x14))(0x1008,piVar1,uVar2);
}
}
return param_1;
}
/* ===== 1018:1b08 FUN_1018_1b08 ===== */
void __stdcall16far FUN_1018_1b08(undefined4 param_1)
{
int unaff_BP;
int iVar1;
undefined2 unaff_CS;
undefined2 uVar2;
undefined2 uVar3;
iVar1 = unaff_BP + 1;
uVar3 = 0x1028;
uVar2 = DAT_1028_0674;
FREEPROCINSTANCE(unaff_CS,DAT_1028_0672);
FUN_1008_2dcd((int)param_1,(int)((ulong)param_1 >> 0x10),0);
FUN_1020_0439(uVar2,uVar3,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;
undefined2 uVar5;
int iVar6;
iVar4 = unaff_BP + 1;
iVar6 = 0x1028;
if (in_AX != 0) {
uVar5 = 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();
unaff_CS = 0x1228;
iVar2 = INITAPP(0x1228,DAT_1028_06fe,uVar5);
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)();
DAT_1028_0718 = iVar6;
if ((DAT_1028_0718 != 0 || iVar4 != 0) && (iVar4 != -1)) {
iVar4 = *(int *)0x0;
}
DAT_1028_071a = iVar4;
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: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)
{
undefined2 in_AX;
int iVar1;
undefined2 unaff_CS;
undefined2 uVar2;
uVar2 = DAT_1028_070c;
iVar1 = GLOBALALLOC(unaff_CS,in_AX,0);
if (iVar1 != 0) {
GLOBALLOCK(0x1228,iVar1,uVar2);
}
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)
{
int in_AX;
uint uVar1;
int iVar2;
uint *in_CX;
int in_BX;
uint *puVar3;
uint *puVar4;
if (in_AX == 0) {
return;
}
if (in_CX != (uint *)0x0) {
uVar1 = in_AX + 3U & 0xfffc;
if (*(int *)0x0 != 0x5054) {
return;
}
if (((uint)in_CX & 3) != 0) {
return;
}
puVar4 = (uint *)0x4;
do {
puVar3 = puVar4;
puVar4 = (uint *)*puVar3;
if (puVar4 == (uint *)0x0) goto LAB_1020_0306;
} while (puVar4 <= in_CX && in_CX != puVar4);
if (in_CX == puVar4) {
return;
}
LAB_1020_0306:
*in_CX = (uint)puVar4;
in_CX[1] = uVar1;
iVar2 = uVar1 + *(int *)0x8;
*(int *)0x8 = iVar2;
if (iVar2 + 0xc != DAT_1028_070a) {
FUN_1020_0327();
*puVar3 = (uint)in_CX;
puVar4 = (uint *)((int)puVar3 + puVar3[1]);
if (puVar4 != (uint *)*puVar3) {
return;
}
*puVar3 = *puVar4;
puVar3[1] = puVar3[1] + puVar4[1];
return;
}
iVar2 = DAT_1028_0706;
DAT_1028_0706 = 0;
if (in_BX != *(int *)0xa) {
do {
DAT_1028_0706 = iVar2;
iVar2 = *(int *)0xa;
} while (*(int *)0xa != in_BX);
*(int *)0xa = *(int *)0xa;
}
}
if ((in_BX != 0x1028) && (iVar2 = GLOBALHANDLE(), iVar2 != 0)) {
GLOBALUNLOCK(0x1228,iVar2,iVar2);
GLOBALFREE(0x1228);
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: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: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: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: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 ===== */
int __stdcall16far FUN_1020_082e(int param_1,undefined1 *param_2)
{
undefined1 *puVar1;
int iVar2;
undefined1 *in_BX;
int unaff_BP;
undefined1 *puVar3;
undefined2 uVar4;
undefined2 unaff_CS;
puVar3 = (undefined1 *)param_2;
uVar4 = (undefined2)((ulong)param_2 >> 0x10);
if (param_1 == 0) {
param_1 = GETMODULEFILENAME(unaff_CS,0xff,puVar3 + 1,uVar4);
*param_2 = (char)param_1;
}
else {
iVar2 = FUN_1020_0871(0x1028,0x1028,unaff_BP + 1);
*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: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: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: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:104f FUN_1020_104f ===== */
void __cdecl16near FUN_1020_104f(void)
{
FUN_1020_0e9a();
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: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: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: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: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=655 internal=363 external=292 succeeded=363 failed=0 */