Esempio n. 1
0
void fn0C00_0100(byte ah, byte bh)
{
	bios_video_set_mode(0x13);
	word16 ax_11 = DPB(ax, 0x00, 0, 8);
	__outw(0x03C8, ax_11);
	uint8 al_10 = 0x00;
	do
	{
		Eq_16 al_14 = al_10 >>u 0x02;
		__outb(0x03C9, al_14);
		__outb(0x03C9, al_14 << 0x01);
		__outb(0x03C9, al_14 << 0x01 >>u 0x01);
		byte al_19 = (byte) ax_11;
		al_10 = al_19 + 0x01;
		ax_11 = DPB(ax_11, al_19 + 0x01, 0, 8);
	} while (al_19 != 0x01);
	do
	{
		byte bl_38 = bh;
		Eq_43 Eq_42::*cx_39 = &Eq_42::tFFFFFA00;
		do
		{
			(0xA000->*cx_39).bFFFFFFFF = bl_38;
			bl_38 = bl_38 + 0x01;
			cx_39 = cx_39 - 0x0001;
		} while (cx_39 != &Eq_42::t0000);
		byte al_51;
		bios_kbd_check_keystroke(out al_51);
		bh = bh + 0x01;
	} while (bh == 0x00);
	msdos_terminate(0x00);
}
Esempio n. 2
0
void fn0C00_0100(word16 cx, Eq_13 Eq_14::*bx, byte Eq_21::*di, Eq_14 * ds)
{
    bios_video_set_mode(0x13);
    __outw(0x03D4, DPB(ax, 0x20, 8, 8));
    ptr32 es_ax_12 = Mem0[ds:bx + 0x0000:segptr32];
    Eq_19 al_13 = (byte) es_ax_12;
    Eq_21 * es_15 = SLICE(es_ax_12, selector, 16);
    do
    {
        __outb(0x03C9, al_13);
        al_13 = al_13 + 0x95 + C;
        C = cond(al_13);
        if (al_13 != 0x00)
            continue;
        do
        {
            es_15->*di = (byte) cx_57 ^ SLICE(cx_57, byte, 8);
            C = false;
            di = di + 1;
            cx = cx_57 - 0x0001;
            word16 cx_57 = cx;
        } while (cx != 0x0000);
        word16 ax_50 = DPB(cx_57, __inb(0x60), 0, 8);
        al_13 = (byte) (ax_50 - 0x0001);
    } while (ax_50 != 0x0001);
    return;
}
Esempio n. 3
0
void fn0C00_0100(byte Eq_11::*si, byte bl, byte dh, Eq_11 * ds)
{
	bios_video_set_mode(0x12);
	byte ::*bx_5 = DPB(bx, 0xA0, 8, 8);
l0C00_0108:
	byte ::*di_22 = bx_5;
	dx = DPB(dx, 0xC0, 0, 8);
	while (true)
	{
		word16 cx_34 = 0x0146;
		do
		{
			bx_5->*di_22 = ds->*si;
			si = si + 1;
			di_22 = di_22 + 1;
			cx_34 = cx_34 - 0x0001;
		} while (cx_34 != 0x0000);
		if (__inb(0x60) == 0x01)
		{
			bios_video_set_mode(0x03);
			return;
		}
		dx = dx - 0x0001;
		if (dx == 0x0000)
			goto l0C00_0108;
	}
}
Esempio n. 4
0
void fn0C00_0100(uint16 bx, uint16 bp, byte ah)
{
	bios_video_set_mode(0x13);
	int16 ax_23 = DPB(ax, 0x13, 0, 8);
	do
	{
		int16 ax_24 = ax_23 *s 0x0003;
		if (ax_24 >= 0xC000)
		{
			if (ax_24 <= 0x4000)
			{
				if (ax_24 <= 0x0000)
					bx = bx - 0x00C8;
				bp = bp + 0x0140;
			}
			bx = bx + 0x00C8;
		}
		bp = bp >>u 0x0001;
		bx = bx >>u 0x0001;
		SEQ(0xA000, bp)[bx * 0x0140] = 0x0A;
		ax_23 = ax_24;
	} while (DPB(ax_24, __inb(0x60), 0, 8) != 0x0001);
	bios_video_set_mode(0x03);
	return;
}
Esempio n. 5
0
word64 fn00000001400012BC(word32 edx, word64 rdi, word64 r13, selector gs, word64 qwArg08, word64 qwArg10)
{
	if (fn0000000140001600(0x01, edx, r13) == 0x00)
	{
		word64 rcx_362;
		byte bl_363;
		fn0000000140001974(0x07, qwLoc04, qwArg00, qwArg04, qwArg0C, out rcx_362, out bl_363);
		int3();
	}
	Mem23[fp - 0x14 + 0x00:byte] = 0x00;
	word32 eax_25 = fn00000001400015C4(gs);
	word64 rax_28 = DPB(rax, eax_25, 0);
	byte bl_29 = (byte) eax_25;
	word32 ecx_33 = Mem23[0x00000001400035B0 + 0x00:word32];
	if (ecx_33 == 0x01)
	{
		ecx_33 = 0x07;
		word64 rcx_355;
		rax_28 = DPB(rax, fn0000000140001974(0x07, qwLoc04, qwArg00, qwArg04, qwArg0C, out rcx_355, out bl_29), 0);
	}
	word64 rax_233;
	if (ecx_33 == 0x00)
	{
		Mem331[0x00000001400035B0 + 0x00:word32] = 0x01;
		word64 rax_334 = DPB(rax_28, _initterm_e(0x00000001400021B8, 0x00000001400021D0), 0);
		if (_initterm_e(0x00000001400021B8, 0x00000001400021D0) != 0x00)
		{
			rax_233 = DPB(rax_28, 0xFF, 0);
			return rax_233;
		}
		_initterm(0x00000001400021A0, 0x00000001400021B0);
		Mem344[0x00000001400035B0 + 0x00:word32] = 0x02;
	}
Esempio n. 6
0
void fn0C00_0100()
{
	bios_video_set_mode(0x13);
	word16 cx_10 = 0x0FFF;
	byte Eq_12::*si_11 = &Eq_12::b0FFF;
	do
	{
		0xA000->*si_11 = 0x28;
		si_11 = si_11 + 343 ^ 0x0934;
		cx_10 = cx_10 - 0x0001;
	} while (cx_10 != 0x0000);
	byte al_21 = 0xA000->b0000;
	Eq_27 Eq_12::*si_18 = &Eq_12::b0000;
	word16 ax_23 = DPB(ax, al_21, 0, 8);
	while (true)
	{
		byte ah_27 = (0xA000->*si_18).b0140;
		(0xA000->*si_18).b0140 = al_21;
		word16 ax_31 = DPB(ax_23, ah_27, 0, 8);
		Eq_41 Eq_12::*si_32 = si_18 + ax_31;
		ax_23 = DPB(ax_31, (0xA000->*si_32).bFFFFFEC0, 8, 8);
		(0xA000->*si_32).bFFFFFEC0 = ah_27;
		al_21 = ah_27;
		si_18 = si_32 + 0x0002;
	}
}
Esempio n. 7
0
void fn0040112B(word32 ecx, word32 edx, word32 ebx, word32 ebp, word32 edi, selector fs)
{
	byte al_15 = (byte) ebx;
	byte v12_20 = Mem0[ebx + 0x00000000:byte] + al_15;
	Mem21[ebx + 0x00000000:byte] = v12_20;
	byte v14_22 = Mem21[ebx + 0x00000000:byte] + al_15;
	Mem23[ebx + 0x00000000:byte] = v14_22;
	byte v15_24 = Mem23[ebx + 0x00000000:byte] + al_15;
	Mem25[ebx + 0x00000000:byte] = v15_24;
	byte v16_26 = Mem25[ebx + 0x00000000:byte] + al_15;
	Mem27[ebx + 0x00000000:byte] = v16_26;
	byte v17_28 = Mem27[ebx + 0x00000000:byte] + al_15;
	Mem29[ebx + 0x00000000:byte] = v17_28;
	byte v18_30 = Mem29[ebx + 0x00000000:byte] + al_15;
	Mem31[ebx + 0x00000000:byte] = v18_30;
	byte v19_32 = Mem31[ebx + 0x00000000:byte] + al_15;
	Mem33[ebx + 0x00000000:byte] = v19_32;
	byte v20_34 = Mem33[ebx + 0x00000000:byte] + al_15;
	Mem35[ebx + 0x00000000:byte] = v20_34;
	byte v21_36 = Mem35[ebx + 0x00000000:byte] + al_15;
	Mem37[ebx + 0x00000000:byte] = v21_36;
	byte v22_38 = Mem37[ebx + 0x00000000:byte] + al_15;
	Mem39[ebx + 0x00000000:byte] = v22_38;
	byte v23_40 = Mem39[ebx + 0x00000000:byte] + al_15;
	Mem41[ebx + 0x00000000:byte] = v23_40;
	byte v24_42 = Mem41[ebx + 0x00000000:byte] + al_15;
	Mem43[ebx + 0x00000000:byte] = v24_42;
	byte v25_44 = Mem43[ebx + 0x00000000:byte] + al_15;
	Mem45[ebx + 0x00000000:byte] = v25_44;
	byte v26_46 = Mem45[ebx + 0x00000000:byte] + al_15;
	Mem47[ebx + 0x00000000:byte] = v26_46;
	byte v27_48 = Mem47[ebx + 0x00000000:byte] + al_15;
	Mem49[ebx + 0x00000000:byte] = v27_48;
	byte v28_50 = Mem49[ebx + 0x00000000:byte] + al_15;
	Mem51[ebx + 0x00000000:byte] = v28_50;
	byte v29_52 = Mem51[ebx + 0x00000000:byte] + al_15;
	Mem53[ebx + 0x00000000:byte] = v29_52;
	word32 edi_10 = ~edi;
	word32 edi_55 = DPB(edi_10, (word16) edi_10 + 0xFF84, 0, 16);
	Mem53[0x00401093:word32]();
	word32 edi_96 = edi_55 + (ebp - 0xFFFFFFF9);
	word32 eax_89 = __rol(ebx, 0x05);
	word32 esp_112 = fp;
	word16 di_110 = (word16) edi_96;
	word32 ecx_99 = DPB(0x00009090, Mem53[ebp - 0xFFFFFFF9:word16] ^ 0x9090, 0, 16);
	byte dh_102 = SLICE((edx & 0x6AD47C2E) + 0x00000001 - 0x00000001, byte, 8);
	if (ecx_99 != 0x00000000)
	{
		ExitThread(edi_96);
		Mem283[ebx - 0x00000035:byte] = Mem53[ebx - 0x00000035:byte] + (byte) (eax_89 + edi_96 | 0x0014008D);
		word32 ecx_278 = DPB(ecx_99, 0x00, 8, 8);
		Mem288[ecx_278 + 0x00000000:byte] = Mem283[ecx_278 + 0x00000000:byte] + dh_102;
		word32 eax_290 = DPB(ecx_99, Mem288[0x00DDB800:byte], 0, 8);
		Mem292[eax_290 + 0x66017000 + eax_290:byte] = Mem288[eax_290 + 0x66017000 + eax_290:byte] + SLICE(ecx_99, byte, 8);
		di_110 = (word16) (edi_96 - 0x00000001);
		esp_112 = fp - 0x00000004;
	}
Esempio n. 8
0
void fn0C00_0100(byte Eq_13::*bx, byte ah)
{
	bios_video_set_mode(0x03);
	byte al_11 = 0x03;
	word16 ax_12 = DPB(ax, 0x03, 0, 8);
	while (true)
	{
		0xB800->*bx = 0xB800->*bx + 0x01;
		al_11 = al_11 - 0x01;
		bx = bx - ax_12;
		ax_12 = DPB(ax_12, al_11, 0, 8);
	}
}
Esempio n. 9
0
void fn0C00_0100(Eq_36 * ds)
{
	bios_video_set_mode(0x13);
	__outb(0x03C8, 0x00);
	byte al_11 = 0x00;
	do
	{
		__outb(0x03C9, al_11);
		al_11 = al_11 + 0x01;
	} while (al_11 != 0x00);
	byte ah_19 = SLICE(cs, byte, 8);
	Eq_23 * ax_21 = DPB(cs, ah_19 + 0x10, 8, 8);
	Eq_23 * ax_24 = DPB(cs, ah_19 + 0x20, 8, 8);
	Eq_31 Eq_23::*bx_30 = Eq_23::a0000;
	do
	{
		rLoc2 = sin(rLoc2) * (real64) ds->ptr01C6;
		(ax_24->*bx_30).w0000 = (int16) rLoc2;
		(ax_21->*bx_30).w0000 = 0x0000;
		word16 bx_48 = &bx_30->w0000;
		bx_30 = bx_48 + 0x0001;
	} while (bx_48 != 0x0001);
	Eq_56 Eq_36::*di_55 = &Eq_36::t010A;
	do
	{
		word16 si_66 = (ds->*di_55).w0000;
		byte Eq_23::*bx_67 = Eq_23::a0000;
		int8 bl_68 = 0x00;
		int8 bh_69 = 0x00;
		do
		{
			if (bh_69 *s bh_69 + bl_68 *s bl_68 <=u 0x09C3)
				bx_67[si_66] = 0xC9;
			bx_67 = bx_67 + 1;
			bl_68 = (byte) bx_67;
			bh_69 = SLICE(bx_67, byte, 8);
		} while (bx_67 != Eq_23::a0000);
		word16 di_91 = di_55 - 0x0001;
		di_55 = di_91 - 0x0001;
	} while (di_91 != 0xFF01);
	do
	{
		byte Z_95 = fn0C00_0171(0xA000, ds, ax_21, ax_24);
		byte al_96;
		bios_kbd_check_keystroke(out al_96);
	} while (Z_95);
	bios_video_set_mode(0x03);
	return;
}
Esempio n. 10
0
void fn0C00_0100(byte cl, byte ah, byte ch)
{
	__cli();
	do
	{
		do
		{
			byte al_26 = __inb(0x03DA);
			ax = DPB(ax, al_26 & 0x08, 0, 8);
		} while ((al_26 & 0x08) == 0x00);
		cl = cl + 0x01;
		word16 bx_34 = 0x018F;
		uint8 bl_35 = 0x8F;
		do
		{
			do
			{
				byte al_47 = __inb(0x03DA);
				ax = DPB(ax, al_47 & 0x01, 0, 8);
			} while ((al_47 & 0x01) != 0x00);
			do
			{
				byte al_54 = __inb(0x03DA);
				ax = DPB(ax_84, al_54 & 0x01, 0, 8);
				word16 ax_84 = ax;
			} while ((al_54 & 0x01) == 0x00);
			__outb(0x03C8, 0x00);
			__outb(0x03C9, cl);
			Eq_50 al_65 = bl_35 >>u 0x01;
			__outb(0x03C9, al_65);
			ch = ch + al_65;
			__outb(0x03C9, ch);
			bx_34 = bx_34 - 0x0001;
			ax = DPB(ax_84, ch, 0, 8);
			bl_35 = (byte) bx_34;
		} while (bx_34 != 0x0000);
		word16 ax_75 = DPB(ax_84, __inb(0x60), 0, 8);
		ax = ax_75 - 0x0001;
		byte al_77 = (byte) (ax_75 - 0x0001);
	} while (ax_75 != 0x0001);
	__outb(0x03C8, al_77);
	__outb(0x03C9, al_77);
	__outb(0x03C9, al_77);
	__outb(0x03C9, al_77);
	return;
}
Esempio n. 11
0
void fn0C00_0100(byte cl, byte ah, Eq_15 * es, Eq_49 * ds)
{
	bios_video_set_mode(0x13);
	byte al_2 = 0x13;
	word16 ax_31 = DPB(ax, 0x13, 0, 8);
	while (true)
	{
		Eq_13 di_40 = 0x0400;
		word16 cx_44 = DPB(cx, 0xFA, 8, 8);
		while (cx_44 != 0x0000)
		{
			Mem49[es:di_40 + 0x0000:byte] = al_2;
			di_40 = di_40 + 0x0001;
			cx_44 = cx_44 - 0x0001;
		}
		Eq_13 di_101 = 0x0400;
		do
		{
			Eq_35 rLoc2_62 = rLoc2 / 32;
			Eq_39 rLoc2_64 = cos(rLoc2_62);
			fn0C00_015E(fp - 0x0006, 0xFE00, di_131.u0, (byte) (fn0C00_0171(fp - 0x0006, 0xFE00, di_131, (byte) (ax_31 + 0x0001), es, ds, sin(rLoc2_62)) + 0x0001), es, ds);
			word16 ax_91 = fn0C00_0171(fp - 0x0006, 0xFE00, di_131, 0x04, es, ds, rLoc2_64);
			al_2 = __inb(0x60);
			rLoc2.u1 = 1;
			ax_31 = DPB(ax_91, al_2, 0, 8);
			if (al_2 == 0x01)
				msdos_terminate_program20();
			di_101.u0 = di_131.u0;
			Eq_13 di_131 = di_101;
		} while (di_131 <u 0x0340);
		Mem107[ss:fp - 0x000A:word16] = 0xA000;
		cx = DPB(cx_44, 0xFA, 8, 8);
		byte Eq_49::*si_113 = Eq_49::a0400;
		byte Eq_106::*di_114 = Eq_106::a0000;
		while (cx != 0x0000)
		{
			0xA000->*di_114 = ds->*si_113;
			si_113 = si_113 + 1;
			di_114 = di_114 + 1;
			cx = cx - 0x0001;
		}
	}
}
Esempio n. 12
0
void fn0C00_0100(word16 cx, int16 bx, word16 bp, int16 si, byte ah)
{
    bios_video_set_mode(0x13);
    word16 ax_20 = DPB(ax, 0x13, 0, 8);
    while (true)
    {
        word16 ax_24 = ax_20 + 0x0001;
        si = si *s 0x0003 + cx;
        byte al_25 = (byte) ax_24;
        if (si <= 0xC000)
        {
            bp = bp + 0x0001;
            bx = bx + 0x0001;
        }
        else if (si <= 0x0000)
        {
            cx = cx + 0x0001;
            bp = bp + 0x0001;
l0C00_012B:
            bx = bx - 0x0001;
        }
        else if (si <= 0x4000)
        {
            bp = bp - 0x0001;
            bx = bx + 0x0001;
        }
        else
        {
            bp = bp - 0x0001;
            goto l0C00_012B;
        }
        Eq_20 Eq_25::*di_36 = bx *s 0x0140 + bp;
        (0xA000->*di_36).b0000 = al_25;
        (0xA000->*di_36).b0001 = al_25;
        (0xA000->*di_36).b0002 = 0x04;
        (0xA000->*di_36).b0003 = 0x04;
        (0xA000->*di_36).b0004 = 0x04;
        (0xA000->*di_36).b0005 = 0x00;
        (0xA000->*di_36).b0006 = 0x00;
        (0xA000->*di_36).b0007 = 0x00;
        ax_20 = DPB(ax_24, 0x00, 0, 8);
    }
}
Esempio n. 13
0
void fn0C00_0100(byte ch, byte bh)
{
	bios_video_set_mode(0x13);
	byte bl_118 = 0x03;
	word16 bx_119 = DPB(bx, 0x03, 0, 8);
	do
	{
		cx = DPB(cx, 0xC8, 0, 8);
		byte Eq_25::*di_35 = &Eq_25::b0000;
		do
		{
			uint32 dx_ax_47 = cx *u cx;
			uint16 ax_110 = (word16) dx_ax_47;
			uint16 dx_112 = SLICE(dx_ax_47, word16, 16);
			word16 si_53 = 0x0280;
			do
			{
				uint16 dx_61 = SEQ(dx_112, ax_110 + 0x0281 - si_53) % bx_119;
				0xA000->*di_35 = (byte) dx_61 & 0x0F;
				word16 si_77 = si_53 - 0x0001;
				di_35 = di_35 + 1;
				ax_110 = dx_61;
				dx_112 = 0x0000;
				si_53 = si_77 - 0x0001;
			} while (si_77 != 0x0001);
			cx = cx - 0x0001;
		} while (cx != 0x0000);
		do
		{
			word16 ax_90 = DPB(ax_110, __inb(0x60), 0, 8);
			if (ax_90 == 0x0001)
				goto l0C00_013F;
			uint16 ax_108 = DPB(ax_90 - 0x0001, 0x0000->b046C & 0x0F, 0, 8);
			ax_110 = dx_122;
			dx_112 = ax_108;
			uint16 dx_122 = dx_112;
		} while ((byte) dx_122 - (byte) ax_108 <=u 0x00);
		bl_118 = bl_118 + 0x01;
		bx_119 = DPB(bx_119, bl_118, 0, 8);
	} while (bl_118 != 0x00);
	return;
}
Esempio n. 14
0
void fn0C00_0100(Eq_20 bx, word16 di, byte ah)
{
	bios_video_set_mode(0x12);
	uint16 ax_27 = DPB(ax, 0x12, 0, 8);
	word16 bp_28 = 0x0000;
	word16 cx_10 = 0x01E0;
	do
	{
		word16 wLoc02_34 = cx_10;
		word16 cx_35 = 0x027F;
		bp_28 = bp_28 - 0x027F + 0x0001;
		do
		{
			word16 cx_113 = 0x0000;
			byte cl_112 = 0x00;
			word16 dx_108 = SLICE(bx *u ax_27, word16, 16);
			do
			{
				Eq_20 ax_71 = (word16) ((dx_108 + bx) *s (bx - dx_108)) + bp_28;
				bx = ax_71;
				if (ax_71 > 0x0000)
					break;
				cl_112 = ~cl_112;
				dx_108 = dx_108 + di;
				cx_113 = DPB(cx_113, cl_112, 0, 8);
			} while (dx_108 != 0x0000);
			__syscall(0x10);
			wLoc02_34 = wLoc02_114;
			bx.u0 = 0x0000;
			ax_27 = DPB(cx_113, 0x0C, 8, 8);
			bp_28 = bp_28 + 0x0000;
			cx_35 = cx_35 - 0x0001;
			word16 wLoc02_114 = wLoc02_34;
		} while (cx_35 != 0x0000);
		di = di + 0x0001;
		cx_10 = wLoc02_114 - 0x0001;
	} while (cx_10 != 0x0000);
	__syscall(0x16);
	return;
}
Esempio n. 15
0
void fn0C00_0100(word32 eax, word16 cx, int16 bx, word16 bp)
{
	bios_video_set_mode(0x13);
	ui32 eax_18 = DPB(eax, 0x13, 0, 8);
	while (true)
	{
		ui32 eax_20 = eax_18 * 0x00000003;
		int16 ax_22 = (word16) eax_20 + cx;
		if (ax_22 <= 0xC000)
		{
			bp = bp + 0x0001;
			bx = bx + 0x0001;
		}
		else if (ax_22 <= 0x0000)
		{
			cx = cx + 0x0001;
			bp = bp + 0x0001;
l0C00_012B:
			bx = bx - 0x0001;
		}
		else if (ax_22 <= 0x4000)
		{
			bp = bp - 0x0001;
			bx = bx + 0x0001;
		}
		else
		{
			bp = bp - 0x0001;
			goto l0C00_012B;
		}
		byte al_32 = (byte) (ax_22 + 0x0001);
		Eq_24 Eq_28::*di_35 = bx *s 0x0140 + bp;
		(0xA000->*di_35).b0000 = al_32;
		(0xA000->*di_35).b0001 = al_32;
		eax_18 = DPB(eax_20, ax_22 + 0x0001, 0, 16);
	}
}
Esempio n. 16
0
void fn0C00_0100(byte cl, byte ah)
{
	bios_video_set_mode(0x13);
	do
	{
		cx = DPB(cx, 0xFA, 8, 8);
		do
		{
			ah = ah + ((byte) cx + SLICE(cx, byte, 8));
			(0xA000->*cx).bFFFFFFFF = ah;
			cx = cx - 0x0001;
		} while (cx != &Eq_13::t0000);
	} while (__inb(0x60) != 0x01);
	msdos_terminate_program20();
}
Esempio n. 17
0
void fn0C00_0100(byte Eq_10::*si, byte Eq_23::*di, Eq_10 * ds)
{
	bios_video_set_mode(0x13);
	word16 ax_15 = 0xA000;
	while (true)
	{
		byte al_14 = ds->*si;
		ax_15 = DPB(ax_15, al_14, 0, 8);
		si = si + 1;
		if (al_14 == 0x00)
			continue;
		0xA000->*di = (byte) (ax_15 - 0x0001);
		ax_15 = ax_15 - 0x0001;
		di = di + 1;
	}
}
Esempio n. 18
0
word16 fn0C00_015E(Eq_44 Eq_49::*bx, cups16 bp, word16 di, byte al, Eq_15 * es, Eq_49 * ds)
{
	byte Eq_15::*di_12 = di + (ds->*bx).w0000;
	do
	{
		es->*di_12 = al;
		Eq_129 Eq_15::*di_15 = di_12 + 1;
		(es->*di_15).b0000 = al;
		byte al_18 = al ^ 0x08;
		(es->*di_15).b0001 = al_18;
		(es->*di_15).b0002 = al_18;
		al = al_18 ^ 0x08;
		ax = DPB(ax, al_18 ^ 0x08, 0, 8);
		di_12 = di_15 + 0x013F;
	} while (&di_15->b0002 <u bp);
	return ax;
}
Esempio n. 19
0
byte fn0C00_0171(Eq_92 * es, Eq_36 * ds, Eq_23 * fs, Eq_23 * gs)
{
	Eq_38 Eq_23::*bx_4 = ds->ptr01C6;
	ds->w01CE = (gs->*bx_4).w0000;
	word16 si_24 = (gs->*bx_4).w4000;
	word16 dx_107 = 0x0000;
	word16 bp_106 = 0x0000;
	byte Eq_92::*di_105 = &Eq_92::b0000;
	word16 cx_110 = 0x00C8;
	do
	{
		word16 cx_50 = 0x0140;
		di_54 = di_105;
		bp_55 = bp_106;
		dx_56 = dx_107;
		do
		{
			byte Eq_92::*di_54;
			word16 bp_55;
			word16 dx_56;
			dx_56 = dx_56 + ds->w01CE;
			bp_55 = bp_55 + si_24;
			Eq_140 bx_119 = DPB(bp_55, SLICE(dx_56, byte, 8), 0, 8);
			byte al_121 = 0x14;
			do
			{
				if (Mem7[fs:bx_119 + Mem7[ds:0x01CC:word16]:byte] != 0x00)
					break;
				bx_119 = bx_119 * 0x0002;
				al_121 = al_121 - 0x04;
			} while (al_121 != 0x00);
			es->*di_54 = al_121;
			di_54 = di_54 + 1;
			cx_50 = cx_50 - 0x0001;
		} while (cx_50 != 0x0000);
		di_105 = di_105 + 0x0140;
		bp_106 = bp_106 - ds->w01CE;
		dx_107 = dx_107 + si_24;
		cx_110 = cx_110 - 0x0001;
	} while (cx_110 != 0x0000);
	ds->b01C7 = ds->b01C7 + 0x01;
	byte v23_113 = ds->b01CD + 0x04;
	ds->b01CD = v23_113;
	return cond(v23_113);
}
Esempio n. 20
0
void fn0C00_0100(word16 si, byte bl)
{
	bios_video_set_mode(0x13);
	byte Eq_18::*di_16 = &Eq_18::b0000;
	word16 wLoc02_19 = 0x0000;
	int16 si_21 = si + 0x0001;
	while (true)
	{
		__outb(0x03C8, (byte) bx);
		do
		{
			__outb(0x03C9, 0x00);
			__outb(0x03C9, 0x00);
			bx = bx + 0x0001;
			byte al_53 = (byte) bx;
			__outb(0x03C9, al_53);
			word16 cx_54 = 0x0780;
			while (cx_54 != 0x0000)
			{
				0xA000->*di_16 = al_53;
				di_16 = di_16 + 1;
				cx_54 = cx_54 - 0x0001;
			}
		} while (di_16 != &Eq_18::bFFFFE880);
		bx = wLoc02_19 + si_21;
		di_16 = &Eq_18::b0000;
		byte bl_66 = (byte) bx;
		wLoc02_19 = bx;
		if (bl_66 != 0x20)
		{
			bx = DPB(bx, bl_66, 0, 8);
			if (bl_66 != 0x00)
				continue;
		}
l0C00_013C:
		si_21 = -si_21;
	}
}
Esempio n. 21
0
void fn0C00_0100()
{
	bios_video_set_mode(0x13);
	word16 ax_12 = 0x0013;
	Eq_9 Eq_17::*di_13 = &Eq_17::t0000;
	do
	{
		word16 ax_14 = ax_12 + di_13;
		Eq_13 al_17 = (byte) ax_14 + SLICE(ax_14, byte, 8);
		(0xA000->*di_13).t0000 = al_17;
		Eq_9 Eq_17::*di_20 = di_13 + 1;
		ax_12 = DPB(ax_14, al_17, 0, 8);
		di_13 = di_20;
	} while (di_20 != &Eq_17::t0000);
	Mem26[ss:fp - 0x0002:word16] = 0xA000;
	Eq_13 Eq_17::*si_30 = Eq_17::a002D;
	while (true)
	{
		Mem34[0xA000:di_13 + 0x0000:word16] = Mem26[0xA000:si_30 + 0x0000:word16];
		si_30 = si_30 + 1;
		di_13 = di_13 + 2;
	}
}
Esempio n. 22
0
// ais3_crackme.c
// Generated by decompiling ais3_crackme
// using Reko decompiler version 0.6.2.0.

#include "ais3_crackme.h"

void _init()
{
	call_gmon_start();
	return;
}

void _start(word64 rax,  * rdx, word64 qwArg00, word32 dwArg04)
{
	__align(fp + 0x08);
	word64 rax_21 = DPB(rax, __libc_start_main(&globals->t4005C5, qwArg00, fp + 0x08, &globals->t400620, &globals->t4006B0, rdx, DPB(qwArg00, fp + 0x04, 0)), 0);
	__hlt();
}

void call_gmon_start()
{
	word64 rax_4 = globals->qw600FE0;
	if (rax_4 != 0x00)
	{
		word64 rsp_17;
		byte SCZO_18;
		word64 rax_19;
		byte SZO_20;
		byte C_21;
		byte Z_22;
		word32 eax_23;
Esempio n. 23
0
File: ls.c Progetto: uxmal/reko
#include "ls.h"

void _init()
{
	word64 rax_4 = *&globals->qw619FF8;
	if (rax_4 != 0x00)
	{
		word64 rsp_15;
		byte SCZO_16;
		word64 rax_17;
		byte SZO_18;
		byte C_19;
		byte Z_20;
		__gmon_start__();
	}
	return;
}

void fn0000000000404890(word64 rax,  * rdx, word64 qwArg00, word32 dwArg04)
{
	__align(fp + 0x08);
	word64 rax_21 = DPB(rax, __libc_start_main(&globals->t4028C0, qwArg00, fp + 0x08, &globals->t411E60, &globals->t411ED0, rdx, DPB(qwArg00, fp + 0x04, 0)), 0);
	__hlt();
}

void _fini()
{
	return;
}

Esempio n. 24
0
File: BYTEOPS.c Progetto: uxmal/reko
void fn00001000(int32 d0, byte * a0)
{
	struct Eq_4 * a6_8 = *(struct Eq_4 **) 0x04;
	int32 d2_166 = d0;
	byte * a2_249 = a0;
	if (a6_8->w0014 < 0x24)
	{
		word32 * a0_505 = &globals->ptr2B88;
		word32 d0_508 = 0x0C;
		do
		{
			*a0_505 = 0x00;
			a0_505 = a0_505 + 0x01;
			d0_508 = d0_508 - 0x01;
		} while (d0_508 != 0x00);
	}
	*&globals->ptr2B88 = fp;
	*&globals->ptr2B8C = (struct Eq_4 **) a6_8;
	struct Eq_25 * d0_19 = FindTask(0x00);
	struct Eq_31 * d0_112 = OpenLibrary(0x12BC, 0x00);
	if (d0_112 != null)
	{
		int32 d4_460;
		*&globals->ptr2B90 = (struct Eq_31 **) d0_112;
		if (d0_19->ptr00AC == null)
		{
			d4_460 = 0x02;
			d2_166 = 0x08;
		}
		else
		{
			byte * a0_463 = a0;
			d4_460 = 0x03;
			do
			{
				if (*a0_517 == 0x20)
					d4_460 = DPB(d4_460, (word16) d4_460 + 0x01, 0);
				a0_463 = a0_517 + 0x01;
				byte * a0_517 = a0_463;
			} while (*a0_517 != 0x00);
		}
		int32 d0_105 = d4_460 << 0x02;
		int32 d0_107 = d0_105 + d2_166;
		int32 d3_110 = d0_107 + 0x11;
		int32 d1_111 = 0x00010001;
		d0_112 = AllocMem(d0_107 + 0x11, 0x00010001);
		if (d0_112 != null)
		{
			Eq_119 a6_162;
			struct Eq_67 * dwLoc14_159;
			word32 a0_164;
			d0_112->dw0000 = (word32) (d0_107 + 0x11);
			Eq_126 d4_123 = d4_460 - 0x01;
			d0_112[0x03] = (struct Eq_31) d4_123;
			d0_112[0x02] = (struct Eq_31) (d0_112 + 0x04 + d0_105 / 0x04);
			Mem131[0x00:word32] = 0x00;
			struct Eq_67 * d0_132 = d0_19->ptr00AC;
			d0_132->ptr0000 = d0_107 + 0x11;
			d0_132->dw000C = d4_123 - 0x01;
			d0_132->ptr0008 = (byte *) (&d0_132->ptr0010 + d0_105 / 0x0028);
			Mem150[0x00:word32] = 0x00;
			struct Eq_67 * d0_151 = d0_19->ptr00AC;
			if (d0_151 == null)
			{
				fn00001214(d0_19);
				*&globals->ptr2B94 = (struct Eq_67 **) d0_151;
				*&globals->ptr2B98 = (struct Eq_67 **) d0_151;
				Mem403[0x00:word32] = 0x00;
				dwLoc14_159 = d0_151;
				ui32 d0_406 = d0_151->dw0024;
				if (d0_406 != 0x00)
					Enable();
				Supervisor(d0_132);
				d0_132->dw0004 = d0_406;
				d2_166 = 1005;
				if (d0_406 == 0x00)
				{
					fn0000127C(0x0014);
					return;
				}
				*&globals->dw2B9C = d0_406;
				*&globals->dw2BA0 = d0_406;
				*&globals->dw2BA4 = d0_406;
				d0_19->dw009C = d0_406;
				d0_19->dw00A0 = d0_406;
				word32 d0_432 = ((word32[]) 0x08)[d0_406];
				if (d0_432 != 0x00)
					d0_19->dw00A4 = d0_432;
				a6_162 = *&globals->ptr2B8C;
l000011F8:
				a0_164 = d0_19->dw003A;
				goto l00001202;
			}
Esempio n. 25
0
word32 fn0055B841(word32 dwArg00)
{
	word32 * eax_7 = DPB(dwArg00, (byte) dwArg00 + 0x01, 0, 8);
	return *eax_7;
}
Esempio n. 26
0
word32 fn0055B837(byte bl)
{
	Eq_192 * eax_5 = DPB(fn0055B841(dwLoc04), __inb(0xC6), 0, 8);
	Mem12[eax_5 - 0x00000002:byte] = Mem0[eax_5 - 0x00000002:byte] + bl;
	return eax_5->dw0000;
}
Esempio n. 27
0
void fn0C00_0100(byte cl, Eq_20 * es, Eq_32 * ds)
{
	bios_video_set_mode(0x13);
	word16 dx_100 = 0x003F;
	bcu8 dl_287 = 0x3F;
	do
	{
		word16 cx_51 = DPB(cx, 0xFA, 8, 8);
		byte Eq_20::*di_57 = Eq_20::a01F8;
		while (cx_51 != 0x0000)
		{
			es->*di_57 = 0x00;
			di_57 = di_57 + 1;
			cx_51 = cx_51 - 0x0001;
		}
		Eq_31 Eq_32::*si_137 = &Eq_32::t01BE;
		word16 cx_212 = DPB(cx_51, 0x06, 0, 8);
		if (dl_287 >u 0x06)
		{
			dx_100 = dx_100 - 0x0001;
			goto l0C00_011A;
		}
l0C00_011A:
		do
		{
			word16 ax_90 = Mem0[ds:si_137 + 0x0000:word16];
			word16 si_94 = si_137 + 0x0002;
			if (cx_212 == dx_100)
			{
				int8 al_325 = (byte) ax_90;
				if (ax_90 == 0x0000)
					dx_100 = dx_100 - 0x0001;
				else
				{
					(ds->*si_94).b0000 = (ds->*si_94).b0000 + 0x01;
					(ds->*si_94).b0001 = (ds->*si_94).b0001 - 0x01;
					byte bl_338 = 0x01;
					if (al_325 != 0x00)
					{
						if (al_325 < 0x00)
							bl_338 = 0xFF;
						(ds->*si_94).b0001 = (ds->*si_94).b0001 + bl_338;
						(ds->*si_94).b0002 = (ds->*si_94).b0002 - bl_338;
					}
				}
			}
			word16 ax_122 = (word16) (ds->*si_94).b0001;
			byte al_134 = (ds->*si_94).b0003;
			byte Eq_20::*di_125 = (word16) ((word16) (ds->*si_94).b0000 *u 0x0140) + ax_122 + 0x01F8;
			word16 bx_132 = DPB(ax_122, (ds->*si_94).b0002, 0, 8);
			word16 ax_135 = DPB(0x0140, al_134, 0, 8);
			si_137 = &si_94->b0003 + 0x0001;
			cx_148 = cx_212;
			do
			{
				word16 cx_148;
				word16 si_152 = si_137 + 0x0000;
				byte ah_153 = ds->*si_152;
				cx_148 = DPB(cx_148, Mem0[ds:si_137 + 0x0000:byte], 0, 8);
				ax_135 = DPB(ax_135, ah_153, 8, 8);
				si_137 = si_152 + 0x0001;
				do
				{
					word16 cx_167 = bx_132;
					while (cx_167 != 0x0000)
					{
						es->*di_125 = al_134;
						di_125 = di_125 + 1;
						cx_167 = cx_167 - 0x0001;
					}
					word16 di_179 = di_125 - bx_132;
					di_125 = di_179 + 0x0140;
					byte cl_183 = (byte) cx_148;
					if ((ah_153 & 0x10) != 0x00)
					{
						di_125 = di_179 + 0x0142;
						bx_132 = bx_132 - 0x0001 - 0x0001;
					}
					if ((ah_153 & 0x01) != 0x00)
						bx_132 = bx_132 + 0x0001 + 0x0001;
					if ((cl_183 & 0x01) != 0x00)
					{
						if ((ah_153 & 0x02) != 0x00)
							bx_132 = bx_132 - 0x0001;
						if ((ah_153 & 0x20) != 0x00)
						{
							di_125 = di_125 - 0x0001;
							bx_132 = bx_132 + 0x0001;
						}
					}
					cx_148 = cx_148 - 0x0001;
				} while (cx_148 != 0x0000);
			} while ((ah_153 & 0x80) != 0x00);
			cx_212 = cx_212 - 0x0001;
		} while (cx_212 != 0x0000);
		word16 Eq_32::*si_219 = Eq_32::a01F8;
		word16 Eq_212::*di_220 = Eq_212::a0000;
		word16 cx_223 = 0x7D00;
		while (cx_223 != 0x0000)
		{
			0xA000->*di_220 = ds->*si_219;
			si_219 = si_219 + 1;
			di_220 = di_220 + 1;
			cx_223 = cx_223 - 0x0001;
		}
		Mem239[ss:fp - 0x0002:word16] = ds;
		Mem244[ss:fp - 0x0002:word16] = ax_135;
		es = 0xA000;
		word16 cx_259 = 0x0008;
		do
		{
			if ((__inb(0x03DA) & 0x08) != 0x00)
				continue;
			do
				;
			while ((__inb(0x03DA) & 0x08) == 0x00);
			cx_259 = cx_259 - 0x0001;
		} while (cx_259 != 0x0000);
		dl_287 = (byte) dx_100;
		cx = cx_223;
	} while (__inb(0x60) != 0x01);
	return;
}
Esempio n. 28
0
void fn0C00_0100(byte ch, Eq_17 * ds)
{
	bios_video_set_mode(0x13);
	int8 Eq_17::*si_11 = &Eq_17::b01FF;
	int8 Eq_17::*bx_10 = &Eq_17::b01FF;
	word16 cx_12 = DPB(cx, 0x10, 0, 8);
	do
	{
		si_11 = si_11 - 0x0001;
		ds->*bx_10 = ds->*si_11;
		bx_10 = bx_10 + 1;
		cx_12 = cx_12 - 0x0001;
	} while (cx_12 != 0x0000);
	word16 cx_247 = DPB(cx_12, 0x20, 0, 8);
	do
	{
		ds->*bx_10 = -(ds->*si_11);
		si_11 = si_11 + 1;
		bx_10 = bx_10 + 1;
		cx_247 = cx_247 - 0x0001;
	} while (cx_247 != 0x0000);
	do
	{
		byte ah_75 = 0x0040->b006C;
		word16 ax_213 = DPB(ax, ah_75, 8, 8);
		do
			;
		while (ah_75 == 0x0040->b006C);
		word16 bx_79 = bx_10 + 1;
		byte bl_81 = (byte) (bx_79 & 0x003F);
		word16 cx_86 = DPB(cx_247, 0x80 - (ds->*(bx_79 & 0x003F)).b01EF, 0, 8);
		byte Eq_74::*di_102 = &Eq_74::bFFFFAA00;
		while (cx_86 != 0x0000)
		{
			0xA000->*di_102 = 0x1D;
			di_102 = di_102 + 1;
			cx_86 = cx_86 - 0x0001;
		}
		word16 cx_101 = DPB(cx_86, 0x0F, 0, 8);
		while (cx_101 != 0x0000)
		{
			0xA000->*di_102 = 0x16;
			di_102 = di_102 + 1;
			cx_101 = cx_101 - 0x0001;
		}
		byte al_113 = (bl_81 & 0x04) + 0x16;
		0xA000->*di_102 = al_113;
		byte Eq_74::*di_116 = di_102 + 1;
		0xA000->*di_116 = al_113;
		byte Eq_74::*di_118 = di_116 + 1;
		word16 cx_121 = DPB(cx_101, 0x0F, 0, 8);
		while (cx_121 != 0x0000)
		{
			0xA000->*di_118 = 0x16;
			di_118 = di_118 + 1;
			cx_121 = cx_121 - 0x0001;
		}
		word16 cx_132 = 0xAB40 - di_118;
		while (cx_132 != 0x0000)
		{
			0xA000->*di_118 = 0x1D;
			di_118 = di_118 + 1;
			cx_132 = cx_132 - 0x0001;
		}
		byte Eq_74::*di_152 = &Eq_74::bFFFFF8C0;
		word16 cx_154 = DPB(cx_132, 0x3F, 0, 8);
		do
		{
			word16 cx_167 = 0x0140;
			Eq_142 Eq_74::*si_170 = di_152 - 0x0140;
			di_173 = di_152;
			byte Eq_74::*di_173;
			while (cx_167 != 0x0000)
			{
				0xA000->*di_173 = (0xA000->*si_170).b0000;
				si_170 = si_170 + 1;
				di_173 = di_173 + 1;
				cx_167 = cx_167 - 0x0001;
			}
			(0xA000->*si_170).b0000 = (0xA000->*si_170).b0000 | 0x00;
			if ((0xA000->*si_170).b0000 != 0x00)
			{
				do
				{
					si_170 = si_321 + 1;
					Eq_142 Eq_74::*si_321 = si_170;
				} while (0x16 != (0xA000->*si_321).b0000);
				(0xA000->*si_170).b0000 = 0x16;
				(0xA000->*si_170).b0000 = 0x16;
				Eq_194 Eq_74::*si_312 = &si_170->b0000;
				do
				{
					si_312 = si_322 - 0x0001;
					Eq_194 Eq_74::*si_322 = si_312;
				} while (0x16 != (0xA000->*si_322).b0000);
				(0xA000->*si_312).b0002 = 0x16;
				(0xA000->*si_312).b0003 = 0x16;
			}
			di_152 = di_152 - 0x0140;
			cx_154 = cx_154 - 0x0001;
		} while (cx_154 != 0x0000);
		byte Eq_74::*bx_209 = &Eq_74::b013F;
		do
		{
			bcu8 al_219 = __inb(0x40);
			byte ah_218 = 0x00;
			ax_213 = DPB(ax_213, al_219, 0, 8);
			if (al_219 >=u 0xF8)
			{
				ah_218 = al_219 & 0x0F | 0x10;
				ax_213 = DPB(ax_213, ah_218, 8, 8);
			}
			0xA000->*bx_209 = ah_218;
			bx_209 = bx_209 - 0x0001;
		} while (bx_209 != Eq_74::a0000);
		bx_10 = bx_79 & 0x003F;
		ax = DPB(ax_213, 0x00, 8, 8);
		cx_247 = DPB(cx_154, 0x87, 0, 8);
		byte Eq_74::*di_248 = &Eq_74::bFFFFA8C0;
		do
		{
			ax = DPB(ax, __inb(0x40) & 0x03, 0, 8);
			word16 cx_255 = 0x0140;
			byte Eq_74::*si_263 = di_248 - 0x0140 - 0x0001 + ax;
			while (cx_255 != 0x0000)
			{
				0xA000->*di_248 = 0xA000->*si_263;
				si_263 = si_263 + 1;
				di_248 = di_248 + 1;
				cx_255 = cx_255 - 0x0001;
			}
			di_248 = di_248 - 0x0280;
			cx_247 = cx_247 - 0x0001;
		} while (cx_247 != 0x0000);
	} while (__inb(0x60) != 0x01);
	byte al_290;
	bios_kbd_get_keystroke(out al_290);
	byte bl_294;
	byte ch_295;
	byte cl_296;
	bios_video_get_EGA_info(out bl_294, out ch_295, out cl_296);
	return;
}
Esempio n. 29
0
void fn0C00_0100(byte bh, Eq_10 * ds)
{
	bios_video_set_mode(0x13);
	Eq_9 Eq_10::*si_18 = &Eq_10::t01BC;
	do
	{
		word16 ax_17 = Mem0[ds:si_18 + 0x0000:word16];
		byte dh_22 = SLICE(ax_17, byte, 8);
		bios_video_set_cursor_position(bh, dh_22, (byte) ax_17);
		si_18 = si_18 + 0x0002 + 0x0001;
		dx = ax_17;
		word16 ax_25 = DPB(dx, 0x02, 8, 8);
		do
		{
			byte al_30 = Mem0[ds:si_18 + 0x0000:byte];
			msdos_write_console_char(al_30);
			ax_25 = DPB(ax_25, al_30, 0, 8);
			si_18 = si_18;
			dx = DPB(dx, al_30, 0, 8);
		} while (al_30 != 0x00);
	} while (dh_22 != 0x00);
	do
	{
		__outb(0x03C9, al_30);
		word16 ax_50 = __rol(DPB(ax_25, ~al_30, 0, 8), 0x01);
		__outb(0x03C9, (byte) ax_50);
		word16 ax_53 = __ror(ax_50, 0x01);
		byte al_54 = (byte) ax_53;
		__outb(0x03C9, al_54);
		word16 ax_57 = DPB(ax_53, ~al_54, 0, 8);
		ax_25 = ax_57 + 0x0001;
		al_30 = (byte) (ax_57 + 0x0001);
	} while (ax_57 != 0x0001);
	Eq_79 Eq_104::*di_111 = Eq_104::a0000;
	byte bl_116 = 0xCC;
	word16 bx_114 = DPB(bx, 0xCC, 0, 8);
	do
	{
		word16 cx_112 = 0x0140;
		byte cl_113 = 0x40;
		do
		{
			Eq_93 al_107;
			if ((0xA000->*di_111).t0000 == 0x00)
			{
				word16 ax_160 = __aam(cl_113 | bl_116);
				al_107 = ((byte) ax_160 | SLICE(ax_160, byte, 8)) & 0x3F;
			}
			else
			{
				Eq_87 al_168 = cl_113 - bl_116;
				al_107 = al_168 - cl_113 - (al_168 <u 0x00);
			}
			(0xA000->*di_111).t0000 = al_107;
			cx_112 = cx_112 - 0x0001;
			di_111 = di_111 + 1;
			cl_113 = (byte) cx_112;
		} while (cx_112 != 0x0000);
		bx_114 = bx_114 - 0x0001;
		bl_116 = (byte) bx_114;
	} while (bx_114 != 0x0000);
	__outb(0x0331, 0x3F);
	Mem129[ss:fp - 0x0002:word16] = 0xFA00;
	byte Eq_104::*si_122 = Eq_104::a0000;
	byte Eq_104::*di_125 = Eq_104::aFFFFFA00;
	word16 cx_126 = 0x0140;
	do
	{
		0xA000->*di_125 = 0xA000->*si_122;
		si_122 = si_122 + 1;
		di_125 = di_125 + 1;
		cx_126 = cx_126 - 0x0001;
	} while (cx_126 != 0x0000);
	Mem151[ss:fp - 0x0002:word16] = 0x0177;
	do
		;
	while (((byte) __inw(0x03DA) & 0x08) == 0x00);
	return;
}
Esempio n. 30
0
// subject.c
// Generated on TIMESTAMP by decompiling from_pouet.net/with_source_331/m68k_amiga/subject.exe
// using Decompiler version VERSION

#include "subject.h"

void fn00001000(word32 d0, word32 d2, word32 d4, word32 d5)
{
	word32 a6_3 = Mem0[0x00000004:word32];
	word32 d0_5 = DPB(d0, 0xA8C0, 0, 16);
	(a6_3 + -198)();
	if (false)
		return;
	else
	{
		word32 a5_87 = 0x00DFF006;
		Mem89[a5_87 + 148:word16] = 0x4000;
		word32 a4_92 = 0x00001180;
		word16 v15_95 = (word16) (d0_5 + 0x000006C4);
		Mem96[a4_92 + 6:word16] = v15_95;
		word32 d0_112 = __swap(d0_5 + 0x000006C4);
		word16 v19_98 = (word16) d0_112;
		Mem99[a4_92 + 2:word16] = v19_98;
		word32 a1_111 = d0_5;
		word32 d4_100 = DPB(d4, 0x018F, 0, 16);
		do
		{
			d5 = DPB(d5, 0x01AF, 0, 16);
			do
			{
				word16 v22_118 = (word16) d4_100;