	.file	"font.c"
	.text
	.section	.rodata.str1.1,"aMS",@progbits,1
.LC0:
	.string	"FONT/mono.png"
	.text
	.globl	TMFont
	.type	TMFont, @function
TMFont:
.LFB22:
	.cfi_startproc
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	pushq	%r13
	pushq	%r12
	pushq	%rbx
	subq	$8, %rsp
	.cfi_offset 13, -24
	.cfi_offset 12, -32
	.cfi_offset 3, -40
1:	call	mcount
	movl	%esi, %r13d
	movl	%edx, %r12d
	movd	%xmm0, %ebx
	movl	$font_frag.2, %esi
	movl	$font_vert.3, %edi
	call	createShader
	movl	t(%rip), %edi
	call	createProgram
	movl	%r13d, m_Width(%rip)
	movl	%r12d, m_Height(%rip)
	movl	%ebx, m_fontSize(%rip)
	movq	$.LC0, m_textureName(%rip)
	movl	$mono5, %esi
	movl	$.LC0, %edi
	call	read_png
	movl	$1, %eax
	addq	$8, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE22:
	.size	TMFont, .-TMFont
	.globl	MipmapsImage
	.type	MipmapsImage, @function
MipmapsImage:
.LFB23:
	.cfi_startproc
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
1:	call	mcount
	movl	$3553, %edi
	call	glEnable
	movl	$33071, %edx
	movl	$10242, %esi
	movl	$3553, %edi
	call	glTexParameteri
	movl	$33071, %edx
	movl	$10243, %esi
	movl	$3553, %edi
	call	glTexParameteri
	popq	%rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE23:
	.size	MipmapsImage, .-MipmapsImage
	.section	.rodata.str1.8,"aMS",@progbits,1
	.align 8
.LC2:
	.string	" COULD NOT INITIALIZE THE FONT "
	.section	.rodata.str1.1
.LC4:
	.string	"f_Vertex"
.LC5:
	.string	"f_TexCoord"
.LC6:
	.string	"texture3"
	.text
	.globl	initFont
	.type	initFont, @function
initFont:
.LFB24:
	.cfi_startproc
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	pushq	%rbx
	subq	$72, %rsp
	.cfi_offset 3, -24
1:	call	mcount
	movss	.LC1(%rip), %xmm0
	movl	m_Height(%rip), %edx
	movl	m_Width(%rip), %esi
	movl	$.LC0, %edi
	call	TMFont
	movl	%eax, %ebx
	testb	%al, %al
	je	.L6
	movq	mono5(%rip), %rdx
	movl	$1, %esi
	movl	$8, %edi
	call	MipmapsImage
	movl	$0x00000000, -48(%rbp)
	movl	$0x00000000, -44(%rbp)
	movss	m_fontSize(%rip), %xmm0
	movss	%xmm0, -40(%rbp)
	movl	$0x00000000, -36(%rbp)
	movss	%xmm0, -32(%rbp)
	movss	%xmm0, -28(%rbp)
	movl	$0x00000000, -24(%rbp)
	movss	%xmm0, -20(%rbp)
	movl	$vbos5, %esi
	movl	$4, %edi
	call	*__glewGenBuffers(%rip)
	movl	vbos5+8(%rip), %esi
	movl	$34962, %edi
	call	*__glewBindBuffer(%rip)
	movl	$35044, %ecx
	leaq	-48(%rbp), %rdx
	movl	$32, %esi
	movl	$34962, %edi
	call	*__glewBufferData(%rip)
	pxor	%xmm0, %xmm0
	movaps	%xmm0, -80(%rbp)
	movaps	%xmm0, -64(%rbp)
	movl	vbos5+4(%rip), %esi
	movl	$34962, %edi
	call	*__glewBindBuffer(%rip)
	movl	$35048, %ecx
	leaq	-80(%rbp), %rdx
	movl	$32, %esi
	movl	$34962, %edi
	call	*__glewBufferData(%rip)
	movl	$.LC4, %edx
	movl	$0, %esi
	movl	t(%rip), %edi
	call	Location
	movl	$.LC5, %edx
	movl	$1, %esi
	movl	t(%rip), %edi
	call	Location
	movl	t(%rip), %edi
	call	linkProgram
	pxor	%xmm0, %xmm0
	movl	$.LC6, %esi
	movl	t(%rip), %edi
	call	Uniform
	movl	$1, %ebx
.L3:
	movl	%ebx, %eax
	movq	-8(%rbp), %rbx
	leave
	.cfi_remember_state
	.cfi_def_cfa 7, 8
	ret
