	.file	"156393741.c"
	.intel_syntax noprefix
	.text
	.section	.rodata
.LC0:
	.string	"testdll.dll"
.LC1:
	.string	""
	.align 8
.LC2:
	.string	"ERROR\tCould not open library globally: %s\n"
.LC3:
	.string	"From line %d\n"
	.align 8
.LC4:
	.string	"SUCCESS\tOpened library globally: %p\n"
	.align 8
.LC5:
	.string	"ERROR\tCould not open global handle: %s\n"
	.align 8
.LC6:
	.string	"SUCCESS\tGot global handle: %p\n"
.LC7:
	.string	"printf"
	.align 8
.LC8:
	.string	"ERROR\tCould not get symbol from global handle: %s\n"
	.align 8
.LC9:
	.string	"SUCCESS\tGot symbol from global handle: %p\n"
	.align 8
.LC10:
	.string	"Hello world from local printf!\n"
.LC11:
	.string	"function"
	.align 8
.LC12:
	.string	"ERROR\tCould not get symbol from library handle: %s\n"
	.align 8
.LC13:
	.string	"SUCCESS\tGot symbol from library handle: %p\n"
.LC14:
	.string	"nonexistentfunction"
	.align 8
.LC15:
	.string	"ERROR\tGot nonexistent symbol from library handle: %p\n"
	.align 8
.LC16:
	.string	"SUCCESS\tCould not get nonexistent symbol from library handle: %s\n"
	.align 8
.LC17:
	.string	"ERROR\tGot nonexistent symbol from global handle: %p\n"
	.align 8
.LC18:
	.string	"SUCCESS\tCould not get nonexistent symbol from global handle: %s\n"
	.align 8
.LC19:
	.string	"ERROR\tCould not close library: %s\n"
.LC20:
	.string	"SUCCESS\tClosed library."
	.align 8
.LC21:
	.string	"ERROR\tCould not open library locally: %s\n"
	.align 8
.LC22:
	.string	"SUCCESS\tOpened library locally: %p\n"
	.align 8
.LC23:
	.string	"ERROR\tGot local symbol from global handle: %s @ %p\n"
	.align 8
.LC24:
	.string	"SUCCESS\tDid not get local symbol from global handle."
	.align 8
.LC25:
	.string	"ERROR\tGot nonexistent local symbol from global handle: %p\n"
	.align 8
.LC26:
	.string	"SUCCESS\tDid not get nonexistent local symbol from global handle: %s\n"
	.align 8
.LC27:
	.string	"ERROR\tCould not open library globally without closing it first: %s\n"
	.align 8
.LC28:
	.string	"SUCCESS\tOpened library globally without closing it first: %p\n"
	.align 8
.LC29:
	.string	"ERROR\tCould not close global handle: %s\n"
.LC30:
	.string	"SUCCESS\tClosed global handle."
	.text
	.globl	main
	.type	main, @function
main:
.LFB0:
	.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	esi, 256
	lea	rdi, .LC0[rip]
	call	dlopen@PLT
	mov	QWORD PTR -48[rbp], rax
	cmp	QWORD PTR -48[rbp], 0
	jne	.L2
	call	dlerror@PLT
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	je	.L3
	mov	rax, QWORD PTR -8[rbp]
	jmp	.L4
.L3:
	lea	rax, .LC1[rip]
