// File: richardposner[P]BioNetFit2/src/code/Particle.cpp
// Function: Particle::checkMessagesGenetic(unsigned int)
void Particle::checkMessagesGenetic(unsigned int mid) {
unsigned int subParID = calcsubParID(mid);
if ((mid<0)|| (mid >= swarm_->getNumModels()) || (!models.at(mid)))
    outputError("checkMessagesGenetic Failed. Invalid SubParticle.  PID:"+ toString(id_) + "  model id:" + toString(mid)+ "  subParID:" + toString(subParID)+". Quitting !!!" );
//if ((mid<0)|| (mid >= swarm_->getNumModels()) || (!getSubParticle(mid)) || (!models.at(mid)))
//outputError("checkMessagesGenetic Failed. Invalid SubParticle.  PID:"+ toString(id_) + "  model id:" + toString(mid)+ "  subParID:" + toString(subParID)+". Quitting !!!");

Model * mdl= models.at(mid);
	// Holds iterator ranges when finding items in the message holder
	pair <Pheromones::swarmMsgHolderIt, Pheromones::swarmMsgHolderIt> smhRange;
	if (swarm_->options.verbosity >= 3) {
		cout << "RAQUEL entering while from function that takes mid as input" << endl;
	}
	string path; //Raquel: declaring it outside the while loop

	while (1) {
		// Retrieve any messages
		int numCheckedMessages = 0;
		int numMessages = swarm_->swarmComm->recvMessage(-1, subParID, -1, true, swarm_->swarmComm->univMessageReceiver, true);
		if (swarm_->options.verbosity >= 4) {
			cout << "RAQUEL inside LOOP ITERATION in checkMessagesGenetic, numMessages = " << numMessages << " and numCheckedMessages = " << numCheckedMessages << endl;

			cout << "RAQUEL entering univMessageReceiver.equal_range(SEND_FINAL_PARAMS_TO_PARTICLE)" << endl;
		}
		smhRange = swarm_->swarmComm->univMessageReceiver.equal_range(SEND_FINAL_PARAMS_TO_PARTICLE);
		if (swarm_->options.verbosity >= 3) {
			cout << "RAQUEL passed univMessageReceiver.equal_range(SEND_FINAL_PARAMS_TO_PARTICLE)" << endl;
		}

		if (smhRange.first != smhRange.second) {
			//cout << id_ << " found final " << endl;
			for (Pheromones::swarmMsgHolderIt sm = smhRange.first; sm != smhRange.second; ++sm) {
				//Timer tmr;

				int messageIndex = 0;
				for (auto p = simParams_.at(mid).begin(); p != simParams_.at(mid).end(); ++p) {
					if (swarm_->options.verbosity >= 3) {
						cout << id_ << " updating parameter " << p->first << " to " << sm->second.message[messageIndex] << endl;
					}
					p->second = stod(sm->second.message[messageIndex]);
					if (swarm_->options.verbosity >= 3) {
						cout << "updated param " << p->first << ": " << p->second << endl;
					}
					++messageIndex;
				}

				path = swarm_->options.jobOutputDir + toString(currentGeneration_ + 1) + "/";

				if (!checkIfFileExists(path)) {
					if (swarm_->options.verbosity >= 3) {
						cout << "trying to create path " << path << endl;
					}
					runCommand("mkdir " + path);
				}

				for (unsigned int i = 1; i <= swarm_->options.smoothing; ++i) {
					// Construct our filenames
					string bnglFilename = swarm_->getModelName(mid, false)+"_" + toString(id_) + "_" + toString(i) + ".bngl";
					string bnglFullPath = path + bnglFilename;
					string suffix = toString(id_) + "_" + toString(i);
					if (swarm_->options.verbosity >= 3) {
						cout << "RAQUEL CREATING BNGL: " << bnglFullPath << endl;
					}
					// And generate our models
					if (swarm_->options.models.at(mid)->getHasGenerateNetwork()){
						// If we're using ODE solver, output .net and .bngl
						mdl->outputModelWithParams(simParams_.at(mid), path, bnglFilename, suffix, false, false, true, false, false);
					}
					else {
						// If we're using network free simulation, output .bngl
						mdl->outputModelWithParams(simParams_.at(mid), path, bnglFilename, suffix, false, false, false, false, false);
					}
					if (swarm_->options.verbosity >= 3) {
						cout << "RAQUEL BNGL generated: " <<  bnglFullPath << " id_ " << toString(id_) << " i " << toString(i) << " subParID " << subParID << endl;
					}
				}
				if (swarm_->options.verbosity >= 3) {
				// Tell the master we have our new params and are ready for the next generation
					cout << id_ << " telling master we're finished " << endl;
				}
				swarm_->swarmComm->sendToSwarm(subParID, 0, DONE_BREEDING, false, swarm_->swarmComm->univMessageSender);

				//double t = tmr.elapsed();
				//cout << "SEND_FINAL_PARAMS took " << t << " seconds" << endl;
				++numCheckedMessages;
			}
		}

		if (swarm_->options.verbosity >= 3) {
			cout << "RAQUEL BEFORE IF numCheckedMessages >= numMessages" << endl;
		}

		if (numCheckedMessages >= numMessages) {
			swarm_->swarmComm->univMessageReceiver.clear();
			if (swarm_->options.verbosity >= 3) {
				cout << "RAQUEL INSIDE IF numCheckedMessages >= numMessages = " << numCheckedMessages << ":" << numMessages << endl;
			}
			continue;
			//return 0; //Raquel: added
		}
		if (swarm_->options.verbosity >= 3) {
			cout << "RAQUEL PASSED IF numCheckedMessages >= numMessages" << endl;
		}

		if (swarm_->swarmComm->univMessageReceiver.find(FIT_FINISHED) != swarm_->swarmComm->univMessageReceiver.end()) {
			if (swarm_->options.verbosity >= 3) {
				cout << "RAQUEL entering ~pheromones" << endl;
			}
			swarm_->swarmComm->~Pheromones();
			if (swarm_->options.verbosity >= 3) {
				cout << "RAQUEL exiting ~pheromones" << endl;
			}
			//return;
			exit(0);
		}

		if (swarm_->swarmComm->univMessageReceiver.find(NEW_BOOTSTRAP) != swarm_->swarmComm->univMessageReceiver.end()) {
			if (swarm_->options.verbosity >= 3) {
				cout << "SubParticle " << subParID <<": Starting a new bootstrapping run" << endl;
			}

			++swarm_->bootstrapCounter;
			currentGeneration_ = 0;
			simParams_.at(mid).clear();
			generateParams();
			if (swarm_->options.verbosity >= 3) {
				cout << "RAQUEL INSIDE IF swarm_->swarmComm->univMessageReceiver.find(NEW_BOOTSTRAP)" << endl;
			}
			swarm_->swarmComm->univMessageReceiver.clear();
			return;
		}

		if (swarm_->swarmComm->univMessageReceiver.find(NEXT_GENERATION) != swarm_->swarmComm->univMessageReceiver.end()) {
			if (swarm_->options.verbosity >= 3) {
				cout << "RAQUEL INSIDE IF swarm_->swarmComm->univMessageReceiver.find(NEXT_GENERATION)" << endl;
			}
			return;
		}

		swarm_->swarmComm->univMessageReceiver.clear();
	}
	if (swarm_->options.verbosity >= 3) {
		cout << "RAQUEL existing while that takes mid as input" << endl;
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x7e0, %rsp            # imm = 0x7E0
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movq -0x8(%rbp), %rdi
movq %rdi, -0x5b8(%rbp)
movl -0xc(%rbp), %esi
callq 0xac1e0
movl %eax, -0x10(%rbp)
cmpl $0x0, -0xc(%rbp)
jb 0xac8e5
movq -0x5b8(%rbp), %rax
movl -0xc(%rbp), %ecx
movl %ecx, -0x5bc(%rbp)
movq 0xa8(%rax), %rdi
callq 0x8dec0
movl %eax, %ecx
movl -0x5bc(%rbp), %eax
cmpl %ecx, %eax
jae 0xac8e5
movq -0x5b8(%rbp), %rdi
addq $0x78, %rdi
movl -0xc(%rbp), %eax
movl %eax, %esi
callq 0x45190
cmpq $0x0, (%rax)
jne 0xacb56
movq -0x5b8(%rbp), %rax
movl 0x40(%rax), %esi
leaq -0xf0(%rbp), %rdi
movq %rdi, -0x5c8(%rbp)
callq 0x17e460
movq -0x5c8(%rbp), %rdx
leaq 0x12ed05(%rip), %rsi    # 0x1db615
leaq -0xd0(%rbp), %rdi
callq 0x8e0f0
jmp 0xac91e
leaq 0x12ec0d(%rip), %rdx    # 0x1db532
leaq -0xb0(%rbp), %rdi
leaq -0xd0(%rbp), %rsi
callq 0x441f0
jmp 0xac93a
movl -0xc(%rbp), %esi
leaq -0x120(%rbp), %rdi
callq 0x17e460
jmp 0xac94b
leaq -0x90(%rbp), %rdi
leaq -0xb0(%rbp), %rsi
leaq -0x120(%rbp), %rdx
callq 0x9c7d0
jmp 0xac967
leaq 0x12e616(%rip), %rdx    # 0x1daf84
leaq -0x70(%rbp), %rdi
leaq -0x90(%rbp), %rsi
callq 0x441f0
jmp 0xac980
movl -0x10(%rbp), %esi
leaq -0x140(%rbp), %rdi
callq 0x17e460
jmp 0xac991
leaq -0x50(%rbp), %rdi
leaq -0x70(%rbp), %rsi
leaq -0x140(%rbp), %rdx
callq 0x9c7d0
jmp 0xac9a7
leaq 0x12ec9f(%rip), %rdx    # 0x1db64d
leaq -0x30(%rbp), %rdi
leaq -0x50(%rbp), %rsi
callq 0x441f0
jmp 0xac9bd
leaq -0x30(%rbp), %rdi
callq 0x17e420
jmp 0xac9c8
leaq -0x30(%rbp), %rdi
callq 0x311e8
leaq -0x50(%rbp), %rdi
callq 0x311e8
leaq -0x140(%rbp), %rdi
callq 0x311e8
leaq -0x70(%rbp), %rdi
callq 0x311e8
leaq -0x90(%rbp), %rdi
callq 0x311e8
leaq -0x120(%rbp), %rdi
callq 0x311e8
leaq -0xb0(%rbp), %rdi
callq 0x311e8
leaq -0xd0(%rbp), %rdi
callq 0x311e8
leaq -0xf0(%rbp), %rdi
callq 0x311e8
jmp 0xacb56
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
jmp 0xacb45
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
jmp 0xacb39
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
jmp 0xacb2d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
jmp 0xacb21
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
jmp 0xacb15
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
jmp 0xacb0c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
jmp 0xacb00
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
jmp 0xacaf7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
leaq -0x30(%rbp), %rdi
callq 0x311e8
leaq -0x50(%rbp), %rdi
callq 0x311e8
leaq -0x140(%rbp), %rdi
callq 0x311e8
leaq -0x70(%rbp), %rdi
callq 0x311e8
leaq -0x90(%rbp), %rdi
callq 0x311e8
leaq -0x120(%rbp), %rdi
callq 0x311e8
leaq -0xb0(%rbp), %rdi
callq 0x311e8
leaq -0xd0(%rbp), %rdi
callq 0x311e8
leaq -0xf0(%rbp), %rdi
callq 0x311e8
jmp 0xae227
movq -0x5b8(%rbp), %rdi
addq $0x78, %rdi
movl -0xc(%rbp), %eax
movl %eax, %esi
callq 0x45190
movq (%rax), %rax
movq %rax, -0x148(%rbp)
leaq -0x158(%rbp), %rdi
callq 0xb3700
movq -0x5b8(%rbp), %rax
movq 0xa8(%rax), %rax
cmpl $0x3, 0x1614(%rax)
jb 0xacbba
movq 0x2283b1(%rip), %rdi    # 0x2d4f50
leaq 0x12eab6(%rip), %rsi    # 0x1db65c
callq 0x2ff50
movq %rax, %rdi
movq 0x228413(%rip), %rsi    # 0x2d4fc8
callq 0x30c10
leaq -0x178(%rbp), %rdi
callq 0x2f880
jmp 0xacbc8
movq -0x5b8(%rbp), %rax
movl $0x0, -0x17c(%rbp)
movq 0xa8(%rax), %rax
movq (%rax), %rdi
movl -0x10(%rbp), %edx
movq %rdi, %r9
addq $0x18, %r9
movq %rsp, %rax
movl $0xffffffff, 0x8(%rax)  # imm = 0xFFFFFFFF
movl $0x1, (%rax)
movl $0xffffffff, %ecx       # imm = 0xFFFFFFFF
movl $0x1, %r8d
movl %ecx, %esi
callq 0xcefc0
movl %eax, -0x5cc(%rbp)
jmp 0xacc17
movq -0x5b8(%rbp), %rax
movl -0x5cc(%rbp), %ecx
movl %ecx, -0x180(%rbp)
movq 0xa8(%rax), %rax
cmpl $0x4, 0x1614(%rax)
jb 0xacd0b
movq 0x22830b(%rip), %rdi    # 0x2d4f50
leaq 0x12ea4c(%rip), %rsi    # 0x1db698
callq 0x2ff50
movq %rax, -0x5d8(%rbp)
jmp 0xacc5a
movq -0x5d8(%rbp), %rdi
movl -0x180(%rbp), %esi
callq 0x2f800
movq %rax, -0x5e0(%rbp)
jmp 0xacc75
movq -0x5e0(%rbp), %rdi
leaq 0x12ea5a(%rip), %rsi    # 0x1db6dd
callq 0x2ff50
movq %rax, -0x5e8(%rbp)
jmp 0xacc91
movq -0x5e8(%rbp), %rdi
movl -0x17c(%rbp), %esi
callq 0x2f800
movq %rax, -0x5f0(%rbp)
jmp 0xaccac
movq -0x5f0(%rbp), %rdi
movq 0x22830e(%rip), %rsi    # 0x2d4fc8
callq 0x30c10
jmp 0xaccc1
movq 0x228288(%rip), %rdi    # 0x2d4f50
leaq 0x12ea29(%rip), %rsi    # 0x1db6f8
callq 0x2ff50
movq %rax, -0x5f8(%rbp)
jmp 0xaccdd
movq -0x5f8(%rbp), %rdi
movq 0x2282dd(%rip), %rsi    # 0x2d4fc8
callq 0x30c10
jmp 0xaccf2
jmp 0xacd0b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
jmp 0xae21b
movq -0x5b8(%rbp), %rax
movq 0xa8(%rax), %rax
movq (%rax), %rdi
addq $0x18, %rdi
movl $0x15, -0x194(%rbp)
leaq -0x194(%rbp), %rsi
callq 0xb3750
movq %rdx, -0x608(%rbp)
movq %rax, -0x600(%rbp)
jmp 0xacd46
movq -0x608(%rbp), %rax
movq -0x600(%rbp), %rcx
movq %rcx, -0x190(%rbp)
movq %rax, -0x188(%rbp)
leaq -0x158(%rbp), %rdi
leaq -0x190(%rbp), %rsi
callq 0xb3790
movq -0x5b8(%rbp), %rax
movq 0xa8(%rax), %rax
cmpl $0x3, 0x1614(%rax)
jb 0xacdbf
movq 0x2281bd(%rip), %rdi    # 0x2d4f50
leaq 0x12e9ad(%rip), %rsi    # 0x1db747
callq 0x2ff50
movq %rax, -0x610(%rbp)
jmp 0xacda8
movq -0x610(%rbp), %rdi
movq 0x228212(%rip), %rsi    # 0x2d4fc8
callq 0x30c10
jmp 0xacdbd
jmp 0xacdbf
leaq -0x158(%rbp), %rdi
leaq -0x158(%rbp), %rsi
addq $0x8, %rsi
callq 0xb37c0
testb $0x1, %al
jne 0xacddf
jmp 0xadcbd
movq -0x158(%rbp), %rax
movq %rax, -0x1a0(%rbp)
leaq -0x158(%rbp), %rsi
addq $0x8, %rsi
leaq -0x1a0(%rbp), %rdi
callq 0xb37c0
testb $0x1, %al
jne 0xace0d
jmp 0xadcbb
movq -0x5b8(%rbp), %rdi
movl $0x0, -0x1a4(%rbp)
movl -0xc(%rbp), %eax
movl %eax, %esi
callq 0xb2a00
movq %rax, -0x618(%rbp)
jmp 0xace31
movq -0x618(%rbp), %rdi
callq 0x9c670
movq %rax, -0x1b0(%rbp)
movq -0x5b8(%rbp), %rdi
movl -0xc(%rbp), %eax
movl %eax, %esi
callq 0xb2a00
movq %rax, -0x620(%rbp)
jmp 0xace5e
movq -0x620(%rbp), %rdi
callq 0x966d0
movq %rax, -0x1b8(%rbp)
leaq -0x1b0(%rbp), %rdi
leaq -0x1b8(%rbp), %rsi
callq 0x9c6a0
testb $0x1, %al
jne 0xace8d
jmp 0xad096
movq -0x5b8(%rbp), %rax
movq 0xa8(%rax), %rax
cmpl $0x3, 0x1614(%rax)
jb 0xacf71
movq -0x5b8(%rbp), %rax
movl 0x40(%rax), %esi
movq 0x228097(%rip), %rdi    # 0x2d4f50
callq 0x30640
movq %rax, -0x628(%rbp)
jmp 0xacec7
movq -0x628(%rbp), %rdi
leaq 0x12e8bf(%rip), %rsi    # 0x1db794
callq 0x2ff50
movq %rax, -0x630(%rbp)
jmp 0xacee3
leaq -0x1b0(%rbp), %rdi
callq 0x9c7b0
movq -0x630(%rbp), %rdi
movq %rax, %rsi
callq 0x2f780
movq %rax, -0x638(%rbp)
jmp 0xacf07
movq -0x638(%rbp), %rdi
leaq 0x13696f(%rip), %rsi    # 0x1e3884
callq 0x2ff50
movq %rax, -0x640(%rbp)
jmp 0xacf23
leaq -0x1a0(%rbp), %rdi
callq 0xb3190
movq %rax, %rdi
addq $0x30, %rdi
movslq -0x1a4(%rbp), %rsi
callq 0x449e0
movq -0x640(%rbp), %rdi
movq %rax, %rsi
callq 0x2f780
movq %rax, -0x648(%rbp)
jmp 0xacf5a
movq -0x648(%rbp), %rdi
movq 0x228060(%rip), %rsi    # 0x2d4fc8
callq 0x30c10
jmp 0xacf6f
jmp 0xacf71
leaq -0x1a0(%rbp), %rdi
callq 0xb3190
movq %rax, %rdi
addq $0x30, %rdi
movslq -0x1a4(%rbp), %rsi
callq 0x449e0
movq %rax, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x44830
movsd %xmm0, -0x650(%rbp)
jmp 0xacfa6
leaq -0x1b0(%rbp), %rdi
callq 0x9c7b0
movsd -0x650(%rbp), %xmm0
movq %rax, %rcx
movq -0x5b8(%rbp), %rax
movsd %xmm0, 0x20(%rcx)
movq 0xa8(%rax), %rax
cmpl $0x3, 0x1614(%rax)
jb 0xad076
movq 0x227f6c(%rip), %rdi    # 0x2d4f50
leaq 0x12e7be(%rip), %rsi    # 0x1db7a9
callq 0x2ff50
movq %rax, -0x658(%rbp)
jmp 0xacff9
leaq -0x1b0(%rbp), %rdi
callq 0x9c7b0
movq -0x658(%rbp), %rdi
movq %rax, %rsi
callq 0x2f780
movq %rax, -0x660(%rbp)
jmp 0xad01d
movq -0x660(%rbp), %rdi
leaq 0x126f86(%rip), %rsi    # 0x1d3fb1
callq 0x2ff50
movq %rax, -0x668(%rbp)
jmp 0xad039
leaq -0x1b0(%rbp), %rdi
callq 0x9c7b0
movq -0x668(%rbp), %rdi
movsd 0x20(%rax), %xmm0
callq 0x30710
movq %rax, -0x670(%rbp)
jmp 0xad05f
movq -0x670(%rbp), %rdi
movq 0x227f5b(%rip), %rsi    # 0x2d4fc8
callq 0x30c10
jmp 0xad074
jmp 0xad076
movl -0x1a4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1a4(%rbp)
leaq -0x1b0(%rbp), %rdi
callq 0x97360
jmp 0xace44
movq -0x5b8(%rbp), %rax
movq 0xa8(%rax), %rcx
addq $0x1520, %rcx           # imm = 0x1520
movq %rcx, -0x678(%rbp)
movl 0xb0(%rax), %esi
incl %esi
leaq -0x218(%rbp), %rdi
callq 0x17e460
jmp 0xad0c8
movq -0x678(%rbp), %rsi
leaq -0x1f8(%rbp), %rdi
leaq -0x218(%rbp), %rdx
callq 0xb3380
jmp 0xad0e4
leaq 0x135268(%rip), %rdx    # 0x1e2353
leaq -0x1d8(%rbp), %rdi
leaq -0x1f8(%rbp), %rsi
callq 0x441f0
jmp 0xad100
leaq -0x178(%rbp), %rdi
movq %rdi, -0x680(%rbp)
leaq -0x1d8(%rbp), %rsi
movq %rsi, -0x688(%rbp)
callq 0x2fd80
movq -0x688(%rbp), %rdi
callq 0x311e8
leaq -0x1f8(%rbp), %rdi
callq 0x311e8
leaq -0x218(%rbp), %rdi
callq 0x311e8
movq -0x680(%rbp), %rsi
leaq -0x238(%rbp), %rdi
callq 0x2f300
jmp 0xad15a
leaq -0x238(%rbp), %rdi
callq 0x17d410
movl %eax, -0x68c(%rbp)
jmp 0xad16e
movl -0x68c(%rbp), %eax
cmpl $0x0, %eax
setne %al
xorb $-0x1, %al
movb %al, -0x68d(%rbp)
leaq -0x238(%rbp), %rdi
callq 0x311e8
movb -0x68d(%rbp), %al
testb $0x1, %al
jne 0xad19d
jmp 0xad2c8
movq -0x5b8(%rbp), %rax
movq 0xa8(%rax), %rax
cmpl $0x3, 0x1614(%rax)
jb 0xad26d
movq 0x227d91(%rip), %rdi    # 0x2d4f50
leaq 0x12e5f2(%rip), %rsi    # 0x1db7b8
callq 0x2ff50
movq %rax, -0x698(%rbp)
jmp 0xad1d4
movq -0x698(%rbp), %rdi
leaq -0x178(%rbp), %rsi
callq 0x2f780
movq %rax, -0x6a0(%rbp)
jmp 0xad1f0
movq -0x6a0(%rbp), %rdi
movq 0x227dca(%rip), %rsi    # 0x2d4fc8
callq 0x30c10
jmp 0xad205
jmp 0xad26d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
jmp 0xad239
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
leaq -0x1f8(%rbp), %rdi
callq 0x311e8
leaq -0x218(%rbp), %rdi
callq 0x311e8
jmp 0xae21b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
leaq -0x238(%rbp), %rdi
callq 0x311e8
jmp 0xae21b
leaq 0x12d523(%rip), %rsi    # 0x1da797
leaq -0x258(%rbp), %rdi
leaq -0x178(%rbp), %rdx
callq 0x44240
jmp 0xad289
leaq -0x258(%rbp), %rdi
callq 0x17e3f0
jmp 0xad297
leaq -0x258(%rbp), %rdi
callq 0x311e8
jmp 0xad2c8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
leaq -0x258(%rbp), %rdi
callq 0x311e8
jmp 0xae21b
movl $0x1, -0x25c(%rbp)
movq -0x5b8(%rbp), %rcx
movl -0x25c(%rbp), %eax
movq 0xa8(%rcx), %rcx
cmpl 0x1658(%rcx), %eax
ja 0xadc00
movq -0x5b8(%rbp), %rax
movq 0xa8(%rax), %rsi
movl -0xc(%rbp), %edx
leaq -0x320(%rbp), %rdi
xorl %ecx, %ecx
callq 0xec790
jmp 0xad313
leaq 0x12d34d(%rip), %rdx    # 0x1da667
leaq -0x300(%rbp), %rdi
leaq -0x320(%rbp), %rsi
callq 0x441f0
jmp 0xad32f
movq -0x5b8(%rbp), %rax
movl 0x40(%rax), %esi
leaq -0x340(%rbp), %rdi
callq 0x17e460
jmp 0xad347
leaq -0x2e0(%rbp), %rdi
leaq -0x300(%rbp), %rsi
leaq -0x340(%rbp), %rdx
callq 0x9c7d0
jmp 0xad363
leaq 0x12d2fd(%rip), %rdx    # 0x1da667
leaq -0x2c0(%rbp), %rdi
leaq -0x2e0(%rbp), %rsi
callq 0x441f0
jmp 0xad37f
movl -0x25c(%rbp), %esi
leaq -0x360(%rbp), %rdi
callq 0x17e460
jmp 0xad393
leaq -0x2a0(%rbp), %rdi
leaq -0x2c0(%rbp), %rsi
leaq -0x360(%rbp), %rdx
callq 0x9c7d0
jmp 0xad3af
leaq 0x12e7c8(%rip), %rdx    # 0x1dbb7e
leaq -0x280(%rbp), %rdi
leaq -0x2a0(%rbp), %rsi
callq 0x441f0
jmp 0xad3cb
leaq -0x2a0(%rbp), %rdi
callq 0x311e8
leaq -0x360(%rbp), %rdi
callq 0x311e8
leaq -0x2c0(%rbp), %rdi
callq 0x311e8
leaq -0x2e0(%rbp), %rdi
callq 0x311e8
leaq -0x340(%rbp), %rdi
callq 0x311e8
leaq -0x300(%rbp), %rdi
callq 0x311e8
leaq -0x320(%rbp), %rdi
callq 0x311e8
leaq -0x380(%rbp), %rdi
leaq -0x178(%rbp), %rsi
leaq -0x280(%rbp), %rdx
callq 0x50f10
jmp 0xad43b
movq -0x5b8(%rbp), %rax
movl 0x40(%rax), %esi
leaq -0x3e0(%rbp), %rdi
callq 0x17e460
jmp 0xad453
leaq 0x12d20d(%rip), %rdx    # 0x1da667
leaq -0x3c0(%rbp), %rdi
leaq -0x3e0(%rbp), %rsi
callq 0x441f0
jmp 0xad46f
movl -0x25c(%rbp), %esi
leaq -0x400(%rbp), %rdi
callq 0x17e460
jmp 0xad483
leaq -0x3a0(%rbp), %rdi
leaq -0x3c0(%rbp), %rsi
leaq -0x400(%rbp), %rdx
callq 0x9c7d0
jmp 0xad49f
leaq -0x400(%rbp), %rdi
callq 0x311e8
leaq -0x3c0(%rbp), %rdi
callq 0x311e8
leaq -0x3e0(%rbp), %rdi
callq 0x311e8
movq -0x5b8(%rbp), %rax
movq 0xa8(%rax), %rax
cmpl $0x3, 0x1614(%rax)
jb 0xad6c1
movq 0x227a6b(%rip), %rdi    # 0x2d4f50
leaq 0x12e2e3(%rip), %rsi    # 0x1db7cf
callq 0x2ff50
movq %rax, -0x6a8(%rbp)
jmp 0xad4fa
movq -0x6a8(%rbp), %rdi
leaq -0x380(%rbp), %rsi
callq 0x2f780
movq %rax, -0x6b0(%rbp)
jmp 0xad516
movq -0x6b0(%rbp), %rdi
movq 0x227aa4(%rip), %rsi    # 0x2d4fc8
callq 0x30c10
jmp 0xad52b
jmp 0xad6c1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
jmp 0xad608
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
jmp 0xad5fc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
jmp 0xad5f0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
jmp 0xad5e4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
jmp 0xad5d8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
jmp 0xad5cc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
leaq -0x2a0(%rbp), %rdi
callq 0x311e8
leaq -0x360(%rbp), %rdi
callq 0x311e8
leaq -0x2c0(%rbp), %rdi
callq 0x311e8
leaq -0x2e0(%rbp), %rdi
callq 0x311e8
leaq -0x340(%rbp), %rdi
callq 0x311e8
leaq -0x300(%rbp), %rdi
callq 0x311e8
leaq -0x320(%rbp), %rdi
callq 0x311e8
jmp 0xae21b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
jmp 0xadbef
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
jmp 0xadbe3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
jmp 0xad699
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
jmp 0xad68d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
leaq -0x400(%rbp), %rdi
callq 0x311e8
leaq -0x3c0(%rbp), %rdi
callq 0x311e8
leaq -0x3e0(%rbp), %rdi
callq 0x311e8
jmp 0xadbe3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
jmp 0xadbd7
movq -0x5b8(%rbp), %rax
movq 0xa8(%rax), %rdi
addq $0x15c0, %rdi           # imm = 0x15C0
movl -0xc(%rbp), %eax
movl %eax, %esi
callq 0x45190
movq %rax, -0x6b8(%rbp)
jmp 0xad6e9
movq -0x6b8(%rbp), %rax
movq (%rax), %rdi
callq 0x9cbc0
movb %al, -0x6b9(%rbp)
jmp 0xad700
movb -0x6b9(%rbp), %al
testb $0x1, %al
jne 0xad70f
jmp 0xad88e
movq -0x5b8(%rbp), %rdi
movq -0x148(%rbp), %rax
movq %rax, -0x6d0(%rbp)
movl -0xc(%rbp), %eax
movl %eax, %esi
callq 0xb2a00
movq %rax, -0x6c8(%rbp)
jmp 0xad737
movq -0x6c8(%rbp), %rsi
leaq -0x430(%rbp), %rdi
callq 0x9c620
jmp 0xad74c
leaq -0x450(%rbp), %rdi
leaq -0x178(%rbp), %rsi
callq 0x2f300
jmp 0xad761
leaq -0x470(%rbp), %rdi
leaq -0x280(%rbp), %rsi
callq 0x2f300
jmp 0xad776
leaq -0x490(%rbp), %rdi
leaq -0x3a0(%rbp), %rsi
callq 0x2f300
jmp 0xad78b
movq -0x6d0(%rbp), %rdi
movq %rsp, %rax
movl $0x0, 0x18(%rax)
movl $0x0, 0x10(%rax)
movl $0x1, 0x8(%rax)
movl $0x0, (%rax)
leaq -0x430(%rbp), %rsi
leaq -0x450(%rbp), %rdx
leaq -0x470(%rbp), %rcx
leaq -0x490(%rbp), %r8
xorl %r9d, %r9d
callq 0x99b90
jmp 0xad7d6
leaq -0x490(%rbp), %rdi
callq 0x311e8
leaq -0x470(%rbp), %rdi
callq 0x311e8
leaq -0x450(%rbp), %rdi
callq 0x311e8
leaq -0x430(%rbp), %rdi
callq 0x8de70
jmp 0xada0d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
jmp 0xad87d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
jmp 0xad871
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
jmp 0xad865
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
leaq -0x490(%rbp), %rdi
callq 0x311e8
leaq -0x470(%rbp), %rdi
callq 0x311e8
leaq -0x450(%rbp), %rdi
callq 0x311e8
leaq -0x430(%rbp), %rdi
callq 0x8de70
jmp 0xadbd7
movq -0x5b8(%rbp), %rdi
movq -0x148(%rbp), %rax
movq %rax, -0x6e0(%rbp)
movl -0xc(%rbp), %eax
movl %eax, %esi
callq 0xb2a00
movq %rax, -0x6d8(%rbp)
jmp 0xad8b6
movq -0x6d8(%rbp), %rsi
leaq -0x4c0(%rbp), %rdi
callq 0x9c620
jmp 0xad8cb
leaq -0x4e0(%rbp), %rdi
leaq -0x178(%rbp), %rsi
callq 0x2f300
jmp 0xad8e0
leaq -0x500(%rbp), %rdi
leaq -0x280(%rbp), %rsi
callq 0x2f300
jmp 0xad8f5
leaq -0x520(%rbp), %rdi
leaq -0x3a0(%rbp), %rsi
callq 0x2f300
jmp 0xad90a
movq -0x6e0(%rbp), %rdi
movq %rsp, %rax
movl $0x0, 0x18(%rax)
movl $0x0, 0x10(%rax)
movl $0x0, 0x8(%rax)
movl $0x0, (%rax)
leaq -0x4c0(%rbp), %rsi
leaq -0x4e0(%rbp), %rdx
leaq -0x500(%rbp), %rcx
leaq -0x520(%rbp), %r8
xorl %r9d, %r9d
callq 0x99b90
jmp 0xad955
leaq -0x520(%rbp), %rdi
callq 0x311e8
leaq -0x500(%rbp), %rdi
callq 0x311e8
leaq -0x4e0(%rbp), %rdi
callq 0x311e8
leaq -0x4c0(%rbp), %rdi
callq 0x8de70
jmp 0xada0d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
jmp 0xad9fc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
jmp 0xad9f0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
jmp 0xad9e4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
leaq -0x520(%rbp), %rdi
callq 0x311e8
leaq -0x500(%rbp), %rdi
callq 0x311e8
leaq -0x4e0(%rbp), %rdi
callq 0x311e8
leaq -0x4c0(%rbp), %rdi
callq 0x8de70
jmp 0xadbd7
movq -0x5b8(%rbp), %rax
movq 0xa8(%rax), %rax
cmpl $0x3, 0x1614(%rax)
jb 0xadb9f
movq 0x227521(%rip), %rdi    # 0x2d4f50
leaq 0x12ddb0(%rip), %rsi    # 0x1db7e6
callq 0x2ff50
movq %rax, -0x6e8(%rbp)
jmp 0xada44
movq -0x6e8(%rbp), %rdi
leaq -0x380(%rbp), %rsi
callq 0x2f780
movq %rax, -0x6f0(%rbp)
jmp 0xada60
movq -0x6f0(%rbp), %rdi
leaq 0x12dd90(%rip), %rsi    # 0x1db7fe
callq 0x2ff50
movq %rax, -0x6f8(%rbp)
jmp 0xada7c
movq -0x5b8(%rbp), %rax
movl 0x40(%rax), %esi
leaq -0x540(%rbp), %rdi
callq 0x17e460
jmp 0xada94
movq -0x6f8(%rbp), %rdi
leaq -0x540(%rbp), %rsi
callq 0x2f780
movq %rax, -0x700(%rbp)
jmp 0xadab0
movq -0x700(%rbp), %rdi
leaq 0x12dd46(%rip), %rsi    # 0x1db804
callq 0x2ff50
movq %rax, -0x708(%rbp)
jmp 0xadacc
movl -0x25c(%rbp), %esi
leaq -0x560(%rbp), %rdi
callq 0x17e460
jmp 0xadae0
movq -0x708(%rbp), %rdi
leaq -0x560(%rbp), %rsi
callq 0x2f780
movq %rax, -0x710(%rbp)
jmp 0xadafc
movq -0x710(%rbp), %rdi
leaq 0x1581de(%rip), %rsi    # 0x205ce8
callq 0x2ff50
movq %rax, -0x718(%rbp)
jmp 0xadb18
movq -0x718(%rbp), %rdi
movl -0x10(%rbp), %esi
callq 0x30640
movq %rax, -0x720(%rbp)
jmp 0xadb30
movq -0x720(%rbp), %rdi
movq 0x22748a(%rip), %rsi    # 0x2d4fc8
callq 0x30c10
jmp 0xadb45
leaq -0x560(%rbp), %rdi
callq 0x311e8
leaq -0x540(%rbp), %rdi
callq 0x311e8
jmp 0xadb9f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
jmp 0xadb91
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xf8(%rbp)
movl %eax, -0xfc(%rbp)
leaq -0x560(%rbp), %rdi
callq 0x311e8
leaq -0x540(%rbp), %rdi
callq 0x311e8
jmp 0xadbd7
leaq -0x3a0(%rbp), %rdi
callq 0x311e8
leaq -0x380(%rbp), %rdi
callq 0x311e8
leaq -0x280(%rbp), %rdi
callq 0x311e8
movl -0x25c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x25c(%rbp)
jmp 0xad2d2
leaq -0x3a0(%rbp), %rdi
callq 0x311e8
leaq -0x380(%rbp), %rdi
callq 0x311e8
leaq -0x280(%rbp), %rdi
callq 0x311e8
jmp 0xae21b
movq -0x5b8(%rbp), %rax
movq 0xa8(%rax), %rax
cmpl $0x3, 0x1614(%rax)
jb 0xadc69
movq -0x5b8(%rbp), %rax
movl 0x40(%rax), %esi
movq 0x227328(%rip), %rdi    # 0x2d4f50
callq 0x30640
movq %rax, -0x728(%rbp)
jmp 0xadc36
movq -0x728(%rbp), %rdi
leaq 0x12dbc4(%rip), %rsi    # 0x1db808
callq 0x2ff50
movq %rax, -0x730(%rbp)
jmp 0xadc52
movq -0x730(%rbp), %rdi
movq 0x227368(%rip), %rsi    # 0x2d4fc8
callq 0x30c10
jmp 0xadc67
jmp 0xadc69
movq -0x5b8(%rbp), %rax
movq 0xa8(%rax), %rax
movq (%rax), %r9
movl -0x10(%rbp), %esi
movq %rsp, %rax
movl $0xffffffff, (%rax)     # imm = 0xFFFFFFFF
movl $0x11, %ecx
xorl %r8d, %r8d
movq %r9, %rdi
movl %r8d, %edx
callq 0xcd520
jmp 0xadc9b
movl -0x17c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x17c(%rbp)
leaq -0x1a0(%rbp), %rdi
callq 0xb37f0
jmp 0xacded
jmp 0xadcbd
movq -0x5b8(%rbp), %rax
movq 0xa8(%rax), %rax
cmpl $0x3, 0x1614(%rax)
jb 0xadd07
movq 0x227275(%rip), %rdi    # 0x2d4f50
leaq 0x12db46(%rip), %rsi    # 0x1db828
callq 0x2ff50
movq %rax, -0x738(%rbp)
jmp 0xadcf0
movq -0x738(%rbp), %rdi
movq 0x2272ca(%rip), %rsi    # 0x2d4fc8
callq 0x30c10
jmp 0xadd05
jmp 0xadd07
movl -0x17c(%rbp), %eax
cmpl -0x180(%rbp), %eax
jl 0xaddd8
movq -0x5b8(%rbp), %rax
movq 0xa8(%rax), %rax
movq (%rax), %rdi
addq $0x18, %rdi
callq 0xb31c0
movq -0x5b8(%rbp), %rax
movq 0xa8(%rax), %rax
cmpl $0x3, 0x1614(%rax)
jb 0xaddd3
movq 0x2271fb(%rip), %rdi    # 0x2d4f50
leaq 0x12daff(%rip), %rsi    # 0x1db85b
callq 0x2ff50
movq %rax, -0x740(%rbp)
jmp 0xadd6a
movq -0x740(%rbp), %rdi
movl -0x17c(%rbp), %esi
callq 0x2f800
movq %rax, -0x748(%rbp)
jmp 0xadd85
movq -0x748(%rbp), %rdi
leaq 0x13330d(%rip), %rsi    # 0x1e10a0
callq 0x2ff50
movq %rax, -0x750(%rbp)
jmp 0xadda1
movq -0x750(%rbp), %rdi
movl -0x180(%rbp), %esi
callq 0x2f800
movq %rax, -0x758(%rbp)
jmp 0xaddbc
movq -0x758(%rbp), %rdi
movq 0x2271fe(%rip), %rsi    # 0x2d4fc8
callq 0x30c10
jmp 0xaddd1
jmp 0xaddd3
jmp 0xacbc6
movq -0x5b8(%rbp), %rax
movq 0xa8(%rax), %rax
cmpl $0x3, 0x1614(%rax)
jb 0xade22
movq 0x22715a(%rip), %rdi    # 0x2d4f50
leaq 0x12da94(%rip), %rsi    # 0x1db891
callq 0x2ff50
movq %rax, -0x760(%rbp)
jmp 0xade0b
movq -0x760(%rbp), %rdi
movq 0x2271af(%rip), %rsi    # 0x2d4fc8
callq 0x30c10
jmp 0xade20
jmp 0xade22
movq -0x5b8(%rbp), %rax
movq 0xa8(%rax), %rax
movq (%rax), %rdi
addq $0x18, %rdi
movl $0x16, -0x56c(%rbp)
leaq -0x56c(%rbp), %rsi
callq 0xb3160
movq %rax, -0x768(%rbp)
jmp 0xade56
movq -0x5b8(%rbp), %rax
movq -0x768(%rbp), %rcx
movq %rcx, -0x568(%rbp)
movq 0xa8(%rax), %rax
movq (%rax), %rdi
addq $0x18, %rdi
callq 0xb3820
movq %rax, -0x578(%rbp)
leaq -0x568(%rbp), %rdi
leaq -0x578(%rbp), %rsi
callq 0xb37c0
testb $0x1, %al
jne 0xadea1
jmp 0xadf52
movq -0x5b8(%rbp), %rax
movq 0xa8(%rax), %rax
cmpl $0x3, 0x1614(%rax)
jb 0xadeeb
movq 0x227091(%rip), %rdi    # 0x2d4f50
leaq 0x12d9fe(%rip), %rsi    # 0x1db8c4
callq 0x2ff50
movq %rax, -0x770(%rbp)
jmp 0xaded4
movq -0x770(%rbp), %rdi
movq 0x2270e6(%rip), %rsi    # 0x2d4fc8
callq 0x30c10
jmp 0xadee9
jmp 0xadeeb
movq -0x5b8(%rbp), %rax
movq 0xa8(%rax), %rax
movq (%rax), %rdi
callq 0xccd00
movq -0x5b8(%rbp), %rax
movq 0xa8(%rax), %rax
cmpl $0x3, 0x1614(%rax)
jb 0xadf4b
movq 0x227031(%rip), %rdi    # 0x2d4f50
leaq 0x12d9ba(%rip), %rsi    # 0x1db8e0
callq 0x2ff50
movq %rax, -0x778(%rbp)
jmp 0xadf34
movq -0x778(%rbp), %rdi
movq 0x227086(%rip), %rsi    # 0x2d4fc8
callq 0x30c10
jmp 0xadf49
jmp 0xadf4b
xorl %edi, %edi
callq 0x30200
movq -0x5b8(%rbp), %rax
movq 0xa8(%rax), %rax
movq (%rax), %rdi
addq $0x18, %rdi
movl $0x19, -0x584(%rbp)
leaq -0x584(%rbp), %rsi
callq 0xb3160
movq %rax, -0x780(%rbp)
jmp 0xadf86
movq -0x5b8(%rbp), %rax
movq -0x780(%rbp), %rcx
movq %rcx, -0x580(%rbp)
movq 0xa8(%rax), %rax
movq (%rax), %rdi
addq $0x18, %rdi
callq 0xb3820
movq %rax, -0x590(%rbp)
leaq -0x580(%rbp), %rdi
leaq -0x590(%rbp), %rsi
callq 0xb37c0
testb $0x1, %al
jne 0xadfd1
jmp 0xae115
movq -0x5b8(%rbp), %rax
movq 0xa8(%rax), %rax
cmpl $0x3, 0x1614(%rax)
jb 0xae04f
movq 0x226f61(%rip), %rdi    # 0x2d4f50
leaq 0x134a9b(%rip), %rsi    # 0x1e2a91
callq 0x2ff50
movq %rax, -0x788(%rbp)
jmp 0xae004
movq -0x788(%rbp), %rdi
movl -0x10(%rbp), %esi
callq 0x30640
movq %rax, -0x790(%rbp)
jmp 0xae01c
movq -0x790(%rbp), %rdi
leaq 0x12d8d1(%rip), %rsi    # 0x1db8fb
callq 0x2ff50
movq %rax, -0x798(%rbp)
jmp 0xae038
movq -0x798(%rbp), %rdi
movq 0x226f82(%rip), %rsi    # 0x2d4fc8
callq 0x30c10
jmp 0xae04d
jmp 0xae04f
movq -0x5b8(%rbp), %rdi
movq 0xa8(%rdi), %rax
movl 0x13ec(%rax), %ecx
incl %ecx
movl %ecx, 0x13ec(%rax)
movl $0x0, 0xb0(%rdi)
movl -0xc(%rbp), %eax
movl %eax, %esi
callq 0xb2a00
movq %rax, -0x7a0(%rbp)
jmp 0xae088
movq -0x7a0(%rbp), %rdi
callq 0xb3850
movq -0x5b8(%rbp), %rdi
callq 0xa3640
jmp 0xae0a2
movq -0x5b8(%rbp), %rax
movq 0xa8(%rax), %rax
cmpl $0x3, 0x1614(%rax)
jb 0xae0ec
movq 0x226e90(%rip), %rdi    # 0x2d4f50
leaq 0x12d857(%rip), %rsi    # 0x1db91e
callq 0x2ff50
movq %rax, -0x7a8(%rbp)
jmp 0xae0d5
movq -0x7a8(%rbp), %rdi
movq 0x226ee5(%rip), %rsi    # 0x2d4fc8
callq 0x30c10
jmp 0xae0ea
jmp 0xae0ec
movq -0x5b8(%rbp), %rax
movq 0xa8(%rax), %rax
movq (%rax), %rdi
addq $0x18, %rdi
callq 0xb31c0
movl $0x1, -0x594(%rbp)
jmp 0xae206
movq -0x5b8(%rbp), %rax
movq 0xa8(%rax), %rax
movq (%rax), %rdi
addq $0x18, %rdi
movl $0x12, -0x5a4(%rbp)
leaq -0x5a4(%rbp), %rsi
callq 0xb3160
movq %rax, -0x7b0(%rbp)
jmp 0xae149
movq -0x5b8(%rbp), %rax
movq -0x7b0(%rbp), %rcx
movq %rcx, -0x5a0(%rbp)
movq 0xa8(%rax), %rax
movq (%rax), %rdi
addq $0x18, %rdi
callq 0xb3820
movq %rax, -0x5b0(%rbp)
leaq -0x5a0(%rbp), %rdi
leaq -0x5b0(%rbp), %rsi
callq 0xb37c0
testb $0x1, %al
jne 0xae191
jmp 0xae1e7
movq -0x5b8(%rbp), %rax
movq 0xa8(%rax), %rax
cmpl $0x3, 0x1614(%rax)
jb 0xae1db
movq 0x226da1(%rip), %rdi    # 0x2d4f50
leaq 0x12d7b4(%rip), %rsi    # 0x1db96a
callq 0x2ff50
movq %rax, -0x7b8(%rbp)
jmp 0xae1c4
movq -0x7b8(%rbp), %rdi
movq 0x226df6(%rip), %rsi    # 0x2d4fc8
callq 0x30c10
jmp 0xae1d9
jmp 0xae1db
movl $0x1, -0x594(%rbp)
jmp 0xae206
movq -0x5b8(%rbp), %rax
movq 0xa8(%rax), %rax
movq (%rax), %rdi
addq $0x18, %rdi
callq 0xb31c0
jmp 0xacbc6
leaq -0x178(%rbp), %rdi
callq 0x311e8
addq $0x7e0, %rsp            # imm = 0x7E0
popq %rbp
retq
leaq -0x178(%rbp), %rdi
callq 0x311e8
movq -0xf8(%rbp), %rdi
callq 0x30170
nopw %cs:(%rax,%rax)