.L6:
	.cfi_restore_state
	movl	$.LC2, %edi
	call	puts
	jmp	.L3
	.cfi_endproc
.LFE24:
	.size	initFont, .-initFont
	.globl	setOrthoMode
	.type	setOrthoMode, @function
setOrthoMode:
.LFB26:
	.cfi_startproc
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
1:	call	mcount
	movl	$5889, %edi
	call	glMatrixMode
	call	glPushMatrix
	call	glLoadIdentity
	pxor	%xmm3, %xmm3
	cvtsi2ssl	m_Height(%rip), %xmm3
	pxor	%xmm1, %xmm1
	cvtsi2ssl	m_Width(%rip), %xmm1
	movsd	.LC8(%rip), %xmm5
	movsd	.LC9(%rip), %xmm4
	cvtss2sd	%xmm3, %xmm3
	pxor	%xmm2, %xmm2
	cvtss2sd	%xmm1, %xmm1
	movapd	%xmm2, %xmm0
	call	glOrtho
	movl	$5888, %edi
	call	glMatrixMode
	call	glPushMatrix
	call	glLoadIdentity
	popq	%rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE26:
	.size	setOrthoMode, .-setOrthoMode
	.globl	unsetOrthoMode
	.type	unsetOrthoMode, @function
unsetOrthoMode:
.LFB27:
	.cfi_startproc
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
1:	call	mcount
	call	glPopMatrix
	movl	$5889, %edi
	call	glMatrixMode
	call	glPopMatrix
	movl	$5888, %edi
	call	glMatrixMode
	popq	%rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE27:
	.size	unsetOrthoMode, .-unsetOrthoMode
	.section	.rodata.str1.1
.LC14:
	.string	"projection_matrix"
.LC15:
	.string	"modelview_matrix"
	.text
	.globl	printString
	.type	printString, @function
printString:
.LFB25:
	.cfi_startproc
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	pushq	%r12
	pushq	%rbx
	subq	$48, %rsp
	.cfi_offset 12, -24
	.cfi_offset 3, -32
1:	call	mcount
	movq	%rdi, %r12
	movss	%xmm0, -52(%rbp)
	movss	%xmm1, -56(%rbp)
	movl	t(%rip), %edi
	call	bindShader
	movl	$0, %eax
	call	setOrthoMode
	movl	$2884, %edi
	call	glDisable
	movl	$2929, %edi
	call	glDisable
	movl	m_textureID(%rip), %esi
	movl	$3553, %edi
	call	glBindTexture
	movl	$0, %edi
	call	*__glewEnableVertexAttribArray(%rip)
	movl	$1, %edi
	call	*__glewEnableVertexAttribArray(%rip)
	pxor	%xmm2, %xmm2
	movss	-56(%rbp), %xmm1
	movss	-52(%rbp), %xmm0
	call	glTranslatef
	movq	%r12, %rbx
	addq	$8, %r12
