	.file	"decoder.cpp"
	.text
	.align 2
	.globl	_ZN3tga7DecoderC2EPNS_13FileInterfaceE
	.type	_ZN3tga7DecoderC2EPNS_13FileInterfaceE, @function
_ZN3tga7DecoderC2EPNS_13FileInterfaceE:
.LFB1385:
	.cfi_startproc
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
1:	call	mcount
	movq	%rsi, (%rdi)
	movb	$0, 8(%rdi)
	addq	$16, %rdi
	call	_ZN3tga7details13ImageIteratorC1Ev
	popq	%rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE1385:
	.size	_ZN3tga7DecoderC2EPNS_13FileInterfaceE, .-_ZN3tga7DecoderC2EPNS_13FileInterfaceE
	.globl	_ZN3tga7DecoderC1EPNS_13FileInterfaceE
	.set	_ZN3tga7DecoderC1EPNS_13FileInterfaceE,_ZN3tga7DecoderC2EPNS_13FileInterfaceE
	.align 2
	.globl	_ZN3tga7Decoder16postProcessImageERKNS_6HeaderERNS_5ImageE
	.type	_ZN3tga7Decoder16postProcessImageERKNS_6HeaderERNS_5ImageE, @function
_ZN3tga7Decoder16postProcessImageERKNS_6HeaderERNS_5ImageE:
.LFB1397:
	.cfi_startproc
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	pushq	%r15
	pushq	%r14
	pushq	%r13
	pushq	%r12
	pushq	%rbx
	subq	$8, %rsp
	.cfi_offset 15, -24
	.cfi_offset 14, -32
	.cfi_offset 13, -40
	.cfi_offset 12, -48
	.cfi_offset 3, -56
1:	call	mcount
	movq	%rsi, %r9
	movq	%rdx, %rbx
	movzbl	2(%rsi), %eax
	andl	$-9, %eax
	cmpb	$2, %al
	jne	.L2
	movzbl	8(%rdi), %esi
	testb	%sil, %sil
	je	.L2
	movzwl	16(%r9), %eax
	movzwl	%ax, %r13d
	testw	%ax, %ax
	je	.L2
	movq	(%rdx), %r15
	movl	12(%rdx), %r14d
	movzwl	14(%r9), %r12d
	movzwl	%r12w, %eax
	leal	-1(%rax), %eax
	leaq	4(,%rax,4), %rax
	movq	%rax, -48(%rbp)
	movl	%esi, %ecx
	movl	$0, %r11d
	movl	$0, %r10d
	jmp	.L8
.L6:
	addq	$4, %rax
	cmpq	%rdi, %rax
	je	.L4
.L7:
	movl	(%rax), %edx
	testb	%sil, %sil
	je	.L5
	movl	%edx, %esi
	shrl	$24, %esi
	sete	%sil
.L5:
	testb	%cl, %cl
	je	.L6
	movl	%edx, %ecx
	shrl	$8, %ecx
	movl	%edx, %r8d
	shrl	$16, %r8d
	orl	%r8d, %ecx
	orb	%dl, %cl
	sete	%cl
	jmp	.L6
.L4:
	addl	$1, %r10d
	addl	%r14d, %r11d
	cmpl	%r13d, %r10d
	je	.L16
.L8:
	movl	%r11d, %eax
	addq	%r15, %rax
	testw	%r12w, %r12w
	je	.L4
	movq	-48(%rbp), %rdi
	addq	%rax, %rdi
	jmp	.L7
.L16:
	cmpb	$1, %cl
	je	.L2
	testb	%sil, %sil
	je	.L2
	movl	$0, %esi
.L11:
	movl	%esi, %edx
	imull	12(%rbx), %edx
	addq	(%rbx), %rdx
	cmpw	$0, 14(%r9)
	je	.L9
	movl	$0, %eax
.L10:
	orl	$-16777216, (%rdx,%rax,4)
	addq	$1, %rax
	movzwl	14(%r9), %ecx
	cmpl	%eax, %ecx
	jg	.L10
.L9:
	addl	$1, %esi
	movzwl	16(%r9), %eax
	cmpl	%esi, %eax
	jg	.L11
.L2:
	addq	$8, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE1397:
	.size	_ZN3tga7Decoder16postProcessImageERKNS_6HeaderERNS_5ImageE, .-_ZN3tga7Decoder16postProcessImageERKNS_6HeaderERNS_5ImageE
	.align 2
	.globl	_ZN3tga7Decoder5read8Ev
	.type	_ZN3tga7Decoder5read8Ev, @function
_ZN3tga7Decoder5read8Ev:
.LFB1400:
	.cfi_startproc
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
1:	call	mcount
	movq	(%rdi), %rdi
	movq	(%rdi), %rax
	call	*40(%rax)
	popq	%rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE1400:
	.size	_ZN3tga7Decoder5read8Ev, .-_ZN3tga7Decoder5read8Ev
	.section	.text._ZN3tga7Decoder10read8ColorEv,"axG",@progbits,_ZN3tga7Decoder10read8ColorEv,comdat
	.align 2
	.weak	_ZN3tga7Decoder10read8ColorEv
	.type	_ZN3tga7Decoder10read8ColorEv, @function
_ZN3tga7Decoder10read8ColorEv:
.LFB1381:
	.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	_ZN3tga7Decoder5read8Ev
	movzbl	%al, %eax
	popq	%rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE1381:
	.size	_ZN3tga7Decoder10read8ColorEv, .-_ZN3tga7Decoder10read8ColorEv
	.text
	.align 2
	.globl	_ZN3tga7Decoder11read32AsRgbEv
	.type	_ZN3tga7Decoder11read32AsRgbEv, @function
