// File: /workspace/github_c_makefile_star2_O1/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
pushq %r15
pushq %r14
pushq %rbx
pushq %rax
movq %rdi, %rbx
movl (%rdi), %edi
movl 0x54b2(%rip), %eax      # 0xb7a8
cmpl %eax, %edi
sete %cl
cmpl $0xa, %edi
setge %dl
orb %cl, %dl
jne 0x64a7
movl %eax, 0x58ed(%rip)      # 0xbbfc
callq 0x4fc0
movq 0x5465(%rip), %rax      # 0xb780
movq 0x30(%rax), %rax
testq %rax, %rax
je 0x6357
movq 0x5425(%rip), %rdi      # 0xb750
movl 0x20(%rax), %esi
movl 0x30(%rax), %edx
movl 0x34(%rax), %r8d
movq %rsp, %rcx
movl %edx, (%rcx)
movl %r8d, 0x4(%rcx)
movq 0x38(%rax), %r9
movq %r9, 0x30(%rax)
movl %edx, 0x38(%rax)
movl %r8d, 0x3c(%rax)
movl $0x3, %edx
callq 0x32c0
movq 0x5422(%rip), %rax      # 0xb780
movq 0x18(%rax), %r15
testq %r15, %r15
je 0x63b7
movq %rsp, %r14
movq 0x540f(%rip), %rax      # 0xb780
cmpq 0x30(%rax), %r15
je 0x63ae
movq 0x53d2(%rip), %rdi      # 0xb750
movl 0x20(%r15), %esi
movl 0x30(%r15), %eax
movl 0x34(%r15), %ecx
movl %eax, (%rsp)
movl %ecx, 0x4(%rsp)
movq 0x38(%r15), %rdx
movq %rdx, 0x30(%r15)
movl %eax, 0x38(%r15)
movl %ecx, 0x3c(%r15)
movl $0x3, %edx
movq %r14, %rcx
callq 0x32c0
movq 0x8(%r15), %r15
testq %r15, %r15
jne 0x636a
movl 0x583f(%rip), %edi      # 0xbbfc
callq 0x4fc0
movq 0x53b7(%rip), %rax      # 0xb780
movq 0x18(%rax), %r15
testq %r15, %r15
je 0x642a
xorl %ebp, %ebp
movq %rsp, %r14
movq 0x53a2(%rip), %rax      # 0xb780
cmpq 0x30(%rax), %r15
je 0x6421
movq 0x5365(%rip), %rdi      # 0xb750
movl 0x20(%r15), %esi
movq 0x5392(%rip), %rax      # 0xb788
movl 0x34(%rax), %eax
addl %eax, %eax
negl %eax
movl %eax, (%rsp)
movl %ebp, 0x4(%rsp)
movq 0x38(%r15), %rcx
movq %rcx, 0x30(%r15)
movl %eax, 0x38(%r15)
movl %ebp, 0x3c(%r15)
movl $0x3, %edx
movq %r14, %rcx
callq 0x32c0
movq 0x8(%r15), %r15
testq %r15, %r15
jne 0x63d7
movq 0x534f(%rip), %rax      # 0xb780
movq 0x30(%rax), %rax
testq %rax, %rax
je 0x6477
movq 0x530f(%rip), %rdi      # 0xb750
movl 0x20(%rax), %esi
movq 0x533d(%rip), %rcx      # 0xb788
movl 0x34(%rcx), %edx
addl %edx, %edx
negl %edx
movq %rsp, %rcx
movl %edx, (%rcx)
xorl %r8d, %r8d
movl %r8d, 0x4(%rcx)
movq 0x38(%rax), %r9
movq %r9, 0x30(%rax)
movl %edx, 0x38(%rax)
movl %r8d, 0x3c(%rax)
movl $0x3, %edx
callq 0x32c0
movl (%rbx), %edi
callq 0x4fc0
movq 0x52fb(%rip), %rax      # 0xb780
movq 0x30(%rax), %rdi
callq 0x3dcb
callq 0x4e44
movq 0x52ce(%rip), %rdi      # 0xb768
movl 0x52d8(%rip), %esi      # 0xb778
movl (%rbx), %edx
callq 0x3550
addq $0x8, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq