	.file	"extr_path.c_test_path_state.c"
	.intel_syntax noprefix
	.text
	.section	.rodata.str1.1,"aMS",@progbits,1
.LC0:
	.string	"WidenPath succeeded\n"
.LC1:
	.string	"EndPath failed error %u\n"
.LC2:
	.string	"WidenPath failed error %u\n"
.LC3:
	.string	"wrong error %u\n"
.LC4:
	.string	"FlattenPath succeeded\n"
.LC5:
	.string	"StrokePath succeeded\n"
.LC6:
	.string	"FillPath succeeded\n"
.LC7:
	.string	"StrokeAndFillPath succeeded\n"
.LC8:
	.string	"SelectClipPath succeeded\n"
.LC9:
	.string	"PathToRegion succeeded\n"
.LC10:
	.string	"CloseFigure succeeded\n"
.LC11:
	.string	"CloseFigure failed\n"
.LC12:
	.string	"WidenPath failed\n"
.LC13:
	.string	"path deleted\n"
.LC14:
	.string	"FlattenPath failed\n"
.LC15:
	.string	"StrokePath failed\n"
.LC16:
	.string	"path not deleted\n"
.LC17:
	.string	"FillPath failed\n"
.LC18:
	.string	"StrokeAndFillPath failed\n"
.LC19:
	.string	"SelectClipPath failed\n"
	.section	.rodata.str1.8,"aMS",@progbits,1
	.align 8
.LC20:
	.string	"SelectClipPath succeeded on empty path\n"
	.section	.rodata.str1.1
.LC21:
	.string	"PathToRegion failed\n"
	.section	.rodata.str1.8
	.align 8
.LC22:
	.string	"PathToRegion succeeded on empty path\n"
	.section	.rodata.str1.1
.LC23:
	.string	"EndPath succeeded\n"
	.text
	.p2align 4
	.type	test_path_state, @function
test_path_state:
.LFB0:
	.cfi_startproc
	endbr64
	push	r14
	.cfi_def_cfa_offset 16
	.cfi_offset 14, -16
	push	r13
	.cfi_def_cfa_offset 24
	.cfi_offset 13, -24
	push	r12
	.cfi_def_cfa_offset 32
	.cfi_offset 12, -32
	push	rbp
	.cfi_def_cfa_offset 40
	.cfi_offset 6, -40
	sub	rsp, 4096
	.cfi_def_cfa_offset 4136
	or	QWORD PTR [rsp], 0
	sub	rsp, 136
	.cfi_def_cfa_offset 4272
	xor	edi, edi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR 4216[rsp], rax
	xor	eax, eax
	lea	r12, 16[rsp]
	call	CreateCompatibleDC@PLT
	xor	esi, esi
	mov	rdi, r12
	mov	edx, 4192
	mov	ebp, eax
	call	memset@PLT
	mov	edx, DWORD PTR DIB_RGB_COLORS[rip]
	xor	r9d, r9d
	xor	edi, edi
	movabs	rax, 1099511627800
	xor	r8d, r8d
	lea	rcx, 8[rsp]
	mov	rsi, r12
	mov	QWORD PTR 16[rsp], rax
	movabs	rax, 137438953728
	mov	QWORD PTR 24[rsp], rax
	mov	eax, DWORD PTR BI_RGB[rip]
	mov	DWORD PTR 32[rsp], 1
	mov	DWORD PTR 36[rsp], eax
	call	CreateDIBSection@PLT
	mov	edi, ebp
	mov	rsi, rax
	mov	r12, rax
	call	SelectObject@PLT
	mov	edi, ebp
	mov	r13, rax
	call	BeginPath@PLT
	mov	edx, 100
	mov	esi, 100
	mov	edi, ebp
	call	LineTo@PLT
	mov	edi, ebp
	call	WidenPath@PLT
	xor	edi, edi
	lea	rsi, .LC0[rip]
	test	eax, eax
	sete	dil
	xor	eax, eax
	call	ok@PLT
	mov	rsi, r13
	mov	edi, ebp
	call	SelectObject@PLT
	mov	edi, ebp
	call	WidenPath@PLT
	xor	edi, edi
	lea	rsi, .LC0[rip]
	test	eax, eax
	sete	dil
	xor	eax, eax
	call	ok@PLT
	mov	rsi, r12
	mov	edi, ebp
	call	SelectObject@PLT
	mov	edi, ebp
	call	WidenPath@PLT
	xor	edi, edi
	lea	rsi, .LC0[rip]
	test	eax, eax
	sete	dil
	xor	eax, eax
	call	ok@PLT
	mov	edi, ebp
	call	EndPath@PLT
	mov	r14d, eax
	xor	eax, eax
	call	GetLastError@PLT
	lea	rsi, .LC1[rip]
	mov	edi, r14d
	mov	edx, eax
	xor	eax, eax
	call	ok@PLT
	mov	edi, ebp
	call	WidenPath@PLT
	mov	r14d, eax
	xor	eax, eax
	call	GetLastError@PLT
	lea	rsi, .LC2[rip]
	mov	edi, r14d
	mov	edx, eax
	xor	eax, eax
	call	ok@PLT
	mov	rsi, r13
	mov	edi, ebp
	call	SelectObject@PLT
	mov	edi, ebp
	call	WidenPath@PLT
	mov	r13d, eax
	xor	eax, eax
	call	GetLastError@PLT
	lea	rsi, .LC2[rip]
	mov	edi, r13d
	mov	edx, eax
	xor	eax, eax
	call	ok@PLT
	mov	edi, ebp
	call	BeginPath@PLT
	mov	edx, 100
	mov	esi, 100
	mov	edi, ebp
	call	LineTo@PLT
	mov	edi, ebp
	call	WidenPath@PLT
	xor	edi, edi
	lea	rsi, .LC0[rip]
	test	eax, eax
	sete	dil
	xor	eax, eax
	call	ok@PLT
	mov	edi, ebp
	call	SaveDC@PLT
	mov	rsi, r12
	mov	edi, ebp
	call	SelectObject@PLT
	mov	edi, ebp
	call	EndPath@PLT
	mov	r13d, eax
	xor	eax, eax
	call	GetLastError@PLT
	lea	rsi, .LC1[rip]
	mov	edi, r13d
	mov	edx, eax
	xor	eax, eax
	call	ok@PLT
	mov	edi, ebp
	call	WidenPath@PLT
	mov	r13d, eax
	xor	eax, eax
	call	GetLastError@PLT
	mov	edi, r13d
	lea	rsi, .LC2[rip]
	mov	edx, eax
	xor	eax, eax
	call	ok@PLT
	mov	esi, -1
	mov	edi, ebp
	call	RestoreDC@PLT
	mov	edi, ebp
	call	WidenPath@PLT
	xor	edi, edi
	lea	rsi, .LC0[rip]
	test	eax, eax
	sete	dil
	xor	eax, eax
	call	ok@PLT
	mov	edi, ebp
	call	EndPath@PLT
	mov	r13d, eax
	xor	eax, eax
	call	GetLastError@PLT
	lea	rsi, .LC1[rip]
	mov	edi, r13d
	mov	edx, eax
	xor	eax, eax
	call	ok@PLT
	mov	edi, ebp
	call	SaveDC@PLT
	mov	edi, ebp
	call	BeginPath@PLT
	mov	esi, -1
	mov	edi, ebp
	call	RestoreDC@PLT
	mov	edi, ebp
	call	WidenPath@PLT
	mov	r13d, eax
	xor	eax, eax
	call	GetLastError@PLT
	lea	rsi, .LC2[rip]
	mov	edi, r13d
	mov	edx, eax
	xor	eax, eax
	call	ok@PLT
	mov	edi, ebp
	call	AbortPath@PLT
	mov	edi, -559038737
	call	SetLastError@PLT
	mov	edi, ebp
	call	WidenPath@PLT
	xor	edi, edi
	lea	rsi, .LC0[rip]
	test	eax, eax
	sete	dil
	xor	eax, eax
	call	ok@PLT
	xor	eax, eax
	call	GetLastError@PLT
	mov	r13d, eax
	xor	eax, eax
	call	GetLastError@PLT
	cmp	eax, DWORD PTR ERROR_CAN_NOT_COMPLETE[rip]
	mov	edi, 1
	je	.L2
	xor	eax, eax
	call	GetLastError@PLT
	xor	edi, edi
	cmp	eax, -559038737
	sete	dil
	call	broken@PLT
	xor	edi, edi
	test	rax, rax
	setne	dil
