// File: /workspace/github_c_makefile_star2_O3/mati75[P]evilwm/client.c
// Function: update_info_window
void update_info_window(struct client *c) {
        char *name;
        char buf[27];
        int namew, iwinx, iwiny, iwinw, iwinh;
        int width_inc = c->width_inc, height_inc = c->height_inc;

        if (!display.info_window)
                return;
        snprintf(buf, sizeof(buf), "%dx%d+%d+%d", (c->width-c->base_width)/width_inc,
                (c->height-c->base_height)/height_inc, c->x, c->y);
        iwinw = XTextWidth(display.font, buf, strlen(buf)) + 2;
        iwinh = display.font->max_bounds.ascent + display.font->max_bounds.descent;
        XFetchName(display.dpy, c->window, &name);
        if (name) {
                namew = XTextWidth(display.font, name, strlen(name));
                if (namew > iwinw)
                        iwinw = namew + 2;
                iwinh = iwinh * 2;
        }
        iwinx = c->x + c->border + c->width - iwinw;
        iwiny = c->y - c->border;
        if (iwinx + iwinw > DisplayWidth(display.dpy, c->screen->screen))
                iwinx = DisplayWidth(display.dpy, c->screen->screen) - iwinw;
        if (iwinx < 0)
                iwinx = 0;
        if (iwiny + iwinh > DisplayHeight(display.dpy, c->screen->screen))
                iwiny = DisplayHeight(display.dpy, c->screen->screen) - iwinh;
        if (iwiny < 0)
                iwiny = 0;
        XMoveResizeWindow(display.dpy, display.info_window, iwinx, iwiny, iwinw, iwinh);
        XClearWindow(display.dpy, display.info_window);
        if (name) {
                XDrawString(display.dpy, display.info_window, c->screen->invert_gc,
                                1, iwinh / 2 - 1, name, strlen(name));
                XFree(name);
        }
        XDrawString(display.dpy, display.info_window, c->screen->invert_gc, 1, iwinh - 1,
                        buf, strlen(buf));
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x48, %rsp
leaq 0x9b49(%rip), %r13      # 0xf728
cmpq $0x0, 0x198(%r13)
je 0x5dd1
movq %rdi, %rbx
movl 0x30(%rdi), %eax
subl 0x84(%rdi), %eax
cltd
idivl 0x7c(%rdi)
movl %eax, %ecx
movl 0x34(%rdi), %eax
subl 0x88(%rdi), %eax
cltd
idivl 0x80(%rdi)
movl 0x28(%rdi), %r9d
movl 0x2c(%rdi), %edx
movl %edx, (%rsp)
leaq 0x4810(%rip), %rdx      # 0xa430
xorl %r12d, %r12d
leaq 0x20(%rsp), %r14
movl $0x1b, %esi
movq %r14, %rdi
movl %eax, %r8d
xorl %eax, %eax
callq 0x40a0
movq 0x160(%r13), %r15
movq %r14, %rdi
callq 0x42f0
movq %r15, %rdi
movq %r14, %rsi
movl %eax, %edx
callq 0x44e0
movl %eax, %ebp
addl $0x2, %ebp
movq (%r13), %rdi
movq 0x160(%r13), %rax
movswl 0x4a(%rax), %ecx
movswl 0x4c(%rax), %r14d
addl %ecx, %r14d
movq (%rbx), %rsi
leaq 0x8(%rsp), %r15
movq %r15, %rdx
callq 0x45b0
movq (%r15), %r15
testq %r15, %r15
je 0x5cb4
movq 0x160(%r13), %r12
movq %r15, %rdi
callq 0x42f0
movq %r12, %rdi
xorl %r12d, %r12d
movq %r15, %rsi
movl %eax, %edx
callq 0x44e0
leal 0x2(%rax), %ecx
cmpl %ebp, %eax
cmovgl %ecx, %ebp
addl %r14d, %r14d
movl 0x3c(%rbx), %eax
movl 0x28(%rbx), %edx
addl %eax, %edx
addl 0x30(%rbx), %edx
movl 0x2c(%rbx), %esi
subl %eax, %esi
movq (%r13), %rdi
movq 0xe8(%rdi), %rax
movq 0x10(%rbx), %rcx
movslq (%rcx), %rcx
shlq $0x7, %rcx
movl 0x18(%rax,%rcx), %r8d
movl 0x1c(%rax,%rcx), %eax
cmpl %r8d, %edx
cmovgel %r8d, %edx
subl %ebp, %edx
testl %edx, %edx
cmovlel %r12d, %edx
leal (%rsi,%r14), %r8d
movl %eax, %ecx
subl %r14d, %ecx
cmpl %eax, %r8d
cmovlel %esi, %ecx
movq 0x198(%r13), %rsi
testl %ecx, %ecx
cmovlel %r12d, %ecx
movl %ebp, %r8d
movl %r14d, %r9d
callq 0x43b0
movq (%r13), %rdi
movq 0x198(%r13), %rsi
callq 0x4090
movq 0x8(%rsp), %r15
testq %r15, %r15
je 0x5d92
movq (%r13), %rax
movq %rax, 0x18(%rsp)
movq 0x198(%r13), %rax
movq %rax, 0x10(%rsp)
movq 0x10(%rbx), %rax
movq 0x28(%rax), %rbp
movl %r14d, %r12d
shrl $0x1f, %r12d
addl %r14d, %r12d
sarl %r12d
decl %r12d
movq %r15, %rdi
callq 0x42f0
movl %eax, (%rsp)
movq 0x18(%rsp), %rdi
movq 0x10(%rsp), %rsi
movq %rbp, %rdx
movl $0x1, %ecx
movl %r12d, %r8d
movq %r15, %r9
callq 0x4030
movq 0x8(%rsp), %rdi
callq 0x4050
movq (%r13), %r15
movq 0x198(%r13), %r12
movq 0x10(%rbx), %rax
movq 0x28(%rax), %rbx
decl %r14d
leaq 0x20(%rsp), %r13
movq %r13, %rdi
callq 0x42f0
movl %eax, (%rsp)
movq %r15, %rdi
movq %r12, %rsi
movq %rbx, %rdx
movl $0x1, %ecx
movl %r14d, %r8d
movq %r13, %r9
callq 0x4030
addq $0x48, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq