	.file	"373691.c"
	.intel_syntax noprefix
	.text
	.globl	CopyIdentifier
	.type	CopyIdentifier, @function
CopyIdentifier:
.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, 32
	mov	QWORD PTR -24[rbp], rdi
	cmp	QWORD PTR -24[rbp], 0
	je	.L2
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 64[rax]
	mov	rdi, rax
	call	MkIdentifier@PLT
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 56[rax]
	test	rax, rax
	je	.L3
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	rdi, rax
	call	CopySpecifier
	jmp	.L4
.L3:
	mov	eax, 0
.L4:
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 56[rdx], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 48[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 48[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	jmp	.L5
.L2:
	mov	eax, 0
.L5:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE6:
	.size	CopyIdentifier, .-CopyIdentifier
	.type	CopyPointer, @function
CopyPointer:
.LFB7:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	cmp	QWORD PTR -24[rbp], 0
	je	.L7
	call	MkList@PLT
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 48[rax]
	test	rax, rax
	je	.L8
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 48[rax]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -16[rbp], rax
	jmp	.L9
.L10:
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	CopySpecifier
	mov	rdx, rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	ListAdd@PLT
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -16[rbp], rax
.L9:
	cmp	QWORD PTR -16[rbp], 0
	jne	.L10
.L8:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	rdi, rax
	call	CopyPointer
	mov	rdx, rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	MkPointer@PLT
	jmp	.L11
.L7:
	mov	eax, 0
.L11:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE7:
	.size	CopyPointer, .-CopyPointer
	.type	CopyInitializer, @function
CopyInitializer:
.LFB8:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -8[rbp], 0
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 48[rax]
	test	eax, eax
	jne	.L13
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	rdi, rax
	call	CopyExpression
	mov	rdi, rax
	call	MkInitializerAssignment@PLT
	mov	QWORD PTR -8[rbp], rax
	jmp	.L14
.L13:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 48[rax]
	cmp	eax, 1
	jne	.L14
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 56[rax]
	lea	rsi, CopyInitializer[rip]
	mov	rdi, rax
	call	CopyList
	mov	rdi, rax
	call	MkInitializerList@PLT
	mov	QWORD PTR -8[rbp], rax
.L14:
	cmp	QWORD PTR -8[rbp], 0
	je	.L15
	mov	rcx, QWORD PTR -8[rbp]
	mov	rsi, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 16[rsi]
	mov	rdx, QWORD PTR 24[rsi]
	mov	QWORD PTR 16[rcx], rax
	mov	QWORD PTR 24[rcx], rdx
	mov	rax, QWORD PTR 32[rsi]
	mov	rdx, QWORD PTR 40[rsi]
	mov	QWORD PTR 32[rcx], rax
	mov	QWORD PTR 40[rcx], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 64[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 64[rax], edx
.L15:
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE8:
	.size	CopyInitializer, .-CopyInitializer
	.type	CopyMemberInit, @function
CopyMemberInit:
.LFB9:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 24
	.cfi_offset 3, -24
	mov	QWORD PTR -24[rbp], rdi
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	rdi, rax
	call	CopyInitializer
	mov	rbx, rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 80[rax]
	lea	rsi, CopyIdentifier[rip]
	mov	rdi, rax
	call	CopyList
	mov	rsi, rbx
	mov	rdi, rax
	call	MkMemberInit@PLT
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE9:
	.size	CopyMemberInit, .-CopyMemberInit
	.type	CopyMembersInit, @function
CopyMembersInit:
.LFB10:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -16[rbp], 0
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 48[rax]
	test	eax, eax
	jne	.L20
	cmp	QWORD PTR -24[rbp], 0
	je	.L20
	call	MkList@PLT
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -8[rbp], rax
	jmp	.L21
.L22:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	CopyMemberInit
	mov	rdx, rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	ListAdd@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -8[rbp], rax
.L21:
	cmp	QWORD PTR -8[rbp], 0
	jne	.L22
.L20:
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	MkMembersInitList@PLT
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE10:
	.size	CopyMembersInit, .-CopyMembersInit
	.type	CopyInstantiation, @function
CopyInstantiation:
.LFB11:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 72
	.cfi_offset 3, -24
	mov	QWORD PTR -72[rbp], rdi
	call	MkList@PLT
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 64[rax]
	test	rax, rax
	je	.L25
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 64[rax]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -56[rbp], rax
	jmp	.L26
.L27:
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	CopyMembersInit
	mov	rdx, rax
	mov	rax, QWORD PTR -48[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	ListAdd@PLT
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -56[rbp], rax
.L26:
	cmp	QWORD PTR -56[rbp], 0
	jne	.L27
.L25:
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	rdi, rax
	call	CopyExpression
	mov	rbx, rax
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 48[rax]
	mov	rdi, rax
	call	CopySpecifier
	mov	rcx, rax
	mov	rax, QWORD PTR -48[rbp]
	mov	rdx, rax
	mov	rsi, rbx
	mov	rdi, rcx
	call	MkInstantiation@PLT
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR 88[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR 88[rax], rdx
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 88[rax]
	test	rax, rax
	je	.L28
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 48[rax]
	mov	rax, QWORD PTR 64[rax]
	mov	rdi, rax
	call	FindClass@PLT
	mov	QWORD PTR -32[rbp], rax
	cmp	QWORD PTR -32[rbp], 0
	je	.L29
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 48[rax]
	jmp	.L30
.L29:
	mov	eax, 0
.L30:
	mov	QWORD PTR -24[rbp], rax
	cmp	QWORD PTR -24[rbp], 0
	je	.L28
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 280[rax]
	test	eax, eax
	jne	.L28
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	edx, DWORD PTR 16[rax]
	add	edx, 1
	mov	DWORD PTR 16[rax], edx
.L28:
	mov	rcx, QWORD PTR -40[rbp]
	mov	rsi, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 16[rsi]
	mov	rdx, QWORD PTR 24[rsi]
	mov	QWORD PTR 16[rcx], rax
	mov	QWORD PTR 24[rcx], rdx
	mov	rax, QWORD PTR 32[rsi]
	mov	rdx, QWORD PTR 40[rsi]
	mov	QWORD PTR 32[rcx], rax
	mov	QWORD PTR 40[rcx], rdx
	mov	rax, QWORD PTR -72[rbp]
	mov	edx, DWORD PTR 84[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	DWORD PTR 84[rax], edx
	mov	rax, QWORD PTR -40[rbp]
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE11:
	.size	CopyInstantiation, .-CopyInstantiation
	.globl	CopyExpression
	.type	CopyExpression, @function
CopyExpression:
.LFB12:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	r12
	push	rbx
	sub	rsp, 96
	.cfi_offset 12, -24
	.cfi_offset 3, -32
	mov	QWORD PTR -104[rbp], rdi
	mov	QWORD PTR -88[rbp], 0
	cmp	QWORD PTR -104[rbp], 0
	je	.L67
	mov	rax, QWORD PTR -104[rbp]
	mov	eax, DWORD PTR 48[rax]
	cmp	eax, 36
	ja	.L33
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L35[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L35[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L35:
	.long	.L53-.L35
	.long	.L52-.L35
	.long	.L51-.L35
	.long	.L50-.L35
	.long	.L49-.L35
	.long	.L48-.L35
	.long	.L47-.L35
	.long	.L46-.L35
	.long	.L45-.L35
	.long	.L44-.L35
	.long	.L43-.L35
	.long	.L42-.L35
	.long	.L41-.L35
	.long	.L33-.L35
	.long	.L33-.L35
	.long	.L33-.L35
	.long	.L40-.L35
	.long	.L33-.L35
	.long	.L33-.L35
	.long	.L33-.L35
	.long	.L33-.L35
	.long	.L33-.L35
	.long	.L33-.L35
	.long	.L39-.L35
	.long	.L38-.L35
	.long	.L33-.L35
	.long	.L33-.L35
	.long	.L33-.L35
	.long	.L33-.L35
	.long	.L33-.L35
	.long	.L33-.L35
	.long	.L33-.L35
	.long	.L33-.L35
	.long	.L37-.L35
	.long	.L36-.L35
	.long	.L33-.L35
	.long	.L34-.L35
	.text
.L40:
	call	MkExpDummy@PLT
	mov	QWORD PTR -88[rbp], rax
	jmp	.L33
.L53:
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR 64[rax]
	mov	rdi, rax
	call	CopyIdentifier
	mov	rdi, rax
	call	MkExpIdentifier@PLT
	mov	QWORD PTR -88[rbp], rax
	jmp	.L33
.L52:
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	rdi, rax
	call	CopyInstantiation
	mov	rdi, rax
	call	MkExpInstance@PLT
	mov	QWORD PTR -88[rbp], rax
	jmp	.L33
.L51:
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	rdi, rax
	call	MkExpConstant@PLT
	mov	QWORD PTR -88[rbp], rax
	jmp	.L33
.L50:
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	rdi, rax
	call	MkExpString@PLT
	mov	QWORD PTR -88[rbp], rax
	jmp	.L33
.L49:
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR 72[rax]
	mov	rdi, rax
	call	CopyExpression
	mov	r12, rax
	mov	rax, QWORD PTR -104[rbp]
	mov	ebx, DWORD PTR 56[rax]
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR 64[rax]
	mov	rdi, rax
	call	CopyExpression
	mov	rdx, r12
	mov	esi, ebx
	mov	rdi, rax
	call	MkExpOp@PLT
	mov	QWORD PTR -88[rbp], rax
	jmp	.L33
.L48:
	call	MkList@PLT
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -80[rbp], rax
	jmp	.L54
.L55:
	mov	rax, QWORD PTR -80[rbp]
	mov	rdi, rax
	call	CopyExpression
	mov	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	ListAdd@PLT
	mov	rax, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -80[rbp], rax
.L54:
	cmp	QWORD PTR -80[rbp], 0
	jne	.L55
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	MkExpBrackets@PLT
	mov	QWORD PTR -88[rbp], rax
	jmp	.L33
.L47:
	call	MkList@PLT
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR 64[rax]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -72[rbp], rax
	jmp	.L56
.L57:
	mov	rax, QWORD PTR -72[rbp]
	mov	rdi, rax
	call	CopyExpression
	mov	rdx, rax
	mov	rax, QWORD PTR -32[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	ListAdd@PLT
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -72[rbp], rax
.L56:
	cmp	QWORD PTR -72[rbp], 0
	jne	.L57
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	rdi, rax
	call	CopyExpression
	mov	rdx, rax
	mov	rax, QWORD PTR -32[rbp]
	mov	rsi, rax
	mov	rdi, rdx
	call	MkExpIndex@PLT
	mov	QWORD PTR -88[rbp], rax
	jmp	.L33
.L46:
	call	MkList@PLT
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR 64[rax]
	test	rax, rax
	je	.L58
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR 64[rax]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -64[rbp], rax
	jmp	.L59
.L60:
	mov	rax, QWORD PTR -64[rbp]
	mov	rdi, rax
	call	CopyExpression
	mov	rdx, rax
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	ListAdd@PLT
	mov	rax, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -64[rbp], rax
.L59:
	cmp	QWORD PTR -64[rbp], 0
	jne	.L60
.L58:
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	rdi, rax
	call	CopyExpression
	mov	rdx, rax
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rax
	mov	rdi, rdx
	call	MkExpCall@PLT
	mov	QWORD PTR -88[rbp], rax
	jmp	.L33
.L45:
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR 64[rax]
	mov	rdi, rax
	call	CopyIdentifier
	mov	rbx, rax
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	rdi, rax
	call	CopyExpression
	mov	rsi, rbx
	mov	rdi, rax
	call	MkExpMember@PLT
	mov	QWORD PTR -88[rbp], rax
	mov	rax, QWORD PTR -104[rbp]
	mov	edx, DWORD PTR 72[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR 72[rax], edx
	mov	rax, QWORD PTR -104[rbp]
	mov	edx, DWORD PTR 76[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR 76[rax], edx
	jmp	.L33
.L44:
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR 64[rax]
	mov	rdi, rax
	call	CopyIdentifier
	mov	rbx, rax
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	rdi, rax
	call	CopyExpression
	mov	rsi, rbx
	mov	rdi, rax
	call	MkExpPointer@PLT
	mov	QWORD PTR -88[rbp], rax
	jmp	.L33
.L43:
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	rdi, rax
	call	CopyTypeName
	mov	rdi, rax
	call	MkExpTypeSize@PLT
	mov	QWORD PTR -88[rbp], rax
	jmp	.L33
.L34:
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	rdi, rax
	call	CopyTypeName
	mov	rdi, rax
	call	MkExpTypeAlign@PLT
	mov	QWORD PTR -88[rbp], rax
	jmp	.L33
.L42:
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR 64[rax]
	mov	rdi, rax
	call	CopyExpression
	mov	rbx, rax
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	rdi, rax
	call	CopyTypeName
	mov	rsi, rbx
	mov	rdi, rax
	call	MkExpCast@PLT
	mov	QWORD PTR -88[rbp], rax
	jmp	.L33
.L41:
	call	MkList@PLT
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR 64[rax]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -56[rbp], rax
	jmp	.L61
.L62:
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	CopyExpression
	mov	rdx, rax
	mov	rax, QWORD PTR -48[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	ListAdd@PLT
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -56[rbp], rax
.L61:
	cmp	QWORD PTR -56[rbp], 0
	jne	.L62
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR 72[rax]
	mov	rdi, rax
	call	CopyExpression
	mov	rbx, rax
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	rdi, rax
	call	CopyExpression
	mov	rcx, rax
	mov	rax, QWORD PTR -48[rbp]
	mov	rdx, rbx
	mov	rsi, rax
	mov	rdi, rcx
	call	MkExpCondition@PLT
	mov	QWORD PTR -88[rbp], rax
	jmp	.L33
.L36:
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR 64[rax]
	mov	rdi, rax
	call	CopyTypeName
	mov	rbx, rax
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	rdi, rax
	call	CopyExpression
	mov	rsi, rbx
	mov	rdi, rax
	call	MkExpVaArg@PLT
	mov	QWORD PTR -88[rbp], rax
	jmp	.L33
.L39:
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	rdi, rax
	call	CopyStatement
	mov	rdi, rax
	call	MkExpExtensionCompound@PLT
	mov	QWORD PTR -88[rbp], rax
	jmp	.L33
.L37:
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR 64[rax]
	mov	rdi, rax
	call	CopyInitializer
	mov	rbx, rax
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	rdi, rax
	call	CopyTypeName
	mov	rsi, rbx
	mov	rdi, rax
	call	MkExpExtensionInitializer@PLT
	mov	QWORD PTR -88[rbp], rax
	jmp	.L33
.L38:
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR 64[rax]
	mov	rdi, rax
	call	CopyDeclarator
	mov	rbx, rax
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR 56[rax]
	lea	rsi, CopySpecifier[rip]
	mov	rdi, rax
	call	CopyList
	mov	rsi, rbx
	mov	rdi, rax
	call	MkExpClass@PLT
	mov	QWORD PTR -88[rbp], rax
	jmp	.L33
.L67:
	nop
.L33:
	cmp	QWORD PTR -88[rbp], 0
	je	.L63
	mov	rax, QWORD PTR -104[rbp]
	mov	rdx, QWORD PTR 136[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	QWORD PTR 136[rax], rdx
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR 136[rax]
	test	rax, rax
	je	.L64
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR 136[rax]
	mov	edx, DWORD PTR 16[rax]
	add	edx, 1
	mov	DWORD PTR 16[rax], edx
.L64:
	mov	rax, QWORD PTR -104[rbp]
	mov	rdx, QWORD PTR 144[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	QWORD PTR 144[rax], rdx
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR 144[rax]
	test	rax, rax
	je	.L65
	mov	rax, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR 144[rax]
	mov	edx, DWORD PTR 16[rax]
	add	edx, 1
	mov	DWORD PTR 16[rax], edx
.L65:
	mov	rcx, QWORD PTR -88[rbp]
	mov	rsi, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR 16[rsi]
	mov	rdx, QWORD PTR 24[rsi]
	mov	QWORD PTR 16[rcx], rax
	mov	QWORD PTR 24[rcx], rdx
	mov	rax, QWORD PTR 32[rsi]
	mov	rdx, QWORD PTR 40[rsi]
	mov	QWORD PTR 32[rcx], rax
	mov	QWORD PTR 40[rcx], rdx
	mov	rax, QWORD PTR -104[rbp]
	mov	edx, DWORD PTR 164[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR 164[rax], edx
	mov	rax, QWORD PTR -104[rbp]
	mov	edx, DWORD PTR 160[rax]
	mov	rax, QWORD PTR -88[rbp]
	mov	DWORD PTR 160[rax], edx
.L63:
	mov	rax, QWORD PTR -88[rbp]
	add	rsp, 96
	pop	rbx
	pop	r12
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE12:
	.size	CopyExpression, .-CopyExpression
	.type	CopyStatement, @function
CopyStatement:
.LFB13:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 40
	.cfi_offset 3, -24
	mov	QWORD PTR -40[rbp], rdi
	mov	QWORD PTR -24[rbp], 0
	cmp	QWORD PTR -40[rbp], 0
	je	.L75
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR 48[rax]
	cmp	eax, 14
	je	.L70
	cmp	eax, 14
	jg	.L69
	cmp	eax, 2
	je	.L71
	cmp	eax, 3
	je	.L72
	jmp	.L69
.L71:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 64[rax]
	lea	rsi, CopyStatement[rip]
	mov	rdi, rax
	call	CopyList
	mov	rbx, rax
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 56[rax]
	lea	rsi, CopyDeclaration[rip]
	mov	rdi, rax
	call	CopyList
	mov	rsi, rbx
	mov	rdi, rax
	call	MkCompoundStmt@PLT
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR __ecereClass_Context[rip]
	mov	rdi, rax
	call	__ecereNameSpace__ecere__com__eInstance_New@PLT
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR 72[rdx], rax
	jmp	.L69
.L72:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 56[rax]
	lea	rsi, CopyExpression[rip]
	mov	rdi, rax
	call	CopyList
	mov	rdi, rax
	call	MkExpressionStmt@PLT
	mov	QWORD PTR -24[rbp], rax
	jmp	.L69
.L70:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	rdi, rax
	call	CopyDeclaration
	mov	rdi, rax
	call	MkBadDeclStmt@PLT
	mov	QWORD PTR -24[rbp], rax
	jmp	.L69
.L75:
	nop
.L69:
	cmp	QWORD PTR -24[rbp], 0
	je	.L73
	mov	rcx, QWORD PTR -24[rbp]
	mov	rsi, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 16[rsi]
	mov	rdx, QWORD PTR 24[rsi]
	mov	QWORD PTR 16[rcx], rax
	mov	QWORD PTR 24[rcx], rdx
	mov	rax, QWORD PTR 32[rsi]
	mov	rdx, QWORD PTR 40[rsi]
	mov	QWORD PTR 32[rcx], rax
	mov	QWORD PTR 40[rcx], rdx
.L73:
	mov	rax, QWORD PTR -24[rbp]
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE13:
	.size	CopyStatement, .-CopyStatement
	.type	CopyEnumerator, @function
CopyEnumerator:
.LFB14:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 24
	.cfi_offset 3, -24
	mov	QWORD PTR -24[rbp], rdi
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	rdi, rax
	call	CopyExpression
	mov	rbx, rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 48[rax]
	mov	rdi, rax
	call	CopyIdentifier
	mov	rsi, rbx
	mov	rdi, rax
	call	MkEnumerator@PLT
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE14:
	.size	CopyEnumerator, .-CopyEnumerator
	.globl	CopyClassDef
	.type	CopyClassDef, @function
CopyClassDef:
.LFB15:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 48[rax]
	cmp	eax, 3
	je	.L79
	cmp	eax, 3
	jg	.L80
	cmp	eax, 2
	je	.L81
	cmp	eax, 2
	jg	.L80
	test	eax, eax
	je	.L82
	cmp	eax, 1
	je	.L83
	jmp	.L80
.L82:
	mov	eax, 0
	jmp	.L84
.L83:
	mov	eax, 0
	jmp	.L84
.L81:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	rdi, rax
	call	CopyDeclaration
	mov	rdi, rax
	call	MkClassDefDeclaration@PLT
	jmp	.L84
.L79:
	mov	eax, 0
	jmp	.L84
.L80:
	mov	eax, 0
.L84:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE15:
	.size	CopyClassDef, .-CopyClassDef
	.globl	CopySpecifier
	.type	CopySpecifier, @function
CopySpecifier:
.LFB16:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 96
	mov	QWORD PTR -88[rbp], rdi
	cmp	QWORD PTR -88[rbp], 0
	je	.L86
	mov	rax, QWORD PTR -88[rbp]
	mov	eax, DWORD PTR 48[rax]
	cmp	eax, 8
	ja	.L86
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L88[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L88[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L88:
	.long	.L94-.L88
	.long	.L93-.L88
	.long	.L92-.L88
	.long	.L91-.L88
	.long	.L91-.L88
	.long	.L90-.L88
	.long	.L86-.L88
	.long	.L89-.L88
	.long	.L87-.L88
	.text
.L94:
	mov	rax, QWORD PTR -88[rbp]
	mov	eax, DWORD PTR 56[rax]
	mov	edi, eax
	call	MkSpecifier@PLT
	jmp	.L95
.L92:
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	rdi, rax
	call	CopyIdentifier
	mov	QWORD PTR -24[rbp], rax
	call	MkList@PLT
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 64[rax]
	test	rax, rax
	je	.L96
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 64[rax]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -72[rbp], rax
	jmp	.L97
.L98:
	mov	rax, QWORD PTR -72[rbp]
	mov	rdi, rax
	call	CopyEnumerator
	mov	rdx, rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	ListAdd@PLT
	mov	rax, QWORD PTR -72[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -72[rbp], rax
.L97:
	cmp	QWORD PTR -72[rbp], 0
	jne	.L98
.L96:
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	MkEnum@PLT
	jmp	.L95
.L91:
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	rdi, rax
	call	CopyIdentifier
	mov	QWORD PTR -40[rbp], rax
	mov	QWORD PTR -64[rbp], 0
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 80[rax]
	test	rax, rax
	je	.L99
	call	MkList@PLT
	mov	QWORD PTR -64[rbp], rax
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 64[rax]
	test	rax, rax
	je	.L99
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 64[rax]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -56[rbp], rax
	jmp	.L100
.L101:
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	CopyClassDef
	mov	rdx, rax
	mov	rax, QWORD PTR -64[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	ListAdd@PLT
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -56[rbp], rax
.L100:
	cmp	QWORD PTR -56[rbp], 0
	jne	.L101
.L99:
	mov	rax, QWORD PTR -88[rbp]
	mov	eax, DWORD PTR 48[rax]
	mov	rdx, QWORD PTR -64[rbp]
	mov	rcx, QWORD PTR -40[rbp]
	mov	rsi, rcx
	mov	edi, eax
	call	MkStructOrUnion@PLT
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 104[rax]
	mov	rdi, rax
	call	CopyExtDecl
	mov	rdx, QWORD PTR -32[rbp]
	mov	QWORD PTR 104[rdx], rax
	mov	rax, QWORD PTR -32[rbp]
	jmp	.L95
.L93:
	mov	rax, QWORD PTR __ecereClass_Specifier[rip]
	mov	rdi, rax
	call	__ecereNameSpace__ecere__com__eInstance_New@PLT
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 48[rax], 1
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 64[rax]
	mov	rdi, rax
	call	__ecereNameSpace__ecere__sys__CopyString@PLT
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 64[rdx], rax
	mov	rax, QWORD PTR -88[rbp]
	mov	rdx, QWORD PTR 72[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 72[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 80[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	jmp	.L95
.L89:
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	rdi, rax
	call	CopySpecifier
	mov	rdi, rax
	call	MkSpecifierSubClass@PLT
	jmp	.L95
.L87:
	mov	rax, QWORD PTR __ecereClass_Specifier[rip]
	mov	rdi, rax
	call	__ecereNameSpace__ecere__com__eInstance_New@PLT
	mov	QWORD PTR -48[rbp], rax
	mov	rcx, QWORD PTR -48[rbp]
	mov	rsi, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 16[rsi]
	mov	rdx, QWORD PTR 24[rsi]
	mov	QWORD PTR 16[rcx], rax
	mov	QWORD PTR 24[rcx], rdx
	mov	rax, QWORD PTR 32[rsi]
	mov	rdx, QWORD PTR 40[rsi]
	mov	QWORD PTR 32[rcx], rax
	mov	QWORD PTR 40[rcx], rdx
	mov	rax, QWORD PTR -48[rbp]
	mov	DWORD PTR 48[rax], 8
	mov	rax, QWORD PTR -88[rbp]
	mov	rdx, QWORD PTR 56[rax]
	mov	rax, QWORD PTR -48[rbp]
	mov	QWORD PTR 56[rax], rdx
	mov	rax, QWORD PTR -48[rbp]
	jmp	.L95
.L90:
	mov	rax, QWORD PTR -88[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	rdi, rax
	call	CopyExtDecl
	mov	rdi, rax
	call	MkSpecifierExtended@PLT
	jmp	.L95
.L86:
	mov	eax, 0
.L95:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE16:
	.size	CopySpecifier, .-CopySpecifier
	.globl	CopyTypeName
	.type	CopyTypeName, @function
CopyTypeName:
.LFB17:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -40[rbp], rdi
	mov	QWORD PTR -24[rbp], 0
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 48[rax]
	test	rax, rax
	je	.L103
	call	MkList@PLT
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 48[rax]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -16[rbp], rax
	jmp	.L104
.L105:
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	CopySpecifier
	mov	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	ListAdd@PLT
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -16[rbp], rax
.L104:
	cmp	QWORD PTR -16[rbp], 0
	jne	.L105
.L103:
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	rdi, rax
	call	CopyDeclarator
	mov	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	MkTypeName@PLT
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR 64[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 64[rax], edx
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE17:
	.size	CopyTypeName, .-CopyTypeName
	.globl	CopyExtDecl
	.type	CopyExtDecl, @function
CopyExtDecl:
.LFB18:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	cmp	QWORD PTR -8[rbp], 0
	je	.L108
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 32[rax]
	cmp	eax, 1
	jne	.L109
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 40[rax]
	mov	rdi, rax
	call	CopyAttrib
	mov	rdi, rax
	call	MkExtDeclAttrib@PLT
	jmp	.L110
.L109:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 32[rax]
	test	eax, eax
	jne	.L108
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 40[rax]
	mov	rdi, rax
	call	__ecereNameSpace__ecere__sys__CopyString@PLT
	mov	rdi, rax
	call	MkExtDeclString@PLT
	jmp	.L110
.L108:
	mov	eax, 0
.L110:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE18:
	.size	CopyExtDecl, .-CopyExtDecl
	.globl	CopyAttribute
	.type	CopyAttribute, @function
CopyAttribute:
.LFB19:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 24
	.cfi_offset 3, -24
	mov	QWORD PTR -24[rbp], rdi
	cmp	QWORD PTR -24[rbp], 0
	je	.L112
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	rdi, rax
	call	CopyExpression
	mov	rbx, rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 48[rax]
	mov	rdi, rax
	call	__ecereNameSpace__ecere__sys__CopyString@PLT
	mov	rsi, rbx
	mov	rdi, rax
	call	MkAttribute@PLT
	jmp	.L113
.L112:
	mov	eax, 0
.L113:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE19:
	.size	CopyAttribute, .-CopyAttribute
	.globl	CopyAttrib
	.type	CopyAttrib, @function
CopyAttrib:
.LFB20:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	cmp	QWORD PTR -8[rbp], 0
	je	.L115
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 40[rax]
	lea	rsi, CopyAttribute[rip]
	mov	rdi, rax
	call	CopyList
	mov	rdx, rax
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 32[rax]
	mov	rsi, rdx
	mov	edi, eax
	call	MkAttrib@PLT
	jmp	.L116
.L115:
	mov	eax, 0
.L116:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE20:
	.size	CopyAttrib, .-CopyAttrib
	.globl	CopyDeclarator
	.type	CopyDeclarator, @function
CopyDeclarator:
.LFB21:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 56
	.cfi_offset 3, -24
	mov	QWORD PTR -56[rbp], rdi
	cmp	QWORD PTR -56[rbp], 0
	je	.L118
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 48[rax]
	cmp	eax, 7
	ja	.L118
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L120[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L120[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L120:
	.long	.L127-.L120
	.long	.L126-.L120
	.long	.L125-.L120
	.long	.L124-.L120
	.long	.L123-.L120
	.long	.L122-.L120
	.long	.L121-.L120
	.long	.L119-.L120
	.text
.L127:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 72[rax]
	mov	rdi, rax
	call	CopyExpression
	mov	rbx, rax
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 64[rax]
	mov	rdi, rax
	call	CopyDeclarator
	mov	rsi, rbx
	mov	rdi, rax
	call	MkStructDeclarator@PLT
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 88[rax]
	test	rax, rax
	je	.L128
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 88[rax]
	mov	rdi, rax
	call	CopyAttrib
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR 88[rdx], rax
.L128:
	mov	rax, QWORD PTR -24[rbp]
	jmp	.L129
.L126:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 72[rax]
	mov	rdi, rax
	call	CopyIdentifier
	mov	rdi, rax
	call	MkDeclaratorIdentifier@PLT
	jmp	.L129
.L125:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 64[rax]
	mov	rdi, rax
	call	CopyDeclarator
	mov	rdi, rax
	call	MkDeclaratorBrackets@PLT
	jmp	.L129
.L124:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 80[rax]
	test	rax, rax
	je	.L130
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 80[rax]
	mov	rdi, rax
	call	CopySpecifier
	mov	rbx, rax
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 64[rax]
	mov	rdi, rax
	call	CopyDeclarator
	mov	rsi, rbx
	mov	rdi, rax
	call	MkDeclaratorEnumArray@PLT
	jmp	.L129
.L130:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 72[rax]
	mov	rdi, rax
	call	CopyExpression
	mov	rbx, rax
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 64[rax]
	mov	rdi, rax
	call	CopyDeclarator
	mov	rsi, rbx
	mov	rdi, rax
	call	MkDeclaratorArray@PLT
	jmp	.L129
.L123:
	call	MkList@PLT
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 72[rax]
	test	rax, rax
	je	.L131
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 72[rax]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -40[rbp], rax
	jmp	.L132
.L133:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	CopyTypeName
	mov	rdx, rax
	mov	rax, QWORD PTR -32[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	ListAdd@PLT
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -40[rbp], rax
.L132:
	cmp	QWORD PTR -40[rbp], 0
	jne	.L133
.L131:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 64[rax]
	mov	rdi, rax
	call	CopyDeclarator
	mov	rdx, rax
	mov	rax, QWORD PTR -32[rbp]
	mov	rsi, rax
	mov	rdi, rdx
	call	MkDeclaratorFunction@PLT
	jmp	.L129
.L122:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 64[rax]
	mov	rdi, rax
	call	CopyDeclarator
	mov	rbx, rax
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 72[rax]
	mov	rdi, rax
	call	CopyPointer
	mov	rsi, rbx
	mov	rdi, rax
	call	MkDeclaratorPointer@PLT
	jmp	.L129
.L121:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 64[rax]
	mov	rdi, rax
	call	CopyDeclarator
	mov	rbx, rax
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 72[rax]
	mov	rdi, rax
	call	CopyExtDecl
	mov	rsi, rbx
	mov	rdi, rax
	call	MkDeclaratorExtended@PLT
	jmp	.L129
.L119:
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 64[rax]
	mov	rdi, rax
	call	CopyDeclarator
	mov	rbx, rax
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 72[rax]
	mov	rdi, rax
	call	CopyExtDecl
	mov	rsi, rbx
	mov	rdi, rax
	call	MkDeclaratorExtendedEnd@PLT
	jmp	.L129
.L118:
	mov	eax, 0
.L129:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE21:
	.size	CopyDeclarator, .-CopyDeclarator
	.globl	CopyInitDeclarator
	.type	CopyInitDeclarator, @function
CopyInitDeclarator:
.LFB22:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 24
	.cfi_offset 3, -24
	mov	QWORD PTR -24[rbp], rdi
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	rdi, rax
	call	CopyInitializer
	mov	rbx, rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 48[rax]
	mov	rdi, rax
	call	CopyDeclarator
	mov	rsi, rbx
	mov	rdi, rax
	call	MkInitDeclarator@PLT
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE22:
	.size	CopyInitDeclarator, .-CopyInitDeclarator
	.globl	CopyDeclaration
	.type	CopyDeclaration, @function
CopyDeclaration:
.LFB23:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 56
	.cfi_offset 3, -24
	mov	QWORD PTR -56[rbp], rdi
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 48[rax]
	cmp	eax, 1
	jne	.L137
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 64[rax]
	lea	rsi, CopyInitDeclarator[rip]
	mov	rdi, rax
	call	CopyList
	mov	rbx, rax
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 56[rax]
	lea	rsi, CopySpecifier[rip]
	mov	rdi, rax
	call	CopyList
	mov	rsi, rbx
	mov	rdi, rax
	call	MkDeclaration@PLT
	jmp	.L138
.L137:
	call	MkList@PLT
	mov	QWORD PTR -32[rbp], rax
	call	MkList@PLT
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 56[rax]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -48[rbp], rax
	jmp	.L139
.L140:
	mov	rax, QWORD PTR -48[rbp]
	mov	rdi, rax
	call	CopySpecifier
	mov	rdx, rax
	mov	rax, QWORD PTR -32[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	ListAdd@PLT
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -48[rbp], rax
.L139:
	cmp	QWORD PTR -48[rbp], 0
	jne	.L140
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 64[rax]
	test	rax, rax
	je	.L141
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR 64[rax]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -40[rbp], rax
	jmp	.L142
.L143:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	CopyDeclarator
	mov	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	ListAdd@PLT
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -40[rbp], rax
.L142:
	cmp	QWORD PTR -40[rbp], 0
	jne	.L143
.L141:
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -32[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	MkDeclaration@PLT
.L138:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE23:
	.size	CopyDeclaration, .-CopyDeclaration
	.globl	CopyList
	.type	CopyList, @function
CopyList:
.LFB24:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -16[rbp], 0
	cmp	QWORD PTR -24[rbp], 0
	je	.L145
	call	MkList@PLT
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -8[rbp], rax
	jmp	.L146
.L147:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -32[rbp]
	mov	rdi, rax
	call	rdx
	mov	rdx, rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	ListAdd@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -8[rbp], rax
.L146:
	cmp	QWORD PTR -8[rbp], 0
	jne	.L147
.L145:
	mov	rax, QWORD PTR -16[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE24:
	.size	CopyList, .-CopyList
	.section	.rodata
	.align 8
.LC0:
	.string	"Identifier CopyIdentifier(Identifier id)"
.LC1:
	.string	"CopyIdentifier"
	.align 8
.LC2:
	.string	"Expression CopyExpression(Expression exp)"
.LC3:
	.string	"CopyExpression"
	.align 8
.LC4:
	.string	"ClassDef CopyClassDef(ClassDef def)"
.LC5:
	.string	"CopyClassDef"
	.align 8
.LC6:
	.string	"Specifier CopySpecifier(Specifier spec)"
.LC7:
	.string	"CopySpecifier"
	.align 8
.LC8:
	.string	"TypeName CopyTypeName(TypeName typeName)"
.LC9:
	.string	"CopyTypeName"
	.align 8
.LC10:
	.string	"ExtDecl CopyExtDecl(ExtDecl extDecl)"
.LC11:
	.string	"CopyExtDecl"
	.align 8
.LC12:
	.string	"Attribute CopyAttribute(Attribute attrib)"
.LC13:
	.string	"CopyAttribute"
	.align 8
.LC14:
	.string	"Attrib CopyAttrib(Attrib attrib)"
.LC15:
	.string	"CopyAttrib"
	.align 8
.LC16:
	.string	"Declarator CopyDeclarator(Declarator declarator)"
.LC17:
	.string	"CopyDeclarator"
	.align 8
.LC18:
	.string	"InitDeclarator CopyInitDeclarator(InitDeclarator initDecl)"
.LC19:
	.string	"CopyInitDeclarator"
	.align 8
.LC20:
	.string	"Declaration CopyDeclaration(Declaration decl)"
.LC21:
	.string	"CopyDeclaration"
	.align 8
.LC22:
	.string	"ecere::sys::OldList * CopyList(ecere::sys::OldList * source, void * (* CopyFunction)(void *))"
.LC23:
	.string	"CopyList"
	.text
	.globl	__ecereRegisterModule_copy
	.type	__ecereRegisterModule_copy, @function
__ecereRegisterModule_copy:
.LFB25:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	r8d, 2
	mov	rcx, rax
	lea	rdx, CopyIdentifier[rip]
	lea	rsi, .LC0[rip]
	lea	rdi, .LC1[rip]
	call	__ecereNameSpace__ecere__com__eSystem_RegisterFunction@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	r8d, 1
	mov	rcx, rax
	lea	rdx, CopyExpression[rip]
	lea	rsi, .LC2[rip]
	lea	rdi, .LC3[rip]
	call	__ecereNameSpace__ecere__com__eSystem_RegisterFunction@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	r8d, 2
	mov	rcx, rax
	lea	rdx, CopyClassDef[rip]
	lea	rsi, .LC4[rip]
	lea	rdi, .LC5[rip]
	call	__ecereNameSpace__ecere__com__eSystem_RegisterFunction@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	r8d, 2
	mov	rcx, rax
	lea	rdx, CopySpecifier[rip]
	lea	rsi, .LC6[rip]
	lea	rdi, .LC7[rip]
	call	__ecereNameSpace__ecere__com__eSystem_RegisterFunction@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	r8d, 2
	mov	rcx, rax
	lea	rdx, CopyTypeName[rip]
	lea	rsi, .LC8[rip]
	lea	rdi, .LC9[rip]
	call	__ecereNameSpace__ecere__com__eSystem_RegisterFunction@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	r8d, 2
	mov	rcx, rax
	lea	rdx, CopyExtDecl[rip]
	lea	rsi, .LC10[rip]
	lea	rdi, .LC11[rip]
	call	__ecereNameSpace__ecere__com__eSystem_RegisterFunction@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	r8d, 2
	mov	rcx, rax
	lea	rdx, CopyAttribute[rip]
	lea	rsi, .LC12[rip]
	lea	rdi, .LC13[rip]
	call	__ecereNameSpace__ecere__com__eSystem_RegisterFunction@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	r8d, 2
	mov	rcx, rax
	lea	rdx, CopyAttrib[rip]
	lea	rsi, .LC14[rip]
	lea	rdi, .LC15[rip]
	call	__ecereNameSpace__ecere__com__eSystem_RegisterFunction@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	r8d, 2
	mov	rcx, rax
	lea	rdx, CopyDeclarator[rip]
	lea	rsi, .LC16[rip]
	lea	rdi, .LC17[rip]
	call	__ecereNameSpace__ecere__com__eSystem_RegisterFunction@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	r8d, 2
	mov	rcx, rax
	lea	rdx, CopyInitDeclarator[rip]
	lea	rsi, .LC18[rip]
	lea	rdi, .LC19[rip]
	call	__ecereNameSpace__ecere__com__eSystem_RegisterFunction@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	r8d, 2
	mov	rcx, rax
	lea	rdx, CopyDeclaration[rip]
	lea	rsi, .LC20[rip]
	lea	rdi, .LC21[rip]
	call	__ecereNameSpace__ecere__com__eSystem_RegisterFunction@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	r8d, 2
	mov	rcx, rax
	lea	rdx, CopyList[rip]
	lea	rsi, .LC22[rip]
	lea	rdi, .LC23[rip]
	call	__ecereNameSpace__ecere__com__eSystem_RegisterFunction@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE25:
	.size	__ecereRegisterModule_copy, .-__ecereRegisterModule_copy
	.globl	__ecereUnregisterModule_copy
	.type	__ecereUnregisterModule_copy, @function
__ecereUnregisterModule_copy:
.LFB26:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE26:
	.size	__ecereUnregisterModule_copy, .-__ecereUnregisterModule_copy
	.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	"373691.c"
	.text
	.align	2
	.global	CopyIdentifier
	.syntax unified
	.arm
	.fpu softvfp
	.type	CopyIdentifier, %function
CopyIdentifier:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L2
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #48]
	mov	r0, r3
	bl	MkIdentifier
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #44]
	cmp	r3, #0
	beq	.L3
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #44]
	mov	r0, r3
	bl	CopySpecifier
	mov	r3, r0
	b	.L4
.L3:
	mov	r3, #0
.L4:
	ldr	r2, [fp, #-8]
	str	r3, [r2, #44]
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #40]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #40]
	ldr	r3, [fp, #-8]
	b	.L5
.L2:
	mov	r3, #0
.L5:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	CopyIdentifier, .-CopyIdentifier
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	CopyPointer, %function
CopyPointer:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L7
	bl	MkList
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #40]
	cmp	r3, #0
	beq	.L8
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #40]
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	b	.L9
.L10:
	ldr	r0, [fp, #-12]
	bl	CopySpecifier
	mov	r3, r0
	mov	r1, r3
	ldr	r0, [fp, #-8]
	bl	ListAdd
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-12]
.L9:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L10
.L8:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #44]
	mov	r0, r3
	bl	CopyPointer
	mov	r3, r0
	mov	r1, r3
	ldr	r0, [fp, #-8]
	bl	MkPointer
	mov	r3, r0
	b	.L11
.L7:
	mov	r3, #0
.L11:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	CopyPointer, .-CopyPointer
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	CopyInitializer, %function
CopyInitializer:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #40]
	cmp	r3, #0
	bne	.L13
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #44]
	mov	r0, r3
	bl	CopyExpression
	mov	r3, r0
	mov	r0, r3
	bl	MkInitializerAssignment
	str	r0, [fp, #-8]
	b	.L14
.L13:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #40]
	cmp	r3, #1
	bne	.L14
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #44]
	ldr	r1, .L17
	mov	r0, r3
	bl	CopyList
	mov	r3, r0
	mov	r0, r3
	bl	MkInitializerList
	str	r0, [fp, #-8]
.L14:
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L15
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-16]
	add	ip, r2, #8
	add	lr, r3, #8
	ldmia	lr!, {r0, r1, r2, r3}
	stmia	ip!, {r0, r1, r2, r3}
	ldm	lr, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #48]
.L15:
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L18:
	.align	2
.L17:
	.word	CopyInitializer
	.size	CopyInitializer, .-CopyInitializer
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	CopyMemberInit, %function
CopyMemberInit:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #12
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #72]
	ldr	r1, .L21
	mov	r0, r3
	bl	CopyList
	mov	r4, r0
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #76]
	mov	r0, r3
	bl	CopyInitializer
	mov	r3, r0
	mov	r1, r3
	mov	r0, r4
	bl	MkMemberInit
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L22:
	.align	2
.L21:
	.word	CopyIdentifier
	.size	CopyMemberInit, .-CopyMemberInit
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	CopyMembersInit, %function
CopyMembersInit:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	mov	r3, #0
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #40]
	cmp	r3, #0
	bne	.L24
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L24
	bl	MkList
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #44]
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	b	.L25
.L26:
	ldr	r0, [fp, #-8]
	bl	CopyMemberInit
	mov	r3, r0
	mov	r1, r3
	ldr	r0, [fp, #-12]
	bl	ListAdd
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-8]
.L25:
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L26
.L24:
	ldr	r0, [fp, #-12]
	bl	MkMembersInitList
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	CopyMembersInit, .-CopyMembersInit
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	CopyInstantiation, %function
CopyInstantiation:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #36
	str	r0, [fp, #-40]
	bl	MkList
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #48]
	cmp	r3, #0
	beq	.L29
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #48]
	ldr	r3, [r3]
	str	r3, [fp, #-32]
	b	.L30
.L31:
	ldr	r0, [fp, #-32]
	bl	CopyMembersInit
	mov	r3, r0
	mov	r1, r3
	ldr	r0, [fp, #-28]
	bl	ListAdd
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-32]
.L30:
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	bne	.L31
.L29:
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #40]
	mov	r0, r3
	bl	CopySpecifier
	mov	r4, r0
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #44]
	mov	r0, r3
	bl	CopyExpression
	mov	r3, r0
	ldr	r2, [fp, #-28]
	mov	r1, r3
	mov	r0, r4
	bl	MkInstantiation
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-40]
	ldr	r2, [r3, #64]
	ldr	r3, [fp, #-24]
	str	r2, [r3, #64]
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #64]
	cmp	r3, #0
	beq	.L32
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #40]
	ldr	r3, [r3, #48]
	mov	r0, r3
	bl	FindClass
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L33
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #24]
	b	.L34
.L33:
	mov	r3, #0
.L34:
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L32
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #160]
	cmp	r3, #0
	bne	.L32
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #64]
	ldr	r2, [r3, #8]
	add	r2, r2, #1
	str	r2, [r3, #8]
.L32:
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-40]
	add	ip, r2, #8
	add	lr, r3, #8
	ldmia	lr!, {r0, r1, r2, r3}
	stmia	ip!, {r0, r1, r2, r3}
	ldm	lr, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	ldr	r3, [fp, #-40]
	ldr	r2, [r3, #60]
	ldr	r3, [fp, #-24]
	str	r2, [r3, #60]
	ldr	r3, [fp, #-24]
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
	.size	CopyInstantiation, .-CopyInstantiation
	.align	2
	.global	CopyExpression
	.syntax unified
	.arm
	.fpu softvfp
	.type	CopyExpression, %function
CopyExpression:
	@ args = 0, pretend = 0, frame = 48
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, fp, lr}
	add	fp, sp, #12
	sub	sp, sp, #48
	str	r0, [fp, #-56]
	mov	r3, #0
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-56]
	cmp	r3, #0
	beq	.L71
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #40]
	cmp	r3, #36
	ldrls	pc, [pc, r3, asl #2]
	b	.L37
.L39:
	.word	.L57
	.word	.L56
	.word	.L55
	.word	.L54
	.word	.L53
	.word	.L52
	.word	.L51
	.word	.L50
	.word	.L49
	.word	.L48
	.word	.L47
	.word	.L46
	.word	.L45
	.word	.L37
	.word	.L37
	.word	.L37
	.word	.L44
	.word	.L37
	.word	.L37
	.word	.L37
	.word	.L37
	.word	.L37
	.word	.L37
	.word	.L43
	.word	.L42
	.word	.L37
	.word	.L37
	.word	.L37
	.word	.L37
	.word	.L37
	.word	.L37
	.word	.L37
	.word	.L37
	.word	.L41
	.word	.L40
	.word	.L37
	.word	.L38
.L44:
	bl	MkExpDummy
	str	r0, [fp, #-48]
	b	.L37
.L57:
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #48]
	mov	r0, r3
	bl	CopyIdentifier
	mov	r3, r0
	mov	r0, r3
	bl	MkExpIdentifier
	str	r0, [fp, #-48]
	b	.L37
.L56:
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #44]
	mov	r0, r3
	bl	CopyInstantiation
	mov	r3, r0
	mov	r0, r3
	bl	MkExpInstance
	str	r0, [fp, #-48]
	b	.L37
.L55:
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #44]
	mov	r0, r3
	bl	MkExpConstant
	str	r0, [fp, #-48]
	b	.L37
.L54:
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #44]
	mov	r0, r3
	bl	MkExpString
	str	r0, [fp, #-48]
	b	.L37
.L53:
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #48]
	mov	r0, r3
	bl	CopyExpression
	mov	r5, r0
	ldr	r3, [fp, #-56]
	ldr	r4, [r3, #44]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #52]
	mov	r0, r3
	bl	CopyExpression
	mov	r3, r0
	mov	r2, r3
	mov	r1, r4
	mov	r0, r5
	bl	MkExpOp
	str	r0, [fp, #-48]
	b	.L37
.L52:
	bl	MkList
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #44]
	ldr	r3, [r3]
	str	r3, [fp, #-44]
	b	.L58
.L59:
	ldr	r0, [fp, #-44]
	bl	CopyExpression
	mov	r3, r0
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	ListAdd
	ldr	r3, [fp, #-44]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-44]
.L58:
	ldr	r3, [fp, #-44]
	cmp	r3, #0
	bne	.L59
	ldr	r0, [fp, #-16]
	bl	MkExpBrackets
	str	r0, [fp, #-48]
	b	.L37
.L51:
	bl	MkList
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #48]
	ldr	r3, [r3]
	str	r3, [fp, #-40]
	b	.L60
.L61:
	ldr	r0, [fp, #-40]
	bl	CopyExpression
	mov	r3, r0
	mov	r1, r3
	ldr	r0, [fp, #-20]
	bl	ListAdd
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-40]
.L60:
	ldr	r3, [fp, #-40]
	cmp	r3, #0
	bne	.L61
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #44]
	mov	r0, r3
	bl	CopyExpression
	mov	r3, r0
	ldr	r1, [fp, #-20]
	mov	r0, r3
	bl	MkExpIndex
	str	r0, [fp, #-48]
	b	.L37
.L50:
	bl	MkList
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #48]
	cmp	r3, #0
	beq	.L62
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #48]
	ldr	r3, [r3]
	str	r3, [fp, #-36]
	b	.L63
.L64:
	ldr	r0, [fp, #-36]
	bl	CopyExpression
	mov	r3, r0
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	ListAdd
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-36]
.L63:
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	bne	.L64
.L62:
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #44]
	mov	r0, r3
	bl	CopyExpression
	mov	r3, r0
	ldr	r1, [fp, #-24]
	mov	r0, r3
	bl	MkExpCall
	str	r0, [fp, #-48]
	b	.L37
.L49:
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #44]
	mov	r0, r3
	bl	CopyExpression
	mov	r4, r0
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #48]
	mov	r0, r3
	bl	CopyIdentifier
	mov	r3, r0
	mov	r1, r3
	mov	r0, r4
	bl	MkExpMember
	str	r0, [fp, #-48]
	ldr	r3, [fp, #-56]
	ldr	r2, [r3, #52]
	ldr	r3, [fp, #-48]
	str	r2, [r3, #52]
	ldr	r3, [fp, #-56]
	ldr	r2, [r3, #56]
	ldr	r3, [fp, #-48]
	str	r2, [r3, #56]
	b	.L37
.L48:
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #44]
	mov	r0, r3
	bl	CopyExpression
	mov	r4, r0
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #48]
	mov	r0, r3
	bl	CopyIdentifier
	mov	r3, r0
	mov	r1, r3
	mov	r0, r4
	bl	MkExpPointer
	str	r0, [fp, #-48]
	b	.L37
.L47:
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #44]
	mov	r0, r3
	bl	CopyTypeName
	mov	r3, r0
	mov	r0, r3
	bl	MkExpTypeSize
	str	r0, [fp, #-48]
	b	.L37
.L38:
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #44]
	mov	r0, r3
	bl	CopyTypeName
	mov	r3, r0
	mov	r0, r3
	bl	MkExpTypeAlign
	str	r0, [fp, #-48]
	b	.L37
.L46:
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #44]
	mov	r0, r3
	bl	CopyTypeName
	mov	r4, r0
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #48]
	mov	r0, r3
	bl	CopyExpression
	mov	r3, r0
	mov	r1, r3
	mov	r0, r4
	bl	MkExpCast
	str	r0, [fp, #-48]
	b	.L37
.L45:
	bl	MkList
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #48]
	ldr	r3, [r3]
	str	r3, [fp, #-32]
	b	.L65
.L66:
	ldr	r0, [fp, #-32]
	bl	CopyExpression
	mov	r3, r0
	mov	r1, r3
	ldr	r0, [fp, #-28]
	bl	ListAdd
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-32]
.L65:
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	bne	.L66
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #44]
	mov	r0, r3
	bl	CopyExpression
	mov	r4, r0
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #52]
	mov	r0, r3
	bl	CopyExpression
	mov	r3, r0
	mov	r2, r3
	ldr	r1, [fp, #-28]
	mov	r0, r4
	bl	MkExpCondition
	str	r0, [fp, #-48]
	b	.L37
.L40:
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #44]
	mov	r0, r3
	bl	CopyExpression
	mov	r4, r0
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #48]
	mov	r0, r3
	bl	CopyTypeName
	mov	r3, r0
	mov	r1, r3
	mov	r0, r4
	bl	MkExpVaArg
	str	r0, [fp, #-48]
	b	.L37
.L43:
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #44]
	mov	r0, r3
	bl	CopyStatement
	mov	r3, r0
	mov	r0, r3
	bl	MkExpExtensionCompound
	str	r0, [fp, #-48]
	b	.L37
.L41:
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #44]
	mov	r0, r3
	bl	CopyTypeName
	mov	r4, r0
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #48]
	mov	r0, r3
	bl	CopyInitializer
	mov	r3, r0
	mov	r1, r3
	mov	r0, r4
	bl	MkExpExtensionInitializer
	str	r0, [fp, #-48]
	b	.L37
.L42:
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #44]
	ldr	r1, .L72
	mov	r0, r3
	bl	CopyList
	mov	r4, r0
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #48]
	mov	r0, r3
	bl	CopyDeclarator
	mov	r3, r0
	mov	r1, r3
	mov	r0, r4
	bl	MkExpClass
	str	r0, [fp, #-48]
	b	.L37
.L71:
	nop
.L37:
	ldr	r3, [fp, #-48]
	cmp	r3, #0
	beq	.L67
	ldr	r3, [fp, #-56]
	ldr	r2, [r3, #108]
	ldr	r3, [fp, #-48]
	str	r2, [r3, #108]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #108]
	cmp	r3, #0
	beq	.L68
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #108]
	ldr	r2, [r3, #8]
	add	r2, r2, #1
	str	r2, [r3, #8]
.L68:
	ldr	r3, [fp, #-56]
	ldr	r2, [r3, #112]
	ldr	r3, [fp, #-48]
	str	r2, [r3, #112]
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #112]
	cmp	r3, #0
	beq	.L69
	ldr	r3, [fp, #-56]
	ldr	r3, [r3, #112]
	ldr	r2, [r3, #8]
	add	r2, r2, #1
	str	r2, [r3, #8]
.L69:
	ldr	r2, [fp, #-48]
	ldr	r3, [fp, #-56]
	add	ip, r2, #8
	add	lr, r3, #8
	ldmia	lr!, {r0, r1, r2, r3}
	stmia	ip!, {r0, r1, r2, r3}
	ldm	lr, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	ldr	r3, [fp, #-56]
	ldr	r2, [r3, #128]
	ldr	r3, [fp, #-48]
	str	r2, [r3, #128]
	ldr	r3, [fp, #-56]
	ldr	r2, [r3, #124]
	ldr	r3, [fp, #-48]
	str	r2, [r3, #124]
.L67:
	ldr	r3, [fp, #-48]
	mov	r0, r3
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
.L73:
	.align	2
.L72:
	.word	CopySpecifier
	.size	CopyExpression, .-CopyExpression
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	CopyStatement, %function
CopyStatement:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #20
	str	r0, [fp, #-24]
	mov	r3, #0
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	beq	.L81
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #40]
	cmp	r3, #14
	beq	.L76
	cmp	r3, #14
	bgt	.L75
	cmp	r3, #2
	beq	.L77
	cmp	r3, #3
	beq	.L78
	b	.L75
.L77:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #44]
	ldr	r1, .L82
	mov	r0, r3
	bl	CopyList
	mov	r4, r0
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #48]
	ldr	r1, .L82+4
	mov	r0, r3
	bl	CopyList
	mov	r3, r0
	mov	r1, r3
	mov	r0, r4
	bl	MkCompoundStmt
	str	r0, [fp, #-16]
	ldr	r3, .L82+8
	ldr	r3, [r3]
	mov	r0, r3
	bl	__ecereNameSpace__ecere__com__eInstance_New
	mov	r2, r0
	ldr	r3, [fp, #-16]
	str	r2, [r3, #52]
	b	.L75
.L78:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #44]
	ldr	r1, .L82+12
	mov	r0, r3
	bl	CopyList
	mov	r3, r0
	mov	r0, r3
	bl	MkExpressionStmt
	str	r0, [fp, #-16]
	b	.L75
.L76:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #44]
	mov	r0, r3
	bl	CopyDeclaration
	mov	r3, r0
	mov	r0, r3
	bl	MkBadDeclStmt
	str	r0, [fp, #-16]
	b	.L75
.L81:
	nop
.L75:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L79
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-24]
	add	ip, r2, #8
	add	lr, r3, #8
	ldmia	lr!, {r0, r1, r2, r3}
	stmia	ip!, {r0, r1, r2, r3}
	ldm	lr, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
.L79:
	ldr	r3, [fp, #-16]
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L83:
	.align	2
.L82:
	.word	CopyDeclaration
	.word	CopyStatement
	.word	__ecereClass_Context
	.word	CopyExpression
	.size	CopyStatement, .-CopyStatement
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	CopyEnumerator, %function
CopyEnumerator:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #12
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #40]
	mov	r0, r3
	bl	CopyIdentifier
	mov	r4, r0
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #44]
	mov	r0, r3
	bl	CopyExpression
	mov	r3, r0
	mov	r1, r3
	mov	r0, r4
	bl	MkEnumerator
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
	.size	CopyEnumerator, .-CopyEnumerator
	.align	2
	.global	CopyClassDef
	.syntax unified
	.arm
	.fpu softvfp
	.type	CopyClassDef, %function
CopyClassDef:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #40]
	cmp	r3, #3
	ldrls	pc, [pc, r3, asl #2]
	b	.L87
.L89:
	.word	.L92
	.word	.L91
	.word	.L90
	.word	.L88
.L92:
	mov	r3, #0
	b	.L93
.L91:
	mov	r3, #0
	b	.L93
.L90:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #44]
	mov	r0, r3
	bl	CopyDeclaration
	mov	r3, r0
	mov	r0, r3
	bl	MkClassDefDeclaration
	mov	r3, r0
	b	.L93
.L88:
	mov	r3, #0
	b	.L93
.L87:
	mov	r3, #0
.L93:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	CopyClassDef, .-CopyClassDef
	.align	2
	.global	CopySpecifier
	.syntax unified
	.arm
	.fpu softvfp
	.type	CopySpecifier, %function
CopySpecifier:
	@ args = 0, pretend = 0, frame = 48
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #48
	str	r0, [fp, #-48]
	ldr	r3, [fp, #-48]
	cmp	r3, #0
	beq	.L95
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #40]
	cmp	r3, #8
	ldrls	pc, [pc, r3, asl #2]
	b	.L95
.L97:
	.word	.L103
	.word	.L102
	.word	.L101
	.word	.L100
	.word	.L100
	.word	.L99
	.word	.L95
	.word	.L98
	.word	.L96
.L103:
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #44]
	mov	r0, r3
	bl	MkSpecifier
	mov	r3, r0
	b	.L104
.L101:
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #44]
	mov	r0, r3
	bl	CopyIdentifier
	str	r0, [fp, #-16]
	bl	MkList
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #48]
	cmp	r3, #0
	beq	.L105
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #48]
	ldr	r3, [r3]
	str	r3, [fp, #-40]
	b	.L106
.L107:
	ldr	r0, [fp, #-40]
	bl	CopyEnumerator
	mov	r3, r0
	mov	r1, r3
	ldr	r0, [fp, #-12]
	bl	ListAdd
	ldr	r3, [fp, #-40]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-40]
.L106:
	ldr	r3, [fp, #-40]
	cmp	r3, #0
	bne	.L107
.L105:
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-16]
	bl	MkEnum
	mov	r3, r0
	b	.L104
.L100:
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #44]
	mov	r0, r3
	bl	CopyIdentifier
	str	r0, [fp, #-24]
	mov	r3, #0
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #56]
	cmp	r3, #0
	beq	.L108
	bl	MkList
	str	r0, [fp, #-36]
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #48]
	cmp	r3, #0
	beq	.L108
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #48]
	ldr	r3, [r3]
	str	r3, [fp, #-32]
	b	.L109
.L110:
	ldr	r0, [fp, #-32]
	bl	CopyClassDef
	mov	r3, r0
	mov	r1, r3
	ldr	r0, [fp, #-36]
	bl	ListAdd
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-32]
.L109:
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	bne	.L110
.L108:
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #40]
	ldr	r2, [fp, #-36]
	ldr	r1, [fp, #-24]
	mov	r0, r3
	bl	MkStructOrUnion
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #68]
	mov	r0, r3
	bl	CopyExtDecl
	mov	r2, r0
	ldr	r3, [fp, #-20]
	str	r2, [r3, #68]
	ldr	r3, [fp, #-20]
	b	.L104
.L102:
	ldr	r3, .L111
	ldr	r3, [r3]
	mov	r0, r3
	bl	__ecereNameSpace__ecere__com__eInstance_New
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r2, #1
	str	r2, [r3, #40]
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #48]
	mov	r0, r3
	bl	__ecereNameSpace__ecere__sys__CopyString
	mov	r2, r0
	ldr	r3, [fp, #-8]
	str	r2, [r3, #48]
	ldr	r3, [fp, #-48]
	ldr	r2, [r3, #52]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #52]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #56]
	ldr	r3, [fp, #-8]
	b	.L104
.L98:
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #44]
	mov	r0, r3
	bl	CopySpecifier
	mov	r3, r0
	mov	r0, r3
	bl	MkSpecifierSubClass
	mov	r3, r0
	b	.L104
.L96:
	ldr	r3, .L111
	ldr	r3, [r3]
	mov	r0, r3
	bl	__ecereNameSpace__ecere__com__eInstance_New
	str	r0, [fp, #-28]
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-48]
	add	ip, r2, #8
	add	lr, r3, #8
	ldmia	lr!, {r0, r1, r2, r3}
	stmia	ip!, {r0, r1, r2, r3}
	ldm	lr, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	ldr	r3, [fp, #-28]
	mov	r2, #8
	str	r2, [r3, #40]
	ldr	r3, [fp, #-48]
	ldr	r2, [r3, #44]
	ldr	r3, [fp, #-28]
	str	r2, [r3, #44]
	ldr	r3, [fp, #-28]
	b	.L104
.L99:
	ldr	r3, [fp, #-48]
	ldr	r3, [r3, #44]
	mov	r0, r3
	bl	CopyExtDecl
	mov	r3, r0
	mov	r0, r3
	bl	MkSpecifierExtended
	mov	r3, r0
	b	.L104
.L95:
	mov	r3, #0
.L104:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L112:
	.align	2
.L111:
	.word	__ecereClass_Specifier
	.size	CopySpecifier, .-CopySpecifier
	.align	2
	.global	CopyTypeName
	.syntax unified
	.arm
	.fpu softvfp
	.type	CopyTypeName, %function
CopyTypeName:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-24]
	mov	r3, #0
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #40]
	cmp	r3, #0
	beq	.L114
	bl	MkList
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #40]
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	b	.L115
.L116:
	ldr	r0, [fp, #-12]
	bl	CopySpecifier
	mov	r3, r0
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	ListAdd
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-12]
.L115:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L116
.L114:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #44]
	mov	r0, r3
	bl	CopyDeclarator
	mov	r3, r0
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	MkTypeName
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-24]
	ldr	r2, [r3, #48]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #48]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	CopyTypeName, .-CopyTypeName
	.align	2
	.global	CopyExtDecl
	.syntax unified
	.arm
	.fpu softvfp
	.type	CopyExtDecl, %function
CopyExtDecl:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L119
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #32]
	cmp	r3, #1
	bne	.L120
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #36]
	mov	r0, r3
	bl	CopyAttrib
	mov	r3, r0
	mov	r0, r3
	bl	MkExtDeclAttrib
	mov	r3, r0
	b	.L121
.L120:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #32]
	cmp	r3, #0
	bne	.L119
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #36]
	mov	r0, r3
	bl	__ecereNameSpace__ecere__sys__CopyString
	mov	r3, r0
	mov	r0, r3
	bl	MkExtDeclString
	mov	r3, r0
	b	.L121
.L119:
	mov	r3, #0
.L121:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	CopyExtDecl, .-CopyExtDecl
	.align	2
	.global	CopyAttribute
	.syntax unified
	.arm
	.fpu softvfp
	.type	CopyAttribute, %function
CopyAttribute:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #12
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L123
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #40]
	mov	r0, r3
	bl	__ecereNameSpace__ecere__sys__CopyString
	mov	r4, r0
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #44]
	mov	r0, r3
	bl	CopyExpression
	mov	r3, r0
	mov	r1, r3
	mov	r0, r4
	bl	MkAttribute
	mov	r3, r0
	b	.L124
.L123:
	mov	r3, #0
.L124:
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
	.size	CopyAttribute, .-CopyAttribute
	.align	2
	.global	CopyAttrib
	.syntax unified
	.arm
	.fpu softvfp
	.type	CopyAttrib, %function
CopyAttrib:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #12
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L126
	ldr	r3, [fp, #-16]
	ldr	r4, [r3, #32]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #36]
	ldr	r1, .L128
	mov	r0, r3
	bl	CopyList
	mov	r3, r0
	mov	r1, r3
	mov	r0, r4
	bl	MkAttrib
	mov	r3, r0
	b	.L127
.L126:
	mov	r3, #0
.L127:
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L129:
	.align	2
.L128:
	.word	CopyAttribute
	.size	CopyAttrib, .-CopyAttrib
	.align	2
	.global	CopyDeclarator
	.syntax unified
	.arm
	.fpu softvfp
	.type	CopyDeclarator, %function
CopyDeclarator:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #28
	str	r0, [fp, #-32]
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	beq	.L131
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #40]
	cmp	r3, #7
	ldrls	pc, [pc, r3, asl #2]
	b	.L131
.L133:
	.word	.L140
	.word	.L139
	.word	.L138
	.word	.L137
	.word	.L136
	.word	.L135
	.word	.L134
	.word	.L132
.L140:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #48]
	mov	r0, r3
	bl	CopyDeclarator
	mov	r4, r0
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #52]
	mov	r0, r3
	bl	CopyExpression
	mov	r3, r0
	mov	r1, r3
	mov	r0, r4
	bl	MkStructDeclarator
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #60]
	cmp	r3, #0
	beq	.L141
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #60]
	mov	r0, r3
	bl	CopyAttrib
	mov	r2, r0
	ldr	r3, [fp, #-16]
	str	r2, [r3, #60]
.L141:
	ldr	r3, [fp, #-16]
	b	.L142
.L139:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #52]
	mov	r0, r3
	bl	CopyIdentifier
	mov	r3, r0
	mov	r0, r3
	bl	MkDeclaratorIdentifier
	mov	r3, r0
	b	.L142
.L138:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #48]
	mov	r0, r3
	bl	CopyDeclarator
	mov	r3, r0
	mov	r0, r3
	bl	MkDeclaratorBrackets
	mov	r3, r0
	b	.L142
.L137:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #56]
	cmp	r3, #0
	beq	.L143
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #48]
	mov	r0, r3
	bl	CopyDeclarator
	mov	r4, r0
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #56]
	mov	r0, r3
	bl	CopySpecifier
	mov	r3, r0
	mov	r1, r3
	mov	r0, r4
	bl	MkDeclaratorEnumArray
	mov	r3, r0
	b	.L142
.L143:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #48]
	mov	r0, r3
	bl	CopyDeclarator
	mov	r4, r0
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #52]
	mov	r0, r3
	bl	CopyExpression
	mov	r3, r0
	mov	r1, r3
	mov	r0, r4
	bl	MkDeclaratorArray
	mov	r3, r0
	b	.L142
.L136:
	bl	MkList
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #52]
	cmp	r3, #0
	beq	.L144
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #52]
	ldr	r3, [r3]
	str	r3, [fp, #-24]
	b	.L145
.L146:
	ldr	r0, [fp, #-24]
	bl	CopyTypeName
	mov	r3, r0
	mov	r1, r3
	ldr	r0, [fp, #-20]
	bl	ListAdd
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-24]
.L145:
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bne	.L146
.L144:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #48]
	mov	r0, r3
	bl	CopyDeclarator
	mov	r3, r0
	ldr	r1, [fp, #-20]
	mov	r0, r3
	bl	MkDeclaratorFunction
	mov	r3, r0
	b	.L142
.L135:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #52]
	mov	r0, r3
	bl	CopyPointer
	mov	r4, r0
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #48]
	mov	r0, r3
	bl	CopyDeclarator
	mov	r3, r0
	mov	r1, r3
	mov	r0, r4
	bl	MkDeclaratorPointer
	mov	r3, r0
	b	.L142
.L134:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #52]
	mov	r0, r3
	bl	CopyExtDecl
	mov	r4, r0
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #48]
	mov	r0, r3
	bl	CopyDeclarator
	mov	r3, r0
	mov	r1, r3
	mov	r0, r4
	bl	MkDeclaratorExtended
	mov	r3, r0
	b	.L142
.L132:
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #52]
	mov	r0, r3
	bl	CopyExtDecl
	mov	r4, r0
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #48]
	mov	r0, r3
	bl	CopyDeclarator
	mov	r3, r0
	mov	r1, r3
	mov	r0, r4
	bl	MkDeclaratorExtendedEnd
	mov	r3, r0
	b	.L142
.L131:
	mov	r3, #0
.L142:
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
	.size	CopyDeclarator, .-CopyDeclarator
	.align	2
	.global	CopyInitDeclarator
	.syntax unified
	.arm
	.fpu softvfp
	.type	CopyInitDeclarator, %function
CopyInitDeclarator:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #12
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #40]
	mov	r0, r3
	bl	CopyDeclarator
	mov	r4, r0
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #44]
	mov	r0, r3
	bl	CopyInitializer
	mov	r3, r0
	mov	r1, r3
	mov	r0, r4
	bl	MkInitDeclarator
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
	.size	CopyInitDeclarator, .-CopyInitDeclarator
	.align	2
	.global	CopyDeclaration
	.syntax unified
	.arm
	.fpu softvfp
	.type	CopyDeclaration, %function
CopyDeclaration:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #28
	str	r0, [fp, #-32]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #40]
	cmp	r3, #1
	bne	.L150
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #44]
	ldr	r1, .L157
	mov	r0, r3
	bl	CopyList
	mov	r4, r0
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #48]
	ldr	r1, .L157+4
	mov	r0, r3
	bl	CopyList
	mov	r3, r0
	mov	r1, r3
	mov	r0, r4
	bl	MkDeclaration
	mov	r3, r0
	b	.L151
.L150:
	bl	MkList
	str	r0, [fp, #-20]
	bl	MkList
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #44]
	ldr	r3, [r3]
	str	r3, [fp, #-28]
	b	.L152
.L153:
	ldr	r0, [fp, #-28]
	bl	CopySpecifier
	mov	r3, r0
	mov	r1, r3
	ldr	r0, [fp, #-20]
	bl	ListAdd
	ldr	r3, [fp, #-28]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-28]
.L152:
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	bne	.L153
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #48]
	cmp	r3, #0
	beq	.L154
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #48]
	ldr	r3, [r3]
	str	r3, [fp, #-24]
	b	.L155
.L156:
	ldr	r0, [fp, #-24]
	bl	CopyDeclarator
	mov	r3, r0
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	ListAdd
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-24]
.L155:
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bne	.L156
.L154:
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-20]
	bl	MkDeclaration
	mov	r3, r0
.L151:
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L158:
	.align	2
.L157:
	.word	CopySpecifier
	.word	CopyInitDeclarator
	.size	CopyDeclaration, .-CopyDeclaration
	.align	2
	.global	CopyList
	.syntax unified
	.arm
	.fpu softvfp
	.type	CopyList, %function
CopyList:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	mov	r3, #0
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L160
	bl	MkList
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	b	.L161
.L162:
	ldr	r3, [fp, #-20]
	ldr	r0, [fp, #-8]
	blx	r3
	mov	r3, r0
	mov	r1, r3
	ldr	r0, [fp, #-12]
	bl	ListAdd
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-8]
.L161:
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L162
.L160:
	ldr	r3, [fp, #-12]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	CopyList, .-CopyList
	.section	.rodata
	.align	2
.LC0:
	.ascii	"Identifier CopyIdentifier(Identifier id)\000"
	.align	2
.LC1:
	.ascii	"CopyIdentifier\000"
	.align	2
.LC2:
	.ascii	"Expression CopyExpression(Expression exp)\000"
	.align	2
.LC3:
	.ascii	"CopyExpression\000"
	.align	2
.LC4:
	.ascii	"ClassDef CopyClassDef(ClassDef def)\000"
	.align	2
.LC5:
	.ascii	"CopyClassDef\000"
	.align	2
.LC6:
	.ascii	"Specifier CopySpecifier(Specifier spec)\000"
	.align	2
.LC7:
	.ascii	"CopySpecifier\000"
	.align	2
.LC8:
	.ascii	"TypeName CopyTypeName(TypeName typeName)\000"
	.align	2
.LC9:
	.ascii	"CopyTypeName\000"
	.align	2
.LC10:
	.ascii	"ExtDecl CopyExtDecl(ExtDecl extDecl)\000"
	.align	2
.LC11:
	.ascii	"CopyExtDecl\000"
	.align	2
.LC12:
	.ascii	"Attribute CopyAttribute(Attribute attrib)\000"
	.align	2
.LC13:
	.ascii	"CopyAttribute\000"
	.align	2
.LC14:
	.ascii	"Attrib CopyAttrib(Attrib attrib)\000"
	.align	2
.LC15:
	.ascii	"CopyAttrib\000"
	.align	2
.LC16:
	.ascii	"Declarator CopyDeclarator(Declarator declarator)\000"
	.align	2
.LC17:
	.ascii	"CopyDeclarator\000"
	.align	2
.LC18:
	.ascii	"InitDeclarator CopyInitDeclarator(InitDeclarator in"
	.ascii	"itDecl)\000"
	.align	2
.LC19:
	.ascii	"CopyInitDeclarator\000"
	.align	2
.LC20:
	.ascii	"Declaration CopyDeclaration(Declaration decl)\000"
	.align	2
.LC21:
	.ascii	"CopyDeclaration\000"
	.align	2
.LC22:
	.ascii	"ecere::sys::OldList * CopyList(ecere::sys::OldList "
	.ascii	"* source, void * (* CopyFunction)(void *))\000"
	.align	2
.LC23:
	.ascii	"CopyList\000"
	.text
	.align	2
	.global	__ecereRegisterModule_copy
	.syntax unified
	.arm
	.fpu softvfp
	.type	__ecereRegisterModule_copy, %function
__ecereRegisterModule_copy:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-8]
	mov	r3, #2
	str	r3, [sp]
	ldr	r3, [fp, #-8]
	ldr	r2, .L165
	ldr	r1, .L165+4
	ldr	r0, .L165+8
	bl	__ecereNameSpace__ecere__com__eSystem_RegisterFunction
	mov	r3, #1
	str	r3, [sp]
	ldr	r3, [fp, #-8]
	ldr	r2, .L165+12
	ldr	r1, .L165+16
	ldr	r0, .L165+20
	bl	__ecereNameSpace__ecere__com__eSystem_RegisterFunction
	mov	r3, #2
	str	r3, [sp]
	ldr	r3, [fp, #-8]
	ldr	r2, .L165+24
	ldr	r1, .L165+28
	ldr	r0, .L165+32
	bl	__ecereNameSpace__ecere__com__eSystem_RegisterFunction
	mov	r3, #2
	str	r3, [sp]
	ldr	r3, [fp, #-8]
	ldr	r2, .L165+36
	ldr	r1, .L165+40
	ldr	r0, .L165+44
	bl	__ecereNameSpace__ecere__com__eSystem_RegisterFunction
	mov	r3, #2
	str	r3, [sp]
	ldr	r3, [fp, #-8]
	ldr	r2, .L165+48
	ldr	r1, .L165+52
	ldr	r0, .L165+56
	bl	__ecereNameSpace__ecere__com__eSystem_RegisterFunction
	mov	r3, #2
	str	r3, [sp]
	ldr	r3, [fp, #-8]
	ldr	r2, .L165+60
	ldr	r1, .L165+64
	ldr	r0, .L165+68
	bl	__ecereNameSpace__ecere__com__eSystem_RegisterFunction
	mov	r3, #2
	str	r3, [sp]
	ldr	r3, [fp, #-8]
	ldr	r2, .L165+72
	ldr	r1, .L165+76
	ldr	r0, .L165+80
	bl	__ecereNameSpace__ecere__com__eSystem_RegisterFunction
	mov	r3, #2
	str	r3, [sp]
	ldr	r3, [fp, #-8]
	ldr	r2, .L165+84
	ldr	r1, .L165+88
	ldr	r0, .L165+92
	bl	__ecereNameSpace__ecere__com__eSystem_RegisterFunction
	mov	r3, #2
	str	r3, [sp]
	ldr	r3, [fp, #-8]
	ldr	r2, .L165+96
	ldr	r1, .L165+100
	ldr	r0, .L165+104
	bl	__ecereNameSpace__ecere__com__eSystem_RegisterFunction
	mov	r3, #2
	str	r3, [sp]
	ldr	r3, [fp, #-8]
	ldr	r2, .L165+108
	ldr	r1, .L165+112
	ldr	r0, .L165+116
	bl	__ecereNameSpace__ecere__com__eSystem_RegisterFunction
	mov	r3, #2
	str	r3, [sp]
	ldr	r3, [fp, #-8]
	ldr	r2, .L165+120
	ldr	r1, .L165+124
	ldr	r0, .L165+128
	bl	__ecereNameSpace__ecere__com__eSystem_RegisterFunction
	mov	r3, #2
	str	r3, [sp]
	ldr	r3, [fp, #-8]
	ldr	r2, .L165+132
	ldr	r1, .L165+136
	ldr	r0, .L165+140
	bl	__ecereNameSpace__ecere__com__eSystem_RegisterFunction
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L166:
	.align	2
.L165:
	.word	CopyIdentifier
	.word	.LC0
	.word	.LC1
	.word	CopyExpression
	.word	.LC2
	.word	.LC3
	.word	CopyClassDef
	.word	.LC4
	.word	.LC5
	.word	CopySpecifier
	.word	.LC6
	.word	.LC7
	.word	CopyTypeName
	.word	.LC8
	.word	.LC9
	.word	CopyExtDecl
	.word	.LC10
	.word	.LC11
	.word	CopyAttribute
	.word	.LC12
	.word	.LC13
	.word	CopyAttrib
	.word	.LC14
	.word	.LC15
	.word	CopyDeclarator
	.word	.LC16
	.word	.LC17
	.word	CopyInitDeclarator
	.word	.LC18
	.word	.LC19
	.word	CopyDeclaration
	.word	.LC20
	.word	.LC21
	.word	CopyList
	.word	.LC22
	.word	.LC23
	.size	__ecereRegisterModule_copy, .-__ecereRegisterModule_copy
	.align	2
	.global	__ecereUnregisterModule_copy
	.syntax unified
	.arm
	.fpu softvfp
	.type	__ecereUnregisterModule_copy, %function
__ecereUnregisterModule_copy:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	__ecereUnregisterModule_copy, .-__ecereUnregisterModule_copy
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
