	.file	"586644.c"
	.intel_syntax noprefix
	.text
	.globl	__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_FreeString
	.type	__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_FreeString, @function
__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_FreeString:
.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, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	__ecereNameSpace__ecere__com__eSystem_Delete@PLT
	mov	QWORD PTR -8[rbp], 0
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE6:
	.size	__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_FreeString, .-__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_FreeString
	.local	__ecereProp___ecereNameSpace__ecere__sys__BinaryTree_first
	.comm	__ecereProp___ecereNameSpace__ecere__sys__BinaryTree_first,8,8
	.local	__ecerePropM___ecereNameSpace__ecere__sys__BinaryTree_first
	.comm	__ecerePropM___ecereNameSpace__ecere__sys__BinaryTree_first,8,8
	.local	__ecereProp___ecereNameSpace__ecere__sys__BinaryTree_last
	.comm	__ecereProp___ecereNameSpace__ecere__sys__BinaryTree_last,8,8
	.local	__ecerePropM___ecereNameSpace__ecere__sys__BinaryTree_last
	.comm	__ecerePropM___ecereNameSpace__ecere__sys__BinaryTree_last,8,8
	.local	__ecereNameSpace__ecere__sys__dummy
	.comm	__ecereNameSpace__ecere__sys__dummy,32,32
	.globl	__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_CompareInt
	.type	__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_CompareInt, @function
__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_CompareInt:
.LFB7:
	.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
	mov	QWORD PTR -16[rbp], rsi
	mov	QWORD PTR -24[rbp], rdx
	mov	rax, QWORD PTR -16[rbp]
	cmp	rax, QWORD PTR -24[rbp]
	ja	.L3
	mov	rax, QWORD PTR -16[rbp]
	cmp	rax, QWORD PTR -24[rbp]
	jnb	.L4
	mov	eax, -1
	jmp	.L7
.L4:
	mov	eax, 0
	jmp	.L7
.L3:
	mov	eax, 1
.L7:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE7:
	.size	__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_CompareInt, .-__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_CompareInt
	.globl	__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_CompareString
	.type	__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_CompareString, @function
__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_CompareString:
.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 -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	QWORD PTR -24[rbp], rdx
	cmp	QWORD PTR -16[rbp], 0
	je	.L9
	cmp	QWORD PTR -24[rbp], 0
	je	.L9
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcmp@PLT
	jmp	.L11
.L9:
	mov	eax, -1
.L11:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE8:
	.size	__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_CompareString, .-__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_CompareString
	.globl	__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Free
	.type	__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Free, @function
