	.file	"extr_sym_fw.c_sym_fw_bind_script.c"
	.intel_syntax noprefix
	.text
	.section	.rodata.str1.1,"aMS",@progbits,1
.LC0:
	.string	"%s: ERROR0 IN SCRIPT at %d.\n"
.LC1:
	.string	"%d:  <%x>\n"
	.section	.rodata.str1.8,"aMS",@progbits,1
	.align 8
.LC2:
	.string	"sym_fw_bind_script: weird relocation %x\n"
	.text
	.p2align 4
	.globl	sym_fw_bind_script
	.type	sym_fw_bind_script, @function
sym_fw_bind_script:
.LFB0:
	.cfi_startproc
	endbr64
	push	r15
	.cfi_def_cfa_offset 16
	.cfi_offset 15, -16
	lea	eax, 3[rdx]
	push	r14
	.cfi_def_cfa_offset 24
	.cfi_offset 14, -24
	push	r13
	.cfi_def_cfa_offset 32
	.cfi_offset 13, -32
	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, 8
	.cfi_def_cfa_offset 64
	test	edx, edx
	cmovns	eax, edx
	sar	eax, 2
	cdqe
	lea	r12, [rsi+rax*4]
	cmp	rsi, r12
	jnb	.L1
	mov	rbp, rdi
	mov	r13, rsi
	mov	rbx, rsi
	jmp	.L2
	.p2align 4,,10
	.p2align 3
.L41:
	test	eax, eax
	je	.L18
	cmp	eax, 128
	jne	.L20
	not	edx
	and	edi, edx
	add	edi, DWORD PTR 16[rbp]
	.p2align 4,,10
	.p2align 3
.L23:
	call	cpu_to_scr@PLT
	lea	rbx, 4[r15]
	mov	DWORD PTR [r15], eax
.L4:
	cmp	r12, rbx
	jbe	.L1
.L2:
	mov	r14d, DWORD PTR [rbx]
	test	r14d, r14d
	je	.L38
	cmp	DWORD PTR SCR_DATA_ZERO[rip], r14d
	je	.L39
	mov	eax, DWORD PTR DEBUG_FLAGS[rip]
	test	DWORD PTR DEBUG_SCRIPT[rip], eax
	jne	.L40
	mov	eax, r14d
	sar	eax, 28
	cmp	eax, 1
	je	.L7
.L42:
	jg	.L8
	test	eax, eax
	jne	.L10
	mov	eax, DWORD PTR 0[rbp]
	lea	r15, 4[rbx]
	mov	edi, r14d
	test	DWORD PTR FE_WIDE[rip], eax
	jne	.L36
	or	edi, DWORD PTR OPC_MOVE[rip]
.L36:
	call	cpu_to_scr@PLT
	mov	DWORD PTR [rbx], eax
.L14:
	mov	edx, DWORD PTR RELOC_MASK[rip]
	mov	edi, DWORD PTR [r15]
	mov	eax, edx
	and	eax, edi
	cmp	eax, 129
	je	.L16
	jle	.L41
	cmp	eax, 130
	je	.L21
	cmp	eax, 131
	jne	.L20
	not	edx
	and	edi, edx
	add	edi, DWORD PTR 8[rbp]
	jmp	.L23
	.p2align 4,,10
	.p2align 3
.L8:
	sub	eax, 4
	cmp	eax, 3
	ja	.L10
	mov	edi, r14d
	lea	r15, 4[rbx]
	call	cpu_to_scr@PLT
	mov	DWORD PTR [rbx], eax
	jmp	.L14
	.p2align 4,,10
	.p2align 3
.L40:
	mov	rsi, rbx
	mov	edx, r14d
	lea	rdi, .LC1[rip]
	xor	eax, eax
	sub	rsi, r13
	sar	rsi, 2
	call	printf@PLT
	mov	eax, r14d
	sar	eax, 28
	cmp	eax, 1
	jne	.L42
.L7:
	mov	eax, DWORD PTR 0[rbp]
	mov	edi, r14d
	test	DWORD PTR FE_WIDE[rip], eax
	jne	.L35
	or	edi, DWORD PTR OPC_MOVE[rip]