_ZN3tga7Decoder11read32AsRgbEv:
.LFB1403:
	.cfi_startproc
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	pushq	%r14
	pushq	%r13
	pushq	%r12
	pushq	%rbx
	.cfi_offset 14, -24
	.cfi_offset 13, -32
	.cfi_offset 12, -40
	.cfi_offset 3, -48
1:	call	mcount
	movq	%rdi, %r14
	call	_ZN3tga7Decoder5read8Ev
	movl	%eax, %r13d
	movq	%r14, %rdi
	call	_ZN3tga7Decoder5read8Ev
	movl	%eax, %ebx
	movq	%r14, %rdi
	call	_ZN3tga7Decoder5read8Ev
	movl	%eax, %r12d
	movq	%r14, %rdi
	call	_ZN3tga7Decoder5read8Ev
	cmpb	$0, 8(%r14)
	movl	$-1, %edx
	cmovne	%eax, %edx
	movzbl	%bl, %eax
	sall	$8, %eax
	movzbl	%r13b, %r13d
	sall	$16, %r13d
	orl	%r13d, %eax
	movzbl	%r12b, %r12d
	orl	%r12d, %eax
	sall	$24, %edx
	orl	%edx, %eax
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE1403:
	.size	_ZN3tga7Decoder11read32AsRgbEv, .-_ZN3tga7Decoder11read32AsRgbEv
	.align 2
	.globl	_ZN3tga7Decoder11read24AsRgbEv
	.type	_ZN3tga7Decoder11read24AsRgbEv, @function
_ZN3tga7Decoder11read24AsRgbEv:
.LFB1404:
	.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
	movq	%rdi, %r13
	call	_ZN3tga7Decoder5read8Ev
	movl	%eax, %r12d
	movq	%r13, %rdi
	call	_ZN3tga7Decoder5read8Ev
	movl	%eax, %ebx
	movq	%r13, %rdi
	call	_ZN3tga7Decoder5read8Ev
	movzbl	%bl, %ebx
	sall	$8, %ebx
	movzbl	%r12b, %r12d
	sall	$16, %r12d
	orl	%r12d, %ebx
	movzbl	%al, %eax
	orl	%eax, %ebx
	movl	%ebx, %eax
	orl	$-16777216, %eax
	addq	$8, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE1404:
	.size	_ZN3tga7Decoder11read24AsRgbEv, .-_ZN3tga7Decoder11read24AsRgbEv
	.align 2
	.globl	_ZN3tga7Decoder6read16Ev
	.type	_ZN3tga7Decoder6read16Ev, @function
_ZN3tga7Decoder6read16Ev:
.LFB1401:
	.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
	movq	%rdi, %rbx
	movq	(%rdi), %rdi
	movq	(%rdi), %rax
	call	*40(%rax)
	movl	%eax, %r13d
	movq	(%rbx), %rdi
	movq	(%rdi), %rax
	call	*40(%rax)
	movl	%eax, %r12d
	movq	(%rbx), %rdi
	movq	(%rdi), %rax
	call	*16(%rax)
	movl	%eax, %edx
	movl	$0, %eax
	testb	%dl, %dl
	je	.L23
	sall	$8, %r12d
	movzbl	%r13b, %eax
	orl	%r12d, %eax
.L23:
	addq	$8, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE1401:
	.size	_ZN3tga7Decoder6read16Ev, .-_ZN3tga7Decoder6read16Ev
	.align 2
	.globl	_ZN3tga7Decoder11read16AsRgbEv
	.type	_ZN3tga7Decoder11read16AsRgbEv, @function
_ZN3tga7Decoder11read16AsRgbEv:
.LFB1405:
	.cfi_startproc
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	pushq	%rbx
	subq	$8, %rsp
	.cfi_offset 3, -24
1:	call	mcount
	movq	%rdi, %rbx
	call	_ZN3tga7Decoder6read16Ev
	movl	$-1, %ecx
	cmpb	$0, 8(%rbx)
	je	.L27
	movl	%eax, %ebx
	sarw	$15, %bx
	movl	%ebx, %ecx
.L27:
	movl	%eax, %edx
	andl	$31, %edx
	movl	%eax, %esi
	shrw	$5, %si
	andl	$31, %esi
	shrw	$10, %ax
	andl	$31, %eax
	movl	%edx, %edi
	shrb	$2, %dil
	sall	$3, %edx
	orl	%edi, %edx
	movzbl	%dl, %edx
	sall	$16, %edx
	movl	%eax, %edi
	shrb	$2, %dil
	sall	$3, %eax
	orl	%edi, %eax
	movzbl	%al, %eax
	orl	%edx, %eax
	movl	%esi, %edx
	shrb	$2, %dl
	sall	$3, %esi
	orl	%edx, %esi
	movzbl	%sil, %esi
	sall	$8, %esi
	orl	%esi, %eax
	sall	$24, %ecx
	orl	%ecx, %eax
	movq	-8(%rbp), %rbx
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE1405:
	.size	_ZN3tga7Decoder11read16AsRgbEv, .-_ZN3tga7Decoder11read16AsRgbEv
	.align 2
	.globl	_ZN3tga7Decoder12readColormapERNS_6HeaderE
	.type	_ZN3tga7Decoder12readColormapERNS_6HeaderE, @function
_ZN3tga7Decoder12readColormapERNS_6HeaderE:
.LFB1388:
	.cfi_startproc
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	pushq	%r15
	pushq	%r14
	pushq	%r13
	pushq	%r12
	pushq	%rbx
	subq	$24, %rsp
	.cfi_offset 15, -24
	.cfi_offset 14, -32
	.cfi_offset 13, -40
	.cfi_offset 12, -48
	.cfi_offset 3, -56
