// File: /workspace/github_cpp_makefile_star2_O3/ys1998[P]spsim/src/queues.cpp
// Function: IntegerQueue::issue(int)
Instruction IntegerQueue::issue(int idx){
	switch(idx){
		case 0:
		// prefer branch
		for(size_t i=0; i < _q.size(); ++i){
			Instruction temp = _q[i];
			auto type = temp.type();
			if(temp.is_valid() && (std::get<0>(type) == OPCODE["beq"] || std::get<0>(type) == OPCODE["bne"])){
				auto regs = temp.physical_regs();
				if(!*(b + std::get<0>(regs)) && !*(b + std::get<1>(regs))){
					_q.erase(_q.begin() + i);
					return temp;
				}
			}
		}

		// send only an addition or subtraction operation
		for(size_t i=0; i < _q.size(); ++i){
			Instruction temp = _q[i];
			auto type = temp.type();
			if(temp.is_valid() && (std::get<1>(type) == FUNCT["add"] || std::get<1>(type) == FUNCT["sub"])){
				auto regs = temp.physical_regs();
				if(!*(b + std::get<0>(regs)) && !*(b + std::get<1>(regs))){
					_q.erase(_q.begin() + i);
					return temp;
				}
			}
		}
		break;

		case 1:
		// first preference to division and multiplication
		for(size_t i=0; i < _q.size(); ++i){
			Instruction temp = _q[i];
			auto type = temp.type();
			if(temp.is_valid() && (std::get<1>(type) == FUNCT["div"] || std::get<1>(type) == FUNCT["mult"])){
				auto regs = temp.physical_regs();
				if(!*(b + std::get<0>(regs)) && !*(b + std::get<1>(regs))){
					_q.erase(_q.begin() + i);
					return temp;
				}
			}
		}
		// but if neither operation is present, send addition or subtraction
		for(size_t i=0; i < _q.size(); ++i){
			Instruction temp = _q[i];
			auto type = temp.type();
			if(temp.is_valid() && (std::get<1>(type) == FUNCT["add"] || std::get<1>(type) == FUNCT["sub"])){
				auto regs = temp.physical_regs();
				if(!*(b + std::get<0>(regs)) && !*(b + std::get<1>(regs))){
					_q.erase(_q.begin() + i);
					return temp;
				}
			}
		}
		break;

		default:
		break;
	}
	// send an invalid operation/instruction if no match is found
	return Instruction();
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x78, %rsp
movq %rsi, %r14
movq %rdi, %rbx
testl %edx, %edx
je 0x1232d
cmpl $0x1, %edx
jne 0x12969
leaq 0x50(%rbx), %rax
movq %rax, 0x10(%rsp)
leaq 0x60(%rbx), %r12
movq $0x0, 0x8(%rsp)
xorl %r15d, %r15d
movq %r12, 0x20(%rsp)
movq 0x48(%r14), %rcx
movq 0x28(%r14), %rax
movq %rcx, %rsi
subq %rax, %rsi
sarq $0x3, %rsi
cmpq $0x1, %rcx
adcq $-0x1, %rsi
movq 0x30(%r14), %rdx
movq 0x38(%r14), %rdi
movq %rdx, %r8
subq %rdi, %r8
sarq $0x3, %r8
movabsq $-0x1111111111111111, %r10 # imm = 0xEEEEEEEEEEEEEEEF
imulq %r10, %r8
leaq (%r8,%rsi,4), %r8
movq 0x10(%r14), %rbp
movq 0x20(%r14), %rsi
movq %rsi, %r9
subq %rbp, %r9
sarq $0x3, %r9
imulq %r10, %r9
addq %r8, %r9
cmpq %r9, %r15
jae 0x12551
movq %rbp, %rcx
subq 0x18(%r14), %rcx
sarq $0x3, %rcx
imulq %r10, %rcx
addq %r15, %rcx
js 0x121a8
cmpq $0x3, %rcx
ja 0x121b1
addq 0x8(%rsp), %rbp
jmp 0x121cb
movq %rcx, %rdx
sarq $0x2, %rdx
jmp 0x121b8
movq %rcx, %rdx
shrq $0x2, %rdx
leaq (,%rdx,4), %rsi
subq %rsi, %rcx
imulq $0x78, %rcx, %rbp
addq (%rax,%rdx,8), %rbp
movl $0xa, %ecx
movq %rbx, %rdi
movq %rbp, %rsi
rep  movsq (%rsi), %es:(%rdi)
movq %r12, 0x50(%rbx)
movq 0x50(%rbp), %rsi
movq 0x58(%rbp), %rdx
addq %rsi, %rdx
movq 0x10(%rsp), %rdi
callq 0x5274
movq 0x70(%rbp), %rax
movq %rax, 0x70(%rbx)
leaq 0x18(%rsp), %rdi
movq %rbx, %rsi
callq 0xa8b8
cmpl $-0x1, 0x4(%rbx)
leaq 0x48(%rsp), %rbp
je 0x12306
cmpl $-0x1, (%rbx)
je 0x12306
movl 0x18(%rsp), %r12d
leaq 0x58(%rsp), %rax
movq %rax, 0x48(%rsp)
movq %rbp, %rdi
leaq 0x3de1(%rip), %rsi      # 0x16019
leaq 0x3ddd(%rip), %rdx      # 0x1601c
callq 0x530a
leaq 0x9ff5(%rip), %rdi      # 0x1c240
movq %rbp, %rsi
callq 0x5136
movb $0x1, %bpl
cmpl (%rax), %r12d
movq 0x20(%rsp), %r12
je 0x122ba
movl 0x18(%rsp), %ebp
leaq 0x38(%rsp), %rax
movq %rax, 0x28(%rsp)
leaq 0x28(%rsp), %r13
movq %r13, %rdi
leaq 0x3d97(%rip), %rsi      # 0x16014
leaq 0x3d94(%rip), %rdx      # 0x16018
callq 0x530a
leaq 0x9fb0(%rip), %rdi      # 0x1c240
movq %r13, %rsi
callq 0x5136
cmpl (%rax), %ebp
sete %bpl
movq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x122ba
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x3200
movq 0x48(%rsp), %rdi
leaq 0x58(%rsp), %rax
cmpq %rax, %rdi
je 0x122d6
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x3200
testb %bpl, %bpl
je 0x12306
leaq 0x68(%rsp), %rdi
movq %rbx, %rsi
callq 0xa88e
movq 0x50(%r14), %rax
movslq 0x74(%rsp), %rcx
cmpb $0x0, (%rax,%rcx)
jne 0x12306
movslq 0x70(%rsp), %rcx
cmpb $0x0, (%rax,%rcx)
je 0x12983
movq 0x10(%rsp), %rax
movq (%rax), %rdi
cmpq %r12, %rdi
je 0x1231f
movq (%r12), %rsi
incq %rsi
callq 0x3200
incq %r15
addq $0x78, 0x8(%rsp)
jmp 0x12127
leaq 0x50(%rbx), %rax
movq %rax, 0x10(%rsp)
leaq 0x60(%rbx), %r12
movq $0x0, 0x8(%rsp)
xorl %r15d, %r15d
movq %r12, 0x20(%rsp)
movq 0x48(%r14), %rcx
movq 0x28(%r14), %rax
movq %rcx, %rsi
subq %rax, %rsi
sarq $0x3, %rsi
cmpq $0x1, %rcx
adcq $-0x1, %rsi
movq 0x30(%r14), %rdx
movq 0x38(%r14), %rdi
movq %rdx, %r8
subq %rdi, %r8
sarq $0x3, %r8
movabsq $-0x1111111111111111, %r10 # imm = 0xEEEEEEEEEEEEEEEF
imulq %r10, %r8
leaq (%r8,%rsi,4), %r8
movq 0x10(%r14), %rbp
movq 0x20(%r14), %rsi
movq %rsi, %r9
subq %rbp, %r9
sarq $0x3, %r9
imulq %r10, %r9
addq %r8, %r9
cmpq %r9, %r15
jae 0x1275d
movq %rbp, %rcx
subq 0x18(%r14), %rcx
sarq $0x3, %rcx
imulq %r10, %rcx
addq %r15, %rcx
js 0x123cc
cmpq $0x3, %rcx
ja 0x123d5
addq 0x8(%rsp), %rbp
jmp 0x123ef
movq %rcx, %rdx
sarq $0x2, %rdx
jmp 0x123dc
movq %rcx, %rdx
shrq $0x2, %rdx
leaq (,%rdx,4), %rsi
subq %rsi, %rcx
imulq $0x78, %rcx, %rbp
addq (%rax,%rdx,8), %rbp
movl $0xa, %ecx
movq %rbx, %rdi
movq %rbp, %rsi
rep  movsq (%rsi), %es:(%rdi)
movq %r12, 0x50(%rbx)
movq 0x50(%rbp), %rsi
movq 0x58(%rbp), %rdx
addq %rsi, %rdx
movq 0x10(%rsp), %rdi
callq 0x5274
movq 0x70(%rbp), %rax
movq %rax, 0x70(%rbx)
leaq 0x18(%rsp), %rdi
movq %rbx, %rsi
callq 0xa8b8
cmpl $-0x1, 0x4(%rbx)
leaq 0x48(%rsp), %rbp
je 0x1252a
cmpl $-0x1, (%rbx)
je 0x1252a
movl 0x1c(%rsp), %r12d
leaq 0x58(%rsp), %rax
movq %rax, 0x48(%rsp)
movq %rbp, %rdi
leaq 0x3bb0(%rip), %rsi      # 0x1600c
leaq 0x3bac(%rip), %rdx      # 0x1600f
callq 0x530a
leaq 0x9da1(%rip), %rdi      # 0x1c210
movq %rbp, %rsi
callq 0x5136
movb $0x1, %bpl
cmpl (%rax), %r12d
movq 0x20(%rsp), %r12
je 0x124de
movl 0x1c(%rsp), %ebp
leaq 0x38(%rsp), %rax
movq %rax, 0x28(%rsp)
leaq 0x28(%rsp), %r13
movq %r13, %rdi
leaq 0x3b6f(%rip), %rsi      # 0x16010
leaq 0x3b6b(%rip), %rdx      # 0x16013
callq 0x530a
leaq 0x9d5c(%rip), %rdi      # 0x1c210
movq %r13, %rsi
callq 0x5136
cmpl (%rax), %ebp
sete %bpl
movq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x124de
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x3200
movq 0x48(%rsp), %rdi
leaq 0x58(%rsp), %rax
cmpq %rax, %rdi
je 0x124fa
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x3200
testb %bpl, %bpl
je 0x1252a
leaq 0x68(%rsp), %rdi
movq %rbx, %rsi
callq 0xa88e
movq 0x50(%r14), %rax
movslq 0x74(%rsp), %rcx
cmpb $0x0, (%rax,%rcx)
jne 0x1252a
movslq 0x70(%rsp), %rcx
cmpb $0x0, (%rax,%rcx)
je 0x129c7
movq 0x10(%rsp), %rax
movq (%rax), %rdi
cmpq %r12, %rdi
je 0x12543
movq (%r12), %rsi
incq %rsi
callq 0x3200
incq %r15
addq $0x78, 0x8(%rsp)
jmp 0x1234b
movq $0x0, 0x8(%rsp)
xorl %r13d, %r13d
movq %rcx, %r8
subq %rax, %r8
sarq $0x3, %r8
cmpq $0x1, %rcx
adcq $-0x1, %r8
subq %rdi, %rdx
sarq $0x3, %rdx
movabsq $-0x1111111111111111, %rdi # imm = 0xEEEEEEEEEEEEEEEF
imulq %rdi, %rdx
leaq (%rdx,%r8,4), %rcx
subq %rbp, %rsi
sarq $0x3, %rsi
imulq %rdi, %rsi
addq %rcx, %rsi
cmpq %rsi, %r13
jae 0x12969
movq %rbp, %rcx
subq 0x18(%r14), %rcx
sarq $0x3, %rcx
imulq %rdi, %rcx
addq %r13, %rcx
js 0x125c0
cmpq $0x3, %rcx
ja 0x125c9
addq 0x8(%rsp), %rbp
jmp 0x125e3
movq %rcx, %rdx
sarq $0x2, %rdx
jmp 0x125d0
movq %rcx, %rdx
shrq $0x2, %rdx
leaq (,%rdx,4), %rsi
subq %rsi, %rcx
imulq $0x78, %rcx, %rbp
addq (%rax,%rdx,8), %rbp
movl $0xa, %ecx
movq %rbx, %rdi
movq %rbp, %rsi
rep  movsq (%rsi), %es:(%rdi)
movq %r12, 0x50(%rbx)
movq 0x50(%rbp), %rsi
movq 0x58(%rbp), %rdx
addq %rsi, %rdx
movq 0x10(%rsp), %rdi
callq 0x5274
movq 0x70(%rbp), %rax
movq %rax, 0x70(%rbx)
leaq 0x18(%rsp), %rdi
movq %rbx, %rsi
callq 0xa8b8
cmpl $-0x1, 0x4(%rbx)
leaq 0x48(%rsp), %rbp
je 0x1271e
cmpl $-0x1, (%rbx)
je 0x1271e
movl 0x18(%rsp), %r12d
leaq 0x58(%rsp), %rax
movq %rax, 0x48(%rsp)
movq %rbp, %rdi
leaq 0x39b4(%rip), %rsi      # 0x16004
leaq 0x39b0(%rip), %rdx      # 0x16007
callq 0x530a
leaq 0x9bdd(%rip), %rdi      # 0x1c240
movq %rbp, %rsi
callq 0x5136
movb $0x1, %bpl
cmpl (%rax), %r12d
movq 0x20(%rsp), %r12
je 0x126d2
movl 0x18(%rsp), %ebp
leaq 0x38(%rsp), %rax
movq %rax, 0x28(%rsp)
leaq 0x28(%rsp), %r15
movq %r15, %rdi
leaq 0x3973(%rip), %rsi      # 0x16008
leaq 0x396f(%rip), %rdx      # 0x1600b
callq 0x530a
leaq 0x9b98(%rip), %rdi      # 0x1c240
movq %r15, %rsi
callq 0x5136
cmpl (%rax), %ebp
sete %bpl
movq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x126d2
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x3200
movq 0x48(%rsp), %rdi
leaq 0x58(%rsp), %rax
cmpq %rax, %rdi
je 0x126ee
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x3200
testb %bpl, %bpl
je 0x1271e
leaq 0x68(%rsp), %rdi
movq %rbx, %rsi
callq 0xa88e
movq 0x50(%r14), %rax
movslq 0x74(%rsp), %rcx
cmpb $0x0, (%rax,%rcx)
jne 0x1271e
movslq 0x70(%rsp), %rcx
cmpb $0x0, (%rax,%rcx)
je 0x12a4b
movq 0x10(%rsp), %rax
movq (%rax), %rdi
cmpq %r12, %rdi
je 0x12737
movq (%r12), %rsi
incq %rsi
callq 0x3200
incq %r13
movq 0x48(%r14), %rcx
movq 0x28(%r14), %rax
movq 0x30(%r14), %rdx
movq 0x38(%r14), %rdi
movq 0x10(%r14), %rbp
movq 0x20(%r14), %rsi
addq $0x78, 0x8(%rsp)
jmp 0x1255d
movq $0x0, 0x8(%rsp)
xorl %r13d, %r13d
movq %rcx, %r8
subq %rax, %r8
sarq $0x3, %r8
cmpq $0x1, %rcx
adcq $-0x1, %r8
subq %rdi, %rdx
sarq $0x3, %rdx
movabsq $-0x1111111111111111, %rdi # imm = 0xEEEEEEEEEEEEEEEF
imulq %rdi, %rdx
leaq (%rdx,%r8,4), %rcx
subq %rbp, %rsi
sarq $0x3, %rsi
imulq %rdi, %rsi
addq %rcx, %rsi
cmpq %rsi, %r13
jae 0x12969
movq %rbp, %rcx
subq 0x18(%r14), %rcx
sarq $0x3, %rcx
imulq %rdi, %rcx
addq %r13, %rcx
js 0x127cc
cmpq $0x3, %rcx
ja 0x127d5
addq 0x8(%rsp), %rbp
jmp 0x127ef
movq %rcx, %rdx
sarq $0x2, %rdx
jmp 0x127dc
movq %rcx, %rdx
shrq $0x2, %rdx
leaq (,%rdx,4), %rsi
subq %rsi, %rcx
imulq $0x78, %rcx, %rbp
addq (%rax,%rdx,8), %rbp
movl $0xa, %ecx
movq %rbx, %rdi
movq %rbp, %rsi
rep  movsq (%rsi), %es:(%rdi)
movq %r12, 0x50(%rbx)
movq 0x50(%rbp), %rsi
movq 0x58(%rbp), %rdx
addq %rsi, %rdx
movq 0x10(%rsp), %rdi
callq 0x5274
movq 0x70(%rbp), %rax
movq %rax, 0x70(%rbx)
leaq 0x18(%rsp), %rdi
movq %rbx, %rsi
callq 0xa8b8
cmpl $-0x1, 0x4(%rbx)
leaq 0x48(%rsp), %rbp
je 0x1292a
cmpl $-0x1, (%rbx)
je 0x1292a
movl 0x18(%rsp), %r12d
leaq 0x58(%rsp), %rax
movq %rax, 0x48(%rsp)
movq %rbp, %rdi
leaq 0x37a8(%rip), %rsi      # 0x16004
leaq 0x37a4(%rip), %rdx      # 0x16007
callq 0x530a
leaq 0x99d1(%rip), %rdi      # 0x1c240
movq %rbp, %rsi
callq 0x5136
movb $0x1, %bpl
cmpl (%rax), %r12d
movq 0x20(%rsp), %r12
je 0x128de
movl 0x18(%rsp), %ebp
leaq 0x38(%rsp), %rax
movq %rax, 0x28(%rsp)
leaq 0x28(%rsp), %r15
movq %r15, %rdi
leaq 0x3767(%rip), %rsi      # 0x16008
leaq 0x3763(%rip), %rdx      # 0x1600b
callq 0x530a
leaq 0x998c(%rip), %rdi      # 0x1c240
movq %r15, %rsi
callq 0x5136
cmpl (%rax), %ebp
sete %bpl
movq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x128de
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x3200
movq 0x48(%rsp), %rdi
leaq 0x58(%rsp), %rax
cmpq %rax, %rdi
je 0x128fa
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x3200
testb %bpl, %bpl
je 0x1292a
leaq 0x68(%rsp), %rdi
movq %rbx, %rsi
callq 0xa88e
movq 0x50(%r14), %rax
movslq 0x74(%rsp), %rcx
cmpb $0x0, (%rax,%rcx)
jne 0x1292a
movslq 0x70(%rsp), %rcx
cmpb $0x0, (%rax,%rcx)
je 0x12a0b
movq 0x10(%rsp), %rax
movq (%rax), %rdi
cmpq %r12, %rdi
je 0x12943
movq (%r12), %rsi
incq %rsi
callq 0x3200
incq %r13
movq 0x48(%r14), %rcx
movq 0x28(%r14), %rax
movq 0x30(%r14), %rdx
movq 0x38(%r14), %rdi
movq 0x10(%r14), %rbp
movq 0x20(%r14), %rsi
addq $0x78, 0x8(%rsp)
jmp 0x12769
movq %rbx, %rdi
callq 0x7a5a
movq %rbx, %rax
addq $0x78, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq 0x10(%r14), %rcx
movq 0x28(%r14), %rax
movq %rcx, %rdx
subq 0x18(%r14), %rdx
sarq $0x3, %rdx
movabsq $-0x1111111111111111, %rsi # imm = 0xEEEEEEEEEEEEEEEF
imulq %rsi, %rdx
movq %rdx, %rdi
addq %r15, %rdi
js 0x12a8b
cmpq $0x3, %rdi
ja 0x12aa9
addq 0x8(%rsp), %rcx
movq (%rax), %rsi
jmp 0x12ac5
movq 0x10(%r14), %rcx
movq 0x28(%r14), %rax
movq %rcx, %rdx
subq 0x18(%r14), %rdx
sarq $0x3, %rdx
movabsq $-0x1111111111111111, %rsi # imm = 0xEEEEEEEEEEEEEEEF
imulq %rsi, %rdx
movq %rdx, %rdi
addq %r15, %rdi
js 0x12a91
cmpq $0x3, %rdi
ja 0x12af2
addq 0x8(%rsp), %rcx
movq (%rax), %rsi
jmp 0x12b0e
movq 0x10(%r14), %rcx
movq 0x28(%r14), %rax
movq %rcx, %rdx
subq 0x18(%r14), %rdx
sarq $0x3, %rdx
movabsq $-0x1111111111111111, %rsi # imm = 0xEEEEEEEEEEEEEEEF
imulq %rsi, %rdx
movq %rdx, %rdi
addq %r13, %rdi
js 0x12a97
cmpq $0x3, %rdi
ja 0x12b3b
addq 0x8(%rsp), %rcx
movq (%rax), %rsi
jmp 0x12b57
movq 0x10(%r14), %rcx
movq 0x28(%r14), %rax
movq %rcx, %rdx
subq 0x18(%r14), %rdx
sarq $0x3, %rdx
movabsq $-0x1111111111111111, %rsi # imm = 0xEEEEEEEEEEEEEEEF
imulq %rsi, %rdx
movq %rdx, %rdi
addq %r13, %rdi
js 0x12aa0
cmpq $0x3, %rdi
ja 0x12b84
addq 0x8(%rsp), %rcx
movq (%rax), %rsi
jmp 0x12ba0
sarq $0x2, %rdi
jmp 0x12aad
sarq $0x2, %rdi
jmp 0x12af6
sarq $0x2, %rdi
jmp 0x12b3f
sarq $0x2, %rdi
jmp 0x12b88
shrq $0x2, %rdi
leaq (%rax,%rdi,8), %rax
movq (%rax), %rsi
shlq $0x2, %rdi
subq %rdi, %rdx
addq %r15, %rdx
imulq $0x78, %rdx, %rcx
addq %rsi, %rcx
leaq 0x48(%rsp), %rdx
movq %rcx, (%rdx)
movq %rsi, 0x8(%rdx)
addq $0x1e0, %rsi            # imm = 0x1E0
movq %rsi, 0x10(%rdx)
movq %rax, 0x18(%rdx)
leaq 0x28(%rsp), %rdi
movq %r14, %rsi
callq 0x6972
jmp 0x12971
shrq $0x2, %rdi
leaq (%rax,%rdi,8), %rax
movq (%rax), %rsi
shlq $0x2, %rdi
subq %rdi, %rdx
addq %r15, %rdx
imulq $0x78, %rdx, %rcx
addq %rsi, %rcx
leaq 0x48(%rsp), %rdx
movq %rcx, (%rdx)
movq %rsi, 0x8(%rdx)
addq $0x1e0, %rsi            # imm = 0x1E0
movq %rsi, 0x10(%rdx)
movq %rax, 0x18(%rdx)
leaq 0x28(%rsp), %rdi
movq %r14, %rsi
callq 0x6972
jmp 0x12971
shrq $0x2, %rdi
leaq (%rax,%rdi,8), %rax
movq (%rax), %rsi
shlq $0x2, %rdi
subq %rdi, %rdx
addq %r13, %rdx
imulq $0x78, %rdx, %rcx
addq %rsi, %rcx
leaq 0x48(%rsp), %rdx
movq %rcx, (%rdx)
movq %rsi, 0x8(%rdx)
addq $0x1e0, %rsi            # imm = 0x1E0
movq %rsi, 0x10(%rdx)
movq %rax, 0x18(%rdx)
leaq 0x28(%rsp), %rdi
movq %r14, %rsi
callq 0x6972
jmp 0x12971
shrq $0x2, %rdi
leaq (%rax,%rdi,8), %rax
movq (%rax), %rsi
shlq $0x2, %rdi
subq %rdi, %rdx
addq %r13, %rdx
imulq $0x78, %rdx, %rcx
addq %rsi, %rcx
leaq 0x48(%rsp), %rdx
movq %rcx, (%rdx)
movq %rsi, 0x8(%rdx)
addq $0x1e0, %rsi            # imm = 0x1E0
movq %rsi, 0x10(%rdx)
movq %rax, 0x18(%rdx)
leaq 0x28(%rsp), %rdi
movq %r14, %rsi
callq 0x6972
jmp 0x12971
jmp 0x12c41
jmp 0x12c41
jmp 0x12c41
jmp 0x12c41
jmp 0x12be7
jmp 0x12c1a
jmp 0x12c1a
jmp 0x12be7
jmp 0x12c41
jmp 0x12c41
jmp 0x12c1a
jmp 0x12c1a
jmp 0x12be7
movq %rax, %rbx
movq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x12c1d
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x3200
jmp 0x12c1d
jmp 0x12c41
jmp 0x12c41
jmp 0x12c1a
jmp 0x12c41
jmp 0x12c1a
jmp 0x12c41
jmp 0x12c41
jmp 0x12c41
jmp 0x12c1a
movq %rax, %rbx
movq 0x48(%rsp), %rdi
leaq 0x58(%rsp), %rax
cmpq %rax, %rdi
je 0x12c44
movq 0x58(%rsp), %rsi
incq %rsi
callq 0x3200
jmp 0x12c44
jmp 0x12c41
jmp 0x12c41
jmp 0x12c41
movq %rax, %rbx
movq 0x10(%rsp), %rax
movq (%rax), %rdi
movq 0x20(%rsp), %rax
cmpq %rax, %rdi
je 0x12c61
movq (%rax), %rsi
incq %rsi
callq 0x3200
movq %rbx, %rdi
callq 0x3340
nop