.L2:
	mov	edx, r13d
	lea	rsi, .LC3[rip]
	xor	eax, eax
	call	ok@PLT
	mov	edi, -559038737
	call	SetLastError@PLT
	mov	edi, ebp
	call	FlattenPath@PLT
	xor	edi, edi
	lea	rsi, .LC4[rip]
	test	eax, eax
	sete	dil
	xor	eax, eax
	call	ok@PLT
	xor	eax, eax
	call	GetLastError@PLT
	mov	r13d, eax
	xor	eax, eax
	call	GetLastError@PLT
	cmp	eax, DWORD PTR ERROR_CAN_NOT_COMPLETE[rip]
	mov	edi, 1
	je	.L3
	xor	eax, eax
	call	GetLastError@PLT
	xor	edi, edi
	cmp	eax, -559038737
	sete	dil
	call	broken@PLT
	xor	edi, edi
	test	rax, rax
	setne	dil
.L3:
	mov	edx, r13d
	lea	rsi, .LC3[rip]
	xor	eax, eax
	call	ok@PLT
	mov	edi, -559038737
	call	SetLastError@PLT
	mov	edi, ebp
	call	StrokePath@PLT
	xor	edi, edi
	lea	rsi, .LC5[rip]
	test	eax, eax
	sete	dil
	xor	eax, eax
	call	ok@PLT
	xor	eax, eax
	call	GetLastError@PLT
	mov	r13d, eax
	xor	eax, eax
	call	GetLastError@PLT
	cmp	eax, DWORD PTR ERROR_CAN_NOT_COMPLETE[rip]
	mov	edi, 1
	je	.L4
	xor	eax, eax
	call	GetLastError@PLT
	xor	edi, edi
	cmp	eax, -559038737
	sete	dil
	call	broken@PLT
	xor	edi, edi
	test	rax, rax
	setne	dil
.L4:
	mov	edx, r13d
	lea	rsi, .LC3[rip]
	xor	eax, eax
	call	ok@PLT
	mov	edi, -559038737
	call	SetLastError@PLT
	mov	edi, ebp
	call	FillPath@PLT
	xor	edi, edi
	lea	rsi, .LC6[rip]
	test	eax, eax
	sete	dil
	xor	eax, eax
	call	ok@PLT
	xor	eax, eax
	call	GetLastError@PLT
	mov	r13d, eax
	xor	eax, eax
	call	GetLastError@PLT
	cmp	eax, DWORD PTR ERROR_CAN_NOT_COMPLETE[rip]
	mov	edi, 1
	je	.L5
	xor	eax, eax
	call	GetLastError@PLT
	xor	edi, edi
	cmp	eax, -559038737
	sete	dil
	call	broken@PLT
	xor	edi, edi
	test	rax, rax
	setne	dil
.L5:
	mov	edx, r13d
	lea	rsi, .LC3[rip]
	xor	eax, eax
	call	ok@PLT
	mov	edi, -559038737
	call	SetLastError@PLT
	mov	edi, ebp
	call	StrokeAndFillPath@PLT
	xor	edi, edi
	lea	rsi, .LC7[rip]
	test	eax, eax
	sete	dil
	xor	eax, eax
	call	ok@PLT
	xor	eax, eax
	call	GetLastError@PLT
	mov	r13d, eax
	xor	eax, eax
	call	GetLastError@PLT
	cmp	eax, DWORD PTR ERROR_CAN_NOT_COMPLETE[rip]
	mov	edi, 1
	je	.L6
	xor	eax, eax
	call	GetLastError@PLT
	xor	edi, edi
	cmp	eax, -559038737
	sete	dil
	call	broken@PLT
	xor	edi, edi
	test	rax, rax
	setne	dil
.L6:
	mov	edx, r13d
	lea	rsi, .LC3[rip]
	xor	eax, eax
	call	ok@PLT
	mov	edi, -559038737
	call	SetLastError@PLT
	mov	esi, DWORD PTR RGN_OR[rip]
	mov	edi, ebp
	call	SelectClipPath@PLT
	xor	edi, edi
	lea	rsi, .LC8[rip]
	test	eax, eax
	sete	dil
	xor	eax, eax
	call	ok@PLT
	xor	eax, eax
	call	GetLastError@PLT
	mov	r13d, eax
	xor	eax, eax
	call	GetLastError@PLT
	cmp	eax, DWORD PTR ERROR_CAN_NOT_COMPLETE[rip]
	mov	edi, 1
	je	.L7
	xor	eax, eax
	call	GetLastError@PLT
	xor	edi, edi
	cmp	eax, -559038737
	sete	dil
	call	broken@PLT
	xor	edi, edi
	test	rax, rax
	setne	dil
.L7:
	mov	edx, r13d
	lea	rsi, .LC3[rip]
	xor	eax, eax
	call	ok@PLT
	mov	edi, -559038737
	call	SetLastError@PLT
	mov	edi, ebp
	call	PathToRegion@PLT
	xor	edi, edi
	lea	rsi, .LC9[rip]
	test	rax, rax
	sete	dil
	xor	eax, eax
	call	ok@PLT
	xor	eax, eax
	call	GetLastError@PLT
	mov	r13d, eax
	xor	eax, eax
	call	GetLastError@PLT
	cmp	eax, DWORD PTR ERROR_CAN_NOT_COMPLETE[rip]
	mov	edi, 1
	je	.L8
	xor	eax, eax
	call	GetLastError@PLT
	xor	edi, edi
	cmp	eax, -559038737
	sete	dil
	call	broken@PLT
	xor	edi, edi
	test	rax, rax
	setne	dil
.L8:
	mov	edx, r13d
	lea	rsi, .LC3[rip]
	xor	eax, eax
	call	ok@PLT
	mov	edi, -559038737
	call	SetLastError@PLT
	mov	edi, ebp
	call	EndPath@PLT
	xor	edi, edi
	lea	rsi, .LC8[rip]
	test	eax, eax
	sete	dil
	xor	eax, eax
	call	ok@PLT
	xor	eax, eax
	call	GetLastError@PLT
	mov	r13d, eax
	xor	eax, eax
	call	GetLastError@PLT
	cmp	eax, DWORD PTR ERROR_CAN_NOT_COMPLETE[rip]
	mov	edi, 1
	je	.L9
	xor	eax, eax
	call	GetLastError@PLT
	xor	edi, edi
	cmp	eax, -559038737
	sete	dil
	call	broken@PLT
	xor	edi, edi
	test	rax, rax
	setne	dil
.L9:
	mov	edx, r13d
	lea	rsi, .LC3[rip]
	xor	eax, eax
	call	ok@PLT
	mov	edi, -559038737
	call	SetLastError@PLT
	mov	edi, ebp
	call	CloseFigure@PLT
	xor	edi, edi
	lea	rsi, .LC10[rip]
	test	eax, eax
	sete	dil
	xor	eax, eax
	call	ok@PLT
	xor	eax, eax
	call	GetLastError@PLT
	mov	r13d, eax
	xor	eax, eax
	call	GetLastError@PLT
	cmp	eax, DWORD PTR ERROR_CAN_NOT_COMPLETE[rip]
	mov	edi, 1
	je	.L10
	xor	eax, eax
	call	GetLastError@PLT
	xor	edi, edi
	cmp	eax, -559038737
	sete	dil
	call	broken@PLT
	xor	edi, edi
	test	rax, rax
	setne	dil
