// File: martinferianc[P]CPUSimulator-EIE2/src/mips_cpu_execute.cpp
// Function: mips_execute_I(mips_cpu_impl*, mips_mem_provider*, unsigned int const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>&, unsigned int&, unsigned int&)
mips_error mips_execute_I(mips_cpu_h state, mips_mem_h mem, const uint32_t* instruction_data, string& instruction, uint32_t& pcN, uint32_t& pc ){
	uint32_t source1 = instruction_data[1];
	uint32_t destination = instruction_data[2];

	switch(instruction_data[0]){
		case 0b001001:
			return mips_execute_I_X(state, mem, instruction_data,"ADDIU", instruction, pcN, pc);
		case 0b001000:
			return mips_execute_I_X(state, mem, instruction_data,"ADDI", instruction, pcN, pc);
		case 0b001100:
			return mips_execute_I_X(state, mem, instruction_data,"ANDI", instruction, pcN, pc);
		case 0b001101:
			return mips_execute_I_X(state, mem, instruction_data,"ORI", instruction, pcN, pc);
		case 0b001110:
			return mips_execute_I_X(state, mem, instruction_data,"XORI", instruction, pcN, pc);
		case 0b001011:
			return mips_execute_I_X(state, mem, instruction_data,"SLTIU", instruction, pcN, pc);
		case 0b001010:
			return mips_execute_I_X(state, mem, instruction_data,"SLTI", instruction, pcN, pc);
		case 0b000100:
			return mips_execute_I_X(state, mem, instruction_data,"BEQ", instruction, pcN, pc);
		case 0b000101:
			return mips_execute_I_X(state, mem, instruction_data,"BNE", instruction, pcN, pc);
		case 0b000001:
			if (destination==0b00001)
				return mips_execute_I_X(state, mem, instruction_data,"BGEZ", instruction, pcN, pc);
			if (destination==0b00000)
				return mips_execute_I_X(state, mem, instruction_data,"BLTZ", instruction, pcN, pc);
			if (destination==0b10000)
				return mips_execute_I_X(state, mem, instruction_data,"BLTZAL", instruction, pcN, pc);
			if (destination==0b10001)
				return mips_execute_I_X(state, mem, instruction_data,"BGEZAL", instruction, pcN, pc);
		break;
		case 0b000111:
		if (destination==0)
			return mips_execute_I_X(state, mem, instruction_data,"BGTZ", instruction, pcN, pc);
		break;
		case 0b000110:
		if (destination==0)
			return mips_execute_I_X(state, mem, instruction_data,"BLEZ", instruction, pcN, pc);
		break;
		case 0b100011:
			return mips_execute_I_X(state, mem, instruction_data,"LW", instruction, pcN, pc);
		case 0b101011:
			return mips_execute_I_X(state, mem, instruction_data,"SW", instruction, pcN, pc);
		case 0b100100:
			return mips_execute_I_X(state, mem, instruction_data,"LBU", instruction, pcN, pc);
		case 0b101000:
			return mips_execute_I_X(state, mem, instruction_data,"SB", instruction, pcN, pc);
		case 0b100000:
			return mips_execute_I_X(state, mem, instruction_data,"LB", instruction, pcN, pc);
		case 0b101001:
			return mips_execute_I_X(state, mem, instruction_data,"SH", instruction, pcN, pc);
		case 0b100001:
			return mips_execute_I_X(state, mem, instruction_data,"LH", instruction, pcN, pc);
		case 0b100101:
			return mips_execute_I_X(state, mem, instruction_data,"LHU", instruction, pcN, pc);
		case 0b001111:
		if (source1==0)
			return mips_execute_I_X(state, mem, instruction_data,"LUI", instruction, pcN, pc);
		break;
		case 0b100010:
			return mips_execute_I_X(state, mem, instruction_data,"LWL", instruction, pcN, pc);
		case 0b100110:
			return mips_execute_I_X(state, mem, instruction_data,"LWR", instruction, pcN, pc);
		default:
		break;
	}
	instruction = "Invalid instruction format";
	return mips_ExceptionInvalidInstruction;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x880, %rsp            # imm = 0x880
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movq %rcx, -0x28(%rbp)
movq %r8, -0x30(%rbp)
movq %r9, -0x38(%rbp)
movq -0x20(%rbp), %rax
movl 0x4(%rax), %eax
movl %eax, -0x3c(%rbp)
movq -0x20(%rbp), %rax
movl 0x8(%rax), %eax
movl %eax, -0x40(%rbp)
movq -0x20(%rbp), %rax
movl (%rax), %eax
decl %eax
movl %eax, %ecx
movq %rcx, -0x468(%rbp)
subl $0x2a, %eax
ja 0xbb07
movq -0x468(%rbp), %rax
leaq 0x88a5(%rip), %rcx      # 0x12bd4
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq -0x10(%rbp), %rax
movq %rax, -0x488(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x480(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x478(%rbp)
leaq -0x61(%rbp), %rdi
movq %rdi, -0x470(%rbp)
callq 0x3450
movq -0x470(%rbp), %rdx
leaq 0x81f2(%rip), %rsi      # 0x12569
leaq -0x60(%rbp), %rdi
callq 0x4250
jmp 0xa382
movq -0x478(%rbp), %rdx
movq -0x480(%rbp), %rsi
movq -0x488(%rbp), %rdi
movq -0x28(%rbp), %r8
movq -0x30(%rbp), %r9
movq -0x38(%rbp), %rcx
movq %rsp, %rax
movq %rcx, (%rax)
leaq -0x60(%rbp), %rcx
callq 0xce90
movl %eax, -0x48c(%rbp)
jmp 0xa3ba
movl -0x48c(%rbp), %eax
movl %eax, -0x4(%rbp)
leaq -0x60(%rbp), %rdi
callq 0x3170
leaq -0x61(%rbp), %rdi
callq 0x32c0
jmp 0xbb20
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
jmp 0xa3fd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
leaq -0x60(%rbp), %rdi
callq 0x3170
leaq -0x61(%rbp), %rdi
callq 0x32c0
jmp 0xbb2c
movq -0x10(%rbp), %rax
movq %rax, -0x4b0(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x4a8(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x4a0(%rbp)
leaq -0x99(%rbp), %rdi
movq %rdi, -0x498(%rbp)
callq 0x3450
movq -0x498(%rbp), %rdx
leaq 0x80f9(%rip), %rsi      # 0x12546
leaq -0x98(%rbp), %rdi
callq 0x4250
jmp 0xa45b
movq -0x4a0(%rbp), %rdx
movq -0x4a8(%rbp), %rsi
movq -0x4b0(%rbp), %rdi
movq -0x28(%rbp), %r8
movq -0x30(%rbp), %r9
movq -0x38(%rbp), %rcx
movq %rsp, %rax
movq %rcx, (%rax)
leaq -0x98(%rbp), %rcx
callq 0xce90
movl %eax, -0x4b4(%rbp)
jmp 0xa496
movl -0x4b4(%rbp), %eax
movl %eax, -0x4(%rbp)
leaq -0x98(%rbp), %rdi
callq 0x3170
leaq -0x99(%rbp), %rdi
callq 0x32c0
jmp 0xbb20
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
jmp 0xa4e2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
leaq -0x98(%rbp), %rdi
callq 0x3170
leaq -0x99(%rbp), %rdi
callq 0x32c0
jmp 0xbb2c
movq -0x10(%rbp), %rax
movq %rax, -0x4d8(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x4d0(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x4c8(%rbp)
leaq -0xc1(%rbp), %rdi
movq %rdi, -0x4c0(%rbp)
callq 0x3450
movq -0x4c0(%rbp), %rdx
leaq 0x808f(%rip), %rsi      # 0x125c4
leaq -0xc0(%rbp), %rdi
callq 0x4250
jmp 0xa543
movq -0x4c8(%rbp), %rdx
movq -0x4d0(%rbp), %rsi
movq -0x4d8(%rbp), %rdi
movq -0x28(%rbp), %r8
movq -0x30(%rbp), %r9
movq -0x38(%rbp), %rcx
movq %rsp, %rax
movq %rcx, (%rax)
leaq -0xc0(%rbp), %rcx
callq 0xce90
movl %eax, -0x4dc(%rbp)
jmp 0xa57e
movl -0x4dc(%rbp), %eax
movl %eax, -0x4(%rbp)
leaq -0xc0(%rbp), %rdi
callq 0x3170
leaq -0xc1(%rbp), %rdi
callq 0x32c0
jmp 0xbb20
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
jmp 0xa5ca
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
leaq -0xc0(%rbp), %rdi
callq 0x3170
leaq -0xc1(%rbp), %rdi
callq 0x32c0
jmp 0xbb2c
movq -0x10(%rbp), %rax
movq %rax, -0x500(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x4f8(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x4f0(%rbp)
leaq -0xe9(%rbp), %rdi
movq %rdi, -0x4e8(%rbp)
callq 0x3450
movq -0x4e8(%rbp), %rdx
leaq 0x8423(%rip), %rsi      # 0x12a40
leaq -0xe8(%rbp), %rdi
callq 0x4250
jmp 0xa62b
movq -0x4f0(%rbp), %rdx
movq -0x4f8(%rbp), %rsi
movq -0x500(%rbp), %rdi
movq -0x28(%rbp), %r8
movq -0x30(%rbp), %r9
movq -0x38(%rbp), %rcx
movq %rsp, %rax
movq %rcx, (%rax)
leaq -0xe8(%rbp), %rcx
callq 0xce90
movl %eax, -0x504(%rbp)
jmp 0xa666
movl -0x504(%rbp), %eax
movl %eax, -0x4(%rbp)
leaq -0xe8(%rbp), %rdi
callq 0x3170
leaq -0xe9(%rbp), %rdi
callq 0x32c0
jmp 0xbb20
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
jmp 0xa6b2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
leaq -0xe8(%rbp), %rdi
callq 0x3170
leaq -0xe9(%rbp), %rdi
callq 0x32c0
jmp 0xbb2c
movq -0x10(%rbp), %rax
movq %rax, -0x528(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x520(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x518(%rbp)
leaq -0x111(%rbp), %rdi
movq %rdi, -0x510(%rbp)
callq 0x3450
movq -0x510(%rbp), %rdx
leaq 0x833a(%rip), %rsi      # 0x12a3f
leaq -0x110(%rbp), %rdi
callq 0x4250
jmp 0xa713
movq -0x518(%rbp), %rdx
movq -0x520(%rbp), %rsi
movq -0x528(%rbp), %rdi
movq -0x28(%rbp), %r8
movq -0x30(%rbp), %r9
movq -0x38(%rbp), %rcx
movq %rsp, %rax
movq %rcx, (%rax)
leaq -0x110(%rbp), %rcx
callq 0xce90
movl %eax, -0x52c(%rbp)
jmp 0xa74e
movl -0x52c(%rbp), %eax
movl %eax, -0x4(%rbp)
leaq -0x110(%rbp), %rdi
callq 0x3170
leaq -0x111(%rbp), %rdi
callq 0x32c0
jmp 0xbb20
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
jmp 0xa79a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
leaq -0x110(%rbp), %rdi
callq 0x3170
leaq -0x111(%rbp), %rdi
callq 0x32c0
jmp 0xbb2c
movq -0x10(%rbp), %rax
movq %rax, -0x550(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x548(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x540(%rbp)
leaq -0x139(%rbp), %rdi
movq %rdi, -0x538(%rbp)
callq 0x3450
movq -0x538(%rbp), %rdx
leaq 0x8144(%rip), %rsi      # 0x12931
leaq -0x138(%rbp), %rdi
callq 0x4250
jmp 0xa7fb
movq -0x540(%rbp), %rdx
movq -0x548(%rbp), %rsi
movq -0x550(%rbp), %rdi
movq -0x28(%rbp), %r8
movq -0x30(%rbp), %r9
movq -0x38(%rbp), %rcx
movq %rsp, %rax
movq %rcx, (%rax)
leaq -0x138(%rbp), %rcx
callq 0xce90
movl %eax, -0x554(%rbp)
jmp 0xa836
movl -0x554(%rbp), %eax
movl %eax, -0x4(%rbp)
leaq -0x138(%rbp), %rdi
callq 0x3170
leaq -0x139(%rbp), %rdi
callq 0x32c0
jmp 0xbb20
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
jmp 0xa882
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
leaq -0x138(%rbp), %rdi
callq 0x3170
leaq -0x139(%rbp), %rdi
callq 0x32c0
jmp 0xbb2c
movq -0x10(%rbp), %rax
movq %rax, -0x578(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x570(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x568(%rbp)
leaq -0x161(%rbp), %rdi
movq %rdi, -0x560(%rbp)
callq 0x3450
movq -0x560(%rbp), %rdx
leaq 0x8033(%rip), %rsi      # 0x12908
leaq -0x160(%rbp), %rdi
callq 0x4250
jmp 0xa8e3
movq -0x568(%rbp), %rdx
movq -0x570(%rbp), %rsi
movq -0x578(%rbp), %rdi
movq -0x28(%rbp), %r8
movq -0x30(%rbp), %r9
movq -0x38(%rbp), %rcx
movq %rsp, %rax
movq %rcx, (%rax)
leaq -0x160(%rbp), %rcx
callq 0xce90
movl %eax, -0x57c(%rbp)
jmp 0xa91e
movl -0x57c(%rbp), %eax
movl %eax, -0x4(%rbp)
leaq -0x160(%rbp), %rdi
callq 0x3170
leaq -0x161(%rbp), %rdi
callq 0x32c0
jmp 0xbb20
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
jmp 0xa96a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
leaq -0x160(%rbp), %rdi
callq 0x3170
leaq -0x161(%rbp), %rdi
callq 0x32c0
jmp 0xbb2c
movq -0x10(%rbp), %rax
movq %rax, -0x5a0(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x598(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x590(%rbp)
leaq -0x189(%rbp), %rdi
movq %rdi, -0x588(%rbp)
callq 0x3450
movq -0x588(%rbp), %rdx
leaq 0x7c22(%rip), %rsi      # 0x125df
leaq -0x188(%rbp), %rdi
callq 0x4250
jmp 0xa9cb
movq -0x590(%rbp), %rdx
movq -0x598(%rbp), %rsi
movq -0x5a0(%rbp), %rdi
movq -0x28(%rbp), %r8
movq -0x30(%rbp), %r9
movq -0x38(%rbp), %rcx
movq %rsp, %rax
movq %rcx, (%rax)
leaq -0x188(%rbp), %rcx
callq 0xce90
movl %eax, -0x5a4(%rbp)
jmp 0xaa06
movl -0x5a4(%rbp), %eax
movl %eax, -0x4(%rbp)
leaq -0x188(%rbp), %rdi
callq 0x3170
leaq -0x189(%rbp), %rdi
callq 0x32c0
jmp 0xbb20
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
jmp 0xaa52
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
leaq -0x188(%rbp), %rdi
callq 0x3170
leaq -0x189(%rbp), %rdi
callq 0x32c0
jmp 0xbb2c
movq -0x10(%rbp), %rax
movq %rax, -0x5c8(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x5c0(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x5b8(%rbp)
leaq -0x1b1(%rbp), %rdi
movq %rdi, -0x5b0(%rbp)
callq 0x3450
movq -0x5b0(%rbp), %rdx
leaq 0x7c45(%rip), %rsi      # 0x126ea
leaq -0x1b0(%rbp), %rdi
callq 0x4250
jmp 0xaab3
movq -0x5b8(%rbp), %rdx
movq -0x5c0(%rbp), %rsi
movq -0x5c8(%rbp), %rdi
movq -0x28(%rbp), %r8
movq -0x30(%rbp), %r9
movq -0x38(%rbp), %rcx
movq %rsp, %rax
movq %rcx, (%rax)
leaq -0x1b0(%rbp), %rcx
callq 0xce90
movl %eax, -0x5cc(%rbp)
jmp 0xaaee
movl -0x5cc(%rbp), %eax
movl %eax, -0x4(%rbp)
leaq -0x1b0(%rbp), %rdi
callq 0x3170
leaq -0x1b1(%rbp), %rdi
callq 0x32c0
jmp 0xbb20
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
jmp 0xab3a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
leaq -0x1b0(%rbp), %rdi
callq 0x3170
leaq -0x1b1(%rbp), %rdi
callq 0x32c0
jmp 0xbb2c
cmpl $0x1, -0x40(%rbp)
jne 0xac3d
movq -0x10(%rbp), %rax
movq %rax, -0x5f0(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x5e8(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x5e0(%rbp)
leaq -0x1d9(%rbp), %rdi
movq %rdi, -0x5d8(%rbp)
callq 0x3450
movq -0x5d8(%rbp), %rdx
leaq 0x7a5c(%rip), %rsi      # 0x125f3
leaq -0x1d8(%rbp), %rdi
callq 0x4250
jmp 0xaba5
movq -0x5e0(%rbp), %rdx
movq -0x5e8(%rbp), %rsi
movq -0x5f0(%rbp), %rdi
movq -0x28(%rbp), %r8
movq -0x30(%rbp), %r9
movq -0x38(%rbp), %rcx
movq %rsp, %rax
movq %rcx, (%rax)
leaq -0x1d8(%rbp), %rcx
callq 0xce90
movl %eax, -0x5f4(%rbp)
jmp 0xabe0
movl -0x5f4(%rbp), %eax
movl %eax, -0x4(%rbp)
leaq -0x1d8(%rbp), %rdi
callq 0x3170
leaq -0x1d9(%rbp), %rdi
callq 0x32c0
jmp 0xbb20
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
jmp 0xac2c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
leaq -0x1d8(%rbp), %rdi
callq 0x3170
leaq -0x1d9(%rbp), %rdi
callq 0x32c0
jmp 0xbb2c
cmpl $0x0, -0x40(%rbp)
jne 0xad2f
movq -0x10(%rbp), %rax
movq %rax, -0x618(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x610(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x608(%rbp)
leaq -0x201(%rbp), %rdi
movq %rdi, -0x600(%rbp)
callq 0x3450
movq -0x600(%rbp), %rdx
leaq 0x7a1a(%rip), %rsi      # 0x126a3
leaq -0x200(%rbp), %rdi
callq 0x4250
jmp 0xac97
movq -0x608(%rbp), %rdx
movq -0x610(%rbp), %rsi
movq -0x618(%rbp), %rdi
movq -0x28(%rbp), %r8
movq -0x30(%rbp), %r9
movq -0x38(%rbp), %rcx
movq %rsp, %rax
movq %rcx, (%rax)
leaq -0x200(%rbp), %rcx
callq 0xce90
movl %eax, -0x61c(%rbp)
jmp 0xacd2
movl -0x61c(%rbp), %eax
movl %eax, -0x4(%rbp)
leaq -0x200(%rbp), %rdi
callq 0x3170
leaq -0x201(%rbp), %rdi
callq 0x32c0
jmp 0xbb20
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
jmp 0xad1e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
leaq -0x200(%rbp), %rdi
callq 0x3170
leaq -0x201(%rbp), %rdi
callq 0x32c0
jmp 0xbb2c
cmpl $0x10, -0x40(%rbp)
jne 0xae21
movq -0x10(%rbp), %rax
movq %rax, -0x640(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x638(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x630(%rbp)
leaq -0x229(%rbp), %rdi
movq %rdi, -0x628(%rbp)
callq 0x3450
movq -0x628(%rbp), %rdx
leaq 0x7946(%rip), %rsi      # 0x126c1
leaq -0x228(%rbp), %rdi
callq 0x4250
jmp 0xad89
movq -0x630(%rbp), %rdx
movq -0x638(%rbp), %rsi
movq -0x640(%rbp), %rdi
movq -0x28(%rbp), %r8
movq -0x30(%rbp), %r9
movq -0x38(%rbp), %rcx
movq %rsp, %rax
movq %rcx, (%rax)
leaq -0x228(%rbp), %rcx
callq 0xce90
movl %eax, -0x644(%rbp)
jmp 0xadc4
movl -0x644(%rbp), %eax
movl %eax, -0x4(%rbp)
leaq -0x228(%rbp), %rdi
callq 0x3170
leaq -0x229(%rbp), %rdi
callq 0x32c0
jmp 0xbb20
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
jmp 0xae10
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
leaq -0x228(%rbp), %rdi
callq 0x3170
leaq -0x229(%rbp), %rdi
callq 0x32c0
jmp 0xbb2c
cmpl $0x11, -0x40(%rbp)
jne 0xaf13
movq -0x10(%rbp), %rax
movq %rax, -0x668(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x660(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x658(%rbp)
leaq -0x251(%rbp), %rdi
movq %rdi, -0x650(%rbp)
callq 0x3450
movq -0x650(%rbp), %rdx
leaq 0x77b3(%rip), %rsi      # 0x12620
leaq -0x250(%rbp), %rdi
callq 0x4250
jmp 0xae7b
movq -0x658(%rbp), %rdx
movq -0x660(%rbp), %rsi
movq -0x668(%rbp), %rdi
movq -0x28(%rbp), %r8
movq -0x30(%rbp), %r9
movq -0x38(%rbp), %rcx
movq %rsp, %rax
movq %rcx, (%rax)
leaq -0x250(%rbp), %rcx
callq 0xce90
movl %eax, -0x66c(%rbp)
jmp 0xaeb6
movl -0x66c(%rbp), %eax
movl %eax, -0x4(%rbp)
leaq -0x250(%rbp), %rdi
callq 0x3170
leaq -0x251(%rbp), %rdi
callq 0x32c0
jmp 0xbb20
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
jmp 0xaf02
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
leaq -0x250(%rbp), %rdi
callq 0x3170
leaq -0x251(%rbp), %rdi
callq 0x32c0
jmp 0xbb2c
jmp 0xbb09
cmpl $0x0, -0x40(%rbp)
jne 0xb00a
movq -0x10(%rbp), %rax
movq %rax, -0x690(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x688(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x680(%rbp)
leaq -0x279(%rbp), %rdi
movq %rdi, -0x678(%rbp)
callq 0x3450
movq -0x678(%rbp), %rdx
leaq 0x76f4(%rip), %rsi      # 0x12658
leaq -0x278(%rbp), %rdi
callq 0x4250
jmp 0xaf72
movq -0x680(%rbp), %rdx
movq -0x688(%rbp), %rsi
movq -0x690(%rbp), %rdi
movq -0x28(%rbp), %r8
movq -0x30(%rbp), %r9
movq -0x38(%rbp), %rcx
movq %rsp, %rax
movq %rcx, (%rax)
leaq -0x278(%rbp), %rcx
callq 0xce90
movl %eax, -0x694(%rbp)
jmp 0xafad
movl -0x694(%rbp), %eax
movl %eax, -0x4(%rbp)
leaq -0x278(%rbp), %rdi
callq 0x3170
leaq -0x279(%rbp), %rdi
callq 0x32c0
jmp 0xbb20
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
jmp 0xaff9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
leaq -0x278(%rbp), %rdi
callq 0x3170
leaq -0x279(%rbp), %rdi
callq 0x32c0
jmp 0xbb2c
jmp 0xbb09
cmpl $0x0, -0x40(%rbp)
jne 0xb101
movq -0x10(%rbp), %rax
movq %rax, -0x6b8(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x6b0(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x6a8(%rbp)
leaq -0x2a1(%rbp), %rdi
movq %rdi, -0x6a0(%rbp)
callq 0x3450
movq -0x6a0(%rbp), %rdx
leaq 0x761e(%rip), %rsi      # 0x12679
leaq -0x2a0(%rbp), %rdi
callq 0x4250
jmp 0xb069
movq -0x6a8(%rbp), %rdx
movq -0x6b0(%rbp), %rsi
movq -0x6b8(%rbp), %rdi
movq -0x28(%rbp), %r8
movq -0x30(%rbp), %r9
movq -0x38(%rbp), %rcx
movq %rsp, %rax
movq %rcx, (%rax)
leaq -0x2a0(%rbp), %rcx
callq 0xce90
movl %eax, -0x6bc(%rbp)
jmp 0xb0a4
movl -0x6bc(%rbp), %eax
movl %eax, -0x4(%rbp)
leaq -0x2a0(%rbp), %rdi
callq 0x3170
leaq -0x2a1(%rbp), %rdi
callq 0x32c0
jmp 0xbb20
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
jmp 0xb0f0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
leaq -0x2a0(%rbp), %rdi
callq 0x3170
leaq -0x2a1(%rbp), %rdi
callq 0x32c0
jmp 0xbb2c
jmp 0xbb09
movq -0x10(%rbp), %rax
movq %rax, -0x6e0(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x6d8(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x6d0(%rbp)
leaq -0x2c9(%rbp), %rdi
movq %rdi, -0x6c8(%rbp)
callq 0x3450
movq -0x6c8(%rbp), %rdx
leaq 0x768b(%rip), %rsi      # 0x127d3
leaq -0x2c8(%rbp), %rdi
callq 0x4250
jmp 0xb156
movq -0x6d0(%rbp), %rdx
movq -0x6d8(%rbp), %rsi
movq -0x6e0(%rbp), %rdi
movq -0x28(%rbp), %r8
movq -0x30(%rbp), %r9
movq -0x38(%rbp), %rcx
movq %rsp, %rax
movq %rcx, (%rax)
leaq -0x2c8(%rbp), %rcx
callq 0xce90
movl %eax, -0x6e4(%rbp)
jmp 0xb191
movl -0x6e4(%rbp), %eax
movl %eax, -0x4(%rbp)
leaq -0x2c8(%rbp), %rdi
callq 0x3170
leaq -0x2c9(%rbp), %rdi
callq 0x32c0
jmp 0xbb20
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
jmp 0xb1dd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
leaq -0x2c8(%rbp), %rdi
callq 0x3170
leaq -0x2c9(%rbp), %rdi
callq 0x32c0
jmp 0xbb2c
movq -0x10(%rbp), %rax
movq %rax, -0x708(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x700(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x6f8(%rbp)
leaq -0x2f1(%rbp), %rdi
movq %rdi, -0x6f0(%rbp)
callq 0x3450
movq -0x6f0(%rbp), %rdx
leaq 0x77e8(%rip), %rsi      # 0x12a18
leaq -0x2f0(%rbp), %rdi
callq 0x4250
jmp 0xb23e
movq -0x6f8(%rbp), %rdx
movq -0x700(%rbp), %rsi
movq -0x708(%rbp), %rdi
movq -0x28(%rbp), %r8
movq -0x30(%rbp), %r9
movq -0x38(%rbp), %rcx
movq %rsp, %rax
movq %rcx, (%rax)
leaq -0x2f0(%rbp), %rcx
callq 0xce90
movl %eax, -0x70c(%rbp)
jmp 0xb279
movl -0x70c(%rbp), %eax
movl %eax, -0x4(%rbp)
leaq -0x2f0(%rbp), %rdi
callq 0x3170
leaq -0x2f1(%rbp), %rdi
callq 0x32c0
jmp 0xbb20
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
jmp 0xb2c5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
leaq -0x2f0(%rbp), %rdi
callq 0x3170
leaq -0x2f1(%rbp), %rdi
callq 0x32c0
jmp 0xbb2c
movq -0x10(%rbp), %rax
movq %rax, -0x730(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x728(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x720(%rbp)
leaq -0x319(%rbp), %rdi
movq %rdi, -0x718(%rbp)
callq 0x3450
movq -0x718(%rbp), %rdx
leaq 0x745d(%rip), %rsi      # 0x12775
leaq -0x318(%rbp), %rdi
callq 0x4250
jmp 0xb326
movq -0x720(%rbp), %rdx
movq -0x728(%rbp), %rsi
movq -0x730(%rbp), %rdi
movq -0x28(%rbp), %r8
movq -0x30(%rbp), %r9
movq -0x38(%rbp), %rcx
movq %rsp, %rax
movq %rcx, (%rax)
leaq -0x318(%rbp), %rcx
callq 0xce90
movl %eax, -0x734(%rbp)
jmp 0xb361
movl -0x734(%rbp), %eax
movl %eax, -0x4(%rbp)
leaq -0x318(%rbp), %rdi
callq 0x3170
leaq -0x319(%rbp), %rdi
callq 0x32c0
jmp 0xbb20
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
jmp 0xb3ad
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
leaq -0x318(%rbp), %rdi
callq 0x3170
leaq -0x319(%rbp), %rdi
callq 0x32c0
jmp 0xbb2c
movq -0x10(%rbp), %rax
movq %rax, -0x758(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x750(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x748(%rbp)
leaq -0x341(%rbp), %rdi
movq %rdi, -0x740(%rbp)
callq 0x3450
movq -0x740(%rbp), %rdx
leaq 0x7491(%rip), %rsi      # 0x12891
leaq -0x340(%rbp), %rdi
callq 0x4250
jmp 0xb40e
movq -0x748(%rbp), %rdx
movq -0x750(%rbp), %rsi
movq -0x758(%rbp), %rdi
movq -0x28(%rbp), %r8
movq -0x30(%rbp), %r9
movq -0x38(%rbp), %rcx
movq %rsp, %rax
movq %rcx, (%rax)
leaq -0x340(%rbp), %rcx
callq 0xce90
movl %eax, -0x75c(%rbp)
jmp 0xb449
movl -0x75c(%rbp), %eax
movl %eax, -0x4(%rbp)
leaq -0x340(%rbp), %rdi
callq 0x3170
leaq -0x341(%rbp), %rdi
callq 0x32c0
jmp 0xbb20
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
jmp 0xb495
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
leaq -0x340(%rbp), %rdi
callq 0x3170
leaq -0x341(%rbp), %rdi
callq 0x32c0
jmp 0xbb2c
movq -0x10(%rbp), %rax
movq %rax, -0x780(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x778(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x770(%rbp)
leaq -0x369(%rbp), %rdi
movq %rdi, -0x768(%rbp)
callq 0x3450
movq -0x768(%rbp), %rdx
leaq 0x7280(%rip), %rsi      # 0x12768
leaq -0x368(%rbp), %rdi
callq 0x4250
jmp 0xb4f6
movq -0x770(%rbp), %rdx
movq -0x778(%rbp), %rsi
movq -0x780(%rbp), %rdi
movq -0x28(%rbp), %r8
movq -0x30(%rbp), %r9
movq -0x38(%rbp), %rcx
movq %rsp, %rax
movq %rcx, (%rax)
leaq -0x368(%rbp), %rcx
callq 0xce90
movl %eax, -0x784(%rbp)
jmp 0xb531
movl -0x784(%rbp), %eax
movl %eax, -0x4(%rbp)
leaq -0x368(%rbp), %rdi
callq 0x3170
leaq -0x369(%rbp), %rdi
callq 0x32c0
jmp 0xbb20
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
jmp 0xb57d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
leaq -0x368(%rbp), %rdi
callq 0x3170
leaq -0x369(%rbp), %rdi
callq 0x32c0
jmp 0xbb2c
movq -0x10(%rbp), %rax
movq %rax, -0x7a8(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x7a0(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x798(%rbp)
leaq -0x391(%rbp), %rdi
movq %rdi, -0x790(%rbp)
callq 0x3450
movq -0x790(%rbp), %rdx
leaq 0x72cf(%rip), %rsi      # 0x1289f
leaq -0x390(%rbp), %rdi
callq 0x4250
jmp 0xb5de
movq -0x798(%rbp), %rdx
movq -0x7a0(%rbp), %rsi
movq -0x7a8(%rbp), %rdi
movq -0x28(%rbp), %r8
movq -0x30(%rbp), %r9
movq -0x38(%rbp), %rcx
movq %rsp, %rax
movq %rcx, (%rax)
leaq -0x390(%rbp), %rcx
callq 0xce90
movl %eax, -0x7ac(%rbp)
jmp 0xb619
movl -0x7ac(%rbp), %eax
movl %eax, -0x4(%rbp)
leaq -0x390(%rbp), %rdi
callq 0x3170
leaq -0x391(%rbp), %rdi
callq 0x32c0
jmp 0xbb20
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
jmp 0xb665
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
leaq -0x390(%rbp), %rdi
callq 0x3170
leaq -0x391(%rbp), %rdi
callq 0x32c0
jmp 0xbb2c
movq -0x10(%rbp), %rax
movq %rax, -0x7d0(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x7c8(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x7c0(%rbp)
leaq -0x3b9(%rbp), %rdi
movq %rdi, -0x7b8(%rbp)
callq 0x3450
movq -0x7b8(%rbp), %rdx
leaq 0x70d4(%rip), %rsi      # 0x1278c
leaq -0x3b8(%rbp), %rdi
callq 0x4250
jmp 0xb6c6
movq -0x7c0(%rbp), %rdx
movq -0x7c8(%rbp), %rsi
movq -0x7d0(%rbp), %rdi
movq -0x28(%rbp), %r8
movq -0x30(%rbp), %r9
movq -0x38(%rbp), %rcx
movq %rsp, %rax
movq %rcx, (%rax)
leaq -0x3b8(%rbp), %rcx
callq 0xce90
movl %eax, -0x7d4(%rbp)
jmp 0xb701
movl -0x7d4(%rbp), %eax
movl %eax, -0x4(%rbp)
leaq -0x3b8(%rbp), %rdi
callq 0x3170
leaq -0x3b9(%rbp), %rdi
callq 0x32c0
jmp 0xbb20
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
jmp 0xb74d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
leaq -0x3b8(%rbp), %rdi
callq 0x3170
leaq -0x3b9(%rbp), %rdi
callq 0x32c0
jmp 0xbb2c
movq -0x10(%rbp), %rax
movq %rax, -0x7f8(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x7f0(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x7e8(%rbp)
leaq -0x3e1(%rbp), %rdi
movq %rdi, -0x7e0(%rbp)
callq 0x3450
movq -0x7e0(%rbp), %rdx
leaq 0x6ffe(%rip), %rsi      # 0x1279e
leaq -0x3e0(%rbp), %rdi
callq 0x4250
jmp 0xb7ae
movq -0x7e8(%rbp), %rdx
movq -0x7f0(%rbp), %rsi
movq -0x7f8(%rbp), %rdi
movq -0x28(%rbp), %r8
movq -0x30(%rbp), %r9
movq -0x38(%rbp), %rcx
movq %rsp, %rax
movq %rcx, (%rax)
leaq -0x3e0(%rbp), %rcx
callq 0xce90
movl %eax, -0x7fc(%rbp)
jmp 0xb7e9
movl -0x7fc(%rbp), %eax
movl %eax, -0x4(%rbp)
leaq -0x3e0(%rbp), %rdi
callq 0x3170
leaq -0x3e1(%rbp), %rdi
callq 0x32c0
jmp 0xbb20
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
jmp 0xb835
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
leaq -0x3e0(%rbp), %rdi
callq 0x3170
leaq -0x3e1(%rbp), %rdi
callq 0x32c0
jmp 0xbb2c
cmpl $0x0, -0x3c(%rbp)
jne 0xb938
movq -0x10(%rbp), %rax
movq %rax, -0x820(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x818(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x810(%rbp)
leaq -0x409(%rbp), %rdi
movq %rdi, -0x808(%rbp)
callq 0x3450
movq -0x808(%rbp), %rdx
leaq 0x6f28(%rip), %rsi      # 0x127ba
leaq -0x408(%rbp), %rdi
callq 0x4250
jmp 0xb8a0
movq -0x810(%rbp), %rdx
movq -0x818(%rbp), %rsi
movq -0x820(%rbp), %rdi
movq -0x28(%rbp), %r8
movq -0x30(%rbp), %r9
movq -0x38(%rbp), %rcx
movq %rsp, %rax
movq %rcx, (%rax)
leaq -0x408(%rbp), %rcx
callq 0xce90
movl %eax, -0x824(%rbp)
jmp 0xb8db
movl -0x824(%rbp), %eax
movl %eax, -0x4(%rbp)
leaq -0x408(%rbp), %rdi
callq 0x3170
leaq -0x409(%rbp), %rdi
callq 0x32c0
jmp 0xbb20
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
jmp 0xb927
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
leaq -0x408(%rbp), %rdi
callq 0x3170
leaq -0x409(%rbp), %rdi
callq 0x32c0
jmp 0xbb2c
jmp 0xbb09
movq -0x10(%rbp), %rax
movq %rax, -0x848(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x840(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x838(%rbp)
leaq -0x431(%rbp), %rdi
movq %rdi, -0x830(%rbp)
callq 0x3450
movq -0x830(%rbp), %rdx
leaq 0x6e61(%rip), %rsi      # 0x127e0
leaq -0x430(%rbp), %rdi
callq 0x4250
jmp 0xb98d
movq -0x838(%rbp), %rdx
movq -0x840(%rbp), %rsi
movq -0x848(%rbp), %rdi
movq -0x28(%rbp), %r8
movq -0x30(%rbp), %r9
movq -0x38(%rbp), %rcx
movq %rsp, %rax
movq %rcx, (%rax)
leaq -0x430(%rbp), %rcx
callq 0xce90
movl %eax, -0x84c(%rbp)
jmp 0xb9c8
movl -0x84c(%rbp), %eax
movl %eax, -0x4(%rbp)
leaq -0x430(%rbp), %rdi
callq 0x3170
leaq -0x431(%rbp), %rdi
callq 0x32c0
jmp 0xbb20
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
jmp 0xba14
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
leaq -0x430(%rbp), %rdi
callq 0x3170
leaq -0x431(%rbp), %rdi
callq 0x32c0
jmp 0xbb2c
movq -0x10(%rbp), %rax
movq %rax, -0x870(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x868(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x860(%rbp)
leaq -0x459(%rbp), %rdi
movq %rdi, -0x858(%rbp)
callq 0x3450
movq -0x858(%rbp), %rdx
leaq 0x6d8c(%rip), %rsi      # 0x127f3
leaq -0x458(%rbp), %rdi
callq 0x4250
jmp 0xba75
movq -0x860(%rbp), %rdx
movq -0x868(%rbp), %rsi
movq -0x870(%rbp), %rdi
movq -0x28(%rbp), %r8
movq -0x30(%rbp), %r9
movq -0x38(%rbp), %rcx
movq %rsp, %rax
movq %rcx, (%rax)
leaq -0x458(%rbp), %rcx
callq 0xce90
movl %eax, -0x874(%rbp)
jmp 0xbab0
movl -0x874(%rbp), %eax
movl %eax, -0x4(%rbp)
leaq -0x458(%rbp), %rdi
callq 0x3170
leaq -0x459(%rbp), %rdi
callq 0x32c0
jmp 0xbb20
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
jmp 0xbaf9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x70(%rbp)
movl %eax, -0x74(%rbp)
leaq -0x458(%rbp), %rdi
callq 0x3170
leaq -0x459(%rbp), %rdi
callq 0x32c0
jmp 0xbb2c
jmp 0xbb09
movq -0x28(%rbp), %rdi
leaq 0x716c(%rip), %rsi      # 0x12c80
callq 0x33a0
movl $0x2005, -0x4(%rbp)     # imm = 0x2005
movl -0x4(%rbp), %eax
addq $0x880, %rsp            # imm = 0x880
popq %rbp
retq
movq -0x70(%rbp), %rdi
callq 0x3440
nopw %cs:(%rax,%rax)