1:	call	mcount
	movq	%rdi, %r15
	movq	%rsi, %r12
	movzwl	6(%rsi), %ebx
	testq	%rbx, %rbx
	je	.L40
	leaq	0(,%rbx,4), %r13
	movq	%r13, %rdi
	call	_Znwm
	leaq	(%rax,%r13), %rcx
	movl	$0, (%rax)
	leaq	4(%rax), %rdx
	cmpq	$1, %rbx
	je	.L30
	cmpq	%rdx, %rcx
	je	.L41
.L31:
	movl	$0, (%rdx)
	addq	$4, %rdx
	cmpq	%rdx, %rcx
	jne	.L31
	movq	%rcx, %rdx
	jmp	.L30
.L40:
	movl	$0, %ecx
	movl	$0, %eax
	movl	$0, %edx
.L30:
	movq	56(%r12), %rdi
	movq	%rax, 56(%r12)
	movq	%rdx, 64(%r12)
	movq	%rcx, 72(%r12)
	testq	%rdi, %rdi
	je	.L32
	call	_ZdlPv
.L32:
	cmpw	$0, 6(%r12)
	je	.L29
	movl	$0, %r13d
	jmp	.L39
.L41:
	movq	%rdx, %rcx
	jmp	.L30
.L35:
	cmpb	$32, %al
	je	.L34
.L36:
	addq	$1, %r13
	movzwl	6(%r12), %eax
	cmpl	%r13d, %eax
	jle	.L29
.L39:
	movzbl	8(%r12), %eax
	cmpb	$24, %al
	je	.L34
	ja	.L35
	subl	$15, %eax
	cmpb	$1, %al
	ja	.L36
	movq	%r15, %rdi
	call	_ZN3tga7Decoder6read16Ev
	movl	%eax, %edx
	andl	$31, %edx
	movl	%eax, %edi
	shrw	$5, %di
	andl	$31, %edi
	shrw	$10, %ax
	movl	%eax, %ecx
	andl	$31, %ecx
	movq	56(%r12), %rsi
	movl	%edx, %r8d
	shrb	$2, %r8b
	leal	0(,%rdx,8), %eax
	orl	%r8d, %eax
	movzbl	%al, %eax
	sall	$16, %eax
	movl	%ecx, %edx
	shrb	$2, %dl
	sall	$3, %ecx
	orl	%edx, %ecx
	movzbl	%cl, %ecx
	orl	%ecx, %eax
	movl	%edi, %edx
	shrb	$2, %dl
	sall	$3, %edi
	orl	%edx, %edi
	movzbl	%dil, %edi
	sall	$8, %edi
	orl	%edi, %eax
	orl	$-16777216, %eax
	movl	%eax, (%rsi,%r13,4)
	jmp	.L36
.L34:
	movq	%r15, %rdi
	call	_ZN3tga7Decoder5read8Ev
	movl	%eax, %r14d
	movq	%r15, %rdi
	call	_ZN3tga7Decoder5read8Ev
	movl	%eax, %ebx
	movq	%r15, %rdi
	call	_ZN3tga7Decoder5read8Ev
	movb	%al, -49(%rbp)
	movl	$-1, %eax
	cmpb	$32, 8(%r12)
	je	.L46
.L38:
	movq	56(%r12), %rdx
	movzbl	%bl, %ebx
	sall	$8, %ebx
	movzbl	%r14b, %r14d
	sall	$16, %r14d
	orl	%r14d, %ebx
	movzbl	-49(%rbp), %ecx
	orl	%ecx, %ebx
	sall	$24, %eax
	orl	%eax, %ebx
	movl	%ebx, (%rdx,%r13,4)
	jmp	.L36
.L46:
	movq	%r15, %rdi
	call	_ZN3tga7Decoder5read8Ev
	jmp	.L38
.L29:
	addq	$24, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE1388:
	.size	_ZN3tga7Decoder12readColormapERNS_6HeaderE, .-_ZN3tga7Decoder12readColormapERNS_6HeaderE
	.align 2
	.globl	_ZN3tga7Decoder10readHeaderERNS_6HeaderE
	.type	_ZN3tga7Decoder10readHeaderERNS_6HeaderE, @function
_ZN3tga7Decoder10readHeaderERNS_6HeaderE:
.LFB1387:
	.cfi_startproc
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	pushq	%r15
	pushq	%r14
	pushq	%r13
	pushq	%r12
	pushq	%rbx
	subq	$24, %rsp
	.cfi_offset 15, -24
	.cfi_offset 14, -32
	.cfi_offset 13, -40
	.cfi_offset 12, -48
	.cfi_offset 3, -56
