	.file	"25138682.c"
	.intel_syntax noprefix
	.text
	.local	dpy
	.comm	dpy,8,8
	.local	wkp
	.comm	wkp,8,8
	.local	wdp
	.comm	wdp,8,8
	.local	ikp
	.comm	ikp,8,8
	.local	idp
	.comm	idp,8,8
	.local	visual
	.comm	visual,8,8
	.local	gc
	.comm	gc,8,8
	.globl	ready
	.bss
	.type	ready, @object
	.size	ready, 1
ready:
	.zero	1
	.globl	kp_press
	.type	kp_press, @object
	.size	kp_press, 1
kp_press:
	.zero	1
	.globl	kp_x
	.type	kp_x, @object
	.size	kp_x, 1
kp_x:
	.zero	1
	.globl	kp_y
	.type	kp_y, @object
	.size	kp_y, 1
kp_y:
	.zero	1
	.globl	dp_press
	.type	dp_press, @object
	.size	dp_press, 1
dp_press:
	.zero	1
	.globl	dp_x
	.type	dp_x, @object
	.size	dp_x, 1
dp_x:
	.zero	1
	.globl	dp_y
	.type	dp_y, @object
	.size	dp_y, 1
dp_y:
	.zero	1
	.globl	dp_dirty
	.type	dp_dirty, @object
	.size	dp_dirty, 1
dp_dirty:
	.zero	1
	.text
	.globl	wait_display
	.type	wait_display, @function
wait_display:
.LFB6:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 208
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
.L19:
	movzx	eax, BYTE PTR dp_dirty[rip]
	movzx	eax, al
	and	eax, 1
	test	eax, eax
	je	.L2
	mov	rcx, QWORD PTR ikp[rip]
	mov	rdx, QWORD PTR gc[rip]
	mov	rsi, QWORD PTR wkp[rip]
	mov	rax, QWORD PTR dpy[rip]
	push	480
	push	320
	push	0
	push	0
	mov	r9d, 0
	mov	r8d, 0
	mov	rdi, rax
	call	XPutImage@PLT
	add	rsp, 32
.L2:
	movzx	eax, BYTE PTR dp_dirty[rip]
	movzx	eax, al
	and	eax, 2
	test	eax, eax
	je	.L3
	mov	rcx, QWORD PTR idp[rip]
	mov	rdx, QWORD PTR gc[rip]
	mov	rsi, QWORD PTR wdp[rip]
	mov	rax, QWORD PTR dpy[rip]
	push	480
	push	320
	push	0
	push	0
	mov	r9d, 0
	mov	r8d, 0
	mov	rdi, rax
	call	XPutImage@PLT
	add	rsp, 32
.L3:
	movzx	eax, BYTE PTR dp_dirty[rip]
	test	al, al
	je	.L4
	mov	rax, QWORD PTR dpy[rip]
	mov	rdi, rax
	call	XFlush@PLT