.L35:
	call	cpu_to_scr@PLT
	mov	DWORD PTR [rbx], eax
.L12:
	mov	edi, DWORD PTR 4[rbx]
	add	rbx, 8
	call	cpu_to_scr@PLT
	mov	DWORD PTR -4[rbx], eax
	cmp	r12, rbx
	ja	.L2
.L1:
	add	rsp, 8
	.cfi_remember_state
	.cfi_def_cfa_offset 56
	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
	.p2align 4,,10
	.p2align 3
.L38:
	.cfi_restore_state
	mov	rdi, rbp
	call	sym_name@PLT
	mov	rdx, rbx
	lea	rdi, .LC0[rip]
	add	rbx, 4
	sub	rdx, r13
	mov	rsi, rax
	xor	eax, eax
	sar	rdx, 2
	call	printf@PLT
	jmp	.L4
	.p2align 4,,10
	.p2align 3
.L18:
	test	edi, edi
	je	.L23
.L20:
	mov	esi, edi
	lea	rdi, .LC2[rip]
	call	panic@PLT
	xor	edi, edi
	jmp	.L23
	.p2align 4,,10
	.p2align 3
.L39:
	mov	DWORD PTR [rbx], 0
	add	rbx, 4
	jmp	.L4
	.p2align 4,,10
	.p2align 3
.L10:
	mov	edi, r14d
	call	cpu_to_scr@PLT
	mov	DWORD PTR [rbx], eax
	jmp	.L12
	.p2align 4,,10
	.p2align 3
.L21:
	not	edx
	and	edi, edx
	add	edi, DWORD PTR 12[rbp]
	jmp	.L23
	.p2align 4,,10
	.p2align 3
.L16:
	not	edx
	and	edi, edx
	add	edi, DWORD PTR 4[rbp]
	jmp	.L23
	.cfi_endproc
.LFE0:
	.size	sym_fw_bind_script, .-sym_fw_bind_script
	.comm	SCR_NO_FLUSH,4,4
	.comm	SCR_DATA_ZERO,4,4
	.comm	RELOC_MASK,4,4
	.comm	OPC_TCHMOVE,4,4
	.comm	OPC_MOVE,4,4
	.comm	FE_WIDE,4,4
	.comm	FE_PFEN,4,4
	.comm	DEBUG_SCRIPT,4,4
	.comm	DEBUG_FLAGS,4,4
	.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_sym_fw.c_sym_fw_bind_script.c"
	.text
	.section	.rodata.str1.4,"aMS",%progbits,1
	.align	2
.LC0:
	.ascii	"%s: ERROR0 IN SCRIPT at %d.\012\000"
	.align	2
.LC1:
	.ascii	"%d:  <%x>\012\000"
	.align	2
.LC2:
	.ascii	"sym_fw_bind_script: weird relocation %x\012\000"
	.text
	.align	2
	.global	sym_fw_bind_script
	.syntax unified
	.arm
	.fpu softvfp
	.type	sym_fw_bind_script, %function
sym_fw_bind_script:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 0, uses_anonymous_args = 0
	cmp	r2, #0
	push	{r4, r5, r6, r7, r8, r9, r10, fp, lr}
	add	r4, r2, #3
	movlt	r2, r4
	bic	r2, r2, #3
	add	r4, r1, r2
	cmp	r1, r4
	sub	sp, sp, #12
	bcs	.L1
	mov	r7, r1
	mov	r6, r0
	mov	r9, r1
	ldr	r8, .L39
	ldr	fp, .L39+4
	ldr	r10, .L39+8
.L2:
	ldr	r2, [r9]
	cmp	r2, #0
	beq	.L36
	ldr	r3, [r8]
	cmp	r3, r2
	moveq	r3, #0
	streq	r3, [r9], #4
	beq	.L4
	ldr	r1, [fp]
	ldr	r3, [r10]
	tst	r1, r3
	bne	.L37
	asr	r3, r2, #28
	cmp	r3, #1
	beq	.L7
