	.file	"extr_scsp.c_scsp_slot_read_byte.c"
	.intel_syntax noprefix
	.text
	.p2align 4
	.globl	scsp_slot_read_byte
	.type	scsp_slot_read_byte, @function
scsp_slot_read_byte:
.LFB0:
	.cfi_startproc
	endbr64
	mov	eax, esi
	sar	eax, 5
	mov	ecx, eax
	and	eax, 31
	lea	rdx, [rax+rax*4]
	and	ecx, 31
	lea	rdx, [rax+rdx*8]
	sal	ecx, 5
	mov	rax, QWORD PTR [rdi]
	sub	esi, ecx
	lea	rdx, [rax+rdx*4]
	cmp	esi, 23
	ja	.L27
	lea	rcx, .L4[rip]
	movsx	rax, DWORD PTR [rcx+rsi*4]
	add	rax, rcx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L4:
	.long	.L26-.L4
	.long	.L25-.L4
	.long	.L24-.L4
	.long	.L23-.L4
	.long	.L22-.L4
	.long	.L21-.L4
	.long	.L20-.L4
	.long	.L19-.L4
	.long	.L18-.L4
	.long	.L17-.L4
	.long	.L16-.L4
	.long	.L15-.L4
	.long	.L14-.L4
	.long	.L13-.L4
	.long	.L12-.L4
	.long	.L11-.L4
	.long	.L10-.L4
	.long	.L9-.L4
	.long	.L8-.L4
	.long	.L7-.L4
	.long	.L27-.L4
	.long	.L6-.L4
	.long	.L5-.L4
	.long	.L3-.L4
	.text
	.p2align 4,,10
	.p2align 3
.L3:
	mov	eax, DWORD PTR 156[rdx]
	sal	eax, 5
	or	eax, DWORD PTR 160[rdx]
	ret
	.p2align 4,,10
	.p2align 3
.L5:
	mov	eax, DWORD PTR 148[rdx]
	sal	eax, 5
	or	eax, DWORD PTR 152[rdx]
	ret
	.p2align 4,,10
	.p2align 3
.L6:
	mov	eax, DWORD PTR 136[rdx]
	mov	edi, DWORD PTR 140[rdx]
	sal	eax, 7
	lea	ecx, 0[0+rdi*8]
	or	eax, ecx
	or	eax, DWORD PTR 144[rdx]
	ret
	.p2align 4,,10
	.p2align 3
.L7:
	mov	eax, DWORD PTR 124[rdx]
	mov	edi, DWORD PTR 128[rdx]
	sal	eax, 5
	lea	ecx, 0[0+rdi*8]
	or	eax, ecx
	or	eax, DWORD PTR 132[rdx]
	ret
	.p2align 4,,10
	.p2align 3
.L8:
	mov	eax, DWORD PTR 112[rdx]
	mov	edi, DWORD PTR 116[rdx]
	sal	eax, 7
	lea	ecx, 0[0+rdi*4]
	or	eax, ecx
	or	eax, DWORD PTR 120[rdx]
	ret
	.p2align 4,,10
	.p2align 3
.L9:
	mov	eax, DWORD PTR 108[rdx]
	ret
	.p2align 4,,10
	.p2align 3
.L10:
	mov	ecx, DWORD PTR 96[rdx]
	mov	eax, DWORD PTR 100[rdx]
	sal	ecx, 7
	sal	eax, 3
	or	ecx, eax
	mov	eax, DWORD PTR 104[rdx]
	sal	eax, 2
	or	ecx, eax
	mov	eax, DWORD PTR 108[rdx]
	sar	eax, 8
	or	eax, ecx
	ret
	.p2align 4,,10
	.p2align 3
.L11:
	mov	eax, DWORD PTR 88[rdx]
	sal	eax, 6
	or	eax, DWORD PTR 92[rdx]
	ret
	.p2align 4,,10
	.p2align 3
.L12:
	mov	eax, DWORD PTR 84[rdx]
	mov	edx, DWORD PTR 88[rdx]
	sal	eax, 4
	sar	edx, 2
	or	eax, edx
	ret
	.p2align 4,,10
	.p2align 3
.L13:
	mov	eax, DWORD PTR 80[rdx]
	ret
	.p2align 4,,10
	.p2align 3
.L14:
	mov	eax, DWORD PTR 68[rdx]
	mov	edi, DWORD PTR 72[rdx]
	sal	eax, 2
	lea	ecx, [rdi+rdi]
	or	eax, ecx
	or	eax, DWORD PTR 76[rdx]
	ret
	.p2align 4,,10
	.p2align 3