1:	call	mcount
	movq	%rdi, %r12
	movq	%rsi, %rbx
	call	_ZN3tga7Decoder5read8Ev
	movb	%al, (%rbx)
	movq	%r12, %rdi
	call	_ZN3tga7Decoder5read8Ev
	movb	%al, 1(%rbx)
	movq	%r12, %rdi
	call	_ZN3tga7Decoder5read8Ev
	movb	%al, 2(%rbx)
	movq	%r12, %rdi
	call	_ZN3tga7Decoder6read16Ev
	movw	%ax, 4(%rbx)
	movq	%r12, %rdi
	call	_ZN3tga7Decoder6read16Ev
	movw	%ax, 6(%rbx)
	movq	%r12, %rdi
	call	_ZN3tga7Decoder5read8Ev
	movb	%al, 8(%rbx)
	movq	%r12, %rdi
	call	_ZN3tga7Decoder6read16Ev
	movw	%ax, 10(%rbx)
	movq	%r12, %rdi
	call	_ZN3tga7Decoder6read16Ev
	movw	%ax, 12(%rbx)
	movq	%r12, %rdi
	call	_ZN3tga7Decoder6read16Ev
	movw	%ax, 14(%rbx)
	movq	%r12, %rdi
	call	_ZN3tga7Decoder6read16Ev
	movw	%ax, 16(%rbx)
	movq	%r12, %rdi
	call	_ZN3tga7Decoder5read8Ev
	movb	%al, 18(%rbx)
	movq	%r12, %rdi
	call	_ZN3tga7Decoder5read8Ev
	movb	%al, 19(%rbx)
	movl	$0, %eax
	cmpw	$0, 14(%rbx)
	je	.L47
	cmpw	$0, 16(%rbx)
	je	.L47
	movzbl	(%rbx), %r14d
	testb	%r14b, %r14b
	je	.L49
	subl	$1, %r14d
	leaq	40(%rbx), %rax
	movq	%rax, -64(%rbp)
	jmp	.L52
.L62:
	movl	$15, %eax
	jmp	.L50
.L51:
	movq	24(%rbx), %rax
	movzbl	-49(%rbp), %ecx
	movb	%cl, (%rax,%r13)
	movq	%r15, 32(%rbx)
	movq	24(%rbx), %rax
	movb	$0, 1(%rax,%r13)
	subl	$1, %r14d
	cmpb	$-1, %r14b
	je	.L49
.L52:
	movq	(%r12), %rdi
	movq	(%rdi), %rax
	call	*40(%rax)
	movb	%al, -49(%rbp)
	movq	32(%rbx), %r13
	leaq	1(%r13), %r15
	movq	-64(%rbp), %rax
	cmpq	%rax, 24(%rbx)
	je	.L62
	movq	40(%rbx), %rax
.L50:
	cmpq	%r15, %rax
	jnb	.L51
	leaq	24(%rbx), %rdi
	movl	$1, %r8d
	movl	$0, %ecx
	movl	$0, %edx
	movq	%r13, %rsi
	call	_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_mutateEmmPKcm
	jmp	.L51
.L49:
	movzbl	18(%rbx), %eax
	subl	$16, %eax
	testb	$-17, %al
	sete	8(%r12)
	cmpb	$1, 1(%rbx)
	je	.L68
.L53:
	movzbl	2(%rbx), %ecx
	movl	%ecx, %eax
	andl	$-9, %eax
	cmpb	$1, %al
	jne	.L54
	cmpb	$8, 18(%rbx)
	je	.L69
.L55:
	movl	$0, %eax
	cmpb	$8, 18(%rbx)
	jbe	.L47
	cmpb	$0, 1(%rbx)
	jne	.L64
	cmpb	$11, %cl
	ja	.L47
.L56:
	movl	$1, %edx
	salq	%cl, %rdx
	testl	$2056, %edx
	jne	.L58
	testl	$1028, %edx
	jne	.L59
	movl	$0, %eax
	testl	$514, %edx
	jne	.L70
.L47:
	addq	$24, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	.cfi_remember_state
	.cfi_def_cfa 7, 8
	ret
.L68:
	.cfi_restore_state
	movq	%rbx, %rsi
	movq	%r12, %rdi
	call	_ZN3tga7Decoder12readColormapERNS_6HeaderE
	jmp	.L53
.L69:
	cmpb	$1, 1(%rbx)
	jne	.L55
	jmp	.L56
.L54:
	cmpb	$3, %al
	jne	.L55
	cmpb	$8, 18(%rbx)
	jne	.L55
	cmpb	$0, 1(%rbx)
	je	.L56
	movl	$0, %eax
	jmp	.L47
.L70:
	cmpb	$8, 18(%rbx)
	sete	%al
	jmp	.L47
.L59:
	movzbl	18(%rbx), %edx
	leal	-24(%rdx), %eax
	testb	$-9, %al
	sete	%al
	subl	$15, %edx
	cmpb	$1, %dl
	setbe	%dl
	orl	%edx, %eax
	jmp	.L47
.L58:
	cmpb	$8, 18(%rbx)
	sete	%al
	jmp	.L47
.L64:
	movl	$0, %eax
	jmp	.L47
	.cfi_endproc
.LFE1387:
	.size	_ZN3tga7Decoder10readHeaderERNS_6HeaderE, .-_ZN3tga7Decoder10readHeaderERNS_6HeaderE
	.align 2
	.globl	_ZN3tga7Decoder6read32Ev
	.type	_ZN3tga7Decoder6read32Ev, @function
_ZN3tga7Decoder6read32Ev:
.LFB1402:
	.cfi_startproc
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	pushq	%r15
	pushq	%r14
	pushq	%r13
	pushq	%r12
	pushq	%rbx
	subq	$8, %rsp
	.cfi_offset 15, -24
	.cfi_offset 14, -32
	.cfi_offset 13, -40
	.cfi_offset 12, -48
	.cfi_offset 3, -56
