// File: epfml[P]Bi-Sent2Vec/src/args.cc
// Function: fasttext::Args::parseArgs(int, char**)
void Args::parseArgs(int argc, char** argv) {
  std::string command(argv[1]);
  if (command == "bisent2vec") {
    model = model_name::bisent2vec;
    loss = loss_name::ns;
    neg = 10;
    minCount = 5;
    minn = 3;
    maxn = 6;
    lr = 0.05;
    dropoutK = 2;
  }
  int ai = 2;
  while (ai < argc) {
    if (argv[ai][0] != '-') {
      std::cout << "Provided argument without a dash! Usage:" << std::endl;
      printHelp();
      exit(EXIT_FAILURE);
    }
    if (strcmp(argv[ai], "-h") == 0) {
      std::cout << "Here is the help! Usage:" << std::endl;
      printHelp();
      exit(EXIT_FAILURE);
    } else if (strcmp(argv[ai], "-input") == 0) {
      input = std::string(argv[ai + 1]);
    } else if (strcmp(argv[ai], "-test") == 0) {
      test = std::string(argv[ai + 1]);
    } else if (strcmp(argv[ai], "-output") == 0) {
      output = std::string(argv[ai + 1]);
    } else if (strcmp(argv[ai], "-dict") == 0) {
      dict = std::string(argv[ai + 1]);
    } else if (strcmp(argv[ai], "-lr") == 0) {
      lr = atof(argv[ai + 1]);
    } else if (strcmp(argv[ai], "-boostNgrams") == 0) {
      boostNgrams = atof(argv[ai + 1]);
    } else if (strcmp(argv[ai], "-lrUpdateRate") == 0) {
      lrUpdateRate = atoi(argv[ai + 1]);
    } else if (strcmp(argv[ai], "-dim") == 0) {
      dim = atoi(argv[ai + 1]);
    } else if (strcmp(argv[ai], "-ws") == 0) {
      ws = atoi(argv[ai + 1]);
    } else if (strcmp(argv[ai], "-epoch") == 0) {
      epoch = atoi(argv[ai + 1]);
    } else if (strcmp(argv[ai], "-minCount") == 0) {
      minCount = atoi(argv[ai + 1]);
    } else if (strcmp(argv[ai], "-minCountLabel") == 0) {
      minCountLabel = atoi(argv[ai + 1]);
    } else if (strcmp(argv[ai], "-neg") == 0) {
      neg = atoi(argv[ai + 1]);
    } else if (strcmp(argv[ai], "-numCheckPoints") == 0) {
      numCheckPoints = atoi(argv[ai + 1]);
    } else if (strcmp(argv[ai], "-dropoutK") == 0) {
      dropoutK = atoi(argv[ai + 1]);
    } else if (strcmp(argv[ai], "-wordNgrams") == 0) {
      wordNgrams = atoi(argv[ai + 1]);
      if (wordNgrams == 1) bucket = 1;
    } else if (strcmp(argv[ai], "-loss") == 0) {
      if (strcmp(argv[ai + 1], "hs") == 0) {
        loss = loss_name::hs;
      } else if (strcmp(argv[ai + 1], "ns") == 0) {
        loss = loss_name::ns;
      } else if (strcmp(argv[ai + 1], "softmax") == 0) {
        loss = loss_name::softmax;
      } else {
        std::cout << "Unknown loss: " << argv[ai + 1] << std::endl;
        printHelp();
        exit(EXIT_FAILURE);
      }
    } else if (strcmp(argv[ai], "-bucket") == 0) {
      bucket = atoi(argv[ai + 1]);
    } else if (strcmp(argv[ai], "-bucketChar") == 0) {
      bucketChar = atoi(argv[ai + 1]);
    } else if (strcmp(argv[ai], "-minn") == 0) {
      minn = atoi(argv[ai + 1]);
    } else if (strcmp(argv[ai], "-maxn") == 0) {
      maxn = atoi(argv[ai + 1]);
    } else if (strcmp(argv[ai], "-thread") == 0) {
      thread = atoi(argv[ai + 1]);
    } else if (strcmp(argv[ai], "-t") == 0) {
      t = atof(argv[ai + 1]);
    } else if (strcmp(argv[ai], "-label") == 0) {
      label = std::string(argv[ai + 1]);
    } else if (strcmp(argv[ai], "-verbose") == 0) {
      verbose = atoi(argv[ai + 1]);
    } else if (strcmp(argv[ai], "-maxVocabSize") == 0) {
      maxVocabSize = atoi(argv[ai + 1]);
    } else if (strcmp(argv[ai], "-pretrainedVectors") == 0) {
      pretrainedVectors = std::string(argv[ai + 1]);
    } else if (strcmp(argv[ai], "-saveOutput") == 0) {
      saveOutput = atoi(argv[ai + 1]);
    } else if (strcmp(argv[ai], "-qnorm") == 0) {
      qnorm = true; ai--;
    } else if (strcmp(argv[ai], "-retrain") == 0) {
      retrain = true; ai--;
    } else if (strcmp(argv[ai], "-qout") == 0) {
      qout = true; ai--;
    } else if (strcmp(argv[ai], "-cutoff") == 0) {
    cutoff = atoi(argv[ai + 1]);
    } else if (strcmp(argv[ai], "-dsub") == 0) {
      dsub = atoi(argv[ai + 1]);
    } else {
      std::cout << "Unknown argument: " << argv[ai] << std::endl;
      printHelp();
      exit(EXIT_FAILURE);
    }
    ai += 2;
  }
  if (input.empty() || output.empty()) {
    std::cout << "Empty input or output path." << std::endl;
    printHelp();
    exit(EXIT_FAILURE);
  }
  if (wordNgrams <= 1 && maxn == 0) {
    bucket = 0;
  }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x200, %rsp            # imm = 0x200
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x158(%rbp)
movq -0x18(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x150(%rbp)
leaq -0x39(%rbp), %rdi
movq %rdi, -0x148(%rbp)
callq 0x57b0
movq -0x150(%rbp), %rsi
movq -0x148(%rbp), %rdx
leaq -0x38(%rbp), %rdi
callq 0x7c10
jmp 0x5fa9
leaq -0x39(%rbp), %rdi
callq 0x5480
leaq 0x3c061(%rip), %rsi     # 0x4201a
leaq -0x38(%rbp), %rdi
callq 0x7cc0
movb %al, -0x159(%rbp)
jmp 0x5fca
movb -0x159(%rbp), %al
testb $0x1, %al
jne 0x5fd9
jmp 0x6063
movq -0x158(%rbp), %rax
movl $0x4, 0xc0(%rax)
movl $0x2, 0xbc(%rax)
movl $0xa, 0xb0(%rax)
movl $0x5, 0xa8(%rax)
movl $0x3, 0xcc(%rax)
movl $0x6, 0xd0(%rax)
movsd 0x3bfe4(%rip), %xmm0    # 0x42008
movsd %xmm0, 0x80(%rax)
movl $0x2, 0x9c(%rax)
jmp 0x6063
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0x39(%rbp), %rdi
callq 0x5480
jmp 0x6f3d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x6f34
movl $0x2, -0x50(%rbp)
movl -0x50(%rbp), %eax
cmpl -0xc(%rbp), %eax
jge 0x6e82
movq -0x18(%rbp), %rax
movslq -0x50(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movsbl (%rax), %eax
cmpl $0x2d, %eax
je 0x60d3
movq 0x58f27(%rip), %rdi     # 0x5efb8
leaq 0x3bf8d(%rip), %rsi     # 0x42025
callq 0x5420
movq %rax, -0x168(%rbp)
jmp 0x60a6
movq -0x168(%rbp), %rdi
movq 0x58edc(%rip), %rsi     # 0x5ef90
callq 0x5460
jmp 0x60bb
movq -0x158(%rbp), %rdi
callq 0x6f50
jmp 0x60c9
movl $0x1, %edi
callq 0x54f0
movq -0x18(%rbp), %rax
movslq -0x50(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x3bf68(%rip), %rsi     # 0x4204e
callq 0x5610
cmpl $0x0, %eax
jne 0x6139
movq 0x58ec1(%rip), %rdi     # 0x5efb8
leaq 0x3bf53(%rip), %rsi     # 0x42051
callq 0x5420
movq %rax, -0x170(%rbp)
jmp 0x610c
movq -0x170(%rbp), %rdi
movq 0x58e76(%rip), %rsi     # 0x5ef90
callq 0x5460
jmp 0x6121
movq -0x158(%rbp), %rdi
callq 0x6f50
jmp 0x612f
movl $0x1, %edi
callq 0x54f0
movq -0x18(%rbp), %rax
movslq -0x50(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x3bf1e(%rip), %rsi     # 0x4206a
callq 0x5610
cmpl $0x0, %eax
jne 0x61d4
movq -0x18(%rbp), %rax
movslq -0x50(%rbp), %rcx
movq 0x8(%rax,%rcx,8), %rax
movq %rax, -0x180(%rbp)
leaq -0x71(%rbp), %rdi
movq %rdi, -0x178(%rbp)
callq 0x57b0
movq -0x180(%rbp), %rsi
movq -0x178(%rbp), %rdx
leaq -0x70(%rbp), %rdi
callq 0x7c10
jmp 0x6193
movq -0x158(%rbp), %rdi
leaq -0x70(%rbp), %rsi
callq 0x5500
leaq -0x70(%rbp), %rdi
callq 0x58d8
leaq -0x71(%rbp), %rdi
callq 0x5480
jmp 0x6e72
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0x71(%rbp), %rdi
callq 0x5480
jmp 0x6f34
movq -0x18(%rbp), %rax
movslq -0x50(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x3be8a(%rip), %rsi     # 0x42071
callq 0x5610
cmpl $0x0, %eax
jne 0x6289
movq -0x18(%rbp), %rax
movslq -0x50(%rbp), %rcx
movq 0x8(%rax,%rcx,8), %rax
movq %rax, -0x190(%rbp)
leaq -0x99(%rbp), %rdi
movq %rdi, -0x188(%rbp)
callq 0x57b0
movq -0x190(%rbp), %rsi
movq -0x188(%rbp), %rdx
leaq -0x98(%rbp), %rdi
callq 0x7c10
jmp 0x6238
movq -0x158(%rbp), %rdi
addq $0x20, %rdi
leaq -0x98(%rbp), %rsi
callq 0x5500
leaq -0x98(%rbp), %rdi
callq 0x58d8
leaq -0x99(%rbp), %rdi
callq 0x5480
jmp 0x6e70
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0x99(%rbp), %rdi
callq 0x5480
jmp 0x6f34
movq -0x18(%rbp), %rax
movslq -0x50(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x3bddb(%rip), %rsi     # 0x42077
callq 0x5610
cmpl $0x0, %eax
jne 0x633e
movq -0x18(%rbp), %rax
movslq -0x50(%rbp), %rcx
movq 0x8(%rax,%rcx,8), %rax
movq %rax, -0x1a0(%rbp)
leaq -0xc1(%rbp), %rdi
movq %rdi, -0x198(%rbp)
callq 0x57b0
movq -0x1a0(%rbp), %rsi
movq -0x198(%rbp), %rdx
leaq -0xc0(%rbp), %rdi
callq 0x7c10
jmp 0x62ed
movq -0x158(%rbp), %rdi
addq $0x40, %rdi
leaq -0xc0(%rbp), %rsi
callq 0x5500
leaq -0xc0(%rbp), %rdi
callq 0x58d8
leaq -0xc1(%rbp), %rdi
callq 0x5480
jmp 0x6e6e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0xc1(%rbp), %rdi
callq 0x5480
jmp 0x6f34
movq -0x18(%rbp), %rax
movslq -0x50(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x3bd2e(%rip), %rsi     # 0x4207f
callq 0x5610
cmpl $0x0, %eax
jne 0x63f3
movq -0x18(%rbp), %rax
movslq -0x50(%rbp), %rcx
movq 0x8(%rax,%rcx,8), %rax
movq %rax, -0x1b0(%rbp)
leaq -0xe9(%rbp), %rdi
movq %rdi, -0x1a8(%rbp)
callq 0x57b0
movq -0x1b0(%rbp), %rsi
movq -0x1a8(%rbp), %rdx
leaq -0xe8(%rbp), %rdi
callq 0x7c10
jmp 0x63a2
movq -0x158(%rbp), %rdi
addq $0x60, %rdi
leaq -0xe8(%rbp), %rsi
callq 0x5500
leaq -0xe8(%rbp), %rdi
callq 0x58d8
leaq -0xe9(%rbp), %rdi
callq 0x5480
jmp 0x6e6c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0xe9(%rbp), %rdi
callq 0x5480
jmp 0x6f34
movq -0x18(%rbp), %rax
movslq -0x50(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x3bc7f(%rip), %rsi     # 0x42085
callq 0x5610
cmpl $0x0, %eax
jne 0x643a
movq -0x18(%rbp), %rax
movl -0x50(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
callq 0x5520
movq -0x158(%rbp), %rax
movsd %xmm0, 0x80(%rax)
jmp 0x6e6a
movq -0x18(%rbp), %rax
movslq -0x50(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x3bc3c(%rip), %rsi     # 0x42089
callq 0x5610
cmpl $0x0, %eax
jne 0x6481
movq -0x18(%rbp), %rax
movl -0x50(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
callq 0x5520
movq -0x158(%rbp), %rax
movsd %xmm0, 0x88(%rax)
jmp 0x6e68
movq -0x18(%rbp), %rax
movslq -0x50(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x3bc02(%rip), %rsi     # 0x42096
callq 0x5610
cmpl $0x0, %eax
jne 0x64c8
movq -0x18(%rbp), %rax
movl -0x50(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
callq 0x5680
movl %eax, %ecx
movq -0x158(%rbp), %rax
movl %ecx, 0x90(%rax)
jmp 0x6e66
movq -0x18(%rbp), %rax
movslq -0x50(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x3bbc9(%rip), %rsi     # 0x420a4
callq 0x5610
cmpl $0x0, %eax
jne 0x650f
movq -0x18(%rbp), %rax
movl -0x50(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
callq 0x5680
movl %eax, %ecx
movq -0x158(%rbp), %rax
movl %ecx, 0x94(%rax)
jmp 0x6e64
movq -0x18(%rbp), %rax
movslq -0x50(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x3bb87(%rip), %rsi     # 0x420a9
callq 0x5610
cmpl $0x0, %eax
jne 0x6556
movq -0x18(%rbp), %rax
movl -0x50(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
callq 0x5680
movl %eax, %ecx
movq -0x158(%rbp), %rax
movl %ecx, 0x98(%rax)
jmp 0x6e62
movq -0x18(%rbp), %rax
movslq -0x50(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x3bb44(%rip), %rsi     # 0x420ad
callq 0x5610
cmpl $0x0, %eax
jne 0x659d
movq -0x18(%rbp), %rax
movl -0x50(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
callq 0x5680
movl %eax, %ecx
movq -0x158(%rbp), %rax
movl %ecx, 0xa0(%rax)
jmp 0x6e60
movq -0x18(%rbp), %rax
movslq -0x50(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x3bb04(%rip), %rsi     # 0x420b4
callq 0x5610
cmpl $0x0, %eax
jne 0x65e4
movq -0x18(%rbp), %rax
movl -0x50(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
callq 0x5680
movl %eax, %ecx
movq -0x158(%rbp), %rax
movl %ecx, 0xa8(%rax)
jmp 0x6e5e
movq -0x18(%rbp), %rax
movslq -0x50(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x3bac7(%rip), %rsi     # 0x420be
callq 0x5610
cmpl $0x0, %eax
jne 0x662b
movq -0x18(%rbp), %rax
movl -0x50(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
callq 0x5680
movl %eax, %ecx
movq -0x158(%rbp), %rax
movl %ecx, 0xac(%rax)
jmp 0x6e5c
movq -0x18(%rbp), %rax
movslq -0x50(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x3ba8f(%rip), %rsi     # 0x420cd
callq 0x5610
cmpl $0x0, %eax
jne 0x6672
movq -0x18(%rbp), %rax
movl -0x50(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
callq 0x5680
movl %eax, %ecx
movq -0x158(%rbp), %rax
movl %ecx, 0xb0(%rax)
jmp 0x6e5a
movq -0x18(%rbp), %rax
movslq -0x50(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x3ba4d(%rip), %rsi     # 0x420d2
callq 0x5610
cmpl $0x0, %eax
jne 0x66b9
movq -0x18(%rbp), %rax
movl -0x50(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
callq 0x5680
movl %eax, %ecx
movq -0x158(%rbp), %rax
movl %ecx, 0xb8(%rax)
jmp 0x6e58
movq -0x18(%rbp), %rax
movslq -0x50(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x3ba16(%rip), %rsi     # 0x420e2
callq 0x5610
cmpl $0x0, %eax
jne 0x6700
movq -0x18(%rbp), %rax
movl -0x50(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
callq 0x5680
movl %eax, %ecx
movq -0x158(%rbp), %rax
movl %ecx, 0x9c(%rax)
jmp 0x6e56
movq -0x18(%rbp), %rax
movslq -0x50(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x3b9d9(%rip), %rsi     # 0x420ec
callq 0x5610
cmpl $0x0, %eax
jne 0x6761
movq -0x18(%rbp), %rax
movl -0x50(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
callq 0x5680
movl %eax, %ecx
movq -0x158(%rbp), %rax
movl %ecx, 0xb4(%rax)
cmpl $0x1, 0xb4(%rax)
jne 0x675c
movq -0x158(%rbp), %rax
movl $0x1, 0xc4(%rax)
jmp 0x6e54
movq -0x18(%rbp), %rax
movslq -0x50(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x3b984(%rip), %rsi     # 0x420f8
callq 0x5610
cmpl $0x0, %eax
jne 0x689b
movq -0x18(%rbp), %rax
movl -0x50(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x3b964(%rip), %rsi     # 0x420fe
callq 0x5610
cmpl $0x0, %eax
jne 0x67ba
movq -0x158(%rbp), %rax
movl $0x1, 0xbc(%rax)
jmp 0x6896
movq -0x18(%rbp), %rax
movl -0x50(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x3b92f(%rip), %rsi     # 0x42101
callq 0x5610
cmpl $0x0, %eax
jne 0x67f2
movq -0x158(%rbp), %rax
movl $0x2, 0xbc(%rax)
jmp 0x6894
movq -0x18(%rbp), %rax
movl -0x50(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x3b8fa(%rip), %rsi     # 0x42104
callq 0x5610
cmpl $0x0, %eax
jne 0x6827
movq -0x158(%rbp), %rax
movl $0x3, 0xbc(%rax)
jmp 0x6892
movq 0x5878a(%rip), %rdi     # 0x5efb8
leaq 0x3b8d7(%rip), %rsi     # 0x4210c
callq 0x5420
movq %rax, -0x1b8(%rbp)
jmp 0x6843
movq -0x1b8(%rbp), %rdi
movq -0x18(%rbp), %rax
movslq -0x50(%rbp), %rcx
movq 0x8(%rax,%rcx,8), %rsi
callq 0x5420
movq %rax, -0x1c0(%rbp)
jmp 0x6865
movq -0x1c0(%rbp), %rdi
movq 0x5871d(%rip), %rsi     # 0x5ef90
callq 0x5460
jmp 0x687a
movq -0x158(%rbp), %rdi
callq 0x6f50
jmp 0x6888
movl $0x1, %edi
callq 0x54f0
jmp 0x6894
jmp 0x6896
jmp 0x6e52
movq -0x18(%rbp), %rax
movslq -0x50(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x3b86d(%rip), %rsi     # 0x4211b
callq 0x5610
cmpl $0x0, %eax
jne 0x68e2
movq -0x18(%rbp), %rax
movl -0x50(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
callq 0x5680
movl %eax, %ecx
movq -0x158(%rbp), %rax
movl %ecx, 0xc4(%rax)
jmp 0x6e50
movq -0x18(%rbp), %rax
movslq -0x50(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x3b82e(%rip), %rsi     # 0x42123
callq 0x5610
cmpl $0x0, %eax
jne 0x6929
movq -0x18(%rbp), %rax
movl -0x50(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
callq 0x5680
movl %eax, %ecx
movq -0x158(%rbp), %rax
movl %ecx, 0xc8(%rax)
jmp 0x6e4e
movq -0x18(%rbp), %rax
movslq -0x50(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x3b7f3(%rip), %rsi     # 0x4212f
callq 0x5610
cmpl $0x0, %eax
jne 0x6970
movq -0x18(%rbp), %rax
movl -0x50(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
callq 0x5680
movl %eax, %ecx
movq -0x158(%rbp), %rax
movl %ecx, 0xcc(%rax)
jmp 0x6e4c
movq -0x18(%rbp), %rax
movslq -0x50(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x3b7b2(%rip), %rsi     # 0x42135
callq 0x5610
cmpl $0x0, %eax
jne 0x69b7
movq -0x18(%rbp), %rax
movl -0x50(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
callq 0x5680
movl %eax, %ecx
movq -0x158(%rbp), %rax
movl %ecx, 0xd0(%rax)
jmp 0x6e4a
movq -0x18(%rbp), %rax
movslq -0x50(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x3b771(%rip), %rsi     # 0x4213b
callq 0x5610
cmpl $0x0, %eax
jne 0x69fe
movq -0x18(%rbp), %rax
movl -0x50(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
callq 0x5680
movl %eax, %ecx
movq -0x158(%rbp), %rax
movl %ecx, 0xd4(%rax)
jmp 0x6e48
movq -0x18(%rbp), %rax
movslq -0x50(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x3b732(%rip), %rsi     # 0x42143
callq 0x5610
cmpl $0x0, %eax
jne 0x6a45
movq -0x18(%rbp), %rax
movl -0x50(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
callq 0x5520
movq -0x158(%rbp), %rax
movsd %xmm0, 0xd8(%rax)
jmp 0x6e46
movq -0x18(%rbp), %rax
movslq -0x50(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x3b6ee(%rip), %rsi     # 0x42146
callq 0x5610
cmpl $0x0, %eax
jne 0x6afd
movq -0x18(%rbp), %rax
movslq -0x50(%rbp), %rcx
movq 0x8(%rax,%rcx,8), %rax
movq %rax, -0x1d0(%rbp)
leaq -0x111(%rbp), %rdi
movq %rdi, -0x1c8(%rbp)
callq 0x57b0
movq -0x1d0(%rbp), %rsi
movq -0x1c8(%rbp), %rdx
leaq -0x110(%rbp), %rdi
callq 0x7c10
jmp 0x6aa9
movq -0x158(%rbp), %rdi
addq $0xe0, %rdi
leaq -0x110(%rbp), %rsi
callq 0x5500
leaq -0x110(%rbp), %rdi
callq 0x58d8
leaq -0x111(%rbp), %rdi
callq 0x5480
jmp 0x6e44
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0x111(%rbp), %rdi
callq 0x5480
jmp 0x6f34
movq -0x18(%rbp), %rax
movslq -0x50(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x3b63d(%rip), %rsi     # 0x4214d
callq 0x5610
cmpl $0x0, %eax
jne 0x6b44
movq -0x18(%rbp), %rax
movl -0x50(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
callq 0x5680
movl %eax, %ecx
movq -0x158(%rbp), %rax
movl %ecx, 0x100(%rax)
jmp 0x6e42
movq -0x18(%rbp), %rax
movslq -0x50(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x3b5ff(%rip), %rsi     # 0x42156
callq 0x5610
cmpl $0x0, %eax
jne 0x6b8b
movq -0x18(%rbp), %rax
movl -0x50(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
callq 0x5680
movl %eax, %ecx
movq -0x158(%rbp), %rax
movl %ecx, 0xa4(%rax)
jmp 0x6e40
movq -0x18(%rbp), %rax
movslq -0x50(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x3b5c6(%rip), %rsi     # 0x42164
callq 0x5610
cmpl $0x0, %eax
jne 0x6c43
movq -0x18(%rbp), %rax
movslq -0x50(%rbp), %rcx
movq 0x8(%rax,%rcx,8), %rax
movq %rax, -0x1e0(%rbp)
leaq -0x139(%rbp), %rdi
movq %rdi, -0x1d8(%rbp)
callq 0x57b0
movq -0x1e0(%rbp), %rsi
movq -0x1d8(%rbp), %rdx
leaq -0x138(%rbp), %rdi
callq 0x7c10
jmp 0x6bef
movq -0x158(%rbp), %rdi
addq $0x108, %rdi            # imm = 0x108
leaq -0x138(%rbp), %rsi
callq 0x5500
leaq -0x138(%rbp), %rdi
callq 0x58d8
leaq -0x139(%rbp), %rdi
callq 0x5480
jmp 0x6e3e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0x139(%rbp), %rdi
callq 0x5480
jmp 0x6f34
movq -0x18(%rbp), %rax
movslq -0x50(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x3b521(%rip), %rsi     # 0x42177
callq 0x5610
cmpl $0x0, %eax
jne 0x6c8a
movq -0x18(%rbp), %rax
movl -0x50(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
callq 0x5680
movl %eax, %ecx
movq -0x158(%rbp), %rax
movl %ecx, 0x128(%rax)
jmp 0x6e3c
movq -0x18(%rbp), %rax
movslq -0x50(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x3b4e6(%rip), %rsi     # 0x42183
callq 0x5610
cmpl $0x0, %eax
jne 0x6cc3
movq -0x158(%rbp), %rax
movb $0x1, 0x12e(%rax)
movl -0x50(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x50(%rbp)
jmp 0x6e3a
movq -0x18(%rbp), %rax
movslq -0x50(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x3b4b4(%rip), %rsi     # 0x4218a
callq 0x5610
cmpl $0x0, %eax
jne 0x6cfc
movq -0x158(%rbp), %rax
movb $0x1, 0x12d(%rax)
movl -0x50(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x50(%rbp)
jmp 0x6e38
movq -0x18(%rbp), %rax
movslq -0x50(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x3b484(%rip), %rsi     # 0x42193
callq 0x5610
cmpl $0x0, %eax
jne 0x6d35
movq -0x158(%rbp), %rax
movb $0x1, 0x12c(%rax)
movl -0x50(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x50(%rbp)
jmp 0x6e36
movq -0x18(%rbp), %rax
movslq -0x50(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x3b451(%rip), %rsi     # 0x42199
callq 0x5610
cmpl $0x0, %eax
jne 0x6d80
movq -0x18(%rbp), %rax
movl -0x50(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
callq 0x5680
movl %eax, %ecx
movq -0x158(%rbp), %rax
movslq %ecx, %rcx
movq %rcx, 0x130(%rax)
jmp 0x6e34
movq -0x18(%rbp), %rax
movslq -0x50(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x3b40e(%rip), %rsi     # 0x421a1
callq 0x5610
cmpl $0x0, %eax
jne 0x6dc8
movq -0x18(%rbp), %rax
movl -0x50(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rdi
callq 0x5680
movl %eax, %ecx
movq -0x158(%rbp), %rax
movslq %ecx, %rcx
movq %rcx, 0x138(%rax)
jmp 0x6e32
movq 0x581e9(%rip), %rdi     # 0x5efb8
leaq 0x3b3d1(%rip), %rsi     # 0x421a7
callq 0x5420
movq %rax, -0x1e8(%rbp)
jmp 0x6de4
movq -0x1e8(%rbp), %rdi
movq -0x18(%rbp), %rax
movslq -0x50(%rbp), %rcx
movq (%rax,%rcx,8), %rsi
callq 0x5420
movq %rax, -0x1f0(%rbp)
jmp 0x6e05
movq -0x1f0(%rbp), %rdi
movq 0x5817d(%rip), %rsi     # 0x5ef90
callq 0x5460
jmp 0x6e1a
movq -0x158(%rbp), %rdi
callq 0x6f50
jmp 0x6e28
movl $0x1, %edi
callq 0x54f0
jmp 0x6e34
jmp 0x6e36
jmp 0x6e38
jmp 0x6e3a
jmp 0x6e3c
jmp 0x6e3e
jmp 0x6e40
jmp 0x6e42
jmp 0x6e44
jmp 0x6e46
jmp 0x6e48
jmp 0x6e4a
jmp 0x6e4c
jmp 0x6e4e
jmp 0x6e50
jmp 0x6e52
jmp 0x6e54
jmp 0x6e56
jmp 0x6e58
jmp 0x6e5a
jmp 0x6e5c
jmp 0x6e5e
jmp 0x6e60
jmp 0x6e62
jmp 0x6e64
jmp 0x6e66
jmp 0x6e68
jmp 0x6e6a
jmp 0x6e6c
jmp 0x6e6e
jmp 0x6e70
jmp 0x6e72
jmp 0x6e74
movl -0x50(%rbp), %eax
addl $0x2, %eax
movl %eax, -0x50(%rbp)
jmp 0x606a
movq -0x158(%rbp), %rdi
callq 0x5710
testb $0x1, %al
jne 0x6ea8
movq -0x158(%rbp), %rdi
addq $0x40, %rdi
callq 0x5710
testb $0x1, %al
jne 0x6ea8
jmp 0x6ef1
movq 0x58109(%rip), %rdi     # 0x5efb8
leaq 0x3b304(%rip), %rsi     # 0x421ba
callq 0x5420
movq %rax, -0x1f8(%rbp)
jmp 0x6ec4
movq -0x1f8(%rbp), %rdi
movq 0x580be(%rip), %rsi     # 0x5ef90
callq 0x5460
jmp 0x6ed9
movq -0x158(%rbp), %rdi
callq 0x6f50
jmp 0x6ee7
movl $0x1, %edi
callq 0x54f0
movq -0x158(%rbp), %rax
cmpl $0x1, 0xb4(%rax)
jg 0x6f22
movq -0x158(%rbp), %rax
cmpl $0x0, 0xd0(%rax)
jne 0x6f22
movq -0x158(%rbp), %rax
movl $0x0, 0xc4(%rax)
leaq -0x38(%rbp), %rdi
callq 0x58d8
addq $0x200, %rsp            # imm = 0x200
popq %rbp
retq
leaq -0x38(%rbp), %rdi
callq 0x58d8
movq -0x48(%rbp), %rdi
callq 0x57a0
nopw %cs:(%rax,%rax)