	.file	"98370.c"
	.intel_syntax noprefix
	.text
	.globl	modes
	.data
	.align 32
	.type	modes, @object
	.size	modes, 992
modes:
	.long	640
	.long	400
	.long	8
	.long	256
	.long	640
	.long	480
	.long	8
	.long	257
	.long	800
	.long	600
	.long	4
	.long	258
	.long	800
	.long	600
	.long	8
	.long	259
	.long	1024
	.long	768
	.long	4
	.long	260
	.long	1024
	.long	768
	.long	8
	.long	261
	.long	1280
	.long	1024
	.long	4
	.long	262
	.long	1280
	.long	1024
	.long	8
	.long	263
	.long	320
	.long	200
	.long	15
	.long	269
	.long	320
	.long	200
	.long	16
	.long	270
	.long	320
	.long	200
	.long	24
	.long	271
	.long	640
	.long	480
	.long	15
	.long	272
	.long	640
	.long	480
	.long	16
	.long	273
	.long	640
	.long	480
	.long	24
	.long	274
	.long	800
	.long	600
	.long	15
	.long	275
	.long	800
	.long	600
	.long	16
	.long	276
	.long	800
	.long	600
	.long	24
	.long	277
	.long	1024
	.long	768
	.long	15
	.long	278
	.long	1024
	.long	768
	.long	16
	.long	279
	.long	1024
	.long	768
	.long	24
	.long	280
	.long	1280
	.long	1024
	.long	15
	.long	281
	.long	1280
	.long	1024
	.long	16
	.long	282
	.long	1280
	.long	1024
	.long	24
	.long	283
	.long	1600
	.long	1200
	.long	8
	.long	284
	.long	1600
	.long	1200
	.long	15
	.long	285
	.long	1600
	.long	1200
	.long	16
	.long	286
	.long	1600
	.long	1200
	.long	24
	.long	287
	.long	320
	.long	200
	.long	32
	.long	320
	.long	640
	.long	400
	.long	32
	.long	321
	.long	640
	.long	480
	.long	32
	.long	322
	.long	800
	.long	600
	.long	32
	.long	323
	.long	1024
	.long	768
	.long	32
	.long	324
	.long	1280
	.long	1024
	.long	32
	.long	325
	.long	320
	.long	200
	.long	8
	.long	326
	.long	1600
	.long	1200
	.long	32
	.long	327
	.long	1152
	.long	864
	.long	8
	.long	328
	.long	1152
	.long	864
	.long	15
	.long	329
	.long	1152
	.long	864
	.long	16
	.long	330
	.long	1152
	.long	864
	.long	24
	.long	331
	.long	1152
	.long	864
	.long	32
	.long	332
	.long	1280
	.long	800
	.long	16
	.long	376
	.long	1280
	.long	800
	.long	24
	.long	377
	.long	1280
	.long	800
	.long	32
	.long	378
	.long	1280
	.long	960
	.long	16
	.long	379
	.long	1280
	.long	960
	.long	24
	.long	380
	.long	1280
	.long	960
	.long	32
	.long	381
	.long	1440
	.long	900
	.long	16
	.long	382
	.long	1440
	.long	900
	.long	24
	.long	383
	.long	1440
	.long	900
	.long	32
	.long	384
	.long	1400
	.long	1050
	.long	16
	.long	385
	.long	1400
	.long	1050
	.long	24
	.long	386
	.long	1400
	.long	1050
	.long	32
	.long	387
	.long	1680
	.long	1050
	.long	16
	.long	388
	.long	1680
	.long	1050
	.long	24
	.long	389
	.long	1680
	.long	1050
	.long	32
	.long	390
	.long	1920
	.long	1200
	.long	16
	.long	391
	.long	1920
	.long	1200
	.long	24
	.long	392
	.long	1920
	.long	1200
	.long	32
	.long	393
	.long	2560
	.long	1600
	.long	16
	.long	394
	.long	2560
	.long	1600
	.long	24
	.long	395
	.long	2560
	.long	1600
	.long	32
	.long	396
	.long	0
	.zero	12
	.section	.rodata
	.align 8
.LC0:
	.string	"/* THIS FILE IS AUTOMATICALLY GENERATED - DO NOT EDIT */\n"
	.align 8
.LC1:
	.string	"#define VBE_DISPI_TOTAL_VIDEO_MEMORY_MB %d\n\n"
	.align 8
.LC2:
	.string	"static ModeInfoListItem mode_info_list[]="
.LC3:
	.string	"{"
.LC4:
	.string	"{ 0x%04x, /* %dx%dx%d */\n"
	.align 8
.LC5:
	.string	"VBE_MODE_ATTRIBUTE_SUPPORTED | VBE_MODE_ATTRIBUTE_EXTENDED_INFORMATION_AVAILABLE | VBE_MODE_ATTRIBUTE_COLOR_MODE | VBE_MODE_ATTRIBUTE_TTY_BIOS_SUPPORT | VBE_MODE_ATTRIBUTE_GRAPHICS_MODE"
	.align 8
.LC6:
	.string	"{ /*Bit16u ModeAttributes*/ %s,\n"
	.align 8
.LC7:
	.string	"VBE_MODE_ATTRIBUTE_SUPPORTED | VBE_MODE_ATTRIBUTE_EXTENDED_INFORMATION_AVAILABLE | VBE_MODE_ATTRIBUTE_COLOR_MODE | VBE_MODE_ATTRIBUTE_LINEAR_FRAME_BUFFER_MODE | VBE_MODE_ATTRIBUTE_GRAPHICS_MODE"
	.align 8
.LC8:
	.string	"VBE_WINDOW_ATTRIBUTE_RELOCATABLE | VBE_WINDOW_ATTRIBUTE_READABLE | VBE_WINDOW_ATTRIBUTE_WRITEABLE"
	.align 8
.LC9:
	.string	"/*Bit8u  WinAAttributes*/ %s,\n"
	.align 8
