// File: /workspace/github_cpp_makefile_star2_O1/tewalds[P]morat/hex/gtpagent.cpp
// Function: Morat::Hex::GTP::gtp_pns_params(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>>)
GTPResponse GTP::gtp_pns_params(vecstr args){
	AgentPNS * pns =  dynamic_cast<AgentPNS *>(agent);

	if(args.size() == 0)
		return GTPResponse(true, string("\n") +
			"Update the pns solver settings, eg: pns_params -m 100 -s 0 -d 1 -e 0.25 -a 2 -l 0\n"
			"  -m --memory   Memory limit in Mb                                       [" + to_str(pns->memlimit/(1024*1024)) + "]\n"
			"  -t --threads  How many threads to run                                  [" + to_str(pns->numthreads) + "]\n"
			"  -s --ties     Which side to assign ties to, 0 = handle, 1 = p1, 2 = p2 [" + to_str(pns->ties.to_i()) + "]\n"
			"  -d --df       Use depth-first thresholds                               [" + to_str(pns->df) + "]\n"
			"  -e --epsilon  How big should the threshold be                          [" + to_str(pns->epsilon) + "]\n"
			"  -a --abdepth  Run an alpha-beta search of this size at each leaf       [" + to_str(pns->ab) + "]\n"
			);

	string errs;
	for(unsigned int i = 0; i < args.size(); i++) {
		string arg = args[i];

		if((arg == "-t" || arg == "--threads") && i+1 < args.size()){
			pns->numthreads = from_str<int>(args[++i]);
			pns->pool.set_num_threads(pns->numthreads);
		}else if((arg == "-m" || arg == "--memory") && i+1 < args.size()){
			uint64_t mem = from_str<uint64_t>(args[++i]);
			if(mem < 1) return GTPResponse(false, "Memory can't be less than 1mb");
			pns->set_memlimit(mem*1024*1024);
		}else if((arg == "-s" || arg == "--ties") && i+1 < args.size()){
			pns->ties = Side(from_str<int8_t>(args[++i]));
			pns->clear_mem();
		}else if((arg == "-d" || arg == "--df") && i+1 < args.size()){
			pns->df = from_str<bool>(args[++i]);
		}else if((arg == "-e" || arg == "--epsilon") && i+1 < args.size()){
			pns->epsilon = from_str<float>(args[++i]);
		}else if((arg == "-a" || arg == "--abdepth") && i+1 < args.size()){
			pns->ab = from_str<int>(args[++i]);
		}else{
			return GTPResponse(false, "Missing or unknown parameter");
		}
	}

	return GTPResponse(true, errs);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x2f8, %rsp            # imm = 0x2F8
movq %rdx, %r15
movq %rdi, 0x8(%rsp)
movq 0xd8(%rsi), %rdi
testq %rdi, %rdi
je 0x27d74
leaq 0x21b78(%rip), %rsi     # 0x498d8
leaq 0x21e19(%rip), %rdx     # 0x49b80
xorl %ecx, %ecx
callq 0x5390
movq %rax, (%rsp)
jmp 0x27d7c
movq $0x0, (%rsp)
movq 0x8(%r15), %rax
cmpq (%r15), %rax
je 0x28193
leaq 0x20(%rsp), %rax
movq %rax, -0x10(%rax)
movq $0x0, -0x8(%rax)
movb $0x0, (%rax)
movq (%r15), %rax
cmpq %rax, 0x8(%r15)
je 0x28119
leaq 0x40(%rsp), %r12
movq (%rsp), %rcx
addq $0x1430, %rcx           # imm = 0x1430
movq %rcx, 0x190(%rsp)
xorl %ebx, %ebx
leaq 0x30(%rsp), %r13
leaq 0x278(%rsp), %r14
xorl %ebp, %ebp
shlq $0x5, %rbx
movq %r12, 0x30(%rsp)
movq (%rax,%rbx), %rsi
movq 0x8(%rax,%rbx), %rdx
addq %rsi, %rdx
movq %r13, %rdi
callq 0xa866
movq %r13, %rdi
leaq 0xd700(%rip), %rsi      # 0x354fa
callq 0x50b0
testl %eax, %eax
je 0x27e16
movq %r13, %rdi
leaq 0xd6f0(%rip), %rsi      # 0x354fd
callq 0x50b0
testl %eax, %eax
jne 0x27e5c
leal 0x1(%rbp), %ebx
movq (%r15), %rdi
movq 0x8(%r15), %rax
subq %rdi, %rax
sarq $0x5, %rax
cmpq %rbx, %rax
jbe 0x27e5c
movq %rbx, %rax
shlq $0x5, %rax
addq %rax, %rdi
callq 0xaed9
movq (%rsp), %rcx
movl %eax, 0x1538(%rcx)
movb $0x1, %r14b
movq 0x190(%rsp), %rdi
movl %eax, %esi
callq 0x1d1a8
jmp 0x280e2
movq %r13, %rdi
leaq 0xd742(%rip), %rsi      # 0x355a8
callq 0x50b0
testl %eax, %eax
je 0x27e82
movq %r13, %rdi
leaq 0xda71(%rip), %rsi      # 0x358ea
callq 0x50b0
testl %eax, %eax
jne 0x27ed2
leal 0x1(%rbp), %ebx
movq (%r15), %rdi
movq 0x8(%r15), %rax
subq %rdi, %rax
sarq $0x5, %rax
cmpq %rbx, %rax
jbe 0x27ed2
movq %rbx, %rax
shlq $0x5, %rax
addq %rax, %rdi
callq 0x13340
leaq 0x258(%rsp), %rbp
testq %rax, %rax
setne %r14b
je 0x28093
shlq $0x14, %rax
movq (%rsp), %rdi
movq (%rdi), %rcx
movq %rax, %rsi
callq *0x30(%rcx)
jmp 0x280e2
movq %r13, %rdi
leaq 0xd6af(%rip), %rsi      # 0x3558b
callq 0x50b0
testl %eax, %eax
je 0x27ef8
movq %r13, %rdi
leaq 0xda22(%rip), %rsi      # 0x35911
callq 0x50b0
testl %eax, %eax
jne 0x27f35
leal 0x1(%rbp), %ebx
movq (%r15), %rdi
movq 0x8(%r15), %rax
subq %rdi, %rax
sarq $0x5, %rax
cmpq %rbx, %rax
jbe 0x27f35
movq %rbx, %rax
shlq $0x5, %rax
addq %rax, %rdi
callq 0x29157
movq (%rsp), %rdi
movb %al, 0x1534(%rdi)
movq (%rdi), %rax
movb $0x1, %r14b
callq *0x38(%rax)
jmp 0x280e2
movq %r13, %rdi
leaq 0xd62f(%rip), %rsi      # 0x3556e
callq 0x50b0
testl %eax, %eax
je 0x27f5b
movq %r13, %rdi
leaq 0xd9c6(%rip), %rsi      # 0x35918
callq 0x50b0
testl %eax, %eax
jne 0x27f8f
leal 0x1(%rbp), %ebx
movq (%r15), %rdi
movq 0x8(%r15), %rax
subq %rdi, %rax
sarq $0x5, %rax
cmpq %rbx, %rax
jbe 0x27f8f
movq %rbx, %rax
shlq $0x5, %rax
addq %rax, %rdi
callq 0x290d7
movq (%rsp), %rcx
movb %al, 0x152c(%rcx)
jmp 0x2803d
movq %r13, %rdi
leaq 0xd5ab(%rip), %rsi      # 0x35544
callq 0x50b0
testl %eax, %eax
je 0x27fb5
movq %r13, %rdi
leaq 0xd971(%rip), %rsi      # 0x3591d
callq 0x50b0
testl %eax, %eax
jne 0x27fe8
leal 0x1(%rbp), %ebx
movq (%r15), %rdi
movq 0x8(%r15), %rax
subq %rdi, %rax
sarq $0x5, %rax
cmpq %rbx, %rax
jbe 0x27fe8
movq %rbx, %rax
shlq $0x5, %rax
addq %rax, %rdi
callq 0x133c2
movq (%rsp), %rax
vmovss %xmm0, 0x1530(%rax)
jmp 0x2803d
movq %r13, %rdi
leaq 0xd58a(%rip), %rsi      # 0x3557c
callq 0x50b0
testl %eax, %eax
je 0x2800e
movq %r13, %rdi
leaq 0xd922(%rip), %rsi      # 0x35927
callq 0x50b0
testl %eax, %eax
jne 0x28045
leal 0x1(%rbp), %ebx
movq (%r15), %rdi
movq 0x8(%r15), %rax
subq %rdi, %rax
sarq $0x5, %rax
cmpq %rbx, %rax
jbe 0x28045
movq %rbx, %rax
shlq $0x5, %rax
addq %rax, %rdi
callq 0xaed9
movq (%rsp), %rcx
movl %eax, 0x1528(%rcx)
movb $0x1, %r14b
jmp 0x280e2
leaq 0x288(%rsp), %rbx
movq %rbx, 0x278(%rsp)
movq %r14, %rdi
leaq 0xd650(%rip), %rsi      # 0x356af
leaq 0xd665(%rip), %rdx      # 0x356cb
callq 0xb0e0
movq 0x8(%rsp), %rdi
xorl %esi, %esi
movq %r14, %rdx
callq 0xa7f0
movq 0x278(%rsp), %rdi
cmpq %rbx, %rdi
je 0x2808c
callq 0x52e0
xorl %r14d, %r14d
movl %ebp, %ebx
jmp 0x280e2
leaq 0x268(%rsp), %rax
movq %rax, 0x258(%rsp)
movq %rbp, %rdi
leaq 0xd846(%rip), %rsi      # 0x358f3
leaq 0xd85c(%rip), %rdx      # 0x35910
callq 0xb0e0
movq 0x8(%rsp), %rdi
xorl %esi, %esi
movq %rbp, %rdx
callq 0xa7f0
movq 0x258(%rsp), %rdi
leaq 0x268(%rsp), %rax
cmpq %rax, %rdi
je 0x280e2
callq 0x52e0
movq 0x30(%rsp), %rdi
cmpq %r12, %rdi
je 0x280f1
callq 0x52e0
testb %r14b, %r14b
je 0x28168
incl %ebx
movq (%r15), %rax
movq 0x8(%r15), %rcx
subq %rax, %rcx
sarq $0x5, %rcx
movl %ebx, %ebp
cmpq %rbx, %rcx
leaq 0x278(%rsp), %r14
ja 0x27dd3
leaq 0x2c8(%rsp), %rbx
movq %rbx, -0x10(%rbx)
movq 0x10(%rsp), %rsi
movq 0x18(%rsp), %rdx
addq %rsi, %rdx
leaq 0x2b8(%rsp), %rdi
callq 0xa866
leaq 0x2b8(%rsp), %rdx
movq 0x8(%rsp), %rdi
movl $0x1, %esi
callq 0xa7f0
movq 0x2b8(%rsp), %rdi
cmpq %rbx, %rdi
je 0x28168
callq 0x52e0
movq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rax
cmpq %rax, %rdi
je 0x2817c
callq 0x52e0
movq 0x8(%rsp), %rax
addq $0x2f8, %rsp            # imm = 0x2F8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x2e8(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0x9760(%rip), %rsi      # 0x31906
leaq 0x975a(%rip), %rdx      # 0x31907
leaq 0x2d8(%rsp), %rdi
callq 0xb0e0
leaq 0xd50b(%rip), %rsi      # 0x356cc
leaq 0x2d8(%rsp), %rdi
callq 0x56e0
leaq 0x140(%rsp), %rbp
movq %rbp, -0x10(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x281fe
movq %rdx, 0x130(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x140(%rsp)
jmp 0x28207
vmovups (%rcx), %xmm0
vmovups %xmm0, (%rbp)
movq 0x8(%rax), %rdx
movq %rdx, 0x138(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq (%rsp), %rax
movq 0x60(%rax), %rsi
shrq $0x14, %rsi
leaq 0x238(%rsp), %rdi
callq 0x1148d
movq 0x130(%rsp), %rcx
movq 0x138(%rsp), %r8
movq 0x240(%rsp), %rdx
leaq (%rdx,%r8), %rax
movl $0xf, %esi
cmpq %rbp, %rcx
je 0x28269
movq 0x140(%rsp), %rsi
cmpq %rsi, %rax
jbe 0x2828e
leaq 0x248(%rsp), %rdi
movl $0xf, %esi
cmpq %rdi, -0x10(%rdi)
je 0x28289
movq 0x248(%rsp), %rsi
cmpq %rsi, %rax
jbe 0x282a5
movq 0x238(%rsp), %rsi
leaq 0x130(%rsp), %rdi
callq 0x50c0
jmp 0x282b6
leaq 0x238(%rsp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x5380
leaq 0xa0(%rsp), %rdx
movq %rdx, -0x10(%rdx)
movq (%rax), %rsi
leaq 0x10(%rax), %rcx
cmpq %rcx, %rsi
je 0x282e3
movq %rsi, 0x90(%rsp)
movq (%rcx), %rdx
movq %rdx, 0xa0(%rsp)
jmp 0x282eb
vmovups (%rcx), %xmm0
vmovups %xmm0, (%rdx)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, 0x98(%rsp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
leaq 0xd457(%rip), %rsi      # 0x35769
leaq 0x90(%rsp), %rdi
callq 0x56e0
leaq 0x60(%rsp), %rbx
movq %rbx, -0x10(%rbx)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x28346
movq %rdx, 0x50(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x60(%rsp)
jmp 0x2834e
vmovups (%rcx), %xmm0
vmovups %xmm0, (%rbx)
movq 0x8(%rax), %rdx
movq %rdx, 0x58(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq (%rsp), %rax
movl 0x1538(%rax), %esi
leaq 0x218(%rsp), %rdi
callq 0x11187
movq 0x50(%rsp), %rcx
movq 0x58(%rsp), %r8
movq 0x220(%rsp), %rdx
leaq (%rdx,%r8), %rax
movl $0xf, %esi
cmpq %rbx, %rcx
je 0x283a2
movq 0x60(%rsp), %rsi
cmpq %rsi, %rax
jbe 0x283c7
leaq 0x228(%rsp), %rdi
movl $0xf, %esi
cmpq %rdi, -0x10(%rdi)
je 0x283c2
movq 0x228(%rsp), %rsi
cmpq %rsi, %rax
jbe 0x283db
movq 0x218(%rsp), %rsi
leaq 0x50(%rsp), %rdi
callq 0x50c0
jmp 0x283ec
leaq 0x218(%rsp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x5380
leaq 0xc0(%rsp), %rdx
movq %rdx, -0x10(%rdx)
movq (%rax), %rsi
leaq 0x10(%rax), %rcx
cmpq %rcx, %rsi
je 0x28419
movq %rsi, 0xb0(%rsp)
movq (%rcx), %rdx
movq %rdx, 0xc0(%rsp)
jmp 0x28421
vmovups (%rcx), %xmm0
vmovups %xmm0, (%rdx)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, 0xb8(%rsp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
leaq 0xd36e(%rip), %rsi      # 0x357b6
leaq 0xb0(%rsp), %rdi
callq 0x56e0
leaq 0x160(%rsp), %rbx
movq %rbx, -0x10(%rbx)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x28485
movq %rdx, 0x150(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x160(%rsp)
jmp 0x2848d
vmovups (%rcx), %xmm0
vmovups %xmm0, (%rbx)
movq 0x8(%rax), %rdx
movq %rdx, 0x158(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq (%rsp), %rax
movsbl 0x1534(%rax), %esi
leaq 0x1f8(%rsp), %rdi
callq 0x2035c
movq 0x150(%rsp), %rcx
movq 0x158(%rsp), %r8
movq 0x200(%rsp), %rdx
leaq (%rdx,%r8), %rax
movl $0xf, %esi
cmpq %rbx, %rcx
je 0x284ee
movq 0x160(%rsp), %rsi
cmpq %rsi, %rax
jbe 0x28513
leaq 0x208(%rsp), %rdi
movl $0xf, %esi
cmpq %rdi, -0x10(%rdi)
je 0x2850e
movq 0x208(%rsp), %rsi
cmpq %rsi, %rax
jbe 0x2852a
movq 0x1f8(%rsp), %rsi
leaq 0x150(%rsp), %rdi
callq 0x50c0
jmp 0x2853b
leaq 0x1f8(%rsp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x5380
leaq 0xe0(%rsp), %rdx
movq %rdx, -0x10(%rdx)
movq (%rax), %rsi
leaq 0x10(%rax), %rcx
cmpq %rcx, %rsi
je 0x28568
movq %rsi, 0xd0(%rsp)
movq (%rcx), %rdx
movq %rdx, 0xe0(%rsp)
jmp 0x28570
vmovups (%rcx), %xmm0
vmovups %xmm0, (%rdx)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, 0xd8(%rsp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
leaq 0xd26c(%rip), %rsi      # 0x35803
leaq 0xd0(%rsp), %rdi
callq 0x56e0
leaq 0x80(%rsp), %r15
movq %r15, -0x10(%r15)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x285d1
movq %rdx, 0x70(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x80(%rsp)
jmp 0x285da
vmovups (%rcx), %xmm0
vmovups %xmm0, (%r15)
movq 0x8(%rax), %rdx
movq %rdx, 0x78(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq (%rsp), %rax
movzbl 0x152c(%rax), %esi
leaq 0x1d8(%rsp), %rdi
callq 0x28fcd
movq 0x70(%rsp), %rcx
movq 0x78(%rsp), %r8
movq 0x1e0(%rsp), %rdx
leaq (%rdx,%r8), %rax
movl $0xf, %esi
cmpq %r15, %rcx
je 0x28632
movq 0x80(%rsp), %rsi
cmpq %rsi, %rax
jbe 0x28657
leaq 0x1e8(%rsp), %rdi
movl $0xf, %esi
cmpq %rdi, -0x10(%rdi)
je 0x28652
movq 0x1e8(%rsp), %rsi
cmpq %rsi, %rax
jbe 0x2866b
movq 0x1d8(%rsp), %rsi
leaq 0x70(%rsp), %rdi
callq 0x50c0
jmp 0x2867c
leaq 0x1d8(%rsp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x5380
leaq 0x100(%rsp), %rdx
movq %rdx, -0x10(%rdx)
movq (%rax), %rsi
leaq 0x10(%rax), %rcx
cmpq %rcx, %rsi
je 0x286a9
movq %rsi, 0xf0(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x100(%rsp)
jmp 0x286b1
vmovups (%rcx), %xmm0
vmovups %xmm0, (%rdx)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, 0xf8(%rsp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
leaq 0xd178(%rip), %rsi      # 0x35850
leaq 0xf0(%rsp), %rdi
callq 0x56e0
leaq 0x180(%rsp), %r15
movq %r15, -0x10(%r15)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x28715
movq %rdx, 0x170(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x180(%rsp)
jmp 0x2871e
vmovups (%rcx), %xmm0
vmovups %xmm0, (%r15)
movq 0x8(%rax), %rdx
movq %rdx, 0x178(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq (%rsp), %rax
vmovss 0x1530(%rax), %xmm0
leaq 0x1b8(%rsp), %rdi
callq 0x2904c
movq 0x170(%rsp), %rcx
movq 0x178(%rsp), %r8
movq 0x1c0(%rsp), %rdx
leaq (%rdx,%r8), %rax
movl $0xf, %esi
cmpq %r15, %rcx
je 0x28780
movq 0x180(%rsp), %rsi
cmpq %rsi, %rax
jbe 0x287a5
leaq 0x1c8(%rsp), %rdi
movl $0xf, %esi
cmpq %rdi, -0x10(%rdi)
je 0x287a0
movq 0x1c8(%rsp), %rsi
cmpq %rsi, %rax
jbe 0x287bc
movq 0x1b8(%rsp), %rsi
leaq 0x170(%rsp), %rdi
callq 0x50c0
jmp 0x287cd
leaq 0x1b8(%rsp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x5380
leaq 0x120(%rsp), %rdx
movq %rdx, -0x10(%rdx)
movq (%rax), %rsi
leaq 0x10(%rax), %rcx
cmpq %rcx, %rsi
je 0x287fa
movq %rsi, 0x110(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x120(%rsp)
jmp 0x28802
vmovups (%rcx), %xmm0
vmovups %xmm0, (%rdx)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, 0x118(%rsp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
leaq 0xd074(%rip), %rsi      # 0x3589d
leaq 0x110(%rsp), %rdi
callq 0x56e0
leaq 0x40(%rsp), %r12
movq %r12, -0x10(%r12)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x2885e
movq %rdx, 0x30(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x40(%rsp)
jmp 0x28868
vmovups (%rcx), %xmm0
vmovups %xmm0, (%r12)
movq 0x8(%rax), %rdx
movq %rdx, 0x38(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq (%rsp), %rax
movl 0x1528(%rax), %esi
leaq 0x198(%rsp), %rdi
callq 0x11187
movq 0x30(%rsp), %rcx
movq 0x38(%rsp), %r8
movq 0x1a0(%rsp), %rdx
leaq (%rdx,%r8), %rax
movl $0xf, %esi
cmpq %r12, %rcx
je 0x288bc
movq 0x40(%rsp), %rsi
cmpq %rsi, %rax
jbe 0x288e1
leaq 0x1a8(%rsp), %rdi
movl $0xf, %esi
cmpq %rdi, -0x10(%rdi)
je 0x288dc
movq 0x1a8(%rsp), %rsi
cmpq %rsi, %rax
jbe 0x288f5
movq 0x198(%rsp), %rsi
leaq 0x30(%rsp), %rdi
callq 0x50c0
jmp 0x28906
leaq 0x198(%rsp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x5380
leaq 0x20(%rsp), %rdx
movq %rdx, -0x10(%rdx)
movq (%rax), %rsi
leaq 0x10(%rax), %rcx
cmpq %rcx, %rsi
je 0x2892a
movq %rsi, 0x10(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x20(%rsp)
jmp 0x28932
vmovups (%rcx), %xmm0
vmovups %xmm0, (%rdx)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, 0x18(%rsp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
leaq 0xd78d(%rip), %rsi      # 0x360e3
leaq 0x10(%rsp), %rdi
callq 0x56e0
leaq 0x2a8(%rsp), %r14
movq %r14, -0x10(%r14)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x28990
movq %rdx, 0x298(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x2a8(%rsp)
jmp 0x28999
vmovups (%rcx), %xmm0
vmovups %xmm0, (%r14)
movq 0x8(%rax), %rsi
leaq 0x298(%rsp), %rdx
movq %rsi, 0x8(%rdx)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x8(%rsp), %rdi
movl $0x1, %esi
callq 0xa7f0
movq 0x298(%rsp), %rdi
cmpq %r14, %rdi
je 0x289d9
callq 0x52e0
leaq 0x20(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x289ec
callq 0x52e0
leaq 0x1a8(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x28a02
callq 0x52e0
movq 0x30(%rsp), %rdi
cmpq %r12, %rdi
je 0x28a11
callq 0x52e0
leaq 0x120(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x28a27
callq 0x52e0
leaq 0x1c8(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x28a3d
callq 0x52e0
movq 0x170(%rsp), %rdi
cmpq %r15, %rdi
je 0x28a4f
callq 0x52e0
leaq 0x100(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
leaq 0x60(%rsp), %r14
leaq 0x80(%rsp), %r15
je 0x28a72
callq 0x52e0
leaq 0x1e8(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x28a88
callq 0x52e0
movq 0x70(%rsp), %rdi
cmpq %r15, %rdi
je 0x28a97
callq 0x52e0
leaq 0xe0(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x28aad
callq 0x52e0
leaq 0x208(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x28ac3
callq 0x52e0
movq 0x150(%rsp), %rdi
cmpq %rbx, %rdi
je 0x28ad5
callq 0x52e0
leaq 0xc0(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x28aeb
callq 0x52e0
leaq 0x228(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x28b01
callq 0x52e0
movq 0x50(%rsp), %rdi
cmpq %r14, %rdi
je 0x28b10
callq 0x52e0
leaq 0xa0(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x28b26
callq 0x52e0
leaq 0x248(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x28b3c
callq 0x52e0
movq 0x130(%rsp), %rdi
cmpq %rbp, %rdi
je 0x28b4e
callq 0x52e0
movq 0x2d8(%rsp), %rdi
cmpq %r13, %rdi
jne 0x28177
jmp 0x2817c
movq %rax, (%rsp)
movq 0x298(%rsp), %rdi
cmpq %r14, %rdi
je 0x28b80
callq 0x52e0
jmp 0x28b80
movq %rax, (%rsp)
leaq 0x20(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x28b99
callq 0x52e0
jmp 0x28b99
movq %rax, (%rsp)
leaq 0x1a8(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x28bb5
callq 0x52e0
jmp 0x28bb5
movq %rax, (%rsp)
movq 0x30(%rsp), %rdi
cmpq %r12, %rdi
je 0x28bca
callq 0x52e0
jmp 0x28bca
movq %rax, (%rsp)
leaq 0x120(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x28be6
callq 0x52e0
jmp 0x28be6
movq %rax, (%rsp)
leaq 0x1c8(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x28c02
callq 0x52e0
jmp 0x28c02
movq %rax, (%rsp)
movq 0x170(%rsp), %rdi
cmpq %r15, %rdi
je 0x28c1a
callq 0x52e0
jmp 0x28c1a
movq %rax, (%rsp)
leaq 0x100(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x28c36
callq 0x52e0
jmp 0x28c36
movq %rax, (%rsp)
leaq 0x1e8(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x28c4c
callq 0x52e0
movq 0x70(%rsp), %rdi
leaq 0x80(%rsp), %rax
cmpq %rax, %rdi
je 0x28c63
callq 0x52e0
leaq 0xe0(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x28c79
callq 0x52e0
leaq 0x208(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x28c8f
callq 0x52e0
movq 0x150(%rsp), %rdi
cmpq %rbx, %rdi
je 0x28ca1
callq 0x52e0
leaq 0xc0(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x28cb7
callq 0x52e0
leaq 0x228(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x28ccd
callq 0x52e0
movq 0x50(%rsp), %rdi
leaq 0x60(%rsp), %rax
cmpq %rax, %rdi
je 0x28ce1
callq 0x52e0
leaq 0xa0(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x28cf7
callq 0x52e0
leaq 0x248(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x28d0d
callq 0x52e0
movq 0x130(%rsp), %rdi
cmpq %rbp, %rdi
je 0x28d1f
callq 0x52e0
movq 0x2d8(%rsp), %rdi
cmpq %r13, %rdi
jne 0x28e10
jmp 0x28e15
movq %rax, (%rsp)
jmp 0x28c4c
movq %rax, (%rsp)
jmp 0x28c63
movq %rax, (%rsp)
jmp 0x28c79
movq %rax, (%rsp)
jmp 0x28c8f
movq %rax, (%rsp)
jmp 0x28ca1
movq %rax, (%rsp)
jmp 0x28cb7
movq %rax, (%rsp)
jmp 0x28ccd
movq %rax, (%rsp)
jmp 0x28ce1
movq %rax, (%rsp)
jmp 0x28cf7
movq %rax, (%rsp)
jmp 0x28d0d
movq %rax, (%rsp)
jmp 0x28d1f
movq %rax, (%rsp)
jmp 0x28e15
movq %rax, (%rsp)
movq 0x2b8(%rsp), %rdi
cmpq %rbx, %rdi
jne 0x28df6
jmp 0x28e01
jmp 0x28dfd
movq %rax, (%rsp)
movq 0x258(%rsp), %rdi
leaq 0x268(%rsp), %rax
cmpq %rax, %rdi
jne 0x28ddb
jmp 0x28dec
jmp 0x28de8
movq %rax, (%rsp)
movq 0x278(%rsp), %rdi
cmpq %rbx, %rdi
je 0x28dec
callq 0x52e0
jmp 0x28dec
jmp 0x28de8
jmp 0x28de8
jmp 0x28de8
movq %rax, (%rsp)
movq 0x30(%rsp), %rdi
cmpq %r12, %rdi
je 0x28e01
callq 0x52e0
jmp 0x28e01
movq %rax, (%rsp)
movq 0x10(%rsp), %rdi
leaq 0x20(%rsp), %rax
cmpq %rax, %rdi
je 0x28e15
callq 0x52e0
movq (%rsp), %rdi
callq 0x5670