// File: tewalds[P]pentagod/gtpagent.cpp
// Function: PentagoGTP::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 PentagoGTP::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) + "]\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->reset_threads();
		}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 = from_str<int>(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:
subq $0x3c8, %rsp            # imm = 0x3C8
movq %rdx, 0x90(%rsp)
movq %rdi, 0x98(%rsp)
movq %rdi, %rax
movq %rax, 0xa0(%rsp)
movq %rdi, 0x3c0(%rsp)
movq %rsi, 0x3b8(%rsp)
movq %rdx, 0x3b0(%rsp)
movq 0x3b8(%rsp), %rax
movq 0x90(%rax), %rax
movq %rax, 0xa8(%rsp)
cmpq $0x0, %rax
je 0x1d500
movq 0xa8(%rsp), %rdi
leaq 0x3257a(%rip), %rsi     # 0x4fa60
leaq 0x3272b(%rip), %rdx     # 0x4fc18
xorl %eax, %eax
movl %eax, %ecx
callq 0x4410
movq %rax, 0x88(%rsp)
jmp 0x1d50c
xorl %eax, %eax
movq %rax, 0x88(%rsp)
jmp 0x1d50c
movq 0x90(%rsp), %rdi
movq 0x88(%rsp), %rax
movq %rax, 0x3a8(%rsp)
callq 0xcbe0
cmpq $0x0, %rax
jne 0x1dafc
leaq 0x227(%rsp), %rdi
movq %rdi, 0x80(%rsp)
callq 0x4670
movq 0x80(%rsp), %rdx
leaq 0x20559(%rip), %rsi     # 0x3dab0
leaq 0x228(%rsp), %rdi
callq 0x44d0
jmp 0x1d566
leaq 0x216d4(%rip), %rdx     # 0x3ec41
leaq 0x248(%rsp), %rdi
leaq 0x228(%rsp), %rsi
callq 0x93b0
jmp 0x1d584
movq 0x3a8(%rsp), %rax
movq 0x40(%rax), %rsi
shrq $0x14, %rsi
leaq 0x1f0(%rsp), %rdi
callq 0x161a0
jmp 0x1d5a3
leaq 0x268(%rsp), %rdi
leaq 0x248(%rsp), %rsi
leaq 0x1f0(%rsp), %rdx
callq 0xe470
jmp 0x1d5c2
leaq 0x21715(%rip), %rdx     # 0x3ecde
leaq 0x288(%rsp), %rdi
leaq 0x268(%rsp), %rsi
callq 0x93b0
jmp 0x1d5e0
movq 0x3a8(%rsp), %rax
movl 0xadc(%rax), %esi
leaq 0x1d0(%rsp), %rdi
callq 0x16070
jmp 0x1d5fd
leaq 0x2a8(%rsp), %rdi
leaq 0x288(%rsp), %rsi
leaq 0x1d0(%rsp), %rdx
callq 0xe470
jmp 0x1d61c
leaq 0x21708(%rip), %rdx     # 0x3ed2b
leaq 0x2c8(%rsp), %rdi
leaq 0x2a8(%rsp), %rsi
callq 0x93b0
jmp 0x1d63a
movq 0x3a8(%rsp), %rax
movl 0xad8(%rax), %esi
leaq 0x1b0(%rsp), %rdi
callq 0x16070
jmp 0x1d657
leaq 0x2e8(%rsp), %rdi
leaq 0x2c8(%rsp), %rsi
leaq 0x1b0(%rsp), %rdx
callq 0xe470
jmp 0x1d676
leaq 0x216fb(%rip), %rdx     # 0x3ed78
leaq 0x308(%rsp), %rdi
leaq 0x2e8(%rsp), %rsi
callq 0x93b0
jmp 0x1d694
movq 0x3a8(%rsp), %rax
movzbl 0xad0(%rax), %esi
andl $0x1, %esi
leaq 0x190(%rsp), %rdi
callq 0x16100
jmp 0x1d6b5
leaq 0x328(%rsp), %rdi
leaq 0x308(%rsp), %rsi
leaq 0x190(%rsp), %rdx
callq 0xe470
jmp 0x1d6d4
leaq 0x216ea(%rip), %rdx     # 0x3edc5
leaq 0x348(%rsp), %rdi
leaq 0x328(%rsp), %rsi
callq 0x93b0
jmp 0x1d6f2
movq 0x3a8(%rsp), %rax
vmovss 0xad4(%rax), %xmm0
leaq 0x170(%rsp), %rdi
callq 0x1e760
jmp 0x1d711
leaq 0x368(%rsp), %rdi
leaq 0x348(%rsp), %rsi
leaq 0x170(%rsp), %rdx
callq 0xe470
jmp 0x1d730
leaq 0x20c24(%rip), %rdx     # 0x3e35b
leaq 0x388(%rsp), %rdi
leaq 0x368(%rsp), %rsi
callq 0x93b0
jmp 0x1d74e
movq 0x98(%rsp), %rdi
movl $0x1, %esi
leaq 0x388(%rsp), %rdx
callq 0xb680
jmp 0x1d76a
leaq 0x388(%rsp), %rdi
callq 0x4210
leaq 0x368(%rsp), %rdi
callq 0x4210
leaq 0x170(%rsp), %rdi
callq 0x4210
leaq 0x348(%rsp), %rdi
callq 0x4210
leaq 0x328(%rsp), %rdi
callq 0x4210
leaq 0x190(%rsp), %rdi
callq 0x4210
leaq 0x308(%rsp), %rdi
callq 0x4210
leaq 0x2e8(%rsp), %rdi
callq 0x4210
leaq 0x1b0(%rsp), %rdi
callq 0x4210
leaq 0x2c8(%rsp), %rdi
callq 0x4210
leaq 0x2a8(%rsp), %rdi
callq 0x4210
leaq 0x1d0(%rsp), %rdi
callq 0x4210
leaq 0x288(%rsp), %rdi
callq 0x4210
leaq 0x268(%rsp), %rdi
callq 0x4210
leaq 0x1f0(%rsp), %rdi
callq 0x4210
leaq 0x248(%rsp), %rdi
callq 0x4210
leaq 0x228(%rsp), %rdi
callq 0x4210
leaq 0x227(%rsp), %rdi
callq 0x43f0
jmp 0x1e1e3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x218(%rsp)
movl %eax, 0x214(%rsp)
jmp 0x1daea
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x218(%rsp)
movl %eax, 0x214(%rsp)
jmp 0x1dadd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x218(%rsp)
movl %eax, 0x214(%rsp)
jmp 0x1dad0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x218(%rsp)
movl %eax, 0x214(%rsp)
jmp 0x1dac3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x218(%rsp)
movl %eax, 0x214(%rsp)
jmp 0x1dab6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x218(%rsp)
movl %eax, 0x214(%rsp)
jmp 0x1daa9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x218(%rsp)
movl %eax, 0x214(%rsp)
jmp 0x1da9c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x218(%rsp)
movl %eax, 0x214(%rsp)
jmp 0x1da8f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x218(%rsp)
movl %eax, 0x214(%rsp)
jmp 0x1da82
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x218(%rsp)
movl %eax, 0x214(%rsp)
jmp 0x1da75
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x218(%rsp)
movl %eax, 0x214(%rsp)
jmp 0x1da68
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x218(%rsp)
movl %eax, 0x214(%rsp)
jmp 0x1da5b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x218(%rsp)
movl %eax, 0x214(%rsp)
jmp 0x1da4e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x218(%rsp)
movl %eax, 0x214(%rsp)
jmp 0x1da41
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x218(%rsp)
movl %eax, 0x214(%rsp)
jmp 0x1da34
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x218(%rsp)
movl %eax, 0x214(%rsp)
jmp 0x1da27
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x218(%rsp)
movl %eax, 0x214(%rsp)
jmp 0x1da1a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x218(%rsp)
movl %eax, 0x214(%rsp)
leaq 0x388(%rsp), %rdi
callq 0x4210
leaq 0x368(%rsp), %rdi
callq 0x4210
leaq 0x170(%rsp), %rdi
callq 0x4210
leaq 0x348(%rsp), %rdi
callq 0x4210
leaq 0x328(%rsp), %rdi
callq 0x4210
leaq 0x190(%rsp), %rdi
callq 0x4210
leaq 0x308(%rsp), %rdi
callq 0x4210
leaq 0x2e8(%rsp), %rdi
callq 0x4210
leaq 0x1b0(%rsp), %rdi
callq 0x4210
leaq 0x2c8(%rsp), %rdi
callq 0x4210
leaq 0x2a8(%rsp), %rdi
callq 0x4210
leaq 0x1d0(%rsp), %rdi
callq 0x4210
leaq 0x288(%rsp), %rdi
callq 0x4210
leaq 0x268(%rsp), %rdi
callq 0x4210
leaq 0x1f0(%rsp), %rdi
callq 0x4210
leaq 0x248(%rsp), %rdi
callq 0x4210
leaq 0x228(%rsp), %rdi
callq 0x4210
leaq 0x227(%rsp), %rdi
callq 0x43f0
jmp 0x1e1f3
leaq 0x150(%rsp), %rdi
callq 0x44e0
movl $0x0, 0x14c(%rsp)
movq 0x90(%rsp), %rdi
movl 0x14c(%rsp), %eax
movq %rax, 0x78(%rsp)
callq 0xcbe0
movq %rax, %rcx
movq 0x78(%rsp), %rax
cmpq %rcx, %rax
jae 0x1e155
movq 0x90(%rsp), %rdi
movl 0x14c(%rsp), %eax
movl %eax, %esi
callq 0xcc00
movq %rax, %rsi
leaq 0x128(%rsp), %rdi
callq 0x4170
jmp 0x1db66
leaq 0x21014(%rip), %rsi     # 0x3eb81
leaq 0x128(%rsp), %rdi
callq 0x8b90
movb %al, 0x77(%rsp)
jmp 0x1db80
movb 0x77(%rsp), %al
testb $0x1, %al
jne 0x1dbb1
jmp 0x1db8a
leaq 0x20ff3(%rip), %rsi     # 0x3eb84
leaq 0x128(%rsp), %rdi
callq 0x8b90
movb %al, 0x76(%rsp)
jmp 0x1dba4
movb 0x76(%rsp), %al
testb $0x1, %al
jne 0x1dbb1
jmp 0x1dc65
movq 0x90(%rsp), %rdi
movl 0x14c(%rsp), %eax
addl $0x1, %eax
movl %eax, %eax
movq %rax, 0x68(%rsp)
callq 0xcbe0
movq %rax, %rcx
movq 0x68(%rsp), %rax
cmpq %rcx, %rax
jae 0x1dc65
movq 0x90(%rsp), %rdi
movl 0x14c(%rsp), %eax
incl %eax
movl %eax, 0x14c(%rsp)
movl %eax, %esi
callq 0xcc00
movq %rax, %rdi
callq 0x15a10
movl %eax, 0x64(%rsp)
jmp 0x1dc0d
movl 0x64(%rsp), %ecx
movq 0x3a8(%rsp), %rax
movl %ecx, 0xadc(%rax)
movq 0x3a8(%rsp), %rdi
callq 0x34fd0
jmp 0x1dc2e
jmp 0x1e105
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x218(%rsp)
movl %eax, 0x214(%rsp)
jmp 0x1e1d4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x218(%rsp)
movl %eax, 0x214(%rsp)
jmp 0x1e146
leaq 0x2093c(%rip), %rsi     # 0x3e5a8
leaq 0x128(%rsp), %rdi
callq 0x8b90
movb %al, 0x63(%rsp)
jmp 0x1dc7f
movb 0x63(%rsp), %al
testb $0x1, %al
jne 0x1dcb0
jmp 0x1dc89
leaq 0x21182(%rip), %rsi     # 0x3ee12
leaq 0x128(%rsp), %rdi
callq 0x8b90
movb %al, 0x62(%rsp)
jmp 0x1dca3
movb 0x62(%rsp), %al
testb $0x1, %al
jne 0x1dcb0
jmp 0x1de06
movq 0x90(%rsp), %rdi
movl 0x14c(%rsp), %eax
addl $0x1, %eax
movl %eax, %eax
movq %rax, 0x58(%rsp)
callq 0xcbe0
movq %rax, %rcx
movq 0x58(%rsp), %rax
cmpq %rcx, %rax
jae 0x1de06
movq 0x90(%rsp), %rdi
movl 0x14c(%rsp), %eax
incl %eax
movl %eax, 0x14c(%rsp)
movl %eax, %esi
callq 0xcc00
movq %rax, %rdi
callq 0x1e6e0
movq %rax, 0x50(%rsp)
jmp 0x1dd0d
movq 0x50(%rsp), %rax
movq %rax, 0x120(%rsp)
cmpq $0x1, 0x120(%rsp)
jae 0x1dde2
leaq 0xff(%rsp), %rdi
movq %rdi, 0x48(%rsp)
callq 0x4670
movq 0x48(%rsp), %rdx
leaq 0x210d4(%rip), %rsi     # 0x3ee1b
leaq 0x100(%rsp), %rdi
callq 0x44d0
jmp 0x1dd56
movq 0x98(%rsp), %rdi
xorl %esi, %esi
leaq 0x100(%rsp), %rdx
callq 0xb680
jmp 0x1dd6f
leaq 0x100(%rsp), %rdi
callq 0x4210
leaq 0xff(%rsp), %rdi
callq 0x43f0
movl $0x1, 0xf8(%rsp)
jmp 0x1e110
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x218(%rsp)
movl %eax, 0x214(%rsp)
jmp 0x1ddd0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x218(%rsp)
movl %eax, 0x214(%rsp)
leaq 0x100(%rsp), %rdi
callq 0x4210
leaq 0xff(%rsp), %rdi
callq 0x43f0
jmp 0x1e146
movq 0x3a8(%rsp), %rdi
movq 0x120(%rsp), %rsi
shlq $0x14, %rsi
movq (%rdi), %rax
movq 0x30(%rax), %rax
callq *%rax
jmp 0x1de01
jmp 0x1e103
leaq 0x20790(%rip), %rsi     # 0x3e59d
leaq 0x128(%rsp), %rdi
callq 0x8b90
movb %al, 0x47(%rsp)
jmp 0x1de20
movb 0x47(%rsp), %al
testb $0x1, %al
jne 0x1de51
jmp 0x1de2a
leaq 0x21008(%rip), %rsi     # 0x3ee39
leaq 0x128(%rsp), %rdi
callq 0x8b90
movb %al, 0x46(%rsp)
jmp 0x1de44
movb 0x46(%rsp), %al
testb $0x1, %al
jne 0x1de51
jmp 0x1ded3
movq 0x90(%rsp), %rdi
movl 0x14c(%rsp), %eax
addl $0x1, %eax
movl %eax, %eax
movq %rax, 0x38(%rsp)
callq 0xcbe0
movq %rax, %rcx
movq 0x38(%rsp), %rax
cmpq %rcx, %rax
jae 0x1ded3
movq 0x90(%rsp), %rdi
movl 0x14c(%rsp), %eax
incl %eax
movl %eax, 0x14c(%rsp)
movl %eax, %esi
callq 0xcc00
movq %rax, %rdi
callq 0x15a10
movl %eax, 0x34(%rsp)
jmp 0x1dea9
movl 0x34(%rsp), %ecx
movq 0x3a8(%rsp), %rax
movl %ecx, 0xad8(%rax)
movq 0x3a8(%rsp), %rdi
movq (%rdi), %rax
movq 0x38(%rax), %rax
callq *%rax
jmp 0x1dece
jmp 0x1e101
leaq 0x20f66(%rip), %rsi     # 0x3ee40
leaq 0x128(%rsp), %rdi
callq 0x8b90
movb %al, 0x33(%rsp)
jmp 0x1deed
movb 0x33(%rsp), %al
testb $0x1, %al
jne 0x1df1b
jmp 0x1def7
leaq 0x20f45(%rip), %rsi     # 0x3ee43
leaq 0x128(%rsp), %rdi
callq 0x8b90
movb %al, 0x32(%rsp)
jmp 0x1df11
movb 0x32(%rsp), %al
testb $0x1, %al
jne 0x1df1b
jmp 0x1df8d
movq 0x90(%rsp), %rdi
movl 0x14c(%rsp), %eax
addl $0x1, %eax
movl %eax, %eax
movq %rax, 0x28(%rsp)
callq 0xcbe0
movq %rax, %rcx
movq 0x28(%rsp), %rax
cmpq %rcx, %rax
jae 0x1df8d
movq 0x90(%rsp), %rdi
movl 0x14c(%rsp), %eax
incl %eax
movl %eax, 0x14c(%rsp)
movl %eax, %esi
callq 0xcc00
movq %rax, %rdi
callq 0x1e550
movb %al, 0x27(%rsp)
jmp 0x1df73
movb 0x27(%rsp), %cl
movq 0x3a8(%rsp), %rax
andb $0x1, %cl
movb %cl, 0xad0(%rax)
jmp 0x1e0ff
leaq 0x205ff(%rip), %rsi     # 0x3e593
leaq 0x128(%rsp), %rdi
callq 0x8b90
movb %al, 0x26(%rsp)
jmp 0x1dfa7
movb 0x26(%rsp), %al
testb $0x1, %al
jne 0x1dfd5
jmp 0x1dfb1
leaq 0x20e90(%rip), %rsi     # 0x3ee48
leaq 0x128(%rsp), %rdi
callq 0x8b90
movb %al, 0x25(%rsp)
jmp 0x1dfcb
movb 0x25(%rsp), %al
testb $0x1, %al
jne 0x1dfd5
jmp 0x1e04a
movq 0x90(%rsp), %rdi
movl 0x14c(%rsp), %eax
addl $0x1, %eax
movl %eax, %eax
movq %rax, 0x18(%rsp)
callq 0xcbe0
movq %rax, %rcx
movq 0x18(%rsp), %rax
cmpq %rcx, %rax
jae 0x1e04a
movq 0x90(%rsp), %rdi
movl 0x14c(%rsp), %eax
incl %eax
movl %eax, 0x14c(%rsp)
movl %eax, %esi
callq 0xcc00
movq %rax, %rdi
callq 0x1e4c0
vmovss %xmm0, 0x14(%rsp)
jmp 0x1e02f
vmovss 0x14(%rsp), %xmm0
movq 0x3a8(%rsp), %rax
vmovss %xmm0, 0xad4(%rax)
jmp 0x1e0fd
leaq 0xd7(%rsp), %rdi
movq %rdi, 0x8(%rsp)
callq 0x4670
movq 0x8(%rsp), %rdx
leaq 0x20578(%rip), %rsi     # 0x3e5e0
leaq 0xd8(%rsp), %rdi
callq 0x44d0
jmp 0x1e077
movq 0x98(%rsp), %rdi
xorl %esi, %esi
leaq 0xd8(%rsp), %rdx
callq 0xb680
jmp 0x1e090
leaq 0xd8(%rsp), %rdi
callq 0x4210
leaq 0xd7(%rsp), %rdi
callq 0x43f0
movl $0x1, 0xf8(%rsp)
jmp 0x1e110
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x218(%rsp)
movl %eax, 0x214(%rsp)
jmp 0x1e0ee
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x218(%rsp)
movl %eax, 0x214(%rsp)
leaq 0xd8(%rsp), %rdi
callq 0x4210
leaq 0xd7(%rsp), %rdi
callq 0x43f0
jmp 0x1e146
jmp 0x1e0ff
jmp 0x1e101
jmp 0x1e103
jmp 0x1e105
movl $0x0, 0xf8(%rsp)
leaq 0x128(%rsp), %rdi
callq 0x4210
movl 0xf8(%rsp), %eax
testl %eax, %eax
jne 0x1e1c5
jmp 0x1e12e
jmp 0x1e130
movl 0x14c(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x14c(%rsp)
jmp 0x1db14
leaq 0x128(%rsp), %rdi
callq 0x4210
jmp 0x1e1d4
leaq 0xb0(%rsp), %rdi
leaq 0x150(%rsp), %rsi
callq 0x4170
jmp 0x1e16c
movq 0x98(%rsp), %rdi
movl $0x1, %esi
leaq 0xb0(%rsp), %rdx
callq 0xb680
jmp 0x1e188
leaq 0xb0(%rsp), %rdi
callq 0x4210
movl $0x1, 0xf8(%rsp)
jmp 0x1e1c5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x218(%rsp)
movl %eax, 0x214(%rsp)
leaq 0xb0(%rsp), %rdi
callq 0x4210
jmp 0x1e1d4
leaq 0x150(%rsp), %rdi
callq 0x4210
jmp 0x1e1e3
leaq 0x150(%rsp), %rdi
callq 0x4210
jmp 0x1e1f3
movq 0xa0(%rsp), %rax
addq $0x3c8, %rsp            # imm = 0x3C8
retq
movq 0x218(%rsp), %rdi
callq 0x4660