.LC10:
	.string	"/*Bit8u  WinBAttributes*/ %d,\n"
.LC11:
	.string	"VBE_DISPI_BANK_SIZE_KB"
	.align 8
.LC12:
	.string	"/*Bit16u WinGranularity*/ %s,\n"
.LC13:
	.string	"/*Bit16u WinSize*/ %s,\n"
.LC14:
	.string	"VGAMEM_GRAPH"
.LC15:
	.string	"/*Bit16u WinASegment*/ %s,\n"
	.align 8
.LC16:
	.string	"/*Bit16u WinBSegment*/ 0x%04x,\n"
.LC17:
	.string	"/*Bit32u WinFuncPtr*/ %d,\n"
	.align 8
.LC18:
	.string	"/*Bit16u BytesPerScanLine*/ %d,\n"
.LC19:
	.string	"/*Bit16u XResolution*/ %d,\n"
.LC20:
	.string	"/*Bit16u YResolution*/ %d,\n"
.LC21:
	.string	"/*Bit8u  XCharSize*/ %d,\n"
.LC22:
	.string	"/*Bit8u  YCharSize*/ %d,\n"
	.align 8
.LC23:
	.string	"/*Bit8u  NumberOfPlanes*/ %d,\n"
.LC24:
	.string	"/*Bit8u  BitsPerPixel*/ %d,\n"
.LC25:
	.string	"/*Bit8u  NumberOfBanks*/ %d,\n"
.LC26:
	.string	"VBE_MEMORYMODEL_PLANAR"
.LC27:
	.string	"VBE_MEMORYMODEL_PACKED_PIXEL"
.LC28:
	.string	"VBE_MEMORYMODEL_DIRECT_COLOR"
.LC29:
	.string	"/*Bit8u  MemoryModel*/ %s,\n"
.LC30:
	.string	"/*Bit8u  BankSize*/ %d,\n"
	.align 8
.LC31:
	.string	"/*Bit8u  NumberOfImagePages*/ %d,\n"
.LC32:
	.string	"/*Bit8u  Reserved_page*/ %d,\n"
.LC33:
	.string	"/*Bit8u  RedMaskSize*/ %d,\n"
	.align 8
.LC34:
	.string	"/*Bit8u  RedFieldPosition*/ %d,\n"
.LC35:
	.string	"/*Bit8u  GreenMaskSize*/ %d,\n"
	.align 8
.LC36:
	.string	"/*Bit8u  GreenFieldPosition*/ %d,\n"
.LC37:
	.string	"/*Bit8u  BlueMaskSize*/ %d,\n"
	.align 8
.LC38:
	.string	"/*Bit8u  BlueFieldPosition*/ %d,\n"
.LC39:
	.string	"/*Bit8u  RsvdMaskSize*/ %d,\n"
	.align 8
.LC40:
	.string	"/*Bit8u  RsvdFieldPosition*/ %d,\n"
	.align 8
.LC41:
	.string	"VBE_DIRECTCOLOR_RESERVED_BITS_AVAILABLE"
	.align 8
.LC42:
	.string	"/*Bit8u  DirectColorModeInfo*/ %s,\n"
.LC43:
	.string	"0"
	.align 8
.LC44:
	.string	"VBE_DISPI_LFB_PHYSICAL_ADDRESS"
.LC45:
	.string	"/*Bit32u PhysBasePtr*/ %s,\n"
	.align 8
.LC46:
	.string	"/*Bit32u OffScreenMemOffset*/ %d,\n"
	.align 8
.LC47:
	.string	"/*Bit16u OffScreenMemSize*/ %d,\n"
	.align 8
.LC48:
	.string	"/*Bit16u LinBytesPerScanLine*/ %d,\n"
	.align 8
.LC49:
	.string	"/*Bit8u  BnkNumberOfPages*/ %d,\n"
	.align 8
.LC50:
	.string	"/*Bit8u  LinNumberOfPages*/ %d,\n"
	.align 8
.LC51:
	.string	"/*Bit8u  LinRedMaskSize*/ %d,\n"
	.align 8
.LC52:
	.string	"/*Bit8u  LinRedFieldPosition*/ %d,\n"
	.align 8
.LC53:
	.string	"/*Bit8u  LinGreenMaskSize*/ %d,\n"
	.align 8
.LC54:
	.string	"/*Bit8u  LinGreenFieldPosition*/ %d,\n"
	.align 8
.LC55:
	.string	"/*Bit8u  LinBlueMaskSize*/ %d,\n"
	.align 8
.LC56:
	.string	"/*Bit8u  LinBlueFieldPosition*/ %d,\n"
	.align 8
.LC57:
	.string	"/*Bit8u  LinRsvdMaskSize*/ %d,\n"
	.align 8
.LC58:
	.string	"/*Bit8u  LinRsvdFieldPosition*/ %d,\n"
.LC59:
	.string	"/*Bit32u MaxPixelClock*/ %d,\n"
.LC60:
	.string	"} },"
.LC61:
	.string	"{ VBE_VESA_MODE_END_OF_LIST,"
.LC62:
	.string	"{ 0,"
.LC63:
	.string	"};"
	.text
	.globl	main
	.type	main, @function
