#NO_APP
gcc2_compiled.:
___gnu_compiled_c:
.data
	.even
_boardresetdb:
	.word 2145
	.word 33
	.long LC0
	.long _reset_rb3
	.word 2195
	.word 6
	.long LC1
	.long _reset_piccolo
	.word 2195
	.word 11
	.long LC2
	.long _reset_sd64
	.word 2167
	.word 201
	.long LC3
	.long _reset_ariadne
	.word 2121
	.word 1
	.long LC4
	.long _reset_hydra
.text
LC4:
	.ascii "Hydra\0"
LC3:
	.ascii "Ariadne\0"
LC2:
	.ascii "SD64\0"
LC1:
	.ascii "Piccolo\0"
LC0:
	.ascii "Rainbow 3\0"
.globl _amiga_models
.data
	.even
_amiga_models:
	.long LC5
	.long LC6
	.long LC7
	.long LC8
	.long LC9
	.long LC10
	.long LC11
	.long LC12
	.long LC13
	.long LC14
	.long LC15
	.long LC16
	.long LC17
	.long LC18
	.long LC19
.text
LC19:
	.ascii "Draco\0"
LC18:
	.ascii "CD32\0"
LC17:
	.ascii "CDTV\0"
LC16:
	.ascii "Amiga 4000T\0"
LC15:
	.ascii "Amiga 4000\0"
LC14:
	.ascii "Amiga 3000+\0"
LC13:
	.ascii "Amiga 3000T\0"
LC12:
	.ascii "Amiga 3000\0"
LC11:
	.ascii "Amiga 2500\0"
LC10:
	.ascii "Amiga 2000\0"
LC9:
	.ascii "Amiga 1200\0"
LC8:
	.ascii "Amiga 1000\0"
LC7:
	.ascii "Amiga 600\0"
LC6:
	.ascii "Amiga 500+\0"
LC5:
	.ascii "Amiga 500\0"
.globl _first_amiga_model
	.even
_first_amiga_model:
	.long 1
.globl _last_amiga_model
	.even
_last_amiga_model:
	.long 15
LC20:
	.ascii "\12Linux/m68k Amiga Bootstrap version 5.5\12\0"
LC21:
	.ascii "Copyright 1993,1994 by Hamish Macdonald and Greg Harp\12\12\0"
LC22:
	.ascii "Warning: too many AutoConfig devices. Ignoring device at 0x%08lx\12\0"
LC23:
	.ascii "A3640 MapROM detected.\12\0"
LC24:
	.ascii "A3000 shadowed Kickstart detected.\12\0"
LC25:
	.ascii "ZKick detected.\12\0"
LC26:
	.ascii "Warning: too many memory blocks. Ignoring block of %ldK at 0x%08x\12\0"
LC27:
	.ascii "%s \0"
LC28:
	.ascii "Amiga \0"
LC29:
	.ascii "CPU: \0"
LC30:
	.ascii "68020 (Do you have an MMU?)\0"
LC31:
	.ascii "68030\0"
LC32:
	.ascii "68040\0"
LC33:
	.ascii "68060\0"
LC34:
	.ascii "Insufficient for Linux.  Aborting...\12\0"
LC35:
	.ascii "SysBase->AttnFlags = 0x%08lx\12\0"
LC36:
	.ascii " with 68881 FPU\0"
LC37:
	.ascii " with 68882 FPU\0"
LC38:
	.ascii " with internal FPU\0"
LC39:
	.ascii " without FPU\0"
LC40:
	.ascii ", old or unknown chipset\0"
LC41:
	.ascii ", OCS\0"
LC42:
	.ascii ", ECS\0"
LC43:
	.ascii ", AGA chipset\0"
LC44:
	.ascii "\12\12\0"
LC45:
	.ascii "Command line is '%s'\12\0"
LC46:
	.ascii "Vertical Blank Frequency: %ldHz\12\0"
LC47:
	.ascii "Power Supply Frequency: %ldHz\12\0"
LC48:
	.ascii "EClock Frequency: %ldHz\12\12\0"
LC49:
	.ascii "s\0"
LC50:
	.ascii "\0"
LC51:
	.ascii "Found %ld AutoConfig Device%s\12\0"
LC52:
	.ascii "Device %ld: addr = 0x%08lx\0"
LC53:
	.ascii " [%s - will be reset at kernel boot time]\0"
LC54:
	.ascii "No AutoConfig Devices Found\12\0"
LC55:
	.ascii "s \0"
LC56:
	.ascii " \0"
LC57:
	.ascii "\12Found %ld Block%sof Memory\12\0"
LC58:
	.ascii "Block %ld: 0x%08lx to 0x%08lx (%ldK)\12\0"
LC59:
	.ascii "No memory found?!  Aborting...\12\0"
LC60:
	.ascii "%ldK of CHIP memory\12\0"
LC61:
	.ascii "\12The kernel will be located at 0x%08lx\12\0"
LC62:
	.ascii "Not enough Chip RAM in this system.  Aborting...\12\0"
LC63:
	.ascii "Not enough Fast RAM in this system.  Aborting...\12\0"
LC64:
	.ascii "Unable to find size of ramdisk file `%s'\12\0"
LC65:
	.ascii "Unable to open kernel file `%s'\12\0"
LC66:
	.ascii "Unable to read exec header from kernel file\12\0"
LC67:
	.ascii "Kernel is compressed\12\0"
LC68:
	.ascii "Decompression error -- aborting\12\0"
LC69:
	.ascii "\12Loading a.out (ZMAGIC) Linux/m68k kernel...\12\0"
LC70:
	.ascii "\12Loading a.out (QMAGIC) Linux/m68k kernel...\12\0"
LC71:
	.ascii "\177ELF\0"
LC72:
	.ascii "\12Loading ELF Linux/m68k kernel...\12\0"
LC73:
	.ascii "Invalid ELF header contents in kernel\12\0"
LC74:
	.ascii "Unable to allocate memory for program headers\12\0"
LC75:
	.ascii "Unable to read program headers from kernel file\12\0"
LC76:
	.ascii "Wrong magic number 0x%08lx in kernel header\12\0"
LC77:
	.ascii "Unable to allocate memory\12\0"
LC78:
	.ascii "Failed to seek to segment %ld\12\0"
LC79:
	.ascii "Failed to read segment %ld\12\0"
LC80:
	.ascii "Failed to seek to text\12\0"
LC81:
	.ascii "Failed to read text\12\0"
LC82:
	.ascii "Failed to read data\12\0"
LC83:
	.ascii "Unable to open ramdisk file `%s'\12\0"
LC84:
	.ascii "Failed to read ramdisk file\12\0"
LC85:
	.ascii "Unable to allocate memory for stack\12\0"
LC86:
	.ascii "Unable to allocate memory for startcode\12\0"
LC87:
	.ascii "RAM disk at 0x%08lx, size is %ldK\12\0"
LC88:
	.ascii "Kernel segment %ld at 0x%08lx, size %ld\12\0"
LC89:
	.ascii "Boot info        at 0x%08lx\12\0"
LC90:
	.ascii "\12Kernel text at 0x%08lx, code size 0x%08lx\12\0"
LC91:
	.ascii "Kernel data at 0x%08lx, data size 0x%08lx\12\0"
LC92:
	.ascii "Kernel bss  at 0x%08lx, bss  size 0x%08lx\12\0"
LC93:
	.ascii "Boot info   at 0x%08lx\12\0"
LC94:
	.ascii "\12Kernel entry is 0x%08lx\12\0"
LC95:
	.ascii "ramdisk dest top is 0x%08lx\12\0"
LC96:
	.ascii "ramdisk lower limit is 0x%08lx\12\0"
LC97:
	.ascii "ramdisk src top is 0x%08lx\12\0"
LC98:
	.ascii "\12Type a key to continue the Linux/m68k boot...\0"
	.even
.globl _linuxboot
_linuxboot:
	link a5,#-144
	moveml #0x3820,sp@-
	moveq #-1,d4
	movel d4,a5@(-4)
	moveq #-1,d4
	movel d4,a5@(-8)
	clrl a5@(-12)
	clrl a5@(-36)
	clrl a5@(-40)
	clrl a5@(-44)
	clrl a5@(-80)
	clrl a5@(-84)
	clrl a5@(-88)
	movel a5@(8),_linuxboot_args
	movel _linuxboot_args,a0
	pea LC20
	movel a0@(1452),a2
	jbsr a2@
	addqw #4,sp
	movel _linuxboot_args,a0
	pea LC21
	movel a0@(1452),a2
	jbsr a2@
	addqw #4,sp
	movel a5@(8),d0
	pea 1428:w
	pea _bi
	movel d0,sp@-
	jbsr _bcopy
	addqw #8,sp
	addqw #4,sp
	moveq #1,d4
	movel d4,_bi
	tstl _bi+1422
	jne L20
	jbsr _get_chipset
	movel d0,_bi+1422
L20:
	tstl _bi+4
	jne L21
	pea _bi+12
	pea _bi+8
	pea _bi+4
	jbsr _get_processor
	addqw #8,sp
	addqw #4,sp
L21:
	tstl _bi+316
	jne L22
	movel _bi+1422,sp@-
	jbsr _get_model
	addqw #4,sp
	movel d0,_bi+316
L22:
	tstl _bi+316
	jeq L23
	moveq #1,d1
	movel d1,d0
	movel _bi+316,d4
	asll d4,d0
	jra L24
L23:
	clrl d0
L24:
	movel d0,a5@(-52)
	tstl _bi+320
	jne L25
	clrl a5@(-24)
L26:
	pea -1:w
	pea -1:w
	movel a5@(-36),sp@-
	jbsr _FindConfigDev
	addqw #8,sp
	addqw #4,sp
	movel d0,a5@(-36)
	tstl a5@(-36)
	jne L29
	jra L27
L29:
	moveq #15,d4
	cmpl _bi+320,d4
	jlt L30
	pea 68:w
	movel a5@(-36),sp@-
	movel _bi+320,d0
	movel d0,d2
	movel d2,d1
	asll #4,d1
	addl d0,d1
	movel d1,d0
	asll #2,d0
	movel d0,d1
	addl #_bi+324,d1
	movel d1,sp@-
	addql #1,_bi+320
	jbsr _memcpy
	addqw #8,sp
	addqw #4,sp
	jra L31
L30:
	movel _linuxboot_args,a0
	movel a5@(-36),a1
	movel a1@(32),sp@-
	pea LC22
	movel a0@(1464),a2
	jbsr a2@
	addqw #8,sp
L31:
L28:
	addql #1,a5@(-24)
	jra L26
L27:
L25:
	tstl _bi+16
	seq d0
	moveb d0,d4
	extbl d4
	movel d4,a5@(-16)
	movel a5@(-16),d0
	negl d0
	movel d0,a5@(-16)
	tstl _bi+1412
	seq d0
	moveb d0,d4
	extbl d4
	movel d4,a5@(-20)
	movel a5@(-20),d0
	negl d0
	movel d0,a5@(-20)
	movel _SysBase,a0
	movel a0@(322),a5@(-32)
L32:
	movel a5@(-32),a0
	tstl a0@
	jne L35
	jra L33
L35:
	movel a5@(-32),d0
	movel d0,a0
	lea a5@(-132),a1
	movel a0@,a1@
	addqw #4,a1
	addqw #4,a0
	movel a0@,a1@
	addqw #4,a1
	addqw #4,a0
	movel a0@,a1@
	addqw #4,a1
	addqw #4,a0
	movel a0@,a1@
	addqw #4,a1
	addqw #4,a0
	movel a0@,a1@
	addqw #4,a1
	addqw #4,a0
	movel a0@,a1@
	addqw #4,a1
	addqw #4,a0
	movel a0@,a1@
	addqw #4,a1
	addqw #4,a0
	movel a0@,a1@
	addqw #4,a1
	addqw #4,a0
	movew a5@(-118),d0
	andw #1,d0
	tstw d0
	jne L36
	jra L34
L36:
	cmpl #133693440,a5@(-108)
	jne L37
	movel a5@(-52),d0
	andl #6912,d0
	tstl d0
	jeq L37
	moveq #4,d0
	andl _bi+4,d0
	tstl d0
	jeq L38
	pea __maprommed
	jbsr _Supervisor
	addqw #4,sp
	tstl d0
	jeq L38
	movel _linuxboot_args,a0
	pea LC23
	movel a0@(1452),a2
	jbsr a2@
	addqw #4,sp
	jra L39
L38:
	movel a5@(-52),d0
	andl #768,d0
	tstl d0
	jeq L40
	movel #134217728,a5@(-108)
	movel _linuxboot_args,a0
	pea LC24
	movel a0@(1452),a2
	jbsr a2@
	addqw #4,sp
L40:
L39:
L37:
	cmpl #2621472,a5@(-112)
	jne L41
	moveb a5@(-49),d0
	andb #210,d0
	tstb d0
	jeq L41
	movel #2097152,a5@(-112)
	movel _linuxboot_args,a0
	pea LC25
	movel a0@(1452),a2
	jbsr a2@
	addqw #4,sp
L41:
	andw #61440,a5@(-106)
	andw #61440,a5@(-110)
	tstl a5@(-16)
	jeq L42
	movew a5@(-118),d0
	andw #4,d0
	tstw d0
	jeq L42
	movel a5@(-108),d0
	subl a5@(-112),d0
	movel d0,d4
	andl #-262144,d4
	movel d4,a5@(-136)
	tstl a5@(-136)
	jeq L43
	moveq #3,d4
	cmpl _bi+16,d4
	jlt L44
	movel _bi+16,d0
	movel d0,d1
	movel d1,d0
	asll #3,d0
	lea _bi,a0
	movel a5@(-112),a0@(20,d0:l)
	movel _bi+16,d0
	movel d0,d1
	movel d1,d0
	asll #3,d0
	lea _bi,a0
	movel a5@(-136),a0@(24,d0:l)
	addql #1,_bi+16
	jra L45
L44:
	movel _linuxboot_args,a0
	movel a5@(-112),sp@-
	movel a5@(-136),d1
	movel d1,d0
	moveq #10,d4
	lsrl d4,d0
	movel d0,sp@-
	pea LC26
	movel a0@(1464),a2
	jbsr a2@
	addqw #8,sp
	addqw #4,sp
L45:
L43:
	jra L46
L42:
	tstl a5@(-20)
	jeq L47
	movew a5@(-118),d0
	andw #2,d0
	tstw d0
	jeq L47
	movel a5@(-108),_bi+1412
L47:
L46:
L34:
	movel a5@(-32),a0
	movel a0@,a5@(-32)
	jra L32
L33:
	tstb _bi+1416
	jne L48
	movel _SysBase,a0
	moveb a0@(530),_bi+1416
L48:
	tstb _bi+1417
	jne L49
	movel _SysBase,a0
	moveb a0@(531),_bi+1417
L49:
	tstl _bi+1418
	jne L50
	movel _SysBase,a0
	movel a0@(568),_bi+1418
L50:
	tstw _bi+1426
	jne L51
	movel _linuxboot_args,a0
	movel a0@(1448),d0
	movel _linuxboot_args,a0
	tstl a0@(1448)
	jne L52
	movel #9600,d0
L52:
	movel d0,a5@(-76)
	movel _bi+1418,d1
	movel d1,d2
	movel d2,d0
	asll #2,d0
	addl d1,d0
	movel a5@(-76),d2
	movel d2,d1
	lsrl #1,d1
	movel d0,d2
	addl d1,d2
	movel d2,d1
	divull a5@(-76),d0:d1
	movew d1,d4
	subqw #1,d4
	movew d4,_bi+1426
L51:
	movel _bi+316,d4
	cmpl _first_amiga_model,d4
	jcs L53
	movel _bi+316,d4
	cmpl _last_amiga_model,d4
	jhi L53
	movel _linuxboot_args,a0
	movel _bi+316,d0
	subl _first_amiga_model,d0
	movel d0,d1
	movel d1,d0
	asll #2,d0
	lea _amiga_models,a1
	movel a1@(d0:l),sp@-
	pea LC27
	movel a0@(1464),a2
	jbsr a2@
	addqw #8,sp
	jra L54
L53:
	movel _linuxboot_args,a0
	pea LC28
	movel a0@(1452),a2
	jbsr a2@
	addqw #4,sp
L54:
	movel _linuxboot_args,a0
	pea LC29
	movel a0@(1452),a2
	jbsr a2@
	addqw #4,sp
	movel _bi+4,d0
	moveq #2,d4
	cmpl d0,d4
	jeq L57
	moveq #2,d4
	cmpl d0,d4
	jcs L63
	moveq #1,d4
	cmpl d0,d4
	jeq L56
	jra L60
L63:
	moveq #4,d4
	cmpl d0,d4
	jeq L58
	moveq #8,d4
	cmpl d0,d4
	jeq L59
	jra L60
L56:
	movel _linuxboot_args,a0
	pea LC30
	movel a0@(1452),a2
	jbsr a2@
	addqw #4,sp
	jra L55
L57:
	movel _linuxboot_args,a0
	pea LC31
	movel a0@(1452),a2
	jbsr a2@
	addqw #4,sp
	jra L55
L58:
	movel _linuxboot_args,a0
	pea LC32
	movel a0@(1452),a2
	jbsr a2@
	addqw #4,sp
	jra L55
L59:
	movel _linuxboot_args,a0
	pea LC33
	movel a0@(1452),a2
	jbsr a2@
	addqw #4,sp
	jra L55
L60:
	movel _linuxboot_args,a0
	pea LC34
	movel a0@(1452),a2
	jbsr a2@
	addqw #4,sp
	movel _linuxboot_args,a0
	movel _SysBase,a1
	clrl d0
	movew a1@(296),d0
	movel d0,sp@-
	pea LC35
	movel a0@(1464),a2
	jbsr a2@
	addqw #8,sp
	jra L61
L55:
	movel _bi+8,d0
	moveq #2,d4
	cmpl d0,d4
	jeq L66
	moveq #2,d4
	cmpl d0,d4
	jcs L71
	moveq #1,d4
	cmpl d0,d4
	jeq L65
	jra L69
L71:
	moveq #4,d4
	cmpl d0,d4
	jeq L67
	moveq #8,d4
	cmpl d0,d4
	jeq L68
	jra L69
L65:
	movel _linuxboot_args,a0
	pea LC36
	movel a0@(1452),a2
	jbsr a2@
	addqw #4,sp
	jra L64
L66:
	movel _linuxboot_args,a0
	pea LC37
	movel a0@(1452),a2
	jbsr a2@
	addqw #4,sp
	jra L64
L67:
L68:
	movel _linuxboot_args,a0
	pea LC38
	movel a0@(1452),a2
	jbsr a2@
	addqw #4,sp
	jra L64
L69:
	movel _linuxboot_args,a0
	pea LC39
	movel a0@(1452),a2
	jbsr a2@
	addqw #4,sp
	jra L64
L64:
	movel _bi+1422,d0
	moveq #1,d4
	cmpl d0,d4
	jeq L74
	moveq #1,d4
	cmpl d0,d4
	jhi L73
	moveq #2,d4
	cmpl d0,d4
	jeq L75
	moveq #3,d4
	cmpl d0,d4
	jeq L76
	jra L78
L73:
	movel _linuxboot_args,a0
	pea LC40
	movel a0@(1452),a2
	jbsr a2@
	addqw #4,sp
	jra L72
L74:
	movel _linuxboot_args,a0
	pea LC41
	movel a0@(1452),a2
	jbsr a2@
	addqw #4,sp
	jra L72
L75:
	movel _linuxboot_args,a0
	pea LC42
	movel a0@(1452),a2
	jbsr a2@
	addqw #4,sp
	jra L72
L76:
	movel _linuxboot_args,a0
	pea LC43
	movel a0@(1452),a2
	jbsr a2@
	addqw #4,sp
	jra L72
L78:
L72:
	movel _linuxboot_args,a0
	pea LC44
	movel a0@(1452),a2
	jbsr a2@
	addqw #4,sp
	movel _linuxboot_args,a0
	pea _bi+60
	pea LC45
	movel a0@(1464),a2
	jbsr a2@
	addqw #8,sp
	movel _linuxboot_args,a0
	clrl d0
	moveb _bi+1416,d0
	movel d0,sp@-
	pea LC46
	movel a0@(1464),a2
	jbsr a2@
	addqw #8,sp
	movel _linuxboot_args,a0
	clrl d0
	moveb _bi+1417,d0
	movel d0,sp@-
	pea LC47
	movel a0@(1464),a2
	jbsr a2@
	addqw #8,sp
	movel _linuxboot_args,a0
	movel _bi+1418,sp@-
	pea LC48
	movel a0@(1464),a2
	jbsr a2@
	addqw #8,sp
	tstl _bi+320
	jeq L79
	movel _linuxboot_args,a0
	moveq #1,d4
	cmpl _bi+320,d4
	jge L80
	movel #LC49,d0
	jra L81
L80:
	movel #LC50,d0
L81:
	movel d0,sp@-
	movel _bi+320,sp@-
	pea LC51
	movel a0@(1464),a2
	jbsr a2@
	addqw #8,sp
	addqw #4,sp
	clrl a5@(-24)
L82:
	movel a5@(-24),d4
	cmpl _bi+320,d4
	jlt L85
	jra L83