.L10:
	mov	edx, r13d
	lea	rsi, .LC3[rip]
	xor	eax, eax
	call	ok@PLT
	mov	edi, ebp
	call	AbortPath@PLT
	mov	edi, ebp
	call	BeginPath@PLT
	mov	edi, -559038737
	call	SetLastError@PLT
	mov	edi, ebp
	call	WidenPath@PLT
	xor	edi, edi
	lea	rsi, .LC0[rip]
	test	eax, eax
	sete	dil
	xor	eax, eax
	call	ok@PLT
	xor	eax, eax
	call	GetLastError@PLT
	mov	r13d, eax
	xor	eax, eax
	call	GetLastError@PLT
	cmp	eax, DWORD PTR ERROR_CAN_NOT_COMPLETE[rip]
	mov	edi, 1
	je	.L11
	xor	eax, eax
	call	GetLastError@PLT
	xor	edi, edi
	cmp	eax, -559038737
	sete	dil
	call	broken@PLT
	xor	edi, edi
	test	rax, rax
	setne	dil
.L11:
	mov	edx, r13d
	lea	rsi, .LC3[rip]
	xor	eax, eax
	call	ok@PLT
	mov	edi, ebp
	call	AbortPath@PLT
	mov	edi, ebp
	call	BeginPath@PLT
	mov	edi, -559038737
	call	SetLastError@PLT
	mov	edi, ebp
	call	FlattenPath@PLT
	xor	edi, edi
	lea	rsi, .LC4[rip]
	test	eax, eax
	sete	dil
	xor	eax, eax
	call	ok@PLT
	xor	eax, eax
	call	GetLastError@PLT
	mov	r13d, eax
	xor	eax, eax
	call	GetLastError@PLT
	cmp	eax, DWORD PTR ERROR_CAN_NOT_COMPLETE[rip]
	mov	edi, 1
	je	.L12
	xor	eax, eax
	call	GetLastError@PLT
	xor	edi, edi
	cmp	eax, -559038737
	sete	dil
	call	broken@PLT
	xor	edi, edi
	test	rax, rax
	setne	dil
.L12:
	mov	edx, r13d
	lea	rsi, .LC3[rip]
	xor	eax, eax
	call	ok@PLT
	mov	edi, ebp
	call	AbortPath@PLT
	mov	edi, ebp
	call	BeginPath@PLT
	mov	edi, -559038737
	call	SetLastError@PLT
	mov	edi, ebp
	call	StrokePath@PLT
	xor	edi, edi
	lea	rsi, .LC5[rip]
	test	eax, eax
	sete	dil
	xor	eax, eax
	call	ok@PLT
	xor	eax, eax
	call	GetLastError@PLT
	mov	r13d, eax
	xor	eax, eax
	call	GetLastError@PLT
	cmp	eax, DWORD PTR ERROR_CAN_NOT_COMPLETE[rip]
	mov	edi, 1
	je	.L13
	xor	eax, eax
	call	GetLastError@PLT
	xor	edi, edi
	cmp	eax, -559038737
	sete	dil
	call	broken@PLT
	xor	edi, edi
	test	rax, rax
	setne	dil
.L13:
	mov	edx, r13d
	lea	rsi, .LC3[rip]
	xor	eax, eax
	call	ok@PLT
	mov	edi, ebp
	call	AbortPath@PLT
	mov	edi, ebp
	call	BeginPath@PLT
	mov	edi, -559038737
	call	SetLastError@PLT
	mov	edi, ebp
	call	FillPath@PLT
	xor	edi, edi
	lea	rsi, .LC6[rip]
	test	eax, eax
	sete	dil
	xor	eax, eax
	call	ok@PLT
	xor	eax, eax
	call	GetLastError@PLT
	mov	r13d, eax
	xor	eax, eax
	call	GetLastError@PLT
	cmp	eax, DWORD PTR ERROR_CAN_NOT_COMPLETE[rip]
	mov	edi, 1
	je	.L14
	xor	eax, eax
	call	GetLastError@PLT
	xor	edi, edi
	cmp	eax, -559038737
	sete	dil
	call	broken@PLT
	xor	edi, edi
	test	rax, rax
	setne	dil
.L14:
	mov	edx, r13d
	lea	rsi, .LC3[rip]
	xor	eax, eax
	call	ok@PLT
	mov	edi, ebp
	call	AbortPath@PLT
	mov	edi, ebp
	call	BeginPath@PLT
	mov	edi, -559038737
	call	SetLastError@PLT
	mov	edi, ebp
	call	StrokeAndFillPath@PLT
	xor	edi, edi
	lea	rsi, .LC7[rip]
	test	eax, eax
	sete	dil
	xor	eax, eax
	call	ok@PLT
	xor	eax, eax
	call	GetLastError@PLT
	mov	r13d, eax
	xor	eax, eax
	call	GetLastError@PLT
	cmp	eax, DWORD PTR ERROR_CAN_NOT_COMPLETE[rip]
	mov	edi, 1
	je	.L15
	xor	eax, eax
	call	GetLastError@PLT
	xor	edi, edi
	cmp	eax, -559038737
	sete	dil
	call	broken@PLT
	xor	edi, edi
	test	rax, rax
	setne	dil
.L15:
	mov	edx, r13d
	lea	rsi, .LC3[rip]
	xor	eax, eax
	call	ok@PLT
	mov	edi, ebp
	call	AbortPath@PLT
	mov	edi, ebp
	call	BeginPath@PLT
	mov	r8d, 10
	mov	ecx, 10
	mov	edi, ebp
	mov	edx, 1
	mov	esi, 1
	call	Rectangle@PLT
	mov	edi, -559038737
	call	SetLastError@PLT
	mov	esi, DWORD PTR RGN_OR[rip]
	mov	edi, ebp
	call	SelectClipPath@PLT
	xor	edi, edi
	lea	rsi, .LC8[rip]
	test	eax, eax
	sete	dil
	xor	eax, eax
	call	ok@PLT
	xor	eax, eax
	call	GetLastError@PLT
	mov	r13d, eax
	xor	eax, eax
	call	GetLastError@PLT
	cmp	eax, DWORD PTR ERROR_CAN_NOT_COMPLETE[rip]
	mov	edi, 1
	je	.L16
	xor	eax, eax
	call	GetLastError@PLT
	xor	edi, edi
	cmp	eax, -559038737
	sete	dil
	call	broken@PLT
	xor	edi, edi
	test	rax, rax
	setne	dil
.L16:
	mov	edx, r13d
	lea	rsi, .LC3[rip]
	xor	eax, eax
	call	ok@PLT
	mov	edi, ebp
	call	AbortPath@PLT
	mov	edi, ebp
	call	BeginPath@PLT
	mov	r8d, 10
	mov	ecx, 10
	mov	edi, ebp
	mov	edx, 1
	mov	esi, 1
	call	Rectangle@PLT
	mov	edi, -559038737
	call	SetLastError@PLT
	mov	edi, ebp
	call	PathToRegion@PLT
	xor	edi, edi
	lea	rsi, .LC9[rip]
	test	rax, rax
	sete	dil
	xor	eax, eax
	call	ok@PLT
	xor	eax, eax
	call	GetLastError@PLT
	mov	r13d, eax
	xor	eax, eax
	call	GetLastError@PLT
	cmp	eax, DWORD PTR ERROR_CAN_NOT_COMPLETE[rip]
	mov	edi, 1
	je	.L17
	xor	eax, eax
	call	GetLastError@PLT
	xor	edi, edi
	cmp	eax, -559038737
	sete	dil
	call	broken@PLT
	xor	edi, edi
	test	rax, rax
	setne	dil
