// File: /workspace/github_c_makefile_star2_O0/tkln[P]mcwm/mcwm.c
// Function: botright
static int botright(struct client *client, const union cb_arg arg)
{
    int16_t pointx;
    int16_t pointy;
    int16_t mon_x;
    int16_t mon_y;
    uint16_t mon_width;
    uint16_t mon_height;
    (void) client;
    (void) arg;

    if (NULL == focuswin)
    {
        return 0;
    }

    if (NULL == focuswin->monitor)
    {
        mon_x = 0;
        mon_y = 0;
        mon_width = screen->width_in_pixels;;        
        mon_height = screen->height_in_pixels;
    }
    else
    {
        mon_x = focuswin->monitor->x;
        mon_y = focuswin->monitor->y;
        mon_width = focuswin->monitor->width;
        mon_height = focuswin->monitor->height;
    }

    raisewindow(focuswin->id);
    
    if (!getpointer(focuswin->id, &pointx, &pointy))
    {
        return 0;
    }

    focuswin->x = mon_x + mon_width - (focuswin->width + conf.borderwidth * 2);
    focuswin->y =  mon_y + mon_height - (focuswin->height + conf.borderwidth
                                         * 2);
    movewindow(focuswin->id, focuswin->x, focuswin->y);
    xcb_warp_pointer(conn, XCB_NONE, focuswin->id, 0, 0, 0, 0,
                     pointx, pointy);
    xcb_flush(conn);
    return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rsi, -0x10(%rbp)
movq %rdi, -0x18(%rbp)
xorl %eax, %eax
cmpq 0x9477(%rip), %rax      # 0xd940
jne 0x44d7
movl $0x0, -0x4(%rbp)
jmp 0x4666
movq 0x9462(%rip), %rcx      # 0xd940
xorl %eax, %eax
cmpq 0x38(%rcx), %rax
jne 0x4512
movw $0x0, -0x1e(%rbp)
movw $0x0, -0x20(%rbp)
movq 0x944f(%rip), %rax      # 0xd948
movw 0x14(%rax), %ax
movw %ax, -0x22(%rbp)
movq 0x9440(%rip), %rax      # 0xd948
movw 0x16(%rax), %ax
movw %ax, -0x24(%rbp)
jmp 0x455e
movq 0x9427(%rip), %rax      # 0xd940
movq 0x38(%rax), %rax
movw 0x10(%rax), %ax
movw %ax, -0x1e(%rbp)
movq 0x9414(%rip), %rax      # 0xd940
movq 0x38(%rax), %rax
movw 0x12(%rax), %ax
movw %ax, -0x20(%rbp)
movq 0x9401(%rip), %rax      # 0xd940
movq 0x38(%rax), %rax
movw 0x14(%rax), %ax
movw %ax, -0x22(%rbp)
movq 0x93ee(%rip), %rax      # 0xd940
movq 0x38(%rax), %rax
movw 0x16(%rax), %ax
movw %ax, -0x24(%rbp)
movq 0x93db(%rip), %rax      # 0xd940
movl (%rax), %edi
callq 0x6f50
movq 0x93cd(%rip), %rax      # 0xd940
movl (%rax), %edi
leaq -0x1a(%rbp), %rsi
leaq -0x1c(%rbp), %rdx
callq 0x7540
testb $0x1, %al
jne 0x4592
movl $0x0, -0x4(%rbp)
jmp 0x4666
movswl -0x1e(%rbp), %eax
movzwl -0x22(%rbp), %ecx
addl %ecx, %eax
movq 0x939d(%rip), %rcx      # 0xd940
movzwl 0xa(%rcx), %ecx
movl 0x93a3(%rip), %edx      # 0xd950
shll %edx
addl %edx, %ecx
subl %ecx, %eax
movw %ax, %cx
movq 0x9383(%rip), %rax      # 0xd940
movw %cx, 0x6(%rax)
movswl -0x20(%rbp), %eax
movzwl -0x24(%rbp), %ecx
addl %ecx, %eax
movq 0x936e(%rip), %rcx      # 0xd940
movzwl 0xc(%rcx), %ecx
movl 0x9374(%rip), %edx      # 0xd950
shll %edx
addl %edx, %ecx
subl %ecx, %eax
movw %ax, %cx
movq 0x9354(%rip), %rax      # 0xd940
movw %cx, 0x8(%rax)
movq 0x9349(%rip), %rax      # 0xd940
movl (%rax), %edi
movq 0x9340(%rip), %rax      # 0xd940
movw 0x6(%rax), %cx
movq 0x9335(%rip), %rax      # 0xd940
movzwl %cx, %esi
movzwl 0x8(%rax), %edx
callq 0x7080
movq 0x935a(%rip), %rdi      # 0xd978
movq 0x931b(%rip), %rax      # 0xd940
movl (%rax), %edx
movw -0x1a(%rbp), %ax
xorl %r9d, %r9d
movl %r9d, %esi
movl %r9d, %ecx
movl %r9d, %r8d
movl $0x0, (%rsp)
cwtl
movl %eax, 0x8(%rsp)
movswl -0x1c(%rbp), %eax
movl %eax, 0x10(%rsp)
callq 0x3050
movl %eax, -0x28(%rbp)
movq 0x931e(%rip), %rdi      # 0xd978
callq 0x3140
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x40, %rsp
popq %rbp
retq
nop