// Function: FUN_1000_0000 at 1000:0000 undefined2 __cdecl16far FUN_1000_0000(void) { int iVar1; undefined2 uVar2; int iVar3; undefined2 unaff_DS; FUN_1e78_02b8(); iVar1 = FUN_2504_433e(0xa6e); if (iVar1 < 0) { FUN_2504_0cfa(1,1); FUN_1e78_073c(0xa74); FUN_1e78_224a(); } else { iVar1 = FUN_2504_3151(0x12); if (iVar1 < 1) { iVar1 = FUN_2504_3151(0x10); if (0 < iVar1) { FUN_2504_32e4(0xb); FUN_2504_44ac(0xad0); FUN_2504_3a8d(0xaf,0x96); FUN_2504_4bb0(0xae0); FUN_190c_37d0(); } } else { FUN_2504_32e4(0xb); FUN_2504_44ac(0xab6); FUN_2504_3a8d(0xa0,200); FUN_2504_4bb0(0xac6); FUN_190c_37d0(); } FUN_2504_3151(0xffff); } FUN_1534_000c(); iVar1 = 0x1534; do { uVar2 = FUN_1000_29ca(); *(undefined2 *)0x294 = uVar2; if (*(int *)0x294 != 1) { if ((*(int *)0x292 < 10) && (-1 < *(int *)0x292)) { if (*(int *)(*(int *)0xd214 * 0x62 + 0x54d0 + *(int *)0xd282 * 2) == 0) { iVar1 = 0; iVar3 = FUN_1dce_0006(3); if (*(int *)0x290 < iVar3) { *(undefined2 *)(*(int *)0xd214 * 0x62 + 0x54d0 + *(int *)0xd282 * 2) = 1; *(int *)0x290 = *(int *)0x290 + 1; } } if (*(int *)0x50d6 == 1) { *(undefined2 *)0x50d6 = 0; iVar1 = 0x1d; FUN_190c_0092(0xe,2,0x14); } if ((*(int *)0x292 != 7) && (*(int *)0x292 != 5)) { FUN_1832_030e(0); FUN_1832_01bc(); FUN_1832_000a(); iVar1 = 0x1832; FUN_1832_021a(); } if (*(int *)0x50d6 == 1) { *(undefined2 *)0x50d6 = 0; iVar1 = 0x1d; FUN_190c_0092(0xe,2,0x14); } if ((*(int *)0x5334 == 0) && (iVar1 == 0)) { FUN_1000_26d2(); } if (*(int *)0x5334 == 1) { *(undefined2 *)0x296 = 0; } } if ((9 < *(int *)0x292) || (*(int *)0x292 < 1)) { *(undefined2 *)0x292 = 1; } uVar2 = FUN_190c_2558(5,2,*(undefined2 *)0x565c,*(undefined2 *)0x57e6,*(undefined2 *)0x565c,9, 2,0x298,1,*(undefined2 *)0x292,0xaea,0,0); *(undefined2 *)0x292 = uVar2; if (*(int *)0x532e == 1) { FUN_190c_39d4(0x41,0,0); for (iVar1 = 0; iVar1 < 2000; iVar1 = iVar1 + 1) { } FUN_190c_3be8(iVar1); } if (*(int *)0x5334 != 1) { FUN_190c_0092(5,0x1e,0x14,0x4e); } if (*(int *)0x292 == 0) { FUN_1d61_0428(); *(undefined2 *)0x292 = 0; } FUN_190c_0092(0x16,0x14,0x17,0x4d); FUN_1000_3030(0x292); if (*(int *)0x292 == 0x45) { *(undefined2 *)0x292 = 1; } if (*(int *)0x292 == 0x49) { *(undefined2 *)0x292 = 2; } if (*(int *)0x292 == 0x41) { *(undefined2 *)0x292 = 3; } if (*(int *)0x292 == 0x43) { *(undefined2 *)0x292 = 4; } if (*(int *)0x292 == 0x53) { *(undefined2 *)0x292 = 5; } if (*(int *)0x292 == 0x4f) { *(undefined2 *)0x292 = 6; } if (*(int *)0x292 == 0x47) { *(undefined2 *)0x292 = 7; } if (*(int *)0x292 == 0x52) { *(undefined2 *)0x292 = 8; } if (*(int *)0x292 == 0x4d) { *(undefined2 *)0x292 = 9; } uVar2 = FUN_1000_0470(); return uVar2; } iVar1 = 0x1000; } while (*(int *)0x294 == 0); FUN_190c_0092(5,1,0x17,0x4e); if (*(int *)0x294 == 1) { FUN_1646_17c8(); } FUN_2504_3464(0); FUN_190c_01de(0,0,*(undefined2 *)0x565c,0xb80); FUN_190c_01de(3,0,*(undefined2 *)0x57e6,0xb9b); FUN_2504_0cfa(6,1); return 0; } // Function: FUN_1000_00da at 1000:00da undefined2 __cdecl16far FUN_1000_00da(void) { undefined2 uVar1; int unaff_BP; int iVar2; undefined2 unaff_SS; undefined2 unaff_DS; FUN_2504_4bb0(); *(undefined2 *)(unaff_BP + -2) = 1; FUN_190c_37d0(); FUN_2504_3151(); FUN_1534_000c(); do { uVar1 = FUN_1000_29ca(); *(undefined2 *)0x294 = uVar1; if (*(int *)0x294 != 1) { if ((*(int *)0x292 < 10) && (-1 < *(int *)0x292)) { if ((*(int *)(*(int *)0xd214 * 0x62 + 0x54d0 + *(int *)0xd282 * 2) == 0) && (iVar2 = FUN_1dce_0006(), *(int *)0x290 < iVar2)) { *(undefined2 *)(*(int *)0xd214 * 0x62 + 0x54d0 + *(int *)0xd282 * 2) = 1; *(int *)0x290 = *(int *)0x290 + 1; } if (*(int *)0x50d6 == 1) { *(undefined2 *)0x50d6 = 0; FUN_190c_0092(0xe,2); } if ((*(int *)0x292 != 7) && (*(int *)0x292 != 5)) { uVar1 = FUN_1832_030e(); *(undefined2 *)(unaff_BP + -6) = uVar1; FUN_1832_01bc(); FUN_1832_000a(); FUN_1832_021a(); } if (*(int *)0x50d6 == 1) { *(undefined2 *)0x50d6 = 0; FUN_190c_0092(0xe,2); } if ((*(int *)0x5334 == 0) && (*(int *)(unaff_BP + -6) == 0)) { FUN_1000_26d2(); } if (*(int *)0x5334 == 1) { *(undefined2 *)0x296 = 0; } } if ((9 < *(int *)0x292) || (*(int *)0x292 < 1)) { *(undefined2 *)0x292 = 1; } uVar1 = FUN_190c_2558(5,2,*(undefined2 *)0x565c,*(undefined2 *)0x57e6,*(undefined2 *)0x565c,9, 2,0x298,1,*(undefined2 *)0x292,0xaea); *(undefined2 *)0x292 = uVar1; if (*(int *)0x532e == 1) { FUN_190c_39d4(0x41); for (iVar2 = 0; iVar2 < 2000; iVar2 = iVar2 + 1) { } *(int *)(unaff_BP + -4) = iVar2; FUN_190c_3be8(); } if (*(int *)0x5334 != 1) { FUN_190c_0092(5,0x1e); } if (*(int *)0x292 == 0) { FUN_1d61_0428(); *(undefined2 *)0x292 = 0; } FUN_190c_0092(0x16,0x14); FUN_1000_3030(); if (*(int *)0x292 == 0x45) { *(undefined2 *)0x292 = 1; } if (*(int *)0x292 == 0x49) { *(undefined2 *)0x292 = 2; } if (*(int *)0x292 == 0x41) { *(undefined2 *)0x292 = 3; } if (*(int *)0x292 == 0x43) { *(undefined2 *)0x292 = 4; } if (*(int *)0x292 == 0x53) { *(undefined2 *)0x292 = 5; } if (*(int *)0x292 == 0x4f) { *(undefined2 *)0x292 = 6; } if (*(int *)0x292 == 0x47) { *(undefined2 *)0x292 = 7; } if (*(int *)0x292 == 0x52) { *(undefined2 *)0x292 = 8; } if (*(int *)0x292 == 0x4d) { *(undefined2 *)0x292 = 9; } uVar1 = FUN_1000_0470(); return uVar1; } } while (*(int *)0x294 == 0); FUN_190c_0092(5,1); if (*(int *)0x294 == 1) { FUN_1646_17c8(); } FUN_2504_3464(); FUN_190c_01de(0,0); FUN_190c_01de(3,0); FUN_2504_0cfa(); return 0; } // Function: FUN_1000_0310 at 1000:0310 void FUN_1000_0310(void) { undefined2 unaff_DS; *(undefined2 *)0x292 = 4; if (*(int *)0x292 == 0x53) { *(undefined2 *)0x292 = 5; } if (*(int *)0x292 == 0x4f) { *(undefined2 *)0x292 = 6; } if (*(int *)0x292 == 0x47) { *(undefined2 *)0x292 = 7; } if (*(int *)0x292 == 0x52) { *(undefined2 *)0x292 = 8; } if (*(int *)0x292 == 0x4d) { *(undefined2 *)0x292 = 9; } FUN_1000_0470(); return; } // Function: caseD_1 at 1000:0360 void switchD_1000:047a::caseD_1(void) { FUN_1000_0512(); FUN_1000_0491(); return; } // Function: FUN_1000_03fa at 1000:03fa void FUN_1000_03fa(void) { int unaff_BP; int unaff_SI; undefined2 unaff_SS; undefined2 unaff_DS; *(int *)0xd200 = *(int *)0xd200 + (int)*(undefined4 *)(unaff_BP + unaff_SI) + 3; if (*(int *)0x296 < 6) { if (*(int *)0x296 < 4) { FUN_1307_222c(0xb49); } else { FUN_1307_222c(0xb37); } } else { FUN_1307_222c(0xb20); } FUN_1000_0491(); return; } // Function: FUN_1000_043c at 1000:043c void FUN_1000_043c(void) { undefined2 unaff_DS; FUN_1307_222c(0xb52); FUN_1000_20c4(); *(undefined2 *)0x28e = *(undefined2 *)0x50d8; FUN_1000_0491(); return; } // Function: FUN_1000_0470 at 1000:0470 void FUN_1000_0470(void) { undefined2 uVar1; int iVar2; undefined2 in_AX; undefined2 unaff_DS; switch(in_AX) { case 1: FUN_1000_0512(); FUN_1000_0491(); return; case 2: FUN_1307_0004(); FUN_1000_0491(); return; case 3: FUN_1000_10e8(); FUN_1000_0491(); return; case 4: FUN_1832_046c(); FUN_1000_0491(); return; case 5: FUN_1646_0a8e(); FUN_1000_0491(); return; case 6: iVar2 = FUN_1832_021a(0); if (iVar2 < 9) { uVar1 = FUN_1000_0d90(); *(undefined2 *)0x294 = uVar1; } else { FUN_1307_222c(0xaeb); } FUN_1000_0491(); return; case 7: uVar1 = FUN_1d61_000e(); *(undefined2 *)0x294 = uVar1; FUN_1000_0491(); return; case 8: break; case 9: FUN_1dce_0006(0,0); FUN_1000_0491(); return; default: FUN_1000_0491(); return; } if ((*(int *)0x28e != 0) && (*(int *)0xd200 = *(int *)0xd200 + 4, *(int *)0x5334 == 0)) { FUN_1000_26d2(); } if (*(int *)0x5334 == 0) { *(int *)0x296 = *(int *)0x296 + 1; *(int *)0xa018 = *(int *)0xa018 + *(int *)0x296; iVar2 = FUN_190c_23b0(*(int *)0x296 + 1); *(int *)0xd200 = *(int *)0xd200 + iVar2 + 3; if (*(int *)0x296 < 6) { if (*(int *)0x296 < 4) { FUN_1307_222c(0xb49); } else { FUN_1307_222c(0xb37); } } else { FUN_1307_222c(0xb20); } FUN_1000_0491(); return; } FUN_1000_043c(); return; } // Function: FUN_1000_0491 at 1000:0491 undefined2 __cdecl16far FUN_1000_0491(void) { undefined2 uVar1; int unaff_BP; int iVar2; undefined2 unaff_SI; undefined2 unaff_SS; undefined2 unaff_DS; *(undefined2 *)(unaff_BP + -2) = unaff_SI; do { if (*(int *)0x294 != 0) { FUN_190c_0092(5,1,0x17,0x4e); if (*(int *)0x294 == 1) { FUN_1646_17c8(); } FUN_2504_3464(0); FUN_190c_01de(0,0,*(undefined2 *)0x565c,0xb80); FUN_190c_01de(3,0,*(undefined2 *)0x57e6,0xb9b); FUN_2504_0cfa(6,1); return 0; } uVar1 = FUN_1000_29ca(); *(undefined2 *)0x294 = uVar1; } while (*(int *)0x294 == 1); if ((*(int *)0x292 < 10) && (-1 < *(int *)0x292)) { if ((*(int *)(*(int *)0xd214 * 0x62 + 0x54d0 + *(int *)0xd282 * 2) == 0) && (iVar2 = FUN_1dce_0006(3,0), *(int *)0x290 < iVar2)) { *(undefined2 *)(*(int *)0xd214 * 0x62 + 0x54d0 + *(int *)0xd282 * 2) = 1; *(int *)0x290 = *(int *)0x290 + 1; } if (*(int *)0x50d6 == 1) { *(undefined2 *)0x50d6 = 0; FUN_190c_0092(0xe,2,0x14,0x1d); } if ((*(int *)0x292 != 7) && (*(int *)0x292 != 5)) { uVar1 = FUN_1832_030e(0); *(undefined2 *)(unaff_BP + -6) = uVar1; FUN_1832_01bc(); FUN_1832_000a(); FUN_1832_021a(); } if (*(int *)0x50d6 == 1) { *(undefined2 *)0x50d6 = 0; FUN_190c_0092(0xe,2,0x14,0x1d); } if ((*(int *)0x5334 == 0) && (*(int *)(unaff_BP + -6) == 0)) { FUN_1000_26d2(); } if (*(int *)0x5334 == 1) { *(undefined2 *)0x296 = 0; } } if ((9 < *(int *)0x292) || (*(int *)0x292 < 1)) { *(undefined2 *)0x292 = 1; } uVar1 = FUN_190c_2558(5,2,*(undefined2 *)0x565c,*(undefined2 *)0x57e6,*(undefined2 *)0x565c,9,2, 0x298,1,*(undefined2 *)0x292,0xaea,0,0); *(undefined2 *)0x292 = uVar1; if (*(int *)0x532e == 1) { FUN_190c_39d4(0x41,0,0); for (iVar2 = 0; iVar2 < 2000; iVar2 = iVar2 + 1) { } *(int *)(unaff_BP + -4) = iVar2; FUN_190c_3be8(); } if (*(int *)0x5334 != 1) { FUN_190c_0092(5,0x1e,0x14,0x4e); } if (*(int *)0x292 == 0) { FUN_1d61_0428(); *(undefined2 *)0x292 = 0; } FUN_190c_0092(0x16,0x14,0x17,0x4d); FUN_1000_3030(0x292); if (*(int *)0x292 == 0x45) { *(undefined2 *)0x292 = 1; } if (*(int *)0x292 == 0x49) { *(undefined2 *)0x292 = 2; } if (*(int *)0x292 == 0x41) { *(undefined2 *)0x292 = 3; } if (*(int *)0x292 == 0x43) { *(undefined2 *)0x292 = 4; } if (*(int *)0x292 == 0x53) { *(undefined2 *)0x292 = 5; } if (*(int *)0x292 == 0x4f) { *(undefined2 *)0x292 = 6; } if (*(int *)0x292 == 0x47) { *(undefined2 *)0x292 = 7; } if (*(int *)0x292 == 0x52) { *(undefined2 *)0x292 = 8; } if (*(int *)0x292 == 0x4d) { *(undefined2 *)0x292 = 9; } uVar1 = FUN_1000_0470(); return uVar1; } // Function: FUN_1000_0512 at 1000:0512 void __cdecl16far FUN_1000_0512(void) { bool bVar1; int iVar2; int iVar3; undefined2 uVar4; undefined2 unaff_DS; FUN_1e78_02b8(); bVar1 = false; iVar2 = FUN_1000_0882(0); if ((*(int *)0x5334 == 1) && ((iVar2 == 3 || (iVar2 == 5)))) { if (*(int *)0xd1c6 == 1) { if ((((*(int *)0xa022 < 4) || (iVar3 = FUN_190c_23b0((*(int *)0xd43a + 5) - *(int *)0x565a), iVar3 < 2)) && ((3 < *(int *)0xa022 || ((*(int *)0xd284 <= *(int *)0xa018 || (iVar3 = FUN_190c_23b0(*(int *)0xa022 + 3), iVar3 < 3)))))) && (*(int *)0xa016 != 0x10)) { uVar4 = FUN_190c_2558(7,3,*(undefined2 *)0x565c,*(undefined2 *)0x57e6,*(undefined2 *)0x565c, 4,2,0x2aa,1,0,0xbed,0,0); *(undefined2 *)0xa038 = uVar4; FUN_1000_3030(0xa038); if (*(int *)0xa038 == 0x57) { *(undefined2 *)0xa038 = 1; } if (*(int *)0xa038 == 0x45) { *(undefined2 *)0xa038 = 2; } if (*(int *)0xa038 == 0x4e) { *(undefined2 *)0xa038 = 3; } if (*(int *)0xa038 == 0x53) { *(undefined2 *)0xa038 = 4; } if (*(int *)0xa038 != 0) { *(int *)0xa018 = *(int *)0xa018 - (*(int *)0x4f36 * *(int *)0xa022 - *(int *)0x5342 / 2); FUN_1000_0c26(*(undefined2 *)0xa038); iVar3 = FUN_1000_2bde(1,0); if (iVar3 < 0) { *(undefined2 *)0x50d6 = 1; if (((((*(int *)0xa016 == 0) || (*(int *)0xa016 == 5)) || (*(int *)0xa016 == 9)) || ((*(int *)0xa016 == 0xd || (*(int *)0xa016 == 0x14)))) && (iVar3 = FUN_190c_23b0(2), iVar3 == 0)) { *(undefined2 *)0x5334 = 1; FUN_1000_20c4(); if (*(int *)0xa022 < 2) { FUN_190c_1016(0x10,0x28,*(undefined2 *)0x57ec,*(undefined2 *)0x57ea,0xc0e); } else { FUN_190c_1016(0x10,0x25,*(undefined2 *)0x57ec,*(undefined2 *)0x57ea,0xbee); } } else { *(undefined2 *)0x5334 = 0; FUN_190c_0092(5,0x1e,0x14,0x4e); } } else { FUN_1000_20c4(); bVar1 = true; } } } else { FUN_1000_20c4(); FUN_1000_2c80(6); bVar1 = true; } } else { *(undefined2 *)0xd1c6 = 1; FUN_1000_20c4(); bVar1 = true; } } else if ((iVar2 == 3) || (iVar2 == 5)) { uVar4 = FUN_190c_2558(7,7,*(undefined2 *)0x565c,*(undefined2 *)0x57e6,*(undefined2 *)0x565c,4,2, 0x2b2,1,0,0xc27,0,0); *(undefined2 *)0xa038 = uVar4; FUN_1000_3030(0xa038); if (*(int *)0xa038 == 0x57) { *(undefined2 *)0xa038 = 1; } if (*(int *)0xa038 == 0x45) { *(undefined2 *)0xa038 = 2; } if (*(int *)0xa038 == 0x4e) { *(undefined2 *)0xa038 = 3; } if (*(int *)0xa038 == 0x53) { *(undefined2 *)0xa038 = 4; } if ((0 < *(int *)0xa038) && (*(int *)0xa038 < 5)) { FUN_1000_0c26(*(undefined2 *)0xa038); *(int *)0xa018 = *(int *)0xa018 + 1; } } if (((iVar2 == 2) || (iVar2 == 1)) && (*(int *)0x5334 == 1)) { FUN_1307_222c(0xc28); FUN_1307_2164(4); FUN_1000_20c4(); } if ((iVar2 == 5) && (*(int *)(*(int *)0xd214 * 2 + -0x5fe6) == *(int *)0x50d8)) { FUN_1307_2194(1); FUN_190c_0092(0x12,3,0x12,0x1a); FUN_190c_01de(0x12,5,*(undefined2 *)0x57ea,0xc49); *(undefined2 *)0x50d6 = 0; } if (!bVar1) { FUN_1000_2bde(2,0); } return; } // Function: FUN_1000_0882 at 1000:0882 /* WARNING: Type propagation algorithm not settling */ undefined2 ******* __cdecl16far FUN_1000_0882(int param_1) { int iVar1; int iVar2; undefined2 unaff_DS; undefined2 *******local_8; FUN_1e78_02b8(); local_8 = (undefined2 *******)0x5; iVar1 = 0; if (param_1 == 1) { local_8 = (undefined2 *******)0x4e; FUN_190c_0092(5,0x1e,0x14); local_8 = (undefined2 *******)0xc87; FUN_1307_222c(); *(undefined2 *)0x5334 = 0; local_8 = (undefined2 *******)0x3; while (local_8 == (undefined2 *******)0x3) { *(undefined2 *)0x50d6 = 1; if (*(int *)0xd214 < 1) { local_8 = (undefined2 *******)0x0; FUN_190c_2558(8,7,*(undefined2 *)0x565c,*(undefined2 *)0x57e6,*(undefined2 *)0x57ec,2,2, 0x2c6,1,0,0xcb2,0); } else { local_8 = (undefined2 *******)0x0; FUN_190c_2558(8,7,*(undefined2 *)0x565c,*(undefined2 *)0x57e6,*(undefined2 *)0x57ec,2,2, 0x2ba,1,0,0xcb1,0); } local_8 = &local_8; FUN_1000_3030(); local_8 = (undefined2 *******)0x5; FUN_1307_2164(); *(undefined2 *)0x50d6 = 1; if ((local_8 == (undefined2 *******)0x2) && (*(int *)0xd214 != 0)) { *(int *)0xd214 = *(int *)0xd214 + -1; *(int *)0xd43a = *(int *)0xd43a + -1; iVar1 = 1; local_8 = (undefined2 *******)0xcb3; FUN_1307_222c(); } if ((local_8 == (undefined2 *******)0x2) && (*(int *)0xd214 == 0)) { local_8 = (undefined2 *******)0xcd2; FUN_1307_222c(); iVar1 = 2; } if ((local_8 == (undefined2 *******)0x1) && (*(int *)0xd214 != 3)) { *(int *)0xd214 = *(int *)0xd214 + 1; *(int *)0xd43a = *(int *)0xd43a + 1; iVar1 = 1; local_8 = (undefined2 *******)0xd01; FUN_1307_222c(); } if ((local_8 == (undefined2 *******)0x1) && (*(int *)0xd214 == 3)) { local_8 = (undefined2 *******)0xd1e; FUN_1307_222c(); } } } if (*(int *)(*(int *)0xd214 * 2 + -0x5fe6) == *(int *)0x50d8) { local_8 = (undefined2 *******)0xd50; FUN_1307_222c(); local_8 = (undefined2 *******)0x0; FUN_190c_2558(8,7,*(undefined2 *)0x565c,*(undefined2 *)0x57e6,*(undefined2 *)0x57ec,3,3,0x2c0,1, 0,0xd59,0); local_8 = &local_8; FUN_1000_3030(); if (local_8 == (undefined2 *******)0x44) { local_8 = (undefined2 *******)0x2; } if (local_8 == (undefined2 *******)0x55) { local_8 = (undefined2 *******)0x1; } if (local_8 == (undefined2 *******)0x45) { local_8 = (undefined2 *******)0x3; } if (((local_8 == (undefined2 *******)0x1) || (local_8 == (undefined2 *******)0x2)) || (local_8 == (undefined2 *******)0x3)) { if ((local_8 == (undefined2 *******)0x1) && (*(int *)0xd214 == 3)) { local_8 = (undefined2 *******)0xd5a; FUN_1307_222c(); local_8 = (undefined2 *******)0x4; } else if ((local_8 == (undefined2 *******)0x1) && (*(int *)0xd214 < 3)) { *(int *)0xd214 = *(int *)0xd214 + 1; *(int *)0xd43a = *(int *)0xd43a + 1; iVar1 = 1; } else if ((local_8 == (undefined2 *******)0x2) && (*(int *)0xd214 == 0)) { local_8 = (undefined2 *******)0xd80; FUN_1307_222c(); local_8 = (undefined2 *******)0x4; } else if ((local_8 == (undefined2 *******)0x2) && (0 < *(int *)0xd214)) { *(int *)0xd214 = *(int *)0xd214 + -1; *(int *)0xd43a = *(int *)0xd43a + -1; iVar1 = 1; } } } if ((param_1 == 1) && (iVar1 == 0)) { local_8 = (undefined2 *******)0x1d; FUN_190c_0092(0xe,2,0x14); local_8 = (undefined2 *******)0x6; iVar2 = FUN_190c_23b0(); *(int *)0xa03a = iVar2 + 1; local_8 = (undefined2 *******)0x6; iVar2 = FUN_190c_23b0(); *(int *)0x5330 = iVar2 + 1; *(int *)0x50d8 = (*(int *)0xa03a + -1) * 7 + *(int *)0x5330; } if ((iVar1 == 1) && ((local_8 == (undefined2 *******)0x1 || (local_8 == (undefined2 *******)0x2))) ) { local_8 = (undefined2 *******)0x1d; FUN_190c_0092(0xe,2,0x14); iVar1 = *(int *)(*(int *)0xd214 * 2 + -0x5fe6); *(int *)0x50d8 = iVar1; *(undefined2 *)0x5330 = 0; *(undefined2 *)0xa03a = 1; for (iVar2 = 1; iVar2 < 8; iVar2 = iVar2 + 1) { if (iVar1 == 7 || iVar1 + -7 < 0) { *(int *)0x5330 = iVar1; iVar2 = 8; } else { *(int *)0xa03a = *(int *)0xa03a + 1; iVar1 = iVar1 + -7; } } *(int *)0xd282 = *(int *)0x50d8 + -1; local_8 = (undefined2 *******)0x190c; FUN_1000_2e4c(); } return local_8; } // Function: FUN_1000_0c26 at 1000:0c26 void __cdecl16far FUN_1000_0c26(int param_1) { int iVar1; undefined2 unaff_DS; FUN_1e78_02b8(); if (((((param_1 == 1) && (1 < *(int *)0x5330)) && (*(int *)(*(int *)0xd214 * 0x62 + 0x50da + *(int *)0xd282 * 2) == 0)) || ((((param_1 == 2 && (*(int *)0x5330 < 7)) && (*(int *)(*(int *)0xd214 * 0x62 + 0x50da + *(int *)0xd282 * 2) == 0)) || (((param_1 == 3 && (1 < *(int *)0xa03a)) && (*(int *)(*(int *)0xd214 * 0x62 + -0x2bac + *(int *)0xd282 * 2) == 0)))))) || (((param_1 == 4 && (*(int *)0xa03a < 7)) && (*(int *)(*(int *)0xd214 * 0x62 + -0x2bac + *(int *)0xd282 * 2) == 0)))) { *(undefined2 *)0x28e = 0; if (*(int *)0x5334 == 1) { FUN_1000_2c80(7); } else { iVar1 = FUN_190c_23b0(6); if (iVar1 == 0) { FUN_1307_222c(0xdb0); if (*(int *)0x532e == 1) { FUN_1000_304c(); } } else { FUN_1000_2c80(5); } } *(undefined2 *)0x50d6 = 1; if (param_1 == 1) { *(int *)0x5330 = *(int *)0x5330 + -1; *(int *)0x50d8 = *(int *)0x50d8 + -1; } if (param_1 == 2) { *(int *)0x5330 = *(int *)0x5330 + 1; *(int *)0x50d8 = *(int *)0x50d8 + 1; } if (param_1 == 3) { *(int *)0xa03a = *(int *)0xa03a + -1; *(int *)0x50d8 = *(int *)0x50d8 + -7; } if (param_1 == 4) { *(int *)0xa03a = *(int *)0xa03a + 1; *(int *)0x50d8 = *(int *)0x50d8 + 7; } FUN_1000_2bde(2,1); *(int *)0xd282 = *(int *)0x50d8 + -1; } else { FUN_1000_2c80(0); } return; } // Function: FUN_1000_0d90 at 1000:0d90 undefined2 __cdecl16far FUN_1000_0d90(void) { char cVar1; undefined2 uVar2; uint uVar3; undefined2 uVar4; undefined2 unaff_DS; uint uVar5; undefined2 local_18; char local_16 [6]; undefined2 uStack_10; undefined2 uStack_e; undefined2 local_c; undefined2 *puStack_a; char *pcStack_8; FUN_1e78_02b8(); pcStack_8 = (char *)0x1; puStack_a = (undefined2 *)0x0; local_c = 0xe17; uStack_e = 0; uStack_10 = 1; local_16[4] = -0x32; local_16[5] = '\x02'; local_16[2] = '\x02'; local_16[3] = '\0'; local_16[0] = '\b'; local_16[1] = '\0'; local_18 = *(undefined2 *)0x57ea; uVar2 = FUN_190c_2558(6,3,*(undefined2 *)0x565c,*(undefined2 *)0x57e6); *(undefined2 *)0xd1c2 = uVar2; pcStack_8 = (char *)0xd1c2; puStack_a = (undefined2 *)0x190c; uVar2 = 0x1000; local_c = 0xde8; FUN_1000_3030(); if (*(int *)0xd1c2 == 0x54) { *(undefined2 *)0xd1c2 = 1; } if (*(int *)0xd1c2 == 0x47) { *(undefined2 *)0xd1c2 = 2; } if (*(int *)0xd1c2 == 0x55) { *(undefined2 *)0xd1c2 = 3; } if (*(int *)0xd1c2 == 0x4a) { *(undefined2 *)0xd1c2 = 4; } if (*(int *)0xd1c2 == 0x44) { *(undefined2 *)0xd1c2 = 5; } if (*(int *)0xd1c2 == 0x42) { *(undefined2 *)0xd1c2 = 6; } if (*(int *)0xd1c2 == 0x4c) { *(undefined2 *)0xd1c2 = 7; } if (*(int *)0xd1c2 == 0x50) { *(undefined2 *)0xd1c2 = 8; } if ((*(int *)0xd1c2 < 1) || (8 < *(int *)0xd1c2)) { *(undefined2 *)0xd1c2 = 1; } else { if (*(int *)0xd1c2 == 2) { pcStack_8 = (char *)0xe18; puStack_a = &local_c; local_c = 0x1000; uVar2 = 0x1e78; uStack_e = 0xe7b; FUN_1e78_1fde(); } uVar4 = uVar2; if (*(int *)0xd1c2 == 4) { pcStack_8 = (char *)0xe1d; puStack_a = &local_c; uVar4 = 0x1e78; uStack_e = 0xe92; local_c = uVar2; FUN_1e78_1fde(); } uVar2 = uVar4; if (*(int *)0xd1c2 == 6) { pcStack_8 = (char *)0xe23; puStack_a = &local_c; uVar2 = 0x1e78; uStack_e = 0xea9; local_c = uVar4; FUN_1e78_1fde(); } uVar4 = uVar2; if (*(int *)0xd1c2 == 8) { pcStack_8 = (char *)0xe29; puStack_a = &local_c; uVar4 = 0x1e78; uStack_e = 0xec0; local_c = uVar2; FUN_1e78_1fde(); } if (((*(int *)0xd1c2 == 1) || (*(int *)0xd1c2 == 3)) || (*(int *)0xd1c2 == 5)) { pcStack_8 = (char *)0x18; puStack_a = (undefined2 *)0x9; local_c = 4; uStack_e = 7; local_16[4] = -0x10; local_16[5] = '\x0e'; uStack_10 = uVar4; FUN_190c_0092(); pcStack_8 = (char *)0x9; puStack_a = (undefined2 *)0xe2e; local_c = *(undefined2 *)0x57ec; uStack_e = *(undefined2 *)0x57ec; uStack_10 = 4; builtin_strncpy(local_16,"\x10\x0f\f\x19\a",6); FUN_190c_108c(); pcStack_8 = local_16; puStack_a = (undefined2 *)0x9; local_c = *(undefined2 *)0x565c; uStack_e = 0xf; uStack_10 = 8; builtin_strncpy(local_16 + 2,",\x0f\f\x19",4); FUN_190c_169c(); *(undefined2 *)0xd63a = 0; puStack_a = (undefined2 *)0x190c; while( true ) { uVar5 = *(uint *)0xd63a; pcStack_8 = local_16; uVar4 = 0x1e78; local_c = 0xf4b; uVar3 = FUN_1e78_2010(); if (uVar3 <= uVar5) break; if ((*(byte *)(local_16[*(int *)0xd63a] + 0x6c3) & 2) == 0) { cVar1 = local_16[*(int *)0xd63a]; } else { cVar1 = local_16[*(int *)0xd63a] + -0x20; } *(char *)((int)&local_c + *(int *)0xd63a) = cVar1; *(int *)0xd63a = *(int *)0xd63a + 1; puStack_a = (undefined2 *)uVar4; } } *(undefined2 *)0xd438 = 0; if (((*(int *)0xd1c2 == 1) || (*(int *)0xd1c2 == 2)) || ((*(int *)0xd1c2 == 4 || ((*(int *)0xd1c2 == 6 || (uVar2 = uVar4, *(int *)0xd1c2 == 8)))))) { pcStack_8 = (char *)&local_c; uVar2 = 0x1307; local_c = 0xfcc; puStack_a = (undefined2 *)uVar4; FUN_1307_0914(); } uVar4 = uVar2; if (*(int *)0xd1c2 == 3) { pcStack_8 = (char *)&local_c; uVar4 = 0x1307; local_c = 0xfdf; puStack_a = (undefined2 *)uVar2; local_18 = FUN_1307_13fe(); } uVar2 = uVar4; if (*(int *)0xd1c2 == 5) { pcStack_8 = (char *)&local_c; uVar2 = 0x1307; local_c = 0xff5; puStack_a = (undefined2 *)uVar4; FUN_1307_05c6(); } if (*(int *)0xd1c2 == 7) { puStack_a = (undefined2 *)uVar2; if (*(int *)0x4f30 < 1) { pcStack_8 = (char *)0xe46; uVar2 = 0x1307; local_c = 0x1027; FUN_1307_222c(); } else { *(undefined2 *)0xd436 = 0x3c; *(int *)0x4f30 = *(int *)0x4f30 + -1; pcStack_8 = (char *)0xe38; uVar2 = 0x1307; local_c = 0x1019; FUN_1307_222c(); } } uVar4 = uVar2; if (*(int *)0xd438 == 99) { pcStack_8 = (char *)0xe61; puStack_a = (undefined2 *)(*(int *)0xd214 * 0xb7e + -0x5e36 + *(int *)0xd282 * 0x3c); uVar4 = 0x1e78; uStack_e = 0x1055; local_c = uVar2; FUN_1e78_1fde(); *(undefined2 *)0xd438 = 0; } if (*(int *)0xd438 == 0x62) { pcStack_8 = (char *)0xe88; puStack_a = (undefined2 *)(*(int *)0xd214 * 0xb7e + -0x5e36 + *(int *)0xd282 * 0x3c); uStack_e = 0x108c; local_c = uVar4; FUN_1e78_1fde(); *(undefined2 *)(*(int *)0xd214 * 0x62 + 0x57fa + *(int *)0xd282 * 2) = 0; *(undefined2 *)(*(int *)0xd214 * 0x62 + 0x5348 + *(int *)0xd282 * 2) = 0; *(undefined2 *)0xd438 = 0; uVar4 = 0x1e78; } if (*(int *)0x5334 == 1) { puStack_a = (undefined2 *)0x10d5; pcStack_8 = (char *)uVar4; FUN_1000_20c4(); } } return local_18; } // Function: FUN_1000_10e8 at 1000:10e8 void __cdecl16far FUN_1000_10e8(void) { int iVar1; undefined2 uVar2; undefined2 unaff_DS; FUN_1e78_02b8(); if (((*(int *)0x5334 == 1) && (*(int *)0xd1c6 == 1)) || (iVar1 = FUN_1832_030e(1), 0 < iVar1)) { iVar1 = FUN_1832_021a(0); if (iVar1 < 10) { if (((((*(int *)0xd212 == 0) && (*(int *)0xd41a < 2)) && ((*(int *)0xd20e < 2 && ((*(int *)0xd28e < 2 && (*(int *)0xa02c < 2)))))) && (*(int *)0xd66a < 2)) && (iVar1 = FUN_1832_030e(1), iVar1 < 1)) { FUN_1000_1c7c(0); } else { iVar1 = FUN_1832_030e(1); if (0 < iVar1) { FUN_190c_0f64(0xee5,*(undefined2 *)0x57ec,0); } if (*(int *)0x2ec == 8) { *(undefined2 *)0x2ec = 1; } uVar2 = FUN_190c_2558(6,7,*(undefined2 *)0x565c,*(undefined2 *)0x57e6,*(undefined2 *)0x57ec, 7,2,0x2de,1,*(undefined2 *)0x2ec,0xef6,0,0); *(undefined2 *)0x2ec = uVar2; FUN_1000_3030(0x2ec); if (*(int *)0x2ec == 0x48) { *(undefined2 *)0x2ec = 1; } if (*(int *)0x2ec == 0x42) { *(undefined2 *)0x2ec = 2; } if (*(int *)0x2ec == 0x53) { *(undefined2 *)0x2ec = 3; } if (*(int *)0x2ec == 0x4d) { *(undefined2 *)0x2ec = 4; } if (*(int *)0x2ec == 0x4c) { *(undefined2 *)0x2ec = 5; } if (*(int *)0x2ec == 0x50) { *(undefined2 *)0x2ec = 6; } if (*(int *)0x2ec == 0x55) { *(undefined2 *)0x2ec = 7; } if ((*(int *)0x2ec < 0) || (7 < *(int *)0x2ec)) { *(undefined2 *)0x2ec = 8; } switch(*(undefined2 *)0x2ec) { case 1: iVar1 = FUN_1832_030e(1); if (iVar1 == 0) { FUN_1000_1c7c(0); } else { FUN_1307_13fe(0xef7); } break; case 2: if (*(int *)0xd212 < 1) { FUN_1307_222c(0xefb); } else { iVar1 = FUN_1832_030e(1); if (iVar1 < 1) { FUN_1000_1c7c(1); } else { FUN_1307_13fe(0xf15); } } break; case 3: if (*(int *)0xd20e < 2) { FUN_1307_222c(0xf19); } else { iVar1 = FUN_1832_030e(1); if (iVar1 < 1) { FUN_1000_1c7c(2); } else { FUN_1307_13fe(0xf31); } } break; case 4: if (*(int *)0xd41a < 2) { FUN_1307_222c(0xf35); } else { iVar1 = FUN_1832_030e(1); if (iVar1 < 1) { FUN_1000_1c7c(3); } else { FUN_1307_13fe(0xf4c); } } break; case 5: if (*(int *)0xd28e < 2) { FUN_1307_222c(0xf50); } else { iVar1 = FUN_1832_030e(1); if (iVar1 < 1) { FUN_1000_1a20(); } else { FUN_1307_13fe(0xf6f); } } break; case 6: if (*(int *)0xa02c < 2) { FUN_1307_222c(0xf73); } else { iVar1 = FUN_1832_030e(1); if (iVar1 < 1) { FUN_1000_17de(); } else { FUN_1307_13fe(0xf9a); } } break; case 7: if (*(int *)0xd66a < 2) { FUN_1307_222c(0xf9e); } else { iVar1 = FUN_1832_030e(1); if (iVar1 < 1) { FUN_1000_14bc(); } else { FUN_1307_13fe(0xfb6); } } break; case 8: FUN_1307_222c(0xfba); break; default: *(undefined2 *)0x2ec = 0; FUN_1307_222c(0xfdd); } } } else { FUN_1307_222c(0x1002); FUN_1000_20c4(); } } else { iVar1 = FUN_190c_23b0(4); if (iVar1 == 0) { FUN_1307_222c(0x102f); } else { iVar1 = FUN_190c_23b0(3); if (iVar1 == 0) { FUN_1307_222c(0x105e); } else { FUN_1307_222c(0x1086); } } } return; } // Function: FUN_1000_14bc at 1000:14bc void __cdecl16far FUN_1000_14bc(void) { uint *puVar1; uint uVar2; undefined2 uVar3; int iVar4; uint uVar5; int iVar6; bool bVar7; int iVar8; undefined2 unaff_DS; int iVar9; undefined2 uVar10; FUN_1e78_02b8(); uVar10 = 0; bVar7 = false; if (((*(int *)0xa016 == 0x11) || (*(int *)0xa016 == 0x15)) || (*(int *)0xa016 == 0x17)) { bVar7 = true; } FUN_190c_0092(0xe,2,0x14,0x1d,0); if (*(int *)0xd436 == 0) { FUN_1307_222c(0x11bd); FUN_1000_20c4(); } else { uVar3 = FUN_190c_2558(7,8,*(undefined2 *)0x565c,*(undefined2 *)0x57e6,*(undefined2 *)0x57ec,4,2, 0x2ee,1,*(undefined2 *)0xd208,0x10b4,0,0); *(undefined2 *)0xd208 = uVar3; FUN_1307_2194(0); FUN_190c_01de(0xf,8,*(undefined2 *)0x57ec,0x10b5); FUN_2504_0cfa(0x1a,1); if (*(int *)0x532e == 0) { FUN_1307_2164(6); } if (*(int *)0x532e == 1) { FUN_1000_3064(0xf); *(int *)0xd436 = *(int *)0xd436 + -0xf; if ((1 < *(int *)0xd208) && (0xd < *(int *)0xd436)) { if (!bVar7) { FUN_1307_222c(0x10c6); } FUN_1000_3064(0xf); *(int *)0xd436 = *(int *)0xd436 + -0xf; } if ((2 < *(int *)0xd208) && (0xd < *(int *)0xd436)) { FUN_1307_222c(0x10e1); FUN_1000_3064(0xf); *(int *)0xd436 = *(int *)0xd436 + -0xf; } if ((3 < *(int *)0xd208) && (0xd < *(int *)0xd436)) { FUN_1307_222c(0x10fc); FUN_1000_3064(0xf); *(undefined2 *)0xd436 = 0; } if (*(int *)0xd208 == 4) { FUN_1307_222c(0x111a); } else if (!bVar7) { FUN_1307_222c(0x1135); } } if (*(int *)0xd436 < 5) { *(undefined2 *)0xd436 = 0; } FUN_190c_0092(0xe,2,0x14,0x1d); iVar9 = *(int *)0xa022; iVar8 = *(int *)0x5332; for (iVar6 = 0; iVar6 < *(int *)0xd208 * 0xf; iVar6 = iVar6 + 1) { iVar9 = 0x190c; iVar4 = FUN_190c_23b0(*(undefined2 *)0x565a); if (0 < iVar4) { iVar8 = iVar8 + -1; } if (iVar8 == 0) { *(int *)0xa022 = *(int *)0xa022 + -1; iVar8 = *(int *)0x5332; } if (*(int *)0xa022 == 0) break; } if (*(int *)0xa022 == 0) { if (iVar9 < 2) { FUN_1307_222c(0x1188,uVar10,iVar6); } else { FUN_1307_222c(0x115b,uVar10,iVar6); } uVar5 = *(int *)0x5332 * *(int *)0xa022 + 100; puVar1 = (uint *)0xd446; uVar2 = *puVar1; *puVar1 = *puVar1 + uVar5; *(int *)0xd448 = *(int *)0xd448 + ((int)uVar5 >> 0xf) + (uint)CARRY2(uVar2,uVar5); *(undefined2 *)0x50d6 = 1; *(int *)0xd20a = *(int *)0xd20a + *(int *)0x5332 * *(int *)0xa022; *(undefined2 *)0x5334 = 0; *(undefined2 *)0x57e8 = 0; *(undefined2 *)0xa022 = 0; } else { uVar5 = (*(int *)0x5332 * iVar9 - *(int *)0xa022) + 100; puVar1 = (uint *)0xd446; uVar2 = *puVar1; *puVar1 = *puVar1 + uVar5; *(int *)0xd448 = *(int *)0xd448 + ((int)uVar5 >> 0xf) + (uint)CARRY2(uVar2,uVar5); *(undefined2 *)0x50d6 = 1; *(int *)0xd20a = *(int *)0xd20a + (*(int *)0x5332 * iVar9 - *(int *)0xa022); *(undefined2 *)0x57e8 = 0; FUN_1e78_22f2(0xd218,0x11a8,iVar9 - *(int *)0xa022); FUN_190c_01de(0x16,0x14,*(undefined2 *)0x565c,0xd218); *(int *)0x50c6 = *(int *)0x50c6 + (iVar9 - *(int *)0xa022); } FUN_1646_1272(*(int *)0xa016 * 0x18 + 0x4e); FUN_1646_1d22(); *(undefined2 *)0x50d6 = 1; } return; } // Function: FUN_1000_17de at 1000:17de void __cdecl16far FUN_1000_17de(void) { uint *puVar1; uint uVar2; int iVar3; uint uVar4; int iVar5; int iVar6; undefined2 unaff_DS; int iVar7; FUN_1e78_02b8(); iVar5 = 0; iVar3 = FUN_190c_23b0(6); iVar3 = (iVar3 + 4) * *(int *)0x565a * *(int *)0xd44c; FUN_190c_0092(0xe,2,0x14,0x1d); FUN_190c_01de(0xf,8,*(undefined2 *)0x57ec,0x11db); FUN_1307_2164(8); iVar7 = 0x14; FUN_190c_0092(0xe,2,0x14,0x1d); if (*(int *)0xa016 == 0xb) { *(int *)0xd418 = *(int *)0xd418 + -1; FUN_1307_222c(0x1294); FUN_1000_20c4(); } else { if (*(int *)0xa016 == 3) { iVar7 = 0x187b; FUN_1000_2044(); } if (*(int *)0x5332 * *(int *)0xa022 - iVar3 == 0 || *(int *)0x5332 * *(int *)0xa022 < iVar3) { if (iVar7 < 2) { FUN_1307_222c(0x1217); } else { FUN_1307_222c(0x11ea); } uVar4 = *(int *)0x5332 * *(int *)0xa022 + 100; puVar1 = (uint *)0xd446; uVar2 = *puVar1; *puVar1 = *puVar1 + uVar4; *(int *)0xd448 = *(int *)0xd448 + ((int)uVar4 >> 0xf) + (uint)CARRY2(uVar2,uVar4); *(undefined2 *)0x50d6 = 1; *(int *)0xd20a = *(int *)0xd20a + *(int *)0x5332 * *(int *)0xa022; *(undefined2 *)0x5334 = 0; *(undefined2 *)0xa022 = 0; FUN_1646_1272(*(int *)0xa016 * 0x18 + 0x4e); } else { iVar5 = 0; for (iVar6 = 0; iVar6 < iVar7; iVar6 = iVar6 + 1) { if (iVar3 < *(int *)0x5332 - *(int *)0xd1c4) { *(int *)0xd1c4 = *(int *)0xd1c4 + iVar3; iVar6 = iVar7; } else { iVar5 = iVar5 + 1; iVar3 = iVar3 - *(int *)0x5332; *(int *)0xa022 = *(int *)0xa022 + -1; *(undefined2 *)0xd1c4 = 0; } } if (0 < *(int *)0xd1c4) { FUN_1000_1fbc(iVar5,iVar6); } if (iVar5 == 0) { FUN_1307_222c(0x1237); } else if (iVar5 == 1) { FUN_1307_222c(0x1265); } else { FUN_1e78_22f2(0xd218,0x1280,iVar5); FUN_190c_01de(0x16,0x14,*(undefined2 *)0x565c,0xd218); } uVar4 = *(int *)0x5332 * iVar5 + 0x32; puVar1 = (uint *)0xd446; uVar2 = *puVar1; *puVar1 = *puVar1 + uVar4; *(int *)0xd448 = *(int *)0xd448 + ((int)uVar4 >> 0xf) + (uint)CARRY2(uVar2,uVar4); *(int *)0xd20a = *(int *)0xd20a + *(int *)0x5332 * iVar5; if (*(int *)0xa022 == 0) { *(undefined2 *)0x5334 = 0; } if (*(int *)0x5334 != 0) { FUN_1000_20c4(); } } *(int *)0xd418 = *(int *)0xd418 + -1; FUN_1646_1d22(); *(int *)0x50c6 = *(int *)0x50c6 + iVar5; *(undefined2 *)0x50d6 = 1; } if ((*(int *)0xd418 < 1) && (*(int *)0xa02c == 2)) { *(undefined2 *)0xd418 = 0; *(undefined2 *)0xa02c = 0; FUN_190c_1016(0x10,0x26,*(undefined2 *)0x57ea,*(undefined2 *)0x57ee,0x12c2); } return; } // Function: FUN_1000_1a20 at 1000:1a20 void __cdecl16far FUN_1000_1a20(void) { uint *puVar1; uint uVar2; int iVar3; uint uVar4; int iVar5; undefined2 unaff_DS; int iVar6; int iVar7; FUN_1e78_02b8(); iVar3 = FUN_190c_23b0(9); iVar3 = (iVar3 + 4 + *(int *)0x565a) * *(int *)0xa03c; if (*(int *)0xd654 == 0) { FUN_1307_222c(0x1407); } else { if (*(int *)0xa016 == 3) { FUN_1000_2044(); } FUN_190c_0092(0xe,2,0x14,0x1d); FUN_190c_01de(0xf,5,*(undefined2 *)0x57ee,0x12e1); if (*(int *)0x532e == 1) { FUN_1000_3054(); } else { FUN_1307_2164(7); } iVar6 = 0x14; FUN_190c_0092(0xe,2,0x14,0x1d); if ((*(int *)0xa016 == 0x11) || (*(int *)0xa016 == 10)) { if (*(int *)0xa016 == 10) { FUN_1307_222c(0x13a3); *(int *)0xa022 = *(int *)0xa022 << 1; FUN_1000_20c4(); } else { FUN_1307_222c(0x13d4); } } else { if (*(int *)0x5332 * *(int *)0xa022 - iVar3 == 0 || *(int *)0x5332 * *(int *)0xa022 < iVar3) { if (iVar6 < 2) { FUN_1307_222c(0x131a); } else { FUN_1307_222c(0x12f5); } uVar4 = *(int *)0x5332 * *(int *)0xa022 + 100; puVar1 = (uint *)0xd446; uVar2 = *puVar1; *puVar1 = *puVar1 + uVar4; *(int *)0xd448 = *(int *)0xd448 + ((int)uVar4 >> 0xf) + (uint)CARRY2(uVar2,uVar4); *(undefined2 *)0x50d6 = 1; *(int *)0xd20a = *(int *)0xd20a + *(int *)0x5332 * *(int *)0xa022; *(undefined2 *)0xa022 = 0; *(undefined2 *)0x5334 = 0; FUN_1646_1272(*(int *)0xa016 * 0x18 + 0x4e); } else { iVar7 = 0; for (iVar5 = 0; iVar5 < iVar6; iVar5 = iVar5 + 1) { if (iVar3 < *(int *)0x5332 - *(int *)0xd1c4) { *(int *)0xd1c4 = *(int *)0xd1c4 + iVar3; iVar5 = iVar6; } else { iVar7 = iVar7 + 1; iVar3 = iVar3 - *(int *)0x5332; *(int *)0xa022 = *(int *)0xa022 + -1; *(undefined2 *)0xd1c4 = 0; } } if (0 < *(int *)0xd1c4) { FUN_1000_1fbc(iVar7,iVar5); } if (iVar7 == 0) { FUN_1307_222c(0x1335); } else if (iVar7 == 1) { FUN_1307_222c(0x1363); } else { FUN_1e78_22f2(0xd218,0x138e,iVar7); FUN_190c_01de(0x17,0x14,*(undefined2 *)0x565c,0xd218); } uVar4 = *(int *)0x5332 * iVar7 + 0x32; puVar1 = (uint *)0xd446; uVar2 = *puVar1; *puVar1 = *puVar1 + uVar4; *(int *)0xd448 = *(int *)0xd448 + ((int)uVar4 >> 0xf) + (uint)CARRY2(uVar2,uVar4); *(int *)0xd20a = *(int *)0xd20a + *(int *)0x5332 * iVar7; *(int *)0x50c6 = *(int *)0x50c6 + iVar7; if (*(int *)0xa022 == 0) { *(undefined2 *)0x5334 = 0; } if (*(int *)0xa022 != 0) { FUN_1000_20c4(); } } if (0 < *(int *)0xd654) { *(int *)0xd654 = *(int *)0xd654 + -1; } FUN_1646_1d22(); *(undefined2 *)0x50d6 = 1; } } return; } // Function: FUN_1000_1c7c at 1000:1c7c void __cdecl16far FUN_1000_1c7c(int param_1) { uint *puVar1; uint uVar2; int iVar3; uint uVar4; undefined2 unaff_DS; FUN_1e78_02b8(); if ((*(int *)0x5334 == 1) && (*(int *)0xd1c6 == 1)) { if (*(int *)0xa016 == 6) { FUN_190c_0f64(0x142e,*(undefined2 *)0x57ec,0); *(undefined2 *)0x2f8 = 0; } if (*(int *)0xa016 == 0x11) { FUN_190c_0f64(0x144e,*(undefined2 *)0x57ec,0); *(undefined2 *)0x2f8 = 0; } *(undefined2 *)0x2f6 = *(undefined2 *)0xd450; if (param_1 == 1) { *(int *)0x2f6 = *(int *)0x2f6 + *(int *)0x565a; } if (param_1 == 2) { *(int *)0x2f6 = *(int *)0x2f6 + *(int *)0x565a * 2; } if (param_1 == 3) { *(int *)0x2f6 = *(int *)0x2f6 + *(int *)0x565a * 4; } if (*(int *)0xd42a == 0) { *(int *)0x2f6 = *(int *)0x2f6 + 1; } if (*(int *)0x2f8 == 1) { iVar3 = FUN_190c_23b0(*(int *)0x565a * 10 + *(int *)0x565a * 5); if (iVar3 < 7) { FUN_1000_2c80(0x16); *(undefined2 *)0x57e8 = 0; } else { uVar4 = *(int *)0x2f6 * 2; puVar1 = (uint *)0xd446; uVar2 = *puVar1; *puVar1 = *puVar1 + uVar4; *(int *)0xd448 = *(int *)0xd448 + ((int)uVar4 >> 0xf) + (uint)CARRY2(uVar2,uVar4); *(int *)0xd1c4 = *(int *)0xd1c4 + *(int *)0x2f6; if (*(int *)0xd1c4 < *(int *)0x5332) { *(int *)0xd284 = *(int *)0xd284 - *(int *)0x2f6; FUN_1000_1fbc(); } else { *(undefined2 *)0xd1c4 = 0; *(undefined2 *)0x2f6 = 0; if ((*(int *)0xd1c4 < *(int *)0x5332 * 2) || (*(int *)0xa022 < 2)) { *(int *)0xa022 = *(int *)0xa022 + -1; *(int *)0xd20a = *(int *)0xd20a + *(int *)0x5332 * *(int *)0x4f36; uVar4 = *(int *)0x5332 + *(int *)0x4f36; puVar1 = (uint *)0xd446; uVar2 = *puVar1; *puVar1 = *puVar1 + uVar4; *(int *)0xd448 = *(int *)0xd448 + ((int)uVar4 >> 0xf) + (uint)CARRY2(uVar2,uVar4); *(undefined2 *)0x57e8 = 6; } else { *(int *)0xa022 = *(int *)0xa022 + -2; *(int *)0xd20a = *(int *)0xd20a + *(int *)0x5332 * 2 * *(int *)0x4f36; uVar4 = (*(int *)0x5332 + *(int *)0x4f36) * 2; puVar1 = (uint *)0xd446; uVar2 = *puVar1; *puVar1 = *puVar1 + uVar4; *(int *)0xd448 = *(int *)0xd448 + ((int)uVar4 >> 0xf) + (uint)CARRY2(uVar2,uVar4); *(undefined2 *)0x57e8 = 7; } *(int *)0xd284 = (*(int *)0xa022 * *(int *)0x4f36 * *(int *)0x5332) / 2; } if (*(int *)0xa022 < 1) { *(undefined2 *)0x5334 = 0; uVar4 = *(int *)0x4f36 * *(int *)0x50c0 * *(int *)0x5332 * 2; puVar1 = (uint *)0xd446; uVar2 = *puVar1; *puVar1 = *puVar1 + uVar4; *(int *)0xd448 = *(int *)0xd448 + ((int)uVar4 >> 0xf) + (uint)CARRY2(uVar2,uVar4); *(int *)0xd20a = *(int *)0xd20a + *(int *)0x50c0 * *(int *)0x4f36; if (*(int *)0xa016 == 3) { FUN_1000_2044(); } *(undefined2 *)0x57e8 = 0; FUN_190c_0092(0x16,0x14,0x17,0x4d); FUN_190c_0092(0xe,2,0x14,0x1d); FUN_1646_1272(*(int *)0xa016 * 0x18 + 0x4e); *(int *)0x50c6 = *(int *)0x50c6 + *(int *)0x50c0; if (*(int *)0x50c0 < 2) { FUN_1000_2c80(0x15); } else { FUN_1000_2c80(0x14); } } else if (param_1 == 2) { if (*(int *)0xa022 == 1) { FUN_1000_2c80(0xb); } else { FUN_1000_2c80(0xc); } } else if (param_1 == 3) { if (*(int *)0xa022 == 1) { FUN_1000_2c80(0xd); } else { FUN_1000_2c80(0xe); } } else if (param_1 == 4) { FUN_1307_2194(0); FUN_190c_0092(0xf,3,0xf,0x1a); FUN_190c_01de(0xf,5,*(undefined2 *)0x57ee,0x1479); } else if (*(int *)0xa022 == 1) { FUN_1000_2c80(1); } else { FUN_1000_2c80(2); } FUN_1646_1d22(); } } if (*(int *)0x5334 == 1) { FUN_1000_20c4(); *(undefined2 *)0xd1c6 = 1; } } else { FUN_1307_222c(0x148e); puVar1 = (uint *)0xd446; uVar2 = *puVar1; *puVar1 = *puVar1 - 10; *(int *)0xd448 = *(int *)0xd448 - (uint)(uVar2 < 10); FUN_1646_1d22(); } return; } // Function: FUN_1000_1fbc at 1000:1fbc /* WARNING: Control flow encountered bad instruction data */ /* WARNING: Removing unreachable block (ram,0x00012022) */ void __cdecl16far FUN_1000_1fbc(void) { code *pcVar1; undefined2 unaff_DS; FUN_1e78_02b8(); if (*(int *)0xd1c4 == 0) { return; } pcVar1 = (code *)swi(0x37); (*pcVar1)(); pcVar1 = (code *)swi(0x39); (*pcVar1)(); pcVar1 = (code *)swi(0x37); (*pcVar1)(); pcVar1 = (code *)swi(0x3d); (*pcVar1)(); pcVar1 = (code *)swi(0x37); (*pcVar1)(); /* WARNING: Bad instruction - Truncating control flow here */ halt_baddata(); } // Function: FUN_1000_2044 at 1000:2044 void __cdecl16far FUN_1000_2044(void) { int *piVar1; undefined2 unaff_DS; FUN_1e78_02b8(); if (*(int *)0xd426 == 3) { *(undefined2 *)(*(int *)0xd214 * 2 + -0x2bd2) = *(undefined2 *)0x50d8; } else if (*(int *)0xd426 == 2) { *(undefined2 *)(*(int *)0xd214 * 2 + -0x29ce) = *(undefined2 *)0x50d8; } else if (*(int *)0xd426 == 1) { *(undefined2 *)(*(int *)0xd214 * 2 + -0x2e34) = *(undefined2 *)0x50d8; } else if (*(int *)0xd426 == 4) { piVar1 = (int *)(*(int *)0xd214 * 0x62 + 0x5348 + *(int *)0xd282 * 2); *piVar1 = *piVar1 + *(int *)0xd424 * 2; } *(undefined2 *)0xd426 = 0; return; } // Function: FUN_1000_20c4 at 1000:20c4 void __cdecl16far FUN_1000_20c4(void) { uint *puVar1; uint uVar2; bool bVar3; int iVar4; int iVar5; uint uVar6; undefined2 unaff_DS; int iVar7; FUN_1e78_02b8(); bVar3 = false; if (*(int *)0xa016 != 3) { *(undefined2 *)0xd20c = 0; } if (*(int *)0xa022 < 5) { iVar4 = *(int *)0xa022 * *(int *)0x4f36; } else { iVar4 = *(int *)0x4f36 * 5; } iVar4 = FUN_190c_23b0(iVar4); iVar4 = iVar4 + 1; FUN_1646_1272(*(int *)0xa016 * 0x18 + 0x4e); if (*(int *)0xd42a == 1) { FUN_190c_23b0(iVar4); iVar7 = 0x190c; iVar5 = FUN_190c_23b0(3); iVar4 = iVar4 + iVar7 / (iVar5 + 1); } if (((((*(int *)0x5332 * 5 < *(int *)0xd450) && (*(int *)0xa016 != 3)) && (iVar5 = FUN_190c_23b0(*(int *)0xa022 + 2), iVar5 == 0)) && ((*(int *)0xa016 != 0xb && (*(int *)0xa016 < 0x13)))) || ((2 < *(int *)0x57e8 && ((*(int *)0xa022 == 1 && (iVar5 = FUN_190c_23b0(3), iVar5 == 0)))))) { iVar4 = FUN_190c_23b0(*(int *)0xa022 + 3); if (iVar4 == 0) { FUN_190c_0092(0x16,0x14,0x17,0x4d); FUN_190c_0092(0xe,2,0x14,0x1d); *(int *)0xa018 = *(int *)0xa018 + 1; if (*(int *)0xa022 == 1) { FUN_190c_0f64(0x14f2,*(undefined2 *)0x57ea,0); } else { FUN_190c_0f64(0x1507,*(undefined2 *)0x57ea,0); } FUN_190c_37d0(); *(undefined2 *)0xd1c6 = 0; *(undefined2 *)0x57e8 = 0; *(undefined2 *)0x5334 = 0; puVar1 = (uint *)0xd446; uVar2 = *puVar1; *puVar1 = *puVar1 + 2; *(int *)0xd448 = *(int *)0xd448 + (uint)(0xfffd < uVar2); *(int *)0xd20a = *(int *)0xd20a + 2; FUN_190c_0092(5,0x1e,0x14,0x4e); } } else { FUN_190c_23b0(*(int *)0xd43a * 6); iVar7 = 0x190c; iVar5 = FUN_190c_23b0(*(int *)0x565a * 3); if (iVar5 < iVar7) { if (*(int *)0xa018 < iVar4) { *(undefined2 *)0xa018 = 0; } else { if (*(int *)0xa016 == 0xb) { FUN_190c_1016(0x10,0x25,*(undefined2 *)0x57ec,*(undefined2 *)0x57ea,0x151d); bVar3 = true; iVar5 = FUN_190c_23b0(*(int *)0xd43a + 3); if (iVar5 < *(int *)0x5342 / 3 + *(int *)0x565a) { FUN_1000_2eb8(0x1555); *(int *)0xd5dc = *(int *)0xd5dc + iVar4; puVar1 = (uint *)0xd446; uVar2 = *puVar1; *puVar1 = *puVar1 + 1; *(int *)0xd448 = *(int *)0xd448 + (uint)(0xfffe < uVar2); } else { *(int *)0xa018 = *(int *)0xa018 + iVar4 * -2; FUN_1000_2eb8(0x153f); puVar1 = (uint *)0xd446; uVar2 = *puVar1; *puVar1 = *puVar1 - 5; *(int *)0xd448 = *(int *)0xd448 - (uint)(uVar2 < 5); *(int *)0xd20a = *(int *)0xd20a + -1; } } else if (*(int *)0xa016 == 0x17) { FUN_1307_222c(0x1562); *(int *)0x2fa = *(int *)0x2fa + 1; if (*(int *)0x2fa == *(int *)0x565a + 2) { *(int *)0x5342 = *(int *)0x5342 + -1; FUN_1307_2194(1); *(undefined2 *)0x2fa = 0; FUN_190c_01de(0x13,4,*(undefined2 *)0x57ea,0x158d); } } else { *(int *)0xa018 = *(int *)0xa018 - iVar4; } if ((*(int *)0xa016 == 0x10) && (*(int *)0x50c2 == 2)) { FUN_190c_1016(0x10,0x27,*(undefined2 *)0x57ec,*(undefined2 *)0x57ea,0x15a6); *(undefined2 *)0x50c2 = 0; *(undefined2 *)(*(int *)0xd214 * 2 + 0x50c8) = *(undefined2 *)0x50d8; bVar3 = true; *(int *)0x5342 = *(int *)0x5342 + -2; } if (*(int *)0xa016 == 3) { if (*(int *)0xd20c == 0) { FUN_190c_23b0(*(int *)0xd43a + 3); iVar5 = 0x190c; iVar4 = FUN_190c_23b0(*(int *)0x565a + 3); if (iVar4 < iVar5) { *(undefined2 *)0xd20c = 1; FUN_1000_2572(); } } FUN_190c_23b0(*(int *)0xd43a + 1); iVar4 = *(int *)0x565a + 3; iVar7 = 0x190c; iVar5 = FUN_190c_23b0(); if (iVar5 < iVar7) { FUN_2504_0cfa(0x1a,1); FUN_190c_0092(0x16,0x14,0x17,0x4d); if (*(int *)0xd424 < 1) { FUN_1000_2eb8(0x15ec); } else { FUN_1000_2eb8(0x15c4); } FUN_2504_0cfa(0x1a,1); FUN_1307_2164(2); uVar6 = *(int *)0xd424 * 0xc; puVar1 = (uint *)0xd446; uVar2 = *puVar1; *puVar1 = *puVar1 + *(int *)0xd424 * -0xc; *(int *)0xd448 = (*(int *)0xd448 - ((int)uVar6 >> 0xf)) - (uint)(uVar2 < uVar6); *(undefined2 *)0xa028 = 0; *(undefined2 *)0xd426 = 0; FUN_1000_2b6c(); } else if (iVar4 == 0) { if (*(int *)0xa022 == 1) { FUN_1000_2c80(3); } else { FUN_1000_2c80(4); } } } else { if (!bVar3) { if (*(int *)0xa022 == 1) { FUN_1000_2c80(3); } else { FUN_1000_2c80(4); } } iVar4 = FUN_190c_23b0(0x14); if ((iVar4 == 0) && (*(int *)0xd212 == 1)) { FUN_190c_1016(0x10,0x28,*(undefined2 *)0x565c,*(undefined2 *)0x57ea,0x1615); *(undefined2 *)0xd212 = 0; } } } } else { FUN_1000_2c80(0x17); *(int *)0xd5dc = *(int *)0xd5dc + *(int *)0x4f36 * *(int *)0xa022; } } return; } // Function: FUN_1000_2572 at 1000:2572 undefined2 __cdecl16far FUN_1000_2572(void) { uint *puVar1; uint uVar2; int iVar3; uint uVar4; undefined2 uVar5; undefined2 unaff_DS; FUN_1e78_02b8(); if ((*(int *)0xa016 == 3) && (*(int *)0xd20e == 2)) { FUN_190c_1016(0x10,0x28,*(undefined2 *)0x565c,*(undefined2 *)0x57ea,0x162d); *(undefined2 *)0xd20e = 0; *(undefined2 *)0xd426 = 1; } else if ((*(int *)0xa016 == 3) && (*(int *)0xd41a == 2)) { FUN_190c_1016(0x10,0x29,*(undefined2 *)0x565c,*(undefined2 *)0x57ea,0x164d); *(undefined2 *)0xd41a = 0; *(undefined2 *)0xd426 = 2; } else if ((*(int *)0xa016 == 3) && (*(int *)0xd27e == 2)) { FUN_190c_1016(0x10,0x29,*(undefined2 *)0x565c,*(undefined2 *)0x57ea,0x166c); *(undefined2 *)0xd27e = 0; *(undefined2 *)0xd426 = 3; } else if ((*(int *)0xa016 == 3) && (2 < *(int *)0xa028)) { FUN_190c_1016(0x10,0x25,*(undefined2 *)0x565c,*(undefined2 *)0x57ea,0x168c); if (*(int *)0xa028 < 4) { *(undefined2 *)0xd424 = *(undefined2 *)0xa028; *(undefined2 *)0xa028 = 0; } else if ((*(int *)0xa028 < 5) || (0x1d < *(int *)0xa028)) { iVar3 = *(int *)0xa028; *(int *)0xd424 = iVar3 / 5; *(int *)0xa028 = *(int *)0xa028 - iVar3 / 5; } else { iVar3 = *(int *)0xa028; *(int *)0xd424 = iVar3 / 3; *(int *)0xa028 = *(int *)0xa028 - iVar3 / 3; } *(undefined2 *)0xd426 = 4; uVar4 = *(uint *)0xd424; puVar1 = (uint *)0xd446; uVar2 = *puVar1; *puVar1 = *puVar1 - uVar4; *(int *)0xd448 = (*(int *)0xd448 - ((int)uVar4 >> 0xf)) - (uint)(uVar2 < uVar4); } if (*(int *)0xd426 == 0) { uVar5 = FUN_1307_2164(2); } else { uVar5 = 1; } return uVar5; } // Function: FUN_1000_26d2 at 1000:26d2 void __cdecl16far FUN_1000_26d2(void) { bool bVar1; int iVar2; undefined2 uVar3; int iVar4; undefined2 unaff_DS; FUN_1e78_02b8(); iVar4 = 1; *(undefined2 *)0xd1c6 = 0; *(undefined2 *)0x5334 = 0; iVar2 = *(int *)0x50d4 / 500; if (2 < iVar2) { iVar2 = 2; } iVar2 = FUN_190c_23b0(iVar2 + 0x41); if (((iVar2 < 0x3f) || (*(int *)0xd200 < 0xc)) && ((*(int *)0xd200 < 0x2d || (iVar2 = FUN_190c_23b0(3), iVar2 != 0)))) { *(int *)0xd200 = *(int *)0xd200 + 1; } else { *(undefined2 *)0xd200 = 0; *(undefined2 *)0x5334 = 1; if (*(int *)0xd43a == 1) { uVar3 = FUN_190c_23b0(5); *(undefined2 *)0xa016 = uVar3; } if (*(int *)0xd43a == 2) { uVar3 = FUN_190c_23b0(0xc); *(undefined2 *)0xa016 = uVar3; if ((*(int *)0xa016 < 6) && (*(int *)0xa016 != 3)) { iVar4 = 2; } } if (*(int *)0xd43a == 3) { do { uVar3 = FUN_190c_23b0(0x12); *(undefined2 *)0xa016 = uVar3; bVar1 = false; if ((*(int *)0xa016 < 6) && (*(int *)0xa016 != 3)) { iVar2 = FUN_190c_23b0(2); if (iVar2 == 0) { iVar4 = 3; } else { bVar1 = true; *(undefined2 *)0x5334 = 0; } } if ((5 < *(int *)0xa016) && (*(int *)0xa016 < 0xd)) { iVar4 = 2; } } while (bVar1); } if (*(int *)0xd43a == 4) { do { uVar3 = FUN_190c_23b0(0x17); *(undefined2 *)0xa016 = uVar3; bVar1 = false; if ((*(int *)0xa016 < 6) && (*(int *)0xa016 != 3)) { iVar2 = FUN_190c_23b0(3); if (iVar2 == 0) { iVar4 = 4; } else { *(undefined2 *)0x5334 = 0; bVar1 = true; } } if ((5 < *(int *)0xa016) && (*(int *)0xa016 < 0xd)) { iVar2 = FUN_190c_23b0(2); if (iVar2 == 0) { iVar4 = 3; } else { *(undefined2 *)0x5334 = 0; bVar1 = true; } } if ((0xc < *(int *)0xa016) && (*(int *)0xa016 < 0x12)) { iVar4 = 2; } } while (bVar1); } iVar2 = FUN_190c_23b0(*(undefined2 *)(*(int *)0xa016 * 0x18 + 0x62)); iVar4 = (iVar2 + 1) * iVar4; *(int *)0xa022 = iVar4; *(int *)0x50c0 = iVar4; *(undefined2 *)0x4f36 = *(undefined2 *)(*(int *)0xa016 * 0x18 + 0x60); *(undefined2 *)0x5332 = *(undefined2 *)(*(int *)0xa016 * 0x18 + 0x5e); *(int *)0xd284 = (*(int *)0xa022 * *(int *)0x4f36 * *(int *)0x5332) / 2; *(undefined2 *)0x5338 = *(undefined2 *)(*(int *)0xa016 * 0x18 + 100); *(undefined2 *)0xd1c6 = 1; if ((*(int *)0xa016 == 3) && (*(int *)0xd43a == 1)) { *(undefined2 *)0xa022 = 1; } if ((*(int *)0xa016 == 3) && (iVar2 = FUN_190c_23b0(2), iVar2 == 0)) { *(undefined2 *)0xd1c6 = 0; *(undefined2 *)0x5334 = 0; } if (*(int *)0x5334 == 1) { iVar2 = FUN_190c_23b0(*(undefined2 *)(*(int *)0xa016 * 0x18 + 100)); if (*(int *)0xd1c8 < iVar2) { *(undefined2 *)0xd42a = 1; FUN_1000_20c4(); } else { FUN_190c_0092(0xf,3,0xf,0x1a); *(undefined2 *)0xd42a = 0; iVar2 = FUN_190c_23b0(3); if (iVar2 == 0) { FUN_1000_2eb8(0x16ad); } else { iVar2 = FUN_190c_23b0(3); if (iVar2 == 0) { FUN_1000_2eb8(0x16d3); } else { FUN_1000_2eb8(0x16e5); } } } } } return; } // Function: FUN_1000_29ca at 1000:29ca undefined2 __cdecl16far FUN_1000_29ca(void) { undefined2 uVar1; int iVar2; int iVar3; undefined2 unaff_DS; FUN_1e78_02b8(); if (*(int *)0xa018 < 1) { uVar1 = 1; } else { *(int *)0x50d4 = *(int *)0x50d4 + 1; iVar2 = FUN_190c_23b0(0x3c); if (iVar2 == 0) { iVar2 = FUN_190c_23b0(*(undefined2 *)0xd43a); iVar3 = FUN_190c_23b0(0x31); *(undefined2 *)(iVar2 * 0x62 + 0x5348 + iVar3 * 2) = 1; } iVar2 = FUN_190c_23b0(0x5a); if (iVar2 == 0) { iVar2 = FUN_190c_23b0(*(undefined2 *)0xd43a); iVar3 = FUN_190c_23b0(0x31); *(undefined2 *)(iVar2 * 0x62 + 0x57fa + iVar3 * 2) = 1; } if (*(int *)0x565a * 0x96 * (*(int *)0xd450 / 2 + *(int *)0xd450) < *(int *)0xd20a) { *(int *)0xd450 = *(int *)0xd450 + 1; if (9 < *(int *)0xd450) { *(undefined2 *)0xd450 = 9; } *(int *)0xd1c8 = *(int *)0x5342 + *(int *)0xd450 + *(int *)0x50d4 / 600; } if (9 < *(int *)0xd450) { *(undefined2 *)0xd450 = 9; } if ((*(int *)0x5342 / 2 + *(int *)0x5342) * 0xdc * *(int *)0x565a < *(int *)0xd5dc) { *(undefined2 *)0xd5dc = 0; *(int *)0x5342 = *(int *)0x5342 + 1; *(int *)0xd1c8 = *(int *)0x5342 + *(int *)0xd450 + *(int *)0x50d4 / 500; } if ((9 < *(int *)0x5342) && (*(int *)0x50c2 != 2)) { *(undefined2 *)0x5342 = 9; } if (*(int *)0x5342 + *(int *)0xd450 < 0x10) { if (*(int *)0x5342 + *(int *)0xd450 < 0xb) { if (*(int *)0x5342 + *(int *)0xd450 < 6) { *(undefined2 *)0x565a = 1; } else { *(undefined2 *)0x565a = 2; } } else { *(undefined2 *)0x565a = 3; } } else { *(undefined2 *)0x565a = 4; } FUN_1000_2efa(); uVar1 = 0; } return uVar1; } // Function: FUN_1000_2b6c at 1000:2b6c void __cdecl16far FUN_1000_2b6c(void) { undefined2 unaff_DS; FUN_1e78_02b8(); FUN_190c_0092(5,0x1e,0x14,0x4e); FUN_190c_1016(7,0x24,*(undefined2 *)0x57ea,*(undefined2 *)0x565c,0x1703); *(undefined2 *)0x5334 = 0; *(int *)0xa018 = *(int *)0xa018 + 1; return; } // Function: FUN_1000_2bb2 at 1000:2bb2 void __cdecl16far FUN_1000_2bb2(void) { undefined2 unaff_DS; FUN_1e78_02b8(); FUN_1307_222c(*(int *)0xd214 * 0xb7e + -0x5e36 + *(int *)0xd282 * 0x3c); return; } // Function: FUN_1000_2bde at 1000:2bde undefined2 __cdecl16far FUN_1000_2bde(int param_1,int param_2) { undefined2 uVar1; undefined2 unaff_DS; uVar1 = FUN_1e78_02b8(); if (param_1 == 2) { *(undefined2 *)0x2fc = 0xffff; *(undefined2 *)0x2fe = 0xffff; *(undefined2 *)0x300 = 0xffff; } if (param_1 == 0) { if (*(int *)0x2fc == -1) { uVar1 = FUN_190c_23b0(*(int *)0x5984 + -1); *(undefined2 *)0x2fc = uVar1; } if (*(int *)0x2fe == -1) { uVar1 = FUN_190c_23b0(*(int *)0x75b8 + -1); *(undefined2 *)0x2fe = uVar1; } if (*(int *)0x300 == -1) { uVar1 = FUN_190c_23b0(*(int *)0x7014 + -1); *(undefined2 *)0x300 = uVar1; } } if (param_2 == 1) { uVar1 = *(undefined2 *)0x2fc; } else if (param_2 == 2) { uVar1 = *(undefined2 *)0x2fe; } else if (param_2 == 3) { uVar1 = *(undefined2 *)0x300; } return uVar1; } // Function: FUN_1000_2c80 at 1000:2c80 void __cdecl16far FUN_1000_2c80(int param_1) { int iVar1; undefined2 unaff_DS; FUN_1e78_02b8(); if (param_1 == 0) { iVar1 = FUN_1000_2bde(0,1); } else if (param_1 == 8) { iVar1 = FUN_1000_2bde(0,3); } else if (param_1 == 10) { iVar1 = FUN_1000_2bde(0,2); } else { iVar1 = FUN_190c_23b0(*(int *)(param_1 * 0x2d2 + 0x5984) + -1); } if (((param_1 == 0x11) || (param_1 == 3)) || (param_1 == 4)) { FUN_190c_0092(0x16,0x14,0x16,0x4e); FUN_190c_01de(0x16,0x14,*(undefined2 *)0x57ec,param_1 * 0x2d2 + 0x5986 + iVar1 * 0x3c); } else if (param_1 == 0x17) { FUN_190c_0092(0x16,0x14,0x16,0x4e); FUN_190c_01de(0x16,0x14,*(undefined2 *)0x565c,iVar1 * 0x3c + -0x659c); } else if ((param_1 == 0x14) || (param_1 == 0x15)) { FUN_190c_0092(0x16,0x14,0x16,0x4e); FUN_190c_01de(0x16,0x14,*(undefined2 *)0x57f0,param_1 * 0x2d2 + 0x5986 + iVar1 * 0x3c); } else { FUN_1307_222c(param_1 * 0x2d2 + 0x5986 + iVar1 * 0x3c); } if (param_1 == 7) { *(undefined2 *)0x5334 = 0; FUN_190c_0092(0x16,0x14,0x16,0x4e); } if (param_1 == 5) { iVar1 = FUN_190c_23b0(1); if (iVar1 == 0) { *(undefined2 *)0xd1c6 = 0; *(undefined2 *)0x5334 = 0; } } return; } // Function: FUN_1000_2e4c at 1000:2e4c void __cdecl16far FUN_1000_2e4c(void) { undefined2 unaff_DS; FUN_1e78_02b8(); FUN_190c_0092(0x10,0x25,0x12,0x4b); FUN_190c_108c(0x10,0x31,*(undefined2 *)0x565c,*(undefined2 *)0x57ea,0x1726,2); FUN_1e78_22f2(0xd218,0x172c,*(undefined2 *)0xd43a); FUN_190c_01de(0x11,0x39,*(undefined2 *)0x565c,0xd218); return; } // Function: FUN_1000_2eb8 at 1000:2eb8 void __cdecl16far FUN_1000_2eb8(undefined2 param_1) { undefined2 unaff_DS; FUN_1e78_02b8(); FUN_190c_0092(0x16,0x14,0x16,0x4e); FUN_190c_01de(0x16,0x14,*(undefined2 *)0x57ec,param_1); return; } // Function: FUN_1000_2efa at 1000:2efa void __cdecl16far FUN_1000_2efa(void) { uint uVar1; uint uVar2; int iVar3; undefined2 unaff_DS; FUN_1e78_02b8(); uVar2 = *(int *)0xd42c + *(int *)0xa028; iVar3 = (int)uVar2 >> 0xf; FUN_190c_0092(2,1,3,0x4d,uVar2,iVar3); FUN_190c_0092(1,0x32,1,0x4d); FUN_1e78_22f2(0xd218,0x172f,*(undefined2 *)0xa018); FUN_190c_01de(1,0x32,*(undefined2 *)0x57e6,0xd218); uVar1 = *(uint *)0xd42c; FUN_1e78_22f2(0xd218,0x173e,uVar1 + uVar2,((int)uVar1 >> 0xf) + iVar3 + (uint)CARRY2(uVar1,uVar2)) ; FUN_190c_01de(3,5,*(undefined2 *)0x57ea,0xd218); FUN_1e78_22f2(0xd218,0x1749,*(undefined2 *)0x5342); FUN_190c_01de(3,0x1e,*(undefined2 *)0x57ea,0xd218); FUN_1e78_22f2(0xd218,0x1753,*(undefined2 *)0xd450); FUN_190c_01de(3,0x2d,*(undefined2 *)0x57ea,0xd218); FUN_1e78_22f2(0xd218,0x175d,*(undefined2 *)0xd43a); FUN_190c_01de(3,0x3c,*(undefined2 *)0x57ea,0xd218); return; } // Function: FUN_1000_3030 at 1000:3030 void __cdecl16far FUN_1000_3030(int *param_1) { undefined2 unaff_DS; FUN_1e78_02b8(); if (0x48 < *param_1) { *param_1 = *param_1 + -0x20; } return; } // Function: FUN_1000_304c at 1000:304c void __cdecl16far FUN_1000_304c(void) { FUN_1e78_02b8(); return; } // Function: FUN_1000_3054 at 1000:3054 void __cdecl16far FUN_1000_3054(void) { FUN_1e78_02b8(); return; } // Function: FUN_1000_3064 at 1000:3064 void __cdecl16far FUN_1000_3064(void) { FUN_1e78_02b8(); return; } // Function: FUN_1000_306c at 1000:306c void __cdecl16far FUN_1000_306c(void) { FUN_1e78_02b8(); return; } // Function: FUN_1307_0004 at 1307:0004 void __cdecl16far FUN_1307_0004(void) { bool bVar1; int iVar2; undefined2 unaff_DS; FUN_1e78_02b8(); bVar1 = false; if (*(int *)0x5334 == 1) { if (*(int *)0xa022 < 2) { FUN_1307_222c(0x177b); } else { FUN_1307_222c(0x1768); } FUN_1000_20c4(); } else { if (0 < *(int *)(*(int *)0xd214 * 0x62 + -0x5fc2 + *(int *)0xd282 * 2)) { iVar2 = FUN_190c_23b0(3); if (iVar2 < 2) { FUN_1307_222c(0x1790); } else { iVar2 = FUN_190c_23b0(3); if (iVar2 < 2) { FUN_1307_222c(0x17bb); } else { FUN_1307_222c(0x17e2); } } bVar1 = true; *(undefined2 *)0x5346 = 1; } if ((*(int *)0x50d8 == *(int *)(*(int *)0xd214 * 2 + -0x2d8c)) && (*(int *)0xd66a < 2)) { iVar2 = FUN_190c_23b0(3); if (iVar2 < 2) { FUN_1307_222c(0x17fb); } else { iVar2 = FUN_190c_23b0(3); if (iVar2 < 2) { FUN_1307_222c(0x1844); } else { FUN_1307_222c(0x1817); } } bVar1 = true; *(undefined2 *)0xd66a = 1; } if ((*(int *)0x50d8 == *(int *)(*(int *)0xd214 * 2 + -0x2be4)) && (!bVar1)) { iVar2 = FUN_190c_23b0(3); if (iVar2 < 2) { FUN_1307_222c(0x1861); } else { iVar2 = FUN_190c_23b0(3); if (iVar2 < 2) { FUN_1307_222c(0x1885); } else { FUN_1307_222c(0x18b8); } } bVar1 = true; } if ((*(int *)0x50d8 == *(int *)(*(int *)0xd214 * 2 + -0x2bc2)) && (!bVar1)) { iVar2 = FUN_190c_23b0(3); if (iVar2 < 2) { FUN_1307_222c(0x18de); } else { iVar2 = FUN_190c_23b0(3); if (iVar2 < 2) { FUN_1307_222c(0x18f8); } else { FUN_1307_222c(0x191d); } } bVar1 = true; *(undefined2 *)0xd26a = 1; } if (((*(int *)0x50d8 == *(int *)(*(int *)0xd214 * 2 + 0x50c8)) && (*(int *)0x50c2 < 2)) && (!bVar1)) { iVar2 = FUN_190c_23b0(3); if (iVar2 < 2) { FUN_1307_222c(0x1931); } else { iVar2 = FUN_190c_23b0(3); if (iVar2 < 2) { FUN_1307_222c(0x195e); } else { FUN_1307_222c(0x1992); } } bVar1 = true; *(undefined2 *)0x50c2 = 1; } if (((*(int *)0x50d8 == *(int *)(*(int *)0xd214 * 2 + -0x2e34)) && (*(int *)0xd20e < 2)) && (!bVar1)) { iVar2 = FUN_190c_23b0(3); if (iVar2 < 2) { FUN_1307_222c(0x19aa); } else { iVar2 = FUN_190c_23b0(3); if (iVar2 < 2) { FUN_1307_222c(0x19cd); } else { FUN_1307_222c(0x19ef); } } bVar1 = true; *(undefined2 *)0xd20e = 1; } if (((*(int *)0x50d8 == *(int *)(*(int *)0xd214 * 2 + -0x29ce)) && (*(int *)0xd41a < 2)) && (!bVar1)) { iVar2 = FUN_190c_23b0(3); if (iVar2 < 2) { FUN_1307_222c(0x1a1b); } else { iVar2 = FUN_190c_23b0(3); if (iVar2 < 2) { FUN_1307_222c(0x1a48); *(int *)0xa018 = *(int *)0xa018 + -1; } else { FUN_1307_222c(0x1a68); } } bVar1 = true; *(undefined2 *)0xd41a = 1; } if (((*(int *)0x50d8 == *(int *)(*(int *)0xd214 * 2 + -0x2bd2)) && (*(int *)0xd27e < 2)) && (!bVar1)) { iVar2 = FUN_190c_23b0(2); if (iVar2 == 1) { FUN_1307_222c(0x1a97); } else { FUN_1307_222c(0x1acc); } bVar1 = true; *(undefined2 *)0xd27e = 1; } if ((*(int *)0x50d8 == *(int *)(*(int *)0xd214 * 2 + 0x57f2)) && (!bVar1)) { iVar2 = FUN_190c_23b0(3); if (iVar2 < 2) { FUN_1307_222c(0x1aec); *(int *)0xa018 = *(int *)0xa018 + -1; } else { FUN_1307_222c(0x1b0c); } bVar1 = true; *(undefined2 *)0xa02c = 1; } if (((*(int *)(*(int *)0xd214 * 0x62 + -0x2d70 + *(int *)0xd282 * 2) == 1) && (!bVar1)) && (*(int *)0xa02a < 9)) { iVar2 = FUN_190c_23b0(2); if (iVar2 == 0) { FUN_1307_222c(0x1b5b); } else { FUN_1307_222c(0x1b41); } bVar1 = true; *(undefined2 *)0xd428 = 1; } if (((*(int *)(*(int *)0xd214 * 0x62 + 0x565e + *(int *)0xd282 * 2) == 1) && (!bVar1)) && (*(int *)0x4f30 < 6)) { iVar2 = FUN_190c_23b0(3); if (iVar2 < 2) { FUN_1307_222c(0x1b8e); } else { iVar2 = FUN_190c_23b0(3); if (iVar2 < 2) { FUN_1307_222c(0x1bb5); } else { FUN_1307_222c(0x1bcf); } } bVar1 = true; *(undefined2 *)0xa1c6 = 1; } if ((*(int *)(*(int *)0xd214 * 0x62 + 0x5348 + *(int *)0xd282 * 2) < 1) || (bVar1)) { if ((0 < *(int *)(*(int *)0xd214 * 0x62 + 0x57fa + *(int *)0xd282 * 2)) && (!bVar1)) { FUN_1000_2c80(10); bVar1 = true; } } else { FUN_1000_2c80(8); bVar1 = true; } if ((*(int *)(*(int *)0xd214 * 2 + -0x5fe6) == *(int *)0x50d8) && (!bVar1)) { bVar1 = true; FUN_1307_222c(0x1be3); } if ((((!bVar1) && (*(int *)(*(int *)0xd214 * 0x62 + 0x4f38 + *(int *)0xd282 * 2) == 1)) && (iVar2 = FUN_190c_23b0(3), iVar2 == 0)) && (*(int *)0xd212 != 1)) { iVar2 = FUN_190c_23b0(3); if (iVar2 < 2) { FUN_1307_222c(0x1bf7); } else { FUN_1307_222c(0x1c11); } bVar1 = true; } if (!bVar1) { FUN_1000_2bb2(); } } return; } // Function: FUN_1307_05c6 at 1307:05c6 void __cdecl16far FUN_1307_05c6(undefined2 param_1) { uint *puVar1; uint uVar2; bool bVar3; int iVar4; undefined2 unaff_DS; FUN_1e78_02b8(); bVar3 = false; iVar4 = FUN_1e78_202c(param_1,0x1c2e,3); if (iVar4 == 0) { bVar3 = true; if (*(int *)0xd28e == 2) { if (*(int *)0xd654 < 1) { FUN_1307_222c(0x1c61); } else { FUN_1307_222c(0x1c32); } *(undefined2 *)0xd28e = 0; } else { FUN_1307_222c(0x1c76); } } iVar4 = FUN_1e78_202c(param_1,0x1c93,3); if (iVar4 == 0) { bVar3 = true; if (*(int *)0xd268 < 1) { FUN_1307_222c(0x1cc3); } else { FUN_1307_222c(0x1c97); } } iVar4 = FUN_1e78_202c(param_1,0x1cea,3); if (((iVar4 == 0) || (iVar4 = FUN_1e78_202c(param_1,0x1cee,3), iVar4 == 0)) && (*(int *)0xa02c == 2)) { bVar3 = true; if (*(int *)0xd418 == 0) { FUN_1307_222c(0x1cf2); } else { FUN_1307_222c(0x1d1f); *(undefined2 *)0xa02c = 0; } } iVar4 = FUN_1e78_202c(param_1,0x1d4b,3); if (((iVar4 == 0) || (iVar4 = FUN_1e78_202c(param_1,0x1d4f,3), iVar4 == 0)) || (iVar4 = FUN_1e78_202c(param_1,0x1d53,3), iVar4 == 0)) { bVar3 = true; if (*(int *)0xa02a < 1) { FUN_1307_222c(0x1de0); } else { *(int *)0xa02a = *(int *)0xa02a + -1; iVar4 = FUN_190c_23b0(9); if (iVar4 == 2) { FUN_1307_222c(0x1d57); puVar1 = (uint *)0xd446; uVar2 = *puVar1; *puVar1 = *puVar1 - 10; *(int *)0xd448 = *(int *)0xd448 - (uint)(uVar2 < 10); iVar4 = FUN_190c_23b0(*(undefined2 *)0xd43a); *(int *)0xa018 = *(int *)0xa018 + (iVar4 + 1) * -3; } else { iVar4 = FUN_190c_23b0(0x32); if (iVar4 == 2) { FUN_1307_222c(0x1d78); puVar1 = (uint *)0xd446; uVar2 = *puVar1; *puVar1 = *puVar1 - 100; *(int *)0xd448 = *(int *)0xd448 - (uint)(uVar2 < 100); iVar4 = FUN_190c_23b0(*(undefined2 *)0xd43a); *(int *)0xa018 = *(int *)0xa018 + (iVar4 + 1) * -0x32; *(int *)0xd20a = *(int *)0xd20a + -4; *(int *)0xa02a = *(int *)0xa02a + -1; } else { FUN_1307_222c(0x1da6); *(int *)0xa02a = *(int *)0xa02a + -1; } } FUN_1646_1d22(); *(int *)0xa02a = *(int *)0xa02a + -1; } if (*(int *)0xa02a < 1) { *(undefined2 *)0xd428 = 0; } } iVar4 = FUN_1e78_202c(param_1,0x1e05,3); if (iVar4 == 0) { bVar3 = true; if (*(int *)0xd20e == 2) { FUN_1307_222c(0x1e09); *(undefined2 *)(*(int *)0xd214 * 2 + -0x2e34) = *(undefined2 *)0x50d8; *(undefined2 *)0xd20e = 1; } else { FUN_1307_222c(0x1e1e); } } iVar4 = FUN_1e78_202c(param_1,0x1e36,3); if (iVar4 == 0) { bVar3 = true; if (*(int *)0xd66a == 2) { FUN_1307_222c(0x1e3a); *(undefined2 *)(*(int *)0xd214 * 2 + -0x2d8c) = *(undefined2 *)0x50d8; *(undefined2 *)0xd66a = 1; } else { FUN_1307_222c(0x1e4d); } } iVar4 = FUN_1e78_202c(param_1,0x1e64,3); if (iVar4 == 0) { bVar3 = true; if (*(int *)0xd41a == 2) { FUN_1307_222c(0x1e68); *(undefined2 *)(*(int *)0xd214 * 2 + -0x29ce) = *(undefined2 *)0x50d8; } else { FUN_1307_222c(0x1e7c); } } iVar4 = FUN_1e78_202c(param_1,0x1e87,3); if (iVar4 == 0) { bVar3 = true; if (*(int *)0xd27e == 2) { if (0 < *(int *)0x50c4) { FUN_1307_222c(0x1e8b); *(undefined2 *)0xd27e = 0; } } else { FUN_1307_222c(0x1ee3); } } if (!bVar3) { FUN_1307_222c(0x1efb); } return; } // Function: FUN_1307_0914 at 1307:0914 void __cdecl16far FUN_1307_0914(int param_1) { uint *puVar1; uint uVar2; bool bVar3; int iVar4; int iVar5; uint uVar6; undefined2 unaff_DS; undefined2 uVar7; int iVar8; FUN_1e78_02b8(); bVar3 = false; iVar4 = FUN_1e78_202c(param_1,0x1f20,3); if (iVar4 == 0) { bVar3 = true; if (*(int *)(*(int *)0xd214 * 2 + -0x2be4) == *(int *)0x50d8) { if (*(int *)0xd28e == 2) { FUN_1307_222c(0x1f24); } else { FUN_1307_222c(0x1f56); *(undefined2 *)0xd28e = 2; iVar4 = FUN_190c_23b0(3); *(int *)0xd654 = iVar4 + 3; *(undefined2 *)(*(int *)0xd214 * 2 + -0x2be4) = 0xffff; *(undefined2 *)0xa03c = *(undefined2 *)0xd43a; } } else { FUN_1307_222c(0x1f73); } } iVar4 = FUN_1e78_202c(param_1,0x1f9d,3); if ((iVar4 == 0) || (iVar4 = FUN_1e78_202c(param_1,0x1fa1,3), iVar4 == 0)) { bVar3 = true; if (*(int *)(*(int *)0xd214 * 0x62 + -0x5fc2 + *(int *)0xd282 * 2) < 1) { FUN_1307_222c(0x1fe8); } else { FUN_1dce_0006(3,0); FUN_1dce_0006(2,0); FUN_190c_0092(0x17,0x14,0x17,0x4d); iVar4 = FUN_190c_23b0(0x1e); if (iVar4 < 0xf) { iVar4 = FUN_190c_23b0(0xc); uVar7 = 0x190c; FUN_1e78_22f2(0xd218,0x1fca,iVar4 + 4); FUN_1dce_0006(1,uVar7); } else { iVar4 = FUN_190c_23b0(7); uVar7 = 0x190c; FUN_1e78_22f2(0xd218,0x1fa5,iVar4 + 3); FUN_1dce_0006(0,uVar7); } FUN_190c_01de(0x17,0x14,*(undefined2 *)0x57ea,0xd218); *(undefined2 *)(*(int *)0xd214 * 0x62 + -0x5fc2 + *(int *)0xd282 * 2) = 0; } } iVar4 = FUN_1e78_202c(param_1,0x2004,3); if (iVar4 == 0) { bVar3 = true; if (*(int *)(*(int *)0xd214 * 2 + -0x2d8c) == *(int *)0x50d8) { if (*(int *)0xd66a == 2) { FUN_1307_222c(0x2008); } else { FUN_1307_222c(0x2039); *(undefined2 *)0xd66a = 2; *(undefined2 *)(*(int *)0xd214 * 2 + -0x2d8c) = 0xffff; } } else { FUN_1307_222c(0x2054); } } iVar4 = FUN_1e78_202c(param_1,0x2082,3); if (iVar4 == 0) { bVar3 = true; if (*(int *)(*(int *)0xd214 * 0x62 + 0x4f38 + *(int *)0xd282 * 2) == 0) { FUN_1307_222c(0x2086); } else if (*(int *)0xd212 == 1) { FUN_1307_222c(0x20a5); } else { FUN_1307_222c(0x20c9); *(undefined2 *)0xd212 = 1; *(undefined2 *)(*(int *)0xd214 * 0x62 + 0x4f38 + *(int *)0xd282 * 2) = 0; } } iVar4 = FUN_1e78_202c(param_1,0x20da,3); if (iVar4 == 0) { bVar3 = true; if ((*(int *)(*(int *)0xd214 * 0x62 + 0x5348 + *(int *)0xd282 * 2) == 0) && (*(int *)(*(int *)0xd214 * 0x62 + 0x57fa + *(int *)0xd282 * 2) == 0)) { FUN_1307_222c(0x20de); } else { iVar4 = FUN_190c_23b0(2); if (iVar4 == 0) { FUN_1307_222c(0x20ff); } else { FUN_1307_222c(0x2121); } } } iVar8 = 0x214c; iVar4 = param_1; iVar5 = FUN_1e78_202c(param_1,0x214c,3); if ((iVar5 == 0) && (((0 < iVar8 || (0 < iVar4)) || (*(int *)(*(int *)0xd214 * 2 + -0x2bc2) == *(int *)0x50d8)))) { bVar3 = true; FUN_1307_222c(0x2150); } iVar5 = 0x2169; iVar4 = FUN_1e78_202c(param_1,0x2169,3); if (iVar4 == 0) { bVar3 = true; if (iVar5 < 1) { iVar4 = FUN_190c_23b0(2); if (iVar4 == 0) { FUN_1307_222c(0x219c); } else { FUN_1307_222c(0x21ab); } } else { if (iVar5 == 1) { iVar4 = 0x1e78; FUN_1307_222c(0x216d); } else { FUN_1e78_22f2(0xd218,0x2183,iVar5); iVar4 = *(int *)0x565c; FUN_190c_01de(0x16,0x14,iVar4,0xd218); } *(int *)0xa028 = *(int *)0xa028 + iVar4; *(undefined2 *)(*(int *)0xd214 * 0x62 + 0x5348 + *(int *)0xd282 * 2) = 0; uVar6 = iVar4 * 0xb; puVar1 = (uint *)0xd446; uVar2 = *puVar1; *puVar1 = *puVar1 + uVar6; *(int *)0xd448 = *(int *)0xd448 + ((int)uVar6 >> 0xf) + (uint)CARRY2(uVar2,uVar6); FUN_1646_1d22(); } } iVar4 = param_1; iVar5 = FUN_1e78_202c(param_1,0x21cf,3); if (iVar5 == 0) { bVar3 = true; if (iVar4 < 1) { iVar4 = FUN_190c_23b0(2); if (iVar4 == 0) { FUN_1307_222c(0x21f8); } else { FUN_1307_222c(0x2209); } } else { if (iVar4 == 1) { iVar4 = 0x3e41; FUN_1307_222c(0x21d3); } else { FUN_1e78_22f2(0xd218,0x21e4,iVar4); iVar4 = 0x14; FUN_190c_01de(0x16,0x14,*(undefined2 *)0x565c,0xd218); } *(int *)0xd42c = *(int *)0xd42c + iVar4; *(undefined2 *)(*(int *)0xd214 * 0x62 + 0x57fa + *(int *)0xd282 * 2) = 0; uVar6 = iVar4 * 0x37; puVar1 = (uint *)0xd446; uVar2 = *puVar1; *puVar1 = *puVar1 + uVar6; *(int *)0xd448 = *(int *)0xd448 + ((int)uVar6 >> 0xf) + (uint)CARRY2(uVar2,uVar6); FUN_1646_1d22(); } } iVar4 = FUN_1e78_202c(param_1,0x2231,3); if (((iVar4 == 0) || (iVar4 = FUN_1e78_202c(param_1,0x2235,3), iVar4 == 0)) && (*(int *)(*(int *)0xd214 * 2 + -0x2bc2) == *(int *)0x50d8)) { if (*(int *)0xd26a == 0) { FUN_1307_222c(0x2278); } else { if (*(int *)0xd268 < 2) { FUN_1307_222c(0x2258); *(undefined2 *)0xd26a = 0; puVar1 = (uint *)0xd446; uVar2 = *puVar1; *puVar1 = *puVar1 + 200; *(int *)0xd448 = *(int *)0xd448 + (uint)(0xff37 < uVar2); FUN_1646_1d22(); *(undefined2 *)(*(int *)0xd214 * 2 + -0x2bc2) = 0xffff; iVar4 = FUN_190c_23b0(2); *(int *)0xd268 = iVar4 + 1; } else { FUN_1307_222c(0x2239); *(undefined2 *)0xd26a = 0; *(undefined2 *)(*(int *)0xd214 * 2 + -0x2bc2) = 0xffff; iVar4 = FUN_190c_23b0(1); *(int *)0xd268 = *(int *)0xd268 + iVar4 + 1; puVar1 = (uint *)0xd446; uVar2 = *puVar1; *puVar1 = *puVar1 + 100; *(int *)0xd448 = *(int *)0xd448 + (uint)(0xff9b < uVar2); } bVar3 = true; } } iVar4 = FUN_1e78_202c(param_1,0x2299,3); if (((iVar4 == 0) || (iVar4 = FUN_1e78_202c(param_1,0x229d,3), iVar4 == 0)) || (iVar4 = FUN_1e78_202c(param_1,0x22a1,3), iVar4 == 0)) { bVar3 = true; if (*(int *)(*(int *)0xd214 * 0x62 + -0x2d70 + *(int *)0xd282 * 2) == 1) { if (*(int *)0xd428 < 1) { FUN_1307_222c(0x22d4); } else { FUN_1307_222c(0x22a5); *(undefined2 *)0xd428 = 0; puVar1 = (uint *)0xd446; uVar2 = *puVar1; *puVar1 = *puVar1 + 100; *(int *)0xd448 = *(int *)0xd448 + (uint)(0xff9b < uVar2); FUN_1646_1d22(); *(undefined2 *)(*(int *)0xd214 * 0x62 + -0x2d70 + *(int *)0xd282 * 2) = 0; *(int *)0xa02a = *(int *)0xa02a + 1; } } else { FUN_1307_222c(0x22f1); } } iVar4 = FUN_1e78_202c(param_1,0x2318,3); if ((iVar4 == 0) || (iVar4 = FUN_1e78_202c(param_1,0x231c,3), iVar4 == 0)) { bVar3 = true; if (*(int *)(*(int *)0xd214 * 0x62 + 0x565e + *(int *)0xd282 * 2) == 1) { if (*(int *)0xa1c6 < 1) { FUN_1307_222c(0x2365); } else { iVar4 = FUN_190c_23b0(6); if (iVar4 == 0) { FUN_1307_222c(0x2346); } else { FUN_1307_222c(0x2320); puVar1 = (uint *)0xd446; uVar2 = *puVar1; *puVar1 = *puVar1 + 0x4b; *(int *)0xd448 = *(int *)0xd448 + (uint)(0xffb4 < uVar2); FUN_1646_1d22(); *(int *)0x4f30 = *(int *)0x4f30 + 1; } *(undefined2 *)0xa1c6 = 0; *(undefined2 *)(*(int *)0xd214 * 0x62 + 0x565e + *(int *)0xd282 * 2) = 0; } } else { FUN_1307_222c(0x238e); } } iVar4 = FUN_1e78_202c(param_1,0x23ad,3); if ((iVar4 == 0) && (*(int *)(*(int *)0xd214 * 2 + 0x50c8) == *(int *)0x50d8)) { if (*(int *)0x50c2 == 2) { FUN_1307_222c(0x23b1); iVar4 = FUN_190c_23b0(0x30); *(int *)(*(int *)0xd214 * 2 + 0x50c8) = iVar4 + 1; puVar1 = (uint *)0xd446; uVar2 = *puVar1; *puVar1 = *puVar1 + 10; *(int *)0xd448 = *(int *)0xd448 + (uint)(0xfff5 < uVar2); bVar3 = true; FUN_1646_1d22(); } if (*(int *)0x50c2 == 1) { FUN_1307_222c(0x23d0); *(undefined2 *)0x50c2 = 2; puVar1 = (uint *)0xd446; uVar2 = *puVar1; *puVar1 = *puVar1 + 600; *(int *)0xd448 = *(int *)0xd448 + (uint)(0xfda7 < uVar2); *(undefined2 *)(*(int *)0xd214 * 2 + 0x50c8) = 0xffff; *(int *)0x5342 = *(int *)0x5342 + 2; bVar3 = true; FUN_1646_1d22(); } } iVar4 = FUN_1e78_202c(param_1,0x23ea,3); if ((iVar4 == 0) && (*(int *)(*(int *)0xd214 * 2 + -0x2e34) == *(int *)0x50d8)) { if (*(int *)0xd20e == 2) { FUN_1307_222c(0x23ee); bVar3 = true; } if (*(int *)0xd20e == 1) { FUN_1307_222c(0x240c); bVar3 = true; *(undefined2 *)0xd20e = 2; puVar1 = (uint *)0xd446; uVar2 = *puVar1; *puVar1 = *puVar1 + 400; *(int *)0xd448 = *(int *)0xd448 + (uint)(0xfe6f < uVar2); FUN_1646_1d22(); *(undefined2 *)(*(int *)0xd214 * 2 + -0x2e34) = 0xffff; } } iVar4 = FUN_1e78_202c(param_1,0x241c,3); if ((iVar4 == 0) && (*(int *)(*(int *)0xd214 * 2 + -0x29ce) == *(int *)0x50d8)) { if (*(int *)0xd41a == 2) { FUN_1307_222c(0x2420); bVar3 = true; } if (*(int *)0xd41a == 1) { FUN_1307_222c(0x243d); *(undefined2 *)0xd41a = 2; puVar1 = (uint *)0xd446; uVar2 = *puVar1; *puVar1 = *puVar1 + 1000; *(int *)0xd448 = *(int *)0xd448 + (uint)(0xfc17 < uVar2); FUN_1646_1d22(); *(undefined2 *)(*(int *)0xd214 * 2 + -0x29ce) = 0xffff; bVar3 = true; } } iVar4 = FUN_1e78_202c(param_1,0x245f,3); if ((iVar4 == 0) || (iVar4 = FUN_1e78_202c(param_1,0x2463,3), iVar4 == 0)) { bVar3 = true; if (*(int *)(*(int *)0xd214 * 2 + 0x57f2) == *(int *)0x50d8) { if (*(int *)0xa02c == 2) { FUN_1307_222c(0x2467); } if (*(int *)0xa02c == 1) { FUN_1307_222c(0x249b); } *(undefined2 *)0xa02c = 2; iVar4 = FUN_190c_23b0(4); *(int *)0xd418 = iVar4 + 2; puVar1 = (uint *)0xd446; uVar2 = *puVar1; *puVar1 = *puVar1 + 0x4b0; *(int *)0xd448 = *(int *)0xd448 + (uint)(0xfb4f < uVar2); FUN_1646_1d22(); *(undefined2 *)(*(int *)0xd214 * 2 + 0x57f2) = 0xffff; *(undefined2 *)0xd44c = *(undefined2 *)0xd43a; } else { FUN_1307_222c(0x24cb); } } iVar4 = FUN_1e78_202c(param_1,0x2503,3); if ((iVar4 == 0) && (*(int *)(*(int *)0xd214 * 2 + -0x2bd2) == *(int *)0x50d8)) { if (*(int *)0xd27e == 2) { FUN_1307_222c(0x2507); bVar3 = true; } if (*(int *)0xd27e == 1) { FUN_1307_222c(0x2523); *(undefined2 *)0xd27e = 2; puVar1 = (uint *)0xd446; uVar2 = *puVar1; *puVar1 = *puVar1 + 5000; *(int *)0xd448 = *(int *)0xd448 + (uint)(0xec77 < uVar2); FUN_1646_1d22(); *(undefined2 *)(*(int *)0xd214 * 2 + -0x2bd2) = 0xffff; *(undefined2 *)0x50c4 = 2; bVar3 = true; } } if (bVar3) { if (*(int *)0x532e == 1) { FUN_190c_39d4(0x47,2,0); for (iVar4 = 0; iVar4 < 8000; iVar4 = iVar4 + 1) { } FUN_190c_39d4(0x43,2,0); for (iVar4 = 0; iVar4 < 10000; iVar4 = iVar4 + 1) { } FUN_190c_3be8(); } } else { FUN_1307_222c(0x2548); } return; } // Function: FUN_1307_13fe at 1307:13fe undefined2 __cdecl16far FUN_1307_13fe(undefined2 param_1) { uint *puVar1; uint uVar2; int iVar3; int iVar4; undefined2 unaff_DS; FUN_1e78_02b8(); iVar4 = 0; iVar3 = FUN_1832_030e(1); if (iVar3 == 0) { *(int *)0x304 = *(int *)0xd43a * 6 + 0x3c; } iVar3 = FUN_1e78_202c(param_1,0x2569,3); if ((iVar3 == 0) && (iVar3 = FUN_1832_030e(1), 0 < iVar3)) { iVar4 = 1; if (*(int *)0x304 < 0x14) { FUN_1307_222c(0x256d); } else { iVar3 = FUN_190c_23b0(3); if (iVar3 < 1) { FUN_1307_222c(0x25c3); } else { FUN_1307_222c(0x2597); } } *(int *)0x304 = *(int *)0x304 + *(int *)0x565a * -3; if (*(int *)0x304 < 1) { FUN_190c_0f64(0x25f0,*(undefined2 *)0x5344,0); iVar3 = FUN_190c_23b0(2); if (iVar3 == 0) { *(undefined2 *)(*(int *)0xd214 * 0x62 + 0x50da + *(int *)0xd282 * 2) = 0; } else { *(undefined2 *)(*(int *)0xd214 * 0x62 + -0x2bac + *(int *)0xd282 * 2) = 0; } *(int *)0x304 = *(int *)0xd43a * 6 + 0x3c; } } iVar3 = FUN_1e78_202c(param_1,0x2607,3); if ((iVar3 == 0) && (*(int *)0xd28e == 2)) { iVar4 = 1; if (*(int *)0x5334 == 1) { FUN_1000_1a20(); } else { FUN_1307_2194(); FUN_190c_01de(0xf,5,*(undefined2 *)0x57ec,0x260b); if (*(int *)0x532e == 1) { FUN_1000_3054(); } else { FUN_1307_2164(3); } FUN_1307_222c(0x2620); *(undefined2 *)0xd438 = 99; *(int *)0xd654 = *(int *)0xd654 + -1; iVar3 = FUN_1832_030e(1); if (0 < iVar3) { FUN_1832_030e(2); FUN_190c_0092(0xe,2,0x14,0x1d); FUN_1000_2eb8(0x2647); *(int *)0x304 = *(int *)0xd43a * 6 + 0x3c; *(undefined2 *)(*(int *)0xd214 * 0x62 + -0x2bac + *(int *)0xd282 * 2) = 0; *(undefined2 *)(*(int *)0xd214 * 0x62 + 0x50da + *(int *)0xd282 * 2) = 0; } } if (*(int *)0xd654 < 1) { FUN_190c_35ea(0x10,0x23,*(undefined2 *)0x57e6,*(undefined2 *)0x57ea,0x2660,0); *(undefined2 *)0xd28e = 0; *(int *)0xa018 = *(int *)0xa018 + -10; *(undefined2 *)(*(int *)0xd214 * 0x62 + 0x5348 + *(int *)0xd282 * 2) = 0; *(undefined2 *)(*(int *)0xd214 * 0x62 + 0x57fa + *(int *)0xd282 * 2) = 0; } } iVar3 = FUN_1e78_202c(param_1,0x2686,3); if (iVar3 == 0) { iVar4 = 1; if (*(int *)0xd268 < 1) { FUN_1307_222c(0x2774); } else if (*(int *)(*(int *)0xd214 * 2 + -0x2bc2) == *(int *)0x50d8) { FUN_1307_222c(0x268a); *(undefined2 *)0x57e8 = 0; *(undefined2 *)0x5334 = 0; puVar1 = (uint *)0xd446; uVar2 = *puVar1; *puVar1 = *puVar1 - 100; *(int *)0xd448 = *(int *)0xd448 - (uint)(uVar2 < 100); FUN_190c_0092(0xe,2,0x14,0x1d); FUN_1832_030e(2); FUN_1000_2eb8(0x26c2); iVar3 = FUN_190c_23b0(0xf); *(int *)0xa018 = *(int *)0xa018 - (iVar3 + 2); *(undefined2 *)(*(int *)0xd214 * 0x62 + -0x2bac + *(int *)0xd282 * 2) = 0; *(undefined2 *)(*(int *)0xd214 * 0x62 + 0x50da + *(int *)0xd282 * 2) = 0; *(int *)0xd268 = *(int *)0xd268 + -1; *(undefined2 *)(*(int *)0xd214 * 2 + -0x2bc2) = 0xffff; *(undefined2 *)(*(int *)0xd214 * 0x62 + 0x5348 + *(int *)0xd282 * 2) = 0; *(undefined2 *)(*(int *)0xd214 * 0x62 + 0x57fa + *(int *)0xd282 * 2) = 0; } else { FUN_1307_222c(0x26f6); *(undefined2 *)0xd438 = 0x62; *(int *)0xd268 = *(int *)0xd268 + -1; *(int *)0xd20a = *(int *)0xd20a + 1; iVar3 = FUN_1832_030e(1); if (iVar3 < 1) { *(undefined2 *)(*(int *)0xd214 * 0x62 + -0x2bac + *(int *)0xd282 * 2) = 0; *(undefined2 *)(*(int *)0xd214 * 0x62 + 0x50da + *(int *)0xd282 * 2) = 0; } else { *(int *)0x304 = *(int *)0x304 + -0x3c; if (*(int *)0x304 < 1) { FUN_1832_030e(2); FUN_190c_0092(0xe,2,0x14,0x1d); *(int *)0xd20a = *(int *)0xd20a + 4; puVar1 = (uint *)0xd446; uVar2 = *puVar1; *puVar1 = *puVar1 + 300; *(int *)0xd448 = *(int *)0xd448 + (uint)(0xfed3 < uVar2); FUN_1000_2eb8(0x272d); *(int *)0x304 = *(int *)0xd43a * 6 + 0x3c; *(undefined2 *)(*(int *)0xd214 * 0x62 + -0x2bac + *(int *)0xd282 * 2) = 0; *(undefined2 *)(*(int *)0xd214 * 0x62 + 0x50da + *(int *)0xd282 * 2) = 0; } else { FUN_1000_2eb8(0x2749); } } } } iVar3 = FUN_1e78_202c(param_1,0x27a5,3); if ((iVar3 == 0) && (*(int *)0xd66a == 2)) { iVar4 = 1; iVar3 = FUN_1832_030e(1); if (iVar3 < 1) { FUN_1000_14bc(); } else { if (*(int *)0xd436 == 0) { FUN_1307_222c(0x2860); } else { FUN_1307_2194(0); FUN_190c_01de(0xf,8,*(undefined2 *)0x57ec,0x27a9); FUN_190c_01de(0x10,8,*(undefined2 *)0x57ec,0x27ba); FUN_1307_2164(3); *(undefined2 *)0xd436 = 0; FUN_1307_222c(0x27ca); *(int *)0x304 = *(int *)0x304 - *(int *)0xd436; if (*(int *)0x304 < 1) { iVar3 = FUN_190c_23b0(1); if (iVar3 == 0) { *(undefined2 *)(*(int *)0xd214 * 0x62 + -0x2bac + *(int *)0xd282 * 2) = 0; } else { *(undefined2 *)(*(int *)0xd214 * 0x62 + 0x50da + *(int *)0xd282 * 2) = 0; } FUN_1832_030e(2); FUN_190c_0092(0xe,2,0x14,0x1d); *(int *)0x304 = *(int *)0xd43a * 6 + 0x3c; FUN_1307_222c(0x27f3); *(int *)0xd20a = *(int *)0xd20a + 5; puVar1 = (uint *)0xd446; uVar2 = *puVar1; *puVar1 = *puVar1 + 300; *(int *)0xd448 = *(int *)0xd448 + (uint)(0xfed3 < uVar2); FUN_1646_1d22(); } else { FUN_1307_222c(0x2825); puVar1 = (uint *)0xd446; uVar2 = *puVar1; *puVar1 = *puVar1 + 10; *(int *)0xd448 = *(int *)0xd448 + (uint)(0xfff5 < uVar2); } } iVar4 = 1; } } iVar3 = FUN_1e78_202c(param_1,0x287e,3); if (((iVar3 == 0) || (iVar3 = FUN_1e78_202c(param_1,0x2882,3), iVar3 == 0)) && (*(int *)0xa02c == 2)) { if (*(int *)0xd418 == 0) { FUN_1307_222c(0x2886); iVar4 = 1; } else { iVar3 = FUN_1832_030e(1); if (iVar3 < 1) { if (*(int *)0x5334 == 1) { FUN_1000_17de(); iVar4 = 1; } } else { FUN_1307_2194(1); FUN_190c_01de(0x12,8,*(undefined2 *)0x57ec,0x28ab); FUN_2504_0cfa(0x1a,1); FUN_1307_2164(4); FUN_1832_030e(2); iVar3 = FUN_190c_23b0(1); if (iVar3 == 0) { *(undefined2 *)(*(int *)0xd214 * 0x62 + 0x50da + *(int *)0xd282 * 2) = 0; } else { *(undefined2 *)(*(int *)0xd214 * 0x62 + -0x2bac + *(int *)0xd282 * 2) = 0; } *(int *)0xd418 = *(int *)0xd418 + -1; *(int *)0x304 = *(int *)0xd43a * 6 + 0x3c; FUN_190c_0092(5,0x1e,0x14,0x4e); FUN_1307_222c(0x28b6); *(int *)0xd20a = *(int *)0xd20a + 3; if (*(int *)0x5334 == 1) { FUN_1000_20c4(); if (*(int *)0x50c0 < 2) { FUN_190c_35ea(0xf,0x14,*(undefined2 *)0x565c,*(undefined2 *)0x57e6,0x2907,0); } else { FUN_190c_35ea(0xf,0x14,*(undefined2 *)0x565c,*(undefined2 *)0x57e6,0x28e2,0); } } iVar4 = 1; puVar1 = (uint *)0xd446; uVar2 = *puVar1; *puVar1 = *puVar1 + 0xdc; *(int *)0xd448 = *(int *)0xd448 + (uint)(0xff23 < uVar2); FUN_1646_1d22(); } if (iVar4 == 0) { iVar4 = 1; iVar3 = FUN_190c_23b0(2); if (iVar3 == 0) { FUN_1307_222c(0x292c); } else { FUN_1307_222c(0x295e); } *(int *)0xd418 = *(int *)0xd418 + -1; } if (*(int *)0xd418 == 0) { *(undefined2 *)0xa02c = 0; FUN_190c_35ea(0x10,0x28,*(undefined2 *)0x57e6,*(undefined2 *)0x57ea,0x2986,0); } } } iVar3 = FUN_1e78_202c(param_1,0x299e,3); if (((iVar3 == 0) || (iVar3 = FUN_1e78_202c(param_1,0x29a2,3), iVar3 == 0)) || (iVar3 = FUN_1e78_202c(param_1,0x29a6,3), iVar3 == 0)) { iVar4 = 1; if (*(int *)0xa02a < 1) { FUN_1307_222c(0x2a1a); } else { iVar3 = FUN_190c_23b0(9); if (iVar3 == 2) { FUN_1307_222c(0x29aa); puVar1 = (uint *)0xd446; uVar2 = *puVar1; *puVar1 = *puVar1 - 0xfa; *(int *)0xd448 = *(int *)0xd448 - (uint)(uVar2 < 0xfa); iVar3 = FUN_190c_23b0(*(int *)0xd43a * 0x19); *(int *)0xa018 = *(int *)0xa018 - (iVar3 + 4); *(int *)0xd20a = *(int *)0xd20a + -1; } else { iVar3 = FUN_190c_23b0(0x32); if (iVar3 == 2) { FUN_1307_222c(0x29cc); puVar1 = (uint *)0xd446; uVar2 = *puVar1; *puVar1 = *puVar1 - 1000; *(int *)0xd448 = *(int *)0xd448 - (uint)(uVar2 < 1000); iVar3 = FUN_190c_23b0(*(int *)0xd43a * 0x46); *(int *)0xa018 = *(int *)0xa018 - (iVar3 + 5); *(int *)0xd20a = *(int *)0xd20a + -4; } else { FUN_1307_222c(0x29f8); iVar3 = FUN_190c_23b0(*(int *)0xd43a * 0x28); *(int *)0xa018 = *(int *)0xa018 + iVar3 + 0xc; *(undefined2 *)0xd428 = 0; *(int *)0xd20a = *(int *)0xd20a + 2; puVar1 = (uint *)0xd446; uVar2 = *puVar1; *puVar1 = *puVar1 + 100; *(int *)0xd448 = *(int *)0xd448 + (uint)(0xff9b < uVar2); } } FUN_1646_1d22(); *(int *)0xa02a = *(int *)0xa02a + -1; } } iVar3 = FUN_1e78_202c(param_1,0x2a3f,3); if ((iVar3 == 0) && (*(int *)0xd212 == 1)) { iVar4 = 1; iVar3 = FUN_1832_030e(1); if (iVar3 < 1) { if (*(int *)0x5334 == 1) { FUN_1000_1c7c(1); } else { iVar4 = 2; } } else { *(int *)0xd20a = *(int *)0xd20a + 1; puVar1 = (uint *)0xd446; uVar2 = *puVar1; *puVar1 = *puVar1 + 2; *(int *)0xd448 = *(int *)0xd448 + (uint)(0xfffd < uVar2); FUN_1646_1d22(); *(int *)0x304 = *(int *)0x304 + *(int *)0x565a * -8; if (*(int *)0x304 < 1) { FUN_1307_222c(0x2a43); *(int *)0x304 = *(int *)0xd43a * 6 + 0x3c; iVar3 = FUN_190c_23b0(2); if (iVar3 == 0) { *(undefined2 *)(*(int *)0xd214 * 0x62 + 0x50da + *(int *)0xd282 * 2) = 0; } else { *(undefined2 *)(*(int *)0xd214 * 0x62 + -0x2bac + *(int *)0xd282 * 2) = 0; } FUN_1832_030e(2); } else if (*(int *)0x304 < 0x14) { FUN_1307_222c(0x2a67); } else if (*(int *)0x304 < 0x28) { FUN_1307_222c(0x2a86); } else { FUN_1307_222c(0x2a9c); } } } iVar3 = FUN_1e78_202c(param_1,0x2acb,3); if ((iVar3 == 0) && (*(int *)0xd20e == 2)) { iVar4 = 1; iVar3 = FUN_1832_030e(1); if (iVar3 < 1) { if (*(int *)0x5334 == 1) { FUN_1000_1c7c(2); } else { iVar4 = 2; } } else { *(int *)0xd20a = *(int *)0xd20a + 1; puVar1 = (uint *)0xd446; uVar2 = *puVar1; *puVar1 = *puVar1 + 10; *(int *)0xd448 = *(int *)0xd448 + (uint)(0xfff5 < uVar2); FUN_1646_1d22(); *(int *)0x304 = *(int *)0x304 + *(int *)0x565a * -10; if (*(int *)0x304 < 1) { FUN_1307_222c(0x2acf); *(int *)0x304 = *(int *)0xd43a * 6 + 0x3c; iVar3 = FUN_190c_23b0(1); if (iVar3 == 0) { *(undefined2 *)(*(int *)0xd214 * 0x62 + 0x50da + *(int *)0xd282 * 2) = 0; } else { *(undefined2 *)(*(int *)0xd214 * 0x62 + -0x2bac + *(int *)0xd282 * 2) = 0; } FUN_1832_030e(2); } else { FUN_1307_222c(0x2aed); } } } iVar3 = FUN_1e78_202c(param_1,0x2b07,3); if ((iVar3 == 0) && (*(int *)0xd41a == 2)) { iVar4 = 1; iVar3 = FUN_1832_030e(1); if (iVar3 < 1) { if (*(int *)0x5334 == 1) { FUN_1000_1c7c(3); } else { iVar4 = 2; } } else { *(int *)0xd20a = *(int *)0xd20a + 1; puVar1 = (uint *)0xd446; uVar2 = *puVar1; *puVar1 = *puVar1 + 0x14; *(int *)0xd448 = *(int *)0xd448 + (uint)(0xffeb < uVar2); FUN_1646_1d22(); *(int *)0x304 = *(int *)0x304 + *(int *)0x565a * -0x14; if (*(int *)0x304 < 1) { FUN_1307_222c(0x2b0b); *(int *)0x304 = *(int *)0xd43a * 6 + 0x3c; iVar3 = FUN_190c_23b0(1); if (iVar3 == 0) { *(undefined2 *)(*(int *)0xd214 * 0x62 + 0x50da + *(int *)0xd282 * 2) = 0; } else { *(undefined2 *)(*(int *)0xd214 * 0x62 + -0x2bac + *(int *)0xd282 * 2) = 0; } FUN_1832_030e(2); } else { FUN_1307_222c(0x2b2b); } } } iVar3 = FUN_1e78_202c(param_1,0x2b47,3); if ((iVar3 == 0) && (*(int *)0xd27e == 2)) { if (*(int *)0x50c4 < 1) { FUN_190c_35ea(0x10,0x24,*(undefined2 *)0x57e6,*(undefined2 *)0x57ea,0x2b4b,0); iVar4 = 1; FUN_1307_222c(0x2b68); *(undefined2 *)0xd27e = 0; } else { *(int *)0x50c4 = *(int *)0x50c4 + -1; *(undefined2 *)0x5334 = 0; FUN_190c_0092(0x16,0x14,0x17,0x4d); FUN_1000_0882(1); puVar1 = (uint *)0xd446; uVar2 = *puVar1; *puVar1 = *puVar1 + 300; *(int *)0xd448 = *(int *)0xd448 + (uint)(0xfed3 < uVar2); FUN_1646_1d22(); if (*(int *)0xd43a == 0) { FUN_190c_0092(5,1,0x17,0x4e); FUN_1646_1846(); return 2; } iVar4 = 1; } } if (iVar4 == 0) { iVar3 = FUN_190c_23b0(2); if (iVar3 == 0) { FUN_1307_222c(0x2b82); } else { FUN_1307_222c(0x2ba6); } } if (iVar4 == 2) { FUN_1307_222c(0x2bcd); } return 0; } // Function: FUN_1307_2164 at 1307:2164 void __cdecl16far FUN_1307_2164(int param_1) { int iVar1; undefined2 local_6; FUN_1e78_02b8(); for (local_6 = 0; local_6 < param_1; local_6 = local_6 + 1) { for (iVar1 = 0; iVar1 < 16000; iVar1 = iVar1 + 1) { } } return; } // Function: FUN_1307_2194 at 1307:2194 void __cdecl16far FUN_1307_2194(int param_1) { undefined2 unaff_DS; FUN_1e78_02b8(); if (param_1 == 1) { FUN_190c_0092(0xe,3,0x14,0x1a); } FUN_190c_03da(0xe,2,*(undefined2 *)0x57ec,5,0x1a,1,0); return; } // Function: FUN_1307_21e8 at 1307:21e8 void __cdecl16far FUN_1307_21e8(void) { undefined2 unaff_DS; FUN_1e78_02b8(); FUN_190c_0092(5,0x1e,0x14,0x4e); FUN_190c_03da(5,0x1e,*(undefined2 *)0x57ec,0xe,0x2f,1,0); return; } // Function: FUN_1307_222c at 1307:222c void __cdecl16far FUN_1307_222c(undefined2 param_1) { undefined2 unaff_DS; FUN_1e78_02b8(); FUN_190c_0092(0x17,0x14,0x17,0x4d); FUN_190c_01de(0x17,0x14,*(undefined2 *)0x57ea,param_1); return; } // Function: FUN_1307_226e at 1307:226e void __cdecl16far FUN_1307_226e(undefined2 param_1) { FUN_1e78_02b8(); FUN_190c_0092(0x17,0x14,0x17,0x4e); FUN_190c_01de(0x17,0x14,param_1,0x2bfa); FUN_2504_0cfa(0x1a,1); FUN_1e78_224a(); FUN_190c_0092(0x17,0x14,0x17,0x4e); return; } // Function: FUN_1534_000c at 1534:000c void __cdecl16far FUN_1534_000c(void) { int *piVar1; undefined1 *puVar2; char *pcVar3; int iVar4; undefined2 uVar5; int in_DX; int iVar6; int iVar7; undefined2 unaff_DS; undefined4 local_74; undefined2 *local_70 [7]; undefined2 local_62 [7]; undefined2 *local_54; byte local_52; undefined1 local_50; undefined2 *local_4e [25]; undefined2 uStack_1c; undefined2 uStack_1a; undefined2 uStack_18; undefined2 uStack_16; undefined2 ***pppuStack_14; int local_12; undefined2 local_10; int local_e; undefined2 local_c; undefined2 *local_a; undefined2 ***local_8; FUN_1e78_02b8(); local_8 = (undefined2 ***)0x33; local_a = (undefined2 *)0x1e78; local_c = 0x5367; pcVar3 = (char *)FUN_1e78_2542(); local_74 = (char *)CONCAT22(in_DX,pcVar3); if (((pcVar3 == (char *)0x0) && (in_DX == 0)) || (*local_74 == -0x31)) { *(undefined1 *)0x532c = 0; } else { *(undefined1 *)0x532c = 1; local_62[0] = 0; local_8 = (undefined2 ***)local_70; local_a = local_62; local_c = 0x33; local_e = 0x1e78; local_10 = 0x53bf; FUN_1e78_2272(); if (local_70[0] == (undefined2 *)0xffff) { *(undefined1 *)0x532d = 1; } else { *(undefined1 *)0x532d = 0; } } *(undefined2 *)0xd44c = 1; *(undefined2 *)0xd268 = 1; *(undefined2 *)0x565a = 1; *(undefined2 *)0xd43a = 1; *(undefined2 *)0xd1c8 = 1; *(undefined2 *)0x5342 = 1; *(undefined2 *)0xd450 = 1; *(undefined2 *)0xa03c = 1; *(undefined2 *)0xd1c4 = 0; *(undefined2 *)0xd426 = 0; iVar6 = 0; *(undefined2 *)0x50d4 = 0; *(undefined2 *)0xd214 = 0; *(undefined2 *)0xa028 = 0; *(undefined2 *)0xd42c = 0; *(undefined2 *)0xd212 = 0; *(undefined2 *)0x50c6 = 0; *(undefined2 *)0xd200 = 0; *(undefined2 *)0xd452 = 0; *(undefined2 *)0xd26a = 2; *(undefined2 *)0xa018 = 100; *(undefined2 *)0x532e = 1; *(undefined2 *)0x290 = 0; local_8 = (undefined2 ***)0x0; local_a = (undefined2 *)0x1e78; local_c = 0x5445; FUN_2504_3464(); local_8 = (undefined2 ***)0x2c89; local_a = (undefined2 *)0x2c8b; local_c = 0x2504; local_e = 0x5455; iVar4 = FUN_1e78_06d4(); *(int *)0xd43c = iVar4; if (iVar4 == 0) { local_8 = (undefined2 ***)0x2c95; local_a = (undefined2 *)0x2c97; local_c = 0x1e78; local_e = 0x546f; iVar4 = FUN_1e78_06d4(); *(int *)0xd43c = iVar4; if (iVar4 == 0) { local_8 = (undefined2 ***)0x0; local_a = (undefined2 *)0x1e78; local_c = 0x5481; FUN_2504_3464(); local_8 = (undefined2 ***)0x1; local_a = (undefined2 *)0x1; local_c = 0x2504; local_e = 0x5491; FUN_2504_0cfa(); local_8 = (undefined2 ***)0x2ca1; local_a = (undefined2 *)0x2504; local_c = 0x549d; FUN_1e78_073c(); local_8 = (undefined2 ***)0x0; local_a = (undefined2 *)0x1e78; local_c = 0x54a8; FUN_1e78_01cd(); } local_8 = (undefined2 ***)0x57f0; local_a = (undefined2 *)0x57ee; local_c = 0x57ec; local_e = 0x57ea; local_10 = 0x57e6; local_12 = 0x565c; pppuStack_14 = (undefined2 ***)0x1e78; uStack_16 = 0x54c8; FUN_190c_31d4(); if (*(int *)0x565c != 7) { *(undefined2 *)0x57f0 = 10; } pppuStack_14 = (undefined2 ***)*(int *)0x57f0; local_a = (undefined2 *)*(undefined2 *)0x57ee; local_c = *(undefined2 *)0x57ec; local_e = *(undefined2 *)0x57ea; local_10 = *(undefined2 *)0x57e6; local_12 = *(undefined2 *)0x565c; uStack_16 = 0x2cd3; uStack_18 = *(undefined2 *)0xd43c; uStack_1a = 0x190c; uStack_1c = 0x5503; local_8 = pppuStack_14; FUN_1e78_06ea(); } else { local_8 = (undefined2 ***)0x57f0; local_a = (undefined2 *)0x57ee; local_c = 0x57ec; local_e = 0x57ea; local_10 = 0x57e6; local_12 = 0x565c; pppuStack_14 = &local_8; uStack_16 = 0x2cea; uStack_18 = *(undefined2 *)0xd43c; uStack_1a = 0x1e78; uStack_1c = 0x5533; iVar4 = FUN_1e78_0722(); if (iVar4 < 7) { local_8 = (undefined2 ***)0x0; local_a = (undefined2 *)0x1e78; local_c = 0x5545; FUN_2504_3464(); local_8 = (undefined2 ***)0x1; local_a = (undefined2 *)0x1; local_c = 0x2504; local_e = 0x5555; FUN_2504_0cfa(); local_8 = (undefined2 ***)(7 - iVar4); local_a = (undefined2 *)0x2cff; local_c = 0x2504; local_e = 0x5567; FUN_1e78_073c(); local_8 = (undefined2 ***)0x2d1a; local_a = (undefined2 *)0x1e78; local_c = 0x5573; FUN_1e78_073c(); local_8 = (undefined2 ***)0x0; local_a = (undefined2 *)0x1e78; local_c = 0x557e; FUN_1e78_01cd(); } } local_8 = (undefined2 ***)0x2d4c; local_a = (undefined2 *)0x2d4e; local_c = 0x1e78; local_e = 0x558e; iVar4 = FUN_1e78_06d4(); *(int *)0xd27c = iVar4; if (iVar4 == 0) { local_8 = (undefined2 ***)0x0; local_a = (undefined2 *)0x1e78; local_c = 0x55a0; FUN_2504_3464(); local_8 = (undefined2 ***)0x2d5b; local_a = (undefined2 *)0x2504; local_c = 0x55ac; FUN_1e78_073c(); local_8 = (undefined2 ***)0x2; local_a = (undefined2 *)0x1e78; local_c = 0x55b8; FUN_1e78_01cd(); } for (iVar4 = 0; iVar4 < 10; iVar4 = iVar4 + 1) { local_8 = (undefined2 ***)(iVar4 * 0x14 + 0x5262); local_a = (undefined2 *)0x2d7b; local_c = *(undefined2 *)0xd27c; local_e = 0x1e78; local_10 = 0x55dc; FUN_1e78_0722(); local_8 = (undefined2 ***)local_4e; local_a = (undefined2 *)0x2d82; local_c = *(undefined2 *)0xd27c; local_e = 0x1e78; local_10 = 22000; FUN_1e78_0722(); local_8 = (undefined2 ***)(iVar4 * 4 + -0x2e28); local_a = (undefined2 *)0x2d86; local_c = *(undefined2 *)0xd27c; local_e = 0x1e78; local_10 = 0x560c; FUN_1e78_0722(); iVar7 = *(int *)0xd27c; piVar1 = (int *)(iVar7 + 2); *piVar1 = *piVar1 + -1; if (*(int *)(iVar7 + 2) < 0) { local_8 = (undefined2 ***)*(undefined2 *)0xd27c; local_a = (undefined2 *)0x1e78; local_c = 0x5639; local_50 = FUN_1e78_079a(); } else { puVar2 = (undefined1 *)*(int *)*(undefined2 *)0xd27c; piVar1 = (int *)*(undefined2 *)0xd27c; *piVar1 = *piVar1 + 1; local_50 = *puVar2; } } local_8 = (undefined2 ***)*(undefined2 *)0x57e6; local_a = (undefined2 *)*(undefined2 *)0x57f0; local_c = 0x1e78; local_e = 0x565b; FUN_1646_1a94(); local_8 = (undefined2 ***)0x2d8a; local_a = (undefined2 *)0xc; local_c = 0x19; local_e = 3; local_10 = 0x1646; local_12 = 0x5673; FUN_190c_01de(); local_8 = (undefined2 ***)0x0; local_a = (undefined2 *)0x1; local_c = 0x47; local_e = 0xd; local_10 = *(undefined2 *)0x57ea; local_12 = 4; pppuStack_14 = (undefined2 ***)0x6; uStack_16 = 0x190c; uStack_18 = 0x5696; FUN_190c_03da(); local_8 = (undefined2 ***)0x2da7; local_a = (undefined2 *)*(undefined2 *)0x57e6; local_c = 0x19; local_e = 7; local_10 = 0x190c; local_12 = 0x56ae; FUN_190c_01de(); for (iVar4 = 0; iVar4 < 10; iVar4 = iVar4 + 1) { local_8 = (undefined2 ***)(iVar4 * 0x14 + 0x5262); local_a = (undefined2 *)*(undefined2 *)0x57ea; local_c = 6; local_e = iVar4 + 9; local_10 = 0x190c; local_12 = 0x56d6; FUN_190c_01de(); local_8 = (undefined2 ***)*(undefined2 *)(iVar4 * 4 + -0x2e26); local_a = (undefined2 *)*(undefined2 *)(iVar4 * 4 + -0x2e28); local_c = 0x2dc4; local_e = 0xd218; local_10 = 0x190c; local_12 = 0x56f4; FUN_1e78_22f2(); local_8 = (undefined2 ***)0xd218; local_a = (undefined2 *)*(undefined2 *)0x57ea; local_c = 0x1d; local_e = iVar4 + 9; local_10 = 0x1e78; local_12 = 0x570c; FUN_190c_01de(); iVar7 = *(int *)(iVar4 * 4 + -0x2e26); if ((1 < iVar7) && ((2 < iVar7 || (0x49ef < *(uint *)(iVar4 * 4 + -0x2e28))))) { local_8 = (undefined2 ***)0x2dca; local_a = (undefined2 *)*(undefined2 *)0x565c; local_c = 0x32; local_e = iVar4 + 9; local_10 = 0x190c; local_12 = 0x573b; FUN_190c_01de(); } iVar7 = *(int *)(iVar4 * 4 + -0x2e26); if ((iVar7 < 3) && ((iVar7 < 2 || (*(uint *)(iVar4 * 4 + -0x2e28) < 0x49f0)))) { iVar7 = *(int *)(iVar4 * 4 + -0x2e26); if ((0 < iVar7) && ((1 < iVar7 || (0xadaf < *(uint *)(iVar4 * 4 + -0x2e28))))) { local_8 = (undefined2 ***)0x2dd9; local_a = (undefined2 *)*(undefined2 *)0x565c; local_c = 0x32; local_e = iVar4 + 9; local_10 = 0x190c; local_12 = 0x5781; FUN_190c_01de(); } } iVar7 = *(int *)(iVar4 * 4 + -0x2e26); if ((iVar7 < 2) && ((iVar7 < 1 || (*(uint *)(iVar4 * 4 + -0x2e28) < 0xadb0)))) { iVar7 = *(int *)(iVar4 * 4 + -0x2e26); if ((0 < iVar7) && ((1 < iVar7 || (0x387f < *(uint *)(iVar4 * 4 + -0x2e28))))) { local_8 = (undefined2 ***)0x2de5; local_a = (undefined2 *)*(undefined2 *)0x565c; local_c = 0x32; local_e = iVar4 + 9; local_10 = 0x190c; local_12 = 0x57c7; FUN_190c_01de(); } } iVar7 = *(int *)(iVar4 * 4 + -0x2e26); if ((iVar7 < 2) && ((iVar7 < 1 || (*(uint *)(iVar4 * 4 + -0x2e28) < 0x3880)))) { iVar7 = *(int *)(iVar4 * 4 + -0x2e26); if ((-1 < iVar7) && ((0 < iVar7 || (59999 < *(uint *)(iVar4 * 4 + -0x2e28))))) { local_8 = (undefined2 ***)0x2df1; local_a = (undefined2 *)*(undefined2 *)0x565c; local_c = 0x32; local_e = iVar4 + 9; local_10 = 0x190c; local_12 = 0x580d; FUN_190c_01de(); } } iVar7 = *(int *)(iVar4 * 4 + -0x2e26); if ((iVar7 < 1) && ((iVar7 < 0 || (*(uint *)(iVar4 * 4 + -0x2e28) < 60000)))) { iVar7 = *(int *)(iVar4 * 4 + -0x2e26); if ((-1 < iVar7) && ((0 < iVar7 || (39999 < *(uint *)(iVar4 * 4 + -0x2e28))))) { local_8 = (undefined2 ***)0x2e00; local_a = (undefined2 *)*(undefined2 *)0x565c; local_c = 0x32; local_e = iVar4 + 9; local_10 = 0x190c; local_12 = 0x5853; FUN_190c_01de(); } } iVar7 = *(int *)(iVar4 * 4 + -0x2e26); if ((iVar7 < 1) && ((iVar7 < 0 || (*(uint *)(iVar4 * 4 + -0x2e28) < 40000)))) { iVar7 = *(int *)(iVar4 * 4 + -0x2e26); if ((-1 < iVar7) && ((0 < iVar7 || (24999 < *(uint *)(iVar4 * 4 + -0x2e28))))) { local_8 = (undefined2 ***)0x2e0c; local_a = (undefined2 *)*(undefined2 *)0x565c; local_c = 0x32; local_e = iVar4 + 9; local_10 = 0x190c; local_12 = 0x5899; FUN_190c_01de(); } } iVar7 = *(int *)(iVar4 * 4 + -0x2e26); if ((iVar7 < 1) && ((iVar7 < 0 || (*(uint *)(iVar4 * 4 + -0x2e28) < 25000)))) { iVar7 = *(int *)(iVar4 * 4 + -0x2e26); if ((-1 < iVar7) && ((0 < iVar7 || (14999 < *(uint *)(iVar4 * 4 + -0x2e28))))) { local_8 = (undefined2 ***)0x2e18; local_a = (undefined2 *)*(undefined2 *)0x565c; local_c = 0x32; local_e = iVar4 + 9; local_10 = 0x190c; local_12 = 0x58df; FUN_190c_01de(); } } iVar7 = *(int *)(iVar4 * 4 + -0x2e26); if ((iVar7 < 1) && ((iVar7 < 0 || (*(uint *)(iVar4 * 4 + -0x2e28) < 15000)))) { iVar7 = *(int *)(iVar4 * 4 + -0x2e26); if ((-1 < iVar7) && ((0 < iVar7 || (9999 < *(uint *)(iVar4 * 4 + -0x2e28))))) { local_8 = (undefined2 ***)0x2e1e; local_a = (undefined2 *)*(undefined2 *)0x565c; local_c = 0x32; local_e = iVar4 + 9; local_10 = 0x190c; local_12 = 0x5925; FUN_190c_01de(); } } iVar7 = *(int *)(iVar4 * 4 + -0x2e26); if ((iVar7 < 1) && ((iVar7 < 0 || (*(uint *)(iVar4 * 4 + -0x2e28) < 10000)))) { iVar7 = *(int *)(iVar4 * 4 + -0x2e26); if ((-1 < iVar7) && ((0 < iVar7 || (4999 < *(uint *)(iVar4 * 4 + -0x2e28))))) { local_8 = (undefined2 ***)0x2e29; local_a = (undefined2 *)0x7; local_c = 0x32; local_e = iVar4 + 9; local_10 = 0x190c; local_12 = 0x596b; FUN_190c_01de(); } } iVar7 = *(int *)(iVar4 * 4 + -0x2e26); if ((iVar7 < 1) && ((iVar7 < 0 || (*(uint *)(iVar4 * 4 + -0x2e28) < 5000)))) { local_8 = (undefined2 ***)0x2e30; local_a = (undefined2 *)0x7; local_c = 0x32; local_e = iVar4 + 9; local_10 = 0x190c; local_12 = 0x599a; FUN_190c_01de(); } } local_8 = (undefined2 ***)0x2e3d; local_a = (undefined2 *)0xa; local_c = 8; local_e = 0x16; local_10 = 0x190c; local_12 = 0x59c1; FUN_190c_01de(); local_8 = (undefined2 ***)*(undefined2 *)0xd27c; local_a = (undefined2 *)0x190c; local_c = 0x59cd; FUN_1e78_05ee(); local_8 = (undefined2 ***)0x0; local_a = (undefined2 *)0x1e78; local_c = 23000; FUN_2504_3be6(); local_8 = (undefined2 ***)0x2504; local_a = (undefined2 *)0x59e0; uVar5 = FUN_1e78_224a(); *(undefined2 *)0xd272 = uVar5; local_8 = (undefined2 ***)0x1; local_a = (undefined2 *)0x1e78; local_c = 0x59ec; FUN_2504_3be6(); local_8 = (undefined2 ***)0x4e; local_a = (undefined2 *)0x14; local_c = 1; local_e = 5; local_10 = 0x2504; local_12 = 0x5a04; FUN_190c_0092(); local_8 = (undefined2 ***)0x11; local_a = (undefined2 *)0x2e7b; local_c = *(undefined2 *)0x57f0; local_e = *(undefined2 *)0x57e6; local_10 = 0x15; local_12 = 10; pppuStack_14 = (undefined2 ***)0x190c; uStack_16 = 0x5a24; FUN_190c_108c(); local_8 = (undefined2 ***)0xd656; local_a = (undefined2 *)0x11; local_c = *(undefined2 *)0x565c; local_e = 0x28; local_10 = 0xb; local_12 = 0x190c; pppuStack_14 = (undefined2 ***)0x5a40; FUN_190c_169c(); local_8 = (undefined2 ***)&local_54; local_a = (undefined2 *)0x190c; local_c = 0x5a4c; FUN_1e78_2554(); local_8 = (undefined2 ***)(uint)local_52; local_a = (undefined2 *)0x1e78; local_c = 0x5a5b; FUN_1e78_24de(); local_8 = (undefined2 ***)0x4e; local_a = (undefined2 *)0x14; local_c = 1; local_e = 5; local_10 = 0x1e78; local_12 = 0x5a73; FUN_190c_0092(); local_8 = (undefined2 ***)0x2e8d; local_a = (undefined2 *)*(undefined2 *)0x57ea; local_c = *(undefined2 *)0x565c; local_e = 0x10; local_10 = 8; local_12 = 0x190c; pppuStack_14 = (undefined2 ***)0x5a8f; FUN_190c_1016(); local_8 = (undefined2 ***)0x2ebc; local_a = (undefined2 *)*(undefined2 *)0x57e6; local_c = *(undefined2 *)0x565c; local_e = 0x1e; local_10 = 0xb; local_12 = 0x190c; pppuStack_14 = (undefined2 ***)0x5aab; FUN_190c_1016(); local_8 = (undefined2 ***)0x1; local_a = (undefined2 *)0x1a; local_c = 0x190c; local_e = 0x5abb; FUN_2504_0cfa(); local_8 = (undefined2 ***)0x5; local_a = (undefined2 *)0x2504; local_c = 0x5ac7; iVar4 = FUN_190c_23b0(); if (iVar4 < 4) { local_8 = (undefined2 ***)0x5; local_a = (undefined2 *)0x190c; local_c = 0x5b15; iVar4 = FUN_190c_23b0(); if (iVar4 < 3) { local_8 = (undefined2 ***)0x2f13; local_a = (undefined2 *)0x2f15; local_c = 0x190c; local_e = 0x5b67; iVar4 = FUN_1e78_06d4(); *(int *)0xd27c = iVar4; if (iVar4 == 0) { local_8 = (undefined2 ***)0x0; local_a = (undefined2 *)0x1e78; local_c = 0x5b79; FUN_2504_3464(); local_8 = (undefined2 ***)0x2f1d; local_a = (undefined2 *)0x2504; local_c = 0x5b85; FUN_1e78_073c(); local_8 = (undefined2 ***)0x2; local_a = (undefined2 *)0x1e78; local_c = 0x5b91; FUN_1e78_01cd(); } } else { local_8 = (undefined2 ***)0x2eef; local_a = (undefined2 *)0x2ef1; local_c = 0x190c; local_e = 0x5b2a; iVar4 = FUN_1e78_06d4(); *(int *)0xd27c = iVar4; if (iVar4 == 0) { local_8 = (undefined2 ***)0x0; local_a = (undefined2 *)0x1e78; local_c = 0x5b3c; FUN_2504_3464(); local_8 = (undefined2 ***)0x2ef9; local_a = (undefined2 *)0x2504; local_c = 0x5b48; FUN_1e78_073c(); local_8 = (undefined2 ***)0x2; local_a = (undefined2 *)0x1e78; local_c = 0x5b54; FUN_1e78_01cd(); } } } else { local_8 = (undefined2 ***)0x2ecb; local_a = (undefined2 *)0x2ecd; local_c = 0x190c; local_e = 0x5adc; iVar4 = FUN_1e78_06d4(); *(int *)0xd27c = iVar4; if (iVar4 == 0) { local_8 = (undefined2 ***)0x0; local_a = (undefined2 *)0x1e78; local_c = 0x5aee; FUN_2504_3464(); local_8 = (undefined2 ***)0x2ed5; local_a = (undefined2 *)0x2504; local_c = 0x5afa; FUN_1e78_073c(); local_8 = (undefined2 ***)0x2; local_a = (undefined2 *)0x1e78; local_c = 0x5b06; FUN_1e78_01cd(); } } for (iVar4 = 0; iVar4 < 4; iVar4 = iVar4 + 1) { local_8 = (undefined2 ***)(iVar4 * 0xb7e + -0x5e38); local_a = (undefined2 *)0x2f37; local_c = *(undefined2 *)0xd27c; local_e = 0x1e78; local_10 = 0x5bb4; local_12 = FUN_1e78_0722(); iVar7 = *(int *)0xd27c; piVar1 = (int *)(iVar7 + 2); *piVar1 = *piVar1 + -1; if (*(int *)(iVar7 + 2) < 0) { local_8 = (undefined2 ***)*(undefined2 *)0xd27c; local_a = (undefined2 *)0x1e78; local_c = 0x5be3; local_50 = FUN_1e78_079a(); } else { puVar2 = (undefined1 *)*(int *)*(undefined2 *)0xd27c; piVar1 = (int *)*(undefined2 *)0xd27c; *piVar1 = *piVar1 + 1; local_50 = *puVar2; } if (local_12 != 0) { local_e = iVar6; for (iVar7 = 0; iVar6 = local_e, iVar7 < *(int *)(iVar4 * 0xb7e + -0x5e38); iVar7 = iVar7 + 1) { local_8 = (undefined2 ***)(iVar4 * 0xb7e + -0x5e36 + iVar7 * 0x3c); local_a = (undefined2 *)0x2f3a; local_c = *(undefined2 *)0xd27c; local_e = 0x1e78; local_10 = 0x5c2c; FUN_1e78_0722(); local_8 = (undefined2 ***)local_4e; local_a = (undefined2 *)0x2f41; local_c = *(undefined2 *)0xd27c; local_e = 0x1e78; local_10 = 0x5c40; FUN_1e78_0722(); } } iVar7 = *(int *)0xd27c; piVar1 = (int *)(iVar7 + 2); *piVar1 = *piVar1 + -1; if (*(int *)(iVar7 + 2) < 0) { local_8 = (undefined2 ***)*(undefined2 *)0xd27c; local_a = (undefined2 *)0x1e78; local_c = 0x5c75; local_50 = FUN_1e78_079a(); } else { puVar2 = (undefined1 *)*(int *)*(undefined2 *)0xd27c; piVar1 = (int *)*(undefined2 *)0xd27c; *piVar1 = *piVar1 + 1; local_50 = *puVar2; } } do { local_8 = (undefined2 ***)(iVar6 * 0x2d2 + 0x5984); local_a = (undefined2 *)0x2f45; local_c = *(undefined2 *)0xd27c; local_e = 0x1e78; local_10 = 0x5ca2; local_12 = FUN_1e78_0722(); iVar4 = *(int *)0xd27c; piVar1 = (int *)(iVar4 + 2); *piVar1 = *piVar1 + -1; if (*(int *)(iVar4 + 2) < 0) { local_8 = (undefined2 ***)*(undefined2 *)0xd27c; local_a = (undefined2 *)0x1e78; local_c = 0x5cd1; local_50 = FUN_1e78_079a(); } else { puVar2 = (undefined1 *)*(int *)*(undefined2 *)0xd27c; piVar1 = (int *)*(undefined2 *)0xd27c; *piVar1 = *piVar1 + 1; local_50 = *puVar2; } if (local_12 != 0) { for (iVar4 = 0; iVar4 < *(int *)(iVar6 * 0x2d2 + 0x5984); iVar4 = iVar4 + 1) { local_8 = (undefined2 ***)(iVar6 * 0x2d2 + 0x5986 + iVar4 * 0x3c); local_a = (undefined2 *)0x2f48; local_c = *(undefined2 *)0xd27c; local_e = 0x1e78; local_10 = 0x5d1a; FUN_1e78_0722(); local_8 = (undefined2 ***)local_4e; local_a = (undefined2 *)0x2f4f; local_c = *(undefined2 *)0xd27c; local_e = 0x1e78; local_10 = 0x5d2e; FUN_1e78_0722(); } } iVar4 = *(int *)0xd27c; piVar1 = (int *)(iVar4 + 2); *piVar1 = *piVar1 + -1; if (*(int *)(iVar4 + 2) < 0) { local_8 = (undefined2 ***)*(undefined2 *)0xd27c; local_a = (undefined2 *)0x1e78; local_c = 0x5d63; local_50 = FUN_1e78_079a(); } else { puVar2 = (undefined1 *)*(int *)*(undefined2 *)0xd27c; piVar1 = (int *)*(undefined2 *)0xd27c; *piVar1 = *piVar1 + 1; local_50 = *puVar2; } iVar6 = iVar6 + 1; } while (local_12 != 0); local_8 = (undefined2 ***)0x2f53; local_a = (undefined2 *)*(undefined2 *)0x57ea; local_c = *(undefined2 *)0x565c; local_e = 0x18; local_10 = 0xe; local_12 = 0x1e78; pppuStack_14 = (undefined2 ***)0x5d8c; FUN_190c_1016(); local_8 = (undefined2 ***)0x1; local_a = (undefined2 *)0x1a; local_c = 0x190c; local_e = 0x5d9c; FUN_2504_0cfa(); local_8 = (undefined2 ***)0x2504; local_a = (undefined2 *)0x5da4; FUN_1534_0ac0(); local_8 = (undefined2 ***)*(undefined2 *)0xd27c; local_a = (undefined2 *)0x1534; local_c = 0x5dad; FUN_1e78_05ee(); local_8 = (undefined2 ***)0x0; local_a = (undefined2 *)0x1e78; local_c = 0x5db8; FUN_2504_3464(); local_8 = (undefined2 ***)*(undefined2 *)0x57ea; local_a = (undefined2 *)*(undefined2 *)0x565c; local_c = 0x2504; local_e = 0x5dc8; FUN_1646_1d5a(); local_8 = (undefined2 ***)0x4e; local_a = (undefined2 *)0x17; local_c = 1; local_e = 5; local_10 = 0x1646; local_12 = 0x5de0; FUN_190c_0092(); local_8 = (undefined2 ***)0x190c; local_a = (undefined2 *)0x5de8; FUN_1646_1e26(); local_8 = (undefined2 ***)*(undefined2 *)0x565c; local_a = (undefined2 *)0x1646; local_c = 0x5df1; FUN_1646_1dae(); local_8 = (undefined2 ***)0x1646; local_a = (undefined2 *)0x5df9; FUN_1646_1cd2(); return; } // Function: FUN_1534_0ac0 at 1534:0ac0 /* WARNING: Removing unreachable block (ram,0x000163c2) */ /* WARNING: Removing unreachable block (ram,0x000163dc) */ /* WARNING: Removing unreachable block (ram,0x000163df) */ void __cdecl16far FUN_1534_0ac0(void) { int iVar1; undefined2 uVar2; int iVar3; int iVar4; int iVar5; int iVar6; int iVar7; undefined2 unaff_DS; FUN_1e78_02b8(); iVar1 = FUN_190c_23b0(6); *(int *)0xa03a = iVar1 + 1; iVar1 = FUN_190c_23b0(6); *(int *)0x5330 = iVar1 + 1; iVar1 = (*(int *)0xa03a + -1) * 7 + *(int *)0x5330; *(int *)0x50d8 = iVar1; *(int *)0xd282 = iVar1 + -1; for (iVar1 = 0; iVar1 < 4; iVar1 = iVar1 + 1) { for (iVar7 = 0; iVar7 < 0x31; iVar7 = iVar7 + 1) { *(undefined2 *)(iVar1 * 0x62 + 0x54d0 + iVar7 * 2) = 0; } } for (iVar1 = 0; iVar1 < 4; iVar1 = iVar1 + 1) { uVar2 = FUN_1534_10ce(); *(undefined2 *)(iVar1 * 2 + -0x2bd2) = uVar2; uVar2 = *(undefined2 *)(iVar1 * 2 + -0x2bd2); *(undefined2 *)(iVar1 * 2 + -0x5fe6) = uVar2; *(undefined2 *)(iVar1 * 2 + -0x29ce) = uVar2; *(undefined2 *)(iVar1 * 2 + -0x2e34) = uVar2; *(undefined2 *)(iVar1 * 2 + 0x50c8) = uVar2; *(undefined2 *)(iVar1 * 2 + 0x57f2) = uVar2; while (*(int *)(iVar1 * 2 + 0x50c8) == *(int *)(iVar1 * 2 + -0x2bd2)) { uVar2 = FUN_1534_10ce(); *(undefined2 *)(iVar1 * 2 + 0x50c8) = uVar2; } while ((*(int *)(iVar1 * 2 + 0x57f2) == *(int *)(iVar1 * 2 + -0x2bd2) || (*(int *)(iVar1 * 2 + 0x57f2) == *(int *)(iVar1 * 2 + 0x50c8)))) { uVar2 = FUN_1534_10ce(); *(undefined2 *)(iVar1 * 2 + 0x57f2) = uVar2; } while (((*(int *)(iVar1 * 2 + -0x2e34) == *(int *)(iVar1 * 2 + -0x2bd2) || (*(int *)(iVar1 * 2 + -0x2e34) == *(int *)(iVar1 * 2 + 0x50c8))) || (*(int *)(iVar1 * 2 + -0x2e34) == *(int *)(iVar1 * 2 + 0x57f2)))) { uVar2 = FUN_1534_10ce(); *(undefined2 *)(iVar1 * 2 + -0x2e34) = uVar2; } while (((*(int *)(iVar1 * 2 + -0x29ce) == *(int *)(iVar1 * 2 + -0x2bd2) || (*(int *)(iVar1 * 2 + -0x29ce) == *(int *)(iVar1 * 2 + 0x50c8))) || ((*(int *)(iVar1 * 2 + -0x29ce) == *(int *)(iVar1 * 2 + 0x57f2) || (*(int *)(iVar1 * 2 + -0x29ce) == *(int *)(iVar1 * 2 + -0x2e34)))))) { uVar2 = FUN_1534_10ce(); *(undefined2 *)(iVar1 * 2 + -0x29ce) = uVar2; } while (((*(int *)(iVar1 * 2 + -0x5fe6) == *(int *)(iVar1 * 2 + -0x2bd2) || (*(int *)(iVar1 * 2 + -0x5fe6) == *(int *)(iVar1 * 2 + 0x50c8))) || ((*(int *)(iVar1 * 2 + -0x5fe6) == *(int *)(iVar1 * 2 + 0x57f2) || ((*(int *)(iVar1 * 2 + -0x5fe6) == *(int *)(iVar1 * 2 + -0x2e34) || (*(int *)(iVar1 * 2 + -0x5fe6) == *(int *)(iVar1 * 2 + -0x29ce)))))))) { uVar2 = FUN_1534_10ce(); *(undefined2 *)(iVar1 * 2 + -0x5fe6) = uVar2; } while ((((*(int *)(iVar1 * 2 + -0x2be4) == *(int *)(iVar1 * 2 + -0x2bd2) || (*(int *)(iVar1 * 2 + -0x2be4) == *(int *)(iVar1 * 2 + -0x29ce))) || (*(int *)(iVar1 * 2 + -0x2be4) == *(int *)(iVar1 * 2 + 0x57f2))) || (*(int *)(iVar1 * 2 + -0x2be4) == *(int *)(iVar1 * 2 + -0x2e34)))) { uVar2 = FUN_1534_10ce(); *(undefined2 *)(iVar1 * 2 + -0x2be4) = uVar2; } while (((*(int *)(iVar1 * 2 + -0x2d8c) == *(int *)(iVar1 * 2 + -0x2bd2) || (*(int *)(iVar1 * 2 + -0x2d8c) == *(int *)(iVar1 * 2 + -0x29ce))) || ((*(int *)(iVar1 * 2 + -0x2d8c) == *(int *)(iVar1 * 2 + 0x57f2) || ((*(int *)(iVar1 * 2 + -0x2d8c) == *(int *)(iVar1 * 2 + -0x2e34) || (*(int *)(iVar1 * 2 + -0x2d8c) == *(int *)(iVar1 * 2 + -0x2be4)))))))) { uVar2 = FUN_1534_10ce(); *(undefined2 *)(iVar1 * 2 + -0x2d8c) = uVar2; } uVar2 = FUN_1534_10ce(); *(undefined2 *)(iVar1 * 2 + -0x2bc2) = uVar2; uVar2 = FUN_1534_10ce(); *(undefined2 *)(iVar1 * 2 + -0x2d7a) = uVar2; while (*(int *)(iVar1 * 2 + 0x533a) == *(int *)(iVar1 * 2 + -0x2d7a)) { uVar2 = FUN_1534_10ce(); *(undefined2 *)(iVar1 * 2 + 0x533a) = uVar2; } while ((*(int *)(iVar1 * 2 + -0x5fd0) == *(int *)(iVar1 * 2 + 0x533a) || (*(int *)(iVar1 * 2 + -0x5fd0) == *(int *)(iVar1 * 2 + -0x2d7a)))) { uVar2 = FUN_1534_10ce(); *(undefined2 *)(iVar1 * 2 + -0x5fd0) = uVar2; } } *(undefined2 *)0xd41c = 0xffff; *(undefined2 *)0xd430 = 0xffff; *(undefined2 *)0xd42e = 0xffff; *(undefined2 *)0xd632 = 0xffff; for (iVar1 = 0; iVar1 < 4; iVar1 = iVar1 + 1) { for (iVar7 = 0; iVar7 < 0x31; iVar7 = iVar7 + 1) { iVar3 = FUN_190c_23b0(iVar1 * iVar1 * iVar1 * iVar1 * iVar1 + iVar1 * iVar1 + 5); iVar4 = FUN_190c_23b0(2); iVar5 = FUN_190c_23b0(2); *(int *)(iVar1 * 0x62 + 0x5348 + iVar7 * 2) = iVar3 * iVar4 * iVar5; iVar3 = FUN_190c_23b0(2); iVar4 = FUN_190c_23b0(iVar1 * iVar1 * iVar1 + iVar1 * iVar1 + 3); iVar5 = FUN_190c_23b0(2); iVar6 = FUN_190c_23b0(2); *(int *)(iVar1 * 0x62 + 0x57fa + iVar7 * 2) = iVar3 * iVar4 * iVar5 * iVar6; iVar3 = FUN_190c_23b0(2); iVar4 = FUN_190c_23b0(2); *(int *)(iVar1 * 0x62 + 0x4f38 + iVar7 * 2) = iVar3 * iVar4; iVar3 = FUN_190c_23b0(10); if (iVar3 == 1) { *(undefined2 *)(iVar1 * 0x62 + -0x2d70 + iVar7 * 2) = 1; } else { *(undefined2 *)(iVar1 * 0x62 + -0x2d70 + iVar7 * 2) = 0; } iVar3 = FUN_190c_23b0(iVar1 * -2 + 0xf); if (iVar3 == 1) { *(undefined2 *)(iVar1 * 0x62 + 0x565e + iVar7 * 2) = 1; } else { *(undefined2 *)(iVar1 * 0x62 + 0x565e + iVar7 * 2) = 0; } iVar3 = FUN_190c_23b0(4); if (iVar3 == 1) { *(undefined2 *)(iVar1 * 0x62 + -0x5fc2 + iVar7 * 2) = 1; } else { *(undefined2 *)(iVar1 * 0x62 + -0x5fc2 + iVar7 * 2) = 0; } } } for (iVar1 = 0; iVar1 < 4; iVar1 = iVar1 + 1) { for (iVar7 = 0; iVar7 < 0x31; iVar7 = iVar7 + 1) { iVar3 = FUN_190c_23b0(4); if (iVar3 == 0) { *(undefined2 *)(iVar1 * 0x62 + -0x2bac + iVar7 * 2) = 1; } else { *(undefined2 *)(iVar1 * 0x62 + -0x2bac + iVar7 * 2) = 0; } FUN_190c_23b0(4); *(undefined2 *)(iVar1 * 0x62 + 0x50da + iVar7 * 2) = 0; } } return; } // Function: FUN_1534_10ce at 1534:10ce int __cdecl16far FUN_1534_10ce(void) { int iVar1; FUN_1e78_02b8(); do { do { iVar1 = FUN_190c_23b0(0x31); } while (iVar1 < 1); } while (0x31 < iVar1); return iVar1; } // Function: FUN_1534_10f4 at 1534:10f4 void __cdecl16far FUN_1534_10f4(undefined2 *param_1,undefined2 *param_2) { undefined2 uVar1; undefined2 unaff_DS; FUN_1e78_02b8(); uVar1 = FUN_190c_23b0(4); *param_1 = uVar1; uVar1 = FUN_190c_23b0(0x31); *param_2 = uVar1; return; } // Function: FUN_1646_000c at 1646:000c void __cdecl16far FUN_1646_000c(void) { int iVar1; undefined2 uVar2; undefined2 unaff_DS; FUN_1e78_02b8(); FUN_190c_0092(0xe,0x19,0xe,0x29); FUN_190c_108c(0xd,0x19,*(undefined2 *)0x565c,*(undefined2 *)0x57ea,0x2f70,2); FUN_1e78_224a(); FUN_1e78_224a(); iVar1 = FUN_1e78_202c(0x336,&stack0xfffa,2); if (iVar1 == 0) { FUN_190c_0092(5,1,0x14,0x4e); FUN_190c_01de(5,0x1c,*(undefined2 *)0x57ea,0x2f7b); FUN_1646_1ca4(7,5,0x2f9a); FUN_1e78_073c(0x2fa9,*(undefined2 *)0xd1c6); FUN_1646_1ca4(8,5,0x2fac); FUN_1e78_073c(0x2fbb,*(undefined2 *)0x57e8); FUN_1646_1ca4(9,5,0x2fbe); FUN_1e78_073c(0x2fcd,*(undefined2 *)0xd42a); FUN_1646_1ca4(10,5,0x2fd0); FUN_1e78_073c(0x2fdf,*(undefined2 *)0xd63c); FUN_1646_1ca4(0xb,5,0x2fe2); FUN_1e78_073c(0x2ff1,*(undefined2 *)0xd1c4); FUN_1646_1ca4(0xd,5,0x2ff4); FUN_1e78_073c(0x3003,*(undefined2 *)0x5332); FUN_1646_1ca4(0xe,5,0x3006); FUN_1e78_073c(0x3015,*(undefined2 *)0x50c0); FUN_1646_1ca4(0xf,5,0x3018); FUN_1e78_073c(0x3027,*(undefined2 *)0xd284); FUN_1646_1ca4(0x10,5,0x302a); FUN_1e78_073c(0x3039,*(undefined2 *)0xa016); FUN_1646_1ca4(0x11,5,0x303c); FUN_1e78_073c(0x304b,*(undefined2 *)0x4f36); FUN_1646_1ca4(0x12,5,0x304e); FUN_1e78_073c(0x305d,*(undefined2 *)0xd200); FUN_1646_1ca4(0x13,5,0x3060); FUN_1e78_073c(0x306f,*(undefined2 *)0x5334); FUN_1646_1ca4(7,0x1e,0x3072); FUN_1e78_073c(0x3081,*(undefined2 *)0x50d8); FUN_1646_1ca4(8,0x1e,0x3084); FUN_1e78_073c(0x3093,*(undefined2 *)(*(int *)0xd214 * 2 + -0x5fe6)); FUN_1646_1ca4(9,0x1e,0x3096); FUN_1e78_073c(0x30a5,*(undefined2 *)0xd20a); FUN_1646_1ca4(10,0x1e,0x30a8); FUN_1e78_073c(0x30b7,*(undefined2 *)0xd5dc); FUN_1646_1ca4(0xb,0x1e,0x30ba); FUN_1e78_073c(0x30c9,*(undefined2 *)0x50d4); FUN_1646_1ca4(0xd,0x1e,0x30cc); FUN_1e78_073c(0x30db,*(undefined2 *)(*(int *)0xd214 * 0x62 + 0x4f38 + *(int *)0xd282 * 2)); FUN_1646_1ca4(0xe,0x1e,0x30de); FUN_1e78_073c(0x30ed,*(undefined2 *)(*(int *)0xd214 * 2 + 0x57f2)); FUN_1646_1ca4(0xf,0x1e,0x30f0); FUN_1e78_073c(0x30ff,*(undefined2 *)0xd418); FUN_1646_1ca4(0x10,0x1e,0x3102); FUN_1e78_073c(0x3111,*(undefined2 *)0xa02c); FUN_1646_1ca4(0x11,0x1e,0x3114); FUN_1e78_073c(0x3123,*(undefined2 *)0xd44c); FUN_1646_1ca4(0x12,0x1e,0x3126); FUN_1e78_073c(0x3135,*(undefined2 *)(*(int *)0xd214 * 2 + -0x2bc2)); FUN_1646_1ca4(0x13,0x1e,0x3138); FUN_1e78_073c(0x3147,*(undefined2 *)0xd268); FUN_1646_1ca4(7,0x37,0x314a); FUN_1e78_073c(0x3159,*(undefined2 *)(*(int *)0xd214 * 2 + -0x2be4)); FUN_1646_1ca4(8,0x37,0x315c); FUN_1e78_073c(0x316b,*(undefined2 *)0xd654); FUN_1646_1ca4(9,0x37,0x316e); FUN_1e78_073c(0x317d,*(undefined2 *)0xd28e); FUN_1646_1ca4(10,0x37,0x3180); FUN_1e78_073c(0x318f,*(undefined2 *)0xa03c); FUN_1646_1ca4(0xc,0x37,0x3192); FUN_1e78_073c(0x31a1,*(undefined2 *)(*(int *)0xd214 * 2 + 0x533a)); FUN_1646_1ca4(0xd,0x37,0x31a4); FUN_1e78_073c(0x31b3,*(undefined2 *)(*(int *)0xd214 * 2 + -0x5fd0)); FUN_1646_1ca4(0xe,0x37,0x31b6); FUN_1e78_073c(0x31c5,*(undefined2 *)(*(int *)0xd214 * 2 + -0x2d7a)); FUN_1646_1ca4(0xf,0x37,0x31c8); uVar2 = FUN_1832_021a(1); FUN_1e78_073c(0x31d7,uVar2); FUN_190c_0092(0x16,0x14,0x17,0x4e); FUN_2504_3be6(0); uVar2 = FUN_1e78_224a(); *(undefined2 *)0xd272 = uVar2; FUN_2504_3be6(1); FUN_190c_0092(5,1,0x14,0x4e); FUN_190c_01de(5,0x1c,*(undefined2 *)0x57ea,0x31da); FUN_1646_1ca4(7,5,0x31fa); FUN_1e78_073c(0x3209,*(undefined2 *)0xd282); FUN_1646_1ca4(8,5,0x320c); FUN_1e78_073c(0x321b,*(undefined2 *)0xd214); FUN_1646_1ca4(9,5,0x321e); FUN_1e78_073c(0x322d,*(undefined2 *)0xa03a); FUN_1646_1ca4(10,5,0x3230); FUN_1e78_073c(0x323f,*(undefined2 *)0x5330); FUN_1646_1ca4(0xb,5,0x3242); FUN_1e78_073c(0x3251,*(undefined2 *)0xd446,*(undefined2 *)0xd448); FUN_1646_1ca4(0xd,5,0x3255); FUN_1e78_073c(0x3264,*(undefined2 *)(*(int *)0xd214 * 2 + -0x2d8c)); FUN_1646_1ca4(0xe,5,0x3267); FUN_1e78_073c(0x3276,*(undefined2 *)0xd66a); FUN_1646_1ca4(0xf,5,0x3279); FUN_1e78_073c(0x3288,*(undefined2 *)0xd436); FUN_1646_1ca4(0x10,5,0x328b); FUN_1e78_073c(0x329d,*(undefined2 *)0x4f30); FUN_1646_1ca4(0x11,5,0x32a0); FUN_1e78_073c(0x32af,*(undefined2 *)0xa1c6); FUN_1646_1ca4(7,0x1e,0x32b2); FUN_1e78_073c(0x32c1,*(undefined2 *)(*(int *)0xd214 * 2 + 0x50c8)); FUN_1646_1ca4(8,0x1e,0x32c4); FUN_1e78_073c(0x32d3,*(undefined2 *)0x50c2); FUN_1646_1ca4(10,0x1e,0x32d6); FUN_1e78_073c(0x32e5,*(undefined2 *)(*(int *)0xd214 * 2 + -0x2e34)); FUN_1646_1ca4(0xb,0x1e,0x32e8); FUN_1e78_073c(0x32f7,*(undefined2 *)0xd20e); FUN_1646_1ca4(0xd,0x1e,0x32fa); FUN_1e78_073c(0x3309,*(undefined2 *)(*(int *)0xd214 * 2 + -0x29ce)); FUN_1646_1ca4(0xe,0x1e,0x330c); FUN_1e78_073c(0x331a,*(undefined2 *)0xd41a); FUN_1646_1ca4(0x10,0x1e,0x331d); FUN_1e78_073c(0x332c,*(undefined2 *)(*(int *)0xd214 * 0x62 + -0x2d70 + *(int *)0xd282 * 2)); FUN_1646_1ca4(0x11,0x1e,0x332f); FUN_1e78_073c(0x333e,*(undefined2 *)0xa02a); FUN_1646_1ca4(0x12,0x1e,0x3341); FUN_1e78_073c(0x3350,*(undefined2 *)0xd428); FUN_1646_1ca4(7,0x37,0x3353); FUN_1e78_073c(0x3362,*(undefined2 *)(*(int *)0xd214 * 2 + -0x2bd2)); FUN_1646_1ca4(8,0x37,0x3365); FUN_1e78_073c(0x3374,*(undefined2 *)0x50c4); FUN_1646_1ca4(9,0x37,0x3377); FUN_1e78_073c(0x3386,*(undefined2 *)0xd27e); FUN_190c_0092(0x16,0x14,0x17,0x4e); FUN_2504_3be6(0); uVar2 = FUN_1e78_224a(); *(undefined2 *)0xd272 = uVar2; FUN_2504_3be6(1); } iVar1 = FUN_1e78_202c(0x33a,&stack0xfffa,2); if (iVar1 == 0) { FUN_190c_0092(5,1,0x14,0x4e); FUN_2504_0cfa(0xb,0xd); FUN_1e78_073c(0x3389); FUN_1e78_077a(0x33a6,0xa018); FUN_2504_0cfa(0xd,0xd); FUN_1e78_073c(0x33a9); FUN_1e78_077a(0x33c6,0xd268); *(undefined2 *)0xd26a = 2; FUN_2504_0cfa(0xf,0xd); FUN_1e78_073c(0x33c9); FUN_1e78_077a(0x33dd,0x5342); FUN_2504_0cfa(0x11,0xd); FUN_1e78_073c(0x33e0); FUN_1e78_077a(0x33f4,0xd450); FUN_1307_226e(*(undefined2 *)0x57ea); } FUN_190c_0092(5,1,0x14,0x4e); FUN_190c_0092(0x16,0x14,0x17,0x4e); FUN_1646_1cd2(); return; } // Function: FUN_1646_0a8e at 1646:0a8e void __cdecl16far FUN_1646_0a8e(int param_1) { int iVar1; int iVar2; bool bVar3; undefined2 uVar4; undefined2 unaff_DS; FUN_1e78_02b8(); FUN_1646_1a94(*(undefined2 *)0x565c,*(undefined2 *)0x57ea); FUN_190c_3c18(3,*(undefined2 *)0x565c,0,0x33f7); FUN_1e78_22f2(0xd218,0x3433,0xd656); FUN_190c_3c18(2,*(undefined2 *)0x57ea,0,0xd218); FUN_1646_1ca4(5,4,0x343c); if ((1 < *(int *)0xd448) && ((2 < *(int *)0xd448 || (0x49ef < *(uint *)0xd446)))) { FUN_190c_01de(5,0x14,*(undefined2 *)0x57e6,0x344c); } if ((0 < *(int *)0xd448) && ((((1 < *(int *)0xd448 || (0xadaf < *(uint *)0xd446)) && (*(int *)0xd448 < 3)) && ((*(int *)0xd448 < 2 || (*(uint *)0xd446 < 0x49f0)))))) { FUN_190c_01de(5,0x14,*(undefined2 *)0x57ec,0x345b); } if ((((0 < *(int *)0xd448) && ((1 < *(int *)0xd448 || (0x387f < *(uint *)0xd446)))) && (*(int *)0xd448 < 2)) && ((*(int *)0xd448 < 1 || (*(uint *)0xd446 < 0xadb0)))) { FUN_190c_01de(5,0x14,*(undefined2 *)0x565c,0x3467); } if (((-1 < *(int *)0xd448) && (((0 < *(int *)0xd448 || (59999 < *(uint *)0xd446)) && (*(int *)0xd448 < 2)))) && ((*(int *)0xd448 < 1 || (*(uint *)0xd446 < 0x3880)))) { FUN_190c_01de(5,0x14,*(undefined2 *)0x57ea,0x3473); } if (((-1 < *(int *)0xd448) && ((0 < *(int *)0xd448 || (39999 < *(uint *)0xd446)))) && ((*(int *)0xd448 < 1 && ((*(int *)0xd448 < 0 || (*(uint *)0xd446 < 60000)))))) { FUN_190c_01de(5,0x14,*(undefined2 *)0x565c,0x3482); } if (((-1 < *(int *)0xd448) && (((0 < *(int *)0xd448 || (24999 < *(uint *)0xd446)) && (*(int *)0xd448 < 1)))) && ((*(int *)0xd448 < 0 || (*(uint *)0xd446 < 40000)))) { FUN_190c_01de(5,0x14,*(undefined2 *)0x57ea,0x348e); } if (((-1 < *(int *)0xd448) && ((0 < *(int *)0xd448 || (14999 < *(uint *)0xd446)))) && ((*(int *)0xd448 < 1 && ((*(int *)0xd448 < 0 || (*(uint *)0xd446 < 25000)))))) { FUN_190c_01de(5,0x14,*(undefined2 *)0x565c,0x349a); } if ((-1 < *(int *)0xd448) && ((((0 < *(int *)0xd448 || (9999 < *(uint *)0xd446)) && (*(int *)0xd448 < 1)) && ((*(int *)0xd448 < 0 || (*(uint *)0xd446 < 15000)))))) { FUN_190c_01de(5,0x14,*(undefined2 *)0x57ea,0x34a0); } if ((((-1 < *(int *)0xd448) && ((0 < *(int *)0xd448 || (4999 < *(uint *)0xd446)))) && (*(int *)0xd448 < 1)) && ((*(int *)0xd448 < 0 || (*(uint *)0xd446 < 10000)))) { FUN_190c_01de(5,0x14,*(undefined2 *)0x565c,0x34ab); } if ((*(int *)0xd448 < 1) && ((*(int *)0xd448 < 0 || (*(uint *)0xd446 < 5000)))) { FUN_190c_01de(5,0x14,7,0x34b2); } FUN_1646_1ca4(6,4,0x34bf); FUN_1e78_22f2(0xd218,0x34cf,*(undefined2 *)0x565a); FUN_190c_01de(6,0x14,*(undefined2 *)0x565c,0xd218); FUN_1646_1ca4(7,4,0x34d2); FUN_1e78_22f2(0xd218,0x34e2,*(undefined2 *)0xd43a); FUN_190c_01de(7,0x14,*(undefined2 *)0x565c,0xd218); FUN_1646_1ca4(9,4,0x34e5); FUN_1e78_22f2(0xd218,0x34f5,*(undefined2 *)0xd20a); FUN_190c_01de(9,0x14,*(undefined2 *)0x565c,0xd218); FUN_1646_1ca4(10,4,0x34f8); FUN_1e78_22f2(0xd218,0x3508,*(undefined2 *)0xa018); FUN_190c_01de(10,0x14,*(undefined2 *)0x565c,0xd218); FUN_1646_1ca4(0xc,4,0x350b); FUN_1e78_22f2(0xd218,0x351b,*(undefined2 *)0x5342); FUN_190c_01de(0xc,0x14,*(undefined2 *)0x565c,0xd218); FUN_1646_1ca4(0xd,4,0x351e); FUN_1e78_22f2(0xd218,0x352e,*(undefined2 *)0xd450); FUN_190c_01de(0xd,0x14,*(undefined2 *)0x565c,0xd218); FUN_1646_1ca4(0xe,4,0x3531); FUN_1e78_22f2(0xd218,0x3541,*(undefined2 *)0xd1c8); FUN_190c_01de(0xe,0x14,*(undefined2 *)0x565c,0xd218); FUN_1646_1ca4(0x10,4,0x3544); FUN_1e78_22f2(0xd218,0x3554,*(undefined2 *)0xd42c); FUN_190c_01de(0x10,0x14,*(undefined2 *)0x565c,0xd218); FUN_1646_1ca4(0x11,4,0x3557); FUN_1e78_22f2(0xd218,0x3567,*(undefined2 *)0xa028); FUN_190c_01de(0x11,0x14,*(undefined2 *)0x565c,0xd218); FUN_1646_1ca4(0x12,4,0x356a); FUN_1e78_22f2(0xd218,0x357a,*(undefined2 *)0x50c6); FUN_190c_01de(0x12,0x14,*(undefined2 *)0x565c,0xd218); iVar1 = *(int *)0xd268; if (iVar1 == 1) { FUN_190c_01de(5,0x2d,*(undefined2 *)0x57ea,0x357d); } iVar2 = *(int *)0xd268; if (1 < iVar2) { FUN_1e78_22f2(0xd218,0x3591,*(undefined2 *)0xd268); FUN_190c_01de(5,0x2d,*(undefined2 *)0x565c,0xd218); } bVar3 = 1 < iVar2 || iVar1 == 1; if ((*(int *)0xd66a == 2) && (*(int *)0xd436 < 1)) { FUN_190c_01de(6,0x2d,*(undefined2 *)0x57ea,0x35a7); bVar3 = true; } if ((*(int *)0xd66a == 2) && (0 < *(int *)0xd436)) { FUN_190c_01de(6,0x2d,*(undefined2 *)0x57ea,0x35b4); bVar3 = true; } if (*(int *)0x4f30 == 1) { FUN_190c_01de(6,0x3c,*(undefined2 *)0x57ea,0x35bf); bVar3 = true; } if (1 < *(int *)0x4f30) { FUN_1e78_22f2(0xd218,0x35c6,*(undefined2 *)0x4f30); FUN_190c_01de(6,0x3c,*(undefined2 *)0x57ea,0xd218); bVar3 = true; } if (*(int *)0xa02a == 1) { FUN_190c_01de(7,0x1e,*(undefined2 *)0x57ea,0x35d3); bVar3 = true; } if (1 < *(int *)0xa02a) { FUN_1e78_22f2(0xd218,0x35e3,*(undefined2 *)0xa02a); FUN_190c_01de(7,0x1e,*(undefined2 *)0x565c,0xd218); bVar3 = true; } if (*(int *)0xd212 == 1) { FUN_190c_01de(7,0x3c,*(undefined2 *)0x57ea,0x35f5); bVar3 = true; } if (*(int *)0x50c2 == 2) { FUN_190c_01de(8,0x1e,*(undefined2 *)0x57ea,0x3601); bVar3 = true; } if (*(int *)0xd41a == 2) { FUN_190c_01de(8,0x3c,*(undefined2 *)0x57ea,0x3611); bVar3 = true; } if (*(int *)0xa02c == 2) { FUN_1e78_22f2(0xd218,0x3620,*(undefined2 *)0xd44c); FUN_190c_01de(9,0x1e,*(undefined2 *)0x565c,0xd218); bVar3 = true; } if (*(int *)0xd20e == 2) { FUN_190c_01de(9,0x3c,*(undefined2 *)0x57ea,0x3634); bVar3 = true; } if (*(int *)0xd28e == 2) { FUN_1e78_22f2(0xd218,0x3640,*(undefined2 *)0xa03c); FUN_190c_01de(10,0x1e,*(undefined2 *)0x57ea,0xd218); bVar3 = true; } if (*(int *)0xd27e == 2) { FUN_190c_01de(0xb,0x1e,*(undefined2 *)0x57ea,0x3656); bVar3 = true; } if (!bVar3) { FUN_190c_01de(8,0x2d,*(undefined2 *)0x57ea,0x3668); } FUN_2504_3be6(0); uVar4 = FUN_1e78_224a(); *(undefined2 *)0xd272 = uVar4; FUN_2504_3be6(1); if (0 < param_1) { FUN_2504_3151(0xffff); } FUN_1646_1c76(); return; } // Function: FUN_1646_1272 at 1646:1272 void __cdecl16far FUN_1646_1272(undefined2 param_1) { int iVar1; undefined2 unaff_DS; FUN_1e78_02b8(); FUN_1307_21e8(); if (*(int *)0xa022 == 0) { FUN_190c_01de(6,0x2b,*(undefined2 *)0x57ea,0x3679); } else { FUN_190c_01de(6,0x2b,*(undefined2 *)0x57ee,0x368d); } FUN_1646_1ca4(7,0x23,0x36a1); if (*(int *)0xa016 < 6) { FUN_1646_1ca4(7,0x37,0x36b5); } else if ((*(int *)0xa016 < 6) || (0xc < *(int *)0xa016)) { if ((*(int *)0xa016 < 0xd) || (0x11 < *(int *)0xa016)) { FUN_1646_1ca4(7,0x37,0x36c3); } else { FUN_1646_1ca4(7,0x37,0x36bd); } } else { FUN_1646_1ca4(7,0x37,0x36b9); } FUN_1646_1ca4(8,0x23,0x36c8); FUN_1646_1ca4(8,0x37,param_1); if (*(int *)0xa022 == 0) { FUN_1e78_22f2(0xd218,0x36dc,*(undefined2 *)0x50c0); FUN_190c_01de(9,0x23,*(undefined2 *)0x57ec,0xd218); } else { FUN_1e78_22f2(0xd218,0x36f2,*(undefined2 *)0xa022); FUN_190c_01de(9,0x23,*(undefined2 *)0x565c,0xd218); } FUN_1e78_22f2(0xd218,0x3708,*(undefined2 *)0x5332); FUN_190c_01de(10,0x23,*(undefined2 *)0x565c,0xd218); FUN_1646_1ca4(0xb,0x23,0x371e); if (*(int *)0xd284 < 10) { FUN_1646_1ca4(0xb,0x37,0x3732); } if ((9 < *(int *)0xd284) && (*(int *)0xd284 < 0x19)) { FUN_1646_1ca4(0xb,0x37,0x373c); } if ((0x18 < *(int *)0xd284) && (*(int *)0xd284 < 0x32)) { FUN_1646_1ca4(0xb,0x37,0x3741); } if ((0x31 < *(int *)0xd284) && (*(int *)0xd284 < 0x50)) { FUN_1646_1ca4(0xb,0x37,0x3745); } if ((0x4f < *(int *)0xd284) && (*(int *)0xd284 < 100)) { FUN_190c_01de(0xb,0x37,*(undefined2 *)0x57e6,0x374e); } if ((99 < *(int *)0xd284) && (*(int *)0xd284 < 0x78)) { FUN_190c_01de(0xb,0x37,*(undefined2 *)0x57ec,0x3755); } if (0x77 < *(int *)0xd284) { FUN_190c_01de(0xb,0x37,*(undefined2 *)0x57ec,0x375f); } FUN_190c_0092(0xd,0x20,0xd,0x4c); if (0 < *(int *)0x57e8) { FUN_190c_01de(0xd,0x20,*(undefined2 *)0x57ea,0x3773); } if (*(int *)0x57e8 == 1) { FUN_190c_01de(0xd,0x30,*(undefined2 *)0x57ec,0x3784); } if (*(int *)0x57e8 == 2) { FUN_190c_01de(0xd,0x30,*(undefined2 *)0x57ec,0x3795); } if (*(int *)0x57e8 == 3) { FUN_190c_01de(0xd,0x30,*(undefined2 *)0x57ec,0x37a6); } if (*(int *)0x57e8 == 4) { FUN_190c_01de(0xd,0x30,*(undefined2 *)0x57ec,0x37bd); } if (*(int *)0x57e8 == 5) { FUN_190c_01de(0xd,0x30,*(undefined2 *)0x57ec,0x37d6); } if (*(int *)0x57e8 == 6) { FUN_190c_01de(0xd,0x30,*(undefined2 *)0x57ec,0x37e5); } if (*(int *)0x57e8 == 7) { FUN_190c_01de(0xd,0x30,*(undefined2 *)0x57ec,0x37f5); } if (5 < *(int *)0x57e8) { *(undefined2 *)0x57e8 = 0; } if (*(int *)0xa022 == 0) { FUN_190c_0092(0xd,0x20,0xd,0x4c); if (*(int *)0x50c0 < 2) { FUN_190c_01de(0xd,0x2a,*(undefined2 *)0x57ee,0x381b); } else { FUN_190c_01de(0xd,0x2a,*(undefined2 *)0x57ee,0x3806); } } else { FUN_190c_01de(0xe,0x20,*(undefined2 *)0x57ea,0x382d); if (*(int *)0xd450 < *(int *)0x5332) { if (*(int *)0xd450 * 2 < *(int *)0x5332) { if (*(int *)0xd450 * 3 < *(int *)0x5332) { FUN_190c_01de(0xe,0x47,*(undefined2 *)0x57ec,0x3863); } else { FUN_190c_01de(0xe,0x47,*(undefined2 *)0x57ec,0x385f); } } else { FUN_190c_01de(0xe,0x47,*(undefined2 *)0x565c,0x385a); } } else { FUN_190c_01de(0xe,0x47,*(undefined2 *)0x57ea,0x3855); } FUN_190c_01de(0xf,0x20,*(undefined2 *)0x57ea,0x3868); if (*(int *)0xd42a == 1) { FUN_190c_01de(0xf,0x3e,*(undefined2 *)0x57ec,0x3887); } else { FUN_190c_01de(0xf,0x3e,*(undefined2 *)0x57ea,0x388b); } if (*(int *)0xa018 < 0x14) { FUN_190c_01de(0x11,0x28,*(undefined2 *)0x57ee,0x3890); for (iVar1 = 0; iVar1 < 5; iVar1 = iVar1 + 1) { } } } *(undefined2 *)0x33e = 0; *(undefined2 *)0xd1c6 = 1; if (*(int *)0xa022 == 0) { *(undefined2 *)0x33e = 1; *(undefined2 *)0xd1c6 = 0; *(undefined2 *)0x57e8 = 0; *(undefined2 *)0x5334 = 0; } return; } // Function: FUN_1646_17c8 at 1646:17c8 void __cdecl16far FUN_1646_17c8(void) { undefined2 unaff_DS; FUN_1e78_02b8(); FUN_1646_1a94(*(undefined2 *)0x57ee,*(undefined2 *)0x57ea); FUN_1646_1ca4(7,0x12,0x38aa); FUN_190c_1016(9,0x1d,*(undefined2 *)0x57ea,*(undefined2 *)0x57ee,0x38dd); FUN_1646_1ca4(0xd,0x13,0x38f3); FUN_190c_01de(0x10,0x1d,*(undefined2 *)0x57e6,0x3925); FUN_1646_18fe(); FUN_190c_37d0(); return; } // Function: FUN_1646_1846 at 1646:1846 void __cdecl16far FUN_1646_1846(void) { uint *puVar1; uint uVar2; undefined2 uVar3; undefined2 unaff_DS; FUN_1e78_02b8(); FUN_1646_1a94(*(undefined2 *)0x565c,*(undefined2 *)0x57e6); FUN_190c_1016(5,0x17,*(undefined2 *)0x565c,*(undefined2 *)0x57ee,0x3940); FUN_190c_1016(8,0x11,*(undefined2 *)0x565c,*(undefined2 *)0x57ea,0x3961); FUN_190c_1016(0xc,0x16,*(undefined2 *)0x565c,*(undefined2 *)0x57ea,0x398d); FUN_190c_1016(0xf,0x14,*(undefined2 *)0x565c,*(undefined2 *)0x57e6,0x39b1); puVar1 = (uint *)0xd446; uVar2 = *puVar1; *puVar1 = *puVar1 + 2000; *(int *)0xd448 = *(int *)0xd448 + (uint)(0xf82f < uVar2); FUN_1646_18fe(); FUN_2504_3be6(0); uVar3 = FUN_1e78_224a(); *(undefined2 *)0xd272 = uVar3; FUN_2504_3be6(1); return; } // Function: FUN_1646_18fe at 1646:18fe void __cdecl16far FUN_1646_18fe(void) { bool bVar1; undefined2 uVar2; int iVar3; int iVar4; undefined2 unaff_DS; FUN_1e78_02b8(); bVar1 = false; FUN_190c_03da(0x12,0x15,*(undefined2 *)0x57ea,3,0x27,1,0); FUN_1e78_22f2(0xd218,0x39d8,*(undefined2 *)0xd446,*(undefined2 *)0xd448); FUN_190c_01de(0x13,0x17,*(undefined2 *)0x57ea,0xd218); FUN_1e78_22f2(0xd218,0x39f2,*(undefined2 *)0xd1d8,*(undefined2 *)0xd1da); FUN_190c_01de(0x14,0x17,*(undefined2 *)0x565c,0xd218); uVar2 = FUN_1e78_06d4(0x3a0e,0x3a0c); *(undefined2 *)0xd27c = uVar2; for (iVar4 = 0; iVar4 < 10; iVar4 = iVar4 + 1) { iVar3 = *(int *)(iVar4 * 4 + -0x2e26); if ((iVar3 < *(int *)0xd448) || ((iVar3 <= *(int *)0xd448 && (*(uint *)(iVar4 * 4 + -0x2e28) <= *(uint *)0xd446)))) { if (bVar1) { iVar3 = (iVar4 + -1) * 4; FUN_1e78_06ea(*(undefined2 *)0xd27c,0x3a2d,(iVar4 + -1) * 0x14 + 0x5262, *(undefined2 *)(iVar3 + -0x2e28),*(undefined2 *)(iVar3 + -0x2e26)); } else { bVar1 = true; FUN_1e78_06ea(*(undefined2 *)0xd27c,0x3a24,0xd656,*(undefined2 *)0xd446, *(undefined2 *)0xd448); } } else { FUN_1e78_06ea(*(undefined2 *)0xd27c,0x3a1b,iVar4 * 0x14 + 0x5262, *(undefined2 *)(iVar4 * 4 + -0x2e28),*(undefined2 *)(iVar4 * 4 + -0x2e26)); } } if (bVar1) { FUN_190c_01de(0x15,0x1b,*(undefined2 *)0x57ea,0x3a58); } else { FUN_190c_01de(0x15,0x17,*(undefined2 *)0x57ea,0x3a36); } FUN_1e78_05ee(*(undefined2 *)0xd27c); return; } // Function: FUN_1646_1a94 at 1646:1a94 void __cdecl16far FUN_1646_1a94(undefined2 param_1,undefined2 param_2) { FUN_1e78_02b8(); FUN_2504_3464(0); FUN_190c_03da(0,0,param_2,0x17,0x4f,1,0); FUN_190c_01de(2,0,param_2,0x3a73); FUN_190c_01de(2,1,param_2,0x3a75); FUN_190c_01de(2,2,param_2,0x3a77); FUN_190c_01de(1,2,param_2,0x3a79); FUN_190c_01de(0,2,param_2,0x3a7b); FUN_190c_01de(0,0x4d,param_2,0x3a7d); FUN_190c_01de(1,0x4d,param_2,0x3a7f); FUN_190c_01de(2,0x4d,param_2,0x3a81); FUN_190c_01de(2,0x4e,param_2,0x3a83); FUN_190c_01de(2,0x4f,param_2,0x3a85); FUN_190c_01de(0x16,0,param_2,0x3a87); FUN_190c_01de(0x16,1,param_2,0x3a89); FUN_190c_01de(0x16,2,param_2,0x3a8b); FUN_190c_01de(0x17,2,param_2,0x3a8d); FUN_190c_01de(0x18,2,param_2,0x3a8f); FUN_190c_01de(0x18,0x4d,param_2,0x3a91); FUN_190c_01de(0x17,0x4d,param_2,0x3a93); FUN_190c_01de(0x16,0x4d,param_2,0x3a95); FUN_190c_01de(0x16,0x4e,param_2,14999); FUN_190c_01de(0x16,0x4f,param_2,0x3a99); return; } // Function: FUN_1646_1c76 at 1646:1c76 void __cdecl16far FUN_1646_1c76(void) { undefined2 unaff_DS; FUN_1e78_02b8(); FUN_1646_1d5a(*(undefined2 *)0x565c,*(undefined2 *)0x57ea); FUN_1646_1e26(); FUN_1646_1dae(*(undefined2 *)0x565c); FUN_1646_1cd2(); return; } // Function: FUN_1646_1ca4 at 1646:1ca4 void __cdecl16far FUN_1646_1ca4(undefined2 param_1,undefined2 param_2,undefined2 param_3) { undefined2 unaff_DS; FUN_1e78_02b8(); FUN_190c_01de(param_1,param_2,*(undefined2 *)0x565c,param_3); return; } // Function: FUN_1646_1cd2 at 1646:1cd2 void __cdecl16far FUN_1646_1cd2(void) { undefined2 unaff_DS; FUN_1e78_02b8(); FUN_190c_01de(1,2,*(undefined2 *)0x565c,0x3a9b); FUN_1e78_22f2(0xd218,0x3aa2,*(undefined2 *)0xd446,*(undefined2 *)0xd448); FUN_190c_01de(1,9,*(undefined2 *)0x57e6,0xd218); return; } // Function: FUN_1646_1d22 at 1646:1d22 void __cdecl16far FUN_1646_1d22(void) { undefined2 unaff_DS; FUN_1e78_02b8(); FUN_1e78_22f2(0xd218,0x3aa8,*(undefined2 *)0xd446,*(undefined2 *)0xd448); FUN_190c_01de(1,9,*(undefined2 *)0x57e6,0xd218); return; } // Function: FUN_1646_1d5a at 1646:1d5a void __cdecl16far FUN_1646_1d5a(undefined2 param_1) { FUN_1e78_02b8(); FUN_2504_3464(0); FUN_190c_03da(0,0,param_1,0x17,0x4f,5,0); FUN_190c_3c18(0,0x70,0,0x328); return; } // Function: FUN_1646_1dae at 1646:1dae void __cdecl16far FUN_1646_1dae(undefined2 param_1) { FUN_1e78_02b8(); FUN_2504_0cfa(5,1); FUN_190c_010e(param_1,1,0xdb); FUN_2504_0cfa(5,2); FUN_190c_010e(param_1,0x4e,0xdc); FUN_2504_0cfa(5,0x50); FUN_190c_010e(param_1,1,0xdb); return; } // Function: FUN_1646_1e26 at 1646:1e26 void __cdecl16far FUN_1646_1e26(void) { undefined2 unaff_DS; FUN_1e78_02b8(); FUN_2504_0cfa(0x16,1); FUN_190c_010e(*(undefined2 *)0x565c,1,0xdb); FUN_2504_0cfa(0x16,2); FUN_190c_010e(*(undefined2 *)0x565c,0x4e,0xdf); FUN_190c_000c(0x15,0x4f); FUN_190c_010e(*(undefined2 *)0x565c,1,0xdb); FUN_190c_01de(0x16,3,*(undefined2 *)0x57ea,0x3aae); FUN_190c_01de(0x17,3,*(undefined2 *)0x57ea,0x3abf); return; } // Function: FUN_1832_000a at 1832:000a void __cdecl16far FUN_1832_000a(void) { int iVar1; undefined2 unaff_DS; FUN_1e78_02b8(); if (*(int *)(*(int *)0xd214 * 2 + 0x533a) == *(int *)0x50d8) { iVar1 = FUN_190c_23b0(4); if (iVar1 == 0) { *(undefined2 *)0x5334 = 0; FUN_190c_0092(5,0x1e,0x14,0x4e); FUN_190c_0092(0xe,2,0x14,0x1d); FUN_1832_030e(2); if ((*(int *)0xd43a == 1) || ((iVar1 = FUN_190c_23b0(2), iVar1 == 0 && ((*(int *)0xd43a == 2 || (*(int *)0xd43a == 3)))) )) { FUN_1307_222c(0x3ad0); FUN_1307_2164(6); FUN_190c_1016(0xc,0x23,*(undefined2 *)0x57ec,*(undefined2 *)0x57ea,0x3ae5); *(int *)0xd214 = *(int *)0xd214 + -1; *(int *)0xd43a = *(int *)0xd43a + -1; *(int *)0xa018 = *(int *)0xa018 + -1; } else { FUN_1307_222c(0x3b0b); FUN_1307_2164(6); FUN_190c_1016(0xc,0x28,*(undefined2 *)0x57ec,*(undefined2 *)0x57ea,0x3b21); *(int *)0xd43a = *(int *)0xd43a + 1; *(int *)0xd214 = *(int *)0xd214 + 1; *(int *)0xa018 = *(int *)0xa018 + -1; } FUN_1000_2e4c(); *(undefined2 *)0x50d6 = 1; iVar1 = FUN_190c_23b0(6); *(int *)0xa03a = iVar1 + 1; iVar1 = FUN_190c_23b0(6); *(int *)0x5330 = iVar1 + 1; iVar1 = (*(int *)0xa03a + -1) * 7 + *(int *)0x5330; *(int *)0x50d8 = iVar1; *(int *)0xd282 = iVar1 + -1; } else { iVar1 = FUN_190c_23b0(2); if (iVar1 == 0) { FUN_1307_2194(0); FUN_190c_0092(0x10,3,0x10,0x1a); FUN_190c_01de(0x10,5,*(undefined2 *)0x57ec,0x3b3c); } } } return; } // Function: FUN_1832_01bc at 1832:01bc void __cdecl16far FUN_1832_01bc(void) { undefined2 unaff_DS; FUN_1e78_02b8(); if (*(int *)(*(int *)0xd214 * 2 + -0x2d7a) == *(int *)0x50d8) { *(int *)0xd452 = *(int *)0xd452 + 1; *(int *)0xa018 = *(int *)0xa018 - *(int *)0xd452; FUN_1307_2194(0); FUN_190c_0092(0x11,3,0x11,0x1a); FUN_190c_01de(0x11,6,*(undefined2 *)0x57ec,0x3b4f); } return; } // Function: FUN_1832_021a at 1832:021a int __cdecl16far FUN_1832_021a(int param_1) { int iVar1; undefined2 unaff_DS; FUN_1e78_02b8(); if (param_1 == 0) { if (*(int *)(*(int *)0xd214 * 2 + -0x5fd0) == *(int *)0x50d8) { if (*(char *)0x340 < '\t') { *(char *)0x340 = *(char *)0x340 + '\x01'; *(int *)0xa018 = *(int *)0xa018 + 2; iVar1 = FUN_190c_23b0(3); if (iVar1 == 0) { FUN_1307_2194(0); FUN_190c_0092(0x13,3,0x13,0x1a); FUN_190c_01de(0x13,5,*(undefined2 *)0x57ea,0x3b61); } } else { iVar1 = FUN_190c_23b0(2); if (iVar1 == 0) { FUN_1307_2194(0); FUN_190c_0092(0x13,3,0x13,0x1a); FUN_190c_01de(0x13,7,*(undefined2 *)0x57ea,0x3b75); } } } else if ('\0' < *(char *)0x340) { *(char *)0x340 = *(char *)0x340 + -1; } } return (int)*(char *)0x340; } // Function: FUN_1832_030e at 1832:030e undefined2 __cdecl16far FUN_1832_030e(int param_1) { int iVar1; undefined2 unaff_DS; FUN_1e78_02b8(); if (param_1 == 0) { if ((*(int *)(*(int *)0xd214 * 0x62 + 0x50da + *(int *)0xd282 * 2) == 1) && (*(int *)(*(int *)0xd214 * 0x62 + -0x2bac + *(int *)0xd282 * 2) == 1)) { *(int *)0x342 = *(int *)0x342 + 1; FUN_1307_2194(0); FUN_190c_0092(0x12,3,0x12,0x1a); } else { *(undefined2 *)0x342 = 0; } if ((0 < *(int *)0x342) && (*(int *)0x342 < 3)) { FUN_190c_01de(0x12,6,*(undefined2 *)0x57ec,0x3b87); *(int *)0xa018 = *(int *)0xa018 - *(int *)0x342; } if (2 < *(int *)0x342) { if (*(int *)0x342 < 8) { *(int *)0xa018 = *(int *)0xa018 + *(int *)0x342 * -2; } else { *(int *)0xa018 = *(int *)0xa018 + *(int *)0x342 * -2; } if (*(int *)0x342 < 6) { iVar1 = FUN_190c_23b0(2); if (iVar1 == 0) { FUN_190c_01de(0x12,5,*(undefined2 *)0x57ec,0x3b99); } else { FUN_190c_01de(0x12,4,*(undefined2 *)0x565c,0x3bae); } } else { FUN_190c_01de(0x12,6,*(undefined2 *)0x57ec,0x3bc5); } } } if (param_1 == 2) { *(undefined2 *)0x342 = 0; FUN_190c_0092(0xe,2,0x14,0x1d); } return *(undefined2 *)0x342; } // Function: FUN_1832_046c at 1832:046c void __cdecl16far FUN_1832_046c(void) { uint *puVar1; uint uVar2; undefined2 uVar3; uint uVar4; int iVar5; int iVar6; undefined2 unaff_DS; FUN_1e78_02b8(); if ((*(int *)0x5334 == 1) && (*(int *)0xd1c6 == 1)) { FUN_190c_0092(5,0x1e,0x14,0x4e); uVar3 = FUN_190c_2558(8,0x21,*(undefined2 *)0x565c,*(undefined2 *)0x57e6,*(undefined2 *)0x565c,5 ,1,0x344,0,*(undefined2 *)0xd270,0x3c62,0,0); *(undefined2 *)0xd270 = uVar3; if (*(int *)0xd270 == 0) { FUN_190c_0092(5,0x1e,0x14,0x4e); } else { iVar6 = *(int *)0xd270; if (iVar6 == 1) { if (((*(int *)0xa016 == 5) || (*(int *)0xa016 == 7)) || ((*(int *)0xa016 == 0xc || ((*(int *)0xa016 == 0x12 || (*(int *)0xa016 == 0x16)))))) { if (((*(int *)0xd450 < *(int *)0x5332) || (iVar6 = FUN_190c_23b0(2), iVar6 != 0)) && (((iVar6 = FUN_190c_23b0(*(undefined2 *)0xa022), iVar6 != 0 || (*(int *)0x57e8 < 2)) && (iVar6 = FUN_190c_23b0(8), iVar6 != 0)))) { if (*(int *)0xa022 == 1) { FUN_1307_222c(0x3c63); FUN_1000_20c4(); } else { FUN_1307_222c(0x3c86); FUN_1000_20c4(); } } else { if (*(int *)0xa022 < 2) { FUN_1000_2c80(0xf); } else { FUN_1000_2c80(0x10); } FUN_1000_2b6c(); *(int *)0xd20a = *(int *)0xd20a + 5; uVar4 = *(int *)0xa022 * 100; puVar1 = (uint *)0xd446; uVar2 = *puVar1; *puVar1 = *puVar1 + uVar4; *(int *)0xd448 = *(int *)0xd448 + ((int)uVar4 >> 0xf) + (uint)CARRY2(uVar2,uVar4); FUN_1646_1d22(); } } else { if (*(int *)0xa022 == 1) { FUN_1307_222c(0x3cac); } else { FUN_1307_222c(0x3cc7); } FUN_1000_20c4(); } } else if (iVar6 == 2) { if ((((*(int *)0xa016 == 0) || (*(int *)0xa016 == 1)) || (*(int *)0xa016 == 2)) || (((*(int *)0xa016 == 5 || (*(int *)0xa016 == 9)) || ((*(int *)0xa016 == 0x12 || ((iVar6 = FUN_190c_23b0(0xe), iVar6 == 0 && (*(int *)0xa016 < 0x13)))))))) { if (((*(int *)0xd450 < *(int *)0x5332) || (iVar6 = FUN_190c_23b0(2), iVar6 != 0)) && ((iVar6 = FUN_190c_23b0(*(int *)0xa022 + 5), iVar6 != 0 && (((*(int *)0x50c0 <= *(int *)0xa022 || (iVar6 = FUN_190c_23b0(*(undefined2 *)0xa022), iVar6 != 0)) && (*(int *)0xa016 != 3) ))))) { if (*(int *)0xa022 == 1) { FUN_1000_2c80(0x13); FUN_1000_20c4(); } else { FUN_1000_2c80(0x12); } } else { uVar4 = *(int *)0xa022 * 0x3c; puVar1 = (uint *)0xd446; uVar2 = *puVar1; *puVar1 = *puVar1 + uVar4; *(int *)0xd448 = *(int *)0xd448 + ((int)uVar4 >> 0xf) + (uint)CARRY2(uVar2,uVar4); FUN_1646_1d22(); *(int *)0xd20a = *(int *)0xd20a + 2; *(int *)0xa018 = *(int *)0xa018 + 1; if (*(int *)0xa022 < 2) { FUN_1307_222c(0x3d14); } else { FUN_1307_222c(0x3cf0); } FUN_1000_2b6c(); } } else if (*(int *)0xa022 == 1) { FUN_1000_2c80(0x13); FUN_1000_20c4(); } else { FUN_1000_2c80(0x12); } } else if (iVar6 == 3) { if ((((((*(int *)0xa016 == 0) || (*(int *)0xa016 == 2)) || (*(int *)0xa016 == 4)) || ((*(int *)0xa016 == 5 || (*(int *)0xa016 == 7)))) || (*(int *)0xa016 == 8)) || (((*(int *)0xa016 == 0xb || (*(int *)0xa016 == 0xc)) || ((*(int *)0xa016 == 0xe || (((*(int *)0xa016 == 0x11 || (*(int *)0xa016 == 0x12)) || (*(int *)0xa016 == 0x16)))))) )) { if (((*(int *)0xd450 < *(int *)0x5332) || (iVar6 = FUN_190c_23b0(2), iVar6 != 0)) && ((iVar6 = FUN_190c_23b0(*(int *)0xa022 + 5), iVar6 != 0 && (((*(int *)0x57e8 < 2 || (*(int *)0x50c0 <= *(int *)0xa022)) || (iVar6 = FUN_190c_23b0(2), iVar6 != 0)))))) { if (*(int *)0xa022 == 1) { FUN_1307_222c(0x3e75); } else { FUN_1307_222c(0x3ea6); } FUN_1000_20c4(); } else { uVar4 = *(int *)0xa022 * 0x1e; puVar1 = (uint *)0xd446; uVar2 = *puVar1; *puVar1 = *puVar1 + uVar4; *(int *)0xd448 = *(int *)0xd448 + ((int)uVar4 >> 0xf) + (uint)CARRY2(uVar2,uVar4); FUN_1646_1d22(); *(int *)0xd20a = *(int *)0xd20a + 1; iVar6 = FUN_190c_23b0(5); if (iVar6 < 2) { if (*(int *)(*(int *)0xd214 * 2 + -0x2e34) < 0) { iVar6 = iVar6 + 1; } else if ((*(int *)0x50d8 < *(int *)(*(int *)0xd214 * 2 + -0x2e34)) && (iVar5 = FUN_190c_23b0(6), iVar5 < 5)) { FUN_1307_222c(0x3d32); } else { FUN_1307_222c(0x3d54); } } if (iVar6 == 2) { if (*(int *)(*(int *)0xd214 * 2 + -0x29ce) < 0) { iVar6 = 3; } else if ((*(int *)(*(int *)0xd214 * 2 + -0x29ce) < *(int *)0x50d8) && (iVar5 = FUN_190c_23b0(8), iVar5 < 7)) { FUN_1307_222c(0x3d76); } else { FUN_1307_222c(0x3d9d); } } if (iVar6 == 3) { if (*(int *)(*(int *)0xd214 * 0x62 + 0x4f38 + *(int *)0xd282 * 2) == 0) { iVar6 = 4; } else { FUN_1307_222c(0x3dcb); } } if (iVar6 == 4) { if (*(int *)(*(int *)0xd214 * 2 + -0x2be4) < 0) { iVar6 = 5; } else if ((*(int *)0x50d8 < *(int *)(*(int *)0xd214 * 2 + -0x2be4)) && (iVar5 = FUN_190c_23b0(8), iVar5 < 6)) { FUN_1307_222c(0x3df4); } else { FUN_1307_222c(0x3e1c); } } if (iVar6 < 5) { FUN_1000_2b6c(); } else if (*(int *)0xa022 < 2) { FUN_1307_222c(0x3e58); } else { FUN_1307_222c(0x3e45); } } } else { if (*(int *)0xa022 == 1) { FUN_1307_222c(0x3ecb); } else { FUN_1307_222c(0x3ee2); } FUN_1000_20c4(); } } else if (iVar6 == 4) { if ((((*(int *)0xa016 == 0) || (*(int *)0xa016 == 2)) || (*(int *)0xa016 == 4)) || (((*(int *)0xa016 == 5 || (*(int *)0xa016 == 7)) || ((((*(int *)0xa016 == 8 || ((*(int *)0xa016 == 0xb || (*(int *)0xa016 == 0xc)))) || (*(int *)0xa016 == 0xe)) || (((*(int *)0xa016 == 0x11 || (*(int *)0xa016 == 0x12)) || (*(int *)0xa016 == 0x16)))))) )) { if ((((*(int *)0xd450 < *(int *)0x5332) || (iVar6 = FUN_190c_23b0(2), iVar6 != 0)) && (iVar6 = FUN_190c_23b0(*(int *)0xa022 + 5), iVar6 != 0)) && (((*(int *)0x57e8 < 2 || (*(int *)0x50c0 <= *(int *)0xa022)) || (iVar6 = FUN_190c_23b0(2), iVar6 != 0)))) { if (*(int *)0xa022 == 1) { FUN_1307_222c(0x402d); } else { FUN_1307_222c(0x404a); } FUN_1000_20c4(); } else { uVar4 = *(int *)0xa022 * 0x1e; puVar1 = (uint *)0xd446; uVar2 = *puVar1; *puVar1 = *puVar1 + uVar4; *(int *)0xd448 = *(int *)0xd448 + ((int)uVar4 >> 0xf) + (uint)CARRY2(uVar2,uVar4); FUN_1646_1d22(); *(int *)0xd20a = *(int *)0xd20a + 1; iVar6 = FUN_190c_23b0(5); if (iVar6 < 2) { if (*(int *)(*(int *)0xd214 * 2 + -0x2bc2) < 0) { iVar6 = iVar6 + 1; } else if ((*(int *)0x50d8 < *(int *)(*(int *)0xd214 * 2 + -0x2bc2)) && (iVar5 = FUN_190c_23b0(8), iVar5 < 7)) { FUN_1307_222c(0x3efd); } else { FUN_1307_222c(0x3f2e); } } if (iVar6 == 3) { if (*(int *)(*(int *)0xd214 * 2 + 0x50c8) < 0) { iVar6 = 4; } else if ((*(int *)0x50d8 < *(int *)(*(int *)0xd214 * 2 + 0x50c8)) && (iVar5 = FUN_190c_23b0(8), iVar5 < 7)) { FUN_1307_222c(0x3f5a); } else { FUN_1307_222c(0x3f86); } } if (iVar6 == 4) { if (*(int *)(*(int *)0xd214 * 2 + 0x57f2) < 0) { iVar6 = 5; } else if ((*(int *)0x50d8 < *(int *)(*(int *)0xd214 * 2 + 0x57f2)) && (iVar5 = FUN_190c_23b0(6), iVar5 < 5)) { FUN_1307_222c(0x3fb4); } else { FUN_1307_222c(0x3fdb); } } if (iVar6 < 5) { FUN_1000_2b6c(); } else if (*(int *)0xa022 < 2) { FUN_1307_222c(0x400d); } else { FUN_1307_222c(0x3ffa); } } } else { if (*(int *)0xa022 == 1) { FUN_1307_222c(0x4077); } else { FUN_1307_222c(0x4084); } FUN_1000_20c4(); } } else if (iVar6 == 5) { if ((((*(int *)0xa016 < 3) || (*(int *)0xa016 == 4)) || (*(int *)0xa016 == 5)) || (((*(int *)0xa016 == 0xb || (*(int *)0xa016 == 0xc)) || ((*(int *)0xa016 == 0xe || ((*(int *)0xa016 == 0x12 || (*(int *)0xa016 == 0x16)))))))) { if (((*(int *)0xd450 < *(int *)0x5332) || (iVar6 = FUN_190c_23b0(2), iVar6 != 0)) && ((iVar6 = FUN_190c_23b0(*(int *)0xa022 + 6), iVar6 != 0 && ((*(int *)0x57e8 < 3 || (iVar6 = FUN_190c_23b0(4), *(int *)0x50c0 <= iVar6 + *(int *)0xa022)))))) { if (*(int *)0xa022 == 1) { FUN_1307_222c(0x40e0); } else { FUN_1307_222c(0x410c); } FUN_1000_20c4(); } else { uVar4 = *(int *)0xa022 * 0x14; puVar1 = (uint *)0xd446; uVar2 = *puVar1; *puVar1 = *puVar1 + uVar4; *(int *)0xd448 = *(int *)0xd448 + ((int)uVar4 >> 0xf) + (uint)CARRY2(uVar2,uVar4); FUN_1646_1d22(); *(int *)0xd20a = *(int *)0xd20a + 1; if (*(int *)0x50d8 < *(int *)(*(int *)0xd214 * 2 + -0x5fe6)) { FUN_1307_222c(0x4096); } else { FUN_1307_222c(0x40bb); } FUN_1000_2b6c(); } } else if (*(int *)0xa022 == 1) { FUN_1307_222c(0x4134); } else { FUN_1307_222c(0x4149); } } } } else { iVar6 = FUN_190c_23b0(3); if (iVar6 < 2) { FUN_1307_222c(0x415f); } if (iVar6 == 2) { FUN_1307_222c(0x4183); } if (iVar6 == 3) { FUN_1307_222c(0x41ad); } } return; } // Function: FUN_190c_000c at 190c:000c void __cdecl16far FUN_190c_000c(undefined1 param_1) { code *pcVar1; FUN_1e78_02b8(); pcVar1 = (code *)swi(0x10); (*pcVar1)(param_1); return; } // Function: FUN_190c_0038 at 190c:0038 void __cdecl16far FUN_190c_0038(int param_1,int param_2,int param_3,int param_4) { FUN_1e78_02b8(); FUN_2504_34c6(param_1 + 1,param_2 + 1,param_3 + 1,param_4 + 1); FUN_2504_3464(2); FUN_2504_34c6(1,1,0x19,0x50); return; } // Function: FUN_190c_0092 at 190c:0092 void __cdecl16far FUN_190c_0092(int param_1,int param_2,int param_3,int param_4) { FUN_1e78_02b8(); FUN_2504_34c6(param_1 + 1,param_2 + 1,param_3 + 1,param_4 + 1); FUN_2504_3464(2); FUN_2504_34c6(1,1,0x19,0x50); return; } // Function: FUN_190c_00ec at 190c:00ec void __cdecl16far FUN_190c_00ec(void) { code *pcVar1; FUN_1e78_02b8(); pcVar1 = (code *)swi(0x10); (*pcVar1)(); return; } // Function: FUN_190c_010e at 190c:010e void __cdecl16far FUN_190c_010e(undefined1 param_1) { code *pcVar1; FUN_1e78_02b8(); pcVar1 = (code *)swi(0x10); (*pcVar1)(param_1); return; } // Function: FUN_190c_0136 at 190c:0136 void __cdecl16far FUN_190c_0136(undefined1 param_1) { code *pcVar1; FUN_1e78_02b8(); pcVar1 = (code *)swi(0x10); (*pcVar1)(param_1); return; } // Function: FUN_190c_0166 at 190c:0166 void __cdecl16far FUN_190c_0166(undefined1 param_1) { code *pcVar1; FUN_1e78_02b8(); pcVar1 = (code *)swi(0x10); (*pcVar1)(param_1); return; } // Function: FUN_190c_0196 at 190c:0196 void __cdecl16far FUN_190c_0196(undefined1 param_1,undefined1 *param_2,undefined1 *param_3) { undefined2 unaff_DS; FUN_1e78_02b8(); *(undefined2 *)0xa006 = 0x800; *(undefined1 *)0xa009 = param_1; FUN_1e78_2272(0x10,0xa006,0xa006); *param_3 = *(undefined1 *)0xa007; *param_2 = *(undefined1 *)0xa006; return; } // Function: FUN_190c_01de at 190c:01de void __cdecl16far FUN_190c_01de(undefined2 param_1,undefined2 param_2,undefined2 param_3,int param_4) { code *pcVar1; int iVar2; undefined2 unaff_DS; int iVar3; FUN_1e78_02b8(); iVar2 = FUN_1e78_2010(param_4); for (iVar3 = 0; iVar3 < iVar2; iVar3 = iVar3 + 1) { pcVar1 = (code *)swi(0x10); (*pcVar1)(); FUN_190c_010e(param_3,1,(int)*(char *)(param_4 + iVar3)); } pcVar1 = (code *)swi(0x10); (*pcVar1)(); return; } // Function: FUN_190c_0264 at 190c:0264 void __cdecl16far FUN_190c_0264(undefined2 param_1,undefined2 param_2,int param_3) { code *pcVar1; int iVar2; undefined2 unaff_DS; int iVar3; FUN_1e78_02b8(); iVar2 = FUN_1e78_2010(param_3); for (iVar3 = 0; iVar3 < iVar2; iVar3 = iVar3 + 1) { pcVar1 = (code *)swi(0x10); (*pcVar1)(); FUN_190c_010e(param_2,1,(int)*(char *)(param_3 + iVar3)); } pcVar1 = (code *)swi(0x10); (*pcVar1)(); return; } // Function: FUN_190c_02fc at 190c:02fc void __cdecl16far FUN_190c_02fc(undefined2 param_1,undefined2 param_2,undefined2 param_3,undefined2 param_4, int param_5) { code *pcVar1; int iVar2; undefined2 unaff_DS; int iVar3; FUN_1e78_02b8(); iVar2 = FUN_1e78_2010(param_5); for (iVar3 = 0; iVar3 < iVar2; iVar3 = iVar3 + 1) { pcVar1 = (code *)swi(0x10); (*pcVar1)(); FUN_190c_0136(param_3,1,(int)*(char *)(param_5 + iVar3),param_4); } pcVar1 = (code *)swi(0x10); (*pcVar1)(); return; } // Function: FUN_190c_038c at 190c:038c void __cdecl16far FUN_190c_038c(undefined2 param_1) { FUN_1e78_02b8(); FUN_2504_3464(0); FUN_190c_01de(0,0,0xf,0x41d8); FUN_1e78_073c(0x41e9,param_1); FUN_1e78_01cd(1); return; } // Function: FUN_190c_03da at 190c:03da void __cdecl16far FUN_190c_03da(int param_1,int param_2,undefined2 param_3,int param_4,int param_5,int param_6, undefined2 param_7) { int iVar1; FUN_1e78_02b8(); FUN_2504_0cfa(param_1 + 1,param_2 + 1,param_2,param_1); if ((param_6 < 1) || (6 < param_6)) { param_6 = 1; } if (param_6 == 1) { FUN_190c_0166(param_3,0xffc9,param_7); } if (param_6 == 5) { FUN_190c_0166(param_3,0xffdb,param_7); } if (param_6 == 2) { FUN_190c_0166(param_3,0xffda,param_7); } if (param_6 == 4) { FUN_190c_0166(param_3,0xffd5,param_7); } if (param_6 == 3) { FUN_190c_0166(param_3,0xffd6,param_7); } if (param_6 == 6) { FUN_190c_0166(param_3,0xfffe,param_7); } for (iVar1 = 0; iVar1 < param_4; iVar1 = iVar1 + 1) { FUN_2504_0cfa(param_1 + iVar1 + 2,param_2 + 1); if ((param_6 == 1) || (param_6 == 3)) { FUN_190c_0166(param_3,0xffba,param_7); } else if ((param_6 == 4) || (param_6 == 2)) { FUN_190c_0166(param_3,0xffb3,param_7); } else if (param_6 == 6) { FUN_190c_0166(param_3,0xfffe,param_7); } else { FUN_190c_0166(param_3,0xffdb,param_7); } } FUN_2504_0cfa(param_1 + param_4 + 2,param_2 + 1); if (param_6 == 1) { FUN_190c_0166(param_3,0xffc8,param_7); } if (param_6 == 3) { FUN_190c_0166(param_3,0xffd3,param_7); } if (param_6 == 4) { FUN_190c_0166(param_3,0xffd4,param_7); } if (param_6 == 5) { FUN_190c_0166(param_3,0xffdb,param_7); } if (param_6 == 2) { FUN_190c_0166(param_3,0xffc0,param_7); } if (param_6 == 6) { FUN_190c_0166(param_3,0xfffe,param_7); } FUN_2504_0cfa(param_1 + param_4 + 2,param_2 + 2); if ((param_6 == 1) || (param_6 == 4)) { FUN_190c_0136(param_3,param_5,0xffcd,param_7); } else if (param_6 == 5) { FUN_190c_0136(param_3,param_5,0xffdb,param_7); } else if (param_6 == 6) { FUN_190c_0136(param_3,param_5,0xfffe,param_7); } else { FUN_190c_0136(param_3,param_5,0xffc4,param_7); } FUN_2504_0cfa(param_1 + param_4 + 2,param_2 + param_5 + 2); if (param_6 == 1) { FUN_190c_0166(param_3,0xffbc,param_7); } if (param_6 == 3) { FUN_190c_0166(param_3,0xffbd,param_7); } if (param_6 == 4) { FUN_190c_0166(param_3,0xffbe,param_7); } if (param_6 == 5) { FUN_190c_0166(param_3,0xffdb,param_7); } if (param_6 == 2) { FUN_190c_0166(param_3,0xffd9,param_7); } if (param_6 == 6) { FUN_190c_0166(param_3,0xfffe,param_7); } for (iVar1 = 0; iVar1 < param_4; iVar1 = iVar1 + 1) { FUN_2504_0cfa(((param_1 + param_4) - iVar1) + 1,param_2 + param_5 + 2); if ((param_6 == 1) || (param_6 == 3)) { FUN_190c_0166(param_3,0xffba,param_7); } else if (param_6 == 5) { FUN_190c_0166(param_3,0xffdb,param_7); } else if (param_6 == 6) { FUN_190c_0166(param_3,0xfffe,param_7); } else { FUN_190c_0166(param_3,0xffb3,param_7); } } FUN_2504_0cfa(param_1 + 1,param_2 + 2); if ((param_6 == 1) || (param_6 == 4)) { FUN_190c_0136(param_3,param_5,0xffcd,param_7); } else if (param_6 == 5) { FUN_190c_0136(param_3,param_5,0xffdb,param_7); } else if (param_6 == 6) { FUN_190c_0136(param_3,param_5,0xfffe,param_7); } else { FUN_190c_0136(param_3,param_5,0xffc4,param_7); } FUN_2504_0cfa(param_1 + 1,param_2 + param_5 + 2); if (param_6 == 1) { FUN_190c_0166(param_3,0xffbb,param_7); } if (param_6 == 3) { FUN_190c_0166(param_3,0xffb7,param_7); } if (param_6 == 4) { FUN_190c_0166(param_3,0xffb8,param_7); } if (param_6 == 2) { FUN_190c_0166(param_3,0xffbf,param_7); } if (param_6 == 5) { FUN_190c_0166(param_3,0xffdb,param_7); } if (param_6 == 6) { FUN_190c_0166(param_3,0xfffe,param_7); } return; } // Function: FUN_190c_0886 at 190c:0886 void __cdecl16far FUN_190c_0886(int param_1,int param_2,undefined2 param_3,int param_4,int param_5,int param_6, int param_7,int param_8) { int iVar1; int iVar2; FUN_1e78_02b8(); iVar1 = param_2; iVar2 = param_1; if ((param_4 <= param_7) || (param_5 <= param_8)) { FUN_190c_038c(3,param_2,param_1); } if ((0 < param_7) && (0 < param_8)) { FUN_190c_038c(4,iVar1,iVar2); } FUN_2504_0cfa(param_1 + 1,param_2 + 1); FUN_2504_32ca(param_3); if ((param_6 < 1) || (4 < param_6)) { param_6 = 1; } if (param_6 == 1) { FUN_190c_010e(param_3,1,0xffc9); } else if (param_6 == 2) { FUN_190c_010e(param_3,1,0xffda); } else if (param_6 == 4) { FUN_190c_010e(param_3,1,0xffd5); } else { FUN_190c_010e(param_3,1,0xffd6); } for (iVar1 = 0; iVar1 < param_4; iVar1 = iVar1 + 1) { FUN_2504_0cfa(param_1 + param_2 + 3); if ((param_6 == 1) || (param_6 == 3)) { iVar1 = -0x46; FUN_190c_010e(param_3,1); } else { iVar1 = -0x4d; FUN_190c_010e(param_3,1); } } FUN_2504_0cfa(param_1 + param_4 + 2,param_2 + 1); if (param_6 == 1) { FUN_190c_010e(param_3,1,0xffc8); } else if (param_6 == 3) { FUN_190c_010e(param_3,1,0xffd3); } else if (param_6 == 4) { FUN_190c_010e(param_3,1,0xffd4); } else { FUN_190c_010e(param_3,1,0xffc0); } FUN_2504_0cfa(param_1 + param_4 + 2,param_2 + 2); if ((param_6 == 1) || (param_6 == 4)) { FUN_190c_010e(param_3,param_5,0xffcd); } else { FUN_190c_010e(param_3,param_5,0xffc4); } FUN_2504_0cfa(param_1 + param_4 + 2,param_2 + param_5 + 2); if (param_6 == 1) { FUN_190c_010e(param_3,1,0xffbc); } else if (param_6 == 3) { FUN_190c_010e(param_3,1,0xffbd); } else if (param_6 == 4) { FUN_190c_010e(param_3,1,0xffbe); } else { FUN_190c_010e(param_3,1,0xffd9); } for (iVar1 = 0; iVar1 < param_4; iVar1 = iVar1 + 1) { FUN_2504_0cfa(((param_1 + param_4) - (param_2 + param_5 + 2)) + 1); if ((param_6 == 1) || (param_6 == 3)) { iVar1 = -0x46; FUN_190c_010e(param_3,1); } else { iVar1 = -0x4d; FUN_190c_010e(param_3,1); } } FUN_2504_0cfa(param_1 + 1,param_2 + param_5 + 2); if (param_6 == 1) { FUN_190c_010e(param_3,1,0xffbb); } else if (param_6 == 3) { FUN_190c_010e(param_3,1,0xffb7); } else if (param_6 == 4) { FUN_190c_010e(param_3,1,0xffb8); } else { FUN_190c_010e(param_3,1,0xffbf); } FUN_2504_0cfa(param_1 + 1,param_2 + 2); if ((param_6 == 1) || (param_6 == 4)) { FUN_190c_010e(param_3,param_5,0xffcd); } else { FUN_190c_010e(param_3,param_5,0xffc4); } if (0 < param_7) { FUN_2504_0cfa(param_1 + param_7 + 1,param_2 + 1); if (param_6 == 3) { FUN_190c_010e(param_3,1,0xffc7); FUN_2504_0cfa(param_1 + param_7 + 1,param_2 + 2); FUN_190c_010e(param_3,param_5,0xffc4); FUN_2504_0cfa(param_1 + param_7 + 1,param_2 + param_5 + 2); FUN_190c_010e(param_3,1,0xffb6); } else if (param_6 == 1) { FUN_190c_010e(param_3,1,0xffcc); FUN_2504_0cfa(param_1 + param_7 + 1,param_2 + 2); FUN_190c_010e(param_3,param_5,0xffcd); FUN_2504_0cfa(param_1 + param_7 + 1,param_2 + param_5 + 2); FUN_190c_010e(param_3,1,0xffb9); } else if (param_6 == 2) { FUN_190c_010e(param_3,1,0xffc3); FUN_2504_0cfa(param_1 + param_7 + 1,param_2 + 2); FUN_190c_010e(param_3,param_5,0xffc4); FUN_2504_0cfa(param_1 + param_7 + 1,param_2 + param_5 + 2); FUN_190c_010e(param_3,1,0xffb4); } else { FUN_190c_010e(param_3,1,0xffc6); FUN_2504_0cfa(param_1 + param_7 + 1,param_2 + 2); FUN_190c_010e(param_3,param_5,0xffcd); FUN_2504_0cfa(param_1 + param_7 + 1,param_2 + param_5 + 2); FUN_190c_010e(param_3,1,0xffb5); } } if (0 < param_8) { FUN_2504_0cfa(param_1 + 1,param_2 + param_8 + 1); if (param_6 == 3) { FUN_190c_010e(param_3,1,0xffd2); } else if (param_6 == 2) { FUN_190c_010e(param_3,1,0xffc2); } else if (param_6 == 1) { FUN_190c_010e(param_3,1,0xffcb); } else { FUN_190c_010e(param_3,1,0xffd1); } for (iVar1 = 0; iVar1 < param_4; iVar1 = iVar1 + 1) { FUN_2504_0cfa(param_1 + param_2 + param_8 + 3); if ((param_6 == 1) || (param_6 == 3)) { FUN_190c_010e(param_3,1,0xffba); } else { FUN_190c_010e(param_3,1,0xffb3); } FUN_2504_0cfa(param_1 + param_4 + 2,param_2 + param_8 + 1); if (param_6 == 3) { iVar1 = -0x30; FUN_190c_010e(param_3,1); } else if (param_6 == 1) { iVar1 = -0x36; FUN_190c_010e(param_3,1); } else if (param_6 == 4) { iVar1 = -0x31; FUN_190c_010e(param_3,1); } else { iVar1 = -0x3f; FUN_190c_010e(param_3,1); } } } return; } // Function: FUN_190c_0f10 at 190c:0f10 void __cdecl16far FUN_190c_0f10(undefined2 param_1,undefined2 param_2,int param_3) { FUN_1e78_02b8(); FUN_190c_0038(0x17,0xe,0x17,0x4e,param_2); FUN_190c_01de(0x17,0xe,param_2,param_1); if (param_3 == 1) { FUN_190c_37d0(); } return; } // Function: FUN_190c_0f64 at 190c:0f64 void __cdecl16far FUN_190c_0f64(undefined2 param_1,undefined2 param_2,int param_3) { FUN_1e78_02b8(); FUN_190c_0038(0x17,0x14,0x17,0x4e,param_2); FUN_190c_01de(0x17,0x14,param_2,param_1); if (param_3 == 1) { FUN_190c_37d0(); } return; } // Function: FUN_190c_0fb8 at 190c:0fb8 void __cdecl16far FUN_190c_0fb8(undefined2 param_1) { FUN_1e78_02b8(); FUN_190c_0092(0x17,0xe,0x17,0x4d); FUN_190c_01de(0x17,0xe,param_1,0x41ee); FUN_190c_37d0(); FUN_190c_0092(0x17,0xe,0x17,0x4e); return; } // Function: FUN_190c_1016 at 190c:1016 void __cdecl16far FUN_190c_1016(int param_1,int param_2,undefined2 param_3,undefined2 param_4,undefined2 param_5) { int iVar1; FUN_1e78_02b8(); iVar1 = FUN_1e78_2010(param_5); FUN_190c_0092(param_1,param_2,param_1 + 2,iVar1 + param_2 + 2); FUN_190c_03da(param_1,param_2,param_3,1,iVar1 + 3,1,0); FUN_190c_01de(param_1 + 1,param_2 + 2,param_4,param_5); return; } // Function: FUN_190c_108c at 190c:108c void __cdecl16far FUN_190c_108c(int param_1,int param_2,undefined2 param_3,undefined2 param_4,undefined2 param_5, int param_6) { int iVar1; FUN_1e78_02b8(); iVar1 = FUN_1e78_2010(param_5); FUN_190c_0092(param_1,param_2,param_1 + 2,param_2 + 3 + iVar1 + param_6); FUN_190c_03da(param_1,param_2,param_3,1,iVar1 + 3 + param_6,1,0); FUN_190c_01de(param_1 + 1,param_2 + 2,param_4,param_5); FUN_2504_0cfa(param_1 + 2,param_2 + iVar1 + 3); return; } // Function: FUN_190c_111e at 190c:111e undefined2 __cdecl16far FUN_190c_111e(int param_1,int param_2,undefined2 param_3,undefined2 param_4,undefined2 param_5, int param_6,undefined2 param_7,int param_8,int param_9) { undefined1 *puVar1; int iVar2; undefined2 uVar3; undefined2 unaff_DS; int iVar4; int iVar5; FUN_1e78_02b8(); iVar2 = FUN_1e78_2010(param_5); if (param_9 == 1) { uVar3 = thunk_FUN_1e78_1dfb((iVar2 + 6 + param_6) * 6); *(undefined2 *)0xd202 = uVar3; if (*(int *)0xd202 == 0) { FUN_2504_3464(0); FUN_1e78_073c(0x4209); FUN_1e78_224a(); FUN_1e78_01cd(1); } *(undefined2 *)0xd210 = *(undefined2 *)0xd202; for (iVar5 = 0; iVar5 < 3; iVar5 = iVar5 + 1) { for (iVar4 = 0; iVar4 < iVar2 + 6 + param_6; iVar4 = iVar4 + 1) { FUN_2504_0cfa(param_1 + param_2 + iVar4 + 1); iVar5 = -0x29d2; iVar4 = -0x29d1; FUN_190c_0196(param_8); *(undefined1 *)*(undefined2 *)0xd202 = *(undefined1 *)0xd62f; *(int *)0xd202 = *(int *)0xd202 + 1; *(undefined1 *)*(undefined2 *)0xd202 = *(undefined1 *)0xd62e; *(int *)0xd202 = *(int *)0xd202 + 1; } } } FUN_190c_0038(param_1,param_2,param_1 + 2,param_2 + 3 + iVar2 + param_6,param_4); FUN_190c_03da(param_1,param_2,param_3,1,iVar2 + 3 + param_6,1,0); FUN_190c_01de(param_1 + 1,param_2 + 2,param_4,param_5); uVar3 = FUN_190c_1904(param_1 + 2,param_2 + 3 + iVar2,param_4,param_6,param_8,param_7); if (param_9 == 1) { *(undefined2 *)0xd202 = *(undefined2 *)0xd210; for (iVar5 = 0; iVar5 < 3; iVar5 = iVar5 + 1) { for (iVar4 = 0; iVar4 < iVar2 + 6 + param_6; iVar4 = iVar4 + 1) { FUN_2504_0cfa(param_1 + param_2 + iVar4 + 1); puVar1 = (undefined1 *)*(undefined2 *)0xd202; *(int *)0xd202 = *(int *)0xd202 + 1; *(undefined1 *)0xd62f = *puVar1; puVar1 = (undefined1 *)*(undefined2 *)0xd202; *(int *)0xd202 = *(int *)0xd202 + 1; *(undefined1 *)0xd62e = *puVar1; iVar4 = (int)*(char *)0xd62f; iVar5 = param_8; FUN_190c_0136((int)*(char *)0xd62e,1); } } thunk_FUN_1e78_1dda(*(undefined2 *)0xd210); } return uVar3; } // Function: FUN_190c_1328 at 190c:1328 undefined2 __cdecl16far FUN_190c_1328(int param_1,int param_2,undefined2 param_3,undefined2 param_4,undefined2 param_5, undefined2 param_6,int param_7) { undefined1 *puVar1; int iVar2; undefined2 uVar3; int iVar4; undefined2 unaff_DS; undefined2 uVar5; int iVar6; int iVar7; FUN_1e78_02b8(); iVar6 = -0x5bf6; iVar2 = FUN_1e78_2010(param_5); if (param_7 == 1) { iVar4 = iVar2 + 6 + iVar6; iVar6 = -0x5bd5; uVar3 = thunk_FUN_1e78_1dfb(iVar4 * 6); *(undefined2 *)0xd204 = uVar3; if (*(int *)0xd204 == 0) { FUN_2504_3464(0); FUN_1e78_073c(0x4217); FUN_1e78_224a(); iVar6 = -0x5ba3; FUN_1e78_01cd(1); } *(undefined2 *)0xd216 = *(undefined2 *)0xd204; for (iVar4 = 0; iVar4 < 3; iVar4 = iVar4 + 1) { for (iVar7 = 0; iVar7 < iVar2 + 6 + iVar6; iVar7 = iVar7 + 1) { iVar6 = -0x5b5e; FUN_2504_0cfa(param_1 + iVar4 + 1,param_2 + iVar7); iVar7 = -0x29cf; FUN_190c_0196(iVar6,0xd631,0xd630); *(undefined1 *)*(undefined2 *)0xd204 = *(undefined1 *)0xd631; *(int *)0xd204 = *(int *)0xd204 + 1; *(undefined1 *)*(undefined2 *)0xd204 = *(undefined1 *)0xd630; *(int *)0xd204 = *(int *)0xd204 + 1; } } } iVar4 = param_1 + 2; FUN_190c_0038(param_1,param_2,iVar4,param_2 + 3 + iVar2 + iVar6,param_4); FUN_190c_03da(param_1,param_2,param_3,1,iVar2 + 3 + iVar4,1,0); FUN_190c_01de(param_1 + 1,param_2 + 2,param_4,param_5); iVar6 = param_2 + 3 + iVar2; uVar3 = FUN_190c_20aa(param_1 + 1,iVar6,param_4,param_6); if (param_7 == 1) { *(undefined2 *)0xd204 = *(undefined2 *)0xd216; for (iVar4 = 0; iVar4 < 3; iVar4 = iVar4 + 1) { for (iVar7 = 0; iVar7 < iVar2 + 6 + iVar6; iVar7 = iVar7 + 1) { uVar5 = 0xa5ae; FUN_2504_0cfa(param_1 + iVar4 + 1,param_2 + iVar7); puVar1 = (undefined1 *)*(undefined2 *)0xd204; *(int *)0xd204 = *(int *)0xd204 + 1; *(undefined1 *)0xd631 = *puVar1; puVar1 = (undefined1 *)*(undefined2 *)0xd204; *(int *)0xd204 = *(int *)0xd204 + 1; *(undefined1 *)0xd630 = *puVar1; iVar7 = (int)*(char *)0xd631; iVar6 = 1; FUN_190c_0136((int)*(char *)0xd630,1,iVar7,uVar5); } } thunk_FUN_1e78_1dda(*(undefined2 *)0xd216); } return uVar3; } // Function: FUN_190c_1558 at 190c:1558 void __cdecl16far FUN_190c_1558(undefined2 param_1,undefined2 param_2,undefined2 param_3) { int iVar1; undefined2 unaff_DS; FUN_1e78_02b8(); if (*(char *)0x39f != 'r') { FUN_2504_3464(0); FUN_190c_01de(0,1,0x87,0x4225); FUN_1e78_01cd(1); } FUN_2504_3464(0); iVar1 = FUN_1e78_2010(param_3); FUN_190c_0886(0,0,param_1,0x17,0x4e,1,2,0,iVar1); FUN_190c_01de(1,param_3,param_2); FUN_190c_01de(1,iVar1 + 0x38c,param_2); FUN_190c_03da(0x16,0,param_1,1,0x4e,1,0); FUN_2504_0cfa(0x17,1); FUN_190c_010e(param_1,1,0xffcc); FUN_2504_0cfa(0x17,0x50); FUN_190c_010e(param_1,1,0xffb9); FUN_190c_01de(0x17,2,param_1,0x4235); return; } // Function: FUN_190c_169c at 190c:169c int __cdecl16far FUN_190c_169c(int param_1,int param_2,int param_3,int param_4,char *param_5) { int iVar1; int iVar2; int iVar3; undefined2 unaff_DS; int local_14; int iVar4; iVar3 = 0x1e78; FUN_1e78_02b8(); iVar2 = 1; local_14 = 1; do { FUN_2504_0cfa(param_1 + 1,param_2 + 1); iVar4 = iVar3; iVar3 = FUN_190c_38bc(); if (iVar3 == 0) { iVar3 = 0x1e78; iVar1 = FUN_1e78_224a(); if (iVar1 == 0x4b) { if (iVar2 < 2) { iVar4 = param_3; FUN_190c_010e(param_3,1,0x20); iVar1 = param_2; } else { FUN_2504_0cfa(param_1 + 1,param_2 + 1); FUN_190c_010e(param_3,1,0x20); iVar2 = iVar2 + -1; iVar1 = param_2 + -1; *param_5 = ' '; FUN_2504_0cfa(param_1 + 1,param_2); iVar4 = param_3; FUN_190c_010e(param_3,1,0x20); param_5[-1] = ' '; param_5 = param_5 + -1; } iVar3 = 0x190c; param_2 = iVar1; } else if ((iVar1 == 0x4d) && (iVar2 < param_4)) { iVar2 = iVar2 + 1; param_2 = param_2 + 1; *param_5 = ' '; iVar3 = 0x190c; iVar4 = param_3; FUN_190c_010e(param_3,1,0x20); param_5 = param_5 + 1; } } else { iVar1 = param_2; if (iVar3 == 8) { if (iVar2 < 2) { iVar4 = param_3; FUN_190c_010e(param_3,1,0x20); } else { FUN_2504_0cfa(param_1 + 1,param_2 + 1); FUN_190c_010e(param_3,1,0x20); iVar2 = iVar2 + -1; iVar1 = param_2 + -1; *param_5 = ' '; FUN_2504_0cfa(param_1 + 1,param_2); iVar4 = param_3; FUN_190c_010e(param_3,1,0x20); param_5 = param_5 + -1; } } else if (iVar3 == 0xd) { if (iVar2 == 1) { local_14 = -1; } else { local_14 = iVar2 + -1; } iVar4 = 0; } else if (iVar3 == 0x1b) { iVar4 = 0; local_14 = 0; } else if (((0x1f < iVar3) && (iVar3 < 0x7f)) && (*param_5 = (char)iVar3, iVar2 < param_4 + 1)) { iVar4 = param_3; FUN_190c_010e(param_3,1,(int)(char)iVar3); iVar2 = iVar2 + 1; iVar1 = param_2 + 1; param_5 = param_5 + 1; } iVar3 = 0x190c; param_2 = iVar1; } } while (iVar4 == 1); *param_5 = '\0'; return local_14; } // Function: FUN_190c_1904 at 190c:1904 int __cdecl16far FUN_190c_1904(int param_1,int param_2,undefined2 param_3,int param_4,undefined2 param_5, char *param_6) { int iVar1; int iVar2; int iVar3; undefined2 unaff_DS; int local_16; undefined2 uVar4; int iVar5; FUN_1e78_02b8(); iVar2 = 1; local_16 = 1; FUN_2504_32db(param_2); iVar3 = 0x2504; FUN_2504_32ca(0); param_1 = param_1 + 1; do { uVar4 = 0xaa16; FUN_2504_0cfa(param_1,param_2); iVar5 = iVar3; iVar3 = FUN_190c_38bc(); if (iVar3 == 0) { iVar3 = 0x1e78; iVar1 = FUN_1e78_224a(); if (iVar1 == 0x4b) { if (iVar2 < 2) { iVar5 = 1; uVar4 = param_3; FUN_190c_0136(param_3,1,0x20,param_5); } else { FUN_2504_0cfa(param_1,param_2); FUN_190c_0136(param_3,1,0x20,param_5); iVar2 = iVar2 + -1; param_2 = param_2 + -1; *param_6 = ' '; FUN_2504_0cfa(param_1,param_2); iVar5 = 1; uVar4 = param_3; FUN_190c_0136(param_3,1,0x20,param_5); param_6[-1] = ' '; param_6 = param_6 + -1; } iVar3 = 0x190c; } else if ((iVar1 == 0x4d) && (iVar2 < param_4)) { iVar2 = iVar2 + 1; param_2 = param_2 + 1; *param_6 = ' '; iVar5 = 1; iVar3 = 0x190c; uVar4 = param_3; FUN_190c_0136(param_3,1,0x20,param_5); param_6 = param_6 + 1; } } else { if (iVar3 == 8) { if (iVar2 < 2) { iVar5 = 1; uVar4 = param_3; FUN_190c_0136(param_3,1,0x20,param_5); } else { FUN_2504_0cfa(param_1,param_2); FUN_190c_0136(param_3,1,0x20,param_5); iVar2 = iVar2 + -1; param_2 = param_2 + -1; *param_6 = ' '; FUN_2504_0cfa(param_1,param_2); iVar5 = 1; uVar4 = param_3; FUN_190c_0136(param_3,1,0x20,param_5); param_6 = param_6 + -1; } } else if (iVar3 == 0xd) { if (iVar2 == 1) { local_16 = -1; } else { local_16 = iVar2 + -1; } iVar5 = 0; } else if (iVar3 == 0x1b) { iVar5 = 0; local_16 = 0; } else if ((0x1f < iVar3) && (iVar3 < 0x7f)) { *param_6 = (char)iVar3; iVar5 = 1; uVar4 = param_3; FUN_190c_0136(param_3,1,(int)(char)iVar3,param_5); if (iVar2 < param_4) { iVar2 = iVar2 + 1; param_2 = param_2 + 1; param_6 = param_6 + 1; } } iVar3 = 0x190c; } } while (iVar5 == 1); *param_6 = '\0'; FUN_2504_32ca(uVar4); return local_16; } // Function: FUN_190c_1b90 at 190c:1b90 undefined2 __cdecl16far FUN_190c_1b90(int param_1,int param_2,undefined2 param_3,int param_4,int *param_5) { bool bVar1; bool bVar2; int iVar3; char *pcVar4; int iVar5; undefined2 uVar6; undefined2 unaff_DS; int local_20; char local_18 [8]; undefined2 uStack_10; undefined2 uStack_e; undefined2 uStack_c; int iStack_a; char *pcStack_8; undefined2 uVar7; FUN_1e78_02b8(); uVar7 = 0; bVar1 = false; local_20 = param_2; iVar5 = 1; bVar2 = true; pcVar4 = local_18; if (6 < param_4) { param_4 = 6; } pcStack_8 = (char *)0x1; iStack_a = 0x1e78; uVar6 = 0x2504; uStack_c = 0xac97; FUN_2504_3be6(); do { pcStack_8 = (char *)(local_20 + 1); iStack_a = param_1 + 1; uStack_e = 0xacae; uStack_c = uVar6; FUN_2504_0cfa(); pcStack_8 = (char *)0x2504; uVar6 = 0x190c; iStack_a = 0xacb6; iVar3 = FUN_190c_38bc(); if (iVar3 == 0) { pcStack_8 = (char *)0x190c; uVar6 = 0x1e78; iStack_a = 0xacc4; iVar3 = FUN_1e78_224a(); if (iVar3 == 0x4b) { if (iVar5 < 2) { pcStack_8 = (char *)0x20; iStack_a = 1; uStack_c = param_3; uStack_10 = 0xae49; uStack_e = uVar6; FUN_190c_010e(); *pcVar4 = ' '; } else { pcStack_8 = (char *)(local_20 + 1); iStack_a = param_1 + 1; uStack_e = 0xae05; uStack_c = uVar6; FUN_2504_0cfa(); pcStack_8 = (char *)0x20; iStack_a = 1; uStack_c = param_3; uStack_e = 0x2504; uStack_10 = 0xae19; FUN_190c_010e(); iVar5 = iVar5 + -1; local_20 = local_20 + -1; *pcVar4 = ' '; bVar1 = true; pcVar4 = pcVar4 + -1; } uVar6 = 0x190c; } else if ((iVar3 == 0x4d) && (iVar5 != param_4)) { iVar5 = iVar5 + 1; local_20 = local_20 + 1; *pcVar4 = ' '; pcStack_8 = (char *)0x20; iStack_a = 1; uStack_c = param_3; uStack_10 = 0xae76; uStack_e = uVar6; FUN_190c_010e(); pcVar4 = pcVar4 + 1; uVar6 = 0x190c; } } else { if (iVar3 == 8) { if (iVar5 < 2) { pcStack_8 = (char *)0x20; iStack_a = 1; uStack_c = param_3; uStack_10 = 0xad61; uStack_e = uVar6; FUN_190c_010e(); *pcVar4 = ' '; } else { pcStack_8 = (char *)(local_20 + 1); iStack_a = param_1 + 1; uStack_e = 0xad1d; uStack_c = uVar6; FUN_2504_0cfa(); pcStack_8 = (char *)0x20; iStack_a = 1; uStack_c = param_3; uStack_e = 0x2504; uStack_10 = 0xad31; FUN_190c_010e(); iVar5 = iVar5 + -1; local_20 = local_20 + -1; *pcVar4 = ' '; bVar1 = true; pcVar4 = pcVar4 + -1; } } else if (iVar3 == 0xd) { bVar2 = false; if (param_4 <= iVar5) { pcVar4 = pcVar4 + 1; } if (bVar1) { pcVar4 = pcVar4 + 1; } } else if (iVar3 == 0x1b) { bVar2 = false; uVar7 = 1; } else if ((((0x2f < iVar3) && (iVar3 < 0x3a)) || ((iVar3 == 0x2d && (param_4 != 1)))) && ((iVar5 < 2 || (iVar3 != 0x2d)))) { *pcVar4 = (char)iVar3; pcStack_8 = (char *)(int)*pcVar4; iStack_a = 1; uStack_c = param_3; uStack_10 = 0xadaa; uStack_e = uVar6; FUN_190c_010e(); if (iVar5 < param_4) { iVar5 = iVar5 + 1; local_20 = local_20 + 1; pcVar4 = pcVar4 + 1; bVar1 = false; } } uVar6 = 0x190c; } } while (bVar2); *pcVar4 = '\0'; pcStack_8 = local_18; uStack_c = 0xaea3; iStack_a = uVar6; iVar5 = thunk_FUN_1e78_20b4(); *param_5 = iVar5; if ((*param_5 < 0) && (local_18[0] != '-')) { uVar7 = 0xffff; } return uVar7; } // Function: FUN_190c_1e0c at 190c:1e0c undefined2 __cdecl16far FUN_190c_1e0c(int param_1,int param_2,undefined2 param_3,int param_4,undefined2 *param_5) { bool bVar1; bool bVar2; int iVar3; undefined2 in_DX; int iVar4; undefined2 uVar5; undefined2 unaff_DS; int local_1e; char *local_18; char local_16 [6]; undefined2 uStack_10; undefined2 uStack_e; undefined2 uStack_c; int iStack_a; char *pcStack_8; undefined2 uVar6; FUN_1e78_02b8(); uVar6 = 0; local_1e = param_2; iVar4 = 1; bVar2 = true; bVar1 = false; local_18 = local_16; if (0xb < param_4) { param_4 = 0xb; } pcStack_8 = (char *)0x1; iStack_a = 0x1e78; uVar5 = 0x2504; uStack_c = 0xaf14; FUN_2504_3be6(); do { pcStack_8 = (char *)(local_1e + 1); iStack_a = param_1 + 1; uStack_e = 0xaf2b; uStack_c = uVar5; FUN_2504_0cfa(); pcStack_8 = (char *)0x2504; uVar5 = 0x190c; iStack_a = 0xaf33; iVar3 = FUN_190c_38bc(); if (iVar3 == 0) { pcStack_8 = (char *)0x190c; uVar5 = 0x1e78; iStack_a = 0xaf3e; iVar3 = FUN_1e78_224a(); if (iVar3 == 0x4b) { if (iVar4 < 2) { pcStack_8 = (char *)0x20; iStack_a = 1; uStack_c = param_3; uStack_10 = 0xb0d3; uStack_e = uVar5; FUN_190c_010e(); *local_18 = ' '; } else { pcStack_8 = (char *)(local_1e + 1); iStack_a = param_1 + 1; uStack_e = 0xb08f; uStack_c = uVar5; FUN_2504_0cfa(); pcStack_8 = (char *)0x20; iStack_a = 1; uStack_c = param_3; uStack_e = 0x2504; uStack_10 = 0xb0a3; FUN_190c_010e(); iVar4 = iVar4 + -1; local_1e = local_1e + -1; *local_18 = ' '; bVar1 = true; local_18 = local_18 + -1; } uVar5 = 0x190c; } else if ((iVar3 == 0x4d) && (iVar4 != param_4)) { iVar4 = iVar4 + 1; local_1e = local_1e + 1; *local_18 = ' '; pcStack_8 = (char *)0x20; iStack_a = 1; uStack_c = param_3; uStack_10 = 0xb100; uStack_e = uVar5; FUN_190c_010e(); uVar5 = 0x190c; local_18 = local_18 + 1; } } else { if (iVar3 == 8) { if (iVar4 < 2) { pcStack_8 = (char *)0x20; iStack_a = 1; uStack_c = param_3; uStack_10 = 0xafdf; uStack_e = uVar5; FUN_190c_010e(); *local_18 = ' '; } else { pcStack_8 = (char *)(local_1e + 1); iStack_a = param_1 + 1; uStack_e = 0xaf9b; uStack_c = uVar5; FUN_2504_0cfa(); pcStack_8 = (char *)0x20; iStack_a = 1; uStack_c = param_3; uStack_e = 0x2504; uStack_10 = 0xafaf; FUN_190c_010e(); *local_18 = ' '; iVar4 = iVar4 + -1; local_1e = local_1e + -1; bVar1 = true; local_18 = local_18 + -1; } } else if (iVar3 == 0xd) { bVar2 = false; if (param_4 <= iVar4) { local_18 = local_18 + 1; } if (bVar1) { local_18 = local_18 + 1; } } else if (iVar3 == 0x1b) { bVar2 = false; uVar6 = 1; } else if ((((0x2f < iVar3) && (iVar3 < 0x3a)) || ((iVar3 == 0x2d && (param_4 != 1)))) && ((iVar4 < 2 || (iVar3 != 0x2d)))) { *local_18 = (char)iVar3; pcStack_8 = (char *)(int)*local_18; iStack_a = 1; uStack_c = param_3; uStack_10 = 0xb028; uStack_e = uVar5; FUN_190c_010e(); if (iVar4 < param_4) { iVar4 = iVar4 + 1; local_1e = local_1e + 1; local_18 = local_18 + 1; bVar1 = false; } } uVar5 = 0x190c; } } while (bVar2); *local_18 = '\0'; pcStack_8 = local_16; uStack_c = 0xb136; iStack_a = uVar5; uVar5 = thunk_FUN_1e78_20b4(); *param_5 = uVar5; param_5[1] = in_DX; if ((((int)param_5[1] < 1) && ((int)param_5[1] < 0)) && (local_16[0] != '-')) { uVar6 = 0xffff; } return uVar6; } // Function: FUN_190c_20aa at 190c:20aa int __cdecl16far FUN_190c_20aa(int param_1,int param_2,undefined2 param_3) { code *pcVar1; bool bVar2; bool bVar3; bool bVar4; bool bVar5; int iVar6; char *pcVar7; undefined2 uVar8; undefined2 unaff_DS; bool bVar9; int local_2c; int local_1c; int local_1a; char local_12 [2]; undefined2 uStack_10; undefined2 uStack_e; undefined2 uStack_c; int iStack_a; char *pcStack_8; int iVar10; FUN_1e78_02b8(); iVar10 = 0; local_1a = param_2; local_1c = 1; bVar4 = false; bVar3 = false; bVar2 = false; local_2c = 0; bVar5 = false; pcVar7 = local_12; pcStack_8 = (char *)0x1; iStack_a = 0x1e78; uStack_c = 0xb1c1; FUN_2504_3be6(); pcStack_8 = (char *)(param_2 + 1); iStack_a = param_1 + 1; uStack_c = 0x2504; uStack_e = 0xb1d3; FUN_2504_0cfa(); pcStack_8 = (char *)0x20; iStack_a = 1; uStack_c = param_3; uStack_e = 0x2504; uVar8 = 0x190c; uStack_10 = 0xb1e7; FUN_190c_010e(); do { pcStack_8 = (char *)(local_1a + 1); iStack_a = param_1 + 1; uStack_e = 0xb1fe; uStack_c = uVar8; FUN_2504_0cfa(); pcStack_8 = (char *)0x2504; uVar8 = 0x190c; iStack_a = 0xb206; iVar6 = FUN_190c_38bc(); bVar9 = iVar6 == 0; if (bVar9) { pcStack_8 = (char *)0x190c; uVar8 = 0x1e78; iStack_a = 0xb211; iVar6 = FUN_1e78_224a(); } if ((iVar6 == 8) || ((iVar6 == 0x4b && (bVar9)))) { if (local_1c < 2) { pcStack_8 = (char *)0x20; iStack_a = 1; uStack_c = param_3; uStack_10 = 0xb2dd; uStack_e = uVar8; FUN_190c_010e(); *pcVar7 = ' '; uVar8 = 0x190c; } else { pcStack_8 = (char *)(local_1a + 1); iStack_a = param_1 + 1; uStack_e = 0xb24b; uStack_c = uVar8; FUN_2504_0cfa(); pcStack_8 = (char *)0x20; iStack_a = 1; uStack_c = param_3; uStack_e = 0x2504; uStack_10 = 0xb25f; FUN_190c_010e(); *pcVar7 = ' '; pcVar7 = pcVar7 + -1; local_1c = local_1c + -1; if (*pcVar7 == '.') { bVar3 = false; } if (*pcVar7 == 'E') { bVar2 = false; } if (*pcVar7 == 'e') { bVar2 = false; } if (*pcVar7 == '-') { local_2c = local_2c + -1; } *pcVar7 = ' '; pcStack_8 = (char *)local_1a; iStack_a = param_1 + 1; uStack_c = 0x190c; uStack_e = 0xb2b2; FUN_2504_0cfa(); pcStack_8 = (char *)0x20; iStack_a = 1; uStack_c = param_3; uStack_e = 0x2504; uVar8 = 0x190c; uStack_10 = 0xb2c6; FUN_190c_010e(); local_1a = local_1a + -1; } } if (!bVar9) { if (iVar6 == 0xd) { bVar4 = true; } else if (iVar6 == 0x1b) { bVar4 = true; iVar10 = 1; } else if (((((((0x2f < iVar6) && (iVar6 < 0x3a)) || (iVar6 == 0x45)) || ((iVar6 == 0x65 || (iVar6 == 0x2d)))) || (iVar6 == 0x2e)) && (((local_1c < 2 || (iVar6 != 0x2d)) || (bVar2)))) && (((iVar6 != 0x2e || (!bVar3)) && ((((iVar6 != 0x45 && (iVar6 != 0x65)) || (!bVar2)) && ((((iVar6 != 0x2d || (!bVar2)) || (local_2c < 1)) && ((local_1c < 0xd || (bVar2))))) ))))) { if (iVar6 == 0x2e) { bVar3 = true; } if ((iVar6 == 0x45) || (iVar6 == 0x65)) { bVar2 = true; } if ((iVar6 == 0x2d) && (bVar2)) { local_2c = local_2c + 1; } *pcVar7 = (char)iVar6; pcStack_8 = (char *)(int)*pcVar7; iStack_a = 1; uStack_c = param_3; uStack_10 = 0xb3c9; uStack_e = uVar8; FUN_190c_010e(); uVar8 = 0x190c; if (local_1c < 0xd) { local_1c = local_1c + 1; local_1a = local_1a + 1; pcVar7 = pcVar7 + 1; } } } if ((bVar9) && (iVar6 == 0x3b)) { bVar5 = true; } } while ((!bVar4) && (!bVar5)); *pcVar7 = '\0'; pcStack_8 = local_12; uStack_c = 0xb42d; iStack_a = uVar8; FUN_1e78_206e(); pcVar1 = (code *)swi(0x39); (*pcVar1)(); pcVar1 = (code *)swi(0x3d); (*pcVar1)(); pcVar1 = (code *)swi(0x39); (*pcVar1)(); pcVar1 = (code *)swi(0x3d); (*pcVar1)(); if (bVar5) { iVar10 = -2; } else { iVar6 = FUN_1e78_2010(); if ((iVar6 == 0) && (iVar10 != 1)) { iVar10 = -1; } } return iVar10; } // Function: FUN_190c_23b0 at 190c:23b0 int __cdecl16far FUN_190c_23b0(int param_1) { int iVar1; FUN_1e78_02b8(); if (param_1 == 0) { iVar1 = 0; } else { iVar1 = FUN_1e78_24f0(); iVar1 = iVar1 / (int)(0x7fff / (long)param_1); } return iVar1; } // Function: FUN_190c_23ee at 190c:23ee void __cdecl16far FUN_190c_23ee(undefined2 param_1,undefined2 param_2) { FUN_1e78_02b8(); FUN_2504_3464(0); FUN_190c_01de(0,0,param_1,0x4241); FUN_190c_01de(0,0x1a,param_1,param_2); FUN_1e78_01cd(0); return; } // Function: FUN_190c_2444 at 190c:2444 void __cdecl16far FUN_190c_2444(undefined2 param_1,undefined2 param_2) { FUN_1e78_02b8(); FUN_2504_3464(0); FUN_190c_01de(0,0,param_1,0x425c); FUN_190c_01de(0,0x1a,param_1,param_2); FUN_1e78_01cd(1); return; } // Function: FUN_190c_249c at 190c:249c char * __cdecl16far FUN_190c_249c(char *param_1) { char cVar1; char *pcVar2; char *pcVar3; int iVar4; undefined2 unaff_DS; FUN_1e78_02b8(); pcVar2 = (char *)FUN_1e78_2010(param_1); pcVar3 = pcVar2; for (iVar4 = 0; iVar4 < (int)pcVar2; iVar4 = iVar4 + 1) { if ((*(byte *)(*param_1 + 0x6c3) & 2) == 0) { cVar1 = *param_1; } else { cVar1 = *param_1 + -0x20; } *param_1 = cVar1; pcVar3 = param_1; param_1 = param_1 + 1; } return pcVar3; } // Function: FUN_190c_24f0 at 190c:24f0 char * __cdecl16far FUN_190c_24f0(char *param_1) { int iVar1; int iVar2; undefined2 unaff_DS; char *local_5c; char *local_8; FUN_1e78_02b8(); local_5c = param_1; local_8 = param_1; iVar1 = FUN_1e78_2010(); for (iVar2 = 0; iVar2 < iVar1; iVar2 = iVar2 + 1) { if ((*(byte *)(*param_1 + 0x6c3) & 8) == 0) { *local_5c = *param_1; local_8 = local_8 + 1; local_5c = local_5c + 1; } param_1 = param_1 + 1; } *local_5c = '\0'; return local_8; } // Function: FUN_190c_2558 at 190c:2558 /* WARNING: Type propagation algorithm not settling */ int __cdecl16far FUN_190c_2558(undefined1 *param_1,int param_2,undefined2 param_3,undefined2 param_4,int param_5, int param_6,int param_7,int param_8,int param_9,int param_10,undefined2 param_11, undefined2 param_12,int param_13) { int iVar1; undefined2 uVar2; undefined2 uVar3; undefined1 *puVar4; undefined1 *puVar5; undefined2 unaff_DS; undefined1 local_44 [2]; int local_42; int local_40; int local_3e; undefined2 local_36; undefined2 local_34; int local_28; int local_26; int local_24; int local_22; int local_20; int local_1e; int local_1c; undefined1 *local_1a; undefined1 *local_18; int local_16; undefined1 *local_14; undefined1 *local_12; undefined1 *local_10; undefined1 *local_e; undefined1 *local_c; undefined2 *local_a; undefined1 *local_8; int iVar6; int iVar7; FUN_1e78_02b8(); local_12 = (undefined1 *)0x0; local_14 = (undefined1 *)0x0; local_18 = param_1 + 1; local_1a = (undefined1 *)(param_2 + 2); local_1e = 0; local_8 = (undefined1 *)0x0; local_a = (undefined2 *)0x1e78; local_c = (undefined1 *)0xb64e; FUN_2504_3be6(); if ((param_9 != 0) && (param_9 != 1)) { param_9 = 0; } local_8 = (undefined1 *)param_11; local_a = (undefined2 *)0x2504; local_c = (undefined1 *)0xb66a; FUN_1e78_2010(); local_8 = (undefined1 *)param_12; local_a = (undefined2 *)0x1e78; local_c = (undefined1 *)0xb678; FUN_2504_357c(); local_a = (undefined2 *)0x2504; for (iVar7 = 0; iVar7 < param_6; iVar7 = iVar7 + 1) { local_8 = (undefined1 *)*(undefined2 *)(param_8 + iVar7 * 2); local_c = (undefined1 *)0xb69e; iVar1 = FUN_1e78_2010(); if ((int)local_12 < iVar1) { local_12 = (undefined1 *)iVar1; } local_a = (undefined2 *)0x1e78; } uVar2 = local_a; if (0x50 < ((int)local_12 + 2) * param_7 + param_2) { local_8 = (undefined1 *)0x1; uVar2 = 0x190c; local_c = (undefined1 *)0xb6df; FUN_190c_038c(); } local_22 = (int)local_12 * param_7 + param_7 + 2; uVar3 = uVar2; if (local_22 < (int)local_c + 4) { local_8 = (undefined1 *)0x0; uVar3 = 0x190c; local_c = (undefined1 *)0xb704; local_a = (undefined2 *)uVar2; FUN_190c_038c(); } local_e = (undefined1 *)(param_6 / param_7); local_16 = (int)local_e; if ((int)local_e * param_7 < param_6) { local_16 = (int)local_e + 1; } uVar2 = uVar3; if (0x18 < (int)(param_1 + local_16 + 2)) { local_8 = (undefined1 *)0x2; uVar2 = 0x190c; local_c = (undefined1 *)0xb736; local_a = (undefined2 *)uVar3; FUN_190c_038c(); } if (param_13 == 1) { local_8 = (undefined1 *)((local_16 + 2) * (local_22 + 2) * 2); local_c = (undefined1 *)0xb758; local_a = (undefined2 *)uVar2; uVar2 = thunk_FUN_1e78_1dfb(); *(undefined2 *)0xd1ca = uVar2; if (*(int *)0xd1ca == 0) { local_8 = (undefined1 *)0x0; local_a = (undefined2 *)0x1e78; local_c = (undefined1 *)0xb76d; FUN_2504_3464(); local_8 = (undefined1 *)0x4290; local_a = (undefined2 *)0x2504; local_c = (undefined1 *)0xb779; FUN_1e78_073c(); local_8 = (undefined1 *)0x1e78; local_a = (undefined2 *)0xb781; FUN_190c_38bc(); local_8 = (undefined1 *)0x1; local_a = (undefined2 *)0x190c; local_c = (undefined1 *)0xb78a; FUN_1e78_01cd(); } uVar2 = 0x1e78; *(undefined2 *)0xa014 = *(undefined2 *)0xd1ca; for (iVar7 = 0; iVar7 < local_16 + 2; iVar7 = iVar7 + 1) { for (iVar1 = 0; iVar1 < local_22 + 2; iVar1 = iVar1 + 1) { local_8 = (undefined1 *)(param_2 + iVar1 + 1); local_a = (undefined2 *)(param_1 + iVar7 + 1); local_e = (undefined1 *)0xb7d6; local_c = (undefined1 *)uVar2; FUN_2504_0cfa(); local_8 = (undefined1 *)0xd44e; local_a = (undefined2 *)0xd44f; local_c = (undefined1 *)param_12; local_e = (undefined1 *)0x2504; uVar2 = 0x190c; local_10 = (undefined1 *)0xb7e9; FUN_190c_0196(); *(undefined1 *)*(undefined2 *)0xd1ca = *(undefined1 *)0xd44f; *(int *)0xd1ca = *(int *)0xd1ca + 1; *(undefined1 *)*(undefined2 *)0xd1ca = *(undefined1 *)0xd44e; *(int *)0xd1ca = *(int *)0xd1ca + 1; } } } local_8 = (undefined1 *)0x0; local_a = (undefined2 *)(param_2 + local_22); local_c = param_1 + local_16; local_e = (undefined1 *)param_2; local_10 = param_1; local_14 = (undefined1 *)0xb824; local_12 = (undefined1 *)uVar2; FUN_190c_0038(); local_8 = (undefined1 *)param_12; local_a = (undefined2 *)0x1; local_c = (undefined1 *)local_22; local_e = (undefined1 *)local_16; local_10 = (undefined1 *)param_5; local_12 = (undefined1 *)param_2; local_14 = param_1; local_16 = 0x190c; local_18 = (undefined1 *)0xb83e; FUN_190c_03da(); local_8 = (undefined1 *)param_11; local_a = (undefined2 *)0x190c; iVar7 = 0x1e78; local_c = (undefined1 *)0xb849; iVar1 = FUN_1e78_2010(); if (iVar1 != 0) { local_24 = (local_22 - (int)local_c) / 2; local_8 = (undefined1 *)(param_2 + 1 + local_24); local_a = (undefined2 *)(param_1 + 1); local_c = (undefined1 *)0x1e78; local_e = (undefined1 *)0xb872; FUN_2504_0cfa(); local_8 = (undefined1 *)param_12; local_a = (undefined2 *)0x10; local_c = (undefined1 *)param_5; local_e = (undefined1 *)0x2504; local_10 = (undefined1 *)0xb884; FUN_190c_0166(); local_8 = (undefined1 *)param_11; local_a = (undefined2 *)param_12; local_c = (undefined1 *)param_5; local_e = (undefined1 *)(param_2 + 1 + local_24); local_10 = param_1; local_12 = (undefined1 *)0x190c; local_14 = (undefined1 *)0xb89d; FUN_190c_02fc(); local_8 = (undefined1 *)(param_2 + 2 + local_24 + (int)local_c); local_a = (undefined2 *)(param_1 + 1); local_c = (undefined1 *)0x190c; local_e = (undefined1 *)0xb8b3; FUN_2504_0cfa(); local_8 = (undefined1 *)param_12; local_a = (undefined2 *)0x11; local_c = (undefined1 *)param_5; local_e = (undefined1 *)0x2504; iVar7 = 0x190c; local_10 = (undefined1 *)0xb8c5; FUN_190c_0166(); } for (iVar1 = 0; iVar1 < 0x17; iVar1 = iVar1 + 1) { for (iVar6 = 0; iVar6 < param_7; iVar6 = iVar6 + 1) { local_8 = (undefined1 *)*(undefined2 *)(param_8 + local_1e * 2); local_a = (undefined2 *)param_12; local_c = (undefined1 *)param_3; local_e = local_1a; local_10 = local_18; local_14 = (undefined1 *)0xb900; local_12 = (undefined1 *)iVar7; FUN_190c_02fc(); local_1a = (undefined1 *)((int)local_1a + (int)local_12 + 1); local_1e = local_1e + 1; if (local_1e == param_6) { iVar1 = 0x17; iVar6 = param_7; } iVar7 = 0x190c; } local_18 = (undefined1 *)((int)local_18 + 1); local_1a = (undefined1 *)(param_2 + 2); } if (param_10 < 1) { local_1e = 1; local_18 = param_1 + 1; local_1a = (undefined1 *)(param_2 + 2); local_20 = 1; } else { local_1e = param_10; local_10 = (undefined1 *)((param_10 + -1) / param_7); local_18 = param_1 + (int)local_10 + 1; local_1a = (undefined1 *) (param_2 + 2 + ((int)local_12 + 1) * ((param_10 - (int)local_10 * param_7) + -1)); local_20 = param_10 - (int)local_10 * param_7; } local_8 = (undefined1 *)param_12; puVar4 = (undefined1 *)0x2504; local_c = (undefined1 *)0xb9c6; local_a = (undefined2 *)iVar7; FUN_2504_35a4(); if (*(char *)0x532d != '\0') { local_36 = 5; local_34 = 0; local_8 = local_44; local_a = &local_36; local_c = (undefined1 *)0x33; local_e = (undefined1 *)0x2504; puVar4 = (undefined1 *)0x1e78; local_10 = (undefined1 *)0xb9ec; FUN_1e78_2272(); } local_28 = 0; local_26 = 0; do { local_8 = (undefined1 *)*(undefined2 *)(param_8 + (local_1e + -1) * 2); local_a = (undefined2 *)param_12; local_c = (undefined1 *)param_4; local_e = local_1a; local_10 = local_18; puVar5 = (undefined1 *)0x190c; local_14 = (undefined1 *)0xba17; local_12 = puVar4; FUN_190c_02fc(); local_8 = (undefined1 *)0x0; while (local_8 == (undefined1 *)0x0) { if (*(char *)0x532d != '\0') { local_36 = 0xb; local_8 = local_44; local_a = &local_36; local_c = (undefined1 *)0x33; local_10 = (undefined1 *)0xba43; local_e = puVar5; FUN_1e78_2272(); local_26 = local_26 + local_40; local_28 = local_28 + local_3e; if (0x28 < local_26) { local_1c = 0x4d; local_26 = 0; } if (0x14 < local_28) { local_1c = 0x50; local_28 = 0; } if (local_26 < -0x28) { local_1c = 0x4b; local_26 = 0; } puVar5 = (undefined1 *)0x1e78; if (local_28 < -0x14) { local_1c = 0x48; local_28 = 0; } } local_a = (undefined2 *)0xbaab; local_8 = puVar5; iVar7 = FUN_1e78_2224(); if (iVar7 != 0) { local_8 = (undefined1 *)0x1e78; local_a = (undefined2 *)0xbab9; local_1c = FUN_1e78_224a(); } puVar5 = (undefined1 *)0x1e78; if (*(char *)0x532d == '\x01') { local_36 = 5; local_34 = 0; local_8 = local_44; local_a = &local_36; local_c = (undefined1 *)0x33; local_e = (undefined1 *)0x1e78; puVar5 = (undefined1 *)0x1e78; local_10 = (undefined1 *)0xbae5; FUN_1e78_2272(); if (local_42 != 0) { local_36 = 5; local_34 = 1; local_8 = local_44; local_a = &local_36; local_c = (undefined1 *)0x33; local_e = (undefined1 *)0x1e78; puVar5 = (undefined1 *)0x1e78; local_10 = (undefined1 *)0xbb0e; FUN_1e78_2272(); if (local_42 == 0) { local_1c = 0xd; } else { local_1c = 0x1b; } } } } puVar4 = puVar5; if (local_1c == 0) { puVar4 = (undefined1 *)0x1e78; local_a = (undefined2 *)0xbb37; local_8 = puVar5; local_1c = FUN_1e78_224a(); } if (local_1c == 0x1b) { local_1c = 0; } if (local_1c == 0xd) { local_1c = -1; } if (local_1c == 0x3b) { local_1c = -2; } if (0 < local_1c) { if (local_1c == 0x48) { if ((int)(param_1 + 1) < (int)local_18) { local_8 = (undefined1 *)*(undefined2 *)(param_8 + (local_1e + -1) * 2); local_a = (undefined2 *)param_12; local_c = (undefined1 *)param_3; local_e = local_1a; local_10 = local_18; local_14 = (undefined1 *)0xbb9c; local_12 = puVar4; FUN_190c_02fc(); local_18 = local_18 + -1; local_1e = local_1e - param_7; } else { local_8 = (undefined1 *)*(undefined2 *)(param_8 + (local_1e + -1) * 2); local_a = (undefined2 *)param_12; local_c = (undefined1 *)param_3; local_e = local_1a; local_10 = local_18; local_14 = (undefined1 *)0xbbcb; local_12 = puVar4; FUN_190c_02fc(); if (param_6 < param_7 * (int)local_e + local_1e) { local_18 = param_1 + (int)local_e; local_1e = (int)(local_e + -1) * param_7 + local_1e; } else { local_18 = param_1 + 1 + (int)local_e; local_1e = (int)local_e * param_7 + local_1e; } } puVar4 = (undefined1 *)0x190c; } else if (local_1c == 0x4b) { if (1 < param_7) { if (local_20 < 2) { if (param_7 + -1 + local_1e < param_6 + 1) { local_8 = (undefined1 *)*(undefined2 *)(param_8 + (local_1e + -1) * 2); local_a = (undefined2 *)param_12; local_c = (undefined1 *)param_3; local_e = local_1a; local_10 = local_18; local_14 = (undefined1 *)0xbd6b; local_12 = puVar4; FUN_190c_02fc(); local_1a = local_1a + (param_7 + -1) * (int)(local_12 + 1); local_1e = local_1e + param_7 + -1; local_20 = param_7; puVar4 = (undefined1 *)0x190c; } } else { local_8 = (undefined1 *)*(undefined2 *)(param_8 + (local_1e + -1) * 2); local_a = (undefined2 *)param_12; local_c = (undefined1 *)param_3; local_e = local_1a; local_10 = local_18; local_14 = (undefined1 *)0xbd29; local_12 = puVar4; FUN_190c_02fc(); local_1a = local_1a + (-1 - (int)local_12); local_1e = local_1e + -1; local_20 = local_20 + -1; puVar4 = (undefined1 *)0x190c; } } } else if (local_1c == 0x4d) { if (1 < param_7) { if (local_20 < param_7) { if (local_1e + 1 <= param_6) { local_8 = (undefined1 *)*(undefined2 *)(param_8 + (local_1e + -1) * 2); local_a = (undefined2 *)param_12; local_c = (undefined1 *)param_3; local_e = local_1a; local_10 = local_18; local_14 = (undefined1 *)0xbca8; local_12 = puVar4; FUN_190c_02fc(); local_1a = local_1a + (int)local_12 + 1; local_1e = local_1e + 1; local_20 = local_20 + 1; puVar4 = (undefined1 *)0x190c; } } else { local_8 = (undefined1 *)*(undefined2 *)(param_8 + (local_1e + -1) * 2); local_a = (undefined2 *)param_12; local_c = (undefined1 *)param_3; local_e = local_1a; local_10 = local_18; local_14 = (undefined1 *)0xbcdb; local_12 = puVar4; FUN_190c_02fc(); local_1a = local_1a + -((param_7 + -1) * (int)(local_12 + 1)); local_1e = local_1e - (param_7 + -1); local_20 = 1; puVar4 = (undefined1 *)0x190c; } } } else if (local_1c == 0x50) { if (param_6 < local_1e + param_7) { local_8 = (undefined1 *)*(undefined2 *)(param_8 + (local_1e + -1) * 2); local_a = (undefined2 *)param_12; local_c = (undefined1 *)param_3; local_e = local_1a; local_10 = local_18; local_14 = (undefined1 *)0xbc5f; local_12 = puVar4; FUN_190c_02fc(); local_1e = local_20; local_18 = param_1; } else { local_8 = (undefined1 *)*(undefined2 *)(param_8 + (local_1e + -1) * 2); local_a = (undefined2 *)param_12; local_c = (undefined1 *)param_3; local_e = local_1a; local_10 = local_18; local_14 = (undefined1 *)0xbc31; local_12 = puVar4; FUN_190c_02fc(); local_1e = local_1e + param_7; } local_18 = local_18 + 1; puVar4 = (undefined1 *)0x190c; } else { if ((param_9 == 1) && ((((0x40 < local_1c && (local_1c < 0x5b)) || ((0x2f < local_1c && (local_1c < 0x3a)))) || ((0x60 < local_1c && (local_1c < 0x7b)))))) { local_1e = local_1c; } local_1c = -1; } } } while (0 < local_1c); if (param_13 == 1) { *(undefined2 *)0xd1ca = *(undefined2 *)0xa014; for (iVar7 = 0; iVar7 < local_16 + 2; iVar7 = iVar7 + 1) { for (iVar1 = 0; iVar1 < local_22 + 2; iVar1 = iVar1 + 1) { local_8 = (undefined1 *)(param_2 + iVar1 + 1); local_a = (undefined2 *)(param_1 + iVar7 + 1); local_e = (undefined1 *)0xbe4c; local_c = puVar4; FUN_2504_0cfa(); puVar4 = (undefined1 *)*(undefined2 *)0xd1ca; *(int *)0xd1ca = *(int *)0xd1ca + 1; *(undefined1 *)0xd44f = *puVar4; puVar4 = (undefined1 *)*(undefined2 *)0xd1ca; *(int *)0xd1ca = *(int *)0xd1ca + 1; *(undefined1 *)0xd44e = *puVar4; local_8 = (undefined1 *)param_12; local_a = (undefined2 *)(int)*(char *)0xd44f; local_c = (undefined1 *)0x1; local_e = (undefined1 *)(int)*(char *)0xd44e; local_10 = (undefined1 *)0x2504; puVar4 = (undefined1 *)0x190c; local_12 = (undefined1 *)0xbe7f; FUN_190c_0136(); } } local_8 = (undefined1 *)*(undefined2 *)0xa014; local_c = (undefined1 *)0xbe93; local_a = (undefined2 *)puVar4; thunk_FUN_1e78_1dda(); puVar4 = (undefined1 *)0x1e78; } if (local_1c == 0) { local_1e = 0; } if (local_1c == -2) { local_1e = -2; } local_8 = (undefined1 *)0x1; local_a = (undefined2 *)0x1; local_e = (undefined1 *)0xbeb9; local_c = puVar4; FUN_2504_0cfa(); if (*(char *)0x532d == '\x01') { local_36 = 2; local_8 = local_44; local_a = &local_36; local_c = (undefined1 *)0x33; local_e = (undefined1 *)0x2504; local_10 = (undefined1 *)0xbedd; FUN_1e78_2272(); } return local_1e; } // Function: FUN_190c_2e32 at 190c:2e32 undefined2 __cdecl16far FUN_190c_2e32(undefined2 param_1) { int iVar1; int iVar2; undefined2 unaff_DS; undefined2 uVar3; FUN_1e78_02b8(); iVar1 = 1; iVar2 = 1; while( true ) { iVar1 = FUN_190c_2558(4,0x1e,*(undefined2 *)0x50d0,*(undefined2 *)0x532a,*(undefined2 *)0x5336,4 ,1,0x3ae,0,iVar1,0x43aa,0,1); uVar3 = 0xbf4e; FUN_190c_00ec(*(undefined2 *)0x50d0); if ((0 < iVar1) && (iVar1 < 4)) { uVar3 = 0x43b6; iVar2 = FUN_190c_2558(4,0xe,*(undefined2 *)0x50d0,*(undefined2 *)0x532a,*(undefined2 *)0x5336, 1,3,0x3b6,0,0); if (0xe < iVar2) { iVar2 = (iVar2 + -0xe) * 0x10; } if ((7 < iVar2) && (iVar2 < 0xf)) { iVar2 = iVar2 + 1; } } if (iVar1 == 1) { if (iVar2 != 0) { *(int *)0x50d0 = iVar2; } } else if (iVar1 == 2) { if (iVar2 != 0) { *(int *)0x532a = iVar2; } } else if (iVar1 == 3) { if (iVar2 != 0) { *(int *)0x5336 = iVar2; } } else if (iVar1 == 4) { iVar1 = 0; } if (iVar1 == 0) break; FUN_190c_1558(*(undefined2 *)0x50d0,*(undefined2 *)0x5336,param_1); } return uVar3; } // Function: FUN_190c_2f94 at 190c:2f94 void __cdecl16far FUN_190c_2f94(undefined2 param_1) { FUN_1e78_02b8(); FUN_190c_0038(0x17,1,0x17,0x4d,param_1); return; } // Function: FUN_190c_2fc2 at 190c:2fc2 /* WARNING: Control flow encountered bad instruction data */ void FUN_190c_2fc2(void) { code *pcVar1; FUN_1e78_02b8(); pcVar1 = (code *)swi(0x39); (*pcVar1)(); pcVar1 = (code *)swi(0x38); (*pcVar1)(); pcVar1 = (code *)swi(0x37); (*pcVar1)(); /* WARNING: Bad instruction - Truncating control flow here */ halt_baddata(); } // Function: FUN_190c_310e at 190c:310e void __cdecl16far FUN_190c_310e(uint param_1) { byte *pbVar1; code *pcVar2; uint uVar3; undefined2 extraout_DX; int unaff_SI; int unaff_DI; undefined2 unaff_SS; undefined1 uVar4; undefined1 uVar5; byte abStack_35 [47]; undefined2 uStack_6; undefined2 uStack_4; uStack_4 = 0x190c; uStack_6 = 0xc1d8; FUN_1e78_02b8(); pcVar2 = (code *)swi(0x39); (*pcVar2)(); uVar5 = param_1 == (uint)*(undefined4 *)(abStack_35 + unaff_DI); pcVar2 = (code *)swi(0x3d); (*pcVar2)(); FUN_1e78_3c9d(); if ((bool)uVar5) { uStack_4 = 0xc1f6; FUN_2504_0b6c(); } else { pcVar2 = (code *)swi(0x39); uVar3 = (*pcVar2)(); pbVar1 = abStack_35 + unaff_DI; *pbVar1 = *pbVar1 << 1 | (char)*pbVar1 < '\0'; uVar4 = param_1 < uVar3; pcVar2 = (code *)swi(0x3d); (*pcVar2)(); FUN_1e78_3c9d(); uVar5 = 0; if ((bool)uVar4) { pcVar2 = (code *)swi(0x39); uVar3 = (*pcVar2)(); uVar5 = param_1 < uVar3; uVar4 = param_1 == uVar3; pcVar2 = (code *)swi(0x3d); (*pcVar2)(); FUN_1e78_3c9d(); if (!(bool)uVar5 && !(bool)uVar4) { uStack_4 = 0xc235; FUN_1e78_073c(); return; } } pcVar2 = (code *)swi(0x39); uVar4 = (*pcVar2)(); out(0x43,uVar4); pcVar2 = (code *)swi(0x39); (*pcVar2)(); pcVar2 = (code *)swi(0x3d); (*pcVar2)(); FUN_1e78_3c9d(); if ((bool)uVar5) { pcVar2 = (code *)swi(0x39); uVar4 = (*pcVar2)(); out(extraout_DX,uVar4); pcVar2 = (code *)swi(0x39); (*pcVar2)(); uVar4 = unaff_SI == -2; pcVar2 = (code *)swi(0x3d); (*pcVar2)(); FUN_1e78_3c9d(); if (!(bool)uVar5 && !(bool)uVar4) { FUN_1e78_073c(); return; } } FUN_1e78_073c(); } return; } // Function: FUN_190c_31d4 at 190c:31d4 int __cdecl16far FUN_190c_31d4(undefined2 *param_1,undefined2 *param_2,undefined2 *param_3,undefined2 *param_4, undefined2 *param_5,undefined2 *param_6) { int iVar1; undefined2 unaff_DS; FUN_1e78_02b8(); iVar1 = FUN_190c_2558(10,0x1c,7,0x70,0xf,2,1,0x3e0,0,1,0x4424,0,0); if ((iVar1 == 0) || (iVar1 == 1)) { *param_1 = 7; *param_2 = 0x70; *param_3 = 7; *param_4 = 0xf; *param_5 = 0x8f; *param_6 = 7; } else { *param_1 = 0xe; *param_2 = 0x30; *param_3 = 3; *param_4 = 0xc; *param_5 = 0x84; *param_6 = 1; } return iVar1; } // Function: FUN_190c_3284 at 190c:3284 void __cdecl16far FUN_190c_3284(undefined2 param_1,int param_2,undefined2 param_3,undefined2 param_4, undefined2 param_5) { int iVar1; int iVar2; FUN_1e78_02b8(); iVar1 = FUN_1e78_2010(param_4); iVar2 = FUN_1e78_2010(param_5); if (0x50 < param_2 + iVar1 + iVar2) { FUN_190c_038c(6); } FUN_190c_01de(param_1,param_2,param_3,param_4); FUN_190c_01de(param_1,param_2 + iVar1,param_3,param_5); return; } // Function: FUN_190c_32fc at 190c:32fc void __cdecl16far FUN_190c_32fc(undefined2 param_1,int param_2,undefined2 param_3,undefined2 param_4, undefined2 param_5,undefined2 param_6,undefined2 param_7,undefined2 param_8, undefined2 param_9) { int iVar1; int iVar2; int iVar3; undefined2 uVar4; undefined1 local_1e [8]; undefined2 uStack_16; undefined2 uStack_14; undefined2 uStack_12; undefined2 uStack_10; undefined2 uStack_e; int iStack_c; undefined2 uStack_a; undefined1 *local_8; FUN_1e78_02b8(); local_8 = local_1e; uStack_a = 4; iStack_c = param_8; uStack_e = param_7; uStack_10 = param_6; uStack_12 = param_5; uStack_14 = 0x1e78; uStack_16 = 0xc3e5; FUN_1e78_243e(); local_8 = (undefined1 *)param_4; uStack_a = 0x1e78; iStack_c = 0xc3f0; iVar1 = FUN_1e78_2010(); local_8 = local_1e; uStack_a = 0x1e78; iStack_c = 0xc3fe; iVar2 = FUN_1e78_2010(); local_8 = (undefined1 *)param_9; uStack_a = 0x1e78; uVar4 = 0x1e78; iStack_c = 0xc40c; iVar3 = FUN_1e78_2010(); if (0x50 < param_2 + iVar1 + iVar2 + iVar3) { local_8 = (undefined1 *)0x6; uStack_a = 0x1e78; uVar4 = 0x190c; iStack_c = 0xc42a; FUN_190c_038c(); } local_8 = (undefined1 *)param_4; uStack_a = param_3; iStack_c = param_2; uStack_e = param_1; uStack_12 = 0xc43c; uStack_10 = uVar4; FUN_190c_01de(); local_8 = local_1e; uStack_a = param_3; iStack_c = param_2 + iVar1; uStack_e = param_1; uStack_10 = 0x190c; uStack_12 = 0xc453; FUN_190c_01de(); local_8 = (undefined1 *)param_9; uStack_a = param_3; iStack_c = param_2 + iVar1 + iVar2; uStack_e = param_1; uStack_10 = 0x190c; uStack_12 = 0xc46c; FUN_190c_01de(); return; } // Function: FUN_190c_33bc at 190c:33bc void FUN_190c_33bc(undefined2 param_1,int param_2,int 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 param_12) { int iVar1; int iVar2; int iVar3; undefined2 uVar4; undefined1 auStack_22 [10]; undefined2 uStack_18; undefined2 uStack_16; int iStack_14; int iStack_12; undefined2 uStack_10; int iStack_e; int iStack_c; int iStack_a; undefined1 *puStack_8; FUN_1e78_02b8(); puStack_8 = auStack_22; iStack_a = 4; iStack_c = param_10; iStack_e = param_9; uStack_10 = param_8; iStack_12 = param_7; iStack_14 = 0x1e78; uStack_16 = 0xc4a5; FUN_1e78_243e(); puStack_8 = (undefined1 *)param_6; iStack_a = 0x1e78; iStack_c = 0xc4b0; iVar1 = FUN_1e78_2010(); puStack_8 = auStack_22; iStack_a = 0x1e78; iStack_c = 0xc4be; iVar2 = FUN_1e78_2010(); puStack_8 = (undefined1 *)param_11; iStack_a = 0x1e78; uVar4 = 0x1e78; iStack_c = 0xc4cc; iVar3 = FUN_1e78_2010(); if ((param_12 < 1) || (2 < param_12)) { param_12 = 1; } if (0x50 < param_3 + iVar1 + iVar2 + iVar3) { puStack_8 = (undefined1 *)0x6; iStack_a = 0x1e78; uVar4 = 0x190c; iStack_c = 0xc4fb; FUN_190c_038c(); } puStack_8 = (undefined1 *)0x0; iStack_a = param_12; iStack_c = iVar1 + iVar2 + 2; iStack_e = 1; uStack_10 = param_5; iStack_12 = param_3; iStack_14 = param_2; uStack_18 = 0xc520; uStack_16 = uVar4; FUN_190c_03da(); puStack_8 = (undefined1 *)param_6; iStack_a = param_4; iStack_c = param_3 + 2; iStack_e = param_2 + 1; uStack_10 = 0x190c; iStack_12 = 0xc537; FUN_190c_01de(); puStack_8 = auStack_22; iStack_a = param_4; iStack_c = param_3 + iVar1 + 2; iStack_e = param_2 + 1; uStack_10 = 0x190c; iStack_12 = 0xc553; FUN_190c_01de(); puStack_8 = (undefined1 *)param_11; iStack_a = param_4; iStack_c = param_3 + iVar1 + iVar2 + 2; iStack_e = param_2 + 1; uStack_10 = 0x190c; iStack_12 = 0xc571; FUN_190c_01de(); return; } // Function: FUN_190c_34c0 at 190c:34c0 undefined2 __cdecl16far FUN_190c_34c0(uint param_1) { code *pcVar1; undefined2 uVar2; int in_CX; int unaff_SI; int unaff_DI; undefined2 unaff_SS; undefined2 unaff_DS; undefined1 uVar3; char cVar4; undefined4 auStack_35 [11]; undefined2 uStack_6; undefined2 uStack_4; uStack_4 = 0x190c; uStack_6 = 0xc58a; FUN_1e78_02b8(); pcVar1 = (code *)swi(0x39); (*pcVar1)(); uVar3 = param_1 < (uint)*(undefined4 *)((int)auStack_35 + unaff_DI); pcVar1 = (code *)swi(0x3d); (*pcVar1)(); FUN_1e78_3c9d(); if ((bool)uVar3) { pcVar1 = (code *)swi(0x39); (*pcVar1)(); unaff_SI = unaff_SI + 1; cVar4 = unaff_SI == 0; pcVar1 = (code *)swi(0x35); uVar2 = (*pcVar1)(); if (in_CX != 1 && cVar4 == '\0') { return uVar2; } pcVar1 = (code *)swi(0x3d); (*pcVar1)(); } pcVar1 = (code *)swi(0x39); (*pcVar1)(); pcVar1 = (code *)swi(0x39); uVar3 = (*pcVar1)(); LOCK(); *(undefined1 *)(unaff_SI + 1) = uVar3; UNLOCK(); pcVar1 = (code *)swi(0x3d); (*pcVar1)(); return 0x486; } // Function: FUN_190c_34fa at 190c:34fa undefined2 __cdecl16far FUN_190c_34fa(uint param_1) { code *pcVar1; uint uVar2; int in_CX; int unaff_SI; int iVar3; int unaff_DI; undefined2 unaff_SS; undefined2 unaff_DS; undefined1 uVar4; undefined1 uVar5; char cVar6; undefined4 auStack_35 [11]; undefined2 uStack_6; undefined2 uStack_4; uStack_4 = 0x190c; uStack_6 = 0xc5c4; FUN_1e78_02b8(); pcVar1 = (code *)swi(0x39); (*pcVar1)(); uVar2 = (uint)*(undefined4 *)((int)auStack_35 + unaff_DI); uVar4 = param_1 < uVar2; uVar5 = param_1 == uVar2; pcVar1 = (code *)swi(0x3d); (*pcVar1)(); FUN_1e78_3c9d(); iVar3 = unaff_SI; if (!(bool)uVar4 && !(bool)uVar5) { pcVar1 = (code *)swi(0x39); (*pcVar1)(); iVar3 = unaff_SI + 1; cVar6 = iVar3 == 0; pcVar1 = (code *)swi(0x35); (*pcVar1)(); if (in_CX != 1 && cVar6 == '\0') { pcVar1 = (code *)swi(0x39); uVar4 = (*pcVar1)(); LOCK(); *(undefined1 *)(unaff_SI + 2) = uVar4; UNLOCK(); pcVar1 = (code *)swi(0x3d); (*pcVar1)(); return 0x486; } pcVar1 = (code *)swi(0x3d); (*pcVar1)(); } pcVar1 = (code *)swi(0x39); (*pcVar1)(); pcVar1 = (code *)swi(0x39); uVar4 = (*pcVar1)(); LOCK(); *(undefined1 *)(iVar3 + 1) = uVar4; UNLOCK(); pcVar1 = (code *)swi(0x3d); (*pcVar1)(); return 0x486; } // Function: FUN_190c_3534 at 190c:3534 void __cdecl16far FUN_190c_3534(undefined2 param_1,int param_2,undefined2 param_3,undefined2 param_4, undefined2 param_5,undefined2 param_6) { int iVar1; int iVar2; undefined2 uVar3; undefined1 local_1e [10]; undefined2 uStack_14; undefined2 uStack_12; undefined2 uStack_10; int iStack_e; undefined2 uStack_c; undefined1 *puStack_a; int local_8; FUN_1e78_02b8(); local_8 = 10; puStack_a = local_1e; uStack_c = param_5; iStack_e = 0x1e78; uStack_10 = 0xc614; FUN_1e78_2108(); puStack_a = (undefined1 *)param_4; uStack_c = 0x1e78; iStack_e = 0xc61f; iVar1 = FUN_1e78_2010(); puStack_a = local_1e; uStack_c = 0x1e78; iStack_e = 0xc62d; iVar2 = FUN_1e78_2010(); puStack_a = (undefined1 *)param_6; uStack_c = 0x1e78; uVar3 = 0x1e78; iStack_e = 0xc63b; local_8 = FUN_1e78_2010(); if (0x50 < param_2 + iVar1 + iVar2 + local_8) { puStack_a = (undefined1 *)0x6; uStack_c = 0x1e78; uVar3 = 0x190c; iStack_e = 0xc659; FUN_190c_038c(); } puStack_a = (undefined1 *)param_4; uStack_c = param_3; iStack_e = param_2; uStack_10 = param_1; uStack_14 = 0xc66b; uStack_12 = uVar3; FUN_190c_01de(); puStack_a = local_1e; uStack_c = param_3; iStack_e = param_2 + iVar1; uStack_10 = param_1; uStack_12 = 0x190c; uStack_14 = 0xc682; FUN_190c_01de(); puStack_a = (undefined1 *)param_6; uStack_c = param_3; iStack_e = param_2 + iVar1 + iVar2; uStack_10 = param_1; uStack_12 = 0x190c; uStack_14 = 0xc69b; FUN_190c_01de(); return; } // Function: FUN_190c_35ea at 190c:35ea undefined2 __cdecl16far FUN_190c_35ea(int param_1,int param_2,undefined2 param_3,undefined2 param_4,undefined2 param_5, undefined2 param_6) { undefined1 *puVar1; int iVar2; undefined2 uVar3; int iVar4; int iVar5; undefined2 unaff_DS; FUN_1e78_02b8(); iVar2 = FUN_1e78_2010(param_5); uVar3 = thunk_FUN_1e78_1dfb((iVar2 + 6) * 6); *(undefined2 *)0xd26e = uVar3; if (*(int *)0xd26e == 0) { FUN_2504_3464(0); FUN_1e78_073c(0x4431); FUN_190c_38bc(); FUN_1e78_01cd(1); } *(undefined2 *)0xd1d6 = *(undefined2 *)0xd26e; for (iVar5 = 0; iVar5 < 3; iVar5 = iVar5 + 1) { for (iVar4 = 0; iVar4 < iVar2 + 6; iVar4 = iVar4 + 1) { FUN_2504_0cfa(param_1 + iVar5 + 1,param_2 + iVar4); FUN_190c_0196(param_6,0x4f35,0x4f34); *(undefined1 *)*(undefined2 *)0xd26e = *(undefined1 *)0x4f35; *(int *)0xd26e = *(int *)0xd26e + 1; *(undefined1 *)*(undefined2 *)0xd26e = *(undefined1 *)0x4f34; *(int *)0xd26e = *(int *)0xd26e + 1; } } FUN_190c_0038(param_1,param_2,param_1 + 2,param_2 + 3 + iVar2,param_4); FUN_190c_03da(param_1,param_2,param_3,1,iVar2 + 3,1,0); FUN_190c_01de(param_1 + 1,param_2 + 2,param_4,param_5); FUN_2504_3be6(0); uVar3 = FUN_190c_38bc(); FUN_2504_3be6(1); *(undefined2 *)0xd26e = *(undefined2 *)0xd1d6; for (iVar5 = 0; iVar5 < 3; iVar5 = iVar5 + 1) { for (iVar4 = 0; iVar4 < iVar2 + 6; iVar4 = iVar4 + 1) { FUN_2504_0cfa(param_1 + iVar5 + 1,param_2 + iVar4); puVar1 = (undefined1 *)*(undefined2 *)0xd26e; *(int *)0xd26e = *(int *)0xd26e + 1; *(undefined1 *)0x4f35 = *puVar1; puVar1 = (undefined1 *)*(undefined2 *)0xd26e; *(int *)0xd26e = *(int *)0xd26e + 1; *(undefined1 *)0x4f34 = *puVar1; FUN_190c_0136((int)*(char *)0x4f34,1,(int)*(char *)0x4f35,param_6); } } thunk_FUN_1e78_1dda(*(undefined2 *)0xd1d6); return uVar3; } // Function: FUN_190c_37d0 at 190c:37d0 void __cdecl16far FUN_190c_37d0(void) { bool bVar1; int iVar2; undefined2 uVar3; undefined2 unaff_DS; undefined1 local_20 [2]; int local_1e; undefined2 local_12; undefined2 local_10; undefined2 uStack_e; undefined2 uStack_c; undefined2 uStack_a; undefined2 *puStack_8; undefined1 *puStack_6; puStack_6 = (undefined1 *)0xc89b; FUN_1e78_02b8(); if (*(char *)0x532d == '\x01') { local_12 = 2; puStack_6 = local_20; puStack_8 = &local_12; uStack_a = 0x33; uStack_c = 0x1e78; uStack_e = 0xc8c2; FUN_1e78_2272(); local_12 = 5; local_10 = 0; puStack_6 = local_20; puStack_8 = &local_12; uStack_a = 0x33; uStack_c = 0x1e78; uStack_e = 0xc8e0; FUN_1e78_2272(); } puStack_6 = (undefined1 *)0x0; puStack_8 = (undefined2 *)0x1e78; uVar3 = 0x2504; uStack_a = 0xc8eb; FUN_2504_3be6(); bVar1 = false; while (!bVar1) { puStack_6 = (undefined1 *)uVar3; if (*(char *)0x532d == '\x01') { local_12 = 5; local_10 = 0; puStack_6 = local_20; puStack_8 = &local_12; uStack_a = 0x33; uStack_e = 0xc91d; uStack_c = uVar3; FUN_1e78_2272(); if (local_1e != 0) { bVar1 = true; } local_12 = 5; local_10 = 1; puStack_6 = local_20; puStack_8 = &local_12; uStack_a = 0x33; uStack_c = 0x1e78; uStack_e = 0xc944; FUN_1e78_2272(); puStack_6 = (undefined1 *)0x1e78; if (local_1e != 0) { bVar1 = true; } } uVar3 = 0x1e78; puStack_8 = (undefined2 *)0xc955; iVar2 = FUN_1e78_2224(); if (iVar2 != 0) { bVar1 = true; puStack_6 = (undefined1 *)0x1e78; uVar3 = 0x1e78; puStack_8 = (undefined2 *)0xc961; FUN_1e78_224a(); } } puStack_6 = (undefined1 *)0x1; uStack_a = 0xc974; puStack_8 = (undefined2 *)uVar3; FUN_2504_3be6(); return; } // Function: FUN_190c_38bc at 190c:38bc int __cdecl16far FUN_190c_38bc(void) { bool bVar1; bool bVar2; int iVar3; int iVar4; undefined2 unaff_DS; undefined1 local_24 [2]; int local_22; undefined2 local_16; undefined2 local_14; undefined2 uStack_10; undefined2 uStack_e; undefined2 uStack_c; undefined2 *puStack_a; undefined1 *local_8; FUN_1e78_02b8(); iVar4 = -1; bVar1 = false; if (*(char *)0x532d == '\x01') { local_16 = 2; local_8 = local_24; puStack_a = &local_16; uStack_c = 0x33; uStack_e = 0x1e78; uStack_10 = 0xc9bd; FUN_1e78_2272(); local_16 = 5; local_14 = 0; local_8 = local_24; puStack_a = &local_16; uStack_c = 0x33; uStack_e = 0x1e78; uStack_10 = 0xc9db; FUN_1e78_2272(); bVar2 = false; do { local_16 = 5; local_14 = 0; local_8 = local_24; puStack_a = &local_16; uStack_c = 0x33; uStack_e = 0x1e78; uStack_10 = 0xc9fc; FUN_1e78_2272(); if (local_22 != 0) { bVar2 = true; } local_16 = 5; local_14 = 1; local_8 = local_24; puStack_a = &local_16; uStack_c = 0x33; uStack_e = 0x1e78; uStack_10 = 0xca28; FUN_1e78_2272(); if (local_22 != 0) { bVar2 = true; bVar1 = true; } if ((bVar1) && (local_8 == (undefined1 *)0x1)) { iVar4 = 0x1b; } if ((local_8 == (undefined1 *)0x1) && (!bVar1)) { iVar4 = 0xd; } local_8 = (undefined1 *)0x1e78; puStack_a = (undefined2 *)0xca5c; iVar3 = FUN_1e78_2224(); if (iVar3 != 0) { bVar2 = true; local_8 = (undefined1 *)0x1e78; puStack_a = (undefined2 *)0xca68; iVar4 = FUN_1e78_224a(); if (iVar4 == 0) { iVar4 = 0; } } } while (!bVar2); } else { local_8 = (undefined1 *)0x1e78; puStack_a = (undefined2 *)0xca89; iVar4 = FUN_1e78_224a(); } return iVar4; } // Function: FUN_190c_39d4 at 190c:39d4 undefined2 __cdecl16far FUN_190c_39d4(char param_1,int param_2,int param_3) { char cVar1; undefined1 uVar2; uint uVar3; undefined2 uVar4; undefined2 unaff_DS; undefined2 local_5e [22]; undefined1 local_32 [2]; undefined1 *local_30 [18]; FUN_1e78_02b8(); local_30[0] = (undefined1 *)0x1518; local_30[1] = (undefined1 *)0x12ca; local_30[2] = (undefined1 *)0x2378; local_30[3] = (undefined1 *)0x1f9a; local_30[4] = (undefined1 *)0x1c20; local_30[5] = (undefined1 *)0x1a90; local_30[6] = (undefined1 *)0x17a2; local_30[7] = (undefined1 *)0xa8d; local_30[8] = (undefined1 *)0x965; local_30[9] = (undefined1 *)0x11a3; local_30[10] = (undefined1 *)0xfa1; local_30[0xb] = (undefined1 *)0xe1a; local_30[0xc] = (undefined1 *)0xd51; local_30[0xd] = (undefined1 *)0xbdc; local_30[0xe] = (undefined1 *)0x54a; local_30[0x11] = &stack0xfffc; local_30[0x10] = (undefined1 *)0x1e78; local_30[0xf] = (undefined1 *)0xcb25; FUN_1e78_2684(); local_5e[0] = 0x13d8; local_5e[1] = 0x2378; local_5e[2] = 0x2170; local_5e[3] = 0x1dc4; local_5e[4] = 0x1a90; local_5e[5] = 0x1908; local_5e[6] = 0x164c; local_5e[7] = 0x9f6; local_5e[8] = 0x11a3; local_5e[9] = 0x10b4; local_5e[10] = 0xee2; local_5e[0xb] = 0xd51; local_5e[0xc] = 0xc88; local_5e[0xd] = 0xb2c; local_5e[0xe] = 0x4fc; local_5e[0xf] = 0x8ed; local_5e[0x10] = 0x85f; local_5e[0x11] = 0x775; local_5e[0x12] = 0x6a9; local_5e[0x13] = 0x644; local_5e[0x14] = 0x598; local_5e[0x15] = 0x472; local_30[0x11] = local_32; local_30[0x10] = (undefined1 *)0x1e78; local_30[0xf] = (undefined1 *)0xcba9; FUN_1e78_2684(); if ((param_2 < 0) || (3 < param_2)) { param_2 = 1; } cVar1 = param_1 + -0x40; if (' ' < (char)(param_1 + -0x40)) { cVar1 = param_1 + -0x60; } param_1 = cVar1; uVar3 = (uint)param_1; if ((uVar3 == 0) || (7 < uVar3)) { uVar4 = 1; } else { uVar3 = param_2 * 7 + uVar3; if (param_2 == 3) { if (uVar3 == 0x18) { uVar3 = 0x16; } else { uVar3 = 0x17; } } if ((uVar3 == 0) || (0x16 < uVar3)) { uVar4 = 1; } else { if (param_3 == 0) { *(undefined2 *)0xa024 = local_30[uVar3 - 1]; } else { *(undefined2 *)0xa024 = local_5e[uVar3 - 1]; } local_30[0x11] = (undefined1 *)0xcc3a; FUN_1e78_235a(); if (*(int *)0xa024 != 0) { local_30[0x11] = (undefined1 *)0xcc54; FUN_1e78_235a(); local_30[0x11] = (undefined1 *)0xcc67; FUN_1e78_235a(); uVar2 = FUN_1e78_234c(); *(undefined1 *)0xa027 = uVar2; *(byte *)0xa027 = *(byte *)0xa027 | 3; local_30[0x11] = (undefined1 *)0xcc8e; FUN_1e78_235a(); } uVar4 = 0; } } return uVar4; } // Function: FUN_190c_3be8 at 190c:3be8 void __cdecl16far FUN_190c_3be8(void) { undefined1 uVar1; undefined2 unaff_DS; FUN_1e78_02b8(); uVar1 = FUN_1e78_234c(0x61); *(undefined1 *)0xa027 = uVar1; *(byte *)0xa027 = *(byte *)0xa027 & 0xfc; FUN_1e78_235a(0x61,*(undefined1 *)0xa027); return; } // Function: FUN_190c_3c18 at 190c:3c18 void __cdecl16far FUN_190c_3c18(undefined2 param_1,undefined2 param_2,int param_3,undefined2 param_4) { int iVar1; FUN_1e78_02b8(); iVar1 = FUN_1e78_2010(param_4); if ((1 < param_3) || (param_3 < 0)) { param_3 = 0; } FUN_190c_02fc(param_1,(0x50 - iVar1) / 2 + 1,param_2,param_3,param_4); return; } // Function: FUN_190c_3c6c at 190c:3c6c /* WARNING: Type propagation algorithm not settling */ int __cdecl16far FUN_190c_3c6c(undefined1 *param_1,int param_2,undefined2 param_3,undefined2 param_4,int param_5, int param_6,int param_7,int param_8,int param_9,int param_10,undefined2 param_11, undefined2 param_12,int param_13,int param_14) { int iVar1; undefined2 uVar2; undefined2 uVar3; undefined1 *puVar4; undefined1 *puVar5; undefined2 unaff_DS; undefined1 local_44 [2]; int local_42; int local_40; int local_3e; undefined2 local_36; undefined2 local_34; int local_28; int local_26; int local_24; int local_22; int local_20; int local_1e; int local_1c; undefined1 *local_1a; undefined1 *local_18; int local_16; undefined1 *local_14; undefined1 *local_12; undefined1 *local_10; undefined1 *local_e; undefined1 *local_c; undefined2 *local_a; undefined1 *local_8; int iVar6; int iVar7; FUN_1e78_02b8(); local_12 = (undefined1 *)0x0; local_14 = (undefined1 *)0x0; local_18 = param_1 + 1; local_1a = (undefined1 *)(param_2 + 2); local_1e = 0; if ((param_9 != 0) && (param_9 != 1)) { param_9 = 0; } local_8 = (undefined1 *)param_11; local_a = (undefined2 *)0x1e78; local_c = (undefined1 *)0xcd73; FUN_1e78_2010(); local_8 = (undefined1 *)param_12; local_a = (undefined2 *)0x1e78; local_c = (undefined1 *)0xcd81; FUN_2504_357c(); local_8 = (undefined1 *)0x0; local_a = (undefined2 *)0x2504; local_c = (undefined1 *)0xcd8c; FUN_2504_3be6(); local_a = (undefined2 *)0x2504; for (iVar7 = 0; iVar7 < param_6; iVar7 = iVar7 + 1) { local_8 = (undefined1 *)*(undefined2 *)(param_8 + iVar7 * 2); local_c = (undefined1 *)0xcdb2; iVar1 = FUN_1e78_2010(); if ((int)local_12 < iVar1) { local_12 = (undefined1 *)iVar1; } local_a = (undefined2 *)0x1e78; } uVar2 = local_a; if (0x50 < ((int)local_12 + 2) * param_7 + param_2) { local_8 = (undefined1 *)0x1; uVar2 = 0x190c; local_c = (undefined1 *)0xcdf3; FUN_190c_038c(); } local_22 = (int)local_12 * param_7 + param_7 + 2; uVar3 = uVar2; if (local_22 < (int)local_c + 4) { local_8 = (undefined1 *)0x0; uVar3 = 0x190c; local_c = (undefined1 *)0xce18; local_a = (undefined2 *)uVar2; FUN_190c_038c(); } local_e = (undefined1 *)(param_6 / param_7); local_16 = (int)local_e; if ((int)local_e * param_7 < param_6) { local_16 = (int)local_e + 1; } uVar2 = uVar3; if (0x18 < (int)(param_1 + local_16 + 2)) { local_8 = (undefined1 *)0x2; uVar2 = 0x190c; local_c = (undefined1 *)0xce4a; local_a = (undefined2 *)uVar3; FUN_190c_038c(); } if (param_13 == 1) { local_8 = (undefined1 *)((local_16 + 2) * (local_22 + 2) * 2); local_c = (undefined1 *)0xce6c; local_a = (undefined2 *)uVar2; uVar2 = thunk_FUN_1e78_1dfb(); *(undefined2 *)0xd26c = uVar2; if (*(int *)0xd26c == 0) { local_8 = (undefined1 *)0x0; local_a = (undefined2 *)0x1e78; local_c = (undefined1 *)0xce81; FUN_2504_3464(); local_8 = (undefined1 *)0x443f; local_a = (undefined2 *)0x2504; local_c = (undefined1 *)0xce8d; FUN_1e78_073c(); local_8 = (undefined1 *)0x1e78; local_a = (undefined2 *)0xce95; FUN_190c_38bc(); local_8 = (undefined1 *)0x1; local_a = (undefined2 *)0x190c; local_c = (undefined1 *)0xce9e; FUN_1e78_01cd(); } uVar2 = 0x1e78; *(undefined2 *)0xd1d4 = *(undefined2 *)0xd26c; for (iVar7 = 0; iVar7 < local_16 + 2; iVar7 = iVar7 + 1) { for (iVar1 = 0; iVar1 < local_22 + 2; iVar1 = iVar1 + 1) { local_8 = (undefined1 *)(param_2 + iVar1 + 1); local_a = (undefined2 *)(param_1 + iVar7 + 1); local_e = (undefined1 *)0xceea; local_c = (undefined1 *)uVar2; FUN_2504_0cfa(); local_8 = (undefined1 *)0x4f32; local_a = (undefined2 *)0x4f33; local_c = (undefined1 *)param_12; local_e = (undefined1 *)0x2504; uVar2 = 0x190c; local_10 = (undefined1 *)0xcefd; FUN_190c_0196(); *(undefined1 *)*(undefined2 *)0xd26c = *(undefined1 *)0x4f33; *(int *)0xd26c = *(int *)0xd26c + 1; *(undefined1 *)*(undefined2 *)0xd26c = *(undefined1 *)0x4f32; *(int *)0xd26c = *(int *)0xd26c + 1; } } } local_8 = (undefined1 *)0x0; local_a = (undefined2 *)(param_2 + local_22); local_c = param_1 + local_16; local_e = (undefined1 *)param_2; local_10 = param_1; local_14 = (undefined1 *)0xcf38; local_12 = (undefined1 *)uVar2; FUN_190c_0038(); local_8 = (undefined1 *)param_12; local_a = (undefined2 *)0x1; local_c = (undefined1 *)local_22; local_e = (undefined1 *)local_16; local_10 = (undefined1 *)param_5; local_12 = (undefined1 *)param_2; local_14 = param_1; local_16 = 0x190c; local_18 = (undefined1 *)0xcf52; FUN_190c_03da(); local_8 = (undefined1 *)param_11; local_a = (undefined2 *)0x190c; iVar7 = 0x1e78; local_c = (undefined1 *)0xcf5d; iVar1 = FUN_1e78_2010(); if (iVar1 != 0) { local_24 = (local_22 - (int)local_c) / 2; local_8 = (undefined1 *)(param_2 + 1 + local_24); local_a = (undefined2 *)(param_1 + 1); local_c = (undefined1 *)0x1e78; local_e = (undefined1 *)0xcf86; FUN_2504_0cfa(); local_8 = (undefined1 *)param_12; local_a = (undefined2 *)0x10; local_c = (undefined1 *)param_5; local_e = (undefined1 *)0x2504; local_10 = (undefined1 *)0xcf98; FUN_190c_0166(); local_8 = (undefined1 *)param_11; local_a = (undefined2 *)param_12; local_c = (undefined1 *)param_5; local_e = (undefined1 *)(param_2 + 1 + local_24); local_10 = param_1; local_12 = (undefined1 *)0x190c; local_14 = (undefined1 *)0xcfb1; FUN_190c_02fc(); local_8 = (undefined1 *)(param_2 + 2 + local_24 + (int)local_c); local_a = (undefined2 *)(param_1 + 1); local_c = (undefined1 *)0x190c; local_e = (undefined1 *)0xcfc7; FUN_2504_0cfa(); local_8 = (undefined1 *)param_12; local_a = (undefined2 *)0x11; local_c = (undefined1 *)param_5; local_e = (undefined1 *)0x2504; iVar7 = 0x190c; local_10 = (undefined1 *)0xcfd9; FUN_190c_0166(); } for (iVar1 = 0; iVar1 < 0x17; iVar1 = iVar1 + 1) { for (iVar6 = 0; iVar6 < param_7; iVar6 = iVar6 + 1) { local_8 = (undefined1 *)*(undefined2 *)(param_8 + local_1e * 2); local_a = (undefined2 *)param_12; local_c = (undefined1 *)param_3; local_e = local_1a; local_10 = local_18; local_14 = (undefined1 *)0xd014; local_12 = (undefined1 *)iVar7; FUN_190c_02fc(); local_1a = (undefined1 *)((int)local_1a + (int)local_12 + 1); local_1e = local_1e + 1; if (local_1e == param_6) { iVar1 = 0x17; iVar6 = param_7; } iVar7 = 0x190c; } local_18 = (undefined1 *)((int)local_18 + 1); local_1a = (undefined1 *)(param_2 + 2); } if (param_10 < 1) { local_1e = 1; local_18 = param_1 + 1; local_1a = (undefined1 *)(param_2 + 2); local_20 = 1; } else { local_1e = param_10; local_10 = (undefined1 *)((param_10 + -1) / param_7); local_18 = param_1 + (int)local_10 + 1; local_1a = (undefined1 *) (param_2 + 2 + ((int)local_12 + 1) * ((param_10 - (int)local_10 * param_7) + -1)); local_20 = param_10 - (int)local_10 * param_7; } local_8 = (undefined1 *)param_12; puVar4 = (undefined1 *)0x2504; local_c = (undefined1 *)0xd0da; local_a = (undefined2 *)iVar7; FUN_2504_35a4(); if (*(char *)0x532d != '\0') { local_36 = 5; local_34 = 0; local_8 = local_44; local_a = &local_36; local_c = (undefined1 *)0x33; local_e = (undefined1 *)0x2504; puVar4 = (undefined1 *)0x1e78; local_10 = (undefined1 *)0xd100; FUN_1e78_2272(); } local_28 = 0; local_26 = 0; do { local_8 = (undefined1 *)*(undefined2 *)(param_8 + (local_1e + -1) * 2); local_a = (undefined2 *)param_12; local_c = (undefined1 *)param_4; local_e = local_1a; local_10 = local_18; puVar5 = (undefined1 *)0x190c; local_14 = (undefined1 *)0xd12b; local_12 = puVar4; FUN_190c_02fc(); local_8 = (undefined1 *)0x0; while (local_8 == (undefined1 *)0x0) { puVar4 = puVar5; if (param_14 == 1) { puVar4 = (undefined1 *)0x1000; local_a = (undefined2 *)0xd141; local_8 = puVar5; FUN_1000_306c(); } if (*(char *)0x532d != '\0') { local_36 = 0xb; local_8 = local_44; local_a = &local_36; local_c = (undefined1 *)0x33; local_10 = (undefined1 *)0xd162; local_e = puVar4; FUN_1e78_2272(); local_26 = local_26 + local_40; local_28 = local_28 + local_3e; if (0x28 < local_26) { local_1c = 0x4d; local_26 = 0; } if (0x14 < local_28) { local_1c = 0x50; local_28 = 0; } if (local_26 < -0x28) { local_1c = 0x4b; local_26 = 0; } puVar4 = (undefined1 *)0x1e78; if (local_28 < -0x14) { local_1c = 0x48; local_28 = 0; } } local_a = (undefined2 *)0xd1ca; local_8 = puVar4; iVar7 = FUN_1e78_2224(); if (iVar7 != 0) { local_8 = (undefined1 *)0x1e78; local_a = (undefined2 *)0xd1d8; local_1c = FUN_1e78_224a(); } puVar5 = (undefined1 *)0x1e78; if (*(char *)0x532d == '\x01') { local_36 = 5; local_34 = 0; local_8 = local_44; local_a = &local_36; local_c = (undefined1 *)0x33; local_e = (undefined1 *)0x1e78; puVar5 = (undefined1 *)0x1e78; local_10 = (undefined1 *)0xd204; FUN_1e78_2272(); if (local_42 != 0) { local_36 = 5; local_34 = 1; local_8 = local_44; local_a = &local_36; local_c = (undefined1 *)0x33; local_e = (undefined1 *)0x1e78; puVar5 = (undefined1 *)0x1e78; local_10 = (undefined1 *)0xd22d; FUN_1e78_2272(); if (local_42 == 0) { local_1c = 0xd; } else { local_1c = 0x1b; } } } } puVar4 = puVar5; if (local_1c == 0) { puVar4 = (undefined1 *)0x1e78; local_a = (undefined2 *)0xd257; local_8 = puVar5; local_1c = FUN_1e78_224a(); } if (local_1c == 0x1b) { local_1c = 0; } if (local_1c == 0xd) { local_1c = -1; } if (local_1c == 0x3b) { local_1c = -2; } if (0 < local_1c) { if (local_1c == 0x48) { if ((int)(param_1 + 1) < (int)local_18) { local_8 = (undefined1 *)*(undefined2 *)(param_8 + (local_1e + -1) * 2); local_a = (undefined2 *)param_12; local_c = (undefined1 *)param_3; local_e = local_1a; local_10 = local_18; local_14 = (undefined1 *)0xd2bc; local_12 = puVar4; FUN_190c_02fc(); local_18 = local_18 + -1; local_1e = local_1e - param_7; } else { local_8 = (undefined1 *)*(undefined2 *)(param_8 + (local_1e + -1) * 2); local_a = (undefined2 *)param_12; local_c = (undefined1 *)param_3; local_e = local_1a; local_10 = local_18; local_14 = (undefined1 *)0xd2eb; local_12 = puVar4; FUN_190c_02fc(); if (param_6 < param_7 * (int)local_e + local_1e) { local_18 = param_1 + (int)local_e; local_1e = (int)(local_e + -1) * param_7 + local_1e; } else { local_18 = param_1 + 1 + (int)local_e; local_1e = (int)local_e * param_7 + local_1e; } } puVar4 = (undefined1 *)0x190c; } else if (local_1c == 0x4b) { if (1 < param_7) { if (local_20 < 2) { if (param_7 + -1 + local_1e < param_6 + 1) { local_8 = (undefined1 *)*(undefined2 *)(param_8 + (local_1e + -1) * 2); local_a = (undefined2 *)param_12; local_c = (undefined1 *)param_3; local_e = local_1a; local_10 = local_18; local_14 = (undefined1 *)0xd48b; local_12 = puVar4; FUN_190c_02fc(); local_1a = local_1a + (param_7 + -1) * (int)(local_12 + 1); local_1e = local_1e + param_7 + -1; local_20 = param_7; puVar4 = (undefined1 *)0x190c; } } else { local_8 = (undefined1 *)*(undefined2 *)(param_8 + (local_1e + -1) * 2); local_a = (undefined2 *)param_12; local_c = (undefined1 *)param_3; local_e = local_1a; local_10 = local_18; local_14 = (undefined1 *)0xd449; local_12 = puVar4; FUN_190c_02fc(); local_1a = local_1a + (-1 - (int)local_12); local_1e = local_1e + -1; local_20 = local_20 + -1; puVar4 = (undefined1 *)0x190c; } } } else if (local_1c == 0x4d) { if (1 < param_7) { if (local_20 < param_7) { if (local_1e + 1 <= param_6) { local_8 = (undefined1 *)*(undefined2 *)(param_8 + (local_1e + -1) * 2); local_a = (undefined2 *)param_12; local_c = (undefined1 *)param_3; local_e = local_1a; local_10 = local_18; local_14 = (undefined1 *)0xd3c8; local_12 = puVar4; FUN_190c_02fc(); local_1a = local_1a + (int)local_12 + 1; local_1e = local_1e + 1; local_20 = local_20 + 1; puVar4 = (undefined1 *)0x190c; } } else { local_8 = (undefined1 *)*(undefined2 *)(param_8 + (local_1e + -1) * 2); local_a = (undefined2 *)param_12; local_c = (undefined1 *)param_3; local_e = local_1a; local_10 = local_18; local_14 = (undefined1 *)0xd3fb; local_12 = puVar4; FUN_190c_02fc(); local_1a = local_1a + -((param_7 + -1) * (int)(local_12 + 1)); local_1e = local_1e - (param_7 + -1); local_20 = 1; puVar4 = (undefined1 *)0x190c; } } } else if (local_1c == 0x50) { if (param_6 < local_1e + param_7) { local_8 = (undefined1 *)*(undefined2 *)(param_8 + (local_1e + -1) * 2); local_a = (undefined2 *)param_12; local_c = (undefined1 *)param_3; local_e = local_1a; local_10 = local_18; local_14 = (undefined1 *)0xd37f; local_12 = puVar4; FUN_190c_02fc(); local_1e = local_20; local_18 = param_1; } else { local_8 = (undefined1 *)*(undefined2 *)(param_8 + (local_1e + -1) * 2); local_a = (undefined2 *)param_12; local_c = (undefined1 *)param_3; local_e = local_1a; local_10 = local_18; local_14 = (undefined1 *)0xd351; local_12 = puVar4; FUN_190c_02fc(); local_1e = local_1e + param_7; } local_18 = local_18 + 1; puVar4 = (undefined1 *)0x190c; } else { if ((param_9 == 1) && ((((0x40 < local_1c && (local_1c < 0x5b)) || ((0x2f < local_1c && (local_1c < 0x3a)))) || ((0x60 < local_1c && (local_1c < 0x7b)))))) { local_1e = local_1c; } local_1c = -1; } } } while (0 < local_1c); if (param_13 == 1) { *(undefined2 *)0xd26c = *(undefined2 *)0xd1d4; for (iVar7 = 0; iVar7 < local_16 + 2; iVar7 = iVar7 + 1) { for (iVar1 = 0; iVar1 < local_22 + 2; iVar1 = iVar1 + 1) { local_8 = (undefined1 *)(param_2 + iVar1 + 1); local_a = (undefined2 *)(param_1 + iVar7 + 1); local_e = (undefined1 *)0xd56c; local_c = puVar4; FUN_2504_0cfa(); puVar4 = (undefined1 *)*(undefined2 *)0xd26c; *(int *)0xd26c = *(int *)0xd26c + 1; *(undefined1 *)0x4f33 = *puVar4; puVar4 = (undefined1 *)*(undefined2 *)0xd26c; *(int *)0xd26c = *(int *)0xd26c + 1; *(undefined1 *)0x4f32 = *puVar4; local_8 = (undefined1 *)param_12; local_a = (undefined2 *)(int)*(char *)0x4f33; local_c = (undefined1 *)0x1; local_e = (undefined1 *)(int)*(char *)0x4f32; local_10 = (undefined1 *)0x2504; puVar4 = (undefined1 *)0x190c; local_12 = (undefined1 *)0xd59f; FUN_190c_0136(); } } local_8 = (undefined1 *)*(undefined2 *)0xd1d4; local_c = (undefined1 *)0xd5b3; local_a = (undefined2 *)puVar4; thunk_FUN_1e78_1dda(); puVar4 = (undefined1 *)0x1e78; } if (local_1c == 0) { local_1e = 0; } if (local_1c == -2) { local_1e = -2; } local_8 = (undefined1 *)0x1; local_c = (undefined1 *)0xd5d5; local_a = (undefined2 *)puVar4; FUN_2504_3be6(); local_8 = (undefined1 *)0x1; local_a = (undefined2 *)0x1; local_c = (undefined1 *)0x2504; local_e = (undefined1 *)0xd5e5; FUN_2504_0cfa(); if (*(char *)0x532d == '\x01') { local_36 = 2; local_8 = local_44; local_a = &local_36; local_c = (undefined1 *)0x33; local_e = (undefined1 *)0x2504; local_10 = (undefined1 *)0xd609; FUN_1e78_2272(); } return local_1e; } // Function: FUN_1d61_000e at 1d61:000e undefined2 __cdecl16far FUN_1d61_000e(void) { char cVar1; int iVar2; int iVar3; undefined2 unaff_DI; undefined2 unaff_DS; undefined1 uVar4; uVar4 = (undefined1)((uint)unaff_DI >> 8); FUN_1e78_02b8(); iVar2 = FUN_190c_2558(6,8,*(undefined2 *)0x565c,*(undefined2 *)0x57e6,*(undefined2 *)0x57ec,5,2, 0x3f0,1,1,0x446b,0,1); FUN_1000_3030(&stack0xfffc); if (iVar2 == 0x48) { iVar2 = 1; } if (iVar2 == 0x4f) { iVar2 = 2; } if (iVar2 == 0x51) { iVar2 = 5; } if (iVar2 == 0x53) { iVar2 = 3; } if (iVar2 == 0x43) { iVar2 = 4; } if ((0 < iVar2) && (iVar2 < 7)) { if (iVar2 == 1) { FUN_1d61_0428(); } if (iVar2 == 5) { cVar1 = FUN_190c_35ea(0xc,0x14,*(undefined2 *)0x57ea,*(undefined2 *)0x565c,0x446c,0); iVar3 = FUN_1e78_21a0((int)cVar1); if (iVar3 == 0x59) { FUN_1646_1a94(*(undefined2 *)0x565c,0xf0); FUN_190c_1016(9,0x23,*(undefined2 *)0x565c,*(undefined2 *)0x57ea,0x4490); FUN_1646_18fe(); FUN_2504_0cfa(0x1a,1); FUN_1e78_224a(); return 2; } } if (iVar2 == 3) { if (*(int *)0x532e == 1) { *(undefined2 *)0x532e = 0; FUN_1307_222c(0x4498); } else { *(undefined2 *)0x532e = 1; FUN_1307_222c(0x44aa); } } if (iVar2 == 4) { FUN_1d61_05bc(); } if (iVar2 == 2) { cVar1 = FUN_1d61_0252(0x3e4,0x565c,0x57e6,0x57ea); if (cVar1 == '\x01') { FUN_1e78_05ee(*(undefined2 *)0xd43c,CONCAT11(uVar4,cVar1)); iVar2 = FUN_1e78_06d4(0x44b9,0x44b7); *(int *)0xd43c = iVar2; if (iVar2 == 0) { FUN_190c_0f64(0x44c3,*(undefined2 *)0x565c,1); } else { FUN_1e78_06ea(*(undefined2 *)0xd43c,0x44ed); FUN_190c_0f64(0x4504,*(undefined2 *)0x57ea,0); FUN_1646_1e26(); FUN_1646_1dae(*(undefined2 *)0x565c); FUN_1646_1cd2(); } } else { FUN_1307_222c(0x4517); } } } return 0; } // Function: FUN_1d61_0252 at 1d61:0252 undefined2 __cdecl16far FUN_1d61_0252(undefined2 param_1,undefined2 *param_2,undefined2 *param_3,undefined2 *param_4) { int iVar1; undefined2 uVar2; undefined2 unaff_DS; undefined2 uVar3; FUN_1e78_02b8(); uVar3 = 0; *(undefined2 *)0xd206 = 1; *(undefined2 *)0xd280 = 1; do { uVar2 = FUN_190c_2558(6,0x1f,*param_2,*param_3,*param_4,4,1,0x3fa,0,*(undefined2 *)0xd206,0x4635 ,0,1); *(undefined2 *)0xd206 = uVar2; if ((0 < *(int *)0xd206) && (*(int *)0xd206 < 4)) { FUN_190c_0092(5,1,0x14,0x4e); if ((*(int *)0xd206 == 3) || (*(int *)0xd206 == 1)) { *(undefined2 *)0xa02e = 0xe; } else { *(undefined2 *)0xa02e = 0x15; } if (((*(int *)0xd206 == 3) || (*(int *)0xd206 == 1)) && (0xe < *(int *)0x50d2)) { *(undefined2 *)0x50d2 = 1; } uVar2 = FUN_190c_2558(6,0xf,*param_2,*param_3,*param_4,*(undefined2 *)0xa02e,3,0x402,0, *(undefined2 *)0x50d2,0x4641,0,0); *(undefined2 *)0xd280 = uVar2; *(undefined2 *)0x50d2 = uVar2; if (0xe < *(int *)0xd280) { *(int *)0xd280 = (*(int *)0xd280 + -0xe) * 0x10; } if ((7 < *(int *)0xd280) && (*(int *)0xd280 < 0xf)) { *(int *)0xd280 = *(int *)0xd280 + 1; } } iVar1 = *(int *)0xd206; if (iVar1 == 1) { if (*(int *)0xd280 != 0) { *param_2 = *(undefined2 *)0xd280; } } else if (iVar1 == 2) { if (*(int *)0xd280 != 0) { *param_3 = *(undefined2 *)0xd280; } } else if (iVar1 == 3) { if (*(int *)0xd280 != 0) { *param_4 = *(undefined2 *)0xd280; } } else if (iVar1 == 4) { *(undefined2 *)0xd206 = 0; } if (*(int *)0xd206 != 0) { uVar3 = 1; } if (*(int *)0xd206 != 0) { FUN_1646_1d5a(*param_2,*param_4); } FUN_190c_0092(5,1,0x17,0x4e); FUN_1646_1e26(); } while (*(int *)0xd206 != 0); return uVar3; } // Function: FUN_1d61_0428 at 1d61:0428 void __cdecl16far FUN_1d61_0428(void) { char cVar1; undefined2 unaff_DS; FUN_1e78_02b8(); FUN_2504_3464(0); FUN_1646_1a94(*(undefined2 *)0x57ea,*(undefined2 *)0x565c); FUN_190c_3c18(2,*(undefined2 *)0x57e6,0,0x464e); FUN_1646_1ca4(5,4,0x4671); FUN_1646_1ca4(6,4,0x46b2); FUN_1646_1ca4(7,4,0x46e4); FUN_1646_1ca4(8,4,0x472e); FUN_1646_1ca4(9,4,0x4767); FUN_1646_1ca4(10,4,0x47ac); FUN_1646_1ca4(0xb,4,0x47df); FUN_1646_1ca4(0xc,4,0x481a); FUN_1646_1ca4(0xe,4,0x485f); FUN_1646_1ca4(0x10,4,0x489a); FUN_1646_1ca4(0x11,0x16,0x48da); FUN_1646_1ca4(0x13,4,0x48f0); FUN_1646_1ca4(0x14,4,0x4927); FUN_190c_01de(0x17,0x12,*(undefined2 *)0x57ec,0x496d); FUN_2504_3be6(0); cVar1 = FUN_1e78_224a(); FUN_2504_3be6(1); if (cVar1 == '.') { FUN_1646_000c(); } else { FUN_1646_1c76(); } return; } // Function: FUN_1d61_05bc at 1d61:05bc void __cdecl16far FUN_1d61_05bc(void) { undefined2 uVar1; undefined2 unaff_DS; FUN_1e78_02b8(); FUN_190c_0092(5,1,0x14,0x4e); FUN_190c_3c18(7,0xf,0,0x49a1); FUN_190c_3c18(8,*(undefined2 *)0x565c,0,0x49b8); FUN_190c_3c18(9,*(undefined2 *)0x57f0,0,0x49d8); FUN_190c_3c18(0xb,*(undefined2 *)0x57ea,0,0x49e5); FUN_190c_3c18(0xc,*(undefined2 *)0x57ea,0,0x4a06); FUN_190c_3c18(0xf,*(undefined2 *)0x57e6,0,0x4a15); FUN_190c_3c18(0x10,*(undefined2 *)0x57ea,0,0x4a34); FUN_190c_3c18(0x11,*(undefined2 *)0x57ea,0,0x4a3e); FUN_2504_3be6(0); uVar1 = FUN_1e78_224a(); *(undefined2 *)0xd272 = uVar1; FUN_2504_3be6(1); FUN_190c_0092(5,1,0x14,0x4e); return; } // Function: FUN_1dce_0006 at 1dce:0006 undefined2 __cdecl16far FUN_1dce_0006(int param_1,uint param_2) { int *piVar1; uint *puVar2; int iVar3; uint uVar4; int iVar5; int iVar6; undefined2 uVar7; int iVar8; int iVar9; int iVar10; undefined2 unaff_DS; bool bVar11; int iVar12; int iVar13; FUN_1e78_02b8(); if ((param_2 == 0) && (param_1 == 0)) { FUN_2504_3464(0); FUN_190c_03da(0,0,*(undefined2 *)0x57ea,0x13,0x4d,1,0); FUN_190c_02fc(0x18,10,*(undefined2 *)0x57e6,0,0x4a52); iVar12 = *(int *)0x44e; iVar13 = *(int *)0x450; iVar5 = FUN_190c_23b0(200); if (((iVar5 < 2) && (-1 < *(int *)0x450)) && ((0 < *(int *)0x450 || (*(int *)0x44e != 0)))) { uVar7 = FUN_190c_23b0(*(undefined2 *)0x44e,*(undefined2 *)0x450); FUN_1e78_22f2(0xd218,0x4a76,uVar7); FUN_190c_01de(0x15,0x1e,*(undefined2 *)0x57ec,0xd218); piVar1 = (int *)0x44e; iVar5 = *piVar1; *piVar1 = *piVar1 + -1; *(int *)0x450 = *(int *)0x450 - (uint)(iVar5 == 0); } iVar5 = -0x2228; iVar6 = FUN_190c_23b0(0x8c); if (((iVar6 < 2) && (-1 < *(int *)0x454)) && ((0 < *(int *)0x454 || (*(int *)0x452 != 0)))) { uVar7 = FUN_190c_23b0(*(undefined2 *)0x452,*(undefined2 *)0x454); FUN_1e78_22f2(0xd218,0x4a86,uVar7); iVar5 = 0x1e; FUN_190c_01de(0x16,0x1e,*(undefined2 *)0x57ec,0xd218); piVar1 = (int *)0x452; iVar6 = *piVar1; *piVar1 = *piVar1 + -1; *(int *)0x454 = *(int *)0x454 - (uint)(iVar6 == 0); } for (iVar6 = 0; iVar6 < 7; iVar6 = iVar6 + 1) { if ((0 < iVar6) && (iVar6 < 7)) { FUN_190c_000c(iVar6 * 3 + -1,0); FUN_190c_010e(*(undefined2 *)0x57ea,1,0xcc); FUN_190c_000c(iVar6 * 3 + -1,1); FUN_190c_010e(*(undefined2 *)0x57ea,0x4d,0xcd); FUN_190c_000c(iVar6 * 3 + -1,0x4e); FUN_190c_010e(*(undefined2 *)0x57ea,1,0xb9); FUN_190c_000c(iVar6 * 3,0); FUN_190c_010e(*(undefined2 *)0x57ea,1,0xcc); FUN_190c_000c(iVar6 * 3,1); FUN_190c_010e(*(undefined2 *)0x57ea,0x4d,0xcd); FUN_190c_000c(iVar6 * 3,0x4e); iVar5 = *(int *)0x57ea; FUN_190c_010e(iVar5,1,0xb9); } } for (iVar6 = 0; iVar9 = 0x190c, iVar6 < 7; iVar6 = iVar6 + 1) { if (iVar6 == 0) { for (iVar9 = 1; iVar9 < 7; iVar9 = iVar9 + 1) { FUN_190c_000c(0,iVar9 * 0xb); FUN_190c_010e(*(undefined2 *)0x57ea,1,0xcb); FUN_190c_000c(1,iVar9 * 0xb); FUN_190c_010e(*(undefined2 *)0x57ea,1,0xba); FUN_190c_000c(0,iVar9 * 0xb + 1); FUN_190c_010e(*(undefined2 *)0x57ea,1,0xcb); FUN_190c_000c(1,iVar9 * 0xb + 1); iVar5 = *(int *)0x57ea; FUN_190c_010e(iVar5,1,0xba); } } else if (iVar6 == 6) { for (iVar9 = 1; iVar9 < 7; iVar9 = iVar9 + 1) { FUN_190c_000c(0x14,iVar9 * 0xb); FUN_190c_010e(*(undefined2 *)0x57ea,1,0xca); FUN_190c_000c(0x14,iVar9 * 0xb + 1); FUN_190c_010e(*(undefined2 *)0x57ea,1,0xca); FUN_190c_000c(0x13,iVar9 * 0xb); FUN_190c_010e(*(undefined2 *)0x57ea,1,0xba); FUN_190c_000c(0x13,iVar9 * 0xb + 1); iVar5 = *(int *)0x57ea; FUN_190c_010e(iVar5,1,0xba); } } if ((0 < iVar6) && (iVar6 < 7)) { for (iVar9 = 1; iVar9 < 7; iVar9 = iVar9 + 1) { FUN_190c_000c(iVar6 * 3 + -1,iVar9 * 0xb); FUN_190c_010e(*(undefined2 *)0x57ea,2,0xce); FUN_190c_000c(iVar6 * 3 + -2,iVar9 * 0xb); FUN_190c_010e(*(undefined2 *)0x57ea,1,0xba); FUN_190c_000c(iVar6 * 3 + -2,iVar9 * 0xb + 1); FUN_190c_010e(*(undefined2 *)0x57ea,1,0xba); FUN_190c_000c(iVar6 * 3,iVar9 * 0xb); iVar5 = *(int *)0x57ea; FUN_190c_010e(iVar5,2,0xce); } } } iVar6 = -1; for (iVar8 = 0; iVar8 < 7; iVar8 = iVar8 + 1) { for (iVar10 = 0; iVar10 < 7; iVar10 = iVar10 + 1) { iVar6 = iVar6 + 1; if ((iVar13 < 1) && (((iVar13 < 0 || (iVar12 == 0)) && (*(int *)0x50d8 + -1 == iVar6)))) { iVar5 = 4; iVar6 = 0x17; iVar9 = 0x190c; FUN_190c_01de(0x17,4,*(undefined2 *)0x565c,0x4a9a); } if (*(int *)((iVar5 + -1) * 0x62 + 0x54d0 + iVar6 * 2) == 0) { if ((iVar13 < 0) || ((iVar13 < 1 && (iVar12 == 0)))) { iVar6 = -0x1d91; iVar5 = iVar9; FUN_1dce_0a64(iVar8 * 3 + 1,iVar10 * 0xb + 3); iVar9 = 0x1dce; } else if (iVar6 == *(int *)0x50d8 + -1) { if ((-1 < iVar13) && ((0 < iVar13 || (iVar12 != 0)))) { bVar11 = iVar12 == 0; iVar12 = iVar12 + -1; iVar13 = iVar13 - (uint)bVar11; iVar5 = iVar10 * 0xb + 7; iVar6 = iVar8 * 3 + 1; iVar9 = 0x190c; FUN_190c_01de(iVar6,iVar5,*(undefined2 *)0x565c,0x4ab4); } } else { iVar6 = -0x1dab; iVar5 = iVar9; FUN_1dce_0a36(iVar8 * 3 + 1,iVar10 * 0xb + 3); iVar9 = 0x1dce; } } else if ((iVar13 < 0) || ((iVar13 < 1 && (iVar12 == 0)))) { FUN_190c_01de(0x15,0x39,*(undefined2 *)0x57ec,0x4ae3); iVar5 = 0x190c; iVar6 = -0x1b53; FUN_1dce_0a64(iVar8 * 3 + 1,iVar10 * 0xb + 3); iVar9 = 0x1dce; } else { iVar3 = iVar12 + -1; iVar13 = iVar13 - (uint)(iVar12 == 0); if (iVar6 == *(int *)0x50d8 + -1) { if ((iVar13 < 0) || ((iVar13 < 1 && (iVar3 == 0)))) { iVar5 = 4; iVar6 = 0x17; iVar9 = 0x190c; FUN_190c_01de(0x17,4,*(undefined2 *)0x565c,0x4abc); } else { iVar5 = iVar10 * 0xb + 7; iVar6 = iVar8 * 3 + 1; iVar9 = 0x190c; FUN_190c_01de(iVar6,iVar5,*(undefined2 *)0x565c,0x4ab8); iVar13 = iVar13 - (uint)(iVar3 == 0); iVar3 = iVar12 + -2; } } iVar12 = iVar3; if (((*(int *)(*(int *)0xd214 * 2 + -0x5fe6) == iVar6 + 1) && (-1 < iVar13)) && ((0 < iVar13 || (iVar12 != 0)))) { bVar11 = iVar12 == 0; iVar12 = iVar12 + -1; iVar13 = iVar13 - (uint)bVar11; iVar5 = iVar10 * 0xb + 2; iVar6 = iVar8 * 3 + 1; iVar9 = 0x190c; FUN_190c_01de(iVar6,iVar5,*(undefined2 *)0x57ec,0x4ad6); } if (((*(int *)(*(int *)0xd214 * 2 + -0x2d7a) == iVar6 + 1) && (-1 < iVar13)) && ((0 < iVar13 || (iVar12 != 0)))) { bVar11 = iVar12 == 0; iVar12 = iVar12 + -1; iVar13 = iVar13 - (uint)bVar11; iVar5 = iVar10 * 0xb + 2; iVar6 = iVar8 * 3 + 1; iVar9 = 0x190c; FUN_190c_01de(iVar6,iVar5,*(undefined2 *)0x57ee,0x4ada); } if (((*(int *)(*(int *)0xd214 * 2 + -0x5fd0) == iVar6 + 1) && (-1 < iVar13)) && ((0 < iVar13 || (iVar12 != 0)))) { bVar11 = iVar12 == 0; iVar12 = iVar12 + -1; iVar13 = iVar13 - (uint)bVar11; iVar5 = iVar10 * 0xb + 2; iVar6 = iVar8 * 3 + 1; iVar9 = 0x190c; FUN_190c_01de(iVar6,iVar5,*(undefined2 *)0x57f0,0x4adf); } if (*(int *)((iVar5 + -1) * 0x62 + 0x50da + iVar6 * 2) == 0) { if (iVar10 < 6) { iVar6 = -0x1c0c; iVar5 = iVar9; FUN_190c_000c(iVar8 * 3 + 1,iVar10 * 0xb + 0xb); iVar9 = 0x1dce; FUN_1dce_0a1a(); } if (0 < iVar10) { iVar6 = -0x1bed; iVar5 = iVar9; FUN_190c_000c(iVar8 * 3 + 1,iVar10 * 0xb + 1); iVar9 = 0x1dce; FUN_1dce_0a1a(); } } if (*(int *)((iVar5 + -1) * 0x62 + -0x2bac + iVar6 * 2) != 1) { if (iVar8 < 6) { iVar6 = -0x1baa; iVar5 = iVar9; FUN_190c_000c(iVar8 * 3 + 2,iVar10 * 0xb + 5); iVar9 = 0x1dce; FUN_1dce_09fe(); } if (0 < iVar8) { iVar6 = -0x1b8a; iVar5 = iVar9; FUN_190c_000c(iVar8 * 3,iVar10 * 0xb + 5); iVar9 = 0x1dce; FUN_1dce_09fe(); } } } } } FUN_1e78_22f2(0xd218,0x4af7,*(undefined2 *)0x290); FUN_190c_02fc(0x15,4,*(undefined2 *)0x565c,0,0xd218); if ((iVar13 < 0) || ((iVar13 < 1 && (iVar12 == 0)))) { FUN_190c_02fc(0x16,4,*(undefined2 *)0x57ea,0,0x4b19); } else { FUN_190c_02fc(0x15,0x39,*(undefined2 *)0x565c,0,0x4b08); FUN_1e78_22f2(0xd218,0x4b14,iVar12,iVar13); FUN_190c_02fc(0x15,0x44,*(undefined2 *)0x57ea,0,0xd218); } FUN_190c_02fc(0x16,0x39,*(undefined2 *)0x565c,0,0x4b30); FUN_1e78_22f2(0xd218,0x4b3b,*(undefined2 *)0x44e,*(undefined2 *)0x450); FUN_190c_02fc(0x16,0x44,*(undefined2 *)0x57ea,0,0xd218); FUN_190c_02fc(0x17,0x39,*(undefined2 *)0x565c,0,0x4b40); FUN_1e78_22f2(0xd218,0x4b4c,*(undefined2 *)0x452,*(undefined2 *)0x454); FUN_190c_02fc(0x17,0x44,*(undefined2 *)0x57ea,0,0xd218); FUN_1e78_22f2(0xd218,0x4b51,*(undefined2 *)0xd43a); FUN_190c_02fc(0x18,0x39,*(undefined2 *)0x57ec,0,0xd218); FUN_190c_37d0(); FUN_1646_1c76(); } else if (param_1 == 0) { puVar2 = (uint *)0x44e; uVar4 = *puVar2; *puVar2 = *puVar2 + param_2; *(int *)0x450 = *(int *)0x450 + ((int)param_2 >> 0xf) + (uint)CARRY2(uVar4,param_2); } else if (param_1 == 1) { puVar2 = (uint *)0x452; uVar4 = *puVar2; *puVar2 = *puVar2 + param_2; *(int *)0x454 = *(int *)0x454 + ((int)param_2 >> 0xf) + (uint)CARRY2(uVar4,param_2); } else { if (param_1 == 2) { return *(undefined2 *)0x44e; } if (param_1 == 3) { return *(undefined2 *)0x452; } } return *(undefined2 *)0x452; } // Function: FUN_1dce_09fe at 1dce:09fe void __cdecl16far FUN_1dce_09fe(void) { undefined2 unaff_DS; FUN_1e78_02b8(); FUN_190c_010e(*(undefined2 *)0x57ea,2,0x20); return; } // Function: FUN_1dce_0a1a at 1dce:0a1a void __cdecl16far FUN_1dce_0a1a(void) { undefined2 unaff_DS; FUN_1e78_02b8(); FUN_190c_010e(*(undefined2 *)0x57ea,1,0x20); return; } // Function: FUN_1dce_0a36 at 1dce:0a36 void __cdecl16far FUN_1dce_0a36(undefined2 param_1,undefined2 param_2) { undefined2 unaff_DS; FUN_1e78_02b8(); FUN_190c_01de(param_1,param_2,*(undefined2 *)0x57e6,0x4b62); return; } // Function: FUN_1dce_0a64 at 1dce:0a64 void __cdecl16far FUN_1dce_0a64(undefined2 param_1,undefined2 param_2) { undefined2 unaff_DS; FUN_1e78_02b8(); FUN_190c_01de(param_1,param_2,*(undefined2 *)0x57e6,0x4b6a); return; } // Function: entry at 1e78:0010 /* WARNING: Stack frame is not setup normally: Input value of stackpointer is not used */ /* WARNING: This function may have set the stack pointer */ void __cdecl16near entry(void) { undefined1 *puVar1; code *pcVar2; code *pcVar3; byte bVar4; int iVar5; undefined1 *puVar6; undefined1 *puVar7; undefined1 *puVar8; undefined1 *puVar9; undefined2 *puVar10; undefined1 *puVar11; uint uVar12; undefined1 *puVar13; undefined2 unaff_ES; undefined2 uVar14; undefined2 unaff_DS; undefined2 uVar15; uVar15 = 0x1e78; puVar6 = (undefined1 *)0x1000; pcVar3 = (code *)swi(0x21); bVar4 = (*pcVar3)(); if (bVar4 < 2) { *(undefined2 *)(puVar6 + -2) = unaff_ES; *(undefined2 *)(puVar6 + -4) = 0; return; } uVar12 = *(int *)0x2 + 0xd5e0; if (0xfff < uVar12) { uVar12 = 0x1000; } puVar7 = puVar6 + -0x2992; puVar13 = puVar6 + -0x2992; if ((undefined1 *)0x2991 < puVar6) { *(undefined2 *)(puVar6 + -0x2994) = 0x2a20; unaff_DS = *(undefined2 *)(puVar6 + -0x2994); *(undefined2 *)(puVar6 + -0x2994) = 0x1e78; *(undefined2 *)(puVar6 + -0x2996) = 0xe7bf; FUN_1e78_0290(); *(undefined2 *)(puVar6 + -0x2994) = 0; *(undefined2 *)(puVar6 + -0x2996) = 0x1e78; *(undefined2 *)(puVar6 + -0x2998) = 0xe7c6; FUN_1e78_053b(); pcVar3 = (code *)swi(0x21); (*pcVar3)(); puVar13 = puVar7; } DAT_2a20_045a = uVar12 * 0x10 + -1; DAT_2a20_045c = 0x2a20; puVar8 = (undefined1 *)((uint)puVar13 & 0xfffe); DAT_2a20_0466 = puVar8 + -2; DAT_2a20_0460 = puVar8; *(undefined2 *)(puVar8 + -2) = 0xfffe; puVar9 = puVar8 + -4; DAT_2a20_0462 = puVar8 + -4; DAT_2a20_0464 = puVar8 + -4; DAT_2a20_0456 = puVar8 + -4; *(undefined2 *)(puVar8 + -4) = 1; *(int *)0x2 = uVar12 + 0x2a20; pcVar3 = (code *)swi(0x21); (*pcVar3)(); DAT_2a20_0496 = unaff_DS; *(undefined2 *)(puVar9 + -2) = 0x2a20; uVar14 = *(undefined2 *)(puVar9 + -2); puVar13 = (undefined1 *)0x4d6e; for (iVar5 = -0x76fe; iVar5 != 0; iVar5 = iVar5 + -1) { puVar1 = puVar13; puVar13 = puVar13 + 1; *puVar1 = 0; } *(undefined2 *)(puVar9 + -2) = 0x2a20; pcVar2 = (code *)*(int *)0x9ec; if (pcVar2 != (code *)0x0) { uVar15 = 0x1000; puVar10 = (undefined2 *)(puVar9 + -2); puVar9 = puVar9 + -2; *puVar10 = 0xe829; (*pcVar2)(); } *(undefined2 *)(puVar9 + -2) = uVar15; *(undefined2 *)(puVar9 + -4) = 0xe82e; FUN_1e78_0492(); *(undefined2 *)(puVar9 + -2) = 0x1e78; puVar11 = puVar9 + -4; *(undefined2 *)(puVar9 + -4) = 0xe833; FUN_1e78_0300(); *(undefined2 *)(puVar11 + -2) = 0x1e78; *(undefined2 *)(puVar11 + -4) = 0xe83a; FUN_1e78_0108(); *(undefined2 *)(puVar11 + -2) = 0x2a20; uVar15 = *(undefined2 *)(puVar11 + -2); *(undefined2 *)(puVar11 + -2) = *(undefined2 *)0x4b7; *(undefined2 *)(puVar11 + -4) = *(undefined2 *)0x4b5; *(undefined2 *)(puVar11 + -6) = *(undefined2 *)0x4b3; *(undefined2 *)(puVar11 + -8) = 0x1e78; *(undefined2 *)(puVar11 + -10) = 0xe84d; uVar15 = FUN_1000_0000(); *(undefined2 *)(puVar11 + -8) = uVar15; *(undefined2 *)(puVar11 + -10) = 0x1000; *(undefined2 *)(puVar11 + -0xc) = 0xe852; FUN_1e78_01cd(); return; } // Function: FUN_1e78_00e3 at 1e78:00e3 void FUN_1e78_00e3(void) { char *pcVar1; byte *pbVar2; byte *pbVar3; byte *pbVar4; code *pcVar5; undefined2 in_AX; undefined2 in_CX; byte bVar7; int iVar6; uint extraout_DX; int in_BX; int iVar8; int unaff_BP; int unaff_SI; byte *pbVar9; byte *pbVar10; undefined2 unaff_ES; undefined2 uVar11; undefined2 unaff_SS; undefined2 unaff_DS; bool bVar12; bVar7 = (byte)((uint)in_CX >> 8); uVar11 = 0x1e78; FUN_1e78_0290(); FUN_1e78_053b(in_AX); if (*(int *)0x9ee == -0x292a) { uVar11 = 0x1000; (*(code *)*(undefined2 *)0x9f2)(); } (*(code *)*(undefined2 *)0x458)(uVar11,0xff); *(byte *)(unaff_BP + unaff_SI) = *(byte *)(unaff_BP + unaff_SI) & bVar7; pcVar1 = (char *)(in_BX + unaff_SI + 0x3500); *pcVar1 = *pcVar1 + (char)((uint)in_BX >> 8); pcVar5 = (code *)swi(0x21); (*pcVar5)(); *(int *)0x482 = in_BX; *(undefined2 *)0x484 = unaff_ES; pcVar5 = (code *)swi(0x21); (*pcVar5)(); if (*(int *)0xa00 != 0) { bVar12 = false; (*(code *)*(undefined2 *)0x9fe)(); if (bVar12) { FUN_1e78_02b2(); return; } (*(code *)*(undefined2 *)0x9fe)(); } iVar8 = *(int *)0x2c; if (iVar8 != 0) { pbVar10 = (byte *)0x0; do { if (*pbVar10 == 0) break; iVar6 = 0xd; pbVar9 = (byte *)0x474; bVar12 = false; do { if (iVar6 == 0) break; iVar6 = iVar6 + -1; pbVar4 = pbVar10; pbVar10 = pbVar10 + 1; pbVar2 = pbVar9; pbVar9 = pbVar9 + 1; bVar12 = *pbVar2 == *pbVar4; } while (bVar12); if (bVar12) { pbVar9 = (byte *)0x49f; goto LAB_1e78_018a; } iVar6 = 0x7fff; bVar12 = true; do { if (iVar6 == 0) break; iVar6 = iVar6 + -1; pbVar2 = pbVar10; pbVar10 = pbVar10 + 1; bVar12 = *pbVar2 == 0; } while (!bVar12); } while (bVar12); } LAB_1e78_019e: iVar8 = 4; do { bVar12 = false; *(byte *)(iVar8 + 0x49f) = *(byte *)(iVar8 + 0x49f) & 0xbf; pcVar5 = (code *)swi(0x21); (*pcVar5)(); if ((!bVar12) && ((extraout_DX & 0x80) != 0)) { *(byte *)(iVar8 + 0x49f) = *(byte *)(iVar8 + 0x49f) | 0x40; } iVar8 = iVar8 + -1; } while (-1 < iVar8); FUN_1e78_027d(); FUN_1e78_027d(); return; LAB_1e78_018a: pbVar2 = pbVar10; pbVar3 = pbVar10 + 1; if (*pbVar2 < 0x41) goto LAB_1e78_019e; pbVar10 = pbVar10 + 2; if (*pbVar3 < 0x41) goto LAB_1e78_019e; pbVar4 = pbVar9; pbVar9 = pbVar9 + 1; *pbVar4 = *pbVar3 + 0xbf | (*pbVar2 + 0xbf) * '\x10'; goto LAB_1e78_018a; } // Function: FUN_1e78_0108 at 1e78:0108 void __cdecl16far FUN_1e78_0108(void) { byte *pbVar1; byte *pbVar2; byte *pbVar3; code *pcVar4; int iVar5; uint extraout_DX; undefined2 in_BX; int iVar6; byte *pbVar7; byte *pbVar8; undefined2 unaff_ES; undefined2 unaff_SS; undefined2 unaff_DS; bool bVar9; pcVar4 = (code *)swi(0x21); (*pcVar4)(); *(undefined2 *)0x482 = in_BX; *(undefined2 *)0x484 = unaff_ES; pcVar4 = (code *)swi(0x21); (*pcVar4)(); if (*(int *)0xa00 != 0) { bVar9 = false; (*(code *)*(undefined2 *)0x9fe)(); if (bVar9) { FUN_1e78_02b2(); return; } (*(code *)*(undefined2 *)0x9fe)(); } iVar6 = *(int *)0x2c; if (iVar6 != 0) { pbVar8 = (byte *)0x0; do { if (*pbVar8 == 0) break; iVar5 = 0xd; pbVar7 = (byte *)0x474; bVar9 = false; do { if (iVar5 == 0) break; iVar5 = iVar5 + -1; pbVar3 = pbVar8; pbVar8 = pbVar8 + 1; pbVar1 = pbVar7; pbVar7 = pbVar7 + 1; bVar9 = *pbVar1 == *pbVar3; } while (bVar9); if (bVar9) { pbVar7 = (byte *)0x49f; goto LAB_1e78_018a; } iVar5 = 0x7fff; bVar9 = true; do { if (iVar5 == 0) break; iVar5 = iVar5 + -1; pbVar1 = pbVar8; pbVar8 = pbVar8 + 1; bVar9 = *pbVar1 == 0; } while (!bVar9); } while (bVar9); } LAB_1e78_019e: iVar6 = 4; do { bVar9 = false; *(byte *)(iVar6 + 0x49f) = *(byte *)(iVar6 + 0x49f) & 0xbf; pcVar4 = (code *)swi(0x21); (*pcVar4)(); if ((!bVar9) && ((extraout_DX & 0x80) != 0)) { *(byte *)(iVar6 + 0x49f) = *(byte *)(iVar6 + 0x49f) | 0x40; } iVar6 = iVar6 + -1; } while (-1 < iVar6); FUN_1e78_027d(); FUN_1e78_027d(); return; LAB_1e78_018a: pbVar1 = pbVar8; pbVar2 = pbVar8 + 1; if (*pbVar1 < 0x41) goto LAB_1e78_019e; pbVar8 = pbVar8 + 2; if (*pbVar2 < 0x41) goto LAB_1e78_019e; pbVar3 = pbVar7; pbVar7 = pbVar7 + 1; *pbVar3 = *pbVar2 + 0xbf | (*pbVar1 + 0xbf) * '\x10'; goto LAB_1e78_018a; } // Function: FUN_1e78_01cd at 1e78:01cd void __cdecl16far FUN_1e78_01cd(void) { code *pcVar1; undefined2 unaff_DS; FUN_1e78_027d(); FUN_1e78_027d(); if (*(int *)0x9ee == -0x292a) { (*(code *)*(undefined2 *)0x9f4)(); } FUN_1e78_027d(); FUN_1e78_027d(); FUN_1e78_02dc(); FUN_1e78_0250(); pcVar1 = (code *)swi(0x21); (*pcVar1)(); return; } // Function: FUN_1e78_0250 at 1e78:0250 void __cdecl16near FUN_1e78_0250(undefined2 param_1) { code *pcVar1; undefined2 unaff_DS; if (*(int *)0xa00 != 0) { (*(code *)*(undefined2 *)0x9fe)(0x1e78); } pcVar1 = (code *)swi(0x21); (*pcVar1)(); if (*(char *)0x4c0 != '\0') { pcVar1 = (code *)swi(0x21); (*pcVar1)(); } return; } // Function: FUN_1e78_027d at 1e78:027d void __cdecl16near FUN_1e78_027d(void) { int *piVar1; int *unaff_SI; int *unaff_DI; int *piVar2; undefined2 unaff_DS; while (unaff_SI < unaff_DI) { piVar2 = unaff_DI + -2; piVar1 = unaff_DI + -1; unaff_DI = piVar2; if (*piVar2 != 0 || *piVar1 != 0) { (*(code *)*piVar2)(0x1e78); } } return; } // Function: FUN_1e78_0290 at 1e78:0290 void __cdecl16far FUN_1e78_0290(void) { undefined2 unaff_DS; FUN_1e78_053b(0xfc); if (*(int *)0x4c8 != 0) { (*(code *)*(undefined2 *)0x4c6)(0x1e78); } FUN_1e78_053b(0xff); return; } // Function: FUN_1e78_02b2 at 1e78:02b2 void FUN_1e78_02b2(void) { FUN_1e78_00e3(); return; } // Function: FUN_1e78_02b8 at 1e78:02b8 /* WARNING (jumptable): Unable to track spacebase fully for stack */ /* WARNING: Unable to track spacebase fully for stack */ void __cdecl16far FUN_1e78_02b8(void) { int iVar1; undefined1 *in_AX; undefined2 unaff_SS; undefined2 unaff_DS; undefined2 in_stack_00000000; undefined2 in_stack_00000002; iVar1 = -(int)in_AX; if ((in_AX <= &stack0x0004) && ((undefined1 *)*(uint *)0x4ce <= &stack0x0004 + iVar1)) { *(undefined2 *)(&stack0x0002 + iVar1) = in_stack_00000002; *(undefined2 *)(&stack0x0000 + iVar1) = in_stack_00000000; return; } if (*(int *)0x4ca == -1) { FUN_1e78_00e3(); return; } /* WARNING: Could not recover jumptable at 0x0001ea58. Too many branches */ /* WARNING: Treating indirect jump as call */ (*(code *)(ulong)*(uint *)0x4ca)(); return; } // Function: FUN_1e78_02dc at 1e78:02dc uint __cdecl16far FUN_1e78_02dc(void) { byte *pbVar1; byte bVar3; uint uVar2; int iVar4; byte *pbVar5; undefined2 unaff_DS; pbVar5 = (byte *)0x0; iVar4 = 0x42; bVar3 = 0; do { pbVar1 = pbVar5; pbVar5 = pbVar5 + 1; bVar3 = bVar3 ^ *pbVar1; iVar4 = iVar4 + -1; } while (iVar4 != 0); uVar2 = CONCAT11(bVar3,*pbVar1) ^ 0x5500; if (bVar3 != 0x55) { FUN_1e78_0290(); FUN_1e78_053b(1); uVar2 = 1; } return uVar2; } // Function: FUN_1e78_0300 at 1e78:0300 /* WARNING (jumptable): Unable to track spacebase fully for stack */ /* WARNING: Unable to track spacebase fully for stack */ void FUN_1e78_0300(undefined2 param_1,undefined2 param_2,undefined2 param_3) { char *pcVar1; char cVar2; char *pcVar3; undefined2 uVar4; code *pcVar5; undefined2 uVar6; int iVar7; uint uVar8; uint uVar9; undefined2 *puVar10; char *pcVar11; char *pcVar12; char *pcVar13; int iVar14; undefined2 unaff_SS; undefined2 unaff_DS; undefined2 in_stack_00000000; *(undefined2 *)0x4d0 = in_stack_00000000; *(undefined2 *)0x4d2 = param_1; pcVar5 = (code *)swi(0x21); uVar6 = (*pcVar5)(); *(undefined2 *)0x498 = uVar6; uVar9 = 1; if ((char)uVar6 != '\x02') { uVar6 = *(undefined2 *)0x2c; *(undefined2 *)0x4bb = uVar6; iVar7 = -0x8000; pcVar12 = (char *)0x0; LAB_1e78_032b: do { pcVar13 = pcVar12; if (iVar7 != 0) { iVar7 = iVar7 + -1; pcVar3 = pcVar12; pcVar12 = pcVar12 + 1; pcVar13 = pcVar12; if (*pcVar3 != '\0') goto LAB_1e78_032b; } pcVar12 = pcVar13 + 1; } while (*pcVar13 != '\0'); pcVar13 = pcVar13 + 3; *(undefined2 *)0x4b9 = pcVar13; uVar9 = 0xffff; do { if (uVar9 == 0) break; uVar9 = uVar9 - 1; pcVar3 = pcVar13; pcVar13 = pcVar13 + 1; } while (*pcVar3 != '\0'); uVar9 = ~uVar9; } iVar7 = 1; pcVar12 = (char *)0x81; uVar6 = *(undefined2 *)0x496; LAB_1e78_0349: do { do { pcVar3 = pcVar12; pcVar12 = pcVar12 + 1; cVar2 = *pcVar3; } while (cVar2 == ' '); } while (cVar2 == '\t'); if ((cVar2 != '\r') && (cVar2 != '\0')) { iVar7 = iVar7 + 1; do { pcVar12 = pcVar12 + -1; LAB_1e78_035c: pcVar3 = pcVar12; pcVar12 = pcVar12 + 1; cVar2 = *pcVar3; if ((cVar2 == ' ') || (cVar2 == '\t')) goto LAB_1e78_0349; if ((cVar2 == '\r') || (cVar2 == '\0')) break; if (cVar2 == '\"') { LAB_1e78_0395: do { while( true ) { while( true ) { pcVar3 = pcVar12; pcVar12 = pcVar12 + 1; cVar2 = *pcVar3; if ((cVar2 == '\r') || (cVar2 == '\0')) goto LAB_1e78_03c5; if (cVar2 == '\"') goto LAB_1e78_035c; if (cVar2 == '\\') break; uVar9 = uVar9 + 1; } uVar8 = 0; do { pcVar13 = pcVar12; uVar8 = uVar8 + 1; pcVar12 = pcVar13 + 1; } while (*pcVar13 == '\\'); if (*pcVar13 == '\"') break; uVar9 = uVar9 + uVar8; pcVar12 = pcVar13; } uVar9 = uVar9 + (uVar8 >> 1) + (uint)((uVar8 & 1) != 0); } while ((uVar8 & 1) != 0); goto LAB_1e78_035c; } if (cVar2 != '\\') { uVar9 = uVar9 + 1; goto LAB_1e78_035c; } uVar8 = 0; do { uVar8 = uVar8 + 1; pcVar3 = pcVar12; pcVar12 = pcVar12 + 1; } while (*pcVar3 == '\\'); if (*pcVar3 == '\"') { uVar9 = uVar9 + (uVar8 >> 1) + (uint)((uVar8 & 1) != 0); if ((uVar8 & 1) == 0) goto LAB_1e78_0395; goto LAB_1e78_035c; } uVar9 = uVar9 + uVar8; } while( true ); } LAB_1e78_03c5: *(int *)0x4b3 = iVar7; iVar14 = (iVar7 + 1) * 2; iVar7 = -(uVar9 + iVar7 + iVar14 + 1 & 0xfffe); *(undefined1 **)0x4b5 = &stack0x0008 + iVar7; pcVar13 = &stack0x0008 + iVar14 + iVar7; *(undefined2 *)((int)&stack0x0006 + iVar7) = unaff_SS; uVar6 = *(undefined2 *)((int)&stack0x0006 + iVar7); *(char **)(&stack0x0008 + iVar7) = pcVar13; puVar10 = (undefined2 *)(&stack0x000a + iVar7); pcVar3 = (char *)*(undefined4 *)0x4b9; pcVar12 = (char *)pcVar3; do { pcVar1 = pcVar12; pcVar12 = pcVar12 + 1; cVar2 = *pcVar1; pcVar1 = pcVar13; pcVar13 = pcVar13 + 1; *pcVar1 = cVar2; } while (cVar2 != '\0'); uVar4 = *(undefined2 *)0x496; pcVar12 = (char *)0x81; LAB_1e78_03ff: do { do { pcVar3 = pcVar12; pcVar12 = pcVar12 + 1; cVar2 = *pcVar3; } while (cVar2 == ' '); } while (cVar2 == '\t'); if ((cVar2 == '\r') || (cVar2 == '\0')) { LAB_1e78_0488: *(undefined2 *)((int)&stack0x0006 + iVar7) = unaff_SS; uVar6 = *(undefined2 *)((int)&stack0x0006 + iVar7); *puVar10 = 0; /* WARNING: Could not recover jumptable at 0x0001ec0e. Too many branches */ /* WARNING: Treating indirect jump as call */ (*(code *)(ulong)*(uint *)0x4d0)(); return; } *puVar10 = pcVar13; puVar10 = puVar10 + 1; do { pcVar12 = pcVar12 + -1; LAB_1e78_0416: pcVar3 = pcVar12; pcVar12 = pcVar12 + 1; cVar2 = *pcVar3; if ((cVar2 == ' ') || (cVar2 == '\t')) { pcVar3 = pcVar13; pcVar13 = pcVar13 + 1; *pcVar3 = '\0'; goto LAB_1e78_03ff; } if ((cVar2 == '\r') || (cVar2 == '\0')) { LAB_1e78_0485: *pcVar13 = '\0'; goto LAB_1e78_0488; } pcVar11 = pcVar12; if (cVar2 == '\"') { LAB_1e78_0452: while( true ) { pcVar12 = pcVar11 + 1; cVar2 = *pcVar11; if ((cVar2 == '\r') || (cVar2 == '\0')) goto LAB_1e78_0485; if (cVar2 == '\"') break; if (cVar2 == '\\') { uVar9 = 0; do { pcVar11 = pcVar12; uVar9 = uVar9 + 1; pcVar12 = pcVar11 + 1; } while (*pcVar11 == '\\'); if (*pcVar11 == '\"') { for (uVar8 = uVar9 >> 1; uVar8 != 0; uVar8 = uVar8 - 1) { pcVar3 = pcVar13; pcVar13 = pcVar13 + 1; *pcVar3 = '\\'; } if ((uVar9 & 1) == 0) break; pcVar3 = pcVar13; pcVar13 = pcVar13 + 1; *pcVar3 = '\"'; pcVar11 = pcVar12; } else { for (; uVar9 != 0; uVar9 = uVar9 - 1) { pcVar3 = pcVar13; pcVar13 = pcVar13 + 1; *pcVar3 = '\\'; } } } else { pcVar3 = pcVar13; pcVar13 = pcVar13 + 1; *pcVar3 = cVar2; pcVar11 = pcVar12; } } goto LAB_1e78_0416; } if (cVar2 != '\\') { pcVar3 = pcVar13; pcVar13 = pcVar13 + 1; *pcVar3 = cVar2; goto LAB_1e78_0416; } uVar9 = 0; do { uVar9 = uVar9 + 1; pcVar3 = pcVar12; pcVar12 = pcVar12 + 1; } while (*pcVar3 == '\\'); if (*pcVar3 == '\"') { for (uVar8 = uVar9 >> 1; uVar8 != 0; uVar8 = uVar8 - 1) { pcVar3 = pcVar13; pcVar13 = pcVar13 + 1; *pcVar3 = '\\'; } pcVar11 = pcVar12; if ((uVar9 & 1) == 0) goto LAB_1e78_0452; pcVar3 = pcVar13; pcVar13 = pcVar13 + 1; *pcVar3 = '\"'; goto LAB_1e78_0416; } for (; uVar9 != 0; uVar9 = uVar9 - 1) { pcVar3 = pcVar13; pcVar13 = pcVar13 + 1; *pcVar3 = '\\'; } } while( true ); } // Function: FUN_1e78_0492 at 1e78:0492 void __cdecl16far FUN_1e78_0492(void) { int *piVar1; char *pcVar2; int *piVar3; char cVar4; int iVar5; undefined2 *puVar6; int iVar7; int iVar8; int *piVar9; int *piVar10; char *pcVar11; int *piVar12; undefined2 unaff_SS; undefined2 unaff_DS; bool bVar13; iVar5 = *(int *)0x2c; iVar8 = 0; pcVar11 = (char *)0x0; iVar7 = -1; if (iVar5 != 0) { cVar4 = *(char *)0x0; while (cVar4 != '\0') { do { if (iVar7 == 0) break; iVar7 = iVar7 + -1; pcVar2 = pcVar11; pcVar11 = pcVar11 + 1; } while (*pcVar2 != '\0'); iVar8 = iVar8 + 1; pcVar2 = pcVar11; pcVar11 = pcVar11 + 1; cVar4 = *pcVar2; } } pcVar11 = (char *)FUN_1e78_0572(); puVar6 = (undefined2 *)FUN_1e78_0572(); *(undefined2 *)0x4b7 = puVar6; piVar9 = (int *)0x0; do { if (iVar8 == 0) { *puVar6 = 0; return; } bVar13 = *piVar9 == *(int *)0x474; if (bVar13) { piVar12 = (int *)0x474; iVar7 = 6; piVar10 = piVar9; do { if (iVar7 == 0) break; iVar7 = iVar7 + -1; piVar3 = piVar12; piVar12 = piVar12 + 1; piVar1 = piVar10; piVar10 = piVar10 + 1; bVar13 = *piVar1 == *piVar3; } while (bVar13); if (!bVar13) goto LAB_1e78_04fc; } else { LAB_1e78_04fc: *puVar6 = pcVar11; puVar6 = puVar6 + 1; } do { piVar1 = piVar9; piVar9 = (int *)((int)piVar9 + 1); iVar7 = *piVar1; pcVar2 = pcVar11; pcVar11 = pcVar11 + 1; *pcVar2 = (char)iVar7; } while ((char)iVar7 != '\0'); iVar8 = iVar8 + -1; } while( true ); } // Function: FUN_1e78_0510 at 1e78:0510 int * __stdcall16far FUN_1e78_0510(int param_1) { int *piVar1; int iVar2; int *piVar3; int *piVar4; undefined2 unaff_DS; piVar3 = (int *)0x4b8e; do { piVar1 = piVar3; piVar3 = piVar3 + 1; piVar4 = piVar3; if ((*piVar1 == param_1) || (piVar4 = (int *)0x0, *piVar1 == -1)) { return piVar4; } iVar2 = -1; do { if (iVar2 == 0) break; iVar2 = iVar2 + -1; piVar1 = piVar3; piVar3 = (int *)((int)piVar3 + 1); } while ((char)*piVar1 != '\0'); } while( true ); } // Function: FUN_1e78_053b at 1e78:053b void __stdcall16far FUN_1e78_053b(undefined2 param_1) { char *pcVar1; code *pcVar2; char *pcVar3; int iVar4; undefined2 unaff_ES; undefined2 unaff_DS; pcVar3 = (char *)FUN_1e78_0510(param_1); if (pcVar3 != (char *)0x0) { iVar4 = -1; do { if (iVar4 == 0) break; iVar4 = iVar4 + -1; pcVar1 = pcVar3; pcVar3 = pcVar3 + 1; } while (*pcVar1 != '\0'); if (*(int *)0x9ee == -0x292a) { (*(code *)*(undefined2 *)0x9f0)(); } pcVar2 = (code *)swi(0x21); (*pcVar2)(); } return; } // Function: FUN_1e78_0572 at 1e78:0572 void __cdecl16near FUN_1e78_0572(void) { undefined2 uVar1; int iVar2; undefined2 unaff_DS; LOCK(); uVar1 = *(undefined2 *)0x6a2; *(undefined2 *)0x6a2 = 0x400; UNLOCK(); iVar2 = thunk_FUN_1e78_1dfb(); *(undefined2 *)0x6a2 = uVar1; if (iVar2 != 0) { return; } FUN_1e78_00e3(); return; } // Function: FUN_1e78_05ee at 1e78:05ee undefined2 __cdecl16far FUN_1e78_05ee(int param_1) { int iVar1; undefined2 uVar2; undefined2 unaff_DS; char local_10; undefined1 uStack_f; undefined1 local_e [8]; int local_6; undefined1 *local_4; uVar2 = 0xffff; if (((*(byte *)(param_1 + 6) & 0x40) != 0) || ((*(byte *)(param_1 + 6) & 0x83) == 0)) goto LAB_1e78_069c; uVar2 = FUN_1e78_0b1e(param_1); local_6 = *(int *)(param_1 + 0xa4); FUN_1e78_0914(param_1); iVar1 = FUN_1e78_193a(0x1e78,*(undefined1 *)(param_1 + 7)); if (-1 < iVar1) { if (local_6 == 0) goto LAB_1e78_069c; FUN_1e78_1fde(&local_10,0x4e8); local_4 = local_e; if (local_10 == '\\') { local_4 = &uStack_f; } else { FUN_1e78_1f9e(&local_10,0x4ea); } FUN_1e78_2108(0x1e78,local_6,local_4,10); iVar1 = FUN_1e78_2534(0x1e78,&local_10); if (iVar1 == 0) goto LAB_1e78_069c; } uVar2 = 0xffff; LAB_1e78_069c: *(undefined1 *)(param_1 + 6) = 0; return uVar2; } // Function: FUN_1e78_06a8 at 1e78:06a8 undefined2 __cdecl16far FUN_1e78_06a8(undefined2 param_1,undefined2 param_2,undefined2 param_3) { int iVar1; undefined2 uVar2; iVar1 = FUN_1e78_18a6(); if (iVar1 == 0) { uVar2 = 0; } else { uVar2 = FUN_1e78_0984(param_1,param_2,param_3,iVar1); } return uVar2; } // Function: FUN_1e78_06d4 at 1e78:06d4 void __cdecl16far FUN_1e78_06d4(undefined2 param_1,undefined2 param_2) { FUN_1e78_06a8(param_1,param_2,0); return; } // Function: FUN_1e78_06ea at 1e78:06ea undefined2 __cdecl16far FUN_1e78_06ea(undefined2 param_1,undefined2 param_2) { undefined2 uVar1; undefined2 uVar2; uVar1 = FUN_1e78_0a6c(param_1); uVar2 = FUN_1e78_13ce(param_1,param_2,&stack0x0008); FUN_1e78_0adf(uVar1,param_1); return uVar2; } // Function: FUN_1e78_0722 at 1e78:0722 void __cdecl16far FUN_1e78_0722(undefined2 param_1,undefined2 param_2) { FUN_1e78_0be6(param_1,param_2,&stack0x0008); return; } // Function: FUN_1e78_073c at 1e78:073c undefined2 __cdecl16far FUN_1e78_073c(undefined2 param_1) { undefined2 uVar1; undefined2 uVar2; uVar1 = FUN_1e78_0a6c(0x4f6); uVar2 = FUN_1e78_13ce(0x4f6,param_1,&stack0x0006); FUN_1e78_0adf(uVar1,0x4f6); return uVar2; } // Function: FUN_1e78_077a at 1e78:077a void __cdecl16far FUN_1e78_077a(undefined2 param_1) { FUN_1e78_0be6(0x4ee,param_1,&stack0x0006); return; } // Function: FUN_1e78_079a at 1e78:079a uint __cdecl16far FUN_1e78_079a(undefined2 *param_1) { byte *pbVar1; byte bVar2; undefined2 uVar3; int iVar4; uint uVar5; undefined2 unaff_DS; bVar2 = *(byte *)(param_1 + 3); if (((bVar2 & 0x83) != 0) && ((bVar2 & 0x40) == 0)) { if ((bVar2 & 2) == 0) { *(byte *)(param_1 + 3) = bVar2 | 1; if (((bVar2 & 0xc) == 0) && ((*(byte *)(param_1 + 0x50) & 1) == 0)) { FUN_1e78_0940(param_1); } uVar3 = param_1[2]; *param_1 = uVar3; uVar5 = (uint)*(byte *)((int)param_1 + 7); iVar4 = FUN_1000_0310(0x1e78,uVar5,uVar3,param_1[0x51]); if (iVar4 == 0) { *(byte *)(param_1 + 3) = *(byte *)(param_1 + 3) | 0x10; } else { if (iVar4 != -1) { if (((*(byte *)(uVar5 + 0x49f) & 0x82) == 0x82) && ((*(byte *)(param_1 + 3) & 0x82) == 0)) { pbVar1 = (byte *)(param_1 + 0x50); *pbVar1 = *pbVar1 | 0x20; } param_1[1] = iVar4 + -1; bVar2 = *(byte *)*param_1; *param_1 = (byte *)*param_1 + 1; return (uint)bVar2; } *(byte *)(param_1 + 3) = *(byte *)(param_1 + 3) | 0x20; } param_1[1] = 0; } else { *(byte *)(param_1 + 3) = *(byte *)(param_1 + 3) | 0x20; } } return 0xffff; } // Function: FUN_1e78_0830 at 1e78:0830 uint __cdecl16far FUN_1e78_0830(uint param_1,int *param_2) { int *piVar1; byte bVar2; int iVar3; int iVar4; uint uVar5; undefined2 unaff_DS; piVar1 = param_2; bVar2 = *(byte *)(param_2 + 3); if (((bVar2 & 0x82) != 0) && ((bVar2 & 0x40) == 0)) { param_2[1] = 0; if ((bVar2 & 1) != 0) { if ((bVar2 & 0x10) == 0) goto LAB_1e78_08a8; *param_2 = param_2[2]; bVar2 = bVar2 & 0xfe; } *(byte *)(param_2 + 3) = bVar2 & 0xef | 2; uVar5 = (uint)*(byte *)((int)param_2 + 7); if (((bVar2 & 8) == 0) && (((bVar2 & 4) != 0 || (((*(byte *)(param_2 + 0x50) & 1) == 0 && (((((param_2 == (int *)0x4f6 || (param_2 == (int *)0x4fe)) || (param_2 == (int *)0x50e)) && ((*(byte *)(uVar5 + 0x49f) & 0x40) != 0)) || (FUN_1e78_0940(param_2), (*(byte *)(piVar1 + 3) & 8) == 0)))))))) { iVar3 = FUN_1000_03fa(0x1e78,uVar5,¶m_1,1); iVar4 = 1; } else { iVar4 = *piVar1 - piVar1[2]; *piVar1 = piVar1[2] + 1; piVar1[1] = piVar1[0x51] + -1; if (iVar4 == 0) { iVar3 = 0; if ((*(byte *)(uVar5 + 0x49f) & 0x20) != 0) { FUN_1000_00da(uVar5,0,0,2); iVar3 = 0; iVar4 = 0; } } else { iVar3 = FUN_1000_03fa(0x1e78,uVar5,piVar1[2],iVar4,iVar4); } *(undefined1 *)piVar1[2] = (char)param_1; } if (iVar3 == iVar4) { return param_1 & 0xff; } } LAB_1e78_08a8: *(byte *)(piVar1 + 3) = *(byte *)(piVar1 + 3) | 0x20; return 0xffff; } // Function: FUN_1e78_0914 at 1e78:0914 void __cdecl16near FUN_1e78_0914(undefined2 *param_1) { undefined2 unaff_DS; if (((*(byte *)(param_1 + 3) & 0x83) != 0) && ((*(byte *)(param_1 + 3) & 8) != 0)) { thunk_FUN_1e78_1dda(param_1[2]); *(byte *)(param_1 + 3) = *(byte *)(param_1 + 3) & 0xf7; param_1[2] = 0; *param_1 = 0; param_1[1] = 0; } return; } // Function: FUN_1e78_0940 at 1e78:0940 void __cdecl16near FUN_1e78_0940(int *param_1) { int iVar1; undefined2 unaff_DS; iVar1 = thunk_FUN_1e78_1dfb(0x200); if (iVar1 == 0) { *(byte *)(param_1 + 3) = *(byte *)(param_1 + 3) | 4; param_1[0x51] = 1; iVar1 = (int)param_1 + 0xa1; } else { *(byte *)(param_1 + 3) = *(byte *)(param_1 + 3) | 8; param_1[0x51] = 0x200; } *param_1 = iVar1; param_1[2] = iVar1; param_1[1] = 0; return; } // Function: FUN_1e78_0984 at 1e78:0984 undefined2 * __cdecl16far FUN_1e78_0984(undefined2 param_1,byte *param_2,undefined2 param_3,undefined2 *param_4) { byte bVar1; bool bVar2; int iVar3; uint uVar4; undefined2 unaff_DS; undefined1 local_8; undefined1 local_6; bVar1 = *param_2; if (bVar1 == 0x77) { uVar4 = 0x301; } else { if (0x77 < bVar1) { return (undefined2 *)0x0; } if (bVar1 != 0x61) { if (bVar1 != 0x72) { return (undefined2 *)0x0; } uVar4 = 0; local_6 = 1; goto LAB_1e78_09ac; } uVar4 = 0x109; } local_6 = 2; LAB_1e78_09ac: bVar2 = true; do { while( true ) { param_2 = param_2 + 1; if ((*param_2 == 0) || (!bVar2)) { iVar3 = FUN_1e78_19d4(param_1,uVar4,param_3,0x1a4); if (iVar3 < 0) { return (undefined2 *)0x0; } *(int *)0x4ec = *(int *)0x4ec + 1; *(undefined1 *)(param_4 + 3) = local_6; *(undefined1 *)(param_4 + 0x50) = 0; param_4[1] = 0; param_4[0x52] = 0; *param_4 = 0; param_4[2] = 0; local_8 = (undefined1)iVar3; *(undefined1 *)((int)param_4 + 7) = local_8; return param_4; } bVar1 = *param_2; if (bVar1 != 0x74) break; if ((uVar4 & 0xc000) == 0) { uVar4 = uVar4 | 0x4000; } else { LAB_1e78_09d4: bVar2 = false; } } if (0x74 < bVar1) goto LAB_1e78_09d4; if (bVar1 == 0x2b) { if ((uVar4 & 2) != 0) goto LAB_1e78_09d4; uVar4 = uVar4 & 0xfffe | 2; local_6 = 0x80; } else { if ((bVar1 != 0x62) || ((uVar4 & 0xc000) != 0)) goto LAB_1e78_09d4; uVar4 = uVar4 | 0x8000; } } while( true ); } // Function: FUN_1e78_0a6c at 1e78:0a6c undefined2 __cdecl16near FUN_1e78_0a6c(int *param_1) { undefined2 uVar1; int iVar2; int *piVar3; undefined2 unaff_DS; piVar3 = (int *)0x630; if ((((param_1 == (int *)0x4f6) || (piVar3 = (int *)0x632, param_1 == (int *)0x4fe)) || (piVar3 = (int *)0x634, param_1 == (int *)0x50e)) && (((*(byte *)(param_1 + 3) & 0xc) == 0 && ((*(byte *)(param_1 + 0x50) & 1) == 0)))) { iVar2 = *piVar3; if (iVar2 == 0) { iVar2 = thunk_FUN_1e78_1dfb(0x200); if (iVar2 == 0) goto LAB_1e78_0ad9; *piVar3 = iVar2; } param_1[2] = iVar2; *param_1 = iVar2; param_1[1] = 0x200; param_1[0x51] = 0x200; *(byte *)(param_1 + 3) = *(byte *)(param_1 + 3) | 2; *(byte *)(param_1 + 0x50) = 0x11; uVar1 = 1; } else { LAB_1e78_0ad9: uVar1 = 0; } return uVar1; } // Function: FUN_1e78_0adf at 1e78:0adf void __cdecl16near FUN_1e78_0adf(int param_1,undefined2 *param_2) { undefined2 unaff_DS; if (((*(byte *)(param_2 + 0x50) & 0x10) != 0) && ((*(byte *)(*(byte *)((int)param_2 + 7) + 0x49f) & 0x40) != 0)) { FUN_1e78_0b1e(param_2); if (param_1 != 0) { *(byte *)(param_2 + 0x50) = 0; param_2[0x51] = 0; *param_2 = 0; param_2[2] = 0; } } return; } // Function: FUN_1e78_0b1e at 1e78:0b1e undefined2 __cdecl16far FUN_1e78_0b1e(int *param_1) { int iVar1; int iVar2; undefined2 uVar3; undefined2 unaff_DS; uVar3 = 0; if (param_1 == (int *)0x0) { uVar3 = FUN_1e78_0b9a(0); } else { if (((*(byte *)(param_1 + 3) & 3) == 2) && (((*(byte *)(param_1 + 3) & 8) != 0 || ((*(byte *)(param_1 + 0x50) & 1) != 0)))) { iVar1 = *param_1 - param_1[2]; if (0 < iVar1) { iVar2 = FUN_1e78_1c7a(0x1e78,*(undefined1 *)((int)param_1 + 7),param_1[2],iVar1); if (iVar1 != iVar2) { *(byte *)(param_1 + 3) = *(byte *)(param_1 + 3) | 0x20; uVar3 = 0xffff; } } } *param_1 = param_1[2]; param_1[1] = 0; } return uVar3; } // Function: FUN_1e78_0b9a at 1e78:0b9a int FUN_1e78_0b9a(int param_1) { int iVar1; uint uVar2; int iVar3; undefined2 unaff_DS; int local_4; iVar3 = 0; local_4 = 0; for (uVar2 = 0x4ee; uVar2 <= *(uint *)0x62e; uVar2 = uVar2 + 8) { if ((*(byte *)(uVar2 + 6) & 0x83) != 0) { iVar1 = FUN_1e78_0b1e(uVar2); if (iVar1 == -1) { local_4 = -1; } else { iVar3 = iVar3 + 1; } } } if (param_1 == 1) { local_4 = iVar3; } return local_4; } // Function: FUN_1e78_0be6 at 1e78:0be6 /* WARNING: Instruction at (ram,0x00010f19) overlaps instruction at (ram,0x00010f17) */ /* WARNING: Control flow encountered bad instruction data */ /* WARNING (jumptable): Unable to track spacebase fully for stack */ /* WARNING: Unable to track spacebase fully for stack */ char * __cdecl16far FUN_1e78_0be6(byte **param_1,byte *param_2,byte *param_3,byte *param_4,byte *param_5,byte *param_6, byte *param_7,int param_8,int param_9,byte *param_10,int param_11,int param_12, int param_13,int param_14) { uint *puVar1; byte *pbVar2; char *pcVar3; byte bVar4; undefined1 *puVar5; char *pcVar6; char cVar7; char *pcVar8; int iVar9; int iVar10; byte *pbVar11; int iVar12; uint uVar13; uint uVar14; uint in_CX; int in_DX; int extraout_DX; char *pcVar15; byte *unaff_SI; char *pcVar16; byte *pbVar17; byte *pbVar18; byte *pbVar19; undefined2 uVar20; undefined2 uVar21; undefined2 unaff_SS; undefined2 unaff_DS; bool bVar22; bool bVar23; byte *pbVar24; int local_46; byte abStack_44 [2]; uint local_42; uint local_40; int local_3e; undefined2 local_3c; char *local_3a; undefined2 uStack_36; undefined2 uStack_34; int iStack_28; int iStack_26; int iStack_24; byte *pbStack_22; byte *pbStack_20; byte *pbStack_1e; byte *pbStack_1c; byte **ppbStack_1a; byte *local_18; byte *local_16; int iStack_14; byte *local_12; byte *pbStack_10; byte **local_e; byte *pbStack_c; byte **local_a; undefined2 *puVar25; byte **in_stack_0000fff8; FUN_1e78_02b8(); local_18 = (byte *)0x0; local_3a = (char *)0x0; do { if (*param_2 == 0) break; if ((*(byte *)(*param_2 + 0x6c3) & 8) != 0) { local_18 = local_18 + -1; local_a = param_1; pbStack_c = (byte *)0xf3a2; in_stack_0000fff8 = (byte **)FUN_1e78_139c(); local_a = param_1; pbStack_c = (byte *)0xf3a9; FUN_1e78_1382(); do { param_2 = param_2 + 1; in_DX = extraout_DX; } while ((*(byte *)(*param_2 + 0x6c3) & 8) != 0); } if (*param_2 == 0x25) { local_40 = local_40 & 0xff00; local_42 = local_42 & 0xff00; local_e = (byte **)((uint)local_e & 0xff00); local_a = (byte **)((uint)local_a & 0xff00); local_12 = (byte *)((uint)local_12 & 0xff00); bVar22 = false; local_16 = (byte *)0x0; local_46 = 0; local_3c = 0; local_3e = 0; uVar13 = 0; LAB_1e78_0cd4: if (!bVar22) { param_2 = param_2 + 1; bVar4 = *param_2; uVar14 = (uint)bVar4; if ((*(byte *)(uVar14 + 0x6c3) & 4) == 0) { if (uVar14 == 0x6c) { LAB_1e78_0cbd: local_a = (byte **)CONCAT11(local_a._1_1_,(char)local_a + '\x01'); goto LAB_1e78_0cd4; } if (uVar14 < 0x6d) { if (bVar4 == 0x4c) { local_a = (byte **)CONCAT11(local_a._1_1_,(char)local_a + '\x01'); goto LAB_1e78_0cbd; } if ((char)bVar4 < 'M') { if (bVar4 == 0x2a) { local_12 = (byte *)CONCAT11(local_12._1_1_,(char)local_12 + '\x01'); goto LAB_1e78_0cd4; } if (bVar4 == 0x46) { local_42 = CONCAT11(local_42._1_1_,(char)local_42 + '\x01'); goto LAB_1e78_0cd4; } } else if ((bVar4 == 0x4e) || (bVar4 == 0x68)) goto LAB_1e78_0cd4; } bVar22 = true; goto LAB_1e78_0cd4; } local_46 = local_46 + 1; in_CX = uVar13; uVar13 = (uVar13 * 10 + uVar14) - 0x30; goto LAB_1e78_0cd4; } if ((char)local_12 == '\0') { if ((char)local_42 == '\0') { in_stack_0000fff8 = *(byte ***)param_3; param_3 = param_3 + 2; } else { in_stack_0000fff8 = *(byte ***)param_3; in_DX = *(int *)(param_3 + 2); param_3 = param_3 + 4; } } pbVar24 = (byte *)CONCAT22(in_DX,unaff_SI); pbVar19 = (byte *)(uint)(*param_2 | 0x20); pbVar17 = param_2; if (pbVar19 != (byte *)0x6e) { if ((pbVar19 == (byte *)0x63) || (pbVar19 == (byte *)0x7b)) { local_18 = local_18 + 1; local_a = (byte **)0xf4bf; pbVar24 = (byte *)FUN_1e78_1356(); in_stack_0000fff8 = param_1; } else { local_a = param_1; pbStack_c = (byte *)0xf4b4; pbVar24 = (byte *)FUN_1e78_139c(); in_stack_0000fff8 = &local_18; } } unaff_SI = (byte *)pbVar24; if ((local_46 == 0) || (uVar13 != 0)) { pbVar11 = pbVar19 + -99; if (pbVar11 < (byte *)0x19) { bVar22 = (int)pbVar11 < 0; iVar12 = (int)pbVar11 * 2; bVar23 = iVar12 == 0; pbVar18 = (byte *)0x1000; cVar7 = (char)((ulong)pbVar24 >> 0x10); switch(pbVar11) { case (byte *)0x0: /* WARNING: Bad instruction - Truncating control flow here */ halt_baddata(); default: unaff_SI[(int)(pbVar11 + -0x24) * 2] = unaff_SI[(int)(pbVar11 + -0x24) * 2] + cVar7; goto LAB_1000_02be; case (byte *)0x2: *(undefined2 *)0x50d6 = 1; if (unaff_SI == (byte *)0x1) { *(int *)0x5330 = *(int *)0x5330 + -1; *(int *)0x50d8 = *(int *)0x50d8 + -1; } if (unaff_SI == (byte *)0x2) { *(int *)0x5330 = *(int *)0x5330 + 1; *(int *)0x50d8 = *(int *)0x50d8 + 1; } if (unaff_SI == (byte *)0x3) { *(int *)0xa03a = *(int *)0xa03a + -1; *(int *)0x50d8 = *(int *)0x50d8 + -7; } if (unaff_SI == (byte *)0x4) { *(int *)0xa03a = *(int *)0xa03a + 1; *(int *)0x50d8 = *(int *)0x50d8 + 7; } local_a = (byte **)0x1000; pbStack_c = (byte *)0xd6f; FUN_1000_2bde(); iVar12 = *(int *)0x50d8; *(int *)0xd282 = iVar12 + -1; return (char *)(iVar12 + -1); case (byte *)0x3: case (byte *)0x16: goto code_r0x000101ba; case (byte *)0x4: case (byte *)0x17: pbVar24 = &stack0x4604 + (int)pbVar19; bVar4 = (byte)in_CX & 7; *pbVar24 = *pbVar24 << bVar4 | *pbVar24 >> 8 - bVar4; bVar23 = (in_CX & 0x1f) != 0; *(int *)0xd448 = *(int *)0xd448 + (uint)(!bVar23 && bVar22 || bVar23 && (*pbVar24 & 1) != 0); local_a = (byte **)0x5010; FUN_1646_1d22(); *(int *)0x304 = *(int *)0x304 + *(int *)0x565a * -0x14; if (*(int *)0x304 < 1) { local_a = (byte **)0x1646; pbStack_c = (byte *)0x502e; FUN_1307_222c(); *(int *)0x304 = *(int *)0xd43a * 6 + 0x3c; local_a = (byte **)0x1307; pbStack_c = (byte *)0x5047; iVar12 = FUN_190c_23b0(); if (iVar12 == 0) { *(undefined2 *)(*(int *)0xd214 * 0x62 + 0x50da + *(int *)0xd282 * 2) = 0; } else { *(undefined2 *)(*(int *)0xd214 * 0x62 + -0x2bac + *(int *)0xd282 * 2) = 0; } local_a = (byte **)0x190c; uVar20 = 0x1832; pbStack_c = (byte *)0x5088; FUN_1832_030e(); } else { local_a = (byte **)0x1646; uVar20 = 0x1307; pbStack_c = (byte *)0x5097; FUN_1307_222c(); } local_a = (byte **)0x2b47; uVar21 = 0x1e78; pbStack_10 = (byte *)0x50c3; local_e = (byte **)uVar20; pbStack_c = unaff_SI; iVar12 = FUN_1e78_202c(); if ((iVar12 == 0) && (*(int *)0xd27e == 2)) { if (*(int *)0x50c4 < 1) { local_a = (byte **)0x2b4b; pbStack_c = (byte *)*(undefined2 *)0x57ea; local_e = (byte **)*(undefined2 *)0x57e6; pbStack_10 = (byte *)0x24; local_12 = (byte *)0x10; iStack_14 = 0x1e78; local_16 = (byte *)0x516e; FUN_190c_35ea(); pbVar19 = (byte *)0x1; local_a = (byte **)0x190c; uVar21 = 0x1307; pbStack_c = (byte *)0x517d; FUN_1307_222c(); *(undefined2 *)0xd27e = 0; } else { *(int *)0x50c4 = *(int *)0x50c4 + -1; *(undefined2 *)0x5334 = 0; local_a = (byte **)0x17; pbStack_c = (byte *)0x14; local_e = (byte **)0x16; pbStack_10 = (byte *)0x1e78; local_12 = (byte *)0x5100; FUN_190c_0092(); local_a = (byte **)0x190c; pbStack_c = (byte *)0x510c; FUN_1000_0882(); puVar1 = (uint *)0xd446; uVar13 = *puVar1; *puVar1 = *puVar1 + 300; *(int *)0xd448 = *(int *)0xd448 + (uint)(0xfed3 < uVar13); uVar21 = 0x1646; local_a = (byte **)0x511f; FUN_1646_1d22(); if (*(int *)0xd43a == 0) { local_a = (byte **)0x17; pbStack_c = (byte *)0x1; local_e = (byte **)0x5; pbStack_10 = (byte *)0x1646; local_12 = (byte *)0x513b; FUN_190c_0092(); local_a = (byte **)0x5143; FUN_1646_1846(); return (char *)0x2; } pbVar19 = (byte *)0x1; } } if (pbVar19 == (byte *)0x0) { pbStack_c = (byte *)0x5193; local_a = (byte **)uVar21; iVar12 = FUN_190c_23b0(); if (iVar12 == 0) { local_a = (byte **)0x190c; uVar21 = 0x1307; pbStack_c = (byte *)0x51a3; FUN_1307_222c(); } else { local_a = (byte **)0x190c; uVar21 = 0x1307; pbStack_c = (byte *)0x51b1; FUN_1307_222c(); } } if (pbVar19 == (byte *)0x2) { pbStack_c = (byte *)0x51c2; local_a = (byte **)uVar21; FUN_1307_222c(); } return (char *)0x0; case (byte *)0x5: (&stack0x18fc)[(int)unaff_SI] = (&stack0x18fc)[(int)unaff_SI] | (byte)iVar12; local_a = (byte **)0x1000; pbStack_c = (byte *)0x7ca5; pcVar8 = (char *)FUN_190c_37d0(); return pcVar8; case (byte *)0x6: if ((int)pbVar17 < 0) { local_a = (byte **)0x32; FUN_2504_0cfa(); iVar12 = 0x3e; FUN_1e78_073c(); FUN_1e78_224a(); } else { iVar12 = FUN_2504_3151(); if (iVar12 < 1) { iVar12 = FUN_2504_3151(); if (0 < iVar12) { FUN_2504_32e4(); local_a = (byte **)0xca; FUN_2504_44ac(); local_a = (byte **)0xda; FUN_2504_3a8d(); local_a = (byte **)0xe9; FUN_2504_4bb0(); FUN_190c_37d0(); } } else { FUN_2504_32e4(); local_a = (byte **)0x77; FUN_2504_44ac(); local_a = (byte **)0x87; FUN_2504_3a8d(); local_a = (byte **)0x96; FUN_2504_4bb0(); FUN_190c_37d0(); } iVar12 = 0x106; FUN_2504_3151(); } FUN_1534_000c(); while( true ) { pbVar17 = (byte *)0x1000; uVar20 = FUN_1000_29ca(); *(undefined2 *)0x294 = uVar20; if (*(int *)0x294 != 1) break; if (*(int *)0x294 != 0) { local_a = (byte **)0x5; pbStack_c = (byte *)0x1000; local_e = (byte **)0x4b3; FUN_190c_0092(); if (*(int *)0x294 == 1) { FUN_1646_17c8(); } FUN_2504_3464(); local_a = (byte **)0x0; pbStack_c = (byte *)0x2504; local_e = (byte **)0x4e0; FUN_190c_01de(); local_a = (byte **)0x3; pbStack_c = (byte *)0x190c; local_e = (byte **)0x4f7; FUN_190c_01de(); local_a = (byte **)0x507; FUN_2504_0cfa(); return (char *)0x0; } } if ((*(int *)0x292 < 10) && (-1 < *(int *)0x292)) { if (*(int *)(*(int *)0xd214 * 0x62 + 0x54d0 + *(int *)0xd282 * 2) == 0) { iVar12 = 0x1000; pbVar17 = (byte *)0x1dce; local_a = (byte **)0x158; iVar9 = FUN_1dce_0006(); if (*(int *)0x290 < iVar9) { *(undefined2 *)(*(int *)0xd214 * 0x62 + 0x54d0 + *(int *)0xd282 * 2) = 1; *(int *)0x290 = *(int *)0x290 + 1; } } pbVar19 = pbVar17; if (*(int *)0x50d6 == 1) { *(undefined2 *)0x50d6 = 0; iVar12 = 2; local_a = (byte **)0xe; pbVar19 = (byte *)0x190c; local_e = (byte **)0x19e; pbStack_c = pbVar17; FUN_190c_0092(); } if ((*(int *)0x292 != 7) && (*(int *)0x292 != 5)) { FUN_1832_030e(); code_r0x000101ba: local_a = (byte **)0x1c2; FUN_1832_01bc(); local_a = (byte **)0x1c7; FUN_1832_000a(); iVar12 = 0x1832; pbVar19 = (byte *)0x1832; local_a = (byte **)0x1cc; FUN_1832_021a(); } pbVar17 = pbVar19; if (*(int *)0x50d6 == 1) { *(undefined2 *)0x50d6 = 0; iVar12 = 0x1d; local_a = (byte **)0x14; pbStack_c = (byte *)0x2; local_e = (byte **)0xe; pbVar17 = (byte *)0x190c; local_12 = (byte *)0x1ee; pbStack_10 = pbVar19; FUN_190c_0092(); } if ((*(int *)0x5334 == 0) && (iVar12 == 0)) { pbVar17 = (byte *)0x1000; local_a = (byte **)0x203; FUN_1000_26d2(); } if (*(int *)0x5334 == 1) { *(undefined2 *)0x296 = 0; } } if ((9 < *(int *)0x292) || (*(int *)0x292 < 1)) { *(undefined2 *)0x292 = 1; } local_a = (byte **)0x0; pbStack_c = (byte *)0xaea; local_e = (byte **)*(undefined2 *)0x292; pbStack_10 = (byte *)0x1; local_12 = (byte *)0x298; iStack_14 = 2; local_16 = (byte *)0x9; local_18 = (byte *)*(int *)0x565c; ppbStack_1a = (byte **)*(int *)0x57e6; pbStack_1c = (byte *)*(int *)0x565c; pbStack_1e = (byte *)0x2; pbStack_20 = (byte *)0x5; iStack_24 = 0x25b; pbStack_22 = pbVar17; uVar20 = FUN_190c_2558(); *(undefined2 *)0x292 = uVar20; if (*(int *)0x532e == 1) { local_a = (byte **)0x0; pbStack_c = (byte *)0x41; local_e = (byte **)0x190c; pbStack_10 = (byte *)0x277; FUN_190c_39d4(); for (iVar12 = 0; iVar12 < 2000; iVar12 = iVar12 + 1) { } local_a = (byte **)0x28d; FUN_190c_3be8(); } if (*(int *)0x5334 != 1) { local_a = (byte **)0x14; pbStack_c = (byte *)0x1e; local_e = (byte **)0x5; pbStack_10 = (byte *)0x190c; local_12 = (byte *)0x2a9; FUN_190c_0092(); } pbVar18 = (byte *)0x190c; if (*(int *)0x292 == 0) { pbVar18 = (byte *)0x1d61; local_a = (byte **)0x2b8; FUN_1d61_0428(); *(undefined2 *)0x292 = 0; } LAB_1000_02be: local_a = (byte **)0x17; pbStack_c = (byte *)0x14; local_e = (byte **)0x16; local_12 = (byte *)0x2d3; pbStack_10 = pbVar18; FUN_190c_0092(); local_a = (byte **)0x190c; pbStack_c = (byte *)0x2df; FUN_1000_3030(); if (*(int *)0x292 == 0x45) { *(undefined2 *)0x292 = 1; } if (*(int *)0x292 == 0x49) { *(undefined2 *)0x292 = 2; } if (*(int *)0x292 == 0x41) { *(undefined2 *)0x292 = 3; } if (*(int *)0x292 == 0x43) { *(undefined2 *)0x292 = 4; } if (*(int *)0x292 == 0x53) { *(undefined2 *)0x292 = 5; } if (*(int *)0x292 == 0x4f) { *(undefined2 *)0x292 = 6; } if (*(int *)0x292 == 0x47) { *(undefined2 *)0x292 = 7; } if (*(int *)0x292 == 0x52) { *(undefined2 *)0x292 = 8; } if (*(int *)0x292 == 0x4d) { *(undefined2 *)0x292 = 9; } pcVar8 = (char *)FUN_1000_0470(); return pcVar8; case (byte *)0x7: unaff_SI[iVar12 + 0x3abf] = unaff_SI[iVar12 + 0x3abf] | (byte)((uint)iVar12 >> 8); local_a = (byte **)*(undefined2 *)0x57ea; pbStack_c = (byte *)0x3; local_e = (byte **)0x17; pbStack_10 = (byte *)0x1000; local_12 = (byte *)0x8326; pcVar8 = (char *)FUN_190c_01de(); return pcVar8; case (byte *)0x9: unaff_SI[iVar12 + 0xaeb] = (unaff_SI[iVar12 + 0xaeb] - (char)((uint)pbVar17 >> 8)) - bVar22; *(int *)0xa018 = *(int *)0xa018 + *(int *)0x342 * -2; if (*(int *)0x342 < 6) { local_a = (byte **)0x1000; pbStack_c = (byte *)0x8707; iVar12 = FUN_190c_23b0(); if (iVar12 == 0) { local_a = (byte **)*(undefined2 *)0x57ec; pbStack_c = (byte *)0x5; local_e = (byte **)0x12; pbStack_10 = (byte *)0x190c; local_12 = (byte *)0x8723; FUN_190c_01de(); } else { local_a = (byte **)*(undefined2 *)0x565c; pbStack_c = (byte *)0x4; local_e = (byte **)0x12; pbStack_10 = (byte *)0x190c; local_12 = (byte *)0x873d; FUN_190c_01de(); } } else { local_a = (byte **)*(undefined2 *)0x57ec; pbStack_c = (byte *)0x6; local_e = (byte **)0x12; pbStack_10 = (byte *)0x1000; local_12 = (byte *)0x8757; FUN_190c_01de(); } if (unaff_SI == (byte *)0x2) { *(undefined2 *)0x342 = 0; local_a = (byte **)0x14; pbStack_c = (byte *)0x2; local_e = (byte **)0xe; pbStack_10 = (byte *)0x190c; local_12 = (byte *)0x877a; FUN_190c_0092(); } return (char *)*(undefined2 *)0x342; case (byte *)0xa: local_a = (byte **)0x1000; pbStack_c = (byte *)0x900b; FUN_1307_222c(); local_a = (byte **)0x9013; pcVar8 = (char *)FUN_1000_20c4(); return pcVar8; case (byte *)0xb: *(undefined2 *)(iVar12 + (int)pbVar17 * 2) = 0; uVar14 = (int)pbStack_c * 0x37; puVar1 = (uint *)0xd446; uVar13 = *puVar1; *puVar1 = *puVar1 + uVar14; *(int *)0xd448 = *(int *)0xd448 + ((int)uVar14 >> 0xf) + (uint)CARRY2(uVar13,uVar14); local_a = (byte **)0x3ea3; FUN_1646_1d22(); local_a = (byte **)0x2231; local_e = (byte **)0x1646; pbStack_10 = (byte *)0x3ede; pbStack_c = unaff_SI; iVar12 = FUN_1e78_202c(); if (iVar12 == 0) { LAB_1307_0e8d: uVar20 = 0x1e78; if (*(int *)(*(int *)0xd214 * 2 + -0x2bc2) == *(int *)0x50d8) { if (*(int *)0xd26a == 0) { local_a = (byte **)0x1e78; uVar20 = 0x1307; pbStack_c = (byte *)0x3fab; FUN_1307_222c(); } else { if (*(int *)0xd268 < 2) { local_a = (byte **)0x1e78; pbStack_c = (byte *)0x3f67; FUN_1307_222c(); *(undefined2 *)0xd26a = 0; puVar1 = (uint *)0xd446; uVar13 = *puVar1; *puVar1 = *puVar1 + 200; *(int *)0xd448 = *(int *)0xd448 + (uint)(0xff37 < uVar13); local_a = (byte **)0x3f83; FUN_1646_1d22(); *(undefined2 *)(*(int *)0xd214 * 2 + -0x2bc2) = 0xffff; local_a = (byte **)0x1646; pbStack_c = (byte *)0x3f98; iVar12 = FUN_190c_23b0(); *(int *)0xd268 = iVar12 + 1; } else { local_a = (byte **)0x1e78; pbStack_c = (byte *)0x3f29; FUN_1307_222c(); *(undefined2 *)0xd26a = 0; *(undefined2 *)(*(int *)0xd214 * 2 + -0x2bc2) = 0xffff; local_a = (byte **)0x1307; pbStack_c = (byte *)0x3f4a; iVar12 = FUN_190c_23b0(); *(int *)0xd268 = *(int *)0xd268 + iVar12 + 1; puVar1 = (uint *)0xd446; uVar13 = *puVar1; *puVar1 = *puVar1 + 100; *(int *)0xd448 = *(int *)0xd448 + (uint)(0xff9b < uVar13); } uVar20 = 0x190c; pbVar19 = (byte *)0x1; } } } else { local_a = (byte **)0x2235; local_e = (byte **)0x1e78; uVar20 = 0x1e78; pbStack_10 = (byte *)0x3ef3; pbStack_c = unaff_SI; iVar12 = FUN_1e78_202c(); if (iVar12 == 0) goto LAB_1307_0e8d; } local_a = (byte **)0x2299; pbStack_10 = (byte *)0x3fbc; local_e = (byte **)uVar20; pbStack_c = unaff_SI; iVar12 = FUN_1e78_202c(); if (iVar12 == 0) { LAB_1307_0f80: pbVar19 = (byte *)0x1; if (*(int *)(*(int *)0xd214 * 0x62 + -0x2d70 + *(int *)0xd282 * 2) == 1) { if (*(int *)0xd428 < 1) { local_a = (byte **)0x1e78; uVar20 = 0x1307; pbStack_c = (byte *)0x405d; FUN_1307_222c(); } else { local_a = (byte **)0x1e78; pbStack_c = (byte *)0x401e; FUN_1307_222c(); *(undefined2 *)0xd428 = 0; puVar1 = (uint *)0xd446; uVar13 = *puVar1; *puVar1 = *puVar1 + 100; *(int *)0xd448 = *(int *)0xd448 + (uint)(0xff9b < uVar13); uVar20 = 0x1646; local_a = (byte **)0x4036; FUN_1646_1d22(); *(undefined2 *)(*(int *)0xd214 * 0x62 + -0x2d70 + *(int *)0xd282 * 2) = 0; *(int *)0xa02a = *(int *)0xa02a + 1; } } else { local_a = (byte **)0x1e78; uVar20 = 0x1307; pbStack_c = (byte *)0x406b; FUN_1307_222c(); } } else { local_a = (byte **)0x229d; local_e = (byte **)0x1e78; pbStack_10 = (byte *)0x3fd1; pbStack_c = unaff_SI; iVar12 = FUN_1e78_202c(); if (iVar12 == 0) goto LAB_1307_0f80; local_a = (byte **)0x22a1; local_e = (byte **)0x1e78; uVar20 = 0x1e78; pbStack_10 = (byte *)0x3fe6; pbStack_c = unaff_SI; iVar12 = FUN_1e78_202c(); if (iVar12 == 0) goto LAB_1307_0f80; } local_a = (byte **)0x2318; pbStack_10 = (byte *)0x407c; local_e = (byte **)uVar20; pbStack_c = unaff_SI; iVar12 = FUN_1e78_202c(); if (iVar12 == 0) { LAB_1307_102b: pbVar19 = (byte *)0x1; if (*(int *)(*(int *)0xd214 * 0x62 + 0x565e + *(int *)0xd282 * 2) == 1) { if (*(int *)0xa1c6 < 1) { local_a = (byte **)0x1e78; uVar20 = 0x1307; pbStack_c = (byte *)0x4129; FUN_1307_222c(); } else { local_a = (byte **)0x1e78; pbStack_c = (byte *)0x40cc; iVar12 = FUN_190c_23b0(); if (iVar12 == 0) { local_a = (byte **)0x190c; uVar20 = 0x1307; pbStack_c = (byte *)0x40fd; FUN_1307_222c(); } else { local_a = (byte **)0x190c; pbStack_c = (byte *)0x40dc; FUN_1307_222c(); puVar1 = (uint *)0xd446; uVar13 = *puVar1; *puVar1 = *puVar1 + 0x4b; *(int *)0xd448 = *(int *)0xd448 + (uint)(0xffb4 < uVar13); uVar20 = 0x1646; local_a = (byte **)0x40ee; FUN_1646_1d22(); *(int *)0x4f30 = *(int *)0x4f30 + 1; } *(undefined2 *)0xa1c6 = 0; *(undefined2 *)(*(int *)0xd214 * 0x62 + 0x565e + *(int *)0xd282 * 2) = 0; } } else { local_a = (byte **)0x1e78; uVar20 = 0x1307; pbStack_c = (byte *)0x4137; FUN_1307_222c(); } } else { local_a = (byte **)0x231c; local_e = (byte **)0x1e78; uVar20 = 0x1e78; pbStack_10 = (byte *)0x4091; pbStack_c = unaff_SI; iVar12 = FUN_1e78_202c(); if (iVar12 == 0) goto LAB_1307_102b; } local_a = (byte **)0x23ad; uVar21 = 0x1e78; pbStack_10 = (byte *)0x4148; local_e = (byte **)uVar20; pbStack_c = unaff_SI; iVar12 = FUN_1e78_202c(); if ((iVar12 == 0) && (*(int *)(*(int *)0xd214 * 2 + 0x50c8) == *(int *)0x50d8)) { if (*(int *)0x50c2 == 2) { local_a = (byte **)0x1e78; pbStack_c = (byte *)0x4174; FUN_1307_222c(); local_a = (byte **)0x1307; pbStack_c = (byte *)0x4180; iVar12 = FUN_190c_23b0(); *(int *)(*(int *)0xd214 * 2 + 0x50c8) = iVar12 + 1; puVar1 = (uint *)0xd446; uVar13 = *puVar1; *puVar1 = *puVar1 + 10; *(int *)0xd448 = *(int *)0xd448 + (uint)(0xfff5 < uVar13); pbVar19 = (byte *)0x1; uVar21 = 0x1646; local_a = (byte **)0x41a0; FUN_1646_1d22(); } if (*(int *)0x50c2 == 1) { pbStack_c = (byte *)0x41b0; local_a = (byte **)uVar21; FUN_1307_222c(); *(undefined2 *)0x50c2 = 2; puVar1 = (uint *)0xd446; uVar13 = *puVar1; *puVar1 = *puVar1 + 600; *(int *)0xd448 = *(int *)0xd448 + (uint)(0xfda7 < uVar13); *(undefined2 *)(*(int *)0xd214 * 2 + 0x50c8) = 0xffff; *(int *)0x5342 = *(int *)0x5342 + 2; pbVar19 = (byte *)0x1; uVar21 = 0x1646; local_a = (byte **)0x41dd; FUN_1646_1d22(); } } local_a = (byte **)0x23ea; uVar20 = 0x1e78; pbStack_10 = (byte *)0x41eb; local_e = (byte **)uVar21; pbStack_c = unaff_SI; iVar12 = FUN_1e78_202c(); if ((iVar12 == 0) && (*(int *)(*(int *)0xd214 * 2 + -0x2e34) == *(int *)0x50d8)) { if (*(int *)0xd20e == 2) { local_a = (byte **)0x1e78; uVar20 = 0x1307; pbStack_c = (byte *)0x4214; FUN_1307_222c(); pbVar19 = (byte *)0x1; } if (*(int *)0xd20e == 1) { pbStack_c = (byte *)0x422a; local_a = (byte **)uVar20; FUN_1307_222c(); pbVar19 = (byte *)0x1; *(undefined2 *)0xd20e = 2; puVar1 = (uint *)0xd446; uVar13 = *puVar1; *puVar1 = *puVar1 + 400; *(int *)0xd448 = *(int *)0xd448 + (uint)(0xfe6f < uVar13); uVar20 = 0x1646; local_a = (byte **)0x4246; FUN_1646_1d22(); *(undefined2 *)(*(int *)0xd214 * 2 + -0x2e34) = 0xffff; } } local_a = (byte **)0x241c; uVar21 = 0x1e78; pbStack_10 = (byte *)0x4260; local_e = (byte **)uVar20; pbStack_c = unaff_SI; iVar12 = FUN_1e78_202c(); if ((iVar12 == 0) && (*(int *)(*(int *)0xd214 * 2 + -0x29ce) == *(int *)0x50d8)) { if (*(int *)0xd41a == 2) { local_a = (byte **)0x1e78; uVar21 = 0x1307; pbStack_c = (byte *)0x4289; FUN_1307_222c(); pbVar19 = (byte *)0x1; } if (*(int *)0xd41a == 1) { pbStack_c = (byte *)0x429f; local_a = (byte **)uVar21; FUN_1307_222c(); *(undefined2 *)0xd41a = 2; puVar1 = (uint *)0xd446; uVar13 = *puVar1; *puVar1 = *puVar1 + 1000; *(int *)0xd448 = *(int *)0xd448 + (uint)(0xfc17 < uVar13); uVar21 = 0x1646; local_a = (byte **)0x42b8; FUN_1646_1d22(); *(undefined2 *)(*(int *)0xd214 * 2 + -0x29ce) = 0xffff; pbVar19 = (byte *)0x1; } } local_a = (byte **)0x245f; pbStack_10 = (byte *)0x42d5; local_e = (byte **)uVar21; pbStack_c = unaff_SI; iVar12 = FUN_1e78_202c(); if (iVar12 != 0) { local_a = (byte **)0x2463; local_e = (byte **)0x1e78; uVar20 = 0x1e78; pbStack_10 = (byte *)0x42ea; pbStack_c = unaff_SI; iVar12 = FUN_1e78_202c(); if (iVar12 != 0) goto LAB_1307_1308; } uVar20 = 0x1e78; pbVar19 = (byte *)0x1; if (*(int *)(*(int *)0xd214 * 2 + 0x57f2) == *(int *)0x50d8) { if (*(int *)0xa02c == 2) { local_a = (byte **)0x1e78; uVar20 = 0x1307; pbStack_c = (byte *)0x4319; FUN_1307_222c(); } uVar21 = uVar20; if (*(int *)0xa02c == 1) { uVar21 = 0x1307; pbStack_c = (byte *)0x432c; local_a = (byte **)uVar20; FUN_1307_222c(); } *(undefined2 *)0xa02c = 2; pbStack_c = (byte *)0x433e; local_a = (byte **)uVar21; iVar12 = FUN_190c_23b0(); *(int *)0xd418 = iVar12 + 2; puVar1 = (uint *)0xd446; uVar13 = *puVar1; *puVar1 = *puVar1 + 0x4b0; *(int *)0xd448 = *(int *)0xd448 + (uint)(0xfb4f < uVar13); uVar20 = 0x1646; local_a = (byte **)0x4357; FUN_1646_1d22(); *(undefined2 *)(*(int *)0xd214 * 2 + 0x57f2) = 0xffff; *(undefined2 *)0xd44c = *(undefined2 *)0xd43a; } else { local_a = (byte **)0x1e78; uVar20 = 0x1307; pbStack_c = (byte *)0x4375; FUN_1307_222c(); } LAB_1307_1308: local_a = (byte **)0x2503; uVar21 = 0x1e78; pbStack_10 = (byte *)0x4386; local_e = (byte **)uVar20; pbStack_c = unaff_SI; pcVar8 = (char *)FUN_1e78_202c(); if ((pcVar8 == (char *)0x0) && (pcVar8 = (char *)*(int *)0x50d8, (char *)*(int *)(*(int *)0xd214 * 2 + -0x2bd2) == pcVar8)) { if (*(int *)0xd27e == 2) { local_a = (byte **)0x1e78; uVar21 = 0x1307; pbStack_c = (byte *)0x43af; pcVar8 = (char *)FUN_1307_222c(); pbVar19 = (byte *)0x1; } if (*(int *)0xd27e == 1) { pbStack_c = (byte *)0x43c5; local_a = (byte **)uVar21; FUN_1307_222c(); *(undefined2 *)0xd27e = 2; puVar1 = (uint *)0xd446; uVar13 = *puVar1; *puVar1 = *puVar1 + 5000; *(int *)0xd448 = *(int *)0xd448 + (uint)(0xec77 < uVar13); uVar21 = 0x1646; local_a = (byte **)0x43de; pcVar8 = (char *)FUN_1646_1d22(); *(undefined2 *)(*(int *)0xd214 * 2 + -0x2bd2) = 0xffff; *(undefined2 *)0x50c4 = 2; pbVar19 = (byte *)0x1; } } if (pbVar19 == (byte *)0x0) { pbStack_c = (byte *)0x4400; local_a = (byte **)uVar21; pcVar8 = (char *)FUN_1307_222c(); } else if (*(int *)0x532e == 1) { local_a = (byte **)0x2; pbStack_c = (byte *)0x47; pbStack_10 = (byte *)0x4420; local_e = (byte **)uVar21; FUN_190c_39d4(); for (iVar12 = 0; iVar12 < 8000; iVar12 = iVar12 + 1) { } local_a = (byte **)0x2; pbStack_c = (byte *)0x43; local_e = (byte **)0x190c; pbStack_10 = (byte *)0x4447; FUN_190c_39d4(); for (iVar12 = 0; iVar12 < 10000; iVar12 = iVar12 + 1) { } local_a = (byte **)0x4464; pcVar8 = (char *)FUN_190c_3be8(); } return pcVar8; case (byte *)0xc: pbVar19 = unaff_SI + 1; *(byte **)(pbVar19 + iVar12) = pbVar17 + *(int *)(pbVar19 + iVar12); do { uStack_36 = 5; uStack_34 = 1; pbVar17 = abStack_44; local_a = (byte **)&uStack_36; pbStack_c = (byte *)0x33; pbVar11 = (byte *)0x1e78; pbStack_10 = (byte *)0xd22d; local_e = (byte **)pbVar18; FUN_1e78_2272(); if (local_42 == 0) { pbStack_1c = (byte *)0xd; } else { pbStack_1c = (byte *)0x1b; } do { do { while (pbVar17 != (byte *)0x0) { pbVar17 = pbVar11; if (pbStack_1c == (byte *)0x0) { pbVar17 = (byte *)0x1e78; local_a = (byte **)0xd257; pbStack_1c = (byte *)FUN_1e78_224a(); } if (pbStack_1c == (byte *)0x1b) { pbStack_1c = (byte *)0x0; } if (pbStack_1c == (byte *)0xd) { pbStack_1c = (byte *)0xffff; } if (pbStack_1c == (byte *)0x3b) { pbStack_1c = (byte *)0xfffe; } if (0 < (int)pbStack_1c) { if (pbStack_1c == (byte *)0x48) { if ((int)(unaff_SI + 2) < (int)local_18) { local_a = (byte **)param_12; pbStack_c = param_3; local_e = ppbStack_1a; pbStack_10 = local_18; iStack_14 = 0xd2bc; local_12 = pbVar17; FUN_190c_02fc(); local_18 = local_18 + -1; pbStack_1e = pbStack_1e + -(int)param_7; } else { local_a = (byte **)param_12; pbStack_c = param_3; local_e = ppbStack_1a; pbStack_10 = local_18; iStack_14 = 0xd2eb; local_12 = pbVar17; FUN_190c_02fc(); if ((int)param_6 < (int)(pbStack_1e + (int)param_7 * (int)local_e)) { local_18 = pbVar19 + (int)local_e; pbStack_1e = pbStack_1e + (int)((int)local_e + -1) * (int)param_7; } else { local_18 = unaff_SI + 2 + (int)local_e; pbStack_1e = pbStack_1e + (int)local_e * (int)param_7; } } pbVar17 = (byte *)0x190c; } else if (pbStack_1c == (byte *)0x4b) { if (1 < (int)param_7) { if ((int)pbStack_20 < 2) { if ((int)(param_7 + -1 + (int)pbStack_1e) < (int)(param_6 + 1)) { local_a = (byte **)param_12; pbStack_c = param_3; local_e = ppbStack_1a; pbStack_10 = local_18; iStack_14 = 0xd48b; local_12 = pbVar17; FUN_190c_02fc(); ppbStack_1a = (byte **)((int)ppbStack_1a + (int)(param_7 + -1) * (int)(local_12 + 1)); pbStack_1e = pbStack_1e + (int)(param_7 + -1); pbStack_20 = param_7; pbVar17 = (byte *)0x190c; } } else { local_a = (byte **)param_12; pbStack_c = param_3; local_e = ppbStack_1a; pbStack_10 = local_18; iStack_14 = 0xd449; local_12 = pbVar17; FUN_190c_02fc(); ppbStack_1a = (byte **)((int)ppbStack_1a + (-1 - (int)local_12)); pbStack_1e = pbStack_1e + -1; pbStack_20 = pbStack_20 + -1; pbVar17 = (byte *)0x190c; } } } else if (pbStack_1c == (byte *)0x4d) { if (1 < (int)param_7) { if ((int)pbStack_20 < (int)param_7) { if ((int)(pbStack_1e + 1) <= (int)param_6) { local_a = (byte **)param_12; pbStack_c = param_3; local_e = ppbStack_1a; pbStack_10 = local_18; iStack_14 = 0xd3c8; local_12 = pbVar17; FUN_190c_02fc(); ppbStack_1a = (byte **)((byte *)((int)ppbStack_1a + (int)local_12) + 1 ); pbStack_1e = pbStack_1e + 1; pbStack_20 = pbStack_20 + 1; pbVar17 = (byte *)0x190c; } } else { local_a = (byte **)param_12; pbStack_c = param_3; local_e = ppbStack_1a; pbStack_10 = local_18; iStack_14 = 0xd3fb; local_12 = pbVar17; FUN_190c_02fc(); ppbStack_1a = (byte **)((int)ppbStack_1a + -((int)(param_7 + -1) * (int)(local_12 + 1))); pbStack_1e = pbStack_1e + -(int)(param_7 + -1); pbStack_20 = (byte *)0x1; pbVar17 = (byte *)0x190c; } } } else if (pbStack_1c == (byte *)0x50) { if ((int)param_6 < (int)(pbStack_1e + (int)param_7)) { local_a = (byte **)param_12; pbStack_c = param_3; local_e = ppbStack_1a; pbStack_10 = local_18; iStack_14 = 0xd37f; local_12 = pbVar17; FUN_190c_02fc(); local_18 = unaff_SI + 2; pbStack_1e = pbStack_20; } else { local_a = (byte **)param_12; pbStack_c = param_3; local_e = ppbStack_1a; pbStack_10 = local_18; iStack_14 = 0xd351; local_12 = pbVar17; FUN_190c_02fc(); local_18 = local_18 + 1; pbStack_1e = pbStack_1e + (int)param_7; } pbVar17 = (byte *)0x190c; } else { if ((param_9 == 1) && ((((0x40 < (int)pbStack_1c && ((int)pbStack_1c < 0x5b)) || ((0x2f < (int)pbStack_1c && ((int)pbStack_1c < 0x3a)))) || ((0x60 < (int)pbStack_1c && ((int)pbStack_1c < 0x7b)))))) { pbStack_1e = pbStack_1c; } pbStack_1c = (byte *)0xffff; } } if ((int)pbStack_1c < 1) { if (param_13 == 1) { *(undefined2 *)0xd26c = *(undefined2 *)0xd1d4; for (iVar12 = 0; iVar12 < (int)(local_16 + 2); iVar12 = iVar12 + 1) { for (iVar9 = 0; iVar9 < (int)(pbStack_22 + 2); iVar9 = iVar9 + 1) { local_a = (byte **)(pbVar19 + iVar12 + 1); local_e = (byte **)0xd56c; pbStack_c = pbVar17; FUN_2504_0cfa(); puVar5 = (undefined1 *)*(undefined2 *)0xd26c; *(int *)0xd26c = *(int *)0xd26c + 1; *(undefined1 *)0x4f33 = *puVar5; puVar5 = (undefined1 *)*(undefined2 *)0xd26c; *(int *)0xd26c = *(int *)0xd26c + 1; *(undefined1 *)0x4f32 = *puVar5; local_a = (byte **)(int)*(char *)0x4f33; pbStack_c = (byte *)0x1; local_e = (byte **)(int)*(char *)0x4f32; pbStack_10 = (byte *)0x2504; pbVar17 = (byte *)0x190c; local_12 = (byte *)0xd59f; FUN_190c_0136(); } } pbStack_c = (byte *)0xd5b3; local_a = (byte **)pbVar17; thunk_FUN_1e78_1dda(); pbVar17 = (byte *)0x1e78; } if (pbStack_1c == (byte *)0x0) { pbStack_1e = (byte *)0x0; } if (pbStack_1c == (byte *)0xfffe) { pbStack_1e = (byte *)0xfffe; } pbStack_c = (byte *)0xd5d5; local_a = (byte **)pbVar17; FUN_2504_3be6(); local_a = (byte **)0x1; pbStack_c = (byte *)0x2504; local_e = (byte **)0xd5e5; FUN_2504_0cfa(); if (*(char *)0x532d == '\x01') { uStack_36 = 2; local_a = (byte **)&uStack_36; pbStack_c = (byte *)0x33; local_e = (byte **)0x2504; pbStack_10 = (byte *)0xd609; FUN_1e78_2272(); } return (char *)pbStack_1e; } local_a = (byte **)param_12; pbStack_c = param_4; local_e = ppbStack_1a; pbStack_10 = local_18; pbVar11 = (byte *)0x190c; iStack_14 = 0xd12b; local_12 = pbVar17; FUN_190c_02fc(); pbVar17 = (byte *)0x0; } if (param_14 == 1) { pbVar11 = (byte *)0x1000; local_a = (byte **)0xd141; FUN_1000_306c(); } if (*(char *)0x532d != '\0') { uStack_36 = 0xb; local_a = (byte **)&uStack_36; pbStack_c = (byte *)0x33; pbStack_10 = (byte *)0xd162; local_e = (byte **)pbVar11; FUN_1e78_2272(); iStack_26 = iStack_26 + local_40; iStack_28 = iStack_28 + local_3e; if (0x28 < iStack_26) { pbStack_1c = (byte *)0x4d; iStack_26 = 0; } if (0x14 < iStack_28) { pbStack_1c = (byte *)0x50; iStack_28 = 0; } if (iStack_26 < -0x28) { pbStack_1c = (byte *)0x4b; iStack_26 = 0; } pbVar11 = (byte *)0x1e78; if (iStack_28 < -0x14) { pbStack_1c = (byte *)0x48; iStack_28 = 0; } } local_a = (byte **)0xd1ca; iVar12 = FUN_1e78_2224(); pbVar17 = pbVar11; if (iVar12 != 0) { pbVar17 = (byte *)0x1e78; local_a = (byte **)0xd1d8; pbStack_1c = (byte *)FUN_1e78_224a(); } pbVar11 = (byte *)0x1e78; } while (*(char *)0x532d != '\x01'); uStack_36 = 5; uStack_34 = 0; pbVar17 = abStack_44; local_a = (byte **)&uStack_36; pbStack_c = (byte *)0x33; local_e = (byte **)0x1e78; pbVar11 = (byte *)0x1e78; pbStack_10 = (byte *)0xd204; FUN_1e78_2272(); pbVar18 = pbVar11; } while (local_42 == 0); } while( true ); case (byte *)0xd: unaff_SI[(int)(pbVar11 + -0x24) * 2] = unaff_SI[(int)(pbVar11 + -0x24) * 2] + cVar7; pbStack_c = (byte *)0x1000; local_e = (byte **)0x7d0e; local_a = (byte **)pbVar17; FUN_190c_1016(); local_a = (byte **)0xf; pbStack_c = (byte *)0x190c; local_e = (byte **)0x7d2a; FUN_190c_1016(); puVar1 = (uint *)0xd446; uVar13 = *puVar1; *puVar1 = *puVar1 + 2000; *(int *)0xd448 = *(int *)0xd448 + (uint)(0xf82f < uVar13); FUN_1646_18fe(); FUN_2504_3be6(); uVar20 = FUN_1e78_224a(); *(undefined2 *)0xd272 = uVar20; pcVar8 = (char *)FUN_2504_3be6(); return pcVar8; case (byte *)0xe: bVar4 = unaff_SI[iVar12 + -0x75]; unaff_SI[iVar12 + -0x75] = bVar4 << 6 | (byte)(CONCAT11(bVar22,bVar4) >> 3); local_a = (byte **)(pbVar19 + (int)local_16); pbStack_10 = (byte *)0x1000; local_12 = (byte *)0xb824; local_e = (byte **)pbVar19; pbStack_c = unaff_SI; FUN_190c_0038(); local_a = (byte **)pbStack_22; pbStack_c = local_16; local_e = (byte **)param_5; iStack_14 = 0x190c; local_16 = (byte *)0xb83e; local_12 = pbVar19; pbStack_10 = unaff_SI; FUN_190c_03da(); pbVar17 = (byte *)0x1e78; local_a = (byte **)0xb849; iVar12 = FUN_1e78_2010(); if (iVar12 != 0) { iStack_24 = ((int)pbStack_22 - (int)pbStack_c) / 2; local_a = (byte **)0x1e78; pbStack_c = (byte *)0xb872; FUN_2504_0cfa(); local_a = (byte **)param_5; pbStack_c = (byte *)0x2504; local_e = (byte **)0xb884; FUN_190c_0166(); local_a = (byte **)param_5; pbStack_c = unaff_SI + iStack_24 + 1; pbStack_10 = (byte *)0x190c; local_12 = (byte *)0xb89d; local_e = (byte **)pbVar19; FUN_190c_02fc(); local_a = (byte **)0x190c; pbStack_c = (byte *)0xb8b3; FUN_2504_0cfa(); local_a = (byte **)param_5; pbStack_c = (byte *)0x2504; pbVar17 = (byte *)0x190c; local_e = (byte **)0xb8c5; FUN_190c_0166(); } for (iVar12 = 0; iVar12 < 0x17; iVar12 = iVar12 + 1) { for (pbVar11 = (byte *)0x0; (int)pbVar11 < (int)param_7; pbVar11 = pbVar11 + 1) { pbVar11 = (byte *)*(int *)(param_8 + (int)pbStack_1e * 2); local_a = (byte **)param_3; pbStack_c = (byte *)ppbStack_1a; local_e = (byte **)local_18; local_12 = (byte *)0xb900; pbStack_10 = pbVar17; FUN_190c_02fc(); ppbStack_1a = (byte **)((byte *)((int)ppbStack_1a + (int)local_12) + 1); pbStack_1e = pbStack_1e + 1; if (pbStack_1e == param_6) { iVar12 = 0x17; pbVar11 = param_7; } pbVar17 = (byte *)0x190c; } local_18 = local_18 + 1; ppbStack_1a = (byte **)(unaff_SI + 2); } if ((int)param_10 < 1) { pbStack_1e = (byte *)0x1; local_18 = pbVar19 + 1; ppbStack_1a = (byte **)(unaff_SI + 2); pbStack_20 = (byte *)0x1; } else { pbStack_1e = param_10; pbStack_10 = (byte *)((int)(param_10 + -1) / (int)param_7); local_18 = pbVar19 + 1 + (int)pbStack_10; ppbStack_1a = (byte **)(unaff_SI + (int)(local_12 + 1) * (int)(param_10 + (-1 - (int)pbStack_10 * (int)param_7)) + 2); pbStack_20 = param_10 + -((int)pbStack_10 * (int)param_7); } pbVar17 = (byte *)0x2504; local_a = (byte **)0xb9c6; FUN_2504_35a4(); if (*(char *)0x532d != '\0') { uStack_36 = 5; uStack_34 = 0; local_a = (byte **)0x33; pbStack_c = (byte *)0x2504; pbVar17 = (byte *)0x1e78; local_e = (byte **)0xb9ec; FUN_1e78_2272(); } iStack_28 = 0; iStack_26 = 0; do { local_a = (byte **)param_4; pbStack_c = (byte *)ppbStack_1a; local_e = (byte **)local_18; pbVar11 = (byte *)0x190c; local_12 = (byte *)0xba17; pbStack_10 = pbVar17; FUN_190c_02fc(); puVar25 = (undefined2 *)0x0; while (puVar25 == (undefined2 *)0x0) { if (*(char *)0x532d != '\0') { uStack_36 = 0xb; local_a = (byte **)0x33; local_e = (byte **)0xba43; pbStack_c = pbVar11; FUN_1e78_2272(); iStack_26 = iStack_26 + local_40; iStack_28 = iStack_28 + local_3e; if (0x28 < iStack_26) { pbStack_1c = (byte *)0x4d; iStack_26 = 0; } if (0x14 < iStack_28) { pbStack_1c = (byte *)0x50; iStack_28 = 0; } if (iStack_26 < -0x28) { pbStack_1c = (byte *)0x4b; iStack_26 = 0; } if (iStack_28 < -0x14) { pbStack_1c = (byte *)0x48; iStack_28 = 0; } } puVar25 = (undefined2 *)0xbaab; iVar12 = FUN_1e78_2224(); if (iVar12 != 0) { puVar25 = (undefined2 *)0xbab9; pbStack_1c = (byte *)FUN_1e78_224a(); } pbVar11 = (byte *)0x1e78; if (*(char *)0x532d == '\x01') { uStack_36 = 5; uStack_34 = 0; puVar25 = &uStack_36; local_a = (byte **)0x33; pbStack_c = (byte *)0x1e78; pbVar11 = (byte *)0x1e78; local_e = (byte **)0xbae5; FUN_1e78_2272(); if (local_42 != 0) { uStack_36 = 5; uStack_34 = 1; puVar25 = &uStack_36; local_a = (byte **)0x33; pbStack_c = (byte *)0x1e78; pbVar11 = (byte *)0x1e78; local_e = (byte **)0xbb0e; FUN_1e78_2272(); if (local_42 == 0) { pbStack_1c = (byte *)0xd; } else { pbStack_1c = (byte *)0x1b; } } } } pbVar17 = pbVar11; if (pbStack_1c == (byte *)0x0) { pbVar17 = (byte *)0x1e78; pbStack_1c = (byte *)FUN_1e78_224a(); } if (pbStack_1c == (byte *)0x1b) { pbStack_1c = (byte *)0x0; } if (pbStack_1c == (byte *)0xd) { pbStack_1c = (byte *)0xffff; } if (pbStack_1c == (byte *)0x3b) { pbStack_1c = (byte *)0xfffe; } if (0 < (int)pbStack_1c) { if (pbStack_1c == (byte *)0x48) { if ((int)(pbVar19 + 1) < (int)local_18) { local_a = (byte **)param_3; pbStack_c = (byte *)ppbStack_1a; local_e = (byte **)local_18; local_12 = (byte *)0xbb9c; pbStack_10 = pbVar17; FUN_190c_02fc(); local_18 = local_18 + -1; pbStack_1e = pbStack_1e + -(int)param_7; } else { local_a = (byte **)param_3; pbStack_c = (byte *)ppbStack_1a; local_e = (byte **)local_18; local_12 = (byte *)0xbbcb; pbStack_10 = pbVar17; FUN_190c_02fc(); if ((int)param_6 < (int)(pbStack_1e + (int)param_7 * (int)local_e)) { local_18 = pbVar19 + (int)local_e; pbStack_1e = pbStack_1e + (int)((int)local_e + -1) * (int)param_7; } else { local_18 = pbVar19 + 1 + (int)local_e; pbStack_1e = pbStack_1e + (int)local_e * (int)param_7; } } pbVar17 = (byte *)0x190c; } else if (pbStack_1c == (byte *)0x4b) { if (1 < (int)param_7) { if ((int)pbStack_20 < 2) { if ((int)(param_7 + -1 + (int)pbStack_1e) < (int)(param_6 + 1)) { local_a = (byte **)param_3; pbStack_c = (byte *)ppbStack_1a; local_e = (byte **)local_18; local_12 = (byte *)0xbd6b; pbStack_10 = pbVar17; FUN_190c_02fc(); ppbStack_1a = (byte **)((int)ppbStack_1a + (int)(param_7 + -1) * ((int)local_12 + 1)); pbStack_1e = pbStack_1e + (int)(param_7 + -1); pbStack_20 = param_7; pbVar17 = (byte *)0x190c; } } else { local_a = (byte **)param_3; pbStack_c = (byte *)ppbStack_1a; local_e = (byte **)local_18; local_12 = (byte *)0xbd29; pbStack_10 = pbVar17; FUN_190c_02fc(); ppbStack_1a = (byte **)((int)ppbStack_1a + (-1 - (int)local_12)); pbStack_1e = pbStack_1e + -1; pbStack_20 = pbStack_20 + -1; pbVar17 = (byte *)0x190c; } } } else if (pbStack_1c == (byte *)0x4d) { if (1 < (int)param_7) { if ((int)pbStack_20 < (int)param_7) { if ((int)(pbStack_1e + 1) <= (int)param_6) { local_a = (byte **)param_3; pbStack_c = (byte *)ppbStack_1a; local_e = (byte **)local_18; local_12 = (byte *)0xbca8; pbStack_10 = pbVar17; FUN_190c_02fc(); ppbStack_1a = (byte **)((int)ppbStack_1a + (int)local_12 + 1); pbStack_1e = pbStack_1e + 1; pbStack_20 = pbStack_20 + 1; pbVar17 = (byte *)0x190c; } } else { local_a = (byte **)param_3; pbStack_c = (byte *)ppbStack_1a; local_e = (byte **)local_18; local_12 = (byte *)0xbcdb; pbStack_10 = pbVar17; FUN_190c_02fc(); ppbStack_1a = (byte **)((int)ppbStack_1a + -((int)(param_7 + -1) * ((int)local_12 + 1))); pbStack_1e = pbStack_1e + -(int)(param_7 + -1); pbStack_20 = (byte *)0x1; pbVar17 = (byte *)0x190c; } } } else if (pbStack_1c == (byte *)0x50) { if ((int)param_6 < (int)(pbStack_1e + (int)param_7)) { local_a = (byte **)param_3; pbStack_c = (byte *)ppbStack_1a; local_e = (byte **)local_18; local_12 = (byte *)0xbc5f; pbStack_10 = pbVar17; FUN_190c_02fc(); pbStack_1e = pbStack_20; local_18 = pbVar19; } else { local_a = (byte **)param_3; pbStack_c = (byte *)ppbStack_1a; local_e = (byte **)local_18; local_12 = (byte *)0xbc31; pbStack_10 = pbVar17; FUN_190c_02fc(); pbStack_1e = pbStack_1e + (int)param_7; } local_18 = local_18 + 1; pbVar17 = (byte *)0x190c; } else { if ((param_9 == 1) && ((((0x40 < (int)pbStack_1c && ((int)pbStack_1c < 0x5b)) || ((0x2f < (int)pbStack_1c && ((int)pbStack_1c < 0x3a)))) || ((0x60 < (int)pbStack_1c && ((int)pbStack_1c < 0x7b)))))) { pbStack_1e = pbStack_1c; } pbStack_1c = (byte *)0xffff; } } } while (0 < (int)pbStack_1c); if (param_13 == 1) { *(undefined2 *)0xd1ca = *(undefined2 *)0xa014; for (iVar12 = 0; iVar12 < (int)(local_16 + 2); iVar12 = iVar12 + 1) { iVar9 = 0; while (iVar9 < (int)(pbStack_22 + 2)) { pbStack_c = (byte *)0xbe4c; local_a = (byte **)pbVar17; FUN_2504_0cfa(); puVar5 = (undefined1 *)*(undefined2 *)0xd1ca; *(int *)0xd1ca = *(int *)0xd1ca + 1; *(undefined1 *)0xd44f = *puVar5; puVar5 = (undefined1 *)*(undefined2 *)0xd1ca; *(int *)0xd1ca = *(int *)0xd1ca + 1; *(undefined1 *)0xd44e = *puVar5; local_a = (byte **)0x1; pbStack_c = (byte *)(int)*(char *)0xd44e; local_e = (byte **)0x2504; pbVar17 = (byte *)0x190c; pbStack_10 = (byte *)0xbe7f; FUN_190c_0136(); iVar9 = param_12 + 1; } } pbVar17 = (byte *)0x1e78; local_a = (byte **)0xbe93; thunk_FUN_1e78_1dda(); } if (pbStack_1c == (byte *)0x0) { pbStack_1e = (byte *)0x0; } if (pbStack_1c == (byte *)0xfffe) { pbStack_1e = (byte *)0xfffe; } pbStack_c = (byte *)0xbeb9; local_a = (byte **)pbVar17; FUN_2504_0cfa(); if (*(char *)0x532d == '\x01') { uStack_36 = 2; local_a = (byte **)0x33; pbStack_c = (byte *)0x2504; local_e = (byte **)0xbedd; FUN_1e78_2272(); } return (char *)pbStack_1e; case (byte *)0xf: unaff_SI[iVar12 + -1] = unaff_SI[iVar12 + -1] + cVar7; break; case (byte *)0x10: while ((int)in_stack_0000fff8 + 1 < (int)param_4) { FUN_2504_0cfa(); if ((unaff_SI == (byte *)0x1) || (unaff_SI == (byte *)0x3)) { in_stack_0000fff8 = (byte **)0x2504; local_a = (byte **)0x9a52; FUN_190c_010e(); } else { in_stack_0000fff8 = (byte **)0x2504; local_a = (byte **)0x9a66; FUN_190c_010e(); } } FUN_2504_0cfa(); if (unaff_SI == (byte *)0x1) { local_a = (byte **)0x9aa0; FUN_190c_010e(); } else if (unaff_SI == (byte *)0x3) { local_a = (byte **)0x9ab9; FUN_190c_010e(); } else if (unaff_SI == (byte *)0x4) { local_a = (byte **)0x9ad1; FUN_190c_010e(); } else { local_a = (byte **)0x9ae4; FUN_190c_010e(); } FUN_2504_0cfa(); if ((unaff_SI == (byte *)0x1) || (unaff_SI == (byte *)0x4)) { local_a = (byte **)0x9b16; FUN_190c_010e(); } else { local_a = (byte **)0x9b29; FUN_190c_010e(); } FUN_2504_0cfa(); if (unaff_SI == (byte *)0x1) { local_a = (byte **)0x9b59; FUN_190c_010e(); } else if (unaff_SI == (byte *)0x3) { local_a = (byte **)0x9b71; FUN_190c_010e(); } else if (unaff_SI == (byte *)0x4) { local_a = (byte **)0x9b89; FUN_190c_010e(); } else { local_a = (byte **)0x9b9c; FUN_190c_010e(); } iVar12 = 0; while (iVar12 < (int)param_4) { FUN_2504_0cfa(); if ((unaff_SI == (byte *)0x1) || (unaff_SI == (byte *)0x3)) { local_a = (byte **)0x9bdc; FUN_190c_010e(); } else { local_a = (byte **)0x9bf0; FUN_190c_010e(); } iVar12 = 0x2505; } FUN_2504_0cfa(); if (unaff_SI == (byte *)0x1) { local_a = (byte **)0x9c2a; FUN_190c_010e(); } else if (unaff_SI == (byte *)0x3) { local_a = (byte **)0x9c43; FUN_190c_010e(); } else if (unaff_SI == (byte *)0x4) { local_a = (byte **)0x9c5b; FUN_190c_010e(); } else { local_a = (byte **)0x9c6e; FUN_190c_010e(); } FUN_2504_0cfa(); if ((unaff_SI == (byte *)0x1) || (unaff_SI == (byte *)0x4)) { local_a = (byte **)0x9c9c; pbVar17 = (byte *)FUN_190c_010e(); } else { local_a = (byte **)0x9caf; pbVar17 = (byte *)FUN_190c_010e(); } if (0 < (int)param_7) { FUN_2504_0cfa(); if (unaff_SI == (byte *)0x3) { local_a = (byte **)0x9ce6; FUN_190c_010e(); FUN_2504_0cfa(); local_a = (byte **)0x9d0d; FUN_190c_010e(); FUN_2504_0cfa(); local_a = (byte **)0x9d37; pbVar17 = (byte *)FUN_190c_010e(); } else if (unaff_SI == (byte *)0x1) { local_a = (byte **)0x9d54; FUN_190c_010e(); FUN_2504_0cfa(); local_a = (byte **)0x9d7b; FUN_190c_010e(); FUN_2504_0cfa(); local_a = (byte **)0x9da5; pbVar17 = (byte *)FUN_190c_010e(); } else if (unaff_SI == (byte *)0x2) { local_a = (byte **)0x9dc2; FUN_190c_010e(); FUN_2504_0cfa(); local_a = (byte **)0x9de9; FUN_190c_010e(); FUN_2504_0cfa(); local_a = (byte **)0x9e13; pbVar17 = (byte *)FUN_190c_010e(); } else { local_a = (byte **)0x9e28; FUN_190c_010e(); FUN_2504_0cfa(); local_a = (byte **)0x9e4f; FUN_190c_010e(); FUN_2504_0cfa(); local_a = (byte **)0x9e79; pbVar17 = (byte *)FUN_190c_010e(); } } if (0 < param_8) { FUN_2504_0cfa(); if (unaff_SI == (byte *)0x3) { local_a = (byte **)0x9ead; FUN_190c_010e(); } else if (unaff_SI == (byte *)0x2) { local_a = (byte **)0x9ec5; FUN_190c_010e(); } else if (unaff_SI == (byte *)0x1) { local_a = (byte **)0x9edd; FUN_190c_010e(); } else { local_a = (byte **)0x9ef0; FUN_190c_010e(); } iVar12 = 0; while (pbVar17 = param_4, iVar12 < (int)param_4) { FUN_2504_0cfa(); if ((unaff_SI == (byte *)0x1) || (unaff_SI == (byte *)0x3)) { local_a = (byte **)0x9f2d; FUN_190c_010e(); } else { local_a = (byte **)0x9f40; FUN_190c_010e(); } FUN_2504_0cfa(); if (unaff_SI == (byte *)0x3) { local_a = (byte **)0x9f6f; FUN_190c_010e(); } else if (unaff_SI == (byte *)0x1) { local_a = (byte **)0x9f87; FUN_190c_010e(); } else if (unaff_SI == (byte *)0x4) { local_a = (byte **)0x9f9f; FUN_190c_010e(); } else { local_a = (byte **)0x9fb2; FUN_190c_010e(); } iVar12 = 0x2505; } } return (char *)pbVar17; case (byte *)0x11: *(undefined2 *)0x5334 = pbVar17; puVar1 = (uint *)0xd446; uVar13 = *puVar1; *puVar1 = *puVar1 + 2; *(int *)0xd448 = *(int *)0xd448 + (uint)(0xfffd < uVar13); *(int *)0xd20a = *(int *)0xd20a + 2; local_a = (byte **)0x4e; pbStack_c = (byte *)0x14; local_e = (byte **)0x1e; pbStack_10 = (byte *)0x5; local_12 = (byte *)0x1000; iStack_14 = 0x2254; pcVar8 = (char *)FUN_190c_0092(); return pcVar8; case (byte *)0x12: local_a = (byte **)0x1000; pbStack_c = (byte *)0x130f; pcVar8 = (char *)FUN_1000_1c7c(); return pcVar8; case (byte *)0x13: local_e = &pbStack_22; pbStack_10 = (byte *)0x4; local_12 = (byte *)param_9; iStack_14 = param_8; local_16 = param_7; local_18 = param_6; ppbStack_1a = (byte **)0x1000; pbStack_1c = (byte *)0xc4a5; pbStack_c = pbVar19; local_a = (byte **)unaff_SI; FUN_1e78_243e(); local_e = (byte **)param_5; pbStack_10 = (byte *)0x1e78; local_12 = (byte *)0xc4b0; iVar12 = FUN_1e78_2010(); local_e = &pbStack_22; pbStack_10 = (byte *)0x1e78; local_12 = (byte *)0xc4be; iVar9 = FUN_1e78_2010(); local_e = (byte **)param_10; pbStack_10 = (byte *)0x1e78; uVar20 = 0x1e78; local_12 = (byte *)0xc4cc; iVar10 = FUN_1e78_2010(); if ((param_11 < 1) || (2 < param_11)) { param_11 = 1; } if (0x50 < (int)(param_2 + iVar10 + iVar9 + iVar12)) { local_e = (byte **)0x6; pbStack_10 = (byte *)0x1e78; uVar20 = 0x190c; local_12 = (byte *)0xc4fb; FUN_190c_038c(); } local_e = (byte **)0x0; pbStack_10 = (byte *)param_11; local_12 = (byte *)(iVar12 + iVar9 + iVar10 + 2); iStack_14 = 1; local_16 = param_4; local_18 = param_2; ppbStack_1a = param_1; pbStack_1e = (byte *)0xc520; pbStack_1c = (byte *)uVar20; FUN_190c_03da(); local_e = (byte **)param_5; pbStack_10 = param_3; local_12 = param_2 + 2; iStack_14 = (int)param_1 + 1; local_16 = (byte *)0x190c; local_18 = (byte *)0xc537; FUN_190c_01de(); local_e = &pbStack_22; pbStack_10 = param_3; local_12 = param_2 + iVar12 + 2; iStack_14 = (int)param_1 + 1; local_16 = (byte *)0x190c; local_18 = (byte *)0xc553; FUN_190c_01de(); local_e = (byte **)param_10; pbStack_10 = param_3; local_12 = param_2 + iVar9 + iVar12 + 2; iStack_14 = (int)param_1 + 1; local_16 = (byte *)0x190c; local_18 = (byte *)0xc571; pcVar8 = (char *)FUN_190c_01de(); return pcVar8; case (byte *)0x14: goto switchD_1000_fa37_caseD_14; case (byte *)0x15: local_a = (byte **)0x1000; pbStack_c = (byte *)0x9035; pcVar8 = (char *)FUN_1307_222c(); return pcVar8; case (byte *)0x18: pbVar17 = pbVar18; if (bVar23) { local_a = &pbStack_c; pbStack_c = (byte *)0x1000; pbVar17 = (byte *)0x1e78; local_e = (byte **)0xea9; FUN_1e78_1fde(); } pbVar18 = pbVar17; if (*(int *)0xd1c2 == 8) { local_a = &pbStack_c; pbVar18 = (byte *)0x1e78; local_e = (byte **)0xec0; pbStack_c = pbVar17; FUN_1e78_1fde(); } if (((*(int *)0xd1c2 != 1) && (*(int *)0xd1c2 != 3)) && (*(int *)0xd1c2 != 5)) goto LAB_1000_0f9a; } local_a = (byte **)0x9; pbStack_c = (byte *)0x4; local_e = (byte **)0x7; local_12 = (byte *)0xef0; pbStack_10 = pbVar18; FUN_190c_0092(); local_a = (byte **)0xe2e; pbStack_c = (byte *)*(undefined2 *)0x57ec; local_e = (byte **)*(undefined2 *)0x57ec; pbStack_10 = (byte *)0x4; local_12 = (byte *)0x7; iStack_14 = 0x190c; local_16 = (byte *)0xf10; FUN_190c_108c(); local_a = (byte **)0x9; pbStack_c = (byte *)*(undefined2 *)0x565c; local_e = (byte **)0xf; pbStack_10 = (byte *)0x8; local_12 = (byte *)0x190c; iStack_14 = 0xf2c; FUN_190c_169c(); *(undefined2 *)0xd63a = 0; local_a = (byte **)(byte *)0x190c; while( true ) { ppbStack_1a = (byte **)*(undefined2 *)0xd63a; pbVar18 = (byte *)0x1e78; pbStack_c = (byte *)0xf4b; pbVar17 = (byte *)FUN_1e78_2010(); if (pbVar17 <= ppbStack_1a) break; if ((*(byte *)(*(char *)((int)&local_16 + *(int *)0xd63a) + 0x6c3) & 2) == 0) { cVar7 = *(char *)((int)&local_16 + *(int *)0xd63a); } else { cVar7 = *(char *)((int)&local_16 + *(int *)0xd63a) + -0x20; } *(char *)((int)&pbStack_c + *(int *)0xd63a) = cVar7; *(int *)0xd63a = *(int *)0xd63a + 1; local_a = (byte **)pbVar18; } LAB_1000_0f9a: *(undefined2 *)0xd438 = 0; if ((((*(int *)0xd1c2 == 1) || (*(int *)0xd1c2 == 2)) || (*(int *)0xd1c2 == 4)) || ((*(int *)0xd1c2 == 6 || (pbVar17 = pbVar18, *(int *)0xd1c2 == 8)))) { pbVar17 = (byte *)0x1307; pbStack_c = (byte *)0xfcc; local_a = (byte **)pbVar18; FUN_1307_0914(); } pbVar19 = pbVar17; if (*(int *)0xd1c2 == 3) { pbVar19 = (byte *)0x1307; pbStack_c = (byte *)0xfdf; local_a = (byte **)pbVar17; local_18 = (byte *)FUN_1307_13fe(); } pbVar17 = pbVar19; if (*(int *)0xd1c2 == 5) { pbVar17 = (byte *)0x1307; pbStack_c = (byte *)0xff5; local_a = (byte **)pbVar19; FUN_1307_05c6(); } if (*(int *)0xd1c2 == 7) { local_a = (byte **)pbVar17; if (*(int *)0x4f30 < 1) { pbVar17 = (byte *)0x1307; pbStack_c = (byte *)0x1027; FUN_1307_222c(); } else { *(undefined2 *)0xd436 = 0x3c; *(int *)0x4f30 = *(int *)0x4f30 + -1; pbVar17 = (byte *)0x1307; pbStack_c = (byte *)0x1019; FUN_1307_222c(); } } pbVar19 = pbVar17; if (*(int *)0xd438 == 99) { local_a = (byte **)(*(int *)0xd214 * 0xb7e + -0x5e36 + *(int *)0xd282 * 0x3c); pbVar19 = (byte *)0x1e78; local_e = (byte **)0x1055; pbStack_c = pbVar17; FUN_1e78_1fde(); *(undefined2 *)0xd438 = 0; } if (*(int *)0xd438 == 0x62) { local_a = (byte **)(*(int *)0xd214 * 0xb7e + -0x5e36 + *(int *)0xd282 * 0x3c); local_e = (byte **)0x108c; pbStack_c = pbVar19; FUN_1e78_1fde(); *(undefined2 *)(*(int *)0xd214 * 0x62 + 0x57fa + *(int *)0xd282 * 2) = 0; ppbStack_1a = (byte **)0x0; *(undefined2 *)(*(int *)0xd214 * 0x62 + 0x5348 + *(int *)0xd282 * 2) = 0; *(undefined2 *)0xd438 = 0; } if (*(int *)0x5334 == 1) { local_a = (byte **)0x10d5; FUN_1000_20c4(); } return (char *)local_18; } if ((byte *)(uint)*param_2 == unaff_SI) { if ((char)local_12 == '\0') { if ((char)local_42 == '\0') { param_3 = param_3 + -2; } else { param_3 = param_3 + -4; } } goto LAB_1e78_1312; } } LAB_1e78_1283: local_18 = local_18 + -1; local_a = param_1; pbStack_c = (byte *)0xfa0d; FUN_1e78_1382(); break; } local_18 = local_18 + 1; local_a = (byte **)0xfa7f; pbVar24 = (byte *)FUN_1e78_1356(); unaff_SI = (byte *)pbVar24; in_stack_0000fff8 = param_1; if (unaff_SI != (byte *)(uint)*param_2) goto LAB_1e78_1283; LAB_1e78_1312: in_DX = (int)((ulong)pbVar24 >> 0x10); unaff_SI = (byte *)pbVar24; param_2 = param_2 + 1; } while (unaff_SI != (byte *)0xffff); if ((unaff_SI == (byte *)0xffff) && (local_3a == (char *)0x0)) { local_3a = (char *)0xffff; } return local_3a; switchD_1000_fa37_caseD_14: do { iVar12 = (int)((ulong)pbVar24 >> 0x10); pbVar17 = (byte *)pbVar24; if (bVar23) { iVar12 = iVar12 + (in_CX >> 1) + (uint)((in_CX & 1) != 0); if ((in_CX & 1) != 0) goto LAB_1e78_035c; goto LAB_1e78_0395; } iVar12 = iVar12 + in_CX; LAB_1e78_035b: pbVar17 = pbVar17 + -1; LAB_1e78_035c: pbVar24 = pbVar17; pbVar17 = pbVar17 + 1; bVar4 = *pbVar24; if ((bVar4 == 0x20) || (bVar4 == 9)) break; if ((bVar4 == 0xd) || (bVar4 == 0)) goto LAB_1e78_03c5; if (bVar4 == 0x22) { LAB_1e78_0395: do { while( true ) { while( true ) { pbVar24 = pbVar17; pbVar17 = pbVar17 + 1; bVar4 = *pbVar24; if ((bVar4 == 0xd) || (bVar4 == 0)) goto LAB_1e78_03c5; if (bVar4 == 0x22) goto LAB_1e78_035c; if (bVar4 == 0x5c) break; iVar12 = iVar12 + 1; } uVar13 = 0; do { pbVar11 = pbVar17; uVar13 = uVar13 + 1; pbVar17 = pbVar11 + 1; } while (*pbVar11 == 0x5c); if (*pbVar11 == 0x22) break; iVar12 = iVar12 + uVar13; pbVar17 = pbVar11; } iVar12 = iVar12 + (uVar13 >> 1) + (uint)((uVar13 & 1) != 0); } while ((uVar13 & 1) != 0); goto LAB_1e78_035c; } if (bVar4 != 0x5c) { iVar12 = iVar12 + 1; goto LAB_1e78_035c; } in_CX = 0; do { in_CX = in_CX + 1; pbVar2 = pbVar17; pbVar17 = pbVar17 + 1; pbVar24 = (byte *)CONCAT22(iVar12,pbVar17); } while (*pbVar2 == 0x5c); bVar23 = *pbVar2 == 0x22; } while( true ); do { do { pbVar24 = pbVar17; pbVar17 = pbVar17 + 1; bVar4 = *pbVar24; } while (bVar4 == 0x20); } while (bVar4 == 9); if ((bVar4 == 0xd) || (bVar4 == 0)) { LAB_1e78_03c5: *(uint *)0x4b3 = (uint)pbVar19; iVar12 = -((uint)(pbVar19 + (int)(pbVar19 + 1) * 2 + iVar12 + 1) & 0xfffe); *(undefined1 **)0x4b5 = &stack0xfffa + iVar12; pcVar16 = &stack0xfffa + (int)(pbVar19 + 1) * 2 + iVar12; *(undefined2 *)(&stack0xfff8 + iVar12) = unaff_SS; uVar20 = *(undefined2 *)(&stack0xfff8 + iVar12); *(char **)(&stack0xfffa + iVar12) = pcVar16; puVar25 = (undefined2 *)(&stack0xfffc + iVar12); pcVar6 = (char *)*(undefined4 *)0x4b9; pcVar8 = (char *)pcVar6; do { pcVar3 = pcVar8; pcVar8 = pcVar8 + 1; cVar7 = *pcVar3; pcVar3 = pcVar16; pcVar16 = pcVar16 + 1; *pcVar3 = cVar7; } while (cVar7 != '\0'); uVar21 = *(undefined2 *)0x496; pcVar8 = (char *)0x81; LAB_1e78_03ff: do { do { pcVar6 = pcVar8; pcVar8 = pcVar8 + 1; cVar7 = *pcVar6; } while (cVar7 == ' '); } while (cVar7 == '\t'); if ((cVar7 == '\r') || (cVar7 == '\0')) { LAB_1e78_0488: *(undefined2 *)(&stack0xfff8 + iVar12) = unaff_SS; uVar20 = *(undefined2 *)(&stack0xfff8 + iVar12); *puVar25 = 0; /* WARNING: Could not recover jumptable at 0x0001ec0e. Too many branches */ /* WARNING: Treating indirect jump as call */ pcVar8 = (char *)(*(code *)(ulong)*(uint *)0x4d0)(); return pcVar8; } *puVar25 = pcVar16; puVar25 = puVar25 + 1; do { pcVar8 = pcVar8 + -1; LAB_1e78_0416: pcVar6 = pcVar8; pcVar8 = pcVar8 + 1; cVar7 = *pcVar6; if ((cVar7 == ' ') || (cVar7 == '\t')) { pcVar6 = pcVar16; pcVar16 = pcVar16 + 1; *pcVar6 = '\0'; goto LAB_1e78_03ff; } if ((cVar7 == '\r') || (cVar7 == '\0')) { LAB_1e78_0485: *pcVar16 = '\0'; goto LAB_1e78_0488; } pcVar15 = pcVar8; if (cVar7 == '\"') { LAB_1e78_0452: while( true ) { pcVar8 = pcVar15 + 1; cVar7 = *pcVar15; if ((cVar7 == '\r') || (cVar7 == '\0')) goto LAB_1e78_0485; if (cVar7 == '\"') break; if (cVar7 == '\\') { uVar13 = 0; do { pcVar15 = pcVar8; uVar13 = uVar13 + 1; pcVar8 = pcVar15 + 1; } while (*pcVar15 == '\\'); if (*pcVar15 == '\"') { for (uVar14 = uVar13 >> 1; uVar14 != 0; uVar14 = uVar14 - 1) { pcVar6 = pcVar16; pcVar16 = pcVar16 + 1; *pcVar6 = '\\'; } if ((uVar13 & 1) == 0) break; pcVar6 = pcVar16; pcVar16 = pcVar16 + 1; *pcVar6 = '\"'; pcVar15 = pcVar8; } else { for (; uVar13 != 0; uVar13 = uVar13 - 1) { pcVar6 = pcVar16; pcVar16 = pcVar16 + 1; *pcVar6 = '\\'; } } } else { pcVar6 = pcVar16; pcVar16 = pcVar16 + 1; *pcVar6 = cVar7; pcVar15 = pcVar8; } } goto LAB_1e78_0416; } if (cVar7 != '\\') { pcVar6 = pcVar16; pcVar16 = pcVar16 + 1; *pcVar6 = cVar7; goto LAB_1e78_0416; } uVar13 = 0; do { uVar13 = uVar13 + 1; pcVar6 = pcVar8; pcVar8 = pcVar8 + 1; } while (*pcVar6 == '\\'); if (*pcVar6 == '\"') { for (uVar14 = uVar13 >> 1; uVar14 != 0; uVar14 = uVar14 - 1) { pcVar6 = pcVar16; pcVar16 = pcVar16 + 1; *pcVar6 = '\\'; } pcVar15 = pcVar8; if ((uVar13 & 1) == 0) goto LAB_1e78_0452; pcVar6 = pcVar16; pcVar16 = pcVar16 + 1; *pcVar6 = '\"'; goto LAB_1e78_0416; } for (; uVar13 != 0; uVar13 = uVar13 - 1) { pcVar6 = pcVar16; pcVar16 = pcVar16 + 1; *pcVar6 = '\\'; } } while( true ); } pbVar19 = pbVar19 + 1; goto LAB_1e78_035b; } // Function: FUN_1e78_1338 at 1e78:1338 uint FUN_1e78_1338(uint param_1) { undefined2 unaff_DS; if ((*(byte *)(param_1 + 0x6c3) & 4) == 0) { param_1 = (param_1 & 0xffdf) - 7; } return param_1; } // Function: FUN_1e78_1356 at 1e78:1356 uint FUN_1e78_1356(int *param_1) { int *piVar1; byte *pbVar2; uint uVar3; undefined2 unaff_DS; piVar1 = param_1 + 1; *piVar1 = *piVar1 + -1; if (*piVar1 < 0) { uVar3 = FUN_1e78_079a(param_1); } else { pbVar2 = (byte *)*param_1; *param_1 = *param_1 + 1; uVar3 = (uint)*pbVar2; } return uVar3; } // Function: FUN_1e78_1382 at 1e78:1382 void FUN_1e78_1382(undefined2 param_1,int param_2) { if (param_2 != -1) { FUN_1e78_18da(param_2,param_1); } return; } // Function: FUN_1e78_139c at 1e78:139c void FUN_1e78_139c(undefined2 param_1,int *param_2) { int iVar1; undefined2 unaff_DS; do { *param_2 = *param_2 + 1; iVar1 = FUN_1e78_1356(param_1); } while ((*(byte *)(iVar1 + 0x6c3) & 8) != 0); return; } // Function: FUN_1e78_13ce at 1e78:13ce undefined2 __cdecl16far FUN_1e78_13ce(undefined2 param_1,char *param_2) { char cVar1; byte bVar2; undefined2 uVar3; int iVar4; int iVar5; undefined2 unaff_DS; FUN_1e78_02b8(); cVar1 = *param_2; if (cVar1 != '\0') { if ((byte)(cVar1 - 0x20U) < 0x59) { bVar2 = *(byte *)(ulong)((byte)(cVar1 - 0x20U) + 0x63e) & 0xf; } else { bVar2 = 0; } /* WARNING: Could not emulate address calculation at 0x0001fb93 */ /* WARNING: Treating indirect jump as call */ uVar3 = (*(code *)*(undefined2 *) ((char)(*(byte *)(ulong)((byte)(bVar2 * '\b') + 0x63e) >> 4) * 2 + 0x13be)) (cVar1); return uVar3; } if ((int)*(undefined4 *)(param_2 + 1) < 0) { FUN_2504_0cfa(1,1); FUN_1e78_073c(0xa74); FUN_1e78_224a(); } else { iVar5 = FUN_2504_3151(0x12); if (iVar5 < 1) { iVar5 = FUN_2504_3151(0x10); if (0 < iVar5) { FUN_2504_32e4(0xb); FUN_2504_44ac(0xad0); FUN_2504_3a8d(0xaf,0x96); FUN_2504_4bb0(0xae0); FUN_190c_37d0(); } } else { FUN_2504_32e4(0xb); FUN_2504_44ac(0xab6); FUN_2504_3a8d(0xa0,200); FUN_2504_4bb0(0xac6); FUN_190c_37d0(); } FUN_2504_3151(0xffff); } FUN_1534_000c(); iVar5 = 0x1534; do { uVar3 = FUN_1000_29ca(); *(undefined2 *)0x294 = uVar3; if (*(int *)0x294 != 1) { if ((*(int *)0x292 < 10) && (-1 < *(int *)0x292)) { if (*(int *)(*(int *)0xd214 * 0x62 + 0x54d0 + *(int *)0xd282 * 2) == 0) { iVar5 = 0; iVar4 = FUN_1dce_0006(3); if (*(int *)0x290 < iVar4) { *(undefined2 *)(*(int *)0xd214 * 0x62 + 0x54d0 + *(int *)0xd282 * 2) = 1; *(int *)0x290 = *(int *)0x290 + 1; } } if (*(int *)0x50d6 == 1) { *(undefined2 *)0x50d6 = 0; iVar5 = 0x1d; FUN_190c_0092(0xe,2,0x14); } if ((*(int *)0x292 != 7) && (*(int *)0x292 != 5)) { FUN_1832_030e(0); FUN_1832_01bc(); FUN_1832_000a(); iVar5 = 0x1832; FUN_1832_021a(); } if (*(int *)0x50d6 == 1) { *(undefined2 *)0x50d6 = 0; iVar5 = 0x1d; FUN_190c_0092(0xe,2,0x14); } if ((*(int *)0x5334 == 0) && (iVar5 == 0)) { FUN_1000_26d2(); } if (*(int *)0x5334 == 1) { *(undefined2 *)0x296 = 0; } } if ((9 < *(int *)0x292) || (*(int *)0x292 < 1)) { *(undefined2 *)0x292 = 1; } uVar3 = FUN_190c_2558(5,2,*(undefined2 *)0x565c,*(undefined2 *)0x57e6,*(undefined2 *)0x565c,9, 2,0x298,1,*(undefined2 *)0x292,0xaea,0,0); *(undefined2 *)0x292 = uVar3; if (*(int *)0x532e == 1) { FUN_190c_39d4(0x41,0,0); for (iVar5 = 0; iVar5 < 2000; iVar5 = iVar5 + 1) { } FUN_190c_3be8(iVar5); } if (*(int *)0x5334 != 1) { FUN_190c_0092(5,0x1e,0x14,0x4e); } if (*(int *)0x292 == 0) { FUN_1d61_0428(); *(undefined2 *)0x292 = 0; } FUN_190c_0092(0x16,0x14,0x17,0x4d); FUN_1000_3030(0x292); if (*(int *)0x292 == 0x45) { *(undefined2 *)0x292 = 1; } if (*(int *)0x292 == 0x49) { *(undefined2 *)0x292 = 2; } if (*(int *)0x292 == 0x41) { *(undefined2 *)0x292 = 3; } if (*(int *)0x292 == 0x43) { *(undefined2 *)0x292 = 4; } if (*(int *)0x292 == 0x53) { *(undefined2 *)0x292 = 5; } if (*(int *)0x292 == 0x4f) { *(undefined2 *)0x292 = 6; } if (*(int *)0x292 == 0x47) { *(undefined2 *)0x292 = 7; } if (*(int *)0x292 == 0x52) { *(undefined2 *)0x292 = 8; } if (*(int *)0x292 == 0x4d) { *(undefined2 *)0x292 = 9; } uVar3 = FUN_1000_0470(); return uVar3; } iVar5 = 0x1000; } while (*(int *)0x294 == 0); FUN_190c_0092(5,1,0x17,0x4e); if (*(int *)0x294 == 1) { FUN_1646_17c8(); } FUN_2504_3464(0); FUN_190c_01de(0,0,*(undefined2 *)0x565c,0xb80); FUN_190c_01de(3,0,*(undefined2 *)0x57e6,0xb9b); FUN_2504_0cfa(6,1); return 0; } // Function: FUN_1e78_18a6 at 1e78:18a6 undefined2 * __cdecl16far FUN_1e78_18a6(void) { undefined2 *puVar1; undefined2 unaff_DS; puVar1 = (undefined2 *)0x4ee; while( true ) { if ((undefined2 *)*(undefined2 *)0x62e < puVar1) { return (undefined2 *)0x0; } if ((*(byte *)(puVar1 + 3) & 0x83) == 0) break; puVar1 = puVar1 + 4; } puVar1[1] = 0; *(undefined1 *)(puVar1 + 3) = 0; puVar1[2] = 0; *puVar1 = 0; *(undefined1 *)((int)puVar1 + 7) = 0xff; return puVar1; } // Function: FUN_1e78_18da at 1e78:18da uint __cdecl16far FUN_1e78_18da(uint param_1,int *param_2) { undefined2 unaff_DS; if ((param_1 == 0xffff) || (((*(byte *)(param_2 + 3) & 1) == 0 && (((*(byte *)(param_2 + 3) & 0x80) == 0 || ((*(byte *)(param_2 + 3) & 2) != 0)))))) { LAB_1e78_18fc: param_1 = 0xffff; } else { if (param_2[2] == 0) { FUN_2a20_4ec0(param_2); } if (param_2[2] == *param_2) { if (param_2[1] != 0) goto LAB_1e78_18fc; *param_2 = *param_2 + 1; } param_2[1] = param_2[1] + 1; *param_2 = *param_2 + -1; *(undefined1 *)*param_2 = (char)param_1; *(byte *)(param_2 + 3) = *(byte *)(param_2 + 3) & 0xef; *(byte *)(param_2 + 3) = *(byte *)(param_2 + 3) | 1; param_1 = param_1 & 0xff; } return param_1; } // Function: FUN_1e78_1b7f at 1e78:1b7f void __cdecl16near FUN_1e78_1b7f(void) { return; } // Function: FUN_1e78_1d2e at 1e78:1d2e /* WARNING: Control flow encountered bad instruction data */ /* WARNING: Instruction at (ram,0x0002efc7) overlaps instruction at (ram,0x0002efc6) */ /* WARNING: Unable to track spacebase fully for stack */ /* WARNING: Removing unreachable block (ram,0x0002ee0a) */ /* WARNING: Removing unreachable block (ram,0x0002ee0c) */ /* WARNING: Removing unreachable block (ram,0x0002ee5b) */ /* WARNING: Removing unreachable block (ram,0x0002ee5a) */ /* WARNING: Removing unreachable block (ram,0x0002ee60) */ /* WARNING: Removing unreachable block (ram,0x0002ee62) */ /* WARNING: Removing unreachable block (ram,0x0002ee7f) */ /* WARNING: Removing unreachable block (ram,0x0002eda8) */ /* WARNING: Removing unreachable block (ram,0x0002edb9) */ /* WARNING: Removing unreachable block (ram,0x0002eeef) */ /* WARNING: Removing unreachable block (ram,0x0002ee8f) */ /* WARNING: Removing unreachable block (ram,0x0002ee7c) */ /* WARNING: Removing unreachable block (ram,0x0002ee04) */ /* WARNING: Removing unreachable block (ram,0x0002ee71) */ /* WARNING: Removing unreachable block (ram,0x0002ee82) */ /* WARNING: Removing unreachable block (ram,0x0002ef12) */ /* WARNING: Removing unreachable block (ram,0x0002ef1c) */ /* WARNING: Removing unreachable block (ram,0x0002eeeb) */ /* WARNING: Removing unreachable block (ram,0x0002ef5b) */ /* WARNING: Removing unreachable block (ram,0x0002eef5) */ /* WARNING: Removing unreachable block (ram,0x0002eef9) */ /* WARNING: Removing unreachable block (ram,0x0002ef06) */ /* WARNING: Removing unreachable block (ram,0x0002eea5) */ undefined2 __cdecl16near FUN_1e78_1d2e(void) { byte *pbVar1; uint *puVar2; char *pcVar3; undefined4 *puVar4; undefined1 uVar5; int *piVar6; undefined1 *puVar7; long lVar8; code *pcVar9; int iVar10; undefined2 in_AX; uint uVar11; int iVar12; byte bVar13; uint uVar14; undefined2 uVar15; byte bVar17; undefined4 in_ECX; undefined2 uVar18; uint in_DX; int iVar19; undefined2 uVar20; char *pcVar21; int iVar22; undefined1 *puVar23; undefined1 *puVar24; undefined2 *puVar25; undefined2 *puVar26; undefined2 *puVar27; undefined2 *puVar28; int iVar29; uint uVar30; undefined4 in_EBP; undefined2 uVar32; char *pcVar33; undefined2 *puVar34; undefined1 *puVar35; undefined4 *puVar36; undefined2 *puVar37; undefined4 in_ESI; undefined2 uVar39; undefined2 *puVar38; uint unaff_DI; uint *puVar40; uint *puVar41; byte *pbVar42; undefined2 unaff_ES; undefined2 unaff_SS; undefined2 unaff_DS; undefined2 in_FS; undefined2 in_GS; byte bVar43; char cVar44; char in_AF; char cVar45; bool bVar46; bool bVar47; char cVar48; bool bVar49; byte bVar50; bool bVar51; undefined4 uVar52; long lVar16; long lVar31; uVar39 = (undefined2)((ulong)in_ESI >> 0x10); bVar50 = 0; uVar18 = (undefined2)((ulong)in_ECX >> 0x10); bVar43 = unaff_DI < in_DX; uVar14 = unaff_DI - in_DX; cVar48 = (int)uVar14 < 0; cVar45 = uVar14 == 0; cVar44 = (POPCOUNT(uVar14 & 0xff) & 1U) == 0; if (uVar14 == 0) { return in_AX; } pcVar21 = (char *)*(undefined2 *)((int)in_EBP + 6); pcVar9 = (code *)swi(0x21); uVar52 = (*pcVar9)(); uVar11 = (uint)uVar52; iVar22 = (int)in_EBP; if (!(bool)bVar43) { *(int *)(iVar22 + -2) = *(int *)(iVar22 + -2) + uVar11; bVar43 = uVar14 < uVar11; uVar11 = uVar14 - uVar11; cVar48 = (int)uVar11 < 0; cVar45 = uVar11 == 0; cVar44 = (POPCOUNT(uVar11 & 0xff) & 1U) == 0; if ((bool)bVar43 || (bool)cVar45) { return in_AX; } } uVar11 = CONCAT11(cVar48 << 7 | cVar45 << 6 | in_AF << 4 | cVar44 << 2 | 2U | bVar43,(char)uVar52) ; if (*(int *)(iVar22 + -2) == 0) { if ((bVar43 & 1) == 0) { if (((pcVar21[0x49f] & 0x40U) == 0) || (pcVar21 = (char *)*(undefined2 *)(iVar22 + 8), *pcVar21 != '\x1a')) { uVar11 = 0x1c00; } } else { uVar11 = CONCAT11(9,(char)uVar52); } } else { uVar11 = *(int *)(iVar22 + -2) - *(int *)(iVar22 + -4); } piVar6 = (int *)*(undefined2 *)(iVar22 + -8); iVar12 = *piVar6; iVar10 = piVar6[1]; uVar32 = (undefined2)((ulong)in_EBP >> 0x10); *(uint *)(pcVar21 + iVar12) = *(int *)(pcVar21 + iVar12) - uVar11; piVar6[1] = iVar12; pbVar1 = (byte *)(iVar22 + iVar12 + 0x41); *pbVar1 = *pbVar1 & (byte)((ulong)uVar52 >> 0x10); cVar44 = (char)(uVar11 & 0x646c); pcVar21[0x4b] = pcVar21[0x4b] + cVar44; iVar19 = (int)((ulong)uVar52 >> 0x10) + 1; pbVar1 = (byte *)(iVar22 + iVar12 + 0x40); *pbVar1 = *pbVar1 & (byte)iVar19; pcVar21 = pcVar21 + -2; bVar43 = (byte)uVar14; *(char *)(iVar10 + 0x3f) = *(char *)(iVar10 + 0x3f) + bVar43; pcVar33 = (char *)(iVar12 + -1); *piVar6 = (int)pcVar21; *(byte *)(iVar12 + 0x43) = *(byte *)(iVar12 + 0x43) & bVar43 - 1; piVar6[-1] = iVar12 + -2; *(byte *)(iVar10 + -3) = *(byte *)(iVar10 + -3) & (byte)((uVar11 & 0x646c) >> 8); *(char *)(iVar10 + 0x6b) = *(char *)(iVar10 + 0x6b) + (byte)iVar19; iVar29 = *(int *)(iVar22 + 0x6e) * 0x77; out(*(undefined1 *)(iVar12 + -2),iVar19); pcVar3 = (char *)(iVar29 + 0x56); *pcVar3 = *pcVar3 + (bVar43 - 1); *(int *)((int)piVar6 + -5) = iVar19; pcVar21[(int)pcVar33] = pcVar21[(int)pcVar33] + cVar44; pcVar21[(int)pcVar33] = pcVar21[(int)pcVar33] + cVar44; pcVar21[(int)pcVar33] = pcVar21[(int)pcVar33] + cVar44; pcVar21[(int)pcVar33] = pcVar21[(int)pcVar33] + cVar44; pcVar21[(int)pcVar33] = pcVar21[(int)pcVar33] + cVar44; (pcVar21 + (int)pcVar33)[0x3f] = (pcVar21 + (int)pcVar33)[0x3f] + cVar44; (pcVar21 + (int)pcVar33)[0x2043] = (pcVar21 + (int)pcVar33)[0x2043] + cVar44; iVar22 = CONCAT11((char)((uint)pcVar21 >> 8) - *pcVar33,(char)pcVar21 - *pcVar21); *(int *)((int)piVar6 + -7) = iVar22; pcVar33[iVar22] = pcVar33[iVar22] + ((byte)uVar11 & 0x6c); *(int *)((int)piVar6 + -9) = iVar19; bVar17 = (byte)((uint)iVar19 >> 8); pcVar33[iVar22] = pcVar33[iVar22] ^ bVar17; pbVar1 = (byte *)(iVar10 + -2); *pbVar1 = *pbVar1 ^ bVar43; pbVar1 = (byte *)(iVar10 + -2) + iVar29 + 0x72; *pbVar1 = *pbVar1 & bVar17; puVar40 = (uint *)*(undefined2 *)((int)piVar6 + -9); puVar34 = (undefined2 *)*(undefined2 *)((int)piVar6 + -7); uVar30 = *(uint *)((int)piVar6 + -5); lVar31 = CONCAT22(uVar32,uVar30); iVar22 = *(int *)((int)piVar6 + -1); uVar20 = *(undefined2 *)((int)piVar6 + 1); uVar15 = *(undefined2 *)((int)piVar6 + 3); lVar16 = CONCAT22(uVar18,uVar15); uVar11 = *(uint *)((int)piVar6 + 5); puVar25 = (undefined2 *)((int)piVar6 + 7); puVar23 = (undefined1 *)((int)piVar6 + 7); puVar2 = (uint *)((int)puVar40 + uVar30 + 0x20); uVar14 = *puVar2; *puVar2 = *puVar2; puVar37 = puVar34 + 1; out(*puVar34,uVar20); bVar43 = (byte)((uint)uVar20 >> 8); if ((int)((uVar30 & 3) - (uVar14 & 3)) < 1) { puVar41 = (uint *)((int)puVar40 + 1); bVar17 = in(uVar20); *(byte *)puVar40 = bVar17; puVar36 = (undefined4 *)(puVar34 + 2); out(*puVar37,uVar20); lVar8 = (long)*(int *)(uVar30 + 0x74) * 0x6765; iVar12 = (int)lVar8; lVar31 = CONCAT22(uVar32,iVar12); bVar51 = iVar12 != lVar8; bVar46 = false; if (!bVar51) { puVar35 = (undefined1 *)(*(int *)(iVar12 + 0x69) * 0x6564); puVar35[iVar12 + 0x79] = puVar35[iVar12 + 0x79] & (byte)(uVar11 >> 8); puVar35[iVar22] = puVar35[iVar22] & bVar43; uVar11 = uVar11 | 10; *(uint *)(puVar35 + iVar22) = *(uint *)(puVar35 + iVar22) | uVar11; puVar23 = (undefined1 *)((int)piVar6 + 5); *(undefined2 *)((int)piVar6 + 5) = uVar20; puVar35[iVar22] = puVar35[iVar22] ^ bVar43; bVar17 = (byte)((uint)uVar15 >> 8) | (byte)*puVar41; lVar16 = CONCAT22(uVar18,CONCAT11(bVar17,(char)uVar15)); pbVar1 = (byte *)(iVar12 + 0x6f); bVar51 = false; *pbVar1 = *pbVar1 & bVar17; bVar46 = *pbVar1 == 0; puVar24 = (undefined1 *)((int)piVar6 + 7); if (!bVar46) { out(*puVar35,uVar20); puVar36 = (undefined4 *)(puVar35 + 3); out(*(undefined2 *)(puVar35 + 1),uVar20); goto LAB_2a20_4bdd; } LAB_2a20_4bfa: puVar25 = (undefined2 *)(puVar24 + -2); *(byte *)puVar41 = (byte)*puVar41 + (char)lVar16; bVar50 = puVar35[iVar22]; *(int *)(puVar35 + iVar22) = *(int *)(puVar35 + iVar22) + 1; puVar37 = (undefined2 *)(puVar35 + 1); out(*puVar35,uVar20); uVar11 = CONCAT11((char)(uVar11 >> 8),(byte)uVar11 | bVar50) + 0x968c; puVar40 = puVar41 + 1; uVar14 = in(uVar20); *puVar41 = uVar14; goto LAB_2a20_4c07; } LAB_2a20_4bdd: if (bVar46) { *(undefined2 *)(puVar23 + -2) = 0x7320; if (bVar51) { LAB_2a20_4c45: *puVar41 = *puVar41 ^ (uint)lVar16; lVar16 = (ulong)CONCAT21((int)((ulong)lVar16 >> 0x10), (byte)((ulong)lVar16 >> 8) | (byte)*puVar41) << 8; goto code_r0x0002ee49; } puVar2 = (uint *)((int)puVar40 + 0x21); uVar14 = *puVar2; *puVar2 = *puVar2; out(*puVar36,uVar20); puVar37 = (undefined2 *)((int)puVar36 + 5); out(*(undefined1 *)(puVar36 + 1),uVar20); if ((int)(((uint)(puVar23 + -2) & 3) - (uVar14 & 3)) < 1) { out(*(undefined1 *)puVar37,uVar20); puVar2 = puVar41; puVar41 = (uint *)((int)puVar40 + 3); uVar14 = in(uVar20); *puVar2 = uVar14; puVar35 = (undefined1 *)((int)puVar36 + 7); out(*(undefined1 *)(undefined2 *)((int)puVar36 + 6),uVar20); uVar11 = CONCAT11((char)(uVar11 >> 8),(byte)uVar11 | puVar35[iVar22]); puVar24 = puVar23; goto LAB_2a20_4bfa; } } else { uVar11 = uVar11 | 0x2d0a; code_r0x0002ee49: pbVar1 = (byte *)((int)lVar31 + 0x75); *pbVar1 = *pbVar1 & (byte)((ulong)lVar16 >> 8); bVar50 = in(uVar20); *(byte *)puVar41 = bVar50; puVar40 = puVar41 + 1; bVar50 = in(uVar20); *(byte *)((int)puVar41 + 1) = bVar50; pbVar1 = (byte *)((int)puVar36 + iVar22 + 0x6f); *pbVar1 = *pbVar1 & (byte)((uint)uVar20 >> 8); uVar14 = *(int *)((int)lVar31 + 0x74) * 0x7265; uVar32 = (undefined2)((ulong)lVar31 >> 0x10); LAB_2a20_4c56: uVar18 = (undefined2)((ulong)lVar16 >> 0x10); bVar50 = 0; pbVar1 = (byte *)((int)puVar40 + iVar22 + 0x73); bVar43 = (byte)(uVar11 >> 8); *pbVar1 = *pbVar1 & bVar43; *(char *)((int)puVar36 + 0x65) = *(char *)((int)puVar36 + 0x65) + bVar43; code_r0x0002eebd: puVar2 = puVar40; puVar40 = (uint *)((int)puVar40 + (uint)bVar50 * -2 + 1); bVar43 = in(uVar20); *(byte *)puVar2 = bVar43; puVar26 = (undefined2 *)(*(int *)((int)puVar36 + 0xd) * 10); pbVar1 = (byte *)((int)puVar36 + 0x65); bVar43 = *pbVar1; bVar13 = (byte)(uVar11 >> 8); *pbVar1 = *pbVar1 + bVar13; bVar17 = *pbVar1; bVar51 = *pbVar1 == 0; puVar37 = (undefined2 *)((int)puVar36 + (uint)bVar50 * -2 + 1); out(*(undefined1 *)puVar36,uVar20); puVar38 = (undefined2 *)CONCAT22(uVar39,puVar37 + (uint)bVar50 * -2 + 1); out(*puVar37,uVar20); bVar46 = true; if (CARRY1(bVar43,bVar13)) goto LAB_2a20_4d38; puVar37 = (undefined2 *)puVar26[1]; lVar31 = CONCAT22(uVar32,puVar26[2]); iVar22 = puVar26[4]; uVar20 = puVar26[5]; lVar16 = CONCAT22(uVar18,puVar26[6]); uVar11 = puVar26[7]; puVar41 = (uint *)((undefined1 *)*puVar26 + (uint)bVar50 * -2 + 1); uVar5 = in(uVar20); *(undefined1 *)*puVar26 = uVar5; } puVar38 = (undefined2 *)CONCAT22(uVar39,puVar37); bVar43 = (byte)uVar11 | 10; pcVar3 = (char *)(lVar16 + 0x76 + lVar31 * 2); *pcVar3 = *pcVar3 + (char)(uVar11 >> 8); puVar27 = (undefined2 *)(*(int *)((int)puVar37 + 0x65) * 0x6220); bVar17 = (byte)((ulong)lVar16 >> 8); if (*pcVar3 < '\0') { *(byte *)puVar41 = (byte)*puVar41 ^ (byte)lVar16; bVar43 = bVar43 | *(byte *)(iVar22 + (int)puVar37); uVar14 = (uint)lVar31; *(undefined2 *)((int)puVar27 + -2) = 0x6f00; if (bVar43 != 0) { puVar2 = puVar41; puVar41 = (uint *)((int)puVar41 + (uint)bVar50 * -2 + 1); bVar17 = in(uVar20); *(byte *)puVar2 = bVar17; puVar38 = (undefined2 *)CONCAT22(uVar39,puVar37 + (uint)bVar50 * -2 + 1); out(*puVar37,uVar20); bVar43 = bVar43 | 10; puVar28 = (undefined2 *)((int)puVar27 + -4); puVar27 = (undefined2 *)((int)puVar27 + -4); *puVar28 = 0; lVar16 = (long)*(int *)(uVar14 + 0x65) * 0x6178; bVar46 = (int)lVar16 != lVar16; goto code_r0x0002ef02; } bVar46 = true; bVar51 = true; bVar43 = 0; bVar49 = false; joined_r0x0002ef4a: if (!bVar46) goto LAB_2a20_4db1_1; code_r0x0002ef4c: pbVar42 = (byte *)((int)puVar41 + (uint)bVar50 * -2 + 1); bVar17 = in(uVar20); *(byte *)puVar41 = bVar17; bVar46 = false; puVar37 = (undefined2 *)puVar38; puVar34 = puVar37 + (uint)bVar50 * -2 + 1; puVar38 = (undefined2 *)CONCAT22((int)((ulong)puVar38 >> 0x10),puVar34); out(*puVar37,uVar20); bVar47 = false; if (bVar51) { bVar43 = bVar43 | *(byte *)(iVar22 + (int)puVar34); bVar47 = bVar43 == 0; if ((char)bVar43 < '\0') goto LAB_2a20_4dc6_1; bVar17 = in(uVar20); *pbVar42 = bVar17; lVar16 = (long)*(int *)(pbVar42 + uVar14 + (uint)bVar50 * -2 + 0x6a) * 0x6c74; bVar46 = (int)lVar16 != lVar16; bVar49 = false; } if (bVar49) { out(*(undefined1 *)puVar38,uVar20); puVar38 = (undefined2 *)((long)puVar38 + (ulong)bVar50 * -2 + 1); goto joined_r0x0002ef62; } } else { pbVar1 = (byte *)((int)puVar41 + iVar22 + 0x6e); bVar46 = CARRY1(*pbVar1,bVar17); *pbVar1 = *pbVar1 + bVar17; bVar47 = *pbVar1 == 0; if ((char)*pbVar1 < '\0') { joined_r0x0002ef62: puVar37 = (undefined2 *)puVar38; if (!bVar46) { if (!bVar47) { /* WARNING: Bad instruction - Truncating control flow here */ halt_baddata(); } goto LAB_2a20_4dcc; } LAB_2a20_4dc6: *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; LAB_2a20_4dcc: *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; /* WARNING: Bad instruction - Truncating control flow here */ halt_baddata(); } code_r0x0002ef02: puVar37 = (undefined2 *)puVar38; puVar2 = (uint *)((int)puVar37 + 0xd); *puVar2 = *puVar2 + (uint)bVar46 * (((uint)puVar37 & 3) - (*puVar2 & 3)); cVar44 = *(char *)(iVar22 + (int)puVar37); bVar46 = bVar43 == 0; bVar43 = (char)*(undefined2 *)(iVar22 + (int)puVar37) * 'u'; puVar35 = (undefined1 *)((int)puVar37 + (uint)bVar50 * -2 + 1); out(*(undefined1 *)puVar37,uVar20); uVar14 = in(uVar20); *puVar41 = uVar14; if (bVar46 && cVar44 == '\0') goto LAB_2a20_4d0f; LAB_2a20_4d7b: puVar38 = (undefined2 *)ZEXT24(puVar35); puVar35[iVar22] = puVar35[iVar22] + bVar43; puVar35[iVar22] = puVar35[iVar22] + bVar43; } puVar37 = (undefined2 *)puVar38; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; } else { LAB_2a20_4c07: bVar50 = (byte)(uVar11 >> 8); *(byte *)(puVar40 + 0x39) = (byte)puVar40[0x39] & bVar50; iVar12 = (int)lVar31; *(char *)(iVar12 + (int)puVar37) = *(char *)(iVar12 + (int)puVar37) + (char)uVar11; pcVar3 = (char *)((int)puVar37 + iVar12 + 0x36); *pcVar3 = *pcVar3 + (char)uVar20; *(byte *)(iVar22 + (int)puVar37) = *(byte *)(iVar22 + (int)puVar37) ^ bVar43; uVar18 = (undefined2)((ulong)lVar16 >> 0x10); pbVar1 = (byte *)(iVar12 + 0x6c); *pbVar1 = *pbVar1 & bVar50; out(*puVar37,uVar20); bVar50 = 0; puVar40 = (uint *)*puVar25; puVar36 = (undefined4 *)puVar25[1]; uVar32 = (undefined2)((ulong)lVar31 >> 0x10); uVar14 = puVar25[2]; iVar22 = puVar25[4]; uVar20 = puVar25[5]; uVar15 = puVar25[6]; lVar16 = CONCAT22(uVar18,uVar15); iVar12 = puVar25[7]; puVar37 = puVar25 + 8; if (*pbVar1 == 0) { puVar25[7] = iVar22; bVar17 = (byte)((uint)iVar12 >> 8); *(byte *)(puVar40 + 0x39) = (byte)puVar40[0x39] & bVar17; bVar43 = *(byte *)(iVar22 + (int)puVar36); bVar50 = 1; *(char *)(uVar14 + (int)puVar36) = *(char *)(uVar14 + (int)puVar36) + (char)((uint)iVar22 >> 8); *(byte *)((int)puVar40 + 0x41) = *(byte *)((int)puVar40 + 0x41) & (byte)uVar15; puVar25[6] = puVar25 + 7; uVar11 = CONCAT11(bVar17,(byte)iVar12 | bVar43) - 1U | 0x2d0a; puVar37 = puVar25 + 6; } else { puVar4 = puVar36; puVar36 = (undefined4 *)((int)puVar36 + 1); out(*(undefined1 *)puVar4,uVar20); uVar11 = iVar12 + 0x9090; lVar31 = (long)*(int *)(uVar14 + 0x74) * 0x7320; uVar14 = (uint)lVar31; if (uVar11 == 0) { if ((int)uVar14 == lVar31) { uVar11 = 0; pbVar1 = (byte *)(uVar14 + 0x6f); *pbVar1 = *pbVar1 & (byte)((uint)uVar15 >> 8); if (*pbVar1 != 0) { bVar50 = in(uVar20); *(byte *)puVar40 = bVar50; out(*(undefined2 *)puVar36,uVar20); puVar41 = (uint *)puVar25[8]; puVar36 = (undefined4 *)puVar25[9]; lVar31 = CONCAT22(uVar32,puVar25[10]); iVar22 = puVar25[0xc]; uVar20 = puVar25[0xd]; lVar16 = CONCAT22(uVar18,puVar25[0xe]); uVar11 = puVar25[0xf] | 10; *(int *)(iVar22 + (int)puVar36) = *(int *)(iVar22 + (int)puVar36) + uVar11; puVar25[0xf] = uVar20; *(byte *)(iVar22 + (int)puVar36) = *(byte *)(iVar22 + (int)puVar36) ^ (byte)((uint)uVar20 >> 8); goto LAB_2a20_4c45; } goto LAB_2a20_4c56; } uVar11 = iVar12 + 0x2a70; bVar43 = in(uVar20); *(byte *)puVar40 = bVar43; puVar37 = puVar25 + 8; } } pbVar1 = (byte *)(uVar14 + 0x6c); *pbVar1 = *pbVar1 & (byte)(uVar11 >> 8); out(*(undefined2 *)puVar36,uVar20); puVar40 = (uint *)*puVar37; iVar22 = puVar37[4]; uVar20 = puVar37[5]; uVar15 = puVar37[6]; puVar27 = puVar37 + 8; if (*pbVar1 == 0) { LAB_2a20_4d0f: puVar35 = (undefined1 *)*(undefined2 *)((int)puVar27 + 2); iVar22 = *(int *)((int)puVar27 + 8); bVar43 = (byte)*(undefined2 *)((int)puVar27 + 0xe); puVar35[iVar22] = puVar35[iVar22] + bVar43; puVar35[iVar22] = puVar35[iVar22] + bVar43; goto LAB_2a20_4d7b; } puVar34 = (undefined2 *)((undefined1 *)puVar37[1] + (uint)bVar50 * -2 + 1); puVar38 = (undefined2 *)CONCAT22(uVar39,puVar34); out(*(undefined1 *)puVar37[1],uVar20); uVar11 = puVar37[7] + 0x9090; uVar14 = (uint)((long)*(int *)(puVar37[2] + 0x74) * 0x6520); bVar43 = (byte)((uint)uVar20 >> 8); if ((long)(int)uVar14 == (long)*(int *)(puVar37[2] + 0x74) * 0x6520) { puVar36 = (undefined4 *)(puVar34 + (uint)bVar50 * -2 + 1); out(*puVar34,uVar20); *(byte *)(iVar22 + (int)puVar36) = *(byte *)(iVar22 + (int)puVar36) & (byte)uVar11; pbVar1 = (byte *)((int)puVar40 + iVar22 + 0x6e); bVar17 = *pbVar1; bVar13 = (byte)((uint)uVar15 >> 8); *pbVar1 = *pbVar1 + bVar13; if (!CARRY1(bVar17,bVar13) && *pbVar1 != 0) goto code_r0x0002eebd; pbVar1 = (byte *)((int)puVar36 + uVar14 + 0x6f); *pbVar1 = *pbVar1 & bVar43; bVar17 = *pbVar1; bVar51 = *pbVar1 == 0; puVar34 = (undefined2 *)((int)puVar36 + (uint)bVar50 * -4 + 2); puVar38 = (undefined2 *)CONCAT22(uVar39,puVar34); out(*(undefined2 *)puVar36,uVar20); if (!bVar51) goto LAB_2a20_4d24; puVar7 = (undefined1 *)((long)*(int *)(iVar22 + (int)puVar34) * 0x6f); puVar26 = (undefined2 *)puVar7; bVar49 = (undefined1 *)(long)(int)puVar26 != puVar7; } else { LAB_2a20_4d24: uVar11 = in(uVar20); *puVar40 = uVar11; puVar2 = puVar40 + (uint)bVar50 * -2 + 1; *(byte *)puVar2 = (byte)*puVar2 + (char)uVar15; out(*(undefined1 *)(undefined2 *)puVar38,uVar20); pbVar1 = (byte *)((int)(puVar40 + (uint)bVar50 * -2 + 1) + uVar14 + 0x74); bVar49 = CARRY1(*pbVar1,bVar43); *pbVar1 = *pbVar1 + bVar43; bVar17 = *pbVar1; puVar40 = (uint *)puVar37[8]; puVar34 = (undefined2 *)puVar37[9]; uVar14 = puVar37[10]; iVar22 = puVar37[0xc]; uVar20 = puVar37[0xd]; uVar11 = puVar37[0xf]; puVar26 = puVar37 + 0x10; puVar2 = (uint *)((int)puVar40 + uVar14 + 0x20); iVar12 = (uVar14 & 3) - (*puVar2 & 3); bVar51 = 0 < iVar12; *puVar2 = *puVar2 + (uint)bVar49 * iVar12; puVar38 = (undefined2 *) CONCAT22((int)((ulong)puVar38 >> 0x10),puVar34 + (uint)bVar50 * -2 + 1); out(*puVar34,uVar20); } bVar43 = (byte)uVar11; if (!bVar49 && !bVar51) { bVar46 = false; if (bVar49) { puVar37 = (undefined2 *)puVar38; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; LAB_2a20_4db1_1: pcVar3 = (char *)(iVar22 + (int)(undefined2 *)puVar38); *pcVar3 = *pcVar3 + bVar43; pcVar3 = (char *)(iVar22 + (int)(undefined2 *)puVar38); *pcVar3 = *pcVar3 + bVar43; } else { LAB_2a20_4d38: bVar43 = (byte)uVar11; bVar49 = (char)bVar17 < '\0'; puVar41 = (uint *)((int)puVar40 + (uint)bVar50 * -2 + 1); bVar17 = in(uVar20); *(byte *)puVar40 = bVar17; puVar37 = (undefined2 *)puVar38; uVar18 = (undefined2)((ulong)puVar38 >> 0x10); puVar34 = puVar37 + (uint)bVar50 * -2 + 1; puVar38 = (undefined2 *)CONCAT22(uVar18,puVar34); out(*puVar37,uVar20); if (!bVar46 && !bVar51) { bVar46 = !bVar46; goto joined_r0x0002ef4a; } out(*puVar34,uVar20); pbVar1 = (byte *)((int)puVar41 + uVar14 + 0x74); bVar17 = *pbVar1; bVar13 = (byte)((uint)uVar20 >> 8); *pbVar1 = *pbVar1 + bVar13; bVar49 = (char)*pbVar1 < '\0'; puVar41 = (uint *)*puVar26; puVar38 = (undefined2 *)CONCAT22(uVar18,(undefined2 *)puVar26[1]); uVar14 = puVar26[2]; iVar22 = puVar26[4]; uVar20 = puVar26[5]; bVar43 = (byte)puVar26[7]; puVar2 = (uint *)((int)puVar41 + uVar14 + 0x20); iVar12 = (uVar14 & 3) - (*puVar2 & 3); *puVar2 = *puVar2 + (uint)CARRY1(bVar17,bVar13) * iVar12; if (0 < iVar12) { bVar51 = true; if (!CARRY1(bVar17,bVar13)) goto code_r0x0002ef4c; goto LAB_2a20_4db1_1; } } puVar37 = (undefined2 *)puVar38; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; goto LAB_2a20_4dc6; } } puVar37 = (undefined2 *)puVar38; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; LAB_2a20_4dc6_1: puVar37 = (undefined2 *)puVar38; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; *(char *)(iVar22 + (int)puVar37) = *(char *)(iVar22 + (int)puVar37) + bVar43; /* WARNING: Bad instruction - Truncating control flow here */ halt_baddata(); } // Function: FUN_1e78_1d78 at 1e78:1d78 /* WARNING: Control flow encountered bad instruction data */ /* WARNING: Instruction at (ram,0x0002efc7) overlaps instruction at (ram,0x0002efc6) */ /* WARNING: Stack frame is not setup normally: Input value of stackpointer is not used */ /* WARNING: Removing unreachable block (ram,0x0002ee0a) */ /* WARNING: Removing unreachable block (ram,0x0002ee0c) */ /* WARNING: Removing unreachable block (ram,0x0002ee5b) */ /* WARNING: Removing unreachable block (ram,0x0002ee5a) */ /* WARNING: Removing unreachable block (ram,0x0002ee60) */ /* WARNING: Removing unreachable block (ram,0x0002ee62) */ /* WARNING: Removing unreachable block (ram,0x0002ee7f) */ /* WARNING: Removing unreachable block (ram,0x0002eda8) */ /* WARNING: Removing unreachable block (ram,0x0002edb9) */ /* WARNING: Removing unreachable block (ram,0x0002eeef) */ /* WARNING: Removing unreachable block (ram,0x0002ee8f) */ /* WARNING: Removing unreachable block (ram,0x0002ee7c) */ /* WARNING: Removing unreachable block (ram,0x0002ee04) */ /* WARNING: Removing unreachable block (ram,0x0002ee71) */ /* WARNING: Removing unreachable block (ram,0x0002ee82) */ /* WARNING: Removing unreachable block (ram,0x0002ef12) */ /* WARNING: Removing unreachable block (ram,0x0002ef1c) */ /* WARNING: Removing unreachable block (ram,0x0002eeeb) */ /* WARNING: Removing unreachable block (ram,0x0002ef5b) */ /* WARNING: Removing unreachable block (ram,0x0002eef5) */ /* WARNING: Removing unreachable block (ram,0x0002eef9) */ /* WARNING: Removing unreachable block (ram,0x0002ef06) */ /* WARNING: Removing unreachable block (ram,0x0002eea5) */ void FUN_1e78_1d78(void) { byte *pbVar1; uint *puVar2; char *pcVar3; undefined4 *puVar4; undefined1 uVar5; int *piVar6; undefined1 *puVar7; long lVar8; char cVar9; byte bVar10; uint uVar11; uint uVar12; int iVar13; byte bVar14; undefined2 uVar15; undefined4 in_ECX; byte bVar17; long lVar16; int in_DX; int iVar18; undefined2 uVar19; int in_BX; char *pcVar20; int iVar21; undefined1 *puVar22; undefined1 *puVar23; undefined2 *puVar24; undefined2 *puVar25; undefined2 *puVar26; undefined2 *puVar27; int iVar28; uint uVar29; undefined4 in_EBP; undefined2 uVar31; char *pcVar32; undefined2 *puVar33; undefined1 *puVar34; undefined4 *puVar35; undefined2 *puVar36; undefined4 in_ESI; undefined2 uVar38; undefined2 *puVar37; undefined2 uVar39; uint *puVar40; uint *puVar41; byte *pbVar42; undefined2 unaff_ES; undefined2 unaff_SS; undefined2 unaff_DS; undefined2 in_FS; undefined2 in_GS; bool bVar43; bool bVar44; bool bVar45; byte bVar46; bool bVar47; long lVar30; bVar46 = 0; iVar28 = (int)in_EBP; uVar11 = *(int *)(iVar28 + -2) - *(int *)(iVar28 + -4); piVar6 = (int *)*(undefined2 *)(iVar28 + -8); iVar21 = *piVar6; uVar38 = (undefined2)((ulong)in_ESI >> 0x10); iVar13 = piVar6[1]; uVar31 = (undefined2)((ulong)in_EBP >> 0x10); *(int *)(in_BX + iVar21) = *(int *)(in_BX + iVar21) - uVar11; piVar6[1] = iVar21; pbVar1 = (byte *)(iVar28 + iVar21 + 0x41); *pbVar1 = *pbVar1 & (byte)in_DX; cVar9 = (char)(uVar11 & 0x646c); *(char *)(in_BX + 0x4b) = *(char *)(in_BX + 0x4b) + cVar9; iVar18 = in_DX + 1; pbVar1 = (byte *)(iVar28 + iVar21 + 0x40); *pbVar1 = *pbVar1 & (byte)iVar18; pcVar20 = (char *)(in_BX + -2); bVar10 = (byte)in_ECX; *(char *)(iVar13 + 0x3f) = *(char *)(iVar13 + 0x3f) + bVar10; pcVar32 = (char *)(iVar21 + -1); *piVar6 = (int)pcVar20; *(byte *)(iVar21 + 0x43) = *(byte *)(iVar21 + 0x43) & bVar10 - 1; piVar6[-1] = iVar21 + -2; *(byte *)(iVar13 + -3) = *(byte *)(iVar13 + -3) & (byte)((uVar11 & 0x646c) >> 8); *(char *)(iVar13 + 0x6b) = *(char *)(iVar13 + 0x6b) + (byte)iVar18; iVar28 = *(int *)(iVar28 + 0x6e) * 0x77; out(*(undefined1 *)(iVar21 + -2),iVar18); pcVar3 = (char *)(iVar28 + 0x56); *pcVar3 = *pcVar3 + (bVar10 - 1); *(int *)((int)piVar6 + -5) = iVar18; pcVar20[(int)pcVar32] = pcVar20[(int)pcVar32] + cVar9; pcVar20[(int)pcVar32] = pcVar20[(int)pcVar32] + cVar9; pcVar20[(int)pcVar32] = pcVar20[(int)pcVar32] + cVar9; pcVar20[(int)pcVar32] = pcVar20[(int)pcVar32] + cVar9; pcVar20[(int)pcVar32] = pcVar20[(int)pcVar32] + cVar9; (pcVar20 + (int)pcVar32)[0x3f] = (pcVar20 + (int)pcVar32)[0x3f] + cVar9; (pcVar20 + (int)pcVar32)[0x2043] = (pcVar20 + (int)pcVar32)[0x2043] + cVar9; iVar21 = CONCAT11((char)((uint)pcVar20 >> 8) - *pcVar32,(char)pcVar20 - *pcVar20); *(int *)((int)piVar6 + -7) = iVar21; pcVar32[iVar21] = pcVar32[iVar21] + ((byte)uVar11 & 0x6c); *(int *)((int)piVar6 + -9) = iVar18; bVar17 = (byte)((uint)iVar18 >> 8); pcVar32[iVar21] = pcVar32[iVar21] ^ bVar17; pbVar1 = (byte *)(iVar13 + -2); *pbVar1 = *pbVar1 ^ bVar10; uVar39 = (undefined2)((ulong)in_ECX >> 0x10); pbVar1 = (byte *)(iVar13 + -2) + iVar28 + 0x72; *pbVar1 = *pbVar1 & bVar17; puVar40 = (uint *)*(undefined2 *)((int)piVar6 + -9); puVar33 = (undefined2 *)*(undefined2 *)((int)piVar6 + -7); uVar29 = *(uint *)((int)piVar6 + -5); lVar30 = CONCAT22(uVar31,uVar29); iVar21 = *(int *)((int)piVar6 + -1); uVar19 = *(undefined2 *)((int)piVar6 + 1); uVar15 = *(undefined2 *)((int)piVar6 + 3); lVar16 = CONCAT22(uVar39,uVar15); uVar12 = *(uint *)((int)piVar6 + 5); puVar24 = (undefined2 *)((int)piVar6 + 7); puVar22 = (undefined1 *)((int)piVar6 + 7); puVar2 = (uint *)((int)puVar40 + uVar29 + 0x20); uVar11 = *puVar2; *puVar2 = *puVar2; puVar36 = puVar33 + 1; out(*puVar33,uVar19); bVar10 = (byte)((uint)uVar19 >> 8); if ((int)((uVar29 & 3) - (uVar11 & 3)) < 1) { puVar41 = (uint *)((int)puVar40 + 1); bVar17 = in(uVar19); *(byte *)puVar40 = bVar17; puVar35 = (undefined4 *)(puVar33 + 2); out(*puVar36,uVar19); lVar8 = (long)*(int *)(uVar29 + 0x74) * 0x6765; iVar13 = (int)lVar8; lVar30 = CONCAT22(uVar31,iVar13); bVar47 = iVar13 != lVar8; bVar43 = false; if (!bVar47) { puVar34 = (undefined1 *)(*(int *)(iVar13 + 0x69) * 0x6564); puVar34[iVar13 + 0x79] = puVar34[iVar13 + 0x79] & (byte)(uVar12 >> 8); puVar34[iVar21] = puVar34[iVar21] & bVar10; uVar12 = uVar12 | 10; *(uint *)(puVar34 + iVar21) = *(uint *)(puVar34 + iVar21) | uVar12; puVar22 = (undefined1 *)((int)piVar6 + 5); *(undefined2 *)((int)piVar6 + 5) = uVar19; puVar34[iVar21] = puVar34[iVar21] ^ bVar10; bVar17 = (byte)((uint)uVar15 >> 8) | (byte)*puVar41; lVar16 = CONCAT22(uVar39,CONCAT11(bVar17,(char)uVar15)); pbVar1 = (byte *)(iVar13 + 0x6f); bVar47 = false; *pbVar1 = *pbVar1 & bVar17; bVar43 = *pbVar1 == 0; puVar23 = (undefined1 *)((int)piVar6 + 7); if (!bVar43) { out(*puVar34,uVar19); puVar35 = (undefined4 *)(puVar34 + 3); out(*(undefined2 *)(puVar34 + 1),uVar19); goto LAB_2a20_4bdd; } LAB_2a20_4bfa: puVar24 = (undefined2 *)(puVar23 + -2); *(byte *)puVar41 = (byte)*puVar41 + (char)lVar16; bVar46 = puVar34[iVar21]; *(int *)(puVar34 + iVar21) = *(int *)(puVar34 + iVar21) + 1; puVar36 = (undefined2 *)(puVar34 + 1); out(*puVar34,uVar19); uVar12 = CONCAT11((char)(uVar12 >> 8),(byte)uVar12 | bVar46) + 0x968c; puVar40 = puVar41 + 1; uVar11 = in(uVar19); *puVar41 = uVar11; goto LAB_2a20_4c07; } LAB_2a20_4bdd: if (bVar43) { *(undefined2 *)(puVar22 + -2) = 0x7320; if (bVar47) { LAB_2a20_4c45: *puVar41 = *puVar41 ^ (uint)lVar16; lVar16 = (ulong)CONCAT21((int)((ulong)lVar16 >> 0x10), (byte)((ulong)lVar16 >> 8) | (byte)*puVar41) << 8; goto code_r0x0002ee49; } puVar2 = (uint *)((int)puVar40 + 0x21); uVar11 = *puVar2; *puVar2 = *puVar2; out(*puVar35,uVar19); puVar36 = (undefined2 *)((int)puVar35 + 5); out(*(undefined1 *)(puVar35 + 1),uVar19); if ((int)(((uint)(puVar22 + -2) & 3) - (uVar11 & 3)) < 1) { out(*(undefined1 *)puVar36,uVar19); puVar2 = puVar41; puVar41 = (uint *)((int)puVar40 + 3); uVar11 = in(uVar19); *puVar2 = uVar11; puVar34 = (undefined1 *)((int)puVar35 + 7); out(*(undefined1 *)(undefined2 *)((int)puVar35 + 6),uVar19); uVar12 = CONCAT11((char)(uVar12 >> 8),(byte)uVar12 | puVar34[iVar21]); puVar23 = puVar22; goto LAB_2a20_4bfa; } } else { uVar12 = uVar12 | 0x2d0a; code_r0x0002ee49: pbVar1 = (byte *)((int)lVar30 + 0x75); *pbVar1 = *pbVar1 & (byte)((ulong)lVar16 >> 8); bVar46 = in(uVar19); *(byte *)puVar41 = bVar46; puVar40 = puVar41 + 1; bVar46 = in(uVar19); *(byte *)((int)puVar41 + 1) = bVar46; pbVar1 = (byte *)((int)puVar35 + iVar21 + 0x6f); *pbVar1 = *pbVar1 & (byte)((uint)uVar19 >> 8); uVar11 = *(int *)((int)lVar30 + 0x74) * 0x7265; uVar31 = (undefined2)((ulong)lVar30 >> 0x10); LAB_2a20_4c56: uVar39 = (undefined2)((ulong)lVar16 >> 0x10); bVar46 = 0; pbVar1 = (byte *)((int)puVar40 + iVar21 + 0x73); bVar10 = (byte)(uVar12 >> 8); *pbVar1 = *pbVar1 & bVar10; *(char *)((int)puVar35 + 0x65) = *(char *)((int)puVar35 + 0x65) + bVar10; code_r0x0002eebd: puVar2 = puVar40; puVar40 = (uint *)((int)puVar40 + (uint)bVar46 * -2 + 1); bVar10 = in(uVar19); *(byte *)puVar2 = bVar10; puVar25 = (undefined2 *)(*(int *)((int)puVar35 + 0xd) * 10); pbVar1 = (byte *)((int)puVar35 + 0x65); bVar10 = *pbVar1; bVar14 = (byte)(uVar12 >> 8); *pbVar1 = *pbVar1 + bVar14; bVar17 = *pbVar1; bVar47 = *pbVar1 == 0; puVar36 = (undefined2 *)((int)puVar35 + (uint)bVar46 * -2 + 1); out(*(undefined1 *)puVar35,uVar19); puVar37 = (undefined2 *)CONCAT22(uVar38,puVar36 + (uint)bVar46 * -2 + 1); out(*puVar36,uVar19); bVar43 = true; if (CARRY1(bVar10,bVar14)) goto LAB_2a20_4d38; puVar36 = (undefined2 *)puVar25[1]; lVar30 = CONCAT22(uVar31,puVar25[2]); iVar21 = puVar25[4]; uVar19 = puVar25[5]; lVar16 = CONCAT22(uVar39,puVar25[6]); uVar12 = puVar25[7]; puVar41 = (uint *)((undefined1 *)*puVar25 + (uint)bVar46 * -2 + 1); uVar5 = in(uVar19); *(undefined1 *)*puVar25 = uVar5; } puVar37 = (undefined2 *)CONCAT22(uVar38,puVar36); bVar10 = (byte)uVar12 | 10; pcVar3 = (char *)(lVar16 + 0x76 + lVar30 * 2); *pcVar3 = *pcVar3 + (char)(uVar12 >> 8); puVar26 = (undefined2 *)(*(int *)((int)puVar36 + 0x65) * 0x6220); bVar17 = (byte)((ulong)lVar16 >> 8); if (*pcVar3 < '\0') { *(byte *)puVar41 = (byte)*puVar41 ^ (byte)lVar16; bVar10 = bVar10 | *(byte *)(iVar21 + (int)puVar36); uVar11 = (uint)lVar30; *(undefined2 *)((int)puVar26 + -2) = 0x6f00; if (bVar10 != 0) { puVar2 = puVar41; puVar41 = (uint *)((int)puVar41 + (uint)bVar46 * -2 + 1); bVar17 = in(uVar19); *(byte *)puVar2 = bVar17; puVar37 = (undefined2 *)CONCAT22(uVar38,puVar36 + (uint)bVar46 * -2 + 1); out(*puVar36,uVar19); bVar10 = bVar10 | 10; puVar27 = (undefined2 *)((int)puVar26 + -4); puVar26 = (undefined2 *)((int)puVar26 + -4); *puVar27 = 0; lVar16 = (long)*(int *)(uVar11 + 0x65) * 0x6178; bVar43 = (int)lVar16 != lVar16; goto code_r0x0002ef02; } bVar43 = true; bVar47 = true; bVar10 = 0; bVar45 = false; joined_r0x0002ef4a: if (!bVar43) goto LAB_2a20_4db1_1; code_r0x0002ef4c: pbVar42 = (byte *)((int)puVar41 + (uint)bVar46 * -2 + 1); bVar17 = in(uVar19); *(byte *)puVar41 = bVar17; bVar43 = false; puVar36 = (undefined2 *)puVar37; puVar33 = puVar36 + (uint)bVar46 * -2 + 1; puVar37 = (undefined2 *)CONCAT22((int)((ulong)puVar37 >> 0x10),puVar33); out(*puVar36,uVar19); bVar44 = false; if (bVar47) { bVar10 = bVar10 | *(byte *)(iVar21 + (int)puVar33); bVar44 = bVar10 == 0; if ((char)bVar10 < '\0') goto LAB_2a20_4dc6_1; bVar17 = in(uVar19); *pbVar42 = bVar17; lVar16 = (long)*(int *)(pbVar42 + uVar11 + (uint)bVar46 * -2 + 0x6a) * 0x6c74; bVar43 = (int)lVar16 != lVar16; bVar45 = false; } if (bVar45) { out(*(undefined1 *)puVar37,uVar19); puVar37 = (undefined2 *)((long)puVar37 + (ulong)bVar46 * -2 + 1); goto joined_r0x0002ef62; } } else { pbVar1 = (byte *)((int)puVar41 + iVar21 + 0x6e); bVar43 = CARRY1(*pbVar1,bVar17); *pbVar1 = *pbVar1 + bVar17; bVar44 = *pbVar1 == 0; if ((char)*pbVar1 < '\0') { joined_r0x0002ef62: puVar36 = (undefined2 *)puVar37; if (!bVar43) { if (!bVar44) { /* WARNING: Bad instruction - Truncating control flow here */ halt_baddata(); } goto LAB_2a20_4dcc; } LAB_2a20_4dc6: *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; LAB_2a20_4dcc: *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; /* WARNING: Bad instruction - Truncating control flow here */ halt_baddata(); } code_r0x0002ef02: puVar36 = (undefined2 *)puVar37; puVar2 = (uint *)((int)puVar36 + 0xd); *puVar2 = *puVar2 + (uint)bVar43 * (((uint)puVar36 & 3) - (*puVar2 & 3)); cVar9 = *(char *)(iVar21 + (int)puVar36); bVar43 = bVar10 == 0; bVar10 = (char)*(undefined2 *)(iVar21 + (int)puVar36) * 'u'; puVar34 = (undefined1 *)((int)puVar36 + (uint)bVar46 * -2 + 1); out(*(undefined1 *)puVar36,uVar19); uVar11 = in(uVar19); *puVar41 = uVar11; if (bVar43 && cVar9 == '\0') goto LAB_2a20_4d0f; LAB_2a20_4d7b: puVar37 = (undefined2 *)ZEXT24(puVar34); puVar34[iVar21] = puVar34[iVar21] + bVar10; puVar34[iVar21] = puVar34[iVar21] + bVar10; } puVar36 = (undefined2 *)puVar37; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; } else { LAB_2a20_4c07: bVar46 = (byte)(uVar12 >> 8); *(byte *)(puVar40 + 0x39) = (byte)puVar40[0x39] & bVar46; iVar13 = (int)lVar30; *(char *)(iVar13 + (int)puVar36) = *(char *)(iVar13 + (int)puVar36) + (char)uVar12; pcVar3 = (char *)((int)puVar36 + iVar13 + 0x36); *pcVar3 = *pcVar3 + (char)uVar19; *(byte *)(iVar21 + (int)puVar36) = *(byte *)(iVar21 + (int)puVar36) ^ bVar10; uVar39 = (undefined2)((ulong)lVar16 >> 0x10); pbVar1 = (byte *)(iVar13 + 0x6c); *pbVar1 = *pbVar1 & bVar46; out(*puVar36,uVar19); bVar46 = 0; puVar40 = (uint *)*puVar24; puVar35 = (undefined4 *)puVar24[1]; uVar31 = (undefined2)((ulong)lVar30 >> 0x10); uVar11 = puVar24[2]; iVar21 = puVar24[4]; uVar19 = puVar24[5]; uVar15 = puVar24[6]; lVar16 = CONCAT22(uVar39,uVar15); iVar13 = puVar24[7]; puVar36 = puVar24 + 8; if (*pbVar1 == 0) { puVar24[7] = iVar21; bVar17 = (byte)((uint)iVar13 >> 8); *(byte *)(puVar40 + 0x39) = (byte)puVar40[0x39] & bVar17; bVar10 = *(byte *)(iVar21 + (int)puVar35); bVar46 = 1; *(char *)(uVar11 + (int)puVar35) = *(char *)(uVar11 + (int)puVar35) + (char)((uint)iVar21 >> 8); *(byte *)((int)puVar40 + 0x41) = *(byte *)((int)puVar40 + 0x41) & (byte)uVar15; puVar24[6] = puVar24 + 7; uVar12 = CONCAT11(bVar17,(byte)iVar13 | bVar10) - 1U | 0x2d0a; puVar36 = puVar24 + 6; } else { puVar4 = puVar35; puVar35 = (undefined4 *)((int)puVar35 + 1); out(*(undefined1 *)puVar4,uVar19); uVar12 = iVar13 + 0x9090; lVar30 = (long)*(int *)(uVar11 + 0x74) * 0x7320; uVar11 = (uint)lVar30; if (uVar12 == 0) { if ((int)uVar11 == lVar30) { uVar12 = 0; pbVar1 = (byte *)(uVar11 + 0x6f); *pbVar1 = *pbVar1 & (byte)((uint)uVar15 >> 8); if (*pbVar1 != 0) { bVar46 = in(uVar19); *(byte *)puVar40 = bVar46; out(*(undefined2 *)puVar35,uVar19); puVar41 = (uint *)puVar24[8]; puVar35 = (undefined4 *)puVar24[9]; lVar30 = CONCAT22(uVar31,puVar24[10]); iVar21 = puVar24[0xc]; uVar19 = puVar24[0xd]; lVar16 = CONCAT22(uVar39,puVar24[0xe]); uVar12 = puVar24[0xf] | 10; *(int *)(iVar21 + (int)puVar35) = *(int *)(iVar21 + (int)puVar35) + uVar12; puVar24[0xf] = uVar19; *(byte *)(iVar21 + (int)puVar35) = *(byte *)(iVar21 + (int)puVar35) ^ (byte)((uint)uVar19 >> 8); goto LAB_2a20_4c45; } goto LAB_2a20_4c56; } uVar12 = iVar13 + 0x2a70; bVar10 = in(uVar19); *(byte *)puVar40 = bVar10; puVar36 = puVar24 + 8; } } pbVar1 = (byte *)(uVar11 + 0x6c); *pbVar1 = *pbVar1 & (byte)(uVar12 >> 8); out(*(undefined2 *)puVar35,uVar19); puVar40 = (uint *)*puVar36; iVar21 = puVar36[4]; uVar19 = puVar36[5]; uVar15 = puVar36[6]; puVar26 = puVar36 + 8; if (*pbVar1 == 0) { LAB_2a20_4d0f: puVar34 = (undefined1 *)*(undefined2 *)((int)puVar26 + 2); iVar21 = *(int *)((int)puVar26 + 8); bVar10 = (byte)*(undefined2 *)((int)puVar26 + 0xe); puVar34[iVar21] = puVar34[iVar21] + bVar10; puVar34[iVar21] = puVar34[iVar21] + bVar10; goto LAB_2a20_4d7b; } puVar33 = (undefined2 *)((undefined1 *)puVar36[1] + (uint)bVar46 * -2 + 1); puVar37 = (undefined2 *)CONCAT22(uVar38,puVar33); out(*(undefined1 *)puVar36[1],uVar19); uVar12 = puVar36[7] + 0x9090; uVar11 = (uint)((long)*(int *)(puVar36[2] + 0x74) * 0x6520); bVar10 = (byte)((uint)uVar19 >> 8); if ((long)(int)uVar11 == (long)*(int *)(puVar36[2] + 0x74) * 0x6520) { puVar35 = (undefined4 *)(puVar33 + (uint)bVar46 * -2 + 1); out(*puVar33,uVar19); *(byte *)(iVar21 + (int)puVar35) = *(byte *)(iVar21 + (int)puVar35) & (byte)uVar12; pbVar1 = (byte *)((int)puVar40 + iVar21 + 0x6e); bVar17 = *pbVar1; bVar14 = (byte)((uint)uVar15 >> 8); *pbVar1 = *pbVar1 + bVar14; if (!CARRY1(bVar17,bVar14) && *pbVar1 != 0) goto code_r0x0002eebd; pbVar1 = (byte *)((int)puVar35 + uVar11 + 0x6f); *pbVar1 = *pbVar1 & bVar10; bVar17 = *pbVar1; bVar47 = *pbVar1 == 0; puVar33 = (undefined2 *)((int)puVar35 + (uint)bVar46 * -4 + 2); puVar37 = (undefined2 *)CONCAT22(uVar38,puVar33); out(*(undefined2 *)puVar35,uVar19); if (!bVar47) goto LAB_2a20_4d24; puVar7 = (undefined1 *)((long)*(int *)(iVar21 + (int)puVar33) * 0x6f); puVar25 = (undefined2 *)puVar7; bVar45 = (undefined1 *)(long)(int)puVar25 != puVar7; } else { LAB_2a20_4d24: uVar12 = in(uVar19); *puVar40 = uVar12; puVar2 = puVar40 + (uint)bVar46 * -2 + 1; *(byte *)puVar2 = (byte)*puVar2 + (char)uVar15; out(*(undefined1 *)(undefined2 *)puVar37,uVar19); pbVar1 = (byte *)((int)(puVar40 + (uint)bVar46 * -2 + 1) + uVar11 + 0x74); bVar45 = CARRY1(*pbVar1,bVar10); *pbVar1 = *pbVar1 + bVar10; bVar17 = *pbVar1; puVar40 = (uint *)puVar36[8]; puVar33 = (undefined2 *)puVar36[9]; uVar11 = puVar36[10]; iVar21 = puVar36[0xc]; uVar19 = puVar36[0xd]; uVar12 = puVar36[0xf]; puVar25 = puVar36 + 0x10; puVar2 = (uint *)((int)puVar40 + uVar11 + 0x20); iVar13 = (uVar11 & 3) - (*puVar2 & 3); bVar47 = 0 < iVar13; *puVar2 = *puVar2 + (uint)bVar45 * iVar13; puVar37 = (undefined2 *) CONCAT22((int)((ulong)puVar37 >> 0x10),puVar33 + (uint)bVar46 * -2 + 1); out(*puVar33,uVar19); } bVar10 = (byte)uVar12; if (!bVar45 && !bVar47) { bVar43 = false; if (bVar45) { puVar36 = (undefined2 *)puVar37; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; LAB_2a20_4db1_1: pcVar3 = (char *)(iVar21 + (int)(undefined2 *)puVar37); *pcVar3 = *pcVar3 + bVar10; pcVar3 = (char *)(iVar21 + (int)(undefined2 *)puVar37); *pcVar3 = *pcVar3 + bVar10; } else { LAB_2a20_4d38: bVar10 = (byte)uVar12; bVar45 = (char)bVar17 < '\0'; puVar41 = (uint *)((int)puVar40 + (uint)bVar46 * -2 + 1); bVar17 = in(uVar19); *(byte *)puVar40 = bVar17; puVar36 = (undefined2 *)puVar37; uVar39 = (undefined2)((ulong)puVar37 >> 0x10); puVar33 = puVar36 + (uint)bVar46 * -2 + 1; puVar37 = (undefined2 *)CONCAT22(uVar39,puVar33); out(*puVar36,uVar19); if (!bVar43 && !bVar47) { bVar43 = !bVar43; goto joined_r0x0002ef4a; } out(*puVar33,uVar19); pbVar1 = (byte *)((int)puVar41 + uVar11 + 0x74); bVar17 = *pbVar1; bVar14 = (byte)((uint)uVar19 >> 8); *pbVar1 = *pbVar1 + bVar14; bVar45 = (char)*pbVar1 < '\0'; puVar41 = (uint *)*puVar25; puVar37 = (undefined2 *)CONCAT22(uVar39,(undefined2 *)puVar25[1]); uVar11 = puVar25[2]; iVar21 = puVar25[4]; uVar19 = puVar25[5]; bVar10 = (byte)puVar25[7]; puVar2 = (uint *)((int)puVar41 + uVar11 + 0x20); iVar13 = (uVar11 & 3) - (*puVar2 & 3); *puVar2 = *puVar2 + (uint)CARRY1(bVar17,bVar14) * iVar13; if (0 < iVar13) { bVar47 = true; if (!CARRY1(bVar17,bVar14)) goto code_r0x0002ef4c; goto LAB_2a20_4db1_1; } } puVar36 = (undefined2 *)puVar37; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; goto LAB_2a20_4dc6; } } puVar36 = (undefined2 *)puVar37; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; LAB_2a20_4dc6_1: puVar36 = (undefined2 *)puVar37; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; *(char *)(iVar21 + (int)puVar36) = *(char *)(iVar21 + (int)puVar36) + bVar10; /* WARNING: Bad instruction - Truncating control flow here */ halt_baddata(); } // Function: FUN_1e78_1dba at 1e78:1dba int __cdecl16far FUN_1e78_1dba(void) { int iVar1; undefined2 unaff_DS; if ((undefined1 *)*(uint *)0x4ce < &stack0x0004) { iVar1 = -((int)*(uint *)0x4ce - (int)&stack0x0004); } else { iVar1 = 0; } return iVar1; } // Function: thunk_FUN_1e78_1dfb at 1e78:1dce undefined2 __cdecl16far thunk_FUN_1e78_1dfb(uint param_1) { undefined2 uVar1; bool bVar2; bVar2 = param_1 < 0xffe8; if (param_1 < 0xffe9) { uVar1 = FUN_1e78_1e24(); if (!bVar2) { return uVar1; } FUN_1e78_1ea0(); if ((!bVar2) && (uVar1 = FUN_1e78_1e24(), !bVar2)) { return uVar1; } } return 0; } // Function: thunk_FUN_1e78_1dda at 1e78:1dd4 void __cdecl16far thunk_FUN_1e78_1dda(uint param_1) { byte *pbVar1; undefined2 unaff_DS; if (*(uint *)0x462 < param_1) { pbVar1 = (byte *)(param_1 - 2); *pbVar1 = *pbVar1 | 1; if (pbVar1 < (byte *)*(undefined2 *)0x464) { *(undefined2 *)0x464 = pbVar1; } } return; } // Function: FUN_1e78_1dda at 1e78:1dda void __cdecl16far FUN_1e78_1dda(uint param_1) { byte *pbVar1; undefined2 unaff_DS; if (*(uint *)0x462 < param_1) { pbVar1 = (byte *)(param_1 - 2); *pbVar1 = *pbVar1 | 1; if (pbVar1 < (byte *)*(undefined2 *)0x464) { *(undefined2 *)0x464 = pbVar1; } } return; } // Function: FUN_1e78_1dfb at 1e78:1dfb undefined2 __cdecl16far FUN_1e78_1dfb(uint param_1) { undefined2 uVar1; bool bVar2; bVar2 = param_1 < 0xffe8; if (param_1 < 0xffe9) { uVar1 = FUN_1e78_1e24(); if (!bVar2) { return uVar1; } FUN_1e78_1ea0(); if ((!bVar2) && (uVar1 = FUN_1e78_1e24(), !bVar2)) { return uVar1; } } return 0; } // Function: FUN_1e78_1e24 at 1e78:1e24 uint * __cdecl16near FUN_1e78_1e24(void) { uint *puVar1; uint uVar2; uint uVar3; int in_CX; uint uVar4; int in_BX; uint *puVar5; uint *puVar6; uint *puVar7; undefined2 unaff_DS; uVar4 = in_CX + 1U & 0xfffe; puVar7 = (uint *)*(undefined2 *)(in_BX + 8); puVar5 = (uint *)*(undefined2 *)(in_BX + 10); do { while( true ) { puVar1 = puVar7 + 1; uVar3 = *puVar7; puVar6 = puVar1; if ((uVar3 & 1) != 0) { while( true ) { uVar2 = uVar3 - 1; if (uVar4 <= uVar2) { *puVar7 = uVar4; puVar7 = puVar1; if (uVar2 != uVar4) { *(int *)((int)puVar1 + uVar4) = (uVar2 - uVar4) + -1; puVar7 = (uint *)((int)((int)puVar1 + uVar4) - uVar4); } *(int *)(in_BX + 8) = (int)puVar7 + uVar4; return puVar1; } if (CARRY2((uint)puVar1,uVar2)) goto LAB_1e78_1e7d; puVar6 = (uint *)((int)puVar1 + uVar2) + 1; uVar3 = *(uint *)((int)puVar1 + uVar2); if ((uVar3 & 1) == 0) break; uVar3 = uVar3 + uVar2 + 2; *puVar7 = uVar3; } } if (puVar6 + -1 < puVar5) break; if (((uint)puVar5 & 1) != 0) goto LAB_1e78_1e7d; puVar7 = (uint *)*(undefined2 *)(in_BX + 6); if ((uint *)*(undefined2 *)(in_BX + 8) == puVar7) goto LAB_1e78_1e7d; puVar5 = (uint *)((int)*(undefined2 *)(in_BX + 8) + -1); } puVar7 = (uint *)((int)puVar6 + uVar3); } while (!CARRY2((uint)puVar6,uVar3)); LAB_1e78_1e7d: puVar7 = (uint *)*(undefined2 *)(in_BX + 6); *(undefined2 *)(in_BX + 8) = puVar7; return puVar7; } // Function: FUN_1e78_1ea0 at 1e78:1ea0 void __cdecl16near FUN_1e78_1ea0(void) { int *piVar1; int iVar2; uint uVar3; int in_CX; uint uVar4; int iVar5; int in_BX; uint *unaff_SI; undefined2 *puVar6; undefined2 unaff_SS; undefined2 unaff_DS; bool bVar7; if ((*(byte *)(in_BX + 2) & 1) != 0) { FUN_1e78_1f7d(); if ((*unaff_SI & 1) != 0) { in_CX = (in_CX - *unaff_SI) + -1; } uVar3 = *(uint *)(in_BX + 4); if (uVar3 != 0) { if (!CARRY2(in_CX + 2U,uVar3)) { uVar3 = *(uint *)0x6a2; if (uVar3 == 0x2000) goto LAB_1e78_1eed; uVar4 = 0x8000; while (uVar3 <= uVar4) { uVar4 = uVar4 >> 1; if (uVar4 == 0) goto LAB_1e78_1f06; } if (uVar4 < 8) goto LAB_1e78_1f06; uVar3 = uVar4 << 1; goto LAB_1e78_1eed; } uVar4 = 0xfff0; if (in_CX + 2U + uVar3 == 0) { while( true ) { bVar7 = false; iVar2 = FUN_1e78_1f2c(); if (!bVar7) break; if (uVar4 == 0xfff0) { return; } LAB_1e78_1f06: uVar3 = 0x10; LAB_1e78_1eed: uVar4 = ~(uVar3 - 1); } iVar5 = iVar2 - *(int *)(in_BX + 4); *(int *)(in_BX + 4) = iVar2; *(undefined2 *)(in_BX + 8) = unaff_SI; piVar1 = (int *)*(int *)(in_BX + 10); *piVar1 = iVar5 + -1; puVar6 = (undefined2 *)((int)piVar1 + iVar5); *puVar6 = 0xfffe; *(undefined2 *)(in_BX + 10) = puVar6; } } } return; } // Function: FUN_1e78_1f2c at 1e78:1f2c void __cdecl16near FUN_1e78_1f2c(int param_1) { code *pcVar1; uint in_AX; uint uVar2; int extraout_DX; int in_BX; int unaff_DS; bool bVar3; if ((((*(byte *)(in_BX + 2) & 4) == 0) || (in_AX - 1 < *(int *)(in_BX + 4) - 1U)) || (*(uint *)(in_BX + -2) < in_AX - 1)) { uVar2 = in_AX >> 4; if (uVar2 == 0) { uVar2 = 0x1000; } bVar3 = false; if ((*(byte *)(in_BX + 2) & 4) != 0) { bVar3 = uVar2 + unaff_DS < *(uint *)0x496; } pcVar1 = (code *)swi(0x21); (*pcVar1)(); if ((!bVar3) && ((*(byte *)(param_1 + 2) & 4) != 0)) { *(int *)(param_1 + -2) = extraout_DX + -1; } } return; } // Function: FUN_1e78_1f7d at 1e78:1f7d void __cdecl16near FUN_1e78_1f7d(void) { int in_BX; uint *puVar1; undefined2 unaff_DS; puVar1 = (uint *)*(undefined2 *)(in_BX + 8); if (puVar1 == (uint *)*(undefined2 *)(in_BX + 10)) { puVar1 = (uint *)*(undefined2 *)(in_BX + 6); } while( true ) { if (*puVar1 == 0xfffe) break; puVar1 = (uint *)((int)puVar1 + (*puVar1 & 0xfffe) + 2); } return; } // Function: FUN_1e78_1f9e at 1e78:1f9e char * __cdecl16far FUN_1e78_1f9e(char *param_1,char *param_2) { char *pcVar1; char *pcVar2; int iVar3; uint uVar4; uint uVar5; char *pcVar6; char *pcVar7; undefined2 unaff_DS; iVar3 = -1; pcVar6 = param_1; do { if (iVar3 == 0) break; iVar3 = iVar3 + -1; pcVar1 = pcVar6; pcVar6 = pcVar6 + 1; } while (*pcVar1 != '\0'); uVar4 = 0xffff; do { if (uVar4 == 0) break; uVar4 = uVar4 - 1; pcVar1 = param_2; param_2 = param_2 + 1; } while (*pcVar1 != '\0'); uVar4 = ~uVar4; param_2 = param_2 + -uVar4; pcVar7 = pcVar6 + -1; if (((uint)param_2 & 1) != 0) { pcVar1 = param_2; param_2 = param_2 + 1; pcVar6[-1] = *pcVar1; uVar4 = uVar4 - 1; pcVar7 = pcVar6; } for (uVar5 = uVar4 >> 1; uVar5 != 0; uVar5 = uVar5 - 1) { pcVar2 = pcVar7; pcVar7 = pcVar7 + 2; pcVar1 = param_2; param_2 = param_2 + 2; *(undefined2 *)pcVar2 = *(undefined2 *)pcVar1; } for (uVar4 = (uint)((uVar4 & 1) != 0); uVar4 != 0; uVar4 = uVar4 - 1) { pcVar2 = pcVar7; pcVar7 = pcVar7 + 1; pcVar1 = param_2; param_2 = param_2 + 1; *pcVar2 = *pcVar1; } return param_1; } // Function: FUN_1e78_1fde at 1e78:1fde void __cdecl16far FUN_1e78_1fde(char *param_1,char *param_2) { char *pcVar1; char *pcVar2; uint uVar3; uint uVar4; char *pcVar5; undefined2 unaff_DS; uVar3 = 0xffff; pcVar5 = param_2; do { if (uVar3 == 0) break; uVar3 = uVar3 - 1; pcVar1 = pcVar5; pcVar5 = pcVar5 + 1; } while (*pcVar1 != '\0'); uVar3 = ~uVar3; if (((uint)param_1 & 1) != 0) { pcVar2 = param_1; param_1 = param_1 + 1; pcVar1 = param_2; param_2 = param_2 + 1; *pcVar2 = *pcVar1; uVar3 = uVar3 - 1; } for (uVar4 = uVar3 >> 1; uVar4 != 0; uVar4 = uVar4 - 1) { pcVar2 = param_1; param_1 = param_1 + 2; pcVar1 = param_2; param_2 = param_2 + 2; *(undefined2 *)pcVar2 = *(undefined2 *)pcVar1; } for (uVar3 = (uint)((uVar3 & 1) != 0); uVar3 != 0; uVar3 = uVar3 - 1) { pcVar2 = param_1; param_1 = param_1 + 1; pcVar1 = param_2; param_2 = param_2 + 1; *pcVar2 = *pcVar1; } return; } // Function: FUN_1e78_2010 at 1e78:2010 int __cdecl16far FUN_1e78_2010(char *param_1) { char *pcVar1; uint uVar2; undefined2 unaff_DS; uVar2 = 0xffff; do { if (uVar2 == 0) break; uVar2 = uVar2 - 1; pcVar1 = param_1; param_1 = param_1 + 1; } while (*pcVar1 != '\0'); return ~uVar2 - 1; } // Function: FUN_1e78_202c at 1e78:202c uint __cdecl16far FUN_1e78_202c(char *param_1,char *param_2,int param_3) { char *pcVar1; char *pcVar2; int iVar3; uint uVar4; char *pcVar5; undefined2 unaff_DS; uVar4 = 0; iVar3 = param_3; pcVar5 = param_1; if (param_3 != 0) { do { if (iVar3 == 0) break; iVar3 = iVar3 + -1; pcVar1 = pcVar5; pcVar5 = pcVar5 + 1; } while (*pcVar1 != '\0'); param_3 = param_3 - iVar3; do { if (param_3 == 0) break; param_3 = param_3 + -1; pcVar2 = param_1; param_1 = param_1 + 1; pcVar1 = param_2; param_2 = param_2 + 1; } while (*pcVar1 == *pcVar2); uVar4 = 0; if ((byte)param_2[-1] <= (byte)param_1[-1]) { if (param_2[-1] == param_1[-1]) { return 0; } uVar4 = 0xfffe; } uVar4 = ~uVar4; } return uVar4; } // Function: thunk_FUN_1e78_20b4 at 1e78:2066 int __cdecl16far thunk_FUN_1e78_20b4(byte *param_1) { byte *pbVar1; byte bVar2; byte bVar3; int iVar4; undefined2 unaff_DS; iVar4 = 0; do { do { pbVar1 = param_1; param_1 = param_1 + 1; bVar2 = *pbVar1; } while (bVar2 == 0x20); } while (bVar2 == 9); if ((bVar2 != 0x2d) && (bVar3 = bVar2, bVar2 != 0x2b)) goto LAB_1e78_20d4; while( true ) { pbVar1 = param_1; param_1 = param_1 + 1; bVar3 = *pbVar1; LAB_1e78_20d4: if ((0x39 < bVar3) || (bVar3 < 0x30)) break; iVar4 = iVar4 * 10 + (uint)(byte)(bVar3 - 0x30); } if (bVar2 == 0x2d) { iVar4 = -iVar4; } return iVar4; } // Function: thunk_FUN_1e78_20b4 at 1e78:206a int __cdecl16far thunk_FUN_1e78_20b4(byte *param_1) { byte *pbVar1; byte bVar2; byte bVar3; int iVar4; undefined2 unaff_DS; iVar4 = 0; do { do { pbVar1 = param_1; param_1 = param_1 + 1; bVar2 = *pbVar1; } while (bVar2 == 0x20); } while (bVar2 == 9); if ((bVar2 != 0x2d) && (bVar3 = bVar2, bVar2 != 0x2b)) goto LAB_1e78_20d4; while( true ) { pbVar1 = param_1; param_1 = param_1 + 1; bVar3 = *pbVar1; LAB_1e78_20d4: if ((0x39 < bVar3) || (bVar3 < 0x30)) break; iVar4 = iVar4 * 10 + (uint)(byte)(bVar3 - 0x30); } if (bVar2 == 0x2d) { iVar4 = -iVar4; } return iVar4; } // Function: FUN_1e78_206e at 1e78:206e void __cdecl16far FUN_1e78_206e(char *param_1) { undefined2 uVar1; int iVar2; undefined2 unaff_DS; while ((*(byte *)(*param_1 + 0x6c3) & 8) != 0) { param_1 = param_1 + 1; } uVar1 = FUN_1e78_2010(param_1,0,0); iVar2 = FUN_1e78_3cea(param_1,uVar1); *(undefined2 *)0x4d6e = *(undefined2 *)(iVar2 + 8); *(undefined2 *)0x4d70 = *(undefined2 *)(iVar2 + 10); *(undefined2 *)0x4d72 = *(undefined2 *)(iVar2 + 0xc); *(undefined2 *)0x4d74 = *(undefined2 *)(iVar2 + 0xe); return; } // Function: FUN_1e78_20b4 at 1e78:20b4 int __cdecl16far FUN_1e78_20b4(byte *param_1) { byte *pbVar1; byte bVar2; byte bVar3; int iVar4; undefined2 unaff_DS; iVar4 = 0; do { do { pbVar1 = param_1; param_1 = param_1 + 1; bVar2 = *pbVar1; } while (bVar2 == 0x20); } while (bVar2 == 9); if ((bVar2 != 0x2d) && (bVar3 = bVar2, bVar2 != 0x2b)) goto LAB_1e78_20d4; while( true ) { pbVar1 = param_1; param_1 = param_1 + 1; bVar3 = *pbVar1; LAB_1e78_20d4: if ((0x39 < bVar3) || (bVar3 < 0x30)) break; iVar4 = iVar4 * 10 + (uint)(byte)(bVar3 - 0x30); } if (bVar2 == 0x2d) { iVar4 = -iVar4; } return iVar4; } // Function: FUN_1e78_2108 at 1e78:2108 void FUN_1e78_2108(void) { FUN_1e78_23ea(); return; } // Function: FUN_1e78_2124 at 1e78:2124 void __cdecl16far FUN_1e78_2124(char *param_1,int param_2,int param_3) { char *pcVar1; char *pcVar2; undefined2 unaff_DS; pcVar2 = (char *)*(undefined2 *)(param_3 + 6); *param_1 = '0'; pcVar1 = param_1; for (; pcVar1 = pcVar1 + 1, 0 < param_2; param_2 = param_2 + -1) { if (*pcVar2 == '\0') { *pcVar1 = '0'; } else { *pcVar1 = *pcVar2; pcVar2 = pcVar2 + 1; } } *pcVar1 = '\0'; if ((-1 < param_2) && ('4' < *pcVar2)) { while (pcVar1 = pcVar1 + -1, *pcVar1 == '9') { *pcVar1 = '0'; } *pcVar1 = *pcVar1 + '\x01'; } if (*param_1 == '1') { *(int *)(param_3 + 2) = *(int *)(param_3 + 2) + 1; } else { FUN_1e78_1fde(param_1,param_1 + 1); } return; } // Function: FUN_1e78_2194 at 1e78:2194 int __cdecl16far FUN_1e78_2194(int param_1) { return param_1 + -0x20; } // Function: FUN_1e78_21a0 at 1e78:21a0 int __cdecl16far FUN_1e78_21a0(int param_1) { undefined2 unaff_DS; if ((*(byte *)(param_1 + 0x6c3) & 2) != 0) { param_1 = param_1 + -0x20; } return param_1; } // Function: FUN_1e78_21b6 at 1e78:21b6 undefined2 __stdcall16far FUN_1e78_21b6(undefined2 param_1,undefined2 param_2,undefined2 *param_3) { *param_3 = 1; return 0; } // Function: FUN_1e78_21cd at 1e78:21cd void __stdcall16far FUN_1e78_21cd(undefined1 *param_1) { *param_1 = 0; return; } // Function: FUN_1e78_21e2 at 1e78:21e2 void __stdcall16far FUN_1e78_21e2(void) { return; } // Function: FUN_1e78_21eb at 1e78:21eb void __stdcall16far FUN_1e78_21eb(undefined2 *param_1,undefined2 param_2) { *param_1 = param_2; return; } // Function: FUN_1e78_2201 at 1e78:2201 void __stdcall16far FUN_1e78_2201(void) { return; } // Function: FUN_1e78_220a at 1e78:220a undefined2 __stdcall16far FUN_1e78_220a(void) { code *pcVar1; pcVar1 = (code *)swi(0x21); (*pcVar1)(); return 0; } // Function: FUN_1e78_2224 at 1e78:2224 uint __cdecl16far FUN_1e78_2224(void) { code *pcVar1; byte bVar2; char cVar4; uint uVar3; undefined2 unaff_DS; cVar4 = (char)((uint)*(undefined2 *)0x7c4 >> 8); uVar3 = CONCAT11(cVar4,0xff); if (cVar4 != '\0') { if (*(int *)0x9ee == -0x292a) { (*(code *)*(undefined2 *)0x9f0)(); } pcVar1 = (code *)swi(0x21); bVar2 = (*pcVar1)(); uVar3 = (uint)bVar2; } return uVar3; } // Function: FUN_1e78_224a at 1e78:224a void __cdecl16far FUN_1e78_224a(void) { code *pcVar1; undefined2 unaff_DS; if ((char)((uint)*(undefined2 *)0x7c4 >> 8) == '\0') { *(undefined2 *)0x7c4 = 0xffff; } else { if (*(int *)0x9ee == -0x292a) { (*(code *)*(undefined2 *)0x9f0)(); } pcVar1 = (code *)swi(0x21); (*pcVar1)(); } return; } // Function: FUN_1e78_2272 at 1e78:2272 undefined2 __cdecl16far FUN_1e78_2272(byte param_1,int param_2) { undefined2 uVar1; undefined2 uVar2; undefined2 *puVar3; undefined2 uVar4; undefined2 uVar5; undefined2 uVar6; undefined2 unaff_SS; undefined2 unaff_DS; bool bVar7; undefined4 uVar8; undefined1 *puVar9; undefined1 local_c; byte local_b; undefined1 local_a; undefined1 local_9; undefined1 local_8; puVar9 = &stack0xfffe; local_c = (code)0xcd; local_b = param_1; bVar7 = param_1 < 0x25; if ((param_1 == 0x25) || (bVar7 = param_1 < 0x26, param_1 == 0x26)) { local_8 = 0xcb; local_9 = 0x44; local_a = 0x44; } else { local_a = 0xcb; } uVar6 = *(undefined2 *)(param_2 + 2); uVar5 = *(undefined2 *)(param_2 + 4); uVar1 = *(undefined2 *)(param_2 + 8); uVar2 = *(undefined2 *)(param_2 + 10); uVar8 = (*(code *)&local_c)(0x1e78); uVar4 = (undefined2)uVar8; puVar3 = *(undefined2 **)(puVar9 + 10); *puVar3 = uVar4; puVar3[1] = uVar6; puVar3[2] = uVar5; puVar3[3] = (int)((ulong)uVar8 >> 0x10); puVar3[4] = uVar1; puVar3[5] = uVar2; if (bVar7) { func_0x0002ed3a(0x1e78); uVar4 = *puVar3; } puVar3[6] = (uint)bVar7; return uVar4; } // Function: FUN_1e78_22f2 at 1e78:22f2 undefined2 __cdecl16far FUN_1e78_22f2(undefined2 param_1,undefined2 param_2) { int *piVar1; undefined1 *puVar2; undefined2 uVar3; undefined2 unaff_DS; *(undefined1 *)0x4d7c = 0x42; *(undefined2 *)0x4d7a = param_1; *(undefined2 *)0x4d76 = param_1; *(undefined2 *)0x4d78 = 0x7fff; uVar3 = FUN_1e78_13ce(0x4d76,param_2,&stack0x0008); piVar1 = (int *)0x4d78; *piVar1 = *piVar1 + -1; if (*piVar1 < 0) { FUN_1e78_0830(0,0x4d76); } else { puVar2 = (undefined1 *)*(undefined2 *)0x4d76; *(int *)0x4d76 = *(int *)0x4d76 + 1; *puVar2 = 0; } return uVar3; } // Function: FUN_1e78_234c at 1e78:234c undefined1 __cdecl16far FUN_1e78_234c(undefined2 param_1) { undefined1 uVar1; uVar1 = in(param_1); return uVar1; } // Function: FUN_1e78_235a at 1e78:235a undefined1 __cdecl16far FUN_1e78_235a(undefined2 param_1,undefined1 param_2) { out(param_1,param_2); return param_2; } // Function: FUN_1e78_2368 at 1e78:2368 undefined2 * __cdecl16far FUN_1e78_2368(undefined2 *param_1,undefined2 *param_2,uint param_3) { undefined2 *puVar1; undefined2 *puVar2; uint uVar3; undefined1 *puVar4; undefined1 *puVar5; undefined2 *puVar6; undefined2 unaff_DS; if (param_3 != 0) { if ((param_2 < param_1) && (param_1 < (undefined2 *)((int)param_2 + param_3))) { puVar4 = (undefined1 *)((int)param_2 + param_3); puVar5 = (undefined1 *)((int)param_1 + param_3); while( true ) { puVar5 = puVar5 + -1; puVar4 = puVar4 + -1; if (param_3 == 0) break; param_3 = param_3 - 1; *puVar5 = *puVar4; } } else { puVar6 = param_1; if (((uint)param_1 & 1) != 0) { puVar6 = (undefined2 *)((int)param_1 + 1); puVar1 = param_2; param_2 = (undefined2 *)((int)param_2 + 1); *(undefined1 *)param_1 = *(undefined1 *)puVar1; param_3 = param_3 - 1; } for (uVar3 = param_3 >> 1; uVar3 != 0; uVar3 = uVar3 - 1) { puVar2 = puVar6; puVar6 = puVar6 + 1; puVar1 = param_2; param_2 = param_2 + 1; *puVar2 = *puVar1; } for (uVar3 = (uint)((param_3 & 1) != 0); uVar3 != 0; uVar3 = uVar3 - 1) { puVar2 = puVar6; puVar6 = (undefined2 *)((int)puVar6 + 1); puVar1 = param_2; param_2 = (undefined2 *)((int)param_2 + 1); *(undefined1 *)puVar2 = *(undefined1 *)puVar1; } } } return param_1; } // Function: FUN_1e78_23b0 at 1e78:23b0 undefined2 * __cdecl16far FUN_1e78_23b0(undefined2 *param_1,undefined1 param_2,uint param_3) { undefined2 *puVar1; uint uVar2; undefined2 *puVar3; undefined2 unaff_DS; if (param_3 != 0) { puVar3 = param_1; if (((uint)param_1 & 1) != 0) { puVar3 = (undefined2 *)((int)param_1 + 1); *(undefined1 *)param_1 = param_2; param_3 = param_3 - 1; } for (uVar2 = param_3 >> 1; uVar2 != 0; uVar2 = uVar2 - 1) { puVar1 = puVar3; puVar3 = puVar3 + 1; *puVar1 = CONCAT11(param_2,param_2); } for (uVar2 = (uint)((param_3 & 1) != 0); uVar2 != 0; uVar2 = uVar2 - 1) { puVar1 = puVar3; puVar3 = (undefined2 *)((int)puVar3 + 1); *(undefined1 *)puVar1 = param_2; } } return param_1; } // Function: FUN_1e78_23ea at 1e78:23ea byte * __cdecl16far FUN_1e78_23ea(void) { ulong uVar1; byte bVar2; int in_AX; uint uVar4; uint in_CX; uint in_DX; uint uVar5; char in_BL; byte *pbVar6; byte *unaff_DI; byte *pbVar7; byte *pbVar8; undefined2 unaff_DS; bool bVar9; char cVar3; pbVar7 = unaff_DI; pbVar6 = unaff_DI; if (((in_BL != '\0') && (in_CX == 10)) && ((int)in_DX < 0)) { pbVar7 = unaff_DI + 1; *unaff_DI = 0x2d; bVar9 = in_AX != 0; in_AX = -in_AX; in_DX = -(in_DX + bVar9); pbVar6 = pbVar7; } do { uVar5 = 0; uVar4 = in_DX; if (in_DX != 0) { uVar4 = in_DX / in_CX; uVar5 = in_DX % in_CX; } uVar1 = CONCAT22(uVar5,in_AX); in_AX = (int)(uVar1 / in_CX); cVar3 = (char)(uVar1 % (ulong)in_CX); bVar2 = cVar3 + 0x30; if (0x39 < bVar2) { bVar2 = cVar3 + 0x57; } pbVar8 = pbVar7 + 1; *pbVar7 = bVar2; in_DX = uVar4; pbVar7 = pbVar8; } while (uVar4 != 0 || in_AX != 0); *pbVar8 = 0; do { pbVar8 = pbVar8 + -1; LOCK(); bVar2 = *pbVar8; *pbVar8 = *pbVar6; UNLOCK(); *pbVar6 = bVar2; pbVar7 = pbVar6 + 2; pbVar6 = pbVar6 + 1; } while (pbVar7 < pbVar8); return unaff_DI; } // Function: FUN_1e78_243e at 1e78:243e char * __cdecl16far FUN_1e78_243e(undefined2 param_1,undefined2 param_2,undefined2 param_3,undefined2 param_4, int param_5,undefined2 param_6) { char cVar1; int iVar2; int iVar3; char *pcVar4; char *pcVar5; char *pcVar6; undefined2 unaff_DS; iVar2 = FUN_1e78_3d40(param_1,param_2,param_3,param_4); iVar3 = *(int *)(iVar2 + 2) + -1; if ((iVar3 < -1) || (param_5 + -1 < iVar3)) { pcVar4 = (char *)FUN_1e78_3750(¶m_1,param_6,param_5 + -1,0); pcVar5 = pcVar4; } else { pcVar4 = (char *)FUN_1e78_389e(¶m_1,param_6,param_5 - *(int *)(iVar2 + 2)); pcVar5 = pcVar4; } for (; (*pcVar4 != '\0' && (*pcVar4 != '.')); pcVar4 = pcVar4 + 1) { } if (*pcVar4 != '\0') { do { pcVar4 = pcVar4 + 1; pcVar6 = pcVar4; if (*pcVar4 == '\0') break; } while (*pcVar4 != 'e'); do { pcVar6 = pcVar6 + -1; } while (*pcVar6 == '0'); do { cVar1 = *pcVar4; pcVar4 = pcVar4 + 1; pcVar6 = pcVar6 + 1; *pcVar6 = cVar1; } while (cVar1 != '\0'); } return pcVar5; } // Function: FUN_1e78_24de at 1e78:24de void __cdecl16far FUN_1e78_24de(undefined2 param_1) { undefined2 unaff_DS; *(undefined2 *)0x7c6 = param_1; *(undefined2 *)0x7c8 = 0; return; } // Function: FUN_1e78_24f0 at 1e78:24f0 uint __cdecl16far FUN_1e78_24f0(void) { uint uVar1; undefined2 unaff_DS; long lVar2; lVar2 = FUN_1e78_2608(*(undefined2 *)0x7c6,*(undefined2 *)0x7c8,0x43fd,3); uVar1 = (uint)((ulong)(lVar2 + 0x269ec3) >> 0x10); *(undefined2 *)0x7c6 = (int)(lVar2 + 0x269ec3); *(uint *)0x7c8 = uVar1; return uVar1 & 0x7fff; } // Function: FUN_1e78_2542 at 1e78:2542 undefined2 __cdecl16far FUN_1e78_2542(void) { code *pcVar1; undefined2 in_BX; pcVar1 = (code *)swi(0x21); (*pcVar1)(); return in_BX; } // Function: FUN_1e78_2554 at 1e78:2554 undefined2 __cdecl16far FUN_1e78_2554(undefined1 *param_1) { code *pcVar1; undefined1 in_CL; undefined1 in_CH; undefined1 extraout_DL; undefined1 extraout_DH; undefined2 unaff_DS; pcVar1 = (code *)swi(0x21); (*pcVar1)(); *param_1 = in_CH; param_1[1] = in_CL; param_1[2] = extraout_DH; param_1[3] = extraout_DL; return 0; } // Function: FUN_1e78_256e at 1e78:256e undefined4 __stdcall16far FUN_1e78_256e(uint param_1,uint param_2,uint param_3,uint param_4) { ulong uVar1; long lVar2; uint uVar3; int iVar4; uint uVar5; uint uVar6; uint uVar7; uint uVar8; bool bVar10; char cVar11; uint uVar9; cVar11 = (int)param_2 < 0; if ((bool)cVar11) { bVar10 = param_1 != 0; param_1 = -param_1; param_2 = -(uint)bVar10 - param_2; } if ((int)param_4 < 0) { cVar11 = cVar11 + '\x01'; bVar10 = param_3 != 0; param_3 = -param_3; param_4 = -(uint)bVar10 - param_4; } uVar3 = param_1; uVar5 = param_3; uVar6 = param_2; uVar9 = param_4; if (param_4 == 0) { uVar3 = param_2 / param_3; iVar4 = (int)(((ulong)param_2 % (ulong)param_3 << 0x10 | (ulong)param_1) / (ulong)param_3); } else { do { uVar8 = uVar9 >> 1; uVar5 = uVar5 >> 1 | (uint)((uVar9 & 1) != 0) << 0xf; uVar7 = uVar6 >> 1; uVar3 = uVar3 >> 1 | (uint)((uVar6 & 1) != 0) << 0xf; uVar6 = uVar7; uVar9 = uVar8; } while (uVar8 != 0); uVar1 = CONCAT22(uVar7,uVar3) / (ulong)uVar5; iVar4 = (int)uVar1; lVar2 = (ulong)param_3 * (uVar1 & 0xffff); uVar3 = (uint)((ulong)lVar2 >> 0x10); uVar5 = uVar3 + iVar4 * param_4; if (((CARRY2(uVar3,iVar4 * param_4)) || (param_2 < uVar5)) || ((param_2 <= uVar5 && (param_1 < (uint)lVar2)))) { iVar4 = iVar4 + -1; } uVar3 = 0; } if (cVar11 == '\x01') { bVar10 = iVar4 != 0; iVar4 = -iVar4; uVar3 = -(uint)bVar10 - uVar3; } return CONCAT22(uVar3,iVar4); } // Function: FUN_1e78_2608 at 1e78:2608 long __stdcall16far FUN_1e78_2608(uint param_1,int param_2,uint param_3,int param_4) { if (param_4 == 0 && param_2 == 0) { return (ulong)param_1 * (ulong)param_3; } return CONCAT22((int)((ulong)param_1 * (ulong)param_3 >> 0x10) + param_2 * param_3 + param_1 * param_4,(int)((ulong)param_1 * (ulong)param_3)); } // Function: FUN_1e78_263a at 1e78:263a void __cdecl16far FUN_1e78_263a(void) { uint in_CX; uint uVar1; for (uVar1 = in_CX & 0xff; uVar1 != 0; uVar1 = uVar1 - 1) { } return; } // Function: FUN_1e78_2666 at 1e78:2666 void __stdcall16far FUN_1e78_2666(undefined2 *param_1) { undefined2 uVar1; undefined2 uVar2; undefined2 unaff_DS; uVar2 = param_1[1]; uVar1 = FUN_1e78_263a(); *param_1 = uVar1; param_1[1] = uVar2; return; } // Function: FUN_1e78_2684 at 1e78:2684 undefined2 * __cdecl16far FUN_1e78_2684(undefined2 *param_1,undefined1 param_2,uint param_3) { undefined2 *puVar1; uint uVar2; uint uVar3; uint uVar4; undefined2 *puVar5; int iVar6; if (param_3 != 0) { iVar6 = (int)((ulong)param_1 >> 0x10); uVar2 = -(int)(undefined2 *)param_1; uVar4 = 0; uVar3 = param_3; if (uVar2 != 0) { uVar3 = (uVar2 - param_3 & -(uint)(uVar2 < param_3)) + param_3; uVar4 = param_3 - uVar3; } puVar5 = (undefined2 *)param_1; for (uVar2 = uVar3 >> 1; uVar2 != 0; uVar2 = uVar2 - 1) { puVar1 = puVar5; puVar5 = puVar5 + 1; *puVar1 = CONCAT11(param_2,param_2); } for (uVar3 = (uint)((uVar3 & 1) != 0); uVar3 != 0; uVar3 = uVar3 - 1) { puVar1 = puVar5; puVar5 = (undefined2 *)((int)puVar5 + 1); *(undefined1 *)puVar1 = param_2; } if (uVar4 != 0) { for (uVar3 = uVar4 >> 1; uVar3 != 0; uVar3 = uVar3 - 1) { puVar1 = puVar5; puVar5 = puVar5 + 1; *puVar1 = CONCAT11(param_2,param_2); } for (uVar4 = (uint)((uVar4 & 1) != 0); uVar4 != 0; uVar4 = uVar4 - 1) { puVar1 = puVar5; puVar5 = (undefined2 *)((int)puVar5 + 1); *(undefined1 *)puVar1 = param_2; } } } return (undefined2 *)param_1; } // Function: FUN_1e78_270e at 1e78:270e /* WARNING: Control flow encountered bad instruction data */ void FUN_1e78_270e(void) { code *pcVar1; undefined2 extraout_DX; undefined2 *in_BX; int unaff_BP; undefined1 *unaff_SI; undefined2 unaff_SS; undefined2 unaff_DS; undefined1 in_ZF; char in_SF; char in_OF; pcVar1 = (code *)swi(0x35); (*pcVar1)(); if (!(bool)in_ZF && in_OF == in_SF) { *(undefined2 *)(unaff_BP + -8) = CONCAT11(0x13,*(byte *)(unaff_BP + -6) | 0x38); pcVar1 = (code *)swi(0x35); (*pcVar1)(); out(*unaff_SI,extraout_DX); pcVar1 = (code *)swi(0x35); (*pcVar1)(); in(0x89); /* WARNING: Bad instruction - Truncating control flow here */ halt_baddata(); } /* WARNING: Could not recover jumptable at 0x00020e8c. Too many branches */ /* WARNING: Treating indirect jump as call */ (*(code *)*in_BX)(); return; } // Function: FUN_1e78_2830 at 1e78:2830 undefined4 __cdecl16near FUN_1e78_2830(void) { undefined2 *puVar1; char *pcVar2; undefined2 *puVar3; code *pcVar4; long lVar5; char cVar6; char *pcVar7; byte extraout_AH; uint uVar8; uint uVar9; byte bVar10; int iVar11; uint uVar12; int iVar13; uint uVar14; uint uVar15; uint uVar16; int iVar17; int unaff_BP; uint uVar18; uint uVar19; int iVar20; undefined2 *unaff_SI; uint uVar21; uint uVar22; uint uVar23; int iVar24; undefined2 *puVar25; char *pcVar26; undefined2 unaff_SS; undefined2 unaff_DS; bool bVar27; bool bVar28; undefined2 in_stack_00000018; puVar25 = (undefined2 *)0x808; for (iVar11 = 4; iVar11 != 0; iVar11 = iVar11 + -1) { puVar3 = puVar25; puVar25 = puVar25 + 1; puVar1 = unaff_SI; unaff_SI = unaff_SI + 1; *puVar3 = *puVar1; } uVar8 = *(uint *)0x80e; *(byte *)0x80f = *(byte *)0x80f & 0x7f; if (((*(int *)0x808 == 0 && *(int *)0x80a == 0) && *(int *)0x80c == 0) && *(int *)0x80e == 0) { *(undefined2 *)0x814 = 0x3001; return 1; } if ((~uVar8 & 0x7ff0) == 0) { return 0x10000; } pcVar4 = (code *)swi(0x35); (*pcVar4)(); *(byte *)(unaff_BP + 0x104b) = *(byte *)(unaff_BP + 0x104b) | extraout_AH; pcVar4 = (code *)swi(0x35); (*pcVar4)(); pcVar4 = (code *)swi(0x35); (*pcVar4)(); lVar5 = (ulong)*(uint *)0x810 * 0x4d10; uVar8 = (uint)lVar5; uVar9 = (*(uint *)0x810 >> 8) * 0x4d; uVar12 = uVar8 + uVar9; uVar8 = ((int)((ulong)lVar5 >> 0x10) + (int)puVar25 * 2 + (uint)CARRY2(uVar8,uVar9) + (uint)CARRY2(uVar12,(uint)*(byte *)0x80f * 0x9a) + -0x1343) - (uint)(uVar12 + (uint)*(byte *)0x80f * 0x9a < 0x12f4); FUN_1e78_2af1(); pcVar4 = (code *)swi(0x3c); (*pcVar4)(); pcVar4 = (code *)swi(0x34); (*pcVar4)(); pcVar4 = (code *)swi(0x3d); (*pcVar4)(); if ((*(byte *)0x840 & 0x41) != 0) { uVar8 = uVar8 + 1; pcVar4 = (code *)swi(0x3c); (*pcVar4)(); pcVar4 = (code *)swi(0x3a); (*pcVar4)(); } pcVar4 = (code *)swi(0x37); (*pcVar4)(); uVar9 = *(uint *)0x808; uVar12 = *(uint *)0x80a; uVar15 = *(uint *)0x80c; bVar27 = false; bVar10 = 0; for (iVar11 = -(*(int *)0x80e + -0x3ffe); iVar11 != 0; iVar11 = iVar11 + -1) { uVar21 = uVar15 & 1; uVar15 = uVar15 >> 1; uVar18 = uVar12 & 1; uVar12 = uVar12 >> 1 | (uint)(uVar21 != 0) << 0xf; uVar21 = uVar9 & 1; uVar9 = uVar9 >> 1 | (uint)(uVar18 != 0) << 0xf; uVar18 = uVar8 & 1; uVar8 = uVar8 >> 1 | (uint)(uVar21 != 0) << 0xf; bVar27 = (bVar10 & 1) != 0; bVar10 = bVar10 >> 1 | (uVar18 != 0) << 7; } uVar21 = uVar8 + 0x39a + (uint)bVar27; uVar8 = (uint)(0xfc65 < uVar8 || CARRY2(uVar8 + 0x39a,(uint)bVar27)); uVar18 = uVar9 + uVar8; uVar8 = (uint)CARRY2(uVar9,uVar8); uVar9 = uVar12 + uVar8; uVar15 = uVar15 + CARRY2(uVar12,uVar8); iVar11 = 0x10; pcVar7 = (char *)0x815; do { pcVar26 = pcVar7; iVar13 = iVar11; uVar22 = uVar21 << 1 | (uint)((int)((uint)bVar10 << 8) < 0); uVar12 = uVar18 << 1 | (uint)((int)uVar21 < 0); uVar8 = uVar9 << 1 | (uint)((int)uVar18 < 0); bVar27 = (int)uVar15 < 0; uVar16 = uVar15 << 1 | (uint)((int)uVar9 < 0); uVar23 = uVar22 << 1 | (uint)((char)(bVar10 << 1) < '\0'); uVar19 = uVar12 << 1 | (uint)((int)uVar22 < 0); uVar14 = uVar8 << 1 | (uint)((int)uVar12 < 0); uVar22 = uVar16 << 1 | (uint)((int)uVar8 < 0); cVar6 = bVar10 * '\x05'; uVar8 = (uint)CARRY1(bVar10 * '\x04',bVar10); uVar12 = uVar23 + uVar21; iVar24 = uVar12 + uVar8; uVar8 = (uint)(CARRY2(uVar23,uVar21) || CARRY2(uVar12,uVar8)); uVar12 = uVar19 + uVar18; iVar20 = uVar12 + uVar8; uVar8 = (uint)(CARRY2(uVar19,uVar18) || CARRY2(uVar12,uVar8)); uVar12 = uVar14 + uVar9; iVar11 = uVar12 + uVar8; uVar8 = (uint)(CARRY2(uVar14,uVar9) || CARRY2(uVar12,uVar8)); bVar28 = CARRY2(uVar22,uVar15); uVar22 = uVar22 + uVar15; iVar17 = uVar22 + uVar8; bVar10 = bVar10 * '\n'; uVar21 = iVar24 * 2 | (uint)(cVar6 < '\0'); uVar18 = iVar20 * 2 | (uint)(iVar24 < 0); uVar9 = iVar11 * 2 | (uint)(iVar20 < 0); uVar15 = iVar17 * 2 | (uint)(iVar11 < 0); *pcVar26 = (((bVar27 << 1 | (int)uVar16 < 0) + (bVar28 || CARRY2(uVar22,uVar8))) * '\x02' | iVar17 < 0) + 0x30; iVar11 = iVar13 + -1; pcVar7 = pcVar26 + 1; } while (iVar11 != 0); iVar13 = iVar13 + -2; do { if (iVar13 == 0) break; iVar13 = iVar13 + -1; pcVar2 = pcVar26; pcVar26 = pcVar26 + -1; } while (*pcVar2 == '0'); *(char *)0x814 = (char)iVar13 + '\x12'; return CONCAT22(in_stack_00000018,1); } // Function: FUN_1e78_2af1 at 1e78:2af1 /* WARNING: Unable to track spacebase fully for stack */ void __cdecl16near FUN_1e78_2af1(void) { code *pcVar1; uint uVar2; uint unaff_DI; uint uVar3; uint uStack_2; uStack_2 = unaff_DI; if ((int)unaff_DI < 0) { uStack_2 = -unaff_DI; } while (uStack_2 != 0) { uVar3 = uStack_2 >> 3; uVar2 = uStack_2 & 7; uStack_2 = uVar3; if (uVar2 != 0) { pcVar1 = (code *)swi(0x3c); (*pcVar1)(); pcVar1 = (code *)swi(0x3a); (*pcVar1)(); } } return; } // Function: FUN_1e78_2b46 at 1e78:2b46 undefined2 FUN_1e78_2b46(int *param_1,uint param_2,uint param_3,uint param_4,uint param_5,uint param_6, uint param_7,uint param_8) { byte *pbVar1; byte *pbVar2; long lVar3; char cVar4; byte bVar5; uint uVar6; uint uVar7; byte bVar8; uint uVar9; uint uVar10; int iVar11; uint uVar12; int iVar13; byte *pbVar14; uint uVar15; uint uVar16; int iVar17; byte *pbVar18; int iVar19; uint uVar20; uint uVar21; int iVar22; undefined2 unaff_SS; undefined2 unaff_DS; bool bVar23; bool bVar24; int local_e; byte *local_c; uVar7 = param_3; LOCK(); param_3 = 0; UNLOCK(); *(undefined1 *)(param_1 + 1) = 0x20; if ((param_8 & 0x8000) != 0) { param_8 = param_8 & 0x7fff; *(undefined1 *)(param_1 + 1) = 0x2d; } if (param_8 == 0) { if (((param_4 == 0 && param_5 == 0) && param_6 == 0) && param_7 == 0) goto LAB_1e78_2bd2; } else if (param_8 == 0x7fff) { if ((((param_4 != 0 || param_5 != 0) || param_6 != 0) || ((pbVar14 = (byte *)0x860, param_7 != 0x8000 && ((param_7 != 0xc000 || (pbVar14 = (byte *)0x866, (char)param_1[1] != '-')))))) && (pbVar14 = (byte *)0x852, (param_7 & 0x4000) != 0)) { pbVar14 = (byte *)0x859; } *param_1 = 1; pbVar18 = (byte *)((int)param_1 + 3); for (iVar19 = *pbVar14 + 1; iVar19 != 0; iVar19 = iVar19 + -1) { pbVar1 = pbVar18; pbVar18 = pbVar18 + 1; pbVar2 = pbVar14; pbVar14 = pbVar14 + 1; *pbVar1 = *pbVar2; } return 0; } lVar3 = (ulong)param_8 * 0x4d10 + (ulong)((param_8 >> 8) * 0x4d); uVar9 = (uint)lVar3; uVar6 = (param_7 >> 8) * 0x9a; iVar19 = ((int)((ulong)lVar3 >> 0x10) + (uint)CARRY2(uVar9,uVar6) + -0x1343) - (uint)(uVar9 + uVar6 < 0x12f4); FUN_1e78_300c(1,-iVar19,¶m_3,unaff_SS); while (0x3ffe < param_8) { iVar19 = iVar19 + 1; FUN_1e78_30e1(0x2b3a,0x1e78,¶m_3,unaff_SS); } *param_1 = iVar19; if (((param_2 & 1) == 0) || (uVar7 = uVar7 + iVar19, -1 < (int)uVar7)) { if (0x15 < uVar7) { uVar7 = 0x15; } local_e = uVar7 + 1; bVar8 = 0; for (cVar4 = -((char)param_8 + '\x02'); cVar4 != '\0'; cVar4 = cVar4 + -1) { uVar9 = param_7 & 1; param_7 = param_7 >> 1; uVar6 = param_6 & 1; param_6 = param_6 >> 1 | (uint)(uVar9 != 0) << 0xf; uVar9 = param_5 & 1; param_5 = param_5 >> 1 | (uint)(uVar6 != 0) << 0xf; uVar6 = param_4 & 1; param_4 = param_4 >> 1 | (uint)(uVar9 != 0) << 0xf; uVar9 = param_3 & 1; param_3 = param_3 >> 1 | (uint)(uVar6 != 0) << 0xf; bVar8 = bVar8 >> 1 | (uVar9 != 0) << 7; } LOCK(); UNLOCK(); pbVar14 = (byte *)(param_1 + 2); do { local_c = pbVar14; uVar20 = param_3 << 1 | (uint)((char)bVar8 < '\0'); uVar15 = param_4 << 1 | (uint)((int)param_3 < 0); uVar9 = param_5 << 1 | (uint)((int)param_4 < 0); uVar6 = param_6 << 1 | (uint)((int)param_5 < 0); bVar23 = (int)param_7 < 0; uVar12 = param_7 << 1 | (uint)((int)param_6 < 0); uVar21 = uVar20 << 1 | (uint)((char)(bVar8 << 1) < '\0'); uVar16 = uVar15 << 1 | (uint)((int)uVar20 < 0); uVar10 = uVar9 << 1 | (uint)((int)uVar15 < 0); uVar20 = uVar6 << 1 | (uint)((int)uVar9 < 0); uVar15 = uVar12 << 1 | (uint)((int)uVar6 < 0); cVar4 = bVar8 * '\x05'; uVar6 = (uint)CARRY1(bVar8 * '\x04',bVar8); uVar9 = uVar21 + param_3; iVar22 = uVar9 + uVar6; uVar6 = (uint)(CARRY2(uVar21,param_3) || CARRY2(uVar9,uVar6)); uVar9 = uVar16 + param_4; iVar17 = uVar9 + uVar6; uVar6 = (uint)(CARRY2(uVar16,param_4) || CARRY2(uVar9,uVar6)); uVar9 = uVar10 + param_5; iVar11 = uVar9 + uVar6; uVar6 = (uint)(CARRY2(uVar10,param_5) || CARRY2(uVar9,uVar6)); uVar9 = uVar20 + param_6; iVar19 = uVar9 + uVar6; uVar6 = (uint)(CARRY2(uVar20,param_6) || CARRY2(uVar9,uVar6)); bVar24 = CARRY2(uVar15,param_7); uVar15 = uVar15 + param_7; iVar13 = uVar15 + uVar6; bVar8 = bVar8 * '\n'; param_3 = iVar22 * 2 | (uint)(cVar4 < '\0'); param_4 = iVar17 * 2 | (uint)(iVar22 < 0); param_5 = iVar11 * 2 | (uint)(iVar17 < 0); param_6 = iVar19 * 2 | (uint)(iVar11 < 0); param_7 = iVar13 * 2 | (uint)(iVar19 < 0); bVar5 = (((bVar23 << 1 | (int)uVar12 < 0) + (bVar24 || CARRY2(uVar15,uVar6))) * '\x02' | iVar13 < 0) + 0x30; LOCK(); UNLOCK(); *local_c = bVar5; LOCK(); UNLOCK(); local_e = local_e + -1; pbVar14 = local_c + 1; } while (local_e != 0); local_c = local_c + -1; bVar23 = bVar5 == 0x35; if (0x34 < bVar5) { for (; param_1 + 2 <= local_c; local_c = local_c + -1) { if (*local_c != 0x39) goto LAB_1e78_2d25; *local_c = 0x30; } local_c = local_c + 1; *local_c = 0x30; *param_1 = *param_1 + 1; LAB_1e78_2d25: *local_c = *local_c + 1; *(char *)((int)param_1 + 3) = ((char)local_c - (char)(param_1 + 2)) + '\x01'; return 1; } if (uVar7 != 0) { do { if (uVar7 == 0) break; uVar7 = uVar7 - 1; pbVar2 = local_c; local_c = local_c + -1; bVar23 = *pbVar2 == 0x30; } while (bVar23); if (!bVar23) { *(char *)((int)param_1 + 3) = (char)uVar7 + '\x01'; return 1; } } } LAB_1e78_2bd2: *param_1 = 0; *(undefined1 *)(param_1 + 1) = 0x20; *(undefined1 *)((int)param_1 + 3) = 0; *(undefined1 *)(param_1 + 2) = 0; return 1; } // Function: FUN_1e78_300c at 1e78:300c /* WARNING: Instruction at (ram,0x000217d3) overlaps instruction at (ram,0x000217d2) */ void FUN_1e78_300c(int param_1,uint param_2,undefined2 *param_3) { code *pcVar1; uint uVar2; int in_CX; undefined2 extraout_DX; undefined1 *unaff_SI; undefined2 unaff_DS; bool bVar3; char cVar4; char cVar5; unkbyte10 in_ST0; uint uStack_e; code *local_8; if (param_2 != 0) { if ((int)param_2 < 0) { param_2 = -param_2; } local_8 = (code *)0x30aa; cVar5 = '\0'; cVar4 = param_1 < 0; bVar3 = param_1 == 0; uStack_e = param_2; if (bVar3) { local_8 = (code *)0x30a0; pcVar1 = (code *)swi(0x35); (*pcVar1)(); do { } while (bVar3 || cVar5 != cVar4); pcVar1 = (code *)swi(0x3d); (*pcVar1)(); pcVar1 = (code *)swi(0x35); (*pcVar1)(); out(*unaff_SI,extraout_DX); pcVar1 = (code *)swi(0x3c); (*pcVar1)(); in_ST0 = *(unkbyte10 *)((undefined2 *)param_3 + 1); } while (uStack_e != 0) { uVar2 = uStack_e & 7; uStack_e = uStack_e >> 3; if (uVar2 != 0) { (*local_8)(); return; } } if (param_1 == 0) { pcVar1 = (code *)swi(0x37); (*pcVar1)(); if (in_CX != 1) { return; } pcVar1 = (code *)swi(0x3c); (*pcVar1)(); *(unkbyte10 *)((undefined2 *)param_3 + 1) = in_ST0; *param_3 = 0; pcVar1 = (code *)swi(0x3d); (*pcVar1)(); } } return; } // Function: FUN_1e78_30e1 at 1e78:30e1 void FUN_1e78_30e1(int *param_1,uint *param_2) { uint *puVar1; uint uVar2; int iVar3; int iVar4; uint uVar5; uint uVar6; uint uVar7; uint *puVar8; uint *puVar9; uint *puVar10; int *piVar12; uint *puVar13; undefined2 uVar14; undefined2 unaff_SS; undefined2 uVar15; bool bVar16; bool bVar17; uint local_14; uint local_12; uint local_10; uint local_e; uint local_c; uint local_a; int local_6; uint local_4; uint *puVar11; puVar9 = &local_14; for (iVar3 = 9; iVar3 != 0; iVar3 = iVar3 + -1) { puVar1 = puVar9; puVar9 = puVar9 + 1; *puVar1 = 0; } uVar15 = (undefined2)((ulong)param_2 >> 0x10); puVar9 = (uint *)param_2; uVar14 = (undefined2)((ulong)param_1 >> 0x10); piVar12 = (int *)param_1; local_4 = (puVar9[5] ^ piVar12[5]) & 0x8000; uVar2 = puVar9[5] & 0x7fff; if (((uVar2 != 0x7fff) && (uVar7 = piVar12[5] & 0x7fff, uVar7 != 0x7fff)) && (uVar5 = uVar2 + uVar7, uVar5 < 0xbffe)) { if (((uVar5 < 0x3fc0) || ((uVar2 == 0 && (uVar5 = uVar5 + 1, (((*param_2 == 0 && puVar9[1] == 0) && puVar9[2] == 0) && puVar9[3] == 0) && puVar9[4] == 0 )))) || ((uVar7 == 0 && (uVar5 = uVar5 + 1, (((*param_1 == 0 && piVar12[1] == 0) && piVar12[2] == 0) && piVar12[3] == 0) && piVar12[4] == 0)))) { puVar9[5] = 0; puVar9[4] = 0; puVar9[3] = 0; puVar9[2] = 0; puVar9[1] = 0; *param_2 = 0; return; } puVar9[5] = uVar5 + 0xc002; iVar4 = 5; puVar8 = &local_14; puVar10 = puVar9; puVar13 = (uint *)(piVar12 + 4); puVar11 = puVar9; iVar3 = iVar4; do { do { uVar6 = (uint)((ulong)*puVar13 * (ulong)*puVar10 >> 0x10); uVar7 = (uint)((ulong)*puVar13 * (ulong)*puVar10); puVar1 = puVar8; uVar2 = *puVar1; *puVar1 = *puVar1 + uVar7; puVar1 = puVar8 + 1; uVar7 = (uint)CARRY2(uVar2,uVar7); uVar2 = *puVar1; uVar5 = *puVar1 + uVar6; *puVar1 = uVar5 + uVar7; puVar8[2] = puVar8[2] + (uint)(CARRY2(uVar2,uVar6) || CARRY2(uVar5,uVar7)); iVar4 = iVar4 + -1; puVar10 = puVar10 + 1; puVar13 = puVar13 + -1; } while (iVar4 != 0); puVar8 = puVar8 + 1; puVar10 = puVar11 + 1; iVar4 = iVar3 + -1; puVar13 = (uint *)(piVar12 + 4); puVar11 = puVar10; iVar3 = iVar4; } while (iVar4 != 0); if (0 < (int)puVar9[5]) { do { if ((int)local_a < 0) goto LAB_1e78_31c7; bVar16 = (int)local_14 < 0; local_14 = local_14 << 1; bVar17 = (int)local_12 < 0; local_12 = local_12 << 1 | (uint)bVar16; bVar16 = (int)local_10 < 0; local_10 = local_10 << 1 | (uint)bVar17; bVar17 = (int)local_e < 0; local_e = local_e << 1 | (uint)bVar16; bVar16 = (int)local_c < 0; local_c = local_c << 1 | (uint)bVar17; local_a = local_a << 1 | (uint)bVar16; puVar1 = puVar9 + 5; *puVar1 = *puVar1 - 1; } while (*puVar1 != 0); } puVar9[5] = puVar9[5] - 1; do { uVar7 = local_a & 1; local_a = local_a >> 1; uVar2 = local_c & 1; local_c = local_c >> 1 | (uint)(uVar7 != 0) << 0xf; uVar7 = local_e & 1; local_e = local_e >> 1 | (uint)(uVar2 != 0) << 0xf; uVar2 = local_10 & 1; local_10 = local_10 >> 1 | (uint)(uVar7 != 0) << 0xf; uVar7 = local_12 & 1; local_12 = local_12 >> 1 | (uint)(uVar2 != 0) << 0xf; uVar2 = local_14 & 1; local_14 = local_14 >> 1 | (uint)(uVar7 != 0) << 0xf; local_6 = local_6 + (uint)(uVar2 != 0); puVar1 = puVar9 + 5; *puVar1 = *puVar1 + 1; } while (*puVar1 != 0); if (local_6 != 0) { local_14 = local_14 | 1; } LAB_1e78_31c7: if ((0x7fff < local_14) && ((0x8000 < local_14 || ((local_12 & 1) != 0)))) { bVar17 = 0xfffe < local_12; local_12 = local_12 + 1; bVar16 = CARRY2(local_10,(uint)bVar17); local_10 = local_10 + bVar17; uVar2 = (uint)bVar16; bVar16 = CARRY2(local_e,uVar2); local_e = local_e + uVar2; uVar2 = (uint)bVar16; bVar16 = CARRY2(local_c,uVar2); local_c = local_c + uVar2; uVar2 = (uint)bVar16; bVar16 = CARRY2(local_a,uVar2); local_a = local_a + uVar2; if (bVar16) { local_a = 0x8000; puVar9[5] = puVar9[5] + 1; } } if (puVar9[5] < 0x7fff) { puVar9[4] = local_a; puVar9[3] = local_c; puVar9[2] = local_e; puVar9[1] = local_10; *param_2 = local_12; puVar9[5] = puVar9[5] | local_4; return; } } puVar9[5] = local_4 | 0x7fff; puVar9[4] = 0; puVar9[3] = 0; puVar9[2] = 0; puVar9[1] = 0; *param_2 = 0; return; } // Function: FUN_1e78_3266 at 1e78:3266 uint * FUN_1e78_3266(uint *param_1,int param_2,byte *param_3) { uint uVar1; uint uVar2; uint uVar3; uint uVar4; uint uVar5; byte bVar6; byte bVar8; uint uVar7; uint uVar9; uint uVar10; byte *pbVar11; uint uVar12; uint uVar13; undefined2 unaff_SS; bool bVar14; bool bVar15; bool bVar16; undefined4 uVar17; int local_e; local_e = param_2; pbVar11 = (byte *)param_3; uVar2 = 0; uVar13 = 0; uVar9 = 0; uVar4 = 0; uVar7 = (uint)*param_3; while( true ) { pbVar11 = pbVar11 + 1; local_e = local_e + -1; if (local_e == 0) break; uVar12 = uVar4; uVar5 = uVar9; FUN_1e78_3314(); uVar17 = FUN_1e78_3314(); uVar7 = (uint)CARRY2((uint)((ulong)uVar17 >> 0x10),uVar7); uVar3 = uVar12 + uVar4 + uVar7; uVar12 = (uint)(CARRY2(uVar12,uVar4) || CARRY2(uVar12 + uVar4,uVar7)); bVar15 = CARRY2(uVar5,uVar9); uVar5 = uVar5 + uVar9; uVar10 = uVar5 + uVar12; bVar16 = CARRY2((uint)uVar17,uVar2); uVar1 = (uint)uVar17 + uVar2; uVar17 = FUN_1e78_3314(); bVar6 = (byte)((ulong)uVar17 >> 0x10); bVar14 = CARRY1(bVar6,*pbVar11); bVar8 = (byte)((ulong)uVar17 >> 0x18); uVar7 = CONCAT11(bVar8 + bVar14,bVar6 + *pbVar11); uVar9 = (uint)CARRY1(bVar8,bVar14); uVar4 = uVar3 + uVar9; uVar2 = (uint)CARRY2(uVar3,uVar9); uVar9 = uVar10 + uVar2; uVar3 = (uint)CARRY2(uVar10,uVar2); uVar2 = (uint)uVar17 + uVar3; uVar13 = uVar13 * 2 + (uint)(bVar16 || CARRY2(uVar1,(uint)(bVar15 || CARRY2(uVar5,uVar12)))) + (uint)CARRY2((uint)uVar17,uVar3); } uVar12 = 0x404e; while (uVar5 = uVar4, uVar3 = uVar2, uVar13 == 0) { uVar12 = uVar12 - 0x10; uVar2 = uVar9; uVar4 = uVar7; uVar7 = 0; uVar9 = uVar5; uVar13 = uVar3; } for (; -1 < (int)uVar13; uVar13 = uVar13 << 1 | (uint)bVar16) { bVar15 = (int)uVar7 < 0; uVar7 = uVar7 << 1; bVar16 = (int)uVar5 < 0; uVar5 = uVar5 << 1 | (uint)bVar15; bVar15 = (int)uVar9 < 0; uVar9 = uVar9 << 1 | (uint)bVar16; bVar16 = (int)uVar3 < 0; uVar3 = uVar3 << 1 | (uint)bVar15; uVar12 = uVar12 - 1; } param_1[5] = uVar12; param_1[4] = uVar13; param_1[3] = uVar3; param_1[2] = uVar9; param_1[1] = uVar5; *param_1 = uVar7; return param_1; } // Function: FUN_1e78_3314 at 1e78:3314 undefined4 __cdecl16near FUN_1e78_3314(void) { int in_AX; int in_DX; int in_BX; return CONCAT22(in_DX << 1,in_AX << 1 | (uint)(in_BX < 0)); } // Function: FUN_1e78_3320 at 1e78:3320 /* WARNING: Instruction at (ram,0x00021ab3) overlaps instruction at (ram,0x00021ab1) */ void __cdecl16far FUN_1e78_3320(undefined2 param_1,undefined2 param_2,undefined2 param_3,undefined2 param_4) { code *pcVar1; undefined2 extraout_DX; char in_BH; undefined1 *unaff_SI; undefined2 unaff_SS; undefined2 unaff_DS; undefined1 uVar2; char cVar3; char cVar4; undefined2 in_stack_00000002; undefined1 *puVar5; undefined1 auStack_10 [4]; undefined1 local_c [10]; cVar4 = SBORROW2((int)&stack0xfffe,0xe); cVar3 = (int)auStack_10 < 0; uVar2 = &stack0x0000 == (undefined1 *)0x10; puVar5 = local_c; do { FUN_1e78_3388(in_stack_00000002,param_1,param_2,param_3,param_4,puVar5,unaff_SS); do { pcVar1 = (code *)swi(0x35); (*pcVar1)(); if (!(bool)uVar2 && cVar4 == cVar3) { pcVar1 = (code *)swi(0x37); (*pcVar1)(); out(*unaff_SI,extraout_DX); return; } cVar4 = false; cVar3 = in_BH < '\0'; uVar2 = in_BH == '\0'; } while ((bool)uVar2); } while( true ); } // Function: FUN_1e78_3388 at 1e78:3388 uint FUN_1e78_3388(undefined2 param_1,byte *param_2,int *param_3,uint *param_4) { byte *pbVar1; char *pcVar2; uint *puVar3; bool bVar4; int iVar5; byte bVar6; uint uVar7; uint uVar8; byte *pbVar9; char *pcVar10; byte *pbVar11; uint *puVar12; undefined2 uVar13; undefined2 unaff_SS; int iVar14; bool bVar15; char local_36 [26]; uint local_1c; uint local_1a; int local_18; uint local_16; byte *local_14; int local_12; uint local_10; uint local_e; uint local_c; uint local_a; uint local_8; uint local_6; uint local_4; iVar14 = (int)((ulong)param_2 >> 0x10); local_14 = (byte *)param_2; local_10 = 0; local_12 = iVar14; local_16 = 0; local_1a = 0; local_18 = 0; local_1c = 0x19; pcVar10 = local_36; pbVar11 = local_14; do { do { pbVar9 = pbVar11; pbVar11 = pbVar9 + 1; bVar6 = *pbVar9; } while (bVar6 == 0x20); } while (((bVar6 == 9) || (bVar6 == 10)) || (bVar6 == 0xd)); puVar12 = (uint *)param_4; uVar13 = (undefined2)((ulong)param_4 >> 0x10); if (bVar6 != 0) { if (bVar6 == 0x2b) { LAB_1e78_33d7: pbVar1 = pbVar11; pbVar11 = pbVar9 + 2; bVar6 = *pbVar1; } else if (bVar6 == 0x2d) { local_16 = 0x8000; goto LAB_1e78_33d7; } if ((0x2f < bVar6) && (bVar6 < 0x3a)) { while (bVar6 == 0x30) { pbVar1 = pbVar11; pbVar11 = pbVar11 + 1; bVar6 = *pbVar1; } if (bVar6 != 0) { iVar5 = local_18; if (bVar6 != 0x2e) { while ((0x2f < bVar6 && (bVar6 < 0x3a))) { pcVar2 = pcVar10; pcVar10 = pcVar10 + 1; *pcVar2 = bVar6 - 0x30; local_1c = local_1c + -1; iVar5 = local_18; if (local_1c == 0) goto LAB_1e78_3425; pbVar1 = pbVar11; pbVar11 = pbVar11 + 1; bVar6 = *pbVar1; } if (bVar6 == 0x2e) { do { pbVar1 = pbVar11; pbVar11 = pbVar11 + 1; bVar6 = *pbVar1; LAB_1e78_343f: if ((bVar6 < 0x30) || (0x39 < bVar6)) goto LAB_1e78_345b; pcVar2 = pcVar10; pcVar10 = pcVar10 + 1; *pcVar2 = bVar6 - 0x30; local_18 = local_18 + -1; local_1c = local_1c + -1; } while (local_1c != 0); goto LAB_1e78_3452; } goto LAB_1e78_345b; } do { local_18 = iVar5; bVar6 = *pbVar11; LAB_1e78_3404: pbVar11 = pbVar11 + 1; iVar5 = local_18 + -1; } while (bVar6 == 0x30); if (bVar6 != 0) goto LAB_1e78_343f; } local_14 = pbVar11 + -1; goto LAB_1e78_35bd; } if ((bVar6 == 0x2e) && ((bVar6 = *pbVar11, 0x2f < bVar6 && (bVar6 < 0x3a)))) goto LAB_1e78_3404; } local_10 = 4; goto LAB_1e78_35bd; while (iVar5 = local_18 + 1, bVar6 < 0x3a) { LAB_1e78_3425: local_18 = iVar5; pbVar1 = pbVar11; pbVar11 = pbVar11 + 1; bVar6 = *pbVar1; if (bVar6 < 0x30) break; } if (bVar6 == 0x2e) { LAB_1e78_3452: do { pbVar1 = pbVar11; pbVar11 = pbVar11 + 1; bVar6 = *pbVar1; if (bVar6 < 0x30) break; } while (bVar6 < 0x3a); } LAB_1e78_345b: local_1c = 0x19 - local_1c; local_14 = pbVar11 + -1; if ((((bVar6 == 0x45) || (bVar6 == 0x65)) || (bVar6 == 0x44)) || (bVar6 == 100)) { pbVar9 = pbVar11 + 1; bVar6 = *pbVar11; if (bVar6 == 0x2b) { LAB_1e78_348a: pbVar1 = pbVar9; pbVar9 = pbVar11 + 2; bVar6 = *pbVar1; } else if (bVar6 == 0x2d) { local_1a = 0xffff; goto LAB_1e78_348a; } if ((0x2f < bVar6) && (bVar6 < 0x3a)) { uVar7 = bVar6 - 0x30; uVar8 = uVar7; do { pbVar1 = pbVar9; pbVar9 = pbVar9 + 1; bVar6 = *pbVar1; if ((bVar6 < 0x30) || (0x39 < bVar6)) goto LAB_1e78_34c1; if (0x666 < uVar8) break; uVar7 = CONCAT11((char)(uVar7 >> 8),bVar6 - 0x30) + uVar8 * 2; uVar8 = uVar8 * 8 + uVar7; } while (-1 < (int)uVar8); uVar8 = 0x3fff; do { pbVar1 = pbVar9; pbVar9 = pbVar9 + 1; if (*pbVar1 < 0x30) break; } while (*pbVar1 < 0x3a); LAB_1e78_34c1: local_18 = local_18 + ((uVar8 ^ local_1a) - local_1a); local_14 = pbVar9 + -1; } } if (local_1c != 0) { *pcVar10 = '\0'; pbVar11 = (byte *)(pcVar10 + -1); if (local_1c < 0x19) { if (local_18 != 0) goto LAB_1e78_3508; } else { bVar6 = *pbVar11; *pbVar11 = 0; local_1c = local_1c - 1; local_18 = local_18 + 1; pbVar11 = (byte *)(pcVar10 + -2); if (bVar6 < 5) { LAB_1e78_3508: for (; *pbVar11 == 0; pbVar11 = pbVar11 + -1) { local_1c = local_1c - 1; local_18 = local_18 + 1; } } else { *pbVar11 = *pbVar11 + 1; } } FUN_1e78_3266(&local_e,local_1c,local_36,unaff_SS); if (local_18 == 0) { LAB_1e78_3542: if ((0x7fff < local_e) && ((0x8000 < local_e || ((local_c & 1) != 0)))) { bVar15 = 0xfffe < local_c; local_c = local_c + 1; bVar4 = CARRY2(local_a,(uint)bVar15); local_a = local_a + bVar15; uVar8 = (uint)bVar4; bVar4 = CARRY2(local_8,uVar8); local_8 = local_8 + uVar8; uVar8 = (uint)bVar4; bVar4 = CARRY2(local_6,uVar8); local_6 = local_6 + uVar8; if (bVar4) { local_6 = local_6 | 0x8000; local_4 = local_4 + 1; } } if (local_4 < 0x7fff) { if ((local_4 != 0) || (((local_6 != 0 || local_8 != 0) || local_a != 0) || local_c != 0)) { puVar12[3] = local_6; puVar12[2] = local_8; puVar12[1] = local_a; *param_4 = local_c; puVar12[4] = local_4 | local_16; goto LAB_1e78_359f; } LAB_1e78_35c9: local_10 = local_10 | 1; goto LAB_1e78_35bd; } } else if (local_18 < 0x1450) { if (-0x1450 < local_18) { FUN_1e78_300c(param_1,local_18,&local_e,unaff_SS); goto LAB_1e78_3542; } goto LAB_1e78_35c9; } local_10 = local_10 | 2; puVar12[4] = local_16 | 0x7fff; puVar12[3] = 0x8000; puVar12[2] = 0; puVar12[1] = 0; *param_4 = 0; goto LAB_1e78_359f; } LAB_1e78_35bd: for (iVar14 = 5; iVar14 != 0; iVar14 = iVar14 + -1) { puVar3 = puVar12; puVar12 = puVar12 + 1; *puVar3 = 0; } LAB_1e78_359f: *param_3 = (int)local_14; ((int *)param_3)[1] = local_12; return local_10; } // Function: FUN_1e78_3658 at 1e78:3658 void __cdecl16far FUN_1e78_3658(char *param_1) { char cVar1; char *pcVar2; undefined2 unaff_DS; char *local_4; for (; (*param_1 != '\0' && (*param_1 != '.')); param_1 = param_1 + 1) { } if (*param_1 != '\0') { do { pcVar2 = param_1; param_1 = pcVar2 + 1; if ((*param_1 == '\0') || (*param_1 == 'e')) break; } while (*param_1 != 'E'); local_4 = param_1; for (param_1 = pcVar2; *param_1 == '0'; param_1 = param_1 + -1) { } if (*param_1 == '.') { param_1 = param_1 + -1; } do { cVar1 = *local_4; param_1 = param_1 + 1; *param_1 = cVar1; local_4 = local_4 + 1; } while (cVar1 != '\0'); } return; } // Function: FUN_1e78_36c6 at 1e78:36c6 /* WARNING: Control flow encountered bad instruction data */ undefined2 __cdecl16far FUN_1e78_36c6(undefined2 param_1,unkbyte10 *param_2) { code *pcVar1; undefined2 uVar2; undefined2 unaff_DS; undefined1 uVar3; undefined1 uVar4; unkbyte10 in_ST0; undefined1 local_4; byte bStack_3; uVar4 = SBORROW2((int)&stack0xfffe,2); uVar3 = (int)&local_4 < 0; pcVar1 = (code *)swi(0x39); (*pcVar1)(); pcVar1 = (code *)swi(0x38); (*pcVar1)(); if ((bool)uVar4) { if (!(bool)uVar3) { pcVar1 = (code *)swi(0x3c); (*pcVar1)(); *param_2 = in_ST0; pcVar1 = (code *)swi(0x3d); uVar2 = (*pcVar1)(); return uVar2; } /* WARNING: Bad instruction - Truncating control flow here */ halt_baddata(); } pcVar1 = (code *)swi(0x39); (*pcVar1)(); pcVar1 = (code *)swi(0x3d); (*pcVar1)(); if ((bStack_3 & 1) == 0) { return 1; } return 0; } // Function: FUN_1e78_36f4 at 1e78:36f4 void __cdecl16far FUN_1e78_36f4(int param_1,longdouble *param_2,undefined2 param_3) { code *pcVar1; undefined2 *puVar2; longdouble *plVar3; undefined2 uVar4; undefined2 unaff_DS; longdouble in_ST0; plVar3 = (longdouble *)param_2; if (param_1 != 1) { if (param_1 == 2) { FUN_1e78_417e(0x1e78,param_3); pcVar1 = (code *)swi(0x3c); (*pcVar1)(); *plVar3 = in_ST0; } else { FUN_1e78_206e(param_3); pcVar1 = (code *)swi(0x39); (*pcVar1)(); pcVar1 = (code *)swi(0x3c); (*pcVar1)(); *(float *)plVar3 = (float)in_ST0; } pcVar1 = (code *)swi(0x3d); (*pcVar1)(); return; } puVar2 = (undefined2 *)FUN_1e78_206e(param_3); uVar4 = (undefined2)((ulong)param_2 >> 0x10); *(undefined2 *)param_2 = *puVar2; *(undefined2 *)((int)plVar3 + 2) = puVar2[1]; *(undefined2 *)(float *)((int)plVar3 + 4) = puVar2[2]; *(undefined2 *)((int)plVar3 + 6) = puVar2[3]; return; } // Function: FUN_1e78_3750 at 1e78:3750 undefined1 * __cdecl16far FUN_1e78_3750(undefined2 *param_1,undefined1 *param_2,int param_3,int param_4) { undefined1 *puVar1; int iVar2; undefined2 unaff_DS; int *local_4; if (*(char *)0x87c == '\0') { local_4 = (int *)FUN_1e78_3d40(*param_1,param_1[1],param_1[2],param_1[3]); FUN_1e78_2124(param_2 + (uint)(*local_4 == 0x2d) + (uint)(0 < param_3),param_3 + 1,local_4); } else { local_4 = (int *)*(undefined2 *)0x4d7e; FUN_1e78_3ab6(0 < param_3,param_2 + (*local_4 == 0x2d)); } puVar1 = param_2; if (*local_4 == 0x2d) { *param_2 = 0x2d; puVar1 = param_2 + 1; } if (0 < param_3) { *puVar1 = puVar1[1]; puVar1 = puVar1 + 1; *puVar1 = 0x2e; } puVar1 = (undefined1 *)FUN_1e78_1fde(puVar1 + (uint)(*(char *)0x87c == '\0') + param_3,0x876); if (param_4 != 0) { *puVar1 = 0x45; } if (*(char *)local_4[3] != '0') { iVar2 = local_4[1] + -1; if (iVar2 < 0) { iVar2 = -iVar2; puVar1[1] = 0x2d; } if (99 < iVar2) { puVar1[2] = puVar1[2] + (char)(iVar2 / 100); iVar2 = iVar2 % 100; } if (9 < iVar2) { puVar1[3] = puVar1[3] + (char)(iVar2 / 10); iVar2 = iVar2 % 10; } puVar1[4] = puVar1[4] + (char)iVar2; } return param_2; } // Function: FUN_1e78_387a at 1e78:387a void __cdecl16far FUN_1e78_387a(undefined2 param_1,undefined2 param_2,undefined2 param_3,undefined2 param_4) { undefined2 unaff_DS; *(undefined1 *)0x87c = 1; FUN_1e78_3750(param_1,param_2,param_3,param_4); *(undefined1 *)0x87c = 0; return; } // Function: FUN_1e78_389e at 1e78:389e undefined1 * __cdecl16far FUN_1e78_389e(undefined2 *param_1,undefined1 *param_2,int param_3) { int iVar1; int iVar2; undefined1 *puVar3; undefined2 unaff_DS; int *local_4; if (*(char *)0x87c == '\0') { local_4 = (int *)FUN_1e78_3d40(*param_1,param_1[1],param_1[2],param_1[3]); FUN_1e78_2124(param_2 + (*local_4 == 0x2d),local_4[1] + param_3,local_4); } else { local_4 = (int *)*(undefined2 *)0x4d7e; iVar1 = *local_4; iVar2 = *(int *)0x87e; if (param_3 == iVar2) { param_2[iVar2 + (uint)(iVar1 == 0x2d)] = 0x30; param_2[iVar2 + (uint)(iVar1 == 0x2d) + 1] = 0; } } puVar3 = param_2; if (*local_4 == 0x2d) { *param_2 = 0x2d; puVar3 = param_2 + 1; } if (local_4[1] < 1) { FUN_1e78_3ab6(1,puVar3); *puVar3 = 0x30; puVar3 = puVar3 + 1; } else { puVar3 = puVar3 + local_4[1]; } if (0 < param_3) { FUN_1e78_3ab6(1,puVar3); *puVar3 = 0x2e; if (local_4[1] < 0) { if (*(char *)0x87c == '\0') { iVar2 = -local_4[1]; if (-param_3 != local_4[1] && param_3 <= iVar2) { iVar2 = param_3; } } else { iVar2 = -local_4[1]; } FUN_1e78_3ab6(iVar2,puVar3 + 1); FUN_1e78_23b0(puVar3 + 1,0x30,iVar2); } } return param_2; } // Function: FUN_1e78_3992 at 1e78:3992 void __cdecl16far FUN_1e78_3992(undefined2 param_1,undefined2 param_2,undefined2 param_3) { undefined2 unaff_DS; *(undefined1 *)0x87c = 1; FUN_1e78_389e(param_1,param_2,param_3); *(undefined1 *)0x87c = 0; return; } // Function: FUN_1e78_39b4 at 1e78:39b4 void __cdecl16far FUN_1e78_39b4(undefined2 *param_1,int param_2,int param_3,undefined2 param_4) { int *piVar1; char *pcVar2; int iVar3; undefined2 unaff_DS; char *local_4; piVar1 = (int *)FUN_1e78_3d40(*param_1,param_1[1],param_1[2],param_1[3]); *(undefined2 *)0x4d7e = piVar1; *(int *)0x87e = piVar1[1] + -1; pcVar2 = (char *)((uint)(*piVar1 == 0x2d) + param_2); FUN_1e78_2124(pcVar2,param_3,piVar1); iVar3 = *(int *)(*(int *)0x4d7e + 2) + -1; *(bool *)0x880 = *(int *)0x87e < iVar3; *(int *)0x87e = iVar3; if ((-5 < iVar3) && (iVar3 < param_3)) { if (*(char *)0x880 != '\0') { do { local_4 = pcVar2; pcVar2 = local_4 + 1; } while (*local_4 != '\0'); local_4[-1] = '\0'; } FUN_1e78_3992(param_1,param_2,param_3); return; } FUN_1e78_387a(param_1,param_2,param_3,param_4); return; } // Function: FUN_1e78_3a66 at 1e78:3a66 void __cdecl16far FUN_1e78_3a66(undefined2 param_1,undefined2 param_2,int param_3,undefined2 param_4, undefined2 param_5) { if ((param_3 == 0x65) || (param_3 == 0x45)) { FUN_1e78_3750(param_1,param_2,param_4,param_5); } else { if (param_3 != 0x66) { FUN_1e78_39b4(param_1,param_2,param_4,param_5); return; } FUN_1e78_389e(param_1,param_2,param_4); } return; } // Function: FUN_1e78_3ab6 at 1e78:3ab6 void FUN_1e78_3ab6(int param_1,int param_2) { int iVar1; if (param_1 != 0) { iVar1 = FUN_1e78_2010(param_2); FUN_1e78_2368(param_1 + param_2,param_2,iVar1 + 1); } return; } // Function: FUN_1e78_3b37 at 1e78:3b37 undefined2 __cdecl16far FUN_1e78_3b37(void) { int iVar1; code *pcVar2; undefined1 uVar3; undefined2 uVar4; int iVar5; int in_CX; int extraout_DX; int extraout_DX_00; undefined2 extraout_DX_01; int *piVar6; int unaff_SI; undefined1 *puVar7; int unaff_DI; undefined2 unaff_DS; bool bVar8; char cVar9; char cVar10; char local_13; uint local_c; pcVar2 = (code *)swi(0x39); (*pcVar2)(); pcVar2 = (code *)swi(0x39); (*pcVar2)(); puVar7 = (undefined1 *)(unaff_SI + 2); FUN_1e78_270e(0x1e78); *(undefined1 *)0x8b6 = 0; if ((local_13 < '\x01') || (local_13 == '\x06')) { pcVar2 = (code *)swi(0x37); (*pcVar2)(); iVar5 = extraout_DX; do { in_CX = in_CX + -1; if (in_CX != 0) { uVar4 = in(0x5d); return uVar4; } iVar1 = *(int *)0x486; cVar10 = SBORROW2(iVar1,iVar5); cVar9 = iVar1 - iVar5 < 0; bVar8 = iVar1 == iVar5; pcVar2 = (code *)swi(0x39); (*pcVar2)(); iVar5 = extraout_DX_00; } while (bVar8 || cVar10 != cVar9); pcVar2 = (code *)swi(0x3d); local_13 = (*pcVar2)(); if ((local_c & 8) == 0) { if (local_13 != '\x06') { if (*(char *)0x8b6 == '\0') { pcVar2 = (code *)swi(0x39); uVar3 = (*pcVar2)(); LOCK(); *puVar7 = uVar3; UNLOCK(); } pcVar2 = (code *)swi(0x35); (*pcVar2)(); out(*puVar7,extraout_DX_01); pcVar2 = (code *)swi(0x3d); uVar4 = (*pcVar2)(); return uVar4; } } else { local_13 = '\x03'; } } uVar3 = (undefined1)in_CX; iVar5 = (int)local_13; *(int *)0x882 = iVar5; piVar6 = (int *)(unaff_DI + 1); *(undefined2 *)0x884 = piVar6; *(undefined1 *)0x8b5 = 0; if (((*piVar6 == 0x6f6c) && (*(char *)(unaff_DI + 3) == 'g')) && (local_13 == '\x02')) { *(undefined1 *)0x8b5 = 1; } if (*(char *)0x8b6 == '\0') { pcVar2 = (code *)swi(0x39); (*pcVar2)(puVar7); pcVar2 = (code *)swi(0x39); iVar5 = (*pcVar2)(); LOCK(); *(undefined1 *)((int)piVar6 + unaff_SI + 3) = uVar3; UNLOCK(); if ((char)piVar6[6] != '\x01') { pcVar2 = (code *)swi(0x39); (*pcVar2)(); pcVar2 = (code *)swi(0x39); iVar5 = (*pcVar2)(); } } /* WARNING: Could not recover jumptable at 0x0002236f. Too many branches */ /* WARNING: Treating indirect jump as call */ uVar4 = (*(code *)*(undefined2 *)(*(byte *)((int)piVar6 + iVar5 + 5) + 0x89e))(); return uVar4; } // Function: FUN_1e78_3c9d at 1e78:3c9d undefined2 __cdecl16far FUN_1e78_3c9d(void) { code *pcVar1; undefined2 in_stack_00000002; pcVar1 = (code *)swi(0x3a); (*pcVar1)(); pcVar1 = (code *)swi(0x3d); (*pcVar1)(); return in_stack_00000002; } // Function: FUN_1e78_3cb6 at 1e78:3cb6 /* WARNING: Instruction at (ram,0x0002244b) overlaps instruction at (ram,0x00022449) */ void __cdecl16far FUN_1e78_3cb6(void) { code *pcVar1; undefined2 extraout_DX; undefined2 extraout_DX_00; undefined1 *unaff_SI; int unaff_DI; undefined2 unaff_SS; undefined2 unaff_DS; bool bVar2; undefined1 uVar3; char cVar4; char cVar5; char acStack_bbc [2982]; undefined1 auStack_e [8]; uint local_6; uint local_4; cVar5 = SBORROW2((int)&stack0xfffe,0xc); cVar4 = (int)auStack_e < 0; bVar2 = &stack0x0000 == (undefined1 *)0xe; pcVar1 = (code *)swi(0x35); (*pcVar1)(); do { } while (bVar2 || cVar5 != cVar4); while( true ) { pcVar1 = (code *)swi(0x3d); (*pcVar1)(); cVar5 = '\0'; local_6 = local_4 | 0xc00; cVar4 = (int)local_6 < 0; uVar3 = (byte)((byte)(local_4 >> 8) | 0xc) == 0; pcVar1 = (code *)swi(0x35); (*pcVar1)(); out(*unaff_SI,extraout_DX); pcVar1 = (code *)swi(0x3b); (*pcVar1)(); if (!(bool)uVar3 && cVar5 == cVar4) break; unaff_SI = unaff_SI + 2; } pcVar1 = (code *)swi(0x35); (*pcVar1)(); out(unaff_SI[1],extraout_DX_00); acStack_bbc[unaff_DI] = acStack_bbc[unaff_DI] + -1; return; } // Function: FUN_1e78_3cea at 1e78:3cea undefined2 __cdecl16far FUN_1e78_3cea(int param_1) { uint uVar1; undefined2 unaff_DS; undefined2 local_8; uVar1 = FUN_1e78_3320(param_1); *(int *)0x4d82 = local_8 - param_1; *(undefined2 *)0x4d80 = 0; if ((uVar1 & 4) != 0) { *(undefined2 *)0x4d80 = 0x200; } if ((uVar1 & 2) != 0) { *(byte *)0x4d80 = *(byte *)0x4d80 | 1; } if ((uVar1 & 1) != 0) { *(byte *)0x4d81 = *(byte *)0x4d81 | 1; } return 0x4d80; } // Function: FUN_1e78_3d40 at 1e78:3d40 undefined2 __cdecl16far FUN_1e78_3d40(undefined2 param_1,undefined2 param_2,undefined2 param_3,undefined2 param_4) { undefined1 *puVar1; undefined1 *puVar2; int iVar3; uint in_BX; undefined1 *puVar4; undefined1 *puVar5; undefined2 unaff_DS; undefined4 uVar6; *(undefined2 *)0x8c0 = param_1; *(undefined2 *)0x8c2 = param_2; *(undefined2 *)0x8c4 = param_3; *(undefined2 *)0x8c6 = param_4; uVar6 = FUN_1e78_2830(&stack0xfffe); puVar5 = (undefined1 *)0x8c8; puVar4 = (undefined1 *)0x8c1; for (iVar3 = (int)*(char *)0x8c0; iVar3 != 0; iVar3 = iVar3 + -1) { puVar2 = puVar5; puVar5 = puVar5 + 1; puVar1 = puVar4; puVar4 = puVar4 + 1; *puVar2 = *puVar1; } *puVar5 = 0; *(uint *)0x8b8 = in_BX & 0xff; *(undefined2 *)0x8ba = (int)((ulong)uVar6 >> 0x10); *(undefined2 *)0x8bc = (int)uVar6; *(undefined2 *)0x8be = 0x8c8; return 0x8b8; } // Function: FUN_1e78_3dde at 1e78:3dde undefined2 __cdecl16far FUN_1e78_3dde(void) { return 0; } // Function: FUN_1e78_3dee at 1e78:3dee void __cdecl16far FUN_1e78_3dee(undefined2 *param_1,undefined2 param_2,int param_3,undefined2 param_4) { int iVar1; undefined2 unaff_DS; undefined1 local_1c [26]; iVar1 = param_3 + 1; if (iVar1 < 1) { iVar1 = 1; } FUN_1e78_2b46(local_1c,0,iVar1,*param_1,param_1[1],param_1[2],param_1[3],param_1[4]); FUN_1e78_3e32(local_1c,param_2,param_3,param_4); return; } // Function: FUN_1e78_3e32 at 1e78:3e32 undefined1 * __cdecl16far FUN_1e78_3e32(int *param_1,undefined1 *param_2,int param_3,int param_4) { char *pcVar1; undefined2 unaff_DS; int local_a; int *local_8; int local_6; char *local_4; local_4 = param_2; local_8 = param_1 + 2; if ((char)param_1[1] == '-') { *param_2 = 0x2d; local_4 = param_2 + 1; } pcVar1 = local_4; if (*(char *)((int)param_1 + 3) == '\0') { *local_4 = 0x30; *(char *)((int)param_1 + 3) = *(char *)((int)param_1 + 3) + '\x01'; *param_1 = *param_1 + 1; } else { *local_4 = (char)*local_8; local_8 = (int *)((int)param_1 + 5); } local_4 = local_4 + 1; if (0 < param_3) { *local_4 = 0x2e; local_6 = *(char *)((int)param_1 + 3) + -1; param_3 = param_3 - local_6; local_4 = pcVar1 + 2; for (; local_6 != 0; local_6 = local_6 + -1) { *local_4 = (char)*local_8; local_8 = (int *)((int)local_8 + 1); local_4 = local_4 + 1; } while (param_3 = param_3 + -1, -1 < param_3) { *local_4 = 0x30; local_4 = local_4 + 1; } } pcVar1 = local_4; if (param_4 == 0) { *local_4 = 0x65; } else { *local_4 = 0x45; } local_4 = local_4 + 1; local_a = *param_1 + -1; if (local_a < 0) { local_a = -local_a; *local_4 = 0x2d; } else { *local_4 = 0x2b; } local_4 = pcVar1 + 2; if (999 < local_a) { *local_4 = (char)(local_a / 1000) + '0'; local_a = local_a % 1000; local_4 = pcVar1 + 3; } *local_4 = (char)(local_a / 100) + '0'; local_4[1] = (char)((local_a % 100) / 10) + '0'; local_4[2] = (char)((local_a % 100) % 10) + '0'; local_4[3] = '\0'; return param_2; } // Function: FUN_1e78_3f7c at 1e78:3f7c void __cdecl16far FUN_1e78_3f7c(undefined2 *param_1,undefined2 param_2,int param_3) { int iVar1; undefined2 unaff_DS; undefined1 local_1c [26]; iVar1 = param_3; if (param_3 < 0) { iVar1 = 0; } FUN_1e78_2b46(local_1c,1,iVar1,*param_1,param_1[1],param_1[2],param_1[3],param_1[4]); FUN_1e78_3fba(local_1c,param_2,param_3); return; } // Function: FUN_1e78_3fba at 1e78:3fba undefined1 * __cdecl16far FUN_1e78_3fba(int *param_1,undefined1 *param_2,int param_3) { undefined2 unaff_DS; int local_a; int *local_8; int local_6; undefined1 *local_4; local_4 = param_2; local_a = *param_1; local_8 = param_1 + 2; if ((char)param_1[1] == '-') { *param_2 = 0x2d; local_4 = param_2 + 1; } if (local_a < 1) { *local_4 = 0x30; local_4 = local_4 + 1; } else { local_6 = (int)*(char *)((int)param_1 + 3); if (local_a < *(char *)((int)param_1 + 3)) { local_6 = local_a; } local_a = local_a - local_6; *(char *)((int)param_1 + 3) = *(char *)((int)param_1 + 3) - (char)local_6; while (local_6 != 0) { *local_4 = (char)*local_8; local_8 = (int *)((int)local_8 + 1); local_6 = local_6 + -1; local_4 = local_4 + 1; } while (local_a != 0) { local_a = local_a + -1; *local_4 = 0x30; local_4 = local_4 + 1; } } if (0 < param_3) { *local_4 = 0x2e; param_3 = param_3 - (*(char *)((int)param_1 + 3) - local_a); while( true ) { local_4 = local_4 + 1; if (-1 < local_a) break; *local_4 = 0x30; local_a = local_a + 1; } local_6 = (int)*(char *)((int)param_1 + 3); while (local_6 != 0) { *local_4 = (char)*local_8; local_8 = (int *)((int)local_8 + 1); local_6 = local_6 + -1; local_4 = local_4 + 1; } while (0 < param_3) { *local_4 = 0x30; param_3 = param_3 + -1; local_4 = local_4 + 1; } } *local_4 = 0; return param_2; } // Function: FUN_1e78_40ba at 1e78:40ba void __cdecl16far FUN_1e78_40ba(undefined2 *param_1,undefined2 param_2,int param_3,undefined2 param_4) { undefined2 unaff_DS; int local_1c [13]; if (param_3 < 1) { param_3 = 1; } FUN_1e78_2b46(local_1c,0,param_3,*param_1,param_1[1],param_1[2],param_1[3],param_1[4]); if ((-4 < local_1c[0]) && (local_1c[0] <= param_3)) { FUN_1e78_3fba(local_1c,param_2,param_3 - local_1c[0]); return; } FUN_1e78_3e32(local_1c,param_2,param_3 + -1,param_4); return; } // Function: FUN_1e78_4128 at 1e78:4128 void __cdecl16far FUN_1e78_4128(undefined2 param_1,undefined2 param_2,int param_3,undefined2 param_4, undefined2 param_5) { if ((param_3 == 0x65) || (param_3 == 0x45)) { FUN_1e78_3dee(param_1,param_2,param_4,param_5); } else { if ((param_3 != 0x66) && (param_3 != 0x46)) { FUN_1e78_40ba(param_1,param_2,param_4,param_5); return; } FUN_1e78_3f7c(param_1,param_2,param_4); } return; } // Function: FUN_1e78_417e at 1e78:417e void FUN_1e78_417e(undefined2 param_1,undefined2 param_2) { code *pcVar1; char cVar2; undefined2 extraout_DX; int in_BX; undefined1 *unaff_SI; undefined2 unaff_SS; undefined2 unaff_DS; undefined1 local_10 [4]; undefined1 local_c [10]; FUN_1e78_3388(1,param_2,unaff_DS,local_10,unaff_SS,local_c,unaff_SS); pcVar1 = (code *)swi(0x37); cVar2 = (*pcVar1)(); out(*unaff_SI,extraout_DX); unaff_SI[in_BX + 1] = unaff_SI[in_BX + 1] + cVar2; unaff_SI[in_BX + 1] = unaff_SI[in_BX + 1] + cVar2; unaff_SI[in_BX + 1] = unaff_SI[in_BX + 1] + cVar2; unaff_SI[in_BX + 1] = unaff_SI[in_BX + 1] + cVar2; unaff_SI[in_BX + 1] = unaff_SI[in_BX + 1] + cVar2; unaff_SI[in_BX + 1] = unaff_SI[in_BX + 1] + cVar2; unaff_SI[in_BX + 1] = unaff_SI[in_BX + 1] + cVar2; return; } // Function: FUN_1e78_41b0 at 1e78:41b0 void __cdecl16near FUN_1e78_41b0(void) { return; } // Function: FUN_1e78_41b1 at 1e78:41b1 void __cdecl16far FUN_1e78_41b1(void) { FUN_1e78_41b0(); return; } // Function: FUN_1e78_41c0 at 1e78:41c0 void __cdecl16far FUN_1e78_41c0(void) { undefined2 unaff_DS; (*(code *)*(undefined2 *)0x9f0)(); return; } // Function: FUN_2295_0750 at 2295:0750 byte __cdecl16near FUN_2295_0750(void) { byte in_AL; int in_BX; int unaff_SI; undefined2 unaff_DS; return in_AL | *(byte *)(in_BX + unaff_SI); } // Function: FUN_2504_0005 at 2504:0005 int __cdecl16near FUN_2504_0005(void) { int iVar1; uint uVar2; char extraout_DL; char cVar3; int extraout_DX; undefined2 unaff_DS; LOCK(); cVar3 = *(char *)0x95a; *(char *)0x95a = '\0'; UNLOCK(); if (cVar3 != '\0') { *(char *)0x97a = cVar3; iVar1 = FUN_2504_0038(); cVar3 = extraout_DL; if (extraout_DL == -1) { cVar3 = (char)iVar1; } if (cVar3 == (char)iVar1) goto LAB_2504_0033; } uVar2 = 0; FUN_2504_07ba(); cVar3 = (char)(extraout_DX + 1U); iVar1 = (uVar2 & 0xff) * (extraout_DX + 1U & 0xff); LAB_2504_0033: *(char *)0x97a = cVar3; return iVar1; } // Function: FUN_2504_0038 at 2504:0038 /* WARNING: Instruction at (ram,0x00025099) overlaps instruction at (ram,0x00025098) */ void __cdecl16near FUN_2504_0038(void) { uint uVar1; byte bVar2; char cVar3; undefined1 uVar4; undefined2 unaff_DS; uVar1 = *(uint *)0x4d9f; if (((uVar1 & 0x1c) != 0) && (*(byte *)0x977 != 0x40)) { bVar2 = *(byte *)(ulong)(*(byte *)0x977 + 0x946); if ((uVar1 & 8) == 0) { if ((uVar1 & 0x10) == 0) { bVar2 = bVar2 & 5; } else { bVar2 = bVar2 & 0x13; } } cVar3 = *(char *)0x97a; if (cVar3 == -1) { cVar3 = '<'; } if (cVar3 == '<') { uVar4 = 0x3c; if ((bVar2 & 0x10) != 0) goto LAB_2504_0092; cVar3 = '2'; } if (cVar3 == '2') { uVar4 = 0x32; if ((bVar2 & 8) != 0) goto LAB_2504_0092; cVar3 = '+'; } if ((((cVar3 == '+') && ((bVar2 & 4) != 0)) && (uVar4 = 0x2b, (uVar1 & 0x200) == 0)) || (uVar4 = 0x1e, (bVar2 & 2) != 0)) goto LAB_2504_0092; } uVar4 = 0x19; LAB_2504_0092: *(undefined1 *)0x97a = uVar4; return; } // Function: FUN_2504_0096 at 2504:0096 void __cdecl16near FUN_2504_0096(void) { byte bVar1; undefined2 unaff_DS; undefined1 in_ZF; FUN_2504_07ce(); if ((bool)in_ZF) { if (*(byte *)0x97a != 0x19) { bVar1 = *(byte *)0x97a & 1 | 6; if (*(char *)0x979 != '(') { bVar1 = 3; } if (((*(byte *)0x4d9f & 4) != 0) && (*(uint *)0x4da1 < 0x41)) { bVar1 = bVar1 >> 1; } *(byte *)0x986 = bVar1; } FUN_2504_0a9b(); } return; } // Function: FUN_2504_00c6 at 2504:00c6 int __cdecl16near FUN_2504_00c6(void) { byte bVar1; int iVar2; undefined2 unaff_DS; undefined1 in_ZF; FUN_2504_07ce(); if (!(bool)in_ZF) { FUN_2504_3759(); *(undefined2 *)0x4e38 = *(undefined2 *)0x4ef0; *(undefined2 *)0x4e3a = *(undefined2 *)0x4ef2; *(undefined2 *)0x4e42 = 0xffff; *(undefined1 *)0x4d99 = 3; if (*(char *)0x976 == '\x01') { FUN_2504_0408(); } } *(undefined2 *)0x4e3c = 0; *(undefined2 *)0x4e3e = 0; FUN_2504_03a5(); *(undefined2 *)0x4e65 = 0; *(undefined2 *)0x4e63 = 0; *(undefined1 *)0x4e6b = 0; *(undefined1 *)0x4e6d = 0; *(undefined1 *)0x4e4c = 0; *(undefined1 *)0x4d91 = 0; *(undefined1 *)0x4e6c = 1; bVar1 = *(byte *)0x979; *(int *)0x4e69 = bVar1 - 1; iVar2 = CONCAT11((char)(bVar1 - 1 >> 8),*(undefined1 *)0x97a); *(int *)0x4e67 = iVar2 + -1; return iVar2; } // Function: FUN_2504_01ee at 2504:01ee void __cdecl16near FUN_2504_01ee(void) { undefined2 unaff_DS; FUN_2504_3bd8(); if ((*(char *)0x976 != '\0') && (*(char *)0x4e6d != '\0')) { FUN_2504_0230(); *(undefined1 *)0x4e6d = 0; } *(undefined1 *)0x4d90 = 0; return; } // Function: FUN_2504_020f at 2504:020f void __cdecl16near FUN_2504_020f(void) { undefined2 unaff_DS; if (((*(char *)0x976 != '\0') && (*(char *)0x9de < '\0')) && (*(char *)0x4e6d == '\0')) { FUN_2504_0230(); *(char *)0x4e6d = *(char *)0x4e6d + '\x01'; } return; } // Function: FUN_2504_0230 at 2504:0230 void __cdecl16near FUN_2504_0230(undefined2 param_1,undefined2 *param_2,undefined2 param_3,undefined2 param_4, undefined2 param_5) { undefined1 uVar1; code *pcVar2; uint *puVar3; int iVar4; int iVar5; uint *puVar6; uint *puVar7; undefined2 unaff_DS; FUN_2504_02cf(); if (*(byte *)0x976 < 3) { uRam0000007c = 0x95c; uRam0000007e = unaff_DS; } else if (*(int *)0x977 == 0x13) { (*(code *)*(undefined2 *)0x9ac)(); uVar1 = *(undefined1 *)0x4e41; puVar3 = (uint *)*(undefined4 *)0x4da6; puVar6 = (uint *)puVar3; iVar4 = 8; do { iVar5 = 4; do { puVar7 = puVar6; *puVar7 = *puVar7 ^ CONCAT11(uVar1,uVar1); iVar5 = iVar5 + -1; puVar6 = puVar7 + 1; } while (iVar5 != 0); puVar6 = puVar7 + 0x9d; iVar4 = iVar4 + -1; } while (iVar4 != 0); return; } pcVar2 = (code *)swi(0x10); (*pcVar2)(); if (*(byte *)0x976 < 3) { *param_2 = param_4; param_2[1] = param_5; } return; } // Function: FUN_2504_02c6 at 2504:02c6 void __cdecl16near FUN_2504_02c6(void) { undefined2 unaff_DS; *(undefined2 *)0x4e61 = 0; *(undefined2 *)0x4e5f = 0; return; } // Function: FUN_2504_02cf at 2504:02cf void __cdecl16near FUN_2504_02cf(void) { code *pcVar1; pcVar1 = (code *)swi(0x10); (*pcVar1)(); return; } // Function: FUN_2504_02ee at 2504:02ee byte __cdecl16near FUN_2504_02ee(void) { byte bVar1; byte in_AL; char in_AH; undefined2 unaff_DS; bVar1 = *(byte *)0x981; if ((in_AH != '\0') || (bVar1 < in_AL)) { *(undefined1 *)0x4d90 = 3; in_AL = bVar1; } LOCK(); bVar1 = *(byte *)0x987; *(byte *)0x987 = in_AL; UNLOCK(); return bVar1; } // Function: FUN_2504_03a5 at 2504:03a5 undefined1 __cdecl16near FUN_2504_03a5(void) { undefined1 uVar1; uint in_AX; byte bVar2; undefined2 unaff_DS; if ((char)(in_AX >> 8) == '\0') { bVar2 = *(byte *)0x981; if (*(char *)0x976 == '\0') { bVar2 = 0x1f; } if ((byte)in_AX <= bVar2) goto LAB_2504_03c4; } in_AX = (uint)*(byte *)0x981; *(undefined1 *)0x4d90 = 3; LAB_2504_03c4: LOCK(); uVar1 = *(undefined1 *)0x4e40; *(undefined1 *)0x4e40 = (char)in_AX; UNLOCK(); FUN_2504_03ce(); return uVar1; } // Function: FUN_2504_03ce at 2504:03ce void __cdecl16near FUN_2504_03ce(void) { byte bVar1; undefined2 unaff_DS; bVar1 = *(byte *)0x4e40; if (*(char *)0x976 == '\0') { bVar1 = bVar1 & 0xf | (*(byte *)0x4e40 & 0x10) << 3 | (*(byte *)0x4e3c & 7) << 4; } else if (*(char *)0x99e == '\x02') { (*(code *)*(undefined2 *)0x9b8)(); bVar1 = *(byte *)0x4da5; } *(byte *)0x4e41 = bVar1; return; } // Function: FUN_2504_0408 at 2504:0408 /* WARNING: Instruction at (ram,0x0002547f) overlaps instruction at (ram,0x0002547e) */ byte __cdecl16near FUN_2504_0408(undefined2 param_1,undefined2 param_2) { byte bVar1; code *pcVar2; uint in_AX; undefined2 uVar3; char cVar5; uint uVar4; undefined2 unaff_SI; undefined2 unaff_DS; byte in_stack_00000000; if (*(char *)0x976 == '\x04') { if (in_AX < 0x10) { pcVar2 = (code *)swi(0x10); (*pcVar2)(); return in_stack_00000000; } } else if ((*(char *)0x976 == '\x01') && (in_AX < 4)) { if ((*(byte *)0x4d9f & 0x1c) != 0) { (*(code *)*(undefined2 *)0x99b)(); LOCK(); bVar1 = *(byte *)0x4d94; *(byte *)0x4d94 = (byte)unaff_SI; UNLOCK(); return bVar1; } uVar3 = CONCAT11(uRam00000466,(char)in_AX); pcVar2 = (code *)swi(0x10); (*pcVar2)(); pcVar2 = (code *)swi(0x10); (*pcVar2)(uVar3,unaff_SI); cVar5 = (char)((int)param_2 >> 0xc); uVar4 = CONCAT11(cVar5,cVar5) & 0xff01; uVar4 = CONCAT11((char)(uVar4 >> 8),(char)uVar4 << 1) & 0x2ff; return (byte)uVar4 | (byte)(uVar4 >> 9); } *(undefined1 *)0x4d90 = 0xfc; return 0xff; } // Function: FUN_2504_04b3 at 2504:04b3 int __cdecl16near FUN_2504_04b3(void) { int in_AX; int in_BX; undefined2 unaff_DS; if (in_AX < 0) { in_AX = 0; *(undefined1 *)0x4d90 = 3; } if (in_BX <= in_AX) { in_AX = in_BX + -1; *(undefined1 *)0x4d90 = 3; } return in_AX; } // Function: FUN_2504_04cb at 2504:04cb void FUN_2504_04cb(void) { undefined2 unaff_DS; if (*(char *)0x9de != '\0') { FUN_2504_0843(); return; } FUN_2504_0848(); return; } // Function: FUN_2504_04eb at 2504:04eb void __cdecl16near FUN_2504_04eb(void) { byte extraout_AL; byte bVar1; byte extraout_AH; byte bVar2; undefined2 unaff_DS; FUN_2504_051f(); bVar1 = extraout_AL; if (6 < extraout_AL) { bVar1 = 7; } bVar2 = extraout_AH & 0x1f; if (6 < (extraout_AH & 0x1f)) { bVar2 = 7; } *(undefined2 *)0x972 = CONCAT11(bVar2 | extraout_AH & 0x20,bVar1); return; } // Function: FUN_2504_051f at 2504:051f uint __cdecl16near FUN_2504_051f(void) { uint in_AX; byte bVar1; byte in_BL; byte in_BH; undefined2 unaff_DS; if (((*(char *)0x97a == '\x19') && (*(int *)0x97d != 200)) && ((*(int *)0x977 == 7 || (((*(byte *)0x4d9f & 0xc) == 0 || ((bRam00000487 & 1) != 0)))))) { bVar1 = (byte)(in_AX >> 8); in_AX = CONCAT11(bVar1 & 0x20 | (byte)(((bVar1 & 0x1f) * (uint)in_BH + (uint)(in_BL >> 1)) / (uint)in_BL), (char)(((in_AX & 0x1f) * (uint)in_BH + (uint)(in_BL >> 1)) / (uint)in_BL)); } return in_AX & 0x3f1f; } // Function: FUN_2504_056d at 2504:056d void __cdecl16near FUN_2504_056d(void) { undefined2 unaff_DS; FUN_2504_07da(); FUN_2504_07ba(); FUN_2504_07d4(); *(undefined1 *)0x4d91 = 0; return; } // Function: FUN_2504_076e at 2504:076e undefined2 __cdecl16near FUN_2504_076e(void) { FUN_2504_07ba(); return 0; } // Function: FUN_2504_077e at 2504:077e void __cdecl16near FUN_2504_077e(void) { uint uVar1; undefined2 unaff_DS; if (*(char *)0x4d9f == '\b') { uVar1 = CONCAT11(bRam00000410,*(undefined1 *)0x977) & 0xff07; bRam00000410 = (byte)(uVar1 >> 8) | 0x30; if ((char)uVar1 != '\a') { bRam00000410 = bRam00000410 & 0xef; } *(byte *)0x4d9c = bRam00000410; if ((*(byte *)0x4d9d & 4) == 0) { FUN_2504_07ba(); } } return; } // Function: FUN_2504_07ba at 2504:07ba void __cdecl16near FUN_2504_07ba(void) { code *pcVar1; pcVar1 = (code *)swi(0x10); (*pcVar1)(); return; } // Function: FUN_2504_07c3 at 2504:07c3 void __cdecl16near FUN_2504_07c3(void) { return; } // Function: FUN_2504_07ce at 2504:07ce void __cdecl16near FUN_2504_07ce(void) { return; } // Function: FUN_2504_07d4 at 2504:07d4 void __cdecl16near FUN_2504_07d4(void) { byte bVar1; long lVar2; undefined2 uVar3; undefined2 unaff_SS; bVar1 = *(byte *)0x975; lVar2 = (ulong)bVar1 * (ulong)(uint)(*(int *)0x984 << 4); uVar3 = (undefined2)((ulong)lVar2 >> 0x10); *(undefined2 *)0x44e = (int)lVar2; *(byte *)0x462 = bVar1; return; } // Function: FUN_2504_07da at 2504:07da void __cdecl16near FUN_2504_07da(void) { byte bVar1; long lVar2; undefined2 uVar3; undefined2 unaff_SS; bVar1 = *(byte *)0x974; lVar2 = (ulong)bVar1 * (ulong)(uint)(*(int *)0x984 << 4); uVar3 = (undefined2)((ulong)lVar2 >> 0x10); *(undefined2 *)0x44e = (int)lVar2; *(byte *)0x462 = bVar1; return; } // Function: FUN_2504_0843 at 2504:0843 undefined4 __cdecl16near FUN_2504_0843(void) { uint uVar1; uint uVar2; undefined2 in_DX; undefined2 unaff_DS; uVar1 = *(uint *)0x96a; FUN_2504_07ba(); uVar2 = uVar1; FUN_2504_07ba(); if ((((uVar2 & 0x2000) == 0) && ((*(byte *)0x4d9f & 4) != 0)) && (*(char *)0x97a != '\x19')) { FUN_2504_094e(); } return CONCAT22(in_DX,uVar1); } // Function: FUN_2504_0848 at 2504:0848 undefined4 __cdecl16near FUN_2504_0848(void) { uint uVar1; undefined2 in_DX; undefined2 unaff_DS; FUN_2504_07ba(); uVar1 = 0x2707; FUN_2504_07ba(); if ((((uVar1 & 0x2000) == 0) && ((*(byte *)0x4d9f & 4) != 0)) && (*(char *)0x97a != '\x19')) { FUN_2504_094e(); } return CONCAT22(in_DX,0x2707); } // Function: FUN_2504_088c at 2504:088c void __cdecl16near FUN_2504_088c(void) { undefined1 *puVar1; undefined1 *puVar2; undefined2 *puVar3; int in_CX; int iVar4; undefined1 *in_BX; undefined2 *puVar5; undefined1 *puVar6; undefined2 unaff_DS; if (in_CX == 0x27) { puVar5 = (undefined2 *)0x9ac; for (iVar4 = 0x17; iVar4 != 0; iVar4 = iVar4 + -1) { puVar3 = puVar5; puVar5 = puVar5 + 1; *puVar3 = 0x88a; } } puVar6 = (undefined1 *)0x976; for (; in_CX != 0; in_CX = in_CX + -1) { puVar2 = puVar6; puVar6 = puVar6 + 1; puVar1 = in_BX; in_BX = in_BX + 1; *puVar2 = *puVar1; } (*(code *)*(undefined2 *)0x9b8)(); *(undefined1 *)0x4dc4 = 0; return; } // Function: FUN_2504_08c1 at 2504:08c1 void __cdecl16near FUN_2504_08c1(undefined2 param_1,undefined2 param_2) { undefined1 uVar1; undefined2 unaff_DS; uVar1 = *(undefined1 *)0x4da4; (*(code *)*(undefined2 *)0x9ac)(); *(int *)0x4db6 = *(int *)0x4da6 + *(int *)0x99f; (*(code *)*(undefined2 *)0x9ac)(); *(undefined2 *)0x4db8 = *(undefined2 *)0x4da6; (*(code *)*(undefined2 *)0x9ac)(); *(undefined2 *)0x4dba = *(undefined2 *)0x4da6; *(undefined1 *)0x4dbe = *(undefined1 *)0x4da4; (*(code *)*(undefined2 *)0x9ac)(); *(undefined2 *)0x4dbc = *(undefined2 *)0x4da6; *(undefined1 *)0x4dbf = *(undefined1 *)0x4da4; *(undefined1 *)0x4da4 = uVar1; *(undefined2 *)0x4da6 = param_2; return; } // Function: FUN_2504_094e at 2504:094e void __cdecl16near FUN_2504_094e(void) { undefined1 in_AL; undefined1 in_AH; int in_DX; out(in_DX,in_AL); out(in_DX + 1,in_AH); return; } // Function: FUN_2504_0a9b at 2504:0a9b void __cdecl16near FUN_2504_0a9b(void) { int *piVar1; int iVar2; int iVar3; int iVar4; int *piVar5; undefined2 unaff_DS; if (*(char *)0x97a != '\x19') { *(uint *)0x984 = uRam0000044c >> 4; } piVar5 = (int *)0x4dc6; iVar2 = *(int *)0x984; iVar3 = 0; iVar4 = 8; do { piVar1 = piVar5; piVar5 = piVar5 + 1; *piVar1 = iVar3; iVar3 = iVar3 + iVar2 * 0x10; iVar4 = iVar4 + -1; } while (iVar4 != 0); return; } // Function: FUN_2504_0b6c at 2504:0b6c void __cdecl16far FUN_2504_0b6c(byte *param_1) { byte *pbVar1; char cVar2; code *pcVar3; byte *pbVar4; char extraout_DL; char extraout_DH; byte *pbVar5; byte *pbVar6; undefined2 uVar7; undefined2 unaff_SS; FUN_2504_01ee(); FUN_2504_02cf(); uVar7 = (undefined2)((ulong)param_1 >> 0x10); pbVar5 = (byte *)param_1; pbVar4 = pbVar5; while( true ) { do { do { pbVar6 = pbVar4; pbVar4 = pbVar6 + 1; } while (0xd < *pbVar6); } while (((*pbVar6 != 0xd) && (*pbVar6 != 10)) && (*pbVar6 != 0)); FUN_2504_0bee(); pbVar1 = pbVar5; pbVar5 = pbVar5 + 1; if (*pbVar1 == 0) break; if (*pbVar1 == 0xd) { FUN_2504_0c4c(); pbVar4 = pbVar5; } else { FUN_2504_0c3b(); pbVar4 = pbVar5; } } pcVar3 = (code *)swi(0x10); (*pcVar3)(pbVar5,&stack0xfffe); cVar2 = *(char *)0x4e63; *(char *)0x4e61 = extraout_DL - *(char *)0x4e65; *(char *)0x4e5f = extraout_DH - cVar2; FUN_2504_020f(); return; } // Function: FUN_2504_0bee at 2504:0bee void __cdecl16near FUN_2504_0bee(void) { code *pcVar1; uint uVar2; int iVar3; uint in_CX; undefined2 in_DX; undefined2 extraout_DX; undefined2 in_BX; undefined2 unaff_SS; if ((in_CX != 0) && (*(char *)0x4e6b == '\0')) { do { uVar2 = (int)(char)in_DX + in_CX; iVar3 = uVar2 - *(uint *)0x4e69; if (uVar2 < *(uint *)0x4e69 || iVar3 == 0) { FUN_2504_30c0(); return; } uVar2 = iVar3 - 1; if (uVar2 < in_CX) { FUN_2504_30c0(uVar2,in_BX); } if (*(char *)0x4e6c == '\0') { *(undefined1 *)0x4e6b = 1; pcVar1 = (code *)swi(0x10); (*pcVar1)(); return; } in_CX = uVar2; FUN_2504_0c3b(); in_DX = extraout_DX; } while (in_CX != 0); } return; } // Function: FUN_2504_0c3b at 2504:0c3b void FUN_2504_0c3b(void) { code *pcVar1; char in_DH; undefined2 unaff_SS; if (*(byte *)0x4e67 < (byte)(in_DH + 1U)) { FUN_2504_0c62(); } pcVar1 = (code *)swi(0x10); (*pcVar1)(); *(undefined1 *)0x4e6b = 0; return; } // Function: FUN_2504_0c4c at 2504:0c4c void __cdecl16near FUN_2504_0c4c(void) { code *pcVar1; undefined2 unaff_SS; pcVar1 = (code *)swi(0x10); (*pcVar1)(); *(undefined1 *)0x4e6b = 0; return; } // Function: FUN_2504_0c62 at 2504:0c62 void __cdecl16near FUN_2504_0c62(void) { FUN_2504_056d(); return; } // Function: FUN_2504_0c96 at 2504:0c96 void __cdecl16near FUN_2504_0c96(void) { undefined2 unaff_DS; if (*(int *)0x4e61 < 0) { *(undefined2 *)0x4e61 = 0; } else if (*(int *)0x4e69 - *(int *)0x4e65 < *(int *)0x4e61) { if (*(char *)0x4e6c == '\0') { *(int *)0x4e61 = *(int *)0x4e69 - *(int *)0x4e65; *(undefined1 *)0x4e6b = 1; } else { *(undefined2 *)0x4e61 = 0; *(int *)0x4e5f = *(int *)0x4e5f + 1; } } if (*(int *)0x4e5f < 0) { *(undefined2 *)0x4e5f = 0; } else if (*(int *)0x4e67 - *(int *)0x4e63 < *(int *)0x4e5f) { *(int *)0x4e5f = *(int *)0x4e67 - *(int *)0x4e63; FUN_2504_0c62(); } FUN_2504_02cf(); return; } // Function: FUN_2504_0cfa at 2504:0cfa void __cdecl16far FUN_2504_0cfa(void) { undefined2 unaff_DS; FUN_2504_01ee(); FUN_2504_0d30(*(int *)0x4e61 + 1,*(int *)0x4e5f + 1); FUN_2504_020f(); return; } // Function: FUN_2504_0d30 at 2504:0d30 void __cdecl16near FUN_2504_0d30(void) { undefined2 uVar1; undefined2 unaff_DS; uVar1 = FUN_2504_04b3(); *(undefined2 *)0x4e5f = uVar1; uVar1 = FUN_2504_04b3(); *(undefined2 *)0x4e61 = uVar1; *(undefined1 *)0x4e6b = 0; FUN_2504_0c96(); return; } // Function: FUN_2504_3010 at 2504:3010 void __cdecl16near FUN_2504_3010(void) { undefined2 unaff_DS; if ((*(byte *)0x4d9f & 0x40) != 0) { FUN_2504_088c(); *(undefined2 *)0x4ddc = 0x2000; *(undefined2 *)0x4dde = 0x5fb0; *(undefined2 *)0x4de0 = 0x7fb0; } return; } // Function: FUN_2504_30c0 at 2504:30c0 void __cdecl16near FUN_2504_30c0(void) { undefined1 *puVar1; int *piVar2; code *pcVar3; byte bVar4; undefined1 uVar6; int in_CX; byte in_BL; undefined1 *unaff_SI; int *unaff_DI; undefined2 unaff_ES; undefined2 unaff_SS; undefined2 unaff_DS; int iVar5; if (*(char *)0x976 != '\0') { do { pcVar3 = (code *)swi(0x10); (*pcVar3)(); pcVar3 = (code *)swi(0x10); (*pcVar3)(); in_CX = in_CX + -1; } while (in_CX != 0); return; } FUN_2504_3118(); iVar5 = (uint)in_BL << 8; if ((*(char *)0x4d9f == '\x02') && ((*(byte *)0x4d9e & 1) != 0)) { while( true ) { uVar6 = (undefined1)((uint)iVar5 >> 8); bVar4 = in(0x3da); iVar5 = CONCAT11(uVar6,bVar4); if ((bVar4 & 8) != 0) break; if ((bVar4 & 1) == 0) { puVar1 = unaff_SI; unaff_SI = unaff_SI + 1; iVar5 = CONCAT11(uVar6,*puVar1); do { bVar4 = in(0x3da); } while ((bVar4 & 1) == 0); piVar2 = unaff_DI; unaff_DI = unaff_DI + 1; *piVar2 = iVar5; in_CX = in_CX + -1; if (in_CX == 0) { return; } } } } do { puVar1 = unaff_SI; unaff_SI = unaff_SI + 1; iVar5 = CONCAT11((char)((uint)iVar5 >> 8),*puVar1); piVar2 = unaff_DI; unaff_DI = unaff_DI + 1; *piVar2 = iVar5; in_CX = in_CX + -1; } while (in_CX != 0); return; } // Function: FUN_2504_3118 at 2504:3118 undefined4 __cdecl16near FUN_2504_3118(void) { undefined1 uVar1; char in_CL; undefined2 in_DX; byte in_BH; uVar1 = (undefined1)((uint)in_DX >> 8); *(undefined2 *)((uint)in_BH * 2 + 0x450) = CONCAT11(uVar1,(char)in_DX + in_CL); return CONCAT22(CONCAT11(uVar1,(char)in_DX + in_CL),(uint)in_BH * 2); } // Function: FUN_2504_3151 at 2504:3151 void __cdecl16far FUN_2504_3151(uint param_1) { char *pcVar1; byte bVar2; undefined2 uVar3; uint uVar4; undefined2 unaff_DS; undefined1 uVar5; undefined1 in_ZF; undefined1 uVar6; FUN_2504_01ee(); *(undefined1 *)0x9dc = 0xff; if ((bool)in_ZF) { *(undefined2 *)0x4e6e = CONCAT11((char)((uint)*(undefined2 *)0x979 >> 8),*(undefined1 *)0x977); } if (param_1 == 0xffff) { if (*(char *)0x95a == '\0') { *(undefined1 *)0x95a = *(undefined1 *)0x970; } uVar4 = (uint)*(byte *)0x96e; *(undefined1 *)0x9de = 1; } else { uVar4 = param_1; if (0x7fff < param_1) { if ((int)param_1 < -3) { LAB_2504_318f: *(undefined1 *)0x4d90 = 0xfc; goto LAB_2504_3211; } bVar2 = *(byte *)0x4e1b; if (param_1 != 0xfffd) { bVar2 = *(byte *)0x4e1a; } uVar4 = (uint)bVar2; if (bVar2 == 0) { LAB_2504_3188: *(undefined1 *)0x4d90 = 0xfe; goto LAB_2504_3211; } } } while( true ) { if (uVar4 < 0x14) { uVar5 = (int)uVar4 < 0; uVar6 = uVar4 * 2 == 0; (*(code *)*(undefined2 *)(uVar4 * 2 + 0x91e))(); } else { uVar5 = uVar4 < 0x40; uVar6 = uVar4 == 0x40; if (!(bool)uVar6) goto LAB_2504_318f; FUN_2504_3010(); } if ((bool)uVar5) goto LAB_2504_3188; FUN_2504_0005(); FUN_2504_0038(); FUN_2504_077e(); (*(code *)*(undefined2 *)0x991)(); FUN_2504_076e(); if (!(bool)uVar5) break; *(undefined1 *)0x4d90 = 0xff; pcVar1 = (char *)0x9dc; *pcVar1 = *pcVar1 + '\x01'; if (*pcVar1 != '\0') goto LAB_2504_3211; uVar3 = *(undefined2 *)0x4e6e; LOCK(); uVar5 = *(undefined1 *)0x95a; *(undefined1 *)0x95a = (char)((uint)uVar3 >> 8); uVar4 = CONCAT11(uVar5,(char)uVar3); UNLOCK(); } FUN_2504_0005(); FUN_2504_0096(); (*(code *)*(undefined2 *)0x995)(); uVar3 = FUN_2504_02c6(); *(undefined2 *)0x4e63 = uVar3; *(undefined2 *)0x4e65 = uVar3; uVar3 = 0x8233; (*(code *)*(undefined2 *)0x993)(); FUN_2504_07ce(uVar3); if ((bool)uVar6) { if (param_1 == 0xffff) { *(undefined2 *)0x96a = *(undefined2 *)0x96c; FUN_2504_04eb(); } FUN_2504_04cb(); } FUN_2504_00c6(); LAB_2504_3211: FUN_2504_020f(); return; } // Function: FUN_2504_32ca at 2504:32ca void __cdecl16far FUN_2504_32ca(void) { FUN_2504_01ee(); FUN_2504_03a5(); FUN_2504_020f(); return; } // Function: FUN_2504_32db at 2504:32db undefined1 __cdecl16far FUN_2504_32db(void) { undefined2 unaff_DS; *(undefined1 *)0x4d90 = 0; return *(undefined1 *)0x4e40; } // Function: FUN_2504_32e4 at 2504:32e4 undefined2 __cdecl16far FUN_2504_32e4(void) { undefined2 uVar1; undefined2 unaff_DS; if (*(char *)0x976 == '\0') { uVar1 = 0xffff; *(undefined1 *)0x4d90 = 0xfd; } else { *(undefined1 *)0x4d90 = 0; uVar1 = FUN_2504_02ee(); } return uVar1; } // Function: FUN_2504_3319 at 2504:3319 void __cdecl16far FUN_2504_3319(undefined2 param_1) { undefined1 uVar1; undefined2 unaff_DS; *(undefined2 *)0x4e42 = param_1; *(undefined2 *)0x4f04 = param_1; uVar1 = 0; if (*(char *)0x976 == '\0') { uVar1 = 0xfd; } *(undefined1 *)0x4d90 = uVar1; return; } // Function: FUN_2504_3336 at 2504:3336 undefined2 __cdecl16far FUN_2504_3336(void) { undefined1 uVar1; undefined2 unaff_DS; uVar1 = 0; if (*(char *)0x976 == '\0') { uVar1 = 0xfd; } *(undefined1 *)0x4d90 = uVar1; return *(undefined2 *)0x4e42; } // Function: FUN_2504_341a at 2504:341a void __cdecl16far FUN_2504_341a(undefined4 param_1) { undefined2 unaff_DS; char cVar1; FUN_2504_3bd8(); cVar1 = '\0'; if ((int)((ulong)param_1 >> 0x10) == 0 && (int)param_1 == 0) { cVar1 = -4; } else { (*(code *)*(undefined2 *)0x99b)(); cVar1 = -1 - (cVar1 + -1); } *(char *)0x4d90 = cVar1; return; } // Function: FUN_2504_3464 at 2504:3464 void __cdecl16far FUN_2504_3464(uint param_1) { undefined2 unaff_DS; FUN_2504_01ee(); if (param_1 < 3) { if ((char)param_1 == '\x01') { if (*(char *)0x976 == '\0') { *(undefined1 *)0x4d90 = 0xfd; } else { *(undefined1 *)0x4d91 = 0; FUN_2504_35e0(); } } else { if ((char)param_1 == '\0') { FUN_2504_056d(); } else { FUN_2504_0c62(); } FUN_2504_02c6(); FUN_2504_02cf(); } } else { *(undefined1 *)0x4d90 = 0xfc; } FUN_2504_020f(); return; } // Function: FUN_2504_34c6 at 2504:34c6 void __cdecl16far FUN_2504_34c6(int param_1,int param_2,int param_3,int param_4) { undefined2 uVar1; undefined2 unaff_DS; FUN_2504_01ee(); if (param_3 + -1 < param_1 + -1) { *(undefined1 *)0x4d90 = 3; } uVar1 = FUN_2504_04b3(); *(undefined2 *)0x4e63 = uVar1; uVar1 = FUN_2504_04b3(); *(undefined2 *)0x4e67 = uVar1; if (param_4 + -1 < param_2 + -1) { *(undefined1 *)0x4d90 = 3; } uVar1 = FUN_2504_04b3(); *(undefined2 *)0x4e65 = uVar1; uVar1 = FUN_2504_04b3(); *(undefined2 *)0x4e69 = uVar1; FUN_2504_0d30(); FUN_2504_020f(); return; } // Function: FUN_2504_3524 at 2504:3524 void __cdecl16far FUN_2504_3524(int *param_1,int *param_2,int *param_3,int *param_4) { undefined2 unaff_DS; *(undefined1 *)0x4d90 = 0; *param_1 = *(int *)0x4e63 + 1; *param_2 = *(int *)0x4e65 + 1; *param_3 = *(int *)0x4e67 + 1; *param_4 = *(int *)0x4e69 + 1; return; } // Function: FUN_2504_3550 at 2504:3550 void __cdecl16far FUN_2504_3550(int param_1) { undefined2 unaff_DS; FUN_2504_01ee(); if (param_1 == 0) { *(undefined1 *)0x4d90 = 1; } else { FUN_2504_0c62(); FUN_2504_02cf(); } FUN_2504_020f(); return; } // Function: FUN_2504_357c at 2504:357c void __cdecl16far FUN_2504_357c(undefined2 param_1) { undefined2 in_BX; undefined1 uVar1; undefined2 unaff_DS; uVar1 = (undefined1)((uint)in_BX >> 8); FUN_2504_01ee(); if (((char)((uint)param_1 >> 8) == '\0') && ((byte)param_1 <= *(byte *)0x986)) { (*(code *)*(undefined2 *)0x993)(CONCAT11(uVar1,*(undefined1 *)0x974)); } else { *(undefined1 *)0x4d90 = 0xfc; } FUN_2504_020f(); return; } // Function: FUN_2504_35a4 at 2504:35a4 void __cdecl16far FUN_2504_35a4(undefined2 param_1) { undefined2 in_BX; undefined1 uVar1; undefined2 unaff_DS; uVar1 = (undefined1)((uint)in_BX >> 8); FUN_2504_01ee(); if (((char)((uint)param_1 >> 8) == '\0') && ((byte)param_1 <= *(byte *)0x986)) { (*(code *)*(undefined2 *)0x993)(CONCAT11(uVar1,*(undefined1 *)0x975)); } else { *(undefined1 *)0x4d90 = 0xfc; } FUN_2504_020f(); return; } // Function: FUN_2504_35e0 at 2504:35e0 void __cdecl16near FUN_2504_35e0(void) { undefined2 unaff_DS; (*(code *)*(undefined2 *)0x9b8)(); *(undefined2 *)0x4ef8 = *(undefined2 *)0x4e2a; *(undefined2 *)0x4efa = *(undefined2 *)0x4e2e; FUN_2504_35fe(); FUN_2504_08c1(); FUN_2504_3712(); (*(code *)*(undefined2 *)0x9ac)(); FUN_1e78_41b1(); return; } // Function: FUN_2504_35fe at 2504:35fe void __cdecl16near FUN_2504_35fe(void) { undefined2 in_CX; undefined2 uVar1; byte extraout_DL; undefined2 extraout_DX; undefined2 extraout_DX_00; int in_BX; int unaff_BP; undefined2 unaff_DS; undefined1 in_CF; int iVar2; FUN_2504_3654(); if (!(bool)in_CF) { FUN_2504_36c6(); LOCK(); uVar1 = *(undefined2 *)0x4ef8; *(undefined2 *)0x4ef8 = in_CX; UNLOCK(); LOCK(); *(undefined2 *)0x4efa = extraout_DX; UNLOCK(); FUN_2504_36c6(); FUN_2504_3709(); if ((bool)in_CF) { LOCK(); *(undefined2 *)0x4efa = extraout_DX_00; UNLOCK(); } in_BX = in_BX + 1; iVar2 = in_BX; FUN_2504_36fe(in_BX); if ((bool)in_CF) { LOCK(); *(undefined2 *)0x4ef8 = uVar1; UNLOCK(); } *(byte *)0x4f14 = extraout_DL & 7; (*(code *)*(undefined2 *)0x9ac)(in_BX + 1); do { (*(code *)*(undefined2 *)0x9d0)(iVar2); iVar2 = -0x7981; (*(code *)*(undefined2 *)0x9b6)(); *(char *)0x4f14 = *(char *)0x4f14 + '\x01'; *(byte *)0x4f14 = *(byte *)0x4f14 & 7; unaff_BP = unaff_BP + -1; } while (unaff_BP != 0); } *(undefined2 *)0x4f04 = 0xffff; return; } // Function: FUN_2504_3654 at 2504:3654 void __cdecl16near FUN_2504_3654(void) { int iVar1; int iVar2; int in_CX; int in_DX; undefined2 unaff_DS; iVar1 = *(int *)0x4ef8; iVar2 = iVar1; if (iVar1 < in_CX) { iVar2 = in_CX; in_CX = iVar1; } *(int *)0x4e1c = iVar2; *(int *)0x4e1e = in_CX; iVar1 = *(int *)0x4efa; iVar2 = iVar1; if (iVar1 < in_DX) { iVar2 = in_DX; in_DX = iVar1; } *(int *)0x4e20 = iVar2; *(int *)0x4e22 = in_DX; FUN_2504_367c(); return; } // Function: FUN_2504_367c at 2504:367c void __cdecl16near FUN_2504_367c(void) { undefined2 unaff_DS; if ((((*(int *)0x4e28 <= *(int *)0x4e1c) && (*(int *)0x4e1e <= *(int *)0x4e2a)) && (*(int *)0x4e2c <= *(int *)0x4e20)) && (*(int *)0x4e22 <= *(int *)0x4e2e)) { return; } return; } // Function: FUN_2504_36a4 at 2504:36a4 uint __cdecl16near FUN_2504_36a4(void) { uint in_AX; uint uVar1; int in_CX; int in_DX; undefined2 unaff_DS; uVar1 = in_AX & 0xff00; if (in_CX < *(int *)0x4e28) { uVar1 = uVar1 + 1; } if (*(int *)0x4e2a < in_CX) { uVar1 = uVar1 | 2; } if (in_DX < *(int *)0x4e2c) { uVar1 = uVar1 | 4; } if (*(int *)0x4e2e < in_DX) { uVar1 = uVar1 | 8; } return uVar1; } // Function: FUN_2504_36c6 at 2504:36c6 void __cdecl16near FUN_2504_36c6(void) { char cVar1; undefined2 unaff_DS; cVar1 = FUN_2504_36a4(); if (cVar1 != '\0') { *(undefined1 *)0x4d90 = 2; } return; } // Function: FUN_2504_36fe at 2504:36fe void __cdecl16near FUN_2504_36fe(void) { return; } // Function: FUN_2504_3709 at 2504:3709 void __cdecl16near FUN_2504_3709(void) { return; } // Function: FUN_2504_3712 at 2504:3712 undefined2 __cdecl16near FUN_2504_3712(void) { undefined2 in_AX; int iVar1; int iVar2; undefined2 unaff_DS; iVar2 = 0; iVar1 = *(int *)0x4e24; if (*(char *)0x4f27 == '\0') { iVar2 = *(int *)0x4e28; iVar1 = *(int *)0x4e2a; } *(int *)0x4e34 = iVar1 - iVar2; *(int *)0x4ef0 = iVar2 + ((iVar1 - iVar2) + 1U >> 1); iVar2 = 0; iVar1 = *(int *)0x4e26; if (*(char *)0x4f27 == '\0') { iVar2 = *(int *)0x4e2c; iVar1 = *(int *)0x4e2e; } *(int *)0x4e36 = iVar1 - iVar2; *(int *)0x4ef2 = iVar2 + ((iVar1 - iVar2) + 1U >> 1); return in_AX; } // Function: FUN_2504_3759 at 2504:3759 undefined4 __cdecl16near FUN_2504_3759(void) { undefined2 in_AX; undefined2 in_DX; undefined2 unaff_DS; *(undefined2 *)0x4f04 = 0xffff; FUN_2504_3775(); *(undefined2 *)0x4f24 = 0; return CONCAT22(in_DX,in_AX); } // Function: FUN_2504_3775 at 2504:3775 void __cdecl16near FUN_2504_3775(void) { undefined2 in_CX; undefined2 extraout_DX; undefined2 unaff_DS; undefined1 in_ZF; *(undefined2 *)0x4f26 = 0; FUN_2504_07ce(); if ((bool)in_ZF) { return; } FUN_2504_07c3(); *(undefined2 *)0x4e24 = in_CX; *(undefined2 *)0x4e26 = extraout_DX; *(undefined2 *)0x4e28 = 0; *(undefined2 *)0x4e2c = 0; *(undefined2 *)0x4e30 = 0; *(undefined2 *)0x4e32 = 0; *(undefined2 *)0x4e2a = in_CX; *(undefined2 *)0x4e2e = extraout_DX; FUN_2504_08c1(); FUN_2504_3712(); (*(code *)*(undefined2 *)0x9ac)(); FUN_1e78_41b1(); return; } // Function: FUN_2504_3809 at 2504:3809 void __cdecl16near FUN_2504_3809(void) { undefined2 unaff_DS; FUN_2504_3840(); *(undefined2 *)0x4ef8 = *(undefined2 *)0x4ef0; *(undefined2 *)0x4efa = *(undefined2 *)0x4ef2; return; } // Function: FUN_2504_3840 at 2504:3840 void __cdecl16near FUN_2504_3840(uint param_1) { uint uVar1; undefined2 in_CX; undefined2 uVar2; undefined2 extraout_DX; uint extraout_DX_00; int in_BX; undefined2 unaff_DS; bool bVar3; byte bVar4; byte in_AF; undefined1 in_ZF; byte bVar5; byte bVar6; byte in_TF; byte in_IF; byte bVar7; byte in_NT; undefined2 in_stack_00000000; FUN_2504_3875(); if (!(bool)in_ZF) { *(undefined1 *)0x4d90 = 2; return; } LOCK(); uVar2 = *(undefined2 *)0x4ef8; *(undefined2 *)0x4ef8 = in_CX; UNLOCK(); LOCK(); *(undefined2 *)0x4efa = extraout_DX; UNLOCK(); FUN_2504_3a35(); if (((*(byte *)0x4d99 & 2) != 0) && (*(int *)0x4f04 == -1)) { uVar1 = *(uint *)0x4efa; bVar3 = extraout_DX_00 < uVar1; bVar7 = SBORROW2(extraout_DX_00,uVar1); uVar1 = extraout_DX_00 - uVar1; bVar6 = (int)uVar1 < 0; bVar5 = uVar1 == 0; bVar4 = (POPCOUNT(uVar1 & 0xff) & 1U) == 0; if ((bool)bVar5) { FUN_2504_36fe(); if (bVar3) { LOCK(); *(undefined2 *)0x4ef8 = uVar2; UNLOCK(); } (*(code *)*(undefined2 *)0x9ac) (in_BX + 1,uVar2, (uint)(in_NT & 1) * 0x4000 | (uint)(bVar7 & 1) * 0x800 | (uint)(in_IF & 1) * 0x200 | (uint)(in_TF & 1) * 0x100 | (uint)(bVar6 & 1) * 0x80 | (uint)(bVar5 & 1) * 0x40 | (uint)(in_AF & 1) * 0x10 | (uint)(bVar4 & 1) * 4 | (uint)(bVar3 & 1)); (*(code *)*(undefined2 *)0x9d0)(); if ((param_1 & 1) != 0) { LOCK(); *(undefined2 *)0x4ef8 = in_stack_00000000; UNLOCK(); } return; } } FUN_2504_3994(); return; } // Function: FUN_2504_3875 at 2504:3875 void __cdecl16near FUN_2504_3875(void) { undefined2 uVar1; byte bVar2; uint uVar3; undefined2 in_CX; undefined2 unaff_DS; undefined4 uVar4; uVar4 = FUN_2504_38bb(); while( true ) { uVar3 = (uint)uVar4; if (uVar3 == 0) { return; } bVar2 = (byte)((ulong)uVar4 >> 8); if ((bVar2 & (byte)uVar4) != 0) break; if ((byte)uVar4 == 0) { LOCK(); uVar1 = *(undefined2 *)0x4ef8; *(undefined2 *)0x4ef8 = in_CX; UNLOCK(); LOCK(); *(undefined2 *)0x4efa = (int)((ulong)uVar4 >> 0x10); UNLOCK(); uVar3 = (uint)bVar2; in_CX = uVar1; } bVar2 = (byte)uVar3; if (((bool)(bVar2 & 1)) || ((bool)((char)bVar2 >> 1 & 1))) { FUN_2504_38d2(); } else if (((bool)((char)bVar2 >> 2 & 1)) || ((bool)((char)bVar2 >> 3 & 1))) { FUN_2504_396c(); } uVar4 = FUN_2504_36a4(); } return; } // Function: FUN_2504_38bb at 2504:38bb undefined4 __cdecl16near FUN_2504_38bb(void) { undefined1 uVar1; undefined1 extraout_AH; undefined2 in_DX; FUN_2504_36a4(); uVar1 = FUN_2504_36a4(); return CONCAT22(in_DX,CONCAT11(uVar1,extraout_AH)); } // Function: FUN_2504_38d2 at 2504:38d2 undefined4 __cdecl16near FUN_2504_38d2(void) { long lVar1; undefined2 in_AX; int in_CX; int in_DX; int in_BX; int iVar2; int iVar3; undefined2 unaff_DS; byte bVar4; byte bVar5; undefined4 uVar6; *(undefined1 *)0x4d90 = 2; iVar2 = in_BX - in_CX; uVar6 = FUN_2504_392b(); iVar3 = in_DX + (int)uVar6 * iVar2; bVar5 = iVar3 < 0; lVar1 = (long)(int)((ulong)uVar6 >> 0x10) * (long)iVar2; bVar4 = (int)lVar1 != lVar1; FUN_2504_3934(); iVar2 = FUN_2504_392b(); if (((bVar4 & 1) != 0) != ((bVar5 & 1) != 0)) { if (-1 < iVar2) { iVar2 = iVar2 + 1; } iVar2 = iVar2 >> 1; } return CONCAT22(iVar2 + iVar3,in_AX); } // Function: FUN_2504_392b at 2504:392b int __cdecl16near FUN_2504_392b(void) { int in_AX; int in_DX; int in_BX; if (in_AX != 0 || in_DX != 0) { in_AX = (int)(CONCAT22(in_DX,in_AX) / (long)in_BX); } return in_AX; } // Function: FUN_2504_3934 at 2504:3934 undefined4 __cdecl16near FUN_2504_3934(void) { uint in_AX; uint uVar1; uint in_DX; uint uVar2; uint in_BX; if ((int)in_BX < 0) { in_BX = -in_BX; } uVar1 = in_AX; uVar2 = in_DX; if ((int)in_DX < 0) { uVar1 = ~in_AX + 1; uVar2 = ~in_DX + (uint)(0xfffe < ~in_AX); } do { in_BX = in_BX >> 1; } while (in_BX != 0); if (uVar2 != 0) { uVar1 = uVar2; } do { uVar1 = uVar1 >> 1; } while (uVar1 != 0); return CONCAT22(in_DX,in_AX); } // Function: FUN_2504_396c at 2504:396c void FUN_2504_396c(void) { undefined2 uVar1; undefined2 unaff_DS; FUN_2504_3972(); FUN_2504_38d2(); uVar1 = *(undefined2 *)0x4ef8; *(undefined2 *)0x4ef8 = *(undefined2 *)0x4efa; *(undefined2 *)0x4efa = uVar1; return; } // Function: FUN_2504_3972 at 2504:3972 void __cdecl16near FUN_2504_3972(void) { undefined2 uVar1; undefined2 unaff_DS; uVar1 = *(undefined2 *)0x4ef8; *(undefined2 *)0x4ef8 = *(undefined2 *)0x4efa; *(undefined2 *)0x4efa = uVar1; return; } // Function: FUN_2504_3994 at 2504:3994 void __cdecl16near FUN_2504_3994(void) { undefined2 uVar1; int in_AX; int in_CX; int in_DX; int iVar2; int iVar3; int iVar4; int in_BX; int unaff_BP; int iVar5; int unaff_ES; undefined2 unaff_DS; *(undefined1 *)0x4e5d = 1; uVar1 = *(undefined2 *)0x4f04; iVar4 = in_AX; iVar2 = in_DX; if (in_CX < in_AX) { iVar4 = in_CX; in_CX = in_AX; iVar2 = in_BX; in_BX = in_DX; } iVar3 = iVar2 - in_BX; iVar5 = iVar3; if (iVar2 < in_BX) { iVar5 = -iVar3; } (*(code *)*(undefined2 *)0x9ac)(iVar3,in_CX - iVar4); (*(code *)*(undefined2 *)0x9c0)(); iVar4 = *(int *)0x99f; if (unaff_BP < 0) { iVar4 = -iVar4; } *(int *)0x4db4 = iVar4; if (iVar5 < unaff_ES) { *(int *)0x4db0 = iVar5 << 2; *(int *)0x4db2 = (iVar5 - unaff_ES) * 4; (*(code *)*(undefined2 *)0x9c4)(); } else if (unaff_ES == 0) { (*(code *)*(undefined2 *)0x9c8)(); } else { *(int *)0x4db0 = unaff_ES << 2; *(int *)0x4db2 = (unaff_ES - iVar5) * 4; (*(code *)*(undefined2 *)0x9c6)(); } (*(code *)*(undefined2 *)0x9c2)(); *(undefined2 *)0x4f04 = uVar1; return; } // Function: FUN_2504_3a35 at 2504:3a35 void __cdecl16near FUN_2504_3a35(void) { undefined2 unaff_DS; if ((*(byte *)0x4d99 & 2) == 0) { /* WARNING: Could not recover jumptable at 0x00028a85. Too many branches */ /* WARNING: Treating indirect jump as call */ (*(code *)*(undefined2 *)0x9ca)(); return; } if (*(byte *)0x4d99 != 2) { return; } /* WARNING: Could not recover jumptable at 0x00028a81. Too many branches */ /* WARNING: Treating indirect jump as call */ (*(code *)*(undefined2 *)0x9b8)(); return; } // Function: FUN_2504_3a4a at 2504:3a4a /* WARNING: Instruction at (ram,0x00028a9f) overlaps instruction at (ram,0x00028a9e) */ void __cdecl16far FUN_2504_3a4a(uint param_1) { undefined2 unaff_DS; undefined1 in_ZF; FUN_2504_01ee(); if ((bool)in_ZF) { *(undefined1 *)0x4d90 = 0xfd; } else { if (param_1 < 5) goto code_r0x00028a9a; *(undefined1 *)0x4d90 = 0xfc; } param_1 = 0xff; code_r0x00028a9a: LOCK(); *(undefined1 *)0x4d99 = (char)param_1; UNLOCK(); FUN_2504_020f(); return; } // Function: FUN_2504_3a8d at 2504:3a8d undefined2 __cdecl16far FUN_2504_3a8d(undefined2 param_1,undefined2 param_2) { undefined2 uVar1; undefined1 uVar2; undefined2 unaff_DS; uVar1 = 0; if (*(char *)0x976 == '\0') { uVar2 = 0xfd; } else { uVar2 = 0; LOCK(); uVar1 = *(undefined2 *)0x4e38; *(undefined2 *)0x4e38 = param_1; UNLOCK(); LOCK(); *(undefined2 *)0x4e3a = param_2; UNLOCK(); } *(undefined1 *)0x4d90 = uVar2; return uVar1; } // Function: FUN_2504_3ab2 at 2504:3ab2 undefined2 __cdecl16far FUN_2504_3ab2(void) { undefined1 uVar1; undefined2 unaff_DS; uVar1 = 0; if (*(char *)0x976 == '\0') { uVar1 = 0xfd; } *(undefined1 *)0x4d90 = uVar1; return *(undefined2 *)0x4e38; } // Function: FUN_2504_3ac9 at 2504:3ac9 void __cdecl16far FUN_2504_3ac9(int param_1,int param_2) { undefined1 uVar1; undefined2 unaff_DS; bool bVar2; bVar2 = true; uVar1 = FUN_2504_01ee(); if (bVar2) { uVar1 = 0xfd; } else { *(undefined1 *)0x4e5d = uVar1; (*(code *)*(undefined2 *)0x9b8)(); *(undefined2 *)0x4f04 = *(undefined2 *)0x4e42; *(int *)0x4ef8 = *(int *)0x4e30 + param_1; *(int *)0x4efa = *(int *)0x4e32 + param_2; FUN_2504_3809(); *(int *)0x4e38 = param_1; *(int *)0x4e3a = param_2; if (*(char *)0x4e5d != '\0') goto LAB_2504_3b1d; uVar1 = 1; } *(undefined1 *)0x4d90 = uVar1; LAB_2504_3b1d: FUN_2504_020f(); return; } // Function: FUN_2504_3b30 at 2504:3b30 void __cdecl16far FUN_2504_3b30(undefined2 param_1,uint param_2) { undefined1 uVar1; undefined2 unaff_DS; bool bVar2; undefined1 in_ZF; FUN_2504_01ee(); if ((bool)in_ZF) { uVar1 = 0xfd; } else { bVar2 = CARRY2(param_2,*(uint *)0x4e32); FUN_2504_3bbc(); if (bVar2) { (*(code *)*(undefined2 *)0x9ac)(); (*(code *)*(undefined2 *)0x9ba)(); (*(code *)*(undefined2 *)0x9b8)(); (*(code *)*(undefined2 *)0x9bc)(); goto LAB_2504_3b62; } uVar1 = 1; } *(undefined1 *)0x4d90 = uVar1; LAB_2504_3b62: FUN_2504_020f(); return; } // Function: FUN_2504_3bbc at 2504:3bbc void __cdecl16near FUN_2504_3bbc(void) { int in_CX; int in_DX; undefined2 unaff_DS; if ((((*(int *)0x4e28 <= in_CX) && (in_CX <= *(int *)0x4e2a)) && (*(int *)0x4e2c <= in_DX)) && (in_DX <= *(int *)0x4e2e)) { return; } return; } // Function: FUN_2504_3bd8 at 2504:3bd8 void __cdecl16near FUN_2504_3bd8(void) { undefined2 unaff_DS; if (*(int *)0x9ee == -0x292a) { FUN_1e78_41c0(); } return; } // Function: FUN_2504_3be6 at 2504:3be6 /* WARNING: Instruction at (ram,0x00028c48) overlaps instruction at (ram,0x00028c47) */ void __cdecl16far FUN_2504_3be6(undefined2 param_1) { byte bVar1; undefined1 uVar2; undefined2 unaff_DS; byte in_ZF; FUN_2504_01ee(); bVar1 = *(byte *)0x9de; uVar2 = 0; if ((char)param_1 != '\0' || (char)((uint)param_1 >> 8) != '\0') { uVar2 = 0xff; } *(undefined1 *)0x9de = uVar2; if ((in_ZF & 1) == 0) { bVar1 = bVar1 >> 1; } FUN_2504_04cb(bVar1); FUN_2504_020f(); return; } // Function: FUN_2504_3c52 at 2504:3c52 int __cdecl16near FUN_2504_3c52(byte *param_1,byte *param_2) { byte bVar1; uint uVar2; do { if ((*param_1 < 0x41) || (0x5a < *param_1)) { bVar1 = *param_1; } else { bVar1 = *param_1 | 0x20; } uVar2 = (uint)bVar1; if ((*param_2 < 0x41) || (0x5a < *param_2)) { bVar1 = *param_2; } else { bVar1 = *param_2 | 0x20; } param_1 = (byte *)CONCAT22(param_1._2_2_,(byte *)param_1 + 1); param_2 = (byte *)CONCAT22(param_2._2_2_,(byte *)param_2 + 1); } while ((uVar2 != 0) && (uVar2 == bVar1)); return uVar2 - bVar1; } // Function: FUN_2504_3cac at 2504:3cac char * __cdecl16near FUN_2504_3cac(char *param_1,char *param_2) { char cVar1; char *pcVar2; char *pcVar3; char *pcVar4; pcVar2 = param_1; do { pcVar4 = param_2; pcVar3 = param_1; param_2 = (char *)CONCAT22(param_2._2_2_,(char *)param_2 + 1); cVar1 = *pcVar4; param_1 = (char *)CONCAT22(param_1._2_2_,(char *)param_1 + 1); *pcVar3 = cVar1; } while (cVar1 != '\0'); return pcVar2; } // Function: FUN_2504_3cde at 2504:3cde int __cdecl16near FUN_2504_3cde(uint param_1) { return (param_1 ^ (int)param_1 >> 0xf) - ((int)param_1 >> 0xf); } // Function: FUN_2504_3cec at 2504:3cec int __cdecl16near FUN_2504_3cec(char *param_1) { char cVar1; char *pcVar2; int iVar3; iVar3 = 0; while( true ) { pcVar2 = param_1; param_1 = (char *)CONCAT22(param_1._2_2_,(char *)param_1 + 1); cVar1 = *pcVar2; if (((cVar1 == '\0') || (cVar1 < '0')) || ('9' < cVar1)) break; iVar3 = (int)cVar1 + iVar3 * 10 + -0x30; } return iVar3; } // Function: FUN_2504_3d26 at 2504:3d26 int __cdecl16near FUN_2504_3d26(char *param_1) { char *pcVar1; int iVar2; iVar2 = 0; while (pcVar1 = param_1, param_1 = (char *)CONCAT22(param_1._2_2_,(char *)param_1 + 1), *pcVar1 != '\0') { iVar2 = iVar2 + 1; } return iVar2; } // Function: FUN_2504_3d46 at 2504:3d46 undefined4 __cdecl16near FUN_2504_3d46(int param_1) { int *piVar1; int iVar2; undefined2 unaff_DS; undefined2 local_6; undefined2 uStack_4; uStack_4 = *(int *)0x9e2; iVar2 = 0; local_6 = *(int *)0x9e0; if (0 < param_1) { while (uStack_4 != 0 || local_6 != 0) { iVar2 = iVar2 + 1; if (param_1 == iVar2) goto LAB_2504_3d91; piVar1 = (int *)(local_6 + 0x94); uStack_4 = *(int *)(local_6 + 0x96); local_6 = *piVar1; } } local_6 = 0; uStack_4 = 0; LAB_2504_3d91: return CONCAT22(uStack_4,local_6); } // Function: FUN_2504_3d96 at 2504:3d96 int __cdecl16near FUN_2504_3d96(int param_1,int param_2) { int *piVar1; int iVar2; undefined2 unaff_DS; int local_6; int iStack_4; iStack_4 = *(int *)0x9e2; iVar2 = 0; local_6 = *(int *)0x9e0; while( true ) { if (iStack_4 == 0 && local_6 == 0) { return iVar2; } iVar2 = iVar2 + 1; if ((local_6 == param_1) && (iStack_4 == param_2)) break; piVar1 = (int *)(local_6 + 0x94); iStack_4 = *(int *)(local_6 + 0x96); local_6 = *piVar1; } return iVar2; } // Function: FUN_2504_3de2 at 2504:3de2 void __cdecl16near FUN_2504_3de2(undefined2 param_1,undefined2 param_2,undefined2 param_3,uint param_4,int param_5, undefined2 param_6,undefined2 param_7) { undefined2 *puVar1; int *piVar2; ulong uVar3; undefined2 uVar4; int in_DX; int iVar5; undefined2 *puVar6; undefined2 unaff_DS; undefined4 uVar7; long lVar8; undefined2 local_7c; undefined2 local_7a; undefined1 local_78 [66]; undefined2 local_36; undefined2 local_2e; undefined2 local_22; undefined2 local_20; undefined2 local_1d; byte local_19; byte local_18; uint local_f; int local_d; undefined2 local_7; undefined2 local_5; uVar4 = FUN_2504_4f7a(0x98); *(undefined2 *)0x9e4 = uVar4; *(int *)0x9e6 = in_DX; if (in_DX != 0 || *(int *)0x9e4 != 0) { uVar4 = (undefined2)((ulong)*(undefined4 *)0x9e4 >> 0x10); iVar5 = (int)*(undefined4 *)0x9e4; *(undefined2 *)(iVar5 + 0x8e) = 0; *(undefined2 *)(iVar5 + 0x8c) = 0; *(undefined2 *)(iVar5 + 0x92) = 0; *(undefined2 *)(iVar5 + 0x90) = 0; *(undefined2 *)(iVar5 + 0x94) = param_6; *(undefined2 *)(iVar5 + 0x96) = param_7; uVar7 = FUN_2504_4f2e(param_1,0,0,1); lVar8 = FUN_2504_4f2e(param_1,param_4,param_5,0); iVar5 = FUN_2504_4f15(param_1,local_78); uVar3 = lVar8 + iVar5; puVar1 = (undefined2 *)*(undefined4 *)0x9e4; uVar4 = (undefined2)((ulong)puVar1 >> 0x10); puVar6 = (undefined2 *)puVar1; *puVar1 = local_36; puVar6[1] = local_2e; puVar6[2] = local_22; puVar6[3] = local_20; puVar6[4] = local_1d; puVar6[5] = (uint)local_19; puVar6[6] = (uint)local_18; FUN_2504_3cac(puVar6 + 7,uVar4,param_2,param_3); piVar2 = (int *)*(undefined4 *)0x9e4; uVar4 = (undefined2)((ulong)piVar2 >> 0x10); ((int *)piVar2)[0x40] = param_4; ((int *)piVar2)[0x41] = param_5; if ((*piVar2 == 0) && ((uVar3 & 1) != 0)) { uVar3 = uVar3 + 1; } local_7a = (undefined2)(uVar3 >> 0x10); local_7c = (undefined2)uVar3; uVar4 = (undefined2)((ulong)*(undefined4 *)0x9e4 >> 0x10); iVar5 = (int)*(undefined4 *)0x9e4; *(undefined2 *)(iVar5 + 0x84) = local_7c; *(undefined2 *)(iVar5 + 0x86) = local_7a; *(undefined2 *)(iVar5 + 0x88) = local_7; *(undefined2 *)(iVar5 + 0x8a) = local_5; FUN_2504_4f2e(param_1,local_f + param_4,local_d + param_5 + (uint)CARRY2(local_f,param_4),0); FUN_2504_4f15(param_1,*(int *)0x9e4 + 0x5f,*(undefined2 *)0x9e6,0x20); *(undefined1 *)((int)*(undefined4 *)0x9e4 + 0x7e) = 0; FUN_2504_4f2e(param_1,uVar7,0); } return; } // Function: FUN_2504_3f56 at 2504:3f56 undefined2 __cdecl16near FUN_2504_3f56(void) { int *piVar1; undefined4 uVar2; int iVar3; int extraout_DX; int extraout_DX_00; int iVar4; int *piVar5; int iVar6; int iVar7; int iVar8; int iVar9; undefined2 uVar10; undefined2 uVar11; undefined2 uVar12; undefined2 unaff_DS; int local_8; uVar10 = (undefined2)((ulong)*(undefined4 *)0x9e4 >> 0x10); iVar4 = (int)*(undefined4 *)0x9e4; if (*(int *)(iVar4 + 0x92) == 0 && *(int *)(iVar4 + 0x90) == 0) { iVar4 = FUN_2504_4eea(iVar4 + 0xe,uVar10); if (iVar4 < 0) { *(undefined1 *)0x4d90 = 0xfb; return 0xffff; } piVar1 = (int *)*(undefined4 *)0x9e4; uVar10 = (undefined2)((ulong)piVar1 >> 0x10); piVar5 = (int *)piVar1; iVar9 = *piVar1; iVar8 = piVar5[2]; FUN_2504_4f2e(iVar4,piVar5[0x42],piVar5[0x43],0); uVar10 = (undefined2)((ulong)*(undefined4 *)0x9e4 >> 0x10); iVar6 = (int)*(undefined4 *)0x9e4; iVar3 = *(int *)(iVar6 + 0xc) - *(int *)(iVar6 + 10); iVar6 = iVar3 + 2; iVar3 = iVar3 + 1; local_8 = iVar6 * 2; if ((iVar9 == 0) || (iVar8 == 0)) { local_8 = iVar6 * 4; } iVar6 = extraout_DX; uVar10 = FUN_2504_4f7a(local_8); uVar11 = (undefined2)((ulong)*(undefined4 *)0x9e4 >> 0x10); iVar7 = (int)*(undefined4 *)0x9e4; *(undefined2 *)(iVar7 + 0x8c) = uVar10; *(int *)(iVar7 + 0x8e) = iVar6; if (iVar6 != 0 || *(int *)(iVar7 + 0x8c) != 0) { FUN_2504_4f15(iVar4,*(undefined2 *)(iVar7 + 0x8c),iVar6,local_8); if ((iVar9 == 0) || (iVar8 == 0)) { if (iVar9 != 0) { iVar3 = iVar3 * 2; goto LAB_2504_403d; } uVar2 = *(undefined4 *)((int)*(undefined4 *)0x9e4 + 0x8c); uVar10 = *(undefined2 *)((int)uVar2 + iVar3 * 4 + 2); } else { LAB_2504_403d: uVar2 = *(undefined4 *)((int)*(undefined4 *)0x9e4 + 0x8c); uVar10 = *(undefined2 *)((int)uVar2 + iVar3 * 2); } iVar9 = extraout_DX_00; uVar11 = FUN_2504_4f7a(uVar10); uVar12 = (undefined2)((ulong)*(undefined4 *)0x9e4 >> 0x10); iVar8 = (int)*(undefined4 *)0x9e4; *(undefined2 *)(iVar8 + 0x90) = uVar11; *(int *)(iVar8 + 0x92) = iVar9; if (iVar9 != 0 || *(int *)(iVar8 + 0x90) != 0) { FUN_2504_4f2e(iVar4,*(uint *)(iVar8 + 0x80) + *(uint *)(iVar8 + 0x88), *(int *)(iVar8 + 0x82) + *(int *)(iVar8 + 0x8a) + (uint)CARRY2(*(uint *)(iVar8 + 0x80),*(uint *)(iVar8 + 0x88)),0); uVar11 = (undefined2)((ulong)*(undefined4 *)0x9e4 >> 0x10); iVar9 = (int)*(undefined4 *)0x9e4; FUN_2504_4f15(iVar4,*(undefined2 *)(iVar9 + 0x90),*(undefined2 *)(iVar9 + 0x92),uVar10); FUN_2504_4f00(iVar4); goto LAB_2504_3f6e; } } FUN_2504_4f00(iVar4); *(undefined1 *)0x4d90 = 0xf8; uVar10 = 0xfffc; } else { LAB_2504_3f6e: uVar10 = 0; } return uVar10; } // Function: FUN_2504_40e0 at 2504:40e0 void __cdecl16near FUN_2504_40e0(void) { int iVar1; undefined2 uVar2; undefined2 unaff_DS; uVar2 = (undefined2)((ulong)*(undefined4 *)0x9e4 >> 0x10); iVar1 = (int)*(undefined4 *)0x9e4; if (*(int *)(iVar1 + 0x8e) != 0 || *(int *)(iVar1 + 0x8c) != 0) { FUN_2504_4f99(*(undefined2 *)(iVar1 + 0x8c),*(undefined2 *)(iVar1 + 0x8e)); uVar2 = (undefined2)((ulong)*(undefined4 *)0x9e4 >> 0x10); iVar1 = (int)*(undefined4 *)0x9e4; *(undefined2 *)(iVar1 + 0x8e) = 0; *(undefined2 *)(iVar1 + 0x8c) = 0; } if (*(int *)(iVar1 + 0x92) != 0 || *(int *)(iVar1 + 0x90) != 0) { FUN_2504_4f99(*(undefined2 *)(iVar1 + 0x90),*(undefined2 *)(iVar1 + 0x92)); uVar2 = (undefined2)((ulong)*(undefined4 *)0x9e4 >> 0x10); iVar1 = (int)*(undefined4 *)0x9e4; *(undefined2 *)(iVar1 + 0x92) = 0; *(undefined2 *)(iVar1 + 0x90) = 0; } return; } // Function: FUN_2504_4142 at 2504:4142 int __cdecl16near FUN_2504_4142(int param_1,int param_2) { int iVar1; undefined2 unaff_DS; if (param_2 == 0 && param_1 == 0) { *(undefined1 *)0x4d90 = 0xfc; iVar1 = -1; } else { FUN_2504_40e0(); *(int *)0x9e4 = param_1; *(int *)0x9e6 = param_2; iVar1 = FUN_2504_3f56(); if (-1 < iVar1) { iVar1 = FUN_2504_3d96(*(undefined2 *)0x9e4,*(undefined2 *)0x9e6); } } return iVar1; } // Function: FUN_2504_4186 at 2504:4186 int __cdecl16near FUN_2504_4186(undefined2 param_1,undefined2 param_2) { undefined2 uVar1; int iVar2; int iVar3; undefined2 unaff_DS; uint local_26; int local_24; byte local_22 [2]; uint local_20; int local_1e [6]; char local_12 [2]; int local_10; int local_e; undefined2 local_c; int local_a; int local_8; *(undefined1 *)0x4d90 = 0; iVar2 = FUN_2504_4eea(param_1,param_2); if (iVar2 < 0) { *(undefined1 *)0x4d90 = 0xfb; iVar2 = -1; } else { FUN_2504_4f2e(iVar2,0x18,0,0); FUN_2504_4f15(iVar2,local_12); if (local_12[0] == '@') { FUN_2504_4f2e(iVar2,0x3c,0,0); FUN_2504_4f15(iVar2,&local_26); FUN_2504_4f2e(iVar2,local_26 + 0x24,local_24 + (uint)(0xffdb < local_26),0); FUN_2504_4f15(iVar2,&local_20); FUN_2504_4f2e(iVar2,local_20 + local_26, ((int)local_20 >> 0xf) + local_24 + (uint)CARRY2(local_20,local_26),0); FUN_2504_4f15(iVar2,local_22); LAB_2504_425c: if (*(char *)0x4d90 == '\0') { local_10 = FUN_2504_4f15(iVar2,&local_a); if (local_10 != 8) { *(undefined1 *)0x4d90 = 0xf9; goto LAB_2504_428a; } if (local_a == 0) goto LAB_2504_428a; for (iVar3 = 0; iVar3 < local_8; iVar3 = iVar3 + 1) { local_10 = FUN_2504_4f15(iVar2,local_1e); if (local_10 != 0xc) { *(undefined1 *)0x4d90 = 0xf9; break; } if (local_a == -0x7ff8) { local_e = local_1e[0] << (local_22[0] & 0x1f); local_c = 0; FUN_2504_3de2(iVar2,param_1,param_2,local_e,0,*(undefined2 *)0x9e4,*(undefined2 *)0x9e6) ; if (*(int *)0x9e6 == 0 && *(int *)0x9e4 == 0) { *(undefined1 *)0x4d90 = 0xf8; break; } uVar1 = *(undefined2 *)0x9e6; *(undefined2 *)0x9e0 = *(undefined2 *)0x9e4; *(undefined2 *)0x9e2 = uVar1; } } goto LAB_2504_425c; } } else { *(undefined1 *)0x4d90 = 0xfa; } LAB_2504_428a: FUN_2504_4f00(iVar2); if (*(char *)0x4d90 == '\0') { iVar2 = 0; } else { iVar2 = *(char *)0x4d90 + 4; } } return iVar2; } // Function: FUN_2504_433e at 2504:433e int __cdecl16far FUN_2504_433e(char *param_1,undefined2 param_2) { undefined2 uVar1; char *pcVar2; char *pcVar3; int iVar4; int iVar5; int unaff_SS; undefined2 unaff_DS; undefined1 local_84 [30]; undefined1 local_66 [14]; char *local_58; char local_54 [82]; *(undefined1 *)0x4d90 = 0; _local_58 = (char *)CONCAT22(param_2,param_1); while (((*_local_58 != '\0' && (*_local_58 != '*')) && (*_local_58 != '?'))) { iVar5 = (int)((ulong)_local_58 >> 0x10); _local_58 = (char *)CONCAT22(iVar5,local_58 + 1); } if (*_local_58 == '\0') { iVar4 = FUN_2504_4186(param_1,param_2); if (iVar4 < 0) { return iVar4; } } else { FUN_2504_3cac(local_54); iVar5 = FUN_2504_3d26(local_54); _local_58 = (char *)CONCAT22(unaff_SS,local_54 + iVar5); while( true ) { pcVar3 = _local_58; iVar5 = (int)((ulong)_local_58 >> 0x10); if (((local_54 == local_58) && (unaff_SS == iVar5)) || ((*pcVar3 == '\\' || (*pcVar3 == ':'))) ) break; _local_58 = (char *)CONCAT22(iVar5,local_58 + -1); } if ((local_54 != local_58) || (unaff_SS != iVar5)) { _local_58 = (char *)CONCAT22(iVar5,local_58 + 1); pcVar3 = _local_58; } _local_58 = pcVar3; iVar4 = FUN_2504_4f49(param_1,param_2,local_84); if (iVar4 != 0) { *(undefined1 *)0x4d90 = 0xfb; return -1; } do { pcVar3 = _local_58; iVar5 = (int)((ulong)_local_58 >> 0x10); uVar1 = iVar5; local_58 = (char *)pcVar3; pcVar2 = local_58; _local_58 = pcVar3; FUN_2504_3cac(pcVar2,uVar1,local_66); iVar4 = FUN_2504_4186(local_54); if (iVar4 < 0) { return iVar4; } iVar4 = FUN_2504_4f69(); } while (iVar4 == 0); } iVar5 = FUN_2504_3d96(0,0); return iVar5; } // Function: FUN_2504_481c at 2504:481c undefined2 __cdecl16far FUN_2504_481c(undefined2 *param_1) { undefined2 *puVar1; undefined2 *puVar2; undefined2 *puVar3; undefined2 uVar4; undefined2 unaff_DS; if (*(int *)0x9e6 != 0 || *(int *)0x9e4 != 0) { puVar1 = (undefined2 *)*(undefined4 *)0x9e4; uVar4 = (undefined2)((ulong)puVar1 >> 0x10); puVar2 = (undefined2 *)puVar1; if (puVar2[0x49] != 0 || puVar2[0x48] != 0) { puVar3 = (undefined2 *)param_1; *param_1 = *puVar1; puVar3[1] = puVar2[1]; puVar3[2] = puVar2[2]; puVar3[3] = puVar2[3]; puVar3[4] = puVar2[4]; FUN_2504_3cac(puVar3 + 5,param_1._2_2_,puVar2 + 7,*(undefined2 *)0x9e6); FUN_2504_3cac((int)puVar3 + 0x5b,param_1._2_2_,*(int *)0x9e4 + 0x5f,*(undefined2 *)0x9e6); *(undefined1 *)0x4d90 = 0; return 0; } } *(undefined1 *)0x4d90 = 0xff; return 0xffff; } // Function: FUN_2504_48d4 at 2504:48d4 void __cdecl16near FUN_2504_48d4(char param_1) { byte bVar1; int iVar2; int iVar3; int iVar4; long lVar5; long lVar6; byte bVar7; int iVar8; int iVar9; int iVar10; int in_DX; int iVar11; int *piVar12; int iVar13; int iVar14; undefined2 uVar15; undefined2 uVar16; undefined2 unaff_DS; bool bVar17; long lVar18; long lVar19; int local_30; int local_2c; int local_2a; undefined4 local_14; int local_c; undefined4 local_6; bVar7 = 1; iVar8 = FUN_2504_3ab2(); lVar5 = CONCAT22((int)(char)((uint)iVar8 >> 8),iVar8 << 8); lVar6 = CONCAT22((int)(char)((uint)in_DX >> 8),in_DX << 8); uVar15 = (undefined2)((ulong)*(undefined4 *)0x9e4 >> 0x10); iVar11 = (int)*(undefined4 *)0x9e4; bVar1 = param_1 - *(char *)(iVar11 + 10); if (*(int *)(iVar11 + 4) == 0) { uVar16 = (undefined2)((ulong)*(undefined4 *)(iVar11 + 0x8c) >> 0x10); piVar12 = (int *)((int)*(undefined4 *)(iVar11 + 0x8c) + (uint)bVar1 * 4); local_30 = piVar12[1]; local_c = *piVar12; iVar11 = local_c - piVar12[2]; } else { local_30 = *(int *)(iVar11 + 4); uVar16 = (undefined2)((ulong)*(undefined4 *)(iVar11 + 0x8c) >> 0x10); piVar12 = (int *)((int)*(undefined4 *)(iVar11 + 0x8c) + (uint)bVar1 * 2); local_c = *piVar12; iVar11 = local_c - piVar12[1]; } uVar15 = (undefined2)((ulong)*(undefined4 *)0x9e4 >> 0x10); iVar13 = (int)*(undefined4 *)0x9e4; piVar12 = (int *)(*(int *)(iVar13 + 0x90) + local_c); local_6 = (int *)CONCAT22(*(undefined2 *)(iVar13 + 0x92),piVar12); local_14 = (int *)CONCAT22(*(undefined2 *)(iVar13 + 0x92),piVar12); iVar13 = *(int *)(iVar13 + 6); iVar14 = 0; while( true ) { while( true ) { if (-iVar11 <= iVar14) { iVar11 = *(int *)((int)*(undefined4 *)0x9e4 + 8); FUN_2504_3a8d(iVar8 + (*(int *)0x9e8 * *(int *)0x2 * local_30) / iVar11, in_DX - (*(int *)0x9ea * *(int *)0x2 * local_30) / iVar11); if (bVar7 == 3) { bVar7 = 1; } *(byte *)0x4d90 = bVar7; return; } if (iVar13 < 0x81) { uVar15 = (undefined2)((ulong)local_6 >> 0x10); bVar17 = (char)*local_6 != -0x80; if (!bVar17) { local_6 = (int *)CONCAT22(uVar15,(int *)((int)(int *)local_6 + 1)); iVar14 = iVar14 + 1; } local_2a = (int)(char)*(int *)local_6; local_2c = (int)*(char *)((int)(int *)local_6 + 1); iVar14 = iVar14 + 2; local_6 = (int *)CONCAT22(local_6._2_2_,(int *)local_6 + 1); } else { uVar15 = (undefined2)((ulong)local_14 >> 0x10); bVar17 = *local_14 != -0x8000; if (!bVar17) { local_14 = (int *)CONCAT22(uVar15,(int *)local_14 + 1); iVar14 = iVar14 + 2; } local_2a = *(int *)local_14; local_2c = ((int *)local_14)[1]; iVar14 = iVar14 + 4; local_14 = (int *)CONCAT22(local_14._2_2_,(int *)local_14 + 2); } iVar3 = *(int *)((int)*(undefined4 *)0x9e4 + 6); iVar2 = *(int *)0x9ea; iVar9 = iVar2 * *(int *)0x0 * local_2c; lVar18 = FUN_1e78_256e(iVar9 * 0x100,(int)(char)((uint)iVar9 >> 8),iVar3,iVar3 >> 0xf); iVar4 = *(int *)((int)*(undefined4 *)0x9e4 + 8); iVar9 = *(int *)0x9e8; iVar10 = iVar9 * *(int *)0x2 * local_2a; lVar19 = FUN_1e78_256e(iVar10 * 0x100,(int)(char)((uint)iVar10 >> 8),iVar4,iVar4 >> 0xf); lVar5 = lVar18 + lVar19 + lVar5; uVar15 = (undefined2)((ulong)lVar5 >> 8); local_2a = iVar2 * *(int *)0x2 * local_2a; lVar18 = FUN_1e78_256e(local_2a * 0x100,(int)(char)((uint)local_2a >> 8),iVar4,iVar4 >> 0xf); local_2c = iVar9 * *(int *)0x0 * local_2c; lVar19 = FUN_1e78_256e(local_2c * 0x100,(int)(char)((uint)local_2c >> 8),iVar3,iVar3 >> 0xf); lVar6 = (lVar19 - lVar18) + lVar6; uVar16 = (undefined2)((ulong)lVar6 >> 8); if (bVar17) break; FUN_2504_3a8d(uVar15,uVar16); } FUN_2504_3ac9(uVar15,uVar16); if (*(char *)0x4d90 < '\0') break; if ('\0' < *(char *)0x4d90) { bVar7 = bVar7 | 2; } if (*(char *)0x4d90 != '\x01') { bVar7 = bVar7 & 2; } } return; } // Function: FUN_2504_4bb0 at 2504:4bb0 void __cdecl16far FUN_2504_4bb0(char *param_1) { byte bVar1; int *piVar2; byte bVar3; byte bVar4; undefined2 uVar5; int in_DX; int iVar6; undefined2 uVar7; undefined2 unaff_DS; undefined4 uVar8; int local_10; int local_e; bVar4 = 1; uVar5 = FUN_2504_3336(); if (-1 < *(char *)0x4d90) { if (*(int *)0x9e6 == 0 && *(int *)0x9e4 == 0) { *(undefined1 *)0x4d90 = 0xff; } else if (*param_1 == '\0') { *(undefined1 *)0x4d90 = 1; } else { piVar2 = (int *)*(undefined4 *)0x9e4; bVar1 = *(byte *)((int *)piVar2 + 5); if (*piVar2 == 0) { local_10 = FUN_2504_3ab2(); local_e = in_DX; while (*param_1 != '\0') { uVar5 = FUN_2504_4fa8(*param_1); if (bVar1 <= (byte)uVar5) { uVar7 = (undefined2)((ulong)*(undefined4 *)0x9e4 >> 0x10); iVar6 = (int)*(undefined4 *)0x9e4; if ((byte)uVar5 <= *(byte *)(iVar6 + 0xc)) { uVar8 = FUN_2504_4e1b(iVar6,uVar7,uVar5,local_10,local_e); local_10 = local_10 + (int)uVar8; local_e = local_e + (int)((ulong)uVar8 >> 0x10); if (*(char *)0x4d90 < '\0') { return; } if ('\0' < *(char *)0x4d90) { bVar4 = bVar4 | 2; } if (*(char *)0x4d90 != '\x01') { bVar4 = bVar4 & 2; } } } param_1 = (char *)CONCAT22(param_1._2_2_,(char *)param_1 + 1); } FUN_2504_3a8d(local_10,local_e); } else { FUN_2504_3319(0xffff); uVar7 = FUN_2504_3a4a(3); while (*param_1 != '\0') { bVar3 = FUN_2504_4fa8(*param_1); if ((bVar1 <= bVar3) && (bVar3 <= *(byte *)((int)*(undefined4 *)0x9e4 + 0xc))) { FUN_2504_48d4(bVar3); if (*(char *)0x4d90 < '\0') { return; } if ('\0' < *(char *)0x4d90) { bVar4 = bVar4 | 2; } if (*(char *)0x4d90 != '\x01') { bVar4 = bVar4 & 2; } } param_1 = (char *)CONCAT22(param_1._2_2_,(char *)param_1 + 1); } FUN_2504_3319(uVar5); FUN_2504_3a4a(uVar7); } if (bVar4 == 3) { bVar4 = 1; } *(byte *)0x4d90 = bVar4; } } return; } // Function: FUN_2504_4d24 at 2504:4d24 int __cdecl16far FUN_2504_4d24(char *param_1) { int *piVar1; byte bVar2; int iVar3; int *piVar4; undefined2 uVar5; undefined2 unaff_DS; int local_6; local_6 = 0; if (*(int *)0x9e6 == 0 && *(int *)0x9e4 == 0) { *(undefined1 *)0x4d90 = 0xff; local_6 = -1; } else { *(undefined1 *)0x4d90 = 0; while (*param_1 != '\0') { piVar1 = (int *)*(undefined4 *)0x9e4; uVar5 = (undefined2)((ulong)piVar1 >> 0x10); piVar4 = (int *)piVar1; bVar2 = *param_1 - (char)piVar4[5]; param_1 = (char *)CONCAT22(param_1._2_2_,(char *)param_1 + 1); if (*piVar1 == 0) { iVar3 = *(int *)((int)*(undefined4 *)(piVar4 + 0x46) + (uint)bVar2 * 4); } else if (piVar4[2] == 0) { iVar3 = (*(int *)((uint)bVar2 * 4 + (int)*(undefined4 *)(*(int *)0x9e4 + 0x8c) + 2) * *(int *)0x2) / *(int *)((int)*(undefined4 *)0x9e4 + 8); } else { iVar3 = piVar4[2]; } local_6 = local_6 + iVar3; } } return local_6; } // Function: FUN_2504_4dce at 2504:4dce /* WARNING: Instruction at (ram,0x00029e44) overlaps instruction at (ram,0x00029e43) */ undefined2 __cdecl16far FUN_2504_4dce(uint param_1,uint param_2) { undefined2 uVar1; uint uVar2; uint uVar3; undefined1 uVar4; undefined2 unaff_DS; uVar1 = *(undefined2 *)0x9e8; uVar4 = 0; uVar2 = ((int)param_1 >> 0xf) << 1 | (uint)(param_1 != 0); if (uVar2 != 0 || param_2 != 0) { uVar3 = ((int)param_2 >> 0xf) << 1 | (uint)(param_2 != 0); *(uint *)0x9e8 = uVar2; *(uint *)0x9ea = uVar3; if ((uVar2 != param_1) || (uVar3 != param_2)) { uVar4 = 3; } } *(undefined1 *)0x4d90 = uVar4; return uVar1; } // Function: FUN_2504_4e1b at 2504:4e1b undefined4 __cdecl16near FUN_2504_4e1b(undefined4 param_1,char param_2,int param_3,int param_4) { byte bVar1; char cVar2; undefined4 uVar3; char cVar4; byte bVar5; char cVar6; int iVar7; uint uVar8; int iVar9; int iVar10; int iVar11; byte *pbVar12; char *pcVar13; undefined2 uVar14; undefined2 unaff_DS; undefined2 uVar15; bool bVar16; byte local_3; local_3 = 1; uVar15 = (undefined2)((ulong)param_1 >> 0x10); iVar11 = (int)param_1; uVar14 = (undefined2)((ulong)*(undefined4 *)(iVar11 + 0x8c) >> 0x10); pbVar12 = (byte *)((int)*(undefined4 *)(iVar11 + 0x8c) + (uint)(byte)(param_2 - *(char *)(iVar11 + 10)) * 4); bVar1 = *pbVar12; uVar3 = *(undefined4 *)(iVar11 + 0x90); pcVar13 = (char *)((int)uVar3 + (*(int *)(pbVar12 + 2) - *(int *)(iVar11 + 0x88))); cVar2 = *(char *)(iVar11 + 6); iVar10 = param_4; iVar11 = param_3; cVar6 = cVar2; bVar5 = bVar1; do { do { cVar4 = *pcVar13; iVar9 = iVar10; iVar7 = iVar11; while (cVar4 != '\0') { bVar16 = cVar4 < '\0'; cVar4 = cVar4 << 1; if (bVar16) { FUN_2504_3b30(iVar7,iVar9); local_3 = local_3 & (*(byte *)0x4d90 | 0xfe) | *(byte *)0x4d90 << 1; } iVar7 = iVar7 + *(int *)0x9e8; iVar9 = iVar9 - *(int *)0x9ea; } pcVar13 = pcVar13 + 1; cVar6 = cVar6 + -1; iVar10 = iVar10 + *(int *)0x9e8; iVar11 = iVar11 + *(int *)0x9ea; } while (cVar6 != '\0'); iVar11 = param_3 + *(int *)0x9e8 * 8; iVar10 = param_4 + *(int *)0x9ea * -8; bVar16 = 7 < bVar5; bVar5 = bVar5 - 8; cVar6 = cVar2; param_4 = iVar10; param_3 = iVar11; } while (bVar16 && bVar5 != 0); if ('\x02' < (char)local_3) { local_3 = 1; } *(byte *)0x4d90 = local_3; iVar11 = 0; iVar10 = 0; uVar8 = (uint)bVar1; do { iVar11 = iVar11 + *(int *)0x9e8; iVar10 = iVar10 - *(int *)0x9ea; uVar8 = uVar8 - 1; } while (uVar8 != 0); return CONCAT22(iVar10,iVar11); } // Function: FUN_2504_4eea at 2504:4eea undefined2 __cdecl16near FUN_2504_4eea(void) { code *pcVar1; undefined2 uVar2; undefined1 in_CF; pcVar1 = (code *)swi(0x21); uVar2 = (*pcVar1)(); if ((bool)in_CF) { uVar2 = 0xffff; } return uVar2; } // Function: FUN_2504_4f00 at 2504:4f00 undefined2 __cdecl16near FUN_2504_4f00(void) { code *pcVar1; undefined2 uVar2; undefined1 in_CF; pcVar1 = (code *)swi(0x21); (*pcVar1)(); if ((bool)in_CF) { uVar2 = 0xffff; } else { uVar2 = 0; } return uVar2; } // Function: FUN_2504_4f15 at 2504:4f15 undefined2 __cdecl16near FUN_2504_4f15(void) { code *pcVar1; undefined2 uVar2; undefined1 in_CF; pcVar1 = (code *)swi(0x21); uVar2 = (*pcVar1)(); if ((bool)in_CF) { uVar2 = 0xffff; } return uVar2; } // Function: FUN_2504_4f2e at 2504:4f2e void __cdecl16near FUN_2504_4f2e(void) { code *pcVar1; pcVar1 = (code *)swi(0x21); (*pcVar1)(); return; } // Function: FUN_2504_4f49 at 2504:4f49 undefined2 __cdecl16near FUN_2504_4f49(void) { code *pcVar1; undefined2 uVar2; bool bVar3; pcVar1 = (code *)swi(0x21); (*pcVar1)(); bVar3 = false; pcVar1 = (code *)swi(0x21); (*pcVar1)(); if (bVar3) { uVar2 = 0xffff; } else { uVar2 = 0; } return uVar2; } // Function: FUN_2504_4f69 at 2504:4f69 undefined2 __cdecl16near FUN_2504_4f69(void) { code *pcVar1; undefined2 uVar2; undefined1 in_CF; pcVar1 = (code *)swi(0x21); (*pcVar1)(); if ((bool)in_CF) { uVar2 = 0xffff; } else { uVar2 = 0; } return uVar2; } // Function: FUN_2504_4f7a at 2504:4f7a undefined2 __cdecl16far FUN_2504_4f7a(void) { code *pcVar1; pcVar1 = (code *)swi(0x21); (*pcVar1)(); return 0; } // Function: FUN_2504_4f99 at 2504:4f99 void __cdecl16far FUN_2504_4f99(void) { code *pcVar1; pcVar1 = (code *)swi(0x21); (*pcVar1)(); return; } // Function: FUN_2504_4fa8 at 2504:4fa8 uint __cdecl16near FUN_2504_4fa8(uint param_1) { if ((char)param_1 < '\0') { param_1 = (uint)*(byte *)(ulong)((param_1 & 0xff) + 0x4f3c); } return param_1; } // Function: FUN_2a20_4838 at 2a20:4838 /* WARNING: Control flow encountered bad instruction data */ /* WARNING: Instruction at (ram,0x0002efc7) overlaps instruction at (ram,0x0002efc6) */ /* WARNING: Stack frame is not setup normally: Input value of stackpointer is not used */ /* WARNING: Removing unreachable block (ram,0x0002ee0a) */ /* WARNING: Removing unreachable block (ram,0x0002ee0c) */ /* WARNING: Removing unreachable block (ram,0x0002ec84) */ /* WARNING: Removing unreachable block (ram,0x0002ebe3) */ /* WARNING: Removing unreachable block (ram,0x0002ec7e) */ /* WARNING: Removing unreachable block (ram,0x0002eada) */ /* WARNING: Removing unreachable block (ram,0x0002eb41) */ /* WARNING: Removing unreachable block (ram,0x0002eacc) */ /* WARNING: Removing unreachable block (ram,0x0002eb5f) */ /* WARNING: Removing unreachable block (ram,0x0002eb61) */ /* WARNING: Removing unreachable block (ram,0x0002eb63) */ /* WARNING: Removing unreachable block (ram,0x0002ebde) */ /* WARNING: Removing unreachable block (ram,0x0002eb83) */ /* WARNING: Removing unreachable block (ram,0x0002ebd4) */ /* WARNING: Removing unreachable block (ram,0x0002eb72) */ /* WARNING: Removing unreachable block (ram,0x0002ebd5) */ /* WARNING: Removing unreachable block (ram,0x0002ec4d) */ /* WARNING: Removing unreachable block (ram,0x0002ee5b) */ /* WARNING: Removing unreachable block (ram,0x0002ee5a) */ /* WARNING: Removing unreachable block (ram,0x0002ee60) */ /* WARNING: Removing unreachable block (ram,0x0002ee62) */ /* WARNING: Removing unreachable block (ram,0x0002ee7f) */ /* WARNING: Removing unreachable block (ram,0x0002eb8b) */ /* WARNING: Removing unreachable block (ram,0x0002eb90) */ /* WARNING: Removing unreachable block (ram,0x0002eb48) */ /* WARNING: Removing unreachable block (ram,0x0002eb1b) */ /* WARNING: Removing unreachable block (ram,0x0002eb93) */ /* WARNING: Removing unreachable block (ram,0x0002eb31) */ /* WARNING: Removing unreachable block (ram,0x0002eb62) */ /* WARNING: Removing unreachable block (ram,0x0002eb9f) */ /* WARNING: Removing unreachable block (ram,0x0002eda8) */ /* WARNING: Removing unreachable block (ram,0x0002edb9) */ /* WARNING: Removing unreachable block (ram,0x0002eeef) */ /* WARNING: Removing unreachable block (ram,0x0002ee8f) */ /* WARNING: Removing unreachable block (ram,0x0002ebce) */ /* WARNING: Removing unreachable block (ram,0x0002ee7c) */ /* WARNING: Removing unreachable block (ram,0x0002ee04) */ /* WARNING: Removing unreachable block (ram,0x0002ee71) */ /* WARNING: Removing unreachable block (ram,0x0002ee82) */ /* WARNING: Removing unreachable block (ram,0x0002ef12) */ /* WARNING: Removing unreachable block (ram,0x0002ef1c) */ /* WARNING: Removing unreachable block (ram,0x0002eb3a) */ /* WARNING: Removing unreachable block (ram,0x0002eeeb) */ /* WARNING: Removing unreachable block (ram,0x0002ef5b) */ /* WARNING: Removing unreachable block (ram,0x0002eef5) */ /* WARNING: Removing unreachable block (ram,0x0002eef9) */ /* WARNING: Removing unreachable block (ram,0x0002ef06) */ /* WARNING: Removing unreachable block (ram,0x0002eea5) */ void FUN_2a20_4838(void) { char *pcVar1; uint *puVar2; undefined4 *puVar3; undefined1 uVar4; undefined1 *puVar5; byte *pbVar6; long lVar7; byte bVar8; byte bVar9; char cVar10; byte bVar11; uint in_AX; int iVar12; int iVar13; undefined2 uVar14; undefined2 uVar15; long in_ECX; long lVar16; int in_DX; undefined2 uVar17; byte bVar21; uint uVar18; byte *pbVar19; uint uVar20; byte *in_EBX; undefined2 *puVar22; undefined2 *puVar23; undefined2 *puVar24; undefined2 *puVar25; undefined2 *puVar26; undefined2 *puVar27; undefined2 *puVar28; undefined2 *puVar29; undefined2 *puVar30; undefined2 *puVar31; undefined2 *puVar32; undefined2 *puVar33; undefined2 *puVar34; undefined2 *puVar35; int *piVar36; int *piVar37; int *piVar38; uint *puVar39; uint *puVar40; uint *puVar41; uint *puVar42; undefined2 *puVar43; undefined2 *in_ESP; undefined2 uVar46; undefined2 *puVar44; int *piVar45; int iVar47; int iVar48; uint uVar49; ulong in_EBP; byte *pbVar51; byte *pbVar52; undefined1 *puVar53; byte *pbVar54; undefined4 *puVar55; undefined1 *in_ESI; undefined2 uVar57; byte *pbVar56; undefined1 *unaff_DI; byte *pbVar58; undefined2 *puVar59; undefined2 *puVar60; uint *puVar61; uint *puVar62; undefined2 unaff_ES; undefined2 unaff_SS; undefined2 unaff_DS; undefined2 in_FS; undefined2 in_GS; long in_GS_OFFSET; bool bVar63; byte in_AF; bool bVar64; bool bVar65; bool bVar66; byte bVar67; long lVar50; bVar67 = 0; puVar53 = (undefined1 *)in_ESI; uVar57 = (undefined2)((ulong)in_ESI >> 0x10); out(*puVar53,in_DX); bVar11 = (byte)(in_AX >> 8); in_EBX[in_GS_OFFSET + 0x6f] = in_EBX[in_GS_OFFSET + 0x6f] & bVar11; uVar4 = in(in_DX); *unaff_DI = uVar4; out(*(undefined2 *)(puVar53 + 1),in_DX); bVar8 = (byte)((ulong)in_ECX >> 8); bVar21 = (byte)((ulong)in_EBX >> 8); bVar9 = (byte)((uint)in_DX >> 8); iVar12 = (int)in_EBP; pbVar54 = (byte *)in_EBX; (pbVar54 + (int)puVar53)[0x68] = (pbVar54 + (int)puVar53)[0x68] & (byte)in_ECX; pbVar58 = unaff_DI + 2; uVar4 = in(in_DX); unaff_DI[1] = uVar4; pbVar58[iVar12 + 0x65] = pbVar58[iVar12 + 0x65] & bVar9; pbVar58[iVar12 + 0x72] = pbVar58[iVar12 + 0x72] & bVar11; iVar47 = *(int *)(puVar53 + 0x76); out(*(undefined1 *)(iVar47 * 0x6120),in_DX); (pbVar54 + (int)pbVar58)[0x75] = (pbVar54 + (int)pbVar58)[0x75] & bVar9; pbVar6 = (byte *)((long)*(int *)((undefined1 *)(iVar47 * 0x6120) + 0x2f) * 0x5500); pbVar51 = (byte *)pbVar6; if ((byte *)(long)(int)pbVar51 != pbVar6) { pbVar58[iVar12 + 0x75] = pbVar58[iVar12 + 0x75] & bVar11; uVar46 = (undefined2)((ulong)in_ESP >> 0x10); pbVar52 = pbVar51 + 2; out(*(undefined2 *)pbVar51,in_DX); in_ESP = (undefined2 *)CONCAT22(uVar46,(undefined2 *)(*(int *)(unaff_DI + 0x7b) * 0x73)); pbVar51[0x71] = pbVar51[0x71] & bVar9; pbVar6 = unaff_DI + 0x71; *pbVar6 = *pbVar6 & bVar8; bVar63 = false; if (*pbVar6 != 0) { pbVar6 = unaff_DI + 0x67; *pbVar6 = *pbVar6 & bVar8; pbVar56 = pbVar52; pbVar52 = pbVar51 + 3; out(*pbVar56,in_DX); if (*pbVar6 == 0) { *(undefined2 *)(pbVar54 + (int)pbVar52 + 0x6f) = *(undefined2 *)(pbVar54 + (int)pbVar52 + 0x6f); puVar22 = (undefined2 *)(*(int *)(pbVar58 + iVar12 + 0x65) * 0x6120); in_ESP = (undefined2 *)CONCAT22(uVar46,puVar22); out(*pbVar52,in_DX); pbVar6 = pbVar51 + 4; *pbVar6 = *pbVar6 & bVar21; pbVar54 = pbVar51 + 5; out(pbVar51[4],in_DX); bVar64 = *pbVar6 == 0; bVar63 = false; if (!bVar64) { pbVar51[0x74] = pbVar51[0x74] & bVar9; pbVar58[iVar12 + 0x65] = pbVar58[iVar12 + 0x65] & bVar9; bVar11 = in(in_DX); *pbVar58 = bVar11; *(undefined2 *)(pbVar51 + 0x33) = *(undefined2 *)(pbVar51 + 0x33); unaff_DI[3] = unaff_DI[3] + bVar21; bVar63 = in_AX < 0x203e; pbVar58 = (byte *)*puVar22; pbVar52 = (byte *)puVar22[1]; in_EBP = CONCAT22((int)(in_EBP >> 0x10),puVar22[2]); in_EBX = (byte *)(ulong)(uint)puVar22[4]; in_DX = puVar22[5]; in_ECX = CONCAT22((int)((ulong)in_ECX >> 0x10),puVar22[6]); in_AX = puVar22[7]; in_ESP = (undefined2 *)CONCAT22(uVar46,puVar22 + 8); goto code_r0x0002eaa0; } goto LAB_2a20_48f1; } bVar63 = false; *(byte *)(iVar12 + 0x61) = *(byte *)(iVar12 + 0x61) & (byte)in_AX; code_r0x0002eaa0: pbVar54 = (byte *)in_EBX; uVar18 = in_AX; if (!bVar63) goto LAB_2a20_4916; pbVar6 = pbVar58 + 0x65; bVar11 = (byte)((ulong)in_ECX >> 8); *pbVar6 = *pbVar6 & bVar11; uVar46 = (undefined2)((ulong)in_ESP >> 0x10); puVar23 = (undefined2 *)in_ESP; if (*pbVar6 == 0) { out(*pbVar52,in_DX); pbVar58 = (byte *)*puVar23; pbVar52 = (byte *)puVar23[1]; in_EBP = CONCAT22((int)(in_EBP >> 0x10),puVar23[2]); in_EBX = (byte *)(ulong)(uint)puVar23[4]; in_DX = puVar23[5]; in_ECX = CONCAT22((int)((ulong)in_ECX >> 0x10),puVar23[6]); in_AX = puVar23[7]; in_ESP = (undefined2 *)CONCAT22(uVar46,puVar23 + 8); goto code_r0x0002eb0b; } pbVar51 = pbVar52 + 2; out(*(undefined2 *)pbVar52,in_DX); bVar8 = (byte)(in_AX >> 8); pbVar54[(int)pbVar51] = pbVar54[(int)pbVar51] & bVar8; if ((pbVar54 + (int)pbVar51)[0x72] <= (byte)in_DX) { pbVar52 = pbVar52 + 3; out(*pbVar51,in_DX); code_r0x0002eb25: pbVar54[(int)pbVar52] = pbVar54[(int)pbVar52] + bVar8; pbVar54[(int)pbVar52] = pbVar54[(int)pbVar52] & bVar8; pbVar54[(int)pbVar52] = pbVar54[(int)pbVar52] & bVar8; (pbVar54 + (int)pbVar52)[0x6f] = (pbVar54 + (int)pbVar52)[0x6f] & (byte)in_DX; goto LAB_2a20_49a4; } pbVar52[0x6a] = pbVar52[0x6a] & (byte)((uint)in_DX >> 8); pbVar6 = pbVar58 + (int)in_EBP + 0x61; *pbVar6 = *pbVar6 & (byte)in_AX; if (*pbVar6 == 0) { pbVar54[(int)pbVar51] = pbVar54[(int)pbVar51] & bVar8; in_ESP = (undefined2 *)CONCAT22(uVar46,puVar23 + -1); puVar23[-1] = in_AX; pbVar52 = pbVar52 + 4; out(*(undefined2 *)pbVar51,in_DX); goto code_r0x0002eb25; } pbVar6 = pbVar58; pbVar58 = pbVar58 + 1; bVar8 = in(in_DX); *pbVar6 = bVar8; pbVar6 = pbVar52 + 0x67; *pbVar6 = *pbVar6 & bVar11; if (*pbVar6 != 0) goto code_r0x0002eac5; pbVar52 = pbVar52 + 3; out(*pbVar51,in_DX); LAB_2a20_49ac: in_EBP = in_EBP & 0xffff0000; puVar29 = (undefined2 *)in_ESP; in_ESP = (undefined2 *)CONCAT22((int)((ulong)in_ESP >> 0x10),puVar29 + -1); puVar29[-1] = pbVar54; *pbVar52 = *pbVar52 & (byte)((uint)pbVar54 >> 8); code_r0x0002ebb4: puVar30 = (undefined2 *)in_ESP; puVar30[-1] = puVar30; in_ESP = (undefined2 *)CONCAT22((int)((ulong)in_ESP >> 0x10),puVar30 + -2); puVar30[-2] = 0x2065; goto LAB_2a20_49bc; } bVar11 = in(in_DX); *pbVar58 = bVar11; code_r0x0002eadd: puVar2 = (uint *)(pbVar52 + 0x20); *puVar2 = *puVar2 + (uint)bVar63 * (((uint)pbVar52 & 3) - (*puVar2 & 3)); puVar24 = (undefined2 *)in_ESP; pbVar58 = (byte *)*puVar24; puVar53 = (undefined1 *)puVar24[1]; uVar46 = (undefined2)(in_EBP >> 0x10); in_EBP = CONCAT22(uVar46,puVar24[2]); uVar18 = puVar24[4]; in_EBX = (byte *)(ulong)uVar18; in_DX = puVar24[5]; in_ECX = CONCAT22((int)((ulong)in_ECX >> 0x10),puVar24[6]); in_AX = puVar24[7]; in_ESP = (undefined2 *)CONCAT22((int)((ulong)in_ESP >> 0x10),puVar24 + 8); pbVar6 = pbVar58 + 0x65; *pbVar6 = *pbVar6 & (byte)((uint)puVar24[6] >> 8); pbVar52 = puVar53 + 1; out(*puVar53,in_DX); if (*pbVar6 != 0) { code_r0x0002eb0b: *(undefined2 *)(pbVar52 + 0x73) = *(undefined2 *)(pbVar52 + 0x73); pbVar6 = (byte *)((int)in_EBP + 0x61); bVar11 = (byte)((ulong)in_ECX >> 8); *pbVar6 = *pbVar6 & bVar11; pbVar6 = pbVar58; pbVar58 = pbVar58 + 2; uVar46 = in(in_DX); *(undefined2 *)pbVar6 = uVar46; ((byte *)in_EBX + (int)pbVar58)[0x74] = ((byte *)in_EBX + (int)pbVar58)[0x74] & bVar11; uVar18 = in_AX; LAB_2a20_4916: bVar11 = (byte)((ulong)in_ECX >> 8); pbVar58[0x75] = pbVar58[0x75] & bVar11; iVar47 = (int)in_EBP; pbVar6 = pbVar58 + iVar47 + 0x65; *pbVar6 = *pbVar6 & bVar11; if (-1 < (char)*pbVar6) goto code_r0x0002ebb4; if (*pbVar6 == 0) goto LAB_2a20_4a05; pbVar6 = pbVar58 + iVar47 + 0x6f; *pbVar6 = *pbVar6 & (byte)(uVar18 >> 8); pbVar56 = pbVar52; pbVar52 = pbVar52 + 1; out(*pbVar56,in_DX); pbVar51 = (byte *)in_EBX; if (*pbVar6 == 0) goto LAB_2a20_4a05; out(*pbVar52,in_DX); in_DX = in_DX + 1; *(undefined2 *)(pbVar58 + 0x20) = *(undefined2 *)(pbVar58 + 0x20); pbVar52[iVar47 + 0x61] = pbVar52[iVar47 + 0x61] & (byte)uVar18; code_r0x0002ec11: puVar44 = (undefined2 *)((ulong)in_ESP & 0xffff0000); pbVar19 = pbVar51 + 1; pbVar54 = pbVar52 + 2; out(*(undefined2 *)pbVar52,in_DX); iVar47 = (int)in_EBP; if (SCARRY2((int)pbVar51,1)) { pbVar6 = (byte *)(iVar47 + 0x61); *pbVar6 = *pbVar6 & (byte)uVar18; bVar63 = *pbVar6 == 0; goto code_r0x0002ec95; } puVar44 = puVar44 + -1; *puVar44 = 0x2874; *(undefined2 *)(pbVar19 + (int)pbVar58) = *(undefined2 *)(pbVar19 + (int)pbVar58); pbVar54[iVar47 + 0x79] = pbVar54[iVar47 + 0x79] & (byte)(uVar18 >> 8); pbVar6 = pbVar54 + iVar47 + 0x72; *pbVar6 = *pbVar6 & (byte)uVar18; if (*pbVar6 != 0) { uVar46 = (undefined2)((ulong)in_ECX >> 0x10); goto code_r0x0002ec88; } goto code_r0x0002ec29; } out(*(undefined2 *)pbVar52,in_DX); lVar16 = (long)*(int *)(uVar18 + 0x6e) * 0x2e; iVar47 = (int)lVar16; in_EBP = CONCAT22(uVar46,iVar47); bVar63 = iVar47 != lVar16; pbVar54 = puVar53 + 2; bVar64 = pbVar54 == (byte *)0x0; LAB_2a20_48f1: pbVar52 = pbVar54 + 2; out(*(undefined2 *)pbVar54,in_DX); if (!bVar64) { puVar25 = (undefined2 *)in_ESP; in_ESP = (undefined2 *)CONCAT22((int)((ulong)in_ESP >> 0x10),puVar25 + -1); puVar25[-1] = pbVar58; goto LAB_2a20_48f7; } bVar11 = 9 < ((byte)in_AX & 0xf) | in_AF; bVar8 = (byte)in_AX + bVar11 * '\x06'; in_AX = CONCAT11((char)(in_AX >> 8), bVar8 + (0x90 < (bVar8 & 0xf0) | bVar63 | bVar11 * (0xf9 < bVar8)) * '`'); code_r0x0002eb5a: bVar11 = (byte)((ulong)in_ECX >> 8); ((byte *)in_EBX)[0x72] = ((byte *)in_EBX)[0x72] & bVar11; pbVar52[(int)in_EBP + 0x75] = pbVar52[(int)in_EBP + 0x75] & bVar11; LAB_2a20_49d6: pbVar51 = pbVar52 + 1; pbVar56 = (byte *)CONCAT22(uVar57,pbVar51); out(*pbVar52,in_DX); pbVar6 = (byte *)((int)in_EBP + 0x65); bVar11 = *pbVar6; *pbVar6 = *pbVar6 + (byte)in_DX; if (CARRY1(bVar11,(byte)in_DX)) { *pbVar58 = *pbVar58 + (char)((ulong)in_ECX >> 8); uVar18 = in_AX + 0xc1d3; pbVar51[(int)in_EBP + 0x4f] = pbVar51[(int)in_EBP + 0x4f] & (byte)uVar18; code_r0x0002ec59: uVar57 = (undefined2)((ulong)pbVar56 >> 0x10); pbVar51 = (byte *)pbVar56 + -1; pbVar54 = pbVar58; } else { pbVar54 = (byte *)in_EBX; uVar15 = (undefined2)(in_EBP >> 0x10); in_EBP = CONCAT22(uVar15,*(int *)(pbVar54 + 0x6e) * 0x3320); puVar31 = (undefined2 *)in_ESP; uVar46 = (undefined2)((ulong)in_ESP >> 0x10); in_ESP = (undefined2 *)CONCAT22(uVar46,(undefined2 *)((int)puVar31 + 1)); if ((byte)((ulong)in_EBX >> 8) <= pbVar54[(int)pbVar51]) { uVar18 = in_AX + 0xd2d3; pbVar51[*(int *)(pbVar54 + 0x6e) * 0x3320 + 0x4f] = pbVar51[*(int *)(pbVar54 + 0x6e) * 0x3320 + 0x4f] & (byte)uVar18; goto code_r0x0002ec59; } out(*pbVar56,in_DX); uVar18 = CONCAT11((char)(in_AX >> 8),(byte)in_AX - 0x20); in_EBX = (byte *)ZEXT24(pbVar54 + 1); bVar63 = pbVar54 + 1 == (byte *)0x0; if ((byte)in_AX < 0x20) { in_DX = in_DX + 1; pbVar58 = pbVar58 + -1; pbVar56 = pbVar56 + 1; goto code_r0x0002ec59; } pbVar58 = (byte *)*(undefined2 *)((int)puVar31 + 1); uVar57 = (undefined2)((ulong)(pbVar56 + 1) >> 0x10); pbVar51 = (byte *)*(undefined2 *)((int)puVar31 + 3); in_EBP = CONCAT22(uVar15,*(undefined2 *)((int)puVar31 + 5)); uVar20 = *(uint *)((int)puVar31 + 9); in_DX = *(int *)((int)puVar31 + 0xb); in_ECX = CONCAT22((int)((ulong)in_ECX >> 0x10),*(undefined2 *)((int)puVar31 + 0xd)); uVar18 = *(uint *)((int)puVar31 + 0xf); in_ESP = (undefined2 *)CONCAT22(uVar46,(undefined2 *)((int)puVar31 + 0x11)); code_r0x0002ebf3: in_EBX = (byte *)(ulong)uVar20; pbVar54 = pbVar58; if (!bVar63) { code_r0x0002ebf5: pbVar6 = (byte *)in_EBX + (int)pbVar58 + 0x6e; bVar11 = (byte)(uVar18 >> 8); *pbVar6 = *pbVar6 & bVar11; pbVar6 = (byte *)in_EBX + 0x72; *pbVar6 = *pbVar6 & (byte)in_DX; pbVar52 = (byte *)(*(int *)(pbVar51 + 0x74) * 0x6e65); pbVar52[(int)in_EBP + 0x79] = pbVar52[(int)in_EBP + 0x79] & bVar11; LAB_2a20_4a05: pbVar51 = (byte *)in_EBX; iVar47 = (int)in_EBP; pbVar6 = pbVar52 + iVar47 + 0x72; *pbVar6 = *pbVar6 + (byte)uVar18; if (*pbVar6 != 0) goto LAB_2a20_4a6d; *(byte *)(iVar47 + 0x2e) = *(byte *)(iVar47 + 0x2e) & (byte)in_ECX; pbVar52[iVar47 + 0x61] = pbVar52[iVar47 + 0x61] & (byte)uVar18; goto code_r0x0002ec11; } } in_DX = in_DX + 1; puVar32 = (undefined2 *)in_ESP; puVar32[-1] = (int)in_EBP + 1; puVar32[-2] = (byte *)in_EBX; puVar32[-3] = puVar32 + -2; in_EBP = CONCAT22((int)(in_EBP >> 0x10),(int)in_EBP + 2); puVar32[-4] = in_DX; pbVar54[0x41] = pbVar54[0x41] & (byte)in_ECX; puVar32[-5] = (byte *)in_EBX; iVar47 = (int)in_ECX + -1; in_ECX = CONCAT22((int)((ulong)in_ECX >> 0x10),iVar47); pbVar58 = pbVar54 + -1; pbVar52 = pbVar51 + -2; pbVar54[0x40] = pbVar54[0x40] & (byte)iVar47; in_ESP = (undefined2 *)ZEXT24(puVar32 + -6); puVar32[-6] = uVar18; LAB_2a20_4a6d: puVar33 = (undefined2 *)in_ESP; puVar33[-1] = uVar18; puVar33[-2] = in_DX; *pbVar52 = *pbVar52 & (byte)((ulong)in_EBX >> 8); pcVar1 = (char *)((int)in_EBP + 0x53); *pcVar1 = *pcVar1 + (char)in_DX; pbVar58[(int)in_EBP] = pbVar58[(int)in_EBP] & (byte)(uVar18 + 0xd2d3 >> 8); pbVar58 = (byte *)puVar33[-2]; pbVar54 = (byte *)puVar33[-1]; in_DX = puVar33[3]; uVar46 = (undefined2)((ulong)in_ECX >> 0x10); uVar18 = puVar33[5]; puVar44 = (undefined2 *)ZEXT24(puVar33 + 6); in_EBP = CONCAT22((int)(in_EBP >> 0x10),*(int *)(pbVar54 + 0x65) * 100 + -1); code_r0x0002ec88: pbVar54[(int)in_EBP + 0x40] = pbVar54[(int)in_EBP + 0x40] & (byte)in_DX; pbVar58[(int)in_EBP + -1] = pbVar58[(int)in_EBP + -1] & (byte)(uVar18 >> 8); bVar63 = pbVar54 == (byte *)0x0; puVar34 = (undefined2 *)puVar44; pbVar58 = (byte *)*puVar34; pbVar54 = (byte *)puVar34[1]; in_EBP = in_EBP & 0xffff0000; pbVar19 = (byte *)puVar34[4]; in_DX = puVar34[5]; in_ECX = CONCAT22(uVar46,puVar34[6]); uVar18 = puVar34[7]; puVar44 = (undefined2 *)ZEXT24(puVar34 + 8); code_r0x0002ec95: uVar46 = (undefined2)(in_EBP >> 0x10); iVar47 = (int)((long)*(int *)(pbVar54 + 0x65) * 100); bVar64 = (long)iVar47 != (long)*(int *)(pbVar54 + 0x65) * 100; puVar35 = (undefined2 *)puVar44; puVar39 = puVar35 + -1; puVar35[-1] = pbVar19; if (!bVar63) goto LAB_2a20_4aff; piVar37 = puVar35 + -2; puVar35[-2] = 0x65; puVar2 = (uint *)(pbVar54 + 0x20); iVar12 = ((uint)pbVar54 & 3) - (*puVar2 & 3); *puVar2 = *puVar2 + (uint)bVar64 * iVar12; out(*(undefined2 *)pbVar54,in_DX); if (0 < iVar12) { pbVar19[0x66] = pbVar19[0x66] & (byte)((ulong)in_ECX >> 8); *(byte *)(iVar47 + 0x52) = *(byte *)(iVar47 + 0x52) & (byte)in_DX; (pbVar19 + (int)pbVar58)[0x72] = (pbVar19 + (int)pbVar58)[0x72] & (byte)uVar18; pbVar51 = (byte *)puVar35[-2]; pbVar54 = (byte *)puVar35[-1]; in_EBP = CONCAT22(uVar46,*puVar35); pbVar19 = (byte *)puVar35[2]; in_DX = puVar35[3]; in_ECX = CONCAT22((int)((ulong)in_ECX >> 0x10),puVar35[4]); uVar18 = puVar35[5]; piVar45 = (int *)ZEXT24(puVar35 + 6); goto LAB_2a20_4ab2; } pbVar54 = pbVar54 + 1; *(byte *)(iVar47 + 0x69) = *(byte *)(iVar47 + 0x69) & (byte)in_DX; goto code_r0x0002ed20; } pbVar51[0x68] = pbVar51[0x68] & bVar9; code_r0x0002eac5: out(*(undefined2 *)pbVar51,in_DX); bVar11 = (byte)((uint)in_DX >> 8); pbVar51[0x6a] = pbVar51[0x6a] & bVar11; pbVar6 = pbVar58 + 0x65; *pbVar6 = *pbVar6 & (byte)((ulong)in_ECX >> 8); bVar64 = *pbVar6 == 0; pbVar54 = pbVar51 + 3; out(pbVar51[2],in_DX); bVar63 = false; if (!bVar64) goto LAB_2a20_48f1; pbVar52 = pbVar51 + 4; out(*pbVar54,in_DX); iVar47 = (int)in_EBP; if (!bVar64) { if ((char)*pbVar6 < '\0') { pbVar6 = pbVar58 + iVar47 + 0x65; bVar63 = CARRY1(*pbVar6,bVar11); *pbVar6 = *pbVar6 + bVar11; bVar11 = in(in_DX); *pbVar58 = bVar11; goto code_r0x0002eadd; } LAB_2a20_48f7: puVar26 = (undefined2 *)in_ESP; uVar46 = (undefined2)((ulong)in_ESP >> 0x10); in_ESP = (undefined2 *)CONCAT22(uVar46,puVar26 + -1); puVar26[-1] = 0x6e65; pbVar6 = pbVar58 + 0x6e; bVar11 = (byte)(in_AX >> 8); *pbVar6 = *pbVar6 & bVar11; pbVar51 = (byte *)in_EBX; bVar8 = (byte)((ulong)in_ECX >> 8); if (*pbVar6 != 0) { pbVar6 = pbVar52; pbVar52 = pbVar52 + 1; out(*pbVar6,in_DX); *(byte *)(in_ECX + 0x6e) = *(byte *)(in_ECX + 0x6e) & bVar11; pbVar51[0x62] = pbVar51[0x62] & bVar8; in_ESP = (undefined2 *)CONCAT22(uVar46,puVar26 + -2); puVar26[-2] = 0x65; goto code_r0x0002eb0b; } if (-1 < (char)*pbVar6) goto LAB_2a20_49d6; *pbVar51 = *pbVar51 & bVar11; in_DX = in_DX + -1; in_AF = 9 < ((byte)in_AX & 0xf) | in_AF; bVar9 = (byte)in_AX + in_AF * '\x06'; bVar9 = bVar9 + (0x90 < (bVar9 & 0xf0) | in_AF * (0xf9 < bVar9)) * '`'; in_AX = CONCAT11(bVar11,bVar9); pbVar58[(int)in_EBP + 0x65] = pbVar58[(int)in_EBP + 0x65] + (char)in_DX; pbVar52[0x6f] = pbVar52[0x6f] & bVar9; *(undefined2 *)(pbVar58 + (int)in_EBP + 0x20) = *(undefined2 *)(pbVar58 + (int)in_EBP + 0x20); pbVar54 = pbVar52 + 4; out(*(undefined4 *)pbVar52,in_DX); pbVar6 = pbVar58; pbVar58 = pbVar58 + 2; uVar46 = in(in_DX); *(undefined2 *)pbVar6 = uVar46; pbVar52 = pbVar52 + 6; out(*(undefined2 *)pbVar54,in_DX); bVar63 = false; (pbVar51 + (int)pbVar52)[0x65] = (pbVar51 + (int)pbVar52)[0x65] & bVar8; LAB_2a20_4981: pbVar54 = (byte *)in_EBX; pbVar6 = pbVar58; pbVar58 = pbVar58 + 1; bVar11 = in(in_DX); *pbVar6 = bVar11; if (bVar63) { LAB_2a20_49a4: pbVar52[(int)in_EBP + 0x4f] = pbVar52[(int)in_EBP + 0x4f] & (byte)in_AX; pbVar52 = pbVar52 + -1; goto LAB_2a20_49ac; } uVar18 = in_AX + 0xafe0; puVar28 = (undefined2 *)in_ESP; if (in_AX < 0x5020) { pbVar6 = pbVar58 + (int)in_EBP + 0x72; *pbVar6 = *pbVar6 & (byte)uVar18; bVar63 = *pbVar6 == 0; pbVar58 = (byte *)*puVar28; pbVar51 = (byte *)puVar28[1]; in_EBP = CONCAT22((int)(in_EBP >> 0x10),puVar28[2]); uVar20 = puVar28[4]; in_DX = puVar28[5]; in_ECX = CONCAT22((int)((ulong)in_ECX >> 0x10),puVar28[6]); uVar18 = puVar28[7]; in_ESP = (undefined2 *)CONCAT22((int)((ulong)in_ESP >> 0x10),puVar28 + 8); goto code_r0x0002ebf3; } if (uVar18 != 0) { pbVar51 = pbVar52 + 1; out(*pbVar52,in_DX); goto code_r0x0002ebf5; } uVar18 = in_AX + 0x59e0; in_ESP = (undefined2 *)ZEXT24(puVar28 + -1); puVar28[-1] = in_DX; goto LAB_2a20_4a6d; } bVar9 = (byte)(in_AX >> 8); *(byte *)in_EBX = *(byte *)in_EBX & bVar9; in_EBP = CONCAT22((int)(in_EBP >> 0x10),iVar47 + 1); puVar27 = (undefined2 *)in_ESP; in_ESP = (undefined2 *)CONCAT22((int)((ulong)in_ESP >> 0x10),puVar27 + -1); puVar27[-1] = pbVar58; bVar11 = 9 < ((byte)in_AX & 0xf) | in_AF; bVar8 = (byte)in_AX + bVar11 * '\x06'; bVar8 = bVar8 + (0x90 < (bVar8 & 0xf0) | bVar11 * (0xf9 < bVar8)) * '`'; *(byte *)(iVar47 + 0x70) = *(byte *)(iVar47 + 0x70) & bVar9; in_AF = 9 < (bVar8 & 0xf) | bVar11; bVar8 = bVar8 + in_AF * '\x06'; bVar64 = (bool)(0x90 < (bVar8 & 0xf0) | in_AF * (0xf9 < bVar8)); in_AX = CONCAT11(bVar9,bVar8 + bVar64 * '`'); bVar63 = SBORROW2(in_DX + -1,1); in_DX = in_DX + -2; if (bVar64 || in_DX == 0) { pbVar6 = pbVar58; pbVar58 = pbVar58 + 1; bVar11 = in(in_DX); *pbVar6 = bVar11; if (bVar64) goto code_r0x0002eb5a; goto LAB_2a20_4981; } LAB_2a20_49bc: puVar59 = (undefined2 *)*in_ESP; pbVar54 = (byte *)in_ESP[1]; in_EBP = CONCAT22((int)(in_EBP >> 0x10),in_ESP[2]); pbVar19 = (byte *)in_ESP[4]; in_DX = in_ESP[5]; uVar15 = (undefined2)((ulong)in_ECX >> 0x10); iVar47 = in_ESP[6]; in_ECX = CONCAT22(uVar15,iVar47); uVar18 = in_ESP[7]; puVar44 = in_ESP + 8; pbVar58 = (byte *)(puVar59 + 1); uVar46 = in(in_DX); *puVar59 = uVar46; bVar11 = (byte)((uint)iVar47 >> 8); pbVar19[0x66] = pbVar19[0x66] & bVar11; bVar8 = (byte)((uint)in_DX >> 8); pbVar54[0x68] = pbVar54[0x68] & bVar8; pbVar6 = pbVar19 + (int)pbVar54 + 0x61; *pbVar6 = *pbVar6 & bVar11; if (*pbVar6 == 0) { pbVar19[(int)pbVar58] = pbVar19[(int)pbVar58] + bVar8; bVar11 = 9 < ((byte)uVar18 & 0xf) | in_AF; uVar18 = CONCAT11((char)(uVar18 >> 8) + bVar11,(byte)uVar18 + bVar11 * '\x06') & 0xff0f; } else { *(uint *)(pbVar19 + (int)pbVar54) = *(uint *)(pbVar19 + (int)pbVar54) ^ uVar18; in_ECX = CONCAT22(uVar15,iVar47 + 1); pbVar6 = pbVar58; pbVar58 = (byte *)((int)puVar59 + 3); bVar11 = in(in_DX); *pbVar6 = bVar11; } code_r0x0002ec29: iVar47 = (int)in_EBP; *(byte *)(iVar47 + 0x2e) = *(byte *)(iVar47 + 0x2e) & (byte)in_ECX; pbVar54[iVar47 + 0x61] = pbVar54[iVar47 + 0x61] & (byte)uVar18; *(uint *)(pbVar19 + (int)pbVar58) = *(uint *)(pbVar19 + (int)pbVar58) ^ (uint)pbVar58; uVar18 = uVar18 + 0xc6cf; (pbVar19 + (int)pbVar58)[0x6c] = (pbVar19 + (int)pbVar58)[0x6c] + (char)uVar18; pbVar51 = pbVar58 + 1; bVar11 = in(in_DX); *pbVar58 = bVar11; pbVar54[iVar47 + 0x69] = pbVar54[iVar47 + 0x69] & (byte)in_DX; piVar45 = (int *)(((ulong)puVar44 & 0xffff0000) - 2); *piVar45 = 0x7374; pbVar54[iVar47 + 0x65] = pbVar54[iVar47 + 0x65] & (byte)in_DX; LAB_2a20_4ab2: (pbVar19 + (int)pbVar51)[0x4f] = (pbVar19 + (int)pbVar51)[0x4f] + (char)pbVar19; iVar12 = (int)in_EBP; piVar36 = (int *)piVar45; piVar36[-1] = iVar12; (pbVar19 + (int)pbVar51)[0x4f] = (pbVar19 + (int)pbVar51)[0x4f] + (char)pbVar19; piVar38 = piVar36 + -2; piVar36[-2] = iVar12; pbVar6 = pbVar51 + iVar12 + 0x75; bVar11 = *pbVar6; bVar8 = (byte)in_DX; *pbVar6 = *pbVar6 + bVar8; puVar2 = (uint *)(pbVar54 + 0x20); iVar47 = ((uint)pbVar54 & 3) - (*puVar2 & 3); *puVar2 = *puVar2 + (uint)CARRY1(bVar11,bVar8) * iVar47; pbVar52 = pbVar54 + 2; out(*(undefined2 *)pbVar54,in_DX); if (iVar47 < 1) { LAB_2a20_4b3b: uVar18 = uVar18 & 0x646c; pbVar19[0x4b] = pbVar19[0x4b] + (char)uVar18; in_DX = in_DX + 1; iVar12 = (int)in_ECX + 1; pbVar52[(int)in_EBP + 0x41] = pbVar52[(int)in_EBP + 0x41] & (byte)in_DX; uVar46 = (undefined2)(in_EBP >> 0x10); pbVar19 = pbVar19 + -2; pbVar51[0x40] = pbVar51[0x40] + (char)iVar12; pbVar54 = pbVar52 + -1; *(undefined2 *)((int)piVar38 + -3) = pbVar19; pbVar58 = pbVar51 + -2; pbVar52[0x43] = pbVar52[0x43] & (byte)in_ECX; *(undefined2 *)((int)piVar38 + -5) = pbVar52 + -2; *pbVar58 = *pbVar58 & (byte)(uVar18 >> 8); pbVar51[0x6c] = pbVar51[0x6c] + (byte)in_DX; iVar47 = *(int *)((int)in_EBP + 0x6f) * 0x77; out(pbVar52[-2],in_DX); pcVar1 = (char *)(iVar47 + 0x56); *pcVar1 = *pcVar1 + (byte)in_ECX; puVar39 = (uint *)((int)piVar38 + -8); *(int *)((int)piVar38 + -8) = in_DX; in_ECX = CONCAT22((int)((ulong)in_ECX >> 0x10),iVar12); iVar47 = iVar47 + -1; pbVar19[(int)pbVar54] = pbVar19[(int)pbVar54] + (char)uVar18; } else { pbVar19[0x66] = pbVar19[0x66] & (byte)((ulong)in_ECX >> 8); *(byte *)(iVar12 + 0x52) = *(byte *)(iVar12 + 0x52) & bVar8; uVar17 = (undefined2)((ulong)in_ECX >> 0x10); uVar46 = (undefined2)(in_EBP >> 0x10); (pbVar19 + (int)pbVar51)[0x72] = (pbVar19 + (int)pbVar51)[0x72] & (byte)uVar18; puVar60 = (undefined2 *)piVar36[-2]; puVar59 = (undefined2 *)piVar36[-1]; iVar48 = *piVar36; pbVar19 = (byte *)piVar36[2]; in_DX = piVar36[3]; iVar13 = piVar36[4]; iVar12 = piVar36[5]; pcVar1 = (char *)((int)puVar60 + iVar48 + 0x54); bVar8 = (byte)in_DX; *pcVar1 = *pcVar1 + bVar8; *(char *)((int)puVar60 + 0x49) = *(char *)((int)puVar60 + 0x49) + (char)iVar13 + '\x01'; piVar36[5] = (int)pbVar19; piVar36[4] = (int)(piVar36 + 5); bVar11 = (byte)iVar12; *(char *)(iVar48 + 0x4f) = *(char *)(iVar48 + 0x4f) + bVar11; *(char *)(iVar48 + 0x49) = *(char *)(iVar48 + 0x49) + bVar8; iVar47 = iVar48 + 1; pbVar6 = (byte *)((int)puVar59 + iVar48 + 0x42); *pbVar6 = *pbVar6 & bVar8; *(byte *)(puVar60 + 0x2c) = *(byte *)(puVar60 + 0x2c) & bVar11; uVar18 = iVar12 - 1; in_ECX = CONCAT22(uVar17,iVar13 + 2); *(int *)((int)piVar36 + 7) = iVar48; *(undefined2 *)((int)piVar36 + 5) = pbVar19; *(int *)((int)piVar36 + 3) = (int)piVar36 + 5; piVar37 = piVar36 + 2; pbVar6 = (byte *)((int)puVar59 + iVar48 + 0x70); bVar11 = *pbVar6; *pbVar6 = *pbVar6 + bVar8; pbVar54 = (byte *)(puVar59 + 1); out(*puVar59,in_DX); pbVar58 = (byte *)(puVar60 + 1); uVar15 = in(in_DX); *puVar60 = uVar15; if (!CARRY1(bVar11,bVar8)) { *(byte *)(iVar48 + 0x6a) = *(byte *)(iVar48 + 0x6a) & bVar8; code_r0x0002ed20: out(*(undefined2 *)pbVar54,in_DX); pbVar6 = pbVar54 + 2 + iVar47 + 0x41; *pbVar6 = *pbVar6 & (byte)in_DX; pbVar19[(int)(pbVar54 + 2)] = pbVar19[(int)(pbVar54 + 2)] & (byte)((ulong)in_ECX >> 8); pbVar52 = pbVar54 + 1; *(undefined2 *)((int)piVar37 + -2) = pbVar52; *(int *)((int)piVar37 + -4) = in_DX; *(uint *)(pbVar19 + (int)pbVar52) = *(int *)(pbVar19 + (int)pbVar52) - uVar18; *(undefined2 *)((int)piVar37 + -6) = pbVar52; piVar38 = (int *)((int)piVar37 + -5); pbVar51 = pbVar58 + -1; pbVar52[iVar47 + 0x40] = pbVar52[iVar47 + 0x40] & (byte)in_DX; in_EBP = CONCAT22(uVar46,iVar47 + -2); goto LAB_2a20_4b3b; } bVar64 = SBORROW2(iVar47,1); pbVar58 = (byte *)piVar36[2]; pbVar54 = (byte *)piVar36[3]; iVar47 = piVar36[4]; pbVar19 = (byte *)piVar36[6]; in_DX = piVar36[7]; in_ECX = CONCAT22(uVar17,piVar36[8]); uVar18 = piVar36[9]; puVar39 = (uint *)(piVar36 + 10); LAB_2a20_4aff: if (!bVar64) { bVar11 = (byte)((uint)pbVar19 >> 8); pbVar54[iVar47] = pbVar54[iVar47] & bVar11; uVar18 = uVar18 & 100; *(undefined2 *)((int)puVar39 + -2) = pbVar54; *(int *)((int)puVar39 + -4) = in_DX; iVar12 = (int)in_ECX + 1; in_ECX = CONCAT22((int)((ulong)in_ECX >> 0x10),iVar12); bVar8 = (byte)iVar12; pbVar54[0x45] = pbVar54[0x45] & bVar8; pbVar54 = pbVar54 + 1; piVar37 = (int *)((int)puVar39 + -6); *(undefined1 **)(undefined1 *)((int)puVar39 + -6) = (undefined1 *)((int)puVar39 + -4); pbVar54[iVar47 + -1] = pbVar54[iVar47 + -1] & bVar11; *pbVar58 = *pbVar58; pbVar6 = pbVar58; pbVar58 = pbVar58 + 1; bVar11 = in(in_DX); *pbVar6 = bVar11; pbVar19 = pbVar19 + -1; *(char *)(iVar47 + 100) = *(char *)(iVar47 + 100) + bVar8; *(byte *)(iVar47 + 0x68) = *(byte *)(iVar47 + 0x68) & (byte)in_DX; iVar47 = iVar47 + -1; goto code_r0x0002ed20; } } cVar10 = (char)uVar18; pbVar19[(int)pbVar54] = pbVar19[(int)pbVar54] + cVar10; pbVar19[(int)pbVar54] = pbVar19[(int)pbVar54] + cVar10; pbVar19[(int)pbVar54] = pbVar19[(int)pbVar54] + cVar10; pbVar19[(int)pbVar54] = pbVar19[(int)pbVar54] + cVar10; (pbVar19 + (int)pbVar54)[0x3f] = (pbVar19 + (int)pbVar54)[0x3f] + cVar10; (pbVar19 + (int)pbVar54)[0x2043] = (pbVar19 + (int)pbVar54)[0x2043] + cVar10; iVar12 = CONCAT11((char)((uint)pbVar19 >> 8) - *pbVar54,(char)pbVar19 - *pbVar19); puVar39[-1] = iVar12; pbVar54[iVar12] = pbVar54[iVar12] + cVar10; puVar39[-2] = in_DX; bVar11 = (byte)((uint)in_DX >> 8); pbVar54[iVar12] = pbVar54[iVar12] ^ bVar11; pbVar6 = pbVar58 + 1; *pbVar6 = *pbVar6 ^ (byte)in_ECX; uVar15 = (undefined2)((ulong)in_ECX >> 0x10); pbVar6 = pbVar58 + 1 + iVar47 + 0x73; *pbVar6 = *pbVar6 & bVar11; puVar61 = (uint *)puVar39[-2]; puVar60 = (undefined2 *)puVar39[-1]; uVar49 = *puVar39; lVar50 = CONCAT22(uVar46,uVar49); iVar47 = puVar39[2]; uVar17 = puVar39[3]; uVar14 = puVar39[4]; lVar16 = CONCAT22(uVar15,uVar14); uVar20 = puVar39[5]; puVar42 = puVar39 + 6; puVar40 = puVar39 + 6; puVar2 = (uint *)((int)puVar61 + uVar49 + 0x20); uVar18 = *puVar2; *puVar2 = *puVar2; puVar59 = puVar60 + 1; out(*puVar60,uVar17); bVar11 = (byte)((uint)uVar17 >> 8); if ((int)((uVar49 & 3) - (uVar18 & 3)) < 1) { puVar62 = (uint *)((int)puVar61 + 1); bVar8 = in(uVar17); *(byte *)puVar61 = bVar8; puVar55 = (undefined4 *)(puVar60 + 2); out(*puVar59,uVar17); lVar7 = (long)*(int *)(uVar49 + 0x74) * 0x6765; iVar12 = (int)lVar7; lVar50 = CONCAT22(uVar46,iVar12); bVar64 = iVar12 != lVar7; bVar63 = false; if (!bVar64) { puVar53 = (undefined1 *)(*(int *)(iVar12 + 0x69) * 0x6564); puVar53[iVar12 + 0x79] = puVar53[iVar12 + 0x79] & (byte)(uVar20 >> 8); puVar53[iVar47] = puVar53[iVar47] & bVar11; uVar20 = uVar20 | 10; *(uint *)(puVar53 + iVar47) = *(uint *)(puVar53 + iVar47) | uVar20; puVar40 = puVar39 + 5; puVar39[5] = uVar17; puVar53[iVar47] = puVar53[iVar47] ^ bVar11; bVar8 = (byte)((uint)uVar14 >> 8) | (byte)*puVar62; lVar16 = CONCAT22(uVar15,CONCAT11(bVar8,(char)uVar14)); pbVar6 = (byte *)(iVar12 + 0x6f); bVar64 = false; *pbVar6 = *pbVar6 & bVar8; bVar63 = *pbVar6 == 0; puVar41 = puVar39 + 6; if (!bVar63) { out(*puVar53,uVar17); puVar55 = (undefined4 *)(puVar53 + 3); out(*(undefined2 *)(puVar53 + 1),uVar17); goto LAB_2a20_4bdd; } LAB_2a20_4bfa: puVar42 = (uint *)((int)puVar41 + -2); *(byte *)puVar62 = (byte)*puVar62 + (char)lVar16; bVar67 = puVar53[iVar47]; *(int *)(puVar53 + iVar47) = *(int *)(puVar53 + iVar47) + 1; puVar59 = (undefined2 *)(puVar53 + 1); out(*puVar53,uVar17); uVar20 = CONCAT11((char)(uVar20 >> 8),(byte)uVar20 | bVar67) + 0x968c; puVar61 = puVar62 + 1; uVar18 = in(uVar17); *puVar62 = uVar18; goto LAB_2a20_4c07; } LAB_2a20_4bdd: if (bVar63) { *(undefined2 *)((int)puVar40 + -2) = 0x7320; if (bVar64) { LAB_2a20_4c45: *puVar62 = *puVar62 ^ (uint)lVar16; lVar16 = (ulong)CONCAT21((int)((ulong)lVar16 >> 0x10), (byte)((ulong)lVar16 >> 8) | (byte)*puVar62) << 8; goto code_r0x0002ee49; } puVar2 = (uint *)((int)puVar61 + 0x21); uVar18 = *puVar2; *puVar2 = *puVar2; out(*puVar55,uVar17); puVar59 = (undefined2 *)((int)puVar55 + 5); out(*(undefined1 *)(puVar55 + 1),uVar17); if ((int)(((uint)((int)puVar40 + -2) & 3) - (uVar18 & 3)) < 1) { out(*(undefined1 *)puVar59,uVar17); puVar2 = puVar62; puVar62 = (uint *)((int)puVar61 + 3); uVar18 = in(uVar17); *puVar2 = uVar18; puVar53 = (undefined1 *)((int)puVar55 + 7); out(*(undefined1 *)(undefined2 *)((int)puVar55 + 6),uVar17); uVar20 = CONCAT11((char)(uVar20 >> 8),(byte)uVar20 | puVar53[iVar47]); puVar41 = puVar40; goto LAB_2a20_4bfa; } } else { uVar20 = uVar20 | 0x2d0a; code_r0x0002ee49: pbVar6 = (byte *)((int)lVar50 + 0x75); *pbVar6 = *pbVar6 & (byte)((ulong)lVar16 >> 8); bVar67 = in(uVar17); *(byte *)puVar62 = bVar67; puVar61 = puVar62 + 1; bVar67 = in(uVar17); *(byte *)((int)puVar62 + 1) = bVar67; pbVar6 = (byte *)((int)puVar55 + iVar47 + 0x6f); *pbVar6 = *pbVar6 & (byte)((uint)uVar17 >> 8); uVar18 = *(int *)((int)lVar50 + 0x74) * 0x7265; uVar14 = (undefined2)((ulong)lVar50 >> 0x10); LAB_2a20_4c56: uVar46 = (undefined2)((ulong)lVar16 >> 0x10); bVar67 = 0; pbVar6 = (byte *)((int)puVar61 + iVar47 + 0x73); bVar11 = (byte)(uVar20 >> 8); *pbVar6 = *pbVar6 & bVar11; *(char *)((int)puVar55 + 0x65) = *(char *)((int)puVar55 + 0x65) + bVar11; code_r0x0002eebd: puVar2 = puVar61; puVar61 = (uint *)((int)puVar61 + (uint)bVar67 * -2 + 1); bVar11 = in(uVar17); *(byte *)puVar2 = bVar11; puVar43 = (undefined2 *)(*(int *)((int)puVar55 + 0xd) * 10); pbVar6 = (byte *)((int)puVar55 + 0x65); bVar11 = *pbVar6; bVar9 = (byte)(uVar20 >> 8); *pbVar6 = *pbVar6 + bVar9; bVar8 = *pbVar6; bVar64 = *pbVar6 == 0; puVar59 = (undefined2 *)((int)puVar55 + (uint)bVar67 * -2 + 1); out(*(undefined1 *)puVar55,uVar17); puVar44 = (undefined2 *)CONCAT22(uVar57,puVar59 + (uint)bVar67 * -2 + 1); out(*puVar59,uVar17); bVar63 = true; if (CARRY1(bVar11,bVar9)) goto LAB_2a20_4d38; puVar59 = (undefined2 *)puVar43[1]; lVar50 = CONCAT22(uVar14,puVar43[2]); iVar47 = puVar43[4]; uVar17 = puVar43[5]; lVar16 = CONCAT22(uVar46,puVar43[6]); uVar20 = puVar43[7]; puVar62 = (uint *)((undefined1 *)*puVar43 + (uint)bVar67 * -2 + 1); uVar4 = in(uVar17); *(undefined1 *)*puVar43 = uVar4; } puVar44 = (undefined2 *)CONCAT22(uVar57,puVar59); bVar11 = (byte)uVar20 | 10; pcVar1 = (char *)(lVar16 + 0x76 + lVar50 * 2); *pcVar1 = *pcVar1 + (char)(uVar20 >> 8); puVar60 = (undefined2 *)(*(int *)((int)puVar59 + 0x65) * 0x6220); bVar8 = (byte)((ulong)lVar16 >> 8); if (*pcVar1 < '\0') { *(byte *)puVar62 = (byte)*puVar62 ^ (byte)lVar16; bVar11 = bVar11 | *(byte *)(iVar47 + (int)puVar59); uVar18 = (uint)lVar50; *(undefined2 *)((int)puVar60 + -2) = 0x6f00; if (bVar11 != 0) { puVar2 = puVar62; puVar62 = (uint *)((int)puVar62 + (uint)bVar67 * -2 + 1); bVar8 = in(uVar17); *(byte *)puVar2 = bVar8; puVar44 = (undefined2 *)CONCAT22(uVar57,puVar59 + (uint)bVar67 * -2 + 1); out(*puVar59,uVar17); bVar11 = bVar11 | 10; *(undefined2 *)((int)puVar60 + -4) = 0; lVar16 = (long)*(int *)(uVar18 + 0x65) * 0x6178; bVar63 = (int)lVar16 != lVar16; puVar60 = (undefined2 *)((int)puVar60 + -4); goto code_r0x0002ef02; } bVar63 = true; bVar64 = true; bVar11 = 0; bVar66 = false; joined_r0x0002ef4a: if (!bVar63) goto LAB_2a20_4db1_1; code_r0x0002ef4c: pbVar51 = (byte *)((int)puVar62 + (uint)bVar67 * -2 + 1); bVar8 = in(uVar17); *(byte *)puVar62 = bVar8; bVar63 = false; puVar59 = (undefined2 *)puVar44; puVar60 = puVar59 + (uint)bVar67 * -2 + 1; puVar44 = (undefined2 *)CONCAT22((int)((ulong)puVar44 >> 0x10),puVar60); out(*puVar59,uVar17); bVar65 = false; if (bVar64) { bVar11 = bVar11 | *(byte *)(iVar47 + (int)puVar60); bVar65 = bVar11 == 0; if ((char)bVar11 < '\0') goto LAB_2a20_4dc6_1; bVar8 = in(uVar17); *pbVar51 = bVar8; lVar16 = (long)*(int *)(pbVar51 + uVar18 + (uint)bVar67 * -2 + 0x6a) * 0x6c74; bVar63 = (int)lVar16 != lVar16; bVar66 = false; } if (bVar66) { out(*(undefined1 *)puVar44,uVar17); puVar44 = (undefined2 *)((long)puVar44 + (ulong)bVar67 * -2 + 1); goto joined_r0x0002ef62; } } else { pbVar6 = (byte *)((int)puVar62 + iVar47 + 0x6e); bVar63 = CARRY1(*pbVar6,bVar8); *pbVar6 = *pbVar6 + bVar8; bVar65 = *pbVar6 == 0; if ((char)*pbVar6 < '\0') { joined_r0x0002ef62: puVar59 = (undefined2 *)puVar44; if (!bVar63) { if (!bVar65) { /* WARNING: Bad instruction - Truncating control flow here */ halt_baddata(); } goto LAB_2a20_4dcc; } LAB_2a20_4dc6: *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; LAB_2a20_4dcc: *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; /* WARNING: Bad instruction - Truncating control flow here */ halt_baddata(); } code_r0x0002ef02: puVar59 = (undefined2 *)puVar44; puVar2 = (uint *)((int)puVar59 + 0xd); *puVar2 = *puVar2 + (uint)bVar63 * (((uint)puVar59 & 3) - (*puVar2 & 3)); cVar10 = *(char *)(iVar47 + (int)puVar59); bVar63 = bVar11 == 0; bVar11 = (char)*(undefined2 *)(iVar47 + (int)puVar59) * 'u'; puVar53 = (undefined1 *)((int)puVar59 + (uint)bVar67 * -2 + 1); out(*(undefined1 *)puVar59,uVar17); uVar18 = in(uVar17); *puVar62 = uVar18; if (bVar63 && cVar10 == '\0') goto LAB_2a20_4d0f; LAB_2a20_4d7b: puVar44 = (undefined2 *)ZEXT24(puVar53); puVar53[iVar47] = puVar53[iVar47] + bVar11; puVar53[iVar47] = puVar53[iVar47] + bVar11; } puVar59 = (undefined2 *)puVar44; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; } else { LAB_2a20_4c07: bVar67 = (byte)(uVar20 >> 8); *(byte *)(puVar61 + 0x39) = (byte)puVar61[0x39] & bVar67; iVar12 = (int)lVar50; *(char *)(iVar12 + (int)puVar59) = *(char *)(iVar12 + (int)puVar59) + (char)uVar20; pcVar1 = (char *)((int)puVar59 + iVar12 + 0x36); *pcVar1 = *pcVar1 + (char)uVar17; *(byte *)(iVar47 + (int)puVar59) = *(byte *)(iVar47 + (int)puVar59) ^ bVar11; uVar46 = (undefined2)((ulong)lVar16 >> 0x10); pbVar6 = (byte *)(iVar12 + 0x6c); *pbVar6 = *pbVar6 & bVar67; out(*puVar59,uVar17); bVar67 = 0; puVar61 = (uint *)*puVar42; puVar55 = (undefined4 *)puVar42[1]; uVar14 = (undefined2)((ulong)lVar50 >> 0x10); uVar18 = puVar42[2]; iVar47 = puVar42[4]; uVar17 = puVar42[5]; uVar15 = puVar42[6]; lVar16 = CONCAT22(uVar46,uVar15); iVar12 = puVar42[7]; puVar59 = puVar42 + 8; if (*pbVar6 == 0) { puVar42[7] = iVar47; bVar8 = (byte)((uint)iVar12 >> 8); *(byte *)(puVar61 + 0x39) = (byte)puVar61[0x39] & bVar8; bVar11 = *(byte *)(iVar47 + (int)puVar55); bVar67 = 1; *(char *)(uVar18 + (int)puVar55) = *(char *)(uVar18 + (int)puVar55) + (char)((uint)iVar47 >> 8); *(byte *)((int)puVar61 + 0x41) = *(byte *)((int)puVar61 + 0x41) & (byte)uVar15; puVar42[6] = (uint)(puVar42 + 7); uVar20 = CONCAT11(bVar8,(byte)iVar12 | bVar11) - 1U | 0x2d0a; puVar59 = puVar42 + 6; } else { puVar3 = puVar55; puVar55 = (undefined4 *)((int)puVar55 + 1); out(*(undefined1 *)puVar3,uVar17); uVar20 = iVar12 + 0x9090; lVar50 = (long)*(int *)(uVar18 + 0x74) * 0x7320; uVar18 = (uint)lVar50; if (uVar20 == 0) { if ((int)uVar18 == lVar50) { uVar20 = 0; pbVar6 = (byte *)(uVar18 + 0x6f); *pbVar6 = *pbVar6 & (byte)((uint)uVar15 >> 8); if (*pbVar6 != 0) { bVar67 = in(uVar17); *(byte *)puVar61 = bVar67; out(*(undefined2 *)puVar55,uVar17); puVar62 = (uint *)puVar42[8]; puVar55 = (undefined4 *)puVar42[9]; lVar50 = CONCAT22(uVar14,puVar42[10]); iVar47 = puVar42[0xc]; uVar17 = puVar42[0xd]; lVar16 = CONCAT22(uVar46,puVar42[0xe]); uVar20 = puVar42[0xf] | 10; *(int *)(iVar47 + (int)puVar55) = *(int *)(iVar47 + (int)puVar55) + uVar20; puVar42[0xf] = uVar17; *(byte *)(iVar47 + (int)puVar55) = *(byte *)(iVar47 + (int)puVar55) ^ (byte)((uint)uVar17 >> 8); goto LAB_2a20_4c45; } goto LAB_2a20_4c56; } uVar20 = iVar12 + 0x2a70; bVar11 = in(uVar17); *(byte *)puVar61 = bVar11; puVar59 = puVar42 + 8; } } pbVar6 = (byte *)(uVar18 + 0x6c); *pbVar6 = *pbVar6 & (byte)(uVar20 >> 8); out(*(undefined2 *)puVar55,uVar17); puVar61 = (uint *)*puVar59; iVar47 = puVar59[4]; uVar17 = puVar59[5]; uVar15 = puVar59[6]; puVar60 = puVar59 + 8; if (*pbVar6 == 0) { LAB_2a20_4d0f: puVar53 = (undefined1 *)*(undefined2 *)((int)puVar60 + 2); iVar47 = *(int *)((int)puVar60 + 8); bVar11 = (byte)*(undefined2 *)((int)puVar60 + 0xe); puVar53[iVar47] = puVar53[iVar47] + bVar11; puVar53[iVar47] = puVar53[iVar47] + bVar11; goto LAB_2a20_4d7b; } puVar60 = (undefined2 *)((undefined1 *)puVar59[1] + (uint)bVar67 * -2 + 1); puVar44 = (undefined2 *)CONCAT22(uVar57,puVar60); out(*(undefined1 *)puVar59[1],uVar17); uVar20 = puVar59[7] + 0x9090; uVar18 = (uint)((long)*(int *)(puVar59[2] + 0x74) * 0x6520); bVar11 = (byte)((uint)uVar17 >> 8); if ((long)(int)uVar18 == (long)*(int *)(puVar59[2] + 0x74) * 0x6520) { puVar55 = (undefined4 *)(puVar60 + (uint)bVar67 * -2 + 1); out(*puVar60,uVar17); *(byte *)(iVar47 + (int)puVar55) = *(byte *)(iVar47 + (int)puVar55) & (byte)uVar20; pbVar6 = (byte *)((int)puVar61 + iVar47 + 0x6e); bVar8 = *pbVar6; bVar9 = (byte)((uint)uVar15 >> 8); *pbVar6 = *pbVar6 + bVar9; if (!CARRY1(bVar8,bVar9) && *pbVar6 != 0) goto code_r0x0002eebd; pbVar6 = (byte *)((int)puVar55 + uVar18 + 0x6f); *pbVar6 = *pbVar6 & bVar11; bVar8 = *pbVar6; bVar64 = *pbVar6 == 0; puVar60 = (undefined2 *)((int)puVar55 + (uint)bVar67 * -4 + 2); puVar44 = (undefined2 *)CONCAT22(uVar57,puVar60); out(*(undefined2 *)puVar55,uVar17); if (!bVar64) goto LAB_2a20_4d24; puVar5 = (undefined1 *)((long)*(int *)(iVar47 + (int)puVar60) * 0x6f); puVar43 = (undefined2 *)puVar5; bVar66 = (undefined1 *)(long)(int)puVar43 != puVar5; } else { LAB_2a20_4d24: uVar20 = in(uVar17); *puVar61 = uVar20; puVar2 = puVar61 + (uint)bVar67 * -2 + 1; *(byte *)puVar2 = (byte)*puVar2 + (char)uVar15; out(*(undefined1 *)(undefined2 *)puVar44,uVar17); pbVar6 = (byte *)((int)(puVar61 + (uint)bVar67 * -2 + 1) + uVar18 + 0x74); bVar66 = CARRY1(*pbVar6,bVar11); *pbVar6 = *pbVar6 + bVar11; bVar8 = *pbVar6; puVar61 = (uint *)puVar59[8]; puVar60 = (undefined2 *)puVar59[9]; uVar18 = puVar59[10]; iVar47 = puVar59[0xc]; uVar17 = puVar59[0xd]; uVar20 = puVar59[0xf]; puVar43 = puVar59 + 0x10; puVar2 = (uint *)((int)puVar61 + uVar18 + 0x20); iVar12 = (uVar18 & 3) - (*puVar2 & 3); bVar64 = 0 < iVar12; *puVar2 = *puVar2 + (uint)bVar66 * iVar12; puVar44 = (undefined2 *) CONCAT22((int)((ulong)puVar44 >> 0x10),puVar60 + (uint)bVar67 * -2 + 1); out(*puVar60,uVar17); } bVar11 = (byte)uVar20; if (!bVar66 && !bVar64) { bVar63 = false; if (bVar66) { puVar59 = (undefined2 *)puVar44; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; LAB_2a20_4db1_1: pcVar1 = (char *)(iVar47 + (int)(undefined2 *)puVar44); *pcVar1 = *pcVar1 + bVar11; pcVar1 = (char *)(iVar47 + (int)(undefined2 *)puVar44); *pcVar1 = *pcVar1 + bVar11; } else { LAB_2a20_4d38: bVar11 = (byte)uVar20; bVar66 = (char)bVar8 < '\0'; puVar62 = (uint *)((int)puVar61 + (uint)bVar67 * -2 + 1); bVar8 = in(uVar17); *(byte *)puVar61 = bVar8; puVar59 = (undefined2 *)puVar44; uVar57 = (undefined2)((ulong)puVar44 >> 0x10); puVar60 = puVar59 + (uint)bVar67 * -2 + 1; puVar44 = (undefined2 *)CONCAT22(uVar57,puVar60); out(*puVar59,uVar17); if (!bVar63 && !bVar64) { bVar63 = !bVar63; goto joined_r0x0002ef4a; } out(*puVar60,uVar17); pbVar6 = (byte *)((int)puVar62 + uVar18 + 0x74); bVar8 = *pbVar6; bVar9 = (byte)((uint)uVar17 >> 8); *pbVar6 = *pbVar6 + bVar9; bVar66 = (char)*pbVar6 < '\0'; puVar62 = (uint *)*puVar43; puVar44 = (undefined2 *)CONCAT22(uVar57,(undefined2 *)puVar43[1]); uVar18 = puVar43[2]; iVar47 = puVar43[4]; uVar17 = puVar43[5]; bVar11 = (byte)puVar43[7]; puVar2 = (uint *)((int)puVar62 + uVar18 + 0x20); iVar12 = (uVar18 & 3) - (*puVar2 & 3); *puVar2 = *puVar2 + (uint)CARRY1(bVar8,bVar9) * iVar12; if (0 < iVar12) { bVar64 = true; if (!CARRY1(bVar8,bVar9)) goto code_r0x0002ef4c; goto LAB_2a20_4db1_1; } } puVar59 = (undefined2 *)puVar44; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; goto LAB_2a20_4dc6; } } puVar59 = (undefined2 *)puVar44; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; LAB_2a20_4dc6_1: puVar59 = (undefined2 *)puVar44; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; *(char *)(iVar47 + (int)puVar59) = *(char *)(iVar47 + (int)puVar59) + bVar11; /* WARNING: Bad instruction - Truncating control flow here */ halt_baddata(); } // Function: FUN_2a20_4ec0 at 2a20:4ec0 /* WARNING: Control flow encountered bad instruction data */ void FUN_2a20_4ec0(void) { char in_AL; int in_BX; int unaff_SI; undefined2 unaff_DS; *(char *)(in_BX + unaff_SI) = *(char *)(in_BX + unaff_SI) + in_AL; *(char *)(in_BX + unaff_SI) = *(char *)(in_BX + unaff_SI) + in_AL; *(char *)(in_BX + unaff_SI) = *(char *)(in_BX + unaff_SI) + in_AL; *(char *)(in_BX + unaff_SI) = *(char *)(in_BX + unaff_SI) + in_AL; *(char *)(in_BX + unaff_SI) = *(char *)(in_BX + unaff_SI) + in_AL; *(char *)(in_BX + unaff_SI) = *(char *)(in_BX + unaff_SI) + in_AL; *(char *)(in_BX + unaff_SI) = *(char *)(in_BX + unaff_SI) + in_AL; *(char *)(in_BX + unaff_SI) = *(char *)(in_BX + unaff_SI) + in_AL; *(char *)(in_BX + unaff_SI) = *(char *)(in_BX + unaff_SI) + in_AL; *(char *)(in_BX + unaff_SI) = *(char *)(in_BX + unaff_SI) + in_AL; *(char *)(in_BX + unaff_SI) = *(char *)(in_BX + unaff_SI) + in_AL; *(char *)(in_BX + unaff_SI) = *(char *)(in_BX + unaff_SI) + in_AL; *(char *)(in_BX + unaff_SI) = *(char *)(in_BX + unaff_SI) + in_AL; *(char *)(in_BX + unaff_SI) = *(char *)(in_BX + unaff_SI) + in_AL; *(char *)(in_BX + unaff_SI) = *(char *)(in_BX + unaff_SI) + in_AL; *(char *)(in_BX + unaff_SI) = *(char *)(in_BX + unaff_SI) + in_AL; *(char *)(in_BX + unaff_SI) = *(char *)(in_BX + unaff_SI) + in_AL; *(char *)(in_BX + unaff_SI) = *(char *)(in_BX + unaff_SI) + in_AL; *(char *)(in_BX + unaff_SI) = *(char *)(in_BX + unaff_SI) + in_AL; *(char *)(in_BX + unaff_SI) = *(char *)(in_BX + unaff_SI) + in_AL; *(char *)(in_BX + unaff_SI) = *(char *)(in_BX + unaff_SI) + in_AL; *(char *)(in_BX + unaff_SI) = *(char *)(in_BX + unaff_SI) + in_AL; *(char *)(in_BX + unaff_SI) = *(char *)(in_BX + unaff_SI) + in_AL; *(char *)(in_BX + unaff_SI) = *(char *)(in_BX + unaff_SI) + in_AL; *(char *)(in_BX + unaff_SI) = *(char *)(in_BX + unaff_SI) + in_AL; *(char *)(in_BX + unaff_SI) = *(char *)(in_BX + unaff_SI) + in_AL; *(char *)(in_BX + unaff_SI) = *(char *)(in_BX + unaff_SI) + in_AL; *(char *)(in_BX + unaff_SI) = *(char *)(in_BX + unaff_SI) + in_AL; *(char *)(in_BX + unaff_SI) = *(char *)(in_BX + unaff_SI) + in_AL; *(char *)(in_BX + unaff_SI) = *(char *)(in_BX + unaff_SI) + in_AL; *(char *)(in_BX + unaff_SI) = *(char *)(in_BX + unaff_SI) + in_AL; *(char *)(in_BX + unaff_SI) = *(char *)(in_BX + unaff_SI) + in_AL; *(char *)(in_BX + unaff_SI) = *(char *)(in_BX + unaff_SI) + in_AL; *(char *)(in_BX + unaff_SI) = *(char *)(in_BX + unaff_SI) + in_AL; *(char *)(in_BX + unaff_SI) = *(char *)(in_BX + unaff_SI) + in_AL; *(char *)(in_BX + unaff_SI) = *(char *)(in_BX + unaff_SI) + in_AL; *(char *)(in_BX + unaff_SI) = *(char *)(in_BX + unaff_SI) + in_AL; *(char *)(in_BX + unaff_SI) = *(char *)(in_BX + unaff_SI) + in_AL; *(char *)(in_BX + unaff_SI) = *(char *)(in_BX + unaff_SI) + in_AL; *(char *)(in_BX + unaff_SI) = *(char *)(in_BX + unaff_SI) + in_AL; *(char *)(in_BX + unaff_SI) = *(char *)(in_BX + unaff_SI) + in_AL; *(char *)(in_BX + unaff_SI) = *(char *)(in_BX + unaff_SI) + in_AL; *(char *)(in_BX + unaff_SI) = *(char *)(in_BX + unaff_SI) + in_AL; *(char *)(in_BX + unaff_SI) = *(char *)(in_BX + unaff_SI) + in_AL; *(char *)(in_BX + unaff_SI) = *(char *)(in_BX + unaff_SI) + in_AL; *(char *)(in_BX + unaff_SI) = *(char *)(in_BX + unaff_SI) + in_AL; *(char *)(in_BX + unaff_SI) = *(char *)(in_BX + unaff_SI) + in_AL; *(char *)(in_BX + unaff_SI) = *(char *)(in_BX + unaff_SI) + in_AL; *(char *)(in_BX + unaff_SI) = *(char *)(in_BX + unaff_SI) + in_AL; *(char *)(in_BX + unaff_SI) = *(char *)(in_BX + unaff_SI) + in_AL; *(char *)(in_BX + unaff_SI) = *(char *)(in_BX + unaff_SI) + in_AL; *(char *)(in_BX + unaff_SI) = *(char *)(in_BX + unaff_SI) + in_AL; /* WARNING: Bad instruction - Truncating control flow here */ halt_baddata(); }