// File: tewalds[P]pentagod/gtpagent.cpp
// Function: PentagoGTP::gtp_mcts_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_mcts_params(vecstr args){
	AgentMCTS * mcts =  dynamic_cast<AgentMCTS *>(agent);

	if(args.size() == 0)
		return GTPResponse(true, string("\n") +
			"Set player parameters, eg: player_params -e 1 -f 0 -t 2 -o 1 -p 0\n" +
			"Processing:\n" +
#ifndef SINGLE_THREAD
			"  -t --threads     Number of MCTS threads                            [" + to_str(mcts->numthreads) + "]\n" +
#endif
			"  -o --ponder      Continue to ponder during the opponents time      [" + to_str(mcts->ponder) + "]\n" +
			"  -M --maxmem      Max memory in Mb to use for the tree              [" + to_str(mcts->maxmem/(1024*1024)) + "]\n" +
			"     --profile     Output the time used by each phase of MCTS        [" + to_str(mcts->profile) + "]\n" +
			"Tree traversal:\n" +
			"  -e --explore     Exploration rate for UCT                          [" + to_str(mcts->explore) + "]\n" +
			"  -A --parexplore  Multiply the explore rate by parents experience   [" + to_str(mcts->parentexplore) + "]\n" +
			"  -a --knowledge   Use knowledge: 0.01*know/sqrt(visits+1)           [" + to_str(mcts->knowledge) + "]\n" +
			"  -X --useexplore  Use exploration with this probability [0-1]       [" + to_str(mcts->useexplore) + "]\n" +
			"  -u --fpurgency   Value to assign to an unplayed move               [" + to_str(mcts->fpurgency) + "]\n" +
			"  -O --rollouts    Number of rollouts to run per simulation          [" + to_str(mcts->rollouts) + "]\n" +
			"Tree building:\n" +
			"  -k --keeptree    Keep the tree from the previous move              [" + to_str(mcts->keeptree) + "]\n" +
			"  -m --minimax     Backup the minimax proof in the UCT tree          [" + to_str(mcts->minimax) + "]\n" +
			"  -x --visitexpand Number of visits before expanding a node          [" + to_str(mcts->visitexpand) + "]\n" +
			"  -P --symmetry    Prune symmetric moves, good for proof, not play   [" + to_str(mcts->prunesymmetry) + "]\n" +
			"Rollout policy:\n" +
			"  -w --instantwin  Look for instant wins (1) and forced replies (2)  [" + to_str(mcts->instantwin) + "]\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()){
			mcts->numthreads = from_str<int>(args[++i]);
			bool p = mcts->ponder;
			mcts->set_ponder(false); //stop the threads while resetting them
			mcts->reset_threads();
			mcts->set_ponder(p);
		}else if((arg == "-o" || arg == "--ponder") && i+1 < args.size()){
			mcts->set_ponder(from_str<bool>(args[++i]));
		}else if((arg == "--profile") && i+1 < args.size()){
			mcts->profile = from_str<bool>(args[++i]);
		}else if((arg == "-M" || arg == "--maxmem") && i+1 < args.size()){
			mcts->maxmem = from_str<uint64_t>(args[++i])*1024*1024;
		}else if((arg == "-e" || arg == "--explore") && i+1 < args.size()){
			mcts->explore = from_str<float>(args[++i]);
		}else if((arg == "-A" || arg == "--parexplore") && i+1 < args.size()){
			mcts->parentexplore = from_str<bool>(args[++i]);
		}else if((arg == "-a" || arg == "--knowledge") && i+1 < args.size()){
			mcts->knowledge = from_str<bool>(args[++i]);
		}else if((arg == "-k" || arg == "--keeptree") && i+1 < args.size()){
			mcts->keeptree = from_str<bool>(args[++i]);
		}else if((arg == "-m" || arg == "--minimax") && i+1 < args.size()){
			mcts->minimax = from_str<int>(args[++i]);
		}else if((arg == "-P" || arg == "--symmetry") && i+1 < args.size()){
			mcts->prunesymmetry = from_str<bool>(args[++i]);
		}else if((arg == "-X" || arg == "--useexplore") && i+1 < args.size()){
			mcts->useexplore = from_str<float>(args[++i]);
		}else if((arg == "-u" || arg == "--fpurgency") && i+1 < args.size()){
			mcts->fpurgency = from_str<float>(args[++i]);
		}else if((arg == "-O" || arg == "--rollouts") && i+1 < args.size()){
			mcts->rollouts = from_str<int>(args[++i]);
		}else if((arg == "-x" || arg == "--visitexpand") && i+1 < args.size()){
			mcts->visitexpand = from_str<uint>(args[++i]);
		}else if((arg == "-w" || arg == "--instantwin") && i+1 < args.size()){
			mcts->instantwin = from_str<int>(args[++i]);
		}else{
			return GTPResponse(false, "Missing or unknown parameter");
		}
	}
	return GTPResponse(true, errs);
}