.L4:
	mov	BYTE PTR dp_dirty[rip], 0
	mov	rax, QWORD PTR dpy[rip]
	lea	rdx, -208[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	XNextEvent@PLT
	mov	eax, DWORD PTR -208[rbp]
	cmp	eax, 12
	je	.L5
	cmp	eax, 12
	jg	.L6
	cmp	eax, 6
	je	.L7
	cmp	eax, 6
	jg	.L6
	cmp	eax, 4
	je	.L8
	cmp	eax, 5
	je	.L9
	jmp	.L6
.L5:
	mov	eax, DWORD PTR -152[rbp]
	test	eax, eax
	jne	.L21
	mov	rdx, QWORD PTR -176[rbp]
	mov	rax, QWORD PTR wkp[rip]
	cmp	rdx, rax
	jne	.L11
	movzx	eax, BYTE PTR ready[rip]
	or	eax, 1
	mov	BYTE PTR ready[rip], al
	mov	rcx, QWORD PTR ikp[rip]
	mov	rdx, QWORD PTR gc[rip]
	mov	rsi, QWORD PTR wkp[rip]
	mov	rax, QWORD PTR dpy[rip]
	push	480
	push	320
	push	0
	push	0
	mov	r9d, 0
	mov	r8d, 0
	mov	rdi, rax
	call	XPutImage@PLT
	add	rsp, 32
.L11:
	mov	rdx, QWORD PTR -176[rbp]
	mov	rax, QWORD PTR wdp[rip]
	cmp	rdx, rax
	jne	.L22
	movzx	eax, BYTE PTR ready[rip]
	or	eax, 2
	mov	BYTE PTR ready[rip], al
	mov	rcx, QWORD PTR idp[rip]
	mov	rdx, QWORD PTR gc[rip]
	mov	rsi, QWORD PTR wdp[rip]
	mov	rax, QWORD PTR dpy[rip]
	push	480
	push	320
	push	0
	push	0
	mov	r9d, 0
	mov	r8d, 0
	mov	rdi, rax
	call	XPutImage@PLT
	add	rsp, 32
	jmp	.L22
.L8:
	mov	rdx, QWORD PTR -176[rbp]
	mov	rax, QWORD PTR wkp[rip]
	cmp	rdx, rax
	jne	.L13
	mov	BYTE PTR kp_press[rip], 1
	mov	eax, DWORD PTR -144[rbp]
	movsx	rdx, eax
	imul	rdx, rdx, 1284476201
	shr	rdx, 32
	sar	edx, 5
	sar	eax, 31
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	mov	BYTE PTR kp_x[rip], al
	mov	eax, DWORD PTR -140[rbp]
	movsx	rdx, eax
	imul	rdx, rdx, 715827883
	shr	rdx, 32
	sar	edx, 4
	sar	eax, 31
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	mov	BYTE PTR kp_y[rip], al
	jmp	.L23
.L13:
	mov	rdx, QWORD PTR -176[rbp]
	mov	rax, QWORD PTR wdp[rip]
	cmp	rdx, rax
	jne	.L23
	mov	BYTE PTR dp_press[rip], 1
	mov	eax, DWORD PTR -144[rbp]
	movsx	rdx, eax
	imul	rdx, rdx, 1284476201
	shr	rdx, 32
	sar	edx, 5
	sar	eax, 31
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	mov	BYTE PTR dp_x[rip], al
	mov	eax, DWORD PTR -140[rbp]
	movsx	rdx, eax
	imul	rdx, rdx, 715827883
	shr	rdx, 32
	sar	edx, 4
	sar	eax, 31
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	mov	BYTE PTR dp_y[rip], al
	jmp	.L23
.L9:
	mov	rdx, QWORD PTR -176[rbp]
	mov	rax, QWORD PTR wkp[rip]
	cmp	rdx, rax
	jne	.L15
	mov	BYTE PTR kp_press[rip], 0
	mov	eax, DWORD PTR -144[rbp]
	movsx	rdx, eax
	imul	rdx, rdx, 1284476201
	shr	rdx, 32
	sar	edx, 5
	sar	eax, 31
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	mov	BYTE PTR kp_x[rip], al
	mov	eax, DWORD PTR -140[rbp]
	movsx	rdx, eax
	imul	rdx, rdx, 715827883
	shr	rdx, 32
	sar	edx, 4
	sar	eax, 31
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	mov	BYTE PTR kp_y[rip], al
	jmp	.L24
.L15:
	mov	rdx, QWORD PTR -176[rbp]
	mov	rax, QWORD PTR wdp[rip]
	cmp	rdx, rax
	jne	.L24
	mov	BYTE PTR dp_press[rip], 0
	mov	eax, DWORD PTR -144[rbp]
	movsx	rdx, eax
	imul	rdx, rdx, 1284476201
	shr	rdx, 32
	sar	edx, 5
	sar	eax, 31
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	mov	BYTE PTR dp_x[rip], al
	mov	eax, DWORD PTR -140[rbp]
	movsx	rdx, eax
	imul	rdx, rdx, 715827883
	shr	rdx, 32
	sar	edx, 4
	sar	eax, 31
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	mov	BYTE PTR dp_y[rip], al
	jmp	.L24
.L7:
	mov	rdx, QWORD PTR -176[rbp]
	mov	rax, QWORD PTR wkp[rip]
	cmp	rdx, rax
	jne	.L17
	mov	eax, DWORD PTR -144[rbp]
	movsx	rdx, eax
	imul	rdx, rdx, 1284476201
	shr	rdx, 32
	sar	edx, 5
	sar	eax, 31
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	mov	BYTE PTR kp_x[rip], al
	mov	eax, DWORD PTR -140[rbp]
	movsx	rdx, eax
	imul	rdx, rdx, 715827883
	shr	rdx, 32
	sar	edx, 4
	sar	eax, 31
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	mov	BYTE PTR kp_y[rip], al
	jmp	.L25
.L17:
	mov	rdx, QWORD PTR -176[rbp]
	mov	rax, QWORD PTR wdp[rip]
	cmp	rdx, rax
	jne	.L25
	mov	eax, DWORD PTR -144[rbp]
	movsx	rdx, eax
	imul	rdx, rdx, 1284476201
	shr	rdx, 32
	sar	edx, 5
	sar	eax, 31
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	mov	BYTE PTR dp_x[rip], al
	mov	eax, DWORD PTR -140[rbp]
	movsx	rdx, eax
	imul	rdx, rdx, 715827883
	shr	rdx, 32
	sar	edx, 4
	sar	eax, 31
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	mov	BYTE PTR dp_y[rip], al
	jmp	.L25
.L21:
	nop
	jmp	.L6
.L22:
	nop
	jmp	.L6
.L23:
	nop
	jmp	.L6
.L24:
	nop
	jmp	.L6
.L25:
	nop
.L6:
	movzx	eax, BYTE PTR ready[rip]
	cmp	al, 3
	jne	.L19
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L20
	call	__stack_chk_fail@PLT
.L20:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE6:
	.size	wait_display, .-wait_display
	.globl	start_display
	.type	start_display, @function
start_display:
.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, 160
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	edi, 0
	call	XOpenDisplay@PLT
	mov	QWORD PTR dpy[rip], rax
	mov	rax, QWORD PTR dpy[rip]
	mov	eax, DWORD PTR 224[rax]
	mov	DWORD PTR -148[rbp], eax
	mov	rax, QWORD PTR dpy[rip]
	mov	rdx, QWORD PTR 232[rax]
	mov	eax, DWORD PTR -148[rbp]
	cdqe
	sal	rax, 7
	add	rax, rdx
	mov	rcx, QWORD PTR 88[rax]
	mov	rax, QWORD PTR dpy[rip]
	mov	rdx, QWORD PTR 232[rax]
	mov	eax, DWORD PTR -148[rbp]
	cdqe
	sal	rax, 7
	add	rax, rdx
	mov	rdx, QWORD PTR 96[rax]
	mov	rax, QWORD PTR dpy[rip]
	mov	rsi, QWORD PTR 232[rax]
	mov	eax, DWORD PTR -148[rbp]
	cdqe
	sal	rax, 7
	add	rax, rsi
	mov	rsi, QWORD PTR 16[rax]
	mov	rax, QWORD PTR dpy[rip]
	sub	rsp, 8
	push	rcx
	push	rdx
	push	3
	mov	r9d, 480
	mov	r8d, 320
	mov	ecx, 0
	mov	edx, 0
	mov	rdi, rax
	call	XCreateSimpleWindow@PLT
	add	rsp, 32
	mov	QWORD PTR wkp[rip], rax
	mov	rax, QWORD PTR dpy[rip]
	mov	rdx, QWORD PTR 232[rax]
	mov	eax, DWORD PTR -148[rbp]
	cdqe
	sal	rax, 7
	add	rax, rdx
	mov	rcx, QWORD PTR 88[rax]
	mov	rax, QWORD PTR dpy[rip]
	mov	rdx, QWORD PTR 232[rax]
	mov	eax, DWORD PTR -148[rbp]
	cdqe
	sal	rax, 7
	add	rax, rdx
	mov	rdx, QWORD PTR 96[rax]
	mov	rax, QWORD PTR dpy[rip]
	mov	rsi, QWORD PTR 232[rax]
	mov	eax, DWORD PTR -148[rbp]
	cdqe
	sal	rax, 7
	add	rax, rsi
	mov	rsi, QWORD PTR 16[rax]
	mov	rax, QWORD PTR dpy[rip]
	sub	rsp, 8
	push	rcx
	push	rdx
	push	3
	mov	r9d, 480
	mov	r8d, 320
	mov	ecx, 0
	mov	edx, 400
	mov	rdi, rax
	call	XCreateSimpleWindow@PLT
	add	rsp, 32
	mov	QWORD PTR wdp[rip], rax
	mov	rcx, QWORD PTR wkp[rip]
	mov	rax, QWORD PTR dpy[rip]
	mov	edx, 40972
	mov	rsi, rcx
	mov	rdi, rax
	call	XSelectInput@PLT
	mov	rcx, QWORD PTR wdp[rip]
	mov	rax, QWORD PTR dpy[rip]
	mov	edx, 40972
	mov	rsi, rcx
	mov	rdi, rax
	call	XSelectInput@PLT
	mov	rcx, QWORD PTR wkp[rip]
	mov	rax, QWORD PTR dpy[rip]
	lea	rdx, -144[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	XGetWindowAttributes@PLT
	mov	rdx, QWORD PTR wkp[rip]
	mov	rax, QWORD PTR dpy[rip]
	mov	rsi, rdx
	mov	rdi, rax
	call	XMapWindow@PLT
	mov	rdx, QWORD PTR wdp[rip]
	mov	rax, QWORD PTR dpy[rip]
	mov	rsi, rdx
	mov	rdi, rax
	call	XMapWindow@PLT
	mov	edi, 614400
	call	malloc@PLT
	mov	rcx, rax
	mov	eax, DWORD PTR -124[rbp]
	mov	edx, eax
	mov	rsi, QWORD PTR -120[rbp]
	mov	rax, QWORD PTR dpy[rip]
	push	0
	push	32
	push	480
	push	320
	mov	r9, rcx
	mov	r8d, 0
	mov	ecx, 2
	mov	rdi, rax
	call	XCreateImage@PLT
	add	rsp, 32
	mov	QWORD PTR ikp[rip], rax
	mov	edi, 614400
	call	malloc@PLT
	mov	rcx, rax
	mov	eax, DWORD PTR -124[rbp]
	mov	edx, eax
	mov	rsi, QWORD PTR -120[rbp]
	mov	rax, QWORD PTR dpy[rip]
	push	0
	push	32
	push	480
	push	320
	mov	r9, rcx
	mov	r8d, 0
	mov	ecx, 2
	mov	rdi, rax
	call	XCreateImage@PLT
	add	rsp, 32
	mov	QWORD PTR idp[rip], rax
	mov	rax, QWORD PTR dpy[rip]
	mov	rdx, QWORD PTR 232[rax]
	mov	eax, DWORD PTR -148[rbp]
	cdqe
	sal	rax, 7
	add	rax, rdx
	mov	rax, QWORD PTR 72[rax]
	mov	QWORD PTR gc[rip], rax
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L27
	call	__stack_chk_fail@PLT
.L27:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE7:
	.size	start_display, .-start_display
	.globl	end_display
	.type	end_display, @function
end_display:
.LFB8:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	rax, QWORD PTR dpy[rip]
	mov	rdi, rax
	call	XCloseDisplay@PLT
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE8:
	.size	end_display, .-end_display
	.type	rgb, @function
rgb:
.LFB9:
	.cfi_startproc
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	eax, edi
	mov	WORD PTR -20[rbp], ax
	movzx	eax, WORD PTR -20[rbp]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	sal	eax, 8
	and	eax, 16252928
	mov	edx, eax
	mov	eax, DWORD PTR -4[rbp]
	sal	eax, 5
	and	eax, 523264
	or	edx, eax
	mov	eax, DWORD PTR -4[rbp]
	sal	eax, 3
	and	eax, 1016
	or	edx, eax
	mov	eax, DWORD PTR -4[rbp]
	and	eax, 7
	or	eax, edx
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE9:
	.size	rgb, .-rgb
	.section	.rodata
.LC0:
	.string	"the_stack_data/25138682.c"
.LC1:
	.string	"w+sx <= 320"
.LC2:
	.string	"h+sy <= 480"
	.text
	.globl	draw
	.type	draw, @function
draw:
.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, 608
	mov	eax, edx
	mov	QWORD PTR -600[rbp], rcx
	mov	QWORD PTR -608[rbp], r8
	mov	edx, edi
	mov	WORD PTR -580[rbp], dx
	mov	edx, esi
	mov	WORD PTR -584[rbp], dx
	mov	WORD PTR -588[rbp], ax
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -608[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -608[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	DWORD PTR -552[rbp], eax
	mov	rax, QWORD PTR -608[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -608[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	DWORD PTR -576[rbp], eax
	cmp	WORD PTR -580[rbp], 0
	je	.L32
	mov	rax, QWORD PTR idp[rip]
	mov	eax, DWORD PTR 44[rax]
	cdqe
	shr	rax, 2
	jmp	.L33
.L32:
	mov	rax, QWORD PTR ikp[rip]
	mov	eax, DWORD PTR 44[rax]
	cdqe
	shr	rax, 2
.L33:
	mov	DWORD PTR -548[rbp], eax
	cmp	WORD PTR -580[rbp], 0
	je	.L34
	mov	rax, QWORD PTR idp[rip]
	mov	rax, QWORD PTR 16[rax]
	jmp	.L35
.L34:
	mov	rax, QWORD PTR ikp[rip]
	mov	rax, QWORD PTR 16[rax]
.L35:
	movsx	edx, WORD PTR -588[rbp]
	imul	edx, DWORD PTR -548[rbp]
	movsx	rdx, edx
	sal	rdx, 2
	add	rax, rdx
	mov	QWORD PTR -544[rbp], rax
	mov	DWORD PTR -572[rbp], 0
	mov	DWORD PTR -568[rbp], 0
	mov	DWORD PTR -564[rbp], 0
	movsx	edx, WORD PTR -584[rbp]
	mov	eax, DWORD PTR -552[rbp]
	add	eax, edx
	cmp	eax, 320
	jle	.L36
	lea	rcx, __PRETTY_FUNCTION__.0[rip]
	mov	edx, 139
	lea	rsi, .LC0[rip]
	lea	rdi, .LC1[rip]
	call	__assert_fail@PLT
.L36:
	movsx	edx, WORD PTR -588[rbp]
	mov	eax, DWORD PTR -576[rbp]
	add	eax, edx
	cmp	eax, 480
	jle	.L37
	lea	rcx, __PRETTY_FUNCTION__.0[rip]
	mov	edx, 140
	lea	rsi, .LC0[rip]
	lea	rdi, .LC2[rip]
	call	__assert_fail@PLT
.L37:
	mov	DWORD PTR -560[rbp], 0
	jmp	.L38
.L39:
	mov	rax, QWORD PTR -600[rbp]
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	mov	edi, eax
	call	rgb
	mov	edx, DWORD PTR -560[rbp]
	movsx	rdx, edx
	mov	DWORD PTR -528[rbp+rdx*4], eax
	add	DWORD PTR -560[rbp], 1
.L38:
	mov	eax, DWORD PTR -560[rbp]
	cmp	eax, DWORD PTR -552[rbp]
	jl	.L39
	jmp	.L40
.L51:
	movsx	rax, WORD PTR -584[rbp]
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -544[rbp]
	add	rax, rdx
	mov	QWORD PTR -536[rbp], rax
	mov	eax, DWORD PTR -548[rbp]
	cdqe
	sal	rax, 2
	add	QWORD PTR -544[rbp], rax
	mov	DWORD PTR -556[rbp], 0
	jmp	.L41
.L50:
	cmp	DWORD PTR -572[rbp], 0
	je	.L42
	sub	DWORD PTR -572[rbp], 1
	jmp	.L43
.L42:
	cmp	DWORD PTR -568[rbp], 0
	je	.L44
	cmp	DWORD PTR -556[rbp], 0
	je	.L45
	mov	eax, DWORD PTR -556[rbp]
	sub	eax, 1
	jmp	.L46
.L45:
	mov	eax, DWORD PTR -552[rbp]
	sub	eax, 1
.L46:
	cdqe
	mov	edx, DWORD PTR -528[rbp+rax*4]
	mov	eax, DWORD PTR -556[rbp]
	cdqe
	mov	DWORD PTR -528[rbp+rax*4], edx
	sub	DWORD PTR -568[rbp], 1
	jmp	.L43
.L44:
	cmp	DWORD PTR -564[rbp], 0
	je	.L47
	mov	rax, QWORD PTR -608[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -608[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	and	eax, 7
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -600[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	mov	edi, eax
	call	rgb
	mov	edx, DWORD PTR -556[rbp]
	movsx	rdx, edx
	mov	DWORD PTR -528[rbp+rdx*4], eax
	mov	DWORD PTR -564[rbp], 0
	jmp	.L43
.L47:
	mov	rax, QWORD PTR -608[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	and	eax, 192
	cmp	eax, 128
	je	.L48
	cmp	eax, 192
	jne	.L49
	mov	DWORD PTR -564[rbp], 1
	mov	rax, QWORD PTR -608[rbp]
	movzx	eax, BYTE PTR [rax]
	shr	al, 3
	movzx	eax, al
	and	eax, 7
	lea	rdx, [rax+rax]
	mov	rax, QWORD PTR -600[rbp]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	mov	edi, eax
	call	rgb
	mov	edx, DWORD PTR -556[rbp]
	movsx	rdx, edx
	mov	DWORD PTR -528[rbp+rdx*4], eax
	jmp	.L43
.L48:
	mov	rax, QWORD PTR -608[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -608[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	and	eax, 63
	add	eax, 3
	mov	DWORD PTR -568[rbp], eax
	jmp	.L41
.L49:
	mov	rax, QWORD PTR -608[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -608[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	eax, 3
	mov	DWORD PTR -572[rbp], eax
	jmp	.L41
.L43:
	mov	edx, DWORD PTR -556[rbp]
	lea	eax, 1[rdx]
	mov	DWORD PTR -556[rbp], eax
	mov	rax, QWORD PTR -536[rbp]
	lea	rcx, 4[rax]
	mov	QWORD PTR -536[rbp], rcx
	movsx	rdx, edx
	mov	edx, DWORD PTR -528[rbp+rdx*4]
	mov	DWORD PTR [rax], edx
.L41:
	mov	eax, DWORD PTR -556[rbp]
	cmp	eax, DWORD PTR -552[rbp]
	jl	.L50
.L40:
	mov	eax, DWORD PTR -576[rbp]
	lea	edx, -1[rax]
	mov	DWORD PTR -576[rbp], edx
	test	eax, eax
	jne	.L51
	movsx	eax, WORD PTR -580[rbp]
	mov	edx, 1
	mov	ecx, eax
	sal	edx, cl
	mov	eax, edx
	mov	edx, eax
	movzx	eax, BYTE PTR dp_dirty[rip]
	or	eax, edx
	mov	BYTE PTR dp_dirty[rip], al
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L52
	call	__stack_chk_fail@PLT
.L52:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE10:
	.size	draw, .-draw
	.globl	fill
	.type	fill, @function
fill:
.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, 64
	mov	eax, ecx
	mov	ecx, r8d
	mov	QWORD PTR -64[rbp], r9
	mov	WORD PTR -36[rbp], di
	mov	WORD PTR -40[rbp], si
	mov	WORD PTR -44[rbp], dx
	mov	WORD PTR -48[rbp], ax
	mov	eax, ecx
	mov	WORD PTR -52[rbp], ax
	mov	rax, QWORD PTR -64[rbp]
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	mov	edi, eax
	call	rgb
	mov	DWORD PTR -24[rbp], eax
	cmp	WORD PTR -36[rbp], 0
	je	.L54
	mov	rax, QWORD PTR idp[rip]
	mov	eax, DWORD PTR 44[rax]
	cdqe
	shr	rax, 2
	jmp	.L55
.L54:
	mov	rax, QWORD PTR ikp[rip]
	mov	eax, DWORD PTR 44[rax]
	cdqe
	shr	rax, 2
.L55:
	mov	DWORD PTR -20[rbp], eax
	cmp	WORD PTR -36[rbp], 0
	je	.L56
	mov	rax, QWORD PTR idp[rip]
	mov	rax, QWORD PTR 16[rax]
	jmp	.L57
.L56:
	mov	rax, QWORD PTR ikp[rip]
	mov	rax, QWORD PTR 16[rax]
.L57:
	movsx	edx, WORD PTR -44[rbp]
	imul	edx, DWORD PTR -20[rbp]
	movsx	rdx, edx
	sal	rdx, 2
	add	rax, rdx
	mov	QWORD PTR -16[rbp], rax
	mov	DWORD PTR -32[rbp], 0
	jmp	.L58
.L61:
	movsx	rax, WORD PTR -40[rbp]
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	mov	QWORD PTR -8[rbp], rax
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	sal	rax, 2
	add	QWORD PTR -16[rbp], rax
	mov	DWORD PTR -28[rbp], 0
	jmp	.L59
.L60:
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 4[rax]
	mov	QWORD PTR -8[rbp], rdx
	mov	edx, DWORD PTR -24[rbp]
	mov	DWORD PTR [rax], edx
	add	DWORD PTR -28[rbp], 1
.L59:
	movsx	eax, WORD PTR -48[rbp]
	cmp	DWORD PTR -28[rbp], eax
	jl	.L60
	add	DWORD PTR -32[rbp], 1
.L58:
	movsx	eax, WORD PTR -52[rbp]
	cmp	DWORD PTR -32[rbp], eax
	jl	.L61
	movsx	eax, WORD PTR -36[rbp]
	mov	edx, 1
	mov	ecx, eax
	sal	edx, cl
	mov	eax, edx
	mov	edx, eax
	movzx	eax, BYTE PTR dp_dirty[rip]
	or	eax, edx
	mov	BYTE PTR dp_dirty[rip], al
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE11:
	.size	fill, .-fill
	.section	.rodata
	.type	__PRETTY_FUNCTION__.0, @object
	.size	__PRETTY_FUNCTION__.0, 5
__PRETTY_FUNCTION__.0:
	.string	"draw"
	.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	"25138682.c"
	.text
	.local	dpy
	.comm	dpy,4,4
	.local	wkp
	.comm	wkp,4,4
	.local	wdp
	.comm	wdp,4,4
	.local	ikp
	.comm	ikp,4,4
	.local	idp
	.comm	idp,4,4
	.local	visual
	.comm	visual,4,4
	.local	gc
	.comm	gc,4,4
	.global	ready
	.bss
	.type	ready, %object
	.size	ready, 1
ready:
	.space	1
	.global	kp_press
	.type	kp_press, %object
	.size	kp_press, 1
kp_press:
	.space	1
	.comm	kp_x,1,1
	.comm	kp_y,1,1
	.global	dp_press
	.type	dp_press, %object
	.size	dp_press, 1
dp_press:
	.space	1
	.comm	dp_x,1,1
	.comm	dp_y,1,1
	.global	dp_dirty
	.type	dp_dirty, %object
	.size	dp_dirty, 1
dp_dirty:
	.space	1
	.section	.rodata
	.align	2
.LC0:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	wait_display
	.syntax unified
	.arm
	.fpu softvfp
	.type	wait_display, %function
wait_display:
	@ args = 0, pretend = 0, frame = 104
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #128
	ldr	r3, .L27
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
.L20:
	ldr	r3, .L27+4
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #1
	cmp	r3, #0
	beq	.L2
	ldr	r3, .L27+8
	ldr	r0, [r3]
	ldr	r3, .L27+12
	ldr	r1, [r3]
	ldr	r3, .L27+16
	ldr	r2, [r3]
	ldr	r3, .L27+20
	ldr	r3, [r3]
	mov	ip, #480
	str	ip, [sp, #20]
	mov	ip, #320
	str	ip, [sp, #16]
	mov	ip, #0
	str	ip, [sp, #12]
	mov	ip, #0
	str	ip, [sp, #8]
	mov	ip, #0
	str	ip, [sp, #4]
	mov	ip, #0
	str	ip, [sp]
	bl	XPutImage
.L2:
	ldr	r3, .L27+4
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #2
	cmp	r3, #0
	beq	.L3
	ldr	r3, .L27+8
	ldr	r0, [r3]
	ldr	r3, .L27+24
	ldr	r1, [r3]
	ldr	r3, .L27+16
	ldr	r2, [r3]
	ldr	r3, .L27+28
	ldr	r3, [r3]
	mov	ip, #480
	str	ip, [sp, #20]
	mov	ip, #320
	str	ip, [sp, #16]
	mov	ip, #0
	str	ip, [sp, #12]
	mov	ip, #0
	str	ip, [sp, #8]
	mov	ip, #0
	str	ip, [sp, #4]
	mov	ip, #0
	str	ip, [sp]
	bl	XPutImage
.L3:
	ldr	r3, .L27+4
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L4
	ldr	r3, .L27+8
	ldr	r3, [r3]
	mov	r0, r3
	bl	XFlush
.L4:
	ldr	r3, .L27+4
	mov	r2, #0
	strb	r2, [r3]
	ldr	r3, .L27+8
	ldr	r3, [r3]
	sub	r2, fp, #104
	mov	r1, r2
	mov	r0, r3
	bl	XNextEvent
	ldr	r3, [fp, #-104]
	sub	r3, r3, #4
	cmp	r3, #8
	ldrls	pc, [pc, r3, asl #2]
	b	.L5
.L7:
	.word	.L10
	.word	.L9
	.word	.L8
	.word	.L5
	.word	.L5
	.word	.L5
	.word	.L5
	.word	.L5
	.word	.L6
.L6:
	ldr	r3, [fp, #-68]
	cmp	r3, #0
	bne	.L22
	ldr	r2, [fp, #-88]
	ldr	r3, .L27+12
	ldr	r3, [r3]
	cmp	r2, r3
	bne	.L12
	ldr	r3, .L27+32
	ldrb	r3, [r3]	@ zero_extendqisi2
	orr	r3, r3, #1
	and	r2, r3, #255
	ldr	r3, .L27+32
	strb	r2, [r3]
	ldr	r3, .L27+8
	ldr	r0, [r3]
	ldr	r3, .L27+12
	ldr	r1, [r3]
	ldr	r3, .L27+16
	ldr	r2, [r3]
	ldr	r3, .L27+20
	ldr	r3, [r3]
	mov	ip, #480
	str	ip, [sp, #20]
	mov	ip, #320
	str	ip, [sp, #16]
	mov	ip, #0
	str	ip, [sp, #12]
	mov	ip, #0
	str	ip, [sp, #8]
	mov	ip, #0
	str	ip, [sp, #4]
	mov	ip, #0
	str	ip, [sp]
	bl	XPutImage
.L12:
	ldr	r2, [fp, #-88]
	ldr	r3, .L27+24
	ldr	r3, [r3]
	cmp	r2, r3
	bne	.L23
	ldr	r3, .L27+32
	ldrb	r3, [r3]	@ zero_extendqisi2
	orr	r3, r3, #2
	and	r2, r3, #255
	ldr	r3, .L27+32
	strb	r2, [r3]
	ldr	r3, .L27+8
	ldr	r0, [r3]
	ldr	r3, .L27+24
	ldr	r1, [r3]
	ldr	r3, .L27+16
	ldr	r2, [r3]
	ldr	r3, .L27+28
	ldr	r3, [r3]
	mov	ip, #480
	str	ip, [sp, #20]
	mov	ip, #320
	str	ip, [sp, #16]
	mov	ip, #0
	str	ip, [sp, #12]
	mov	ip, #0
	str	ip, [sp, #8]
	mov	ip, #0
	str	ip, [sp, #4]
	mov	ip, #0
	str	ip, [sp]
	bl	XPutImage
	b	.L23
.L10:
	ldr	r2, [fp, #-88]
	ldr	r3, .L27+12
	ldr	r3, [r3]
	cmp	r2, r3
	bne	.L14
	ldr	r3, .L27+36
	mov	r2, #1
	strb	r2, [r3]
	ldr	r3, [fp, #-72]
	ldr	r2, .L27+40
	smull	r1, r2, r3, r2
	asr	r2, r2, #5
	asr	r3, r3, #31
	sub	r3, r2, r3
	and	r2, r3, #255
	ldr	r3, .L27+44
	strb	r2, [r3]
	ldr	r3, [fp, #-68]
	ldr	r2, .L27+48
	smull	r1, r2, r3, r2
	asr	r2, r2, #4
	asr	r3, r3, #31
	sub	r3, r2, r3
	and	r2, r3, #255
	ldr	r3, .L27+52
	strb	r2, [r3]
	b	.L24
.L14:
	ldr	r2, [fp, #-88]
	ldr	r3, .L27+24
	ldr	r3, [r3]
	cmp	r2, r3
	bne	.L24
	ldr	r3, .L27+56
	mov	r2, #1
	strb	r2, [r3]
	ldr	r3, [fp, #-72]
	ldr	r2, .L27+40
	smull	r1, r2, r3, r2
	asr	r2, r2, #5
	asr	r3, r3, #31
	sub	r3, r2, r3
	and	r2, r3, #255
	ldr	r3, .L27+60
	strb	r2, [r3]
	ldr	r3, [fp, #-68]
	ldr	r2, .L27+48
	smull	r1, r2, r3, r2
	asr	r2, r2, #4
	asr	r3, r3, #31
	sub	r3, r2, r3
	and	r2, r3, #255
	ldr	r3, .L27+64
	strb	r2, [r3]
	b	.L24
.L9:
	ldr	r2, [fp, #-88]
	ldr	r3, .L27+12
	ldr	r3, [r3]
	cmp	r2, r3
	bne	.L16
	ldr	r3, .L27+36
	mov	r2, #0
	strb	r2, [r3]
	ldr	r3, [fp, #-72]
	ldr	r2, .L27+40
	smull	r1, r2, r3, r2
	asr	r2, r2, #5
	asr	r3, r3, #31
	sub	r3, r2, r3
	and	r2, r3, #255
	ldr	r3, .L27+44
	strb	r2, [r3]
	ldr	r3, [fp, #-68]
	ldr	r2, .L27+48
	smull	r1, r2, r3, r2
	asr	r2, r2, #4
	asr	r3, r3, #31
	sub	r3, r2, r3
	and	r2, r3, #255
	ldr	r3, .L27+52
	strb	r2, [r3]
	b	.L25
.L16:
	ldr	r2, [fp, #-88]
	ldr	r3, .L27+24
	ldr	r3, [r3]
	cmp	r2, r3
	bne	.L25
	ldr	r3, .L27+56
	mov	r2, #0
	strb	r2, [r3]
	ldr	r3, [fp, #-72]
	ldr	r2, .L27+40
	smull	r1, r2, r3, r2
	asr	r2, r2, #5
	asr	r3, r3, #31
	sub	r3, r2, r3
	and	r2, r3, #255
	ldr	r3, .L27+60
	strb	r2, [r3]
	ldr	r3, [fp, #-68]
	ldr	r2, .L27+48
	smull	r1, r2, r3, r2
	asr	r2, r2, #4
	asr	r3, r3, #31
	sub	r3, r2, r3
	and	r2, r3, #255
	ldr	r3, .L27+64
	strb	r2, [r3]
	b	.L25
.L8:
	ldr	r2, [fp, #-88]
	ldr	r3, .L27+12
	ldr	r3, [r3]
	cmp	r2, r3
	bne	.L18
	ldr	r3, [fp, #-72]
	ldr	r2, .L27+40
	smull	r1, r2, r3, r2
	asr	r2, r2, #5
	asr	r3, r3, #31
	sub	r3, r2, r3
	and	r2, r3, #255
	ldr	r3, .L27+44
	strb	r2, [r3]
	ldr	r3, [fp, #-68]
	ldr	r2, .L27+48
	smull	r1, r2, r3, r2
	asr	r2, r2, #4
	asr	r3, r3, #31
	sub	r3, r2, r3
	and	r2, r3, #255
	ldr	r3, .L27+52
	strb	r2, [r3]
	b	.L26
.L18:
	ldr	r2, [fp, #-88]
	ldr	r3, .L27+24
	ldr	r3, [r3]
	cmp	r2, r3
	bne	.L26
	ldr	r3, [fp, #-72]
	ldr	r2, .L27+40
	smull	r1, r2, r3, r2
	asr	r2, r2, #5
	asr	r3, r3, #31
	sub	r3, r2, r3
	and	r2, r3, #255
	ldr	r3, .L27+60
	strb	r2, [r3]
	ldr	r3, [fp, #-68]
	ldr	r2, .L27+48
	smull	r1, r2, r3, r2
	asr	r2, r2, #4
	asr	r3, r3, #31
	sub	r3, r2, r3
	and	r2, r3, #255
	ldr	r3, .L27+64
	strb	r2, [r3]
	b	.L26
.L22:
	nop
	b	.L5
.L23:
	nop
	b	.L5
.L24:
	nop
	b	.L5
.L25:
	nop
	b	.L5
.L26:
	nop
.L5:
	ldr	r3, .L27+32
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #3
	bne	.L20
	nop
	ldr	r3, .L27
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L21
	bl	__stack_chk_fail
.L21:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L28:
	.align	2
.L27:
	.word	.LC0
	.word	dp_dirty
	.word	dpy
	.word	wkp
	.word	gc
	.word	ikp
	.word	wdp
	.word	idp
	.word	ready
	.word	kp_press
	.word	1284476201
	.word	kp_x
	.word	715827883
	.word	kp_y
	.word	dp_press
	.word	dp_x
	.word	dp_y
	.size	wait_display, .-wait_display
	.section	.rodata
	.align	2
.LC1:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	start_display
	.syntax unified
	.arm
	.fpu softvfp
	.type	start_display, %function
start_display:
	@ args = 0, pretend = 0, frame = 104
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, fp, lr}
	add	fp, sp, #16
	sub	sp, sp, #132
	ldr	r3, .L31
	ldr	r3, [r3]
	str	r3, [fp, #-24]
	mov	r3,#0
	mov	r0, #0
	bl	XOpenDisplay
	mov	r3, r0
	ldr	r2, .L31+4
	str	r3, [r2]
	ldr	r3, .L31+4
	ldr	r3, [r3]
	ldr	r3, [r3, #132]
	str	r3, [fp, #-120]
	ldr	r3, .L31+4
	ldr	ip, [r3]
	ldr	r3, .L31+4
	ldr	r3, [r3]
	ldr	r1, [r3, #140]
	ldr	r2, [fp, #-120]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #4
	add	r3, r1, r3
	ldr	lr, [r3, #8]
	ldr	r3, .L31+4
	ldr	r3, [r3]
	ldr	r1, [r3, #140]
	ldr	r2, [fp, #-120]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #4
	add	r3, r1, r3
	ldr	r1, [r3, #56]
	ldr	r3, .L31+4
	ldr	r3, [r3]
	ldr	r0, [r3, #140]
	ldr	r2, [fp, #-120]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #4
	add	r3, r0, r3
	ldr	r3, [r3, #52]
	str	r3, [sp, #16]
	str	r1, [sp, #12]
	mov	r3, #3
	str	r3, [sp, #8]
	mov	r3, #480
	str	r3, [sp, #4]
	mov	r3, #320
	str	r3, [sp]
	mov	r3, #0
	mov	r2, #0
	mov	r1, lr
	mov	r0, ip
	bl	XCreateSimpleWindow
	mov	r3, r0
	ldr	r2, .L31+8
	str	r3, [r2]
	ldr	r3, .L31+4
	ldr	ip, [r3]
	ldr	r3, .L31+4
	ldr	r3, [r3]
	ldr	r1, [r3, #140]
	ldr	r2, [fp, #-120]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #4
	add	r3, r1, r3
	ldr	lr, [r3, #8]
	ldr	r3, .L31+4
	ldr	r3, [r3]
	ldr	r1, [r3, #140]
	ldr	r2, [fp, #-120]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #4
	add	r3, r1, r3
	ldr	r1, [r3, #56]
	ldr	r3, .L31+4
	ldr	r3, [r3]
	ldr	r0, [r3, #140]
	ldr	r2, [fp, #-120]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #4
	add	r3, r0, r3
	ldr	r3, [r3, #52]
	str	r3, [sp, #16]
	str	r1, [sp, #12]
	mov	r3, #3
	str	r3, [sp, #8]
	mov	r3, #480
	str	r3, [sp, #4]
	mov	r3, #320
	str	r3, [sp]
	mov	r3, #0
	mov	r2, #400
	mov	r1, lr
	mov	r0, ip
	bl	XCreateSimpleWindow
	mov	r3, r0
	ldr	r2, .L31+12
	str	r3, [r2]
	ldr	r3, .L31+4
	ldr	r3, [r3]
	ldr	r2, .L31+8
	ldr	r1, [r2]
	ldr	r2, .L31+16
	mov	r0, r3
	bl	XSelectInput
	ldr	r3, .L31+4
	ldr	r3, [r3]
	ldr	r2, .L31+12
	ldr	r1, [r2]
	ldr	r2, .L31+16
	mov	r0, r3
	bl	XSelectInput
	ldr	r3, .L31+4
	ldr	r3, [r3]
	ldr	r2, .L31+8
	ldr	r1, [r2]
	sub	r2, fp, #116
	mov	r0, r3
	bl	XGetWindowAttributes
	ldr	r3, .L31+4
	ldr	r3, [r3]
	ldr	r2, .L31+8
	ldr	r2, [r2]
	mov	r1, r2
	mov	r0, r3
	bl	XMapWindow
	ldr	r3, .L31+4
	ldr	r3, [r3]
	ldr	r2, .L31+12
	ldr	r2, [r2]
	mov	r1, r2
	mov	r0, r3
	bl	XMapWindow
	ldr	r3, .L31+4
	ldr	r4, [r3]
	ldr	r5, [fp, #-92]
	ldr	r3, [fp, #-96]
	mov	r6, r3
	mov	r0, #614400
	bl	malloc
	mov	r3, r0
	mov	r2, r3
	mov	r3, #0
	str	r3, [sp, #20]
	mov	r3, #32
	str	r3, [sp, #16]
	mov	r3, #480
	str	r3, [sp, #12]
	mov	r3, #320
	str	r3, [sp, #8]
	str	r2, [sp, #4]
	mov	r3, #0
	str	r3, [sp]
	mov	r3, #2
	mov	r2, r6
	mov	r1, r5
	mov	r0, r4
	bl	XCreateImage
	mov	r3, r0
	ldr	r2, .L31+20
	str	r3, [r2]
	ldr	r3, .L31+4
	ldr	r4, [r3]
	ldr	r5, [fp, #-92]
	ldr	r3, [fp, #-96]
	mov	r6, r3
	mov	r0, #614400
	bl	malloc
	mov	r3, r0
	mov	r2, r3
	mov	r3, #0
	str	r3, [sp, #20]
	mov	r3, #32
	str	r3, [sp, #16]
	mov	r3, #480
	str	r3, [sp, #12]
	mov	r3, #320
	str	r3, [sp, #8]
	str	r2, [sp, #4]
	mov	r3, #0
	str	r3, [sp]
	mov	r3, #2
	mov	r2, r6
	mov	r1, r5
	mov	r0, r4
	bl	XCreateImage
	mov	r3, r0
	ldr	r2, .L31+24
	str	r3, [r2]
	ldr	r3, .L31+4
	ldr	r3, [r3]
	ldr	r1, [r3, #140]
	ldr	r2, [fp, #-120]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #4
	add	r3, r1, r3
	ldr	r3, [r3, #44]
	ldr	r2, .L31+28
	str	r3, [r2]
	nop
	ldr	r3, .L31
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L30
	bl	__stack_chk_fail
.L30:
	sub	sp, fp, #16
	@ sp needed
	pop	{r4, r5, r6, fp, pc}
.L32:
	.align	2
.L31:
	.word	.LC1
	.word	dpy
	.word	wkp
	.word	wdp
	.word	40972
	.word	ikp
	.word	idp
	.word	gc
	.size	start_display, .-start_display
	.align	2
	.global	end_display
	.syntax unified
	.arm
	.fpu softvfp
	.type	end_display, %function
end_display:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r3, .L34
	ldr	r3, [r3]
	mov	r0, r3
	bl	XCloseDisplay
	nop
	pop	{fp, pc}
.L35:
	.align	2
.L34:
	.word	dpy
	.size	end_display, .-end_display
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	rgb, %function
rgb:
	@ 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
	mov	r3, r0
	strh	r3, [fp, #-14]	@ movhi
	ldrh	r3, [fp, #-14]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #8
	and	r2, r3, #16252928
	ldr	r3, [fp, #-8]
	lsl	r1, r3, #5
	ldr	r3, .L38
	and	r3, r3, r1
	orr	r2, r2, r3
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #3
	and	r3, r3, #1016
	orr	r2, r2, r3
	ldr	r3, [fp, #-8]
	and	r3, r3, #7
	orr	r3, r2, r3
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L39:
	.align	2
.L38:
	.word	523264
	.size	rgb, .-rgb
	.section	.rodata
	.align	2
.LC2:
	.ascii	"the_stack_data/25138682.c\000"
	.align	2
.LC3:
	.ascii	"w+sx <= 320\000"
	.align	2
.LC4:
	.ascii	"h+sy <= 480\000"
	.align	2
.LC5:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	draw
	.syntax unified
	.arm
	.fpu softvfp
	.type	draw, %function
draw:
	@ args = 4, pretend = 0, frame = 576
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #576
	mov	ip, r0
	mov	r0, r1
	mov	r1, r2
	str	r3, [fp, #-576]
	sub	r3, fp, #4
	sub	r3, r3, #560
	sub	r3, r3, #2
	mov	r2, ip	@ movhi
	strh	r2, [r3]	@ movhi
	sub	r3, fp, #4
	sub	r3, r3, #564
	mov	r2, r0	@ movhi
	strh	r2, [r3]	@ movhi
	sub	r3, fp, #4
	sub	r3, r3, #564
	sub	r3, r3, #2
	mov	r2, r1	@ movhi
	strh	r2, [r3]	@ movhi
	ldr	r3, [fp, #4]
	str	r3, [fp, #-580]
	ldr	r3, .L62
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-580]
	add	r2, r3, #1
	str	r2, [fp, #-580]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-528]
	ldr	r3, [fp, #-580]
	add	r2, r3, #1
	str	r2, [fp, #-580]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-560]
	sub	r3, fp, #4
	sub	r3, r3, #560
	sub	r3, r3, #2
	ldrsh	r3, [r3]
	cmp	r3, #0
	beq	.L41
	ldr	r3, .L62+4
	ldr	r3, [r3]
	ldr	r3, [r3, #40]
	lsr	r3, r3, #2
	b	.L42
.L41:
	ldr	r3, .L62+8
	ldr	r3, [r3]
	ldr	r3, [r3, #40]
	lsr	r3, r3, #2
.L42:
	str	r3, [fp, #-524]
	sub	r3, fp, #4
	sub	r3, r3, #560
	sub	r3, r3, #2
	ldrsh	r3, [r3]
	cmp	r3, #0
	beq	.L43
	ldr	r3, .L62+4
	ldr	r3, [r3]
	ldr	r2, [r3, #16]
	b	.L44
.L43:
	ldr	r3, .L62+8
	ldr	r3, [r3]
	ldr	r2, [r3, #16]
.L44:
	sub	r3, fp, #4
	sub	r3, r3, #564
	sub	r3, r3, #2
	ldrsh	r3, [r3]
	ldr	r1, [fp, #-524]
	mul	r3, r1, r3
	lsl	r3, r3, #2
	add	r3, r2, r3
	str	r3, [fp, #-556]
	mov	r3, #0
	str	r3, [fp, #-552]
	mov	r3, #0
	str	r3, [fp, #-548]
	mov	r3, #0
	str	r3, [fp, #-544]
	sub	r3, fp, #4
	sub	r3, r3, #564
	ldrsh	r2, [r3]
	ldr	r3, [fp, #-528]
	add	r3, r2, r3
	cmp	r3, #320
	ble	.L45
	ldr	r3, .L62+12
	mov	r2, #139
	ldr	r1, .L62+16
	ldr	r0, .L62+20
	bl	__assert_fail
.L45:
	sub	r3, fp, #4
	sub	r3, r3, #564
	sub	r3, r3, #2
	ldrsh	r2, [r3]
	ldr	r3, [fp, #-560]
	add	r3, r2, r3
	cmp	r3, #480
	ble	.L46
	ldr	r3, .L62+12
	mov	r2, #140
	ldr	r1, .L62+16
	ldr	r0, .L62+24
	bl	__assert_fail
.L46:
	mov	r3, #0
	str	r3, [fp, #-540]
	b	.L47
.L48:
	ldr	r3, [fp, #-576]
	ldrh	r3, [r3]
	mov	r0, r3
	bl	rgb
	mov	r2, r0
	ldr	r3, [fp, #-540]
	lsl	r3, r3, #2
	sub	r1, fp, #4
	add	r3, r1, r3
	str	r2, [r3, #-516]
	ldr	r3, [fp, #-540]
	add	r3, r3, #1
	str	r3, [fp, #-540]
.L47:
	ldr	r2, [fp, #-540]
	ldr	r3, [fp, #-528]
	cmp	r2, r3
	blt	.L48
	b	.L49
.L60:
	sub	r3, fp, #4
	sub	r3, r3, #564
	ldrsh	r3, [r3]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-556]
	add	r3, r2, r3
	str	r3, [fp, #-536]
	ldr	r3, [fp, #-524]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-556]
	add	r3, r2, r3
	str	r3, [fp, #-556]
	mov	r3, #0
	str	r3, [fp, #-532]
	b	.L50
.L59:
	ldr	r3, [fp, #-552]
	cmp	r3, #0
	beq	.L51
	ldr	r3, [fp, #-552]
	sub	r3, r3, #1
	str	r3, [fp, #-552]
	b	.L52
.L51:
	ldr	r3, [fp, #-548]
	cmp	r3, #0
	beq	.L53
	ldr	r3, [fp, #-532]
	cmp	r3, #0
	beq	.L54
	ldr	r3, [fp, #-532]
	sub	r3, r3, #1
	b	.L55
.L54:
	ldr	r3, [fp, #-528]
	sub	r3, r3, #1
.L55:
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r2, [r3, #-516]
	ldr	r3, [fp, #-532]
	lsl	r3, r3, #2
	sub	r1, fp, #4
	add	r3, r1, r3
	str	r2, [r3, #-516]
	ldr	r3, [fp, #-548]
	sub	r3, r3, #1
	str	r3, [fp, #-548]
	b	.L52
.L53:
	ldr	r3, [fp, #-544]
	cmp	r3, #0
	beq	.L56
	ldr	r3, [fp, #-580]
	add	r2, r3, #1
	str	r2, [fp, #-580]
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #7
	lsl	r3, r3, #1
	ldr	r2, [fp, #-576]
	add	r3, r2, r3
	ldrh	r3, [r3]
	mov	r0, r3
	bl	rgb
	mov	r2, r0
	ldr	r3, [fp, #-532]
	lsl	r3, r3, #2
	sub	r1, fp, #4
	add	r3, r1, r3
	str	r2, [r3, #-516]
	mov	r3, #0
	str	r3, [fp, #-544]
	b	.L52
.L56:
	ldr	r3, [fp, #-580]
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #192
	cmp	r3, #128
	beq	.L57
	cmp	r3, #192
	bne	.L58
	mov	r3, #1
	str	r3, [fp, #-544]
	ldr	r3, [fp, #-580]
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsr	r3, r3, #3
	and	r3, r3, #255
	and	r3, r3, #7
	lsl	r3, r3, #1
	ldr	r2, [fp, #-576]
	add	r3, r2, r3
	ldrh	r3, [r3]
	mov	r0, r3
	bl	rgb
	mov	r2, r0
	ldr	r3, [fp, #-532]
	lsl	r3, r3, #2
	sub	r1, fp, #4
	add	r3, r1, r3
	str	r2, [r3, #-516]
	b	.L52
.L57:
	ldr	r3, [fp, #-580]
	add	r2, r3, #1
	str	r2, [fp, #-580]
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r3, r3, #63
	add	r3, r3, #3
	str	r3, [fp, #-548]
	b	.L50
.L58:
	ldr	r3, [fp, #-580]
	add	r2, r3, #1
	str	r2, [fp, #-580]
	ldrb	r3, [r3]	@ zero_extendqisi2
	add	r3, r3, #3
	str	r3, [fp, #-552]
	b	.L50
.L52:
	ldr	r3, [fp, #-532]
	add	r2, r3, #1
	str	r2, [fp, #-532]
	ldr	r2, [fp, #-536]
	add	r1, r2, #4
	str	r1, [fp, #-536]
	lsl	r3, r3, #2
	sub	r1, fp, #4
	add	r3, r1, r3
	ldr	r3, [r3, #-516]
	str	r3, [r2]
.L50:
	ldr	r2, [fp, #-532]
	ldr	r3, [fp, #-528]
	cmp	r2, r3
	blt	.L59
.L49:
	ldr	r3, [fp, #-560]
	sub	r2, r3, #1
	str	r2, [fp, #-560]
	cmp	r3, #0
	bne	.L60
	sub	r3, fp, #4
	sub	r3, r3, #560
	sub	r3, r3, #2
	ldrsh	r3, [r3]
	mov	r2, #1
	lsl	r3, r2, r3
	lsl	r3, r3, #24
	asr	r2, r3, #24
	ldr	r3, .L62+28
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	asr	r3, r3, #24
	orr	r3, r2, r3
	lsl	r3, r3, #24
	asr	r3, r3, #24
	and	r2, r3, #255
	ldr	r3, .L62+28
	strb	r2, [r3]
	nop
	ldr	r3, .L62
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L61
	bl	__stack_chk_fail
.L61:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L63:
	.align	2
.L62:
	.word	.LC5
	.word	idp
	.word	ikp
	.word	__PRETTY_FUNCTION__.8028
	.word	.LC2
	.word	.LC3
	.word	.LC4
	.word	dp_dirty
	.size	draw, .-draw
	.align	2
	.global	fill
	.syntax unified
	.arm
	.fpu softvfp
	.type	fill, %function
fill:
	@ args = 8, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	mov	ip, r0
	mov	r0, r1
	mov	r1, r2
	mov	r2, r3
	mov	r3, ip	@ movhi
	strh	r3, [fp, #-30]	@ movhi
	mov	r3, r0	@ movhi
	strh	r3, [fp, #-32]	@ movhi
	mov	r3, r1	@ movhi
	strh	r3, [fp, #-34]	@ movhi
	mov	r3, r2	@ movhi
	strh	r3, [fp, #-36]	@ movhi
	ldr	r3, [fp, #8]
	ldrh	r3, [r3]
	mov	r0, r3
	bl	rgb
	str	r0, [fp, #-12]
	ldrsh	r3, [fp, #-30]
	cmp	r3, #0
	beq	.L65
	ldr	r3, .L73
	ldr	r3, [r3]
	ldr	r3, [r3, #40]
	lsr	r3, r3, #2
	b	.L66
.L65:
	ldr	r3, .L73+4
	ldr	r3, [r3]
	ldr	r3, [r3, #40]
	lsr	r3, r3, #2
.L66:
	str	r3, [fp, #-8]
	ldrsh	r3, [fp, #-30]
	cmp	r3, #0
	beq	.L67
	ldr	r3, .L73
	ldr	r3, [r3]
	ldr	r3, [r3, #16]
	b	.L68
.L67:
	ldr	r3, .L73+4
	ldr	r3, [r3]
	ldr	r3, [r3, #16]
.L68:
	ldrsh	r2, [fp, #-34]
	ldr	r1, [fp, #-8]
	mul	r2, r1, r2
	lsl	r2, r2, #2
	add	r3, r3, r2
	str	r3, [fp, #-28]
	mov	r3, #0
	str	r3, [fp, #-24]
	b	.L69
.L72:
	ldrsh	r3, [fp, #-32]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-28]
	add	r3, r2, r3
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-28]
	add	r3, r2, r3
	str	r3, [fp, #-28]
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L70
.L71:
	ldr	r3, [fp, #-20]
	add	r2, r3, #4
	str	r2, [fp, #-20]
	ldr	r2, [fp, #-12]
	str	r2, [r3]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L70:
	ldrsh	r3, [fp, #-36]
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	blt	.L71
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L69:
	ldrsh	r3, [fp, #4]
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	blt	.L72
	ldrsh	r3, [fp, #-30]
	mov	r2, #1
	lsl	r3, r2, r3
	lsl	r3, r3, #24
	asr	r2, r3, #24
	ldr	r3, .L73+8
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r3, r3, #24
	asr	r3, r3, #24
	orr	r3, r2, r3
	lsl	r3, r3, #24
	asr	r3, r3, #24
	and	r2, r3, #255
	ldr	r3, .L73+8
	strb	r2, [r3]
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L74:
	.align	2
.L73:
	.word	idp
	.word	ikp
	.word	dp_dirty
	.size	fill, .-fill
	.section	.rodata
	.align	2
	.type	__PRETTY_FUNCTION__.8028, %object
	.size	__PRETTY_FUNCTION__.8028, 5
__PRETTY_FUNCTION__.8028:
	.ascii	"draw\000"
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