L85:
	movel _linuxboot_args,a0
	movel a5@(-24),d0
	movel d0,d2
	movel d2,d1
	asll #4,d1
	addl d0,d1
	movel d1,d0
	asll #2,d0
	movel #_bi,d1
	movel d1,a1
	addl d0,a1
	movel a1@(356),sp@-
	movel a5@(-24),sp@-
	pea LC52
	movel a0@(1464),a2
	jbsr a2@
	addqw #8,sp
	addqw #4,sp
	movel a5@(-24),d0
	movel d0,d1
	movel d1,d0
	asll #2,d0
	lea _boardresetfuncs,a0
	clrl a0@(d0:l)
	movel _linuxboot_args,a0
	tstl a0@(1444)
	jeq L86
	movel a5@(-24),d0
	movel d0,d2
	movel d2,d1
	asll #4,d1
	addl d0,d1
	movel d1,d0
	asll #2,d0
	movel #_bi,d1
	movel d1,a0
	addl d0,a0
	movew a0@(344),a5@(-94)
	movel a5@(-24),d0
	movel d0,d2
	movel d2,d1
	asll #4,d1
	addl d0,d1
	movel d1,d0
	asll #2,d0
	movel #_bi,d1
	movel d1,a0
	addl d0,a0
	moveb a0@(341),a5@(-95)
	clrl a5@(-28)
L87:
	moveq #4,d4
	cmpl a5@(-28),d4
	jcc L90
	jra L88
L90:
	movel a5@(-28),d0
	movel d0,d2
	movel d2,d1
	addl d1,d1
	addl d0,d1
	movel d1,d0
	asll #2,d0
	lea _boardresetdb,a0
	movew a0@(d0:l),d4
	cmpw a5@(-94),d4
	jne L91
	clrw d0
	moveb a5@(-95),d0
	movel a5@(-28),d1
	movel d1,d3
	movel d3,d2
	addl d2,d2
	addl d1,d2
	movel d2,d1
	asll #2,d1
	lea _boardresetdb,a0
	cmpw a0@(2,d1:l),d0
	jne L91
	movel _linuxboot_args,a0
	movel a5@(-28),d0
	movel d0,d2
	movel d2,d1
	addl d1,d1
	addl d0,d1
	movel d1,d0
	asll #2,d0
	lea _boardresetdb,a1
	movel a1@(4,d0:l),sp@-
	pea LC53
	movel a0@(1464),a2
	jbsr a2@
	addqw #8,sp
	movel a5@(-24),d0
	movel d0,d1
	movel d1,d0
	asll #2,d0
	lea _boardresetfuncs,a0
	movel a5@(-28),d1
	movel d1,d3
	movel d3,d2
	addl d2,d2
	addl d1,d2
	movel d2,d1
	asll #2,d1
	lea _boardresetdb,a1
	movel a1@(8,d1:l),a0@(d0:l)
	jra L88
L91:
L89:
	addql #1,a5@(-28)
	jra L87
L88:
L86:
	movel _linuxboot_args,a0
	pea 10:w
	movel a0@(1460),a2
	jbsr a2@
	addqw #4,sp
L84:
	addql #1,a5@(-24)
	jra L82
L83:
	jra L92
L79:
	movel _linuxboot_args,a0
	pea LC54
	movel a0@(1452),a2
	jbsr a2@
	addqw #4,sp
L92:
	tstl _bi+16
	jeq L93
	movel _linuxboot_args,a0
	moveq #1,d4
	cmpl _bi+16,d4
	jge L94
	movel #LC55,d0
	jra L95
L94:
	movel #LC56,d0
L95:
	movel d0,sp@-
	movel _bi+16,sp@-
	pea LC57
	movel a0@(1464),a2
	jbsr a2@
	addqw #8,sp
	addqw #4,sp
	clrl a5@(-24)
L96:
	movel a5@(-24),d4
	cmpl _bi+16,d4
	jlt L99
	jra L97
L99:
	movel _linuxboot_args,a0
	movel a5@(-24),d0
	movel d0,d1
	movel d1,d0
	asll #3,d0
	lea _bi,a1
	movel a1@(24,d0:l),d1
	movel d1,d0
	moveq #10,d4
	lsrl d4,d0
	movel d0,sp@-
	movel a5@(-24),d0
	movel d0,d1
	movel d1,d0
	asll #3,d0
	lea _bi,a1
	movel a5@(-24),d1
	movel d1,d2
	movel d2,d1
	asll #3,d1
	lea _bi,a2
	movel a1@(20,d0:l),d0
	addl a2@(24,d1:l),d0
	movel d0,sp@-
	movel a5@(-24),d0
	movel d0,d1
	movel d1,d0
	asll #3,d0
	lea _bi,a1
	movel a1@(20,d0:l),sp@-
	movel a5@(-24),sp@-
	pea LC58
	movel a0@(1464),a2
	jbsr a2@
	addw #20,sp
L98:
	addql #1,a5@(-24)
	jra L96
L97:
	jra L100
L93:
	movel _linuxboot_args,a0
	pea LC59
	movel a0@(1452),a2
	jbsr a2@
	addqw #4,sp
	jra L61
L100:
	movel _linuxboot_args,a0
	movel _bi+1412,d1
	movel d1,d0
	moveq #10,d4
	lsrl d4,d0
	movel d0,sp@-
	pea LC60
	movel a0@(1464),a2
	jbsr a2@
	addqw #8,sp
	movel _bi+20,a5@(-60)
	movel _bi+24,a5@(-64)
	movel _linuxboot_args,a0
	movel a5@(-60),sp@-
	pea LC61
	movel a0@(1464),a2
	jbsr a2@
	addqw #8,sp
	cmpl #524287,_bi+1412
	jhi L101
	movel _linuxboot_args,a0
	pea LC62
	movel a0@(1452),a2
	jbsr a2@
	addqw #4,sp
	jra L61
L101:
	nop
	clrl a5@(-48)
	clrl a5@(-24)
L102:
	movel a5@(-24),d4
	cmpl _bi+16,d4
	jlt L105
	jra L103
L105:
	movel a5@(-24),d0
	movel d0,d1
	movel d1,d0
	asll #3,d0
	lea _bi,a0
	movel a0@(24,d0:l),d4
	addl d4,a5@(-48)
L104:
	addql #1,a5@(-24)
	jra L102
L103:
	cmpl #2097151,a5@(-48)
	jhi L106
	movel _linuxboot_args,a0
	pea LC63
	movel a0@(1452),a2
	jbsr a2@
	addqw #4,sp
	jra L61
L106:
	movel _linuxboot_args,a0
	tstl a0@(1432)
	jeq L107
	movel _linuxboot_args,a0
	movel _linuxboot_args,a1
	movel a1@(1432),sp@-
	movel a0@(1484),a2
	jbsr a2@
	addqw #4,sp
	movel d0,a5@(-136)
	moveq #-1,d4
	cmpl a5@(-136),d4
	jne L108
	movel _linuxboot_args,a0
	movel _linuxboot_args,a1
	movel a1@(1432),sp@-
	pea LC64
	movel a0@(1464),a2
	jbsr a2@
	addqw #8,sp
	jra L61
L108:
	movel a5@(-136),_bi+56
	jra L109
L107:
	clrl _bi+56
L109:
	movel _bi+56,a5@(-68)
	movel a5@(-60),d0
	addl a5@(-64),d0
	movel d0,d4
	subl a5@(-68),d4
	movel d4,_bi+52
	jbsr _create_bootinfo
	tstl d0
	jne L110
	jra L61
L110:
	movel _linuxboot_args,a0
	movel _linuxboot_args,a1
	movel a1@(1428),sp@-
	movel a0@(1468),a2
	jbsr a2@
	addqw #4,sp
	movel d0,a5@(-4)
	moveq #-1,d4
	cmpl a5@(-4),d4
	jne L111
	movel _linuxboot_args,a0
	movel _linuxboot_args,a1
	movel a1@(1428),sp@-
	pea LC65
	movel a0@(1464),a2
	jbsr a2@
	addqw #8,sp
	jra L61
L111:
	pea 32:w
	pea _kexec
	movel a5@(-4),sp@-
	jbsr _KRead
	addqw #8,sp
	addqw #4,sp
	moveq #32,d4
	cmpl d0,d4
	jeq L112
	movel _linuxboot_args,a0
	pea LC66
	movel a0@(1452),a2
	jbsr a2@
	addqw #4,sp
	jra L61
L112:
	cmpb #31,_kexec
	jne L113
	cmpb #139,_kexec+1
	jeq L114
	cmpb #158,_kexec+1
	jeq L114
	jra L113
L114:
	movel _linuxboot_args,a0
	pea LC67
	movel a0@(1452),a2
	jbsr a2@
	addqw #4,sp
	movel a5@(-4),sp@-
	jbsr _load_zkernel
	addqw #4,sp
	tstl d0
	jeq L115
	movel _linuxboot_args,a0
	pea LC68
	movel a0@(1452),a2
	jbsr a2@
	addqw #4,sp
	jra L61
L115:
L113:
	movel _kexec,d0
	andl #65535,d0
	cmpl #204,d0
	jeq L123
	cmpl #267,d0
	jeq L117
	jra L125
L117:
	movel _linuxboot_args,a0
	tstl a0@(1436)
	jeq L118
	movel _linuxboot_args,a0
	pea LC69
	movel a0@(1452),a2
	jbsr a2@
	addqw #4,sp
L118:
	movel _kexec,d0
	andl #65535,d0
	cmpl #267,d0
	jeq L119
	movel _kexec,d0
	andl #65535,d0
	cmpl #204,d0
	jeq L121
	moveq #32,d0
	jra L122
L121:
	clrl d0
L122:
	jra L120
L119:
	movel #1024,d0
L120:
	movel d0,a5@(-84)
	jra L116
L123:
	movel _linuxboot_args,a0
	tstl a0@(1436)
	jeq L124
	movel _linuxboot_args,a0
	pea LC70
	movel a0@(1452),a2
	jbsr a2@
	addqw #4,sp
L124:
	moveq #32,d4
	movel d4,a5@(-84)
	moveq #-32,d4
	addl d4,_kexec+4
	jra L116
L125:
	clrl sp@-
	movel a5@(-4),sp@-
	jbsr _KSeek
	addqw #8,sp
	pea 52:w
	pea _kexec_elf
	movel a5@(-4),sp@-
	jbsr _KRead
	addqw #8,sp
	addqw #4,sp
	moveq #52,d4
	cmpl d0,d4
	jne L126
	pea 4:w
	pea LC71
	pea _kexec_elf
	jbsr _memcmp
	addqw #8,sp
	addqw #4,sp
	tstl d0
	jne L126
	moveq #1,d4
	movel d4,a5@(-12)
	movel _linuxboot_args,a0
	tstl a0@(1436)
	jeq L127
	movel _linuxboot_args,a0
	pea LC72
	movel a0@(1452),a2
	jbsr a2@
	addqw #4,sp
L127:
	cmpw #2,_kexec_elf+16
	jne L129
	cmpw #4,_kexec_elf+18
	jne L129
	moveq #1,d4
	cmpl _kexec_elf+20,d4
	jne L129
	jra L128
L129:
	movel _linuxboot_args,a0
	pea LC73
	movel a0@(1452),a2
	jbsr a2@
	addqw #4,sp
	jra L61
L128:
	movel #65541,sp@-
	clrl d0
	movew _kexec_elf+44,d0
	movel d0,d1
	asll #5,d1
	movel d1,sp@-
	jbsr _AllocMem
	addqw #8,sp
	movel d0,d1
	movel d1,a5@(-88)
	tstl d1
	jne L130
	movel _linuxboot_args,a0
	pea LC74
	movel a0@(1452),a2
	jbsr a2@
	addqw #4,sp
	jra L61
L130:
	movel _kexec_elf+28,sp@-
	movel a5@(-4),sp@-
	jbsr _KSeek
	addqw #8,sp
	clrl d0
	movew _kexec_elf+44,d0
	movel d0,d1
	asll #5,d1
	movel d1,sp@-
	movel a5@(-88),sp@-
	movel a5@(-4),sp@-
	jbsr _KRead
	addqw #8,sp
	addqw #4,sp
	clrl d1
	movew _kexec_elf+44,d1
	movel d1,d2
	asll #5,d2
	cmpl d0,d2
	jeq L131
	movel _linuxboot_args,a0
	pea LC75
	movel a0@(1452),a2
	jbsr a2@
	addqw #4,sp
	jra L61
L131:
	jra L116
L126:
	movel _linuxboot_args,a0
	movel _kexec,d0
	andl #65535,d0
	movel d0,sp@-
	pea LC76
	movel a0@(1464),a2
	jbsr a2@
	addqw #8,sp
	jra L61
L116:
	addl #4096,a5@(-60)
	addl #-4096,a5@(-64)
	tstl a5@(-12)
	jne L133
	movel _kexec+12,d0
	addql #3,d0
	moveq #-4,d4
	andl d0,d4
	movel d4,_kexec+12
L133:
	tstl a5@(-12)
	jeq L134
	moveq #-1,d4
	movel d4,a5@(-140)
	clrl a5@(-144)
	clrl a5@(-24)
L135:
	clrl d0
	movew _kexec_elf+44,d0
	cmpl a5@(-24),d0
	jgt L138
	jra L136
L138:
	movel a5@(-24),d0
	movel d0,d1
	movel d1,d0
	asll #5,d0
	movel a5@(-88),a0
	movel a5@(-140),d4
	cmpl a0@(8,d0:l),d4
	jls L139
	movel a5@(-24),d0
	movel d0,d1
	movel d1,d0
	asll #5,d0
	movel a5@(-88),a0
	movel a0@(8,d0:l),a5@(-140)
L139:
	movel a5@(-24),d0
	movel d0,d1
	movel d1,d0
	asll #5,d0
	movel a5@(-88),a0
	movel a5@(-24),d1
	movel d1,d2
	movel d2,d1
	asll #5,d1
	movel a5@(-88),a1
	movel a0@(8,d0:l),d0
	addl a1@(20,d1:l),d0
	cmpl a5@(-144),d0
	jls L140
	movel a5@(-24),d0
	movel d0,d1
	movel d1,d0
	asll #5,d0
	movel a5@(-88),a0
	movel a5@(-24),d1
	movel d1,d2
	movel d2,d1
	asll #5,d1
	movel a5@(-88),a1
	movel a0@(8,d0:l),d4
	addl a1@(20,d1:l),d4
	movel d4,a5@(-144)
L140:
L137:
	addql #1,a5@(-24)
	jra L135
L136:
	tstl a5@(-140)
	jne L141
	movel #4096,a5@(-140)
	movel a5@(-88),a0
	movel a5@(-88),a1
	movel a1@(8),d4
	addl #4096,d4
	movel d4,a0@(8)
	movel a5@(-88),a0
	movel a5@(-88),a1
	movel a1@(4),d4
	addl #4096,d4
	movel d4,a0@(4)
	movel a5@(-88),a0
	movel a5@(-88),a1
	movel a1@(16),d4
	addl #-4096,d4
	movel d4,a0@(16)
	movel a5@(-88),a0
	movel a5@(-88),a1
	movel a1@(20),d4
	addl #-4096,d4
	movel d4,a0@(20)
L141:
	movel a5@(-144),d4
	subl a5@(-140),d4
	movel d4,a5@(-72)
	jra L142
L134:
	movel _kexec+4,d0
	addl _kexec+8,d0
	movel d0,d4
	addl _kexec+12,d4
	movel d4,a5@(-72)
L142:
	movel a5@(-72),d0
	addl _bi_size,d0
	movel d0,d4
	addl a5@(-68),d4
	movel d4,a5@(-80)
	cmpl #1421,_bi_size
	jhi L143
	movel a5@(-68),d0
	addl #1422,d0
	movel a5@(-72),d4
	addl d0,d4
	movel d4,a5@(-80)
L143:
	movel #65541,sp@-
	movel a5@(-80),sp@-
	jbsr _AllocMem
	addqw #8,sp
	movel d0,d1
	movel d1,a5@(-40)
	tstl d1
	jne L144
	movel _linuxboot_args,a0
	pea LC77
	movel a0@(1452),a2
	jbsr a2@
	addqw #4,sp
	jra L61
L144:
	tstl a5@(-12)
	jeq L145
	clrl a5@(-24)
L146:
	clrl d0
	movew _kexec_elf+44,d0
	cmpl a5@(-24),d0
	jgt L149
	jra L147
L149:
	movel a5@(-24),d0
	movel d0,d1
	movel d1,d0
	asll #5,d0
	movel a5@(-88),a0
	movel a0@(4,d0:l),sp@-
	movel a5@(-4),sp@-
	jbsr _KSeek
	addqw #8,sp
	moveq #-1,d4
	cmpl d0,d4
	jne L150
	movel _linuxboot_args,a0
	movel a5@(-24),sp@-
	pea LC78
	movel a0@(1464),a2
	jbsr a2@
	addqw #8,sp
	jra L61
L150:
	movel a5@(-24),d0
	movel d0,d1
	movel d1,d0
	asll #5,d0
	movel a5@(-88),a0
	movel a0@(16,d0:l),sp@-
	movel a5@(-24),d0
	movel d0,d1
	movel d1,d0
	asll #5,d0
	movel a5@(-88),a0
	movel a5@(-40),a1
	addl a0@(8,d0:l),a1
	lea a1@(-4096),a0
	movel a0,sp@-
	movel a5@(-4),sp@-
	jbsr _KRead
	addqw #8,sp
	addqw #4,sp
	movel a5@(-24),d1
	movel d1,d2
	movel d2,d1
	asll #5,d1
	movel a5@(-88),a0
	cmpl a0@(16,d1:l),d0
	jeq L151
	movel _linuxboot_args,a0
	movel a5@(-24),sp@-
	pea LC79
	movel a0@(1464),a2
	jbsr a2@
	addqw #8,sp
	jra L61
L151:
L148:
	addql #1,a5@(-24)
	jra L146
L147:
	jra L152
L145:
	movel a5@(-84),sp@-
	movel a5@(-4),sp@-
	jbsr _KSeek
	addqw #8,sp
	moveq #-1,d4
	cmpl d0,d4
	jne L153
	movel _linuxboot_args,a0
	pea LC80
	movel a0@(1452),a2
	jbsr a2@
	addqw #4,sp
	jra L61
L153:
	movel _kexec+4,sp@-
	movel a5@(-40),sp@-
	movel a5@(-4),sp@-
	jbsr _KRead
	addqw #8,sp
	addqw #4,sp
	cmpl _kexec+4,d0
	jeq L154
	movel _linuxboot_args,a0
	pea LC81
	movel a0@(1452),a2
	jbsr a2@
	addqw #4,sp
	jra L61
L154:
	movel _kexec+8,sp@-
	movel a5@(-40),d0
	addl _kexec+4,d0
	movel d0,sp@-
	movel a5@(-4),sp@-
	jbsr _KRead
	addqw #8,sp
	addqw #4,sp
	cmpl _kexec+8,d0
	jeq L155
	movel _linuxboot_args,a0
	pea LC82
	movel a0@(1452),a2
	jbsr a2@
	addqw #4,sp
	jra L61
L155:
L152:
	movel a5@(-4),sp@-
	jbsr _KClose
	addqw #4,sp
	moveq #-1,d4
	movel d4,a5@(-4)
	movel a5@(-40),sp@-
	jbsr _check_bootinfo_version
	addqw #4,sp
	moveq #1,d4
	cmpl d0,d4
	jeq L158
	moveq #2,d4
	cmpl d0,d4
	jeq L157
	jra L160
L157:
	movel #_bi_union,a5@(-100)
	jra L156
L158:
	jbsr _create_compat_bootinfo
	tstl d0
	jne L159
	jra L61
L159:
	movel #_compat_bootinfo,a5@(-100)
	movel #1422,_bi_size
	jra L156
L160:
	jra L61
L156:
	movel _bi_size,sp@-
	movel a5@(-100),sp@-
	movel a5@(-40),d0
	addl a5@(-72),d0
	movel d0,sp@-
	jbsr _memcpy
	addqw #8,sp
	addqw #4,sp
	movel _linuxboot_args,a0
	tstl a0@(1432)
	jeq L162
	movel _linuxboot_args,a0
	movel _linuxboot_args,a1
	movel a1@(1432),sp@-
	movel a0@(1468),a2
	jbsr a2@
	addqw #4,sp
	movel d0,a5@(-8)
	moveq #-1,d4
	cmpl a5@(-8),d4
	jne L163
	movel _linuxboot_args,a0
	movel _linuxboot_args,a1
	movel a1@(1432),sp@-
	pea LC83
	movel a0@(1464),a2
	jbsr a2@
	addqw #8,sp
	jra L61
L163:
	movel _linuxboot_args,a0
	movel a5@(-68),sp@-
	movel a5@(-40),d0
	addl a5@(-72),d0
	movel d0,d1
	addl _bi_size,d1
	movel d1,sp@-
	movel a5@(-8),sp@-
	movel a0@(1476),a2
	jbsr a2@
	addqw #8,sp
	addqw #4,sp
	cmpl a5@(-68),d0
	jeq L164
	movel _linuxboot_args,a0
	pea LC84
	movel a0@(1452),a2
	jbsr a2@
	addqw #4,sp
	jra L61
