// File: /workspace/github_c_makefile_star2_O0/gitluin[P]sara/src/sara.c
// Function: manage
void
manage(Window parent, XWindowAttributes* wa){
	client* c, * t;
	Window trans = None;

	c = ecalloc(1, sizeof(client));

	if (curmon->current && curmon->current->isfull)
		togglefs(dumbarg);

	c->win = parent;
	c->isfloat = c->oldfloat = c->isfull = c->iscur = 0;
	c->x = wa->x;
	c->y = wa->y;
	c->w = wa->width;
	c->h = wa->height;

	if (XGetTransientForHint(dis, parent, &trans) && (t = findclient(trans))){
		c->desks = t->desks;
		c->mon = t->mon;

	} else {
		c->mon = curmon;
		applyrules(c);
	}
	if (!c->isfloat)
		c->isfloat = c->oldfloat = (trans != None);

	adjustcoords(c);
	c->y = (c->y < c->mon->wy) ? c->mon->wy : c->y;

	configure(c);
	XSelectInput(dis, c->win, EnterWindowMask|FocusChangeMask|PropertyChangeMask
			|StructureNotifyMask);
	grabbuttons(c, 0);

	attach(c, 1);

	/* move out of the way until told otherwise */
	XMoveResizeWindow(dis, c->win, c->x + 2*sw, c->y, c->w, c->h);
	arrange(c->mon);
#ifdef _SHAPE_H_
	roundcorners(c);
#endif
	XMapWindow(dis, c->win);

	if (c->desks & c->mon->seldesks){
		changecurrent(c, c->mon, c->mon->curdesk, 0);
		restack(c->mon);

		/* applyrules */
		if (c->isfull){
			c->isfull = !c->isfull;
			togglefs(dumbarg);
		}
	}

	outputstats();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq $0x0, -0x28(%rbp)
movl $0x1, %edi
movl $0x40, %esi
callq 0x25f0
movq %rax, -0x18(%rbp)
movq 0x5226(%rip), %rax      # 0xb528
cmpq $0x0, 0x28(%rax)
je 0x6326
movq 0x5218(%rip), %rax      # 0xb528
movq 0x28(%rax), %rax
cmpl $0x0, 0x18(%rax)
je 0x6326
movq 0x1d4f(%rip), %rdi      # 0x8070
callq 0x3660
movq -0x8(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x38(%rax)
movq -0x18(%rbp), %rax
movl $0x0, 0x20(%rax)
movq -0x18(%rbp), %rax
movl $0x0, 0x18(%rax)
movq -0x18(%rbp), %rax
movl $0x0, 0x14(%rax)
movq -0x18(%rbp), %rax
movl $0x0, 0x10(%rax)
movq -0x10(%rbp), %rax
movl (%rax), %ecx
movq -0x18(%rbp), %rax
movl %ecx, (%rax)
movq -0x10(%rbp), %rax
movl 0x4(%rax), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x4(%rax)
movq -0x10(%rbp), %rax
movl 0x8(%rax), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x8(%rax)
movq -0x10(%rbp), %rax
movl 0xc(%rax), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0xc(%rax)
movq 0x5165(%rip), %rdi      # 0xb500
movq -0x8(%rbp), %rsi
leaq -0x28(%rbp), %rdx
callq 0x2440
cmpl $0x0, %eax
je 0x63e0
movq -0x28(%rbp), %rdi
callq 0x5df0
movq %rax, -0x20(%rbp)
cmpq $0x0, %rax
je 0x63e0
movq -0x20(%rbp), %rax
movl 0x1c(%rax), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x1c(%rax)
movq -0x20(%rbp), %rax
movq 0x30(%rax), %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x30(%rax)
jmp 0x63f8
movq 0x5141(%rip), %rcx      # 0xb528
movq -0x18(%rbp), %rax
movq %rcx, 0x30(%rax)
movq -0x18(%rbp), %rdi
callq 0x6580
movq -0x18(%rbp), %rax
cmpl $0x0, 0x10(%rax)
jne 0x641d
cmpq $0x0, -0x28(%rbp)
setne %al
andb $0x1, %al
movzbl %al, %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x14(%rax)
movq -0x18(%rbp), %rax
movl %ecx, 0x10(%rax)
movq -0x18(%rbp), %rdi
callq 0x53e0
movq -0x18(%rbp), %rax
movl 0x4(%rax), %eax
movq -0x18(%rbp), %rcx
movq 0x30(%rcx), %rcx
cmpl 0x18(%rcx), %eax
jge 0x644a
movq -0x18(%rbp), %rax
movq 0x30(%rax), %rax
movl 0x18(%rax), %eax
movl %eax, -0x2c(%rbp)
jmp 0x6454
movq -0x18(%rbp), %rax
movl 0x4(%rax), %eax
movl %eax, -0x2c(%rbp)
movl -0x2c(%rbp), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x4(%rax)
movq -0x18(%rbp), %rdi
callq 0x6150
movq 0x5092(%rip), %rdi      # 0xb500
movq -0x18(%rbp), %rax
movq 0x38(%rax), %rsi
movl $0x620010, %edx         # imm = 0x620010
callq 0x2300
movq -0x18(%rbp), %rdi
xorl %esi, %esi
callq 0x46f0
movq -0x18(%rbp), %rdi
movl $0x1, %esi
callq 0x52f0
movq 0x5060(%rip), %rdi      # 0xb500
movq -0x18(%rbp), %rax
movq 0x38(%rax), %rsi
movq -0x18(%rbp), %rax
movl (%rax), %edx
movl 0x5158(%rip), %eax      # 0xb60c
shll %eax
addl %eax, %edx
movq -0x18(%rbp), %rax
movl 0x4(%rax), %ecx
movq -0x18(%rbp), %rax
movl 0x8(%rax), %r8d
movq -0x18(%rbp), %rax
movl 0xc(%rax), %r9d
callq 0x2250
movq -0x18(%rbp), %rax
movq 0x30(%rax), %rdi
callq 0x3ef0
movq -0x18(%rbp), %rdi
callq 0x42f0
movq 0x500f(%rip), %rdi      # 0xb500
movq -0x18(%rbp), %rax
movq 0x38(%rax), %rsi
callq 0x22d0
movq -0x18(%rbp), %rax
movl 0x1c(%rax), %eax
movq -0x18(%rbp), %rcx
movq 0x30(%rcx), %rcx
andl 0x24(%rcx), %eax
cmpl $0x0, %eax
je 0x6571
movq -0x18(%rbp), %rdi
movq -0x18(%rbp), %rax
movq 0x30(%rax), %rsi
movq -0x18(%rbp), %rax
movq 0x30(%rax), %rax
movl 0x4(%rax), %edx
xorl %ecx, %ecx
callq 0x45a0
movq -0x18(%rbp), %rax
movq 0x30(%rax), %rdi
callq 0x4150
movq -0x18(%rbp), %rax
cmpl $0x0, 0x18(%rax)
je 0x656f
movq -0x18(%rbp), %rax
cmpl $0x0, 0x18(%rax)
setne %al
xorb $-0x1, %al
andb $0x1, %al
movzbl %al, %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x18(%rax)
movq 0x1b06(%rip), %rdi      # 0x8070
callq 0x3660
jmp 0x6571
callq 0x5530
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax)