	.file	"extr_anal_xcore_cs.c_analop.c"
	.intel_syntax noprefix
	.text
	.section	.rodata.str1.1,"aMS",@progbits,1
.LC0:
	.string	"v9"
	.text
	.p2align 4
	.type	analop, @function
analop:
.LFB0:
	.cfi_startproc
	endbr64
	push	r15
	.cfi_def_cfa_offset 16
	.cfi_offset 15, -16
	mov	r15d, edx
	push	r14
	.cfi_def_cfa_offset 24
	.cfi_offset 14, -24
	mov	r14d, r9d
	push	r13
	.cfi_def_cfa_offset 32
	.cfi_offset 13, -32
	mov	r13d, r8d
	push	r12
	.cfi_def_cfa_offset 40
	.cfi_offset 12, -40
	mov	r12, rcx
	push	rbp
	.cfi_def_cfa_offset 48
	.cfi_offset 6, -48
	push	rbx
	.cfi_def_cfa_offset 56
	.cfi_offset 3, -56
	mov	rbx, rsi
	lea	rsi, .LC0[rip]
	sub	rsp, 24
	.cfi_def_cfa_offset 80
	mov	edi, DWORD PTR [rdi]
	mov	ebp, DWORD PTR CS_MODE_BIG_ENDIAN[rip]
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR 8[rsp], rax
	xor	eax, eax
	call	strcmp@PLT
	test	eax, eax
	jne	.L2
	or	ebp, DWORD PTR CS_MODE_V9[rip]
.L2:
	cmp	DWORD PTR omode.1994[rip], ebp
	mov	rax, QWORD PTR handle.1993[rip]
	je	.L3
	test	rax, rax
	jne	.L25
	mov	DWORD PTR omode.1994[rip], ebp
.L5:
	mov	edi, DWORD PTR CS_ARCH_XCORE[rip]
	lea	rdx, handle.1993[rip]
	mov	esi, ebp
	call	cs_open@PLT
	cmp	DWORD PTR CS_ERR_OK[rip], eax
	jne	.L19
	mov	edx, DWORD PTR CS_OPT_ON[rip]
	mov	esi, DWORD PTR CS_OPT_DETAIL[rip]
	mov	rdi, QWORD PTR handle.1993[rip]
	call	cs_option@PLT
	jmp	.L6
	.p2align 4,,10
	.p2align 3
.L3:
	test	rax, rax
	je	.L5
.L6:
	mov	rax, QWORD PTR R_ANAL_OP_TYPE_NULL[rip]
	mov	QWORD PTR 32[rbx], 0
	lea	rdi, 24[rbx]
	mov	DWORD PTR [rbx], 0
	mov	QWORD PTR 8[rbx], rax
	call	r_strbuf_init@PLT
	mov	r9, rsp
	mov	ecx, r15d
	mov	edx, r13d
	mov	rdi, QWORD PTR handle.1993[rip]
	mov	r8d, 1
	mov	rsi, r12
	call	cs_disasm@PLT
	mov	ebp, eax
	test	eax, eax
	jle	.L26
	mov	rdi, QWORD PTR [rsp]
	test	DWORD PTR R_ANAL_OP_MASK_OPEX[rip], r14d
	jne	.L27
.L10:
	mov	eax, DWORD PTR [rdi]
	mov	DWORD PTR [rbx], eax
	mov	eax, DWORD PTR 4[rdi]
	mov	DWORD PTR 4[rbx], eax
	add	eax, -128
	cmp	eax, 17
	ja	.L11
	lea	rdx, .L13[rip]
	movsx	rax, DWORD PTR [rdx+rax*4]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L13:
	.long	.L17-.L13
	.long	.L16-.L13
	.long	.L17-.L13
	.long	.L12-.L13
	.long	.L16-.L13
	.long	.L14-.L13
	.long	.L14-.L13
	.long	.L14-.L13
	.long	.L16-.L13
	.long	.L14-.L13
	.long	.L14-.L13
	.long	.L14-.L13
	.long	.L14-.L13
	.long	.L14-.L13
	.long	.L14-.L13
	.long	.L14-.L13
	.long	.L14-.L13
	.long	.L12-.L13
	.text
	.p2align 4,,10
	.p2align 3
.L12:
	mov	rax, QWORD PTR R_ANAL_OP_TYPE_ADD[rip]
	mov	QWORD PTR 8[rbx], rax
.L11:
	mov	esi, ebp
	call	cs_free@PLT
.L9:
	mov	eax, DWORD PTR [rbx]
.L1:
	mov	rcx, QWORD PTR 8[rsp]
	xor	rcx, QWORD PTR fs:40
	jne	.L28
	add	rsp, 24
	.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
.L25:
	.cfi_restore_state
	lea	rdi, handle.1993[rip]
	call	cs_close@PLT
	mov	DWORD PTR omode.1994[rip], ebp
	mov	QWORD PTR handle.1993[rip], 0
	jmp	.L5
	.p2align 4,,10
	.p2align 3
.L26:
	mov	rax, QWORD PTR R_ANAL_OP_TYPE_ILL[rip]
	mov	QWORD PTR 8[rbx], rax
	jmp	.L9
	.p2align 4,,10
	.p2align 3
.L14:
	mov	rax, QWORD PTR R_ANAL_OP_TYPE_CALL[rip]
	xor	edi, edi
	mov	QWORD PTR 8[rbx], rax
	call	INSOP@PLT
	mov	rdi, QWORD PTR [rsp]
	mov	esi, ebp
	mov	DWORD PTR 16[rbx], eax
	call	cs_free@PLT
	jmp	.L9
	.p2align 4,,10
	.p2align 3
.L27:
	lea	r8, 20[rbx]
	mov	rsi, QWORD PTR handle.1993[rip]
	mov	rdx, rdi
	mov	rdi, r8
	call	opex@PLT
	mov	rdi, QWORD PTR [rsp]
	jmp	.L10
	.p2align 4,,10
	.p2align 3
.L16:
	mov	rax, QWORD PTR R_ANAL_OP_TYPE_RET[rip]
	mov	QWORD PTR 8[rbx], rax
	jmp	.L11
	.p2align 4,,10
	.p2align 3
.L17:
	mov	rax, QWORD PTR R_ANAL_OP_TYPE_SUB[rip]
	mov	QWORD PTR 8[rbx], rax
	jmp	.L11
	.p2align 4,,10
	.p2align 3
.L19:
	mov	eax, -1
	jmp	.L1
.L28:
	call	__stack_chk_fail@PLT
	.cfi_endproc
.LFE0:
	.size	analop, .-analop
	.local	handle.1993
	.comm	handle.1993,8,8
	.local	omode.1994
	.comm	omode.1994,4,4
	.comm	R_ANAL_OP_TYPE_SUB,8,8
	.comm	R_ANAL_OP_TYPE_RET,8,8
	.comm	R_ANAL_OP_TYPE_NULL,8,8
	.comm	R_ANAL_OP_TYPE_ILL,8,8
	.comm	R_ANAL_OP_TYPE_CALL,8,8
	.comm	R_ANAL_OP_TYPE_ADD,8,8
	.comm	R_ANAL_OP_MASK_OPEX,4,4
	.comm	CS_OPT_ON,4,4
	.comm	CS_OPT_DETAIL,4,4
	.comm	CS_MODE_V9,4,4
	.comm	CS_MODE_BIG_ENDIAN,4,4
	.comm	CS_ERR_OK,4,4
	.comm	CS_ARCH_XCORE,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_anal_xcore_cs.c_analop.c"
	.text
	.section	.rodata.str1.4,"aMS",%progbits,1
	.align	2
.LC0:
	.ascii	"v9\000"
	.section	.rodata.cst4,"aM",%progbits,4
	.align	2