1:	call	mcount
	movq	%rdi, %rbx
	movq	(%rdi), %rdi
	movq	(%rdi), %rax
	call	*40(%rax)
	movl	%eax, %r14d
	movq	(%rbx), %rdi
	movq	(%rdi), %rax
	call	*40(%rax)
	movl	%eax, %r15d
	movq	(%rbx), %rdi
	movq	(%rdi), %rax
	call	*40(%rax)
	movl	%eax, %r13d
	movq	(%rbx), %rdi
	movq	(%rdi), %rax
	call	*40(%rax)
	movl	%eax, %r12d
	movq	(%rbx), %rdi
	movq	(%rdi), %rax
	call	*16(%rax)
	movl	%eax, %edx
	movl	$0, %eax
	testb	%dl, %dl
	je	.L71
	sall	$24, %r12d
	movzbl	%r13b, %r13d
	sall	$16, %r13d
	orl	%r13d, %r12d
	movzbl	%r14b, %r14d
	orl	%r14d, %r12d
	movzbl	%r15b, %eax
	sall	$8, %eax
	orl	%r12d, %eax
.L71:
	addq	$8, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE1402:
	.size	_ZN3tga7Decoder6read32Ev, .-_ZN3tga7Decoder6read32Ev
	.section	.text._ZN3tga7Decoder20readUncompressedDataIhEEbiMS0_FjvE,"axG",@progbits,_ZN3tga7Decoder20readUncompressedDataIhEEbiMS0_FjvE,comdat
	.align 2
	.weak	_ZN3tga7Decoder20readUncompressedDataIhEEbiMS0_FjvE
	.type	_ZN3tga7Decoder20readUncompressedDataIhEEbiMS0_FjvE, @function
_ZN3tga7Decoder20readUncompressedDataIhEEbiMS0_FjvE:
.LFB1622:
	.cfi_startproc
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	pushq	%r15
	pushq	%r14
	pushq	%r13
	pushq	%r12
	pushq	%rbx
	subq	$24, %rsp
	.cfi_offset 15, -24
	.cfi_offset 14, -32
	.cfi_offset 13, -40
	.cfi_offset 12, -48
	.cfi_offset 3, -56
1:	call	mcount
	movq	%rdi, %rbx
	movl	%esi, %r14d
	movq	%rdx, %r13
	movq	%rcx, %r15
	movl	$0, %r12d
	leaq	16(%rdi), %rax
	movq	%rax, -56(%rbp)
	movl	$0, %eax
	testl	%esi, %esi
	jg	.L75
.L74:
	addq	$24, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	.cfi_remember_state
	.cfi_def_cfa 7, 8
	ret
.L81:
	.cfi_restore_state
	movq	(%rdi), %rax
	movq	-1(%rax,%r13), %rax
.L78:
	call	*%rax
	movq	48(%rbx), %rdx
	movb	%al, (%rdx)
	movq	-56(%rbp), %rdi
	call	_ZN3tga7details13ImageIterator7advanceEv
	testb	%al, %al
	jne	.L74
	addl	$1, %r12d
	cmpl	%r12d, %r14d
	je	.L74
.L75:
	movq	(%rbx), %rdi
	movq	(%rdi), %rax
	call	*16(%rax)
	testb	%al, %al
	je	.L74
	leaq	(%rbx,%r15), %rdi
	movq	%r13, %rax
	testb	$1, %r13b
	je	.L78
	jmp	.L81
	.cfi_endproc
.LFE1622:
	.size	_ZN3tga7Decoder20readUncompressedDataIhEEbiMS0_FjvE, .-_ZN3tga7Decoder20readUncompressedDataIhEEbiMS0_FjvE
	.section	.text._ZN3tga7Decoder20readUncompressedDataIjEEbiMS0_FjvE,"axG",@progbits,_ZN3tga7Decoder20readUncompressedDataIjEEbiMS0_FjvE,comdat
	.align 2
	.weak	_ZN3tga7Decoder20readUncompressedDataIjEEbiMS0_FjvE
	.type	_ZN3tga7Decoder20readUncompressedDataIjEEbiMS0_FjvE, @function
_ZN3tga7Decoder20readUncompressedDataIjEEbiMS0_FjvE:
.LFB1623:
	.cfi_startproc
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	pushq	%r15
	pushq	%r14
	pushq	%r13
	pushq	%r12
	pushq	%rbx
	subq	$24, %rsp
	.cfi_offset 15, -24
	.cfi_offset 14, -32
	.cfi_offset 13, -40
	.cfi_offset 12, -48
	.cfi_offset 3, -56
1:	call	mcount
	movq	%rdi, %rbx
	movl	%esi, %r14d
	movq	%rdx, %r13
	movq	%rcx, %r15
	movl	$0, %r12d
	leaq	16(%rdi), %rax
	movq	%rax, -56(%rbp)
	movl	$0, %eax
	testl	%esi, %esi
	jg	.L83
.L82:
	addq	$24, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	.cfi_remember_state
	.cfi_def_cfa 7, 8
	ret
.L89:
	.cfi_restore_state
	movq	(%rdi), %rax
	movq	-1(%rax,%r13), %rax
.L86:
	call	*%rax
	movq	48(%rbx), %rdx
	movl	%eax, (%rdx)
	movq	-56(%rbp), %rdi
	call	_ZN3tga7details13ImageIterator7advanceEv
	testb	%al, %al
	jne	.L82
	addl	$1, %r12d
	cmpl	%r12d, %r14d
	je	.L82
.L83:
	movq	(%rbx), %rdi
	movq	(%rdi), %rax
	call	*16(%rax)
	testb	%al, %al
	je	.L82
	leaq	(%rbx,%r15), %rdi
	movq	%r13, %rax
	testb	$1, %r13b
	je	.L86
	jmp	.L89
	.cfi_endproc
