// File: /workspace/github_cpp_makefile_star2_O1/ys1998[P]spsim/src/instruction.cpp
// Function: Instruction::Instruction(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>)
Instruction::Instruction(int _PC, std::string instr){
	ID = -1;
	PC = _PC;
	_rd = -1; rd_ = -1;
	rs = rt = rd = -1;
	IF = DE = RF1 = EXEC = RF2= MEM= WB = -1;
	shamt = 0;
	text = instr;
	predicted = jumpAddressPred = 55;

	std::istringstream iss(instr);
	std::string op;
	int cnt = 0, extra;
	while(iss){
		switch(cnt){
			case 0:
			op = ""; iss >> op;
			if(!OPCODE.count(op) || !FUNCT.count(op)){
				error_msg("parser", "Invalid operation \"" + op + "\", line " + std::to_string(_PC));
			}else{	
				opcode = OPCODE[op];
				funct = FUNCT[op];
			}
			break;
			case 1:
			if(opcode == 0 || opcode == OPCODE["lw"])
			{
				iss >> rd;
				if(rd < 0 || rd >= NUM_LOG_REGS){
					error_msg("parser", "Invalid register rd = " + std::to_string(rd) + ", line " + std::to_string(_PC));
				}
			}
			else{
				iss >> rs;
				if(rs < 0 || rs >= NUM_LOG_REGS){
					error_msg("parser", "Invalid register rd = " + std::to_string(rs) + ", line " + std::to_string(_PC));
				}
			}
			break;
			case 2:
			if(opcode == OPCODE["lw"] || opcode == OPCODE["sw"]){
				iss >> immediate;
				if(immediate>std::pow(2,15)||immediate<-std::pow(2,15))
				error_msg("parser", "Invalid immediate immediate = " + std::to_string(immediate) + ", line " + std::to_string(_PC));
				 	
			}else if(opcode == 0)
			{
				iss >> rs;
				if(rs < 0 || rs >= NUM_LOG_REGS){
					error_msg("parser", "Invalid register rs = " + std::to_string(rs) + ", line " + std::to_string(_PC));
				}
			}
			else
			{
				iss >> rt;
				if(rt < 0 || rt >= NUM_LOG_REGS){
					error_msg("parser", "Invalid register rt = " + std::to_string(rt) + ", line " + std::to_string(_PC));
				}
			}
			break;
			
			case 3:
			if(opcode == 0)
			{
				iss >> rt;
				if(rt < 0 || rt >= NUM_LOG_REGS){
					error_msg("parser", "Invalid register rt = " + std::to_string(rt) + ", line " + std::to_string(_PC));
				}
			}
			else if( opcode == OPCODE["beq"] || opcode == OPCODE["bne"])
			{
				iss >> immediate;
				if (immediate < -32768 || immediate >= 32768)
				{
					error_msg("parser", "Invalid immediate = " + std::to_string(immediate) + ", line " + std::to_string(_PC));
				}
			}
			else{
				iss >> rt;
				if(rt < 0 || rt >= NUM_LOG_REGS){
					error_msg("parser", "Invalid register rt = " + std::to_string(rt) + ", line " + std::to_string(_PC));
				}
			}
			if(opcode == OPCODE["lw"])
				rs=rt;
			break;
			default:
			iss >> extra;
			break;
		}
		cnt++;
	}
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x518, %rsp            # imm = 0x518
movq %rdx, %rbx
movl %esi, %r14d
movq %rdi, %r15
leaq 0x50(%rdi), %rdi
leaq 0x60(%r15), %rax
movq %rax, 0x200(%rsp)
movq %rax, 0x50(%r15)
movq $0x0, 0x58(%r15)
movb $0x0, 0x60(%r15)
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
movl %eax, (%r15)
movl %esi, 0x4(%r15)
movq $-0x1, %rcx
movq %rcx, 0x1c(%r15)
movl %eax, 0x10(%r15)
movq %rcx, 0x8(%r15)
pcmpeqd %xmm0, %xmm0
movdqu %xmm0, 0x34(%r15)
movdqu %xmm0, 0x40(%r15)
movl $0x0, 0x2c(%r15)
movq %rdi, 0x388(%rsp)
movq %rdx, %rsi
callq 0x3140
movabsq $0x3700000037, %rax     # imm = 0x3700000037
movq %r15, 0x98(%rsp)
movq %rax, 0x70(%r15)
leaq 0x398(%rsp), %rdi
movq %rbx, %rsi
movl $0x8, %edx
callq 0x3320
leaq 0xd0(%rsp), %rax
movq %rax, -0x10(%rax)
movq $0x0, -0x8(%rax)
movb $0x0, (%rax)
movq 0x398(%rsp), %rax
movq -0x18(%rax), %rax
testb $0x5, 0x3b8(%rsp,%rax)
jne 0xa332
movq 0x98(%rsp), %rcx
leaq 0x10(%rcx), %rax
movq %rax, 0xb8(%rsp)
leaq 0xc(%rcx), %rax
movq %rax, 0x90(%rsp)
leaq 0x8(%rcx), %rax
movq %rax, 0xa8(%rsp)
leaq 0x18(%rsp), %rbp
movl %r14d, %edx
negl %edx
cmovsl %r14d, %edx
leaq 0x60(%rsp), %r13
shrl $0x1f, %r14d
movq %r14, 0xa0(%rsp)
leaq 0x30(%rcx), %rax
movq %rax, 0xb0(%rsp)
xorl %r14d, %r14d
leaq 0x50(%rsp), %r12
leaq 0x8(%rsp), %rbx
movl %edx, 0x2c(%rsp)
cmpl $0x3, %r14d
ja 0x821b
movl %r14d, %eax
leaq 0xf334(%rip), %rcx      # 0x170b4
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq 0xc8(%rsp), %rdx
leaq 0xc0(%rsp), %rdi
xorl %esi, %esi
leaq 0xf55b(%rip), %rcx      # 0x172fd
xorl %r8d, %r8d
callq 0x32e0
leaq 0x398(%rsp), %rdi
leaq 0xc0(%rsp), %rsi
callq 0x3280
leaq 0x1544a(%rip), %rdi     # 0x1d210
leaq 0xc0(%rsp), %rsi
callq 0xae0e
leaq 0x15436(%rip), %rcx     # 0x1d210
addq $0x8, %rcx
cmpq %rcx, %rax
je 0x8235
leaq 0x15452(%rip), %rdi     # 0x1d240
leaq 0xc0(%rsp), %rsi
callq 0xae0e
leaq 0x1543e(%rip), %rcx     # 0x1d240
addq $0x8, %rcx
cmpq %rcx, %rax
je 0x8235
leaq 0x153fa(%rip), %rdi     # 0x1d210
leaq 0xc0(%rsp), %rsi
callq 0xad24
movl (%rax), %eax
movq 0x98(%rsp), %rcx
movl %eax, 0x24(%rcx)
leaq 0x15409(%rip), %rdi     # 0x1d240
leaq 0xc0(%rsp), %rsi
callq 0xad24
movl (%rax), %eax
movq 0x98(%rsp), %rcx
movl %eax, 0x28(%rcx)
jmp 0xa315
movq %rbp, %rax
movq 0x98(%rsp), %rcx
movl 0x24(%rcx), %ebp
movq %rax, 0x8(%rsp)
movq %rbx, %rdi
leaq 0xf1fa(%rip), %rsi      # 0x1706d
leaq 0xf1f5(%rip), %rdx      # 0x1706f
callq 0x5346
leaq 0x1538a(%rip), %rdi     # 0x1d210
movq %rbx, %rsi
callq 0x517a
movl (%rax), %r13d
movb $0x1, %r12b
cmpl %r13d, %ebp
je 0x7ee9
movq 0x98(%rsp), %rax
movl 0x24(%rax), %r12d
leaq 0x358(%rsp), %rax
movq %rax, 0x348(%rsp)
leaq 0x348(%rsp), %r15
movq %r15, %rdi
leaq 0xf156(%rip), %rsi      # 0x1701d
leaq 0xf151(%rip), %rdx      # 0x1701f
callq 0x5346
leaq 0x15336(%rip), %rdi     # 0x1d210
movq %r15, %rsi
callq 0x517a
cmpl (%rax), %r12d
sete %r12b
cmpl %r13d, %ebp
leaq 0x60(%rsp), %r13
leaq 0x18(%rsp), %rbp
je 0x7f1d
movq 0x348(%rsp), %rdi
leaq 0x358(%rsp), %rax
cmpq %rax, %rdi
je 0x7f1d
movq 0x358(%rsp), %rsi
incq %rsi
callq 0x3200
movq 0x8(%rsp), %rdi
cmpq %rbp, %rdi
je 0x7f34
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x3200
testb %r12b, %r12b
je 0x82b0
leaq 0x398(%rsp), %rdi
movq 0xb0(%rsp), %rsi
callq 0x3170
leaq 0x50(%rsp), %r12
movq 0xb0(%rsp), %rax
movl (%rax), %eax
movl $0xffff7fff, %ecx       # imm = 0xFFFF7FFF
addl %ecx, %eax
cmpl $0xfffefffe, %eax       # imm = 0xFFFEFFFE
ja 0xa315
leaq 0x258(%rsp), %rax
movq %rax, 0x248(%rsp)
leaq 0x248(%rsp), %rdi
leaq 0xf132(%rip), %rsi      # 0x170c4
leaq 0xf131(%rip), %rdx      # 0x170ca
callq 0x5346
movq 0xb0(%rsp), %rax
movl (%rax), %r13d
movl %r13d, %r12d
negl %r12d
cmovsl %r13d, %r12d
movl $0x1, %ebp
cmpl $0xa, %r12d
jb 0x8c8c
movl $0x4, %ebp
movl %r12d, %eax
cmpl $0x63, %eax
jbe 0x89cc
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x8c8a
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x8c8c
movl %eax, %ecx
movl $0xd1b71759, %edx       # imm = 0xD1B71759
imulq %rdx, %rcx
shrq $0x2d, %rcx
addl $0x4, %ebp
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x7fca
addl $-0x3, %ebp
jmp 0x8c8c
movq 0x98(%rsp), %rax
movl 0x24(%rax), %ebp
testl %ebp, %ebp
je 0x8386
leaq 0x18(%rsp), %rax
movq %rax, 0x8(%rsp)
movq %rbx, %rdi
leaq 0xefd9(%rip), %rsi      # 0x1700c
leaq 0xefd5(%rip), %rdx      # 0x1700f
callq 0x5346
leaq 0x151ca(%rip), %rdi     # 0x1d210
movq %rbx, %rsi
callq 0x517a
movl (%rax), %r13d
movb $0x1, %r12b
cmpl %r13d, %ebp
je 0x80a9
movq 0x98(%rsp), %rax
movl 0x24(%rax), %r12d
leaq 0x318(%rsp), %rax
movq %rax, 0x308(%rsp)
leaq 0x308(%rsp), %r15
movq %r15, %rdi
leaq 0xef89(%rip), %rsi      # 0x17010
leaq 0xef85(%rip), %rdx      # 0x17013
callq 0x5346
leaq 0x15176(%rip), %rdi     # 0x1d210
movq %r15, %rsi
callq 0x517a
cmpl (%rax), %r12d
sete %r12b
cmpl %r13d, %ebp
leaq 0x60(%rsp), %r13
leaq 0x18(%rsp), %rbp
je 0x80dd
movq 0x308(%rsp), %rdi
leaq 0x318(%rsp), %rax
cmpq %rax, %rdi
je 0x80dd
movq 0x318(%rsp), %rsi
incq %rsi
callq 0x3200
movq 0x8(%rsp), %rdi
cmpq %rbp, %rdi
je 0x80f4
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x3200
testb %r12b, %r12b
je 0x860c
leaq 0x398(%rsp), %rdi
movq 0xb0(%rsp), %rsi
callq 0x3170
movq 0xb0(%rsp), %rax
movl (%rax), %eax
movswl %ax, %ecx
cmpl %eax, %ecx
je 0x9f81
leaq 0x2f8(%rsp), %rax
movq %rax, 0x2e8(%rsp)
leaq 0x2e8(%rsp), %rdi
leaq 0xef7e(%rip), %rsi      # 0x170c4
leaq 0xef7d(%rip), %rdx      # 0x170ca
callq 0x5346
movq 0xb0(%rsp), %rax
movl (%rax), %r13d
movl %r13d, %r12d
negl %r12d
cmovsl %r13d, %r12d
movl $0x1, %ebp
cmpl $0xa, %r12d
jb 0x979f
movl $0x4, %ebp
movl %r12d, %eax
cmpl $0x63, %eax
jbe 0x9632
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x979d
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x979f
movl %eax, %ecx
movl $0xd1b71759, %edx       # imm = 0xD1B71759
imulq %rdx, %rcx
shrq $0x2d, %rcx
addl $0x4, %ebp
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x817e
addl $-0x3, %ebp
jmp 0x979f
movq 0x98(%rsp), %rax
movl 0x24(%rax), %ebp
testl %ebp, %ebp
je 0x844a
leaq 0x378(%rsp), %rax
movq %rax, 0x368(%rsp)
leaq 0x368(%rsp), %r12
movq %r12, %rdi
leaq 0xee78(%rip), %rsi      # 0x1706d
leaq 0xee73(%rip), %rdx      # 0x1706f
callq 0x5346
leaq 0x15008(%rip), %rdi     # 0x1d210
movq %r12, %rsi
callq 0x517a
cmpl (%rax), %ebp
sete %r12b
jmp 0x844d
leaq 0x398(%rsp), %rdi
leaq 0x394(%rsp), %rsi
callq 0x3170
jmp 0xa315
leaq 0x2b8(%rsp), %rax
movq %rax, 0x2a8(%rsp)
leaq 0x2a8(%rsp), %rdi
leaq 0xee70(%rip), %rsi      # 0x170c4
leaq 0xee6f(%rip), %rdx      # 0x170ca
callq 0x5346
movq %r12, %rdi
leaq 0xee61(%rip), %rsi      # 0x170cb
leaq 0xc0(%rsp), %rdx
callq 0xac9b
movq %r12, %rdi
leaq 0xee5e(%rip), %rsi      # 0x170df
callq 0x3380
movq %rbp, 0x8(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x86cb
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
jmp 0x86d4
movq 0x98(%rsp), %rax
cmpl $0x0, 0x24(%rax)
leaq 0x50(%rsp), %r12
je 0x8749
leaq 0x398(%rsp), %rdi
movq 0x90(%rsp), %rsi
callq 0x3170
movq 0x90(%rsp), %rax
cmpl $0x20, (%rax)
jb 0xa315
leaq 0x218(%rsp), %rax
movq %rax, 0x208(%rsp)
leaq 0x208(%rsp), %rdi
leaq 0xedb8(%rip), %rsi      # 0x170c4
leaq 0xedb7(%rip), %rdx      # 0x170ca
callq 0x5346
movq 0x90(%rsp), %rax
movl (%rax), %r13d
movl %r13d, %r12d
negl %r12d
cmovsl %r13d, %r12d
movl $0x1, %ebp
cmpl $0xa, %r12d
jb 0x9644
movl $0x4, %ebp
movl %r12d, %eax
cmpl $0x63, %eax
jbe 0x962d
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x9642
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x9644
movl %eax, %ecx
movl $0xd1b71759, %edx       # imm = 0xD1B71759
imulq %rdx, %rcx
shrq $0x2d, %rcx
addl $0x4, %ebp
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x8344
addl $-0x3, %ebp
jmp 0x9644
leaq 0x398(%rsp), %rdi
movq 0x90(%rsp), %rsi
callq 0x3170
leaq 0x18(%rsp), %rbp
movq 0x90(%rsp), %rax
cmpl $0x20, (%rax)
jb 0x9f81
leaq 0x338(%rsp), %rax
movq %rax, 0x328(%rsp)
leaq 0x328(%rsp), %rdi
leaq 0xecf4(%rip), %rsi      # 0x170c4
leaq 0xecf3(%rip), %rdx      # 0x170ca
callq 0x5346
movq 0x90(%rsp), %rax
movl (%rax), %r13d
movl %r13d, %r12d
negl %r12d
cmovsl %r13d, %r12d
movl $0x1, %ebp
cmpl $0xa, %r12d
jb 0x9338
movl $0x4, %ebp
movl %r12d, %eax
cmpl $0x63, %eax
jbe 0x9331
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x9336
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x9338
movl %eax, %ecx
movl $0xd1b71759, %edx       # imm = 0xD1B71759
imulq %rdx, %rcx
shrq $0x2d, %rcx
addl $0x4, %ebp
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x8408
addl $-0x3, %ebp
jmp 0x9338
movb $0x1, %r12b
testl %ebp, %ebp
leaq 0x18(%rsp), %rbp
je 0x847b
movq 0x368(%rsp), %rdi
leaq 0x378(%rsp), %rax
cmpq %rax, %rdi
je 0x847b
movq 0x378(%rsp), %rsi
incq %rsi
callq 0x3200
testb %r12b, %r12b
je 0x8548
leaq 0x398(%rsp), %rdi
movq 0xb8(%rsp), %rsi
callq 0x3170
leaq 0x50(%rsp), %r12
movq 0xb8(%rsp), %rax
cmpl $0x20, (%rax)
jb 0xa315
leaq 0x298(%rsp), %rax
movq %rax, 0x288(%rsp)
leaq 0x288(%rsp), %rdi
leaq 0xebf6(%rip), %rsi      # 0x170c4
leaq 0xebf5(%rip), %rdx      # 0x170ca
callq 0x5346
movq 0xb8(%rsp), %rax
movl (%rax), %r13d
movl %r13d, %r12d
negl %r12d
cmovsl %r13d, %r12d
movl $0x1, %ebp
cmpl $0xa, %r12d
jb 0x89d6
movl $0x4, %ebp
movl %r12d, %eax
cmpl $0x63, %eax
jbe 0x89bf
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x89d4
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x89d6
movl %eax, %ecx
movl $0xd1b71759, %edx       # imm = 0xD1B71759
imulq %rdx, %rcx
shrq $0x2d, %rcx
addl $0x4, %ebp
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x8506
addl $-0x3, %ebp
jmp 0x89d6
leaq 0x398(%rsp), %rdi
movq 0xa8(%rsp), %rsi
callq 0x3170
leaq 0x50(%rsp), %r12
movq 0xa8(%rsp), %rax
cmpl $0x20, (%rax)
jb 0xa315
leaq 0x278(%rsp), %rax
movq %rax, 0x268(%rsp)
leaq 0x268(%rsp), %rdi
leaq 0xeb32(%rip), %rsi      # 0x170c4
leaq 0xeb31(%rip), %rdx      # 0x170ca
callq 0x5346
movq 0xa8(%rsp), %rax
movl (%rax), %r13d
movl %r13d, %r12d
negl %r12d
cmovsl %r13d, %r12d
movl $0x1, %ebp
cmpl $0xa, %r12d
jb 0x8b31
movl $0x4, %ebp
movl %r12d, %eax
cmpl $0x63, %eax
jbe 0x89c4
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x8b2f
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x8b31
movl %eax, %ecx
movl $0xd1b71759, %edx       # imm = 0xD1B71759
imulq %rdx, %rcx
shrq $0x2d, %rcx
addl $0x4, %ebp
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x85ca
addl $-0x3, %ebp
jmp 0x8b31
leaq 0x398(%rsp), %rdi
movq 0x90(%rsp), %rsi
callq 0x3170
movq 0x90(%rsp), %rax
cmpl $0x20, (%rax)
jb 0x9f81
leaq 0x2d8(%rsp), %rax
movq %rax, 0x2c8(%rsp)
leaq 0x2c8(%rsp), %rdi
leaq 0xea73(%rip), %rsi      # 0x170c4
leaq 0xea72(%rip), %rdx      # 0x170ca
callq 0x5346
movq 0x90(%rsp), %rax
movl (%rax), %r13d
movl %r13d, %r12d
negl %r12d
cmovsl %r13d, %r12d
movl $0x1, %ebp
cmpl $0xa, %r12d
jb 0x98fa
movl $0x4, %ebp
movl %r12d, %eax
cmpl $0x63, %eax
jbe 0x963a
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x98f8
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x98fa
movl %eax, %ecx
movl $0xd1b71759, %edx       # imm = 0xD1B71759
imulq %rdx, %rcx
shrq $0x2d, %rcx
addl $0x4, %ebp
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x8689
addl $-0x3, %ebp
jmp 0x98fa
movdqu (%rcx), %xmm0
movdqu %xmm0, (%rbp)
movq 0x8(%rax), %rdx
movq %rdx, 0x10(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movl $0x1, %r12d
movl 0x2c(%rsp), %eax
cmpl $0xa, %eax
jb 0x8811
movl $0x4, %r12d
cmpl $0x63, %eax
jbe 0x8808
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x880e
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x8811
movl %eax, %ecx
movl $0xd1b71759, %edx       # imm = 0xD1B71759
imulq %rdx, %rcx
shrq $0x2d, %rcx
addl $0x4, %r12d
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x8705
addl $-0x3, %r12d
jmp 0x8811
leaq 0x398(%rsp), %rdi
movq 0xa8(%rsp), %rsi
callq 0x3170
movq 0xa8(%rsp), %rax
cmpl $0x20, (%rax)
jb 0xa315
leaq 0x238(%rsp), %rax
movq %rax, 0x228(%rsp)
leaq 0x228(%rsp), %rdi
leaq 0xe936(%rip), %rsi      # 0x170c4
leaq 0xe935(%rip), %rdx      # 0x170ca
callq 0x5346
movq 0xa8(%rsp), %rax
movl (%rax), %r13d
movl %r13d, %r12d
negl %r12d
cmovsl %r13d, %r12d
movl $0x1, %ebp
cmpl $0xa, %r12d
jb 0xa00b
movl $0x4, %ebp
movl %r12d, %eax
cmpl $0x63, %eax
jbe 0xa004
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0xa009
cmpl $0x2710, %eax           # imm = 0x2710
jb 0xa00b
movl %eax, %ecx
movl $0xd1b71759, %edx       # imm = 0xD1B71759
imulq %rdx, %rcx
shrq $0x2d, %rcx
addl $0x4, %ebp
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x87c6
addl $-0x3, %ebp
jmp 0xa00b
addl $-0x2, %r12d
jmp 0x8811
decl %r12d
movq 0xa0(%rsp), %rbx
leal (%rbx,%r12), %esi
leaq 0x80(%rsp), %rax
movq %rax, 0x70(%rsp)
leaq 0x70(%rsp), %rdi
movl $0x2d, %edx
callq 0x3250
movq 0x70(%rsp), %rdi
addq %rbx, %rdi
movl %r12d, %esi
movl 0x2c(%rsp), %edx
callq 0xada0
movq 0x8(%rsp), %rcx
movl $0xf, %esi
cmpq %rbp, %rcx
je 0x8861
movq 0x18(%rsp), %rsi
movq 0x10(%rsp), %r8
movq 0x78(%rsp), %rdx
leaq (%rdx,%r8), %rax
cmpq %rsi, %rax
leaq 0x1f0(%rsp), %r12
leaq 0x8(%rsp), %rbx
jbe 0x88a2
movl $0xf, %esi
leaq 0x80(%rsp), %rdi
cmpq %rdi, 0x70(%rsp)
je 0x889d
movq 0x80(%rsp), %rsi
cmpq %rsi, %rax
jbe 0x88b1
movq 0x70(%rsp), %rsi
movq %rbx, %rdi
callq 0x30c0
jmp 0x88bf
leaq 0x70(%rsp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x3230
movq %r12, 0x1e0(%rsp)
movq (%rax), %rdx
leaq 0x10(%rax), %rcx
cmpq %rcx, %rdx
je 0x88e8
movq %rdx, 0x1e0(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x1f0(%rsp)
jmp 0x88f2
movdqu (%rcx), %xmm0
movdqu %xmm0, (%r12)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, 0x1e8(%rsp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
leaq 0x2a8(%rsp), %rdi
leaq 0x1e0(%rsp), %rsi
callq 0xdfd8
movq 0x1e0(%rsp), %rdi
cmpq %r12, %rdi
je 0x8944
movq 0x1f0(%rsp), %rsi
incq %rsi
callq 0x3200
movq 0x70(%rsp), %rdi
leaq 0x80(%rsp), %rax
cmpq %rax, %rdi
leaq 0x50(%rsp), %r12
je 0x896b
movq 0x80(%rsp), %rsi
incq %rsi
callq 0x3200
movq 0x8(%rsp), %rdi
cmpq %rbp, %rdi
je 0x8982
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x3200
movq 0x50(%rsp), %rdi
cmpq %r13, %rdi
je 0x8999
movq 0x60(%rsp), %rsi
incq %rsi
callq 0x3200
movq 0x2a8(%rsp), %rdi
leaq 0x2b8(%rsp), %rax
cmpq %rax, %rdi
je 0xa315
movq 0x2b8(%rsp), %rsi
jmp 0xa30d
addl $-0x2, %ebp
jmp 0x89d6
addl $-0x2, %ebp
jmp 0x8b31
addl $-0x2, %ebp
jmp 0x8c8c
decl %ebp
shrl $0x1f, %r13d
leal (%rbp,%r13), %esi
leaq 0x80(%rsp), %rax
movq %rax, 0x70(%rsp)
leaq 0x70(%rsp), %rbx
movq %rbx, %rdi
movl $0x2d, %edx
callq 0x3250
addq 0x70(%rsp), %r13
movq %r13, %rdi
movl %ebp, %esi
movl %r12d, %edx
callq 0xada0
movl $0x16, %r8d
movq %rbx, %rdi
xorl %esi, %esi
xorl %edx, %edx
leaq 0xe6c4(%rip), %rcx      # 0x170e8
callq 0x3230
leaq 0x60(%rsp), %r13
movq %r13, 0x50(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
leaq 0x18(%rsp), %rbp
leaq 0x50(%rsp), %rdi
je 0x8a5b
movq %rdx, 0x50(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x60(%rsp)
jmp 0x8a65
movdqu (%rcx), %xmm0
movdqu %xmm0, (%r13)
movq 0x8(%rax), %rdx
movq %rdx, 0x58(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0xe65c(%rip), %rsi      # 0x170e0
callq 0x3380
movq %rbp, 0x8(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x8aac
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
jmp 0x8ab5
movdqu (%rcx), %xmm0
movdqu %xmm0, (%rbp)
movq 0x8(%rax), %rdx
movq %rdx, 0x10(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movl $0x1, %r12d
movl 0x2c(%rsp), %eax
cmpl $0xa, %eax
jb 0x8de8
movl $0x4, %r12d
cmpl $0x63, %eax
jbe 0x8b26
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x8de5
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x8de8
movl %eax, %ecx
movl $0xd1b71759, %edx       # imm = 0xD1B71759
imulq %rdx, %rcx
shrq $0x2d, %rcx
addl $0x4, %r12d
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x8ae6
addl $-0x3, %r12d
jmp 0x8de8
addl $-0x2, %r12d
jmp 0x8de8
decl %ebp
shrl $0x1f, %r13d
leal (%rbp,%r13), %esi
leaq 0x80(%rsp), %rax
movq %rax, 0x70(%rsp)
leaq 0x70(%rsp), %rbx
movq %rbx, %rdi
movl $0x2d, %edx
callq 0x3250
addq 0x70(%rsp), %r13
movq %r13, %rdi
movl %ebp, %esi
movl %r12d, %edx
callq 0xada0
movl $0x16, %r8d
movq %rbx, %rdi
xorl %esi, %esi
xorl %edx, %edx
leaq 0xe569(%rip), %rcx      # 0x170e8
callq 0x3230
leaq 0x60(%rsp), %r13
movq %r13, 0x50(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
leaq 0x18(%rsp), %rbp
leaq 0x50(%rsp), %rdi
je 0x8bb6
movq %rdx, 0x50(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x60(%rsp)
jmp 0x8bc0
movdqu (%rcx), %xmm0
movdqu %xmm0, (%r13)
movq 0x8(%rax), %rdx
movq %rdx, 0x58(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0xe501(%rip), %rsi      # 0x170e0
callq 0x3380
movq %rbp, 0x8(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x8c07
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
jmp 0x8c10
movdqu (%rcx), %xmm0
movdqu %xmm0, (%rbp)
movq 0x8(%rax), %rdx
movq %rdx, 0x10(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movl $0x1, %r12d
movl 0x2c(%rsp), %eax
cmpl $0xa, %eax
jb 0x8fac
movl $0x4, %r12d
cmpl $0x63, %eax
jbe 0x8c81
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x8fa9
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x8fac
movl %eax, %ecx
movl $0xd1b71759, %edx       # imm = 0xD1B71759
imulq %rdx, %rcx
shrq $0x2d, %rcx
addl $0x4, %r12d
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x8c41
addl $-0x3, %r12d
jmp 0x8fac
addl $-0x2, %r12d
jmp 0x8fac
decl %ebp
shrl $0x1f, %r13d
leal (%rbp,%r13), %esi
leaq 0x80(%rsp), %rax
movq %rax, 0x70(%rsp)
leaq 0x70(%rsp), %rbx
movq %rbx, %rdi
movl $0x2d, %edx
callq 0x3250
addq 0x70(%rsp), %r13
movq %r13, %rdi
movl %ebp, %esi
movl %r12d, %edx
callq 0xada0
movl $0x1e, %r8d
movq %rbx, %rdi
xorl %esi, %esi
xorl %edx, %edx
leaq 0xe425(%rip), %rcx      # 0x170ff
callq 0x3230
leaq 0x60(%rsp), %r13
movq %r13, 0x50(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
leaq 0x18(%rsp), %rbp
leaq 0x50(%rsp), %rdi
je 0x8d11
movq %rdx, 0x50(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x60(%rsp)
jmp 0x8d1b
movdqu (%rcx), %xmm0
movdqu %xmm0, (%r13)
movq 0x8(%rax), %rdx
movq %rdx, 0x58(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0xe3a6(%rip), %rsi      # 0x170e0
callq 0x3380
movq %rbp, 0x8(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x8d62
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
jmp 0x8d6b
movdqu (%rcx), %xmm0
movdqu %xmm0, (%rbp)
movq 0x8(%rax), %rdx
movq %rdx, 0x10(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movl $0x1, %r12d
movl 0x2c(%rsp), %eax
cmpl $0xa, %eax
jb 0x9170
movl $0x4, %r12d
cmpl $0x63, %eax
jbe 0x8ddc
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x916d
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x9170
movl %eax, %ecx
movl $0xd1b71759, %edx       # imm = 0xD1B71759
imulq %rdx, %rcx
shrq $0x2d, %rcx
addl $0x4, %r12d
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x8d9c
addl $-0x3, %r12d
jmp 0x9170
addl $-0x2, %r12d
jmp 0x9170
decl %r12d
movq 0xa0(%rsp), %rbx
leal (%rbx,%r12), %esi
leaq 0x40(%rsp), %rax
movq %rax, 0x30(%rsp)
leaq 0x30(%rsp), %rdi
movl $0x2d, %edx
callq 0x3250
movq 0x30(%rsp), %rdi
addq %rbx, %rdi
movl %r12d, %esi
movl 0x2c(%rsp), %edx
callq 0xada0
movq 0x8(%rsp), %rcx
movl $0xf, %esi
cmpq %rbp, %rcx
je 0x8e35
movq 0x18(%rsp), %rsi
movq 0x10(%rsp), %r8
movq 0x38(%rsp), %rdx
leaq (%rdx,%r8), %rax
cmpq %rsi, %rax
leaq 0x1d0(%rsp), %r12
leaq 0x8(%rsp), %rbx
jbe 0x8e70
movl $0xf, %esi
leaq 0x40(%rsp), %rdi
cmpq %rdi, 0x30(%rsp)
je 0x8e6b
movq 0x40(%rsp), %rsi
cmpq %rsi, %rax
jbe 0x8e7f
movq 0x30(%rsp), %rsi
movq %rbx, %rdi
callq 0x30c0
jmp 0x8e8d
leaq 0x30(%rsp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x3230
movq %r12, 0x1c0(%rsp)
movq (%rax), %rdx
leaq 0x10(%rax), %rcx
cmpq %rcx, %rdx
je 0x8eb6
movq %rdx, 0x1c0(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x1d0(%rsp)
jmp 0x8ec0
movdqu (%rcx), %xmm0
movdqu %xmm0, (%r12)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, 0x1c8(%rsp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
leaq 0x288(%rsp), %rdi
leaq 0x1c0(%rsp), %rsi
callq 0xdfd8
movq 0x1c0(%rsp), %rdi
cmpq %r12, %rdi
je 0x8f12
movq 0x1d0(%rsp), %rsi
incq %rsi
callq 0x3200
movq 0x30(%rsp), %rdi
leaq 0x40(%rsp), %rax
cmpq %rax, %rdi
leaq 0x50(%rsp), %r12
je 0x8f33
movq 0x40(%rsp), %rsi
incq %rsi
callq 0x3200
movq 0x8(%rsp), %rdi
cmpq %rbp, %rdi
je 0x8f4a
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x3200
movq 0x50(%rsp), %rdi
cmpq %r13, %rdi
je 0x8f61
movq 0x60(%rsp), %rsi
incq %rsi
callq 0x3200
movq 0x70(%rsp), %rdi
leaq 0x80(%rsp), %rax
cmpq %rax, %rdi
je 0x8f83
movq 0x80(%rsp), %rsi
incq %rsi
callq 0x3200
movq 0x288(%rsp), %rdi
leaq 0x298(%rsp), %rax
cmpq %rax, %rdi
je 0xa315
movq 0x298(%rsp), %rsi
jmp 0xa30d
decl %r12d
movq 0xa0(%rsp), %rbx
leal (%rbx,%r12), %esi
leaq 0x40(%rsp), %rax
movq %rax, 0x30(%rsp)
leaq 0x30(%rsp), %rdi
movl $0x2d, %edx
callq 0x3250
movq 0x30(%rsp), %rdi
addq %rbx, %rdi
movl %r12d, %esi
movl 0x2c(%rsp), %edx
callq 0xada0
movq 0x8(%rsp), %rcx
movl $0xf, %esi
cmpq %rbp, %rcx
je 0x8ff9
movq 0x18(%rsp), %rsi
movq 0x10(%rsp), %r8
movq 0x38(%rsp), %rdx
leaq (%rdx,%r8), %rax
cmpq %rsi, %rax
leaq 0x1b0(%rsp), %r12
leaq 0x8(%rsp), %rbx
jbe 0x9034
movl $0xf, %esi
leaq 0x40(%rsp), %rdi
cmpq %rdi, 0x30(%rsp)
je 0x902f
movq 0x40(%rsp), %rsi
cmpq %rsi, %rax
jbe 0x9043
movq 0x30(%rsp), %rsi
movq %rbx, %rdi
callq 0x30c0
jmp 0x9051
leaq 0x30(%rsp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x3230
movq %r12, 0x1a0(%rsp)
movq (%rax), %rdx
leaq 0x10(%rax), %rcx
cmpq %rcx, %rdx
je 0x907a
movq %rdx, 0x1a0(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x1b0(%rsp)
jmp 0x9084
movdqu (%rcx), %xmm0
movdqu %xmm0, (%r12)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, 0x1a8(%rsp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
leaq 0x268(%rsp), %rdi
leaq 0x1a0(%rsp), %rsi
callq 0xdfd8
movq 0x1a0(%rsp), %rdi
cmpq %r12, %rdi
je 0x90d6
movq 0x1b0(%rsp), %rsi
incq %rsi
callq 0x3200
movq 0x30(%rsp), %rdi
leaq 0x40(%rsp), %rax
cmpq %rax, %rdi
leaq 0x50(%rsp), %r12
je 0x90f7
movq 0x40(%rsp), %rsi
incq %rsi
callq 0x3200
movq 0x8(%rsp), %rdi
cmpq %rbp, %rdi
je 0x910e
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x3200
movq 0x50(%rsp), %rdi
cmpq %r13, %rdi
je 0x9125
movq 0x60(%rsp), %rsi
incq %rsi
callq 0x3200
movq 0x70(%rsp), %rdi
leaq 0x80(%rsp), %rax
cmpq %rax, %rdi
je 0x9147
movq 0x80(%rsp), %rsi
incq %rsi
callq 0x3200
movq 0x268(%rsp), %rdi
leaq 0x278(%rsp), %rax
cmpq %rax, %rdi
je 0xa315
movq 0x278(%rsp), %rsi
jmp 0xa30d
decl %r12d
movq 0xa0(%rsp), %rbx
leal (%rbx,%r12), %esi
leaq 0x40(%rsp), %rax
movq %rax, 0x30(%rsp)
leaq 0x30(%rsp), %rdi
movl $0x2d, %edx
callq 0x3250
movq 0x30(%rsp), %rdi
addq %rbx, %rdi
movl %r12d, %esi
movl 0x2c(%rsp), %edx
callq 0xada0
movq 0x8(%rsp), %rcx
movl $0xf, %esi
cmpq %rbp, %rcx
je 0x91bd
movq 0x18(%rsp), %rsi
movq 0x10(%rsp), %r8
movq 0x38(%rsp), %rdx
leaq (%rdx,%r8), %rax
cmpq %rsi, %rax
leaq 0x190(%rsp), %r12
leaq 0x8(%rsp), %rbx
jbe 0x91f8
movl $0xf, %esi
leaq 0x40(%rsp), %rdi
cmpq %rdi, 0x30(%rsp)
je 0x91f3
movq 0x40(%rsp), %rsi
cmpq %rsi, %rax
jbe 0x9207
movq 0x30(%rsp), %rsi
movq %rbx, %rdi
callq 0x30c0
jmp 0x9215
leaq 0x30(%rsp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x3230
movq %r12, 0x180(%rsp)
movq (%rax), %rdx
leaq 0x10(%rax), %rcx
cmpq %rcx, %rdx
je 0x923e
movq %rdx, 0x180(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x190(%rsp)
jmp 0x9248
movdqu (%rcx), %xmm0
movdqu %xmm0, (%r12)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, 0x188(%rsp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
leaq 0x248(%rsp), %rdi
leaq 0x180(%rsp), %rsi
callq 0xdfd8
movq 0x180(%rsp), %rdi
cmpq %r12, %rdi
je 0x929a
movq 0x190(%rsp), %rsi
incq %rsi
callq 0x3200
movq 0x30(%rsp), %rdi
leaq 0x40(%rsp), %rax
cmpq %rax, %rdi
leaq 0x50(%rsp), %r12
je 0x92bb
movq 0x40(%rsp), %rsi
incq %rsi
callq 0x3200
movq 0x8(%rsp), %rdi
cmpq %rbp, %rdi
je 0x92d2
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x3200
movq 0x50(%rsp), %rdi
cmpq %r13, %rdi
je 0x92e9
movq 0x60(%rsp), %rsi
incq %rsi
callq 0x3200
movq 0x70(%rsp), %rdi
leaq 0x80(%rsp), %rax
cmpq %rax, %rdi
je 0x930b
movq 0x80(%rsp), %rsi
incq %rsi
callq 0x3200
movq 0x248(%rsp), %rdi
leaq 0x258(%rsp), %rax
cmpq %rax, %rdi
je 0xa315
movq 0x258(%rsp), %rsi
jmp 0xa30d
addl $-0x2, %ebp
jmp 0x9338
decl %ebp
shrl $0x1f, %r13d
leal (%rbp,%r13), %esi
leaq 0x80(%rsp), %rax
movq %rax, 0x70(%rsp)
leaq 0x70(%rsp), %rbx
movq %rbx, %rdi
movl $0x2d, %edx
callq 0x3250
addq 0x70(%rsp), %r13
movq %r13, %rdi
movl %ebp, %esi
movl %r12d, %edx
callq 0xada0
movl $0x16, %r8d
movq %rbx, %rdi
xorl %esi, %esi
xorl %edx, %edx
leaq 0xddaf(%rip), %rcx      # 0x17135
callq 0x3230
leaq 0x60(%rsp), %r13
movq %r13, 0x50(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
leaq 0x18(%rsp), %rbp
leaq 0x50(%rsp), %rdi
je 0x93bd
movq %rdx, 0x50(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x60(%rsp)
jmp 0x93c7
movdqu (%rcx), %xmm0
movdqu %xmm0, (%r13)
movq 0x8(%rax), %rdx
movq %rdx, 0x58(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0xdcfa(%rip), %rsi      # 0x170e0
callq 0x3380
movq %rbp, 0x8(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x940e
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
jmp 0x9417
movdqu (%rcx), %xmm0
movdqu %xmm0, (%rbp)
movq 0x8(%rax), %rdx
movq %rdx, 0x10(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movl $0x1, %r12d
movl 0x2c(%rsp), %eax
cmpl $0xa, %eax
jb 0x9482
movl $0x4, %r12d
cmpl $0x63, %eax
jbe 0x9479
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x947f
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x9482
movl %eax, %ecx
movl $0xd1b71759, %edx       # imm = 0xD1B71759
imulq %rdx, %rcx
shrq $0x2d, %rcx
addl $0x4, %r12d
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x9444
addl $-0x3, %r12d
jmp 0x9482
addl $-0x2, %r12d
jmp 0x9482
decl %r12d
movq 0xa0(%rsp), %rbx
leal (%rbx,%r12), %esi
leaq 0x40(%rsp), %rax
movq %rax, 0x30(%rsp)
leaq 0x30(%rsp), %rdi
movl $0x2d, %edx
callq 0x3250
movq 0x30(%rsp), %rdi
addq %rbx, %rdi
movl %r12d, %esi
movl 0x2c(%rsp), %edx
callq 0xada0
movq 0x8(%rsp), %rcx
movl $0xf, %esi
cmpq %rbp, %rcx
je 0x94cf
movq 0x18(%rsp), %rsi
movq 0x10(%rsp), %r8
movq 0x38(%rsp), %rdx
leaq (%rdx,%r8), %rax
cmpq %rsi, %rax
leaq 0x130(%rsp), %r12
leaq 0x8(%rsp), %rbx
jbe 0x950a
movl $0xf, %esi
leaq 0x40(%rsp), %rdi
cmpq %rdi, 0x30(%rsp)
je 0x9505
movq 0x40(%rsp), %rsi
cmpq %rsi, %rax
jbe 0x9519
movq 0x30(%rsp), %rsi
movq %rbx, %rdi
callq 0x30c0
jmp 0x9527
leaq 0x30(%rsp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x3230
movq %r12, 0x120(%rsp)
movq (%rax), %rdx
leaq 0x10(%rax), %rcx
cmpq %rcx, %rdx
je 0x9550
movq %rdx, 0x120(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x130(%rsp)
jmp 0x955a
movdqu (%rcx), %xmm0
movdqu %xmm0, (%r12)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, 0x128(%rsp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
leaq 0x328(%rsp), %rdi
leaq 0x120(%rsp), %rsi
callq 0xdfd8
movq 0x120(%rsp), %rdi
cmpq %r12, %rdi
je 0x95ac
movq 0x130(%rsp), %rsi
incq %rsi
callq 0x3200
movq 0x30(%rsp), %rdi
leaq 0x40(%rsp), %rax
cmpq %rax, %rdi
je 0x95c8
movq 0x40(%rsp), %rsi
incq %rsi
callq 0x3200
movq 0x8(%rsp), %rdi
cmpq %rbp, %rdi
je 0x95df
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x3200
movq 0x50(%rsp), %rdi
cmpq %r13, %rdi
je 0x95f6
movq 0x60(%rsp), %rsi
incq %rsi
callq 0x3200
movq 0x70(%rsp), %rdi
leaq 0x80(%rsp), %rax
cmpq %rax, %rdi
je 0x9618
movq 0x80(%rsp), %rsi
incq %rsi
callq 0x3200
movq 0x328(%rsp), %rdi
leaq 0x338(%rsp), %rcx
jmp 0x9f6e
addl $-0x2, %ebp
jmp 0x9644
addl $-0x2, %ebp
jmp 0x979f
addl $-0x2, %ebp
jmp 0x98fa
decl %ebp
shrl $0x1f, %r13d
leal (%rbp,%r13), %esi
leaq 0x80(%rsp), %rax
movq %rax, 0x70(%rsp)
leaq 0x70(%rsp), %rbx
movq %rbx, %rdi
movl $0x2d, %edx
callq 0x3250
addq 0x70(%rsp), %r13
movq %r13, %rdi
movl %ebp, %esi
movl %r12d, %edx
callq 0xada0
movl $0x16, %r8d
movq %rbx, %rdi
xorl %esi, %esi
xorl %edx, %edx
leaq 0xdaa3(%rip), %rcx      # 0x17135
callq 0x3230
leaq 0x60(%rsp), %r13
movq %r13, 0x50(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
leaq 0x18(%rsp), %rbp
leaq 0x50(%rsp), %rdi
je 0x96c9
movq %rdx, 0x50(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x60(%rsp)
jmp 0x96d3
movdqu (%rcx), %xmm0
movdqu %xmm0, (%r13)
movq 0x8(%rax), %rdx
movq %rdx, 0x58(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0xd9ee(%rip), %rsi      # 0x170e0
callq 0x3380
movq %rbp, 0x8(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x971a
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
jmp 0x9723
movdqu (%rcx), %xmm0
movdqu %xmm0, (%rbp)
movq 0x8(%rax), %rdx
movq %rdx, 0x10(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movl $0x1, %r12d
movl 0x2c(%rsp), %eax
cmpl $0xa, %eax
jb 0x9a56
movl $0x4, %r12d
cmpl $0x63, %eax
jbe 0x9794
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x9a53
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x9a56
movl %eax, %ecx
movl $0xd1b71759, %edx       # imm = 0xD1B71759
imulq %rdx, %rcx
shrq $0x2d, %rcx
addl $0x4, %r12d
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x9754
addl $-0x3, %r12d
jmp 0x9a56
addl $-0x2, %r12d
jmp 0x9a56
decl %ebp
shrl $0x1f, %r13d
leal (%rbp,%r13), %esi
leaq 0x80(%rsp), %rax
movq %rax, 0x70(%rsp)
leaq 0x70(%rsp), %rbx
movq %rbx, %rdi
movl $0x2d, %edx
callq 0x3250
addq 0x70(%rsp), %r13
movq %r13, %rdi
movl %ebp, %esi
movl %r12d, %edx
callq 0xada0
movl $0x14, %r8d
movq %rbx, %rdi
xorl %esi, %esi
xorl %edx, %edx
leaq 0xd95f(%rip), %rcx      # 0x1714c
callq 0x3230
leaq 0x60(%rsp), %r13
movq %r13, 0x50(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
leaq 0x18(%rsp), %rbp
leaq 0x50(%rsp), %rdi
je 0x9824
movq %rdx, 0x50(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x60(%rsp)
jmp 0x982e
movdqu (%rcx), %xmm0
movdqu %xmm0, (%r13)
movq 0x8(%rax), %rdx
movq %rdx, 0x58(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0xd893(%rip), %rsi      # 0x170e0
callq 0x3380
movq %rbp, 0x8(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x9875
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
jmp 0x987e
movdqu (%rcx), %xmm0
movdqu %xmm0, (%rbp)
movq 0x8(%rax), %rdx
movq %rdx, 0x10(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movl $0x1, %r12d
movl 0x2c(%rsp), %eax
cmpl $0xa, %eax
jb 0x9c1a
movl $0x4, %r12d
cmpl $0x63, %eax
jbe 0x98ef
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x9c17
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x9c1a
movl %eax, %ecx
movl $0xd1b71759, %edx       # imm = 0xD1B71759
imulq %rdx, %rcx
shrq $0x2d, %rcx
addl $0x4, %r12d
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x98af
addl $-0x3, %r12d
jmp 0x9c1a
addl $-0x2, %r12d
jmp 0x9c1a
decl %ebp
shrl $0x1f, %r13d
leal (%rbp,%r13), %esi
leaq 0x80(%rsp), %rax
movq %rax, 0x70(%rsp)
leaq 0x70(%rsp), %rbx
movq %rbx, %rdi
movl $0x2d, %edx
callq 0x3250
addq 0x70(%rsp), %r13
movq %r13, %rdi
movl %ebp, %esi
movl %r12d, %edx
callq 0xada0
movl $0x16, %r8d
movq %rbx, %rdi
xorl %esi, %esi
xorl %edx, %edx
leaq 0xd7ed(%rip), %rcx      # 0x17135
callq 0x3230
leaq 0x60(%rsp), %r13
movq %r13, 0x50(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
leaq 0x18(%rsp), %rbp
leaq 0x50(%rsp), %rdi
je 0x997f
movq %rdx, 0x50(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x60(%rsp)
jmp 0x9989
movdqu (%rcx), %xmm0
movdqu %xmm0, (%r13)
movq 0x8(%rax), %rdx
movq %rdx, 0x58(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0xd738(%rip), %rsi      # 0x170e0
callq 0x3380
movq %rbp, 0x8(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x99d0
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
jmp 0x99d9
movdqu (%rcx), %xmm0
movdqu %xmm0, (%rbp)
movq 0x8(%rax), %rdx
movq %rdx, 0x10(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movl $0x1, %r12d
movl 0x2c(%rsp), %eax
cmpl $0xa, %eax
jb 0x9dc8
movl $0x4, %r12d
cmpl $0x63, %eax
jbe 0x9a4a
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x9dc5
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x9dc8
movl %eax, %ecx
movl $0xd1b71759, %edx       # imm = 0xD1B71759
imulq %rdx, %rcx
shrq $0x2d, %rcx
addl $0x4, %r12d
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x9a0a
addl $-0x3, %r12d
jmp 0x9dc8
addl $-0x2, %r12d
jmp 0x9dc8
decl %r12d
movq 0xa0(%rsp), %rbx
leal (%rbx,%r12), %esi
leaq 0x40(%rsp), %rax
movq %rax, 0x30(%rsp)
leaq 0x30(%rsp), %rdi
movl $0x2d, %edx
callq 0x3250
movq 0x30(%rsp), %rdi
addq %rbx, %rdi
movl %r12d, %esi
movl 0x2c(%rsp), %edx
callq 0xada0
movq 0x8(%rsp), %rcx
movl $0xf, %esi
cmpq %rbp, %rcx
je 0x9aa3
movq 0x18(%rsp), %rsi
movq 0x10(%rsp), %r8
movq 0x38(%rsp), %rdx
leaq (%rdx,%r8), %rax
cmpq %rsi, %rax
leaq 0x150(%rsp), %r12
leaq 0x8(%rsp), %rbx
jbe 0x9ade
movl $0xf, %esi
leaq 0x40(%rsp), %rdi
cmpq %rdi, 0x30(%rsp)
je 0x9ad9
movq 0x40(%rsp), %rsi
cmpq %rsi, %rax
jbe 0x9aed
movq 0x30(%rsp), %rsi
movq %rbx, %rdi
callq 0x30c0
jmp 0x9afb
leaq 0x30(%rsp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x3230
movq %r12, 0x140(%rsp)
movq (%rax), %rdx
leaq 0x10(%rax), %rcx
cmpq %rcx, %rdx
je 0x9b24
movq %rdx, 0x140(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x150(%rsp)
jmp 0x9b2e
movdqu (%rcx), %xmm0
movdqu %xmm0, (%r12)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, 0x148(%rsp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
leaq 0x208(%rsp), %rdi
leaq 0x140(%rsp), %rsi
callq 0xdfd8
movq 0x140(%rsp), %rdi
cmpq %r12, %rdi
je 0x9b80
movq 0x150(%rsp), %rsi
incq %rsi
callq 0x3200
movq 0x30(%rsp), %rdi
leaq 0x40(%rsp), %rax
cmpq %rax, %rdi
leaq 0x50(%rsp), %r12
je 0x9ba1
movq 0x40(%rsp), %rsi
incq %rsi
callq 0x3200
movq 0x8(%rsp), %rdi
cmpq %rbp, %rdi
je 0x9bb8
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x3200
movq 0x50(%rsp), %rdi
cmpq %r13, %rdi
je 0x9bcf
movq 0x60(%rsp), %rsi
incq %rsi
callq 0x3200
movq 0x70(%rsp), %rdi
leaq 0x80(%rsp), %rax
cmpq %rax, %rdi
je 0x9bf1
movq 0x80(%rsp), %rsi
incq %rsi
callq 0x3200
movq 0x208(%rsp), %rdi
leaq 0x218(%rsp), %rax
cmpq %rax, %rdi
je 0xa315
movq 0x218(%rsp), %rsi
jmp 0xa30d
decl %r12d
movq 0xa0(%rsp), %rbx
leal (%rbx,%r12), %esi
leaq 0x40(%rsp), %rax
movq %rax, 0x30(%rsp)
leaq 0x30(%rsp), %rdi
movl $0x2d, %edx
callq 0x3250
movq 0x30(%rsp), %rdi
addq %rbx, %rdi
movl %r12d, %esi
movl 0x2c(%rsp), %edx
callq 0xada0
movq 0x8(%rsp), %rcx
movl $0xf, %esi
cmpq %rbp, %rcx
je 0x9c67
movq 0x18(%rsp), %rsi
movq 0x10(%rsp), %r8
movq 0x38(%rsp), %rdx
leaq (%rdx,%r8), %rax
cmpq %rsi, %rax
leaq 0x110(%rsp), %r12
leaq 0x8(%rsp), %rbx
jbe 0x9ca2
movl $0xf, %esi
leaq 0x40(%rsp), %rdi
cmpq %rdi, 0x30(%rsp)
je 0x9c9d
movq 0x40(%rsp), %rsi
cmpq %rsi, %rax
jbe 0x9cb1
movq 0x30(%rsp), %rsi
movq %rbx, %rdi
callq 0x30c0
jmp 0x9cbf
leaq 0x30(%rsp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x3230
movq %r12, 0x100(%rsp)
movq (%rax), %rdx
leaq 0x10(%rax), %rcx
cmpq %rcx, %rdx
je 0x9ce8
movq %rdx, 0x100(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x110(%rsp)
jmp 0x9cf2
movdqu (%rcx), %xmm0
movdqu %xmm0, (%r12)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, 0x108(%rsp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
leaq 0x2e8(%rsp), %rdi
leaq 0x100(%rsp), %rsi
callq 0xdfd8
movq 0x100(%rsp), %rdi
cmpq %r12, %rdi
je 0x9d44
movq 0x110(%rsp), %rsi
incq %rsi
callq 0x3200
movq 0x30(%rsp), %rdi
leaq 0x40(%rsp), %rax
cmpq %rax, %rdi
je 0x9d60
movq 0x40(%rsp), %rsi
incq %rsi
callq 0x3200
movq 0x8(%rsp), %rdi
cmpq %rbp, %rdi
je 0x9d77
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x3200
movq 0x50(%rsp), %rdi
cmpq %r13, %rdi
je 0x9d8e
movq 0x60(%rsp), %rsi
incq %rsi
callq 0x3200
movq 0x70(%rsp), %rdi
leaq 0x80(%rsp), %rax
cmpq %rax, %rdi
je 0x9db0
movq 0x80(%rsp), %rsi
incq %rsi
callq 0x3200
movq 0x2e8(%rsp), %rdi
leaq 0x2f8(%rsp), %rcx
jmp 0x9f6e
decl %r12d
movq 0xa0(%rsp), %rbx
leal (%rbx,%r12), %esi
leaq 0x40(%rsp), %rax
movq %rax, 0x30(%rsp)
leaq 0x30(%rsp), %rdi
movl $0x2d, %edx
callq 0x3250
movq 0x30(%rsp), %rdi
addq %rbx, %rdi
movl %r12d, %esi
movl 0x2c(%rsp), %edx
callq 0xada0
movq 0x8(%rsp), %rcx
movl $0xf, %esi
cmpq %rbp, %rcx
je 0x9e15
movq 0x18(%rsp), %rsi
movq 0x10(%rsp), %r8
movq 0x38(%rsp), %rdx
leaq (%rdx,%r8), %rax
cmpq %rsi, %rax
leaq 0xf0(%rsp), %r12
leaq 0x8(%rsp), %rbx
jbe 0x9e50
movl $0xf, %esi
leaq 0x40(%rsp), %rdi
cmpq %rdi, 0x30(%rsp)
je 0x9e4b
movq 0x40(%rsp), %rsi
cmpq %rsi, %rax
jbe 0x9e5f
movq 0x30(%rsp), %rsi
movq %rbx, %rdi
callq 0x30c0
jmp 0x9e6d
leaq 0x30(%rsp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x3230
movq %r12, 0xe0(%rsp)
movq (%rax), %rdx
leaq 0x10(%rax), %rcx
cmpq %rcx, %rdx
je 0x9e96
movq %rdx, 0xe0(%rsp)
movq (%rcx), %rdx
movq %rdx, 0xf0(%rsp)
jmp 0x9ea0
movdqu (%rcx), %xmm0
movdqu %xmm0, (%r12)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, 0xe8(%rsp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
leaq 0x2c8(%rsp), %rdi
leaq 0xe0(%rsp), %rsi
callq 0xdfd8
movq 0xe0(%rsp), %rdi
cmpq %r12, %rdi
je 0x9ef2
movq 0xf0(%rsp), %rsi
incq %rsi
callq 0x3200
movq 0x30(%rsp), %rdi
leaq 0x40(%rsp), %rax
cmpq %rax, %rdi
je 0x9f0e
movq 0x40(%rsp), %rsi
incq %rsi
callq 0x3200
movq 0x8(%rsp), %rdi
cmpq %rbp, %rdi
je 0x9f25
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x3200
movq 0x50(%rsp), %rdi
cmpq %r13, %rdi
je 0x9f3c
movq 0x60(%rsp), %rsi
incq %rsi
callq 0x3200
movq 0x70(%rsp), %rdi
leaq 0x80(%rsp), %rax
cmpq %rax, %rdi
je 0x9f5e
movq 0x80(%rsp), %rsi
incq %rsi
callq 0x3200
movq 0x2c8(%rsp), %rdi
leaq 0x2d8(%rsp), %rcx
movq %rcx, %rax
cmpq %rcx, %rdi
je 0x9f81
movq (%rax), %rsi
incq %rsi
callq 0x3200
movq %rbp, %rax
movq 0x98(%rsp), %rcx
movl 0x24(%rcx), %ebp
movq %rax, 0x8(%rsp)
movq %rbx, %rdi
leaq 0xd0cf(%rip), %rsi      # 0x1706d
leaq 0xd0ca(%rip), %rdx      # 0x1706f
callq 0x5346
leaq 0x1325f(%rip), %rdi     # 0x1d210
movq %rbx, %rsi
callq 0x517a
movl (%rax), %r12d
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x9fd8
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x3200
cmpl %r12d, %ebp
leaq 0x18(%rsp), %rbp
leaq 0x50(%rsp), %r12
jne 0xa315
movq 0x90(%rsp), %rax
movl (%rax), %eax
movq 0xa8(%rsp), %rcx
movl %eax, (%rcx)
jmp 0xa315
addl $-0x2, %ebp
jmp 0xa00b
decl %ebp
shrl $0x1f, %r13d
leal (%rbp,%r13), %esi
leaq 0x80(%rsp), %rax
movq %rax, 0x70(%rsp)
leaq 0x70(%rsp), %rbx
movq %rbx, %rdi
movl $0x2d, %edx
callq 0x3250
addq 0x70(%rsp), %r13
movq %r13, %rdi
movl %ebp, %esi
movl %r12d, %edx
callq 0xada0
movl $0x16, %r8d
movq %rbx, %rdi
xorl %esi, %esi
xorl %edx, %edx
leaq 0xd0c5(%rip), %rcx      # 0x1711e
callq 0x3230
leaq 0x60(%rsp), %r13
movq %r13, 0x50(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
leaq 0x18(%rsp), %rbp
leaq 0x50(%rsp), %rdi
je 0xa090
movq %rdx, 0x50(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x60(%rsp)
jmp 0xa09a
movdqu (%rcx), %xmm0
movdqu %xmm0, (%r13)
movq 0x8(%rax), %rdx
movq %rdx, 0x58(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0xd027(%rip), %rsi      # 0x170e0
callq 0x3380
movq %rbp, 0x8(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0xa0e1
movq %rdx, 0x8(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x18(%rsp)
jmp 0xa0ea
movdqu (%rcx), %xmm0
movdqu %xmm0, (%rbp)
movq 0x8(%rax), %rdx
movq %rdx, 0x10(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movl $0x1, %r12d
movl 0x2c(%rsp), %eax
cmpl $0xa, %eax
jb 0xa155
movl $0x4, %r12d
cmpl $0x63, %eax
jbe 0xa14c
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0xa152
cmpl $0x2710, %eax           # imm = 0x2710
jb 0xa155
movl %eax, %ecx
movl $0xd1b71759, %edx       # imm = 0xD1B71759
imulq %rdx, %rcx
shrq $0x2d, %rcx
addl $0x4, %r12d
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0xa117
addl $-0x3, %r12d
jmp 0xa155
addl $-0x2, %r12d
jmp 0xa155
decl %r12d
movq 0xa0(%rsp), %rbx
leal (%rbx,%r12), %esi
leaq 0x40(%rsp), %rax
movq %rax, 0x30(%rsp)
leaq 0x30(%rsp), %rdi
movl $0x2d, %edx
callq 0x3250
movq 0x30(%rsp), %rdi
addq %rbx, %rdi
movl %r12d, %esi
movl 0x2c(%rsp), %edx
callq 0xada0
movq 0x8(%rsp), %rcx
movl $0xf, %esi
cmpq %rbp, %rcx
je 0xa1a2
movq 0x18(%rsp), %rsi
movq 0x10(%rsp), %r8
movq 0x38(%rsp), %rdx
leaq (%rdx,%r8), %rax
cmpq %rsi, %rax
leaq 0x170(%rsp), %r12
leaq 0x8(%rsp), %rbx
jbe 0xa1dd
movl $0xf, %esi
leaq 0x40(%rsp), %rdi
cmpq %rdi, 0x30(%rsp)
je 0xa1d8
movq 0x40(%rsp), %rsi
cmpq %rsi, %rax
jbe 0xa1ec
movq 0x30(%rsp), %rsi
movq %rbx, %rdi
callq 0x30c0
jmp 0xa1fa
leaq 0x30(%rsp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x3230
movq %r12, 0x160(%rsp)
movq (%rax), %rdx
leaq 0x10(%rax), %rcx
cmpq %rcx, %rdx
je 0xa223
movq %rdx, 0x160(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x170(%rsp)
jmp 0xa22d
movdqu (%rcx), %xmm0
movdqu %xmm0, (%r12)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, 0x168(%rsp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
leaq 0x228(%rsp), %rdi
leaq 0x160(%rsp), %rsi
callq 0xdfd8
movq 0x160(%rsp), %rdi
cmpq %r12, %rdi
je 0xa27f
movq 0x170(%rsp), %rsi
incq %rsi
callq 0x3200
movq 0x30(%rsp), %rdi
leaq 0x40(%rsp), %rax
cmpq %rax, %rdi
leaq 0x50(%rsp), %r12
je 0xa2a0
movq 0x40(%rsp), %rsi
incq %rsi
callq 0x3200
movq 0x8(%rsp), %rdi
cmpq %rbp, %rdi
je 0xa2b7
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x3200
movq 0x50(%rsp), %rdi
cmpq %r13, %rdi
je 0xa2ce
movq 0x60(%rsp), %rsi
incq %rsi
callq 0x3200
movq 0x70(%rsp), %rdi
leaq 0x80(%rsp), %rax
cmpq %rax, %rdi
je 0xa2f0
movq 0x80(%rsp), %rsi
incq %rsi
callq 0x3200
movq 0x228(%rsp), %rdi
leaq 0x238(%rsp), %rax
cmpq %rax, %rdi
je 0xa315
movq 0x238(%rsp), %rsi
incq %rsi
callq 0x3200
incl %r14d
movq 0x398(%rsp), %rax
movq -0x18(%rax), %rax
testb $0x5, 0x3b8(%rsp,%rax)
je 0x7d6c
movq 0xc0(%rsp), %rdi
leaq 0xd0(%rsp), %rax
cmpq %rax, %rdi
je 0xa357
movq 0xd0(%rsp), %rsi
incq %rsi
callq 0x3200
movq 0x12c72(%rip), %rsi     # 0x1cfd0
leaq 0x398(%rsp), %rdi
callq 0x32a0
leaq 0x410(%rsp), %rdi
callq 0x30d0
addq $0x518, %rsp            # imm = 0x518
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %rbx
movq 0x160(%rsp), %rdi
cmpq %r12, %rdi
je 0xa3af
movq 0x170(%rsp), %rsi
incq %rsi
callq 0x3200
jmp 0xa3af
movq %rax, %rbx
movq 0x30(%rsp), %rdi
leaq 0x40(%rsp), %rax
cmpq %rax, %rdi
je 0xa3d0
movq 0x40(%rsp), %rsi
incq %rsi
callq 0x3200
jmp 0xa3d0
movq %rax, %rbx
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0xa3f1
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x3200
jmp 0xa3f1
movq %rax, %rbx
movq 0x50(%rsp), %rdi
leaq 0x60(%rsp), %rax
cmpq %rax, %rdi
je 0xa412
movq 0x60(%rsp), %rsi
incq %rsi
callq 0x3200
jmp 0xa412
movq %rax, %rbx
movq 0x70(%rsp), %rdi
leaq 0x80(%rsp), %rax
cmpq %rax, %rdi
je 0xa439
movq 0x80(%rsp), %rsi
incq %rsi
callq 0x3200
jmp 0xa439
movq %rax, %rbx
movq 0x228(%rsp), %rdi
leaq 0x238(%rsp), %rax
cmpq %rax, %rdi
je 0xabcc
movq 0x238(%rsp), %rsi
jmp 0xabbd
jmp 0xabc9
movq %rax, %rbx
movq 0x140(%rsp), %rdi
cmpq %r12, %rdi
je 0xa489
movq 0x150(%rsp), %rsi
incq %rsi
callq 0x3200
jmp 0xa489
movq %rax, %rbx
movq 0x30(%rsp), %rdi
leaq 0x40(%rsp), %rax
cmpq %rax, %rdi
je 0xa4aa
movq 0x40(%rsp), %rsi
incq %rsi
callq 0x3200
jmp 0xa4aa
movq %rax, %rbx
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0xa4cb
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x3200
jmp 0xa4cb
movq %rax, %rbx
movq 0x50(%rsp), %rdi
leaq 0x60(%rsp), %rax
cmpq %rax, %rdi
je 0xa4ec
movq 0x60(%rsp), %rsi
incq %rsi
callq 0x3200
jmp 0xa4ec
movq %rax, %rbx
movq 0x70(%rsp), %rdi
leaq 0x80(%rsp), %rax
cmpq %rax, %rdi
je 0xa513
movq 0x80(%rsp), %rsi
incq %rsi
callq 0x3200
jmp 0xa513
movq %rax, %rbx
movq 0x208(%rsp), %rdi
leaq 0x218(%rsp), %rax
cmpq %rax, %rdi
je 0xabcc
movq 0x218(%rsp), %rsi
jmp 0xabbd
jmp 0xabc9
movq %rax, %rbx
movq 0x100(%rsp), %rdi
cmpq %r12, %rdi
je 0xa563
movq 0x110(%rsp), %rsi
incq %rsi
callq 0x3200
jmp 0xa563
movq %rax, %rbx
movq 0x30(%rsp), %rdi
leaq 0x40(%rsp), %rax
cmpq %rax, %rdi
je 0xa584
movq 0x40(%rsp), %rsi
incq %rsi
callq 0x3200
jmp 0xa584
movq %rax, %rbx
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0xa5a5
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x3200
jmp 0xa5a5
movq %rax, %rbx
movq 0x50(%rsp), %rdi
leaq 0x60(%rsp), %rax
cmpq %rax, %rdi
je 0xa5c6
movq 0x60(%rsp), %rsi
incq %rsi
callq 0x3200
jmp 0xa5c6
movq %rax, %rbx
movq 0x70(%rsp), %rdi
leaq 0x80(%rsp), %rax
cmpq %rax, %rdi
je 0xa5ed
movq 0x80(%rsp), %rsi
incq %rsi
callq 0x3200
jmp 0xa5ed
movq %rax, %rbx
movq 0x2e8(%rsp), %rdi
leaq 0x2f8(%rsp), %rax
cmpq %rax, %rdi
je 0xabcc
movq 0x2f8(%rsp), %rsi
jmp 0xabbd
jmp 0xabc9
movq %rax, %rbx
movq 0xe0(%rsp), %rdi
cmpq %r12, %rdi
je 0xa63d
movq 0xf0(%rsp), %rsi
incq %rsi
callq 0x3200
jmp 0xa63d
movq %rax, %rbx
movq 0x30(%rsp), %rdi
leaq 0x40(%rsp), %rax
cmpq %rax, %rdi
je 0xa65e
movq 0x40(%rsp), %rsi
incq %rsi
callq 0x3200
jmp 0xa65e
movq %rax, %rbx
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0xa67f
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x3200
jmp 0xa67f
movq %rax, %rbx
movq 0x50(%rsp), %rdi
leaq 0x60(%rsp), %rax
cmpq %rax, %rdi
je 0xa6a0
movq 0x60(%rsp), %rsi
incq %rsi
callq 0x3200
jmp 0xa6a0
movq %rax, %rbx
movq 0x70(%rsp), %rdi
leaq 0x80(%rsp), %rax
cmpq %rax, %rdi
je 0xa6c7
movq 0x80(%rsp), %rsi
incq %rsi
callq 0x3200
jmp 0xa6c7
movq %rax, %rbx
movq 0x2c8(%rsp), %rdi
leaq 0x2d8(%rsp), %rax
cmpq %rax, %rdi
je 0xabcc
movq 0x2d8(%rsp), %rsi
jmp 0xabbd
jmp 0xabc9
movq %rax, %rbx
movq 0x120(%rsp), %rdi
cmpq %r12, %rdi
je 0xa717
movq 0x130(%rsp), %rsi
incq %rsi
callq 0x3200
jmp 0xa717
movq %rax, %rbx
movq 0x30(%rsp), %rdi
leaq 0x40(%rsp), %rax
cmpq %rax, %rdi
je 0xa738
movq 0x40(%rsp), %rsi
incq %rsi
callq 0x3200
jmp 0xa738
movq %rax, %rbx
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0xa759
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x3200
jmp 0xa759
movq %rax, %rbx
movq 0x50(%rsp), %rdi
leaq 0x60(%rsp), %rax
cmpq %rax, %rdi
je 0xa77a
movq 0x60(%rsp), %rsi
incq %rsi
callq 0x3200
jmp 0xa77a
movq %rax, %rbx
movq 0x70(%rsp), %rdi
leaq 0x80(%rsp), %rax
cmpq %rax, %rdi
je 0xa7a1
movq 0x80(%rsp), %rsi
incq %rsi
callq 0x3200
jmp 0xa7a1
movq %rax, %rbx
movq 0x328(%rsp), %rdi
leaq 0x338(%rsp), %rax
cmpq %rax, %rdi
je 0xabcc
movq 0x338(%rsp), %rsi
jmp 0xabbd
jmp 0xabc9
movq %rax, %rbx
movq 0x1c0(%rsp), %rdi
cmpq %r12, %rdi
je 0xa7f1
movq 0x1d0(%rsp), %rsi
incq %rsi
callq 0x3200
jmp 0xa7f1
movq %rax, %rbx
movq 0x30(%rsp), %rdi
leaq 0x40(%rsp), %rax
cmpq %rax, %rdi
je 0xa812
movq 0x40(%rsp), %rsi
incq %rsi
callq 0x3200
jmp 0xa812
movq %rax, %rbx
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0xa833
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x3200
jmp 0xa833
movq %rax, %rbx
movq 0x50(%rsp), %rdi
leaq 0x60(%rsp), %rax
cmpq %rax, %rdi
je 0xa854
movq 0x60(%rsp), %rsi
incq %rsi
callq 0x3200
jmp 0xa854
movq %rax, %rbx
movq 0x70(%rsp), %rdi
leaq 0x80(%rsp), %rax
cmpq %rax, %rdi
je 0xa87b
movq 0x80(%rsp), %rsi
incq %rsi
callq 0x3200
jmp 0xa87b
movq %rax, %rbx
movq 0x288(%rsp), %rdi
leaq 0x298(%rsp), %rax
cmpq %rax, %rdi
je 0xabcc
movq 0x298(%rsp), %rsi
jmp 0xabbd
jmp 0xabc9
movq %rax, %rbx
movq 0x1a0(%rsp), %rdi
cmpq %r12, %rdi
je 0xa8cb
movq 0x1b0(%rsp), %rsi
incq %rsi
callq 0x3200
jmp 0xa8cb
movq %rax, %rbx
movq 0x30(%rsp), %rdi
leaq 0x40(%rsp), %rax
cmpq %rax, %rdi
je 0xa8ec
movq 0x40(%rsp), %rsi
incq %rsi
callq 0x3200
jmp 0xa8ec
movq %rax, %rbx
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0xa90d
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x3200
jmp 0xa90d
movq %rax, %rbx
movq 0x50(%rsp), %rdi
leaq 0x60(%rsp), %rax
cmpq %rax, %rdi
je 0xa92e
movq 0x60(%rsp), %rsi
incq %rsi
callq 0x3200
jmp 0xa92e
movq %rax, %rbx
movq 0x70(%rsp), %rdi
leaq 0x80(%rsp), %rax
cmpq %rax, %rdi
je 0xa955
movq 0x80(%rsp), %rsi
incq %rsi
callq 0x3200
jmp 0xa955
movq %rax, %rbx
movq 0x268(%rsp), %rdi
leaq 0x278(%rsp), %rax
cmpq %rax, %rdi
je 0xabcc
movq 0x278(%rsp), %rsi
jmp 0xabbd
jmp 0xabc9
movq %rax, %rbx
movq 0x180(%rsp), %rdi
cmpq %r12, %rdi
je 0xa9a5
movq 0x190(%rsp), %rsi
incq %rsi
callq 0x3200
jmp 0xa9a5
movq %rax, %rbx
movq 0x30(%rsp), %rdi
leaq 0x40(%rsp), %rax
cmpq %rax, %rdi
je 0xa9c6
movq 0x40(%rsp), %rsi
incq %rsi
callq 0x3200
jmp 0xa9c6
movq %rax, %rbx
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0xa9e7
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x3200
jmp 0xa9e7
movq %rax, %rbx
movq 0x50(%rsp), %rdi
leaq 0x60(%rsp), %rax
cmpq %rax, %rdi
je 0xaa08
movq 0x60(%rsp), %rsi
incq %rsi
callq 0x3200
jmp 0xaa08
movq %rax, %rbx
movq 0x70(%rsp), %rdi
leaq 0x80(%rsp), %rax
cmpq %rax, %rdi
je 0xaa2f
movq 0x80(%rsp), %rsi
incq %rsi
callq 0x3200
jmp 0xaa2f
movq %rax, %rbx
movq 0x248(%rsp), %rdi
leaq 0x258(%rsp), %rax
cmpq %rax, %rdi
je 0xabcc
movq 0x258(%rsp), %rsi
jmp 0xabbd
jmp 0xabc9
movq %rax, %rbx
movq 0x308(%rsp), %rdi
leaq 0x318(%rsp), %rax
cmpq %rax, %rdi
je 0xaba9
movq 0x318(%rsp), %rsi
jmp 0xaab3
jmp 0xaba6
jmp 0xaa87
movq %rax, %rbx
jmp 0xac12
movq %rax, %rbx
movq 0x348(%rsp), %rdi
leaq 0x358(%rsp), %rax
cmpq %rax, %rdi
je 0xaba9
movq 0x358(%rsp), %rsi
incq %rsi
callq 0x3200
jmp 0xaba9
jmp 0xaba6
movq %rax, %rbx
jmp 0xab5b
jmp 0xabc9
movq %rax, %rbx
movq 0x1e0(%rsp), %rdi
cmpq %r12, %rdi
je 0xaaf7
movq 0x1f0(%rsp), %rsi
incq %rsi
callq 0x3200
jmp 0xaaf7
movq %rax, %rbx
movq 0x70(%rsp), %rdi
leaq 0x80(%rsp), %rax
cmpq %rax, %rdi
je 0xab1e
movq 0x80(%rsp), %rsi
incq %rsi
callq 0x3200
jmp 0xab1e
movq %rax, %rbx
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0xab3f
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x3200
jmp 0xab3f
movq %rax, %rbx
movq 0x50(%rsp), %rdi
leaq 0x60(%rsp), %rax
cmpq %rax, %rdi
je 0xab5b
movq 0x60(%rsp), %rsi
incq %rsi
callq 0x3200
movq 0x2a8(%rsp), %rdi
leaq 0x2b8(%rsp), %rax
cmpq %rax, %rdi
je 0xabcc
movq 0x2b8(%rsp), %rsi
jmp 0xabbd
movq %rax, %rbx
movq 0x368(%rsp), %rdi
leaq 0x378(%rsp), %rax
cmpq %rax, %rdi
je 0xabcc
movq 0x378(%rsp), %rsi
jmp 0xabbd
jmp 0xabc9
jmp 0xaba6
jmp 0xabc9
jmp 0xaba6
jmp 0xabc9
movq %rax, %rbx
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0xabcc
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x3200
jmp 0xabcc
jmp 0xabc9
movq %rax, %rbx
movq 0xc0(%rsp), %rdi
leaq 0xd0(%rsp), %rax
cmpq %rax, %rdi
je 0xabf1
movq 0xd0(%rsp), %rsi
incq %rsi
callq 0x3200
movq 0x123d8(%rip), %rsi     # 0x1cfd0
leaq 0x398(%rsp), %rdi
callq 0x32a0
leaq 0x410(%rsp), %rdi
callq 0x30d0
movq 0x388(%rsp), %rax
movq (%rax), %rdi
cmpq 0x200(%rsp), %rdi
je 0xac3a
movq 0x200(%rsp), %rax
movq (%rax), %rsi
incq %rsi
callq 0x3200
movq %rbx, %rdi
callq 0x3340