*(char *)(unaff_Y + -1) = (char)param_7; *(char *)(unaff_Y + -2) = (char)((uint)in_R7R6 >> 8); *(char *)(unaff_Y + -3) = (char)in_R7R6; *(char *)(unaff_Y + -4) = (char)((uint)in_R5R4 >> 8); *(char *)(unaff_Y + -5) = (char)in_R5R4; *(char *)(unaff_Y + -6) = (char)((uint)in_X >> 8); *(char *)(unaff_Y + -7) = (char)in_X; *(char *)(unaff_Y + -8) = (char)((uint)param_1 >> 8); *(char *)(unaff_Y + -9) = (char)param_1; *(char *)(unaff_Y + -10) = (char)((uint)in_Z >> 8); *(char *)(unaff_Y + -0xb) = (char)in_Z; *(undefined *)(unaff_Y + -0xc) = unaff_R3; *(undefined *)(unaff_Y + -0xd) = unaff_R2; *(char *)(unaff_Y + -0xe) = (char)((uint)in_R1R0 >> 8); *(char *)(unaff_Y + -0xf) = (char)in_R1R0; *(char *)(unaff_Y + -0x10) = (char)((uint)param_2 >> 8); *(char *)(unaff_Y + -0x11) = (char)param_2; *(char *)(unaff_Y + -0x12) = (char)((uint)param_3 >> 8); *(char *)(unaff_Y + -0x13) = (char)param_3; *(char *)(unaff_Y + -0x14) = (char)((uint)param_4 >> 8); *(char *)(unaff_Y + -0x15) = (char)param_4; *(char *)(unaff_Y + -0x16) = (char)((uint)param_5 >> 8); *(char *)(unaff_Y + -0x17) = (char)param_5; SREG = in_Cflg == '\x01' | (in_Zflg == '\x01') << 1 | (in_Nflg == '\x01') << 2 | (in_Vflg == '\x01') << 3 | (in_Sflg == '\x01') << 4 | (in_Hflg == '\x01') << 5 | (in_Tflg == '\x01') << 6 | (in_Iflg == '\x01') << 7; uVar15 = param_7 & 0xff00 | (uint)SREG; if (DAT_mem_292f == '\0') { iVar22 = CONCAT11(DAT_mem_2928,DAT_mem_2927) + 1; DAT_mem_2927 = (byte)iVar22; DAT_mem_2928 = (char)((uint)iVar22 >> 8); if (DAT_mem_2927 == 0x70 && DAT_mem_2928 == (char)((DAT_mem_2927 < 0x70) + '\x17')) { DAT_mem_2927 = 0; DAT_mem_2928 = '\0'; DAT_mem_2958 = 1; } if (DAT_mem_2950 != '\0') { DAT_mem_2950 = DAT_mem_2950 + -1; if (DAT_mem_2950 == '\0') { write_volatile_1(TCD1,0); } else { iVar22 = (uint)DAT_mem_2945 * (uint)DAT_mem_2951; uStack0000 = 0x54; FUN_code_0032b2(); uStack0000 = 0x57; FUN_code_0032c6('\x03',iVar22); write_volatile_1(TCD1_CCB,(char)iVar22); write_volatile_1(DAT_mem_096b,(char)((uint)iVar22 >> 8)); } } uVar17 = (uint)(DAT_mem_294e == 1); if (DAT_mem_294e == 2) { bVar20 = 8; } else { bVar20 = 7; } for (bVar19 = 0; bVar19 < 8; bVar19 = bVar19 + 1) { puVar26 = (undefined2 *) CONCAT11((CARRY1(bVar19,bVar19) * '\x02' + CARRY1(bVar19 * '\x02',bVar19 * '\x02')) - (((byte)(bVar19 * '\x04') < 0xa7) + -0x29),bVar19 * '\x04' + 0x59); uVar24 = *puVar26; uVar25 = puVar26[1]; uVar16 = (uint)bVar20 << 8; uStack0000 = 0x7e; uVar23 = FUN_code_003320((char)uVar17,uVar25,uVar24); uStack0000 = 0x80; uVar23 = FUN_code_000549(uVar23,uVar16 & 0xff00 | (uint)extraout_R22,uVar25,uVar24); bVar19 = (byte)uVar23; puVar27 = (undefined *) CONCAT11((CARRY1(bVar19,bVar19) * '\x02' + CARRY1(bVar19 * '\x02',bVar19 * '\x02')) - (((byte)(bVar19 * '\x04') < 0x87) + -0x29),bVar19 * '\x04' + 0x79); *puVar27 = (char)uVar24; puVar27[1] = (char)((uint)uVar24 >> 8); puVar27[2] = (char)uVar25; puVar27[3] = (char)((uint)uVar25 >> 8); puVar27 = (undefined *) CONCAT11((CARRY1(bVar19,bVar19) * '\x02' + CARRY1(bVar19 * '\x02',bVar19 * '\x02')) - (((byte)(bVar19 * '\x04') < 0xa7) + -0x29),bVar19 * '\x04' + 0x59); *puVar27 = 0; puVar27[1] = 0; puVar27[2] = 0; puVar27[3] = 0; bVar20 = (byte)((uint)uVar23 >> 8); } DAT_mem_292f = -1; _DAT_mem_28b9 = 0; _DAT_mem_28bb = 0; _DAT_mem_28b5 = 0; _DAT_mem_28b7 = 0; _DAT_mem_2968 = 0; _DAT_mem_296a = 0; bVar20 = 0; while (bVar19 = (byte)uVar17, bVar20 < 8) { puVar28 = (uint *)CONCAT11((CARRY1(bVar20,bVar20) * '\x02' + CARRY1(bVar20 * '\x02',bVar20 * '\x02')) - (((byte)(bVar20 * '\x04') < 0x87) + -0x29),bVar20 * '\x04' + 0x79); uVar16 = *puVar28; uVar18 = puVar28[1]; uStack0000 = 0xdc; FUN_code_0032f8(); uStack0000 = 0xde; FUN_code_0033ad(uVar18,uVar16); uStack0000 = 0xe6; FUN_code_00340c(_DAT_mem_2968,uVar18,uVar16); uStack0000 = 0xf4; uVar14 = _DAT_mem_28b5; _DAT_mem_2968 = uVar16; _DAT_mem_296a = uVar18; FUN_code_0033ad(_DAT_mem_28b7,_DAT_mem_28b5); puVar28 = (uint *)CONCAT11((CARRY1(extraout_Wlo,extraout_Wlo) * '\x02' + CARRY1(extraout_Wlo * '\x02',extraout_Wlo * '\x02')) - (((byte)(extraout_Wlo * '\x04') < 0x87) + -0x29), extraout_Wlo * '\x04' + 0x79); uVar16 = *puVar28; uVar18 = puVar28[1]; uStack0000 = 5; FUN_code_0033ad(uVar18,uVar16); uStack0000 = 0x14; FUN_code_00346d(*(uint *)CONCAT11((CARRY1(extraout_Wlo_00,extraout_Wlo_00) * '\x02' + CARRY1(extraout_Wlo_00 * '\x02',extraout_Wlo_00 * '\x02')) - (((byte)(extraout_Wlo_00 * '\x04') < 0xe7) + -0x29), extraout_Wlo_00 * '\x04' + 0x19),uVar18,uVar16); uStack0000 = 0x18; FUN_code_00340c(uVar14,uVar18,uVar16); uStack0000 = 0x1a; FUN_code_0033ba(uVar18,uVar16); uStack0000 = 0x28; uVar14 = _DAT_mem_28b9; _DAT_mem_28b5 = uVar16; _DAT_mem_28b7 = uVar18; FUN_code_0033ad(_DAT_mem_28bb,_DAT_mem_28b9); puVar28 = (uint *)CONCAT11((CARRY1(extraout_Wlo_01,extraout_Wlo_01) * '\x02' + CARRY1(extraout_Wlo_01 * '\x02',extraout_Wlo_01 * '\x02')) - (((byte)(extraout_Wlo_01 * '\x04') < 0x87) + -0x29), extraout_Wlo_01 * '\x04' + 0x79); uVar16 = *puVar28; uVar18 = puVar28[1]; uStack0000 = 0x39; FUN_code_0033ad(uVar18,uVar16); uStack0000 = 0x48; FUN_code_00346d(*(uint *)CONCAT11((CARRY1(extraout_Wlo_02,extraout_Wlo_02) * '\x02' + CARRY1(extraout_Wlo_02 * '\x02',extraout_Wlo_02 * '\x02')) - (((byte)(extraout_Wlo_02 * '\x04') < 199) + -0x29), extraout_Wlo_02 * '\x04' + 0x39),uVar18,uVar16); uStack0000 = 0x4c; FUN_code_00340c(uVar14,uVar18,uVar16); uStack0000 = 0x4e; FUN_code_0033ba(uVar18,uVar16); _DAT_mem_28b9 = uVar16; _DAT_mem_28bb = uVar18; bVar20 = extraout_Wlo_03 + 1; } uStack0000 = 100; uVar17 = _DAT_mem_2968; uVar16 = _DAT_mem_296a; uVar24 = FUN_code_0034e6(0,_DAT_mem_296a,_DAT_mem_2968); uStack0000 = 0x66; FUN_code_003c06(uVar24,uVar16,uVar17,param_6,uVar15); uVar24 = CONCAT11(DAT_mem_28ae,DAT_mem_28ad); uStack0000 = 0x74; _DAT_mem_2968 = uVar17; _DAT_mem_296a = uVar16; thunk_FUN_code_003389(0,uVar24); uStack0000 = 0x7e; uVar17 = _DAT_mem_2968; uVar16 = _DAT_mem_296a; FUN_code_0034e6(uVar24,_DAT_mem_296a,_DAT_mem_2968); uStack0000 = 0x80; FUN_code_0033ba(uVar16,uVar17); DAT_mem_28a5 = (undefined)uVar17; DAT_mem_28a6 = (undefined)(uVar17 >> 8); uStack0000 = 0x92; FUN_code_0032cc((uint)(byte)(*(uint3 *)(uint3)(CONCAT11(-((bVar19 < 0xde) + -4) - CARRY1(bVar19,bVar19),bVar19 + 0x22) >> 1) >> ((byte)(bVar19 + 0x22) & 1) * 8),uVar17); DAT_mem_28a5 = (undefined)uVar17; DAT_mem_28a6 = (undefined)(uVar17 >> 8); bVar19 = (byte)(_DAT_mem_28b5 >> 8); bVar20 = (byte)_DAT_mem_28b5; cVar1 = (char)(_DAT_mem_28b7 >> 8); bVar2 = (byte)_DAT_mem_28b7; bVar5 = (byte)(_DAT_mem_28b9 >> 8); bVar3 = (byte)_DAT_mem_28b9; cVar4 = (char)(_DAT_mem_28bb >> 8); bVar6 = (byte)_DAT_mem_28bb; if (DAT_mem_2939 == '\0') { if (DAT_mem_293b == '\x01') { bVar21 = 1; } else { bVar21 = 2; } bVar31 = DAT_mem_28d3 < bVar2 || (byte)(DAT_mem_28d3 - bVar2) < (DAT_mem_28d2 < bVar19 || (byte)(DAT_mem_28d2 - bVar19) < (DAT_mem_28d1 < bVar20)); if ((char)(DAT_mem_28d4 - (cVar1 + bVar31)) < '\0' == (SBORROW1(DAT_mem_28d4,cVar1) != SBORROW1(DAT_mem_28d4 - cVar1,bVar31))) { bVar8 = -bVar21; cVar29 = -(DAT_mem_28d1 < bVar21); bVar31 = DAT_mem_28d2 < (DAT_mem_28d1 < bVar21); cVar7 = -bVar31; cVar9 = -(DAT_mem_28d3 < bVar31); } else { cVar29 = CARRY1(DAT_mem_28d1,bVar21); cVar7 = CARRY1(DAT_mem_28d2,cVar29); cVar9 = CARRY1(DAT_mem_28d3,cVar7); bVar8 = bVar21; } DAT_mem_28d2 = DAT_mem_28d2 + cVar29; DAT_mem_28d4 = DAT_mem_28d4 + cVar9; DAT_mem_28d3 = DAT_mem_28d3 + cVar7; DAT_mem_28d1 = DAT_mem_28d1 + bVar8; bVar31 = DAT_mem_28cf < bVar6 || (byte)(DAT_mem_28cf - bVar6) < (DAT_mem_28ce < bVar5 || (byte)(DAT_mem_28ce - bVar5) < (DAT_mem_28cd < bVar3)); if ((char)(DAT_mem_28d0 - (cVar4 + bVar31)) < '\0' == (SBORROW1(DAT_mem_28d0,cVar4) != SBORROW1(DAT_mem_28d0 - cVar4,bVar31))) { bVar30 = DAT_mem_28cd < bVar21; bVar31 = DAT_mem_28ce < bVar30; DAT_mem_28d0 = DAT_mem_28d0 - (DAT_mem_28cf < bVar31); DAT_mem_28cd = DAT_mem_28cd - bVar21; DAT_mem_28ce = DAT_mem_28ce - bVar30; DAT_mem_28cf = DAT_mem_28cf - bVar31; } else { bVar30 = CARRY1(DAT_mem_28cd,bVar21); bVar31 = CARRY1(DAT_mem_28ce,bVar30); DAT_mem_28d0 = DAT_mem_28d0 + CARRY1(DAT_mem_28cf,bVar31); DAT_mem_28cd = DAT_mem_28cd + bVar21; DAT_mem_28ce = DAT_mem_28ce + bVar30; DAT_mem_28cf = DAT_mem_28cf + bVar31; } } if (DAT_mem_292e != '\0') { DAT_mem_292e = '\0'; DAT_mem_28cd = bVar3; DAT_mem_28ce = bVar5; DAT_mem_28cf = bVar6; DAT_mem_28d0 = cVar4; DAT_mem_28d1 = bVar20; DAT_mem_28d2 = bVar19; DAT_mem_28d3 = bVar2; DAT_mem_28d4 = cVar1; } DAT_mem_28fd = bVar20 - DAT_mem_28d1; DAT_mem_28fe = bVar19 - (DAT_mem_28d2 + (bVar20 < DAT_me