	.file	"740124.c"
	.intel_syntax noprefix
	.text
	.globl	dr_strcpy_s
	.type	dr_strcpy_s, @function
dr_strcpy_s:
.LFB0:
	.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	QWORD PTR -40[rbp], rdx
	cmp	QWORD PTR -24[rbp], 0
	jne	.L2
	mov	eax, 22
	jmp	.L3
.L2:
	cmp	QWORD PTR -32[rbp], 0
	jne	.L4
	mov	eax, 34
	jmp	.L3
.L4:
	cmp	QWORD PTR -40[rbp], 0
	jne	.L5
	mov	rax, QWORD PTR -24[rbp]
	mov	BYTE PTR [rax], 0
	mov	eax, 22
	jmp	.L3
.L5:
	mov	QWORD PTR -8[rbp], 0
	jmp	.L6
.L8:
	mov	rdx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rdx
	mov	rcx, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	add	rdx, rcx
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR [rdx], al
	add	QWORD PTR -8[rbp], 1
.L6:
	mov	rax, QWORD PTR -8[rbp]
	cmp	rax, QWORD PTR -32[rbp]
	jnb	.L7
	mov	rdx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L8
.L7:
	mov	rax, QWORD PTR -8[rbp]
	cmp	rax, QWORD PTR -32[rbp]
	jnb	.L9
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rdx
	mov	BYTE PTR [rax], 0
	mov	eax, 0
	jmp	.L3
.L9:
	mov	rax, QWORD PTR -24[rbp]
	mov	BYTE PTR [rax], 0
	mov	eax, 34
.L3:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE0:
	.size	dr_strcpy_s, .-dr_strcpy_s
	.globl	dr_strncpy_s
	.type	dr_strncpy_s, @function
dr_strncpy_s:
.LFB1:
	.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	QWORD PTR -40[rbp], rdx
	mov	QWORD PTR -48[rbp], rcx
	cmp	QWORD PTR -24[rbp], 0
	jne	.L11
	mov	eax, 22
	jmp	.L12
.L11:
	cmp	QWORD PTR -32[rbp], 0
	jne	.L13
	mov	eax, 34
	jmp	.L12
.L13:
	cmp	QWORD PTR -40[rbp], 0
	jne	.L14
	mov	rax, QWORD PTR -24[rbp]
	mov	BYTE PTR [rax], 0
	mov	eax, 22
	jmp	.L12
.L14:
	mov	rax, QWORD PTR -48[rbp]
	mov	QWORD PTR -16[rbp], rax
	cmp	QWORD PTR -48[rbp], -1
	je	.L15
	mov	rax, QWORD PTR -48[rbp]
	cmp	rax, QWORD PTR -32[rbp]
	jb	.L16
.L15:
	mov	rax, QWORD PTR -32[rbp]
	sub	rax, 1
	mov	QWORD PTR -16[rbp], rax
.L16:
	mov	QWORD PTR -8[rbp], 0
	jmp	.L17
.L19:
	mov	rdx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rdx
	mov	rcx, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -8[rbp]
	add	rdx, rcx
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR [rdx], al
	add	QWORD PTR -8[rbp], 1
.L17:
	mov	rax, QWORD PTR -8[rbp]
	cmp	rax, QWORD PTR -16[rbp]
	jnb	.L18
	mov	rdx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L19
.L18:
	mov	rdx, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L20
	mov	rax, QWORD PTR -8[rbp]
	cmp	rax, QWORD PTR -48[rbp]
	je	.L20
	cmp	QWORD PTR -48[rbp], -1
	jne	.L21
.L20:
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rdx
	mov	BYTE PTR [rax], 0
	mov	eax, 0
	jmp	.L12
.L21:
	mov	rax, QWORD PTR -24[rbp]
	mov	BYTE PTR [rax], 0
	mov	eax, 34
.L12:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE1:
	.size	dr_strncpy_s, .-dr_strncpy_s
	.globl	dr_strcat_s
	.type	dr_strcat_s, @function
dr_strcat_s:
.LFB2:
	.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	QWORD PTR -40[rbp], rdx
	cmp	QWORD PTR -24[rbp], 0
	jne	.L23
	mov	eax, 22
	jmp	.L24
.L23:
	cmp	QWORD PTR -32[rbp], 0
	jne	.L25
	mov	eax, 34
	jmp	.L24
.L25:
	cmp	QWORD PTR -40[rbp], 0
	jne	.L26
	mov	rax, QWORD PTR -24[rbp]
	mov	BYTE PTR [rax], 0
	mov	eax, 22
	jmp	.L24
.L26:
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR -8[rbp], rax
	jmp	.L27
.L29:
	add	QWORD PTR -24[rbp], 1
	sub	QWORD PTR -32[rbp], 1
.L27:
	cmp	QWORD PTR -32[rbp], 0
	je	.L28
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L29
.L28:
	cmp	QWORD PTR -32[rbp], 0
	jne	.L31
	mov	eax, 22
	jmp	.L24
.L33:
	mov	rdx, QWORD PTR -40[rbp]
	lea	rax, 1[rdx]
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	lea	rcx, 1[rax]
	mov	QWORD PTR -24[rbp], rcx
	movzx	edx, BYTE PTR [rdx]
	mov	BYTE PTR [rax], dl
	sub	QWORD PTR -32[rbp], 1
.L31:
	cmp	QWORD PTR -32[rbp], 0
	je	.L32
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L33
.L32:
	cmp	QWORD PTR -32[rbp], 0
	je	.L34
	mov	rax, QWORD PTR -24[rbp]
	mov	BYTE PTR [rax], 0
	mov	eax, 0
	jmp	.L24
.L34:
	mov	rax, QWORD PTR -8[rbp]
	mov	BYTE PTR [rax], 0
	mov	eax, 34
.L24:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE2:
	.size	dr_strcat_s, .-dr_strcat_s
	.globl	dr_strncat_s
	.type	dr_strncat_s, @function
dr_strncat_s:
.LFB3:
	.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	QWORD PTR -40[rbp], rdx
	mov	QWORD PTR -48[rbp], rcx
	cmp	QWORD PTR -24[rbp], 0
	jne	.L37
	mov	eax, 22
	jmp	.L38
.L37:
	cmp	QWORD PTR -32[rbp], 0
	jne	.L39
	mov	eax, 34
	jmp	.L38
.L39:
	cmp	QWORD PTR -40[rbp], 0
	jne	.L40
	mov	eax, 22
	jmp	.L38
.L40:
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR -8[rbp], rax
	jmp	.L41
.L43:
	add	QWORD PTR -24[rbp], 1
	sub	QWORD PTR -32[rbp], 1
.L41:
	cmp	QWORD PTR -32[rbp], 0
	je	.L42
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L43
.L42:
	cmp	QWORD PTR -32[rbp], 0
	jne	.L44
	mov	eax, 22
	jmp	.L38
.L44:
	cmp	QWORD PTR -48[rbp], -1
	jne	.L46
	mov	rax, QWORD PTR -32[rbp]
	sub	rax, 1
	mov	QWORD PTR -48[rbp], rax
	jmp	.L46
.L48:
	mov	rdx, QWORD PTR -40[rbp]
	lea	rax, 1[rdx]
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	lea	rcx, 1[rax]
	mov	QWORD PTR -24[rbp], rcx
	movzx	edx, BYTE PTR [rdx]
	mov	BYTE PTR [rax], dl
	sub	QWORD PTR -32[rbp], 1
	sub	QWORD PTR -48[rbp], 1
