	.file	"221825.c"
	.intel_syntax noprefix
	.text
	.globl	display
	.bss
	.align 8
	.type	display, @object
	.size	display, 8
display:
	.zero	8
	.globl	window
	.align 8
	.type	window, @object
	.size	window, 8
window:
	.zero	8
	.globl	screen_num
	.align 4
	.type	screen_num, @object
	.size	screen_num, 4
screen_num:
	.zero	4
	.globl	screen_ptr
	.align 8
	.type	screen_ptr, @object
	.size	screen_ptr, 8
screen_ptr:
	.zero	8
	.globl	gc
	.align 8
	.type	gc, @object
	.size	gc, 8
gc:
	.zero	8
	.globl	font
	.align 8
	.type	font, @object
	.size	font, 8
font:
	.zero	8
	.globl	xfs
	.align 8
	.type	xfs, @object
	.size	xfs, 8
xfs:
	.zero	8
	.globl	size_hints
	.align 8
	.type	size_hints, @object
	.size	size_hints, 8
size_hints:
	.zero	8
	.globl	wm_hints
	.align 8
	.type	wm_hints, @object
	.size	wm_hints, 8
wm_hints:
	.zero	8
	.globl	class_hints
	.align 8
	.type	class_hints, @object
	.size	class_hints, 8
class_hints:
	.zero	8
	.globl	SIZE_FULLSCREEN
	.align 4
	.type	SIZE_FULLSCREEN, @object
	.size	SIZE_FULLSCREEN, 4
SIZE_FULLSCREEN:
	.zero	4
	.globl	CURRENT_DIRECTION
	.data
	.align 4
	.type	CURRENT_DIRECTION, @object
	.size	CURRENT_DIRECTION, 4
CURRENT_DIRECTION:
	.long	1
	.globl	CURRENT_WIDTH
	.bss
	.align 4
	.type	CURRENT_WIDTH, @object
	.size	CURRENT_WIDTH, 4
CURRENT_WIDTH:
	.zero	4
	.globl	CURRENT_HEIGHT
	.align 4
	.type	CURRENT_HEIGHT, @object
	.size	CURRENT_HEIGHT, 4
CURRENT_HEIGHT:
	.zero	4
	.globl	CURRENT_POSITION_X
	.align 4
	.type	CURRENT_POSITION_X, @object
	.size	CURRENT_POSITION_X, 4
CURRENT_POSITION_X:
	.zero	4
	.globl	CURRENT_POSITION_Y
	.align 4
	.type	CURRENT_POSITION_Y, @object
	.size	CURRENT_POSITION_Y, 4
CURRENT_POSITION_Y:
	.zero	4
	.globl	CURRENT_MOUSE_POSITION
	.align 4
	.type	CURRENT_MOUSE_POSITION, @object
	.size	CURRENT_MOUSE_POSITION, 4
CURRENT_MOUSE_POSITION:
	.zero	4
	.globl	MOUSE_POSITION_PREV_X
	.align 4
	.type	MOUSE_POSITION_PREV_X, @object
	.size	MOUSE_POSITION_PREV_X, 4
MOUSE_POSITION_PREV_X:
	.zero	4
	.globl	MOUSE_POSITION_PREV_Y
	.align 4
	.type	MOUSE_POSITION_PREV_Y, @object
	.size	MOUSE_POSITION_PREV_Y, 4
MOUSE_POSITION_PREV_Y:
	.zero	4
	.globl	pixel_color_1
	.align 8
	.type	pixel_color_1, @object
	.size	pixel_color_1, 8
pixel_color_1:
	.zero	8
	.globl	pixel_color_2
	.align 8
	.type	pixel_color_2, @object
	.size	pixel_color_2, 8
pixel_color_2:
	.zero	8
	.section	.rodata
.LC0:
	.string	"_MOTIF_WM_HINTS"
.LC1:
	.string	"*misc*fixed*"
	.text
	.globl	main
	.type	main, @function
