	.file	"extr_go7007-fw.c_modet_to_package.c"
	.intel_syntax noprefix
	.text
	.p2align 4
	.type	modet_to_package, @function
modet_to_package:
.LFB0:
	.cfi_startproc
	endbr64
	push	r15
	.cfi_def_cfa_offset 16
	.cfi_offset 15, -16
	mov	r9d, 32767
	push	r14
	.cfi_def_cfa_offset 24
	.cfi_offset 14, -24
	push	r13
	.cfi_def_cfa_offset 32
	.cfi_offset 13, -32
	mov	r13, rdi
	push	r12
	.cfi_def_cfa_offset 40
	.cfi_offset 12, -40
	push	rbp
	.cfi_def_cfa_offset 48
	.cfi_offset 6, -48
	push	rbx
	.cfi_def_cfa_offset 56
	.cfi_offset 3, -56
	sub	rsp, 296
	.cfi_def_cfa_offset 352
	mov	QWORD PTR [rsp], rsi
	mov	DWORD PTR 12[rsp], edx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR 280[rsp], rax
	xor	eax, eax
	mov	rax, QWORD PTR 8[rdi]
	mov	edi, DWORD PTR [rax]
	mov	esi, DWORD PTR 16[rax]
	mov	QWORD PTR 144[rsp], 8206
	mov	ecx, DWORD PTR 32[rax]
	mov	edx, DWORD PTR 48[rax]
	mov	DWORD PTR 152[rsp], 49026
	test	edi, edi
	je	.L2
	mov	r9d, DWORD PTR 4[rax]
.L2:
	mov	DWORD PTR 156[rsp], r9d
	mov	r9d, 32767
	mov	DWORD PTR 160[rsp], 49027
	test	esi, esi
	je	.L3
	mov	r9d, DWORD PTR 20[rax]
.L3:
	mov	DWORD PTR 164[rsp], r9d
	mov	r9d, 32767
	mov	DWORD PTR 168[rsp], 49028
	test	ecx, ecx
	je	.L4
	mov	r9d, DWORD PTR 36[rax]
.L4:
	mov	DWORD PTR 172[rsp], r9d
	mov	r9d, 32767
	mov	DWORD PTR 176[rsp], 49029
	test	edx, edx
	je	.L5
	mov	r9d, DWORD PTR 52[rax]
.L5:
	mov	DWORD PTR 180[rsp], r9d
	mov	r9d, 32767
	mov	DWORD PTR 184[rsp], 49030
	test	edi, edi
	je	.L6
	mov	r9d, DWORD PTR 8[rax]
.L6:
	mov	DWORD PTR 188[rsp], r9d
	mov	r9d, 32767
	mov	DWORD PTR 192[rsp], 49031
	test	esi, esi
	je	.L7
	mov	r9d, DWORD PTR 24[rax]
.L7:
	mov	DWORD PTR 196[rsp], r9d
	mov	r9d, 32767
	mov	DWORD PTR 200[rsp], 49032
	test	ecx, ecx
	je	.L8
	mov	r9d, DWORD PTR 40[rax]
.L8:
	mov	DWORD PTR 204[rsp], r9d
	mov	r9d, 32767
	mov	DWORD PTR 208[rsp], 49033
	test	edx, edx
	je	.L9
	mov	r9d, DWORD PTR 56[rax]
.L9:
	mov	DWORD PTR 212[rsp], r9d
	mov	r9d, 32767
	mov	DWORD PTR 216[rsp], 49034
	test	edi, edi
	je	.L10
	mov	r9d, DWORD PTR 12[rax]
.L10:
	mov	DWORD PTR 220[rsp], r9d
	mov	edi, 32767
	mov	DWORD PTR 224[rsp], 49035
	test	esi, esi
	je	.L11
	mov	edi, DWORD PTR 28[rax]
.L11:
	mov	DWORD PTR 228[rsp], edi
	mov	esi, 32767
	mov	DWORD PTR 232[rsp], 49036
	test	ecx, ecx
	je	.L12
	mov	esi, DWORD PTR 44[rax]
.L12:
	mov	DWORD PTR 236[rsp], esi
	mov	ecx, 32767
	mov	DWORD PTR 240[rsp], 49037
	test	edx, edx
	je	.L13
	mov	ecx, DWORD PTR 60[rax]