main:
.LFB6:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 80
	mov	DWORD PTR -68[rbp], edi
	mov	QWORD PTR -80[rbp], rsi
	mov	QWORD PTR -8[rbp], 16777216
	lea	rdi, .LC0[rip]
	call	puts@PLT
	mov	esi, 16
	lea	rdi, .LC1[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rdi, .LC2[rip]
	call	puts@PLT
	lea	rdi, .LC3[rip]
	call	puts@PLT
	lea	rax, modes[rip]
	mov	QWORD PTR -24[rbp], rax
	jmp	.L2
.L25:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 4
	jne	.L3
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR [rax]
	add	eax, 7
	lea	edx, 7[rax]
	test	eax, eax
	cmovs	eax, edx
	sar	eax, 3
	mov	DWORD PTR -64[rbp], eax
	jmp	.L4
.L3:
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 8[rax]
	add	eax, 7
	lea	ecx, 7[rax]
	test	eax, eax
	cmovs	eax, ecx
	sar	eax, 3
	imul	eax, edx
	mov	DWORD PTR -64[rbp], eax
.L4:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 4[rax]
	imul	eax, DWORD PTR -64[rbp]
	movsx	rcx, eax
	mov	rax, QWORD PTR -8[rbp]
	cqo
	idiv	rcx
	mov	DWORD PTR -28[rbp], eax
	cmp	DWORD PTR -28[rbp], 0
	jle	.L5
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, DWORD PTR 8[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	ecx, DWORD PTR 4[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 12[rax]
	mov	r8d, esi
	mov	esi, eax
	lea	rdi, .LC4[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 4
	jne	.L6
	lea	rsi, .LC5[rip]
	lea	rdi, .LC6[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L7
.L6:
	lea	rsi, .LC7[rip]
	lea	rdi, .LC6[rip]
	mov	eax, 0
	call	printf@PLT
.L7:
	lea	rsi, .LC8[rip]
	lea	rdi, .LC9[rip]
	mov	eax, 0
	call	printf@PLT
	mov	esi, 0
	lea	rdi, .LC10[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rsi, .LC11[rip]
	lea	rdi, .LC12[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rsi, .LC11[rip]
	lea	rdi, .LC13[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rsi, .LC14[rip]
	lea	rdi, .LC15[rip]
	mov	eax, 0
	call	printf@PLT
	mov	esi, 0
	lea	rdi, .LC16[rip]
	mov	eax, 0
	call	printf@PLT
	mov	esi, 0
	lea	rdi, .LC17[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, DWORD PTR -64[rbp]
	mov	esi, eax
	lea	rdi, .LC18[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR [rax]
	mov	esi, eax
	lea	rdi, .LC19[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 4[rax]
	mov	esi, eax
	lea	rdi, .LC20[rip]
	mov	eax, 0
	call	printf@PLT
	mov	esi, 8
	lea	rdi, .LC21[rip]
	mov	eax, 0
	call	printf@PLT
	mov	esi, 16
	lea	rdi, .LC22[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 4
	jne	.L8
	mov	esi, 4
	lea	rdi, .LC23[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L9
.L8:
	mov	esi, 1
	lea	rdi, .LC23[rip]
	mov	eax, 0
	call	printf@PLT
.L9:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 8[rax]
	mov	esi, eax
	lea	rdi, .LC24[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 4[rax]
	imul	eax, DWORD PTR -64[rbp]
	add	eax, 65535
	lea	edx, 65535[rax]
	test	eax, eax
	cmovs	eax, edx
	sar	eax, 16
	mov	esi, eax
	lea	rdi, .LC25[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 4
	jne	.L10
	lea	rax, .LC26[rip]
	mov	QWORD PTR -16[rbp], rax
	jmp	.L11
.L10:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 8
	jne	.L12
	lea	rax, .LC27[rip]
	mov	QWORD PTR -16[rbp], rax
	jmp	.L11
.L12:
	lea	rax, .LC28[rip]
	mov	QWORD PTR -16[rbp], rax
.L11:
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rax
	lea	rdi, .LC29[rip]
	mov	eax, 0
	call	printf@PLT
	mov	esi, 0
	lea	rdi, .LC30[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 4
	jne	.L13
	mov	eax, DWORD PTR -28[rbp]
	lea	edx, 3[rax]
	test	eax, eax
	cmovs	eax, edx
	sar	eax, 2
	sub	eax, 1
	mov	esi, eax
	lea	rdi, .LC31[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L14
.L13:
	mov	eax, DWORD PTR -28[rbp]
	sub	eax, 1
	mov	esi, eax
	lea	rdi, .LC31[rip]
	mov	eax, 0
	call	printf@PLT
.L14:
	mov	esi, 0
	lea	rdi, .LC32[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 32
	je	.L15
	cmp	eax, 32
	jg	.L16
	cmp	eax, 24
	je	.L17
	cmp	eax, 24
	jg	.L16
	cmp	eax, 15
	je	.L18
	cmp	eax, 16
	je	.L19
	jmp	.L16
.L18:
	mov	DWORD PTR -60[rbp], 5
	mov	DWORD PTR -56[rbp], 10
	mov	DWORD PTR -52[rbp], 5
	mov	DWORD PTR -48[rbp], 5
	mov	DWORD PTR -44[rbp], 5
	mov	DWORD PTR -40[rbp], 0
	mov	DWORD PTR -36[rbp], 1
	mov	DWORD PTR -32[rbp], 15
	jmp	.L20
.L19:
	mov	DWORD PTR -60[rbp], 5
	mov	DWORD PTR -56[rbp], 11
	mov	DWORD PTR -52[rbp], 6
	mov	DWORD PTR -48[rbp], 5
	mov	DWORD PTR -44[rbp], 5
	mov	DWORD PTR -40[rbp], 0
	mov	DWORD PTR -36[rbp], 0
	mov	DWORD PTR -32[rbp], 0
	jmp	.L20
.L17:
	mov	DWORD PTR -60[rbp], 8
	mov	DWORD PTR -56[rbp], 16
	mov	DWORD PTR -52[rbp], 8
	mov	DWORD PTR -48[rbp], 8
	mov	DWORD PTR -44[rbp], 8
	mov	DWORD PTR -40[rbp], 0
	mov	DWORD PTR -36[rbp], 0
	mov	DWORD PTR -32[rbp], 0
	jmp	.L20
.L15:
	mov	DWORD PTR -60[rbp], 8
	mov	DWORD PTR -56[rbp], 16
	mov	DWORD PTR -52[rbp], 8
	mov	DWORD PTR -48[rbp], 8
	mov	DWORD PTR -44[rbp], 8
	mov	DWORD PTR -40[rbp], 0
	mov	DWORD PTR -36[rbp], 8
	mov	DWORD PTR -32[rbp], 24
	jmp	.L20
.L16:
	mov	DWORD PTR -60[rbp], 0
	mov	DWORD PTR -56[rbp], 0
	mov	DWORD PTR -52[rbp], 0
	mov	DWORD PTR -48[rbp], 0
	mov	DWORD PTR -44[rbp], 0
	mov	DWORD PTR -40[rbp], 0
	mov	DWORD PTR -36[rbp], 0
	mov	DWORD PTR -32[rbp], 0
	nop
.L20:
	mov	eax, DWORD PTR -60[rbp]
	mov	esi, eax
	lea	rdi, .LC33[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, DWORD PTR -56[rbp]
	mov	esi, eax
	lea	rdi, .LC34[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, DWORD PTR -52[rbp]
	mov	esi, eax
	lea	rdi, .LC35[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, DWORD PTR -48[rbp]
	mov	esi, eax
	lea	rdi, .LC36[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, DWORD PTR -44[rbp]
	mov	esi, eax
	lea	rdi, .LC37[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, DWORD PTR -40[rbp]
	mov	esi, eax
	lea	rdi, .LC38[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, DWORD PTR -36[rbp]
	mov	esi, eax
	lea	rdi, .LC39[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, DWORD PTR -32[rbp]
	mov	esi, eax
	lea	rdi, .LC40[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 32
	jne	.L21
	lea	rsi, .LC41[rip]
	lea	rdi, .LC42[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L22
.L21:
	lea	rsi, .LC43[rip]
	lea	rdi, .LC42[rip]
	mov	eax, 0
	call	printf@PLT
.L22:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	eax, 4
	jle	.L23
	lea	rsi, .LC44[rip]
	lea	rdi, .LC45[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L24
.L23:
	lea	rsi, .LC43[rip]
	lea	rdi, .LC45[rip]
	mov	eax, 0
	call	printf@PLT
.L24:
	mov	esi, 0
	lea	rdi, .LC46[rip]
	mov	eax, 0
	call	printf@PLT
	mov	esi, 0
	lea	rdi, .LC47[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, DWORD PTR -64[rbp]
	mov	esi, eax
	lea	rdi, .LC48[rip]
	mov	eax, 0
	call	printf@PLT
	mov	esi, 0
	lea	rdi, .LC49[rip]
	mov	eax, 0
	call	printf@PLT
	mov	esi, 0
	lea	rdi, .LC50[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, DWORD PTR -60[rbp]
	mov	esi, eax
	lea	rdi, .LC51[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, DWORD PTR -56[rbp]
	mov	esi, eax
	lea	rdi, .LC52[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, DWORD PTR -52[rbp]
	mov	esi, eax
	lea	rdi, .LC53[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, DWORD PTR -48[rbp]
	mov	esi, eax
	lea	rdi, .LC54[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, DWORD PTR -44[rbp]
	mov	esi, eax
	lea	rdi, .LC55[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, DWORD PTR -40[rbp]
	mov	esi, eax
	lea	rdi, .LC56[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, DWORD PTR -36[rbp]
	mov	esi, eax
	lea	rdi, .LC57[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, DWORD PTR -32[rbp]
	mov	esi, eax
	lea	rdi, .LC58[rip]
	mov	eax, 0
	call	printf@PLT
	mov	esi, 0
	lea	rdi, .LC59[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rdi, .LC60[rip]
	call	puts@PLT
.L5:
	add	QWORD PTR -24[rbp], 16
.L2:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 12[rax]
	test	eax, eax
	jne	.L25
	lea	rdi, .LC61[rip]
	call	puts@PLT
	lea	rdi, .LC62[rip]
	call	puts@PLT
	lea	rdi, .LC60[rip]
	call	puts@PLT
	lea	rdi, .LC63[rip]
	call	puts@PLT
	mov	eax, 0
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE6:
	.size	main, .-main
	.ident	"GCC: (Ubuntu 10.5.0-1ubuntu1~20.04) 10.5.0"
	.section	.note.GNU-stack,"",@progbits
	.section	.note.gnu.property,"a"
	.align 8
	.long	 1f - 0f
	.long	 4f - 1f
	.long	 5
0:
	.string	 "GNU"
1:
	.align 8
	.long	 0xc0000002
	.long	 3f - 2f
2:
	.long	 0x3
3:
	.align 8
4:

	.arch armv5t
	.eabi_attribute 20, 1
	.eabi_attribute 21, 1
	.eabi_attribute 23, 3
	.eabi_attribute 24, 1
	.eabi_attribute 25, 1
	.eabi_attribute 26, 2
	.eabi_attribute 30, 6
	.eabi_attribute 34, 0
	.eabi_attribute 18, 4
	.file	"98370.c"
	.text
	.global	modes
	.data
	.align	2
	.type	modes, %object
	.size	modes, 992
modes:
	.word	640
	.word	400
	.word	8
	.word	256
	.word	640
	.word	480
	.word	8
	.word	257
	.word	800
	.word	600
	.word	4
	.word	258
	.word	800
	.word	600
	.word	8
	.word	259
	.word	1024
	.word	768
	.word	4
	.word	260
	.word	1024
	.word	768
	.word	8
	.word	261
	.word	1280
	.word	1024
	.word	4
	.word	262
	.word	1280
	.word	1024
	.word	8
	.word	263
	.word	320
	.word	200
	.word	15
	.word	269
	.word	320
	.word	200
	.word	16
	.word	270
	.word	320
	.word	200
	.word	24
	.word	271
	.word	640
	.word	480
	.word	15
	.word	272
	.word	640
	.word	480
	.word	16
	.word	273
	.word	640
	.word	480
	.word	24
	.word	274
	.word	800
	.word	600
	.word	15
	.word	275
	.word	800
	.word	600
	.word	16
	.word	276
	.word	800
	.word	600
	.word	24
	.word	277
	.word	1024
	.word	768
	.word	15
	.word	278
	.word	1024
	.word	768
	.word	16
	.word	279
	.word	1024
	.word	768
	.word	24
	.word	280
	.word	1280
	.word	1024
	.word	15
	.word	281
	.word	1280
	.word	1024
	.word	16
	.word	282
	.word	1280
	.word	1024
	.word	24
	.word	283
	.word	1600
	.word	1200
	.word	8
	.word	284
	.word	1600
	.word	1200
	.word	15
	.word	285
	.word	1600
	.word	1200
	.word	16
	.word	286
	.word	1600
	.word	1200
	.word	24
	.word	287
	.word	320
	.word	200
	.word	32
	.word	320
	.word	640
	.word	400
	.word	32
	.word	321
	.word	640
	.word	480
	.word	32
	.word	322
	.word	800
	.word	600
	.word	32
	.word	323
	.word	1024
	.word	768
	.word	32
	.word	324
	.word	1280
	.word	1024
	.word	32
	.word	325
	.word	320
	.word	200
	.word	8
	.word	326
	.word	1600
	.word	1200
	.word	32
	.word	327
	.word	1152
	.word	864
	.word	8
	.word	328
	.word	1152
	.word	864
	.word	15
	.word	329
	.word	1152
	.word	864
	.word	16
	.word	330
	.word	1152
	.word	864
	.word	24
	.word	331
	.word	1152
	.word	864
	.word	32
	.word	332
	.word	1280
	.word	800
	.word	16
	.word	376
	.word	1280
	.word	800
	.word	24
	.word	377
	.word	1280
	.word	800
	.word	32
	.word	378
	.word	1280
	.word	960
	.word	16
	.word	379
	.word	1280
	.word	960
	.word	24
	.word	380
	.word	1280
	.word	960
	.word	32
	.word	381
	.word	1440
	.word	900
	.word	16
	.word	382
	.word	1440
	.word	900
	.word	24
	.word	383
	.word	1440
	.word	900
	.word	32
	.word	384
	.word	1400
	.word	1050
	.word	16
	.word	385
	.word	1400
	.word	1050
	.word	24
	.word	386
	.word	1400
	.word	1050
	.word	32
	.word	387
	.word	1680
	.word	1050
	.word	16
	.word	388
	.word	1680
	.word	1050
	.word	24
	.word	389
	.word	1680
	.word	1050
	.word	32
	.word	390
	.word	1920
	.word	1200
	.word	16
	.word	391
	.word	1920
	.word	1200
	.word	24
	.word	392
	.word	1920
	.word	1200
	.word	32
	.word	393
	.word	2560
	.word	1600
	.word	16
	.word	394
	.word	2560
	.word	1600
	.word	24
	.word	395
	.word	2560
	.word	1600
	.word	32
	.word	396
	.word	0
	.space	12
	.section	.rodata
	.align	2
.LC0:
	.ascii	"/* THIS FILE IS AUTOMATICALLY GENERATED - DO NOT ED"
	.ascii	"IT */\012\000"
	.align	2
.LC1:
	.ascii	"#define VBE_DISPI_TOTAL_VIDEO_MEMORY_MB %d\012\012\000"
	.align	2
.LC2:
	.ascii	"static ModeInfoListItem mode_info_list[]=\000"
	.align	2
.LC3:
	.ascii	"{\000"
	.global	__aeabi_idiv
	.align	2
.LC4:
	.ascii	"{ 0x%04x, /* %dx%dx%d */\012\000"
	.align	2
.LC5:
	.ascii	"VBE_MODE_ATTRIBUTE_SUPPORTED | VBE_MODE_ATTRIBUTE_E"
	.ascii	"XTENDED_INFORMATION_AVAILABLE | VBE_MODE_ATTRIBUTE_"
	.ascii	"COLOR_MODE | VBE_MODE_ATTRIBUTE_TTY_BIOS_SUPPORT | "
	.ascii	"VBE_MODE_ATTRIBUTE_GRAPHICS_MODE\000"
	.align	2
.LC6:
	.ascii	"{ /*Bit16u ModeAttributes*/ %s,\012\000"
	.align	2
.LC7:
	.ascii	"VBE_MODE_ATTRIBUTE_SUPPORTED | VBE_MODE_ATTRIBUTE_E"
	.ascii	"XTENDED_INFORMATION_AVAILABLE | VBE_MODE_ATTRIBUTE_"
	.ascii	"COLOR_MODE | VBE_MODE_ATTRIBUTE_LINEAR_FRAME_BUFFER"
	.ascii	"_MODE | VBE_MODE_ATTRIBUTE_GRAPHICS_MODE\000"
	.align	2
.LC8:
	.ascii	"VBE_WINDOW_ATTRIBUTE_RELOCATABLE | VBE_WINDOW_ATTRI"
	.ascii	"BUTE_READABLE | VBE_WINDOW_ATTRIBUTE_WRITEABLE\000"
	.align	2
.LC9:
	.ascii	"/*Bit8u  WinAAttributes*/ %s,\012\000"
	.align	2
.LC10:
	.ascii	"/*Bit8u  WinBAttributes*/ %d,\012\000"
	.align	2
.LC11:
	.ascii	"VBE_DISPI_BANK_SIZE_KB\000"
	.align	2
.LC12:
	.ascii	"/*Bit16u WinGranularity*/ %s,\012\000"
	.align	2
.LC13:
	.ascii	"/*Bit16u WinSize*/ %s,\012\000"
	.align	2
.LC14:
	.ascii	"VGAMEM_GRAPH\000"
	.align	2
.LC15:
	.ascii	"/*Bit16u WinASegment*/ %s,\012\000"
	.align	2
.LC16:
	.ascii	"/*Bit16u WinBSegment*/ 0x%04x,\012\000"
	.align	2
.LC17:
	.ascii	"/*Bit32u WinFuncPtr*/ %d,\012\000"
	.align	2
.LC18:
	.ascii	"/*Bit16u BytesPerScanLine*/ %d,\012\000"
	.align	2
.LC19:
	.ascii	"/*Bit16u XResolution*/ %d,\012\000"
	.align	2
.LC20:
	.ascii	"/*Bit16u YResolution*/ %d,\012\000"
	.align	2
.LC21:
	.ascii	"/*Bit8u  XCharSize*/ %d,\012\000"
	.align	2
.LC22:
	.ascii	"/*Bit8u  YCharSize*/ %d,\012\000"
	.align	2
.LC23:
	.ascii	"/*Bit8u  NumberOfPlanes*/ %d,\012\000"
	.align	2
.LC24:
	.ascii	"/*Bit8u  BitsPerPixel*/ %d,\012\000"
	.align	2
.LC25:
	.ascii	"/*Bit8u  NumberOfBanks*/ %d,\012\000"
	.align	2
.LC26:
	.ascii	"VBE_MEMORYMODEL_PLANAR\000"
	.align	2
.LC27:
	.ascii	"VBE_MEMORYMODEL_PACKED_PIXEL\000"
	.align	2
.LC28:
	.ascii	"VBE_MEMORYMODEL_DIRECT_COLOR\000"
	.align	2
.LC29:
	.ascii	"/*Bit8u  MemoryModel*/ %s,\012\000"
	.align	2
.LC30:
	.ascii	"/*Bit8u  BankSize*/ %d,\012\000"
	.align	2
.LC31:
	.ascii	"/*Bit8u  NumberOfImagePages*/ %d,\012\000"
	.align	2
.LC32:
	.ascii	"/*Bit8u  Reserved_page*/ %d,\012\000"
	.align	2
.LC33:
	.ascii	"/*Bit8u  RedMaskSize*/ %d,\012\000"
	.align	2
.LC34:
	.ascii	"/*Bit8u  RedFieldPosition*/ %d,\012\000"
	.align	2
.LC35:
	.ascii	"/*Bit8u  GreenMaskSize*/ %d,\012\000"
	.align	2
.LC36:
	.ascii	"/*Bit8u  GreenFieldPosition*/ %d,\012\000"
	.align	2
.LC37:
	.ascii	"/*Bit8u  BlueMaskSize*/ %d,\012\000"
	.align	2
.LC38:
	.ascii	"/*Bit8u  BlueFieldPosition*/ %d,\012\000"
	.align	2
.LC39:
	.ascii	"/*Bit8u  RsvdMaskSize*/ %d,\012\000"
	.align	2
.LC40:
	.ascii	"/*Bit8u  RsvdFieldPosition*/ %d,\012\000"
	.align	2
.LC41:
	.ascii	"VBE_DIRECTCOLOR_RESERVED_BITS_AVAILABLE\000"
	.align	2
.LC42:
	.ascii	"/*Bit8u  DirectColorModeInfo*/ %s,\012\000"
	.align	2
.LC43:
	.ascii	"0\000"
	.align	2
.LC44:
	.ascii	"VBE_DISPI_LFB_PHYSICAL_ADDRESS\000"
	.align	2
.LC45:
	.ascii	"/*Bit32u PhysBasePtr*/ %s,\012\000"
	.align	2
.LC46:
	.ascii	"/*Bit32u OffScreenMemOffset*/ %d,\012\000"
	.align	2
.LC47:
	.ascii	"/*Bit16u OffScreenMemSize*/ %d,\012\000"
	.align	2
.LC48:
	.ascii	"/*Bit16u LinBytesPerScanLine*/ %d,\012\000"
	.align	2
.LC49:
	.ascii	"/*Bit8u  BnkNumberOfPages*/ %d,\012\000"
	.align	2
.LC50:
	.ascii	"/*Bit8u  LinNumberOfPages*/ %d,\012\000"
	.align	2
.LC51:
	.ascii	"/*Bit8u  LinRedMaskSize*/ %d,\012\000"
	.align	2
.LC52:
	.ascii	"/*Bit8u  LinRedFieldPosition*/ %d,\012\000"
	.align	2
.LC53:
	.ascii	"/*Bit8u  LinGreenMaskSize*/ %d,\012\000"
	.align	2
.LC54:
	.ascii	"/*Bit8u  LinGreenFieldPosition*/ %d,\012\000"
	.align	2
.LC55:
	.ascii	"/*Bit8u  LinBlueMaskSize*/ %d,\012\000"
	.align	2
.LC56:
	.ascii	"/*Bit8u  LinBlueFieldPosition*/ %d,\012\000"
	.align	2
.LC57:
	.ascii	"/*Bit8u  LinRsvdMaskSize*/ %d,\012\000"
	.align	2
.LC58:
	.ascii	"/*Bit8u  LinRsvdFieldPosition*/ %d,\012\000"
	.align	2
.LC59:
	.ascii	"/*Bit32u MaxPixelClock*/ %d,\012\000"
	.align	2
.LC60:
	.ascii	"} },\000"
	.align	2
.LC61:
	.ascii	"{ VBE_VESA_MODE_END_OF_LIST,\000"
	.align	2
.LC62:
	.ascii	"{ 0,\000"
	.align	2
.LC63:
	.ascii	"};\000"
	.text
	.align	2
	.global	main
	.syntax unified
	.arm
	.fpu softvfp
	.type	main, %function
main:
	@ args = 0, pretend = 0, frame = 64
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #72
	str	r0, [fp, #-64]
	str	r1, [fp, #-68]
	mov	r3, #16777216
	str	r3, [fp, #-12]
	ldr	r0, .L28
	bl	puts
	mov	r1, #16
	ldr	r0, .L28+4
	bl	printf
	ldr	r0, .L28+8
	bl	puts
	ldr	r0, .L28+12
	bl	puts
	ldr	r3, .L28+16
	str	r3, [fp, #-56]
	b	.L2
.L26:
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #8]
	cmp	r3, #4
	bne	.L3
	ldr	r3, [fp, #-56]
	ldr	r3, [r3]
	add	r3, r3, #7
	add	r2, r3, #7
	cmp	r3, #0
	movlt	r3, r2
	movge	r3, r3
	asr	r3, r3, #3
	str	r3, [fp, #-52]
	b	.L4
.L3:
	ldr	r3, [fp, #-56]
	ldr	r2, [r3]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #8]
	add	r3, r3, #7
	add	r1, r3, #7
	cmp	r3, #0
	movlt	r3, r1
	movge	r3, r3
	asr	r3, r3, #3
	mul	r3, r2, r3
	str	r3, [fp, #-52]
.L4:
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-52]
	mul	r3, r2, r3
	mov	r1, r3
	ldr	r0, [fp, #-12]
	bl	__aeabi_idiv
	mov	r3, r0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	ble	.L5
	ldr	r3, [fp, #-56]
	ldr	r1, [r3, #12]
	ldr	r3, [fp, #-56]
	ldr	r2, [r3]
	ldr	r3, [fp, #-56]
	ldr	r0, [r3, #4]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #8]
	str	r3, [sp]
	mov	r3, r0
	ldr	r0, .L28+20
	bl	printf
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #8]
	cmp	r3, #4
	bne	.L6
	ldr	r1, .L28+24
	ldr	r0, .L28+28
	bl	printf
	b	.L7
.L6:
	ldr	r1, .L28+32
	ldr	r0, .L28+28
	bl	printf
.L7:
	ldr	r1, .L28+36
	ldr	r0, .L28+40
	bl	printf
	mov	r1, #0
	ldr	r0, .L28+44
	bl	printf
	ldr	r1, .L28+48
	ldr	r0, .L28+52
	bl	printf
	ldr	r1, .L28+48
	ldr	r0, .L28+56
	bl	printf
	ldr	r1, .L28+60
	ldr	r0, .L28+64
	bl	printf
	mov	r1, #0
	ldr	r0, .L28+68
	bl	printf
	mov	r1, #0
	ldr	r0, .L28+72
	bl	printf
	ldr	r1, [fp, #-52]
	ldr	r0, .L28+76
	bl	printf
	ldr	r3, [fp, #-56]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L28+80
	bl	printf
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #4]
	mov	r1, r3
	ldr	r0, .L28+84
	bl	printf
	mov	r1, #8
	ldr	r0, .L28+88
	bl	printf
	mov	r1, #16
	ldr	r0, .L28+92
	bl	printf
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #8]
	cmp	r3, #4
	bne	.L8
	mov	r1, #4
	ldr	r0, .L28+96
	bl	printf
	b	.L9
.L8:
	mov	r1, #1
	ldr	r0, .L28+96
	bl	printf
.L9:
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #8]
	mov	r1, r3
	ldr	r0, .L28+100
	bl	printf
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-52]
	mul	r3, r2, r3
	add	r3, r3, #65280
	add	r3, r3, #255
	add	r2, r3, #65280
	add	r2, r2, #255
	cmp	r3, #0
	movlt	r3, r2
	movge	r3, r3
	asr	r3, r3, #16
	mov	r1, r3
	ldr	r0, .L28+104
	bl	printf
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #8]
	cmp	r3, #4
	bne	.L10
	ldr	r3, .L28+108
	str	r3, [fp, #-16]
	b	.L11
.L10:
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #8]
	cmp	r3, #8
	bne	.L12
	ldr	r3, .L28+112
	str	r3, [fp, #-16]
	b	.L11
.L12:
	ldr	r3, .L28+116
	str	r3, [fp, #-16]
.L11:
	ldr	r1, [fp, #-16]
	ldr	r0, .L28+120
	bl	printf
	mov	r1, #0
	ldr	r0, .L28+124
	bl	printf
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #8]
	cmp	r3, #4
	bne	.L13
	ldr	r3, [fp, #-8]
	add	r2, r3, #3
	cmp	r3, #0
	movlt	r3, r2
	movge	r3, r3
	asr	r3, r3, #2
	sub	r3, r3, #1
	mov	r1, r3
	ldr	r0, .L28+128
	bl	printf
	b	.L14
.L13:
	ldr	r3, [fp, #-8]
	sub	r3, r3, #1
	mov	r1, r3
	ldr	r0, .L28+128
	bl	printf
.L14:
	mov	r1, #0
	ldr	r0, .L28+132
	bl	printf
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #8]
	sub	r3, r3, #15
	cmp	r3, #17
	ldrls	pc, [pc, r3, asl #2]
	b	.L15
.L17:
	.word	.L20
	.word	.L19
	.word	.L15
	.word	.L15
	.word	.L15
	.word	.L15
	.word	.L15
	.word	.L15
	.word	.L15
	.word	.L18
	.word	.L15
	.word	.L15
	.word	.L15
	.word	.L15
	.word	.L15
	.word	.L15
	.word	.L15
	.word	.L16
.L20:
	mov	r3, #5
	str	r3, [fp, #-48]
	mov	r3, #10
	str	r3, [fp, #-44]
	mov	r3, #5
	str	r3, [fp, #-40]
	mov	r3, #5
	str	r3, [fp, #-36]
	mov	r3, #5
	str	r3, [fp, #-32]
	mov	r3, #0
	str	r3, [fp, #-28]
	mov	r3, #1
	str	r3, [fp, #-24]
	mov	r3, #15
	str	r3, [fp, #-20]
	b	.L21
.L19:
	mov	r3, #5
	str	r3, [fp, #-48]
	mov	r3, #11
	str	r3, [fp, #-44]
	mov	r3, #6
	str	r3, [fp, #-40]
	mov	r3, #5
	str	r3, [fp, #-36]
	mov	r3, #5
	str	r3, [fp, #-32]
	mov	r3, #0
	str	r3, [fp, #-28]
	mov	r3, #0
	str	r3, [fp, #-24]
	mov	r3, #0
	str	r3, [fp, #-20]
	b	.L21
.L18:
	mov	r3, #8
	str	r3, [fp, #-48]
	mov	r3, #16
	str	r3, [fp, #-44]
	mov	r3, #8
	str	r3, [fp, #-40]
	mov	r3, #8
	str	r3, [fp, #-36]
	mov	r3, #8
	str	r3, [fp, #-32]
	mov	r3, #0
	str	r3, [fp, #-28]
	mov	r3, #0
	str	r3, [fp, #-24]
	mov	r3, #0
	str	r3, [fp, #-20]
	b	.L21
.L16:
	mov	r3, #8
	str	r3, [fp, #-48]
	mov	r3, #16
	str	r3, [fp, #-44]
	mov	r3, #8
	str	r3, [fp, #-40]
	mov	r3, #8
	str	r3, [fp, #-36]
	mov	r3, #8
	str	r3, [fp, #-32]
	mov	r3, #0
	str	r3, [fp, #-28]
	mov	r3, #8
	str	r3, [fp, #-24]
	mov	r3, #24
	str	r3, [fp, #-20]
	b	.L21
.L15:
	mov	r3, #0
	str	r3, [fp, #-48]
	mov	r3, #0
	str	r3, [fp, #-44]
	mov	r3, #0
	str	r3, [fp, #-40]
	mov	r3, #0
	str	r3, [fp, #-36]
	mov	r3, #0
	str	r3, [fp, #-32]
	mov	r3, #0
	str	r3, [fp, #-28]
	mov	r3, #0
	str	r3, [fp, #-24]
	mov	r3, #0
	str	r3, [fp, #-20]
	nop
.L21:
	ldr	r1, [fp, #-48]
	ldr	r0, .L28+136
	bl	printf
	ldr	r1, [fp, #-44]
	ldr	r0, .L28+140
	bl	printf
	ldr	r1, [fp, #-40]
	ldr	r0, .L28+144
	bl	printf
	ldr	r1, [fp, #-36]
	ldr	r0, .L28+148
	bl	printf
	ldr	r1, [fp, #-32]
	ldr	r0, .L28+152
	bl	printf
	ldr	r1, [fp, #-28]
	ldr	r0, .L28+156
	bl	printf
	ldr	r1, [fp, #-24]
	ldr	r0, .L28+160
	bl	printf
	ldr	r1, [fp, #-20]
	ldr	r0, .L28+164
	bl	printf
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #8]
	cmp	r3, #32
	bne	.L22
	ldr	r1, .L28+168
	ldr	r0, .L28+172
	bl	printf
	b	.L23
.L22:
	ldr	r1, .L28+176
	ldr	r0, .L28+172
	bl	printf
.L23:
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #8]
	cmp	r3, #4
	ble	.L24
	ldr	r1, .L28+180
	ldr	r0, .L28+184
	bl	printf
	b	.L25
.L24:
	ldr	r1, .L28+176
	ldr	r0, .L28+184
	bl	printf
.L25:
	mov	r1, #0
	ldr	r0, .L28+188
	bl	printf
	mov	r1, #0
	ldr	r0, .L28+192
	bl	printf
	ldr	r1, [fp, #-52]
	ldr	r0, .L28+196
	bl	printf
	mov	r1, #0
	ldr	r0, .L28+200
	bl	printf
	mov	r1, #0
	ldr	r0, .L28+204
	bl	printf
	ldr	r1, [fp, #-48]
	ldr	r0, .L28+208
	bl	printf
	ldr	r1, [fp, #-44]
	ldr	r0, .L28+212
	bl	printf
	ldr	r1, [fp, #-40]
	ldr	r0, .L28+216
	bl	printf
	ldr	r1, [fp, #-36]
	ldr	r0, .L28+220
	bl	printf
	ldr	r1, [fp, #-32]
	ldr	r0, .L28+224
	bl	printf
	ldr	r1, [fp, #-28]
	ldr	r0, .L28+228
	bl	printf
	ldr	r1, [fp, #-24]
	ldr	r0, .L28+232
	bl	printf
	ldr	r1, [fp, #-20]
	ldr	r0, .L28+236
	bl	printf
	mov	r1, #0
	ldr	r0, .L28+240
	bl	printf
	ldr	r0, .L28+244
	bl	puts
.L5:
	ldr	r3, [fp, #-56]
	add	r3, r3, #16
	str	r3, [fp, #-56]
.L2:
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #12]
	cmp	r3, #0
	bne	.L26
	ldr	r0, .L28+248
	bl	puts
	ldr	r0, .L28+252
	bl	puts
	ldr	r0, .L28+244
	bl	puts
	ldr	r0, .L28+256
	bl	puts
	mov	r3, #0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L29:
	.align	2
.L28:
	.word	.LC0
	.word	.LC1
	.word	.LC2
	.word	.LC3
	.word	modes
	.word	.LC4
	.word	.LC5
	.word	.LC6
	.word	.LC7
	.word	.LC8
	.word	.LC9
	.word	.LC10
	.word	.LC11
	.word	.LC12
	.word	.LC13
	.word	.LC14
	.word	.LC15
	.word	.LC16
	.word	.LC17
	.word	.LC18
	.word	.LC19
	.word	.LC20
	.word	.LC21
	.word	.LC22
	.word	.LC23
	.word	.LC24
	.word	.LC25
	.word	.LC26
	.word	.LC27
	.word	.LC28
	.word	.LC29
	.word	.LC30
	.word	.LC31
	.word	.LC32
	.word	.LC33
	.word	.LC34
	.word	.LC35
	.word	.LC36
	.word	.LC37
	.word	.LC38
	.word	.LC39
	.word	.LC40
	.word	.LC41
	.word	.LC42
	.word	.LC43
	.word	.LC44
	.word	.LC45
	.word	.LC46
	.word	.LC47
	.word	.LC48
	.word	.LC49
	.word	.LC50
	.word	.LC51
	.word	.LC52
	.word	.LC53
	.word	.LC54
	.word	.LC55
	.word	.LC56
	.word	.LC57
	.word	.LC58
	.word	.LC59
	.word	.LC60
	.word	.LC61
	.word	.LC62
	.word	.LC63
	.size	main, .-main
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
