// File: /workspace/github_c_makefile_star2_O0/evanwire[P]GitClone/client.c
// Function: main
int main(int argc, char** argv){

  //Check command line arguments before commiting any runtime
  checkArgs(argc, argv);

  if(strcmp(argv[1], "configure") == 0){
    printf("\nconfigure with IP address %s and port number %s\n", argv[2], argv[3]);
    configure(argv[2], argv[3]);
    return 0;
  }else if(strcmp(argv[1], "checkout") == 0){
    printf("\ncheckout project %s", argv[2]);
    checkout(argv[2]);
  }else if(strcmp(argv[1], "update") == 0){
    printf("\nupdate project %s\n", argv[2]);
    update(argv[2]);
  }else if(strcmp(argv[1], "upgrade") == 0){
    printf("\nupgrade project %s\n", argv[2]);
    upgrade(argv[2]);
  }else if(strcmp(argv[1], "commit") == 0){
    printf("\ncommit project %s\n", argv[2]);
    commit(argv[2]);
  }else if(strcmp(argv[1], "push") == 0){
    printf("\npush project %s\n", argv[2]);
    push(argv[2]);
  }else if(strcmp(argv[1], "create") == 0){
    printf("\ncreate project %s\n", argv[2]);
    create(argv[2]);
  }else if(strcmp(argv[1], "destroy") == 0){
    printf("\ndestroy project %s\n", argv[2]);
    destroy(argv[2]);
  }else if(strcmp(argv[1], "add") == 0){
    printf("\nadd %s to project %s\n", argv[3], argv[2]);
    add(argv[2], argv[3]);
  }else if(strcmp(argv[1], "remove") == 0){
    printf("\nremove file %s from project %s\n", argv[2], argv[3]);
    remove_file(argv[2], argv[3]);
  }else if(strcmp(argv[1], "currentversion") == 0){
    printf("\ncurrent version of project %s\n", argv[2]);
    currentVersion(argv[2]);
  }else if(strcmp(argv[1], "history") == 0){
    printf("\nhistory of project %s\n", argv[2]);
  }else if(strcmp(argv[1], "rollback") == 0){
    printf("\nrollback project %s to version %s\n", argv[2], argv[3]);
  }

  return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movl $0x0, -0x4(%rbp)
movl %edi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movl -0x8(%rbp), %edi
movq -0x10(%rbp), %rsi
callq 0x16f0
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
leaq 0x60e6(%rip), %rsi      # 0x7447
callq 0x1190
cmpl $0x0, %eax
jne 0x13aa
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rsi
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rdx
leaq 0x5c82(%rip), %rdi      # 0x7004
movb $0x0, %al
callq 0x1040
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rdi
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rsi
callq 0x1c10
movl $0x0, -0x4(%rbp)
jmp 0x16d8
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
leaq 0x5c7d(%rip), %rsi      # 0x7036
callq 0x1190
cmpl $0x0, %eax
jne 0x13eb
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rsi
leaq 0x5c6d(%rip), %rdi      # 0x703f
movb $0x0, %al
callq 0x1040
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rdi
callq 0x1d20
jmp 0x16cf
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
leaq 0x5c5a(%rip), %rsi      # 0x7054
callq 0x1190
cmpl $0x0, %eax
jne 0x142c
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rsi
leaq 0x5c48(%rip), %rdi      # 0x705b
movb $0x0, %al
callq 0x1040
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rdi
callq 0x2300
jmp 0x16cd
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
leaq 0x5c34(%rip), %rsi      # 0x706f
callq 0x1190
cmpl $0x0, %eax
jne 0x146d
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rsi
leaq 0x5c23(%rip), %rdi      # 0x7077
movb $0x0, %al
callq 0x1040
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rdi
callq 0x2e00
jmp 0x16cb
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
leaq 0x5c10(%rip), %rsi      # 0x708c
callq 0x1190
cmpl $0x0, %eax
jne 0x14ae
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rsi
leaq 0x5bfe(%rip), %rdi      # 0x7093
movb $0x0, %al
callq 0x1040
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rdi
callq 0x3670
jmp 0x16c9
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
leaq 0x5bea(%rip), %rsi      # 0x70a7
callq 0x1190
cmpl $0x0, %eax
jne 0x14ef
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rsi
leaq 0x5bd6(%rip), %rdi      # 0x70ac
movb $0x0, %al
callq 0x1040
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rdi
callq 0x4a10
jmp 0x16c7
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
leaq 0x5bc0(%rip), %rsi      # 0x70be
callq 0x1190
cmpl $0x0, %eax
jne 0x1530
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rsi
leaq 0x5bae(%rip), %rdi      # 0x70c5
movb $0x0, %al
callq 0x1040
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rdi
callq 0x5170
jmp 0x16c5
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
leaq 0x5b9a(%rip), %rsi      # 0x70d9
callq 0x1190
cmpl $0x0, %eax
jne 0x1571
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rsi
leaq 0x5b89(%rip), %rdi      # 0x70e1
movb $0x0, %al
callq 0x1040
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rdi
callq 0x5450
jmp 0x16c3
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
leaq 0x5b76(%rip), %rsi      # 0x70f6
callq 0x1190
cmpl $0x0, %eax
jne 0x15c2
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rsi
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rdx
leaq 0x5b59(%rip), %rdi      # 0x70fa
movb $0x0, %al
callq 0x1040
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rdi
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rsi
callq 0x55b0
jmp 0x16c1
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
leaq 0x5b40(%rip), %rsi      # 0x7111
callq 0x1190
cmpl $0x0, %eax
jne 0x1613
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rsi
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rdx
leaq 0x5b26(%rip), %rdi      # 0x7118
movb $0x0, %al
callq 0x1040
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rdi
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rsi
callq 0x5810
jmp 0x16bf
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
leaq 0x5b17(%rip), %rsi      # 0x7139
callq 0x1190
cmpl $0x0, %eax
jne 0x1651
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rsi
leaq 0x5b0d(%rip), %rdi      # 0x7148
movb $0x0, %al
callq 0x1040
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rdi
callq 0x5a70
jmp 0x16bd
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
leaq 0x5b08(%rip), %rsi      # 0x7168
callq 0x1190
cmpl $0x0, %eax
jne 0x1682
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rsi
leaq 0x5af7(%rip), %rdi      # 0x7170
movb $0x0, %al
callq 0x1040
jmp 0x16bb
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
leaq 0x5af7(%rip), %rsi      # 0x7188
callq 0x1190
cmpl $0x0, %eax
jne 0x16b9
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rsi
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rdx
leaq 0x5adf(%rip), %rdi      # 0x7191
movb $0x0, %al
callq 0x1040
jmp 0x16bb
jmp 0x16bd
jmp 0x16bf
jmp 0x16c1
jmp 0x16c3
jmp 0x16c5
jmp 0x16c7
jmp 0x16c9
jmp 0x16cb
jmp 0x16cd
jmp 0x16cf
jmp 0x16d1
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x10, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)