.LFE1623:
	.size	_ZN3tga7Decoder20readUncompressedDataIjEEbiMS0_FjvE, .-_ZN3tga7Decoder20readUncompressedDataIjEEbiMS0_FjvE
	.section	.text._ZN3tga7Decoder11readRleDataIhEEbiMS0_FjvE,"axG",@progbits,_ZN3tga7Decoder11readRleDataIhEEbiMS0_FjvE,comdat
	.align 2
	.weak	_ZN3tga7Decoder11readRleDataIhEEbiMS0_FjvE
	.type	_ZN3tga7Decoder11readRleDataIhEEbiMS0_FjvE, @function
_ZN3tga7Decoder11readRleDataIhEEbiMS0_FjvE:
.LFB1624:
	.cfi_startproc
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	pushq	%r15
	pushq	%r14
	pushq	%r13
	pushq	%r12
	pushq	%rbx
	subq	$40, %rsp
	.cfi_offset 15, -24
	.cfi_offset 14, -32
	.cfi_offset 13, -40
	.cfi_offset 12, -48
	.cfi_offset 3, -56
1:	call	mcount
	movq	%rdi, %rbx
	movl	%esi, -68(%rbp)
	movq	%rdx, %r12
	movq	%rcx, %r14
	movl	$0, -56(%rbp)
	leaq	16(%rdi), %r15
	movl	$0, %eax
	testl	%esi, %esi
	jle	.L90
.L91:
	movq	(%rbx), %rdi
	movq	(%rdi), %rax
	call	*16(%rax)
	testb	%al, %al
	je	.L90
	movq	%rbx, %rdi
	call	_ZN3tga7Decoder5read8Ev
	testb	%al, %al
	js	.L108
	movzbl	%al, %eax
	addl	$1, %eax
	movl	%eax, -52(%rbp)
	movl	%eax, %r13d
	jmp	.L97
.L108:
	andl	$127, %eax
	addl	$1, %eax
	movzbl	%al, %eax
	movl	%eax, -72(%rbp)
	leaq	(%rbx,%r14), %rdi
	movq	%r12, %rax
	testb	$1, %r12b
	je	.L93
	movq	(%rdi), %rax
	movq	-1(%rax,%r12), %rax
.L93:
	call	*%rax
	movb	%al, -52(%rbp)
	movl	-72(%rbp), %r13d
	leaq	16(%rbx), %rax
	movq	%rax, -64(%rbp)
.L94:
	subl	$1, %r13d
	cmpl	$-1, %r13d
	je	.L109
	movq	48(%rbx), %rax
	movzbl	-52(%rbp), %ecx
	movb	%cl, (%rax)
	movq	-64(%rbp), %rdi
	call	_ZN3tga7details13ImageIterator7advanceEv
	testb	%al, %al
	je	.L94
.L90:
	addq	$40, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	.cfi_remember_state
	.cfi_def_cfa 7, 8
	ret
.L109:
	.cfi_restore_state
	movl	-72(%rbp), %esi
	addl	%esi, -56(%rbp)
	jmp	.L96
.L98:
	call	*%rax
	movq	48(%rbx), %rdx
	movb	%al, (%rdx)
	movq	%r15, %rdi
	call	_ZN3tga7details13ImageIterator7advanceEv
	testb	%al, %al
	jne	.L90
.L97:
	subl	$1, %r13d
	cmpl	$-1, %r13d
	je	.L110
	leaq	(%rbx,%r14), %rdi
	movq	%r12, %rax
	testb	$1, %r12b
	je	.L98
	movq	(%rdi), %rax
	movq	-1(%rax,%r12), %rax
	jmp	.L98
.L110:
	movl	-52(%rbp), %esi
	addl	%esi, -56(%rbp)
.L96:
	movl	-68(%rbp), %esi
	cmpl	%esi, -56(%rbp)
	jl	.L91
	movl	$0, %eax
	jmp	.L90
	.cfi_endproc
.LFE1624:
	.size	_ZN3tga7Decoder11readRleDataIhEEbiMS0_FjvE, .-_ZN3tga7Decoder11readRleDataIhEEbiMS0_FjvE
	.section	.text._ZN3tga7Decoder11readRleDataIjEEbiMS0_FjvE,"axG",@progbits,_ZN3tga7Decoder11readRleDataIjEEbiMS0_FjvE,comdat
	.align 2
	.weak	_ZN3tga7Decoder11readRleDataIjEEbiMS0_FjvE
	.type	_ZN3tga7Decoder11readRleDataIjEEbiMS0_FjvE, @function
_ZN3tga7Decoder11readRleDataIjEEbiMS0_FjvE:
.LFB1625:
	.cfi_startproc
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	pushq	%r15
	pushq	%r14
	pushq	%r13
	pushq	%r12
	pushq	%rbx
	subq	$40, %rsp
	.cfi_offset 15, -24
	.cfi_offset 14, -32
	.cfi_offset 13, -40
	.cfi_offset 12, -48
	.cfi_offset 3, -56
1:	call	mcount
	movq	%rdi, %rbx
	movl	%esi, -68(%rbp)
	movq	%rdx, %r12
	movq	%rcx, %r14
	movl	$0, -56(%rbp)
	leaq	16(%rdi), %r15
	movl	$0, %eax
	testl	%esi, %esi
	jle	.L111
.L112:
	movq	(%rbx), %rdi
	movq	(%rdi), %rax
	call	*16(%rax)
	testb	%al, %al
	je	.L111
	movq	%rbx, %rdi
	call	_ZN3tga7Decoder5read8Ev
	testb	%al, %al
	js	.L129
	movzbl	%al, %eax
	addl	$1, %eax
	movl	%eax, -52(%rbp)
	movl	%eax, %r13d
	jmp	.L118