__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Free:
.LFB9:
	.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	rax, QWORD PTR [rax]
	test	rax, rax
	je	.L13
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 24[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	__ecereMethod___ecereNameSpace__ecere__sys__BTNode_Free@PLT
.L13:
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 8[rax], 0
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE9:
	.size	__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Free, .-__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Free
	.globl	__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_FindString
	.type	__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_FindString, @function
__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_FindString:
.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, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	je	.L15
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -16[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	__ecereMethod___ecereNameSpace__ecere__sys__BTNode_FindString@PLT
	jmp	.L17
.L15:
	mov	eax, 0
.L17:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE10:
	.size	__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_FindString, .-__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_FindString
	.globl	__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_FindPrefix
	.type	__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_FindPrefix, @function
__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_FindPrefix:
.LFB11:
	.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	QWORD PTR -16[rbp], rsi
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	je	.L19
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -16[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	__ecereMethod___ecereNameSpace__ecere__sys__BTNode_FindPrefix@PLT
	jmp	.L21
.L19:
	mov	eax, 0
.L21:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE11:
	.size	__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_FindPrefix, .-__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_FindPrefix
	.globl	__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_FindAll
	.type	__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_FindAll, @function
__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_FindAll:
.LFB12:
	.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	QWORD PTR -16[rbp], rsi
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	je	.L23
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -16[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	__ecereMethod___ecereNameSpace__ecere__sys__BTNode_FindAll@PLT
	jmp	.L25
.L23:
	mov	eax, 0
.L25:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE12:
	.size	__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_FindAll, .-__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_FindAll
	.globl	__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Remove
	.type	__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Remove, @function
__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Remove:
.LFB13:
	.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	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L27
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	cmp	QWORD PTR -32[rbp], rax
	jne	.L29
.L27:
	mov	rax, QWORD PTR -32[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	__ecereMethod___ecereNameSpace__ecere__sys__BTNode_RemoveSwapRight@PLT
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 8[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR 8[rax], 0
.L29:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE13:
	.size	__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Remove, .-__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Remove
	.globl	__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Print
	.type	__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Print, @function
__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Print:
.LFB14:
	.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 -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	DWORD PTR -20[rbp], edx
	mov	rax, QWORD PTR -16[rbp]
	mov	BYTE PTR [rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	je	.L31
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	mov	edx, DWORD PTR -20[rbp]
	mov	rcx, QWORD PTR -16[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	__ecereMethod___ecereNameSpace__ecere__sys__BTNode_Print@PLT
.L31:
	mov	rax, QWORD PTR -16[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE14:
	.size	__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Print, .-__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Print
	.globl	__ecereProp___ecereNameSpace__ecere__sys__BinaryTree_Get_first
	.type	__ecereProp___ecereNameSpace__ecere__sys__BinaryTree_Get_first, @function
__ecereProp___ecereNameSpace__ecere__sys__BinaryTree_Get_first:
.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	rax, QWORD PTR [rax]
	test	rax, rax
	je	.L34
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	__ecereProp___ecereNameSpace__ecere__sys__BTNode_Get_minimum@PLT
	jmp	.L36
.L34:
	mov	eax, 0
.L36:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE15:
	.size	__ecereProp___ecereNameSpace__ecere__sys__BinaryTree_Get_first, .-__ecereProp___ecereNameSpace__ecere__sys__BinaryTree_Get_first
	.globl	__ecereProp___ecereNameSpace__ecere__sys__BinaryTree_Get_last
	.type	__ecereProp___ecereNameSpace__ecere__sys__BinaryTree_Get_last, @function
__ecereProp___ecereNameSpace__ecere__sys__BinaryTree_Get_last:
.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, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	je	.L38
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	__ecereProp___ecereNameSpace__ecere__sys__BTNode_Get_maximum@PLT
	jmp	.L40
.L38:
	mov	eax, 0
.L40:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE16:
	.size	__ecereProp___ecereNameSpace__ecere__sys__BinaryTree_Get_last, .-__ecereProp___ecereNameSpace__ecere__sys__BinaryTree_Get_last
	.globl	__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Delete
	.type	__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Delete, @function
__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Delete:
.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, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR -8[rbp], rax
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Remove
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	__ecereNameSpace__ecere__com__eSystem_Delete@PLT
	mov	QWORD PTR -8[rbp], 0
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE17:
	.size	__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Delete, .-__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Delete
	.globl	__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Add
	.type	__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Add, @function
__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Add:
.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
	mov	QWORD PTR -16[rbp], rsi
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 16[rax]
	test	rax, rax
	jne	.L43
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_CompareInt[rip]
	mov	QWORD PTR 16[rax], rdx
.L43:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L44
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -16[rbp]
	mov	QWORD PTR [rax], rdx
	jmp	.L45
.L44:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -16[rbp]
	mov	rcx, QWORD PTR -8[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	__ecereMethod___ecereNameSpace__ecere__sys__BTNode_Add@PLT
	test	eax, eax
	je	.L46
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	mov	eax, 0
	call	__ecereMethod___ecereNameSpace__ecere__sys__BTNode_Rebalance@PLT
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR [rdx], rax
	jmp	.L45
.L46:
	mov	eax, 0
	jmp	.L47
.L45:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 8[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	eax, 1
.L47:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE18:
	.size	__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Add, .-__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Add
	.globl	__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Find
	.type	__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Find, @function
__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Find:
.LFB19:
	.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	QWORD PTR -16[rbp], rsi
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 16[rax]
	test	rax, rax
	jne	.L49
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_CompareInt[rip]
	mov	QWORD PTR 16[rax], rdx
.L49:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	je	.L50
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -16[rbp]
	mov	rcx, QWORD PTR -8[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	__ecereMethod___ecereNameSpace__ecere__sys__BTNode_Find@PLT
	jmp	.L52
.L50:
	mov	eax, 0
.L52:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE19:
	.size	__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Find, .-__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Find
	.globl	__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Check
	.type	__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Check, @function
__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Check:
.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
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	je	.L54
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -8[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	__ecereMethod___ecereNameSpace__ecere__sys__BTNode_Check@PLT
	jmp	.L56
.L54:
	mov	eax, 1
.L56:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE20:
	.size	__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Check, .-__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Check
	.local	__ecereClass___ecereNameSpace__ecere__sys__BinaryTree
	.comm	__ecereClass___ecereNameSpace__ecere__sys__BinaryTree,8,8
	.local	__ecereClass___ecereNameSpace__ecere__sys__StringBinaryTree
	.comm	__ecereClass___ecereNameSpace__ecere__sys__StringBinaryTree,8,8
	.globl	__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_OnSerialize
	.type	__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_OnSerialize, @function
__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_OnSerialize:
.LFB21:
	.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 -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	QWORD PTR -24[rbp], rdx
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rcx, QWORD PTR __ecereClass___ecereNameSpace__ecere__sys__BTNode[rip]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	__ecereMethod___ecereNameSpace__ecere__com__IOChannel_Serialize@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE21:
	.size	__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_OnSerialize, .-__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_OnSerialize
	.globl	__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_OnUnserialize
	.type	__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_OnUnserialize, @function
__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_OnUnserialize:
.LFB22:
	.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 -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	QWORD PTR -24[rbp], rdx
	mov	rdx, QWORD PTR -16[rbp]
	mov	rcx, QWORD PTR __ecereClass___ecereNameSpace__ecere__sys__BTNode[rip]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	__ecereMethod___ecereNameSpace__ecere__com__IOChannel_Unserialize@PLT
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	je	.L59
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	__ecereProp___ecereNameSpace__ecere__sys__BTNode_Get_count@PLT
	jmp	.L60
.L59:
	mov	eax, 0
.L60:
	mov	rdx, QWORD PTR -16[rbp]
	mov	DWORD PTR 8[rdx], eax
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE22:
	.size	__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_OnUnserialize, .-__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_OnUnserialize
	.globl	__ecereMethod___ecereNameSpace__ecere__sys__StringBinaryTree_OnSerialize
	.type	__ecereMethod___ecereNameSpace__ecere__sys__StringBinaryTree_OnSerialize, @function
__ecereMethod___ecereNameSpace__ecere__sys__StringBinaryTree_OnSerialize:
.LFB23:
	.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 -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	QWORD PTR -24[rbp], rdx
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rcx, QWORD PTR __ecereClass___ecereNameSpace__ecere__sys__StringBTNode[rip]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	__ecereMethod___ecereNameSpace__ecere__com__IOChannel_Serialize@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE23:
	.size	__ecereMethod___ecereNameSpace__ecere__sys__StringBinaryTree_OnSerialize, .-__ecereMethod___ecereNameSpace__ecere__sys__StringBinaryTree_OnSerialize
	.globl	__ecereMethod___ecereNameSpace__ecere__sys__StringBinaryTree_OnUnserialize
	.type	__ecereMethod___ecereNameSpace__ecere__sys__StringBinaryTree_OnUnserialize, @function
__ecereMethod___ecereNameSpace__ecere__sys__StringBinaryTree_OnUnserialize:
.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, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	QWORD PTR -16[rbp], 0
	mov	rcx, QWORD PTR __ecereClass___ecereNameSpace__ecere__sys__StringBTNode[rip]
	lea	rdx, -16[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	__ecereMethod___ecereNameSpace__ecere__com__IOChannel_Unserialize@PLT
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -16[rbp]
	test	rax, rax
	je	.L63
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	__ecereProp___ecereNameSpace__ecere__sys__BTNode_Get_count@PLT
	jmp	.L64
.L63:
	mov	eax, 0
.L64:
	mov	rdx, QWORD PTR -32[rbp]
	mov	DWORD PTR 8[rdx], eax
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L65
	call	__stack_chk_fail@PLT
.L65:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE24:
	.size	__ecereMethod___ecereNameSpace__ecere__sys__StringBinaryTree_OnUnserialize, .-__ecereMethod___ecereNameSpace__ecere__sys__StringBinaryTree_OnUnserialize
	.globl	__ecereUnregisterModule_BinaryTree
	.type	__ecereUnregisterModule_BinaryTree, @function
__ecereUnregisterModule_BinaryTree:
.LFB25:
	.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
	mov	QWORD PTR __ecerePropM___ecereNameSpace__ecere__sys__BinaryTree_first[rip], 0
	mov	QWORD PTR __ecerePropM___ecereNameSpace__ecere__sys__BinaryTree_last[rip], 0
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE25:
	.size	__ecereUnregisterModule_BinaryTree, .-__ecereUnregisterModule_BinaryTree
	.section	.rodata
.LC0:
	.string	"ecere::sys::BinaryTree"
.LC1:
	.string	"OnSerialize"
.LC2:
	.string	"OnUnserialize"
	.align 8
.LC3:
	.string	"bool Add(ecere::sys::BTNode node)"
.LC4:
	.string	"Add"
.LC5:
	.string	"bool Check()"
.LC6:
	.string	"Check"
	.align 8
.LC7:
	.string	"int CompareInt(uintptr a, uintptr b)"
.LC8:
	.string	"CompareInt"
	.align 8
.LC9:
	.string	"int CompareString(const char * a, const char * b)"
.LC10:
	.string	"CompareString"
	.align 8
.LC11:
	.string	"void Delete(ecere::sys::BTNode node)"
.LC12:
	.string	"Delete"
	.align 8
.LC13:
	.string	"ecere::sys::BTNode Find(uintptr key)"
.LC14:
	.string	"Find"
	.align 8
.LC15:
	.string	"ecere::sys::BTNode FindAll(uintptr key)"
.LC16:
	.string	"FindAll"
	.align 8
.LC17:
	.string	"ecere::sys::BTNode FindPrefix(const char * key)"
.LC18:
	.string	"FindPrefix"
	.align 8
.LC19:
	.string	"ecere::sys::BTNode FindString(const char * key)"
.LC20:
	.string	"FindString"
.LC21:
	.string	"void Free()"
.LC22:
	.string	"Free"
	.align 8
.LC23:
	.string	"void ::FreeString(char * string)"
.LC24:
	.string	"FreeString"
	.align 8
.LC25:
	.string	"char * Print(char * output, ecere::sys::TreePrintStyle tps)"
.LC26:
	.string	"Print"
	.align 8
.LC27:
	.string	"void Remove(ecere::sys::BTNode node)"
.LC28:
	.string	"Remove"
.LC29:
	.string	"ecere::sys::BTNode"
.LC30:
	.string	"root"
.LC31:
	.string	"int"
.LC32:
	.string	"count"
	.align 8
.LC33:
	.string	"int (*)(ecere::sys::BinaryTree tree, uintptr a, uintptr b)"
.LC34:
	.string	"CompareKey"
.LC35:
	.string	"void (*)(void * key)"
.LC36:
	.string	"FreeKey"
.LC37:
	.string	"first"
.LC38:
	.string	"last"
.LC39:
	.string	"ecere::sys::StringBinaryTree"
	.text
	.globl	__ecereRegisterModule_BinaryTree
	.type	__ecereRegisterModule_BinaryTree, @function
__ecereRegisterModule_BinaryTree:
.LFB26:
	.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
	push	1
	push	4
	push	QWORD PTR -24[rbp]
	push	0
	mov	r9d, 0
	mov	r8d, 0
	mov	ecx, 32
	mov	edx, 0
	lea	rsi, .LC0[rip]
	mov	edi, 1
	call	__ecereNameSpace__ecere__com__eSystem_RegisterClass@PLT
	add	rsp, 32
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, 24
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR __thisModule[rip]
	add	rax, 24
	mov	rax, QWORD PTR [rax]
	cmp	rdx, rax
	jne	.L68
	cmp	QWORD PTR -8[rbp], 0
	je	.L68
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR __ecereClass___ecereNameSpace__ecere__sys__BinaryTree[rip], rax
.L68:
	mov	rax, QWORD PTR -8[rbp]
	mov	r8d, 1
	lea	rcx, __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_OnSerialize[rip]
	mov	edx, 0
	lea	rsi, .LC1[rip]
	mov	rdi, rax
	call	__ecereNameSpace__ecere__com__eClass_AddMethod@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	r8d, 1
	lea	rcx, __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_OnUnserialize[rip]
	mov	edx, 0
	lea	rsi, .LC2[rip]
	mov	rdi, rax
	call	__ecereNameSpace__ecere__com__eClass_AddMethod@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	r8d, 1
	lea	rcx, __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Add[rip]
	lea	rdx, .LC3[rip]
	lea	rsi, .LC4[rip]
	mov	rdi, rax
	call	__ecereNameSpace__ecere__com__eClass_AddMethod@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	r8d, 1
	lea	rcx, __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Check[rip]
	lea	rdx, .LC5[rip]
	lea	rsi, .LC6[rip]
	mov	rdi, rax
	call	__ecereNameSpace__ecere__com__eClass_AddMethod@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	r8d, 1
	lea	rcx, __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_CompareInt[rip]
	lea	rdx, .LC7[rip]
	lea	rsi, .LC8[rip]
	mov	rdi, rax
	call	__ecereNameSpace__ecere__com__eClass_AddMethod@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	r8d, 1
	lea	rcx, __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_CompareString[rip]
	lea	rdx, .LC9[rip]
	lea	rsi, .LC10[rip]
	mov	rdi, rax
	call	__ecereNameSpace__ecere__com__eClass_AddMethod@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	r8d, 1
	lea	rcx, __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Delete[rip]
	lea	rdx, .LC11[rip]
	lea	rsi, .LC12[rip]
	mov	rdi, rax
	call	__ecereNameSpace__ecere__com__eClass_AddMethod@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	r8d, 1
	lea	rcx, __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Find[rip]
	lea	rdx, .LC13[rip]
	lea	rsi, .LC14[rip]
	mov	rdi, rax
	call	__ecereNameSpace__ecere__com__eClass_AddMethod@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	r8d, 1
	lea	rcx, __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_FindAll[rip]
	lea	rdx, .LC15[rip]
	lea	rsi, .LC16[rip]
	mov	rdi, rax
	call	__ecereNameSpace__ecere__com__eClass_AddMethod@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	r8d, 1
	lea	rcx, __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_FindPrefix[rip]
	lea	rdx, .LC17[rip]
	lea	rsi, .LC18[rip]
	mov	rdi, rax
	call	__ecereNameSpace__ecere__com__eClass_AddMethod@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	r8d, 1
	lea	rcx, __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_FindString[rip]
	lea	rdx, .LC19[rip]
	lea	rsi, .LC20[rip]
	mov	rdi, rax
	call	__ecereNameSpace__ecere__com__eClass_AddMethod@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	r8d, 1
	lea	rcx, __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Free[rip]
	lea	rdx, .LC21[rip]
	lea	rsi, .LC22[rip]
	mov	rdi, rax
	call	__ecereNameSpace__ecere__com__eClass_AddMethod@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	r8d, 1
	lea	rcx, __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_FreeString[rip]
	lea	rdx, .LC23[rip]
	lea	rsi, .LC24[rip]
	mov	rdi, rax
	call	__ecereNameSpace__ecere__com__eClass_AddMethod@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	r8d, 1
	lea	rcx, __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Print[rip]
	lea	rdx, .LC25[rip]
	lea	rsi, .LC26[rip]
	mov	rdi, rax
	call	__ecereNameSpace__ecere__com__eClass_AddMethod@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	r8d, 1
	lea	rcx, __ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Remove[rip]
	lea	rdx, .LC27[rip]
	lea	rsi, .LC28[rip]
	mov	rdi, rax
	call	__ecereNameSpace__ecere__com__eClass_AddMethod@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	r9d, 1
	mov	r8d, -268374016
	mov	ecx, 8
	lea	rdx, .LC29[rip]
	lea	rsi, .LC30[rip]
	mov	rdi, rax
	call	__ecereNameSpace__ecere__com__eClass_AddDataMember@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	r9d, 1
	mov	r8d, 4
	mov	ecx, 4
	lea	rdx, .LC31[rip]
	lea	rsi, .LC32[rip]
	mov	rdi, rax
	call	__ecereNameSpace__ecere__com__eClass_AddDataMember@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	r9d, 1
	mov	r8d, -268374016
	mov	ecx, 8
	lea	rdx, .LC33[rip]
	lea	rsi, .LC34[rip]
	mov	rdi, rax
	call	__ecereNameSpace__ecere__com__eClass_AddDataMember@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	r9d, 1
	mov	r8d, -268374016
	mov	ecx, 8
	lea	rdx, .LC35[rip]
	lea	rsi, .LC36[rip]
	mov	rdi, rax
	call	__ecereNameSpace__ecere__com__eClass_AddDataMember@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	r9d, 1
	lea	r8, __ecereProp___ecereNameSpace__ecere__sys__BinaryTree_Get_first[rip]
	mov	ecx, 0
	lea	rdx, .LC29[rip]
	lea	rsi, .LC37[rip]
	mov	rdi, rax
	call	__ecereNameSpace__ecere__com__eClass_AddProperty@PLT
	mov	QWORD PTR __ecerePropM___ecereNameSpace__ecere__sys__BinaryTree_first[rip], rax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, 24
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR __thisModule[rip]
	add	rax, 24
	mov	rax, QWORD PTR [rax]
	cmp	rdx, rax
	jne	.L69
	mov	rax, QWORD PTR __ecerePropM___ecereNameSpace__ecere__sys__BinaryTree_first[rip]
	mov	QWORD PTR __ecereProp___ecereNameSpace__ecere__sys__BinaryTree_first[rip], rax
	mov	QWORD PTR __ecerePropM___ecereNameSpace__ecere__sys__BinaryTree_first[rip], 0
.L69:
	mov	rax, QWORD PTR -8[rbp]
	mov	r9d, 1
	lea	r8, __ecereProp___ecereNameSpace__ecere__sys__BinaryTree_Get_last[rip]
	mov	ecx, 0
	lea	rdx, .LC29[rip]
	lea	rsi, .LC38[rip]
	mov	rdi, rax
	call	__ecereNameSpace__ecere__com__eClass_AddProperty@PLT
	mov	QWORD PTR __ecerePropM___ecereNameSpace__ecere__sys__BinaryTree_last[rip], rax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, 24
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR __thisModule[rip]
	add	rax, 24
	mov	rax, QWORD PTR [rax]
	cmp	rdx, rax
	jne	.L70
	mov	rax, QWORD PTR __ecerePropM___ecereNameSpace__ecere__sys__BinaryTree_last[rip]
	mov	QWORD PTR __ecereProp___ecereNameSpace__ecere__sys__BinaryTree_last[rip], rax
	mov	QWORD PTR __ecerePropM___ecereNameSpace__ecere__sys__BinaryTree_last[rip], 0
.L70:
	push	1
	push	4
	push	QWORD PTR -24[rbp]
	push	0
	mov	r9d, 0
	mov	r8d, 0
	mov	ecx, 0
	lea	rdx, .LC0[rip]
	lea	rsi, .LC39[rip]
	mov	edi, 1
	call	__ecereNameSpace__ecere__com__eSystem_RegisterClass@PLT
	add	rsp, 32
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	add	rax, 24
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR __thisModule[rip]
	add	rax, 24
	mov	rax, QWORD PTR [rax]
	cmp	rdx, rax
	jne	.L71
	cmp	QWORD PTR -8[rbp], 0
	je	.L71
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR __ecereClass___ecereNameSpace__ecere__sys__StringBinaryTree[rip], rax
.L71:
	mov	rax, QWORD PTR -8[rbp]
	mov	r8d, 1
	lea	rcx, __ecereMethod___ecereNameSpace__ecere__sys__StringBinaryTree_OnSerialize[rip]
	mov	edx, 0
	lea	rsi, .LC1[rip]
	mov	rdi, rax
	call	__ecereNameSpace__ecere__com__eClass_AddMethod@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	r8d, 1
	lea	rcx, __ecereMethod___ecereNameSpace__ecere__sys__StringBinaryTree_OnUnserialize[rip]
	mov	edx, 0
	lea	rsi, .LC2[rip]
	mov	rdi, rax
	call	__ecereNameSpace__ecere__com__eClass_AddMethod@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE26:
	.size	__ecereRegisterModule_BinaryTree, .-__ecereRegisterModule_BinaryTree
	.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	"586644.c"
	.text
	.align	2
	.global	__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_FreeString
	.syntax unified
	.arm
	.fpu softvfp
	.type	__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_FreeString, %function
__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_FreeString:
	@ 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	r0, [fp, #-8]
	bl	__ecereNameSpace__ecere__com__eSystem_Delete
	mov	r3, #0
	str	r3, [fp, #-8]
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_FreeString, .-__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_FreeString
	.local	__ecereProp___ecereNameSpace__ecere__sys__BinaryTree_first
	.comm	__ecereProp___ecereNameSpace__ecere__sys__BinaryTree_first,4,4
	.local	__ecerePropM___ecereNameSpace__ecere__sys__BinaryTree_first
	.comm	__ecerePropM___ecereNameSpace__ecere__sys__BinaryTree_first,4,4
	.local	__ecereProp___ecereNameSpace__ecere__sys__BinaryTree_last
	.comm	__ecereProp___ecereNameSpace__ecere__sys__BinaryTree_last,4,4
	.local	__ecerePropM___ecereNameSpace__ecere__sys__BinaryTree_last
	.comm	__ecerePropM___ecereNameSpace__ecere__sys__BinaryTree_last,4,4
	.local	__ecereNameSpace__ecere__sys__dummy
	.comm	__ecereNameSpace__ecere__sys__dummy,16,4
	.align	2
	.global	__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_CompareInt
	.syntax unified
	.arm
	.fpu softvfp
	.type	__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_CompareInt, %function
__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_CompareInt:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-16]
	cmp	r2, r3
	bhi	.L3
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-16]
	cmp	r2, r3
	bcs	.L4
	mvn	r3, #0
	b	.L7
.L4:
	mov	r3, #0
	b	.L7
.L3:
	mov	r3, #1
.L7:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_CompareInt, .-__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_CompareInt
	.align	2
	.global	__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_CompareString
	.syntax unified
	.arm
	.fpu softvfp
	.type	__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_CompareString, %function
__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_CompareString:
	@ 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, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L9
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L9
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-12]
	bl	strcmp
	mov	r3, r0
	b	.L11
.L9:
	mvn	r3, #0
.L11:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_CompareString, .-__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_CompareString
	.align	2
	.global	__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Free
	.syntax unified
	.arm
	.fpu softvfp
	.type	__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Free, %function
__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Free:
	@ 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]
	cmp	r3, #0
	beq	.L13
	ldr	r3, [fp, #-8]
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #12]
	mov	r1, r3
	mov	r0, r2
	bl	__ecereMethod___ecereNameSpace__ecere__sys__BTNode_Free
.L13:
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #4]
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Free, .-__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Free
	.align	2
	.global	__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_FindString
	.syntax unified
	.arm
	.fpu softvfp
	.type	__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_FindString, %function
__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_FindString:
	@ 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]
	str	r1, [fp, #-12]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L15
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	ldr	r1, [fp, #-12]
	mov	r0, r3
	bl	__ecereMethod___ecereNameSpace__ecere__sys__BTNode_FindString
	mov	r3, r0
	b	.L17
.L15:
	mov	r3, #0
.L17:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_FindString, .-__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_FindString
	.align	2
	.global	__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_FindPrefix
	.syntax unified
	.arm
	.fpu softvfp
	.type	__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_FindPrefix, %function
__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_FindPrefix:
	@ 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]
	str	r1, [fp, #-12]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L19
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	ldr	r1, [fp, #-12]
	mov	r0, r3
	bl	__ecereMethod___ecereNameSpace__ecere__sys__BTNode_FindPrefix
	mov	r3, r0
	b	.L21
.L19:
	mov	r3, #0
.L21:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_FindPrefix, .-__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_FindPrefix
	.align	2
	.global	__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_FindAll
	.syntax unified
	.arm
	.fpu softvfp
	.type	__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_FindAll, %function
__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_FindAll:
	@ 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]
	str	r1, [fp, #-12]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L23
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	ldr	r1, [fp, #-12]
	mov	r0, r3
	bl	__ecereMethod___ecereNameSpace__ecere__sys__BTNode_FindAll
	mov	r3, r0
	b	.L25
.L23:
	mov	r3, #0
.L25:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_FindAll, .-__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_FindAll
	.align	2
	.global	__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Remove
	.syntax unified
	.arm
	.fpu softvfp
	.type	__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Remove, %function
__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Remove:
	@ 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]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L27
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldr	r2, [fp, #-20]
	cmp	r2, r3
	bne	.L29
.L27:
	ldr	r0, [fp, #-20]
	bl	__ecereMethod___ecereNameSpace__ecere__sys__BTNode_RemoveSwapRight
	mov	r2, r0
	ldr	r3, [fp, #-16]
	str	r2, [r3]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	sub	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-20]
	mov	r2, #0
	str	r2, [r3, #4]
.L29:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Remove, .-__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Remove
	.align	2
	.global	__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Print
	.syntax unified
	.arm
	.fpu softvfp
	.type	__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Print, %function
__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Print:
	@ 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, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	mov	r2, #0
	strb	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L31
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	ldr	r2, [fp, #-16]
	ldr	r1, [fp, #-12]
	mov	r0, r3
	bl	__ecereMethod___ecereNameSpace__ecere__sys__BTNode_Print
.L31:
	ldr	r3, [fp, #-12]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Print, .-__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Print
	.align	2
	.global	__ecereProp___ecereNameSpace__ecere__sys__BinaryTree_Get_first
	.syntax unified
	.arm
	.fpu softvfp
	.type	__ecereProp___ecereNameSpace__ecere__sys__BinaryTree_Get_first, %function
__ecereProp___ecereNameSpace__ecere__sys__BinaryTree_Get_first:
	@ 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]
	cmp	r3, #0
	beq	.L34
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	mov	r0, r3
	bl	__ecereProp___ecereNameSpace__ecere__sys__BTNode_Get_minimum
	mov	r3, r0
	b	.L36
.L34:
	mov	r3, #0
.L36:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	__ecereProp___ecereNameSpace__ecere__sys__BinaryTree_Get_first, .-__ecereProp___ecereNameSpace__ecere__sys__BinaryTree_Get_first
	.align	2
	.global	__ecereProp___ecereNameSpace__ecere__sys__BinaryTree_Get_last
	.syntax unified
	.arm
	.fpu softvfp
	.type	__ecereProp___ecereNameSpace__ecere__sys__BinaryTree_Get_last, %function
__ecereProp___ecereNameSpace__ecere__sys__BinaryTree_Get_last:
	@ 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]
	cmp	r3, #0
	beq	.L38
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	mov	r0, r3
	bl	__ecereProp___ecereNameSpace__ecere__sys__BTNode_Get_maximum
	mov	r3, r0
	b	.L40
.L38:
	mov	r3, #0
.L40:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	__ecereProp___ecereNameSpace__ecere__sys__BinaryTree_Get_last, .-__ecereProp___ecereNameSpace__ecere__sys__BinaryTree_Get_last
	.align	2
	.global	__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Delete
	.syntax unified
	.arm
	.fpu softvfp
	.type	__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Delete, %function
__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Delete:
	@ 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]
	ldr	r3, [fp, #-20]
	str	r3, [fp, #-8]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Remove
	ldr	r0, [fp, #-8]
	bl	__ecereNameSpace__ecere__com__eSystem_Delete
	mov	r3, #0
	str	r3, [fp, #-8]
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Delete, .-__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Delete
	.align	2
	.global	__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Add
	.syntax unified
	.arm
	.fpu softvfp
	.type	__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Add, %function
__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Add:
	@ 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]
	str	r1, [fp, #-12]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bne	.L43
	ldr	r3, [fp, #-8]
	ldr	r2, .L48
	str	r2, [r3, #8]
.L43:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L44
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-12]
	str	r2, [r3]
	b	.L45
.L44:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	ldr	r2, [fp, #-12]
	ldr	r1, [fp, #-8]
	mov	r0, r3
	bl	__ecereMethod___ecereNameSpace__ecere__sys__BTNode_Add
	mov	r3, r0
	cmp	r3, #0
	beq	.L46
	ldr	r0, [fp, #-12]
	bl	__ecereMethod___ecereNameSpace__ecere__sys__BTNode_Rebalance
	mov	r2, r0
	ldr	r3, [fp, #-8]
	str	r2, [r3]
	b	.L45
.L46:
	mov	r3, #0
	b	.L47
.L45:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	add	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #4]
	mov	r3, #1
.L47:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L49:
	.align	2
.L48:
	.word	__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_CompareInt
	.size	__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Add, .-__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Add
	.align	2
	.global	__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Find
	.syntax unified
	.arm
	.fpu softvfp
	.type	__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Find, %function
__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Find:
	@ 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]
	str	r1, [fp, #-12]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bne	.L51
	ldr	r3, [fp, #-8]
	ldr	r2, .L55
	str	r2, [r3, #8]
.L51:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L52
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	ldr	r2, [fp, #-12]
	ldr	r1, [fp, #-8]
	mov	r0, r3
	bl	__ecereMethod___ecereNameSpace__ecere__sys__BTNode_Find
	mov	r3, r0
	b	.L54
.L52:
	mov	r3, #0
.L54:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L56:
	.align	2
.L55:
	.word	__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_CompareInt
	.size	__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Find, .-__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Find
	.align	2
	.global	__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Check
	.syntax unified
	.arm
	.fpu softvfp
	.type	__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Check, %function
__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Check:
	@ 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]
	cmp	r3, #0
	beq	.L58
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	ldr	r1, [fp, #-8]
	mov	r0, r3
	bl	__ecereMethod___ecereNameSpace__ecere__sys__BTNode_Check
	mov	r3, r0
	b	.L60
.L58:
	mov	r3, #1
.L60:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Check, .-__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Check
	.local	__ecereClass___ecereNameSpace__ecere__sys__BinaryTree
	.comm	__ecereClass___ecereNameSpace__ecere__sys__BinaryTree,4,4
	.local	__ecereClass___ecereNameSpace__ecere__sys__StringBinaryTree
	.comm	__ecereClass___ecereNameSpace__ecere__sys__StringBinaryTree,4,4
	.align	2
	.global	__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_OnSerialize
	.syntax unified
	.arm
	.fpu softvfp
	.type	__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_OnSerialize, %function
__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_OnSerialize:
	@ 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, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	ldr	r3, .L62
	ldr	r1, [r3]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r0, [fp, #-16]
	bl	__ecereMethod___ecereNameSpace__ecere__com__IOChannel_Serialize
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L63:
	.align	2
.L62:
	.word	__ecereClass___ecereNameSpace__ecere__sys__BTNode
	.size	__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_OnSerialize, .-__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_OnSerialize
	.align	2
	.global	__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_OnUnserialize
	.syntax unified
	.arm
	.fpu softvfp
	.type	__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_OnUnserialize, %function
__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_OnUnserialize:
	@ 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, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	ldr	r3, .L67
	ldr	r3, [r3]
	ldr	r2, [fp, #-12]
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	__ecereMethod___ecereNameSpace__ecere__com__IOChannel_Unserialize
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L65
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	mov	r0, r3
	bl	__ecereProp___ecereNameSpace__ecere__sys__BTNode_Get_count
	mov	r3, r0
	b	.L66
.L65:
	mov	r3, #0
.L66:
	ldr	r2, [fp, #-12]
	str	r3, [r2, #4]
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L68:
	.align	2
.L67:
	.word	__ecereClass___ecereNameSpace__ecere__sys__BTNode
	.size	__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_OnUnserialize, .-__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_OnUnserialize
	.align	2
	.global	__ecereMethod___ecereNameSpace__ecere__sys__StringBinaryTree_OnSerialize
	.syntax unified
	.arm
	.fpu softvfp
	.type	__ecereMethod___ecereNameSpace__ecere__sys__StringBinaryTree_OnSerialize, %function
__ecereMethod___ecereNameSpace__ecere__sys__StringBinaryTree_OnSerialize:
	@ 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, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	ldr	r3, .L70
	ldr	r1, [r3]
	ldr	r3, [fp, #-12]
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r0, [fp, #-16]
	bl	__ecereMethod___ecereNameSpace__ecere__com__IOChannel_Serialize
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L71:
	.align	2
.L70:
	.word	__ecereClass___ecereNameSpace__ecere__sys__StringBTNode
	.size	__ecereMethod___ecereNameSpace__ecere__sys__StringBinaryTree_OnSerialize, .-__ecereMethod___ecereNameSpace__ecere__sys__StringBinaryTree_OnSerialize
	.section	.rodata
	.align	2
.LC0:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	__ecereMethod___ecereNameSpace__ecere__sys__StringBinaryTree_OnUnserialize
	.syntax unified
	.arm
	.fpu softvfp
	.type	__ecereMethod___ecereNameSpace__ecere__sys__StringBinaryTree_OnUnserialize, %function
__ecereMethod___ecereNameSpace__ecere__sys__StringBinaryTree_OnUnserialize:
	@ 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, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r3, .L76
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-12]
	ldr	r3, .L76+4
	ldr	r3, [r3]
	sub	r2, fp, #12
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	__ecereMethod___ecereNameSpace__ecere__com__IOChannel_Unserialize
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-20]
	str	r2, [r3]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L73
	ldr	r3, [fp, #-20]
	ldr	r3, [r3]
	mov	r0, r3
	bl	__ecereProp___ecereNameSpace__ecere__sys__BTNode_Get_count
	mov	r3, r0
	b	.L74
.L73:
	mov	r3, #0
.L74:
	ldr	r2, [fp, #-20]
	str	r3, [r2, #4]
	nop
	ldr	r3, .L76
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L75
	bl	__stack_chk_fail
.L75:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L77:
	.align	2
.L76:
	.word	.LC0
	.word	__ecereClass___ecereNameSpace__ecere__sys__StringBTNode
	.size	__ecereMethod___ecereNameSpace__ecere__sys__StringBinaryTree_OnUnserialize, .-__ecereMethod___ecereNameSpace__ecere__sys__StringBinaryTree_OnUnserialize
	.align	2
	.global	__ecereUnregisterModule_BinaryTree
	.syntax unified
	.arm
	.fpu softvfp
	.type	__ecereUnregisterModule_BinaryTree, %function
__ecereUnregisterModule_BinaryTree:
	@ 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]
	ldr	r3, .L79
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L79+4
	mov	r2, #0
	str	r2, [r3]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L80:
	.align	2
.L79:
	.word	__ecerePropM___ecereNameSpace__ecere__sys__BinaryTree_first
	.word	__ecerePropM___ecereNameSpace__ecere__sys__BinaryTree_last
	.size	__ecereUnregisterModule_BinaryTree, .-__ecereUnregisterModule_BinaryTree
	.section	.rodata
	.align	2
.LC1:
	.ascii	"ecere::sys::BinaryTree\000"
	.align	2
.LC2:
	.ascii	"OnSerialize\000"
	.align	2
.LC3:
	.ascii	"OnUnserialize\000"
	.align	2
.LC4:
	.ascii	"bool Add(ecere::sys::BTNode node)\000"
	.align	2
.LC5:
	.ascii	"Add\000"
	.align	2
.LC6:
	.ascii	"bool Check()\000"
	.align	2
.LC7:
	.ascii	"Check\000"
	.align	2
.LC8:
	.ascii	"int CompareInt(uintptr a, uintptr b)\000"
	.align	2
.LC9:
	.ascii	"CompareInt\000"
	.align	2
.LC10:
	.ascii	"int CompareString(const char * a, const char * b)\000"
	.align	2
.LC11:
	.ascii	"CompareString\000"
	.align	2
.LC12:
	.ascii	"void Delete(ecere::sys::BTNode node)\000"
	.align	2
.LC13:
	.ascii	"Delete\000"
	.align	2
.LC14:
	.ascii	"ecere::sys::BTNode Find(uintptr key)\000"
	.align	2
.LC15:
	.ascii	"Find\000"
	.align	2
.LC16:
	.ascii	"ecere::sys::BTNode FindAll(uintptr key)\000"
	.align	2
.LC17:
	.ascii	"FindAll\000"
	.align	2
.LC18:
	.ascii	"ecere::sys::BTNode FindPrefix(const char * key)\000"
	.align	2
.LC19:
	.ascii	"FindPrefix\000"
	.align	2
.LC20:
	.ascii	"ecere::sys::BTNode FindString(const char * key)\000"
	.align	2
.LC21:
	.ascii	"FindString\000"
	.align	2
.LC22:
	.ascii	"void Free()\000"
	.align	2
.LC23:
	.ascii	"Free\000"
	.align	2
.LC24:
	.ascii	"void ::FreeString(char * string)\000"
	.align	2
.LC25:
	.ascii	"FreeString\000"
	.align	2
.LC26:
	.ascii	"char * Print(char * output, ecere::sys::TreePrintSt"
	.ascii	"yle tps)\000"
	.align	2
.LC27:
	.ascii	"Print\000"
	.align	2
.LC28:
	.ascii	"void Remove(ecere::sys::BTNode node)\000"
	.align	2
.LC29:
	.ascii	"Remove\000"
	.align	2
.LC30:
	.ascii	"ecere::sys::BTNode\000"
	.align	2
.LC31:
	.ascii	"root\000"
	.align	2
.LC32:
	.ascii	"int\000"
	.align	2
.LC33:
	.ascii	"count\000"
	.align	2
.LC34:
	.ascii	"int (*)(ecere::sys::BinaryTree tree, uintptr a, uin"
	.ascii	"tptr b)\000"
	.align	2
.LC35:
	.ascii	"CompareKey\000"
	.align	2
.LC36:
	.ascii	"void (*)(void * key)\000"
	.align	2
.LC37:
	.ascii	"FreeKey\000"
	.align	2
.LC38:
	.ascii	"first\000"
	.align	2
.LC39:
	.ascii	"last\000"
	.align	2
.LC40:
	.ascii	"ecere::sys::StringBinaryTree\000"
	.text
	.align	2
	.global	__ecereRegisterModule_BinaryTree
	.syntax unified
	.arm
	.fpu softvfp
	.type	__ecereRegisterModule_BinaryTree, %function
__ecereRegisterModule_BinaryTree:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	str	r0, [fp, #-16]
	mov	r3, #1
	str	r3, [sp, #20]
	mov	r3, #4
	str	r3, [sp, #16]
	ldr	r3, [fp, #-16]
	str	r3, [sp, #12]
	mov	r3, #0
	str	r3, [sp, #8]
	mov	r3, #0
	str	r3, [sp, #4]
	mov	r3, #0
	str	r3, [sp]
	mov	r3, #16
	mov	r2, #0
	ldr	r1, .L86
	mov	r0, #1
	bl	__ecereNameSpace__ecere__com__eSystem_RegisterClass
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-16]
	add	r3, r3, #12
	ldr	r2, [r3]
	ldr	r3, .L86+4
	ldr	r3, [r3]
	add	r3, r3, #12
	ldr	r3, [r3]
	cmp	r2, r3
	bne	.L82
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L82
	ldr	r2, .L86+8
	ldr	r3, [fp, #-8]
	str	r3, [r2]
.L82:
	mov	r3, #1
	str	r3, [sp]
	ldr	r3, .L86+12
	mov	r2, #0
	ldr	r1, .L86+16
	ldr	r0, [fp, #-8]
	bl	__ecereNameSpace__ecere__com__eClass_AddMethod
	mov	r3, #1
	str	r3, [sp]
	ldr	r3, .L86+20
	mov	r2, #0
	ldr	r1, .L86+24
	ldr	r0, [fp, #-8]
	bl	__ecereNameSpace__ecere__com__eClass_AddMethod
	mov	r3, #1
	str	r3, [sp]
	ldr	r3, .L86+28
	ldr	r2, .L86+32
	ldr	r1, .L86+36
	ldr	r0, [fp, #-8]
	bl	__ecereNameSpace__ecere__com__eClass_AddMethod
	mov	r3, #1
	str	r3, [sp]
	ldr	r3, .L86+40
	ldr	r2, .L86+44
	ldr	r1, .L86+48
	ldr	r0, [fp, #-8]
	bl	__ecereNameSpace__ecere__com__eClass_AddMethod
	mov	r3, #1
	str	r3, [sp]
	ldr	r3, .L86+52
	ldr	r2, .L86+56
	ldr	r1, .L86+60
	ldr	r0, [fp, #-8]
	bl	__ecereNameSpace__ecere__com__eClass_AddMethod
	mov	r3, #1
	str	r3, [sp]
	ldr	r3, .L86+64
	ldr	r2, .L86+68
	ldr	r1, .L86+72
	ldr	r0, [fp, #-8]
	bl	__ecereNameSpace__ecere__com__eClass_AddMethod
	mov	r3, #1
	str	r3, [sp]
	ldr	r3, .L86+76
	ldr	r2, .L86+80
	ldr	r1, .L86+84
	ldr	r0, [fp, #-8]
	bl	__ecereNameSpace__ecere__com__eClass_AddMethod
	mov	r3, #1
	str	r3, [sp]
	ldr	r3, .L86+88
	ldr	r2, .L86+92
	ldr	r1, .L86+96
	ldr	r0, [fp, #-8]
	bl	__ecereNameSpace__ecere__com__eClass_AddMethod
	mov	r3, #1
	str	r3, [sp]
	ldr	r3, .L86+100
	ldr	r2, .L86+104
	ldr	r1, .L86+108
	ldr	r0, [fp, #-8]
	bl	__ecereNameSpace__ecere__com__eClass_AddMethod
	mov	r3, #1
	str	r3, [sp]
	ldr	r3, .L86+112
	ldr	r2, .L86+116
	ldr	r1, .L86+120
	ldr	r0, [fp, #-8]
	bl	__ecereNameSpace__ecere__com__eClass_AddMethod
	mov	r3, #1
	str	r3, [sp]
	ldr	r3, .L86+124
	ldr	r2, .L86+128
	ldr	r1, .L86+132
	ldr	r0, [fp, #-8]
	bl	__ecereNameSpace__ecere__com__eClass_AddMethod
	mov	r3, #1
	str	r3, [sp]
	ldr	r3, .L86+136
	ldr	r2, .L86+140
	ldr	r1, .L86+144
	ldr	r0, [fp, #-8]
	bl	__ecereNameSpace__ecere__com__eClass_AddMethod
	mov	r3, #1
	str	r3, [sp]
	ldr	r3, .L86+148
	ldr	r2, .L86+152
	ldr	r1, .L86+156
	ldr	r0, [fp, #-8]
	bl	__ecereNameSpace__ecere__com__eClass_AddMethod
	mov	r3, #1
	str	r3, [sp]
	ldr	r3, .L86+160
	ldr	r2, .L86+164
	ldr	r1, .L86+168
	ldr	r0, [fp, #-8]
	bl	__ecereNameSpace__ecere__com__eClass_AddMethod
	mov	r3, #1
	str	r3, [sp]
	ldr	r3, .L86+172
	ldr	r2, .L86+176
	ldr	r1, .L86+180
	ldr	r0, [fp, #-8]
	bl	__ecereNameSpace__ecere__com__eClass_AddMethod
	mov	r3, #1
	str	r3, [sp, #4]
	ldr	r3, .L86+184
	str	r3, [sp]
	mov	r3, #4
	ldr	r2, .L86+188
	ldr	r1, .L86+192
	ldr	r0, [fp, #-8]
	bl	__ecereNameSpace__ecere__com__eClass_AddDataMember
	mov	r3, #1
	str	r3, [sp, #4]
	mov	r3, #4
	str	r3, [sp]
	mov	r3, #4
	ldr	r2, .L86+196
	ldr	r1, .L86+200
	ldr	r0, [fp, #-8]
	bl	__ecereNameSpace__ecere__com__eClass_AddDataMember
	mov	r3, #1
	str	r3, [sp, #4]
	ldr	r3, .L86+184
	str	r3, [sp]
	mov	r3, #4
	ldr	r2, .L86+204
	ldr	r1, .L86+208
	ldr	r0, [fp, #-8]
	bl	__ecereNameSpace__ecere__com__eClass_AddDataMember
	mov	r3, #1
	str	r3, [sp, #4]
	ldr	r3, .L86+184
	str	r3, [sp]
	mov	r3, #4
	ldr	r2, .L86+212
	ldr	r1, .L86+216
	ldr	r0, [fp, #-8]
	bl	__ecereNameSpace__ecere__com__eClass_AddDataMember
	mov	r3, #1
	str	r3, [sp, #4]
	ldr	r3, .L86+220
	str	r3, [sp]
	mov	r3, #0
	ldr	r2, .L86+188
	ldr	r1, .L86+224
	ldr	r0, [fp, #-8]
	bl	__ecereNameSpace__ecere__com__eClass_AddProperty
	mov	r3, r0
	ldr	r2, .L86+228
	str	r3, [r2]
	ldr	r3, [fp, #-16]
	add	r3, r3, #12
	ldr	r2, [r3]
	ldr	r3, .L86+4
	ldr	r3, [r3]
	add	r3, r3, #12
	ldr	r3, [r3]
	cmp	r2, r3
	bne	.L83
	ldr	r3, .L86+228
	ldr	r3, [r3]
	ldr	r2, .L86+232
	str	r3, [r2]
	ldr	r3, .L86+228
	mov	r2, #0
	str	r2, [r3]
.L83:
	mov	r3, #1
	str	r3, [sp, #4]
	ldr	r3, .L86+236
	str	r3, [sp]
	mov	r3, #0
	ldr	r2, .L86+188
	ldr	r1, .L86+240
	ldr	r0, [fp, #-8]
	bl	__ecereNameSpace__ecere__com__eClass_AddProperty
	mov	r3, r0
	ldr	r2, .L86+244
	str	r3, [r2]
	ldr	r3, [fp, #-16]
	add	r3, r3, #12
	ldr	r2, [r3]
	ldr	r3, .L86+4
	ldr	r3, [r3]
	add	r3, r3, #12
	ldr	r3, [r3]
	cmp	r2, r3
	bne	.L84
	ldr	r3, .L86+244
	ldr	r3, [r3]
	ldr	r2, .L86+248
	str	r3, [r2]
	ldr	r3, .L86+244
	mov	r2, #0
	str	r2, [r3]
.L84:
	mov	r3, #1
	str	r3, [sp, #20]
	mov	r3, #4
	str	r3, [sp, #16]
	ldr	r3, [fp, #-16]
	str	r3, [sp, #12]
	mov	r3, #0
	str	r3, [sp, #8]
	mov	r3, #0
	str	r3, [sp, #4]
	mov	r3, #0
	str	r3, [sp]
	mov	r3, #0
	ldr	r2, .L86
	ldr	r1, .L86+252
	mov	r0, #1
	bl	__ecereNameSpace__ecere__com__eSystem_RegisterClass
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-16]
	add	r3, r3, #12
	ldr	r2, [r3]
	ldr	r3, .L86+4
	ldr	r3, [r3]
	add	r3, r3, #12
	ldr	r3, [r3]
	cmp	r2, r3
	bne	.L85
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L85
	ldr	r2, .L86+256
	ldr	r3, [fp, #-8]
	str	r3, [r2]
.L85:
	mov	r3, #1
	str	r3, [sp]
	ldr	r3, .L86+260
	mov	r2, #0
	ldr	r1, .L86+16
	ldr	r0, [fp, #-8]
	bl	__ecereNameSpace__ecere__com__eClass_AddMethod
	mov	r3, #1
	str	r3, [sp]
	ldr	r3, .L86+264
	mov	r2, #0
	ldr	r1, .L86+24
	ldr	r0, [fp, #-8]
	bl	__ecereNameSpace__ecere__com__eClass_AddMethod
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L87:
	.align	2
.L86:
	.word	.LC1
	.word	__thisModule
	.word	__ecereClass___ecereNameSpace__ecere__sys__BinaryTree
	.word	__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_OnSerialize
	.word	.LC2
	.word	__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_OnUnserialize
	.word	.LC3
	.word	__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Add
	.word	.LC4
	.word	.LC5
	.word	__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Check
	.word	.LC6
	.word	.LC7
	.word	__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_CompareInt
	.word	.LC8
	.word	.LC9
	.word	__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_CompareString
	.word	.LC10
	.word	.LC11
	.word	__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Delete
	.word	.LC12
	.word	.LC13
	.word	__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Find
	.word	.LC14
	.word	.LC15
	.word	__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_FindAll
	.word	.LC16
	.word	.LC17
	.word	__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_FindPrefix
	.word	.LC18
	.word	.LC19
	.word	__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_FindString
	.word	.LC20
	.word	.LC21
	.word	__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Free
	.word	.LC22
	.word	.LC23
	.word	__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_FreeString
	.word	.LC24
	.word	.LC25
	.word	__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Print
	.word	.LC26
	.word	.LC27
	.word	__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_Remove
	.word	.LC28
	.word	.LC29
	.word	-268374016
	.word	.LC30
	.word	.LC31
	.word	.LC32
	.word	.LC33
	.word	.LC34
	.word	.LC35
	.word	.LC36
	.word	.LC37
	.word	__ecereProp___ecereNameSpace__ecere__sys__BinaryTree_Get_first
	.word	.LC38
	.word	__ecerePropM___ecereNameSpace__ecere__sys__BinaryTree_first
	.word	__ecereProp___ecereNameSpace__ecere__sys__BinaryTree_first
	.word	__ecereProp___ecereNameSpace__ecere__sys__BinaryTree_Get_last
	.word	.LC39
	.word	__ecerePropM___ecereNameSpace__ecere__sys__BinaryTree_last
	.word	__ecereProp___ecereNameSpace__ecere__sys__BinaryTree_last
	.word	.LC40
	.word	__ecereClass___ecereNameSpace__ecere__sys__StringBinaryTree
	.word	__ecereMethod___ecereNameSpace__ecere__sys__StringBinaryTree_OnSerialize
	.word	__ecereMethod___ecereNameSpace__ecere__sys__StringBinaryTree_OnUnserialize
	.size	__ecereRegisterModule_BinaryTree, .-__ecereRegisterModule_BinaryTree
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