L164:
	movel _linuxboot_args,a0
	movel a5@(-8),sp@-
	movel a0@(1480),a2
	jbsr a2@
	addqw #4,sp
	moveq #-1,d4
	movel d4,a5@(-8)
L162:
	movel #65538,sp@-
	pea 256:w
	jbsr _AllocMem
	addqw #8,sp
	movel d0,d1
	movel d1,a5@(-44)
	tstl d1
	jne L165
	movel _linuxboot_args,a0
	pea LC85
	movel a0@(1452),a2
	jbsr a2@
	addqw #4,sp
	jra L61
L165:
	movel #_copyallend,d4
	subl #_copyall,d4
	movel d4,a5@(-56)
	movel #65538,sp@-
	movel a5@(-56),sp@-
	jbsr _AllocMem
	addqw #8,sp
	movel d0,d1
	movel d1,a5@(-92)
	tstl d1
	jne L166
	movel _linuxboot_args,a0
	pea LC86
	movel a0@(1452),a2
	jbsr a2@
	addqw #4,sp
	jra L61
L166:
	movel a5@(-56),sp@-
	pea _copyall
	movel a5@(-92),sp@-
	jbsr _memcpy
	addqw #8,sp
	addqw #4,sp
	movel _linuxboot_args,a0
	tstl a0@(1436)
	jeq L167
	tstl _bi+56
	jeq L168
	movel _linuxboot_args,a0
	movel _bi+56,d1
	movel d1,d0
	moveq #10,d4
	lsrl d4,d0
	movel d0,sp@-
	movel a5@(-40),d0
	addl a5@(-72),d0
	movel d0,sp@-
	pea LC87
	movel a0@(1464),a2
	jbsr a2@
	addqw #8,sp
	addqw #4,sp
L168:
	tstl a5@(-12)
	jeq L169
	movel _linuxboot_args,a0
	pea 10:w
	movel a0@(1460),a2
	jbsr a2@
	addqw #4,sp
	clrl a5@(-24)
L170:
	clrl d0
	movew _kexec_elf+44,d0
	cmpl a5@(-24),d0
	jgt L173
	jra L171
L173:
	movel _linuxboot_args,a0
	movel a5@(-24),d0
	movel d0,d1
	movel d1,d0
	asll #5,d0
	movel a5@(-88),a1
	movel a1@(20,d0:l),sp@-
	movel a5@(-24),d0
	movel d0,d1
	movel d1,d0
	asll #5,d0
	movel a5@(-88),a1
	movel a5@(-60),a2
	addl a1@(8,d0:l),a2
	lea a2@(-4096),a1
	movel a1,sp@-
	movel a5@(-24),sp@-
	pea LC88
	movel a0@(1464),a2
	jbsr a2@
	addqw #8,sp
	addqw #8,sp
L172:
	addql #1,a5@(-24)
	jra L170
L171:
	movel _linuxboot_args,a0
	movel a5@(-60),d0
	addl a5@(-72),d0
	movel d0,sp@-
	pea LC89
	movel a0@(1464),a2
	jbsr a2@
	addqw #8,sp
	jra L174
L169:
	movel _linuxboot_args,a0
	movel _kexec+4,sp@-
	movel a5@(-60),sp@-
	pea LC90
	movel a0@(1464),a2
	jbsr a2@
	addqw #8,sp
	addqw #4,sp
	movel _linuxboot_args,a0
	movel _kexec+8,sp@-
	movel a5@(-60),d0
	addl _kexec+4,d0
	movel d0,sp@-
	pea LC91
	movel a0@(1464),a2
	jbsr a2@
	addqw #8,sp
	addqw #4,sp
	movel _linuxboot_args,a0
	movel _kexec+12,sp@-
	movel a5@(-60),d0
	addl _kexec+4,d0
	movel d0,d1
	addl _kexec+8,d1
	movel d1,sp@-
	pea LC92
	movel a0@(1464),a2
	jbsr a2@
	addqw #8,sp
	addqw #4,sp
	movel _linuxboot_args,a0
	movel a5@(-60),d0
	addl a5@(-72),d0
	movel d0,sp@-
	pea LC93
	movel a0@(1464),a2
	jbsr a2@
	addqw #8,sp
L174:
	movel _linuxboot_args,a0
	tstl a5@(-12)
	jeq L175
	movel _kexec_elf+24,d0
	jra L176
L175:
	movel _kexec+20,d0
L176:
	movel d0,sp@-
	pea LC94
	movel a0@(1464),a2
	jbsr a2@
	addqw #8,sp
	movel _linuxboot_args,a0
	movel a5@(-60),d0
	addl a5@(-64),d0
	movel d0,sp@-
	pea LC95
	movel a0@(1464),a2
	jbsr a2@
	addqw #8,sp
	movel _linuxboot_args,a0
	movel a5@(-40),d0
	addl a5@(-72),d0
	movel d0,sp@-
	pea LC96
	movel a0@(1464),a2
	jbsr a2@
	addqw #8,sp
	movel _linuxboot_args,a0
	movel a5@(-40),d0
	addl a5@(-72),d0
	movel d0,d1
	addl a5@(-68),d1
	movel d1,sp@-
	pea LC97
	movel a0@(1464),a2
	jbsr a2@
	addqw #8,sp
	movel _linuxboot_args,a0
	pea LC98
	movel a0@(1452),a2
	jbsr a2@
	addqw #4,sp
	movel _linuxboot_args,a0
	movel a0@(1456),a2
	jbsr a2@
	movel _linuxboot_args,a0
	pea 10:w
	movel a0@(1460),a2
	jbsr a2@
	addqw #4,sp
L167:
	movel _linuxboot_args,a0
	movel #1000000,sp@-
	movel a0@(1488),a2
	jbsr a2@
	addqw #4,sp
	movel _linuxboot_args,a0
	tstl a0@(1440)
	jne L177
	clrl sp@-
	jbsr _LoadView
	addqw #4,sp
L177:
	jbsr _Disable
	movel _linuxboot_args,a0
	tstl a0@(1444)
	jeq L178
	clrl a5@(-24)
L179:
	movel a5@(-24),d4
	cmpl _bi+320,d4
	jlt L182
	jra L180
L182:
	movel a5@(-24),d0
	movel d0,d1
	movel d1,d0
	asll #2,d0
	lea _boardresetfuncs,a0
	tstl a0@(d0:l)
	jeq L183
	movel a5@(-24),d0
	movel d0,d1
	movel d1,d0
	asll #2,d0
	lea _boardresetfuncs,a0
	movel a5@(-24),d1
	movel d1,d3
	movel d3,d2
	asll #4,d2
	addl d1,d2
	movel d2,d1
	asll #2,d1
	movel d1,d2
	addl #_bi+324,d2
	movel d2,sp@-
	movel a0@(d0:l),a2
	jbsr a2@
	addqw #4,sp
L183:
L181:
	addql #1,a5@(-24)
	jra L179
L180:
L178:
	movew #1023,14676118
	pea -1:w
	clrl sp@-
	jbsr _CacheControl
	addqw #8,sp
	jbsr _SuperState
	jbsr _disable_mmu
	movel a5@(-72),sp@-
	movel a5@(-68),sp@-
	movel a5@(-64),sp@-
	movel a5@(-60),sp@-
	movel a5@(-40),sp@-
	movel a5@(-44),d0
	addl #256,d0
	movel d0,sp@-
	movel a5@(-92),sp@-
	jbsr _start_kernel
	addw #28,sp
L61:
	moveq #-1,d4
	cmpl a5@(-4),d4
	jeq L184
	movel a5@(-4),sp@-
	jbsr _KClose
	addqw #4,sp
L184:
	moveq #-1,d4
	cmpl a5@(-8),d4
	jeq L185
	movel _linuxboot_args,a0
	movel a5@(-8),sp@-
	movel a0@(1480),a2
	jbsr a2@
	addqw #4,sp
L185:
	tstl a5@(-40)
	jeq L186
	movel a5@(-80),sp@-
	movel a5@(-40),sp@-
	jbsr _FreeMem
	addqw #8,sp
L186:
	tstl a5@(-44)
	jeq L187
	pea 256:w
	movel a5@(-44),sp@-
	jbsr _FreeMem
	addqw #8,sp
L187:
	tstl a5@(-88)
	jeq L188
	clrl d0
	movew _kexec_elf+44,d0
	movel d0,d1
	asll #5,d1
	movel d1,sp@-
	movel a5@(-88),sp@-
	jbsr _FreeMem
	addqw #8,sp
L188:
	clrl d0
	jra L19
L19:
	moveml a5@(-160),#0x41c
	unlk a5
	rts
	.even
_get_chipset:
	link a5,#-8
	movel _GfxBase,a0
	cmpw #38,a0@(20)
	jls L190
	pea -1:w
	jbsr _SetChipRev
	addqw #4,sp
	moveb d0,a5@(-1)
	jra L191
L190:
	movel _GfxBase,a0
	moveb a0@(236),a5@(-1)
L191:
	moveb a5@(-1),d0
	andb #12,d0
	cmpb #12,d0
	jne L192
	moveq #3,d1
	movel d1,a5@(-6)
	jra L193
L192:
	moveb a5@(-1),d0
	andb #3,d0
	cmpb #3,d0
	jne L194
	moveq #2,d1
	movel d1,a5@(-6)
	jra L195
L194:
	moveb a5@(-1),d0
	andb #1,d0
	tstb d0
	jeq L196
	moveq #1,d1
	movel d1,a5@(-6)
	jra L197
L196:
	clrl a5@(-6)
L197:
L195:
L193:
	movel a5@(-6),d0
	jra L189
L189:
	unlk a5
	rts
	.even
_get_processor:
	link a5,#0
	movel a5@(8),a0
	movel a5@(12),a1
	clrl a1@
	clrl a0@
	movel _SysBase,a0
	moveb a0@(297),d0
	andb #128,d0
	tstb d0
	jeq L199
	movel a5@(8),a0
	moveq #8,d1
	movel d1,a0@
	jra L200
L199:
	movel _SysBase,a0
	movew a0@(296),d0
	andw #8,d0
	tstw d0
	jeq L201
	movel a5@(8),a0
	moveq #4,d1
	movel d1,a0@
	jra L202
L201:
	movel _SysBase,a0
	movew a0@(296),d0
	andw #4,d0
	tstw d0
	jeq L203
	movel a5@(8),a0
	moveq #2,d1
	movel d1,a0@
	jra L204
L203:
	movel _SysBase,a0
	movew a0@(296),d0
	andw #2,d0
	tstw d0
	jeq L205
	movel a5@(8),a0
	moveq #1,d1
	movel d1,a0@
L205:
L204:
L202:
L200:
	movel a5@(8),a0
	moveq #4,d1
	cmpl a0@,d1
	jeq L207
	movel a5@(8),a0
	moveq #8,d1
	cmpl a0@,d1
	jeq L207
	jra L206
L207:
	movel _SysBase,a0
	movew a0@(296),d0
	andw #64,d0
	tstw d0
	jeq L208
	movel a5@(12),a0
	movel a5@(8),a1
	movel a1@,a0@
L208:
	jra L209
L206:
	movel _SysBase,a0
	movew a0@(296),d0
	andw #32,d0
	tstw d0
	jeq L210
	movel a5@(12),a0
	moveq #2,d1
	movel d1,a0@
	jra L211
L210:
	movel _SysBase,a0
	movew a0@(296),d0
	andw #16,d0
	tstw d0
	jeq L212
	movel a5@(12),a0
	moveq #1,d1
	movel d1,a0@
L212:
L211:
L209:
	movel a5@(16),a0
	movel a5@(8),a1
	movel a1@,a0@
L198:
	unlk a5
	rts
LC99:
	.ascii "Amiga model identification:\12\0"
LC100:
	.ascii "draco.resource\0"
LC101:
	.ascii "    Chipset: \0"
LC102:
	.ascii "Old or unknown\12\0"
LC103:
	.ascii "OCS\12\0"
LC104:
	.ascii "cd.device\0"
LC105:
	.ascii "ECS\12\0"
LC106:
	.ascii "Magic 36.7\0"
LC107:
	.ascii "kickad 36.57\0"
LC108:
	.ascii "A3000 Bonus\0"
LC109:
	.ascii "A3000 bonus\0"
LC110:
	.ascii "card.resource\0"
LC111:
	.ascii "AGA\12\0"
LC112:
	.ascii "A1000 Bonus\0"
LC113:
	.ascii "A4000 bonus\0"
LC114:
	.ascii "NCR scsi.device\0"
LC115:
	.ascii "\12Type a key to continue...\0"
	.even
_get_model:
	link a5,#-4
	movel a2,sp@-
	clrl a5@(-4)
	movel _linuxboot_args,a0
	tstl a0@(1436)
	jeq L214
	movel _linuxboot_args,a0
	pea LC99
	movel a0@(1452),a2
	jbsr a2@
	addqw #4,sp
L214:
	pea LC100
	jbsr _probe_resource
	addqw #4,sp
	tstl d0
	jeq L215
	moveq #15,d1
	movel d1,a5@(-4)
	jra L216
L215:
	movel _linuxboot_args,a0
	tstl a0@(1436)
	jeq L217
	movel _linuxboot_args,a0
	pea LC101
	movel a0@(1452),a2
	jbsr a2@
	addqw #4,sp
L217:
	movel a5@(8),d0
	moveq #1,d1
	cmpl d0,d1
	jeq L222
	moveq #1,d1
	cmpl d0,d1
	jhi L219
	moveq #2,d1
	cmpl d0,d1
	jeq L226
	moveq #3,d1
	cmpl d0,d1
	jeq L233
	jra L245
L219:
	movel _linuxboot_args,a0
	tstl a0@(1436)
	jeq L220
	movel _linuxboot_args,a0
	pea LC102
	movel a0@(1452),a2
	jbsr a2@
	addqw #4,sp
L220:
	jra L221
	jra L218
L222:
	movel _linuxboot_args,a0
	tstl a0@(1436)
	jeq L223
	movel _linuxboot_args,a0
	pea LC103
	movel a0@(1452),a2
	jbsr a2@
	addqw #4,sp
L223:
	nop
L221:
	pea LC104
	jbsr _probe_resident
	addqw #4,sp
	tstl d0
	jeq L224
	moveq #13,d1
	movel d1,a5@(-4)
	jra L225
L224:
	moveq #6,d1
	movel d1,a5@(-4)
L225:
	jra L218
L226:
	movel _linuxboot_args,a0
	tstl a0@(1436)
	jeq L227
	movel _linuxboot_args,a0
	pea LC105
	movel a0@(1452),a2
	jbsr a2@
	addqw #4,sp
L227:
	pea LC106
	jbsr _probe_resident
	addqw #4,sp
	tstl d0
	jne L229
	pea LC107
	jbsr _probe_resident
	addqw #4,sp
	tstl d0
	jne L229
	pea LC108
	jbsr _probe_resident
	addqw #4,sp
	tstl d0
	jne L229
	pea LC109
	jbsr _probe_resident
	addqw #4,sp
	tstl d0
	jne L229
	jra L228
L229:
	moveq #8,d1
	movel d1,a5@(-4)
	jra L230
L228:
	pea LC110
	jbsr _probe_resource
	addqw #4,sp
	tstl d0
	jeq L231
	moveq #3,d1
	movel d1,a5@(-4)
	jra L232
L231:
	moveq #6,d1
	movel d1,a5@(-4)
L232:
L230:
	jra L218
L233:
	movel _linuxboot_args,a0
	tstl a0@(1436)
	jeq L234
	movel _linuxboot_args,a0
	pea LC111
	movel a0@(1452),a2
	jbsr a2@
	addqw #4,sp
L234:
	pea LC112
	jbsr _probe_resident
	addqw #4,sp
	tstl d0
	jne L236
	pea LC113
	jbsr _probe_resident
	addqw #4,sp
	tstl d0
	jne L236
	jra L235
L236:
	pea LC114
	jbsr _probe_resident
	addqw #4,sp
	tstl d0
	jeq L237
	moveq #12,d0
	jra L238
L237:
	moveq #11,d0
L238:
	movel d0,a5@(-4)
	jra L239
L235:
	pea LC110
	jbsr _probe_resource
	addqw #4,sp
	tstl d0
	jeq L240
	moveq #5,d1
	movel d1,a5@(-4)
	jra L241
L240:
	pea LC104
	jbsr _probe_resident
	addqw #4,sp
	tstl d0
	jeq L242
	moveq #14,d1
	movel d1,a5@(-4)
	jra L243
L242:
	moveq #10,d1
	movel d1,a5@(-4)
L243:
L241:
L239:
	jra L218
L245:
L218:
L216:
	movel _linuxboot_args,a0
	tstl a0@(1436)
	jeq L246
	movel _linuxboot_args,a0
	pea LC115
	movel a0@(1452),a2
	jbsr a2@
	addqw #4,sp
	movel _linuxboot_args,a0
	movel a0@(1456),a2
	jbsr a2@
	movel _linuxboot_args,a0
	pea LC44
	movel a0@(1452),a2
	jbsr a2@
	addqw #4,sp
L246:
	movel a5@(-4),d0
	jra L213
L213:
	movel a5@(-8),a2
	unlk a5
	rts
LC116:
	.ascii "    Module `%s': \0"
LC117:
	.ascii "0x%08lx\12\0"
LC118:
	.ascii "not present\12\0"
	.even
_probe_resident:
	link a5,#-4
	movel a2,sp@-
	movel _linuxboot_args,a0
	tstl a0@(1436)
	jeq L248
	movel _linuxboot_args,a0
	movel a5@(8),sp@-
	pea LC116
	movel a0@(1464),a2
	jbsr a2@
	addqw #8,sp
L248:
	movel a5@(8),sp@-
	jbsr _FindResident
	addqw #4,sp
	movel d0,a5@(-4)
	movel _linuxboot_args,a0
	tstl a0@(1436)
	jeq L249
	tstl a5@(-4)
	jeq L250
	movel _linuxboot_args,a0
	movel a5@(-4),sp@-
	pea LC117
	movel a0@(1464),a2
	jbsr a2@
	addqw #8,sp
	jra L251
L250:
	movel _linuxboot_args,a0
	pea LC118
	movel a0@(1452),a2
	jbsr a2@
	addqw #4,sp
L251:
L249:
	tstl a5@(-4)
	sne d1
	moveb d1,d0
	extbl d0
	movel d0,d1
	negl d1
	movel d1,d0
	jra L247
L247:
	movel a5@(-8),a2
	unlk a5
	rts
LC119:
	.ascii "    Resource `%s': \0"
	.even
_probe_resource:
	link a5,#-4
	movel a2,sp@-
	movel _linuxboot_args,a0
	tstl a0@(1436)
	jeq L253
	movel _linuxboot_args,a0
	movel a5@(8),sp@-
	pea LC119
	movel a0@(1464),a2
	jbsr a2@
	addqw #8,sp
L253:
	movel a5@(8),sp@-
	jbsr _OpenResource
	addqw #4,sp
	movel d0,a5@(-4)
	movel _linuxboot_args,a0
	tstl a0@(1436)
	jeq L254
	tstl a5@(-4)
	jeq L255
	movel _linuxboot_args,a0
	movel a5@(-4),sp@-
	pea LC117
	movel a0@(1464),a2
	jbsr a2@
	addqw #8,sp
	jra L256
L255:
	movel _linuxboot_args,a0
	pea LC118
	movel a0@(1452),a2
	jbsr a2@
	addqw #4,sp
L256:
L254:
	tstl a5@(-4)
	sne d1
	moveb d1,d0
	extbl d0
	movel d0,d1
	negl d1
	movel d1,d0
	jra L252
L252:
	movel a5@(-8),a2
	unlk a5
	rts
	.even
_create_bootinfo:
	link a5,#-8
	movel d2,sp@-
	clrl _bi_size
	pea _bi
	pea 4:w
	pea 1:w
	jbsr _add_bi_record
	addqw #8,sp
	addqw #4,sp
	tstl d0
	jne L258
	clrl d0
	jra L257
L258:
	pea _bi+4
	pea 4:w
	pea 2:w
	jbsr _add_bi_record
	addqw #8,sp
	addqw #4,sp
	tstl d0
	jne L259
	clrl d0
	jra L257
L259:
	pea _bi+8
	pea 4:w
	pea 3:w
	jbsr _add_bi_record
	addqw #8,sp
	addqw #4,sp
	tstl d0
	jne L260
	clrl d0
	jra L257
L260:
	pea _bi+12
	pea 4:w
	pea 4:w
	jbsr _add_bi_record
	addqw #8,sp
	addqw #4,sp
	tstl d0
	jne L261
	clrl d0
	jra L257
L261:
	nop
	clrl a5@(-4)
L262:
	movel a5@(-4),a1
	cmpl _bi+16,a1
	jlt L265
	jra L263
L265:
	movel a5@(-4),d0
	movel d0,d1
	movel d1,d0
	asll #3,d0
	movel d0,d1
	addl #_bi+20,d1
	movel d1,sp@-
	pea 8:w
	pea 5:w
	jbsr _add_bi_record
	addqw #8,sp
	addqw #4,sp
	tstl d0
	jne L266
	clrl d0
	jra L257
