// File: /workspace/github_cpp_makefile_star2_O1/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 0x121960
leaq 0x20(%r15), %rdi
movq %rdi, 0x38(%rsp)
movq %r14, %rsi
callq 0x43f0
leaq 0x120(%r15), %rdi
movq %rdi, 0x8(%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 0x7bbe9(%rip), %rdi     # 0x196fc0
leaq 0x444f0(%rip), %rsi     # 0x15f8ce
movl $0x3a, %edx
callq 0x44e0
movq 0x10(%r15), %rax
cmpq 0x8(%r15), %rax
movq %r15, 0x10(%rsp)
je 0x11b49b
xorl %ebp, %ebp
movq 0x7bbbc(%rip), %rbx     # 0x196fc0
leaq 0x3c07b(%rip), %r14     # 0x157486
movq (%r12), %rcx
leaq (,%rbp,2), %r13
addq %rbp, %r13
movq (%rcx,%r13,8), %rax
cmpq %rax, 0x8(%rcx,%r13,8)
je 0x11b471
movl $0x1, %r15d
xorl %ecx, %ecx
shlq $0x5, %rcx
movq (%rax,%rcx), %rsi
movq 0x8(%rax,%rcx), %rdx
movq %rbx, %rdi
callq 0x44e0
movl $0x1, %edx
movq %rax, %rdi
movq %r14, %rsi
callq 0x44e0
movl %r15d, %ecx
movq (%r12), %rdx
movq (%rdx,%r13,8), %rax
movq 0x8(%rdx,%r13,8), %rdx
subq %rax, %rdx
sarq $0x5, %rdx
incl %r15d
cmpq %rcx, %rdx
ja 0x11b42d
movq 0x10(%rsp), %r15
movq 0x10(%r15), %rax
subq 0x8(%r15), %rax
incl %ebp
sarq $0x3, %rax
movabsq $-0x5555555555555555, %rcx # imm = 0xAAAAAAAAAAAAAAAB
imulq %rcx, %rax
cmpq %rbp, %rax
ja 0x11b40b
movq 0x38(%rsp), %rbx
movq %rbx, %rdi
callq 0x41e0
movq 0x7bb11(%rip), %r14     # 0x196fc0
movq %r14, %rdi
movq %rbx, %rsi
movq %rax, %rdx
callq 0x44e0
leaq 0x33fca(%rip), %rsi     # 0x14f48e
movl $0x3, %edx
movq %r14, %rdi
callq 0x44e0
movq 0x8(%rsp), %rbx
movq %rbx, %rdi
callq 0x41e0
movq %r14, %rdi
movq %rbx, %rsi
movq %rax, %rdx
callq 0x44e0
leaq 0x3a03b(%rip), %rsi     # 0x15552e
movl $0x1, %edx
movq %r14, %rdi
callq 0x44e0
movq 0x18(%rsp), %r13
testl %r13d, %r13d
jle 0x11ba65
leaq 0xe38(%r15), %rax
movq %rax, 0x40(%rsp)
leaq 0xbb8(%r15), %rax
movq %rax, 0x48(%rsp)
andl $0x7fffffff, %r13d      # imm = 0x7FFFFFFF
xorl %r14d, %r14d
leaq 0x20(%rsp), %rbp
xorl %ebx, %ebx
movq (%r12), %rsi
addq %r14, %rsi
movq %rbp, %rdi
callq 0x2f78a
movq 0x20(%rsp), %rdi
leaq 0x43760(%rip), %rsi     # 0x15ecb2
callq 0x4170
testl %eax, %eax
je 0x11b839
movq 0x20(%rsp), %rdi
leaq 0x4374a(%rip), %rsi     # 0x15ecb5
callq 0x4170
testl %eax, %eax
je 0x11b86e
movq 0x20(%rsp), %rdi
leaq 0x43736(%rip), %rsi     # 0x15ecba
callq 0x4170
testl %eax, %eax
je 0x11b888
movq 0x20(%rsp), %rdi
leaq 0x43723(%rip), %rsi     # 0x15ecc0
callq 0x4170
testl %eax, %eax
je 0x11b8bc
movq (%r12), %rax
movq (%rax,%r14), %rdi
leaq 0x4370f(%rip), %rsi     # 0x15ecc8
callq 0x4170
testl %eax, %eax
je 0x11b8f0
movq (%r12), %rax
movq (%rax,%r14), %rdi
leaq 0x436f9(%rip), %rsi     # 0x15ecce
callq 0x4170
testl %eax, %eax
je 0x11b8c6
movq (%r12), %rax
movq (%rax,%r14), %rdi
leaq 0x436e1(%rip), %rsi     # 0x15ecd2
callq 0x4170
testl %eax, %eax
je 0x11b8c6
movq (%r12), %rax
movq (%rax,%r14), %rdi
leaq 0x4432a(%rip), %rsi     # 0x15f937
callq 0x4170
testl %eax, %eax
je 0x11b917
movq (%r12), %rax
movq (%rax,%r14), %rdi
leaq 0x436ae(%rip), %rsi     # 0x15ecd7
callq 0x4170
testl %eax, %eax
je 0x11b92b
movq (%r12), %rax
movq (%rax,%r14), %rdi
leaq 0x442f8(%rip), %rsi     # 0x15f93d
callq 0x4170
testl %eax, %eax
je 0x11b921
movq (%r12), %rax
movq (%rax,%r14), %rdi
leaq 0x442e1(%rip), %rsi     # 0x15f942
callq 0x4170
testl %eax, %eax
je 0x11b921
movq (%r12), %rax
movq (%rax,%r14), %rdi
leaq 0x442c9(%rip), %rsi     # 0x15f946
callq 0x4170
testl %eax, %eax
je 0x11b921
movq (%r12), %rax
movq (%rax,%r14), %rdi
leaq 0x442bd(%rip), %rsi     # 0x15f956
callq 0x4170
testl %eax, %eax
je 0x11b9a1
movq (%r12), %rax
movq (%rax,%r14), %rdi
leaq 0x442a5(%rip), %rsi     # 0x15f95a
callq 0x4170
testl %eax, %eax
je 0x11b9a1
movq (%r12), %rax
movq (%rax,%r14), %rdi
leaq 0x44291(%rip), %rsi     # 0x15f962
callq 0x4170
testl %eax, %eax
je 0x11b9a1
movq (%r12), %rax
movq (%rax,%r14), %rdi
leaq 0x43ac6(%rip), %rsi     # 0x15f1b3
callq 0x4170
testl %eax, %eax
je 0x11ba0e
movq (%r12), %rax
movq (%rax,%r14), %rdi
leaq 0x43bc6(%rip), %rsi     # 0x15f2cf
callq 0x4170
testl %eax, %eax
je 0x11ba1b
movq (%r12), %rax
movq (%rax,%r14), %rdi
leaq 0x435fe(%rip), %rsi     # 0x15ed23
callq 0x4170
testl %eax, %eax
je 0x11ba28
movq (%r12), %rax
movq (%rax,%r14), %rdi
leaq 0x44229(%rip), %rsi     # 0x15f96a
callq 0x4170
movq (%r12), %rcx
movq (%rcx,%r14), %rdi
testl %eax, %eax
je 0x11ba44
leaq 0x44214(%rip), %rsi     # 0x15f971
callq 0x4170
testl %eax, %eax
jne 0x11b8f8
movq 0x8(%r15), %rax
movq (%rax,%r14), %rax
movq 0x20(%rax), %rdi
xorl %esi, %esi
callq 0x4330
movsd %xmm0, 0x230(%r15)
movb $0x1, 0x238(%r15)
cvtsi2sdl 0x23c(%r15), %xmm1
mulsd %xmm0, %xmm1
cvttsd2si %xmm1, %ecx
movl %ecx, 0x23c(%r15)
xorps %xmm1, %xmm1
cvtsi2sdl 0x240(%r15), %xmm1
mulsd %xmm0, %xmm1
cvttsd2si %xmm1, %eax
movl %eax, 0x240(%r15)
testl %ecx, %ecx
jle 0x11b7cd
testl %eax, %eax
jg 0x11b8f8
movl $0x64, %edx
movq 0x7b817(%rip), %rdi     # 0x196ff0
leaq 0x44196(%rip), %rsi     # 0x15f976
callq 0x44e0
movl 0x23c(%r15), %esi
movq 0x7b7fd(%rip), %rdi     # 0x196ff0
callq 0x4750
movq %rax, %rbx
movl $0xb, %edx
movq %rax, %rdi
leaq 0x441d1(%rip), %rsi     # 0x15f9db
callq 0x44e0
movl 0x240(%r15), %esi
movq %rbx, %rdi
callq 0x4750
movb $0x1, %bl
movl $0x2, %edx
movq %rax, %rdi
leaq 0x44296(%rip), %rsi     # 0x15fac5
callq 0x44e0
jmp 0x11b8f8
leaq 0x1c0(%rsp), %rdi
movq %rbp, %rsi
callq 0x2f78a
leaq 0x1c0(%rsp), %rbp
movq %rbp, %rdi
callq 0x10aa39
movq %rbp, %rdi
callq 0x2f6f0
movb $0x1, 0xbb0(%r15)
jmp 0x11b8f8
movl $0x2d, %edx
movq 0x7b776(%rip), %rdi     # 0x196ff0
leaq 0x44088(%rip), %rsi     # 0x15f909
callq 0x44e0
jmp 0x11b8f8
leaq 0x1a8(%rsp), %rdi
leaq 0x20(%rsp), %rsi
callq 0x2f78a
leaq 0x1a8(%rsp), %rbp
movq %rbp, %rdi
callq 0x10ab3f
movq %rbp, %rdi
callq 0x2f6f0
movb $0x1, 0xbb3(%r15)
jmp 0x11b8f8
movb $0x0, 0xbb3(%r15)
jmp 0x11b8f8
movb $0x1, 0xbb2(%r15)
movq 0x8(%r15), %rax
movq (%rax,%r14), %rdi
leaq 0x433f5(%rip), %rsi     # 0x15ecd2
callq 0x4170
testl %eax, %eax
jne 0x11b8f8
movb $0x1, 0x229(%r15)
jmp 0x11b8f8
movb $0x1, 0xbb1(%r15)
leaq 0x20(%rsp), %rbp
movq %rbp, %rdi
callq 0x2f6f0
addq $0x18, %r14
decq %r13
jne 0x11b537
jmp 0x11ba67
movb $0x0, 0xbb5(%r15)
jmp 0x11b8f8
movb $0x1, 0x244(%r15)
jmp 0x11b8f8
leaq 0x88(%rsp), %rdi
leaq 0x20(%rsp), %rsi
callq 0x2f78a
leaq 0xa0(%rsp), %rbp
movq %rbp, %rdi
leaq 0x88(%rsp), %rsi
callq 0x10ac07
movq 0x48(%rsp), %rdi
movq %rbp, %rsi
callq 0x4540
movq 0xa0(%rsp), %rdi
leaq 0xb0(%rsp), %rax
cmpq %rax, %rdi
je 0x11b987
movq 0xb0(%rsp), %rsi
incq %rsi
callq 0x4470
leaq 0x88(%rsp), %rdi
callq 0x2f6f0
movb $0x1, 0xbb5(%r15)
jmp 0x11b8f8
leaq 0x70(%rsp), %rdi
leaq 0x20(%rsp), %rsi
callq 0x2f78a
leaq 0xa0(%rsp), %rbp
movq %rbp, %rdi
leaq 0x70(%rsp), %rsi
callq 0x10b05a
movq 0x40(%rsp), %rdi
movq %rbp, %rsi
callq 0x4540
movq 0xa0(%rsp), %rdi
leaq 0xb0(%rsp), %rax
cmpq %rax, %rdi
je 0x11b9f7
movq 0xb0(%rsp), %rsi
incq %rsi
callq 0x4470
leaq 0x70(%rsp), %rdi
callq 0x2f6f0
movb $0x1, 0xe30(%r15)
jmp 0x11b8f8
movb $0x1, 0xf80(%r15)
jmp 0x11b8f8
movb $0x1, 0xf81(%r15)
jmp 0x11b8f8
movb $0x1, %al
movb %al, 0xbb4(%r15)
movb %al, 0x248(%r15)
movb %al, 0x6a8(%r15)
jmp 0x11b8f8
movq 0x20(%rdi), %rdi
xorl %esi, %esi
callq 0x4330
movsd %xmm0, 0x220(%r15)
movb $0x1, 0x228(%r15)
jmp 0x11b8f8
xorl %ebx, %ebx
cmpb $0x0, 0x228(%r15)
jne 0x11bc3c
movq 0x18(%rsp), %rbp
testl %ebp, %ebp
jle 0x11bc3c
andl $0x7fffffff, %ebp       # imm = 0x7FFFFFFF
xorl %r13d, %r13d
leaq 0xa0(%rsp), %r14
movq (%r12), %rsi
addq %r13, %rsi
movq %r14, %rdi
callq 0x2f78a
movq 0xa0(%rsp), %rdi
leaq 0x433da(%rip), %rsi     # 0x15ee8b
callq 0x4170
testl %eax, %eax
je 0x11bbf6
movq 0xa0(%rsp), %rdi
leaq 0x433ca(%rip), %rsi     # 0x15ee97
callq 0x4170
testl %eax, %eax
je 0x11bbf6
movq 0xa0(%rsp), %rdi
leaq 0x433be(%rip), %rsi     # 0x15eea7
callq 0x4170
testl %eax, %eax
je 0x11bbf6
movq 0xa0(%rsp), %rdi
leaq 0x4342b(%rip), %rsi     # 0x15ef30
callq 0x4170
testl %eax, %eax
je 0x11bbf6
movq 0xa0(%rsp), %rdi
leaq 0x4348c(%rip), %rsi     # 0x15efad
callq 0x4170
testl %eax, %eax
je 0x11bbf6
movq 0xa0(%rsp), %rdi
leaq 0x4347e(%rip), %rsi     # 0x15efbb
callq 0x4170
testl %eax, %eax
je 0x11bbf6
movq 0xa0(%rsp), %rdi
leaq 0x43e8e(%rip), %rsi     # 0x15f9e7
callq 0x4170
testl %eax, %eax
je 0x11bbf6
movq 0xa0(%rsp), %rdi
leaq 0x4315d(%rip), %rsi     # 0x15ecd2
callq 0x4170
testl %eax, %eax
je 0x11bbf6
movq 0xa0(%rsp), %rdi
leaq 0x43141(%rip), %rsi     # 0x15ecce
callq 0x4170
testl %eax, %eax
je 0x11bbf6
movq 0xa0(%rsp), %rdi
leaq 0x439af(%rip), %rsi     # 0x15f554
callq 0x4170
testl %eax, %eax
je 0x11bbf6
movq 0xa0(%rsp), %rdi
leaq 0x43e30(%rip), %rsi     # 0x15f9ed
callq 0x4170
testl %eax, %eax
je 0x11bbf6
movq 0xa0(%rsp), %rdi
leaq 0x43e1d(%rip), %rsi     # 0x15f9f2
callq 0x4170
testl %eax, %eax
je 0x11bbf6
movq 0xa0(%rsp), %rdi
leaq 0x43e0b(%rip), %rsi     # 0x15f9f8
callq 0x4170
testl %eax, %eax
jne 0x11bc27
movq 0xa0(%rsp), %rax
movq (%rax), %rsi
movq 0x8(%rax), %rdx
movq 0x7b3e4(%rip), %rdi     # 0x196ff0
callq 0x44e0
movb $0x1, %bl
movl $0x49, %edx
movq %rax, %rdi
leaq 0x43dde(%rip), %rsi     # 0x15fa00
callq 0x44e0
movq %r14, %rdi
callq 0x2f6f0
addq $0x18, %r13
decq %rbp
jne 0x11ba93
movl %ebx, %ebp
cmpb $0x0, 0x229(%r15)
jne 0x11bcf0
movq 0x18(%rsp), %rbx
testl %ebx, %ebx
jle 0x11bcf0
andl $0x7fffffff, %ebx       # imm = 0x7FFFFFFF
xorl %r13d, %r13d
leaq 0xa0(%rsp), %r14
movq (%r12), %rsi
addq %r13, %rsi
movq %r14, %rdi
callq 0x2f78a
movq 0xa0(%rsp), %rdi
leaq 0x4352b(%rip), %rsi     # 0x15f1b3
callq 0x4170
testl %eax, %eax
je 0x11bca9
movq 0xa0(%rsp), %rdi
leaq 0x4362f(%rip), %rsi     # 0x15f2cf
callq 0x4170
testl %eax, %eax
jne 0x11bcdb
movq 0xa0(%rsp), %rax
movq (%rax), %rsi
movq 0x8(%rax), %rdx
movq 0x7b331(%rip), %rdi     # 0x196ff0
callq 0x44e0
movb $0x1, %bpl
movl $0x7d, %edx
movq %rax, %rdi
leaq 0x43d74(%rip), %rsi     # 0x15fa4a
callq 0x44e0
movq %r14, %rdi
callq 0x2f6f0
addq $0x18, %r13
decq %rbx
jne 0x11bc6a
testb $0x1, %bpl
jne 0x11bede
leaq 0xa0(%rsp), %r14
movq %r14, %rdi
movq 0x38(%rsp), %rsi
callq 0x43f0
movq %r14, %rdi
callq 0x41e0
movw $0x2e, 0xa0(%rsp,%rax)
movq %r14, %rdi
movq 0x8(%rsp), %r12
movq %r12, %rsi
callq 0x4790
movq %r14, %rdi
callq 0x41e0
movq 0x7b280(%rip), %r13     # 0x196fc0
movq %r13, %rdi
movq %r14, %rsi
movq %rax, %rdx
callq 0x44e0
movq (%r13), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x4420
movsbl %al, %esi
movq %r13, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x42c0
movl (%r12), %eax
cmpl $0x637261, %eax         # imm = 0x637261
je 0x11bda9
cmpl $0x637563, %eax         # imm = 0x637563
jne 0x11bdca
leaq 0x248(%r15), %rsi
movzbl 0xbb0(%r15), %edx
leaq 0xa0(%rsp), %rdi
callq 0x2684d
jmp 0x11bed0
leaq 0x248(%r15), %rsi
movzbl 0xbb0(%r15), %edx
leaq 0xa0(%rsp), %rdi
callq 0x25d99
jmp 0x11bed0
movl $0x72737363, %ecx       # imm = 0x72737363
movq 0x8(%rsp), %rdx
xorl (%rdx), %ecx
movzbl 0x4(%rdx), %edx
orl %ecx, %edx
je 0x11be0d
cmpl $0x726163, %eax         # imm = 0x726163
je 0x11be2e
cmpl $0x666963, %eax         # imm = 0x666963
jne 0x11be4f
leaq 0x248(%r15), %rsi
movzbl 0xbb0(%r15), %edx
leaq 0xa0(%rsp), %rdi
callq 0x23552
jmp 0x11bed0
leaq 0x248(%r15), %rsi
movzbl 0xbb0(%r15), %edx
leaq 0xa0(%rsp), %rdi
callq 0x26eff
jmp 0x11bed0
leaq 0x248(%r15), %rsi
movzbl 0xbb0(%r15), %edx
leaq 0xa0(%rsp), %rdi
callq 0x28747
jmp 0x11bed0
movq 0x8(%rsp), %rdx
movzwl (%rdx), %ecx
xorl $0x3176, %ecx           # imm = 0x3176
movzbl 0x2(%rdx), %edx
orw %cx, %dx
je 0x11be96
cmpl $0x706c64, %eax         # imm = 0x706C64
je 0x11beb4
cmpl $0x626470, %eax         # imm = 0x626470
jne 0x11bfa8
leaq 0x248(%r15), %rsi
movzbl 0xbb0(%r15), %edx
leaq 0xa0(%rsp), %rdi
callq 0x29094
jmp 0x11bed0
leaq 0x248(%r15), %rsi
movzbl 0xbb0(%r15), %edx
leaq 0xa0(%rsp), %rdi
callq 0x2987c
jmp 0x11bed0
leaq 0x248(%r15), %rsi
movzbl 0xbb0(%r15), %edx
leaq 0xa0(%rsp), %rdi
callq 0x2a00e
movzbl %bpl, %ecx
testb %al, %al
movl $0x1, %ebp
cmovnel %ecx, %ebp
testb $0x1, %bpl
movq 0x10(%rsp), %r14
jne 0x11bf8d
leaq 0x248(%r14), %r15
cmpb $0x1, 0xbb0(%r14)
jne 0x11bf06
movq %r15, %rdi
callq 0x96ae
movq 0x10(%rsp), %r14
movzbl 0xbb3(%r14), %edi
movq %r15, %rsi
callq 0x9759
leaq 0x6a8(%r14), %rsi
movq %r15, %rdi
callq 0x528f4
cmpb $0x1, 0xbb0(%r14)
jne 0x11bf8d
cmpb $0x1, 0xbb5(%r14)
jne 0x11bf8d
leaq 0x60(%rsp), %r12
movq %r12, -0x10(%r12)
movq 0xbb8(%r14), %rsi
movq 0xbc0(%r14), %rdx
addq %rsi, %rdx
leaq 0x50(%rsp), %r14
movq %r14, %rdi
callq 0xf32a
movq %r15, %rdi
movq %r14, %rsi
callq 0x94c4f
movq 0x50(%rsp), %rdi
cmpq %r12, %rdi
movq 0x10(%rsp), %r14
je 0x11bf8d
movq 0x60(%rsp), %rsi
incq %rsi
callq 0x4470
andb $0x1, %bpl
movb %bpl, (%r14)
movl %ebp, %eax
addq $0x1d8, %rsp            # imm = 0x1D8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq 0x7b041(%rip), %rbx     # 0x196ff0
leaq 0x42d87(%rip), %rsi     # 0x15ed3d
movl $0x1d, %edx
movq %rbx, %rdi
callq 0x44e0
movq 0x8(%rsp), %r14
movq %r14, %rdi
callq 0x41e0
movq %rbx, %rdi
movq %r14, %rsi
movq %rax, %rdx
callq 0x44e0
leaq 0x39549(%rip), %r14     # 0x15552e
movl $0x1, %edx
movq %rbx, %rdi
movq %r14, %rsi
callq 0x44e0
leaq 0x33b47(%rip), %rsi     # 0x14fb43
movl $0xb, %edx
movq %rbx, %rdi
callq 0x44e0
movl $0x1, %edx
movq %rbx, %rdi
movq %r14, %rsi
callq 0x44e0
movb $0x1, %bpl
jmp 0x11bede
movq %rax, %rbx
leaq 0x70(%rsp), %rdi
jmp 0x11c070
jmp 0x11c077
movq %rax, %rbx
movq 0x50(%rsp), %rdi
cmpq %r12, %rdi
je 0x11c093
movq 0x60(%rsp), %rsi
incq %rsi
callq 0x4470
jmp 0x11c093
movq %rax, %rbx
leaq 0x88(%rsp), %rdi
jmp 0x11c070
jmp 0x11c077
movq %rax, %rbx
leaq 0x1a8(%rsp), %rdi
jmp 0x11c070
movq %rax, %rbx
leaq 0x1c0(%rsp), %rdi
callq 0x2f6f0
jmp 0x11c07a
movq %rax, %rbx
leaq 0x20(%rsp), %rdi
jmp 0x11c08e
jmp 0x11c083
movq %rax, %rbx
leaq 0xa0(%rsp), %rdi
callq 0x2f6f0
movq %rbx, %rdi
callq 0x4780
nop