main:
.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, 400
	mov	DWORD PTR -388[rbp], edi
	mov	QWORD PTR -400[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rdx, QWORD PTR -400[rbp]
	mov	eax, DWORD PTR -388[rbp]
	mov	rsi, rdx
	mov	edi, eax
	call	usage
	call	XAllocSizeHints@PLT
	mov	QWORD PTR size_hints[rip], rax
	call	XAllocWMHints@PLT
	mov	QWORD PTR wm_hints[rip], rax
	call	XAllocClassHint@PLT
	mov	QWORD PTR class_hints[rip], rax
	mov	rax, QWORD PTR size_hints[rip]
	test	rax, rax
	je	.L2
	mov	rax, QWORD PTR wm_hints[rip]
	test	rax, rax
	je	.L2
	mov	rax, QWORD PTR class_hints[rip]
	test	rax, rax
	jne	.L3
.L2:
	mov	edi, -1
	call	exit@PLT
.L3:
	mov	edi, 0
	call	XOpenDisplay@PLT
	mov	QWORD PTR display[rip], rax
	mov	rax, QWORD PTR display[rip]
	test	rax, rax
	jne	.L4
	mov	edi, -1
	call	exit@PLT
.L4:
	mov	rax, QWORD PTR display[rip]
	mov	eax, DWORD PTR 224[rax]
	mov	DWORD PTR screen_num[rip], eax
	mov	rax, QWORD PTR display[rip]
	mov	rdx, QWORD PTR 232[rax]
	mov	rax, QWORD PTR display[rip]
	mov	eax, DWORD PTR 224[rax]
	cdqe
	sal	rax, 7
	add	rax, rdx
	mov	QWORD PTR screen_ptr[rip], rax
	mov	eax, 0
	call	init_default_sizes_and_positions
	mov	eax, DWORD PTR CURRENT_DIRECTION[rip]
	lea	rdx, CURRENT_HEIGHT[rip]
	lea	rsi, CURRENT_WIDTH[rip]
	mov	edi, eax
	call	get_default_sizes_for_direction
	mov	rax, QWORD PTR display[rip]
	mov	rdx, QWORD PTR 232[rax]
	mov	eax, DWORD PTR screen_num[rip]
	cdqe
	sal	rax, 7
	add	rax, rdx
	mov	rax, QWORD PTR 88[rax]
	mov	QWORD PTR pixel_color_1[rip], rax
	mov	rax, QWORD PTR display[rip]
	mov	rdx, QWORD PTR 232[rax]
	mov	eax, DWORD PTR screen_num[rip]
	cdqe
	sal	rax, 7
	add	rax, rdx
	mov	rax, QWORD PTR 96[rax]
	mov	QWORD PTR pixel_color_2[rip], rax
	mov	rdx, QWORD PTR -400[rbp]
	mov	eax, DWORD PTR -388[rbp]
	mov	rsi, rdx
	mov	edi, eax
	call	users_colors
	mov	rcx, QWORD PTR pixel_color_1[rip]
	mov	rdx, QWORD PTR pixel_color_2[rip]
	mov	r8d, DWORD PTR CURRENT_HEIGHT[rip]
	mov	edi, DWORD PTR CURRENT_WIDTH[rip]
	mov	rax, QWORD PTR display[rip]
	mov	rsi, QWORD PTR 232[rax]
	mov	eax, DWORD PTR screen_num[rip]
	cdqe
	sal	rax, 7
	add	rax, rsi
	mov	rsi, QWORD PTR 16[rax]
	mov	rax, QWORD PTR display[rip]
	sub	rsp, 8
	push	rcx
	push	rdx
	push	0
	mov	r9d, r8d
	mov	r8d, edi
	mov	ecx, 0
	mov	edx, 0
	mov	rdi, rax
	call	XCreateSimpleWindow@PLT
	add	rsp, 32
	mov	QWORD PTR window[rip], rax
	mov	QWORD PTR -368[rbp], 2
	mov	QWORD PTR -352[rbp], 0
	mov	rax, QWORD PTR display[rip]
	mov	edx, 1
	lea	rsi, .LC0[rip]
	mov	rdi, rax
	call	XInternAtom@PLT
	mov	QWORD PTR -384[rbp], rax
	mov	rsi, QWORD PTR window[rip]
	mov	rax, QWORD PTR display[rip]
	mov	rcx, QWORD PTR -384[rbp]
	mov	rdx, QWORD PTR -384[rbp]
	push	3
	lea	rdi, -368[rbp]
	push	rdi
	mov	r9d, 0
	mov	r8d, 32
	mov	rdi, rax
	call	XChangeProperty@PLT
	add	rsp, 16
	mov	QWORD PTR -376[rbp], 12
	mov	rax, QWORD PTR pixel_color_1[rip]
	mov	QWORD PTR -312[rbp], rax
	mov	rax, QWORD PTR pixel_color_2[rip]
	mov	QWORD PTR -320[rbp], rax
	mov	rsi, QWORD PTR window[rip]
	mov	rax, QWORD PTR display[rip]
	lea	rcx, -336[rbp]
	mov	rdx, QWORD PTR -376[rbp]
	mov	rdi, rax
	call	XCreateGC@PLT
	mov	QWORD PTR gc[rip], rax
	mov	rax, QWORD PTR display[rip]
	lea	rsi, .LC1[rip]
	mov	rdi, rax
	call	XLoadFont@PLT
	mov	QWORD PTR font[rip], rax
	mov	rdx, QWORD PTR font[rip]
	mov	rax, QWORD PTR display[rip]
	mov	rsi, rdx
	mov	rdi, rax
	call	XQueryFont@PLT
	mov	QWORD PTR xfs[rip], rax
	mov	rax, QWORD PTR font[rip]
	test	rax, rax
	jne	.L5
	mov	edi, -1
	call	exit@PLT
.L5:
	mov	rdx, QWORD PTR font[rip]
	mov	rcx, QWORD PTR gc[rip]
	mov	rax, QWORD PTR display[rip]
	mov	rsi, rcx
	mov	rdi, rax
	call	XSetFont@PLT
	mov	rax, QWORD PTR size_hints[rip]
	mov	QWORD PTR [rax], 60
	mov	edx, DWORD PTR CURRENT_WIDTH[rip]
	mov	rax, QWORD PTR size_hints[rip]
	mov	DWORD PTR 24[rax], edx
	mov	edx, DWORD PTR CURRENT_HEIGHT[rip]
	mov	rax, QWORD PTR size_hints[rip]
	mov	DWORD PTR 28[rax], edx
	mov	edx, DWORD PTR CURRENT_WIDTH[rip]
	mov	rax, QWORD PTR size_hints[rip]
	mov	DWORD PTR 32[rax], edx
	mov	edx, DWORD PTR CURRENT_HEIGHT[rip]
	mov	rax, QWORD PTR size_hints[rip]
	mov	DWORD PTR 36[rax], edx
	mov	rax, QWORD PTR wm_hints[rip]
	mov	DWORD PTR 12[rax], 1
	mov	rax, QWORD PTR wm_hints[rip]
	mov	DWORD PTR 8[rax], 1
	mov	rax, QWORD PTR wm_hints[rip]
	mov	QWORD PTR [rax], 3
	mov	rdi, QWORD PTR class_hints[rip]
	mov	rcx, QWORD PTR wm_hints[rip]
	mov	rdx, QWORD PTR size_hints[rip]
	mov	rsi, QWORD PTR window[rip]
	mov	rax, QWORD PTR display[rip]
	mov	r9d, DWORD PTR -388[rbp]
	mov	r8, QWORD PTR -400[rbp]
	sub	rsp, 8
	push	rdi
	push	rcx
	push	rdx
	mov	ecx, 0
	mov	edx, 0
	mov	rdi, rax
	call	XSetWMProperties@PLT
	add	rsp, 32
	mov	rcx, QWORD PTR window[rip]
	mov	rax, QWORD PTR display[rip]
	mov	edx, 164161
	mov	rsi, rcx
	mov	rdi, rax
	call	XSelectInput@PLT
	mov	rdx, QWORD PTR window[rip]
	mov	rax, QWORD PTR display[rip]
	mov	rsi, rdx
	mov	rdi, rax
	call	XMapWindow@PLT
.L14:
	mov	rax, QWORD PTR display[rip]
	lea	rdx, -208[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	XNextEvent@PLT
	mov	eax, DWORD PTR -208[rbp]
	cmp	eax, 22
	je	.L16
	cmp	eax, 22
	jg	.L17
	cmp	eax, 12
	je	.L8
	cmp	eax, 12
	jg	.L17
	cmp	eax, 2
	je	.L9
	cmp	eax, 6
	je	.L10
	jmp	.L17
.L8:
	mov	eax, DWORD PTR -152[rbp]
	test	eax, eax
	jne	.L18
	mov	eax, 0
	call	draw_bg
	jmp	.L12
.L9:
	lea	rax, -208[rbp]
	mov	rdi, rax
	call	on_key_press
	jmp	.L12
.L10:
	mov	eax, DWORD PTR -128[rbp]
	mov	eax, eax
	and	eax, 256
	test	rax, rax
	je	.L13
	mov	eax, DWORD PTR -144[rbp]
	mov	edx, eax
	mov	eax, DWORD PTR MOUSE_POSITION_PREV_X[rip]
	sub	edx, eax
	mov	eax, DWORD PTR CURRENT_POSITION_X[rip]
	add	eax, edx
	mov	DWORD PTR CURRENT_POSITION_X[rip], eax
	mov	eax, DWORD PTR -140[rbp]
	mov	edx, eax
	mov	eax, DWORD PTR MOUSE_POSITION_PREV_Y[rip]
	sub	edx, eax
	mov	eax, DWORD PTR CURRENT_POSITION_Y[rip]
	add	eax, edx
	mov	DWORD PTR CURRENT_POSITION_Y[rip], eax
	mov	eax, 0
	call	update_position_and_size
	jmp	.L12
.L13:
	lea	rax, -208[rbp]
	mov	rdi, rax
	call	on_mouse_move
	jmp	.L12
.L16:
	nop
	jmp	.L14
.L17:
	nop
	jmp	.L14
.L18:
	nop
.L12:
	jmp	.L14
	.cfi_endproc
.LFE6:
	.size	main, .-main
	.globl	on_key_press
	.type	on_key_press, @function
on_key_press:
.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, 64
	mov	QWORD PTR -56[rbp], rdi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR -56[rbp]
	lea	rcx, -32[rbp]
	lea	rdx, -40[rbp]
	mov	r8, rcx
	mov	rcx, rdx
	mov	edx, 0
	mov	esi, 0
	mov	rdi, rax
	call	XLookupString@PLT
	mov	rax, QWORD PTR -40[rbp]
	cmp	rax, 65364
	je	.L20
	cmp	rax, 65364
	ja	.L45
	cmp	rax, 65363
	je	.L22
	cmp	rax, 65363
	ja	.L45
	cmp	rax, 65362
	je	.L23
	cmp	rax, 65362
	ja	.L45
	cmp	rax, 65361
	je	.L24
	cmp	rax, 65361
	ja	.L45
	cmp	rax, 116
	ja	.L25
	cmp	rax, 69
	jb	.L45
	sub	rax, 69
	cmp	rax, 47
	ja	.L45
	lea	rdx, 0[0+rax*4]
	lea	rax, .L27[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L27[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L27:
	.long	.L36-.L27
	.long	.L45-.L27
	.long	.L45-.L27
	.long	.L45-.L27
	.long	.L45-.L27
	.long	.L45-.L27
	.long	.L45-.L27
	.long	.L45-.L27
	.long	.L45-.L27
	.long	.L35-.L27
	.long	.L45-.L27
	.long	.L45-.L27
	.long	.L45-.L27
	.long	.L45-.L27
	.long	.L34-.L27
	.long	.L45-.L27
	.long	.L45-.L27
	.long	.L45-.L27
	.long	.L33-.L27
	.long	.L45-.L27
	.long	.L45-.L27
	.long	.L45-.L27
	.long	.L45-.L27
	.long	.L45-.L27
	.long	.L45-.L27
	.long	.L45-.L27
	.long	.L45-.L27
	.long	.L45-.L27
	.long	.L45-.L27
	.long	.L45-.L27
	.long	.L45-.L27
	.long	.L32-.L27
	.long	.L45-.L27
	.long	.L31-.L27
	.long	.L45-.L27
	.long	.L45-.L27
	.long	.L45-.L27
	.long	.L45-.L27
	.long	.L45-.L27
	.long	.L45-.L27
	.long	.L30-.L27
	.long	.L45-.L27
	.long	.L45-.L27
	.long	.L45-.L27
	.long	.L29-.L27
	.long	.L45-.L27
	.long	.L28-.L27
	.long	.L26-.L27
	.text
.L25:
	cmp	rax, 65307
	je	.L37
	jmp	.L45
.L23:
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rax
	mov	edi, 1
	call	change_position
	jmp	.L38
.L20:
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rax
	mov	edi, 2
	call	change_position
	jmp	.L38
.L24:
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rax
	mov	edi, 3
	call	change_position
	jmp	.L38
.L22:
	mov	rax, QWORD PTR -56[rbp]
	mov	rsi, rax
	mov	edi, 4
	call	change_position
	jmp	.L38
.L32:
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 80[rax]
	and	eax, 4
	test	eax, eax
	je	.L46
	mov	edi, 150
	call	change_size
	jmp	.L38
.L28:
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 80[rax]
	and	eax, 4
	test	eax, eax
	je	.L47
	mov	edi, 375
	call	change_size
	jmp	.L38
.L30:
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 80[rax]
	and	eax, 4
	test	eax, eax
	je	.L48
	mov	edi, 525
	call	change_size
	jmp	.L38
.L26:
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 80[rax]
	and	eax, 4
	test	eax, eax
	je	.L49
	mov	edi, 675
	call	change_size
	jmp	.L38
.L31:
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 80[rax]
	and	eax, 4
	test	eax, eax
	je	.L50
	mov	eax, DWORD PTR SIZE_FULLSCREEN[rip]
	mov	edi, eax
	call	change_size
	jmp	.L38
.L35:
	mov	edi, 1
	call	change_direction
	jmp	.L38
.L34:
	mov	edi, 2
	call	change_direction
	jmp	.L38
.L33:
	mov	edi, 3
	call	change_direction
	jmp	.L38
.L36:
	mov	edi, 4
	call	change_direction
	jmp	.L38
.L29:
	mov	rax, QWORD PTR -56[rbp]
	mov	eax, DWORD PTR 80[rax]
	and	eax, 4
	test	eax, eax
	je	.L51
.L37:
	mov	rdx, QWORD PTR gc[rip]
	mov	rax, QWORD PTR display[rip]
	mov	rsi, rdx
	mov	rdi, rax
	call	XFreeGC@PLT
	mov	rdx, QWORD PTR xfs[rip]
	mov	rax, QWORD PTR display[rip]
	mov	rsi, rdx
	mov	rdi, rax
	call	XFreeFont@PLT
	mov	rax, QWORD PTR display[rip]
	mov	rdi, rax
	call	XCloseDisplay@PLT
	mov	edi, 1
	call	exit@PLT
.L45:
	nop
	jmp	.L38
.L46:
	nop
	jmp	.L38
.L47:
	nop
	jmp	.L38
.L48:
	nop
	jmp	.L38
.L49:
	nop
	jmp	.L38
.L50:
	nop
	jmp	.L38
.L51:
	nop
.L38:
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L44
	call	__stack_chk_fail@PLT
.L44:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE7:
	.size	on_key_press, .-on_key_press
	.globl	on_mouse_move
	.type	on_mouse_move, @function
on_mouse_move:
.LFB8:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 64[rax]
	mov	DWORD PTR MOUSE_POSITION_PREV_X[rip], eax
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 68[rax]
	mov	DWORD PTR MOUSE_POSITION_PREV_Y[rip], eax
	mov	eax, DWORD PTR CURRENT_DIRECTION[rip]
	cmp	eax, 2
	ja	.L53
	test	eax, eax
	jne	.L54
	jmp	.L55
.L53:
	sub	eax, 3
	cmp	eax, 1
	ja	.L55
	jmp	.L57
.L54:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 64[rax]
	mov	DWORD PTR CURRENT_MOUSE_POSITION[rip], eax
	jmp	.L55
.L57:
	mov	rax, QWORD PTR -8[rbp]
	mov	eax, DWORD PTR 68[rax]
	mov	DWORD PTR CURRENT_MOUSE_POSITION[rip], eax
	nop
.L55:
	mov	eax, 0
	call	draw_mouse_position
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE8:
	.size	on_mouse_move, .-on_mouse_move
	.globl	init_default_sizes_and_positions
	.type	init_default_sizes_and_positions, @function
init_default_sizes_and_positions:
.LFB9:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 160
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR display[rip]
	mov	rdx, QWORD PTR 232[rax]
	mov	eax, DWORD PTR screen_num[rip]
	cdqe
	sal	rax, 7
	add	rax, rdx
	mov	rax, QWORD PTR 16[rax]
	mov	QWORD PTR -152[rbp], rax
	mov	rax, QWORD PTR display[rip]
	lea	rdx, -144[rbp]
	mov	rcx, QWORD PTR -152[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	XGetWindowAttributes@PLT
	cmp	eax, 1
	je	.L59
	mov	edi, -1
	call	exit@PLT
.L59:
	mov	eax, DWORD PTR -136[rbp]
	mov	DWORD PTR SIZE_FULLSCREEN[rip], eax
	mov	DWORD PTR CURRENT_POSITION_X[rip], 50
	mov	DWORD PTR CURRENT_POSITION_Y[rip], 50
	mov	DWORD PTR CURRENT_MOUSE_POSITION[rip], 0
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L60
	call	__stack_chk_fail@PLT
.L60:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE9:
	.size	init_default_sizes_and_positions, .-init_default_sizes_and_positions
	.globl	get_default_sizes_for_direction
	.type	get_default_sizes_for_direction, @function
get_default_sizes_for_direction:
.LFB10:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -4[rbp], edi
	mov	QWORD PTR -16[rbp], rsi
	mov	QWORD PTR -24[rbp], rdx
	cmp	DWORD PTR -4[rbp], 4
	je	.L62
	cmp	DWORD PTR -4[rbp], 4
	ja	.L68
	cmp	DWORD PTR -4[rbp], 3
	je	.L64
	cmp	DWORD PTR -4[rbp], 3
	ja	.L68
	cmp	DWORD PTR -4[rbp], 1
	je	.L65
	cmp	DWORD PTR -4[rbp], 2
	je	.L66
	jmp	.L68
.L65:
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR [rax], 150
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR [rax], 75
	jmp	.L67
.L66:
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR [rax], 150
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR [rax], 75
	jmp	.L67
.L64:
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR [rax], 75
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR [rax], 150
	jmp	.L67
.L62:
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR [rax], 75
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR [rax], 150
	jmp	.L67
.L68:
	nop
.L67:
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE10:
	.size	get_default_sizes_for_direction, .-get_default_sizes_for_direction
	.globl	update_position_and_size
	.type	update_position_and_size, @function
update_position_and_size:
.LFB11:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	ecx, DWORD PTR CURRENT_HEIGHT[rip]
	mov	edx, DWORD PTR CURRENT_WIDTH[rip]
	mov	eax, DWORD PTR CURRENT_POSITION_Y[rip]
	mov	r10d, eax
	mov	eax, DWORD PTR CURRENT_POSITION_X[rip]
	mov	edi, eax
	mov	rsi, QWORD PTR window[rip]
	mov	rax, QWORD PTR display[rip]
	mov	r9d, ecx
	mov	r8d, edx
	mov	ecx, r10d
	mov	edx, edi
	mov	rdi, rax
	call	XMoveResizeWindow@PLT
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE11:
	.size	update_position_and_size, .-update_position_and_size
	.globl	change_position
	.type	change_position, @function
change_position:
.LFB12:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	DWORD PTR -20[rbp], edi
	mov	QWORD PTR -32[rbp], rsi
	mov	DWORD PTR -4[rbp], 1
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 80[rax]
	and	eax, 4
	test	eax, eax
	je	.L71
	mov	DWORD PTR -4[rbp], 10
.L71:
	cmp	DWORD PTR -20[rbp], 4
	je	.L72
	cmp	DWORD PTR -20[rbp], 4
	ja	.L78
	cmp	DWORD PTR -20[rbp], 3
	je	.L74
	cmp	DWORD PTR -20[rbp], 3
	ja	.L78
	cmp	DWORD PTR -20[rbp], 1
	je	.L75
	cmp	DWORD PTR -20[rbp], 2
	je	.L76
	jmp	.L78
.L75:
	mov	eax, DWORD PTR CURRENT_POSITION_Y[rip]
	sub	eax, DWORD PTR -4[rbp]
	mov	DWORD PTR CURRENT_POSITION_Y[rip], eax
	jmp	.L77
.L76:
	mov	edx, DWORD PTR CURRENT_POSITION_Y[rip]
	mov	eax, DWORD PTR -4[rbp]
	add	eax, edx
	mov	DWORD PTR CURRENT_POSITION_Y[rip], eax
	jmp	.L77
.L74:
	mov	eax, DWORD PTR CURRENT_POSITION_X[rip]
	sub	eax, DWORD PTR -4[rbp]
	mov	DWORD PTR CURRENT_POSITION_X[rip], eax
	jmp	.L77
.L72:
	mov	edx, DWORD PTR CURRENT_POSITION_X[rip]
	mov	eax, DWORD PTR -4[rbp]
	add	eax, edx
	mov	DWORD PTR CURRENT_POSITION_X[rip], eax
	jmp	.L77
.L78:
	nop
.L77:
	mov	eax, 0
	call	update_position_and_size
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE12:
	.size	change_position, .-change_position
	.globl	change_size
	.type	change_size, @function
change_size:
.LFB13:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	DWORD PTR -4[rbp], edi
	mov	eax, DWORD PTR CURRENT_DIRECTION[rip]
	cmp	eax, 4
	je	.L80
	cmp	eax, 4
	ja	.L86
	cmp	eax, 3
	je	.L82
	cmp	eax, 3
	ja	.L86
	cmp	eax, 1
	je	.L83
	cmp	eax, 2
	je	.L84
	jmp	.L86
.L83:
	mov	eax, DWORD PTR -4[rbp]
	mov	DWORD PTR CURRENT_WIDTH[rip], eax
	jmp	.L85
.L84:
	mov	eax, DWORD PTR -4[rbp]
	mov	DWORD PTR CURRENT_WIDTH[rip], eax
	jmp	.L85
.L82:
	mov	eax, DWORD PTR -4[rbp]
	mov	DWORD PTR CURRENT_HEIGHT[rip], eax
	jmp	.L85
.L80:
	mov	eax, DWORD PTR -4[rbp]
	mov	DWORD PTR CURRENT_HEIGHT[rip], eax
	jmp	.L85
.L86:
	nop
.L85:
	mov	edx, DWORD PTR CURRENT_WIDTH[rip]
	mov	rax, QWORD PTR size_hints[rip]
	mov	DWORD PTR 24[rax], edx
	mov	edx, DWORD PTR CURRENT_HEIGHT[rip]
	mov	rax, QWORD PTR size_hints[rip]
	mov	DWORD PTR 28[rax], edx
	mov	edx, DWORD PTR CURRENT_WIDTH[rip]
	mov	rax, QWORD PTR size_hints[rip]
	mov	DWORD PTR 32[rax], edx
	mov	edx, DWORD PTR CURRENT_HEIGHT[rip]
	mov	rax, QWORD PTR size_hints[rip]
	mov	DWORD PTR 36[rax], edx
	mov	rdi, QWORD PTR class_hints[rip]
	mov	rcx, QWORD PTR wm_hints[rip]
	mov	rdx, QWORD PTR size_hints[rip]
	mov	rsi, QWORD PTR window[rip]
	mov	rax, QWORD PTR display[rip]
	sub	rsp, 8
	push	rdi
	push	rcx
	push	rdx
	mov	r9d, 0
	mov	r8d, 0
	mov	ecx, 0
	mov	edx, 0
	mov	rdi, rax
	call	XSetWMProperties@PLT
	add	rsp, 32
	mov	eax, 0
	call	update_position_and_size
	mov	eax, 0
	call	draw_bg
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE13:
	.size	change_size, .-change_size
	.globl	change_direction
	.type	change_direction, @function
change_direction:
.LFB14:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	DWORD PTR -4[rbp], edi
	mov	eax, DWORD PTR -4[rbp]
	mov	DWORD PTR CURRENT_DIRECTION[rip], eax
	mov	eax, DWORD PTR CURRENT_DIRECTION[rip]
	lea	rdx, CURRENT_HEIGHT[rip]
	lea	rsi, CURRENT_WIDTH[rip]
	mov	edi, eax
	call	get_default_sizes_for_direction
	mov	edi, 150
	call	change_size
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE14:
	.size	change_direction, .-change_direction
	.section	.rodata
.LC2:
	.string	"%04d"
	.text
	.globl	draw_bg
	.type	draw_bg, @function
draw_bg:
.LFB15:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	rdx, QWORD PTR window[rip]
	mov	rax, QWORD PTR display[rip]
	mov	rsi, rdx
	mov	rdi, rax
	call	XClearWindow@PLT
	mov	DWORD PTR -28[rbp], 10
	mov	DWORD PTR -24[rbp], 20
	mov	DWORD PTR -20[rbp], 30
	mov	DWORD PTR -52[rbp], 0
	mov	eax, DWORD PTR CURRENT_DIRECTION[rip]
	cmp	eax, 2
	ja	.L89
	test	eax, eax
	jne	.L90
	jmp	.L91
.L89:
	sub	eax, 3
	cmp	eax, 1
	ja	.L91
	jmp	.L106
.L90:
	mov	eax, DWORD PTR CURRENT_WIDTH[rip]
	mov	DWORD PTR -52[rbp], eax
	jmp	.L91
.L106:
	mov	eax, DWORD PTR CURRENT_HEIGHT[rip]
	mov	DWORD PTR -52[rbp], eax
	nop
.L91:
	mov	DWORD PTR -16[rbp], 4
	mov	eax, DWORD PTR -16[rbp]
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR xfs[rip]
	movzx	eax, WORD PTR 72[rax]
	cwde
	mov	edx, DWORD PTR -16[rbp]
	imul	eax, edx
	mov	DWORD PTR -12[rbp], eax
	mov	eax, DWORD PTR -28[rbp]
	mov	DWORD PTR -32[rbp], eax
	mov	DWORD PTR -56[rbp], 0
	jmp	.L93
.L105:
	mov	ecx, DWORD PTR -56[rbp]
	mov	edx, ecx
	mov	eax, 3435973837
	imul	rax, rdx
	shr	rax, 32
	mov	edx, eax
	shr	edx, 3
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	sub	ecx, eax
	mov	edx, ecx
	test	edx, edx
	jne	.L94
	mov	eax, DWORD PTR -24[rbp]
	mov	DWORD PTR -32[rbp], eax
	mov	edx, DWORD PTR -56[rbp]
	mov	eax, edx
	imul	rax, rax, 1374389535
	shr	rax, 32
	shr	eax, 4
	imul	ecx, eax, 50
	mov	eax, edx
	sub	eax, ecx
	test	eax, eax
	jne	.L95
	mov	eax, DWORD PTR -20[rbp]
	mov	DWORD PTR -32[rbp], eax
	jmp	.L95
.L94:
	mov	eax, DWORD PTR -28[rbp]
	mov	DWORD PTR -32[rbp], eax
.L95:
	mov	eax, DWORD PTR CURRENT_DIRECTION[rip]
	cmp	eax, 4
	je	.L96
	cmp	eax, 4
	ja	.L97
	cmp	eax, 3
	je	.L98
	cmp	eax, 3
	ja	.L97
	cmp	eax, 1
	je	.L99
	cmp	eax, 2
	je	.L100
	jmp	.L97
.L99:
	mov	eax, DWORD PTR -56[rbp]
	sub	eax, 1
	mov	DWORD PTR -48[rbp], eax
	mov	DWORD PTR -40[rbp], 0
	mov	eax, DWORD PTR -56[rbp]
	sub	eax, 1
	mov	DWORD PTR -44[rbp], eax
	mov	eax, DWORD PTR -32[rbp]
	mov	DWORD PTR -36[rbp], eax
	cmp	DWORD PTR -56[rbp], 0
	je	.L107
	mov	edx, DWORD PTR -56[rbp]
	mov	eax, edx
	imul	rax, rax, 1374389535
	shr	rax, 32
	shr	eax, 4
	imul	ecx, eax, 50
	mov	eax, edx
	sub	eax, ecx
	test	eax, eax
	jne	.L107
	mov	edx, DWORD PTR -56[rbp]
	mov	rax, QWORD PTR -8[rbp]
	lea	rsi, .LC2[rip]
	mov	rdi, rax
	mov	eax, 0
	call	sprintf@PLT
	mov	ecx, DWORD PTR -16[rbp]
	mov	rax, QWORD PTR xfs[rip]
	movzx	eax, WORD PTR 74[rax]
	cwde
	add	eax, eax
	mov	edx, eax
	mov	eax, DWORD PTR -32[rbp]
	add	eax, edx
	mov	r8d, eax
	mov	eax, DWORD PTR -12[rbp]
	shr	eax
	mov	edx, eax
	mov	eax, DWORD PTR -56[rbp]
	sub	eax, edx
	mov	r10d, eax
	mov	rdx, QWORD PTR gc[rip]
	mov	rsi, QWORD PTR window[rip]
	mov	rax, QWORD PTR display[rip]
	mov	rdi, QWORD PTR -8[rbp]
	sub	rsp, 8
	push	rcx
	mov	r9, rdi
	mov	ecx, r10d
	mov	rdi, rax
	call	XDrawImageString@PLT
	add	rsp, 16
	jmp	.L107
.L100:
	mov	eax, DWORD PTR -56[rbp]
	sub	eax, 1
	mov	DWORD PTR -48[rbp], eax
	mov	DWORD PTR -40[rbp], 75
	mov	eax, DWORD PTR -56[rbp]
	sub	eax, 1
	mov	DWORD PTR -44[rbp], eax
	mov	eax, 75
	sub	eax, DWORD PTR -32[rbp]
	mov	DWORD PTR -36[rbp], eax
	cmp	DWORD PTR -56[rbp], 0
	je	.L108
	mov	edx, DWORD PTR -56[rbp]
	mov	eax, edx
	imul	rax, rax, 1374389535
	shr	rax, 32
	shr	eax, 4
	imul	ecx, eax, 50
	mov	eax, edx
	sub	eax, ecx
	test	eax, eax
	jne	.L108
	mov	edx, DWORD PTR -56[rbp]
	mov	rax, QWORD PTR -8[rbp]
	lea	rsi, .LC2[rip]
	mov	rdi, rax
	mov	eax, 0
	call	sprintf@PLT
	mov	ecx, DWORD PTR -16[rbp]
	mov	rax, QWORD PTR xfs[rip]
	movzx	eax, WORD PTR 74[rax]
	movsx	edx, ax
	mov	eax, DWORD PTR -32[rbp]
	add	eax, edx
	mov	r8d, eax
	mov	eax, DWORD PTR -12[rbp]
	shr	eax
	mov	edx, eax
	mov	eax, DWORD PTR -56[rbp]
	sub	eax, edx
	mov	r10d, eax
	mov	rdx, QWORD PTR gc[rip]
	mov	rsi, QWORD PTR window[rip]
	mov	rax, QWORD PTR display[rip]
	mov	rdi, QWORD PTR -8[rbp]
	sub	rsp, 8
	push	rcx
	mov	r9, rdi
	mov	ecx, r10d
	mov	rdi, rax
	call	XDrawImageString@PLT
	add	rsp, 16
	jmp	.L108
.L98:
	mov	DWORD PTR -48[rbp], 0
	mov	eax, DWORD PTR -56[rbp]
	sub	eax, 2
	mov	DWORD PTR -40[rbp], eax
	mov	eax, DWORD PTR -32[rbp]
	mov	DWORD PTR -44[rbp], eax
	mov	eax, DWORD PTR -56[rbp]
	sub	eax, 2
	mov	DWORD PTR -36[rbp], eax
	cmp	DWORD PTR -56[rbp], 0
	je	.L109
	mov	edx, DWORD PTR -56[rbp]
	mov	eax, edx
	imul	rax, rax, 1374389535
	shr	rax, 32
	shr	eax, 4
	imul	ecx, eax, 50
	mov	eax, edx
	sub	eax, ecx
	test	eax, eax
	jne	.L109
	mov	edx, DWORD PTR -56[rbp]
	mov	rax, QWORD PTR -8[rbp]
	lea	rsi, .LC2[rip]
	mov	rdi, rax
	mov	eax, 0
	call	sprintf@PLT
	mov	ecx, DWORD PTR -16[rbp]
	mov	rax, QWORD PTR xfs[rip]
	movzx	eax, WORD PTR 76[rax]
	movsx	edx, ax
	mov	eax, DWORD PTR -56[rbp]
	add	eax, edx
	add	eax, 1
	mov	r8d, eax
	mov	eax, 75
	sub	eax, DWORD PTR -12[rbp]
	mov	r10d, eax
	mov	rdx, QWORD PTR gc[rip]
	mov	rsi, QWORD PTR window[rip]
	mov	rax, QWORD PTR display[rip]
	mov	rdi, QWORD PTR -8[rbp]
	sub	rsp, 8
	push	rcx
	mov	r9, rdi
	mov	ecx, r10d
	mov	rdi, rax
	call	XDrawImageString@PLT
	add	rsp, 16
	jmp	.L109
.L96:
	mov	DWORD PTR -48[rbp], 75
	mov	eax, DWORD PTR -56[rbp]
	sub	eax, 2
	mov	DWORD PTR -40[rbp], eax
	mov	eax, 75
	sub	eax, DWORD PTR -32[rbp]
	mov	DWORD PTR -44[rbp], eax
	mov	eax, DWORD PTR -56[rbp]
	sub	eax, 2
	mov	DWORD PTR -36[rbp], eax
	cmp	DWORD PTR -56[rbp], 0
	je	.L110
	mov	edx, DWORD PTR -56[rbp]
	mov	eax, edx
	imul	rax, rax, 1374389535
	shr	rax, 32
	shr	eax, 4
	imul	ecx, eax, 50
	mov	eax, edx
	sub	eax, ecx
	test	eax, eax
	jne	.L110
	mov	edx, DWORD PTR -56[rbp]
	mov	rax, QWORD PTR -8[rbp]
	lea	rsi, .LC2[rip]
	mov	rdi, rax
	mov	eax, 0
	call	sprintf@PLT
	mov	edi, DWORD PTR -16[rbp]
	mov	rax, QWORD PTR xfs[rip]
	movzx	eax, WORD PTR 76[rax]
	movsx	edx, ax
	mov	eax, DWORD PTR -56[rbp]
	add	eax, edx
	add	eax, 1
	mov	r10d, eax
	mov	rax, QWORD PTR xfs[rip]
	movzx	eax, WORD PTR 72[rax]
	movsx	ecx, ax
	mov	rdx, QWORD PTR gc[rip]
	mov	rsi, QWORD PTR window[rip]
	mov	rax, QWORD PTR display[rip]
	mov	r8, QWORD PTR -8[rbp]
	sub	rsp, 8
	push	rdi
	mov	r9, r8
	mov	r8d, r10d
	mov	rdi, rax
	call	XDrawImageString@PLT
	add	rsp, 16
	jmp	.L110
.L107:
	nop
	jmp	.L97
.L108:
	nop
	jmp	.L97
.L109:
	nop
	jmp	.L97
.L110:
	nop
.L97:
	mov	edi, DWORD PTR -36[rbp]
	mov	r9d, DWORD PTR -44[rbp]
	mov	r8d, DWORD PTR -40[rbp]
	mov	ecx, DWORD PTR -48[rbp]
	mov	rdx, QWORD PTR gc[rip]
	mov	rsi, QWORD PTR window[rip]
	mov	rax, QWORD PTR display[rip]
	sub	rsp, 8
	push	rdi
	mov	rdi, rax
	call	XDrawLine@PLT
	add	rsp, 16
	add	DWORD PTR -56[rbp], 2
.L93:
	mov	eax, DWORD PTR -56[rbp]
	cmp	eax, DWORD PTR -52[rbp]
	jb	.L105
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	eax, 0
	call	draw_mouse_position
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE15:
	.size	draw_bg, .-draw_bg
	.globl	draw_mouse_position
	.type	draw_mouse_position, @function
draw_mouse_position:
.LFB16:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	DWORD PTR -16[rbp], 4
	mov	eax, DWORD PTR -16[rbp]
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -8[rbp], rax
	mov	edx, DWORD PTR CURRENT_MOUSE_POSITION[rip]
	mov	rax, QWORD PTR -8[rbp]
	lea	rsi, .LC2[rip]
	mov	rdi, rax
	mov	eax, 0
	call	sprintf@PLT
	mov	rax, QWORD PTR xfs[rip]
	movzx	eax, WORD PTR 72[rax]
	cwde
	imul	eax, DWORD PTR -16[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR xfs[rip]
	movzx	eax, WORD PTR 76[rax]
	cwde
	add	eax, edx
	mov	DWORD PTR -12[rbp], eax
	mov	eax, DWORD PTR CURRENT_DIRECTION[rip]
	cmp	eax, 4
	je	.L112
	cmp	eax, 4
	ja	.L113
	cmp	eax, 3
	je	.L114
	cmp	eax, 3
	ja	.L113
	cmp	eax, 1
	je	.L115
	cmp	eax, 2
	je	.L116
	jmp	.L113
.L115:
	mov	edi, DWORD PTR -16[rbp]
	mov	edx, DWORD PTR CURRENT_HEIGHT[rip]
	mov	rax, QWORD PTR xfs[rip]
	movzx	eax, WORD PTR 76[rax]
	cwde
	add	eax, eax
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	mov	r10d, eax
	mov	rax, QWORD PTR xfs[rip]
	movzx	eax, WORD PTR 76[rax]
	cwde
	lea	ecx, [rax+rax]
	mov	rdx, QWORD PTR gc[rip]
	mov	rsi, QWORD PTR window[rip]
	mov	rax, QWORD PTR display[rip]
	mov	r8, QWORD PTR -8[rbp]
	sub	rsp, 8
	push	rdi
	mov	r9, r8
	mov	r8d, r10d
	mov	rdi, rax
	call	XDrawImageString@PLT
	add	rsp, 16
	jmp	.L113
.L116:
	mov	edi, DWORD PTR -16[rbp]
	mov	rax, QWORD PTR xfs[rip]
	movzx	eax, WORD PTR 74[rax]
	movsx	edx, ax
	mov	rax, QWORD PTR xfs[rip]
	movzx	eax, WORD PTR 76[rax]
	cwde
	lea	r10d, [rdx+rax]
	mov	rax, QWORD PTR xfs[rip]
	movzx	eax, WORD PTR 76[rax]
	cwde
	lea	ecx, [rax+rax]
	mov	rdx, QWORD PTR gc[rip]
	mov	rsi, QWORD PTR window[rip]
	mov	rax, QWORD PTR display[rip]
	mov	r8, QWORD PTR -8[rbp]
	sub	rsp, 8
	push	rdi
	mov	r9, r8
	mov	r8d, r10d
	mov	rdi, rax
	call	XDrawImageString@PLT
	add	rsp, 16
	jmp	.L113
.L114:
	mov	ecx, DWORD PTR -16[rbp]
	mov	rax, QWORD PTR xfs[rip]
	movzx	eax, WORD PTR 74[rax]
	movsx	edx, ax
	mov	rax, QWORD PTR xfs[rip]
	movzx	eax, WORD PTR 76[rax]
	cwde
	lea	r8d, [rdx+rax]
	mov	eax, DWORD PTR CURRENT_WIDTH[rip]
	sub	eax, DWORD PTR -12[rbp]
	mov	r10d, eax
	mov	rdx, QWORD PTR gc[rip]
	mov	rsi, QWORD PTR window[rip]
	mov	rax, QWORD PTR display[rip]
	mov	rdi, QWORD PTR -8[rbp]
	sub	rsp, 8
	push	rcx
	mov	r9, rdi
	mov	ecx, r10d
	mov	rdi, rax
	call	XDrawImageString@PLT
	add	rsp, 16
	jmp	.L113
.L112:
	mov	edi, DWORD PTR -16[rbp]
	mov	rax, QWORD PTR xfs[rip]
	movzx	eax, WORD PTR 74[rax]
	movsx	edx, ax
	mov	rax, QWORD PTR xfs[rip]
	movzx	eax, WORD PTR 76[rax]
	cwde
	lea	r10d, [rdx+rax]
	mov	rax, QWORD PTR xfs[rip]
	movzx	eax, WORD PTR 76[rax]
	movsx	ecx, ax
	mov	rdx, QWORD PTR gc[rip]
	mov	rsi, QWORD PTR window[rip]
	mov	rax, QWORD PTR display[rip]
	mov	r8, QWORD PTR -8[rbp]
	sub	rsp, 8
	push	rdi
	mov	r9, r8
	mov	r8d, r10d
	mov	rdi, rax
	call	XDrawImageString@PLT
	add	rsp, 16
	nop
.L113:
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	free@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE16:
	.size	draw_mouse_position, .-draw_mouse_position
	.section	.rodata
.LC3:
	.string	"-h"
	.align 8
.LC4:
	.ascii	"%s [-h|-fg <color-name-or-hex-code>|-bg <color-name-or-hex-c"
	.ascii	"ode>] \n\n-h - this message \n-fg <color-name-or-hex-code> -"
	.ascii	" set foreground (i.e. text) color. Examples: red, green, blu"
	.ascii	"e, yellow, etc. \n-bg <color-name-or-hex-code> - set backgro"
	.ascii	"und color. Same format as for foreground \n\n\nDIRECTION: \n"
	.ascii	"ctrl+n - north \nctrl+s - south \nctrl+w"
	.string	" - west \nctrl+e - east \n\n\nSIZE\nshift+d - default (%dpx) size \nshift+s - small (%dpx) size \nshift+m - medium (%dpx) size \nshift+t - tall (%dpx) size \nshift+f - fullscreen \n\n\nMOVEMENT\narrows (up, down, left, right)\nctrl+arrows - force\n\n\nESC or ctrl+q - exit\n"
	.text
	.globl	usage
	.type	usage, @function
usage:
.LFB17:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	DWORD PTR -20[rbp], edi
	mov	QWORD PTR -32[rbp], rsi
	mov	DWORD PTR -12[rbp], 0
	mov	DWORD PTR -16[rbp], 0
	jmp	.L118
.L120:
	mov	eax, DWORD PTR -16[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	lea	rsi, .LC3[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L119
	mov	DWORD PTR -12[rbp], 1
.L119:
	add	DWORD PTR -16[rbp], 1
.L118:
	mov	eax, DWORD PTR -20[rbp]
	cmp	DWORD PTR -16[rbp], eax
	jb	.L120
	cmp	DWORD PTR -12[rbp], 1
	jne	.L124
	lea	rax, .LC4[rip]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR stdout[rip]
	mov	rsi, QWORD PTR -8[rbp]
	sub	rsp, 8
	push	675
	mov	r9d, 525
	mov	r8d, 375
	mov	ecx, 150
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	add	rsp, 16
	mov	edi, 1
	call	exit@PLT
.L124:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE17:
	.size	usage, .-usage
	.section	.rodata
.LC5:
	.string	"-fg"
	.align 8
.LC6:
	.string	"Error: XParseColor(%s) Back on default\n"
	.align 8
.LC7:
	.string	"Error: XQueryColor(%s). Back on default\n"
.LC8:
	.string	"-bg"
	.align 8
.LC9:
	.string	"Error: XQueryColor(%s) Back on default\n"
	.text
	.globl	users_colors
	.type	users_colors, @function
users_colors:
.LFB18:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	DWORD PTR -52[rbp], edi
	mov	QWORD PTR -64[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -36[rbp], 0
	jmp	.L126
.L136:
	mov	eax, DWORD PTR -36[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -64[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	lea	rsi, .LC5[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L127
	mov	eax, DWORD PTR -36[rbp]
	lea	edx, 2[rax]
	mov	eax, DWORD PTR -52[rbp]
	cmp	edx, eax
	ja	.L127
	mov	eax, DWORD PTR -36[rbp]
	add	eax, 1
	mov	eax, eax
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -64[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR display[rip]
	mov	rcx, QWORD PTR 232[rax]
	mov	eax, DWORD PTR screen_num[rip]
	cdqe
	sal	rax, 7
	add	rax, rcx
	mov	rsi, QWORD PTR 80[rax]
	mov	rax, QWORD PTR display[rip]
	lea	rcx, -32[rbp]
	mov	rdi, rax
	call	XParseColor@PLT
	test	eax, eax
	jne	.L128
	mov	eax, DWORD PTR -36[rbp]
	add	eax, 1
	mov	eax, eax
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -64[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR stderr[rip]
	lea	rsi, .LC6[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	jmp	.L125
.L128:
	mov	rax, QWORD PTR display[rip]
	mov	rdx, QWORD PTR 232[rax]
	mov	eax, DWORD PTR screen_num[rip]
	cdqe
	sal	rax, 7
	add	rax, rdx
	mov	rcx, QWORD PTR 80[rax]
	mov	rax, QWORD PTR display[rip]
	lea	rdx, -32[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	XAllocColor@PLT
	test	eax, eax
	jne	.L130
	mov	eax, DWORD PTR -36[rbp]
	add	eax, 1
	mov	eax, eax
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -64[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR stderr[rip]
	lea	rsi, .LC7[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	jmp	.L125
.L130:
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR pixel_color_2[rip], rax
.L127:
	mov	eax, DWORD PTR -36[rbp]
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -64[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	lea	rsi, .LC8[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L132
	mov	eax, DWORD PTR -36[rbp]
	lea	edx, 2[rax]
	mov	eax, DWORD PTR -52[rbp]
	cmp	edx, eax
	ja	.L132
	mov	eax, DWORD PTR -36[rbp]
	add	eax, 1
	mov	eax, eax
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -64[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR display[rip]
	mov	rcx, QWORD PTR 232[rax]
	mov	eax, DWORD PTR screen_num[rip]
	cdqe
	sal	rax, 7
	add	rax, rcx
	mov	rsi, QWORD PTR 80[rax]
	mov	rax, QWORD PTR display[rip]
	lea	rcx, -32[rbp]
	mov	rdi, rax
	call	XParseColor@PLT
	cmp	eax, 1
	je	.L133
	mov	eax, DWORD PTR -36[rbp]
	add	eax, 1
	mov	eax, eax
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -64[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR stderr[rip]
	lea	rsi, .LC6[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	jmp	.L125
.L133:
	mov	rax, QWORD PTR display[rip]
	mov	rdx, QWORD PTR 232[rax]
	mov	eax, DWORD PTR screen_num[rip]
	cdqe
	sal	rax, 7
	add	rax, rdx
	mov	rcx, QWORD PTR 80[rax]
	mov	rax, QWORD PTR display[rip]
	lea	rdx, -32[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	XAllocColor@PLT
	cmp	eax, 1
	je	.L135
	mov	eax, DWORD PTR -36[rbp]
	add	eax, 1
	mov	eax, eax
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -64[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR stderr[rip]
	lea	rsi, .LC9[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	jmp	.L125
.L135:
	mov	rax, QWORD PTR -32[rbp]
	mov	QWORD PTR pixel_color_1[rip], rax
.L132:
	add	DWORD PTR -36[rbp], 1
.L126:
	mov	eax, DWORD PTR -52[rbp]
	cmp	DWORD PTR -36[rbp], eax
	jb	.L136
.L125:
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L137
	call	__stack_chk_fail@PLT
.L137:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE18:
	.size	users_colors, .-users_colors
	.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	"221825.c"
	.text
	.comm	display,4,4
	.comm	window,4,4
	.comm	screen_num,4,4
	.comm	screen_ptr,4,4
	.comm	gc,4,4
	.comm	font,4,4
	.comm	xfs,4,4
	.comm	size_hints,4,4
	.comm	wm_hints,4,4
	.comm	class_hints,4,4
	.comm	SIZE_FULLSCREEN,4,4
	.global	CURRENT_DIRECTION
	.data
	.align	2
	.type	CURRENT_DIRECTION, %object
	.size	CURRENT_DIRECTION, 4
CURRENT_DIRECTION:
	.word	1
	.comm	CURRENT_WIDTH,4,4
	.comm	CURRENT_HEIGHT,4,4
	.comm	CURRENT_POSITION_X,4,4
	.comm	CURRENT_POSITION_Y,4,4
	.comm	CURRENT_MOUSE_POSITION,4,4
	.comm	MOUSE_POSITION_PREV_X,4,4
	.comm	MOUSE_POSITION_PREV_Y,4,4
	.comm	pixel_color_1,4,4
	.comm	pixel_color_2,4,4
	.section	.rodata
	.align	2
.LC0:
	.ascii	"_MOTIF_WM_HINTS\000"
	.align	2
.LC1:
	.ascii	"*misc*fixed*\000"
	.align	2
.LC2:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	main
	.syntax unified
	.arm
	.fpu softvfp
	.type	main, %function
main:
	@ args = 0, pretend = 0, frame = 224
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #248
	str	r0, [fp, #-224]
	str	r1, [fp, #-228]
	ldr	r3, .L19
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r1, [fp, #-228]
	ldr	r0, [fp, #-224]
	bl	usage
	bl	XAllocSizeHints
	mov	r3, r0
	ldr	r2, .L19+4
	str	r3, [r2]
	bl	XAllocWMHints
	mov	r3, r0
	ldr	r2, .L19+8
	str	r3, [r2]
	bl	XAllocClassHint
	mov	r3, r0
	ldr	r2, .L19+12
	str	r3, [r2]
	ldr	r3, .L19+4
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L2
	ldr	r3, .L19+8
	ldr	r3, [r3]
	cmp	r3, #0
	beq	.L2
	ldr	r3, .L19+12
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L3
.L2:
	mvn	r0, #0
	bl	exit
.L3:
	mov	r0, #0
	bl	XOpenDisplay
	mov	r3, r0
	ldr	r2, .L19+16
	str	r3, [r2]
	ldr	r3, .L19+16
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L4
	mvn	r0, #0
	bl	exit
.L4:
	ldr	r3, .L19+16
	ldr	r3, [r3]
	ldr	r3, [r3, #132]
	ldr	r2, .L19+20
	str	r3, [r2]
	ldr	r3, .L19+16
	ldr	r3, [r3]
	ldr	r2, [r3, #140]
	ldr	r3, .L19+16
	ldr	r3, [r3]
	ldr	r3, [r3, #132]
	mov	r1, r3
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldr	r2, .L19+24
	str	r3, [r2]
	bl	init_default_sizes_and_positions
	ldr	r3, .L19+28
	ldr	r3, [r3]
	ldr	r2, .L19+32
	ldr	r1, .L19+36
	mov	r0, r3
	bl	get_default_sizes_for_direction
	ldr	r3, .L19+16
	ldr	r3, [r3]
	ldr	r2, [r3, #140]
	ldr	r3, .L19+20
	ldr	r3, [r3]
	mov	r1, r3
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldr	r3, [r3, #52]
	ldr	r2, .L19+40
	str	r3, [r2]
	ldr	r3, .L19+16
	ldr	r3, [r3]
	ldr	r2, [r3, #140]
	ldr	r3, .L19+20
	ldr	r3, [r3]
	mov	r1, r3
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldr	r3, [r3, #56]
	ldr	r2, .L19+44
	str	r3, [r2]
	ldr	r1, [fp, #-228]
	ldr	r0, [fp, #-224]
	bl	users_colors
	ldr	r3, .L19+16
	ldr	ip, [r3]
	ldr	r3, .L19+16
	ldr	r3, [r3]
	ldr	r2, [r3, #140]
	ldr	r3, .L19+20
	ldr	r3, [r3]
	mov	r1, r3
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldr	lr, [r3, #8]
	ldr	r3, .L19+36
	ldr	r3, [r3]
	ldr	r2, .L19+32
	ldr	r2, [r2]
	ldr	r1, .L19+44
	ldr	r1, [r1]
	ldr	r0, .L19+40
	ldr	r0, [r0]
	str	r0, [sp, #16]
	str	r1, [sp, #12]
	mov	r1, #0
	str	r1, [sp, #8]
	str	r2, [sp, #4]
	str	r3, [sp]
	mov	r3, #0
	mov	r2, #0
	mov	r1, lr
	mov	r0, ip
	bl	XCreateSimpleWindow
	mov	r3, r0
	ldr	r2, .L19+48
	str	r3, [r2]
	mov	r3, #2
	str	r3, [fp, #-208]
	mov	r3, #0
	str	r3, [fp, #-200]
	ldr	r3, .L19+16
	ldr	r3, [r3]
	mov	r2, #1
	ldr	r1, .L19+52
	mov	r0, r3
	bl	XInternAtom
	str	r0, [fp, #-216]
	ldr	r3, .L19+16
	ldr	r0, [r3]
	ldr	r3, .L19+48
	ldr	r1, [r3]
	mov	r3, #3
	str	r3, [sp, #12]
	sub	r3, fp, #208
	str	r3, [sp, #8]
	mov	r3, #0
	str	r3, [sp, #4]
	mov	r3, #32
	str	r3, [sp]
	ldr	r3, [fp, #-216]
	ldr	r2, [fp, #-216]
	bl	XChangeProperty
	mov	r3, #12
	str	r3, [fp, #-212]
	ldr	r3, .L19+40
	ldr	r3, [r3]
	str	r3, [fp, #-184]
	ldr	r3, .L19+44
	ldr	r3, [r3]
	str	r3, [fp, #-188]
	ldr	r3, .L19+16
	ldr	r0, [r3]
	ldr	r3, .L19+48
	ldr	r1, [r3]
	sub	r3, fp, #196
	ldr	r2, [fp, #-212]
	bl	XCreateGC
	mov	r3, r0
	ldr	r2, .L19+56
	str	r3, [r2]
	ldr	r3, .L19+16
	ldr	r3, [r3]
	ldr	r1, .L19+60
	mov	r0, r3
	bl	XLoadFont
	mov	r3, r0
	ldr	r2, .L19+64
	str	r3, [r2]
	ldr	r3, .L19+16
	ldr	r3, [r3]
	ldr	r2, .L19+64
	ldr	r2, [r2]
	mov	r1, r2
	mov	r0, r3
	bl	XQueryFont
	mov	r3, r0
	ldr	r2, .L19+68
	str	r3, [r2]
	ldr	r3, .L19+64
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L5
	mvn	r0, #0
	bl	exit
.L5:
	ldr	r3, .L19+16
	ldr	r3, [r3]
	ldr	r2, .L19+56
	ldr	r1, [r2]
	ldr	r2, .L19+64
	ldr	r2, [r2]
	mov	r0, r3
	bl	XSetFont
	ldr	r3, .L19+4
	ldr	r3, [r3]
	mov	r2, #60
	str	r2, [r3]
	ldr	r3, .L19+36
	ldr	r2, [r3]
	ldr	r3, .L19+4
	ldr	r3, [r3]
	str	r2, [r3, #20]
	ldr	r3, .L19+32
	ldr	r2, [r3]
	ldr	r3, .L19+4
	ldr	r3, [r3]
	str	r2, [r3, #24]
	ldr	r3, .L19+36
	ldr	r2, [r3]
	ldr	r3, .L19+4
	ldr	r3, [r3]
	str	r2, [r3, #28]
	ldr	r3, .L19+32
	ldr	r2, [r3]
	ldr	r3, .L19+4
	ldr	r3, [r3]
	str	r2, [r3, #32]
	ldr	r3, .L19+8
	ldr	r3, [r3]
	mov	r2, #1
	str	r2, [r3, #8]
	ldr	r3, .L19+8
	ldr	r3, [r3]
	mov	r2, #1
	str	r2, [r3, #4]
	ldr	r3, .L19+8
	ldr	r3, [r3]
	mov	r2, #3
	str	r2, [r3]
	ldr	r3, .L19+16
	ldr	r0, [r3]
	ldr	r3, .L19+48
	ldr	ip, [r3]
	ldr	r3, .L19+4
	ldr	r3, [r3]
	ldr	r2, .L19+8
	ldr	r2, [r2]
	ldr	r1, .L19+12
	ldr	r1, [r1]
	str	r1, [sp, #16]
	str	r2, [sp, #12]
	str	r3, [sp, #8]
	ldr	r3, [fp, #-224]
	str	r3, [sp, #4]
	ldr	r3, [fp, #-228]
	str	r3, [sp]
	mov	r3, #0
	mov	r2, #0
	mov	r1, ip
	bl	XSetWMProperties
	ldr	r3, .L19+16
	ldr	r3, [r3]
	ldr	r2, .L19+48
	ldr	r1, [r2]
	ldr	r2, .L19+72
	mov	r0, r3
	bl	XSelectInput
	ldr	r3, .L19+16
	ldr	r3, [r3]
	ldr	r2, .L19+48
	ldr	r2, [r2]
	mov	r1, r2
	mov	r0, r3
	bl	XMapWindow
.L15:
	ldr	r3, .L19+16
	ldr	r3, [r3]
	sub	r2, fp, #104
	mov	r1, r2
	mov	r0, r3
	bl	XNextEvent
	ldr	r3, [fp, #-104]
	sub	r3, r3, #2
	cmp	r3, #20
	ldrls	pc, [pc, r3, asl #2]
	b	.L17
.L8:
	.word	.L11
	.word	.L17
	.word	.L17
	.word	.L17
	.word	.L10
	.word	.L17
	.word	.L17
	.word	.L17
	.word	.L17
	.word	.L17
	.word	.L9
	.word	.L17
	.word	.L17
	.word	.L17
	.word	.L17
	.word	.L17
	.word	.L17
	.word	.L17
	.word	.L17
	.word	.L17
	.word	.L17
.L9:
	ldr	r3, [fp, #-68]
	cmp	r3, #0
	bne	.L18
	bl	draw_bg
	b	.L13
.L11:
	sub	r3, fp, #104
	mov	r0, r3
	bl	on_key_press
	b	.L13
.L10:
	ldr	r3, [fp, #-56]
	and	r3, r3, #256
	cmp	r3, #0
	beq	.L14
	ldr	r3, [fp, #-72]
	mov	r2, r3
	ldr	r3, .L19+76
	ldr	r3, [r3]
	sub	r2, r2, r3
	ldr	r3, .L19+80
	ldr	r3, [r3]
	add	r3, r2, r3
	ldr	r2, .L19+80
	str	r3, [r2]
	ldr	r3, [fp, #-68]
	mov	r2, r3
	ldr	r3, .L19+84
	ldr	r3, [r3]
	sub	r2, r2, r3
	ldr	r3, .L19+88
	ldr	r3, [r3]
	add	r3, r2, r3
	ldr	r2, .L19+88
	str	r3, [r2]
	bl	update_position_and_size
	b	.L13
.L14:
	sub	r3, fp, #104
	mov	r0, r3
	bl	on_mouse_move
	b	.L13
.L17:
	nop
	b	.L15
.L18:
	nop
.L13:
	b	.L15
.L20:
	.align	2
.L19:
	.word	.LC2
	.word	size_hints
	.word	wm_hints
	.word	class_hints
	.word	display
	.word	screen_num
	.word	screen_ptr
	.word	CURRENT_DIRECTION
	.word	CURRENT_HEIGHT
	.word	CURRENT_WIDTH
	.word	pixel_color_1
	.word	pixel_color_2
	.word	window
	.word	.LC0
	.word	gc
	.word	.LC1
	.word	font
	.word	xfs
	.word	164161
	.word	MOUSE_POSITION_PREV_X
	.word	CURRENT_POSITION_X
	.word	MOUSE_POSITION_PREV_Y
	.word	CURRENT_POSITION_Y
	.size	main, .-main
	.section	.rodata
	.align	2
.LC3:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	on_key_press
	.syntax unified
	.arm
	.fpu softvfp
	.type	on_key_press, %function
on_key_press:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-24]
	ldr	r3, .L57
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r0, [fp, #-24]
	sub	r2, fp, #20
	sub	r3, fp, #16
	str	r3, [sp]
	mov	r3, r2
	mov	r2, #0
	mov	r1, #0
	bl	XLookupString
	ldr	r3, [fp, #-20]
	ldr	r2, .L57+4
	cmp	r3, r2
	bhi	.L50
	ldr	r2, .L57+8
	cmp	r3, r2
	bcs	.L23
	cmp	r3, #116
	bhi	.L24
	cmp	r3, #69
	bcs	.L25
	b	.L50
.L23:
	sub	r3, r3, #65280
	sub	r3, r3, #81
	cmp	r3, #3
	ldrls	pc, [pc, r3, asl #2]
	b	.L50
.L27:
	.word	.L30
	.word	.L29
	.word	.L28
	.word	.L26
.L25:
	sub	r3, r3, #69
	cmp	r3, #47
	ldrls	pc, [pc, r3, asl #2]
	b	.L50
.L32:
	.word	.L41
	.word	.L50
	.word	.L50
	.word	.L50
	.word	.L50
	.word	.L50
	.word	.L50
	.word	.L50
	.word	.L50
	.word	.L40
	.word	.L50
	.word	.L50
	.word	.L50
	.word	.L50
	.word	.L39
	.word	.L50
	.word	.L50
	.word	.L50
	.word	.L38
	.word	.L50
	.word	.L50
	.word	.L50
	.word	.L50
	.word	.L50
	.word	.L50
	.word	.L50
	.word	.L50
	.word	.L50
	.word	.L50
	.word	.L50
	.word	.L50
	.word	.L37
	.word	.L50
	.word	.L36
	.word	.L50
	.word	.L50
	.word	.L50
	.word	.L50
	.word	.L50
	.word	.L50
	.word	.L35
	.word	.L50
	.word	.L50
	.word	.L50
	.word	.L34
	.word	.L50
	.word	.L33
	.word	.L31
.L24:
	ldr	r2, .L57+12
	cmp	r3, r2
	beq	.L42
	b	.L50
.L29:
	ldr	r1, [fp, #-24]
	mov	r0, #1
	bl	change_position
	b	.L43
.L26:
	ldr	r1, [fp, #-24]
	mov	r0, #2
	bl	change_position
	b	.L43
.L30:
	ldr	r1, [fp, #-24]
	mov	r0, #3
	bl	change_position
	b	.L43
.L28:
	ldr	r1, [fp, #-24]
	mov	r0, #4
	bl	change_position
	b	.L43
.L37:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #48]
	and	r3, r3, #4
	cmp	r3, #0
	beq	.L51
	mov	r0, #150
	bl	change_size
	b	.L43
.L33:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #48]
	and	r3, r3, #4
	cmp	r3, #0
	beq	.L52
	ldr	r0, .L57+16
	bl	change_size
	b	.L43
.L35:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #48]
	and	r3, r3, #4
	cmp	r3, #0
	beq	.L53
	ldr	r0, .L57+20
	bl	change_size
	b	.L43
.L31:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #48]
	and	r3, r3, #4
	cmp	r3, #0
	beq	.L54
	ldr	r0, .L57+24
	bl	change_size
	b	.L43
.L36:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #48]
	and	r3, r3, #4
	cmp	r3, #0
	beq	.L55
	ldr	r3, .L57+28
	ldr	r3, [r3]
	mov	r0, r3
	bl	change_size
	b	.L43
.L40:
	mov	r0, #1
	bl	change_direction
	b	.L43
.L39:
	mov	r0, #2
	bl	change_direction
	b	.L43
.L38:
	mov	r0, #3
	bl	change_direction
	b	.L43
.L41:
	mov	r0, #4
	bl	change_direction
	b	.L43
.L34:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #48]
	and	r3, r3, #4
	cmp	r3, #0
	beq	.L56
.L42:
	ldr	r3, .L57+32
	ldr	r3, [r3]
	ldr	r2, .L57+36
	ldr	r2, [r2]
	mov	r1, r2
	mov	r0, r3
	bl	XFreeGC
	ldr	r3, .L57+32
	ldr	r3, [r3]
	ldr	r2, .L57+40
	ldr	r2, [r2]
	mov	r1, r2
	mov	r0, r3
	bl	XFreeFont
	ldr	r3, .L57+32
	ldr	r3, [r3]
	mov	r0, r3
	bl	XCloseDisplay
	mov	r0, #1
	bl	exit
.L50:
	nop
	b	.L43
.L51:
	nop
	b	.L43
.L52:
	nop
	b	.L43
.L53:
	nop
	b	.L43
.L54:
	nop
	b	.L43
.L55:
	nop
	b	.L43
.L56:
	nop
.L43:
	nop
	ldr	r3, .L57
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L49
	bl	__stack_chk_fail
.L49:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L58:
	.align	2
.L57:
	.word	.LC3
	.word	65364
	.word	65361
	.word	65307
	.word	375
	.word	525
	.word	675
	.word	SIZE_FULLSCREEN
	.word	display
	.word	gc
	.word	xfs
	.size	on_key_press, .-on_key_press
	.align	2
	.global	on_mouse_move
	.syntax unified
	.arm
	.fpu softvfp
	.type	on_mouse_move, %function
on_mouse_move:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #32]
	mov	r2, r3
	ldr	r3, .L65
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #36]
	mov	r2, r3
	ldr	r3, .L65+4
	str	r2, [r3]
	ldr	r3, .L65+8
	ldr	r3, [r3]
	cmp	r3, #2
	bhi	.L60
	cmp	r3, #0
	bne	.L61
	b	.L62
.L60:
	sub	r3, r3, #3
	cmp	r3, #1
	bhi	.L62
	b	.L64
.L61:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #32]
	mov	r2, r3
	ldr	r3, .L65+12
	str	r2, [r3]
	b	.L62
.L64:
	ldr	r3, [fp, #-8]
	ldr	r3, [r3, #36]
	mov	r2, r3
	ldr	r3, .L65+12
	str	r2, [r3]
	nop
.L62:
	bl	draw_mouse_position
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L66:
	.align	2
.L65:
	.word	MOUSE_POSITION_PREV_X
	.word	MOUSE_POSITION_PREV_Y
	.word	CURRENT_DIRECTION
	.word	CURRENT_MOUSE_POSITION
	.size	on_mouse_move, .-on_mouse_move
	.section	.rodata
	.align	2
.LC4:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	init_default_sizes_and_positions
	.syntax unified
	.arm
	.fpu softvfp
	.type	init_default_sizes_and_positions, %function
init_default_sizes_and_positions:
	@ args = 0, pretend = 0, frame = 104
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #104
	ldr	r3, .L70
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, .L70+4
	ldr	r3, [r3]
	ldr	r2, [r3, #140]
	ldr	r3, .L70+8
	ldr	r3, [r3]
	mov	r1, r3
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldr	r3, [r3, #8]
	str	r3, [fp, #-104]
	ldr	r3, .L70+4
	ldr	r3, [r3]
	sub	r2, fp, #100
	ldr	r1, [fp, #-104]
	mov	r0, r3
	bl	XGetWindowAttributes
	mov	r3, r0
	cmp	r3, #1
	beq	.L68
	mvn	r0, #0
	bl	exit
.L68:
	ldr	r3, [fp, #-92]
	mov	r2, r3
	ldr	r3, .L70+12
	str	r2, [r3]
	ldr	r3, .L70+16
	mov	r2, #50
	str	r2, [r3]
	ldr	r3, .L70+20
	mov	r2, #50
	str	r2, [r3]
	ldr	r3, .L70+24
	mov	r2, #0
	str	r2, [r3]
	nop
	ldr	r3, .L70
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L69
	bl	__stack_chk_fail
.L69:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L71:
	.align	2
.L70:
	.word	.LC4
	.word	display
	.word	screen_num
	.word	SIZE_FULLSCREEN
	.word	CURRENT_POSITION_X
	.word	CURRENT_POSITION_Y
	.word	CURRENT_MOUSE_POSITION
	.size	init_default_sizes_and_positions, .-init_default_sizes_and_positions
	.align	2
	.global	get_default_sizes_for_direction
	.syntax unified
	.arm
	.fpu softvfp
	.type	get_default_sizes_for_direction, %function
get_default_sizes_for_direction:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	ldr	r3, [fp, #-8]
	sub	r3, r3, #1
	cmp	r3, #3
	ldrls	pc, [pc, r3, asl #2]
	b	.L80
.L75:
	.word	.L78
	.word	.L77
	.word	.L76
	.word	.L74
.L78:
	ldr	r3, [fp, #-12]
	mov	r2, #150
	str	r2, [r3]
	ldr	r3, [fp, #-16]
	mov	r2, #75
	str	r2, [r3]
	b	.L79
.L77:
	ldr	r3, [fp, #-12]
	mov	r2, #150
	str	r2, [r3]
	ldr	r3, [fp, #-16]
	mov	r2, #75
	str	r2, [r3]
	b	.L79
.L76:
	ldr	r3, [fp, #-12]
	mov	r2, #75
	str	r2, [r3]
	ldr	r3, [fp, #-16]
	mov	r2, #150
	str	r2, [r3]
	b	.L79
.L74:
	ldr	r3, [fp, #-12]
	mov	r2, #75
	str	r2, [r3]
	ldr	r3, [fp, #-16]
	mov	r2, #150
	str	r2, [r3]
	b	.L79
.L80:
	nop
.L79:
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	get_default_sizes_for_direction, .-get_default_sizes_for_direction
	.align	2
	.global	update_position_and_size
	.syntax unified
	.arm
	.fpu softvfp
	.type	update_position_and_size, %function
update_position_and_size:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	ldr	r3, .L82
	ldr	r0, [r3]
	ldr	r3, .L82+4
	ldr	r1, [r3]
	ldr	r3, .L82+8
	ldr	r3, [r3]
	mov	ip, r3
	ldr	r3, .L82+12
	ldr	r3, [r3]
	mov	lr, r3
	ldr	r3, .L82+16
	ldr	r3, [r3]
	ldr	r2, .L82+20
	ldr	r2, [r2]
	str	r2, [sp, #4]
	str	r3, [sp]
	mov	r3, lr
	mov	r2, ip
	bl	XMoveResizeWindow
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L83:
	.align	2
.L82:
	.word	display
	.word	window
	.word	CURRENT_POSITION_X
	.word	CURRENT_POSITION_Y
	.word	CURRENT_WIDTH
	.word	CURRENT_HEIGHT
	.size	update_position_and_size, .-update_position_and_size
	.align	2
	.global	change_position
	.syntax unified
	.arm
	.fpu softvfp
	.type	change_position, %function
change_position:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	mov	r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-20]
	ldr	r3, [r3, #48]
	and	r3, r3, #4
	cmp	r3, #0
	beq	.L85
	mov	r3, #10
	str	r3, [fp, #-8]
.L85:
	ldr	r3, [fp, #-16]
	sub	r3, r3, #1
	cmp	r3, #3
	ldrls	pc, [pc, r3, asl #2]
	b	.L93
.L88:
	.word	.L91
	.word	.L90
	.word	.L89
	.word	.L87
.L91:
	ldr	r3, .L94
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	sub	r3, r2, r3
	ldr	r2, .L94
	str	r3, [r2]
	b	.L92
.L90:
	ldr	r3, .L94
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	ldr	r2, .L94
	str	r3, [r2]
	b	.L92
.L89:
	ldr	r3, .L94+4
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	sub	r3, r2, r3
	ldr	r2, .L94+4
	str	r3, [r2]
	b	.L92
.L87:
	ldr	r3, .L94+4
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	ldr	r2, .L94+4
	str	r3, [r2]
	b	.L92
.L93:
	nop
.L92:
	bl	update_position_and_size
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L95:
	.align	2
.L94:
	.word	CURRENT_POSITION_Y
	.word	CURRENT_POSITION_X
	.size	change_position, .-change_position
	.align	2
	.global	change_size
	.syntax unified
	.arm
	.fpu softvfp
	.type	change_size, %function
change_size:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-8]
	ldr	r3, .L105
	ldr	r3, [r3]
	sub	r3, r3, #1
	cmp	r3, #3
	ldrls	pc, [pc, r3, asl #2]
	b	.L104
.L99:
	.word	.L102
	.word	.L101
	.word	.L100
	.word	.L98
.L102:
	ldr	r2, .L105+4
	ldr	r3, [fp, #-8]
	str	r3, [r2]
	b	.L103
.L101:
	ldr	r2, .L105+4
	ldr	r3, [fp, #-8]
	str	r3, [r2]
	b	.L103
.L100:
	ldr	r2, .L105+8
	ldr	r3, [fp, #-8]
	str	r3, [r2]
	b	.L103
.L98:
	ldr	r2, .L105+8
	ldr	r3, [fp, #-8]
	str	r3, [r2]
	b	.L103
.L104:
	nop
.L103:
	ldr	r3, .L105+4
	ldr	r2, [r3]
	ldr	r3, .L105+12
	ldr	r3, [r3]
	str	r2, [r3, #20]
	ldr	r3, .L105+8
	ldr	r2, [r3]
	ldr	r3, .L105+12
	ldr	r3, [r3]
	str	r2, [r3, #24]
	ldr	r3, .L105+4
	ldr	r2, [r3]
	ldr	r3, .L105+12
	ldr	r3, [r3]
	str	r2, [r3, #28]
	ldr	r3, .L105+8
	ldr	r2, [r3]
	ldr	r3, .L105+12
	ldr	r3, [r3]
	str	r2, [r3, #32]
	ldr	r3, .L105+16
	ldr	r0, [r3]
	ldr	r3, .L105+20
	ldr	ip, [r3]
	ldr	r3, .L105+12
	ldr	r3, [r3]
	ldr	r2, .L105+24
	ldr	r2, [r2]
	ldr	r1, .L105+28
	ldr	r1, [r1]
	str	r1, [sp, #16]
	str	r2, [sp, #12]
	str	r3, [sp, #8]
	mov	r3, #0
	str	r3, [sp, #4]
	mov	r3, #0
	str	r3, [sp]
	mov	r3, #0
	mov	r2, #0
	mov	r1, ip
	bl	XSetWMProperties
	bl	update_position_and_size
	bl	draw_bg
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L106:
	.align	2
.L105:
	.word	CURRENT_DIRECTION
	.word	CURRENT_WIDTH
	.word	CURRENT_HEIGHT
	.word	size_hints
	.word	display
	.word	window
	.word	wm_hints
	.word	class_hints
	.size	change_size, .-change_size
	.align	2
	.global	change_direction
	.syntax unified
	.arm
	.fpu softvfp
	.type	change_direction, %function
change_direction:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r2, .L108
	ldr	r3, [fp, #-8]
	str	r3, [r2]
	ldr	r3, .L108
	ldr	r3, [r3]
	ldr	r2, .L108+4
	ldr	r1, .L108+8
	mov	r0, r3
	bl	get_default_sizes_for_direction
	mov	r0, #150
	bl	change_size
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L109:
	.align	2
.L108:
	.word	CURRENT_DIRECTION
	.word	CURRENT_HEIGHT
	.word	CURRENT_WIDTH
	.size	change_direction, .-change_direction
	.section	.rodata
	.align	2
.LC5:
	.ascii	"%04d\000"
	.text
	.align	2
	.global	draw_bg
	.syntax unified
	.arm
	.fpu softvfp
	.type	draw_bg, %function
draw_bg:
	@ args = 0, pretend = 0, frame = 56
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #76
	ldr	r3, .L134
	ldr	r3, [r3]
	ldr	r2, .L134+4
	ldr	r2, [r2]
	mov	r1, r2
	mov	r0, r3
	bl	XClearWindow
	mov	r3, #10
	str	r3, [fp, #-36]
	mov	r3, #20
	str	r3, [fp, #-32]
	mov	r3, #30
	str	r3, [fp, #-28]
	mov	r3, #0
	str	r3, [fp, #-60]
	ldr	r3, .L134+8
	ldr	r3, [r3]
	cmp	r3, #2
	bhi	.L111
	cmp	r3, #0
	bne	.L112
	b	.L113
.L111:
	sub	r3, r3, #3
	cmp	r3, #1
	bhi	.L113
	b	.L129
.L112:
	ldr	r3, .L134+12
	ldr	r3, [r3]
	str	r3, [fp, #-60]
	b	.L113
.L129:
	ldr	r3, .L134+16
	ldr	r3, [r3]
	str	r3, [fp, #-60]
	nop
.L113:
	mov	r3, #4
	str	r3, [fp, #-24]
	ldr	r0, [fp, #-24]
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-20]
	ldr	r3, .L134+20
	ldr	r3, [r3]
	ldrsh	r3, [r3, #60]
	mov	r2, r3
	ldr	r3, [fp, #-24]
	mul	r3, r2, r3
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-36]
	str	r3, [fp, #-40]
	mov	r3, #0
	str	r3, [fp, #-64]
	b	.L115
.L128:
	ldr	r1, [fp, #-64]
	ldr	r3, .L134+24
	umull	r2, r3, r1, r3
	lsr	r2, r3, #3
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #1
	sub	r2, r1, r3
	cmp	r2, #0
	bne	.L116
	ldr	r3, [fp, #-32]
	str	r3, [fp, #-40]
	ldr	r1, [fp, #-64]
	ldr	r3, .L134+28
	umull	r2, r3, r1, r3
	lsr	r2, r3, #4
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r2, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #1
	sub	r2, r1, r3
	cmp	r2, #0
	bne	.L117
	ldr	r3, [fp, #-28]
	str	r3, [fp, #-40]
	b	.L117
.L116:
	ldr	r3, [fp, #-36]
	str	r3, [fp, #-40]
.L117:
	ldr	r3, .L134+8
	ldr	r3, [r3]
	sub	r3, r3, #1
	cmp	r3, #3
	ldrls	pc, [pc, r3, asl #2]
	b	.L118
.L120:
	.word	.L123
	.word	.L122
	.word	.L121
	.word	.L119
.L123:
	ldr	r3, [fp, #-64]
	sub	r3, r3, #1
	str	r3, [fp, #-56]
	mov	r3, #0
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-64]
	sub	r3, r3, #1
	str	r3, [fp, #-52]
	ldr	r3, [fp, #-40]
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-64]
	cmp	r3, #0
	beq	.L130
	ldr	r1, [fp, #-64]
	ldr	r3, .L134+28
	umull	r2, r3, r1, r3
	lsr	r2, r3, #4
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r2, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #1
	sub	r2, r1, r3
	cmp	r2, #0
	bne	.L130
	ldr	r2, [fp, #-64]
	ldr	r1, .L134+32
	ldr	r0, [fp, #-20]
	bl	sprintf
	ldr	r3, .L134
	ldr	r0, [r3]
	ldr	r3, .L134+4
	ldr	r1, [r3]
	ldr	r3, .L134+36
	ldr	ip, [r3]
	ldr	r3, [fp, #-16]
	lsr	r3, r3, #1
	ldr	r2, [fp, #-64]
	sub	r3, r2, r3
	mov	lr, r3
	ldr	r3, .L134+20
	ldr	r3, [r3]
	ldrsh	r3, [r3, #62]
	lsl	r3, r3, #1
	mov	r2, r3
	ldr	r3, [fp, #-40]
	add	r3, r2, r3
	mov	r2, r3
	ldr	r3, [fp, #-24]
	str	r3, [sp, #8]
	ldr	r3, [fp, #-20]
	str	r3, [sp, #4]
	str	r2, [sp]
	mov	r3, lr
	mov	r2, ip
	bl	XDrawImageString
	b	.L130
.L122:
	ldr	r3, [fp, #-64]
	sub	r3, r3, #1
	str	r3, [fp, #-56]
	mov	r3, #75
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-64]
	sub	r3, r3, #1
	str	r3, [fp, #-52]
	ldr	r3, [fp, #-40]
	rsb	r3, r3, #75
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-64]
	cmp	r3, #0
	beq	.L131
	ldr	r1, [fp, #-64]
	ldr	r3, .L134+28
	umull	r2, r3, r1, r3
	lsr	r2, r3, #4
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r2, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #1
	sub	r2, r1, r3
	cmp	r2, #0
	bne	.L131
	ldr	r2, [fp, #-64]
	ldr	r1, .L134+32
	ldr	r0, [fp, #-20]
	bl	sprintf
	ldr	r3, .L134
	ldr	r0, [r3]
	ldr	r3, .L134+4
	ldr	r1, [r3]
	ldr	r3, .L134+36
	ldr	ip, [r3]
	ldr	r3, [fp, #-16]
	lsr	r3, r3, #1
	ldr	r2, [fp, #-64]
	sub	r3, r2, r3
	mov	lr, r3
	ldr	r3, .L134+20
	ldr	r3, [r3]
	ldrsh	r3, [r3, #62]
	mov	r2, r3
	ldr	r3, [fp, #-40]
	add	r3, r2, r3
	mov	r2, r3
	ldr	r3, [fp, #-24]
	str	r3, [sp, #8]
	ldr	r3, [fp, #-20]
	str	r3, [sp, #4]
	str	r2, [sp]
	mov	r3, lr
	mov	r2, ip
	bl	XDrawImageString
	b	.L131
.L121:
	mov	r3, #0
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-64]
	sub	r3, r3, #2
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-40]
	str	r3, [fp, #-52]
	ldr	r3, [fp, #-64]
	sub	r3, r3, #2
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-64]
	cmp	r3, #0
	beq	.L132
	ldr	r1, [fp, #-64]
	ldr	r3, .L134+28
	umull	r2, r3, r1, r3
	lsr	r2, r3, #4
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r2, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #1
	sub	r2, r1, r3
	cmp	r2, #0
	bne	.L132
	ldr	r2, [fp, #-64]
	ldr	r1, .L134+32
	ldr	r0, [fp, #-20]
	bl	sprintf
	ldr	r3, .L134
	ldr	r0, [r3]
	ldr	r3, .L134+4
	ldr	r1, [r3]
	ldr	r3, .L134+36
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	rsb	r3, r3, #75
	mov	lr, r3
	ldr	r3, .L134+20
	ldr	r3, [r3]
	ldrsh	r3, [r3, #64]
	mov	ip, r3
	ldr	r3, [fp, #-64]
	add	r3, ip, r3
	add	r3, r3, #1
	mov	ip, r3
	ldr	r3, [fp, #-24]
	str	r3, [sp, #8]
	ldr	r3, [fp, #-20]
	str	r3, [sp, #4]
	str	ip, [sp]
	mov	r3, lr
	bl	XDrawImageString
	b	.L132
.L119:
	mov	r3, #75
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-64]
	sub	r3, r3, #2
	str	r3, [fp, #-48]
	ldr	r3, [fp, #-40]
	rsb	r3, r3, #75
	str	r3, [fp, #-52]
	ldr	r3, [fp, #-64]
	sub	r3, r3, #2
	str	r3, [fp, #-44]
	ldr	r3, [fp, #-64]
	cmp	r3, #0
	beq	.L133
	ldr	r1, [fp, #-64]
	ldr	r3, .L134+28
	umull	r2, r3, r1, r3
	lsr	r2, r3, #4
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r2, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #1
	sub	r2, r1, r3
	cmp	r2, #0
	bne	.L133
	ldr	r2, [fp, #-64]
	ldr	r1, .L134+32
	ldr	r0, [fp, #-20]
	bl	sprintf
	ldr	r3, .L134
	ldr	r0, [r3]
	ldr	r3, .L134+4
	ldr	r1, [r3]
	ldr	r3, .L134+36
	ldr	r2, [r3]
	ldr	r3, .L134+20
	ldr	r3, [r3]
	ldrsh	r3, [r3, #60]
	mov	lr, r3
	ldr	r3, .L134+20
	ldr	r3, [r3]
	ldrsh	r3, [r3, #64]
	mov	ip, r3
	ldr	r3, [fp, #-64]
	add	r3, ip, r3
	add	r3, r3, #1
	mov	ip, r3
	ldr	r3, [fp, #-24]
	str	r3, [sp, #8]
	ldr	r3, [fp, #-20]
	str	r3, [sp, #4]
	str	ip, [sp]
	mov	r3, lr
	bl	XDrawImageString
	b	.L133
.L130:
	nop
	b	.L118
.L131:
	nop
	b	.L118
.L132:
	nop
	b	.L118
.L133:
	nop
.L118:
	ldr	r3, .L134
	ldr	r0, [r3]
	ldr	r3, .L134+4
	ldr	ip, [r3]
	ldr	r3, .L134+36
	ldr	lr, [r3]
	ldr	r4, [fp, #-56]
	ldr	r3, [fp, #-48]
	ldr	r2, [fp, #-52]
	ldr	r1, [fp, #-44]
	str	r1, [sp, #8]
	str	r2, [sp, #4]
	str	r3, [sp]
	mov	r3, r4
	mov	r2, lr
	mov	r1, ip
	bl	XDrawLine
	ldr	r3, [fp, #-64]
	add	r3, r3, #2
	str	r3, [fp, #-64]
.L115:
	ldr	r2, [fp, #-64]
	ldr	r3, [fp, #-60]
	cmp	r2, r3
	bcc	.L128
	ldr	r0, [fp, #-20]
	bl	free
	bl	draw_mouse_position
	nop
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L135:
	.align	2
.L134:
	.word	display
	.word	window
	.word	CURRENT_DIRECTION
	.word	CURRENT_WIDTH
	.word	CURRENT_HEIGHT
	.word	xfs
	.word	-858993459
	.word	1374389535
	.word	.LC5
	.word	gc
	.size	draw_bg, .-draw_bg
	.align	2
	.global	draw_mouse_position
	.syntax unified
	.arm
	.fpu softvfp
	.type	draw_mouse_position, %function
draw_mouse_position:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	mov	r3, #4
	str	r3, [fp, #-16]
	ldr	r0, [fp, #-16]
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-12]
	ldr	r3, .L143
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r1, .L143+4
	ldr	r0, [fp, #-12]
	bl	sprintf
	ldr	r3, .L143+8
	ldr	r3, [r3]
	ldrsh	r3, [r3, #60]
	mov	r2, r3
	ldr	r3, [fp, #-16]
	mul	r3, r2, r3
	ldr	r2, .L143+8
	ldr	r2, [r2]
	ldrsh	r2, [r2, #64]
	add	r3, r3, r2
	str	r3, [fp, #-8]
	ldr	r3, .L143+12
	ldr	r3, [r3]
	sub	r3, r3, #1
	cmp	r3, #3
	ldrls	pc, [pc, r3, asl #2]
	b	.L137
.L139:
	.word	.L142
	.word	.L141
	.word	.L140
	.word	.L138
.L142:
	ldr	r3, .L143+16
	ldr	r0, [r3]
	ldr	r3, .L143+20
	ldr	r1, [r3]
	ldr	r3, .L143+24
	ldr	ip, [r3]
	ldr	r3, .L143+8
	ldr	r3, [r3]
	ldrsh	r3, [r3, #64]
	lsl	lr, r3, #1
	ldr	r3, .L143+28
	ldr	r3, [r3]
	ldr	r2, .L143+8
	ldr	r2, [r2]
	ldrsh	r2, [r2, #64]
	lsl	r2, r2, #1
	sub	r3, r3, r2
	mov	r2, r3
	ldr	r3, [fp, #-16]
	str	r3, [sp, #8]
	ldr	r3, [fp, #-12]
	str	r3, [sp, #4]
	str	r2, [sp]
	mov	r3, lr
	mov	r2, ip
	bl	XDrawImageString
	b	.L137
.L141:
	ldr	r3, .L143+16
	ldr	r0, [r3]
	ldr	r3, .L143+20
	ldr	r1, [r3]
	ldr	r3, .L143+24
	ldr	ip, [r3]
	ldr	r3, .L143+8
	ldr	r3, [r3]
	ldrsh	r3, [r3, #64]
	lsl	lr, r3, #1
	ldr	r3, .L143+8
	ldr	r3, [r3]
	ldrsh	r3, [r3, #62]
	mov	r2, r3
	ldr	r3, .L143+8
	ldr	r3, [r3]
	ldrsh	r3, [r3, #64]
	add	r3, r2, r3
	ldr	r2, [fp, #-16]
	str	r2, [sp, #8]
	ldr	r2, [fp, #-12]
	str	r2, [sp, #4]
	str	r3, [sp]
	mov	r3, lr
	mov	r2, ip
	bl	XDrawImageString
	b	.L137
.L140:
	ldr	r3, .L143+16
	ldr	r0, [r3]
	ldr	r3, .L143+20
	ldr	r1, [r3]
	ldr	r3, .L143+24
	ldr	ip, [r3]
	ldr	r3, .L143+32
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	sub	r3, r2, r3
	mov	lr, r3
	ldr	r3, .L143+8
	ldr	r3, [r3]
	ldrsh	r3, [r3, #62]
	mov	r2, r3
	ldr	r3, .L143+8
	ldr	r3, [r3]
	ldrsh	r3, [r3, #64]
	add	r3, r2, r3
	ldr	r2, [fp, #-16]
	str	r2, [sp, #8]
	ldr	r2, [fp, #-12]
	str	r2, [sp, #4]
	str	r3, [sp]
	mov	r3, lr
	mov	r2, ip
	bl	XDrawImageString
	b	.L137
.L138:
	ldr	r3, .L143+16
	ldr	r0, [r3]
	ldr	r3, .L143+20
	ldr	r1, [r3]
	ldr	r3, .L143+24
	ldr	ip, [r3]
	ldr	r3, .L143+8
	ldr	r3, [r3]
	ldrsh	r3, [r3, #64]
	mov	lr, r3
	ldr	r3, .L143+8
	ldr	r3, [r3]
	ldrsh	r3, [r3, #62]
	mov	r2, r3
	ldr	r3, .L143+8
	ldr	r3, [r3]
	ldrsh	r3, [r3, #64]
	add	r3, r2, r3
	ldr	r2, [fp, #-16]
	str	r2, [sp, #8]
	ldr	r2, [fp, #-12]
	str	r2, [sp, #4]
	str	r3, [sp]
	mov	r3, lr
	mov	r2, ip
	bl	XDrawImageString
	nop
.L137:
	ldr	r0, [fp, #-12]
	bl	free
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L144:
	.align	2
.L143:
	.word	CURRENT_MOUSE_POSITION
	.word	.LC5
	.word	xfs
	.word	CURRENT_DIRECTION
	.word	display
	.word	window
	.word	gc
	.word	CURRENT_HEIGHT
	.word	CURRENT_WIDTH
	.size	draw_mouse_position, .-draw_mouse_position
	.section	.rodata
	.align	2
.LC6:
	.ascii	"-h\000"
	.align	2
.LC7:
	.ascii	"%s [-h|-fg <color-name-or-hex-code>|-bg <color-name"
	.ascii	"-or-hex-code>] \012\012-h - this message \012-fg <c"
	.ascii	"olor-name-or-hex-code> - set foreground (i.e. text)"
	.ascii	" color. Examples: red, green, blue, yellow, etc. \012"
	.ascii	"-bg <color-name-or-hex-code> - set background color"
	.ascii	". Same format as for foreground \012\012\012DIRECTI"
	.ascii	"ON: \012ctrl+n - north \012ctrl+s - south \012ctrl+"
	.ascii	"w - west \012ctrl+e - east \012\012\012SIZE\012shif"
	.ascii	"t+d - default (%dpx) size \012shift+s - small (%dpx"
	.ascii	") size \012shift+m - medium (%dpx) size \012shift+t"
	.ascii	" - tall (%dpx) size \012shift+f - fullscreen \012\012"
	.ascii	"\012MOVEMENT\012arrows (up, down, left, right)\012c"
	.ascii	"trl+arrows - force\012\012\012ESC or ctrl+q - exit\012"
	.ascii	"\000"
	.text
	.align	2
	.global	usage
	.syntax unified
	.arm
	.fpu softvfp
	.type	usage, %function
usage:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #40
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	mov	r3, #0
	str	r3, [fp, #-12]
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L146
.L148:
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-28]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r1, .L153
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L147
	mov	r3, #1
	str	r3, [fp, #-12]
.L147:
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L146:
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	bcc	.L148
	ldr	r3, [fp, #-12]
	cmp	r3, #1
	bne	.L152
	ldr	r3, .L153+4
	str	r3, [fp, #-8]
	ldr	r3, .L153+8
	ldr	r0, [r3]
	ldr	r3, [fp, #-28]
	ldr	r2, [r3]
	ldr	r3, .L153+12
	str	r3, [sp, #8]
	ldr	r3, .L153+16
	str	r3, [sp, #4]
	ldr	r3, .L153+20
	str	r3, [sp]
	mov	r3, #150
	ldr	r1, [fp, #-8]
	bl	fprintf
	mov	r0, #1
	bl	exit
.L152:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L154:
	.align	2
.L153:
	.word	.LC6
	.word	.LC7
	.word	stdout
	.word	675
	.word	525
	.word	375
	.size	usage, .-usage
	.section	.rodata
	.align	2
.LC8:
	.ascii	"-fg\000"
	.align	2
.LC9:
	.ascii	"Error: XParseColor(%s) Back on default\012\000"
	.align	2
.LC10:
	.ascii	"Error: XQueryColor(%s). Back on default\012\000"
	.align	2
.LC11:
	.ascii	"-bg\000"
	.align	2
.LC12:
	.ascii	"Error: XQueryColor(%s) Back on default\012\000"
	.align	2
.LC13:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	users_colors
	.syntax unified
	.arm
	.fpu softvfp
	.type	users_colors, %function
users_colors:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	ldr	r3, .L168
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-24]
	b	.L156
.L166:
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-36]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r1, .L168+4
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L157
	ldr	r3, [fp, #-24]
	add	r2, r3, #2
	ldr	r3, [fp, #-32]
	cmp	r2, r3
	bhi	.L157
	ldr	r3, .L168+8
	ldr	r0, [r3]
	ldr	r3, .L168+8
	ldr	r3, [r3]
	ldr	r2, [r3, #140]
	ldr	r3, .L168+12
	ldr	r3, [r3]
	mov	r1, r3
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldr	r1, [r3, #48]
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-36]
	add	r3, r2, r3
	ldr	r2, [r3]
	sub	r3, fp, #20
	bl	XParseColor
	mov	r3, r0
	cmp	r3, #0
	bne	.L158
	ldr	r3, .L168+16
	ldr	r0, [r3]
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-36]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r1, .L168+20
	bl	fprintf
	b	.L155
.L158:
	ldr	r3, .L168+8
	ldr	r0, [r3]
	ldr	r3, .L168+8
	ldr	r3, [r3]
	ldr	r2, [r3, #140]
	ldr	r3, .L168+12
	ldr	r3, [r3]
	mov	r1, r3
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldr	r3, [r3, #48]
	sub	r2, fp, #20
	mov	r1, r3
	bl	XAllocColor
	mov	r3, r0
	cmp	r3, #0
	bne	.L160
	ldr	r3, .L168+16
	ldr	r0, [r3]
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-36]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r1, .L168+24
	bl	fprintf
	b	.L155
.L160:
	ldr	r3, [fp, #-20]
	ldr	r2, .L168+28
	str	r3, [r2]
.L157:
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-36]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r1, .L168+32
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L162
	ldr	r3, [fp, #-24]
	add	r2, r3, #2
	ldr	r3, [fp, #-32]
	cmp	r2, r3
	bhi	.L162
	ldr	r3, .L168+8
	ldr	r0, [r3]
	ldr	r3, .L168+8
	ldr	r3, [r3]
	ldr	r2, [r3, #140]
	ldr	r3, .L168+12
	ldr	r3, [r3]
	mov	r1, r3
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldr	r1, [r3, #48]
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-36]
	add	r3, r2, r3
	ldr	r2, [r3]
	sub	r3, fp, #20
	bl	XParseColor
	mov	r3, r0
	cmp	r3, #1
	beq	.L163
	ldr	r3, .L168+16
	ldr	r0, [r3]
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-36]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r1, .L168+20
	bl	fprintf
	b	.L155
.L163:
	ldr	r3, .L168+8
	ldr	r0, [r3]
	ldr	r3, .L168+8
	ldr	r3, [r3]
	ldr	r2, [r3, #140]
	ldr	r3, .L168+12
	ldr	r3, [r3]
	mov	r1, r3
	mov	r3, r1
	lsl	r3, r3, #2
	add	r3, r3, r1
	lsl	r3, r3, #4
	add	r3, r2, r3
	ldr	r3, [r3, #48]
	sub	r2, fp, #20
	mov	r1, r3
	bl	XAllocColor
	mov	r3, r0
	cmp	r3, #1
	beq	.L165
	ldr	r3, .L168+16
	ldr	r0, [r3]
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-36]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r2, r3
	ldr	r1, .L168+36
	bl	fprintf
	b	.L155
.L165:
	ldr	r3, [fp, #-20]
	ldr	r2, .L168+40
	str	r3, [r2]
.L162:
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L156:
	ldr	r3, [fp, #-32]
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	bcc	.L166
.L155:
	ldr	r3, .L168
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L167
	bl	__stack_chk_fail
.L167:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L169:
	.align	2
.L168:
	.word	.LC13
	.word	.LC8
	.word	display
	.word	screen_num
	.word	stderr
	.word	.LC9
	.word	.LC10
	.word	pixel_color_2
	.word	.LC11
	.word	.LC12
	.word	pixel_color_1
	.size	users_colors, .-users_colors
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
