/* * Raw Ghidra decompilation of TDKPIN.EXE. * Function boundaries and names are analysis artifacts, not original source symbols. */ /* ===== 1000:0002 FUN_1000_0002 ===== */ void __stdcall16far FUN_1000_0002(int param_1,undefined2 param_2) { undefined2 uVar1; undefined2 uVar2; undefined2 uVar3; undefined2 uVar4; undefined2 uVar5; undefined2 uVar6; undefined2 uVar7; undefined2 uVar8; undefined2 uVar9; uVar6 = param_2; uVar1 = CREATECOMPATIBLEDC(); uVar2 = CREATECOMPATIBLEDC(0x1228,param_2,uVar6); uVar3 = CREATECOMPATIBLEDC(0x1228,param_2); uVar4 = CREATECOMPATIBLEBITMAP(0x1228,0xe,0xe); uVar5 = SELECTOBJECT(0x1228,DAT_1028_085b); uVar6 = SELECTOBJECT(0x1228,*(undefined2 *)(param_1 * 2 + 0x430b)); uVar7 = SELECTOBJECT(0x1228,uVar4); BITBLT(0x1228,0x20,0xcc,0x4d,0x54,uVar1,0xe,0xe,0,0); BITBLT(0x1228,0x20,0xcc,0,0,uVar2,0x7b,0x2a,0x4f,0x37); uVar9 = uVar1; BITBLT(0x1228,0x20,0xcc,0,0,uVar3,0xe,0xe,0x4d,0x54); uVar8 = uVar3; SELECTOBJECT(0x1228,uVar7); uVar7 = uVar2; SELECTOBJECT(0x1228,uVar6); uVar6 = uVar1; SELECTOBJECT(0x1228,uVar5); DELETEOBJECT(0x1228,uVar4,uVar6,uVar7,uVar8,uVar9); DELETEDC(0x1228,uVar3); DELETEDC(0x1228,uVar2); DELETEDC(0x1228,uVar1); return; } /* ===== 1000:0100 FUN_1000_0100 ===== */ void __stdcall16far FUN_1000_0100(undefined4 param_1) { FUN_1018_1b57((int)param_1,(int)((ulong)param_1 >> 0x10)); FUN_1010_03af(1,1,1,0x222,0x1028); return; } /* ===== 1000:0121 FUN_1000_0121 ===== */ void __stdcall16far FUN_1000_0121(undefined4 param_1) { undefined2 uVar1; undefined4 uVar2; if (DAT_1028_06fc == 0) { uVar2 = FUN_1000_01d3(0,0,0x9e,0x22c,0x1028,0,0); uVar1 = (undefined2)((ulong)param_1 >> 0x10); *(undefined2 *)((int)param_1 + 8) = (int)uVar2; *(undefined2 *)((int)param_1 + 10) = (int)((ulong)uVar2 >> 0x10); } else { (*DAT_1028_0666)(); FUN_1020_0061(); } return; } /* ===== 1000:016c FUN_1000_016c ===== */ void __stdcall16far FUN_1000_016c(undefined4 param_1,undefined2 *param_2) { undefined2 uVar1; undefined2 uVar2; undefined2 *puVar3; undefined2 uVar4; undefined2 uVar5; uVar4 = (undefined2)((ulong)param_2 >> 0x10); puVar3 = (undefined2 *)param_2; FUN_1018_1274((int)param_1,(int)((ulong)param_1 >> 0x10),puVar3,uVar4); *param_2 = 0x3000; uVar2 = DAT_1028_06fe; uVar1 = LOADICON(0x1018,0x3e4,0); puVar3[6] = uVar1; uVar5 = 0; uVar1 = LOADCURSOR(0x1228,0x7f00,0); puVar3[7] = uVar1; uVar2 = GETSTOCKOBJECT(0x1228,0,uVar5,uVar2); puVar3[8] = uVar2; puVar3[5] = DAT_1028_06fe; puVar3[3] = 0; puVar3[4] = 0; return; } /* ===== 1000:01d3 FUN_1000_01d3 ===== */ undefined4 __stdcall16far FUN_1000_01d3(undefined4 param_1,undefined2 param_2,undefined2 param_3,undefined2 param_4, undefined2 param_5,undefined2 param_6) { int iVar1; int iVar2; undefined2 uVar3; bool bVar4; int iVar5; bVar4 = true; FUN_1020_03ef(); if (!bVar4) { uVar3 = (undefined2)((ulong)param_1 >> 0x10); iVar2 = (int)param_1; FUN_1018_1106(iVar2,uVar3,0,param_3,param_4,param_5,param_6); *(undefined2 *)(iVar2 + 0x2d) = 0x280; *(undefined2 *)(iVar2 + 0x2f) = 0x1e0; iVar5 = 0x1018; iVar1 = GETSYSTEMMETRICS(0x1018,0,*(int *)(iVar2 + 0x2d) / 2); *(int *)(iVar2 + 0x29) = iVar1 / 2 - iVar5; iVar5 = 0x1228; iVar1 = GETSYSTEMMETRICS(0x1228,1,*(int *)(iVar2 + 0x2f) / 2); *(int *)(iVar2 + 0x2b) = iVar1 / 2 - iVar5; *(undefined2 *)(iVar2 + 0x21) = 0; *(undefined2 *)(iVar2 + 0x23) = 0x86ca; } return param_1; } /* ===== 1000:0270 FUN_1000_0270 ===== */ void __stdcall16far FUN_1000_0270(undefined4 param_1) { char cVar1; undefined1 uVar2; undefined2 uVar3; int in_DX; int iVar4; int iVar5; undefined2 uVar6; undefined2 unaff_SS; undefined4 uVar7; undefined1 *puVar8; undefined2 uVar9; undefined2 uVar10; undefined1 *puVar11; undefined1 *puVar12; undefined2 uVar13; undefined2 uVar14; undefined1 local_2d2 [256]; undefined2 local_1d2; undefined1 local_d0 [101]; undefined1 local_6b [103]; int local_4; DAT_1028_07cf = 0; DAT_1028_0874 = 0; DAT_1028_0875 = 0; uVar6 = (undefined2)((ulong)param_1 >> 0x10); iVar5 = (int)param_1; *(undefined2 *)(iVar5 + 0x41) = 0; *(undefined2 *)(iVar5 + 0x43) = 0; *(undefined2 *)(iVar5 + 0x45) = 0; *(undefined2 *)(iVar5 + 0x47) = 0; FUN_1020_0167(); if (in_DX < 0x40) { (*DAT_1028_0666)(0x1020,0x2010,0x2aa,0x1028,0x260,0x1028,0); FUN_1018_0f38(iVar5,uVar6); FUN_1020_0061(0x1018); } FUN_1018_170c(iVar5,uVar6); uVar14 = 0; uVar3 = LOADCURSOR(0x1018,0x7f02,0); SETCURSOR(0x1228,uVar3,uVar14); FUN_1008_0023(*(undefined2 *)(iVar5 + 4)); FUN_1008_1326(0x4450,0x1028,999,0,DAT_1028_06fe); FUN_1008_11c5(); DAT_1028_07cc = 1; *(undefined2 *)(iVar5 + 0x4d) = 0; *(undefined2 *)(iVar5 + 0x4f) = 0; *(undefined1 *)(iVar5 + 0x51) = 0; *(undefined1 *)(iVar5 + 0xbd8) = 0; uVar7 = GETTICKCOUNT(0x1008); DAT_1028_0722 = (undefined2)((ulong)uVar7 >> 0x10); DAT_1028_0720 = (undefined2)uVar7; *(undefined2 *)(iVar5 + 0xbe3) = 0; DAT_1028_07c7 = 0; DAT_1028_07c8 = 0; DAT_1028_086d = 10; DAT_1028_086f = 10; DAT_1028_0873 = 0; DAT_1028_07ca = 0; DAT_1028_07cb = 0; DAT_1028_07c9 = 1; *(undefined2 *)(iVar5 + 0xbca) = 0; *(undefined2 *)(iVar5 + 0xbcc) = 0; *(undefined1 *)(iVar5 + 0xbd9) = 0; *(undefined2 *)(iVar5 + 0xbc2) = 0xf588; *(undefined2 *)(iVar5 + 0xbc4) = 4; *(undefined2 *)(iVar5 + 0xbc6) = 0x4d48; *(undefined2 *)(iVar5 + 0xbc8) = 6; DAT_1028_07d3 = *(uint *)(iVar5 + 0xbc2); DAT_1028_07d5 = *(int *)(iVar5 + 0xbc4); DAT_1028_07d7 = *(uint *)(iVar5 + 0xbc6); DAT_1028_07d9 = *(int *)(iVar5 + 0xbc8); *(undefined1 *)(iVar5 + 0xbdd) = 0; *(undefined1 *)(iVar5 + 0xbdf) = 0; *(undefined1 *)(iVar5 + 0xbdc) = 0; *(undefined1 *)(iVar5 + 0xbe0) = 0; *(undefined1 *)(iVar5 + 0xbe1) = 0; *(undefined1 *)(iVar5 + 0xbe2) = 0; DAT_1028_07c5 = 0; *(undefined1 *)(iVar5 + 0xbde) = 1; DAT_1028_07d0 = 0; DAT_1028_07d1 = 0; *(undefined1 *)(iVar5 + 0x61) = 1; DAT_1028_086b = 99; DAT_1028_0869 = 0; DAT_1028_0876 = 0; DAT_1028_0878 = 0; DAT_1028_087a = 0; DAT_1028_087c = 0; local_4 = 1; while( true ) { *(undefined1 *)(iVar5 + local_4 + 0x47b) = 0; *(undefined1 *)(iVar5 + local_4 + 0x48f) = 0; *(undefined1 *)(iVar5 + local_4 + 0x4a3) = 0; *(undefined1 *)(iVar5 + local_4 + 0x4b7) = 0; if (local_4 == 0x14) break; local_4 = local_4 + 1; } local_4 = 1; while( true ) { *(undefined2 *)(local_4 * 4 + 0x97e) = 0; *(undefined2 *)(local_4 * 4 + 0x980) = 0; *(undefined2 *)(local_4 * 4 + 0x98e) = 0; *(undefined2 *)(local_4 * 4 + 0x990) = 0; *(undefined1 *)(local_4 + 0x9a1) = 1; *(undefined2 *)(local_4 * 2 + 0x9a4) = 0; *(undefined2 *)(local_4 * 2 + 0x81f) = 0xffff; *(undefined1 *)(local_4 + 0x816) = 1; *(undefined2 *)(local_4 * 4 + 0x835) = 1; *(undefined2 *)(local_4 * 4 + 0x837) = 0; *(undefined1 *)(local_4 + 0x81a) = 1; if (local_4 == 4) break; local_4 = local_4 + 1; } DAT_1028_0829 = 0x22e0; DAT_1028_082b = 2; DAT_1028_082d = 0xeb10; DAT_1028_082f = 9; DAT_1028_0831 = 0xd620; DAT_1028_0833 = 0x13; DAT_1028_0835 = 0x900; DAT_1028_0837 = 0x3d; *(undefined2 *)(iVar5 + 0xbaa) = 0; *(undefined2 *)(iVar5 + 0xbac) = 0; *(undefined2 *)(iVar5 + 0xbae) = 0; *(undefined2 *)(iVar5 + 0xbb0) = 0; *(undefined2 *)(iVar5 + 0xbce) = 0; *(undefined2 *)(iVar5 + 0xbd0) = 0; *(undefined2 *)(iVar5 + 0xbd2) = 0; iVar4 = DAT_1028_07d5 + (uint)(0xfe0b < DAT_1028_07d3); uVar3 = FUN_1020_08e6(); *(undefined2 *)(iVar5 + 0xba2) = uVar3; *(int *)(iVar5 + 0xba4) = iVar4; *(undefined2 *)(iVar5 + 0xbb2) = 0; *(undefined2 *)(iVar5 + 0xbb4) = 0; iVar4 = DAT_1028_07d9 + (uint)(0xfe0b < DAT_1028_07d7); uVar3 = FUN_1020_08e6(); *(undefined2 *)(iVar5 + 0xba6) = uVar3; *(int *)(iVar5 + 0xba8) = iVar4; *(undefined2 *)(iVar5 + 0xbb6) = 0; *(undefined2 *)(iVar5 + 3000) = 0; *(undefined1 *)(iVar5 + 0xbda) = 0; *(undefined1 *)(iVar5 + 0xbdb) = 0; *(undefined2 *)(iVar5 + 0xbd4) = 0; *(undefined2 *)(iVar5 + 0xbd6) = 0; puVar12 = local_6b; puVar11 = local_2d2; uVar3 = unaff_SS; uVar14 = unaff_SS; FUN_1020_082e(0); FUN_1008_2f2f(puVar11,uVar3,puVar12,uVar14); puVar11 = local_d0; puVar12 = local_6b; uVar10 = 0x1008; uVar9 = 0x26e; puVar8 = local_2d2; uVar3 = unaff_SS; uVar14 = unaff_SS; uVar13 = unaff_SS; FUN_1020_082e(0); uVar3 = FUN_1020_0a7d(puVar8,uVar3,uVar9,uVar10); FUN_1008_2f07(uVar3,puVar12,uVar14,puVar11,uVar13); FUN_1008_2f4d(0x2c3,0x1028,local_d0,unaff_SS); uVar3 = 0x1028; DAT_1028_07cd = GETPRIVATEPROFILEINT(0x1008,local_d0,unaff_SS,1,0x2d0,0x1028,0x2c7); if ((DAT_1028_07cd == 0) || (5 < DAT_1028_07cd)) { DAT_1028_07cd = 1; } uVar14 = 0x1028; uVar2 = GETPRIVATEPROFILEINT(0x1228,local_d0,unaff_SS,3,0x2d9,0x1028,0x2c7); *(undefined1 *)(iVar5 + 0x60) = uVar2; if ((*(char *)(iVar5 + 0x60) == '\0') || (5 < *(byte *)(iVar5 + 0x60))) { *(undefined1 *)(iVar5 + 0x60) = 3; } cVar1 = *(char *)(iVar5 + 0x60); if (cVar1 == '\x01') { *(undefined2 *)(iVar5 + 0x5a) = 0xf; *(undefined2 *)(iVar5 + 0x5c) = 0; *(undefined2 *)(iVar5 + 0x56) = 0xed8; *(undefined2 *)(iVar5 + 0x58) = 0; local_1d2 = 0x32; DAT_1028_0871 = 5; } else if (cVar1 == '\x02') { *(undefined2 *)(iVar5 + 0x5a) = 0xf; *(undefined2 *)(iVar5 + 0x5c) = 0; *(undefined2 *)(iVar5 + 0x56) = 0xed8; *(undefined2 *)(iVar5 + 0x58) = 0; local_1d2 = 0x28; DAT_1028_0871 = 4; } else if (cVar1 == '\x03') { *(undefined2 *)(iVar5 + 0x5a) = 0xf; *(undefined2 *)(iVar5 + 0x5c) = 0; *(undefined2 *)(iVar5 + 0x56) = 0xed8; *(undefined2 *)(iVar5 + 0x58) = 0; local_1d2 = 0x1e; DAT_1028_0871 = 3; } else if (cVar1 == '\x04') { *(undefined2 *)(iVar5 + 0x5a) = 0xf; *(undefined2 *)(iVar5 + 0x5c) = 0; *(undefined2 *)(iVar5 + 0x56) = 0xed8; *(undefined2 *)(iVar5 + 0x58) = 0; local_1d2 = 0x14; DAT_1028_0871 = 2; } else if (cVar1 == '\x05') { *(undefined2 *)(iVar5 + 0x5a) = 0xf; *(undefined2 *)(iVar5 + 0x5c) = 0; *(undefined2 *)(iVar5 + 0x56) = 0xed8; *(undefined2 *)(iVar5 + 0x58) = 0; local_1d2 = 10; DAT_1028_0871 = 1; } else { *(undefined2 *)(iVar5 + 0x5a) = 0xf; *(undefined2 *)(iVar5 + 0x5c) = 0; *(undefined2 *)(iVar5 + 0x56) = 0xed8; *(undefined2 *)(iVar5 + 0x58) = 0; local_1d2 = 0x1e; DAT_1028_0871 = 3; } uVar7 = FUN_1008_28a3(0,0,0x5c0,0,1,local_1d2,*(undefined2 *)(iVar5 + 4)); *(undefined2 *)(iVar5 + 0x49) = (int)uVar7; *(undefined2 *)(iVar5 + 0x4b) = (int)((ulong)uVar7 >> 0x10); if (*(int *)(iVar5 + 0x49) == 0 && *(int *)(iVar5 + 0x4b) == 0) { (*DAT_1028_0666)(0x1008,0x2010,0x2aa,0x1028,0x2df,0x1028,*(undefined2 *)(iVar5 + 4),uVar14,uVar3 ); FUN_1020_0061(0x1008); } FUN_1008_0138(0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0,0, 0x1c9,0,0x7d,0,0x1a1,0,7,0,0,0,2,1,1); FUN_1008_0138(0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0,0, 0x1db,0,300,0,0x1db,0,10,0,0,0,2,1,2); FUN_1008_0138(0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0xcd7d,0xcccc,0x4ccc,0,0, 0x1d8,0,0x78,0,0x1c4,0,0x78,0,0,0,2,1,0xa9); FUN_1008_0138(0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0xcd7d,0xcccc,0x4ccc,0,0, 0x1c4,0,0xc3,0,0x1d8,0,0xc3,0,0,0,2,1,0xaa); FUN_1008_0138(0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0xcd7d,0xcccc,0x4ccc,0,0, 0x1bd,0,0x86,0,0x1ce,0,0x86,0,0,0,2,1,3); FUN_1008_0138(0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,8,0, 0,0,0,0,0x1be,0,0x8d,0,0,1,1,1,4); FUN_1008_0138(0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0,0, 0x1d3,0,0x94,0,0x1bd,0,0x94,0,0,0,2,1,5); FUN_1008_0138(0x1b5,0xa3,0x185,0x97,0,0,0,0,2,0,0,6,0x102,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0x1d3,0,0xa4 ,0,0x1be,0,0x94,0,0,0,4,0,6); FUN_1008_0138(0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0,0, 0x1d2,0,0xa4,0,0x1bd,0,0xa5,0,0,0,2,1,7); FUN_1008_0138(0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,8,0, 0,0,0,0,0x1be,0,0xac,0,0,1,1,1,8); FUN_1008_0138(0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0xcd7d,0xcccc,0x4ccc,0,0, 0x1d3,0,0xb4,0,0x1bd,0,0xb3,0,0,0,2,1,9); FUN_1008_0138(0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0,0, 0x19e,0,0x130,0,0x1c9,0,0xb7,0,0,0,2,1,10); FUN_1008_0138(0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0,0, 0x3d,0,0x12a,0,0xa5,0,0x12a,0,0,0,2,1,0xb); FUN_1008_0138(0,0,0,0,0,0,0,0,1,5000,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0 ,0,0x8e,0,0x12a,0,0x8e,0,0x136,0,0,0,2,1,0xc); FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,7,0, 0,0,0,0,0x88,0,0x12a,0,0,1,1,1,0xd); FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0,0, 0x68,0,0x124,0,0x88,0,0x123,0,0,0,2,1,0xe); FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0xcd7f,0xcccc,0x4ccc,0,0, 100,0,0x119,0,0x6d,0,300,0,0,0,2,1,0xf); FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0xcd7f,0xcccc,0x4ccc,0,0, 0x87,0,0x113,0,0x60,0,0x122,0,0,0,2,1,0x10); FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,7,0, 0,0,0,0,0x86,0,0x10d,0,0,1,1,1,0x11); FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,7,0, 0,0,0,0,0x73,0,0x101,0,0,1,1,1,0x1a); FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0,0, 0x72,0,0xf8,0,0x8b,0,0x108,0,0,0,2,1,0x12); FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0,0, 0x5b,0,0x101,0,0x72,0,0xf9,0,0,0,2,1,0x13); FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0,0, 0x31,0,0x115,0,0x5b,0,0x101,0,0,0,2,1,0x14); FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0,0, 0x20,0,0x11f,0,0x33,0,0x115,0,0,0,2,1,0x15); FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0,0, 0x30,0,0x12f,0,0x2a,0,0x11b,0,0,0,2,1,0x16); FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0,0, 0x44,0,0x140,0,0x30,0,0x12e,0,0,0,2,1,0x17); FUN_1008_0138(0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0,0, 0x1c9,0,0x140,0,0x44,0,0x140,0,0,0,2,1,0x18); FUN_1008_0138(0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0xcd7d,0xcccc,0x4ccc,0,0, 0x1b1,0,0x14c,0,0x1b1,0,0x13b,0,0,0,2,1,0x19); FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0xcd7e,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0,0, 0x43,0,0x146,0,0x4e,0,0x148,0,0,0,2,1,0x1b); FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0xcd7e,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0,0, 0x39,0,0x142,0,0x43,0,0x146,0,0,0,2,1,0x1c); FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0xcd7e,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0,0, 0x30,0,0x13c,0,0x39,0,0x142,0,0,0,2,1,0x1d); FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0xcd7e,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0,0, 0x29,0,0x133,0,0x30,0,0x13c,0,0,0,2,1,0x1e); FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0xcd7e,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0,0, 0x24,0,0x128,0,0x29,0,0x133,0,0,0,2,1,0x1f); FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0xcd7e,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0,0, 0x23,0,0x11d,0,0x24,0,0x128,0,0,0,2,1,0x20); FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0,0, 0x23,0,0x70,0,0x23,0,0x11d,0,0,0,2,1,0x21); FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0,0, 0x28,0,99,0,0x22,0,0x79,0,0,0,2,1,0x22); FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0,0, 0x33,0,0x4e,0,0x28,0,100,0,0,0,2,1,0x23); FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0,0, 0x45,0,0x42,0,0x32,0,0x4f,0,0,0,2,1,0x24); FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0,0, 0x5d,0,0x39,0,0x41,0,0x44,0,0,0,2,1,0x25); FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0,0, 0xae,0,0x3b,0,0x52,0,0x3b,0,0,0,2,1,0x26); FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0,0, 0xbe,0,0x43,0,0xa7,0,0x3a,0,0,0,2,1,0x27); FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,8,0, 0,0,0,0,0xc1,0,0x3c,0,0,1,1,1,0x28); FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0,0, 0xd2,0,0x29,0,199,0,0x40,0,0,0,2,1,0x29); FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,8,0, 0,0,0,0,0xcb,0,0x26,0,0,1,1,1,0x2a); FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0,0, 0xb9,0,0x16,0,0xce,0,0x1f,0,0,0,2,1,0x2b); FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0,0, 0x1f,0,0x16,0,0xb9,0,0x16,0,0,0,2,1,0x2c); FUN_1008_0138(0,0,0,0,0,0,0,0,1,0x86a0,1,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0xcd7f,0xcccc,0x4ccc ,0,0,0x21,0,0xb,0,0x21,0,0x17,0,0,0,2,1,0x2d); FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0,0, 0xbe,0,0xd,0,0x1e,0,0xd,0,0,0,2,1,0x2e); FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0,0, 0xfa,0,0x20,0,0xb9,0,0xc,0,0,0,2,1,0x2f); FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,8,0, 0,0,0,0,0xfb,0,0x19,0,0,1,1,1,0x30); FUN_1008_0138(0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0,0, 0x140,0,10,0,0xfb,0,0x21,0,0,0,2,1,0x31); FUN_1008_0138(0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0,0, 0x1ab,0,0xc,0,0x119,0,0xc,0,0,0,2,1,0x32); FUN_1008_0138(0xa3,0xb4,0x85,0x96,0,0,0,0,1,1000,0,0,0x40,0xcd7f,0xcccc,0x4ccc,0xcd7d,0xcccc, 0xcccc,0xcd7d,0xcccc,0x4ccc,0xcd80,0xcccc,0x4ccc,0x17,0,0,0,0,0,0xa8,0,0xa5,0,0,1,1, 1,0x33); FUN_1008_0138(0x7d,0xdd,0x5f,0xbf,0,0,0,0,1,1000,0,0,0x40,0xcd7f,0xcccc,0x4ccc,0xcd7d,0xcccc, 0xcccc,0xcd7d,0xcccc,0x4ccc,0xcd80,0xcccc,0x4ccc,0x17,0,0,0,0,0,0x82,0,0xce,0,0,1,1, 1,0x34); FUN_1008_0138(0xb4,0xea,0x96,0xcc,0,0,0,0,1,1000,0,0,0x40,0xcd7f,0xcccc,0x4ccc,0xcd7d,0xcccc, 0xcccc,0xcd7d,0xcccc,0x4ccc,0xcd80,0xcccc,0x4ccc,0x17,0,0,0,0,0,0xb9,0,0xdb,0,0,1,1, 1,0x35); FUN_1008_0138(0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x80,0,0,8,0,0,0,0,0, 0x138,0,0x35,0,0,1,1,1,0x36); FUN_1008_0138(0,0,0,0,0,0,0,0,2,0,0,0,0,0xcd7f,0xcccc,0x4ccc,0xcd7f,0xcccc,0xcccc,0xcd7d,0xcccc, 0x4ccc,0x80,0,0,0,0,0x48,0,0x30,0,0xfffb,0xffff,6,0,1,0,2,1,0x37); FUN_1008_0138(0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x80,0,0,8,0,0,0,0,0,0,0, 0xfff7,0xffff,1,1,1,1,0x38); FUN_1008_0138(0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x80,0,0,0,0,0xffe6, 0xffff,0xffd1,0xffff,7,0,0xffff,0xffff,1,0,2,1,0x39); FUN_1008_0138(0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x80,0,0,8,0,0,0,0,0, 0xfff9,0xffff,3,0,1,1,1,1,0x3a); FUN_1008_0138(0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x80,0,0,0,0,0xffd3, 0xffff,0,0,0,0,0xfff8,0xffff,1,0,2,1,0x3b); FUN_1008_0138(0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,10,0 ,0,0,0,0,0x13a,0,0x1d,0,0,1,1,1,0x3c); FUN_1008_0138(0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x80,0,0,0,0,0x16f,0,0x25 ,0,0x138,0,0x25,0,0,0,2,1,0x3d); FUN_1008_0138(0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0xcd7c,0xcccc,0x4ccc,0xcd7f,0xcccc,0x4ccc,0,0, 0x194,0,0x6e,0,0x16f,0,0x25,0,0,0,2,1,0x3e); FUN_1008_0138(0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0,0, 0x195,0,0x13,0,0x1ac,0,0x5c,0,0,0,2,1,0x3f); FUN_1008_0138(0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0,0, 0x137,0,0x13,0,0x195,0,0x13,0,0,0,2,1,0x40); FUN_1008_0138(0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x80,0,0,0xf,0,0,0,0,0, 0x1a1,0,0x67,0,0,1,1,1,0x41); FUN_1008_0138(0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0xcd7e,0xcccc,0x4ccc,0x80,0,0,0,0,0x1b1,0,0x8d ,0,0x196,0,0x70,0,0,0,2,1,0x42); FUN_1008_0138(0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0xcd7e,0xcccc,0x4ccc,0x80,0,0,9,0,0,0,0,0, 0x1b7,0,0x86,0,0,1,1,1,0x43); FUN_1008_0138(0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0xcd7e,0xcccc,0x4ccc,0x80,0,0,0,0,0x1af,0,0x61 ,0,0x1bf,0,0x82,0,0,0,2,1,0x44); FUN_1008_0138(0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x80,0,0,8,0,0,0,0,0, 0x138,0,0x104,0,0,1,1,1,0x45); FUN_1008_0138(0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x80,0,0,0,0,0x2d,0,0,0,0 ,0,7,0,1,0,2,1,0x46); FUN_1008_0138(0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x80,0,0,8,0,0,0,0,0, 0xffff,0xffff,0xfff9,0xffff,1,1,1,1,0x47); FUN_1008_0138(0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x80,0,0,0,0,0x16,0, 0xffd1,0xffff,8,0,1,0,1,0,2,1,0x48); FUN_1008_0138(0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x80,0,0,8,0,0,0,0,0, 0xfff8,0xffff,0,0,1,1,1,1,0x49); FUN_1008_0138(0,0,0,0,0,0,0,0,2,0,0,0,0,0xcd7f,0xcccc,0x4ccc,0xcd7f,0xcccc,0xcccc,0xcd7d,0xcccc, 0x4ccc,0x80,0,0,0,0,0xffb9,0xffff,0x32,0,0xfffe,0xffff,0xfff7,0xffff,1,0,2,1,0x4a); FUN_1008_0138(0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,9,0, 0,0,0,0,0x138,0,0x11c,0,0,1,1,1,0x4b); FUN_1008_0138(0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x80,0,0,0,0,0x195,0, 0x124,0,0x137,0,0x124,0,0,0,2,1,0x4c); FUN_1008_0138(0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0,0, 0x1ac,0,0xdd,0,0x195,0,0x124,0,0,0,2,1,0x4d); FUN_1008_0138(0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0xcd7c,0xcccc,0x4ccc,0x80,0,0,0,0,0x16f,0, 0x113,0,0x194,0,0xcd,0,0,0,2,1,0x4e); FUN_1008_0138(0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0,0, 0x138,0,0x113,0,0x16f,0,0x113,0,0,0,2,1,0x4f); FUN_1008_0138(0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0xcd7e,0xcccc,0x4ccc,0x80,0,0,0xf,0,0,0,0,0, 0x1a1,0,0xd2,0,0,1,1,1,0x50); FUN_1008_0138(0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0xcd7e,0xcccc,0x4ccc,0x80,0,0,0,0,0x1bf,0,0xb1 ,0,0x1af,0,0xd8,0,0,0,2,1,0x51); FUN_1008_0138(0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0xcd7e,0xcccc,0x4ccc,0x80,0,0,9,0,0,0,0,0, 0x1b7,0,0xb3,0,0,1,1,1,0x52); FUN_1008_0138(0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0xcd7e,0xcccc,0x4ccc,0x80,0,0,0,0,0x196,0,0xc9 ,0,0x1b1,0,0xac,0,0,0,2,1,0x53); FUN_1008_0138(0,0,0,0,0,0,0,0,3,0x5dc,0,0,4,0,0,0,0,0,0,0,0,0,0x9a80,0x9999,0x1999,0,0,0xdd,0,0x28 ,0,0xcd,0,0x49,0,0,0,2,1,0x54); FUN_1008_0138(0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0x9a80,0x9999,0x1999,0,0,0xcd,0,0x49,0, 0xc1,0,0x43,0,0,0,2,1,0x55); FUN_1008_0138(0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0x9a80,0x9999,0x1999,0,0,0xd1,0,0x22,0, 0xdd,0,0x28,0,0,0,2,1,0x56); FUN_1008_0138(0,0,0,0,0,0,0,0,3,0x5dc,0,0x55,6,0,0,0,0,0,0,0,0,0,0x9a80,0x9999,0x1999,0,0,0xe7,0, 0x2a,0,0xd5,0,0x4c,0,0,0,2,0,0x57); FUN_1008_0138(0,0,0,0,0,0,0,0,3,0x5dc,0,0x56,6,0,0,0,0,0,0,0,0,0,0x9a80,0x9999,0x1999,0,0,0xef,0, 0x2d,0,0xdd,0,0x4f,0,0,0,2,0,0x58); FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0x9a80,0x9999,0x1999,0x13,0,0,0,0,0,0x72 ,0,0x121,0,0,0,3,1,0x59); FUN_1008_0138(0xf6,0x132,0xe7,0x11a,0,0,0,0,3,0x5dc,0,0x5a,0x208a,0,0,0,0,0,0,0,0,0,0x9a80,0x9999, 0x1999,0,0,0xf7,0,0x124,0,0x111,0,0x124,0,0,0,2,1,0x5a); FUN_1008_0138(0xf6,0x132,0xe7,0x11a,0,0,0,0,3,0x5dc,0,0x5a,0x208a,0,0,0,0,0,0,0,0,0,0xcd7f,0xcccc, 0x4ccc,0,0,0x111,0,0x124,0,0x111,0,0x12e,0,0,0,2,1,0x5b); FUN_1008_0138(0xf6,0x132,0xe7,0x11a,0,0,0,0,3,0x5dc,0,0x5a,0x208a,0,0,0,0,0,0,0,0,0,0xcd7f,0xcccc, 0x4ccc,0,0,0xf7,0,0x12e,0,0xf7,0,0x124,0,0,0,2,1,0x5c); FUN_1008_0138(0xe7,0x132,0xd9,0x11a,0,0,0,0,3,0x5dc,0,0x5d,0x208a,0,0,0,0,0,0,0,0,0,0x9a80,0x9999, 0x1999,0,0,0xe7,0,0x124,0,0x100,0,0x124,0,0,0,2,1,0x5d); FUN_1008_0138(0xe7,0x132,0xd9,0x11a,0,0,0,0,3,0x5dc,0,0x5d,0x208a,0,0,0,0,0,0,0,0,0,0xcd7f,0xcccc, 0x4ccc,0,0,0x100,0,0x124,0,0x100,0,0x12e,0,0,0,2,1,0x5e); FUN_1008_0138(0xe7,0x132,0xd9,0x11a,0,0,0,0,3,0x5dc,0,0x5d,0x208a,0,0,0,0,0,0,0,0,0,0xcd7f,0xcccc, 0x4ccc,0,0,0xe7,0,0x12e,0,0xe7,0,0x124,0,0,0,2,1,0x5f); FUN_1008_0138(0xd8,0x132,0xca,0x11a,0,0,0,0,3,0x5dc,0,0x60,0x208a,0,0,0,0,0,0,0,0,0,0x9a80,0x9999, 0x1999,0,0,0xd9,0,0x124,0,0xf1,0,0x124,0,0,0,2,1,0x60); FUN_1008_0138(0xd8,0x132,0xca,0x11a,0,0,0,0,3,0x5dc,0,0x60,0x208a,0,0,0,0,0,0,0,0,0,0xcd7f,0xcccc, 0x4ccc,0,0,0xf1,0,0x124,0,0xf1,0,0x12e,0,0,0,2,1,0x61); FUN_1008_0138(0xd8,0x132,0xca,0x11a,0,0,0,0,3,0x5dc,0,0x60,0x208a,0,0,0,0,0,0,0,0,0,0xcd7f,0xcccc, 0x4ccc,0,0,0xd9,0,0x12e,0,0xd9,0,0x124,0,0,0,2,1,0x62); FUN_1008_0138(0xc9,0x132,0xbb,0x11a,0,0,0,0,3,0x5dc,0,99,0x208a,0,0,0,0,0,0,0,0,0,0x9a80,0x9999, 0x1999,0,0,0xc9,0,0x124,0,0xe2,0,0x124,0,0,0,2,1,99); FUN_1008_0138(0xc9,0x132,0xbb,0x11a,0,0,0,0,3,0,0,99,0x208a,0,0,0,0,0,0,0,0,0,0xcd7f,0xcccc,0x4ccc ,0,0,0xe2,0,0x124,0,0xe2,0,0x12e,0,0,0,2,1,100); FUN_1008_0138(0xc9,0x132,0xbb,0x11a,0,0,0,0,3,0,0,99,0x208a,0,0,0,0,0,0,0,0,0,0xcd7f,0xcccc,0x4ccc ,0,0,0xca,0,0x12e,0,0xca,0,0x124,0,0,0,2,1,0x65); FUN_1008_0138(0xba,0x132,0xae,0x11a,0,0,0,0,3,0x5dc,0,0x66,0x208a,0,0,0,0,0,0,0,0,0,0x9a80,0x9999, 0x1999,0,0,0xbb,0,0x124,0,0xd2,0,0x124,0,0,0,2,1,0x66); FUN_1008_0138(0xba,0x132,0xae,0x11a,0,0,0,0,3,0,0,0x66,0x208a,0,0,0,0,0,0,0,0,0,0xcd7f,0xcccc, 0x4ccc,0,0,0xd1,0,0x124,0,0xd2,0,0x12e,0,0,0,2,1,0x67); FUN_1008_0138(0xba,0x132,0xae,0x11a,0,0,0,0,3,0,0,0x66,0x208a,0,0,0,0,0,0,0,0,0,0xcd7f,0xcccc, 0x4ccc,0,0,0xb7,0,0x12e,0,0xbc,0,0x124,0,0,0,2,1,0x68); FUN_1008_0138(0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0xcd7e,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0,0, 0xe0,0,0x94,0,0xf2,0,0xcb,0,0,0,2,1,0x69); FUN_1008_0138(0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0xe, 0,0,0,0,0,0xd4,0,0x9c,0,0,1,1,1,0x6a); FUN_1008_0138(0,0,0,0,0,0,0,0,3,0,0,0,0,0x9a7f,0x9999,0x1999,0xcd7f,0xcccc,0xcccc,0xcd7d,0xcccc, 0x4ccc,0x9a80,0x9999,0x1999,0,0,0xd9,0,0xd7,0,0xc6,0,0x9e,0,0,0,2,1,0x6b); FUN_1008_0138(0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0xe, 0,0,0,0,0,0xe6,0,0xd2,0,0,1,1,1,0x6c); FUN_1008_0138(0xec,0xce,0xd6,0xc0,0,0,0,0,3,0x5dc,0,0x6d,0x2092,0,0,0,0,0,0,0,0,0,0x9a80,0x9999, 0x1999,0,0,0xf6,0,0xbb,0,0xfd,0,0xd1,0,0,0,2,1,0x6d); FUN_1008_0138(0xdc,0xcd,0xd6,0xc0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0x9a80,0x9999,0x1999,0,0, 0xfd,0,0xd1,0,0xee,0,0xd6,0,0,0,2,1,0x6e); FUN_1008_0138(0xdc,0xcd,0xd6,0xc0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0x9a80,0x9999,0x1999,0,0, 0xea,0,0xbf,0,0xf6,0,0xbb,0,0,0,2,1,0x6f); FUN_1008_0138(0xe7,0xbf,0xd1,0xb2,0,0,0,0,3,0x5dc,0,0x70,0x2092,0,0,0,0,0,0,0,0,0,0x9a80,0x9999, 0x1999,0,0,0xef,0,0xa9,0,0xf9,0,0xc6,0,0,0,2,1,0x70); FUN_1008_0138(0xdc,0xcd,0xd6,0xc0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0x9a80,0x9999,0x1999,0,0, 0xf9,0,0xc6,0,0xed,0,0xca,0,0,0,2,1,0x71); FUN_1008_0138(0xdc,0xcd,0xd6,0xc0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0x9a80,0x9999,0x1999,0,0, 0xe3,0,0xad,0,0xef,0,0xa9,0,0,0,2,1,0x72); FUN_1008_0138(0xe2,0xb1,0xcc,0xa3,0,0,0,0,3,0x5dc,0,0x73,0x2092,0,0,0,0,0,0,0,0,0,0x9a80,0x9999, 0x1999,0,0,0xe9,0,0x99,0,0xf3,0,0xb6,0,0,0,2,1,0x73); FUN_1008_0138(0xdc,0xcd,0xd6,0xc0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0x9a80,0x9999,0x1999,0,0, 0xf3,0,0xb6,0,0xe7,0,0xba,0,0,0,2,1,0x74); FUN_1008_0138(0xdc,0xcd,0xd6,0xc0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0x9a80,0x9999,0x1999,0,0, 0xdd,0,0x9d,0,0xe9,0,0x99,0,0,0,2,1,0x75); FUN_1008_0138(0xdd,0xa3,0xc6,0x95,0,0,0,0,3,0x5dc,0,0x76,0x2092,0,0,0,0,0,0,0,0,0,0x9a80,0x9999, 0x1999,0,0,0xe2,0,0x8b,0,0xed,0,0xa3,0,0,0,2,1,0x76); FUN_1008_0138(0xdc,0xcd,0xd6,0xc0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0x9a80,0x9999,0x1999,0,0, 0xed,0,0xa3,0,0xe1,0,0xa7,0,0,0,2,1,0x77); FUN_1008_0138(0xdc,0xcd,0xd6,0xc0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0x9a80,0x9999,0x1999,0,0, 0xd3,0,0x90,0,0xe2,0,0x8b,0,0,0,2,1,0x78); FUN_1008_0138(0,0,0,0,0,0,0,0,1,2000,0,0,0x400,0,0,0,0,0,0,0,0,0,0x9a80,0x9999,0x1999,0,0,0xa0,0, 0x54,0,0x95,0,0x69,0,0,0,2,1,0x79); FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0x9a80,0x9999,0x1999,0,0,0x95,0,0x69,0, 0x8b,0,0x65,0,0,0,2,1,0x7a); FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0x9a80,0x9999,0x1999,0,0,0x96,0,0x50,0, 0xa0,0,0x54,0,0,0,2,1,0x7b); FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0,0, 0x97,0,0x57,0,0x8b,0,0x6f,0,0,0,2,1,0x7c); FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,8,0, 0,0,0,0,0x92,0,0x54,0,0,1,1,1,0x7d); FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0,0, 0x6c,0,0x4d,0,0x93,0,0x4d,0,0,0,2,1,0x7e); FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0,0, 0x6a,0,0x57,0,0x6c,0,0x4d,0,0,0,2,1,0x7f); FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0,0, 0x8d,0,0x6e,0,0x6a,0,0x57,0,0,0,2,1,0x80); FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0x9a80,0x9999,0x1999,0x13,0,0,0,0,0,0x60 ,0,0x60,0,0,0,3,1,0x81); FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0x9a80,0x9999,0x1999,0x13,0,0,0,0,0,0x45 ,0,0x73,0,0,0,3,1,0x82); FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0x9a80,0x9999,0x1999,0x13,0,0,0,0,0,0x50 ,0,0x93,0,0,0,3,1,0x83); FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0x9a80,0x9999,0x1999,0x13,0,0,0,0,0,0x70 ,0,0x93,0,0,0,3,1,0x84); FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0x9a80,0x9999,0x1999,0x13,0,0,0,0,0,0x7b ,0,0x73,0,0,0,3,1,0x85); FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0x14 ,0,0,0,0,0,0x60,0,0x7c,0,0,1,1,1,0x86); FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0x11 ,0,0,0,0,0,0x4e,0,100,0,0,1,1,1,0x87); FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0x11 ,0,0,0,0,0,0x44,0,0x85,0,0,1,1,1,0x88); FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0x11 ,0,0,0,0,0,0x60,0,0x9a,0,0,1,1,1,0x89); FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0x11 ,0,0,0,0,0,0x7d,0,0x85,0,0,1,1,1,0x8a); FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0x11 ,0,0,0,0,0,0x72,0,100,0,0,1,1,1,0x8b); FUN_1008_0138(0xbc,0x1f,0xae,0x11,0,0,0,0,1,1000,0,0,0xc0,0,0,0,0,0,0,0,0,0,0,0,0,0xc,0,0,0,0,0, 0xca,0,0x18,0,0,0,4,1,0x8c); FUN_1008_0138(0xa9,0x19,0x9b,0xb,0,0,0,0,1,1000,0,0,0xc0,0,0,0,0,0,0,0,0,0,0,0,0,0xc,0,0,0,0,0, 0xb6,0,0x12,0,0,0,4,1,0x8d); FUN_1008_0138(0x96,0x18,0x88,10,0,0,0,0,1,0x5dc,0,0,0xc0,0,0,0,0,0,0,0,0,0,0,0,0,0xc,0,0,0,0,0, 0xa4,0,0x11,0,0,0,4,1,0x8e); FUN_1008_0138(0x83,0x18,0x75,10,0,0,0,0,1,0x5dc,0,0,0xc0,0,0,0,0,0,0,0,0,0,0,0,0,0xc,0,0,0,0,0, 0x91,0,0x11,0,0,0,4,1,0x8f); FUN_1008_0138(0x70,0x18,0x62,10,0,0,0,0,1,2000,0,0,0xc0,0,0,0,0,0,0,0,0,0,0,0,0,0xc,0,0,0,0,0,0x7e ,0,0x11,0,0,0,4,1,0x90); FUN_1008_0138(0x5d,0x18,0x4f,10,0,0,0,0,1,2000,0,0,0xc0,0,0,0,0,0,0,0,0,0,0,0,0,0xc,0,0,0,0,0,0x6b ,0,0x11,0,0,0,4,1,0x91); FUN_1008_0138(0x4f,0x18,0x3c,10,0,0,0,0,1,0x9c4,0,0,0xc0,0,0,0,0,0,0,0,0,0,0,0,0,0xc,0,0,0,0,0, 0x57,0,0x11,0,0,0,4,1,0x92); FUN_1008_0138(0x37,0x18,0x29,10,0,0,0,0,1,3000,0,0,0xc0,0,0,0,0,0,0,0,0,0,0,0,0,0xc,0,0,0,0,0,0x44 ,0,0x11,0,0,0,4,1,0x93); FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0x9a80,0x9999,0x1999,0x13,0,0,0,0,0,0x2b ,0,0x11,0,0,0,3,1,0x94); FUN_1008_0138(0x49,0x4d,0x39,0x3c,0,0,0,0,1,500,0,0,0x140,0,0,0,0,0,0,0,0,0,0,0,0,0x10,0,0,0,0,0, 0x55,0,0x44,0,0,0,4,0,0x95); FUN_1008_0138(0x32,0xd3,0x28,199,0,0,0,0,1,500,0,0,0x1000,0,0,0,0,0,0,0,0,0,0,0,0,0xb,0,0,0,0,0, 0x43,0,0xcd,0,0,0,4,1,0x96); FUN_1008_0138(0x33,0xf0,0x29,0xe4,0,0,0,0,1,500,0,0,0x1000,0,0,0,0,0,0,0,0,0,0,0,0,0xb,0,0,0,0,0, 0x42,0,0xe9,0,0,0,4,1,0x97); FUN_1008_0138(0x34,0x10d,0x2a,0x101,0,0,0,0,1,500,0,0,0x1000,0,0,0,0,0,0,0,0,0,0,0,0,0xb,0,0,0,0,0 ,0x42,0,0x108,0,0,0,4,1,0x98); FUN_1008_0138(0x188,0x17,0x158,0xb,0,0,0,0,2,0,0,0,0x100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0x194,0,0x1b, 0,0x154,0,6,0,0,0,4,0,0x99); FUN_1008_0138(0x18a,0x12f,0x15a,0x123,0,0,0,0,2,0,0,0,0x100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0x192,0, 0x133,0,0x154,0,0x11b,0,0,0,4,0,0x9a); FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0xb, 0,0,0,0,0,0x4f,0,0xb7,0,0,1,1,1,0x9b); FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0,0, 0x34,0,0xb8,0,0x4b,0,0xac,0,0,0,2,1,0x9c); FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0xb, 0,0,0,0,0,0x38,0,0xc3,0,0,1,1,1,0x9d); FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0,0, 0x52,0,0xc1,0,0x3d,0,0xcd,0,0,0,2,1,0x9e); FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0xb, 0,0,0,0,0,0x4f,0,0xd4,0,0,1,1,1,0x9f); FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0,0, 0x34,0,0xd5,0,0x4b,0,0xc9,0,0,0,2,1,0xa0); FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0xb, 0,0,0,0,0,0x38,0,0xe0,0,0,1,1,1,0xa1); FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0,0, 0x52,0,0xde,0,0x3d,0,0xea,0,0,0,2,1,0xa2); FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0xb, 0,0,0,0,0,0x4f,0,0xf1,0,0,1,1,1,0xa3); FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0,0, 0x34,0,0xf2,0,0x4b,0,0xe6,0,0,0,2,1,0xa4); FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0xb, 0,0,0,0,0,0x38,0,0xfd,0,0,1,1,1,0xa5); FUN_1008_0138(0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0,0, 0x52,0,0xfb,0,0x3d,0,0x107,0,0,0,2,1,0xa6); FUN_1008_0138(0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0x9a80,0x9999,0x1999,9,0,0,0,0,0,0x10c,0 ,299,0,0,0,1,1,0xa7); FUN_1008_0138(0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0x9a80,0x9999,0x1999,0,0,0x111,0,0x123,0 ,0x123,0,0x12a,0,0,0,2,1,0xa8); FUN_1008_0138(0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0xcd7d,0xcccc,0x4ccc,0x9a80,0x9999,0x1999,0,0, 0x4e,0,0x148,0,0x1ba,0,0x148,0,0,0,2,1,0xa9); FUN_1008_0138(0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0x9a80,0x9999,0x1999,0,0,100,0,0x12a,0, 0x1a4,0,0x12a,0,0,0,2,1,0xaa); FUN_1008_0138(0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0x9a80,0x9999,0x1999,0,0,0xbe,0,0x12a,0, 0x10b,0,0x12a,0,0,0,2,1,0xab); FUN_1008_0138(0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0x9a80,0x9999,0x1999,9,0,0,0,0,0,0xbf,0, 299,0,0,0,1,1,0xac); FUN_1008_0138(0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0x9a80,0x9999,0x1999,0,0,0xa5,0,0x12a,0, 0xbc,0,0x123,0,0,0,2,1,0xad); FUN_1008_0138(0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0x6680,0x6666,0x6666,0x11,0,0,0,0,0,0,0, 0,0,0,1,1,1,0xae); FUN_1008_0138(0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0x6680,0x6666,0x6666,0x11,0,0,0,0,0,0,0, 0,0,0,1,1,0,0xaf); FUN_1008_0787(0x143,0x79,0x130,0x67,1); FUN_1008_0787(299,0x89,0x118,0x77,2); FUN_1008_0787(0x123,0xa6,0x110,0x94,3); FUN_1008_0787(299,0xc3,0x118,0xb1,4); FUN_1008_0787(0x142,0xd3,0x12f,0xc1,5); FUN_1008_0787(0x14,0,0x14,0,6); FUN_1008_0787(0x14,0,0x14,0,7); FUN_1008_0787(0x14,0,0x14,0,8); FUN_1008_0787(0x14,0,0x14,0,9); FUN_1008_0787(0x14,0,0x14,0,10); FUN_1008_0787(0x14,0,0x14,0,0xb); FUN_1008_0787(0x14,0,0x14,0,0xc); FUN_1008_0787(0x14,0,0x14,0,0xd); FUN_1008_0787(0x14,0,0x14,0,0xe); FUN_1008_0787(0x54,0x67,0x44,0x57,0xf); FUN_1008_0787(0x39,0x7b,0x29,0x69,0x10); FUN_1008_0787(0x43,0x9a,0x33,0x8a,0x11); FUN_1008_0787(99,0x9a,0x53,0x8a,0x12); FUN_1008_0787(0x6e,0x7a,0x5e,0x6a,0x13); FUN_1008_0787(0x1e,0x19,0xe,9,0x14); local_4 = 1; while( true ) { *(undefined1 *)(iVar5 + local_4 + 0x3cc) = *(undefined1 *)(local_4 * 0x53 + 0x98f); *(undefined2 *)(iVar5 + local_4 * 2 + 0xa42) = *(undefined2 *)(local_4 * 0x53 + 0x99e); *(undefined1 *)(iVar5 + local_4 + 0x61) = 0; if (local_4 == 0xaf) break; local_4 = local_4 + 1; } return; } /* ===== 1000:51f5 FUN_1000_51f5 ===== */ void __stdcall16far FUN_1000_51f5(undefined4 param_1) { int *piVar1; undefined2 uVar2; undefined2 uVar3; uint uVar4; int iVar5; undefined2 unaff_CS; undefined2 uVar6; int local_4; uVar6 = 0; uVar2 = LOADCURSOR(unaff_CS,0x7f02,0); uVar3 = SETCURSOR(0x1228,uVar2,uVar6); FUN_1008_10e3(uVar2,uVar6,uVar3); uVar2 = (undefined2)((ulong)param_1 >> 0x10); iVar5 = (int)param_1; *(undefined1 *)(iVar5 + 0xbd9) = 1; *(undefined1 *)(iVar5 + 0xbd8) = 1; uVar4 = *(uint *)(iVar5 + 0x49) | *(uint *)(iVar5 + 0x4b); if (uVar4 != 0) { piVar1 = (int *)*(undefined4 *)(iVar5 + 0x49); (*(code *)*(undefined2 *)(*piVar1 + 8)) (0x1008,(int *)piVar1,(int)((ulong)piVar1 >> 0x10),CONCAT11((char)(uVar4 >> 8),1)); } FUN_1008_00e2(); DELETEOBJECT(0x1008,*(undefined2 *)(iVar5 + 0x52)); DELETEOBJECT(0x1228,DAT_1028_0859); DELETEOBJECT(0x1228,DAT_1028_0863); DELETEOBJECT(0x1228,DAT_1028_0865); DELETEOBJECT(0x1228,DAT_1028_085f); DELETEOBJECT(0x1228,DAT_1028_085b); DELETEOBJECT(0x1228,DAT_1028_0861); DELETEOBJECT(0x1228,DAT_1028_085d); local_4 = 0; while( true ) { DELETEOBJECT(0x1228,*(undefined2 *)(local_4 * 2 + 0x430b)); if (local_4 == 7) break; local_4 = local_4 + 1; } local_4 = 1; while( true ) { DELETEOBJECT(0x1228,*(undefined2 *)(local_4 * 2 + 0x4319)); if (local_4 == 4) break; local_4 = local_4 + 1; } local_4 = 1; while( true ) { DELETEOBJECT(0x1228,((undefined2 *)&DAT_1028_4321)[local_4]); if (local_4 == 9) break; local_4 = local_4 + 1; } SETCURSOR(0x1228,uVar3); POSTQUITMESSAGE(0x1228,0x12); FUN_1018_121b(iVar5,uVar2,0); INVALIDATERECT(0x1018,1,0,0,*(undefined2 *)(iVar5 + 4)); FUN_1020_0439(); return; } /* ===== 1000:531e FUN_1000_531e ===== */ void __stdcall16far FUN_1000_531e(int param_1,byte param_2) { undefined2 uVar1; undefined2 uVar2; undefined2 unaff_SS; undefined2 uVar3; undefined2 uVar4; uVar4 = *(undefined2 *)(param_1 + 0xe); uVar1 = CREATECOMPATIBLEDC(); *(undefined2 *)(param_1 + -0xc) = uVar1; uVar1 = *(undefined2 *)(param_1 + -0xc); uVar2 = SELECTOBJECT(0x1228,*(undefined2 *)(param_1 + -2)); *(undefined2 *)(param_1 + -4) = uVar2; uVar2 = *(undefined2 *)(param_1 + 0xe); BITBLT(0x1228,0x20,0xcc,0,0,*(undefined2 *)(param_1 + -0xc),0xd,(param_2 - 1) * 7,0x148,0xca); uVar3 = *(undefined2 *)(param_1 + -0xc); SELECTOBJECT(0x1228,*(undefined2 *)(param_1 + -4)); DELETEOBJECT(0x1228,*(undefined2 *)(param_1 + -0xc),uVar3,uVar2,uVar1,uVar4); return; } /* ===== 1000:5390 FUN_1000_5390 ===== */ void __stdcall16far FUN_1000_5390(undefined4 param_1,undefined2 param_2,undefined2 param_3,undefined2 param_4) { undefined2 uVar1; undefined2 uVar2; int iVar3; undefined2 unaff_CS; undefined2 uVar4; undefined2 unaff_SS; undefined2 uVar5; undefined2 uVar6; undefined2 uVar7; undefined2 uVar8; undefined2 uVar9; int local_20; undefined1 local_16 [4]; int local_12; int local_10; undefined2 local_e; undefined2 local_c; undefined2 local_a; undefined2 local_8; undefined2 local_6; undefined2 local_4; uVar2 = param_4; uVar1 = SELECTPALETTE(unaff_CS,0,DAT_1028_444e); UNREALIZEOBJECT(0x1228,DAT_1028_444e,uVar2); REALIZEPALETTE(0x1228,param_4); uVar4 = 0x1008; FUN_1008_00e2(); iVar3 = (int)param_1; uVar2 = (undefined2)((ulong)param_1 >> 0x10); if (DAT_1028_07cc != '\0') { local_4 = FUN_1008_149d(0x3e3,0,DAT_1028_06fe); uVar6 = CREATECOMPATIBLEDC(0x1008,param_4); local_e = uVar6; local_6 = SELECTOBJECT(0x1228,local_4); uVar5 = param_4; BITBLT(0x1228,0x20,0xcc,0,0,local_e,0x1e0,0x280,0,0); uVar4 = local_e; SELECTOBJECT(0x1228,local_6); DELETEOBJECT(0x1228,local_e,uVar4,uVar5,uVar6); DELETEOBJECT(0x1228,local_4); local_4 = FUN_1008_149d(0x3e2,0,DAT_1028_06fe); FUN_1000_531e(&stack0xfffe,2); FUN_1008_0f2e(); FUN_1000_531e(&stack0xfffe,3); FUN_1000_531e(&stack0xfffe,4); DAT_1028_085d = FUN_1008_149d(0x3e6,0,DAT_1028_06fe); FUN_1000_531e(&stack0xfffe,5); DAT_1028_085b = FUN_1008_149d(0x3e6,0,DAT_1028_06fe); FUN_1000_531e(&stack0xfffe,6); DAT_1028_0861 = LOADBITMAP(0x1000,500,0); local_20 = 0; while( true ) { FUN_1000_531e(&stack0xfffe,local_20 + 7); uVar4 = FUN_1008_149d(local_20 + 400,local_20 + 400 >> 0xf,DAT_1028_06fe); *(undefined2 *)(local_20 * 2 + 0x430b) = uVar4; if (local_20 == 7) break; local_20 = local_20 + 1; } local_20 = 1; while( true ) { FUN_1000_531e(&stack0xfffe,local_20 + 0xe); uVar4 = FUN_1008_149d(local_20 + 700,local_20 + 700 >> 0xf,DAT_1028_06fe); *(undefined2 *)(local_20 * 2 + 0x4319) = uVar4; if (local_20 == 4) break; local_20 = local_20 + 1; } local_20 = 1; while( true ) { FUN_1000_531e(&stack0xfffe,local_20 + 0x12); uVar4 = FUN_1008_149d(local_20 + 800,local_20 + 800 >> 0xf,DAT_1028_06fe); ((undefined2 *)&DAT_1028_4321)[local_20] = uVar4; if (local_20 == 9) break; local_20 = local_20 + 1; } FUN_1000_531e(&stack0xfffe,0x1c); uVar4 = LOADBITMAP(0x1000,0x66,0); *(undefined2 *)(iVar3 + 0x54) = uVar4; FUN_1000_531e(&stack0xfffe,0x1d); DAT_1028_0863 = FUN_1008_149d(900,0,DAT_1028_06fe); FUN_1000_531e(&stack0xfffe,0x1e); uVar4 = LOADBITMAP(0x1000,0x65,0); *(undefined2 *)(iVar3 + 0x52) = uVar4; FUN_1000_531e(&stack0xfffe,0x1f); DAT_1028_085f = FUN_1008_149d(0x3e5,0,DAT_1028_06fe); FUN_1000_531e(&stack0xfffe,0x20); DAT_1028_0865 = FUN_1008_149d(0x385,0,DAT_1028_06fe); FUN_1000_531e(&stack0xfffe,0x21); DAT_1028_0859 = FUN_1008_149d(600,0,DAT_1028_06fe); FUN_1000_531e(&stack0xfffe,0x22); DAT_1028_07cc = '\0'; FUN_1000_531e(&stack0xfffe,0x23); DELETEOBJECT(0x1000,local_4); uVar5 = param_4; SELECTPALETTE(0x1228,0,uVar1); uVar7 = 0; uVar6 = LOADCURSOR(0x1228,0x7f00,0); uVar4 = 0x1228; SETCURSOR(0x1228,uVar6,uVar7,uVar5); } if (*(char *)(iVar3 + 0xbd8) == '\0') { *(undefined1 *)(iVar3 + 0xbd9) = 1; local_c = CREATECOMPATIBLEDC(uVar4,param_4); local_e = CREATECOMPATIBLEDC(0x1228,param_4); GETCLIENTRECT(0x1228,local_16,unaff_SS); local_a = CREATECOMPATIBLEBITMAP(0x1228,local_10 + 1,local_12 + 1); local_6 = SELECTOBJECT(0x1228,DAT_1028_085b); local_8 = SELECTOBJECT(0x1228,local_a); uVar9 = local_e; BITBLT(0x1228,0x20,0xcc,0,0,local_c,local_10,local_12,0,0); uVar8 = local_c; BITBLT(0x1228,0x20,0xcc,0,0,local_e,local_10,local_12,0,0); uVar5 = 0xcc; uVar4 = 0x20; uVar7 = param_4; BITBLT(0x1228,0x20,0xcc,0,0,local_e,local_10,local_12,0,0); uVar6 = local_e; SELECTOBJECT(0x1228,local_8); DELETEOBJECT(0x1228,local_a,uVar6,uVar7,uVar8,uVar9); DELETEDC(0x1228,local_e); uVar7 = 0x1228; uVar6 = 0x5706; uVar8 = local_6; uVar9 = local_c; SELECTOBJECT(0x1228,local_6); if ((((0 < *(int *)(iVar3 + 0xba4)) || ((-1 < *(int *)(iVar3 + 0xba4) && (*(int *)(iVar3 + 0xba2) != 0)))) && ((0 < *(int *)(iVar3 + 0xba8) || ((-1 < *(int *)(iVar3 + 0xba8) && (*(int *)(iVar3 + 0xba6) != 0)))))) && (*(char *)(iVar3 + 0xbde) == '\0')) { uVar8 = local_c; local_6 = SELECTOBJECT(0x1228,*(undefined2 *)(iVar3 + 0x54)); uVar7 = param_4; BITBLT(0x1228,0xc6,0x88,0,0,local_c,*(int *)(iVar3 + 0xba6) + 0x13, *(int *)(iVar3 + 0xba2) + 0x13,*(undefined2 *)(iVar3 + 0xba6), *(undefined2 *)(iVar3 + 0xba2)); uVar6 = local_c; SELECTOBJECT(0x1228,*(undefined2 *)(iVar3 + 0x52)); uVar5 = param_4; BITBLT(0x1228,0x86,0xee,0,0,local_c,*(int *)(iVar3 + 0xba6) + 0x13, *(int *)(iVar3 + 0xba2) + 0x13,*(undefined2 *)(iVar3 + 0xba6), *(undefined2 *)(iVar3 + 0xba2)); uVar4 = local_c; SELECTOBJECT(0x1228,local_6); } DELETEDC(0x1228,local_c,uVar4,uVar5,uVar6,uVar7,uVar8,uVar9); *(undefined2 *)(iVar3 + 0x4d) = 0; *(undefined2 *)(iVar3 + 0x4f) = 0; *(undefined1 *)(iVar3 + 0xbd9) = 0; SELECTPALETTE(0x1228,0,uVar1); uVar4 = 0; uVar1 = LOADCURSOR(0x1228,0x7f00,0); SETCURSOR(0x1228,uVar1,uVar4,param_4); uVar1 = *(undefined2 *)(iVar3 + 4); GETCLIENTRECT(0x1228,local_16,unaff_SS); local_e = GETDC(0x1228,*(undefined2 *)(iVar3 + 4),uVar1); uVar2 = *(undefined2 *)((uint)DAT_1028_07d1 * 4 + 0x990); uVar1 = FUN_1020_08a9(); FUN_1008_0996(local_e,uVar1,uVar2); local_20 = 1; while( true ) { iVar3 = *(int *)(local_20 * 4 + 0x980); if ((0 < iVar3) || ((-1 < iVar3 && (*(int *)(local_20 * 4 + 0x97e) != 0)))) { FUN_1008_0996(local_e,local_20,local_20 >> 0xf); } if (local_20 == 4) break; local_20 = local_20 + 1; } DAT_1028_086b = 99; FUN_1008_0b9e(DAT_1028_07d1,local_e); RELEASEDC(0x1008,local_e); DAT_1028_07cb = 1; } return; } /* ===== 1000:58e7 FUN_1000_58e7 ===== */ undefined2 __stdcall16far FUN_1000_58e7(undefined4 param_1,undefined4 param_2) { int iVar1; int iVar2; undefined2 uVar3; undefined2 uVar4; undefined2 local_4; uVar3 = (undefined2)((ulong)param_2 >> 0x10); iVar2 = (int)param_2; if (*(int *)(iVar2 + 4) == 0) { DAT_1028_07c4 = '\0'; local_4 = 0; } else if (DAT_1028_07c4 == '\0') { uVar4 = (undefined2)((ulong)param_1 >> 0x10); iVar1 = ISICONIC(); if (iVar1 == 0) { DAT_1028_07c4 = '\x01'; INVALIDATERECT(0x1228,0,0,0,*(undefined2 *)((int)param_1 + 4)); UPDATEWINDOW(0x1228,*(undefined2 *)((int)param_1 + 4)); *(undefined2 *)(iVar2 + 10) = 0; *(undefined2 *)(iVar2 + 0xc) = 0; local_4 = 0; } } return local_4; } /* ===== 1000:5956 FUN_1000_5956 ===== */ void __stdcall16far FUN_1000_5956(undefined4 param_1,undefined4 param_2) { int iVar1; undefined2 uVar2; undefined2 uVar3; undefined2 unaff_CS; uVar2 = (undefined2)((ulong)param_2 >> 0x10); iVar1 = (int)param_2; if ((*(int *)(iVar1 + 4) == 0) && (DAT_1028_07c4 == '\0')) { DAT_1028_07c4 = '\x01'; uVar3 = (undefined2)((ulong)param_1 >> 0x10); INVALIDATERECT(unaff_CS,0,0,0,*(undefined2 *)((int)param_1 + 4)); UPDATEWINDOW(0x1228,*(undefined2 *)((int)param_1 + 4)); *(undefined2 *)(iVar1 + 10) = 0; *(undefined2 *)(iVar1 + 0xc) = 0; } return; } /* ===== 1000:59a0 FUN_1000_59a0 ===== */ undefined2 __stdcall16far FUN_1000_59a0(undefined4 param_1,undefined4 param_2) { int iVar1; undefined2 uVar2; undefined2 uVar3; int iVar4; int iVar5; undefined2 uVar6; undefined2 uVar7; undefined2 uVar8; undefined2 uVar9; undefined2 local_4; local_4 = 1; uVar6 = (undefined2)((ulong)param_2 >> 0x10); iVar4 = (int)param_2; uVar7 = (undefined2)((ulong)param_1 >> 0x10); iVar5 = (int)param_1; if (*(int *)(iVar4 + 4) != *(int *)(iVar5 + 4)) { uVar9 = *(undefined2 *)(iVar4 + 4); iVar1 = GETPARENT(); if (iVar1 != *(int *)(iVar5 + 4)) { uVar7 = *(undefined2 *)(iVar5 + 4); uVar2 = GETDC(0x1228,uVar7,uVar9); uVar8 = uVar2; uVar3 = SELECTPALETTE(0x1228,1,DAT_1028_444e); REALIZEPALETTE(0x1228,uVar2,uVar8,uVar7,uVar9,uVar3); UPDATECOLORS(0x1228,uVar2); SELECTPALETTE(0x1228,0,uVar3); RELEASEDC(0x1228,uVar2); *(undefined2 *)(iVar4 + 10) = 0; *(undefined2 *)(iVar4 + 0xc) = 0; local_4 = 0; } } return local_4; } /* ===== 1000:5a37 FUN_1000_5a37 ===== */ int __stdcall16far FUN_1000_5a37(undefined4 param_1,undefined4 param_2) { undefined2 uVar1; undefined2 uVar2; int iVar3; undefined2 uVar4; undefined2 uVar5; undefined2 uVar6; uVar4 = (undefined2)((ulong)param_1 >> 0x10); uVar5 = *(undefined2 *)((int)param_1 + 4); uVar1 = GETDC(); uVar6 = uVar1; uVar2 = SELECTPALETTE(0x1228,0,DAT_1028_444e); iVar3 = REALIZEPALETTE(0x1228,uVar1,uVar6,uVar5); SELECTPALETTE(0x1228,0,uVar2); RELEASEDC(0x1228,uVar1); if (0 < iVar3) { INVALIDATERECT(0x1228,0,0,0,*(undefined2 *)((int)param_1 + 4)); } uVar5 = (undefined2)((ulong)param_2 >> 0x10); *(int *)((int)param_2 + 10) = iVar3; *(undefined2 *)((int)param_2 + 0xc) = 0; return iVar3; } /* ===== 1000:5ab7 FUN_1000_5ab7 ===== */ void __stdcall16far FUN_1000_5ab7(undefined4 param_1,uint *param_2) { uint uVar1; undefined2 uVar2; uVar2 = (undefined2)((ulong)param_2 >> 0x10); FUN_1018_1274((int)param_1,(int)((ulong)param_1 >> 0x10),(uint *)param_2,uVar2); uVar1 = GETSTOCKOBJECT(0x1018,5); ((uint *)param_2)[8] = uVar1; *param_2 = *param_2 | 0x3800; return; } /* ===== 1000:5aea FUN_1000_5aea ===== */ undefined4 __stdcall16far FUN_1000_5aea(undefined4 param_1,undefined2 param_2,undefined2 param_3,undefined2 param_4, undefined2 param_5,undefined2 param_6) { uint uVar1; int iVar2; undefined2 uVar3; bool bVar4; bVar4 = true; FUN_1020_03ef(); if (!bVar4) { uVar3 = (undefined2)((ulong)param_1 >> 0x10); iVar2 = (int)param_1; FUN_1018_1106(iVar2,uVar3,0,param_3,param_4,param_5,param_6); *(undefined2 *)(iVar2 + 0x41) = param_5; *(undefined2 *)(iVar2 + 0x43) = param_6; *(undefined2 *)(iVar2 + 0x2d) = 0x168; *(undefined2 *)(iVar2 + 0x2f) = 300; *(int *)(iVar2 + 0x29) = 0x140 - *(int *)(iVar2 + 0x2d) / 2; *(int *)(iVar2 + 0x2b) = 0xe6 - *(int *)(iVar2 + 0x2f) / 2; uVar1 = *(uint *)(iVar2 + 0x23); *(uint *)(iVar2 + 0x21) = *(uint *)(iVar2 + 0x21) | 2; *(uint *)(iVar2 + 0x23) = uVar1 | 0x4680; SETFOCUS(0x1018,*(undefined2 *)(iVar2 + 4)); } return param_1; } /* ===== 1000:5ba6 FUN_1000_5ba6 ===== */ void __stdcall16far FUN_1000_5ba6(undefined4 param_1) { int iVar1; int iVar2; undefined2 uVar3; undefined2 uVar4; undefined2 uVar5; uVar5 = DAT_1028_0867; DELETEOBJECT(); uVar3 = (undefined2)((ulong)param_1 >> 0x10); iVar1 = (int)param_1; uVar4 = (undefined2)((ulong)*(undefined4 *)(iVar1 + 0x41) >> 0x10); iVar2 = (int)*(undefined4 *)(iVar1 + 0x41); *(undefined2 *)(iVar2 + 0x41) = 0; *(undefined2 *)(iVar2 + 0x43) = 0; *(undefined2 *)(iVar1 + 0x41) = 0; *(undefined2 *)(iVar1 + 0x43) = 0; FUN_1018_121b(iVar1,uVar3,0); FUN_1020_0439(uVar5); return; } /* ===== 1000:5be5 FUN_1000_5be5 ===== */ void __stdcall16far FUN_1000_5be5(undefined4 param_1) { undefined2 uVar1; uVar1 = (undefined2)((ulong)param_1 >> 0x10); FUN_1018_170c((int)param_1,uVar1); DAT_1028_0867 = FUN_1008_149d(0x3e1,0,DAT_1028_06fe); SETFOCUS(0x1008,*(undefined2 *)((int)param_1 + 4)); return; } /* ===== 1000:5c13 FUN_1000_5c13 ===== */ void __stdcall16far FUN_1000_5c13(void) { undefined2 uVar1; undefined2 uVar2; undefined2 unaff_CS; undefined2 unaff_SS; undefined2 in_stack_0000000c; undefined1 *puVar3; int iVar4; undefined1 *puVar5; undefined2 uVar6; undefined2 uVar7; undefined1 local_26c [256]; undefined2 local_16c; undefined2 local_16a; undefined2 local_168; undefined2 local_166; undefined2 local_164; undefined2 local_162; int local_160; int local_15e; undefined1 local_15c [256]; undefined1 local_5c [41]; undefined1 local_33 [41]; undefined2 local_a; undefined4 local_8; undefined2 local_4; uVar1 = in_stack_0000000c; local_4 = SELECTPALETTE(unaff_CS,0,DAT_1028_444e); UNREALIZEOBJECT(0x1228,DAT_1028_444e,uVar1); REALIZEPALETTE(0x1228,in_stack_0000000c); uVar1 = CREATECOMPATIBLEDC(0x1228,in_stack_0000000c); local_16a = uVar1; local_164 = SELECTOBJECT(0x1228,DAT_1028_0867); local_16c = CREATECOMPATIBLEDC(0x1228,in_stack_0000000c,uVar1); local_168 = CREATECOMPATIBLEBITMAP(0x1228,300,0x168); uVar1 = local_16c; local_166 = SELECTOBJECT(0x1228,local_168); local_8 = GETTEXTCOLOR(0x1228,local_16c,uVar1,in_stack_0000000c); local_a = SETTEXTALIGN(0x1228,6); local_162 = SETBKMODE(0x1228,1); BITBLT(0x1228,0x20,0xcc,0,0,local_16a,300,0x168,0,0); SETTEXTCOLOR(0x1228,0,0); FUN_1008_2ee5(0x2f4,0x1028,local_33,unaff_SS); uVar7 = 0xb4; uVar6 = 0x1b; puVar3 = local_33; uVar1 = unaff_SS; uVar2 = FUN_1008_2e92(local_33,unaff_SS); TEXTOUT(0x1008,uVar2,puVar3,uVar1,uVar6,uVar7); local_15e = 1; while( true ) { local_160 = local_15e * 0x14 + 0x28; SETTEXTALIGN(0x1228,0); if (local_15e < 10) { FUN_1008_2ee5(0x300,0x1028,local_33,unaff_SS); } else { FUN_1008_2ee5(0x2ff,0x1028,local_33,unaff_SS); } FUN_1020_1629(0xff,local_15c,unaff_SS,0,local_15e,local_15e >> 0xf); FUN_1008_2f2f(local_15c,unaff_SS,local_5c,unaff_SS); FUN_1008_2f4d(local_5c,unaff_SS,local_33,unaff_SS); FUN_1008_2f4d(0x303,0x1028,local_33,unaff_SS); puVar3 = local_5c; puVar5 = local_26c; uVar1 = unaff_SS; uVar2 = unaff_SS; FUN_1020_0b00(0x16,local_15e * 0x16 + 0x890,0x1028); FUN_1008_2f2f(puVar5,uVar1,puVar3,uVar2); FUN_1008_2f4d(local_5c,unaff_SS,local_33,unaff_SS); uVar6 = 0x1e; puVar3 = local_33; uVar1 = unaff_SS; iVar4 = local_160; uVar2 = FUN_1008_2e92(local_33,unaff_SS); TEXTOUT(0x1008,uVar2,puVar3,uVar1,iVar4,uVar6); SETTEXTALIGN(0x1228,2); FUN_1020_1629(0xff,local_15c,unaff_SS,0,*(undefined2 *)(local_15e * 4 + 0x87a), *(undefined2 *)(local_15e * 4 + 0x87c)); FUN_1008_2f2f(local_15c,unaff_SS,local_33,unaff_SS); uVar6 = 0x140; puVar3 = local_33; uVar1 = unaff_SS; iVar4 = local_160; uVar2 = FUN_1008_2e92(local_33,unaff_SS); TEXTOUT(0x1008,uVar2,puVar3,uVar1,iVar4,uVar6); if (local_15e == 10) break; local_15e = local_15e + 1; } BITBLT(0x1228,0x20,0xcc,0,0,local_16c,300,0x168,0,0); uVar7 = local_16c; SETTEXTCOLOR(0x1228,local_8); uVar6 = local_16c; SETTEXTALIGN(0x1228,local_a); uVar2 = local_16c; SETBKMODE(0x1228,local_162); uVar1 = local_16c; SELECTOBJECT(0x1228,local_166); DELETEOBJECT(0x1228,local_168,uVar1,uVar2,uVar6,uVar7); DELETEDC(0x1228,local_16c); uVar1 = local_16a; SELECTOBJECT(0x1228,local_164); DELETEDC(0x1228,local_16a,uVar1); SELECTPALETTE(0x1228,0,local_4); return; } /* ===== 1000:5ee6 FUN_1000_5ee6 ===== */ void __stdcall16far FUN_1000_5ee6(undefined4 param_1) { FUN_1008_00e2(); FUN_1018_0f38((int)param_1,(int)((ulong)param_1 >> 0x10)); return; } /* ===== 1000:5efc FUN_1000_5efc ===== */ undefined2 __stdcall16far FUN_1000_5efc(undefined4 param_1,undefined4 param_2) { undefined2 local_4; if ((*(uint *)((int)param_2 + 8) & 0xff) != 0x1c) { FUN_1008_00e2(); FUN_1018_0f38((int)param_1,(int)((ulong)param_1 >> 0x10)); } return local_4; } /* ===== 1000:5f29 FUN_1000_5f29 ===== */ undefined2 __stdcall16far FUN_1000_5f29(undefined4 param_1,undefined4 param_2) { int iVar1; undefined2 uVar2; undefined2 uVar3; int iVar4; int iVar5; undefined2 uVar6; undefined2 uVar7; undefined2 uVar8; undefined2 uVar9; undefined2 local_4; local_4 = 1; uVar6 = (undefined2)((ulong)param_2 >> 0x10); iVar4 = (int)param_2; uVar7 = (undefined2)((ulong)param_1 >> 0x10); iVar5 = (int)param_1; if (*(int *)(iVar4 + 4) != *(int *)(iVar5 + 4)) { uVar9 = *(undefined2 *)(iVar4 + 4); iVar1 = GETPARENT(); if (iVar1 != *(int *)(iVar5 + 4)) { uVar7 = *(undefined2 *)(iVar5 + 4); uVar2 = GETDC(0x1228,uVar7,uVar9); uVar8 = uVar2; uVar3 = SELECTPALETTE(0x1228,1,DAT_1028_444e); REALIZEPALETTE(0x1228,uVar2,uVar8,uVar7,uVar9,uVar3); UPDATECOLORS(0x1228,uVar2); SELECTPALETTE(0x1228,0,uVar3); RELEASEDC(0x1228,uVar2); *(undefined2 *)(iVar4 + 10) = 0; *(undefined2 *)(iVar4 + 0xc) = 0; local_4 = 0; } } return local_4; } /* ===== 1000:5fc0 FUN_1000_5fc0 ===== */ int __stdcall16far FUN_1000_5fc0(undefined4 param_1,undefined4 param_2) { undefined2 uVar1; undefined2 uVar2; int iVar3; undefined2 uVar4; undefined2 uVar5; undefined2 uVar6; uVar4 = (undefined2)((ulong)param_1 >> 0x10); uVar5 = *(undefined2 *)((int)param_1 + 4); uVar1 = GETDC(); uVar6 = uVar1; uVar2 = SELECTPALETTE(0x1228,0,DAT_1028_444e); iVar3 = REALIZEPALETTE(0x1228,uVar1,uVar6,uVar5); SELECTPALETTE(0x1228,0,uVar2); RELEASEDC(0x1228,uVar1); if (0 < iVar3) { INVALIDATERECT(0x1228,0,0,0,*(undefined2 *)((int)param_1 + 4)); } uVar5 = (undefined2)((ulong)param_2 >> 0x10); *(int *)((int)param_2 + 10) = iVar3; *(undefined2 *)((int)param_2 + 0xc) = 0; return iVar3; } /* ===== 1000:6040 FUN_1000_6040 ===== */ void __stdcall16far FUN_1000_6040(undefined4 param_1,uint *param_2) { uint uVar1; undefined2 uVar2; uVar2 = (undefined2)((ulong)param_2 >> 0x10); FUN_1018_1274((int)param_1,(int)((ulong)param_1 >> 0x10),(uint *)param_2,uVar2); uVar1 = GETSTOCKOBJECT(0x1018,5); ((uint *)param_2)[8] = uVar1; *param_2 = *param_2 | 0x3800; return; } /* ===== 1000:6073 FUN_1000_6073 ===== */ undefined4 __stdcall16far FUN_1000_6073(undefined4 param_1,undefined2 param_2,undefined2 param_3,undefined2 param_4, undefined2 param_5,undefined2 param_6) { int iVar1; undefined2 uVar2; bool bVar3; bVar3 = true; FUN_1020_03ef(); if (!bVar3) { uVar2 = (undefined2)((ulong)param_1 >> 0x10); iVar1 = (int)param_1; FUN_1018_1106(iVar1,uVar2,0,param_3,param_4,param_5,param_6); *(undefined2 *)(iVar1 + 0x41) = param_5; *(undefined2 *)(iVar1 + 0x43) = param_6; *(undefined2 *)(iVar1 + 0x2d) = 0x280; *(undefined2 *)(iVar1 + 0x2f) = 0x1cc; *(undefined2 *)(iVar1 + 0x29) = 0; *(undefined2 *)(iVar1 + 0x2b) = 0; *(undefined2 *)(iVar1 + 0x21) = 2; *(undefined2 *)(iVar1 + 0x23) = 0x4600; SETFOCUS(0x1018,*(undefined2 *)(iVar1 + 4)); } return param_1; } /* ===== 1000:60e7 FUN_1000_60e7 ===== */ void __stdcall16far FUN_1000_60e7(undefined4 param_1) { int iVar1; int iVar2; undefined2 uVar3; undefined2 uVar4; uVar3 = (undefined2)((ulong)param_1 >> 0x10); iVar1 = (int)param_1; uVar4 = (undefined2)((ulong)*(undefined4 *)(iVar1 + 0x41) >> 0x10); iVar2 = (int)*(undefined4 *)(iVar1 + 0x41); *(undefined2 *)(iVar2 + 0x45) = 0; *(undefined2 *)(iVar2 + 0x47) = 0; *(undefined2 *)(iVar1 + 0x41) = 0; *(undefined2 *)(iVar1 + 0x43) = 0; uVar4 = DAT_1028_0867; DELETEOBJECT(); FUN_1018_121b(iVar1,uVar3,0); FUN_1020_0439(uVar4); return; } /* ===== 1000:6129 FUN_1000_6129 ===== */ void __stdcall16far FUN_1000_6129(undefined4 param_1) { undefined2 uVar1; undefined2 uVar2; undefined2 uVar3; uVar2 = (undefined2)((ulong)param_1 >> 0x10); FUN_1018_170c((int)param_1,uVar2); uVar3 = 0; uVar1 = LOADCURSOR(0x1018,0x7f02,0); SETCURSOR(0x1228,uVar1,uVar3); DAT_1028_0867 = FUN_1008_149d(DAT_1028_07cd + 1000,0,DAT_1028_06fe); SETFOCUS(0x1008,*(undefined2 *)((int)param_1 + 4)); return; } /* ===== 1000:616e FUN_1000_616e ===== */ void __stdcall16far FUN_1000_616e(void) { undefined2 uVar1; undefined2 uVar2; undefined2 uVar3; undefined2 uVar4; undefined2 unaff_CS; undefined2 in_stack_0000000c; undefined2 uVar5; undefined2 uVar6; uVar4 = in_stack_0000000c; uVar1 = SELECTPALETTE(unaff_CS,0,DAT_1028_444e); UNREALIZEOBJECT(0x1228,DAT_1028_444e,uVar4); REALIZEPALETTE(0x1228,in_stack_0000000c); uVar2 = CREATECOMPATIBLEDC(0x1228,in_stack_0000000c); uVar6 = uVar2; uVar3 = SELECTOBJECT(0x1228,DAT_1028_0867); uVar5 = in_stack_0000000c; BITBLT(0x1228,0x20,0xcc,0,0,uVar2,0x1cc,0x280,0,0); uVar4 = uVar2; SELECTOBJECT(0x1228,uVar3); DELETEDC(0x1228,uVar2,uVar4,uVar5,uVar6); SELECTPALETTE(0x1228,0,uVar1); uVar5 = 0; uVar4 = LOADCURSOR(0x1228,0x7f00,0); SETCURSOR(0x1228,uVar4,uVar5,in_stack_0000000c); return; } /* ===== 1000:6202 FUN_1000_6202 ===== */ void __stdcall16far FUN_1000_6202(undefined4 param_1) { FUN_1008_00e2(); FUN_1018_0f38((int)param_1,(int)((ulong)param_1 >> 0x10)); return; } /* ===== 1000:6218 FUN_1000_6218 ===== */ undefined2 __stdcall16far FUN_1000_6218(undefined4 param_1,undefined4 param_2) { undefined2 local_4; if ((*(uint *)((int)param_2 + 8) & 0xff) != 0x3b) { FUN_1008_00e2(); FUN_1018_0f38((int)param_1,(int)((ulong)param_1 >> 0x10)); } return local_4; } /* ===== 1000:6245 FUN_1000_6245 ===== */ undefined2 __stdcall16far FUN_1000_6245(undefined4 param_1,undefined4 param_2) { int iVar1; undefined2 uVar2; undefined2 uVar3; int iVar4; int iVar5; undefined2 uVar6; undefined2 uVar7; undefined2 uVar8; undefined2 uVar9; undefined2 local_4; local_4 = 1; uVar6 = (undefined2)((ulong)param_2 >> 0x10); iVar4 = (int)param_2; uVar7 = (undefined2)((ulong)param_1 >> 0x10); iVar5 = (int)param_1; if (*(int *)(iVar4 + 4) != *(int *)(iVar5 + 4)) { uVar9 = *(undefined2 *)(iVar4 + 4); iVar1 = GETPARENT(); if (iVar1 != *(int *)(iVar5 + 4)) { uVar7 = *(undefined2 *)(iVar5 + 4); uVar2 = GETDC(0x1228,uVar7,uVar9); uVar8 = uVar2; uVar3 = SELECTPALETTE(0x1228,1,DAT_1028_444e); REALIZEPALETTE(0x1228,uVar2,uVar8,uVar7,uVar9,uVar3); UPDATECOLORS(0x1228,uVar2); SELECTPALETTE(0x1228,0,uVar3); RELEASEDC(0x1228,uVar2); *(undefined2 *)(iVar4 + 10) = 0; *(undefined2 *)(iVar4 + 0xc) = 0; local_4 = 0; } } return local_4; } /* ===== 1000:62dc FUN_1000_62dc ===== */ int __stdcall16far FUN_1000_62dc(undefined4 param_1,undefined4 param_2) { undefined2 uVar1; undefined2 uVar2; int iVar3; undefined2 uVar4; undefined2 uVar5; undefined2 uVar6; uVar4 = (undefined2)((ulong)param_1 >> 0x10); uVar5 = *(undefined2 *)((int)param_1 + 4); uVar1 = GETDC(); uVar6 = uVar1; uVar2 = SELECTPALETTE(0x1228,0,DAT_1028_444e); iVar3 = REALIZEPALETTE(0x1228,uVar1,uVar6,uVar5); SELECTPALETTE(0x1228,0,uVar2); RELEASEDC(0x1228,uVar1); if (0 < iVar3) { INVALIDATERECT(0x1228,0,0,0,*(undefined2 *)((int)param_1 + 4)); } uVar5 = (undefined2)((ulong)param_2 >> 0x10); *(int *)((int)param_2 + 10) = iVar3; *(undefined2 *)((int)param_2 + 0xc) = 0; return iVar3; } /* ===== 1000:635c FUN_1000_635c ===== */ void __stdcall16far FUN_1000_635c(undefined2 param_1,undefined2 param_2,undefined2 param_3,undefined2 param_4, undefined2 param_5,undefined2 param_6) { FUN_1008_07b6(param_1,param_2,param_3,param_4,param_5,param_6); FUN_1008_093f(param_2,param_3,param_4,param_5,param_6); return; } /* ===== 1000:638e FUN_1000_638e ===== */ undefined2 __stdcall16far FUN_1000_638e(undefined4 param_1,undefined4 param_2) { uint uVar1; uint uVar2; uint uVar3; int iVar4; int iVar5; undefined2 in_BX; int iVar6; int iVar7; undefined2 uVar8; undefined2 uVar9; undefined2 uVar10; bool bVar11; undefined2 uVar12; byte local_a; byte local_9; uVar8 = (undefined2)((ulong)param_1 >> 0x10); iVar6 = (int)param_1; iVar7 = (int)param_2; uVar9 = (undefined2)((ulong)param_2 >> 0x10); if ((*(int *)(iVar6 + 0x41) == 0 && *(int *)(iVar6 + 0x43) == 0) && (*(int *)(iVar6 + 0x45) == 0 && *(int *)(iVar6 + 0x47) == 0)) { uVar1 = *(uint *)(iVar7 + 8) & 0xff; if ((DAT_1028_07cf != '\0') && (uVar1 == 0x3c)) { DAT_1028_0855 = 0; DAT_1028_0857 = 0; DAT_1028_07c7 = 1; } if ((DAT_1028_07cf != '\0') && (uVar1 == 0x41)) { DAT_1028_07d3 = DAT_1028_3340; DAT_1028_07d5 = DAT_1028_3342; DAT_1028_07d7 = DAT_1028_3344; DAT_1028_07d9 = DAT_1028_3346; *(undefined2 *)(iVar6 + 0xbaa) = 0; *(undefined2 *)(iVar6 + 0xbac) = 0; *(undefined2 *)(iVar6 + 0xbae) = 0; *(undefined2 *)(iVar6 + 0xbb0) = 0; } if ((((*(char *)(iVar6 + 0xbdd) == '\0') && (*(char *)(iVar6 + 0xbdf) == '\0')) && (uVar1 == 0x50)) && (DAT_1028_07d0 != 0)) { iVar4 = *(int *)(iVar6 + 0x5c); FUN_1020_08a9(); FUN_1020_100b(); uVar3 = FUN_1020_1017(); uVar1 = *(uint *)(iVar6 + 0xbae); iVar5 = *(int *)(iVar6 + 0xbb0); *(int *)(iVar6 + 0xbae) = uVar1 - uVar3; *(int *)(iVar6 + 0xbb0) = (iVar5 - iVar4) - (uint)(uVar1 < uVar3); iVar4 = *(int *)(iVar6 + 0x56); iVar5 = (~*(uint *)(iVar6 + 0x58) + 1) - (uint)(iVar4 != 0); if ((*(int *)(iVar6 + 0xbb0) < iVar5) || ((*(int *)(iVar6 + 0xbb0) <= iVar5 && (*(uint *)(iVar6 + 0xbae) <= (uint)-iVar4 && -*(uint *)(iVar6 + 0xbae) != iVar4)))) { uVar3 = FUN_1020_14a4(*(undefined2 *)(iVar6 + 0x56)); iVar4 = *(int *)(iVar6 + 0x56); uVar1 = *(uint *)(iVar6 + 0x58); uVar2 = -iVar4; *(int *)(iVar6 + 0xbae) = uVar2 + uVar3 / 0x28; *(int *)(iVar6 + 0xbb0) = ((~uVar1 + 1) - (uint)(iVar4 != 0)) + (uint)CARRY2(uVar2,uVar3 / 0x28); } else { uVar1 = *(uint *)(iVar6 + 0x58); FUN_1020_100b(); FUN_1020_0ff7(); iVar4 = FUN_1020_1017(); iVar5 = (~uVar1 + 1) - (uint)(iVar4 != 0); if ((iVar5 < *(int *)(iVar6 + 0xbb0)) || ((iVar5 <= *(int *)(iVar6 + 0xbb0) && ((uint)-iVar4 < *(uint *)(iVar6 + 0xbae) || -*(uint *)(iVar6 + 0xbae) == iVar4)))) { uVar3 = FUN_1020_14a4(*(undefined2 *)(iVar6 + 0x56)); uVar1 = *(uint *)(iVar6 + 0xbae); iVar4 = *(int *)(iVar6 + 0xbb0); *(int *)(iVar6 + 0xbae) = uVar1 - uVar3 / 0x28; *(int *)(iVar6 + 0xbb0) = iVar4 - (uint)(uVar1 < uVar3 / 0x28); } } DAT_1028_07fb = *(uint *)(iVar6 + 0xbae); DAT_1028_07fd = *(int *)(iVar6 + 0xbb0); *(undefined1 *)(iVar6 + 0xbdd) = 1; *(undefined1 *)(iVar6 + 0xbde) = 0; FUN_1008_0002(2); uVar8 = GETDC(0x1008,*(undefined2 *)(iVar6 + 4)); FUN_1000_635c(DAT_1028_0865,0x12,0x15,0x1aa,0x13a,uVar8); RELEASEDC(0x1000,uVar8); } else if (uVar1 == 0x1d) { *(undefined1 *)(iVar6 + 0xbda) = 0; } else if (uVar1 == 0x1c) { *(undefined1 *)(iVar6 + 0xbdb) = 0; } else if ((DAT_1028_07c6 == '\0') && (((uVar1 == 0x2a || (uVar1 == 0x51)) || (uVar1 == 0x39)))) { FUN_1008_0002(0x13); if (uVar1 == 0x2a) { FUN_1020_14a4(0x14); iVar5 = 0; uVar2 = FUN_1020_08a9(); uVar3 = *(uint *)(iVar6 + 0xbaa); iVar4 = *(int *)(iVar6 + 0xbac); *(int *)(iVar6 + 0xbaa) = uVar3 - uVar2; *(int *)(iVar6 + 0xbac) = (iVar4 - iVar5) - (uint)(uVar3 < uVar2); } else if (uVar1 == 0x51) { FUN_1020_14a4(0x14); iVar5 = 0; uVar2 = FUN_1020_08a9(); uVar3 = *(uint *)(iVar6 + 0xbaa); iVar4 = *(int *)(iVar6 + 0xbac); *(int *)(iVar6 + 0xbaa) = uVar2 + *(uint *)(iVar6 + 0xbaa); *(int *)(iVar6 + 0xbac) = iVar5 + iVar4 + (uint)CARRY2(uVar2,uVar3); } else if (uVar1 == 0x39) { iVar4 = *(int *)(iVar6 + 0x5c); uVar10 = FUN_1020_100b(); FUN_1020_14c1(uVar10,in_BX,iVar4); FUN_1020_0ff7(); FUN_1020_0feb(); FUN_1020_0ff7(); uVar2 = FUN_1020_1017(); uVar3 = *(uint *)(iVar6 + 0xbaa); iVar5 = *(int *)(iVar6 + 0xbac); *(int *)(iVar6 + 0xbaa) = uVar2 + *(uint *)(iVar6 + 0xbaa); *(int *)(iVar6 + 0xbac) = iVar4 + iVar5 + (uint)CARRY2(uVar2,uVar3); FUN_1020_14a4(0x14); iVar5 = 0; uVar2 = FUN_1020_08a9(); uVar3 = *(uint *)(iVar6 + 0xbae); iVar4 = *(int *)(iVar6 + 0xbb0); *(int *)(iVar6 + 0xbae) = uVar3 - uVar2; *(int *)(iVar6 + 0xbb0) = (iVar4 - iVar5) - (uint)(uVar3 < uVar2); } if (1 < *(byte *)(iVar6 + 0x61)) { if (uVar1 == 0x2a) { iVar4 = *(int *)(iVar6 + 0x5c); uVar1 = FUN_1020_08a9(); bVar11 = DAT_1028_07f3 < uVar1; DAT_1028_07f3 = DAT_1028_07f3 - uVar1; DAT_1028_07f5 = (DAT_1028_07f5 - iVar4) - (uint)bVar11; iVar4 = *(int *)(iVar6 + 0x5c); uVar1 = FUN_1020_08a9(); bVar11 = DAT_1028_07f7 < uVar1; DAT_1028_07f7 = DAT_1028_07f7 - uVar1; DAT_1028_07f9 = (DAT_1028_07f9 - iVar4) - (uint)bVar11; } else if (uVar1 == 0x51) { iVar4 = *(int *)(iVar6 + 0x5c); uVar1 = FUN_1020_08a9(); bVar11 = CARRY2(uVar1,DAT_1028_07f3); DAT_1028_07f3 = uVar1 + DAT_1028_07f3; DAT_1028_07f5 = iVar4 + DAT_1028_07f5 + (uint)bVar11; iVar4 = *(int *)(iVar6 + 0x5c); uVar1 = FUN_1020_08a9(); bVar11 = CARRY2(uVar1,DAT_1028_07f7); DAT_1028_07f7 = uVar1 + DAT_1028_07f7; DAT_1028_07f9 = iVar4 + DAT_1028_07f9 + (uint)bVar11; } else if (uVar1 == 0x39) { FUN_1020_14a4(0x15); uVar1 = FUN_1020_08a9(); FUN_1020_14a4(100); FUN_1020_08a9(); uVar3 = FUN_1020_08a9(); bVar11 = CARRY2(uVar1,DAT_1028_07f3); DAT_1028_07f3 = uVar1 + DAT_1028_07f3; DAT_1028_07f5 = ((int)uVar1 >> 0xf) + DAT_1028_07f5 + (uint)bVar11; bVar11 = CARRY2(uVar1,DAT_1028_07f7); DAT_1028_07f7 = uVar1 + DAT_1028_07f7; DAT_1028_07f9 = ((int)uVar1 >> 0xf) + DAT_1028_07f9 + (uint)bVar11; bVar11 = CARRY2(uVar3,DAT_1028_07fb); DAT_1028_07fb = uVar3 + DAT_1028_07fb; DAT_1028_07fd = ((int)uVar3 >> 0xf) + DAT_1028_07fd + (uint)bVar11; bVar11 = CARRY2(uVar3,DAT_1028_07ff); DAT_1028_07ff = uVar3 + DAT_1028_07ff; DAT_1028_0801 = ((int)uVar3 >> 0xf) + DAT_1028_0801 + (uint)bVar11; } } *(int *)(iVar6 + 0x5e) = *(int *)(iVar6 + 0x5e) + 0x19; iVar4 = FUN_1020_14a4(10); if (iVar4 + 0x1eU < *(uint *)(iVar6 + 0x5e)) { FUN_1008_0002(0x14); DAT_1028_07c6 = '\x01'; *(undefined1 *)(iVar6 + 0xbda) = 0; *(undefined1 *)(iVar6 + 0xbdb) = 0; uVar8 = GETDC(0x1008,*(undefined2 *)(iVar6 + 4)); FUN_1008_0837(0x14,0x94,0xf3,0x54,uVar8); FUN_1008_093f(0x14,0x94,0xf3,0x54,uVar8); RELEASEDC(0x1008,uVar8); } } else if (uVar1 == 0x58) { if (DAT_1028_43f2 == '\0') { if (DAT_1028_43ee != 0) { DAT_1028_43f2 = '\x01'; } } else { DAT_1028_43f2 = '\0'; } } else if (((*(char *)(iVar6 + 0xbde) != '\0') && ((uVar1 == 0x4e || (uVar1 == 0x1b)))) && (DAT_1028_07d0 < 4)) { DAT_1028_07c9 = 0; uVar10 = 0x1008; FUN_1008_0002(1); DAT_1028_07d0 = DAT_1028_07d0 + 1; *(undefined1 *)(iVar6 + 0xbdd) = 0; *(undefined1 *)(iVar6 + 0xbdf) = 0; DAT_1028_07c5 = 1; *(undefined1 *)(iVar6 + 0x61) = 1; DAT_1028_0874 = 0; local_9 = 1; while( true ) { *(undefined2 *)((uint)local_9 * 2 + 0x81f) = 0xffff; local_a = 1; while( true ) { *(undefined1 *)(iVar6 + (uint)local_9 * 0xaf + (uint)local_a + 0x61) = *(undefined1 *)(iVar6 + (uint)local_a + 0x3cc); *(undefined2 *)(iVar6 + (uint)local_9 * 0x15e + (uint)local_a * 2 + 0x36c) = *(undefined2 *)(iVar6 + (uint)local_a * 2 + 0xa42); if (local_a == 0xaf) break; local_a = local_a + 1; } uVar10 = GETDC(uVar10,*(undefined2 *)(iVar6 + 4)); if (DAT_1028_07d0 < local_9) { *(undefined2 *)((uint)local_9 * 4 + 0x97e) = 0; *(undefined2 *)((uint)local_9 * 4 + 0x980) = 0; FUN_1008_08bb(0x2a,0x11c,(local_9 - 1) * 0x2d + 0x10e,0x15c,uVar10); FUN_1008_093f(0x2a,0x11c,(local_9 - 1) * 0x2d + 0x10e,0x15c,uVar10); } FUN_1008_0dbd(0,uVar10); uVar12 = *(undefined2 *)(iVar6 + 4); RELEASEDC(0x1008,uVar10); if (local_9 == 1) { uVar10 = GETDC(0x1228,*(undefined2 *)(iVar6 + 4),uVar12); FUN_1008_0837(0x1e,0x11c,0xe8,0x173,uVar10); FUN_1008_093f(0x1e,0x11c,0xe8,0x173,uVar10); FUN_1008_0996(uVar10,0,0); FUN_1008_0b9e(1,uVar10); RELEASEDC(0x1008,uVar10); } uVar10 = 0x1228; if (local_9 == 4) break; local_9 = local_9 + 1; } local_a = 1; while( true ) { *(undefined1 *)((uint)local_a * 0x53 + 0x98f) = *(undefined1 *)(iVar6 + (uint)local_a + 0x3cc); *(undefined2 *)((uint)local_a * 0x53 + 0x99e) = *(undefined2 *)(iVar6 + (uint)local_a * 2 + 0xa42); if (local_a == 0xaf) break; local_a = local_a + 1; } DAT_1028_07d1 = 1; } } *(undefined2 *)(iVar7 + 10) = 0; *(undefined2 *)(iVar7 + 0xc) = 0; return 0; } /* ===== 1000:6b37 FUN_1000_6b37 ===== */ void __stdcall16far FUN_1000_6b37(int param_1,undefined2 param_2) { undefined2 uVar1; undefined2 uVar2; undefined2 unaff_SS; undefined2 uVar3; undefined2 uVar4; uVar2 = *(undefined2 *)(param_1 + -0xc); uVar1 = CREATECOMPATIBLEDC(); *(undefined2 *)(param_1 + -0xe) = uVar1; uVar2 = CREATECOMPATIBLEDC(0x1228,*(undefined2 *)(param_1 + -0xc),uVar2); *(undefined2 *)(param_1 + -0x10) = uVar2; uVar2 = SELECTOBJECT(0x1228,DAT_1028_085b); *(undefined2 *)(param_1 + -0x12) = uVar2; uVar2 = *(undefined2 *)(param_1 + -0x10); uVar1 = SELECTOBJECT(0x1228,DAT_1028_0865); *(undefined2 *)(param_1 + -0x14) = uVar1; uVar1 = *(undefined2 *)(param_1 + -0xe); BITBLT(0x1228,0x20,0xcc,0,param_2,*(undefined2 *)(param_1 + -0x10),0x12,0x15,0x1aa,0x13a); uVar4 = *(undefined2 *)(param_1 + -0x10); SELECTOBJECT(0x1228,*(undefined2 *)(param_1 + -0x14)); uVar3 = *(undefined2 *)(param_1 + -0xe); SELECTOBJECT(0x1228,*(undefined2 *)(param_1 + -0x12)); DELETEDC(0x1228,*(undefined2 *)(param_1 + -0x10),uVar3,uVar4,uVar1,uVar2); DELETEDC(0x1228,*(undefined2 *)(param_1 + -0xe)); FUN_1008_093f(0x12,0x15,0x1aa,0x13a,*(undefined2 *)(param_1 + -0xc)); return; } /* ===== 1000:6bf8 FUN_1000_6bf8 ===== */ undefined2 __stdcall16far FUN_1000_6bf8(undefined4 param_1,undefined4 param_2) { int iVar1; uint uVar2; uint uVar3; undefined2 uVar4; uint uVar5; uint uVar6; int iVar7; int iVar8; int iVar9; undefined2 uVar10; undefined2 uVar11; undefined4 uVar12; undefined2 local_4; uVar10 = (undefined2)((ulong)param_1 >> 0x10); iVar8 = (int)param_1; uVar6 = *(uint *)(iVar8 + 0x5c); iVar1 = FUN_1020_08a9(); iVar9 = (int)param_2; uVar11 = (undefined2)((ulong)param_2 >> 0x10); if ((*(int *)(iVar8 + 0x41) == 0 && *(int *)(iVar8 + 0x43) == 0) && (*(int *)(iVar8 + 0x45) == 0 && *(int *)(iVar8 + 0x47) == 0)) { uVar2 = *(uint *)(iVar9 + 8) & 0xff; if (uVar2 == 0x3b) { uVar12 = FUN_1000_6073(0,0,0x17e,0x306,0x1028,iVar8,uVar10); uVar12 = (*(code *)*(undefined2 *)(*DAT_1028_064e + 0x34)) (0x1000,(int *)DAT_1028_064e,(int)((ulong)DAT_1028_064e >> 0x10),uVar12); *(undefined2 *)(iVar8 + 0x45) = (int)uVar12; *(undefined2 *)(iVar8 + 0x47) = (int)((ulong)uVar12 >> 0x10); FUN_1018_0e9e((int)*(undefined4 *)(iVar8 + 0x45), (int)((ulong)*(undefined4 *)(iVar8 + 0x45) >> 0x10),1); return local_4; } if (((*(char *)(iVar8 + 0xbdd) == '\0') && (*(char *)(iVar8 + 0xbdf) == '\0')) && (uVar2 == 0x50)) { uVar5 = uVar6; uVar3 = FUN_1020_08e6(); uVar2 = *(uint *)(iVar8 + 0xbae); iVar7 = *(int *)(iVar8 + 0xbb0); *(int *)(iVar8 + 0xbae) = uVar2 - uVar3; *(int *)(iVar8 + 0xbb0) = (iVar7 - uVar5) - (uint)(uVar2 < uVar3); *(undefined2 *)(iVar8 + 0xbaa) = 0; *(undefined2 *)(iVar8 + 0xbac) = 0; if (DAT_1028_07d0 != '\0') { uVar4 = GETDC(0x1020,*(undefined2 *)(iVar8 + 4)); iVar7 = (~uVar6 + 1) - (uint)(iVar1 != 0); if ((iVar7 < *(int *)(iVar8 + 0xbb0)) || ((iVar7 <= *(int *)(iVar8 + 0xbb0) && ((uint)-iVar1 < *(uint *)(iVar8 + 0xbae))))) { FUN_1000_6b37(&stack0xfffe,0x15); } else { uVar2 = uVar6; uVar5 = FUN_1020_08a9(); if (((int)uVar2 < *(int *)(iVar8 + 0xbb0)) || (((int)uVar2 <= *(int *)(iVar8 + 0xbb0) && (uVar5 < *(uint *)(iVar8 + 0xbae))))) { FUN_1000_6b37(&stack0xfffe,0x2a); } else { uVar2 = uVar6; uVar5 = FUN_1020_08a9(); if (((int)uVar2 < *(int *)(iVar8 + 0xbb0)) || (((int)uVar2 <= *(int *)(iVar8 + 0xbb0) && (uVar5 < *(uint *)(iVar8 + 0xbae))))) { FUN_1000_6b37(&stack0xfffe,0x3f); } else { uVar2 = uVar6; uVar5 = FUN_1020_08a9(); if (((int)uVar2 < *(int *)(iVar8 + 0xbb0)) || (((int)uVar2 <= *(int *)(iVar8 + 0xbb0) && (uVar5 < *(uint *)(iVar8 + 0xbae))))) { FUN_1000_6b37(&stack0xfffe,0x54); } else { uVar2 = uVar6; uVar5 = FUN_1020_08a9(); if (((int)uVar2 < *(int *)(iVar8 + 0xbb0)) || (((int)uVar2 <= *(int *)(iVar8 + 0xbb0) && (uVar5 < *(uint *)(iVar8 + 0xbae))))) { FUN_1000_6b37(&stack0xfffe,0x69); } else { uVar2 = uVar6; uVar5 = FUN_1020_08a9(); if (((int)uVar2 < *(int *)(iVar8 + 0xbb0)) || (((int)uVar2 <= *(int *)(iVar8 + 0xbb0) && (uVar5 < *(uint *)(iVar8 + 0xbae)))) ) { FUN_1000_6b37(&stack0xfffe,0x7e); } else { uVar2 = uVar6; uVar5 = FUN_1020_08a9(); if (((int)uVar2 < *(int *)(iVar8 + 0xbb0)) || (((int)uVar2 <= *(int *)(iVar8 + 0xbb0) && (uVar5 < *(uint *)(iVar8 + 0xbae)) ))) { FUN_1000_6b37(&stack0xfffe,0x93); } else { uVar2 = uVar6; uVar5 = FUN_1020_08a9(); if (((int)uVar2 < *(int *)(iVar8 + 0xbb0)) || (((int)uVar2 <= *(int *)(iVar8 + 0xbb0) && (uVar5 < *(uint *)(iVar8 + 0xbae))))) { FUN_1000_6b37(&stack0xfffe,0xa8); } else { uVar2 = uVar6; uVar5 = FUN_1020_08a9(); if (((int)uVar2 < *(int *)(iVar8 + 0xbb0)) || (((int)uVar2 <= *(int *)(iVar8 + 0xbb0) && (uVar5 < *(uint *)(iVar8 + 0xbae))))) { FUN_1000_6b37(&stack0xfffe,0xbd); } else { uVar2 = FUN_1020_08a9(); if (((int)uVar6 < *(int *)(iVar8 + 0xbb0)) || (((int)uVar6 <= *(int *)(iVar8 + 0xbb0) && (uVar2 < *(uint *)(iVar8 + 0xbae))))) { FUN_1000_6b37(&stack0xfffe,0xd2); } else { FUN_1000_6b37(&stack0xfffe,0xe7); } } } } } } } } } } RELEASEDC(0x1000,uVar4); } } else if (DAT_1028_07c6 == '\0') { if (uVar2 == 0x1d) { *(undefined1 *)(iVar8 + 0xbda) = 1; } if (uVar2 == 0x1c) { *(undefined1 *)(iVar8 + 0xbdb) = 1; } } } *(undefined2 *)(iVar9 + 10) = 0; *(undefined2 *)(iVar9 + 0xc) = 0; return 0; } /* ===== 1000:6f27 FUN_1000_6f27 ===== */ void __stdcall16far FUN_1000_6f27(int param_1) { undefined1 uVar1; int iVar2; undefined2 uVar3; undefined2 uVar4; undefined2 uVar5; undefined2 uVar6; undefined2 uVar7; undefined2 uVar8; undefined2 uVar9; undefined2 uVar10; undefined2 unaff_SS; undefined2 uVar11; undefined2 uVar12; undefined2 uVar13; undefined2 uVar14; undefined2 uVar15; undefined2 uVar16; undefined2 local_24; undefined2 local_22; undefined2 local_20; undefined2 local_1e; undefined2 local_1c; undefined2 local_1a; undefined2 local_18; undefined2 local_16; undefined2 local_14; undefined2 local_12; undefined2 local_10; uVar10 = *(undefined2 *)((int)*(undefined4 *)(param_1 + 6) + 4); uVar3 = GETDC(); uVar4 = CREATECOMPATIBLEDC(0x1228,uVar3,uVar10); uVar5 = CREATECOMPATIBLEDC(0x1228,uVar3); uVar14 = uVar3; uVar6 = CREATECOMPATIBLEBITMAP(0x1228,0x5a,0x5b); uVar9 = uVar4; uVar7 = SELECTOBJECT(0x1228,DAT_1028_0859); uVar10 = uVar5; uVar8 = SELECTOBJECT(0x1228,uVar6); if ((DAT_1028_0857 < 0) || ((DAT_1028_0857 < 1 && (DAT_1028_0855 < 6)))) { uVar16 = 0; uVar15 = 0; uVar13 = 0x5b; uVar12 = 0x5a; uVar11 = uVar4; uVar9 = FUN_1020_08a9(uVar4,0x5a,0x5b,0,0,uVar5,uVar10,uVar9,uVar14); uVar10 = 0x1228; BITBLT(0x1020,0x20,0xcc,0,uVar9,uVar11,uVar12,uVar13,uVar15,uVar16); } else { SELECTOBJECT(0x1228,DAT_1028_085d); BITBLT(0x1228,0x20,0xcc,0x21,0x4f,uVar4,0x5a,0x5b,0,0); SELECTOBJECT(0x1228,DAT_1028_0859); iVar2 = DAT_1028_3371; DAT_1028_3371 = DAT_1028_33c4; DAT_1028_33c4 = DAT_1028_3417; DAT_1028_3417 = DAT_1028_346a; DAT_1028_346a = DAT_1028_34bd; DAT_1028_34bd = iVar2; uVar1 = *(undefined1 *)((int)*(undefined4 *)(param_1 + 6) + (uint)DAT_1028_07d1 * 0x14 + 0x476); *(undefined1 *)((int)*(undefined4 *)(param_1 + 6) + (uint)DAT_1028_07d1 * 0x14 + 0x476) = *(undefined1 *)((int)*(undefined4 *)(param_1 + 6) + (uint)DAT_1028_07d1 * 0x14 + 0x477); *(undefined1 *)((int)*(undefined4 *)(param_1 + 6) + (uint)DAT_1028_07d1 * 0x14 + 0x477) = *(undefined1 *)((int)*(undefined4 *)(param_1 + 6) + (uint)DAT_1028_07d1 * 0x14 + 0x478); *(undefined1 *)((int)*(undefined4 *)(param_1 + 6) + (uint)DAT_1028_07d1 * 0x14 + 0x478) = *(undefined1 *)((int)*(undefined4 *)(param_1 + 6) + (uint)DAT_1028_07d1 * 0x14 + 0x479); *(undefined1 *)((int)*(undefined4 *)(param_1 + 6) + (uint)DAT_1028_07d1 * 0x14 + 0x479) = *(undefined1 *)((int)*(undefined4 *)(param_1 + 6) + (uint)DAT_1028_07d1 * 0x14 + 0x47a); *(undefined1 *)((int)*(undefined4 *)(param_1 + 6) + (uint)DAT_1028_07d1 * 0x14 + 0x47a) = uVar1; local_10 = 0xf; while( true ) { uVar10 = 0x1000; FUN_1000_7e92(param_1,local_10); if (local_10 == 0x13) break; local_10 = local_10 + 1; } } if (DAT_1028_0855 == 1) { uVar10 = 0x1008; FUN_1008_0002(0xb); local_12 = 9; local_1c = 0x29; local_14 = 0x17; local_1e = 0xb; local_16 = 0x38; local_20 = 0xe; local_18 = 0x3f; local_22 = 0x2f; local_1a = 0x23; local_24 = 0x3f; } else if (DAT_1028_0855 == 2) { local_12 = 0xb; local_1c = 0x2d; local_14 = 0x12; local_1e = 0xd; local_16 = 0x34; local_20 = 0xb; local_18 = 0x3f; local_22 = 0x2a; local_1a = 0x27; local_24 = 0x40; } else if (DAT_1028_0855 == 3) { local_12 = 0xd; local_1c = 0x32; local_14 = 0xf; local_1e = 0x11; local_16 = 0x2e; local_20 = 9; local_18 = 0x40; local_22 = 0x25; local_1a = 0x2c; local_24 = 0x3e; } else if (DAT_1028_0855 == 4) { local_12 = 0x11; local_1c = 0x37; local_14 = 0xb; local_1e = 0x17; local_16 = 0x27; local_20 = 7; local_18 = 0x40; local_22 = 0x1e; local_1a = 0x32; local_24 = 0x3b; } else if (DAT_1028_0855 == 5) { local_12 = 0x15; local_1c = 0x3c; local_14 = 9; local_1e = 0x1c; local_16 = 0x23; local_20 = 7; local_18 = 0x3e; local_22 = 0x19; local_1a = 0x36; local_24 = 0x38; } else if (DAT_1028_0855 == 6) { local_12 = 8; local_1c = 0x23; local_14 = 0x1a; local_1e = 8; local_16 = 0x3b; local_20 = 0x12; local_18 = 0x3b; local_22 = 0x32; local_1a = 0x1b; local_24 = 0x3d; } if (DAT_1028_3371 != 0) { BITBLT(uVar10,0xc6,0x88,0x11,0x1c7,uVar4,0x11,0x11,local_1c,local_12); uVar10 = 0x1228; BITBLT(0x1228,0x86,0xee,0,0x1c7,uVar4,0x11,0x11,local_1c,local_12); } if (DAT_1028_33c4 != 0) { BITBLT(uVar10,0xc6,0x88,0x11,0x1c7,uVar4,0x11,0x11,local_1e,local_14); uVar10 = 0x1228; BITBLT(0x1228,0x86,0xee,0,0x1c7,uVar4,0x11,0x11,local_1e,local_14); } if (DAT_1028_3417 != 0) { BITBLT(uVar10,0xc6,0x88,0x11,0x1c7,uVar4,0x11,0x11,local_20,local_16); uVar10 = 0x1228; BITBLT(0x1228,0x86,0xee,0,0x1c7,uVar4,0x11,0x11,local_20,local_16); } if (DAT_1028_346a != 0) { BITBLT(uVar10,0xc6,0x88,0x11,0x1c7,uVar4,0x11,0x11,local_22,local_18); uVar10 = 0x1228; BITBLT(0x1228,0x86,0xee,0,0x1c7,uVar4,0x11,0x11,local_22,local_18); } if (DAT_1028_34bd != 0) { BITBLT(uVar10,0xc6,0x88,0x11,0x1c7,uVar4,0x11,0x11,local_24,local_1a); uVar10 = 0x1228; BITBLT(0x1228,0x86,0xee,0,0x1c7,uVar4,0x11,0x11,local_24,local_1a); } uVar14 = uVar3; BITBLT(uVar10,0x20,0xcc,0,0,uVar5,0x5a,0x5b,0x21,0x4f); uVar9 = uVar4; SELECTOBJECT(0x1228,uVar7); uVar10 = uVar5; SELECTOBJECT(0x1228,uVar8); DELETEOBJECT(0x1228,uVar6,uVar10,uVar9,uVar14); DELETEDC(0x1228,uVar5); DELETEDC(0x1228,uVar4); RELEASEDC(0x1228,uVar3); return; } /* ===== 1000:7440 FUN_1000_7440 ===== */ void __stdcall16far FUN_1000_7440(int param_1) { undefined2 uVar1; undefined2 uVar2; undefined2 uVar3; undefined2 uVar4; undefined2 uVar5; undefined2 uVar6; undefined2 uVar7; int iVar8; undefined2 uVar9; undefined2 unaff_SS; undefined2 uVar10; undefined2 uVar11; undefined2 uVar12; undefined2 uVar13; undefined2 uVar14; undefined2 uVar15; undefined2 uVar16; undefined2 uVar17; undefined2 uVar18; undefined2 uVar19; uVar7 = *(undefined2 *)((int)*(undefined4 *)(param_1 + 6) + 4); uVar1 = GETDC(); uVar2 = CREATECOMPATIBLEDC(0x1228,uVar1,uVar7); uVar7 = uVar2; uVar3 = SELECTOBJECT(0x1228,DAT_1028_085f); uVar4 = CREATECOMPATIBLEDC(0x1228,uVar1,uVar7); uVar5 = CREATECOMPATIBLEBITMAP(0x1228,0x7b,0x5b); uVar19 = uVar4; uVar6 = SELECTOBJECT(0x1228,uVar5); uVar14 = 0x4f; uVar12 = 0; uVar7 = uVar2; uVar16 = uVar4; BITBLT(0x1228,0x20,0xcc,0,0x4f,uVar2,0x7b,0x5b,0,0); uVar18 = 0x1228; uVar9 = 0x1228; uVar17 = 0x74c1; uVar13 = DAT_1028_0859; uVar15 = uVar2; SELECTOBJECT(0x1228,DAT_1028_0859); if (((int)DAT_1028_0851 < 1) || (0x2c < (int)DAT_1028_0851)) { if (((int)DAT_1028_0851 < 0x2d) || (0x39 < (int)DAT_1028_0851)) { if (((int)DAT_1028_0851 < 0x3a) || (0x41 < (int)DAT_1028_0851)) { if (((int)DAT_1028_0851 < 0x42) || (0x80 < (int)DAT_1028_0851)) { if (((int)DAT_1028_0851 < 0x81) || (0x9e < (int)DAT_1028_0851)) { if (((int)DAT_1028_0851 < 0x9f) || (0xdd < (int)DAT_1028_0851)) { if (((int)DAT_1028_0851 < 0xde) || (0xe5 < (int)DAT_1028_0851)) { if (((int)DAT_1028_0851 < 0xe6) || (0xed < (int)DAT_1028_0851)) { if ((0xed < (int)DAT_1028_0851) && ((int)DAT_1028_0851 < 0x11a)) { if ((DAT_1028_0853 == 0) && (DAT_1028_0851 == 0xee)) { uVar9 = 0x1008; FUN_1008_0002(0xd); } uVar17 = uVar4; BITBLT(uVar9,0xc6,0x88,0x5a,0x16a,uVar2,0x5a,0x5b,0x21,0); uVar7 = uVar4; BITBLT(0x1228,0x86,0xee,0x5a,0x1c5,uVar2,0x5a,0x5b,0x21,0); uVar16 = 0x14; uVar15 = 0; uVar13 = 0x2d; uVar17 = FUN_1020_08a9(0x2d,0,0x14,uVar4,uVar7,uVar17); uVar18 = 0x2d; uVar7 = uVar2; iVar8 = FUN_1020_08a9(0x2d,uVar2,uVar17); BITBLT(0x1020,0xc6,0x88,iVar8 + 0x5a,uVar18,uVar7,uVar17,uVar13,uVar15,uVar16); uVar16 = 0x14; uVar15 = 0; uVar13 = 0x2d; uVar17 = FUN_1020_08a9(0x2d,0,0x14,uVar4); uVar18 = 0; uVar7 = uVar2; iVar8 = FUN_1020_08a9(0,uVar2,uVar17); BITBLT(0x1020,0x86,0xee,iVar8 + 0x5a,uVar18,uVar7,uVar17,uVar13,uVar15,uVar16); if ((DAT_1028_0853 == 0) && (DAT_1028_0851 == 0x119)) { SELECTOBJECT(0x1228,DAT_1028_085b); SELECTOBJECT(0x1228,DAT_1028_085d); BITBLT(0x1228,0x20,0xcc,0,0x4f,uVar2,0x5a,0x5b,0,0x4f); SELECTOBJECT(0x1228,uVar5); } } } else { if ((DAT_1028_0853 == 0) && (DAT_1028_0851 == 0xe6)) { uVar9 = 0x1008; FUN_1008_0002(0xc); } BITBLT(uVar9,0xc6,0x88,0x5a,0x16a,uVar2,0x5a,0x5b,0x21,0); BITBLT(0x1228,0x86,0xee,0x5a,0x1c5,uVar2,0x5a,0x5b,0x21,0); BITBLT(0x1228,0xc6,0x88,0x5a,0x2d,uVar2,0x58,0x2d,0,0x14); BITBLT(0x1228,0x86,0xee,0x5a,0,uVar2,0x58,0x2d,0,0x14); } } else { if ((DAT_1028_0853 == 0) && (DAT_1028_0851 == 0xde)) { uVar9 = 0x1008; FUN_1008_118f(); } BITBLT(uVar9,0xc6,0x88,0x5a,0x16a,uVar2,0x5a,0x5b,0x21,0); BITBLT(0x1228,0x86,0xee,0x5a,0x1c5,uVar2,0x5a,0x5b,0x21,0); BITBLT(0x1228,0xc6,0x88,0x5a,0x87,uVar2,0x58,0x2d,0,0x14); BITBLT(0x1228,0x86,0xee,0x5a,0x5a,uVar2,0x58,0x2d,0,0x14); } } else { if ((DAT_1028_0853 == 0) && (DAT_1028_0851 == 0x9f)) { uVar9 = 0x1008; FUN_1008_0002(0xd); } uVar7 = uVar4; BITBLT(uVar9,0x20,0xcc,0x5a,0xb4,uVar2,0x5a,0x5b,0x21,0); if ((DAT_1028_0853 < 0) || ((DAT_1028_0853 < 1 && (DAT_1028_0851 < 0xcc)))) { uVar16 = 0; uVar15 = 0; uVar13 = 0x5b; uVar17 = FUN_1020_08a9(0x5b,0,0,uVar4,uVar7); uVar18 = 0x16a; uVar7 = uVar2; iVar8 = FUN_1020_08a9(0x16a,uVar2,uVar17); BITBLT(0x1020,0xc6,0x88,iVar8 + 0x5a,uVar18,uVar7,uVar17,uVar13,uVar15,uVar16); uVar16 = 0; uVar15 = 0; uVar13 = 0x5b; uVar17 = FUN_1020_08a9(0x5b,0,0,uVar4); uVar18 = 0x1c5; uVar7 = uVar2; iVar8 = FUN_1020_08a9(0x1c5,uVar2,uVar17); BITBLT(0x1020,0x86,0xee,iVar8 + 0x5a,uVar18,uVar7,uVar17,uVar13,uVar15,uVar16); } else { uVar17 = 0; uVar7 = FUN_1020_08a9(0,uVar4); BITBLT(0x1020,0xc6,0x88,0x5a,0x16a,uVar2,0x5a,0x5b,uVar7,uVar17); uVar17 = 0; uVar7 = FUN_1020_08a9(0,uVar4); BITBLT(0x1020,0x86,0xee,0x5a,0x1c5,uVar2,0x5a,0x5b,uVar7,uVar17); } if ((0 < DAT_1028_0853) || ((-1 < DAT_1028_0853 && (0xb0 < DAT_1028_0851)))) { if ((DAT_1028_0853 == 0) && (DAT_1028_0851 == 0xdd)) { BITBLT(0x1228,0xc6,0x88,0x5a,0x87,uVar2,0x58,0x2d,0,0x14); BITBLT(0x1228,0x86,0xee,0x5a,0x5a,uVar2,0x58,0x2d,0,0x14); } else { uVar16 = 0x14; uVar15 = 0; uVar13 = 0x2d; uVar17 = FUN_1020_08a9(0x2d,0,0x14,uVar4); uVar18 = 0x87; uVar7 = uVar2; iVar8 = FUN_1020_08a9(0x87,uVar2,uVar17); BITBLT(0x1020,0xc6,0x88,iVar8 + 0x59,uVar18,uVar7,uVar17,uVar13,uVar15,uVar16); uVar16 = 0x14; uVar15 = 0; uVar13 = 0x2d; uVar17 = FUN_1020_08a9(0x2d,0,0x14,uVar4); uVar18 = 0x5a; uVar7 = uVar2; iVar8 = FUN_1020_08a9(0x5a,uVar2,uVar17); BITBLT(0x1020,0x86,0xee,iVar8 + 0x59,uVar18,uVar7,uVar17,uVar13,uVar15,uVar16); } } } } else { if ((DAT_1028_0853 == 0) && (DAT_1028_0851 == 0x81)) { uVar9 = 0x1008; FUN_1008_118f(); } BITBLT(uVar9,0x20,0xcc,0x5a,0xb4,uVar2,0x5a,0x5b,0x21,0); } } else { if ((DAT_1028_0853 == 0) && (DAT_1028_0851 == 0x42)) { uVar9 = 0x1008; FUN_1008_0002(0xd); } uVar7 = uVar4; BITBLT(uVar9,0x20,0xcc,0x5a,0xb4,uVar2,0x5a,0x5b,0x21,0); if ((DAT_1028_0853 < 0) || ((DAT_1028_0853 < 1 && (DAT_1028_0851 < 0x53)))) { uVar17 = 0; uVar7 = FUN_1020_08a9(0,uVar4); BITBLT(0x1020,0xc6,0x88,0x5a,0x16a,uVar2,0x5a,0x5b,uVar7,uVar17); uVar17 = 0; uVar7 = FUN_1020_08a9(0,uVar4); BITBLT(0x1020,0x86,0xee,0x5a,0x10f,uVar2,0x5a,0x5b,uVar7,uVar17); } else { uVar16 = 0; uVar15 = 0; uVar13 = 0x5b; uVar17 = FUN_1020_08a9(0x5b,0,0,uVar4,uVar7); uVar18 = 0x16a; uVar7 = uVar2; iVar8 = FUN_1020_08a9(0x16a,uVar2,uVar17); BITBLT(0x1020,0xc6,0x88,iVar8 + 0x5a,uVar18,uVar7,uVar17,uVar13,uVar15,uVar16); uVar16 = 0; uVar15 = 0; uVar13 = 0x5b; uVar17 = FUN_1020_08a9(0x5b,0,0,uVar4); uVar18 = 0x10f; uVar7 = uVar2; iVar8 = FUN_1020_08a9(0x10f,uVar2,uVar17); BITBLT(0x1020,0x86,0xee,iVar8 + 0x5a,uVar18,uVar7,uVar17,uVar13,uVar15,uVar16); } if ((DAT_1028_0853 < 0) || ((DAT_1028_0853 < 1 && (DAT_1028_0851 < 0x6f)))) { uVar16 = 0x14; uVar15 = 0; uVar13 = 0x2d; uVar17 = FUN_1020_08a9(0x2d,0,0x14,uVar4); uVar18 = 0x87; uVar7 = uVar2; iVar8 = FUN_1020_08a9(0x87,uVar2,uVar17); BITBLT(0x1020,0xc6,0x88,iVar8 + 0x5a,uVar18,uVar7,uVar17,uVar13,uVar15,uVar16); uVar16 = 0x14; uVar15 = 0; uVar13 = 0x2d; uVar17 = FUN_1020_08a9(0x2d,0,0x14,uVar4); uVar18 = 0x5a; uVar7 = uVar2; iVar8 = FUN_1020_08a9(0x5a,uVar2,uVar17); BITBLT(0x1020,0x86,0xee,iVar8 + 0x5a,uVar18,uVar7,uVar17,uVar13,uVar15,uVar16); } } } else { if ((DAT_1028_0853 == 0) && (DAT_1028_0851 == 0x3a)) { uVar9 = 0x1008; FUN_1008_0002(0xc); } BITBLT(uVar9,0xc6,0x88,0x5a,0x87,uVar2,0x58,0x2d,0,0x14); BITBLT(0x1228,0x86,0xee,0x5a,0x5a,uVar2,0x58,0x2d,0,0x14); } } else { if ((DAT_1028_0853 == 0) && (DAT_1028_0851 == 0x2d)) { uVar9 = 0x1008; FUN_1008_118f(); } BITBLT(uVar9,0xc6,0x88,0x5a,0x2d,uVar2,0x58,0x2d,0,0x14); BITBLT(0x1228,0x86,0xee,0x5a,0,uVar2,0x58,0x2d,0,0x14); } } else { if ((DAT_1028_0853 == 0) && (DAT_1028_0851 == 1)) { FUN_1008_0002(0xd); uVar13 = uVar4; SELECTOBJECT(0x1008,DAT_1028_085b); uVar18 = uVar4; BITBLT(0x1228,0x20,0xcc,0x5a,0x10f,uVar2,0x5a,0x5b,0,0x4f); uVar14 = 0x1228; uVar12 = 0x751d; uVar7 = uVar5; uVar17 = uVar4; SELECTOBJECT(0x1228,uVar5); } uVar11 = 0x14; uVar10 = 0; uVar9 = 0x2d; uVar17 = FUN_1020_08a9(0x2d,0,0x14,uVar4,uVar12,uVar14,uVar7,uVar17,uVar18,uVar13,uVar15,uVar16, uVar19); uVar18 = 0x2d; uVar7 = uVar2; iVar8 = FUN_1020_08a9(0x2d,uVar2,uVar17); BITBLT(0x1020,0xc6,0x88,iVar8 + 0x59,uVar18,uVar7,uVar17,uVar9,uVar10,uVar11); uVar16 = 0x14; uVar15 = 0; uVar13 = 0x2d; uVar17 = FUN_1020_08a9(0x2d,0,0x14,uVar4); uVar18 = 0; uVar7 = uVar2; iVar8 = FUN_1020_08a9(0,uVar2,uVar17); BITBLT(0x1020,0x86,0xee,iVar8 + 0x59,uVar18,uVar7,uVar17,uVar13,uVar15,uVar16); } uVar18 = uVar1; BITBLT(0x1228,0x20,0xcc,0,0,uVar4,0x7b,0x5b,0,0x4f); uVar17 = uVar4; SELECTOBJECT(0x1228,uVar6); uVar7 = uVar2; SELECTOBJECT(0x1228,uVar3); DELETEOBJECT(0x1228,uVar5,uVar7,uVar17,uVar18); DELETEDC(0x1228,uVar4); DELETEDC(0x1228,uVar2); RELEASEDC(0x1228,uVar1); return; } /* ===== 1000:7e12 FUN_1000_7e12 ===== */ void __stdcall16far FUN_1000_7e12(undefined2 param_1,uint param_2) { if ((param_2 != 0) && (param_2 < 0xb0)) { if ((*(uint *)(param_2 * 0x53 + 0x99c) & 0x80) == 0x80) { if (*(char *)(param_2 * 0x53 + 0x98f) == '\0') { FUN_1000_b30b(param_1,param_2); } else { FUN_1000_b3f3(param_1,param_2); } } else if ((*(uint *)(param_2 * 0x53 + 0x99c) & 0x100) == 0x100) { if (*(char *)(param_2 * 0x53 + 0x98f) == '\0') { FUN_1000_b3f3(param_1,param_2); } else { FUN_1000_b30b(param_1,param_2); } } } return; } /* ===== 1000:7e92 FUN_1000_7e92 ===== */ void __stdcall16far FUN_1000_7e92(int param_1,int param_2) { undefined2 unaff_SS; if (*(char *)((int)*(undefined4 *)(param_1 + 6) + (uint)DAT_1028_07d1 * 0x14 + param_2 + 0x467) == '\0') { FUN_1000_b3f3(param_1,param_2 + 1000); } else { FUN_1000_b30b(param_1,param_2 + 1000); } return; } /* ===== 1000:7ed9 FUN_1000_7ed9 ===== */ /* WARNING: Removing unreachable block (ram,0x10008133) */ void __stdcall16far FUN_1000_7ed9(int param_1,int param_2,uint param_3,int param_4,int param_5) { uint uVar1; uint uVar2; uint uVar3; uint uVar4; uint uVar5; undefined2 uVar6; undefined2 uVar7; undefined2 uVar8; int iVar9; int iVar10; int iVar11; int iVar12; uint uVar13; int extraout_DX; undefined2 uVar14; int iVar15; undefined2 unaff_SS; bool bVar16; undefined1 uVar17; undefined1 uVar18; undefined4 uVar19; uint local_86; uint local_84; uint local_76; int local_74; uint local_36; int local_34; uint local_32; int local_30; uint local_2e; int local_2c; uint local_2a; int local_28; uint local_1e; int local_1c; uint local_1a; int local_18; uint local_a; uint local_8; uint local_6; uint local_4; FUN_1008_0002(0x15); if (param_4 == 1) { FUN_1020_1017(); local_1a = DAT_1028_1e80 + 0xd8f0; local_18 = DAT_1028_1e82 - (uint)(DAT_1028_1e80 < 10000); local_1e = DAT_1028_1e84; local_1c = DAT_1028_1e86; local_2a = DAT_1028_1edb + 20000; local_28 = DAT_1028_1edd + (uint)(0xb1df < DAT_1028_1edb); local_2e = DAT_1028_1edf; local_2c = DAT_1028_1ee1; local_32 = DAT_1028_1f79 + 20000; local_30 = DAT_1028_1f7b + (uint)(0xb1df < DAT_1028_1f79); local_36 = DAT_1028_1f7d; local_34 = DAT_1028_1f7f; } else if (param_4 == 2) { FUN_1020_1017(); local_1a = DAT_1028_235d + 10000; local_18 = DAT_1028_235f + (uint)(0xd8ef < DAT_1028_235d); local_1e = DAT_1028_2361; local_1c = DAT_1028_2363; local_2a = DAT_1028_2456 + 0xb1e0; local_28 = DAT_1028_2458 - (uint)(DAT_1028_2456 < 20000); local_2e = DAT_1028_245a; local_2c = DAT_1028_245c; local_32 = DAT_1028_23b8 + 0xb1e0; local_30 = DAT_1028_23ba - (uint)(DAT_1028_23b8 < 20000); local_36 = DAT_1028_23bc; local_34 = DAT_1028_23be; } uVar3 = param_3; FUN_1020_08a9(); FUN_1020_100b(); uVar1 = FUN_1020_1017(); uVar2 = uVar1 + local_1e; iVar9 = uVar3 + local_1c + (uint)CARRY2(uVar1,local_1e); uVar3 = (uint)*(byte *)((int)*(undefined4 *)(param_1 + 6) + 0x61); if (uVar3 != 0) { local_76 = 1; local_74 = 0; while( true ) { if (1 < *(byte *)((int)*(undefined4 *)(param_1 + 6) + 0x61)) { FUN_1000_c36b(param_1,local_76 - 1,local_74 - (uint)(local_76 == 0)); } if ((param_3 == 0xffff) && (param_2 == -1)) { iVar10 = (local_28 - DAT_1028_07d5) - (uint)(local_2a < DAT_1028_07d3); FUN_1020_08e6(); FUN_1020_08e6(); iVar11 = ((local_2c - (uint)(local_2e < 43000)) - DAT_1028_07d9) - (uint)(local_2e + 0x5808 < DAT_1028_07d7); FUN_1020_08e6(); FUN_1020_08e6(); uVar1 = FUN_1020_08a9(); iVar12 = iVar10; uVar4 = FUN_1020_08a9(); local_6 = uVar4 - uVar1; local_4 = (iVar12 - iVar11) - (uint)(uVar4 < uVar1); FUN_1020_08e6(); iVar12 = ((local_2c + (uint)(0xd11f < local_2e)) - DAT_1028_07d9) - (uint)(local_2e + 12000 < DAT_1028_07d7); FUN_1020_08e6(); uVar1 = FUN_1020_08a9(); uVar4 = FUN_1020_08a9(); local_a = uVar4 - uVar1; local_8 = (iVar10 - iVar12) - (uint)(uVar4 < uVar1); } else { iVar10 = (local_30 - DAT_1028_07d5) - (uint)(local_32 < DAT_1028_07d3); FUN_1020_08e6(); FUN_1020_08e6(); iVar11 = ((local_34 - (uint)(local_36 < 12000)) - DAT_1028_07d9) - (uint)(local_36 + 0xd120 < DAT_1028_07d7); FUN_1020_08e6(); FUN_1020_08e6(); uVar1 = FUN_1020_08a9(); iVar12 = iVar10; uVar4 = FUN_1020_08a9(); local_6 = uVar4 - uVar1; local_4 = (iVar12 - iVar11) - (uint)(uVar4 < uVar1); FUN_1020_08e6(); iVar12 = ((local_34 + (uint)(0x5807 < local_36)) - DAT_1028_07d9) - (uint)(local_36 + 43000 < DAT_1028_07d7); FUN_1020_08e6(); uVar1 = FUN_1020_08a9(); uVar4 = FUN_1020_08a9(); local_a = uVar4 - uVar1; local_8 = (iVar10 - iVar12) - (uint)(uVar4 < uVar1); } uVar1 = DAT_1028_07d3 - local_1a; uVar4 = (DAT_1028_07d5 - local_18) - (uint)(DAT_1028_07d3 < local_1a); if ((int)uVar4 < 0) { bVar16 = uVar1 != 0; uVar1 = -uVar1; uVar4 = (~uVar4 + 1) - (uint)bVar16; } uVar5 = DAT_1028_07d7 - uVar2; uVar13 = (DAT_1028_07d9 - iVar9) - (uint)(DAT_1028_07d7 < uVar2); if ((int)uVar13 < 0) { bVar16 = uVar5 != 0; uVar5 = -uVar5; uVar13 = (~uVar13 + 1) - (uint)bVar16; } if ((((int)uVar4 < 0) || (((int)uVar4 < 1 && (uVar1 < 54000)))) && (((int)uVar13 < 0 || (((int)uVar13 < 1 && (uVar5 < 54000)))))) { FUN_1020_100b(); FUN_1020_0ffd(); uVar19 = FUN_1020_0ff1(0x1020); FUN_1020_100b((int)uVar19,iVar12,(int)((ulong)uVar19 >> 0x10)); FUN_1020_0ffd(); FUN_1020_0ff1(0x1020); iVar12 = extraout_DX; FUN_1020_0fe5(); FUN_1020_10be(); FUN_1020_0ff7(); uVar1 = FUN_1020_1017(); if (((iVar12 < 0) || ((iVar12 < 1 && (uVar1 < 0xd2f1)))) && (((((param_5 == 0 && ((param_4 == 1 && ((local_4 < 0x8000 || ((-2 < (int)local_4 && (0xfc18 < local_6))))) ))) && (((int)local_8 < 0 || (((int)local_8 < 1 && (local_a < 1000)))))) && ((local_18 < DAT_1028_07d5 || ((local_18 <= DAT_1028_07d5 && (local_1a < DAT_1028_07d3)))))) || (((((param_5 == 0 && (param_4 == 2)) && (((int)local_4 < 0 || (((int)local_4 < 1 && (local_6 < 1000)))))) && ((local_8 < 0x8000 || ((-2 < (int)local_8 && (0xfc18 < local_a)))))) && ((DAT_1028_07d5 < local_18 || ((DAT_1028_07d5 <= local_18 && (DAT_1028_07d3 < local_1a)))))))))) { FUN_1020_08a9(); FUN_1020_100b(); FUN_1020_1017(); FUN_1020_100b(); uVar1 = param_3; FUN_1020_08a9(); FUN_1020_100b(); FUN_1020_1017(); FUN_1020_100b(); if ((param_3 == 0xffff) && (param_2 == -1)) { uVar4 = (local_28 - local_18) - (uint)(local_2a < local_1a); uVar17 = false; uVar18 = uVar4 == 0; if ((int)uVar4 < 0) { uVar5 = ~uVar4 + 1; uVar17 = ~uVar4 != 0xffff || uVar5 < (local_2a != local_1a); uVar18 = uVar5 == (local_2a != local_1a); } FUN_1020_100b(); FUN_1020_1007(); if ((bool)uVar17 || (bool)uVar18) { local_86 = local_2e + 0x5808; local_84 = local_2c - (uint)(local_2e < 43000); } else { uVar4 = DAT_1028_07d3 - local_1a; uVar1 = (DAT_1028_07d5 - local_18) - (uint)(DAT_1028_07d3 < local_1a); if ((int)uVar1 < 0) { bVar16 = uVar4 != 0; uVar4 = -uVar4; uVar1 = (~uVar1 + 1) - (uint)bVar16; } local_86 = (uVar2 - uVar4) + 5000; local_84 = ((iVar9 - uVar1) - (uint)(uVar2 < uVar4)) + (uint)(0xec77 < uVar2 - uVar4); } local_84 = (local_84 - DAT_1028_07d9) - (uint)(local_86 < DAT_1028_07d7); } else { uVar4 = (local_30 - local_18) - (uint)(local_32 < local_1a); uVar17 = false; uVar18 = uVar4 == 0; if ((int)uVar4 < 0) { uVar5 = ~uVar4 + 1; uVar17 = ~uVar4 != 0xffff || uVar5 < (local_32 != local_1a); uVar18 = uVar5 == (local_32 != local_1a); } FUN_1020_100b(); FUN_1020_1007(); if ((bool)uVar17 || (bool)uVar18) { local_86 = local_36 + 43000; local_84 = local_34 + (uint)(0x5807 < local_36); } else { iVar12 = (local_30 - local_18) - (uint)(local_32 < local_1a); uVar6 = FUN_1020_100b(); uVar4 = (DAT_1028_07d5 - local_18) - (uint)(DAT_1028_07d3 < local_1a); FUN_1020_08a9(uVar6,uVar1,iVar12); FUN_1020_100b(); FUN_1020_0ffd(); uVar1 = FUN_1020_1017(); local_86 = uVar2 - uVar1; local_84 = (iVar9 - uVar4) - (uint)(uVar2 < uVar1); uVar1 = uVar4; } local_84 = (local_84 - DAT_1028_07d9) - (uint)(local_86 < DAT_1028_07d7); } if ((int)local_84 < 0) { uVar1 = param_3; FUN_1020_08a9(); FUN_1020_100b(); iVar12 = FUN_1020_1017(); local_86 = -iVar12; local_84 = (~local_84 + 1) - (uint)(iVar12 != 0); } else { local_86 = 0; local_84 = 0; } uVar14 = 0; uVar8 = uVar14; uVar7 = FUN_1020_100b(); uVar6 = *(undefined2 *)((int)*(undefined4 *)(param_1 + 6) + 0xbb0); FUN_1020_100b(uVar7,uVar1,uVar8); uVar8 = FUN_1020_0ff7(); FUN_1020_100b(uVar8,uVar1,uVar6); FUN_1020_0ff7(); FUN_1020_0fe5(); FUN_1020_0ff7(); FUN_1020_0ffd(); FUN_1020_1017(); uVar8 = uVar14; uVar7 = FUN_1020_100b(); uVar6 = *(undefined2 *)((int)*(undefined4 *)(param_1 + 6) + 0xbb0); FUN_1020_100b(uVar7,uVar1,uVar8); uVar7 = FUN_1020_0ff7(); uVar8 = *(undefined2 *)((int)*(undefined4 *)(param_1 + 6) + 0xbac); FUN_1020_100b(uVar7,uVar1,uVar6); FUN_1020_0ff7(); FUN_1020_0feb(); FUN_1020_0ffd(); FUN_1020_1017(); uVar6 = uVar14; uVar7 = FUN_1020_100b(); FUN_1020_100b(uVar7,uVar1,uVar6); FUN_1020_0ffd(); FUN_1020_10be(); FUN_1020_0ff7(); FUN_1020_0fe5(); uVar6 = FUN_1020_100b(); uVar7 = 0; iVar11 = 0; FUN_1020_0fe5(uVar6,uVar1,uVar8); FUN_1020_0ff7(); uVar1 = FUN_1020_1017(); iVar12 = *(int *)((int)*(undefined4 *)(param_1 + 6) + 0x58); FUN_1020_100b(); FUN_1020_0ff7(); uVar4 = FUN_1020_1017(); iVar10 = iVar12 + iVar11 + (uint)CARRY2(uVar4,uVar1); uVar6 = uVar14; uVar8 = FUN_1020_100b(); iVar11 = iVar10; FUN_1020_100b(uVar8,uVar7,uVar6); uVar6 = FUN_1020_0ff7(); iVar12 = 0; FUN_1020_100b(uVar6,uVar7,iVar11); FUN_1020_0ff7(); FUN_1020_0feb(); FUN_1020_0ffd(); uVar4 = FUN_1020_1017(); uVar6 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10); iVar15 = (int)*(undefined4 *)(param_1 + 6); uVar1 = *(uint *)(iVar15 + 0xbaa); iVar11 = *(int *)(iVar15 + 0xbac); *(int *)(iVar15 + 0xbaa) = uVar4 + *(uint *)(iVar15 + 0xbaa); *(int *)(iVar15 + 0xbac) = iVar12 + iVar11 + (uint)CARRY2(uVar4,uVar1); uVar8 = FUN_1020_100b(); uVar6 = 0; FUN_1020_100b(uVar8,uVar7,uVar14); uVar8 = FUN_1020_0ff7(); FUN_1020_100b(uVar8,uVar7,uVar6); FUN_1020_0ff7(); FUN_1020_0fe5(); FUN_1020_0ffd(); uVar4 = FUN_1020_1017(); uVar6 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10); iVar11 = (int)*(undefined4 *)(param_1 + 6); uVar1 = *(uint *)(iVar11 + 0xbae); iVar12 = *(int *)(iVar11 + 0xbb0); *(int *)(iVar11 + 0xbae) = uVar4 + *(uint *)(iVar11 + 0xbae); *(int *)(iVar11 + 0xbb0) = iVar10 + iVar12 + (uint)CARRY2(uVar4,uVar1); uVar6 = *(undefined2 *)(iVar11 + 0xbb0); uVar8 = FUN_1020_100b(); uVar1 = local_84; FUN_1020_08a9(uVar8,uVar7,uVar6); FUN_1020_100b(); FUN_1020_0ffd(); uVar6 = FUN_1020_1017(); FUN_1000_beff(param_1,uVar6,uVar1,local_86,local_84); } } if (1 < *(byte *)((int)*(undefined4 *)(param_1 + 6) + 0x61)) { FUN_1000_c426(param_1,local_76 - 1,local_74 - (uint)(local_76 == 0)); } if ((local_74 == 0) && (local_76 == uVar3)) break; bVar16 = 0xfffe < local_76; local_76 = local_76 + 1; local_74 = local_74 + (uint)bVar16; } } return; } /* ===== 1000:8b0d FUN_1000_8b0d ===== */ void __stdcall16far FUN_1000_8b0d(int param_1,int param_2,int param_3,char param_4) { undefined4 uVar1; uint uVar2; undefined2 uVar3; uint uVar4; int iVar5; undefined2 uVar6; undefined2 unaff_SS; bool bVar7; undefined2 uVar8; uVar1 = *(undefined4 *)(*(int *)(param_1 + 6) + 6); uVar8 = *(undefined2 *)((int)uVar1 + 4); uVar6 = 0x1228; uVar3 = GETDC(); if ((param_3 == 0) && (param_2 == 1)) { *(undefined2 *)(param_1 + -4) = 0; *(undefined2 *)(param_1 + -2) = 0; *(undefined2 *)(param_1 + -8) = 43000; *(undefined2 *)(param_1 + -6) = 0; } else { *(undefined2 *)(param_1 + -4) = 0; *(undefined2 *)(param_1 + -2) = 0; *(undefined2 *)(param_1 + -8) = 0x5808; *(undefined2 *)(param_1 + -6) = 0xffff; } if (param_4 == '\x01') { iVar5 = param_3; FUN_1020_08a9(uVar8); FUN_1020_100b(); uVar4 = FUN_1020_1017(); bVar7 = CARRY2(DAT_1028_1ed3,uVar4); DAT_1028_1ed3 = DAT_1028_1ed3 + uVar4; DAT_1028_1ed5 = DAT_1028_1ed5 + iVar5 + (uint)bVar7; iVar5 = param_3; FUN_1020_08a9(); FUN_1020_100b(); uVar4 = FUN_1020_1017(); bVar7 = CARRY2(DAT_1028_1ed7,uVar4); DAT_1028_1ed7 = DAT_1028_1ed7 + uVar4; DAT_1028_1ed9 = DAT_1028_1ed9 + iVar5 + (uint)bVar7; iVar5 = param_3; FUN_1020_08a9(); FUN_1020_100b(); uVar4 = FUN_1020_1017(); bVar7 = CARRY2(DAT_1028_1edb,uVar4); DAT_1028_1edb = DAT_1028_1edb + uVar4; DAT_1028_1edd = DAT_1028_1edd + iVar5 + (uint)bVar7; iVar5 = param_3; FUN_1020_08a9(); FUN_1020_100b(); uVar4 = FUN_1020_1017(); bVar7 = CARRY2(DAT_1028_1edf,uVar4); DAT_1028_1edf = DAT_1028_1edf + uVar4; DAT_1028_1ee1 = DAT_1028_1ee1 + iVar5 + (uint)bVar7; if ((DAT_1028_1ed5 < DAT_1028_1edd) || ((DAT_1028_1ed5 <= DAT_1028_1edd && (DAT_1028_1ed3 < DAT_1028_1edb)))) { DAT_1028_1ec5 = DAT_1028_1ed5 - (uint)(DAT_1028_1ed3 < 5000); DAT_1028_1ecd = DAT_1028_1edd + (uint)(0xec77 < DAT_1028_1edb); uVar4 = DAT_1028_1ed3; uVar2 = DAT_1028_1edb; } else { DAT_1028_1ec5 = DAT_1028_1edd - (uint)(DAT_1028_1edb < 5000); DAT_1028_1ecd = DAT_1028_1ed5 + (uint)(0xec77 < DAT_1028_1ed3); uVar4 = DAT_1028_1edb; uVar2 = DAT_1028_1ed3; } DAT_1028_1ecb = uVar2 + 5000; DAT_1028_1ec3 = uVar4 + 0xec78; if ((DAT_1028_1ed9 < DAT_1028_1ee1) || ((DAT_1028_1ed9 <= DAT_1028_1ee1 && (DAT_1028_1ed7 < DAT_1028_1edf)))) { DAT_1028_1ec9 = DAT_1028_1ed9 - (uint)(DAT_1028_1ed7 < 5000); DAT_1028_1ed1 = DAT_1028_1ee1 + (uint)(0xec77 < DAT_1028_1edf); uVar4 = DAT_1028_1ed7; uVar2 = DAT_1028_1edf; } else { DAT_1028_1ec9 = DAT_1028_1ee1 - (uint)(DAT_1028_1edf < 5000); DAT_1028_1ed1 = DAT_1028_1ed9 + (uint)(0xec77 < DAT_1028_1ed7); uVar4 = DAT_1028_1edf; uVar2 = DAT_1028_1ed7; } DAT_1028_1ecf = uVar2 + 5000; DAT_1028_1ec7 = uVar4 + 0xec78; iVar5 = param_3; FUN_1020_08a9(); FUN_1020_100b(); uVar4 = FUN_1020_1017(); bVar7 = CARRY2(DAT_1028_1f26,uVar4); DAT_1028_1f26 = DAT_1028_1f26 + uVar4; DAT_1028_1f28 = DAT_1028_1f28 + iVar5 + (uint)bVar7; iVar5 = param_3; FUN_1020_08a9(); FUN_1020_100b(); uVar4 = FUN_1020_1017(); bVar7 = CARRY2(DAT_1028_1f2a,uVar4); DAT_1028_1f2a = DAT_1028_1f2a + uVar4; DAT_1028_1f2c = DAT_1028_1f2c + iVar5 + (uint)bVar7; iVar5 = param_3; FUN_1020_08a9(); FUN_1020_100b(); uVar4 = FUN_1020_1017(); bVar7 = CARRY2(DAT_1028_1f16,uVar4); DAT_1028_1f16 = DAT_1028_1f16 + uVar4; DAT_1028_1f18 = DAT_1028_1f18 + iVar5 + (uint)bVar7; iVar5 = param_3; FUN_1020_08a9(); FUN_1020_100b(); uVar4 = FUN_1020_1017(); bVar7 = CARRY2(DAT_1028_1f1a,uVar4); DAT_1028_1f1a = DAT_1028_1f1a + uVar4; DAT_1028_1f1c = DAT_1028_1f1c + iVar5 + (uint)bVar7; iVar5 = param_3; FUN_1020_08a9(); FUN_1020_100b(); uVar4 = FUN_1020_1017(); bVar7 = DAT_1028_1f1e < uVar4; DAT_1028_1f1e = DAT_1028_1f1e - uVar4; DAT_1028_1f20 = (DAT_1028_1f20 - iVar5) - (uint)bVar7; iVar5 = param_3; FUN_1020_08a9(); FUN_1020_100b(); uVar4 = FUN_1020_1017(); bVar7 = DAT_1028_1f22 < uVar4; DAT_1028_1f22 = DAT_1028_1f22 - uVar4; DAT_1028_1f24 = (DAT_1028_1f24 - iVar5) - (uint)bVar7; iVar5 = param_3; FUN_1020_08a9(); FUN_1020_100b(); uVar4 = FUN_1020_1017(); bVar7 = DAT_1028_1f79 < uVar4; DAT_1028_1f79 = DAT_1028_1f79 - uVar4; DAT_1028_1f7b = (DAT_1028_1f7b - iVar5) - (uint)bVar7; iVar5 = param_3; FUN_1020_08a9(); FUN_1020_100b(); uVar4 = FUN_1020_1017(); bVar7 = CARRY2(DAT_1028_1f7d,uVar4); DAT_1028_1f7d = DAT_1028_1f7d + uVar4; DAT_1028_1f7f = DAT_1028_1f7f + iVar5 + (uint)bVar7; iVar5 = param_3; FUN_1020_08a9(); FUN_1020_100b(); uVar4 = FUN_1020_1017(); bVar7 = DAT_1028_1f81 < uVar4; DAT_1028_1f81 = DAT_1028_1f81 - uVar4; DAT_1028_1f83 = (DAT_1028_1f83 - iVar5) - (uint)bVar7; FUN_1020_08a9(); FUN_1020_100b(); uVar4 = FUN_1020_1017(); bVar7 = CARRY2(DAT_1028_1f85,uVar4); DAT_1028_1f85 = DAT_1028_1f85 + uVar4; DAT_1028_1f87 = DAT_1028_1f87 + param_3 + (uint)bVar7; if ((DAT_1028_1f7b < DAT_1028_1f83) || ((DAT_1028_1f7b <= DAT_1028_1f83 && (DAT_1028_1f79 < DAT_1028_1f81)))) { DAT_1028_1f6b = DAT_1028_1f7b - (uint)(DAT_1028_1f79 < 5000); DAT_1028_1f73 = DAT_1028_1f83 + (uint)(0xec77 < DAT_1028_1f81); uVar4 = DAT_1028_1f79; uVar2 = DAT_1028_1f81; } else { DAT_1028_1f6b = DAT_1028_1f83 - (uint)(DAT_1028_1f81 < 5000); DAT_1028_1f73 = DAT_1028_1f7b + (uint)(0xec77 < DAT_1028_1f79); uVar4 = DAT_1028_1f81; uVar2 = DAT_1028_1f79; } DAT_1028_1f71 = uVar2 + 5000; DAT_1028_1f69 = uVar4 + 0xec78; if ((DAT_1028_1f7f < DAT_1028_1f87) || ((DAT_1028_1f7f <= DAT_1028_1f87 && (DAT_1028_1f7d < DAT_1028_1f85)))) { DAT_1028_1f6f = DAT_1028_1f7f - (uint)(DAT_1028_1f7d < 5000); DAT_1028_1f77 = DAT_1028_1f87 + (uint)(0xec77 < DAT_1028_1f85); uVar4 = DAT_1028_1f7d; uVar2 = DAT_1028_1f85; } else { DAT_1028_1f6f = DAT_1028_1f87 - (uint)(DAT_1028_1f85 < 5000); DAT_1028_1f77 = DAT_1028_1f7f + (uint)(0xec77 < DAT_1028_1f7d); uVar4 = DAT_1028_1f85; uVar2 = DAT_1028_1f7d; } DAT_1028_1f75 = uVar2 + 5000; DAT_1028_1f6d = uVar4 + 0xec78; uVar1 = *(undefined4 *)(*(int *)(param_1 + 6) + 6); if (*(int *)((int)uVar1 + 0xbd4) == 0) { FUN_1008_08bb(0x34,0x2f,0x175,0x5d,uVar3); } else { FUN_1008_0837(0x34,0x2f,0x175,0x5d,uVar3); } uVar6 = 0x1008; FUN_1008_093f(0x34,0x2f,0x175,0x5d,uVar3); } else if (param_4 == '\x02') { iVar5 = param_3; uVar4 = FUN_1020_08a9(uVar8); bVar7 = DAT_1028_245e < uVar4; DAT_1028_245e = DAT_1028_245e - uVar4; DAT_1028_2460 = (DAT_1028_2460 - iVar5) - (uint)bVar7; iVar5 = param_3; uVar4 = FUN_1020_08a9(); bVar7 = CARRY2(DAT_1028_2462,uVar4); DAT_1028_2462 = DAT_1028_2462 + uVar4; DAT_1028_2464 = DAT_1028_2464 + iVar5 + (uint)bVar7; iVar5 = param_3; uVar4 = FUN_1020_08a9(); bVar7 = DAT_1028_2456 < uVar4; DAT_1028_2456 = DAT_1028_2456 - uVar4; DAT_1028_2458 = (DAT_1028_2458 - iVar5) - (uint)bVar7; iVar5 = param_3; uVar4 = FUN_1020_08a9(); bVar7 = CARRY2(DAT_1028_245a,uVar4); DAT_1028_245a = DAT_1028_245a + uVar4; DAT_1028_245c = DAT_1028_245c + iVar5 + (uint)bVar7; if ((DAT_1028_2458 < DAT_1028_2460) || ((DAT_1028_2458 <= DAT_1028_2460 && (DAT_1028_2456 < DAT_1028_245e)))) { DAT_1028_2448 = DAT_1028_2458 - (uint)(DAT_1028_2456 < 5000); DAT_1028_2450 = DAT_1028_2460 + (uint)(0xec77 < DAT_1028_245e); uVar4 = DAT_1028_2456; uVar2 = DAT_1028_245e; } else { DAT_1028_2448 = DAT_1028_2460 - (uint)(DAT_1028_245e < 5000); DAT_1028_2450 = DAT_1028_2458 + (uint)(0xec77 < DAT_1028_2456); uVar4 = DAT_1028_245e; uVar2 = DAT_1028_2456; } DAT_1028_244e = uVar2 + 5000; DAT_1028_2446 = uVar4 + 0xec78; if ((DAT_1028_245c < DAT_1028_2464) || ((DAT_1028_245c <= DAT_1028_2464 && (DAT_1028_245a < DAT_1028_2462)))) { DAT_1028_244c = DAT_1028_245c - (uint)(DAT_1028_245a < 5000); DAT_1028_2454 = DAT_1028_2464 + (uint)(0xec77 < DAT_1028_2462); uVar4 = DAT_1028_245a; uVar2 = DAT_1028_2462; } else { DAT_1028_244c = DAT_1028_2464 - (uint)(DAT_1028_2462 < 5000); DAT_1028_2454 = DAT_1028_245c + (uint)(0xec77 < DAT_1028_245a); uVar4 = DAT_1028_2462; uVar2 = DAT_1028_245a; } DAT_1028_2452 = uVar2 + 5000; DAT_1028_244a = uVar4 + 0xec78; iVar5 = param_3; uVar4 = FUN_1020_08a9(); bVar7 = DAT_1028_2403 < uVar4; DAT_1028_2403 = DAT_1028_2403 - uVar4; DAT_1028_2405 = (DAT_1028_2405 - iVar5) - (uint)bVar7; iVar5 = param_3; uVar4 = FUN_1020_08a9(); bVar7 = CARRY2(DAT_1028_2407,uVar4); DAT_1028_2407 = DAT_1028_2407 + uVar4; DAT_1028_2409 = DAT_1028_2409 + iVar5 + (uint)bVar7; iVar5 = param_3; uVar4 = FUN_1020_08a9(); bVar7 = DAT_1028_23f3 < uVar4; DAT_1028_23f3 = DAT_1028_23f3 - uVar4; DAT_1028_23f5 = (DAT_1028_23f5 - iVar5) - (uint)bVar7; iVar5 = param_3; uVar4 = FUN_1020_08a9(); bVar7 = CARRY2(DAT_1028_23f7,uVar4); DAT_1028_23f7 = DAT_1028_23f7 + uVar4; DAT_1028_23f9 = DAT_1028_23f9 + iVar5 + (uint)bVar7; iVar5 = param_3; uVar4 = FUN_1020_08a9(); bVar7 = CARRY2(DAT_1028_23fb,uVar4); DAT_1028_23fb = DAT_1028_23fb + uVar4; DAT_1028_23fd = DAT_1028_23fd + iVar5 + (uint)bVar7; iVar5 = param_3; uVar4 = FUN_1020_08a9(); bVar7 = DAT_1028_23ff < uVar4; DAT_1028_23ff = DAT_1028_23ff - uVar4; DAT_1028_2401 = (DAT_1028_2401 - iVar5) - (uint)bVar7; iVar5 = param_3; uVar4 = FUN_1020_08a9(); bVar7 = CARRY2(DAT_1028_23b8,uVar4); DAT_1028_23b8 = DAT_1028_23b8 + uVar4; DAT_1028_23ba = DAT_1028_23ba + iVar5 + (uint)bVar7; iVar5 = param_3; uVar4 = FUN_1020_08a9(); bVar7 = CARRY2(DAT_1028_23bc,uVar4); DAT_1028_23bc = DAT_1028_23bc + uVar4; DAT_1028_23be = DAT_1028_23be + iVar5 + (uint)bVar7; iVar5 = param_3; uVar4 = FUN_1020_08a9(); bVar7 = CARRY2(DAT_1028_23b0,uVar4); DAT_1028_23b0 = DAT_1028_23b0 + uVar4; DAT_1028_23b2 = DAT_1028_23b2 + iVar5 + (uint)bVar7; uVar4 = FUN_1020_08a9(); bVar7 = CARRY2(DAT_1028_23b4,uVar4); DAT_1028_23b4 = DAT_1028_23b4 + uVar4; DAT_1028_23b6 = DAT_1028_23b6 + param_3 + (uint)bVar7; if ((DAT_1028_23b2 < DAT_1028_23ba) || ((DAT_1028_23b2 <= DAT_1028_23ba && (DAT_1028_23b0 < DAT_1028_23b8)))) { DAT_1028_23a2 = DAT_1028_23b2 - (uint)(DAT_1028_23b0 < 5000); DAT_1028_23aa = DAT_1028_23ba + (uint)(0xec77 < DAT_1028_23b8); uVar4 = DAT_1028_23b0; uVar2 = DAT_1028_23b8; } else { DAT_1028_23a2 = DAT_1028_23ba - (uint)(DAT_1028_23b8 < 5000); DAT_1028_23aa = DAT_1028_23b2 + (uint)(0xec77 < DAT_1028_23b0); uVar4 = DAT_1028_23b8; uVar2 = DAT_1028_23b0; } DAT_1028_23a8 = uVar2 + 5000; DAT_1028_23a0 = uVar4 + 0xec78; if ((DAT_1028_23b6 < DAT_1028_23be) || ((DAT_1028_23b6 <= DAT_1028_23be && (DAT_1028_23b4 < DAT_1028_23bc)))) { DAT_1028_23a6 = DAT_1028_23b6 - (uint)(DAT_1028_23b4 < 5000); DAT_1028_23ae = DAT_1028_23be + (uint)(0xec77 < DAT_1028_23bc); uVar4 = DAT_1028_23b4; uVar2 = DAT_1028_23bc; } else { DAT_1028_23a6 = DAT_1028_23be - (uint)(DAT_1028_23bc < 5000); DAT_1028_23ae = DAT_1028_23b6 + (uint)(0xec77 < DAT_1028_23b4); uVar4 = DAT_1028_23bc; uVar2 = DAT_1028_23b4; } DAT_1028_23ac = uVar2 + 5000; DAT_1028_23a4 = uVar4 + 0xec78; uVar1 = *(undefined4 *)(*(int *)(param_1 + 6) + 6); if (*(int *)((int)uVar1 + 0xbd6) == 0) { FUN_1008_08bb(0x35,0x2d,0x174,0xaf,uVar3); } else { FUN_1008_0837(0x35,0x2d,0x174,0xaf,uVar3); } uVar6 = 0x1008; FUN_1008_093f(0x35,0x2d,0x174,0xaf,uVar3); } RELEASEDC(uVar6,uVar3); return; } /* ===== 1000:99f0 FUN_1000_99f0 ===== */ void __stdcall16far FUN_1000_99f0(int param_1) { int iVar1; undefined2 uVar2; undefined2 unaff_SS; uVar2 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10); iVar1 = (int)*(undefined4 *)(param_1 + 6); if ((*(char *)(iVar1 + 0xbda) == '\0') || (*(int *)(iVar1 + 0xbd4) != 0)) { uVar2 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10); iVar1 = (int)*(undefined4 *)(param_1 + 6); if ((*(char *)(iVar1 + 0xbda) == '\0') && (*(int *)(iVar1 + 0xbd4) != 0)) { *(int *)(iVar1 + 0xbd4) = *(int *)(iVar1 + 0xbd4) + -1; FUN_1000_7ed9(param_1,1,0,1,0); FUN_1000_8b0d(&stack0xfffe,1,0,1); } } else { *(int *)(iVar1 + 0xbd4) = *(int *)(iVar1 + 0xbd4) + 1; FUN_1000_7ed9(param_1,0xffff,0xffff,1,0); FUN_1000_8b0d(&stack0xfffe,0xffff,0xffff,1); } uVar2 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10); iVar1 = (int)*(undefined4 *)(param_1 + 6); if ((*(char *)(iVar1 + 0xbdb) == '\0') || (*(int *)(iVar1 + 0xbd6) != 0)) { uVar2 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10); iVar1 = (int)*(undefined4 *)(param_1 + 6); if ((*(char *)(iVar1 + 0xbdb) == '\0') && (*(int *)(iVar1 + 0xbd6) != 0)) { *(int *)(iVar1 + 0xbd6) = *(int *)(iVar1 + 0xbd6) + -1; FUN_1000_7ed9(param_1,1,0,2,0); FUN_1000_8b0d(&stack0xfffe,1,0,2); } } else { *(int *)(iVar1 + 0xbd6) = *(int *)(iVar1 + 0xbd6) + 1; FUN_1000_7ed9(param_1,0xffff,0xffff,2,0); FUN_1000_8b0d(&stack0xfffe,0xffff,0xffff,2); } return; } /* ===== 1000:9ae0 FUN_1000_9ae0 ===== */ undefined2 __stdcall16far FUN_1000_9ae0(int param_1,uint param_2,int param_3,uint param_4,int param_5,uint param_6,int param_7 ,uint param_8,int param_9) { uint uVar1; int iVar2; undefined2 uVar3; undefined2 unaff_SS; undefined1 local_3; uVar3 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10); iVar2 = (int)*(undefined4 *)(param_1 + 6); uVar1 = *(uint *)(iVar2 + 0xbba); iVar2 = *(int *)(iVar2 + 0xbbc); if ((param_9 < iVar2) || ((param_9 <= iVar2 && (param_8 <= uVar1)))) { uVar3 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10); iVar2 = (int)*(undefined4 *)(param_1 + 6); uVar1 = *(uint *)(iVar2 + 0xbbe); iVar2 = *(int *)(iVar2 + 0xbc0); if ((param_7 < iVar2) || ((param_7 <= iVar2 && (param_6 <= uVar1)))) { uVar3 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10); iVar2 = (int)*(undefined4 *)(param_1 + 6); uVar1 = *(uint *)(iVar2 + 0xbba); iVar2 = *(int *)(iVar2 + 0xbbc); if ((iVar2 < param_5) || ((iVar2 <= param_5 && (uVar1 <= param_4)))) { uVar3 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10); iVar2 = (int)*(undefined4 *)(param_1 + 6); uVar1 = *(uint *)(iVar2 + 0xbbe); iVar2 = *(int *)(iVar2 + 0xbc0); if ((iVar2 < param_3) || ((iVar2 <= param_3 && (uVar1 <= param_2)))) { local_3 = 1; goto LAB_1000_9b62; } } } } local_3 = 0; LAB_1000_9b62: return CONCAT11((char)(uVar1 >> 8),local_3); } /* ===== 1000:9b69 FUN_1000_9b69 ===== */ undefined2 __stdcall16far FUN_1000_9b69(undefined2 param_1,uint param_2,int param_3,uint param_4,int param_5,uint param_6, int param_7,uint param_8,int param_9) { uint uVar1; undefined1 local_3; uVar1 = DAT_1028_07db; if ((param_9 < DAT_1028_07dd) || ((param_9 <= DAT_1028_07dd && (param_8 <= DAT_1028_07db)))) { if ((param_7 < DAT_1028_07e1) || ((uVar1 = DAT_1028_07df, param_7 <= DAT_1028_07e1 && (uVar1 = DAT_1028_07df, param_6 <= DAT_1028_07df)))) { if ((DAT_1028_07dd < param_5) || ((uVar1 = DAT_1028_07db, DAT_1028_07dd <= param_5 && (DAT_1028_07db <= param_4)))) { uVar1 = DAT_1028_07df; if ((DAT_1028_07e1 < param_3) || ((DAT_1028_07e1 <= param_3 && (DAT_1028_07df <= param_2)))) { local_3 = 1; goto LAB_1000_9bc3; } } } } local_3 = 0; LAB_1000_9bc3: return CONCAT11((char)(uVar1 >> 8),local_3); } /* ===== 1000:9bca FUN_1000_9bca ===== */ void __stdcall16far FUN_1000_9bca(int param_1) { undefined2 uVar1; undefined2 uVar2; uint uVar3; int iVar4; int iVar5; undefined2 unaff_CS; undefined2 unaff_SS; undefined2 uVar6; undefined2 uVar7; uVar1 = *(undefined2 *)((int)*(undefined4 *)(param_1 + 6) + 4); GETCLIENTRECT(unaff_CS,param_1 + -0x1a,unaff_SS); uVar1 = GETDC(0x1228,*(undefined2 *)((int)*(undefined4 *)(param_1 + 6) + 4),uVar1); *(undefined2 *)(param_1 + -0xc) = uVar1; uVar1 = CREATECOMPATIBLEDC(0x1228,*(undefined2 *)(param_1 + -0xc)); *(undefined2 *)(param_1 + -0xe) = uVar1; uVar1 = CREATECOMPATIBLEDC(0x1228,*(undefined2 *)(param_1 + -0xc)); *(undefined2 *)(param_1 + -0x10) = uVar1; uVar1 = CREATECOMPATIBLEDC(0x1228,*(undefined2 *)(param_1 + -0xc)); *(undefined2 *)(param_1 + -0x12) = uVar1; uVar1 = *(undefined2 *)(param_1 + -0xc); uVar2 = CREATECOMPATIBLEBITMAP(0x1228,100,100); *(undefined2 *)(param_1 + -8) = uVar2; iVar4 = DAT_1028_07d5 + (uint)(0xfe0b < DAT_1028_07d3); uVar3 = FUN_1020_08e6(uVar1); uVar1 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10); iVar5 = (int)*(undefined4 *)(param_1 + 6); *(int *)(iVar5 + 0xba2) = uVar3 - 8; *(int *)(iVar5 + 0xba4) = iVar4 - (uint)(uVar3 < 8); iVar4 = DAT_1028_07d9 + (uint)(0xfe0b < DAT_1028_07d7); uVar3 = FUN_1020_08e6(); uVar1 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10); iVar5 = (int)*(undefined4 *)(param_1 + 6); *(int *)(iVar5 + 0xba6) = uVar3 - 8; *(int *)(iVar5 + 0xba8) = iVar4 - (uint)(uVar3 < 8); *(int *)(param_1 + -0x20) = *(int *)(iVar5 + 0xba2) + -1; *(undefined2 *)(param_1 + -0x1c) = 1; *(int *)(param_1 + -0x22) = *(int *)((int)*(undefined4 *)(param_1 + 6) + 0xba6) + -1; *(undefined2 *)(param_1 + -0x1e) = 1; *(undefined2 *)(param_1 + -0x28) = 0x13; *(undefined2 *)(param_1 + -0x2a) = 0x13; uVar1 = SELECTOBJECT(0x1020,DAT_1028_085b); *(undefined2 *)(param_1 + -2) = uVar1; uVar1 = SELECTOBJECT(0x1228,*(undefined2 *)(param_1 + -8)); *(undefined2 *)(param_1 + -4) = uVar1; BITBLT(0x1228,0x20,0xcc,*(undefined2 *)(param_1 + -0x22),*(undefined2 *)(param_1 + -0x20), *(undefined2 *)(param_1 + -0xe),*(undefined2 *)(param_1 + -0x2a), *(undefined2 *)(param_1 + -0x28),0,0); SELECTOBJECT(0x1228,*(undefined2 *)((int)*(undefined4 *)(param_1 + 6) + 0x54)); BITBLT(0x1228,0xc6,0x88,0,0,*(undefined2 *)(param_1 + -0xe),0x13,0x13, *(undefined2 *)(param_1 + -0x1e),*(undefined2 *)(param_1 + -0x1c)); SELECTOBJECT(0x1228,*(undefined2 *)((int)*(undefined4 *)(param_1 + 6) + 0x52)); BITBLT(0x1228,0x86,0xee,0,0,*(undefined2 *)(param_1 + -0xe),0x13,0x13, *(undefined2 *)(param_1 + -0x1e),*(undefined2 *)(param_1 + -0x1c)); if (0x1ba < *(int *)(param_1 + -0x22) + *(int *)(param_1 + -0x2a)) { if (*(int *)(param_1 + -0x22) < 0x1bb) { *(int *)(param_1 + -0x2a) = 0x1bb - *(int *)(param_1 + -0x22); } else { *(undefined2 *)(param_1 + -0x2a) = 0; } } uVar1 = *(undefined2 *)(param_1 + -0xc); BITBLT(0x1228,0x20,0xcc,0,0,*(undefined2 *)(param_1 + -0x10),*(undefined2 *)(param_1 + -0x2a), *(undefined2 *)(param_1 + -0x28),*(undefined2 *)(param_1 + -0x22), *(undefined2 *)(param_1 + -0x20)); uVar2 = *(undefined2 *)(param_1 + -0xe); SELECTOBJECT(0x1228,*(undefined2 *)(param_1 + -2)); uVar7 = *(undefined2 *)(param_1 + -0x10); SELECTOBJECT(0x1228,*(undefined2 *)(param_1 + -4)); uVar6 = *(undefined2 *)(param_1 + -0x12); SELECTOBJECT(0x1228,*(undefined2 *)(param_1 + -6)); DELETEOBJECT(0x1228,*(undefined2 *)(param_1 + -8),uVar6,uVar7,uVar2,uVar1); DELETEDC(0x1228,*(undefined2 *)(param_1 + -0xe)); DELETEDC(0x1228,*(undefined2 *)(param_1 + -0x10)); DELETEDC(0x1228,*(undefined2 *)(param_1 + -0x12)); RELEASEDC(0x1228,*(undefined2 *)(param_1 + -0xc)); return; } /* ===== 1000:9e85 FUN_1000_9e85 ===== */ void __stdcall16far FUN_1000_9e85(int param_1) { int iVar1; undefined2 uVar2; undefined2 unaff_SS; if ((((DAT_1028_3371 != 0) && (DAT_1028_33c4 != 0)) && (DAT_1028_3417 != 0)) && ((DAT_1028_346a != 0 && (DAT_1028_34bd != 0)))) { DAT_1028_0851 = 0; DAT_1028_0853 = 0; DAT_1028_07c8 = 1; *(undefined1 *)((int)*(undefined4 *)(param_1 + 6) + 0xbdd) = 0; } DAT_1028_07c6 = 0; uVar2 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10); iVar1 = (int)*(undefined4 *)(param_1 + 6); *(undefined2 *)(iVar1 + 0x5e) = 0; DAT_1028_07d3 = 0xf588; DAT_1028_07d5 = 4; DAT_1028_07d7 = 0x4d48; DAT_1028_07d9 = 6; *(undefined2 *)(iVar1 + 0xbba) = 0xf588; *(undefined2 *)(iVar1 + 0xbbc) = 4; *(undefined2 *)(iVar1 + 0xbbe) = 0x4d48; *(undefined2 *)(iVar1 + 0xbc0) = 6; *(undefined2 *)(iVar1 + 0xbc2) = 0xf588; *(undefined2 *)(iVar1 + 0xbc4) = 4; *(undefined2 *)(iVar1 + 0xbc6) = 0x4d48; *(undefined2 *)(iVar1 + 0xbc8) = 6; *(undefined2 *)(iVar1 + 0xbae) = 0; *(undefined2 *)(iVar1 + 0xbb0) = 0; *(undefined2 *)(iVar1 + 0xbaa) = 0; *(undefined2 *)(iVar1 + 0xbac) = 0; *(undefined2 *)(iVar1 + 0xbce) = 0; *(undefined2 *)(iVar1 + 0xbd0) = 0; *(undefined2 *)(iVar1 + 0xbd2) = 0; *(undefined2 *)(iVar1 + 0xbca) = 0; *(undefined2 *)(iVar1 + 0xbcc) = 0; *(undefined1 *)(iVar1 + 0xbdd) = 0; FUN_1000_9bca(param_1); return; } /* ===== 1000:9f73 FUN_1000_9f73 ===== */ void __stdcall16far FUN_1000_9f73(int param_1) { undefined2 uVar1; undefined2 uVar2; uint uVar3; int iVar4; int iVar5; undefined2 unaff_CS; undefined2 unaff_SS; undefined2 uVar6; undefined2 uVar7; uVar1 = *(undefined2 *)((int)*(undefined4 *)(param_1 + 6) + 4); GETCLIENTRECT(unaff_CS,param_1 + -0x1a,unaff_SS); uVar1 = GETDC(0x1228,*(undefined2 *)((int)*(undefined4 *)(param_1 + 6) + 4),uVar1); *(undefined2 *)(param_1 + -0xc) = uVar1; uVar1 = CREATECOMPATIBLEDC(0x1228,*(undefined2 *)(param_1 + -0xc)); *(undefined2 *)(param_1 + -0xe) = uVar1; uVar1 = CREATECOMPATIBLEDC(0x1228,*(undefined2 *)(param_1 + -0xc)); *(undefined2 *)(param_1 + -0x10) = uVar1; uVar1 = CREATECOMPATIBLEDC(0x1228,*(undefined2 *)(param_1 + -0xc)); *(undefined2 *)(param_1 + -0x12) = uVar1; uVar1 = *(undefined2 *)(param_1 + -0xc); uVar2 = CREATECOMPATIBLEBITMAP(0x1228,100,100); *(undefined2 *)(param_1 + -8) = uVar2; iVar4 = DAT_1028_07d5 + (uint)(0xfe0b < DAT_1028_07d3); uVar3 = FUN_1020_08e6(uVar1); uVar1 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10); iVar5 = (int)*(undefined4 *)(param_1 + 6); *(int *)(iVar5 + 0xba2) = uVar3 - 8; *(int *)(iVar5 + 0xba4) = iVar4 - (uint)(uVar3 < 8); iVar4 = DAT_1028_07d9 + (uint)(0xfe0b < DAT_1028_07d7); uVar3 = FUN_1020_08e6(); uVar1 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10); iVar5 = (int)*(undefined4 *)(param_1 + 6); *(int *)(iVar5 + 0xba6) = uVar3 - 8; *(int *)(iVar5 + 0xba8) = iVar4 - (uint)(uVar3 < 8); iVar4 = (DAT_1028_07d5 - *(int *)(iVar5 + 0xbc4)) - (uint)(DAT_1028_07d3 < *(uint *)(iVar5 + 0xbc2)); uVar1 = FUN_1020_08e6(); uVar2 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10); iVar5 = (int)*(undefined4 *)(param_1 + 6); *(undefined2 *)(iVar5 + 0xbb2) = uVar1; *(int *)(iVar5 + 0xbb4) = iVar4; iVar4 = (DAT_1028_07d9 - *(int *)(iVar5 + 0xbc8)) - (uint)(DAT_1028_07d7 < *(uint *)(iVar5 + 0xbc6)); uVar1 = FUN_1020_08e6(); uVar2 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10); iVar5 = (int)*(undefined4 *)(param_1 + 6); *(undefined2 *)(iVar5 + 0xbb6) = uVar1; *(int *)(iVar5 + 3000) = iVar4; if ((*(int *)(iVar5 + 0xbb4) < 1) && ((*(int *)(iVar5 + 0xbb4) < 0 || (*(int *)(iVar5 + 0xbb2) == 0)))) { *(int *)(param_1 + -0x20) = *(int *)((int)*(undefined4 *)(param_1 + 6) + 0xba2) + -1; *(undefined2 *)(param_1 + -0x1c) = 1; } else { uVar1 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10); iVar4 = (int)*(undefined4 *)(param_1 + 6); *(int *)(param_1 + -0x20) = (*(int *)(iVar4 + 0xba2) - *(int *)(iVar4 + 0xbb2)) + -1; *(int *)(param_1 + -0x1c) = *(int *)((int)*(undefined4 *)(param_1 + 6) + 0xbb2) + 1; } uVar1 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10); iVar5 = (int)*(undefined4 *)(param_1 + 6); iVar4 = *(int *)(iVar5 + 3000); if ((iVar4 < 1) && ((iVar4 < 0 || (*(int *)(iVar5 + 0xbb6) == 0)))) { *(int *)(param_1 + -0x22) = *(int *)((int)*(undefined4 *)(param_1 + 6) + 0xba6) + -1; *(undefined2 *)(param_1 + -0x1e) = 1; } else { uVar1 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10); iVar4 = (int)*(undefined4 *)(param_1 + 6); *(int *)(param_1 + -0x22) = (*(int *)(iVar4 + 0xba6) - *(int *)(iVar4 + 0xbb6)) + -1; *(int *)(param_1 + -0x1e) = *(int *)((int)*(undefined4 *)(param_1 + 6) + 0xbb6) + 1; } uVar1 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10); iVar5 = (int)*(undefined4 *)(param_1 + 6); iVar4 = *(int *)(iVar5 + 0xbb2); if (*(int *)(iVar5 + 0xbb4) < 0) { iVar4 = -iVar4; } *(int *)(param_1 + -0x28) = iVar4 + 0x13; uVar1 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10); iVar5 = (int)*(undefined4 *)(param_1 + 6); iVar4 = *(int *)(iVar5 + 0xbb6); if (*(int *)(iVar5 + 3000) < 0) { iVar4 = -iVar4; } *(int *)(param_1 + -0x2a) = iVar4 + 0x13; uVar1 = SELECTOBJECT(0x1020,DAT_1028_085b); *(undefined2 *)(param_1 + -2) = uVar1; uVar1 = SELECTOBJECT(0x1228,*(undefined2 *)(param_1 + -8)); *(undefined2 *)(param_1 + -4) = uVar1; BITBLT(0x1228,0x20,0xcc,*(undefined2 *)(param_1 + -0x22),*(undefined2 *)(param_1 + -0x20), *(undefined2 *)(param_1 + -0xe),*(undefined2 *)(param_1 + -0x2a), *(undefined2 *)(param_1 + -0x28),0,0); SELECTOBJECT(0x1228,*(undefined2 *)((int)*(undefined4 *)(param_1 + 6) + 0x54)); BITBLT(0x1228,0xc6,0x88,0,0,*(undefined2 *)(param_1 + -0xe),0x13,0x13, *(undefined2 *)(param_1 + -0x1e),*(undefined2 *)(param_1 + -0x1c)); SELECTOBJECT(0x1228,*(undefined2 *)((int)*(undefined4 *)(param_1 + 6) + 0x52)); BITBLT(0x1228,0x86,0xee,0,0,*(undefined2 *)(param_1 + -0xe),0x13,0x13, *(undefined2 *)(param_1 + -0x1e),*(undefined2 *)(param_1 + -0x1c)); if (0x1ba < *(int *)(param_1 + -0x22) + *(int *)(param_1 + -0x2a)) { if (*(int *)(param_1 + -0x22) < 0x1bb) { *(int *)(param_1 + -0x2a) = 0x1bb - *(int *)(param_1 + -0x22); } else { *(undefined2 *)(param_1 + -0x2a) = 0; } } uVar1 = *(undefined2 *)(param_1 + -0xc); BITBLT(0x1228,0x20,0xcc,0,0,*(undefined2 *)(param_1 + -0x10),*(undefined2 *)(param_1 + -0x2a), *(undefined2 *)(param_1 + -0x28),*(undefined2 *)(param_1 + -0x22), *(undefined2 *)(param_1 + -0x20)); uVar2 = *(undefined2 *)(param_1 + -0xe); SELECTOBJECT(0x1228,*(undefined2 *)(param_1 + -2)); uVar7 = *(undefined2 *)(param_1 + -0x10); SELECTOBJECT(0x1228,*(undefined2 *)(param_1 + -4)); uVar6 = *(undefined2 *)(param_1 + -0x12); SELECTOBJECT(0x1228,*(undefined2 *)(param_1 + -6)); DELETEOBJECT(0x1228,*(undefined2 *)(param_1 + -8),uVar6,uVar7,uVar2,uVar1); DELETEDC(0x1228,*(undefined2 *)(param_1 + -0xe)); DELETEDC(0x1228,*(undefined2 *)(param_1 + -0x10)); DELETEDC(0x1228,*(undefined2 *)(param_1 + -0x12)); RELEASEDC(0x1228,*(undefined2 *)(param_1 + -0xc)); return; } /* ===== 1000:a38e FUN_1000_a38e ===== */ void __stdcall16far FUN_1000_a38e(int param_1,char param_2) { undefined2 uVar1; undefined2 uVar2; uint uVar3; int iVar4; int iVar5; undefined2 unaff_CS; undefined2 unaff_SS; undefined2 uVar6; uVar1 = *(undefined2 *)((int)*(undefined4 *)(param_1 + 6) + 4); GETCLIENTRECT(unaff_CS,param_1 + -0x1a,unaff_SS); uVar1 = GETDC(0x1228,*(undefined2 *)((int)*(undefined4 *)(param_1 + 6) + 4),uVar1); *(undefined2 *)(param_1 + -0xc) = uVar1; uVar1 = CREATECOMPATIBLEDC(0x1228,*(undefined2 *)(param_1 + -0xc)); *(undefined2 *)(param_1 + -0xe) = uVar1; uVar1 = CREATECOMPATIBLEDC(0x1228,*(undefined2 *)(param_1 + -0xc)); *(undefined2 *)(param_1 + -0x10) = uVar1; uVar1 = CREATECOMPATIBLEDC(0x1228,*(undefined2 *)(param_1 + -0xc)); *(undefined2 *)(param_1 + -0x12) = uVar1; uVar1 = *(undefined2 *)(param_1 + -0xc); uVar2 = CREATECOMPATIBLEBITMAP(0x1228,100,100); *(undefined2 *)(param_1 + -8) = uVar2; uVar2 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10); iVar4 = (int)*(undefined4 *)(param_1 + 6); iVar4 = *(int *)(iVar4 + 0xbc4) + (uint)(0xfe0b < *(uint *)(iVar4 + 0xbc2)); uVar3 = FUN_1020_08e6(uVar1); uVar1 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10); iVar5 = (int)*(undefined4 *)(param_1 + 6); *(int *)(iVar5 + 0xba2) = uVar3 - 8; *(int *)(iVar5 + 0xba4) = iVar4 - (uint)(uVar3 < 8); iVar4 = *(int *)(iVar5 + 0xbc8) + (uint)(0xfe0b < *(uint *)(iVar5 + 0xbc6)); uVar3 = FUN_1020_08e6(); uVar1 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10); iVar5 = (int)*(undefined4 *)(param_1 + 6); *(int *)(iVar5 + 0xba6) = uVar3 - 8; *(int *)(iVar5 + 0xba8) = iVar4 - (uint)(uVar3 < 8); *(int *)(param_1 + -0x20) = *(int *)(iVar5 + 0xba2) + -1; *(undefined2 *)(param_1 + -0x1c) = 1; *(int *)(param_1 + -0x22) = *(int *)((int)*(undefined4 *)(param_1 + 6) + 0xba6) + -1; *(undefined2 *)(param_1 + -0x1e) = 1; *(undefined2 *)(param_1 + -0x28) = 0x13; *(undefined2 *)(param_1 + -0x2a) = 0x13; uVar1 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10); iVar4 = (int)*(undefined4 *)(param_1 + 6); *(undefined2 *)(iVar4 + 0xbaa) = 0; *(undefined2 *)(iVar4 + 0xbac) = 0; *(undefined2 *)(iVar4 + 0xbae) = 0; *(undefined2 *)(iVar4 + 0xbb0) = 0; uVar1 = SELECTOBJECT(0x1020,DAT_1028_085b); *(undefined2 *)(param_1 + -2) = uVar1; uVar1 = SELECTOBJECT(0x1228,*(undefined2 *)(param_1 + -8)); *(undefined2 *)(param_1 + -4) = uVar1; BITBLT(0x1228,0x20,0xcc,*(undefined2 *)(param_1 + -0x22),*(undefined2 *)(param_1 + -0x20), *(undefined2 *)(param_1 + -0xe),*(undefined2 *)(param_1 + -0x2a), *(undefined2 *)(param_1 + -0x28),0,0); if (0x1ba < *(int *)(param_1 + -0x22) + *(int *)(param_1 + -0x2a)) { if (*(int *)(param_1 + -0x22) < 0x1bb) { *(int *)(param_1 + -0x2a) = 0x1bb - *(int *)(param_1 + -0x22); } else { *(undefined2 *)(param_1 + -0x2a) = 0; } } if (param_2 == '\0') { BITBLT(0x1228,0x20,0xcc,0,0,*(undefined2 *)(param_1 + -0x10),*(undefined2 *)(param_1 + -0x2a), *(undefined2 *)(param_1 + -0x28),*(undefined2 *)(param_1 + -0x22), *(undefined2 *)(param_1 + -0x20)); } uVar1 = *(undefined2 *)(param_1 + -0xe); SELECTOBJECT(0x1228,*(undefined2 *)(param_1 + -2)); uVar2 = *(undefined2 *)(param_1 + -0x10); SELECTOBJECT(0x1228,*(undefined2 *)(param_1 + -4)); uVar6 = *(undefined2 *)(param_1 + -0x12); SELECTOBJECT(0x1228,*(undefined2 *)(param_1 + -6)); DELETEOBJECT(0x1228,*(undefined2 *)(param_1 + -8),uVar6,uVar2,uVar1); DELETEDC(0x1228,*(undefined2 *)(param_1 + -0xe)); DELETEDC(0x1228,*(undefined2 *)(param_1 + -0x10)); DELETEDC(0x1228,*(undefined2 *)(param_1 + -0x12)); RELEASEDC(0x1228,*(undefined2 *)(param_1 + -0xc)); return; } /* ===== 1000:a604 FUN_1000_a604 ===== */ void __stdcall16far FUN_1000_a604(int param_1) { uint uVar1; undefined2 uVar2; int iVar3; int iVar4; int iVar5; int iVar6; int iVar7; undefined2 unaff_SS; bool bVar8; undefined2 uVar9; uint local_16; int local_14; uVar9 = *(undefined2 *)((int)*(undefined4 *)(param_1 + 6) + 4); uVar2 = GETDC(); local_16 = 1; local_14 = 0; while( true ) { iVar3 = FUN_1020_08a9(uVar9,uVar2); iVar4 = iVar3 + 0x187; iVar3 = iVar3 + 0x18b; iVar5 = (DAT_1028_07d1 - 1) * 0x2c; iVar6 = iVar5 + 0x12a; iVar5 = iVar5 + 0x12e; uVar1 = *(uint *)((uint)DAT_1028_07d1 * 2 + 0x81f); iVar7 = (int)uVar1 >> 0xf; if ((local_14 < iVar7) || ((local_14 <= iVar7 && (local_16 <= uVar1)))) { FUN_1008_0837((iVar5 - iVar6) + 1,(iVar3 - iVar4) + 1,iVar6,iVar4,uVar2); } else { FUN_1008_08bb((iVar5 - iVar6) + 1,(iVar3 - iVar4) + 1,iVar6,iVar4,uVar2); } FUN_1008_093f((iVar5 - iVar6) + 1,(iVar3 - iVar4) + 1,iVar6,iVar4,uVar2); if ((local_14 == 0) && (local_16 == 6)) break; bVar8 = 0xfffe < local_16; local_16 = local_16 + 1; local_14 = local_14 + (uint)bVar8; } RELEASEDC(0x1008,uVar2); return; } /* ===== 1000:a70e FUN_1000_a70e ===== */ void __stdcall16far FUN_1000_a70e(int param_1) { undefined2 unaff_SS; DAT_1028_07d0 = 0; *(undefined1 *)((int)*(undefined4 *)(param_1 + 6) + 0xbde) = 1; DAT_1028_07c9 = 1; return; } /* ===== 1000:a72c FUN_1000_a72c ===== */ void __stdcall16far FUN_1000_a72c(int param_1) { undefined2 unaff_SS; byte local_4; byte local_3; local_3 = 1; while( true ) { FUN_1000_7e12(param_1,local_3); for (local_4 = 1; *(undefined2 *) ((int)*(undefined4 *)(param_1 + 6) + (uint)local_4 * 0x15e + (uint)local_3 * 2 + 0x36c) = *(undefined2 *)((uint)local_3 * 0x53 + 0x99e), local_4 != 4; local_4 = local_4 + 1) { } if (local_3 == 0xaf) break; local_3 = local_3 + 1; } for (local_3 = 1; FUN_1000_b3f3(param_1,local_3 + 1000), local_3 != 5; local_3 = local_3 + 1) { } FUN_1000_bda2(param_1,0,0); DAT_1028_0874 = 0; local_3 = 1; while( true ) { if (local_3 <= DAT_1028_07d0) { DAT_1028_07d1 = local_3; *(undefined2 *)((uint)local_3 * 4 + 0x97e) = 0; *(undefined2 *)((uint)local_3 * 4 + 0x980) = 0; *(undefined2 *)((uint)local_3 * 4 + 0x98e) = 0; *(undefined2 *)((uint)local_3 * 4 + 0x990) = 0; *(undefined1 *)(local_3 + 0x9a1) = 1; *(undefined2 *)((uint)local_3 * 2 + 0x9a4) = 0; FUN_1000_bc36(param_1,0,0); *(undefined1 *)(local_3 + 0x816) = 1; if (local_3 < 2) { *(undefined2 *)((uint)local_3 * 2 + 0x81f) = 2; } else { *(undefined2 *)((uint)local_3 * 2 + 0x81f) = 3; } FUN_1000_a604(param_1); *(undefined2 *)((uint)local_3 * 4 + 0x835) = 1; *(undefined2 *)((uint)local_3 * 4 + 0x837) = 0; *(undefined1 *)(local_3 + 0x81a) = 1; for (local_4 = 1; *(undefined1 *) ((int)*(undefined4 *)(param_1 + 6) + (uint)local_3 * 0x14 + (uint)local_4 + 0x467) = 0, local_4 != 0x14; local_4 = local_4 + 1) { } } if (local_3 == 4) break; local_3 = local_3 + 1; } DAT_1028_07d1 = 1; DAT_1028_07d2 = 0; for (local_4 = '\x01'; FUN_1000_7e92(param_1,local_4), local_4 != '\x14'; local_4 = local_4 + '\x01') { } return; } /* ===== 1000:a8ea FUN_1000_a8ea ===== */ void __stdcall16far FUN_1000_a8ea(void) { uint uVar1; int iVar2; void *unaff_SS; ushort in_stack_0000fef6; uint auStack_32 [22]; ushort local_6; int local_4; local_6 = _LCREAT((char *)0x3120000,0x1028); if (local_6 != 0xffff) { FUN_1020_16c9(); local_4 = 1; while( true ) { iVar2 = local_4; uVar1 = *(uint *)(local_4 * 4 + 0x87c); auStack_32[local_4 * 2] = *(uint *)(local_4 * 4 + 0x87a) ^ s_IWIKTDK_Highscores_1028_0010._0_2_; auStack_32[iVar2 * 2 + 1] = uVar1 ^ s_IWIKTDK_Highscores_1028_0010._2_2_; FUN_1008_2ee5(); if (local_4 == 10) break; local_4 = local_4 + 1; } _LWRITE(0x10,(void *)CONCAT22(local_6,(void *)0x1028),in_stack_0000fef6); _LWRITE(0x28,(void *)CONCAT22(local_6,unaff_SS),in_stack_0000fef6); _LWRITE(0xdc,(void *)CONCAT22(local_6,unaff_SS),in_stack_0000fef6); _LCLOSE(local_6); } return; } /* ===== 1000:a99c FUN_1000_a99c ===== */ void __stdcall16far FUN_1000_a99c(void) { undefined2 uVar1; uint uVar2; undefined2 uVar3; void *unaff_SS; undefined1 uVar4; undefined1 *puVar5; void *pvVar6; undefined1 *puVar7; void *pvVar8; ushort in_stack_0000fdc0; undefined1 local_13f [252]; uint auStack_43 [22]; undefined1 local_17 [16]; char local_7; ushort local_6; int local_4; local_7 = '\0'; local_6 = _LOPEN((char *)0x3200000,0x1028); if (local_6 == 0xffff) { local_6 = _LOPEN((char *)0x3200040,0x1028); } uVar4 = local_6 == 0xffff; if (!(bool)uVar4) { _LREAD(0x10,(void *)CONCAT22(local_6,unaff_SS),in_stack_0000fdc0); puVar7 = local_13f; pvVar8 = unaff_SS; FUN_1020_0b00(0x10,local_17,unaff_SS); puVar5 = &stack0xfdc1; pvVar6 = unaff_SS; FUN_1020_0b00(0x10,0x14,0x1028); FUN_1020_0ac3(puVar5,pvVar6,puVar7,pvVar8); if ((bool)uVar4) { local_7 = '\x01'; _LREAD(0x28,(void *)CONCAT22(local_6,unaff_SS),in_stack_0000fdc0); _LREAD(0xdc,(void *)CONCAT22(local_6,(void *)0x1028),in_stack_0000fdc0); local_4 = 1; while( true ) { uVar2 = auStack_43[local_4 * 2 + 1] ^ s_IWIKTDK_Highscores_1028_0010._2_2_; *(uint *)(local_4 * 4 + 0x87a) = auStack_43[local_4 * 2] ^ s_IWIKTDK_Highscores_1028_0010._0_2_; *(uint *)(local_4 * 4 + 0x87c) = uVar2; if (local_4 == 10) break; local_4 = local_4 + 1; } } _LCLOSE(local_6); } if (local_7 == '\0') { local_4 = 1; while( true ) { uVar3 = 0; uVar1 = FUN_1020_08a9(); *(undefined2 *)(local_4 * 4 + 0x87a) = uVar1; *(undefined2 *)(local_4 * 4 + 0x87c) = uVar3; if (local_4 == 10) break; local_4 = local_4 + 1; } FUN_1008_2ee5(0x32d,0x1028,0x8a6,0x1028); FUN_1008_2ee5(0x32d,0x1028,0x8bc,0x1028); FUN_1008_2ee5(0x32d,0x1028,0x8d2,0x1028); FUN_1008_2ee5(0x32d,0x1028,0x8e8,0x1028); FUN_1008_2ee5(0x32d,0x1028,0x8fe,0x1028); FUN_1008_2ee5(0x32d,0x1028,0x914,0x1028); FUN_1008_2ee5(0x32d,0x1028,0x92a,0x1028); FUN_1008_2ee5(0x32d,0x1028,0x940,0x1028); FUN_1008_2ee5(0x32d,0x1028,0x956,0x1028); FUN_1008_2ee5(0x32d,0x1028,0x96c,0x1028); } return; } /* ===== 1000:ab3c FUN_1000_ab3c ===== */ void __stdcall16far FUN_1000_ab3c(int param_1) { int iVar1; undefined2 uVar2; undefined2 unaff_SS; undefined4 uVar3; if (DAT_1028_07d2 != 0) { FUN_1008_2ee5(0x336,0x1028,(uint)DAT_1028_07d2 * 0x16 + 0x890,0x1028); uVar3 = FUN_1008_1607(0,0,0x1ce,0x16,(uint)DAT_1028_07d2 * 0x16 + 0x890,0x1028,0x373,0x1028, 0x349,0x1028,(int)*(undefined4 *)(param_1 + 6), (int)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10)); (*(code *)*(undefined2 *)(*DAT_1028_064e + 0x38)) (0x1008,(int *)DAT_1028_064e,(int)((ulong)DAT_1028_064e >> 0x10),uVar3); } uVar3 = FUN_1000_5aea(0,0,0x10e,0x38b,0x1028,(int)*(undefined4 *)(param_1 + 6), (int)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10)); uVar3 = (*(code *)*(undefined2 *)(*DAT_1028_064e + 0x34)) (0x1000,(int *)DAT_1028_064e,(int)((ulong)DAT_1028_064e >> 0x10),uVar3); uVar2 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10); iVar1 = (int)*(undefined4 *)(param_1 + 6); *(undefined2 *)(iVar1 + 0x41) = (int)uVar3; *(undefined2 *)(iVar1 + 0x43) = (int)((ulong)uVar3 >> 0x10); FUN_1018_0e9e((int)*(undefined4 *)(iVar1 + 0x41), (int)((ulong)*(undefined4 *)(iVar1 + 0x41) >> 0x10),1); return; } /* ===== 1000:abe5 FUN_1000_abe5 ===== */ void __stdcall16far FUN_1000_abe5(undefined2 param_1) { int iVar1; undefined2 uVar2; int iVar3; uint local_8; int local_6; local_6 = 1; while( true ) { iVar3 = *(int *)((uint)DAT_1028_07d1 * 4 + 0x980); iVar1 = *(int *)(local_6 * 4 + 0x87c); if ((iVar1 < iVar3) || ((iVar1 <= iVar3 && (*(uint *)(local_6 * 4 + 0x87a) < *(uint *)((uint)DAT_1028_07d1 * 4 + 0x97e))))) break; if (local_6 == 10) { return; } local_6 = local_6 + 1; } if (local_6 + 1U < 0xb) { local_8 = 10; while( true ) { iVar3 = (local_8 - 1) * 4; uVar2 = *(undefined2 *)(iVar3 + 0x87c); *(undefined2 *)(local_8 * 4 + 0x87a) = *(undefined2 *)(iVar3 + 0x87a); *(undefined2 *)(local_8 * 4 + 0x87c) = uVar2; FUN_1020_0891(0x16,local_8 * 0x16 + 0x890,0x1028,(local_8 - 1) * 0x16 + 0x890,0x1028); if (local_8 == local_6 + 1U) break; local_8 = local_8 - 1; } } uVar2 = *(undefined2 *)((uint)DAT_1028_07d1 * 4 + 0x980); *(undefined2 *)(local_6 * 4 + 0x87a) = *(undefined2 *)((uint)DAT_1028_07d1 * 4 + 0x97e); *(undefined2 *)(local_6 * 4 + 0x87c) = uVar2; DAT_1028_07d2 = (undefined1)local_6; FUN_1000_ab3c(param_1); FUN_1000_a8ea(param_1); return; } /* ===== 1000:acc2 FUN_1000_acc2 ===== */ void __stdcall16far FUN_1000_acc2(undefined2 param_1) { byte bVar1; byte bVar2; undefined2 uVar3; undefined2 uVar4; undefined2 uVar5; undefined1 local_14c; uVar5 = 0x1228; uVar3 = GETDC(); bVar2 = DAT_1028_07d1; bVar1 = DAT_1028_07d0; if (DAT_1028_07d0 != 0) { local_14c = 1; while( true ) { FUN_1008_0837(0x1f,0x8b,(local_14c - 1) * 0x2c + 0x114,0x1d8,uVar3); FUN_1008_093f(0x1f,0x8b,(local_14c - 1) * 0x2c + 0x114,0x1d8,uVar3); DAT_1028_07d1 = local_14c; if (local_14c == bVar2) { FUN_1000_bc36(param_1,0,0); uVar5 = *(undefined2 *)((uint)local_14c * 4 + 0x990); uVar4 = FUN_1020_08a9(); FUN_1000_bda2(param_1,uVar4,uVar5); FUN_1000_0002(*(undefined2 *)((uint)local_14c * 2 + 0x9a4),uVar3); FUN_1008_093f(0x7b,0x2a,0x4f,0x37,uVar3); FUN_1008_0837(0xb,0xb,(local_14c - 1) * 0x2c + 0x118,0x174,uVar3); FUN_1008_093f(0xb,0xb,(local_14c - 1) * 0x2c + 0x118,0x174,uVar3); } else { FUN_1000_bc36(param_1,0xffff,0xffff); FUN_1008_08bb(0xb,0xb,(local_14c - 1) * 0x2c + 0x118,0x174,uVar3); FUN_1008_093f(0xb,0xb,(local_14c - 1) * 0x2c + 0x118,0x174,uVar3); } uVar5 = 0x1008; if (local_14c == bVar1) break; local_14c = local_14c + 1; } } DAT_1028_07d1 = bVar2; RELEASEDC(uVar5,uVar3); return; } /* ===== 1000:ae6e FUN_1000_ae6e ===== */ void __stdcall16far FUN_1000_ae6e(int param_1) { byte bVar1; uint uVar2; undefined1 extraout_AH; int iVar3; int iVar4; undefined2 uVar5; undefined2 uVar6; undefined2 uVar7; undefined2 unaff_SS; int local_9; byte local_4; if ((DAT_1028_0874 == '\0') && (DAT_1028_399a != 0)) { DAT_1028_0874 = '\0'; FUN_1000_a38e(param_1,0); uVar7 = DAT_1028_396b; DAT_1028_07d3 = DAT_1028_3969; DAT_1028_07d5 = DAT_1028_396b; DAT_1028_07d7 = DAT_1028_396d; DAT_1028_07d9 = DAT_1028_396f; uVar5 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10); iVar3 = (int)*(undefined4 *)(param_1 + 6); *(undefined2 *)(iVar3 + 0xbc2) = DAT_1028_3969; *(undefined2 *)(iVar3 + 0xbc4) = uVar7; uVar7 = DAT_1028_07d9; *(undefined2 *)(iVar3 + 0xbc6) = DAT_1028_07d7; *(undefined2 *)(iVar3 + 0xbc8) = uVar7; *(undefined1 *)(iVar3 + (uint)DAT_1028_07d1 * 0x14 + 0x47b) = 0; FUN_1000_b3f3(param_1,0x3fc); FUN_1000_bdde(param_1,1,0); uVar7 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10); iVar3 = (int)*(undefined4 *)(param_1 + 6); *(undefined2 *)(iVar3 + 0xbaa) = 0; *(undefined2 *)(iVar3 + 0xbac) = 0; uVar7 = *(undefined2 *)(iVar3 + 0x58); FUN_1020_100b(); FUN_1020_0ff7(); uVar5 = FUN_1020_1017(); uVar6 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10); iVar3 = (int)*(undefined4 *)(param_1 + 6); *(undefined2 *)(iVar3 + 0xbae) = uVar5; *(undefined2 *)(iVar3 + 0xbb0) = uVar7; *(undefined2 *)(iVar3 + 0xbca) = 0; *(undefined2 *)(iVar3 + 0xbcc) = 0; *(undefined2 *)(iVar3 + 0xbce) = 0; *(undefined2 *)(iVar3 + 0xbd0) = 0; *(undefined2 *)(iVar3 + 0xbd2) = 0; DAT_1028_399a = 0; DAT_1028_0875 = 1; DAT_1028_41f9 = 1; *(undefined1 *)(iVar3 + 0x61) = 1; } else { DAT_1028_0875 = 0; FUN_1008_0002(8); iVar3 = param_1; FUN_1000_a38e(param_1,0); if (DAT_1028_0874 == '\0') { *(undefined1 *)((int)*(undefined4 *)(param_1 + 6) + 0xbdd) = 0; } *(undefined1 *)((int)*(undefined4 *)(param_1 + 6) + 0xbdc) = 0; if (*(int *)((uint)DAT_1028_07d1 * 2 + 0x81f) == 0) { uVar7 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10); iVar3 = (int)*(undefined4 *)(param_1 + 6); *(undefined1 *)(iVar3 + 0xbda) = 0; *(undefined1 *)(iVar3 + 0xbdb) = 0; FUN_1000_a99c(param_1); iVar3 = 0x1000; FUN_1000_abe5(param_1); } uVar7 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10); iVar4 = (int)*(undefined4 *)(param_1 + 6); *(undefined2 *)(iVar4 + 0xbce) = 0; *(undefined2 *)(iVar4 + 0xbd0) = 0; *(undefined2 *)(iVar4 + 0xbd2) = 0; local_4 = 1; while( true ) { *(undefined1 *) ((int)*(undefined4 *)(param_1 + 6) + (uint)DAT_1028_07d1 * 0xaf + (uint)local_4 + 0x61) = *(undefined1 *)((uint)local_4 * 0x53 + 0x98f); *(undefined2 *) ((int)*(undefined4 *)(param_1 + 6) + (uint)DAT_1028_07d1 * 0x15e + (uint)local_4 * 2 + 0x36c) = *(undefined2 *)((uint)local_4 * 0x53 + 0x99e); bVar1 = DAT_1028_07d1; if (local_4 == 0xaf) break; local_4 = local_4 + 1; } do { uVar2 = (uint)DAT_1028_07d1 % (uint)DAT_1028_07d0 + 1; DAT_1028_07d1 = (byte)uVar2; if (0 < *(int *)((uVar2 & 0xff) * 2 + 0x81f)) break; } while (DAT_1028_07d1 != bVar1); if (*(int *)((uVar2 & 0xff) * 2 + 0x81f) < 1) { DAT_1028_07d1 = 0; FUN_1000_a70e(param_1); if (DAT_1028_07d2 == '\0') { uVar7 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10); iVar3 = (int)*(undefined4 *)(param_1 + 6); *(undefined1 *)(iVar3 + 0xbda) = 0; *(undefined1 *)(iVar3 + 0xbdb) = 0; FUN_1000_ab3c(param_1); } } else { local_4 = 1; while( true ) { *(undefined1 *)((uint)local_4 * 0x53 + 0x98f) = *(undefined1 *) ((int)*(undefined4 *)(param_1 + 6) + (uint)DAT_1028_07d1 * 0xaf + (uint)local_4 + 0x61 ); *(undefined2 *)((uint)local_4 * 0x53 + 0x99e) = *(undefined2 *) ((int)*(undefined4 *)(param_1 + 6) + (uint)DAT_1028_07d1 * 0x15e + (uint)local_4 * 2 + 0x36c); if (DAT_1028_07d1 != bVar1) { iVar3 = param_1; FUN_1000_7e12(param_1,local_4); } if (local_4 == 0xaf) break; local_4 = local_4 + 1; } local_4 = '\x01'; while( true ) { if (DAT_1028_07d1 != bVar1) { iVar3 = param_1; FUN_1000_7e92(param_1,local_4); } if (local_4 == '\x14') break; local_4 = local_4 + '\x01'; } local_4 = 2; while( true ) { if (local_4 <= *(byte *)(DAT_1028_07d1 + 0x816)) { iVar3 = param_1; FUN_1000_b30b(param_1,local_4 + 999); } if (local_4 == 6) break; local_4 = local_4 + 1; } if (DAT_1028_07d1 != bVar1) { local_9 = 0; local_4 = 1; while( true ) { if (*(char *)((int)*(undefined4 *)(param_1 + 6) + (uint)DAT_1028_07d1 * 0x14 + (uint)local_4 + 0x46c) != '\0') { local_9 = local_9 + 1; } if (local_4 == 9) break; local_4 = local_4 + 1; } uVar7 = GETDC(0x1000,*(undefined2 *)((int)*(undefined4 *)(param_1 + 6) + 4)); FUN_1008_0dbd(local_9,uVar7); FUN_1008_0b9e(CONCAT11(extraout_AH,DAT_1028_07d1),uVar7); iVar3 = *(int *)((int)*(undefined4 *)(param_1 + 6) + 4); RELEASEDC(0x1008,uVar7); } FUN_1000_acc2(param_1); *(int *)((uint)DAT_1028_07d1 * 2 + 0x81f) = *(int *)((uint)DAT_1028_07d1 * 2 + 0x81f) + -1; FUN_1000_9e85(param_1); uVar7 = GETDC(0x1000,*(undefined2 *)((int)*(undefined4 *)(param_1 + 6) + 4),iVar3); FUN_1008_08bb(0x14,0x94,0xf3,0x54,uVar7); FUN_1008_093f(0x14,0x94,0xf3,0x54,uVar7); RELEASEDC(0x1008,uVar7); FUN_1000_a604(param_1); } } return; } /* ===== 1000:b2c8 FUN_1000_b2c8 ===== */ void __stdcall16far FUN_1000_b2c8(undefined2 param_1,int param_2,int param_3,int param_4,int param_5,undefined2 param_6) { FUN_1008_0837((param_2 - param_4) + 1,(param_3 - param_5) + 1,param_4,param_5,param_6); FUN_1008_093f((param_2 - param_4) + 1,(param_3 - param_5) + 1,param_4,param_5,param_6); return; } /* ===== 1000:b30b FUN_1000_b30b ===== */ void __stdcall16far FUN_1000_b30b(undefined2 param_1,uint param_2) { undefined2 uVar1; int iVar2; undefined2 uVar3; uVar1 = GETDC(); if (param_2 < 0xb0) { iVar2 = param_2 * 0x53; uVar3 = 0x1000; FUN_1000_b2c8(&stack0xfffe,*(undefined2 *)(iVar2 + 0x9ac),*(undefined2 *)(iVar2 + 0x9aa), *(undefined2 *)(iVar2 + 0x9a8),*(undefined2 *)(iVar2 + 0x9a6),uVar1); } else if ((param_2 < 0x3ee) || (0x3f6 < param_2)) { iVar2 = (param_2 - 1000) * 8; uVar3 = 0x1000; FUN_1000_b2c8(&stack0xfffe,*(undefined2 *)(iVar2 + 0x4269),*(undefined2 *)(iVar2 + 16999), *(undefined2 *)(iVar2 + 0x4265),*(undefined2 *)(iVar2 + 0x4263),uVar1); } else { uVar3 = 0x1008; FUN_1008_0dbd(param_2 - 0x3ed,uVar1); } RELEASEDC(uVar3,uVar1); return; } /* ===== 1000:b3b0 FUN_1000_b3b0 ===== */ void __stdcall16far FUN_1000_b3b0(undefined2 param_1,int param_2,int param_3,int param_4,int param_5,undefined2 param_6) { FUN_1008_08bb((param_2 - param_4) + 1,(param_3 - param_5) + 1,param_4,param_5,param_6); FUN_1008_093f((param_2 - param_4) + 1,(param_3 - param_5) + 1,param_4,param_5,param_6); return; } /* ===== 1000:b3f3 FUN_1000_b3f3 ===== */ void __stdcall16far FUN_1000_b3f3(undefined2 param_1,uint param_2) { undefined2 uVar1; int iVar2; uVar1 = GETDC(); if (param_2 < 0xb0) { iVar2 = param_2 * 0x53; FUN_1000_b3b0(&stack0xfffe,*(undefined2 *)(iVar2 + 0x9ac),*(undefined2 *)(iVar2 + 0x9aa), *(undefined2 *)(iVar2 + 0x9a8),*(undefined2 *)(iVar2 + 0x9a6),uVar1); } else { iVar2 = (param_2 - 1000) * 8; FUN_1000_b3b0(&stack0xfffe,*(undefined2 *)(iVar2 + 0x4269),*(undefined2 *)(iVar2 + 16999), *(undefined2 *)(iVar2 + 0x4265),*(undefined2 *)(iVar2 + 0x4263),uVar1); } RELEASEDC(0x1000,uVar1); return; } /* ===== 1000:b476 FUN_1000_b476 ===== */ void __stdcall16far FUN_1000_b476(int param_1,uint param_2,uint param_3) { uint uVar1; bool bVar2; int iVar3; uint uVar4; undefined2 uVar5; int iVar6; undefined2 uVar7; undefined2 unaff_SS; uint local_7; byte local_3; if (DAT_1028_07c6 == '\0') { if ((((param_2 & 1) == 1) && (0x80 < param_3)) && (param_3 < 0x86)) { *(undefined1 *) ((int)*(undefined4 *)(param_1 + 6) + (uint)DAT_1028_07d1 * 0x14 + param_3 + 0x3f5) = 1; FUN_1000_b30b(param_1,param_3 + 0x376); } if ((param_2 & 2) == 2) { iVar6 = *(int *)(param_3 * 0x53 + 0x99e); *(undefined1 *)(iVar6 * 0x53 + 0x98f) = 0; FUN_1000_7e12(param_1,iVar6); if ((param_2 & 0x2000) == 0x2000) { *(undefined1 *)((iVar6 + 1) * 0x53 + 0x98f) = 0; *(undefined1 *)((iVar6 + 2) * 0x53 + 0x98f) = 0; } } if ((((param_2 & 0x400) == 0x400) && (DAT_1028_07c7 == '\0')) && (DAT_1028_07c8 == '\0')) { DAT_1028_0855 = 0; DAT_1028_0857 = 0; DAT_1028_07c7 = '\x01'; } if ((param_2 & 4) == 4) { FUN_1008_0002(0xc); DAT_1028_39de = 1; *(undefined1 *)((int)*(undefined4 *)(param_1 + 6) + (uint)DAT_1028_07d1 * 0xaf + 0xf6) = 1; uVar7 = 0x1000; FUN_1000_b30b(param_1,0x95); if (DAT_1028_399a == 0) { iVar6 = *(int *)((uint)DAT_1028_07d1 * 2 + 0x9a4); do { uVar7 = 0x1020; iVar3 = FUN_1020_14a4(6); *(int *)((uint)DAT_1028_07d1 * 2 + 0x9a4) = iVar3 + 1; } while (*(int *)((uint)DAT_1028_07d1 * 2 + 0x9a4) == iVar6); } else { *(undefined2 *)((uint)DAT_1028_07d1 * 2 + 0x9a4) = 7; } uVar7 = GETDC(uVar7,*(undefined2 *)((int)*(undefined4 *)(param_1 + 6) + 4)); FUN_1000_0002(*(undefined2 *)((uint)DAT_1028_07d1 * 2 + 0x9a4),uVar7); FUN_1008_093f(0x7b,0x2a,0x4f,0x37,uVar7); RELEASEDC(0x1008,uVar7); } if ((param_2 & 8) == 8) { FUN_1008_0002(0xc); bVar2 = true; local_3 = 0; while (*(char *)(((uint)local_3 * 3 + 0x5a) * 0x53 + 0x98f) == '\0') { if (local_3 == 4) goto LAB_1000_b66c; local_3 = local_3 + 1; } bVar2 = false; LAB_1000_b66c: if (bVar2) { FUN_1008_0002(0x11); if (*(char *)(DAT_1028_07d1 + 0x816) == '\x06') { FUN_1000_bc36(param_1,50000,0); } else { if (*(char *)(DAT_1028_07d1 + 0x816) == '\x01') { *(undefined1 *)(DAT_1028_07d1 + 0x816) = 2; } else { *(char *)(DAT_1028_07d1 + 0x816) = *(char *)(DAT_1028_07d1 + 0x816) + '\x01'; } FUN_1000_b30b(param_1,*(byte *)(DAT_1028_07d1 + 0x816) + 999); } local_3 = 0; while( true ) { *(undefined1 *)(((uint)local_3 * 3 + 0x5a) * 0x53 + 0x98f) = 1; *(undefined1 *)(((uint)local_3 * 3 + 0x5b) * 0x53 + 0x98f) = 1; *(undefined1 *)(((uint)local_3 * 3 + 0x5c) * 0x53 + 0x98f) = 1; FUN_1000_7e12(param_1,(uint)local_3 * 3 + 0x5a); if (local_3 == 4) break; local_3 = local_3 + 1; } } } if ((param_2 & 0x10) == 0x10) { FUN_1008_0002(0xc); bVar2 = true; local_3 = 0; while (*(char *)(((uint)local_3 * 3 + 0x6d) * 0x53 + 0x98f) == '\0') { if (local_3 == 3) goto LAB_1000_b79e; local_3 = local_3 + 1; } bVar2 = false; LAB_1000_b79e: if (bVar2) { local_7 = 1; local_3 = 1; while( true ) { if (*(char *)((int)*(undefined4 *)(param_1 + 6) + (uint)DAT_1028_07d1 * 0x14 + (uint)local_3 + 0x46c) != '\0') { local_7 = local_7 + 1; } if (local_3 == 9) break; local_3 = local_3 + 1; } if (local_7 < 9) { FUN_1008_0002(0x11); *(undefined1 *) ((int)*(undefined4 *)(param_1 + 6) + (uint)DAT_1028_07d1 * 0x14 + local_7 + 0x46c) = 1; FUN_1000_b30b(param_1,local_7 + 0x3ed); FUN_1000_bc36(param_1,local_7 * 10000,0); } else if (local_7 == 9) { FUN_1008_0002(0x11); *(undefined1 *)((int)*(undefined4 *)(param_1 + 6) + (uint)DAT_1028_07d1 * 0x14 + 0x475) = 1; FUN_1000_b30b(param_1,0x3f6); FUN_1000_bc36(param_1,0x5f90,0); uVar7 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10); iVar6 = (int)*(undefined4 *)(param_1 + 6); *(undefined1 *)(iVar6 + 0xbdc) = 1; DAT_1028_3b2a = 1; DAT_1028_0b81 = 1; DAT_1028_3b7d = 1; uVar7 = GETDC(0x1000,*(undefined2 *)(iVar6 + 4)); FUN_1008_0837((DAT_1028_3b47 - DAT_1028_3b43) + 1,(DAT_1028_3b45 - DAT_1028_3b41) + 1, DAT_1028_3b43,DAT_1028_3b41,uVar7); FUN_1008_093f((DAT_1028_3b47 - DAT_1028_3b43) + 1,(DAT_1028_3b45 - DAT_1028_3b41) + 1, DAT_1028_3b43,DAT_1028_3b41,uVar7); FUN_1008_0837((DAT_1028_3b9a - DAT_1028_3b96) + 1,(DAT_1028_3b98 - DAT_1028_3b94) + 1, DAT_1028_3b96,DAT_1028_3b94,uVar7); FUN_1008_093f((DAT_1028_3b9a - DAT_1028_3b96) + 1,(DAT_1028_3b98 - DAT_1028_3b94) + 1, DAT_1028_3b96,DAT_1028_3b94,uVar7); FUN_1008_0837((DAT_1028_0b9e - DAT_1028_0b9a) + 1,(DAT_1028_0b9c - DAT_1028_0b98) + 1, DAT_1028_0b9a,DAT_1028_0b98,uVar7); FUN_1008_093f((DAT_1028_0b9e - DAT_1028_0b9a) + 1,(DAT_1028_0b9c - DAT_1028_0b98) + 1, DAT_1028_0b9a,DAT_1028_0b98,uVar7); RELEASEDC(0x1008,uVar7); } else { FUN_1008_0002(7); if (*(char *)((int)*(undefined4 *)(param_1 + 6) + 0xbdc) == '\0') { *(undefined1 *)((int)*(undefined4 *)(param_1 + 6) + 0xbdc) = 1; } else { uVar1 = *(uint *)((uint)DAT_1028_07d1 * 4 + 0x98e); iVar6 = *(int *)((uint)DAT_1028_07d1 * 4 + 0x990); uVar4 = (uint)DAT_1028_07d1; *(int *)(uVar4 * 4 + 0x98e) = uVar1 + 0x86a0; *(int *)(uVar4 * 4 + 0x990) = iVar6 + 1 + (uint)(0x795f < uVar1); uVar7 = *(undefined2 *)((uint)DAT_1028_07d1 * 4 + 0x990); uVar5 = FUN_1020_08a9(); FUN_1000_bda2(param_1,uVar5,uVar7); } } local_3 = 0; while( true ) { *(undefined1 *)(((uint)local_3 * 3 + 0x6d) * 0x53 + 0x98f) = 1; *(undefined1 *)(((uint)local_3 * 3 + 0x6e) * 0x53 + 0x98f) = 1; *(undefined1 *)(((uint)local_3 * 3 + 0x6f) * 0x53 + 0x98f) = 1; FUN_1000_7e12(param_1,(uint)local_3 * 3 + 0x6d); if (local_3 == 3) break; local_3 = local_3 + 1; } } } if ((param_2 & 0x1000) == 0x1000) { if (param_3 == 0x96) { *(undefined1 *)((int)*(undefined4 *)(param_1 + 6) + 0xf7) = 10; FUN_1000_b30b(param_1,0x96); DAT_1028_3b2a = 1; FUN_1000_b30b(param_1,0x99); } else if (param_3 == 0x97) { *(undefined1 *)((int)*(undefined4 *)(param_1 + 6) + 0xf8) = 10; FUN_1000_b30b(param_1,0x97); DAT_1028_0b81 = 1; FUN_1000_b30b(param_1,6); } else if (param_3 == 0x98) { *(undefined1 *)((int)*(undefined4 *)(param_1 + 6) + 0xf9) = 10; FUN_1000_b30b(param_1,0x98); DAT_1028_3b7d = 1; FUN_1000_b30b(param_1,0x9a); } } if ((param_2 & 0x40) == 0x40) { if (param_3 == 0x33) { FUN_1008_0002(6); *(undefined1 *)((int)*(undefined4 *)(param_1 + 6) + 0x94) = 5; FUN_1000_b30b(param_1,0x33); iVar6 = (*(byte *)(DAT_1028_07d1 + 0x816) - 1) * 1000; FUN_1000_bc36(param_1,iVar6,iVar6 >> 0xf); } else if (param_3 == 0x34) { FUN_1008_0002(6); *(undefined1 *)((int)*(undefined4 *)(param_1 + 6) + 0x95) = 5; FUN_1000_b30b(param_1,0x34); iVar6 = (*(byte *)(DAT_1028_07d1 + 0x816) - 1) * 1000; FUN_1000_bc36(param_1,iVar6,iVar6 >> 0xf); } else if (param_3 == 0x35) { FUN_1008_0002(6); *(undefined1 *)((int)*(undefined4 *)(param_1 + 6) + 0x96) = 5; FUN_1000_b30b(param_1,0x35); iVar6 = (*(byte *)(DAT_1028_07d1 + 0x816) - 1) * 1000; FUN_1000_bc36(param_1,iVar6,iVar6 >> 0xf); } else if ((0x8b < param_3) && (param_3 < 0x94)) { *(undefined1 *)((int)*(undefined4 *)(param_1 + 6) + param_3 + 0x61) = 0x14; FUN_1000_b30b(param_1,param_3); } } } return; } /* ===== 1000:bc36 FUN_1000_bc36 ===== */ void __stdcall16far FUN_1000_bc36(int param_1,uint param_2,int param_3) { uint *puVar1; int *piVar2; uint uVar3; int iVar4; int iVar5; undefined2 uVar6; uint uVar7; int iVar8; undefined2 unaff_SS; undefined2 uVar9; uVar9 = *(undefined2 *)((int)*(undefined4 *)(param_1 + 6) + 4); uVar6 = GETDC(); if (((param_3 != -1) || (param_2 != 0xffff)) && (DAT_1028_07c6 == '\0')) { if (DAT_1028_0874 != '\0') { param_2 = FUN_1020_08a9(uVar9); } if (*(char *)((int)*(undefined4 *)(param_1 + 6) + 0xbdc) != '\0') { param_2 = FUN_1020_08a9(uVar9); } uVar3 = *(uint *)((uint)DAT_1028_07d1 * 4 + 0x97e); iVar4 = *(int *)((uint)DAT_1028_07d1 * 4 + 0x980); uVar7 = (uint)DAT_1028_07d1; *(int *)(uVar7 * 4 + 0x97e) = uVar3 + param_2; *(int *)(uVar7 * 4 + 0x980) = iVar4 + param_3 + (uint)CARRY2(uVar3,param_2); iVar4 = *(int *)((uint)DAT_1028_07d1 * 4 + 0x837); if ((iVar4 < 0) || ((iVar4 < 1 && (*(uint *)((uint)DAT_1028_07d1 * 4 + 0x835) < 5)))) { iVar8 = *(int *)((uint)DAT_1028_07d1 * 4 + 0x835) * 4; iVar4 = *(int *)(iVar8 + 0x827); iVar5 = *(int *)((uint)DAT_1028_07d1 * 4 + 0x980); if ((iVar4 < iVar5) || ((iVar4 <= iVar5 && (*(uint *)(iVar8 + 0x825) <= *(uint *)((uint)DAT_1028_07d1 * 4 + 0x97e))))) { FUN_1008_0002(7); uVar7 = (uint)DAT_1028_07d1; puVar1 = (uint *)(uVar7 * 4 + 0x835); uVar3 = *puVar1; *puVar1 = *puVar1 + 1; piVar2 = (int *)(uVar7 * 4 + 0x837); *piVar2 = *piVar2 + (uint)(0xfffe < uVar3); piVar2 = (int *)((uint)DAT_1028_07d1 * 2 + 0x81f); *piVar2 = *piVar2 + 1; FUN_1000_a604(param_1); } } FUN_1008_0b9e(DAT_1028_07d1,uVar6); } FUN_1008_0996(uVar6,DAT_1028_07d1,0); RELEASEDC(0x1008,uVar6); return; } /* ===== 1000:bda2 FUN_1000_bda2 ===== */ void __stdcall16far FUN_1000_bda2(undefined2 param_1,undefined2 param_2,undefined2 param_3) { undefined2 uVar1; uVar1 = GETDC(); FUN_1008_0996(uVar1,param_2,param_3); RELEASEDC(0x1008,uVar1); return; } /* ===== 1000:bdde FUN_1000_bdde ===== */ void __stdcall16far FUN_1000_bdde(undefined2 param_1,int param_2) { uint uVar1; int iVar2; int iVar3; iVar2 = DAT_1028_07d5; iVar3 = (param_2 + 0xad) * 0x53; *(uint *)(iVar3 + 0x96d) = DAT_1028_07d3; *(int *)(iVar3 + 0x96f) = iVar2; iVar2 = DAT_1028_07d9; iVar3 = (param_2 + 0xad) * 0x53; *(uint *)(iVar3 + 0x971) = DAT_1028_07d7; *(int *)(iVar3 + 0x973) = iVar2; uVar1 = DAT_1028_07d3 + 0xc180; iVar2 = DAT_1028_07d5 - (uint)(DAT_1028_07d3 < 16000); iVar3 = (param_2 + 0xad) * 0x53; *(int *)(iVar3 + 0x95d) = DAT_1028_07d3 + 0xadf8; *(int *)(iVar3 + 0x95f) = iVar2 - (uint)(uVar1 < 5000); uVar1 = DAT_1028_07d7 + 0xc180; iVar2 = DAT_1028_07d9 - (uint)(DAT_1028_07d7 < 16000); iVar3 = (param_2 + 0xad) * 0x53; *(int *)(iVar3 + 0x961) = DAT_1028_07d7 + 0xadf8; *(int *)(iVar3 + 0x963) = iVar2 - (uint)(uVar1 < 5000); uVar1 = DAT_1028_07d3 + 16000; iVar2 = DAT_1028_07d5 + (uint)(0xc17f < DAT_1028_07d3); iVar3 = (param_2 + 0xad) * 0x53; *(int *)(iVar3 + 0x965) = DAT_1028_07d3 + 21000; *(int *)(iVar3 + 0x967) = iVar2 + (uint)(0xec77 < uVar1); uVar1 = DAT_1028_07d7 + 16000; iVar2 = DAT_1028_07d9 + (uint)(0xc17f < DAT_1028_07d7); iVar3 = (param_2 + 0xad) * 0x53; *(int *)(iVar3 + 0x969) = DAT_1028_07d7 + 21000; *(int *)(iVar3 + 0x96b) = iVar2 + (uint)(0xec77 < uVar1); return; } /* ===== 1000:beff FUN_1000_beff ===== */ void __stdcall16far FUN_1000_beff(int param_1,uint param_2,int param_3,uint param_4,int param_5) { undefined2 uVar1; undefined2 uVar2; uint uVar3; int iVar4; int iVar5; undefined2 unaff_CS; undefined2 unaff_SS; bool bVar6; undefined2 uVar7; undefined2 uVar8; uVar1 = *(undefined2 *)((int)*(undefined4 *)(param_1 + 6) + 4); GETCLIENTRECT(unaff_CS,param_1 + -0x1a,unaff_SS); uVar1 = GETDC(0x1228,*(undefined2 *)((int)*(undefined4 *)(param_1 + 6) + 4),uVar1); *(undefined2 *)(param_1 + -0xc) = uVar1; uVar1 = CREATECOMPATIBLEDC(0x1228,*(undefined2 *)(param_1 + -0xc)); *(undefined2 *)(param_1 + -0xe) = uVar1; uVar1 = CREATECOMPATIBLEDC(0x1228,*(undefined2 *)(param_1 + -0xc)); *(undefined2 *)(param_1 + -0x10) = uVar1; uVar1 = CREATECOMPATIBLEDC(0x1228,*(undefined2 *)(param_1 + -0xc)); *(undefined2 *)(param_1 + -0x12) = uVar1; uVar1 = *(undefined2 *)(param_1 + -0xc); uVar2 = CREATECOMPATIBLEBITMAP(0x1228,100,100); *(undefined2 *)(param_1 + -8) = uVar2; iVar4 = DAT_1028_07d5; uVar2 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10); iVar5 = (int)*(undefined4 *)(param_1 + 6); *(uint *)(iVar5 + 0xbc2) = DAT_1028_07d3; *(int *)(iVar5 + 0xbc4) = iVar4; iVar4 = DAT_1028_07d9; *(uint *)(iVar5 + 0xbc6) = DAT_1028_07d7; *(int *)(iVar5 + 0xbc8) = iVar4; bVar6 = CARRY2(DAT_1028_07d7,param_4); DAT_1028_07d7 = DAT_1028_07d7 + param_4; DAT_1028_07d9 = DAT_1028_07d9 + param_5 + (uint)bVar6; bVar6 = CARRY2(DAT_1028_07d3,param_2); DAT_1028_07d3 = DAT_1028_07d3 + param_2; DAT_1028_07d5 = DAT_1028_07d5 + param_3 + (uint)bVar6; iVar4 = DAT_1028_07d5 + (uint)(0xfe0b < DAT_1028_07d3); uVar3 = FUN_1020_08e6(uVar1); uVar1 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10); iVar5 = (int)*(undefined4 *)(param_1 + 6); *(int *)(iVar5 + 0xba2) = uVar3 - 8; *(int *)(iVar5 + 0xba4) = iVar4 - (uint)(uVar3 < 8); iVar4 = DAT_1028_07d9 + (uint)(0xfe0b < DAT_1028_07d7); uVar3 = FUN_1020_08e6(); uVar1 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10); iVar5 = (int)*(undefined4 *)(param_1 + 6); *(int *)(iVar5 + 0xba6) = uVar3 - 8; *(int *)(iVar5 + 0xba8) = iVar4 - (uint)(uVar3 < 8); iVar4 = (DAT_1028_07d5 - *(int *)(iVar5 + 0xbc4)) - (uint)(DAT_1028_07d3 < *(uint *)(iVar5 + 0xbc2)); uVar1 = FUN_1020_08e6(); uVar2 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10); iVar5 = (int)*(undefined4 *)(param_1 + 6); *(undefined2 *)(iVar5 + 0xbb2) = uVar1; *(int *)(iVar5 + 0xbb4) = iVar4; iVar4 = (DAT_1028_07d9 - *(int *)(iVar5 + 0xbc8)) - (uint)(DAT_1028_07d7 < *(uint *)(iVar5 + 0xbc6)); uVar1 = FUN_1020_08e6(); uVar2 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10); iVar5 = (int)*(undefined4 *)(param_1 + 6); *(undefined2 *)(iVar5 + 0xbb6) = uVar1; *(int *)(iVar5 + 3000) = iVar4; if ((*(int *)(iVar5 + 0xbb4) < 1) && ((*(int *)(iVar5 + 0xbb4) < 0 || (*(int *)(iVar5 + 0xbb2) == 0)))) { *(int *)(param_1 + -0x20) = *(int *)((int)*(undefined4 *)(param_1 + 6) + 0xba2) + -1; *(undefined2 *)(param_1 + -0x1c) = 1; } else { uVar1 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10); iVar4 = (int)*(undefined4 *)(param_1 + 6); *(int *)(param_1 + -0x20) = (*(int *)(iVar4 + 0xba2) - *(int *)(iVar4 + 0xbb2)) + -1; *(int *)(param_1 + -0x1c) = *(int *)((int)*(undefined4 *)(param_1 + 6) + 0xbb2) + 1; } uVar1 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10); iVar5 = (int)*(undefined4 *)(param_1 + 6); iVar4 = *(int *)(iVar5 + 3000); if ((iVar4 < 1) && ((iVar4 < 0 || (*(int *)(iVar5 + 0xbb6) == 0)))) { *(int *)(param_1 + -0x22) = *(int *)((int)*(undefined4 *)(param_1 + 6) + 0xba6) + -1; *(undefined2 *)(param_1 + -0x1e) = 1; } else { uVar1 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10); iVar4 = (int)*(undefined4 *)(param_1 + 6); *(int *)(param_1 + -0x22) = (*(int *)(iVar4 + 0xba6) - *(int *)(iVar4 + 0xbb6)) + -1; *(int *)(param_1 + -0x1e) = *(int *)((int)*(undefined4 *)(param_1 + 6) + 0xbb6) + 1; } uVar1 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10); iVar5 = (int)*(undefined4 *)(param_1 + 6); iVar4 = *(int *)(iVar5 + 0xbb2); if (*(int *)(iVar5 + 0xbb4) < 0) { iVar4 = -iVar4; } *(int *)(param_1 + -0x28) = iVar4 + 0x13; uVar1 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10); iVar5 = (int)*(undefined4 *)(param_1 + 6); iVar4 = *(int *)(iVar5 + 0xbb6); if (*(int *)(iVar5 + 3000) < 0) { iVar4 = -iVar4; } *(int *)(param_1 + -0x2a) = iVar4 + 0x13; uVar1 = SELECTOBJECT(0x1020,DAT_1028_085b); *(undefined2 *)(param_1 + -2) = uVar1; uVar1 = SELECTOBJECT(0x1228,*(undefined2 *)(param_1 + -8)); *(undefined2 *)(param_1 + -4) = uVar1; BITBLT(0x1228,0x20,0xcc,*(undefined2 *)(param_1 + -0x22),*(undefined2 *)(param_1 + -0x20), *(undefined2 *)(param_1 + -0xe),*(undefined2 *)(param_1 + -0x2a), *(undefined2 *)(param_1 + -0x28),0,0); SELECTOBJECT(0x1228,*(undefined2 *)((int)*(undefined4 *)(param_1 + 6) + 0x54)); BITBLT(0x1228,0xc6,0x88,0,0,*(undefined2 *)(param_1 + -0xe),0x13,0x13, *(undefined2 *)(param_1 + -0x1e),*(undefined2 *)(param_1 + -0x1c)); SELECTOBJECT(0x1228,*(undefined2 *)((int)*(undefined4 *)(param_1 + 6) + 0x52)); BITBLT(0x1228,0x86,0xee,0,0,*(undefined2 *)(param_1 + -0xe),0x13,0x13, *(undefined2 *)(param_1 + -0x1e),*(undefined2 *)(param_1 + -0x1c)); if (0x1ba < *(int *)(param_1 + -0x22) + *(int *)(param_1 + -0x2a)) { if (*(int *)(param_1 + -0x22) < 0x1bb) { *(int *)(param_1 + -0x2a) = 0x1bb - *(int *)(param_1 + -0x22); } else { *(undefined2 *)(param_1 + -0x2a) = 0; } } uVar1 = *(undefined2 *)(param_1 + -0xc); BITBLT(0x1228,0x20,0xcc,0,0,*(undefined2 *)(param_1 + -0x10),*(undefined2 *)(param_1 + -0x2a), *(undefined2 *)(param_1 + -0x28),*(undefined2 *)(param_1 + -0x22), *(undefined2 *)(param_1 + -0x20)); uVar2 = *(undefined2 *)(param_1 + -0xe); SELECTOBJECT(0x1228,*(undefined2 *)(param_1 + -2)); uVar8 = *(undefined2 *)(param_1 + -0x10); SELECTOBJECT(0x1228,*(undefined2 *)(param_1 + -4)); uVar7 = *(undefined2 *)(param_1 + -0x12); SELECTOBJECT(0x1228,*(undefined2 *)(param_1 + -6)); DELETEOBJECT(0x1228,*(undefined2 *)(param_1 + -8),uVar7,uVar8,uVar2,uVar1); DELETEDC(0x1228,*(undefined2 *)(param_1 + -0xe)); DELETEDC(0x1228,*(undefined2 *)(param_1 + -0x10)); DELETEDC(0x1228,*(undefined2 *)(param_1 + -0x12)); RELEASEDC(0x1228,*(undefined2 *)(param_1 + -0xc)); return; } /* ===== 1000:c36b FUN_1000_c36b ===== */ void __stdcall16far FUN_1000_c36b(int param_1,int param_2) { undefined2 uVar1; int iVar2; int iVar3; undefined2 uVar4; undefined2 uVar5; undefined2 unaff_SS; DAT_1028_07d3 = *(undefined2 *)(param_2 * 4 + 0x7e3); DAT_1028_07d5 = *(undefined2 *)(param_2 * 4 + 0x7e5); DAT_1028_07d7 = *(undefined2 *)(param_2 * 4 + 0x7eb); DAT_1028_07d9 = *(undefined2 *)(param_2 * 4 + 0x7ed); uVar1 = *(undefined2 *)(param_2 * 4 + 0x7f5); uVar4 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10); iVar2 = (int)*(undefined4 *)(param_1 + 6); *(undefined2 *)(iVar2 + 0xbaa) = *(undefined2 *)(param_2 * 4 + 0x7f3); *(undefined2 *)(iVar2 + 0xbac) = uVar1; uVar1 = *(undefined2 *)(param_2 * 4 + 0x7fd); uVar4 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10); iVar2 = (int)*(undefined4 *)(param_1 + 6); *(undefined2 *)(iVar2 + 0xbae) = *(undefined2 *)(param_2 * 4 + 0x7fb); *(undefined2 *)(iVar2 + 0xbb0) = uVar1; iVar2 = param_2 * 6; uVar1 = *(undefined2 *)(iVar2 + 0x80d); uVar4 = *(undefined2 *)(iVar2 + 0x80f); uVar5 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10); iVar3 = (int)*(undefined4 *)(param_1 + 6); *(undefined2 *)(iVar3 + 0xbce) = *(undefined2 *)(iVar2 + 0x80b); *(undefined2 *)(iVar3 + 0xbd0) = uVar1; *(undefined2 *)(iVar3 + 0xbd2) = uVar4; uVar1 = *(undefined2 *)(param_2 * 4 + 0x805); uVar4 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10); iVar2 = (int)*(undefined4 *)(param_1 + 6); *(undefined2 *)(iVar2 + 0xbca) = *(undefined2 *)(param_2 * 4 + 0x803); *(undefined2 *)(iVar2 + 0xbcc) = uVar1; return; } /* ===== 1000:c426 FUN_1000_c426 ===== */ void __stdcall16far FUN_1000_c426(int param_1,int param_2) { undefined2 uVar1; int iVar2; int iVar3; undefined2 uVar4; undefined2 uVar5; undefined2 unaff_SS; uVar1 = DAT_1028_07d5; *(undefined2 *)(param_2 * 4 + 0x7e3) = DAT_1028_07d3; *(undefined2 *)(param_2 * 4 + 0x7e5) = uVar1; uVar1 = DAT_1028_07d9; *(undefined2 *)(param_2 * 4 + 0x7eb) = DAT_1028_07d7; *(undefined2 *)(param_2 * 4 + 0x7ed) = uVar1; uVar4 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10); iVar2 = (int)*(undefined4 *)(param_1 + 6); uVar1 = *(undefined2 *)(iVar2 + 0xbac); *(undefined2 *)(param_2 * 4 + 0x7f3) = *(undefined2 *)(iVar2 + 0xbaa); *(undefined2 *)(param_2 * 4 + 0x7f5) = uVar1; uVar4 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10); iVar2 = (int)*(undefined4 *)(param_1 + 6); uVar1 = *(undefined2 *)(iVar2 + 0xbb0); *(undefined2 *)(param_2 * 4 + 0x7fb) = *(undefined2 *)(iVar2 + 0xbae); *(undefined2 *)(param_2 * 4 + 0x7fd) = uVar1; uVar5 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10); iVar3 = (int)*(undefined4 *)(param_1 + 6); uVar1 = *(undefined2 *)(iVar3 + 0xbd0); uVar4 = *(undefined2 *)(iVar3 + 0xbd2); iVar2 = param_2 * 6; *(undefined2 *)(iVar2 + 0x80b) = *(undefined2 *)(iVar3 + 0xbce); *(undefined2 *)(iVar2 + 0x80d) = uVar1; *(undefined2 *)(iVar2 + 0x80f) = uVar4; uVar4 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10); iVar2 = (int)*(undefined4 *)(param_1 + 6); uVar1 = *(undefined2 *)(iVar2 + 0xbcc); *(undefined2 *)(param_2 * 4 + 0x803) = *(undefined2 *)(iVar2 + 0xbca); *(undefined2 *)(param_2 * 4 + 0x805) = uVar1; return; } /* ===== 1000:c4e1 FUN_1000_c4e1 ===== */ void __stdcall16far FUN_1000_c4e1(int param_1,int param_2) { int iVar1; uint uVar2; undefined2 uVar3; uint uVar4; undefined2 uVar5; undefined2 unaff_SS; iVar1 = *(int *)((uint)DAT_1028_07d1 * 2 + 0x9a4); if (iVar1 == 1) { uVar4 = *(uint *)((uint)DAT_1028_07d1 * 4 + 0x98e); iVar1 = *(int *)((uint)DAT_1028_07d1 * 4 + 0x990); uVar2 = (uint)DAT_1028_07d1; *(int *)(uVar2 * 4 + 0x98e) = uVar4 + 10000; *(int *)(uVar2 * 4 + 0x990) = iVar1 + (uint)(0xd8ef < uVar4); uVar5 = *(undefined2 *)((uint)DAT_1028_07d1 * 4 + 0x990); uVar3 = FUN_1020_08a9(); FUN_1000_bda2(param_1,uVar3,uVar5); } else if (iVar1 == 2) { uVar4 = *(uint *)((uint)DAT_1028_07d1 * 4 + 0x98e); iVar1 = *(int *)((uint)DAT_1028_07d1 * 4 + 0x990); uVar2 = (uint)DAT_1028_07d1; *(int *)(uVar2 * 4 + 0x98e) = uVar4 + 20000; *(int *)(uVar2 * 4 + 0x990) = iVar1 + (uint)(0xb1df < uVar4); uVar5 = *(undefined2 *)((uint)DAT_1028_07d1 * 4 + 0x990); uVar3 = FUN_1020_08a9(); FUN_1000_bda2(param_1,uVar3,uVar5); } else if (iVar1 == 3) { uVar4 = *(uint *)((uint)DAT_1028_07d1 * 4 + 0x98e); iVar1 = *(int *)((uint)DAT_1028_07d1 * 4 + 0x990); uVar2 = (uint)DAT_1028_07d1; *(int *)(uVar2 * 4 + 0x98e) = uVar4 + 50000; *(int *)(uVar2 * 4 + 0x990) = iVar1 + (uint)(0x3caf < uVar4); uVar5 = *(undefined2 *)((uint)DAT_1028_07d1 * 4 + 0x990); uVar3 = FUN_1020_08a9(); FUN_1000_bda2(param_1,uVar3,uVar5); } else if (iVar1 == 4) { uVar4 = *(uint *)((uint)DAT_1028_07d1 * 4 + 0x98e); iVar1 = *(int *)((uint)DAT_1028_07d1 * 4 + 0x990); uVar2 = (uint)DAT_1028_07d1; *(int *)(uVar2 * 4 + 0x98e) = uVar4 + 0x86a0; *(int *)(uVar2 * 4 + 0x990) = iVar1 + 1 + (uint)(0x795f < uVar4); uVar5 = *(undefined2 *)((uint)DAT_1028_07d1 * 4 + 0x990); uVar3 = FUN_1020_08a9(); FUN_1000_bda2(param_1,uVar3,uVar5); } else if (iVar1 == 5) { uVar4 = *(uint *)((uint)DAT_1028_07d1 * 4 + 0x98e); iVar1 = *(int *)((uint)DAT_1028_07d1 * 4 + 0x990); uVar2 = (uint)DAT_1028_07d1; *(int *)(uVar2 * 4 + 0x98e) = uVar4 + 0xd40; *(int *)(uVar2 * 4 + 0x990) = iVar1 + 3 + (uint)(0xf2bf < uVar4); uVar5 = *(undefined2 *)((uint)DAT_1028_07d1 * 4 + 0x990); uVar3 = FUN_1020_08a9(); FUN_1000_bda2(param_1,uVar3,uVar5); } else if (iVar1 == 6) { uVar5 = *(undefined2 *)((uint)DAT_1028_07d1 * 4 + 0x990); uVar3 = FUN_1020_08a9(); FUN_1000_bc36(param_1,uVar3,uVar5); uVar4 = (uint)DAT_1028_07d1; *(undefined2 *)(uVar4 * 4 + 0x98e) = 0; *(undefined2 *)(uVar4 * 4 + 0x990) = 0; FUN_1000_bda2(param_1,0,0); } else if ((iVar1 == 7) && (DAT_1028_399a != 0)) { if ((param_2 < 0) || (DAT_1028_399a != param_2)) { *(undefined1 *)((int)*(undefined4 *)(param_1 + 6) + 0xbe0) = 1; DAT_1028_0874 = 1; } } return; } /* ===== 1000:c79c FUN_1000_c79c ===== */ void __stdcall16far FUN_1000_c79c(int param_1) { uint *puVar1; int *piVar2; byte bVar3; undefined2 uVar4; int iVar5; char cVar6; uint uVar7; uint uVar8; uint uVar9; uint uVar10; uint uVar11; uint extraout_DX; uint extraout_DX_00; int extraout_DX_01; uint extraout_DX_02; uint extraout_DX_03; uint extraout_DX_04; uint uVar12; int extraout_DX_05; int extraout_DX_06; uint in_BX; int iVar13; int iVar14; int iVar15; int iVar16; int iVar17; int iVar18; undefined2 uVar19; undefined2 unaff_SS; bool bVar20; bool bVar21; uint uVar22; int in_stack_0000d8a2; uint in_stack_0000d8b0; int in_stack_0000d8b2; uint in_stack_0000d8c2; int in_stack_0000d8cc; int in_stack_0000d8ce; int in_stack_0000d8d0; undefined2 local_7c; uint local_7a; uint local_78; undefined2 local_76; uint local_74; uint local_72; uint local_70; uint local_6e; uint local_68; uint local_66; uint local_64; uint local_62; undefined2 local_40; uint local_3e; undefined2 local_3c; uint local_16; uint local_14; uint local_12; uint local_10; uint local_e; uint local_c; uint local_8; int local_4; uVar19 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10); iVar13 = (int)*(undefined4 *)(param_1 + 6); puVar1 = (uint *)(iVar13 + 0x4d); uVar10 = *puVar1; *puVar1 = *puVar1 + 1; *(int *)(iVar13 + 0x4f) = *(int *)(iVar13 + 0x4f) + (uint)(0xfffe < uVar10); iVar5 = DAT_1028_0871; bVar3 = *(byte *)(iVar13 + 0x61); if (bVar3 == 0) { return; } local_8 = 1; while( true ) { if (1 < *(byte *)((int)*(undefined4 *)(param_1 + 6) + 0x61)) { FUN_1000_c36b(); } iVar13 = DAT_1028_07d5; uVar19 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10); iVar14 = (int)*(undefined4 *)(param_1 + 6); *(uint *)(iVar14 + 0xbc2) = DAT_1028_07d3; *(int *)(iVar14 + 0xbc4) = iVar13; iVar13 = DAT_1028_07d9; *(uint *)(iVar14 + 0xbc6) = DAT_1028_07d7; *(int *)(iVar14 + 0xbc8) = iVar13; if (iVar5 != 0) break; LAB_1000_ea63: uVar19 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10); iVar13 = (int)*(undefined4 *)(param_1 + 6); if ((*(char *)(iVar13 + 0xbdd) != '\0') && (*(char *)(iVar13 + 0xbe2) == '\0')) { FUN_1000_9f73(); } if (1 < *(byte *)((int)*(undefined4 *)(param_1 + 6) + 0x61)) { FUN_1000_c426(); } if (local_8 == bVar3) { return; } local_8 = local_8 + 1; } iVar13 = 1; LAB_1000_c839: uVar19 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10); iVar15 = (int)*(undefined4 *)(param_1 + 6); uVar10 = *(uint *)(iVar15 + 0xbae); iVar14 = *(int *)(iVar15 + 0xbb0); uVar11 = *(uint *)(iVar15 + 0x5a); iVar16 = *(int *)(iVar15 + 0x5c); *(int *)(iVar15 + 0xbae) = uVar10 + *(uint *)(iVar15 + 0x5a); *(int *)(iVar15 + 0xbb0) = iVar14 + iVar16 + (uint)CARRY2(uVar10,uVar11); FUN_1020_100b(); FUN_1020_0ffd(); FUN_1020_0ff1(); FUN_1020_100b(); FUN_1020_0ffd(); FUN_1020_0ff1(); local_14 = extraout_DX; FUN_1020_0fe5(); FUN_1020_10be(); FUN_1020_0ff7(); local_16 = FUN_1020_1017(); uVar19 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10); iVar16 = (int)*(undefined4 *)(param_1 + 6); iVar14 = *(int *)(iVar16 + 0x58); if ((iVar14 < (int)local_14) || ((uVar10 = in_BX, iVar14 <= (int)local_14 && (*(uint *)(iVar16 + 0x56) < local_16)))) { FUN_1020_100b(); FUN_1020_100b(); FUN_1020_0ffd(); iVar14 = *(int *)((int)*(undefined4 *)(param_1 + 6) + 0xbac); FUN_1020_100b(); FUN_1020_0ff7(); uVar11 = FUN_1020_1017(); uVar19 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10); iVar15 = (int)*(undefined4 *)(param_1 + 6); uVar10 = *(uint *)(iVar15 + 0xbaa); iVar16 = *(int *)(iVar15 + 0xbac); *(int *)(iVar15 + 0xbaa) = uVar10 - uVar11; *(int *)(iVar15 + 0xbac) = (iVar16 - iVar14) - (uint)(uVar10 < uVar11); FUN_1020_100b(); FUN_1020_100b(); FUN_1020_0ffd(); uVar10 = *(uint *)((int)*(undefined4 *)(param_1 + 6) + 0xbb0); FUN_1020_100b(); FUN_1020_0ff7(); uVar22 = FUN_1020_1017(); uVar19 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10); iVar16 = (int)*(undefined4 *)(param_1 + 6); uVar11 = *(uint *)(iVar16 + 0xbae); iVar14 = *(int *)(iVar16 + 0xbb0); *(int *)(iVar16 + 0xbae) = uVar11 - uVar22; *(int *)(iVar16 + 0xbb0) = (iVar14 - uVar10) - (uint)(uVar11 < uVar22); local_16 = *(uint *)(iVar16 + 0x56); local_14 = *(uint *)(iVar16 + 0x58); } iVar14 = DAT_1028_07d5; uVar19 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10); iVar16 = (int)*(undefined4 *)(param_1 + 6); *(uint *)(iVar16 + 0xbba) = DAT_1028_07d3; *(int *)(iVar16 + 0xbbc) = iVar14; iVar14 = DAT_1028_07d9; *(uint *)(iVar16 + 0xbbe) = DAT_1028_07d7; *(int *)(iVar16 + 0xbc0) = iVar14; DAT_1028_07db = DAT_1028_07d3 + *(uint *)(iVar16 + 0xbaa); DAT_1028_07dd = DAT_1028_07d5 + *(int *)(iVar16 + 0xbac) + (uint)CARRY2(DAT_1028_07d3,*(uint *)(iVar16 + 0xbaa)); DAT_1028_07df = DAT_1028_07d7 + *(uint *)(iVar16 + 0xbae); DAT_1028_07e1 = DAT_1028_07d9 + *(int *)(iVar16 + 0xbb0) + (uint)CARRY2(DAT_1028_07d7,*(uint *)(iVar16 + 0xbae)); local_e = *(uint *)(iVar16 + 0xbaa); local_c = *(uint *)(iVar16 + 0xbac); local_12 = *(uint *)(iVar16 + 0xbae); local_10 = *(uint *)(iVar16 + 0xbb0); uVar11 = *(uint *)(iVar16 + 0xbac); FUN_1020_100b(); FUN_1020_100b(); uVar19 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10); iVar14 = (int)*(undefined4 *)(param_1 + 6); local_40 = *(undefined2 *)(iVar14 + 0xbce); local_3e = *(uint *)(iVar14 + 0xbd0); local_3c = *(undefined2 *)(iVar14 + 0xbd2); iVar14 = 0; local_70 = 0x423f; local_6e = 0xf; in_BX = local_3e; if (((((DAT_1028_07dd < 0) || (((DAT_1028_07dd < 1 && (DAT_1028_07db == 0)) || (5 < DAT_1028_07dd)))) || (((4 < DAT_1028_07dd && (0x3020 < DAT_1028_07db)) || (DAT_1028_07e1 < 0)))) || ((DAT_1028_07e1 < 1 && (DAT_1028_07df == 0)))) || ((7 < DAT_1028_07e1 || ((6 < DAT_1028_07e1 && (0x4e0 < DAT_1028_07df)))))) { if (*(byte *)((int)*(undefined4 *)(param_1 + 6) + 0x61) < 2) { FUN_1000_ae6e(); } else { *(undefined1 *)((local_8 + 0xad) * 0x53 + 0x98f) = 0; DAT_1028_0874 = '\0'; } } if ((DAT_1028_07d9 < 3) || ((DAT_1028_07d9 < 4 && (DAT_1028_07d7 < 0xd860)))) { uVar22 = 1; } else { uVar22 = 2; } local_4 = 1; do { iVar16 = local_4 * 0x53; bVar21 = false; if ((((*(uint *)(iVar16 + 0x9a4) & uVar22) != 0) && (*(char *)(iVar16 + 0x98f) == '\x01')) && (cVar6 = FUN_1000_9b69(), cVar6 != '\0')) { cVar6 = *(char *)CONCAT22(0x1028,(char *)(iVar16 + 0x95b)); uVar12 = in_BX; if (cVar6 == '\x01') { if (0xaf - local_8 != local_4) { FUN_1020_100b(); FUN_1020_0ffd(); FUN_1020_0ff1(); FUN_1020_100b(); FUN_1020_0ffd(); FUN_1020_0ff1(); uVar7 = extraout_DX_00; FUN_1020_0fe5(); FUN_1020_10be(); FUN_1020_0ff7(); uVar9 = FUN_1020_1017(); if ((int)uVar7 < 0) { bVar20 = uVar9 != 0; uVar9 = -uVar9; uVar7 = (~uVar7 + 1) - (uint)bVar20; } uVar12 = *(uint *)(iVar16 + 0x981); uVar8 = FUN_1020_1017(); local_68 = uVar9 - uVar8; local_66 = (uVar7 - uVar12) - (uint)(uVar9 < uVar8); if ((*(char *)(iVar16 + 0x95c) == '\x01') && (((int)local_66 < (int)local_14 || (((int)local_66 <= (int)local_14 && (local_68 <= local_16)))))) { LAB_1000_cd0a: if (*(char *)(iVar16 + 0x95c) == '\x01') { uVar19 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10); iVar15 = (int)*(undefined4 *)(param_1 + 6); local_74 = *(int *)(iVar15 + 0xbc0) + DAT_1028_07e1 + (uint)CARRY2(*(uint *)(iVar15 + 0xbbe),DAT_1028_07df); uVar12 = FUN_1020_08e6(); local_72 = (*(int *)(iVar16 + 0x973) - local_74) - (uint)(*(uint *)(iVar16 + 0x971) < uVar12); FUN_1020_100b(); FUN_1020_1017(); local_76 = FUN_1020_100b(); uVar19 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10); iVar15 = (int)*(undefined4 *)(param_1 + 6); iVar15 = *(int *)(iVar15 + 0xbbc) + DAT_1028_07dd + (uint)CARRY2(*(uint *)(iVar15 + 0xbba),DAT_1028_07db); local_7a = 0; uVar12 = FUN_1020_08e6(); local_78 = (iVar15 - *(int *)(iVar16 + 0x96f)) - (uint)(uVar12 < *(uint *)(iVar16 + 0x96d)); FUN_1020_100b(); FUN_1020_1017(); local_7c = FUN_1020_100b(); } else { uVar19 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10); iVar15 = (int)*(undefined4 *)(param_1 + 6); local_74 = *(int *)(iVar15 + 0xbc0) + DAT_1028_07e1 + (uint)CARRY2(*(uint *)(iVar15 + 0xbbe),DAT_1028_07df); uVar12 = FUN_1020_08e6(); local_72 = (*(int *)(iVar16 + 0x973) - local_74) - (uint)(*(uint *)(iVar16 + 0x971) < uVar12); FUN_1020_100b(); FUN_1020_1017(); local_76 = FUN_1020_100b(); uVar19 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10); iVar15 = (int)*(undefined4 *)(param_1 + 6); iVar15 = *(int *)(iVar15 + 0xbbc) + DAT_1028_07dd + (uint)CARRY2(*(uint *)(iVar15 + 0xbba),DAT_1028_07db); local_7a = 0; uVar12 = FUN_1020_08e6(); local_78 = (iVar15 - *(int *)(iVar16 + 0x96f)) - (uint)(uVar12 < *(uint *)(iVar16 + 0x96d)); FUN_1020_100b(); FUN_1020_1017(); local_7c = FUN_1020_100b(); } if (*(char *)(iVar16 + 0x95c) == '\x02') { if ((char)local_76 != '\0') { local_72 = local_72 ^ 0x8000; } if ((char)local_7c != '\0') { local_78 = local_78 ^ 0x8000; } } FUN_1020_0ffd(); FUN_1020_0ff1(); uVar12 = local_74; FUN_1020_0ffd(); FUN_1020_0ff1(); iVar15 = extraout_DX_01; FUN_1020_0fe5(); FUN_1020_10be(); FUN_1020_0ff7(); iVar17 = FUN_1020_1017(); if ((iVar15 < 1) && ((iVar15 < 0 || (iVar17 == 0)))) { local_64 = 0; local_62 = 0; } else { FUN_1020_100b(); FUN_1020_0ff7(); local_62 = uVar11; uVar12 = uVar10; FUN_1020_0ff7(); FUN_1020_0feb(); FUN_1020_0ffd(); local_64 = FUN_1020_1017(); } if ((int)local_62 < 0) { uVar7 = local_68; uVar12 = local_66; if ((int)local_66 < 0) { uVar7 = -local_68; uVar12 = (~local_66 + 1) - (uint)(local_68 != 0); } uVar9 = local_64; uVar8 = local_62; if ((int)local_62 < 0) { uVar9 = -local_64; uVar8 = (~local_62 + 1) - (uint)(local_64 != 0); } if (((int)uVar12 < (int)uVar8) || (((int)uVar12 <= (int)uVar8 && (uVar7 <= uVar9)))) { bVar21 = 0xf447 < local_68; local_68 = local_68 + 3000; local_66 = local_66 + bVar21; bVar21 = true; } } } else if (*(char *)(iVar16 + 0x95c) == '\x02') { iVar15 = (~local_66 + 1) - (uint)(local_68 != 0); if ((iVar15 < (int)local_14) || ((uVar12 = local_14, iVar15 <= (int)local_14 && (-local_68 < local_16 || -local_16 == local_68)))) goto LAB_1000_cd0a; } } } else if (cVar6 == '\x04') { if (DAT_1028_07c6 == '\0') { DAT_1028_0875 = '\0'; uVar12 = *(uint *)(iVar16 + 0x97f); iVar15 = *(int *)(iVar16 + 0x981); iVar17 = FUN_1020_1017(); if ((iVar15 < 1) && ((iVar15 < 0 || (iVar17 == 0)))) { cVar6 = FUN_1000_9ae0(); if ((cVar6 != '\0') && (((local_4 == 0x99 || (local_4 == 0x9a)) || (local_4 == 6)))) { FUN_1020_100b(); FUN_1020_0ff7(); local_e = FUN_1020_1017(); FUN_1020_100b(); FUN_1020_14c1(); FUN_1020_0ff7(); uVar12 = 0; uVar7 = 0; FUN_1020_0feb(); FUN_1020_0ff7(); iVar15 = FUN_1020_1017(); local_12 = -iVar15; local_10 = (~uVar7 + 1) - (uint)(iVar15 != 0); DAT_1028_07db = DAT_1028_07d3 + local_e; DAT_1028_07dd = DAT_1028_07d5 + local_c + (uint)CARRY2(DAT_1028_07d3,local_e); DAT_1028_07df = DAT_1028_07d7 + local_12; DAT_1028_07e1 = DAT_1028_07d9 + local_10 + (uint)CARRY2(DAT_1028_07d7,local_12); cVar6 = FUN_1000_9b69(); if (cVar6 == '\0') { *(undefined1 *)(local_4 * 0x53 + 0x98f) = 0; } FUN_1000_b3f3(); } } else { FUN_1020_100b(); FUN_1020_0ffd(); FUN_1020_0ff1(); FUN_1020_100b(); FUN_1020_0ffd(); FUN_1020_0ff1(); local_66 = extraout_DX_02; FUN_1020_0fe5(); FUN_1020_10be(); FUN_1020_0ff7(); local_68 = FUN_1020_1017(); if ((int)local_66 < 0) { bVar20 = local_68 != 0; local_68 = -local_68; local_66 = (~local_66 + 1) - (uint)bVar20; } FUN_1020_100b(); FUN_1020_0ffd(); FUN_1020_0ff1(); FUN_1020_100b(); FUN_1020_0ffd(); FUN_1020_0ff1(); uVar7 = extraout_DX_03; FUN_1020_0fe5(); FUN_1020_10be(); FUN_1020_0ff7(); uVar9 = FUN_1020_1017(); if ((int)uVar7 < 0) { bVar20 = uVar9 != 0; uVar9 = -uVar9; uVar7 = (~uVar7 + 1) - (uint)bVar20; } uVar12 = *(uint *)(iVar16 + 0x97f); iVar15 = *(int *)(iVar16 + 0x981); uVar8 = FUN_1020_1017(); if (((int)uVar7 < iVar15) || (((int)uVar7 <= iVar15 && (uVar9 <= uVar8)))) { if ((*(uint *)(iVar16 + 0x99c) & 0x4000) != 0x4000) { *(uint *)(iVar16 + 0x99c) = *(uint *)(iVar16 + 0x99c) | 0x4000; FUN_1008_0002(); FUN_1020_08a9(); FUN_1000_bc36(); if (local_4 == 0x95) { DAT_1028_39de = 0; *(undefined1 *) ((int)*(undefined4 *)(param_1 + 6) + (uint)DAT_1028_07d1 * 0xaf + 0xf6) = 0; FUN_1000_b3f3(); FUN_1000_c4e1(); GETDC(); *(undefined2 *)((uint)DAT_1028_07d1 * 2 + 0x9a4) = 0; FUN_1000_0002(); FUN_1008_093f(); RELEASEDC(); } FUN_1000_b476(); FUN_1020_14c1(); FUN_1020_0ff7(); FUN_1020_0feb(); FUN_1020_100b(); FUN_1020_0ff7(); local_e = FUN_1020_1017(); FUN_1020_14c1(); FUN_1020_0ff7(); uVar12 = 0xa3d; FUN_1020_0feb(); FUN_1020_100b(); FUN_1020_0ff7(); local_12 = FUN_1020_1017(); } } else { *(uint *)(iVar16 + 0x99c) = *(uint *)(iVar16 + 0x99c) & 0xbfff; } } } } else if (cVar6 == '\x02') { local_72 = (*(int *)(iVar16 + 0x977) - *(int *)(iVar16 + 0x96f)) - (uint)(*(uint *)(iVar16 + 0x975) < *(uint *)(iVar16 + 0x96d)); local_76 = FUN_1020_100b(); local_78 = (*(int *)(iVar16 + 0x97b) - *(int *)(iVar16 + 0x973)) - (uint)(*(uint *)(iVar16 + 0x979) < *(uint *)(iVar16 + 0x971)); local_7a = in_BX; local_7c = FUN_1020_100b(); FUN_1020_0ffd(); FUN_1020_0ff1(); FUN_1020_0ffd(); FUN_1020_0ff1(); FUN_1020_0fe5(); FUN_1020_10be(); FUN_1020_0ff7(); FUN_1020_1017(); FUN_1020_100b(); FUN_1020_0ffd(); FUN_1020_0ffd(); FUN_1020_100b(); FUN_1020_0ff7(); FUN_1020_0ffd(); uVar19 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10); iVar15 = (int)*(undefined4 *)(param_1 + 6); uVar12 = (*(int *)(iVar15 + 0xbbc) - *(int *)(iVar16 + 0x96f)) - (uint)(*(uint *)(iVar15 + 0xbba) < *(uint *)(iVar16 + 0x96d)); FUN_1020_100b(); FUN_1020_0ff7(); FUN_1020_0feb(); FUN_1020_0ffd(); local_66 = uVar12 & 0x7fff; local_68 = FUN_1020_1017(); FUN_1020_100b(); FUN_1020_0ffd(); FUN_1020_0ffd(); FUN_1020_0ff7(); local_62 = local_78; uVar12 = local_7a; FUN_1020_0ffd(); FUN_1020_0ff7(); FUN_1020_0feb(); FUN_1020_0ffd(); local_64 = FUN_1020_1017(); if ((((int)local_66 < (int)local_14) || ((local_74 = in_BX, (int)local_66 <= (int)local_14 && (local_74 = in_BX, local_68 <= local_16)))) && (((int)local_62 < 0 || ((local_74 = in_BX, (int)local_62 < 1 && (local_74 = in_BX, local_64 < 0xb)))))) { uVar12 = local_66 - (local_68 < 10); uVar7 = local_64; uVar9 = local_62; if ((int)local_62 < 0) { uVar7 = -local_64; uVar9 = (~local_62 + 1) - (uint)(local_64 != 0); } if (((int)uVar12 < (int)uVar9) || ((local_74 = in_BX, (int)uVar12 <= (int)uVar9 && (local_74 = in_BX, local_68 - 10 <= uVar7)))) { uVar12 = (*(int *)(iVar16 + 0x96f) - DAT_1028_07d5) - (uint)(*(uint *)(iVar16 + 0x96d) < DAT_1028_07d3); uVar7 = FUN_1020_08a9(); iVar15 = (*(int *)(iVar16 + 0x973) - DAT_1028_07d9) - (uint)(*(uint *)(iVar16 + 0x971) < DAT_1028_07d7); uVar9 = FUN_1020_08a9(); uVar8 = (iVar15 - uVar12) - (uint)(uVar9 < uVar7); if ((uVar8 < 0x8000) || ((local_74 = in_BX, -2 < (int)uVar8 && (local_74 = in_BX, 0xfff5 < uVar9 - uVar7)))) { uVar12 = (*(int *)(iVar16 + 0x977) - DAT_1028_07d5) - (uint)(*(uint *)(iVar16 + 0x975) < DAT_1028_07d3); uVar7 = FUN_1020_08a9(); iVar15 = (*(int *)(iVar16 + 0x97b) - DAT_1028_07d9) - (uint)(*(uint *)(iVar16 + 0x979) < DAT_1028_07d7); uVar9 = FUN_1020_08a9(); iVar15 = (iVar15 - uVar12) - (uint)(uVar9 < uVar7); if ((iVar15 < 0) || ((local_74 = in_BX, iVar15 < 1 && (local_74 = in_BX, uVar9 - uVar7 < 0xb)))) { bVar21 = true; local_74 = in_BX; } } } } } else if (cVar6 == '\x03') { FUN_1020_100b(); FUN_1020_0ffd(); FUN_1020_0ff1(); FUN_1020_100b(); FUN_1020_0ffd(); FUN_1020_0ff1(); uVar12 = extraout_DX_04; FUN_1020_0fe5(); FUN_1020_10be(); FUN_1020_0ff7(); uVar7 = FUN_1020_1017(); if ((int)uVar12 < 0) { bVar20 = uVar7 != 0; uVar7 = -uVar7; uVar12 = (~uVar12 + 1) - (uint)bVar20; } uVar9 = *(uint *)(iVar16 + 0x981); uVar8 = FUN_1020_1017(); local_68 = uVar7 - uVar8; local_66 = (uVar12 - uVar9) - (uint)(uVar7 < uVar8); uVar12 = (int)local_8 >> 0xf; if (((((int)local_66 < -1) || (((int)local_66 < 0 && (local_68 < 0xd509)))) && ((*(int *)(iVar16 + 0x99e) == 0 || (((*(int *)(iVar16 + 0x99e) != 99 && (*(char *)((int)*(undefined4 *)(param_1 + 6) + 0x61) == '\x01')) || ((uVar9 = uVar12, -1 < (int)local_8 && (*(uint *)(iVar16 + 0x99e) == local_8)))))))) && ((local_4 != 0x94 || (DAT_1028_0875 == '\0')))) { uVar19 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10); iVar17 = (int)*(undefined4 *)(param_1 + 6); iVar15 = *(int *)(iVar17 + 0xbcc); if ((iVar15 < 0) || ((iVar15 < 1 && (*(uint *)(iVar17 + 0xbca) < 300)))) { uVar19 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10); iVar15 = (int)*(undefined4 *)(param_1 + 6); puVar1 = (uint *)(iVar15 + 0xbba); uVar12 = *(uint *)(iVar16 + 0x96d) - *puVar1; uVar7 = (*(int *)(iVar16 + 0x96f) - *(int *)(iVar15 + 0xbbc)) - (uint)(*(uint *)(iVar16 + 0x96d) < *puVar1); if ((int)uVar7 < 0) { bVar20 = uVar12 != 0; uVar12 = -uVar12; uVar7 = (~uVar7 + 1) - (uint)bVar20; } if (((int)uVar7 < 0) || (((int)uVar7 < 1 && (uVar12 < 500)))) { uVar19 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10); iVar15 = (int)*(undefined4 *)(param_1 + 6); puVar1 = (uint *)(iVar15 + 0xbbe); uVar12 = *(uint *)(iVar16 + 0x971) - *puVar1; uVar7 = (*(int *)(iVar16 + 0x973) - *(int *)(iVar15 + 0xbc0)) - (uint)(*(uint *)(iVar16 + 0x971) < *puVar1); if ((int)uVar7 < 0) { bVar20 = uVar12 != 0; uVar12 = -uVar12; uVar7 = (~uVar7 + 1) - (uint)bVar20; } if (((int)uVar7 < 0) || (((int)uVar7 < 1 && (uVar12 < 500)))) { uVar12 = local_c; if ((int)local_c < 0) { bVar20 = local_e != 0; local_e = -local_e; uVar12 = (~local_c + 1) - (uint)bVar20; } if (((int)uVar12 < 0) || (((int)uVar12 < 1 && (local_e < 500)))) { uVar12 = local_10; if ((int)local_10 < 0) { bVar20 = local_12 != 0; local_12 = -local_12; uVar12 = (~local_10 + 1) - (uint)bVar20; } if (((int)uVar12 < 0) || (((int)uVar12 < 1 && (local_12 < 500)))) { local_e = 0; local_c = 0; local_12 = 0; local_10 = 0; uVar19 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10); iVar15 = (int)*(undefined4 *)(param_1 + 6); if (*(int *)(iVar15 + 0xbca) == 0 && *(int *)(iVar15 + 0xbcc) == 0) { *(uint *)(iVar16 + 0x99e) = local_8; FUN_1008_0002(); } uVar12 = uVar9; if (local_4 == 0x59) { uVar19 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10); iVar15 = (int)*(undefined4 *)(param_1 + 6); *(undefined2 *)(iVar15 + 0xbca) = 300; *(undefined2 *)(iVar15 + 0xbcc) = 0; } else { uVar19 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10); iVar17 = (int)*(undefined4 *)(param_1 + 6); uVar7 = *(uint *)(iVar17 + 0xbca); iVar15 = *(int *)(iVar17 + 0xbcc); *(int *)(iVar17 + 0xbca) = uVar7 + 5; *(int *)(iVar17 + 0xbcc) = iVar15 + (uint)(0xfffa < uVar7); } goto LAB_1000_e060; } } } } if ((DAT_1028_07d5 < *(int *)(iVar16 + 0x96f)) || ((DAT_1028_07d5 <= *(int *)(iVar16 + 0x96f) && (DAT_1028_07d3 < *(uint *)(iVar16 + 0x96d))))) { iVar15 = *(int *)((int)*(undefined4 *)(param_1 + 6) + 0x5c); uVar12 = FUN_1020_08a9(); FUN_1020_100b(); FUN_1020_0ff7(); uVar7 = FUN_1020_1017(); local_e = uVar7 + uVar12; local_c = local_c + iVar15 + (uint)CARRY2(uVar7,uVar12); } else { iVar15 = *(int *)((int)*(undefined4 *)(param_1 + 6) + 0x5c); uVar12 = FUN_1020_08a9(); FUN_1020_100b(); FUN_1020_0ff7(); uVar7 = FUN_1020_1017(); local_e = uVar7 - uVar12; local_c = (local_c - iVar15) - (uint)(uVar7 < uVar12); } if ((DAT_1028_07d9 < *(int *)(iVar16 + 0x973)) || ((DAT_1028_07d9 <= *(int *)(iVar16 + 0x973) && (DAT_1028_07d7 < *(uint *)(iVar16 + 0x971))))) { uVar12 = *(uint *)((int)*(undefined4 *)(param_1 + 6) + 0x5c); uVar7 = FUN_1020_08a9(); FUN_1020_100b(); FUN_1020_0ff7(); uVar9 = FUN_1020_1017(); local_12 = uVar9 + uVar7; local_10 = local_10 + uVar12 + (uint)CARRY2(uVar9,uVar7); } else { uVar12 = *(uint *)((int)*(undefined4 *)(param_1 + 6) + 0x5c); uVar7 = FUN_1020_08a9(); FUN_1020_100b(); FUN_1020_0ff7(); uVar9 = FUN_1020_1017(); local_12 = uVar9 - uVar7; local_10 = (local_10 - uVar12) - (uint)(uVar9 < uVar7); } } else if (local_4 == 0x59) { uVar12 = uVar9; if (DAT_1028_0874 == '\0') { DAT_1028_07ca = 1; iVar15 = FUN_1020_14a4(); if (iVar15 == 0) { DAT_1028_086f = 1; } else if (iVar15 == 1) { DAT_1028_086f = 6; } else if (iVar15 == 2) { DAT_1028_086f = 7; } else if (iVar15 == 3) { DAT_1028_086f = 0x12; } DAT_1028_0873 = 1; *(undefined1 *)((int)*(undefined4 *)(param_1 + 6) + 0xbdf) = 1; local_40 = 0; local_3e = 0; local_3c = 0; for (iVar15 = 0xc; *(undefined1 *)(iVar15 * 0x53 + 0x98f) = 0, uVar12 = uVar9, iVar15 != 0x14; iVar15 = iVar15 + 1) { } } } else { if ((local_4 < 0x81) || (0x85 < local_4)) { if (local_4 == 0x94) { *(undefined1 *) ((int)*(undefined4 *)(param_1 + 6) + (uint)DAT_1028_07d1 * 0x14 + 0x47b) = 1; FUN_1000_b30b(); } } else { uVar12 = 5000; iVar17 = 0; iVar15 = 1; while( true ) { if (*(int *)((iVar15 + 0x80) * 0x53 + 0x99e) != 0) { uVar12 = FUN_1020_08a9(); } if (iVar15 == 5) break; iVar15 = iVar15 + 1; } uVar7 = *(uint *)((uint)DAT_1028_07d1 * 4 + 0x98e); iVar15 = *(int *)((uint)DAT_1028_07d1 * 4 + 0x990); uVar9 = (uint)DAT_1028_07d1; *(int *)(uVar9 * 4 + 0x98e) = uVar7 + uVar12; *(int *)(uVar9 * 4 + 0x990) = iVar15 + iVar17 + (uint)CARRY2(uVar7,uVar12); if ((iVar17 == 2) && (uVar12 == 0x7100)) { FUN_1020_08a9(); FUN_1000_bc36(); uVar12 = (uint)DAT_1028_07d1; *(undefined2 *)(uVar12 * 4 + 0x98e) = 0; *(undefined2 *)(uVar12 * 4 + 0x990) = 0; *(char *)(DAT_1028_07d1 + 0x9a1) = *(char *)(DAT_1028_07d1 + 0x9a1) + '\x01'; piVar2 = (int *)((uint)DAT_1028_07d1 * 2 + 0x81f); *piVar2 = *piVar2 + 1; FUN_1000_a604(); GETDC(); RELEASEDC(); if (((DAT_1028_07c7 == '\0') && (DAT_1028_07c8 == '\0')) && (DAT_1028_0874 == '\0')) { DAT_1028_0851 = 0; DAT_1028_0853 = 0; DAT_1028_07c8 = '\x01'; *(undefined1 *)((int)*(undefined4 *)(param_1 + 6) + 0xbdd) = 0; } DAT_1028_0874 = '\0'; } else { *(undefined1 *) ((int)*(undefined4 *)(param_1 + 6) + (uint)DAT_1028_07d1 * 0x14 + local_4 + 0x3f5) = 1; FUN_1000_b30b(); } uVar9 = 0; FUN_1020_08a9(); FUN_1000_bda2(); } uVar19 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10); iVar15 = (int)*(undefined4 *)(param_1 + 6); *(undefined2 *)(iVar15 + 0xbca) = 0; *(undefined2 *)(iVar15 + 0xbcc) = 0; uVar12 = uVar9; if (*(char *)(iVar15 + 0x61) == '\x01') { if (local_4 == 0x94) { DAT_1028_399a = 2; } else { *(undefined2 *)(iVar16 + 0x99e) = 99; } if (DAT_1028_07c6 == '\0') { *(undefined1 *)((int)*(undefined4 *)(param_1 + 6) + 0xbe2) = 1; } else { FUN_1000_ae6e(); uVar12 = uVar9; } } else { *(undefined1 *)((int)*(undefined4 *)(param_1 + 6) + 0xbe1) = 1; *(undefined1 *)((local_8 + 0xad) * 0x53 + 0x98f) = 0; *(undefined2 *)(iVar16 + 0x99e) = 2; } } } else if (((local_66 < 0x8000) || ((-2 < (int)local_66 && (0xd508 < local_68)))) && ((uVar9 = uVar12, -1 < (int)local_8 && (*(uint *)(iVar16 + 0x99e) == local_8)))) { *(undefined2 *)(iVar16 + 0x99e) = 0; uVar19 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10); iVar15 = (int)*(undefined4 *)(param_1 + 6); *(undefined2 *)(iVar15 + 0xbca) = 0; *(undefined2 *)(iVar15 + 0xbcc) = 0; } else { uVar12 = uVar9; if ((((int)local_66 < (int)local_14) || (((int)local_66 <= (int)local_14 && (local_68 <= local_16)))) && (((local_66 < 0x8000 || ((-2 < (int)local_66 && (0xd507 < local_68)))) && (*(int *)(iVar16 + 0x99e) != 0)))) { uVar19 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10); iVar15 = (int)*(undefined4 *)(param_1 + 6); local_72 = (*(int *)(iVar16 + 0x973) - *(int *)(iVar15 + 0xbc0)) - (uint)(*(uint *)(iVar16 + 0x971) < *(uint *)(iVar15 + 0xbbe)); FUN_1020_100b(); FUN_1020_1017(); local_76 = FUN_1020_100b(); uVar19 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10); iVar15 = (int)*(undefined4 *)(param_1 + 6); local_78 = (*(int *)(iVar15 + 0xbbc) - *(int *)(iVar16 + 0x96f)) - (uint)(*(uint *)(iVar15 + 0xbba) < *(uint *)(iVar16 + 0x96d)); local_7a = uVar9; FUN_1020_100b(); FUN_1020_1017(); local_7c = FUN_1020_100b(); FUN_1020_0ffd(); FUN_1020_0ff1(); uVar12 = uVar9; FUN_1020_0ffd(); FUN_1020_0ff1(); iVar15 = extraout_DX_05; FUN_1020_0fe5(); FUN_1020_10be(); FUN_1020_0ff7(); iVar17 = FUN_1020_1017(); if ((iVar15 < 1) && ((iVar15 < 0 || (iVar17 == 0)))) { local_64 = 0; local_62 = 0; } else { FUN_1020_100b(); FUN_1020_0ff7(); local_62 = uVar11; uVar12 = uVar10; FUN_1020_0ff7(); FUN_1020_0feb(); FUN_1020_0ffd(); local_64 = FUN_1020_1017(); } local_74 = uVar9; if ((int)local_62 < 0) { uVar7 = local_68; uVar12 = local_66; if ((int)local_66 < 0) { uVar7 = -local_68; uVar12 = (~local_66 + 1) - (uint)(local_68 != 0); } uVar9 = local_64; uVar8 = local_62; if ((int)local_62 < 0) { uVar9 = -local_64; uVar8 = (~local_62 + 1) - (uint)(local_64 != 0); } if (((int)uVar12 < (int)uVar8) || (((int)uVar12 <= (int)uVar8 && (uVar7 <= uVar9)))) { bVar21 = true; } } } } } LAB_1000_e060: in_BX = uVar12; if (bVar21) { uVar19 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10); iVar15 = (int)*(undefined4 *)(param_1 + 6); *(undefined2 *)(iVar15 + 0xbca) = 0; *(undefined2 *)(iVar15 + 0xbcc) = 0; if (((int)local_66 < (int)local_6e) || (((int)local_66 <= (int)local_6e && (local_68 <= local_70)))) { local_70 = local_68; local_6e = local_66; iVar14 = iVar14 + 1; iVar15 = iVar14 * 0x34; *(uint *)(&stack0xd89e + iVar15) = local_68; *(uint *)(&stack0xd8a0 + iVar15) = local_66; *(int *)(&stack0xd86e + iVar15) = local_4; *(undefined2 *)(&stack0xd870 + iVar15) = local_76; *(uint *)(&stack0xd872 + iVar15) = local_74; *(uint *)(&stack0xd874 + iVar15) = local_72; *(undefined2 *)(&stack0xd876 + iVar15) = local_7c; *(uint *)(&stack0xd878 + iVar15) = local_7a; *(uint *)(&stack0xd87a + iVar15) = local_78; uVar19 = *(undefined2 *)(iVar16 + 0x98b); uVar4 = *(undefined2 *)(iVar16 + 0x98d); *(undefined2 *)(&stack0xd886 + iVar15) = *(undefined2 *)(iVar16 + 0x989); *(undefined2 *)(&stack0xd888 + iVar15) = uVar19; *(undefined2 *)(&stack0xd88a + iVar15) = uVar4; uVar19 = *(undefined2 *)(iVar16 + 0x985); uVar4 = *(undefined2 *)(iVar16 + 0x987); *(undefined2 *)(&stack0xd880 + iVar15) = *(undefined2 *)(iVar16 + 0x983); *(undefined2 *)(&stack0xd882 + iVar15) = uVar19; *(undefined2 *)(&stack0xd884 + iVar15) = uVar4; *(uint *)(&stack0xd87c + iVar15) = local_64; *(uint *)(&stack0xd87e + iVar15) = local_62; uVar19 = *(undefined2 *)(iVar16 + 0x992); uVar4 = *(undefined2 *)(iVar16 + 0x994); *(undefined2 *)(&stack0xd88c + iVar15) = *(undefined2 *)(iVar16 + 0x990); *(undefined2 *)(&stack0xd88e + iVar15) = uVar19; *(undefined2 *)(&stack0xd890 + iVar15) = uVar4; in_BX = *(uint *)(iVar16 + 0x998); uVar19 = *(undefined2 *)(iVar16 + 0x99a); *(undefined2 *)(&stack0xd892 + iVar15) = *(undefined2 *)(iVar16 + 0x996); *(uint *)(&stack0xd894 + iVar15) = in_BX; *(undefined2 *)(&stack0xd896 + iVar15) = uVar19; *(undefined2 *)(&stack0xd898 + iVar15) = *(undefined2 *)(iVar16 + 0x99c); uVar19 = *(undefined2 *)(iVar16 + 0x9a2); *(undefined2 *)(&stack0xd89a + iVar15) = *(undefined2 *)(iVar16 + 0x9a0); *(undefined2 *)(&stack0xd89c + iVar15) = uVar19; } } } if (local_4 == 0xaf) break; local_4 = local_4 + 1; } while( true ); if (iVar14 != 0) { if (in_stack_0000d8cc != 0) { FUN_1000_b476(); } if (in_stack_0000d8ce != 0 || in_stack_0000d8d0 != 0) { bVar21 = true; FUN_1020_1007(); if (bVar21) { FUN_1000_bc36(); } } FUN_1020_0ffd(); FUN_1020_0ff1(); FUN_1020_0ffd(); FUN_1020_0ff1(); FUN_1020_0fe5(); FUN_1020_10be(); FUN_1020_0ff7(); FUN_1020_1017(); FUN_1020_100b(); FUN_1020_0ff7(); FUN_1020_0ff7(); FUN_1020_0fe5(); FUN_1020_0ffd(); FUN_1020_1017(); FUN_1020_100b(); FUN_1020_0ff7(); FUN_1020_0ff7(); FUN_1020_100b(); FUN_1020_0ff7(); FUN_1020_100b(); FUN_1020_0ff7(); FUN_1020_10be(); FUN_1020_0ffd(); FUN_1020_100b(); FUN_1020_100b(); FUN_1020_0ff7(); FUN_1020_0ffd(); iVar16 = 0x4ccc; FUN_1020_0ff7(); FUN_1020_0feb(); FUN_1020_0feb(); FUN_1020_1017(); local_3e = 0x9999; local_3c = 0x1999; FUN_1020_0ff7(); local_40 = FUN_1020_0fe5(); if ((in_stack_0000d8a2 == 0xae) || (in_stack_0000d8a2 == 0xaf)) { iVar17 = (in_stack_0000d8a2 + -0xae) * 4; iVar15 = *(int *)(iVar17 + 0x805); if ((iVar15 < 0) || ((iVar15 < 1 && (*(int *)(iVar17 + 0x803) == 0)))) { FUN_1020_100b(); iVar17 = in_stack_0000d8b2; FUN_1020_100b(); FUN_1020_0ff7(); FUN_1020_0ffd(); uVar11 = FUN_1020_1017(); iVar15 = (in_stack_0000d8a2 + -0xae) * 4; uVar10 = *(uint *)(iVar15 + 0x7f3); iVar15 = *(int *)(iVar15 + 0x7f5); iVar18 = (in_stack_0000d8a2 + -0xae) * 4; *(int *)(iVar18 + 0x7f3) = uVar10 + uVar11; *(int *)(iVar18 + 0x7f5) = iVar15 + iVar17 + (uint)CARRY2(uVar10,uVar11); FUN_1020_100b(); iVar17 = in_stack_0000d8b2; FUN_1020_100b(); FUN_1020_0ff7(); FUN_1020_0ffd(); uVar11 = FUN_1020_1017(); iVar15 = (in_stack_0000d8a2 + -0xae) * 4; uVar10 = *(uint *)(iVar15 + 0x7fb); iVar15 = *(int *)(iVar15 + 0x7fd); iVar18 = (in_stack_0000d8a2 + -0xae) * 4; *(int *)(iVar18 + 0x7fb) = uVar10 - uVar11; *(int *)(iVar18 + 0x7fd) = (iVar15 - iVar17) - (uint)(uVar10 < uVar11); } } FUN_1020_100b(); FUN_1020_100b(); FUN_1020_100b(); FUN_1020_0ff7(); FUN_1020_0ffd(); in_BX = 0; local_62 = 0; FUN_1020_0fe5(); FUN_1020_0feb(); FUN_1020_0ff7(); local_64 = FUN_1020_1017(); if (DAT_1028_07c6 == '\0') { bVar21 = false; in_BX = in_stack_0000d8c2; FUN_1020_1007(); if (bVar21) { iVar15 = *(int *)((int)*(undefined4 *)(param_1 + 6) + 0x58); FUN_1020_100b(); FUN_1020_0ff7(); uVar10 = FUN_1020_1017(); if ((in_stack_0000d8b2 < iVar15) || ((in_stack_0000d8b2 <= iVar15 && (in_stack_0000d8b0 < uVar10)))) { if (in_stack_0000d8ce == 0 && in_stack_0000d8d0 == 0) { FUN_1008_0002(); } else { FUN_1000_bc36(); } in_BX = *(uint *)((int)*(undefined4 *)(param_1 + 6) + 0x58); FUN_1020_100b(); FUN_1020_0ff7(); uVar10 = FUN_1020_1017(); bVar21 = local_64 < uVar10; local_64 = local_64 - uVar10; local_62 = (local_62 - in_BX) - (uint)bVar21; } } } FUN_1020_100b(); FUN_1020_100b(); FUN_1020_0ff7(); FUN_1020_100b(); FUN_1020_0ff7(); FUN_1020_0feb(); FUN_1020_0ffd(); uVar11 = FUN_1020_1017(); FUN_1020_100b(); FUN_1020_100b(); FUN_1020_0ff7(); uVar10 = local_62; FUN_1020_100b(); FUN_1020_0ff7(); FUN_1020_0fe5(); FUN_1020_0ffd(); uVar22 = FUN_1020_1017(); bVar21 = CARRY2(local_e,uVar11); local_e = local_e + uVar11; local_c = local_c + iVar16 + (uint)bVar21; bVar21 = CARRY2(local_12,uVar22); local_12 = local_12 + uVar22; local_10 = local_10 + uVar10 + (uint)bVar21; if (in_stack_0000d8a2 == 0x19) { if (((int)local_14 < 0) || (((int)local_14 < 1 && (local_16 < 1000)))) { *(undefined1 *)((int)*(undefined4 *)(param_1 + 6) + 0xbdd) = 0; local_12 = 0; local_10 = 0; } local_c = 0; local_e = 0; } else if (in_stack_0000d8a2 == 2) { if (*(byte *)((int)*(undefined4 *)(param_1 + 6) + 0x61) < 2) { FUN_1000_ae6e(); } else { *(undefined1 *)((local_8 + 0xad) * 0x53 + 0x98f) = 0; DAT_1028_0874 = '\0'; } } } if (*(char *)((int)*(undefined4 *)(param_1 + 6) + 0xbdd) != '\0') { uVar19 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10); iVar16 = (int)*(undefined4 *)(param_1 + 6); *(undefined2 *)(iVar16 + 0xbce) = local_40; *(uint *)(iVar16 + 0xbd0) = local_3e; *(undefined2 *)(iVar16 + 0xbd2) = local_3c; *(uint *)(iVar16 + 0xbaa) = local_e; *(uint *)(iVar16 + 0xbac) = local_c; *(uint *)(iVar16 + 0xbae) = local_12; *(uint *)(iVar16 + 0xbb0) = local_10; FUN_1020_100b(); FUN_1020_0ffd(); FUN_1020_0ff1(); FUN_1020_100b(); FUN_1020_0ffd(); FUN_1020_0ff1(); iVar15 = extraout_DX_06; FUN_1020_0fe5(); FUN_1020_10be(); FUN_1020_0ff7(); uVar10 = FUN_1020_1017(); uVar19 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10); iVar17 = (int)*(undefined4 *)(param_1 + 6); iVar16 = *(int *)(iVar17 + 0x58); if ((iVar16 < iVar15) || ((in_BX = local_3e, iVar16 <= iVar15 && (*(uint *)(iVar17 + 0x56) < uVar10)))) { FUN_1020_100b(); uVar19 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10); iVar16 = (int)*(undefined4 *)(param_1 + 6); iVar17 = (iVar15 - *(int *)(iVar16 + 0x58)) - (uint)(uVar10 < *(uint *)(iVar16 + 0x56)); FUN_1020_08a9(); FUN_1020_100b(); FUN_1020_0ffd(); uVar22 = FUN_1020_1017(); uVar19 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10); iVar18 = (int)*(undefined4 *)(param_1 + 6); uVar11 = *(uint *)(iVar18 + 0xbaa); iVar16 = *(int *)(iVar18 + 0xbac); *(int *)(iVar18 + 0xbaa) = uVar11 - uVar22; *(int *)(iVar18 + 0xbac) = (iVar16 - iVar17) - (uint)(uVar11 < uVar22); FUN_1020_100b(); uVar19 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10); iVar16 = (int)*(undefined4 *)(param_1 + 6); in_BX = (iVar15 - *(int *)(iVar16 + 0x58)) - (uint)(uVar10 < *(uint *)(iVar16 + 0x56)); FUN_1020_08a9(); FUN_1020_100b(); FUN_1020_0ffd(); uVar11 = FUN_1020_1017(); uVar19 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10); iVar15 = (int)*(undefined4 *)(param_1 + 6); uVar10 = *(uint *)(iVar15 + 0xbae); iVar16 = *(int *)(iVar15 + 0xbb0); *(int *)(iVar15 + 0xbae) = uVar10 - uVar11; *(int *)(iVar15 + 0xbb0) = (iVar16 - in_BX) - (uint)(uVar10 < uVar11); } uVar19 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10); iVar16 = (int)*(undefined4 *)(param_1 + 6); bVar21 = CARRY2(DAT_1028_07d3,*(uint *)(iVar16 + 0xbaa)); DAT_1028_07d3 = DAT_1028_07d3 + *(uint *)(iVar16 + 0xbaa); DAT_1028_07d5 = DAT_1028_07d5 + *(int *)(iVar16 + 0xbac) + (uint)bVar21; bVar21 = CARRY2(DAT_1028_07d7,*(uint *)(iVar16 + 0xbae)); DAT_1028_07d7 = DAT_1028_07d7 + *(uint *)(iVar16 + 0xbae); DAT_1028_07d9 = DAT_1028_07d9 + *(int *)(iVar16 + 0xbb0) + (uint)bVar21; FUN_1000_bdde(); } if (iVar14 != 0) goto LAB_1000_ea63; uVar19 = (undefined2)((ulong)*(undefined4 *)(param_1 + 6) >> 0x10); iVar14 = (int)*(undefined4 *)(param_1 + 6); if (((*(char *)(iVar14 + 0xbe2) == '\x01') || (*(char *)(iVar14 + 0xbe1) == '\x01')) || (iVar13 == iVar5)) goto LAB_1000_ea63; iVar13 = iVar13 + 1; goto LAB_1000_c839; } /* ===== 1000:eab1 exported_ordinal_10 ===== */ void __stdcall16far exported_ordinal_10(undefined4 param_1) { char *pcVar1; undefined1 uVar2; undefined1 uVar3; undefined2 uVar4; undefined2 uVar5; undefined2 uVar6; undefined2 uVar7; undefined2 uVar8; int iVar9; uint uVar10; int iVar11; int iVar12; undefined2 uVar13; undefined2 unaff_CS; bool bVar14; undefined2 uVar15; undefined2 uVar16; undefined2 uVar17; undefined2 uVar18; undefined1 local_4d; int local_30; int local_2e; uVar13 = (undefined2)((ulong)param_1 >> 0x10); iVar12 = (int)param_1; if (*(int *)(iVar12 + 0x41) != 0 || *(int *)(iVar12 + 0x43) != 0) { return; } if (*(int *)(iVar12 + 0x45) != 0 || *(int *)(iVar12 + 0x47) != 0) { return; } if (*(char *)(iVar12 + 0xbd8) != '\0') { return; } if (*(char *)(iVar12 + 0xbd9) != '\0') { return; } if (DAT_1028_07cc != '\0') { return; } if (*(char *)(iVar12 + 0x51) != '\0') { return; } if (DAT_1028_07c4 == '\0') { return; } *(undefined1 *)(iVar12 + 0x51) = 1; if (DAT_1028_07c5 != '\0') { local_30 = 1; while( true ) { unaff_CS = 0x1000; FUN_1000_7e12(&stack0xfffe,local_30); if (local_30 == 0xaf) break; local_30 = local_30 + 1; } DAT_1028_07c5 = '\0'; } bVar14 = 0xfffe < DAT_1028_0876; DAT_1028_0876 = DAT_1028_0876 + 1; DAT_1028_0878 = DAT_1028_0878 + (uint)bVar14; if (*(char *)(iVar12 + 0xbdd) != '\0') { if ((DAT_1028_07ca != '\0') && (DAT_1028_0874 == '\0')) { if (DAT_1028_086d == DAT_1028_086f) { if (DAT_1028_086d == 10) { uVar8 = GETDC(unaff_CS,*(undefined2 *)(iVar12 + 4)); FUN_1008_0e08(0,0,uVar8); RELEASEDC(0x1008,uVar8); if (DAT_1028_0873 == '\0') { DAT_1028_07ca = '\0'; for (local_2e = 0xc; *(undefined1 *)(local_2e * 0x53 + 0x98f) = 1, local_2e != 0x14; local_2e = local_2e + 1) { } } } else { uVar18 = GETDC(unaff_CS,*(undefined2 *)(iVar12 + 4)); FUN_1008_0e08(0,DAT_1028_086d,uVar18); uVar8 = *(undefined2 *)(iVar12 + 4); RELEASEDC(0x1008,uVar18); DAT_1028_086f = 10; DAT_1028_0873 = '\0'; DAT_1028_2679 = 0; *(undefined2 *)(iVar12 + 0xbca) = 0; *(undefined2 *)(iVar12 + 0xbcc) = 0; *(undefined2 *)(iVar12 + 0xbce) = 0; *(undefined2 *)(iVar12 + 0xbd0) = 0; *(undefined2 *)(iVar12 + 0xbd2) = 0; if (DAT_1028_086d == 1) { DAT_1028_07d3 = 0xefd0; DAT_1028_07d5 = 3; DAT_1028_07d7 = 0x30b0; DAT_1028_07d9 = 1; uVar18 = *(undefined2 *)(iVar12 + 0x58); FUN_1020_100b(uVar8); FUN_1020_0ff7(); uVar8 = FUN_1020_1017(); *(undefined2 *)(iVar12 + 0xbaa) = uVar8; *(undefined2 *)(iVar12 + 0xbac) = uVar18; uVar8 = *(undefined2 *)(iVar12 + 0x58); FUN_1020_100b(); FUN_1020_0ff7(); uVar18 = FUN_1020_1017(); *(undefined2 *)(iVar12 + 0xbae) = uVar18; *(undefined2 *)(iVar12 + 0xbb0) = uVar8; } else if (DAT_1028_086d == 2) { DAT_1028_07d3 = 0xf3b8; DAT_1028_07d5 = 3; DAT_1028_07d7 = 0x3c68; DAT_1028_07d9 = 1; uVar18 = *(undefined2 *)(iVar12 + 0x58); FUN_1020_100b(uVar8); FUN_1020_0ff7(); uVar8 = FUN_1020_1017(); *(undefined2 *)(iVar12 + 0xbaa) = uVar8; *(undefined2 *)(iVar12 + 0xbac) = uVar18; uVar8 = *(undefined2 *)(iVar12 + 0x58); FUN_1020_100b(); FUN_1020_0ff7(); uVar18 = FUN_1020_1017(); *(undefined2 *)(iVar12 + 0xbae) = uVar18; *(undefined2 *)(iVar12 + 0xbb0) = uVar8; } else if (DAT_1028_086d == 3) { DAT_1028_07d3 = 0xefd0; DAT_1028_07d5 = 3; DAT_1028_07d7 = 0x30b0; DAT_1028_07d9 = 1; uVar18 = *(undefined2 *)(iVar12 + 0x58); FUN_1020_100b(uVar8); FUN_1020_0ff7(); uVar8 = FUN_1020_1017(); *(undefined2 *)(iVar12 + 0xbaa) = uVar8; *(undefined2 *)(iVar12 + 0xbac) = uVar18; uVar8 = *(undefined2 *)(iVar12 + 0x58); FUN_1020_100b(); FUN_1020_0ff7(); uVar18 = FUN_1020_1017(); *(undefined2 *)(iVar12 + 0xbae) = uVar18; *(undefined2 *)(iVar12 + 0xbb0) = uVar8; } else if (DAT_1028_086d == 4) { DAT_1028_07d3 = 0xfb88; DAT_1028_07d5 = 3; DAT_1028_07d7 = 0x4ff0; DAT_1028_07d9 = 1; uVar18 = *(undefined2 *)(iVar12 + 0x58); FUN_1020_100b(uVar8); FUN_1020_0ff7(); uVar8 = FUN_1020_1017(); *(undefined2 *)(iVar12 + 0xbaa) = uVar8; *(undefined2 *)(iVar12 + 0xbac) = uVar18; uVar8 = *(undefined2 *)(iVar12 + 0x58); FUN_1020_100b(); FUN_1020_0ff7(); uVar18 = FUN_1020_1017(); *(undefined2 *)(iVar12 + 0xbae) = uVar18; *(undefined2 *)(iVar12 + 0xbb0) = uVar8; } else if (DAT_1028_086d == 5) { DAT_1028_07d3 = 0xf10; DAT_1028_07d5 = 4; DAT_1028_07d7 = 0x5f90; DAT_1028_07d9 = 1; uVar18 = *(undefined2 *)(iVar12 + 0x58); FUN_1020_100b(uVar8); FUN_1020_0ff7(); uVar8 = FUN_1020_1017(); *(undefined2 *)(iVar12 + 0xbaa) = uVar8; *(undefined2 *)(iVar12 + 0xbac) = uVar18; uVar8 = *(undefined2 *)(iVar12 + 0x58); FUN_1020_100b(); FUN_1020_0ff7(); uVar18 = FUN_1020_1017(); *(undefined2 *)(iVar12 + 0xbae) = uVar18; *(undefined2 *)(iVar12 + 0xbb0) = uVar8; } else if (DAT_1028_086d == 6) { DAT_1028_07d3 = 0x1eb0; DAT_1028_07d5 = 4; DAT_1028_07d7 = 0x6f30; DAT_1028_07d9 = 1; uVar18 = *(undefined2 *)(iVar12 + 0x58); FUN_1020_100b(uVar8); FUN_1020_0ff7(); uVar8 = FUN_1020_1017(); *(undefined2 *)(iVar12 + 0xbaa) = uVar8; *(undefined2 *)(iVar12 + 0xbac) = uVar18; uVar8 = *(undefined2 *)(iVar12 + 0x58); FUN_1020_100b(); FUN_1020_0ff7(); uVar18 = FUN_1020_1017(); *(undefined2 *)(iVar12 + 0xbae) = uVar18; *(undefined2 *)(iVar12 + 0xbb0) = uVar8; } else if (DAT_1028_086d == 7) { DAT_1028_07d3 = 0x3238; DAT_1028_07d5 = 4; DAT_1028_07d7 = 0x7ae8; DAT_1028_07d9 = 1; uVar18 = *(undefined2 *)(iVar12 + 0x58); FUN_1020_100b(uVar8); FUN_1020_0ff7(); uVar8 = FUN_1020_1017(); *(undefined2 *)(iVar12 + 0xbaa) = uVar8; *(undefined2 *)(iVar12 + 0xbac) = uVar18; uVar8 = *(undefined2 *)(iVar12 + 0x58); FUN_1020_100b(); FUN_1020_0ff7(); uVar18 = FUN_1020_1017(); *(undefined2 *)(iVar12 + 0xbae) = uVar18; *(undefined2 *)(iVar12 + 0xbb0) = uVar8; } else if (DAT_1028_086d == 8) { DAT_1028_07d3 = 0x3df0; DAT_1028_07d5 = 4; DAT_1028_07d7 = 0x7ed0; DAT_1028_07d9 = 1; uVar18 = *(undefined2 *)(iVar12 + 0x58); FUN_1020_100b(uVar8); FUN_1020_0ff7(); uVar8 = FUN_1020_1017(); *(undefined2 *)(iVar12 + 0xbaa) = uVar8; *(undefined2 *)(iVar12 + 0xbac) = uVar18; uVar8 = *(undefined2 *)(iVar12 + 0x58); FUN_1020_100b(); FUN_1020_0ff7(); uVar18 = FUN_1020_1017(); *(undefined2 *)(iVar12 + 0xbae) = uVar18; *(undefined2 *)(iVar12 + 0xbb0) = uVar8; } else if (DAT_1028_086d == 9) { DAT_1028_07d3 = 0x4d90; DAT_1028_07d5 = 4; DAT_1028_07d7 = 0x8a88; DAT_1028_07d9 = 1; uVar18 = *(undefined2 *)(iVar12 + 0x58); FUN_1020_100b(uVar8); FUN_1020_0ff7(); uVar8 = FUN_1020_1017(); *(undefined2 *)(iVar12 + 0xbaa) = uVar8; *(undefined2 *)(iVar12 + 0xbac) = uVar18; uVar8 = *(undefined2 *)(iVar12 + 0x58); FUN_1020_100b(); FUN_1020_0ff7(); uVar18 = FUN_1020_1017(); *(undefined2 *)(iVar12 + 0xbae) = uVar18; *(undefined2 *)(iVar12 + 0xbb0) = uVar8; } else if (DAT_1028_086d == 0x12) { DAT_1028_07d3 = 0xf588; DAT_1028_07d5 = 4; DAT_1028_07d7 = 0x6760; DAT_1028_07d9 = 1; *(undefined2 *)(iVar12 + 0xbaa) = 0; *(undefined2 *)(iVar12 + 0xbac) = 0; *(undefined2 *)(iVar12 + 0xbae) = 1000; *(undefined2 *)(iVar12 + 0xbb0) = 0; } FUN_1000_c426(&stack0xfffe,1,0); FUN_1000_9bca(&stack0xfffe); FUN_1008_0002(0x10); *(undefined1 *)(iVar12 + 0xbdf) = 0; } } else { uVar8 = GETDC(unaff_CS,*(undefined2 *)(iVar12 + 4)); if (DAT_1028_086d < DAT_1028_086f) { DAT_1028_086d = DAT_1028_086d + 1; } else { DAT_1028_086d = DAT_1028_086d - 1; } FUN_1008_0e08(CONCAT11((char)(DAT_1028_086d >> 8),DAT_1028_0873),DAT_1028_086d,uVar8); RELEASEDC(0x1008,uVar8); } } local_2e = 1; while( true ) { if ((*(char *)(iVar12 + local_2e + 0x61) != '\0') && (pcVar1 = (char *)(iVar12 + local_2e + 0x61), *pcVar1 = *pcVar1 + -1, *(char *)(iVar12 + local_2e + 0x61) == '\0')) { FUN_1000_b3f3(&stack0xfffe,local_2e); } if (local_2e == 0xaf) break; local_2e = local_2e + 1; } if (DAT_1028_07c7 != '\0') { if ((DAT_1028_0857 < 0) || ((DAT_1028_0857 < 1 && (DAT_1028_0855 < 6)))) { bVar14 = 0xfffe < DAT_1028_0855; DAT_1028_0855 = DAT_1028_0855 + 1; DAT_1028_0857 = DAT_1028_0857 + (uint)bVar14; FUN_1000_6f27(&stack0xfffe); } else { DAT_1028_07c7 = '\0'; } } uVar18 = DAT_1028_07e9; uVar8 = DAT_1028_07e5; if (1 < *(byte *)(iVar12 + 0x61)) { if (DAT_1028_41f9 == '\0') { if (*(char *)(iVar12 + 0xbe1) == '\0') { *(undefined2 *)(iVar12 + 0xbc2) = DAT_1028_07e3; *(undefined2 *)(iVar12 + 0xbc4) = uVar8; uVar8 = DAT_1028_07ed; *(undefined2 *)(iVar12 + 0xbc6) = DAT_1028_07eb; *(undefined2 *)(iVar12 + 0xbc8) = uVar8; FUN_1000_a38e(&stack0xfffe,0); } else { *(undefined1 *)(iVar12 + 0xbe1) = 0; } *(undefined1 *)(iVar12 + 0x61) = 1; uVar8 = DAT_1028_07e9; DAT_1028_0874 = '\0'; DAT_1028_41f9 = '\x01'; if (DAT_1028_424c == '\0') { *(undefined2 *)(iVar12 + 0xbc2) = DAT_1028_07e7; *(undefined2 *)(iVar12 + 0xbc4) = uVar8; uVar8 = DAT_1028_07f1; *(undefined2 *)(iVar12 + 0xbc6) = DAT_1028_07ef; *(undefined2 *)(iVar12 + 0xbc8) = uVar8; FUN_1000_ae6e(&stack0xfffe); } else { DAT_1028_07e3 = DAT_1028_07e7; DAT_1028_07e5 = DAT_1028_07e9; DAT_1028_07eb = DAT_1028_07ef; DAT_1028_07ed = DAT_1028_07f1; DAT_1028_07f3 = DAT_1028_07f7; DAT_1028_07f5 = DAT_1028_07f9; DAT_1028_07fb = DAT_1028_07ff; DAT_1028_07fd = DAT_1028_0801; DAT_1028_080b = DAT_1028_0811; DAT_1028_080d = DAT_1028_0813; DAT_1028_080f = DAT_1028_0815; DAT_1028_0803 = DAT_1028_0807; DAT_1028_0805 = DAT_1028_0809; FUN_1000_c36b(&stack0xfffe,0,0); DAT_1028_424c = '\0'; } } else if (DAT_1028_424c == '\0') { if (*(char *)(iVar12 + 0xbe1) == '\0') { *(undefined2 *)(iVar12 + 0xbc2) = DAT_1028_07e7; *(undefined2 *)(iVar12 + 0xbc4) = uVar18; uVar8 = DAT_1028_07f1; *(undefined2 *)(iVar12 + 0xbc6) = DAT_1028_07ef; *(undefined2 *)(iVar12 + 0xbc8) = uVar8; FUN_1000_a38e(&stack0xfffe,0); } else { *(undefined1 *)(iVar12 + 0xbe1) = 0; } *(undefined1 *)(iVar12 + 0x61) = 1; DAT_1028_0874 = '\0'; FUN_1000_c36b(&stack0xfffe,0,0); } } if ((*(char *)(iVar12 + 0xbd8) == '\0') && (*(char *)(iVar12 + 0xbdf) == '\0')) { FUN_1000_c79c(&stack0xfffe); } if (*(char *)(iVar12 + 0xbe2) == '\x01') { *(undefined1 *)(iVar12 + 0xbe2) = 0; FUN_1000_c426(&stack0xfffe,1,0); FUN_1000_bdde(&stack0xfffe,2,0); FUN_1000_9e85(&stack0xfffe); uVar8 = GETDC(0x1000,*(undefined2 *)(iVar12 + 4)); FUN_1008_08bb(0x14,0x94,0xf3,0x54,uVar8); FUN_1008_093f(0x14,0x94,0xf3,0x54,uVar8); RELEASEDC(0x1008,uVar8); FUN_1000_c426(&stack0xfffe,0,0); FUN_1000_bdde(&stack0xfffe,1,0); } if (*(char *)(iVar12 + 0xbe0) == '\x01') { FUN_1000_c426(&stack0xfffe,0,0); FUN_1000_bdde(&stack0xfffe,1,0); uVar8 = DAT_1028_396b; DAT_1028_07d3 = DAT_1028_3969; DAT_1028_07d5 = DAT_1028_396b; DAT_1028_07d7 = DAT_1028_396d; DAT_1028_07d9 = DAT_1028_396f; *(undefined2 *)(iVar12 + 0xbc2) = DAT_1028_3969; *(undefined2 *)(iVar12 + 0xbc4) = uVar8; uVar8 = DAT_1028_07d9; *(undefined2 *)(iVar12 + 0xbc6) = DAT_1028_07d7; *(undefined2 *)(iVar12 + 0xbc8) = uVar8; FUN_1000_a38e(&stack0xfffe,0); *(undefined1 *)(iVar12 + (uint)DAT_1028_07d1 * 0x14 + 0x47b) = 0; FUN_1000_b3f3(&stack0xfffe,0x3fc); *(undefined2 *)(iVar12 + 0xbaa) = 0; *(undefined2 *)(iVar12 + 0xbac) = 0; uVar8 = *(undefined2 *)(iVar12 + 0x58); FUN_1020_100b(); FUN_1020_0ff7(); uVar18 = FUN_1020_1017(); *(undefined2 *)(iVar12 + 0xbae) = uVar18; *(undefined2 *)(iVar12 + 0xbb0) = uVar8; *(undefined2 *)(iVar12 + 0xbca) = 0; *(undefined2 *)(iVar12 + 0xbcc) = 0; *(undefined2 *)(iVar12 + 0xbce) = 0; *(undefined2 *)(iVar12 + 0xbd0) = 0; *(undefined2 *)(iVar12 + 0xbd2) = 0; DAT_1028_399a = 2; FUN_1000_c426(&stack0xfffe,1,0); FUN_1000_bdde(&stack0xfffe,2,0); DAT_1028_41f9 = '\x01'; DAT_1028_424c = '\x01'; *(undefined1 *)(iVar12 + 0x61) = 2; DAT_1028_0874 = '\x01'; *(undefined1 *)(iVar12 + 0xbe0) = 0; } goto LAB_1000_fd59; } if (DAT_1028_07c9 != '\0') { iVar9 = 2; iVar11 = 0; FUN_1020_08e6(); if (iVar9 == 0 && iVar11 == 0) { FUN_1020_08e6(); iVar9 = FUN_1020_08e6(); if ((iVar9 < 0) || (7 < iVar9)) { if ((7 < iVar9) && (iVar9 < 0x10)) { FUN_1000_b3f3(&stack0xfffe,iVar9 + 0x84); } } else { FUN_1000_b30b(&stack0xfffe,iVar9 + 0x8c); } } iVar9 = 4; iVar11 = 0; FUN_1020_08e6(); if (iVar9 == 0 && iVar11 == 0) { FUN_1020_08e6(); iVar9 = FUN_1020_08e6(); if (iVar9 == 0) { FUN_1000_b30b(&stack0xfffe,0x3e9); FUN_1000_b3f3(&stack0xfffe,0x3ea); } else if ((iVar9 < 1) || (4 < iVar9)) { if ((4 < iVar9) && (iVar9 < 9)) { FUN_1000_b30b(&stack0xfffe,0x3f1 - iVar9); FUN_1000_b3f3(&stack0xfffe,0x3f2 - iVar9); } } else { FUN_1000_b30b(&stack0xfffe,iVar9 + 0x3e9); FUN_1000_b3f3(&stack0xfffe,iVar9 + 1000); } } iVar9 = 0x20; uVar8 = 0x1020; FUN_1020_08e6(); if (iVar9 == 0) { FUN_1000_b30b(&stack0xfffe,0x99); FUN_1000_b30b(&stack0xfffe,0x9a); uVar8 = 0x1000; FUN_1000_b30b(&stack0xfffe,6); } else if (iVar9 == 0x10) { FUN_1000_b3f3(&stack0xfffe,0x99); FUN_1000_b3f3(&stack0xfffe,0x9a); uVar8 = 0x1000; FUN_1000_b3f3(&stack0xfffe,6); } iVar9 = 4; iVar11 = 0; uVar18 = 0xf62f; FUN_1020_08e6(); if (iVar9 == 0 && iVar11 == 0) { uVar8 = *(undefined2 *)(iVar12 + 4); uVar15 = GETDC(0x1020,uVar8); FUN_1020_08e6(); iVar9 = FUN_1020_08e6(); if (iVar9 < 5) { iVar9 = (iVar9 * 3 + 0x5a) * 0x53; local_4d = (undefined1)(iVar9 + 0x95b); uVar2 = (undefined1)((uint)(iVar9 + 0x95b) >> 8); uVar3 = 0x10; FUN_1008_0837((*(int *)(iVar9 + 0x9ac) - *(int *)(iVar9 + 0x9a8)) + 1, (*(int *)(iVar9 + 0x9aa) - *(int *)(iVar9 + 0x9a6)) + -10, *(undefined2 *)(iVar9 + 0x9a8),*(undefined2 *)(iVar9 + 0x9a6),uVar15); iVar9 = CONCAT11(uVar2,local_4d); uVar18 = (undefined2)(CONCAT13(uVar3,CONCAT12(0x28,iVar9)) >> 0x10); FUN_1008_093f((*(int *)(iVar9 + 0x51) - *(int *)(iVar9 + 0x4d)) + 1, (*(int *)(iVar9 + 0x4f) - *(int *)(iVar9 + 0x4b)) + -10, *(undefined2 *)(iVar9 + 0x4d),*(undefined2 *)(iVar9 + 0x4b),uVar15); } else { iVar9 = ((iVar9 + -5) * 3 + 0x5a) * 0x53; local_4d = (undefined1)(iVar9 + 0x95b); uVar2 = (undefined1)((uint)(iVar9 + 0x95b) >> 8); uVar3 = 0x10; FUN_1008_08bb((*(int *)(iVar9 + 0x9ac) - *(int *)(iVar9 + 0x9a8)) + 1, (*(int *)(iVar9 + 0x9aa) - *(int *)(iVar9 + 0x9a6)) + -10, *(undefined2 *)(iVar9 + 0x9a8),*(undefined2 *)(iVar9 + 0x9a6),uVar15); iVar9 = CONCAT11(uVar2,local_4d); uVar18 = (undefined2)(CONCAT13(uVar3,CONCAT12(0x28,iVar9)) >> 0x10); FUN_1008_093f((*(int *)(iVar9 + 0x51) - *(int *)(iVar9 + 0x4d)) + 1, (*(int *)(iVar9 + 0x4f) - *(int *)(iVar9 + 0x4b)) + -10, *(undefined2 *)(iVar9 + 0x4d),*(undefined2 *)(iVar9 + 0x4b),uVar15); } uVar18 = *(undefined2 *)(iVar12 + 4); RELEASEDC(0x1008,uVar15); } iVar9 = 4; iVar11 = 0; FUN_1020_08e6(uVar18,uVar8); if (iVar9 == 0 && iVar11 == 0) { uVar15 = GETDC(0x1020,*(undefined2 *)(iVar12 + 4)); FUN_1020_08e6(); uVar16 = 0x1020; iVar9 = FUN_1020_08e6(); if (iVar9 == 0) { FUN_1008_0837(9,9,0xd1,0x96,uVar15); FUN_1008_093f(9,9,0xd1,0x96,uVar15); FUN_1008_08bb(9,9,0xe0,0xc0,uVar15); uVar16 = 0x1008; FUN_1008_093f(9,9,0xe0,0xc0,uVar15); } else if (iVar9 == 1) { FUN_1008_0837(9,9,0xd6,0xa4,uVar15); FUN_1008_093f(9,9,0xd6,0xa4,uVar15); FUN_1008_08bb(9,9,0xd1,0x96,uVar15); uVar16 = 0x1008; FUN_1008_093f(9,9,0xd1,0x96,uVar15); } else if (iVar9 == 2) { FUN_1008_0837(9,9,0xdb,0xb2,uVar15); FUN_1008_093f(9,9,0xdb,0xb2,uVar15); FUN_1008_08bb(9,9,0xd6,0xa4,uVar15); uVar16 = 0x1008; FUN_1008_093f(9,9,0xd6,0xa4,uVar15); } else if (iVar9 == 3) { FUN_1008_0837(9,9,0xe0,0xc0,uVar15); FUN_1008_093f(9,9,0xe0,0xc0,uVar15); FUN_1008_08bb(9,9,0xdb,0xb2,uVar15); uVar16 = 0x1008; FUN_1008_093f(9,9,0xdb,0xb2,uVar15); } RELEASEDC(uVar16,uVar15); } iVar9 = 8; iVar11 = 0; FUN_1020_08e6(uVar18,uVar8); if (iVar9 == 0 && iVar11 == 0) { uVar8 = GETDC(0x1020,*(undefined2 *)(iVar12 + 4)); FUN_1020_08e6(); iVar9 = FUN_1020_08e6(); if (iVar9 < 10) { FUN_1008_0dbd(iVar9,uVar8); } else { FUN_1008_0dbd(0x12 - iVar9,uVar8); } RELEASEDC(0x1008,uVar8); } iVar9 = 6; iVar11 = 0; unaff_CS = 0x1020; FUN_1020_08e6(); if (iVar9 == 0 && iVar11 == 0) { bVar14 = 0xfffe < DAT_1028_087a; DAT_1028_087a = DAT_1028_087a + 1; DAT_1028_087c = DAT_1028_087c + (uint)bVar14; uVar4 = GETDC(0x1020,*(undefined2 *)(iVar12 + 4)); uVar5 = CREATECOMPATIBLEDC(0x1228,uVar4); uVar6 = CREATECOMPATIBLEDC(0x1228,uVar4); uVar7 = CREATECOMPATIBLEBITMAP(0x1228,0x1e,0x11c); uVar2 = SELECTOBJECT(0x1228,DAT_1028_085f); uVar16 = uVar6; uVar3 = SELECTOBJECT(0x1228,uVar7); uVar15 = uVar6; BITBLT(0x1228,0x20,0xcc,0x115,0x1d9,uVar5,0x1e,100,0,0); uVar18 = uVar6; BITBLT(0x1228,0x20,0xcc,0xe9,0x1d8,uVar5,0x1e,0x89,0,100); uVar8 = uVar5; SELECTOBJECT(0x1228,DAT_1028_0861); iVar9 = 0x31; iVar11 = 0; FUN_1020_08e6(uVar8,uVar18,uVar15,uVar16); if ((iVar11 < 1) && ((iVar11 < 0 || (iVar9 == 0)))) { LAB_1000_fabd: uVar16 = 0; uVar15 = 0; FUN_1020_08e6(0,0,uVar6); iVar9 = FUN_1020_08a9(); iVar9 = 0xed - iVar9; uVar18 = 0x1e; uVar8 = uVar5; FUN_1020_08e6(uVar5,0x1e,iVar9); iVar11 = FUN_1020_08a9(); BITBLT(0x1020,0xc6,0x88,0,iVar11 + 400,uVar8,uVar18,iVar9,uVar15,uVar16); FUN_1020_08e6(uVar6); iVar9 = FUN_1020_08a9(); iVar9 = 0xed - iVar9; uVar18 = 0; FUN_1020_08e6(0,iVar9); uVar8 = FUN_1020_08a9(); BITBLT(0x1020,0xc6,0x88,0,0xa0,uVar5,0x1e,uVar8,uVar18,iVar9); } else { uVar10 = 0x31; iVar9 = 0; FUN_1020_08e6(uVar8,uVar18,uVar15); if ((-1 < iVar9) && ((0 < iVar9 || (0x15 < uVar10)))) goto LAB_1000_fabd; uVar17 = 0; uVar16 = 0; uVar15 = 0xed; uVar18 = 0x1e; uVar8 = uVar5; FUN_1020_08e6(uVar5,0x1e,0xed,0,0,uVar6); iVar9 = FUN_1020_08a9(); BITBLT(0x1020,0xc6,0x88,0,iVar9 + 400,uVar8,uVar18,uVar15,uVar16,uVar17); } uVar18 = uVar4; BITBLT(0x1228,0x20,0xcc,0,0,uVar6,0x1e,0xed,0xe9,0x174); uVar8 = uVar5; SELECTOBJECT(0x28,uVar2); uVar2 = (undefined1)uVar6; SELECTOBJECT(0x28,uVar3); DELETEOBJECT(0x28,(char)uVar7,uVar2,uVar8,uVar18); DELETEDC(0x1228,(char)uVar5); DELETEDC(0x1228,uVar6); unaff_CS = 0x1228; RELEASEDC(0x1228,uVar4); } } if ((DAT_1028_07c8 != '\0') && (*(char *)(iVar12 + 0xbdd) == '\0')) { *(undefined1 *)(iVar12 + 0xbdf) = 1; if ((DAT_1028_0853 < 0) || ((DAT_1028_0853 < 1 && (DAT_1028_0851 < 0x119)))) { if ((DAT_1028_0853 == 0) && (DAT_1028_0851 == 1)) { for (local_30 = 0x81; *(undefined2 *)(local_30 * 0x53 + 0x99e) = 0, local_30 != 0x85; local_30 = local_30 + 1) { } } bVar14 = 0xfffe < DAT_1028_0851; DAT_1028_0851 = DAT_1028_0851 + 1; DAT_1028_0853 = DAT_1028_0853 + (uint)bVar14; FUN_1000_7440(&stack0xfffe); } else { DAT_1028_07c8 = '\0'; *(undefined1 *)(iVar12 + 0xbdf) = 0; DAT_1028_0851 = 0; DAT_1028_0853 = 0; uVar8 = GETDC(unaff_CS,*(undefined2 *)(iVar12 + 4)); FUN_1008_08bb(0x46,0x44,0x29,0x57,uVar8); FUN_1008_093f(0x46,0x44,0x29,0x57,uVar8); RELEASEDC(0x1008,uVar8); for (local_30 = 0xf; *(undefined1 *)(iVar12 + (uint)DAT_1028_07d1 * 0x14 + local_30 + 0x467) = 0, local_30 != 0x13; local_30 = local_30 + 1) { } } } if (*(int *)((uint)DAT_1028_07d0 * 2 + 0x81f) == -1) { FUN_1000_a72c(&stack0xfffe); FUN_1000_acc2(&stack0xfffe); FUN_1000_a604(&stack0xfffe); FUN_1000_9e85(&stack0xfffe); uVar8 = GETDC(0x1000,*(undefined2 *)(iVar12 + 4)); FUN_1008_08bb(0x14,0x94,0xf3,0x54,uVar8); FUN_1008_093f(0x14,0x94,0xf3,0x54,uVar8); RELEASEDC(0x1008,uVar8); DAT_1028_0876 = 0; DAT_1028_0878 = 0; } LAB_1000_fd59: FUN_1000_99f0(&stack0xfffe); FUN_1008_00e2(); *(undefined1 *)(iVar12 + 0x51) = 0; if (*(int *)(iVar12 + 0x5e) != 0) { *(int *)(iVar12 + 0x5e) = *(int *)(iVar12 + 0x5e) + -1; } return; } /* ===== 1000:fd85 ne_program_entry ===== */ /* WARNING: Control flow encountered bad instruction data */ void ne_program_entry(void) { undefined2 extraout_DX; undefined2 uVar1; undefined2 uVar2; INITTASK(); uVar1 = extraout_DX; FUN_1020_0002(); FUN_1008_298a(); FUN_1008_2554(); FUN_1010_0472(); FUN_1008_15c2(); FUN_1008_11b8(); FUN_1008_0f27(); uVar2 = 0x1228; DAT_1028_07bf = GETVERSION(); DAT_1028_07c1 = uVar1; if ((byte)DAT_1028_07bf < 3) { LAB_1000_fdf4: (*DAT_1028_0666)(0x1228,0x10,0x3c8,0x1028,0x396,0x1028,0); } else { if ((byte)DAT_1028_07bf == 3) { if ((byte)(DAT_1028_07bf >> 8) < 10) goto LAB_1000_fdf4; } uVar2 = 0x1018; FUN_1018_1a61(0x748,0x1028,0x24,0x3e1,0x1028); (*(code *)*(undefined2 *)(DAT_1028_0748 + 0x1c))(0x1018,0x748,0x1028); (*(code *)*(undefined2 *)(DAT_1028_0748 + 8))(0x1018,0x748,0x1028,0); } FUN_1020_0061(uVar2); /* WARNING: Bad instruction - Truncating control flow here */ halt_baddata(); } /* ===== 1008:0002 FUN_1008_0002 ===== */ void __stdcall16far FUN_1008_0002(undefined2 param_1) { if ((DAT_1028_07c6 == '\0') && (DAT_1028_43f2 != '\0')) { FUN_1008_1131(param_1); } return; } /* ===== 1008:0023 FUN_1008_0023 ===== */ void __stdcall16far FUN_1008_0023(undefined2 param_1) { undefined2 *puVar1; undefined2 uVar2; undefined2 uVar3; undefined2 uVar4; undefined2 *puVar5; undefined2 uVar6; int local_8; puVar5 = (undefined2 *)FUN_1020_012d(0x404); uVar6 = (undefined2)((ulong)puVar5 >> 0x10); puVar1 = (undefined2 *)puVar5; if (puVar5 != (undefined2 *)0x0) { *puVar5 = 0x300; puVar1[1] = 0x100; local_8 = 0; while( true ) { *(undefined1 *)(puVar1 + local_8 * 2 + 2) = 0; *(undefined1 *)((int)puVar1 + local_8 * 4 + 5) = 0; *(undefined1 *)(puVar1 + local_8 * 2 + 3) = 0; *(undefined1 *)((int)puVar1 + local_8 * 4 + 7) = 4; if (local_8 == 0xff) break; local_8 = local_8 + 1; } uVar2 = GETDC(0x1020,param_1); uVar4 = uVar2; uVar3 = CREATEPALETTE(0x1228,puVar1); uVar3 = SELECTPALETTE(0x1228,0,uVar3); REALIZEPALETTE(0x1228,uVar2,uVar6,uVar4); uVar6 = uVar2; uVar4 = SELECTPALETTE(0x1228,1,uVar3); DELETEOBJECT(0x1228,uVar4,uVar6); RELEASEDC(0x1228,uVar2); FUN_1020_0147(0x404,puVar5); } return; } /* ===== 1008:00e2 FUN_1008_00e2 ===== */ void __cdecl16far FUN_1008_00e2(void) { int iVar1; undefined2 unaff_CS; undefined2 unaff_SS; undefined1 local_14 [2]; int local_12; do { iVar1 = PEEKMESSAGE(unaff_CS,1,0x32,0,0,local_14,unaff_SS); if ((((iVar1 != 0) && (local_12 != 0x580)) && (local_12 != 0x100)) && (local_12 != 0x101)) { TRANSLATEMESSAGE(0x1228,local_14); DISPATCHMESSAGE(0x1228,local_14); } unaff_CS = 0x1228; } while (iVar1 != 0); return; } /* ===== 1008:0138 FUN_1008_0138 ===== */ void __stdcall16far FUN_1008_0138(undefined2 param_1,undefined2 param_2,undefined2 param_3,undefined2 param_4, undefined2 param_5,int param_6,undefined2 param_7,int param_8,undefined2 param_9, undefined2 param_10,undefined2 param_11,undefined2 param_12,undefined2 param_13, undefined2 param_14,undefined2 param_15,undefined2 param_16,undefined2 param_17, undefined2 param_18,undefined2 param_19,undefined2 param_20,undefined2 param_21, undefined2 param_22,undefined2 param_23,undefined2 param_24,undefined2 param_25, uint param_26,int param_27,uint param_28,int param_29,uint param_30,int param_31, uint param_32,int param_33,uint param_34,int param_35,char param_36,undefined1 param_37 ,char param_38,undefined1 param_39,uint param_40) { uint uVar1; undefined2 uVar2; uint uVar3; int iVar4; int iVar5; undefined2 uVar6; int iVar7; bool bVar8; uint local_a; int local_8; uint local_6; int local_4; if (param_40 < 0xb0) { iVar7 = param_40 * 0x53; *(undefined1 *)(iVar7 + 0x95b) = param_38; if (param_26 == 0 && param_27 == 0) { param_38 = '\x02'; } else { param_38 = '\x01'; } if (param_36 == '\x01') { bVar8 = CARRY2(DAT_1028_0849,param_34); param_34 = DAT_1028_0849 + param_34; param_35 = DAT_1028_084b + param_35 + (uint)bVar8; bVar8 = CARRY2(DAT_1028_084d,param_32); param_32 = DAT_1028_084d + param_32; param_33 = DAT_1028_084f + param_33 + (uint)bVar8; local_6 = param_34 + param_30; local_4 = param_35 + param_31 + (uint)CARRY2(param_34,param_30); local_a = param_32 + param_28; local_8 = param_33 + param_29 + (uint)CARRY2(param_32,param_28); } else { bVar8 = 0x13 < param_32; param_32 = param_32 - 0x14; param_33 = param_33 + -1 + (uint)bVar8; local_6 = param_30; local_4 = param_31; local_a = param_28 - 0x14; local_8 = param_29 + -1 + (uint)(0x13 < param_28); } if (((local_4 < 1) && ((local_4 < 0 || (local_6 == 0)))) || ((local_4 <= param_35 && ((local_4 < param_35 || (local_6 <= param_34)))))) { if (((local_4 < 1) && ((local_4 < 0 || (local_6 == 0)))) || ((param_35 <= local_4 && ((param_35 < local_4 || (param_34 <= local_6)))))) { iVar4 = (param_35 - param_27) - (uint)(param_34 < param_26); uVar2 = FUN_1020_08a9(); *(undefined2 *)(iVar7 + 0x95d) = uVar2; *(int *)(iVar7 + 0x95f) = iVar4; iVar4 = param_35 + param_27 + (uint)CARRY2(param_34,param_26); uVar2 = FUN_1020_08a9(); *(undefined2 *)(iVar7 + 0x965) = uVar2; *(int *)(iVar7 + 0x967) = iVar4; } else { iVar4 = local_4; uVar2 = FUN_1020_08a9(); *(undefined2 *)(iVar7 + 0x95d) = uVar2; *(int *)(iVar7 + 0x95f) = iVar4; iVar4 = param_35; uVar2 = FUN_1020_08a9(); *(undefined2 *)(iVar7 + 0x965) = uVar2; *(int *)(iVar7 + 0x967) = iVar4; } } else { iVar4 = param_35; uVar2 = FUN_1020_08a9(); *(undefined2 *)(iVar7 + 0x95d) = uVar2; *(int *)(iVar7 + 0x95f) = iVar4; iVar4 = local_4; uVar2 = FUN_1020_08a9(); *(undefined2 *)(iVar7 + 0x965) = uVar2; *(int *)(iVar7 + 0x967) = iVar4; } if (((local_8 < 1) && ((local_8 < 0 || (local_a == 0)))) || ((local_8 <= param_33 && ((local_8 < param_33 || (local_a <= param_32)))))) { if (((local_8 < 1) && ((local_8 < 0 || (local_a == 0)))) || ((param_33 <= local_8 && ((param_33 < local_8 || (param_32 <= local_a)))))) { iVar4 = (param_33 - param_27) - (uint)(param_32 < param_26); uVar2 = FUN_1020_08a9(); *(undefined2 *)(iVar7 + 0x961) = uVar2; *(int *)(iVar7 + 0x963) = iVar4; iVar4 = param_33 + param_27 + (uint)CARRY2(param_32,param_26); uVar2 = FUN_1020_08a9(); *(undefined2 *)(iVar7 + 0x969) = uVar2; *(int *)(iVar7 + 0x96b) = iVar4; } else { iVar4 = local_8; uVar2 = FUN_1020_08a9(); *(undefined2 *)(iVar7 + 0x961) = uVar2; *(int *)(iVar7 + 0x963) = iVar4; iVar4 = param_33; uVar2 = FUN_1020_08a9(); *(undefined2 *)(iVar7 + 0x969) = uVar2; *(int *)(iVar7 + 0x96b) = iVar4; } } else { iVar4 = param_33; uVar2 = FUN_1020_08a9(); *(undefined2 *)(iVar7 + 0x961) = uVar2; *(int *)(iVar7 + 0x963) = iVar4; iVar4 = local_8; uVar2 = FUN_1020_08a9(); *(undefined2 *)(iVar7 + 0x969) = uVar2; *(int *)(iVar7 + 0x96b) = iVar4; } if (param_38 == '\x01') { iVar4 = param_35; uVar2 = FUN_1020_08a9(); *(undefined2 *)(iVar7 + 0x96d) = uVar2; *(int *)(iVar7 + 0x96f) = iVar4; iVar4 = param_33; uVar2 = FUN_1020_08a9(); *(undefined2 *)(iVar7 + 0x971) = uVar2; *(int *)(iVar7 + 0x973) = iVar4; *(undefined2 *)(iVar7 + 0x975) = 0; *(undefined2 *)(iVar7 + 0x977) = 0; *(undefined2 *)(iVar7 + 0x979) = 0; *(undefined2 *)(iVar7 + 0x97b) = 0; uVar6 = 0; FUN_1020_08a9(); uVar2 = FUN_1020_100b(); *(undefined2 *)(iVar7 + 0x97d) = uVar2; *(undefined2 *)(iVar7 + 0x97f) = uVar6; *(int *)(iVar7 + 0x981) = param_27; if ((*(int *)(iVar7 + 0x95f) < *(int *)(iVar7 + 0x96f)) || ((*(int *)(iVar7 + 0x95f) <= *(int *)(iVar7 + 0x96f) && (*(uint *)(iVar7 + 0x95d) < *(uint *)(iVar7 + 0x96d))))) { uVar1 = *(uint *)(iVar7 + 0x95d); iVar4 = *(int *)(iVar7 + 0x95f); *(int *)(iVar7 + 0x95d) = uVar1 + 0xec78; *(int *)(iVar7 + 0x95f) = iVar4 - (uint)(uVar1 < 5000); } else { iVar5 = param_8; uVar3 = FUN_1020_08a9(); uVar1 = *(uint *)(iVar7 + 0x95d); iVar4 = *(int *)(iVar7 + 0x95f); *(int *)(iVar7 + 0x95d) = uVar3 + *(uint *)(iVar7 + 0x95d); *(int *)(iVar7 + 0x95f) = iVar5 + iVar4 + (uint)CARRY2(uVar3,uVar1); } if ((*(int *)(iVar7 + 0x963) < *(int *)(iVar7 + 0x973)) || ((*(int *)(iVar7 + 0x963) <= *(int *)(iVar7 + 0x973) && (*(uint *)(iVar7 + 0x961) < *(uint *)(iVar7 + 0x971))))) { uVar1 = *(uint *)(iVar7 + 0x961); iVar4 = *(int *)(iVar7 + 0x963); *(int *)(iVar7 + 0x961) = uVar1 + 0xec78; *(int *)(iVar7 + 0x963) = iVar4 - (uint)(uVar1 < 5000); } else { iVar5 = param_6; uVar3 = FUN_1020_08a9(); uVar1 = *(uint *)(iVar7 + 0x961); iVar4 = *(int *)(iVar7 + 0x963); *(int *)(iVar7 + 0x961) = uVar3 + *(uint *)(iVar7 + 0x961); *(int *)(iVar7 + 0x963) = iVar5 + iVar4 + (uint)CARRY2(uVar3,uVar1); } if ((*(int *)(iVar7 + 0x96f) < *(int *)(iVar7 + 0x967)) || ((*(int *)(iVar7 + 0x96f) <= *(int *)(iVar7 + 0x967) && (*(uint *)(iVar7 + 0x96d) < *(uint *)(iVar7 + 0x965))))) { uVar1 = *(uint *)(iVar7 + 0x965); iVar4 = *(int *)(iVar7 + 0x967); *(int *)(iVar7 + 0x965) = uVar1 + 5000; *(int *)(iVar7 + 0x967) = iVar4 + (uint)(0xec77 < uVar1); } else { uVar3 = FUN_1020_08a9(); uVar1 = *(uint *)(iVar7 + 0x965); iVar4 = *(int *)(iVar7 + 0x967); *(int *)(iVar7 + 0x965) = uVar3 + *(uint *)(iVar7 + 0x965); *(int *)(iVar7 + 0x967) = param_8 + iVar4 + (uint)CARRY2(uVar3,uVar1); } if ((*(int *)(iVar7 + 0x973) < *(int *)(iVar7 + 0x96b)) || ((*(int *)(iVar7 + 0x973) <= *(int *)(iVar7 + 0x96b) && (*(uint *)(iVar7 + 0x971) < *(uint *)(iVar7 + 0x969))))) { uVar1 = *(uint *)(iVar7 + 0x969); iVar4 = *(int *)(iVar7 + 0x96b); *(int *)(iVar7 + 0x969) = uVar1 + 5000; *(int *)(iVar7 + 0x96b) = iVar4 + (uint)(0xec77 < uVar1); } else { uVar3 = FUN_1020_08a9(); uVar1 = *(uint *)(iVar7 + 0x969); iVar4 = *(int *)(iVar7 + 0x96b); *(int *)(iVar7 + 0x969) = uVar3 + *(uint *)(iVar7 + 0x969); *(int *)(iVar7 + 0x96b) = param_6 + iVar4 + (uint)CARRY2(uVar3,uVar1); } DAT_1028_0849 = param_34; DAT_1028_084b = param_35; DAT_1028_084d = param_32; DAT_1028_084f = param_33; } else if (param_38 == '\x02') { uVar1 = *(uint *)(iVar7 + 0x95d); iVar4 = *(int *)(iVar7 + 0x95f); *(int *)(iVar7 + 0x95d) = uVar1 + 0xec78; *(int *)(iVar7 + 0x95f) = iVar4 - (uint)(uVar1 < 5000); uVar1 = *(uint *)(iVar7 + 0x965); iVar4 = *(int *)(iVar7 + 0x967); *(int *)(iVar7 + 0x965) = uVar1 + 5000; *(int *)(iVar7 + 0x967) = iVar4 + (uint)(0xec77 < uVar1); uVar1 = *(uint *)(iVar7 + 0x961); iVar4 = *(int *)(iVar7 + 0x963); *(int *)(iVar7 + 0x961) = uVar1 + 0xec78; *(int *)(iVar7 + 0x963) = iVar4 - (uint)(uVar1 < 5000); uVar1 = *(uint *)(iVar7 + 0x969); iVar4 = *(int *)(iVar7 + 0x96b); *(int *)(iVar7 + 0x969) = uVar1 + 5000; *(int *)(iVar7 + 0x96b) = iVar4 + (uint)(0xec77 < uVar1); uVar2 = FUN_1020_08a9(); *(undefined2 *)(iVar7 + 0x96d) = uVar2; *(int *)(iVar7 + 0x96f) = param_35; uVar2 = FUN_1020_08a9(); *(undefined2 *)(iVar7 + 0x971) = uVar2; *(int *)(iVar7 + 0x973) = param_33; iVar4 = local_4; uVar2 = FUN_1020_08a9(); *(undefined2 *)(iVar7 + 0x975) = uVar2; *(int *)(iVar7 + 0x977) = iVar4; iVar4 = local_8; uVar2 = FUN_1020_08a9(); *(undefined2 *)(iVar7 + 0x979) = uVar2; *(int *)(iVar7 + 0x97b) = iVar4; DAT_1028_0849 = local_6; DAT_1028_084b = local_4; DAT_1028_084d = local_a; DAT_1028_084f = local_8; *(undefined2 *)(iVar7 + 0x97d) = 0; *(undefined2 *)(iVar7 + 0x97f) = 0; *(undefined2 *)(iVar7 + 0x981) = 0; } *(undefined2 *)(iVar7 + 0x983) = param_23; *(undefined2 *)(iVar7 + 0x985) = param_24; *(undefined2 *)(iVar7 + 0x987) = param_25; *(undefined2 *)(iVar7 + 0x989) = param_20; *(undefined2 *)(iVar7 + 0x98b) = param_21; *(undefined2 *)(iVar7 + 0x98d) = param_22; *(undefined1 *)(iVar7 + 0x98f) = param_39; *(undefined2 *)(iVar7 + 0x990) = param_17; *(undefined2 *)(iVar7 + 0x992) = param_18; *(undefined2 *)(iVar7 + 0x994) = param_19; *(undefined2 *)(iVar7 + 0x996) = param_14; *(undefined2 *)(iVar7 + 0x998) = param_15; *(undefined2 *)(iVar7 + 0x99a) = param_16; *(undefined1 *)(iVar7 + 0x95c) = param_37; *(undefined2 *)(iVar7 + 0x99c) = param_13; *(undefined2 *)(iVar7 + 0x99e) = param_12; *(undefined2 *)(iVar7 + 0x9a0) = param_10; *(undefined2 *)(iVar7 + 0x9a2) = param_11; *(undefined2 *)(iVar7 + 0x9a4) = param_9; *(undefined2 *)(iVar7 + 0x9a6) = param_4; *(undefined2 *)(iVar7 + 0x9a8) = param_3; *(undefined2 *)(iVar7 + 0x9aa) = param_2; *(undefined2 *)(iVar7 + 0x9ac) = param_1; } return; } /* ===== 1008:0787 FUN_1008_0787 ===== */ void __stdcall16far FUN_1008_0787(undefined2 param_1,undefined2 param_2,undefined2 param_3,undefined2 param_4, int param_5) { param_5 = param_5 * 8; *(undefined2 *)(param_5 + 0x4263) = param_4; *(undefined2 *)(param_5 + 0x4265) = param_3; *(undefined2 *)(param_5 + 16999) = param_2; *(undefined2 *)(param_5 + 0x4269) = param_1; return; } /* ===== 1008:07b6 FUN_1008_07b6 ===== */ void __stdcall16far FUN_1008_07b6(undefined2 param_1,undefined2 param_2,undefined2 param_3,undefined2 param_4, undefined2 param_5,undefined2 param_6) { undefined2 uVar1; undefined2 uVar2; undefined2 uVar3; undefined2 uVar4; undefined2 uVar5; undefined2 uVar6; undefined2 uVar7; uVar4 = param_6; uVar1 = CREATECOMPATIBLEDC(); uVar2 = CREATECOMPATIBLEDC(0x1228,param_6,uVar4); uVar3 = SELECTOBJECT(0x1228,DAT_1028_085b); uVar7 = uVar2; uVar4 = SELECTOBJECT(0x1228,param_1); uVar6 = uVar1; BITBLT(0x1228,0x20,0xcc,0,0,uVar2,param_2,param_3,param_4,param_5); uVar5 = uVar2; SELECTOBJECT(0x1228,uVar4); uVar4 = uVar1; SELECTOBJECT(0x1228,uVar3); DELETEDC(0x1228,uVar2,uVar4,uVar5,uVar6,uVar7); DELETEDC(0x1228,uVar1); return; } /* ===== 1008:0837 FUN_1008_0837 ===== */ void __stdcall16far FUN_1008_0837(undefined2 param_1,undefined2 param_2,undefined2 param_3,undefined2 param_4, undefined2 param_5) { undefined2 uVar1; undefined2 uVar2; undefined2 uVar3; undefined2 uVar4; undefined2 uVar5; undefined2 uVar6; undefined2 uVar7; uVar4 = param_5; uVar1 = CREATECOMPATIBLEDC(); uVar2 = CREATECOMPATIBLEDC(0x1228,param_5,uVar4); uVar3 = SELECTOBJECT(0x1228,DAT_1028_085b); uVar7 = uVar2; uVar4 = SELECTOBJECT(0x1228,DAT_1028_085f); uVar6 = uVar1; BITBLT(0x1228,0x20,0xcc,param_3,param_4,uVar2,param_1,param_2,param_3,param_4); uVar5 = uVar2; SELECTOBJECT(0x1228,uVar4); uVar4 = uVar1; SELECTOBJECT(0x1228,uVar3); DELETEDC(0x1228,uVar2,uVar4,uVar5,uVar6,uVar7); DELETEDC(0x1228,uVar1); return; } /* ===== 1008:08bb FUN_1008_08bb ===== */ void __stdcall16far FUN_1008_08bb(undefined2 param_1,undefined2 param_2,undefined2 param_3,undefined2 param_4, undefined2 param_5) { undefined2 uVar1; undefined2 uVar2; undefined2 uVar3; undefined2 uVar4; undefined2 uVar5; undefined2 uVar6; undefined2 uVar7; uVar4 = param_5; uVar1 = CREATECOMPATIBLEDC(); uVar2 = CREATECOMPATIBLEDC(0x1228,param_5,uVar4); uVar3 = SELECTOBJECT(0x1228,DAT_1028_085b); uVar7 = uVar2; uVar4 = SELECTOBJECT(0x1228,DAT_1028_085d); uVar6 = uVar1; BITBLT(0x1228,0x20,0xcc,param_3,param_4,uVar2,param_1,param_2,param_3,param_4); uVar5 = uVar2; SELECTOBJECT(0x1228,uVar4); uVar4 = uVar1; SELECTOBJECT(0x1228,uVar3); DELETEDC(0x1228,uVar2,uVar4,uVar5,uVar6,uVar7); DELETEDC(0x1228,uVar1); return; } /* ===== 1008:093f FUN_1008_093f ===== */ void __stdcall16far FUN_1008_093f(undefined2 param_1,undefined2 param_2,undefined2 param_3,undefined2 param_4, undefined2 param_5) { undefined2 uVar1; undefined2 uVar2; undefined2 uVar3; undefined2 uVar4; undefined2 uVar5; uVar5 = param_5; uVar1 = CREATECOMPATIBLEDC(); uVar4 = uVar1; uVar2 = SELECTOBJECT(0x1228,DAT_1028_085b); BITBLT(0x1228,0x20,0xcc,param_3,param_4,uVar1,param_1,param_2,param_3,param_4); uVar3 = uVar1; SELECTOBJECT(0x1228,uVar2); DELETEDC(0x1228,uVar1,uVar3,param_5,uVar4,uVar5); return; } /* ===== 1008:0996 FUN_1008_0996 ===== */ void __stdcall16far FUN_1008_0996(undefined2 param_1,uint param_2,int param_3) { undefined2 uVar1; undefined2 uVar2; undefined2 uVar3; undefined2 uVar4; undefined2 uVar5; int iVar6; byte bVar7; undefined2 uVar8; undefined2 uVar9; undefined2 uVar10; undefined2 uVar11; undefined2 local_32; undefined2 local_1c; undefined1 local_4; uVar2 = param_1; uVar1 = CREATECOMPATIBLEDC(); uVar2 = CREATECOMPATIBLEDC(0x1228,param_1,uVar2); uVar3 = CREATECOMPATIBLEBITMAP(0x1228,0x28,0x96); if (param_2 == 1) { local_32 = 0x129; } else if (param_2 == 2) { local_32 = 0x155; } else if (param_2 == 3) { local_32 = 0x181; } else if (param_2 == 4) { local_32 = 0x1ad; } else { local_32 = 0xfd; } if ((param_3 < 0) || ((((param_3 < 1 && (param_2 == 0)) || (0 < param_3)) || ((-1 < param_3 && (4 < param_2)))))) { local_1c = param_3; } else { local_1c = *(int *)(param_2 * 4 + 0x980); } uVar11 = uVar1; uVar4 = SELECTOBJECT(0x1228,DAT_1028_085b); uVar10 = uVar2; uVar5 = SELECTOBJECT(0x1228,uVar3); uVar9 = uVar2; BITBLT(0x1228,0x20,0xcc,local_32 + -0x14,0x1de,uVar1,0x28,0x82,0,0); local_4 = 0; while( true ) { bVar7 = 10; FUN_1020_08e6(uVar9,uVar10,uVar11); uVar8 = 0x1020; iVar6 = FUN_1020_08e6(); if ((((bVar7 != 0) || (0 < local_1c)) || ((-1 < local_1c && (iVar6 != 0)))) || (local_4 == 0)) { SELECTOBJECT(0x1020,DAT_1028_0861); uVar8 = 0x1228; BITBLT(0x1228,0xc6,0x88,0,(uint)bVar7 << 4,uVar1,0x1c,0x10,0,(7 - (uint)local_4) * 0x10); } if (local_4 == 7) break; local_4 = local_4 + 1; } BITBLT(uVar8,0x20,0xcc,0,0,uVar2,0x28,0x82,local_32 + -0x14,0x1de); uVar10 = uVar1; SELECTOBJECT(0x1228,uVar4); uVar9 = uVar2; SELECTOBJECT(0x1228,uVar5); DELETEOBJECT(0x1228,uVar3,uVar9,uVar10,param_1); DELETEDC(0x1228,uVar1); DELETEDC(0x1228,uVar2); return; } /* ===== 1008:0b9e FUN_1008_0b9e ===== */ void __stdcall16far FUN_1008_0b9e(byte param_1,undefined2 param_2) { int iVar1; int local_6; int local_4; if ((((param_1 == DAT_1028_07d1) || (DAT_1028_086b == 99)) && (param_1 != 0)) && (param_1 < 5)) { iVar1 = *(int *)((uint)param_1 * 4 + 0x980); if ((iVar1 < 0x14) && ((iVar1 < 0x13 || (*(uint *)((uint)param_1 * 4 + 0x97e) < 0xd621)))) { iVar1 = *(int *)((uint)param_1 * 4 + 0x980); if ((iVar1 < 10) && ((iVar1 < 9 || (*(uint *)((uint)param_1 * 4 + 0x97e) < 0xeb11)))) { iVar1 = *(int *)((uint)param_1 * 4 + 0x980); if ((iVar1 < 3) && ((iVar1 < 2 || (*(uint *)((uint)param_1 * 4 + 0x97e) < 0x22e1)))) { iVar1 = *(int *)((uint)param_1 * 4 + 0x980); if ((iVar1 < 1) && ((iVar1 < 0 || (*(uint *)((uint)param_1 * 4 + 0x97e) < 0x7d1)))) { local_4 = 0; } else { local_4 = 1; } } else { local_4 = 2; } } else { local_4 = 3; } } else { local_4 = 4; } if (local_4 != DAT_1028_086b) { if (local_4 == 0) { FUN_1008_0837(0x8e,0x92,0x45,0x17c,param_2); } else { FUN_1008_07b6(*(undefined2 *)(local_4 * 2 + 0x4319),0x8e,0x92,0x45,0x17c,param_2); } FUN_1008_093f(0x8e,0x92,0x45,0x17c,param_2); local_6 = 0; while( true ) { if (local_6 == local_4) { FUN_1008_0837(0xb,0xb,(4 - local_6) * 0x17 + 0x4d,0x220,param_2); FUN_1008_093f(0xb,0xb,(4 - local_6) * 0x17 + 0x4d,0x220,param_2); } else { FUN_1008_08bb(0xb,0xb,(4 - local_6) * 0x17 + 0x4d,0x220,param_2); FUN_1008_093f(0xb,0xb,(4 - local_6) * 0x17 + 0x4d,0x220,param_2); } if (local_6 == 4) break; local_6 = local_6 + 1; } } DAT_1028_086b = local_4; } else if (param_1 == 0) { FUN_1008_08bb(0x8e,0x92,0x45,0x17c,param_2); FUN_1008_093f(0x8e,0x92,0x45,0x17c,param_2); local_6 = 0; while( true ) { FUN_1008_08bb(0xb,0xb,(4 - local_6) * 0x17 + 0x4d,0x220,param_2); FUN_1008_093f(0xb,0xb,(4 - local_6) * 0x17 + 0x4d,0x220,param_2); if (local_6 == 4) break; local_6 = local_6 + 1; } DAT_1028_086b = 99; } return; } /* ===== 1008:0dbd FUN_1008_0dbd ===== */ void __stdcall16far FUN_1008_0dbd(int param_1,undefined2 param_2) { if (param_1 == 0) { FUN_1008_08bb(0x3d,0x44,300,0x7b,param_2); } else { FUN_1008_07b6(((undefined2 *)&DAT_1028_4321)[param_1],0x3d,0x44,300,0x7b,param_2); } FUN_1008_093f(0x3d,0x44,300,0x7b,param_2); return; } /* ===== 1008:0e08 FUN_1008_0e08 ===== */ void __stdcall16far FUN_1008_0e08(char param_1,uint param_2,undefined2 param_3) { int iVar1; undefined2 uVar2; undefined2 uVar3; undefined2 uVar4; undefined2 uVar5; undefined2 uVar6; undefined2 uVar7; undefined2 local_16; if (param_2 == 0) { FUN_1008_08bb(0x4a,100,0x2f,0xee,param_3); FUN_1008_093f(0x4a,100,0x2f,0xee,param_3); } else { uVar3 = param_3; uVar2 = CREATECOMPATIBLEDC(); uVar3 = CREATECOMPATIBLEDC(0x1228,param_3,uVar3); uVar4 = SELECTOBJECT(0x1228,DAT_1028_085b); uVar5 = SELECTOBJECT(0x1228,DAT_1028_0863); local_16 = 0; if (param_1 == '\0') { local_16 = 0x94; } if (9 < param_2) { local_16 = local_16 + 0x4a; param_2 = param_2 - 9; } iVar1 = (param_2 - 1) * 100; uVar7 = uVar2; BITBLT(0x1228,0x20,0xcc,local_16,iVar1,uVar3,0x4a,100,0x2f,0xee); BITBLT(0x1228,0x20,0xcc,local_16,iVar1,uVar3,0x4a,100,0x2f,0xee); uVar6 = uVar2; SELECTOBJECT(0x1228,uVar4); uVar4 = uVar3; SELECTOBJECT(0x1228,uVar5); DELETEDC(0x1228,uVar3,uVar4,uVar6,param_3,uVar7); DELETEDC(0x1228,uVar2); } return; } /* ===== 1008:0f27 FUN_1008_0f27 ===== */ void __cdecl16far FUN_1008_0f27(void) { return; } /* ===== 1008:0f2e FUN_1008_0f2e ===== */ void __cdecl16far FUN_1008_0f2e(void) { int iVar1; ushort arg1; uint uVar2; int unaff_BP; undefined2 unaff_SS; undefined4 uVar3; undefined1 *puVar4; word *pwVar5; char *arg3; undefined1 *puVar6; undefined1 *puVar7; undefined2 uVar8; undefined2 uVar9; undefined1 local_2de [512]; undefined1 local_de [102]; undefined1 local_78 [102]; ushort local_12; uint local_10; undefined2 uStack_e; int local_c; int local_a; undefined2 local_8; undefined2 local_6; undefined2 uStack_4; int iStack_2; iStack_2 = unaff_BP + 1; uStack_4 = 0x1028; DAT_1028_43f2 = 0; DAT_1028_43f3 = 0; DAT_1028_43ee = 0; puVar7 = local_78; puVar6 = local_2de; uVar9 = unaff_SS; uVar8 = unaff_SS; FUN_1020_082e(); FUN_1008_2f2f(puVar6,uVar9,puVar7,uVar8); pwVar5 = code2_embedded_word_0f2c; puVar4 = (undefined1 *)CONCAT22(unaff_SS,local_2de); FUN_1020_082e(0); FUN_1020_0a7d(puVar4,pwVar5); FUN_1008_2f07(); FUN_1008_2f4d(0x442,0x1028,local_de,unaff_SS); uVar9 = 0x1028; local_c = GETPRIVATEPROFILEINT(0x1008,local_de,unaff_SS,1,0x44f,0x1028,0x446); if ((local_c != 0) && (DAT_1028_43ee = WAVEOUTGETNUMDEVS(0x1228,uVar9), DAT_1028_43ee != 0)) { iVar1 = WAVEOUTGETDEVCAPS(); if (iVar1 == 0) { if ((DAT_1028_43ea & 4) == 0) { DAT_1028_43f4 = -1; } else { local_8 = 0; local_6 = 0; WAVEOUTGETVOLUME(); DAT_1028_43f4 = (local_8._1_1_ / 10) * '\n'; } local_a = 1; while( true ) { if (*(int *)(local_a * 4 + 0x3e6) != 0 || *(int *)(local_a * 4 + 1000) != 0) { arg3 = (char *)CONCAT22(DAT_1028_06fe,DAT_1028_06fe); arg1 = FINDRESOURCE(0x455,(char *)(long)(local_a + 2000),arg3); local_12 = LOADRESOURCE(arg1,(ushort)((ulong)arg3 >> 0x10)); uVar3 = FUN_1008_15c7(); uVar9 = (undefined2)((ulong)uVar3 >> 0x10); *(int *)((undefined1 *)&DAT_1028_43f2 + local_a * 4) = (int)uVar3; *(undefined2 *)((undefined1 *)&DAT_1028_43f4 + local_a * 4) = uVar9; uVar2 = LOCKRESOURCE(local_12); _local_10 = CONCAT22(uVar9,uVar2); FUN_1020_16a5(*(undefined2 *)(local_a * 4 + 0x3e6), (int)*(undefined4 *)((undefined1 *)&DAT_1028_43f2 + local_a * 4), (int)((ulong)*(undefined4 *)((undefined1 *)&DAT_1028_43f2 + local_a * 4) >> 0x10),uVar2,uVar9); GLOBALUNLOCK(local_12); FREERESOURCE(local_12); } if (local_a == 0x16) break; local_a = local_a + 1; } DAT_1028_43f2 = 1; } else { DAT_1028_43ee = 0; } } return; } /* ===== 1008:10e3 FUN_1008_10e3 ===== */ void __cdecl16far FUN_1008_10e3(void) { undefined2 unaff_CS; int local_6; if (DAT_1028_43ee != 0) { if (DAT_1028_43f3 != '\0') { SNDPLAYSOUND(unaff_CS,0,0); } local_6 = 1; while( true ) { FUN_1008_15e7(*(undefined2 *)((undefined1 *)&DAT_1028_43f2 + local_6 * 4), *(undefined2 *)((undefined1 *)&DAT_1028_43f4 + local_6 * 4)); if (local_6 == 0x16) break; local_6 = local_6 + 1; } DAT_1028_43f3 = '\0'; } return; } /* ===== 1008:1131 FUN_1008_1131 ===== */ undefined2 __stdcall16far FUN_1008_1131(int param_1) { int iVar1; undefined2 unaff_CS; undefined2 uVar2; undefined2 local_6; if (((DAT_1028_43ee != 0) && (DAT_1028_43f2 != '\0')) && (*(int *)(param_1 * 4 + 0x3e6) != 0 || *(int *)(param_1 * 4 + 1000) != 0)) { uVar2 = unaff_CS; if (DAT_1028_43f3 != '\0') { uVar2 = 0x1228; SNDPLAYSOUND(unaff_CS,0,0); } iVar1 = SNDPLAYSOUND(uVar2,5,(int)*(undefined4 *)((undefined1 *)&DAT_1028_43f2 + param_1 * 4)); DAT_1028_43f3 = iVar1 != 0; } return local_6; } /* ===== 1008:118f FUN_1008_118f ===== */ undefined2 __cdecl16far FUN_1008_118f(void) { undefined2 unaff_CS; undefined2 local_6; if ((DAT_1028_43ee != 0) && (DAT_1028_43f3 != '\0')) { SNDPLAYSOUND(unaff_CS,0,0); } return local_6; } /* ===== 1008:11b8 FUN_1008_11b8 ===== */ void __cdecl16far FUN_1008_11b8(void) { return; } /* ===== 1008:11c5 FUN_1008_11c5 ===== */ /* WARNING: Removing unreachable block (ram,0x1008123e) */ /* WARNING: Removing unreachable block (ram,0x10081234) */ void __cdecl16far FUN_1008_11c5(void) { int iVar1; undefined2 *puVar2; undefined2 uVar3; bool bVar4; undefined2 *puVar5; uint local_10; int local_e; iVar1 = FUN_1020_08a9(); puVar5 = (undefined2 *)FUN_1020_012d(iVar1 + 8); uVar3 = (undefined2)((ulong)puVar5 >> 0x10); puVar2 = (undefined2 *)puVar5; puVar2[1] = 0x100; *puVar5 = 0x300; local_10 = 0; local_e = 0; while( true ) { iVar1 = FUN_1020_08a9(); *(undefined1 *)(puVar2 + local_10 * 2 + 2) = *(undefined1 *)(iVar1 + 0x4450); iVar1 = FUN_1020_08a9(); *(undefined1 *)((int)puVar2 + local_10 * 4 + 5) = *(undefined1 *)(iVar1 + 0x4451); iVar1 = FUN_1020_08a9(); *(undefined1 *)(puVar2 + local_10 * 2 + 3) = *(undefined1 *)(iVar1 + 0x4452); *(undefined1 *)((int)puVar2 + local_10 * 4 + 7) = 0; if ((local_e == 0) && (local_10 == 0xff)) break; bVar4 = 0xfffe < local_10; local_10 = local_10 + 1; local_e = local_e + (uint)bVar4; } DAT_1028_444e = CREATEPALETTE(0x1020,puVar2); uVar3 = FUN_1020_039d(puVar5,uVar3); FUN_1020_0147(uVar3,puVar5); return; } /* ===== 1008:1326 FUN_1008_1326 ===== */ void __stdcall16far FUN_1008_1326(undefined4 param_1,char *param_2,undefined2 param_3,char *param_4) { ushort uVar1; uint uVar2; int iVar3; undefined1 uVar4; undefined2 in_DX; undefined4 in_stack_0000fff0; int iVar5; uVar1 = FINDRESOURCE(0x45a,(char *)CONCAT22(param_3,param_2), (char *)CONCAT22((int)((ulong)in_stack_0000fff0 >> 0x10),param_4)); uVar1 = LOADRESOURCE(uVar1,(ushort)param_4); uVar2 = LOCKRESOURCE(uVar1); iVar5 = 0; while( true ) { iVar3 = FUN_1020_039d(); uVar4 = *(undefined1 *)(uVar2 + iVar3); iVar3 = FUN_1020_039d(); *(undefined1 *)((int)param_1 + iVar3) = uVar4; if (iVar5 == 0x2ff) break; iVar5 = iVar5 + 1; } GLOBALUNLOCK(uVar1); return; } /* ===== 1008:13a8 FUN_1008_13a8 ===== */ void __stdcall16far FUN_1008_13a8(undefined4 param_1) { uint uVar1; int iVar2; int iVar3; int iVar4; int iVar5; undefined2 uVar6; bool bVar7; uint local_10; int local_e; uVar6 = (undefined2)((ulong)param_1 >> 0x10); iVar5 = (int)param_1; iVar4 = -(uint)(1 << ((byte)*(undefined2 *)(iVar5 + 0xe) & 0x1f) == 0); uVar1 = FUN_1020_08a9(); iVar2 = uVar1 + 8; iVar4 = iVar4 + (uint)(0xfff7 < uVar1); local_10 = 0; local_e = 0; while( true ) { iVar3 = FUN_1020_08a9(iVar2,iVar4); *(undefined1 *)(iVar5 + local_10 * 4 + 0x2a) = *(undefined1 *)(iVar3 + 0x4450); iVar3 = FUN_1020_08a9(); *(undefined1 *)(iVar5 + local_10 * 4 + 0x29) = *(undefined1 *)(iVar3 + 0x4451); iVar3 = FUN_1020_08a9(); *(undefined1 *)(iVar5 + local_10 * 4 + 0x28) = *(undefined1 *)(iVar3 + 0x4452); *(undefined1 *)(iVar5 + local_10 * 4 + 0x2b) = 0; if ((local_e == 0) && (local_10 == 0xff)) break; bVar7 = 0xfffe < local_10; local_10 = local_10 + 1; local_e = local_e + (uint)bVar7; } return; } /* ===== 1008:149d FUN_1008_149d ===== */ undefined2 __stdcall16far FUN_1008_149d(char *param_1,undefined2 param_2,char *param_3) { uint uVar1; undefined2 uVar2; undefined2 uVar3; undefined2 in_DX; int unaff_BP; undefined2 unaff_SS; undefined4 uVar4; undefined2 uVar5; undefined2 uVar6; undefined2 in_stack_0000ff90; undefined1 local_32 [14]; byte local_24; ushort local_a; ushort local_8; undefined2 local_6; undefined2 uStack_4; int iStack_2; iStack_2 = unaff_BP + 1; uStack_4 = 0x1028; local_a = FINDRESOURCE(0x45e,(char *)CONCAT22(param_2,param_1), (char *)CONCAT22(in_stack_0000ff90,param_3)); local_8 = LOADRESOURCE(local_a,(ushort)param_3); uVar1 = LOCKRESOURCE(local_8); FUN_1020_0891(0x28,local_32,unaff_SS,uVar1,in_DX); uVar4 = FUN_1020_012d((1 << (local_24 & 0x1f)) * 4 + 0x28); FUN_1020_0891(0x28,uVar4,local_32,unaff_SS); FUN_1008_13a8(); uVar6 = 0x1028; uVar2 = CREATEDC(0x1008,0,0,0,0,0,0,0x462); uVar5 = uVar2; uVar3 = SELECTPALETTE(0x1228,0,DAT_1028_444e); UNREALIZEOBJECT(0x1228,DAT_1028_444e,uVar5,uVar6); REALIZEPALETTE(0x1228,uVar2); uVar6 = uVar2; local_6 = CREATEDIBITMAP(0x1228,0,uVar4,uVar1 + 0x28,in_DX,4,0,local_32,unaff_SS); uVar5 = uVar2; SELECTPALETTE(0x1228,0,uVar3); DELETEDC(0x1228,uVar2,uVar5,uVar6); GLOBALUNLOCK(local_8); FREERESOURCE(local_8); return local_6; } /* ===== 1008:15c2 FUN_1008_15c2 ===== */ void __cdecl16far FUN_1008_15c2(void) { return; } /* ===== 1008:15c7 FUN_1008_15c7 ===== */ void __stdcall16far FUN_1008_15c7(ushort param_1,uint param_2) { ushort arg1; arg1 = GLOBALALLOC(param_1,param_2); GLOBALLOCK(arg1); return; } /* ===== 1008:15e7 FUN_1008_15e7 ===== */ void __stdcall16far FUN_1008_15e7(undefined2 param_1,ushort param_2) { uint arg1; arg1 = GLOBALHANDLE(param_2); GLOBALUNLOCK(arg1); GLOBALFREE(arg1); return; } /* ===== 1008:1607 FUN_1008_1607 ===== */ undefined4 __stdcall16far FUN_1008_1607(undefined4 param_1,undefined2 param_2,undefined2 param_3,undefined2 param_4, undefined2 param_5,undefined2 param_6,undefined2 param_7,undefined2 param_8, undefined2 param_9,undefined2 param_10,undefined2 param_11) { int iVar1; undefined2 uVar2; bool bVar3; undefined2 local_8; bVar3 = true; FUN_1020_03ef(); if (!bVar3) { if (DAT_1028_066a == '\0') { local_8 = 0x7f02; } else { local_8 = 0x7f05; } uVar2 = (undefined2)((ulong)param_1 >> 0x10); iVar1 = (int)param_1; FUN_1008_2996(iVar1,uVar2,0,local_8,0,param_10,param_11); *(undefined2 *)(iVar1 + 0x26) = param_8; *(undefined2 *)(iVar1 + 0x28) = param_9; *(undefined2 *)(iVar1 + 0x2a) = param_6; *(undefined2 *)(iVar1 + 0x2c) = param_7; *(undefined2 *)(iVar1 + 0x2e) = param_4; *(undefined2 *)(iVar1 + 0x30) = param_5; *(undefined2 *)(iVar1 + 0x32) = param_3; } return param_1; } /* ===== 1008:168e FUN_1008_168e ===== */ undefined1 __stdcall16far FUN_1008_168e(undefined4 param_1) { int iVar1; undefined2 uVar2; undefined2 unaff_CS; uVar2 = (undefined2)((ulong)param_1 >> 0x10); iVar1 = (int)param_1; GETDLGITEMTEXT(unaff_CS,*(undefined2 *)(iVar1 + 0x32),*(undefined2 *)(iVar1 + 0x2e), *(undefined2 *)(iVar1 + 0x30),0x65); return 1; } /* ===== 1008:16be FUN_1008_16be ===== */ void __stdcall16far FUN_1008_16be(undefined4 param_1) { int unaff_BP; int iVar1; int iVar2; undefined2 uVar3; undefined2 uVar4; iVar1 = unaff_BP + 1; uVar4 = 0x1028; uVar3 = (undefined2)((ulong)param_1 >> 0x10); iVar2 = (int)param_1; FUN_1018_0d9b(iVar2,uVar3); SETWINDOWTEXT(0x1018,*(undefined2 *)(iVar2 + 0x26),*(undefined2 *)(iVar2 + 0x28), *(undefined2 *)(iVar2 + 4),uVar4,iVar1); SETDLGITEMTEXT(0x1228,*(undefined2 *)(iVar2 + 0x2a),*(undefined2 *)(iVar2 + 0x2c),100); SETDLGITEMTEXT(0x1228,*(undefined2 *)(iVar2 + 0x2e),*(undefined2 *)(iVar2 + 0x30),0x65); SENDDLGITEMMESSAGE(0x1228,0,0,*(int *)(iVar2 + 0x32) + -1,0x415,0x65); return; } /* ===== 1008:172f FUN_1008_172f ===== */ int FUN_1008_172f(int param_1,int param_2) { undefined2 local_4; if (param_2 < param_1) { local_4 = param_2; } else { local_4 = param_1; } return local_4; } /* ===== 1008:1754 FUN_1008_1754 ===== */ int FUN_1008_1754(int param_1,int param_2) { undefined2 local_4; if (param_1 < param_2) { local_4 = param_2; } else { local_4 = param_1; } return local_4; } /* ===== 1008:1779 FUN_1008_1779 ===== */ void __cdecl16near FUN_1008_1779(void) { undefined2 uVar1; undefined2 unaff_CS; undefined4 uVar2; uVar1 = DAT_1028_0586; if (DAT_1028_058f == '\0') { DAT_1028_4ad4 = GETDC(); } else { DAT_1028_4ad4 = BEGINPAINT(unaff_CS,0x4ad6,0x1028,DAT_1028_0586); } uVar1 = GETSTOCKOBJECT(0x1228,0x10,DAT_1028_4ad4,uVar1); DAT_1028_4af6 = SELECTOBJECT(0x1228,uVar1); uVar2 = GETSYSCOLOR(0x1228,8,DAT_1028_4ad4); SETTEXTCOLOR(0x1228,uVar2); uVar2 = GETSYSCOLOR(0x1228,5,DAT_1028_4ad4); SETBKCOLOR(0x1228,uVar2); return; } /* ===== 1008:17e2 FUN_1008_17e2 ===== */ void __cdecl16near FUN_1008_17e2(void) { undefined2 unaff_CS; SELECTOBJECT(unaff_CS,DAT_1028_4af6); if (DAT_1028_058f == '\0') { RELEASEDC(0x1228,DAT_1028_4ad4); } else { ENDPAINT(0x1228,0x4ad6,0x1028); } return; } /* ===== 1008:1818 FUN_1008_1818 ===== */ void __cdecl16near FUN_1008_1818(void) { undefined2 unaff_CS; int iVar1; undefined2 uVar2; uVar2 = DAT_1028_0586; CREATECARET(unaff_CS,2,DAT_1028_4ace,0); iVar1 = (DAT_1028_0544 - DAT_1028_0548) * DAT_1028_4ace; SETCARETPOS(0x1228,(DAT_1028_0546 - DAT_1028_054a) * DAT_1028_4ad0 + DAT_1028_4ad2); SHOWCARET(0x1228,DAT_1028_0586,iVar1,uVar2); return; } /* ===== 1008:185b FUN_1008_185b ===== */ void __cdecl16near FUN_1008_185b(void) { DESTROYCARET(); return; } /* ===== 1008:1865 FUN_1008_1865 ===== */ void __cdecl16near FUN_1008_1865(void) { undefined2 uVar1; undefined2 unaff_CS; undefined2 uVar2; undefined2 uVar3; uVar3 = 0; uVar2 = 0; uVar1 = FUN_1008_1754(DAT_1028_4aca,1); SETSCROLLRANGE(unaff_CS,0,uVar1,uVar2,uVar3); SETSCROLLPOS(0x1228,1,DAT_1028_0548,0); uVar3 = 1; uVar2 = 0; uVar1 = FUN_1008_1754(DAT_1028_4acc,1); SETSCROLLRANGE(0x1228,0,uVar1,uVar2,uVar3); SETSCROLLPOS(0x1228,1,DAT_1028_054a,1); return; } /* ===== 1008:18d0 FUN_1008_18d0 ===== */ void __cdecl16near FUN_1008_18d0(void) { if ((DAT_1028_058d != '\0') && (DAT_1028_058e != '\0')) { FUN_1008_185b(); } FUN_1020_0061(); return; } /* ===== 1008:18ee FUN_1008_18ee ===== */ void __stdcall16far FUN_1008_18ee(undefined2 param_1,undefined2 param_2) { undefined2 uVar1; int iVar2; int iVar3; undefined2 unaff_CS; undefined2 uVar4; undefined2 uVar5; if (DAT_1028_058c != '\0') { uVar5 = 0; uVar1 = FUN_1008_172f(DAT_1028_4aca,param_2); iVar2 = FUN_1008_1754(uVar1,uVar5); uVar1 = 0; uVar5 = FUN_1008_172f(DAT_1028_4acc,param_1); iVar3 = FUN_1008_1754(uVar5,uVar1); if ((iVar2 != DAT_1028_0548) || (iVar3 != DAT_1028_054a)) { uVar5 = unaff_CS; if (iVar2 != DAT_1028_0548) { uVar5 = 0x1228; uVar1 = DAT_1028_0586; SETSCROLLPOS(unaff_CS,1,iVar2,0); } uVar4 = uVar5; if (iVar3 != DAT_1028_054a) { uVar4 = 0x1228; SETSCROLLPOS(uVar5,1,iVar3,1); } uVar5 = DAT_1028_0586; SCROLLWINDOW(uVar4,0,0,0,0,(DAT_1028_054a - iVar3) * DAT_1028_4ad0, (DAT_1028_0548 - iVar2) * DAT_1028_4ace); DAT_1028_0548 = iVar2; DAT_1028_054a = iVar3; UPDATEWINDOW(0x1228,DAT_1028_0586,uVar5,uVar1); } } return; } /* ===== 1008:19b7 FUN_1008_19b7 ===== */ void __cdecl16far FUN_1008_19b7(void) { int iVar1; undefined2 uVar2; undefined2 uVar3; iVar1 = (DAT_1028_0544 - DAT_1028_4ac6) + 1; uVar2 = FUN_1008_172f(DAT_1028_0544,DAT_1028_0548); uVar2 = FUN_1008_1754(uVar2,iVar1); iVar1 = (DAT_1028_0546 - DAT_1028_4ac8) + 1; uVar3 = FUN_1008_172f(DAT_1028_0546,DAT_1028_054a); uVar3 = FUN_1008_1754(uVar3,iVar1); FUN_1008_18ee(uVar3,uVar2); return; } /* ===== 1008:19f8 FUN_1008_19f8 ===== */ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ undefined4 FUN_1008_19f8(int param_1,int param_2) { param_1 = param_1 + DAT_1028_0588; if (DAT_1028_0542 <= param_1) { param_1 = param_1 - DAT_1028_0542; } return CONCAT22((int)((ulong)_DAT_1028_4ac2 >> 0x10), (int)_DAT_1028_4ac2 + param_1 * DAT_1028_0540 + param_2); } /* ===== 1008:1a39 FUN_1008_1a39 ===== */ void FUN_1008_1a39(int param_1,int param_2) { undefined2 unaff_CS; undefined4 uVar1; int iVar2; int iVar3; undefined2 uVar4; if (param_2 < param_1) { FUN_1008_1779(); iVar3 = (param_2 - DAT_1028_0548) * DAT_1028_4ace; iVar2 = (DAT_1028_0546 - DAT_1028_054a) * DAT_1028_4ad0; uVar4 = DAT_1028_4ad4; uVar1 = FUN_1008_19f8(DAT_1028_0546,param_2); TEXTOUT(unaff_CS,param_1 - param_2,uVar1,iVar2,iVar3); FUN_1008_17e2(uVar4); } return; } /* ===== 1008:1a82 FUN_1008_1a82 ===== */ void FUN_1008_1a82(int param_1) { int iVar1; undefined2 unaff_SS; undefined4 uVar2; undefined2 uVar3; FUN_1008_1a39(*(undefined2 *)(param_1 + -6),*(undefined2 *)(param_1 + -4)); *(undefined2 *)(param_1 + -4) = 0; *(undefined2 *)(param_1 + -6) = 0; DAT_1028_0544 = 0; iVar1 = DAT_1028_0546 + 1; if (DAT_1028_0546 + 1 == DAT_1028_0542) { DAT_1028_0588 = DAT_1028_0588 + 1; if (DAT_1028_0588 == DAT_1028_0542) { DAT_1028_0588 = 0; } uVar2 = FUN_1008_19f8(DAT_1028_0546,0); FUN_1020_16c9(0x20,DAT_1028_0540,uVar2); uVar3 = DAT_1028_0586; SCROLLWINDOW(0x1020,0,0,0,0,-DAT_1028_4ad0,0); UPDATEWINDOW(0x1228,DAT_1028_0586,uVar3); iVar1 = DAT_1028_0546; } DAT_1028_0546 = iVar1; return; } /* ===== 1008:1b11 FUN_1008_1b11 ===== */ void __stdcall16far FUN_1008_1b11(int param_1,byte *param_2) { int unaff_BP; undefined2 uVar1; byte *pbVar2; undefined1 *puVar3; byte bVar4; int iVar5; int iVar6; undefined2 uVar7; int iStack_2; iStack_2 = unaff_BP + 1; uVar7 = 0x1028; uVar1 = 0x1008; FUN_1008_2442(); iVar5 = DAT_1028_0544; iVar6 = DAT_1028_0544; for (; param_1 != 0; param_1 = param_1 + -1) { bVar4 = *param_2; if (bVar4 < 0x20) { if (bVar4 == 0xd) { FUN_1008_1a82(&iStack_2); } else if (bVar4 == 8) { if (0 < DAT_1028_0544) { DAT_1028_0544 = DAT_1028_0544 + -1; puVar3 = (undefined1 *)FUN_1008_19f8(DAT_1028_0546,DAT_1028_0544); *puVar3 = 0x20; if (DAT_1028_0544 < iVar6) { iVar6 = DAT_1028_0544; } } } else if (bVar4 == 7) { MESSAGEBEEP(uVar1,0,iVar5,iVar6,uVar7); uVar1 = 0x1228; } } else { bVar4 = *param_2; pbVar2 = (byte *)FUN_1008_19f8(DAT_1028_0546,DAT_1028_0544); *pbVar2 = bVar4; DAT_1028_0544 = DAT_1028_0544 + 1; if (iVar5 < DAT_1028_0544) { iVar5 = DAT_1028_0544; } if (DAT_1028_0544 == DAT_1028_0540) { FUN_1008_1a82(&iStack_2); } } param_2 = (byte *)CONCAT22(param_2._2_2_,(byte *)param_2 + 1); } FUN_1008_1a39(iVar5,iVar6); if (DAT_1028_055e != '\0') { FUN_1008_19b7(); } return; } /* ===== 1008:1be9 FUN_1008_1be9 ===== */ void __stdcall16far FUN_1008_1be9(void) { undefined2 unaff_SS; FUN_1008_1b11(1,&stack0x0004,unaff_SS); return; } /* ===== 1008:1c03 FUN_1008_1c03 ===== */ bool __cdecl16far FUN_1008_1c03(void) { int iVar1; int unaff_BP; undefined2 uVar2; undefined2 unaff_SS; undefined1 local_18 [2]; int local_16; undefined2 uStack_4; int iStack_2; iStack_2 = unaff_BP + 1; uStack_4 = 0x1028; uVar2 = 0x1008; FUN_1008_2442(); while (iVar1 = PEEKMESSAGE(uVar2,1,0,0,0,local_18,unaff_SS), iVar1 != 0) { if (local_16 == 0x12) { FUN_1008_18d0(); } TRANSLATEMESSAGE(0x1228,local_18); uVar2 = 0x1228; DISPATCHMESSAGE(0x1228,local_18); } return 0 < DAT_1028_058a; } /* ===== 1008:1c5f FUN_1008_1c5f ===== */ undefined1 __cdecl16far FUN_1008_1c5f(void) { char cVar1; int unaff_BP; int iVar2; undefined2 uVar3; undefined1 uVar4; undefined2 uVar5; iVar2 = unaff_BP + 1; uVar5 = 0x1028; FUN_1008_19b7(); uVar3 = 0x1008; cVar1 = FUN_1008_1c03(); if (cVar1 == '\0') { DAT_1028_058e = 1; if (DAT_1028_058d != '\0') { uVar3 = 0x1c84; FUN_1008_1818(); } do { WAITMESSAGE(uVar3,0x1008,uVar5,iVar2); cVar1 = FUN_1008_1c03(); } while (cVar1 == '\0'); if (DAT_1028_058d != '\0') { FUN_1008_185b(); } DAT_1028_058e = 0; } DAT_1028_058a = DAT_1028_058a + -1; uVar4 = DAT_1028_4af8; FUN_1020_16a5(DAT_1028_058a,(undefined1 *)&DAT_1028_4af8,0x1028,0x4af9,0x1028); return uVar4; } /* ===== 1008:1cc6 FUN_1008_1cc6 ===== */ int __stdcall16far FUN_1008_1cc6(int param_1,undefined4 param_2) { uint uVar1; byte bVar2; int iVar3; undefined2 uVar4; uint local_a; local_a = 0; do { bVar2 = FUN_1008_1c5f(); iVar3 = (int)param_2; uVar4 = (undefined2)((ulong)param_2 >> 0x10); if (bVar2 == 8) { if (local_a != 0) { local_a = local_a - 1; FUN_1008_1be9(8); } } else if ((0x1f < bVar2) && (local_a < param_1 - 2U)) { *(byte *)(iVar3 + local_a) = bVar2; FUN_1008_1be9(CONCAT11((char)(local_a >> 8),bVar2)); local_a = local_a + 1; } } while ((bVar2 != 0xd) && ((DAT_1028_055f == '\0' || (bVar2 != 0x1a)))); *(byte *)(iVar3 + local_a) = bVar2; uVar1 = local_a + 1; if (bVar2 == 0xd) { *(undefined1 *)(iVar3 + uVar1) = 10; FUN_1008_1be9(CONCAT11((char)(uVar1 >> 8),0xd)); uVar1 = local_a + 2; } local_a = uVar1; FUN_1008_19b7(); return local_a; } /* ===== 1008:1d77 FUN_1008_1d77 ===== */ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void __cdecl16near FUN_1008_1d77(void) { DAT_1028_058c = 1; _DAT_1028_4ac2 = FUN_1020_012d(DAT_1028_0540 * DAT_1028_0542); FUN_1020_16c9(CONCAT11((char)((uint)(DAT_1028_0540 * DAT_1028_0542) >> 8),0x20), DAT_1028_0540 * DAT_1028_0542,_DAT_1028_4ac2); if (DAT_1028_0560 == '\0') { GETSYSTEMMENU(0x1020,0); ENABLEMENUITEM(0x1228,3,0xf060); } return; } /* ===== 1008:1dcc FUN_1008_1dcc ===== */ void __cdecl16near FUN_1008_1dcc(void) { int iVar1; int iVar2; int iVar3; undefined2 unaff_CS; undefined4 uVar4; int iVar5; int iVar6; int local_8; DAT_1028_058f = 1; FUN_1008_1779(); iVar1 = FUN_1008_1754(DAT_1028_4ada / DAT_1028_4ace + DAT_1028_0548,0); iVar2 = FUN_1008_172f((DAT_1028_4ade + DAT_1028_4ace + -1) / DAT_1028_4ace + DAT_1028_0548, DAT_1028_0540); local_8 = FUN_1008_1754(DAT_1028_4adc / DAT_1028_4ad0 + DAT_1028_054a,0); iVar3 = FUN_1008_172f((DAT_1028_4ae0 + DAT_1028_4ad0 + -1) / DAT_1028_4ad0 + DAT_1028_054a, DAT_1028_0542); for (; local_8 < iVar3; local_8 = local_8 + 1) { iVar6 = (iVar1 - DAT_1028_0548) * DAT_1028_4ace; iVar5 = (local_8 - DAT_1028_054a) * DAT_1028_4ad0; uVar4 = FUN_1008_19f8(local_8,iVar1); TEXTOUT(unaff_CS,iVar2 - iVar1,uVar4,iVar5,iVar6); unaff_CS = 0x1228; } FUN_1008_17e2(); DAT_1028_058f = 0; return; } /* ===== 1008:1e8a FUN_1008_1e8a ===== */ int FUN_1008_1e8a(int param_1,int param_2,int param_3,int param_4) { int iVar1; undefined2 unaff_SS; undefined2 local_4; iVar1 = *(int *)(param_1 + 6); if (iVar1 == 0) { local_4 = param_4 + -1; } else if (iVar1 == 1) { local_4 = param_4 + 1; } else if (iVar1 == 2) { local_4 = param_4 - param_3; } else if (iVar1 == 3) { local_4 = param_4 + param_3; } else if (iVar1 == 6) { local_4 = 0; } else if (iVar1 == 7) { local_4 = param_2; } else if (iVar1 == 4) { local_4 = *(int *)(param_1 + 4); } else { local_4 = param_4; } return local_4; } /* ===== 1008:1f0c FUN_1008_1f0c ===== */ void FUN_1008_1f0c(undefined2 param_1,undefined2 param_2,int param_3) { undefined2 local_6; undefined2 local_4; local_4 = DAT_1028_0548; local_6 = DAT_1028_054a; if (param_3 == 0) { local_4 = FUN_1008_1e8a(&stack0xfffe,DAT_1028_4aca,DAT_1028_4ac6 / 2,DAT_1028_0548); } else if (param_3 == 1) { local_6 = FUN_1008_1e8a(&stack0xfffe,DAT_1028_4acc,DAT_1028_4ac8,DAT_1028_054a); } FUN_1008_18ee(local_6,local_4); return; } /* ===== 1008:1f68 FUN_1008_1f68 ===== */ void FUN_1008_1f68(int param_1,int param_2) { if ((DAT_1028_058d != '\0') && (DAT_1028_058e != '\0')) { FUN_1008_185b(); } DAT_1028_4ac6 = param_2 / DAT_1028_4ace; DAT_1028_4ac8 = param_1 / DAT_1028_4ad0; DAT_1028_4aca = FUN_1008_1754(DAT_1028_0540 - DAT_1028_4ac6,0); DAT_1028_4acc = FUN_1008_1754(DAT_1028_0542 - DAT_1028_4ac8,0); DAT_1028_0548 = FUN_1008_172f(DAT_1028_4aca,DAT_1028_0548); DAT_1028_054a = FUN_1008_172f(DAT_1028_4acc,DAT_1028_054a); FUN_1008_1865(); if ((DAT_1028_058d != '\0') && (DAT_1028_058e != '\0')) { FUN_1008_1818(); } return; } /* ===== 1008:1fe8 FUN_1008_1fe8 ===== */ void FUN_1008_1fe8(undefined4 param_1) { int iVar1; undefined2 uVar2; undefined2 unaff_CS; undefined2 unaff_SS; int iVar3; int iVar4; undefined2 uVar5; int iVar6; int local_26; undefined2 local_24; int local_1e; int local_1a; int local_6; int local_4; FUN_1008_1779(); uVar2 = DAT_1028_4ad4; GETTEXTMETRICS(unaff_CS,&local_26,unaff_SS); DAT_1028_4ace = local_1a; DAT_1028_4ad0 = local_26 + local_1e; DAT_1028_4ad2 = local_24; iVar1 = GETSYSTEMMETRICS(0x1228,0x20,uVar2); iVar1 = GETSYSTEMMETRICS(0x1228,2,iVar1 << 1); iVar6 = 0; uVar5 = 0x1228; uVar2 = GETSYSTEMMETRICS(0x1228,0,DAT_1028_0540 * DAT_1028_4ace + iVar1); local_4 = FUN_1008_172f(uVar2,uVar5); local_4 = local_4 + iVar6; iVar1 = GETSYSTEMMETRICS(0x1228,0x21); uVar2 = GETSYSTEMMETRICS(0x1228,4,iVar1 << 1); iVar4 = 0x1228; iVar1 = GETSYSTEMMETRICS(0x1228,3,uVar2); iVar6 = 1; uVar5 = 0x1228; uVar2 = GETSYSTEMMETRICS(0x1228,1,DAT_1028_0542 * DAT_1028_4ad0 + iVar1 + iVar4); local_6 = FUN_1008_172f(uVar2,uVar5); local_6 = local_6 + iVar6; uVar5 = (undefined2)((ulong)param_1 >> 0x10); iVar6 = (int)param_1; *(int *)(iVar6 + 4) = local_4; *(int *)(iVar6 + 6) = local_6; iVar1 = GETSYSTEMMETRICS(0x1228,0x20); iVar4 = 0x1228; iVar1 = GETSYSTEMMETRICS(0x1228,2,iVar1 << 1); *(int *)(iVar6 + 0xc) = DAT_1028_4ace * 0x10 + iVar1 + iVar4; uVar2 = GETSYSTEMMETRICS(0x1228,4); iVar1 = GETSYSTEMMETRICS(0x1228,0x21,uVar2); iVar3 = 3; iVar4 = 0x1228; iVar1 = GETSYSTEMMETRICS(0x1228,3,iVar1 << 1); *(int *)(iVar6 + 0xe) = DAT_1028_4ad0 * 4 + iVar1 + iVar4 + iVar3; *(int *)(iVar6 + 0x10) = local_4; *(int *)(iVar6 + 0x12) = local_6; FUN_1008_17e2(); return; } /* ===== 1008:211a FUN_1008_211a ===== */ void FUN_1008_211a(char param_1) { if ((DAT_1028_0560 != '\0') && (param_1 == '\x03')) { FUN_1008_18d0(); } if (DAT_1028_058a < 0x40) { ((undefined1 *)&DAT_1028_4af8)[DAT_1028_058a] = param_1; DAT_1028_058a = DAT_1028_058a + 1; } return; } /* ===== 1008:2147 FUN_1008_2147 ===== */ void FUN_1008_2147(char param_1) { int iVar1; int iVar2; int local_6; if ((DAT_1028_0560 != '\0') && (param_1 == '\x03')) { FUN_1008_18d0(); } iVar1 = GETKEYSTATE(); local_6 = 1; while ((iVar2 = local_6 * 4, *(char *)(iVar2 + 0x58c) != param_1 || ((bool)*(char *)(iVar2 + 0x58d) != iVar1 < 0))) { if (local_6 == 0xc) { return; } local_6 = local_6 + 1; } FUN_1008_1f0c(0,*(undefined1 *)(iVar2 + 0x58f),*(undefined1 *)(iVar2 + 0x58e)); return; } /* ===== 1008:21ba FUN_1008_21ba ===== */ void __cdecl16near FUN_1008_21ba(void) { DAT_1028_058d = 1; if (DAT_1028_058e != '\0') { FUN_1008_1818(); } return; } /* ===== 1008:21ce FUN_1008_21ce ===== */ void __cdecl16near FUN_1008_21ce(void) { if (DAT_1028_058e != '\0') { FUN_1008_185b(); } DAT_1028_058d = 0; return; } /* ===== 1008:21e2 FUN_1008_21e2 ===== */ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void __cdecl16near FUN_1008_21e2(void) { FUN_1020_0147(DAT_1028_0540 * DAT_1028_0542,DAT_1028_4ac2,_DAT_1028_4ac4); DAT_1028_0544 = 0; DAT_1028_0546 = 0; DAT_1028_0548 = 0; DAT_1028_054a = 0; POSTQUITMESSAGE(0x1020,0); DAT_1028_058c = 0; return; } /* ===== 1008:2219 FUN_1008_2219 ===== */ undefined4 __stdcall16far FUN_1008_2219(undefined2 param_1,undefined2 param_2,undefined2 param_3,int param_4, undefined2 param_5) { undefined2 unaff_CS; undefined2 unaff_SS; undefined4 uVar1; uVar1 = 0; *(undefined2 *)&DAT_1028_0586 = param_5; if (param_4 == 1) { FUN_1008_1d77(); uVar1 = 0; } else if (param_4 == 0xf) { FUN_1008_1dcc(); uVar1 = 0; } else if (param_4 == 0x115) { FUN_1008_1f0c(param_1,param_3,1); uVar1 = 0; } else if (param_4 == 0x114) { FUN_1008_1f0c(param_1,param_3,0); uVar1 = 0; } else if (param_4 == 5) { FUN_1008_1f68(param_2,param_1); uVar1 = 0; } else if (param_4 == 0x24) { FUN_1008_1fe8(param_1,param_2); uVar1 = 0; } else if (param_4 == 0x102) { FUN_1008_211a(CONCAT11(1,(undefined1)param_3)); uVar1 = 0; } else if (param_4 == 0x100) { FUN_1008_2147(CONCAT11(1,(undefined1)param_3)); uVar1 = 0; } else if (param_4 == 7) { FUN_1008_21ba(); uVar1 = 0; } else if (param_4 == 8) { FUN_1008_21ce(); uVar1 = 0; } else if (param_4 == 2) { FUN_1008_21e2(); } else { uVar1 = DEFWINDOWPROC(unaff_CS,param_1,param_2,param_3,param_4); } return uVar1; } /* ===== 1008:22fc FUN_1008_22fc ===== */ undefined2 __stdcall16far FUN_1008_22fc(undefined4 param_1) { int iVar1; undefined2 uVar2; uVar2 = (undefined2)((ulong)param_1 >> 0x10); iVar1 = (int)param_1; if (*(int *)(iVar1 + 8) != 0) { FUN_1008_1b11(*(undefined2 *)(iVar1 + 8),*(undefined2 *)(iVar1 + 0xc), *(undefined2 *)(iVar1 + 0xe)); *(undefined2 *)(iVar1 + 8) = 0; FUN_1008_1c03(); } return 0; } /* ===== 1008:233c FUN_1008_233c ===== */ undefined2 __stdcall16far FUN_1008_233c(undefined4 param_1) { undefined2 uVar1; int iVar2; undefined2 uVar3; uVar3 = (undefined2)((ulong)param_1 >> 0x10); iVar2 = (int)param_1; uVar1 = FUN_1008_1cc6(*(undefined2 *)(iVar2 + 4),*(undefined2 *)(iVar2 + 0xc), *(undefined2 *)(iVar2 + 0xe)); *(undefined2 *)(iVar2 + 10) = uVar1; *(undefined2 *)(iVar2 + 8) = 0; return 0; } /* ===== 1008:2374 FUN_1008_2374 ===== */ undefined2 __stdcall16far FUN_1008_2374(void) { return 0; } /* ===== 1008:238b FUN_1008_238b ===== */ undefined2 __stdcall16far FUN_1008_238b(undefined4 param_1) { int iVar1; undefined2 uVar2; uVar2 = (undefined2)((ulong)param_1 >> 0x10); iVar1 = (int)param_1; if (*(int *)(iVar1 + 2) == -0x284f) { *(undefined2 *)(iVar1 + 0x14) = 0x233c; *(undefined2 *)(iVar1 + 0x16) = 0x1008; *(undefined2 *)(iVar1 + 0x18) = 0; *(undefined2 *)(iVar1 + 0x1a) = 0; } else { *(undefined2 *)(iVar1 + 2) = 0xd7b2; *(undefined2 *)(iVar1 + 0x14) = 0x22fc; *(undefined2 *)(iVar1 + 0x16) = 0x1008; *(undefined2 *)(iVar1 + 0x18) = 0x22fc; *(undefined2 *)(iVar1 + 0x1a) = 0x1008; } *(undefined2 *)(iVar1 + 0x1c) = 0x2374; *(undefined2 *)(iVar1 + 0x1e) = 0x1008; return 0; } /* ===== 1008:23fd FUN_1008_23fd ===== */ void __stdcall16far FUN_1008_23fd(undefined2 *param_1) { undefined2 *puVar1; undefined2 uVar2; uVar2 = (undefined2)((ulong)param_1 >> 0x10); puVar1 = (undefined2 *)param_1; *param_1 = 0xffff; puVar1[1] = 0xd7b0; puVar1[2] = 0x80; puVar1[6] = puVar1 + 0x40; puVar1[7] = uVar2; puVar1[8] = 0x238b; puVar1[9] = 0x1008; *(undefined1 *)(puVar1 + 0x18) = 0; return; } /* ===== 1008:2442 FUN_1008_2442 ===== */ void __cdecl16far FUN_1008_2442(void) { int unaff_BP; int iVar1; undefined2 unaff_CS; undefined2 uVar2; iVar1 = unaff_BP + 1; if (DAT_1028_058c == '\0') { DAT_1028_0586 = CREATEWINDOW(unaff_CS,0,0,DAT_1028_06fe,0,0,DAT_1028_053e,DAT_1028_053c,DAT_1028_053a, DAT_1028_0538,0,0xff,0x4a6e,0x1028,DAT_1028_0578,DAT_1028_057a,0x1028); uVar2 = DAT_1028_0586; SHOWWINDOW(0x1228,DAT_1028_0700); UPDATEWINDOW(0x1228,DAT_1028_0586,uVar2,iVar1); } return; } /* ===== 1008:24a5 FUN_1008_24a5 ===== */ void __cdecl16far FUN_1008_24a5(void) { undefined2 uVar1; int iVar2; int unaff_BP; undefined2 unaff_CS; undefined2 unaff_SS; undefined1 local_9a [128]; undefined1 local_1a [18]; undefined2 local_8; undefined2 local_6; undefined2 uStack_4; int iStack_2; iStack_2 = unaff_BP + 1; uStack_4 = 0x1028; DAT_1028_0712 = DAT_1028_4abe; DAT_1028_0714 = DAT_1028_4ac0; if ((DAT_1028_058c != '\0') && (DAT_1028_0718 == 0 && DAT_1028_071a == 0)) { local_8 = 0x4a6e; local_6 = 0x1028; WVSPRINTF(unaff_CS,&local_8,unaff_SS,DAT_1028_054c,DAT_1028_054e,local_9a); SETWINDOWTEXT(0x1228,local_9a); uVar1 = GETSYSTEMMENU(0x1228,0); ENABLEMENUITEM(0x1228,0,0xf060); DAT_1028_0560 = 0; while (iVar2 = GETMESSAGE(0x1228,0,0,0,local_1a,unaff_SS,uVar1), iVar2 != 0) { uVar1 = unaff_SS; TRANSLATEMESSAGE(0x1228,local_1a); DISPATCHMESSAGE(0x1228,local_1a); } } return; } /* ===== 1008:2554 FUN_1008_2554 ===== */ void __cdecl16far FUN_1008_2554(void) { undefined2 unaff_CS; short arg3; undefined2 uVar1; if (DAT_1028_06fc == 0) { DAT_1028_056c = DAT_1028_06fe; DAT_1028_056e = LOADICON(unaff_CS,0x7f00,0); DAT_1028_0570 = LOADCURSOR(0x1228,0x7f00,0); DAT_1028_0572 = 6; REGISTERCLASS(0x1228,0x562); } FUN_1008_23fd(0x4b38,0x1028); uVar1 = 0x1028; FUN_1020_0527(); FUN_1020_038f(uVar1); FUN_1008_23fd(); arg3 = 0x1028; FUN_1020_052c(0x1008,0x4c38); FUN_1020_038f(); GETMODULEFILENAME(0x50,(void *)CONCAT22(DAT_1028_06fe,(void *)0x1028),arg3); Ordinal_6(0x1228,0x4a6e,0x1028,0x4a6e,0x1028); DAT_1028_4abe = DAT_1028_0712; DAT_1028_4ac0 = DAT_1028_0714; DAT_1028_0712 = 0x24a5; DAT_1028_0714 = 0x1008; return; } /* ===== 1008:2608 FUN_1008_2608 ===== */ void __cdecl16near FUN_1008_2608(void) { char *pcVar1; char *pcVar2; code *pcVar3; int iVar4; char *unaff_DI; char *pcVar5; undefined2 unaff_ES; undefined2 unaff_SS; char local_52 [80]; pcVar5 = local_52; iVar4 = 0x4f; do { pcVar1 = unaff_DI; unaff_DI = unaff_DI + 1; if (*pcVar1 == '\0') break; pcVar2 = pcVar5; pcVar5 = pcVar5 + 1; *pcVar2 = *pcVar1; iVar4 = iVar4 + -1; } while (iVar4 != 0); *pcVar5 = '\0'; Ordinal_5(); pcVar3 = (code *)swi(0x21); (*pcVar3)(); return; } /* ===== 1008:2643 FUN_1008_2643 ===== */ char * __stdcall16far FUN_1008_2643(char *param_1,char *param_2,char *param_3) { char *pcVar1; char *pcVar2; char cVar3; char cVar4; uint uVar5; char *pcVar6; char *pcVar7; char *pcVar8; undefined2 uVar9; undefined2 uVar10; bool bVar11; undefined2 uVar12; uVar12 = 0x1028; uVar10 = (undefined2)((ulong)param_1 >> 0x10); pcVar6 = (char *)param_1; uVar9 = (undefined2)((ulong)param_3 >> 0x10); uVar5 = 0x4f; pcVar8 = (char *)param_3; do { if (uVar5 != 0) { pcVar7 = (char *)param_2; do { pcVar1 = pcVar7; pcVar7 = pcVar7 + 1; if (*pcVar1 == '\0') break; pcVar2 = pcVar8; pcVar8 = pcVar8 + 1; *pcVar2 = *pcVar1; uVar5 = uVar5 - 1; } while (uVar5 != 0); } bVar11 = false; *pcVar8 = '\0'; FUN_1008_2608(pcVar6,uVar10,uVar12); if ((!bVar11) && ((uVar5 & 0x18) == 0)) { return param_3; } uVar5 = 0x4f; cVar3 = *pcVar6; cVar4 = '\0'; pcVar8 = (char *)param_3; if (cVar3 == '\0') { *param_3 = '\0'; return param_3; } do { pcVar6 = pcVar6 + 1; if (cVar3 == ';') break; if (uVar5 != 0) { pcVar1 = pcVar8; pcVar8 = pcVar8 + 1; *pcVar1 = cVar3; uVar5 = uVar5 - 1; cVar4 = cVar3; } cVar3 = *pcVar6; } while (cVar3 != '\0'); if (((uVar5 != 0) && (cVar4 != ':')) && (cVar4 != '\\')) { pcVar1 = pcVar8; pcVar8 = pcVar8 + 1; *pcVar1 = '\\'; uVar5 = uVar5 - 1; } } while( true ); } /* ===== 1008:26b0 FUN_1008_26b0 ===== */ uint __stdcall16far FUN_1008_26b0(int param_1,int param_2,int param_3,int param_4,int param_5,int param_6,int param_7, undefined2 param_8) { long lVar1; undefined4 local_14; int local_10; undefined2 local_e; uint local_c; uint local_a; uint local_8; lVar1 = FUN_1008_2fe3(0x5c,param_7,param_8); if (lVar1 == 0) { lVar1 = FUN_1008_2fe3(0x3a,param_7,param_8); } local_e = (undefined2)((ulong)lVar1 >> 0x10); local_10 = (int)lVar1; if (lVar1 == 0) { local_10 = param_7; local_e = param_8; } else { local_10 = local_10 + 1; } local_14 = (char *)FUN_1008_2fbb(0x2e,local_10,local_e); if (local_14 == (char *)0x0) { local_14 = (char *)FUN_1008_2ea9(local_10,local_e); } local_8 = local_10 - param_7; if (0x43 < local_8) { local_8 = 0x43; } local_a = (int)(char *)local_14 - local_10; if (8 < local_a) { local_a = 8; } local_c = 0; lVar1 = FUN_1008_2fbb(0x3f,local_10,local_e); if (lVar1 == 0) { lVar1 = FUN_1008_2fbb(0x2a,local_10,local_e); if (lVar1 == 0) goto LAB_1008_2784; } local_c = 8; LAB_1008_2784: if (local_8 != 0) { local_c = local_c | 4; } if (local_a != 0) { local_c = local_c | 2; } if (*local_14 != '\0') { local_c = local_c | 1; } if (param_5 != 0 || param_6 != 0) { FUN_1008_2f07(local_8,param_7,param_8,param_5,param_6); } if (param_3 != 0 || param_4 != 0) { FUN_1008_2f07(local_a,local_10,local_e,param_3,param_4); } if (param_1 != 0 || param_2 != 0) { FUN_1008_2f07(4,(char *)local_14,local_14._2_2_,param_1,param_2); } return local_c; } /* ===== 1008:2819 FUN_1008_2819 ===== */ char * __stdcall16far FUN_1008_2819(undefined2 param_1,undefined2 param_2) { int iVar1; int iVar2; undefined4 local_e; char *local_8; undefined2 local_6; iVar1 = FUN_1008_2e92(param_1,param_2); local_e = (char *)GETDOSENVIRONMENT(0x1008); do { if (*local_e == '\0') { local_8 = (char *)0x0; local_6 = 0; LAB_1008_2896: return (char *)CONCAT22(local_6,local_8); } iVar2 = FUN_1008_2f70(iVar1,param_1,param_2,(char *)local_e,local_e._2_2_); if ((iVar2 == 0) && (((char *)local_e)[iVar1] == '=')) { local_8 = (char *)local_e + iVar1 + 1; local_6 = local_e._2_2_; goto LAB_1008_2896; } iVar2 = FUN_1008_2e92((char *)local_e,local_e._2_2_); local_e = (char *)CONCAT22(local_e._2_2_,(char *)local_e + iVar2 + 1); } while( true ); } /* ===== 1008:28a3 FUN_1008_28a3 ===== */ undefined4 __stdcall16far FUN_1008_28a3(undefined4 param_1,undefined2 param_2,undefined1 param_3,undefined2 param_4, undefined2 param_5,undefined2 param_6) { undefined2 uVar1; int iVar2; undefined2 uVar3; bool bVar4; FUN_1020_03cb(); bVar4 = true; FUN_1020_03ef(); if (!bVar4) { uVar3 = (undefined2)((ulong)param_1 >> 0x10); iVar2 = (int)param_1; FUN_1008_2d99(iVar2,uVar3,0); *(undefined2 *)(iVar2 + 2) = 0; *(undefined2 *)(iVar2 + 4) = param_6; uVar1 = FUN_1008_295c(iVar2,uVar3,param_3,param_4,param_5); *(undefined2 *)(iVar2 + 2) = uVar1; if (*(int *)(iVar2 + 2) == 0) { FUN_1020_0439(); } } return param_1; } /* ===== 1008:2906 FUN_1008_2906 ===== */ void __stdcall16far FUN_1008_2906(undefined4 param_1) { undefined2 uVar1; FUN_1020_03cb(); uVar1 = (undefined2)((ulong)param_1 >> 0x10); FUN_1008_2932((int)param_1,uVar1); FUN_1008_2dcd((int)param_1,uVar1,0); FUN_1020_0439(); return; } /* ===== 1008:2932 FUN_1008_2932 ===== */ void __stdcall16far FUN_1008_2932(undefined4 param_1) { int iVar1; undefined2 uVar2; FUN_1020_03cb(); uVar2 = (undefined2)((ulong)param_1 >> 0x10); iVar1 = (int)param_1; if (*(int *)(iVar1 + 2) != 0) { TIMEKILLEVENT(0x1020,*(undefined2 *)(iVar1 + 2)); } *(undefined2 *)(iVar1 + 2) = 0; return; } /* ===== 1008:295c FUN_1008_295c ===== */ undefined2 __stdcall16far FUN_1008_295c(undefined2 param_1,undefined2 param_2,undefined1 param_3,undefined2 param_4, undefined2 param_5) { undefined1 extraout_AH; undefined2 uVar1; FUN_1020_03cb(); uVar1 = SYSTEMTIMERMAKE(0x1020,CONCAT11(extraout_AH,param_3),param_4,param_5); return uVar1; } /* ===== 1008:298a FUN_1008_298a ===== */ void __cdecl16far FUN_1008_298a(void) { FUN_1020_03cb(); return; } /* ===== 1008:2996 FUN_1008_2996 ===== */ undefined4 __stdcall16far FUN_1008_2996(undefined4 param_1,undefined2 param_2,undefined2 param_3,int param_4, undefined2 param_5,undefined2 param_6) { int unaff_BP; int iVar1; undefined2 uVar2; bool bVar3; undefined4 uVar4; bVar3 = true; FUN_1020_03ef(0x1028,unaff_BP + 1); if (!bVar3) { uVar2 = (undefined2)((ulong)param_1 >> 0x10); iVar1 = (int)param_1; FUN_1018_0341(iVar1,uVar2,0,param_5,param_6); FUN_1018_0627(iVar1,uVar2); if (param_4 == 0) { *(undefined2 *)(iVar1 + 0x1d) = param_3; *(undefined2 *)(iVar1 + 0x1f) = 0; } else { uVar4 = FUN_1008_302c(param_3,param_4); *(undefined2 *)(iVar1 + 0x1d) = (int)uVar4; *(undefined2 *)(iVar1 + 0x1f) = (int)((ulong)uVar4 >> 0x10); } *(undefined2 *)(iVar1 + 0x21) = 0; *(undefined2 *)(iVar1 + 0x23) = 0; *(undefined1 *)(iVar1 + 0x25) = 0; } return param_1; } /* ===== 1008:2a0e FUN_1008_2a0e ===== */ void __stdcall16far FUN_1008_2a0e(undefined4 param_1) { int unaff_BP; int iVar1; int iVar2; undefined2 uVar3; undefined2 uVar4; iVar1 = unaff_BP + 1; uVar4 = 0x1028; uVar3 = (undefined2)((ulong)param_1 >> 0x10); iVar2 = (int)param_1; if (*(int *)(iVar2 + 0x1f) != 0) { FUN_1008_3099(*(undefined2 *)(iVar2 + 0x1d),*(undefined2 *)(iVar2 + 0x1f)); } FUN_1018_03ff(iVar2,uVar3,0); FUN_1020_0439(uVar4,iVar1); return; } /* ===== 1008:2a45 FUN_1008_2a45 ===== */ uint __stdcall16far FUN_1008_2a45(undefined4 param_1) { uint in_AX; uint uVar1; int iVar2; undefined2 uVar3; undefined2 local_8; uVar3 = (undefined2)((ulong)param_1 >> 0x10); iVar2 = (int)param_1; if (*(int *)(iVar2 + 2) == 0) { FUN_1018_0627(iVar2,uVar3); FUN_1018_05f3(iVar2,uVar3); *(undefined1 *)(iVar2 + 0x25) = 0; if (*(int *)(iVar2 + 6) == 0 && *(int *)(iVar2 + 8) == 0) { local_8 = 0; } else { local_8 = *(undefined2 *)((int)*(undefined4 *)(iVar2 + 6) + 4); } in_AX = (*DAT_1028_0652)(0x1018,*(undefined2 *)(iVar2 + 0x21),*(undefined2 *)(iVar2 + 0x23), *(undefined2 *)(iVar2 + 0x12),*(undefined2 *)(iVar2 + 0x14),local_8, *(undefined2 *)(iVar2 + 0x1d),*(undefined2 *)(iVar2 + 0x1f), DAT_1028_06fe); *(uint *)(iVar2 + 4) = in_AX; if (*(int *)(iVar2 + 4) == 0) { *(undefined2 *)(iVar2 + 2) = 0xffff; } } uVar1 = in_AX & 0xff00; if (*(int *)(iVar2 + 2) == 0) { uVar1 = uVar1 + 1; } return uVar1; } /* ===== 1008:2ae3 FUN_1008_2ae3 ===== */ int __stdcall16far FUN_1008_2ae3(undefined4 param_1) { undefined2 uVar1; int iVar2; int iVar3; undefined2 uVar4; undefined2 uVar5; undefined2 uVar6; undefined2 local_8; undefined2 local_6; uVar4 = (undefined2)((ulong)param_1 >> 0x10); iVar2 = (int)param_1; if (*(int *)(iVar2 + 2) == 0) { FUN_1018_0627(iVar2,uVar4); FUN_1018_05f3(iVar2,uVar4); *(undefined1 *)(iVar2 + 0x25) = 1; if (*(int *)(iVar2 + 6) == 0 && *(int *)(iVar2 + 8) == 0) { local_8 = 0; } else { local_8 = *(undefined2 *)((int)*(undefined4 *)(iVar2 + 6) + 4); } uVar5 = (undefined2)((ulong)DAT_1028_064e >> 0x10); uVar1 = *(undefined2 *)((int)DAT_1028_064e + 0xe); uVar5 = *(undefined2 *)((int)DAT_1028_064e + 0x10); local_6 = (*DAT_1028_0656)(0x1018,*(undefined2 *)(iVar2 + 0x21),*(undefined2 *)(iVar2 + 0x23), *(undefined2 *)(iVar2 + 0x12),*(undefined2 *)(iVar2 + 0x14),local_8, *(undefined2 *)(iVar2 + 0x1d),*(undefined2 *)(iVar2 + 0x1f), DAT_1028_06fe); uVar6 = (undefined2)((ulong)DAT_1028_064e >> 0x10); iVar3 = (int)DAT_1028_064e; *(undefined2 *)(iVar3 + 0xe) = uVar1; *(undefined2 *)(iVar3 + 0x10) = uVar5; if (local_6 == -1) { *(undefined2 *)(iVar2 + 2) = 0xffff; } *(undefined2 *)(iVar2 + 4) = 0; } else { local_6 = *(int *)(iVar2 + 2); } return local_6; } /* ===== 1008:2bb1 FUN_1008_2bb1 ===== */ void __stdcall16far FUN_1008_2bb1(undefined2 param_1,undefined4 param_2) { undefined2 uVar1; uVar1 = (undefined2)((ulong)param_2 >> 0x10); if (*(int *)((int)param_2 + 4) != 0) { FUN_1018_060d((int)param_2,uVar1); } return; } /* ===== 1008:2bd1 FUN_1008_2bd1 ===== */ void __stdcall16far FUN_1008_2bd1(undefined4 param_1,undefined2 param_2) { undefined2 uVar1; uVar1 = (undefined2)((ulong)param_1 >> 0x10); if (*(char *)((int)param_1 + 0x25) != '\0') { FUN_1018_085a((int)param_1,uVar1,0x2bb1,0x1008); ENDDIALOG(0x1018,param_2); } return; } /* ===== 1008:2c08 FUN_1008_2c08 ===== */ void __stdcall16far FUN_1008_2c08(int *param_1) { (*(code *)*(undefined2 *)(*param_1 + 0x38))(); return; } /* ===== 1008:2c1f FUN_1008_2c1f ===== */ void __stdcall16far FUN_1008_2c1f(int *param_1,undefined4 param_2) { char cVar1; int iVar2; undefined2 uVar3; undefined2 uVar4; uVar3 = (undefined2)((ulong)DAT_1028_064e >> 0x10); iVar2 = (int)param_2; uVar4 = (undefined2)((ulong)param_2 >> 0x10); if (((int)((ulong)param_1 >> 0x10) == ((int *)DAT_1028_064e)[5]) && ((int *)param_1 == (int *)((int *)DAT_1028_064e)[4])) { cVar1 = (*(code *)*(undefined2 *)(*DAT_1028_064e + 0x44))(); *(int *)(iVar2 + 10) = (int)(cVar1 == '\0'); *(undefined2 *)(iVar2 + 0xc) = 0; } else { cVar1 = (*(code *)*(undefined2 *)(*param_1 + 0x3c))(); *(int *)(iVar2 + 10) = (int)(cVar1 == '\0'); *(undefined2 *)(iVar2 + 0xc) = 0; } return; } /* ===== 1008:2c83 FUN_1008_2c83 ===== */ void __stdcall16far FUN_1008_2c83(undefined2 param_1,undefined2 param_2,undefined4 param_3) { int *piVar1; int iVar2; int unaff_BP; int iVar3; undefined2 uVar4; long lVar5; undefined2 uVar6; undefined2 uVar7; iVar3 = unaff_BP + 1; uVar7 = 0x1028; uVar4 = (undefined2)((ulong)param_3 >> 0x10); uVar6 = *(undefined2 *)((int)param_3 + 4); SETFOCUS(); lVar5 = FUN_1018_0097(*(undefined2 *)((int)param_3 + 4)); uVar4 = (undefined2)((ulong)lVar5 >> 0x10); iVar2 = (int)lVar5; if ((lVar5 != 0) && (*(int *)(iVar2 + 0x43) != 0 || *(int *)(iVar2 + 0x45) != 0)) { piVar1 = (int *)*(undefined4 *)(iVar2 + 0x43); (*(code *)*(undefined2 *)(*piVar1 + 0xc)) (0x1018,(int *)piVar1,(int)((ulong)piVar1 >> 0x10),uVar6,lVar5,uVar7,iVar3); } DAT_1028_06f2 = 1; return; } /* ===== 1008:2cd9 FUN_1008_2cd9 ===== */ void __stdcall16far FUN_1008_2cd9(undefined2 param_1,undefined2 param_2,undefined4 param_3) { undefined2 uVar1; uVar1 = (undefined2)((ulong)param_3 >> 0x10); *(undefined2 *)((int)param_3 + 10) = 0; *(undefined2 *)((int)param_3 + 0xc) = 0; return; } /* ===== 1008:2cf2 FUN_1008_2cf2 ===== */ void __stdcall16far FUN_1008_2cf2(int *param_1) { char cVar1; undefined2 uVar2; uVar2 = (undefined2)((ulong)param_1 >> 0x10); if (*(char *)((int)(int *)param_1 + 0x25) == '\0') { FUN_1018_0f38((int *)param_1,uVar2); } else { cVar1 = (*(code *)*(undefined2 *)(*param_1 + 0x3c))(); if (cVar1 != '\0') { (*(code *)*(undefined2 *)(*param_1 + 0x44))(); (*(code *)*(undefined2 *)(*param_1 + 0x50))(); } } return; } /* ===== 1008:2d3a FUN_1008_2d3a ===== */ void __stdcall16far FUN_1008_2d3a(int *param_1) { undefined2 uVar1; uVar1 = (undefined2)((ulong)param_1 >> 0x10); if (*(char *)((int)(int *)param_1 + 0x25) == '\0') { FUN_1018_0f38((int *)param_1,uVar1); } else { (*(code *)*(undefined2 *)(*param_1 + 0x50))(); } return; } /* ===== 1008:2d66 FUN_1008_2d66 ===== */ void __stdcall16far FUN_1008_2d66(void) { FUN_1020_16e1(); return; } /* ===== 1008:2d87 FUN_1008_2d87 ===== */ void __cdecl16far FUN_1008_2d87(void) { FUN_1020_005d(); return; } /* ===== 1008:2d99 FUN_1008_2d99 ===== */ undefined4 __stdcall16far FUN_1008_2d99(undefined4 param_1) { int unaff_BP; FUN_1020_03ef(0x1028,unaff_BP + 1); return param_1; } /* ===== 1008:2db3 FUN_1008_2db3 ===== */ void __stdcall16far FUN_1008_2db3(int *param_1) { (*(code *)*(undefined2 *)(*param_1 + 8))(); return; } /* ===== 1008:2dcd FUN_1008_2dcd ===== */ void __stdcall16far FUN_1008_2dcd(void) { int unaff_BP; FUN_1020_0439(0x1028,unaff_BP + 1); return; } /* ===== 1008:2de0 FUN_1008_2de0 ===== */ uint __cdecl16far FUN_1008_2de0(void) { uint uVar1; uVar1 = (DAT_1028_06f6 | DAT_1028_06f8) & 0xff00; if ((DAT_1028_06f6 | DAT_1028_06f8) == 0) { uVar1 = 1; } return uVar1; } /* ===== 1008:2dff FUN_1008_2dff ===== */ void __cdecl16far FUN_1008_2dff(void) { char cVar1; int unaff_BP; undefined4 uVar2; cVar1 = FUN_1008_2de0(0x1028,unaff_BP + 1); uVar2 = CONCAT22(DAT_1028_06f8,DAT_1028_06f6); if (cVar1 != '\0') { uVar2 = FUN_1020_012d(DAT_1028_06f4); } DAT_1028_06f8 = (undefined2)((ulong)uVar2 >> 0x10); DAT_1028_06f6 = (undefined2)uVar2; return; } /* ===== 1008:2e22 FUN_1008_2e22 ===== */ undefined2 __stdcall16far FUN_1008_2e22(int param_1) { char cVar1; undefined2 local_6; if (param_1 != 0) { if (DAT_1028_06fa == '\0') { cVar1 = FUN_1008_2de0(); if (cVar1 == '\0') { FUN_1020_0147(DAT_1028_06f4,DAT_1028_06f6,DAT_1028_06f8); DAT_1028_06f6 = 0; DAT_1028_06f8 = 0; local_6 = 2; } else { local_6 = 0; } } else { local_6 = 1; } } return local_6; } /* ===== 1008:2e76 FUN_1008_2e76 ===== */ void __cdecl16far FUN_1008_2e76(void) { int unaff_BP; FUN_1008_2dff(0x1028,unaff_BP + 1); DAT_1028_070e = 0x2e22; DAT_1028_0710 = 0x1008; return; } /* ===== 1008:2e92 FUN_1008_2e92 ===== */ int __stdcall16far FUN_1008_2e92(char *param_1) { char *pcVar1; int iVar2; char *pcVar3; pcVar3 = (char *)param_1; iVar2 = -1; do { if (iVar2 == 0) break; iVar2 = iVar2 + -1; pcVar1 = pcVar3; pcVar3 = pcVar3 + 1; } while (*pcVar1 != '\0'); return -2 - iVar2; } /* ===== 1008:2ea9 FUN_1008_2ea9 ===== */ char * __stdcall16far FUN_1008_2ea9(char *param_1) { char *pcVar1; int iVar2; char *pcVar3; undefined2 uVar4; uVar4 = (undefined2)((ulong)param_1 >> 0x10); pcVar3 = (char *)param_1; iVar2 = -1; do { if (iVar2 == 0) break; iVar2 = iVar2 + -1; pcVar1 = pcVar3; pcVar3 = pcVar3 + 1; } while (*pcVar1 != '\0'); return (char *)CONCAT22(uVar4,pcVar3 + -1); } /* ===== 1008:2ec0 FUN_1008_2ec0 ===== */ undefined1 * __stdcall16far FUN_1008_2ec0(int param_1,undefined1 *param_2,undefined1 *param_3) { undefined1 *puVar1; undefined1 *puVar2; undefined1 *puVar3; undefined1 *puVar4; byte bVar5; bVar5 = 0; puVar3 = (undefined1 *)param_2; puVar4 = (undefined1 *)param_3; if (puVar3 < puVar4) { bVar5 = 1; puVar3 = puVar3 + param_1 + -1; puVar4 = puVar4 + param_1 + -1; } for (; param_1 != 0; param_1 = param_1 + -1) { puVar2 = puVar4; puVar4 = puVar4 + (uint)bVar5 * -2 + 1; puVar1 = puVar3; puVar3 = puVar3 + (uint)bVar5 * -2 + 1; *puVar2 = *puVar1; } return param_3; } /* ===== 1008:2ee5 FUN_1008_2ee5 ===== */ char * __stdcall16far FUN_1008_2ee5(char *param_1,char *param_2) { char *pcVar1; char *pcVar2; uint uVar3; char *pcVar4; char *pcVar5; undefined2 uVar6; uVar6 = (undefined2)((ulong)param_1 >> 0x10); pcVar4 = (char *)param_1; uVar3 = 0xffff; pcVar5 = pcVar4; do { if (uVar3 == 0) break; uVar3 = uVar3 - 1; pcVar1 = pcVar5; pcVar5 = pcVar5 + 1; } while (*pcVar1 != '\0'); pcVar5 = (char *)param_2; for (uVar3 = ~uVar3; uVar3 != 0; uVar3 = uVar3 - 1) { pcVar2 = pcVar5; pcVar5 = pcVar5 + 1; pcVar1 = pcVar4; pcVar4 = pcVar4 + 1; *pcVar2 = *pcVar1; } return param_2; } /* ===== 1008:2f07 FUN_1008_2f07 ===== */ char * __stdcall16far FUN_1008_2f07(int param_1,char *param_2,char *param_3) { char *pcVar1; char *pcVar2; int iVar3; char *pcVar4; char *pcVar5; undefined2 uVar6; undefined2 uVar7; uVar6 = (undefined2)((ulong)param_2 >> 0x10); pcVar4 = (char *)param_2; iVar3 = param_1; pcVar5 = pcVar4; do { if (iVar3 == 0) break; iVar3 = iVar3 + -1; pcVar1 = pcVar5; pcVar5 = pcVar5 + 1; } while (*pcVar1 != '\0'); uVar7 = (undefined2)((ulong)param_3 >> 0x10); pcVar5 = (char *)param_3; for (param_1 = param_1 - iVar3; param_1 != 0; param_1 = param_1 + -1) { pcVar2 = pcVar5; pcVar5 = pcVar5 + 1; pcVar1 = pcVar4; pcVar4 = pcVar4 + 1; *pcVar2 = *pcVar1; } *pcVar5 = '\0'; return param_3; } /* ===== 1008:2f2f FUN_1008_2f2f ===== */ byte * __stdcall16far FUN_1008_2f2f(byte *param_1,byte *param_2) { byte *pbVar1; uint uVar2; byte *pbVar3; byte *pbVar4; undefined2 uVar5; pbVar3 = (byte *)param_1; uVar5 = (undefined2)((ulong)param_2 >> 0x10); pbVar4 = (byte *)param_2; for (uVar2 = (uint)*param_1; pbVar3 = pbVar3 + 1, uVar2 != 0; uVar2 = uVar2 - 1) { pbVar1 = pbVar4; pbVar4 = pbVar4 + 1; *pbVar1 = *pbVar3; } *pbVar4 = 0; return param_2; } /* ===== 1008:2f4d FUN_1008_2f4d ===== */ undefined4 __stdcall16far FUN_1008_2f4d(undefined2 param_1,undefined2 param_2,undefined2 param_3,undefined2 param_4) { undefined4 uVar1; uVar1 = FUN_1008_2ea9(param_3,param_4); FUN_1008_2ee5(param_1,param_2,uVar1); return CONCAT22(param_4,param_3); } /* ===== 1008:2f70 FUN_1008_2f70 ===== */ void __stdcall16far FUN_1008_2f70(int param_1,char *param_2,char *param_3) { char *pcVar1; char *pcVar2; byte bVar3; int iVar4; undefined1 uVar5; int iVar6; uint uVar7; char *pcVar8; char *pcVar9; undefined2 uVar10; undefined2 uVar11; bool bVar12; uVar10 = (undefined2)((ulong)param_2 >> 0x10); pcVar9 = (char *)param_2; if (param_1 != 0) { iVar4 = 0; iVar6 = param_1; pcVar8 = pcVar9; do { if (iVar6 == 0) break; iVar6 = iVar6 + -1; pcVar1 = pcVar8; pcVar8 = pcVar8 + 1; } while (*pcVar1 != '\0'); param_1 = param_1 - iVar6; bVar12 = param_1 == 0; uVar11 = (undefined2)((ulong)param_3 >> 0x10); pcVar8 = (char *)param_3; LAB_1008_2f90: do { if (param_1 != 0) { param_1 = param_1 + -1; pcVar2 = pcVar9; pcVar9 = pcVar9 + 1; pcVar1 = pcVar8; pcVar8 = pcVar8 + 1; bVar12 = *pcVar1 == *pcVar2; if (bVar12) goto LAB_1008_2f90; } if (bVar12) { return; } bVar3 = pcVar8[-1]; uVar5 = (undefined1)((uint)iVar4 >> 8); iVar4 = CONCAT11(uVar5,bVar3); if ((0x60 < bVar3) && (bVar3 < 0x7b)) { iVar4 = CONCAT11(uVar5,bVar3 - 0x20); } bVar3 = pcVar9[-1]; uVar7 = (uint)bVar3; if ((0x60 < bVar3) && (bVar3 < 0x7b)) { uVar7 = (uint)(byte)(bVar3 - 0x20); } iVar4 = iVar4 - uVar7; bVar12 = true; } while (iVar4 == 0); } return; } /* ===== 1008:2fbb FUN_1008_2fbb ===== */ char * __stdcall16far FUN_1008_2fbb(char param_1,char *param_2) { char *pcVar1; char *pcVar2; uint uVar3; undefined2 uVar4; char *pcVar5; undefined2 uVar6; bool bVar7; uVar6 = (undefined2)((ulong)param_2 >> 0x10); pcVar5 = (char *)param_2; uVar3 = 0xffff; bVar7 = true; pcVar2 = pcVar5; do { if (uVar3 == 0) break; uVar3 = uVar3 - 1; pcVar1 = pcVar2; pcVar2 = pcVar2 + 1; bVar7 = *pcVar1 == '\0'; } while (!bVar7); uVar3 = ~uVar3; do { if (uVar3 == 0) break; uVar3 = uVar3 - 1; pcVar1 = pcVar5; pcVar5 = pcVar5 + 1; bVar7 = param_1 == *pcVar1; } while (!bVar7); pcVar2 = (char *)0x0; uVar4 = 0; if (bVar7) { pcVar2 = pcVar5 + -1; uVar4 = uVar6; } return (char *)CONCAT22(uVar4,pcVar2); } /* ===== 1008:2fe3 FUN_1008_2fe3 ===== */ char * __stdcall16far FUN_1008_2fe3(char param_1,char *param_2) { char *pcVar1; char *pcVar2; uint uVar3; undefined2 uVar4; char *pcVar5; undefined2 uVar6; bool bVar7; uVar6 = (undefined2)((ulong)param_2 >> 0x10); pcVar5 = (char *)param_2; uVar3 = 0xffff; do { if (uVar3 == 0) break; uVar3 = uVar3 - 1; pcVar1 = pcVar5; pcVar5 = pcVar5 + 1; } while (*pcVar1 != '\0'); uVar3 = ~uVar3; pcVar5 = pcVar5 + -1; bVar7 = pcVar5 == (char *)0x0; do { if (uVar3 == 0) break; uVar3 = uVar3 - 1; pcVar1 = pcVar5; pcVar5 = pcVar5 + -1; bVar7 = param_1 == *pcVar1; } while (!bVar7); pcVar2 = (char *)0x0; uVar4 = 0; if (bVar7) { pcVar2 = pcVar5 + 1; uVar4 = uVar6; } return (char *)CONCAT22(uVar4,pcVar2); } /* ===== 1008:300a FUN_1008_300a ===== */ void __stdcall16far FUN_1008_300a(char *param_1,char *param_2) { char *pcVar1; uint uVar2; int iVar3; char *pcVar4; char *pcVar5; undefined2 uVar6; uVar6 = (undefined2)((ulong)param_1 >> 0x10); pcVar4 = (char *)param_1; uVar2 = 0xffff; pcVar5 = pcVar4; do { if (uVar2 == 0) break; uVar2 = uVar2 - 1; pcVar1 = pcVar5; pcVar5 = pcVar5 + 1; } while (*pcVar1 != '\0'); iVar3 = ~uVar2 - 1; pcVar5 = (char *)param_2; *param_2 = (char)iVar3; for (; pcVar5 = pcVar5 + 1, iVar3 != 0; iVar3 = iVar3 + -1) { pcVar1 = pcVar4; pcVar4 = pcVar4 + 1; *pcVar5 = *pcVar1; } return; } /* ===== 1008:302c FUN_1008_302c ===== */ undefined4 __stdcall16far FUN_1008_302c(char *param_1) { int iVar1; long lVar2; undefined4 uVar3; uVar3 = 0; if (((char *)param_1 != (char *)0x0 || param_1._2_2_ != 0) && (uVar3 = 0, *param_1 != '\0')) { iVar1 = FUN_1008_2e92((char *)param_1,param_1._2_2_); lVar2 = FUN_1020_012d(iVar1 + 1); uVar3 = 0; if (lVar2 != 0) { uVar3 = FUN_1008_2ec0(iVar1 + 1,(char *)param_1,param_1._2_2_,lVar2); } } return uVar3; } /* ===== 1008:3099 FUN_1008_3099 ===== */ void __stdcall16far FUN_1008_3099(int param_1,int param_2) { int iVar1; if (param_1 != 0 || param_2 != 0) { iVar1 = FUN_1008_2e92(param_1,param_2); FUN_1020_0147(iVar1 + 1,param_1,param_2); } return; } /* ===== 1010:0002 FUN_1010_0002 ===== */ void __cdecl16far FUN_1010_0002(void) { if (0x1f < DAT_1028_4781) { FREELIBRARY(DAT_1028_4781); } DAT_1028_4784 = 0; DAT_1028_4750 = 0; DAT_1028_4752 = 0; DAT_1028_4754 = 0; DAT_1028_4756 = 0; DAT_1028_4758 = 0; DAT_1028_475a = 0; DAT_1028_475c = 0; DAT_1028_475e = 0; DAT_1028_4760 = 0; DAT_1028_4762 = 0; DAT_1028_4764 = 0; DAT_1028_4766 = 0; DAT_1028_4768 = 0; DAT_1028_476a = 0; DAT_1028_476c = 0; DAT_1028_476e = 0; DAT_1028_4770 = 0; DAT_1028_4772 = 0; DAT_1028_4774 = 0; DAT_1028_4776 = 0; DAT_1028_4778 = 0; DAT_1028_477a = 0; return; } /* ===== 1010:0079 FUN_1010_0079 ===== */ void __cdecl16far FUN_1010_0079(void) { uint uVar1; int unaff_BP; int iVar2; undefined2 uVar3; iVar2 = unaff_BP + 1; uVar3 = 0x1028; if ((DAT_1028_4784 != '\0') && (DAT_1028_4778 != (code *)0x0 || DAT_1028_477a != 0)) { uVar1 = GETCURRENTTASK(); (*DAT_1028_4778)(0x1228,uVar1,uVar3,iVar2); FUN_1010_0002(); } return; } /* ===== 1010:00a2 FUN_1010_00a2 ===== */ undefined2 __stdcall16far FUN_1010_00a2(char *param_1,undefined2 param_2,undefined2 param_3,undefined2 param_4) { undefined1 extraout_AH; undefined1 extraout_AH_00; undefined1 extraout_AH_01; uint uVar1; undefined1 extraout_AH_02; undefined1 extraout_AH_03; undefined1 uVar2; int unaff_BP; void *unaff_SS; undefined4 uVar3; char *pcVar4; void *arg3; undefined1 local_163 [9]; undefined1 local_15a [5]; undefined1 local_155 [256]; char local_55 [80]; undefined1 local_5; undefined2 uStack_4; int iStack_2; iStack_2 = unaff_BP + 1; uStack_4 = 0x1028; local_5 = 0; local_155[0] = 0; FUN_1008_2643(local_155,unaff_SS,param_3,param_4,local_55,unaff_SS); if (local_55[0] == '\0') { GETWINDOWSDIRECTORY(0x1008,0xff,local_155); FUN_1008_2643(local_155,unaff_SS,param_3,param_4,local_55,unaff_SS); if (local_55[0] == '\0') { arg3 = unaff_SS; GETSYSTEMDIRECTORY(0x1008,0xff,local_155); FUN_1008_2643(local_155,unaff_SS,param_3,param_4,local_55,unaff_SS); if (local_55[0] == '\0') { uVar1 = GETMODULEHANDLE((char *)CONCAT22(param_2,param_1)); GETMODULEFILENAME(0x100,(void *)CONCAT22(uVar1,unaff_SS),(short)arg3); FUN_1008_26b0(local_15a,unaff_SS,local_163,unaff_SS,local_155,unaff_SS,local_155,unaff_SS); FUN_1008_2643(local_155,unaff_SS,param_3,param_4,local_55,unaff_SS); if (local_55[0] == '\0') { pcVar4 = (char *)CONCAT22(unaff_SS,local_55); uVar3 = FUN_1008_2819(0x46a,0x1028); FUN_1008_2643(uVar3,param_3,param_4,pcVar4); uVar2 = extraout_AH_03; if (local_55[0] != '\0') { local_5 = 1; } } else { local_5 = 1; uVar2 = extraout_AH_02; } } else { local_5 = 1; uVar2 = extraout_AH_01; } } else { local_5 = 1; uVar2 = extraout_AH_00; } } else { local_5 = 1; uVar2 = extraout_AH; } return CONCAT11(uVar2,local_5); } /* ===== 1010:01c2 FUN_1010_01c2 ===== */ char __stdcall16far FUN_1010_01c2(undefined1 param_1,undefined1 param_2,char param_3,undefined2 param_4, undefined2 param_5) { char cVar1; uint uVar2; int iVar3; undefined2 in_DX; undefined2 extraout_DX; undefined1 in_stack_0000fffa; char cVar4; cVar4 = '\x01'; cVar1 = cVar4; if (DAT_1028_4784 == '\0') { if (DAT_1028_478c == '\0') { SETERRORMODE(0x8000); DAT_1028_4781 = LOADLIBRARY((char *)0x1028478d); SETERRORMODE(0); } else { cVar1 = FUN_1010_00a2(param_4,param_5,0x478d,0x1028); in_DX = extraout_DX; if (cVar1 == '\0') { DAT_1028_4781 = 0; } else { DAT_1028_4781 = LOADLIBRARY((char *)0x1028478d); } } cVar1 = DAT_1028_4784; if (0x1f < DAT_1028_4781) { DAT_1028_4750 = (code *)GETPROCADDRESS(0x470,(char *)CONCAT13(cVar4,CONCAT12(in_stack_0000fffa, DAT_1028_4781))); DAT_1028_4752 = in_DX; DAT_1028_4754 = GETPROCADDRESS(0x482,(char *)CONCAT13(cVar4,CONCAT12(in_stack_0000fffa,DAT_1028_4781))); DAT_1028_4756 = in_DX; DAT_1028_4758 = GETPROCADDRESS(0x493,(char *)CONCAT13(cVar4,CONCAT12(in_stack_0000fffa,DAT_1028_4781))); DAT_1028_475a = in_DX; DAT_1028_475c = (code *)GETPROCADDRESS(0x4a3,(char *)CONCAT13(cVar4,CONCAT12(in_stack_0000fffa, DAT_1028_4781))); DAT_1028_475e = in_DX; DAT_1028_4760 = GETPROCADDRESS(0x4b0,(char *)CONCAT13(cVar4,CONCAT12(in_stack_0000fffa,DAT_1028_4781))); DAT_1028_4762 = in_DX; DAT_1028_4764 = (code *)GETPROCADDRESS(0x4c3,(char *)CONCAT13(cVar4,CONCAT12(in_stack_0000fffa, DAT_1028_4781))); DAT_1028_4766 = in_DX; DAT_1028_4768 = (code *)GETPROCADDRESS(0x4cf,(char *)CONCAT13(cVar4,CONCAT12(in_stack_0000fffa, DAT_1028_4781))); DAT_1028_476a = in_DX; DAT_1028_476c = GETPROCADDRESS(0x4dd,(char *)CONCAT13(cVar4,CONCAT12(in_stack_0000fffa,DAT_1028_4781))); DAT_1028_476e = in_DX; if (DAT_1028_478c == '\0') { DAT_1028_4770 = GETPROCADDRESS(0x4ee,(char *)CONCAT13(cVar4,CONCAT12(in_stack_0000fffa,DAT_1028_4781))) ; DAT_1028_4772 = in_DX; } else { DAT_1028_4770 = 0; DAT_1028_4772 = 0; } DAT_1028_4774 = GETPROCADDRESS(0x501,(char *)CONCAT13(cVar4,CONCAT12(in_stack_0000fffa,DAT_1028_4781))); DAT_1028_4776 = in_DX; DAT_1028_4778 = GETPROCADDRESS(0x512,(char *)CONCAT13(cVar4,CONCAT12(in_stack_0000fffa,DAT_1028_4781))); DAT_1028_477a = in_DX; uVar2 = GETCURRENTTASK(); iVar3 = (*DAT_1028_4768)(0x1228,uVar2); DAT_1028_4784 = iVar3 != 0; if ((bool)DAT_1028_4784) { DAT_1028_477c = (*DAT_1028_4764)(0x1228); iVar3 = (*DAT_1028_475c)(0x1228); if ((iVar3 == 0) || (DAT_1028_477c < 9)) { DAT_1028_4784 = false; } else { DAT_1028_4784 = true; } } if ((bool)DAT_1028_4784 == false) { FUN_1010_0002(); cVar1 = DAT_1028_4784; } else { DAT_1028_477f = param_2; DAT_1028_4780 = param_1; if ((DAT_1028_478c == '\0') && (param_3 != '\0')) { iVar3 = (*DAT_1028_4750)(0x1228,DAT_1028_06fe); DAT_1028_477e = iVar3 != 0; cVar1 = DAT_1028_4784; } else { DAT_1028_477e = 0; cVar1 = DAT_1028_4784; } } } } return cVar1; } /* ===== 1010:03af FUN_1010_03af ===== */ undefined2 __stdcall16far FUN_1010_03af(undefined1 param_1,undefined1 param_2,undefined1 param_3,undefined2 param_4, undefined2 param_5) { undefined2 uVar1; uVar1 = FUN_1010_01c2(param_1,param_2,param_3,param_4,param_5); DAT_1028_4783 = 0; return uVar1; } /* ===== 1010:03e0 FUN_1010_03e0 ===== */ void __stdcall16far FUN_1010_03e0(undefined4 param_1) { int unaff_BP; FUN_1010_0079(0x1028,unaff_BP + 1); FUN_1018_1b08((int)param_1,(int)((ulong)param_1 >> 0x10),0); FUN_1020_0439(); return; } /* ===== 1010:0405 FUN_1010_0405 ===== */ undefined1 __stdcall16far FUN_1010_0405(byte *param_1) { byte *pbVar1; byte *pbVar2; int iVar3; uint uVar4; int unaff_BP; byte *pbVar5; undefined2 unaff_SS; undefined1 local_185 [128]; byte local_105; byte abStack_104 [255]; undefined1 local_5; undefined2 uStack_4; int iStack_2; iStack_2 = unaff_BP + 1; uStack_4 = 0x1028; pbVar5 = (byte *)param_1; local_105 = *param_1; pbVar2 = abStack_104; for (uVar4 = (uint)local_105; pbVar5 = pbVar5 + 1, uVar4 != 0; uVar4 = uVar4 - 1) { pbVar1 = pbVar2; pbVar2 = pbVar2 + 1; *pbVar1 = *pbVar5; } FUN_1020_0667(&local_105,unaff_SS,local_185,unaff_SS); FUN_1020_06ab(1,local_185,unaff_SS); iVar3 = FUN_1020_0388(); if (iVar3 == 0) { local_5 = 1; FUN_1020_072c(local_185,unaff_SS); FUN_1020_038f(); } else { local_5 = 0; } return local_5; } /* ===== 1010:0472 FUN_1010_0472 ===== */ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void __cdecl16far FUN_1010_0472(void) { uint uVar1; char cVar2; undefined2 unaff_CS; undefined2 unaff_SS; undefined1 *puVar3; undefined1 *puVar4; undefined2 uVar5; undefined2 uVar6; undefined2 uVar7; undefined1 local_202 [256]; undefined1 local_102 [256]; DAT_1028_47a2 = GETSYSTEMDIRECTORY(unaff_CS,200,0x47a4); puVar4 = local_102; uVar5 = unaff_SS; FUN_1008_300a(0x47a4,0x1028); FUN_1020_0a51(0x470,0x1008); puVar3 = local_202; uVar6 = unaff_SS; FUN_1008_300a(0x522,0x1028); FUN_1020_0a51(puVar3,uVar6); FUN_1020_09ec(0xff,0x486d,0x1028,puVar4,uVar5); puVar4 = local_102; uVar5 = unaff_SS; FUN_1008_300a(0x47a4,0x1028); FUN_1020_0a51(0x470,0x1008); puVar3 = local_202; uVar6 = unaff_SS; FUN_1008_300a(0x52c,0x1028); FUN_1020_0a51(puVar3,uVar6); FUN_1020_09ec(0xff,0x496d,0x1028,puVar4,uVar5); if (DAT_1028_47a2 != 0) { uVar7 = 0x1028; uVar5 = 0x478d; puVar4 = local_102; uVar6 = unaff_SS; FUN_1008_300a(0x52c,0x1028); FUN_1008_2f2f(puVar4,uVar6,uVar5,uVar7); cVar2 = FUN_1010_0405(0x496d,0x1028); if (cVar2 == '\0') { cVar2 = FUN_1010_0405(0x486d,0x1028); if (cVar2 != '\0') { uVar5 = 0x1028; uVar6 = 0x478d; puVar4 = local_102; FUN_1008_300a(0x522,0x1028); FUN_1008_2f2f(puVar4,unaff_SS,uVar6,uVar5); } } } DAT_1028_4750 = 0; DAT_1028_4752 = 0; DAT_1028_4754 = 0; DAT_1028_4756 = 0; DAT_1028_4758 = 0; DAT_1028_475a = 0; DAT_1028_475c = 0; DAT_1028_475e = 0; DAT_1028_4760 = 0; DAT_1028_4762 = 0; DAT_1028_4764 = 0; DAT_1028_4766 = 0; DAT_1028_4768 = 0; DAT_1028_476a = 0; DAT_1028_476c = 0; DAT_1028_476e = 0; DAT_1028_4770 = 0; DAT_1028_4772 = 0; DAT_1028_4774 = 0; DAT_1028_4776 = 0; DAT_1028_4778 = 0; DAT_1028_477a = 0; _DAT_1028_478a = GETVERSION(); uVar1 = _DAT_1028_478a; if ((DAT_1028_478a == '\x03') && (DAT_1028_478b = (byte)(_DAT_1028_478a >> 8), DAT_1028_478b < 10) ) { DAT_1028_478c = 1; } else { DAT_1028_478c = 0; } DAT_1028_477e = 0; DAT_1028_477f = 0; DAT_1028_4780 = 1; DAT_1028_4781 = 0; DAT_1028_4783 = 0; DAT_1028_4784 = 0; _DAT_1028_478a = uVar1; return; } /* ===== 1018:0002 FUN_1018_0002 ===== */ void __cdecl16near FUN_1018_0002(void) { int *piVar1; int iVar2; int iVar3; int in_AX; int iVar4; int in_BX; int *piVar5; int *piVar6; bool bVar7; piVar5 = (int *)*(int *)(in_BX + 4); if ((piVar5 != (int *)0x0) && (in_AX != piVar5[1])) { bVar7 = false; do { iVar4 = piVar5[3]; piVar6 = piVar5 + 4; do { if (iVar4 == 0) break; iVar4 = iVar4 + -1; piVar1 = piVar6; piVar6 = piVar6 + 1; bVar7 = in_AX == *piVar1; } while (!bVar7); if (bVar7) { iVar2 = piVar5[3]; iVar3 = *(int *)(in_BX + 4); *(int *)(iVar3 + 2) = in_AX; *(undefined2 *)(iVar3 + 4) = piVar6 + ((iVar2 + -1) * 2 - iVar4); return; } piVar5 = (int *)*piVar5; bVar7 = piVar5 == (int *)0x0; } while (!bVar7); } return; } /* ===== 1018:0045 FUN_1018_0045 ===== */ void __stdcall16far FUN_1018_0045(undefined2 param_1,undefined2 param_2) { undefined2 unaff_CS; SETPROP(unaff_CS,param_2,0x67a,0x1028); SETPROP(0x1228,param_1,0x67e,0x1028); return; } /* ===== 1018:0071 FUN_1018_0071 ===== */ void __stdcall16far FUN_1018_0071(void) { undefined2 unaff_CS; REMOVEPROP(unaff_CS,0x67a,0x1028); REMOVEPROP(0x1228,0x67e,0x1028); return; } /* ===== 1018:0097 FUN_1018_0097 ===== */ undefined4 __stdcall16far FUN_1018_0097(int param_1) { int iVar1; char *pcVar2; undefined2 uVar3; int iVar4; undefined2 uVar5; char *pcVar6; iVar1 = ISWINDOW(); iVar4 = iVar1 >> 0xf; uVar3 = 0; if (iVar1 != 0) { pcVar6 = (char *)GETWINDOWLONG(0x1228,0xfffc); uVar5 = (undefined2)((ulong)pcVar6 >> 0x10); pcVar2 = (char *)pcVar6; if (((*pcVar6 == -0x18) && (-1 - (int)pcVar2 == *(int *)(pcVar2 + 1))) && (*(int *)0x2 == 0x2e5b)) { uVar3 = *(undefined2 *)(pcVar2 + 3); iVar4 = *(int *)(pcVar2 + 5); } else { GETPROP(0x1228,0x67a,0x1028); iVar4 = param_1; uVar3 = GETPROP(0x1228,0x67e,0x1028); } } return CONCAT22(iVar4,uVar3); } /* ===== 1018:0103 FUN_1018_0103 ===== */ void __cdecl16near FUN_1018_0103(void) { (*DAT_1028_0682)(); return; } /* ===== 1018:0133 FUN_1018_0133 ===== */ undefined4 __stdcall16far FUN_1018_0133(undefined2 param_1,undefined2 param_2,undefined2 param_3,int param_4,int param_5) { int *in_BX; undefined2 *unaff_DI; undefined2 unaff_ES; undefined2 unaff_SS; in_BX[2] = param_5; if (param_4 < 0) { unaff_DI = (undefined2 *)(*in_BX + 0xc); } else { FUN_1018_0002(); } if (*(int *)&DAT_1028_0684 != 0) { FUN_1018_0103(); } (*(code *)*unaff_DI)(); return CONCAT22(param_3,param_4); } /* ===== 1018:018b FUN_1018_018b ===== */ void __stdcall16far FUN_1018_018b(undefined2 param_1,undefined2 param_2,undefined2 param_3,undefined2 param_4, undefined2 param_5) { undefined2 *puVar1; undefined4 uVar2; undefined2 unaff_CS; undefined2 unaff_SS; undefined2 uVar3; uVar2 = *(undefined4 *)((int)*(undefined4 *)&DAT_1028_0676 + 0x12); uVar3 = param_5; SETWINDOWLONG(unaff_CS,(int)uVar2,(int)((ulong)uVar2 >> 0x10),0xfffc); FUN_1018_0045((int)*(undefined4 *)&DAT_1028_0676, (int)((ulong)*(undefined4 *)&DAT_1028_0676 >> 0x10),param_5); puVar1 = (undefined2 *)((int)*(undefined4 *)&DAT_1028_0676 + 0x12); (*(code *)*puVar1)(0x1018,param_1,param_2,param_3,param_4,param_5,uVar3); return; } /* ===== 1018:01dc FUN_1018_01dc ===== */ undefined1 * __stdcall16far FUN_1018_01dc(undefined2 param_1,undefined2 param_2) { undefined1 *puVar1; ushort arg1; undefined2 *puVar2; undefined2 uVar3; undefined2 in_DX; int iVar4; undefined2 unaff_CS; undefined4 local_10; undefined4 local_c; if (DAT_1028_066e == (undefined1 *)0x0 && DAT_1028_0670 == 0) { arg1 = GLOBALALLOC(0x100,0); puVar2 = (undefined2 *)GLOBALLOCK(arg1); local_c = (undefined2 *)CONCAT22(in_DX,puVar2); *local_c = DAT_1028_066c; FUN_1020_16a5(5,puVar2 + 1,in_DX,0x686,0x1028); uVar3 = DAT_1028_0674; *(undefined2 *)((int)puVar2 + 7) = DAT_1028_0672; *(undefined2 *)((int)puVar2 + 9) = uVar3; local_10 = (undefined1 *)CONCAT22(in_DX,(undefined1 *)((int)puVar2 + 0xb)); do { *local_10 = 0xe8; iVar4 = (int)((ulong)local_10 >> 0x10); *(int *)((undefined1 *)local_10 + 1) = -1 - (int)(undefined1 *)local_10; *(undefined1 **)((undefined1 *)local_10 + 3) = DAT_1028_066e; *(int *)((undefined1 *)local_10 + 5) = DAT_1028_0670; DAT_1028_066e = (undefined1 *)local_10; local_10._0_2_ = (undefined1 *)local_10 + 7; local_10 = (undefined1 *)CONCAT22(iVar4,(undefined1 *)local_10); DAT_1028_0670 = iVar4; } while ((undefined1 *)local_10 != (undefined1 *)0x100); unaff_CS = 0x1228; DAT_1028_066c = in_DX; PRESTOCHANGOSELECTOR(0x1020,in_DX); } iVar4 = DAT_1028_0670; puVar1 = DAT_1028_066e; uVar3 = ALLOCCSTODSALIAS(unaff_CS,DAT_1028_0670); DAT_1028_066e = *(undefined1 **)(puVar1 + 3); DAT_1028_0670 = *(int *)(puVar1 + 5); *(undefined2 *)(puVar1 + 3) = param_1; *(undefined2 *)(puVar1 + 5) = param_2; FREESELECTOR(0x1228,uVar3); return (undefined1 *)CONCAT22(iVar4,puVar1); } /* ===== 1018:02fa FUN_1018_02fa ===== */ void __stdcall16far FUN_1018_02fa(int param_1,undefined2 param_2) { undefined2 uVar1; undefined2 uVar2; int unaff_BP; int iVar3; undefined2 uVar4; int iVar5; undefined2 uVar6; iVar3 = unaff_BP + 1; uVar6 = 0x1028; uVar4 = param_2; iVar5 = param_1; uVar2 = ALLOCCSTODSALIAS(); uVar1 = DAT_1028_0670; *(undefined2 *)(iVar5 + 3) = DAT_1028_066e; *(undefined2 *)(iVar5 + 5) = uVar1; FREESELECTOR(0x1228,uVar2,uVar4,iVar5,uVar2,uVar6,iVar3); DAT_1028_066e = param_1; DAT_1028_0670 = param_2; return; } /* ===== 1018:0341 FUN_1018_0341 ===== */ undefined4 __stdcall16far FUN_1018_0341(undefined4 param_1,undefined2 param_2,undefined2 param_3,undefined2 param_4) { int unaff_BP; int iVar1; undefined2 uVar2; bool bVar3; undefined4 uVar4; bVar3 = true; FUN_1020_03ef(0x1028,unaff_BP + 1); if (!bVar3) { uVar2 = (undefined2)((ulong)param_1 >> 0x10); iVar1 = (int)param_1; FUN_1008_2d99(iVar1,uVar2,0); *(undefined2 *)(iVar1 + 2) = 0; *(undefined2 *)(iVar1 + 4) = 0; *(undefined2 *)(iVar1 + 0x17) = 0; *(undefined2 *)(iVar1 + 6) = param_3; *(undefined2 *)(iVar1 + 8) = param_4; if (*(int *)(iVar1 + 6) == 0 && *(int *)(iVar1 + 8) == 0) { *(undefined2 *)(iVar1 + 0x19) = 0; *(undefined2 *)(iVar1 + 0x1b) = 0; } else { FUN_1018_069a((int)*(undefined4 *)(iVar1 + 6),(int)((ulong)*(undefined4 *)(iVar1 + 6) >> 0x10) ,iVar1,uVar2); } *(undefined2 *)(iVar1 + 10) = 0; *(undefined2 *)(iVar1 + 0xc) = 0; *(undefined2 *)(iVar1 + 0xe) = 0; *(undefined2 *)(iVar1 + 0x10) = 0; uVar4 = FUN_1018_01dc(iVar1,uVar2); *(undefined2 *)(iVar1 + 0x12) = (int)uVar4; *(undefined2 *)(iVar1 + 0x14) = (int)((ulong)uVar4 >> 0x10); *(undefined1 *)(iVar1 + 0x16) = 0; FUN_1018_060d(iVar1,uVar2); } return param_1; } /* ===== 1018:03e9 FUN_1018_03e9 ===== */ void __stdcall16far FUN_1018_03e9(undefined2 param_1,undefined4 param_2) { FUN_1008_2db3((int)param_2,(int)((ulong)param_2 >> 0x10)); return; } /* ===== 1018:03ff FUN_1018_03ff ===== */ void __stdcall16far FUN_1018_03ff(int *param_1) { int *piVar1; undefined2 uVar2; uVar2 = (undefined2)((ulong)param_1 >> 0x10); piVar1 = (int *)param_1; (*(code *)*(undefined2 *)(*param_1 + 0x24))(); FUN_1018_085a(piVar1,uVar2,0x3e9,0x1018); if (piVar1[3] != 0 || piVar1[4] != 0) { FUN_1018_071c((int)*(undefined4 *)(piVar1 + 3),(int)((ulong)*(undefined4 *)(piVar1 + 3) >> 0x10) ,piVar1,uVar2); } FUN_1018_02fa(piVar1[9],piVar1[10]); FUN_1008_2dcd(piVar1,uVar2,0); FUN_1020_0439(); return; } /* ===== 1018:0466 FUN_1018_0466 ===== */ undefined2 __stdcall16far FUN_1018_0466(int param_1,undefined4 param_2) { int iVar1; undefined1 uVar2; undefined2 unaff_SS; iVar1 = *(int *)((int)param_2 + 0x17); if ((*(int *)(param_1 + -6) < 0) || (iVar1 != *(int *)(param_1 + -6))) { uVar2 = 0; } else { uVar2 = 1; } return CONCAT11((char)((uint)iVar1 >> 8),uVar2); } /* ===== 1018:049e FUN_1018_049e ===== */ uint __stdcall16far FUN_1018_049e(undefined2 param_1,int *param_2) { uint uVar1; int iVar2; int unaff_BP; int *piVar3; undefined2 uVar4; undefined1 local_58 [82]; char local_6; undefined2 uStack_4; int iStack_2; iStack_2 = unaff_BP + 1; uStack_4 = 0x1028; uVar4 = (undefined2)((ulong)param_2 >> 0x10); piVar3 = (int *)param_2; uVar1 = FUN_1018_0673(piVar3,uVar4,4); if ((char)uVar1 != '\0') { uVar1 = (*(code *)*(undefined2 *)(*param_2 + 0x20))(0x1018,piVar3,uVar4); if ((char)uVar1 == '\0') { uVar1 = uVar1 & 0xff00; goto LAB_1018_04d1; } } uVar1 = CONCAT11((char)(uVar1 >> 8),1); LAB_1018_04d1: local_6 = (char)uVar1; if (local_6 != '\0') { iVar2 = ISICONIC(0x1018,piVar3[2]); uVar1 = 0; if (iVar2 != 0) { GETWINDOWTEXT(0x1228,0x51,local_58); uVar1 = SETWINDOWTEXT(0x1228,local_58); } } uVar1 = uVar1 & 0xff00; if (local_6 == '\0') { uVar1 = uVar1 + 1; } return uVar1; } /* ===== 1018:0524 FUN_1018_0524 ===== */ undefined1 __stdcall16far FUN_1018_0524(undefined2 param_1,undefined4 param_2) { char cVar1; undefined2 uVar2; uVar2 = (undefined2)((ulong)param_2 >> 0x10); if ((*(int *)((int)param_2 + 0x17) == 0) && (cVar1 = FUN_1018_049e(param_1,(int)param_2,uVar2), cVar1 != '\0')) { return 1; } return 0; } /* ===== 1018:055c FUN_1018_055c ===== */ uint __stdcall16far FUN_1018_055c(undefined4 param_1) { uint uVar1; int unaff_BP; undefined2 uVar2; long lVar3; undefined4 uVar4; char local_d; int iStack_2; iStack_2 = unaff_BP + 1; local_d = '\0'; do { uVar2 = (undefined2)((ulong)param_1 >> 0x10); lVar3 = FUN_1018_080d((int)param_1,uVar2,0x466,0x1018); uVar1 = 0; if (lVar3 != 0) { uVar1 = FUN_1018_049e(&iStack_2,lVar3); local_d = (char)uVar1; } } while ((local_d == '\0') && (uVar1 = 0, lVar3 != 0)); if (local_d == '\0') { uVar4 = FUN_1018_080d((int)param_1,uVar2,0x524,0x1018); uVar1 = (uint)uVar4 | (uint)((ulong)uVar4 >> 0x10); if (uVar1 == 0) { return 1; } } return uVar1 & 0xff00; } /* ===== 1018:05dc FUN_1018_05dc ===== */ undefined2 __stdcall16far FUN_1018_05dc(void) { return 0; } /* ===== 1018:05f3 FUN_1018_05f3 ===== */ void __stdcall16far FUN_1018_05f3(undefined4 param_1) { FUN_1018_0641((int)param_1,(int)((ulong)param_1 >> 0x10),1,1); return; } /* ===== 1018:060d FUN_1018_060d ===== */ void __stdcall16far FUN_1018_060d(undefined4 param_1) { FUN_1018_0641((int)param_1,(int)((ulong)param_1 >> 0x10),1,4); return; } /* ===== 1018:0627 FUN_1018_0627 ===== */ void __stdcall16far FUN_1018_0627(undefined4 param_1) { FUN_1018_0641((int)param_1,(int)((ulong)param_1 >> 0x10),0,4); return; } /* ===== 1018:0641 FUN_1018_0641 ===== */ void __stdcall16far FUN_1018_0641(undefined4 param_1,char param_2,byte param_3) { int iVar1; undefined2 uVar2; iVar1 = (int)param_1; uVar2 = (undefined2)((ulong)param_1 >> 0x10); if (param_2 == '\0') { *(byte *)(iVar1 + 0x16) = ~param_3 & *(byte *)(iVar1 + 0x16); } else { *(byte *)(iVar1 + 0x16) = *(byte *)(iVar1 + 0x16) | param_3; } return; } /* ===== 1018:0673 FUN_1018_0673 ===== */ uint __stdcall16far FUN_1018_0673(undefined4 param_1,byte param_2) { uint in_AX; uint uVar1; uVar1 = in_AX & 0xff00; if ((*(byte *)((int)param_1 + 0x16) & param_2) == param_2) { uVar1 = uVar1 + 1; } return uVar1; } /* ===== 1018:069a FUN_1018_069a ===== */ void __stdcall16far FUN_1018_069a(undefined4 param_1,undefined4 param_2) { int iVar1; int iVar2; undefined2 uVar3; undefined2 uVar4; undefined2 uVar5; if ((int)param_2 != 0 || param_2._2_2_ != 0) { uVar3 = (undefined2)((ulong)param_1 >> 0x10); iVar1 = (int)param_1; if (*(int *)(iVar1 + 10) == 0 && *(int *)(iVar1 + 0xc) == 0) { *(int *)(iVar1 + 10) = (int)param_2; *(int *)(iVar1 + 0xc) = param_2._2_2_; *(int *)((int)param_2 + 0x19) = (int)param_2; *(int *)((int)param_2 + 0x1b) = param_2._2_2_; } else { uVar4 = (undefined2)((ulong)*(undefined4 *)(iVar1 + 10) >> 0x10); iVar2 = (int)*(undefined4 *)(iVar1 + 10); uVar5 = *(undefined2 *)(iVar2 + 0x1b); *(undefined2 *)((int)param_2 + 0x19) = *(undefined2 *)(iVar2 + 0x19); *(undefined2 *)((int)param_2 + 0x1b) = uVar5; uVar5 = (undefined2)((ulong)*(undefined4 *)(iVar1 + 10) >> 0x10); iVar2 = (int)*(undefined4 *)(iVar1 + 10); *(int *)(iVar2 + 0x19) = (int)param_2; *(int *)(iVar2 + 0x1b) = param_2._2_2_; *(int *)(iVar1 + 10) = (int)param_2; *(int *)(iVar1 + 0xc) = param_2._2_2_; } } return; } /* ===== 1018:071c FUN_1018_071c ===== */ void __stdcall16far FUN_1018_071c(undefined4 param_1,int param_2,int param_3) { int *piVar1; int iVar2; undefined2 uVar3; undefined2 uVar4; int local_c; int iStack_a; uVar3 = (undefined2)((ulong)param_1 >> 0x10); iVar2 = (int)param_1; if (*(int *)(iVar2 + 10) != 0 || *(int *)(iVar2 + 0xc) != 0) { local_c = *(int *)(iVar2 + 10); iStack_a = *(int *)(iVar2 + 0xc); while (((*(int *)(local_c + 0x1b) != *(int *)(iVar2 + 0xc) || (*(int *)(local_c + 0x19) != *(int *)(iVar2 + 10))) && ((*(int *)(local_c + 0x1b) != param_3 || (*(int *)(local_c + 0x19) != param_2))))) { piVar1 = (int *)(local_c + 0x19); iStack_a = *(int *)(local_c + 0x1b); local_c = *piVar1; } if ((*(int *)(local_c + 0x1b) == param_3) && (*(int *)(local_c + 0x19) == param_2)) { if ((*(int *)(local_c + 0x1b) == iStack_a) && (*(int *)(local_c + 0x19) == local_c)) { *(undefined2 *)(iVar2 + 10) = 0; *(undefined2 *)(iVar2 + 0xc) = 0; } else { if ((*(int *)(local_c + 0x1b) == *(int *)(iVar2 + 0xc)) && (*(int *)(local_c + 0x19) == *(int *)(iVar2 + 10))) { *(int *)(iVar2 + 10) = local_c; *(int *)(iVar2 + 0xc) = iStack_a; } uVar4 = (undefined2)((ulong)*(undefined4 *)(local_c + 0x19) >> 0x10); iVar2 = (int)*(undefined4 *)(local_c + 0x19); uVar3 = *(undefined2 *)(iVar2 + 0x1b); *(undefined2 *)(local_c + 0x19) = *(undefined2 *)(iVar2 + 0x19); *(undefined2 *)(local_c + 0x1b) = uVar3; } } } return; } /* ===== 1018:080d FUN_1018_080d ===== */ undefined4 __stdcall16far FUN_1018_080d(undefined4 param_1,code *param_2) { undefined4 uVar1; char cVar2; int iVar3; int iVar4; int iVar5; int iVar6; int iVar7; uVar1 = *(undefined4 *)((int)param_1 + 10); iVar5 = (int)((ulong)uVar1 >> 0x10); iVar3 = (int)uVar1; iVar4 = iVar3; iVar6 = iVar5; iVar7 = iVar5; if (iVar5 != 0 || iVar3 != 0) { do { iVar6 = (int)((ulong)*(undefined4 *)(iVar4 + 0x19) >> 0x10); iVar4 = (int)*(undefined4 *)(iVar4 + 0x19); cVar2 = (*param_2)(); if (cVar2 != '\0') goto LAB_1018_084f; iVar7 = iVar6; } while ((iVar4 != iVar3) || (iVar6 != iVar5)); iVar4 = 0; iVar6 = 0; } LAB_1018_084f: return CONCAT22(iVar6,iVar4); } /* ===== 1018:085a FUN_1018_085a ===== */ void __stdcall16far FUN_1018_085a(undefined4 param_1,code *param_2) { int iVar1; undefined4 uVar2; int iVar3; int iVar4; int iVar5; int iVar6; uVar2 = *(undefined4 *)((int)param_1 + 10); iVar5 = (int)((ulong)uVar2 >> 0x10); iVar3 = (int)uVar2; if (iVar5 != 0 || iVar3 != 0) { iVar4 = (int)*(undefined4 *)(iVar3 + 0x19); iVar6 = (int)((ulong)*(undefined4 *)(iVar3 + 0x19) >> 0x10); while ((iVar4 != iVar3 || (iVar6 != iVar5))) { iVar1 = *(int *)(iVar4 + 0x1b); iVar4 = *(int *)(iVar4 + 0x19); (*param_2)(); iVar6 = iVar1; } (*param_2)(); } return; } /* ===== 1018:08ac FUN_1018_08ac ===== */ undefined2 __stdcall16far FUN_1018_08ac(void) { return 0xffff; } /* ===== 1018:08c3 FUN_1018_08c3 ===== */ void __stdcall16far FUN_1018_08c3(undefined2 param_1,undefined2 param_2,undefined2 *param_3,undefined4 param_4) { undefined2 *puVar1; int unaff_BP; FUN_1018_0002((int)param_4,(int)((ulong)param_4 >> 0x10),(undefined2 *)param_3, (int)((ulong)param_3 >> 0x10),0x1028,unaff_BP + 1); if (DAT_1028_0684 != 0) { FUN_1018_0103(); } puVar1 = (undefined2 *)param_3; (*(code *)*puVar1)(); return; } /* ===== 1018:08f0 FUN_1018_08f0 ===== */ void __stdcall16far FUN_1018_08f0(int *param_1,undefined4 param_2) { char cVar1; int iVar2; uint uVar3; int *piVar4; int iVar5; int iVar6; undefined2 uVar7; undefined2 uVar8; int *piVar9; long lVar10; int iVar11; int iVar12; int local_6; iVar12 = 1; iVar6 = (int)((ulong)param_1 >> 0x10); piVar4 = (int *)param_1; uVar8 = 0x1018; iVar11 = iVar6; cVar1 = FUN_1018_0673(param_1,1); iVar5 = (int)param_2; uVar7 = (undefined2)((ulong)param_2 >> 0x10); if ((cVar1 != '\0') && (*(int *)(iVar5 + 6) == 0 && *(int *)(iVar5 + 8) == 0)) { iVar12 = piVar4[2]; iVar11 = *(int *)(iVar5 + 4); uVar8 = 0x1228; iVar2 = GETDLGITEM(0x1018,iVar11); if (iVar2 != 0) { uVar8 = 0x1228; iVar11 = iVar2; uVar3 = SENDMESSAGE(0x1228,0,0,0,0x87); if ((uVar3 & 0x30) != 0) { *(int *)(iVar5 + 6) = iVar2; *(undefined2 *)(iVar5 + 8) = 0; } } } if (*(int *)(iVar5 + 6) == 0) { if (*(uint *)(iVar5 + 4) < 0x6000) { local_6 = GETFOCUS(uVar8); piVar9 = (int *)FUN_1018_0097(local_6); while (((piVar9 == (int *)0x0 && (local_6 != 0)) && (local_6 != piVar4[2]))) { local_6 = GETPARENT(0x1018,local_6); piVar9 = (int *)FUN_1018_0097(local_6); } if (piVar9 == (int *)0x0) { piVar9 = param_1; } FUN_1018_08c3(0x10,*(int *)(iVar5 + 4) + -0x6000,iVar5,uVar7,piVar9); } else { (*(code *)*(undefined2 *)(*param_1 + 0xc))(uVar8,param_1,iVar5,uVar7,iVar11,iVar12); } } else { iVar12 = piVar4[2]; uVar8 = GETDLGITEM(uVar8,*(undefined2 *)(iVar5 + 4)); lVar10 = FUN_1018_0097(uVar8); if ((lVar10 == 0) || (0xfff < *(uint *)(iVar5 + 8))) { if (*(uint *)(iVar5 + 4) < 0x1000) { FUN_1018_08c3(0x14,*(int *)(iVar5 + 4) + -0x8000,iVar5,uVar7,param_1); } else { (*(code *)*(undefined2 *)(*param_1 + 0x14))(0x1018,param_1,iVar5,uVar7,iVar12); } } else { FUN_1018_08c3(0x18,*(int *)(iVar5 + 8) + -0x7000,iVar5,uVar7,lVar10); } } return; } /* ===== 1018:0a85 FUN_1018_0a85 ===== */ void __stdcall16far FUN_1018_0a85(int *param_1,undefined4 param_2) { uint uVar1; int iVar2; undefined2 uVar3; undefined2 uVar4; long lVar5; undefined2 uVar6; uVar3 = (undefined2)((ulong)param_2 >> 0x10); iVar2 = (int)param_2; uVar4 = (undefined2)((ulong)param_1 >> 0x10); if (*(int *)(iVar2 + 8) == 0) { (*(code *)*(undefined2 *)(*param_1 + 0xc))(); } else { lVar5 = FUN_1018_0097(*(undefined2 *)(iVar2 + 8)); if (lVar5 == 0) { uVar6 = *(undefined2 *)(iVar2 + 8); uVar1 = GETWINDOWWORD(0x1018,0xfff4); if (uVar1 < 0x1000) { FUN_1018_08c3(0x14,uVar1 + 0x8000,iVar2,uVar3,(int *)param_1,uVar4); } else { (*(code *)*(undefined2 *)(*param_1 + 0x14))(0x1228,(int *)param_1,uVar4,iVar2,uVar3,uVar6); } } else { FUN_1018_08c3(0x18,*(int *)(iVar2 + 4) + -0x7000,iVar2,uVar3,lVar5); } } return; } /* ===== 1018:0b25 FUN_1018_0b25 ===== */ void __stdcall16far FUN_1018_0b25(int *param_1,undefined4 param_2) { uint extraout_DX; int unaff_BP; int iVar1; int *piVar2; undefined2 uVar3; undefined2 uVar4; undefined2 unaff_CS; int iVar5; undefined2 uVar6; iVar1 = unaff_BP + 1; uVar6 = 0x1028; uVar3 = (undefined2)((ulong)param_1 >> 0x10); piVar2 = (int *)param_1; iVar5 = piVar2[2]; GETWINDOWLONG(unaff_CS,0xfff0); uVar4 = (undefined2)((ulong)param_2 >> 0x10); if ((extraout_DX & 0x20) == 0) { (*(code *)*(undefined2 *)(*param_1 + 0x48))(0x1228,piVar2,uVar3,(int)param_2,uVar4); } else { (*(code *)*(undefined2 *)(*param_1 + 0xc)) (0x1228,piVar2,uVar3,(int)param_2,uVar4,iVar5,uVar6,iVar1); } return; } /* ===== 1018:0b6c FUN_1018_0b6c ===== */ void __stdcall16far FUN_1018_0b6c(int *param_1,undefined4 param_2) { uint extraout_DX; int unaff_BP; int iVar1; int *piVar2; undefined2 uVar3; undefined2 uVar4; undefined2 unaff_CS; int iVar5; undefined2 uVar6; iVar1 = unaff_BP + 1; uVar6 = 0x1028; uVar3 = (undefined2)((ulong)param_1 >> 0x10); piVar2 = (int *)param_1; iVar5 = piVar2[2]; GETWINDOWLONG(unaff_CS,0xfff0); uVar4 = (undefined2)((ulong)param_2 >> 0x10); if ((extraout_DX & 0x10) == 0) { (*(code *)*(undefined2 *)(*param_1 + 0x48))(0x1228,piVar2,uVar3,(int)param_2,uVar4); } else { (*(code *)*(undefined2 *)(*param_1 + 0xc)) (0x1228,piVar2,uVar3,(int)param_2,uVar4,iVar5,uVar6,iVar1); } return; } /* ===== 1018:0bb3 FUN_1018_0bb3 ===== */ void __stdcall16far FUN_1018_0bb3(int *param_1,int *param_2) { int unaff_BP; int iVar1; int *piVar2; int *piVar3; undefined2 uVar4; undefined2 uVar5; undefined2 unaff_CS; long lVar6; undefined2 uVar7; iVar1 = unaff_BP + 1; uVar7 = 0x1028; uVar4 = (undefined2)((ulong)param_1 >> 0x10); piVar2 = (int *)param_1; if (*param_2 == piVar2[2]) { lVar6 = 0; } else if (piVar2[3] == 0 && piVar2[4] == 0) { unaff_CS = 0x1018; lVar6 = FUN_1018_0097(*param_2); } else { lVar6 = CONCAT22(piVar2[4],piVar2[3]); } piVar3 = (int *)param_2; uVar5 = (undefined2)((ulong)param_2 >> 0x10); if (lVar6 == 0) { (*(code *)*(undefined2 *)(*param_1 + 0xc))(unaff_CS,piVar2,uVar4,piVar3,uVar5,0,0,uVar7,iVar1); } else { FUN_1018_08c3(0x10,piVar3[2] + -0x6000,piVar3,uVar5,lVar6); } return; } /* ===== 1018:0c3d FUN_1018_0c3d ===== */ void __stdcall16far FUN_1018_0c3d(int *param_1) { (*(code *)*(undefined2 *)(*param_1 + 0xc))(); return; } /* ===== 1018:0c59 FUN_1018_0c59 ===== */ void __stdcall16far FUN_1018_0c59(undefined4 param_1,undefined4 param_2) { int iVar1; int iVar2; undefined2 uVar3; undefined2 uVar4; undefined2 unaff_CS; undefined2 uVar5; uVar3 = (undefined2)((ulong)param_1 >> 0x10); iVar1 = (int)param_1; if (*(int *)(iVar1 + 6) != 0 || *(int *)(iVar1 + 8) != 0) { uVar4 = (undefined2)((ulong)param_2 >> 0x10); iVar2 = (int)param_2; if (*(int *)(iVar2 + 2) == 0x111) { FUN_1018_08c3(0x14,*(int *)(iVar2 + 4) + -0x8000,iVar2,uVar4,*(undefined2 *)(iVar1 + 6), *(undefined2 *)(iVar1 + 8)); } else { uVar5 = *(undefined2 *)(iVar1 + 6); uVar3 = *(undefined2 *)(iVar1 + 4); iVar1 = GETWINDOWWORD(unaff_CS,0xfff4); FUN_1018_08c3(0x14,iVar1 + -0x8000,uVar3,iVar2,uVar4,uVar5); } } return; } /* ===== 1018:0cc7 FUN_1018_0cc7 ===== */ void __stdcall16far FUN_1018_0cc7(undefined2 param_1,undefined4 param_2) { undefined2 uVar1; uVar1 = (undefined2)((ulong)param_2 >> 0x10); if (*(int *)((int)param_2 + 4) != 0) { FUN_1018_060d((int)param_2,uVar1); } return; } /* ===== 1018:0ce7 FUN_1018_0ce7 ===== */ void __stdcall16far FUN_1018_0ce7(undefined4 param_1) { int *piVar1; char cVar2; int unaff_BP; int iVar3; int iVar4; undefined2 uVar5; long lVar6; undefined2 uVar7; iVar3 = unaff_BP + 1; uVar7 = 0x1028; uVar5 = (undefined2)((ulong)param_1 >> 0x10); iVar4 = (int)param_1; if (*(int *)(iVar4 + 4) != 0) { FUN_1018_085a(iVar4,uVar5,0xcc7,0x1018); cVar2 = FUN_1018_0673(iVar4,uVar5,8); if (cVar2 != '\0') { piVar1 = (int *)*(undefined4 *)(iVar4 + 6); lVar6 = (*(code *)*(undefined2 *)(*piVar1 + 0x30)) (0x1018,(int *)piVar1,(int)((ulong)piVar1 >> 0x10),uVar7,iVar3); if (lVar6 != 0) { piVar1 = (int *)*(undefined4 *)(iVar4 + 6); (*(code *)*(undefined2 *)(*piVar1 + 0x30)) (0x1018,(int *)piVar1,(int)((ulong)piVar1 >> 0x10)); SENDMESSAGE(0x1018,0,0,*(undefined2 *)(iVar4 + 4),0x221); return; } } DESTROYWINDOW(0x1018,*(undefined2 *)(iVar4 + 4)); } return; } /* ===== 1018:0d6a FUN_1018_0d6a ===== */ char * __stdcall16far FUN_1018_0d6a(void) { return s_TurboWindow_1028_068c; } /* ===== 1018:0d8a FUN_1018_0d8a ===== */ void __stdcall16far FUN_1018_0d8a(void) { int unaff_BP; FUN_1008_2d87(0x1028,unaff_BP + 1); return; } /* ===== 1018:0d9b FUN_1018_0d9b ===== */ void __stdcall16far FUN_1018_0d9b(int *param_1) { char cVar1; int unaff_BP; int iVar2; int *piVar3; undefined2 uVar4; undefined2 uVar5; iVar2 = unaff_BP + 1; uVar5 = 0x1028; uVar4 = (undefined2)((ulong)param_1 >> 0x10); piVar3 = (int *)param_1; cVar1 = FUN_1018_055c(piVar3,uVar4); if (cVar1 == '\0') { piVar3[1] = -4; } else { (*(code *)*(undefined2 *)(*param_1 + 0x44))(0x1018,piVar3,uVar4,2,uVar5,iVar2); } return; } /* ===== 1018:0dcd FUN_1018_0dcd ===== */ void __stdcall16far FUN_1018_0dcd(int param_1,int *param_2) { char cVar1; int unaff_BP; int iVar2; undefined2 uVar3; undefined2 unaff_SS; undefined2 uVar4; iVar2 = unaff_BP + 1; uVar4 = 0x1028; uVar3 = (undefined2)((ulong)param_2 >> 0x10); cVar1 = FUN_1018_0673((int *)param_2,uVar3,0x10); if (cVar1 != '\0') { iVar2 = (*(code *)*(undefined2 *)(*param_2 + 0x40)) (0x1018,(int *)param_2,uVar3,*(undefined2 *)(param_1 + 10), *(undefined2 *)(param_1 + -6),*(undefined2 *)(param_1 + -4),uVar4,iVar2); *(int *)(param_1 + -6) = *(int *)(param_1 + -6) + iVar2; } return; } /* ===== 1018:0e0a FUN_1018_0e0a ===== */ void __stdcall16far FUN_1018_0e0a(undefined4 param_1) { int iVar1; undefined2 uVar2; uVar2 = (undefined2)((ulong)param_1 >> 0x10); iVar1 = (int)param_1; if (*(int *)(iVar1 + 0xe) != 0 || *(int *)(iVar1 + 0x10) != 0) { FUN_1018_085a(iVar1,uVar2,0xdcd,0x1018); } return; } /* ===== 1018:0e46 FUN_1018_0e46 ===== */ undefined1 __stdcall16far FUN_1018_0e46(int *param_1) { int iVar1; int unaff_BP; undefined2 unaff_CS; undefined2 unaff_SS; undefined4 uVar2; undefined1 local_20 [27]; undefined1 local_5; undefined2 uStack_4; int iStack_2; iStack_2 = unaff_BP + 1; uStack_4 = 0x1028; local_5 = 1; uVar2 = (*(code *)*(undefined2 *)(*param_1 + 0x2c))(); iVar1 = GETCLASSINFO(unaff_CS,local_20,unaff_SS,uVar2); if (iVar1 == 0) { (*(code *)*(undefined2 *)(*param_1 + 0x34)) (0x1228,(int *)param_1,(int)((ulong)param_1 >> 0x10),local_20); iVar1 = REGISTERCLASS(0x1228,local_20); local_5 = iVar1 != 0; } return local_5; } /* ===== 1018:0e9e FUN_1018_0e9e ===== */ void __stdcall16far FUN_1018_0e9e(undefined4 param_1,undefined2 param_2) { undefined2 unaff_CS; if (*(int *)((int)param_1 + 4) != 0) { SHOWWINDOW(unaff_CS,param_2); } return; } /* ===== 1018:0ec0 FUN_1018_0ec0 ===== */ undefined1 __stdcall16far FUN_1018_0ec0(undefined2 param_1,int *param_2) { char cVar1; if ((((int *)param_2)[2] != 0) && (cVar1 = (*(code *)*(undefined2 *)(*param_2 + 0x3c))(), cVar1 == '\0')) { return 1; } return 0; } /* ===== 1018:0ef4 FUN_1018_0ef4 ===== */ uint __stdcall16far FUN_1018_0ef4(undefined4 param_1) { uint uVar1; uint uVar2; undefined4 uVar3; uVar3 = FUN_1018_080d((int)param_1,(int)((ulong)param_1 >> 0x10),0xec0,0x1018); uVar1 = (uint)uVar3 | (uint)((ulong)uVar3 >> 0x10); uVar2 = uVar1 & 0xff00; if (uVar1 == 0) { uVar2 = 1; } return uVar2; } /* ===== 1018:0f22 FUN_1018_0f22 ===== */ void __stdcall16far FUN_1018_0f22(undefined4 param_1) { FUN_1018_0f38((int)param_1,(int)((ulong)param_1 >> 0x10)); return; } /* ===== 1018:0f38 FUN_1018_0f38 ===== */ void __stdcall16far FUN_1018_0f38(int *param_1) { int iVar1; undefined2 uVar2; char local_5; iVar1 = (int)((ulong)param_1 >> 0x10); uVar2 = (undefined2)((ulong)DAT_1028_064e >> 0x10); if ((iVar1 == ((int *)DAT_1028_064e)[5]) && ((int *)param_1 == (int *)((int *)DAT_1028_064e)[4])) { local_5 = (*(code *)*(undefined2 *)(*DAT_1028_064e + 0x44))(); } else { local_5 = (*(code *)*(undefined2 *)(*param_1 + 0x3c))(); } if (local_5 != '\0') { FUN_1008_2db3((int *)param_1,iVar1); } return; } /* ===== 1018:0f8d FUN_1018_0f8d ===== */ void __stdcall16far FUN_1018_0f8d(int *param_1,undefined4 param_2) { int iVar1; undefined2 uVar2; undefined2 unaff_CS; iVar1 = (int)((ulong)param_1 >> 0x10); uVar2 = (undefined2)((ulong)DAT_1028_064e >> 0x10); if ((iVar1 == *(int *)((int)DAT_1028_064e + 10)) && ((int *)param_1 == (int *)*(int *)((int)DAT_1028_064e + 8))) { unaff_CS = 0x1228; POSTQUITMESSAGE(); } (*(code *)*(undefined2 *)(*param_1 + 0xc)) (unaff_CS,(int *)param_1,iVar1,(int)param_2,(int)((ulong)param_2 >> 0x10)); return; } /* ===== 1018:0fcc FUN_1018_0fcc ===== */ void __stdcall16far FUN_1018_0fcc(int *param_1,undefined4 param_2) { int unaff_BP; int iVar1; int *piVar2; undefined2 uVar3; undefined2 uVar4; iVar1 = unaff_BP + 1; uVar4 = 0x1028; uVar3 = (undefined2)((ulong)param_1 >> 0x10); piVar2 = (int *)param_1; FUN_1018_0071(piVar2[2]); (*(code *)*(undefined2 *)(*param_1 + 0xc)) (0x1018,piVar2,uVar3,(int)param_2,(int)((ulong)param_2 >> 0x10),uVar4,iVar1); piVar2[2] = 0; return; } /* ===== 1018:0ffd FUN_1018_0ffd ===== */ void __stdcall16far FUN_1018_0ffd(int *param_1,undefined4 param_2) { char cVar1; undefined2 uVar2; undefined2 uVar3; uVar2 = (undefined2)((ulong)param_1 >> 0x10); (*(code *)*(undefined2 *)(*param_1 + 0xc))(); if (*(int *)((int)param_2 + 4) != 0) { cVar1 = FUN_1018_0673((int *)param_1,uVar2,1); uVar3 = (undefined2)((ulong)DAT_1028_064e >> 0x10); if (cVar1 == '\0') { FUN_1018_1bdf((int)DAT_1028_064e,uVar3,0,0); } else { FUN_1018_1bdf((int)DAT_1028_064e,uVar3,(int *)param_1,uVar2); } } return; } /* ===== 1018:1054 FUN_1018_1054 ===== */ void __stdcall16far FUN_1018_1054(int *param_1,undefined4 param_2) { char cVar1; int iVar2; undefined2 uVar3; undefined2 uVar4; uVar3 = (undefined2)((ulong)DAT_1028_064e >> 0x10); iVar2 = (int)param_2; uVar4 = (undefined2)((ulong)param_2 >> 0x10); if (((int)((ulong)param_1 >> 0x10) == ((int *)DAT_1028_064e)[5]) && ((int *)param_1 == (int *)((int *)DAT_1028_064e)[4])) { cVar1 = (*(code *)*(undefined2 *)(*DAT_1028_064e + 0x44))(); *(int *)(iVar2 + 10) = (int)cVar1; *(int *)(iVar2 + 0xc) = (int)cVar1 >> 0xf; } else { cVar1 = (*(code *)*(undefined2 *)(*param_1 + 0x3c))(); *(int *)(iVar2 + 10) = (int)cVar1; *(int *)(iVar2 + 0xc) = (int)cVar1 >> 0xf; } return; } /* ===== 1018:10aa FUN_1018_10aa ===== */ void __stdcall16far FUN_1018_10aa(int *param_1) { int iVar1; undefined2 uVar2; iVar1 = (int)((ulong)param_1 >> 0x10); uVar2 = (undefined2)((ulong)DAT_1028_064e >> 0x10); if ((iVar1 == *(int *)((int)DAT_1028_064e + 10)) && ((int *)param_1 == (int *)*(int *)((int)DAT_1028_064e + 8))) { FUN_1018_0f38((int *)param_1,iVar1); } else { (*(code *)*(undefined2 *)(*param_1 + 0x10))(); } return; } /* ===== 1018:10e9 FUN_1018_10e9 ===== */ undefined4 __stdcall16far FUN_1018_10e9(void) { return 0; } /* ===== 1018:1106 FUN_1018_1106 ===== */ undefined4 __stdcall16far FUN_1018_1106(undefined4 param_1,undefined2 param_2,undefined2 param_3,undefined2 param_4, int *param_5) { int unaff_BP; int iVar1; int iVar2; undefined2 *puVar3; undefined2 uVar4; undefined2 uVar5; bool bVar6; undefined4 uVar7; long lVar8; undefined2 *puVar9; undefined2 uVar10; iVar1 = unaff_BP + 1; uVar10 = 0x1028; bVar6 = true; FUN_1020_03ef(); if (!bVar6) { uVar4 = (undefined2)((ulong)param_1 >> 0x10); iVar2 = (int)param_1; FUN_1018_0341(iVar2,uVar4,0,(int *)param_5,param_5._2_2_); puVar9 = (undefined2 *)CONCAT22(uVar4,(undefined2 *)(iVar2 + 0x1d)); uVar7 = FUN_1008_302c(param_3,param_4); uVar5 = (undefined2)((ulong)puVar9 >> 0x10); puVar3 = (undefined2 *)puVar9; *puVar9 = (int)uVar7; puVar3[1] = (int)((ulong)uVar7 >> 0x10); *(undefined2 *)(iVar2 + 0x37) = 0x22c; *(undefined2 *)(iVar2 + 0x39) = 0x1228; if ((int *)param_5 == (int *)0x0 && param_5._2_2_ == 0) { puVar3[2] = 0; puVar3[3] = 0xcf; } else { lVar8 = (*(code *)*(undefined2 *)(*param_5 + 0x30)) (0x1008,(int *)param_5,param_5._2_2_,puVar9,uVar10,iVar1); if (lVar8 == 0) { uVar10 = (undefined2)((ulong)puVar9 >> 0x10); ((undefined2 *)puVar9)[2] = 0; ((undefined2 *)puVar9)[3] = 0x1000; } else { FUN_1018_0641(iVar2,uVar4,1,8); *(undefined2 *)(iVar2 + 0x37) = 0x2b0; *(undefined2 *)(iVar2 + 0x39) = 0x1228; uVar10 = (undefined2)((ulong)puVar9 >> 0x10); ((undefined2 *)puVar9)[2] = 0; ((undefined2 *)puVar9)[3] = 0x400; } } uVar10 = (undefined2)((ulong)puVar9 >> 0x10); puVar3 = (undefined2 *)puVar9; puVar3[4] = 0; puVar3[5] = 0; puVar3[6] = 0x8000; puVar3[7] = 0; puVar3[8] = 0x8000; puVar3[9] = 0; puVar3[10] = 0; puVar3[0xb] = 0; puVar3[0xc] = 0; *(undefined2 *)(iVar2 + 0x3b) = 0; *(undefined2 *)(iVar2 + 0x3d) = 0; *(undefined2 *)(iVar2 + 0x3f) = 0; } return param_1; } /* ===== 1018:121b FUN_1018_121b ===== */ void __stdcall16far FUN_1018_121b(undefined4 param_1) { int *piVar1; uint uVar2; int unaff_BP; int iVar3; int iVar4; undefined2 uVar5; undefined2 uVar6; iVar3 = unaff_BP + 1; uVar6 = 0x1028; uVar5 = (undefined2)((ulong)param_1 >> 0x10); iVar4 = (int)param_1; FUN_1008_3099(*(undefined2 *)(iVar4 + 0x1d),*(undefined2 *)(iVar4 + 0x1f)); uVar2 = *(uint *)(iVar4 + 0x3b) | *(uint *)(iVar4 + 0x3d); if (uVar2 != 0) { piVar1 = (int *)*(undefined4 *)(iVar4 + 0x3b); (*(code *)*(undefined2 *)(*piVar1 + 8)) (0x1008,(int *)piVar1,(int)((ulong)piVar1 >> 0x10),CONCAT11((char)(uVar2 >> 8),1), uVar6,iVar3); *(undefined2 *)(iVar4 + 0x3b) = 0; *(undefined2 *)(iVar4 + 0x3d) = 0; } FUN_1018_03ff(iVar4,uVar5,0); FUN_1020_0439(); return; } /* ===== 1018:1274 FUN_1018_1274 ===== */ void __stdcall16far FUN_1018_1274(int *param_1,undefined2 *param_2) { undefined2 uVar1; int unaff_BP; int iVar2; undefined2 *puVar3; undefined2 uVar4; undefined2 unaff_CS; undefined4 uVar5; undefined2 uVar6; undefined2 uVar7; undefined2 uVar8; iVar2 = unaff_BP + 1; uVar8 = 0x1028; uVar4 = (undefined2)((ulong)param_2 >> 0x10); puVar3 = (undefined2 *)param_2; puVar3[3] = 0; puVar3[4] = 0; puVar3[5] = DAT_1028_06fe; uVar7 = 0; uVar1 = LOADICON(unaff_CS,0x7f00,0); puVar3[6] = uVar1; uVar6 = 0; uVar1 = LOADCURSOR(0x1228,0x7f00,0); puVar3[7] = uVar1; puVar3[8] = 6; puVar3[9] = 0; puVar3[10] = 0; uVar5 = (*(code *)*(undefined2 *)(*param_1 + 0x2c)) (0x1228,(int *)param_1,(int)((ulong)param_1 >> 0x10),uVar6,uVar7,uVar8,iVar2); puVar3[0xb] = (int)uVar5; puVar3[0xc] = (int)((ulong)uVar5 >> 0x10); *param_2 = 3; puVar3[1] = 0x18b; puVar3[2] = 0x1018; return; } /* ===== 1018:12f5 FUN_1018_12f5 ===== */ undefined2 __stdcall16far FUN_1018_12f5(undefined4 param_1) { return *(undefined2 *)((int)param_1 + 0x35); } /* ===== 1018:1311 FUN_1018_1311 ===== */ void __stdcall16far FUN_1018_1311(undefined4 param_1,undefined4 param_2) { int iVar1; undefined2 uVar2; undefined2 uVar3; undefined2 unaff_CS; undefined4 uVar4; uVar2 = (undefined2)((ulong)param_1 >> 0x10); uVar3 = (undefined2)((ulong)param_2 >> 0x10); iVar1 = (int)param_2; uVar4 = CALLWINDOWPROC(unaff_CS,*(undefined2 *)(iVar1 + 6),*(undefined2 *)(iVar1 + 8), *(undefined2 *)(iVar1 + 4),*(undefined2 *)(iVar1 + 2), *(undefined2 *)((int)param_1 + 4),*(undefined2 *)((int)param_1 + 0x37)); *(undefined2 *)(iVar1 + 10) = (int)uVar4; *(undefined2 *)(iVar1 + 0xc) = (int)((ulong)uVar4 >> 0x10); return; } /* ===== 1018:134f FUN_1018_134f ===== */ uint __stdcall16far FUN_1018_134f(int *param_1) { int *piVar1; char cVar2; uint in_AX; uint uVar3; int unaff_BP; int *piVar4; undefined2 uVar5; undefined2 unaff_SS; undefined4 uVar6; undefined2 uVar7; int iVar8; undefined4 local_2a; undefined4 local_26; undefined2 local_22; undefined2 local_20; undefined2 local_1e; undefined2 local_1c; undefined2 local_1a; undefined2 local_18; undefined2 local_16; undefined2 local_14; undefined2 local_12; long local_c; undefined2 local_8; undefined2 uStack_4; int iStack_2; iStack_2 = unaff_BP + 1; uStack_4 = 0x1028; uVar5 = (undefined2)((ulong)param_1 >> 0x10); piVar4 = (int *)param_1; if (piVar4[1] == 0) { FUN_1018_0627(piVar4,uVar5); if (piVar4[3] == 0 && piVar4[4] == 0) { local_8 = 0; } else { local_8 = *(undefined2 *)((int)*(undefined4 *)(piVar4 + 3) + 4); } cVar2 = FUN_1018_0673(piVar4,uVar5,2); if (cVar2 == '\0') { in_AX = (*(code *)*(undefined2 *)(*param_1 + 0x1c))(0x1018,piVar4,uVar5); if ((char)in_AX != '\0') { DAT_1028_0676 = piVar4; DAT_1028_0678 = uVar5; cVar2 = FUN_1018_0673(piVar4,uVar5,8); if (cVar2 == '\0') { local_2a = (undefined2 *)CONCAT22(uVar5,(undefined2 *)((int)piVar4 + 0x1d)); uVar7 = *(undefined2 *)((int)piVar4 + 0x27); uVar6 = (*(code *)*(undefined2 *)(*param_1 + 0x2c)) (0x1018,piVar4,uVar5,*(undefined2 *)((int)piVar4 + 0x25),uVar7); in_AX = CREATEWINDOWEX(0x1018,*(undefined2 *)((int)piVar4 + 0x31), *(undefined2 *)((int)piVar4 + 0x33),DAT_1028_06fe, *(undefined2 *)((int)piVar4 + 0x35),local_8, *(undefined2 *)((int)piVar4 + 0x2f), *(undefined2 *)((int)piVar4 + 0x2d), *(undefined2 *)((int)piVar4 + 0x2b), *(undefined2 *)((int)piVar4 + 0x29), *(undefined2 *)((int)piVar4 + 0x21), *(undefined2 *)((int)piVar4 + 0x23),*local_2a, *(undefined2 *)((int)piVar4 + 0x1f),uVar6,uVar7); piVar4[2] = in_AX; } else { local_26 = (*(code *)*(undefined2 *)(*param_1 + 0x2c))(0x1018,piVar4,uVar5); local_22 = *(undefined2 *)((int)piVar4 + 0x1d); local_20 = *(undefined2 *)((int)piVar4 + 0x1f); local_1e = DAT_1028_06fe; local_1c = *(undefined2 *)((int)piVar4 + 0x29); local_1a = *(undefined2 *)((int)piVar4 + 0x2b); local_18 = *(undefined2 *)((int)piVar4 + 0x2d); local_16 = *(undefined2 *)((int)piVar4 + 0x2f); local_14 = *(undefined2 *)((int)piVar4 + 0x21); local_12 = *(undefined2 *)((int)piVar4 + 0x23); piVar1 = *(int **)(piVar4 + 3); local_c = (*(code *)*(undefined2 *)(*piVar1 + 0x30)) (0x1018,(int *)piVar1,(int)((ulong)piVar1 >> 0x10)); in_AX = 0; if (local_c != 0) { in_AX = SENDMESSAGE(0x1018,&local_26,unaff_SS,0,0x220); piVar4[2] = in_AX; } } } } else { in_AX = GETDLGITEM(0x1018,*(undefined2 *)((int)piVar4 + 0x35)); piVar4[2] = in_AX; } if (piVar4[2] == 0) { piVar4[1] = -1; } else { uVar6 = FUN_1018_0097(piVar4[2]); in_AX = (uint)uVar6 | (uint)((ulong)uVar6 >> 0x10); if (in_AX == 0) { FUN_1018_0045(piVar4,uVar5,piVar4[2]); iVar8 = piVar4[2]; uVar6 = SETWINDOWLONG(0x1018,piVar4[9],piVar4[10],0xfffc); *(undefined2 *)((int)piVar4 + 0x37) = (int)uVar6; *(undefined2 *)((int)piVar4 + 0x39) = (int)((ulong)uVar6 >> 0x10); in_AX = (*(code *)*(undefined2 *)(*param_1 + 0x38))(0x1228,piVar4,uVar5,iVar8); } } } uVar3 = in_AX & 0xff00; if (piVar4[1] == 0) { uVar3 = uVar3 + 1; } return uVar3; } /* ===== 1018:1547 FUN_1018_1547 ===== */ void __stdcall16far FUN_1018_1547(undefined4 param_1) { int iVar1; int iVar2; undefined2 uVar3; uVar3 = (undefined2)((ulong)param_1 >> 0x10); iVar2 = (int)param_1; if (*(int *)(iVar2 + 0x3f) != 0) { iVar1 = ISWINDOW(); if (iVar1 != 0) { iVar1 = ISICONIC(0x1228,*(undefined2 *)(iVar2 + 4)); if (iVar1 == 0) { SETFOCUS(0x1228,*(undefined2 *)(iVar2 + 0x3f)); } } } return; } /* ===== 1018:1586 FUN_1018_1586 ===== */ void __stdcall16far FUN_1018_1586(undefined4 param_1) { int iVar1; int iVar2; undefined2 uVar3; iVar1 = GETFOCUS(); if (iVar1 != 0) { uVar3 = (undefined2)((ulong)param_1 >> 0x10); iVar2 = ISCHILD(0x1228,iVar1,*(undefined2 *)((int)param_1 + 4)); if (iVar2 != 0) { *(int *)((int)param_1 + 0x3f) = iVar1; } } return; } /* ===== 1018:15c0 FUN_1018_15c0 ===== */ void __stdcall16far FUN_1018_15c0(undefined4 param_1) { int *piVar1; char cVar2; int iVar3; int unaff_BP; int iVar4; undefined2 uVar5; undefined2 uVar6; undefined2 unaff_SS; long lVar7; undefined2 uVar8; int local_c; int local_a; int local_8; int local_6; undefined2 uStack_4; int iStack_2; iStack_2 = unaff_BP + 1; uStack_4 = 0x1028; uVar5 = (undefined2)((ulong)param_1 >> 0x10); iVar4 = (int)param_1; iVar3 = ISICONIC(); if (iVar3 != 0) { return; } iVar3 = ISZOOMED(0x1228,*(undefined2 *)(iVar4 + 4)); if (iVar3 != 0) { return; } uVar8 = *(undefined2 *)(iVar4 + 4); uVar6 = 0x1228; GETWINDOWRECT(0x1228,&local_c,unaff_SS); *(int *)(iVar4 + 0x2d) = local_8 - local_c; *(int *)(iVar4 + 0x2f) = local_6 - local_a; if (*(int *)(iVar4 + 6) != 0 || *(int *)(iVar4 + 8) != 0) { piVar1 = (int *)*(undefined4 *)(iVar4 + 6); lVar7 = (*(code *)*(undefined2 *)(*piVar1 + 0x30)) (0x1228,(int *)piVar1,(int)((ulong)piVar1 >> 0x10),uVar8); if (lVar7 != 0) { uVar6 = 0x1018; cVar2 = FUN_1018_0673(iVar4,uVar5,8); if (cVar2 != '\0') { SCREENTOCLIENT(0x1018,&local_c,unaff_SS); goto LAB_1018_1685; } } if ((*(uint *)(iVar4 + 0x23) & 0x4000) != 0) { SCREENTOCLIENT(uVar6,&local_c,unaff_SS); } } LAB_1018_1685: *(int *)(iVar4 + 0x29) = local_c; *(int *)(iVar4 + 0x2b) = local_a; return; } /* ===== 1018:169d FUN_1018_169d ===== */ void __stdcall16far FUN_1018_169d(undefined4 param_1,undefined4 param_2) { char cVar1; undefined2 uVar2; undefined2 uVar3; undefined2 uVar4; uVar3 = (undefined2)((ulong)param_2 >> 0x10); uVar4 = (undefined2)((ulong)param_1 >> 0x10); uVar2 = (undefined2)param_1; FUN_1018_0ffd(uVar2,uVar4,(int)param_2,uVar3); cVar1 = FUN_1018_0673(uVar2,uVar4,1); if (cVar1 != '\0') { if (*(int *)((int)param_2 + 4) == 0) { FUN_1018_1586(uVar2,uVar4); } else { FUN_1018_1547(uVar2,uVar4); } } return; } /* ===== 1018:16eb FUN_1018_16eb ===== */ void __stdcall16far FUN_1018_16eb(void) { FUN_1020_16e1(); return; } /* ===== 1018:170c FUN_1018_170c ===== */ void __stdcall16far FUN_1018_170c(undefined4 param_1) { int *piVar1; char cVar2; int unaff_BP; int iVar3; int iVar4; undefined2 uVar5; undefined2 uVar6; undefined2 uVar7; iVar3 = unaff_BP + 1; uVar7 = 0x1028; uVar5 = (undefined2)((ulong)param_1 >> 0x10); iVar4 = (int)param_1; FUN_1018_0d9b(iVar4,uVar5); uVar6 = 0x1018; cVar2 = FUN_1018_0673(iVar4,uVar5,8); if (cVar2 != '\0') { uVar6 = 0x1228; SETFOCUS(0x1018,*(undefined2 *)(iVar4 + 4),uVar7,iVar3); } if (*(int *)(iVar4 + 0x3b) != 0 || *(int *)(iVar4 + 0x3d) != 0) { piVar1 = (int *)*(undefined4 *)(iVar4 + 0x3b); (*(code *)*(undefined2 *)(*piVar1 + 0x10))(uVar6,(int *)piVar1,(int)((ulong)piVar1 >> 0x10)); } FUN_1018_15c0(iVar4,uVar5); return; } /* ===== 1018:1761 FUN_1018_1761 ===== */ void __stdcall16far FUN_1018_1761(int *param_1) { (*(code *)*(undefined2 *)(*param_1 + 0x38))(); (*(code *)*(undefined2 *)(*param_1 + 0xc))(); return; } /* ===== 1018:1788 FUN_1018_1788 ===== */ void __stdcall16far FUN_1018_1788(int *param_1,undefined4 param_2) { int *piVar1; uint extraout_DX; int unaff_BP; int iVar2; int *piVar3; int iVar4; undefined2 uVar5; undefined2 uVar6; undefined2 unaff_CS; int iVar7; undefined2 uVar8; iVar2 = unaff_BP + 1; uVar8 = 0x1028; uVar5 = (undefined2)((ulong)param_1 >> 0x10); piVar3 = (int *)param_1; iVar7 = piVar3[2]; GETWINDOWLONG(unaff_CS,0xfff0); iVar4 = (int)param_2; uVar6 = (undefined2)((ulong)param_2 >> 0x10); if ((extraout_DX & 0x10) == 0) { (*(code *)*(undefined2 *)(*param_1 + 0x48))(0x1228,piVar3,uVar5,iVar4,uVar6); } else if (*(int *)((int)piVar3 + 0x3b) == 0 && *(int *)((int)piVar3 + 0x3d) == 0) { (*(code *)*(undefined2 *)(*param_1 + 0xc))(0x1228,piVar3,uVar5,iVar4,uVar6,iVar7,uVar8,iVar2); } else { piVar1 = (int *)*(undefined4 *)((int)piVar3 + 0x3b); (*(code *)*(undefined2 *)(*piVar1 + 0x20)) (0x1228,(int *)piVar1,(int)((ulong)piVar1 >> 0x10),*(undefined2 *)(iVar4 + 6), *(undefined2 *)(iVar4 + 4)); } return; } /* ===== 1018:17f8 FUN_1018_17f8 ===== */ void __stdcall16far FUN_1018_17f8(int *param_1,undefined4 param_2) { int *piVar1; uint extraout_DX; int unaff_BP; int iVar2; int *piVar3; int iVar4; undefined2 uVar5; undefined2 uVar6; undefined2 unaff_CS; int iVar7; undefined2 uVar8; iVar2 = unaff_BP + 1; uVar8 = 0x1028; uVar5 = (undefined2)((ulong)param_1 >> 0x10); piVar3 = (int *)param_1; iVar7 = piVar3[2]; GETWINDOWLONG(unaff_CS,0xfff0); iVar4 = (int)param_2; uVar6 = (undefined2)((ulong)param_2 >> 0x10); if ((extraout_DX & 0x20) == 0) { (*(code *)*(undefined2 *)(*param_1 + 0x48))(0x1228,piVar3,uVar5,iVar4,uVar6); } else if (*(int *)((int)piVar3 + 0x3b) == 0 && *(int *)((int)piVar3 + 0x3d) == 0) { (*(code *)*(undefined2 *)(*param_1 + 0xc))(0x1228,piVar3,uVar5,iVar4,uVar6,iVar7,uVar8,iVar2); } else { piVar1 = (int *)*(undefined4 *)((int)piVar3 + 0x3b); (*(code *)*(undefined2 *)(*piVar1 + 0x1c)) (0x1228,(int *)piVar1,(int)((ulong)piVar1 >> 0x10),*(undefined2 *)(iVar4 + 6), *(undefined2 *)(iVar4 + 4)); } return; } /* ===== 1018:1868 FUN_1018_1868 ===== */ void __stdcall16far FUN_1018_1868(int *param_1) { int *piVar1; int unaff_BP; int *piVar2; undefined2 uVar3; undefined2 unaff_CS; undefined2 unaff_SS; undefined1 local_24 [32]; undefined2 uStack_4; int iStack_2; iStack_2 = unaff_BP + 1; uStack_4 = 0x1028; uVar3 = (undefined2)((ulong)param_1 >> 0x10); piVar2 = (int *)param_1; BEGINPAINT(unaff_CS,local_24,unaff_SS,piVar2[2]); if (*(int *)((int)piVar2 + 0x3b) != 0 || *(int *)((int)piVar2 + 0x3d) != 0) { piVar1 = (int *)*(undefined4 *)((int)piVar2 + 0x3b); (*(code *)*(undefined2 *)(*piVar1 + 0x14)) (0x1228,(int *)piVar1,(int)((ulong)piVar1 >> 0x10),local_24); } (*(code *)*(undefined2 *)(*param_1 + 0x4c))(0x1228,piVar2,uVar3,local_24); if (*(int *)((int)piVar2 + 0x3b) != 0 || *(int *)((int)piVar2 + 0x3d) != 0) { piVar1 = (int *)*(undefined4 *)((int)piVar2 + 0x3b); (*(code *)*(undefined2 *)(*piVar1 + 0x18))(0x1228,(int *)piVar1,(int)((ulong)piVar1 >> 0x10)); } ENDPAINT(0x1228,local_24,unaff_SS); return; } /* ===== 1018:18e9 FUN_1018_18e9 ===== */ void __stdcall16far FUN_1018_18e9(int *param_1,undefined4 param_2) { undefined2 *puVar1; int unaff_BP; int *piVar2; int iVar3; undefined2 uVar4; undefined2 uVar5; undefined2 unaff_CS; undefined2 uVar6; undefined2 unaff_SS; int local_c; int local_a; int local_8; int local_6; undefined2 uStack_4; int iStack_2; iStack_2 = unaff_BP + 1; uStack_4 = 0x1028; uVar4 = (undefined2)((ulong)param_1 >> 0x10); piVar2 = (int *)param_1; iVar3 = (int)param_2; uVar5 = (undefined2)((ulong)param_2 >> 0x10); if ((*(int *)((int)piVar2 + 0x3b) != 0 || *(int *)((int)piVar2 + 0x3d) != 0) && (*(int *)(iVar3 + 4) != 1)) { puVar1 = (undefined2 *)(*(int *)*(undefined4 *)((int)piVar2 + 0x3b) + 0xc); (*(code *)*puVar1)(); } uVar6 = unaff_CS; if (*(int *)(iVar3 + 4) == 0) { uVar6 = 0x1228; GETWINDOWRECT(unaff_CS,&local_c,unaff_SS); *(int *)((int)piVar2 + 0x2f) = local_6 - local_a; *(int *)((int)piVar2 + 0x2d) = local_8 - local_c; } (*(code *)*(undefined2 *)(*param_1 + 0xc))(uVar6,piVar2,uVar4,iVar3,uVar5); return; } /* ===== 1018:1960 FUN_1018_1960 ===== */ void __stdcall16far FUN_1018_1960(int *param_1,undefined4 param_2) { int unaff_BP; int iVar1; undefined2 uVar2; undefined2 uVar3; iVar1 = unaff_BP + 1; uVar3 = 0x1028; uVar2 = (undefined2)((ulong)param_1 >> 0x10); FUN_1018_15c0((int *)param_1,uVar2); (*(code *)*(undefined2 *)(*param_1 + 0xc)) (0x1018,(int *)param_1,uVar2,(int)param_2,(int)((ulong)param_2 >> 0x10),uVar3,iVar1); return; } /* ===== 1018:1986 FUN_1018_1986 ===== */ void __stdcall16far FUN_1018_1986(int *param_1,undefined4 param_2) { int *piVar1; int iVar2; int unaff_BP; int *piVar3; undefined2 uVar4; undefined2 unaff_CS; undefined2 unaff_SS; int iVar5; undefined1 local_16 [2]; int local_14; undefined2 uStack_4; int iStack_2; iStack_2 = unaff_BP + 1; uStack_4 = 0x1028; uVar4 = (undefined2)((ulong)param_1 >> 0x10); piVar3 = (int *)param_1; if ((*(int *)((int)piVar3 + 0x3b) != 0 || *(int *)((int)piVar3 + 0x3d) != 0) && (*(char *)((int)*(undefined4 *)((int)piVar3 + 0x3b) + 0x22) != '\0')) { iVar5 = piVar3[2]; SETCAPTURE(); do { iVar2 = PEEKMESSAGE(0x1228,1,0,0,0,local_16,unaff_SS); if (iVar2 != 0) { TRANSLATEMESSAGE(0x1228,local_16); DISPATCHMESSAGE(0x1228,local_16); } piVar1 = (int *)*(undefined4 *)((int)piVar3 + 0x3b); (*(code *)*(undefined2 *)(*piVar1 + 0x24)) (0x1228,(int *)piVar1,(int)((ulong)piVar1 >> 0x10),iVar5); } while (local_14 != 0x202); unaff_CS = 0x1228; RELEASECAPTURE(0x1228); } (*(code *)*(undefined2 *)(*param_1 + 0xc)) (unaff_CS,piVar3,uVar4,(int)param_2,(int)((ulong)param_2 >> 0x10)); return; } /* ===== 1018:1a0e FUN_1018_1a0e ===== */ void __stdcall16far FUN_1018_1a0e(int *param_1,undefined4 param_2) { int iVar1; char cVar2; int unaff_BP; int iVar3; int *piVar4; undefined2 uVar5; undefined2 uVar6; undefined2 uVar7; iVar3 = unaff_BP + 1; uVar7 = 0x1028; uVar5 = (undefined2)((ulong)param_1 >> 0x10); piVar4 = (int *)param_1; cVar2 = FUN_1018_0673(piVar4,uVar5,1); uVar6 = (undefined2)((ulong)param_2 >> 0x10); if (cVar2 != '\0') { iVar1 = *(int *)((int)param_2 + 4); if (iVar1 == -0xfe0) { FUN_1018_1586(piVar4,uVar5); } else if (iVar1 == -0xee0) { FUN_1018_1547(piVar4,uVar5); } } (*(code *)*(undefined2 *)(*param_1 + 0xc))(0x1018,piVar4,uVar5,(int)param_2,uVar6,uVar7,iVar3); return; } /* ===== 1018:1a61 FUN_1018_1a61 ===== */ int * __stdcall16far FUN_1018_1a61(int *param_1,undefined2 param_2,int param_3,int param_4) { undefined2 uVar1; int unaff_BP; int *piVar2; undefined2 uVar3; bool bVar4; bVar4 = true; FUN_1020_03ef(0x1028,unaff_BP + 1); if (!bVar4) { uVar3 = (undefined2)((ulong)param_1 >> 0x10); piVar2 = (int *)param_1; FUN_1008_2d99(piVar2,uVar3,0); piVar2[2] = param_3; piVar2[3] = param_4; DAT_1028_064e._0_2_ = piVar2; DAT_1028_064e._2_2_ = uVar3; piVar2[6] = 0; piVar2[1] = 0; piVar2[4] = 0; piVar2[5] = 0; piVar2[7] = 0; piVar2[8] = 0; uVar1 = uVar3; DAT_1028_0672 = MAKEPROCINSTANCE((void *)CONCAT22(0x133,DAT_1028_06fe),0x1018); DAT_1028_0674 = uVar1; FUN_1008_2e76(); if (DAT_1028_06fc == 0) { (*(code *)*(undefined2 *)(*param_1 + 0x10))(0x1008,piVar2,uVar3); } if (piVar2[1] == 0) { (*(code *)*(undefined2 *)(*param_1 + 0x14))(0x1008,piVar2,uVar3); } } return param_1; } /* ===== 1018:1b08 FUN_1018_1b08 ===== */ void __stdcall16far FUN_1018_1b08(undefined4 param_1) { int unaff_BP; int iVar1; undefined2 uVar2; iVar1 = unaff_BP + 1; uVar2 = 0x1028; FREEPROCINSTANCE((void *)CONCAT22(DAT_1028_0674,DAT_1028_0672)); FUN_1008_2dcd((int)param_1,(int)((ulong)param_1 >> 0x10),0); FUN_1020_0439(uVar2,iVar1); return; } /* ===== 1018:1b35 FUN_1018_1b35 ===== */ undefined1 __stdcall16far FUN_1018_1b35(void) { return 0; } /* ===== 1018:1b4b FUN_1018_1b4b ===== */ void __stdcall16far FUN_1018_1b4b(void) { return; } /* ===== 1018:1b57 FUN_1018_1b57 ===== */ void __stdcall16far FUN_1018_1b57(int *param_1) { int *piVar1; undefined2 uVar2; undefined4 uVar3; uVar2 = (undefined2)((ulong)param_1 >> 0x10); piVar1 = (int *)param_1; (*(code *)*(undefined2 *)(*param_1 + 0x18))(); uVar3 = (*(code *)*(undefined2 *)(*param_1 + 0x34))(); piVar1[4] = (int)uVar3; piVar1[5] = (int)((ulong)uVar3 >> 0x10); if (piVar1[4] == 0 && piVar1[5] == 0) { piVar1[1] = -5; } else { FUN_1018_0e9e((int)*(undefined4 *)(piVar1 + 4),(int)((ulong)*(undefined4 *)(piVar1 + 4) >> 0x10) ,DAT_1028_0700); } return; } /* ===== 1018:1bb0 FUN_1018_1bb0 ===== */ void __stdcall16far FUN_1018_1bb0(int *param_1) { if (((int *)param_1)[1] == 0) { (*(code *)*(undefined2 *)(*param_1 + 0x20))(); } else { (*(code *)*(undefined2 *)(*param_1 + 0x40))(); } return; } /* ===== 1018:1bdf FUN_1018_1bdf ===== */ void __stdcall16far FUN_1018_1bdf(undefined4 param_1,undefined2 param_2,undefined2 param_3) { undefined2 uVar1; uVar1 = (undefined2)((ulong)param_1 >> 0x10); *(undefined2 *)((int)param_1 + 0xe) = param_2; *(undefined2 *)((int)param_1 + 0x10) = param_3; return; } /* ===== 1018:1bfc FUN_1018_1bfc ===== */ void __stdcall16far FUN_1018_1bfc(int *param_1) { char cVar1; char cVar2; int iVar3; int unaff_BP; int *piVar4; undefined2 uVar5; undefined2 unaff_CS; undefined2 unaff_SS; undefined1 local_16 [2]; int local_14; int local_12; undefined2 uStack_4; int iStack_2; iStack_2 = unaff_BP + 1; uStack_4 = 0x1028; cVar1 = '\0'; do { iVar3 = PEEKMESSAGE(unaff_CS,1,0,0,0,local_16,unaff_SS); piVar4 = (int *)param_1; uVar5 = (undefined2)((ulong)param_1 >> 0x10); if (iVar3 == 0) { cVar2 = (*(code *)*(undefined2 *)(*param_1 + 0xc))(0x1228,piVar4,uVar5); if (cVar2 == '\0') { cVar1 = '\x12'; WAITMESSAGE(); } } else if (local_14 == 0x12) { cVar1 = '\x01'; } else { cVar2 = (*(code *)*(undefined2 *)(*param_1 + 0x24))(0x1228,piVar4,uVar5,local_16); if (cVar2 == '\0') { TRANSLATEMESSAGE(0x1228,local_16); DISPATCHMESSAGE(0x1228,local_16); } } unaff_CS = 0x1228; } while (cVar1 == '\0'); piVar4[1] = local_12; return; } /* ===== 1018:1c7f FUN_1018_1c7f ===== */ undefined1 __stdcall16far FUN_1018_1c7f(int *param_1) { char cVar1; cVar1 = (*(code *)*(undefined2 *)(*param_1 + 0x28))(); if (((cVar1 == '\0') && (cVar1 = (*(code *)*(undefined2 *)(*param_1 + 0x30))(), cVar1 == '\0')) && (cVar1 = (*(code *)*(undefined2 *)(*param_1 + 0x2c))(), cVar1 == '\0')) { return 0; } return 1; } /* ===== 1018:1cd6 FUN_1018_1cd6 ===== */ undefined2 __stdcall16far FUN_1018_1cd6(undefined4 param_1,undefined4 param_2) { uint uVar1; int iVar2; undefined2 uVar3; undefined2 unaff_CS; undefined1 local_5; local_5 = false; uVar3 = (undefined2)((ulong)param_1 >> 0x10); iVar2 = (int)param_1; uVar1 = *(uint *)(iVar2 + 0xe) | *(uint *)(iVar2 + 0x10); if ((uVar1 != 0) && (*(int *)((int)*(undefined4 *)(iVar2 + 0xe) + 4) != 0)) { iVar2 = ISDIALOGMESSAGE(unaff_CS,(int)param_2,(int)((ulong)param_2 >> 0x10)); local_5 = iVar2 != 0; uVar1 = CONCAT11((char)((uint)-iVar2 >> 8),local_5); } return CONCAT11((char)(uVar1 >> 8),local_5); } /* ===== 1018:1d22 FUN_1018_1d22 ===== */ undefined2 __stdcall16far FUN_1018_1d22(undefined4 param_1,undefined4 param_2) { int iVar1; undefined2 uVar2; undefined2 unaff_CS; uVar2 = (undefined2)((ulong)param_1 >> 0x10); if (*(int *)((int)param_1 + 0xc) != 0) { iVar1 = TRANSLATEACCELERATOR (unaff_CS,(int)param_2,(int)((ulong)param_2 >> 0x10), *(undefined2 *)((int)param_1 + 0xc)); if (iVar1 != 0) { return 1; } } return 0; } /* ===== 1018:1d64 FUN_1018_1d64 ===== */ undefined2 __stdcall16far FUN_1018_1d64(undefined4 param_1,undefined4 param_2) { undefined2 *puVar1; int iVar2; undefined2 unaff_CS; long lVar3; puVar1 = (undefined2 *)(*(int *)*(undefined4 *)((int)param_1 + 8) + 0x30); lVar3 = (*(code *)*puVar1)(); if ((lVar3 != 0) && (iVar2 = TRANSLATEMDISYSACCEL(unaff_CS,(int)param_2,(int)((ulong)param_2 >> 0x10)), iVar2 != 0) ) { return 1; } return 0; } /* ===== 1018:1db1 FUN_1018_1db1 ===== */ int * __stdcall16far FUN_1018_1db1(int *param_1,int *param_2) { char cVar1; undefined1 extraout_AH; undefined1 extraout_AH_00; int unaff_BP; undefined2 uVar2; int *piVar3; int *piVar4; int iVar5; int iVar6; piVar3 = (int *)0x0; iVar5 = 0; piVar4 = piVar3; iVar6 = iVar5; if ((int *)param_2 != (int *)0x0 || param_2._2_2_ != 0) { cVar1 = FUN_1008_2de0(0,0,0x1028,unaff_BP + 1); uVar2 = (undefined2)((ulong)param_1 >> 0x10); if (cVar1 == '\0') { piVar4 = (int *)param_2; iVar6 = param_2._2_2_; if (((int *)param_2)[1] != 0) { (*(code *)*(undefined2 *)(*param_1 + 0x40))(0x1008,(int *)param_1,uVar2,((int *)param_2)[1]) ; (*(code *)*(undefined2 *)(*param_2 + 8)) (0x1008,(int *)param_2,param_2._2_2_,CONCAT11(extraout_AH_00,1)); piVar4 = piVar3; iVar6 = iVar5; } } else { (*(code *)*(undefined2 *)(*param_1 + 0x40))(0x1008,(int *)param_1,uVar2,0xfffe); (*(code *)*(undefined2 *)(*param_2 + 8)) (0x1008,(int *)param_2,param_2._2_2_,CONCAT11(extraout_AH,1)); FUN_1008_2dff(); piVar4 = piVar3; iVar6 = iVar5; } } return (int *)CONCAT22(iVar6,piVar4); } /* ===== 1018:1e39 FUN_1018_1e39 ===== */ int * __stdcall16far FUN_1018_1e39(int *param_1,int *param_2) { char cVar1; long lVar2; int *local_8; int local_6; local_8 = (int *)0x0; local_6 = 0; if ((int *)param_2 != (int *)0x0 || param_2._2_2_ != 0) { lVar2 = (*(code *)*(undefined2 *)(*param_1 + 0x3c))(); if (lVar2 != 0) { cVar1 = (*(code *)*(undefined2 *)(*param_2 + 0x20))(); if (cVar1 == '\0') { (*(code *)*(undefined2 *)(*param_1 + 0x40))(); (*(code *)*(undefined2 *)(*param_2 + 8))(); } else { local_8 = (int *)param_2; local_6 = param_2._2_2_; } } } return (int *)CONCAT22(local_6,local_8); } /* ===== 1018:1eb0 FUN_1018_1eb0 ===== */ int __stdcall16far FUN_1018_1eb0(int *param_1,int *param_2) { int iVar1; long lVar2; int local_6; local_6 = 2; lVar2 = (*(code *)*(undefined2 *)(*param_1 + 0x3c))(); if (lVar2 != 0) { iVar1 = (*(code *)*(undefined2 *)(*param_2 + 0x4c))(); if (iVar1 < 0) { (*(code *)*(undefined2 *)(*param_1 + 0x40))(); iVar1 = local_6; } local_6 = iVar1; (*(code *)*(undefined2 *)(*param_2 + 8))(); } return local_6; } /* ===== 1018:1f14 FUN_1018_1f14 ===== */ void __stdcall16far FUN_1018_1f14(void) { int iVar1; int unaff_BP; undefined2 unaff_CS; undefined2 unaff_SS; undefined1 local_24 [32]; undefined2 uStack_4; int iStack_2; iStack_2 = unaff_BP + 1; uStack_4 = 0x1028; WVSPRINTF(unaff_CS,&stack0x0008,unaff_SS,0x698,0x1028,local_24); iVar1 = (*DAT_1028_0666)(0x1228,0x14,0x6b3,0x1028,local_24); if (iVar1 == 7) { FUN_1020_0061(0x1228); } return; } /* ===== 1018:1f56 FUN_1018_1f56 ===== */ undefined1 __stdcall16far FUN_1018_1f56(undefined4 param_1) { undefined2 *puVar1; undefined1 uVar2; puVar1 = (undefined2 *)(*(int *)*(undefined4 *)((int)param_1 + 8) + 0x3c); uVar2 = (*(code *)*puVar1)(); return uVar2; } /* ===== 1020:0002 FUN_1020_0002 ===== */ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void __cdecl16far FUN_1020_0002(void) { code *pcVar1; int in_AX; int iVar2; uint uVar3; undefined2 in_DX; undefined2 in_BX; int unaff_BP; int iVar4; undefined2 unaff_SI; undefined2 unaff_DI; int unaff_ES; undefined2 unaff_CS; int in_stack_00000000; undefined2 uVar5; iVar4 = unaff_BP + 1; uVar5 = 0x1028; if (in_AX != 0) { DAT_1028_06fc = unaff_SI; DAT_1028_06fe = unaff_DI; DAT_1028_0700 = in_DX; DAT_1028_0702._0_2_ = in_BX; DAT_1028_0702._2_2_ = unaff_ES; DAT_1028_071c = unaff_ES; WAITEVENT(0); unaff_CS = 0x1228; iVar2 = INITAPP(0x1228,DAT_1028_06fe); if (iVar2 != 0) { uVar3 = GETWINFLAGS(0x1228); DAT_1028_0726 = 0; if (((uVar3 & 0xc0) == 0) && (DAT_1028_0726 = 1, (uVar3 & 2) == 0)) { DAT_1028_0726 = 2; } DAT_1028_0724 = 0x6c; return; } } pcVar1 = (code *)swi(0x21); _DAT_1028_0716 = (*pcVar1)(uVar5); DAT_1028_0718 = iVar4; if ((DAT_1028_0718 != 0 || in_stack_00000000 != 0) && (in_stack_00000000 != -1)) { in_stack_00000000 = *(int *)0x0; } DAT_1028_071a = in_stack_00000000; if (DAT_1028_071c != 0) { FUN_1020_00d2(); } if (DAT_1028_0718 != 0 || DAT_1028_071a != 0) { FUN_1020_00f0(); FUN_1020_00f0(); FUN_1020_00f0(); MESSAGEBOX(unaff_CS,0x1010,0,0,0x728,0x1028); } pcVar1 = (code *)swi(0x21); (*pcVar1)(); if ((int)((ulong)_DAT_1028_0712 >> 0x10) != 0 || (int)_DAT_1028_0712 != 0) { _DAT_1028_0712 = 0; DAT_1028_071e = 0; return; } return; } /* ===== 1020:005d FUN_1020_005d ===== */ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_1020_005d(int param_1) { code *pcVar1; undefined2 in_AX; undefined2 unaff_CS; int in_stack_00000000; if ((in_stack_00000000 != 0 || param_1 != 0) && (param_1 != -1)) { param_1 = *(int *)0x0; } _DAT_1028_0716 = in_AX; DAT_1028_0718 = in_stack_00000000; DAT_1028_071a = param_1; if (DAT_1028_071c != 0) { FUN_1020_00d2(); } if (DAT_1028_0718 != 0 || DAT_1028_071a != 0) { FUN_1020_00f0(); FUN_1020_00f0(); FUN_1020_00f0(); MESSAGEBOX(unaff_CS,0x1010,0,0,0x728); } pcVar1 = (code *)swi(0x21); (*pcVar1)(); if ((int)((ulong)_DAT_1028_0712 >> 0x10) != 0 || (int)_DAT_1028_0712 != 0) { _DAT_1028_0712 = 0; DAT_1028_071e = 0; return; } return; } /* ===== 1020:0061 FUN_1020_0061 ===== */ /* WARNING: Removing unreachable block (ram,0x1020006e) */ /* WARNING: Removing unreachable block (ram,0x10200073) */ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void FUN_1020_0061(void) { code *pcVar1; undefined2 in_AX; undefined2 unaff_CS; DAT_1028_0718 = 0; DAT_1028_071a = 0; _DAT_1028_0716 = in_AX; if (DAT_1028_071c != 0) { FUN_1020_00d2(); } if (DAT_1028_0718 != 0 || DAT_1028_071a != 0) { FUN_1020_00f0(); FUN_1020_00f0(); FUN_1020_00f0(); MESSAGEBOX(unaff_CS,0x1010,0,0,0x728,0x1028); } pcVar1 = (code *)swi(0x21); (*pcVar1)(); if ((int)((ulong)_DAT_1028_0712 >> 0x10) == 0 && (int)_DAT_1028_0712 == 0) { return; } _DAT_1028_0712 = 0; DAT_1028_071e = 0; return; } /* ===== 1020:00d2 FUN_1020_00d2 ===== */ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void __cdecl16near FUN_1020_00d2(void) { if ((int)((ulong)_DAT_1028_0712 >> 0x10) != 0 || (int)_DAT_1028_0712 != 0) { _DAT_1028_0712 = 0; DAT_1028_071e = 0; return; } return; } /* ===== 1020:00f0 FUN_1020_00f0 ===== */ void __cdecl16near FUN_1020_00f0(void) { uint in_AX; uint uVar1; uint in_CX; byte bVar2; byte *in_BX; char cVar3; do { uVar1 = in_AX / in_CX; cVar3 = (char)(in_AX % in_CX); bVar2 = cVar3 + 0x30; if (0x39 < bVar2) { bVar2 = cVar3 + 0x37; } in_BX = in_BX + -1; *in_BX = bVar2; in_AX = uVar1; } while (uVar1 != 0); return; } /* ===== 1020:012d FUN_1020_012d ===== */ void __stdcall16far FUN_1020_012d(void) { int unaff_BP; undefined1 in_CF; FUN_1020_01ca(0x1028,unaff_BP + 1); if (!(bool)in_CF) { return; } FUN_1020_005d(); return; } /* ===== 1020:0147 FUN_1020_0147 ===== */ void __stdcall16far FUN_1020_0147(void) { int unaff_BP; undefined1 in_CF; FUN_1020_02d7(0x1028,unaff_BP + 1); if (!(bool)in_CF) { return; } FUN_1020_005d(); return; } /* ===== 1020:0167 FUN_1020_0167 ===== */ int __cdecl16far FUN_1020_0167(void) { int iVar1; int iVar2; iVar1 = GETFREESPACE(); iVar2 = DAT_1028_0706; if (DAT_1028_0706 != 0) { do { iVar1 = iVar1 + *(int *)0x8; iVar2 = *(int *)0xa; } while (iVar2 != DAT_1028_0706); } return iVar1; } /* ===== 1020:0195 runtime_1020_0195 ===== */ void __cdecl16far runtime_1020_0195(void) { uint uVar1; int iVar2; int in_DX; uVar1 = GLOBALCOMPACT(0); if ((in_DX == 0) && (iVar2 = DAT_1028_0706, DAT_1028_0706 != 0)) { do { if (uVar1 < *(uint *)0x8) { uVar1 = *(uint *)0x8; } iVar2 = *(int *)0xa; } while (iVar2 != DAT_1028_0706); } return; } /* ===== 1020:01ca FUN_1020_01ca ===== */ void __cdecl16near FUN_1020_01ca(void) { uint uVar1; uint in_AX; uint uVar2; undefined1 uVar3; uVar1 = in_AX; if (in_AX != 0) { do { DAT_1028_4d38 = uVar1; uVar3 = DAT_1028_4d38 < DAT_1028_0708; if ((bool)uVar3) { FUN_1020_023c(); if (!(bool)uVar3) { return; } FUN_1020_0222(); LAB_1020_0201: if (!(bool)uVar3) { return; } } else { FUN_1020_0222(); if (!(bool)uVar3) { return; } if ((DAT_1028_0708 != 0) && (uVar3 = DAT_1028_4d38 < DAT_1028_070a - 0xcU, DAT_1028_4d38 <= DAT_1028_070a - 0xcU)) { FUN_1020_023c(); goto LAB_1020_0201; } } uVar2 = 0; if (DAT_1028_070e != (code *)0x0 || DAT_1028_0710 != 0) { uVar2 = (*DAT_1028_070e)(); } uVar1 = DAT_1028_4d38; } while (1 < uVar2); } return; } /* ===== 1020:0222 FUN_1020_0222 ===== */ void __cdecl16near FUN_1020_0222(void) { ushort in_AX; ushort arg1; arg1 = GLOBALALLOC(in_AX,0); if (arg1 != 0) { GLOBALLOCK(arg1); } return; } /* ===== 1020:023c FUN_1020_023c ===== */ undefined2 __cdecl16near FUN_1020_023c(void) { uint uVar1; undefined2 uVar2; undefined2 in_BX; uint unaff_ES; bool bVar3; bVar3 = false; uVar1 = DAT_1028_0706; if (DAT_1028_0706 != 0) { do { unaff_ES = uVar1; FUN_1020_02a6(); if (!bVar3) { DAT_1028_0706 = unaff_ES; return in_BX; } uVar1 = *(uint *)0xa; bVar3 = uVar1 < DAT_1028_0706; } while (uVar1 != DAT_1028_0706); } uVar2 = FUN_1020_026a(); if (!bVar3) { uVar2 = in_BX; FUN_1020_02a6(); DAT_1028_0706 = unaff_ES; } return uVar2; } /* ===== 1020:026a FUN_1020_026a ===== */ undefined2 __cdecl16near FUN_1020_026a(void) { undefined2 in_AX; int iVar1; undefined2 uVar2; undefined2 extraout_DX; undefined1 in_CF; FUN_1020_0222(); if (!(bool)in_CF) { *(undefined2 *)0x0 = 0x5054; *(undefined2 *)0x2 = 0; *(undefined2 *)0x4 = 0xc; *(undefined2 *)0x6 = 0; iVar1 = DAT_1028_070a + -0xc; *(int *)0x8 = iVar1; uVar2 = extraout_DX; if (DAT_1028_0706 != 0) { LOCK(); uVar2 = *(undefined2 *)0xa; *(undefined2 *)0xa = extraout_DX; UNLOCK(); } *(undefined2 *)0xa = uVar2; *(undefined2 *)0xc = 0; *(int *)0xe = iVar1; } return in_AX; } /* ===== 1020:02a6 FUN_1020_02a6 ===== */ void __cdecl16near FUN_1020_02a6(void) { int *piVar1; uint in_AX; int iVar2; int *piVar3; int *piVar4; undefined2 unaff_ES; piVar1 = (int *)0x4; do { piVar3 = piVar1; piVar1 = (int *)*piVar3; if (piVar1 == (int *)0x0) { return; } iVar2 = piVar1[1] - in_AX; } while ((uint)piVar1[1] < in_AX); piVar4 = (int *)*piVar1; if (iVar2 != 0) { piVar4 = (int *)((int)piVar1 + in_AX); *piVar4 = *piVar1; piVar4[1] = iVar2; } *piVar3 = (int)piVar4; *(int *)0x8 = *(int *)0x8 - in_AX; return; } /* ===== 1020:02d7 FUN_1020_02d7 ===== */ void __cdecl16near FUN_1020_02d7(void) { ushort uVar1; int in_AX; int iVar2; uint uVar3; uint *in_CX; ushort in_BX; uint *puVar4; uint *puVar5; if (in_AX == 0) { return; } if (in_CX != (uint *)0x0) { uVar3 = in_AX + 3U & 0xfffc; if (*(int *)0x0 != 0x5054) { return; } if (((uint)in_CX & 3) != 0) { return; } puVar5 = (uint *)0x4; do { puVar4 = puVar5; puVar5 = (uint *)*puVar4; if (puVar5 == (uint *)0x0) goto LAB_1020_0306; } while (puVar5 <= in_CX && in_CX != puVar5); if (in_CX == puVar5) { return; } LAB_1020_0306: *in_CX = (uint)puVar5; in_CX[1] = uVar3; iVar2 = uVar3 + *(int *)0x8; *(int *)0x8 = iVar2; if (iVar2 + 0xc != DAT_1028_070a) { FUN_1020_0327(); *puVar4 = (uint)in_CX; puVar5 = (uint *)((int)puVar4 + puVar4[1]); if (puVar5 != (uint *)*puVar4) { return; } *puVar4 = *puVar5; puVar4[1] = puVar4[1] + puVar5[1]; return; } uVar1 = DAT_1028_0706; DAT_1028_0706 = 0; if (in_BX != *(ushort *)0xa) { do { DAT_1028_0706 = uVar1; uVar1 = *(ushort *)0xa; } while (*(ushort *)0xa != in_BX); *(ushort *)0xa = *(ushort *)0xa; } } if ((in_BX != 0x1028) && (uVar3 = GLOBALHANDLE(in_BX), uVar3 != 0)) { GLOBALUNLOCK(uVar3); GLOBALFREE(uVar3); return; } return; } /* ===== 1020:0327 FUN_1020_0327 ===== */ void __cdecl16near FUN_1020_0327(void) { int *in_BX; int *piVar1; undefined2 unaff_ES; piVar1 = (int *)((int)in_BX + in_BX[1]); if (piVar1 == (int *)*in_BX) { *in_BX = *piVar1; in_BX[1] = in_BX[1] + piVar1[1]; } return; } /* ===== 1020:0388 FUN_1020_0388 ===== */ undefined2 __cdecl16far FUN_1020_0388(void) { undefined2 uVar1; uVar1 = DAT_1028_071e; LOCK(); DAT_1028_071e = 0; UNLOCK(); return uVar1; } /* ===== 1020:038f FUN_1020_038f ===== */ void __cdecl16far FUN_1020_038f(void) { if (DAT_1028_071e == 0) { return; } FUN_1020_005d(); return; } /* ===== 1020:039d FUN_1020_039d ===== */ void __cdecl16far FUN_1020_039d(void) { uint in_AX; int in_DX; uint *unaff_DI; undefined2 in_stack_00000002; if ((((int)unaff_DI[1] < in_DX) || (((int)unaff_DI[1] <= in_DX && (*unaff_DI <= in_AX)))) && ((in_DX < (int)unaff_DI[3] || ((in_DX <= (int)unaff_DI[3] && (in_AX <= unaff_DI[2])))))) { return; } FUN_1020_005d(); return; } /* ===== 1020:03c5 runtime_1020_03c5 ===== */ void runtime_1020_03c5(void) { FUN_1020_005d(); return; } /* ===== 1020:03cb FUN_1020_03cb ===== */ void __cdecl16far FUN_1020_03cb(void) { uint in_AX; uint uVar1; undefined2 unaff_SS; if (((in_AX < 0xfc00) && ((undefined1 *)(in_AX + 0x400) < &stack0x0000)) && (uVar1 = -((int)(in_AX + 0x400) - (int)&stack0x0000), *(uint *)0xa <= uVar1)) { if (uVar1 < *(uint *)0xe) { *(uint *)0xe = uVar1; } return; } FUN_1020_005d(); return; } /* ===== 1020:03ef FUN_1020_03ef ===== */ /* WARNING: Unable to track spacebase fully for stack */ void __cdecl16far FUN_1020_03ef(void) { int iVar1; int unaff_BP; int unaff_DI; undefined2 unaff_SS; bool bVar2; long lVar3; iVar1 = *(int *)(unaff_BP + 10); if (iVar1 != 0) { lVar3 = *(long *)(unaff_BP + 6); bVar2 = false; if (lVar3 == 0) { lVar3 = FUN_1020_01ca(); if (bVar2) { FUN_1020_005d(); return; } if (lVar3 == 0) { return; } *(undefined2 *)(unaff_BP + 6) = (int)lVar3; *(undefined2 *)(unaff_BP + 8) = (int)((ulong)lVar3 >> 0x10); } else { *(undefined2 *)(unaff_BP + 10) = 0; } *(int *)((int)lVar3 + unaff_DI) = iVar1; } return; } /* ===== 1020:0439 FUN_1020_0439 ===== */ /* WARNING: Unable to track spacebase fully for stack */ void __cdecl16far FUN_1020_0439(void) { int unaff_BP; undefined2 unaff_SS; bool bVar1; bVar1 = false; if (*(int *)(unaff_BP + 10) != 0) { FUN_1020_02d7(0x1028); if (bVar1) { FUN_1020_005d(); return; } } *(undefined2 *)(unaff_BP + 6) = 0; *(undefined2 *)(unaff_BP + 8) = 0; return; } /* ===== 1020:046c runtime_1020_046c ===== */ void __stdcall16far runtime_1020_046c(int param_1,undefined1 *param_2,undefined1 *param_3) { undefined1 *puVar1; undefined1 *puVar2; int *piVar3; int iVar4; undefined2 *puVar5; undefined1 *puVar6; undefined1 *puVar7; undefined2 uVar8; uVar8 = (undefined2)((ulong)param_2 >> 0x10); puVar7 = (undefined1 *)param_2; puVar5 = (undefined2 *)(puVar7 + param_1); piVar3 = (int *)*puVar5; puVar6 = (undefined1 *)param_3; for (iVar4 = *piVar3; iVar4 != 0; iVar4 = iVar4 + -1) { puVar2 = puVar7; puVar7 = puVar7 + 1; puVar1 = puVar6; puVar6 = puVar6 + 1; *puVar2 = *puVar1; } *puVar5 = piVar3; return; } /* ===== 1020:048f runtime_1020_048f ===== */ void __cdecl16far runtime_1020_048f(void) { int *unaff_DI; if ((*unaff_DI != 0) && (*unaff_DI + unaff_DI[1] == 0)) { return; } FUN_1020_005d(); return; } /* ===== 1020:049f runtime_1020_049f ===== */ /* WARNING: Removing unreachable block (ram,0x102004df) */ /* WARNING: Removing unreachable block (ram,0x102004e4) */ void __stdcall16far runtime_1020_049f(char *param_1,undefined2 *param_2) { char *pcVar1; char *pcVar2; int iVar3; char *pcVar4; undefined2 *puVar5; char *pcVar6; undefined2 uVar7; uVar7 = (undefined2)((ulong)param_2 >> 0x10); puVar5 = (undefined2 *)param_2; pcVar4 = (char *)param_1; *param_2 = 0; puVar5[1] = 0xd7b0; puVar5[2] = 0x80; puVar5[3] = 0; puVar5[4] = 0; puVar5[5] = 0; puVar5[6] = puVar5 + 0x40; puVar5[7] = uVar7; pcVar6 = (char *)(puVar5 + 9); puVar5[8] = 0xbe9; pcVar6[0] = ' '; pcVar6[1] = '\x10'; for (iVar3 = 0xe; pcVar6 = pcVar6 + 2, iVar3 != 0; iVar3 = iVar3 + -1) { pcVar6[0] = '\0'; pcVar6[1] = '\0'; } iVar3 = 0x4f; do { pcVar1 = pcVar4; pcVar4 = pcVar4 + 1; if (*pcVar1 == '\0') break; pcVar2 = pcVar6; pcVar6 = pcVar6 + 1; *pcVar2 = *pcVar1; iVar3 = iVar3 + -1; } while (iVar3 != 0); *pcVar6 = '\0'; Ordinal_5(); return; } /* ===== 1020:04fc runtime_1020_04fc ===== */ void __stdcall16far runtime_1020_04fc(undefined2 param_1,undefined2 param_2,undefined2 param_3,undefined4 param_4) { int iVar1; undefined2 uVar2; uVar2 = (undefined2)((ulong)param_4 >> 0x10); iVar1 = (int)param_4; *(undefined2 *)(iVar1 + 4) = param_1; *(undefined2 *)(iVar1 + 0xc) = param_2; *(undefined2 *)(iVar1 + 0xe) = param_3; *(undefined2 *)(iVar1 + 8) = 0; *(undefined2 *)(iVar1 + 10) = 0; return; } /* ===== 1020:0527 FUN_1020_0527 ===== */ void FUN_1020_0527(void) { FUN_1020_0534(); return; } /* ===== 1020:052c FUN_1020_052c ===== */ void FUN_1020_052c(void) { FUN_1020_0534(); return; } /* ===== 1020:0534 FUN_1020_0534 ===== */ void __stdcall16far FUN_1020_0534(undefined4 param_1) { int iVar1; undefined2 in_DX; int unaff_BP; int iVar2; int iVar3; undefined2 uVar4; bool bVar5; undefined2 uVar6; iVar2 = unaff_BP + 1; uVar6 = 0x1028; uVar4 = (undefined2)((ulong)param_1 >> 0x10); iVar3 = (int)param_1; iVar1 = *(int *)(iVar3 + 2); if ((iVar1 == -0x284f) || (iVar1 == -0x284e)) { FUN_1020_0586(iVar3,uVar4); } else if (iVar1 != -0x2850) { DAT_1028_071e = 0x66; return; } bVar5 = true; *(undefined2 *)(iVar3 + 2) = in_DX; *(undefined2 *)(iVar3 + 8) = 0; *(undefined2 *)(iVar3 + 10) = 0; FUN_1020_05c7(uVar6,iVar2); if (!bVar5) { *(undefined2 *)(iVar3 + 2) = 0xd7b0; } return; } /* ===== 1020:0586 FUN_1020_0586 ===== */ void __stdcall16far FUN_1020_0586(undefined4 param_1) { char cVar1; int unaff_BP; int iVar2; undefined2 uVar3; cVar1 = '\x01'; uVar3 = (undefined2)((ulong)param_1 >> 0x10); iVar2 = (int)param_1; if (*(int *)(iVar2 + 2) != -0x284f) { if (*(int *)(iVar2 + 2) != -0x284e) { DAT_1028_071e = 0x67; return; } cVar1 = '\x01'; FUN_1020_05c7(1,0x1028,unaff_BP + 1); } if (cVar1 != '\0') { FUN_1020_05c7(); *(undefined2 *)(iVar2 + 2) = 0xd7b0; } return; } /* ===== 1020:05c7 FUN_1020_05c7 ===== */ void __cdecl16near FUN_1020_05c7(void) { int iVar1; int in_BX; int unaff_DI; iVar1 = (*(code *)*(undefined2 *)(in_BX + unaff_DI))(); if (iVar1 != 0) { DAT_1028_071e = iVar1; } return; } /* ===== 1020:05d8 FUN_1020_05d8 ===== */ undefined2 __stdcall16far FUN_1020_05d8(undefined4 param_1) { code *pcVar1; undefined2 uVar2; int iVar3; undefined2 uVar4; undefined1 in_CF; uVar4 = (undefined2)((ulong)param_1 >> 0x10); iVar3 = (int)param_1; pcVar1 = (code *)swi(0x21); uVar2 = (*pcVar1)(); if ((bool)in_CF) { *(undefined2 *)(iVar3 + 10) = 0; } else { *(undefined2 *)(iVar3 + 10) = uVar2; uVar2 = 0; } *(undefined2 *)(iVar3 + 8) = 0; return uVar2; } /* ===== 1020:0608 FUN_1020_0608 ===== */ int __stdcall16far FUN_1020_0608(undefined4 param_1) { int *piVar1; code *pcVar2; int iVar3; int iVar4; bool bVar5; bVar5 = false; LOCK(); piVar1 = (int *)((int)param_1 + 8); iVar4 = *piVar1; *piVar1 = 0; UNLOCK(); pcVar2 = (code *)swi(0x21); iVar3 = (*pcVar2)(); if ((!bVar5) && (bVar5 = iVar3 != iVar4, iVar3 = 0, bVar5)) { iVar3 = 0x65; } return iVar3; } /* ===== 1020:062d FUN_1020_062d ===== */ undefined2 __stdcall16far FUN_1020_062d(undefined4 param_1) { code *pcVar1; undefined2 uVar2; bool bVar3; bVar3 = false; LOCK(); *(undefined2 *)((int)param_1 + 8) = 0; UNLOCK(); pcVar1 = (code *)swi(0x21); uVar2 = (*pcVar1)(); if (!bVar3) { uVar2 = 0; } return uVar2; } /* ===== 1020:064d FUN_1020_064d ===== */ undefined2 __stdcall16far FUN_1020_064d(uint *param_1) { code *pcVar1; undefined2 uVar2; bool bVar3; bVar3 = *param_1 < 4; if (4 < *param_1) { pcVar1 = (code *)swi(0x21); uVar2 = (*pcVar1)(); if (bVar3) { return uVar2; } } return 0; } /* ===== 1020:0667 FUN_1020_0667 ===== */ void __stdcall16far FUN_1020_0667(byte *param_1,undefined2 *param_2) { byte *pbVar1; byte *pbVar2; int iVar3; uint uVar4; byte *pbVar5; byte *pbVar6; undefined2 uVar7; uVar7 = (undefined2)((ulong)param_2 >> 0x10); pbVar6 = (byte *)((undefined2 *)param_2 + 1); *param_2 = 0; pbVar6[0] = 0xb0; pbVar6[1] = 0xd7; for (iVar3 = 0x16; pbVar6 = pbVar6 + 2, iVar3 != 0; iVar3 = iVar3 + -1) { pbVar6[0] = 0; pbVar6[1] = 0; } uVar4 = 0x4f; pbVar5 = (byte *)param_1 + 1; if (0x4e < *param_1) goto LAB_1020_0697; for (uVar4 = (uint)*param_1; uVar4 != 0; uVar4 = uVar4 - 1) { LAB_1020_0697: pbVar1 = pbVar5; pbVar5 = pbVar5 + 1; if (*pbVar1 == 0) break; pbVar2 = pbVar6; pbVar6 = pbVar6 + 1; *pbVar2 = *pbVar1; } *pbVar6 = 0; Ordinal_5(); return; } /* ===== 1020:06ab FUN_1020_06ab ===== */ void __stdcall16far FUN_1020_06ab(undefined2 param_1,undefined2 *param_2) { code *pcVar1; undefined2 uVar2; undefined2 *puVar3; undefined2 uVar4; bool bVar5; undefined2 in_stack_00000000; uVar4 = (undefined2)((ulong)param_2 >> 0x10); puVar3 = (undefined2 *)param_2; if (puVar3[1] != -0x2850) { if (puVar3[1] != -0x284d) { DAT_1028_071e = 0x66; return; } FUN_1020_072c(puVar3,uVar4); } uVar2 = 0; if (*(char *)(puVar3 + 0x18) != '\0') { bVar5 = false; pcVar1 = (code *)swi(0x21); uVar2 = (*pcVar1)(); if (bVar5) { *(undefined2 *)&DAT_1028_071e = uVar2; return; } } puVar3[1] = 0xd7b3; *param_2 = uVar2; puVar3[2] = param_1; return; } /* ===== 1020:0710 runtime_1020_0710 ===== */ void __stdcall16far runtime_1020_0710(void) { code *pcVar1; undefined2 uVar2; bool bVar3; undefined1 in_ZF; FUN_1020_0751(); if ((bool)in_ZF) { bVar3 = false; pcVar1 = (code *)swi(0x21); uVar2 = (*pcVar1)(); if (bVar3) { DAT_1028_071e = uVar2; } } return; } /* ===== 1020:072c FUN_1020_072c ===== */ void __stdcall16far FUN_1020_072c(uint *param_1) { code *pcVar1; undefined2 uVar2; bool bVar3; undefined1 in_ZF; FUN_1020_0751(); if ((bool)in_ZF) { bVar3 = *param_1 < 4; if (4 < *param_1) { pcVar1 = (code *)swi(0x21); uVar2 = (*pcVar1)(); if (bVar3) { DAT_1028_071e = uVar2; } } ((uint *)param_1)[1] = 0xd7b0; } return; } /* ===== 1020:0751 FUN_1020_0751 ===== */ void __cdecl16near FUN_1020_0751(void) { int unaff_DI; undefined2 unaff_ES; if (*(int *)(unaff_DI + 2) != -0x284d) { DAT_1028_071e = 0x67; } return; } /* ===== 1020:0760 runtime_1020_0760 ===== */ void __stdcall16far runtime_1020_0760(undefined2 param_1,undefined2 param_2,undefined4 param_3) { code *pcVar1; int iVar2; int iVar3; int iVar4; int unaff_BP; undefined1 in_CF; undefined1 in_ZF; undefined2 in_stack_00000000; FUN_1020_0751(); if ((bool)in_ZF) { iVar4 = *(int *)((int)param_3 + 4); pcVar1 = (code *)swi(0x21); iVar2 = (*pcVar1)(0x1028); iVar3 = iVar2; if (((bool)in_CF) || (iVar3 = unaff_BP, iVar2 != iVar4)) { *(int *)&DAT_1028_071e = iVar3; } } return; } /* ===== 1020:0796 runtime_1020_0796 ===== */ void __stdcall16far runtime_1020_0796(uint *param_1,uint param_2,undefined2 param_3,undefined2 param_4, undefined4 param_5) { code *pcVar1; uint uVar2; undefined2 uVar3; undefined2 unaff_BP; undefined2 uVar4; int iVar5; undefined2 uVar6; bool bVar7; undefined1 in_ZF; undefined2 in_stack_00000000; uVar3 = 100; uVar4 = (undefined2)((ulong)param_5 >> 0x10); FUN_1020_0751(); iVar5 = (int)((ulong)param_1 >> 0x10); if ((bool)in_ZF) { uVar2 = 0; uVar6 = 0x1028; if (param_2 != 0) { bVar7 = (int)((ulong)param_2 * (ulong)*(uint *)((int)param_5 + 4) >> 0x10) != 0; pcVar1 = (code *)swi(0x21); uVar2 = (*pcVar1)(0x1028); if (bVar7) { *(uint *)&DAT_1028_071e = uVar2; goto LAB_1020_07ec; } uVar2 = uVar2 / *(uint *)((int)param_5 + 4); uVar3 = unaff_BP; uVar6 = in_stack_00000000; } if (iVar5 == 0 && (uint *)param_1 == (uint *)0x0) { if (uVar2 != param_2) { *(undefined2 *)&DAT_1028_071e = uVar3; } } else { *param_1 = uVar2; } } else { LAB_1020_07ec: if (iVar5 != 0 || (uint *)param_1 != (uint *)0x0) { *param_1 = 0; } } return; } /* ===== 1020:07fe FUN_1020_07fe ===== */ void __stdcall16far FUN_1020_07fe(uint param_1,int param_2,undefined4 param_3) { code *pcVar1; undefined2 uVar2; bool bVar3; undefined1 in_ZF; uVar2 = (undefined2)((ulong)param_3 >> 0x10); FUN_1020_0751(); if ((bool)in_ZF) { bVar3 = CARRY2(param_2 * *(int *)((int)param_3 + 4), (uint)((ulong)param_1 * (ulong)*(uint *)((int)param_3 + 4) >> 0x10)); pcVar1 = (code *)swi(0x21); uVar2 = (*pcVar1)(); if (bVar3) { DAT_1028_071e = uVar2; } } return; } /* ===== 1020:082e FUN_1020_082e ===== */ ushort __stdcall16far FUN_1020_082e(ushort param_1,undefined1 *param_2) { undefined1 *puVar1; int iVar2; undefined1 *in_BX; undefined1 *puVar3; void *pvVar4; puVar3 = (undefined1 *)param_2; pvVar4 = (void *)((ulong)param_2 >> 0x10); if (param_1 == 0) { param_1 = GETMODULEFILENAME(0xff,(void *)CONCAT22(DAT_1028_06fe,pvVar4),0x1028); *param_2 = (char)param_1; } else { iVar2 = FUN_1020_0871(); *param_2 = (char)iVar2; for (; puVar3 = puVar3 + 1, iVar2 != 0; iVar2 = iVar2 + -1) { puVar1 = in_BX; in_BX = in_BX + 1; *puVar3 = *puVar1; } } return param_1; } /* ===== 1020:0866 runtime_1020_0866 ===== */ int __cdecl16far runtime_1020_0866(void) { int iVar1; iVar1 = 0; FUN_1020_0871(0x1028); return -iVar1; } /* ===== 1020:0871 FUN_1020_0871 ===== */ void __cdecl16near FUN_1020_0871(void) { byte *pbVar1; int in_CX; byte *pbVar2; byte *pbVar3; undefined2 uVar4; uVar4 = (undefined2)((ulong)DAT_1028_0702 >> 0x10); pbVar3 = (byte *)DAT_1028_0702; LAB_1020_0876: do { pbVar2 = pbVar3; pbVar1 = pbVar2; if (*pbVar2 != 0) { pbVar3 = pbVar2 + 1; if (*pbVar2 < 0x21) goto LAB_1020_0876; } do { pbVar3 = pbVar1; pbVar1 = pbVar3 + 1; } while (0x20 < *pbVar3); if ((pbVar3 == pbVar2) || (in_CX = in_CX + -1, in_CX == 0)) { return; } } while( true ); } /* ===== 1020:0891 FUN_1020_0891 ===== */ void __stdcall16far FUN_1020_0891(int param_1,undefined1 *param_2,undefined1 *param_3) { undefined1 *puVar1; undefined1 *puVar2; undefined1 *puVar3; undefined1 *puVar4; puVar3 = (undefined1 *)param_3; puVar4 = (undefined1 *)param_2; for (; param_1 != 0; param_1 = param_1 + -1) { puVar2 = puVar4; puVar4 = puVar4 + 1; puVar1 = puVar3; puVar3 = puVar3 + 1; *puVar2 = *puVar1; } return; } /* ===== 1020:08a9 FUN_1020_08a9 ===== */ int __cdecl16far FUN_1020_08a9(void) { int in_AX; int in_CX; if (1 < DAT_1028_0726) { return in_AX * in_CX; } return in_AX * in_CX; } /* ===== 1020:08e6 FUN_1020_08e6 ===== */ int __cdecl16far FUN_1020_08e6(void) { uint uVar1; uint in_AX; int iVar2; int iVar3; uint in_CX; uint uVar4; uint in_DX; uint in_BX; int iVar5; uint uVar6; uint uVar7; int iVar8; bool bVar9; bool bVar10; if (1 < DAT_1028_0726) { if (CONCAT22(in_BX,in_CX) != 0) { return (int)(CONCAT22(in_DX,in_AX) / CONCAT22(in_BX,in_CX)); } LAB_1020_095f: iVar3 = FUN_1020_005d(); return iVar3; } bVar10 = (int)in_DX < 0; if (bVar10) { bVar9 = in_AX != 0; in_AX = -in_AX; in_DX = -(in_DX + bVar9); } uVar7 = (uint)bVar10; if (in_BX == 0) { if (in_CX == 0) goto LAB_1020_095f; LAB_1020_0967: iVar3 = (int)(((ulong)in_DX % (ulong)in_CX << 0x10 | (ulong)in_AX) / (ulong)in_CX); } else { if ((int)in_BX < 0) { uVar7 = uVar7 + 2; bVar9 = in_CX != 0; in_CX = -in_CX; in_BX = -(in_BX + bVar9); if (in_BX == 0) goto LAB_1020_0967; } iVar5 = 0; iVar3 = 0; iVar8 = 0x10; do { iVar2 = iVar3 * 2; bVar9 = (int)in_AX < 0; in_AX = in_AX << 1 | (uint)(iVar3 < 0); uVar4 = in_DX << 1 | (uint)bVar9; uVar6 = iVar5 << 1 | (uint)((int)in_DX < 0); in_DX = uVar4 - in_CX; uVar4 = (uint)(uVar4 < in_CX); uVar1 = uVar6 - in_BX; iVar5 = uVar1 - uVar4; iVar3 = iVar2 + 1; if (uVar6 < in_BX || uVar1 < uVar4) { bVar9 = CARRY2(in_DX,in_CX); in_DX = in_DX + in_CX; iVar5 = iVar5 + in_BX + (uint)bVar9; iVar3 = iVar2; } iVar8 = iVar8 + -1; } while (iVar8 != 0); } uVar7 = uVar7 >> 1; if (bVar10) { uVar7 = uVar7 + 1; } if (uVar7 == 1) { iVar3 = -iVar3; } return iVar3; } /* ===== 1020:098c runtime_1020_098c ===== */ uint __cdecl16far runtime_1020_098c(void) { ulong uVar1; uint in_AX; uint in_CX; uint uVar2; ulong in_EDX; if (DAT_1028_0726 < 2) { for (uVar2 = in_CX & 0x1f; uVar2 != 0; uVar2 = uVar2 - 1) { uVar1 = in_EDX & 1; in_EDX = in_EDX >> 1 & 0x7fff; in_AX = in_AX >> 1 | (uint)(uVar1 != 0) << 0xf; } return in_AX; } return (uint)(CONCAT22((int)in_EDX,in_AX) >> ((byte)in_CX & 0x1f)); } /* ===== 1020:09af runtime_1020_09af ===== */ int __cdecl16far runtime_1020_09af(void) { int in_AX; uint in_CX; uint uVar1; if (DAT_1028_0726 < 2) { for (uVar1 = in_CX & 0x1f; uVar1 != 0; uVar1 = uVar1 - 1) { in_AX = in_AX << 1; } return in_AX; } return in_AX << ((byte)in_CX & 0x1f); } /* ===== 1020:09d2 runtime_1020_09d2 ===== */ void __stdcall16far runtime_1020_09d2(byte *param_1,byte *param_2) { byte bVar1; uint uVar2; byte *pbVar3; byte *pbVar4; pbVar4 = (byte *)param_2; pbVar3 = (byte *)param_1; bVar1 = *param_1; *param_2 = bVar1; uVar2 = (uint)bVar1; while( true ) { pbVar4 = pbVar4 + 1; pbVar3 = pbVar3 + 1; if (uVar2 == 0) break; uVar2 = uVar2 - 1; *pbVar4 = *pbVar3; } return; } /* ===== 1020:09ec FUN_1020_09ec ===== */ void __stdcall16far FUN_1020_09ec(byte param_1,byte *param_2,byte *param_3) { byte bVar1; uint uVar2; byte *pbVar3; byte *pbVar4; pbVar3 = (byte *)param_3; pbVar4 = (byte *)param_2; bVar1 = *param_3; if (param_1 < *param_3) { bVar1 = param_1; } *param_2 = bVar1; uVar2 = (uint)bVar1; while( true ) { pbVar4 = pbVar4 + 1; pbVar3 = pbVar3 + 1; if (uVar2 == 0) break; uVar2 = uVar2 - 1; *pbVar4 = *pbVar3; } return; } /* ===== 1020:0a10 FUN_1020_0a10 ===== */ void __stdcall16far FUN_1020_0a10(uint param_1,uint param_2,byte *param_3,byte *param_4) { byte *pbVar1; uint uVar2; byte *pbVar3; byte *pbVar4; pbVar4 = (byte *)param_4; if ((int)param_2 < 1) { param_2 = 1; } pbVar3 = (byte *)param_3 + param_2; if (*param_3 < param_2) { uVar2 = 0; } else { uVar2 = (*param_3 - param_2) + 1; if ((int)param_1 < 0) { param_1 = 0; } if (param_1 < uVar2) { uVar2 = param_1; } } *param_4 = (byte)uVar2; for (; pbVar4 = pbVar4 + 1, uVar2 != 0; uVar2 = uVar2 - 1) { pbVar1 = pbVar3; pbVar3 = pbVar3 + 1; *pbVar4 = *pbVar1; } return; } /* ===== 1020:0a51 FUN_1020_0a51 ===== */ void __stdcall16far FUN_1020_0a51(byte *param_1,byte *param_2) { byte bVar1; byte bVar2; byte bVar3; uint uVar4; byte *pbVar5; byte *pbVar6; pbVar5 = (byte *)param_1; bVar2 = *param_2; bVar3 = *param_1; bVar1 = *param_2; *param_2 = *param_2 + bVar3; if (CARRY1(bVar1,bVar3)) { *param_2 = 0xff; bVar3 = ~bVar2; } pbVar6 = (byte *)param_2 + bVar2; uVar4 = (uint)bVar3; while( true ) { pbVar6 = pbVar6 + 1; pbVar5 = pbVar5 + 1; if (uVar4 == 0) break; uVar4 = uVar4 - 1; *pbVar6 = *pbVar5; } return; } /* ===== 1020:0a7d FUN_1020_0a7d ===== */ byte * __stdcall16far FUN_1020_0a7d(byte *param_1,byte *param_2) { byte *pbVar1; int iVar2; int iVar3; uint uVar4; byte *pbVar5; byte *pbVar6; byte *pbVar7; undefined2 uVar8; undefined2 uVar9; bool bVar10; uVar9 = (undefined2)((ulong)param_2 >> 0x10); if (*param_2 != 0) { uVar4 = (uint)*param_2; uVar8 = (undefined2)((ulong)param_1 >> 0x10); if (uVar4 <= *param_1) { iVar2 = (*param_1 - uVar4) + 1; pbVar7 = (byte *)param_1 + 1; pbVar6 = pbVar7; do { pbVar5 = (byte *)param_2 + 1; bVar10 = pbVar6 == (byte *)0x0; do { if (iVar2 == 0) break; iVar2 = iVar2 + -1; pbVar1 = pbVar7; pbVar7 = pbVar7 + 1; bVar10 = *pbVar5 == *pbVar1; } while (!bVar10); if (!bVar10) { return (byte *)0x0; } iVar3 = uVar4 - 1; bVar10 = iVar3 == 0; pbVar6 = pbVar7; do { pbVar5 = pbVar5 + 1; if (iVar3 == 0) break; iVar3 = iVar3 + -1; pbVar1 = pbVar6; pbVar6 = pbVar6 + 1; bVar10 = *pbVar5 == *pbVar1; } while (bVar10); if (bVar10) { return pbVar7 + (-1 - (int)(byte *)param_1); } pbVar6 = (byte *)param_2 + 1; } while( true ); } } return (byte *)0x0; } /* ===== 1020:0ac3 FUN_1020_0ac3 ===== */ void __stdcall16far FUN_1020_0ac3(byte *param_1,byte *param_2) { byte bVar1; uint uVar2; byte *pbVar3; byte *pbVar4; pbVar3 = (byte *)param_2; pbVar4 = (byte *)param_1; bVar1 = *param_2; if (*param_1 < *param_2) { bVar1 = *param_1; } if (bVar1 != 0) { uVar2 = (uint)bVar1; do { pbVar4 = pbVar4 + 1; pbVar3 = pbVar3 + 1; if (uVar2 == 0) { return; } uVar2 = uVar2 - 1; } while (*pbVar3 == *pbVar4); } return; } /* ===== 1020:0aee runtime_1020_0aee ===== */ void __stdcall16far runtime_1020_0aee(undefined1 param_1,undefined1 *param_2) { *param_2 = 1; ((undefined1 *)param_2)[1] = param_1; return; } /* ===== 1020:0b00 FUN_1020_0b00 ===== */ void __stdcall16far FUN_1020_0b00(int param_1,undefined1 *param_2,undefined1 *param_3) { undefined1 *puVar1; undefined1 *puVar2; undefined1 *puVar3; puVar3 = (undefined1 *)param_3; puVar2 = (undefined1 *)param_2; *param_3 = (char)param_1; for (; puVar3 = puVar3 + 1, param_1 != 0; param_1 = param_1 + -1) { puVar1 = puVar2; puVar2 = puVar2 + 1; *puVar3 = *puVar1; } return; } /* ===== 1020:0b1b FUN_1020_0b1b ===== */ void __stdcall16far FUN_1020_0b1b(int param_1,undefined2 param_2,undefined4 param_3,undefined4 param_4) { undefined2 uVar1; undefined2 uVar2; undefined2 unaff_SS; undefined1 *puVar3; undefined1 *puVar4; undefined2 uVar5; undefined1 local_202 [256]; undefined1 local_102 [256]; if (param_1 < 1) { param_1 = 1; } puVar4 = local_102; uVar2 = (undefined2)((ulong)param_3 >> 0x10); uVar1 = (undefined2)param_3; uVar5 = unaff_SS; FUN_1020_0a10(param_1 + -1,1,uVar1,uVar2); FUN_1020_0a51((int)param_4,(int)((ulong)param_4 >> 0x10)); puVar3 = local_202; FUN_1020_0a10(0xff,param_1,uVar1,uVar2); FUN_1020_0a51(puVar3,unaff_SS); FUN_1020_09ec(param_2,uVar1,uVar2,puVar4,uVar5); return; } /* ===== 1020:0b7a FUN_1020_0b7a ===== */ void __stdcall16far FUN_1020_0b7a(int param_1,int param_2,undefined4 param_3) { undefined2 uVar1; undefined2 uVar2; undefined2 unaff_SS; undefined1 *puVar3; undefined1 *puVar4; undefined2 uVar5; undefined1 local_202 [256]; undefined1 local_102 [256]; if (((0 < param_1) && (0 < param_2)) && (param_2 < 0x100)) { if (0xff < param_1) { param_1 = 0xff; } puVar4 = local_102; uVar2 = (undefined2)((ulong)param_3 >> 0x10); uVar1 = (undefined2)param_3; uVar5 = unaff_SS; FUN_1020_0a10(param_2 + -1,1,uVar1,uVar2); puVar3 = local_202; FUN_1020_0a10(0xff,param_2 + param_1,uVar1,uVar2); FUN_1020_0a51(puVar3,unaff_SS); FUN_1020_09ec(0xff,uVar1,uVar2,puVar4,uVar5); } return; } /* ===== 1020:0be9 FUN_1020_0be9 ===== */ int __stdcall16far FUN_1020_0be9(int *param_1) { code *pcVar1; int iVar2; int iVar3; uint extraout_DX; int iVar4; int *piVar5; undefined2 uVar6; bool bVar7; uVar6 = (undefined2)((ulong)param_1 >> 0x10); piVar5 = (int *)param_1; *param_1 = 0; if (piVar5[1] != -0x284f) { *param_1 = *param_1 + 1; } bVar7 = false; if ((char)piVar5[0x18] != '\0') { pcVar1 = (code *)swi(0x21); iVar2 = (*pcVar1)(); if (bVar7) { return iVar2; } *param_1 = iVar2; } iVar2 = 0x5d8; iVar3 = 0; iVar4 = 0; if (piVar5[1] != -0x284f) { pcVar1 = (code *)swi(0x21); (*pcVar1)(); iVar2 = 0x62d; iVar3 = 0x62d; iVar4 = 0x1020; if ((extraout_DX & 0x80) == 0) { if (piVar5[1] == -0x284d) { FUN_1020_0c76(); } iVar2 = 0x608; iVar3 = 0; iVar4 = 0; } piVar5[1] = -0x284e; } piVar5[10] = iVar2; piVar5[0xb] = 0x1020; piVar5[0xc] = iVar3; piVar5[0xd] = iVar4; piVar5[0xe] = 0x64d; piVar5[0xf] = 0x1020; return 0; } /* ===== 1020:0c76 FUN_1020_0c76 ===== */ void __cdecl16near FUN_1020_0c76(void) { bool bVar1; code *pcVar2; int iVar3; int iVar4; int unaff_DI; undefined1 uVar5; undefined4 uVar6; pcVar2 = (code *)swi(0x21); uVar6 = (*pcVar2)(); bVar1 = (uint)((ulong)uVar6 >> 0x10) < (uint)((uint)uVar6 < 0x80); uVar5 = !bVar1 && bVar1; pcVar2 = (code *)swi(0x21); (*pcVar2)(); pcVar2 = (code *)swi(0x21); iVar3 = (*pcVar2)(); if ((bool)uVar5) { iVar3 = 0; } iVar4 = 0; while( true ) { if (iVar4 == iVar3) { return; } if (*(char *)(iVar4 + unaff_DI + 0x80) == '\x1a') break; iVar4 = iVar4 + 1; } pcVar2 = (code *)swi(0x21); (*pcVar2)(); pcVar2 = (code *)swi(0x21); (*pcVar2)(); return; } /* ===== 1020:0cd0 FUN_1020_0cd0 ===== */ undefined4 FUN_1020_0cd0(void) { uint uVar1; byte bVar2; uint in_AX; uint uVar3; uint uVar4; char cVar5; uint in_CX; uint uVar6; uint in_DX; uint uVar7; uint in_BX; uint uVar8; uint uVar9; uint unaff_SI; uint unaff_DI; uint uVar10; uint uVar11; bool bVar12; bool bVar13; undefined4 uVar14; uVar10 = unaff_DI ^ 0x8000; if ((byte)in_CX != 0) { if ((byte)in_AX == 0) { LAB_1020_0d54: return CONCAT22(uVar10,in_CX); } uVar4 = in_AX; uVar7 = in_DX; uVar8 = in_BX; if ((byte)in_CX < (byte)in_AX) { uVar4 = in_CX; in_CX = in_AX; uVar7 = uVar10; uVar8 = unaff_SI; unaff_SI = in_BX; uVar10 = in_DX; } bVar2 = -((char)uVar4 - (char)in_CX); if (0x28 < bVar2) goto LAB_1020_0d54; uVar3 = CONCAT11((char)(uVar7 >> 8),(char)in_CX) & 0x80ff; uVar4 = uVar4 & 0xff00; uVar7 = uVar7 | 0x8000; uVar11 = uVar10 | 0x8000; for (; 7 < bVar2; bVar2 = bVar2 - 8) { uVar4 = CONCAT11((char)uVar8,(char)(uVar4 >> 8)); uVar8 = CONCAT11((char)uVar7,(char)(uVar8 >> 8)); uVar7 = uVar7 >> 8; } uVar6 = CONCAT11((char)(in_CX >> 8),bVar2); while (bVar2 != 0) { uVar1 = uVar7 & 1; uVar7 = uVar7 >> 1; uVar9 = uVar8 & 1; uVar8 = uVar8 >> 1 | (uint)(uVar1 != 0) << 0xf; uVar4 = uVar4 >> 1 | (uint)(uVar9 != 0) << 0xf; bVar2 = (char)uVar6 - 1; uVar6 = CONCAT11((char)(uVar6 >> 8),bVar2); } if ((int)(uVar3 ^ uVar10) < 0) { in_AX = uVar4 - uVar6; uVar9 = (uVar8 - unaff_SI) - (uint)(uVar4 < uVar6); uVar10 = (uint)(uVar8 < unaff_SI || uVar8 - unaff_SI < (uint)(uVar4 < uVar6)); in_DX = (uVar7 - uVar11) - uVar10; if (uVar7 < uVar11 || uVar7 - uVar11 < uVar10) { uVar10 = ~uVar9; bVar12 = in_AX == 0; in_AX = -in_AX; uVar9 = uVar10 + bVar12; in_DX = ~in_DX + (uint)CARRY2(uVar10,(uint)bVar12); uVar3 = uVar3 ^ 0x8000; } if ((in_DX == 0 && uVar9 == 0) && in_AX == 0) goto LAB_1020_0d53; while (-1 < (int)in_DX) { bVar12 = (int)in_AX < 0; in_AX = in_AX << 1; bVar13 = (int)uVar9 < 0; uVar9 = uVar9 << 1 | (uint)bVar12; in_DX = in_DX << 1 | (uint)bVar13; cVar5 = (char)uVar3 + -1; uVar3 = CONCAT11((char)(uVar3 >> 8),cVar5); if (cVar5 == '\0') { uVar14 = FUN_1020_0e93(); return uVar14; } } } else { in_AX = uVar4 + uVar6; uVar9 = uVar8 + unaff_SI + (uint)CARRY2(uVar4,uVar6); uVar10 = (uint)(CARRY2(uVar8,unaff_SI) || CARRY2(uVar8 + unaff_SI,(uint)CARRY2(uVar4,uVar6))); uVar4 = uVar7 + uVar11; in_DX = uVar4 + uVar10; if (CARRY2(uVar7,uVar11) || CARRY2(uVar4,uVar10)) { uVar8 = in_DX & 1; in_DX = in_DX >> 1 | (uint)(CARRY2(uVar7,uVar11) || CARRY2(uVar4,uVar10)) << 0xf; uVar10 = uVar9 & 1; uVar9 = uVar9 >> 1 | (uint)(uVar8 != 0) << 0xf; in_AX = in_AX >> 1 | (uint)(uVar10 != 0) << 0xf; cVar5 = (char)uVar3 + '\x01'; uVar3 = CONCAT11((char)(uVar3 >> 8),cVar5); if (cVar5 == '\0') goto LAB_1020_0d61; } } bVar12 = 0xff7f < in_AX; in_AX = in_AX + 0x80; uVar10 = (uint)CARRY2(uVar9,(uint)bVar12); bVar12 = CARRY2(in_DX,uVar10); in_DX = in_DX + uVar10; if (bVar12) { in_DX = in_DX >> 1 | 0x8000; cVar5 = (char)uVar3 + '\x01'; uVar3 = CONCAT11((char)(uVar3 >> 8),cVar5); if (cVar5 == '\0') { LAB_1020_0d61: return CONCAT22(in_DX,in_AX); } } in_AX = CONCAT11((char)(in_AX >> 8),(char)uVar3); in_DX = CONCAT11((byte)((in_DX & 0x7fff) >> 8) | (byte)(uVar3 >> 8),(char)(in_DX & 0x7fff)); } LAB_1020_0d53: return CONCAT22(in_DX,in_AX); } /* ===== 1020:0cd4 FUN_1020_0cd4 ===== */ undefined4 __cdecl16near FUN_1020_0cd4(void) { uint uVar1; byte bVar2; uint in_AX; uint uVar3; uint uVar4; char cVar5; uint in_CX; uint uVar6; uint in_DX; uint uVar7; uint in_BX; uint uVar8; uint uVar9; uint unaff_SI; uint unaff_DI; uint uVar10; bool bVar11; bool bVar12; undefined4 uVar13; if ((byte)in_CX != 0) { if ((byte)in_AX == 0) { LAB_1020_0d54: return CONCAT22(unaff_DI,in_CX); } uVar4 = in_AX; uVar7 = in_DX; uVar8 = in_BX; if ((byte)in_CX < (byte)in_AX) { uVar4 = in_CX; in_CX = in_AX; uVar7 = unaff_DI; uVar8 = unaff_SI; unaff_SI = in_BX; unaff_DI = in_DX; } bVar2 = -((char)uVar4 - (char)in_CX); if (0x28 < bVar2) goto LAB_1020_0d54; uVar3 = CONCAT11((char)(uVar7 >> 8),(char)in_CX) & 0x80ff; uVar4 = uVar4 & 0xff00; uVar7 = uVar7 | 0x8000; uVar10 = unaff_DI | 0x8000; for (; 7 < bVar2; bVar2 = bVar2 - 8) { uVar4 = CONCAT11((char)uVar8,(char)(uVar4 >> 8)); uVar8 = CONCAT11((char)uVar7,(char)(uVar8 >> 8)); uVar7 = uVar7 >> 8; } uVar6 = CONCAT11((char)(in_CX >> 8),bVar2); while (bVar2 != 0) { uVar1 = uVar7 & 1; uVar7 = uVar7 >> 1; uVar9 = uVar8 & 1; uVar8 = uVar8 >> 1 | (uint)(uVar1 != 0) << 0xf; uVar4 = uVar4 >> 1 | (uint)(uVar9 != 0) << 0xf; bVar2 = (char)uVar6 - 1; uVar6 = CONCAT11((char)(uVar6 >> 8),bVar2); } if ((int)(uVar3 ^ unaff_DI) < 0) { in_AX = uVar4 - uVar6; uVar9 = (uVar8 - unaff_SI) - (uint)(uVar4 < uVar6); uVar4 = (uint)(uVar8 < unaff_SI || uVar8 - unaff_SI < (uint)(uVar4 < uVar6)); in_DX = (uVar7 - uVar10) - uVar4; if (uVar7 < uVar10 || uVar7 - uVar10 < uVar4) { uVar7 = ~uVar9; bVar11 = in_AX == 0; in_AX = -in_AX; uVar9 = uVar7 + bVar11; in_DX = ~in_DX + (uint)CARRY2(uVar7,(uint)bVar11); uVar3 = uVar3 ^ 0x8000; } if ((in_DX == 0 && uVar9 == 0) && in_AX == 0) goto LAB_1020_0d53; while (-1 < (int)in_DX) { bVar11 = (int)in_AX < 0; in_AX = in_AX << 1; bVar12 = (int)uVar9 < 0; uVar9 = uVar9 << 1 | (uint)bVar11; in_DX = in_DX << 1 | (uint)bVar12; cVar5 = (char)uVar3 + -1; uVar3 = CONCAT11((char)(uVar3 >> 8),cVar5); if (cVar5 == '\0') { uVar13 = FUN_1020_0e93(); return uVar13; } } } else { in_AX = uVar4 + uVar6; uVar9 = uVar8 + unaff_SI + (uint)CARRY2(uVar4,uVar6); uVar4 = (uint)(CARRY2(uVar8,unaff_SI) || CARRY2(uVar8 + unaff_SI,(uint)CARRY2(uVar4,uVar6))); uVar8 = uVar7 + uVar10; in_DX = uVar8 + uVar4; if (CARRY2(uVar7,uVar10) || CARRY2(uVar8,uVar4)) { uVar6 = in_DX & 1; in_DX = in_DX >> 1 | (uint)(CARRY2(uVar7,uVar10) || CARRY2(uVar8,uVar4)) << 0xf; uVar7 = uVar9 & 1; uVar9 = uVar9 >> 1 | (uint)(uVar6 != 0) << 0xf; in_AX = in_AX >> 1 | (uint)(uVar7 != 0) << 0xf; cVar5 = (char)uVar3 + '\x01'; uVar3 = CONCAT11((char)(uVar3 >> 8),cVar5); if (cVar5 == '\0') goto LAB_1020_0d61; } } bVar11 = 0xff7f < in_AX; in_AX = in_AX + 0x80; uVar7 = (uint)CARRY2(uVar9,(uint)bVar11); bVar11 = CARRY2(in_DX,uVar7); in_DX = in_DX + uVar7; if (bVar11) { in_DX = in_DX >> 1 | 0x8000; cVar5 = (char)uVar3 + '\x01'; uVar3 = CONCAT11((char)(uVar3 >> 8),cVar5); if (cVar5 == '\0') { LAB_1020_0d61: return CONCAT22(in_DX,in_AX); } } in_AX = CONCAT11((char)(in_AX >> 8),(char)uVar3); in_DX = CONCAT11((byte)((in_DX & 0x7fff) >> 8) | (byte)(uVar3 >> 8),(char)(in_DX & 0x7fff)); } LAB_1020_0d53: return CONCAT22(in_DX,in_AX); } /* ===== 1020:0d97 FUN_1020_0d97 ===== */ undefined4 __cdecl16near FUN_1020_0d97(void) { long lVar1; long lVar2; ulong uVar3; long lVar4; byte bVar5; undefined2 in_AX; byte bVar7; uint uVar6; byte bVar8; uint in_CX; int iVar9; uint in_DX; uint uVar10; uint uVar11; uint uVar12; uint uVar13; uint uVar14; uint in_BX; uint uVar15; uint uVar16; uint uVar17; uint uVar18; uint uVar19; uint uVar20; uint unaff_SI; uint unaff_DI; uint uVar21; uint uVar22; uint uVar23; bool bVar24; undefined4 uVar25; bVar5 = (byte)in_AX; bVar7 = (byte)((uint)in_AX >> 8); if ((bVar5 == 0) || (bVar8 = (byte)in_CX, bVar8 == 0)) { uVar25 = FUN_1020_0e93(); return uVar25; } iVar9 = CONCAT11((((byte)(in_DX >> 8) ^ (byte)(unaff_DI >> 8)) & 0x80) + CARRY1(bVar5,bVar8), bVar5 + bVar8); bVar5 = (byte)(in_CX >> 8); uVar20 = in_DX | 0x8000; uVar21 = unaff_DI | 0x8000; if (((bVar7 == 0) && (uVar6 = in_CX & 0xff00, uVar14 = uVar20, uVar10 = unaff_SI, uVar22 = uVar21, in_BX == 0)) || ((bVar5 == 0 && (uVar6 = (uint)bVar7 << 8, uVar14 = uVar21, uVar10 = in_BX, uVar22 = uVar20, unaff_SI == 0)))) { uVar3 = (ulong)uVar10 * (ulong)uVar14 + ((ulong)uVar6 * (ulong)uVar14 >> 0x10); uVar15 = (uint)uVar3; lVar1 = (ulong)uVar22 * (ulong)uVar14 + (uVar3 >> 0x10); } else { lVar1 = (ulong)bVar7 * 0x100 * (ulong)unaff_SI; lVar4 = lVar1 + (ulong)((uint)bVar7 * (uint)bVar5); uVar22 = (uint)((ulong)lVar4 >> 0x10); lVar2 = (ulong)in_BX * (ulong)bVar5 * 0x100; uVar10 = (uint)((ulong)lVar2 >> 0x10); uVar6 = (uint)CARRY2((uint)lVar4,(uint)lVar2); uVar14 = uVar22 + uVar10; uVar15 = uVar14 + uVar6; uVar16 = (uint)CARRY2((uint)((ulong)lVar1 >> 0x10), (uint)CARRY2((uint)bVar7 * (uint)bVar5,(uint)lVar1)) + (uint)(CARRY2(uVar22,uVar10) || CARRY2(uVar14,uVar6)); lVar1 = (ulong)bVar7 * 0x100 * (ulong)uVar21; uVar11 = (uint)((ulong)lVar1 >> 0x10); uVar6 = (uint)lVar1; uVar23 = uVar15 + uVar6; uVar6 = (uint)CARRY2(uVar15,uVar6); uVar22 = uVar16 + uVar11; uVar17 = uVar22 + uVar6; uVar12 = (uint)((ulong)in_BX * (ulong)unaff_SI >> 0x10); uVar10 = (uint)((ulong)in_BX * (ulong)unaff_SI); uVar14 = (uint)CARRY2(uVar23,uVar10); uVar15 = uVar17 + uVar12; uVar18 = uVar15 + uVar14; lVar1 = (ulong)uVar20 * (ulong)bVar5 * 0x100; uVar13 = (uint)((ulong)lVar1 >> 0x10); uVar10 = (uint)CARRY2(uVar23 + uVar10,(uint)lVar1); uVar23 = uVar18 + uVar13; uVar19 = uVar23 + uVar10; uVar12 = (uint)(CARRY2(uVar16,uVar11) || CARRY2(uVar22,uVar6)) + (uint)(CARRY2(uVar17,uVar12) || CARRY2(uVar15,uVar14)) + (uint)(CARRY2(uVar18,uVar13) || CARRY2(uVar23,uVar10)); uVar23 = (uint)((ulong)in_BX * (ulong)uVar21 >> 0x10); uVar6 = (uint)((ulong)in_BX * (ulong)uVar21); uVar22 = uVar19 + uVar6; uVar6 = (uint)CARRY2(uVar19,uVar6); uVar10 = uVar12 + uVar23; uVar13 = uVar10 + uVar6; uVar11 = (uint)((ulong)uVar20 * (ulong)unaff_SI >> 0x10); uVar14 = (uint)((ulong)uVar20 * (ulong)unaff_SI); uVar15 = uVar22 + uVar14; uVar14 = (uint)CARRY2(uVar22,uVar14); uVar22 = uVar13 + uVar11; lVar1 = (ulong)uVar20 * (ulong)uVar21 + CONCAT22((uint)(CARRY2(uVar12,uVar23) || CARRY2(uVar10,uVar6)) + (uint)(CARRY2(uVar13,uVar11) || CARRY2(uVar22,uVar14)),uVar22 + uVar14); } if (-1 < lVar1) { bVar24 = (int)uVar15 < 0; uVar15 = uVar15 << 1; lVar1 = CONCAT22((int)((ulong)lVar1 >> 0x10) << 1 | (uint)((int)lVar1 < 0), (int)lVar1 << 1 | (uint)bVar24); iVar9 = iVar9 + -1; } uVar6 = (uint)((ulong)lVar1 >> 0x10); uVar21 = iVar9 + 0x7f7f; uVar20 = (uint)CARRY2((uint)lVar1,(uint)(0xff7f < uVar15)); uVar14 = uVar6 + uVar20; if (CARRY2(uVar6,uVar20)) { uVar14 = uVar14 >> 1 | 0x8000; uVar21 = iVar9 + 0x7f80; } if ((uVar21 & 0x4000) != 0) { return 0; } return CONCAT22(CONCAT11((byte)(uVar14 >> 8) ^ (byte)(uVar21 + 1 >> 8),(char)uVar14), CONCAT11((char)(uVar15 + 0x80 >> 8),(char)(uVar21 + 1))); } /* ===== 1020:0e93 FUN_1020_0e93 ===== */ void __cdecl16near FUN_1020_0e93(void) { return; } /* ===== 1020:0e9a FUN_1020_0e9a ===== */ undefined4 __cdecl16near FUN_1020_0e9a(void) { byte bVar1; undefined1 uVar2; char cVar3; undefined2 in_AX; int iVar4; byte bVar5; undefined2 in_CX; byte bVar7; uint uVar6; uint in_DX; char cVar9; uint uVar8; uint in_BX; uint uVar10; uint unaff_BP; uint uVar11; uint unaff_SI; uint unaff_DI; uint uVar12; bool bVar13; bool bVar14; int in_stack_00000000; bVar1 = (byte)in_AX; if (bVar1 == 0) { return 0; } uVar12 = unaff_DI | 0x8000; uVar11 = in_DX | 0x8000; cVar9 = (((byte)(in_DX >> 8) ^ (byte)(unaff_DI >> 8)) & 0x80) - (bVar1 < (byte)in_CX); iVar4 = CONCAT11((char)((uint)in_AX >> 8),2); uVar8 = 1; do { bVar13 = uVar11 < uVar12; bVar7 = (byte)((uint)in_CX >> 8); bVar5 = (byte)((uint)iVar4 >> 8); if ((uVar11 == uVar12) && (bVar13 = in_BX < unaff_SI, in_BX == unaff_SI)) { bVar13 = bVar5 < bVar7; } if (!bVar13) { iVar4 = CONCAT11(bVar5 - bVar7,(char)iVar4); bVar13 = in_BX < unaff_SI; uVar10 = in_BX - unaff_SI; in_BX = uVar10 - (bVar5 < bVar7); uVar10 = (uint)(bVar13 || uVar10 < (bVar5 < bVar7)); bVar13 = uVar11 < uVar12 || uVar11 - uVar12 < uVar10; uVar11 = (uVar11 - uVar12) - uVar10; } while( true ) { bVar14 = (int)uVar8 < 0; uVar8 = uVar8 << 1 | (uint)bVar13; if (bVar14) { cVar3 = (char)iVar4 + -1; iVar4 = CONCAT11((char)((uint)iVar4 >> 8),cVar3); if (cVar3 < '\0') { uVar11 = ~(uVar8 << 6); uVar10 = ~CONCAT11(cVar9,bVar1 - (byte)in_CX); uVar12 = unaff_BP ^ 0xffff; if (-1 < (int)uVar12) { uVar11 = uVar11 << 1; uVar10 = uVar10 << 1 | (uint)(-1 < (int)(uVar8 << 6)); uVar12 = uVar12 << 1 | (uint)(-1 < cVar9); in_stack_00000000 = in_stack_00000000 + -1; } uVar6 = in_stack_00000000 + 0x8080; uVar8 = (uint)CARRY2(uVar10,(uint)(0xff7f < uVar11)); uVar10 = uVar12 + uVar8; if (CARRY2(uVar12,uVar8)) { uVar10 = uVar10 >> 1 | 0x8000; uVar6 = in_stack_00000000 + 0x8081; } if ((uVar6 & 0x4000) != 0) { return 0; } return CONCAT22(CONCAT11((byte)(uVar10 >> 8) ^ (byte)(uVar6 + 1 >> 8),(char)uVar10), CONCAT11((char)(uVar11 + 0x80 >> 8),(char)(uVar6 + 1))); } uVar8 = 1; if (cVar3 == '\0') { uVar8 = 0x40; } } bVar13 = iVar4 < 0; uVar2 = (undefined1)iVar4; bVar5 = (char)((uint)iVar4 >> 8) * '\x02'; iVar4 = CONCAT11(bVar5,uVar2); bVar14 = (int)in_BX < 0; in_BX = in_BX << 1 | (uint)bVar13; bVar13 = -1 < (int)uVar11; uVar11 = uVar11 << 1 | (uint)bVar14; if (bVar13) break; iVar4 = CONCAT11(bVar5 - bVar7,uVar2); bVar13 = in_BX < unaff_SI; uVar10 = in_BX - unaff_SI; in_BX = uVar10 - (bVar5 < bVar7); uVar11 = (uVar11 - uVar12) - (uint)(bVar13 || uVar10 < (bVar5 < bVar7)); bVar13 = false; } } while( true ); } /* ===== 1020:0f11 FUN_1020_0f11 ===== */ void __cdecl16near FUN_1020_0f11(void) { uint in_DX; uint unaff_DI; bool bVar1; if ((int)(in_DX ^ unaff_DI) < 0) { return; } bVar1 = (in_DX & 0x8000) == 0; if ((!bVar1) && (FUN_1020_0f28(), !bVar1)) { return; } return; } /* ===== 1020:0f28 FUN_1020_0f28 ===== */ void __cdecl16near FUN_1020_0f28(void) { return; } /* ===== 1020:0f3b FUN_1020_0f3b ===== */ void __cdecl16near FUN_1020_0f3b(void) { uint uVar1; uint in_AX; uint in_DX; bool bVar2; if (in_AX != 0 || in_DX != 0) { if ((int)in_DX < 0) { bVar2 = in_AX != 0; in_AX = -in_AX; in_DX = -(uint)bVar2 - in_DX; } uVar1 = in_AX; if ((in_DX == 0) && (uVar1 = 0, in_DX = in_AX, (char)(in_AX >> 8) == '\0')) { in_DX = in_AX << 8; } while (-1 < (int)in_DX) { in_DX = in_DX * 2 + (uint)CARRY2(uVar1,uVar1); uVar1 = uVar1 * 2; } } return; } /* ===== 1020:0f77 FUN_1020_0f77 ===== */ void __cdecl16near FUN_1020_0f77(void) { byte in_AL; byte bVar1; bVar1 = -in_AL + 0xa0; if (in_AL < 0xa1) { if (bVar1 < 0x20) { if (0xf < bVar1) { bVar1 = -in_AL + 0x90; } if (7 < bVar1) { bVar1 = bVar1 - 8; } for (; bVar1 != 0; bVar1 = bVar1 - 1) { } } else if (bVar1 != 0x20) { return; } } return; } /* ===== 1020:0fe5 FUN_1020_0fe5 ===== */ void __cdecl16far FUN_1020_0fe5(void) { undefined1 in_CF; FUN_1020_0cd4(); if (!(bool)in_CF) { return; } FUN_1020_005d(); return; } /* ===== 1020:0feb FUN_1020_0feb ===== */ void __cdecl16far FUN_1020_0feb(void) { undefined1 in_CF; FUN_1020_0cd0(); if (!(bool)in_CF) { return; } FUN_1020_005d(); return; } /* ===== 1020:0ff1 FUN_1020_0ff1 ===== */ void FUN_1020_0ff1(void) { undefined1 in_CF; FUN_1020_0d97(); if (!(bool)in_CF) { return; } FUN_1020_005d(); return; } /* ===== 1020:0ff7 FUN_1020_0ff7 ===== */ void __cdecl16far FUN_1020_0ff7(void) { undefined1 in_CF; FUN_1020_0d97(); if (!(bool)in_CF) { return; } FUN_1020_005d(); return; } /* ===== 1020:0ffd FUN_1020_0ffd ===== */ void __cdecl16far FUN_1020_0ffd(void) { char in_CL; bool bVar1; bVar1 = false; if (in_CL == '\0') { FUN_1020_005d(); return; } FUN_1020_0e9a(); if (!bVar1) { return; } FUN_1020_005d(); return; } /* ===== 1020:1007 FUN_1020_1007 ===== */ void __cdecl16far FUN_1020_1007(void) { FUN_1020_0f11(); return; } /* ===== 1020:100b FUN_1020_100b ===== */ void __cdecl16far FUN_1020_100b(void) { FUN_1020_0f3b(); return; } /* ===== 1020:1017 FUN_1020_1017 ===== */ void __cdecl16far FUN_1020_1017(void) { undefined1 in_CF; FUN_1020_0f77(); if (!(bool)in_CF) { return; } FUN_1020_005d(); return; } /* ===== 1020:1031 FUN_1020_1031 ===== */ void __cdecl16near FUN_1020_1031(void) { FUN_1020_0cd4(); return; } /* ===== 1020:103b runtime_1020_103b ===== */ void __cdecl16near runtime_1020_103b(void) { FUN_1020_0cd0(); return; } /* ===== 1020:1045 runtime_1020_1045 ===== */ void __cdecl16near runtime_1020_1045(void) { FUN_1020_0d97(); return; } /* ===== 1020:104f FUN_1020_104f ===== */ void __cdecl16near FUN_1020_104f(void) { FUN_1020_0e9a(); return; } /* ===== 1020:1059 runtime_1020_1059 ===== */ uint __cdecl16far runtime_1020_1059(void) { uint uVar1; uint uVar2; byte bVar3; uint in_AX; uint uVar4; byte bVar5; uint uVar6; undefined1 uVar8; uint uVar7; bVar3 = (byte)in_AX; if (bVar3 < 0xa8) { uVar4 = in_AX & 0xff; bVar5 = bVar3 + 0x80; uVar1 = 0; uVar7 = 0; if (bVar3 < 0x80 || bVar5 == 0) { return 0; } while( true ) { uVar6 = uVar1; uVar8 = (undefined1)(uVar7 >> 8); if (bVar5 < 0x10) break; uVar4 = CONCAT11(uVar8,(char)uVar4); bVar5 = bVar5 - 0x10; uVar1 = 0xffff; uVar7 = uVar6; } if (7 < bVar5) { uVar4 = CONCAT11((char)uVar7,(char)uVar4); uVar7 = CONCAT11((char)uVar6,uVar8); uVar6 = CONCAT11(0xff,(char)(uVar6 >> 8)); bVar5 = bVar5 - 8; } while( true ) { bVar3 = (byte)(uVar4 >> 8); if (bVar5 == 0) break; uVar1 = uVar6 & 1; uVar6 = uVar6 >> 1 | 0x8000; uVar2 = uVar7 & 1; uVar7 = uVar7 >> 1 | (uint)(uVar1 != 0) << 0xf; uVar4 = CONCAT11(bVar3 >> 1 | (uVar2 != 0) << 7,(char)uVar4); bVar5 = bVar5 - 1; } in_AX = CONCAT11(bVar3 & (byte)(in_AX >> 8),(char)uVar4); } return in_AX; } /* ===== 1020:10aa runtime_1020_10aa ===== */ void __cdecl16far runtime_1020_10aa(void) { runtime_1020_1059(); FUN_1020_0cd0(); return; } /* ===== 1020:10be FUN_1020_10be ===== */ uint __cdecl16far FUN_1020_10be(void) { char cVar1; byte bVar2; uint in_AX; uint uVar3; uint in_DX; undefined2 in_BX; undefined2 uVar4; undefined4 uVar5; cVar1 = (char)in_AX; if (cVar1 != '\0') { if ((in_DX & 0x8000) != 0) { uVar3 = FUN_1020_005d(); return uVar3; } do { uVar4 = in_BX; FUN_1020_104f(); uVar5 = FUN_1020_1031(); in_AX = (uint)(byte)((char)uVar5 - 1); bVar2 = FUN_1020_0cd0(in_AX,uVar4,(int)((ulong)uVar5 >> 0x10)); } while ((byte)(((char)(cVar1 + -0x80) >> 1) + 0x6cU) <= bVar2); } return in_AX; } /* ===== 1020:111d runtime_1020_111d ===== */ void __cdecl16far runtime_1020_111d(void) { byte bVar1; undefined2 uVar2; uint extraout_DX; uint uVar3; uint extraout_DX_00; bool bVar4; undefined1 uVar5; bVar1 = FUN_1020_0cd4(); uVar3 = extraout_DX; if (bVar1 != 0) { uVar3 = extraout_DX ^ 0x8000; } if (0x6b < bVar1) { uVar2 = 0x2183; bVar4 = false; FUN_1020_0f11(); if (!bVar4) { FUN_1020_104f(); runtime_1020_10aa(uVar2,0xdaa2,0x490f); runtime_1020_1045(); uVar3 = extraout_DX_00; } uVar5 = 0; if ((uVar3 & 0x8000) != 0) { FUN_1020_1031(); } FUN_1020_0f11(); if (!(bool)uVar5) { runtime_1020_103b(); } bVar1 = FUN_1020_0f11(); if (!(bool)uVar5) { bVar1 = FUN_1020_0cd4(); } if (0x6b < bVar1) { FUN_1020_143c(); } } return; } /* ===== 1020:11bb runtime_1020_11bb ===== */ undefined2 __cdecl16far runtime_1020_11bb(void) { char in_AL; undefined2 uVar1; uint in_DX; undefined2 uVar2; undefined4 uVar3; if ((in_AL != '\0') && ((in_DX & 0x8000) == 0)) { FUN_1020_0d97(in_AL + '\x7f'); uVar1 = 0; uVar3 = FUN_1020_1031(); uVar2 = 0; FUN_1020_0cd4((int)uVar3,uVar1,(int)((ulong)uVar3 >> 0x10)); FUN_1020_0e9a(); FUN_1020_143c(); uVar3 = FUN_1020_0cd4(); FUN_1020_0f3b((int)uVar3,uVar2,(int)((ulong)uVar3 >> 0x10)); FUN_1020_0d97(); uVar1 = FUN_1020_0cd4(); if ((byte)uVar1 < 0x67) { uVar1 = 0; } return uVar1; } uVar1 = FUN_1020_005d(); return uVar1; } /* ===== 1020:1264 runtime_1020_1264 ===== */ char __cdecl16far runtime_1020_1264(void) { byte bVar1; char cVar2; uint uVar3; byte bVar4; uint in_DX; undefined2 in_BX; undefined4 uVar5; undefined2 uVar6; uVar5 = FUN_1020_0e9a(); uVar6 = (undefined2)uVar5; if ((byte)uVar5 < 0x88) { uVar3 = FUN_1020_0f77(uVar6,in_BX,(int)((ulong)uVar5 >> 0x10)); FUN_1020_0f3b(uVar6); FUN_1020_0cd0(); bVar1 = FUN_1020_1455(); bVar4 = (byte)(uVar3 >> 1); if ((uVar3 & 1) != 0) { bVar1 = FUN_1020_0d97(); } cVar2 = bVar1 + bVar4; if (!CARRY1(bVar1,bVar4)) { if ((in_DX & 0x8000) != 0) { cVar2 = FUN_1020_0e9a(); } return cVar2; } } cVar2 = FUN_1020_005d(); return cVar2; } /* ===== 1020:1307 runtime_1020_1307 ===== */ void __cdecl16far runtime_1020_1307(void) { char in_AL; uint uVar1; int iVar2; uint in_DX; undefined2 in_BX; uint uVar3; undefined1 uVar4; undefined4 uVar5; uint in_stack_0000fff8; if (in_AL != '\0') { uVar1 = (uint)((in_DX & 0x8000) != 0); uVar4 = false; FUN_1020_0f11(uVar1); if (!(bool)uVar4) { in_BX = 0; FUN_1020_0e9a(); uVar1 = uVar1 + 2; } FUN_1020_0f11(uVar1); if ((bool)uVar4) { runtime_1020_1436(); } else { uVar1 = 0x13e8; iVar2 = 2; do { uVar3 = uVar1; in_stack_0000fff8 = FUN_1020_0f11(); if ((bool)uVar4) goto LAB_1020_136d; uVar4 = 0xffed < uVar3; uVar1 = uVar3 + 0x12; iVar2 = iVar2 + -1; } while (iVar2 != 0); uVar3 = uVar3 + 0xc; LAB_1020_136d: uVar5 = runtime_1020_103b(uVar3 + 6); FUN_1020_0d97((int)uVar5,in_BX,(int)((ulong)uVar5 >> 0x10)); FUN_1020_0cd4(); FUN_1020_0e9a(); runtime_1020_1436(); FUN_1020_0cd4(); } if ((in_stack_0000fff8 & 2) != 0) { FUN_1020_0cd0(in_stack_0000fff8); } } return; } /* ===== 1020:1436 runtime_1020_1436 ===== */ void runtime_1020_1436(void) { FUN_1020_0d97(0x1418,5); FUN_1020_1455(); FUN_1020_0d97(); return; } /* ===== 1020:143c FUN_1020_143c ===== */ void FUN_1020_143c(void) { FUN_1020_0d97(); FUN_1020_1455(); FUN_1020_0d97(); return; } /* ===== 1020:1455 FUN_1020_1455 ===== */ void __cdecl16near FUN_1020_1455(void) { int in_CX; int unaff_DI; undefined2 uStack_a; uStack_a = in_CX; while( true ) { FUN_1020_0d97(); unaff_DI = unaff_DI + 6; uStack_a = uStack_a + -1; if (uStack_a == 0) break; FUN_1020_0cd4(unaff_DI); } FUN_1020_0cd4(); return; } /* ===== 1020:14a4 FUN_1020_14a4 ===== */ int __stdcall16far FUN_1020_14a4(uint param_1) { long lVar1; ulong uVar2; uVar2 = FUN_1020_1501(); lVar1 = (uVar2 >> 0x10) * (ulong)param_1; return (int)((ulong)lVar1 >> 0x10) + (uint)CARRY2((uint)lVar1,(uint)((uVar2 & 0xffff) * (ulong)param_1 >> 0x10)); } /* ===== 1020:14c1 FUN_1020_14c1 ===== */ char __cdecl16far FUN_1020_14c1(void) { char cVar1; int iVar2; ulong uVar3; uVar3 = FUN_1020_1501(); cVar1 = -0x80; iVar2 = 0x20; do { if ((uVar3 & 0x80000000) != 0) { return cVar1; } uVar3 = CONCAT22((int)(uVar3 >> 0x10) << 1 | (uint)((int)uVar3 < 0),(int)uVar3 << 1); cVar1 = cVar1 + -1; iVar2 = iVar2 + -1; } while (iVar2 != 0); return '\0'; } /* ===== 1020:14de runtime_1020_14de ===== */ /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ void __cdecl16far runtime_1020_14de(void) { FUN_1020_1501(); fscale((longdouble)_DAT_1028_0720 + (longdouble)DAT_1020_14fb,(longdouble)DAT_1020_14ff); return; } /* ===== 1020:1501 FUN_1020_1501 ===== */ void __cdecl16near FUN_1020_1501(void) { uint uVar1; char cVar2; int iVar3; uVar1 = (uint)((ulong)DAT_1028_0720 * (ulong)DAT_1020_1537); cVar2 = (char)(DAT_1028_0720 << 3); iVar3 = (int)((ulong)DAT_1028_0720 * (ulong)DAT_1020_1537 >> 0x10) + CONCAT11((char)((DAT_1028_0720 << 3) >> 8) + cVar2,cVar2) + DAT_1028_0722 * 5; DAT_1028_0720 = uVar1 + 1; DAT_1028_0722 = CONCAT11((char)((uint)iVar3 >> 8) + (char)DAT_1028_0722 * '\x04' + (char)(DAT_1028_0722 << 7) ,(char)iVar3) + (uint)(0xfffe < uVar1); return; } /* ===== 1020:1539 runtime_1020_1539 ===== */ void __cdecl16far runtime_1020_1539(void) { code *pcVar1; undefined2 in_CX; undefined2 extraout_DX; pcVar1 = (code *)swi(0x21); (*pcVar1)(); DAT_1028_0720 = in_CX; DAT_1028_0722 = extraout_DX; return; } /* ===== 1020:1546 FUN_1020_1546 ===== */ void __cdecl16near FUN_1020_1546(void) { ulong uVar1; uint in_AX; byte bVar2; uint in_DX; byte *unaff_DI; undefined2 unaff_ES; char cVar3; if ((int)in_DX < 0) { FUN_1020_1562(); unaff_DI[-1] = 0x2d; return; } do { uVar1 = (ulong)in_DX; in_DX = in_DX / 10; uVar1 = uVar1 % 10 << 0x10 | (ulong)in_AX; in_AX = (uint)(uVar1 / 10); cVar3 = (char)(uVar1 % 10); bVar2 = cVar3 + 0x30; if (0x39 < bVar2) { bVar2 = cVar3 + 0x37; } unaff_DI = unaff_DI + -1; *unaff_DI = bVar2; } while (in_AX != 0 || in_DX != 0); return; } /* ===== 1020:1562 FUN_1020_1562 ===== */ void __cdecl16near FUN_1020_1562(void) { ulong uVar1; uint in_AX; byte bVar2; uint in_BX; uint unaff_SI; byte *unaff_DI; undefined2 unaff_ES; char cVar3; do { uVar1 = (ulong)in_BX; in_BX = in_BX / unaff_SI; uVar1 = uVar1 % (ulong)unaff_SI << 0x10 | (ulong)in_AX; in_AX = (uint)(uVar1 / unaff_SI); cVar3 = (char)(uVar1 % (ulong)unaff_SI); bVar2 = cVar3 + 0x30; if (0x39 < bVar2) { bVar2 = cVar3 + 0x37; } unaff_DI = unaff_DI + -1; *unaff_DI = bVar2; } while (in_AX != 0 || in_BX != 0); return; } /* ===== 1020:1582 FUN_1020_1582 ===== */ undefined4 __cdecl16near FUN_1020_1582(void) { int iVar1; uint uVar2; int iVar3; uint uVar4; int in_CX; uint uVar5; uint uVar6; byte bVar7; byte bVar8; uint uVar9; char cVar10; uint uVar11; byte *unaff_DI; undefined2 unaff_ES; bool bVar12; bool bVar13; iVar1 = 0; uVar5 = 0; uVar11 = 0; if (in_CX == 0) goto LAB_1020_15e7; if (*unaff_DI == 0x2b) { LAB_1020_1597: unaff_DI = unaff_DI + 1; in_CX = in_CX + -1; if (in_CX == 0) goto LAB_1020_15e7; } else if (*unaff_DI == 0x2d) { uVar11 = 0xffff; goto LAB_1020_1597; } if (*unaff_DI != 0x24) { do { uVar9 = (uint)(byte)(*unaff_DI - 0x30); if ((byte)(*unaff_DI - 0x3a) < 0xf6) break; if ((uVar5 & 0xf000) != 0) goto LAB_1020_15e7; uVar2 = iVar1 * 2; uVar6 = uVar5 << 1 | (uint)(iVar1 < 0); iVar3 = iVar1 << 2; uVar4 = iVar1 * 8; uVar5 = iVar1 * 10; iVar1 = uVar5 + uVar9; uVar5 = ((uVar6 << 1 | (uint)((int)uVar2 < 0)) << 1 | (uint)(iVar3 < 0)) + uVar6 + (uint)CARRY2(uVar4,uVar2) + (uint)CARRY2(uVar5,uVar9); unaff_DI = unaff_DI + 1; in_CX = in_CX + -1; } while (in_CX != 0); LAB_1020_15d1: if (iVar1 != 0 || uVar5 != 0) { if ((int)uVar11 < 0) { bVar12 = iVar1 != 0; iVar1 = -iVar1; uVar5 = -(uint)bVar12 - uVar5; } if ((int)(uVar11 ^ uVar5) < 0) goto LAB_1020_15e7; } return CONCAT22(uVar5,iVar1); } iVar3 = in_CX + -1; if (iVar3 != 0) { do { unaff_DI = unaff_DI + 1; bVar7 = *unaff_DI; if (0x60 < bVar7) { bVar7 = bVar7 - 0x20; } bVar8 = bVar7 - 0x30; if ((byte)(bVar7 - 0x3a) < 0xf6) { if ((byte)(bVar7 + 0xb9) < 0xfa) goto LAB_1020_15d1; bVar8 = bVar7 - 0x37; } cVar10 = '\x04'; do { bVar12 = iVar1 < 0; iVar1 = iVar1 << 1; bVar13 = (int)uVar5 < 0; uVar5 = uVar5 << 1 | (uint)bVar12; if (bVar13) goto LAB_1020_15e7; cVar10 = cVar10 + -1; } while (cVar10 != '\0'); iVar1 = CONCAT11((char)((uint)iVar1 >> 8),(byte)iVar1 | bVar8); iVar3 = iVar3 + -1; if (iVar3 == 0) { if ((int)uVar11 < 0) { bVar12 = iVar1 != 0; iVar1 = -iVar1; uVar5 = -(uint)bVar12 - uVar5; } return CONCAT22(uVar5,iVar1); } } while( true ); } LAB_1020_15e7: return CONCAT22(uVar5,iVar1); } /* ===== 1020:1629 FUN_1020_1629 ===== */ void __stdcall16far FUN_1020_1629(int param_1,undefined1 *param_2,int param_3) { undefined1 *puVar1; int in_CX; undefined1 *puVar2; undefined1 *puVar3; undefined2 uVar4; undefined2 unaff_SS; FUN_1020_1546(); uVar4 = (undefined2)((ulong)param_2 >> 0x10); if (param_1 < param_3) { param_3 = param_1; } if (param_1 < in_CX) { in_CX = param_1; } if (param_3 < in_CX) { param_3 = in_CX; } puVar3 = (undefined1 *)param_2 + 1; *param_2 = (char)param_3; param_3 = param_3 - in_CX; puVar2 = &stack0xfffe; if (param_3 != 0) { for (; puVar2 = &stack0xfffe, param_3 != 0; param_3 = param_3 + -1) { puVar1 = puVar3; puVar3 = puVar3 + 1; *puVar1 = 0x20; } } for (; in_CX != 0; in_CX = in_CX + -1) { puVar1 = puVar3; puVar3 = puVar3 + 1; *puVar1 = *puVar2; puVar2 = puVar2 + 1; } return; } /* ===== 1020:1674 FUN_1020_1674 ===== */ undefined2 __stdcall16far FUN_1020_1674(int *param_1,byte *param_2) { undefined2 uVar1; uint uVar2; int iVar3; byte *pbVar4; bool bVar5; bVar5 = false; uVar2 = (uint)*param_2; pbVar4 = (byte *)param_2; while ((pbVar4 = pbVar4 + 1, uVar2 != 0 && (bVar5 = *pbVar4 < 0x20, *pbVar4 == 0x20))) { uVar2 = uVar2 - 1; } uVar1 = FUN_1020_1582(); if ((bVar5) || (iVar3 = 0, uVar2 != 0)) { iVar3 = (int)pbVar4 - (int)(byte *)param_2; uVar1 = 0; } *param_1 = iVar3; return uVar1; } /* ===== 1020:16a5 FUN_1020_16a5 ===== */ void __stdcall16far FUN_1020_16a5(int param_1,undefined1 *param_2,undefined1 *param_3) { undefined1 *puVar1; undefined1 *puVar2; undefined1 *puVar3; undefined1 *puVar4; byte bVar5; puVar3 = (undefined1 *)param_3; puVar4 = (undefined1 *)param_2; bVar5 = 0; if (puVar3 < puVar4) { puVar3 = puVar3 + param_1 + -1; puVar4 = puVar4 + param_1 + -1; bVar5 = 1; } for (; param_1 != 0; param_1 = param_1 + -1) { puVar2 = puVar4; puVar4 = puVar4 + (uint)bVar5 * -2 + 1; puVar1 = puVar3; puVar3 = puVar3 + (uint)bVar5 * -2 + 1; *puVar2 = *puVar1; } return; } /* ===== 1020:16c9 FUN_1020_16c9 ===== */ void __stdcall16far FUN_1020_16c9(undefined1 param_1,int param_2,undefined1 *param_3) { undefined1 *puVar1; undefined1 *puVar2; puVar2 = (undefined1 *)param_3; for (; param_2 != 0; param_2 = param_2 + -1) { puVar1 = puVar2; puVar2 = puVar2 + 1; *puVar1 = param_1; } return; } /* ===== 1020:16dd runtime_1020_16dd ===== */ void __cdecl16far runtime_1020_16dd(void) { FUN_1020_16e6(); return; } /* ===== 1020:16e1 FUN_1020_16e1 ===== */ void FUN_1020_16e1(void) { uint *unaff_DI; FUN_1020_16e6(); /* WARNING: Could not recover jumptable at 0x102016e4. Too many branches */ /* WARNING: Treating indirect jump as call */ (*(code *)(ulong)*unaff_DI)(); return; } /* ===== 1020:16e6 FUN_1020_16e6 ===== */ void __cdecl16near FUN_1020_16e6(void) { int *piVar1; int *piVar2; int iVar3; int in_AX; int iVar4; int *piVar5; int unaff_DI; int *piVar6; bool bVar7; piVar2 = (int *)*(int *)(unaff_DI + 4); piVar5 = piVar2; if (in_AX == piVar2[1]) { return; } do { bVar7 = false; iVar3 = piVar5[3]; piVar6 = piVar5 + 4; iVar4 = iVar3; do { if (iVar4 == 0) break; iVar4 = iVar4 + -1; piVar1 = piVar6; piVar6 = piVar6 + 1; bVar7 = in_AX == *piVar1; } while (!bVar7); if (bVar7) { piVar2[1] = in_AX; piVar2[2] = (int)(piVar6 + ((iVar3 + -1) * 2 - iVar4)); return; } piVar1 = piVar5; piVar5 = (int *)*piVar1; if ((int *)*piVar1 == (int *)0x0) { FUN_1020_005d(); return; } } while( true ); } /* SUMMARY: total=683 internal=391 external=292 succeeded=391 failed=0 */