.L17:
	mov	edx, r13d
	lea	rsi, .LC3[rip]
	xor	eax, eax
	call	ok@PLT
	mov	edi, ebp
	call	AbortPath@PLT
	mov	edi, ebp
	call	BeginPath@PLT
	mov	edi, ebp
	call	CloseFigure@PLT
	lea	rsi, .LC11[rip]
	mov	edi, eax
	xor	eax, eax
	call	ok@PLT
	mov	edi, ebp
	call	AbortPath@PLT
	mov	edi, ebp
	call	BeginPath@PLT
	mov	edi, ebp
	call	EndPath@PLT
	mov	edi, ebp
	call	WidenPath@PLT
	lea	rsi, .LC12[rip]
	mov	edi, eax
	xor	eax, eax
	call	ok@PLT
	xor	ecx, ecx
	xor	edx, edx
	xor	esi, esi
	mov	edi, ebp
	call	GetPath@PLT
	xor	edi, edi
	lea	rsi, .LC13[rip]
	cmp	eax, -1
	setne	dil
	xor	eax, eax
	call	ok@PLT
	mov	edi, ebp
	call	AbortPath@PLT
	mov	edi, ebp
	call	BeginPath@PLT
	mov	edi, ebp
	call	EndPath@PLT
	mov	edi, ebp
	call	FlattenPath@PLT
	lea	rsi, .LC14[rip]
	mov	edi, eax
	xor	eax, eax
	call	ok@PLT
	xor	ecx, ecx
	xor	edx, edx
	xor	esi, esi
	mov	edi, ebp
	call	GetPath@PLT
	xor	edi, edi
	lea	rsi, .LC13[rip]
	cmp	eax, -1
	setne	dil
	xor	eax, eax
	call	ok@PLT
	mov	edi, ebp
	call	AbortPath@PLT
	mov	edi, ebp
	call	BeginPath@PLT
	mov	edi, ebp
	call	EndPath@PLT
	mov	edi, ebp
	call	StrokePath@PLT
	lea	rsi, .LC15[rip]
	mov	edi, eax
	xor	eax, eax
	call	ok@PLT
	xor	ecx, ecx
	xor	edx, edx
	xor	esi, esi
	mov	edi, ebp
	call	GetPath@PLT
	xor	edi, edi
	lea	rsi, .LC16[rip]
	cmp	eax, -1
	sete	dil
	xor	eax, eax
	call	ok@PLT
	mov	edi, ebp
	call	BeginPath@PLT
	mov	edi, ebp
	call	EndPath@PLT
	mov	edi, ebp
	call	FillPath@PLT
	lea	rsi, .LC17[rip]
	mov	edi, eax
	xor	eax, eax
	call	ok@PLT
	xor	ecx, ecx
	xor	edx, edx
	xor	esi, esi
	mov	edi, ebp
	call	GetPath@PLT
	xor	edi, edi
	lea	rsi, .LC16[rip]
	cmp	eax, -1
	sete	dil
	xor	eax, eax
	call	ok@PLT
	mov	edi, ebp
	call	BeginPath@PLT
	mov	edi, ebp
	call	EndPath@PLT
	mov	edi, ebp
	call	StrokeAndFillPath@PLT
	lea	rsi, .LC18[rip]
	mov	edi, eax
	xor	eax, eax
	call	ok@PLT
	xor	ecx, ecx
	xor	edx, edx
	xor	esi, esi
	mov	edi, ebp
	call	GetPath@PLT
	xor	edi, edi
	lea	rsi, .LC16[rip]
	cmp	eax, -1
	sete	dil
	xor	eax, eax
	call	ok@PLT
	mov	edi, ebp
	call	BeginPath@PLT
	mov	r8d, 10
	mov	ecx, 10
	mov	edi, ebp
	mov	edx, 1
	mov	esi, 1
	call	Rectangle@PLT
	mov	edi, ebp
	call	EndPath@PLT
	mov	esi, DWORD PTR RGN_OR[rip]
	mov	edi, ebp
	call	SelectClipPath@PLT
	lea	rsi, .LC19[rip]
	mov	edi, eax
	xor	eax, eax
	call	ok@PLT
	xor	ecx, ecx
	xor	edx, edx
	xor	esi, esi
	mov	edi, ebp
	call	GetPath@PLT
	xor	edi, edi
	lea	rsi, .LC16[rip]
	cmp	eax, -1
	sete	dil
	xor	eax, eax
	call	ok@PLT
	mov	edi, ebp
	call	BeginPath@PLT
	mov	edi, ebp
	call	EndPath@PLT
	mov	edi, -559038737
	call	SetLastError@PLT
	mov	esi, DWORD PTR RGN_OR[rip]
	mov	edi, ebp
	call	SelectClipPath@PLT
	xor	edi, edi
	lea	rsi, .LC20[rip]
	test	eax, eax
	sete	dil
	xor	eax, eax
	call	ok@PLT
	xor	eax, eax
	call	GetLastError@PLT
	mov	r13d, eax
	xor	eax, eax
	call	GetLastError@PLT
	xor	edi, edi
	mov	edx, r13d
	lea	rsi, .LC3[rip]
	cmp	eax, -559038737
	sete	dil
	xor	eax, eax
	call	ok@PLT
	xor	ecx, ecx
	xor	edx, edx
	xor	esi, esi
	mov	edi, ebp
	call	GetPath@PLT
	xor	edi, edi
	lea	rsi, .LC16[rip]
	cmp	eax, -1
	sete	dil
	xor	eax, eax
	call	ok@PLT
	mov	edi, ebp
	call	BeginPath@PLT
	mov	r8d, 10
	mov	ecx, 10
	mov	edi, ebp
	mov	edx, 1
	mov	esi, 1
	call	Rectangle@PLT
	mov	edi, ebp
	call	EndPath@PLT
	mov	edi, ebp
	call	PathToRegion@PLT
	xor	edi, edi
	lea	rsi, .LC21[rip]
	test	rax, rax
	mov	r13, rax
	setne	dil
	xor	eax, eax
	call	ok@PLT
	mov	rdi, r13
	call	DeleteObject@PLT
	xor	ecx, ecx
	xor	edx, edx
	xor	esi, esi
	mov	edi, ebp
	call	GetPath@PLT
	xor	edi, edi
	lea	rsi, .LC16[rip]
	cmp	eax, -1
	sete	dil
	xor	eax, eax
	call	ok@PLT
	mov	edi, ebp
	call	BeginPath@PLT
	mov	edi, ebp
	call	EndPath@PLT
	mov	edi, -559038737
	call	SetLastError@PLT
	mov	edi, ebp
	call	PathToRegion@PLT
	xor	edi, edi
	lea	rsi, .LC22[rip]
	test	rax, rax
	mov	r13, rax
	sete	dil
	xor	eax, eax
	call	ok@PLT
	xor	eax, eax
	call	GetLastError@PLT
	mov	r14d, eax
	xor	eax, eax
	call	GetLastError@PLT
	xor	edi, edi
	mov	edx, r14d
	lea	rsi, .LC3[rip]
	cmp	eax, -559038737
	sete	dil
	xor	eax, eax
	call	ok@PLT
	mov	rdi, r13
	call	DeleteObject@PLT
	xor	ecx, ecx
	xor	edx, edx
	xor	esi, esi
	mov	edi, ebp
	call	GetPath@PLT
	xor	edi, edi
	lea	rsi, .LC16[rip]
	cmp	eax, -1
	sete	dil
	xor	eax, eax
	call	ok@PLT
	mov	edi, ebp
	call	BeginPath@PLT
	mov	edi, ebp
	call	EndPath@PLT
	mov	edi, -559038737
	call	SetLastError@PLT
	mov	edi, ebp
	call	CloseFigure@PLT
	xor	edi, edi
	lea	rsi, .LC10[rip]
	test	eax, eax
	sete	dil
	xor	eax, eax
	call	ok@PLT
	xor	eax, eax
	call	GetLastError@PLT
	mov	r13d, eax
	xor	eax, eax
	call	GetLastError@PLT
	cmp	eax, DWORD PTR ERROR_CAN_NOT_COMPLETE[rip]
	mov	edi, 1
	je	.L18
	xor	eax, eax
	call	GetLastError@PLT
	xor	edi, edi
	cmp	eax, -559038737
	sete	dil
	call	broken@PLT
	xor	edi, edi
	test	rax, rax
	setne	dil
.L18:
	mov	edx, r13d
	lea	rsi, .LC3[rip]
	xor	eax, eax
	call	ok@PLT
	mov	edi, ebp
	call	AbortPath@PLT
	mov	edi, ebp
	call	BeginPath@PLT
	mov	edi, ebp
	call	EndPath@PLT
	mov	edi, -559038737
	call	SetLastError@PLT
	mov	edi, ebp
	call	EndPath@PLT
	xor	edi, edi
	lea	rsi, .LC23[rip]
	test	eax, eax
	sete	dil
	xor	eax, eax
	call	ok@PLT
	xor	eax, eax
	call	GetLastError@PLT
	mov	r13d, eax
	xor	eax, eax
	call	GetLastError@PLT
	cmp	eax, DWORD PTR ERROR_CAN_NOT_COMPLETE[rip]
	mov	edi, 1
	je	.L19
	xor	eax, eax
	call	GetLastError@PLT
	xor	edi, edi
	cmp	eax, -559038737
	sete	dil
	call	broken@PLT
	xor	edi, edi
	test	rax, rax
	setne	dil
.L19:
	mov	edx, r13d
	lea	rsi, .LC3[rip]
	xor	eax, eax
	call	ok@PLT
	mov	edi, ebp
	call	DeleteDC@PLT
	mov	rdi, r12
	call	DeleteObject@PLT
	mov	rax, QWORD PTR 4216[rsp]
	xor	rax, QWORD PTR fs:40
	jne	.L42
	add	rsp, 4232
	.cfi_remember_state
	.cfi_def_cfa_offset 40
	pop	rbp
	.cfi_def_cfa_offset 32
	pop	r12
	.cfi_def_cfa_offset 24
	pop	r13
	.cfi_def_cfa_offset 16
	pop	r14
	.cfi_def_cfa_offset 8
	ret
.L42:
	.cfi_restore_state
	call	__stack_chk_fail@PLT
	.cfi_endproc
.LFE0:
	.size	test_path_state, .-test_path_state
	.comm	RGN_OR,4,4
	.comm	ERROR_CAN_NOT_COMPLETE,4,4
	.comm	DIB_RGB_COLORS,4,4
	.comm	BI_RGB,4,4
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",@progbits
	.section	.note.gnu.property,"a"
	.align 8
	.long	 1f - 0f
	.long	 4f - 1f
	.long	 5
0:
	.string	 "GNU"
1:
	.align 8
	.long	 0xc0000002
	.long	 3f - 2f
2:
	.long	 0x3
3:
	.align 8
4:

	.arch armv5t
	.eabi_attribute 20, 1
	.eabi_attribute 21, 1
	.eabi_attribute 23, 3
	.eabi_attribute 24, 1
	.eabi_attribute 25, 1
	.eabi_attribute 26, 2
	.eabi_attribute 30, 2
	.eabi_attribute 34, 0
	.eabi_attribute 18, 4
	.file	"extr_path.c_test_path_state.c"
	.text
	.section	.rodata.str1.4,"aMS",%progbits,1
	.align	2
.LC0:
	.ascii	"WidenPath succeeded\012\000"
	.align	2
.LC1:
	.ascii	"EndPath failed error %u\012\000"
	.align	2
.LC2:
	.ascii	"WidenPath failed error %u\012\000"
	.align	2
.LC3:
	.ascii	"wrong error %u\012\000"
	.align	2
.LC4:
	.ascii	"FlattenPath succeeded\012\000"
	.align	2
.LC5:
	.ascii	"StrokePath succeeded\012\000"
	.align	2
.LC6:
	.ascii	"FillPath succeeded\012\000"
	.align	2
.LC7:
	.ascii	"StrokeAndFillPath succeeded\012\000"
	.align	2
.LC8:
	.ascii	"SelectClipPath succeeded\012\000"
	.align	2
.LC9:
	.ascii	"PathToRegion succeeded\012\000"
	.align	2
.LC10:
	.ascii	"CloseFigure succeeded\012\000"
	.align	2
.LC11:
	.ascii	"CloseFigure failed\012\000"
	.align	2
.LC12:
	.ascii	"WidenPath failed\012\000"
	.align	2
.LC13:
	.ascii	"path deleted\012\000"
	.align	2
.LC14:
	.ascii	"FlattenPath failed\012\000"
	.align	2
.LC15:
	.ascii	"StrokePath failed\012\000"
	.align	2
.LC16:
	.ascii	"path not deleted\012\000"
	.align	2
.LC17:
	.ascii	"FillPath failed\012\000"
	.align	2
.LC18:
	.ascii	"StrokeAndFillPath failed\012\000"
	.align	2
.LC19:
	.ascii	"SelectClipPath failed\012\000"
	.align	2
.LC20:
	.ascii	"SelectClipPath succeeded on empty path\012\000"
	.align	2
.LC21:
	.ascii	"PathToRegion failed\012\000"
	.align	2
.LC22:
	.ascii	"PathToRegion succeeded on empty path\012\000"
	.align	2
.LC23:
	.ascii	"EndPath succeeded\012\000"
	.section	.rodata.cst4,"aM",%progbits,4
	.align	2
