// File: /workspace/github_c_makefile_star2_O1/9wm[P]9wm/event.c
// Function: configurereq
void
configurereq(XConfigureRequestEvent * e)
{
	XWindowChanges wc;
	Client *c;

	/*
	 * we don't set curtime as nothing here uses it 
	 */
	c = getclient(e->window, 0);
	trace("configurereq", c, e);

	e->value_mask &= ~CWSibling;

	if (c) {
		gravitate(c, 1);
		if (e->value_mask & CWX)
			c->x = e->x;
		if (e->value_mask & CWY)
			c->y = e->y;
		if (e->value_mask & CWWidth)
			c->dx = e->width;
		if (e->value_mask & CWHeight)
			c->dy = e->height;
		if (e->value_mask & CWBorderWidth)
			c->border = e->border_width;
		gravitate(c, 0);
		if (e->value_mask & CWStackMode) {
			if (wc.stack_mode == Above)
				top(c);
			else
				e->value_mask &= ~CWStackMode;
		}
		if (c->parent != c->screen->root && c->window == e->window) {
			wc.x = c->x - BORDER;
			wc.y = c->y - BORDER;
			wc.width = c->dx + 2 * (BORDER - 1);
			wc.height = c->dy + 2 * (BORDER - 1);
			wc.border_width = 1;
			wc.sibling = None;
			wc.stack_mode = e->detail;
			XConfigureWindow(dpy, c->parent, e->value_mask, &wc);
			sendconfig(c);
		}
	}

	if (c && c->init) {
		wc.x = BORDER - 1;
		wc.y = BORDER - 1;
	} else {
		wc.x = e->x;
		wc.y = e->y;
	}
	wc.width = e->width;
	wc.height = e->height;
	wc.border_width = 0;
	wc.sibling = None;
	wc.stack_mode = Above;
	e->value_mask &= ~CWStackMode;
	e->value_mask |= CWBorderWidth;

	XConfigureWindow(dpy, e->window, e->value_mask, &wc);
}

// Assembly:
pushq %r14
pushq %rbx
subq $0x28, %rsp
movq %rdi, %rbx
movq 0x28(%rdi), %rdi
xorl %esi, %esi
xorl %eax, %eax
callq 0x58e1
andb $-0x21, 0x58(%rbx)
testq %rax, %rax
je 0x3ab5
movq %rax, %r14
movq %rax, %rdi
movl $0x1, %esi
xorl %eax, %eax
callq 0x49a1
movq 0x58(%rbx), %rax
testb $0x1, %al
je 0x39c1
movl 0x30(%rbx), %ecx
movl %ecx, 0x28(%r14)
testb $0x2, %al
je 0x39cc
movl 0x34(%rbx), %ecx
movl %ecx, 0x2c(%r14)
testb $0x4, %al
je 0x39d7
movl 0x38(%rbx), %ecx
movl %ecx, 0x30(%r14)
testb $0x8, %al
je 0x39e2
movl 0x3c(%rbx), %ecx
movl %ecx, 0x34(%r14)
testb $0x10, %al
je 0x39ed
movl 0x40(%rbx), %eax
movl %eax, 0x38(%r14)
movq %r14, %rdi
xorl %esi, %esi
xorl %eax, %eax
callq 0x49a1
movq 0x58(%rbx), %rax
testb $0x40, %al
je 0x3a1c
cmpl $0x0, 0x20(%rsp)
je 0x3a12
andq $-0x41, %rax
movq %rax, 0x58(%rbx)
jmp 0x3a1c
movq %r14, %rdi
xorl %eax, %eax
callq 0x587d
movq 0x8(%r14), %rsi
movq 0xf8(%r14), %rax
cmpq 0x8(%rax), %rsi
je 0x3a9b
movq (%r14), %rax
cmpq 0x28(%rbx), %rax
jne 0x3a9b
movl 0x28(%r14), %eax
leaq 0x78df(%rip), %rcx      # 0xb320
movl (%rcx), %edx
subl %edx, %eax
movq %rsp, %rcx
movl %eax, (%rcx)
movl 0x2c(%r14), %eax
subl %edx, %eax
movl %eax, 0x4(%rcx)
leal -0x2(,%rdx,2), %eax
movl 0x30(%r14), %edx
addl %eax, %edx
movl %edx, 0x8(%rcx)
addl 0x34(%r14), %eax
movl %eax, 0xc(%rcx)
movl $0x1, 0x10(%rcx)
movq $0x0, 0x18(%rcx)
movl 0x50(%rbx), %eax
movl %eax, 0x20(%rcx)
leaq 0x7ef2(%rip), %rax      # 0xb978
movq (%rax), %rdi
movl 0x58(%rbx), %edx
callq 0x2030
movq %r14, %rdi
xorl %eax, %eax
callq 0x353c
cmpl $0x0, 0x9c(%r14)
je 0x3ab5
leaq 0x7874(%rip), %rax      # 0xb320
movl (%rax), %eax
decl %eax
movl %eax, (%rsp)
jmp 0x3abe
movl 0x30(%rbx), %eax
movl %eax, (%rsp)
movl 0x34(%rbx), %eax
movq %rsp, %rcx
movl %eax, 0x4(%rcx)
movl 0x38(%rbx), %eax
movl %eax, 0x8(%rcx)
movl 0x3c(%rbx), %eax
movl %eax, 0xc(%rcx)
xorl %eax, %eax
movl %eax, 0x10(%rcx)
movq $0x0, 0x18(%rcx)
movl %eax, 0x20(%rcx)
movq 0x28(%rbx), %rsi
movq 0x58(%rbx), %rdx
andq $-0x51, %rdx
orq $0x10, %rdx
movq %rdx, 0x58(%rbx)
leaq 0x7e7d(%rip), %rax      # 0xb978
movq (%rax), %rdi
callq 0x2030
addq $0x28, %rsp
popq %rbx
popq %r14
retq