.L10:
	movsbl	(%rbx), %edx
	movl	%edx, %ecx
	sarl	$31, %ecx
	shrl	$28, %ecx
	leal	(%rdx,%rcx), %eax
	andl	$15, %eax
	subl	%ecx, %eax
	pxor	%xmm1, %xmm1
	cvtsi2ssl	%eax, %xmm1
	mulss	.LC11(%rip), %xmm1
	movss	%xmm1, -48(%rbp)
	leal	15(%rdx), %eax
	testl	%edx, %edx
	cmovns	%edx, %eax
	sarl	$4, %eax
	pxor	%xmm2, %xmm2
	cvtsi2ssl	%eax, %xmm2
	mulss	.LC11(%rip), %xmm2
	movss	.LC12(%rip), %xmm0
	subss	%xmm2, %xmm0
	movaps	%xmm0, %xmm3
	subss	.LC11(%rip), %xmm3
	movss	%xmm3, -44(%rbp)
	movss	.LC11(%rip), %xmm2
	addss	%xmm1, %xmm2
	movss	%xmm2, -40(%rbp)
	movss	%xmm3, -36(%rbp)
	movss	%xmm2, -32(%rbp)
	subss	.LC13(%rip), %xmm0
	movss	%xmm0, -28(%rbp)
	movss	%xmm1, -24(%rbp)
	movss	%xmm0, -20(%rbp)
	movl	vbos5+4(%rip), %esi
	movl	$34962, %edi
	call	*__glewBindBuffer(%rip)
	leaq	-48(%rbp), %rcx
	movl	$32, %edx
	movl	$0, %esi
	movl	$34962, %edi
	call	*__glewBufferSubData(%rip)
	movl	vbos5+8(%rip), %esi
	movl	$34962, %edi
	call	*__glewBindBuffer(%rip)
	movl	$w_vertices5, %r9d
	movl	$0, %r8d
	movl	$0, %ecx
	movl	$5126, %edx
	movl	$2, %esi
	movl	$0, %edi
	call	*__glewVertexAttribPointer(%rip)
	movl	vbos5+4(%rip), %esi
	movl	$34962, %edi
	call	*__glewBindBuffer(%rip)
	movl	$w_texCoords5, %r9d
	movl	$0, %r8d
	movl	$0, %ecx
	movl	$5126, %edx
	movl	$2, %esi
	movl	$1, %edi
	call	*__glewVertexAttribPointer(%rip)
	movl	$projection1.1, %esi
	movl	$2983, %edi
	call	glGetFloatv
	movl	$modelview1.0, %esi
	movl	$2982, %edi
	call	glGetFloatv
	movl	$projection1.1, %ecx
	movl	$0, %edx
	movl	$.LC14, %esi
	movl	t(%rip), %edi
	call	Uniform4x4
	movl	$modelview1.0, %ecx
	movl	$1, %edx
	movl	$.LC15, %esi
	movl	t(%rip), %edi
	call	Uniform4x4
	movl	$4, %edx
	movl	$0, %esi
	movl	$7, %edi
	call	glDrawArrays
	movss	.LC16(%rip), %xmm0
	mulss	m_fontSize(%rip), %xmm0
	pxor	%xmm2, %xmm2
	movaps	%xmm2, %xmm1
	call	glTranslatef
	addq	$1, %rbx
	cmpq	%r12, %rbx
	jne	.L10
	movl	$0, %edi
	call	*__glewDisableVertexAttribArray(%rip)
	movl	$1, %edi
	call	*__glewDisableVertexAttribArray(%rip)
	movl	$0, %eax
	call	unsetOrthoMode
	addq	$48, %rsp
	popq	%rbx
	popq	%r12
	popq	%rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE25:
	.size	printString, .-printString
	.local	modelview1.0
	.comm	modelview1.0,64,32
	.local	projection1.1
	.comm	projection1.1,64,32
	.section	.rodata
	.align 8
	.type	font_frag.2, @object
	.size	font_frag.2, 15
font_frag.2:
	.string	"GLSL/font.frag"
	.align 8
	.type	font_vert.3, @object
	.size	font_vert.3, 15
font_vert.3:
	.string	"GLSL/font.vert"
	.globl	mono5
	.bss
	.align 8
	.type	mono5, @object
	.size	mono5, 8
mono5:
	.zero	8
	.globl	m_Height
	.align 4
	.type	m_Height, @object
	.size	m_Height, 4
m_Height:
	.zero	4
	.globl	m_Width
	.align 4
	.type	m_Width, @object
	.size	m_Width, 4
m_Width:
	.zero	4
	.globl	m_fontSize
	.align 4
	.type	m_fontSize, @object
	.size	m_fontSize, 4
m_fontSize:
	.zero	4
	.globl	m_textureName
	.align 8
	.type	m_textureName, @object
	.size	m_textureName, 8
m_textureName:
	.zero	8
	.globl	m_textureID
	.align 4
	.type	m_textureID, @object
	.size	m_textureID, 4
m_textureID:
	.zero	4
	.globl	w_vertices5
	.align 32
	.type	w_vertices5, @object
	.size	w_vertices5, 32
w_vertices5:
	.zero	32
	.globl	w_texCoords5
	.align 32
	.type	w_texCoords5, @object
	.size	w_texCoords5, 32
w_texCoords5:
	.zero	32
	.globl	t
	.align 4
	.type	t, @object
	.size	t, 4
t:
	.zero	4
	.globl	vbos5
	.align 16
	.type	vbos5, @object
	.size	vbos5, 16
vbos5:
	.zero	16
	.section	.rodata.cst4,"aM",@progbits,4
	.align 4
.LC1:
	.long	1103626240
	.section	.rodata.cst8,"aM",@progbits,8
	.align 8
.LC8:
	.long	0
	.long	1072693248
	.align 8
.LC9:
	.long	0
	.long	-1074790400
	.section	.rodata.cst4
	.align 4
.LC11:
	.long	1031798784
	.align 4
.LC12:
	.long	1065353216
	.align 4
.LC13:
	.long	981668463
	.align 4
.LC16:
	.long	1061997773
	.ident	"GCC: (GNU) 12.2.1 20220819 (Red Hat 12.2.1-2)"
	.section	.note.GNU-stack,"",@progbits
