// File: /workspace/github_cpp_makefile_star2_O1/zerolfx[P]P-Machine/movs.cpp
// Function: Movs::execute(StackMachine*)
void Movs::execute(StackMachine *stack)
{	
	StackAddress p;
	
	if((stack->fSP < 0) || (typeid(p) != typeid(*(stack->fStore[stack->fSP]))))
		throw ExecutionError("instruction movs: highest stackposition expected to be of type address.");
		
	int newaddress = stack->fStore[stack->fSP]->getValue();

	delete stack->fStore[stack->fSP];
	stack->fStore[stack->fSP] = 0;
	stack->fStore.pop_back();
	
	if(newaddress < 0)
	{	
		// copying a block from the heapspace to the top of the stack
		// pay attention to the reverse with respect to what the book describes on p50
	
		StackInteger p1;
		StackBoolean p2;
		StackAddress p3;
		StackCharacter p4;
		StackReal p5;
		StackElement p6;
				
		for(int i = 0; i <= fQ - 1; ++i)
		{
			if(typeid(p1) == typeid(*stack->fHeap[- i - newaddress - 1]))
				stack->fStore.push_back(new StackInteger(*(dynamic_cast<StackInteger*>(stack->fHeap[i - newaddress]))));
			if(typeid(p2) == typeid(*stack->fHeap[- i - newaddress - 1]))
				stack->fStore.push_back(new StackBoolean(*(dynamic_cast<StackBoolean*>(stack->fHeap[i - newaddress]))));
			if(typeid(p3) == typeid(*stack->fHeap[- i - newaddress - 1]))
				stack->fStore.push_back(new StackAddress(*(dynamic_cast<StackAddress*>(stack->fHeap[i - newaddress]))));			
			if(typeid(p4) == typeid(*stack->fHeap[- i - newaddress - 1]))
				stack->fStore.push_back(new StackCharacter(*(dynamic_cast<StackCharacter*>(stack->fHeap[i - newaddress]))));
			if(typeid(p5) == typeid(*stack->fHeap[- i - newaddress - 1]))
				stack->fStore.push_back(new StackReal(*(dynamic_cast<StackReal*>(stack->fHeap[i - newaddress]))));
			if(typeid(p6) == typeid(*stack->fHeap[- i - newaddress - 1]))
				stack->fStore.push_back(new StackElement(*(dynamic_cast<StackElement*>(stack->fHeap[i - newaddress]))));
		}
	}
	else
	{
		// copying a block from the stackspace to the top of the stack
		// pay attention to the reverse with respect to what the book describes on p50

		StackInteger p1;
		StackBoolean p2;
		StackAddress p3;
		StackCharacter p4;
		StackReal p5;
		StackElement p6;
	
		for(int i = 0; i <= fQ - 1; ++i)
		{
			if(typeid(p1) == typeid(*stack->fStore[i + newaddress]))
				stack->fStore.push_back(new StackInteger(*(dynamic_cast<StackInteger*>(stack->fStore[i + newaddress]))));
			if(typeid(p2) == typeid(*stack->fStore[i + newaddress]))
				stack->fStore.push_back(new StackBoolean(*(dynamic_cast<StackBoolean*>(stack->fStore[i + newaddress]))));
			if(typeid(p3) == typeid(*stack->fStore[i + newaddress]))
				stack->fStore.push_back(new StackAddress(*(dynamic_cast<StackAddress*>(stack->fStore[i + newaddress]))));			
			if(typeid(p4) == typeid(*stack->fStore[i + newaddress]))
				stack->fStore.push_back(new StackCharacter(*(dynamic_cast<StackCharacter*>(stack->fStore[i + newaddress]))));
			if(typeid(p5) == typeid(*stack->fStore[i + newaddress]))
				stack->fStore.push_back(new StackReal(*(dynamic_cast<StackReal*>(stack->fStore[i + newaddress]))));
			if(typeid(p6) == typeid(*stack->fStore[i + newaddress]))
				stack->fStore.push_back(new StackElement(*(dynamic_cast<StackElement*>(stack->fStore[i + newaddress]))));
		}
	}
	
	stack->fSP = stack->fSP + fQ - 1;
	
	// adding cost of this instruction
	stack->fTime.count("movs");

}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0xd8, %rsp
movq %rsi, %r15
movq %rdi, -0x48(%rbp)
leaq -0x100(%rbp), %rdi
xorl %esi, %esi
callq 0x1a3d0
movslq 0xb4(%r15), %rbx
testq %rbx, %rbx
js 0x12f81
movq 0x18(%r15), %r14
movq (%r14,%rbx,8), %rax
testq %rax, %rax
je 0x12fd6
movq (%rax), %rax
movq -0x8(%rax), %rax
leaq 0x21300(%rip), %rcx     # 0x33960
movq 0x8(%rcx), %r12
movq 0x8(%rax), %rsi
cmpq %rsi, %r12
je 0x12688
cmpb $0x2a, (%r12)
je 0x12f81
movq %r12, %rdi
callq 0x6310
testl %eax, %eax
jne 0x12f81
movq (%r14,%rbx,8), %rdi
movq (%rdi), %rax
callq *0x68(%rax)
movl %eax, %ebx
movq %r12, -0x40(%rbp)
movslq 0xb4(%r15), %rax
movq 0x18(%r15), %rcx
movq (%rcx,%rax,8), %r14
testq %r14, %r14
je 0x126c1
movq %r14, %rdi
callq 0x1a5cc
movl $0x8, %esi
movq %r14, %rdi
callq 0x6210
leaq 0x18(%r15), %r12
movslq 0xb4(%r15), %rax
movq 0x18(%r15), %rcx
movq $0x0, (%rcx,%rax,8)
movq %r15, -0x38(%rbp)
addq $-0x8, 0x20(%r15)
testl %ebx, %ebx
js 0x12ab7
leaq -0x70(%rbp), %rdi
xorl %esi, %esi
callq 0x1aca0
leaq -0xe0(%rbp), %rdi
xorl %esi, %esi
callq 0x1b10c
leaq -0xd0(%rbp), %rdi
xorl %esi, %esi
callq 0x1a3d0
leaq -0xc0(%rbp), %rdi
movl $0x61, %esi
callq 0x1b308
leaq -0xb0(%rbp), %rdi
xorps %xmm0, %xmm0
callq 0x1aec8
leaq -0x50(%rbp), %rdi
callq 0x1a5bc
movq -0x48(%rbp), %rax
cmpl $0x0, 0x8(%rax)
jle 0x12eb8
movl %ebx, %ebx
xorl %r14d, %r14d
leaq 0x212ed(%rip), %rax     # 0x33a40
addq $0x10, %rax
movq %rax, -0xa0(%rbp)
leaq 0x2147b(%rip), %rax     # 0x33be0
addq $0x10, %rax
movq %rax, -0x98(%rbp)
leaq 0x21131(%rip), %rax     # 0x338a8
addq $0x10, %rax
movq %rax, -0x90(%rbp)
leaq 0x21527(%rip), %rax     # 0x33cb0
addq $0x10, %rax
movq %rax, -0x88(%rbp)
leaq 0x21375(%rip), %rax     # 0x33b10
addq $0x10, %rax
movq %rax, -0x80(%rbp)
leaq 0x211ce(%rip), %rax     # 0x33978
addq $0x10, %rax
movq %rax, -0x78(%rbp)
movq (%r12), %r13
movq (%r13,%rbx,8), %rax
testq %rax, %rax
je 0x12f77
movq (%rax), %rax
movq -0x8(%rax), %rax
leaq 0x21326(%rip), %rcx     # 0x33af8
movq 0x8(%rcx), %rdi
movq 0x8(%rax), %rsi
cmpq %rsi, %rdi
je 0x127ed
cmpb $0x2a, (%rdi)
je 0x12835
callq 0x6310
testl %eax, %eax
jne 0x12835
movl $0x10, %edi
callq 0x6200
movq %rax, %r15
movq (%r13,%rbx,8), %rdi
leaq 0x2122a(%rip), %rsi     # 0x33a30
leaq 0x212eb(%rip), %rdx     # 0x33af8
xorl %ecx, %ecx
callq 0x6260
movq -0xa0(%rbp), %rcx
movq %rcx, (%r15)
movl 0x8(%rax), %eax
movl %eax, 0x8(%r15)
movq %r15, -0x30(%rbp)
movq %r12, %rdi
leaq -0x30(%rbp), %rsi
callq 0xa3ae
movq (%r12), %r13
movq (%r13,%rbx,8), %rax
testq %rax, %rax
je 0x12f77
movq (%rax), %rax
movq -0x8(%rax), %rax
leaq 0x21443(%rip), %rcx     # 0x33c98
movq 0x8(%rcx), %rdi
movq 0x8(%rax), %rsi
cmpq %rsi, %rdi
je 0x12870
cmpb $0x2a, (%rdi)
je 0x128b8
callq 0x6310
testl %eax, %eax
jne 0x128b8
movl $0x10, %edi
callq 0x6200
movq %rax, %r15
movq (%r13,%rbx,8), %rdi
leaq 0x211a7(%rip), %rsi     # 0x33a30
leaq 0x21408(%rip), %rdx     # 0x33c98
xorl %ecx, %ecx
callq 0x6260
movq -0x98(%rbp), %rcx
movq %rcx, (%r15)
movl 0x8(%rax), %eax
movl %eax, 0x8(%r15)
movq %r15, -0x30(%rbp)
movq %r12, %rdi
leaq -0x30(%rbp), %rsi
callq 0xa3ae
movq (%r12), %r13
movq (%r13,%rbx,8), %rax
testq %rax, %rax
je 0x12f77
movq (%rax), %rax
movq -0x8(%rax), %rax
movq 0x8(%rax), %rsi
cmpq %rsi, -0x40(%rbp)
je 0x128f1
movq -0x40(%rbp), %rax
cmpb $0x2a, (%rax)
je 0x12939
movq -0x40(%rbp), %rdi
callq 0x6310
testl %eax, %eax
jne 0x12939
movl $0x10, %edi
callq 0x6200
movq %rax, %r15
movq (%r13,%rbx,8), %rdi
leaq 0x21126(%rip), %rsi     # 0x33a30
leaq 0x2104f(%rip), %rdx     # 0x33960
xorl %ecx, %ecx
callq 0x6260
movq -0x90(%rbp), %rcx
movq %rcx, (%r15)
movl 0x8(%rax), %eax
movl %eax, 0x8(%r15)
movq %r15, -0x30(%rbp)
movq %r12, %rdi
leaq -0x30(%rbp), %rsi
callq 0xa3ae
movq (%r12), %r13
movq (%r13,%rbx,8), %rax
testq %rax, %rax
je 0x12f77
movq (%rax), %rax
movq -0x8(%rax), %rax
leaq 0x2140f(%rip), %rcx     # 0x33d68
movq 0x8(%rcx), %rdi
movq 0x8(%rax), %rsi
cmpq %rsi, %rdi
je 0x12974
cmpb $0x2a, (%rdi)
je 0x129bc
callq 0x6310
testl %eax, %eax
jne 0x129bc
movl $0x10, %edi
callq 0x6200
movq %rax, %r15
movq (%r13,%rbx,8), %rdi
leaq 0x210a3(%rip), %rsi     # 0x33a30
leaq 0x213d4(%rip), %rdx     # 0x33d68
xorl %ecx, %ecx
callq 0x6260
movq -0x88(%rbp), %rcx
movq %rcx, (%r15)
movb 0x8(%rax), %al
movb %al, 0x8(%r15)
movq %r15, -0x30(%rbp)
movq %r12, %rdi
leaq -0x30(%rbp), %rsi
callq 0xa3ae
movq (%r12), %r13
movq (%r13,%rbx,8), %rax
testq %rax, %rax
je 0x12f77
movq (%rax), %rax
movq -0x8(%rax), %rax
leaq 0x211ec(%rip), %rcx     # 0x33bc8
movq 0x8(%rcx), %rdi
movq 0x8(%rax), %rsi
cmpq %rsi, %rdi
je 0x129f7
cmpb $0x2a, (%rdi)
je 0x12a40
callq 0x6310
testl %eax, %eax
jne 0x12a40
movl $0x10, %edi
callq 0x6200
movq %rax, %r15
movq (%r13,%rbx,8), %rdi
leaq 0x21020(%rip), %rsi     # 0x33a30
leaq 0x211b1(%rip), %rdx     # 0x33bc8
xorl %ecx, %ecx
callq 0x6260
movq -0x80(%rbp), %rcx
movq %rcx, (%r15)
movsd 0x8(%rax), %xmm0
movsd %xmm0, 0x8(%r15)
movq %r15, -0x30(%rbp)
movq %r12, %rdi
leaq -0x30(%rbp), %rsi
callq 0xa3ae
movq (%r12), %rax
movq (%rax,%rbx,8), %rax
testq %rax, %rax
je 0x12f77
movq (%rax), %rax
movq -0x8(%rax), %rax
leaq 0x20fd1(%rip), %rcx     # 0x33a30
movq 0x8(%rcx), %rdi
movq 0x8(%rax), %rsi
cmpq %rsi, %rdi
je 0x12a7a
cmpb $0x2a, (%rdi)
je 0x12a9b
callq 0x6310
testl %eax, %eax
jne 0x12a9b
movl $0x8, %edi
callq 0x6200
movq -0x78(%rbp), %rcx
movq %rcx, (%rax)
movq %rax, -0x30(%rbp)
movq %r12, %rdi
leaq -0x30(%rbp), %rsi
callq 0xa3ae
incq %r14
movq -0x48(%rbp), %rax
movslq 0x8(%rax), %rax
incq %rbx
cmpq %rax, %r14
jl 0x127b2
jmp 0x12eb8
leaq -0x70(%rbp), %rdi
xorl %esi, %esi
callq 0x1aca0
leaq -0xe0(%rbp), %rdi
xorl %esi, %esi
callq 0x1b10c
leaq -0xd0(%rbp), %rdi
xorl %esi, %esi
callq 0x1a3d0
leaq -0xc0(%rbp), %rdi
movl $0x61, %esi
callq 0x1b308
leaq -0xb0(%rbp), %rdi
xorps %xmm0, %xmm0
callq 0x1aec8
leaq -0x50(%rbp), %rdi
callq 0x1a5bc
movq -0x48(%rbp), %rax
cmpl $0x0, 0x8(%rax)
jle 0x12eb8
movslq %ebx, %r15
notl %ebx
shlq $0x3, %r15
negq %r15
xorl %r14d, %r14d
leaq 0x20f15(%rip), %rax     # 0x33a40
addq $0x10, %rax
movq %rax, -0x90(%rbp)
leaq 0x210a3(%rip), %rax     # 0x33be0
addq $0x10, %rax
movq %rax, -0x88(%rbp)
leaq 0x20d59(%rip), %rax     # 0x338a8
addq $0x10, %rax
movq %rax, -0x80(%rbp)
leaq 0x21152(%rip), %rax     # 0x33cb0
addq $0x10, %rax
movq %rax, -0x78(%rbp)
leaq 0x20fa3(%rip), %rax     # 0x33b10
addq $0x10, %rax
movq %rax, -0xf0(%rbp)
leaq 0x20df9(%rip), %rax     # 0x33978
addq $0x10, %rax
movq %rax, -0xe8(%rbp)
movq %r14, -0x98(%rbp)
movl %ebx, -0xa0(%rbp)
movslq %ebx, %r13
movq -0x38(%rbp), %rax
movq 0x30(%rax), %rbx
movq (%rbx,%r13,8), %rax
testq %rax, %rax
je 0x12f7c
movq (%rax), %rax
movq -0x8(%rax), %rax
leaq 0x20f3b(%rip), %rcx     # 0x33af8
movq 0x8(%rcx), %rdi
movq 0x8(%rax), %rsi
cmpq %rsi, %rdi
je 0x12bd8
cmpb $0x2a, (%rdi)
je 0x12c1f
callq 0x6310
testl %eax, %eax
jne 0x12c1f
movl $0x10, %edi
callq 0x6200
movq %rax, %r14
movq (%rbx,%r15), %rdi
leaq 0x20e40(%rip), %rsi     # 0x33a30
leaq 0x20f01(%rip), %rdx     # 0x33af8
xorl %ecx, %ecx
callq 0x6260
movq -0x90(%rbp), %rcx
movq %rcx, (%r14)
movl 0x8(%rax), %eax
movl %eax, 0x8(%r14)
movq %r14, -0x30(%rbp)
movq %r12, %rdi
leaq -0x30(%rbp), %rsi
callq 0xa3ae
movq -0x38(%rbp), %rax
movq 0x30(%rax), %rbx
movq (%rbx,%r13,8), %rax
testq %rax, %rax
je 0x12f7c
movq (%rax), %rax
movq -0x8(%rax), %rax
leaq 0x21056(%rip), %rcx     # 0x33c98
movq 0x8(%rcx), %rdi
movq 0x8(%rax), %rsi
cmpq %rsi, %rdi
je 0x12c5d
cmpb $0x2a, (%rdi)
je 0x12ca4
callq 0x6310
testl %eax, %eax
jne 0x12ca4
movl $0x10, %edi
callq 0x6200
movq %rax, %r14
movq (%rbx,%r15), %rdi
leaq 0x20dbb(%rip), %rsi     # 0x33a30
leaq 0x2101c(%rip), %rdx     # 0x33c98
xorl %ecx, %ecx
callq 0x6260
movq -0x88(%rbp), %rcx
movq %rcx, (%r14)
movl 0x8(%rax), %eax
movl %eax, 0x8(%r14)
movq %r14, -0x30(%rbp)
movq %r12, %rdi
leaq -0x30(%rbp), %rsi
callq 0xa3ae
movq -0x38(%rbp), %rax
movq 0x30(%rax), %rbx
movq (%rbx,%r13,8), %rax
testq %rax, %rax
je 0x12f7c
movq (%rax), %rax
movq -0x8(%rax), %rax
movq 0x8(%rax), %rsi
cmpq %rsi, -0x40(%rbp)
je 0x12ce0
movq -0x40(%rbp), %rax
cmpb $0x2a, (%rax)
je 0x12d24
movq -0x40(%rbp), %rdi
callq 0x6310
testl %eax, %eax
jne 0x12d24
movl $0x10, %edi
callq 0x6200
movq %rax, %r14
movq (%rbx,%r15), %rdi
leaq 0x20d38(%rip), %rsi     # 0x33a30
leaq 0x20c61(%rip), %rdx     # 0x33960
xorl %ecx, %ecx
callq 0x6260
movq -0x80(%rbp), %rcx
movq %rcx, (%r14)
movl 0x8(%rax), %eax
movl %eax, 0x8(%r14)
movq %r14, -0x30(%rbp)
movq %r12, %rdi
leaq -0x30(%rbp), %rsi
callq 0xa3ae
movq -0x38(%rbp), %rax
movq 0x30(%rax), %rbx
movq (%rbx,%r13,8), %rax
testq %rax, %rax
je 0x12f7c
movq (%rax), %rax
movq -0x8(%rax), %rax
leaq 0x21021(%rip), %rcx     # 0x33d68
movq 0x8(%rcx), %rdi
movq 0x8(%rax), %rsi
cmpq %rsi, %rdi
je 0x12d62
cmpb $0x2a, (%rdi)
je 0x12da6
callq 0x6310
testl %eax, %eax
jne 0x12da6
movl $0x10, %edi
callq 0x6200
movq %rax, %r14
movq (%rbx,%r15), %rdi
leaq 0x20cb6(%rip), %rsi     # 0x33a30
leaq 0x20fe7(%rip), %rdx     # 0x33d68
xorl %ecx, %ecx
callq 0x6260
movq -0x78(%rbp), %rcx
movq %rcx, (%r14)
movb 0x8(%rax), %al
movb %al, 0x8(%r14)
movq %r14, -0x30(%rbp)
movq %r12, %rdi
leaq -0x30(%rbp), %rsi
callq 0xa3ae
movq -0x38(%rbp), %rax
movq 0x30(%rax), %rbx
movq (%rbx,%r13,8), %rax
testq %rax, %rax
je 0x12f7c
movq (%rax), %rax
movq -0x8(%rax), %rax
leaq 0x20dff(%rip), %rcx     # 0x33bc8
movq 0x8(%rcx), %rdi
movq 0x8(%rax), %rsi
cmpq %rsi, %rdi
je 0x12de4
cmpb $0x2a, (%rdi)
je 0x12e2f
callq 0x6310
testl %eax, %eax
jne 0x12e2f
movl $0x10, %edi
callq 0x6200
movq %rax, %r14
movq (%rbx,%r15), %rdi
leaq 0x20c34(%rip), %rsi     # 0x33a30
leaq 0x20dc5(%rip), %rdx     # 0x33bc8
xorl %ecx, %ecx
callq 0x6260
movq -0xf0(%rbp), %rcx
movq %rcx, (%r14)
movsd 0x8(%rax), %xmm0
movsd %xmm0, 0x8(%r14)
movq %r14, -0x30(%rbp)
movq %r12, %rdi
leaq -0x30(%rbp), %rsi
callq 0xa3ae
movq -0x38(%rbp), %rax
movq 0x30(%rax), %rax
movq (%rax,%r13,8), %rax
testq %rax, %rax
je 0x12f7c
movq (%rax), %rax
movq -0x8(%rax), %rax
leaq 0x20bde(%rip), %rcx     # 0x33a30
movq 0x8(%rcx), %rdi
movq 0x8(%rax), %rsi
cmpq %rsi, %rdi
movl -0xa0(%rbp), %ebx
movq -0x98(%rbp), %r14
je 0x12e7a
cmpb $0x2a, (%rdi)
je 0x12e9e
callq 0x6310
testl %eax, %eax
jne 0x12e9e
movl $0x8, %edi
callq 0x6200
movq -0xe8(%rbp), %rcx
movq %rcx, (%rax)
movq %rax, -0x30(%rbp)
movq %r12, %rdi
leaq -0x30(%rbp), %rsi
callq 0xa3ae
incq %r14
movq -0x48(%rbp), %rax
movslq 0x8(%rax), %rax
decl %ebx
addq $0x8, %r15
cmpq %rax, %r14
jl 0x12b8a
leaq -0x50(%rbp), %rdi
callq 0x1a5cc
leaq -0xb0(%rbp), %rdi
callq 0x1aef6
leaq -0xc0(%rbp), %rdi
callq 0x1b32c
leaq -0xd0(%rbp), %rdi
callq 0x1a3f4
leaq -0xe0(%rbp), %rdi
callq 0x1b130
leaq -0x70(%rbp), %rdi
callq 0x1acc4
movq -0x38(%rbp), %rbx
movl 0xb4(%rbx), %eax
movq -0x48(%rbp), %rcx
movl 0x8(%rcx), %ecx
leal -0x1(%rax,%rcx), %eax
movl %eax, 0xb4(%rbx)
leaq -0x60(%rbp), %r14
movq %r14, -0x10(%r14)
leaq 0x1214d(%rip), %rsi     # 0x25071
leaq 0x1214a(%rip), %rdx     # 0x25075
leaq -0x70(%rbp), %rdi
callq 0x746c
addq $0x78, %rbx
leaq -0x70(%rbp), %rsi
movq %rbx, %rdi
callq 0x1ce78
movq -0x70(%rbp), %rdi
cmpq %r14, %rdi
je 0x12f59
movq -0x60(%rbp), %rsi
incq %rsi
callq 0x6210
leaq -0x100(%rbp), %rdi
callq 0x1a3f4
addq $0xd8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
callq 0x6250
callq 0x6250
movl $0x20, %edi
callq 0x6100
movq %rax, %r14
leaq -0x60(%rbp), %r12
movq %r12, -0x10(%r12)
leaq 0x1208b(%rip), %rsi     # 0x25029
leaq 0x120cb(%rip), %rdx     # 0x25070
leaq -0x70(%rbp), %rdi
callq 0x746c
movb $0x1, %r15b
leaq -0x70(%rbp), %rsi
movq %r14, %rdi
callq 0x1b418
xorl %r15d, %r15d
leaq 0x1fac1(%rip), %rsi     # 0x32a88
leaq 0x8468(%rip), %rdx      # 0x1b436
movq %r14, %rdi
callq 0x63e0
callq 0x6250
jmp 0x12fe7
jmp 0x12fef
jmp 0x12ff7
jmp 0x12fff
jmp 0x13007
jmp 0x13036
movq %rax, %rbx
jmp 0x13093
movq %rax, %rbx
jmp 0x1309f
movq %rax, %rbx
jmp 0x130ab
movq %rax, %rbx
jmp 0x130b7
movq %rax, %rbx
jmp 0x130c3
jmp 0x13036
movq %rax, %rbx
movq -0x70(%rbp), %rdi
cmpq %r14, %rdi
je 0x130cc
movq -0x60(%rbp), %rsi
incq %rsi
callq 0x6210
jmp 0x130cc
jmp 0x13036
jmp 0x13036
movq %rax, %rbx
jmp 0x130cc
movq %rax, %rbx
movq -0x70(%rbp), %rdi
cmpq %r12, %rdi
je 0x1305e
movq -0x60(%rbp), %rsi
incq %rsi
callq 0x6210
jmp 0x1305e
movq %rax, %rbx
movb $0x1, %r15b
testb %r15b, %r15b
je 0x130cc
movq %r14, %rdi
callq 0x6170
jmp 0x130cc
jmp 0x13087
jmp 0x13087
jmp 0x13087
jmp 0x13087
jmp 0x13087
jmp 0x13087
jmp 0x13087
jmp 0x13087
jmp 0x13087
jmp 0x13087
jmp 0x13087
jmp 0x13087
jmp 0x13087
movq %rax, %rbx
leaq -0x50(%rbp), %rdi
callq 0x1a5cc
leaq -0xb0(%rbp), %rdi
callq 0x1aef6
leaq -0xc0(%rbp), %rdi
callq 0x1b32c
leaq -0xd0(%rbp), %rdi
callq 0x1a3f4
leaq -0xe0(%rbp), %rdi
callq 0x1b130
leaq -0x70(%rbp), %rdi
callq 0x1acc4
leaq -0x100(%rbp), %rdi
callq 0x1a3f4
movq %rbx, %rdi
callq 0x6410