.LC24:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	test_path_state, %function
test_path_state:
	@ args = 0, pretend = 0, frame = 4200
	@ frame_needed = 0, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, r9, lr}
	sub	sp, sp, #4160
	sub	sp, sp, #52
	ldr	r2, .L42
	add	r3, sp, #4160
	mov	r0, #0
	add	r3, r3, #44
	ldr	r2, [r2]
	str	r2, [r3]
	mov	r2,#0
	bl	CreateCompatibleDC
	mov	r1, #0
	mov	r4, r0
	ldr	r2, .L42+4
	add	r0, sp, #12
	bl	memset
	mov	r2, #24
	mov	r0, #0
	mov	ip, #256
	mov	lr, #32
	mov	r7, #1
	ldr	r3, .L42+8
	str	r2, [sp, #12]
	ldr	r2, .L42+12
	ldr	r5, [r3]
	str	r0, [sp, #4]
	str	r0, [sp]
	add	r3, sp, #8
	ldr	r2, [r2]
	add	r1, sp, #12
	str	lr, [sp, #24]
	str	ip, [sp, #16]
	str	ip, [sp, #20]
	str	r5, [sp, #32]
	str	r7, [sp, #28]
	bl	CreateDIBSection
	mov	r6, r0
	mov	r0, r4
	mov	r1, r6
	bl	SelectObject
	mov	r5, r0
	mov	r0, r4
	bl	BeginPath
	mov	r2, #100
	mov	r0, r4
	mov	r1, r2
	bl	LineTo
	mov	r0, r4
	bl	WidenPath
	clz	r0, r0
	ldr	r1, .L42+16
	lsr	r0, r0, #5
	bl	ok
	mov	r1, r5
	mov	r0, r4
	bl	SelectObject
	mov	r0, r4
	bl	WidenPath
	clz	r0, r0
	ldr	r1, .L42+16
	lsr	r0, r0, #5
	bl	ok
	mov	r1, r6
	mov	r0, r4
	bl	SelectObject
	mov	r0, r4
	bl	WidenPath
	clz	r0, r0
	ldr	r1, .L42+16
	lsr	r0, r0, #5
	bl	ok
	mov	r0, r4
	bl	EndPath
	mov	r8, r0
	bl	GetLastError
	ldr	r1, .L42+20
	mov	r2, r0
	mov	r0, r8
	bl	ok
	mov	r0, r4
	bl	WidenPath
	mov	r8, r0
	bl	GetLastError
	ldr	r1, .L42+24
	mov	r2, r0
	mov	r0, r8
	bl	ok
	mov	r1, r5
	mov	r0, r4
	bl	SelectObject
	mov	r0, r4
	bl	WidenPath
	mov	r5, r0
	bl	GetLastError
	ldr	r1, .L42+24
	mov	r2, r0
	mov	r0, r5
	bl	ok
	mov	r0, r4
	bl	BeginPath
	mov	r2, #100
	mov	r0, r4
	mov	r1, r2
	bl	LineTo
	mov	r0, r4
	bl	WidenPath
	clz	r0, r0
	ldr	r1, .L42+16
	lsr	r0, r0, #5
	bl	ok
	mov	r0, r4
	bl	SaveDC
	mov	r1, r6
	mov	r0, r4
	bl	SelectObject
	mov	r0, r4
	bl	EndPath
	mov	r5, r0
	bl	GetLastError
	ldr	r1, .L42+20
	mov	r2, r0
	mov	r0, r5
	bl	ok
	mov	r0, r4
	bl	WidenPath
	mov	r5, r0
	bl	GetLastError
	ldr	r1, .L42+24
	mov	r2, r0
	mov	r0, r5
	bl	ok
	mvn	r1, #0
	mov	r0, r4
	bl	RestoreDC
	mov	r0, r4
	bl	WidenPath
	clz	r0, r0
	ldr	r1, .L42+16
	lsr	r0, r0, #5
	bl	ok
	mov	r0, r4
	bl	EndPath
	mov	r5, r0
	bl	GetLastError
	ldr	r1, .L42+20
	mov	r2, r0
	mov	r0, r5
	bl	ok
	mov	r0, r4
	bl	SaveDC
	mov	r0, r4
	bl	BeginPath
	mvn	r1, #0
	mov	r0, r4
	bl	RestoreDC
	mov	r0, r4
	bl	WidenPath
	mov	r5, r0
	bl	GetLastError
	ldr	r8, .L42+28
	mov	r2, r0
	ldr	r1, .L42+24
	mov	r0, r5
	bl	ok
	mov	r0, r4
	bl	AbortPath
	mov	r0, r8
	bl	SetLastError
	mov	r0, r4
	bl	WidenPath
	clz	r0, r0
	ldr	r1, .L42+16
	lsr	r0, r0, #5
	bl	ok
	bl	GetLastError
	ldr	r5, .L42+32
	ldr	r3, [r5]
	cmp	r0, r3
	beq	.L2
	bl	GetLastError
	sub	r0, r0, r8
	clz	r0, r0
	lsr	r0, r0, #5
	bl	broken
	subs	r7, r0, #0
	movne	r7, #1
.L2:
	bl	GetLastError
	ldr	r8, .L42+28
	mov	r2, r0
	ldr	r1, .L42+36
	mov	r0, r7
	bl	ok
	mov	r0, r8
	bl	SetLastError
	mov	r0, r4
	bl	FlattenPath
	clz	r0, r0
	ldr	r1, .L42+40
	lsr	r0, r0, #5
	bl	ok
	bl	GetLastError
	ldr	r3, [r5]
	cmp	r0, r3
	moveq	r7, #1
	beq	.L3
	bl	GetLastError
	sub	r0, r0, r8
	clz	r0, r0
	lsr	r0, r0, #5
	bl	broken
	subs	r7, r0, #0
	movne	r7, #1
.L3:
	bl	GetLastError
	ldr	r8, .L42+28
	mov	r2, r0
	ldr	r1, .L42+36
	mov	r0, r7
	bl	ok
	mov	r0, r8
	bl	SetLastError
	mov	r0, r4
	bl	StrokePath
	clz	r0, r0
	ldr	r1, .L42+44
	lsr	r0, r0, #5
	bl	ok
	bl	GetLastError
	ldr	r3, [r5]
	cmp	r0, r3
	moveq	r7, #1
	beq	.L4
	bl	GetLastError
	sub	r0, r0, r8
	clz	r0, r0
	lsr	r0, r0, #5
	bl	broken
	subs	r7, r0, #0
	movne	r7, #1
.L4:
	bl	GetLastError
	ldr	r8, .L42+28
	mov	r2, r0
	ldr	r1, .L42+36
	mov	r0, r7
	bl	ok
	mov	r0, r8
	bl	SetLastError
	mov	r0, r4
	bl	FillPath
	clz	r0, r0
	ldr	r1, .L42+48
	lsr	r0, r0, #5
	bl	ok
	bl	GetLastError
	ldr	r3, [r5]
	cmp	r0, r3
	moveq	r7, #1
	beq	.L5
	bl	GetLastError
	sub	r0, r0, r8
	clz	r0, r0
	lsr	r0, r0, #5
	bl	broken
	subs	r7, r0, #0
	movne	r7, #1
.L5:
	bl	GetLastError
	ldr	r8, .L42+28
	mov	r2, r0
	ldr	r1, .L42+36
	mov	r0, r7
	bl	ok
	mov	r0, r8
	bl	SetLastError
	mov	r0, r4
	bl	StrokeAndFillPath
	clz	r0, r0
	ldr	r1, .L42+52
	lsr	r0, r0, #5
	bl	ok
	bl	GetLastError
	ldr	r3, [r5]
	cmp	r0, r3
	moveq	r7, #1
	beq	.L6
	bl	GetLastError
	sub	r0, r0, r8
	clz	r0, r0
	lsr	r0, r0, #5
	bl	broken
	subs	r7, r0, #0
	movne	r7, #1
.L6:
	bl	GetLastError
	ldr	r8, .L42+28
	mov	r2, r0
	ldr	r1, .L42+36
	mov	r0, r7
	ldr	r9, .L42+56
	bl	ok
	mov	r0, r8
	bl	SetLastError
	ldr	r1, [r9]
	mov	r0, r4
	bl	SelectClipPath
	clz	r0, r0
	ldr	r1, .L42+60
	lsr	r0, r0, #5
	bl	ok
	bl	GetLastError
	ldr	r3, [r5]
	cmp	r0, r3
	moveq	r7, #1
	beq	.L7
	bl	GetLastError
	sub	r0, r0, r8
	clz	r0, r0
	lsr	r0, r0, #5
	bl	broken
	subs	r7, r0, #0
	movne	r7, #1
.L7:
	bl	GetLastError
	ldr	r8, .L42+28
	mov	r2, r0
	ldr	r1, .L42+36
	mov	r0, r7
	bl	ok
	mov	r0, r8
	bl	SetLastError
	mov	r0, r4
	bl	PathToRegion
	clz	r0, r0
	ldr	r1, .L42+64
	lsr	r0, r0, #5
	bl	ok
	bl	GetLastError
	ldr	r3, [r5]
	cmp	r0, r3
	moveq	r7, #1
	beq	.L8
	bl	GetLastError
	sub	r0, r0, r8
	clz	r0, r0
	lsr	r0, r0, #5
	bl	broken
	subs	r7, r0, #0
	movne	r7, #1
.L8:
	bl	GetLastError
	ldr	r8, .L42+28
	mov	r2, r0
	ldr	r1, .L42+36
	mov	r0, r7
	bl	ok
	mov	r0, r8
	bl	SetLastError
	mov	r0, r4
	bl	EndPath
	clz	r0, r0
	ldr	r1, .L42+60
	lsr	r0, r0, #5
	bl	ok
	bl	GetLastError
	ldr	r3, [r5]
	cmp	r0, r3
	moveq	r7, #1
	beq	.L9
	bl	GetLastError
	sub	r0, r0, r8
	clz	r0, r0
	lsr	r0, r0, #5
	bl	broken
	subs	r7, r0, #0
	movne	r7, #1
.L9:
	bl	GetLastError
	ldr	r8, .L42+28
	mov	r2, r0
	ldr	r1, .L42+36
	mov	r0, r7
	bl	ok
	mov	r0, r8
	bl	SetLastError
	mov	r0, r4
	bl	CloseFigure
	clz	r0, r0
	ldr	r1, .L42+68
	lsr	r0, r0, #5
	bl	ok
	bl	GetLastError
	ldr	r3, [r5]
	cmp	r0, r3
	moveq	r7, #1
	beq	.L10
	bl	GetLastError
	sub	r0, r0, r8
	clz	r0, r0
	lsr	r0, r0, #5
	bl	broken
	subs	r7, r0, #0
	movne	r7, #1
.L10:
	bl	GetLastError
	ldr	r1, .L42+36
	mov	r2, r0
	mov	r0, r7
	bl	ok
	ldr	r7, .L42+28
	mov	r0, r4
	bl	AbortPath
	mov	r0, r4
	bl	BeginPath
	mov	r0, r7
	bl	SetLastError
	mov	r0, r4
	bl	WidenPath
	clz	r0, r0
	ldr	r1, .L42+16
	lsr	r0, r0, #5
	bl	ok
	bl	GetLastError
	ldr	r3, [r5]
	cmp	r0, r3
	moveq	r7, #1
	beq	.L11
	bl	GetLastError
	sub	r0, r0, r7
	clz	r0, r0
	lsr	r0, r0, #5
	bl	broken
	subs	r7, r0, #0
	movne	r7, #1
.L11:
	bl	GetLastError
	ldr	r1, .L42+36
	mov	r2, r0
	mov	r0, r7
	bl	ok
	ldr	r7, .L42+28
	mov	r0, r4
	bl	AbortPath
	mov	r0, r4
	bl	BeginPath
	mov	r0, r7
	bl	SetLastError
	mov	r0, r4
	bl	FlattenPath
	clz	r0, r0
	ldr	r1, .L42+40
	lsr	r0, r0, #5
	bl	ok
	bl	GetLastError
	ldr	r3, [r5]
	cmp	r0, r3
	moveq	r7, #1
	beq	.L12
	bl	GetLastError
	sub	r0, r0, r7
	clz	r0, r0
	lsr	r0, r0, #5
	bl	broken
	subs	r7, r0, #0
	movne	r7, #1
.L12:
	bl	GetLastError
	ldr	r1, .L42+36
	mov	r2, r0
	mov	r0, r7
	bl	ok
	ldr	r7, .L42+28
	mov	r0, r4
	bl	AbortPath
	mov	r0, r4
	bl	BeginPath
	mov	r0, r7
	bl	SetLastError
	mov	r0, r4
	bl	StrokePath
	clz	r0, r0
	ldr	r1, .L42+44
	lsr	r0, r0, #5
	bl	ok
	bl	GetLastError
	ldr	r3, [r5]
	cmp	r0, r3
	moveq	r7, #1
	beq	.L13
	bl	GetLastError
	sub	r0, r0, r7
	clz	r0, r0
	lsr	r0, r0, #5
	bl	broken
	subs	r7, r0, #0
	movne	r7, #1
.L13:
	bl	GetLastError
	ldr	r1, .L42+36
	mov	r2, r0
	mov	r0, r7
	bl	ok
	ldr	r7, .L42+28
	mov	r0, r4
	bl	AbortPath
	mov	r0, r4
	bl	BeginPath
	mov	r0, r7
	bl	SetLastError
	mov	r0, r4
	bl	FillPath
	clz	r0, r0
	ldr	r1, .L42+48
	lsr	r0, r0, #5
	bl	ok
	bl	GetLastError
	ldr	r3, [r5]
	cmp	r0, r3
	moveq	r7, #1
	beq	.L14
	bl	GetLastError
	sub	r0, r0, r7
	clz	r0, r0
	lsr	r0, r0, #5
	bl	broken
	subs	r7, r0, #0
	movne	r7, #1
.L14:
	bl	GetLastError
	ldr	r1, .L42+36
	mov	r2, r0
	mov	r0, r7
	bl	ok
	ldr	r7, .L42+28
	mov	r0, r4
	bl	AbortPath
	mov	r0, r4
	bl	BeginPath
	mov	r0, r7
	bl	SetLastError
	mov	r0, r4
	bl	StrokeAndFillPath
	clz	r0, r0
	ldr	r1, .L42+52
	lsr	r0, r0, #5
	bl	ok
	bl	GetLastError
	ldr	r3, [r5]
	cmp	r0, r3
	moveq	r7, #1
	beq	.L15
	bl	GetLastError
	sub	r0, r0, r7
	clz	r0, r0
	lsr	r0, r0, #5
	bl	broken
	subs	r7, r0, #0
	movne	r7, #1
.L15:
	bl	GetLastError
	ldr	r1, .L42+36
	mov	r2, r0
	mov	r0, r7
	bl	ok
	mov	r0, r4
	bl	AbortPath
	mov	r0, r4
	bl	BeginPath
	mov	r3, #10
	mov	r2, #1
	ldr	r7, .L42+28
	mov	r1, r2
	str	r3, [sp]
	mov	r0, r4
	bl	Rectangle
	mov	r0, r7
	bl	SetLastError
	ldr	r1, [r9]
	mov	r0, r4
	bl	SelectClipPath
	clz	r0, r0
	ldr	r1, .L42+60
	lsr	r0, r0, #5
	bl	ok
	bl	GetLastError
	ldr	r3, [r5]
	cmp	r0, r3
	moveq	r7, #1
	beq	.L16
	bl	GetLastError
	sub	r0, r0, r7
	clz	r0, r0
	lsr	r0, r0, #5
	bl	broken
	subs	r7, r0, #0
	movne	r7, #1
.L16:
	bl	GetLastError
	ldr	r1, .L42+36
	mov	r2, r0
	mov	r0, r7
	bl	ok
	mov	r0, r4
	bl	AbortPath
	mov	r0, r4
	bl	BeginPath
	mov	r3, #10
	mov	r2, #1
	ldr	r7, .L42+28
	mov	r1, r2
	str	r3, [sp]
	mov	r0, r4
	bl	Rectangle
	mov	r0, r7
	bl	SetLastError
	mov	r0, r4
	bl	PathToRegion
	clz	r0, r0
	ldr	r1, .L42+64
	lsr	r0, r0, #5
	bl	ok
	bl	GetLastError
	ldr	r3, [r5]
	cmp	r0, r3
	moveq	r7, #1
	beq	.L17
	bl	GetLastError
	sub	r0, r0, r7
	clz	r0, r0
	lsr	r0, r0, #5
	bl	broken
	subs	r7, r0, #0
	movne	r7, #1
.L17:
	bl	GetLastError
	ldr	r1, .L42+36
	mov	r2, r0
	mov	r0, r7
	bl	ok
	mov	r0, r4
	bl	AbortPath
	mov	r0, r4
	bl	BeginPath
	mov	r0, r4
	bl	CloseFigure
	ldr	r1, .L42+72
	bl	ok
	mov	r0, r4
	bl	AbortPath
	mov	r0, r4
	bl	BeginPath
	mov	r0, r4
	bl	EndPath
	mov	r0, r4
	bl	WidenPath
	ldr	r1, .L42+76
	bl	ok
	mov	r3, #0
	mov	r0, r4
	mov	r2, r3
	mov	r1, r3
	bl	GetPath
	adds	r0, r0, #1
	movne	r0, #1
	ldr	r1, .L42+80
	bl	ok
	mov	r0, r4
	bl	AbortPath
	mov	r0, r4
	bl	BeginPath
	mov	r0, r4
	bl	EndPath
	mov	r0, r4
	bl	FlattenPath
	ldr	r1, .L42+84
	bl	ok
	mov	r3, #0
	mov	r0, r4
	mov	r2, r3
	mov	r1, r3
	bl	GetPath
	adds	r0, r0, #1
	movne	r0, #1
	ldr	r1, .L42+80
	bl	ok
	mov	r0, r4
	bl	AbortPath
	mov	r0, r4
	bl	BeginPath
	mov	r0, r4
	bl	EndPath
	mov	r0, r4
	bl	StrokePath
	ldr	r1, .L42+88
	bl	ok
	mov	r3, #0
	mov	r0, r4
	mov	r2, r3
	mov	r1, r3
	bl	GetPath
	cmn	r0, #1
	movne	r0, #0
	moveq	r0, #1
	ldr	r1, .L42+92
	bl	ok
	mov	r0, r4
	bl	BeginPath
	mov	r0, r4
	bl	EndPath
	mov	r0, r4
	bl	FillPath
	ldr	r1, .L42+96
	bl	ok
	mov	r3, #0
	mov	r0, r4
	mov	r2, r3
	mov	r1, r3
	bl	GetPath
	cmn	r0, #1
	movne	r0, #0
	moveq	r0, #1
	ldr	r1, .L42+92
	bl	ok
	mov	r0, r4
	bl	BeginPath
	mov	r0, r4
	bl	EndPath
	mov	r0, r4
	bl	StrokeAndFillPath
	ldr	r1, .L42+100
	bl	ok
	mov	r3, #0
	mov	r0, r4
	mov	r2, r3
	mov	r1, r3
	bl	GetPath
	cmn	r0, #1
	movne	r0, #0
	moveq	r0, #1
	ldr	r1, .L42+92
	bl	ok
	mov	r0, r4
	bl	BeginPath
	mov	r8, #10
	mov	r2, #1
	mov	r3, r8
	mov	r1, r2
	str	r8, [sp]
	mov	r0, r4
	bl	Rectangle
	mov	r0, r4
	bl	EndPath
	ldr	r1, [r9]
	mov	r0, r4
	bl	SelectClipPath
	ldr	r1, .L42+104
	bl	ok
	mov	r3, #0
	mov	r0, r4
	mov	r2, r3
	mov	r1, r3
	bl	GetPath
	cmn	r0, #1
	movne	r0, #0
	moveq	r0, #1
	ldr	r1, .L42+92
	bl	ok
	ldr	r7, .L42+28
	mov	r0, r4
	bl	BeginPath
	mov	r0, r4
	bl	EndPath
	mov	r0, r7
	bl	SetLastError
	ldr	r1, [r9]
	mov	r0, r4
	bl	SelectClipPath
	clz	r0, r0
	ldr	r1, .L42+108
	lsr	r0, r0, #5
	bl	ok
	bl	GetLastError
	mov	r9, r0
	bl	GetLastError
	mov	r2, r0
	sub	r0, r9, r7
	clz	r0, r0
	ldr	r1, .L42+36
	lsr	r0, r0, #5
	bl	ok
	mov	r3, #0
	mov	r0, r4
	mov	r2, r3
	mov	r1, r3
	bl	GetPath
	cmn	r0, #1
	movne	r0, #0
	moveq	r0, #1
	ldr	r1, .L42+92
	bl	ok
	mov	r0, r4
	bl	BeginPath
	mov	r2, #1
	mov	r3, r8
	mov	r1, r2
	str	r8, [sp]
	mov	r0, r4
	bl	Rectangle
	mov	r0, r4
	bl	EndPath
	mov	r0, r4
	bl	PathToRegion
	mov	r8, r0
	subs	r0, r0, #0
	movne	r0, #1
	ldr	r1, .L42+112
	bl	ok
	mov	r0, r8
	bl	DeleteObject
	mov	r3, #0
	mov	r0, r4
	mov	r2, r3
	mov	r1, r3
	bl	GetPath
	cmn	r0, #1
	movne	r0, #0
	moveq	r0, #1
	ldr	r1, .L42+92
	bl	ok
	mov	r0, r4
	bl	BeginPath
	mov	r0, r4
	bl	EndPath
	mov	r0, r7
	bl	SetLastError
	mov	r0, r4
	bl	PathToRegion
	mov	r8, r0
	clz	r0, r0
	ldr	r1, .L42+116
	lsr	r0, r0, #5
	bl	ok
	bl	GetLastError
	mov	r9, r0
	bl	GetLastError
	mov	r2, r0
	sub	r0, r9, r7
	clz	r0, r0
	ldr	r1, .L42+36
	lsr	r0, r0, #5
	bl	ok
	mov	r0, r8
	bl	DeleteObject
	mov	r3, #0
	mov	r0, r4
	mov	r1, r3
	mov	r2, r3
	bl	GetPath
	cmn	r0, #1
	movne	r0, #0
	moveq	r0, #1
	ldr	r1, .L42+92
	bl	ok
	mov	r0, r4
	bl	BeginPath
	mov	r0, r4
	bl	EndPath
	mov	r0, r7
	bl	SetLastError
	mov	r0, r4
	bl	CloseFigure
	clz	r0, r0
	ldr	r1, .L42+68
	lsr	r0, r0, #5
	bl	ok
	bl	GetLastError
	ldr	r3, [r5]
	cmp	r0, r3
	moveq	r7, #1
	beq	.L18
	bl	GetLastError
	sub	r0, r0, r7
	clz	r0, r0
	lsr	r0, r0, #5
	bl	broken
	subs	r7, r0, #0
	movne	r7, #1
.L18:
	bl	GetLastError
	ldr	r1, .L42+36
	mov	r2, r0
	mov	r0, r7
	bl	ok
	mov	r0, r4
	bl	AbortPath
	ldr	r7, .L42+28
	mov	r0, r4
	bl	BeginPath
	mov	r0, r4
	bl	EndPath
	mov	r0, r7
	bl	SetLastError
	mov	r0, r4
	bl	EndPath
	clz	r0, r0
	ldr	r1, .L42+120
	lsr	r0, r0, #5
	bl	ok
	bl	GetLastError
	ldr	r3, [r5]
	cmp	r0, r3
	moveq	r5, #1
	beq	.L19
	bl	GetLastError
	sub	r0, r0, r7
	clz	r0, r0
	lsr	r0, r0, #5
	bl	broken
	subs	r5, r0, #0
	movne	r5, #1
.L19:
	bl	GetLastError
	ldr	r1, .L42+36
	mov	r2, r0
	mov	r0, r5
	bl	ok
	mov	r0, r4
	bl	DeleteDC
	mov	r0, r6
	bl	DeleteObject
	add	r3, sp, #4160
	ldr	r2, .L42
	add	r3, r3, #44
	ldr	r1, [r2]
	ldr	r2, [r3]
	eors	r1, r2, r1
	mov	r2, #0
	bne	.L41
	add	sp, sp, #4160
	add	sp, sp, #52
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, pc}
.L41:
	bl	__stack_chk_fail
.L43:
	.align	2
.L42:
	.word	.LC24
	.word	4192
	.word	BI_RGB
	.word	DIB_RGB_COLORS
	.word	.LC0
	.word	.LC1
	.word	.LC2
	.word	-559038737
	.word	ERROR_CAN_NOT_COMPLETE
	.word	.LC3
	.word	.LC4
	.word	.LC5
	.word	.LC6
	.word	.LC7
	.word	RGN_OR
	.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
	.size	test_path_state, .-test_path_state
	.comm	RGN_OR,4,4
	.comm	ERROR_CAN_NOT_COMPLETE,4,4
	.comm	DIB_RGB_COLORS,4,4
	.comm	BI_RGB,4,4
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