.L15:
	mov	eax, DWORD PTR 60[rdx]
	sal	eax, 5
	or	eax, DWORD PTR 64[rdx]
	ret
	.p2align 4,,10
	.p2align 3
.L16:
	mov	ecx, DWORD PTR 48[rdx]
	mov	eax, DWORD PTR 52[rdx]
	sal	ecx, 7
	sal	eax, 6
	or	ecx, eax
	mov	eax, DWORD PTR 56[rdx]
	sal	eax, 2
	or	ecx, eax
	mov	eax, DWORD PTR 60[rdx]
	sar	eax, 3
	or	eax, ecx
	ret
	.p2align 4,,10
	.p2align 3
.L17:
	mov	eax, DWORD PTR 36[rdx]
	mov	ecx, DWORD PTR 40[rdx]
	sal	eax, 6
	sal	ecx, 5
	or	eax, ecx
	or	eax, DWORD PTR 44[rdx]
	ret
	.p2align 4,,10
	.p2align 3
.L18:
	mov	eax, DWORD PTR 32[rdx]
	mov	edx, DWORD PTR 36[rdx]
	sal	eax, 3
	sar	edx, 2
	or	eax, edx
	ret
	.p2align 4,,10
	.p2align 3
.L19:
	movzx	eax, BYTE PTR 28[rdx]
	ret
	.p2align 4,,10
	.p2align 3
.L20:
	movzx	eax, BYTE PTR 29[rdx]
	ret
	.p2align 4,,10
	.p2align 3
.L21:
	movzx	eax, BYTE PTR 24[rdx]
	ret
	.p2align 4,,10
	.p2align 3
.L22:
	movzx	eax, BYTE PTR 25[rdx]
	ret
	.p2align 4,,10
	.p2align 3
.L23:
	movzx	eax, BYTE PTR 20[rdx]
	ret
	.p2align 4,,10
	.p2align 3
.L24:
	movzx	eax, BYTE PTR 21[rdx]
	ret
	.p2align 4,,10
	.p2align 3
.L25:
	mov	eax, DWORD PTR 12[rdx]
	mov	ecx, DWORD PTR 16[rdx]
	sal	eax, 5
	sal	ecx, 4
	or	eax, ecx
	mov	ecx, DWORD PTR 8[rdx]
	sal	ecx, 7
	movzx	ecx, cl
	or	ecx, eax
	movsx	eax, WORD PTR 22[rdx]
	and	eax, 15
	or	eax, ecx
	ret
	.p2align 4,,10
	.p2align 3
.L26:
	mov	eax, DWORD PTR [rdx]
	mov	edi, DWORD PTR 4[rdx]
	sal	eax, 3
	lea	ecx, [rdi+rdi]
	or	ecx, eax
	mov	eax, DWORD PTR 8[rdx]
	sar	eax
	and	eax, 1
	or	eax, ecx
	ret
	.p2align 4,,10
	.p2align 3
.L27:
	xor	eax, eax
	ret
	.cfi_endproc
.LFE0:
	.size	scsp_slot_read_byte, .-scsp_slot_read_byte
	.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_scsp.c_scsp_slot_read_byte.c"
	.text
	.align	2
	.global	scsp_slot_read_byte
	.syntax unified
	.arm
	.fpu softvfp
	.type	scsp_slot_read_byte, %function