L266:
L264:
	addql #1,a5@(-4)
	jra L262
L263:
	tstl _bi+56
	jeq L267
	pea _bi+52
	pea 8:w
	pea 6:w
	jbsr _add_bi_record
	addqw #8,sp
	addqw #4,sp
	tstl d0
	jne L268
	clrl d0
	jra L257
L268:
L267:
	pea _bi+60
	pea 7:w
	jbsr _add_bi_string
	addqw #8,sp
	tstl d0
	jne L269
	clrl d0
	jra L257
L269:
	pea _bi+316
	pea 4:w
	movel #32768,sp@-
	jbsr _add_bi_record
	addqw #8,sp
	addqw #4,sp
	tstl d0
	jne L270
	clrl d0
	jra L257
L270:
	nop
	clrl a5@(-4)
L271:
	movel a5@(-4),a1
	cmpl _bi+320,a1
	jlt L274
	jra L272
L274:
	movel a5@(-4),d0
	movel d0,d2
	movel d2,d1
	asll #4,d1
	addl d0,d1
	movel d1,d0
	asll #2,d0
	movel d0,d1
	addl #_bi+324,d1
	movel d1,sp@-
	pea 68:w
	movel #32769,sp@-
	jbsr _add_bi_record
	addqw #8,sp
	addqw #4,sp
	tstl d0
	jne L275
	clrl d0
	jra L257
L275:
L273:
	addql #1,a5@(-4)
	jra L271
L272:
	pea _bi+1412
	pea 4:w
	movel #32770,sp@-
	jbsr _add_bi_record
	addqw #8,sp
	addqw #4,sp
	tstl d0
	jne L276
	clrl d0
	jra L257
L276:
	pea _bi+1416
	pea 1:w
	movel #32771,sp@-
	jbsr _add_bi_record
	addqw #8,sp
	addqw #4,sp
	tstl d0
	jne L277
	clrl d0
	jra L257
L277:
	pea _bi+1417
	pea 1:w
	movel #32772,sp@-
	jbsr _add_bi_record
	addqw #8,sp
	addqw #4,sp
	tstl d0
	jne L278
	clrl d0
	jra L257
L278:
	pea _bi+1418
	pea 4:w
	movel #32773,sp@-
	jbsr _add_bi_record
	addqw #8,sp
	addqw #4,sp
	tstl d0
	jne L279
	clrl d0
	jra L257
L279:
	pea _bi+1422
	pea 4:w
	movel #32774,sp@-
	jbsr _add_bi_record
	addqw #8,sp
	addqw #4,sp
	tstl d0
	jne L280
	clrl d0
	jra L257
L280:
	pea _bi+1426
	pea 2:w
	movel #32775,sp@-
	jbsr _add_bi_record
	addqw #8,sp
	addqw #4,sp
	tstl d0
	jne L281
	clrl d0
	jra L257
L281:
	lea _bi_union,a1
	addl _bi_size,a1
	movel a1,a5@(-8)
	movel a5@(-8),a0
	clrw a0@
	addql #2,_bi_size
	moveq #1,d0
	jra L257
L257:
	movel a5@(-12),d2
	unlk a5
	rts
LC120:
	.ascii "Can't add bootinfo record. Ask a wizard to enlarge me.\12\0"
	.even
_add_bi_record:
	link a5,#-12
	moveml #0x3020,sp@-
	movel a5@(8),d2
	movel a5@(12),d3
	movew d2,a5@(-2)
	movew d3,a5@(-4)
	clrl d0
	movew a5@(-4),d0
	addql #7,d0
	moveq #-4,d1
	andl d0,d1
	movel d1,a5@(-12)
	movel _bi_size,a0
	addl a5@(-12),a0
	lea a0@(2),a1
	cmpl #4096,a1
	jls L283
	movel _linuxboot_args,a0
	pea LC120
	movel a0@(1452),a2
	jbsr a2@
	addqw #4,sp
	clrl d0
	jra L282
L283:
	movel #_bi_union,d1
	addl _bi_size,d1
	movel d1,a5@(-8)
	movel a5@(-8),a0
	movew a5@(-2),a0@
	movel a5@(-8),a0
	movew a5@(-10),a0@(2)
	clrl d0
	movew a5@(-4),d0
	movel d0,sp@-
	movel a5@(16),sp@-
	movel a5@(-8),d0
	addql #4,d0
	movel d0,sp@-
	jbsr _memcpy
	addqw #8,sp
	addqw #4,sp
	movel a5@(-12),d1
	addl d1,_bi_size
	moveq #1,d0
	jra L282
L282:
	moveml a5@(-24),#0x40c
	unlk a5
	rts
	.even
_add_bi_string:
	link a5,#-4
	movel d2,sp@-
	movel a5@(8),d2
	movew d2,a5@(-2)
	movel a5@(12),sp@-
	movel a5@(12),sp@-
	jbsr _strlen
	addqw #4,sp
	movew d0,d1
	addqw #1,d1
	clrl d0
	movew d1,d0
	movel d0,sp@-
	clrl d0
	movew a5@(-2),d0
	movel d0,sp@-
	jbsr _add_bi_record
	addqw #8,sp
	addqw #4,sp
	movel d0,d1
	movel d1,d0
	jra L284
L284:
	movel a5@(-8),d2
	unlk a5
	rts
LC121:
	.ascii "CPU type 0x%08lx not supported by kernel\12\0"
LC122:
	.ascii "FPU type 0x%08lx not supported by kernel\12\0"
LC123:
	.ascii "Warning: using only %ld blocks of memory\12\0"
LC124:
	.ascii "Warning: using only %ld AutoConfig devices\12\0"
	.even
_create_compat_bootinfo:
	link a5,#-4
	moveml #0x3c20,sp@-
	movel _bi,_compat_bootinfo
	moveq #1,d0
	andl _bi+4,d0
	tstl d0
	jeq L286
	moveq #1,d5
	movel d5,_compat_bootinfo+4
	jra L287
L286:
	moveq #2,d0
	andl _bi+4,d0
	tstl d0
	jeq L288
	moveq #2,d5
	movel d5,_compat_bootinfo+4
	jra L289
L288:
	moveq #4,d0
	andl _bi+4,d0
	tstl d0
	jeq L290
	moveq #4,d5
	movel d5,_compat_bootinfo+4
	jra L291
L290:
	moveq #8,d0
	andl _bi+4,d0
	tstl d0
	jeq L292
	moveq #8,d5
	movel d5,_compat_bootinfo+4
	jra L293
L292:
	movel _linuxboot_args,a0
	movel _bi+4,sp@-
	pea LC121
	movel a0@(1464),a2
	jbsr a2@
	addqw #8,sp
	clrl d0
	jra L285
L293:
L291:
L289:
L287:
	moveq #1,d0
	andl _bi+8,d0
	tstl d0
	jeq L294
	moveq #32,d5
	orl d5,_compat_bootinfo+4
	jra L295
L294:
	moveq #2,d0
	andl _bi+8,d0
	tstl d0
	jeq L296
	moveq #64,d5
	orl d5,_compat_bootinfo+4
	jra L297
L296:
	moveq #4,d0
	andl _bi+8,d0
	tstl d0
	jeq L298
	orw #128,_compat_bootinfo+6
	jra L299
L298:
	moveq #8,d0
	andl _bi+8,d0
	tstl d0
	jeq L300
	orw #256,_compat_bootinfo+6
	jra L301
L300:
	tstl _bi+8
	jeq L302
	movel _linuxboot_args,a0
	movel _bi+8,sp@-
	pea LC122
	movel a0@(1464),a2
	jbsr a2@
	addqw #8,sp
	clrl d0
	jra L285
L302:
L301:
L299:
L297:
L295:
	movel _bi+16,_compat_bootinfo+40
	moveq #4,d5
	cmpl _compat_bootinfo+40,d5
	jge L303
	movel _linuxboot_args,a0
	pea 4:w
	pea LC123
	movel a0@(1464),a2
	jbsr a2@
	addqw #8,sp
	moveq #4,d5
	movel d5,_compat_bootinfo+40
L303:
	nop
	clrl a5@(-4)
L304:
	movel a5@(-4),d5
	cmpl _compat_bootinfo+40,d5
	jcs L307
	jra L305
L307:
	movel a5@(-4),d0
	movel d0,d1
	movel d1,d0
	asll #3,d0
	lea _compat_bootinfo,a0
	movel a5@(-4),d1
	movel d1,d2
	movel d2,d1
	asll #3,d1
	lea _bi,a1
	movel a1@(20,d1:l),a0@(8,d0:l)
	movel a5@(-4),d0
	movel d0,d1
	movel d1,d0
	asll #3,d0
	lea _compat_bootinfo,a0
	movel a5@(-4),d1
	movel d1,d2
	movel d2,d1
	asll #3,d1
	lea _bi,a1
	movel a1@(24,d1:l),a0@(12,d0:l)
L306:
	addql #1,a5@(-4)
	jra L304
L305:
	tstl _bi+56
	jeq L308
	movel _bi+56,d0
	addl #1023,d0
	movel d0,d1
	moveq #10,d5
	lsrl d5,d1
	movel d1,_compat_bootinfo+44
	movel _bi+52,_compat_bootinfo+48
	jra L309
L308:
	clrl _compat_bootinfo+44
	clrl _compat_bootinfo+48
L309:
	pea 256:w
	pea _bi+60
	pea _compat_bootinfo+52
	jbsr _strncpy
	addqw #8,sp
	addqw #4,sp
	clrb _compat_bootinfo+307
	movel _bi+316,_compat_bootinfo+308
	movel _bi+320,_compat_bootinfo+312
	moveq #16,d5
	cmpl _compat_bootinfo+312,d5
	jge L310
	movel _linuxboot_args,a0
	pea 16:w
	pea LC124
	movel a0@(1464),a2
	jbsr a2@
	addqw #8,sp
	moveq #16,d5
	movel d5,_compat_bootinfo+312
L310:
	nop
	clrl a5@(-4)
L311:
	movel a5@(-4),d5
	cmpl _compat_bootinfo+312,d5
	jcs L314
	jra L312
L314:
	movel a5@(-4),d0
	movel d0,d2
	movel d2,d1
	asll #4,d1
	addl d0,d1
	movel d1,d0
	asll #2,d0
	movel #_compat_bootinfo+316,d1
	movel a5@(-4),d2
	movel d2,d4
	movel d4,d3
	asll #4,d3
	addl d2,d3
	movel d3,d2
	asll #2,d2
	movel #_bi+324,d3
	movel d2,a0
	addl d3,a0
	movel d0,a1
	addl d1,a1
	pea 68:w
	movel a1,sp@-
	movel a0,sp@-
	jbsr _bcopy
	addqw #8,sp
	addqw #4,sp
L313:
	addql #1,a5@(-4)
	jra L311
L312:
	movel _bi+1412,_compat_bootinfo+1404
	moveb _bi+1416,_compat_bootinfo+1408
	moveb _bi+1417,_compat_bootinfo+1409
	movel _bi+1418,_compat_bootinfo+1410
	movel _bi+1422,_compat_bootinfo+1414
	clrl _compat_bootinfo+1418
	moveq #1,d0
	jra L285
L285:
	moveml a5@(-24),#0x43c
	unlk a5
	rts
LC125:
	.ascii "Kernel has no bootinfo version info, assuming 0.0\12\0"
LC126:
	.ascii "Bootstrap's bootinfo version: %ld.%ld\12\0"
LC127:
	.ascii "Kernel's bootinfo version   : %ld.%ld\12\0"
LC128:
	.ascii "Warning: Bootinfo version of bootstrap and kernel differ!\12\0"
LC129:
	.ascii "         Certain features may not work.\12\0"
LC130:
	.ascii "(using backwards compatibility mode)\12\0"
LC131:
	.ascii "old\0"
LC132:
	.ascii "new\0"
LC133:
	.ascii "\12This bootstrap is too %s for this kernel!\12\0"
	.even
_check_bootinfo_version:
	link a5,#-28
	movel a2,sp@-
	movel d2,sp@-
	movel a5@(8),a5@(-4)
	clrl a5@(-8)
	movel a5@(-4),a0
	cmpl #1112102426,a0@(2)
	jne L316
	clrl a5@(-12)
L317:
	movel a5@(-4),a0
	movel a5@(-12),d0
	movel d0,d1
	movel d1,d0
	asll #3,d0
	tstl a0@(6,d0:l)
	jne L320
	jra L318
L320:
	movel a5@(-4),a0
	movel a5@(-12),d0
	movel d0,d1
	movel d1,d0
	asll #3,d0
	moveq #1,d2
	cmpl a0@(6,d0:l),d2
	jne L321
	movel a5@(-4),a0
	movel a5@(-12),d0
	movel d0,d1
	movel d1,d0
	asll #3,d0
	movel a0@(10,d0:l),a5@(-8)
	jra L318
L321:
L319:
	addql #1,a5@(-12)
	jra L317
L318:
L316:
	tstl a5@(-8)
	jne L322
	movel _linuxboot_args,a0
	pea LC125
	movel a0@(1452),a2
	jbsr a2@
	addqw #4,sp
L322:
	movel a5@(-8),d1
	movel d1,d0
	clrw d0
	swap d0
	movel d0,d2
	andl #65535,d2
	movel d2,a5@(-16)
	movel a5@(-8),d2
	andl #65535,d2
	movel d2,a5@(-20)
	moveq #2,d2
	movel d2,a5@(-24)
	clrl a5@(-28)
	movel _linuxboot_args,a0
	movel a5@(-28),sp@-
	movel a5@(-24),sp@-
	pea LC126
	movel a0@(1464),a2
	jbsr a2@
	addqw #8,sp
	addqw #4,sp
	movel _linuxboot_args,a0
	movel a5@(-20),sp@-
	movel a5@(-16),sp@-
	pea LC127
	movel a0@(1464),a2
	jbsr a2@
	addqw #8,sp
	addqw #4,sp
	movel a5@(-16),d0
	moveq #1,d2
	cmpl d0,d2
	jeq L326
	moveq #2,d2
	cmpl d0,d2
	jeq L324
	jra L327
L324:
	movel a5@(-20),d2
	cmpl a5@(-28),d2
	jle L325
	movel _linuxboot_args,a0
	pea LC128
	movel a0@(1452),a2
	jbsr a2@
	addqw #4,sp
	movel _linuxboot_args,a0
	pea LC129
	movel a0@(1452),a2
	jbsr a2@
	addqw #4,sp
L325:
	jra L323
L326:
	movel _linuxboot_args,a0
	pea LC130
	movel a0@(1452),a2
	jbsr a2@
	addqw #4,sp
	jra L323
L327:
	movel _linuxboot_args,a0
	movel a5@(-24),d2
	cmpl a5@(-16),d2
	jge L328
	movel #LC131,d0
	jra L329
L328:
	movel #LC132,d0
L329:
	movel d0,sp@-
	pea LC133
	movel a0@(1464),a2
	jbsr a2@
	addqw #8,sp
	clrl d0
	jra L315
L323:
	movel a5@(-16),d0
	jra L315
L315:
	movel a5@(-36),d2
	movel a5@(-32),a2
	unlk a5
	rts
	.even
_start_kernel:
	link a5,#0
	moveml #0x3038,sp@-
	movel a5@(8),a0
	movel a5@(12),a2
	movel a5@(16),a3
	movel a5@(20),a4
	movel a5@(24),d0
	movel a5@(28),d1
	movel a5@(32),d2
	movel _bi_size,d3
#APP
	movel a2,sp;jmp a0@
#NO_APP
L332:
L334:
	jra L334
L333:
L331:
	moveml a5@(-20),#0x1c0c
	unlk a5
	rts
#APP
	.text
.align 4
copyall:
				| /* copy kernel text and data */
	movel	a3,a0		| src = (u_long *)memptr;
	movel	a0,a2		| limit = (u_long *)(memptr+kernel_size);
	addl	d2,a2
	movel	a4,a1		| dest = (u_long *)start_mem;
1:	cmpl	a0,a2
	jeq	2f		| while (src < limit)
	moveb	a0@+,a1@+	|  *dest++ = *src++;
	jra	1b
2:
				| /* copy bootinfo to end of bss */
	movel	a3,a0		| src = (u_long *)(memptr+kernel_size);
	addl	d2,a0		| dest = end of bss (already in a1)
	movel	d3,d7		| count = bi_size
	subql	#1,d7
1:	moveb	a0@+,a1@+	| while (--count > -1)
	dbra	d7,1b		|     *dest++ = *src++

				| /* copy the ramdisk to the top of memory */
				| /* (from back to front) */
	movel	a4,a1		| dest = (u_long *)(start_mem+mem_size);
	addl	d0,a1
	movel	a3,a2		| limit = (u_long *)(memptr+kernel_size +
	addl	d2,a2		|		     bi_size);
	addl	d3,a2
	movel	a2,a0		| src = (u_long *)((u_long)limit+rd_size);
	addl	d1,a0
1:	cmpl	a0,a2
	beqs	2f		| while (src > limit)
	moveb	a0@-,a1@-	|     *--dest = *--src;
	bras	1b
2:
				| /* jump to start of kernel */
	movel	a4,a0		| jump_to (start_mem);
	jmp	a0@
copyallend:

	.text
.align 4
maprommed:
	oriw	#0x0700,sr
	moveml	#0x3f20,sp@-
				| /* Save cache settings */
	.long	0x4e7a1002	| movec cacr,d1 */
				| /* Save MMU settings */
	.long	0x4e7a2003	| movec tc,d2
	.long	0x4e7a3004	| movec itt0,d3
	.long	0x4e7a4005	| movec itt1,d4
	.long	0x4e7a5006	| movec dtt0,d5
	.long	0x4e7a6007	| movec dtt1,d6
	moveq	#0,d0
	movel	d0,a2
				| /* Disable caches */
	.long	0x4e7b0002	| movec d0,cacr
				| /* Disable MMU */
	.long	0x4e7b0003	| movec d0,tc
	.long	0x4e7b0004	| movec d0,itt0
	.long	0x4e7b0005	| movec d0,itt1
	.long	0x4e7b0006	| movec d0,dtt0
	.long	0x4e7b0007	| movec d0,dtt1
	lea	0x07f80000,a0
	lea	0x00f80000,a1
	movel	a0@,d7
	cmpl	a1@,d7
	jne	1f
	movel	d7,d0
	notl	d0
	movel	d0,a0@
	nop			| /* Thanks to Jörg Mayer! */
	cmpl	a1@,d0
	jne	1f
	moveq	#-1,d0		| /* MapROMmed A3640 present */
	movel	d0,a2
1:	movel	d7,a0@
				| /* Restore MMU settings */
	.long	0x4e7b2003	| movec d2,tc
	.long	0x4e7b3004	| movec d3,itt0
	.long	0x4e7b4005	| movec d4,itt1
	.long	0x4e7b5006	| movec d5,dtt0
	.long	0x4e7b6007	| movec d6,dtt1
				| /* Restore cache settings */
	.long	0x4e7b1002	| movec d1,cacr
	movel	a2,d0
	moveml	sp@+,#0x04fc
	rte

#NO_APP
	.even
_reset_rb3:
	link a5,#-4
	movel a2,sp@-
	movel a5@(8),a0
	movel a0@(32),d0
	addl #16785408,d0
	movel d0,a5@(-4)
	movel a5@(-4),a0
	moveb #1,a0@
	movel _linuxboot_args,a0
	movel #1000000,sp@-
	movel a0@(1488),a2
	jbsr a2@
	addqw #4,sp
	movel a5@(-4),a0
	clrb a0@
L335:
	movel a5@(-8),a2
	unlk a5
	rts
	.even
_reset_piccolo:
	link a5,#-4
	movel a2,sp@-
	movel a5@(8),a0
	movel a0@(32),d0
	addl #32768,d0
	movel d0,a5@(-4)
	movel a5@(-4),a0
	moveb #1,a0@
	movel _linuxboot_args,a0
	movel #1000000,sp@-
	movel a0@(1488),a2
	jbsr a2@
	addqw #4,sp
	movel a5@(-4),a0
	moveb #81,a0@
L336:
	movel a5@(-8),a2
	unlk a5
	rts
	.even
_reset_sd64:
	link a5,#-4
	movel a2,sp@-
	movel a5@(8),a0
	movel a0@(32),d0
	addl #32768,d0
	movel d0,a5@(-4)
	movel a5@(-4),a0
	moveb #31,a0@
	movel _linuxboot_args,a0
	movel #1000000,sp@-
	movel a0@(1488),a2
	jbsr a2@
	addqw #4,sp
	movel a5@(-4),a0
	moveb #79,a0@
L337:
	movel a5@(-8),a2
	unlk a5
	rts
	.even