.L129:
	andl	$127, %eax
	addl	$1, %eax
	movzbl	%al, %eax
	movl	%eax, -72(%rbp)
	leaq	(%rbx,%r14), %rdi
	movq	%r12, %rax
	testb	$1, %r12b
	je	.L114
	movq	(%rdi), %rax
	movq	-1(%rax,%r12), %rax
.L114:
	call	*%rax
	movl	%eax, -52(%rbp)
	movl	-72(%rbp), %r13d
	leaq	16(%rbx), %rax
	movq	%rax, -64(%rbp)
.L115:
	subl	$1, %r13d
	cmpl	$-1, %r13d
	je	.L130
	movq	48(%rbx), %rax
	movl	-52(%rbp), %ecx
	movl	%ecx, (%rax)
	movq	-64(%rbp), %rdi
	call	_ZN3tga7details13ImageIterator7advanceEv
	testb	%al, %al
	je	.L115
.L111:
	addq	$40, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	.cfi_remember_state
	.cfi_def_cfa 7, 8
	ret
.L130:
	.cfi_restore_state
	movl	-72(%rbp), %esi
	addl	%esi, -56(%rbp)
	jmp	.L117
.L119:
	call	*%rax
	movq	48(%rbx), %rdx
	movl	%eax, (%rdx)
	movq	%r15, %rdi
	call	_ZN3tga7details13ImageIterator7advanceEv
	testb	%al, %al
	jne	.L111
.L118:
	subl	$1, %r13d
	cmpl	$-1, %r13d
	je	.L131
	leaq	(%rbx,%r14), %rdi
	movq	%r12, %rax
	testb	$1, %r12b
	je	.L119
	movq	(%rdi), %rax
	movq	-1(%rax,%r12), %rax
	jmp	.L119
.L131:
	movl	-52(%rbp), %esi
	addl	%esi, -56(%rbp)
.L117:
	movl	-68(%rbp), %esi
	cmpl	%esi, -56(%rbp)
	jl	.L112
	movl	$0, %eax
	jmp	.L111
	.cfi_endproc
.LFE1625:
	.size	_ZN3tga7Decoder11readRleDataIjEEbiMS0_FjvE, .-_ZN3tga7Decoder11readRleDataIjEEbiMS0_FjvE
	.section	.rodata.str1.8,"aMS",@progbits,1
	.align 8
.LC0:
	.string	"bool tga::Decoder::readImage(const tga::Header&, tga::Image&, tga::Delegate*)"
	.section	.rodata.str1.1,"aMS",@progbits,1
.LC1:
	.string	"TEX/decoder.cpp"
.LC2:
	.string	"header.bitsPerPixel == 8"
.LC3:
	.string	"false"
	.text
	.align 2
	.globl	_ZN3tga7Decoder9readImageERKNS_6HeaderERNS_5ImageEPNS_8DelegateE
	.type	_ZN3tga7Decoder9readImageERKNS_6HeaderERNS_5ImageEPNS_8DelegateE, @function
_ZN3tga7Decoder9readImageERKNS_6HeaderERNS_5ImageEPNS_8DelegateE:
.LFB1396:
	.cfi_startproc
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register 6
	pushq	%r14
	pushq	%r13
	pushq	%r12
	pushq	%rbx
	subq	$48, %rsp
	.cfi_offset 14, -24
	.cfi_offset 13, -32
	.cfi_offset 12, -40
	.cfi_offset 3, -48
1:	call	mcount
	movq	%rdi, %r14
	movq	%rsi, %rbx
	movq	%rcx, %r13
	leaq	-80(%rbp), %rdi
	call	_ZN3tga7details13ImageIteratorC1ERKNS_6HeaderERNS_5ImageE
	movdqa	-80(%rbp), %xmm2
	movups	%xmm2, 16(%r14)
	movdqa	-64(%rbp), %xmm3
	movups	%xmm3, 32(%r14)
	movq	-48(%rbp), %rax
	movq	%rax, 48(%r14)
	cmpw	$0, 16(%rbx)
	je	.L133
	movl	$0, %r12d
	jmp	.L157
.L141:
	cmpb	$8, 18(%rbx)
	jne	.L161
	movzwl	14(%rbx), %esi
	movl	$_ZN3tga7Decoder10read8ColorEv, %edx
	movl	$0, %ecx
	movq	%r14, %rdi
	call	_ZN3tga7Decoder20readUncompressedDataIhEEbiMS0_FjvE
	testb	%al, %al
	jne	.L133
.L134:
	testq	%r13, %r13
	je	.L156
	pxor	%xmm0, %xmm0
	cvtsi2ssl	%r12d, %xmm0
	movzwl	16(%rbx), %eax
	pxor	%xmm1, %xmm1
	cvtsi2ssl	%eax, %xmm1
	divss	%xmm1, %xmm0
	cvtss2sd	%xmm0, %xmm0
	movq	0(%r13), %rax
	movq	%r13, %rdi
	call	*16(%rax)
	testb	%al, %al
	je	.L133
.L156:
	addl	$1, %r12d
	movzwl	16(%rbx), %eax
	cmpl	%r12d, %eax
	jle	.L133
.L157:
	cmpb	$11, 2(%rbx)
	ja	.L134
	movzbl	2(%rbx), %eax
	jmp	*.L136(,%rax,8)
	.section	.rodata
	.align 8
	.align 4
.L136:
	.quad	.L134
	.quad	.L141
	.quad	.L140
	.quad	.L139
	.quad	.L134
	.quad	.L134
	.quad	.L134
	.quad	.L134
	.quad	.L134
	.quad	.L138
	.quad	.L137
	.quad	.L135
	.text
