// File: /workspace/github_cpp_makefile_star2_O3/XDragonSl[P]git-switcher/src/main.cpp
// Function: swap(int)
void swap(int number) {
    Store store;
    if (number <= 0 || number > store.size()) {
        cout << NONEXISTENT_INDEX_MESSAGE << endl;
        cout << RUN_HELP_MESSAGE;
        return;
    }
    Profile chosen = store.get(number - 1);
    string swapName(SWAP_NAME_GIT_CMD + QUOTE + chosen.getName() + QUOTE);
    string swapEmail(SWAP_EMAIL_GIT_CMD + QUOTE + chosen.getEmail() + QUOTE);
    system(swapName.c_str());
    system(swapEmail.c_str());
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x2f8, %rsp            # imm = 0x2F8
movl %edi, %ebx
leaq -0x318(%rbp), %rdi
callq 0x548c
testl %ebx, %ebx
jle 0x4286
leaq -0x318(%rbp), %rdi
callq 0x5814
cmpl %ebx, %eax
jge 0x42e9
movq 0x519b(%rip), %rsi      # 0x9428
movq 0x519c(%rip), %rdx      # 0x9430
movq 0x4d2d(%rip), %rdi      # 0x8fc8
callq 0x2230
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x2200
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2170
movq 0x50b7(%rip), %rsi      # 0x9388
movq 0x50b8(%rip), %rdx      # 0x9390
movq 0x4ce9(%rip), %rdi      # 0x8fc8
callq 0x2230
jmp 0x4578
decl %ebx
leaq -0x318(%rbp), %rdi
movl %ebx, %esi
callq 0x5760
movq %rax, %rbx
leaq -0xb8(%rbp), %r14
movq %r14, -0x10(%r14)
movq (%rax), %rsi
movq 0x8(%rax), %rdx
addq %rsi, %rdx
leaq -0xc8(%rbp), %rdi
callq 0x4b74
leaq -0xa8(%rbp), %rdi
leaq -0x98(%rbp), %r15
movq %r15, -0x10(%r15)
movq 0x20(%rbx), %rsi
movq 0x28(%rbx), %rdx
addq %rsi, %rdx
callq 0x4b74
leaq 0x5142(%rip), %rsi      # 0x9488
leaq 0x517b(%rip), %rdx      # 0x94c8
leaq -0x68(%rbp), %rdi
callq 0x4abd
leaq -0xc8(%rbp), %rdi
callq 0x53a0
movq (%rax), %rsi
movq 0x8(%rax), %rdx
leaq -0x68(%rbp), %rdi
callq 0x20a0
leaq -0x38(%rbp), %r13
movq %r13, -0x10(%r13)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x4396
movq %rdx, -0x48(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x38(%rbp)
jmp 0x439e
movups (%rcx), %xmm0
movups %xmm0, (%r13)
movq 0x8(%rax), %rdx
leaq -0x48(%rbp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x5108(%rip), %rsi      # 0x94c8
movq 0x5109(%rip), %rdx      # 0x94d0
callq 0x20a0
leaq -0x78(%rbp), %r12
movq %r12, -0x10(%r12)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x43f4
movq %rdx, -0x88(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x78(%rbp)
jmp 0x43fc
movups (%rcx), %xmm0
movups %xmm0, (%r12)
movq 0x8(%rax), %rdx
movq %rdx, -0x80(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq -0x48(%rbp), %rdi
cmpq %r13, %rdi
je 0x4421
callq 0x21f0
leaq -0x58(%rbp), %rbx
movq -0x10(%rbx), %rdi
cmpq %rbx, %rdi
je 0x4433
callq 0x21f0
leaq 0x506e(%rip), %rsi      # 0x94a8
leaq 0x5087(%rip), %rdx      # 0x94c8
leaq -0xe8(%rbp), %rdi
callq 0x4abd
leaq -0xc8(%rbp), %rdi
callq 0x53aa
movq (%rax), %rsi
movq 0x8(%rax), %rdx
leaq -0xe8(%rbp), %rdi
callq 0x20a0
movq %rbx, -0x68(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x448c
movq %rdx, -0x68(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x58(%rbp)
jmp 0x4492
movups (%rcx), %xmm0
movups %xmm0, (%rbx)
movq 0x8(%rax), %rdx
leaq -0x68(%rbp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x5014(%rip), %rsi      # 0x94c8
movq 0x5015(%rip), %rdx      # 0x94d0
callq 0x20a0
movq %r13, -0x48(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x44e0
movq %rdx, -0x48(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x38(%rbp)
jmp 0x44e8
movups (%rcx), %xmm0
movups %xmm0, (%r13)
movq 0x8(%rax), %rdx
movq %rdx, -0x40(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq -0x68(%rbp), %rdi
cmpq %rbx, %rdi
je 0x450d
callq 0x21f0
leaq -0xd8(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x4522
callq 0x21f0
movq -0x88(%rbp), %rdi
callq 0x21c0
movq -0x48(%rbp), %rdi
callq 0x21c0
movq -0x48(%rbp), %rdi
cmpq %r13, %rdi
je 0x4545
callq 0x21f0
movq -0x88(%rbp), %rdi
cmpq %r12, %rdi
je 0x4556
callq 0x21f0
movq -0xa8(%rbp), %rdi
cmpq %r15, %rdi
je 0x4567
callq 0x21f0
movq -0xc8(%rbp), %rdi
cmpq %r14, %rdi
je 0x4578
callq 0x21f0
leaq -0x318(%rbp), %rdi
callq 0x582c
addq $0x2f8, %rsp            # imm = 0x2F8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %r15
movq -0x68(%rbp), %rdi
cmpq %rbx, %rdi
je 0x45ed
callq 0x21f0
jmp 0x45ed
movq %rax, %r15
jmp 0x4602
movq %rax, %r15
movq -0x48(%rbp), %rdi
cmpq %r13, %rdi
je 0x4624
callq 0x21f0
jmp 0x4624
movq %rax, %r15
jmp 0x4613
movq %rax, %r15
movq -0xc8(%rbp), %rdi
cmpq %r14, %rdi
je 0x4638
callq 0x21f0
jmp 0x4638
movq %rax, %r15
movq -0x48(%rbp), %rdi
cmpq %r13, %rdi
jne 0x45fd
jmp 0x4602
movq %rax, %r15
leaq -0xd8(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x4602
callq 0x21f0
movq -0x88(%rbp), %rdi
cmpq %r12, %rdi
je 0x4613
callq 0x21f0
leaq -0xc8(%rbp), %rdi
callq 0x4a88
jmp 0x4638
movq %rax, %r15
leaq -0x58(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
jne 0x460e
jmp 0x4613
jmp 0x4635
movq %rax, %r15
leaq -0x318(%rbp), %rdi
callq 0x582c
movq %r15, %rdi
callq 0x2340