// File: /workspace/github_c_makefile_star2_O0/kaugm[P]mmwm/mmwm.c
// Function: change_desktop
void change_desktop(const Arg *arg)
{
    if (arg->i == current_desktop_number || arg->i > DESKTOPS-1)
        return;
    previous_desktop = current_desktop_number;
    select_desktop(arg->i);
    if (show) {
        if (M_CURRENT)
            xcb_move(dis, M_CURRENT->win, M_CURRENT->position_info.previous_x, M_CURRENT->position_info.previous_y, &M_CURRENT->position_info);
        for (client *c = M_HEAD; c; c = M_GETNEXT(c)) {
            if (c != M_CURRENT)
                xcb_move(dis, c->win, c->position_info.previous_x, c->position_info.previous_y, &c->position_info);
        }
    }
    select_desktop(previous_desktop);
    for (client *c = M_HEAD; c; c = M_GETNEXT(c)) {
        if (c != M_CURRENT)
            xcb_move(dis, c->win, -2 * M_WW, 0, &c->position_info);
    }
    if (M_CURRENT)
        xcb_move(dis, M_CURRENT->win, -2 * M_WW, 0, &M_CURRENT->position_info);
    select_desktop(arg->i);
    update_current(M_CURRENT);
    desktopinfo();
    xcb_ewmh_set_current_desktop(ewmh, default_screen, arg->i);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movl (%rax), %eax
cmpl 0x5e40(%rip), %eax      # 0xd7f8
je 0x79c3
movq -0x8(%rbp), %rax
cmpl $0x9, (%rax)
jle 0x79c8
jmp 0x7b92
movl 0x5e2a(%rip), %eax      # 0xd7f8
movl %eax, 0x6274(%rip)      # 0xdc48
movq -0x8(%rbp), %rax
movl (%rax), %edi
callq 0x5570
testb $0x1, 0x5d9a(%rip)      # 0xd780
je 0x7aa2
movq 0x5ddd(%rip), %rax      # 0xd7d0
cmpq $0x0, 0x30(%rax)
je 0x7a3f
movq 0x5d9f(%rip), %rdi      # 0xd7a0
movq 0x5dc8(%rip), %rax      # 0xd7d0
movq 0x30(%rax), %rax
movl 0x20(%rax), %esi
movq 0x5dba(%rip), %rax      # 0xd7d0
movq 0x30(%rax), %rax
movl 0x30(%rax), %edx
movq 0x5dac(%rip), %rax      # 0xd7d0
movq 0x30(%rax), %rax
movl 0x34(%rax), %ecx
movq 0x5d9e(%rip), %rax      # 0xd7d0
movq 0x30(%rax), %r8
addq $0x30, %r8
callq 0x5410
movq 0x5d8a(%rip), %rax      # 0xd7d0
movq 0x18(%rax), %rax
movq %rax, -0x10(%rbp)
cmpq $0x0, -0x10(%rbp)
je 0x7aa0
movq -0x10(%rbp), %rax
movq 0x5d70(%rip), %rcx      # 0xd7d0
cmpq 0x30(%rcx), %rax
je 0x7a8f
movq 0x5d33(%rip), %rdi      # 0xd7a0
movq -0x10(%rbp), %rax
movl 0x20(%rax), %esi
movq -0x10(%rbp), %rax
movl 0x30(%rax), %edx
movq -0x10(%rbp), %rax
movl 0x34(%rax), %ecx
movq -0x10(%rbp), %r8
addq $0x30, %r8
callq 0x5410
jmp 0x7a91
movq -0x10(%rbp), %rdi
callq 0x5490
movq %rax, -0x10(%rbp)
jmp 0x7a4e
jmp 0x7aa2
movl 0x61a0(%rip), %edi      # 0xdc48
callq 0x5570
movq 0x5d1c(%rip), %rax      # 0xd7d0
movq 0x18(%rax), %rax
movq %rax, -0x18(%rbp)
cmpq $0x0, -0x18(%rbp)
je 0x7b10
movq -0x18(%rbp), %rax
movq 0x5d02(%rip), %rcx      # 0xd7d0
cmpq 0x30(%rcx), %rax
je 0x7aff
movq 0x5cc5(%rip), %rdi      # 0xd7a0
movq -0x18(%rbp), %rax
movl 0x20(%rax), %esi
movq 0x5cef(%rip), %rax      # 0xd7d8
imull $0xfffffffe, 0x34(%rax), %edx # imm = 0xFFFFFFFE
movq -0x18(%rbp), %r8
addq $0x30, %r8
xorl %ecx, %ecx
callq 0x5410
jmp 0x7b01
movq -0x18(%rbp), %rdi
callq 0x5490
movq %rax, -0x18(%rbp)
jmp 0x7abc
movq 0x5cb9(%rip), %rax      # 0xd7d0
cmpq $0x0, 0x30(%rax)
je 0x7b57
movq 0x5c7b(%rip), %rdi      # 0xd7a0
movq 0x5ca4(%rip), %rax      # 0xd7d0
movq 0x30(%rax), %rax
movl 0x20(%rax), %esi
movq 0x5c9e(%rip), %rax      # 0xd7d8
imull $0xfffffffe, 0x34(%rax), %edx # imm = 0xFFFFFFFE
movq 0x5c88(%rip), %rax      # 0xd7d0
movq 0x30(%rax), %r8
addq $0x30, %r8
xorl %ecx, %ecx
callq 0x5410
movq -0x8(%rbp), %rax
movl (%rax), %edi
callq 0x5570
movq 0x5c67(%rip), %rax      # 0xd7d0
movq 0x30(%rax), %rdi
callq 0x4010
callq 0x4f80
movq 0x5c3a(%rip), %rdi      # 0xd7b8
movl 0x5c44(%rip), %esi      # 0xd7c8
movq -0x8(%rbp), %rax
movl (%rax), %edx
callq 0x3550
movl %eax, -0x1c(%rbp)
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax,%rax)