scsp_slot_read_byte:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 0, uses_anonymous_args = 0
	@ link register save eliminated.
	asr	r3, r1, #5
	and	r3, r3, #31
	ldr	r2, [r0]
	add	r0, r3, r3, lsl #2
	sub	r1, r1, r3, lsl #5
	add	r3, r3, r0, lsl #3
	lsl	ip, r3, #2
	add	r3, r2, r3, lsl #2
	cmp	r1, #23
	ldrls	pc, [pc, r1, asl #2]
	b	.L27
.L4:
	.word	.L26
	.word	.L25
	.word	.L24
	.word	.L23
	.word	.L22
	.word	.L21
	.word	.L20
	.word	.L19
	.word	.L18
	.word	.L17
	.word	.L16
	.word	.L15
	.word	.L14
	.word	.L13
	.word	.L12
	.word	.L11
	.word	.L10
	.word	.L9
	.word	.L8
	.word	.L7
	.word	.L27
	.word	.L6
	.word	.L5
	.word	.L3
.L3:
	ldr	r2, [r3, #156]
	ldr	r0, [r3, #160]
	orr	r0, r0, r2, lsl #5
	bx	lr
.L5:
	ldr	r2, [r3, #148]
	ldr	r0, [r3, #152]
	orr	r0, r0, r2, lsl #5
	bx	lr
.L6:
	ldr	r0, [r3, #140]
	ldr	r2, [r3, #136]
	lsl	r0, r0, #3
	ldr	r3, [r3, #144]
	orr	r0, r0, r2, lsl #7
	orr	r0, r0, r3
	bx	lr
.L7:
	ldr	r0, [r3, #128]
	ldr	r2, [r3, #124]
	lsl	r0, r0, #3
	ldr	r3, [r3, #132]
	orr	r0, r0, r2, lsl #5
	orr	r0, r0, r3
	bx	lr
.L8:
	ldr	r0, [r3, #116]
	ldr	r2, [r3, #112]
	lsl	r0, r0, #2
	ldr	r3, [r3, #120]
	orr	r0, r0, r2, lsl #7
	orr	r0, r0, r3
	bx	lr
.L9:
	ldr	r0, [r3, #108]
	bx	lr
.L10:
	ldr	r0, [r3, #100]
	ldr	r1, [r3, #96]
	ldr	r2, [r3, #104]
	lsl	r0, r0, #3
	ldr	r3, [r3, #108]
	orr	r0, r0, r1, lsl #7
	orr	r0, r0, r2, lsl #2
	orr	r0, r0, r3, asr #8
	bx	lr
.L11:
	ldr	r2, [r3, #88]
	ldr	r0, [r3, #92]
	orr	r0, r0, r2, lsl #6
	bx	lr
.L12:
	ldr	r0, [r3, #88]
	ldr	r3, [r3, #84]
	asr	r0, r0, #2
	orr	r0, r0, r3, lsl #4
	bx	lr
.L13:
	ldr	r0, [r3, #80]
	bx	lr
.L14:
	ldr	r0, [r3, #72]
	ldr	r2, [r3, #68]
	lsl	r0, r0, #1
	ldr	r3, [r3, #76]
	orr	r0, r0, r2, lsl #2
	orr	r0, r0, r3
	bx	lr
.L15:
	ldr	r2, [r3, #60]
	ldr	r0, [r3, #64]
	orr	r0, r0, r2, lsl #5
	bx	lr
.L16:
	ldr	r0, [r3, #52]
	ldr	r1, [r3, #48]
	ldr	r2, [r3, #56]
	lsl	r0, r0, #6
	ldr	r3, [r3, #60]
	orr	r0, r0, r1, lsl #7
	orr	r0, r0, r2, lsl #2
	orr	r0, r0, r3, asr #3
	bx	lr
.L17:
	ldr	r0, [r3, #40]
	ldr	r2, [r3, #36]
	lsl	r0, r0, #5
	ldr	r3, [r3, #44]
	orr	r0, r0, r2, lsl #6
	orr	r0, r0, r3
	bx	lr
.L18:
	ldr	r0, [r3, #36]
	ldr	r3, [r3, #32]
	asr	r0, r0, #2
	orr	r0, r0, r3, lsl #3
	bx	lr
.L19:
	ldrb	r0, [r3, #28]	@ zero_extendqisi2
	bx	lr
.L20:
	ldrb	r0, [r3, #29]	@ zero_extendqisi2
	bx	lr
.L21:
	ldrb	r0, [r3, #24]	@ zero_extendqisi2
	bx	lr
.L22:
	ldrb	r0, [r3, #25]	@ zero_extendqisi2
	bx	lr
.L23:
	ldrb	r0, [r3, #20]	@ zero_extendqisi2
	bx	lr
.L24:
	ldrb	r0, [r3, #21]	@ zero_extendqisi2
	bx	lr
.L25:
	ldr	r2, [r3, #16]
	ldr	r1, [r3, #8]
	ldr	ip, [r3, #12]
	ldrsh	r0, [r3, #22]
	lsl	r2, r2, #4
	lsl	r1, r1, #7
	orr	r3, r2, ip, lsl #5
	and	r2, r1, #255
	orr	r3, r3, r2
	and	r0, r0, #15
	orr	r0, r0, r3
	bx	lr
.L26:
	ldr	r0, [r3, #4]
	ldr	r2, [r2, ip]
	ldr	r3, [r3, #8]
	lsl	r0, r0, #1
	orr	r0, r0, r2, lsl #3
	lsl	r3, r3, #30
	orr	r0, r0, r3, lsr #31
	bx	lr
.L27:
	mov	r0, #0
	bx	lr
	.size	scsp_slot_read_byte, .-scsp_slot_read_byte
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