.L46:
	cmp	QWORD PTR -32[rbp], 0
	je	.L47
	mov	rax, QWORD PTR -40[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L47
	cmp	QWORD PTR -48[rbp], 0
	jne	.L48
.L47:
	cmp	QWORD PTR -32[rbp], 0
	je	.L49
	mov	rax, QWORD PTR -24[rbp]
	mov	BYTE PTR [rax], 0
	mov	eax, 0
	jmp	.L38
.L49:
	mov	rax, QWORD PTR -8[rbp]
	mov	BYTE PTR [rax], 0
	mov	eax, 34
.L38:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE3:
	.size	dr_strncat_s, .-dr_strncat_s
	.section	.rodata
.LC0:
	.string	"/"
	.text
	.globl	dr_append_path
	.type	dr_append_path, @function
dr_append_path:
.LFB4:
	.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	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	mov	QWORD PTR -48[rbp], rcx
	cmp	QWORD PTR -24[rbp], 0
	jne	.L52
	mov	eax, -1
	jmp	.L53
.L52:
	cmp	QWORD PTR -40[rbp], 0
	je	.L54
	cmp	QWORD PTR -48[rbp], 0
	jne	.L55
.L54:
	mov	eax, -1
	jmp	.L53
.L55:
	mov	rdx, QWORD PTR -40[rbp]
	mov	rcx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	dr_strcpy_s
	mov	DWORD PTR -12[rbp], eax
	cmp	DWORD PTR -12[rbp], 0
	je	.L56
	mov	eax, DWORD PTR -12[rbp]
	jmp	.L53
.L56:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	je	.L57
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, -1[rax]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 47
	je	.L57
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, -1[rax]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	cmp	al, 92
	je	.L57
	mov	rcx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, .LC0[rip]
	mov	rsi, rcx
	mov	rdi, rax
	call	dr_strcat_s
	mov	DWORD PTR -12[rbp], eax
	cmp	DWORD PTR -12[rbp], 0
	je	.L58
	mov	rax, QWORD PTR -24[rbp]
	mov	BYTE PTR [rax], 0
	mov	eax, DWORD PTR -12[rbp]
	jmp	.L53
.L58:
	add	QWORD PTR -8[rbp], 1
.L57:
	mov	rdx, QWORD PTR -48[rbp]
	mov	rcx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	dr_strcat_s
	mov	DWORD PTR -12[rbp], eax
	cmp	DWORD PTR -12[rbp], 0
	je	.L59
	mov	rax, QWORD PTR -24[rbp]
	mov	BYTE PTR [rax], 0
	mov	eax, DWORD PTR -12[rbp]
	jmp	.L53
.L59:
	mov	eax, 0
.L53:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE4:
	.size	dr_append_path, .-dr_append_path
	.globl	dr_path_file_name
	.type	dr_path_file_name, @function
dr_path_file_name:
.LFB5:
	.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	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -24[rbp], 0
	jne	.L63
	mov	eax, 0
	jmp	.L62
.L66:
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 47
	je	.L64
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 92
	jne	.L65
.L64:
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR -8[rbp], rax
.L65:
	add	QWORD PTR -24[rbp], 1
.L63:
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L66
	jmp	.L67
.L69:
	add	QWORD PTR -8[rbp], 1
.L67:
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	je	.L68
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 47
	je	.L69
	mov	rax, QWORD PTR -8[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 92
	je	.L69
.L68:
	mov	rax, QWORD PTR -8[rbp]
.L62:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE5:
	.size	dr_path_file_name, .-dr_path_file_name
	.globl	dr_extension
	.type	dr_extension, @function
dr_extension:
.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 -24[rbp], rdi
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR -16[rbp], rax
	mov	QWORD PTR -8[rbp], 0
	cmp	QWORD PTR -24[rbp], 0
	jne	.L73
	mov	eax, 0
	jmp	.L72
.L75:
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 46
	jne	.L74
	add	QWORD PTR -16[rbp], 1
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR -8[rbp], rax
.L74:
	add	QWORD PTR -16[rbp], 1
.L73:
	mov	rax, QWORD PTR -16[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L75
	cmp	QWORD PTR -8[rbp], 0
	je	.L76
	mov	rax, QWORD PTR -8[rbp]
	jmp	.L72
.L76:
	mov	rax, QWORD PTR -16[rbp]
.L72:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE6:
	.size	dr_extension, .-dr_extension
	.globl	dr_extension_equal
	.type	dr_extension_equal, @function
dr_extension_equal:
.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, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	cmp	QWORD PTR -24[rbp], 0
	je	.L79
	cmp	QWORD PTR -32[rbp], 0
	jne	.L80
.L79:
	mov	eax, 0
	jmp	.L81
.L80:
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	dr_extension
	mov	QWORD PTR -8[rbp], rax
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcasecmp@PLT
	test	eax, eax
	sete	al
	movzx	eax, al
.L81:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE7:
	.size	dr_extension_equal, .-dr_extension_equal
	.section	.rodata
.LC1:
	.string	"."
.LC2:
	.string	".."
	.text
	.globl	dr_file_iterator_begin
	.type	dr_file_iterator_begin, @function
dr_file_iterator_begin:
.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, 4096
	or	QWORD PTR [rsp], 0
	sub	rsp, 192
	mov	QWORD PTR -4280[rbp], rdi
	mov	QWORD PTR -4288[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	cmp	QWORD PTR -4288[rbp], 0
	jne	.L83
	mov	eax, 0
	jmp	.L84
.L83:
	mov	rax, QWORD PTR -4288[rbp]
	mov	edx, 784
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	cmp	QWORD PTR -4280[rbp], 0
	jne	.L85
	mov	eax, 0
	jmp	.L84
.L85:
	mov	rax, QWORD PTR -4280[rbp]
	mov	rdi, rax
	call	opendir@PLT
	mov	QWORD PTR -4272[rbp], rax
	cmp	QWORD PTR -4272[rbp], 0
	jne	.L86
	mov	eax, 0
	jmp	.L84
.L86:
	mov	rax, QWORD PTR -4272[rbp]
	mov	rdi, rax
	call	readdir@PLT
	mov	QWORD PTR -4264[rbp], rax
	cmp	QWORD PTR -4264[rbp], 0
	jne	.L87
	mov	rax, QWORD PTR -4272[rbp]
	mov	rdi, rax
	call	closedir@PLT
	mov	eax, 0
	jmp	.L84
.L87:
	mov	rax, QWORD PTR -4264[rbp]
	add	rax, 19
	lea	rsi, .LC1[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	je	.L95
	mov	rax, QWORD PTR -4264[rbp]
	add	rax, 19
	lea	rsi, .LC2[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	je	.L95
	mov	rax, QWORD PTR -4264[rbp]
	lea	rdx, 19[rax]
	mov	rax, QWORD PTR -4288[rbp]
	add	rax, 256
	mov	esi, 256
	mov	rdi, rax
	call	dr_strcpy_s
	mov	rax, QWORD PTR -4288[rbp]
	lea	rcx, 256[rax]
	mov	rdx, QWORD PTR -4280[rbp]
	lea	rax, -4112[rbp]
	mov	esi, 4096
	mov	rdi, rax
	call	dr_append_path
	lea	rdx, -4256[rbp]
	lea	rax, -4112[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	stat@PLT
	test	eax, eax
	jne	.L96
	mov	eax, DWORD PTR -4232[rbp]
	and	eax, 61440
	cmp	eax, 16384
	jne	.L92
	mov	rax, QWORD PTR -4288[rbp]
	mov	DWORD PTR 768[rax], 1
	jmp	.L93
.L92:
	mov	rax, QWORD PTR -4288[rbp]
	mov	DWORD PTR 768[rax], 0
.L93:
	mov	rax, QWORD PTR -4288[rbp]
	mov	rdx, QWORD PTR -4272[rbp]
	mov	QWORD PTR 776[rax], rdx
	mov	rax, QWORD PTR -4288[rbp]
	mov	rdx, QWORD PTR -4280[rbp]
	mov	esi, 256
	mov	rdi, rax
	call	dr_strcpy_s
	mov	rax, QWORD PTR -4288[rbp]
	lea	rdx, 256[rax]
	mov	rax, QWORD PTR -4288[rbp]
	mov	rcx, QWORD PTR -4288[rbp]
	lea	rdi, 512[rcx]
	mov	rcx, rdx
	mov	rdx, rax
	mov	esi, 256
	call	dr_append_path
	mov	rax, QWORD PTR -4288[rbp]
	jmp	.L84
.L95:
	nop
	jmp	.L86
.L96:
	nop
	jmp	.L86
.L84:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L94
	call	__stack_chk_fail@PLT
.L94:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE8:
	.size	dr_file_iterator_begin, .-dr_file_iterator_begin
	.globl	dr_file_iterator_next
	.type	dr_file_iterator_next, @function
dr_file_iterator_next:
.LFB9:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 4096
	or	QWORD PTR [rsp], 0
	sub	rsp, 192
	mov	QWORD PTR -4280[rbp], rdi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	cmp	QWORD PTR -4280[rbp], 0
	jne	.L98
	mov	eax, 0
	jmp	.L99
.L98:
	mov	rax, QWORD PTR -4280[rbp]
	mov	rax, QWORD PTR 776[rax]
	mov	rdi, rax
	call	readdir@PLT
	mov	QWORD PTR -4264[rbp], rax
	cmp	QWORD PTR -4264[rbp], 0
	jne	.L100
	mov	rax, QWORD PTR -4280[rbp]
	mov	rax, QWORD PTR 776[rax]
	mov	rdi, rax
	call	closedir@PLT
	mov	rax, QWORD PTR -4280[rbp]
	mov	QWORD PTR 776[rax], 0
	mov	eax, 0
	jmp	.L99
.L100:
	mov	rax, QWORD PTR -4264[rbp]
	add	rax, 19
	lea	rsi, .LC1[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	je	.L108
	mov	rax, QWORD PTR -4264[rbp]
	add	rax, 19
	lea	rsi, .LC2[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	je	.L108
	mov	rax, QWORD PTR -4264[rbp]
	lea	rdx, 19[rax]
	mov	rax, QWORD PTR -4280[rbp]
	add	rax, 256
	mov	esi, 256
	mov	rdi, rax
	call	dr_strcpy_s
	mov	rax, QWORD PTR -4280[rbp]
	lea	rcx, 256[rax]
	mov	rdx, QWORD PTR -4280[rbp]
	lea	rax, -4112[rbp]
	mov	esi, 4096
	mov	rdi, rax
	call	dr_append_path
	lea	rdx, -4256[rbp]
	lea	rax, -4112[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	stat@PLT
	test	eax, eax
	jne	.L109
	mov	eax, DWORD PTR -4232[rbp]
	and	eax, 61440
	cmp	eax, 16384
	jne	.L105
	mov	rax, QWORD PTR -4280[rbp]
	mov	DWORD PTR 768[rax], 1
	jmp	.L106
.L105:
	mov	rax, QWORD PTR -4280[rbp]
	mov	DWORD PTR 768[rax], 0
.L106:
	mov	rax, QWORD PTR -4280[rbp]
	lea	rdx, 256[rax]
	mov	rax, QWORD PTR -4280[rbp]
	mov	rcx, QWORD PTR -4280[rbp]
	lea	rdi, 512[rcx]
	mov	rcx, rdx
	mov	rdx, rax
	mov	esi, 256
	call	dr_append_path
	mov	rax, QWORD PTR -4280[rbp]
	jmp	.L99
.L108:
	nop
	jmp	.L98
.L109:
	nop
	jmp	.L98
.L99:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L107
	call	__stack_chk_fail@PLT
.L107:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE9:
	.size	dr_file_iterator_next, .-dr_file_iterator_next
	.globl	dr_file_iterator_end
	.type	dr_file_iterator_end, @function
dr_file_iterator_end:
.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
	cmp	QWORD PTR -8[rbp], 0
	je	.L113
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR 776[rax]
	mov	rdi, rax
	call	closedir@PLT
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR 776[rax], 0
	jmp	.L110
.L113:
	nop
.L110:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE10:
	.size	dr_file_iterator_end, .-dr_file_iterator_end
	.type	dr_fopen, @function
dr_fopen:
.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 -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	QWORD PTR -24[rbp], rdx
	cmp	QWORD PTR -8[rbp], 0
	je	.L115
	mov	rax, QWORD PTR -8[rbp]
	mov	QWORD PTR [rax], 0
.L115:
	cmp	QWORD PTR -16[rbp], 0
	je	.L116
	cmp	QWORD PTR -24[rbp], 0
	je	.L116
	cmp	QWORD PTR -8[rbp], 0
	jne	.L117
.L116:
	mov	eax, -1
	jmp	.L118
.L117:
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	fopen@PLT
	mov	rdx, QWORD PTR -8[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR [rax]
	test	rax, rax
	jne	.L119
	call	__errno_location@PLT
	mov	eax, DWORD PTR [rax]
	jmp	.L118
.L119:
	mov	eax, 0
.L118:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE11:
	.size	dr_fopen, .-dr_fopen
	.section	.rodata
.LC3:
	.string	"rb"
	.text
	.globl	dr_open_and_read_file_with_extra_data
	.type	dr_open_and_read_file_with_extra_data, @function
dr_open_and_read_file_with_extra_data:
.LFB12:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 80
	mov	QWORD PTR -56[rbp], rdi
	mov	QWORD PTR -64[rbp], rsi
	mov	QWORD PTR -72[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	cmp	QWORD PTR -64[rbp], 0
	je	.L121
	mov	rax, QWORD PTR -64[rbp]
	mov	QWORD PTR [rax], 0
.L121:
	cmp	QWORD PTR -56[rbp], 0
	jne	.L122
	mov	eax, 0
	jmp	.L128
.L122:
	mov	rcx, QWORD PTR -56[rbp]
	lea	rax, -40[rbp]
	lea	rdx, .LC3[rip]
	mov	rsi, rcx
	mov	rdi, rax
	call	dr_fopen
	test	eax, eax
	je	.L124
	mov	eax, 0
	jmp	.L128
.L124:
	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	edx, 0
	mov	esi, 0
	mov	rdi, rax
	call	fseek@PLT
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -72[rbp]
	add	rax, rdx
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -24[rbp], rax
	cmp	QWORD PTR -24[rbp], 0
	jne	.L125
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	fclose@PLT
	mov	eax, 0
	jmp	.L128
.L125:
	mov	rcx, QWORD PTR -40[rbp]
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, 1
	mov	rdi, rax
	call	fread@PLT
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	cmp	rax, QWORD PTR -32[rbp]
	je	.L126
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	fclose@PLT
	mov	eax, 0
	jmp	.L128
.L126:
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	fclose@PLT
	cmp	QWORD PTR -64[rbp], 0
	je	.L127
	mov	rax, QWORD PTR -64[rbp]
	mov	rdx, QWORD PTR -32[rbp]
	mov	QWORD PTR [rax], rdx
.L127:
	mov	rax, QWORD PTR -24[rbp]
.L128:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L129
	call	__stack_chk_fail@PLT
.L129:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE12:
	.size	dr_open_and_read_file_with_extra_data, .-dr_open_and_read_file_with_extra_data
	.globl	dr_open_and_read_file
	.type	dr_open_and_read_file, @function
dr_open_and_read_file:
.LFB13:
	.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	QWORD PTR -16[rbp], rsi
	mov	rcx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, 0
	mov	rsi, rcx
	mov	rdi, rax
	call	dr_open_and_read_file_with_extra_data
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE13:
	.size	dr_open_and_read_file, .-dr_open_and_read_file
	.globl	dr_argv_is_set
	.type	dr_argv_is_set, @function
dr_argv_is_set:
.LFB14:
	.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	DWORD PTR -20[rbp], edi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	mov	DWORD PTR -4[rbp], 0
	jmp	.L133
.L136:
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdx, QWORD PTR -40[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L134
	mov	eax, 1
	jmp	.L135
.L134:
	add	DWORD PTR -4[rbp], 1
.L133:
	mov	eax, DWORD PTR -4[rbp]
	cmp	eax, DWORD PTR -20[rbp]
	jl	.L136
	mov	eax, 0
.L135:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE14:
	.size	dr_argv_is_set, .-dr_argv_is_set
	.section	.rodata
.LC4:
	.string	"%s"
	.text
	.globl	dr_vprintf_fixed
	.type	dr_vprintf_fixed, @function
dr_vprintf_fixed:
.LFB15:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 4096
	or	QWORD PTR [rsp], 0
	sub	rsp, 64
	mov	DWORD PTR -4132[rbp], edi
	mov	QWORD PTR -4144[rbp], rsi
	mov	QWORD PTR -4152[rbp], rdx
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	cmp	DWORD PTR -4132[rbp], 0
	jg	.L138
	mov	eax, -1
	jmp	.L143
.L138:
	mov	eax, DWORD PTR -4132[rbp]
	cmp	eax, 4096
	jbe	.L140
	mov	eax, -1
	jmp	.L143
.L140:
	mov	eax, DWORD PTR -4132[rbp]
	add	eax, 1
	movsx	rsi, eax
	mov	rcx, QWORD PTR -4152[rbp]
	mov	rdx, QWORD PTR -4144[rbp]
	lea	rax, -4112[rbp]
	mov	rdi, rax
	call	vsnprintf@PLT
	mov	DWORD PTR -4116[rbp], eax
	lea	rax, -4112[rbp]
	mov	rsi, rax
	lea	rdi, .LC4[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, DWORD PTR -4116[rbp]
	mov	DWORD PTR -4120[rbp], eax
	jmp	.L141
.L142:
	mov	edi, 32
	call	putchar@PLT
	add	DWORD PTR -4120[rbp], 1
.L141:
	mov	eax, DWORD PTR -4120[rbp]
	cmp	eax, DWORD PTR -4132[rbp]
	jl	.L142
	mov	eax, DWORD PTR -4116[rbp]
.L143:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L144
	call	__stack_chk_fail@PLT
.L144:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE15:
	.size	dr_vprintf_fixed, .-dr_vprintf_fixed
	.globl	dr_printf_fixed
	.type	dr_printf_fixed, @function
dr_printf_fixed:
.LFB16:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 240
	mov	DWORD PTR -228[rbp], edi
	mov	QWORD PTR -240[rbp], rsi
	mov	QWORD PTR -160[rbp], rdx
	mov	QWORD PTR -152[rbp], rcx
	mov	QWORD PTR -144[rbp], r8
	mov	QWORD PTR -136[rbp], r9
	test	al, al
	je	.L146
	movaps	XMMWORD PTR -128[rbp], xmm0
	movaps	XMMWORD PTR -112[rbp], xmm1
	movaps	XMMWORD PTR -96[rbp], xmm2
	movaps	XMMWORD PTR -80[rbp], xmm3
	movaps	XMMWORD PTR -64[rbp], xmm4
	movaps	XMMWORD PTR -48[rbp], xmm5
	movaps	XMMWORD PTR -32[rbp], xmm6
	movaps	XMMWORD PTR -16[rbp], xmm7
.L146:
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -184[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -208[rbp], 16
	mov	DWORD PTR -204[rbp], 48
	lea	rax, 16[rbp]
	mov	QWORD PTR -200[rbp], rax
	lea	rax, -176[rbp]
	mov	QWORD PTR -192[rbp], rax
	lea	rdx, -208[rbp]
	mov	rcx, QWORD PTR -240[rbp]
	mov	eax, DWORD PTR -228[rbp]
	mov	rsi, rcx
	mov	edi, eax
	call	dr_vprintf_fixed
	mov	DWORD PTR -212[rbp], eax
	mov	eax, DWORD PTR -212[rbp]
	mov	rsi, QWORD PTR -184[rbp]
	sub	rsi, QWORD PTR fs:40
	je	.L148
	call	__stack_chk_fail@PLT
.L148:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE16:
	.size	dr_printf_fixed, .-dr_printf_fixed
	.globl	dr_vprintf_fixed_with_margin
	.type	dr_vprintf_fixed_with_margin, @function
dr_vprintf_fixed_with_margin:
.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, 48
	mov	DWORD PTR -20[rbp], edi
	mov	DWORD PTR -24[rbp], esi
	mov	QWORD PTR -32[rbp], rdx
	mov	QWORD PTR -40[rbp], rcx
	mov	DWORD PTR -4[rbp], 0
	jmp	.L150
.L151:
	mov	edi, 32
	call	putchar@PLT
	add	DWORD PTR -4[rbp], 1
.L150:
	mov	eax, DWORD PTR -4[rbp]
	cmp	eax, DWORD PTR -24[rbp]
	jl	.L151
	mov	eax, DWORD PTR -20[rbp]
	sub	eax, DWORD PTR -24[rbp]
	mov	rdx, QWORD PTR -40[rbp]
	mov	rcx, QWORD PTR -32[rbp]
	mov	rsi, rcx
	mov	edi, eax
	call	dr_vprintf_fixed
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE17:
	.size	dr_vprintf_fixed_with_margin, .-dr_vprintf_fixed_with_margin
	.globl	dr_printf_fixed_with_margin
	.type	dr_printf_fixed_with_margin, @function
dr_printf_fixed_with_margin:
.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, 240
	mov	DWORD PTR -228[rbp], edi
	mov	DWORD PTR -232[rbp], esi
	mov	QWORD PTR -240[rbp], rdx
	mov	QWORD PTR -152[rbp], rcx
	mov	QWORD PTR -144[rbp], r8
	mov	QWORD PTR -136[rbp], r9
	test	al, al
	je	.L154
	movaps	XMMWORD PTR -128[rbp], xmm0
	movaps	XMMWORD PTR -112[rbp], xmm1
	movaps	XMMWORD PTR -96[rbp], xmm2
	movaps	XMMWORD PTR -80[rbp], xmm3
	movaps	XMMWORD PTR -64[rbp], xmm4
	movaps	XMMWORD PTR -48[rbp], xmm5
	movaps	XMMWORD PTR -32[rbp], xmm6
	movaps	XMMWORD PTR -16[rbp], xmm7
.L154:
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -184[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -208[rbp], 24
	mov	DWORD PTR -204[rbp], 48
	lea	rax, 16[rbp]
	mov	QWORD PTR -200[rbp], rax
	lea	rax, -176[rbp]
	mov	QWORD PTR -192[rbp], rax
	lea	rcx, -208[rbp]
	mov	rdx, QWORD PTR -240[rbp]
	mov	esi, DWORD PTR -232[rbp]
	mov	eax, DWORD PTR -228[rbp]
	mov	edi, eax
	call	dr_vprintf_fixed_with_margin
	mov	DWORD PTR -212[rbp], eax
	mov	eax, DWORD PTR -212[rbp]
	mov	rdi, QWORD PTR -184[rbp]
	sub	rdi, QWORD PTR fs:40
	je	.L156
	call	__stack_chk_fail@PLT
.L156:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE18:
	.size	dr_printf_fixed_with_margin, .-dr_printf_fixed_with_margin
	.globl	dr_timer_now
	.type	dr_timer_now, @function
dr_timer_now:
.LFB19:
	.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	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	lea	rax, -32[rbp]
	mov	rsi, rax
	mov	edi, 1
	call	clock_gettime@PLT
	mov	rax, QWORD PTR -32[rbp]
	imul	rdx, rax, 1000000000
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, rax
	movsd	xmm1, QWORD PTR .LC5[rip]
	divsd	xmm0, xmm1
	movq	rax, xmm0
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L159
	call	__stack_chk_fail@PLT
.L159:
	movq	xmm0, rax
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE19:
	.size	dr_timer_now, .-dr_timer_now
	.globl	dr_scale_to_range_f32
	.type	dr_scale_to_range_f32, @function
dr_scale_to_range_f32:
.LFB20:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	movss	DWORD PTR -4[rbp], xmm0
	movss	DWORD PTR -8[rbp], xmm1
	movss	DWORD PTR -12[rbp], xmm2
	movss	xmm0, DWORD PTR -12[rbp]
	subss	xmm0, DWORD PTR -8[rbp]
	mulss	xmm0, DWORD PTR -4[rbp]
	addss	xmm0, DWORD PTR -8[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE20:
	.size	dr_scale_to_range_f32, .-dr_scale_to_range_f32
	.local	g_drLCG
	.comm	g_drLCG,4,4
	.globl	dr_seed
	.type	dr_seed, @function
dr_seed:
.LFB21:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -4[rbp], edi
	mov	eax, DWORD PTR -4[rbp]
	mov	DWORD PTR g_drLCG[rip], eax
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE21:
	.size	dr_seed, .-dr_seed
	.globl	dr_rand_s32
	.type	dr_rand_s32, @function
dr_rand_s32:
.LFB22:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	eax, DWORD PTR g_drLCG[rip]
	mov	DWORD PTR -8[rbp], eax
	mov	eax, DWORD PTR -8[rbp]
	imul	eax, eax, 48271
	movsx	rcx, eax
	mov	rdx, rcx
	sal	rdx, 30
	add	rdx, rcx
	shr	rdx, 32
	sar	edx, 29
	mov	ecx, eax
	sar	ecx, 31
	sub	edx, ecx
	mov	DWORD PTR -4[rbp], edx
	mov	ecx, DWORD PTR -4[rbp]
	mov	edx, ecx
	sal	edx, 31
	sub	edx, ecx
	sub	eax, edx
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	mov	DWORD PTR g_drLCG[rip], eax
	mov	eax, DWORD PTR -4[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE22:
	.size	dr_rand_s32, .-dr_rand_s32
	.globl	dr_rand_u32
	.type	dr_rand_u32, @function
dr_rand_u32:
.LFB23:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	eax, 0
	call	dr_rand_s32
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE23:
	.size	dr_rand_u32, .-dr_rand_u32
	.globl	dr_rand_f64
	.type	dr_rand_f64, @function
dr_rand_f64:
.LFB24:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	eax, 0
	call	dr_rand_s32
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, eax
	movsd	xmm1, QWORD PTR .LC6[rip]
	divsd	xmm0, xmm1
	movq	rax, xmm0
	movq	xmm0, rax
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE24:
	.size	dr_rand_f64, .-dr_rand_f64
	.globl	dr_rand_f32
	.type	dr_rand_f32, @function
dr_rand_f32:
.LFB25:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	eax, 0
	call	dr_rand_f64
	cvtsd2ss	xmm0, xmm0
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE25:
	.size	dr_rand_f32, .-dr_rand_f32
	.globl	dr_rand_range_f32
	.type	dr_rand_range_f32, @function
dr_rand_range_f32:
.LFB26:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 8
	movss	DWORD PTR -4[rbp], xmm0
	movss	DWORD PTR -8[rbp], xmm1
	mov	eax, 0
	call	dr_rand_f32
	movd	eax, xmm0
	movss	xmm1, DWORD PTR -8[rbp]
	movss	xmm0, DWORD PTR -4[rbp]
	movaps	xmm2, xmm1
	movaps	xmm1, xmm0
	movd	xmm0, eax
	call	dr_scale_to_range_f32
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE26:
	.size	dr_rand_range_f32, .-dr_rand_range_f32
	.globl	dr_rand_range_s32
	.type	dr_rand_range_s32, @function
dr_rand_range_s32:
.LFB27:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 8
	mov	DWORD PTR -4[rbp], edi
	mov	DWORD PTR -8[rbp], esi
	mov	eax, DWORD PTR -4[rbp]
	cmp	eax, DWORD PTR -8[rbp]
	jne	.L174
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L175
.L174:
	mov	eax, 0
	call	dr_rand_u32
	mov	ecx, eax
	mov	eax, DWORD PTR -8[rbp]
	sub	eax, DWORD PTR -4[rbp]
	add	eax, 1
	mov	esi, eax
	mov	eax, -1
	mov	edx, 0
	div	esi
	lea	edi, 1[rax]
	mov	eax, ecx
	mov	edx, 0
	div	edi
	mov	edx, eax
	mov	eax, DWORD PTR -4[rbp]
	add	eax, edx
.L175:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE27:
	.size	dr_rand_range_s32, .-dr_rand_range_s32
	.globl	dr_pcm_s32_to_f32
	.type	dr_pcm_s32_to_f32, @function
dr_pcm_s32_to_f32:
.LFB28:
	.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	QWORD PTR -56[rbp], rdx
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	mov	QWORD PTR -16[rbp], rax
	mov	QWORD PTR -32[rbp], 0
	jmp	.L177
.L178:
	mov	rax, QWORD PTR -32[rbp]
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, eax
	movsd	QWORD PTR -8[rbp], xmm0
	movsd	xmm0, QWORD PTR -8[rbp]
	movsd	xmm1, QWORD PTR .LC7[rip]
	divsd	xmm0, xmm1
	movsd	QWORD PTR -8[rbp], xmm0
	mov	rax, QWORD PTR -32[rbp]
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -24[rbp]
	add	rax, rdx
	pxor	xmm0, xmm0
	cvtsd2ss	xmm0, QWORD PTR -8[rbp]
	movss	DWORD PTR [rax], xmm0
	add	QWORD PTR -32[rbp], 1
.L177:
	mov	rax, QWORD PTR -32[rbp]
	cmp	rax, QWORD PTR -56[rbp]
	jb	.L178
	nop
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE28:
	.size	dr_pcm_s32_to_f32, .-dr_pcm_s32_to_f32
	.globl	dr_pcm_s32_to_s16
	.type	dr_pcm_s32_to_s16, @function
dr_pcm_s32_to_s16:
.LFB29:
	.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	QWORD PTR -56[rbp], rdx
	mov	rax, QWORD PTR -40[rbp]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -48[rbp]
	mov	QWORD PTR -8[rbp], rax
	mov	QWORD PTR -24[rbp], 0
	jmp	.L180
.L181:
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -28[rbp], eax
	sar	DWORD PTR -28[rbp], 16
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -28[rbp]
	mov	WORD PTR [rax], dx
	add	QWORD PTR -24[rbp], 1
.L180:
	mov	rax, QWORD PTR -24[rbp]
	cmp	rax, QWORD PTR -56[rbp]
	jb	.L181
	nop
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE29:
	.size	dr_pcm_s32_to_s16, .-dr_pcm_s32_to_s16
	.globl	dr_dlopen
	.type	dr_dlopen, @function
dr_dlopen:
.LFB30:
	.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	esi, 2
	mov	rdi, rax
	call	dlopen@PLT
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE30:
	.size	dr_dlopen, .-dr_dlopen
	.globl	dr_dlclose
	.type	dr_dlclose, @function
dr_dlclose:
.LFB31:
	.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	rdi, rax
	call	dlclose@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE31:
	.size	dr_dlclose, .-dr_dlclose
	.globl	dr_dlsym
	.type	dr_dlsym, @function
dr_dlsym:
.LFB32:
	.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	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	dlsym@PLT
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE32:
	.size	dr_dlsym, .-dr_dlsym
	.section	.rodata
	.align 8
.LC5:
	.long	0
	.long	1104006501
	.align 8
.LC6:
	.long	-4194304
	.long	1105199103
	.align 8
.LC7:
	.long	0
	.long	1105199104
	.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	"740124.c"
	.text
	.align	2
	.global	dr_strcpy_s
	.syntax unified
	.arm
	.fpu softvfp
	.type	dr_strcpy_s, %function
dr_strcpy_s:
	@ 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	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L2
	mov	r3, #22
	b	.L3
.L2:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L4
	mov	r3, #34
	b	.L3
.L4:
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bne	.L5
	ldr	r3, [fp, #-16]
	mov	r2, #0
	strb	r2, [r3]
	mov	r3, #22
	b	.L3
.L5:
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L6
.L8:
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-8]
	add	r2, r2, r3
	ldr	r1, [fp, #-16]
	ldr	r3, [fp, #-8]
	add	r3, r1, r3
	ldrb	r2, [r2]	@ zero_extendqisi2
	strb	r2, [r3]
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L6:
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-20]
	cmp	r2, r3
	bcs	.L7
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L8
.L7:
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-20]
	cmp	r2, r3
	bcs	.L9
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3]
	mov	r3, #0
	b	.L3
.L9:
	ldr	r3, [fp, #-16]
	mov	r2, #0
	strb	r2, [r3]
	mov	r3, #34
.L3:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	dr_strcpy_s, .-dr_strcpy_s
	.align	2
	.global	dr_strncpy_s
	.syntax unified
	.arm
	.fpu softvfp
	.type	dr_strncpy_s, %function
dr_strncpy_s:
	@ 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	r1, [fp, #-20]
	str	r2, [fp, #-24]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L11
	mov	r3, #22
	b	.L12
.L11:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L13
	mov	r3, #34
	b	.L12
.L13:
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bne	.L14
	ldr	r3, [fp, #-16]
	mov	r2, #0
	strb	r2, [r3]
	mov	r3, #22
	b	.L12
.L14:
	ldr	r3, [fp, #-28]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-28]
	cmn	r3, #1
	beq	.L15
	ldr	r2, [fp, #-28]
	ldr	r3, [fp, #-20]
	cmp	r2, r3
	bcc	.L16
.L15:
	ldr	r3, [fp, #-20]
	sub	r3, r3, #1
	str	r3, [fp, #-12]
.L16:
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L17
.L19:
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-8]
	add	r2, r2, r3
	ldr	r1, [fp, #-16]
	ldr	r3, [fp, #-8]
	add	r3, r1, r3
	ldrb	r2, [r2]	@ zero_extendqisi2
	strb	r2, [r3]
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L17:
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-12]
	cmp	r2, r3
	bcs	.L18
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L19
.L18:
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L20
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-28]
	cmp	r2, r3
	beq	.L20
	ldr	r3, [fp, #-28]
	cmn	r3, #1
	bne	.L21
.L20:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3]
	mov	r3, #0
	b	.L12
.L21:
	ldr	r3, [fp, #-16]
	mov	r2, #0
	strb	r2, [r3]
	mov	r3, #34
.L12:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	dr_strncpy_s, .-dr_strncpy_s
	.align	2
	.global	dr_strcat_s
	.syntax unified
	.arm
	.fpu softvfp
	.type	dr_strcat_s, %function
dr_strcat_s:
	@ 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	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L23
	mov	r3, #22
	b	.L24
.L23:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L25
	mov	r3, #34
	b	.L24
.L25:
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bne	.L26
	ldr	r3, [fp, #-16]
	mov	r2, #0
	strb	r2, [r3]
	mov	r3, #22
	b	.L24
.L26:
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-8]
	b	.L27
.L29:
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-20]
	sub	r3, r3, #1
	str	r3, [fp, #-20]
.L27:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L28
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L29
.L28:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L31
	mov	r3, #22
	b	.L24
.L33:
	ldr	r2, [fp, #-24]
	add	r3, r2, #1
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-16]
	add	r1, r3, #1
	str	r1, [fp, #-16]
	ldrb	r2, [r2]	@ zero_extendqisi2
	strb	r2, [r3]
	ldr	r3, [fp, #-20]
	sub	r3, r3, #1
	str	r3, [fp, #-20]
.L31:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L32
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L33
.L32:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L34
	ldr	r3, [fp, #-16]
	mov	r2, #0
	strb	r2, [r3]
	mov	r3, #0
	b	.L24
.L34:
	ldr	r3, [fp, #-8]
	mov	r2, #0
	strb	r2, [r3]
	mov	r3, #34
.L24:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	dr_strcat_s, .-dr_strcat_s
	.align	2
	.global	dr_strncat_s
	.syntax unified
	.arm
	.fpu softvfp
	.type	dr_strncat_s, %function
dr_strncat_s:
	@ 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	r1, [fp, #-20]
	str	r2, [fp, #-24]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L37
	mov	r3, #22
	b	.L38
.L37:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L39
	mov	r3, #34
	b	.L38
.L39:
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bne	.L40
	mov	r3, #22
	b	.L38
.L40:
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-8]
	b	.L41
.L43:
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-20]
	sub	r3, r3, #1
	str	r3, [fp, #-20]
.L41:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L42
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L43
.L42:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L44
	mov	r3, #22
	b	.L38
.L44:
	ldr	r3, [fp, #-28]
	cmn	r3, #1
	bne	.L46
	ldr	r3, [fp, #-20]
	sub	r3, r3, #1
	str	r3, [fp, #-28]
	b	.L46
.L48:
	ldr	r2, [fp, #-24]
	add	r3, r2, #1
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-16]
	add	r1, r3, #1
	str	r1, [fp, #-16]
	ldrb	r2, [r2]	@ zero_extendqisi2
	strb	r2, [r3]
	ldr	r3, [fp, #-20]
	sub	r3, r3, #1
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-28]
	sub	r3, r3, #1
	str	r3, [fp, #-28]
.L46:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L47
	ldr	r3, [fp, #-24]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L47
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	bne	.L48
.L47:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L49
	ldr	r3, [fp, #-16]
	mov	r2, #0
	strb	r2, [r3]
	mov	r3, #0
	b	.L38
.L49:
	ldr	r3, [fp, #-8]
	mov	r2, #0
	strb	r2, [r3]
	mov	r3, #34
.L38:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	dr_strncat_s, .-dr_strncat_s
	.section	.rodata
	.align	2
.LC0:
	.ascii	"/\000"
	.text
	.align	2
	.global	dr_append_path
	.syntax unified
	.arm
	.fpu softvfp
	.type	dr_append_path, %function
dr_append_path:
	@ 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, #-24]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L52
	mvn	r3, #0
	b	.L53
.L52:
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	beq	.L54
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	bne	.L55
.L54:
	mvn	r3, #0
	b	.L53
.L55:
	ldr	r2, [fp, #-24]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	dr_strcpy_s
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L56
	ldr	r3, [fp, #-12]
	b	.L53
.L56:
	ldr	r0, [fp, #-16]
	bl	strlen
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L57
	ldr	r3, [fp, #-8]
	sub	r3, r3, #1
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #47
	beq	.L57
	ldr	r3, [fp, #-8]
	sub	r3, r3, #1
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #92
	beq	.L57
	ldr	r2, .L60
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	dr_strcat_s
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L58
	ldr	r3, [fp, #-16]
	mov	r2, #0
	strb	r2, [r3]
	ldr	r3, [fp, #-12]
	b	.L53
.L58:
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L57:
	ldr	r2, [fp, #-28]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	dr_strcat_s
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L59
	ldr	r3, [fp, #-16]
	mov	r2, #0
	strb	r2, [r3]
	ldr	r3, [fp, #-12]
	b	.L53
.L59:
	mov	r3, #0
.L53:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L61:
	.align	2
.L60:
	.word	.LC0
	.size	dr_append_path, .-dr_append_path
	.align	2
	.global	dr_path_file_name
	.syntax unified
	.arm
	.fpu softvfp
	.type	dr_path_file_name, %function
dr_path_file_name:
	@ 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]
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L65
	mov	r3, #0
	b	.L64
.L68:
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #47
	beq	.L66
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #92
	bne	.L67
.L66:
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-8]
.L67:
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L65:
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L68
	b	.L69
.L71:
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L69:
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L70
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #47
	beq	.L71
	ldr	r3, [fp, #-8]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #92
	beq	.L71
.L70:
	ldr	r3, [fp, #-8]
.L64:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	dr_path_file_name, .-dr_path_file_name
	.align	2
	.global	dr_extension
	.syntax unified
	.arm
	.fpu softvfp
	.type	dr_extension, %function
dr_extension:
	@ 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]
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-12]
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L75
	mov	r3, #0
	b	.L74
.L77:
	ldr	r3, [fp, #-12]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #46
	bne	.L76
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	str	r3, [fp, #-8]
.L76:
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L75:
	ldr	r3, [fp, #-12]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L77
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L78
	ldr	r3, [fp, #-8]
	b	.L74
.L78:
	ldr	r3, [fp, #-12]
.L74:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	dr_extension, .-dr_extension
	.align	2
	.global	dr_extension_equal
	.syntax unified
	.arm
	.fpu softvfp
	.type	dr_extension_equal, %function
dr_extension_equal:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L81
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L82
.L81:
	mov	r3, #0
	b	.L83
.L82:
	ldr	r3, [fp, #-20]
	str	r3, [fp, #-12]
	ldr	r0, [fp, #-16]
	bl	dr_extension
	str	r0, [fp, #-8]
	ldr	r1, [fp, #-8]
	ldr	r0, [fp, #-12]
	bl	strcasecmp
	mov	r3, r0
	cmp	r3, #0
	moveq	r3, #1
	movne	r3, #0
	and	r3, r3, #255
.L83:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	dr_extension_equal, .-dr_extension_equal
	.section	.rodata
	.align	2
.LC1:
	.ascii	".\000"
	.align	2
.LC2:
	.ascii	"..\000"
	.align	2
.LC3:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	dr_file_iterator_begin
	.syntax unified
	.arm
	.fpu softvfp
	.type	dr_file_iterator_begin, %function
dr_file_iterator_begin:
	@ args = 0, pretend = 0, frame = 4208
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #4160
	sub	sp, sp, #52
	sub	r3, fp, #4096
	sub	r3, r3, #12
	str	r0, [r3, #-108]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	str	r1, [r3, #-112]
	ldr	r3, .L99
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-112]
	cmp	r3, #0
	bne	.L85
	mov	r3, #0
	b	.L86
.L85:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, #776
	mov	r1, #0
	ldr	r0, [r3, #-112]
	bl	memset
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-108]
	cmp	r3, #0
	bne	.L87
	mov	r3, #0
	b	.L86
.L87:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r4, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r0, [r3, #-108]
	bl	opendir
	str	r0, [r4, #-104]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-104]
	cmp	r3, #0
	bne	.L88
	mov	r3, #0
	b	.L86
.L88:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r4, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r0, [r3, #-104]
	bl	readdir
	str	r0, [r4, #-100]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-100]
	cmp	r3, #0
	bne	.L89
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r0, [r3, #-104]
	bl	closedir
	mov	r3, #0
	b	.L86
.L89:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-100]
	add	r3, r3, #11
	ldr	r1, .L99+4
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	beq	.L97
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-100]
	add	r3, r3, #11
	ldr	r1, .L99+8
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	beq	.L97
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-112]
	add	r0, r3, #256
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-100]
	add	r3, r3, #11
	mov	r2, r3
	mov	r1, #256
	bl	dr_strcpy_s
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-112]
	add	r3, r3, #256
	sub	r2, fp, #4096
	sub	r2, r2, #12
	sub	r0, fp, #4096
	sub	r0, r0, #12
	sub	r0, r0, #4
	ldr	r2, [r2, #-108]
	mov	r1, #4096
	bl	dr_append_path
	sub	r2, fp, #4160
	sub	r2, r2, #12
	sub	r2, r2, #32
	sub	r3, fp, #4096
	sub	r3, r3, #12
	sub	r3, r3, #4
	mov	r1, r2
	mov	r0, r3
	bl	stat
	mov	r3, r0
	cmp	r3, #0
	bne	.L98
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-80]
	and	r3, r3, #61440
	cmp	r3, #16384
	bne	.L94
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-112]
	mov	r2, #1
	str	r2, [r3, #768]
	b	.L95
.L94:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-112]
	mov	r2, #0
	str	r2, [r3, #768]
.L95:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-112]
	sub	r2, fp, #4096
	sub	r2, r2, #12
	ldr	r2, [r2, #-104]
	str	r2, [r3, #772]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-112]
	sub	r2, fp, #4096
	sub	r2, r2, #12
	ldr	r2, [r2, #-108]
	mov	r1, #256
	mov	r0, r3
	bl	dr_strcpy_s
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-112]
	add	r0, r3, #512
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r2, [r3, #-112]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-112]
	add	r3, r3, #256
	mov	r1, #256
	bl	dr_append_path
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-112]
	b	.L86
.L97:
	nop
	b	.L88
.L98:
	nop
	b	.L88
.L86:
	ldr	r2, .L99
	ldr	r1, [r2]
	ldr	r2, [fp, #-16]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L96
	bl	__stack_chk_fail
.L96:
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L100:
	.align	2
.L99:
	.word	.LC3
	.word	.LC1
	.word	.LC2
	.size	dr_file_iterator_begin, .-dr_file_iterator_begin
	.section	.rodata
	.align	2
.LC4:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	dr_file_iterator_next
	.syntax unified
	.arm
	.fpu softvfp
	.type	dr_file_iterator_next, %function
dr_file_iterator_next:
	@ args = 0, pretend = 0, frame = 4208
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #4160
	sub	sp, sp, #52
	sub	r3, fp, #4096
	sub	r3, r3, #12
	str	r0, [r3, #-108]
	ldr	r3, .L114
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-108]
	cmp	r3, #0
	bne	.L102
	mov	r3, #0
	b	.L103
.L102:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-108]
	ldr	r3, [r3, #772]
	sub	r2, fp, #4096
	sub	r2, r2, #12
	mov	r4, r2
	mov	r0, r3
	bl	readdir
	str	r0, [r4, #-100]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-100]
	cmp	r3, #0
	bne	.L104
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-108]
	ldr	r3, [r3, #772]
	mov	r0, r3
	bl	closedir
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-108]
	mov	r2, #0
	str	r2, [r3, #772]
	mov	r3, #0
	b	.L103
.L104:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-100]
	add	r3, r3, #11
	ldr	r1, .L114+4
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	beq	.L112
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-100]
	add	r3, r3, #11
	ldr	r1, .L114+8
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	beq	.L112
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-108]
	add	r0, r3, #256
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-100]
	add	r3, r3, #11
	mov	r2, r3
	mov	r1, #256
	bl	dr_strcpy_s
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r2, [r3, #-108]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-108]
	add	r3, r3, #256
	sub	r0, fp, #4096
	sub	r0, r0, #12
	sub	r0, r0, #4
	mov	r1, #4096
	bl	dr_append_path
	sub	r2, fp, #4160
	sub	r2, r2, #12
	sub	r2, r2, #32
	sub	r3, fp, #4096
	sub	r3, r3, #12
	sub	r3, r3, #4
	mov	r1, r2
	mov	r0, r3
	bl	stat
	mov	r3, r0
	cmp	r3, #0
	bne	.L113
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-80]
	and	r3, r3, #61440
	cmp	r3, #16384
	bne	.L109
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-108]
	mov	r2, #1
	str	r2, [r3, #768]
	b	.L110
.L109:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-108]
	mov	r2, #0
	str	r2, [r3, #768]
.L110:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-108]
	add	r0, r3, #512
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r2, [r3, #-108]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-108]
	add	r3, r3, #256
	mov	r1, #256
	bl	dr_append_path
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-108]
	b	.L103
.L112:
	nop
	b	.L102
.L113:
	nop
	b	.L102
.L103:
	ldr	r2, .L114
	ldr	r1, [r2]
	ldr	r2, [fp, #-16]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L111
	bl	__stack_chk_fail
.L111:
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L115:
	.align	2
.L114:
	.word	.LC4
	.word	.LC1
	.word	.LC2
	.size	dr_file_iterator_next, .-dr_file_iterator_next
	.align	2
	.global	dr_file_iterator_end
	.syntax unified
	.arm
	.fpu softvfp
	.type	dr_file_iterator_end, %function
dr_file_iterator_end:
	@ 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]
	cmp	r3, #0
	beq	.L119
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #772]
	mov	r0, r3
	bl	closedir
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #772]
	b	.L116
.L119:
	nop
.L116:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	dr_file_iterator_end, .-dr_file_iterator_end
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	dr_fopen, %function
dr_fopen:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L121
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3]
.L121:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L122
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L122
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L123
.L122:
	mvn	r3, #0
	b	.L124
.L123:
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-12]
	bl	fopen
	mov	r2, r0
	ldr	r3, [fp, #-8]
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L125
	bl	__errno_location
	mov	r3, r0
	ldr	r3, [r3]
	b	.L124
.L125:
	mov	r3, #0
.L124:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	dr_fopen, .-dr_fopen
	.section	.rodata
	.align	2
.LC5:
	.ascii	"rb\000"
	.align	2
.LC6:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	dr_open_and_read_file_with_extra_data
	.syntax unified
	.arm
	.fpu softvfp
	.type	dr_open_and_read_file_with_extra_data, %function
dr_open_and_read_file_with_extra_data:
	@ 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, #-32]
	str	r1, [fp, #-36]
	str	r2, [fp, #-40]
	ldr	r3, .L136
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	beq	.L127
	ldr	r3, [fp, #-36]
	mov	r2, #0
	str	r2, [r3]
.L127:
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	bne	.L128
	mov	r3, #0
	b	.L134
.L128:
	sub	r3, fp, #24
	ldr	r2, .L136+4
	ldr	r1, [fp, #-32]
	mov	r0, r3
	bl	dr_fopen
	mov	r3, r0
	cmp	r3, #0
	beq	.L130
	mov	r3, #0
	b	.L134
.L130:
	ldr	r3, [fp, #-24]
	mov	r2, #2
	mov	r1, #0
	mov	r0, r3
	bl	fseek
	ldr	r3, [fp, #-24]
	mov	r0, r3
	bl	ftell
	mov	r3, r0
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-24]
	mov	r2, #0
	mov	r1, #0
	mov	r0, r3
	bl	fseek
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-40]
	add	r3, r2, r3
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L131
	ldr	r3, [fp, #-24]
	mov	r0, r3
	bl	fclose
	mov	r3, #0
	b	.L134
.L131:
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-20]
	mov	r1, #1
	ldr	r0, [fp, #-16]
	bl	fread
	str	r0, [fp, #-12]
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-20]
	cmp	r2, r3
	beq	.L132
	ldr	r0, [fp, #-16]
	bl	free
	ldr	r3, [fp, #-24]
	mov	r0, r3
	bl	fclose
	mov	r3, #0
	b	.L134
.L132:
	ldr	r3, [fp, #-24]
	mov	r0, r3
	bl	fclose
	ldr	r3, [fp, #-36]
	cmp	r3, #0
	beq	.L133
	ldr	r3, [fp, #-36]
	ldr	r2, [fp, #-20]
	str	r2, [r3]
.L133:
	ldr	r3, [fp, #-16]
.L134:
	ldr	r2, .L136
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L135
	bl	__stack_chk_fail
.L135:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L137:
	.align	2
.L136:
	.word	.LC6
	.word	.LC5
	.size	dr_open_and_read_file_with_extra_data, .-dr_open_and_read_file_with_extra_data
	.align	2
	.global	dr_open_and_read_file
	.syntax unified
	.arm
	.fpu softvfp
	.type	dr_open_and_read_file, %function
dr_open_and_read_file:
	@ 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]
	str	r1, [fp, #-12]
	mov	r2, #0
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-8]
	bl	dr_open_and_read_file_with_extra_data
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	dr_open_and_read_file, .-dr_open_and_read_file
	.align	2
	.global	dr_argv_is_set
	.syntax unified
	.arm
	.fpu softvfp
	.type	dr_argv_is_set, %function
dr_argv_is_set:
	@ 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, #-24]
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L141
.L144:
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-20]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r1, [fp, #-24]
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L142
	mov	r3, #1
	b	.L143
.L142:
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L141:
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-16]
	cmp	r2, r3
	blt	.L144
	mov	r3, #0
.L143:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	dr_argv_is_set, .-dr_argv_is_set
	.section	.rodata
	.align	2
.LC7:
	.ascii	"%s\000"
	.align	2
.LC8:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	dr_vprintf_fixed
	.syntax unified
	.arm
	.fpu softvfp
	.type	dr_vprintf_fixed, %function
dr_vprintf_fixed:
	@ args = 0, pretend = 0, frame = 4128
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #4096
	sub	sp, sp, #36
	sub	r3, fp, #4096
	sub	r3, r3, #12
	str	r0, [r3, #-20]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	str	r1, [r3, #-24]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	str	r2, [r3, #-28]
	ldr	r3, .L153
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-20]
	cmp	r3, #0
	bgt	.L146
	mvn	r3, #0
	b	.L151
.L146:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-20]
	cmp	r3, #4096
	bls	.L148
	mvn	r3, #0
	b	.L151
.L148:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-20]
	add	r3, r3, #1
	mov	r1, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r4, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	sub	r2, fp, #4096
	sub	r2, r2, #12
	sub	r0, fp, #4096
	sub	r0, r0, #12
	sub	r0, r0, #4
	ldr	r3, [r3, #-28]
	ldr	r2, [r2, #-24]
	bl	vsnprintf
	str	r0, [r4, #-8]
	sub	r3, fp, #4096
	sub	r3, r3, #12
	sub	r3, r3, #4
	mov	r1, r3
	ldr	r0, .L153+4
	bl	printf
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-8]
	str	r3, [r2, #-12]
	b	.L149
.L150:
	mov	r0, #32
	bl	putchar
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-12]
	add	r3, r3, #1
	str	r3, [r2, #-12]
.L149:
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r2, [r2, #-12]
	ldr	r3, [r3, #-20]
	cmp	r2, r3
	blt	.L150
	sub	r3, fp, #4096
	sub	r3, r3, #12
	ldr	r3, [r3, #-8]
.L151:
	ldr	r2, .L153
	ldr	r1, [r2]
	ldr	r2, [fp, #-16]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L152
	bl	__stack_chk_fail
.L152:
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L154:
	.align	2
.L153:
	.word	.LC8
	.word	.LC7
	.size	dr_vprintf_fixed, .-dr_vprintf_fixed
	.section	.rodata
	.align	2
.LC9:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	dr_printf_fixed
	.syntax unified
	.arm
	.fpu softvfp
	.type	dr_printf_fixed, %function
dr_printf_fixed:
	@ args = 4, pretend = 12, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 1
	push	{r1, r2, r3}
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #28
	str	r0, [fp, #-28]
	ldr	r3, [fp, #4]
	str	r3, [fp, #-32]
	ldr	r3, .L158
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	mov	r3,#0
	add	r3, fp, #8
	str	r3, [fp, #-20]
	ldr	r2, [fp, #-20]
	ldr	r1, [fp, #-32]
	ldr	r0, [fp, #-28]
	bl	dr_vprintf_fixed
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	ldr	r2, .L158
	ldr	r1, [r2]
	ldr	r2, [fp, #-12]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L157
	bl	__stack_chk_fail
.L157:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, lr}
	add	sp, sp, #12
	bx	lr
.L159:
	.align	2
.L158:
	.word	.LC9
	.size	dr_printf_fixed, .-dr_printf_fixed
	.align	2
	.global	dr_vprintf_fixed_with_margin
	.syntax unified
	.arm
	.fpu softvfp
	.type	dr_vprintf_fixed_with_margin, %function
dr_vprintf_fixed_with_margin:
	@ 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, #-24]
	str	r3, [fp, #-28]
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L161
.L162:
	mov	r0, #32
	bl	putchar
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L161:
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-20]
	cmp	r2, r3
	blt	.L162
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-20]
	sub	r3, r2, r3
	ldr	r2, [fp, #-28]
	ldr	r1, [fp, #-24]
	mov	r0, r3
	bl	dr_vprintf_fixed
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	dr_vprintf_fixed_with_margin, .-dr_vprintf_fixed_with_margin
	.section	.rodata
	.align	2
.LC10:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	dr_printf_fixed_with_margin
	.syntax unified
	.arm
	.fpu softvfp
	.type	dr_printf_fixed_with_margin, %function
dr_printf_fixed_with_margin:
	@ args = 4, pretend = 8, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 1
	push	{r2, r3}
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	ldr	r3, [fp, #4]
	str	r3, [fp, #-32]
	ldr	r3, .L167
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	add	r3, fp, #8
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	ldr	r2, [fp, #-32]
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-24]
	bl	dr_vprintf_fixed_with_margin
	str	r0, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r2, .L167
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L166
	bl	__stack_chk_fail
.L166:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, lr}
	add	sp, sp, #8
	bx	lr
.L168:
	.align	2
.L167:
	.word	.LC10
	.size	dr_printf_fixed_with_margin, .-dr_printf_fixed_with_margin
	.global	__aeabi_l2d
	.global	__aeabi_ddiv
	.section	.rodata
	.align	2
.LC11:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	dr_timer_now
	.syntax unified
	.arm
	.fpu softvfp
	.type	dr_timer_now, %function
dr_timer_now:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, fp, lr}
	add	fp, sp, #12
	sub	sp, sp, #16
	ldr	r3, .L172
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	sub	r3, fp, #24
	mov	r1, r3
	mov	r0, #1
	bl	clock_gettime
	ldr	r3, [fp, #-24]
	mov	r0, r3
	asr	r1, r0, #31
	ldr	r3, .L172+4
	mul	r2, r3, r1
	mov	r3, #0
	mul	r3, r0, r3
	add	ip, r2, r3
	ldr	lr, .L172+4
	umull	r2, r3, r0, lr
	add	r1, ip, r3
	mov	r3, r1
	ldr	r1, [fp, #-20]
	mov	r0, r1
	asr	r1, r0, #31
	adds	r4, r2, r0
	adc	r5, r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_l2d
	mov	r2, #0
	ldr	r3, .L172+8
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	ldr	r1, .L172
	ldr	r0, [r1]
	ldr	r1, [fp, #-16]
	eors	r0, r1, r0
	mov	r1, #0
	beq	.L171
	bl	__stack_chk_fail
.L171:
	mov	r0, r2
	mov	r1, r3
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
.L173:
	.align	2
.L172:
	.word	.LC11
	.word	1000000000
	.word	1104006501
	.size	dr_timer_now, .-dr_timer_now
	.global	__aeabi_fsub
	.global	__aeabi_fmul
	.global	__aeabi_fadd
	.align	2
	.global	dr_scale_to_range_f32
	.syntax unified
	.arm
	.fpu softvfp
	.type	dr_scale_to_range_f32, %function
dr_scale_to_range_f32:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-8]	@ float
	str	r1, [fp, #-12]	@ float
	str	r2, [fp, #-16]	@ float
	ldr	r1, [fp, #-12]	@ float
	ldr	r0, [fp, #-16]	@ float
	bl	__aeabi_fsub
	mov	r3, r0
	ldr	r1, [fp, #-8]	@ float
	mov	r0, r3
	bl	__aeabi_fmul
	mov	r3, r0
	ldr	r1, [fp, #-12]	@ float
	mov	r0, r3
	bl	__aeabi_fadd
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	dr_scale_to_range_f32, .-dr_scale_to_range_f32
	.local	g_drLCG
	.comm	g_drLCG,4,4
	.align	2
	.global	dr_seed
	.syntax unified
	.arm
	.fpu softvfp
	.type	dr_seed, %function
dr_seed:
	@ 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	r2, .L177
	ldr	r3, [fp, #-8]
	str	r3, [r2]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L178:
	.align	2
.L177:
	.word	g_drLCG
	.size	dr_seed, .-dr_seed
	.align	2
	.global	dr_rand_s32
	.syntax unified
	.arm
	.fpu softvfp
	.type	dr_rand_s32, %function
dr_rand_s32:
	@ 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
	ldr	r3, .L181
	ldr	r3, [r3]
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r2, .L181+4
	mul	r2, r3, r2
	mov	r3, #1073741825
	smull	r1, r3, r2, r3
	asr	r1, r3, #29
	asr	r3, r2, #31
	sub	r1, r1, r3
	mov	r3, r1
	lsl	r3, r3, #31
	sub	r3, r3, r1
	sub	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r2, .L181
	ldr	r3, [fp, #-8]
	str	r3, [r2]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L182:
	.align	2
.L181:
	.word	g_drLCG
	.word	48271
	.size	dr_rand_s32, .-dr_rand_s32
	.align	2
	.global	dr_rand_u32
	.syntax unified
	.arm
	.fpu softvfp
	.type	dr_rand_u32, %function
dr_rand_u32:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	bl	dr_rand_s32
	mov	r3, r0
	mov	r0, r3
	pop	{fp, pc}
	.size	dr_rand_u32, .-dr_rand_u32
	.global	__aeabi_i2d
	.align	2
	.global	dr_rand_f64
	.syntax unified
	.arm
	.fpu softvfp
	.type	dr_rand_f64, %function
dr_rand_f64:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	bl	dr_rand_s32
	mov	r3, r0
	mov	r0, r3
	bl	__aeabi_i2d
	ldr	r2, .L187
	ldr	r3, .L187+4
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	pop	{fp, pc}
.L188:
	.align	2
.L187:
	.word	-4194304
	.word	1105199103
	.size	dr_rand_f64, .-dr_rand_f64
	.global	__aeabi_d2f
	.align	2
	.global	dr_rand_f32
	.syntax unified
	.arm
	.fpu softvfp
	.type	dr_rand_f32, %function
dr_rand_f32:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	bl	dr_rand_f64
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_d2f
	mov	r3, r0
	mov	r0, r3
	pop	{fp, pc}
	.size	dr_rand_f32, .-dr_rand_f32
	.align	2
	.global	dr_rand_range_f32
	.syntax unified
	.arm
	.fpu softvfp
	.type	dr_rand_range_f32, %function
dr_rand_range_f32:
	@ 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]	@ float
	str	r1, [fp, #-12]	@ float
	bl	dr_rand_f32
	mov	r3, r0
	ldr	r2, [fp, #-12]	@ float
	ldr	r1, [fp, #-8]	@ float
	mov	r0, r3
	bl	dr_scale_to_range_f32
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	dr_rand_range_f32, .-dr_rand_range_f32
	.global	__aeabi_uidiv
	.align	2
	.global	dr_rand_range_s32
	.syntax unified
	.arm
	.fpu softvfp
	.type	dr_rand_range_s32, %function
dr_rand_range_s32:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #12
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-20]
	cmp	r2, r3
	bne	.L194
	ldr	r3, [fp, #-16]
	b	.L195
.L194:
	bl	dr_rand_u32
	mov	r4, r0
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-16]
	sub	r3, r2, r3
	add	r3, r3, #1
	mov	r1, r3
	mvn	r0, #0
	bl	__aeabi_uidiv
	mov	r3, r0
	add	r3, r3, #1
	mov	r1, r3
	mov	r0, r4
	bl	__aeabi_uidiv
	mov	r3, r0
	mov	r2, r3
	ldr	r3, [fp, #-16]
	add	r3, r2, r3
.L195:
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
	.size	dr_rand_range_s32, .-dr_rand_range_s32
	.align	2
	.global	dr_pcm_s32_to_f32
	.syntax unified
	.arm
	.fpu softvfp
	.type	dr_pcm_s32_to_f32, %function
dr_pcm_s32_to_f32:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, fp, lr}
	add	fp, sp, #16
	sub	sp, sp, #44
	str	r0, [fp, #-48]
	str	r1, [fp, #-52]
	str	r2, [fp, #-60]
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-48]
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-52]
	str	r3, [fp, #-40]
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
	b	.L197
.L198:
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-40]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r0, r3
	bl	__aeabi_i2d
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
	mov	r2, #0
	ldr	r3, .L199
	sub	r1, fp, #28
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-36]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-44]
	add	r6, r2, r3
	sub	r1, fp, #28
	ldmia	r1, {r0-r1}
	bl	__aeabi_d2f
	mov	r3, r0
	str	r3, [r6]	@ float
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	adds	r4, r2, #1
	adc	r5, r3, #0
	str	r4, [fp, #-36]
	str	r5, [fp, #-32]
.L197:
	sub	r1, fp, #36
	ldmia	r1, {r0-r1}
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	cmp	r1, r3
	cmpeq	r0, r2
	bcc	.L198
	nop
	nop
	sub	sp, fp, #16
	@ sp needed
	pop	{r4, r5, r6, fp, pc}
.L200:
	.align	2
.L199:
	.word	1105199104
	.size	dr_pcm_s32_to_f32, .-dr_pcm_s32_to_f32
	.align	2
	.global	dr_pcm_s32_to_s16
	.syntax unified
	.arm
	.fpu softvfp
	.type	dr_pcm_s32_to_s16, %function
dr_pcm_s32_to_s16:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	push	{r4, r5, fp}
	add	fp, sp, #8
	sub	sp, sp, #44
	str	r0, [fp, #-40]
	str	r1, [fp, #-44]
	str	r2, [fp, #-52]
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-40]
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-44]
	str	r3, [fp, #-28]
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-20]
	str	r3, [fp, #-16]
	b	.L202
.L203:
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-28]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-24]
	asr	r3, r3, #16
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-20]
	lsl	r3, r3, #1
	ldr	r2, [fp, #-32]
	add	r3, r2, r3
	ldr	r2, [fp, #-24]
	lsl	r2, r2, #16
	asr	r2, r2, #16
	strh	r2, [r3]	@ movhi
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	adds	r4, r2, #1
	adc	r5, r3, #0
	str	r4, [fp, #-20]
	str	r5, [fp, #-16]
.L202:
	sub	r1, fp, #20
	ldmia	r1, {r0-r1}
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	cmp	r1, r3
	cmpeq	r0, r2
	bcc	.L203
	nop
	nop
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, r5, fp}
	bx	lr
	.size	dr_pcm_s32_to_s16, .-dr_pcm_s32_to_s16
	.align	2
	.global	dr_dlopen
	.syntax unified
	.arm
	.fpu softvfp
	.type	dr_dlopen, %function
dr_dlopen:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	mov	r1, #2
	ldr	r0, [fp, #-16]
	bl	dlopen
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	dr_dlopen, .-dr_dlopen
	.align	2
	.global	dr_dlclose
	.syntax unified
	.arm
	.fpu softvfp
	.type	dr_dlclose, %function
dr_dlclose:
	@ 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	r0, [fp, #-8]
	bl	dlclose
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	dr_dlclose, .-dr_dlclose
	.align	2
	.global	dr_dlsym
	.syntax unified
	.arm
	.fpu softvfp
	.type	dr_dlsym, %function
dr_dlsym:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-16]
	bl	dlsym
	mov	r3, r0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	dr_dlsym, .-dr_dlsym
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