.L161:
	movl	$.LC0, %ecx
	movl	$141, %edx
	movl	$.LC1, %esi
	movl	$.LC2, %edi
	call	__assert_fail
.L140:
	movzbl	18(%rbx), %eax
	cmpb	$24, %al
	je	.L143
	ja	.L144
	subl	$15, %eax
	cmpb	$1, %al
	ja	.L145
	movzwl	14(%rbx), %esi
	movl	$_ZN3tga7Decoder11read16AsRgbEv, %edx
	movl	$0, %ecx
	movq	%r14, %rdi
	call	_ZN3tga7Decoder20readUncompressedDataIjEEbiMS0_FjvE
	testb	%al, %al
	je	.L134
	jmp	.L133
.L144:
	cmpb	$32, %al
	jne	.L145
	movzwl	14(%rbx), %esi
	movl	$_ZN3tga7Decoder11read32AsRgbEv, %edx
	movl	$0, %ecx
	movq	%r14, %rdi
	call	_ZN3tga7Decoder20readUncompressedDataIjEEbiMS0_FjvE
	testb	%al, %al
	je	.L134
	jmp	.L133
.L143:
	movzwl	14(%rbx), %esi
	movl	$_ZN3tga7Decoder11read24AsRgbEv, %edx
	movl	$0, %ecx
	movq	%r14, %rdi
	call	_ZN3tga7Decoder20readUncompressedDataIjEEbiMS0_FjvE
	testb	%al, %al
	je	.L134
	jmp	.L133
.L145:
	movl	$.LC0, %ecx
	movl	$162, %edx
	movl	$.LC1, %esi
	movl	$.LC3, %edi
	call	__assert_fail
.L139:
	cmpb	$8, 18(%rbx)
	jne	.L162
	movzwl	14(%rbx), %esi
	movl	$_ZN3tga7Decoder10read8ColorEv, %edx
	movl	$0, %ecx
	movq	%r14, %rdi
	call	_ZN3tga7Decoder20readUncompressedDataIhEEbiMS0_FjvE
	testb	%al, %al
	je	.L134
.L133:
	movl	$1, %eax
	addq	$48, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%rbp
	.cfi_remember_state
	.cfi_def_cfa 7, 8
	ret
.L162:
	.cfi_restore_state
	movl	$.LC0, %ecx
	movl	$168, %edx
	movl	$.LC1, %esi
	movl	$.LC2, %edi
	call	__assert_fail
.L138:
	cmpb	$8, 18(%rbx)
	jne	.L163
	movzwl	14(%rbx), %esi
	movl	$_ZN3tga7Decoder10read8ColorEv, %edx
	movl	$0, %ecx
	movq	%r14, %rdi
	call	_ZN3tga7Decoder11readRleDataIhEEbiMS0_FjvE
	testb	%al, %al
	je	.L134
	jmp	.L133
.L163:
	movl	$.LC0, %ecx
	movl	$174, %edx
	movl	$.LC1, %esi
	movl	$.LC2, %edi
	call	__assert_fail
.L137:
	movzbl	18(%rbx), %eax
	cmpb	$24, %al
	je	.L150
	ja	.L151
	subl	$15, %eax
	cmpb	$1, %al
	ja	.L152
	movzwl	14(%rbx), %esi
	movl	$_ZN3tga7Decoder11read16AsRgbEv, %edx
	movl	$0, %ecx
	movq	%r14, %rdi
	call	_ZN3tga7Decoder11readRleDataIjEEbiMS0_FjvE
	testb	%al, %al
	je	.L134
	jmp	.L133
.L151:
	cmpb	$32, %al
	jne	.L152
	movzwl	14(%rbx), %esi
	movl	$_ZN3tga7Decoder11read32AsRgbEv, %edx
	movl	$0, %ecx
	movq	%r14, %rdi
	call	_ZN3tga7Decoder11readRleDataIjEEbiMS0_FjvE
	testb	%al, %al
	je	.L134
	jmp	.L133
.L150:
	movzwl	14(%rbx), %esi
	movl	$_ZN3tga7Decoder11read24AsRgbEv, %edx
	movl	$0, %ecx
	movq	%r14, %rdi
	call	_ZN3tga7Decoder11readRleDataIjEEbiMS0_FjvE
	testb	%al, %al
	je	.L134
	jmp	.L133
.L152:
	movl	$.LC0, %ecx
	movl	$195, %edx
	movl	$.LC1, %esi
	movl	$.LC3, %edi
	call	__assert_fail
.L135:
	cmpb	$8, 18(%rbx)
	jne	.L164
	movzwl	14(%rbx), %esi
	movl	$_ZN3tga7Decoder10read8ColorEv, %edx
	movl	$0, %ecx
	movq	%r14, %rdi
	call	_ZN3tga7Decoder11readRleDataIhEEbiMS0_FjvE
	testb	%al, %al
	je	.L134
	jmp	.L133
.L164:
	movl	$.LC0, %ecx
	movl	$201, %edx
	movl	$.LC1, %esi
	movl	$.LC2, %edi
	call	__assert_fail
	.cfi_endproc
.LFE1396:
	.size	_ZN3tga7Decoder9readImageERKNS_6HeaderERNS_5ImageEPNS_8DelegateE, .-_ZN3tga7Decoder9readImageERKNS_6HeaderERNS_5ImageEPNS_8DelegateE
	.ident	"GCC: (GNU) 12.2.1 20220819 (Red Hat 12.2.1-2)"
	.section	.note.GNU-stack,"",@progbits