.L38:
	bgt	.L8
	cmp	r3, #0
	bne	.L34
	ldr	r3, .L39+12
	ldr	r1, [r6]
	ldr	r3, [r3]
	add	r5, r9, #4
	tst	r1, r3
	ldreq	r3, .L39+16
	movne	r0, r2
	ldreq	r0, [r3]
	orreq	r0, r2, r0
	bl	cpu_to_scr
	str	r0, [r9]
.L14:
	ldr	r3, .L39+20
	ldr	r0, [r5]
	ldr	r1, [r3]
	ands	r3, r1, r0
	beq	.L16
	sub	r3, r3, #128
	cmp	r3, #3
	bhi	.L17
	cmp	r3, #3
	ldrls	pc, [pc, r3, asl #2]
	b	.L17
.L19:
	.word	.L22
	.word	.L21
	.word	.L20
	.word	.L18
.L18:
	ldr	r3, [r6, #8]
	bic	r0, r0, r1
	add	r0, r0, r3
.L23:
	bl	cpu_to_scr
	mov	r9, r5
	str	r0, [r9], #4
.L4:
	cmp	r4, r9
	bhi	.L2
.L1:
	add	sp, sp, #12
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, r10, fp, pc}
.L20:
	ldr	r3, [r6, #12]
	bic	r0, r0, r1
	add	r0, r0, r3
	b	.L23
.L22:
	ldr	r3, [r6, #16]
	bic	r0, r0, r1
	add	r0, r0, r3
	b	.L23
.L21:
	ldr	r3, [r6, #4]
	bic	r0, r0, r1
	add	r0, r0, r3
	b	.L23
.L8:
	sub	r3, r3, #4
	cmp	r3, #3
	bhi	.L34
	mov	r0, r2
	bl	cpu_to_scr
	mov	r5, r9
	str	r0, [r5], #4
	b	.L14
.L34:
	mov	r0, r2
	bl	cpu_to_scr
	str	r0, [r9]
.L12:
	ldr	r0, [r9, #4]
	bl	cpu_to_scr
	add	r9, r9, #8
	str	r0, [r9, #-4]
	b	.L4
.L37:
	sub	r1, r9, r7
	ldr	r0, .L39+24
	asr	r1, r1, #2
	str	r2, [sp, #4]
	bl	printf
	ldr	r2, [sp, #4]
	asr	r3, r2, #28
	cmp	r3, #1
	bne	.L38
.L7:
	ldr	r3, .L39+12
	ldr	r1, [r6]
	ldr	r3, [r3]
	tst	r1, r3
	bne	.L34
	ldr	r3, .L39+16
	ldr	r0, [r3]
	orr	r0, r2, r0
	bl	cpu_to_scr
	str	r0, [r9]
	b	.L12
.L36:
	mov	r0, r6
	bl	sym_name
	sub	r2, r9, r7
	mov	r1, r0
	asr	r2, r2, #2
	ldr	r0, .L39+28
	add	r9, r9, #4
	bl	printf
	b	.L4
.L16:
	cmp	r0, #0
	beq	.L23
.L17:
	mov	r1, r0
	ldr	r0, .L39+32
	bl	panic
	mov	r0, #0
	b	.L23
.L40:
	.align	2
.L39:
	.word	SCR_DATA_ZERO
	.word	DEBUG_FLAGS
	.word	DEBUG_SCRIPT
	.word	FE_WIDE
	.word	OPC_MOVE
	.word	RELOC_MASK
	.word	.LC1
	.word	.LC0
	.word	.LC2
	.size	sym_fw_bind_script, .-sym_fw_bind_script
	.comm	SCR_NO_FLUSH,4,4
	.comm	SCR_DATA_ZERO,4,4
	.comm	RELOC_MASK,4,4
	.comm	OPC_TCHMOVE,4,4
	.comm	OPC_MOVE,4,4
	.comm	FE_WIDE,4,4
	.comm	FE_PFEN,4,4
	.comm	DEBUG_SCRIPT,4,4
	.comm	DEBUG_FLAGS,4,4
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
