	.file	"48574305.c"
	.intel_syntax noprefix
	.text
	.local	S_Name
	.comm	S_Name,8,8
	.local	R_Name
	.comm	R_Name,8,8
	.local	hit_rddex
	.comm	hit_rddex,8,8
	.local	hit_score
	.comm	hit_score,8,8
	.local	hit_locus1
	.comm	hit_locus1,8,8
	.local	superlength
	.comm	superlength,8,8
	.local	hit_matlocu1
	.comm	hit_matlocu1,8,8
	.local	hit_matlocu2
	.comm	hit_matlocu2,8,8
	.local	hit_matindex
	.comm	hit_matindex,8,8
	.local	ctg_length
	.comm	ctg_length,8,8
	.local	hit_index
	.comm	hit_index,8,8
	.local	hit_masks
	.comm	hit_masks,8,8
	.local	hit_linkdex1
	.comm	hit_linkdex1,8,8
	.local	hit_linkdex2
	.comm	hit_linkdex2,8,8
	.local	IMOD
	.comm	IMOD,4,4
	.local	nContig
	.comm	nContig,4,4
	.data
	.align 4
	.type	file_flag, @object
	.size	file_flag, 4
file_flag:
	.long	1
	.align 4
	.type	min_len, @object
	.size	min_len, 4
min_len:
	.long	100000
	.align 4
	.type	max_ctg, @object
	.size	max_ctg, 4
max_ctg:
	.long	1000000
	.align 4
	.type	n_depth, @object
	.size	n_depth, 4
n_depth:
	.long	60
	.align 4
	.type	m_score, @object
	.size	m_score, 4
m_score:
	.long	1137180672
	.align 4
	.type	i_getindex, @object
	.size	i_getindex, 4
i_getindex:
	.long	2
	.section	.rodata
	.align 8
.LC0:
	.string	"Usage: %s <input_readplace_file> <output_readplace_file>\n"
.LC1:
	.string	"-mod"
.LC2:
	.string	"%d"
.LC3:
	.string	"-depth"
.LC4:
	.string	"-len"
.LC5:
	.string	"-score"
.LC6:
	.string	"%f"
.LC7:
	.string	"-index"
.LC8:
	.string	"-file"
	.align 8
.LC9:
	.string	"ps aux | grep scaffHiC_PCRdup3; date"
.LC10:
	.string	"r"
.LC11:
	.string	"ERROR main:: args "
.LC12:
	.string	"fmate: calloc - insert"
.LC13:
	.string	"fmate: calloc - hit_score"
.LC14:
	.string	"fmate: calloc - hit_locus1"
.LC15:
	.string	"fmate: calloc - superlength"
.LC16:
	.string	"fmate: calloc - hit_index"
.LC17:
	.string	"fmate: calloc - hit_masks"
.LC18:
	.string	"reads: %d %s\n"
	.align 8
.LC19:
	.string	"ERROR main:: reads group file "
.LC20:
	.string	"%s %s %d %d %s %d"
.LC21:
	.string	"fmate: calloc - ctg_length"
.LC22:
	.string	"%s"
.LC23:
	.string	"Job finished for %d reads!\n"
	.text
	.globl	main
	.type	main, @function
main:
.LFB6:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 2224
	mov	DWORD PTR -2212[rbp], edi
	mov	QWORD PTR -2224[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	QWORD PTR -2016[rbp], 0
	mov	QWORD PTR -2008[rbp], 0
	lea	rdx, -2000[rbp]
	mov	eax, 0
	mov	ecx, 248
	mov	rdi, rdx
	rep stosq
	cmp	DWORD PTR -2212[rbp], 1
	jg	.L2
	mov	rax, QWORD PTR -2224[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rsi, rax
	lea	rdi, .LC0[rip]
	mov	eax, 0
	call	printf@PLT
	mov	edi, 1
	call	exit@PLT
.L2:
	mov	DWORD PTR -2184[rbp], 0
	mov	DWORD PTR -2192[rbp], 1
	mov	DWORD PTR -2200[rbp], 1
	jmp	.L3
.L10:
	mov	eax, DWORD PTR -2200[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -2224[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	lea	rsi, .LC1[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L4
	add	DWORD PTR -2200[rbp], 1
	mov	eax, DWORD PTR -2200[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -2224[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	lea	rdx, IMOD[rip]
	lea	rsi, .LC2[rip]
	mov	rdi, rax
	mov	eax, 0
	call	__isoc99_sscanf@PLT
	add	DWORD PTR -2192[rbp], 2
	jmp	.L5
.L4:
	mov	eax, DWORD PTR -2200[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -2224[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	lea	rsi, .LC3[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L6
	add	DWORD PTR -2200[rbp], 1
	mov	eax, DWORD PTR -2200[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -2224[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	lea	rdx, n_depth[rip]
	lea	rsi, .LC2[rip]
	mov	rdi, rax
	mov	eax, 0
	call	__isoc99_sscanf@PLT
	add	DWORD PTR -2192[rbp], 2
	jmp	.L5
.L6:
	mov	eax, DWORD PTR -2200[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -2224[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	lea	rsi, .LC4[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L7
	add	DWORD PTR -2200[rbp], 1
	mov	eax, DWORD PTR -2200[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -2224[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	lea	rdx, min_len[rip]
	lea	rsi, .LC2[rip]
	mov	rdi, rax
	mov	eax, 0
	call	__isoc99_sscanf@PLT
	add	DWORD PTR -2192[rbp], 2
	jmp	.L5
.L7:
	mov	eax, DWORD PTR -2200[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -2224[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	lea	rsi, .LC5[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L8
	add	DWORD PTR -2200[rbp], 1
	mov	eax, DWORD PTR -2200[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -2224[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	lea	rdx, m_score[rip]
	lea	rsi, .LC6[rip]
	mov	rdi, rax
	mov	eax, 0
	call	__isoc99_sscanf@PLT
	add	DWORD PTR -2192[rbp], 2
	jmp	.L5
.L8:
	mov	eax, DWORD PTR -2200[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -2224[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	lea	rsi, .LC7[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L9
	add	DWORD PTR -2200[rbp], 1
	mov	eax, DWORD PTR -2200[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -2224[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	lea	rdx, i_getindex[rip]
	lea	rsi, .LC2[rip]
	mov	rdi, rax
	mov	eax, 0
	call	__isoc99_sscanf@PLT
	add	DWORD PTR -2192[rbp], 2
	jmp	.L5
.L9:
	mov	eax, DWORD PTR -2200[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -2224[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	lea	rsi, .LC8[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L5
	add	DWORD PTR -2200[rbp], 1
	mov	eax, DWORD PTR -2200[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -2224[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	lea	rdx, file_flag[rip]
	lea	rsi, .LC2[rip]
	mov	rdi, rax
	mov	eax, 0
	call	__isoc99_sscanf@PLT
	add	DWORD PTR -2192[rbp], 2
.L5:
	add	DWORD PTR -2200[rbp], 1
.L3:
	mov	eax, DWORD PTR -2200[rbp]
	cmp	eax, DWORD PTR -2212[rbp]
	jl	.L10
	mov	rax, QWORD PTR stdout[rip]
	mov	rdi, rax
	call	fflush@PLT
	lea	rdi, .LC9[rip]
	call	system@PLT
	mov	DWORD PTR -2188[rbp], 0
	mov	eax, DWORD PTR -2192[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -2224[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	lea	rsi, .LC10[rip]
	mov	rdi, rax
	call	fopen@PLT
	mov	QWORD PTR -2168[rbp], rax
	cmp	QWORD PTR -2168[rbp], 0
	jne	.L12
	lea	rdi, .LC11[rip]
	call	puts@PLT
	mov	edi, 1
	call	exit@PLT
.L15:
	mov	rdx, QWORD PTR -2168[rbp]
	lea	rax, -2016[rbp]
	mov	esi, 2000
	mov	rdi, rax
	call	fgets@PLT
	mov	rax, QWORD PTR -2168[rbp]
	mov	rdi, rax
	call	feof@PLT
	test	eax, eax
	jne	.L37
	add	DWORD PTR -2188[rbp], 1
.L12:
	mov	rax, QWORD PTR -2168[rbp]
	mov	rdi, rax
	call	feof@PLT
	test	eax, eax
	je	.L15
	jmp	.L14
.L37:
	nop
.L14:
	mov	rax, QWORD PTR -2168[rbp]
	mov	rdi, rax
	call	fclose@PLT
	mov	eax, DWORD PTR -2188[rbp]
	add	eax, eax
	mov	DWORD PTR nContig[rip], eax
	mov	eax, DWORD PTR -2188[rbp]
	cdqe
	mov	esi, 4
	mov	rdi, rax
	call	calloc@PLT
	mov	QWORD PTR hit_rddex[rip], rax
	mov	rax, QWORD PTR hit_rddex[rip]
	test	rax, rax
	jne	.L16
	lea	rdi, .LC12[rip]
	call	puts@PLT
	mov	edi, 1
	call	exit@PLT
.L16:
	mov	eax, DWORD PTR -2188[rbp]
	cdqe
	mov	esi, 4
	mov	rdi, rax
	call	calloc@PLT
	mov	QWORD PTR hit_score[rip], rax
	mov	rax, QWORD PTR hit_score[rip]
	test	rax, rax
	jne	.L17
	lea	rdi, .LC13[rip]
	call	puts@PLT
	mov	edi, 1
	call	exit@PLT
.L17:
	mov	eax, DWORD PTR -2188[rbp]
	cdqe
	mov	esi, 4
	mov	rdi, rax
	call	calloc@PLT
	mov	QWORD PTR hit_locus1[rip], rax
	mov	rax, QWORD PTR hit_locus1[rip]
	test	rax, rax
	jne	.L18
	lea	rdi, .LC14[rip]
	call	puts@PLT
	mov	edi, 1
	call	exit@PLT
.L18:
	mov	eax, DWORD PTR -2188[rbp]
	cdqe
	mov	esi, 4
	mov	rdi, rax
	call	calloc@PLT
	mov	QWORD PTR superlength[rip], rax
	mov	rax, QWORD PTR superlength[rip]
	test	rax, rax
	jne	.L19
	lea	rdi, .LC15[rip]
	call	puts@PLT
	mov	edi, 1
	call	exit@PLT
.L19:
	mov	eax, DWORD PTR -2188[rbp]
	cdqe
	mov	esi, 4
	mov	rdi, rax
	call	calloc@PLT
	mov	QWORD PTR hit_index[rip], rax
	mov	rax, QWORD PTR hit_index[rip]
	test	rax, rax
	jne	.L20
	lea	rdi, .LC16[rip]
	call	puts@PLT
	mov	edi, 1
	call	exit@PLT
.L20:
	mov	eax, DWORD PTR -2188[rbp]
	cdqe
	mov	esi, 4
	mov	rdi, rax
	call	calloc@PLT
	mov	QWORD PTR hit_masks[rip], rax
	mov	rax, QWORD PTR hit_masks[rip]
	test	rax, rax
	jne	.L21
	lea	rdi, .LC17[rip]
	call	puts@PLT
	mov	edi, 1
	call	exit@PLT
.L21:
	mov	eax, DWORD PTR -2188[rbp]
	mov	DWORD PTR -2184[rbp], eax
	mov	eax, DWORD PTR -2188[rbp]
	add	eax, 10
	cdqe
	mov	ecx, 40
	mov	edx, 0
	mov	rsi, rax
	mov	edi, 0
	call	cmatrix
	mov	QWORD PTR R_Name[rip], rax
	mov	DWORD PTR -2180[rbp], 0
	mov	DWORD PTR -2176[rbp], 0
	mov	eax, DWORD PTR -2192[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -2224[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -2188[rbp]
	mov	esi, eax
	lea	rdi, .LC18[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, DWORD PTR -2192[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -2224[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	lea	rsi, .LC10[rip]
	mov	rdi, rax
	call	fopen@PLT
	mov	QWORD PTR -2168[rbp], rax
	cmp	QWORD PTR -2168[rbp], 0
	jne	.L22
	lea	rdi, .LC19[rip]
	call	puts@PLT
	mov	edi, 1
	call	exit@PLT
.L22:
	mov	DWORD PTR -2200[rbp], 0
	mov	DWORD PTR max_ctg[rip], 0
	jmp	.L23
.L25:
	lea	rax, -2080[rbp]
	mov	QWORD PTR -2160[rbp], rax
	lea	rax, -2080[rbp]
	mov	esi, 95
	mov	rdi, rax
	call	strrchr@PLT
	mov	QWORD PTR -2152[rbp], rax
	mov	rax, QWORD PTR -2152[rbp]
	add	rax, 1
	mov	rdi, rax
	call	atoi@PLT
	mov	DWORD PTR -2172[rbp], eax
	mov	eax, DWORD PTR max_ctg[rip]
	cmp	DWORD PTR -2172[rbp], eax
	jle	.L24
	mov	eax, DWORD PTR -2172[rbp]
	mov	DWORD PTR max_ctg[rip], eax
.L24:
	mov	rdx, QWORD PTR hit_index[rip]
	mov	eax, DWORD PTR -2200[rbp]
	cdqe
	sal	rax, 2
	add	rdx, rax
	mov	eax, DWORD PTR -2172[rbp]
	mov	DWORD PTR [rdx], eax
	add	DWORD PTR -2200[rbp], 1
.L23:
	mov	rdx, QWORD PTR superlength[rip]
	mov	eax, DWORD PTR -2200[rbp]
	cdqe
	sal	rax, 2
	lea	rsi, [rdx+rax]
	mov	rdx, QWORD PTR hit_score[rip]
	mov	eax, DWORD PTR -2200[rbp]
	cdqe
	sal	rax, 2
	lea	r8, [rdx+rax]
	mov	rdx, QWORD PTR hit_locus1[rip]
	mov	eax, DWORD PTR -2200[rbp]
	cdqe
	sal	rax, 2
	lea	rdi, [rdx+rax]
	mov	rdx, QWORD PTR R_Name[rip]
	mov	eax, DWORD PTR -2200[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	lea	rcx, -2080[rbp]
	mov	rax, QWORD PTR -2168[rbp]
	push	rsi
	lea	rsi, -2144[rbp]
	push	rsi
	mov	r9, r8
	mov	r8, rdi
	lea	rsi, .LC20[rip]
	mov	rdi, rax
	mov	eax, 0
	call	__isoc99_fscanf@PLT
	add	rsp, 16
	cmp	eax, -1
	jne	.L25
	mov	rax, QWORD PTR -2168[rbp]
	mov	rdi, rax
	call	fclose@PLT
	mov	eax, DWORD PTR -2200[rbp]
	mov	DWORD PTR -2176[rbp], eax
	mov	eax, DWORD PTR max_ctg[rip]
	add	eax, 2000
	cdqe
	mov	esi, 4
	mov	rdi, rax
	call	calloc@PLT
	mov	QWORD PTR ctg_length[rip], rax
	mov	rax, QWORD PTR ctg_length[rip]
	test	rax, rax
	jne	.L26
	lea	rdi, .LC21[rip]
	call	puts@PLT
	mov	edi, 1
	call	exit@PLT
.L26:
	mov	DWORD PTR -2196[rbp], 0
	jmp	.L27
.L28:
	mov	rdx, QWORD PTR superlength[rip]
	mov	eax, DWORD PTR -2200[rbp]
	cdqe
	sal	rax, 2
	add	rax, rdx
	mov	rcx, QWORD PTR ctg_length[rip]
	mov	rsi, QWORD PTR hit_index[rip]
	mov	edx, DWORD PTR -2196[rbp]
	movsx	rdx, edx
	sal	rdx, 2
	add	rdx, rsi
	mov	edx, DWORD PTR [rdx]
	movsx	rdx, edx
	sal	rdx, 2
	add	rdx, rcx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR [rdx], eax
	add	DWORD PTR -2196[rbp], 1
.L27:
	mov	eax, DWORD PTR -2196[rbp]
	cmp	eax, DWORD PTR -2176[rbp]
	jl	.L28
	mov	edx, DWORD PTR -2176[rbp]
	mov	ecx, DWORD PTR -2192[rbp]
	mov	rax, QWORD PTR -2224[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	Matrix_Process
	mov	DWORD PTR -2188[rbp], 0
	mov	eax, DWORD PTR -2192[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -2224[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	lea	rsi, .LC10[rip]
	mov	rdi, rax
	call	fopen@PLT
	mov	QWORD PTR -2168[rbp], rax
	cmp	QWORD PTR -2168[rbp], 0
	jne	.L30
	lea	rdi, .LC11[rip]
	call	puts@PLT
	mov	edi, 1
	call	exit@PLT
.L34:
	mov	rdx, QWORD PTR -2168[rbp]
	lea	rax, -2016[rbp]
	mov	esi, 2000
	mov	rdi, rax
	call	fgets@PLT
	mov	rax, QWORD PTR -2168[rbp]
	mov	rdi, rax
	call	feof@PLT
	test	eax, eax
	jne	.L38
	mov	rdx, QWORD PTR hit_score[rip]
	mov	eax, DWORD PTR -2188[rbp]
	cdqe
	sal	rax, 2
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	jne	.L33
	lea	rax, -2016[rbp]
	mov	rsi, rax
	lea	rdi, .LC22[rip]
	mov	eax, 0
	call	printf@PLT
.L33:
	add	DWORD PTR -2188[rbp], 1
.L30:
	mov	rax, QWORD PTR -2168[rbp]
	mov	rdi, rax
	call	feof@PLT
	test	eax, eax
	je	.L34
	jmp	.L32
.L38:
	nop
.L32:
	mov	rax, QWORD PTR -2168[rbp]
	mov	rdi, rax
	call	fclose@PLT
	mov	eax, DWORD PTR -2184[rbp]
	mov	esi, eax
	lea	rdi, .LC23[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, 0
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L36
	call	__stack_chk_fail@PLT
.L36:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE6:
	.size	main, .-main
	.section	.rodata
.LC24:
	.string	"Memory: %ld %d %d\n"
.LC25:
	.string	"fmate: calloc - ctg_idex1"
.LC26:
	.string	"fmate: calloc - ctg_idex2"
.LC27:
	.string	"fmate: calloc - ctg_mapp1"
.LC28:
	.string	"fmate: calloc - ctg_mapp2"
.LC29:
	.string	"fmate: calloc - ctg_part1"
.LC30:
	.string	"fmate: calloc - ctg_part2"
.LC31:
	.string	"fmate: calloc - ctg_score1"
.LC32:
	.string	"fmate: calloc - ctg_score2"
.LC33:
	.string	"fmate: calloc - ctg_join1"
.LC34:
	.string	"fmate: calloc - ctg_join2"
.LC35:
	.string	"fmate: calloc - ctg_mask"
.LC36:
	.string	"fmate: calloc - ctg_oodex1"
.LC37:
	.string	"fmate: calloc - ctg_oodex2"
.LC38:
	.string	"fmate: calloc - ctg_rcoo1"
.LC39:
	.string	"fmate: calloc - ctg_rcoo2"
.LC40:
	.string	"fmate: calloc - ctg_hitnum"
.LC41:
	.string	"fmate: calloc - ctg_pattnum"
.LC42:
	.string	"fmate: calloc - ctg_output"
.LC43:
	.string	"fmate: calloc - ctg_used"
.LC44:
	.string	"fmate: calloc - ctg_links"
.LC45:
	.string	"fmate: calloc - ctg_rcindex"
.LC46:
	.string	"fmate: calloc - ctg_outrc"
.LC47:
	.string	"fmate: calloc - ctg_list"
.LC48:
	.string	"fmate: calloc - ctg_mpindex"
.LC49:
	.string	"fmate: calloc - Dis_index"
.LC50:
	.string	"fmate: calloc - link_locus"
.LC51:
	.string	"fmate: calloc - head_locus"
.LC52:
	.string	"fmate: calloc - link_locu2"
.LC53:
	.string	"fmate: calloc - link_locu3"
.LC54:
	.string	"contigs: %d %d %d\n"
.LC55:
	.string	"www: %s %d\n"
.LC56:
	.string	"contigs2: %d %d %d\n"
.LC57:
	.string	"fmate: calloc - hit_matlocus"
.LC58:
	.string	"fmate: calloc - hit_matindex"
.LC59:
	.string	"fmate: calloc - hit_linkdex1"
.LC60:
	.string	"fmate: calloc - hit_linkdex2"
.LC62:
	.string	"scaffold: %d %d %d\n"
.LC63:
	.string	"matrix: %d %d\n"
	.align 8
.LC68:
	.string	"ERROR main:: alignment file 2 "
.LC69:
	.string	"w"
.LC70:
	.string	"Masked reads %d\n"
	.text
	.globl	Matrix_Process
	.type	Matrix_Process, @function
Matrix_Process:
.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, 2624
	mov	QWORD PTR -2616[rbp], rdi
	mov	DWORD PTR -2620[rbp], esi
	mov	DWORD PTR -2624[rbp], edx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	eax, DWORD PTR min_len[rip]
	mov	DWORD PTR -2520[rbp], eax
	mov	eax, DWORD PTR max_ctg[rip]
	add	eax, 10
	mov	DWORD PTR -2516[rbp], eax
	mov	eax, DWORD PTR -2516[rbp]
	imul	eax, eax
	cdqe
	mov	QWORD PTR -2416[rbp], rax
	mov	edx, DWORD PTR max_ctg[rip]
	mov	ecx, DWORD PTR -2516[rbp]
	mov	rax, QWORD PTR -2416[rbp]
	mov	rsi, rax
	lea	rdi, .LC24[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, DWORD PTR -2516[rbp]
	cdqe
	mov	esi, 4
	mov	rdi, rax
	call	calloc@PLT
	mov	QWORD PTR -2408[rbp], rax
	cmp	QWORD PTR -2408[rbp], 0
	jne	.L40
	lea	rdi, .LC25[rip]
	call	puts@PLT
	mov	edi, 1
	call	exit@PLT
.L40:
	mov	eax, DWORD PTR -2516[rbp]
	cdqe
	mov	esi, 4
	mov	rdi, rax
	call	calloc@PLT
	mov	QWORD PTR -2400[rbp], rax
	cmp	QWORD PTR -2400[rbp], 0
	jne	.L41
	lea	rdi, .LC26[rip]
	call	puts@PLT
	mov	edi, 1
	call	exit@PLT
.L41:
	mov	eax, DWORD PTR -2516[rbp]
	cdqe
	mov	esi, 4
	mov	rdi, rax
	call	calloc@PLT
	mov	QWORD PTR -2392[rbp], rax
	cmp	QWORD PTR -2392[rbp], 0
	jne	.L42
	lea	rdi, .LC27[rip]
	call	puts@PLT
	mov	edi, 1
	call	exit@PLT
.L42:
	mov	eax, DWORD PTR -2516[rbp]
	cdqe
	mov	esi, 4
	mov	rdi, rax
	call	calloc@PLT
	mov	QWORD PTR -2384[rbp], rax
	cmp	QWORD PTR -2384[rbp], 0
	jne	.L43
	lea	rdi, .LC27[rip]
	call	puts@PLT
	mov	edi, 1
	call	exit@PLT
.L43:
	mov	eax, DWORD PTR -2516[rbp]
	cdqe
	mov	esi, 4
	mov	rdi, rax
	call	calloc@PLT
	mov	QWORD PTR -2376[rbp], rax
	cmp	QWORD PTR -2376[rbp], 0
	jne	.L44
	lea	rdi, .LC28[rip]
	call	puts@PLT
	mov	edi, 1
	call	exit@PLT
.L44:
	mov	eax, DWORD PTR -2516[rbp]
	cdqe
	mov	esi, 4
	mov	rdi, rax
	call	calloc@PLT
	mov	QWORD PTR -2368[rbp], rax
	cmp	QWORD PTR -2368[rbp], 0
	jne	.L45
	lea	rdi, .LC29[rip]
	call	puts@PLT
	mov	edi, 1
	call	exit@PLT
.L45:
	mov	eax, DWORD PTR -2516[rbp]
	cdqe
	mov	esi, 4
	mov	rdi, rax
	call	calloc@PLT
	mov	QWORD PTR -2360[rbp], rax
	cmp	QWORD PTR -2360[rbp], 0
	jne	.L46
	lea	rdi, .LC30[rip]
	call	puts@PLT
	mov	edi, 1
	call	exit@PLT
.L46:
	mov	eax, DWORD PTR -2516[rbp]
	cdqe
	mov	esi, 4
	mov	rdi, rax
	call	calloc@PLT
	mov	QWORD PTR -2352[rbp], rax
	cmp	QWORD PTR -2352[rbp], 0
	jne	.L47
	lea	rdi, .LC31[rip]
	call	puts@PLT
	mov	edi, 1
	call	exit@PLT
.L47:
	mov	eax, DWORD PTR -2516[rbp]
	cdqe
	mov	esi, 4
	mov	rdi, rax
	call	calloc@PLT
	mov	QWORD PTR -2344[rbp], rax
	cmp	QWORD PTR -2344[rbp], 0
	jne	.L48
	lea	rdi, .LC32[rip]
	call	puts@PLT
	mov	edi, 1
	call	exit@PLT
.L48:
	mov	eax, DWORD PTR -2516[rbp]
	cdqe
	mov	esi, 4
	mov	rdi, rax
	call	calloc@PLT
	mov	QWORD PTR -2336[rbp], rax
	cmp	QWORD PTR -2336[rbp], 0
	jne	.L49
	lea	rdi, .LC33[rip]
	call	puts@PLT
	mov	edi, 1
	call	exit@PLT
.L49:
	mov	eax, DWORD PTR -2516[rbp]
	cdqe
	mov	esi, 4
	mov	rdi, rax
	call	calloc@PLT
	mov	QWORD PTR -2328[rbp], rax
	cmp	QWORD PTR -2328[rbp], 0
	jne	.L50
	lea	rdi, .LC34[rip]
	call	puts@PLT
	mov	edi, 1
	call	exit@PLT
.L50:
	mov	eax, DWORD PTR -2516[rbp]
	cdqe
	mov	esi, 4
	mov	rdi, rax
	call	calloc@PLT
	mov	QWORD PTR -2320[rbp], rax
	cmp	QWORD PTR -2320[rbp], 0
	jne	.L51
	lea	rdi, .LC35[rip]
	call	puts@PLT
	mov	edi, 1
	call	exit@PLT
.L51:
	mov	eax, DWORD PTR -2516[rbp]
	cdqe
	mov	esi, 4
	mov	rdi, rax
	call	calloc@PLT
	mov	QWORD PTR -2312[rbp], rax
	cmp	QWORD PTR -2312[rbp], 0
	jne	.L52
	lea	rdi, .LC36[rip]
	call	puts@PLT
	mov	edi, 1
	call	exit@PLT
.L52:
	mov	eax, DWORD PTR -2516[rbp]
	cdqe
	mov	esi, 4
	mov	rdi, rax
	call	calloc@PLT
	mov	QWORD PTR -2304[rbp], rax
	cmp	QWORD PTR -2304[rbp], 0
	jne	.L53
	lea	rdi, .LC37[rip]
	call	puts@PLT
	mov	edi, 1
	call	exit@PLT
.L53:
	mov	eax, DWORD PTR -2516[rbp]
	cdqe
	mov	esi, 4
	mov	rdi, rax
	call	calloc@PLT
	mov	QWORD PTR -2296[rbp], rax
	cmp	QWORD PTR -2296[rbp], 0
	jne	.L54
	lea	rdi, .LC38[rip]
	call	puts@PLT
	mov	edi, 1
	call	exit@PLT
.L54:
	mov	eax, DWORD PTR -2516[rbp]
	cdqe
	mov	esi, 4
	mov	rdi, rax
	call	calloc@PLT
	mov	QWORD PTR -2288[rbp], rax
	cmp	QWORD PTR -2288[rbp], 0
	jne	.L55
	lea	rdi, .LC39[rip]
	call	puts@PLT
	mov	edi, 1
	call	exit@PLT
.L55:
	mov	eax, DWORD PTR -2516[rbp]
	cdqe
	mov	esi, 4
	mov	rdi, rax
	call	calloc@PLT
	mov	QWORD PTR -2280[rbp], rax
	cmp	QWORD PTR -2280[rbp], 0
	jne	.L56
	lea	rdi, .LC40[rip]
	call	puts@PLT
	mov	edi, 1
	call	exit@PLT
.L56:
	mov	eax, DWORD PTR -2516[rbp]
	cdqe
	mov	esi, 4
	mov	rdi, rax
	call	calloc@PLT
	mov	QWORD PTR -2272[rbp], rax
	cmp	QWORD PTR -2272[rbp], 0
	jne	.L57
	lea	rdi, .LC41[rip]
	call	puts@PLT
	mov	edi, 1
	call	exit@PLT
.L57:
	mov	eax, DWORD PTR -2516[rbp]
	cdqe
	mov	esi, 4
	mov	rdi, rax
	call	calloc@PLT
	mov	QWORD PTR -2264[rbp], rax
	cmp	QWORD PTR -2264[rbp], 0
	jne	.L58
	lea	rdi, .LC42[rip]
	call	puts@PLT
	mov	edi, 1
	call	exit@PLT
.L58:
	mov	eax, DWORD PTR -2516[rbp]
	cdqe
	mov	esi, 4
	mov	rdi, rax
	call	calloc@PLT
	mov	QWORD PTR -2256[rbp], rax
	cmp	QWORD PTR -2256[rbp], 0
	jne	.L59
	lea	rdi, .LC43[rip]
	call	puts@PLT
	mov	edi, 1
	call	exit@PLT
.L59:
	mov	eax, DWORD PTR -2516[rbp]
	cdqe
	mov	esi, 4
	mov	rdi, rax
	call	calloc@PLT
	mov	QWORD PTR -2248[rbp], rax
	cmp	QWORD PTR -2248[rbp], 0
	jne	.L60
	lea	rdi, .LC44[rip]
	call	puts@PLT
	mov	edi, 1
	call	exit@PLT
.L60:
	mov	eax, DWORD PTR -2516[rbp]
	cdqe
	mov	esi, 4
	mov	rdi, rax
	call	calloc@PLT
	mov	QWORD PTR -2240[rbp], rax
	cmp	QWORD PTR -2240[rbp], 0
	jne	.L61
	lea	rdi, .LC45[rip]
	call	puts@PLT
	mov	edi, 1
	call	exit@PLT
.L61:
	mov	eax, DWORD PTR -2516[rbp]
	cdqe
	mov	esi, 4
	mov	rdi, rax
	call	calloc@PLT
	mov	QWORD PTR -2232[rbp], rax
	cmp	QWORD PTR -2232[rbp], 0
	jne	.L62
	lea	rdi, .LC46[rip]
	call	puts@PLT
	mov	edi, 1
	call	exit@PLT
.L62:
	mov	eax, DWORD PTR -2516[rbp]
	cdqe
	mov	esi, 4
	mov	rdi, rax
	call	calloc@PLT
	mov	QWORD PTR -2224[rbp], rax
	cmp	QWORD PTR -2224[rbp], 0
	jne	.L63
	lea	rdi, .LC47[rip]
	call	puts@PLT
	mov	edi, 1
	call	exit@PLT
.L63:
	mov	eax, DWORD PTR -2516[rbp]
	cdqe
	mov	esi, 4
	mov	rdi, rax
	call	calloc@PLT
	mov	QWORD PTR -2216[rbp], rax
	cmp	QWORD PTR -2216[rbp], 0
	jne	.L64
	lea	rdi, .LC48[rip]
	call	puts@PLT
	mov	edi, 1
	call	exit@PLT
.L64:
	mov	eax, DWORD PTR -2516[rbp]
	cdqe
	mov	esi, 4
	mov	rdi, rax
	call	calloc@PLT
	mov	QWORD PTR -2208[rbp], rax
	cmp	QWORD PTR -2208[rbp], 0
	jne	.L65
	lea	rdi, .LC49[rip]
	call	puts@PLT
	mov	edi, 1
	call	exit@PLT
.L65:
	mov	eax, DWORD PTR -2516[rbp]
	cdqe
	mov	esi, 4
	mov	rdi, rax
	call	calloc@PLT
	mov	QWORD PTR -2200[rbp], rax
	cmp	QWORD PTR -2200[rbp], 0
	jne	.L66
	lea	rdi, .LC49[rip]
	call	puts@PLT
	mov	edi, 1
	call	exit@PLT
.L66:
	mov	eax, DWORD PTR -2516[rbp]
	cdqe
	mov	esi, 4
	mov	rdi, rax
	call	calloc@PLT
	mov	QWORD PTR -2192[rbp], rax
	cmp	QWORD PTR -2192[rbp], 0
	jne	.L67
	lea	rdi, .LC49[rip]
	call	puts@PLT
	mov	edi, 1
	call	exit@PLT
.L67:
	mov	rax, QWORD PTR -2416[rbp]
	mov	esi, 4
	mov	rdi, rax
	call	calloc@PLT
	mov	QWORD PTR -2184[rbp], rax
	cmp	QWORD PTR -2184[rbp], 0
	jne	.L68
	lea	rdi, .LC50[rip]
	call	puts@PLT
	mov	edi, 1
	call	exit@PLT
.L68:
	mov	rax, QWORD PTR -2416[rbp]
	mov	esi, 4
	mov	rdi, rax
	call	calloc@PLT
	mov	QWORD PTR -2176[rbp], rax
	cmp	QWORD PTR -2176[rbp], 0
	jne	.L69
	lea	rdi, .LC51[rip]
	call	puts@PLT
	mov	edi, 1
	call	exit@PLT
.L69:
	mov	rax, QWORD PTR -2416[rbp]
	mov	esi, 4
	mov	rdi, rax
	call	calloc@PLT
	mov	QWORD PTR -2168[rbp], rax
	cmp	QWORD PTR -2168[rbp], 0
	jne	.L70
	lea	rdi, .LC52[rip]
	call	puts@PLT
	mov	edi, 1
	call	exit@PLT
.L70:
	mov	rax, QWORD PTR -2416[rbp]
	mov	esi, 4
	mov	rdi, rax
	call	calloc@PLT
	mov	QWORD PTR -2160[rbp], rax
	cmp	QWORD PTR -2160[rbp], 0
	jne	.L71
	lea	rdi, .LC53[rip]
	call	puts@PLT
	mov	edi, 1
	call	exit@PLT
.L71:
	mov	edx, DWORD PTR max_ctg[rip]
	mov	ecx, DWORD PTR -2624[rbp]
	mov	eax, DWORD PTR -2516[rbp]
	mov	esi, eax
	lea	rdi, .LC54[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, DWORD PTR n_depth[rip]
	mov	DWORD PTR -2512[rbp], eax
	mov	eax, DWORD PTR -2516[rbp]
	movsx	rdx, eax
	mov	eax, DWORD PTR -2516[rbp]
	cdqe
	mov	rcx, rdx
	mov	edx, 0
	mov	rsi, rax
	mov	edi, 0
	call	imatrix
	mov	QWORD PTR -2152[rbp], rax
	mov	eax, DWORD PTR -2516[rbp]
	movsx	rdx, eax
	mov	eax, DWORD PTR -2516[rbp]
	cdqe
	mov	rcx, rdx
	mov	edx, 0
	mov	rsi, rax
	mov	edi, 0
	call	imatrix
	mov	QWORD PTR -2144[rbp], rax
	mov	eax, DWORD PTR -2516[rbp]
	movsx	rdx, eax
	mov	eax, DWORD PTR -2516[rbp]
	cdqe
	mov	rcx, rdx
	mov	edx, 0
	mov	rsi, rax
	mov	edi, 0
	call	imatrix
	mov	QWORD PTR -2136[rbp], rax
	mov	eax, DWORD PTR -2516[rbp]
	movsx	rdx, eax
	mov	eax, DWORD PTR -2516[rbp]
	cdqe
	mov	rcx, rdx
	mov	edx, 0
	mov	rsi, rax
	mov	edi, 0
	call	imatrix
	mov	QWORD PTR -2128[rbp], rax
	mov	eax, DWORD PTR -2516[rbp]
	movsx	rdx, eax
	mov	eax, DWORD PTR -2516[rbp]
	cdqe
	mov	rcx, rdx
	mov	edx, 0
	mov	rsi, rax
	mov	edi, 0
	call	imatrix
	mov	QWORD PTR -2120[rbp], rax
	mov	eax, DWORD PTR -2516[rbp]
	movsx	rdx, eax
	mov	eax, DWORD PTR -2516[rbp]
	cdqe
	mov	rcx, rdx
	mov	edx, 0
	mov	rsi, rax
	mov	edi, 0
	call	imatrix
	mov	QWORD PTR -2112[rbp], rax
	mov	eax, DWORD PTR -2516[rbp]
	movsx	rdx, eax
	mov	eax, DWORD PTR -2516[rbp]
	cdqe
	mov	rcx, rdx
	mov	edx, 0
	mov	rsi, rax
	mov	edi, 0
	call	imatrix
	mov	QWORD PTR -2104[rbp], rax
	mov	eax, DWORD PTR -2516[rbp]
	movsx	rdx, eax
	mov	eax, DWORD PTR -2516[rbp]
	cdqe
	mov	rcx, rdx
	mov	edx, 0
	mov	rsi, rax
	mov	edi, 0
	call	imatrix
	mov	QWORD PTR -2096[rbp], rax
	mov	eax, DWORD PTR -2516[rbp]
	movsx	rdx, eax
	mov	eax, DWORD PTR -2516[rbp]
	cdqe
	mov	rcx, rdx
	mov	edx, 0
	mov	rsi, rax
	mov	edi, 0
	call	imatrix
	mov	QWORD PTR -2088[rbp], rax
	mov	eax, DWORD PTR -2516[rbp]
	movsx	rdx, eax
	mov	eax, DWORD PTR -2516[rbp]
	cdqe
	mov	rcx, rdx
	mov	edx, 0
	mov	rsi, rax
	mov	edi, 0
	call	imatrix
	mov	QWORD PTR -2080[rbp], rax
	mov	DWORD PTR -2508[rbp], 0
	mov	DWORD PTR -2504[rbp], 0
	mov	DWORD PTR -2500[rbp], 0
	mov	DWORD PTR -2600[rbp], 0
	jmp	.L72
.L84:
	mov	DWORD PTR -2592[rbp], 0
	mov	eax, DWORD PTR -2600[rbp]
	add	eax, 1
	mov	DWORD PTR -2596[rbp], eax
	jmp	.L73
.L76:
	mov	rdx, QWORD PTR R_Name[rip]
	mov	eax, DWORD PTR -2596[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rcx, QWORD PTR R_Name[rip]
	mov	eax, DWORD PTR -2600[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L74
	add	DWORD PTR -2596[rbp], 1
	jmp	.L73
.L74:
	mov	DWORD PTR -2592[rbp], 1
.L73:
	mov	eax, DWORD PTR -2596[rbp]
	cmp	eax, DWORD PTR -2624[rbp]
	jge	.L75
	cmp	DWORD PTR -2592[rbp], 0
	je	.L76
.L75:
	mov	eax, DWORD PTR -2596[rbp]
	sub	eax, DWORD PTR -2600[rbp]
	cmp	eax, 1
	jle	.L77
	mov	rdx, QWORD PTR hit_index[rip]
	mov	eax, DWORD PTR -2600[rbp]
	cdqe
	sal	rax, 2
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	mov	rcx, QWORD PTR hit_index[rip]
	mov	eax, DWORD PTR -2600[rbp]
	cdqe
	add	rax, 1
	sal	rax, 2
	add	rax, rcx
	mov	eax, DWORD PTR [rax]
	cmp	edx, eax
	jge	.L78
	mov	rdx, QWORD PTR hit_index[rip]
	mov	eax, DWORD PTR -2600[rbp]
	cdqe
	sal	rax, 2
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -2588[rbp], eax
	mov	rdx, QWORD PTR hit_index[rip]
	mov	eax, DWORD PTR -2600[rbp]
	cdqe
	add	rax, 1
	sal	rax, 2
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -2584[rbp], eax
	mov	rdx, QWORD PTR superlength[rip]
	mov	eax, DWORD PTR -2600[rbp]
	cdqe
	sal	rax, 2
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	edx, eax
	shr	edx, 31
	add	eax, edx
	sar	eax
	mov	DWORD PTR -2580[rbp], eax
	mov	rdx, QWORD PTR superlength[rip]
	mov	eax, DWORD PTR -2600[rbp]
	cdqe
	add	rax, 1
	sal	rax, 2
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	edx, eax
	shr	edx, 31
	add	eax, edx
	sar	eax
	mov	DWORD PTR -2576[rbp], eax
	mov	rdx, QWORD PTR hit_locus1[rip]
	mov	eax, DWORD PTR -2600[rbp]
	cdqe
	sal	rax, 2
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -2572[rbp], eax
	mov	rdx, QWORD PTR hit_locus1[rip]
	mov	eax, DWORD PTR -2600[rbp]
	cdqe
	add	rax, 1
	sal	rax, 2
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -2568[rbp], eax
	jmp	.L79
.L78:
	mov	rdx, QWORD PTR hit_index[rip]
	mov	eax, DWORD PTR -2600[rbp]
	cdqe
	add	rax, 1
	sal	rax, 2
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -2588[rbp], eax
	mov	rdx, QWORD PTR hit_index[rip]
	mov	eax, DWORD PTR -2600[rbp]
	cdqe
	sal	rax, 2
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -2584[rbp], eax
	mov	rdx, QWORD PTR superlength[rip]
	mov	eax, DWORD PTR -2600[rbp]
	cdqe
	sal	rax, 2
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	edx, eax
	shr	edx, 31
	add	eax, edx
	sar	eax
	mov	DWORD PTR -2576[rbp], eax
	mov	rdx, QWORD PTR superlength[rip]
	mov	eax, DWORD PTR -2600[rbp]
	cdqe
	add	rax, 1
	sal	rax, 2
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	edx, eax
	shr	edx, 31
	add	eax, edx
	sar	eax
	mov	DWORD PTR -2580[rbp], eax
	mov	rdx, QWORD PTR hit_locus1[rip]
	mov	eax, DWORD PTR -2600[rbp]
	cdqe
	sal	rax, 2
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -2568[rbp], eax
	mov	rdx, QWORD PTR hit_locus1[rip]
	mov	eax, DWORD PTR -2600[rbp]
	cdqe
	add	rax, 1
	sal	rax, 2
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -2572[rbp], eax
.L79:
	mov	eax, DWORD PTR -2572[rbp]
	cmp	eax, DWORD PTR -2580[rbp]
	jge	.L80
	mov	eax, DWORD PTR -2568[rbp]
	cmp	eax, DWORD PTR -2576[rbp]
	jge	.L81
	mov	eax, DWORD PTR -2588[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -2112[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -2584[rbp]
	cdqe
	sal	rax, 2
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	add	edx, 1
	mov	DWORD PTR [rax], edx
	jmp	.L82
.L81:
	mov	eax, DWORD PTR -2588[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -2096[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -2584[rbp]
	cdqe
	sal	rax, 2
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	add	edx, 1
	mov	DWORD PTR [rax], edx
	jmp	.L82
.L80:
	mov	eax, DWORD PTR -2568[rbp]
	cmp	eax, DWORD PTR -2576[rbp]
	jge	.L83
	mov	eax, DWORD PTR -2588[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -2104[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -2584[rbp]
	cdqe
	sal	rax, 2
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	add	edx, 1
	mov	DWORD PTR [rax], edx
	jmp	.L82
.L83:
	mov	eax, DWORD PTR -2588[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -2088[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -2584[rbp]
	cdqe
	sal	rax, 2
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	add	edx, 1
	mov	DWORD PTR [rax], edx
	jmp	.L82
.L77:
	mov	rdx, QWORD PTR superlength[rip]
	mov	eax, DWORD PTR -2600[rbp]
	cdqe
	sal	rax, 2
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	mov	rcx, QWORD PTR R_Name[rip]
	mov	eax, DWORD PTR -2600[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	rsi, rax
	lea	rdi, .LC55[rip]
	mov	eax, 0
	call	printf@PLT
.L82:
	mov	eax, DWORD PTR -2596[rbp]
	sub	eax, 1
	mov	DWORD PTR -2600[rbp], eax
	add	DWORD PTR -2600[rbp], 1
.L72:
	mov	eax, DWORD PTR -2600[rbp]
	cmp	eax, DWORD PTR -2624[rbp]
	jl	.L84
	mov	DWORD PTR -2600[rbp], 0
	jmp	.L85
.L89:
	mov	DWORD PTR -2596[rbp], 0
	jmp	.L86
.L88:
	mov	eax, DWORD PTR -2596[rbp]
	cmp	eax, DWORD PTR -2600[rbp]
	jle	.L87
	mov	eax, DWORD PTR -2600[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -2112[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -2596[rbp]
	cdqe
	sal	rax, 2
	add	rax, rdx
	mov	edx, DWORD PTR -2596[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*8]
	mov	rdx, QWORD PTR -2112[rbp]
	add	rdx, rcx
	mov	rcx, QWORD PTR [rdx]
	mov	edx, DWORD PTR -2600[rbp]
	movsx	rdx, edx
	sal	rdx, 2
	add	rdx, rcx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -2600[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -2096[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -2596[rbp]
	cdqe
	sal	rax, 2
	add	rax, rdx
	mov	edx, DWORD PTR -2596[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*8]
	mov	rdx, QWORD PTR -2104[rbp]
	add	rdx, rcx
	mov	rcx, QWORD PTR [rdx]
	mov	edx, DWORD PTR -2600[rbp]
	movsx	rdx, edx
	sal	rdx, 2
	add	rdx, rcx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -2600[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -2104[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -2596[rbp]
	cdqe
	sal	rax, 2
	add	rax, rdx
	mov	edx, DWORD PTR -2596[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*8]
	mov	rdx, QWORD PTR -2096[rbp]
	add	rdx, rcx
	mov	rcx, QWORD PTR [rdx]
	mov	edx, DWORD PTR -2600[rbp]
	movsx	rdx, edx
	sal	rdx, 2
	add	rdx, rcx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -2600[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -2088[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -2596[rbp]
	cdqe
	sal	rax, 2
	add	rax, rdx
	mov	edx, DWORD PTR -2596[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*8]
	mov	rdx, QWORD PTR -2088[rbp]
	add	rdx, rcx
	mov	rcx, QWORD PTR [rdx]
	mov	edx, DWORD PTR -2600[rbp]
	movsx	rdx, edx
	sal	rdx, 2
	add	rdx, rcx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR [rdx], eax
.L87:
	add	DWORD PTR -2596[rbp], 1
.L86:
	mov	eax, DWORD PTR max_ctg[rip]
	cmp	DWORD PTR -2596[rbp], eax
	jl	.L88
	add	DWORD PTR -2600[rbp], 1
.L85:
	mov	eax, DWORD PTR max_ctg[rip]
	cmp	DWORD PTR -2600[rbp], eax
	jl	.L89
	mov	DWORD PTR -2600[rbp], 0
	jmp	.L90
.L93:
	mov	DWORD PTR -2596[rbp], 0
	jmp	.L91
.L92:
	mov	eax, DWORD PTR -2600[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -2112[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -2596[rbp]
	cdqe
	sal	rax, 2
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	mov	eax, DWORD PTR -2600[rbp]
	cdqe
	lea	rcx, 0[0+rax*8]
	mov	rax, QWORD PTR -2104[rbp]
	add	rax, rcx
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -2596[rbp]
	cdqe
	sal	rax, 2
	add	rax, rcx
	mov	eax, DWORD PTR [rax]
	lea	ecx, [rdx+rax]
	mov	eax, DWORD PTR -2600[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -2096[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -2596[rbp]
	cdqe
	sal	rax, 2
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	lea	esi, [rcx+rax]
	mov	eax, DWORD PTR -2600[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -2088[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -2596[rbp]
	cdqe
	sal	rax, 2
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	mov	eax, DWORD PTR -2600[rbp]
	cdqe
	lea	rcx, 0[0+rax*8]
	mov	rax, QWORD PTR -2120[rbp]
	add	rax, rcx
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR -2596[rbp]
	cdqe
	sal	rax, 2
	add	rax, rcx
	add	edx, esi
	mov	DWORD PTR [rax], edx
	add	DWORD PTR -2596[rbp], 1
.L91:
	mov	eax, DWORD PTR max_ctg[rip]
	cmp	DWORD PTR -2596[rbp], eax
	jl	.L92
	add	DWORD PTR -2600[rbp], 1
.L90:
	mov	eax, DWORD PTR max_ctg[rip]
	cmp	DWORD PTR -2600[rbp], eax
	jl	.L93
	mov	edx, DWORD PTR max_ctg[rip]
	mov	ecx, DWORD PTR -2624[rbp]
	mov	eax, DWORD PTR -2516[rbp]
	mov	esi, eax
	lea	rdi, .LC56[rip]
	mov	eax, 0
	call	printf@PLT
	mov	QWORD PTR -2440[rbp], 0
	mov	DWORD PTR -2600[rbp], 0
	jmp	.L94
.L97:
	mov	DWORD PTR -2596[rbp], 0
	jmp	.L95
.L96:
	mov	eax, DWORD PTR max_ctg[rip]
	mov	edx, DWORD PTR -2600[rbp]
	imul	eax, edx
	mov	DWORD PTR -2444[rbp], eax
	mov	rdx, QWORD PTR hit_rddex[rip]
	mov	eax, DWORD PTR -2596[rbp]
	cdqe
	sal	rax, 2
	add	rdx, rax
	mov	eax, DWORD PTR -2596[rbp]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -2600[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -2120[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -2596[rbp]
	cdqe
	sal	rax, 2
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	cdqe
	add	QWORD PTR -2440[rbp], rax
	mov	eax, DWORD PTR -2600[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -2120[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -2596[rbp]
	cdqe
	sal	rax, 2
	add	rax, rdx
	mov	ecx, DWORD PTR -2444[rbp]
	mov	edx, DWORD PTR -2596[rbp]
	add	edx, ecx
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*4]
	mov	rdx, QWORD PTR -2160[rbp]
	add	rdx, rcx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR [rdx], eax
	add	DWORD PTR -2596[rbp], 1
.L95:
	mov	eax, DWORD PTR max_ctg[rip]
	cmp	DWORD PTR -2596[rbp], eax
	jl	.L96
	add	DWORD PTR -2600[rbp], 1
.L94:
	mov	eax, DWORD PTR max_ctg[rip]
	cmp	DWORD PTR -2600[rbp], eax
	jl	.L97
	mov	DWORD PTR -2600[rbp], 0
	jmp	.L98
.L99:
	mov	eax, DWORD PTR -2600[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -2368[rbp]
	add	rax, rdx
	mov	DWORD PTR [rax], -1
	mov	eax, DWORD PTR -2600[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -2360[rbp]
	add	rax, rdx
	mov	DWORD PTR [rax], -1
	mov	eax, DWORD PTR -2600[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -2384[rbp]
	add	rax, rdx
	mov	DWORD PTR [rax], -1
	mov	eax, DWORD PTR -2600[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -2376[rbp]
	add	rax, rdx
	mov	DWORD PTR [rax], -1
	mov	eax, DWORD PTR -2600[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -2392[rbp]
	add	rax, rdx
	mov	DWORD PTR [rax], -1
	add	DWORD PTR -2600[rbp], 1
.L98:
	mov	eax, DWORD PTR max_ctg[rip]
	cmp	DWORD PTR -2600[rbp], eax
	jl	.L99
	sal	QWORD PTR -2440[rbp]
	mov	rax, QWORD PTR -2176[rbp]
	mov	DWORD PTR [rax], 0
	mov	QWORD PTR -2424[rbp], 1
	jmp	.L100
.L101:
	mov	rax, QWORD PTR -2424[rbp]
	sal	rax, 2
	lea	rdx, -4[rax]
	mov	rax, QWORD PTR -2176[rbp]
	add	rax, rdx
	mov	ecx, DWORD PTR [rax]
	mov	rax, QWORD PTR -2424[rbp]
	sal	rax, 2
	lea	rdx, -4[rax]
	mov	rax, QWORD PTR -2160[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	mov	rax, QWORD PTR -2424[rbp]
	lea	rsi, 0[0+rax*4]
	mov	rax, QWORD PTR -2176[rbp]
	add	rax, rsi
	add	edx, ecx
	mov	DWORD PTR [rax], edx
	add	QWORD PTR -2424[rbp], 1
.L100:
	mov	rax, QWORD PTR -2424[rbp]
	cmp	rax, QWORD PTR -2416[rbp]
	jl	.L101
	mov	rax, QWORD PTR -2440[rbp]
	mov	esi, 4
	mov	rdi, rax
	call	calloc@PLT
	mov	QWORD PTR hit_matlocu1[rip], rax
	mov	rax, QWORD PTR hit_matlocu1[rip]
	test	rax, rax
	jne	.L102
	lea	rdi, .LC57[rip]
	call	puts@PLT
	mov	edi, 1
	call	exit@PLT
.L102:
	mov	rax, QWORD PTR -2440[rbp]
	mov	esi, 4
	mov	rdi, rax
	call	calloc@PLT
	mov	QWORD PTR hit_matlocu2[rip], rax
	mov	rax, QWORD PTR hit_matlocu2[rip]
	test	rax, rax
	jne	.L103
	lea	rdi, .LC57[rip]
	call	puts@PLT
	mov	edi, 1
	call	exit@PLT
.L103:
	mov	rax, QWORD PTR -2440[rbp]
	mov	esi, 4
	mov	rdi, rax
	call	calloc@PLT
	mov	QWORD PTR hit_matindex[rip], rax
	mov	rax, QWORD PTR hit_matindex[rip]
	test	rax, rax
	jne	.L104
	lea	rdi, .LC58[rip]
	call	puts@PLT
	mov	edi, 1
	call	exit@PLT
.L104:
	mov	rax, QWORD PTR -2440[rbp]
	mov	esi, 4
	mov	rdi, rax
	call	calloc@PLT
	mov	QWORD PTR hit_linkdex1[rip], rax
	mov	rax, QWORD PTR hit_linkdex1[rip]
	test	rax, rax
	jne	.L105
	lea	rdi, .LC59[rip]
	call	puts@PLT
	mov	edi, 1
	call	exit@PLT
.L105:
	mov	rax, QWORD PTR -2440[rbp]
	mov	esi, 4
	mov	rdi, rax
	call	calloc@PLT
	mov	QWORD PTR hit_linkdex2[rip], rax
	mov	rax, QWORD PTR hit_linkdex2[rip]
	test	rax, rax
	jne	.L106
	lea	rdi, .LC60[rip]
	call	puts@PLT
	mov	edi, 1
	call	exit@PLT
.L106:
	mov	DWORD PTR -2600[rbp], 0
	jmp	.L107
.L116:
	mov	DWORD PTR -2592[rbp], 0
	mov	eax, DWORD PTR -2600[rbp]
	add	eax, 1
	mov	DWORD PTR -2596[rbp], eax
	jmp	.L108
.L111:
	mov	rdx, QWORD PTR R_Name[rip]
	mov	eax, DWORD PTR -2596[rbp]
	cdqe
	sal	rax, 3
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rcx, QWORD PTR R_Name[rip]
	mov	eax, DWORD PTR -2600[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L109
	add	DWORD PTR -2596[rbp], 1
	jmp	.L108
.L109:
	mov	DWORD PTR -2592[rbp], 1
.L108:
	mov	eax, DWORD PTR -2596[rbp]
	cmp	eax, DWORD PTR -2624[rbp]
	jge	.L110
	cmp	DWORD PTR -2592[rbp], 0
	je	.L111
.L110:
	mov	eax, DWORD PTR -2596[rbp]
	sub	eax, DWORD PTR -2600[rbp]
	cmp	eax, 1
	jle	.L112
	mov	rdx, QWORD PTR hit_index[rip]
	mov	eax, DWORD PTR -2600[rbp]
	cdqe
	sal	rax, 2
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	mov	rcx, QWORD PTR hit_index[rip]
	mov	eax, DWORD PTR -2600[rbp]
	cdqe
	add	rax, 1
	sal	rax, 2
	add	rax, rcx
	mov	eax, DWORD PTR [rax]
	cmp	edx, eax
	jge	.L113
	mov	rdx, QWORD PTR hit_index[rip]
	mov	eax, DWORD PTR -2600[rbp]
	cdqe
	sal	rax, 2
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -2564[rbp], eax
	mov	rdx, QWORD PTR hit_index[rip]
	mov	eax, DWORD PTR -2600[rbp]
	cdqe
	add	rax, 1
	sal	rax, 2
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -2560[rbp], eax
	mov	rdx, QWORD PTR superlength[rip]
	mov	eax, DWORD PTR -2600[rbp]
	cdqe
	sal	rax, 2
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	edx, eax
	shr	edx, 31
	add	eax, edx
	sar	eax
	mov	DWORD PTR -2448[rbp], eax
	mov	rdx, QWORD PTR superlength[rip]
	mov	eax, DWORD PTR -2600[rbp]
	cdqe
	add	rax, 1
	sal	rax, 2
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	edx, eax
	shr	edx, 31
	add	eax, edx
	sar	eax
	mov	DWORD PTR -2452[rbp], eax
	mov	rdx, QWORD PTR hit_locus1[rip]
	mov	eax, DWORD PTR -2600[rbp]
	cdqe
	sal	rax, 2
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -2556[rbp], eax
	mov	rdx, QWORD PTR hit_locus1[rip]
	mov	eax, DWORD PTR -2600[rbp]
	cdqe
	add	rax, 1
	sal	rax, 2
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -2552[rbp], eax
	jmp	.L114
.L113:
	mov	rdx, QWORD PTR hit_index[rip]
	mov	eax, DWORD PTR -2600[rbp]
	cdqe
	add	rax, 1
	sal	rax, 2
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -2564[rbp], eax
	mov	rdx, QWORD PTR hit_index[rip]
	mov	eax, DWORD PTR -2600[rbp]
	cdqe
	sal	rax, 2
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -2560[rbp], eax
	mov	rdx, QWORD PTR superlength[rip]
	mov	eax, DWORD PTR -2600[rbp]
	cdqe
	sal	rax, 2
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	edx, eax
	shr	edx, 31
	add	eax, edx
	sar	eax
	mov	DWORD PTR -2452[rbp], eax
	mov	rdx, QWORD PTR superlength[rip]
	mov	eax, DWORD PTR -2600[rbp]
	cdqe
	add	rax, 1
	sal	rax, 2
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	edx, eax
	shr	edx, 31
	add	eax, edx
	sar	eax
	mov	DWORD PTR -2448[rbp], eax
	mov	rdx, QWORD PTR hit_locus1[rip]
	mov	eax, DWORD PTR -2600[rbp]
	cdqe
	sal	rax, 2
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -2552[rbp], eax
	mov	rdx, QWORD PTR hit_locus1[rip]
	mov	eax, DWORD PTR -2600[rbp]
	cdqe
	add	rax, 1
	sal	rax, 2
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -2556[rbp], eax
.L114:
	mov	eax, DWORD PTR max_ctg[rip]
	imul	eax, DWORD PTR -2564[rbp]
	mov	edx, eax
	mov	eax, DWORD PTR -2560[rbp]
	add	eax, edx
	cdqe
	mov	QWORD PTR -2032[rbp], rax
	mov	eax, DWORD PTR max_ctg[rip]
	imul	eax, DWORD PTR -2560[rbp]
	mov	edx, eax
	mov	eax, DWORD PTR -2564[rbp]
	add	eax, edx
	cdqe
	mov	QWORD PTR -2024[rbp], rax
	mov	rdx, QWORD PTR hit_matlocu1[rip]
	mov	rax, QWORD PTR -2032[rbp]
	lea	rcx, 0[0+rax*4]
	mov	rax, QWORD PTR -2176[rbp]
	add	rax, rcx
	mov	ecx, DWORD PTR [rax]
	mov	rax, QWORD PTR -2032[rbp]
	lea	rsi, 0[0+rax*4]
	mov	rax, QWORD PTR -2184[rbp]
	add	rax, rsi
	mov	eax, DWORD PTR [rax]
	add	eax, ecx
	cdqe
	sal	rax, 2
	add	rdx, rax
	mov	eax, DWORD PTR -2556[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rdx, QWORD PTR hit_matlocu2[rip]
	mov	rax, QWORD PTR -2024[rbp]
	lea	rcx, 0[0+rax*4]
	mov	rax, QWORD PTR -2176[rbp]
	add	rax, rcx
	mov	ecx, DWORD PTR [rax]
	mov	rax, QWORD PTR -2024[rbp]
	lea	rsi, 0[0+rax*4]
	mov	rax, QWORD PTR -2168[rbp]
	add	rax, rsi
	mov	eax, DWORD PTR [rax]
	add	eax, ecx
	cdqe
	sal	rax, 2
	add	rdx, rax
	mov	eax, DWORD PTR -2552[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rdx, QWORD PTR hit_linkdex1[rip]
	mov	rax, QWORD PTR -2032[rbp]
	lea	rcx, 0[0+rax*4]
	mov	rax, QWORD PTR -2176[rbp]
	add	rax, rcx
	mov	ecx, DWORD PTR [rax]
	mov	rax, QWORD PTR -2032[rbp]
	lea	rsi, 0[0+rax*4]
	mov	rax, QWORD PTR -2184[rbp]
	add	rax, rsi
	mov	eax, DWORD PTR [rax]
	add	eax, ecx
	cdqe
	sal	rax, 2
	add	rdx, rax
	mov	eax, DWORD PTR -2600[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rdx, QWORD PTR hit_linkdex2[rip]
	mov	rax, QWORD PTR -2024[rbp]
	lea	rcx, 0[0+rax*4]
	mov	rax, QWORD PTR -2176[rbp]
	add	rax, rcx
	mov	ecx, DWORD PTR [rax]
	mov	rax, QWORD PTR -2024[rbp]
	lea	rsi, 0[0+rax*4]
	mov	rax, QWORD PTR -2168[rbp]
	add	rax, rsi
	mov	eax, DWORD PTR [rax]
	add	eax, ecx
	cdqe
	sal	rax, 2
	add	rdx, rax
	mov	eax, DWORD PTR -2600[rbp]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -2032[rbp]
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -2184[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	add	edx, 1
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -2024[rbp]
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -2168[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	add	edx, 1
	mov	DWORD PTR [rax], edx
	jmp	.L115
.L112:
	mov	rdx, QWORD PTR superlength[rip]
	mov	eax, DWORD PTR -2600[rbp]
	cdqe
	sal	rax, 2
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	mov	rcx, QWORD PTR R_Name[rip]
	mov	eax, DWORD PTR -2600[rbp]
	cdqe
	sal	rax, 3
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	rsi, rax
	lea	rdi, .LC55[rip]
	mov	eax, 0
	call	printf@PLT
.L115:
	mov	eax, DWORD PTR -2596[rbp]
	sub	eax, 1
	mov	DWORD PTR -2600[rbp], eax
	add	DWORD PTR -2600[rbp], 1
.L107:
	mov	eax, DWORD PTR -2600[rbp]
	cmp	eax, DWORD PTR -2624[rbp]
	jl	.L116
	mov	QWORD PTR -2432[rbp], 0
	mov	DWORD PTR -2600[rbp], 0
	jmp	.L117
.L118:
	mov	rdx, QWORD PTR ctg_length[rip]
	mov	eax, DWORD PTR -2600[rbp]
	cdqe
	sal	rax, 2
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	cdqe
	add	QWORD PTR -2432[rbp], rax
	add	DWORD PTR -2600[rbp], 1
.L117:
	mov	eax, DWORD PTR max_ctg[rip]
	cmp	DWORD PTR -2600[rbp], eax
	jl	.L118
	mov	DWORD PTR -2600[rbp], 0
	jmp	.L119
.L134:
	mov	DWORD PTR -2596[rbp], 0
	jmp	.L120
.L121:
	mov	rdx, QWORD PTR hit_rddex[rip]
	mov	eax, DWORD PTR -2596[rbp]
	cdqe
	sal	rax, 2
	add	rdx, rax
	mov	eax, DWORD PTR -2596[rbp]
	mov	DWORD PTR [rdx], eax
	add	DWORD PTR -2596[rbp], 1
.L120:
	mov	eax, DWORD PTR max_ctg[rip]
	cmp	DWORD PTR -2596[rbp], eax
	jl	.L121
	mov	eax, DWORD PTR -2600[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -2208[rbp]
	add	rax, rdx
	pxor	xmm0, xmm0
	movss	DWORD PTR [rax], xmm0
	mov	rdx, QWORD PTR hit_rddex[rip]
	mov	eax, DWORD PTR -2600[rbp]
	cdqe
	lea	rcx, 0[0+rax*8]
	mov	rax, QWORD PTR -2120[rbp]
	add	rax, rcx
	mov	rcx, QWORD PTR [rax]
	mov	eax, DWORD PTR max_ctg[rip]
	mov	rsi, rcx
	mov	edi, eax
	call	ArraySort2_Int2
	mov	eax, DWORD PTR max_ctg[rip]
	sal	eax, 2
	movsx	rdx, eax
	mov	rax, QWORD PTR -2240[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	mov	rdx, QWORD PTR ctg_length[rip]
	mov	eax, DWORD PTR -2600[rbp]
	cdqe
	sal	rax, 2
	add	rax, rdx
	mov	ecx, DWORD PTR [rax]
	mov	edx, DWORD PTR max_ctg[rip]
	mov	eax, DWORD PTR -2600[rbp]
	mov	esi, eax
	lea	rdi, .LC62[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rdx, QWORD PTR ctg_length[rip]
	mov	eax, DWORD PTR -2600[rbp]
	cdqe
	sal	rax, 2
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	mov	eax, DWORD PTR -2600[rbp]
	mov	esi, eax
	lea	rdi, .LC63[rip]
	mov	eax, 0
	call	printf@PLT
	mov	DWORD PTR -2596[rbp], 0
	jmp	.L122
.L133:
	mov	rdx, QWORD PTR hit_rddex[rip]
	mov	eax, DWORD PTR -2596[rbp]
	cdqe
	sal	rax, 2
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -2496[rbp], eax
	mov	eax, DWORD PTR -2600[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -2120[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -2596[rbp]
	cdqe
	sal	rax, 2
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -2492[rbp], eax
	mov	eax, DWORD PTR -2492[rbp]
	mov	edx, eax
	shr	edx, 31
	add	eax, edx
	sar	eax
	mov	DWORD PTR -2488[rbp], eax
	mov	DWORD PTR -2532[rbp], 1
	mov	DWORD PTR -2528[rbp], 1
	mov	eax, DWORD PTR -2600[rbp]
	mov	DWORD PTR -2484[rbp], eax
	mov	rdx, QWORD PTR hit_rddex[rip]
	mov	eax, DWORD PTR -2596[rbp]
	cdqe
	sal	rax, 2
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -2480[rbp], eax
	mov	eax, DWORD PTR max_ctg[rip]
	imul	eax, DWORD PTR -2484[rbp]
	mov	edx, eax
	mov	eax, DWORD PTR -2480[rbp]
	add	eax, edx
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -2176[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -2476[rbp], eax
	mov	rax, QWORD PTR hit_matlocu1[rip]
	mov	QWORD PTR -2056[rbp], rax
	mov	rax, QWORD PTR hit_linkdex1[rip]
	mov	QWORD PTR -2048[rbp], rax
	mov	eax, DWORD PTR -2476[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -2048[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -2476[rbp]
	cdqe
	lea	rcx, 0[0+rax*4]
	mov	rax, QWORD PTR -2056[rbp]
	add	rcx, rax
	mov	eax, DWORD PTR -2492[rbp]
	mov	rsi, rcx
	mov	edi, eax
	call	ArraySort_Int2
	mov	eax, DWORD PTR max_ctg[rip]
	imul	eax, DWORD PTR -2480[rbp]
	mov	edx, eax
	mov	eax, DWORD PTR -2484[rbp]
	add	eax, edx
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -2176[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -2472[rbp], eax
	mov	rax, QWORD PTR hit_matlocu2[rip]
	mov	QWORD PTR -2056[rbp], rax
	mov	rax, QWORD PTR hit_linkdex2[rip]
	mov	QWORD PTR -2040[rbp], rax
	mov	eax, DWORD PTR -2472[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -2040[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -2472[rbp]
	cdqe
	lea	rcx, 0[0+rax*4]
	mov	rax, QWORD PTR -2056[rbp]
	add	rcx, rax
	mov	eax, DWORD PTR -2492[rbp]
	mov	rsi, rcx
	mov	edi, eax
	call	ArraySort_Int2
	mov	edi, DWORD PTR -2472[rbp]
	mov	ecx, DWORD PTR -2476[rbp]
	mov	edx, DWORD PTR -2492[rbp]
	mov	esi, DWORD PTR -2620[rbp]
	mov	rax, QWORD PTR -2616[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	PCRdup_Process
	mov	rdx, QWORD PTR hit_matlocu1[rip]
	mov	ecx, DWORD PTR -2476[rbp]
	mov	eax, DWORD PTR -2488[rbp]
	add	eax, ecx
	cdqe
	sal	rax, 2
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -2540[rbp], eax
	mov	rdx, QWORD PTR hit_matlocu1[rip]
	mov	ecx, DWORD PTR -2472[rbp]
	mov	eax, DWORD PTR -2488[rbp]
	add	eax, ecx
	cdqe
	sal	rax, 2
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -2536[rbp], eax
	mov	rdx, QWORD PTR ctg_length[rip]
	mov	eax, DWORD PTR -2484[rbp]
	cdqe
	sal	rax, 2
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	edx, eax
	shr	edx, 31
	add	eax, edx
	sar	eax
	mov	DWORD PTR -2468[rbp], eax
	mov	rdx, QWORD PTR ctg_length[rip]
	mov	eax, DWORD PTR -2480[rbp]
	cdqe
	sal	rax, 2
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	edx, eax
	shr	edx, 31
	add	eax, edx
	sar	eax
	mov	DWORD PTR -2464[rbp], eax
	mov	rdx, QWORD PTR ctg_length[rip]
	mov	eax, DWORD PTR -2484[rbp]
	cdqe
	sal	rax, 2
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	edx, eax
	shr	edx, 31
	add	eax, edx
	sar	eax
	cmp	DWORD PTR -2540[rbp], eax
	jle	.L123
	mov	DWORD PTR -2532[rbp], 0
	mov	rdx, QWORD PTR ctg_length[rip]
	mov	eax, DWORD PTR -2484[rbp]
	cdqe
	sal	rax, 2
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	sub	eax, DWORD PTR -2540[rbp]
	mov	DWORD PTR -2540[rbp], eax
.L123:
	mov	rdx, QWORD PTR ctg_length[rip]
	mov	eax, DWORD PTR -2480[rbp]
	cdqe
	sal	rax, 2
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	edx, eax
	shr	edx, 31
	add	eax, edx
	sar	eax
	cmp	DWORD PTR -2536[rbp], eax
	jle	.L124
	mov	DWORD PTR -2528[rbp], 0
	mov	rdx, QWORD PTR ctg_length[rip]
	mov	eax, DWORD PTR -2480[rbp]
	cdqe
	sal	rax, 2
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	sub	eax, DWORD PTR -2536[rbp]
	mov	DWORD PTR -2536[rbp], eax
.L124:
	cmp	DWORD PTR -2532[rbp], 0
	jne	.L125
	cmp	DWORD PTR -2528[rbp], 0
	jne	.L126
	mov	DWORD PTR -2524[rbp], 0
	jmp	.L127
.L126:
	mov	DWORD PTR -2524[rbp], 1
	jmp	.L127
.L125:
	cmp	DWORD PTR -2528[rbp], 0
	jne	.L128
	mov	DWORD PTR -2524[rbp], 2
	jmp	.L127
.L128:
	mov	DWORD PTR -2524[rbp], 3
.L127:
	mov	eax, DWORD PTR -2596[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -2240[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -2524[rbp]
	mov	DWORD PTR [rdx], eax
	pxor	xmm0, xmm0
	cvtsi2ss	xmm0, DWORD PTR -2468[rbp]
	movss	DWORD PTR -2548[rbp], xmm0
	pxor	xmm1, xmm1
	cvtsi2ss	xmm1, DWORD PTR -2540[rbp]
	movss	xmm0, DWORD PTR -2548[rbp]
	divss	xmm0, xmm1
	movss	DWORD PTR -2548[rbp], xmm0
	pxor	xmm0, xmm0
	cvtsi2ss	xmm0, DWORD PTR -2464[rbp]
	movss	DWORD PTR -2544[rbp], xmm0
	pxor	xmm1, xmm1
	cvtsi2ss	xmm1, DWORD PTR -2536[rbp]
	movss	xmm0, DWORD PTR -2544[rbp]
	divss	xmm0, xmm1
	movss	DWORD PTR -2544[rbp], xmm0
	movss	xmm0, DWORD PTR -2548[rbp]
	comiss	xmm0, DWORD PTR .LC64[rip]
	jbe	.L129
	movss	xmm0, DWORD PTR .LC65[rip]
	movss	DWORD PTR -2548[rbp], xmm0
.L129:
	movss	xmm0, DWORD PTR -2544[rbp]
	comiss	xmm0, DWORD PTR .LC64[rip]
	jbe	.L131
	movss	xmm0, DWORD PTR .LC65[rip]
	movss	DWORD PTR -2544[rbp], xmm0
.L131:
	pxor	xmm0, xmm0
	cvtsi2ss	xmm0, QWORD PTR -2432[rbp]
	movss	DWORD PTR -2460[rbp], xmm0
	pxor	xmm1, xmm1
	cvtsi2ss	xmm1, DWORD PTR -2624[rbp]
	movss	xmm0, DWORD PTR -2460[rbp]
	divss	xmm0, xmm1
	movss	DWORD PTR -2460[rbp], xmm0
	pxor	xmm0, xmm0
	cvtsi2ss	xmm0, DWORD PTR -2492[rbp]
	movaps	xmm1, xmm0
	mulss	xmm1, DWORD PTR -2460[rbp]
	movss	xmm0, DWORD PTR .LC66[rip]
	mulss	xmm0, xmm1
	movss	DWORD PTR -2460[rbp], xmm0
	pxor	xmm1, xmm1
	cvtsi2ss	xmm1, DWORD PTR -2468[rbp]
	movss	xmm0, DWORD PTR -2460[rbp]
	divss	xmm0, xmm1
	movss	DWORD PTR -2460[rbp], xmm0
	pxor	xmm1, xmm1
	cvtss2sd	xmm1, DWORD PTR -2460[rbp]
	pxor	xmm0, xmm0
	cvtss2sd	xmm0, DWORD PTR -2548[rbp]
	movsd	xmm2, QWORD PTR .LC67[rip]
	subsd	xmm0, xmm2
	mulsd	xmm0, xmm1
	cvtsd2ss	xmm0, xmm0
	movss	DWORD PTR -2460[rbp], xmm0
	pxor	xmm0, xmm0
	cvtsi2ss	xmm0, QWORD PTR -2432[rbp]
	movss	DWORD PTR -2456[rbp], xmm0
	pxor	xmm1, xmm1
	cvtsi2ss	xmm1, DWORD PTR -2624[rbp]
	movss	xmm0, DWORD PTR -2456[rbp]
	divss	xmm0, xmm1
	movss	DWORD PTR -2456[rbp], xmm0
	pxor	xmm0, xmm0
	cvtsi2ss	xmm0, DWORD PTR -2492[rbp]
	movaps	xmm1, xmm0
	mulss	xmm1, DWORD PTR -2456[rbp]
	movss	xmm0, DWORD PTR .LC66[rip]
	mulss	xmm0, xmm1
	movss	DWORD PTR -2456[rbp], xmm0
	pxor	xmm1, xmm1
	cvtsi2ss	xmm1, DWORD PTR -2464[rbp]
	movss	xmm0, DWORD PTR -2456[rbp]
	divss	xmm0, xmm1
	movss	DWORD PTR -2456[rbp], xmm0
	pxor	xmm1, xmm1
	cvtss2sd	xmm1, DWORD PTR -2456[rbp]
	pxor	xmm0, xmm0
	cvtss2sd	xmm0, DWORD PTR -2544[rbp]
	movsd	xmm2, QWORD PTR .LC67[rip]
	subsd	xmm0, xmm2
	mulsd	xmm0, xmm1
	cvtsd2ss	xmm0, xmm0
	movss	DWORD PTR -2456[rbp], xmm0
	mov	eax, DWORD PTR -2596[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -2200[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR -2548[rbp]
	movss	DWORD PTR [rax], xmm0
	mov	eax, DWORD PTR -2596[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -2192[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR -2544[rbp]
	movss	DWORD PTR [rax], xmm0
	mov	eax, DWORD PTR -2596[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -2208[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR -2460[rbp]
	mulss	xmm0, DWORD PTR -2456[rbp]
	movss	DWORD PTR [rax], xmm0
	add	DWORD PTR -2596[rbp], 1
.L122:
	mov	eax, DWORD PTR -2596[rbp]
	cmp	eax, DWORD PTR -2512[rbp]
	jl	.L133
	add	DWORD PTR -2600[rbp], 1
.L119:
	mov	eax, DWORD PTR max_ctg[rip]
	cmp	DWORD PTR -2600[rbp], eax
	jl	.L134
	mov	eax, DWORD PTR -2620[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -2616[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	lea	rsi, .LC10[rip]
	mov	rdi, rax
	call	fopen@PLT
	mov	QWORD PTR -2072[rbp], rax
	cmp	QWORD PTR -2072[rbp], 0
	jne	.L135
	lea	rdi, .LC68[rip]
	call	puts@PLT
	mov	edi, 1
	call	exit@PLT
.L135:
	mov	eax, DWORD PTR -2620[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -2616[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	lea	rsi, .LC69[rip]
	mov	rdi, rax
	call	fopen@PLT
	mov	QWORD PTR -2064[rbp], rax
	cmp	QWORD PTR -2064[rbp], 0
	jne	.L136
	lea	rdi, .LC68[rip]
	call	puts@PLT
	mov	edi, 1
	call	exit@PLT
.L136:
	mov	DWORD PTR -2600[rbp], 0
	jmp	.L137
.L141:
	mov	rdx, QWORD PTR -2072[rbp]
	lea	rax, -2016[rbp]
	mov	esi, 2000
	mov	rdi, rax
	call	fgets@PLT
	mov	rax, QWORD PTR -2072[rbp]
	mov	rdi, rax
	call	feof@PLT
	test	eax, eax
	jne	.L145
	mov	rdx, QWORD PTR hit_masks[rip]
	mov	eax, DWORD PTR -2600[rbp]
	cdqe
	sal	rax, 2
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	jne	.L140
	mov	rdx, QWORD PTR -2064[rbp]
	lea	rax, -2016[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	fputs@PLT
.L140:
	add	DWORD PTR -2600[rbp], 1
.L137:
	mov	rax, QWORD PTR -2072[rbp]
	mov	rdi, rax
	call	feof@PLT
	test	eax, eax
	je	.L141
	jmp	.L139
.L145:
	nop
.L139:
	mov	rax, QWORD PTR -2072[rbp]
	mov	rdi, rax
	call	fclose@PLT
	mov	rax, QWORD PTR -2064[rbp]
	mov	rdi, rax
	call	fclose@PLT
	mov	eax, DWORD PTR -2600[rbp]
	mov	esi, eax
	lea	rdi, .LC70[rip]
	mov	eax, 0
	call	printf@PLT
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L142
	call	__stack_chk_fail@PLT
.L142:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE7:
	.size	Matrix_Process, .-Matrix_Process
	.globl	PCRdup_Process
	.type	PCRdup_Process, @function
PCRdup_Process:
.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, 144
	mov	QWORD PTR -120[rbp], rdi
	mov	DWORD PTR -124[rbp], esi
	mov	DWORD PTR -128[rbp], edx
	mov	DWORD PTR -132[rbp], ecx
	mov	DWORD PTR -136[rbp], r8d
	mov	eax, DWORD PTR -128[rbp]
	cdqe
	mov	esi, 4
	mov	rdi, rax
	call	calloc@PLT
	mov	QWORD PTR -24[rbp], rax
	cmp	QWORD PTR -24[rbp], 0
	jne	.L147
	lea	rdi, .LC32[rip]
	call	puts@PLT
	mov	edi, 1
	call	exit@PLT
.L147:
	mov	eax, DWORD PTR -128[rbp]
	cdqe
	mov	esi, 4
	mov	rdi, rax
	call	calloc@PLT
	mov	QWORD PTR -16[rbp], rax
	cmp	QWORD PTR -16[rbp], 0
	jne	.L148
	lea	rdi, .LC32[rip]
	call	puts@PLT
	mov	edi, 1
	call	exit@PLT
.L148:
	mov	eax, DWORD PTR -128[rbp]
	cdqe
	mov	esi, 4
	mov	rdi, rax
	call	calloc@PLT
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L149
	lea	rdi, .LC32[rip]
	call	puts@PLT
	mov	edi, 1
	call	exit@PLT
.L149:
	mov	DWORD PTR -80[rbp], 0
	mov	DWORD PTR -60[rbp], 0
	mov	DWORD PTR -96[rbp], 5000
	mov	DWORD PTR -56[rbp], 20000
	mov	DWORD PTR -84[rbp], 0
	mov	DWORD PTR -100[rbp], 0
	jmp	.L150
.L157:
	mov	DWORD PTR -92[rbp], 0
	mov	eax, DWORD PTR -100[rbp]
	add	eax, 1
	mov	DWORD PTR -104[rbp], eax
	mov	rdx, QWORD PTR hit_matlocu1[rip]
	mov	ecx, DWORD PTR -132[rbp]
	mov	eax, DWORD PTR -100[rbp]
	add	eax, ecx
	cdqe
	sal	rax, 2
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -88[rbp], eax
	jmp	.L151
.L154:
	mov	rdx, QWORD PTR hit_matlocu1[rip]
	mov	ecx, DWORD PTR -132[rbp]
	mov	eax, DWORD PTR -104[rbp]
	add	eax, ecx
	cdqe
	sal	rax, 2
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	ecx, DWORD PTR -96[rbp]
	mov	edx, DWORD PTR -56[rbp]
	add	edx, ecx
	cmp	eax, edx
	jge	.L152
	mov	rdx, QWORD PTR hit_matlocu1[rip]
	mov	ecx, DWORD PTR -132[rbp]
	mov	eax, DWORD PTR -100[rbp]
	add	eax, ecx
	cdqe
	sal	rax, 2
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	cmp	DWORD PTR -96[rbp], eax
	jg	.L152
	mov	rdx, QWORD PTR hit_matlocu1[rip]
	mov	ecx, DWORD PTR -132[rbp]
	mov	eax, DWORD PTR -104[rbp]
	add	eax, ecx
	cdqe
	sal	rax, 2
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	add	DWORD PTR -88[rbp], eax
	add	DWORD PTR -104[rbp], 1
	jmp	.L151
.L152:
	mov	DWORD PTR -92[rbp], 1
.L151:
	mov	eax, DWORD PTR -104[rbp]
	cmp	eax, DWORD PTR -128[rbp]
	jge	.L153
	cmp	DWORD PTR -92[rbp], 0
	je	.L154
.L153:
	mov	eax, DWORD PTR -104[rbp]
	sub	eax, DWORD PTR -100[rbp]
	cmp	eax, 1
	jle	.L155
	mov	eax, DWORD PTR -104[rbp]
	sub	eax, DWORD PTR -100[rbp]
	imul	eax, eax, 100
	pxor	xmm0, xmm0
	cvtsi2ss	xmm0, eax
	movss	DWORD PTR -40[rbp], xmm0
	pxor	xmm1, xmm1
	cvtsi2ss	xmm1, DWORD PTR -128[rbp]
	movss	xmm0, DWORD PTR -40[rbp]
	divss	xmm0, xmm1
	movss	DWORD PTR -40[rbp], xmm0
	mov	eax, DWORD PTR -56[rbp]
	add	DWORD PTR -96[rbp], eax
	mov	eax, DWORD PTR -80[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -24[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -104[rbp]
	sub	eax, DWORD PTR -100[rbp]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -80[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -8[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -100[rbp]
	mov	DWORD PTR [rdx], eax
	add	DWORD PTR -80[rbp], 1
	add	DWORD PTR -84[rbp], 1
	jmp	.L156
.L155:
	mov	eax, DWORD PTR -104[rbp]
	sub	eax, DWORD PTR -100[rbp]
	cmp	eax, 1
	jne	.L156
	movss	xmm0, DWORD PTR .LC71[rip]
	movss	DWORD PTR -40[rbp], xmm0
	pxor	xmm1, xmm1
	cvtsi2ss	xmm1, DWORD PTR -128[rbp]
	movss	xmm0, DWORD PTR -40[rbp]
	divss	xmm0, xmm1
	movss	DWORD PTR -40[rbp], xmm0
	mov	rdx, QWORD PTR hit_matlocu1[rip]
	mov	ecx, DWORD PTR -132[rbp]
	mov	eax, DWORD PTR -100[rbp]
	add	eax, ecx
	cdqe
	sal	rax, 2
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -96[rbp], eax
	add	DWORD PTR -84[rbp], 1
.L156:
	mov	eax, DWORD PTR -104[rbp]
	sub	eax, 1
	mov	DWORD PTR -100[rbp], eax
	add	DWORD PTR -100[rbp], 1
.L150:
	mov	eax, DWORD PTR -100[rbp]
	cmp	eax, DWORD PTR -128[rbp]
	jl	.L157
	mov	DWORD PTR -108[rbp], 0
	jmp	.L158
.L171:
	cmp	DWORD PTR -108[rbp], 0
	jne	.L159
	mov	eax, DWORD PTR -108[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	jne	.L160
	mov	DWORD PTR -76[rbp], 10
	jmp	.L161
.L160:
	mov	eax, DWORD PTR -108[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	mov	eax, edx
	add	eax, eax
	add	eax, edx
	mov	edx, DWORD PTR -108[rbp]
	movsx	rdx, edx
	add	rdx, 1
	lea	rcx, 0[0+rdx*4]
	mov	rdx, QWORD PTR -24[rbp]
	add	rdx, rcx
	mov	esi, DWORD PTR [rdx]
	cdq
	idiv	esi
	mov	DWORD PTR -76[rbp], eax
.L161:
	mov	eax, DWORD PTR -76[rbp]
	mov	DWORD PTR -72[rbp], eax
	jmp	.L162
.L159:
	mov	eax, DWORD PTR -80[rbp]
	sub	eax, 1
	cmp	DWORD PTR -108[rbp], eax
	jne	.L163
	mov	eax, DWORD PTR -108[rbp]
	cdqe
	sal	rax, 2
	lea	rdx, -4[rax]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	jne	.L164
	mov	DWORD PTR -76[rbp], 10
	jmp	.L165
.L164:
	mov	eax, DWORD PTR -108[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	mov	eax, edx
	add	eax, eax
	add	eax, edx
	mov	edx, DWORD PTR -108[rbp]
	movsx	rdx, edx
	sal	rdx, 2
	lea	rcx, -4[rdx]
	mov	rdx, QWORD PTR -24[rbp]
	add	rdx, rcx
	mov	esi, DWORD PTR [rdx]
	cdq
	idiv	esi
	mov	DWORD PTR -76[rbp], eax
.L165:
	mov	eax, DWORD PTR -76[rbp]
	mov	DWORD PTR -72[rbp], eax
	jmp	.L162
.L163:
	mov	eax, DWORD PTR -108[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	edx, DWORD PTR -108[rbp]
	movsx	rdx, edx
	sal	rdx, 2
	lea	rcx, -4[rdx]
	mov	rdx, QWORD PTR -24[rbp]
	add	rdx, rcx
	mov	esi, DWORD PTR [rdx]
	cdq
	idiv	esi
	mov	DWORD PTR -76[rbp], eax
	mov	eax, DWORD PTR -108[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	edx, DWORD PTR -108[rbp]
	movsx	rdx, edx
	add	rdx, 1
	lea	rcx, 0[0+rdx*4]
	mov	rdx, QWORD PTR -24[rbp]
	add	rdx, rcx
	mov	esi, DWORD PTR [rdx]
	cdq
	idiv	esi
	mov	DWORD PTR -72[rbp], eax
.L162:
	cmp	DWORD PTR -76[rbp], 2
	jle	.L166
	cmp	DWORD PTR -72[rbp], 2
	jle	.L166
	mov	eax, DWORD PTR -108[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -36[rbp], eax
	mov	eax, DWORD PTR -108[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -32[rbp], eax
	mov	DWORD PTR -104[rbp], 0
	jmp	.L167
.L170:
	mov	rdx, QWORD PTR hit_linkdex1[rip]
	mov	ecx, DWORD PTR -132[rbp]
	mov	eax, DWORD PTR -32[rbp]
	add	ecx, eax
	mov	eax, DWORD PTR -104[rbp]
	add	eax, ecx
	cdqe
	sal	rax, 2
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -28[rbp], eax
	mov	eax, DWORD PTR -28[rbp]
	and	eax, 1
	test	eax, eax
	jne	.L168
	mov	rdx, QWORD PTR hit_masks[rip]
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	sal	rax, 2
	add	rax, rdx
	mov	DWORD PTR [rax], 1
	mov	rdx, QWORD PTR hit_masks[rip]
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	add	rax, 1
	sal	rax, 2
	add	rax, rdx
	mov	DWORD PTR [rax], 1
	jmp	.L169
.L168:
	mov	rdx, QWORD PTR hit_masks[rip]
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	sal	rax, 2
	add	rax, rdx
	mov	DWORD PTR [rax], 1
	mov	rdx, QWORD PTR hit_masks[rip]
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	sal	rax, 2
	sub	rax, 4
	add	rax, rdx
	mov	DWORD PTR [rax], 1
.L169:
	add	DWORD PTR -104[rbp], 1
.L167:
	mov	eax, DWORD PTR -104[rbp]
	cmp	eax, DWORD PTR -36[rbp]
	jl	.L170
.L166:
	add	DWORD PTR -108[rbp], 1
.L158:
	mov	eax, DWORD PTR -108[rbp]
	cmp	eax, DWORD PTR -80[rbp]
	jl	.L171
	mov	DWORD PTR -80[rbp], 0
	mov	DWORD PTR -60[rbp], 0
	mov	DWORD PTR -96[rbp], 5000
	mov	DWORD PTR -56[rbp], 20000
	mov	DWORD PTR -84[rbp], 0
	mov	DWORD PTR -88[rbp], 0
	mov	eax, DWORD PTR -128[rbp]
	sal	eax, 2
	movsx	rdx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	mov	eax, DWORD PTR -128[rbp]
	sal	eax, 2
	movsx	rdx, eax
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	mov	DWORD PTR -100[rbp], 0
	jmp	.L172
.L179:
	mov	DWORD PTR -92[rbp], 0
	mov	eax, DWORD PTR -100[rbp]
	add	eax, 1
	mov	DWORD PTR -104[rbp], eax
	mov	rdx, QWORD PTR hit_matlocu2[rip]
	mov	ecx, DWORD PTR -136[rbp]
	mov	eax, DWORD PTR -100[rbp]
	add	eax, ecx
	cdqe
	sal	rax, 2
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -88[rbp], eax
	jmp	.L173
.L176:
	mov	rdx, QWORD PTR hit_matlocu2[rip]
	mov	ecx, DWORD PTR -136[rbp]
	mov	eax, DWORD PTR -104[rbp]
	add	eax, ecx
	cdqe
	sal	rax, 2
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	ecx, DWORD PTR -96[rbp]
	mov	edx, DWORD PTR -56[rbp]
	add	edx, ecx
	cmp	eax, edx
	jge	.L174
	mov	rdx, QWORD PTR hit_matlocu2[rip]
	mov	ecx, DWORD PTR -136[rbp]
	mov	eax, DWORD PTR -100[rbp]
	add	eax, ecx
	cdqe
	sal	rax, 2
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	cmp	DWORD PTR -96[rbp], eax
	jg	.L174
	mov	rdx, QWORD PTR hit_matlocu2[rip]
	mov	ecx, DWORD PTR -136[rbp]
	mov	eax, DWORD PTR -104[rbp]
	add	eax, ecx
	cdqe
	sal	rax, 2
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	add	DWORD PTR -88[rbp], eax
	add	DWORD PTR -104[rbp], 1
	jmp	.L173
.L174:
	mov	DWORD PTR -92[rbp], 1
.L173:
	mov	eax, DWORD PTR -104[rbp]
	cmp	eax, DWORD PTR -128[rbp]
	jge	.L175
	cmp	DWORD PTR -92[rbp], 0
	je	.L176
.L175:
	mov	eax, DWORD PTR -104[rbp]
	sub	eax, DWORD PTR -100[rbp]
	cmp	eax, 1
	jle	.L177
	mov	eax, DWORD PTR -104[rbp]
	sub	eax, DWORD PTR -100[rbp]
	imul	eax, eax, 100
	pxor	xmm0, xmm0
	cvtsi2ss	xmm0, eax
	movss	DWORD PTR -40[rbp], xmm0
	pxor	xmm1, xmm1
	cvtsi2ss	xmm1, DWORD PTR -128[rbp]
	movss	xmm0, DWORD PTR -40[rbp]
	divss	xmm0, xmm1
	movss	DWORD PTR -40[rbp], xmm0
	mov	eax, DWORD PTR -56[rbp]
	add	DWORD PTR -96[rbp], eax
	mov	eax, DWORD PTR -80[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -24[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -104[rbp]
	sub	eax, DWORD PTR -100[rbp]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -80[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -8[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -100[rbp]
	mov	DWORD PTR [rdx], eax
	add	DWORD PTR -80[rbp], 1
	add	DWORD PTR -84[rbp], 1
	jmp	.L178
.L177:
	mov	eax, DWORD PTR -104[rbp]
	sub	eax, DWORD PTR -100[rbp]
	cmp	eax, 1
	jne	.L178
	movss	xmm0, DWORD PTR .LC71[rip]
	movss	DWORD PTR -40[rbp], xmm0
	pxor	xmm1, xmm1
	cvtsi2ss	xmm1, DWORD PTR -128[rbp]
	movss	xmm0, DWORD PTR -40[rbp]
	divss	xmm0, xmm1
	movss	DWORD PTR -40[rbp], xmm0
	mov	rdx, QWORD PTR hit_matlocu2[rip]
	mov	ecx, DWORD PTR -136[rbp]
	mov	eax, DWORD PTR -100[rbp]
	add	eax, ecx
	cdqe
	sal	rax, 2
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -96[rbp], eax
	add	DWORD PTR -84[rbp], 1
.L178:
	mov	eax, DWORD PTR -104[rbp]
	sub	eax, 1
	mov	DWORD PTR -100[rbp], eax
	add	DWORD PTR -100[rbp], 1
.L172:
	mov	eax, DWORD PTR -100[rbp]
	cmp	eax, DWORD PTR -128[rbp]
	jl	.L179
	mov	DWORD PTR -108[rbp], 0
	jmp	.L180
.L193:
	cmp	DWORD PTR -108[rbp], 0
	jne	.L181
	mov	eax, DWORD PTR -108[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	jne	.L182
	mov	DWORD PTR -68[rbp], 10
	jmp	.L183
.L182:
	mov	eax, DWORD PTR -108[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	mov	eax, edx
	add	eax, eax
	add	eax, edx
	mov	edx, DWORD PTR -108[rbp]
	movsx	rdx, edx
	add	rdx, 1
	lea	rcx, 0[0+rdx*4]
	mov	rdx, QWORD PTR -24[rbp]
	add	rdx, rcx
	mov	edi, DWORD PTR [rdx]
	cdq
	idiv	edi
	mov	DWORD PTR -68[rbp], eax
.L183:
	mov	eax, DWORD PTR -68[rbp]
	mov	DWORD PTR -64[rbp], eax
	jmp	.L184
.L181:
	mov	eax, DWORD PTR -80[rbp]
	sub	eax, 1
	cmp	DWORD PTR -108[rbp], eax
	jne	.L185
	mov	eax, DWORD PTR -108[rbp]
	cdqe
	sal	rax, 2
	lea	rdx, -4[rax]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	jne	.L186
	mov	DWORD PTR -68[rbp], 10
	jmp	.L187
.L186:
	mov	eax, DWORD PTR -108[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	mov	eax, edx
	add	eax, eax
	add	eax, edx
	mov	edx, DWORD PTR -108[rbp]
	movsx	rdx, edx
	sal	rdx, 2
	lea	rcx, -4[rdx]
	mov	rdx, QWORD PTR -24[rbp]
	add	rdx, rcx
	mov	esi, DWORD PTR [rdx]
	cdq
	idiv	esi
	mov	DWORD PTR -68[rbp], eax
.L187:
	mov	eax, DWORD PTR -68[rbp]
	mov	DWORD PTR -64[rbp], eax
	jmp	.L184
.L185:
	mov	eax, DWORD PTR -108[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	edx, DWORD PTR -108[rbp]
	movsx	rdx, edx
	sal	rdx, 2
	lea	rcx, -4[rdx]
	mov	rdx, QWORD PTR -24[rbp]
	add	rdx, rcx
	mov	edi, DWORD PTR [rdx]
	cdq
	idiv	edi
	mov	DWORD PTR -68[rbp], eax
	mov	eax, DWORD PTR -108[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	edx, DWORD PTR -108[rbp]
	movsx	rdx, edx
	add	rdx, 1
	lea	rcx, 0[0+rdx*4]
	mov	rdx, QWORD PTR -24[rbp]
	add	rdx, rcx
	mov	esi, DWORD PTR [rdx]
	cdq
	idiv	esi
	mov	DWORD PTR -64[rbp], eax
.L184:
	cmp	DWORD PTR -68[rbp], 2
	jle	.L188
	cmp	DWORD PTR -64[rbp], 2
	jle	.L188
	mov	eax, DWORD PTR -108[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -52[rbp], eax
	mov	eax, DWORD PTR -108[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -48[rbp], eax
	mov	DWORD PTR -104[rbp], 0
	jmp	.L189
.L192:
	mov	rdx, QWORD PTR hit_linkdex2[rip]
	mov	ecx, DWORD PTR -136[rbp]
	mov	eax, DWORD PTR -48[rbp]
	add	ecx, eax
	mov	eax, DWORD PTR -104[rbp]
	add	eax, ecx
	cdqe
	sal	rax, 2
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -44[rbp], eax
	mov	eax, DWORD PTR -44[rbp]
	and	eax, 1
	test	eax, eax
	jne	.L190
	mov	rdx, QWORD PTR hit_masks[rip]
	mov	eax, DWORD PTR -44[rbp]
	cdqe
	sal	rax, 2
	add	rax, rdx
	mov	DWORD PTR [rax], 1
	mov	rdx, QWORD PTR hit_masks[rip]
	mov	eax, DWORD PTR -44[rbp]
	cdqe
	add	rax, 1
	sal	rax, 2
	add	rax, rdx
	mov	DWORD PTR [rax], 1
	jmp	.L191
.L190:
	mov	rdx, QWORD PTR hit_masks[rip]
	mov	eax, DWORD PTR -44[rbp]
	cdqe
	sal	rax, 2
	add	rax, rdx
	mov	DWORD PTR [rax], 1
	mov	rdx, QWORD PTR hit_masks[rip]
	mov	eax, DWORD PTR -44[rbp]
	cdqe
	sal	rax, 2
	sub	rax, 4
	add	rax, rdx
	mov	DWORD PTR [rax], 1
.L191:
	add	DWORD PTR -104[rbp], 1
.L189:
	mov	eax, DWORD PTR -104[rbp]
	cmp	eax, DWORD PTR -52[rbp]
	jl	.L192
.L188:
	add	DWORD PTR -108[rbp], 1
.L180:
	mov	eax, DWORD PTR -108[rbp]
	cmp	eax, DWORD PTR -80[rbp]
	jl	.L193
	nop
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE8:
	.size	PCRdup_Process, .-PCRdup_Process
	.section	.rodata
.LC72:
	.string	"Stack error: NSTACK too small"
	.text
	.globl	ArraySort_Long
	.type	ArraySort_Long, @function
ArraySort_Long:
.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, 104
	.cfi_offset 3, -24
	mov	DWORD PTR -100[rbp], edi
	mov	QWORD PTR -112[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -24[rbp], rax
	xor	eax, eax
	mov	rax, rsp
	mov	rsi, rax
	mov	eax, DWORD PTR -100[rbp]
	sub	eax, 1
	mov	DWORD PTR -88[rbp], eax
	mov	DWORD PTR -80[rbp], 0
	mov	DWORD PTR -76[rbp], 0
	mov	DWORD PTR -72[rbp], 50
	mov	eax, DWORD PTR -72[rbp]
	movsx	rdx, eax
	sub	rdx, 1
	mov	QWORD PTR -64[rbp], rdx
	movsx	rdx, eax
	mov	r8, rdx
	mov	r9d, 0
	movsx	rdx, eax
	mov	rcx, rdx
	mov	ebx, 0
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	eax, 16
	sub	rax, 1
	add	rax, rdx
	mov	ebx, 16
	mov	edx, 0
	div	rbx
	imul	rax, rax, 16
	mov	rcx, rax
	and	rcx, -4096
	mov	rdx, rsp
	sub	rdx, rcx
.L195:
	cmp	rsp, rdx
	je	.L196
	sub	rsp, 4096
	or	QWORD PTR 4088[rsp], 0
	jmp	.L195
.L196:
	mov	rdx, rax
	and	edx, 4095
	sub	rsp, rdx
	mov	rdx, rax
	and	edx, 4095
	test	rdx, rdx
	je	.L197
	and	eax, 4095
	sub	rax, 8
	add	rax, rsp
	or	QWORD PTR [rax], 0
.L197:
	mov	rax, rsp
	add	rax, 3
	shr	rax, 2
	sal	rax, 2
	mov	QWORD PTR -56[rbp], rax
	mov	QWORD PTR -48[rbp], 7
.L217:
	mov	eax, DWORD PTR -88[rbp]
	sub	eax, DWORD PTR -80[rbp]
	cdqe
	cmp	QWORD PTR -48[rbp], rax
	jle	.L198
	mov	eax, DWORD PTR -80[rbp]
	add	eax, 1
	mov	DWORD PTR -92[rbp], eax
	jmp	.L199
.L204:
	mov	eax, DWORD PTR -92[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -32[rbp], rax
	mov	eax, DWORD PTR -92[rbp]
	sub	eax, 1
	mov	DWORD PTR -84[rbp], eax
	jmp	.L200
.L203:
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	cmp	QWORD PTR -32[rbp], rax
	jge	.L221
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -84[rbp]
	movsx	rdx, edx
	add	rdx, 1
	lea	rcx, 0[0+rdx*8]
	mov	rdx, QWORD PTR -112[rbp]
	add	rdx, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR [rdx], rax
	sub	DWORD PTR -84[rbp], 1
.L200:
	mov	eax, DWORD PTR -84[rbp]
	cmp	eax, DWORD PTR -80[rbp]
	jge	.L203
	jmp	.L202
.L221:
	nop
.L202:
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -112[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR [rdx], rax
	add	DWORD PTR -92[rbp], 1
.L199:
	mov	eax, DWORD PTR -92[rbp]
	cmp	eax, DWORD PTR -88[rbp]
	jle	.L204
	cmp	DWORD PTR -76[rbp], 0
	jne	.L205
	mov	rsp, rsi
	nop
	mov	rax, QWORD PTR -24[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L218
	jmp	.L219
.L205:
	mov	eax, DWORD PTR -76[rbp]
	lea	edx, -1[rax]
	mov	DWORD PTR -76[rbp], edx
	mov	rdx, QWORD PTR -56[rbp]
	cdqe
	mov	eax, DWORD PTR [rdx+rax*4]
	mov	DWORD PTR -88[rbp], eax
	mov	eax, DWORD PTR -76[rbp]
	lea	edx, -1[rax]
	mov	DWORD PTR -76[rbp], edx
	mov	rdx, QWORD PTR -56[rbp]
	cdqe
	mov	eax, DWORD PTR [rdx+rax*4]
	mov	DWORD PTR -80[rbp], eax
	jmp	.L217
.L198:
	mov	edx, DWORD PTR -80[rbp]
	mov	eax, DWORD PTR -88[rbp]
	add	eax, edx
	sar	eax
	mov	DWORD PTR -68[rbp], eax
	mov	eax, DWORD PTR -68[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -40[rbp], rax
	mov	eax, DWORD PTR -80[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -68[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*8]
	mov	rdx, QWORD PTR -112[rbp]
	add	rdx, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR [rdx], rax
	mov	eax, DWORD PTR -80[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -112[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR [rdx], rax
	mov	eax, DWORD PTR -80[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -88[rbp]
	cdqe
	lea	rcx, 0[0+rax*8]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	cmp	rdx, rax
	jle	.L208
	mov	eax, DWORD PTR -80[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -40[rbp], rax
	mov	eax, DWORD PTR -88[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -80[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*8]
	mov	rdx, QWORD PTR -112[rbp]
	add	rdx, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR [rdx], rax
	mov	eax, DWORD PTR -88[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -112[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR [rdx], rax
.L208:
	mov	eax, DWORD PTR -80[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -88[rbp]
	cdqe
	lea	rcx, 0[0+rax*8]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	cmp	rdx, rax
	jle	.L209
	mov	eax, DWORD PTR -80[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -40[rbp], rax
	mov	eax, DWORD PTR -88[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -80[rbp]
	movsx	rdx, edx
	add	rdx, 1
	lea	rcx, 0[0+rdx*8]
	mov	rdx, QWORD PTR -112[rbp]
	add	rdx, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR [rdx], rax
	mov	eax, DWORD PTR -88[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -112[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR [rdx], rax
.L209:
	mov	eax, DWORD PTR -80[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -80[rbp]
	cdqe
	add	rax, 1
	lea	rcx, 0[0+rax*8]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	cmp	rdx, rax
	jle	.L210
	mov	eax, DWORD PTR -80[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -40[rbp], rax
	mov	eax, DWORD PTR -80[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -80[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*8]
	mov	rdx, QWORD PTR -112[rbp]
	add	rdx, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR [rdx], rax
	mov	eax, DWORD PTR -80[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -112[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR [rdx], rax
.L210:
	mov	eax, DWORD PTR -80[rbp]
	add	eax, 1
	mov	DWORD PTR -84[rbp], eax
	mov	eax, DWORD PTR -88[rbp]
	mov	DWORD PTR -92[rbp], eax
	mov	eax, DWORD PTR -80[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -32[rbp], rax
.L211:
	add	DWORD PTR -84[rbp], 1
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	cmp	QWORD PTR -32[rbp], rax
	jg	.L211
.L212:
	sub	DWORD PTR -92[rbp], 1
	mov	eax, DWORD PTR -92[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	cmp	QWORD PTR -32[rbp], rax
	jl	.L212
	mov	eax, DWORD PTR -92[rbp]
	cmp	eax, DWORD PTR -84[rbp]
	jl	.L222
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -40[rbp], rax
	mov	eax, DWORD PTR -92[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -84[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*8]
	mov	rdx, QWORD PTR -112[rbp]
	add	rdx, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR [rdx], rax
	mov	eax, DWORD PTR -92[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -112[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR [rdx], rax
	jmp	.L211
.L222:
	nop
	mov	eax, DWORD PTR -92[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -80[rbp]
	movsx	rdx, edx
	add	rdx, 1
	lea	rcx, 0[0+rdx*8]
	mov	rdx, QWORD PTR -112[rbp]
	add	rdx, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR [rdx], rax
	mov	eax, DWORD PTR -92[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -112[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR [rdx], rax
	add	DWORD PTR -76[rbp], 2
	mov	eax, DWORD PTR -76[rbp]
	cmp	eax, DWORD PTR -72[rbp]
	jle	.L215
	lea	rdi, .LC72[rip]
	call	puts@PLT
	mov	edi, 0
	call	exit@PLT
.L215:
	mov	eax, DWORD PTR -88[rbp]
	sub	eax, DWORD PTR -84[rbp]
	lea	edx, 1[rax]
	mov	eax, DWORD PTR -92[rbp]
	sub	eax, DWORD PTR -80[rbp]
	cmp	edx, eax
	jl	.L216
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, DWORD PTR -76[rbp]
	movsx	rdx, edx
	mov	ecx, DWORD PTR -88[rbp]
	mov	DWORD PTR [rax+rdx*4], ecx
	mov	eax, DWORD PTR -76[rbp]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -56[rbp]
	movsx	rdx, edx
	mov	ecx, DWORD PTR -84[rbp]
	mov	DWORD PTR [rax+rdx*4], ecx
	mov	eax, DWORD PTR -92[rbp]
	sub	eax, 1
	mov	DWORD PTR -88[rbp], eax
	jmp	.L217
.L216:
	mov	eax, DWORD PTR -92[rbp]
	lea	ecx, -1[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, DWORD PTR -76[rbp]
	movsx	rdx, edx
	mov	DWORD PTR [rax+rdx*4], ecx
	mov	eax, DWORD PTR -76[rbp]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -56[rbp]
	movsx	rdx, edx
	mov	ecx, DWORD PTR -80[rbp]
	mov	DWORD PTR [rax+rdx*4], ecx
	mov	eax, DWORD PTR -84[rbp]
	mov	DWORD PTR -80[rbp], eax
	jmp	.L217
.L219:
	call	__stack_chk_fail@PLT
.L218:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE9:
	.size	ArraySort_Long, .-ArraySort_Long
	.globl	ArraySort_Int
	.type	ArraySort_Int, @function
ArraySort_Int:
.LFB10:
	.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, 88
	.cfi_offset 3, -24
	mov	DWORD PTR -84[rbp], edi
	mov	QWORD PTR -96[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -24[rbp], rax
	xor	eax, eax
	mov	rax, rsp
	mov	rsi, rax
	mov	eax, DWORD PTR -84[rbp]
	sub	eax, 1
	mov	DWORD PTR -76[rbp], eax
	mov	DWORD PTR -68[rbp], 0
	mov	DWORD PTR -64[rbp], 0
	mov	DWORD PTR -60[rbp], 50
	mov	eax, DWORD PTR -60[rbp]
	movsx	rdx, eax
	sub	rdx, 1
	mov	QWORD PTR -40[rbp], rdx
	movsx	rdx, eax
	mov	r8, rdx
	mov	r9d, 0
	movsx	rdx, eax
	mov	rcx, rdx
	mov	ebx, 0
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	eax, 16
	sub	rax, 1
	add	rax, rdx
	mov	ebx, 16
	mov	edx, 0
	div	rbx
	imul	rax, rax, 16
	mov	rcx, rax
	and	rcx, -4096
	mov	rdx, rsp
	sub	rdx, rcx
.L224:
	cmp	rsp, rdx
	je	.L225
	sub	rsp, 4096
	or	QWORD PTR 4088[rsp], 0
	jmp	.L224
.L225:
	mov	rdx, rax
	and	edx, 4095
	sub	rsp, rdx
	mov	rdx, rax
	and	edx, 4095
	test	rdx, rdx
	je	.L226
	and	eax, 4095
	sub	rax, 8
	add	rax, rsp
	or	QWORD PTR [rax], 0
.L226:
	mov	rax, rsp
	add	rax, 3
	shr	rax, 2
	sal	rax, 2
	mov	QWORD PTR -32[rbp], rax
	mov	DWORD PTR -56[rbp], 7
.L246:
	mov	eax, DWORD PTR -76[rbp]
	sub	eax, DWORD PTR -68[rbp]
	cmp	DWORD PTR -56[rbp], eax
	jle	.L227
	mov	eax, DWORD PTR -68[rbp]
	add	eax, 1
	mov	DWORD PTR -80[rbp], eax
	jmp	.L228
.L233:
	mov	eax, DWORD PTR -80[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -44[rbp], eax
	mov	eax, DWORD PTR -80[rbp]
	sub	eax, 1
	mov	DWORD PTR -72[rbp], eax
	jmp	.L229
.L232:
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	cmp	DWORD PTR -44[rbp], eax
	jge	.L250
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -72[rbp]
	movsx	rdx, edx
	add	rdx, 1
	lea	rcx, 0[0+rdx*4]
	mov	rdx, QWORD PTR -96[rbp]
	add	rdx, rcx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR [rdx], eax
	sub	DWORD PTR -72[rbp], 1
.L229:
	mov	eax, DWORD PTR -72[rbp]
	cmp	eax, DWORD PTR -68[rbp]
	jge	.L232
	jmp	.L231
.L250:
	nop
.L231:
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -96[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -44[rbp]
	mov	DWORD PTR [rdx], eax
	add	DWORD PTR -80[rbp], 1
.L228:
	mov	eax, DWORD PTR -80[rbp]
	cmp	eax, DWORD PTR -76[rbp]
	jle	.L233
	cmp	DWORD PTR -64[rbp], 0
	jne	.L234
	mov	rsp, rsi
	nop
	mov	rax, QWORD PTR -24[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L247
	jmp	.L248
.L234:
	mov	eax, DWORD PTR -64[rbp]
	lea	edx, -1[rax]
	mov	DWORD PTR -64[rbp], edx
	mov	rdx, QWORD PTR -32[rbp]
	cdqe
	mov	eax, DWORD PTR [rdx+rax*4]
	mov	DWORD PTR -76[rbp], eax
	mov	eax, DWORD PTR -64[rbp]
	lea	edx, -1[rax]
	mov	DWORD PTR -64[rbp], edx
	mov	rdx, QWORD PTR -32[rbp]
	cdqe
	mov	eax, DWORD PTR [rdx+rax*4]
	mov	DWORD PTR -68[rbp], eax
	jmp	.L246
.L227:
	mov	edx, DWORD PTR -68[rbp]
	mov	eax, DWORD PTR -76[rbp]
	add	eax, edx
	sar	eax
	mov	DWORD PTR -52[rbp], eax
	mov	eax, DWORD PTR -52[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -48[rbp], eax
	mov	eax, DWORD PTR -68[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -52[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*4]
	mov	rdx, QWORD PTR -96[rbp]
	add	rdx, rcx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -68[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -96[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -48[rbp]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -68[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	mov	eax, DWORD PTR -76[rbp]
	cdqe
	lea	rcx, 0[0+rax*4]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rcx
	mov	eax, DWORD PTR [rax]
	cmp	edx, eax
	jle	.L237
	mov	eax, DWORD PTR -68[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -48[rbp], eax
	mov	eax, DWORD PTR -76[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -68[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*4]
	mov	rdx, QWORD PTR -96[rbp]
	add	rdx, rcx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -76[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -96[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -48[rbp]
	mov	DWORD PTR [rdx], eax
.L237:
	mov	eax, DWORD PTR -68[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	mov	eax, DWORD PTR -76[rbp]
	cdqe
	lea	rcx, 0[0+rax*4]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rcx
	mov	eax, DWORD PTR [rax]
	cmp	edx, eax
	jle	.L238
	mov	eax, DWORD PTR -68[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -48[rbp], eax
	mov	eax, DWORD PTR -76[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -68[rbp]
	movsx	rdx, edx
	add	rdx, 1
	lea	rcx, 0[0+rdx*4]
	mov	rdx, QWORD PTR -96[rbp]
	add	rdx, rcx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -76[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -96[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -48[rbp]
	mov	DWORD PTR [rdx], eax
.L238:
	mov	eax, DWORD PTR -68[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	mov	eax, DWORD PTR -68[rbp]
	cdqe
	add	rax, 1
	lea	rcx, 0[0+rax*4]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rcx
	mov	eax, DWORD PTR [rax]
	cmp	edx, eax
	jle	.L239
	mov	eax, DWORD PTR -68[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -48[rbp], eax
	mov	eax, DWORD PTR -68[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -68[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*4]
	mov	rdx, QWORD PTR -96[rbp]
	add	rdx, rcx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -68[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -96[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -48[rbp]
	mov	DWORD PTR [rdx], eax
.L239:
	mov	eax, DWORD PTR -68[rbp]
	add	eax, 1
	mov	DWORD PTR -72[rbp], eax
	mov	eax, DWORD PTR -76[rbp]
	mov	DWORD PTR -80[rbp], eax
	mov	eax, DWORD PTR -68[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -44[rbp], eax
.L240:
	add	DWORD PTR -72[rbp], 1
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	cmp	DWORD PTR -44[rbp], eax
	jg	.L240
.L241:
	sub	DWORD PTR -80[rbp], 1
	mov	eax, DWORD PTR -80[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	cmp	DWORD PTR -44[rbp], eax
	jl	.L241
	mov	eax, DWORD PTR -80[rbp]
	cmp	eax, DWORD PTR -72[rbp]
	jl	.L251
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -48[rbp], eax
	mov	eax, DWORD PTR -80[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -72[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*4]
	mov	rdx, QWORD PTR -96[rbp]
	add	rdx, rcx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -80[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -96[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -48[rbp]
	mov	DWORD PTR [rdx], eax
	jmp	.L240
.L251:
	nop
	mov	eax, DWORD PTR -80[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -96[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -68[rbp]
	movsx	rdx, edx
	add	rdx, 1
	lea	rcx, 0[0+rdx*4]
	mov	rdx, QWORD PTR -96[rbp]
	add	rdx, rcx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -80[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -96[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -44[rbp]
	mov	DWORD PTR [rdx], eax
	add	DWORD PTR -64[rbp], 2
	mov	eax, DWORD PTR -64[rbp]
	cmp	eax, DWORD PTR -60[rbp]
	jle	.L244
	lea	rdi, .LC72[rip]
	call	puts@PLT
	mov	edi, 0
	call	exit@PLT
.L244:
	mov	eax, DWORD PTR -76[rbp]
	sub	eax, DWORD PTR -72[rbp]
	lea	edx, 1[rax]
	mov	eax, DWORD PTR -80[rbp]
	sub	eax, DWORD PTR -68[rbp]
	cmp	edx, eax
	jl	.L245
	mov	rax, QWORD PTR -32[rbp]
	mov	edx, DWORD PTR -64[rbp]
	movsx	rdx, edx
	mov	ecx, DWORD PTR -76[rbp]
	mov	DWORD PTR [rax+rdx*4], ecx
	mov	eax, DWORD PTR -64[rbp]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -32[rbp]
	movsx	rdx, edx
	mov	ecx, DWORD PTR -72[rbp]
	mov	DWORD PTR [rax+rdx*4], ecx
	mov	eax, DWORD PTR -80[rbp]
	sub	eax, 1
	mov	DWORD PTR -76[rbp], eax
	jmp	.L246
.L245:
	mov	eax, DWORD PTR -80[rbp]
	lea	ecx, -1[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	edx, DWORD PTR -64[rbp]
	movsx	rdx, edx
	mov	DWORD PTR [rax+rdx*4], ecx
	mov	eax, DWORD PTR -64[rbp]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -32[rbp]
	movsx	rdx, edx
	mov	ecx, DWORD PTR -68[rbp]
	mov	DWORD PTR [rax+rdx*4], ecx
	mov	eax, DWORD PTR -72[rbp]
	mov	DWORD PTR -68[rbp], eax
	jmp	.L246
.L248:
	call	__stack_chk_fail@PLT
.L247:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE10:
	.size	ArraySort_Int, .-ArraySort_Int
	.globl	ArraySort_Mix
	.type	ArraySort_Mix, @function
ArraySort_Mix:
.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, 120
	.cfi_offset 3, -24
	mov	DWORD PTR -100[rbp], edi
	mov	QWORD PTR -112[rbp], rsi
	mov	QWORD PTR -120[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -24[rbp], rax
	xor	eax, eax
	mov	rax, rsp
	mov	rsi, rax
	mov	eax, DWORD PTR -100[rbp]
	sub	eax, 1
	mov	DWORD PTR -92[rbp], eax
	mov	DWORD PTR -84[rbp], 0
	mov	DWORD PTR -80[rbp], 0
	mov	DWORD PTR -76[rbp], 50
	mov	eax, DWORD PTR -76[rbp]
	movsx	rdx, eax
	sub	rdx, 1
	mov	QWORD PTR -64[rbp], rdx
	movsx	rdx, eax
	mov	r8, rdx
	mov	r9d, 0
	movsx	rdx, eax
	mov	rcx, rdx
	mov	ebx, 0
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	eax, 16
	sub	rax, 1
	add	rax, rdx
	mov	ebx, 16
	mov	edx, 0
	div	rbx
	imul	rax, rax, 16
	mov	rcx, rax
	and	rcx, -4096
	mov	rdx, rsp
	sub	rdx, rcx
.L253:
	cmp	rsp, rdx
	je	.L254
	sub	rsp, 4096
	or	QWORD PTR 4088[rsp], 0
	jmp	.L253
.L254:
	mov	rdx, rax
	and	edx, 4095
	sub	rsp, rdx
	mov	rdx, rax
	and	edx, 4095
	test	rdx, rdx
	je	.L255
	and	eax, 4095
	sub	rax, 8
	add	rax, rsp
	or	QWORD PTR [rax], 0
.L255:
	mov	rax, rsp
	add	rax, 3
	shr	rax, 2
	sal	rax, 2
	mov	QWORD PTR -56[rbp], rax
	mov	QWORD PTR -48[rbp], 7
.L275:
	mov	eax, DWORD PTR -92[rbp]
	sub	eax, DWORD PTR -84[rbp]
	cdqe
	cmp	QWORD PTR -48[rbp], rax
	jle	.L256
	mov	eax, DWORD PTR -84[rbp]
	add	eax, 1
	mov	DWORD PTR -96[rbp], eax
	jmp	.L257
.L262:
	mov	eax, DWORD PTR -96[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -32[rbp], rax
	mov	eax, DWORD PTR -96[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -68[rbp], eax
	mov	eax, DWORD PTR -96[rbp]
	sub	eax, 1
	mov	DWORD PTR -88[rbp], eax
	jmp	.L258
.L261:
	mov	eax, DWORD PTR -88[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	cmp	QWORD PTR -32[rbp], rax
	jge	.L279
	mov	eax, DWORD PTR -88[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -88[rbp]
	movsx	rdx, edx
	add	rdx, 1
	lea	rcx, 0[0+rdx*8]
	mov	rdx, QWORD PTR -112[rbp]
	add	rdx, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR [rdx], rax
	mov	eax, DWORD PTR -88[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -88[rbp]
	movsx	rdx, edx
	add	rdx, 1
	lea	rcx, 0[0+rdx*4]
	mov	rdx, QWORD PTR -120[rbp]
	add	rdx, rcx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR [rdx], eax
	sub	DWORD PTR -88[rbp], 1
.L258:
	mov	eax, DWORD PTR -88[rbp]
	cmp	eax, DWORD PTR -84[rbp]
	jge	.L261
	jmp	.L260
.L279:
	nop
.L260:
	mov	eax, DWORD PTR -88[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -112[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR [rdx], rax
	mov	eax, DWORD PTR -88[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -68[rbp]
	mov	DWORD PTR [rdx], eax
	add	DWORD PTR -96[rbp], 1
.L257:
	mov	eax, DWORD PTR -96[rbp]
	cmp	eax, DWORD PTR -92[rbp]
	jle	.L262
	cmp	DWORD PTR -80[rbp], 0
	jne	.L263
	mov	rsp, rsi
	nop
	mov	rax, QWORD PTR -24[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L276
	jmp	.L277
.L263:
	mov	eax, DWORD PTR -80[rbp]
	lea	edx, -1[rax]
	mov	DWORD PTR -80[rbp], edx
	mov	rdx, QWORD PTR -56[rbp]
	cdqe
	mov	eax, DWORD PTR [rdx+rax*4]
	mov	DWORD PTR -92[rbp], eax
	mov	eax, DWORD PTR -80[rbp]
	lea	edx, -1[rax]
	mov	DWORD PTR -80[rbp], edx
	mov	rdx, QWORD PTR -56[rbp]
	cdqe
	mov	eax, DWORD PTR [rdx+rax*4]
	mov	DWORD PTR -84[rbp], eax
	jmp	.L275
.L256:
	mov	edx, DWORD PTR -84[rbp]
	mov	eax, DWORD PTR -92[rbp]
	add	eax, edx
	sar	eax
	mov	DWORD PTR -72[rbp], eax
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -40[rbp], rax
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -72[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*8]
	mov	rdx, QWORD PTR -112[rbp]
	add	rdx, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR [rdx], rax
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -112[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR [rdx], rax
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	cdqe
	mov	QWORD PTR -40[rbp], rax
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -72[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*4]
	mov	rdx, QWORD PTR -120[rbp]
	add	rdx, rcx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR -40[rbp]
	mov	DWORD PTR [rax], edx
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -92[rbp]
	cdqe
	lea	rcx, 0[0+rax*8]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	cmp	rdx, rax
	jle	.L266
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -40[rbp], rax
	mov	eax, DWORD PTR -92[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -84[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*8]
	mov	rdx, QWORD PTR -112[rbp]
	add	rdx, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR [rdx], rax
	mov	eax, DWORD PTR -92[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -112[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR [rdx], rax
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	cdqe
	mov	QWORD PTR -40[rbp], rax
	mov	eax, DWORD PTR -92[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -84[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*4]
	mov	rdx, QWORD PTR -120[rbp]
	add	rdx, rcx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -92[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR -40[rbp]
	mov	DWORD PTR [rax], edx
.L266:
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -92[rbp]
	cdqe
	lea	rcx, 0[0+rax*8]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	cmp	rdx, rax
	jle	.L267
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -40[rbp], rax
	mov	eax, DWORD PTR -92[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -84[rbp]
	movsx	rdx, edx
	add	rdx, 1
	lea	rcx, 0[0+rdx*8]
	mov	rdx, QWORD PTR -112[rbp]
	add	rdx, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR [rdx], rax
	mov	eax, DWORD PTR -92[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -112[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR [rdx], rax
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	cdqe
	mov	QWORD PTR -40[rbp], rax
	mov	eax, DWORD PTR -92[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -84[rbp]
	movsx	rdx, edx
	add	rdx, 1
	lea	rcx, 0[0+rdx*4]
	mov	rdx, QWORD PTR -120[rbp]
	add	rdx, rcx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -92[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR -40[rbp]
	mov	DWORD PTR [rax], edx
.L267:
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	add	rax, 1
	lea	rcx, 0[0+rax*8]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	cmp	rdx, rax
	jle	.L268
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -40[rbp], rax
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -84[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*8]
	mov	rdx, QWORD PTR -112[rbp]
	add	rdx, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR [rdx], rax
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -112[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR [rdx], rax
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	cdqe
	mov	QWORD PTR -40[rbp], rax
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -84[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*4]
	mov	rdx, QWORD PTR -120[rbp]
	add	rdx, rcx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR -40[rbp]
	mov	DWORD PTR [rax], edx
.L268:
	mov	eax, DWORD PTR -84[rbp]
	add	eax, 1
	mov	DWORD PTR -88[rbp], eax
	mov	eax, DWORD PTR -92[rbp]
	mov	DWORD PTR -96[rbp], eax
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -32[rbp], rax
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -68[rbp], eax
.L269:
	add	DWORD PTR -88[rbp], 1
	mov	eax, DWORD PTR -88[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	cmp	QWORD PTR -32[rbp], rax
	jg	.L269
.L270:
	sub	DWORD PTR -96[rbp], 1
	mov	eax, DWORD PTR -96[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	cmp	QWORD PTR -32[rbp], rax
	jl	.L270
	mov	eax, DWORD PTR -96[rbp]
	cmp	eax, DWORD PTR -88[rbp]
	jl	.L280
	mov	eax, DWORD PTR -88[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -40[rbp], rax
	mov	eax, DWORD PTR -96[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -88[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*8]
	mov	rdx, QWORD PTR -112[rbp]
	add	rdx, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR [rdx], rax
	mov	eax, DWORD PTR -96[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -112[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR [rdx], rax
	mov	eax, DWORD PTR -88[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	cdqe
	mov	QWORD PTR -40[rbp], rax
	mov	eax, DWORD PTR -96[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -88[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*4]
	mov	rdx, QWORD PTR -120[rbp]
	add	rdx, rcx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -96[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR -40[rbp]
	mov	DWORD PTR [rax], edx
	jmp	.L269
.L280:
	nop
	mov	eax, DWORD PTR -96[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -84[rbp]
	movsx	rdx, edx
	add	rdx, 1
	lea	rcx, 0[0+rdx*8]
	mov	rdx, QWORD PTR -112[rbp]
	add	rdx, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR [rdx], rax
	mov	eax, DWORD PTR -96[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -112[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR [rdx], rax
	mov	eax, DWORD PTR -96[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -84[rbp]
	movsx	rdx, edx
	add	rdx, 1
	lea	rcx, 0[0+rdx*4]
	mov	rdx, QWORD PTR -120[rbp]
	add	rdx, rcx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -96[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -68[rbp]
	mov	DWORD PTR [rdx], eax
	add	DWORD PTR -80[rbp], 2
	mov	eax, DWORD PTR -80[rbp]
	cmp	eax, DWORD PTR -76[rbp]
	jle	.L273
	lea	rdi, .LC72[rip]
	call	puts@PLT
	mov	edi, 0
	call	exit@PLT
.L273:
	mov	eax, DWORD PTR -92[rbp]
	sub	eax, DWORD PTR -88[rbp]
	lea	edx, 1[rax]
	mov	eax, DWORD PTR -96[rbp]
	sub	eax, DWORD PTR -84[rbp]
	cmp	edx, eax
	jl	.L274
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, DWORD PTR -80[rbp]
	movsx	rdx, edx
	mov	ecx, DWORD PTR -92[rbp]
	mov	DWORD PTR [rax+rdx*4], ecx
	mov	eax, DWORD PTR -80[rbp]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -56[rbp]
	movsx	rdx, edx
	mov	ecx, DWORD PTR -88[rbp]
	mov	DWORD PTR [rax+rdx*4], ecx
	mov	eax, DWORD PTR -96[rbp]
	sub	eax, 1
	mov	DWORD PTR -92[rbp], eax
	jmp	.L275
.L274:
	mov	eax, DWORD PTR -96[rbp]
	lea	ecx, -1[rax]
	mov	rax, QWORD PTR -56[rbp]
	mov	edx, DWORD PTR -80[rbp]
	movsx	rdx, edx
	mov	DWORD PTR [rax+rdx*4], ecx
	mov	eax, DWORD PTR -80[rbp]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -56[rbp]
	movsx	rdx, edx
	mov	ecx, DWORD PTR -84[rbp]
	mov	DWORD PTR [rax+rdx*4], ecx
	mov	eax, DWORD PTR -88[rbp]
	mov	DWORD PTR -84[rbp], eax
	jmp	.L275
.L277:
	call	__stack_chk_fail@PLT
.L276:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE11:
	.size	ArraySort_Mix, .-ArraySort_Mix
	.globl	ArraySort_Int2
	.type	ArraySort_Int2, @function
ArraySort_Int2:
.LFB12:
	.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, 120
	.cfi_offset 3, -24
	mov	DWORD PTR -100[rbp], edi
	mov	QWORD PTR -112[rbp], rsi
	mov	QWORD PTR -120[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -24[rbp], rax
	xor	eax, eax
	mov	rax, rsp
	mov	rsi, rax
	mov	eax, DWORD PTR -100[rbp]
	sub	eax, 1
	mov	DWORD PTR -80[rbp], eax
	mov	DWORD PTR -72[rbp], 0
	mov	DWORD PTR -68[rbp], 0
	mov	DWORD PTR -64[rbp], 50
	mov	eax, DWORD PTR -64[rbp]
	movsx	rdx, eax
	sub	rdx, 1
	mov	QWORD PTR -40[rbp], rdx
	movsx	rdx, eax
	mov	r8, rdx
	mov	r9d, 0
	movsx	rdx, eax
	mov	rcx, rdx
	mov	ebx, 0
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	eax, 16
	sub	rax, 1
	add	rax, rdx
	mov	ebx, 16
	mov	edx, 0
	div	rbx
	imul	rax, rax, 16
	mov	rcx, rax
	and	rcx, -4096
	mov	rdx, rsp
	sub	rdx, rcx
.L282:
	cmp	rsp, rdx
	je	.L283
	sub	rsp, 4096
	or	QWORD PTR 4088[rsp], 0
	jmp	.L282
.L283:
	mov	rdx, rax
	and	edx, 4095
	sub	rsp, rdx
	mov	rdx, rax
	and	edx, 4095
	test	rdx, rdx
	je	.L284
	and	eax, 4095
	sub	rax, 8
	add	rax, rsp
	or	QWORD PTR [rax], 0
.L284:
	mov	rax, rsp
	add	rax, 3
	shr	rax, 2
	sal	rax, 2
	mov	QWORD PTR -32[rbp], rax
	mov	DWORD PTR -60[rbp], 7
.L304:
	mov	eax, DWORD PTR -80[rbp]
	sub	eax, DWORD PTR -72[rbp]
	cmp	DWORD PTR -60[rbp], eax
	jle	.L285
	mov	eax, DWORD PTR -72[rbp]
	add	eax, 1
	mov	DWORD PTR -84[rbp], eax
	jmp	.L286
.L291:
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -48[rbp], eax
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -44[rbp], eax
	mov	eax, DWORD PTR -84[rbp]
	sub	eax, 1
	mov	DWORD PTR -76[rbp], eax
	jmp	.L287
.L290:
	mov	eax, DWORD PTR -76[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	cmp	DWORD PTR -48[rbp], eax
	jge	.L308
	mov	eax, DWORD PTR -76[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -76[rbp]
	movsx	rdx, edx
	add	rdx, 1
	lea	rcx, 0[0+rdx*4]
	mov	rdx, QWORD PTR -112[rbp]
	add	rdx, rcx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -76[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -76[rbp]
	movsx	rdx, edx
	add	rdx, 1
	lea	rcx, 0[0+rdx*4]
	mov	rdx, QWORD PTR -120[rbp]
	add	rdx, rcx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR [rdx], eax
	sub	DWORD PTR -76[rbp], 1
.L287:
	mov	eax, DWORD PTR -76[rbp]
	cmp	eax, DWORD PTR -72[rbp]
	jge	.L290
	jmp	.L289
.L308:
	nop
.L289:
	mov	eax, DWORD PTR -76[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -48[rbp]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -76[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -44[rbp]
	mov	DWORD PTR [rdx], eax
	add	DWORD PTR -84[rbp], 1
.L286:
	mov	eax, DWORD PTR -84[rbp]
	cmp	eax, DWORD PTR -80[rbp]
	jle	.L291
	cmp	DWORD PTR -68[rbp], 0
	jne	.L292
	mov	rsp, rsi
	nop
	mov	rax, QWORD PTR -24[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L305
	jmp	.L306
.L292:
	mov	eax, DWORD PTR -68[rbp]
	lea	edx, -1[rax]
	mov	DWORD PTR -68[rbp], edx
	mov	rdx, QWORD PTR -32[rbp]
	cdqe
	mov	eax, DWORD PTR [rdx+rax*4]
	mov	DWORD PTR -80[rbp], eax
	mov	eax, DWORD PTR -68[rbp]
	lea	edx, -1[rax]
	mov	DWORD PTR -68[rbp], edx
	mov	rdx, QWORD PTR -32[rbp]
	cdqe
	mov	eax, DWORD PTR [rdx+rax*4]
	mov	DWORD PTR -72[rbp], eax
	jmp	.L304
.L285:
	mov	edx, DWORD PTR -72[rbp]
	mov	eax, DWORD PTR -80[rbp]
	add	eax, edx
	sar	eax
	mov	DWORD PTR -56[rbp], eax
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -52[rbp], eax
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -56[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*4]
	mov	rdx, QWORD PTR -112[rbp]
	add	rdx, rcx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -52[rbp]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -52[rbp], eax
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -56[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*4]
	mov	rdx, QWORD PTR -120[rbp]
	add	rdx, rcx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -52[rbp]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	mov	eax, DWORD PTR -80[rbp]
	cdqe
	lea	rcx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rcx
	mov	eax, DWORD PTR [rax]
	cmp	edx, eax
	jle	.L295
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -52[rbp], eax
	mov	eax, DWORD PTR -80[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -72[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*4]
	mov	rdx, QWORD PTR -112[rbp]
	add	rdx, rcx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -80[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -52[rbp]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -52[rbp], eax
	mov	eax, DWORD PTR -80[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -72[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*4]
	mov	rdx, QWORD PTR -120[rbp]
	add	rdx, rcx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -80[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -52[rbp]
	mov	DWORD PTR [rdx], eax
.L295:
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	mov	eax, DWORD PTR -80[rbp]
	cdqe
	lea	rcx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rcx
	mov	eax, DWORD PTR [rax]
	cmp	edx, eax
	jle	.L296
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -52[rbp], eax
	mov	eax, DWORD PTR -80[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -72[rbp]
	movsx	rdx, edx
	add	rdx, 1
	lea	rcx, 0[0+rdx*4]
	mov	rdx, QWORD PTR -112[rbp]
	add	rdx, rcx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -80[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -52[rbp]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -52[rbp], eax
	mov	eax, DWORD PTR -80[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -72[rbp]
	movsx	rdx, edx
	add	rdx, 1
	lea	rcx, 0[0+rdx*4]
	mov	rdx, QWORD PTR -120[rbp]
	add	rdx, rcx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -80[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -52[rbp]
	mov	DWORD PTR [rdx], eax
.L296:
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	add	rax, 1
	lea	rcx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rcx
	mov	eax, DWORD PTR [rax]
	cmp	edx, eax
	jle	.L297
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -52[rbp], eax
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -72[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*4]
	mov	rdx, QWORD PTR -112[rbp]
	add	rdx, rcx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -52[rbp]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -52[rbp], eax
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -72[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*4]
	mov	rdx, QWORD PTR -120[rbp]
	add	rdx, rcx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -52[rbp]
	mov	DWORD PTR [rdx], eax
.L297:
	mov	eax, DWORD PTR -72[rbp]
	add	eax, 1
	mov	DWORD PTR -76[rbp], eax
	mov	eax, DWORD PTR -80[rbp]
	mov	DWORD PTR -84[rbp], eax
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -48[rbp], eax
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -44[rbp], eax
.L298:
	add	DWORD PTR -76[rbp], 1
	mov	eax, DWORD PTR -76[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	cmp	DWORD PTR -48[rbp], eax
	jg	.L298
.L299:
	sub	DWORD PTR -84[rbp], 1
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	cmp	DWORD PTR -48[rbp], eax
	jl	.L299
	mov	eax, DWORD PTR -84[rbp]
	cmp	eax, DWORD PTR -76[rbp]
	jl	.L309
	mov	eax, DWORD PTR -76[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -52[rbp], eax
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -76[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*4]
	mov	rdx, QWORD PTR -112[rbp]
	add	rdx, rcx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -52[rbp]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -76[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -52[rbp], eax
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -76[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*4]
	mov	rdx, QWORD PTR -120[rbp]
	add	rdx, rcx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -52[rbp]
	mov	DWORD PTR [rdx], eax
	jmp	.L298
.L309:
	nop
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -72[rbp]
	movsx	rdx, edx
	add	rdx, 1
	lea	rcx, 0[0+rdx*4]
	mov	rdx, QWORD PTR -112[rbp]
	add	rdx, rcx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -48[rbp]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -72[rbp]
	movsx	rdx, edx
	add	rdx, 1
	lea	rcx, 0[0+rdx*4]
	mov	rdx, QWORD PTR -120[rbp]
	add	rdx, rcx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -44[rbp]
	mov	DWORD PTR [rdx], eax
	add	DWORD PTR -68[rbp], 2
	mov	eax, DWORD PTR -68[rbp]
	cmp	eax, DWORD PTR -64[rbp]
	jle	.L302
	lea	rdi, .LC72[rip]
	call	puts@PLT
	mov	edi, 0
	call	exit@PLT
.L302:
	mov	eax, DWORD PTR -80[rbp]
	sub	eax, DWORD PTR -76[rbp]
	lea	edx, 1[rax]
	mov	eax, DWORD PTR -84[rbp]
	sub	eax, DWORD PTR -72[rbp]
	cmp	edx, eax
	jl	.L303
	mov	rax, QWORD PTR -32[rbp]
	mov	edx, DWORD PTR -68[rbp]
	movsx	rdx, edx
	mov	ecx, DWORD PTR -80[rbp]
	mov	DWORD PTR [rax+rdx*4], ecx
	mov	eax, DWORD PTR -68[rbp]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -32[rbp]
	movsx	rdx, edx
	mov	ecx, DWORD PTR -76[rbp]
	mov	DWORD PTR [rax+rdx*4], ecx
	mov	eax, DWORD PTR -84[rbp]
	sub	eax, 1
	mov	DWORD PTR -80[rbp], eax
	jmp	.L304
.L303:
	mov	eax, DWORD PTR -84[rbp]
	lea	ecx, -1[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	edx, DWORD PTR -68[rbp]
	movsx	rdx, edx
	mov	DWORD PTR [rax+rdx*4], ecx
	mov	eax, DWORD PTR -68[rbp]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -32[rbp]
	movsx	rdx, edx
	mov	ecx, DWORD PTR -72[rbp]
	mov	DWORD PTR [rax+rdx*4], ecx
	mov	eax, DWORD PTR -76[rbp]
	mov	DWORD PTR -72[rbp], eax
	jmp	.L304
.L306:
	call	__stack_chk_fail@PLT
.L305:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE12:
	.size	ArraySort_Int2, .-ArraySort_Int2
	.globl	ArraySort_float
	.type	ArraySort_float, @function
ArraySort_float:
.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, 120
	.cfi_offset 3, -24
	mov	DWORD PTR -100[rbp], edi
	mov	QWORD PTR -112[rbp], rsi
	mov	QWORD PTR -120[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -24[rbp], rax
	xor	eax, eax
	mov	rax, rsp
	mov	rsi, rax
	mov	eax, DWORD PTR -100[rbp]
	sub	eax, 1
	mov	DWORD PTR -80[rbp], eax
	mov	DWORD PTR -72[rbp], 0
	mov	DWORD PTR -68[rbp], 0
	mov	DWORD PTR -64[rbp], 50
	mov	eax, DWORD PTR -64[rbp]
	movsx	rdx, eax
	sub	rdx, 1
	mov	QWORD PTR -40[rbp], rdx
	movsx	rdx, eax
	mov	r8, rdx
	mov	r9d, 0
	movsx	rdx, eax
	mov	rcx, rdx
	mov	ebx, 0
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	eax, 16
	sub	rax, 1
	add	rax, rdx
	mov	ebx, 16
	mov	edx, 0
	div	rbx
	imul	rax, rax, 16
	mov	rcx, rax
	and	rcx, -4096
	mov	rdx, rsp
	sub	rdx, rcx
.L311:
	cmp	rsp, rdx
	je	.L312
	sub	rsp, 4096
	or	QWORD PTR 4088[rsp], 0
	jmp	.L311
.L312:
	mov	rdx, rax
	and	edx, 4095
	sub	rsp, rdx
	mov	rdx, rax
	and	edx, 4095
	test	rdx, rdx
	je	.L313
	and	eax, 4095
	sub	rax, 8
	add	rax, rsp
	or	QWORD PTR [rax], 0
.L313:
	mov	rax, rsp
	add	rax, 3
	shr	rax, 2
	sal	rax, 2
	mov	QWORD PTR -32[rbp], rax
	mov	DWORD PTR -60[rbp], 7
.L337:
	mov	eax, DWORD PTR -80[rbp]
	sub	eax, DWORD PTR -72[rbp]
	cmp	DWORD PTR -60[rbp], eax
	jle	.L314
	mov	eax, DWORD PTR -72[rbp]
	add	eax, 1
	mov	DWORD PTR -84[rbp], eax
	jmp	.L315
.L321:
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR [rax]
	movss	DWORD PTR -48[rbp], xmm0
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -44[rbp], eax
	mov	eax, DWORD PTR -84[rbp]
	sub	eax, 1
	mov	DWORD PTR -76[rbp], eax
	jmp	.L316
.L320:
	mov	eax, DWORD PTR -76[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	movss	xmm1, DWORD PTR [rax]
	movss	xmm0, DWORD PTR -48[rbp]
	comiss	xmm0, xmm1
	jnb	.L344
	mov	eax, DWORD PTR -76[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -76[rbp]
	cdqe
	add	rax, 1
	lea	rcx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rcx
	movss	xmm0, DWORD PTR [rdx]
	movss	DWORD PTR [rax], xmm0
	mov	eax, DWORD PTR -76[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -76[rbp]
	movsx	rdx, edx
	add	rdx, 1
	lea	rcx, 0[0+rdx*4]
	mov	rdx, QWORD PTR -120[rbp]
	add	rdx, rcx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR [rdx], eax
	sub	DWORD PTR -76[rbp], 1
.L316:
	mov	eax, DWORD PTR -76[rbp]
	cmp	eax, DWORD PTR -72[rbp]
	jge	.L320
	jmp	.L319
.L344:
	nop
.L319:
	mov	eax, DWORD PTR -76[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR -48[rbp]
	movss	DWORD PTR [rax], xmm0
	mov	eax, DWORD PTR -76[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -44[rbp]
	mov	DWORD PTR [rdx], eax
	add	DWORD PTR -84[rbp], 1
.L315:
	mov	eax, DWORD PTR -84[rbp]
	cmp	eax, DWORD PTR -80[rbp]
	jle	.L321
	cmp	DWORD PTR -68[rbp], 0
	jne	.L322
	mov	rsp, rsi
	nop
	mov	rax, QWORD PTR -24[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L338
	jmp	.L342
.L322:
	mov	eax, DWORD PTR -68[rbp]
	lea	edx, -1[rax]
	mov	DWORD PTR -68[rbp], edx
	mov	rdx, QWORD PTR -32[rbp]
	cdqe
	mov	eax, DWORD PTR [rdx+rax*4]
	mov	DWORD PTR -80[rbp], eax
	mov	eax, DWORD PTR -68[rbp]
	lea	edx, -1[rax]
	mov	DWORD PTR -68[rbp], edx
	mov	rdx, QWORD PTR -32[rbp]
	cdqe
	mov	eax, DWORD PTR [rdx+rax*4]
	mov	DWORD PTR -72[rbp], eax
	jmp	.L337
.L314:
	mov	edx, DWORD PTR -72[rbp]
	mov	eax, DWORD PTR -80[rbp]
	add	eax, edx
	sar	eax
	mov	DWORD PTR -56[rbp], eax
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR [rax]
	movss	DWORD PTR -52[rbp], xmm0
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	lea	rcx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rcx
	movss	xmm0, DWORD PTR [rdx]
	movss	DWORD PTR [rax], xmm0
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR -52[rbp]
	movss	DWORD PTR [rax], xmm0
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	pxor	xmm0, xmm0
	cvtsi2ss	xmm0, eax
	movss	DWORD PTR -52[rbp], xmm0
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -56[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*4]
	mov	rdx, QWORD PTR -120[rbp]
	add	rdx, rcx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rdx, rax
	movss	xmm0, DWORD PTR -52[rbp]
	cvttss2si	eax, xmm0
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR [rax]
	mov	eax, DWORD PTR -80[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	movss	xmm1, DWORD PTR [rax]
	comiss	xmm0, xmm1
	jbe	.L325
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR [rax]
	movss	DWORD PTR -52[rbp], xmm0
	mov	eax, DWORD PTR -80[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	lea	rcx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rcx
	movss	xmm0, DWORD PTR [rdx]
	movss	DWORD PTR [rax], xmm0
	mov	eax, DWORD PTR -80[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR -52[rbp]
	movss	DWORD PTR [rax], xmm0
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	pxor	xmm0, xmm0
	cvtsi2ss	xmm0, eax
	movss	DWORD PTR -52[rbp], xmm0
	mov	eax, DWORD PTR -80[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -72[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*4]
	mov	rdx, QWORD PTR -120[rbp]
	add	rdx, rcx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -80[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rdx, rax
	movss	xmm0, DWORD PTR -52[rbp]
	cvttss2si	eax, xmm0
	mov	DWORD PTR [rdx], eax
.L325:
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR [rax]
	mov	eax, DWORD PTR -80[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	movss	xmm1, DWORD PTR [rax]
	comiss	xmm0, xmm1
	jbe	.L327
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR [rax]
	movss	DWORD PTR -52[rbp], xmm0
	mov	eax, DWORD PTR -80[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	add	rax, 1
	lea	rcx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rcx
	movss	xmm0, DWORD PTR [rdx]
	movss	DWORD PTR [rax], xmm0
	mov	eax, DWORD PTR -80[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR -52[rbp]
	movss	DWORD PTR [rax], xmm0
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	pxor	xmm0, xmm0
	cvtsi2ss	xmm0, eax
	movss	DWORD PTR -52[rbp], xmm0
	mov	eax, DWORD PTR -80[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -72[rbp]
	movsx	rdx, edx
	add	rdx, 1
	lea	rcx, 0[0+rdx*4]
	mov	rdx, QWORD PTR -120[rbp]
	add	rdx, rcx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -80[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rdx, rax
	movss	xmm0, DWORD PTR -52[rbp]
	cvttss2si	eax, xmm0
	mov	DWORD PTR [rdx], eax
.L327:
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR [rax]
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	movss	xmm1, DWORD PTR [rax]
	comiss	xmm0, xmm1
	jbe	.L329
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR [rax]
	movss	DWORD PTR -52[rbp], xmm0
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	lea	rcx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rcx
	movss	xmm0, DWORD PTR [rdx]
	movss	DWORD PTR [rax], xmm0
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR -52[rbp]
	movss	DWORD PTR [rax], xmm0
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	pxor	xmm0, xmm0
	cvtsi2ss	xmm0, eax
	movss	DWORD PTR -52[rbp], xmm0
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -72[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*4]
	mov	rdx, QWORD PTR -120[rbp]
	add	rdx, rcx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rdx, rax
	movss	xmm0, DWORD PTR -52[rbp]
	cvttss2si	eax, xmm0
	mov	DWORD PTR [rdx], eax
.L329:
	mov	eax, DWORD PTR -72[rbp]
	add	eax, 1
	mov	DWORD PTR -76[rbp], eax
	mov	eax, DWORD PTR -80[rbp]
	mov	DWORD PTR -84[rbp], eax
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR [rax]
	movss	DWORD PTR -48[rbp], xmm0
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -44[rbp], eax
.L331:
	add	DWORD PTR -76[rbp], 1
	mov	eax, DWORD PTR -76[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	movss	xmm1, DWORD PTR [rax]
	movss	xmm0, DWORD PTR -48[rbp]
	comiss	xmm0, xmm1
	ja	.L331
.L332:
	sub	DWORD PTR -84[rbp], 1
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR [rax]
	comiss	xmm0, DWORD PTR -48[rbp]
	ja	.L332
	mov	eax, DWORD PTR -84[rbp]
	cmp	eax, DWORD PTR -76[rbp]
	jl	.L345
	mov	eax, DWORD PTR -76[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR [rax]
	movss	DWORD PTR -52[rbp], xmm0
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -76[rbp]
	cdqe
	lea	rcx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rcx
	movss	xmm0, DWORD PTR [rdx]
	movss	DWORD PTR [rax], xmm0
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR -52[rbp]
	movss	DWORD PTR [rax], xmm0
	mov	eax, DWORD PTR -76[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	pxor	xmm0, xmm0
	cvtsi2ss	xmm0, eax
	movss	DWORD PTR -52[rbp], xmm0
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -76[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*4]
	mov	rdx, QWORD PTR -120[rbp]
	add	rdx, rcx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rdx, rax
	movss	xmm0, DWORD PTR -52[rbp]
	cvttss2si	eax, xmm0
	mov	DWORD PTR [rdx], eax
	jmp	.L331
.L345:
	nop
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	add	rax, 1
	lea	rcx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rcx
	movss	xmm0, DWORD PTR [rdx]
	movss	DWORD PTR [rax], xmm0
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR -48[rbp]
	movss	DWORD PTR [rax], xmm0
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -72[rbp]
	movsx	rdx, edx
	add	rdx, 1
	lea	rcx, 0[0+rdx*4]
	mov	rdx, QWORD PTR -120[rbp]
	add	rdx, rcx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -44[rbp]
	mov	DWORD PTR [rdx], eax
	add	DWORD PTR -68[rbp], 2
	mov	eax, DWORD PTR -68[rbp]
	cmp	eax, DWORD PTR -64[rbp]
	jle	.L335
	lea	rdi, .LC72[rip]
	call	puts@PLT
	mov	edi, 0
	call	exit@PLT
.L335:
	mov	eax, DWORD PTR -80[rbp]
	sub	eax, DWORD PTR -76[rbp]
	lea	edx, 1[rax]
	mov	eax, DWORD PTR -84[rbp]
	sub	eax, DWORD PTR -72[rbp]
	cmp	edx, eax
	jl	.L336
	mov	rax, QWORD PTR -32[rbp]
	mov	edx, DWORD PTR -68[rbp]
	movsx	rdx, edx
	mov	ecx, DWORD PTR -80[rbp]
	mov	DWORD PTR [rax+rdx*4], ecx
	mov	eax, DWORD PTR -68[rbp]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -32[rbp]
	movsx	rdx, edx
	mov	ecx, DWORD PTR -76[rbp]
	mov	DWORD PTR [rax+rdx*4], ecx
	mov	eax, DWORD PTR -84[rbp]
	sub	eax, 1
	mov	DWORD PTR -80[rbp], eax
	jmp	.L337
.L336:
	mov	eax, DWORD PTR -84[rbp]
	lea	ecx, -1[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	edx, DWORD PTR -68[rbp]
	movsx	rdx, edx
	mov	DWORD PTR [rax+rdx*4], ecx
	mov	eax, DWORD PTR -68[rbp]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -32[rbp]
	movsx	rdx, edx
	mov	ecx, DWORD PTR -72[rbp]
	mov	DWORD PTR [rax+rdx*4], ecx
	mov	eax, DWORD PTR -76[rbp]
	mov	DWORD PTR -72[rbp], eax
	jmp	.L337
.L342:
	call	__stack_chk_fail@PLT
.L338:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE13:
	.size	ArraySort_float, .-ArraySort_float
	.globl	ArraySort2_Int2
	.type	ArraySort2_Int2, @function
ArraySort2_Int2:
.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, 120
	.cfi_offset 3, -24
	mov	DWORD PTR -100[rbp], edi
	mov	QWORD PTR -112[rbp], rsi
	mov	QWORD PTR -120[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -24[rbp], rax
	xor	eax, eax
	mov	rax, rsp
	mov	rsi, rax
	mov	eax, DWORD PTR -100[rbp]
	sub	eax, 1
	mov	DWORD PTR -80[rbp], eax
	mov	DWORD PTR -72[rbp], 0
	mov	DWORD PTR -68[rbp], 0
	mov	DWORD PTR -64[rbp], 50
	mov	eax, DWORD PTR -64[rbp]
	movsx	rdx, eax
	sub	rdx, 1
	mov	QWORD PTR -40[rbp], rdx
	movsx	rdx, eax
	mov	r8, rdx
	mov	r9d, 0
	movsx	rdx, eax
	mov	rcx, rdx
	mov	ebx, 0
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	eax, 16
	sub	rax, 1
	add	rax, rdx
	mov	ebx, 16
	mov	edx, 0
	div	rbx
	imul	rax, rax, 16
	mov	rcx, rax
	and	rcx, -4096
	mov	rdx, rsp
	sub	rdx, rcx
.L347:
	cmp	rsp, rdx
	je	.L348
	sub	rsp, 4096
	or	QWORD PTR 4088[rsp], 0
	jmp	.L347
.L348:
	mov	rdx, rax
	and	edx, 4095
	sub	rsp, rdx
	mov	rdx, rax
	and	edx, 4095
	test	rdx, rdx
	je	.L349
	and	eax, 4095
	sub	rax, 8
	add	rax, rsp
	or	QWORD PTR [rax], 0
.L349:
	mov	rax, rsp
	add	rax, 3
	shr	rax, 2
	sal	rax, 2
	mov	QWORD PTR -32[rbp], rax
	mov	DWORD PTR -60[rbp], 7
.L369:
	mov	eax, DWORD PTR -80[rbp]
	sub	eax, DWORD PTR -72[rbp]
	cmp	DWORD PTR -60[rbp], eax
	jle	.L350
	mov	eax, DWORD PTR -72[rbp]
	add	eax, 1
	mov	DWORD PTR -84[rbp], eax
	jmp	.L351
.L356:
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -48[rbp], eax
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -44[rbp], eax
	mov	eax, DWORD PTR -84[rbp]
	sub	eax, 1
	mov	DWORD PTR -76[rbp], eax
	jmp	.L352
.L355:
	mov	eax, DWORD PTR -76[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	cmp	DWORD PTR -48[rbp], eax
	jle	.L373
	mov	eax, DWORD PTR -76[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -76[rbp]
	movsx	rdx, edx
	add	rdx, 1
	lea	rcx, 0[0+rdx*4]
	mov	rdx, QWORD PTR -112[rbp]
	add	rdx, rcx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -76[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -76[rbp]
	movsx	rdx, edx
	add	rdx, 1
	lea	rcx, 0[0+rdx*4]
	mov	rdx, QWORD PTR -120[rbp]
	add	rdx, rcx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR [rdx], eax
	sub	DWORD PTR -76[rbp], 1
.L352:
	mov	eax, DWORD PTR -76[rbp]
	cmp	eax, DWORD PTR -72[rbp]
	jge	.L355
	jmp	.L354
.L373:
	nop
.L354:
	mov	eax, DWORD PTR -76[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -48[rbp]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -76[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -44[rbp]
	mov	DWORD PTR [rdx], eax
	add	DWORD PTR -84[rbp], 1
.L351:
	mov	eax, DWORD PTR -84[rbp]
	cmp	eax, DWORD PTR -80[rbp]
	jle	.L356
	cmp	DWORD PTR -68[rbp], 0
	jne	.L357
	mov	rsp, rsi
	nop
	mov	rax, QWORD PTR -24[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L370
	jmp	.L371
.L357:
	mov	eax, DWORD PTR -68[rbp]
	lea	edx, -1[rax]
	mov	DWORD PTR -68[rbp], edx
	mov	rdx, QWORD PTR -32[rbp]
	cdqe
	mov	eax, DWORD PTR [rdx+rax*4]
	mov	DWORD PTR -80[rbp], eax
	mov	eax, DWORD PTR -68[rbp]
	lea	edx, -1[rax]
	mov	DWORD PTR -68[rbp], edx
	mov	rdx, QWORD PTR -32[rbp]
	cdqe
	mov	eax, DWORD PTR [rdx+rax*4]
	mov	DWORD PTR -72[rbp], eax
	jmp	.L369
.L350:
	mov	edx, DWORD PTR -72[rbp]
	mov	eax, DWORD PTR -80[rbp]
	add	eax, edx
	sar	eax
	mov	DWORD PTR -56[rbp], eax
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -52[rbp], eax
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -56[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*4]
	mov	rdx, QWORD PTR -112[rbp]
	add	rdx, rcx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -52[rbp]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -52[rbp], eax
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -56[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*4]
	mov	rdx, QWORD PTR -120[rbp]
	add	rdx, rcx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -52[rbp]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	mov	eax, DWORD PTR -80[rbp]
	cdqe
	lea	rcx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rcx
	mov	eax, DWORD PTR [rax]
	cmp	edx, eax
	jge	.L360
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -52[rbp], eax
	mov	eax, DWORD PTR -80[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -72[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*4]
	mov	rdx, QWORD PTR -112[rbp]
	add	rdx, rcx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -80[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -52[rbp]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -52[rbp], eax
	mov	eax, DWORD PTR -80[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -72[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*4]
	mov	rdx, QWORD PTR -120[rbp]
	add	rdx, rcx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -80[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -52[rbp]
	mov	DWORD PTR [rdx], eax
.L360:
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	mov	eax, DWORD PTR -80[rbp]
	cdqe
	lea	rcx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rcx
	mov	eax, DWORD PTR [rax]
	cmp	edx, eax
	jge	.L361
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -52[rbp], eax
	mov	eax, DWORD PTR -80[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -72[rbp]
	movsx	rdx, edx
	add	rdx, 1
	lea	rcx, 0[0+rdx*4]
	mov	rdx, QWORD PTR -112[rbp]
	add	rdx, rcx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -80[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -52[rbp]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -52[rbp], eax
	mov	eax, DWORD PTR -80[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -72[rbp]
	movsx	rdx, edx
	add	rdx, 1
	lea	rcx, 0[0+rdx*4]
	mov	rdx, QWORD PTR -120[rbp]
	add	rdx, rcx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -80[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -52[rbp]
	mov	DWORD PTR [rdx], eax
.L361:
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	add	rax, 1
	lea	rcx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rcx
	mov	eax, DWORD PTR [rax]
	cmp	edx, eax
	jge	.L362
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -52[rbp], eax
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -72[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*4]
	mov	rdx, QWORD PTR -112[rbp]
	add	rdx, rcx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -52[rbp]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -52[rbp], eax
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -72[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*4]
	mov	rdx, QWORD PTR -120[rbp]
	add	rdx, rcx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -52[rbp]
	mov	DWORD PTR [rdx], eax
.L362:
	mov	eax, DWORD PTR -72[rbp]
	add	eax, 1
	mov	DWORD PTR -76[rbp], eax
	mov	eax, DWORD PTR -80[rbp]
	mov	DWORD PTR -84[rbp], eax
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -48[rbp], eax
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -44[rbp], eax
.L363:
	add	DWORD PTR -76[rbp], 1
	mov	eax, DWORD PTR -76[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	cmp	DWORD PTR -48[rbp], eax
	jl	.L363
.L364:
	sub	DWORD PTR -84[rbp], 1
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	cmp	DWORD PTR -48[rbp], eax
	jg	.L364
	mov	eax, DWORD PTR -84[rbp]
	cmp	eax, DWORD PTR -76[rbp]
	jl	.L374
	mov	eax, DWORD PTR -76[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -52[rbp], eax
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -76[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*4]
	mov	rdx, QWORD PTR -112[rbp]
	add	rdx, rcx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -52[rbp]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -76[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -52[rbp], eax
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -76[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*4]
	mov	rdx, QWORD PTR -120[rbp]
	add	rdx, rcx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -52[rbp]
	mov	DWORD PTR [rdx], eax
	jmp	.L363
.L374:
	nop
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -72[rbp]
	movsx	rdx, edx
	add	rdx, 1
	lea	rcx, 0[0+rdx*4]
	mov	rdx, QWORD PTR -112[rbp]
	add	rdx, rcx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -48[rbp]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -72[rbp]
	movsx	rdx, edx
	add	rdx, 1
	lea	rcx, 0[0+rdx*4]
	mov	rdx, QWORD PTR -120[rbp]
	add	rdx, rcx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -44[rbp]
	mov	DWORD PTR [rdx], eax
	add	DWORD PTR -68[rbp], 2
	mov	eax, DWORD PTR -68[rbp]
	cmp	eax, DWORD PTR -64[rbp]
	jle	.L367
	lea	rdi, .LC72[rip]
	call	puts@PLT
	mov	edi, 0
	call	exit@PLT
.L367:
	mov	eax, DWORD PTR -80[rbp]
	sub	eax, DWORD PTR -76[rbp]
	lea	edx, 1[rax]
	mov	eax, DWORD PTR -84[rbp]
	sub	eax, DWORD PTR -72[rbp]
	cmp	edx, eax
	jl	.L368
	mov	rax, QWORD PTR -32[rbp]
	mov	edx, DWORD PTR -68[rbp]
	movsx	rdx, edx
	mov	ecx, DWORD PTR -80[rbp]
	mov	DWORD PTR [rax+rdx*4], ecx
	mov	eax, DWORD PTR -68[rbp]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -32[rbp]
	movsx	rdx, edx
	mov	ecx, DWORD PTR -76[rbp]
	mov	DWORD PTR [rax+rdx*4], ecx
	mov	eax, DWORD PTR -84[rbp]
	sub	eax, 1
	mov	DWORD PTR -80[rbp], eax
	jmp	.L369
.L368:
	mov	eax, DWORD PTR -84[rbp]
	lea	ecx, -1[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	edx, DWORD PTR -68[rbp]
	movsx	rdx, edx
	mov	DWORD PTR [rax+rdx*4], ecx
	mov	eax, DWORD PTR -68[rbp]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -32[rbp]
	movsx	rdx, edx
	mov	ecx, DWORD PTR -72[rbp]
	mov	DWORD PTR [rax+rdx*4], ecx
	mov	eax, DWORD PTR -76[rbp]
	mov	DWORD PTR -72[rbp], eax
	jmp	.L369
.L371:
	call	__stack_chk_fail@PLT
.L370:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE14:
	.size	ArraySort2_Int2, .-ArraySort2_Int2
	.globl	ArraySort_float2
	.type	ArraySort_float2, @function
ArraySort_float2:
.LFB15:
	.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, 120
	.cfi_offset 3, -24
	mov	DWORD PTR -100[rbp], edi
	mov	QWORD PTR -112[rbp], rsi
	mov	QWORD PTR -120[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -24[rbp], rax
	xor	eax, eax
	mov	rax, rsp
	mov	rsi, rax
	mov	eax, DWORD PTR -100[rbp]
	sub	eax, 1
	mov	DWORD PTR -80[rbp], eax
	mov	DWORD PTR -72[rbp], 0
	mov	DWORD PTR -68[rbp], 0
	mov	DWORD PTR -64[rbp], 50
	mov	eax, DWORD PTR -64[rbp]
	movsx	rdx, eax
	sub	rdx, 1
	mov	QWORD PTR -40[rbp], rdx
	movsx	rdx, eax
	mov	r8, rdx
	mov	r9d, 0
	movsx	rdx, eax
	mov	rcx, rdx
	mov	ebx, 0
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	eax, 16
	sub	rax, 1
	add	rax, rdx
	mov	ebx, 16
	mov	edx, 0
	div	rbx
	imul	rax, rax, 16
	mov	rcx, rax
	and	rcx, -4096
	mov	rdx, rsp
	sub	rdx, rcx
.L376:
	cmp	rsp, rdx
	je	.L377
	sub	rsp, 4096
	or	QWORD PTR 4088[rsp], 0
	jmp	.L376
.L377:
	mov	rdx, rax
	and	edx, 4095
	sub	rsp, rdx
	mov	rdx, rax
	and	edx, 4095
	test	rdx, rdx
	je	.L378
	and	eax, 4095
	sub	rax, 8
	add	rax, rsp
	or	QWORD PTR [rax], 0
.L378:
	mov	rax, rsp
	add	rax, 3
	shr	rax, 2
	sal	rax, 2
	mov	QWORD PTR -32[rbp], rax
	mov	DWORD PTR -60[rbp], 7
.L402:
	mov	eax, DWORD PTR -80[rbp]
	sub	eax, DWORD PTR -72[rbp]
	cmp	DWORD PTR -60[rbp], eax
	jle	.L379
	mov	eax, DWORD PTR -72[rbp]
	add	eax, 1
	mov	DWORD PTR -84[rbp], eax
	jmp	.L380
.L386:
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR [rax]
	movss	DWORD PTR -48[rbp], xmm0
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -44[rbp], eax
	mov	eax, DWORD PTR -84[rbp]
	sub	eax, 1
	mov	DWORD PTR -76[rbp], eax
	jmp	.L381
.L385:
	mov	eax, DWORD PTR -76[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR [rax]
	comiss	xmm0, DWORD PTR -48[rbp]
	jnb	.L409
	mov	eax, DWORD PTR -76[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -76[rbp]
	cdqe
	add	rax, 1
	lea	rcx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rcx
	movss	xmm0, DWORD PTR [rdx]
	movss	DWORD PTR [rax], xmm0
	mov	eax, DWORD PTR -76[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -76[rbp]
	movsx	rdx, edx
	add	rdx, 1
	lea	rcx, 0[0+rdx*4]
	mov	rdx, QWORD PTR -120[rbp]
	add	rdx, rcx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR [rdx], eax
	sub	DWORD PTR -76[rbp], 1
.L381:
	mov	eax, DWORD PTR -76[rbp]
	cmp	eax, DWORD PTR -72[rbp]
	jge	.L385
	jmp	.L384
.L409:
	nop
.L384:
	mov	eax, DWORD PTR -76[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR -48[rbp]
	movss	DWORD PTR [rax], xmm0
	mov	eax, DWORD PTR -76[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -44[rbp]
	mov	DWORD PTR [rdx], eax
	add	DWORD PTR -84[rbp], 1
.L380:
	mov	eax, DWORD PTR -84[rbp]
	cmp	eax, DWORD PTR -80[rbp]
	jle	.L386
	cmp	DWORD PTR -68[rbp], 0
	jne	.L387
	mov	rsp, rsi
	nop
	mov	rax, QWORD PTR -24[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L403
	jmp	.L407
.L387:
	mov	eax, DWORD PTR -68[rbp]
	lea	edx, -1[rax]
	mov	DWORD PTR -68[rbp], edx
	mov	rdx, QWORD PTR -32[rbp]
	cdqe
	mov	eax, DWORD PTR [rdx+rax*4]
	mov	DWORD PTR -80[rbp], eax
	mov	eax, DWORD PTR -68[rbp]
	lea	edx, -1[rax]
	mov	DWORD PTR -68[rbp], edx
	mov	rdx, QWORD PTR -32[rbp]
	cdqe
	mov	eax, DWORD PTR [rdx+rax*4]
	mov	DWORD PTR -72[rbp], eax
	jmp	.L402
.L379:
	mov	edx, DWORD PTR -72[rbp]
	mov	eax, DWORD PTR -80[rbp]
	add	eax, edx
	sar	eax
	mov	DWORD PTR -56[rbp], eax
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR [rax]
	movss	DWORD PTR -52[rbp], xmm0
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	lea	rcx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rcx
	movss	xmm0, DWORD PTR [rdx]
	movss	DWORD PTR [rax], xmm0
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR -52[rbp]
	movss	DWORD PTR [rax], xmm0
	mov	eax, DWORD PTR -56[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	pxor	xmm0, xmm0
	cvtsi2ss	xmm0, eax
	movss	DWORD PTR -52[rbp], xmm0
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -56[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*4]
	mov	rdx, QWORD PTR -120[rbp]
	add	rdx, rcx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rdx, rax
	movss	xmm0, DWORD PTR -52[rbp]
	cvttss2si	eax, xmm0
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	movss	xmm1, DWORD PTR [rax]
	mov	eax, DWORD PTR -80[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR [rax]
	comiss	xmm0, xmm1
	jbe	.L390
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR [rax]
	movss	DWORD PTR -52[rbp], xmm0
	mov	eax, DWORD PTR -80[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	lea	rcx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rcx
	movss	xmm0, DWORD PTR [rdx]
	movss	DWORD PTR [rax], xmm0
	mov	eax, DWORD PTR -80[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR -52[rbp]
	movss	DWORD PTR [rax], xmm0
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	pxor	xmm0, xmm0
	cvtsi2ss	xmm0, eax
	movss	DWORD PTR -52[rbp], xmm0
	mov	eax, DWORD PTR -80[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -72[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*4]
	mov	rdx, QWORD PTR -120[rbp]
	add	rdx, rcx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -80[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rdx, rax
	movss	xmm0, DWORD PTR -52[rbp]
	cvttss2si	eax, xmm0
	mov	DWORD PTR [rdx], eax
.L390:
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	movss	xmm1, DWORD PTR [rax]
	mov	eax, DWORD PTR -80[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR [rax]
	comiss	xmm0, xmm1
	jbe	.L392
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR [rax]
	movss	DWORD PTR -52[rbp], xmm0
	mov	eax, DWORD PTR -80[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	add	rax, 1
	lea	rcx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rcx
	movss	xmm0, DWORD PTR [rdx]
	movss	DWORD PTR [rax], xmm0
	mov	eax, DWORD PTR -80[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR -52[rbp]
	movss	DWORD PTR [rax], xmm0
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	pxor	xmm0, xmm0
	cvtsi2ss	xmm0, eax
	movss	DWORD PTR -52[rbp], xmm0
	mov	eax, DWORD PTR -80[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -72[rbp]
	movsx	rdx, edx
	add	rdx, 1
	lea	rcx, 0[0+rdx*4]
	mov	rdx, QWORD PTR -120[rbp]
	add	rdx, rcx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -80[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rdx, rax
	movss	xmm0, DWORD PTR -52[rbp]
	cvttss2si	eax, xmm0
	mov	DWORD PTR [rdx], eax
.L392:
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	movss	xmm1, DWORD PTR [rax]
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR [rax]
	comiss	xmm0, xmm1
	jbe	.L394
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR [rax]
	movss	DWORD PTR -52[rbp], xmm0
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	lea	rcx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rcx
	movss	xmm0, DWORD PTR [rdx]
	movss	DWORD PTR [rax], xmm0
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR -52[rbp]
	movss	DWORD PTR [rax], xmm0
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	pxor	xmm0, xmm0
	cvtsi2ss	xmm0, eax
	movss	DWORD PTR -52[rbp], xmm0
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -72[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*4]
	mov	rdx, QWORD PTR -120[rbp]
	add	rdx, rcx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rdx, rax
	movss	xmm0, DWORD PTR -52[rbp]
	cvttss2si	eax, xmm0
	mov	DWORD PTR [rdx], eax
.L394:
	mov	eax, DWORD PTR -72[rbp]
	add	eax, 1
	mov	DWORD PTR -76[rbp], eax
	mov	eax, DWORD PTR -80[rbp]
	mov	DWORD PTR -84[rbp], eax
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR [rax]
	movss	DWORD PTR -48[rbp], xmm0
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -44[rbp], eax
.L396:
	add	DWORD PTR -76[rbp], 1
	mov	eax, DWORD PTR -76[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR [rax]
	comiss	xmm0, DWORD PTR -48[rbp]
	ja	.L396
.L397:
	sub	DWORD PTR -84[rbp], 1
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	movss	xmm1, DWORD PTR [rax]
	movss	xmm0, DWORD PTR -48[rbp]
	comiss	xmm0, xmm1
	ja	.L397
	mov	eax, DWORD PTR -84[rbp]
	cmp	eax, DWORD PTR -76[rbp]
	jl	.L410
	mov	eax, DWORD PTR -76[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR [rax]
	movss	DWORD PTR -52[rbp], xmm0
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -76[rbp]
	cdqe
	lea	rcx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rcx
	movss	xmm0, DWORD PTR [rdx]
	movss	DWORD PTR [rax], xmm0
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR -52[rbp]
	movss	DWORD PTR [rax], xmm0
	mov	eax, DWORD PTR -76[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	pxor	xmm0, xmm0
	cvtsi2ss	xmm0, eax
	movss	DWORD PTR -52[rbp], xmm0
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -76[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*4]
	mov	rdx, QWORD PTR -120[rbp]
	add	rdx, rcx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rdx, rax
	movss	xmm0, DWORD PTR -52[rbp]
	cvttss2si	eax, xmm0
	mov	DWORD PTR [rdx], eax
	jmp	.L396
.L410:
	nop
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	add	rax, 1
	lea	rcx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rcx
	movss	xmm0, DWORD PTR [rdx]
	movss	DWORD PTR [rax], xmm0
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	movss	xmm0, DWORD PTR -48[rbp]
	movss	DWORD PTR [rax], xmm0
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -72[rbp]
	movsx	rdx, edx
	add	rdx, 1
	lea	rcx, 0[0+rdx*4]
	mov	rdx, QWORD PTR -120[rbp]
	add	rdx, rcx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -44[rbp]
	mov	DWORD PTR [rdx], eax
	add	DWORD PTR -68[rbp], 2
	mov	eax, DWORD PTR -68[rbp]
	cmp	eax, DWORD PTR -64[rbp]
	jle	.L400
	lea	rdi, .LC72[rip]
	call	puts@PLT
	mov	edi, 0
	call	exit@PLT
.L400:
	mov	eax, DWORD PTR -80[rbp]
	sub	eax, DWORD PTR -76[rbp]
	lea	edx, 1[rax]
	mov	eax, DWORD PTR -84[rbp]
	sub	eax, DWORD PTR -72[rbp]
	cmp	edx, eax
	jl	.L401
	mov	rax, QWORD PTR -32[rbp]
	mov	edx, DWORD PTR -68[rbp]
	movsx	rdx, edx
	mov	ecx, DWORD PTR -80[rbp]
	mov	DWORD PTR [rax+rdx*4], ecx
	mov	eax, DWORD PTR -68[rbp]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -32[rbp]
	movsx	rdx, edx
	mov	ecx, DWORD PTR -76[rbp]
	mov	DWORD PTR [rax+rdx*4], ecx
	mov	eax, DWORD PTR -84[rbp]
	sub	eax, 1
	mov	DWORD PTR -80[rbp], eax
	jmp	.L402
.L401:
	mov	eax, DWORD PTR -84[rbp]
	lea	ecx, -1[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	edx, DWORD PTR -68[rbp]
	movsx	rdx, edx
	mov	DWORD PTR [rax+rdx*4], ecx
	mov	eax, DWORD PTR -68[rbp]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -32[rbp]
	movsx	rdx, edx
	mov	ecx, DWORD PTR -72[rbp]
	mov	DWORD PTR [rax+rdx*4], ecx
	mov	eax, DWORD PTR -76[rbp]
	mov	DWORD PTR -72[rbp], eax
	jmp	.L402
.L407:
	call	__stack_chk_fail@PLT
.L403:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE15:
	.size	ArraySort_float2, .-ArraySort_float2
	.globl	ArraySort_Mix3
	.type	ArraySort_Mix3, @function
ArraySort_Mix3:
.LFB16:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	add	rsp, -128
	mov	DWORD PTR -100[rbp], edi
	mov	QWORD PTR -112[rbp], rsi
	mov	QWORD PTR -120[rbp], rdx
	mov	QWORD PTR -128[rbp], rcx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, rsp
	mov	rsi, rax
	mov	eax, DWORD PTR -100[rbp]
	sub	eax, 1
	mov	DWORD PTR -80[rbp], eax
	mov	DWORD PTR -72[rbp], 0
	mov	DWORD PTR -68[rbp], 0
	mov	DWORD PTR -64[rbp], 50
	mov	eax, DWORD PTR -64[rbp]
	movsx	rdx, eax
	sub	rdx, 1
	mov	QWORD PTR -48[rbp], rdx
	movsx	rdx, eax
	mov	r10, rdx
	mov	r11d, 0
	movsx	rdx, eax
	mov	r8, rdx
	mov	r9d, 0
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	eax, 16
	sub	rax, 1
	add	rax, rdx
	mov	edi, 16
	mov	edx, 0
	div	rdi
	imul	rax, rax, 16
	mov	rcx, rax
	and	rcx, -4096
	mov	rdx, rsp
	sub	rdx, rcx
.L412:
	cmp	rsp, rdx
	je	.L413
	sub	rsp, 4096
	or	QWORD PTR 4088[rsp], 0
	jmp	.L412
.L413:
	mov	rdx, rax
	and	edx, 4095
	sub	rsp, rdx
	mov	rdx, rax
	and	edx, 4095
	test	rdx, rdx
	je	.L414
	and	eax, 4095
	sub	rax, 8
	add	rax, rsp
	or	QWORD PTR [rax], 0
.L414:
	mov	rax, rsp
	add	rax, 3
	shr	rax, 2
	sal	rax, 2
	mov	QWORD PTR -40[rbp], rax
	mov	QWORD PTR -32[rbp], 7
.L434:
	mov	eax, DWORD PTR -80[rbp]
	sub	eax, DWORD PTR -72[rbp]
	cdqe
	cmp	QWORD PTR -32[rbp], rax
	jle	.L415
	mov	eax, DWORD PTR -72[rbp]
	add	eax, 1
	mov	DWORD PTR -84[rbp], eax
	jmp	.L416
.L421:
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -16[rbp], rax
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -56[rbp], eax
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -52[rbp], eax
	mov	eax, DWORD PTR -84[rbp]
	sub	eax, 1
	mov	DWORD PTR -76[rbp], eax
	jmp	.L417
.L420:
	mov	eax, DWORD PTR -76[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	cmp	QWORD PTR -16[rbp], rax
	jge	.L438
	mov	eax, DWORD PTR -76[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -76[rbp]
	movsx	rdx, edx
	add	rdx, 1
	lea	rcx, 0[0+rdx*8]
	mov	rdx, QWORD PTR -112[rbp]
	add	rdx, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR [rdx], rax
	mov	eax, DWORD PTR -76[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -76[rbp]
	movsx	rdx, edx
	add	rdx, 1
	lea	rcx, 0[0+rdx*4]
	mov	rdx, QWORD PTR -120[rbp]
	add	rdx, rcx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -76[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -76[rbp]
	movsx	rdx, edx
	add	rdx, 1
	lea	rcx, 0[0+rdx*4]
	mov	rdx, QWORD PTR -128[rbp]
	add	rdx, rcx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR [rdx], eax
	sub	DWORD PTR -76[rbp], 1
.L417:
	mov	eax, DWORD PTR -76[rbp]
	cmp	eax, DWORD PTR -72[rbp]
	jge	.L420
	jmp	.L419
.L438:
	nop
.L419:
	mov	eax, DWORD PTR -76[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -112[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR [rdx], rax
	mov	eax, DWORD PTR -76[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -56[rbp]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -76[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -128[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -52[rbp]
	mov	DWORD PTR [rdx], eax
	add	DWORD PTR -84[rbp], 1
.L416:
	mov	eax, DWORD PTR -84[rbp]
	cmp	eax, DWORD PTR -80[rbp]
	jle	.L421
	cmp	DWORD PTR -68[rbp], 0
	jne	.L422
	mov	rsp, rsi
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L435
	jmp	.L436
.L422:
	mov	eax, DWORD PTR -68[rbp]
	lea	edx, -1[rax]
	mov	DWORD PTR -68[rbp], edx
	mov	rdx, QWORD PTR -40[rbp]
	cdqe
	mov	eax, DWORD PTR [rdx+rax*4]
	mov	DWORD PTR -80[rbp], eax
	mov	eax, DWORD PTR -68[rbp]
	lea	edx, -1[rax]
	mov	DWORD PTR -68[rbp], edx
	mov	rdx, QWORD PTR -40[rbp]
	cdqe
	mov	eax, DWORD PTR [rdx+rax*4]
	mov	DWORD PTR -72[rbp], eax
	jmp	.L434
.L415:
	mov	edx, DWORD PTR -72[rbp]
	mov	eax, DWORD PTR -80[rbp]
	add	eax, edx
	sar	eax
	mov	DWORD PTR -60[rbp], eax
	mov	eax, DWORD PTR -60[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -24[rbp], rax
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -60[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*8]
	mov	rdx, QWORD PTR -112[rbp]
	add	rdx, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR [rdx], rax
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -112[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR [rdx], rax
	mov	eax, DWORD PTR -60[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	cdqe
	mov	QWORD PTR -24[rbp], rax
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -60[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*4]
	mov	rdx, QWORD PTR -120[rbp]
	add	rdx, rcx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR -24[rbp]
	mov	DWORD PTR [rax], edx
	mov	eax, DWORD PTR -60[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	cdqe
	mov	QWORD PTR -24[rbp], rax
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -60[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*4]
	mov	rdx, QWORD PTR -128[rbp]
	add	rdx, rcx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR -24[rbp]
	mov	DWORD PTR [rax], edx
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -80[rbp]
	cdqe
	lea	rcx, 0[0+rax*8]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	cmp	rdx, rax
	jle	.L425
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -24[rbp], rax
	mov	eax, DWORD PTR -80[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -72[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*8]
	mov	rdx, QWORD PTR -112[rbp]
	add	rdx, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR [rdx], rax
	mov	eax, DWORD PTR -80[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -112[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR [rdx], rax
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	cdqe
	mov	QWORD PTR -24[rbp], rax
	mov	eax, DWORD PTR -80[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -72[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*4]
	mov	rdx, QWORD PTR -120[rbp]
	add	rdx, rcx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -80[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR -24[rbp]
	mov	DWORD PTR [rax], edx
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	cdqe
	mov	QWORD PTR -24[rbp], rax
	mov	eax, DWORD PTR -80[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -72[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*4]
	mov	rdx, QWORD PTR -128[rbp]
	add	rdx, rcx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -80[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR -24[rbp]
	mov	DWORD PTR [rax], edx
.L425:
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -80[rbp]
	cdqe
	lea	rcx, 0[0+rax*8]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	cmp	rdx, rax
	jle	.L426
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -24[rbp], rax
	mov	eax, DWORD PTR -80[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -72[rbp]
	movsx	rdx, edx
	add	rdx, 1
	lea	rcx, 0[0+rdx*8]
	mov	rdx, QWORD PTR -112[rbp]
	add	rdx, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR [rdx], rax
	mov	eax, DWORD PTR -80[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -112[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR [rdx], rax
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	cdqe
	mov	QWORD PTR -24[rbp], rax
	mov	eax, DWORD PTR -80[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -72[rbp]
	movsx	rdx, edx
	add	rdx, 1
	lea	rcx, 0[0+rdx*4]
	mov	rdx, QWORD PTR -120[rbp]
	add	rdx, rcx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -80[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR -24[rbp]
	mov	DWORD PTR [rax], edx
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	cdqe
	mov	QWORD PTR -24[rbp], rax
	mov	eax, DWORD PTR -80[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -72[rbp]
	movsx	rdx, edx
	add	rdx, 1
	lea	rcx, 0[0+rdx*4]
	mov	rdx, QWORD PTR -128[rbp]
	add	rdx, rcx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -80[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR -24[rbp]
	mov	DWORD PTR [rax], edx
.L426:
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	add	rax, 1
	lea	rcx, 0[0+rax*8]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	cmp	rdx, rax
	jle	.L427
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -24[rbp], rax
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -72[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*8]
	mov	rdx, QWORD PTR -112[rbp]
	add	rdx, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR [rdx], rax
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -112[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR [rdx], rax
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	cdqe
	mov	QWORD PTR -24[rbp], rax
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -72[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*4]
	mov	rdx, QWORD PTR -120[rbp]
	add	rdx, rcx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR -24[rbp]
	mov	DWORD PTR [rax], edx
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	cdqe
	mov	QWORD PTR -24[rbp], rax
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -72[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*4]
	mov	rdx, QWORD PTR -128[rbp]
	add	rdx, rcx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR -24[rbp]
	mov	DWORD PTR [rax], edx
.L427:
	mov	eax, DWORD PTR -72[rbp]
	add	eax, 1
	mov	DWORD PTR -76[rbp], eax
	mov	eax, DWORD PTR -80[rbp]
	mov	DWORD PTR -84[rbp], eax
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -16[rbp], rax
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -56[rbp], eax
	mov	eax, DWORD PTR -72[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -52[rbp], eax
.L428:
	add	DWORD PTR -76[rbp], 1
	mov	eax, DWORD PTR -76[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	cmp	QWORD PTR -16[rbp], rax
	jg	.L428
.L429:
	sub	DWORD PTR -84[rbp], 1
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	cmp	QWORD PTR -16[rbp], rax
	jl	.L429
	mov	eax, DWORD PTR -84[rbp]
	cmp	eax, DWORD PTR -76[rbp]
	jl	.L439
	mov	eax, DWORD PTR -76[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -24[rbp], rax
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -76[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*8]
	mov	rdx, QWORD PTR -112[rbp]
	add	rdx, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR [rdx], rax
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -112[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR [rdx], rax
	mov	eax, DWORD PTR -76[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	cdqe
	mov	QWORD PTR -24[rbp], rax
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -76[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*4]
	mov	rdx, QWORD PTR -120[rbp]
	add	rdx, rcx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR -24[rbp]
	mov	DWORD PTR [rax], edx
	mov	eax, DWORD PTR -76[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	cdqe
	mov	QWORD PTR -24[rbp], rax
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -76[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*4]
	mov	rdx, QWORD PTR -128[rbp]
	add	rdx, rcx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR -24[rbp]
	mov	DWORD PTR [rax], edx
	jmp	.L428
.L439:
	nop
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -112[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -72[rbp]
	movsx	rdx, edx
	add	rdx, 1
	lea	rcx, 0[0+rdx*8]
	mov	rdx, QWORD PTR -112[rbp]
	add	rdx, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR [rdx], rax
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -112[rbp]
	add	rdx, rax
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR [rdx], rax
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -72[rbp]
	movsx	rdx, edx
	add	rdx, 1
	lea	rcx, 0[0+rdx*4]
	mov	rdx, QWORD PTR -120[rbp]
	add	rdx, rcx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -120[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -56[rbp]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -128[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -72[rbp]
	movsx	rdx, edx
	add	rdx, 1
	lea	rcx, 0[0+rdx*4]
	mov	rdx, QWORD PTR -128[rbp]
	add	rdx, rcx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -84[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -128[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -52[rbp]
	mov	DWORD PTR [rdx], eax
	add	DWORD PTR -68[rbp], 2
	mov	eax, DWORD PTR -68[rbp]
	cmp	eax, DWORD PTR -64[rbp]
	jle	.L432
	lea	rdi, .LC72[rip]
	call	puts@PLT
	mov	edi, 0
	call	exit@PLT
.L432:
	mov	eax, DWORD PTR -80[rbp]
	sub	eax, DWORD PTR -76[rbp]
	lea	edx, 1[rax]
	mov	eax, DWORD PTR -84[rbp]
	sub	eax, DWORD PTR -72[rbp]
	cmp	edx, eax
	jl	.L433
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR -68[rbp]
	movsx	rdx, edx
	mov	ecx, DWORD PTR -80[rbp]
	mov	DWORD PTR [rax+rdx*4], ecx
	mov	eax, DWORD PTR -68[rbp]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -40[rbp]
	movsx	rdx, edx
	mov	ecx, DWORD PTR -76[rbp]
	mov	DWORD PTR [rax+rdx*4], ecx
	mov	eax, DWORD PTR -84[rbp]
	sub	eax, 1
	mov	DWORD PTR -80[rbp], eax
	jmp	.L434
.L433:
	mov	eax, DWORD PTR -84[rbp]
	lea	ecx, -1[rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, DWORD PTR -68[rbp]
	movsx	rdx, edx
	mov	DWORD PTR [rax+rdx*4], ecx
	mov	eax, DWORD PTR -68[rbp]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -40[rbp]
	movsx	rdx, edx
	mov	ecx, DWORD PTR -72[rbp]
	mov	DWORD PTR [rax+rdx*4], ecx
	mov	eax, DWORD PTR -76[rbp]
	mov	DWORD PTR -72[rbp], eax
	jmp	.L434
.L436:
	call	__stack_chk_fail@PLT
.L435:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE16:
	.size	ArraySort_Mix3, .-ArraySort_Mix3
	.globl	s_swap
	.type	s_swap, @function
s_swap:
.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, 64
	mov	QWORD PTR -56[rbp], rdi
	mov	DWORD PTR -60[rbp], esi
	mov	DWORD PTR -64[rbp], edx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	eax, DWORD PTR -60[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	lea	rax, -48[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcpy@PLT
	mov	eax, DWORD PTR -64[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -60[rbp]
	cdqe
	lea	rcx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcpy@PLT
	mov	eax, DWORD PTR -64[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -56[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	lea	rdx, -48[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcpy@PLT
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L441
	call	__stack_chk_fail@PLT
.L441:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE17:
	.size	s_swap, .-s_swap
	.globl	ArraySort_String
	.type	ArraySort_String, @function
ArraySort_String:
.LFB18:
	.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, 152
	.cfi_offset 3, -24
	mov	DWORD PTR -132[rbp], edi
	mov	QWORD PTR -144[rbp], rsi
	mov	QWORD PTR -152[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -24[rbp], rax
	xor	eax, eax
	mov	rax, rsp
	mov	rbx, rax
	mov	eax, DWORD PTR -132[rbp]
	sub	eax, 1
	mov	DWORD PTR -116[rbp], eax
	mov	DWORD PTR -108[rbp], 0
	mov	DWORD PTR -104[rbp], 0
	mov	DWORD PTR -100[rbp], 50
	mov	eax, DWORD PTR -100[rbp]
	movsx	rdx, eax
	sub	rdx, 1
	mov	QWORD PTR -80[rbp], rdx
	movsx	rdx, eax
	mov	r10, rdx
	mov	r11d, 0
	movsx	rdx, eax
	mov	r8, rdx
	mov	r9d, 0
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	eax, 16
	sub	rax, 1
	add	rax, rdx
	mov	esi, 16
	mov	edx, 0
	div	rsi
	imul	rax, rax, 16
	mov	rcx, rax
	and	rcx, -4096
	mov	rdx, rsp
	sub	rdx, rcx
.L443:
	cmp	rsp, rdx
	je	.L444
	sub	rsp, 4096
	or	QWORD PTR 4088[rsp], 0
	jmp	.L443
.L444:
	mov	rdx, rax
	and	edx, 4095
	sub	rsp, rdx
	mov	rdx, rax
	and	edx, 4095
	test	rdx, rdx
	je	.L445
	and	eax, 4095
	sub	rax, 8
	add	rax, rsp
	or	QWORD PTR [rax], 0
.L445:
	mov	rax, rsp
	add	rax, 3
	shr	rax, 2
	sal	rax, 2
	mov	QWORD PTR -72[rbp], rax
	mov	DWORD PTR -96[rbp], 7
.L465:
	mov	eax, DWORD PTR -116[rbp]
	sub	eax, DWORD PTR -108[rbp]
	cmp	DWORD PTR -96[rbp], eax
	jle	.L446
	mov	eax, DWORD PTR -108[rbp]
	add	eax, 1
	mov	DWORD PTR -120[rbp], eax
	jmp	.L447
.L452:
	mov	eax, DWORD PTR -120[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -144[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	lea	rax, -64[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcpy@PLT
	mov	eax, DWORD PTR -120[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -84[rbp], eax
	mov	eax, DWORD PTR -120[rbp]
	sub	eax, 1
	mov	DWORD PTR -112[rbp], eax
	jmp	.L448
.L451:
	mov	eax, DWORD PTR -112[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -144[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	lea	rdx, -64[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jle	.L469
	mov	eax, DWORD PTR -112[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -144[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -112[rbp]
	cdqe
	add	rax, 1
	lea	rcx, 0[0+rax*8]
	mov	rax, QWORD PTR -144[rbp]
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcpy@PLT
	mov	eax, DWORD PTR -112[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -112[rbp]
	movsx	rdx, edx
	add	rdx, 1
	lea	rcx, 0[0+rdx*4]
	mov	rdx, QWORD PTR -152[rbp]
	add	rdx, rcx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR [rdx], eax
	sub	DWORD PTR -112[rbp], 1
.L448:
	mov	eax, DWORD PTR -112[rbp]
	cmp	eax, DWORD PTR -108[rbp]
	jge	.L451
	jmp	.L450
.L469:
	nop
.L450:
	mov	eax, DWORD PTR -112[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -144[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	lea	rdx, -64[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcpy@PLT
	mov	eax, DWORD PTR -112[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -152[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -84[rbp]
	mov	DWORD PTR [rdx], eax
	add	DWORD PTR -120[rbp], 1
.L447:
	mov	eax, DWORD PTR -120[rbp]
	cmp	eax, DWORD PTR -116[rbp]
	jle	.L452
	cmp	DWORD PTR -104[rbp], 0
	jne	.L453
	mov	rsp, rbx
	nop
	mov	rax, QWORD PTR -24[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L466
	jmp	.L467
.L453:
	mov	eax, DWORD PTR -104[rbp]
	lea	edx, -1[rax]
	mov	DWORD PTR -104[rbp], edx
	mov	rdx, QWORD PTR -72[rbp]
	cdqe
	mov	eax, DWORD PTR [rdx+rax*4]
	mov	DWORD PTR -116[rbp], eax
	mov	eax, DWORD PTR -104[rbp]
	lea	edx, -1[rax]
	mov	DWORD PTR -104[rbp], edx
	mov	rdx, QWORD PTR -72[rbp]
	cdqe
	mov	eax, DWORD PTR [rdx+rax*4]
	mov	DWORD PTR -108[rbp], eax
	jmp	.L465
.L446:
	mov	edx, DWORD PTR -108[rbp]
	mov	eax, DWORD PTR -116[rbp]
	add	eax, edx
	sar	eax
	mov	DWORD PTR -92[rbp], eax
	mov	eax, DWORD PTR -108[rbp]
	lea	edx, 1[rax]
	mov	ecx, DWORD PTR -92[rbp]
	mov	rax, QWORD PTR -144[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	s_swap
	mov	eax, DWORD PTR -92[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -88[rbp], eax
	mov	eax, DWORD PTR -108[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -92[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*4]
	mov	rdx, QWORD PTR -152[rbp]
	add	rdx, rcx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -108[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -152[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -88[rbp]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -116[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -144[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -108[rbp]
	cdqe
	lea	rcx, 0[0+rax*8]
	mov	rax, QWORD PTR -144[rbp]
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jle	.L456
	mov	edx, DWORD PTR -116[rbp]
	mov	ecx, DWORD PTR -108[rbp]
	mov	rax, QWORD PTR -144[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	s_swap
	mov	eax, DWORD PTR -108[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -88[rbp], eax
	mov	eax, DWORD PTR -116[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -108[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*4]
	mov	rdx, QWORD PTR -152[rbp]
	add	rdx, rcx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -116[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -152[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -88[rbp]
	mov	DWORD PTR [rdx], eax
.L456:
	mov	eax, DWORD PTR -116[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -144[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -108[rbp]
	cdqe
	add	rax, 1
	lea	rcx, 0[0+rax*8]
	mov	rax, QWORD PTR -144[rbp]
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jle	.L457
	mov	eax, DWORD PTR -108[rbp]
	lea	ecx, 1[rax]
	mov	edx, DWORD PTR -116[rbp]
	mov	rax, QWORD PTR -144[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	s_swap
	mov	eax, DWORD PTR -108[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -88[rbp], eax
	mov	eax, DWORD PTR -116[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -108[rbp]
	movsx	rdx, edx
	add	rdx, 1
	lea	rcx, 0[0+rdx*4]
	mov	rdx, QWORD PTR -152[rbp]
	add	rdx, rcx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -116[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -152[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -88[rbp]
	mov	DWORD PTR [rdx], eax
.L457:
	mov	eax, DWORD PTR -108[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -144[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -108[rbp]
	cdqe
	lea	rcx, 0[0+rax*8]
	mov	rax, QWORD PTR -144[rbp]
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jle	.L458
	mov	eax, DWORD PTR -108[rbp]
	lea	edx, 1[rax]
	mov	ecx, DWORD PTR -108[rbp]
	mov	rax, QWORD PTR -144[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	s_swap
	mov	eax, DWORD PTR -108[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -88[rbp], eax
	mov	eax, DWORD PTR -108[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -108[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*4]
	mov	rdx, QWORD PTR -152[rbp]
	add	rdx, rcx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -108[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -152[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -88[rbp]
	mov	DWORD PTR [rdx], eax
.L458:
	mov	eax, DWORD PTR -108[rbp]
	add	eax, 1
	mov	DWORD PTR -112[rbp], eax
	mov	eax, DWORD PTR -116[rbp]
	mov	DWORD PTR -120[rbp], eax
	mov	eax, DWORD PTR -108[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -144[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	lea	rax, -64[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcpy@PLT
	mov	eax, DWORD PTR -108[rbp]
	cdqe
	add	rax, 1
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -84[rbp], eax
.L459:
	add	DWORD PTR -112[rbp], 1
	mov	eax, DWORD PTR -112[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -144[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	lea	rdx, -64[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	js	.L459
.L460:
	sub	DWORD PTR -120[rbp], 1
	mov	eax, DWORD PTR -120[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -144[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	lea	rdx, -64[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jg	.L460
	mov	eax, DWORD PTR -120[rbp]
	cmp	eax, DWORD PTR -112[rbp]
	jl	.L470
	mov	edx, DWORD PTR -120[rbp]
	mov	ecx, DWORD PTR -112[rbp]
	mov	rax, QWORD PTR -144[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	s_swap
	mov	eax, DWORD PTR -112[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -88[rbp], eax
	mov	eax, DWORD PTR -120[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -112[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*4]
	mov	rdx, QWORD PTR -152[rbp]
	add	rdx, rcx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -120[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -152[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -88[rbp]
	mov	DWORD PTR [rdx], eax
	jmp	.L459
.L470:
	nop
	mov	eax, DWORD PTR -120[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -144[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	eax, DWORD PTR -108[rbp]
	cdqe
	add	rax, 1
	lea	rcx, 0[0+rax*8]
	mov	rax, QWORD PTR -144[rbp]
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcpy@PLT
	mov	eax, DWORD PTR -120[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -144[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	lea	rdx, -64[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcpy@PLT
	mov	eax, DWORD PTR -120[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -108[rbp]
	movsx	rdx, edx
	add	rdx, 1
	lea	rcx, 0[0+rdx*4]
	mov	rdx, QWORD PTR -152[rbp]
	add	rdx, rcx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR [rdx], eax
	mov	eax, DWORD PTR -120[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -152[rbp]
	add	rdx, rax
	mov	eax, DWORD PTR -84[rbp]
	mov	DWORD PTR [rdx], eax
	add	DWORD PTR -104[rbp], 2
	mov	eax, DWORD PTR -104[rbp]
	cmp	eax, DWORD PTR -100[rbp]
	jle	.L463
	lea	rdi, .LC72[rip]
	call	puts@PLT
	mov	edi, 0
	call	exit@PLT
.L463:
	mov	eax, DWORD PTR -116[rbp]
	sub	eax, DWORD PTR -112[rbp]
	lea	edx, 1[rax]
	mov	eax, DWORD PTR -120[rbp]
	sub	eax, DWORD PTR -108[rbp]
	cmp	edx, eax
	jl	.L464
	mov	rax, QWORD PTR -72[rbp]
	mov	edx, DWORD PTR -104[rbp]
	movsx	rdx, edx
	mov	ecx, DWORD PTR -116[rbp]
	mov	DWORD PTR [rax+rdx*4], ecx
	mov	eax, DWORD PTR -104[rbp]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -72[rbp]
	movsx	rdx, edx
	mov	ecx, DWORD PTR -112[rbp]
	mov	DWORD PTR [rax+rdx*4], ecx
	mov	eax, DWORD PTR -120[rbp]
	sub	eax, 1
	mov	DWORD PTR -116[rbp], eax
	jmp	.L465
.L464:
	mov	eax, DWORD PTR -120[rbp]
	lea	ecx, -1[rax]
	mov	rax, QWORD PTR -72[rbp]
	mov	edx, DWORD PTR -104[rbp]
	movsx	rdx, edx
	mov	DWORD PTR [rax+rdx*4], ecx
	mov	eax, DWORD PTR -104[rbp]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -72[rbp]
	movsx	rdx, edx
	mov	ecx, DWORD PTR -108[rbp]
	mov	DWORD PTR [rax+rdx*4], ecx
	mov	eax, DWORD PTR -112[rbp]
	mov	DWORD PTR -108[rbp], eax
	jmp	.L465
.L467:
	call	__stack_chk_fail@PLT
.L466:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE18:
	.size	ArraySort_String, .-ArraySort_String
	.section	.rodata
	.align 8
.LC73:
	.string	"error imatrix: calloc error No. 1 "
	.align 8
.LC74:
	.string	"error imatrix: calloc error No. 2 "
	.text
	.globl	imatrix
	.type	imatrix, @function
imatrix:
.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, 72
	.cfi_offset 3, -24
	mov	QWORD PTR -56[rbp], rdi
	mov	QWORD PTR -64[rbp], rsi
	mov	QWORD PTR -72[rbp], rdx
	mov	QWORD PTR -80[rbp], rcx
	mov	rax, QWORD PTR -64[rbp]
	sub	rax, QWORD PTR -56[rbp]
	add	rax, 1
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -80[rbp]
	sub	rax, QWORD PTR -72[rbp]
	add	rax, 1
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	esi, 8
	mov	rdi, rax
	call	calloc@PLT
	mov	QWORD PTR -24[rbp], rax
	cmp	QWORD PTR -24[rbp], 0
	jne	.L472
	lea	rdi, .LC73[rip]
	call	puts@PLT
	mov	eax, 0
	jmp	.L473
.L472:
	mov	rax, QWORD PTR -56[rbp]
	sal	rax, 3
	neg	rax
	add	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	imul	rax, QWORD PTR -32[rbp]
	mov	rdx, rax
	mov	rax, QWORD PTR -56[rbp]
	lea	rcx, 0[0+rax*8]
	mov	rax, QWORD PTR -24[rbp]
	lea	rbx, [rcx+rax]
	mov	esi, 4
	mov	rdi, rdx
	call	calloc@PLT
	mov	QWORD PTR [rbx], rax
	mov	rax, QWORD PTR [rbx]
	test	rax, rax
	jne	.L474
	lea	rdi, .LC74[rip]
	call	puts@PLT
	mov	eax, 0
	jmp	.L473
.L474:
	mov	rax, QWORD PTR -56[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR -56[rbp]
	lea	rcx, 0[0+rdx*8]
	mov	rdx, QWORD PTR -24[rbp]
	add	rdx, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -56[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	sal	rax, 2
	neg	rax
	mov	rcx, rax
	mov	rax, QWORD PTR -56[rbp]
	lea	rsi, 0[0+rax*8]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rsi
	add	rdx, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 1
	mov	QWORD PTR -48[rbp], rax
	jmp	.L475
.L476:
	mov	rax, QWORD PTR -48[rbp]
	sal	rax, 3
	lea	rdx, -8[rax]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -32[rbp]
	lea	rcx, 0[0+rax*4]
	mov	rax, QWORD PTR -48[rbp]
	lea	rsi, 0[0+rax*8]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rsi
	add	rdx, rcx
	mov	QWORD PTR [rax], rdx
	add	QWORD PTR -48[rbp], 1
.L475:
	mov	rax, QWORD PTR -48[rbp]
	cmp	rax, QWORD PTR -64[rbp]
	jle	.L476
	mov	rax, QWORD PTR -24[rbp]
.L473:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE19:
	.size	imatrix, .-imatrix
	.section	.rodata
	.align 8
.LC75:
	.string	"error cmatrix: calloc error No. 1 "
	.align 8
.LC76:
	.string	"error cmatrix: calloc error No. 2 "
	.text
	.globl	cmatrix
	.type	cmatrix, @function
cmatrix:
.LFB20:
	.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 -56[rbp], rdi
	mov	QWORD PTR -64[rbp], rsi
	mov	QWORD PTR -72[rbp], rdx
	mov	QWORD PTR -80[rbp], rcx
	mov	rax, QWORD PTR -64[rbp]
	sub	rax, QWORD PTR -56[rbp]
	add	rax, 1
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -80[rbp]
	sub	rax, QWORD PTR -72[rbp]
	add	rax, 1
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	esi, 8
	mov	rdi, rax
	call	calloc@PLT
	mov	QWORD PTR -24[rbp], rax
	cmp	QWORD PTR -24[rbp], 0
	jne	.L478
	lea	rdi, .LC75[rip]
	call	puts@PLT
	mov	eax, 0
	jmp	.L479
.L478:
	mov	rax, QWORD PTR -56[rbp]
	sal	rax, 3
	neg	rax
	add	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	imul	rax, QWORD PTR -32[rbp]
	mov	rdx, rax
	mov	rax, QWORD PTR -56[rbp]
	lea	rcx, 0[0+rax*8]
	mov	rax, QWORD PTR -24[rbp]
	lea	rbx, [rcx+rax]
	mov	esi, 1
	mov	rdi, rdx
	call	calloc@PLT
	mov	QWORD PTR [rbx], rax
	mov	rax, QWORD PTR [rbx]
	test	rax, rax
	jne	.L480
	lea	rdi, .LC76[rip]
	call	puts@PLT
	mov	eax, 0
	jmp	.L479
.L480:
	mov	rax, QWORD PTR -56[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR -56[rbp]
	lea	rcx, 0[0+rdx*8]
	mov	rdx, QWORD PTR -24[rbp]
	add	rdx, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -56[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	neg	rax
	mov	rcx, rax
	mov	rax, QWORD PTR -56[rbp]
	lea	rsi, 0[0+rax*8]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rsi
	add	rdx, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 1
	mov	QWORD PTR -48[rbp], rax
	jmp	.L481
.L482:
	mov	rax, QWORD PTR -48[rbp]
	sal	rax, 3
	lea	rdx, -8[rax]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	rcx, QWORD PTR [rax]
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -48[rbp]
	lea	rsi, 0[0+rax*8]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rsi
	add	rdx, rcx
	mov	QWORD PTR [rax], rdx
	add	QWORD PTR -48[rbp], 1
.L481:
	mov	rax, QWORD PTR -48[rbp]
	cmp	rax, QWORD PTR -64[rbp]
	jle	.L482
	mov	rax, QWORD PTR -24[rbp]
.L479:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE20:
	.size	cmatrix, .-cmatrix
	.section	.rodata
	.align 8
.LC77:
	.string	"error fmatrix: calloc error No. 1 "
	.align 8
.LC78:
	.string	"error fmatrix: calloc error No. 2 "
	.text
	.globl	fmatrix
	.type	fmatrix, @function
fmatrix:
.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, 72
	.cfi_offset 3, -24
	mov	QWORD PTR -56[rbp], rdi
	mov	QWORD PTR -64[rbp], rsi
	mov	QWORD PTR -72[rbp], rdx
	mov	QWORD PTR -80[rbp], rcx
	mov	rax, QWORD PTR -64[rbp]
	sub	rax, QWORD PTR -56[rbp]
	add	rax, 1
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -80[rbp]
	sub	rax, QWORD PTR -72[rbp]
	add	rax, 1
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	esi, 8
	mov	rdi, rax
	call	calloc@PLT
	mov	QWORD PTR -24[rbp], rax
	cmp	QWORD PTR -24[rbp], 0
	jne	.L484
	lea	rdi, .LC77[rip]
	call	puts@PLT
	mov	eax, 0
	jmp	.L485
.L484:
	mov	rax, QWORD PTR -56[rbp]
	sal	rax, 3
	neg	rax
	add	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	imul	rax, QWORD PTR -32[rbp]
	mov	rdx, rax
	mov	rax, QWORD PTR -56[rbp]
	lea	rcx, 0[0+rax*8]
	mov	rax, QWORD PTR -24[rbp]
	lea	rbx, [rcx+rax]
	mov	esi, 4
	mov	rdi, rdx
	call	calloc@PLT
	mov	QWORD PTR [rbx], rax
	mov	rax, QWORD PTR [rbx]
	test	rax, rax
	jne	.L486
	lea	rdi, .LC78[rip]
	call	puts@PLT
	mov	eax, 0
	jmp	.L485
.L486:
	mov	rax, QWORD PTR -56[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR -56[rbp]
	lea	rcx, 0[0+rdx*8]
	mov	rdx, QWORD PTR -24[rbp]
	add	rdx, rcx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -56[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -56[rbp]
	sal	rax, 2
	neg	rax
	mov	rcx, rax
	mov	rax, QWORD PTR -56[rbp]
	lea	rsi, 0[0+rax*8]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rsi
	add	rdx, rcx
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -56[rbp]
	add	rax, 1
	mov	QWORD PTR -48[rbp], rax
	jmp	.L487
.L488:
	mov	rax, QWORD PTR -48[rbp]
	sal	rax, 3
	lea	rdx, -8[rax]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -32[rbp]
	lea	rcx, 0[0+rax*4]
	mov	rax, QWORD PTR -48[rbp]
	lea	rsi, 0[0+rax*8]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rsi
	add	rdx, rcx
	mov	QWORD PTR [rax], rdx
	add	QWORD PTR -48[rbp], 1
.L487:
	mov	rax, QWORD PTR -48[rbp]
	cmp	rax, QWORD PTR -64[rbp]
	jle	.L488
	mov	rax, QWORD PTR -24[rbp]
.L485:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE21:
	.size	fmatrix, .-fmatrix
	.section	.rodata
	.align 4
.LC64:
	.long	1092616192
	.align 4
.LC65:
	.long	1065353216
	.align 4
.LC66:
	.long	1148846080
	.align 8
.LC67:
	.long	0
	.long	1072693248
	.align 4
.LC71:
	.long	1120403456
	.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	"48574305.c"
	.text
	.local	S_Name
	.comm	S_Name,4,4
	.local	R_Name
	.comm	R_Name,4,4
	.local	hit_rddex
	.comm	hit_rddex,4,4
	.local	hit_score
	.comm	hit_score,4,4
	.local	hit_locus1
	.comm	hit_locus1,4,4
	.local	superlength
	.comm	superlength,4,4
	.local	hit_matlocu1
	.comm	hit_matlocu1,4,4
	.local	hit_matlocu2
	.comm	hit_matlocu2,4,4
	.local	hit_matindex
	.comm	hit_matindex,4,4
	.local	ctg_length
	.comm	ctg_length,4,4
	.local	hit_index
	.comm	hit_index,4,4
	.local	hit_masks
	.comm	hit_masks,4,4
	.local	hit_linkdex1
	.comm	hit_linkdex1,4,4
	.local	hit_linkdex2
	.comm	hit_linkdex2,4,4
	.local	IMOD
	.comm	IMOD,4,4
	.local	nContig
	.comm	nContig,4,4
	.data
	.align	2
	.type	file_flag, %object
	.size	file_flag, 4
file_flag:
	.word	1
	.align	2
	.type	min_len, %object
	.size	min_len, 4
min_len:
	.word	100000
	.align	2
	.type	max_ctg, %object
	.size	max_ctg, 4
max_ctg:
	.word	1000000
	.align	2
	.type	n_depth, %object
	.size	n_depth, 4
n_depth:
	.word	60
	.align	2
	.type	m_score, %object
	.size	m_score, 4
m_score:
	.word	1137180672
	.align	2
	.type	i_getindex, %object
	.size	i_getindex, 4
i_getindex:
	.word	2
	.section	.rodata
	.align	2
.LC0:
	.ascii	"Usage: %s <input_readplace_file> <output_readplace_"
	.ascii	"file>\012\000"
	.align	2
.LC1:
	.ascii	"-mod\000"
	.align	2
.LC2:
	.ascii	"%d\000"
	.align	2
.LC3:
	.ascii	"-depth\000"
	.align	2
.LC4:
	.ascii	"-len\000"
	.align	2
.LC5:
	.ascii	"-score\000"
	.align	2
.LC6:
	.ascii	"%f\000"
	.align	2
.LC7:
	.ascii	"-index\000"
	.align	2
.LC8:
	.ascii	"-file\000"
	.align	2
.LC9:
	.ascii	"ps aux | grep scaffHiC_PCRdup3; date\000"
	.align	2
.LC10:
	.ascii	"r\000"
	.align	2
.LC11:
	.ascii	"ERROR main:: args \000"
	.align	2
.LC12:
	.ascii	"fmate: calloc - insert\000"
	.align	2
.LC13:
	.ascii	"fmate: calloc - hit_score\000"
	.align	2
.LC14:
	.ascii	"fmate: calloc - hit_locus1\000"
	.align	2
.LC15:
	.ascii	"fmate: calloc - superlength\000"
	.align	2
.LC16:
	.ascii	"fmate: calloc - hit_index\000"
	.align	2
.LC17:
	.ascii	"fmate: calloc - hit_masks\000"
	.align	2
.LC18:
	.ascii	"reads: %d %s\012\000"
	.align	2
.LC19:
	.ascii	"ERROR main:: reads group file \000"
	.align	2
.LC20:
	.ascii	"%s %s %d %d %s %d\000"
	.align	2
.LC21:
	.ascii	"fmate: calloc - ctg_length\000"
	.align	2
.LC22:
	.ascii	"%s\000"
	.align	2
.LC23:
	.ascii	"Job finished for %d reads!\012\000"
	.align	2
.LC24:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	main
	.syntax unified
	.arm
	.fpu softvfp
	.type	main, %function
main:
	@ args = 0, pretend = 0, frame = 2176
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #2192
	str	r0, [fp, #-2176]
	str	r1, [fp, #-2180]
	ldr	r3, .L39
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-2008]
	sub	r3, fp, #2000
	sub	r3, r3, #4
	ldr	r2, .L39+4
	mov	r1, #0
	mov	r0, r3
	bl	memset
	ldr	r3, [fp, #-2176]
	cmp	r3, #1
	bgt	.L2
	ldr	r3, [fp, #-2180]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L39+8
	bl	printf
	mov	r0, #1
	bl	exit
.L2:
	mov	r3, #0
	str	r3, [fp, #-2156]
	mov	r3, #1
	str	r3, [fp, #-2164]
	mov	r3, #1
	str	r3, [fp, #-2172]
	b	.L3
.L10:
	ldr	r3, [fp, #-2172]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2180]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r1, .L39+12
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L4
	ldr	r3, [fp, #-2172]
	add	r3, r3, #1
	str	r3, [fp, #-2172]
	ldr	r3, [fp, #-2172]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2180]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, .L39+16
	ldr	r1, .L39+20
	mov	r0, r3
	bl	__isoc99_sscanf
	ldr	r3, [fp, #-2164]
	add	r3, r3, #2
	str	r3, [fp, #-2164]
	b	.L5
.L4:
	ldr	r3, [fp, #-2172]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2180]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r1, .L39+24
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L6
	ldr	r3, [fp, #-2172]
	add	r3, r3, #1
	str	r3, [fp, #-2172]
	ldr	r3, [fp, #-2172]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2180]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, .L39+28
	ldr	r1, .L39+20
	mov	r0, r3
	bl	__isoc99_sscanf
	ldr	r3, [fp, #-2164]
	add	r3, r3, #2
	str	r3, [fp, #-2164]
	b	.L5
.L6:
	ldr	r3, [fp, #-2172]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2180]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r1, .L39+32
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L7
	ldr	r3, [fp, #-2172]
	add	r3, r3, #1
	str	r3, [fp, #-2172]
	ldr	r3, [fp, #-2172]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2180]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, .L39+36
	ldr	r1, .L39+20
	mov	r0, r3
	bl	__isoc99_sscanf
	ldr	r3, [fp, #-2164]
	add	r3, r3, #2
	str	r3, [fp, #-2164]
	b	.L5
.L7:
	ldr	r3, [fp, #-2172]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2180]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r1, .L39+40
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L8
	ldr	r3, [fp, #-2172]
	add	r3, r3, #1
	str	r3, [fp, #-2172]
	ldr	r3, [fp, #-2172]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2180]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, .L39+44
	ldr	r1, .L39+48
	mov	r0, r3
	bl	__isoc99_sscanf
	ldr	r3, [fp, #-2164]
	add	r3, r3, #2
	str	r3, [fp, #-2164]
	b	.L5
.L8:
	ldr	r3, [fp, #-2172]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2180]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r1, .L39+52
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L9
	ldr	r3, [fp, #-2172]
	add	r3, r3, #1
	str	r3, [fp, #-2172]
	ldr	r3, [fp, #-2172]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2180]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, .L39+56
	ldr	r1, .L39+20
	mov	r0, r3
	bl	__isoc99_sscanf
	ldr	r3, [fp, #-2164]
	add	r3, r3, #2
	str	r3, [fp, #-2164]
	b	.L5
.L9:
	ldr	r3, [fp, #-2172]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2180]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r1, .L39+60
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L5
	ldr	r3, [fp, #-2172]
	add	r3, r3, #1
	str	r3, [fp, #-2172]
	ldr	r3, [fp, #-2172]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2180]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, .L39+64
	ldr	r1, .L39+20
	mov	r0, r3
	bl	__isoc99_sscanf
	ldr	r3, [fp, #-2164]
	add	r3, r3, #2
	str	r3, [fp, #-2164]
.L5:
	ldr	r3, [fp, #-2172]
	add	r3, r3, #1
	str	r3, [fp, #-2172]
.L3:
	ldr	r2, [fp, #-2172]
	ldr	r3, [fp, #-2176]
	cmp	r2, r3
	blt	.L10
	ldr	r3, .L39+68
	ldr	r3, [r3]
	mov	r0, r3
	bl	fflush
	ldr	r0, .L39+72
	bl	system
	mov	r3, #0
	str	r3, [fp, #-2160]
	ldr	r3, [fp, #-2164]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2180]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r1, .L39+76
	mov	r0, r3
	bl	fopen
	str	r0, [fp, #-2152]
	ldr	r3, [fp, #-2152]
	cmp	r3, #0
	bne	.L12
	ldr	r0, .L39+80
	bl	puts
	mov	r0, #1
	bl	exit
.L15:
	sub	r3, fp, #2000
	sub	r3, r3, #4
	sub	r3, r3, #4
	ldr	r2, [fp, #-2152]
	mov	r1, #2000
	mov	r0, r3
	bl	fgets
	ldr	r0, [fp, #-2152]
	bl	feof
	mov	r3, r0
	cmp	r3, #0
	bne	.L37
	ldr	r3, [fp, #-2160]
	add	r3, r3, #1
	str	r3, [fp, #-2160]
.L12:
	ldr	r0, [fp, #-2152]
	bl	feof
	mov	r3, r0
	cmp	r3, #0
	beq	.L15
	b	.L14
.L37:
	nop
.L14:
	ldr	r0, [fp, #-2152]
	bl	fclose
	ldr	r3, [fp, #-2160]
	lsl	r3, r3, #1
	ldr	r2, .L39+84
	str	r3, [r2]
	ldr	r3, [fp, #-2160]
	mov	r1, #4
	mov	r0, r3
	bl	calloc
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L39+88
	str	r2, [r3]
	ldr	r3, .L39+88
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L16
	ldr	r0, .L39+92
	bl	puts
	mov	r0, #1
	bl	exit
.L16:
	ldr	r3, [fp, #-2160]
	mov	r1, #4
	mov	r0, r3
	bl	calloc
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L39+96
	str	r2, [r3]
	ldr	r3, .L39+96
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L17
	ldr	r0, .L39+100
	bl	puts
	mov	r0, #1
	bl	exit
.L17:
	ldr	r3, [fp, #-2160]
	mov	r1, #4
	mov	r0, r3
	bl	calloc
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L39+104
	str	r2, [r3]
	ldr	r3, .L39+104
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L18
	ldr	r0, .L39+108
	bl	puts
	mov	r0, #1
	bl	exit
.L18:
	ldr	r3, [fp, #-2160]
	mov	r1, #4
	mov	r0, r3
	bl	calloc
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L39+112
	str	r2, [r3]
	ldr	r3, .L39+112
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L19
	ldr	r0, .L39+116
	bl	puts
	mov	r0, #1
	bl	exit
.L19:
	ldr	r3, [fp, #-2160]
	mov	r1, #4
	mov	r0, r3
	bl	calloc
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L39+120
	str	r2, [r3]
	ldr	r3, .L39+120
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L20
	ldr	r0, .L39+124
	bl	puts
	mov	r0, #1
	bl	exit
.L20:
	ldr	r3, [fp, #-2160]
	mov	r1, #4
	mov	r0, r3
	bl	calloc
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L39+128
	str	r2, [r3]
	ldr	r3, .L39+128
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L21
	ldr	r0, .L39+132
	bl	puts
	mov	r0, #1
	bl	exit
.L21:
	ldr	r3, [fp, #-2160]
	str	r3, [fp, #-2156]
	ldr	r3, [fp, #-2160]
	add	r1, r3, #10
	mov	r3, #40
	mov	r2, #0
	mov	r0, #0
	bl	cmatrix
	mov	r3, r0
	ldr	r2, .L39+136
	str	r3, [r2]
	mov	r3, #0
	str	r3, [fp, #-2148]
	mov	r3, #0
	str	r3, [fp, #-2144]
	ldr	r3, [fp, #-2164]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2180]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r1, [fp, #-2160]
	ldr	r0, .L39+140
	bl	printf
	ldr	r3, [fp, #-2164]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2180]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r1, .L39+76
	mov	r0, r3
	bl	fopen
	str	r0, [fp, #-2152]
	ldr	r3, [fp, #-2152]
	cmp	r3, #0
	bne	.L22
	ldr	r0, .L39+144
	bl	puts
	mov	r0, #1
	bl	exit
.L22:
	mov	r3, #0
	str	r3, [fp, #-2172]
	ldr	r3, .L39+148
	mov	r2, #0
	str	r2, [r3]
	b	.L23
.L25:
	sub	r3, fp, #2064
	sub	r3, r3, #4
	str	r3, [fp, #-2140]
	sub	r3, fp, #2064
	sub	r3, r3, #4
	mov	r1, #95
	mov	r0, r3
	bl	strrchr
	str	r0, [fp, #-2136]
	ldr	r3, [fp, #-2136]
	add	r3, r3, #1
	mov	r0, r3
	bl	atoi
	str	r0, [fp, #-2132]
	ldr	r3, .L39+148
	ldr	r3, [r3]
	ldr	r2, [fp, #-2132]
	cmp	r2, r3
	ble	.L24
	ldr	r2, .L39+148
	ldr	r3, [fp, #-2132]
	str	r3, [r2]
.L24:
	ldr	r3, .L39+120
	ldr	r2, [r3]
	ldr	r3, [fp, #-2172]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-2132]
	str	r2, [r3]
	ldr	r3, [fp, #-2172]
	add	r3, r3, #1
	str	r3, [fp, #-2172]
.L23:
	ldr	r3, .L39+136
	ldr	r2, [r3]
	ldr	r3, [fp, #-2172]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	ip, [r3]
	ldr	r3, .L39+104
	ldr	r2, [r3]
	ldr	r3, [fp, #-2172]
	lsl	r3, r3, #2
	add	r2, r2, r3
	ldr	r3, .L39+96
	ldr	r1, [r3]
	ldr	r3, [fp, #-2172]
	lsl	r3, r3, #2
	add	r1, r1, r3
	ldr	r3, .L39+112
	ldr	r0, [r3]
	ldr	r3, [fp, #-2172]
	lsl	r3, r3, #2
	add	r3, r0, r3
	sub	r0, fp, #2064
	sub	r0, r0, #4
	str	r3, [sp, #12]
	sub	r3, fp, #2112
	sub	r3, r3, #4
	sub	r3, r3, #12
	str	r3, [sp, #8]
	str	r1, [sp, #4]
	str	r2, [sp]
	mov	r3, r0
	mov	r2, ip
	ldr	r1, .L39+152
	ldr	r0, [fp, #-2152]
	bl	__isoc99_fscanf
	mov	r3, r0
	cmn	r3, #1
	bne	.L25
	ldr	r0, [fp, #-2152]
	bl	fclose
	ldr	r3, [fp, #-2172]
	str	r3, [fp, #-2144]
	ldr	r3, .L39+148
	ldr	r3, [r3]
	add	r3, r3, #2000
	mov	r1, #4
	mov	r0, r3
	bl	calloc
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L39+156
	str	r2, [r3]
	ldr	r3, .L39+156
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L26
	ldr	r0, .L39+160
	bl	puts
	mov	r0, #1
	bl	exit
.L26:
	mov	r3, #0
	str	r3, [fp, #-2168]
	b	.L27
.L28:
	ldr	r3, .L39+112
	ldr	r2, [r3]
	ldr	r3, [fp, #-2172]
	lsl	r3, r3, #2
	add	r2, r2, r3
	ldr	r3, .L39+156
	ldr	r1, [r3]
	ldr	r3, .L39+120
	ldr	r0, [r3]
	ldr	r3, [fp, #-2168]
	lsl	r3, r3, #2
	add	r3, r0, r3
	ldr	r3, [r3]
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-2168]
	add	r3, r3, #1
	str	r3, [fp, #-2168]
.L27:
	ldr	r2, [fp, #-2168]
	ldr	r3, [fp, #-2144]
	cmp	r2, r3
	blt	.L28
	ldr	r2, [fp, #-2144]
	ldr	r1, [fp, #-2164]
	ldr	r0, [fp, #-2180]
	bl	Matrix_Process
	mov	r3, #0
	str	r3, [fp, #-2160]
	ldr	r3, [fp, #-2164]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2180]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r1, .L39+76
	mov	r0, r3
	bl	fopen
	str	r0, [fp, #-2152]
	ldr	r3, [fp, #-2152]
	cmp	r3, #0
	bne	.L30
	ldr	r0, .L39+80
	bl	puts
	mov	r0, #1
	bl	exit
.L34:
	sub	r3, fp, #2000
	sub	r3, r3, #4
	sub	r3, r3, #4
	ldr	r2, [fp, #-2152]
	mov	r1, #2000
	mov	r0, r3
	bl	fgets
	ldr	r0, [fp, #-2152]
	bl	feof
	mov	r3, r0
	cmp	r3, #0
	bne	.L38
	ldr	r3, .L39+96
	ldr	r2, [r3]
	ldr	r3, [fp, #-2160]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L33
	sub	r3, fp, #2000
	sub	r3, r3, #4
	sub	r3, r3, #4
	mov	r1, r3
	ldr	r0, .L39+164
	bl	printf
.L33:
	ldr	r3, [fp, #-2160]
	add	r3, r3, #1
	str	r3, [fp, #-2160]
.L30:
	ldr	r0, [fp, #-2152]
	bl	feof
	mov	r3, r0
	cmp	r3, #0
	beq	.L34
	b	.L32
.L38:
	nop
.L32:
	ldr	r0, [fp, #-2152]
	bl	fclose
	ldr	r1, [fp, #-2156]
	ldr	r0, .L39+168
	bl	printf
	mov	r3, #0
	ldr	r2, .L39
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L36
	bl	__stack_chk_fail
.L36:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L40:
	.align	2
.L39:
	.word	.LC24
	.word	1996
	.word	.LC0
	.word	.LC1
	.word	IMOD
	.word	.LC2
	.word	.LC3
	.word	n_depth
	.word	.LC4
	.word	min_len
	.word	.LC5
	.word	m_score
	.word	.LC6
	.word	.LC7
	.word	i_getindex
	.word	.LC8
	.word	file_flag
	.word	stdout
	.word	.LC9
	.word	.LC10
	.word	.LC11
	.word	nContig
	.word	hit_rddex
	.word	.LC12
	.word	hit_score
	.word	.LC13
	.word	hit_locus1
	.word	.LC14
	.word	superlength
	.word	.LC15
	.word	hit_index
	.word	.LC16
	.word	hit_masks
	.word	.LC17
	.word	R_Name
	.word	.LC18
	.word	.LC19
	.word	max_ctg
	.word	.LC20
	.word	ctg_length
	.word	.LC21
	.word	.LC22
	.word	.LC23
	.size	main, .-main
	.section	.rodata
	.align	2
.LC25:
	.ascii	"Memory: %ld %d %d\012\000"
	.align	2
.LC26:
	.ascii	"fmate: calloc - ctg_idex1\000"
	.align	2
.LC27:
	.ascii	"fmate: calloc - ctg_idex2\000"
	.align	2
.LC28:
	.ascii	"fmate: calloc - ctg_mapp1\000"
	.align	2
.LC29:
	.ascii	"fmate: calloc - ctg_mapp2\000"
	.align	2
.LC30:
	.ascii	"fmate: calloc - ctg_part1\000"
	.align	2
.LC31:
	.ascii	"fmate: calloc - ctg_part2\000"
	.align	2
.LC32:
	.ascii	"fmate: calloc - ctg_score1\000"
	.align	2
.LC33:
	.ascii	"fmate: calloc - ctg_score2\000"
	.align	2
.LC34:
	.ascii	"fmate: calloc - ctg_join1\000"
	.align	2
.LC35:
	.ascii	"fmate: calloc - ctg_join2\000"
	.align	2
.LC36:
	.ascii	"fmate: calloc - ctg_mask\000"
	.align	2
.LC37:
	.ascii	"fmate: calloc - ctg_oodex1\000"
	.align	2
.LC38:
	.ascii	"fmate: calloc - ctg_oodex2\000"
	.align	2
.LC39:
	.ascii	"fmate: calloc - ctg_rcoo1\000"
	.align	2
.LC40:
	.ascii	"fmate: calloc - ctg_rcoo2\000"
	.align	2
.LC41:
	.ascii	"fmate: calloc - ctg_hitnum\000"
	.align	2
.LC42:
	.ascii	"fmate: calloc - ctg_pattnum\000"
	.align	2
.LC43:
	.ascii	"fmate: calloc - ctg_output\000"
	.align	2
.LC44:
	.ascii	"fmate: calloc - ctg_used\000"
	.align	2
.LC45:
	.ascii	"fmate: calloc - ctg_links\000"
	.align	2
.LC46:
	.ascii	"fmate: calloc - ctg_rcindex\000"
	.align	2
.LC47:
	.ascii	"fmate: calloc - ctg_outrc\000"
	.align	2
.LC48:
	.ascii	"fmate: calloc - ctg_list\000"
	.align	2
.LC49:
	.ascii	"fmate: calloc - ctg_mpindex\000"
	.align	2
.LC50:
	.ascii	"fmate: calloc - Dis_index\000"
	.align	2
.LC51:
	.ascii	"fmate: calloc - link_locus\000"
	.align	2
.LC52:
	.ascii	"fmate: calloc - head_locus\000"
	.align	2
.LC53:
	.ascii	"fmate: calloc - link_locu2\000"
	.align	2
.LC54:
	.ascii	"fmate: calloc - link_locu3\000"
	.align	2
.LC55:
	.ascii	"contigs: %d %d %d\012\000"
	.align	2
.LC56:
	.ascii	"www: %s %d\012\000"
	.align	2
.LC57:
	.ascii	"contigs2: %d %d %d\012\000"
	.align	2
.LC58:
	.ascii	"fmate: calloc - hit_matlocus\000"
	.align	2
.LC59:
	.ascii	"fmate: calloc - hit_matindex\000"
	.align	2
.LC60:
	.ascii	"fmate: calloc - hit_linkdex1\000"
	.align	2
.LC61:
	.ascii	"fmate: calloc - hit_linkdex2\000"
	.align	2
.LC62:
	.ascii	"scaffold: %d %d %d\012\000"
	.align	2
.LC63:
	.ascii	"matrix: %d %d\012\000"
	.global	__aeabi_i2f
	.global	__aeabi_fdiv
	.global	__aeabi_fcmpgt
	.global	__aeabi_fmul
	.global	__aeabi_f2d
	.global	__aeabi_dsub
	.global	__aeabi_dmul
	.global	__aeabi_d2f
	.align	2
.LC64:
	.ascii	"ERROR main:: alignment file 2 \000"
	.align	2
.LC65:
	.ascii	"w\000"
	.align	2
.LC66:
	.ascii	"Masked reads %d\012\000"
	.align	2
.LC67:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	Matrix_Process
	.syntax unified
	.arm
	.fpu softvfp
	.type	Matrix_Process, %function
Matrix_Process:
	@ args = 0, pretend = 0, frame = 2392
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, fp, lr}
	add	fp, sp, #12
	sub	sp, sp, #2400
	str	r0, [fp, #-2392]
	str	r1, [fp, #-2396]
	str	r2, [fp, #-2400]
	ldr	r3, .L148
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	ldr	r3, .L148+4
	ldr	r3, [r3]
	str	r3, [fp, #-2296]
	ldr	r3, .L148+8
	ldr	r3, [r3]
	add	r3, r3, #10
	str	r3, [fp, #-2292]
	ldr	r3, [fp, #-2292]
	mov	r2, r3
	mul	r2, r3, r2
	mov	r3, r2
	str	r3, [fp, #-2288]
	ldr	r3, .L148+8
	ldr	r2, [r3]
	ldr	r3, [fp, #-2292]
	ldr	r1, [fp, #-2288]
	ldr	r0, .L148+12
	bl	printf
	ldr	r3, [fp, #-2292]
	mov	r1, #4
	mov	r0, r3
	bl	calloc
	mov	r3, r0
	str	r3, [fp, #-2284]
	ldr	r3, [fp, #-2284]
	cmp	r3, #0
	bne	.L42
	ldr	r0, .L148+16
	bl	puts
	mov	r0, #1
	bl	exit
.L42:
	ldr	r3, [fp, #-2292]
	mov	r1, #4
	mov	r0, r3
	bl	calloc
	mov	r3, r0
	str	r3, [fp, #-2280]
	ldr	r3, [fp, #-2280]
	cmp	r3, #0
	bne	.L43
	ldr	r0, .L148+20
	bl	puts
	mov	r0, #1
	bl	exit
.L43:
	ldr	r3, [fp, #-2292]
	mov	r1, #4
	mov	r0, r3
	bl	calloc
	mov	r3, r0
	str	r3, [fp, #-2276]
	ldr	r3, [fp, #-2276]
	cmp	r3, #0
	bne	.L44
	ldr	r0, .L148+24
	bl	puts
	mov	r0, #1
	bl	exit
.L44:
	ldr	r3, [fp, #-2292]
	mov	r1, #4
	mov	r0, r3
	bl	calloc
	mov	r3, r0
	str	r3, [fp, #-2272]
	ldr	r3, [fp, #-2272]
	cmp	r3, #0
	bne	.L45
	ldr	r0, .L148+24
	bl	puts
	mov	r0, #1
	bl	exit
.L45:
	ldr	r3, [fp, #-2292]
	mov	r1, #4
	mov	r0, r3
	bl	calloc
	mov	r3, r0
	str	r3, [fp, #-2268]
	ldr	r3, [fp, #-2268]
	cmp	r3, #0
	bne	.L46
	ldr	r0, .L148+28
	bl	puts
	mov	r0, #1
	bl	exit
.L46:
	ldr	r3, [fp, #-2292]
	mov	r1, #4
	mov	r0, r3
	bl	calloc
	mov	r3, r0
	str	r3, [fp, #-2264]
	ldr	r3, [fp, #-2264]
	cmp	r3, #0
	bne	.L47
	ldr	r0, .L148+32
	bl	puts
	mov	r0, #1
	bl	exit
.L47:
	ldr	r3, [fp, #-2292]
	mov	r1, #4
	mov	r0, r3
	bl	calloc
	mov	r3, r0
	str	r3, [fp, #-2260]
	ldr	r3, [fp, #-2260]
	cmp	r3, #0
	bne	.L48
	ldr	r0, .L148+36
	bl	puts
	mov	r0, #1
	bl	exit
.L48:
	ldr	r3, [fp, #-2292]
	mov	r1, #4
	mov	r0, r3
	bl	calloc
	mov	r3, r0
	str	r3, [fp, #-2256]
	ldr	r3, [fp, #-2256]
	cmp	r3, #0
	bne	.L49
	ldr	r0, .L148+40
	bl	puts
	mov	r0, #1
	bl	exit
.L49:
	ldr	r3, [fp, #-2292]
	mov	r1, #4
	mov	r0, r3
	bl	calloc
	mov	r3, r0
	str	r3, [fp, #-2252]
	ldr	r3, [fp, #-2252]
	cmp	r3, #0
	bne	.L50
	ldr	r0, .L148+44
	bl	puts
	mov	r0, #1
	bl	exit
.L50:
	ldr	r3, [fp, #-2292]
	mov	r1, #4
	mov	r0, r3
	bl	calloc
	mov	r3, r0
	str	r3, [fp, #-2248]
	ldr	r3, [fp, #-2248]
	cmp	r3, #0
	bne	.L51
	ldr	r0, .L148+48
	bl	puts
	mov	r0, #1
	bl	exit
.L51:
	ldr	r3, [fp, #-2292]
	mov	r1, #4
	mov	r0, r3
	bl	calloc
	mov	r3, r0
	str	r3, [fp, #-2244]
	ldr	r3, [fp, #-2244]
	cmp	r3, #0
	bne	.L52
	ldr	r0, .L148+52
	bl	puts
	mov	r0, #1
	bl	exit
.L52:
	ldr	r3, [fp, #-2292]
	mov	r1, #4
	mov	r0, r3
	bl	calloc
	mov	r3, r0
	str	r3, [fp, #-2240]
	ldr	r3, [fp, #-2240]
	cmp	r3, #0
	bne	.L53
	ldr	r0, .L148+56
	bl	puts
	mov	r0, #1
	bl	exit
.L53:
	ldr	r3, [fp, #-2292]
	mov	r1, #4
	mov	r0, r3
	bl	calloc
	mov	r3, r0
	str	r3, [fp, #-2236]
	ldr	r3, [fp, #-2236]
	cmp	r3, #0
	bne	.L54
	ldr	r0, .L148+60
	bl	puts
	mov	r0, #1
	bl	exit
.L54:
	ldr	r3, [fp, #-2292]
	mov	r1, #4
	mov	r0, r3
	bl	calloc
	mov	r3, r0
	str	r3, [fp, #-2232]
	ldr	r3, [fp, #-2232]
	cmp	r3, #0
	bne	.L55
	ldr	r0, .L148+64
	bl	puts
	mov	r0, #1
	bl	exit
.L55:
	ldr	r3, [fp, #-2292]
	mov	r1, #4
	mov	r0, r3
	bl	calloc
	mov	r3, r0
	str	r3, [fp, #-2228]
	ldr	r3, [fp, #-2228]
	cmp	r3, #0
	bne	.L56
	ldr	r0, .L148+68
	bl	puts
	mov	r0, #1
	bl	exit
.L56:
	ldr	r3, [fp, #-2292]
	mov	r1, #4
	mov	r0, r3
	bl	calloc
	mov	r3, r0
	str	r3, [fp, #-2224]
	ldr	r3, [fp, #-2224]
	cmp	r3, #0
	bne	.L57
	ldr	r0, .L148+72
	bl	puts
	mov	r0, #1
	bl	exit
.L57:
	ldr	r3, [fp, #-2292]
	mov	r1, #4
	mov	r0, r3
	bl	calloc
	mov	r3, r0
	str	r3, [fp, #-2220]
	ldr	r3, [fp, #-2220]
	cmp	r3, #0
	bne	.L58
	ldr	r0, .L148+76
	bl	puts
	mov	r0, #1
	bl	exit
.L58:
	ldr	r3, [fp, #-2292]
	mov	r1, #4
	mov	r0, r3
	bl	calloc
	mov	r3, r0
	str	r3, [fp, #-2216]
	ldr	r3, [fp, #-2216]
	cmp	r3, #0
	bne	.L59
	ldr	r0, .L148+80
	bl	puts
	mov	r0, #1
	bl	exit
.L59:
	ldr	r3, [fp, #-2292]
	mov	r1, #4
	mov	r0, r3
	bl	calloc
	mov	r3, r0
	str	r3, [fp, #-2212]
	ldr	r3, [fp, #-2212]
	cmp	r3, #0
	bne	.L60
	ldr	r0, .L148+84
	bl	puts
	mov	r0, #1
	bl	exit
.L60:
	ldr	r3, [fp, #-2292]
	mov	r1, #4
	mov	r0, r3
	bl	calloc
	mov	r3, r0
	str	r3, [fp, #-2208]
	ldr	r3, [fp, #-2208]
	cmp	r3, #0
	bne	.L61
	ldr	r0, .L148+88
	bl	puts
	mov	r0, #1
	bl	exit
.L61:
	ldr	r3, [fp, #-2292]
	mov	r1, #4
	mov	r0, r3
	bl	calloc
	mov	r3, r0
	str	r3, [fp, #-2204]
	ldr	r3, [fp, #-2204]
	cmp	r3, #0
	bne	.L62
	ldr	r0, .L148+92
	bl	puts
	mov	r0, #1
	bl	exit
.L62:
	ldr	r3, [fp, #-2292]
	mov	r1, #4
	mov	r0, r3
	bl	calloc
	mov	r3, r0
	str	r3, [fp, #-2200]
	ldr	r3, [fp, #-2200]
	cmp	r3, #0
	bne	.L63
	ldr	r0, .L148+96
	bl	puts
	mov	r0, #1
	bl	exit
.L63:
	ldr	r3, [fp, #-2292]
	mov	r1, #4
	mov	r0, r3
	bl	calloc
	mov	r3, r0
	str	r3, [fp, #-2196]
	ldr	r3, [fp, #-2196]
	cmp	r3, #0
	bne	.L64
	ldr	r0, .L148+100
	bl	puts
	mov	r0, #1
	bl	exit
.L64:
	ldr	r3, [fp, #-2292]
	mov	r1, #4
	mov	r0, r3
	bl	calloc
	mov	r3, r0
	str	r3, [fp, #-2192]
	ldr	r3, [fp, #-2192]
	cmp	r3, #0
	bne	.L65
	ldr	r0, .L148+104
	bl	puts
	mov	r0, #1
	bl	exit
.L65:
	ldr	r3, [fp, #-2292]
	mov	r1, #4
	mov	r0, r3
	bl	calloc
	mov	r3, r0
	str	r3, [fp, #-2188]
	ldr	r3, [fp, #-2188]
	cmp	r3, #0
	bne	.L66
	ldr	r0, .L148+108
	bl	puts
	mov	r0, #1
	bl	exit
.L66:
	ldr	r3, [fp, #-2292]
	mov	r1, #4
	mov	r0, r3
	bl	calloc
	mov	r3, r0
	str	r3, [fp, #-2184]
	ldr	r3, [fp, #-2184]
	cmp	r3, #0
	bne	.L67
	ldr	r0, .L148+112
	bl	puts
	mov	r0, #1
	bl	exit
.L67:
	ldr	r3, [fp, #-2292]
	mov	r1, #4
	mov	r0, r3
	bl	calloc
	mov	r3, r0
	str	r3, [fp, #-2180]
	ldr	r3, [fp, #-2180]
	cmp	r3, #0
	bne	.L68
	ldr	r0, .L148+112
	bl	puts
	mov	r0, #1
	bl	exit
.L68:
	ldr	r3, [fp, #-2292]
	mov	r1, #4
	mov	r0, r3
	bl	calloc
	mov	r3, r0
	str	r3, [fp, #-2176]
	ldr	r3, [fp, #-2176]
	cmp	r3, #0
	bne	.L69
	ldr	r0, .L148+112
	bl	puts
	mov	r0, #1
	bl	exit
.L69:
	ldr	r3, [fp, #-2288]
	mov	r1, #4
	mov	r0, r3
	bl	calloc
	mov	r3, r0
	str	r3, [fp, #-2172]
	ldr	r3, [fp, #-2172]
	cmp	r3, #0
	bne	.L70
	ldr	r0, .L148+116
	bl	puts
	mov	r0, #1
	bl	exit
.L70:
	ldr	r3, [fp, #-2288]
	mov	r1, #4
	mov	r0, r3
	bl	calloc
	mov	r3, r0
	str	r3, [fp, #-2168]
	ldr	r3, [fp, #-2168]
	cmp	r3, #0
	bne	.L71
	ldr	r0, .L148+120
	bl	puts
	mov	r0, #1
	bl	exit
.L71:
	ldr	r3, [fp, #-2288]
	mov	r1, #4
	mov	r0, r3
	bl	calloc
	mov	r3, r0
	str	r3, [fp, #-2164]
	ldr	r3, [fp, #-2164]
	cmp	r3, #0
	bne	.L72
	ldr	r0, .L148+124
	bl	puts
	mov	r0, #1
	bl	exit
.L72:
	ldr	r3, [fp, #-2288]
	mov	r1, #4
	mov	r0, r3
	bl	calloc
	mov	r3, r0
	str	r3, [fp, #-2160]
	ldr	r3, [fp, #-2160]
	cmp	r3, #0
	bne	.L73
	ldr	r0, .L148+128
	bl	puts
	mov	r0, #1
	bl	exit
.L73:
	ldr	r3, .L148+8
	ldr	r2, [r3]
	ldr	r3, [fp, #-2400]
	ldr	r1, [fp, #-2292]
	ldr	r0, .L148+132
	bl	printf
	ldr	r3, .L148+136
	ldr	r3, [r3]
	str	r3, [fp, #-2156]
	ldr	r3, [fp, #-2292]
	mov	r2, #0
	ldr	r1, [fp, #-2292]
	mov	r0, #0
	bl	imatrix
	str	r0, [fp, #-2152]
	ldr	r3, [fp, #-2292]
	mov	r2, #0
	ldr	r1, [fp, #-2292]
	mov	r0, #0
	bl	imatrix
	str	r0, [fp, #-2148]
	ldr	r3, [fp, #-2292]
	mov	r2, #0
	ldr	r1, [fp, #-2292]
	mov	r0, #0
	bl	imatrix
	str	r0, [fp, #-2144]
	ldr	r3, [fp, #-2292]
	mov	r2, #0
	ldr	r1, [fp, #-2292]
	mov	r0, #0
	bl	imatrix
	str	r0, [fp, #-2140]
	ldr	r3, [fp, #-2292]
	mov	r2, #0
	ldr	r1, [fp, #-2292]
	mov	r0, #0
	bl	imatrix
	str	r0, [fp, #-2136]
	ldr	r3, [fp, #-2292]
	mov	r2, #0
	ldr	r1, [fp, #-2292]
	mov	r0, #0
	bl	imatrix
	str	r0, [fp, #-2132]
	ldr	r3, [fp, #-2292]
	mov	r2, #0
	ldr	r1, [fp, #-2292]
	mov	r0, #0
	bl	imatrix
	str	r0, [fp, #-2128]
	ldr	r3, [fp, #-2292]
	mov	r2, #0
	ldr	r1, [fp, #-2292]
	mov	r0, #0
	bl	imatrix
	str	r0, [fp, #-2124]
	ldr	r3, [fp, #-2292]
	mov	r2, #0
	ldr	r1, [fp, #-2292]
	mov	r0, #0
	bl	imatrix
	str	r0, [fp, #-2120]
	ldr	r3, [fp, #-2292]
	mov	r2, #0
	ldr	r1, [fp, #-2292]
	mov	r0, #0
	bl	imatrix
	str	r0, [fp, #-2116]
	mov	r3, #0
	str	r3, [fp, #-2112]
	mov	r3, #0
	str	r3, [fp, #-2108]
	mov	r3, #0
	str	r3, [fp, #-2104]
	mov	r3, #0
	str	r3, [fp, #-2388]
	b	.L74
.L86:
	mov	r3, #0
	str	r3, [fp, #-2368]
	ldr	r3, [fp, #-2388]
	add	r3, r3, #1
	str	r3, [fp, #-2384]
	b	.L75
.L78:
	ldr	r3, .L148+172
	ldr	r2, [r3]
	ldr	r3, [fp, #-2388]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r0, [r3]
	ldr	r3, .L148+172
	ldr	r2, [r3]
	ldr	r3, [fp, #-2384]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r1, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L76
	ldr	r3, [fp, #-2384]
	add	r3, r3, #1
	str	r3, [fp, #-2384]
	b	.L75
.L76:
	mov	r3, #1
	str	r3, [fp, #-2368]
.L75:
	ldr	r2, [fp, #-2384]
	ldr	r3, [fp, #-2400]
	cmp	r2, r3
	bge	.L77
	ldr	r3, [fp, #-2368]
	cmp	r3, #0
	beq	.L78
.L77:
	ldr	r2, [fp, #-2384]
	ldr	r3, [fp, #-2388]
	sub	r3, r2, r3
	cmp	r3, #1
	ble	.L79
	ldr	r3, .L148+164
	ldr	r2, [r3]
	ldr	r3, [fp, #-2388]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, .L148+164
	ldr	r1, [r3]
	ldr	r3, [fp, #-2388]
	add	r3, r3, #1
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3]
	cmp	r2, r3
	bge	.L80
	ldr	r3, .L148+164
	ldr	r2, [r3]
	ldr	r3, [fp, #-2388]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-2364]
	ldr	r3, .L148+164
	ldr	r2, [r3]
	ldr	r3, [fp, #-2388]
	add	r3, r3, #1
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-2360]
	ldr	r3, .L148+176
	ldr	r2, [r3]
	ldr	r3, [fp, #-2388]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	lsr	r2, r3, #31
	add	r3, r2, r3
	asr	r3, r3, #1
	str	r3, [fp, #-2356]
	ldr	r3, .L148+176
	ldr	r2, [r3]
	ldr	r3, [fp, #-2388]
	add	r3, r3, #1
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	lsr	r2, r3, #31
	add	r3, r2, r3
	asr	r3, r3, #1
	str	r3, [fp, #-2352]
	ldr	r3, .L148+168
	ldr	r2, [r3]
	ldr	r3, [fp, #-2388]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-2348]
	ldr	r3, .L148+168
	ldr	r2, [r3]
	ldr	r3, [fp, #-2388]
	add	r3, r3, #1
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-2344]
	b	.L81
.L80:
	ldr	r3, .L148+164
	ldr	r2, [r3]
	ldr	r3, [fp, #-2388]
	add	r3, r3, #1
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-2364]
	ldr	r3, .L148+164
	ldr	r2, [r3]
	ldr	r3, [fp, #-2388]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-2360]
	ldr	r3, .L148+176
	ldr	r2, [r3]
	ldr	r3, [fp, #-2388]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	lsr	r2, r3, #31
	add	r3, r2, r3
	asr	r3, r3, #1
	str	r3, [fp, #-2352]
	ldr	r3, .L148+176
	ldr	r2, [r3]
	ldr	r3, [fp, #-2388]
	add	r3, r3, #1
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	lsr	r2, r3, #31
	add	r3, r2, r3
	asr	r3, r3, #1
	str	r3, [fp, #-2356]
	ldr	r3, .L148+168
	ldr	r2, [r3]
	ldr	r3, [fp, #-2388]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-2344]
	ldr	r3, .L148+168
	ldr	r2, [r3]
	ldr	r3, [fp, #-2388]
	add	r3, r3, #1
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-2348]
.L81:
	ldr	r2, [fp, #-2348]
	ldr	r3, [fp, #-2356]
	cmp	r2, r3
	bge	.L82
	ldr	r2, [fp, #-2344]
	ldr	r3, [fp, #-2352]
	cmp	r2, r3
	bge	.L83
	ldr	r3, [fp, #-2364]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2132]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-2360]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	add	r2, r2, #1
	str	r2, [r3]
	b	.L84
.L83:
	ldr	r3, [fp, #-2364]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2124]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-2360]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	add	r2, r2, #1
	str	r2, [r3]
	b	.L84
.L82:
	ldr	r2, [fp, #-2344]
	ldr	r3, [fp, #-2352]
	cmp	r2, r3
	bge	.L85
	ldr	r3, [fp, #-2364]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2128]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-2360]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	add	r2, r2, #1
	str	r2, [r3]
	b	.L84
.L85:
	ldr	r3, [fp, #-2364]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2120]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-2360]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	add	r2, r2, #1
	str	r2, [r3]
	b	.L84
.L79:
	ldr	r3, .L148+172
	ldr	r2, [r3]
	ldr	r3, [fp, #-2388]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r3, .L148+176
	ldr	r2, [r3]
	ldr	r3, [fp, #-2388]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r0, .L148+180
	bl	printf
.L84:
	ldr	r3, [fp, #-2384]
	sub	r3, r3, #1
	str	r3, [fp, #-2388]
	ldr	r3, [fp, #-2388]
	add	r3, r3, #1
	str	r3, [fp, #-2388]
.L74:
	ldr	r2, [fp, #-2388]
	ldr	r3, [fp, #-2400]
	cmp	r2, r3
	blt	.L86
	mov	r3, #0
	str	r3, [fp, #-2388]
	b	.L87
.L91:
	mov	r3, #0
	str	r3, [fp, #-2384]
	b	.L88
.L90:
	ldr	r2, [fp, #-2384]
	ldr	r3, [fp, #-2388]
	cmp	r2, r3
	ble	.L89
	ldr	r3, [fp, #-2388]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2132]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-2384]
	lsl	r3, r3, #2
	add	r2, r2, r3
	ldr	r3, [fp, #-2384]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-2132]
	add	r3, r1, r3
	ldr	r1, [r3]
	ldr	r3, [fp, #-2388]
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-2388]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2124]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-2384]
	lsl	r3, r3, #2
	add	r2, r2, r3
	ldr	r3, [fp, #-2384]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-2128]
	add	r3, r1, r3
	ldr	r1, [r3]
	ldr	r3, [fp, #-2388]
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-2388]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2128]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-2384]
	lsl	r3, r3, #2
	add	r2, r2, r3
	ldr	r3, [fp, #-2384]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-2124]
	add	r3, r1, r3
	ldr	r1, [r3]
	ldr	r3, [fp, #-2388]
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-2388]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2120]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-2384]
	lsl	r3, r3, #2
	add	r2, r2, r3
	ldr	r3, [fp, #-2384]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-2120]
	add	r3, r1, r3
	ldr	r1, [r3]
	ldr	r3, [fp, #-2388]
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
.L89:
	ldr	r3, [fp, #-2384]
	add	r3, r3, #1
	str	r3, [fp, #-2384]
.L88:
	ldr	r3, .L148+8
	ldr	r3, [r3]
	ldr	r2, [fp, #-2384]
	cmp	r2, r3
	blt	.L90
	ldr	r3, [fp, #-2388]
	add	r3, r3, #1
	str	r3, [fp, #-2388]
.L87:
	ldr	r3, .L148+8
	ldr	r3, [r3]
	ldr	r2, [fp, #-2388]
	cmp	r2, r3
	blt	.L91
	mov	r3, #0
	str	r3, [fp, #-2388]
	b	.L92
.L95:
	mov	r3, #0
	str	r3, [fp, #-2384]
	b	.L93
.L94:
	ldr	r3, [fp, #-2388]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2132]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-2384]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-2388]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-2128]
	add	r3, r1, r3
	ldr	r1, [r3]
	ldr	r3, [fp, #-2384]
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3]
	add	r2, r2, r3
	ldr	r3, [fp, #-2388]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-2124]
	add	r3, r1, r3
	ldr	r1, [r3]
	ldr	r3, [fp, #-2384]
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3]
	add	r1, r2, r3
	ldr	r3, [fp, #-2388]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2120]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-2384]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-2388]
	lsl	r3, r3, #2
	ldr	r0, [fp, #-2136]
	add	r3, r0, r3
	ldr	r0, [r3]
	ldr	r3, [fp, #-2384]
	lsl	r3, r3, #2
	add	r3, r0, r3
	add	r2, r1, r2
	str	r2, [r3]
	ldr	r3, [fp, #-2384]
	add	r3, r3, #1
	str	r3, [fp, #-2384]
.L93:
	ldr	r3, .L148+8
	ldr	r3, [r3]
	ldr	r2, [fp, #-2384]
	cmp	r2, r3
	blt	.L94
	ldr	r3, [fp, #-2388]
	add	r3, r3, #1
	str	r3, [fp, #-2388]
.L92:
	ldr	r3, .L148+8
	ldr	r3, [r3]
	ldr	r2, [fp, #-2388]
	cmp	r2, r3
	blt	.L95
	ldr	r3, .L148+8
	ldr	r2, [r3]
	ldr	r3, [fp, #-2400]
	ldr	r1, [fp, #-2292]
	ldr	r0, .L148+140
	bl	printf
	mov	r3, #0
	str	r3, [fp, #-2380]
	mov	r3, #0
	str	r3, [fp, #-2388]
	b	.L96
.L99:
	mov	r3, #0
	str	r3, [fp, #-2384]
	b	.L97
.L98:
	ldr	r3, .L148+8
	ldr	r2, [r3]
	ldr	r3, [fp, #-2388]
	mul	r3, r2, r3
	str	r3, [fp, #-2020]
	ldr	r3, .L148+192
	ldr	r2, [r3]
	ldr	r3, [fp, #-2384]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-2384]
	str	r2, [r3]
	ldr	r3, [fp, #-2388]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2136]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-2384]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-2380]
	add	r3, r2, r3
	str	r3, [fp, #-2380]
	ldr	r3, [fp, #-2388]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2136]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-2384]
	lsl	r3, r3, #2
	add	r2, r2, r3
	ldr	r1, [fp, #-2020]
	ldr	r3, [fp, #-2384]
	add	r3, r1, r3
	lsl	r3, r3, #2
	ldr	r1, [fp, #-2160]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-2384]
	add	r3, r3, #1
	str	r3, [fp, #-2384]
.L97:
	ldr	r3, .L148+8
	ldr	r3, [r3]
	ldr	r2, [fp, #-2384]
	cmp	r2, r3
	blt	.L98
	ldr	r3, [fp, #-2388]
	add	r3, r3, #1
	str	r3, [fp, #-2388]
.L96:
	ldr	r3, .L148+8
	ldr	r3, [r3]
	ldr	r2, [fp, #-2388]
	cmp	r2, r3
	blt	.L99
	mov	r3, #0
	str	r3, [fp, #-2388]
	b	.L100
.L149:
	.align	2
.L148:
	.word	.LC67
	.word	min_len
	.word	max_ctg
	.word	.LC25
	.word	.LC26
	.word	.LC27
	.word	.LC28
	.word	.LC29
	.word	.LC30
	.word	.LC31
	.word	.LC32
	.word	.LC33
	.word	.LC34
	.word	.LC35
	.word	.LC36
	.word	.LC37
	.word	.LC38
	.word	.LC39
	.word	.LC40
	.word	.LC41
	.word	.LC42
	.word	.LC43
	.word	.LC44
	.word	.LC45
	.word	.LC46
	.word	.LC47
	.word	.LC48
	.word	.LC49
	.word	.LC50
	.word	.LC51
	.word	.LC52
	.word	.LC53
	.word	.LC54
	.word	.LC55
	.word	n_depth
	.word	.LC57
	.word	.LC58
	.word	hit_matindex
	.word	.LC59
	.word	.LC60
	.word	.LC61
	.word	hit_index
	.word	hit_locus1
	.word	R_Name
	.word	superlength
	.word	.LC56
	.word	.LC62
	.word	.LC63
	.word	hit_rddex
	.word	hit_linkdex1
	.word	hit_matlocu2
	.word	hit_linkdex2
	.word	hit_matlocu1
	.word	ctg_length
	.word	1092616192
	.word	1148846080
	.word	1072693248
	.word	max_ctg
	.word	.LC10
	.word	.LC65
	.word	.LC64
	.word	hit_masks
	.word	.LC66
	.word	.LC67
.L101:
	ldr	r3, [fp, #-2388]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2264]
	add	r3, r2, r3
	mvn	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-2388]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2260]
	add	r3, r2, r3
	mvn	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-2388]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2272]
	add	r3, r2, r3
	mvn	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-2388]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2268]
	add	r3, r2, r3
	mvn	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-2388]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2276]
	add	r3, r2, r3
	mvn	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-2388]
	add	r3, r3, #1
	str	r3, [fp, #-2388]
.L100:
	ldr	r3, .L148+228
	ldr	r3, [r3]
	ldr	r2, [fp, #-2388]
	cmp	r2, r3
	blt	.L101
	ldr	r3, [fp, #-2380]
	lsl	r3, r3, #1
	str	r3, [fp, #-2380]
	ldr	r3, [fp, #-2168]
	mov	r2, #0
	str	r2, [r3]
	mov	r3, #1
	str	r3, [fp, #-2372]
	b	.L102
.L103:
	ldr	r3, [fp, #-2372]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2168]
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r3, [fp, #-2372]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2160]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-2372]
	lsl	r3, r3, #2
	ldr	r0, [fp, #-2168]
	add	r3, r0, r3
	add	r2, r1, r2
	str	r2, [r3]
	ldr	r3, [fp, #-2372]
	add	r3, r3, #1
	str	r3, [fp, #-2372]
.L102:
	ldr	r2, [fp, #-2372]
	ldr	r3, [fp, #-2288]
	cmp	r2, r3
	blt	.L103
	ldr	r3, [fp, #-2380]
	mov	r1, #4
	mov	r0, r3
	bl	calloc
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L148+208
	str	r2, [r3]
	ldr	r3, .L148+208
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L104
	ldr	r0, .L148+144
	bl	puts
	mov	r0, #1
	bl	exit
.L104:
	ldr	r3, [fp, #-2380]
	mov	r1, #4
	mov	r0, r3
	bl	calloc
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L148+200
	str	r2, [r3]
	ldr	r3, .L148+200
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L105
	ldr	r0, .L148+144
	bl	puts
	mov	r0, #1
	bl	exit
.L105:
	ldr	r3, [fp, #-2380]
	mov	r1, #4
	mov	r0, r3
	bl	calloc
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L148+148
	str	r2, [r3]
	ldr	r3, .L148+148
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L106
	ldr	r0, .L148+152
	bl	puts
	mov	r0, #1
	bl	exit
.L106:
	ldr	r3, [fp, #-2380]
	mov	r1, #4
	mov	r0, r3
	bl	calloc
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L148+196
	str	r2, [r3]
	ldr	r3, .L148+196
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L107
	ldr	r0, .L148+156
	bl	puts
	mov	r0, #1
	bl	exit
.L107:
	ldr	r3, [fp, #-2380]
	mov	r1, #4
	mov	r0, r3
	bl	calloc
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L148+204
	str	r2, [r3]
	ldr	r3, .L148+204
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L108
	ldr	r0, .L148+160
	bl	puts
	mov	r0, #1
	bl	exit
.L108:
	mov	r3, #0
	str	r3, [fp, #-2388]
	b	.L109
.L118:
	mov	r3, #0
	str	r3, [fp, #-2368]
	ldr	r3, [fp, #-2388]
	add	r3, r3, #1
	str	r3, [fp, #-2384]
	b	.L110
.L113:
	ldr	r3, .L148+172
	ldr	r2, [r3]
	ldr	r3, [fp, #-2388]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r0, [r3]
	ldr	r3, .L148+172
	ldr	r2, [r3]
	ldr	r3, [fp, #-2384]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r1, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L111
	ldr	r3, [fp, #-2384]
	add	r3, r3, #1
	str	r3, [fp, #-2384]
	b	.L110
.L111:
	mov	r3, #1
	str	r3, [fp, #-2368]
.L110:
	ldr	r2, [fp, #-2384]
	ldr	r3, [fp, #-2400]
	cmp	r2, r3
	bge	.L112
	ldr	r3, [fp, #-2368]
	cmp	r3, #0
	beq	.L113
.L112:
	ldr	r2, [fp, #-2384]
	ldr	r3, [fp, #-2388]
	sub	r3, r2, r3
	cmp	r3, #1
	ble	.L114
	ldr	r3, .L148+164
	ldr	r2, [r3]
	ldr	r3, [fp, #-2388]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, .L148+164
	ldr	r1, [r3]
	ldr	r3, [fp, #-2388]
	add	r3, r3, #1
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3]
	cmp	r2, r3
	bge	.L115
	ldr	r3, .L148+164
	ldr	r2, [r3]
	ldr	r3, [fp, #-2388]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-2340]
	ldr	r3, .L148+164
	ldr	r2, [r3]
	ldr	r3, [fp, #-2388]
	add	r3, r3, #1
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-2336]
	ldr	r3, .L148+176
	ldr	r2, [r3]
	ldr	r3, [fp, #-2388]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	lsr	r2, r3, #31
	add	r3, r2, r3
	asr	r3, r3, #1
	str	r3, [fp, #-2032]
	ldr	r3, .L148+176
	ldr	r2, [r3]
	ldr	r3, [fp, #-2388]
	add	r3, r3, #1
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	lsr	r2, r3, #31
	add	r3, r2, r3
	asr	r3, r3, #1
	str	r3, [fp, #-2036]
	ldr	r3, .L148+168
	ldr	r2, [r3]
	ldr	r3, [fp, #-2388]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-2332]
	ldr	r3, .L148+168
	ldr	r2, [r3]
	ldr	r3, [fp, #-2388]
	add	r3, r3, #1
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-2328]
	b	.L116
.L115:
	ldr	r3, .L148+164
	ldr	r2, [r3]
	ldr	r3, [fp, #-2388]
	add	r3, r3, #1
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-2340]
	ldr	r3, .L148+164
	ldr	r2, [r3]
	ldr	r3, [fp, #-2388]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-2336]
	ldr	r3, .L148+176
	ldr	r2, [r3]
	ldr	r3, [fp, #-2388]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	lsr	r2, r3, #31
	add	r3, r2, r3
	asr	r3, r3, #1
	str	r3, [fp, #-2036]
	ldr	r3, .L148+176
	ldr	r2, [r3]
	ldr	r3, [fp, #-2388]
	add	r3, r3, #1
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	lsr	r2, r3, #31
	add	r3, r2, r3
	asr	r3, r3, #1
	str	r3, [fp, #-2032]
	ldr	r3, .L148+168
	ldr	r2, [r3]
	ldr	r3, [fp, #-2388]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-2328]
	ldr	r3, .L148+168
	ldr	r2, [r3]
	ldr	r3, [fp, #-2388]
	add	r3, r3, #1
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-2332]
.L116:
	ldr	r3, .L148+228
	ldr	r3, [r3]
	ldr	r2, [fp, #-2340]
	mul	r3, r2, r3
	ldr	r2, [fp, #-2336]
	add	r3, r2, r3
	str	r3, [fp, #-2028]
	ldr	r3, .L148+228
	ldr	r3, [r3]
	ldr	r2, [fp, #-2336]
	mul	r3, r2, r3
	ldr	r2, [fp, #-2340]
	add	r3, r2, r3
	str	r3, [fp, #-2024]
	ldr	r3, .L148+208
	ldr	r2, [r3]
	ldr	r3, [fp, #-2028]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-2168]
	add	r3, r1, r3
	ldr	r1, [r3]
	ldr	r3, [fp, #-2028]
	lsl	r3, r3, #2
	ldr	r0, [fp, #-2172]
	add	r3, r0, r3
	ldr	r3, [r3]
	add	r3, r1, r3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-2332]
	str	r2, [r3]
	ldr	r3, .L148+200
	ldr	r2, [r3]
	ldr	r3, [fp, #-2024]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-2168]
	add	r3, r1, r3
	ldr	r1, [r3]
	ldr	r3, [fp, #-2024]
	lsl	r3, r3, #2
	ldr	r0, [fp, #-2164]
	add	r3, r0, r3
	ldr	r3, [r3]
	add	r3, r1, r3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-2328]
	str	r2, [r3]
	ldr	r3, .L148+196
	ldr	r2, [r3]
	ldr	r3, [fp, #-2028]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-2168]
	add	r3, r1, r3
	ldr	r1, [r3]
	ldr	r3, [fp, #-2028]
	lsl	r3, r3, #2
	ldr	r0, [fp, #-2172]
	add	r3, r0, r3
	ldr	r3, [r3]
	add	r3, r1, r3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-2388]
	str	r2, [r3]
	ldr	r3, .L148+204
	ldr	r2, [r3]
	ldr	r3, [fp, #-2024]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-2168]
	add	r3, r1, r3
	ldr	r1, [r3]
	ldr	r3, [fp, #-2024]
	lsl	r3, r3, #2
	ldr	r0, [fp, #-2164]
	add	r3, r0, r3
	ldr	r3, [r3]
	add	r3, r1, r3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-2388]
	str	r2, [r3]
	ldr	r3, [fp, #-2028]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2172]
	add	r3, r2, r3
	ldr	r2, [r3]
	add	r2, r2, #1
	str	r2, [r3]
	ldr	r3, [fp, #-2024]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2164]
	add	r3, r2, r3
	ldr	r2, [r3]
	add	r2, r2, #1
	str	r2, [r3]
	b	.L117
.L114:
	ldr	r3, .L148+172
	ldr	r2, [r3]
	ldr	r3, [fp, #-2388]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r3, .L148+176
	ldr	r2, [r3]
	ldr	r3, [fp, #-2388]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r0, .L148+180
	bl	printf
.L117:
	ldr	r3, [fp, #-2384]
	sub	r3, r3, #1
	str	r3, [fp, #-2388]
	ldr	r3, [fp, #-2388]
	add	r3, r3, #1
	str	r3, [fp, #-2388]
.L109:
	ldr	r2, [fp, #-2388]
	ldr	r3, [fp, #-2400]
	cmp	r2, r3
	blt	.L118
	mov	r3, #0
	str	r3, [fp, #-2376]
	mov	r3, #0
	str	r3, [fp, #-2388]
	b	.L119
.L120:
	ldr	r3, .L148+212
	ldr	r2, [r3]
	ldr	r3, [fp, #-2388]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-2376]
	add	r3, r2, r3
	str	r3, [fp, #-2376]
	ldr	r3, [fp, #-2388]
	add	r3, r3, #1
	str	r3, [fp, #-2388]
.L119:
	ldr	r3, .L148+228
	ldr	r3, [r3]
	ldr	r2, [fp, #-2388]
	cmp	r2, r3
	blt	.L120
	mov	r3, #0
	str	r3, [fp, #-2388]
	b	.L121
.L136:
	mov	r3, #0
	str	r3, [fp, #-2384]
	b	.L122
.L123:
	ldr	r3, .L148+192
	ldr	r2, [r3]
	ldr	r3, [fp, #-2384]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [fp, #-2384]
	str	r2, [r3]
	ldr	r3, [fp, #-2384]
	add	r3, r3, #1
	str	r3, [fp, #-2384]
.L122:
	ldr	r3, .L148+228
	ldr	r3, [r3]
	ldr	r2, [fp, #-2384]
	cmp	r2, r3
	blt	.L123
	ldr	r3, [fp, #-2388]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2184]
	add	r3, r2, r3
	mov	r2, #0
	str	r2, [r3]	@ float
	ldr	r3, .L148+228
	ldr	r0, [r3]
	ldr	r3, [fp, #-2388]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2136]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, .L148+192
	ldr	r2, [r2]
	mov	r1, r3
	bl	ArraySort2_Int2
	ldr	r3, .L148+228
	ldr	r3, [r3]
	lsl	r3, r3, #2
	mov	r2, r3
	mov	r1, #0
	ldr	r0, [fp, #-2200]
	bl	memset
	ldr	r3, .L148+228
	ldr	r1, [r3]
	ldr	r3, .L148+212
	ldr	r2, [r3]
	ldr	r3, [fp, #-2388]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, r1
	ldr	r1, [fp, #-2388]
	ldr	r0, .L148+184
	bl	printf
	ldr	r3, .L148+212
	ldr	r2, [r3]
	ldr	r3, [fp, #-2388]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r1, [fp, #-2388]
	ldr	r0, .L148+188
	bl	printf
	mov	r3, #0
	str	r3, [fp, #-2384]
	b	.L124
.L135:
	ldr	r3, .L148+192
	ldr	r2, [r3]
	ldr	r3, [fp, #-2384]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-2092]
	ldr	r3, [fp, #-2388]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2136]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-2384]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-2088]
	ldr	r3, [fp, #-2088]
	lsr	r2, r3, #31
	add	r3, r2, r3
	asr	r3, r3, #1
	str	r3, [fp, #-2084]
	mov	r3, #1
	str	r3, [fp, #-2308]
	mov	r3, #1
	str	r3, [fp, #-2304]
	ldr	r3, [fp, #-2388]
	str	r3, [fp, #-2080]
	ldr	r3, .L148+192
	ldr	r2, [r3]
	ldr	r3, [fp, #-2384]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-2076]
	ldr	r3, .L148+228
	ldr	r3, [r3]
	ldr	r2, [fp, #-2080]
	mul	r2, r3, r2
	ldr	r3, [fp, #-2076]
	add	r3, r2, r3
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2168]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-2072]
	ldr	r3, .L148+208
	ldr	r3, [r3]
	str	r3, [fp, #-2068]
	ldr	r3, .L148+196
	ldr	r3, [r3]
	str	r3, [fp, #-2064]
	ldr	r3, [fp, #-2072]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2068]
	add	r1, r2, r3
	ldr	r3, [fp, #-2072]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2064]
	add	r3, r2, r3
	mov	r2, r3
	ldr	r0, [fp, #-2088]
	bl	ArraySort_Int2
	ldr	r3, .L148+228
	ldr	r3, [r3]
	ldr	r2, [fp, #-2076]
	mul	r2, r3, r2
	ldr	r3, [fp, #-2080]
	add	r3, r2, r3
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2168]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-2060]
	ldr	r3, .L148+200
	ldr	r3, [r3]
	str	r3, [fp, #-2068]
	ldr	r3, .L148+204
	ldr	r3, [r3]
	str	r3, [fp, #-2056]
	ldr	r3, [fp, #-2060]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2068]
	add	r1, r2, r3
	ldr	r3, [fp, #-2060]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2056]
	add	r3, r2, r3
	mov	r2, r3
	ldr	r0, [fp, #-2088]
	bl	ArraySort_Int2
	ldr	r3, [fp, #-2060]
	str	r3, [sp]
	ldr	r3, [fp, #-2072]
	ldr	r2, [fp, #-2088]
	ldr	r1, [fp, #-2396]
	ldr	r0, [fp, #-2392]
	bl	PCRdup_Process
	ldr	r3, .L148+208
	ldr	r2, [r3]
	ldr	r1, [fp, #-2072]
	ldr	r3, [fp, #-2084]
	add	r3, r1, r3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-2316]
	ldr	r3, .L148+208
	ldr	r2, [r3]
	ldr	r1, [fp, #-2060]
	ldr	r3, [fp, #-2084]
	add	r3, r1, r3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-2312]
	ldr	r3, .L148+212
	ldr	r2, [r3]
	ldr	r3, [fp, #-2080]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	lsr	r2, r3, #31
	add	r3, r2, r3
	asr	r3, r3, #1
	str	r3, [fp, #-2052]
	ldr	r3, .L148+212
	ldr	r2, [r3]
	ldr	r3, [fp, #-2076]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	lsr	r2, r3, #31
	add	r3, r2, r3
	asr	r3, r3, #1
	str	r3, [fp, #-2048]
	ldr	r3, .L148+212
	ldr	r2, [r3]
	ldr	r3, [fp, #-2080]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	lsr	r2, r3, #31
	add	r3, r2, r3
	asr	r3, r3, #1
	mov	r2, r3
	ldr	r3, [fp, #-2316]
	cmp	r3, r2
	ble	.L125
	mov	r3, #0
	str	r3, [fp, #-2308]
	ldr	r3, .L148+212
	ldr	r2, [r3]
	ldr	r3, [fp, #-2080]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-2316]
	sub	r3, r2, r3
	str	r3, [fp, #-2316]
.L125:
	ldr	r3, .L148+212
	ldr	r2, [r3]
	ldr	r3, [fp, #-2076]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	lsr	r2, r3, #31
	add	r3, r2, r3
	asr	r3, r3, #1
	mov	r2, r3
	ldr	r3, [fp, #-2312]
	cmp	r3, r2
	ble	.L126
	mov	r3, #0
	str	r3, [fp, #-2304]
	ldr	r3, .L148+212
	ldr	r2, [r3]
	ldr	r3, [fp, #-2076]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-2312]
	sub	r3, r2, r3
	str	r3, [fp, #-2312]
.L126:
	ldr	r3, [fp, #-2308]
	cmp	r3, #0
	bne	.L127
	ldr	r3, [fp, #-2304]
	cmp	r3, #0
	bne	.L128
	mov	r3, #0
	str	r3, [fp, #-2300]
	b	.L129
.L128:
	mov	r3, #1
	str	r3, [fp, #-2300]
	b	.L129
.L127:
	ldr	r3, [fp, #-2304]
	cmp	r3, #0
	bne	.L130
	mov	r3, #2
	str	r3, [fp, #-2300]
	b	.L129
.L130:
	mov	r3, #3
	str	r3, [fp, #-2300]
.L129:
	ldr	r3, [fp, #-2384]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2200]
	add	r3, r2, r3
	ldr	r2, [fp, #-2300]
	str	r2, [r3]
	ldr	r0, [fp, #-2052]
	bl	__aeabi_i2f
	mov	r3, r0
	str	r3, [fp, #-2324]	@ float
	ldr	r0, [fp, #-2316]
	bl	__aeabi_i2f
	mov	r3, r0
	mov	r1, r3
	ldr	r0, [fp, #-2324]	@ float
	bl	__aeabi_fdiv
	mov	r3, r0
	str	r3, [fp, #-2324]	@ float
	ldr	r0, [fp, #-2048]
	bl	__aeabi_i2f
	mov	r3, r0
	str	r3, [fp, #-2320]	@ float
	ldr	r0, [fp, #-2312]
	bl	__aeabi_i2f
	mov	r3, r0
	mov	r1, r3
	ldr	r0, [fp, #-2320]	@ float
	bl	__aeabi_fdiv
	mov	r3, r0
	str	r3, [fp, #-2320]	@ float
	ldr	r1, .L148+216
	ldr	r0, [fp, #-2324]	@ float
	bl	__aeabi_fcmpgt
	mov	r3, r0
	cmp	r3, #0
	beq	.L131
	mov	r3, #1065353216
	str	r3, [fp, #-2324]	@ float
.L131:
	ldr	r1, .L148+216
	ldr	r0, [fp, #-2320]	@ float
	bl	__aeabi_fcmpgt
	mov	r3, r0
	cmp	r3, #0
	beq	.L133
	mov	r3, #1065353216
	str	r3, [fp, #-2320]	@ float
.L133:
	ldr	r0, [fp, #-2376]
	bl	__aeabi_i2f
	mov	r3, r0
	str	r3, [fp, #-2044]	@ float
	ldr	r0, [fp, #-2400]
	bl	__aeabi_i2f
	mov	r3, r0
	mov	r1, r3
	ldr	r0, [fp, #-2044]	@ float
	bl	__aeabi_fdiv
	mov	r3, r0
	str	r3, [fp, #-2044]	@ float
	ldr	r0, [fp, #-2088]
	bl	__aeabi_i2f
	mov	r3, r0
	ldr	r1, [fp, #-2044]	@ float
	mov	r0, r3
	bl	__aeabi_fmul
	mov	r3, r0
	ldr	r1, .L148+220
	mov	r0, r3
	bl	__aeabi_fmul
	mov	r3, r0
	str	r3, [fp, #-2044]	@ float
	ldr	r0, [fp, #-2052]
	bl	__aeabi_i2f
	mov	r3, r0
	mov	r1, r3
	ldr	r0, [fp, #-2044]	@ float
	bl	__aeabi_fdiv
	mov	r3, r0
	str	r3, [fp, #-2044]	@ float
	ldr	r0, [fp, #-2044]	@ float
	bl	__aeabi_f2d
	mov	r4, r0
	mov	r5, r1
	ldr	r0, [fp, #-2324]	@ float
	bl	__aeabi_f2d
	mov	r2, #0
	ldr	r3, .L148+224
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_d2f
	mov	r3, r0
	str	r3, [fp, #-2044]	@ float
	ldr	r0, [fp, #-2376]
	bl	__aeabi_i2f
	mov	r3, r0
	str	r3, [fp, #-2040]	@ float
	ldr	r0, [fp, #-2400]
	bl	__aeabi_i2f
	mov	r3, r0
	mov	r1, r3
	ldr	r0, [fp, #-2040]	@ float
	bl	__aeabi_fdiv
	mov	r3, r0
	str	r3, [fp, #-2040]	@ float
	ldr	r0, [fp, #-2088]
	bl	__aeabi_i2f
	mov	r3, r0
	ldr	r1, [fp, #-2040]	@ float
	mov	r0, r3
	bl	__aeabi_fmul
	mov	r3, r0
	ldr	r1, .L148+220
	mov	r0, r3
	bl	__aeabi_fmul
	mov	r3, r0
	str	r3, [fp, #-2040]	@ float
	ldr	r0, [fp, #-2048]
	bl	__aeabi_i2f
	mov	r3, r0
	mov	r1, r3
	ldr	r0, [fp, #-2040]	@ float
	bl	__aeabi_fdiv
	mov	r3, r0
	str	r3, [fp, #-2040]	@ float
	ldr	r0, [fp, #-2040]	@ float
	bl	__aeabi_f2d
	mov	r4, r0
	mov	r5, r1
	ldr	r0, [fp, #-2320]	@ float
	bl	__aeabi_f2d
	mov	r2, #0
	ldr	r3, .L148+224
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_d2f
	mov	r3, r0
	str	r3, [fp, #-2040]	@ float
	ldr	r3, [fp, #-2384]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2180]
	add	r3, r2, r3
	ldr	r2, [fp, #-2324]	@ float
	str	r2, [r3]	@ float
	ldr	r3, [fp, #-2384]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2176]
	add	r3, r2, r3
	ldr	r2, [fp, #-2320]	@ float
	str	r2, [r3]	@ float
	ldr	r3, [fp, #-2384]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2184]
	add	r4, r2, r3
	ldr	r1, [fp, #-2040]	@ float
	ldr	r0, [fp, #-2044]	@ float
	bl	__aeabi_fmul
	mov	r3, r0
	str	r3, [r4]	@ float
	ldr	r3, [fp, #-2384]
	add	r3, r3, #1
	str	r3, [fp, #-2384]
.L124:
	ldr	r2, [fp, #-2384]
	ldr	r3, [fp, #-2156]
	cmp	r2, r3
	blt	.L135
	ldr	r3, [fp, #-2388]
	add	r3, r3, #1
	str	r3, [fp, #-2388]
.L121:
	ldr	r3, .L148+228
	ldr	r3, [r3]
	ldr	r2, [fp, #-2388]
	cmp	r2, r3
	blt	.L136
	ldr	r3, [fp, #-2396]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2392]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r1, .L148+232
	mov	r0, r3
	bl	fopen
	str	r0, [fp, #-2100]
	ldr	r3, [fp, #-2100]
	cmp	r3, #0
	bne	.L137
	ldr	r0, .L148+240
	bl	puts
	mov	r0, #1
	bl	exit
.L137:
	ldr	r3, [fp, #-2396]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-2392]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r1, .L148+236
	mov	r0, r3
	bl	fopen
	str	r0, [fp, #-2096]
	ldr	r3, [fp, #-2096]
	cmp	r3, #0
	bne	.L138
	ldr	r0, .L148+240
	bl	puts
	mov	r0, #1
	bl	exit
.L138:
	mov	r3, #0
	str	r3, [fp, #-2388]
	b	.L139
.L143:
	sub	r3, fp, #2000
	sub	r3, r3, #12
	sub	r3, r3, #4
	ldr	r2, [fp, #-2100]
	mov	r1, #2000
	mov	r0, r3
	bl	fgets
	ldr	r0, [fp, #-2100]
	bl	feof
	mov	r3, r0
	cmp	r3, #0
	bne	.L147
	ldr	r3, .L148+244
	ldr	r2, [r3]
	ldr	r3, [fp, #-2388]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L142
	sub	r3, fp, #2000
	sub	r3, r3, #12
	sub	r3, r3, #4
	ldr	r1, [fp, #-2096]
	mov	r0, r3
	bl	fputs
.L142:
	ldr	r3, [fp, #-2388]
	add	r3, r3, #1
	str	r3, [fp, #-2388]
.L139:
	ldr	r0, [fp, #-2100]
	bl	feof
	mov	r3, r0
	cmp	r3, #0
	beq	.L143
	b	.L141
.L147:
	nop
.L141:
	ldr	r0, [fp, #-2100]
	bl	fclose
	ldr	r0, [fp, #-2096]
	bl	fclose
	ldr	r1, [fp, #-2388]
	ldr	r0, .L148+248
	bl	printf
	nop
	ldr	r3, .L148+252
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L144
	bl	__stack_chk_fail
.L144:
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
	.size	Matrix_Process, .-Matrix_Process
	.global	__aeabi_idiv
	.align	2
	.global	PCRdup_Process
	.syntax unified
	.arm
	.fpu softvfp
	.type	PCRdup_Process, %function
PCRdup_Process:
	@ args = 4, pretend = 0, frame = 112
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #112
	str	r0, [fp, #-104]
	str	r1, [fp, #-108]
	str	r2, [fp, #-112]
	str	r3, [fp, #-116]
	ldr	r3, [fp, #-112]
	mov	r1, #4
	mov	r0, r3
	bl	calloc
	mov	r3, r0
	str	r3, [fp, #-52]
	ldr	r3, [fp, #-52]
	cmp	r3, #0
	bne	.L151
	ldr	r0, .L198
	bl	puts
	mov	r0, #1
	bl	exit
.L151:
	ldr	r3, [fp, #-112]
	mov	r1, #4
	mov	r0, r3
	bl	calloc
	mov	r3, r0
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-48]
	cmp	r3, #0
	bne	.L152
	ldr	r0, .L198
	bl	puts
	mov	r0, #1
	bl	exit
.L152:
	ldr	r3, [fp, #-112]
	mov	r1, #4
	mov	r0, r3
	bl	calloc
	mov	r3, r0
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-44]
	cmp	r3, #0
	bne	.L153
	ldr	r0, .L198
	bl	puts
	mov	r0, #1
	bl	exit
.L153:
	mov	r3, #0
	str	r3, [fp, #-72]
	mov	r3, #0
	str	r3, [fp, #-40]
	ldr	r3, .L198+4
	str	r3, [fp, #-88]
	ldr	r3, .L198+8
	str	r3, [fp, #-36]
	mov	r3, #0
	str	r3, [fp, #-76]
	mov	r3, #0
	str	r3, [fp, #-92]
	b	.L154
.L161:
	mov	r3, #0
	str	r3, [fp, #-84]
	ldr	r3, [fp, #-92]
	add	r3, r3, #1
	str	r3, [fp, #-96]
	ldr	r3, .L198+12
	ldr	r2, [r3]
	ldr	r1, [fp, #-116]
	ldr	r3, [fp, #-92]
	add	r3, r1, r3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-80]
	b	.L155
.L158:
	ldr	r3, .L198+12
	ldr	r2, [r3]
	ldr	r1, [fp, #-116]
	ldr	r3, [fp, #-96]
	add	r3, r1, r3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r1, [fp, #-88]
	ldr	r3, [fp, #-36]
	add	r3, r1, r3
	cmp	r2, r3
	bge	.L156
	ldr	r3, .L198+12
	ldr	r2, [r3]
	ldr	r1, [fp, #-116]
	ldr	r3, [fp, #-92]
	add	r3, r1, r3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-88]
	cmp	r2, r3
	bgt	.L156
	ldr	r3, .L198+12
	ldr	r2, [r3]
	ldr	r1, [fp, #-116]
	ldr	r3, [fp, #-96]
	add	r3, r1, r3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-80]
	add	r3, r2, r3
	str	r3, [fp, #-80]
	ldr	r3, [fp, #-96]
	add	r3, r3, #1
	str	r3, [fp, #-96]
	b	.L155
.L156:
	mov	r3, #1
	str	r3, [fp, #-84]
.L155:
	ldr	r2, [fp, #-96]
	ldr	r3, [fp, #-112]
	cmp	r2, r3
	bge	.L157
	ldr	r3, [fp, #-84]
	cmp	r3, #0
	beq	.L158
.L157:
	ldr	r2, [fp, #-96]
	ldr	r3, [fp, #-92]
	sub	r3, r2, r3
	cmp	r3, #1
	ble	.L159
	ldr	r2, [fp, #-96]
	ldr	r3, [fp, #-92]
	sub	r2, r2, r3
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r2, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r0, r3
	bl	__aeabi_i2f
	mov	r3, r0
	str	r3, [fp, #-20]	@ float
	ldr	r0, [fp, #-112]
	bl	__aeabi_i2f
	mov	r3, r0
	mov	r1, r3
	ldr	r0, [fp, #-20]	@ float
	bl	__aeabi_fdiv
	mov	r3, r0
	str	r3, [fp, #-20]	@ float
	ldr	r2, [fp, #-88]
	ldr	r3, [fp, #-36]
	add	r3, r2, r3
	str	r3, [fp, #-88]
	ldr	r3, [fp, #-72]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-52]
	add	r3, r2, r3
	ldr	r1, [fp, #-96]
	ldr	r2, [fp, #-92]
	sub	r2, r1, r2
	str	r2, [r3]
	ldr	r3, [fp, #-72]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-44]
	add	r3, r2, r3
	ldr	r2, [fp, #-92]
	str	r2, [r3]
	ldr	r3, [fp, #-72]
	add	r3, r3, #1
	str	r3, [fp, #-72]
	ldr	r3, [fp, #-76]
	add	r3, r3, #1
	str	r3, [fp, #-76]
	b	.L160
.L159:
	ldr	r2, [fp, #-96]
	ldr	r3, [fp, #-92]
	sub	r3, r2, r3
	cmp	r3, #1
	bne	.L160
	ldr	r3, .L198+16
	str	r3, [fp, #-20]	@ float
	ldr	r0, [fp, #-112]
	bl	__aeabi_i2f
	mov	r3, r0
	mov	r1, r3
	ldr	r0, [fp, #-20]	@ float
	bl	__aeabi_fdiv
	mov	r3, r0
	str	r3, [fp, #-20]	@ float
	ldr	r3, .L198+12
	ldr	r2, [r3]
	ldr	r1, [fp, #-116]
	ldr	r3, [fp, #-92]
	add	r3, r1, r3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-88]
	ldr	r3, [fp, #-76]
	add	r3, r3, #1
	str	r3, [fp, #-76]
.L160:
	ldr	r3, [fp, #-96]
	sub	r3, r3, #1
	str	r3, [fp, #-92]
	ldr	r3, [fp, #-92]
	add	r3, r3, #1
	str	r3, [fp, #-92]
.L154:
	ldr	r2, [fp, #-92]
	ldr	r3, [fp, #-112]
	cmp	r2, r3
	blt	.L161
	mov	r3, #0
	str	r3, [fp, #-100]
	b	.L162
.L175:
	ldr	r3, [fp, #-100]
	cmp	r3, #0
	bne	.L163
	ldr	r3, [fp, #-100]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-52]
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L164
	mov	r3, #10
	str	r3, [fp, #-68]
	b	.L165
.L164:
	ldr	r3, [fp, #-100]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-52]
	add	r3, r2, r3
	ldr	r2, [r3]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r0, r3, r2
	ldr	r3, [fp, #-100]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-52]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r1, r3
	bl	__aeabi_idiv
	mov	r3, r0
	str	r3, [fp, #-68]
.L165:
	ldr	r3, [fp, #-68]
	str	r3, [fp, #-64]
	b	.L166
.L163:
	ldr	r3, [fp, #-72]
	sub	r3, r3, #1
	ldr	r2, [fp, #-100]
	cmp	r2, r3
	bne	.L167
	ldr	r3, [fp, #-100]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	ldr	r2, [fp, #-52]
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L168
	mov	r3, #10
	str	r3, [fp, #-68]
	b	.L169
.L168:
	ldr	r3, [fp, #-100]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-52]
	add	r3, r2, r3
	ldr	r2, [r3]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r0, r3, r2
	ldr	r3, [fp, #-100]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	ldr	r2, [fp, #-52]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r1, r3
	bl	__aeabi_idiv
	mov	r3, r0
	str	r3, [fp, #-68]
.L169:
	ldr	r3, [fp, #-68]
	str	r3, [fp, #-64]
	b	.L166
.L167:
	ldr	r3, [fp, #-100]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-52]
	add	r3, r2, r3
	ldr	r0, [r3]
	ldr	r3, [fp, #-100]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	ldr	r2, [fp, #-52]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r1, r3
	bl	__aeabi_idiv
	mov	r3, r0
	str	r3, [fp, #-68]
	ldr	r3, [fp, #-100]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-52]
	add	r3, r2, r3
	ldr	r0, [r3]
	ldr	r3, [fp, #-100]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-52]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r1, r3
	bl	__aeabi_idiv
	mov	r3, r0
	str	r3, [fp, #-64]
.L166:
	ldr	r3, [fp, #-68]
	cmp	r3, #2
	ble	.L170
	ldr	r3, [fp, #-64]
	cmp	r3, #2
	ble	.L170
	ldr	r3, [fp, #-100]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-52]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-100]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-44]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	mov	r3, #0
	str	r3, [fp, #-96]
	b	.L171
.L174:
	ldr	r3, .L198+20
	ldr	r2, [r3]
	ldr	r1, [fp, #-116]
	ldr	r3, [fp, #-12]
	add	r1, r1, r3
	ldr	r3, [fp, #-96]
	add	r3, r1, r3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	and	r3, r3, #1
	cmp	r3, #0
	bne	.L172
	ldr	r3, .L198+24
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, #1
	str	r2, [r3]
	ldr	r3, .L198+24
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, #1
	str	r2, [r3]
	b	.L173
.L172:
	ldr	r3, .L198+24
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, #1
	str	r2, [r3]
	ldr	r3, .L198+24
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, #1
	str	r2, [r3]
.L173:
	ldr	r3, [fp, #-96]
	add	r3, r3, #1
	str	r3, [fp, #-96]
.L171:
	ldr	r2, [fp, #-96]
	ldr	r3, [fp, #-16]
	cmp	r2, r3
	blt	.L174
.L170:
	ldr	r3, [fp, #-100]
	add	r3, r3, #1
	str	r3, [fp, #-100]
.L162:
	ldr	r2, [fp, #-100]
	ldr	r3, [fp, #-72]
	cmp	r2, r3
	blt	.L175
	mov	r3, #0
	str	r3, [fp, #-72]
	mov	r3, #0
	str	r3, [fp, #-40]
	ldr	r3, .L198+4
	str	r3, [fp, #-88]
	ldr	r3, .L198+8
	str	r3, [fp, #-36]
	mov	r3, #0
	str	r3, [fp, #-76]
	mov	r3, #0
	str	r3, [fp, #-80]
	ldr	r3, [fp, #-112]
	lsl	r3, r3, #2
	mov	r2, r3
	mov	r1, #0
	ldr	r0, [fp, #-52]
	bl	memset
	ldr	r3, [fp, #-112]
	lsl	r3, r3, #2
	mov	r2, r3
	mov	r1, #0
	ldr	r0, [fp, #-44]
	bl	memset
	mov	r3, #0
	str	r3, [fp, #-92]
	b	.L176
.L183:
	mov	r3, #0
	str	r3, [fp, #-84]
	ldr	r3, [fp, #-92]
	add	r3, r3, #1
	str	r3, [fp, #-96]
	ldr	r3, .L198+28
	ldr	r2, [r3]
	ldr	r1, [fp, #4]
	ldr	r3, [fp, #-92]
	add	r3, r1, r3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-80]
	b	.L177
.L180:
	ldr	r3, .L198+28
	ldr	r2, [r3]
	ldr	r1, [fp, #4]
	ldr	r3, [fp, #-96]
	add	r3, r1, r3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r1, [fp, #-88]
	ldr	r3, [fp, #-36]
	add	r3, r1, r3
	cmp	r2, r3
	bge	.L178
	ldr	r3, .L198+28
	ldr	r2, [r3]
	ldr	r1, [fp, #4]
	ldr	r3, [fp, #-92]
	add	r3, r1, r3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-88]
	cmp	r2, r3
	bgt	.L178
	ldr	r3, .L198+28
	ldr	r2, [r3]
	ldr	r1, [fp, #4]
	ldr	r3, [fp, #-96]
	add	r3, r1, r3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-80]
	add	r3, r2, r3
	str	r3, [fp, #-80]
	ldr	r3, [fp, #-96]
	add	r3, r3, #1
	str	r3, [fp, #-96]
	b	.L177
.L178:
	mov	r3, #1
	str	r3, [fp, #-84]
.L177:
	ldr	r2, [fp, #-96]
	ldr	r3, [fp, #-112]
	cmp	r2, r3
	bge	.L179
	ldr	r3, [fp, #-84]
	cmp	r3, #0
	beq	.L180
.L179:
	ldr	r2, [fp, #-96]
	ldr	r3, [fp, #-92]
	sub	r3, r2, r3
	cmp	r3, #1
	ble	.L181
	ldr	r2, [fp, #-96]
	ldr	r3, [fp, #-92]
	sub	r2, r2, r3
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r2, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r0, r3
	bl	__aeabi_i2f
	mov	r3, r0
	str	r3, [fp, #-20]	@ float
	ldr	r0, [fp, #-112]
	bl	__aeabi_i2f
	mov	r3, r0
	mov	r1, r3
	ldr	r0, [fp, #-20]	@ float
	bl	__aeabi_fdiv
	mov	r3, r0
	str	r3, [fp, #-20]	@ float
	ldr	r2, [fp, #-88]
	ldr	r3, [fp, #-36]
	add	r3, r2, r3
	str	r3, [fp, #-88]
	ldr	r3, [fp, #-72]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-52]
	add	r3, r2, r3
	ldr	r1, [fp, #-96]
	ldr	r2, [fp, #-92]
	sub	r2, r1, r2
	str	r2, [r3]
	ldr	r3, [fp, #-72]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-44]
	add	r3, r2, r3
	ldr	r2, [fp, #-92]
	str	r2, [r3]
	ldr	r3, [fp, #-72]
	add	r3, r3, #1
	str	r3, [fp, #-72]
	ldr	r3, [fp, #-76]
	add	r3, r3, #1
	str	r3, [fp, #-76]
	b	.L182
.L181:
	ldr	r2, [fp, #-96]
	ldr	r3, [fp, #-92]
	sub	r3, r2, r3
	cmp	r3, #1
	bne	.L182
	ldr	r3, .L198+16
	str	r3, [fp, #-20]	@ float
	ldr	r0, [fp, #-112]
	bl	__aeabi_i2f
	mov	r3, r0
	mov	r1, r3
	ldr	r0, [fp, #-20]	@ float
	bl	__aeabi_fdiv
	mov	r3, r0
	str	r3, [fp, #-20]	@ float
	ldr	r3, .L198+28
	ldr	r2, [r3]
	ldr	r1, [fp, #4]
	ldr	r3, [fp, #-92]
	add	r3, r1, r3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-88]
	ldr	r3, [fp, #-76]
	add	r3, r3, #1
	str	r3, [fp, #-76]
.L182:
	ldr	r3, [fp, #-96]
	sub	r3, r3, #1
	str	r3, [fp, #-92]
	ldr	r3, [fp, #-92]
	add	r3, r3, #1
	str	r3, [fp, #-92]
.L176:
	ldr	r2, [fp, #-92]
	ldr	r3, [fp, #-112]
	cmp	r2, r3
	blt	.L183
	mov	r3, #0
	str	r3, [fp, #-100]
	b	.L184
.L197:
	ldr	r3, [fp, #-100]
	cmp	r3, #0
	bne	.L185
	ldr	r3, [fp, #-100]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-52]
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L186
	mov	r3, #10
	str	r3, [fp, #-60]
	b	.L187
.L186:
	ldr	r3, [fp, #-100]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-52]
	add	r3, r2, r3
	ldr	r2, [r3]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r0, r3, r2
	ldr	r3, [fp, #-100]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-52]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r1, r3
	bl	__aeabi_idiv
	mov	r3, r0
	str	r3, [fp, #-60]
.L187:
	ldr	r3, [fp, #-60]
	str	r3, [fp, #-56]
	b	.L188
.L185:
	ldr	r3, [fp, #-72]
	sub	r3, r3, #1
	ldr	r2, [fp, #-100]
	cmp	r2, r3
	bne	.L189
	ldr	r3, [fp, #-100]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	ldr	r2, [fp, #-52]
	add	r3, r2, r3
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L190
	mov	r3, #10
	str	r3, [fp, #-60]
	b	.L191
.L190:
	ldr	r3, [fp, #-100]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-52]
	add	r3, r2, r3
	ldr	r2, [r3]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r0, r3, r2
	ldr	r3, [fp, #-100]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	ldr	r2, [fp, #-52]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r1, r3
	bl	__aeabi_idiv
	mov	r3, r0
	str	r3, [fp, #-60]
.L191:
	ldr	r3, [fp, #-60]
	str	r3, [fp, #-56]
	b	.L188
.L189:
	ldr	r3, [fp, #-100]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-52]
	add	r3, r2, r3
	ldr	r0, [r3]
	ldr	r3, [fp, #-100]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	ldr	r2, [fp, #-52]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r1, r3
	bl	__aeabi_idiv
	mov	r3, r0
	str	r3, [fp, #-60]
	ldr	r3, [fp, #-100]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-52]
	add	r3, r2, r3
	ldr	r0, [r3]
	ldr	r3, [fp, #-100]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-52]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r1, r3
	bl	__aeabi_idiv
	mov	r3, r0
	str	r3, [fp, #-56]
.L188:
	ldr	r3, [fp, #-60]
	cmp	r3, #2
	ble	.L192
	ldr	r3, [fp, #-56]
	cmp	r3, #2
	ble	.L192
	ldr	r3, [fp, #-100]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-52]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-100]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-44]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-28]
	mov	r3, #0
	str	r3, [fp, #-96]
	b	.L193
.L196:
	ldr	r3, .L198+32
	ldr	r2, [r3]
	ldr	r1, [fp, #4]
	ldr	r3, [fp, #-28]
	add	r1, r1, r3
	ldr	r3, [fp, #-96]
	add	r3, r1, r3
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-24]
	and	r3, r3, #1
	cmp	r3, #0
	bne	.L194
	ldr	r3, .L198+24
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, #1
	str	r2, [r3]
	ldr	r3, .L198+24
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, #1
	str	r2, [r3]
	b	.L195
.L194:
	ldr	r3, .L198+24
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, #1
	str	r2, [r3]
	ldr	r3, .L198+24
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	add	r3, r2, r3
	mov	r2, #1
	str	r2, [r3]
.L195:
	ldr	r3, [fp, #-96]
	add	r3, r3, #1
	str	r3, [fp, #-96]
.L193:
	ldr	r2, [fp, #-96]
	ldr	r3, [fp, #-32]
	cmp	r2, r3
	blt	.L196
.L192:
	ldr	r3, [fp, #-100]
	add	r3, r3, #1
	str	r3, [fp, #-100]
.L184:
	ldr	r2, [fp, #-100]
	ldr	r3, [fp, #-72]
	cmp	r2, r3
	blt	.L197
	nop
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L199:
	.align	2
.L198:
	.word	.LC33
	.word	5000
	.word	20000
	.word	hit_matlocu1
	.word	1120403456
	.word	hit_linkdex1
	.word	hit_masks
	.word	hit_matlocu2
	.word	hit_linkdex2
	.size	PCRdup_Process, .-PCRdup_Process
	.section	.rodata
	.align	2
.LC68:
	.ascii	"Stack error: NSTACK too small\000"
	.align	2
.LC69:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	ArraySort_Long
	.syntax unified
	.arm
	.fpu softvfp
	.type	ArraySort_Long, %function
ArraySort_Long:
	@ args = 0, pretend = 0, frame = 64
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #64
	str	r0, [fp, #-64]
	str	r1, [fp, #-68]
	ldr	r3, .L226
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, sp
	mov	lr, r3
	ldr	r3, [fp, #-64]
	sub	r3, r3, #1
	str	r3, [fp, #-52]
	mov	r3, #0
	str	r3, [fp, #-44]
	mov	r3, #0
	str	r3, [fp, #-40]
	mov	r3, #50
	str	r3, [fp, #-36]
	ldr	ip, [fp, #-36]
	sub	r3, ip, #1
	str	r3, [fp, #-32]
	mov	r3, ip
	mov	r0, r3
	mov	r1, #0
	mov	r2, #0
	mov	r3, #0
	lsl	r3, r1, #5
	orr	r3, r3, r0, lsr #27
	lsl	r2, r0, #5
	mov	r3, ip
	mov	r0, r3
	mov	r1, #0
	mov	r2, #0
	mov	r3, #0
	lsl	r3, r1, #5
	orr	r3, r3, r0, lsr #27
	lsl	r2, r0, #5
	mov	r3, ip
	lsl	r3, r3, #2
	add	r3, r3, #7
	lsr	r3, r3, #3
	lsl	r3, r3, #3
	sub	sp, sp, r3
	mov	r3, sp
	add	r3, r3, #3
	lsr	r3, r3, #2
	lsl	r3, r3, #2
	str	r3, [fp, #-28]
	mov	r3, #7
	str	r3, [fp, #-24]
.L220:
	ldr	r2, [fp, #-52]
	ldr	r3, [fp, #-44]
	sub	r3, r2, r3
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	ble	.L201
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	str	r3, [fp, #-56]
	b	.L202
.L207:
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-56]
	sub	r3, r3, #1
	str	r3, [fp, #-48]
	b	.L203
.L206:
	ldr	r3, [fp, #-48]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	bge	.L224
	ldr	r3, [fp, #-48]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r2, r2, r3
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r1, [fp, #-68]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-48]
	sub	r3, r3, #1
	str	r3, [fp, #-48]
.L203:
	ldr	r2, [fp, #-48]
	ldr	r3, [fp, #-44]
	cmp	r2, r3
	bge	.L206
	b	.L205
.L224:
	nop
.L205:
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldr	r2, [fp, #-12]
	str	r2, [r3]
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	str	r3, [fp, #-56]
.L202:
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-52]
	cmp	r2, r3
	ble	.L207
	ldr	r3, [fp, #-40]
	cmp	r3, #0
	bne	.L208
	mov	sp, lr
	nop
	ldr	r3, .L226
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L221
	b	.L222
.L208:
	ldr	r3, [fp, #-40]
	sub	r2, r3, #1
	str	r2, [fp, #-40]
	ldr	r2, [fp, #-28]
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-52]
	ldr	r3, [fp, #-40]
	sub	r2, r3, #1
	str	r2, [fp, #-40]
	ldr	r2, [fp, #-28]
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-44]
	b	.L220
.L201:
	ldr	r2, [fp, #-44]
	ldr	r3, [fp, #-52]
	add	r3, r2, r3
	asr	r3, r3, #1
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r2, r2, r3
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-68]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldr	r2, [fp, #-16]
	str	r2, [r3]
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-68]
	add	r3, r1, r3
	ldr	r3, [r3]
	cmp	r2, r3
	ble	.L211
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r2, r2, r3
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-68]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldr	r2, [fp, #-16]
	str	r2, [r3]
.L211:
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-68]
	add	r3, r1, r3
	ldr	r3, [r3]
	cmp	r2, r3
	ble	.L212
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r2, r2, r3
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r1, [fp, #-68]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldr	r2, [fp, #-16]
	str	r2, [r3]
.L212:
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r1, [fp, #-68]
	add	r3, r1, r3
	ldr	r3, [r3]
	cmp	r2, r3
	ble	.L213
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r2, r2, r3
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-68]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldr	r2, [fp, #-16]
	str	r2, [r3]
.L213:
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-52]
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-12]
.L214:
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-48]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	bgt	.L214
.L215:
	ldr	r3, [fp, #-56]
	sub	r3, r3, #1
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	blt	.L215
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-48]
	cmp	r2, r3
	blt	.L225
	ldr	r3, [fp, #-48]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r2, r2, r3
	ldr	r3, [fp, #-48]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-68]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldr	r2, [fp, #-16]
	str	r2, [r3]
	b	.L214
.L225:
	nop
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r2, r2, r3
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r1, [fp, #-68]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldr	r2, [fp, #-12]
	str	r2, [r3]
	ldr	r3, [fp, #-40]
	add	r3, r3, #2
	str	r3, [fp, #-40]
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-36]
	cmp	r2, r3
	ble	.L218
	ldr	r0, .L226+4
	bl	puts
	mov	r0, #0
	bl	exit
.L218:
	ldr	r2, [fp, #-52]
	ldr	r3, [fp, #-48]
	sub	r3, r2, r3
	add	r2, r3, #1
	ldr	r1, [fp, #-56]
	ldr	r3, [fp, #-44]
	sub	r3, r1, r3
	cmp	r2, r3
	blt	.L219
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-40]
	ldr	r1, [fp, #-52]
	str	r1, [r3, r2, lsl #2]
	ldr	r3, [fp, #-40]
	sub	r2, r3, #1
	ldr	r3, [fp, #-28]
	ldr	r1, [fp, #-48]
	str	r1, [r3, r2, lsl #2]
	ldr	r3, [fp, #-56]
	sub	r3, r3, #1
	str	r3, [fp, #-52]
	b	.L220
.L219:
	ldr	r3, [fp, #-56]
	sub	r1, r3, #1
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-40]
	str	r1, [r3, r2, lsl #2]
	ldr	r3, [fp, #-40]
	sub	r2, r3, #1
	ldr	r3, [fp, #-28]
	ldr	r1, [fp, #-44]
	str	r1, [r3, r2, lsl #2]
	ldr	r3, [fp, #-48]
	str	r3, [fp, #-44]
	b	.L220
.L222:
	bl	__stack_chk_fail
.L221:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L227:
	.align	2
.L226:
	.word	.LC69
	.word	.LC68
	.size	ArraySort_Long, .-ArraySort_Long
	.section	.rodata
	.align	2
.LC70:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	ArraySort_Int
	.syntax unified
	.arm
	.fpu softvfp
	.type	ArraySort_Int, %function
ArraySort_Int:
	@ args = 0, pretend = 0, frame = 64
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #64
	str	r0, [fp, #-64]
	str	r1, [fp, #-68]
	ldr	r3, .L254
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, sp
	mov	lr, r3
	ldr	r3, [fp, #-64]
	sub	r3, r3, #1
	str	r3, [fp, #-52]
	mov	r3, #0
	str	r3, [fp, #-44]
	mov	r3, #0
	str	r3, [fp, #-40]
	mov	r3, #50
	str	r3, [fp, #-36]
	ldr	ip, [fp, #-36]
	sub	r3, ip, #1
	str	r3, [fp, #-32]
	mov	r3, ip
	mov	r0, r3
	mov	r1, #0
	mov	r2, #0
	mov	r3, #0
	lsl	r3, r1, #5
	orr	r3, r3, r0, lsr #27
	lsl	r2, r0, #5
	mov	r3, ip
	mov	r0, r3
	mov	r1, #0
	mov	r2, #0
	mov	r3, #0
	lsl	r3, r1, #5
	orr	r3, r3, r0, lsr #27
	lsl	r2, r0, #5
	mov	r3, ip
	lsl	r3, r3, #2
	add	r3, r3, #7
	lsr	r3, r3, #3
	lsl	r3, r3, #3
	sub	sp, sp, r3
	mov	r3, sp
	add	r3, r3, #3
	lsr	r3, r3, #2
	lsl	r3, r3, #2
	str	r3, [fp, #-28]
	mov	r3, #7
	str	r3, [fp, #-24]
.L248:
	ldr	r2, [fp, #-52]
	ldr	r3, [fp, #-44]
	sub	r3, r2, r3
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	ble	.L229
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	str	r3, [fp, #-56]
	b	.L230
.L235:
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-56]
	sub	r3, r3, #1
	str	r3, [fp, #-48]
	b	.L231
.L234:
	ldr	r3, [fp, #-48]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	bge	.L252
	ldr	r3, [fp, #-48]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r2, r2, r3
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r1, [fp, #-68]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-48]
	sub	r3, r3, #1
	str	r3, [fp, #-48]
.L231:
	ldr	r2, [fp, #-48]
	ldr	r3, [fp, #-44]
	cmp	r2, r3
	bge	.L234
	b	.L233
.L252:
	nop
.L233:
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldr	r2, [fp, #-12]
	str	r2, [r3]
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	str	r3, [fp, #-56]
.L230:
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-52]
	cmp	r2, r3
	ble	.L235
	ldr	r3, [fp, #-40]
	cmp	r3, #0
	bne	.L236
	mov	sp, lr
	nop
	ldr	r3, .L254
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L249
	b	.L250
.L236:
	ldr	r3, [fp, #-40]
	sub	r2, r3, #1
	str	r2, [fp, #-40]
	ldr	r2, [fp, #-28]
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-52]
	ldr	r3, [fp, #-40]
	sub	r2, r3, #1
	str	r2, [fp, #-40]
	ldr	r2, [fp, #-28]
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-44]
	b	.L248
.L229:
	ldr	r2, [fp, #-44]
	ldr	r3, [fp, #-52]
	add	r3, r2, r3
	asr	r3, r3, #1
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r2, r2, r3
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-68]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldr	r2, [fp, #-16]
	str	r2, [r3]
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-68]
	add	r3, r1, r3
	ldr	r3, [r3]
	cmp	r2, r3
	ble	.L239
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r2, r2, r3
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-68]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldr	r2, [fp, #-16]
	str	r2, [r3]
.L239:
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-68]
	add	r3, r1, r3
	ldr	r3, [r3]
	cmp	r2, r3
	ble	.L240
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r2, r2, r3
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r1, [fp, #-68]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldr	r2, [fp, #-16]
	str	r2, [r3]
.L240:
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r1, [fp, #-68]
	add	r3, r1, r3
	ldr	r3, [r3]
	cmp	r2, r3
	ble	.L241
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r2, r2, r3
	ldr	r3, [fp, #-44]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-68]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldr	r2, [fp, #-16]
	str	r2, [r3]
.L241:
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-52]
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-12]
.L242:
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-48]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	bgt	.L242
.L243:
	ldr	r3, [fp, #-56]
	sub	r3, r3, #1
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	blt	.L243
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-48]
	cmp	r2, r3
	blt	.L253
	ldr	r3, [fp, #-48]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r2, r2, r3
	ldr	r3, [fp, #-48]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-68]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldr	r2, [fp, #-16]
	str	r2, [r3]
	b	.L242
.L253:
	nop
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r2, r2, r3
	ldr	r3, [fp, #-44]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r1, [fp, #-68]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldr	r2, [fp, #-12]
	str	r2, [r3]
	ldr	r3, [fp, #-40]
	add	r3, r3, #2
	str	r3, [fp, #-40]
	ldr	r2, [fp, #-40]
	ldr	r3, [fp, #-36]
	cmp	r2, r3
	ble	.L246
	ldr	r0, .L254+4
	bl	puts
	mov	r0, #0
	bl	exit
.L246:
	ldr	r2, [fp, #-52]
	ldr	r3, [fp, #-48]
	sub	r3, r2, r3
	add	r2, r3, #1
	ldr	r1, [fp, #-56]
	ldr	r3, [fp, #-44]
	sub	r3, r1, r3
	cmp	r2, r3
	blt	.L247
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-40]
	ldr	r1, [fp, #-52]
	str	r1, [r3, r2, lsl #2]
	ldr	r3, [fp, #-40]
	sub	r2, r3, #1
	ldr	r3, [fp, #-28]
	ldr	r1, [fp, #-48]
	str	r1, [r3, r2, lsl #2]
	ldr	r3, [fp, #-56]
	sub	r3, r3, #1
	str	r3, [fp, #-52]
	b	.L248
.L247:
	ldr	r3, [fp, #-56]
	sub	r1, r3, #1
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-40]
	str	r1, [r3, r2, lsl #2]
	ldr	r3, [fp, #-40]
	sub	r2, r3, #1
	ldr	r3, [fp, #-28]
	ldr	r1, [fp, #-44]
	str	r1, [r3, r2, lsl #2]
	ldr	r3, [fp, #-48]
	str	r3, [fp, #-44]
	b	.L248
.L250:
	bl	__stack_chk_fail
.L249:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L255:
	.align	2
.L254:
	.word	.LC70
	.word	.LC68
	.size	ArraySort_Int, .-ArraySort_Int
	.section	.rodata
	.align	2
.LC71:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	ArraySort_Mix
	.syntax unified
	.arm
	.fpu softvfp
	.type	ArraySort_Mix, %function
ArraySort_Mix:
	@ args = 0, pretend = 0, frame = 72
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #72
	str	r0, [fp, #-64]
	str	r1, [fp, #-68]
	str	r2, [fp, #-72]
	ldr	r3, .L282
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, sp
	mov	lr, r3
	ldr	r3, [fp, #-64]
	sub	r3, r3, #1
	str	r3, [fp, #-56]
	mov	r3, #0
	str	r3, [fp, #-48]
	mov	r3, #0
	str	r3, [fp, #-44]
	mov	r3, #50
	str	r3, [fp, #-40]
	ldr	ip, [fp, #-40]
	sub	r3, ip, #1
	str	r3, [fp, #-36]
	mov	r3, ip
	mov	r0, r3
	mov	r1, #0
	mov	r2, #0
	mov	r3, #0
	lsl	r3, r1, #5
	orr	r3, r3, r0, lsr #27
	lsl	r2, r0, #5
	mov	r3, ip
	mov	r0, r3
	mov	r1, #0
	mov	r2, #0
	mov	r3, #0
	lsl	r3, r1, #5
	orr	r3, r3, r0, lsr #27
	lsl	r2, r0, #5
	mov	r3, ip
	lsl	r3, r3, #2
	add	r3, r3, #7
	lsr	r3, r3, #3
	lsl	r3, r3, #3
	sub	sp, sp, r3
	mov	r3, sp
	add	r3, r3, #3
	lsr	r3, r3, #2
	lsl	r3, r3, #2
	str	r3, [fp, #-32]
	mov	r3, #7
	str	r3, [fp, #-28]
.L276:
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-48]
	sub	r3, r2, r3
	ldr	r2, [fp, #-28]
	cmp	r2, r3
	ble	.L257
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	str	r3, [fp, #-60]
	b	.L258
.L263:
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-72]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-60]
	sub	r3, r3, #1
	str	r3, [fp, #-52]
	b	.L259
.L262:
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	bge	.L280
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r2, r2, r3
	ldr	r3, [fp, #-52]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r1, [fp, #-68]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-72]
	add	r2, r2, r3
	ldr	r3, [fp, #-52]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r1, [fp, #-72]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-52]
	sub	r3, r3, #1
	str	r3, [fp, #-52]
.L259:
	ldr	r2, [fp, #-52]
	ldr	r3, [fp, #-48]
	cmp	r2, r3
	bge	.L262
	b	.L261
.L280:
	nop
.L261:
	ldr	r3, [fp, #-52]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldr	r2, [fp, #-16]
	str	r2, [r3]
	ldr	r3, [fp, #-52]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-72]
	add	r3, r2, r3
	ldr	r2, [fp, #-12]
	str	r2, [r3]
	ldr	r3, [fp, #-60]
	add	r3, r3, #1
	str	r3, [fp, #-60]
.L258:
	ldr	r2, [fp, #-60]
	ldr	r3, [fp, #-56]
	cmp	r2, r3
	ble	.L263
	ldr	r3, [fp, #-44]
	cmp	r3, #0
	bne	.L264
	mov	sp, lr
	nop
	ldr	r3, .L282
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L277
	b	.L278
.L264:
	ldr	r3, [fp, #-44]
	sub	r2, r3, #1
	str	r2, [fp, #-44]
	ldr	r2, [fp, #-32]
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-44]
	sub	r2, r3, #1
	str	r2, [fp, #-44]
	ldr	r2, [fp, #-32]
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-48]
	b	.L276
.L257:
	ldr	r2, [fp, #-48]
	ldr	r3, [fp, #-56]
	add	r3, r2, r3
	asr	r3, r3, #1
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r2, r2, r3
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-68]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldr	r2, [fp, #-20]
	str	r2, [r3]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-72]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-72]
	add	r2, r2, r3
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-72]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-72]
	add	r3, r2, r3
	ldr	r2, [fp, #-20]
	str	r2, [r3]
	ldr	r3, [fp, #-48]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-68]
	add	r3, r1, r3
	ldr	r3, [r3]
	cmp	r2, r3
	ble	.L267
	ldr	r3, [fp, #-48]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r2, r2, r3
	ldr	r3, [fp, #-48]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-68]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldr	r2, [fp, #-20]
	str	r2, [r3]
	ldr	r3, [fp, #-48]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-72]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-72]
	add	r2, r2, r3
	ldr	r3, [fp, #-48]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-72]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-72]
	add	r3, r2, r3
	ldr	r2, [fp, #-20]
	str	r2, [r3]
.L267:
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-68]
	add	r3, r1, r3
	ldr	r3, [r3]
	cmp	r2, r3
	ble	.L268
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r2, r2, r3
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r1, [fp, #-68]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldr	r2, [fp, #-20]
	str	r2, [r3]
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-72]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-72]
	add	r2, r2, r3
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r1, [fp, #-72]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-72]
	add	r3, r2, r3
	ldr	r2, [fp, #-20]
	str	r2, [r3]
.L268:
	ldr	r3, [fp, #-48]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r1, [fp, #-68]
	add	r3, r1, r3
	ldr	r3, [r3]
	cmp	r2, r3
	ble	.L269
	ldr	r3, [fp, #-48]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r2, r2, r3
	ldr	r3, [fp, #-48]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-68]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldr	r2, [fp, #-20]
	str	r2, [r3]
	ldr	r3, [fp, #-48]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-72]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-72]
	add	r2, r2, r3
	ldr	r3, [fp, #-48]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-72]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-72]
	add	r3, r2, r3
	ldr	r2, [fp, #-20]
	str	r2, [r3]
.L269:
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	str	r3, [fp, #-52]
	ldr	r3, [fp, #-56]
	str	r3, [fp, #-60]
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-72]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-12]
.L270:
	ldr	r3, [fp, #-52]
	add	r3, r3, #1
	str	r3, [fp, #-52]
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	bgt	.L270
.L271:
	ldr	r3, [fp, #-60]
	sub	r3, r3, #1
	str	r3, [fp, #-60]
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	blt	.L271
	ldr	r2, [fp, #-60]
	ldr	r3, [fp, #-52]
	cmp	r2, r3
	blt	.L281
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r2, r2, r3
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-68]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldr	r2, [fp, #-20]
	str	r2, [r3]
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-72]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-72]
	add	r2, r2, r3
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-72]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-72]
	add	r3, r2, r3
	ldr	r2, [fp, #-20]
	str	r2, [r3]
	b	.L270
.L281:
	nop
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r2, r2, r3
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r1, [fp, #-68]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldr	r2, [fp, #-16]
	str	r2, [r3]
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-72]
	add	r2, r2, r3
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r1, [fp, #-72]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-72]
	add	r3, r2, r3
	ldr	r2, [fp, #-12]
	str	r2, [r3]
	ldr	r3, [fp, #-44]
	add	r3, r3, #2
	str	r3, [fp, #-44]
	ldr	r2, [fp, #-44]
	ldr	r3, [fp, #-40]
	cmp	r2, r3
	ble	.L274
	ldr	r0, .L282+4
	bl	puts
	mov	r0, #0
	bl	exit
.L274:
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-52]
	sub	r3, r2, r3
	add	r2, r3, #1
	ldr	r1, [fp, #-60]
	ldr	r3, [fp, #-48]
	sub	r3, r1, r3
	cmp	r2, r3
	blt	.L275
	ldr	r3, [fp, #-32]
	ldr	r2, [fp, #-44]
	ldr	r1, [fp, #-56]
	str	r1, [r3, r2, lsl #2]
	ldr	r3, [fp, #-44]
	sub	r2, r3, #1
	ldr	r3, [fp, #-32]
	ldr	r1, [fp, #-52]
	str	r1, [r3, r2, lsl #2]
	ldr	r3, [fp, #-60]
	sub	r3, r3, #1
	str	r3, [fp, #-56]
	b	.L276
.L275:
	ldr	r3, [fp, #-60]
	sub	r1, r3, #1
	ldr	r3, [fp, #-32]
	ldr	r2, [fp, #-44]
	str	r1, [r3, r2, lsl #2]
	ldr	r3, [fp, #-44]
	sub	r2, r3, #1
	ldr	r3, [fp, #-32]
	ldr	r1, [fp, #-48]
	str	r1, [r3, r2, lsl #2]
	ldr	r3, [fp, #-52]
	str	r3, [fp, #-48]
	b	.L276
.L278:
	bl	__stack_chk_fail
.L277:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L283:
	.align	2
.L282:
	.word	.LC71
	.word	.LC68
	.size	ArraySort_Mix, .-ArraySort_Mix
	.section	.rodata
	.align	2
.LC72:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	ArraySort_Int2
	.syntax unified
	.arm
	.fpu softvfp
	.type	ArraySort_Int2, %function
ArraySort_Int2:
	@ args = 0, pretend = 0, frame = 72
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #72
	str	r0, [fp, #-64]
	str	r1, [fp, #-68]
	str	r2, [fp, #-72]
	ldr	r3, .L310
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, sp
	mov	lr, r3
	ldr	r3, [fp, #-64]
	sub	r3, r3, #1
	str	r3, [fp, #-56]
	mov	r3, #0
	str	r3, [fp, #-48]
	mov	r3, #0
	str	r3, [fp, #-44]
	mov	r3, #50
	str	r3, [fp, #-40]
	ldr	ip, [fp, #-40]
	sub	r3, ip, #1
	str	r3, [fp, #-36]
	mov	r3, ip
	mov	r0, r3
	mov	r1, #0
	mov	r2, #0
	mov	r3, #0
	lsl	r3, r1, #5
	orr	r3, r3, r0, lsr #27
	lsl	r2, r0, #5
	mov	r3, ip
	mov	r0, r3
	mov	r1, #0
	mov	r2, #0
	mov	r3, #0
	lsl	r3, r1, #5
	orr	r3, r3, r0, lsr #27
	lsl	r2, r0, #5
	mov	r3, ip
	lsl	r3, r3, #2
	add	r3, r3, #7
	lsr	r3, r3, #3
	lsl	r3, r3, #3
	sub	sp, sp, r3
	mov	r3, sp
	add	r3, r3, #3
	lsr	r3, r3, #2
	lsl	r3, r3, #2
	str	r3, [fp, #-32]
	mov	r3, #7
	str	r3, [fp, #-28]
.L304:
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-48]
	sub	r3, r2, r3
	ldr	r2, [fp, #-28]
	cmp	r2, r3
	ble	.L285
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	str	r3, [fp, #-60]
	b	.L286
.L291:
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-72]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-60]
	sub	r3, r3, #1
	str	r3, [fp, #-52]
	b	.L287
.L290:
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	bge	.L308
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r2, r2, r3
	ldr	r3, [fp, #-52]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r1, [fp, #-68]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-72]
	add	r2, r2, r3
	ldr	r3, [fp, #-52]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r1, [fp, #-72]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-52]
	sub	r3, r3, #1
	str	r3, [fp, #-52]
.L287:
	ldr	r2, [fp, #-52]
	ldr	r3, [fp, #-48]
	cmp	r2, r3
	bge	.L290
	b	.L289
.L308:
	nop
.L289:
	ldr	r3, [fp, #-52]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldr	r2, [fp, #-16]
	str	r2, [r3]
	ldr	r3, [fp, #-52]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-72]
	add	r3, r2, r3
	ldr	r2, [fp, #-12]
	str	r2, [r3]
	ldr	r3, [fp, #-60]
	add	r3, r3, #1
	str	r3, [fp, #-60]
.L286:
	ldr	r2, [fp, #-60]
	ldr	r3, [fp, #-56]
	cmp	r2, r3
	ble	.L291
	ldr	r3, [fp, #-44]
	cmp	r3, #0
	bne	.L292
	mov	sp, lr
	nop
	ldr	r3, .L310
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L305
	b	.L306
.L292:
	ldr	r3, [fp, #-44]
	sub	r2, r3, #1
	str	r2, [fp, #-44]
	ldr	r2, [fp, #-32]
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-44]
	sub	r2, r3, #1
	str	r2, [fp, #-44]
	ldr	r2, [fp, #-32]
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-48]
	b	.L304
.L285:
	ldr	r2, [fp, #-48]
	ldr	r3, [fp, #-56]
	add	r3, r2, r3
	asr	r3, r3, #1
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r2, r2, r3
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-68]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldr	r2, [fp, #-20]
	str	r2, [r3]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-72]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-72]
	add	r2, r2, r3
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-72]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-72]
	add	r3, r2, r3
	ldr	r2, [fp, #-20]
	str	r2, [r3]
	ldr	r3, [fp, #-48]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-68]
	add	r3, r1, r3
	ldr	r3, [r3]
	cmp	r2, r3
	ble	.L295
	ldr	r3, [fp, #-48]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r2, r2, r3
	ldr	r3, [fp, #-48]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-68]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldr	r2, [fp, #-20]
	str	r2, [r3]
	ldr	r3, [fp, #-48]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-72]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-72]
	add	r2, r2, r3
	ldr	r3, [fp, #-48]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-72]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-72]
	add	r3, r2, r3
	ldr	r2, [fp, #-20]
	str	r2, [r3]
.L295:
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-68]
	add	r3, r1, r3
	ldr	r3, [r3]
	cmp	r2, r3
	ble	.L296
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r2, r2, r3
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r1, [fp, #-68]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldr	r2, [fp, #-20]
	str	r2, [r3]
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-72]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-72]
	add	r2, r2, r3
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r1, [fp, #-72]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-72]
	add	r3, r2, r3
	ldr	r2, [fp, #-20]
	str	r2, [r3]
.L296:
	ldr	r3, [fp, #-48]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r1, [fp, #-68]
	add	r3, r1, r3
	ldr	r3, [r3]
	cmp	r2, r3
	ble	.L297
	ldr	r3, [fp, #-48]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r2, r2, r3
	ldr	r3, [fp, #-48]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-68]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldr	r2, [fp, #-20]
	str	r2, [r3]
	ldr	r3, [fp, #-48]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-72]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-72]
	add	r2, r2, r3
	ldr	r3, [fp, #-48]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-72]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-72]
	add	r3, r2, r3
	ldr	r2, [fp, #-20]
	str	r2, [r3]
.L297:
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	str	r3, [fp, #-52]
	ldr	r3, [fp, #-56]
	str	r3, [fp, #-60]
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-72]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-12]
.L298:
	ldr	r3, [fp, #-52]
	add	r3, r3, #1
	str	r3, [fp, #-52]
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	bgt	.L298
.L299:
	ldr	r3, [fp, #-60]
	sub	r3, r3, #1
	str	r3, [fp, #-60]
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	blt	.L299
	ldr	r2, [fp, #-60]
	ldr	r3, [fp, #-52]
	cmp	r2, r3
	blt	.L309
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r2, r2, r3
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-68]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldr	r2, [fp, #-20]
	str	r2, [r3]
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-72]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-72]
	add	r2, r2, r3
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-72]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-72]
	add	r3, r2, r3
	ldr	r2, [fp, #-20]
	str	r2, [r3]
	b	.L298
.L309:
	nop
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r2, r2, r3
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r1, [fp, #-68]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldr	r2, [fp, #-16]
	str	r2, [r3]
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-72]
	add	r2, r2, r3
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r1, [fp, #-72]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-72]
	add	r3, r2, r3
	ldr	r2, [fp, #-12]
	str	r2, [r3]
	ldr	r3, [fp, #-44]
	add	r3, r3, #2
	str	r3, [fp, #-44]
	ldr	r2, [fp, #-44]
	ldr	r3, [fp, #-40]
	cmp	r2, r3
	ble	.L302
	ldr	r0, .L310+4
	bl	puts
	mov	r0, #0
	bl	exit
.L302:
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-52]
	sub	r3, r2, r3
	add	r2, r3, #1
	ldr	r1, [fp, #-60]
	ldr	r3, [fp, #-48]
	sub	r3, r1, r3
	cmp	r2, r3
	blt	.L303
	ldr	r3, [fp, #-32]
	ldr	r2, [fp, #-44]
	ldr	r1, [fp, #-56]
	str	r1, [r3, r2, lsl #2]
	ldr	r3, [fp, #-44]
	sub	r2, r3, #1
	ldr	r3, [fp, #-32]
	ldr	r1, [fp, #-52]
	str	r1, [r3, r2, lsl #2]
	ldr	r3, [fp, #-60]
	sub	r3, r3, #1
	str	r3, [fp, #-56]
	b	.L304
.L303:
	ldr	r3, [fp, #-60]
	sub	r1, r3, #1
	ldr	r3, [fp, #-32]
	ldr	r2, [fp, #-44]
	str	r1, [r3, r2, lsl #2]
	ldr	r3, [fp, #-44]
	sub	r2, r3, #1
	ldr	r3, [fp, #-32]
	ldr	r1, [fp, #-48]
	str	r1, [r3, r2, lsl #2]
	ldr	r3, [fp, #-52]
	str	r3, [fp, #-48]
	b	.L304
.L306:
	bl	__stack_chk_fail
.L305:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L311:
	.align	2
.L310:
	.word	.LC72
	.word	.LC68
	.size	ArraySort_Int2, .-ArraySort_Int2
	.global	__aeabi_fcmpge
	.global	__aeabi_f2iz
	.global	__aeabi_fcmplt
	.section	.rodata
	.align	2
.LC73:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	ArraySort_float
	.syntax unified
	.arm
	.fpu softvfp
	.type	ArraySort_float, %function
ArraySort_float:
	@ args = 0, pretend = 0, frame = 72
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, fp, lr}
	add	fp, sp, #12
	sub	sp, sp, #72
	str	r0, [fp, #-72]
	str	r1, [fp, #-76]
	str	r2, [fp, #-80]
	ldr	r3, .L345
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	mov	r3, sp
	mov	r5, r3
	ldr	r3, [fp, #-72]
	sub	r3, r3, #1
	str	r3, [fp, #-64]
	mov	r3, #0
	str	r3, [fp, #-56]
	mov	r3, #0
	str	r3, [fp, #-52]
	mov	r3, #50
	str	r3, [fp, #-48]
	ldr	ip, [fp, #-48]
	sub	r3, ip, #1
	str	r3, [fp, #-44]
	mov	r3, ip
	mov	r0, r3
	mov	r1, #0
	mov	r2, #0
	mov	r3, #0
	lsl	r3, r1, #5
	orr	r3, r3, r0, lsr #27
	lsl	r2, r0, #5
	mov	r3, ip
	mov	r0, r3
	mov	r1, #0
	mov	r2, #0
	mov	r3, #0
	lsl	r3, r1, #5
	orr	r3, r3, r0, lsr #27
	lsl	r2, r0, #5
	mov	r3, ip
	lsl	r3, r3, #2
	add	r3, r3, #7
	lsr	r3, r3, #3
	lsl	r3, r3, #3
	sub	sp, sp, r3
	mov	r3, sp
	add	r3, r3, #3
	lsr	r3, r3, #2
	lsl	r3, r3, #2
	str	r3, [fp, #-40]
	mov	r3, #7
	str	r3, [fp, #-36]
.L336:
	ldr	r2, [fp, #-64]
	ldr	r3, [fp, #-56]
	sub	r3, r2, r3
	ldr	r2, [fp, #-36]
	cmp	r2, r3
	ble	.L313
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	str	r3, [fp, #-68]
	b	.L314
.L320:
	ldr	r3, [fp, #-68]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-76]
	add	r3, r2, r3
	ldr	r3, [r3]	@ float
	str	r3, [fp, #-24]	@ float
	ldr	r3, [fp, #-68]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-80]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-68]
	sub	r3, r3, #1
	str	r3, [fp, #-60]
	b	.L315
.L319:
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-76]
	add	r3, r2, r3
	ldr	r3, [r3]	@ float
	mov	r1, r3
	ldr	r0, [fp, #-24]	@ float
	bl	__aeabi_fcmpge
	mov	r3, r0
	cmp	r3, #0
	bne	.L343
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-76]
	add	r2, r2, r3
	ldr	r3, [fp, #-60]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r1, [fp, #-76]
	add	r3, r1, r3
	ldr	r2, [r2]	@ float
	str	r2, [r3]	@ float
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-80]
	add	r2, r2, r3
	ldr	r3, [fp, #-60]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r1, [fp, #-80]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-60]
	sub	r3, r3, #1
	str	r3, [fp, #-60]
.L315:
	ldr	r2, [fp, #-60]
	ldr	r3, [fp, #-56]
	cmp	r2, r3
	bge	.L319
	b	.L318
.L343:
	nop
.L318:
	ldr	r3, [fp, #-60]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-76]
	add	r3, r2, r3
	ldr	r2, [fp, #-24]	@ float
	str	r2, [r3]	@ float
	ldr	r3, [fp, #-60]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-80]
	add	r3, r2, r3
	ldr	r2, [fp, #-20]
	str	r2, [r3]
	ldr	r3, [fp, #-68]
	add	r3, r3, #1
	str	r3, [fp, #-68]
.L314:
	ldr	r2, [fp, #-68]
	ldr	r3, [fp, #-64]
	cmp	r2, r3
	ble	.L320
	ldr	r3, [fp, #-52]
	cmp	r3, #0
	bne	.L321
	mov	sp, r5
	nop
	ldr	r3, .L345
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L337
	b	.L341
.L321:
	ldr	r3, [fp, #-52]
	sub	r2, r3, #1
	str	r2, [fp, #-52]
	ldr	r2, [fp, #-40]
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-64]
	ldr	r3, [fp, #-52]
	sub	r2, r3, #1
	str	r2, [fp, #-52]
	ldr	r2, [fp, #-40]
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-56]
	b	.L336
.L313:
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-64]
	add	r3, r2, r3
	asr	r3, r3, #1
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-76]
	add	r3, r2, r3
	ldr	r3, [r3]	@ float
	str	r3, [fp, #-28]	@ float
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-76]
	add	r2, r2, r3
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-76]
	add	r3, r1, r3
	ldr	r2, [r2]	@ float
	str	r2, [r3]	@ float
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-76]
	add	r3, r2, r3
	ldr	r2, [fp, #-28]	@ float
	str	r2, [r3]	@ float
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-80]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r0, r3
	bl	__aeabi_i2f
	mov	r3, r0
	str	r3, [fp, #-28]	@ float
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-80]
	add	r2, r2, r3
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-80]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-80]
	add	r4, r2, r3
	ldr	r0, [fp, #-28]	@ float
	bl	__aeabi_f2iz
	mov	r3, r0
	str	r3, [r4]
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-76]
	add	r3, r2, r3
	ldr	r0, [r3]	@ float
	ldr	r3, [fp, #-64]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-76]
	add	r3, r2, r3
	ldr	r3, [r3]	@ float
	mov	r1, r3
	bl	__aeabi_fcmpgt
	mov	r3, r0
	cmp	r3, #0
	beq	.L324
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-76]
	add	r3, r2, r3
	ldr	r3, [r3]	@ float
	str	r3, [fp, #-28]	@ float
	ldr	r3, [fp, #-64]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-76]
	add	r2, r2, r3
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-76]
	add	r3, r1, r3
	ldr	r2, [r2]	@ float
	str	r2, [r3]	@ float
	ldr	r3, [fp, #-64]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-76]
	add	r3, r2, r3
	ldr	r2, [fp, #-28]	@ float
	str	r2, [r3]	@ float
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-80]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r0, r3
	bl	__aeabi_i2f
	mov	r3, r0
	str	r3, [fp, #-28]	@ float
	ldr	r3, [fp, #-64]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-80]
	add	r2, r2, r3
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-80]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-64]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-80]
	add	r4, r2, r3
	ldr	r0, [fp, #-28]	@ float
	bl	__aeabi_f2iz
	mov	r3, r0
	str	r3, [r4]
.L324:
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-76]
	add	r3, r2, r3
	ldr	r0, [r3]	@ float
	ldr	r3, [fp, #-64]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-76]
	add	r3, r2, r3
	ldr	r3, [r3]	@ float
	mov	r1, r3
	bl	__aeabi_fcmpgt
	mov	r3, r0
	cmp	r3, #0
	beq	.L326
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-76]
	add	r3, r2, r3
	ldr	r3, [r3]	@ float
	str	r3, [fp, #-28]	@ float
	ldr	r3, [fp, #-64]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-76]
	add	r2, r2, r3
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r1, [fp, #-76]
	add	r3, r1, r3
	ldr	r2, [r2]	@ float
	str	r2, [r3]	@ float
	ldr	r3, [fp, #-64]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-76]
	add	r3, r2, r3
	ldr	r2, [fp, #-28]	@ float
	str	r2, [r3]	@ float
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-80]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r0, r3
	bl	__aeabi_i2f
	mov	r3, r0
	str	r3, [fp, #-28]	@ float
	ldr	r3, [fp, #-64]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-80]
	add	r2, r2, r3
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r1, [fp, #-80]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-64]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-80]
	add	r4, r2, r3
	ldr	r0, [fp, #-28]	@ float
	bl	__aeabi_f2iz
	mov	r3, r0
	str	r3, [r4]
.L326:
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-76]
	add	r3, r2, r3
	ldr	r0, [r3]	@ float
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-76]
	add	r3, r2, r3
	ldr	r3, [r3]	@ float
	mov	r1, r3
	bl	__aeabi_fcmpgt
	mov	r3, r0
	cmp	r3, #0
	beq	.L328
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-76]
	add	r3, r2, r3
	ldr	r3, [r3]	@ float
	str	r3, [fp, #-28]	@ float
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-76]
	add	r2, r2, r3
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-76]
	add	r3, r1, r3
	ldr	r2, [r2]	@ float
	str	r2, [r3]	@ float
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-76]
	add	r3, r2, r3
	ldr	r2, [fp, #-28]	@ float
	str	r2, [r3]	@ float
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-80]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r0, r3
	bl	__aeabi_i2f
	mov	r3, r0
	str	r3, [fp, #-28]	@ float
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-80]
	add	r2, r2, r3
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-80]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-80]
	add	r4, r2, r3
	ldr	r0, [fp, #-28]	@ float
	bl	__aeabi_f2iz
	mov	r3, r0
	str	r3, [r4]
.L328:
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	str	r3, [fp, #-60]
	ldr	r3, [fp, #-64]
	str	r3, [fp, #-68]
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-76]
	add	r3, r2, r3
	ldr	r3, [r3]	@ float
	str	r3, [fp, #-24]	@ float
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-80]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-20]
.L330:
	ldr	r3, [fp, #-60]
	add	r3, r3, #1
	str	r3, [fp, #-60]
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-76]
	add	r3, r2, r3
	ldr	r3, [r3]	@ float
	mov	r1, r3
	ldr	r0, [fp, #-24]	@ float
	bl	__aeabi_fcmpgt
	mov	r3, r0
	cmp	r3, #0
	bne	.L330
.L331:
	ldr	r3, [fp, #-68]
	sub	r3, r3, #1
	str	r3, [fp, #-68]
	ldr	r3, [fp, #-68]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-76]
	add	r3, r2, r3
	ldr	r3, [r3]	@ float
	mov	r1, r3
	ldr	r0, [fp, #-24]	@ float
	bl	__aeabi_fcmplt
	mov	r3, r0
	cmp	r3, #0
	bne	.L331
	ldr	r2, [fp, #-68]
	ldr	r3, [fp, #-60]
	cmp	r2, r3
	blt	.L344
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-76]
	add	r3, r2, r3
	ldr	r3, [r3]	@ float
	str	r3, [fp, #-28]	@ float
	ldr	r3, [fp, #-68]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-76]
	add	r2, r2, r3
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-76]
	add	r3, r1, r3
	ldr	r2, [r2]	@ float
	str	r2, [r3]	@ float
	ldr	r3, [fp, #-68]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-76]
	add	r3, r2, r3
	ldr	r2, [fp, #-28]	@ float
	str	r2, [r3]	@ float
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-80]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r0, r3
	bl	__aeabi_i2f
	mov	r3, r0
	str	r3, [fp, #-28]	@ float
	ldr	r3, [fp, #-68]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-80]
	add	r2, r2, r3
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-80]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-68]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-80]
	add	r4, r2, r3
	ldr	r0, [fp, #-28]	@ float
	bl	__aeabi_f2iz
	mov	r3, r0
	str	r3, [r4]
	b	.L330
.L344:
	nop
	ldr	r3, [fp, #-68]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-76]
	add	r2, r2, r3
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r1, [fp, #-76]
	add	r3, r1, r3
	ldr	r2, [r2]	@ float
	str	r2, [r3]	@ float
	ldr	r3, [fp, #-68]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-76]
	add	r3, r2, r3
	ldr	r2, [fp, #-24]	@ float
	str	r2, [r3]	@ float
	ldr	r3, [fp, #-68]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-80]
	add	r2, r2, r3
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r1, [fp, #-80]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-68]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-80]
	add	r3, r2, r3
	ldr	r2, [fp, #-20]
	str	r2, [r3]
	ldr	r3, [fp, #-52]
	add	r3, r3, #2
	str	r3, [fp, #-52]
	ldr	r2, [fp, #-52]
	ldr	r3, [fp, #-48]
	cmp	r2, r3
	ble	.L334
	ldr	r0, .L345+4
	bl	puts
	mov	r0, #0
	bl	exit
.L334:
	ldr	r2, [fp, #-64]
	ldr	r3, [fp, #-60]
	sub	r3, r2, r3
	add	r2, r3, #1
	ldr	r1, [fp, #-68]
	ldr	r3, [fp, #-56]
	sub	r3, r1, r3
	cmp	r2, r3
	blt	.L335
	ldr	r3, [fp, #-40]
	ldr	r2, [fp, #-52]
	ldr	r1, [fp, #-64]
	str	r1, [r3, r2, lsl #2]
	ldr	r3, [fp, #-52]
	sub	r2, r3, #1
	ldr	r3, [fp, #-40]
	ldr	r1, [fp, #-60]
	str	r1, [r3, r2, lsl #2]
	ldr	r3, [fp, #-68]
	sub	r3, r3, #1
	str	r3, [fp, #-64]
	b	.L336
.L335:
	ldr	r3, [fp, #-68]
	sub	r1, r3, #1
	ldr	r3, [fp, #-40]
	ldr	r2, [fp, #-52]
	str	r1, [r3, r2, lsl #2]
	ldr	r3, [fp, #-52]
	sub	r2, r3, #1
	ldr	r3, [fp, #-40]
	ldr	r1, [fp, #-56]
	str	r1, [r3, r2, lsl #2]
	ldr	r3, [fp, #-60]
	str	r3, [fp, #-56]
	b	.L336
.L341:
	bl	__stack_chk_fail
.L337:
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
.L346:
	.align	2
.L345:
	.word	.LC73
	.word	.LC68
	.size	ArraySort_float, .-ArraySort_float
	.section	.rodata
	.align	2
.LC74:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	ArraySort2_Int2
	.syntax unified
	.arm
	.fpu softvfp
	.type	ArraySort2_Int2, %function
ArraySort2_Int2:
	@ args = 0, pretend = 0, frame = 72
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #72
	str	r0, [fp, #-64]
	str	r1, [fp, #-68]
	str	r2, [fp, #-72]
	ldr	r3, .L373
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, sp
	mov	lr, r3
	ldr	r3, [fp, #-64]
	sub	r3, r3, #1
	str	r3, [fp, #-56]
	mov	r3, #0
	str	r3, [fp, #-48]
	mov	r3, #0
	str	r3, [fp, #-44]
	mov	r3, #50
	str	r3, [fp, #-40]
	ldr	ip, [fp, #-40]
	sub	r3, ip, #1
	str	r3, [fp, #-36]
	mov	r3, ip
	mov	r0, r3
	mov	r1, #0
	mov	r2, #0
	mov	r3, #0
	lsl	r3, r1, #5
	orr	r3, r3, r0, lsr #27
	lsl	r2, r0, #5
	mov	r3, ip
	mov	r0, r3
	mov	r1, #0
	mov	r2, #0
	mov	r3, #0
	lsl	r3, r1, #5
	orr	r3, r3, r0, lsr #27
	lsl	r2, r0, #5
	mov	r3, ip
	lsl	r3, r3, #2
	add	r3, r3, #7
	lsr	r3, r3, #3
	lsl	r3, r3, #3
	sub	sp, sp, r3
	mov	r3, sp
	add	r3, r3, #3
	lsr	r3, r3, #2
	lsl	r3, r3, #2
	str	r3, [fp, #-32]
	mov	r3, #7
	str	r3, [fp, #-28]
.L367:
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-48]
	sub	r3, r2, r3
	ldr	r2, [fp, #-28]
	cmp	r2, r3
	ble	.L348
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	str	r3, [fp, #-60]
	b	.L349
.L354:
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-72]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-60]
	sub	r3, r3, #1
	str	r3, [fp, #-52]
	b	.L350
.L353:
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	ble	.L371
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r2, r2, r3
	ldr	r3, [fp, #-52]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r1, [fp, #-68]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-72]
	add	r2, r2, r3
	ldr	r3, [fp, #-52]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r1, [fp, #-72]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-52]
	sub	r3, r3, #1
	str	r3, [fp, #-52]
.L350:
	ldr	r2, [fp, #-52]
	ldr	r3, [fp, #-48]
	cmp	r2, r3
	bge	.L353
	b	.L352
.L371:
	nop
.L352:
	ldr	r3, [fp, #-52]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldr	r2, [fp, #-16]
	str	r2, [r3]
	ldr	r3, [fp, #-52]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-72]
	add	r3, r2, r3
	ldr	r2, [fp, #-12]
	str	r2, [r3]
	ldr	r3, [fp, #-60]
	add	r3, r3, #1
	str	r3, [fp, #-60]
.L349:
	ldr	r2, [fp, #-60]
	ldr	r3, [fp, #-56]
	cmp	r2, r3
	ble	.L354
	ldr	r3, [fp, #-44]
	cmp	r3, #0
	bne	.L355
	mov	sp, lr
	nop
	ldr	r3, .L373
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L368
	b	.L369
.L355:
	ldr	r3, [fp, #-44]
	sub	r2, r3, #1
	str	r2, [fp, #-44]
	ldr	r2, [fp, #-32]
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-44]
	sub	r2, r3, #1
	str	r2, [fp, #-44]
	ldr	r2, [fp, #-32]
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-48]
	b	.L367
.L348:
	ldr	r2, [fp, #-48]
	ldr	r3, [fp, #-56]
	add	r3, r2, r3
	asr	r3, r3, #1
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r2, r2, r3
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-68]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldr	r2, [fp, #-20]
	str	r2, [r3]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-72]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-72]
	add	r2, r2, r3
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-72]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-72]
	add	r3, r2, r3
	ldr	r2, [fp, #-20]
	str	r2, [r3]
	ldr	r3, [fp, #-48]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-68]
	add	r3, r1, r3
	ldr	r3, [r3]
	cmp	r2, r3
	bge	.L358
	ldr	r3, [fp, #-48]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r2, r2, r3
	ldr	r3, [fp, #-48]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-68]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldr	r2, [fp, #-20]
	str	r2, [r3]
	ldr	r3, [fp, #-48]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-72]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-72]
	add	r2, r2, r3
	ldr	r3, [fp, #-48]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-72]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-72]
	add	r3, r2, r3
	ldr	r2, [fp, #-20]
	str	r2, [r3]
.L358:
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-68]
	add	r3, r1, r3
	ldr	r3, [r3]
	cmp	r2, r3
	bge	.L359
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r2, r2, r3
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r1, [fp, #-68]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldr	r2, [fp, #-20]
	str	r2, [r3]
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-72]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-72]
	add	r2, r2, r3
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r1, [fp, #-72]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-72]
	add	r3, r2, r3
	ldr	r2, [fp, #-20]
	str	r2, [r3]
.L359:
	ldr	r3, [fp, #-48]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r1, [fp, #-68]
	add	r3, r1, r3
	ldr	r3, [r3]
	cmp	r2, r3
	bge	.L360
	ldr	r3, [fp, #-48]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r2, r2, r3
	ldr	r3, [fp, #-48]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-68]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldr	r2, [fp, #-20]
	str	r2, [r3]
	ldr	r3, [fp, #-48]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-72]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-72]
	add	r2, r2, r3
	ldr	r3, [fp, #-48]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-72]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-72]
	add	r3, r2, r3
	ldr	r2, [fp, #-20]
	str	r2, [r3]
.L360:
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	str	r3, [fp, #-52]
	ldr	r3, [fp, #-56]
	str	r3, [fp, #-60]
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-72]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-12]
.L361:
	ldr	r3, [fp, #-52]
	add	r3, r3, #1
	str	r3, [fp, #-52]
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	blt	.L361
.L362:
	ldr	r3, [fp, #-60]
	sub	r3, r3, #1
	str	r3, [fp, #-60]
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	bgt	.L362
	ldr	r2, [fp, #-60]
	ldr	r3, [fp, #-52]
	cmp	r2, r3
	blt	.L372
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r2, r2, r3
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-68]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldr	r2, [fp, #-20]
	str	r2, [r3]
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-72]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-72]
	add	r2, r2, r3
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-72]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-72]
	add	r3, r2, r3
	ldr	r2, [fp, #-20]
	str	r2, [r3]
	b	.L361
.L372:
	nop
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r2, r2, r3
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r1, [fp, #-68]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-68]
	add	r3, r2, r3
	ldr	r2, [fp, #-16]
	str	r2, [r3]
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-72]
	add	r2, r2, r3
	ldr	r3, [fp, #-48]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r1, [fp, #-72]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-72]
	add	r3, r2, r3
	ldr	r2, [fp, #-12]
	str	r2, [r3]
	ldr	r3, [fp, #-44]
	add	r3, r3, #2
	str	r3, [fp, #-44]
	ldr	r2, [fp, #-44]
	ldr	r3, [fp, #-40]
	cmp	r2, r3
	ble	.L365
	ldr	r0, .L373+4
	bl	puts
	mov	r0, #0
	bl	exit
.L365:
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-52]
	sub	r3, r2, r3
	add	r2, r3, #1
	ldr	r1, [fp, #-60]
	ldr	r3, [fp, #-48]
	sub	r3, r1, r3
	cmp	r2, r3
	blt	.L366
	ldr	r3, [fp, #-32]
	ldr	r2, [fp, #-44]
	ldr	r1, [fp, #-56]
	str	r1, [r3, r2, lsl #2]
	ldr	r3, [fp, #-44]
	sub	r2, r3, #1
	ldr	r3, [fp, #-32]
	ldr	r1, [fp, #-52]
	str	r1, [r3, r2, lsl #2]
	ldr	r3, [fp, #-60]
	sub	r3, r3, #1
	str	r3, [fp, #-56]
	b	.L367
.L366:
	ldr	r3, [fp, #-60]
	sub	r1, r3, #1
	ldr	r3, [fp, #-32]
	ldr	r2, [fp, #-44]
	str	r1, [r3, r2, lsl #2]
	ldr	r3, [fp, #-44]
	sub	r2, r3, #1
	ldr	r3, [fp, #-32]
	ldr	r1, [fp, #-48]
	str	r1, [r3, r2, lsl #2]
	ldr	r3, [fp, #-52]
	str	r3, [fp, #-48]
	b	.L367
.L369:
	bl	__stack_chk_fail
.L368:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L374:
	.align	2
.L373:
	.word	.LC74
	.word	.LC68
	.size	ArraySort2_Int2, .-ArraySort2_Int2
	.global	__aeabi_fcmple
	.section	.rodata
	.align	2
.LC75:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	ArraySort_float2
	.syntax unified
	.arm
	.fpu softvfp
	.type	ArraySort_float2, %function
ArraySort_float2:
	@ args = 0, pretend = 0, frame = 72
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, fp, lr}
	add	fp, sp, #12
	sub	sp, sp, #72
	str	r0, [fp, #-72]
	str	r1, [fp, #-76]
	str	r2, [fp, #-80]
	ldr	r3, .L408
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	mov	r3, sp
	mov	r5, r3
	ldr	r3, [fp, #-72]
	sub	r3, r3, #1
	str	r3, [fp, #-64]
	mov	r3, #0
	str	r3, [fp, #-56]
	mov	r3, #0
	str	r3, [fp, #-52]
	mov	r3, #50
	str	r3, [fp, #-48]
	ldr	ip, [fp, #-48]
	sub	r3, ip, #1
	str	r3, [fp, #-44]
	mov	r3, ip
	mov	r0, r3
	mov	r1, #0
	mov	r2, #0
	mov	r3, #0
	lsl	r3, r1, #5
	orr	r3, r3, r0, lsr #27
	lsl	r2, r0, #5
	mov	r3, ip
	mov	r0, r3
	mov	r1, #0
	mov	r2, #0
	mov	r3, #0
	lsl	r3, r1, #5
	orr	r3, r3, r0, lsr #27
	lsl	r2, r0, #5
	mov	r3, ip
	lsl	r3, r3, #2
	add	r3, r3, #7
	lsr	r3, r3, #3
	lsl	r3, r3, #3
	sub	sp, sp, r3
	mov	r3, sp
	add	r3, r3, #3
	lsr	r3, r3, #2
	lsl	r3, r3, #2
	str	r3, [fp, #-40]
	mov	r3, #7
	str	r3, [fp, #-36]
.L399:
	ldr	r2, [fp, #-64]
	ldr	r3, [fp, #-56]
	sub	r3, r2, r3
	ldr	r2, [fp, #-36]
	cmp	r2, r3
	ble	.L376
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	str	r3, [fp, #-68]
	b	.L377
.L383:
	ldr	r3, [fp, #-68]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-76]
	add	r3, r2, r3
	ldr	r3, [r3]	@ float
	str	r3, [fp, #-24]	@ float
	ldr	r3, [fp, #-68]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-80]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-68]
	sub	r3, r3, #1
	str	r3, [fp, #-60]
	b	.L378
.L382:
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-76]
	add	r3, r2, r3
	ldr	r3, [r3]	@ float
	mov	r1, r3
	ldr	r0, [fp, #-24]	@ float
	bl	__aeabi_fcmple
	mov	r3, r0
	cmp	r3, #0
	bne	.L406
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-76]
	add	r2, r2, r3
	ldr	r3, [fp, #-60]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r1, [fp, #-76]
	add	r3, r1, r3
	ldr	r2, [r2]	@ float
	str	r2, [r3]	@ float
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-80]
	add	r2, r2, r3
	ldr	r3, [fp, #-60]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r1, [fp, #-80]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-60]
	sub	r3, r3, #1
	str	r3, [fp, #-60]
.L378:
	ldr	r2, [fp, #-60]
	ldr	r3, [fp, #-56]
	cmp	r2, r3
	bge	.L382
	b	.L381
.L406:
	nop
.L381:
	ldr	r3, [fp, #-60]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-76]
	add	r3, r2, r3
	ldr	r2, [fp, #-24]	@ float
	str	r2, [r3]	@ float
	ldr	r3, [fp, #-60]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-80]
	add	r3, r2, r3
	ldr	r2, [fp, #-20]
	str	r2, [r3]
	ldr	r3, [fp, #-68]
	add	r3, r3, #1
	str	r3, [fp, #-68]
.L377:
	ldr	r2, [fp, #-68]
	ldr	r3, [fp, #-64]
	cmp	r2, r3
	ble	.L383
	ldr	r3, [fp, #-52]
	cmp	r3, #0
	bne	.L384
	mov	sp, r5
	nop
	ldr	r3, .L408
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L400
	b	.L404
.L384:
	ldr	r3, [fp, #-52]
	sub	r2, r3, #1
	str	r2, [fp, #-52]
	ldr	r2, [fp, #-40]
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-64]
	ldr	r3, [fp, #-52]
	sub	r2, r3, #1
	str	r2, [fp, #-52]
	ldr	r2, [fp, #-40]
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-56]
	b	.L399
.L376:
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-64]
	add	r3, r2, r3
	asr	r3, r3, #1
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-76]
	add	r3, r2, r3
	ldr	r3, [r3]	@ float
	str	r3, [fp, #-28]	@ float
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-76]
	add	r2, r2, r3
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-76]
	add	r3, r1, r3
	ldr	r2, [r2]	@ float
	str	r2, [r3]	@ float
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-76]
	add	r3, r2, r3
	ldr	r2, [fp, #-28]	@ float
	str	r2, [r3]	@ float
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-80]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r0, r3
	bl	__aeabi_i2f
	mov	r3, r0
	str	r3, [fp, #-28]	@ float
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-80]
	add	r2, r2, r3
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-80]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-80]
	add	r4, r2, r3
	ldr	r0, [fp, #-28]	@ float
	bl	__aeabi_f2iz
	mov	r3, r0
	str	r3, [r4]
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-76]
	add	r3, r2, r3
	ldr	r0, [r3]	@ float
	ldr	r3, [fp, #-64]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-76]
	add	r3, r2, r3
	ldr	r3, [r3]	@ float
	mov	r1, r3
	bl	__aeabi_fcmplt
	mov	r3, r0
	cmp	r3, #0
	beq	.L387
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-76]
	add	r3, r2, r3
	ldr	r3, [r3]	@ float
	str	r3, [fp, #-28]	@ float
	ldr	r3, [fp, #-64]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-76]
	add	r2, r2, r3
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-76]
	add	r3, r1, r3
	ldr	r2, [r2]	@ float
	str	r2, [r3]	@ float
	ldr	r3, [fp, #-64]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-76]
	add	r3, r2, r3
	ldr	r2, [fp, #-28]	@ float
	str	r2, [r3]	@ float
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-80]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r0, r3
	bl	__aeabi_i2f
	mov	r3, r0
	str	r3, [fp, #-28]	@ float
	ldr	r3, [fp, #-64]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-80]
	add	r2, r2, r3
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-80]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-64]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-80]
	add	r4, r2, r3
	ldr	r0, [fp, #-28]	@ float
	bl	__aeabi_f2iz
	mov	r3, r0
	str	r3, [r4]
.L387:
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-76]
	add	r3, r2, r3
	ldr	r0, [r3]	@ float
	ldr	r3, [fp, #-64]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-76]
	add	r3, r2, r3
	ldr	r3, [r3]	@ float
	mov	r1, r3
	bl	__aeabi_fcmplt
	mov	r3, r0
	cmp	r3, #0
	beq	.L389
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-76]
	add	r3, r2, r3
	ldr	r3, [r3]	@ float
	str	r3, [fp, #-28]	@ float
	ldr	r3, [fp, #-64]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-76]
	add	r2, r2, r3
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r1, [fp, #-76]
	add	r3, r1, r3
	ldr	r2, [r2]	@ float
	str	r2, [r3]	@ float
	ldr	r3, [fp, #-64]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-76]
	add	r3, r2, r3
	ldr	r2, [fp, #-28]	@ float
	str	r2, [r3]	@ float
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-80]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r0, r3
	bl	__aeabi_i2f
	mov	r3, r0
	str	r3, [fp, #-28]	@ float
	ldr	r3, [fp, #-64]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-80]
	add	r2, r2, r3
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r1, [fp, #-80]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-64]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-80]
	add	r4, r2, r3
	ldr	r0, [fp, #-28]	@ float
	bl	__aeabi_f2iz
	mov	r3, r0
	str	r3, [r4]
.L389:
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-76]
	add	r3, r2, r3
	ldr	r0, [r3]	@ float
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-76]
	add	r3, r2, r3
	ldr	r3, [r3]	@ float
	mov	r1, r3
	bl	__aeabi_fcmplt
	mov	r3, r0
	cmp	r3, #0
	beq	.L391
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-76]
	add	r3, r2, r3
	ldr	r3, [r3]	@ float
	str	r3, [fp, #-28]	@ float
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-76]
	add	r2, r2, r3
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-76]
	add	r3, r1, r3
	ldr	r2, [r2]	@ float
	str	r2, [r3]	@ float
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-76]
	add	r3, r2, r3
	ldr	r2, [fp, #-28]	@ float
	str	r2, [r3]	@ float
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-80]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r0, r3
	bl	__aeabi_i2f
	mov	r3, r0
	str	r3, [fp, #-28]	@ float
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-80]
	add	r2, r2, r3
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-80]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-80]
	add	r4, r2, r3
	ldr	r0, [fp, #-28]	@ float
	bl	__aeabi_f2iz
	mov	r3, r0
	str	r3, [r4]
.L391:
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	str	r3, [fp, #-60]
	ldr	r3, [fp, #-64]
	str	r3, [fp, #-68]
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-76]
	add	r3, r2, r3
	ldr	r3, [r3]	@ float
	str	r3, [fp, #-24]	@ float
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-80]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-20]
.L393:
	ldr	r3, [fp, #-60]
	add	r3, r3, #1
	str	r3, [fp, #-60]
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-76]
	add	r3, r2, r3
	ldr	r3, [r3]	@ float
	mov	r1, r3
	ldr	r0, [fp, #-24]	@ float
	bl	__aeabi_fcmplt
	mov	r3, r0
	cmp	r3, #0
	bne	.L393
.L394:
	ldr	r3, [fp, #-68]
	sub	r3, r3, #1
	str	r3, [fp, #-68]
	ldr	r3, [fp, #-68]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-76]
	add	r3, r2, r3
	ldr	r3, [r3]	@ float
	mov	r1, r3
	ldr	r0, [fp, #-24]	@ float
	bl	__aeabi_fcmpgt
	mov	r3, r0
	cmp	r3, #0
	bne	.L394
	ldr	r2, [fp, #-68]
	ldr	r3, [fp, #-60]
	cmp	r2, r3
	blt	.L407
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-76]
	add	r3, r2, r3
	ldr	r3, [r3]	@ float
	str	r3, [fp, #-28]	@ float
	ldr	r3, [fp, #-68]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-76]
	add	r2, r2, r3
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-76]
	add	r3, r1, r3
	ldr	r2, [r2]	@ float
	str	r2, [r3]	@ float
	ldr	r3, [fp, #-68]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-76]
	add	r3, r2, r3
	ldr	r2, [fp, #-28]	@ float
	str	r2, [r3]	@ float
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-80]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r0, r3
	bl	__aeabi_i2f
	mov	r3, r0
	str	r3, [fp, #-28]	@ float
	ldr	r3, [fp, #-68]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-80]
	add	r2, r2, r3
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-80]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-68]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-80]
	add	r4, r2, r3
	ldr	r0, [fp, #-28]	@ float
	bl	__aeabi_f2iz
	mov	r3, r0
	str	r3, [r4]
	b	.L393
.L407:
	nop
	ldr	r3, [fp, #-68]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-76]
	add	r2, r2, r3
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r1, [fp, #-76]
	add	r3, r1, r3
	ldr	r2, [r2]	@ float
	str	r2, [r3]	@ float
	ldr	r3, [fp, #-68]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-76]
	add	r3, r2, r3
	ldr	r2, [fp, #-24]	@ float
	str	r2, [r3]	@ float
	ldr	r3, [fp, #-68]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-80]
	add	r2, r2, r3
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r1, [fp, #-80]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-68]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-80]
	add	r3, r2, r3
	ldr	r2, [fp, #-20]
	str	r2, [r3]
	ldr	r3, [fp, #-52]
	add	r3, r3, #2
	str	r3, [fp, #-52]
	ldr	r2, [fp, #-52]
	ldr	r3, [fp, #-48]
	cmp	r2, r3
	ble	.L397
	ldr	r0, .L408+4
	bl	puts
	mov	r0, #0
	bl	exit
.L397:
	ldr	r2, [fp, #-64]
	ldr	r3, [fp, #-60]
	sub	r3, r2, r3
	add	r2, r3, #1
	ldr	r1, [fp, #-68]
	ldr	r3, [fp, #-56]
	sub	r3, r1, r3
	cmp	r2, r3
	blt	.L398
	ldr	r3, [fp, #-40]
	ldr	r2, [fp, #-52]
	ldr	r1, [fp, #-64]
	str	r1, [r3, r2, lsl #2]
	ldr	r3, [fp, #-52]
	sub	r2, r3, #1
	ldr	r3, [fp, #-40]
	ldr	r1, [fp, #-60]
	str	r1, [r3, r2, lsl #2]
	ldr	r3, [fp, #-68]
	sub	r3, r3, #1
	str	r3, [fp, #-64]
	b	.L399
.L398:
	ldr	r3, [fp, #-68]
	sub	r1, r3, #1
	ldr	r3, [fp, #-40]
	ldr	r2, [fp, #-52]
	str	r1, [r3, r2, lsl #2]
	ldr	r3, [fp, #-52]
	sub	r2, r3, #1
	ldr	r3, [fp, #-40]
	ldr	r1, [fp, #-56]
	str	r1, [r3, r2, lsl #2]
	ldr	r3, [fp, #-60]
	str	r3, [fp, #-56]
	b	.L399
.L404:
	bl	__stack_chk_fail
.L400:
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
.L409:
	.align	2
.L408:
	.word	.LC75
	.word	.LC68
	.size	ArraySort_float2, .-ArraySort_float2
	.section	.rodata
	.align	2
.LC76:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	ArraySort_Mix3
	.syntax unified
	.arm
	.fpu softvfp
	.type	ArraySort_Mix3, %function
ArraySort_Mix3:
	@ args = 0, pretend = 0, frame = 80
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #80
	str	r0, [fp, #-72]
	str	r1, [fp, #-76]
	str	r2, [fp, #-80]
	str	r3, [fp, #-84]
	ldr	r3, .L436
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, sp
	mov	lr, r3
	ldr	r3, [fp, #-72]
	sub	r3, r3, #1
	str	r3, [fp, #-60]
	mov	r3, #0
	str	r3, [fp, #-52]
	mov	r3, #0
	str	r3, [fp, #-48]
	mov	r3, #50
	str	r3, [fp, #-44]
	ldr	ip, [fp, #-44]
	sub	r3, ip, #1
	str	r3, [fp, #-40]
	mov	r3, ip
	mov	r0, r3
	mov	r1, #0
	mov	r2, #0
	mov	r3, #0
	lsl	r3, r1, #5
	orr	r3, r3, r0, lsr #27
	lsl	r2, r0, #5
	mov	r3, ip
	mov	r0, r3
	mov	r1, #0
	mov	r2, #0
	mov	r3, #0
	lsl	r3, r1, #5
	orr	r3, r3, r0, lsr #27
	lsl	r2, r0, #5
	mov	r3, ip
	lsl	r3, r3, #2
	add	r3, r3, #7
	lsr	r3, r3, #3
	lsl	r3, r3, #3
	sub	sp, sp, r3
	mov	r3, sp
	add	r3, r3, #3
	lsr	r3, r3, #2
	lsl	r3, r3, #2
	str	r3, [fp, #-36]
	mov	r3, #7
	str	r3, [fp, #-32]
.L430:
	ldr	r2, [fp, #-60]
	ldr	r3, [fp, #-52]
	sub	r3, r2, r3
	ldr	r2, [fp, #-32]
	cmp	r2, r3
	ble	.L411
	ldr	r3, [fp, #-52]
	add	r3, r3, #1
	str	r3, [fp, #-64]
	b	.L412
.L417:
	ldr	r3, [fp, #-64]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-76]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-64]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-80]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-64]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-84]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-64]
	sub	r3, r3, #1
	str	r3, [fp, #-56]
	b	.L413
.L416:
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-76]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-20]
	cmp	r2, r3
	bge	.L434
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-76]
	add	r2, r2, r3
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r1, [fp, #-76]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-80]
	add	r2, r2, r3
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r1, [fp, #-80]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-84]
	add	r2, r2, r3
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r1, [fp, #-84]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-56]
	sub	r3, r3, #1
	str	r3, [fp, #-56]
.L413:
	ldr	r2, [fp, #-56]
	ldr	r3, [fp, #-52]
	cmp	r2, r3
	bge	.L416
	b	.L415
.L434:
	nop
.L415:
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-76]
	add	r3, r2, r3
	ldr	r2, [fp, #-20]
	str	r2, [r3]
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-80]
	add	r3, r2, r3
	ldr	r2, [fp, #-16]
	str	r2, [r3]
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-84]
	add	r3, r2, r3
	ldr	r2, [fp, #-12]
	str	r2, [r3]
	ldr	r3, [fp, #-64]
	add	r3, r3, #1
	str	r3, [fp, #-64]
.L412:
	ldr	r2, [fp, #-64]
	ldr	r3, [fp, #-60]
	cmp	r2, r3
	ble	.L417
	ldr	r3, [fp, #-48]
	cmp	r3, #0
	bne	.L418
	mov	sp, lr
	nop
	ldr	r3, .L436
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L431
	b	.L432
.L418:
	ldr	r3, [fp, #-48]
	sub	r2, r3, #1
	str	r2, [fp, #-48]
	ldr	r2, [fp, #-36]
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-60]
	ldr	r3, [fp, #-48]
	sub	r2, r3, #1
	str	r2, [fp, #-48]
	ldr	r2, [fp, #-36]
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-52]
	b	.L430
.L411:
	ldr	r2, [fp, #-52]
	ldr	r3, [fp, #-60]
	add	r3, r2, r3
	asr	r3, r3, #1
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-76]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-52]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-76]
	add	r2, r2, r3
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-76]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-52]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-76]
	add	r3, r2, r3
	ldr	r2, [fp, #-24]
	str	r2, [r3]
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-80]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-52]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-80]
	add	r2, r2, r3
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-80]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-52]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-80]
	add	r3, r2, r3
	ldr	r2, [fp, #-24]
	str	r2, [r3]
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-84]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-52]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-84]
	add	r2, r2, r3
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-84]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-52]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-84]
	add	r3, r2, r3
	ldr	r2, [fp, #-24]
	str	r2, [r3]
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-76]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-76]
	add	r3, r1, r3
	ldr	r3, [r3]
	cmp	r2, r3
	ble	.L421
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-76]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-76]
	add	r2, r2, r3
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-76]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-76]
	add	r3, r2, r3
	ldr	r2, [fp, #-24]
	str	r2, [r3]
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-80]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-80]
	add	r2, r2, r3
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-80]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-80]
	add	r3, r2, r3
	ldr	r2, [fp, #-24]
	str	r2, [r3]
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-84]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-84]
	add	r2, r2, r3
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-84]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-84]
	add	r3, r2, r3
	ldr	r2, [fp, #-24]
	str	r2, [r3]
.L421:
	ldr	r3, [fp, #-52]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-76]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-76]
	add	r3, r1, r3
	ldr	r3, [r3]
	cmp	r2, r3
	ble	.L422
	ldr	r3, [fp, #-52]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-76]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-76]
	add	r2, r2, r3
	ldr	r3, [fp, #-52]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r1, [fp, #-76]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-76]
	add	r3, r2, r3
	ldr	r2, [fp, #-24]
	str	r2, [r3]
	ldr	r3, [fp, #-52]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-80]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-80]
	add	r2, r2, r3
	ldr	r3, [fp, #-52]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r1, [fp, #-80]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-80]
	add	r3, r2, r3
	ldr	r2, [fp, #-24]
	str	r2, [r3]
	ldr	r3, [fp, #-52]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-84]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-84]
	add	r2, r2, r3
	ldr	r3, [fp, #-52]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r1, [fp, #-84]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-84]
	add	r3, r2, r3
	ldr	r2, [fp, #-24]
	str	r2, [r3]
.L422:
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-76]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-52]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r1, [fp, #-76]
	add	r3, r1, r3
	ldr	r3, [r3]
	cmp	r2, r3
	ble	.L423
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-76]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-52]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-76]
	add	r2, r2, r3
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-76]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-52]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-76]
	add	r3, r2, r3
	ldr	r2, [fp, #-24]
	str	r2, [r3]
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-80]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-52]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-80]
	add	r2, r2, r3
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-80]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-52]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-80]
	add	r3, r2, r3
	ldr	r2, [fp, #-24]
	str	r2, [r3]
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-84]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-52]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-84]
	add	r2, r2, r3
	ldr	r3, [fp, #-52]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-84]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-52]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-84]
	add	r3, r2, r3
	ldr	r2, [fp, #-24]
	str	r2, [r3]
.L423:
	ldr	r3, [fp, #-52]
	add	r3, r3, #1
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-60]
	str	r3, [fp, #-64]
	ldr	r3, [fp, #-52]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-76]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-52]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-80]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-52]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-84]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-12]
.L424:
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-76]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-20]
	cmp	r2, r3
	bgt	.L424
.L425:
	ldr	r3, [fp, #-64]
	sub	r3, r3, #1
	str	r3, [fp, #-64]
	ldr	r3, [fp, #-64]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-76]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-20]
	cmp	r2, r3
	blt	.L425
	ldr	r2, [fp, #-64]
	ldr	r3, [fp, #-56]
	cmp	r2, r3
	blt	.L435
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-76]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-64]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-76]
	add	r2, r2, r3
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-76]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-64]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-76]
	add	r3, r2, r3
	ldr	r2, [fp, #-24]
	str	r2, [r3]
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-80]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-64]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-80]
	add	r2, r2, r3
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-80]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-64]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-80]
	add	r3, r2, r3
	ldr	r2, [fp, #-24]
	str	r2, [r3]
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-84]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-64]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-84]
	add	r2, r2, r3
	ldr	r3, [fp, #-56]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-84]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-64]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-84]
	add	r3, r2, r3
	ldr	r2, [fp, #-24]
	str	r2, [r3]
	b	.L424
.L435:
	nop
	ldr	r3, [fp, #-64]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-76]
	add	r2, r2, r3
	ldr	r3, [fp, #-52]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r1, [fp, #-76]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-64]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-76]
	add	r3, r2, r3
	ldr	r2, [fp, #-20]
	str	r2, [r3]
	ldr	r3, [fp, #-64]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-80]
	add	r2, r2, r3
	ldr	r3, [fp, #-52]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r1, [fp, #-80]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-64]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-80]
	add	r3, r2, r3
	ldr	r2, [fp, #-16]
	str	r2, [r3]
	ldr	r3, [fp, #-64]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-84]
	add	r2, r2, r3
	ldr	r3, [fp, #-52]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r1, [fp, #-84]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-64]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-84]
	add	r3, r2, r3
	ldr	r2, [fp, #-12]
	str	r2, [r3]
	ldr	r3, [fp, #-48]
	add	r3, r3, #2
	str	r3, [fp, #-48]
	ldr	r2, [fp, #-48]
	ldr	r3, [fp, #-44]
	cmp	r2, r3
	ble	.L428
	ldr	r0, .L436+4
	bl	puts
	mov	r0, #0
	bl	exit
.L428:
	ldr	r2, [fp, #-60]
	ldr	r3, [fp, #-56]
	sub	r3, r2, r3
	add	r2, r3, #1
	ldr	r1, [fp, #-64]
	ldr	r3, [fp, #-52]
	sub	r3, r1, r3
	cmp	r2, r3
	blt	.L429
	ldr	r3, [fp, #-36]
	ldr	r2, [fp, #-48]
	ldr	r1, [fp, #-60]
	str	r1, [r3, r2, lsl #2]
	ldr	r3, [fp, #-48]
	sub	r2, r3, #1
	ldr	r3, [fp, #-36]
	ldr	r1, [fp, #-56]
	str	r1, [r3, r2, lsl #2]
	ldr	r3, [fp, #-64]
	sub	r3, r3, #1
	str	r3, [fp, #-60]
	b	.L430
.L429:
	ldr	r3, [fp, #-64]
	sub	r1, r3, #1
	ldr	r3, [fp, #-36]
	ldr	r2, [fp, #-48]
	str	r1, [r3, r2, lsl #2]
	ldr	r3, [fp, #-48]
	sub	r2, r3, #1
	ldr	r3, [fp, #-36]
	ldr	r1, [fp, #-52]
	str	r1, [r3, r2, lsl #2]
	ldr	r3, [fp, #-56]
	str	r3, [fp, #-52]
	b	.L430
.L432:
	bl	__stack_chk_fail
.L431:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L437:
	.align	2
.L436:
	.word	.LC76
	.word	.LC68
	.size	ArraySort_Mix3, .-ArraySort_Mix3
	.section	.rodata
	.align	2
.LC77:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	s_swap
	.syntax unified
	.arm
	.fpu softvfp
	.type	s_swap, %function
s_swap:
	@ args = 0, pretend = 0, frame = 64
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #64
	str	r0, [fp, #-56]
	str	r1, [fp, #-60]
	str	r2, [fp, #-64]
	ldr	r3, .L440
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-56]
	add	r3, r2, r3
	ldr	r2, [r3]
	sub	r3, fp, #48
	mov	r1, r2
	mov	r0, r3
	bl	strcpy
	ldr	r3, [fp, #-60]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-56]
	add	r3, r2, r3
	ldr	r0, [r3]
	ldr	r3, [fp, #-64]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-56]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r1, r3
	bl	strcpy
	ldr	r3, [fp, #-64]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-56]
	add	r3, r2, r3
	ldr	r3, [r3]
	sub	r2, fp, #48
	mov	r1, r2
	mov	r0, r3
	bl	strcpy
	nop
	ldr	r3, .L440
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L439
	bl	__stack_chk_fail
.L439:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L441:
	.align	2
.L440:
	.word	.LC77
	.size	s_swap, .-s_swap
	.section	.rodata
	.align	2
.LC78:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	ArraySort_String
	.syntax unified
	.arm
	.fpu softvfp
	.type	ArraySort_String, %function
ArraySort_String:
	@ args = 0, pretend = 0, frame = 112
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #116
	str	r0, [fp, #-112]
	str	r1, [fp, #-116]
	str	r2, [fp, #-120]
	ldr	r3, .L468
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	mov	r3, sp
	mov	r4, r3
	ldr	r3, [fp, #-112]
	sub	r3, r3, #1
	str	r3, [fp, #-100]
	mov	r3, #0
	str	r3, [fp, #-92]
	mov	r3, #0
	str	r3, [fp, #-88]
	mov	r3, #50
	str	r3, [fp, #-84]
	ldr	ip, [fp, #-84]
	sub	r3, ip, #1
	str	r3, [fp, #-80]
	mov	r3, ip
	mov	r0, r3
	mov	r1, #0
	mov	r2, #0
	mov	r3, #0
	lsl	r3, r1, #5
	orr	r3, r3, r0, lsr #27
	lsl	r2, r0, #5
	mov	r3, ip
	mov	r0, r3
	mov	r1, #0
	mov	r2, #0
	mov	r3, #0
	lsl	r3, r1, #5
	orr	r3, r3, r0, lsr #27
	lsl	r2, r0, #5
	mov	r3, ip
	lsl	r3, r3, #2
	add	r3, r3, #7
	lsr	r3, r3, #3
	lsl	r3, r3, #3
	sub	sp, sp, r3
	mov	r3, sp
	add	r3, r3, #3
	lsr	r3, r3, #2
	lsl	r3, r3, #2
	str	r3, [fp, #-76]
	mov	r3, #7
	str	r3, [fp, #-72]
.L462:
	ldr	r2, [fp, #-100]
	ldr	r3, [fp, #-92]
	sub	r3, r2, r3
	ldr	r2, [fp, #-72]
	cmp	r2, r3
	ble	.L443
	ldr	r3, [fp, #-92]
	add	r3, r3, #1
	str	r3, [fp, #-104]
	b	.L444
.L449:
	ldr	r3, [fp, #-104]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-116]
	add	r3, r2, r3
	ldr	r2, [r3]
	sub	r3, fp, #56
	mov	r1, r2
	mov	r0, r3
	bl	strcpy
	ldr	r3, [fp, #-104]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-120]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-60]
	ldr	r3, [fp, #-104]
	sub	r3, r3, #1
	str	r3, [fp, #-96]
	b	.L445
.L448:
	ldr	r3, [fp, #-96]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-116]
	add	r3, r2, r3
	ldr	r3, [r3]
	sub	r2, fp, #56
	mov	r1, r2
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	ble	.L466
	ldr	r3, [fp, #-96]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-116]
	add	r3, r2, r3
	ldr	r0, [r3]
	ldr	r3, [fp, #-96]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-116]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r1, r3
	bl	strcpy
	ldr	r3, [fp, #-96]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-120]
	add	r2, r2, r3
	ldr	r3, [fp, #-96]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r1, [fp, #-120]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-96]
	sub	r3, r3, #1
	str	r3, [fp, #-96]
.L445:
	ldr	r2, [fp, #-96]
	ldr	r3, [fp, #-92]
	cmp	r2, r3
	bge	.L448
	b	.L447
.L466:
	nop
.L447:
	ldr	r3, [fp, #-96]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-116]
	add	r3, r2, r3
	ldr	r3, [r3]
	sub	r2, fp, #56
	mov	r1, r2
	mov	r0, r3
	bl	strcpy
	ldr	r3, [fp, #-96]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-120]
	add	r3, r2, r3
	ldr	r2, [fp, #-60]
	str	r2, [r3]
	ldr	r3, [fp, #-104]
	add	r3, r3, #1
	str	r3, [fp, #-104]
.L444:
	ldr	r2, [fp, #-104]
	ldr	r3, [fp, #-100]
	cmp	r2, r3
	ble	.L449
	ldr	r3, [fp, #-88]
	cmp	r3, #0
	bne	.L450
	mov	sp, r4
	nop
	ldr	r3, .L468
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L463
	b	.L464
.L450:
	ldr	r3, [fp, #-88]
	sub	r2, r3, #1
	str	r2, [fp, #-88]
	ldr	r2, [fp, #-76]
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-100]
	ldr	r3, [fp, #-88]
	sub	r2, r3, #1
	str	r2, [fp, #-88]
	ldr	r2, [fp, #-76]
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-92]
	b	.L462
.L443:
	ldr	r2, [fp, #-92]
	ldr	r3, [fp, #-100]
	add	r3, r2, r3
	asr	r3, r3, #1
	str	r3, [fp, #-68]
	ldr	r3, [fp, #-92]
	add	r3, r3, #1
	mov	r2, r3
	ldr	r1, [fp, #-68]
	ldr	r0, [fp, #-116]
	bl	s_swap
	ldr	r3, [fp, #-68]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-120]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-64]
	ldr	r3, [fp, #-92]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-120]
	add	r2, r2, r3
	ldr	r3, [fp, #-68]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-120]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-92]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-120]
	add	r3, r2, r3
	ldr	r2, [fp, #-64]
	str	r2, [r3]
	ldr	r3, [fp, #-92]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-116]
	add	r3, r2, r3
	ldr	r0, [r3]
	ldr	r3, [fp, #-100]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-116]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r1, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	ble	.L453
	ldr	r2, [fp, #-100]
	ldr	r1, [fp, #-92]
	ldr	r0, [fp, #-116]
	bl	s_swap
	ldr	r3, [fp, #-92]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-120]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-64]
	ldr	r3, [fp, #-100]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-120]
	add	r2, r2, r3
	ldr	r3, [fp, #-92]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-120]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-100]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-120]
	add	r3, r2, r3
	ldr	r2, [fp, #-64]
	str	r2, [r3]
.L453:
	ldr	r3, [fp, #-92]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-116]
	add	r3, r2, r3
	ldr	r0, [r3]
	ldr	r3, [fp, #-100]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-116]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r1, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	ble	.L454
	ldr	r3, [fp, #-92]
	add	r3, r3, #1
	ldr	r2, [fp, #-100]
	mov	r1, r3
	ldr	r0, [fp, #-116]
	bl	s_swap
	ldr	r3, [fp, #-92]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-120]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-64]
	ldr	r3, [fp, #-100]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-120]
	add	r2, r2, r3
	ldr	r3, [fp, #-92]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r1, [fp, #-120]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-100]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-120]
	add	r3, r2, r3
	ldr	r2, [fp, #-64]
	str	r2, [r3]
.L454:
	ldr	r3, [fp, #-92]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-116]
	add	r3, r2, r3
	ldr	r0, [r3]
	ldr	r3, [fp, #-92]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-116]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r1, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	ble	.L455
	ldr	r3, [fp, #-92]
	add	r3, r3, #1
	mov	r2, r3
	ldr	r1, [fp, #-92]
	ldr	r0, [fp, #-116]
	bl	s_swap
	ldr	r3, [fp, #-92]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-120]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-64]
	ldr	r3, [fp, #-92]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-120]
	add	r2, r2, r3
	ldr	r3, [fp, #-92]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-120]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-92]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-120]
	add	r3, r2, r3
	ldr	r2, [fp, #-64]
	str	r2, [r3]
.L455:
	ldr	r3, [fp, #-92]
	add	r3, r3, #1
	str	r3, [fp, #-96]
	ldr	r3, [fp, #-100]
	str	r3, [fp, #-104]
	ldr	r3, [fp, #-92]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-116]
	add	r3, r2, r3
	ldr	r2, [r3]
	sub	r3, fp, #56
	mov	r1, r2
	mov	r0, r3
	bl	strcpy
	ldr	r3, [fp, #-92]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-120]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-60]
.L456:
	ldr	r3, [fp, #-96]
	add	r3, r3, #1
	str	r3, [fp, #-96]
	ldr	r3, [fp, #-96]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-116]
	add	r3, r2, r3
	ldr	r3, [r3]
	sub	r2, fp, #56
	mov	r1, r2
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	blt	.L456
.L457:
	ldr	r3, [fp, #-104]
	sub	r3, r3, #1
	str	r3, [fp, #-104]
	ldr	r3, [fp, #-104]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-116]
	add	r3, r2, r3
	ldr	r3, [r3]
	sub	r2, fp, #56
	mov	r1, r2
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bgt	.L457
	ldr	r2, [fp, #-104]
	ldr	r3, [fp, #-96]
	cmp	r2, r3
	blt	.L467
	ldr	r2, [fp, #-104]
	ldr	r1, [fp, #-96]
	ldr	r0, [fp, #-116]
	bl	s_swap
	ldr	r3, [fp, #-96]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-120]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-64]
	ldr	r3, [fp, #-104]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-120]
	add	r2, r2, r3
	ldr	r3, [fp, #-96]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-120]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-104]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-120]
	add	r3, r2, r3
	ldr	r2, [fp, #-64]
	str	r2, [r3]
	b	.L456
.L467:
	nop
	ldr	r3, [fp, #-92]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-116]
	add	r3, r2, r3
	ldr	r0, [r3]
	ldr	r3, [fp, #-104]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-116]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r1, r3
	bl	strcpy
	ldr	r3, [fp, #-104]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-116]
	add	r3, r2, r3
	ldr	r3, [r3]
	sub	r2, fp, #56
	mov	r1, r2
	mov	r0, r3
	bl	strcpy
	ldr	r3, [fp, #-104]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-120]
	add	r2, r2, r3
	ldr	r3, [fp, #-92]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r1, [fp, #-120]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-104]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-120]
	add	r3, r2, r3
	ldr	r2, [fp, #-60]
	str	r2, [r3]
	ldr	r3, [fp, #-88]
	add	r3, r3, #2
	str	r3, [fp, #-88]
	ldr	r2, [fp, #-88]
	ldr	r3, [fp, #-84]
	cmp	r2, r3
	ble	.L460
	ldr	r0, .L468+4
	bl	puts
	mov	r0, #0
	bl	exit
.L460:
	ldr	r2, [fp, #-100]
	ldr	r3, [fp, #-96]
	sub	r3, r2, r3
	add	r2, r3, #1
	ldr	r1, [fp, #-104]
	ldr	r3, [fp, #-92]
	sub	r3, r1, r3
	cmp	r2, r3
	blt	.L461
	ldr	r3, [fp, #-76]
	ldr	r2, [fp, #-88]
	ldr	r1, [fp, #-100]
	str	r1, [r3, r2, lsl #2]
	ldr	r3, [fp, #-88]
	sub	r2, r3, #1
	ldr	r3, [fp, #-76]
	ldr	r1, [fp, #-96]
	str	r1, [r3, r2, lsl #2]
	ldr	r3, [fp, #-104]
	sub	r3, r3, #1
	str	r3, [fp, #-100]
	b	.L462
.L461:
	ldr	r3, [fp, #-104]
	sub	r1, r3, #1
	ldr	r3, [fp, #-76]
	ldr	r2, [fp, #-88]
	str	r1, [r3, r2, lsl #2]
	ldr	r3, [fp, #-88]
	sub	r2, r3, #1
	ldr	r3, [fp, #-76]
	ldr	r1, [fp, #-92]
	str	r1, [r3, r2, lsl #2]
	ldr	r3, [fp, #-96]
	str	r3, [fp, #-92]
	b	.L462
.L464:
	bl	__stack_chk_fail
.L463:
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L469:
	.align	2
.L468:
	.word	.LC78
	.word	.LC68
	.size	ArraySort_String, .-ArraySort_String
	.section	.rodata
	.align	2
.LC79:
	.ascii	"error imatrix: calloc error No. 1 \000"
	.align	2
.LC80:
	.ascii	"error imatrix: calloc error No. 2 \000"
	.text
	.align	2
	.global	imatrix
	.syntax unified
	.arm
	.fpu softvfp
	.type	imatrix, %function
imatrix:
	@ 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, #-32]
	str	r1, [fp, #-36]
	str	r2, [fp, #-40]
	str	r3, [fp, #-44]
	ldr	r2, [fp, #-36]
	ldr	r3, [fp, #-32]
	sub	r3, r2, r3
	add	r3, r3, #1
	str	r3, [fp, #-24]
	ldr	r2, [fp, #-44]
	ldr	r3, [fp, #-40]
	sub	r3, r2, r3
	add	r3, r3, #1
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-24]
	mov	r1, #4
	mov	r0, r3
	bl	calloc
	mov	r3, r0
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L471
	ldr	r0, .L476
	bl	puts
	mov	r3, #0
	b	.L472
.L471:
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #2
	rsb	r3, r3, #0
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-20]
	mul	r3, r2, r3
	mov	r0, r3
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-16]
	add	r4, r2, r3
	mov	r1, #4
	bl	calloc
	mov	r3, r0
	str	r3, [r4]
	ldr	r3, [r4]
	cmp	r3, #0
	bne	.L473
	ldr	r0, .L476+4
	bl	puts
	mov	r3, #0
	b	.L472
.L473:
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-16]
	add	r2, r2, r3
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-16]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #2
	rsb	r2, r3, #0
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #2
	ldr	r0, [fp, #-16]
	add	r3, r0, r3
	add	r2, r1, r2
	str	r2, [r3]
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-28]
	b	.L474
.L475:
	ldr	r3, [fp, #-28]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r3, [fp, #-20]
	lsl	r2, r3, #2
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #2
	ldr	r0, [fp, #-16]
	add	r3, r0, r3
	add	r2, r1, r2
	str	r2, [r3]
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
.L474:
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-36]
	cmp	r2, r3
	ble	.L475
	ldr	r3, [fp, #-16]
.L472:
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L477:
	.align	2
.L476:
	.word	.LC79
	.word	.LC80
	.size	imatrix, .-imatrix
	.section	.rodata
	.align	2
.LC81:
	.ascii	"error cmatrix: calloc error No. 1 \000"
	.align	2
.LC82:
	.ascii	"error cmatrix: calloc error No. 2 \000"
	.text
	.align	2
	.global	cmatrix
	.syntax unified
	.arm
	.fpu softvfp
	.type	cmatrix, %function
cmatrix:
	@ 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, #-32]
	str	r1, [fp, #-36]
	str	r2, [fp, #-40]
	str	r3, [fp, #-44]
	ldr	r2, [fp, #-36]
	ldr	r3, [fp, #-32]
	sub	r3, r2, r3
	add	r3, r3, #1
	str	r3, [fp, #-24]
	ldr	r2, [fp, #-44]
	ldr	r3, [fp, #-40]
	sub	r3, r2, r3
	add	r3, r3, #1
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-24]
	mov	r1, #4
	mov	r0, r3
	bl	calloc
	mov	r3, r0
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L479
	ldr	r0, .L484
	bl	puts
	mov	r3, #0
	b	.L480
.L479:
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #2
	rsb	r3, r3, #0
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-20]
	mul	r3, r2, r3
	mov	r0, r3
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-16]
	add	r4, r2, r3
	mov	r1, #1
	bl	calloc
	mov	r3, r0
	str	r3, [r4]
	ldr	r3, [r4]
	cmp	r3, #0
	bne	.L481
	ldr	r0, .L484+4
	bl	puts
	mov	r3, #0
	b	.L480
.L481:
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-16]
	add	r2, r2, r3
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-16]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r3, [fp, #-32]
	rsb	r2, r3, #0
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #2
	ldr	r0, [fp, #-16]
	add	r3, r0, r3
	add	r2, r1, r2
	str	r2, [r3]
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-28]
	b	.L482
.L483:
	ldr	r3, [fp, #-28]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #2
	ldr	r0, [fp, #-16]
	add	r3, r0, r3
	add	r2, r1, r2
	str	r2, [r3]
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
.L482:
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-36]
	cmp	r2, r3
	ble	.L483
	ldr	r3, [fp, #-16]
.L480:
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L485:
	.align	2
.L484:
	.word	.LC81
	.word	.LC82
	.size	cmatrix, .-cmatrix
	.section	.rodata
	.align	2
.LC83:
	.ascii	"error fmatrix: calloc error No. 1 \000"
	.align	2
.LC84:
	.ascii	"error fmatrix: calloc error No. 2 \000"
	.text
	.align	2
	.global	fmatrix
	.syntax unified
	.arm
	.fpu softvfp
	.type	fmatrix, %function
fmatrix:
	@ 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, #-32]
	str	r1, [fp, #-36]
	str	r2, [fp, #-40]
	str	r3, [fp, #-44]
	ldr	r2, [fp, #-36]
	ldr	r3, [fp, #-32]
	sub	r3, r2, r3
	add	r3, r3, #1
	str	r3, [fp, #-24]
	ldr	r2, [fp, #-44]
	ldr	r3, [fp, #-40]
	sub	r3, r2, r3
	add	r3, r3, #1
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-24]
	mov	r1, #4
	mov	r0, r3
	bl	calloc
	mov	r3, r0
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L487
	ldr	r0, .L492
	bl	puts
	mov	r3, #0
	b	.L488
.L487:
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #2
	rsb	r3, r3, #0
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-20]
	mul	r3, r2, r3
	mov	r0, r3
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-16]
	add	r4, r2, r3
	mov	r1, #4
	bl	calloc
	mov	r3, r0
	str	r3, [r4]
	ldr	r3, [r4]
	cmp	r3, #0
	bne	.L489
	ldr	r0, .L492+4
	bl	puts
	mov	r3, #0
	b	.L488
.L489:
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-16]
	add	r2, r2, r3
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-16]
	add	r3, r1, r3
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #2
	rsb	r2, r3, #0
	ldr	r3, [fp, #-32]
	lsl	r3, r3, #2
	ldr	r0, [fp, #-16]
	add	r3, r0, r3
	add	r2, r1, r2
	str	r2, [r3]
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-28]
	b	.L490
.L491:
	ldr	r3, [fp, #-28]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r3, [fp, #-20]
	lsl	r2, r3, #2
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #2
	ldr	r0, [fp, #-16]
	add	r3, r0, r3
	add	r2, r1, r2
	str	r2, [r3]
	ldr	r3, [fp, #-28]
	add	r3, r3, #1
	str	r3, [fp, #-28]
.L490:
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-36]
	cmp	r2, r3
	ble	.L491
	ldr	r3, [fp, #-16]
.L488:
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L493:
	.align	2
.L492:
	.word	.LC83
	.word	.LC84
	.size	fmatrix, .-fmatrix
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