.L4:
	mov	rsi, rax
	lea	rdi, .LC2[rip]
	mov	eax, 0
	call	printf@PLT
	mov	esi, 95
	lea	rdi, .LC3[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, 1
	jmp	.L5
.L2:
	mov	rax, QWORD PTR -48[rbp]
	mov	rsi, rax
	lea	rdi, .LC4[rip]
	mov	eax, 0
	call	printf@PLT
	mov	esi, 256
	mov	edi, 0
	call	dlopen@PLT
	mov	QWORD PTR -40[rbp], rax
	cmp	QWORD PTR -40[rbp], 0
	jne	.L6
	call	dlerror@PLT
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	je	.L7
	mov	rax, QWORD PTR -8[rbp]
	jmp	.L8
.L7:
	lea	rax, .LC1[rip]
.L8:
	mov	rsi, rax
	lea	rdi, .LC5[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -48[rbp]
	mov	rdi, rax
	call	dlclose@PLT
	mov	esi, 106
	lea	rdi, .LC3[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, 1
	jmp	.L5
.L6:
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rax
	lea	rdi, .LC6[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -40[rbp]
	lea	rsi, .LC7[rip]
	mov	rdi, rax
	call	dlsym@PLT
	mov	QWORD PTR -32[rbp], rax
	cmp	QWORD PTR -32[rbp], 0
	jne	.L9
	call	dlerror@PLT
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	je	.L10
	mov	rax, QWORD PTR -8[rbp]
	jmp	.L11
.L10:
	lea	rax, .LC1[rip]
.L11:
	mov	rsi, rax
	lea	rdi, .LC8[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -48[rbp]
	mov	rdi, rax
	call	dlclose@PLT
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	dlclose@PLT
	mov	esi, 119
	lea	rdi, .LC3[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, 1
	jmp	.L5
.L9:
	mov	rax, QWORD PTR -32[rbp]
	mov	rsi, rax
	lea	rdi, .LC9[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -32[rbp]
	lea	rdi, .LC10[rip]
	call	rax
	mov	rax, QWORD PTR -48[rbp]
	lea	rsi, .LC11[rip]
	mov	rdi, rax
	call	dlsym@PLT
	mov	QWORD PTR -24[rbp], rax
	cmp	QWORD PTR -24[rbp], 0
	jne	.L12
	call	dlerror@PLT
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	je	.L13
	mov	rax, QWORD PTR -8[rbp]
	jmp	.L14
.L13:
	lea	rax, .LC1[rip]
.L14:
	mov	rsi, rax
	lea	rdi, .LC12[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -48[rbp]
	mov	rdi, rax
	call	dlclose@PLT
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	dlclose@PLT
	mov	esi, 133
	lea	rdi, .LC3[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, 1
	jmp	.L5
.L12:
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rax
	lea	rdi, .LC13[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -24[rbp]
	call	rax
	mov	DWORD PTR -52[rbp], eax
	cmp	DWORD PTR -52[rbp], 0
	je	.L15
	mov	rax, QWORD PTR -48[rbp]
	mov	rdi, rax
	call	dlclose@PLT
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	dlclose@PLT
	mov	esi, 138
	lea	rdi, .LC3[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, 1
	jmp	.L5
.L15:
	mov	rax, QWORD PTR -48[rbp]
	lea	rsi, .LC14[rip]
	mov	rdi, rax
	call	dlsym@PLT
	mov	QWORD PTR -16[rbp], rax
	cmp	QWORD PTR -16[rbp], 0
	je	.L16
	call	dlerror@PLT
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rax
	lea	rdi, .LC15[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -48[rbp]
	mov	rdi, rax
	call	dlclose@PLT
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	dlclose@PLT
	mov	esi, 147
	lea	rdi, .LC3[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, 1
	jmp	.L5
.L16:
	call	dlerror@PLT
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	je	.L17
	mov	rax, QWORD PTR -8[rbp]
	jmp	.L18
.L17:
	lea	rax, .LC1[rip]
.L18:
	mov	rsi, rax
	lea	rdi, .LC16[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -40[rbp]
	lea	rsi, .LC11[rip]
	mov	rdi, rax
	call	dlsym@PLT
	mov	QWORD PTR -24[rbp], rax
	cmp	QWORD PTR -24[rbp], 0
	jne	.L19
	call	dlerror@PLT
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	je	.L20
	mov	rax, QWORD PTR -8[rbp]
	jmp	.L21
.L20:
	lea	rax, .LC1[rip]
.L21:
	mov	rsi, rax
	lea	rdi, .LC8[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -48[rbp]
	mov	rdi, rax
	call	dlclose@PLT
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	dlclose@PLT
	mov	esi, 163
	lea	rdi, .LC3[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, 1
	jmp	.L5
.L19:
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rax
	lea	rdi, .LC9[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -24[rbp]
	call	rax
	mov	DWORD PTR -52[rbp], eax
	cmp	DWORD PTR -52[rbp], 0
	je	.L22
	mov	rax, QWORD PTR -48[rbp]
	mov	rdi, rax
	call	dlclose@PLT
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	dlclose@PLT
	mov	esi, 168
	lea	rdi, .LC3[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, 1
	jmp	.L5
.L22:
	mov	rax, QWORD PTR -40[rbp]
	lea	rsi, .LC14[rip]
	mov	rdi, rax
	call	dlsym@PLT
	mov	QWORD PTR -16[rbp], rax
	cmp	QWORD PTR -16[rbp], 0
	je	.L23
	call	dlerror@PLT
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rax
	lea	rdi, .LC17[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -48[rbp]
	mov	rdi, rax
	call	dlclose@PLT
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	dlclose@PLT
	mov	esi, 177
	lea	rdi, .LC3[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, 1
	jmp	.L5
.L23:
	call	dlerror@PLT
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	je	.L24
	mov	rax, QWORD PTR -8[rbp]
	jmp	.L25
.L24:
	lea	rax, .LC1[rip]
.L25:
	mov	rsi, rax
	lea	rdi, .LC18[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -48[rbp]
	mov	rdi, rax
	call	dlclose@PLT
	mov	DWORD PTR -52[rbp], eax
	cmp	DWORD PTR -52[rbp], 0
	je	.L26
	call	dlerror@PLT
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	je	.L27
	mov	rax, QWORD PTR -8[rbp]
	jmp	.L28
.L27:
	lea	rax, .LC1[rip]
.L28:
	mov	rsi, rax
	lea	rdi, .LC19[rip]
	mov	eax, 0
	call	printf@PLT
	mov	esi, 190
	lea	rdi, .LC3[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, 1
	jmp	.L5
.L26:
	lea	rdi, .LC20[rip]
	call	puts@PLT
	mov	esi, 0
	lea	rdi, .LC0[rip]
	call	dlopen@PLT
	mov	QWORD PTR -48[rbp], rax
	cmp	QWORD PTR -48[rbp], 0
	jne	.L29
	call	dlerror@PLT
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	je	.L30
	mov	rax, QWORD PTR -8[rbp]
	jmp	.L31
.L30:
	lea	rax, .LC1[rip]
.L31:
	mov	rsi, rax
	lea	rdi, .LC21[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -48[rbp]
	mov	rdi, rax
	call	dlclose@PLT
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	dlclose@PLT
	mov	esi, 202
	lea	rdi, .LC3[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, 1
	jmp	.L5
.L29:
	mov	rax, QWORD PTR -48[rbp]
	mov	rsi, rax
	lea	rdi, .LC22[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -48[rbp]
	lea	rsi, .LC11[rip]
	mov	rdi, rax
	call	dlsym@PLT
	mov	QWORD PTR -24[rbp], rax
	cmp	QWORD PTR -24[rbp], 0
	jne	.L32
	call	dlerror@PLT
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	je	.L33
	mov	rax, QWORD PTR -8[rbp]
	jmp	.L34
.L33:
	lea	rax, .LC1[rip]
.L34:
	mov	rsi, rax
	lea	rdi, .LC12[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -48[rbp]
	mov	rdi, rax
	call	dlclose@PLT
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	dlclose@PLT
	mov	esi, 215
	lea	rdi, .LC3[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, 1
	jmp	.L5
.L32:
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rax
	lea	rdi, .LC13[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -24[rbp]
	call	rax
	mov	DWORD PTR -52[rbp], eax
	cmp	DWORD PTR -52[rbp], 0
	je	.L35
	mov	rax, QWORD PTR -48[rbp]
	mov	rdi, rax
	call	dlclose@PLT
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	dlclose@PLT
	mov	esi, 220
	lea	rdi, .LC3[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, 1
	jmp	.L5
.L35:
	mov	rax, QWORD PTR -48[rbp]
	lea	rsi, .LC14[rip]
	mov	rdi, rax
	call	dlsym@PLT
	mov	QWORD PTR -16[rbp], rax
	cmp	QWORD PTR -16[rbp], 0
	je	.L36
	call	dlerror@PLT
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rax
	lea	rdi, .LC15[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -48[rbp]
	mov	rdi, rax
	call	dlclose@PLT
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	dlclose@PLT
	mov	esi, 229
	lea	rdi, .LC3[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, 1
	jmp	.L5
.L36:
	call	dlerror@PLT
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	je	.L37
	mov	rax, QWORD PTR -8[rbp]
	jmp	.L38
.L37:
	lea	rax, .LC1[rip]
.L38:
	mov	rsi, rax
	lea	rdi, .LC16[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -40[rbp]
	lea	rsi, .LC11[rip]
	mov	rdi, rax
	call	dlsym@PLT
	mov	QWORD PTR -24[rbp], rax
	cmp	QWORD PTR -24[rbp], 0
	je	.L39
	call	dlerror@PLT
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	je	.L40
	mov	rax, QWORD PTR -8[rbp]
	jmp	.L41
.L40:
	lea	rax, .LC1[rip]
.L41:
	mov	rdx, QWORD PTR -24[rbp]
	mov	rsi, rax
	lea	rdi, .LC23[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -48[rbp]
	mov	rdi, rax
	call	dlclose@PLT
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	dlclose@PLT
	mov	esi, 245
	lea	rdi, .LC3[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, 1
	jmp	.L5
.L39:
	lea	rdi, .LC24[rip]
	call	puts@PLT
	mov	rax, QWORD PTR -40[rbp]
	lea	rsi, .LC14[rip]
	mov	rdi, rax
	call	dlsym@PLT
	mov	QWORD PTR -16[rbp], rax
	cmp	QWORD PTR -16[rbp], 0
	je	.L42
	call	dlerror@PLT
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rax
	lea	rdi, .LC25[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -48[rbp]
	mov	rdi, rax
	call	dlclose@PLT
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	dlclose@PLT
	mov	esi, 257
	lea	rdi, .LC3[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, 1
	jmp	.L5
.L42:
	call	dlerror@PLT
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	je	.L43
	mov	rax, QWORD PTR -8[rbp]
	jmp	.L44
.L43:
	lea	rax, .LC1[rip]
.L44:
	mov	rsi, rax
	lea	rdi, .LC26[rip]
	mov	eax, 0
	call	printf@PLT
	mov	esi, 256
	lea	rdi, .LC0[rip]
	call	dlopen@PLT
	mov	QWORD PTR -48[rbp], rax
	cmp	QWORD PTR -48[rbp], 0
	jne	.L45
	call	dlerror@PLT
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	je	.L46
	mov	rax, QWORD PTR -8[rbp]
	jmp	.L47
.L46:
	lea	rax, .LC1[rip]
.L47:
	mov	rsi, rax
	lea	rdi, .LC27[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -48[rbp]
	mov	rdi, rax
	call	dlclose@PLT
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	dlclose@PLT
	mov	esi, 272
	lea	rdi, .LC3[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, 1
	jmp	.L5
.L45:
	mov	rax, QWORD PTR -48[rbp]
	mov	rsi, rax
	lea	rdi, .LC28[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -40[rbp]
	lea	rsi, .LC11[rip]
	mov	rdi, rax
	call	dlsym@PLT
	mov	QWORD PTR -24[rbp], rax
	cmp	QWORD PTR -24[rbp], 0
	jne	.L48
	call	dlerror@PLT
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	je	.L49
	mov	rax, QWORD PTR -8[rbp]
	jmp	.L50
.L49:
	lea	rax, .LC1[rip]
.L50:
	mov	rsi, rax
	lea	rdi, .LC8[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -48[rbp]
	mov	rdi, rax
	call	dlclose@PLT
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	dlclose@PLT
	mov	esi, 285
	lea	rdi, .LC3[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, 1
	jmp	.L5
.L48:
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rax
	lea	rdi, .LC9[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -24[rbp]
	call	rax
	mov	DWORD PTR -52[rbp], eax
	cmp	DWORD PTR -52[rbp], 0
	je	.L51
	mov	rax, QWORD PTR -48[rbp]
	mov	rdi, rax
	call	dlclose@PLT
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	dlclose@PLT
	mov	esi, 290
	lea	rdi, .LC3[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, 1
	jmp	.L5
.L51:
	mov	rax, QWORD PTR -40[rbp]
	lea	rsi, .LC14[rip]
	mov	rdi, rax
	call	dlsym@PLT
	mov	QWORD PTR -16[rbp], rax
	cmp	QWORD PTR -16[rbp], 0
	je	.L52
	call	dlerror@PLT
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	rsi, rax
	lea	rdi, .LC17[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -48[rbp]
	mov	rdi, rax
	call	dlclose@PLT
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	dlclose@PLT
	mov	esi, 299
	lea	rdi, .LC3[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, 1
	jmp	.L5
.L52:
	call	dlerror@PLT
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	je	.L53
	mov	rax, QWORD PTR -8[rbp]
	jmp	.L54
.L53:
	lea	rax, .LC1[rip]
.L54:
	mov	rsi, rax
	lea	rdi, .LC18[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -40[rbp]
	lea	rsi, .LC7[rip]
	mov	rdi, rax
	call	dlsym@PLT
	mov	QWORD PTR -24[rbp], rax
	cmp	QWORD PTR -24[rbp], 0
	jne	.L55
	call	dlerror@PLT
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	je	.L56
	mov	rax, QWORD PTR -8[rbp]
	jmp	.L57
.L56:
	lea	rax, .LC1[rip]
.L57:
	mov	rsi, rax
	lea	rdi, .LC8[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -48[rbp]
	mov	rdi, rax
	call	dlclose@PLT
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	dlclose@PLT
	mov	esi, 315
	lea	rdi, .LC3[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, 1
	jmp	.L5
.L55:
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rax
	lea	rdi, .LC9[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -48[rbp]
	mov	rdi, rax
	call	dlclose@PLT
	mov	DWORD PTR -52[rbp], eax
	cmp	DWORD PTR -52[rbp], 0
	je	.L58
	call	dlerror@PLT
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	je	.L59
	mov	rax, QWORD PTR -8[rbp]
	jmp	.L60
.L59:
	lea	rax, .LC1[rip]
.L60:
	mov	rsi, rax
	lea	rdi, .LC19[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	dlclose@PLT
	mov	esi, 326
	lea	rdi, .LC3[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, 1
	jmp	.L5
.L58:
	lea	rdi, .LC20[rip]
	call	puts@PLT
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	dlclose@PLT
	mov	DWORD PTR -52[rbp], eax
	cmp	DWORD PTR -52[rbp], 0
	je	.L61
	call	dlerror@PLT
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	je	.L62
	mov	rax, QWORD PTR -8[rbp]
	jmp	.L63
.L62:
	lea	rax, .LC1[rip]
.L63:
	mov	rsi, rax
	lea	rdi, .LC29[rip]
	mov	eax, 0
	call	printf@PLT
	mov	esi, 336
	lea	rdi, .LC3[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, 1
	jmp	.L5
.L61:
	lea	rdi, .LC30[rip]
	call	puts@PLT
	mov	eax, 0
.L5:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE0:
	.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	"156393741.c"
	.text
	.section	.rodata
	.align	2
.LC0:
	.ascii	"testdll.dll\000"
	.align	2
.LC1:
	.ascii	"\000"
	.align	2
.LC2:
	.ascii	"ERROR\011Could not open library globally: %s\012\000"
	.align	2
.LC3:
	.ascii	"From line %d\012\000"
	.align	2
.LC4:
	.ascii	"SUCCESS\011Opened library globally: %p\012\000"
	.align	2
.LC5:
	.ascii	"ERROR\011Could not open global handle: %s\012\000"
	.align	2
.LC6:
	.ascii	"SUCCESS\011Got global handle: %p\012\000"
	.align	2
.LC7:
	.ascii	"printf\000"
	.align	2
.LC8:
	.ascii	"ERROR\011Could not get symbol from global handle: %"
	.ascii	"s\012\000"
	.align	2
.LC9:
	.ascii	"SUCCESS\011Got symbol from global handle: %p\012\000"
	.align	2
.LC10:
	.ascii	"Hello world from local printf!\012\000"
	.align	2
.LC11:
	.ascii	"function\000"
	.align	2
.LC12:
	.ascii	"ERROR\011Could not get symbol from library handle: "
	.ascii	"%s\012\000"
	.align	2
.LC13:
	.ascii	"SUCCESS\011Got symbol from library handle: %p\012\000"
	.align	2
.LC14:
	.ascii	"nonexistentfunction\000"
	.align	2
.LC15:
	.ascii	"ERROR\011Got nonexistent symbol from library handle"
	.ascii	": %p\012\000"
	.align	2
.LC16:
	.ascii	"SUCCESS\011Could not get nonexistent symbol from li"
	.ascii	"brary handle: %s\012\000"
	.align	2
.LC17:
	.ascii	"ERROR\011Got nonexistent symbol from global handle:"
	.ascii	" %p\012\000"
	.align	2
.LC18:
	.ascii	"SUCCESS\011Could not get nonexistent symbol from gl"
	.ascii	"obal handle: %s\012\000"
	.align	2
.LC19:
	.ascii	"ERROR\011Could not close library: %s\012\000"
	.align	2
.LC20:
	.ascii	"SUCCESS\011Closed library.\000"
	.align	2
.LC21:
	.ascii	"ERROR\011Could not open library locally: %s\012\000"
	.align	2
.LC22:
	.ascii	"SUCCESS\011Opened library locally: %p\012\000"
	.align	2
.LC23:
	.ascii	"ERROR\011Got local symbol from global handle: %s @ "
	.ascii	"%p\012\000"
	.align	2
.LC24:
	.ascii	"SUCCESS\011Did not get local symbol from global han"
	.ascii	"dle.\000"
	.align	2
.LC25:
	.ascii	"ERROR\011Got nonexistent local symbol from global h"
	.ascii	"andle: %p\012\000"
	.align	2
.LC26:
	.ascii	"SUCCESS\011Did not get nonexistent local symbol fro"
	.ascii	"m global handle: %s\012\000"
	.align	2
.LC27:
	.ascii	"ERROR\011Could not open library globally without cl"
	.ascii	"osing it first: %s\012\000"
	.align	2
.LC28:
	.ascii	"SUCCESS\011Opened library globally without closing "
	.ascii	"it first: %p\012\000"
	.align	2
.LC29:
	.ascii	"ERROR\011Could not close global handle: %s\012\000"
	.align	2
.LC30:
	.ascii	"SUCCESS\011Closed global handle.\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
	mov	r1, #256
	ldr	r0, .L64
	bl	dlopen
	str	r0, [fp, #-32]
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	bne	.L2
	bl	dlerror
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L3
	ldr	r3, [fp, #-8]
	b	.L4
.L3:
	ldr	r3, .L64+4
.L4:
	mov	r1, r3
	ldr	r0, .L64+8
	bl	printf
	mov	r1, #95
	ldr	r0, .L64+12
	bl	printf
	mov	r3, #1
	b	.L5
.L2:
	ldr	r1, [fp, #-32]
	ldr	r0, .L64+16
	bl	printf
	mov	r1, #256
	mov	r0, #0
	bl	dlopen
	str	r0, [fp, #-28]
	ldr	r3, [fp, #-28]
	cmp	r3, #0
	bne	.L6
	bl	dlerror
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L7
	ldr	r3, [fp, #-8]
	b	.L8
.L7:
	ldr	r3, .L64+4
.L8:
	mov	r1, r3
	ldr	r0, .L64+20
	bl	printf
	ldr	r0, [fp, #-32]
	bl	dlclose
	mov	r1, #106
	ldr	r0, .L64+12
	bl	printf
	mov	r3, #1
	b	.L5
.L6:
	ldr	r1, [fp, #-28]
	ldr	r0, .L64+24
	bl	printf
	ldr	r1, .L64+28
	ldr	r0, [fp, #-28]
	bl	dlsym
	mov	r3, r0
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bne	.L9
	bl	dlerror
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L10
	ldr	r3, [fp, #-8]
	b	.L11
.L10:
	ldr	r3, .L64+4
.L11:
	mov	r1, r3
	ldr	r0, .L64+32
	bl	printf
	ldr	r0, [fp, #-32]
	bl	dlclose
	ldr	r0, [fp, #-28]
	bl	dlclose
	mov	r1, #119
	ldr	r0, .L64+12
	bl	printf
	mov	r3, #1
	b	.L5
.L9:
	ldr	r1, [fp, #-24]
	ldr	r0, .L64+36
	bl	printf
	ldr	r3, [fp, #-24]
	ldr	r0, .L64+40
	blx	r3
	ldr	r1, .L64+44
	ldr	r0, [fp, #-32]
	bl	dlsym
	mov	r3, r0
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L12
	bl	dlerror
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L13
	ldr	r3, [fp, #-8]
	b	.L14
.L13:
	ldr	r3, .L64+4
.L14:
	mov	r1, r3
	ldr	r0, .L64+48
	bl	printf
	ldr	r0, [fp, #-32]
	bl	dlclose
	ldr	r0, [fp, #-28]
	bl	dlclose
	mov	r1, #133
	ldr	r0, .L64+12
	bl	printf
	mov	r3, #1
	b	.L5
.L12:
	ldr	r1, [fp, #-20]
	ldr	r0, .L64+52
	bl	printf
	ldr	r3, [fp, #-20]
	blx	r3
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L15
	ldr	r0, [fp, #-32]
	bl	dlclose
	ldr	r0, [fp, #-28]
	bl	dlclose
	mov	r1, #138
	ldr	r0, .L64+12
	bl	printf
	mov	r3, #1
	b	.L5
.L15:
	ldr	r1, .L64+56
	ldr	r0, [fp, #-32]
	bl	dlsym
	mov	r3, r0
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L16
	bl	dlerror
	str	r0, [fp, #-8]
	ldr	r1, [fp, #-12]
	ldr	r0, .L64+60
	bl	printf
	ldr	r0, [fp, #-32]
	bl	dlclose
	ldr	r0, [fp, #-28]
	bl	dlclose
	mov	r1, #147
	ldr	r0, .L64+12
	bl	printf
	mov	r3, #1
	b	.L5
.L16:
	bl	dlerror
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L17
	ldr	r3, [fp, #-8]
	b	.L18
.L17:
	ldr	r3, .L64+4
.L18:
	mov	r1, r3
	ldr	r0, .L64+64
	bl	printf
	ldr	r1, .L64+44
	ldr	r0, [fp, #-28]
	bl	dlsym
	mov	r3, r0
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L19
	bl	dlerror
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L20
	ldr	r3, [fp, #-8]
	b	.L21
.L20:
	ldr	r3, .L64+4
.L21:
	mov	r1, r3
	ldr	r0, .L64+32
	bl	printf
	ldr	r0, [fp, #-32]
	bl	dlclose
	ldr	r0, [fp, #-28]
	bl	dlclose
	mov	r1, #163
	ldr	r0, .L64+12
	bl	printf
	mov	r3, #1
	b	.L5
.L19:
	ldr	r1, [fp, #-20]
	ldr	r0, .L64+36
	bl	printf
	ldr	r3, [fp, #-20]
	blx	r3
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L22
	ldr	r0, [fp, #-32]
	bl	dlclose
	ldr	r0, [fp, #-28]
	bl	dlclose
	mov	r1, #168
	ldr	r0, .L64+12
	bl	printf
	mov	r3, #1
	b	.L5
.L22:
	ldr	r1, .L64+56
	ldr	r0, [fp, #-28]
	bl	dlsym
	mov	r3, r0
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L23
	bl	dlerror
	str	r0, [fp, #-8]
	ldr	r1, [fp, #-12]
	ldr	r0, .L64+68
	bl	printf
	ldr	r0, [fp, #-32]
	bl	dlclose
	ldr	r0, [fp, #-28]
	bl	dlclose
	mov	r1, #177
	ldr	r0, .L64+12
	bl	printf
	mov	r3, #1
	b	.L5
.L23:
	bl	dlerror
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L24
	ldr	r3, [fp, #-8]
	b	.L25
.L24:
	ldr	r3, .L64+4
.L25:
	mov	r1, r3
	ldr	r0, .L64+72
	bl	printf
	ldr	r0, [fp, #-32]
	bl	dlclose
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L26
	bl	dlerror
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L27
	ldr	r3, [fp, #-8]
	b	.L28
.L27:
	ldr	r3, .L64+4
.L28:
	mov	r1, r3
	ldr	r0, .L64+76
	bl	printf
	mov	r1, #190
	ldr	r0, .L64+12
	bl	printf
	mov	r3, #1
	b	.L5
.L26:
	ldr	r0, .L64+80
	bl	puts
	mov	r1, #0
	ldr	r0, .L64
	bl	dlopen
	str	r0, [fp, #-32]
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	bne	.L29
	bl	dlerror
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L30
	ldr	r3, [fp, #-8]
	b	.L31
.L30:
	ldr	r3, .L64+4
.L31:
	mov	r1, r3
	ldr	r0, .L64+84
	bl	printf
	ldr	r0, [fp, #-32]
	bl	dlclose
	ldr	r0, [fp, #-28]
	bl	dlclose
	mov	r1, #202
	ldr	r0, .L64+12
	bl	printf
	mov	r3, #1
	b	.L5
.L29:
	ldr	r1, [fp, #-32]
	ldr	r0, .L64+88
	bl	printf
	ldr	r1, .L64+44
	ldr	r0, [fp, #-32]
	bl	dlsym
	mov	r3, r0
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L32
	bl	dlerror
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L33
	ldr	r3, [fp, #-8]
	b	.L34
.L33:
	ldr	r3, .L64+4
.L34:
	mov	r1, r3
	ldr	r0, .L64+48
	bl	printf
	ldr	r0, [fp, #-32]
	bl	dlclose
	ldr	r0, [fp, #-28]
	bl	dlclose
	mov	r1, #215
	ldr	r0, .L64+12
	bl	printf
	mov	r3, #1
	b	.L5
.L32:
	ldr	r1, [fp, #-20]
	ldr	r0, .L64+52
	bl	printf
	ldr	r3, [fp, #-20]
	blx	r3
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L35
	ldr	r0, [fp, #-32]
	bl	dlclose
	ldr	r0, [fp, #-28]
	bl	dlclose
	mov	r1, #220
	ldr	r0, .L64+12
	bl	printf
	mov	r3, #1
	b	.L5
.L35:
	ldr	r1, .L64+56
	ldr	r0, [fp, #-32]
	bl	dlsym
	mov	r3, r0
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L36
	bl	dlerror
	str	r0, [fp, #-8]
	ldr	r1, [fp, #-12]
	ldr	r0, .L64+60
	bl	printf
	ldr	r0, [fp, #-32]
	bl	dlclose
	ldr	r0, [fp, #-28]
	bl	dlclose
	mov	r1, #229
	ldr	r0, .L64+12
	bl	printf
	mov	r3, #1
	b	.L5
.L36:
	bl	dlerror
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L37
	ldr	r3, [fp, #-8]
	b	.L38
.L37:
	ldr	r3, .L64+4
.L38:
	mov	r1, r3
	ldr	r0, .L64+64
	bl	printf
	ldr	r1, .L64+44
	ldr	r0, [fp, #-28]
	bl	dlsym
	mov	r3, r0
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L39
	bl	dlerror
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L40
	ldr	r3, [fp, #-8]
	b	.L41
.L40:
	ldr	r3, .L64+4
.L41:
	ldr	r2, [fp, #-20]
	mov	r1, r3
	ldr	r0, .L64+92
	bl	printf
	ldr	r0, [fp, #-32]
	bl	dlclose
	ldr	r0, [fp, #-28]
	bl	dlclose
	mov	r1, #245
	ldr	r0, .L64+12
	bl	printf
	mov	r3, #1
	b	.L5
.L39:
	ldr	r0, .L64+96
	bl	puts
	ldr	r1, .L64+56
	ldr	r0, [fp, #-28]
	bl	dlsym
	mov	r3, r0
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L42
	bl	dlerror
	str	r0, [fp, #-8]
	ldr	r1, [fp, #-12]
	ldr	r0, .L64+100
	bl	printf
	ldr	r0, [fp, #-32]
	bl	dlclose
	ldr	r0, [fp, #-28]
	bl	dlclose
	ldr	r1, .L64+104
	ldr	r0, .L64+12
	bl	printf
	mov	r3, #1
	b	.L5
.L42:
	bl	dlerror
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L43
	ldr	r3, [fp, #-8]
	b	.L44
.L43:
	ldr	r3, .L64+4
.L44:
	mov	r1, r3
	ldr	r0, .L64+108
	bl	printf
	mov	r1, #256
	ldr	r0, .L64
	bl	dlopen
	str	r0, [fp, #-32]
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	bne	.L45
	bl	dlerror
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L46
	ldr	r3, [fp, #-8]
	b	.L47
.L46:
	ldr	r3, .L64+4
.L47:
	mov	r1, r3
	ldr	r0, .L64+112
	bl	printf
	ldr	r0, [fp, #-32]
	bl	dlclose
	ldr	r0, [fp, #-28]
	bl	dlclose
	mov	r1, #272
	ldr	r0, .L64+12
	bl	printf
	mov	r3, #1
	b	.L5
.L45:
	ldr	r1, [fp, #-32]
	ldr	r0, .L64+116
	bl	printf
	ldr	r1, .L64+44
	ldr	r0, [fp, #-28]
	bl	dlsym
	mov	r3, r0
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L48
	bl	dlerror
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L49
	ldr	r3, [fp, #-8]
	b	.L50
.L49:
	ldr	r3, .L64+4
.L50:
	mov	r1, r3
	ldr	r0, .L64+32
	bl	printf
	ldr	r0, [fp, #-32]
	bl	dlclose
	ldr	r0, [fp, #-28]
	bl	dlclose
	ldr	r1, .L64+120
	ldr	r0, .L64+12
	bl	printf
	mov	r3, #1
	b	.L5
.L48:
	ldr	r1, [fp, #-20]
	ldr	r0, .L64+36
	bl	printf
	ldr	r3, [fp, #-20]
	blx	r3
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L51
	ldr	r0, [fp, #-32]
	bl	dlclose
	ldr	r0, [fp, #-28]
	bl	dlclose
	ldr	r1, .L64+124
	ldr	r0, .L64+12
	bl	printf
	mov	r3, #1
	b	.L5
.L51:
	ldr	r1, .L64+56
	ldr	r0, [fp, #-28]
	bl	dlsym
	mov	r3, r0
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	beq	.L52
	bl	dlerror
	str	r0, [fp, #-8]
	ldr	r1, [fp, #-12]
	ldr	r0, .L64+68
	bl	printf
	ldr	r0, [fp, #-32]
	bl	dlclose
	ldr	r0, [fp, #-28]
	bl	dlclose
	ldr	r1, .L64+128
	ldr	r0, .L64+12
	bl	printf
	mov	r3, #1
	b	.L5
.L52:
	bl	dlerror
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L53
	ldr	r3, [fp, #-8]
	b	.L54
.L53:
	ldr	r3, .L64+4
.L54:
	mov	r1, r3
	ldr	r0, .L64+72
	bl	printf
	ldr	r1, .L64+28
	ldr	r0, [fp, #-28]
	bl	dlsym
	mov	r3, r0
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bne	.L55
	bl	dlerror
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L56
	ldr	r3, [fp, #-8]
	b	.L57
.L56:
	ldr	r3, .L64+4
.L57:
	mov	r1, r3
	ldr	r0, .L64+32
	bl	printf
	ldr	r0, [fp, #-32]
	bl	dlclose
	ldr	r0, [fp, #-28]
	bl	dlclose
	ldr	r1, .L64+132
	ldr	r0, .L64+12
	bl	printf
	mov	r3, #1
	b	.L5
.L55:
	ldr	r1, [fp, #-20]
	ldr	r0, .L64+36
	bl	printf
	ldr	r0, [fp, #-32]
	bl	dlclose
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L58
	bl	dlerror
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L59
	ldr	r3, [fp, #-8]
	b	.L60
.L59:
	ldr	r3, .L64+4
.L60:
	mov	r1, r3
	ldr	r0, .L64+76
	bl	printf
	ldr	r0, [fp, #-28]
	bl	dlclose
	ldr	r1, .L64+136
	ldr	r0, .L64+12
	bl	printf
	mov	r3, #1
	b	.L5
.L58:
	ldr	r0, .L64+80
	bl	puts
	ldr	r0, [fp, #-28]
	bl	dlclose
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	beq	.L61
	bl	dlerror
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L62
	ldr	r3, [fp, #-8]
	b	.L63
.L62:
	ldr	r3, .L64+4
.L63:
	mov	r1, r3
	ldr	r0, .L64+140
	bl	printf
	mov	r1, #336
	ldr	r0, .L64+12
	bl	printf
	mov	r3, #1
	b	.L5
.L61:
	ldr	r0, .L64+144
	bl	puts
	mov	r3, #0
.L5:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L65:
	.align	2
.L64:
	.word	.LC0
	.word	.LC1
	.word	.LC2
	.word	.LC3
	.word	.LC4
	.word	.LC5
	.word	.LC6
	.word	.LC7
	.word	.LC8
	.word	.LC9
	.word	.LC10
	.word	.LC11
	.word	.LC12
	.word	.LC13
	.word	.LC14
	.word	.LC15
	.word	.LC16
	.word	.LC17
	.word	.LC18
	.word	.LC19
	.word	.LC20
	.word	.LC21
	.word	.LC22
	.word	.LC23
	.word	.LC24
	.word	.LC25
	.word	257
	.word	.LC26
	.word	.LC27
	.word	.LC28
	.word	285
	.word	290
	.word	299
	.word	315
	.word	326
	.word	.LC29
	.word	.LC30
	.size	main, .-main
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