_reset_ariadne:
	link a5,#-36
	movel d2,sp@-
	movel a5@(8),a0
	movel a0@(32),d2
	addl #880,d2
	movel d2,a5@(-4)
	movel a5@(8),a0
	movel a0@(32),d2
	addl #882,d2
	movel d2,a5@(-8)
	movel a5@(8),a0
	movel a0@(32),d2
	addl #884,d2
	movel d2,a5@(-12)
	movel a5@(8),a0
	movel a0@(32),d2
	addl #4100,d2
	movel d2,a5@(-16)
	movel a5@(8),a0
	movel a0@(32),d2
	addl #4102,d2
	movel d2,a5@(-20)
	movel a5@(8),a0
	movel a0@(32),d2
	addl #4107,d2
	movel d2,a5@(-24)
	movel a5@(8),a0
	movel a0@(32),d2
	addl #4110,d2
	movel d2,a5@(-28)
	movel a5@(8),a0
	movel a0@(32),d2
	addl #4122,d2
	movel d2,a5@(-32)
	jbsr _Disable
	movel a5@(-12),a0
	movew a0@,a5@(-34)
	movel a5@(-8),a0
	clrw a0@
	movel a5@(-4),a0
	movew #1024,a0@
	movel a5@(-24),a0
	movel a5@(-24),a1
	moveb a1@,d0
	moveb d0,d1
	andb #253,d1
	moveb d1,a0@
	movel a5@(-28),a0
	movel a5@(-28),a1
	moveb a1@,d0
	moveb d0,d1
	andb #253,d1
	moveb d1,a0@
	movel a5@(-32),a0
	moveb #5,a0@
	movel a5@(-16),a0
	clrb a0@
	movel a5@(-20),a0
	clrb a0@
	jbsr _Enable
L338:
	movel a5@(-40),d2
	unlk a5
	rts
	.even
_reset_hydra:
	link a5,#-12
	movel a5@(8),a0
	movel a0@(32),a1
	addl #65505,a1
	movel a1,a5@(-4)
	movel a5@(8),a0
	movel a0@(32),a1
	addl #65519,a1
	movel a1,a5@(-8)
	movel #5000,a5@(-12)
	jbsr _Disable
	movel a5@(-4),a0
	moveb #33,a0@
L340:
	movel a5@(-8),a0
	moveb a0@,d1
	moveb d1,d0
	andb #128,d0
	tstb d0
	jne L343
	subql #1,a5@(-12)
	tstl a5@(-12)
	jne L342
	jra L343
L343:
	jra L341
L342:
	jra L340
L341:
	jbsr _Enable
L339:
	unlk a5
	rts
.data
	.even
_ZFileSize:
	.long 0
	.even
_ZFpos:
	.long 0
	.even
_Zwpos:
	.long 0
	.even
_Zinfd:
	.long 0
	.even
_insize:
	.long 0
	.even
_inptr:
	.long 0
	.even
_outcnt:
	.long 0
	.even
_exit_code:
	.long 0
	.even
_bytes_out:
	.long 0
	.even
_border:
	.long 16
	.long 17
	.long 18
	.long 0
	.long 8
	.long 7
	.long 9
	.long 6
	.long 10
	.long 5
	.long 11
	.long 4
	.long 12
	.long 3
	.long 13
	.long 2
	.long 14
	.long 1
	.long 15
	.even
_cplens:
	.word 3
	.word 4
	.word 5
	.word 6
	.word 7
	.word 8
	.word 9
	.word 10
	.word 11
	.word 13
	.word 15
	.word 17
	.word 19
	.word 23
	.word 27
	.word 31
	.word 35
	.word 43
	.word 51
	.word 59
	.word 67
	.word 83
	.word 99
	.word 115
	.word 131
	.word 163
	.word 195
	.word 227
	.word 258
	.word 0
	.word 0
	.even
_cplext:
	.word 0
	.word 0
	.word 0
	.word 0
	.word 0
	.word 0
	.word 0
	.word 0
	.word 1
	.word 1
	.word 1
	.word 1
	.word 2
	.word 2
	.word 2
	.word 2
	.word 3
	.word 3
	.word 3
	.word 3
	.word 4
	.word 4
	.word 4
	.word 4
	.word 5
	.word 5
	.word 5
	.word 5
	.word 0
	.word 99
	.word 99
	.even
_cpdist:
	.word 1
	.word 2
	.word 3
	.word 4
	.word 5
	.word 7
	.word 9
	.word 13
	.word 17
	.word 25
	.word 33
	.word 49
	.word 65
	.word 97
	.word 129
	.word 193
	.word 257
	.word 385
	.word 513
	.word 769
	.word 1025
	.word 1537
	.word 2049
	.word 3073
	.word 4097
	.word 6145
	.word 8193
	.word 12289
	.word 16385
	.word 24577
	.even
_cpdext:
	.word 0
	.word 0
	.word 0
	.word 0
	.word 1
	.word 1
	.word 2
	.word 2
	.word 3
	.word 3
	.word 4
	.word 4
	.word 5
	.word 5
	.word 6
	.word 6
	.word 7
	.word 7
	.word 8
	.word 8
	.word 9
	.word 9
	.word 10
	.word 10
	.word 11
	.word 11
	.word 12
	.word 12
	.word 13
	.word 13
	.even
_mask_bits:
	.word 0
	.word 1
	.word 3
	.word 7
	.word 15
	.word 31
	.word 63
	.word 127
	.word 255
	.word 511
	.word 1023
	.word 2047
	.word 4095
	.word 8191
	.word 16383
	.word 32767
	.word 65535
	.even
_lbits:
	.long 9
	.even
_dbits:
	.long 6
.text
	.even
_huft_build:
	link a5,#-1392
	moveml #0x3e3a,sp@-
	pea 68:w
	clrl sp@-
	lea a5@(-72),a0
	movel a0,sp@-
	jbsr _memset
	addqw #8,sp
	addqw #4,sp
	movel a5@(8),a3
	movel a5@(12),d2
L345:
	movel a3@,d0
	addql #1,a5@(-72,d0:l:4)
	addqw #4,a3
L347:
	subql #1,d2
	tstl d2
	jne L348
	jra L346
L348:
	jra L345
L346:
	movel a5@(-72),d6
	cmpl a5@(12),d6
	jne L349
	movel a5@(28),a0
	clrl a0@
	movel a5@(32),a0
	clrl a0@
	clrl d0
	jra L344
L349:
	movel a5@(32),a0
	movel a0@,a5@(-88)
	moveq #1,d3
L350:
	moveq #16,d6
	cmpl d3,d6
	jcc L353
	jra L351
L353:
	tstl a5@(-72,d3:l:4)
	jeq L354
	jra L351
L354:
L352:
	addql #1,d3
	jra L350
L351:
	movel d3,a2
	cmpl a5@(-88),d3
	jls L355
	movel d3,a5@(-88)
L355:
	nop
	moveq #16,d2
L356:
	tstl d2
	jne L359
	jra L357
L359:
	tstl a5@(-72,d2:l:4)
	jeq L360
	jra L357
L360:
L358:
	subql #1,d2
	jra L356
L357:
	movel d2,a5@(-80)
	cmpl a5@(-88),d2
	jcc L361
	movel d2,a5@(-88)
L361:
	movel a5@(32),a0
	movel a5@(-88),a0@
	moveq #1,d0
	movel d0,d1
	asll d3,d1
	movel d1,a5@(-1386)
L362:
	cmpl d3,d2
	jhi L365
	jra L363
L365:
	movel a5@(-1386),d0
	subl a5@(-72,d3:l:4),d0
	movel d0,d1
	movel d1,a5@(-1386)
	tstl d1
	jge L366
	moveq #2,d0
	jra L344
L366:
L364:
	addql #1,d3
	movel a5@(-1386),d0
	movel d0,d1
	addl d1,d1
	movel d1,a5@(-1386)
	jra L362
L363:
	movel a5@(-1386),d0
	subl a5@(-72,d2:l:4),d0
	movel d0,d1
	movel d1,a5@(-1386)
	tstl d1
	jge L367
	moveq #2,d0
	jra L344
L367:
	movel a5@(-1386),d6
	addl d6,a5@(-72,d2:l:4)
	clrl d3
	clrl a5@(-1374)
	lea a5@(-72),a3
	addqw #4,a3
	lea a5@(-1378),a0
	lea a0@(8),a6
	movel a6,a5@(-1382)
L368:
	subql #1,d2
	tstl d2
	jne L370
	jra L369
L370:
	movel a5@(-1382),a0
	addl a3@,d3
	movel d3,d0
	movel d0,a0@
	addqw #4,a3
	addql #4,a5@(-1382)
	jra L368
L369:
	movel a5@(8),a3
	clrl d2
L371:
	movel a3@,d3
	movel d3,d0
	addqw #4,a3
	tstl d0
	jeq L374
	movel d3,d0
	movel d0,d1
	asll #2,d1
	lea a5@(0,d1:l),a0
	movel a0@(-1378),d0
	movel d0,d1
	movel d1,d0
	asll #2,d0
	lea a5@(0,d0:l),a1
	movel d2,a1@(-1310)
	addql #1,a0@(-1378)
L374:
L373:
	addql #1,d2
	cmpl a5@(12),d2
	jcs L375
	jra L372
L375:
	jra L371
L372:
	clrl d2
	clrl a5@(-1378)
	lea a5@(-1310),a3
	moveq #-1,d6
	movel d6,a5@(-84)
	movel a5@(-88),d4
	negl d4
	clrl a5@(-158)
	subl a4,a4
	clrl a5@(-1390)
L376:
	cmpl a5@(-80),a2
	jle L379
	jra L377
L379:
	movel a5@(-72,a2:l:4),a5@(-4)
L380:
	subql #1,a5@(-4)
	moveq #-1,d6
	cmpl a5@(-4),d6
	jne L382
	jra L381
L382:
L383:
	movel d4,d0
	addl a5@(-88),d0
	cmpl a2,d0
	jlt L385
	jra L384
L385:
	addql #1,a5@(-84)
	addl a5@(-88),d4
	movel a5@(-80),d0
	subl d4,d0
	movel d0,d1
	movel d1,a5@(-1390)
	cmpl a5@(-88),d1
	jls L386
	movel a5@(-88),d0
	jra L387
L386:
	movel a5@(-1390),d0
L387:
	movel d0,a5@(-1390)
	movel a2,d3
	subl d4,d3
	movel d3,d0
	moveq #1,d5
	movel d5,d1
	asll d0,d1
	movel d1,d0
	movel d0,a5@(-76)
	movel a5@(-4),d1
	addql #1,d1
	cmpl d0,d1
	jcc L388
	movel a5@(-76),d0
	subql #1,d0
	movel d0,a6
	subl a5@(-4),a6
	movel a6,a5@(-76)
	lea a5@(-72),a0
	movel a2,d0
	movel d0,d1
	asll #2,d1
	lea a0@(0,d1:l),a6
	movel a6,a5@(-1382)
L389:
	addql #1,d3
	cmpl a5@(-1390),d3
	jcs L391
	jra L390
L391:
	movel a5@(-76),d0
	movel d0,d1
	addl d1,d1
	movel d1,d0
	movel d0,a5@(-76)
	addql #4,a5@(-1382)
	movel a5@(-1382),a0
	cmpl a0@,d0
	jhi L392
	jra L390
L392:
	movel a5@(-1382),a0
	movel a0@,d6
	subl d6,a5@(-76)
	jra L389
L390:
L388:
	moveq #1,d0
	movel d0,d1
	asll d3,d1
	movel d1,a5@(-1390)
	pea 5:w
	movel a5@(-1390),d0
	addql #1,d0
	movel d0,d5
	movel d5,d1
	addl d1,d1
	addl d0,d1
	movel d1,d0
	addl d0,d0
	movel d0,sp@-
	jbsr _AllocVec
	addqw #8,sp
	movel d0,a4
	movel a4,d0
	tstl d0
	jne L393
	tstl a5@(-84)
	jeq L394
	movel a5@(-158),sp@-
	jbsr _huft_free
	addqw #4,sp
L394:
	moveq #3,d0
	jra L344
L393:
	movel _hufts,d0
	addql #1,d0
	movel d0,a6
	addl a5@(-1390),a6
	movel a6,_hufts
	movel a5@(28),a0
	lea a4@(6),a6
	movel a6,a0@
	lea a4@(2),a0
	movel a0,a1
	movel a1,a5@(28)
	clrl a1@
	movel a5@(-84),d0
	movel d0,d1
	movel d1,d0
	asll #2,d0
	lea a5@(0,d0:l),a0
	addqw #6,a4
	movel a4,a0@(-158)
	tstl a5@(-84)
	jeq L395
	movel a5@(-84),d0
	movel d0,d1
	movel d1,d0
	asll #2,d0
	lea a5@(0,d0:l),a0
	movel d2,a0@(-1378)
	moveb a5@(-85),a5@(-93)
	moveb d3,d6
	addb #16,d6
	moveb d6,a5@(-94)
	movel a4,a5@(-92)
	movel d4,d0
	subl a5@(-88),d0
	movel d2,d3
	lsrl d0,d3
	lea a5@(-162),a0
	movel a5@(-84),d0
	movel d0,d1
	movel d1,d0
	asll #2,d0
	addl d0,a0
	movel d3,d0
	movel d0,d1
	addl d1,d1
	addl d3,d1
	movel d1,d0
	addl d0,d0
	movel a0@,a0
	movel a5@(-94),a0@(d0:l)
	movew a5@(-90),a0@(4,d0:l)
L395:
	jra L383
L384:
	movew a2,d6
	subb d4,d6
	moveb d6,a5@(-93)
	lea a5@(-1310),a0
	movel a5@(12),d0
	movel d0,d1
	movel d1,d0
	asll #2,d0
	addl d0,a0
	cmpl a3,a0
	jhi L396
	moveb #99,a5@(-94)
	jra L397
L396:
	movel a3@,a6
	cmpl a5@(16),a6
	jcc L398
	cmpl #255,a3@
	jhi L399
	moveb #16,d0
	jra L400
L399:
	moveb #15,d0
L400:
	moveb d0,a5@(-94)
	movew a3@(2),a5@(-92)
	addqw #4,a3
	jra L401
L398:
	movel a3@,d0
	subl a5@(16),d0
	movel d0,d1
	movel d1,d0
	addl d0,d0
	movel a5@(24),a0
	moveb a0@(1,d0:l),a5@(-94)
	movel a3@,d0
	subl a5@(16),d0
	movel d0,d1
	movel d1,d0
	addl d0,d0
	movel a5@(20),a0
	movew a0@(d0:l),a5@(-92)
	addqw #4,a3
L401:
L397:
	movel a2,d0
	subl d4,d0
	moveq #1,d1
	movel d1,d6
	asll d0,d6
	movel d6,d0
	movel d0,a5@(-76)
	movel d2,d3
	lsrl d4,d3
L402:
	cmpl a5@(-1390),d3
	jcs L405
	jra L403
L405:
	movel d3,d1
	movel d1,d0
	addl d0,d0
	addl d3,d0
	movel d0,d1
	addl d1,d1
	movel a5@(-94),a4@(d1:l)
	movew a5@(-90),a4@(4,d1:l)
L404:
	addl a5@(-76),d3
	jra L402
L403:
	nop
	movel a2,d0
	subql #1,d0
	moveq #1,d1
	movel d1,d3
	asll d0,d3
L406:
	movel d2,d0
	andl d3,d0
	tstl d0
	jne L409
	jra L407
L409:
	eorl d3,d2
L408:
	lsrl #1,d3
	jra L406
L407:
	eorl d3,d2
L410:
	moveq #1,d1
	movel d1,d0
	asll d4,d0
	movel d0,d1
	subql #1,d1
	movel d2,d0
	andl d1,d0
	movel a5@(-84),d1
	movel d1,d5
	movel d5,d1
	asll #2,d1
	lea a5@(0,d1:l),a0
	cmpl a0@(-1378),d0
	jne L412
	jra L411
L412:
	subql #1,a5@(-84)
	subl a5@(-88),d4
	jra L410
L411:
	jra L380
L381:
L378:
	addqw #1,a2
	jra L376
L377:
	clrl d0
	tstl a5@(-1386)
	jeq L413
	moveq #1,d6
	cmpl a5@(-80),d6
	jeq L413
	moveq #1,d0
L413:
	jra L344
L344:
	moveml a5@(-1428),#0x5c7c
	unlk a5
	rts
	.even
_huft_free:
	link a5,#0
	movel a2,sp@-
	movel d2,sp@-
	movel a5@(8),a2
L415:
	tstl a2
	jne L417
	jra L416
L417:
	subqw #6,a2
	movel a2@(2),d2
	movel a2,sp@-
	jbsr _FreeVec
	addqw #4,sp
	movel d2,a2
	jra L415
L416:
	clrl d0
	jra L414
L414:
	movel a5@(-8),d2
	movel a5@(-4),a2
	unlk a5
	rts
	.even
_inflate_codes:
	link a5,#-24
	moveml #0x3e00,sp@-
	movel _bb,d3
	movel _bk,d4
	movel _outcnt,a5@(-12)
	movel a5@(16),d0
	movel d0,d1
	movel d1,d0
	addl d0,d0
	lea _mask_bits,a0
	clrl d1
	movew a0@(d0:l),d1
	movel d1,a5@(-20)
	movel a5@(20),d0
	movel d0,d1
	movel d1,d0
	addl d0,d0
	lea _mask_bits,a0
	clrl d1
	movew a0@(d0:l),d1
	movel d1,a5@(-24)
L419:
L422:
	cmpl a5@(16),d4
	jcs L424
	jra L423
L424:
	movel _inptr,d6
	cmpl _insize,d6
	jcc L425
	movel _inbuf,a0
	addl _inptr,a0
	clrl d0
	moveb a0@,d0
	asll d4,d0
	orl d0,d3
	addql #1,_inptr
	jra L426
L425:
	jbsr _fill_inbuf
	clrl d1
	moveb d0,d1
	movel d1,d0
	asll d4,d0
	orl d0,d3
L426:
	addql #8,d4
	jra L422
L423:
	movel d3,d0
	andl a5@(-20),d0
	movel d0,d5
	movel d5,d1
	addl d1,d1
	addl d0,d1
	movel d1,d0
	addl d0,d0
	movel d0,d1
	addl a5@(8),d1
	movel d1,a0
	movel a0,a5@(-16)
	clrl d2
	moveb a0@,d2
	movel d2,d0
	moveq #16,d6
	cmpl d0,d6
	jcc L427
L428:
	moveq #99,d6
	cmpl d2,d6
	jne L431
	moveq #1,d0
	jra L418
L431:
	movel a5@(-16),a0
	clrl d0
	moveb a0@(1),d0
	lsrl d0,d3
	movel a5@(-16),a0
	clrl d0
	moveb a0@(1),d0
	subl d0,d4
	moveq #-16,d6
	addl d6,d2
L432:
	cmpl d4,d2
	jhi L434
	jra L433
L434:
	movel _inptr,d6
	cmpl _insize,d6
	jcc L435
	movel _inbuf,a0
	addl _inptr,a0
	clrl d0
	moveb a0@,d0
	asll d4,d0
	orl d0,d3
	addql #1,_inptr
	jra L436
L435:
	jbsr _fill_inbuf
	clrl d1
	moveb d0,d1
	movel d1,d0
	asll d4,d0
	orl d0,d3
L436:
	addql #8,d4
	jra L432
L433:
L430:
	movel a5@(-16),a0
	movel d2,d1
	movel d1,d0
	addl d0,d0
	lea _mask_bits,a1
	clrl d1
	movew a1@(d0:l),d1
	movel d3,d0
	andl d1,d0
	movel d0,d5
	movel d5,d1
	addl d1,d1
	addl d0,d1
	movel d1,d0
	addl d0,d0
	movel d0,d1
	addl a0@(2),d1
	movel d1,a0
	movel a0,a5@(-16)
	clrl d2
	moveb a0@,d2
	movel d2,d0
	moveq #16,d6
	cmpl d0,d6
	jcs L437
	jra L429
L437:
	jra L428
L429:
L427:
	movel a5@(-16),a0
	clrl d0
	moveb a0@(1),d0
	lsrl d0,d3
	movel a5@(-16),a0
	clrl d0
	moveb a0@(1),d0
	subl d0,d4
	moveq #16,d6
	cmpl d2,d6
	jne L438
	movel _window,a0
	addl a5@(-12),a0
	movel a5@(-16),a1
	moveb a1@(3),a0@
	addql #1,a5@(-12)
	cmpl #32768,a5@(-12)
	jne L439
	movel a5@(-12),_outcnt
	jbsr _flush_window
	clrl a5@(-12)
L439:
	jra L440
L438:
	moveq #15,d6
	cmpl d2,d6
	jne L441
	jra L420
L441:
L442:
	cmpl d4,d2
	jhi L444
	jra L443
L444:
	movel _inptr,d6
	cmpl _insize,d6
	jcc L445
	movel _inbuf,a0
	addl _inptr,a0
	clrl d0
	moveb a0@,d0
	asll d4,d0
	orl d0,d3
	addql #1,_inptr
	jra L446
L445:
	jbsr _fill_inbuf
	clrl d1
	moveb d0,d1
	movel d1,d0
	asll d4,d0
	orl d0,d3
L446:
	addql #8,d4
	jra L442
L443:
	movel a5@(-16),a0
	clrl d0
	movew a0@(2),d0
	movel d2,d5
	movel d5,d1
	addl d1,d1
	lea _mask_bits,a0
	clrl d5
	movew a0@(d1:l),d5
	movel d3,d1
	andl d5,d1
	movel d0,d6
	addl d1,d6
	movel d6,a5@(-4)
	lsrl d2,d3
	subl d2,d4
L447:
	cmpl a5@(20),d4
	jcs L449
	jra L448