.LC1:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	analop, %function
analop:
	@ args = 8, pretend = 0, frame = 8
	@ frame_needed = 0, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, lr}
	ldr	ip, .L29
	mov	r7, r3
	ldr	r3, .L29+4
	sub	sp, sp, #16
	mov	r4, r1
	ldr	r0, [r0]
	ldr	r1, .L29+8
	ldr	r3, [r3]
	str	r3, [sp, #12]
	mov	r3,#0
	ldr	r6, [ip]
	mov	r8, r2
	bl	strcmp
	cmp	r0, #0
	ldreq	r3, .L29+12
	ldr	r5, .L29+16
	ldreq	r3, [r3]
	ldr	r2, [r5, #4]
	orreq	r6, r6, r3
	cmp	r2, r6
	ldr	r3, [r5]
	beq	.L3
	cmp	r3, #0
	streq	r6, [r5, #4]
	bne	.L25
.L5:
	ldr	r3, .L29+20
	mov	r1, r6
	ldr	r0, [r3]
	ldr	r2, .L29+16
	bl	cs_open
	ldr	r3, .L29+24
	ldr	r3, [r3]
	cmp	r3, r0
	bne	.L19
	ldr	r3, .L29+28
	ldr	r2, .L29+32
	ldr	r1, [r3]
	ldr	r2, [r2]
	ldr	r0, [r5]
	bl	cs_option
	b	.L6
.L3:
	cmp	r3, #0
	beq	.L5
.L6:
	mov	r3, #0
	ldr	r2, .L29+36
	str	r3, [r4, #24]
	ldr	r2, [r2]
	add	r0, r4, #20
	str	r3, [r4]
	str	r2, [r4, #8]
	bl	r_strbuf_init
	mov	r0, #1
	add	r2, sp, #8
	stm	sp, {r0, r2}
	mov	r3, r8
	mov	r1, r7
	ldr	r2, [sp, #40]
	ldr	r0, [r5]
	bl	cs_disasm
	subs	r6, r0, #0
	ble	.L26
	ldr	r3, .L29+40
	ldr	r2, [sp, #44]
	ldr	r3, [r3]
	ldr	r0, [sp, #8]
	tst	r2, r3
	bne	.L27
.L10:
	ldm	r0, {r1, r2}
	sub	r3, r2, #128
	stm	r4, {r1, r2}
	cmp	r3, #17
	ldrls	pc, [pc, r3, asl #2]
	b	.L11
.L13:
	.word	.L17
	.word	.L16
	.word	.L17
	.word	.L12
	.word	.L16
	.word	.L14
	.word	.L14
	.word	.L14
	.word	.L16
	.word	.L14
	.word	.L14
	.word	.L14
	.word	.L14
	.word	.L14
	.word	.L14
	.word	.L14
	.word	.L14
	.word	.L12
.L12:
	ldr	r3, .L29+44
	ldr	r3, [r3]
	str	r3, [r4, #8]
.L11:
	mov	r1, r6
	bl	cs_free
.L9:
	ldr	r0, [r4]
.L1:
	ldr	r3, .L29+4
	ldr	r2, [r3]
	ldr	r3, [sp, #12]
	eors	r2, r3, r2
	mov	r3, #0
	bne	.L28
	add	sp, sp, #16
	@ sp needed
	pop	{r4, r5, r6, r7, r8, pc}
.L25:
	mov	r0, r5
	bl	cs_close
	mov	r3, #0
	stm	r5, {r3, r6}
	b	.L5
.L26:
	ldr	r3, .L29+48
	ldr	r3, [r3]
	str	r3, [r4, #8]
	b	.L9
.L14:
	ldr	r3, .L29+52
	mov	r0, #0
	ldr	r3, [r3]
	str	r3, [r4, #8]
	bl	INSOP
	mov	r3, r0
	ldr	r0, [sp, #8]
	str	r3, [r4, #12]
	b	.L11
.L27:
	mov	r2, r0
	ldr	r1, [r5]
	add	r0, r4, #16
	bl	opex
	ldr	r0, [sp, #8]
	b	.L10
.L16:
	ldr	r3, .L29+56
	ldr	r3, [r3]
	str	r3, [r4, #8]
	b	.L11
.L17:
	ldr	r3, .L29+60
	ldr	r3, [r3]
	str	r3, [r4, #8]
	b	.L11
.L19:
	mvn	r0, #0
	b	.L1
.L28:
	bl	__stack_chk_fail
.L30:
	.align	2
.L29:
	.word	CS_MODE_BIG_ENDIAN
	.word	.LC1
	.word	.LC0
	.word	CS_MODE_V9
	.word	.LANCHOR0
	.word	CS_ARCH_XCORE
	.word	CS_ERR_OK
	.word	CS_OPT_DETAIL
	.word	CS_OPT_ON
	.word	R_ANAL_OP_TYPE_NULL
	.word	R_ANAL_OP_MASK_OPEX
	.word	R_ANAL_OP_TYPE_ADD
	.word	R_ANAL_OP_TYPE_ILL
	.word	R_ANAL_OP_TYPE_CALL
	.word	R_ANAL_OP_TYPE_RET
	.word	R_ANAL_OP_TYPE_SUB
	.size	analop, .-analop
	.comm	R_ANAL_OP_TYPE_SUB,4,4
	.comm	R_ANAL_OP_TYPE_RET,4,4
	.comm	R_ANAL_OP_TYPE_NULL,4,4
	.comm	R_ANAL_OP_TYPE_ILL,4,4
	.comm	R_ANAL_OP_TYPE_CALL,4,4
	.comm	R_ANAL_OP_TYPE_ADD,4,4
	.comm	R_ANAL_OP_MASK_OPEX,4,4
	.comm	CS_OPT_ON,4,4
	.comm	CS_OPT_DETAIL,4,4
	.comm	CS_MODE_V9,4,4
	.comm	CS_MODE_BIG_ENDIAN,4,4
	.comm	CS_ERR_OK,4,4
	.comm	CS_ARCH_XCORE,4,4
	.bss
	.align	2
	.set	.LANCHOR0,. + 0
	.type	handle.4277, %object
	.size	handle.4277, 4
handle.4277:
	.space	4
	.type	omode.4278, %object
	.size	omode.4278, 4
omode.4278:
	.space	4
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
