// File: /workspace/github_cpp_makefile_star2_O3/Luthaf[P]zeopp/./zeojobs.h
// Function: zeoJob::setup(std::vector<std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>>, std::allocator<std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>>>>, char const*, char const*)
bool setup(std::vector< std::vector<std::string> > commands_string, const char *name_string, const char*extension_string)
   {
   commands = commands_string;
   strcpy(name, name_string);
   strcpy(extension, extension_string);

   /* Initial setup */
   bool error = false;
   int numCommands = commands.size();

   /* Display welcome message */
   cout << "Entering new Zeo++ execution route. Input parameters are:\n";
   for(unsigned int i=0;i<commands.size();i++)
     for(unsigned int j=0;j<commands[i].size();j++)
       cout << commands[i][j] << " ";
   cout << name << "   " << extension << "\n";
   /* Ends display message */


   /* Pre-process the argument list:
    * Search for commands that affect Voronoi decomposition beforehand */  
   for(int i = 0; i < numCommands; i++){
     vector<string> command = commands[i];
     if(command[0].compare("-r") == 0){
       processRadialParameters(command);
       Material.radial = true;
     }
     else if(command[0].compare("-nor") == 0){
       //Material.radial = false;
       cerr << "-nor is disabled. Set radii to zero instead.\n";
     }
     else if(command[0].compare("-mass") == 0){
       processMassParameters(command);
       Material.useMass = true;
     }
     else if(command[0].compare("-nomass") == 0){
       Material.useMass = false;
     }
     else if(commands[i][0].compare("-zvis") == 0){
       Material.outputZvis = true;
     }
     else if(commands[i][0].compare("-sa") == 0 || commands[i][0].compare("-vol") == 0){
       Material.buildBasicCells = true;
       if(commands[i][0].compare("-vol") == 0) volumeRunFlag = true;
     }
     else if(commands[i][0].compare("-noha") == 0){
       Material.highAccuracy = false;
     }
     else if(commands[i][0].compare("-ha") == 0){
       Material.AccSetting = processAccuracyParameters(command);
       Material.highAccuracy = true;
     }
     else if(commands[i][0].compare("-ext") == 0 || commands[i][0].compare("-eo") == 0 || commands[i][0].compare("-extendedOutput") == 0){
       extendedOutputFlag = true;
     }
     else if(commands[i][0].compare("-vo") == 0 || commands[i][0].compare("-visual") == 0 || commands[i][0].compare("-visout") == 0){
       Material.VisSetting = processVisualizationParameters(command);
       Material.VisFlag = true;
     }
     else if(commands[i][0].compare("-block") == 0){
       Material.AVrequestBlockingPockets = true; 
     }
     else if(commands[i][0].compare("-psd") == 0){
       Material.AVrequestPSD = true;
     }
     else if(commands[i][0].compare("-allowAdjustCoordsAndCell") == 0){
       Material.allowAdjustCoordsAndCell = true;
       Material.atmnet.allowAdjustCoordsAndCellFlag = Material.allowAdjustCoordsAndCell;
       Material.orgAtomnet.allowAdjustCoordsAndCellFlag = Material.allowAdjustCoordsAndCell;
     }
     else if(commands[i][0].compare("-probe") == 0){
       probeRadius = strtod(commands[i][1].data(), NULL);
       probeRadiusFlag = true;
     }
     else if(commands[i][0].compare("-sqf") == 0){
       nMCsamplesScaleFactor = strtod(commands[i][1].data(), NULL);
       nMCsamplesScaleFactorFlag = true;
       nMCAVsampleDensity = (int)(nMCAVsampleDensity * nMCsamplesScaleFactor); 
       nMCASAsampleDensity = (int)(nMCASAsampleDensity * nMCsamplesScaleFactor);
       if(nMCAVsampleDensity < 1 || nMCASAsampleDensity < 1)
         {
         error = true;
         cerr << "Density of MC samples below 1. Please use larger value with -sqf argument. Current density for AV = " 
              << nMCAVsampleDensity << " and ASA = " << nMCASAsampleDensity <<".\n";
         };
     }
   }; // ends loop over all commands 

   /* Pre-process the argument list to make sure all arguemtns are specified */
   if(probeRadiusFlag == false){
     for(int i = 0; i < numCommands; i++){
       vector<string> command = commands[i];
       if(command[0].compare("-zvor") == 0 ||
          command[0].compare("-axs") == 0 ||
          command[0].compare("-holo") == 0 ||
          command[0].compare("-chan") == 0 ||
          command[0].compare("-zchan") == 0 ||
          command[0].compare("-poreinfo") == 0 ||
          command[0].compare("-test") == 0 ||
          command[0].compare("-vol") == 0 ||
          command[0].compare("-sa") == 0 ||
          command[0].compare("-visVoro") == 0 || 
          command[0].compare("-pld") == 0 ||
          command[0].compare("-pldf") == 0||
          command[0].compare("-pldmol") == 0)
       {
       error = true;
       cerr << command[0] << " option requires probe radius. Please use \"-probe R\" (where R is radius)\n";
       }
     }
   }

   /* Pre-process the arugment list to make sure all run dependiences are fulfilled */
   if(volumeRunFlag == false){
     for(int i = 0; i < numCommands; i++){
       vector<string> command = commands[i];
       if(command[0].compare("-block") == 0 || command[0].compare("-psd") == 0)
         {
         error = true;
         cerr << command[0] << " option depends on accessible volume calculation. Please add \"-vol nS\" (where nS is the number of MC samples per cubic Ang).\n";
         };
     };
   }   

   /* Load structure */
   //Read input file information into the ATOM_NETWORK
   if(error == false){
   char filename[256];
   strcpy(filename,name); strcat(filename,"."); strcat(filename,extension);
   cout << filename << endl;
   if(strcmp(extension, "cuc") == 0){
     if(!readCUCFile(filename, &(Material.atmnet), Material.radial)) error=true;
   }
   else if(strcmp(extension, "arc") == 0){
     if(!readARCFile(filename, &(Material.atmnet), Material.radial)) error=true;
   }
   else if(strcmp(extension, "cssr") == 0){
     if(!readCSSRFile(filename, &(Material.atmnet), Material.radial)) error=true;
   }
   else if(strcmp(extension, "cif") == 0){
     if(!readCIFFile(filename, &(Material.atmnet), Material.radial)) error=true;
   }
   else if(strcmp(extension, "car") == 0){
     if(!readCARFile(filename, &(Material.atmnet), Material.radial)) error=true;
   }
   else if (strcmp(extension, "v1") == 0){
     if(!readV1File(filename, &(Material.atmnet), Material.radial)) error=true;
   }
   else if(strcmp(extension, "pdb") == 0){
     if(!readPDBFile(filename, &(Material.atmnet), Material.radial)) error=true;
   }
   else if (strcmp(extension, "dlp") == 0){
     if(!readDLPFile(filename, &(Material.atmnet), Material.radial)) error=true;
   }
   //Should never be reached because of checkInputFile()
   else{
     cerr << "Invalid input file extension " << extension << "\n"
          << "Exiting ..." << "\n";
     error = true;
   };
   };

   /* Initialize radii, mass and accuracy setting */
   if(!error) {

     // Read radii after reading atoms if -r  requested
     if(Material.radial)
       loadRadii(&(Material.atmnet));

     loadMass(Material.useMass, &(Material.atmnet)); // assigns masses to atoms (assigns 0s in useMass flag = false)

     // High accuracy options - if the system contains particles of different radii, the employed radical
     // Voronoi decomposition may not be accurate. it can be, however, improved if large particles are 
     // replaced by clusters of smaller one (idea taken from Carolyn Philiphs/Chris Rycroft). 
     Material.atmnet.copy(&(Material.orgAtomnet)); // keep a copy of original atomnet 
                                                   //(if high accuracy is not set, this is the same as analyzed network)
     if(Material.radial && Material.highAccuracy)
       {
       // atmnet.copy(&orgAtomnet); // keep a copy of original atomnet
       // calling the following function will modify atmnet - replace large atoms with clusters of small ones
       setupHighAccuracyAtomNetwork(&(Material.atmnet), Material.AccSetting);
       };
     // please note that orgAtomnet is empty unless highAccuracy flag is set !! 

   }; // ends if(!error)

   setupErrorFlag = error;
   return error;

   }

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x1d8, %rsp            # imm = 0x1D8
movq %rcx, %rbx
movq %rdx, %r14
movq %rdi, %r15
leaq 0x8(%rdi), %r12
movq %r12, %rdi
callq 0x120146
leaq 0x20(%r15), %rdi
movq %rdi, 0x38(%rsp)
movq %r14, %rsi
callq 0x43f0
leaq 0x120(%r15), %rdi
movq %rdi, 0x10(%rsp)
movq %rbx, %rsi
callq 0x43f0
movq 0x10(%r15), %rax
subq 0x8(%r15), %rax
sarq $0x3, %rax
movabsq $-0x5555555555555555, %rcx # imm = 0xAAAAAAAAAAAAAAAB
imulq %rcx, %rax
movq %rax, 0x18(%rsp)
movq 0x7b217(%rip), %rdi     # 0x194fc0
leaq 0x4399b(%rip), %rsi     # 0x15d74b
movl $0x3a, %edx
callq 0x44e0
movq 0x8(%r15), %rax
movq %r15, 0x8(%rsp)
movq 0x10(%r15), %rcx
cmpq %rax, %rcx
je 0x119e6d
xorl %r13d, %r13d
movq 0x7b1e6(%rip), %r14     # 0x194fc0
leaq 0x3b7f5(%rip), %r15     # 0x1555d6
leaq (,%r13,2), %rbp
addq %r13, %rbp
movq (%rax,%rbp,8), %rdx
cmpq %rdx, 0x8(%rax,%rbp,8)
je 0x119e49
movl $0x1, %ebx
xorl %ecx, %ecx
shlq $0x5, %rcx
movq (%rdx,%rcx), %rsi
movq 0x8(%rdx,%rcx), %rdx
movq %r14, %rdi
callq 0x44e0
movl $0x1, %edx
movq %rax, %rdi
movq %r15, %rsi
callq 0x44e0
movl %ebx, %ecx
movq (%r12), %rax
movq (%rax,%rbp,8), %rdx
movq 0x8(%rax,%rbp,8), %rsi
subq %rdx, %rsi
sarq $0x5, %rsi
incl %ebx
cmpq %rcx, %rsi
ja 0x119dfe
movq 0x8(%rsp), %rcx
movq 0x10(%rcx), %rcx
incl %r13d
movq %rcx, %rdx
subq %rax, %rdx
sarq $0x3, %rdx
movabsq $-0x5555555555555555, %rsi # imm = 0xAAAAAAAAAAAAAAAB
imulq %rsi, %rdx
cmpq %r13, %rdx
ja 0x119de1
movq 0x38(%rsp), %rbx
movq %rbx, %rdi
callq 0x41e0
movq 0x7b13f(%rip), %rbp     # 0x194fc0
movq %rbp, %rdi
movq %rbx, %rsi
movq %rax, %rdx
callq 0x44e0
leaq 0x33648(%rip), %rsi     # 0x14d4de
movl $0x3, %edx
movq %rbp, %rdi
callq 0x44e0
movq 0x10(%rsp), %rbx
movq %rbx, %rdi
callq 0x41e0
movq %rbp, %rdi
movq %rbx, %rsi
movq %rax, %rdx
callq 0x44e0
leaq 0x39759(%rip), %rsi     # 0x15361e
movl $0x1, %edx
movq %rbp, %rdi
callq 0x44e0
movq 0x18(%rsp), %r13
testl %r13d, %r13d
jle 0x11a712
movq 0x8(%rsp), %rcx
leaq 0xe38(%rcx), %rax
movq %rax, 0x40(%rsp)
leaq 0xbb8(%rcx), %rax
movq %rax, 0x48(%rsp)
andl $0x7fffffff, %r13d      # imm = 0x7FFFFFFF
xorl %r14d, %r14d
leaq 0x20(%rsp), %rbp
movq %r13, %rbx
xorl %r15d, %r15d
movq (%r12), %rsi
addq %r14, %rsi
movq %rbp, %rdi
callq 0x2f55e
movq 0x20(%rsp), %rdi
leaq 0x42c02(%rip), %rsi     # 0x15cb2f
callq 0x4170
testl %eax, %eax
je 0x11a217
movq 0x20(%rsp), %rdi
leaq 0x42bec(%rip), %rsi     # 0x15cb32
callq 0x4170
testl %eax, %eax
je 0x11a250
movq 0x20(%rsp), %rdi
leaq 0x42bd8(%rip), %rsi     # 0x15cb37
callq 0x4170
testl %eax, %eax
je 0x11a26a
movq 0x20(%rsp), %rdi
leaq 0x42bc5(%rip), %rsi     # 0x15cb3d
callq 0x4170
testl %eax, %eax
je 0x11a2a2
movq (%r12), %rax
movq (%rax,%r14), %rdi
leaq 0x42bb1(%rip), %rsi     # 0x15cb45
callq 0x4170
testl %eax, %eax
je 0x11a2dd
movq (%r12), %rax
movq (%rax,%r14), %rdi
leaq 0x42b9b(%rip), %rsi     # 0x15cb4b
callq 0x4170
testl %eax, %eax
je 0x11a2b0
movq (%r12), %rax
movq (%rax,%r14), %rdi
leaq 0x42b83(%rip), %rsi     # 0x15cb4f
callq 0x4170
testl %eax, %eax
je 0x11a2b0
movq (%r12), %rax
movq (%rax,%r14), %rdi
leaq 0x437cc(%rip), %rsi     # 0x15d7b4
callq 0x4170
testl %eax, %eax
je 0x11a308
movq (%r12), %rax
movq (%rax,%r14), %rdi
leaq 0x42b50(%rip), %rsi     # 0x15cb54
callq 0x4170
testl %eax, %eax
je 0x11a324
movq (%r12), %rax
movq (%rax,%r14), %rdi
leaq 0x4379a(%rip), %rsi     # 0x15d7ba
callq 0x4170
testl %eax, %eax
je 0x11a316
movq (%r12), %rax
movq (%rax,%r14), %rdi
leaq 0x43783(%rip), %rsi     # 0x15d7bf
callq 0x4170
testl %eax, %eax
je 0x11a316
movq (%r12), %rax
movq (%rax,%r14), %rdi
leaq 0x4376b(%rip), %rsi     # 0x15d7c3
callq 0x4170
testl %eax, %eax
je 0x11a316
movq (%r12), %rax
movq (%rax,%r14), %rdi
leaq 0x4375f(%rip), %rsi     # 0x15d7d3
callq 0x4170
testl %eax, %eax
je 0x11a39e
movq (%r12), %rax
movq (%rax,%r14), %rdi
leaq 0x43747(%rip), %rsi     # 0x15d7d7
callq 0x4170
testl %eax, %eax
je 0x11a39e
movq (%r12), %rax
movq (%rax,%r14), %rdi
leaq 0x43733(%rip), %rsi     # 0x15d7df
callq 0x4170
testl %eax, %eax
je 0x11a39e
movq (%r12), %rax
movq (%rax,%r14), %rdi
leaq 0x42f68(%rip), %rsi     # 0x15d030
callq 0x4170
testl %eax, %eax
je 0x11a40f
movq (%r12), %rax
movq (%rax,%r14), %rdi
leaq 0x43068(%rip), %rsi     # 0x15d14c
callq 0x4170
testl %eax, %eax
je 0x11a420
movq (%r12), %rax
movq (%rax,%r14), %rdi
leaq 0x42aa0(%rip), %rsi     # 0x15cba0
callq 0x4170
testl %eax, %eax
je 0x11a431
movq (%r12), %rax
movq (%rax,%r14), %rdi
leaq 0x436cb(%rip), %rsi     # 0x15d7e7
callq 0x4170
movq (%r12), %rcx
movq (%rcx,%r14), %rdi
testl %eax, %eax
je 0x11a44f
leaq 0x436b6(%rip), %rsi     # 0x15d7ee
callq 0x4170
testl %eax, %eax
jne 0x11a2e9
movq 0x8(%rsp), %rbp
movq 0x8(%rbp), %rax
movq (%rax,%r14), %rax
movq 0x20(%rax), %rdi
xorl %esi, %esi
callq 0x4330
movsd %xmm0, 0x230(%rbp)
movb $0x1, 0x238(%rbp)
cvtdq2pd 0x23c(%rbp), %xmm1
unpcklpd %xmm0, %xmm0            # xmm0 = xmm0[0,0]
mulpd %xmm1, %xmm0
cvttpd2dq %xmm0, %xmm0
movlpd %xmm0, 0x23c(%rbp)
pshufd $0x50, %xmm0, %xmm0     # xmm0 = xmm0[0,0,1,1]
pcmpgtd 0x32f1b(%rip), %xmm0    # 0x14d0b0
movmskpd %xmm0, %eax
xorl $0x3, %eax
je 0x11a2e9
movl $0x64, %edx
movq 0x7ae42(%rip), %rdi     # 0x194ff0
leaq 0x4363e(%rip), %rsi     # 0x15d7f3
callq 0x44e0
movq 0x8(%rsp), %rax
movl 0x23c(%rax), %esi
movq 0x7ae24(%rip), %rdi     # 0x194ff0
callq 0x4750
movq %rax, %r15
movl $0xb, %edx
movq %rax, %rdi
leaq 0x43675(%rip), %rsi     # 0x15d858
callq 0x44e0
movq 0x8(%rsp), %rax
movl 0x240(%rax), %esi
movq %r15, %rdi
callq 0x4750
movb $0x1, %r15b
movl $0x2, %edx
movq %rax, %rdi
leaq 0x43735(%rip), %rsi     # 0x15d942
callq 0x44e0
jmp 0x11a2e9
leaq 0x1c0(%rsp), %rdi
movq %rbp, %rsi
callq 0x2f55e
leaq 0x1c0(%rsp), %rbp
movq %rbp, %rdi
callq 0x10972d
movq %rbp, %rdi
callq 0x2f4c2
movq 0x8(%rsp), %rax
movb $0x1, 0xbb0(%rax)
jmp 0x11a2e9
movl $0x2d, %edx
movq 0x7ad94(%rip), %rdi     # 0x194ff0
leaq 0x43523(%rip), %rsi     # 0x15d786
callq 0x44e0
jmp 0x11a2e9
leaq 0x1a8(%rsp), %rdi
leaq 0x20(%rsp), %rsi
callq 0x2f55e
leaq 0x1a8(%rsp), %rbp
movq %rbp, %rdi
callq 0x109833
movq %rbp, %rdi
callq 0x2f4c2
movq 0x8(%rsp), %rax
movb $0x1, 0xbb3(%rax)
jmp 0x11a2e9
movq 0x8(%rsp), %rax
movb $0x0, 0xbb3(%rax)
jmp 0x11a2e9
movq 0x8(%rsp), %rbp
movb $0x1, 0xbb2(%rbp)
movq 0x8(%rbp), %rax
movq (%rax,%r14), %rdi
leaq 0x42884(%rip), %rsi     # 0x15cb4f
callq 0x4170
testl %eax, %eax
jne 0x11a2e9
movb $0x1, 0x229(%rbp)
jmp 0x11a2e9
movq 0x8(%rsp), %rax
movb $0x1, 0xbb1(%rax)
leaq 0x20(%rsp), %rbp
movq %rbp, %rdi
callq 0x2f4c2
addq $0x18, %r14
decq %rbx
jne 0x119f12
jmp 0x11a473
movq 0x8(%rsp), %rax
movb $0x0, 0xbb5(%rax)
jmp 0x11a2e9
movq 0x8(%rsp), %rax
movb $0x1, 0x244(%rax)
jmp 0x11a2e9
leaq 0x88(%rsp), %rdi
leaq 0x20(%rsp), %rsi
callq 0x2f55e
leaq 0xa0(%rsp), %rbp
movq %rbp, %rdi
leaq 0x88(%rsp), %rsi
callq 0x1098fb
movq 0x48(%rsp), %rdi
movq %rbp, %rsi
callq 0x4540
movq 0xa0(%rsp), %rdi
leaq 0xb0(%rsp), %rax
cmpq %rax, %rdi
je 0x11a380
movq 0xb0(%rsp), %rsi
incq %rsi
callq 0x4470
leaq 0x88(%rsp), %rdi
callq 0x2f4c2
movq 0x8(%rsp), %rax
movb $0x1, 0xbb5(%rax)
jmp 0x11a2e9
leaq 0x70(%rsp), %rdi
leaq 0x20(%rsp), %rsi
callq 0x2f55e
leaq 0xa0(%rsp), %rbp
movq %rbp, %rdi
leaq 0x70(%rsp), %rsi
callq 0x109d4e
movq 0x40(%rsp), %rdi
movq %rbp, %rsi
callq 0x4540
movq 0xa0(%rsp), %rdi
leaq 0xb0(%rsp), %rax
cmpq %rax, %rdi
je 0x11a3f4
movq 0xb0(%rsp), %rsi
incq %rsi
callq 0x4470
leaq 0x70(%rsp), %rdi
callq 0x2f4c2
movq 0x8(%rsp), %rax
movb $0x1, 0xe30(%rax)
jmp 0x11a2e9
movq 0x8(%rsp), %rax
movb $0x1, 0xf80(%rax)
jmp 0x11a2e9
movq 0x8(%rsp), %rax
movb $0x1, 0xf81(%rax)
jmp 0x11a2e9
movq 0x8(%rsp), %rax
movb $0x1, %cl
movb %cl, 0xbb4(%rax)
movb %cl, 0x248(%rax)
movb %cl, 0x6a8(%rax)
jmp 0x11a2e9
movq 0x20(%rdi), %rdi
xorl %esi, %esi
callq 0x4330
movq 0x8(%rsp), %rax
movsd %xmm0, 0x220(%rax)
movb $0x1, 0x228(%rax)
jmp 0x11a2e9
movq 0x8(%rsp), %rax
cmpb $0x0, 0x228(%rax)
jne 0x11a647
cmpl $0x0, 0x18(%rsp)
jle 0x11a647
xorl %ebx, %ebx
leaq 0xa0(%rsp), %r14
leaq 0x42867(%rip), %rbp     # 0x15cd08
movq (%r12), %rsi
addq %rbx, %rsi
movq %r14, %rdi
callq 0x2f55e
movq 0xa0(%rsp), %rdi
movq %rbp, %rsi
callq 0x4170
testl %eax, %eax
je 0x11a600
movq 0xa0(%rsp), %rdi
leaq 0x4283d(%rip), %rsi     # 0x15cd14
callq 0x4170
testl %eax, %eax
je 0x11a600
movq 0xa0(%rsp), %rdi
leaq 0x42831(%rip), %rsi     # 0x15cd24
callq 0x4170
testl %eax, %eax
je 0x11a600
movq 0xa0(%rsp), %rdi
leaq 0x4289e(%rip), %rsi     # 0x15cdad
callq 0x4170
testl %eax, %eax
je 0x11a600
movq 0xa0(%rsp), %rdi
leaq 0x428ff(%rip), %rsi     # 0x15ce2a
callq 0x4170
testl %eax, %eax
je 0x11a600
movq 0xa0(%rsp), %rdi
leaq 0x428f1(%rip), %rsi     # 0x15ce38
callq 0x4170
testl %eax, %eax
je 0x11a600
movq 0xa0(%rsp), %rdi
leaq 0x43301(%rip), %rsi     # 0x15d864
callq 0x4170
testl %eax, %eax
je 0x11a600
movq 0xa0(%rsp), %rdi
leaq 0x425d0(%rip), %rsi     # 0x15cb4f
callq 0x4170
testl %eax, %eax
je 0x11a600
movq 0xa0(%rsp), %rdi
leaq 0x425b4(%rip), %rsi     # 0x15cb4b
callq 0x4170
testl %eax, %eax
je 0x11a600
movq 0xa0(%rsp), %rdi
leaq 0x42e22(%rip), %rsi     # 0x15d3d1
callq 0x4170
testl %eax, %eax
je 0x11a600
movq 0xa0(%rsp), %rdi
leaq 0x432a3(%rip), %rsi     # 0x15d86a
callq 0x4170
testl %eax, %eax
je 0x11a600
movq 0xa0(%rsp), %rdi
leaq 0x43290(%rip), %rsi     # 0x15d86f
callq 0x4170
testl %eax, %eax
je 0x11a600
movq 0xa0(%rsp), %rdi
leaq 0x4327e(%rip), %rsi     # 0x15d875
callq 0x4170
testl %eax, %eax
jne 0x11a632
movq 0xa0(%rsp), %rax
movq (%rax), %rsi
movq 0x8(%rax), %rdx
movq 0x7a9da(%rip), %rdi     # 0x194ff0
callq 0x44e0
movb $0x1, %r15b
movl $0x49, %edx
movq %rax, %rdi
leaq 0x43250(%rip), %rsi     # 0x15d87d
callq 0x44e0
movq %r14, %rdi
callq 0x2f4c2
addq $0x18, %rbx
decq %r13
jne 0x11a4a1
movq 0x8(%rsp), %rax
cmpb $0x0, 0x229(%rax)
jne 0x11a6fb
movq 0x18(%rsp), %rbp
testl %ebp, %ebp
jle 0x11a6fb
andl $0x7fffffff, %ebp       # imm = 0x7FFFFFFF
xorl %ebx, %ebx
leaq 0xa0(%rsp), %r14
leaq 0x429b3(%rip), %r13     # 0x15d030
movq (%r12), %rsi
addq %rbx, %rsi
movq %r14, %rdi
callq 0x2f55e
movq 0xa0(%rsp), %rdi
movq %r13, %rsi
callq 0x4170
testl %eax, %eax
je 0x11a6b8
movq 0xa0(%rsp), %rdi
leaq 0x42a9d(%rip), %rsi     # 0x15d14c
callq 0x4170
testl %eax, %eax
jne 0x11a6ea
movq 0xa0(%rsp), %rax
movq (%rax), %rsi
movq 0x8(%rax), %rdx
movq 0x7a922(%rip), %rdi     # 0x194ff0
callq 0x44e0
movb $0x1, %r15b
movl $0x7d, %edx
movq %rax, %rdi
leaq 0x431e2(%rip), %rsi     # 0x15d8c7
callq 0x44e0
movq %r14, %rdi
callq 0x2f4c2
addq $0x18, %rbx
decq %rbp
jne 0x11a67d
testb $0x1, %r15b
movq 0x8(%rsp), %r13
movq 0x7a8b5(%rip), %rbp     # 0x194fc0
je 0x11a71a
jmp 0x11a8f8
xorl %r15d, %r15d
movq 0x8(%rsp), %r13
leaq 0xa0(%rsp), %rbx
movq %rbx, %rdi
movq 0x38(%rsp), %rsi
callq 0x43f0
movq %rbx, %rdi
callq 0x41e0
movw $0x2e, 0xa0(%rsp,%rax)
movq %rbx, %rdi
movq 0x10(%rsp), %r14
movq %r14, %rsi
callq 0x4790
movq %rbx, %rdi
callq 0x41e0
movq %rbp, %rdi
movq %rbx, %rsi
movq %rax, %rdx
callq 0x44e0
movq (%rbp), %rax
movq -0x18(%rax), %rdi
addq %rbp, %rdi
movl $0xa, %esi
callq 0x4420
movsbl %al, %esi
movq %rbp, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x42c0
movl (%r14), %eax
cmpl $0x637261, %eax         # imm = 0x637261
je 0x11a7c1
cmpl $0x637563, %eax         # imm = 0x637563
jne 0x11a7e2
leaq 0x248(%r13), %rsi
movzbl 0xbb0(%r13), %edx
leaq 0xa0(%rsp), %rdi
callq 0x26677
jmp 0x11a8e8
leaq 0x248(%r13), %rsi
movzbl 0xbb0(%r13), %edx
leaq 0xa0(%rsp), %rdi
callq 0x25bdf
jmp 0x11a8e8
movl $0x72737363, %ecx       # imm = 0x72737363
movq 0x10(%rsp), %rdx
xorl (%rdx), %ecx
movzbl 0x4(%rdx), %edx
orl %ecx, %edx
je 0x11a825
cmpl $0x726163, %eax         # imm = 0x726163
je 0x11a846
cmpl $0x666963, %eax         # imm = 0x666963
jne 0x11a867
leaq 0x248(%r13), %rsi
movzbl 0xbb0(%r13), %edx
leaq 0xa0(%rsp), %rdi
callq 0x2344a
jmp 0x11a8e8
leaq 0x248(%r13), %rsi
movzbl 0xbb0(%r13), %edx
leaq 0xa0(%rsp), %rdi
callq 0x26d29
jmp 0x11a8e8
leaq 0x248(%r13), %rsi
movzbl 0xbb0(%r13), %edx
leaq 0xa0(%rsp), %rdi
callq 0x28571
jmp 0x11a8e8
movq 0x10(%rsp), %rdx
movzwl (%rdx), %ecx
xorl $0x3176, %ecx           # imm = 0x3176
movzbl 0x2(%rdx), %edx
orw %cx, %dx
je 0x11a8ae
cmpl $0x706c64, %eax         # imm = 0x706C64
je 0x11a8cc
cmpl $0x626470, %eax         # imm = 0x626470
jne 0x11a9b5
leaq 0x248(%r13), %rsi
movzbl 0xbb0(%r13), %edx
leaq 0xa0(%rsp), %rdi
callq 0x28ea6
jmp 0x11a8e8
leaq 0x248(%r13), %rsi
movzbl 0xbb0(%r13), %edx
leaq 0xa0(%rsp), %rdi
callq 0x29688
jmp 0x11a8e8
leaq 0x248(%r13), %rsi
movzbl 0xbb0(%r13), %edx
leaq 0xa0(%rsp), %rdi
callq 0x29df1
movzbl %r15b, %ecx
testb %al, %al
movl $0x1, %r15d
cmovnel %ecx, %r15d
testb $0x1, %r15b
jne 0x11a998
leaq 0x248(%r13), %rbx
cmpb $0x1, 0xbb0(%r13)
jne 0x11a91b
movq %rbx, %rdi
callq 0x97b6
movzbl 0xbb3(%r13), %edi
movq %rbx, %rsi
callq 0x9861
leaq 0x6a8(%r13), %rsi
movq %rbx, %rdi
callq 0x52620
cmpb $0x1, 0xbb0(%r13)
jne 0x11a998
cmpb $0x1, 0xbb5(%r13)
jne 0x11a998
leaq 0x60(%rsp), %r12
movq %r12, -0x10(%r12)
movq 0xbb8(%r13), %rsi
movq 0xbc0(%r13), %rdx
addq %rsi, %rdx
leaq 0x50(%rsp), %r14
movq %r14, %rdi
callq 0xf3ce
movq %rbx, %rdi
movq %r14, %rsi
callq 0x92beb
movq 0x50(%rsp), %rdi
cmpq %r12, %rdi
je 0x11a998
movq 0x60(%rsp), %rsi
incq %rsi
callq 0x4470
andb $0x1, %r15b
movb %r15b, (%r13)
movl %r15d, %eax
addq $0x1d8, %rsp            # imm = 0x1D8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq 0x7a634(%rip), %rbx     # 0x194ff0
leaq 0x421f7(%rip), %rsi     # 0x15cbba
movl $0x1d, %edx
movq %rbx, %rdi
callq 0x44e0
movq 0x10(%rsp), %r14
movq %r14, %rdi
callq 0x41e0
movq %rbx, %rdi
movq %r14, %rsi
movq %rax, %rdx
callq 0x44e0
leaq 0x38c2c(%rip), %r14     # 0x15361e
movl $0x1, %edx
movq %rbx, %rdi
movq %r14, %rsi
callq 0x44e0
leaq 0x331aa(%rip), %rsi     # 0x14dbb3
movl $0xb, %edx
movq %rbx, %rdi
callq 0x44e0
movl $0x1, %edx
movq %rbx, %rdi
movq %r14, %rsi
callq 0x44e0
movb $0x1, %r15b
jmp 0x11a8f8
movq %rax, %rbx
leaq 0x70(%rsp), %rdi
jmp 0x11aa7d
jmp 0x11aa86
movq %rax, %rbx
movq 0x50(%rsp), %rdi
cmpq %r12, %rdi
je 0x11aaa0
movq 0x60(%rsp), %rsi
incq %rsi
callq 0x4470
jmp 0x11aaa0
movq %rax, %rbx
leaq 0x88(%rsp), %rdi
jmp 0x11aa7d
jmp 0x11aa86
movq %rax, %rbx
leaq 0x1a8(%rsp), %rdi
jmp 0x11aa7d
movq %rax, %rbx
leaq 0x1c0(%rsp), %rdi
callq 0x2f4c2
jmp 0x11aa89
jmp 0x11aa90
movq %rax, %rbx
leaq 0x20(%rsp), %rdi
jmp 0x11aa9b
movq %rax, %rbx
leaq 0xa0(%rsp), %rdi
callq 0x2f4c2
movq %rbx, %rdi
callq 0x4780