L449:
	movel _inptr,d6
	cmpl _insize,d6
	jcc L450
	movel _inbuf,a0
	addl _inptr,a0
	clrl d0
	moveb a0@,d0
	asll d4,d0
	orl d0,d3
	addql #1,_inptr
	jra L451
L450:
	jbsr _fill_inbuf
	clrl d1
	moveb d0,d1
	movel d1,d0
	asll d4,d0
	orl d0,d3
L451:
	addql #8,d4
	jra L447
L448:
	movel d3,d0
	andl a5@(-24),d0
	movel d0,d5
	movel d5,d1
	addl d1,d1
	addl d0,d1
	movel d1,d0
	addl d0,d0
	movel d0,d1
	addl a5@(12),d1
	movel d1,a0
	movel a0,a5@(-16)
	clrl d2
	moveb a0@,d2
	movel d2,d0
	moveq #16,d6
	cmpl d0,d6
	jcc L452
L453:
	moveq #99,d6
	cmpl d2,d6
	jne L456
	moveq #1,d0
	jra L418
L456:
	movel a5@(-16),a0
	clrl d0
	moveb a0@(1),d0
	lsrl d0,d3
	movel a5@(-16),a0
	clrl d0
	moveb a0@(1),d0
	subl d0,d4
	moveq #-16,d6
	addl d6,d2
L457:
	cmpl d4,d2
	jhi L459
	jra L458
L459:
	movel _inptr,d6
	cmpl _insize,d6
	jcc L460
	movel _inbuf,a0
	addl _inptr,a0
	clrl d0
	moveb a0@,d0
	asll d4,d0
	orl d0,d3
	addql #1,_inptr
	jra L461
L460:
	jbsr _fill_inbuf
	clrl d1
	moveb d0,d1
	movel d1,d0
	asll d4,d0
	orl d0,d3
L461:
	addql #8,d4
	jra L457
L458:
L455:
	movel a5@(-16),a0
	movel d2,d1
	movel d1,d0
	addl d0,d0
	lea _mask_bits,a1
	clrl d1
	movew a1@(d0:l),d1
	movel d3,d0
	andl d1,d0
	movel d0,d5
	movel d5,d1
	addl d1,d1
	addl d0,d1
	movel d1,d0
	addl d0,d0
	movel d0,d1
	addl a0@(2),d1
	movel d1,a0
	movel a0,a5@(-16)
	clrl d2
	moveb a0@,d2
	movel d2,d0
	moveq #16,d6
	cmpl d0,d6
	jcs L462
	jra L454
L462:
	jra L453
L454:
L452:
	movel a5@(-16),a0
	clrl d0
	moveb a0@(1),d0
	lsrl d0,d3
	movel a5@(-16),a0
	clrl d0
	moveb a0@(1),d0
	subl d0,d4
L463:
	cmpl d4,d2
	jhi L465
	jra L464
L465:
	movel _inptr,d6
	cmpl _insize,d6
	jcc L466
	movel _inbuf,a0
	addl _inptr,a0
	clrl d0
	moveb a0@,d0
	asll d4,d0
	orl d0,d3
	addql #1,_inptr
	jra L467
L466:
	jbsr _fill_inbuf
	clrl d1
	moveb d0,d1
	movel d1,d0
	asll d4,d0
	orl d0,d3
L467:
	addql #8,d4
	jra L463
L464:
	movel a5@(-16),a0
	clrl d0
	movew a0@(2),d0
	movel a5@(-12),d6
	subl d0,d6
	movel d6,d0
	movel d2,d5
	movel d5,d1
	addl d1,d1
	lea _mask_bits,a0
	clrl d5
	movew a0@(d1:l),d5
	movel d3,d1
	andl d5,d1
	movel d0,d6
	subl d1,d6
	movel d6,a5@(-8)
	lsrl d2,d3
	subl d2,d4
L468:
	movel a5@(-8),d0
	andl #32767,d0
	movel d0,d1
	movel d1,a5@(-8)
	cmpl a5@(-12),d1
	jls L473
	movel #32768,d2
	subl a5@(-8),d2
	jra L474
L473:
	movel #32768,d2
	subl a5@(-12),d2
L474:
	movel d2,d0
	cmpl a5@(-4),d0
	jls L471
	movel a5@(-4),d0
	jra L472
L471:
	movel d2,d0
L472:
	movel d0,d2
	subl d0,a5@(-4)
	movel a5@(-12),d0
	subl a5@(-8),d0
	cmpl d0,d2
	jhi L475
	movel d2,sp@-
	movel _window,d0
	addl a5@(-8),d0
	movel d0,sp@-
	movel _window,d0
	addl a5@(-12),d0
	movel d0,sp@-
	jbsr _memcpy
	addqw #8,sp
	addqw #4,sp
	addl d2,a5@(-12)
	addl d2,a5@(-8)
	jra L476
L475:
	nop
L477:
	movel _window,a0
	addl a5@(-12),a0
	movel _window,a1
	addl a5@(-8),a1
	moveb a1@,a0@
	addql #1,a5@(-8)
	addql #1,a5@(-12)
L479:
	subql #1,d2
	tstl d2
	jne L480
	jra L478
L480:
	jra L477
L478:
L476:
	cmpl #32768,a5@(-12)
	jne L481
	movel a5@(-12),_outcnt
	jbsr _flush_window
	clrl a5@(-12)
L481:
L470:
	tstl a5@(-4)
	jne L482
	jra L469
L482:
	jra L468
L469:
L440:
L421:
	jra L419
L420:
	movel a5@(-12),_outcnt
	movel d3,_bb
	movel d4,_bk
	clrl d0
	jra L418
L418:
	moveml a5@(-44),#0x7c
	unlk a5
	rts
	.even
_inflate_stored:
	link a5,#-8
	moveml #0x3800,sp@-
	movel _bb,d2
	movel _bk,d3
	movel _outcnt,a5@(-8)
	moveq #7,d4
	andl d3,d4
	movel d4,a5@(-4)
	movel a5@(-4),d4
	lsrl d4,d2
	subl a5@(-4),d3
L484:
	moveq #15,d4
	cmpl d3,d4
	jcc L486
	jra L485
L486:
	movel _inptr,d4
	cmpl _insize,d4
	jcc L487
	movel _inbuf,a0
	addl _inptr,a0
	clrl d0
	moveb a0@,d0
	asll d3,d0
	orl d0,d2
	addql #1,_inptr
	jra L488
L487:
	jbsr _fill_inbuf
	clrl d1
	moveb d0,d1
	movel d1,d0
	asll d3,d0
	orl d0,d2
L488:
	addql #8,d3
	jra L484
L485:
	movel d2,d4
	andl #65535,d4
	movel d4,a5@(-4)
	clrw d2
	swap d2
	moveq #-16,d4
	addl d4,d3
L489:
	moveq #15,d4
	cmpl d3,d4
	jcc L491
	jra L490
L491:
	movel _inptr,d4
	cmpl _insize,d4
	jcc L492
	movel _inbuf,a0
	addl _inptr,a0
	clrl d0
	moveb a0@,d0
	asll d3,d0
	orl d0,d2
	addql #1,_inptr
	jra L493
L492:
	jbsr _fill_inbuf
	clrl d1
	moveb d0,d1
	movel d1,d0
	asll d3,d0
	orl d0,d2
L493:
	addql #8,d3
	jra L489
L490:
	movel d2,d0
	notl d0
	movel d0,d1
	andl #65535,d1
	cmpl a5@(-4),d1
	jeq L494
	moveq #1,d0
	jra L483
L494:
	clrw d2
	swap d2
	moveq #-16,d4
	addl d4,d3
L495:
	subql #1,a5@(-4)
	moveq #-1,d4
	cmpl a5@(-4),d4
	jne L497
	jra L496
L497:
L498:
	moveq #7,d4
	cmpl d3,d4
	jcc L500
	jra L499
L500:
	movel _inptr,d4
	cmpl _insize,d4
	jcc L501
	movel _inbuf,a0
	addl _inptr,a0
	clrl d0
	moveb a0@,d0
	asll d3,d0
	orl d0,d2
	addql #1,_inptr
	jra L502
L501:
	jbsr _fill_inbuf
	clrl d1
	moveb d0,d1
	movel d1,d0
	asll d3,d0
	orl d0,d2
L502:
	addql #8,d3
	jra L498
L499:
	movel _window,a0
	addl a5@(-8),a0
	moveb d2,a0@
	addql #1,a5@(-8)
	cmpl #32768,a5@(-8)
	jne L503
	movel a5@(-8),_outcnt
	jbsr _flush_window
	clrl a5@(-8)
L503:
	lsrl #8,d2
	subql #8,d3
	jra L495
L496:
	movel a5@(-8),_outcnt
	movel d2,_bb
	movel d3,_bk
	clrl d0
	jra L483
L483:
	moveml a5@(-20),#0x1c
	unlk a5
	rts
	.even
_inflate_fixed:
	link a5,#-1172
	movel d2,sp@-
	nop
	clrl a5@(-4)
L505:
	cmpl #143,a5@(-4)
	jle L508
	jra L506
L508:
	movel a5@(-4),d0
	movel d0,d1
	movel d1,d0
	asll #2,d0
	lea a5@(0,d0:l),a0
	moveq #8,d2
	movel d2,a0@(-1172)
L507:
	addql #1,a5@(-4)
	jra L505
L506:
	nop
L509:
	cmpl #255,a5@(-4)
	jle L512
	jra L510
L512:
	movel a5@(-4),d0
	movel d0,d1
	movel d1,d0
	asll #2,d0
	lea a5@(0,d0:l),a0
	moveq #9,d2
	movel d2,a0@(-1172)
L511:
	addql #1,a5@(-4)
	jra L509
L510:
	nop
L513:
	cmpl #279,a5@(-4)
	jle L516
	jra L514
L516:
	movel a5@(-4),d0
	movel d0,d1
	movel d1,d0
	asll #2,d0
	lea a5@(0,d0:l),a0
	moveq #7,d2
	movel d2,a0@(-1172)
L515:
	addql #1,a5@(-4)
	jra L513
L514:
	nop
L517:
	cmpl #287,a5@(-4)
	jle L520
	jra L518
L520:
	movel a5@(-4),d0
	movel d0,d1
	movel d1,d0
	asll #2,d0
	lea a5@(0,d0:l),a0
	moveq #8,d2
	movel d2,a0@(-1172)
L519:
	addql #1,a5@(-4)
	jra L517
L518:
	moveq #7,d2
	movel d2,a5@(-16)
	lea a5@(-16),a0
	movel a0,sp@-
	lea a5@(-8),a0
	movel a0,sp@-
	pea _cplext
	pea _cplens
	pea 257:w
	pea 288:w
	lea a5@(-1172),a0
	movel a0,sp@-
	jbsr _huft_build
	addw #28,sp
	movel d0,a5@(-4)
	tstl a5@(-4)
	jeq L521
	movel a5@(-4),d0
	jra L504
L521:
	nop
	clrl a5@(-4)
L522:
	moveq #29,d2
	cmpl a5@(-4),d2
	jge L525
	jra L523
L525:
	movel a5@(-4),d0
	movel d0,d1
	movel d1,d0
	asll #2,d0
	lea a5@(0,d0:l),a0
	moveq #5,d2
	movel d2,a0@(-1172)
L524:
	addql #1,a5@(-4)
	jra L522
L523:
	moveq #5,d2
	movel d2,a5@(-20)
	lea a5@(-20),a0
	movel a0,sp@-
	lea a5@(-12),a0
	movel a0,sp@-
	pea _cpdext
	pea _cpdist
	clrl sp@-
	pea 30:w
	lea a5@(-1172),a0
	movel a0,sp@-
	jbsr _huft_build
	addw #28,sp
	movel d0,a5@(-4)
	moveq #1,d2
	cmpl a5@(-4),d2
	jge L526
	movel a5@(-8),sp@-
	jbsr _huft_free
	addqw #4,sp
	movel a5@(-4),d0
	jra L504
L526:
	movel a5@(-20),sp@-
	movel a5@(-16),sp@-
	movel a5@(-12),sp@-
	movel a5@(-8),sp@-
	jbsr _inflate_codes
	addqw #8,sp
	addqw #8,sp
	tstl d0
	jeq L527
	moveq #1,d0
	jra L504
L527:
	movel a5@(-8),sp@-
	jbsr _huft_free
	addqw #4,sp
	movel a5@(-12),sp@-
	jbsr _huft_free
	addqw #4,sp
	clrl d0
	jra L504
L504:
	movel a5@(-1176),d2
	unlk a5
	rts
LC134:
	.ascii " incomplete literal tree\12\0"
LC135:
	.ascii " incomplete distance tree\12\0"
	.even
_inflate_dynamic:
	link a5,#-1312
	moveml #0x3c00,sp@-
	movel _bb,d2
	movel _bk,d3
L529:
	moveq #4,d5
	cmpl d3,d5
	jcc L531
	jra L530
L531:
	movel _inptr,d5
	cmpl _insize,d5
	jcc L532
	movel _inbuf,a0
	addl _inptr,a0
	clrl d0
	moveb a0@,d0
	asll d3,d0
	orl d0,d2
	addql #1,_inptr
	jra L533
L532:
	jbsr _fill_inbuf
	clrl d1
	moveb d0,d1
	movel d1,d0
	asll d3,d0
	orl d0,d2
L533:
	addql #8,d3
	jra L529
L530:
	moveq #31,d0
	andl d2,d0
	movel d0,d5
	addl #257,d5
	movel d5,a5@(-44)
	lsrl #5,d2
	subql #5,d3
L534:
	moveq #4,d5
	cmpl d3,d5
	jcc L536
	jra L535
L536:
	movel _inptr,d5
	cmpl _insize,d5
	jcc L537
	movel _inbuf,a0
	addl _inptr,a0
	clrl d0
	moveb a0@,d0
	asll d3,d0
	orl d0,d2
	addql #1,_inptr
	jra L538
L537:
	jbsr _fill_inbuf
	clrl d1
	moveb d0,d1
	movel d1,d0
	asll d3,d0
	orl d0,d2
L538:
	addql #8,d3
	jra L534
L535:
	moveq #31,d0
	andl d2,d0
	movel d0,d5
	addql #1,d5
	movel d5,a5@(-48)
	lsrl #5,d2
	subql #5,d3
L539:
	moveq #3,d5
	cmpl d3,d5
	jcc L541
	jra L540
L541:
	movel _inptr,d5
	cmpl _insize,d5
	jcc L542
	movel _inbuf,a0
	addl _inptr,a0
	clrl d0
	moveb a0@,d0
	asll d3,d0
	orl d0,d2
	addql #1,_inptr
	jra L543
L542:
	jbsr _fill_inbuf
	clrl d1
	moveb d0,d1
	movel d1,d0
	asll d3,d0
	orl d0,d2
L543:
	addql #8,d3
	jra L539
L540:
	moveq #15,d0
	andl d2,d0
	movel d0,d5
	addql #4,d5
	movel d5,a5@(-40)
	lsrl #4,d2
	subql #4,d3
	cmpl #286,a5@(-44)
	jhi L545
	moveq #30,d5
	cmpl a5@(-48),d5
	jcs L545
	jra L544
L545:
	moveq #1,d0
	jra L528
L544:
	nop
	clrl a5@(-8)
L546:
	movel a5@(-8),d5
	cmpl a5@(-40),d5
	jcs L549
	jra L547
L549:
L550:
	moveq #2,d5
	cmpl d3,d5
	jcc L552
	jra L551
L552:
	movel _inptr,d5
	cmpl _insize,d5
	jcc L553
	movel _inbuf,a0
	addl _inptr,a0
	clrl d0
	moveb a0@,d0
	asll d3,d0
	orl d0,d2
	addql #1,_inptr
	jra L554
L553:
	jbsr _fill_inbuf
	clrl d1
	moveb d0,d1
	movel d1,d0
	asll d3,d0
	orl d0,d2
L554:
	addql #8,d3
	jra L550
L551:
	movel a5@(-8),d0
	movel d0,d1
	movel d1,d0
	asll #2,d0
	lea _border,a0
	movel a0@(d0:l),d0
	movel d0,d1
	movel d1,d0
	asll #2,d0
	lea a5@(0,d0:l),a0
	moveq #7,d5
	andl d2,d5
	movel d5,a0@(-1312)
	lsrl #3,d2
	subql #3,d3
L548:
	addql #1,a5@(-8)
	jra L546
L547:
	nop
L555:
	moveq #18,d5
	cmpl a5@(-8),d5
	jcc L558
	jra L556
L558:
	movel a5@(-8),d0
	movel d0,d1
	movel d1,d0
	asll #2,d0
	lea _border,a0
	movel a0@(d0:l),d0
	movel d0,d1
	movel d1,d0
	asll #2,d0
	lea a5@(0,d0:l),a0
	clrl a0@(-1312)
L557:
	addql #1,a5@(-8)
	jra L555
L556:
	moveq #7,d5
	movel d5,a5@(-32)
	lea a5@(-32),a0
	movel a0,sp@-
	lea a5@(-24),a0
	movel a0,sp@-
	clrl sp@-
	clrl sp@-
	pea 19:w
	pea 19:w
	lea a5@(-1312),a0
	movel a0,sp@-
	jbsr _huft_build
	addw #28,sp
	movel d0,a5@(-4)
	tstl a5@(-4)
	jeq L559
	moveq #1,d5
	cmpl a5@(-4),d5
	jne L560
	movel a5@(-24),sp@-
	jbsr _huft_free
	addqw #4,sp
L560:
	movel a5@(-4),d0
	jra L528
L559:
	movel a5@(-44),d5
	addl a5@(-48),d5
	movel d5,a5@(-20)
	movel a5@(-32),d0
	movel d0,d1
	movel d1,d0
	addl d0,d0
	lea _mask_bits,a0
	clrl d1
	movew a0@(d0:l),d1
	movel d1,a5@(-16)
	clrl a5@(-12)
	clrl a5@(-4)
L561:
	movel a5@(-4),d5
	cmpl a5@(-20),d5
	jcs L563
	jra L562
L563:
L564:
	cmpl a5@(-32),d3
	jcs L566
	jra L565
L566:
	movel _inptr,d5
	cmpl _insize,d5
	jcc L567
	movel _inbuf,a0
	addl _inptr,a0
	clrl d0
	moveb a0@,d0
	asll d3,d0
	orl d0,d2
	addql #1,_inptr
	jra L568
L567:
	jbsr _fill_inbuf
	clrl d1
	moveb d0,d1
	movel d1,d0
	asll d3,d0
	orl d0,d2
L568:
	addql #8,d3
	jra L564
L565:
	movel d2,d0
	andl a5@(-16),d0
	movel d0,d4
	movel d4,d1
	addl d1,d1
	addl d0,d1
	movel d1,d0
	addl d0,d0
	movel d0,d1
	addl a5@(-24),d1
	movel d1,a0
	movel a0,a5@(-28)
	clrl d0
	moveb a0@(1),d0
	movel d0,a5@(-8)
	movel a5@(-8),d5
	lsrl d5,d2
	subl a5@(-8),d3
	movel a5@(-28),a0
	clrl d0
	movew a0@(2),d0
	movel d0,a5@(-8)
	moveq #15,d5
	cmpl a5@(-8),d5
	jcs L569
	movel a5@(-4),d0
	movel d0,d1
	movel d1,d0
	asll #2,d0
	lea a5@(0,d0:l),a0
	movel a5@(-8),d0
	movel d0,a5@(-12)
	movel d0,a0@(-1312)
	addql #1,a5@(-4)
	jra L570
L569:
	moveq #16,d5
	cmpl a5@(-8),d5
	jne L571
L572:
	moveq #1,d5
	cmpl d3,d5
	jcc L574
	jra L573
L574:
	movel _inptr,d5
	cmpl _insize,d5
	jcc L575
	movel _inbuf,a0
	addl _inptr,a0
	clrl d0
	moveb a0@,d0
	asll d3,d0
	orl d0,d2
	addql #1,_inptr
	jra L576
L575:
	jbsr _fill_inbuf
	clrl d1
	moveb d0,d1
	movel d1,d0
	asll d3,d0
	orl d0,d2
L576:
	addql #8,d3
	jra L572
L573:
	moveq #3,d0
	andl d2,d0
	movel d0,d5
	addql #3,d5
	movel d5,a5@(-8)
	lsrl #2,d2
	subql #2,d3
	movel a5@(-4),d0
	addl a5@(-8),d0
	cmpl a5@(-20),d0
	jls L577
	moveq #1,d0
	jra L528
L577:
	nop
L578:
	subql #1,a5@(-8)
	moveq #-1,d5
	cmpl a5@(-8),d5
	jne L580
	jra L579
L580:
	movel a5@(-4),d0
	movel d0,d1
	movel d1,d0
	asll #2,d0
	lea a5@(0,d0:l),a0
	movel a5@(-12),a0@(-1312)
	addql #1,a5@(-4)
	jra L578
L579:
	jra L581
L571:
	moveq #17,d5
	cmpl a5@(-8),d5
	jne L582
L583:
	moveq #2,d5
	cmpl d3,d5
	jcc L585
	jra L584
L585:
	movel _inptr,d5
	cmpl _insize,d5
	jcc L586
	movel _inbuf,a0
	addl _inptr,a0
	clrl d0
	moveb a0@,d0
	asll d3,d0
	orl d0,d2
	addql #1,_inptr
	jra L587
L586:
	jbsr _fill_inbuf
	clrl d1
	moveb d0,d1
	movel d1,d0
	asll d3,d0
	orl d0,d2
L587:
	addql #8,d3
	jra L583
L584:
	moveq #7,d0
	andl d2,d0
	movel d0,d5
	addql #3,d5
	movel d5,a5@(-8)
	lsrl #3,d2
	subql #3,d3
	movel a5@(-4),d0
	addl a5@(-8),d0
	cmpl a5@(-20),d0
	jls L588
	moveq #1,d0
	jra L528
L588:
	nop
L589:
	subql #1,a5@(-8)
	moveq #-1,d5
	cmpl a5@(-8),d5
	jne L591
	jra L590
L591:
	movel a5@(-4),d0
	movel d0,d1
	movel d1,d0
	asll #2,d0
	lea a5@(0,d0:l),a0
	clrl a0@(-1312)
	addql #1,a5@(-4)
	jra L589
L590:
	clrl a5@(-12)
	jra L592
L582:
L593:
	moveq #6,d5
	cmpl d3,d5
	jcc L595
	jra L594
L595:
	movel _inptr,d5
	cmpl _insize,d5
	jcc L596
	movel _inbuf,a0
	addl _inptr,a0
	clrl d0
	moveb a0@,d0
	asll d3,d0
	orl d0,d2
	addql #1,_inptr
	jra L597
L596:
	jbsr _fill_inbuf
	clrl d1
	moveb d0,d1
	movel d1,d0
	asll d3,d0
	orl d0,d2
L597:
	addql #8,d3
	jra L593
L594:
	moveq #127,d0
	andl d2,d0
	moveq #11,d5
	addl d0,d5
	movel d5,a5@(-8)
	lsrl #7,d2
	subql #7,d3
	movel a5@(-4),d0
	addl a5@(-8),d0
	cmpl a5@(-20),d0
	jls L598
	moveq #1,d0
	jra L528
L598:
	nop
L599:
	subql #1,a5@(-8)
	moveq #-1,d5
	cmpl a5@(-8),d5
	jne L601
	jra L600
L601:
	movel a5@(-4),d0
	movel d0,d1
	movel d1,d0
	asll #2,d0
	lea a5@(0,d0:l),a0
	clrl a0@(-1312)
	addql #1,a5@(-4)
	jra L599
L600:
	clrl a5@(-12)
L592:
L581:
L570:
	jra L561
L562:
	movel a5@(-24),sp@-
	jbsr _huft_free
	addqw #4,sp
	movel d2,_bb
	movel d3,_bk
	movel _lbits,a5@(-32)
	lea a5@(-32),a0
	movel a0,sp@-
	lea a5@(-24),a0
	movel a0,sp@-
	pea _cplext
	pea _cplens
	pea 257:w
	movel a5@(-44),sp@-
	lea a5@(-1312),a0
	movel a0,sp@-
	jbsr _huft_build
	addw #28,sp
	movel d0,a5@(-4)
	tstl a5@(-4)
	jeq L602
	moveq #1,d5
	cmpl a5@(-4),d5
	jne L603
	pea LC134
	jbsr _error
	addqw #4,sp
	movel a5@(-24),sp@-
	jbsr _huft_free
	addqw #4,sp
L603:
	movel a5@(-4),d0
	jra L528
L602:
	movel _dbits,a5@(-36)
	lea a5@(-36),a0
	movel a0,sp@-
	lea a5@(-28),a0
	movel a0,sp@-
	pea _cpdext
	pea _cpdist
	clrl sp@-
	movel a5@(-48),sp@-
	lea a5@(-1312),a0
	movel a5@(-44),d0
	movel d0,d1
	movel d1,d0
	asll #2,d0
	addl d0,a0
	movel a0,sp@-
	jbsr _huft_build
	addw #28,sp
	movel d0,a5@(-4)
	tstl a5@(-4)
	jeq L604
	moveq #1,d5
	cmpl a5@(-4),d5
	jne L605
	pea LC135
	jbsr _error
	addqw #4,sp
	movel a5@(-28),sp@-
	jbsr _huft_free
	addqw #4,sp
L605:
	movel a5@(-24),sp@-
	jbsr _huft_free
	addqw #4,sp
	movel a5@(-4),d0
	jra L528
L604:
	movel a5@(-36),sp@-
	movel a5@(-32),sp@-
	movel a5@(-28),sp@-
	movel a5@(-24),sp@-
	jbsr _inflate_codes
	addqw #8,sp
	addqw #8,sp
	tstl d0
	jeq L606
	moveq #1,d0
	jra L528
L606:
	movel a5@(-24),sp@-
	jbsr _huft_free
	addqw #4,sp
	movel a5@(-28),sp@-
	jbsr _huft_free
	addqw #4,sp
	clrl d0
	jra L528
L528:
	moveml a5@(-1328),#0x3c
	unlk a5
	rts
	.even
_inflate_block:
	link a5,#-4
	moveml #0x3800,sp@-
	movel _bb,d2
	movel _bk,d3
L608:
	tstl d3
	jeq L610
	jra L609
L610:
	movel _inptr,d4
	cmpl _insize,d4
	jcc L611
	movel _inbuf,a0
	addl _inptr,a0
	clrl d0
	moveb a0@,d0
	asll d3,d0
	orl d0,d2
	addql #1,_inptr
	jra L612
L611:
	jbsr _fill_inbuf
	clrl d1
	moveb d0,d1
	movel d1,d0
	asll d3,d0
	orl d0,d2
L612:
	addql #8,d3
	jra L608
L609:
	movel a5@(8),a0
	moveq #1,d4
	andl d2,d4
	movel d4,a0@
	lsrl #1,d2
	subql #1,d3
L613:
	moveq #1,d4
	cmpl d3,d4
	jcc L615
	jra L614
L615:
	movel _inptr,d4
	cmpl _insize,d4
	jcc L616
	movel _inbuf,a0
	addl _inptr,a0
	clrl d0
	moveb a0@,d0
	asll d3,d0
	orl d0,d2
	addql #1,_inptr
	jra L617
L616:
	jbsr _fill_inbuf
	clrl d1
	moveb d0,d1
	movel d1,d0
	asll d3,d0
	orl d0,d2
L617:
	addql #8,d3
	jra L613
L614:
	moveq #3,d4
	andl d2,d4
	movel d4,a5@(-4)
	lsrl #2,d2
	subql #2,d3
	movel d2,_bb
	movel d3,_bk
	moveq #2,d4
	cmpl a5@(-4),d4
	jne L618
	jbsr _inflate_dynamic
	movel d0,d1
	movel d1,d0
	jra L607
L618:
	tstl a5@(-4)
	jne L619
	jbsr _inflate_stored
	movel d0,d1
	movel d1,d0
	jra L607
L619:
	moveq #1,d4
	cmpl a5@(-4),d4
	jne L620
	jbsr _inflate_fixed
	movel d0,d1
	movel d1,d0
	jra L607
L620:
	moveq #2,d0
	jra L607
L607:
	moveml a5@(-16),#0x1c
	unlk a5
	rts
	.even
_inflate:
	link a5,#-16
	clrl _outcnt
	clrl _bk
	clrl _bb
	clrl a5@(-12)
L622:
	clrl _hufts
	lea a5@(-16),a0
	movel a0,sp@-
	jbsr _gzip_mark
	addqw #4,sp
	lea a5@(-4),a0
	movel a0,sp@-
	jbsr _inflate_block
	addqw #4,sp
	movel d0,a5@(-8)
	tstl a5@(-8)
	jeq L625
	lea a5@(-16),a0
	movel a0,sp@-
	jbsr _gzip_release
	addqw #4,sp
	movel a5@(-8),d0
	jra L621
L625:
	lea a5@(-16),a0
	movel a0,sp@-
	jbsr _gzip_release
	addqw #4,sp
	movel _hufts,d1
	cmpl a5@(-12),d1
	jls L626
	movel _hufts,a5@(-12)
L626:
L624:
	tstl a5@(-4)
	jeq L627
	jra L623
L627:
	jra L622
L623:
	nop
L628:
	moveq #7,d1
	cmpl _bk,d1
	jcs L630
	jra L629
L630:
	subql #8,_bk
	subql #1,_inptr
	jra L628
L629:
	jbsr _flush_window
	clrl d0
	jra L621
L621:
	unlk a5
	rts
.data
	.even
_crc:
	.long -1
	.even
_p.82:
	.long 0
	.long 1
	.long 2
	.long 4
	.long 5
	.long 7
	.long 8
	.long 10
	.long 11
	.long 12
	.long 16
	.long 22
	.long 23
	.long 26
.text
	.even
_makecrc:
	link a5,#-16
	movel d2,sp@-
	clrl a5@(-8)
	clrl a5@(-12)
L632:
	moveq #13,d2
	cmpl a5@(-12),d2
	jcc L635
	jra L633
L635:
	movel a5@(-12),d0
	movel d0,d1
	movel d1,d0
	asll #2,d0
	lea _p.82,a0
	moveq #31,d2
	subl a0@(d0:l),d2
	movel d2,d0
	moveq #1,d1
	movel d1,d2
	asll d0,d2
	movel d2,d0
	orl d0,a5@(-8)
L634:
	addql #1,a5@(-12)
	jra L632
L633:
	clrl _crc_32_tab
	moveq #1,d2
	movel d2,a5@(-12)
L636:
	cmpl #255,a5@(-12)
	jle L639
	jra L637
L639:
	clrl a5@(-4)
	movel a5@(-12),d2
	orw #256,d2
	movel d2,a5@(-16)
L640:
	moveq #1,d2
	cmpl a5@(-16),d2
	jne L643
	jra L641
L643:
	movel a5@(-4),d1
	movel d1,d0
	lsrl #1,d0
	moveq #1,d1
	andl a5@(-4),d1
	tstl d1
	jeq L644
	movel a5@(-8),d2
	eorl d2,d0
L644:
	movel d0,a5@(-4)
	moveq #1,d0
	andl a5@(-16),d0
	tstl d0
	jeq L645
	movel a5@(-8),d2
	eorl d2,a5@(-4)
L645:
L642:
	movel a5@(-16),d0
	movel d0,d1
	asrl #1,d1
	movel d1,a5@(-16)
	jra L640
L641:
	movel a5@(-12),d0
	movel d0,d1
	movel d1,d0
	asll #2,d0
	lea _crc_32_tab,a0
	movel a5@(-4),a0@(d0:l)
L638:
	addql #1,a5@(-12)
	jra L636
L637:
L631:
	movel a5@(-20),d2
	unlk a5
	rts
LC136:
	.ascii "bad gzip magic numbers\0"
LC137:
	.ascii "internal error, invalid method\0"
LC138:
	.ascii "Input is encrypted\12\0"
LC139:
	.ascii "Multi part input\12\0"
LC140:
	.ascii "Input has invalid flags\12\0"
LC141:
	.ascii "invalid compressed format (err=1)\0"
LC142:
	.ascii "invalid compressed format (err=2)\0"
LC143:
	.ascii "out of memory\0"
LC144:
	.ascii "invalid compressed format (other)\0"
LC145:
	.ascii "crc error\0"
LC146:
	.ascii "length error\0"
	.even
_gunzip:
	link a5,#-24
	movel d3,sp@-
	movel d2,sp@-
	clrl a5@(-10)
	clrl a5@(-14)
	movel _inptr,d3
	cmpl _insize,d3
	jcc L647
	movel _inbuf,a0
	addl _inptr,a0
	moveb a0@,d2
	addql #1,_inptr
	jra L648
L647:
	jbsr _fill_inbuf
	moveb d0,d2
L648:
	moveb d2,a5@(-4)
	movel _inptr,d3
	cmpl _insize,d3
	jcc L649
	movel _inbuf,a0
	addl _inptr,a0
	moveb a0@,d2
	addql #1,_inptr
	jra L650
L649:
	jbsr _fill_inbuf
	moveb d0,d2
L650:
	moveb d2,a5@(-3)
	movel _inptr,d3
	cmpl _insize,d3
	jcc L651
	movel _inbuf,a0
	addl _inptr,a0
	moveb a0@,d2
	addql #1,_inptr
	jra L652
L651:
	jbsr _fill_inbuf
	moveb d0,d2
L652:
	moveb d2,a5@(-5)
	cmpb #31,a5@(-4)
	jne L654
	cmpb #139,a5@(-3)
	jeq L653
	cmpb #158,a5@(-3)
	jne L654
	jra L653
L654:
	pea LC136
	jbsr _error
	addqw #4,sp
	moveq #-1,d0
	jra L646
L653:
	cmpb #8,a5@(-5)
	jeq L655
	pea LC137
	jbsr _error
	addqw #4,sp
	moveq #-1,d0
	jra L646
L655:
	movel _inptr,d3
	cmpl _insize,d3
	jcc L656
	movel _inbuf,a0
	addl _inptr,a0
	moveb a0@,d2
	addql #1,_inptr
	jra L657
L656:
	jbsr _fill_inbuf
	moveb d0,d2
L657:
	moveb d2,a5@(-1)
	moveb a5@(-1),d0
	andb #32,d0
	tstb d0
	jeq L658
	pea LC138
	jbsr _error
	addqw #4,sp
	moveq #-1,d0
	jra L646
L658:
	moveb a5@(-1),d0
	andb #2,d0
	tstb d0
	jeq L659
	pea LC139
	jbsr _error
	addqw #4,sp
	moveq #-1,d0
	jra L646
L659:
	moveb a5@(-1),d0
	andb #192,d0
	tstb d0
	jeq L660
	pea LC140
	jbsr _error
	addqw #4,sp
	moveq #-1,d0
	jra L646
L660:
	movel _inptr,d3
	cmpl _insize,d3
	jcc L661
	movel _inbuf,d0
	addl _inptr,d0
	addql #1,_inptr
	jra L662
L661:
	jbsr _fill_inbuf
L662:
	movel _inptr,d3
	cmpl _insize,d3
	jcc L663
	movel _inbuf,d0
	addl _inptr,d0
	addql #1,_inptr
	jra L664
L663:
	jbsr _fill_inbuf
L664:
	movel _inptr,d3
	cmpl _insize,d3
	jcc L665
	movel _inbuf,d0
	addl _inptr,d0
	addql #1,_inptr
	jra L666
L665:
	jbsr _fill_inbuf
L666:
	movel _inptr,d3
	cmpl _insize,d3
	jcc L667
	movel _inbuf,d0
	addl _inptr,d0
	addql #1,_inptr
	jra L668
L667:
	jbsr _fill_inbuf
L668:
	movel _inptr,d3
	cmpl _insize,d3
	jcc L669
	movel _inbuf,d0
	addl _inptr,d0
	addql #1,_inptr
	jra L670
L669:
	jbsr _fill_inbuf
L670:
	movel _inptr,d3
	cmpl _insize,d3
	jcc L671
	movel _inbuf,d0
	addl _inptr,d0
	addql #1,_inptr
	jra L672
L671:
	jbsr _fill_inbuf
L672:
	moveb a5@(-1),d0
	andb #4,d0
	tstb d0
	jeq L673
	movel _inptr,d3
	cmpl _insize,d3
	jcc L674
	movel _inbuf,a0
	addl _inptr,a0
	clrl d2
	moveb a0@,d2
	addql #1,_inptr
	jra L675
L674:
	jbsr _fill_inbuf
	movel d0,d2
L675:
	movel d2,a5@(-22)
	movel _inptr,d3
	cmpl _insize,d3
	jcc L676
	movel _inbuf,a0
	addl _inptr,a0
	clrl d0
	moveb a0@,d0
	asll #8,d0
	movel d0,d2
	orl a5@(-22),d2
	addql #1,_inptr
	jra L677
L676:
	jbsr _fill_inbuf
	movel d0,d1
	asll #8,d1
	movel d1,d2
	orl a5@(-22),d2
L677:
	movel d2,a5@(-22)
L678:
	subql #1,a5@(-22)
	moveq #-1,d3
	cmpl a5@(-22),d3
	jne L680
	jra L679
L680:
	movel _inptr,d3
	cmpl _insize,d3
	jcc L681
	movel _inbuf,d0
	addl _inptr,d0
	addql #1,_inptr
	jra L682
L681:
	jbsr _fill_inbuf
L682:
	jra L678
L679:
L673:
	moveb a5@(-1),d0
	andb #8,d0
	tstb d0
	jeq L683
L684:
	movel _inptr,d3
	cmpl _insize,d3
	jcc L687
	movel _inbuf,a0
	addl _inptr,a0
	addql #1,_inptr
	tstb a0@
	jne L686
	jra L688
L687:
	jbsr _fill_inbuf
	tstl d0
	jne L686
	jra L688
L688:
	jra L685
L686:
	jra L684
L685:
L683:
	moveb a5@(-1),d0
	andb #16,d0
	tstb d0
	jeq L689
L690:
	movel _inptr,d3
	cmpl _insize,d3
	jcc L693
	movel _inbuf,a0
	addl _inptr,a0
	addql #1,_inptr
	tstb a0@
	jne L692
	jra L694
L693:
	jbsr _fill_inbuf
	tstl d0
	jne L692
	jra L694
L694:
	jra L691
L692:
	jra L690
L691:
L689:
	jbsr _inflate
	movel d0,a5@(-18)
	tstl a5@(-18)
	jeq L695
	movel a5@(-18),d0
	moveq #1,d3
	cmpl d0,d3
	jeq L698
	moveq #1,d3
	cmpl d0,d3
	jlt L703
	tstl d0
	jeq L697
	jra L701
L703:
	moveq #2,d3
	cmpl d0,d3
	jeq L699
	moveq #3,d3
	cmpl d0,d3
	jeq L700
	jra L701
L697:
	jra L696
L698:
	pea LC141
	jbsr _error
	addqw #4,sp
	jra L696
L699:
	pea LC142
	jbsr _error
	addqw #4,sp
	jra L696
L700:
	pea LC143
	jbsr _error
	addqw #4,sp
	jra L696
L701:
	pea LC144
	jbsr _error
	addqw #4,sp
L696:
	moveq #-1,d0
	jra L646
L695:
	movel _inptr,d3
	cmpl _insize,d3
	jcc L704
	movel _inbuf,a0
	addl _inptr,a0
	clrl d2
	moveb a0@,d2
	addql #1,_inptr
	jra L705
L704:
	jbsr _fill_inbuf
	movel d0,d2
L705:
	movel d2,a5@(-10)
	movel _inptr,d3
	cmpl _insize,d3
	jcc L706
	movel _inbuf,a0
	addl _inptr,a0
	clrl d0
	moveb a0@,d0
	asll #8,d0
	movel d0,d2
	orl a5@(-10),d2
	addql #1,_inptr
	jra L707
L706:
	jbsr _fill_inbuf
	movel d0,d1
	asll #8,d1
	movel d1,d2
	orl a5@(-10),d2
L707:
	movel d2,a5@(-10)
	movel _inptr,d3
	cmpl _insize,d3
	jcc L708
	movel _inbuf,a0
	addl _inptr,a0
	clrl d0
	moveb a0@,d0
	swap d0
	clrw d0
	movel d0,d2
	orl a5@(-10),d2
	addql #1,_inptr
	jra L709
L708:
	jbsr _fill_inbuf
	movel d0,d1
	swap d1
	clrw d1
	movel d1,d2
	orl a5@(-10),d2
L709:
	movel d2,a5@(-10)
	movel _inptr,d3
	cmpl _insize,d3
	jcc L710
	movel _inbuf,a0
	addl _inptr,a0
	clrl d0
	moveb a0@,d0
	moveq #24,d3
	asll d3,d0
	movel d0,d2
	orl a5@(-10),d2
	addql #1,_inptr
	jra L711
L710:
	jbsr _fill_inbuf
	movel d0,d1
	moveq #24,d3
	asll d3,d1
	movel d1,d2
	orl a5@(-10),d2
L711:
	movel d2,a5@(-10)
	movel _inptr,d3
	cmpl _insize,d3
	jcc L712
	movel _inbuf,a0
	addl _inptr,a0
	clrl d2
	moveb a0@,d2
	addql #1,_inptr
	jra L713
L712:
	jbsr _fill_inbuf
	movel d0,d2
L713:
	movel d2,a5@(-14)
	movel _inptr,d3
	cmpl _insize,d3
	jcc L714
	movel _inbuf,a0
	addl _inptr,a0
	clrl d0
	moveb a0@,d0
	asll #8,d0
	movel d0,d2
	orl a5@(-14),d2
	addql #1,_inptr
	jra L715
L714:
	jbsr _fill_inbuf
	movel d0,d1
	asll #8,d1
	movel d1,d2
	orl a5@(-14),d2
L715:
	movel d2,a5@(-14)
	movel _inptr,d3
	cmpl _insize,d3
	jcc L716
	movel _inbuf,a0
	addl _inptr,a0
	clrl d0
	moveb a0@,d0
	swap d0
	clrw d0
	movel d0,d2
	orl a5@(-14),d2
	addql #1,_inptr
	jra L717