.L13:
	mov	DWORD PTR 244[rsp], ecx
	mov	rdi, QWORD PTR [rsp]
	mov	edx, 1
	lea	rsi, 144[rsp]
	mov	QWORD PTR 248[rsp], 49038
	mov	ecx, DWORD PTR 12[rsp]
	mov	QWORD PTR 256[rsp], 49039
	mov	QWORD PTR 264[rsp], 0
	call	copy_packages@PLT
	mov	r12d, eax
	test	eax, eax
	js	.L20
	lea	rbx, 16[rsp]
	mov	edx, 64
	xor	esi, esi
	xor	r14d, r14d
	mov	rdi, rbx
	mov	r15d, 4
	call	memset@PLT
	mov	eax, DWORD PTR 28[rsp]
	mov	rdx, QWORD PTR 0[r13]
	xor	esi, esi
	mov	edi, 47808
	sal	eax, 2
	mov	DWORD PTR 28[rsp], eax
	or	eax, DWORD PTR [rdx]
	mov	DWORD PTR 28[rsp], eax
	jmp	.L16
	.p2align 4,,10
	.p2align 3
.L59:
	add	ecx, 5
.L19:
	movsx	rcx, ecx
	mov	edi, ebp
	mov	DWORD PTR 16[rsp+rcx*4], 0
.L17:
	add	r15, 4
.L16:
	add	r14d, 1
	cmp	r14d, 1624
	je	.L58
	lea	ecx, [rsi+rsi]
	mov	r9, QWORD PTR 0[r13]
	lea	edx, 3[rcx]
	movsx	rdx, edx
	mov	eax, DWORD PTR 16[rsp+rdx*4]
	sal	eax, 2
	mov	DWORD PTR 16[rsp+rdx*4], eax
	or	eax, DWORD PTR [r9+r15]
	mov	DWORD PTR 16[rsp+rdx*4], eax
	mov	eax, r14d
	and	eax, 7
	cmp	eax, 7
	jne	.L17
	lea	eax, 2[rcx]
	add	esi, 1
	lea	ebp, 1[rdi]
	cdqe
	mov	DWORD PTR 16[rsp+rax*4], edi
	cmp	esi, 10
	je	.L18
	cmp	r14d, 1623
	jne	.L59
.L18:
	mov	ecx, DWORD PTR 12[rsp]
	mov	rdi, QWORD PTR [rsp]
	movsx	rax, r12d
	mov	edx, 1
	or	esi, 8192
	mov	DWORD PTR 16[rsp], esi
	sub	ecx, r12d
	lea	rdi, [rdi+rax*4]
	mov	rsi, rbx
	call	copy_packages@PLT
	test	eax, eax
	js	.L20
	xor	esi, esi
	mov	edx, 64
	mov	rdi, rbx
	add	r12d, eax
	call	memset@PLT
	mov	ecx, 3
	xor	esi, esi
	jmp	.L19
	.p2align 4,,10
	.p2align 3
.L20:
	mov	r12d, -1
.L1:
	mov	rax, QWORD PTR 280[rsp]
	xor	rax, QWORD PTR fs:40
	jne	.L60
	add	rsp, 296
	.cfi_remember_state
	.cfi_def_cfa_offset 56
	mov	eax, r12d
	pop	rbx
	.cfi_def_cfa_offset 48
	pop	rbp
	.cfi_def_cfa_offset 40
	pop	r12
	.cfi_def_cfa_offset 32
	pop	r13
	.cfi_def_cfa_offset 24
	pop	r14
	.cfi_def_cfa_offset 16
	pop	r15
	.cfi_def_cfa_offset 8
	ret
.L58:
	.cfi_restore_state
	mov	edx, 64
	xor	esi, esi
	mov	rdi, rbx
	mov	r14d, 48016
	call	memset@PLT
	mov	edx, 1
	mov	QWORD PTR 24[rsp], 48016
	.p2align 4,,10
	.p2align 3
.L22:
	add	r14d, 1
	cmp	r14d, 48122
	je	.L1
	add	edx, 1
	lea	eax, [rdx+rdx]
	movsx	rcx, eax
	add	eax, 1
	cdqe
	mov	DWORD PTR 16[rsp+rcx*4], r14d
	mov	DWORD PTR 16[rsp+rax*4], 0
	cmp	edx, 10
	je	.L39
	cmp	r14d, 48121
	jne	.L22
.L39:
	mov	ecx, DWORD PTR 12[rsp]
	mov	rdi, QWORD PTR [rsp]
	or	dh, 32
	movsx	rax, r12d
	mov	DWORD PTR 16[rsp], edx
	mov	rsi, rbx
	mov	edx, 1
	sub	ecx, r12d
	lea	rdi, [rdi+rax*4]
	call	copy_packages@PLT
	test	eax, eax
	js	.L20
	mov	edx, 64
	xor	esi, esi
	mov	rdi, rbx
	add	r12d, eax
	call	memset@PLT
	xor	edx, edx
	jmp	.L22
.L60:
	call	__stack_chk_fail@PLT
	.cfi_endproc
.LFE0:
	.size	modet_to_package, .-modet_to_package
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.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, 2
	.eabi_attribute 34, 0
	.eabi_attribute 18, 4
	.file	"extr_go7007-fw.c_modet_to_package.c"
	.text
	.section	.rodata.cst4,"aM",%progbits,4
	.align	2
.LC0:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	modet_to_package, %function
modet_to_package:
	@ args = 0, pretend = 0, frame = 272
	@ frame_needed = 0, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, r9, r10, fp, lr}
	mov	r5, #0
	ldr	r3, [r0, #4]
	sub	sp, sp, #276
	ldr	r4, .L46
	ldr	ip, [r3]
	mov	r10, r2
	ldr	lr, .L46+4
	ldr	r2, .L46+8
	str	r1, [sp, #4]
	ldr	r2, [r2]
	str	r2, [sp, #268]
	mov	r2,#0
	ldr	r1, [r3, #32]
	ldr	r2, [r3, #48]
	cmp	ip, r5
	mov	r6, r0
	ldr	r0, [r3, #16]
	str	r4, [sp, #140]
	str	r5, [sp, #144]
	str	lr, [sp, #148]
	ldrne	r4, [r3, #4]
	ldreq	r4, .L46+12
	ldr	lr, .L46+16
	str	r4, [sp, #152]
	str	lr, [sp, #156]
	cmp	r0, #0
	ldrne	r4, [r3, #20]
	ldreq	r4, .L46+12
	mov	r7, #0
	ldr	lr, .L46+20
	str	r4, [sp, #160]
	str	lr, [sp, #164]
	cmp	r1, #0
	ldrne	r4, [r3, #36]
	ldreq	r4, .L46+12
	ldr	lr, .L46+24
	str	r4, [sp, #168]
	str	lr, [sp, #172]
	cmp	r2, #0
	ldrne	r4, [r3, #52]
	ldreq	r4, .L46+12
	ldr	lr, .L46+28
	str	r4, [sp, #176]
	str	lr, [sp, #180]
	cmp	ip, #0
	ldrne	r4, [r3, #8]
	ldreq	r4, .L46+12
	ldr	lr, .L46+32
	str	r4, [sp, #184]
	cmp	r0, #0
	str	lr, [sp, #188]
	ldrne	r4, [r3, #24]
	ldreq	r4, .L46+12
	ldr	lr, .L46+36
	str	r4, [sp, #192]
	cmp	r1, #0
	str	lr, [sp, #196]
	ldrne	r4, [r3, #40]
	ldreq	r4, .L46+12
	ldr	lr, .L46+40
	cmp	r2, #0
	str	r4, [sp, #200]
	str	lr, [sp, #204]
	ldreq	r4, .L46+12
	ldrne	r4, [r3, #56]
	ldr	lr, .L46+44
	str	r4, [sp, #208]
	str	lr, [sp, #212]
	cmp	ip, #0
	ldrne	lr, [r3, #12]
	ldr	ip, .L46+48
	ldreq	lr, .L46+12
	str	ip, [sp, #220]
	cmp	r0, #0
	str	lr, [sp, #216]
	ldrne	ip, [r3, #28]
	ldr	r0, .L46+52
	ldreq	ip, .L46+12
	str	r0, [sp, #228]
	cmp	r1, #0
	str	ip, [sp, #224]
	ldrne	r0, [r3, #44]
	ldr	r1, .L46+56
	ldreq	r0, .L46+12
	str	r1, [sp, #236]
	cmp	r2, #0
	str	r0, [sp, #232]
	ldrne	r1, [r3, #60]
	ldreq	r1, .L46+12
	ldr	r0, .L46+60
	ldr	ip, .L46+64
	str	r1, [sp, #240]
	str	r0, [sp, #244]
	mov	r3, r10
	mov	r2, #1
	ldr	r0, [sp, #4]
	add	r1, sp, #140
	str	r7, [sp, #248]
	str	r7, [sp, #256]
	str	r7, [sp, #260]
	str	r7, [sp, #264]
	str	ip, [sp, #252]
	bl	copy_packages
	subs	r5, r0, #0
	blt	.L20
	mov	r1, r7
	mov	r2, #64
	add	r0, sp, #12
	bl	memset
	ldr	r3, [r6]
	mov	r4, r7
	ldr	r3, [r3]
	mov	lr, r7
	mov	r9, r7
	ldr	fp, .L46+68
	ldr	r7, .L46+72
	ldr	r8, .L46+76
	str	r3, [sp, #24]
.L16:
	add	r4, r4, #1
	cmp	r4, r7
	beq	.L43
.L21:
	lsl	r1, lr, #1
	add	r2, sp, #272
	add	r3, r1, #3
	add	r3, r2, r3, lsl #2
	ldr	r2, [r3, #-260]
	ldr	r0, [r6]
	lsl	r2, r2, #2
	str	r2, [r3, #-260]
	ldr	ip, [r0, r4, lsl #2]
	and	r0, r4, #7
	orr	r2, ip, r2
	cmp	r0, #7
	str	r2, [r3, #-260]
	bne	.L16
	add	lr, lr, #1
	cmp	r4, r8
	cmpne	lr, #10
	add	r3, sp, #272
	add	r3, r3, r1, lsl #2
	str	fp, [r3, #-252]
	addne	r1, r1, #5
	add	fp, fp, #1
	beq	.L44
.L19:
	add	r3, sp, #272
	add	r4, r4, #1
	add	r1, r3, r1, lsl #2
	cmp	r4, r7
	str	r9, [r1, #-260]
	bne	.L21
.L43:
	mov	r2, #64
	mov	r1, #0
	add	r0, sp, #12
	bl	memset
	mov	r8, #0
	mov	r3, #1
	ldr	r4, .L46+80
	ldr	r6, .L46+84
	ldr	r7, .L46+88
	str	r4, [sp, #20]
.L22:
	add	r4, r4, #1
	cmp	r4, r6
	beq	.L1
.L24:
	add	r3, r3, #1
	cmp	r4, r7
	cmpne	r3, #10
	add	r2, sp, #272
	add	r2, r2, r3, lsl #3
	str	r4, [r2, #-260]
	str	r8, [r2, #-256]
	bne	.L22
	ldr	r0, [sp, #4]
	orr	ip, r3, #8192
	mov	r2, #1
	sub	r3, r10, r5
	add	r1, sp, #12
	add	r0, r0, r5, lsl #2
	str	ip, [sp, #12]
	bl	copy_packages
	subs	r3, r0, #0
	blt	.L20
	mov	r2, #64
	mov	r1, #0
	add	r0, sp, #12
	add	r4, r4, #1
	add	r5, r5, r3
	bl	memset
	cmp	r4, r6
	mov	r3, #0
	bne	.L24
.L1:
	ldr	r3, .L46+8
	ldr	r2, [r3]
	ldr	r3, [sp, #268]
	eors	r2, r3, r2
	mov	r3, #0
	bne	.L45
	mov	r0, r5
	add	sp, sp, #276
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, r10, fp, pc}
.L44:
	ldr	r0, [sp, #4]
	orr	lr, lr, #8192
	sub	r3, r10, r5
	mov	r2, #1
	add	r1, sp, #12
	add	r0, r0, r5, lsl #2
	str	lr, [sp, #12]
	bl	copy_packages
	subs	r3, r0, #0
	blt	.L20
	mov	r1, #0
	mov	r2, #64
	add	r0, sp, #12
	add	r5, r5, r3
	bl	memset
	mov	r1, #3
	mov	lr, #0
	b	.L19
.L20:
	mvn	r5, #0
	b	.L1
.L45:
	bl	__stack_chk_fail
.L47:
	.align	2
.L46:
	.word	8206
	.word	49026
	.word	.LC0
	.word	32767
	.word	49027
	.word	49028
	.word	49029
	.word	49030
	.word	49031
	.word	49032
	.word	49033
	.word	49034
	.word	49035
	.word	49036
	.word	49037
	.word	49038
	.word	49039
	.word	47808
	.word	1624
	.word	1623
	.word	48016
	.word	48122
	.word	48121
	.size	modet_to_package, .-modet_to_package
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
