	.file	"90765004.c"
	.intel_syntax noprefix
	.text
	.type	sd_stack_init, @function
sd_stack_init:
.LFB6:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR [rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 16[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rax], rdx
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE6:
	.size	sd_stack_init, .-sd_stack_init
	.type	sd_stack_push, @function
sd_stack_push:
.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, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -28[rbp], esi
	mov	QWORD PTR -40[rbp], rdx
	mov	edi, 32
	call	malloc@PLT
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L3
	mov	eax, 4
	jmp	.L4
.L3:
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR -28[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -40[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 16[rax], 0
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	jne	.L5
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 8[rax], rdx
	jmp	.L6
.L5:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rax], rdx
.L6:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR [rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR [rax]
	test	eax, eax
	jne	.L7
	mov	eax, 3
	jmp	.L4
.L7:
	mov	eax, 0
.L4:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE7:
	.size	sd_stack_push, .-sd_stack_push
	.type	sd_stack_pop, @function
sd_stack_pop:
.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, 64
	mov	QWORD PTR -56[rbp], rdi
	mov	QWORD PTR -64[rbp], rsi
	mov	rax, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	jne	.L9
	mov	BYTE PTR -16[rbp], 0
	mov	rcx, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR [rcx], rax
	mov	QWORD PTR 8[rcx], rdx
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR 16[rcx], rax
	jmp	.L13
.L9:
	mov	rax, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 24[rax]
	test	rax, rax
	jne	.L11
	mov	rax, QWORD PTR -64[rbp]
	mov	QWORD PTR 16[rax], 0
	mov	rax, QWORD PTR -64[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -64[rbp]
	mov	QWORD PTR 8[rax], rdx
	jmp	.L12
.L11:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR 24[rax]
	mov	rax, QWORD PTR -64[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR 16[rax], 0
.L12:
	mov	rax, QWORD PTR -64[rbp]
	mov	eax, DWORD PTR [rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -64[rbp]
	mov	DWORD PTR [rax], edx
	mov	BYTE PTR -16[rbp], 1
	mov	rax, QWORD PTR -40[rbp]
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -32[rbp], eax
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	rcx, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR [rcx], rax
	mov	QWORD PTR 8[rcx], rdx
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR 16[rcx], rax
.L13:
	mov	rax, QWORD PTR -56[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE8:
	.size	sd_stack_pop, .-sd_stack_pop
	.type	sd_stack_peek, @function
sd_stack_peek:
.LFB9:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -40[rbp], rdi
	mov	QWORD PTR -48[rbp], rsi
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	jne	.L15
	mov	BYTE PTR -16[rbp], 0
	jmp	.L16
.L15:
	mov	BYTE PTR -16[rbp], 1
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -32[rbp], eax
	mov	rax, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rax, QWORD PTR 8[rax]
	mov	QWORD PTR -24[rbp], rax
.L16:
	mov	rcx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR [rcx], rax
	mov	QWORD PTR 8[rcx], rdx
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR 16[rcx], rax
	mov	rax, QWORD PTR -40[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE9:
	.size	sd_stack_peek, .-sd_stack_peek
	.type	sd_stack_duplicate, @function
sd_stack_duplicate:
.LFB10:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	jne	.L19
	mov	eax, 1
	jmp	.L20
.L19:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdx, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 8[rdx]
	mov	ecx, DWORD PTR [rdx]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	sd_stack_push
.L20:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE10:
	.size	sd_stack_duplicate, .-sd_stack_duplicate
	.type	sd_stack_duplicate_at, @function
sd_stack_duplicate_at:
.LFB11:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR [rax]
	mov	eax, eax
	cmp	QWORD PTR -32[rbp], rax
	jle	.L22
	mov	eax, 5
	jmp	.L23
.L22:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR -8[rbp], rax
	mov	DWORD PTR -12[rbp], 0
	jmp	.L24
.L26:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L25
	mov	eax, 5
	jmp	.L23
.L25:
	add	DWORD PTR -12[rbp], 1
.L24:
	mov	eax, DWORD PTR -12[rbp]
	cmp	QWORD PTR -32[rbp], rax
	jne	.L26
	mov	rax, QWORD PTR -8[rbp]
	mov	ecx, DWORD PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	sd_stack_push
.L23:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE11:
	.size	sd_stack_duplicate_at, .-sd_stack_duplicate_at
	.type	sd_stack_replace_at, @function
sd_stack_replace_at:
.LFB12:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	DWORD PTR -36[rbp], edx
	mov	QWORD PTR -48[rbp], rcx
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR [rax]
	mov	eax, eax
	cmp	QWORD PTR -32[rbp], rax
	jle	.L28
	mov	eax, 5
	jmp	.L29
.L28:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR -8[rbp], rax
	mov	DWORD PTR -12[rbp], 0
	jmp	.L30
.L32:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L31
	mov	eax, 5
	jmp	.L29
.L31:
	add	DWORD PTR -12[rbp], 1
.L30:
	mov	eax, DWORD PTR -12[rbp]
	cmp	QWORD PTR -32[rbp], rax
	jne	.L32
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, DWORD PTR -36[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -48[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	eax, 0
.L29:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE12:
	.size	sd_stack_replace_at, .-sd_stack_replace_at
	.type	sd_subr_table_init, @function
sd_subr_table_init:
.LFB13:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 208[rax], 0
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE13:
	.size	sd_subr_table_init, .-sd_subr_table_init
	.type	sd_subr_table_set, @function
sd_subr_table_set:
.LFB14:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	mov	eax, esi
	mov	QWORD PTR -40[rbp], rdx
	mov	BYTE PTR -28[rbp], al
	movzx	eax, BYTE PTR -28[rbp]
	sub	eax, 65
	mov	BYTE PTR -1[rbp], al
	movzx	edx, BYTE PTR -1[rbp]
	mov	rax, QWORD PTR -24[rbp]
	movsx	rdx, edx
	mov	rcx, QWORD PTR -40[rbp]
	mov	QWORD PTR [rax+rdx*8], rcx
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 208[rax]
	movzx	eax, BYTE PTR -1[rbp]
	mov	esi, 1
	mov	ecx, eax
	sal	esi, cl
	mov	eax, esi
	or	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 208[rax], edx
	mov	eax, 0
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE14:
	.size	sd_subr_table_set, .-sd_subr_table_set
	.type	sd_subr_table_get, @function
sd_subr_table_get:
.LFB15:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	mov	eax, esi
	mov	BYTE PTR -28[rbp], al
	movzx	eax, BYTE PTR -28[rbp]
	sub	eax, 65
	mov	BYTE PTR -1[rbp], al
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 208[rax]
	movzx	eax, BYTE PTR -1[rbp]
	mov	esi, 1
	mov	ecx, eax
	sal	esi, cl
	mov	eax, esi
	and	eax, edx
	test	eax, eax
	je	.L37
	movzx	edx, BYTE PTR -1[rbp]
	mov	rax, QWORD PTR -24[rbp]
	movsx	rdx, edx
	mov	rax, QWORD PTR [rax+rdx*8]
	jmp	.L38
.L37:
	mov	rax, -1
.L38:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE15:
	.size	sd_subr_table_get, .-sd_subr_table_get
	.type	sd_call_stack_init, @function
sd_call_stack_init:
.LFB16:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE16:
	.size	sd_call_stack_init, .-sd_call_stack_init
	.type	sd_call_stack_push, @function
sd_call_stack_push:
.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, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	edi, 24
	call	malloc@PLT
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	jne	.L41
	mov	eax, 4
	jmp	.L42
.L41:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -32[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rax], 0
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L43
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 16[rax], 0
	jmp	.L44
.L43:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
.L44:
	mov	eax, 0
.L42:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE17:
	.size	sd_call_stack_push, .-sd_call_stack_push
	.type	sd_call_stack_pop, @function
sd_call_stack_pop:
.LFB18:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L46
	mov	rax, -1
	jmp	.L47
.L46:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L48
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 8[rax], 0
	jmp	.L49
.L48:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR 8[rax], 0
.L49:
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -8[rbp]
.L47:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE18:
	.size	sd_call_stack_pop, .-sd_call_stack_pop
	.type	sd_result_init, @function
sd_result_init:
.LFB19:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 16[rax], 0
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE19:
	.size	sd_result_init, .-sd_result_init
	.type	sd_result_grow, @function
sd_result_grow:
.LFB20:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	jne	.L52
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rax], 256
	jmp	.L53
.L52:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	imul	rax, rdx
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rax], rdx
.L53:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	realloc@PLT
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR 16[rdx], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 16[rax]
	test	rax, rax
	jne	.L54
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rax], -1
	mov	eax, 4
	jmp	.L55
.L54:
	mov	eax, 0
.L55:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE20:
	.size	sd_result_grow, .-sd_result_grow
	.type	sd_result_append, @function
sd_result_append:
.LFB21:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 8[rax]
	cmp	rdx, rax
	jne	.L57
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	sd_result_grow
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], 0
	je	.L57
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L58
.L57:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	sal	rax, 3
	add	rdx, rax
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR [rax], rdx
	mov	eax, 0
.L58:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE21:
	.size	sd_result_append, .-sd_result_append
	.type	sd_result_print_i8, @function
sd_result_print_i8:
.LFB22:
	.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	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -24[rbp], rax
	cmp	QWORD PTR -24[rbp], 0
	jne	.L60
	mov	QWORD PTR -40[rbp], 0
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -16[rbp], rax
	jmp	.L61
.L62:
	mov	rax, QWORD PTR stdout[rip]
	mov	rdx, QWORD PTR -56[rbp]
	mov	rcx, QWORD PTR 16[rdx]
	mov	rdx, QWORD PTR -40[rbp]
	sal	rdx, 3
	lea	rdi, [rcx+rdx]
	mov	rcx, rax
	mov	edx, 1
	mov	esi, 1
	call	fwrite@PLT
	add	QWORD PTR -40[rbp], 1
.L61:
	mov	rax, QWORD PTR -40[rbp]
	cmp	rax, QWORD PTR -16[rbp]
	jb	.L62
.L60:
	mov	QWORD PTR -32[rbp], 0
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -8[rbp], rax
	jmp	.L63
.L64:
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -32[rbp]
	sal	rax, 3
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rcx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rcx
	mov	BYTE PTR [rax], dl
	add	QWORD PTR -32[rbp], 1
.L63:
	mov	rax, QWORD PTR -32[rbp]
	cmp	rax, QWORD PTR -8[rbp]
	jb	.L64
	mov	rcx, QWORD PTR stdout[rip]
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	fwrite@PLT
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	free@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE22:
	.size	sd_result_print_i8, .-sd_result_print_i8
	.type	sd_result_print_i16, @function
sd_result_print_i16:
.LFB23:
	.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	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR [rax]
	add	rax, rax
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -24[rbp], rax
	cmp	QWORD PTR -24[rbp], 0
	jne	.L66
	mov	QWORD PTR -40[rbp], 0
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -16[rbp], rax
	jmp	.L67
.L68:
	mov	rax, QWORD PTR stdout[rip]
	mov	rdx, QWORD PTR -56[rbp]
	mov	rcx, QWORD PTR 16[rdx]
	mov	rdx, QWORD PTR -40[rbp]
	sal	rdx, 3
	lea	rdi, [rcx+rdx]
	mov	rcx, rax
	mov	edx, 1
	mov	esi, 2
	call	fwrite@PLT
	add	QWORD PTR -40[rbp], 1
.L67:
	mov	rax, QWORD PTR -40[rbp]
	cmp	rax, QWORD PTR -16[rbp]
	jb	.L68
.L66:
	mov	QWORD PTR -32[rbp], 0
	mov	rax, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -8[rbp], rax
	jmp	.L69
.L70:
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -32[rbp]
	sal	rax, 3
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -32[rbp]
	lea	rcx, [rax+rax]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rcx
	mov	WORD PTR [rax], dx
	add	QWORD PTR -32[rbp], 1
.L69:
	mov	rax, QWORD PTR -32[rbp]
	cmp	rax, QWORD PTR -8[rbp]
	jb	.L70
	mov	rcx, QWORD PTR stdout[rip]
	mov	rax, QWORD PTR -56[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, 2
	mov	rdi, rax
	call	fwrite@PLT
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	free@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE23:
	.size	sd_result_print_i16, .-sd_result_print_i16
	.type	sd_result_print, @function
sd_result_print:
.LFB24:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 48
	mov	QWORD PTR -40[rbp], rdi
	mov	BYTE PTR -26[rbp], 1
	mov	BYTE PTR -25[rbp], 1
	mov	QWORD PTR -24[rbp], 0
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -16[rbp], rax
	jmp	.L72
.L78:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR 16[rax]
	mov	rax, QWORD PTR -24[rbp]
	sal	rax, 3
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], -128
	jl	.L73
	cmp	QWORD PTR -8[rbp], 127
	jle	.L74
.L73:
	cmp	QWORD PTR -8[rbp], -32768
	jl	.L75
	cmp	QWORD PTR -8[rbp], 32767
	jg	.L75
	mov	BYTE PTR -26[rbp], 0
	jmp	.L74
.L75:
	cmp	QWORD PTR -8[rbp], -32768
	jl	.L76
	cmp	QWORD PTR -8[rbp], 32767
	jle	.L74
.L76:
	mov	BYTE PTR -26[rbp], 0
	mov	BYTE PTR -25[rbp], 0
	jmp	.L77
.L74:
	add	QWORD PTR -24[rbp], 1
.L72:
	mov	rax, QWORD PTR -24[rbp]
	cmp	rax, QWORD PTR -16[rbp]
	jb	.L78
.L77:
	cmp	BYTE PTR -26[rbp], 0
	je	.L79
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	sd_result_print_i8
	jmp	.L82
.L79:
	cmp	BYTE PTR -25[rbp], 0
	je	.L81
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	sd_result_print_i16
	jmp	.L82
.L81:
	mov	rcx, QWORD PTR stdout[rip]
	mov	rax, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	esi, 8
	mov	rdi, rax
	call	fwrite@PLT
.L82:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE24:
	.size	sd_result_print, .-sd_result_print
	.type	sd_vm_init, @function
sd_vm_init:
.LFB25:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	edi, 24
	call	malloc@PLT
	mov	rdx, rax
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L84
	mov	eax, 4
	jmp	.L85
.L84:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	sd_stack_init
	mov	edi, 216
	call	malloc@PLT
	mov	rdx, rax
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	test	rax, rax
	jne	.L86
	mov	eax, 4
	jmp	.L85
.L86:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 8[rax]
	mov	rdi, rax
	call	sd_subr_table_init
	mov	edi, 16
	call	malloc@PLT
	mov	rdx, rax
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 16[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 16[rax]
	test	rax, rax
	jne	.L87
	mov	eax, 4
	jmp	.L85
.L87:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 16[rax]
	mov	rdi, rax
	call	sd_call_stack_init
	mov	edi, 24
	call	malloc@PLT
	mov	rdx, rax
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 24[rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 24[rax]
	test	rax, rax
	jne	.L88
	mov	eax, 4
	jmp	.L85
.L88:
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 24[rax]
	mov	rdi, rax
	call	sd_result_init
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 32[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 40[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 48[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 56[rax], 0
	mov	eax, 0
.L85:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE25:
	.size	sd_vm_init, .-sd_vm_init
	.type	sd_vm_deinit, @function
sd_vm_deinit:
.LFB26:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE26:
	.size	sd_vm_deinit, .-sd_vm_deinit
	.type	sd_run_skip, @function
sd_run_skip:
.LFB27:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	mov	DWORD PTR -4[rbp], 1
	jmp	.L91
.L95:
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 48[rax]
	lea	rdx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR 48[rax], rdx
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 48[rax]
	mov	rdx, rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 40[rax]
	cmp	rdx, rax
	jbe	.L92
	mov	eax, 2
	jmp	.L93
.L92:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR 32[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR 48[rax]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -5[rbp], al
	cmp	BYTE PTR -5[rbp], 123
	jne	.L94
	add	DWORD PTR -4[rbp], 1
	jmp	.L91
.L94:
	cmp	BYTE PTR -5[rbp], 125
	jne	.L91
	sub	DWORD PTR -4[rbp], 1
.L91:
	cmp	DWORD PTR -4[rbp], 0
	jg	.L95
	mov	eax, 0
.L93:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE27:
	.size	sd_run_skip, .-sd_run_skip
	.section	.rodata
	.align 8
.LC0:
	.string	"halted: out of memory (at ip = %li)\n"
	.align 8
.LC1:
	.string	"halted: bad state (at ip = %li)\n"
	.align 8
.LC2:
	.string	"halted: type error (at ip = %li)\n"
	.align 8
.LC3:
	.string	"halted: call to nonexistant subroutine (at ip = %li)\n"
	.align 8
.LC4:
	.string	"halted: stack overflow (at ip = %li)\n"
	.text
	.type	sd_run, @function
sd_run:
.LFB28:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 400
	mov	QWORD PTR -360[rbp], rdi
	mov	QWORD PTR -368[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	lea	rax, -80[rbp]
	mov	rdi, rax
	call	sd_vm_init
	mov	rax, QWORD PTR -360[rbp]
	mov	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -368[rbp]
	mov	QWORD PTR -40[rbp], rax
.L205:
	mov	rax, QWORD PTR -32[rbp]
	cmp	QWORD PTR -368[rbp], rax
	jb	.L216
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, rax
	mov	rax, QWORD PTR -360[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -348[rbp], al
	cmp	BYTE PTR -348[rbp], 47
	jle	.L99
	cmp	BYTE PTR -348[rbp], 57
	jg	.L99
	movsx	eax, BYTE PTR -348[rbp]
	sub	eax, 48
	cdqe
	mov	QWORD PTR -336[rbp], rax
	mov	rdx, QWORD PTR -336[rbp]
	mov	rax, QWORD PTR -80[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	sd_stack_push
	mov	DWORD PTR -340[rbp], eax
	cmp	DWORD PTR -340[rbp], 0
	je	.L217
	jmp	.L101
.L99:
	cmp	BYTE PTR -348[rbp], 64
	jle	.L103
	cmp	BYTE PTR -348[rbp], 90
	jg	.L103
	movzx	eax, BYTE PTR -348[rbp]
	mov	BYTE PTR -347[rbp], al
	mov	eax, 0
	mov	al, BYTE PTR -347[rbp]
	mov	rcx, QWORD PTR -80[rbp]
	mov	rdx, rax
	mov	esi, 1
	mov	rdi, rcx
	call	sd_stack_push
	mov	DWORD PTR -340[rbp], eax
	cmp	DWORD PTR -340[rbp], 0
	je	.L218
	jmp	.L101
.L103:
	movsx	eax, BYTE PTR -348[rbp]
	sub	eax, 97
	cmp	eax, 28
	ja	.L102
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L106[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L106[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L106:
	.long	.L125-.L106
	.long	.L102-.L106
	.long	.L124-.L106
	.long	.L123-.L106
	.long	.L122-.L106
	.long	.L121-.L106
	.long	.L102-.L106
	.long	.L120-.L106
	.long	.L119-.L106
	.long	.L118-.L106
	.long	.L117-.L106
	.long	.L102-.L106
	.long	.L116-.L106
	.long	.L102-.L106
	.long	.L102-.L106
	.long	.L102-.L106
	.long	.L115-.L106
	.long	.L114-.L106
	.long	.L113-.L106
	.long	.L112-.L106
	.long	.L102-.L106
	.long	.L102-.L106
	.long	.L111-.L106
	.long	.L110-.L106
	.long	.L109-.L106
	.long	.L108-.L106
	.long	.L107-.L106
	.long	.L102-.L106
	.long	.L105-.L106
	.text
.L107:
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, rax
	mov	rax, QWORD PTR -80[rbp]
	mov	esi, 2
	mov	rdi, rax
	call	sd_stack_push
	mov	DWORD PTR -340[rbp], eax
	cmp	DWORD PTR -340[rbp], 0
	jne	.L219
	lea	rax, -80[rbp]
	mov	rdi, rax
	call	sd_run_skip
	mov	DWORD PTR -340[rbp], eax
	cmp	DWORD PTR -340[rbp], 0
	je	.L220
	jmp	.L101
.L105:
	mov	rax, QWORD PTR -64[rbp]
	mov	rdi, rax
	call	sd_call_stack_pop
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	cmp	rax, -1
	jne	.L221
	jmp	.L101
.L121:
	mov	rdx, QWORD PTR -80[rbp]
	lea	rax, -112[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	sd_stack_pop
	movzx	eax, BYTE PTR -96[rbp]
	test	al, al
	jne	.L129
	mov	DWORD PTR -340[rbp], 5
	jmp	.L101
.L129:
	mov	eax, DWORD PTR -112[rbp]
	cmp	eax, 1
	je	.L130
	mov	DWORD PTR -340[rbp], 6
	jmp	.L101
.L130:
	movzx	eax, BYTE PTR -104[rbp]
	mov	BYTE PTR -342[rbp], al
	mov	rdx, QWORD PTR -80[rbp]
	lea	rax, -400[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	sd_stack_pop
	mov	rax, QWORD PTR -400[rbp]
	mov	rdx, QWORD PTR -392[rbp]
	mov	QWORD PTR -112[rbp], rax
	mov	QWORD PTR -104[rbp], rdx
	mov	rax, QWORD PTR -384[rbp]
	mov	QWORD PTR -96[rbp], rax
	movzx	eax, BYTE PTR -96[rbp]
	test	al, al
	jne	.L131
	mov	DWORD PTR -340[rbp], 5
	jmp	.L101
.L131:
	mov	eax, DWORD PTR -112[rbp]
	cmp	eax, 2
	je	.L132
	mov	DWORD PTR -340[rbp], 6
	jmp	.L101
.L132:
	mov	rax, QWORD PTR -104[rbp]
	mov	QWORD PTR -208[rbp], rax
	movzx	ecx, BYTE PTR -342[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	rdx, QWORD PTR -208[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	sd_subr_table_set
	mov	DWORD PTR -340[rbp], eax
	cmp	DWORD PTR -340[rbp], 0
	je	.L222
	jmp	.L101
.L125:
	mov	rdx, QWORD PTR -80[rbp]
	lea	rax, -400[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	sd_stack_pop
	mov	rax, QWORD PTR -400[rbp]
	mov	rdx, QWORD PTR -392[rbp]
	mov	QWORD PTR -112[rbp], rax
	mov	QWORD PTR -104[rbp], rdx
	mov	rax, QWORD PTR -384[rbp]
	mov	QWORD PTR -96[rbp], rax
	movzx	eax, BYTE PTR -96[rbp]
	test	al, al
	jne	.L134
	mov	DWORD PTR -340[rbp], 5
	jmp	.L101
.L134:
	mov	eax, DWORD PTR -112[rbp]
	test	eax, eax
	je	.L135
	mov	DWORD PTR -340[rbp], 6
	jmp	.L101
.L135:
	mov	rax, QWORD PTR -104[rbp]
	mov	QWORD PTR -176[rbp], rax
	mov	rdx, QWORD PTR -80[rbp]
	lea	rax, -400[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	sd_stack_pop
	mov	rax, QWORD PTR -400[rbp]
	mov	rdx, QWORD PTR -392[rbp]
	mov	QWORD PTR -112[rbp], rax
	mov	QWORD PTR -104[rbp], rdx
	mov	rax, QWORD PTR -384[rbp]
	mov	QWORD PTR -96[rbp], rax
	movzx	eax, BYTE PTR -96[rbp]
	test	al, al
	jne	.L136
	mov	DWORD PTR -340[rbp], 5
	jmp	.L101
.L136:
	mov	eax, DWORD PTR -112[rbp]
	test	eax, eax
	je	.L137
	mov	DWORD PTR -340[rbp], 6
	jmp	.L101
.L137:
	mov	rax, QWORD PTR -104[rbp]
	mov	QWORD PTR -168[rbp], rax
	mov	rdx, QWORD PTR -168[rbp]
	mov	rax, QWORD PTR -176[rbp]
	add	rax, rdx
	mov	rdx, rax
	mov	rax, QWORD PTR -80[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	sd_stack_push
	mov	DWORD PTR -340[rbp], eax
	cmp	DWORD PTR -340[rbp], 0
	je	.L223
	jmp	.L101
.L113:
	mov	rdx, QWORD PTR -80[rbp]
	lea	rax, -400[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	sd_stack_pop
	mov	rax, QWORD PTR -400[rbp]
	mov	rdx, QWORD PTR -392[rbp]
	mov	QWORD PTR -112[rbp], rax
	mov	QWORD PTR -104[rbp], rdx
	mov	rax, QWORD PTR -384[rbp]
	mov	QWORD PTR -96[rbp], rax
	movzx	eax, BYTE PTR -96[rbp]
	test	al, al
	jne	.L139
	mov	DWORD PTR -340[rbp], 5
	jmp	.L101
.L139:
	mov	eax, DWORD PTR -112[rbp]
	test	eax, eax
	je	.L140
	mov	DWORD PTR -340[rbp], 6
	jmp	.L101
.L140:
	mov	rax, QWORD PTR -104[rbp]
	mov	QWORD PTR -288[rbp], rax
	mov	rdx, QWORD PTR -80[rbp]
	lea	rax, -400[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	sd_stack_pop
	mov	rax, QWORD PTR -400[rbp]
	mov	rdx, QWORD PTR -392[rbp]
	mov	QWORD PTR -112[rbp], rax
	mov	QWORD PTR -104[rbp], rdx
	mov	rax, QWORD PTR -384[rbp]
	mov	QWORD PTR -96[rbp], rax
	movzx	eax, BYTE PTR -96[rbp]
	test	al, al
	jne	.L141
	mov	DWORD PTR -340[rbp], 5
	jmp	.L101
.L141:
	mov	eax, DWORD PTR -112[rbp]
	test	eax, eax
	je	.L142
	mov	DWORD PTR -340[rbp], 6
	jmp	.L101
.L142:
	mov	rax, QWORD PTR -104[rbp]
	mov	QWORD PTR -280[rbp], rax
	mov	rax, QWORD PTR -280[rbp]
	sub	rax, QWORD PTR -288[rbp]
	mov	rdx, rax
	mov	rax, QWORD PTR -80[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	sd_stack_push
	mov	DWORD PTR -340[rbp], eax
	cmp	DWORD PTR -340[rbp], 0
	je	.L224
	jmp	.L101
.L116:
	mov	rdx, QWORD PTR -80[rbp]
	lea	rax, -400[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	sd_stack_pop
	mov	rax, QWORD PTR -400[rbp]
	mov	rdx, QWORD PTR -392[rbp]
	mov	QWORD PTR -112[rbp], rax
	mov	QWORD PTR -104[rbp], rdx
	mov	rax, QWORD PTR -384[rbp]
	mov	QWORD PTR -96[rbp], rax
	movzx	eax, BYTE PTR -96[rbp]
	test	al, al
	jne	.L144
	mov	DWORD PTR -340[rbp], 5
	jmp	.L101
.L144:
	mov	eax, DWORD PTR -112[rbp]
	test	eax, eax
	je	.L145
	mov	DWORD PTR -340[rbp], 6
	jmp	.L101
.L145:
	mov	rax, QWORD PTR -104[rbp]
	mov	QWORD PTR -272[rbp], rax
	mov	rdx, QWORD PTR -80[rbp]
	lea	rax, -400[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	sd_stack_pop
	mov	rax, QWORD PTR -400[rbp]
	mov	rdx, QWORD PTR -392[rbp]
	mov	QWORD PTR -112[rbp], rax
	mov	QWORD PTR -104[rbp], rdx
	mov	rax, QWORD PTR -384[rbp]
	mov	QWORD PTR -96[rbp], rax
	movzx	eax, BYTE PTR -96[rbp]
	test	al, al
	jne	.L146
	mov	DWORD PTR -340[rbp], 5
	jmp	.L101
.L146:
	mov	eax, DWORD PTR -112[rbp]
	test	eax, eax
	je	.L147
	mov	DWORD PTR -340[rbp], 6
	jmp	.L101
.L147:
	mov	rax, QWORD PTR -104[rbp]
	mov	QWORD PTR -264[rbp], rax
	mov	rax, QWORD PTR -264[rbp]
	imul	rax, QWORD PTR -272[rbp]
	mov	rdx, rax
	mov	rax, QWORD PTR -80[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	sd_stack_push
	mov	DWORD PTR -340[rbp], eax
	cmp	DWORD PTR -340[rbp], 0
	je	.L225
	jmp	.L101
.L123:
	mov	rdx, QWORD PTR -80[rbp]
	lea	rax, -400[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	sd_stack_pop
	mov	rax, QWORD PTR -400[rbp]
	mov	rdx, QWORD PTR -392[rbp]
	mov	QWORD PTR -112[rbp], rax
	mov	QWORD PTR -104[rbp], rdx
	mov	rax, QWORD PTR -384[rbp]
	mov	QWORD PTR -96[rbp], rax
	movzx	eax, BYTE PTR -96[rbp]
	test	al, al
	jne	.L149
	mov	DWORD PTR -340[rbp], 5
	jmp	.L101
.L149:
	mov	eax, DWORD PTR -112[rbp]
	test	eax, eax
	je	.L150
	mov	DWORD PTR -340[rbp], 6
	jmp	.L101
.L150:
	mov	rax, QWORD PTR -104[rbp]
	mov	QWORD PTR -200[rbp], rax
	mov	rdx, QWORD PTR -80[rbp]
	lea	rax, -400[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	sd_stack_pop
	mov	rax, QWORD PTR -400[rbp]
	mov	rdx, QWORD PTR -392[rbp]
	mov	QWORD PTR -112[rbp], rax
	mov	QWORD PTR -104[rbp], rdx
	mov	rax, QWORD PTR -384[rbp]
	mov	QWORD PTR -96[rbp], rax
	movzx	eax, BYTE PTR -96[rbp]
	test	al, al
	jne	.L151
	mov	DWORD PTR -340[rbp], 5
	jmp	.L101
.L151:
	mov	eax, DWORD PTR -112[rbp]
	test	eax, eax
	je	.L152
	mov	DWORD PTR -340[rbp], 6
	jmp	.L101
.L152:
	mov	rax, QWORD PTR -104[rbp]
	mov	QWORD PTR -192[rbp], rax
	mov	rax, QWORD PTR -192[rbp]
	cqo
	idiv	QWORD PTR -200[rbp]
	mov	rdx, rax
	mov	rax, QWORD PTR -80[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	sd_stack_push
	mov	DWORD PTR -340[rbp], eax
	cmp	DWORD PTR -340[rbp], 0
	je	.L226
	jmp	.L101
.L118:
	mov	rdx, QWORD PTR -80[rbp]
	lea	rax, -400[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	sd_stack_pop
	mov	rax, QWORD PTR -400[rbp]
	mov	rdx, QWORD PTR -392[rbp]
	mov	QWORD PTR -112[rbp], rax
	mov	QWORD PTR -104[rbp], rdx
	mov	rax, QWORD PTR -384[rbp]
	mov	QWORD PTR -96[rbp], rax
	movzx	eax, BYTE PTR -96[rbp]
	test	al, al
	jne	.L154
	mov	DWORD PTR -340[rbp], 5
	jmp	.L101
.L154:
	mov	eax, DWORD PTR -112[rbp]
	test	eax, eax
	jne	.L155
	mov	rax, QWORD PTR -104[rbp]
	mov	QWORD PTR -232[rbp], rax
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -232[rbp]
	add	rax, rdx
	mov	QWORD PTR -32[rbp], rax
	jmp	.L156
.L155:
	mov	eax, DWORD PTR -112[rbp]
	cmp	eax, 1
	jne	.L157
	movzx	eax, BYTE PTR -104[rbp]
	mov	BYTE PTR -346[rbp], al
	movzx	edx, BYTE PTR -346[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	sd_subr_table_get
	mov	QWORD PTR -240[rbp], rax
	cmp	QWORD PTR -240[rbp], -1
	jne	.L158
	mov	DWORD PTR -340[rbp], 7
	jmp	.L101
.L158:
	mov	rax, QWORD PTR -240[rbp]
	mov	QWORD PTR -32[rbp], rax
	jmp	.L102
.L157:
	mov	DWORD PTR -340[rbp], 6
	jmp	.L101
.L124:
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -64[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	sd_call_stack_push
	mov	DWORD PTR -340[rbp], eax
	cmp	DWORD PTR -340[rbp], 0
	jne	.L227
	mov	rdx, QWORD PTR -80[rbp]
	lea	rax, -400[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	sd_stack_pop
	mov	rax, QWORD PTR -400[rbp]
	mov	rdx, QWORD PTR -392[rbp]
	mov	QWORD PTR -112[rbp], rax
	mov	QWORD PTR -104[rbp], rdx
	mov	rax, QWORD PTR -384[rbp]
	mov	QWORD PTR -96[rbp], rax
	movzx	eax, BYTE PTR -96[rbp]
	test	al, al
	jne	.L161
	mov	DWORD PTR -340[rbp], 5
	jmp	.L101
.L161:
	mov	eax, DWORD PTR -112[rbp]
	cmp	eax, 1
	je	.L162
	mov	DWORD PTR -340[rbp], 6
	jmp	.L101
.L162:
	movzx	eax, BYTE PTR -104[rbp]
	mov	BYTE PTR -341[rbp], al
	movzx	edx, BYTE PTR -341[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	sd_subr_table_get
	mov	QWORD PTR -184[rbp], rax
	cmp	QWORD PTR -184[rbp], -1
	jne	.L163
	mov	DWORD PTR -340[rbp], 7
	jmp	.L101
.L163:
	mov	rax, QWORD PTR -184[rbp]
	mov	QWORD PTR -32[rbp], rax
	jmp	.L102
.L119:
	mov	rdx, QWORD PTR -80[rbp]
	lea	rax, -400[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	sd_stack_pop
	mov	rax, QWORD PTR -400[rbp]
	mov	rdx, QWORD PTR -392[rbp]
	mov	QWORD PTR -112[rbp], rax
	mov	QWORD PTR -104[rbp], rdx
	mov	rax, QWORD PTR -384[rbp]
	mov	QWORD PTR -96[rbp], rax
	movzx	eax, BYTE PTR -96[rbp]
	test	al, al
	jne	.L164
	mov	DWORD PTR -340[rbp], 5
	jmp	.L101
.L164:
	mov	eax, DWORD PTR -112[rbp]
	cmp	eax, 1
	je	.L165
	mov	DWORD PTR -340[rbp], 6
	jmp	.L101
.L165:
	movzx	eax, BYTE PTR -104[rbp]
	mov	BYTE PTR -345[rbp], al
	mov	rdx, QWORD PTR -80[rbp]
	lea	rax, -400[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	sd_stack_pop
	mov	rax, QWORD PTR -400[rbp]
	mov	rdx, QWORD PTR -392[rbp]
	mov	QWORD PTR -112[rbp], rax
	mov	QWORD PTR -104[rbp], rdx
	mov	rax, QWORD PTR -384[rbp]
	mov	QWORD PTR -96[rbp], rax
	movzx	eax, BYTE PTR -96[rbp]
	test	al, al
	jne	.L166
	mov	DWORD PTR -340[rbp], 5
	jmp	.L101
.L166:
	mov	eax, DWORD PTR -112[rbp]
	cmp	eax, 1
	je	.L167
	mov	DWORD PTR -340[rbp], 6
	jmp	.L101
.L167:
	movzx	eax, BYTE PTR -104[rbp]
	mov	BYTE PTR -344[rbp], al
	mov	rdx, QWORD PTR -80[rbp]
	lea	rax, -400[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	sd_stack_pop
	mov	rax, QWORD PTR -400[rbp]
	mov	rdx, QWORD PTR -392[rbp]
	mov	QWORD PTR -112[rbp], rax
	mov	QWORD PTR -104[rbp], rdx
	mov	rax, QWORD PTR -384[rbp]
	mov	QWORD PTR -96[rbp], rax
	movzx	eax, BYTE PTR -96[rbp]
	test	al, al
	jne	.L168
	mov	DWORD PTR -340[rbp], 5
	jmp	.L101
.L168:
	mov	eax, DWORD PTR -112[rbp]
	test	eax, eax
	je	.L169
	mov	DWORD PTR -340[rbp], 6
	jmp	.L101
.L169:
	mov	rax, QWORD PTR -104[rbp]
	mov	QWORD PTR -224[rbp], rax
	cmp	QWORD PTR -224[rbp], 0
	jne	.L170
	movzx	eax, BYTE PTR -345[rbp]
	jmp	.L171
.L170:
	movzx	eax, BYTE PTR -344[rbp]
.L171:
	mov	BYTE PTR -343[rbp], al
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -64[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	sd_call_stack_push
	mov	DWORD PTR -340[rbp], eax
	cmp	DWORD PTR -340[rbp], 0
	jne	.L228
	movzx	edx, BYTE PTR -343[rbp]
	mov	rax, QWORD PTR -72[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	sd_subr_table_get
	mov	QWORD PTR -216[rbp], rax
	cmp	QWORD PTR -216[rbp], -1
	jne	.L173
	mov	DWORD PTR -340[rbp], 7
	jmp	.L101
.L173:
	mov	rax, QWORD PTR -216[rbp]
	mov	QWORD PTR -32[rbp], rax
	jmp	.L102
.L117:
	mov	rdx, QWORD PTR -80[rbp]
	lea	rax, -400[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	sd_stack_pop
	mov	rax, QWORD PTR -400[rbp]
	mov	rdx, QWORD PTR -392[rbp]
	mov	QWORD PTR -112[rbp], rax
	mov	QWORD PTR -104[rbp], rdx
	mov	rax, QWORD PTR -384[rbp]
	mov	QWORD PTR -96[rbp], rax
	movzx	eax, BYTE PTR -96[rbp]
	test	al, al
	jne	.L174
	mov	DWORD PTR -340[rbp], 5
	jmp	.L101
.L174:
	mov	rax, QWORD PTR -112[rbp]
	mov	rdx, QWORD PTR -104[rbp]
	mov	QWORD PTR -128[rbp], rax
	mov	QWORD PTR -120[rbp], rdx
	mov	rdx, QWORD PTR -80[rbp]
	lea	rax, -400[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	sd_stack_pop
	mov	rax, QWORD PTR -400[rbp]
	mov	rdx, QWORD PTR -392[rbp]
	mov	QWORD PTR -112[rbp], rax
	mov	QWORD PTR -104[rbp], rdx
	mov	rax, QWORD PTR -384[rbp]
	mov	QWORD PTR -96[rbp], rax
	movzx	eax, BYTE PTR -96[rbp]
	test	al, al
	jne	.L176
	mov	DWORD PTR -340[rbp], 5
	jmp	.L175
.L176:
	mov	rax, QWORD PTR -112[rbp]
	mov	rdx, QWORD PTR -104[rbp]
	mov	QWORD PTR -144[rbp], rax
	mov	QWORD PTR -136[rbp], rdx
	mov	rdx, QWORD PTR -80[rbp]
	lea	rax, -400[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	sd_stack_pop
	mov	rax, QWORD PTR -400[rbp]
	mov	rdx, QWORD PTR -392[rbp]
	mov	QWORD PTR -112[rbp], rax
	mov	QWORD PTR -104[rbp], rdx
	mov	rax, QWORD PTR -384[rbp]
	mov	QWORD PTR -96[rbp], rax
	movzx	eax, BYTE PTR -96[rbp]
	test	al, al
	jne	.L177
	mov	DWORD PTR -340[rbp], 5
	jmp	.L175
.L177:
	mov	eax, DWORD PTR -112[rbp]
	test	eax, eax
	je	.L178
	mov	DWORD PTR -340[rbp], 6
	jmp	.L175
.L178:
	mov	rax, QWORD PTR -104[rbp]
	mov	QWORD PTR -256[rbp], rax
	cmp	QWORD PTR -256[rbp], 0
	jne	.L179
	mov	rax, QWORD PTR -128[rbp]
	mov	rdx, QWORD PTR -120[rbp]
	mov	QWORD PTR -160[rbp], rax
	mov	QWORD PTR -152[rbp], rdx
	jmp	.L180
.L179:
	mov	rax, QWORD PTR -144[rbp]
	mov	rdx, QWORD PTR -136[rbp]
	mov	QWORD PTR -160[rbp], rax
	mov	QWORD PTR -152[rbp], rdx
.L180:
	mov	eax, DWORD PTR -160[rbp]
	cmp	eax, 1
	jne	.L181
	movzx	eax, BYTE PTR -152[rbp]
	movzx	edx, al
	mov	rax, QWORD PTR -72[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	sd_subr_table_get
	mov	QWORD PTR -248[rbp], rax
	cmp	QWORD PTR -248[rbp], -1
	jne	.L182
	mov	DWORD PTR -340[rbp], 7
	jmp	.L175
.L182:
	mov	rax, QWORD PTR -248[rbp]
	mov	QWORD PTR -32[rbp], rax
	jmp	.L102
.L181:
	mov	eax, DWORD PTR -160[rbp]
	test	eax, eax
	jne	.L184
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -152[rbp]
	add	rax, rdx
	mov	QWORD PTR -32[rbp], rax
	jmp	.L205
.L184:
	mov	DWORD PTR -340[rbp], 6
	nop
.L175:
	jmp	.L98
.L114:
	mov	rdx, QWORD PTR -80[rbp]
	lea	rax, -400[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	sd_stack_peek
	mov	rax, QWORD PTR -400[rbp]
	mov	rdx, QWORD PTR -392[rbp]
	mov	QWORD PTR -112[rbp], rax
	mov	QWORD PTR -104[rbp], rdx
	mov	rax, QWORD PTR -384[rbp]
	mov	QWORD PTR -96[rbp], rax
	movzx	eax, BYTE PTR -96[rbp]
	test	al, al
	jne	.L185
	mov	DWORD PTR -340[rbp], 5
	jmp	.L101
.L185:
	mov	eax, DWORD PTR -112[rbp]
	test	eax, eax
	je	.L186
	mov	DWORD PTR -340[rbp], 6
	jmp	.L101
.L186:
	mov	rdx, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	sd_result_append
	mov	DWORD PTR -340[rbp], eax
	cmp	DWORD PTR -340[rbp], 0
	je	.L229
	jmp	.L101
.L115:
	mov	rdx, QWORD PTR -80[rbp]
	lea	rax, -400[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	sd_stack_pop
	jmp	.L102
.L111:
	mov	rax, QWORD PTR -80[rbp]
	mov	rdi, rax
	call	sd_stack_duplicate
	jmp	.L102
.L122:
	mov	rdx, QWORD PTR -80[rbp]
	lea	rax, -400[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	sd_stack_pop
	mov	rax, QWORD PTR -400[rbp]
	mov	rdx, QWORD PTR -392[rbp]
	mov	QWORD PTR -112[rbp], rax
	mov	QWORD PTR -104[rbp], rdx
	mov	rax, QWORD PTR -384[rbp]
	mov	QWORD PTR -96[rbp], rax
	movzx	eax, BYTE PTR -96[rbp]
	test	al, al
	jne	.L188
	mov	DWORD PTR -340[rbp], 5
	jmp	.L101
.L188:
	mov	rax, QWORD PTR -112[rbp]
	mov	rdx, QWORD PTR -104[rbp]
	mov	QWORD PTR -144[rbp], rax
	mov	QWORD PTR -136[rbp], rdx
	mov	rdx, QWORD PTR -80[rbp]
	lea	rax, -400[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	sd_stack_pop
	mov	rax, QWORD PTR -400[rbp]
	mov	rdx, QWORD PTR -392[rbp]
	mov	QWORD PTR -112[rbp], rax
	mov	QWORD PTR -104[rbp], rdx
	mov	rax, QWORD PTR -384[rbp]
	mov	QWORD PTR -96[rbp], rax
	movzx	eax, BYTE PTR -96[rbp]
	test	al, al
	jne	.L190
	mov	DWORD PTR -340[rbp], 5
	jmp	.L189
.L190:
	mov	rax, QWORD PTR -112[rbp]
	mov	rdx, QWORD PTR -104[rbp]
	mov	QWORD PTR -128[rbp], rax
	mov	QWORD PTR -120[rbp], rdx
	mov	ecx, DWORD PTR -144[rbp]
	mov	rax, QWORD PTR -80[rbp]
	mov	rdx, QWORD PTR -136[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	sd_stack_push
	mov	DWORD PTR -340[rbp], eax
	cmp	DWORD PTR -340[rbp], 0
	jne	.L230
	mov	ecx, DWORD PTR -128[rbp]
	mov	rax, QWORD PTR -80[rbp]
	mov	rdx, QWORD PTR -120[rbp]
	mov	esi, ecx
	mov	rdi, rax
	call	sd_stack_push
	mov	DWORD PTR -340[rbp], eax
	cmp	DWORD PTR -340[rbp], 0
	je	.L231
	jmp	.L189
.L230:
	nop
.L189:
	jmp	.L98
.L108:
	mov	rax, QWORD PTR -80[rbp]
	mov	eax, DWORD PTR [rax]
	mov	eax, eax
	mov	QWORD PTR -328[rbp], rax
	mov	rdx, QWORD PTR -328[rbp]
	mov	rax, QWORD PTR -80[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	sd_stack_push
	mov	DWORD PTR -340[rbp], eax
	cmp	DWORD PTR -340[rbp], 0
	je	.L232
	jmp	.L101
.L110:
	mov	rdx, QWORD PTR -80[rbp]
	lea	rax, -400[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	sd_stack_pop
	mov	rax, QWORD PTR -400[rbp]
	mov	rdx, QWORD PTR -392[rbp]
	mov	QWORD PTR -112[rbp], rax
	mov	QWORD PTR -104[rbp], rdx
	mov	rax, QWORD PTR -384[rbp]
	mov	QWORD PTR -96[rbp], rax
	movzx	eax, BYTE PTR -96[rbp]
	test	al, al
	jne	.L194
	mov	DWORD PTR -340[rbp], 5
	jmp	.L101
.L194:
	mov	eax, DWORD PTR -112[rbp]
	test	eax, eax
	je	.L195
	mov	DWORD PTR -340[rbp], 6
	jmp	.L101
.L195:
	mov	rax, QWORD PTR -104[rbp]
	mov	QWORD PTR -312[rbp], rax
	mov	rax, QWORD PTR -80[rbp]
	mov	rdx, QWORD PTR -312[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	sd_stack_duplicate_at
	mov	DWORD PTR -340[rbp], eax
	cmp	DWORD PTR -340[rbp], 0
	je	.L233
	jmp	.L101
.L109:
	mov	rdx, QWORD PTR -80[rbp]
	lea	rax, -400[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	sd_stack_pop
	mov	rax, QWORD PTR -400[rbp]
	mov	rdx, QWORD PTR -392[rbp]
	mov	QWORD PTR -112[rbp], rax
	mov	QWORD PTR -104[rbp], rdx
	mov	rax, QWORD PTR -384[rbp]
	mov	QWORD PTR -96[rbp], rax
	movzx	eax, BYTE PTR -96[rbp]
	test	al, al
	jne	.L197
	mov	DWORD PTR -340[rbp], 5
	jmp	.L101
.L197:
	mov	rax, QWORD PTR -112[rbp]
	mov	rdx, QWORD PTR -104[rbp]
	mov	QWORD PTR -128[rbp], rax
	mov	QWORD PTR -120[rbp], rdx
	mov	rdx, QWORD PTR -80[rbp]
	lea	rax, -400[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	sd_stack_pop
	mov	rax, QWORD PTR -400[rbp]
	mov	rdx, QWORD PTR -392[rbp]
	mov	QWORD PTR -112[rbp], rax
	mov	QWORD PTR -104[rbp], rdx
	mov	rax, QWORD PTR -384[rbp]
	mov	QWORD PTR -96[rbp], rax
	movzx	eax, BYTE PTR -96[rbp]
	test	al, al
	jne	.L199
	mov	DWORD PTR -340[rbp], 5
	jmp	.L198
.L199:
	mov	eax, DWORD PTR -112[rbp]
	test	eax, eax
	je	.L200
	mov	DWORD PTR -340[rbp], 6
	jmp	.L198
.L200:
	mov	rax, QWORD PTR -104[rbp]
	mov	QWORD PTR -320[rbp], rax
	mov	edx, DWORD PTR -128[rbp]
	mov	rax, QWORD PTR -80[rbp]
	mov	rcx, QWORD PTR -120[rbp]
	mov	rsi, QWORD PTR -320[rbp]
	mov	rdi, rax
	call	sd_stack_replace_at
	mov	DWORD PTR -340[rbp], eax
	cmp	DWORD PTR -340[rbp], 0
	je	.L234
	nop
.L198:
	jmp	.L98
.L112:
	mov	rdx, QWORD PTR -80[rbp]
	lea	rax, -400[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	sd_stack_pop
	mov	rax, QWORD PTR -400[rbp]
	mov	rdx, QWORD PTR -392[rbp]
	mov	QWORD PTR -112[rbp], rax
	mov	QWORD PTR -104[rbp], rdx
	mov	rax, QWORD PTR -384[rbp]
	mov	QWORD PTR -96[rbp], rax
	movzx	eax, BYTE PTR -96[rbp]
	test	al, al
	jne	.L202
	mov	DWORD PTR -340[rbp], 5
	jmp	.L101
.L202:
	mov	eax, DWORD PTR -112[rbp]
	test	eax, eax
	je	.L203
	mov	DWORD PTR -340[rbp], 6
	jmp	.L101
.L203:
	mov	rax, QWORD PTR -104[rbp]
	mov	QWORD PTR -304[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR -296[rbp], rax
	mov	rax, QWORD PTR -304[rbp]
	mov	QWORD PTR -24[rbp], rax
	mov	rdx, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR -80[rbp]
	mov	esi, 0
	mov	rdi, rax
	call	sd_stack_push
	mov	DWORD PTR -340[rbp], eax
	cmp	DWORD PTR -340[rbp], 0
	je	.L235
	jmp	.L101
.L120:
	mov	DWORD PTR -340[rbp], 2
	jmp	.L101
.L217:
	nop
	jmp	.L102
.L218:
	nop
	jmp	.L102
.L220:
	nop
	jmp	.L102
.L221:
	nop
	jmp	.L102
.L222:
	nop
	jmp	.L102
.L223:
	nop
	jmp	.L102
.L224:
	nop
	jmp	.L102
.L225:
	nop
	jmp	.L102
.L226:
	nop
	jmp	.L102
.L229:
	nop
	jmp	.L102
.L231:
	nop
	jmp	.L102
.L232:
	nop
	jmp	.L102
.L233:
	nop
	jmp	.L102
.L234:
	nop
	jmp	.L102
.L235:
	nop
.L102:
	mov	rax, QWORD PTR -32[rbp]
	add	rax, 1
	mov	QWORD PTR -32[rbp], rax
.L156:
	jmp	.L205
.L219:
	nop
	jmp	.L98
.L227:
	nop
	jmp	.L98
.L228:
	nop
.L101:
	jmp	.L98
.L216:
	nop
.L98:
	cmp	DWORD PTR -340[rbp], 0
	je	.L236
	cmp	DWORD PTR -340[rbp], 2
	je	.L236
	cmp	DWORD PTR -340[rbp], 7
	ja	.L206
	mov	eax, DWORD PTR -340[rbp]
	lea	rdx, 0[0+rax*4]
	lea	rax, .L208[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L208[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L208:
	.long	.L237-.L208
	.long	.L237-.L208
	.long	.L237-.L208
	.long	.L212-.L208
	.long	.L211-.L208
	.long	.L210-.L208
	.long	.L209-.L208
	.long	.L207-.L208
	.text
.L211:
	mov	rax, QWORD PTR -32[rbp]
	mov	rsi, rax
	lea	rdi, .LC0[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L206
.L210:
	mov	rax, QWORD PTR -32[rbp]
	mov	rsi, rax
	lea	rdi, .LC1[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L206
.L209:
	mov	rax, QWORD PTR -32[rbp]
	mov	rsi, rax
	lea	rdi, .LC2[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L206
.L207:
	mov	rax, QWORD PTR -32[rbp]
	mov	rsi, rax
	lea	rdi, .LC3[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L206
.L212:
	mov	rax, QWORD PTR -32[rbp]
	mov	rsi, rax
	lea	rdi, .LC4[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L206
.L236:
	nop
	jmp	.L206
.L237:
	nop
.L206:
	mov	rax, QWORD PTR -56[rbp]
	mov	rdi, rax
	call	sd_result_print
	lea	rax, -80[rbp]
	mov	rdi, rax
	call	sd_vm_deinit
	mov	eax, 0
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L215
	call	__stack_chk_fail@PLT
.L215:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE28:
	.size	sd_run, .-sd_run
	.section	.rodata
.LC5:
	.string	"Usage: %s program\n"
.LC6:
	.string	"-"
.LC7:
	.string	"r"
	.align 8
.LC8:
	.string	"error: could not open input file: %s\n"
	.align 8
.LC9:
	.string	"error: could not allocate memory"
	.align 8
.LC10:
	.string	"error: could not read input file: %s\n"
	.text
	.globl	main
	.type	main, @function
main:
.LFB29:
	.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	DWORD PTR -52[rbp], edi
	mov	QWORD PTR -64[rbp], rsi
	cmp	DWORD PTR -52[rbp], 1
	jne	.L239
	mov	rax, QWORD PTR -64[rbp]
	mov	rax, QWORD PTR [rax]
	mov	rsi, rax
	lea	rdi, .LC5[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, 1
	jmp	.L240
.L239:
	mov	rax, QWORD PTR -64[rbp]
	add	rax, 8
	mov	rdx, QWORD PTR [rax]
	lea	rax, .LC6[rip]
	mov	ecx, 2
	mov	rsi, rax
	mov	rdi, rdx
	repz cmpsb
	seta	al
	setb	dl
	sub	eax, edx
	movsx	eax, al
	test	eax, eax
	jne	.L241
	mov	rax, QWORD PTR stdin[rip]
	mov	QWORD PTR -40[rbp], rax
	jmp	.L242
.L241:
	mov	rax, QWORD PTR -64[rbp]
	add	rax, 8
	mov	rax, QWORD PTR [rax]
	lea	rsi, .LC7[rip]
	mov	rdi, rax
	call	fopen@PLT
	mov	QWORD PTR -40[rbp], rax
.L242:
	cmp	QWORD PTR -40[rbp], 0
	jne	.L243
	call	__errno_location@PLT
	mov	eax, DWORD PTR [rax]
	mov	edi, eax
	call	strerror@PLT
	mov	rsi, rax
	lea	rdi, .LC8[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, 2
	jmp	.L240
.L243:
	mov	rax, QWORD PTR stdin[rip]
	cmp	QWORD PTR -40[rbp], rax
	jne	.L244
	mov	QWORD PTR -32[rbp], 16384
	jmp	.L245
.L244:
	mov	rax, QWORD PTR -40[rbp]
	mov	edx, 2
	mov	esi, 0
	mov	rdi, rax
	call	fseek@PLT
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	ftell@PLT
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	rewind@PLT
.L245:
	mov	rax, QWORD PTR -32[rbp]
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -16[rbp], rax
	cmp	QWORD PTR -16[rbp], 0
	jne	.L246
	lea	rdi, .LC9[rip]
	call	puts@PLT
	mov	eax, 3
	jmp	.L240
.L246:
	mov	QWORD PTR -24[rbp], 0
.L248:
	mov	rax, QWORD PTR -32[rbp]
	sub	rax, QWORD PTR -24[rbp]
	lea	rdx, 1[rax]
	mov	rcx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -24[rbp]
	lea	rdi, [rcx+rax]
	mov	rax, QWORD PTR -40[rbp]
	mov	rcx, rax
	mov	esi, 1
	call	fread@PLT
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	add	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	feof@PLT
	test	eax, eax
	jne	.L247
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	ferror@PLT
	test	eax, eax
	je	.L248
.L247:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	feof@PLT
	test	eax, eax
	jne	.L249
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	ferror@PLT
	test	eax, eax
	je	.L249
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	ferror@PLT
	mov	DWORD PTR -44[rbp], eax
	mov	eax, DWORD PTR -44[rbp]
	mov	edi, eax
	call	strerror@PLT
	mov	rsi, rax
	lea	rdi, .LC10[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, 4
	jmp	.L240
.L249:
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	sd_run
	mov	eax, 0
.L240:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE29:
	.size	main, .-main
	.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	"90765004.c"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	sd_stack_init, %function
sd_stack_init:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #4]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	sd_stack_init, .-sd_stack_init
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	sd_stack_push, %function
sd_stack_push:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
	mov	r0, #24
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L3
	mov	r3, #4
	b	.L4
.L3:
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-20]
	str	r2, [r3]
	ldr	r1, [fp, #-8]
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	str	r2, [r1, #8]
	str	r3, [r1, #12]
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #20]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #16]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L5
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	str	r2, [r3, #4]
	b	.L6
.L5:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-8]
	str	r2, [r3, #16]
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-8]
	str	r2, [r3, #4]
.L6:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L7
	mov	r3, #3
	b	.L4
.L7:
	mov	r3, #0
.L4:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	sd_stack_push, .-sd_stack_push
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	sd_stack_pop, %function
sd_stack_pop:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	str	r0, [fp, #-40]
	str	r1, [fp, #-44]
	ldr	r3, [fp, #-44]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L9
	mov	r3, #0
	strb	r3, [fp, #-12]
	ldr	r3, [fp, #-40]
	mov	lr, r3
	sub	ip, fp, #28
	ldmia	ip!, {r0, r1, r2, r3}
	stmia	lr!, {r0, r1, r2, r3}
	ldm	ip, {r0, r1}
	stm	lr, {r0, r1}
	b	.L8
.L9:
	ldr	r3, [fp, #-44]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3, #20]
	cmp	r3, #0
	bne	.L11
	ldr	r3, [fp, #-44]
	mov	r2, #0
	str	r2, [r3, #8]
	ldr	r3, [fp, #-44]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-44]
	str	r2, [r3, #4]
	b	.L12
.L11:
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #20]
	ldr	r3, [fp, #-44]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-44]
	ldr	r3, [r3, #4]
	mov	r2, #0
	str	r2, [r3, #16]
.L12:
	ldr	r3, [fp, #-44]
	ldr	r3, [r3]
	sub	r2, r3, #1
	ldr	r3, [fp, #-44]
	str	r2, [r3]
	mov	r3, #1
	strb	r3, [fp, #-12]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-32]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-20]
	str	r3, [fp, #-16]
	ldr	r0, [fp, #-32]
	bl	free
	ldr	r3, [fp, #-40]
	mov	lr, r3
	sub	ip, fp, #28
	ldmia	ip!, {r0, r1, r2, r3}
	stmia	lr!, {r0, r1, r2, r3}
	ldm	ip, {r0, r1}
	stm	lr, {r0, r1}
.L8:
	ldr	r0, [fp, #-40]
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	sd_stack_pop, .-sd_stack_pop
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	sd_stack_peek, %function
sd_stack_peek:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L15
	mov	r3, #0
	strb	r3, [fp, #-12]
	b	.L16
.L15:
	mov	r3, #1
	strb	r3, [fp, #-12]
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #4]
	ldr	r3, [r3]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-36]
	ldr	r3, [r3, #4]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-20]
	str	r3, [fp, #-16]
.L16:
	ldr	r3, [fp, #-32]
	mov	lr, r3
	sub	ip, fp, #28
	ldmia	ip!, {r0, r1, r2, r3}
	stmia	lr!, {r0, r1, r2, r3}
	ldm	ip, {r0, r1}
	stm	lr, {r0, r1}
	ldr	r0, [fp, #-32]
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	sd_stack_peek, .-sd_stack_peek
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	sd_stack_duplicate, %function
sd_stack_duplicate:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L19
	mov	r3, #1
	b	.L20
.L19:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	ldr	r1, [r3]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-8]
	bl	sd_stack_push
	mov	r3, r0
.L20:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	sd_stack_duplicate, .-sd_stack_duplicate
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	sd_stack_duplicate_at, %function
sd_stack_duplicate_at:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	mov	r0, r3
	mov	r1, #0
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	cmp	r0, r2
	sbcs	r3, r1, r3
	bge	.L22
	mov	r3, #5
	b	.L23
.L22:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-12]
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L24
.L26:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #16]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L25
	mov	r3, #5
	b	.L23
.L25:
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L24:
	ldr	r3, [fp, #-8]
	mov	r2, r3
	mov	r3, #0
	sub	r1, fp, #28
	ldmia	r1, {r0-r1}
	cmp	r1, r3
	cmpeq	r0, r2
	bne	.L26
	ldr	r3, [fp, #-12]
	ldr	r1, [r3]
	ldr	r3, [fp, #-12]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-16]
	bl	sd_stack_push
	mov	r3, r0
.L23:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	sd_stack_duplicate_at, .-sd_stack_duplicate_at
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	sd_stack_replace_at, %function
sd_stack_replace_at:
	@ args = 16, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #28
	str	r0, [fp, #-16]
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	mov	r0, r3
	mov	r1, #0
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	cmp	r0, r2
	sbcs	r3, r1, r3
	bge	.L28
	mov	r3, #5
	b	.L29
.L28:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	str	r3, [fp, #-12]
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L30
.L32:
	ldr	r3, [fp, #-12]
	ldr	r3, [r3, #16]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L31
	mov	r3, #5
	b	.L29
.L31:
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L30:
	ldr	r3, [fp, #-8]
	mov	r2, r3
	mov	r3, #0
	sub	r1, fp, #28
	ldmia	r1, {r0-r1}
	cmp	r1, r3
	cmpeq	r0, r2
	bne	.L32
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #4]
	str	r2, [r3]
	ldr	r1, [fp, #-12]
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	str	r2, [r1, #8]
	str	r3, [r1, #12]
	mov	r3, #0
.L29:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	sd_stack_replace_at, .-sd_stack_replace_at
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	sd_subr_table_init, %function
sd_subr_table_init:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #208]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	sd_subr_table_init, .-sd_subr_table_init
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	sd_subr_table_set, %function
sd_subr_table_set:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #28
	str	r0, [fp, #-16]
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
	mov	r3, r1
	strb	r3, [fp, #-17]
	ldrb	r3, [fp, #-17]
	sub	r3, r3, #65
	strb	r3, [fp, #-5]
	ldrb	r3, [fp, #-5]	@ zero_extendqisi2
	ldr	r2, [fp, #-16]
	lsl	r3, r3, #3
	add	r1, r2, r3
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	stm	r1, {r2-r3}
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #208]
	ldrb	r2, [fp, #-5]	@ zero_extendqisi2
	mov	r1, #1
	lsl	r2, r1, r2
	orr	r2, r3, r2
	ldr	r3, [fp, #-16]
	str	r2, [r3, #208]
	mov	r3, #0
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	sd_subr_table_set, .-sd_subr_table_set
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	sd_subr_table_get, %function
sd_subr_table_get:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-16]
	mov	r3, r1
	strb	r3, [fp, #-17]
	ldrb	r3, [fp, #-17]
	sub	r3, r3, #65
	strb	r3, [fp, #-5]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #208]
	ldrb	r2, [fp, #-5]	@ zero_extendqisi2
	mov	r1, #1
	lsl	r2, r1, r2
	and	r3, r3, r2
	cmp	r3, #0
	beq	.L37
	ldrb	r3, [fp, #-5]	@ zero_extendqisi2
	ldr	r2, [fp, #-16]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldmia	r3, {r2-r3}
	b	.L38
.L37:
	mvn	r2, #0
	mvn	r3, #0
.L38:
	mov	r0, r2
	mov	r1, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	sd_subr_table_get, .-sd_subr_table_get
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	sd_call_stack_init, %function
sd_call_stack_init:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	str	r2, [r3]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	sd_call_stack_init, .-sd_call_stack_init
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	sd_call_stack_push, %function
sd_call_stack_push:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
	mov	r0, #16
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L41
	mov	r3, #4
	b	.L42
.L41:
	ldr	r1, [fp, #-8]
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	stm	r1, {r2-r3}
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L43
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-8]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-16]
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #12]
	b	.L44
.L43:
	ldr	r3, [fp, #-16]
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	ldr	r2, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-8]
	str	r2, [r3]
.L44:
	mov	r3, #0
.L42:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	sd_call_stack_push, .-sd_call_stack_push
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	sd_call_stack_pop, %function
sd_call_stack_pop:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-24]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L46
	mvn	r2, #0
	mvn	r3, #0
	b	.L47
.L46:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-12]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #12]
	ldr	r3, [fp, #-24]
	str	r2, [r3]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L48
	ldr	r3, [fp, #-24]
	mov	r2, #0
	str	r2, [r3, #4]
	b	.L49
.L48:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	mov	r2, #0
	str	r2, [r3, #8]
.L49:
	ldr	r0, [fp, #-16]
	bl	free
	sub	r3, fp, #12
	ldmia	r3, {r2-r3}
.L47:
	mov	r0, r2
	mov	r1, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	sd_call_stack_pop, .-sd_call_stack_pop
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	sd_result_init, %function
sd_result_init:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #8]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	sd_result_init, .-sd_result_init
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	sd_result_grow, %function
sd_result_grow:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L52
	ldr	r3, [fp, #-8]
	mov	r2, #256
	str	r2, [r3, #4]
	b	.L53
.L52:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-8]
	ldr	r2, [r2, #4]
	mul	r3, r2, r3
	lsl	r2, r3, #1
	ldr	r3, [fp, #-8]
	str	r2, [r3, #4]
.L53:
	ldr	r3, [fp, #-8]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	lsl	r3, r3, #3
	mov	r1, r3
	mov	r0, r2
	bl	realloc
	mov	r2, r0
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bne	.L54
	ldr	r3, [fp, #-8]
	mvn	r2, #0
	str	r2, [r3, #4]
	mov	r3, #4
	b	.L55
.L54:
	mov	r3, #0
.L55:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	sd_result_grow, .-sd_result_grow
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	sd_result_append, %function
sd_result_append:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-16]
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	cmp	r2, r3
	bne	.L57
	ldr	r0, [fp, #-16]
	bl	sd_result_grow
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L57
	ldr	r3, [fp, #-8]
	b	.L58
.L57:
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	lsl	r3, r3, #3
	add	r1, r2, r3
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	stm	r1, {r2-r3}
	ldr	r3, [fp, #-16]
	ldr	r3, [r3]
	add	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3]
	mov	r3, #0
.L58:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	sd_result_append, .-sd_result_append
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	sd_result_print_i8, %function
sd_result_print_i8:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-32]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L60
	mov	r3, #0
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	b	.L61
.L62:
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #3
	add	r0, r2, r3
	ldr	r3, .L65
	ldr	r3, [r3]
	mov	r2, #1
	mov	r1, #1
	bl	fwrite
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L61:
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-12]
	cmp	r2, r3
	bcc	.L62
.L60:
	mov	r3, #0
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	b	.L63
.L64:
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldmia	r3, {r2-r3}
	ldr	r0, [fp, #-16]
	ldr	r1, [fp, #-20]
	add	r1, r0, r1
	lsl	r3, r2, #24
	asr	r3, r3, #24
	strb	r3, [r1]
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L63:
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-8]
	cmp	r2, r3
	bcc	.L64
	ldr	r3, [fp, #-32]
	ldr	r2, [r3]
	ldr	r3, .L65
	ldr	r3, [r3]
	mov	r1, #1
	ldr	r0, [fp, #-16]
	bl	fwrite
	ldr	r0, [fp, #-16]
	bl	free
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L66:
	.align	2
.L65:
	.word	stdout
	.size	sd_result_print_i8, .-sd_result_print_i8
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	sd_result_print_i16, %function
sd_result_print_i16:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-32]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	lsl	r3, r3, #1
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L68
	mov	r3, #0
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	b	.L69
.L70:
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #3
	add	r0, r2, r3
	ldr	r3, .L73
	ldr	r3, [r3]
	mov	r2, #1
	mov	r1, #2
	bl	fwrite
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L69:
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-12]
	cmp	r2, r3
	bcc	.L70
.L68:
	mov	r3, #0
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	b	.L71
.L72:
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldmia	r3, {r2-r3}
	ldr	r1, [fp, #-20]
	lsl	r1, r1, #1
	ldr	r0, [fp, #-16]
	add	r1, r0, r1
	lsl	r3, r2, #16
	asr	r3, r3, #16
	strh	r3, [r1]	@ movhi
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L71:
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-8]
	cmp	r2, r3
	bcc	.L72
	ldr	r3, [fp, #-32]
	ldr	r2, [r3]
	ldr	r3, .L73
	ldr	r3, [r3]
	mov	r1, #2
	ldr	r0, [fp, #-16]
	bl	fwrite
	ldr	r0, [fp, #-16]
	bl	free
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L74:
	.align	2
.L73:
	.word	stdout
	.size	sd_result_print_i16, .-sd_result_print_i16
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	sd_result_print, %function
sd_result_print:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-32]
	mov	r3, #1
	strb	r3, [fp, #-22]
	mov	r3, #1
	strb	r3, [fp, #-21]
	mov	r3, #0
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-32]
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	b	.L76
.L82:
	ldr	r3, [fp, #-32]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-12]
	str	r3, [fp, #-8]
	sub	r3, fp, #12
	ldmia	r3, {r2-r3}
	mvn	r0, #127
	mvn	r1, #0
	cmp	r2, r0
	sbcs	r3, r3, r1
	blt	.L77
	sub	r3, fp, #12
	ldmia	r3, {r2-r3}
	cmp	r2, #128
	sbcs	r3, r3, #0
	blt	.L78
.L77:
	sub	r3, fp, #12
	ldmia	r3, {r2-r3}
	mvn	r0, #32768
	mvn	r1, #0
	cmp	r0, r2
	sbcs	r3, r1, r3
	bge	.L79
	sub	r3, fp, #12
	ldmia	r3, {r2-r3}
	cmp	r2, #32768
	sbcs	r3, r3, #0
	bge	.L79
	mov	r3, #0
	strb	r3, [fp, #-22]
	b	.L78
.L79:
	sub	r3, fp, #12
	ldmia	r3, {r2-r3}
	mvn	r0, #32768
	mvn	r1, #0
	cmp	r0, r2
	sbcs	r3, r1, r3
	bge	.L80
	sub	r3, fp, #12
	ldmia	r3, {r2-r3}
	cmp	r2, #32768
	sbcs	r3, r3, #0
	blt	.L78
.L80:
	mov	r3, #0
	strb	r3, [fp, #-22]
	mov	r3, #0
	strb	r3, [fp, #-21]
	b	.L81
.L78:
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L76:
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-16]
	cmp	r2, r3
	bcc	.L82
.L81:
	ldrb	r3, [fp, #-22]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L83
	ldr	r0, [fp, #-32]
	bl	sd_result_print_i8
	b	.L86
.L83:
	ldrb	r3, [fp, #-21]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L85
	ldr	r0, [fp, #-32]
	bl	sd_result_print_i16
	b	.L86
.L85:
	ldr	r3, [fp, #-32]
	ldr	r0, [r3, #8]
	ldr	r3, [fp, #-32]
	ldr	r2, [r3]
	ldr	r3, .L87
	ldr	r3, [r3]
	mov	r1, #8
	bl	fwrite
.L86:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L88:
	.align	2
.L87:
	.word	stdout
	.size	sd_result_print, .-sd_result_print
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	sd_vm_init, %function
sd_vm_init:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	mov	r0, #12
	bl	malloc
	mov	r3, r0
	mov	r2, r3
	ldr	r3, [fp, #-8]
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L90
	mov	r3, #4
	b	.L91
.L90:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	mov	r0, r3
	bl	sd_stack_init
	mov	r0, #216
	bl	malloc
	mov	r3, r0
	mov	r2, r3
	ldr	r3, [fp, #-8]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	cmp	r3, #0
	bne	.L92
	mov	r3, #4
	b	.L91
.L92:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #4]
	mov	r0, r3
	bl	sd_subr_table_init
	mov	r0, #8
	bl	malloc
	mov	r3, r0
	mov	r2, r3
	ldr	r3, [fp, #-8]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	cmp	r3, #0
	bne	.L93
	mov	r3, #4
	b	.L91
.L93:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #8]
	mov	r0, r3
	bl	sd_call_stack_init
	mov	r0, #12
	bl	malloc
	mov	r3, r0
	mov	r2, r3
	ldr	r3, [fp, #-8]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #12]
	cmp	r3, #0
	bne	.L94
	mov	r3, #4
	b	.L91
.L94:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #12]
	mov	r0, r3
	bl	sd_result_init
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #16]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #20]
	ldr	r1, [fp, #-8]
	mov	r2, #0
	mov	r3, #0
	str	r2, [r1, #24]
	str	r3, [r1, #28]
	ldr	r1, [fp, #-8]
	mov	r2, #0
	mov	r3, #0
	str	r2, [r1, #32]
	str	r3, [r1, #36]
	mov	r3, #0
.L91:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	sd_vm_init, .-sd_vm_init
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	sd_vm_deinit, %function
sd_vm_deinit:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	sd_vm_deinit, .-sd_vm_deinit
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	sd_run_skip, %function
sd_run_skip:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	push	{r4, r5, fp}
	add	fp, sp, #8
	sub	sp, sp, #20
	str	r0, [fp, #-24]
	mov	r3, #1
	str	r3, [fp, #-16]
	b	.L97
.L101:
	ldr	r3, [fp, #-24]
	add	r3, r3, #24
	ldmia	r3, {r2-r3}
	adds	r4, r2, #1
	adc	r5, r3, #0
	ldr	r3, [fp, #-24]
	str	r4, [r3, #24]
	str	r5, [r3, #28]
	ldr	r3, [fp, #-24]
	add	r3, r3, #24
	ldmia	r3, {r2-r3}
	ldr	r1, [fp, #-24]
	ldr	r1, [r1, #20]
	mov	r0, r1
	mov	r1, #0
	cmp	r0, r2
	sbcs	r3, r1, r3
	bge	.L98
	mov	r3, #2
	b	.L99
.L98:
	ldr	r3, [fp, #-24]
	ldr	r1, [r3, #16]
	ldr	r3, [fp, #-24]
	add	r3, r3, #24
	ldmia	r3, {r2-r3}
	mov	r3, r2
	add	r3, r1, r3
	ldrb	r3, [r3]
	strb	r3, [fp, #-17]
	ldrb	r3, [fp, #-17]	@ zero_extendqisi2
	cmp	r3, #123
	bne	.L100
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
	b	.L97
.L100:
	ldrb	r3, [fp, #-17]	@ zero_extendqisi2
	cmp	r3, #125
	bne	.L97
	ldr	r3, [fp, #-16]
	sub	r3, r3, #1
	str	r3, [fp, #-16]
.L97:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bgt	.L101
	mov	r3, #0
.L99:
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, r5, fp}
	bx	lr
	.size	sd_run_skip, .-sd_run_skip
	.global	__aeabi_ldivmod
	.section	.rodata
	.align	2
.LC0:
	.ascii	"halted: out of memory (at ip = %li)\012\000"
	.align	2
.LC1:
	.ascii	"halted: bad state (at ip = %li)\012\000"
	.align	2
.LC2:
	.ascii	"halted: type error (at ip = %li)\012\000"
	.align	2
.LC3:
	.ascii	"halted: call to nonexistant subroutine (at ip = %li"
	.ascii	")\012\000"
	.align	2
.LC4:
	.ascii	"halted: stack overflow (at ip = %li)\012\000"
	.align	2
.LC5:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	sd_run, %function
sd_run:
	@ args = 0, pretend = 0, frame = 368
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r6, r7, r8, r9, fp, lr}
	add	fp, sp, #24
	sub	sp, sp, #388
	str	r0, [fp, #-344]
	str	r1, [fp, #-348]
	ldr	r3, .L243
	ldr	r3, [r3]
	str	r3, [fp, #-32]
	mov	r3,#0
	sub	r3, fp, #76
	mov	r0, r3
	bl	sd_vm_init
	ldr	r3, [fp, #-344]
	str	r3, [fp, #-60]
	ldr	r3, [fp, #-348]
	str	r3, [fp, #-56]
.L211:
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	ldr	r1, [fp, #-348]
	mov	r0, r1
	mov	r1, #0
	cmp	r0, r2
	sbcs	r3, r1, r3
	blt	.L222
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	ldr	r3, [fp, #-344]
	add	r3, r3, r2
	ldrb	r3, [r3]
	strb	r3, [fp, #-336]
	ldrb	r3, [fp, #-336]	@ zero_extendqisi2
	cmp	r3, #47
	bls	.L105
	ldrb	r3, [fp, #-336]	@ zero_extendqisi2
	cmp	r3, #57
	bhi	.L105
	ldrb	r3, [fp, #-336]	@ zero_extendqisi2
	sub	r3, r3, #48
	mov	r2, r3
	asr	r3, r2, #31
	str	r2, [fp, #-324]
	str	r3, [fp, #-320]
	ldr	r0, [fp, #-76]
	sub	r3, fp, #324
	ldmia	r3, {r2-r3}
	mov	r1, #0
	bl	sd_stack_push
	str	r0, [fp, #-328]
	ldr	r3, [fp, #-328]
	cmp	r3, #0
	beq	.L223
	b	.L107
.L105:
	ldrb	r3, [fp, #-336]	@ zero_extendqisi2
	cmp	r3, #64
	bls	.L109
	ldrb	r3, [fp, #-336]	@ zero_extendqisi2
	cmp	r3, #90
	bhi	.L109
	ldrb	r3, [fp, #-336]
	strb	r3, [fp, #-335]
	ldr	ip, [fp, #-76]
	mov	r0, #0
	mov	r1, #0
	ldrb	r3, [fp, #-335]
	and	r2, r3, #255
	bic	r3, r0, #255
	orr	r3, r2, r3
	mov	r0, r3
	mov	r2, r0
	mov	r3, r1
	mov	r1, #1
	mov	r0, ip
	bl	sd_stack_push
	str	r0, [fp, #-328]
	ldr	r3, [fp, #-328]
	cmp	r3, #0
	beq	.L224
	b	.L107
.L109:
	ldrb	r3, [fp, #-336]	@ zero_extendqisi2
	sub	r3, r3, #97
	cmp	r3, #28
	ldrls	pc, [pc, r3, asl #2]
	b	.L108
.L112:
	.word	.L131
	.word	.L108
	.word	.L130
	.word	.L129
	.word	.L128
	.word	.L127
	.word	.L108
	.word	.L126
	.word	.L125
	.word	.L124
	.word	.L123
	.word	.L108
	.word	.L122
	.word	.L108
	.word	.L108
	.word	.L108
	.word	.L121
	.word	.L120
	.word	.L119
	.word	.L118
	.word	.L108
	.word	.L108
	.word	.L117
	.word	.L116
	.word	.L115
	.word	.L114
	.word	.L113
	.word	.L108
	.word	.L111
.L113:
	ldr	r0, [fp, #-76]
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	mov	r1, #2
	bl	sd_stack_push
	str	r0, [fp, #-328]
	ldr	r3, [fp, #-328]
	cmp	r3, #0
	bne	.L225
	sub	r3, fp, #76
	mov	r0, r3
	bl	sd_run_skip
	str	r0, [fp, #-328]
	ldr	r3, [fp, #-328]
	cmp	r3, #0
	beq	.L226
	b	.L107
.L111:
	ldr	r3, [fp, #-68]
	mov	r0, r3
	bl	sd_call_stack_pop
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-52]
	str	r3, [fp, #-48]
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	mvn	r0, #0
	mvn	r1, #0
	cmp	r3, r1
	cmpeq	r2, r0
	bne	.L227
	b	.L107
.L127:
	ldr	r2, [fp, #-76]
	sub	r3, fp, #100
	mov	r1, r2
	mov	r0, r3
	bl	sd_stack_pop
	ldrb	r3, [fp, #-84]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L135
	mov	r3, #5
	str	r3, [fp, #-328]
	b	.L107
.L135:
	ldr	r3, [fp, #-100]
	cmp	r3, #1
	beq	.L136
	mov	r3, #6
	str	r3, [fp, #-328]
	b	.L107
.L136:
	ldrb	r3, [fp, #-92]
	strb	r3, [fp, #-330]
	ldr	r2, [fp, #-76]
	sub	r3, fp, #372
	mov	r1, r2
	mov	r0, r3
	bl	sd_stack_pop
	sub	ip, fp, #100
	sub	lr, fp, #372
	ldmia	lr!, {r0, r1, r2, r3}
	stmia	ip!, {r0, r1, r2, r3}
	ldm	lr, {r0, r1}
	stm	ip, {r0, r1}
	ldrb	r3, [fp, #-84]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L137
	mov	r3, #5
	str	r3, [fp, #-328]
	b	.L107
.L137:
	ldr	r3, [fp, #-100]
	cmp	r3, #2
	beq	.L138
	mov	r3, #6
	str	r3, [fp, #-328]
	b	.L107
.L138:
	sub	r3, fp, #92
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-196]
	str	r3, [fp, #-192]
	ldr	r0, [fp, #-72]
	ldrb	r1, [fp, #-330]	@ zero_extendqisi2
	sub	r3, fp, #196
	ldmia	r3, {r2-r3}
	bl	sd_subr_table_set
	str	r0, [fp, #-328]
	ldr	r3, [fp, #-328]
	cmp	r3, #0
	beq	.L228
	b	.L107
.L131:
	ldr	r2, [fp, #-76]
	sub	r3, fp, #372
	mov	r1, r2
	mov	r0, r3
	bl	sd_stack_pop
	sub	ip, fp, #100
	sub	lr, fp, #372
	ldmia	lr!, {r0, r1, r2, r3}
	stmia	ip!, {r0, r1, r2, r3}
	ldm	lr, {r0, r1}
	stm	ip, {r0, r1}
	ldrb	r3, [fp, #-84]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L140
	mov	r3, #5
	str	r3, [fp, #-328]
	b	.L107
.L140:
	ldr	r3, [fp, #-100]
	cmp	r3, #0
	beq	.L141
	mov	r3, #6
	str	r3, [fp, #-328]
	b	.L107
.L141:
	sub	r3, fp, #92
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-164]
	str	r3, [fp, #-160]
	ldr	r2, [fp, #-76]
	sub	r3, fp, #372
	mov	r1, r2
	mov	r0, r3
	bl	sd_stack_pop
	sub	ip, fp, #100
	sub	lr, fp, #372
	ldmia	lr!, {r0, r1, r2, r3}
	stmia	ip!, {r0, r1, r2, r3}
	ldm	lr, {r0, r1}
	stm	ip, {r0, r1}
	ldrb	r3, [fp, #-84]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L142
	mov	r3, #5
	str	r3, [fp, #-328]
	b	.L107
.L142:
	ldr	r3, [fp, #-100]
	cmp	r3, #0
	beq	.L143
	mov	r3, #6
	str	r3, [fp, #-328]
	b	.L107
.L143:
	sub	r3, fp, #92
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-156]
	str	r3, [fp, #-152]
	ldr	ip, [fp, #-76]
	sub	r1, fp, #156
	ldmia	r1, {r0-r1}
	sub	r3, fp, #164
	ldmia	r3, {r2-r3}
	adds	lr, r0, r2
	str	lr, [fp, #-380]
	adc	r3, r1, r3
	str	r3, [fp, #-376]
	sub	r3, fp, #380
	ldmia	r3, {r2-r3}
	mov	r1, #0
	mov	r0, ip
	bl	sd_stack_push
	str	r0, [fp, #-328]
	ldr	r3, [fp, #-328]
	cmp	r3, #0
	beq	.L229
	b	.L107
.L119:
	ldr	r2, [fp, #-76]
	sub	r3, fp, #372
	mov	r1, r2
	mov	r0, r3
	bl	sd_stack_pop
	sub	ip, fp, #100
	sub	lr, fp, #372
	ldmia	lr!, {r0, r1, r2, r3}
	stmia	ip!, {r0, r1, r2, r3}
	ldm	lr, {r0, r1}
	stm	ip, {r0, r1}
	ldrb	r3, [fp, #-84]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L145
	mov	r3, #5
	str	r3, [fp, #-328]
	b	.L107
.L145:
	ldr	r3, [fp, #-100]
	cmp	r3, #0
	beq	.L146
	mov	r3, #6
	str	r3, [fp, #-328]
	b	.L107
.L146:
	sub	r3, fp, #92
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-276]
	str	r3, [fp, #-272]
	ldr	r2, [fp, #-76]
	sub	r3, fp, #372
	mov	r1, r2
	mov	r0, r3
	bl	sd_stack_pop
	sub	ip, fp, #100
	sub	lr, fp, #372
	ldmia	lr!, {r0, r1, r2, r3}
	stmia	ip!, {r0, r1, r2, r3}
	ldm	lr, {r0, r1}
	stm	ip, {r0, r1}
	ldrb	r3, [fp, #-84]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L147
	mov	r3, #5
	str	r3, [fp, #-328]
	b	.L107
.L147:
	ldr	r3, [fp, #-100]
	cmp	r3, #0
	beq	.L148
	mov	r3, #6
	str	r3, [fp, #-328]
	b	.L107
.L148:
	sub	r3, fp, #92
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-268]
	str	r3, [fp, #-264]
	ldr	ip, [fp, #-76]
	sub	r1, fp, #268
	ldmia	r1, {r0-r1}
	sub	r3, fp, #276
	ldmia	r3, {r2-r3}
	subs	lr, r0, r2
	str	lr, [fp, #-388]
	sbc	r3, r1, r3
	str	r3, [fp, #-384]
	sub	r3, fp, #388
	ldmia	r3, {r2-r3}
	mov	r1, #0
	mov	r0, ip
	bl	sd_stack_push
	str	r0, [fp, #-328]
	ldr	r3, [fp, #-328]
	cmp	r3, #0
	beq	.L230
	b	.L107
.L122:
	ldr	r2, [fp, #-76]
	sub	r3, fp, #372
	mov	r1, r2
	mov	r0, r3
	bl	sd_stack_pop
	sub	ip, fp, #100
	sub	lr, fp, #372
	ldmia	lr!, {r0, r1, r2, r3}
	stmia	ip!, {r0, r1, r2, r3}
	ldm	lr, {r0, r1}
	stm	ip, {r0, r1}
	ldrb	r3, [fp, #-84]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L150
	mov	r3, #5
	str	r3, [fp, #-328]
	b	.L107
.L150:
	ldr	r3, [fp, #-100]
	cmp	r3, #0
	beq	.L151
	mov	r3, #6
	str	r3, [fp, #-328]
	b	.L107
.L151:
	sub	r3, fp, #92
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-260]
	str	r3, [fp, #-256]
	ldr	r2, [fp, #-76]
	sub	r3, fp, #372
	mov	r1, r2
	mov	r0, r3
	bl	sd_stack_pop
	sub	ip, fp, #100
	sub	lr, fp, #372
	ldmia	lr!, {r0, r1, r2, r3}
	stmia	ip!, {r0, r1, r2, r3}
	ldm	lr, {r0, r1}
	stm	ip, {r0, r1}
	ldrb	r3, [fp, #-84]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L152
	mov	r3, #5
	str	r3, [fp, #-328]
	b	.L107
.L152:
	ldr	r3, [fp, #-100]
	cmp	r3, #0
	beq	.L153
	mov	r3, #6
	str	r3, [fp, #-328]
	b	.L107
.L153:
	sub	r3, fp, #92
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-252]
	str	r3, [fp, #-248]
	ldr	lr, [fp, #-76]
	ldr	r3, [fp, #-248]
	ldr	r2, [fp, #-260]
	mul	r2, r3, r2
	ldr	r3, [fp, #-256]
	ldr	r1, [fp, #-252]
	mul	r3, r1, r3
	add	ip, r2, r3
	ldr	r0, [fp, #-252]
	ldr	r1, [fp, #-260]
	umull	r2, r3, r0, r1
	add	r1, ip, r3
	mov	r3, r1
	mov	r1, #0
	mov	r0, lr
	bl	sd_stack_push
	str	r0, [fp, #-328]
	ldr	r3, [fp, #-328]
	cmp	r3, #0
	beq	.L231
	b	.L107
.L129:
	ldr	r2, [fp, #-76]
	sub	r3, fp, #372
	mov	r1, r2
	mov	r0, r3
	bl	sd_stack_pop
	sub	ip, fp, #100
	sub	lr, fp, #372
	ldmia	lr!, {r0, r1, r2, r3}
	stmia	ip!, {r0, r1, r2, r3}
	ldm	lr, {r0, r1}
	stm	ip, {r0, r1}
	ldrb	r3, [fp, #-84]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L155
	mov	r3, #5
	str	r3, [fp, #-328]
	b	.L107
.L155:
	ldr	r3, [fp, #-100]
	cmp	r3, #0
	beq	.L156
	mov	r3, #6
	str	r3, [fp, #-328]
	b	.L107
.L156:
	sub	r3, fp, #92
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-188]
	str	r3, [fp, #-184]
	ldr	r2, [fp, #-76]
	sub	r3, fp, #372
	mov	r1, r2
	mov	r0, r3
	bl	sd_stack_pop
	sub	ip, fp, #100
	sub	lr, fp, #372
	ldmia	lr!, {r0, r1, r2, r3}
	stmia	ip!, {r0, r1, r2, r3}
	ldm	lr, {r0, r1}
	stm	ip, {r0, r1}
	ldrb	r3, [fp, #-84]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L157
	mov	r3, #5
	str	r3, [fp, #-328]
	b	.L107
.L157:
	ldr	r3, [fp, #-100]
	cmp	r3, #0
	beq	.L158
	mov	r3, #6
	str	r3, [fp, #-328]
	b	.L107
.L158:
	sub	r3, fp, #92
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-180]
	str	r3, [fp, #-176]
	ldr	r4, [fp, #-76]
	sub	r3, fp, #188
	ldmia	r3, {r2-r3}
	sub	r1, fp, #180
	ldmia	r1, {r0-r1}
	bl	__aeabi_ldivmod
	mov	r2, r0
	mov	r3, r1
	mov	r1, #0
	mov	r0, r4
	bl	sd_stack_push
	str	r0, [fp, #-328]
	ldr	r3, [fp, #-328]
	cmp	r3, #0
	beq	.L232
	b	.L107
.L124:
	ldr	r2, [fp, #-76]
	sub	r3, fp, #372
	mov	r1, r2
	mov	r0, r3
	bl	sd_stack_pop
	sub	ip, fp, #100
	sub	lr, fp, #372
	ldmia	lr!, {r0, r1, r2, r3}
	stmia	ip!, {r0, r1, r2, r3}
	ldm	lr, {r0, r1}
	stm	ip, {r0, r1}
	ldrb	r3, [fp, #-84]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L160
	mov	r3, #5
	str	r3, [fp, #-328]
	b	.L107
.L160:
	ldr	r3, [fp, #-100]
	cmp	r3, #0
	bne	.L161
	sub	r3, fp, #92
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-220]
	str	r3, [fp, #-216]
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	sub	r3, fp, #220
	ldmia	r3, {r2-r3}
	adds	r6, r0, r2
	adc	r7, r1, r3
	str	r6, [fp, #-52]
	str	r7, [fp, #-48]
	b	.L162
.L161:
	ldr	r3, [fp, #-100]
	cmp	r3, #1
	bne	.L163
	ldrb	r3, [fp, #-92]
	strb	r3, [fp, #-334]
	ldr	r3, [fp, #-72]
	ldrb	r2, [fp, #-334]	@ zero_extendqisi2
	mov	r1, r2
	mov	r0, r3
	bl	sd_subr_table_get
	str	r0, [fp, #-228]
	str	r1, [fp, #-224]
	sub	r3, fp, #228
	ldmia	r3, {r2-r3}
	mvn	r0, #0
	mvn	r1, #0
	cmp	r3, r1
	cmpeq	r2, r0
	bne	.L164
	mov	r3, #7
	str	r3, [fp, #-328]
	b	.L107
.L164:
	sub	r3, fp, #228
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-52]
	str	r3, [fp, #-48]
	b	.L108
.L163:
	mov	r3, #6
	str	r3, [fp, #-328]
	b	.L107
.L130:
	ldr	r1, [fp, #-68]
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	mov	r0, r1
	bl	sd_call_stack_push
	str	r0, [fp, #-328]
	ldr	r3, [fp, #-328]
	cmp	r3, #0
	bne	.L233
	ldr	r2, [fp, #-76]
	sub	r3, fp, #372
	mov	r1, r2
	mov	r0, r3
	bl	sd_stack_pop
	sub	ip, fp, #100
	sub	lr, fp, #372
	ldmia	lr!, {r0, r1, r2, r3}
	stmia	ip!, {r0, r1, r2, r3}
	ldm	lr, {r0, r1}
	stm	ip, {r0, r1}
	ldrb	r3, [fp, #-84]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L167
	mov	r3, #5
	str	r3, [fp, #-328]
	b	.L107
.L167:
	ldr	r3, [fp, #-100]
	cmp	r3, #1
	beq	.L168
	mov	r3, #6
	str	r3, [fp, #-328]
	b	.L107
.L168:
	ldrb	r3, [fp, #-92]
	strb	r3, [fp, #-329]
	ldr	r3, [fp, #-72]
	ldrb	r2, [fp, #-329]	@ zero_extendqisi2
	mov	r1, r2
	mov	r0, r3
	bl	sd_subr_table_get
	str	r0, [fp, #-172]
	str	r1, [fp, #-168]
	sub	r3, fp, #172
	ldmia	r3, {r2-r3}
	mvn	r0, #0
	mvn	r1, #0
	cmp	r3, r1
	cmpeq	r2, r0
	bne	.L169
	mov	r3, #7
	str	r3, [fp, #-328]
	b	.L107
.L169:
	sub	r3, fp, #172
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-52]
	str	r3, [fp, #-48]
	b	.L108
.L125:
	ldr	r2, [fp, #-76]
	sub	r3, fp, #372
	mov	r1, r2
	mov	r0, r3
	bl	sd_stack_pop
	sub	ip, fp, #100
	sub	lr, fp, #372
	ldmia	lr!, {r0, r1, r2, r3}
	stmia	ip!, {r0, r1, r2, r3}
	ldm	lr, {r0, r1}
	stm	ip, {r0, r1}
	ldrb	r3, [fp, #-84]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L170
	mov	r3, #5
	str	r3, [fp, #-328]
	b	.L107
.L170:
	ldr	r3, [fp, #-100]
	cmp	r3, #1
	beq	.L171
	mov	r3, #6
	str	r3, [fp, #-328]
	b	.L107
.L171:
	ldrb	r3, [fp, #-92]
	strb	r3, [fp, #-333]
	ldr	r2, [fp, #-76]
	sub	r3, fp, #372
	mov	r1, r2
	mov	r0, r3
	bl	sd_stack_pop
	sub	ip, fp, #100
	sub	lr, fp, #372
	ldmia	lr!, {r0, r1, r2, r3}
	stmia	ip!, {r0, r1, r2, r3}
	ldm	lr, {r0, r1}
	stm	ip, {r0, r1}
	ldrb	r3, [fp, #-84]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L172
	mov	r3, #5
	str	r3, [fp, #-328]
	b	.L107
.L172:
	ldr	r3, [fp, #-100]
	cmp	r3, #1
	beq	.L173
	mov	r3, #6
	str	r3, [fp, #-328]
	b	.L107
.L173:
	ldrb	r3, [fp, #-92]
	strb	r3, [fp, #-332]
	ldr	r2, [fp, #-76]
	sub	r3, fp, #372
	mov	r1, r2
	mov	r0, r3
	bl	sd_stack_pop
	sub	ip, fp, #100
	sub	lr, fp, #372
	ldmia	lr!, {r0, r1, r2, r3}
	stmia	ip!, {r0, r1, r2, r3}
	ldm	lr, {r0, r1}
	stm	ip, {r0, r1}
	ldrb	r3, [fp, #-84]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L174
	mov	r3, #5
	str	r3, [fp, #-328]
	b	.L107
.L174:
	ldr	r3, [fp, #-100]
	cmp	r3, #0
	beq	.L175
	mov	r3, #6
	str	r3, [fp, #-328]
	b	.L107
.L175:
	sub	r3, fp, #92
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-212]
	str	r3, [fp, #-208]
	sub	r3, fp, #212
	ldmia	r3, {r2-r3}
	orrs	r3, r2, r3
	bne	.L176
	ldrb	r3, [fp, #-333]	@ zero_extendqisi2
	b	.L177
.L176:
	ldrb	r3, [fp, #-332]	@ zero_extendqisi2
.L177:
	strb	r3, [fp, #-331]
	ldr	r1, [fp, #-68]
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	mov	r0, r1
	bl	sd_call_stack_push
	str	r0, [fp, #-328]
	ldr	r3, [fp, #-328]
	cmp	r3, #0
	bne	.L234
	ldr	r3, [fp, #-72]
	ldrb	r2, [fp, #-331]	@ zero_extendqisi2
	mov	r1, r2
	mov	r0, r3
	bl	sd_subr_table_get
	str	r0, [fp, #-204]
	str	r1, [fp, #-200]
	sub	r3, fp, #204
	ldmia	r3, {r2-r3}
	mvn	r0, #0
	mvn	r1, #0
	cmp	r3, r1
	cmpeq	r2, r0
	bne	.L179
	mov	r3, #7
	str	r3, [fp, #-328]
	b	.L107
.L179:
	sub	r3, fp, #204
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-52]
	str	r3, [fp, #-48]
	b	.L108
.L123:
	ldr	r2, [fp, #-76]
	sub	r3, fp, #372
	mov	r1, r2
	mov	r0, r3
	bl	sd_stack_pop
	sub	ip, fp, #100
	sub	lr, fp, #372
	ldmia	lr!, {r0, r1, r2, r3}
	stmia	ip!, {r0, r1, r2, r3}
	ldm	lr, {r0, r1}
	stm	ip, {r0, r1}
	ldrb	r3, [fp, #-84]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L180
	mov	r3, #5
	str	r3, [fp, #-328]
	b	.L107
.L180:
	sub	ip, fp, #116
	sub	r3, fp, #100
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	ldr	r2, [fp, #-76]
	sub	r3, fp, #372
	mov	r1, r2
	mov	r0, r3
	bl	sd_stack_pop
	sub	ip, fp, #100
	sub	lr, fp, #372
	ldmia	lr!, {r0, r1, r2, r3}
	stmia	ip!, {r0, r1, r2, r3}
	ldm	lr, {r0, r1}
	stm	ip, {r0, r1}
	ldrb	r3, [fp, #-84]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L182
	mov	r3, #5
	str	r3, [fp, #-328]
	b	.L181
.L182:
	sub	ip, fp, #132
	sub	r3, fp, #100
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	ldr	r2, [fp, #-76]
	sub	r3, fp, #372
	mov	r1, r2
	mov	r0, r3
	bl	sd_stack_pop
	sub	ip, fp, #100
	sub	lr, fp, #372
	ldmia	lr!, {r0, r1, r2, r3}
	stmia	ip!, {r0, r1, r2, r3}
	ldm	lr, {r0, r1}
	stm	ip, {r0, r1}
	ldrb	r3, [fp, #-84]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L183
	mov	r3, #5
	str	r3, [fp, #-328]
	b	.L181
.L183:
	ldr	r3, [fp, #-100]
	cmp	r3, #0
	beq	.L184
	mov	r3, #6
	str	r3, [fp, #-328]
	b	.L181
.L184:
	sub	r3, fp, #92
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-244]
	str	r3, [fp, #-240]
	sub	r3, fp, #244
	ldmia	r3, {r2-r3}
	orrs	r3, r2, r3
	bne	.L185
	sub	ip, fp, #148
	sub	r3, fp, #116
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	b	.L186
.L185:
	sub	ip, fp, #148
	sub	r3, fp, #132
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
.L186:
	ldr	r3, [fp, #-148]
	cmp	r3, #1
	bne	.L187
	ldr	r3, [fp, #-72]
	ldrb	r2, [fp, #-140]	@ zero_extendqisi2
	mov	r1, r2
	mov	r0, r3
	bl	sd_subr_table_get
	str	r0, [fp, #-236]
	str	r1, [fp, #-232]
	sub	r3, fp, #236
	ldmia	r3, {r2-r3}
	mvn	r0, #0
	mvn	r1, #0
	cmp	r3, r1
	cmpeq	r2, r0
	bne	.L188
	mov	r3, #7
	str	r3, [fp, #-328]
	b	.L181
.L188:
	sub	r3, fp, #236
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-52]
	str	r3, [fp, #-48]
	b	.L108
.L187:
	ldr	r3, [fp, #-148]
	cmp	r3, #0
	bne	.L190
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	sub	r3, fp, #140
	ldmia	r3, {r2-r3}
	adds	r8, r0, r2
	adc	r9, r1, r3
	str	r8, [fp, #-52]
	str	r9, [fp, #-48]
	b	.L211
.L190:
	mov	r3, #6
	str	r3, [fp, #-328]
	nop
.L181:
	b	.L104
.L120:
	ldr	r2, [fp, #-76]
	sub	r3, fp, #372
	mov	r1, r2
	mov	r0, r3
	bl	sd_stack_peek
	sub	ip, fp, #100
	sub	lr, fp, #372
	ldmia	lr!, {r0, r1, r2, r3}
	stmia	ip!, {r0, r1, r2, r3}
	ldm	lr, {r0, r1}
	stm	ip, {r0, r1}
	ldrb	r3, [fp, #-84]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L191
	mov	r3, #5
	str	r3, [fp, #-328]
	b	.L107
.L191:
	ldr	r3, [fp, #-100]
	cmp	r3, #0
	beq	.L192
	mov	r3, #6
	str	r3, [fp, #-328]
	b	.L107
.L192:
	ldr	r1, [fp, #-64]
	sub	r3, fp, #92
	ldmia	r3, {r2-r3}
	mov	r0, r1
	bl	sd_result_append
	str	r0, [fp, #-328]
	ldr	r3, [fp, #-328]
	cmp	r3, #0
	beq	.L235
	b	.L107
.L121:
	ldr	r2, [fp, #-76]
	sub	r3, fp, #372
	mov	r1, r2
	mov	r0, r3
	bl	sd_stack_pop
	b	.L108
.L117:
	ldr	r3, [fp, #-76]
	mov	r0, r3
	bl	sd_stack_duplicate
	b	.L108
.L128:
	ldr	r2, [fp, #-76]
	sub	r3, fp, #372
	mov	r1, r2
	mov	r0, r3
	bl	sd_stack_pop
	sub	ip, fp, #100
	sub	lr, fp, #372
	ldmia	lr!, {r0, r1, r2, r3}
	stmia	ip!, {r0, r1, r2, r3}
	ldm	lr, {r0, r1}
	stm	ip, {r0, r1}
	ldrb	r3, [fp, #-84]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L194
	mov	r3, #5
	str	r3, [fp, #-328]
	b	.L107
.L194:
	sub	ip, fp, #132
	sub	r3, fp, #100
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	ldr	r2, [fp, #-76]
	sub	r3, fp, #372
	mov	r1, r2
	mov	r0, r3
	bl	sd_stack_pop
	sub	ip, fp, #100
	sub	lr, fp, #372
	ldmia	lr!, {r0, r1, r2, r3}
	stmia	ip!, {r0, r1, r2, r3}
	ldm	lr, {r0, r1}
	stm	ip, {r0, r1}
	ldrb	r3, [fp, #-84]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L196
	mov	r3, #5
	str	r3, [fp, #-328]
	b	.L195
.L196:
	sub	ip, fp, #116
	sub	r3, fp, #100
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	ldr	r0, [fp, #-76]
	ldr	r1, [fp, #-132]
	sub	r3, fp, #124
	ldmia	r3, {r2-r3}
	bl	sd_stack_push
	str	r0, [fp, #-328]
	ldr	r3, [fp, #-328]
	cmp	r3, #0
	bne	.L236
	ldr	r0, [fp, #-76]
	ldr	r1, [fp, #-116]
	sub	r3, fp, #108
	ldmia	r3, {r2-r3}
	bl	sd_stack_push
	str	r0, [fp, #-328]
	ldr	r3, [fp, #-328]
	cmp	r3, #0
	beq	.L237
	b	.L195
.L236:
	nop
.L195:
	b	.L104
.L114:
	ldr	r3, [fp, #-76]
	ldr	r3, [r3]
	mov	r2, r3
	mov	r3, #0
	str	r2, [fp, #-316]
	str	r3, [fp, #-312]
	ldr	r0, [fp, #-76]
	sub	r3, fp, #316
	ldmia	r3, {r2-r3}
	mov	r1, #0
	bl	sd_stack_push
	str	r0, [fp, #-328]
	ldr	r3, [fp, #-328]
	cmp	r3, #0
	beq	.L238
	b	.L107
.L116:
	ldr	r2, [fp, #-76]
	sub	r3, fp, #372
	mov	r1, r2
	mov	r0, r3
	bl	sd_stack_pop
	sub	ip, fp, #100
	sub	lr, fp, #372
	ldmia	lr!, {r0, r1, r2, r3}
	stmia	ip!, {r0, r1, r2, r3}
	ldm	lr, {r0, r1}
	stm	ip, {r0, r1}
	ldrb	r3, [fp, #-84]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L200
	mov	r3, #5
	str	r3, [fp, #-328]
	b	.L107
.L200:
	ldr	r3, [fp, #-100]
	cmp	r3, #0
	beq	.L201
	mov	r3, #6
	str	r3, [fp, #-328]
	b	.L107
.L201:
	sub	r3, fp, #92
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-300]
	str	r3, [fp, #-296]
	ldr	r1, [fp, #-76]
	sub	r3, fp, #300
	ldmia	r3, {r2-r3}
	mov	r0, r1
	bl	sd_stack_duplicate_at
	str	r0, [fp, #-328]
	ldr	r3, [fp, #-328]
	cmp	r3, #0
	beq	.L239
	b	.L107
.L115:
	ldr	r2, [fp, #-76]
	sub	r3, fp, #372
	mov	r1, r2
	mov	r0, r3
	bl	sd_stack_pop
	sub	ip, fp, #100
	sub	lr, fp, #372
	ldmia	lr!, {r0, r1, r2, r3}
	stmia	ip!, {r0, r1, r2, r3}
	ldm	lr, {r0, r1}
	stm	ip, {r0, r1}
	ldrb	r3, [fp, #-84]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L203
	mov	r3, #5
	str	r3, [fp, #-328]
	b	.L107
.L244:
	.align	2
.L243:
	.word	.LC5
	.word	.LC0
	.word	.LC1
	.word	.LC2
	.word	.LC3
	.word	.LC4
	.word	.LC5
.L203:
	sub	ip, fp, #116
	sub	r3, fp, #100
	ldm	r3, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	ldr	r2, [fp, #-76]
	sub	r3, fp, #372
	mov	r1, r2
	mov	r0, r3
	bl	sd_stack_pop
	sub	ip, fp, #100
	sub	lr, fp, #372
	ldmia	lr!, {r0, r1, r2, r3}
	stmia	ip!, {r0, r1, r2, r3}
	ldm	lr, {r0, r1}
	stm	ip, {r0, r1}
	ldrb	r3, [fp, #-84]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L205
	mov	r3, #5
	str	r3, [fp, #-328]
	b	.L204
.L205:
	ldr	r3, [fp, #-100]
	cmp	r3, #0
	beq	.L206
	mov	r3, #6
	str	r3, [fp, #-328]
	b	.L204
.L206:
	sub	r3, fp, #92
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-308]
	str	r3, [fp, #-304]
	ldr	r0, [fp, #-76]
	ldr	r1, [fp, #-116]
	sub	r3, fp, #108
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	str	r1, [sp]
	sub	r3, fp, #308
	ldmia	r3, {r2-r3}
	bl	sd_stack_replace_at
	str	r0, [fp, #-328]
	ldr	r3, [fp, #-328]
	cmp	r3, #0
	beq	.L240
	nop
.L204:
	b	.L104
.L118:
	ldr	r2, [fp, #-76]
	sub	r3, fp, #372
	mov	r1, r2
	mov	r0, r3
	bl	sd_stack_pop
	sub	ip, fp, #100
	sub	lr, fp, #372
	ldmia	lr!, {r0, r1, r2, r3}
	stmia	ip!, {r0, r1, r2, r3}
	ldm	lr, {r0, r1}
	stm	ip, {r0, r1}
	ldrb	r3, [fp, #-84]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L208
	mov	r3, #5
	str	r3, [fp, #-328]
	b	.L107
.L208:
	ldr	r3, [fp, #-100]
	cmp	r3, #0
	beq	.L209
	mov	r3, #6
	str	r3, [fp, #-328]
	b	.L107
.L209:
	sub	r3, fp, #92
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-292]
	str	r3, [fp, #-288]
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-284]
	str	r3, [fp, #-280]
	sub	r3, fp, #292
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-44]
	str	r3, [fp, #-40]
	ldr	r0, [fp, #-76]
	sub	r3, fp, #284
	ldmia	r3, {r2-r3}
	mov	r1, #0
	bl	sd_stack_push
	str	r0, [fp, #-328]
	ldr	r3, [fp, #-328]
	cmp	r3, #0
	beq	.L241
	b	.L107
.L126:
	mov	r3, #2
	str	r3, [fp, #-328]
	b	.L107
.L223:
	nop
	b	.L108
.L224:
	nop
	b	.L108
.L226:
	nop
	b	.L108
.L227:
	nop
	b	.L108
.L228:
	nop
	b	.L108
.L229:
	nop
	b	.L108
.L230:
	nop
	b	.L108
.L231:
	nop
	b	.L108
.L232:
	nop
	b	.L108
.L235:
	nop
	b	.L108
.L237:
	nop
	b	.L108
.L238:
	nop
	b	.L108
.L239:
	nop
	b	.L108
.L240:
	nop
	b	.L108
.L241:
	nop
.L108:
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	adds	r1, r2, #1
	str	r1, [fp, #-396]
	adc	r3, r3, #0
	str	r3, [fp, #-392]
	sub	r4, fp, #396
	ldmia	r4, {r3-r4}
	str	r3, [fp, #-52]
	str	r4, [fp, #-48]
.L162:
	b	.L211
.L225:
	nop
	b	.L104
.L233:
	nop
	b	.L104
.L234:
	nop
.L107:
	b	.L104
.L222:
	nop
.L104:
	ldr	r3, [fp, #-328]
	cmp	r3, #0
	beq	.L242
	ldr	r3, [fp, #-328]
	cmp	r3, #2
	beq	.L242
	ldr	r3, [fp, #-328]
	cmp	r3, #7
	ldrls	pc, [pc, r3, asl #2]
	b	.L212
.L214:
	.word	.L212
	.word	.L212
	.word	.L212
	.word	.L218
	.word	.L217
	.word	.L216
	.word	.L215
	.word	.L213
.L217:
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	ldr	r0, .L243+4
	bl	printf
	b	.L212
.L216:
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	ldr	r0, .L243+8
	bl	printf
	b	.L212
.L215:
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	ldr	r0, .L243+12
	bl	printf
	b	.L212
.L213:
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	ldr	r0, .L243+16
	bl	printf
	b	.L212
.L218:
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	ldr	r0, .L243+20
	bl	printf
	b	.L212
.L242:
	nop
.L212:
	ldr	r3, [fp, #-64]
	mov	r0, r3
	bl	sd_result_print
	sub	r3, fp, #76
	mov	r0, r3
	bl	sd_vm_deinit
	mov	r3, #0
	ldr	r2, .L243+24
	ldr	r1, [r2]
	ldr	r2, [fp, #-32]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L221
	bl	__stack_chk_fail
.L221:
	mov	r0, r3
	sub	sp, fp, #24
	@ sp needed
	pop	{r4, r6, r7, r8, r9, fp, pc}
	.size	sd_run, .-sd_run
	.section	.rodata
	.align	2
.LC6:
	.ascii	"Usage: %s program\012\000"
	.align	2
.LC7:
	.ascii	"-\000"
	.align	2
.LC8:
	.ascii	"r\000"
	.align	2
.LC9:
	.ascii	"error: could not open input file: %s\012\000"
	.align	2
.LC10:
	.ascii	"error: could not allocate memory\000"
	.align	2
.LC11:
	.ascii	"error: could not read input file: %s\012\000"
	.text
	.align	2
	.global	main
	.syntax unified
	.arm
	.fpu softvfp
	.type	main, %function
main:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	ldr	r3, [fp, #-32]
	cmp	r3, #1
	bne	.L246
	ldr	r3, [fp, #-36]
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L257
	bl	printf
	mov	r3, #1
	b	.L247
.L246:
	ldr	r3, [fp, #-36]
	add	r3, r3, #4
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L257+4
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L248
	ldr	r3, .L257+8
	ldr	r3, [r3]
	str	r3, [fp, #-28]
	b	.L249
.L248:
	ldr	r3, [fp, #-36]
	add	r3, r3, #4
	ldr	r3, [r3]
	ldr	r1, .L257+12
	mov	r0, r3
	bl	fopen
	str	r0, [fp, #-28]
.L249:
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	bne	.L250
	bl	__errno_location
	mov	r3, r0
	ldr	r3, [r3]
	mov	r0, r3
	bl	strerror
	mov	r3, r0
	mov	r1, r3
	ldr	r0, .L257+16
	bl	printf
	mov	r3, #2
	b	.L247
.L250:
	ldr	r3, .L257+8
	ldr	r3, [r3]
	ldr	r2, [fp, #-28]
	cmp	r2, r3
	bne	.L251
	mov	r3, #16384
	str	r3, [fp, #-24]
	b	.L252
.L251:
	mov	r2, #2
	mov	r1, #0
	ldr	r0, [fp, #-28]
	bl	fseek
	ldr	r0, [fp, #-28]
	bl	ftell
	str	r0, [fp, #-24]
	ldr	r0, [fp, #-28]
	bl	rewind
.L252:
	ldr	r3, [fp, #-24]
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L253
	ldr	r0, .L257+20
	bl	puts
	mov	r3, #3
	b	.L247
.L253:
	mov	r3, #0
	str	r3, [fp, #-20]
.L255:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-20]
	add	r0, r2, r3
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-20]
	sub	r3, r2, r3
	add	r2, r3, #1
	ldr	r3, [fp, #-28]
	mov	r1, #1
	bl	fread
	str	r0, [fp, #-12]
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-12]
	add	r3, r2, r3
	str	r3, [fp, #-20]
	ldr	r0, [fp, #-28]
	bl	feof
	mov	r3, r0
	cmp	r3, #0
	bne	.L254
	ldr	r0, [fp, #-28]
	bl	ferror
	mov	r3, r0
	cmp	r3, #0
	beq	.L255
.L254:
	ldr	r0, [fp, #-28]
	bl	feof
	mov	r3, r0
	cmp	r3, #0
	bne	.L256
	ldr	r0, [fp, #-28]
	bl	ferror
	mov	r3, r0
	cmp	r3, #0
	beq	.L256
	ldr	r0, [fp, #-28]
	bl	ferror
	str	r0, [fp, #-8]
	ldr	r0, [fp, #-8]
	bl	strerror
	mov	r3, r0
	mov	r1, r3
	ldr	r0, .L257+24
	bl	printf
	mov	r3, #4
	b	.L247
.L256:
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	sd_run
	mov	r3, #0
.L247:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L258:
	.align	2
.L257:
	.word	.LC6
	.word	.LC7
	.word	stdin
	.word	.LC8
	.word	.LC9
	.word	.LC10
	.word	.LC11
	.size	main, .-main
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