L716:
	jbsr _fill_inbuf
	movel d0,d1
	swap d1
	clrw d1
	movel d1,d2
	orl a5@(-14),d2
L717:
	movel d2,a5@(-14)
	movel _inptr,d3
	cmpl _insize,d3
	jcc L718
	movel _inbuf,a0
	addl _inptr,a0
	clrl d0
	moveb a0@,d0
	moveq #24,d3
	asll d3,d0
	movel d0,d2
	orl a5@(-14),d2
	addql #1,_inptr
	jra L719
L718:
	jbsr _fill_inbuf
	movel d0,d1
	moveq #24,d3
	asll d3,d1
	movel d1,d2
	orl a5@(-14),d2
L719:
	movel d2,a5@(-14)
	movel _crc,d0
	notl d0
	cmpl a5@(-10),d0
	jeq L720
	pea LC145
	jbsr _error
	addqw #4,sp
	moveq #-1,d0
	jra L646
L720:
	movel a5@(-14),d3
	cmpl _bytes_out,d3
	jeq L721
	pea LC146
	jbsr _error
	addqw #4,sp
	moveq #-1,d0
	jra L646
L721:
	clrl d0
	jra L646
L646:
	movel a5@(-32),d2
	movel a5@(-28),d3
	unlk a5
	rts
	.even
_gzip_mark:
	link a5,#0
L722:
	unlk a5
	rts
	.even
_gzip_release:
	link a5,#0
L723:
	unlk a5
	rts
	.even
_fill_inbuf:
	link a5,#0
	movel a2,sp@-
	tstl _exit_code
	jeq L725
	moveq #-1,d0
	jra L724
L725:
	movel _linuxboot_args,a0
	pea 4096:w
	movel _inbuf,sp@-
	movel _Zinfd,sp@-
	movel a0@(1476),a2
	jbsr a2@
	addqw #8,sp
	addqw #4,sp
	movel d0,_insize
	tstl _insize
	jne L726
	moveq #-1,d0
	jra L724
L726:
	moveq #1,d1
	movel d1,_inptr
	movel _inbuf,a0
	clrl d0
	moveb a0@,d0
	jra L724
L724:
	movel a5@(-4),a2
	unlk a5
	rts
LC147:
	.ascii "Compressed image too large! Aborting.\12\0"
LC148:
	.ascii "Out of memory for decompresing kernel image\12\0"
	.even
_flush_window:
	link a5,#-20
	moveml #0x3020,sp@-
	movel _crc,a5@(-4)
	movel _Zwpos,d0
	movel d0,d1
	swap d1
	extl d1
	movel d1,a5@(-18)
	tstl _exit_code
	jeq L728
	jra L727
L728:
	moveq #31,d3
	cmpl a5@(-18),d3
	jge L729
	pea LC147
	jbsr _error
	addqw #4,sp
	jra L727
L729:
	movel a5@(-18),d0
	movel d0,d1
	movel d1,d0
	asll #2,d0
	lea _ZFile,a0
	tstl a0@(d0:l)
	jne L730
	pea 5:w
	movel #65536,sp@-
	jbsr _AllocMem
	addqw #8,sp
	movel a5@(-18),d1
	movel d1,d2
	movel d2,d1
	asll #2,d1
	lea _ZFile,a0
	movel d0,a0@(d1:l)
	tstl d0
	jne L731
	pea LC148
	jbsr _error
	addqw #4,sp
	jra L727
L731:
L730:
	movel _outcnt,sp@-
	movel _window,sp@-
	movel a5@(-18),d0
	movel d0,d1
	movel d1,d0
	asll #2,d0
	lea _ZFile,a0
	movel _Zwpos,d1
	andl #65535,d1
	movel d1,d3
	addl a0@(d0:l),d3
	movel d3,d0
	movel d0,sp@-
	jbsr _memcpy
	addqw #8,sp
	addqw #4,sp
	movel _outcnt,d3
	addl d3,_Zwpos
	movel _Zwpos,d0
	andl #1023,d0
	tstl d0
	jne L732
	movel _linuxboot_args,a0
	pea 46:w
	movel a0@(1460),a2
	jbsr a2@
	addqw #4,sp
L732:
	movel _window,a5@(-12)
	clrl a5@(-8)
L733:
	movel a5@(-8),d3
	cmpl _outcnt,d3
	jcs L736
	jra L734
L736:
	movel a5@(-12),a0
	moveb a0@,a5@(-13)
	addql #1,a5@(-12)
	clrl d0
	moveb a5@(-13),d0
	movel a5@(-4),d3
	eorl d3,d0
	movel d0,d1
	andl #255,d1
	movel d1,d2
	movel d2,d0
	asll #2,d0
	lea _crc_32_tab,a0
	movel a5@(-4),d2
	movel d2,d1
	lsrl #8,d1
	movel a0@(d0:l),d3
	eorl d1,d3
	movel d3,a5@(-4)
L735:
	addql #1,a5@(-8)
	jra L733
L734:
	movel a5@(-4),_crc
	movel _outcnt,d3
	addl d3,_bytes_out
	clrl _outcnt
L727:
	moveml a5@(-32),#0x40c
	unlk a5
	rts
LC149:
	.ascii "\12%s\0"
	.even
_error:
	link a5,#0
	movel a2,sp@-
	movel _linuxboot_args,a0
	movel a5@(8),sp@-
	pea LC149
	movel a0@(1464),a2
	jbsr a2@
	addqw #8,sp
	moveq #1,d0
	movel d0,_exit_code
L737:
	movel a5@(-4),a2
	unlk a5
	rts
LC150:
	.ascii "Couldn't allocate gunzip buffer\12\0"
LC151:
	.ascii "Couldn't allocate gunzip window\12\0"
LC152:
	.ascii "Couldn't allocate gunzip stack\12\0"
LC153:
	.ascii "Uncompressing kernel image \0"
LC154:
	.ascii "done\12\0"
	.even
_load_zkernel:
	link a5,#-12
	movel a2,sp@-
	movel d2,sp@-
	moveq #-1,d2
	movel d2,a5@(-8)
	clrl a5@(-4)
L740:
	moveq #31,d2
	cmpl a5@(-4),d2
	jge L743
	jra L741
L743:
	movel a5@(-4),d0
	movel d0,d1
	movel d1,d0
	asll #2,d0
	lea _ZFile,a0
	clrl a0@(d0:l)
L742:
	addql #1,a5@(-4)
	jra L740
L741:
	movel a5@(8),_Zinfd
	movel _linuxboot_args,a0
	clrl sp@-
	movel a5@(8),sp@-
	movel a0@(1472),a2
	jbsr a2@
	addqw #8,sp
	pea 5:w
	pea 4096:w
	jbsr _AllocMem
	addqw #8,sp
	movel d0,d1
	movel d1,_inbuf
	tstl d1
	jne L744
	movel _linuxboot_args,a0
	pea LC150
	movel a0@(1452),a2
	jbsr a2@
	addqw #4,sp
	jra L745
L744:
	pea 5:w
	movel #32768,sp@-
	jbsr _AllocMem
	addqw #8,sp
	movel d0,d1
	movel d1,_window
	tstl d1
	jne L746
	movel _linuxboot_args,a0
	pea LC151
	movel a0@(1452),a2
	jbsr a2@
	addqw #4,sp
	jra L747
L746:
	pea 5:w
	pea 16384:w
	jbsr _AllocMem
	addqw #8,sp
	movel d0,d1
	movel d1,a5@(-12)
	tstl d1
	jne L748
	movel _linuxboot_args,a0
	pea LC152
	movel a0@(1452),a2
	jbsr a2@
	addqw #4,sp
	jra L749
L748:
	movel _linuxboot_args,a0
	pea LC153
	movel a0@(1452),a2
	jbsr a2@
	addqw #4,sp
	jbsr _makecrc
	movel a5@(-12),d0
	addl #16384,d0
	movel d0,sp@-
	pea _gunzip
	jbsr _call_sub
	addqw #8,sp
	movel d0,a5@(-8)
	tstl a5@(-8)
	jne L750
	movel _linuxboot_args,a0
	pea LC154
	movel a0@(1452),a2
	jbsr a2@
	addqw #4,sp
L750:
	movel _Zwpos,_ZFileSize
	pea 16384:w
	movel a5@(-12),sp@-
	jbsr _FreeMem
	addqw #8,sp
L749:
	movel #32768,sp@-
	movel _window,sp@-
	jbsr _FreeMem
	addqw #8,sp
	clrl _window
L747:
	pea 4096:w
	movel _inbuf,sp@-
	jbsr _FreeMem
	addqw #8,sp
	clrl _inbuf
L745:
	movel _linuxboot_args,a0
	movel _Zinfd,sp@-
	movel a0@(1480),a2
	jbsr a2@
	addqw #4,sp
	movel a5@(-8),d0
	jra L739
L739:
	movel a5@(-20),d2
	movel a5@(-16),a2
	unlk a5
	rts
	.even
_KRead:
	link a5,#-16
	movel a2,sp@-
	movel d2,sp@-
	clrl a5@(-4)
	tstl _ZFileSize
	jne L752
	movel _linuxboot_args,a0
	movel a5@(16),sp@-
	movel a5@(12),sp@-
	movel a5@(8),sp@-
	movel a0@(1476),a2
	jbsr a2@
	addqw #8,sp
	addqw #4,sp
	movel d0,d1
	movel d1,d0
	jra L751
L752:
	movel _ZFpos,d0
	addl a5@(16),d0
	cmpl _ZFileSize,d0
	jle L753
	movel _ZFileSize,d2
	subl _ZFpos,d2
	movel d2,a5@(16)
L753:
	nop
L754:
	tstl a5@(16)
	jgt L756
	jra L755
L756:
	movel _ZFpos,d0
	movel d0,d1
	swap d1
	extl d1
	movel d1,a5@(-8)
	movel a5@(-8),d0
	addql #1,d0
	movel d0,d1
	swap d1
	clrw d1
	movel d1,a5@(-12)
	movel a5@(16),a5@(-16)
	movel _ZFpos,d0
	addl a5@(-16),d0
	cmpl a5@(-12),d0
	jls L757
	movel a5@(-12),d2
	subl _ZFpos,d2
	movel d2,a5@(-16)
L757:
	movel a5@(-16),sp@-
	movel a5@(-8),d0
	movel d0,d1
	movel d1,d0
	asll #2,d0
	lea _ZFile,a0
	movel _ZFpos,d1
	andl #65535,d1
	movel d1,d2
	addl a0@(d0:l),d2
	movel d2,d0
	movel d0,sp@-
	movel a5@(12),sp@-
	jbsr _memcpy
	addqw #8,sp
	addqw #4,sp
	movel a5@(-16),d2
	subl d2,a5@(16)
	movel a5@(-16),d2
	addl d2,a5@(12)
	movel a5@(-16),d2
	addl d2,a5@(-4)
	movel a5@(-16),d2
	addl d2,_ZFpos
	movel _ZFpos,d2
	cmpl a5@(-12),d2
	jne L758
	movel #65536,sp@-
	movel a5@(-8),d0
	movel d0,d1
	movel d1,d0
	asll #2,d0
	lea _ZFile,a0
	movel a0@(d0:l),sp@-
	jbsr _FreeMem
	addqw #8,sp
	movel a5@(-8),d0
	movel d0,d1
	movel d1,d0
	asll #2,d0
	lea _ZFile,a0
	clrl a0@(d0:l)
L758:
	jra L754
L755:
	movel a5@(-4),d0
	jra L751
L751:
	movel a5@(-24),d2
	movel a5@(-20),a2
	unlk a5
	rts
	.even
_KSeek:
	link a5,#-12
	movel a2,sp@-
	tstl _ZFileSize
	jne L760
	movel _linuxboot_args,a0
	movel a5@(12),sp@-
	movel a5@(8),sp@-
	movel a0@(1472),a2
	jbsr a2@
	addqw #8,sp
	movel d0,d1
	movel d1,d0
	jra L759
L760:
	movel _ZFpos,a5@(-4)
	movel a5@(12),_ZFpos
	tstl _ZFpos
	jge L761
	clrl _ZFpos
	moveq #-1,d0
	jra L759
	jra L762
L761:
	movel _ZFpos,a1
	cmpl _ZFileSize,a1
	jle L763
	movel _ZFileSize,_ZFpos
	moveq #-1,d0
	jra L759
L763:
L762:
	movel a5@(-4),d0
	movel d0,d1
	clrw d1
	swap d1
	movel d1,a5@(-8)
	movel _ZFpos,d0
	movel d0,d1
	swap d1
	extl d1
	movel d1,a5@(-12)
L764:
	movel a5@(-8),a1
	cmpl a5@(-12),a1
	jcs L766
	jra L765
L766:
	movel a5@(-8),d0
	movel d0,d1
	movel d1,d0
	asll #2,d0
	lea _ZFile,a0
	tstl a0@(d0:l)
	jeq L767
	movel #65536,sp@-
	movel a5@(-8),d0
	movel d0,d1
	movel d1,d0
	asll #2,d0
	lea _ZFile,a0
	movel a0@(d0:l),sp@-
	jbsr _FreeMem
	addqw #8,sp
	movel a5@(-8),d0
	movel d0,d1
	movel d1,d0
	asll #2,d0
	lea _ZFile,a0
	clrl a0@(d0:l)
L767:
	addql #1,a5@(-8)
	jra L764
L765:
	movel _ZFpos,d0
	jra L759
L759:
	movel a5@(-16),a2
	unlk a5
	rts
	.even
_free_zfile:
	link a5,#-4
	movel d2,sp@-
	nop
	clrl a5@(-4)
L769:
	moveq #31,d2
	cmpl a5@(-4),d2
	jge L772
	jra L770
L772:
	movel a5@(-4),d0
	movel d0,d1
	movel d1,d0
	asll #2,d0
	lea _ZFile,a0
	tstl a0@(d0:l)
	jeq L773
	movel #65536,sp@-
	movel a5@(-4),d0
	movel d0,d1
	movel d1,d0
	asll #2,d0
	lea _ZFile,a0
	movel a0@(d0:l),sp@-
	jbsr _FreeMem
	addqw #8,sp
	movel a5@(-4),d0
	movel d0,d1
	movel d1,d0
	asll #2,d0
	lea _ZFile,a0
	clrl a0@(d0:l)
L773:
L771:
	addql #1,a5@(-4)
	jra L769
L770:
L768:
	movel a5@(-8),d2
	unlk a5
	rts
	.even
_KClose:
	link a5,#0
	movel a2,sp@-
	tstl _ZFileSize
	jeq L775
	jbsr _free_zfile
	clrl _ZFileSize
	jra L776
L775:
	movel _linuxboot_args,a0
	movel a5@(8),sp@-
	movel a0@(1480),a2
	jbsr a2@
	addqw #4,sp
L776:
	clrl d0
	jra L774
L774:
	movel a5@(-4),a2
	unlk a5
	rts
	.even
_AllocMem:
	link a5,#0
	moveml #0x3002,sp@-
	movel a5@(8),d2
	movel a5@(12),d3
	movel _SysBase,a6
	movel d2,d0
	movel d3,d1
#APP
	jsr a6@(-0xc6)
#NO_APP
	jra L1
L1:
	moveml a5@(-12),#0x400c
	unlk a5
	rts
	.even
_AllocVec:
	link a5,#0
	moveml #0x3002,sp@-
	movel a5@(8),d2
	movel a5@(12),d3
	movel _SysBase,a6
	movel d2,d0
	movel d3,d1
#APP
	jsr a6@(-0x2ac)
#NO_APP
	jra L2
L2:
	moveml a5@(-12),#0x400c
	unlk a5
	rts
	.even
_CacheControl:
	link a5,#0
	moveml #0x3002,sp@-
	movel a5@(8),d2
	movel a5@(12),d3
	movel _SysBase,a6
	movel d2,d0
	movel d3,d1
#APP
	jsr a6@(-0x288)
#NO_APP
	jra L3
L3:
	moveml a5@(-12),#0x400c
	unlk a5
	rts
	.even
_Disable:
	link a5,#0
	movel a6,sp@-
	movel _SysBase,a6
#APP
	jsr a6@(-0x78)
#NO_APP
L4:
	movel a5@(-4),a6
	unlk a5
	rts
	.even
_Enable:
	link a5,#0
	movel a6,sp@-
	movel _SysBase,a6
#APP
	jsr a6@(-0x7e)
#NO_APP
L5:
	movel a5@(-4),a6
	unlk a5
	rts
	.even
_FindResident:
	link a5,#0
	movel a6,sp@-
	movel d2,sp@-
	movel a5@(8),d2
	movel _SysBase,a6
	movel d2,a1
#APP
	jsr a6@(-0x60)
#NO_APP
	jra L6
L6:
	movel a5@(-8),d2
	movel a5@(-4),a6
	unlk a5
	rts
	.even
_FreeMem:
	link a5,#0
	moveml #0x3002,sp@-
	movel a5@(8),d2
	movel a5@(12),d3
	movel _SysBase,a6
	movel d2,a1
	movel d3,d0
#APP
	jsr a6@(-0xd2)
#NO_APP
L7:
	moveml a5@(-12),#0x400c
	unlk a5
	rts
	.even
_FreeVec:
	link a5,#0
	movel a6,sp@-
	movel d2,sp@-
	movel a5@(8),d2
	movel _SysBase,a6
	movel d2,a1
#APP
	jsr a6@(-0x2b2)
#NO_APP
L8:
	movel a5@(-8),d2
	movel a5@(-4),a6
	unlk a5
	rts
	.even
_OpenResource:
	link a5,#0
	movel a6,sp@-
	movel d2,sp@-
	movel a5@(8),d2
	movel _SysBase,a6
	movel d2,a1
#APP
	jsr a6@(-0x1f2)
#NO_APP
	jra L9
L9:
	movel a5@(-8),d2
	movel a5@(-4),a6
	unlk a5
	rts
	.even
_SuperState:
	link a5,#0
	movel a6,sp@-
	movel _SysBase,a6
#APP
	jsr a6@(-0x96)
#NO_APP
	jra L10
L10:
	movel a5@(-4),a6
	unlk a5
	rts
	.even
_Supervisor:
	link a5,#0
	moveml #0x2102,sp@-
	movel a5@(8),d2
	movel _SysBase,a6
	movel d2,d7
#APP
	exg d7,a5;jsr a6@(-0x1e);exg d7,a5
#NO_APP
	jra L11
L11:
	moveml a5@(-12),#0x4084
	unlk a5
	rts
	.even
_FindConfigDev:
	link a5,#0
	moveml #0x3802,sp@-
	movel a5@(8),d2
	movel a5@(12),d3
	movel a5@(16),d4
	movel _ExpansionBase,a6
	movel d2,a0
	movel d3,d0
	movel d4,d1
#APP
	jsr a6@(-0x48)
#NO_APP
	jra L12
L12:
	moveml a5@(-16),#0x401c
	unlk a5
	rts
	.even
_LoadView:
	link a5,#0
	movel a6,sp@-
	movel d2,sp@-
	movel a5@(8),d2
	movel _GfxBase,a6
	movel d2,a1
#APP
	jsr a6@(-0xde)
#NO_APP
L13:
	movel a5@(-8),d2
	movel a5@(-4),a6
	unlk a5
	rts
	.even
_SetChipRev:
	link a5,#0
	movel a6,sp@-
	movel d2,sp@-
	movel a5@(8),d2
	movel _GfxBase,a6
	movel d2,d0
#APP
	jsr a6@(-0x378)
#NO_APP
	jra L14
L14:
	movel a5@(-8),d2
	movel a5@(-4),a6
	unlk a5
	rts
	.even
_disable_mmu:
	link a5,#0
	movel _SysBase,a0
	movew a0@(296),d0
	andw #8,d0
	tstw d0
	jeq L16
#APP
	moveq #0,d0;.long 0x4e7b0003;.long 0x4e7b0004;.long 0x4e7b0005;.long 0x4e7b0006;.long 0x4e7b0007
#NO_APP
	jra L17
L16:
#APP
	subl #4,sp;pmove tc,sp@;bclr #7,sp@;pmove sp@,tc;addl #4,sp
#NO_APP
	movel _SysBase,a0
	movew a0@(296),d0
	andw #4,d0
	tstw d0
	jeq L18
#APP
	clrl sp@-;.long 0xf0170800;.long 0xf0170c00;addql #4,sp
#NO_APP
L18:
L17:
L15:
	unlk a5
	rts
.lcomm _kexec,32
.lcomm _kexec_elf,52
.lcomm _linuxboot_args,4
.comm _bi,1428
.lcomm _compat_bootinfo,1422
.lcomm _bi_size,4
.lcomm _bi_union,4096
.lcomm _boardresetfuncs,64
.lcomm _ZFile,128
.lcomm _inbuf,4
.lcomm _window,4
.lcomm _bb,4
.lcomm _bk,4
.lcomm _hufts,4
.lcomm _crc_32_tab,1024
	.even
_call_sub:
	link a5,#0
	moveml #0x3020,sp@-
	movel a5@(8),d2
	movel a5@(12),d3
	movel d2,a0
	movel d3,a1
#APP
	movel sp,a2;movel a1,sp;jsr a0@;movel a2,sp
#NO_APP
	jra L738
L738:
	moveml a5@(-12),#0x40c
	unlk a5
	rts
