// File: /workspace/github_cpp_makefile_star2_O3/liskin[P]hybrid-screenclone/screenclone.cc
// Function: display::xinerama_screens()
display::screens_vector display::xinerama_screens() {
	int number;
	XineramaScreenInfo *screens = XineramaQueryScreens( dpy, &number );
	if ( !screens ) ERR;

	screens_vector vec;
	for ( int i = 0; i < number; ++i )
		vec.push_back( xinerama_screen( *this, screens[ i ] ) );

	XFree( screens );
	return vec;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0xd8, %rsp
movq %rsi, %r14
movq %rdi, %rbx
movq (%rsi), %rdi
leaq 0xc(%rsp), %rsi
callq 0x20f0
movq %rax, 0x30(%rsp)
testq %rax, %rax
je 0x329a
xorps %xmm0, %xmm0
movups %xmm0, (%rbx)
movq $0x0, 0x10(%rbx)
movl 0xc(%rsp), %eax
testl %eax, %eax
jle 0x327b
leaq 0x18(%rsp), %r13
xorl %ebp, %ebp
leaq 0x10(%rsp), %r12
movq 0x30(%rsp), %r15
movq %r14, 0x10(%rsp)
movl 0x8(%r15), %ecx
movl %ecx, 0x8(%r13)
movq (%r15), %rcx
movq %rcx, (%r13)
movq 0x8(%rbx), %rsi
cmpq 0x10(%rbx), %rsi
je 0x325d
movq 0x20(%rsp), %rcx
movq %rcx, 0x10(%rsi)
movups 0x10(%rsp), %xmm0
movups %xmm0, (%rsi)
addq $0x18, 0x8(%rbx)
jmp 0x326c
movq %rbx, %rdi
movq %r12, %rdx
callq 0x55c0
movl 0xc(%rsp), %eax
incq %rbp
movslq %eax, %rcx
addq $0xc, %r15
cmpq %rcx, %rbp
jl 0x3227
movq 0x30(%rsp), %rdi
callq 0x22c0
movq %rbx, %rax
addq $0xd8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movl $0x10, %edi
callq 0x20c0
movq %rax, %rbx
leaq 0xc8(%rsp), %r15
movq %r15, -0x10(%r15)
movq $0x0, -0x8(%r15)
movb $0x0, (%r15)
leaq 0x2d3e(%rip), %rsi      # 0x6004
leaq 0xb8(%rsp), %rdi
callq 0x2420
leaq 0x88(%rsp), %r12
movq %r12, -0x10(%r12)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
jne 0x32f9
movups (%rcx), %xmm0
movups %xmm0, (%r12)
jmp 0x3309
movq %rdx, 0x78(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x88(%rsp)
movq 0x8(%rax), %rdx
leaq 0x78(%rsp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x2d5b(%rip), %rsi      # 0x6087
callq 0x2420
leaq 0xa8(%rsp), %r13
movq %r13, -0x10(%r13)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
jne 0x3356
movups (%rcx), %xmm0
movups %xmm0, (%r13)
jmp 0x3369
movq %rdx, 0x98(%rsp)
movq (%rcx), %rdx
movq %rdx, 0xa8(%rsp)
movq 0x8(%rax), %rdx
leaq 0x98(%rsp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x2ca6(%rip), %rsi      # 0x6035
callq 0x2420
leaq 0x48(%rsp), %rcx
movq %rcx, -0x10(%rcx)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
jne 0x33b9
movups (%rcx), %xmm0
leaq 0x48(%rsp), %rdx
movups %xmm0, (%rdx)
jmp 0x33c6
movq %rdx, 0x38(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x48(%rsp)
movq 0x8(%rax), %rdx
leaq 0x38(%rsp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x2c8a(%rip), %rsi      # 0x6073
callq 0x2420
leaq 0x68(%rsp), %rcx
movq %rcx, -0x10(%rcx)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
jne 0x3413
movups (%rcx), %xmm0
leaq 0x68(%rsp), %rdx
movups %xmm0, (%rdx)
jmp 0x3420
movq %rdx, 0x58(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x68(%rsp)
movq 0x8(%rax), %rdx
leaq 0x58(%rsp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x2bf6(%rip), %rsi      # 0x6039
callq 0x2420
leaq 0x20(%rsp), %rcx
movq %rcx, -0x10(%rcx)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
jne 0x346d
movups (%rcx), %xmm0
leaq 0x20(%rsp), %rdx
movups %xmm0, (%rdx)
jmp 0x347a
movq %rdx, 0x10(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x20(%rsp)
movq 0x8(%rax), %rdx
leaq 0x10(%rsp), %rsi
movq %rdx, 0x8(%rsi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movb $0x1, %bpl
movq %rbx, %rdi
callq 0x2380
xorl %ebp, %ebp
movq 0x5b46(%rip), %rsi      # 0x8ff0
movq 0x5b17(%rip), %rdx      # 0x8fc8
movq %rbx, %rdi
callq 0x23b0
movq %rax, %r14
movq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rax
cmpq %rax, %rdi
je 0x34e0
movq 0x20(%rsp), %rsi
incq %rsi
callq 0x2220
jmp 0x34e0
movq %rax, %r14
movb $0x1, %bpl
movq 0x58(%rsp), %rdi
leaq 0x68(%rsp), %rax
cmpq %rax, %rdi
je 0x3504
movq 0x68(%rsp), %rsi
incq %rsi
callq 0x2220
jmp 0x3504
movq %rax, %r14
movb $0x1, %bpl
movq 0x38(%rsp), %rdi
leaq 0x48(%rsp), %rax
cmpq %rax, %rdi
je 0x3528
movq 0x48(%rsp), %rsi
incq %rsi
callq 0x2220
jmp 0x3528
movq %rax, %r14
movb $0x1, %bpl
movq 0x98(%rsp), %rdi
cmpq %r13, %rdi
je 0x354d
movq 0xa8(%rsp), %rsi
incq %rsi
callq 0x2220
jmp 0x354d
movq %rax, %r14
movb $0x1, %bpl
movq 0x78(%rsp), %rdi
cmpq %r12, %rdi
je 0x356f
movq 0x88(%rsp), %rsi
incq %rsi
callq 0x2220
jmp 0x356f
movq %rax, %r14
movb $0x1, %bpl
movq 0xb8(%rsp), %rdi
cmpq %r15, %rdi
je 0x358c
movq 0xc8(%rsp), %rsi
incq %rsi
callq 0x2220
testb %bpl, %bpl
je 0x35b4
movq %rbx, %rdi
callq 0x2120
jmp 0x35b4
jmp 0x359d
movq %rax, %r14
movq (%rbx), %rdi
testq %rdi, %rdi
je 0x35b4
movq 0x10(%rbx), %rsi
subq %rdi, %rsi
callq 0x2220
movq %r14, %rdi
callq 0x23e0