// Assembly:
subq $0xa68, %rsp            # imm = 0xA68
movq %rdx, 0x138(%rsp)
movq %rdi, 0x140(%rsp)
movq %rdi, %rax
movq %rax, 0x148(%rsp)
movq %rdi, 0xa60(%rsp)
movq %rsi, 0xa58(%rsp)
movq %rdx, 0xa50(%rsp)
movq 0xa58(%rsp), %rax
movq 0x90(%rax), %rax
movq %rax, 0x150(%rsp)
cmpq $0x0, %rax
je 0x1b0d0
movq 0x150(%rsp), %rdi
leaq 0x349aa(%rip), %rsi     # 0x4fa60
leaq 0x34a23(%rip), %rdx     # 0x4fae0
xorl %eax, %eax
movl %eax, %ecx
callq 0x4410
movq %rax, 0x130(%rsp)
jmp 0x1b0dc
xorl %eax, %eax
movq %rax, 0x130(%rsp)
jmp 0x1b0dc
movq 0x138(%rsp), %rdi
movq 0x130(%rsp), %rax
movq %rax, 0xa48(%rsp)
callq 0xcbe0
cmpq $0x0, %rax
jne 0x1c63b
leaq 0x3e7(%rsp), %rdi
movq %rdi, 0x128(%rsp)
callq 0x4670
movq 0x128(%rsp), %rdx
leaq 0x22989(%rip), %rsi     # 0x3dab0
leaq 0x3e8(%rsp), %rdi
callq 0x44d0
jmp 0x1b136
leaq 0x235e0(%rip), %rdx     # 0x3e71d
leaq 0x408(%rsp), %rdi
leaq 0x3e8(%rsp), %rsi
callq 0x93b0
jmp 0x1b154
leaq 0x23605(%rip), %rdx     # 0x3e760
leaq 0x428(%rsp), %rdi
leaq 0x408(%rsp), %rsi
callq 0x93b0
jmp 0x1b172
leaq 0x235f4(%rip), %rdx     # 0x3e76d
leaq 0x448(%rsp), %rdi
leaq 0x428(%rsp), %rsi
callq 0x93b0
jmp 0x1b190
movq 0xa48(%rsp), %rax
movl 0x3c(%rax), %esi
leaq 0x3b0(%rsp), %rdi
callq 0x16070
jmp 0x1b1aa
leaq 0x468(%rsp), %rdi
leaq 0x448(%rsp), %rsi
leaq 0x3b0(%rsp), %rdx
callq 0xe470
jmp 0x1b1c9
leaq 0x2318b(%rip), %rdx     # 0x3e35b
leaq 0x488(%rsp), %rdi
leaq 0x468(%rsp), %rsi
callq 0x93b0
jmp 0x1b1e7
leaq 0x235c6(%rip), %rdx     # 0x3e7b4
leaq 0x4a8(%rsp), %rdi
leaq 0x488(%rsp), %rsi
callq 0x93b0
jmp 0x1b205
movq 0xa48(%rsp), %rax
movzbl 0x38(%rax), %esi
andl $0x1, %esi
leaq 0x390(%rsp), %rdi
callq 0x16100
jmp 0x1b223
leaq 0x4c8(%rsp), %rdi
leaq 0x4a8(%rsp), %rsi
leaq 0x390(%rsp), %rdx
callq 0xe470
jmp 0x1b242
leaq 0x23112(%rip), %rdx     # 0x3e35b
leaq 0x4e8(%rsp), %rdi
leaq 0x4c8(%rsp), %rsi
callq 0x93b0
jmp 0x1b260
leaq 0x2340f(%rip), %rdx     # 0x3e676
leaq 0x508(%rsp), %rdi
leaq 0x4e8(%rsp), %rsi
callq 0x93b0
jmp 0x1b27e
movq 0xa48(%rsp), %rax
movq 0x40(%rax), %rsi
shrq $0x14, %rsi
leaq 0x370(%rsp), %rdi
callq 0x161a0
jmp 0x1b29d
leaq 0x528(%rsp), %rdi
leaq 0x508(%rsp), %rsi
leaq 0x370(%rsp), %rdx
callq 0xe470
jmp 0x1b2bc
leaq 0x23098(%rip), %rdx     # 0x3e35b
leaq 0x548(%rsp), %rdi
leaq 0x528(%rsp), %rsi
callq 0x93b0
jmp 0x1b2da
leaq 0x2351a(%rip), %rdx     # 0x3e7fb
leaq 0x568(%rsp), %rdi
leaq 0x548(%rsp), %rsi
callq 0x93b0
jmp 0x1b2f8
movq 0xa48(%rsp), %rax
movzbl 0x48(%rax), %esi
andl $0x1, %esi
leaq 0x350(%rsp), %rdi
callq 0x16100
jmp 0x1b316
leaq 0x588(%rsp), %rdi
leaq 0x568(%rsp), %rsi
leaq 0x350(%rsp), %rdx
callq 0xe470
jmp 0x1b335
leaq 0x2301f(%rip), %rdx     # 0x3e35b
leaq 0x5a8(%rsp), %rdi
leaq 0x588(%rsp), %rsi
callq 0x93b0
jmp 0x1b353
leaq 0x234e8(%rip), %rdx     # 0x3e842
leaq 0x5c8(%rsp), %rdi
leaq 0x5a8(%rsp), %rsi
callq 0x93b0
jmp 0x1b371
leaq 0x234db(%rip), %rdx     # 0x3e853
leaq 0x5e8(%rsp), %rdi
leaq 0x5c8(%rsp), %rsi
callq 0x93b0
jmp 0x1b38f
movq 0xa48(%rsp), %rax
vmovss 0x4c(%rax), %xmm0
leaq 0x330(%rsp), %rdi
callq 0x1e760
jmp 0x1b3ab
leaq 0x608(%rsp), %rdi
leaq 0x5e8(%rsp), %rsi
leaq 0x330(%rsp), %rdx
callq 0xe470
jmp 0x1b3ca
leaq 0x22f8a(%rip), %rdx     # 0x3e35b
leaq 0x628(%rsp), %rdi
leaq 0x608(%rsp), %rsi
callq 0x93b0
jmp 0x1b3e8
leaq 0x234ab(%rip), %rdx     # 0x3e89a
leaq 0x648(%rsp), %rdi
leaq 0x628(%rsp), %rsi
callq 0x93b0
jmp 0x1b406
movq 0xa48(%rsp), %rax
movzbl 0x49(%rax), %esi
andl $0x1, %esi
leaq 0x310(%rsp), %rdi
callq 0x16100
jmp 0x1b424
leaq 0x668(%rsp), %rdi
leaq 0x648(%rsp), %rsi
leaq 0x310(%rsp), %rdx
callq 0xe470
jmp 0x1b443
leaq 0x22f11(%rip), %rdx     # 0x3e35b
leaq 0x688(%rsp), %rdi
leaq 0x668(%rsp), %rsi
callq 0x93b0
jmp 0x1b461
leaq 0x23479(%rip), %rdx     # 0x3e8e1
leaq 0x6a8(%rsp), %rdi
leaq 0x688(%rsp), %rsi
callq 0x93b0
jmp 0x1b47f
movq 0xa48(%rsp), %rax
movzbl 0x50(%rax), %esi
andl $0x1, %esi
leaq 0x2f0(%rsp), %rdi
callq 0x16100
jmp 0x1b49d
leaq 0x6c8(%rsp), %rdi
leaq 0x6a8(%rsp), %rsi
leaq 0x2f0(%rsp), %rdx
callq 0xe470
jmp 0x1b4bc
leaq 0x22e98(%rip), %rdx     # 0x3e35b
leaq 0x6e8(%rsp), %rdi
leaq 0x6c8(%rsp), %rsi
callq 0x93b0
jmp 0x1b4da
leaq 0x23447(%rip), %rdx     # 0x3e928
leaq 0x708(%rsp), %rdi
leaq 0x6e8(%rsp), %rsi
callq 0x93b0
jmp 0x1b4f8
movq 0xa48(%rsp), %rax
vmovss 0x54(%rax), %xmm0
leaq 0x2d0(%rsp), %rdi
callq 0x1e760
jmp 0x1b514
leaq 0x728(%rsp), %rdi
leaq 0x708(%rsp), %rsi
leaq 0x2d0(%rsp), %rdx
callq 0xe470
jmp 0x1b533
leaq 0x22e21(%rip), %rdx     # 0x3e35b
leaq 0x748(%rsp), %rdi
leaq 0x728(%rsp), %rsi
callq 0x93b0
jmp 0x1b551
leaq 0x23417(%rip), %rdx     # 0x3e96f
leaq 0x768(%rsp), %rdi
leaq 0x748(%rsp), %rsi
callq 0x93b0
jmp 0x1b56f
movq 0xa48(%rsp), %rax
vmovss 0x58(%rax), %xmm0
leaq 0x2b0(%rsp), %rdi
callq 0x1e760
jmp 0x1b58b
leaq 0x788(%rsp), %rdi
leaq 0x768(%rsp), %rsi
leaq 0x2b0(%rsp), %rdx
callq 0xe470
jmp 0x1b5aa
leaq 0x22daa(%rip), %rdx     # 0x3e35b
leaq 0x7a8(%rsp), %rdi
leaq 0x788(%rsp), %rsi
callq 0x93b0
jmp 0x1b5c8
leaq 0x233e7(%rip), %rdx     # 0x3e9b6
leaq 0x7c8(%rsp), %rdi
leaq 0x7a8(%rsp), %rsi
callq 0x93b0
jmp 0x1b5e6
movq 0xa48(%rsp), %rax
movl 0x5c(%rax), %esi
leaq 0x290(%rsp), %rdi
callq 0x16070
jmp 0x1b600
leaq 0x7e8(%rsp), %rdi
leaq 0x7c8(%rsp), %rsi
leaq 0x290(%rsp), %rdx
callq 0xe470
jmp 0x1b61f
leaq 0x22d35(%rip), %rdx     # 0x3e35b
leaq 0x808(%rsp), %rdi
leaq 0x7e8(%rsp), %rsi
callq 0x93b0
jmp 0x1b63d
leaq 0x233b9(%rip), %rdx     # 0x3e9fd
leaq 0x828(%rsp), %rdi
leaq 0x808(%rsp), %rsi
callq 0x93b0
jmp 0x1b65b
leaq 0x233ab(%rip), %rdx     # 0x3ea0d
leaq 0x848(%rsp), %rdi
leaq 0x828(%rsp), %rsi
callq 0x93b0
jmp 0x1b679
movq 0xa48(%rsp), %rax
movzbl 0x60(%rax), %esi
andl $0x1, %esi
leaq 0x270(%rsp), %rdi
callq 0x16100
jmp 0x1b697
leaq 0x868(%rsp), %rdi
leaq 0x848(%rsp), %rsi
leaq 0x270(%rsp), %rdx
callq 0xe470
jmp 0x1b6b6
leaq 0x22c9e(%rip), %rdx     # 0x3e35b
leaq 0x888(%rsp), %rdi
leaq 0x868(%rsp), %rsi
callq 0x93b0
jmp 0x1b6d4
leaq 0x23379(%rip), %rdx     # 0x3ea54
leaq 0x8a8(%rsp), %rdi
leaq 0x888(%rsp), %rsi
callq 0x93b0
jmp 0x1b6f2
movq 0xa48(%rsp), %rax
movl 0x64(%rax), %esi
leaq 0x250(%rsp), %rdi
callq 0x16070
jmp 0x1b70c
leaq 0x8c8(%rsp), %rdi
leaq 0x8a8(%rsp), %rsi
leaq 0x250(%rsp), %rdx
callq 0xe470
jmp 0x1b72b
leaq 0x22c29(%rip), %rdx     # 0x3e35b
leaq 0x8e8(%rsp), %rdi
leaq 0x8c8(%rsp), %rsi
callq 0x93b0
jmp 0x1b749
leaq 0x2334b(%rip), %rdx     # 0x3ea9b
leaq 0x908(%rsp), %rdi
leaq 0x8e8(%rsp), %rsi
callq 0x93b0
jmp 0x1b767
movq 0xa48(%rsp), %rax
movl 0x68(%rax), %esi
leaq 0x230(%rsp), %rdi
callq 0xe560
jmp 0x1b781
leaq 0x928(%rsp), %rdi
leaq 0x908(%rsp), %rsi
leaq 0x230(%rsp), %rdx
callq 0xe470
jmp 0x1b7a0
leaq 0x22bb4(%rip), %rdx     # 0x3e35b
leaq 0x948(%rsp), %rdi
leaq 0x928(%rsp), %rsi
callq 0x93b0
jmp 0x1b7be
leaq 0x2331d(%rip), %rdx     # 0x3eae2
leaq 0x968(%rsp), %rdi
leaq 0x948(%rsp), %rsi
callq 0x93b0
jmp 0x1b7dc
movq 0xa48(%rsp), %rax
movzbl 0x6c(%rax), %esi
andl $0x1, %esi
leaq 0x210(%rsp), %rdi
callq 0x16100
jmp 0x1b7fa
leaq 0x988(%rsp), %rdi
leaq 0x968(%rsp), %rsi
leaq 0x210(%rsp), %rdx
callq 0xe470
jmp 0x1b819
leaq 0x22b3b(%rip), %rdx     # 0x3e35b
leaq 0x9a8(%rsp), %rdi
leaq 0x988(%rsp), %rsi
callq 0x93b0
jmp 0x1b837
leaq 0x232eb(%rip), %rdx     # 0x3eb29
leaq 0x9c8(%rsp), %rdi
leaq 0x9a8(%rsp), %rsi
callq 0x93b0
jmp 0x1b855
leaq 0x232de(%rip), %rdx     # 0x3eb3a
leaq 0x9e8(%rsp), %rdi
leaq 0x9c8(%rsp), %rsi
callq 0x93b0
jmp 0x1b873
movq 0xa48(%rsp), %rax
movl 0x78(%rax), %esi
leaq 0x1f0(%rsp), %rdi
callq 0x16070
jmp 0x1b88d
leaq 0xa08(%rsp), %rdi
leaq 0x9e8(%rsp), %rsi
leaq 0x1f0(%rsp), %rdx
callq 0xe470
jmp 0x1b8ac
leaq 0x22aa8(%rip), %rdx     # 0x3e35b
leaq 0xa28(%rsp), %rdi
leaq 0xa08(%rsp), %rsi
callq 0x93b0
jmp 0x1b8ca
movq 0x140(%rsp), %rdi
movl $0x1, %esi
leaq 0xa28(%rsp), %rdx
callq 0xb680
jmp 0x1b8e6
leaq 0xa28(%rsp), %rdi
callq 0x4210
leaq 0xa08(%rsp), %rdi
callq 0x4210
leaq 0x1f0(%rsp), %rdi
callq 0x4210
leaq 0x9e8(%rsp), %rdi
callq 0x4210
leaq 0x9c8(%rsp), %rdi
callq 0x4210
leaq 0x9a8(%rsp), %rdi
callq 0x4210
leaq 0x988(%rsp), %rdi
callq 0x4210
leaq 0x210(%rsp), %rdi
callq 0x4210
leaq 0x968(%rsp), %rdi
callq 0x4210
leaq 0x948(%rsp), %rdi
callq 0x4210
leaq 0x928(%rsp), %rdi
callq 0x4210
leaq 0x230(%rsp), %rdi
callq 0x4210
leaq 0x908(%rsp), %rdi
callq 0x4210
leaq 0x8e8(%rsp), %rdi
callq 0x4210
leaq 0x8c8(%rsp), %rdi
callq 0x4210
leaq 0x250(%rsp), %rdi
callq 0x4210
leaq 0x8a8(%rsp), %rdi
callq 0x4210
leaq 0x888(%rsp), %rdi
callq 0x4210
leaq 0x868(%rsp), %rdi
callq 0x4210
leaq 0x270(%rsp), %rdi
callq 0x4210
leaq 0x848(%rsp), %rdi
callq 0x4210
leaq 0x828(%rsp), %rdi
callq 0x4210
leaq 0x808(%rsp), %rdi
callq 0x4210
leaq 0x7e8(%rsp), %rdi
callq 0x4210
leaq 0x290(%rsp), %rdi
callq 0x4210
leaq 0x7c8(%rsp), %rdi
callq 0x4210
leaq 0x7a8(%rsp), %rdi
callq 0x4210
leaq 0x788(%rsp), %rdi
callq 0x4210
leaq 0x2b0(%rsp), %rdi
callq 0x4210
leaq 0x768(%rsp), %rdi
callq 0x4210
leaq 0x748(%rsp), %rdi
callq 0x4210
leaq 0x728(%rsp), %rdi
callq 0x4210
leaq 0x2d0(%rsp), %rdi
callq 0x4210
leaq 0x708(%rsp), %rdi
callq 0x4210
leaq 0x6e8(%rsp), %rdi
callq 0x4210
leaq 0x6c8(%rsp), %rdi
callq 0x4210
leaq 0x2f0(%rsp), %rdi
callq 0x4210
leaq 0x6a8(%rsp), %rdi
callq 0x4210
leaq 0x688(%rsp), %rdi
callq 0x4210
leaq 0x668(%rsp), %rdi
callq 0x4210
leaq 0x310(%rsp), %rdi
callq 0x4210
leaq 0x648(%rsp), %rdi
callq 0x4210
leaq 0x628(%rsp), %rdi
callq 0x4210
leaq 0x608(%rsp), %rdi
callq 0x4210
leaq 0x330(%rsp), %rdi
callq 0x4210
leaq 0x5e8(%rsp), %rdi
callq 0x4210
leaq 0x5c8(%rsp), %rdi
callq 0x4210
leaq 0x5a8(%rsp), %rdi
callq 0x4210
leaq 0x588(%rsp), %rdi
callq 0x4210
leaq 0x350(%rsp), %rdi
callq 0x4210
leaq 0x568(%rsp), %rdi
callq 0x4210
leaq 0x548(%rsp), %rdi
callq 0x4210
leaq 0x528(%rsp), %rdi
callq 0x4210
leaq 0x370(%rsp), %rdi
callq 0x4210
leaq 0x508(%rsp), %rdi
callq 0x4210
leaq 0x4e8(%rsp), %rdi
callq 0x4210
leaq 0x4c8(%rsp), %rdi
callq 0x4210
leaq 0x390(%rsp), %rdi
callq 0x4210
leaq 0x4a8(%rsp), %rdi
callq 0x4210
leaq 0x488(%rsp), %rdi
callq 0x4210
leaq 0x468(%rsp), %rdi
callq 0x4210
leaq 0x3b0(%rsp), %rdi
callq 0x4210
leaq 0x448(%rsp), %rdi
callq 0x4210
leaq 0x428(%rsp), %rdi
callq 0x4210
leaq 0x408(%rsp), %rdi
callq 0x4210
leaq 0x3e8(%rsp), %rdi
callq 0x4210
leaq 0x3e7(%rsp), %rdi
callq 0x43f0
jmp 0x1d459
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3d8(%rsp)
movl %eax, 0x3d4(%rsp)
jmp 0x1c629
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3d8(%rsp)
movl %eax, 0x3d4(%rsp)
jmp 0x1c61c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3d8(%rsp)
movl %eax, 0x3d4(%rsp)
jmp 0x1c60f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3d8(%rsp)
movl %eax, 0x3d4(%rsp)
jmp 0x1c602
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3d8(%rsp)
movl %eax, 0x3d4(%rsp)
jmp 0x1c5f5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3d8(%rsp)
movl %eax, 0x3d4(%rsp)
jmp 0x1c5e8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3d8(%rsp)
movl %eax, 0x3d4(%rsp)
jmp 0x1c5db
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3d8(%rsp)
movl %eax, 0x3d4(%rsp)
jmp 0x1c5ce
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3d8(%rsp)
movl %eax, 0x3d4(%rsp)
jmp 0x1c5c1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3d8(%rsp)
movl %eax, 0x3d4(%rsp)
jmp 0x1c5b4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3d8(%rsp)
movl %eax, 0x3d4(%rsp)
jmp 0x1c5a7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3d8(%rsp)
movl %eax, 0x3d4(%rsp)
jmp 0x1c59a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3d8(%rsp)
movl %eax, 0x3d4(%rsp)
jmp 0x1c58d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3d8(%rsp)
movl %eax, 0x3d4(%rsp)
jmp 0x1c580
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3d8(%rsp)
movl %eax, 0x3d4(%rsp)
jmp 0x1c573
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3d8(%rsp)
movl %eax, 0x3d4(%rsp)
jmp 0x1c566
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3d8(%rsp)
movl %eax, 0x3d4(%rsp)
jmp 0x1c559
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3d8(%rsp)
movl %eax, 0x3d4(%rsp)
jmp 0x1c54c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3d8(%rsp)
movl %eax, 0x3d4(%rsp)
jmp 0x1c53f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3d8(%rsp)
movl %eax, 0x3d4(%rsp)
jmp 0x1c532
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3d8(%rsp)
movl %eax, 0x3d4(%rsp)
jmp 0x1c525
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3d8(%rsp)
movl %eax, 0x3d4(%rsp)
jmp 0x1c518
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3d8(%rsp)
movl %eax, 0x3d4(%rsp)
jmp 0x1c50b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3d8(%rsp)
movl %eax, 0x3d4(%rsp)
jmp 0x1c4fe
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3d8(%rsp)
movl %eax, 0x3d4(%rsp)
jmp 0x1c4f1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3d8(%rsp)
movl %eax, 0x3d4(%rsp)
jmp 0x1c4e4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3d8(%rsp)
movl %eax, 0x3d4(%rsp)
jmp 0x1c4d7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3d8(%rsp)
movl %eax, 0x3d4(%rsp)
jmp 0x1c4ca
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3d8(%rsp)
movl %eax, 0x3d4(%rsp)
jmp 0x1c4bd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3d8(%rsp)
movl %eax, 0x3d4(%rsp)
jmp 0x1c4b0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3d8(%rsp)
movl %eax, 0x3d4(%rsp)
jmp 0x1c4a3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3d8(%rsp)
movl %eax, 0x3d4(%rsp)
jmp 0x1c496
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3d8(%rsp)
movl %eax, 0x3d4(%rsp)
jmp 0x1c489
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3d8(%rsp)
movl %eax, 0x3d4(%rsp)
jmp 0x1c47c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3d8(%rsp)
movl %eax, 0x3d4(%rsp)
jmp 0x1c46f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3d8(%rsp)
movl %eax, 0x3d4(%rsp)
jmp 0x1c462
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3d8(%rsp)
movl %eax, 0x3d4(%rsp)
jmp 0x1c455
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3d8(%rsp)
movl %eax, 0x3d4(%rsp)
jmp 0x1c448
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3d8(%rsp)
movl %eax, 0x3d4(%rsp)
jmp 0x1c43b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3d8(%rsp)
movl %eax, 0x3d4(%rsp)
jmp 0x1c42e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3d8(%rsp)
movl %eax, 0x3d4(%rsp)
jmp 0x1c421
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3d8(%rsp)
movl %eax, 0x3d4(%rsp)
jmp 0x1c414
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3d8(%rsp)
movl %eax, 0x3d4(%rsp)
jmp 0x1c407
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3d8(%rsp)
movl %eax, 0x3d4(%rsp)
jmp 0x1c3fa
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3d8(%rsp)
movl %eax, 0x3d4(%rsp)
jmp 0x1c3ed
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3d8(%rsp)
movl %eax, 0x3d4(%rsp)
jmp 0x1c3e0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3d8(%rsp)
movl %eax, 0x3d4(%rsp)
jmp 0x1c3d3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3d8(%rsp)
movl %eax, 0x3d4(%rsp)
jmp 0x1c3c6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3d8(%rsp)
movl %eax, 0x3d4(%rsp)
jmp 0x1c3b9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3d8(%rsp)
movl %eax, 0x3d4(%rsp)
jmp 0x1c3ac
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3d8(%rsp)
movl %eax, 0x3d4(%rsp)
jmp 0x1c39f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3d8(%rsp)
movl %eax, 0x3d4(%rsp)
jmp 0x1c392
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3d8(%rsp)
movl %eax, 0x3d4(%rsp)
jmp 0x1c385
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3d8(%rsp)
movl %eax, 0x3d4(%rsp)
jmp 0x1c378
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3d8(%rsp)
movl %eax, 0x3d4(%rsp)
jmp 0x1c36b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3d8(%rsp)
movl %eax, 0x3d4(%rsp)
jmp 0x1c35e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3d8(%rsp)
movl %eax, 0x3d4(%rsp)
jmp 0x1c351
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3d8(%rsp)
movl %eax, 0x3d4(%rsp)
jmp 0x1c344
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3d8(%rsp)
movl %eax, 0x3d4(%rsp)
jmp 0x1c337
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3d8(%rsp)
movl %eax, 0x3d4(%rsp)
jmp 0x1c32a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3d8(%rsp)
movl %eax, 0x3d4(%rsp)
jmp 0x1c31d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3d8(%rsp)
movl %eax, 0x3d4(%rsp)
jmp 0x1c310
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3d8(%rsp)
movl %eax, 0x3d4(%rsp)
jmp 0x1c303
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3d8(%rsp)
movl %eax, 0x3d4(%rsp)
jmp 0x1c2f6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3d8(%rsp)
movl %eax, 0x3d4(%rsp)
jmp 0x1c2e9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3d8(%rsp)
movl %eax, 0x3d4(%rsp)
jmp 0x1c2dc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3d8(%rsp)
movl %eax, 0x3d4(%rsp)
leaq 0xa28(%rsp), %rdi
callq 0x4210
leaq 0xa08(%rsp), %rdi
callq 0x4210
leaq 0x1f0(%rsp), %rdi
callq 0x4210
leaq 0x9e8(%rsp), %rdi
callq 0x4210
leaq 0x9c8(%rsp), %rdi
callq 0x4210
leaq 0x9a8(%rsp), %rdi
callq 0x4210
leaq 0x988(%rsp), %rdi
callq 0x4210
leaq 0x210(%rsp), %rdi
callq 0x4210
leaq 0x968(%rsp), %rdi
callq 0x4210
leaq 0x948(%rsp), %rdi
callq 0x4210
leaq 0x928(%rsp), %rdi
callq 0x4210
leaq 0x230(%rsp), %rdi
callq 0x4210
leaq 0x908(%rsp), %rdi
callq 0x4210
leaq 0x8e8(%rsp), %rdi
callq 0x4210
leaq 0x8c8(%rsp), %rdi
callq 0x4210
leaq 0x250(%rsp), %rdi
callq 0x4210
leaq 0x8a8(%rsp), %rdi
callq 0x4210
leaq 0x888(%rsp), %rdi
callq 0x4210
leaq 0x868(%rsp), %rdi
callq 0x4210
leaq 0x270(%rsp), %rdi
callq 0x4210
leaq 0x848(%rsp), %rdi
callq 0x4210
leaq 0x828(%rsp), %rdi
callq 0x4210
leaq 0x808(%rsp), %rdi
callq 0x4210
leaq 0x7e8(%rsp), %rdi
callq 0x4210
leaq 0x290(%rsp), %rdi
callq 0x4210
leaq 0x7c8(%rsp), %rdi
callq 0x4210
leaq 0x7a8(%rsp), %rdi
callq 0x4210
leaq 0x788(%rsp), %rdi
callq 0x4210
leaq 0x2b0(%rsp), %rdi
callq 0x4210
leaq 0x768(%rsp), %rdi
callq 0x4210
leaq 0x748(%rsp), %rdi
callq 0x4210
leaq 0x728(%rsp), %rdi
callq 0x4210
leaq 0x2d0(%rsp), %rdi
callq 0x4210
leaq 0x708(%rsp), %rdi
callq 0x4210
leaq 0x6e8(%rsp), %rdi
callq 0x4210
leaq 0x6c8(%rsp), %rdi
callq 0x4210
leaq 0x2f0(%rsp), %rdi
callq 0x4210
leaq 0x6a8(%rsp), %rdi
callq 0x4210
leaq 0x688(%rsp), %rdi
callq 0x4210
leaq 0x668(%rsp), %rdi
callq 0x4210
leaq 0x310(%rsp), %rdi
callq 0x4210
leaq 0x648(%rsp), %rdi
callq 0x4210
leaq 0x628(%rsp), %rdi
callq 0x4210
leaq 0x608(%rsp), %rdi
callq 0x4210
leaq 0x330(%rsp), %rdi
callq 0x4210
leaq 0x5e8(%rsp), %rdi
callq 0x4210
leaq 0x5c8(%rsp), %rdi
callq 0x4210
leaq 0x5a8(%rsp), %rdi
callq 0x4210
leaq 0x588(%rsp), %rdi
callq 0x4210
leaq 0x350(%rsp), %rdi
callq 0x4210
leaq 0x568(%rsp), %rdi
callq 0x4210
leaq 0x548(%rsp), %rdi
callq 0x4210
leaq 0x528(%rsp), %rdi
callq 0x4210
leaq 0x370(%rsp), %rdi
callq 0x4210
leaq 0x508(%rsp), %rdi
callq 0x4210
leaq 0x4e8(%rsp), %rdi
callq 0x4210
leaq 0x4c8(%rsp), %rdi
callq 0x4210
leaq 0x390(%rsp), %rdi
callq 0x4210
leaq 0x4a8(%rsp), %rdi
callq 0x4210
leaq 0x488(%rsp), %rdi
callq 0x4210
leaq 0x468(%rsp), %rdi
callq 0x4210
leaq 0x3b0(%rsp), %rdi
callq 0x4210
leaq 0x448(%rsp), %rdi
callq 0x4210
leaq 0x428(%rsp), %rdi
callq 0x4210
leaq 0x408(%rsp), %rdi
callq 0x4210
leaq 0x3e8(%rsp), %rdi
callq 0x4210
leaq 0x3e7(%rsp), %rdi
callq 0x43f0
jmp 0x1d469
leaq 0x1d0(%rsp), %rdi
callq 0x44e0
movl $0x0, 0x1cc(%rsp)
movq 0x138(%rsp), %rdi
movl 0x1cc(%rsp), %eax
movq %rax, 0x120(%rsp)
callq 0xcbe0
movq %rax, %rcx
movq 0x120(%rsp), %rax
cmpq %rcx, %rax
jae 0x1d3cb
movq 0x138(%rsp), %rdi
movl 0x1cc(%rsp), %eax
movl %eax, %esi
callq 0xcc00
movq %rax, %rsi
leaq 0x1a8(%rsp), %rdi
callq 0x4170
jmp 0x1c6ab
leaq 0x224cf(%rip), %rsi     # 0x3eb81
leaq 0x1a8(%rsp), %rdi
callq 0x8b90
movb %al, 0x11f(%rsp)
jmp 0x1c6c8
movb 0x11f(%rsp), %al
testb $0x1, %al
jne 0x1c702
jmp 0x1c6d5
leaq 0x224a8(%rip), %rsi     # 0x3eb84
leaq 0x1a8(%rsp), %rdi
callq 0x8b90
movb %al, 0x11e(%rsp)
jmp 0x1c6f2
movb 0x11e(%rsp), %al
testb $0x1, %al
jne 0x1c702
jmp 0x1c7fe
movq 0x138(%rsp), %rdi
movl 0x1cc(%rsp), %eax
addl $0x1, %eax
movl %eax, %eax
movq %rax, 0x110(%rsp)
callq 0xcbe0
movq %rax, %rcx
movq 0x110(%rsp), %rax
cmpq %rcx, %rax
jae 0x1c7fe
movq 0x138(%rsp), %rdi
movl 0x1cc(%rsp), %eax
incl %eax
movl %eax, 0x1cc(%rsp)
movl %eax, %esi
callq 0xcc00
movq %rax, %rdi
callq 0x15a10
movl %eax, 0x10c(%rsp)
jmp 0x1c767
movl 0x10c(%rsp), %ecx
movq 0xa48(%rsp), %rax
movl %ecx, 0x3c(%rax)
movq 0xa48(%rsp), %rax
movb 0x38(%rax), %al
andb $0x1, %al
movb %al, 0x1a7(%rsp)
movq 0xa48(%rsp), %rdi
xorl %esi, %esi
callq 0x2b400
jmp 0x1c79e
movq 0xa48(%rsp), %rdi
callq 0x2ae80
jmp 0x1c7ad
movq 0xa48(%rsp), %rdi
movzbl 0x1a7(%rsp), %esi
andl $0x1, %esi
callq 0x2b400
jmp 0x1c7c7
jmp 0x1d37b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3d8(%rsp)
movl %eax, 0x3d4(%rsp)
jmp 0x1d44a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3d8(%rsp)
movl %eax, 0x3d4(%rsp)
jmp 0x1d3bc
leaq 0x22389(%rip), %rsi     # 0x3eb8e
leaq 0x1a8(%rsp), %rdi
callq 0x8b90
movb %al, 0x10b(%rsp)
jmp 0x1c81b
movb 0x10b(%rsp), %al
testb $0x1, %al
jne 0x1c855
jmp 0x1c828
leaq 0x22362(%rip), %rsi     # 0x3eb91
leaq 0x1a8(%rsp), %rdi
callq 0x8b90
movb %al, 0x10a(%rsp)
jmp 0x1c845
movb 0x10a(%rsp), %al
testb $0x1, %al
jne 0x1c855
jmp 0x1c8e7
movq 0x138(%rsp), %rdi
movl 0x1cc(%rsp), %eax
addl $0x1, %eax
movl %eax, %eax
movq %rax, 0x100(%rsp)
callq 0xcbe0
movq %rax, %rcx
movq 0x100(%rsp), %rax
cmpq %rcx, %rax
jae 0x1c8e7
movq 0x138(%rsp), %rdi
movq 0xa48(%rsp), %rax
movq %rax, 0xf0(%rsp)
movl 0x1cc(%rsp), %eax
incl %eax
movl %eax, 0x1cc(%rsp)
movl %eax, %esi
callq 0xcc00
movq %rax, %rdi
callq 0x1e550
movb %al, 0xff(%rsp)
jmp 0x1c8c6
movq 0xf0(%rsp), %rdi
movb 0xff(%rsp), %al
movzbl %al, %esi
andl $0x1, %esi
callq 0x2b400
jmp 0x1c8e2
jmp 0x1d379
leaq 0x222ac(%rip), %rsi     # 0x3eb9a
leaq 0x1a8(%rsp), %rdi
callq 0x8b90
movb %al, 0xef(%rsp)
jmp 0x1c904
movb 0xef(%rsp), %al
testb $0x1, %al
jne 0x1c911
jmp 0x1c98c
movq 0x138(%rsp), %rdi
movl 0x1cc(%rsp), %eax
addl $0x1, %eax
movl %eax, %eax
movq %rax, 0xe0(%rsp)
callq 0xcbe0
movq %rax, %rcx
movq 0xe0(%rsp), %rax
cmpq %rcx, %rax
jae 0x1c98c
movq 0x138(%rsp), %rdi
movl 0x1cc(%rsp), %eax
incl %eax
movl %eax, 0x1cc(%rsp)
movl %eax, %esi
callq 0xcc00
movq %rax, %rdi
callq 0x1e550
movb %al, 0xdf(%rsp)
jmp 0x1c972
movb 0xdf(%rsp), %cl
movq 0xa48(%rsp), %rax
andb $0x1, %cl
movb %cl, 0x48(%rax)
jmp 0x1d377
leaq 0x21d71(%rip), %rsi     # 0x3e704
leaq 0x1a8(%rsp), %rdi
callq 0x8b90
movb %al, 0xde(%rsp)
jmp 0x1c9a9
movb 0xde(%rsp), %al
testb $0x1, %al
jne 0x1c9e3
jmp 0x1c9b6
leaq 0x21d4a(%rip), %rsi     # 0x3e707
leaq 0x1a8(%rsp), %rdi
callq 0x8b90
movb %al, 0xdd(%rsp)
jmp 0x1c9d3
movb 0xdd(%rsp), %al
testb $0x1, %al
jne 0x1c9e3
jmp 0x1ca66
movq 0x138(%rsp), %rdi
movl 0x1cc(%rsp), %eax
addl $0x1, %eax
movl %eax, %eax
movq %rax, 0xd0(%rsp)
callq 0xcbe0
movq %rax, %rcx
movq 0xd0(%rsp), %rax
cmpq %rcx, %rax
jae 0x1ca66
movq 0x138(%rsp), %rdi
movl 0x1cc(%rsp), %eax
incl %eax
movl %eax, 0x1cc(%rsp)
movl %eax, %esi
callq 0xcc00
movq %rax, %rdi
callq 0x1e6e0
movq %rax, 0xc8(%rsp)
jmp 0x1ca45
movq 0xc8(%rsp), %rcx
shlq $0xa, %rcx
shlq $0xa, %rcx
movq 0xa48(%rsp), %rax
movq %rcx, 0x40(%rax)
jmp 0x1d375
leaq 0x21b26(%rip), %rsi     # 0x3e593
leaq 0x1a8(%rsp), %rdi
callq 0x8b90
movb %al, 0xc7(%rsp)
jmp 0x1ca83
movb 0xc7(%rsp), %al
testb $0x1, %al
jne 0x1caba
jmp 0x1ca90
leaq 0x2210d(%rip), %rsi     # 0x3eba4
leaq 0x1a8(%rsp), %rdi
callq 0x8b90
movb %al, 0xc6(%rsp)
jmp 0x1caad
movb 0xc6(%rsp), %al
testb $0x1, %al
jne 0x1caba
jmp 0x1cb38
movq 0x138(%rsp), %rdi
movl 0x1cc(%rsp), %eax
addl $0x1, %eax
movl %eax, %eax
movq %rax, 0xb8(%rsp)
callq 0xcbe0
movq %rax, %rcx
movq 0xb8(%rsp), %rax
cmpq %rcx, %rax
jae 0x1cb38
movq 0x138(%rsp), %rdi
movl 0x1cc(%rsp), %eax
incl %eax
movl %eax, 0x1cc(%rsp)
movl %eax, %esi
callq 0xcc00
movq %rax, %rdi
callq 0x1e4c0
vmovss %xmm0, 0xb4(%rsp)
jmp 0x1cb1d
vmovss 0xb4(%rsp), %xmm0
movq 0xa48(%rsp), %rax
vmovss %xmm0, 0x4c(%rax)
jmp 0x1d373
leaq 0x2206f(%rip), %rsi     # 0x3ebae
leaq 0x1a8(%rsp), %rdi
callq 0x8b90
movb %al, 0xb3(%rsp)
jmp 0x1cb55
movb 0xb3(%rsp), %al
testb $0x1, %al
jne 0x1cb8c
jmp 0x1cb62
leaq 0x22048(%rip), %rsi     # 0x3ebb1
leaq 0x1a8(%rsp), %rdi
callq 0x8b90
movb %al, 0xb2(%rsp)
jmp 0x1cb7f
movb 0xb2(%rsp), %al
testb $0x1, %al
jne 0x1cb8c
jmp 0x1cc07
movq 0x138(%rsp), %rdi
movl 0x1cc(%rsp), %eax
addl $0x1, %eax
movl %eax, %eax
movq %rax, 0xa8(%rsp)
callq 0xcbe0
movq %rax, %rcx
movq 0xa8(%rsp), %rax
cmpq %rcx, %rax
jae 0x1cc07
movq 0x138(%rsp), %rdi
movl 0x1cc(%rsp), %eax
incl %eax
movl %eax, 0x1cc(%rsp)
movl %eax, %esi
callq 0xcc00
movq %rax, %rdi
callq 0x1e550
movb %al, 0xa7(%rsp)
jmp 0x1cbed
movb 0xa7(%rsp), %cl
movq 0xa48(%rsp), %rax
andb $0x1, %cl
movb %cl, 0x49(%rax)
jmp 0x1d371
leaq 0x21fb0(%rip), %rsi     # 0x3ebbe
leaq 0x1a8(%rsp), %rdi
callq 0x8b90
movb %al, 0xa6(%rsp)
jmp 0x1cc24
movb 0xa6(%rsp), %al
testb $0x1, %al
jne 0x1cc5b
jmp 0x1cc31
leaq 0x21f89(%rip), %rsi     # 0x3ebc1
leaq 0x1a8(%rsp), %rdi
callq 0x8b90
movb %al, 0xa5(%rsp)
jmp 0x1cc4e
movb 0xa5(%rsp), %al
testb $0x1, %al
jne 0x1cc5b
jmp 0x1ccd6
movq 0x138(%rsp), %rdi
movl 0x1cc(%rsp), %eax
addl $0x1, %eax
movl %eax, %eax
movq %rax, 0x98(%rsp)
callq 0xcbe0
movq %rax, %rcx
movq 0x98(%rsp), %rax
cmpq %rcx, %rax
jae 0x1ccd6
movq 0x138(%rsp), %rdi
movl 0x1cc(%rsp), %eax
incl %eax
movl %eax, 0x1cc(%rsp)
movl %eax, %esi
callq 0xcc00
movq %rax, %rdi
callq 0x1e550
movb %al, 0x97(%rsp)
jmp 0x1ccbc
movb 0x97(%rsp), %cl
movq 0xa48(%rsp), %rax
andb $0x1, %cl
movb %cl, 0x50(%rax)
jmp 0x1d36f
leaq 0x21ef0(%rip), %rsi     # 0x3ebcd
leaq 0x1a8(%rsp), %rdi
callq 0x8b90
movb %al, 0x96(%rsp)
jmp 0x1ccf3
movb 0x96(%rsp), %al
testb $0x1, %al
jne 0x1cd2a
jmp 0x1cd00
leaq 0x21ec9(%rip), %rsi     # 0x3ebd0
leaq 0x1a8(%rsp), %rdi
callq 0x8b90
movb %al, 0x95(%rsp)
jmp 0x1cd1d
movb 0x95(%rsp), %al
testb $0x1, %al
jne 0x1cd2a
jmp 0x1cda5
movq 0x138(%rsp), %rdi
movl 0x1cc(%rsp), %eax
addl $0x1, %eax
movl %eax, %eax
movq %rax, 0x88(%rsp)
callq 0xcbe0
movq %rax, %rcx
movq 0x88(%rsp), %rax
cmpq %rcx, %rax
jae 0x1cda5
movq 0x138(%rsp), %rdi
movl 0x1cc(%rsp), %eax
incl %eax
movl %eax, 0x1cc(%rsp)
movl %eax, %esi
callq 0xcc00
movq %rax, %rdi
callq 0x1e550
movb %al, 0x87(%rsp)
jmp 0x1cd8b
movb 0x87(%rsp), %cl
movq 0xa48(%rsp), %rax
andb $0x1, %cl
movb %cl, 0x60(%rax)
jmp 0x1d36d
leaq 0x217fc(%rip), %rsi     # 0x3e5a8
leaq 0x1a8(%rsp), %rdi
callq 0x8b90
movb %al, 0x86(%rsp)
jmp 0x1cdc2
movb 0x86(%rsp), %al
testb $0x1, %al
jne 0x1cdf9
jmp 0x1cdcf
leaq 0x21e05(%rip), %rsi     # 0x3ebdb
leaq 0x1a8(%rsp), %rdi
callq 0x8b90
movb %al, 0x85(%rsp)
jmp 0x1cdec
movb 0x85(%rsp), %al
testb $0x1, %al
jne 0x1cdf9
jmp 0x1ce65
movq 0x138(%rsp), %rdi
movl 0x1cc(%rsp), %eax
addl $0x1, %eax
movl %eax, %eax
movq %rax, 0x78(%rsp)
callq 0xcbe0
movq %rax, %rcx
movq 0x78(%rsp), %rax
cmpq %rcx, %rax
jae 0x1ce65
movq 0x138(%rsp), %rdi
movl 0x1cc(%rsp), %eax
incl %eax
movl %eax, 0x1cc(%rsp)
movl %eax, %esi
callq 0xcc00
movq %rax, %rdi
callq 0x15a10
movl %eax, 0x74(%rsp)
jmp 0x1ce51
movl 0x74(%rsp), %ecx
movq 0xa48(%rsp), %rax
movl %ecx, 0x64(%rax)
jmp 0x1d36b
leaq 0x21d79(%rip), %rsi     # 0x3ebe5
leaq 0x1a8(%rsp), %rdi
callq 0x8b90
movb %al, 0x73(%rsp)
jmp 0x1ce7f
movb 0x73(%rsp), %al
testb $0x1, %al
jne 0x1cead
jmp 0x1ce89
leaq 0x21d58(%rip), %rsi     # 0x3ebe8
leaq 0x1a8(%rsp), %rdi
callq 0x8b90
movb %al, 0x72(%rsp)
jmp 0x1cea3
movb 0x72(%rsp), %al
testb $0x1, %al
jne 0x1cead
jmp 0x1cf1c
movq 0x138(%rsp), %rdi
movl 0x1cc(%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 0x1cf1c
movq 0x138(%rsp), %rdi
movl 0x1cc(%rsp), %eax
incl %eax
movl %eax, 0x1cc(%rsp)
movl %eax, %esi
callq 0xcc00
movq %rax, %rdi
callq 0x1e550
movb %al, 0x67(%rsp)
jmp 0x1cf05
movb 0x67(%rsp), %cl
movq 0xa48(%rsp), %rax
andb $0x1, %cl
movb %cl, 0x6c(%rax)
jmp 0x1d369
leaq 0x21cd0(%rip), %rsi     # 0x3ebf3
leaq 0x1a8(%rsp), %rdi
callq 0x8b90
movb %al, 0x66(%rsp)
jmp 0x1cf36
movb 0x66(%rsp), %al
testb $0x1, %al
jne 0x1cf64
jmp 0x1cf40
leaq 0x21caf(%rip), %rsi     # 0x3ebf6
leaq 0x1a8(%rsp), %rdi
callq 0x8b90
movb %al, 0x65(%rsp)
jmp 0x1cf5a
movb 0x65(%rsp), %al
testb $0x1, %al
jne 0x1cf64
jmp 0x1cfd6
movq 0x138(%rsp), %rdi
movl 0x1cc(%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 0x1cfd6
movq 0x138(%rsp), %rdi
movl 0x1cc(%rsp), %eax
incl %eax
movl %eax, 0x1cc(%rsp)
movl %eax, %esi
callq 0xcc00
movq %rax, %rdi
callq 0x1e4c0
vmovss %xmm0, 0x54(%rsp)
jmp 0x1cfbe
vmovss 0x54(%rsp), %xmm0
movq 0xa48(%rsp), %rax
vmovss %xmm0, 0x54(%rax)
jmp 0x1d367
leaq 0x21c26(%rip), %rsi     # 0x3ec03
leaq 0x1a8(%rsp), %rdi
callq 0x8b90
movb %al, 0x53(%rsp)
jmp 0x1cff0
movb 0x53(%rsp), %al
testb $0x1, %al
jne 0x1d01e
jmp 0x1cffa
leaq 0x21c05(%rip), %rsi     # 0x3ec06
leaq 0x1a8(%rsp), %rdi
callq 0x8b90
movb %al, 0x52(%rsp)
jmp 0x1d014
movb 0x52(%rsp), %al
testb $0x1, %al
jne 0x1d01e
jmp 0x1d090
movq 0x138(%rsp), %rdi
movl 0x1cc(%rsp), %eax
addl $0x1, %eax
movl %eax, %eax
movq %rax, 0x48(%rsp)
callq 0xcbe0
movq %rax, %rcx
movq 0x48(%rsp), %rax
cmpq %rcx, %rax
jae 0x1d090
movq 0x138(%rsp), %rdi
movl 0x1cc(%rsp), %eax
incl %eax
movl %eax, 0x1cc(%rsp)
movl %eax, %esi
callq 0xcc00
movq %rax, %rdi
callq 0x1e4c0
vmovss %xmm0, 0x44(%rsp)
jmp 0x1d078
vmovss 0x44(%rsp), %xmm0
movq 0xa48(%rsp), %rax
vmovss %xmm0, 0x58(%rax)
jmp 0x1d365
leaq 0x21b7b(%rip), %rsi     # 0x3ec12
leaq 0x1a8(%rsp), %rdi
callq 0x8b90
movb %al, 0x43(%rsp)
jmp 0x1d0aa
movb 0x43(%rsp), %al
testb $0x1, %al
jne 0x1d0d8
jmp 0x1d0b4
leaq 0x21b5a(%rip), %rsi     # 0x3ec15
leaq 0x1a8(%rsp), %rdi
callq 0x8b90
movb %al, 0x42(%rsp)
jmp 0x1d0ce
movb 0x42(%rsp), %al
testb $0x1, %al
jne 0x1d0d8
jmp 0x1d144
movq 0x138(%rsp), %rdi
movl 0x1cc(%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 0x1d144
movq 0x138(%rsp), %rdi
movl 0x1cc(%rsp), %eax
incl %eax
movl %eax, 0x1cc(%rsp)
movl %eax, %esi
callq 0xcc00
movq %rax, %rdi
callq 0x15a10
movl %eax, 0x34(%rsp)
jmp 0x1d130
movl 0x34(%rsp), %ecx
movq 0xa48(%rsp), %rax
movl %ecx, 0x5c(%rax)
jmp 0x1d363
leaq 0x21ad5(%rip), %rsi     # 0x3ec20
leaq 0x1a8(%rsp), %rdi
callq 0x8b90
movb %al, 0x33(%rsp)
jmp 0x1d15e
movb 0x33(%rsp), %al
testb $0x1, %al
jne 0x1d18c
jmp 0x1d168
leaq 0x21ab4(%rip), %rsi     # 0x3ec23
leaq 0x1a8(%rsp), %rdi
callq 0x8b90
movb %al, 0x32(%rsp)
jmp 0x1d182
movb 0x32(%rsp), %al
testb $0x1, %al
jne 0x1d18c
jmp 0x1d1f8
movq 0x138(%rsp), %rdi
movl 0x1cc(%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 0x1d1f8
movq 0x138(%rsp), %rdi
movl 0x1cc(%rsp), %eax
incl %eax
movl %eax, 0x1cc(%rsp)
movl %eax, %esi
callq 0xcc00
movq %rax, %rdi
callq 0x1e7f0
movl %eax, 0x24(%rsp)
jmp 0x1d1e4
movl 0x24(%rsp), %ecx
movq 0xa48(%rsp), %rax
movl %ecx, 0x68(%rax)
jmp 0x1d361
leaq 0x21a32(%rip), %rsi     # 0x3ec31
leaq 0x1a8(%rsp), %rdi
callq 0x8b90
movb %al, 0x23(%rsp)
jmp 0x1d212
movb 0x23(%rsp), %al
testb $0x1, %al
jne 0x1d240
jmp 0x1d21c
leaq 0x21a11(%rip), %rsi     # 0x3ec34
leaq 0x1a8(%rsp), %rdi
callq 0x8b90
movb %al, 0x22(%rsp)
jmp 0x1d236
movb 0x22(%rsp), %al
testb $0x1, %al
jne 0x1d240
jmp 0x1d2ac
movq 0x138(%rsp), %rdi
movl 0x1cc(%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 0x1d2ac
movq 0x138(%rsp), %rdi
movl 0x1cc(%rsp), %eax
incl %eax
movl %eax, 0x1cc(%rsp)
movl %eax, %esi
callq 0xcc00
movq %rax, %rdi
callq 0x15a10
movl %eax, 0x14(%rsp)
jmp 0x1d298
movl 0x14(%rsp), %ecx
movq 0xa48(%rsp), %rax
movl %ecx, 0x78(%rax)
jmp 0x1d35f
leaq 0x17f(%rsp), %rdi
movq %rdi, 0x8(%rsp)
callq 0x4670
movq 0x8(%rsp), %rdx
leaq 0x21316(%rip), %rsi     # 0x3e5e0
leaq 0x180(%rsp), %rdi
callq 0x44d0
jmp 0x1d2d9
movq 0x140(%rsp), %rdi
xorl %esi, %esi
leaq 0x180(%rsp), %rdx
callq 0xb680
jmp 0x1d2f2
leaq 0x180(%rsp), %rdi
callq 0x4210
leaq 0x17f(%rsp), %rdi
callq 0x43f0
movl $0x1, 0x178(%rsp)
jmp 0x1d386
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3d8(%rsp)
movl %eax, 0x3d4(%rsp)
jmp 0x1d350
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3d8(%rsp)
movl %eax, 0x3d4(%rsp)
leaq 0x180(%rsp), %rdi
callq 0x4210
leaq 0x17f(%rsp), %rdi
callq 0x43f0
jmp 0x1d3bc
jmp 0x1d361
jmp 0x1d363
jmp 0x1d365
jmp 0x1d367
jmp 0x1d369
jmp 0x1d36b
jmp 0x1d36d
jmp 0x1d36f
jmp 0x1d371
jmp 0x1d373
jmp 0x1d375
jmp 0x1d377
jmp 0x1d379
jmp 0x1d37b
movl $0x0, 0x178(%rsp)
leaq 0x1a8(%rsp), %rdi
callq 0x4210
movl 0x178(%rsp), %eax
testl %eax, %eax
jne 0x1d43b
jmp 0x1d3a4
jmp 0x1d3a6
movl 0x1cc(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x1cc(%rsp)
jmp 0x1c653
leaq 0x1a8(%rsp), %rdi
callq 0x4210
jmp 0x1d44a
leaq 0x158(%rsp), %rdi
leaq 0x1d0(%rsp), %rsi
callq 0x4170
jmp 0x1d3e2
movq 0x140(%rsp), %rdi
movl $0x1, %esi
leaq 0x158(%rsp), %rdx
callq 0xb680
jmp 0x1d3fe
leaq 0x158(%rsp), %rdi
callq 0x4210
movl $0x1, 0x178(%rsp)
jmp 0x1d43b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x3d8(%rsp)
movl %eax, 0x3d4(%rsp)
leaq 0x158(%rsp), %rdi
callq 0x4210
jmp 0x1d44a
leaq 0x1d0(%rsp), %rdi
callq 0x4210
jmp 0x1d459
leaq 0x1d0(%rsp), %rdi
callq 0x4210
jmp 0x1d469
movq 0x148(%rsp), %rax
addq $0xa68, %rsp            # imm = 0xA68
retq
movq 0x3d8(%rsp), %rdi
callq 0x4660
nopw %cs:(%rax,%rax)